/* Cache Busting Fixes */


.logo img, .custom-logo {
    max-height: 84px !important;
    width: auto !important;
}

/* Reusable Card Styles */
.new-style-card {
    position: relative !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    height: 400px !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: flex-end !important;
    transition: transform 0.3s ease !important;
    text-decoration: none !important;
}
.new-style-card:hover {
    transform: translateY(-5px) !important;
}
.new-style-overlay {
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0) 100%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}
.tours-archive-card-link {
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 10 !important;
}
.new-style-content {
    position: relative !important;
    z-index: 2 !important;
    padding: 25px 25px 20px 25px !important;
    width: 100% !important;
    color: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}
.new-style-subtitle {
    display: block !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
    font-family: 'Poppins', sans-serif !important;
    color: #fff !important;
}
.new-style-title {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    margin: 0 0 6px 0 !important;
    font-family: 'Maven Pro', sans-serif !important;
    color: #fff !important;
    text-align: left !important;
}
.new-style-divider {
    display: none !important; /* Hide the messy white horizontal line above the buttons */
}
.new-style-price {
    font-size: 18px !important;
    font-weight: 700 !important;
    font-family: 'Poppins', sans-serif !important;
    color: #fff !important;
    display: inline-block !important;
}

/* Container for price and button alignment inside slider cards */
.new-style-actions {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: 15px !important;
}

/* View Tours button inside Category Cards */
.category-card .tour-card-btn-link {
    font-size: 13px !important;
    font-family: 'Poppins', sans-serif !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    border: 2px solid #fff !important;
    padding: 10px 24px !important;
    border-radius: 4px !important;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s, transform 0.3s, box-shadow 0.3s !important;
    margin-top: 15px !important;
    display: inline-block !important;
    text-decoration: none !important;
    cursor: pointer !important;
    z-index: 6 !important;
    position: relative !important;
}
.category-card:hover .tour-card-btn-link {
    background-color: #fff !important;
    color: var(--color-dark) !important;
    transform: translateY(-2px) scale(1.03) !important;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.25) !important;
}

/* Read More button inside Tour Slider Cards & Archive Cards */
.tour-card.principal .tour-card-btn-link,
.tours-archive-card .tour-card-btn-link {
    font-size: 13px !important;
    font-family: 'Poppins', sans-serif !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    background: linear-gradient(135deg, #7eb83e, #6ca33f) !important;
    padding: 10px 22px !important;
    border-radius: 25px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: inline-block !important;
    text-decoration: none !important;
    cursor: pointer !important;
    z-index: 6 !important;
    position: relative !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(126, 184, 62, 0.3) !important;
    overflow: hidden !important;
}

.tour-card.principal:hover .tour-card-btn-link,
.tours-archive-card:hover .tour-card-btn-link {
    background: linear-gradient(135deg, #6ca33f, #588632) !important;
    transform: translateY(-4px) scale(1.05) !important;
    box-shadow: 0 8px 25px rgba(126, 184, 62, 0.5) !important;
    color: #fff !important;
}

/* Shine effect on hover */
.tour-card.principal .tour-card-btn-link::after,
.tours-archive-card .tour-card-btn-link::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -100% !important;
    width: 50% !important;
    height: 100% !important;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.3) 50%, rgba(255,255,255,0) 100%) !important;
    transform: skewX(-25deg) !important;
    transition: all 0.75s ease !important;
}

.tour-card.principal:hover .tour-card-btn-link::after,
.tours-archive-card:hover .tour-card-btn-link::after {
    left: 125% !important;
}

/* Global Button Micro-Animations (Hero and See More buttons) */
.btn {
    transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s !important;
}
.btn:hover {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15) !important;
}

/* Custom slider card layout corrections to prevent overlap and uneven widths */
@media (min-width: 768px) {
    .tour-split-left .tour-slider-track .tour-card.principal {
        flex: 0 0 calc(50% - 10px) !important;
        width: calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
    }
}
@media (max-width: 767px) {
    .tour-split-left .tour-slider-track .tour-card.principal {
        flex: 0 0 calc(100% - 20px) !important;
        width: calc(100% - 20px) !important;
        max-width: calc(100% - 20px) !important;
    }
}

/* Blog Card Fixes to resolve height misalignment (descuadrado) */
.blog-card {
    height: auto !important;
    min-height: 420px !important;
}

/* Single Product Layout Fixes - Prevent squishing */
.rf-tour-left-col,
.rf-tour-right-col {
    width: 100% !important;
}

/* Single Product Content Tab Buttons (Left Column) */
.rf-tour-left-col .rf-tab-btn {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    border-radius: 0 !important;
    padding: 12px 20px !important;
    color: #666 !important;
    transition: color 0.3s, border-color 0.3s !important;
}
.rf-tour-left-col .rf-tab-btn:hover {
    color: var(--color-green) !important;
    background: none !important;
    background-color: transparent !important;
}
.rf-tour-left-col .rf-tab-btn.active {
    color: var(--color-green) !important;
    background: none !important;
    background-color: transparent !important;
    border-bottom-color: var(--color-green) !important;
}

/* Single Product Sidebar Tab Buttons (Right Column) */
.rf-sidebar-tabs .rf-tab-btn {
    transition: background-color 0.3s, color 0.3s, transform 0.3s !important;
}
.rf-sidebar-tabs .rf-tab-btn:hover {
    background-color: var(--color-green) !important;
    color: #fff !important;
}
.rf-sidebar-tabs .rf-tab-btn.active {
    background-color: var(--color-green) !important;
    color: #fff !important;
}
.rf-sidebar-tabs .rf-tab-btn.active:hover {
    background-color: var(--color-green-dark) !important;
    color: #fff !important;
}

/* Make ONLY the Book Now tab turn black on hover */
.rf-sidebar-tabs .rf-tab-btn[data-tab="tab-book-tour"]:hover {
    background-color: #000000 !important;
}
.rf-sidebar-tabs .rf-tab-btn[data-tab="tab-book-tour"].active:hover {
    background-color: #000000 !important;
}

/* Single Product Sidebar & Add to Cart Buttons Animations */
.rf-sidebar-submit-btn,
.single_add_to_cart_button {
    transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s !important;
}
.rf-sidebar-submit-btn:hover,
.single_add_to_cart_button:hover {
    background-color: #000000 !important;
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15) !important;
}

/* Floating WhatsApp Widget Styling */
.floating-whatsapp-wrapper {
    position: fixed !important;
    bottom: 25px !important;
    right: 25px !important;
    z-index: 99999 !important;
}

.floating-whatsapp-btn {
    width: 60px !important;
    height: 60px !important;
    background-color: #25d366 !important;
    border-radius: 50% !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color 0.3s, transform 0.3s !important;
    animation: whatsapp-pulse 2.5s infinite !important;
}
.floating-whatsapp-btn:hover {
    background-color: #128c7e !important;
    transform: scale(1.05) !important;
}
.floating-whatsapp-btn svg {
    width: 32px !important;
    height: 32px !important;
}

.floating-whatsapp-box {
    position: absolute !important;
    bottom: 75px !important;
    right: 0px !important;
    width: 330px !important;
    background-color: #1e222b !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25) !important;
    opacity: 0 !important;
    transform: translateY(20px) scale(0.95) !important;
    pointer-events: none !important;
    transition: opacity 0.3s, transform 0.3s !important;
}
.floating-whatsapp-box.active {
    opacity: 1 !important;
    transform: translateY(0) scale(1) !important;
    pointer-events: all !important;
}

.wa-box-header {
    background-color: #0eac5c !important;
    padding: 16px 20px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    color: #fff !important;
}
.wa-header-info {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}
.wa-logo-container {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,0.2) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.wa-header-title {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
}
.wa-box-close {
    background: rgba(0,0,0,0.2) !important;
    border: none !important;
    color: #fff !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 50% !important;
    font-size: 16px !important;
    line-height: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background-color 0.2s !important;
}
.wa-box-close:hover {
    background: rgba(0,0,0,0.4) !important;
}

.wa-box-body {
    padding: 30px 20px !important;
    background-color: #131a22 !important;
    min-height: 110px !important;
    display: flex !important;
    align-items: flex-start !important;
}
.wa-chat-bubble {
    background-color: #2b3038 !important;
    color: #ffffff !important;
    border-radius: 12px !important;
    padding: 12px 18px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    position: relative !important;
    max-width: 85% !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}
.wa-bubble-arrow {
    position: absolute !important;
    left: -8px !important;
    top: 15px !important;
    width: 0 !important;
    height: 0 !important;
    border-top: 8px solid transparent !important;
    border-bottom: 8px solid transparent !important;
    border-right: 8px solid #2b3038 !important;
}
.wa-msg-line {
    margin: 0 !important;
    padding: 0 !important;
    color: #e2e8f0 !important;
}
.wa-msg-line:first-child {
    margin-bottom: 4px !important;
}

.wa-box-footer {
    background-color: #131a22 !important;
    padding: 0 20px 20px 20px !important;
    display: flex !important;
    justify-content: flex-end !important;
}
.wa-open-chat-btn {
    background-color: #0eac5c !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    padding: 10px 22px !important;
    border-radius: 20px !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 4px 12px rgba(14,172,92,0.2) !important;
    transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s !important;
}
.wa-open-chat-btn:hover {
    background-color: #0c944f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(14,172,92,0.3) !important;
}

/* WYSIWYG List Styling in Single Product Tabs */
#tab-includes ul,
#tab-excludes ul,
#tab-recomms ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
#tab-includes ul li,
#tab-excludes ul li,
#tab-recomms ul li {
    position: relative !important;
    padding-left: 30px !important;
    margin-bottom: 15px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    color: #666 !important;
}
#tab-includes ul li::before {
    content: '\f147' !important;
    font-family: 'dashicons' !important;
    color: #7eb83e !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    font-size: 20px !important;
}
#tab-excludes ul li::before {
    content: '\f158' !important;
    font-family: 'dashicons' !important;
    color: #dc3232 !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    font-size: 20px !important;
}
#tab-recomms ul li::before {
    content: '\f111' !important;
    font-family: 'dashicons' !important;
    color: #7eb83e !important;
    position: absolute !important;
    left: 4px !important;
    top: 5px !important;
    font-size: 10px !important;
}

/* Sidebar Category Links & Price Range Slider */
.tours-sidebar-cat-link:hover,
.tours-sidebar-cat-link.active-cat {
    color: #7eb83e !important;
    font-weight: 600 !important;
}
.tours-sidebar-cat-link:hover .cat-bullet,
.tours-sidebar-cat-link.active-cat .cat-bullet {
    background-color: #7eb83e !important;
}

.price-slider-track {
    position: relative !important;
    width: 100% !important;
    margin-top: 15px !important;
    margin-bottom: 10px !important;
}
.tours-range-input {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 100% !important;
    height: 6px !important;
    border-radius: 3px !important;
    background: #e2e8f0;
    outline: none !important;
    margin: 0 !important;
}
/* Webkit (Chrome, Safari, Edge) */
.tours-range-input::-webkit-slider-thumb {
    -webkit-appearance: none !important;
    appearance: none !important;
    width: 18px !important;
    height: 18px !important;
    border-radius: 50% !important;
    background: #7eb83e !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
    transition: transform 0.1s, background-color 0.2s !important;
}
.tours-range-input::-webkit-slider-thumb:hover {
    transform: scale(1.2) !important;
    background-color: #6ca33f !important;
}
/* Firefox */
.tours-range-input::-moz-range-thumb {
    width: 18px !important;
    height: 18px !important;
    border: none !important;
    border-radius: 50% !important;
    background: #7eb83e !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15) !important;
    transition: transform 0.1s, background-color 0.2s !important;
}
.tours-range-input::-moz-range-thumb:hover {
    transform: scale(1.2) !important;
    background-color: #6ca33f !important;
}
.price-display-wrapper {
    display: flex !important;
    justify-content: space-between !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 14px !important;
    color: #666 !important;
    margin-top: 10px !important;
}
.price-display-val {
    font-weight: 600 !important;
    color: #7eb83e !important;
}

/* Footer Payment Methods Badges */
.footer-payment-methods {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}
.payment-card-badge {
    background-color: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 6px !important;
    width: 58px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
    transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s !important;
    cursor: pointer !important;
}
.payment-card-badge:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12) !important;
    border-color: #cbd5e1 !important;
}
.payment-card-badge svg {
    display: block !important;
}

/* WhatsApp Booking Button Hover */
.whatsapp-submit-btn {
    transition: background-color 0.2s, transform 0.1s !important;
}
.whatsapp-submit-btn:hover {
    background-color: #20ba5a !important;
    transform: scale(1.02) !important;
}
.whatsapp-submit-btn:active {
    transform: scale(0.98) !important;
}


/* Premium WooCommerce Checkout & Payment UI */
#payment {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06) !important;
    padding: 35px !important;
    border: 1px solid #eaeaea !important;
    font-family: 'Poppins', sans-serif !important;
}
ul.payment_methods {
    list-style: none !important;
    margin: 0 0 30px 0 !important;
    padding: 0 !important;
    border-bottom: 2px solid #f1f5f9 !important;
    padding-bottom: 25px !important;
}
ul.payment_methods li {
    background: #fdfdfd !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 8px !important;
    margin-bottom: 15px !important;
    padding: 18px 22px !important;
    transition: all 0.3s ease !important;
    position: relative !important;
}
ul.payment_methods li:hover {
    border-color: #cbd5e1 !important;
    background: #fff !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
}
ul.payment_methods li input[type="radio"] {
    margin-right: 15px !important;
    transform: scale(1.3) !important;
    cursor: pointer !important;
    accent-color: #7eb83e !important;
}
ul.payment_methods li label {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    cursor: pointer !important;
    display: inline-block !important;
    margin: 0 !important;
}
ul.payment_methods li img {
    max-height: 24px !important;
    margin-left: 10px !important;
    vertical-align: middle !important;
}
.payment_box {
    margin-top: 18px !important;
    padding: 20px !important;
    background: #f8fafc !important;
    border-radius: 8px !important;
    border-left: 4px solid #7eb83e !important;
    font-size: 14.5px !important;
    color: #475569 !important;
    line-height: 1.6 !important;
    animation: fadeIn 0.4s ease !important;
}
.payment_box::before {
    display: none !important; /* Hide default WooCommerce triangle */
}
#place_order {
    background: #7eb83e !important;
    color: #fff !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    padding: 18px 30px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 6px 20px rgba(126, 184, 62, 0.25) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}
#place_order:hover {
    background: #689f38 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(126, 184, 62, 0.35) !important;
}

/* Fix order table styling on pay page */
.woocommerce-checkout .shop_table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    margin-bottom: 45px !important;
    font-family: 'Poppins', sans-serif !important;
    box-shadow: 0 5px 20px rgba(0,0,0,0.02) !important;
    width: 100% !important;
}
.woocommerce-checkout .shop_table th {
    background: #f8fafc !important;
    padding: 20px 25px !important;
    font-size: 15px !important;
    color: #1e293b !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.woocommerce-checkout .shop_table td {
    padding: 22px 25px !important;
    font-size: 15.5px !important;
    color: #334155 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}
.woocommerce-checkout .shop_table tr:last-child td {
    border-bottom: none !important;
}
.woocommerce-checkout .shop_table .order-total th, 
.woocommerce-checkout .shop_table .order-total td {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
}
.woocommerce-checkout .shop_table .order-total td span.amount {
    color: #7eb83e !important;
}

/* Modern Premium WooCommerce Blocks Checkout Styling */
.wp-block-woocommerce-checkout {
    max-width: 1050px !important;
    margin: 60px auto !important;
    font-family: 'Poppins', sans-serif !important;
    background: #ffffff !important;
    padding: 30px !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 50px rgba(0,0,0,0.04), 0 5px 15px rgba(0,0,0,0.02) !important;
    border: 1px solid #f1f5f9 !important;
}

/* WooCommerce Checkout Block Layout Adjustments */
@media screen and (min-width: 992px) {
    .wp-block-woocommerce-checkout .wc-block-checkout {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 40px !important;
    }
    .wp-block-woocommerce-checkout .wc-block-checkout__main {
        width: 55% !important;
        flex: 0 0 55% !important;
    }
    .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
        width: 45% !important;
        flex: 0 0 45% !important;
    }
}

.wc-block-components-product-name, 
.wc-block-components-product-details {
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.wc-block-components-product-details__item {
    font-size: 14px !important;
    line-height: 1.5 !important;
}

@media (max-width: 768px) {
    .wp-block-woocommerce-checkout {
        padding: 15px !important;
        margin: 30px auto !important;
        border-radius: 12px !important;
    }
}

.wc-block-components-sidebar {
    background-color: #f8fafc !important;
    border-radius: 16px !important;
    padding: 30px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.02) !important;
}

.wc-block-components-checkout-step {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

.wc-block-components-checkout-step__title {
    font-size: 22px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 20px !important;
}

/* Fix WooCommerce Block Checkout Labels so they don't overlap inputs */
.wc-block-components-text-input label, 
.wc-block-components-combobox-control label, 
.wc-block-components-country-input label,
.wc-block-components-state-input label {
    position: static !important;
    display: block !important;
    transform: none !important;
    font-size: 13px !important;
    margin-bottom: 6px !important;
    color: #475569 !important;
    font-weight: 500 !important;
    pointer-events: auto !important;
}

.wc-block-components-text-input input, 
.wc-block-components-combobox-control input, 
.wc-block-components-country-input select,
.wc-block-components-state-input select {
    border-radius: 8px !important;
    border: 1.5px solid #cbd5e1 !important;
    padding: 12px 16px !important;
    transition: all 0.3s ease !important;
    font-family: 'Poppins', sans-serif !important;
    background-color: #fdfdfd !important;
    height: auto !important;
}

.wc-block-components-text-input input:focus, 
.wc-block-components-combobox-control input:focus,
.wc-block-components-country-input select:focus,
.wc-block-components-state-input select:focus {
    border-color: #7eb83e !important;
    box-shadow: 0 0 0 4px rgba(126, 184, 62, 0.15) !important;
    outline: none !important;
    background-color: #ffffff !important;
}

.wc-block-components-button:not(.is-link) {
    background: #7eb83e !important;
    color: #fff !important;
    border-radius: 8px !important;
    padding: 16px 30px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 4px 15px rgba(126, 184, 62, 0.3) !important;
}

.wc-block-components-button:not(.is-link):hover {
    background: #689f38 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(126, 184, 62, 0.4) !important;
}

.wc-block-components-totals-item__value,
.wc-block-components-totals-item__label {
    font-size: 16px !important;
    color: #334155 !important;
}

.wc-block-components-totals-item.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: #7eb83e !important;
    font-weight: 700 !important;
    font-size: 22px !important;
}

/* Better spacing and typography for checkout blocks */
.wc-block-components-checkout-step {
    margin-bottom: 45px !important;
}

.wc-block-components-checkout-step__description {
    line-height: 1.7 !important;
    margin-bottom: 25px !important;
    color: #475569 !important;
    font-size: 15px !important;
}

.wc-block-components-order-summary-item {
    padding-bottom: 20px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.wc-block-components-product-name {
    font-weight: 600 !important;
    color: #1e293b !important;
    margin-bottom: 8px !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
}

.wc-block-components-product-details {
    line-height: 1.6 !important;
    margin-top: 8px !important;
}

.wc-block-components-product-details__item {
    margin-bottom: 6px !important;
    color: #64748b !important;
    font-size: 14px !important;
}

.wc-block-components-totals-item {
    margin-bottom: 15px !important;
    padding-top: 5px !important;
}

.wc-block-components-address-form {
    gap: 20px !important;
}

/* -----------------------------------------
   WooCommerce Order Confirmation / Thank You Page Premium Styling
----------------------------------------- */

/* Block version container */
.wp-block-woocommerce-order-confirmation,
.woocommerce-order {
    max-width: 850px !important;
    margin: 80px auto !important;
    font-family: 'Poppins', sans-serif !important;
    animation: fadeInSlideUp 0.6s ease-out forwards;
}

@keyframes fadeInSlideUp {
    0% { opacity: 0; transform: translateY(20px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Success Header with Premium Gradient & Animation */
.wc-block-order-confirmation-status,
.woocommerce-thankyou-order-received {
    text-align: center !important;
    background: linear-gradient(135deg, #f0f9eb 0%, #e1f5d5 100%) !important;
    color: #2b5914 !important;
    border: none !important;
    padding: 40px 20px !important;
    border-radius: 20px !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    margin-bottom: 50px !important;
    box-shadow: 0 15px 35px rgba(126, 184, 62, 0.15) !important;
    position: relative !important;
    overflow: hidden !important;
}

.woocommerce-thankyou-order-received::before {
    content: '\f147' !important; /* Dashicon check mark */
    font-family: 'dashicons' !important;
    display: inline-block !important;
    font-size: 55px !important;
    margin-bottom: 15px !important;
    color: #558a2f !important;
    animation: pulseCheck 2s infinite ease-in-out !important;
}

@keyframes pulseCheck {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

/* Summary Cards (Order Info) - Glassmorphism feel */
.wc-block-components-order-meta,
.woocommerce-order ul.order_details {
    background: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 30px 40px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    margin-bottom: 50px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04) !important;
    list-style: none !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.wc-block-components-order-meta:hover,
.woocommerce-order ul.order_details:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08) !important;
}

.wc-block-components-order-meta__item {
    flex: 1 !important;
    min-width: 140px !important;
    border-right: 1px dashed #e2e8f0 !important;
    padding-right: 20px !important;
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    word-break: break-word !important;
}

.woocommerce-order ul.order_details li {
    flex: 1 !important;
    min-width: 140px !important;
    border-right: 1px dashed #e2e8f0 !important;
    padding-right: 20px !important;
    margin: 0 !important;
    font-size: 12px !important;
    color: #94a3b8 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: 600 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    word-break: break-word !important;
}

.wc-block-components-order-meta__item:last-child,
.woocommerce-order ul.order_details li:last-child {
    border-right: none !important;
}

.wc-block-components-order-meta__label {
    display: block !important;
    font-size: 12px !important;
    color: #94a3b8 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 10px !important;
    font-weight: 600 !important;
}

.woocommerce-order ul.order_details li strong {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin-bottom: 0 !important;
    word-break: break-word !important;
}

/* Tables and Details Sections */
.wc-block-order-confirmation-summary,
.woocommerce-order-details {
    background: #ffffff !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 40px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04) !important;
    margin-bottom: 40px !important;
}

.woocommerce-order-details__title,
.wc-block-order-confirmation-summary__title {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    margin-bottom: 30px !important;
    border-bottom: 2px solid #f8fafc !important;
    padding-bottom: 20px !important;
    font-family: 'Maven Pro', sans-serif !important;
}

/* Restyle actual order table rows */
.wc-block-components-order-summary-item {
    border-bottom: 1px dashed #e2e8f0 !important;
    padding-bottom: 25px !important;
    margin-bottom: 25px !important;
}

.wc-block-components-product-name {
    font-size: 18px !important;
    color: #1e293b !important;
}

/* Customer Details Panel */
.woocommerce-customer-details,
.wc-block-order-confirmation-addresses {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%) !important;
    border: none !important;
    border-radius: 20px !important;
    padding: 40px !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.04) !important;
}

.woocommerce-column__title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin-bottom: 25px !important;
    font-family: 'Maven Pro', sans-serif !important;
}

.woocommerce-customer-details address {
    font-style: normal !important;
    font-size: 16px !important;
    line-height: 2 !important;
    color: #64748b !important;
    background: rgba(255,255,255,0.5) !important;
    padding: 20px !important;
    border-radius: 12px !important;
}

@media (max-width: 768px) {
    .wc-block-components-order-meta,
    .woocommerce-order ul.order_details {
        flex-direction: column !important;
        gap: 20px !important;
        padding: 25px !important;
    }
    .wc-block-components-order-meta__item,
    .woocommerce-order ul.order_details li {
        border-right: none !important;
        border-bottom: 1px dashed #e2e8f0 !important;
        padding-bottom: 20px !important;
    }
    .wc-block-components-order-meta__item:last-child,
    .woocommerce-order ul.order_details li:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
}

/* Hide WooCommerce notices that may appear as blank white boxes */
.woocommerce-store-notice,
.woocommerce-notices-wrapper:empty,
.wc-block-components-notice-banner:empty {
    display: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
}

/* Premium Testimonial Cards UI */
.premium-review-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 35px 30px !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.06) !important;
    position: relative !important;
    overflow: hidden !important;
    text-align: left !important;
    border: 1px solid #f1f5f9 !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    display: flex !important;
    flex-direction: column !important;
    border-top: 4px solid #7eb83e !important;
    height: auto !important;
    min-height: 380px !important;
}

.premium-review-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 15px 50px rgba(126,184,62,0.15) !important;
}

/* Giant background quote watermark */
.premium-review-quote-mark {
    position: absolute !important;
    top: -20px !important;
    right: 20px !important;
    font-size: 140px !important;
    font-family: Georgia, serif !important;
    color: rgba(126,184,62, 0.06) !important;
    line-height: 1 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

.premium-review-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    margin-bottom: 20px !important;
    position: relative !important;
    z-index: 2 !important;
}

.premium-review-source {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.premium-review-source-text {
    font-size: 11px !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    font-weight: 600 !important;
    margin-bottom: 4px !important;
}

.tripadvisor-logo {
    width: 90px !important;
    height: auto !important;
}

.premium-stars {
    color: #ffc107 !important;
    font-size: 18px !important;
    letter-spacing: 2px !important;
}

.premium-review-text {
    font-size: 15.5px !important;
    line-height: 1.7 !important;
    color: #334155 !important;
    font-style: italic !important;
    margin-bottom: 30px !important;
    flex-grow: 1 !important;
    position: relative !important;
    z-index: 2 !important;
}

.premium-review-author {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    position: relative !important;
    z-index: 2 !important;
    border-top: 1px solid #f1f5f9 !important;
    padding-top: 20px !important;
}

.premium-author-avatar-img {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

/* Blog Button Harmonious Hover */
.blog-card:hover .blog-card-link,
.blog-card-link:hover {
    background-color: #3a5a40 !important; /* Deep elegant forest green */
    border-color: #3a5a40 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(58, 90, 64, 0.2) !important;
}

.premium-author-info {
    display: flex !important;
    flex-direction: column !important;
}

.premium-author-info h4 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 0 0 2px 0 !important;
}

.premium-author-info span {
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 500 !important;
}

/* Premium Contact Cards */
.premium-contact-boxes {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    margin-top: 30px !important;
}

.premium-contact-card {
    display: flex !important;
    align-items: center !important;
    background: #ffffff !important;
    padding: 20px 25px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05) !important;
    text-decoration: none !important;
    border: 1px solid #e2e8f0 !important;
    transition: all 0.3s ease !important;
    flex: 1 1 300px !important;
    min-width: 280px !important;
}

.premium-contact-card:hover {
    transform: translateY(-5px) !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
    border-color: #cbd5e1 !important;
}

.premium-contact-card .rf-icon-circle {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-right: 20px !important;
    flex-shrink: 0 !important;
    color: #fff !important;
}

.whatsapp-circle {
    background-color: #25D366 !important; /* WhatsApp Green */
    box-shadow: 0 4px 10px rgba(37, 211, 102, 0.3) !important;
}

.email-circle {
    background-color: var(--color-green, #7eb83e) !important;
    box-shadow: 0 4px 10px rgba(126, 184, 62, 0.3) !important;
}

.premium-contact-card .dashicons {
    font-size: 30px !important;
    width: 30px !important;
    height: 30px !important;
}

.premium-contact-card .rf-icon-text {
    flex-grow: 1 !important;
    overflow: hidden !important; /* prevents long emails from breaking out */
}

.premium-contact-card h3 {
    font-family: 'Poppins', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 0 5px 0 !important;
}

.premium-contact-card p {
    font-size: 15px !important;
    color: #64748b !important;
    margin: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important; /* gracefully handles long emails */
    font-weight: 500 !important;
}

/* --- WOOCOMMERCE THANK YOU PAGE (ORDER RECEIVED) --- */
.woocommerce-order {
    max-width: 900px !important;
    margin: 60px auto !important;
    background: #ffffff !important;
    padding: 40px 50px !important;
    border-radius: 20px !important;
    box-shadow: 0 15px 50px rgba(0,0,0,0.05) !important;
    font-family: 'Poppins', sans-serif !important;
    border: 1px solid #f1f5f9 !important;
    text-align: center !important;
}

.woocommerce-thankyou-order-received {
    font-family: 'Maven Pro', sans-serif !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #25D366 !important; /* Success Green */
    margin-bottom: 30px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 15px !important;
}

.woocommerce-thankyou-order-received::before {
    content: "\f147"; /* Dashicons Yes/Checkmark */
    font-family: 'dashicons';
    font-size: 60px;
    width: 80px;
    height: 80px;
    background: #e8f9ed;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #25D366;
}

.woocommerce-order ul.order_details {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 20px !important;
    background: #f8fafc !important;
    padding: 25px !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    list-style: none !important;
    margin-bottom: 40px !important;
}

.woocommerce-order ul.order_details li {
    font-size: 14px !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    text-align: left !important;
    border-right: 1px solid #cbd5e1 !important;
    padding-right: 20px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}
.woocommerce-order ul.order_details li:last-child {
    border-right: none !important;
    padding-right: 0 !important;
}

.woocommerce-order ul.order_details li strong {
    display: block !important;
    font-size: 16px !important;
    color: #1e293b !important;
    font-weight: 600 !important;
    margin-top: 5px !important;
    text-transform: none !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

.woocommerce-order h2 {
    font-family: 'Maven Pro', sans-serif !important;
    font-size: 24px !important;
    color: #1e293b !important;
    margin-bottom: 20px !important;
    text-align: left !important;
    margin-top: 40px !important;
}

.woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: collapse !important;
    text-align: left !important;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
    padding: 15px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #475569 !important;
}

.woocommerce-table--order-details th {
    background: #f1f5f9 !important;
    color: #1e293b !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
}

.woocommerce-table--order-details tfoot th {
    background: transparent !important;
    text-align: right !important;
}
.woocommerce-table--order-details tfoot td {
    font-weight: 600 !important;
    color: #1e293b !important;
    text-align: right !important;
}

/* Action button to go back to home */
.rf-back-home-btn {
    display: inline-block;
    margin-top: 40px;
    padding: 14px 35px;
    background: #7eb83e;
    color: #fff;
    font-weight: 600;
    border-radius: 30px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(126,184,62,0.3);
}
.rf-back-home-btn:hover {
    background: #689F38;
    transform: translateY(-2px);
}
/* WooCommerce Order Details Table Fixes (Unified) */
.woocommerce-order table.woocommerce-table--order-details {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-bottom: 40px !important;
    background: #fff !important;
    table-layout: fixed !important;
}

/* Set column widths so they don't stretch equally */
.woocommerce-order table.woocommerce-table--order-details th:first-child,
.woocommerce-order table.woocommerce-table--order-details td:first-child {
    width: 75% !important;
    text-align: left !important;
}
.woocommerce-order table.woocommerce-table--order-details th:last-child,
.woocommerce-order table.woocommerce-table--order-details td:last-child {
    width: 25% !important;
    text-align: right !important;
}

.woocommerce-order table.woocommerce-table--order-details th,
.woocommerce-order table.woocommerce-table--order-details td {
    padding: 15px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
}

.woocommerce-order table.woocommerce-table--order-details thead th {
    background: #f8fafc !important;
    color: #334155 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

.woocommerce-order table.woocommerce-table--order-details tbody td {
    color: #475569 !important;
}

/* Footer layout */
.woocommerce-order table.woocommerce-table--order-details tfoot th {
    text-align: right !important;
    background: #fff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #334155 !important;
    font-weight: 600 !important;
}
.woocommerce-order table.woocommerce-table--order-details tfoot td {
    text-align: right !important;
    font-weight: 700 !important;
    color: #1e293b !important;
}

/* Customer Details (Billing Address) */
.woocommerce-order .woocommerce-customer-details {
    margin-top: 40px !important;
    padding: 30px !important;
    background: #f8fafc !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    text-align: left !important;
}
.woocommerce-order .woocommerce-customer-details h2 {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    font-size: 20px !important;
    color: #1e293b !important;
    border-bottom: 1px solid #cbd5e1 !important;
    padding-bottom: 10px !important;
}
.woocommerce-order .woocommerce-customer-details address {
    font-style: normal !important;
    color: #475569 !important;
    line-height: 1.8 !important;
    border: none !important;
    padding: 0 !important;
}

@media (max-width: 768px) {
    .woocommerce-order ul.order_details li {
        border-right: none !important;
        border-bottom: 1px dashed #e2e8f0 !important;
        padding-right: 0 !important;
        padding-bottom: 15px !important;
    }
    .woocommerce-order ul.order_details li:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }
}

/* --- WOOCOMMERCE CART PAGE STYLING --- */

.woocommerce-cart .woocommerce {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    margin-top: 40px !important;
    font-family: 'Poppins', sans-serif !important;
}

.woocommerce-cart .woocommerce-cart-form {
    flex: 1 1 60% !important;
    background: #fff !important;
    padding: 30px !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
    border: 1px solid #f1f5f9 !important;
}

.woocommerce-cart .cart-collaterals {
    flex: 1 1 30% !important;
    background: #f8fafc !important;
    padding: 30px !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
}

/* Cart Table */
.woocommerce table.shop_table {
    border: none !important;
    border-radius: 0 !important;
    margin: 0 -1px 24px 0 !important;
    text-align: left !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.woocommerce table.shop_table th {
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-weight: 600 !important;
    padding: 15px !important;
    text-transform: uppercase !important;
    font-size: 14px !important;
    letter-spacing: 1px !important;
    border: none !important;
}

.woocommerce table.shop_table th:first-child { border-top-left-radius: 8px !important; border-bottom-left-radius: 8px !important; }
.woocommerce table.shop_table th:last-child { border-top-right-radius: 8px !important; border-bottom-right-radius: 8px !important; }

.woocommerce table.shop_table td {
    padding: 20px 15px !important;
    border-top: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    vertical-align: middle !important;
}

/* Cart Item Thumbnail */
.woocommerce table.shop_table td.product-thumbnail img {
    border-radius: 8px !important;
    width: 80px !important;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

/* Product Name */
.woocommerce table.shop_table td.product-name a {
    color: #1e293b !important;
    font-family: 'Maven Pro', sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.3s !important;
}
.woocommerce table.shop_table td.product-name a:hover {
    color: #7eb83e !important;
}

/* Quantity Input */
.woocommerce .quantity .qty {
    width: 60px !important;
    padding: 10px !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    text-align: center !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 15px !important;
}

/* Remove Button */
.woocommerce a.remove {
    color: #ef4444 !important;
    font-weight: 400 !important;
    font-size: 24px !important;
    line-height: 1 !important;
}
.woocommerce a.remove:hover {
    color: #b91c1c !important;
    background: transparent !important;
}

/* Cart Totals Section */
.woocommerce-cart .cart-collaterals .cart_totals h2 {
    font-family: 'Maven Pro', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin-bottom: 20px !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 15px !important;
}

.woocommerce-cart .cart-collaterals table.shop_table {
    border: none !important;
    margin: 0 !important;
}

.woocommerce-cart .cart-collaterals table.shop_table th {
    background: transparent !important;
    padding: 15px 0 !important;
    color: #64748b !important;
    font-weight: 500 !important;
}

.woocommerce-cart .cart-collaterals table.shop_table td {
    padding: 15px 0 !important;
    text-align: right !important;
    color: #1e293b !important;
    font-weight: 600 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.woocommerce-cart .cart-collaterals table.shop_table tr.order-total td {
    font-size: 22px !important;
    color: #7eb83e !important;
    font-weight: 700 !important;
}

/* Proceed to Checkout Button */
.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    background-color: #7eb83e !important;
    color: #fff !important;
    padding: 15px 20px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin-top: 20px !important;
    transition: background-color 0.3s ease, transform 0.2s ease !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
.woocommerce .cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover {
    background-color: #000000 !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
    .woocommerce-cart .woocommerce {
        flex-direction: column !important;
    }
    .woocommerce-cart .woocommerce-cart-form,
    .woocommerce-cart .cart-collaterals {
        flex: 1 1 100% !important;
    }
}

/* --- MULTI-STEP PROGRESS BAR CHEVRONS --- */

.rf-booking-progress-wrapper {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    z-index: 10; /* Lowered from 9999 to allow header dropdowns to appear over it */
}

.rf-booking-progress-chevrons {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    background: #ffffff; /* White gap color, clean and neutral */
}

.rf-booking-progress-chevrons li {
    flex: 1;
    padding: 0; /* Removing padding from li, moving to a tag */
    margin-right: 1px;
    clip-path: polygon(calc(100% - 25px) 0, 100% 50%, calc(100% - 25px) 100%, 0 100%, 25px 50%, 0 0);
    color: #fff;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 600;
}

.rf-booking-progress-chevrons li:first-child {
    clip-path: polygon(calc(100% - 25px) 0, 100% 50%, calc(100% - 25px) 100%, 0 100%, 0 0);
}
.rf-booking-progress-chevrons li:last-child {
    clip-path: polygon(100% 0, 100% 100%, 0 100%, 25px 50%, 0 0);
    margin-right: 0;
}

/* State Colors */
.rf-booking-progress-chevrons li.rf-chevron-completed { 
    background: #eaf3e3; /* Light green for completed steps too */
    color: #588533;
    transition: filter 0.3s ease;
    z-index: 1;
}
.rf-booking-progress-chevrons li.rf-chevron-active { 
    background: linear-gradient(180deg, #7ab548 0%, var(--color-green, #6ca33f) 100%); 
    color: #fff;
    filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.35));
    z-index: 10;
    transform: scale(1.01);
}
.rf-booking-progress-chevrons li.rf-chevron-future { 
    background: #eaf3e3; /* Light green for future steps */
    color: #588533; /* Dark green text */
    z-index: 0;
}

/* Hover effect for clickable tabs */
.rf-booking-progress-chevrons li.rf-chevron-completed:hover {
    filter: brightness(0.95) drop-shadow(0px 2px 5px rgba(0,0,0,0.2));
    z-index: 5;
}

/* Content Wrapper (now the <a> tag) */
.rf-chevron-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    height: 100%;
    padding: 15px 10px 15px 35px;
    cursor: pointer;
    box-sizing: border-box;
    white-space: nowrap;
}

.rf-booking-progress-chevrons li:first-child .rf-chevron-content {
    padding-left: 20px;
}

/* Number & Check Icon */
.rf-step-icon, .rf-step-number {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900; /* Extra bold for visibility */
    font-size: 18px; /* Larger numbers */
    font-family: 'Maven Pro', sans-serif;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Subtle shadow so the circle pops */
}

/* Checkmark when completed */
.rf-chevron-completed .rf-step-icon {
    background: #fff;
    color: var(--color-green-dark, #588533); 
    font-size: 16px;
}

/* Active number */
.rf-chevron-active .rf-step-number {
    background: #fff; 
    color: var(--color-green, #6ca33f);
}

/* Future/Inactive number */
.rf-chevron-future .rf-step-number {
    background: #fff; /* Pure white to contrast with light green tab */
    color: #588533; /* Dark green text */
}

@media (max-width: 768px) {
    .rf-booking-progress-wrapper {
        overflow-x: auto;
    }
    .rf-booking-progress-chevrons {
        min-width: 600px;
    }
}

/* --- MULTI-STEP CHECKOUT WIZARD --- */

/* Hide payment section on Datos step */
body.woocommerce-checkout:not(.rf-step-pasarela-active) #order_review_heading,
body.woocommerce-checkout:not(.rf-step-pasarela-active) #order_review,
body.woocommerce-checkout:not(.rf-step-pasarela-active) .woocommerce-checkout-review-order,
body.woocommerce-checkout:not(.rf-step-pasarela-active) #payment,
body.woocommerce-checkout:not(.rf-step-pasarela-active) .woocommerce-checkout-payment {
    display: none !important;
}

/* Hide customer details and continue button on Pasarela step */
body.woocommerce-checkout.rf-step-pasarela-active #customer_details,
body.woocommerce-checkout.rf-step-pasarela-active .woocommerce-additional-fields,
body.woocommerce-checkout.rf-step-pasarela-active #rf-wizard-actions-container {
    display: none !important;
}

body.woocommerce-checkout.rf-step-pasarela-active #order_review_heading,
body.woocommerce-checkout.rf-step-pasarela-active #order_review {
    display: block;
    opacity: 1;
}

/* --- PREMIUM PAYMENT GATEWAY (PASARELA) STYLING --- */
body.woocommerce-checkout #order_review_heading {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 26px !important;
    color: #111 !important;
    margin-bottom: 25px !important;
    border-bottom: none !important;
    font-weight: 700 !important;
    text-align: center;
}

/* The Order Review Table */
body.woocommerce-checkout table.shop_table {
    border: none !important;
    border-radius: 12px !important;
    overflow: hidden;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
    width: 100% !important;
}

body.woocommerce-checkout table.shop_table thead th {
    background: #f8f9fa !important;
    color: #555 !important;
    text-transform: uppercase !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    border-bottom: 2px solid #eaeaea !important;
    padding: 18px 20px !important;
    border-top: none !important;
}

body.woocommerce-checkout table.shop_table tbody td,
body.woocommerce-checkout table.shop_table tfoot td,
body.woocommerce-checkout table.shop_table tfoot th {
    padding: 18px 20px !important;
    border-top: 1px solid #f0f0f0 !important;
    background: #fff !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 15px !important;
    color: #333 !important;
}

/* Product Item Styling */
body.woocommerce-checkout table.shop_table td.product-name {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #111 !important;
}

/* Premium Badge for Quantity (x3) */
body.woocommerce-checkout table.shop_table td.product-name strong.product-quantity {
    font-weight: 800 !important;
    color: var(--color-green, #6ca33f) !important;
    background: #f2f7ec !important; /* Soft green */
    padding: 4px 10px !important;
    border-radius: 12px !important;
    font-size: 15px !important;
    margin-left: 10px !important;
    display: inline-block;
    box-shadow: 0 2px 5px rgba(108,163,63,0.1);
}

/* Styling the Metadata (e.g. Departure Date) */
body.woocommerce-checkout table.shop_table td.product-name dl.variation {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    font-size: 13.5px !important;
    color: #555 !important;
    background: #fdfdfd !important;
    border-left: 3px solid var(--color-green, #6ca33f) !important;
    padding: 10px 12px !important;
    border-radius: 4px !important;
    border-top: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
    border-bottom: 1px solid #eee !important;
}
body.woocommerce-checkout table.shop_table td.product-name dl.variation dt {
    font-weight: 700 !important;
    color: #333 !important;
    display: inline-block !important;
    margin-right: 5px !important;
    margin-bottom: 3px !important;
}
body.woocommerce-checkout table.shop_table td.product-name dl.variation dd {
    display: inline-block !important;
    margin: 0 0 3px 0 !important;
    font-weight: 500 !important;
}
body.woocommerce-checkout table.shop_table td.product-name dl.variation p {
    display: inline !important;
    margin: 0 !important;
}

/* Total Row Emphasis */
body.woocommerce-checkout table.shop_table tfoot tr.order-total th {
    font-size: 18px !important;
    color: #111 !important;
    font-weight: 700 !important;
}
body.woocommerce-checkout table.shop_table tfoot tr.order-total td strong {
    font-size: 22px !important;
    color: var(--color-green, #6ca33f) !important;
}

/* Payment Methods Box */
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
    background: #fafafa !important;
    border-radius: 12px !important;
    padding: 30px !important;
    border: 1px solid #eaeaea !important;
}

.woocommerce-checkout #payment ul.payment_methods {
    border-bottom: 1px solid #eaeaea !important;
    padding: 0 0 20px 0 !important;
    margin: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
    list-style: none !important;
    padding: 15px !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    margin-bottom: 10px !important;
    transition: all 0.3s ease !important;
}

/* Selected Payment Method */
.woocommerce-checkout #payment ul.payment_methods li input:checked + label {
    font-weight: 700 !important;
    color: var(--color-green, #6ca33f) !important;
}
.woocommerce-checkout #payment ul.payment_methods li:focus-within {
    border-color: var(--color-green, #6ca33f) !important;
    box-shadow: 0 0 0 3px rgba(108, 163, 63, 0.1) !important;
}

.woocommerce-checkout #payment div.payment_box {
    background: #f2f7ec !important;
    color: #444 !important;
    border-radius: 6px !important;
    padding: 15px 20px !important;
    margin-top: 15px !important;
    font-size: 14px !important;
    font-family: var(--font-primary, 'Poppins') !important;
}
.woocommerce-checkout #payment div.payment_box::before {
    display: none !important; /* Hide the weird pointer arrow */
}

/* Place Order Button */
.woocommerce-checkout #payment .place-order {
    padding: 30px 0 0 0 !important;
}
.woocommerce-checkout #payment #place_order {
    background: var(--color-green, #6ca33f) !important;
    color: #fff !important;
    border: none !important;
    padding: 22px 30px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    font-family: var(--font-heading, 'Maven Pro') !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    box-shadow: 0 6px 20px rgba(108, 163, 63, 0.3) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
}
.woocommerce-checkout #payment #place_order::before {
    content: "\f023"; /* FontAwesome padlock */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
}
.woocommerce-checkout #payment #place_order:hover {
    background: var(--color-green-dark, #588533) !important;
    box-shadow: 0 8px 25px rgba(108, 163, 63, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Order Notes Styling */
body.woocommerce-checkout .woocommerce form .form-row textarea {
    height: 100px !important;
    resize: vertical !important;
}

.rf-wizard-actions {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
    margin-top: 40px;
}

.rf-btn-next-step {
    background: var(--color-green, #6ca33f);
    color: #fff;
    border: none;
    padding: 20px 30px;
    font-size: 18px;
    font-weight: 600;
    border-radius: 8px;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    transition: all 0.3s ease;
    width: 100%;
    box-shadow: 0 4px 15px rgba(108, 163, 63, 0.3);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.rf-btn-next-step:hover {
    background: var(--color-green-dark, #588533);
    box-shadow: 0 6px 20px rgba(108, 163, 63, 0.4);
    transform: translateY(-2px);
}

/* Make checkout look cleaner and pop out from background */
body.woocommerce-checkout {
    background-color: #f8faf6 !important; /* Very subtle nature green background */
}

body.woocommerce-checkout .woocommerce form.checkout {
    background: #fff;
    padding: 50px;
    border-radius: 16px; /* Slightly rounder for modern feel */
    box-shadow: 0 20px 60px rgba(0,0,0,0.05), 0 4px 15px rgba(0,0,0,0.03); /* Richer, softer shadow */
    margin: 30px auto 80px auto;
    width: 90%;
    max-width: 900px;
    display: block !important; /* Disable the theme's 2-column grid! */
    border: 1px solid rgba(108, 163, 63, 0.1); /* Extremely subtle green border */
}

/* Fix narrow billing details */
body.woocommerce-checkout .woocommerce form.checkout #customer_details {
    width: 100% !important;
    display: block !important; /* Overrides the grid layout from style.css */
}

body.woocommerce-checkout .woocommerce form.checkout #customer_details .col-1,
body.woocommerce-checkout .woocommerce form.checkout #customer_details .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.woocommerce-checkout .woocommerce form .form-row {
    padding: 0 !important;
    margin-bottom: 28px !important;
}

body.woocommerce-checkout .woocommerce form .form-row label {
    font-family: var(--font-primary, 'Poppins') !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #666 !important;
    margin-bottom: 10px !important;
    display: block !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .woocommerce form .form-row textarea {
    width: 100% !important;
    padding: 18px 20px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 16px !important;
    background: #fbfbfb !important;
    color: #222 !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text:hover,
body.woocommerce-checkout .woocommerce form .form-row select:hover,
body.woocommerce-checkout .woocommerce form .form-row textarea:hover {
    border-color: #ccc !important;
    background: #fff !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text:focus,
body.woocommerce-checkout .woocommerce form .form-row select:focus,
body.woocommerce-checkout .woocommerce form .form-row textarea:focus {
    border-color: var(--color-green, #6ca33f) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(108, 163, 63, 0.15) !important;
}

/* Fix for Select2 (WooCommerce country/state dropdowns) */
body.woocommerce-checkout .select2-container .select2-selection--single {
    height: 60px !important;
    padding: 15px 20px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    background: #fbfbfb !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 16px !important;
    color: #222 !important;
    transition: all 0.3s ease !important;
}

body.woocommerce-checkout .select2-container:hover .select2-selection--single {
    border-color: #ccc !important;
    background: #fff !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #222 !important;
    line-height: 28px !important;
    padding-left: 0 !important;
}

/* Perfect alignment for the Select2 dropdown arrow */
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
    right: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    position: static !important;
    margin: 0 !important;
}

body.woocommerce-checkout .select2-container--open .select2-selection--single {
    border-color: var(--color-green, #6ca33f) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(108, 163, 63, 0.15) !important;
}

/* Make labels turn green when their input is focused */
body.woocommerce-checkout .woocommerce form .form-row:focus-within label {
    color: var(--color-green, #6ca33f) !important;
    transition: color 0.3s ease;
}

/* Style the required asterisk elegantly */
body.woocommerce-checkout .woocommerce form .form-row label abbr.required {
    color: var(--color-green, #6ca33f) !important;
    text-decoration: none !important;
    font-weight: 700;
    margin-left: 3px;
    font-size: 14px;
}

/* Coupon Notice Bar Enhancement */
body.woocommerce-checkout .woocommerce-info {
    background: #f2f7ec !important; /* Soft green */
    border-top: 4px solid var(--color-green, #6ca33f) !important;
    color: #333 !important;
    font-family: var(--font-primary, 'Poppins') !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;
    padding: 20px 25px !important;
    margin-bottom: 30px !important;
    display: block !important;
    font-size: 15px !important;
}
body.woocommerce-checkout .woocommerce-info::before {
    display: none !important; /* Hide the broken overlapping icon */
}
body.woocommerce-checkout .woocommerce-info a {
    color: var(--color-green, #6ca33f) !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    margin-left: 5px !important;
}
body.woocommerce-checkout .woocommerce-info a:hover {
    color: var(--color-green-dark, #588533) !important;
}

/* Secure Checkout Trust Badge under button */
.rf-wizard-actions {
    text-align: center;
}
.rf-wizard-actions::after {
    content: 'ðŸ”’ Tus datos estÃ¡n encriptados y seguros';
    display: block;
    margin-top: 15px;
    font-family: var(--font-primary, 'Poppins');
    font-size: 13px;
    color: #777;
    font-weight: 500;
}

/* Headings inside the checkout form */
body.woocommerce-checkout .woocommerce form h3 {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 26px !important;
    color: #111 !important;
    margin-bottom: 25px !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    font-weight: 700 !important;
}

/* Form Row Grid (First/Last names side by side) */
body.woocommerce-checkout .woocommerce form .form-row-first {
    float: left !important;
    width: 48% !important;
}

body.woocommerce-checkout .woocommerce form .form-row-last {
    float: right !important;
    width: 48% !important;
}

/* Ensure next element clears floats */
body.woocommerce-checkout .woocommerce form .form-row-wide {
    clear: both !important;
    width: 100% !important;
}

@media (max-width: 768px) {
    body.woocommerce-checkout .woocommerce form .form-row-first,
    body.woocommerce-checkout .woocommerce form .form-row-last {
        float: none !important;
        width: 100% !important;
    }
}

/* --- PREMIUM CART PAGE STYLING (WOOCOMMERCE BLOCKS) --- */

body.woocommerce-cart .wp-block-woocommerce-cart {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto 60px auto;
    padding: 30px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* Internal layout adjustments for the block */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main {
    padding-right: 30px;
}

body.woocommerce-cart .wc-block-cart-items th {
    background: var(--color-gray-light, #f8f8f8);
    color: var(--color-dark, #222);
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 16px !important;
    text-transform: uppercase;
    padding: 15px;
    border-bottom: 2px solid var(--color-gray-border, #e2e2e2);
}

body.woocommerce-cart .wc-block-cart-items td, 
body.woocommerce-cart .wc-block-components-product-name {
    font-family: var(--font-primary, 'Poppins') !important;
    color: var(--color-dark, #222) !important;
}

/* Totals Sidebar Card */
body.woocommerce-cart .wc-block-cart__sidebar {
    background: var(--color-gray-light, #f8f8f8);
    padding: 30px;
    border-radius: 8px;
    border: 1px solid var(--color-gray-border, #e2e2e2);
}

body.woocommerce-cart .wc-block-components-totals-item {
    font-family: var(--font-primary, 'Poppins') !important;
}

body.woocommerce-cart .wc-block-components-totals-item__label,
body.woocommerce-cart .wc-block-components-totals-item__value {
    color: var(--color-dark, #222);
}

/* Checkout Button */
body.woocommerce-cart .wc-block-cart__submit-button {
    background: var(--color-green, #6ca33f) !important;
    color: #fff !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    font-size: 18px !important;
    transition: background 0.3s ease !important;
    padding: 18px 20px !important;
}

body.woocommerce-cart .wc-block-cart__submit-button:hover {
    background: var(--color-green-dark, #588533) !important;
}

@media (max-width: 768px) {
    body.woocommerce-cart .wp-block-woocommerce-cart {
        padding: 15px;
        box-shadow: none;
        width: 100%;
    }
    body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__main {
        padding-right: 0;
    }
}
/* --- FORCE RENAME QUANTITY TO Nº DE PERSONAS VIA CSS --- */
/* Classic Cart Table Header */
body.woocommerce-cart table.cart th.product-quantity {
    font-size: 0 !important;
    text-indent: -9999px !important;
}
body.woocommerce-cart table.cart th.product-quantity::after {
    content: "Nº de Personas / Tours" !important;
    font-size: 14px !important;
    text-indent: 0 !important;
    display: block !important;
    text-transform: uppercase;
    font-weight: 700;
}
/* Classic Cart Mobile data-title */
body.woocommerce-cart table.cart td.product-quantity[data-title]::before {
    content: "Nº de Personas / Tours:" !important;
}
/* WooCommerce Cart Blocks Support */
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__label {
    font-size: 0 !important;
}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__label::after {
    content: "Nº de Personas / Tours" !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

/* The block cart doesn't even have a label by default, so we INJECT one */
.wc-block-cart-item__quantity::before {
    content: "Nº de Personas / Tours:" !important;
    display: block !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--color-green, #6ca33f) !important;
    margin-bottom: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
/* Ensure the stepper buttons look premium */
.wc-block-components-quantity-selector {
    border-radius: 8px !important;
    border: 1px solid #ddd !important;
    overflow: hidden !important;
}
.wc-block-components-quantity-selector input {
    font-weight: 700 !important;
}
/* --- PREMIUM CART BLOCK STYLING --- */
/* Form and card shadows */
.wc-block-cart__totals-inner, .wc-block-cart-items {
    background: #fff !important;
    border-radius: 16px !important;
    border: none !important;
    box-shadow: 0 10px 40px rgba(0,0,0,0.04) !important;
    padding: 30px !important;
}

/* Headers */
.wc-block-cart-items th {
    color: #111 !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 14px !important;
    letter-spacing: 0.5px !important;
    border-bottom: 2px solid #eee !important;
}

/* Product Title */
.wc-block-components-product-name {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin-bottom: 10px !important;
    text-decoration: none !important;
}

/* Metadata (Departure Date) */
.wc-block-components-product-details {
    margin-top: 10px !important;
    background: #fdfdfd !important;
    border-left: 3px solid var(--color-green, #6ca33f) !important;
    padding: 10px 12px !important;
    border-radius: 4px !important;
    border: 1px solid #f0f0f0 !important;
    border-left-width: 3px !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 14px !important;
    color: #333 !important;
}
.wc-block-components-product-details__name {
    font-weight: 700 !important;
    color: #111 !important;
}

/* Price */
.wc-block-cart-item__total .wc-block-components-product-price {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--color-green, #6ca33f) !important;
}

/* Cart Totals Title */
.wc-block-cart__totals-title {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #111 !important;
    border-bottom: none !important;
}

/* Estimated Total */
.wc-block-components-totals-item__value {
    font-size: 24px !important;
    font-weight: 800 !important;
    color: var(--color-green, #6ca33f) !important;
}
.wc-block-components-totals-item__label {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #444 !important;
}

/* Proceed to Checkout Button */
.wc-block-cart__submit-button {
    background: var(--color-green, #6ca33f) !important;
    color: #fff !important;
    border: none !important;
    padding: 22px 30px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    font-family: var(--font-heading, 'Maven Pro') !important;
    box-shadow: 0 6px 20px rgba(108, 163, 63, 0.3) !important;
    transition: all 0.3s ease !important;
}
.wc-block-cart__submit-button:hover {
    background: var(--color-green-dark, #588533) !important;
    box-shadow: 0 8px 25px rgba(108, 163, 63, 0.4) !important;
    transform: translateY(-2px) !important;
}

/* Remove item link */
.wc-block-cart-item__remove-link {
    color: #e53e3e !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    margin-top: 15px !important;
    display: inline-block !important;
}
.wc-block-cart-item__remove-link:hover {
    color: #c53030 !important;
    text-decoration: underline !important;
}
/* --- PREMIUM ORDER REVIEW (PASARELA STEP) --- */

/* "Your Order" Heading (Ultra Premium) */
body.woocommerce-checkout h3#order_review_heading,
body.woocommerce-page #order_review_heading,
.woocommerce h3#order_review_heading,
#order_review_heading {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    color: var(--color-green, #6ca33f) !important;
    margin-bottom: 35px !important;
    padding-bottom: 15px !important;
    border-bottom: none !important;
    text-align: center !important;
    position: relative !important;
    letter-spacing: -0.5px !important;
    line-height: 1.2 !important;
    display: block !important;
}
/* Elegant short green underline for the title */
#order_review_heading::after {
    content: "";
    display: block;
    width: 60px;
    height: 4px;
    background: var(--color-green, #6ca33f);
    margin: 12px auto 0 auto;
    border-radius: 2px;
}

/* Order Review Table Container */
table.shop_table.woocommerce-checkout-review-order-table {
    border: none !important;
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 25px rgba(0,0,0,0.03) !important;
    margin-bottom: 40px !important;
    overflow: hidden !important;
}

/* Table Headers (Product / Subtotal) */
table.shop_table.woocommerce-checkout-review-order-table thead th {
    background: #fdfdfd !important;
    color: #888 !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    padding: 15px 25px !important;
}

/* Table Rows & Cells */
table.shop_table.woocommerce-checkout-review-order-table tbody td,
table.shop_table.woocommerce-checkout-review-order-table tfoot td,
table.shop_table.woocommerce-checkout-review-order-table tfoot th {
    border: none !important;
    border-bottom: 1px solid #f5f5f5 !important;
    padding: 20px 25px !important;
    vertical-align: middle !important;
}

/* Product Name */
table.shop_table.woocommerce-checkout-review-order-table td.product-name {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #111 !important;
    line-height: 1.4 !important;
}

/* Product Quantity (The x3) */
table.shop_table.woocommerce-checkout-review-order-table strong.product-quantity {
    display: inline-block !important;
    background: #eaf3e3 !important;
    color: var(--color-green, #6ca33f) !important;
    padding: 4px 10px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    margin-left: 10px !important;
    vertical-align: middle !important;
}

/* Metadata (Departure Date) in Checkout */
table.shop_table.woocommerce-checkout-review-order-table dl.variation,
table.shop_table.woocommerce-checkout-review-order-table .wc-item-meta {
    margin-top: 12px !important;
    margin-bottom: 0 !important;
    background: #fdfdfd !important;
    border-left: 3px solid var(--color-green, #6ca33f) !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 13px !important;
    color: #555 !important;
    display: block !important;
}
table.shop_table.woocommerce-checkout-review-order-table dl.variation p,
table.shop_table.woocommerce-checkout-review-order-table .wc-item-meta p {
    margin: 0 !important;
}

/* Subtotal & Totals */
table.shop_table.woocommerce-checkout-review-order-table tfoot th {
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 15px !important;
    color: #444 !important;
    font-weight: 600 !important;
    text-align: left !important;
}
table.shop_table.woocommerce-checkout-review-order-table .order-total th {
    font-size: 18px !important;
    color: #111 !important;
}
table.shop_table.woocommerce-checkout-review-order-table .order-total td span.amount {
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--color-green, #6ca33f) !important;
    display: block !important;
}

/* --- PAYMENT SECTION (PASARELA) --- */
#payment.woocommerce-checkout-payment {
    background: #fcfcfc !important;
    border-radius: 12px !important;
    border: 1px solid #eee !important;
    padding: 30px !important;
    box-shadow: 0 5px 25px rgba(0,0,0,0.02) !important;
}

/* Payment Method Titles */
#payment .wc_payment_methods li.wc_payment_method > label {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #222 !important;
    cursor: pointer !important;
}

/* Payment Box Description */
#payment .payment_box {
    background: #fff !important;
    color: #555 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    border: 1px solid #eaeaea !important;
    border-left: 4px solid var(--color-green, #6ca33f) !important;
    border-radius: 6px !important;
    padding: 15px 20px !important;
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}
#payment .payment_box::before {
    display: none !important; /* Hide default woocommerce triangle */
}

/* Privacy Policy */
.woocommerce-privacy-policy-text {
    font-family: var(--font-primary, 'Poppins') !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    color: #888 !important;
    margin-top: 25px !important;
    margin-bottom: 25px !important;
    text-align: center !important;
    font-style: italic !important;
}

/* Final Place Order Button */
#payment #place_order {
    background: var(--color-green, #6ca33f) !important;
    color: #fff !important;
    border: none !important;
    padding: 22px 30px !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    font-family: var(--font-heading, 'Maven Pro') !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    width: 100% !important;
    box-shadow: 0 6px 20px rgba(108, 163, 63, 0.3) !important;
    transition: all 0.3s ease !important;
}
#payment #place_order:hover {
    background: var(--color-green-dark, #588533) !important;
    box-shadow: 0 8px 25px rgba(108, 163, 63, 0.4) !important;
    transform: translateY(-2px) !important;
}
/* --- PREMIUM ORDER RECEIVED (THANK YOU PAGE) DETAILS --- */
.woocommerce-order-details {
    margin-bottom: 40px !important;
}

/* Billing Address Section */
.woocommerce-customer-details {
    background: #fdfdfd !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 25px rgba(0,0,0,0.03) !important;
    padding: 30px !important;
    margin-top: 40px !important;
    border: 1px solid #f0f0f0 !important;
    border-top: 4px solid var(--color-green, #6ca33f) !important;
}

/* Billing Address Title */
.woocommerce-customer-details h2,
.woocommerce-customer-details .woocommerce-column__title {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #111 !important;
    margin-bottom: 20px !important;
    padding-bottom: 15px !important;
    border-bottom: 1px solid #eee !important;
}

/* Address Block */
.woocommerce-customer-details address {
    font-family: var(--font-primary, 'Poppins') !important;
    font-style: normal !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
    color: #444 !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Emphasize Phone and Email */
.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
    margin-top: 15px !important;
    padding-top: 15px !important;
    border-top: 1px dashed #e5e5e5 !important;
    display: block !important;
    font-weight: 600 !important;
    color: #222 !important;
    font-size: 15px !important;
}

/* Adding subtle icons using pseudo-elements */
.woocommerce-customer-details--phone::before {
    content: '\260E'; /* Unicode telephone */
    margin-right: 8px;
    color: var(--color-green, #6ca33f);
    font-size: 18px;
    vertical-align: middle;
}
.woocommerce-customer-details--email::before {
    content: '\2709'; /* Unicode envelope */
    margin-right: 8px;
    color: var(--color-green, #6ca33f);
    font-size: 18px;
    vertical-align: middle;
}

/* General spacing for the Thank You notice */
.woocommerce-thankyou-order-received {
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 20px !important;
    color: var(--color-green, #6ca33f) !important;
    background: #eaf3e3 !important;
    padding: 20px !important;
    border-radius: 8px !important;
    text-align: center !important;
    border: 1px dashed var(--color-green, #6ca33f) !important;
    margin-bottom: 35px !important;
}

/* Order Details Table on Thank You Page */
.woocommerce-table--order-details {
    background: #fff !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 25px rgba(0,0,0,0.03) !important;
    border: none !important;
    overflow: hidden !important;
}
.woocommerce-table--order-details th {
    background: #fdfdfd !important;
    color: #111 !important;
    font-family: var(--font-heading, 'Maven Pro') !important;
    font-size: 16px !important;
    padding: 15px 20px !important;
    border-bottom: 2px solid #eee !important;
}
.woocommerce-table--order-details td {
    padding: 15px 20px !important;
    border-bottom: 1px solid #f5f5f5 !important;
    font-family: var(--font-primary, 'Poppins') !important;
    color: #444 !important;
}
.woocommerce-table--order-details tfoot th {
    background: #fafafa !important;
    text-align: right !important;
    font-weight: 700 !important;
}
.woocommerce-table--order-details tfoot td {
    background: #fafafa !important;
    font-weight: 700 !important;
    color: var(--color-green, #6ca33f) !important;
    font-size: 18px !important;
}

/* Legal Pages Styling (Terms, Privacy, etc.) */
.legal-hero {
    position: relative;
    padding: 120px 0 80px;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    color: #fff;
    text-align: center;
}
.legal-hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.6);
}
.legal-hero h1 {
    font-family: var(--font-heading);
    font-size: clamp(32px, 5vw, 48px);
    margin-bottom: 10px;
    color: #fff;
}
.legal-hero p {
    font-size: 16px;
    opacity: 0.8;
}

.legal-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 50px;
    align-items: start;
}

.legal-sidebar {
    position: sticky;
    top: 100px;
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    border: 1px solid #eee;
}
.legal-sidebar h3 {
    font-family: var(--font-heading);
    font-size: 18px;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--color-green);
    color: var(--color-dark);
}
.legal-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}
.legal-sidebar ul li {
    margin-bottom: 12px;
}
.legal-sidebar ul li a {
    color: var(--color-gray-text);
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s ease;
    display: block;
    line-height: 1.4;
}
.legal-sidebar ul li a:hover,
.legal-sidebar ul li a.active {
    color: var(--color-green);
    font-weight: 600;
    padding-left: 10px;
}

.legal-document {
    background: #fff;
    padding: 50px;
    border-radius: 12px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    border: 1px solid #eee;
}
.legal-document h2 {
    font-family: var(--font-heading);
    color: var(--color-dark);
    font-size: 24px;
    margin-top: 40px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eaeaea;
}
.legal-document h2:first-child {
    margin-top: 0;
}
.legal-document p, 
.legal-document ul li {
    color: var(--color-gray-text);
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 15px;
}
.legal-document ul {
    padding-left: 20px;
    margin-bottom: 30px;
}
.legal-document ul li {
    position: relative;
    list-style-type: disc;
    margin-bottom: 10px;
}

@media (max-width: 991px) {
    .legal-grid {
        grid-template-columns: 1fr;
    }
    .legal-sidebar {
        position: relative;
        top: 0;
        margin-bottom: 40px;
    }
    .legal-document {
        padding: 30px;
    }
}
