/**
 * SNS Delivery Picker - Classic Checkout Fixes
 * Fixes for classic shortcode checkout pages
 */

/* Order Review Table Header Background */
.woocommerce-checkout-review-order-table thead th {
    background-color: #658b72 !important;
    color: white !important;
    border-color: #658b72 !important;
}

.woocommerce-checkout-review-order-table thead th.product-name {
    background-color: #658b72 !important;
    color: white !important;
}

.woocommerce-checkout-review-order-table thead th.product-total {
    background-color: #658b72 !important;
    color: white !important;
}

/* Ensure the header styling persists through WooCommerce updates */
.woocommerce-checkout-review-order-table thead tr th {
    background-color: #658b72 !important;
    color: white !important;
    border-bottom: 1px solid #658b72 !important;
}

/* Fix for any potential CSS specificity issues */
#order_review .woocommerce-checkout-review-order-table thead th {
    background-color: #658b72 !important;
    color: white !important;
}

/* Additional checkout styling improvements */
.woocommerce-checkout-review-order-table {
    border-collapse: collapse;
    width: 100%;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 12px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

/* Ensure proper spacing for card greeting edit button */
.variation-CardGreeting dd {
    position: relative;
}

.edit-card-greeting-btn {
    margin-left: 10px !important;
    vertical-align: middle;
}

/* Fix for delivery address checkbox default state */
#ship-to-different-address-checkbox {
    /* This should be checked by default as per earlier requirements */
}

/* Force the checkbox to be checked by default */
#ship-to-different-address-checkbox {
    /* Override any WooCommerce default behavior */
}

/* Ensure shipping address form is visible when checkbox is checked */
#ship-to-different-address-checkbox:checked ~ .shipping_address,
.shipping_address.show {
    display: block !important;
}

/* Additional styling for better visual consistency */
.woocommerce-checkout-review-order-table tbody tr:last-child td {
    border-bottom: none;
}

.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    border-top: 2px solid #ddd;
    font-weight: bold;
}

/* Ensure the order total row stands out */
.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
    border-top: 2px solid #658b72;
    font-size: 1.1em;
}

/* Fix broken horizontal line below total section */
.woocommerce-checkout-review-order-table tfoot tr.order-total {
	border-bottom: 1px solid #dddddd !important;
}

.woocommerce-checkout-review-order-table tfoot tr.order-total th,
.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	border-bottom: 1px solid #dddddd !important;
}

/* Ensure table footer has complete border */
.woocommerce-checkout-review-order-table tfoot {
	border-bottom: 1px solid #dddddd !important;
}

/* Force complete border on the entire table */
.woocommerce-checkout-review-order-table tfoot {
	border-bottom: 1px solid #dddddd !important;
}

/* Additional fix for table structure */
.woocommerce-checkout-review-order-table tfoot tr:last-child {
	border-bottom: 1px solid #dddddd !important;
}

.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td {
	border-bottom: 1px solid #dddddd !important;
}

/* Delivery Date Section Styles */
.sns-delivery-date-section {
    background: #242328;
    border: 1px solid #242328;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.sns-delivery-date-section h3 {
    margin: 0 0 15px 0;
    color: white;
    font-size: 18px;
    font-weight: 600;
}

.sns-delivery-date-field {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sns-delivery-date-field label {
    font-weight: 500;
    color: white;
    margin-bottom: 5px;
}

/* Flatpickr input styling */
.sns-flatpickr-input {
    padding: 12px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    background: white !important;
    color: #333 !important;
    cursor: pointer !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    width: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

.sns-flatpickr-input:focus {
    outline: none !important;
    border-color: white !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
}

.sns-flatpickr-input:hover {
    border-color: rgba(255, 255, 255, 0.5) !important;
}

/* Basic date input fallback styling */
.sns-basic-date-input {
    padding: 12px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-radius: 6px !important;
    font-size: 16px !important;
    background: white !important;
    color: #333 !important;
    cursor: pointer !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    width: 100% !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

.sns-basic-date-input:focus {
    outline: none !important;
    border-color: white !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.2) !important;
}

/* Custom Flatpickr calendar styling to match theme */
.flatpickr-calendar {
    background: #242328 !important;
    border: 1px solid #242328 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
    color: white !important;
}

.flatpickr-calendar.open {
    display: inline-block !important;
    z-index: 10000 !important;
}

.flatpickr-months {
    background: #658b72 !important;
    border-radius: 8px 8px 0 0 !important;
    padding: 10px 0 !important;
}

.flatpickr-month {
    color: white !important;
}

.flatpickr-current-month {
    color: white !important;
    font-weight: 600 !important;
}

.flatpickr-monthDropdown-months {
    background: transparent !important;
    color: white !important;
    border: none !important;
}

.flatpickr-weekdays {
    background: #242328 !important;
    color: white !important;
}

.flatpickr-weekday {
    color: rgba(255, 255, 255, 0.7) !important;
    font-weight: 500 !important;
}

.flatpickr-days {
    background: #242328 !important;
}

.flatpickr-day {
    color: white !important;
    border-radius: 4px !important;
    margin: 2px !important;
    transition: all 0.2s ease !important;
}

.flatpickr-day:hover:not(.disabled):not(.prevMonthDay):not(.nextMonthDay) {
    background: #658b72 !important;
    color: white !important;
}

.flatpickr-day.selected {
    background: #658b72 !important;
    color: white !important;
    border-color: #658b72 !important;
}

/* Disabled days styling */
.flatpickr-day.disabled,
.flatpickr-day.sns-disabled-day {
    color: rgba(255, 255, 255, 0.3) !important;
    background: #444 !important;
    opacity: 0.3 !important;
    cursor: not-allowed !important;
    text-decoration: line-through !important;
}

.flatpickr-day.disabled:hover,
.flatpickr-day.sns-disabled-day:hover {
    background: #444 !important;
    color: rgba(255, 255, 255, 0.3) !important;
    cursor: not-allowed !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: rgba(255, 255, 255, 0.3) !important;
    background: transparent !important;
}

.flatpickr-day.today {
    border-color: #658b72 !important;
    color: white !important;
    background: rgba(101, 139, 114, 0.2) !important;
}

.flatpickr-day.today:hover {
    background: #658b72 !important;
    color: white !important;
}

.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    color: white !important;
    fill: white !important;
}

.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover {
    color: rgba(255, 255, 255, 0.8) !important;
    fill: rgba(255, 255, 255, 0.8) !important;
}

/* Ensure the input is not hidden by any theme CSS */
.sns-delivery-date-field input:not([type="hidden"]) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Override any potential theme conflicts */
.woocommerce-checkout .sns-delivery-date-field,
.checkout .sns-delivery-date-field,
form.checkout .sns-delivery-date-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.woocommerce-checkout .sns-flatpickr-input,
.checkout .sns-flatpickr-input,
form.checkout .sns-flatpickr-input,
.woocommerce-checkout .sns-basic-date-input,
.checkout .sns-basic-date-input,
form.checkout .sns-basic-date-input {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
}

.sns-delivery-date-field .delivery-note {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 8px;
    font-style: italic;
}

/* Responsive design */
@media (max-width: 768px) {
    .sns-delivery-date-section {
        padding: 15px;
        margin: 15px 0;
    }
    
    .sns-delivery-date-field select {
        font-size: 14px;
        padding: 10px;
    }
}

/* SNS Custom Overrides - Change green font color to match button text in checkout */
/* Override green font colors in checkout review table */
.woocommerce-checkout-review-order-table .woocommerce-Price-amount {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.woocommerce-checkout-review-order-table .woocommerce-Price-currencySymbol {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.woocommerce-checkout-review-order-table .amount {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* Ensure GST text and all price elements in checkout review table have consistent styling */
.woocommerce-checkout-review-order-table .includes_tax .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .includes_tax .woocommerce-Price-currencySymbol,
.woocommerce-checkout-review-order-table .includes_tax .amount {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* Override the small tag styling for GST text to match surrounding text */
.woocommerce-checkout-review-order-table .includes_tax {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

/* Ensure the entire GST text block has consistent styling */
.woocommerce-checkout-review-order-table .order-total .includes_tax {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

/* Target the GST text specifically - it's outside the price spans */
.woocommerce-checkout-review-order-table .includes_tax,
.woocommerce-checkout-review-order-table .order-total .includes_tax,
.woocommerce-checkout-review-order-table .includes_tax * {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

/* Nuclear option - force all text in the GST section to match */
.woocommerce-checkout-review-order-table .order-total td small.includes_tax,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax * {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
}

/* ULTRA AGGRESSIVE - Target the exact structure with maximum specificity */
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax,
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax *,
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax span,
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax strong,
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax em,
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax b {
    font-size: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    line-height: inherit !important;
}

/* Force the same font size as the price elements */
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax,
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax * {
    font-size: 1em !important;
    font-size: 100% !important;
}

/* Target specific classes in the GST section for consistent styling */
.woocommerce-checkout-review-order-table .order-total td small.includes_tax,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax .woocommerce-Price-currencySymbol,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax .amount,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax bdi,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax span {
    font-size: 0.85em !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: inherit !important;
}

/* Force consistent styling for the entire GST section */
.woocommerce-checkout-review-order-table .order-total td small.includes_tax {
    font-size: 0.85em !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: inherit !important;
}

/* FORCE UNIFORM FONT SIZE FOR ENTIRE GST SECTION - Match the price number size */
.woocommerce-checkout-review-order-table .order-total td small.includes_tax,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax *,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax span,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax .woocommerce-Price-currencySymbol,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax .amount,
.woocommerce-checkout-review-order-table .order-total td small.includes_tax bdi {
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    font-style: normal !important;
}

/* Override any inherited sizing from small tag */
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax,
body .woocommerce-checkout-review-order-table .order-total td small.includes_tax * {
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: 1.2 !important;
}

/* Ultra specific targeting for maximum override power */
body .shop_table.woocommerce-checkout-review-order-table .order-total td small.includes_tax,
body .shop_table.woocommerce-checkout-review-order-table .order-total td small.includes_tax *,
body .shop_table.woocommerce-checkout-review-order-table .order-total td small.includes_tax span,
body .shop_table.woocommerce-checkout-review-order-table .order-total td small.includes_tax .woocommerce-Price-amount,
body .shop_table.woocommerce-checkout-review-order-table .order-total td small.includes_tax .woocommerce-Price-currencySymbol,
body .shop_table.woocommerce-checkout-review-order-table .order-total td small.includes_tax .amount,
body .shop_table.woocommerce-checkout-review-order-table .order-total td small.includes_tax bdi {
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    font-style: normal !important;
}

/* Ensure all price elements in the entire checkout review table have consistent styling */
.woocommerce-checkout-review-order-table tbody .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tbody .woocommerce-Price-currencySymbol,
.woocommerce-checkout-review-order-table tbody .amount,
.woocommerce-checkout-review-order-table tfoot .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot .woocommerce-Price-currencySymbol,
.woocommerce-checkout-review-order-table tfoot .amount,
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table .order-total .woocommerce-Price-currencySymbol,
.woocommerce-checkout-review-order-table .order-total .amount {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* Override green font colors in order totals */
.woocommerce-checkout-review-order-table tfoot .woocommerce-Price-amount {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.woocommerce-checkout-review-order-table tfoot .woocommerce-Price-currencySymbol {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.woocommerce-checkout-review-order-table tfoot .amount {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* Ensure shipping method prices have consistent styling */
.woocommerce-shipping-methods .woocommerce-Price-amount,
.woocommerce-shipping-methods .woocommerce-Price-currencySymbol,
.woocommerce-shipping-methods .amount {
    color: inherit !important;
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

/* Override green font colors in subtotal and total rows */
.woocommerce-checkout-review-order-table .xoo-wsc-ft-amt-value .woocommerce-Price-amount {
    color: inherit !important;
}

.woocommerce-checkout-review-order-table .xoo-wsc-ft-amt-value .woocommerce-Price-currencySymbol {
    color: inherit !important;
}

.woocommerce-checkout-review-order-table .xoo-wsc-ft-amt-value .amount {
    color: inherit !important;
}

/* Override green font colors in side cart footer */
.xoo-wsc-footer .woocommerce-Price-amount {
    color: inherit !important;
}

.xoo-wsc-footer .woocommerce-Price-currencySymbol {
    color: inherit !important;
}

.xoo-wsc-footer .amount {
    color: inherit !important;
}

/* Override green font colors in side cart totals */
.xoo-wsc-ft-amt-value .woocommerce-Price-amount {
    color: inherit !important;
}

.xoo-wsc-ft-amt-value .woocommerce-Price-currencySymbol {
    color: inherit !important;
}

.xoo-wsc-ft-amt-value .amount {
    color: inherit !important;
}

/* Override green font colors in checkout buttons */
.xoo-wsc-ft-btn .woocommerce-Price-amount {
    color: inherit !important;
}

.xoo-wsc-ft-btn .woocommerce-Price-currencySymbol {
    color: inherit !important;
}

.xoo-wsc-ft-btn .amount {
    color: inherit !important;
}

/* Specific override for the checkout button price */
.xoo-wsc-ft-btn-checkout .woocommerce-Price-amount {
    color: inherit !important;
}

.xoo-wsc-ft-btn-checkout .woocommerce-Price-currencySymbol {
    color: inherit !important;
}

.xoo-wsc-ft-btn-checkout .amount {
    color: inherit !important;
}

/* Even more specific override for the exact structure */
.xoo-wsc-ft-btn-checkout span.woocommerce-Price-amount {
    color: inherit !important;
}

.xoo-wsc-ft-btn-checkout span.woocommerce-Price-currencySymbol {
    color: inherit !important;
}

.xoo-wsc-ft-btn-checkout span.amount {
    color: inherit !important;
}

/* Override any remaining green price elements */
.woocommerce-Price-amount.amount {
    color: inherit !important;
}

/* Ensure the override works for all price elements in checkout context */
.woocommerce-checkout .woocommerce-Price-amount,
.checkout .woocommerce-Price-amount,
form.checkout .woocommerce-Price-amount {
    color: inherit !important;
}

.woocommerce-checkout .amount,
.checkout .amount,
form.checkout .amount {
    color: inherit !important;
}

/* ULTRA AGGRESSIVE OVERRIDES - Force white color no matter what */
/* Target the specific checkout button price with maximum specificity */
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn-checkout .woocommerce-Price-amount,
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn-checkout .woocommerce-Price-currencySymbol,
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn-checkout .amount,
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn-checkout span.woocommerce-Price-amount,
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn-checkout span.woocommerce-Price-currencySymbol,
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont .xoo-wsc-ft-btn-checkout span.amount {
    color: #fff !important;
    color: white !important;
}

/* Force white color on ALL price elements in side cart */
body .xoo-wsc-footer .woocommerce-Price-amount,
body .xoo-wsc-footer .woocommerce-Price-currencySymbol,
body .xoo-wsc-footer .amount,
body .xoo-wsc-footer span.woocommerce-Price-amount,
body .xoo-wsc-footer span.woocommerce-Price-currencySymbol,
body .xoo-wsc-footer span.amount,
body .xoo-wsc-ft-amt-value .woocommerce-Price-amount,
body .xoo-wsc-ft-amt-value .woocommerce-Price-currencySymbol,
body .xoo-wsc-ft-amt-value .amount,
body .xoo-wsc-ft-amt-value span.woocommerce-Price-amount,
body .xoo-wsc-ft-amt-value span.woocommerce-Price-currencySymbol,
body .xoo-wsc-ft-amt-value span.amount {
    color: #fff !important;
    color: white !important;
}

/* Nuclear option - target by attribute and force white */
[class*="woocommerce-Price-amount"],
[class*="amount"] {
    color: #fff !important;
    color: white !important;
}

/* Force white on any element containing price text */
*:contains("$") {
    color: #fff !important;
    color: white !important;
}

/* Additional specificity for the exact structure you showed */
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-checkout .woocommerce-Price-amount,
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-checkout .woocommerce-Price-currencySymbol,
body .xoo-wsc-footer .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-checkout .amount {
    color: #fff !important;
    color: white !important;
    font-color: #fff !important;
    font-color: white !important;
}

/* JavaScript-injected CSS as ultimate override */
.sns-force-white-prices {
    color: #fff !important;
    color: white !important;
}

/* Hover states - allow green color on hover for buttons */
.xoo-wsc-ft-btn:hover .woocommerce-Price-amount,
.xoo-wsc-ft-btn:hover .woocommerce-Price-currencySymbol,
.xoo-wsc-ft-btn:hover .amount,
.xoo-wsc-ft-btn:hover span.woocommerce-Price-amount,
.xoo-wsc-ft-btn:hover span.woocommerce-Price-currencySymbol,
.xoo-wsc-ft-btn:hover span.amount,
.xoo-wsc-ft-btn-checkout:hover .woocommerce-Price-amount,
.xoo-wsc-ft-btn-checkout:hover .woocommerce-Price-currencySymbol,
.xoo-wsc-ft-btn-checkout:hover .amount,
.xoo-wsc-ft-btn-checkout:hover span.woocommerce-Price-amount,
.xoo-wsc-ft-btn-checkout:hover span.woocommerce-Price-currencySymbol,
.xoo-wsc-ft-btn-checkout:hover span.amount {
    color: #4CAF50 !important; /* Green color on hover */
    color: green !important;
}

/* Keep other price elements white on hover (not buttons) */
.xoo-wsc-footer .woocommerce-Price-amount:hover,
.xoo-wsc-footer .woocommerce-Price-currencySymbol:hover,
.xoo-wsc-footer .amount:hover,
.xoo-wsc-footer span.woocommerce-Price-amount:hover,
.xoo-wsc-footer span.woocommerce-Price-currencySymbol:hover,
.xoo-wsc-footer span.amount:hover,
.xoo-wsc-ft-amt-value .woocommerce-Price-amount:hover,
.xoo-wsc-ft-amt-value .woocommerce-Price-currencySymbol:hover,
.xoo-wsc-ft-amt-value .amount:hover,
.xoo-wsc-ft-amt-value span.woocommerce-Price-amount:hover,
.xoo-wsc-ft-amt-value span.woocommerce-Price-currencySymbol:hover,
.xoo-wsc-ft-amt-value span.amount:hover {
    color: #fff !important;
    color: white !important;
}

/* Fix font consistency in mini cart checkout button */
.xoo-wsc-ft-btn-checkout,
.xoo-wsc-ft-btn-checkout *,
.xoo-wsc-ft-btn-checkout .amount,
.xoo-wsc-ft-btn-checkout .woocommerce-Price-amount,
.xoo-wsc-ft-btn-checkout .woocommerce-Price-currencySymbol,
.xoo-wsc-ft-btn-checkout span.amount,
.xoo-wsc-ft-btn-checkout span.woocommerce-Price-amount,
.xoo-wsc-ft-btn-checkout span.woocommerce-Price-currencySymbol {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    text-transform: inherit !important;
    letter-spacing: inherit !important;
}

/* Ensure consistent styling for the entire checkout button text */
.xoo-wsc-ft-btn-checkout {
    font-family: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    text-transform: inherit !important;
    letter-spacing: inherit !important;
} 

/* Hide "From" pricing element on product pages ONLY - exclude related products */
.single-product .entry-summary .price:has(.variation-price-display),
.single-product .product .summary .price:has(.variation-price-display) {
    display: none !important;
}

/* Alternative selector for broader compatibility - single product page only - exclude related products */
.single-product .entry-summary .price .variation-price-display,
.single-product .product .summary .price .variation-price-display {
    display: none !important;
}

/* Hide the entire price element that contains "From" text - single product page only - exclude related products */
.single-product .entry-summary .price:contains("From"),
.single-product .product .summary .price:contains("From") {
    display: none !important;
}

/* More specific selector targeting the exact structure - single product page only - exclude related products */
.single-product .entry-summary .price:has(span.woocommerce-Price-amount.amount.variation-price-display),
.single-product .product .summary .price:has(span.woocommerce-Price-amount.amount.variation-price-display) {
    display: none !important;
}

/* Fallback for older browsers that don't support :has() - single product page only - exclude related products */
.single-product .entry-summary .price .woocommerce-Price-amount.amount.variation-price-display,
.single-product .product .summary .price .woocommerce-Price-amount.amount.variation-price-display {
    display: none !important;
}

/* Hide the parent price element when it contains variation-price-display - single product page only - exclude related products */
.single-product .entry-summary .price:has(.variation-price-display),
.single-product .product .summary .price:has(.variation-price-display) {
    display: none !important;
}

/* Fix related products alignment and consistent heights */
.single-product .related.products .products {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 -10px !important;
}

.single-product .related.products .products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 400px !important;
    width: calc(25% - 20px) !important;
    margin: 10px !important;
    padding: 15px !important;
    box-sizing: border-box !important;
}

.single-product .related.products .products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    text-decoration: none !important;
    color: inherit !important;
}

.single-product .related.products .products li.product img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    margin-bottom: 10px !important;
}

.single-product .related.products .products li.product .woocommerce-loop-product__title {
    flex-grow: 1 !important;
    margin: 0 0 10px 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: flex-start !important;
}

.single-product .related.products .products li.product .price {
    margin: 0 0 15px 0 !important;
    flex-shrink: 0 !important;
}

.single-product .related.products .products li.product .button {
    margin-top: auto !important;
    width: 100% !important;
    text-align: center !important;
    padding: 10px 15px !important;
    background-color: #658b72 !important;
    color: white !important;
    border: none !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: background-color 0.3s ease !important;
}

.single-product .related.products .products li.product .button:hover {
    background-color: #4a5f4f !important;
    color: white !important;
}

/* Responsive design for related products */
@media (max-width: 768px) {
    .single-product .related.products .products li.product {
        width: calc(50% - 20px) !important;
        min-height: 350px !important;
    }
}

@media (max-width: 480px) {
    .single-product .related.products .products li.product {
        width: calc(100% - 20px) !important;
        min-height: 300px !important;
    }
}

/* Fix shop category page product alignment and consistent heights */
.woocommerce .products {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin: 0 -10px !important;
}

.woocommerce .products li.product {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 400px !important;
    width: calc(25% - 20px) !important;
    margin: 10px !important;
    padding: 15px !important;
    box-sizing: border-box !important;
}

.woocommerce .products li.product .woocommerce-loop-product__link {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    text-decoration: none !important;
    color: inherit !important;
}

.woocommerce .products li.product img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    margin-bottom: 10px !important;
}

.woocommerce .products li.product .woocommerce-loop-product__title {
    flex-grow: 1 !important;
    margin: 0 0 10px 0 !important;
    min-height: 42px !important;
    display: flex !important;
    align-items: flex-start !important;
}

.woocommerce .products li.product .price {
    margin: 0 0 15px 0 !important;
    flex-shrink: 0 !important;
}

.woocommerce .products li.product .button {
    margin-top: auto !important;
    width: 100% !important;
    text-align: center !important;
    padding: 10px 15px !important;
    background-color: #658b72 !important;
    color: white !important;
    border: none !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: background-color 0.3s ease !important;
}

.woocommerce .products li.product .button:hover {
    background-color: #4a5f4f !important;
    color: white !important;
}

/* Responsive design for shop category page */
@media (max-width: 768px) {
    .woocommerce .products li.product {
        width: calc(50% - 20px) !important;
        min-height: 350px !important;
    }
}

@media (max-width: 480px) {
    .woocommerce .products li.product {
        width: calc(100% - 20px) !important;
        min-height: 300px !important;
    }
}

/* Hide PayPal express checkout elements on product pages only */
.single-product #zoid-paypal-message-uid_bbf6361738_mdm6mdg6mdq,
.single-product [id^="zoid-paypal-message-uid_"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

.single-product .ppc-button-wrapper,
.single-product #ppc-button-ppcp-gateway,
.single-product [id^="zoid-paypal-buttons-uid_"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Hide PayPal message and button containers on product pages */
.single-product div[id*="zoid-paypal-message"],
.single-product div[id*="zoid-paypal-buttons"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Fix PayPal message readability on cart and checkout pages - Block and Classic */
.message__messaging,
.wc-block-components-order-summary .message__messaging,
.wc-block-cart .message__messaging,
.wc-block-checkout .message__messaging,
.woocommerce-cart .message__messaging,
.woocommerce-checkout .message__messaging {
    background-color: #ffffff !important;
    border: 1px solid #e9ecef !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 15px 0 !important;
    color: #333333 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.message__promo-container,
.wc-block-components-order-summary .message__promo-container,
.wc-block-cart .message__promo-container,
.wc-block-checkout .message__promo-container {
    color: #333333 !important;
}

.message__headline,
.wc-block-components-order-summary .message__headline,
.wc-block-cart .message__headline,
.wc-block-checkout .message__headline {
    color: #333333 !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
}

.message__headline .tag--medium,
.wc-block-components-order-summary .message__headline .tag--medium,
.wc-block-cart .message__headline .tag--medium,
.wc-block-checkout .message__headline .tag--medium {
    color: #333333 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.message__headline .tag--xsmall,
.wc-block-components-order-summary .message__headline .tag--xsmall,
.wc-block-cart .message__headline .tag--xsmall,
.wc-block-checkout .message__headline .tag--xsmall {
    color: #666666 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.message__logo-container,
.wc-block-components-order-summary .message__logo-container,
.wc-block-cart .message__logo-container,
.wc-block-checkout .message__logo-container {
    margin: 8px 0 !important;
}

.message__logo img,
.wc-block-components-order-summary .message__logo img,
.wc-block-cart .message__logo img,
.wc-block-checkout .message__logo img {
    max-height: 24px !important;
    width: auto !important;
}

.message__disclaimer,
.wc-block-components-order-summary .message__disclaimer,
.wc-block-cart .message__disclaimer,
.wc-block-checkout .message__disclaimer {
    margin: 8px 0 0 0 !important;
}

.message__disclaimer .tag--default,
.wc-block-components-order-summary .message__disclaimer .tag--default,
.wc-block-cart .message__disclaimer .tag--default,
.wc-block-checkout .message__disclaimer .tag--default {
    color: #007cba !important;
    text-decoration: underline !important;
    font-size: 12px !important;
    cursor: pointer !important;
}

.message__disclaimer .tag--default:hover,
.wc-block-components-order-summary .message__disclaimer .tag--default:hover,
.wc-block-cart .message__disclaimer .tag--default:hover,
.wc-block-checkout .message__disclaimer .tag--default:hover {
    color: #005a87 !important;
}

/* Additional block-specific selectors */
.wc-block-components-order-summary,
.wc-block-cart,
.wc-block-checkout {
    background-color: transparent !important;
}

/* Force PayPal message styling in blocks */
.wc-block-components-order-summary .message__messaging,
.wc-block-cart .message__messaging,
.wc-block-checkout .message__messaging {
    background-color: #ffffff !important;
    color: #333333 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    border: 1px solid #e9ecef !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 15px 0 !important;
}

/* JavaScript-based PayPal message styling for block cart pages */
.sns-paypal-message-styled {
    background-color: #ffffff !important;
    border: 1px solid #e9ecef !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 15px 0 !important;
    color: #333333 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.sns-paypal-message-styled .message__promo-container {
    color: #333333 !important;
}

.sns-paypal-message-styled .message__headline {
    color: #333333 !important;
    font-weight: 500 !important;
    margin-bottom: 8px !important;
}

.sns-paypal-message-styled .message__headline .tag--medium {
    color: #333333 !important;
    font-weight: 500 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
}

.sns-paypal-message-styled .message__headline .tag--xsmall {
    color: #666666 !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.sns-paypal-message-styled .message__logo-container {
    margin: 8px 0 !important;
}

.sns-paypal-message-styled .message__logo img {
    max-height: 24px !important;
    width: auto !important;
}

.sns-paypal-message-styled .message__disclaimer {
    margin: 8px 0 0 0 !important;
}

.sns-paypal-message-styled .message__disclaimer .tag--default {
    color: #007cba !important;
    text-decoration: underline !important;
    font-size: 12px !important;
    cursor: pointer !important;
}

.sns-paypal-message-styled .message__disclaimer .tag--default:hover {
    color: #005a87 !important;
}

/* Direct PayPal message styling - target specific classes */
.message__container,
.message__content,
.message__messaging {
    color: #FFFFFF !important;
}

.message__headline,
.message__headline .tag--medium,
.message__headline .tag--xsmall,
.message__headline .tag--medium .br,
.message__headline .tag--xsmall span {
    color: #FFFFFF !important;
    font-weight: 500 !important;
}

.message__promo-container {
    color: #FFFFFF !important;
}

.message__disclaimer,
.message__disclaimer .tag--default,
.message__disclaimer .tag--default span {
    color: #FFFFFF !important;
}

/* Ensure all text in PayPal messages is white */
.message__container *,
.message__content *,
.message__messaging * {
    color: #FFFFFF !important;
}

/* Specific targeting for the main text */
.message__headline .tag--medium .br {
    color: #FFFFFF !important;
    font-weight: 500 !important;
}

.message__headline .tag--xsmall span {
    color: #FFFFFF !important;
    font-weight: 400 !important;
}

/* Keep the logo visible but ensure text is white */
.message__logo-container {
    opacity: 1 !important;
}

.message__logo img {
    opacity: 1 !important;
}

/* Ensure order details are properly displayed on order received page */
.woocommerce-order-details .woocommerce-table__product-name {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce-order-details .woocommerce-table__product-name a {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: inherit !important;
    text-decoration: none !important;
}

.woocommerce-order-details .woocommerce-table__product-name .product-quantity {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-weight: bold !important;
}

.woocommerce-order-details .wc-item-meta {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-top: 8px !important;
}

.woocommerce-order-details .wc-item-meta li {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin-bottom: 4px !important;
}

.woocommerce-order-details .wc-item-meta .wc-item-meta-label {
    font-weight: bold !important;
    display: inline !important;
}

.woocommerce-order-details .wc-item-meta p {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Fix order received page header styling to match checkout page */
.woocommerce-order-details .woocommerce-table--order-details thead th {
    background-color: #658b72 !important;
    color: white !important;
    border-bottom: 1px solid #658b72 !important;
}

.woocommerce-order-details .woocommerce-table--order-details thead th.product-name {
    background-color: #658b72 !important;
    color: white !important;
}

.woocommerce-order-details .woocommerce-table--order-details thead th.product-total {
    background-color: #658b72 !important;
    color: white !important;
}

/* Ensure consistent styling across all order detail tables */
.woocommerce-order-details table.woocommerce-table thead th {
    background-color: #658b72 !important;
    color: white !important;
    border-bottom: 1px solid #658b72 !important;
}

/* Apply GST styling to order received page */
.woocommerce-order-details .woocommerce-table--order-details .includes_tax {
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: 1.2 !important;
}

.woocommerce-order-details .woocommerce-table--order-details .includes_tax * {
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: 1.2 !important;
}

.woocommerce-order-details .woocommerce-table--order-details .includes_tax .woocommerce-Price-amount,
.woocommerce-order-details .woocommerce-table--order-details .includes_tax .woocommerce-Price-currencySymbol,
.woocommerce-order-details .woocommerce-table--order-details .includes_tax .amount {
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: 1.2 !important;
}

/* Ultra specific targeting for order received page GST */
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td small.includes_tax,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td small.includes_tax *,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td small.includes_tax span,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td small.includes_tax .woocommerce-Price-amount,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td small.includes_tax .woocommerce-Price-currencySymbol,
.woocommerce-order-details .woocommerce-table--order-details tfoot tr:last-child td small.includes_tax .amount {
    font-size: 14px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    color: inherit !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    font-style: normal !important;
} 

/* Payment Method Selection Triangle Arrow Color */
.woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"]:checked + label::before,
.woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"]:checked + label::after {
    border-left-color: #658b72 !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
}

/* Alternative selectors for different theme implementations */
.woocommerce-checkout .wc_payment_methods .wc_payment_method.selected label::before,
.woocommerce-checkout .wc_payment_methods .wc_payment_method.selected label::after {
    border-left-color: #658b72 !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
}

/* For themes that use background images or other methods */
.woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"]:checked + label {
    background-image: none !important;
}

.woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"]:checked + label::before {
    background-color: #658b72 !important;
}

/* Additional specificity for checkout page */
body.woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"]:checked + label::before,
body.woocommerce-checkout .wc_payment_methods .wc_payment_method input[type="radio"]:checked + label::after {
    border-left-color: #658b72 !important;
    border-top-color: transparent !important;
    border-bottom-color: transparent !important;
} 