/*
Theme Name: Bridge Child
Theme URI: http://bridgelanding.qodeinteractive.com/
Description: A child theme of Bridge Theme
Author: Qode Interactive
Author URI: https://qodeinteractive.com
Version: 1.0.0
Text Domain: bridge
Template: bridge
*/

/* ==========================================================================
   PAGE: ORDER RECEIVED (THANK YOU PAGE)
   ========================================================================== */

body.woocommerce-order-received .content_wrapper {
    background-color: #f9f9f9 !important;
}

body.woocommerce-order-received .woocommerce-order {
    max-width: 800px;
    margin: 40px auto;
    background: #fff;
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

/* Success Message */
body.woocommerce-order-received .woocommerce-thankyou-order-received {
    color: #E21B22;
    font-size: 1.8em;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f1f1f1;
}

body.woocommerce-order-received .woocommerce-thankyou-order-received::before {
    content: '✓';
    display: block;
    font-size: 2em;
    margin-bottom: 10px;
}

/* Order Overview List */
body.woocommerce-order-received ul.woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 30px 0;
    background: #fff5f5;
    padding: 20px;
    border-radius: 8px;
    border-left: 5px solid #E21B22;
}

body.woocommerce-order-received ul.woocommerce-order-overview li {
    font-size: 0.9em;
    text-transform: uppercase;
    color: #555;
    border: none !important;
    padding: 10px;
    flex: 1 1 200px;
}

body.woocommerce-order-received ul.woocommerce-order-overview li strong {
    display: block;
    font-size: 1.2em;
    color: #333;
    text-transform: none;
    margin-top: 5px;
}

/* Order Details Table */
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title {
    font-size: 1.5em;
    color: #333;
    margin-top: 40px;
    margin-bottom: 20px;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
}

body.woocommerce-order-received .shop_table.order_details {
    width: 100%;
    border-collapse: collapse;
    border: none !important;
}

body.woocommerce-order-received .shop_table.order_details thead th {
    background: #fdfdfd;
    padding: 15px;
    text-align: left;
    border-bottom: 2px solid #eee;
}

body.woocommerce-order-received .shop_table.order_details tbody td {
    padding: 15px;
    border-bottom: 1px solid #eee;
}

body.woocommerce-order-received .shop_table.order_details tfoot th {
    text-align: left;
    padding: 15px;
    border-top: 1px solid #eee;
}

body.woocommerce-order-received .shop_table.order_details tfoot td {
    text-align: right;
    padding: 15px;
    font-weight: bold;
}

body.woocommerce-order-received .shop_table.order_details tfoot tr:last-child th,
body.woocommerce-order-received .shop_table.order_details tfoot tr:last-child td {
    font-size: 1.4em;
    color: #E21B22;
}

/* Page: Order Received - Responsive */
@media (max-width: 600px) {
    body.woocommerce-order-received .woocommerce-order {
        padding: 20px;
        margin: 20px 10px;
    }

    body.woocommerce-order-received ul.woocommerce-order-overview li {
        flex: 1 1 100%;
        border-bottom: 1px solid #eee;
    }
}

/* ==========================================================================
   PAGE: SINGLE PRODUCT
   ========================================================================== */

.single-product div.product .summary .product_title {
    margin-bottom: 5px !important;
}

.single-product div.product .summary .woocommerce-product-details__short-description {
    margin-bottom: 20px !important;
    color: #444;
    font-size: 1.1em;
}

.single-product div.product .summary .price {
    display: block;
    margin-bottom: 20px !important;
    font-size: 1.6em;
    font-weight: 600;
    color: #E21B22;
}

.single-product div.product form.cart {
    margin-top: 15px !important;
    padding-top: 15px;
}

.single-product .variations {
    margin-bottom: 20px !important;
}

/* Custom Description Styling - Targeting both old and new classes due to sync issues */
.bridge-child-description,
.bridge-child-description-wrap {
    display: block !important;
    text-align: center !important;
    margin: 25px 0 35px !important;
    padding: 25px !important;
    background: #f9f9f9 !important;
    border-radius: 8px !important;
    border: 1px solid #eeeeee !important;
    font-size: 1.1em !important;
    line-height: 1.6 !important;
    color: #444 !important;
    width: 100% !important;
    clear: both !important;
}

/* Center all child elements */
.bridge-child-description *,
.bridge-child-description-wrap * {
    text-align: center !important;
}

/* Hide the duplicate "Descripción:" title if it exists as an h4 */
.bridge-child-description h4,
.bridge-child-description-wrap h4 {
    display: none !important;
}

.bridge-child-description p,
.bridge-child-description-wrap p {
    margin-bottom: 0 !important;
}

/* Product Price: Hide only the main price choice at the top, keep selected variations visible */
.single-product .summary>.price,
.single-product .summary>p.price {
    display: none !important;
}

/* --- Product Page Checkout-Style Refinement --- */
body.single-product {
    background-color: #f7f9fc !important;
    /* Matches checkout background */
}

/* Main Product Layout (Bulletproof Side-by-Side) */
.single-product div.product {
    display: flex !important;
    flex-flow: row nowrap !important;
    /* Force side-by-side, NO WRAPPING */
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 40px !important;
    /* Fixed gap for cleaner layout */
    max-width: 1250px !important;
    /* Back to centered grid */
    margin: 40px auto !important;
    width: 100% !important;
}

/* Clear theme-specific obstacles */
.single-product div.product::after,
.single-product div.product::before {
    display: none !important;
    content: none !important;
}

/* Image Column (Optimized to approx 45% of centered container) */
.single-product div.product .images {
    width: 45% !important;
    flex: 0 0 45% !important;
    max-width: 45% !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
}

/* Summary Card Column (Forced to fill ALL remaining space) */
.single-product .summary.entry-summary {
    background: #fff !important;
    padding: 35px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    border: 1px solid #eef2f6 !important;
    flex: 1 1 auto !important;
    /* Grows to fill 100% of remaining width */
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
}

/* Fix Description Box Layout & Spacing */
.bridge-child-description,
.bridge-child-description-wrap {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    margin: 10px 0 20px !important;
    /* Reduced vertical margins */
    padding: 18px !important;
    /* Slightly more compact padding */
}

/* Product Titles & Headings */
.single-product .product_title {
    color: #011e41 !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    /* Tighter spacing */
}

/* Tighter description spacing */
.single-product .summary .woocommerce-product-details__short-description {
    margin-bottom: 15px !important;
}

/* Labels e Inputs */
/* Variation Labels & Alignment (v1.5.1) */
.single-product .summary label {
    font-weight: 600 !important;
    color: #011e41 !important;
    margin-bottom: 5px !important;
    display: inline-block !important;
    /* On same line as value */
    vertical-align: middle;
}

/* Selected Value Text (Next to Title) */
.woo-variation-swatches-variable-item-label {
    display: inline-block !important;
    margin-left: 8px !important;
    font-weight: 400 !important;
    color: #666 !important;
    vertical-align: middle;
}

/* --- Variation Selectors Refactor (v2.1.0) --- */

/* 0. Dropdown Styling (Restored) */
.single-product .variations select {
    border: 1px solid #d1d9e2 !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    /* Slightly more compact */
    background-color: #fbfcff !important;
    width: 100% !important;
    font-size: 15px !important;
    margin-top: 5px !important;
}

/* Visual verification that this specific version is loading */
body.single-product::before {
    content: "DISEÑO V.2.1.0 CARGADO";
    display: none;
}

/* 1. Reset all containers to be STOICALLY INVISIBLE (Removes "Double Box") */
#product-411 .variations .value .variable-items-wrapper li.variable-item,
#product-411 .variations .value .variable-items-wrapper li.variable-item .variable-item-contents,
body.single-product .variations .value .variable-items-wrapper li.variable-item,
body.single-product .variations .value .variable-items-wrapper li.variable-item .variable-item-contents {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-width: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    overflow: visible !important;
    display: inline-flex !important;
}

/* 2. Positioning: Applied to the LI */
#product-411 .variations .value .variable-items-wrapper li.variable-item,
body.single-product .variations .value .variable-items-wrapper li.variable-item {
    margin-right: 15px !important;
    margin-bottom: 15px !important;
}

/* 3. The Actual Selector (SPAN): Clean White Rectangles (Sized Down - v2.1.0) */
#product-411 .variations .value .variable-items-wrapper li.variable-item span,
body.single-product .variations .value .variable-items-wrapper li.variable-item span {
    border: 1px solid #d1d9e2 !important;
    border-radius: 0 !important;
    padding: 6px 14px !important;
    /* Even smaller as per "stilo que tenia antes" */
    font-size: 13px !important;
    /* Slightly smaller font */
    font-weight: 500 !important;
    background-color: #ffffff !important;
    color: #444444 !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 80px;
    /* More compact */
    box-shadow: none !important;
    cursor: pointer !important;
}

/* 4. Selected State: Full Corporate Blue (v2.0.0) */
#product-411 .variations .value .variable-items-wrapper li.variable-item.selected span,
body.single-product .variations .value .variable-items-wrapper li.variable-item.selected span {
    background-color: #011e41 !important;
    /* Solid Corporate Blue */
    color: #ffffff !important;
    /* Pure White Text */
    border: 1px solid #011e41 !important;
}

/* 5. Hover Effect */
#product-411 .variations .value .variable-items-wrapper li.variable-item:hover span {
    border-color: #011e41 !important;
}

/* 6. Strict Cleanup of Pseudo-elements */
.variable-item:before,
.variable-item:after,
.variable-item-contents:before,
.variable-item-contents:after,
.reset_variations {
    display: none !important;
    height: 0 !important;
    content: none !important;
    visibility: hidden !important;
}

/* Dynamic Variation Price Styling */
.woocommerce-variation-price .amount {
    color: #f5333f !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    margin: 20px 0 !important;
    display: block !important;
}

/* Premium "Realizar Pago" Button (Matches Checkout) */
.single-product .single_add_to_cart_button {
    background-color: #f5333f !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 0 45px !important;
    height: 70px !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    width: auto !important;
    min-width: 260px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 30px 0 !important;
    border: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

.single-product .single_add_to_cart_button:hover {
    background-color: #d32f2f !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(245, 51, 63, 0.3) !important;
}

/* --- Block Checkout Replication (Direct Template Layout) --- */
.woocommerce-checkout {
    padding: 20px 0 80px !important;
}

/* HIDDEN ELEMENTS */
.woocommerce-additional-fields,
#shipping_address_2_field,
#billing_address_2_field,
#order_review_heading {
    display: none !important;
}

/* Flexbox Grid (65/35) */
.checkout-layout-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    align-items: flex-start !important;
}

.checkout-main-column {
    flex: 0 0 calc(65% - 15px) !important;
    max-width: calc(65% - 15px) !important;
    display: block !important;
    clear: both !important;
}

.checkout-sidebar-column {
    flex: 0 0 calc(35% - 15px) !important;
    max-width: calc(35% - 15px) !important;
    position: sticky !important;
    top: 40px !important;
}

/* Block Card Styling */
.checkout-block-card {
    background: #fff !important;
    padding: 30px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
    border: 1px solid #eef2f6 !important;
    margin-bottom: 30px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    position: relative !important;
    overflow: hidden !important;
    display: inline-block !important;
}

/* Ensure billing form fills the card width (Overriding theme .col-1 width) */
.checkout-block-card .col-1,
.woocommerce-billing-fields,
.woocommerce-billing-fields__field-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
}

/* Box Headings */
.checkout-block-card h3,
.payment-heading,
#order_summary_heading {
    color: #011e41 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-bottom: 2px solid #f5333f !important;
    padding-bottom: 12px !important;
    margin-bottom: 35px !important;
    display: block !important;
    width: auto !important;
}

/* First/Last Name, DNI/Phone Row Spacing (48% each with 4% clear gap) */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: 48% !important;
    max-width: none !important;
    float: none !important;
    display: inline-block !important;
    vertical-align: top !important;
    margin-bottom: 30px !important;
}

.woocommerce-checkout .form-row-first {
    margin-right: 4% !important;
}

/* Full Width Fields (Email) */
.woocommerce-checkout .form-row-wide {
    width: 100% !important;
    max-width: none !important;
    display: block !important;
    clear: both !important;
    margin-bottom: 30px !important;
}

/* Form Styling - Increasing prominence */
.woocommerce-checkout .form-row label {
    font-weight: 600 !important;
    color: #011e41 !important;
    margin-bottom: 12px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select {
    border: 1px solid #d1d9e2 !important;
    border-radius: 8px !important;
    padding: 18px 22px !important;
    /* Premium feel, fills card nicely */
    background-color: #fbfcff !important;
    width: 100% !important;
    font-size: 16px !important;
    box-sizing: border-box !important;
}

/* Payment Methods & Redsys Icon Polish */
.wc_payment_methods li {
    padding: 20px 0 !important;
    border-bottom: 1px solid #eef2f6 !important;
    /* Elegant separator line */
}

.wc_payment_methods li img {
    margin-left: 12px !important;
    margin-bottom: 2px !important;
    vertical-align: middle !important;
}

/* Prices */
.order-total strong,
.order-total .amount {
    color: #f5333f !important;
    font-size: 28px !important;
    font-weight: 800 !important;
}

/* Premium Place Order Button - Center Text & Precision Layout */
#place_order {
    background-color: #f5333f !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 0 45px !important;
    /* Height handled by height/line-height */
    height: 70px !important;
    /* Rock-solid height */
    font-size: 18px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    width: auto !important;
    min-width: 250px !important;
    display: flex !important;
    /* FLEX for centering */
    align-items: center !important;
    justify-content: center !important;
    margin: 35px 0 10px !important;
    /* LEFT ALIGNED button */
    border: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    text-align: center !important;
    letter-spacing: 0.5px !important;
}

#place_order:hover {
    background-color: #011e41 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(245, 51, 63, 0.2) !important;
}

/* Mobile Responsive */
@media (max-width: 991px) {

    /* Force checkout fields into a single column on mobile */
    .woocommerce .form-row-first,
    .woocommerce .form-row-last,
    .woocommerce-page .form-row-first,
    .woocommerce-page .form-row-last,
    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100% !important;
        float: none !important;
        clear: both !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    /* Fix Place Order button on Mobile (iPhone 12 Pro etc) */
    #place_order {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        /* Reset the 250px min-width */
        padding: 0 20px !important;
        /* Smaller padding on mobile */
        box-sizing: border-box !important;
    }

    .checkout-main-column,
    .checkout-sidebar-column {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        position: static !important;
    }

    .checkout-layout-wrapper {
        gap: 0 !important;
    }

    /* Product Page Mobile Stacking */
    .single-product div.product {
        flex-direction: column !important;
        align-items: center !important;
    }

    .single-product div.product .images,
    .single-product .summary.entry-summary {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 20px !important;
    }

    /* Variation Selectors Mobile */
    .single-product .variations tr {
        display: block !important;
        margin-bottom: 25px !important;
        /* Space between each field/group */
    }

    .single-product .variations td {
        display: block !important;
        width: 100% !important;
        padding-bottom: 0 !important;
    }

    .single-product .variations label {
        margin-bottom: 15px !important;
        /* Space below the label */
        display: block !important;
        /* Put label on its own line */
    }

    .single-product .variations .value .variable-items-wrapper {
        margin-bottom: 25px !important;
        display: block !important;
        /* Revert flex */
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
        padding: 0 !important;
    }

    /* Force the list items to take full width */
    html body.single-product .variations .value .variable-items-wrapper li.variable-item,
    html body.single-product #product-411 .variations .value .variable-items-wrapper li.variable-item {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        /* Reset 30px hardcoded plugin height */
        min-height: 60px !important;
        /* Ensure it contains the span */
        line-height: normal !important;
        margin-bottom: 15px !important;
        /* Safe space between them */
        padding-bottom: 0 !important;
        border: none !important;
        float: none !important;
        clear: both !important;
    }

    /* Target the inner container just in case it restricts height */
    html body.single-product .variations .value .variable-items-wrapper li.variable-item .variable-item-contents,
    html body.single-product #product-411 .variations .value .variable-items-wrapper li.variable-item .variable-item-contents {
        display: block !important;
        height: auto !important;
        min-height: 60px !important;
    }

    /* Target the text span to be full width and add spacing here */
    html body.single-product .variations .value .variable-items-wrapper li.variable-item span,
    html body.single-product #product-411 .variations .value .variable-items-wrapper li.variable-item span {
        display: block !important;
        padding: 16px 14px !important;
        margin-bottom: 0 !important;
        font-size: 15px !important;
        height: auto !important;
        /* Reset height */
        line-height: normal !important;
        min-width: unset !important;
        width: 100% !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    /* Add to Card Button & Price Mobile */
    .single-product .single_add_to_cart_button {
        width: 100% !important;
        min-width: 100% !important;
        font-size: 16px !important;
    }

    /* Footer Mobile Stacking */
    .site-footer-custom .three_columns {
        flex-direction: column !important;
        gap: 40px !important;
    }

    .site-footer-custom .three_columns .footer_col {
        width: 100% !important;
        text-align: center !important;
    }

    .site-footer-custom .column1.footer_col,
    .site-footer-custom .column3.footer_col {
        text-align: center !important;
    }

    .footer-contact-list li {
        justify-content: center !important;
        align-items: center !important;
    }
}

/* --- Footer Replication (v2.3.0) --- */

.custom-footer-wrapper {
    width: 100%;
    clear: both;
}

/* Pre-Footer: Conocenos */
.pre-footer-conocenos {
    background-color: #ffffff !important;
    padding: 60px 0 !important;
    text-align: center !important;
    border-top: 1px solid #eeeeee;
}

.pre-footer-conocenos h2 {
    font-size: 32px !important;
    color: #011e41 !important;
    margin-bottom: 15px !important;
    font-weight: 700 !important;
}

.pre-footer-conocenos p {
    font-size: 18px !important;
    color: #666666 !important;
    margin-bottom: 30px !important;
}

.pre-footer-conocenos .red-button {
    background-color: #f5333f !important;
    color: #ffffff !important;
    padding: 15px 30px !important;
    border-radius: 4px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    display: inline-block !important;
    transition: background-color 0.3s ease !important;
}

.pre-footer-conocenos .red-button:hover {
    background-color: #d12b35 !important;
}

.pre-footer-social {
    margin-top: 30px !important;
}

.pre-footer-social .social-icon {
    display: inline-flex !important;
    width: 40px !important;
    height: 40px !important;
    background-color: #f5333f !important;
    color: #ffffff !important;
    border-radius: 50% !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 10px !important;
    font-size: 18px !important;
    transition: opacity 0.3s ease !important;
}

.pre-footer-social .social-icon.facebook {
    background-color: #3b5998 !important;
}

.pre-footer-social .social-icon.instagram {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}

.pre-footer-social .social-icon.twitter {
    background-color: #000000 !important;
}

.pre-footer-social .social-icon:hover {
    opacity: 0.8 !important;
}

/* Main Footer */
.site-footer-custom {
    background-color: #011e41 !important;
    /* Matches original Navy Blue */
    color: #ffffff !important;
    padding: 60px 0 0 0 !important;
    font-family: inherit;
}

.site-footer-custom .container_inner {
    padding: 0 !important;
}

.site-footer-custom .three_columns {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 80px !important;
    /* Reduces space between text and logo */
}

.site-footer-custom .three_columns .footer_col {
    width: auto !important;
    /* Override default 33.33% */
    float: none !important;
    /* Override default float */
    padding-bottom: 0 !important;
    margin-bottom: 20px !important;
}

.site-footer-custom .column1.footer_col {
    text-align: left !important;
}

.site-footer-custom .column2.footer_col {
    text-align: center !important;
}

.site-footer-custom .column3.footer_col {
    text-align: left !important;
}

.footer-links-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-links-list li {
    margin-bottom: 20px !important;
    /* Increased spacing */
}

.footer-links-list li a {
    color: #ffffff !important;
    font-size: 17px !important;
    /* Larger font */
    font-weight: 300 !important;
    /* Thinner font */
    text-decoration: none !important;
    letter-spacing: 0.5px !important;
}

.footer-links-list li a:hover {
    text-decoration: underline !important;
}

.footer-cm-logo {
    max-width: 190px !important;
    /* Slightly smaller logo */
    height: auto !important;
}

.footer-contact-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-contact-list li {
    margin-bottom: 20px !important;
    /* Increased spacing */
    font-size: 17px !important;
    /* Larger font */
    font-weight: 300 !important;
    /* Thinner font */
    color: #ffffff !important;
    display: flex !important;
    align-items: flex-start !important;
    letter-spacing: 0.5px !important;
}

.footer-contact-list li a {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* --- Mobile Footer Adjustments --- */
@media (max-width: 768px) {

    /* Reduce overall footer padding */
    .site-footer-custom {
        padding: 30px 0 0 0 !important;
    }

    /* Reduce gap between columns */
    .site-footer-custom .three_columns {
        gap: 30px !important;
    }

    /* Center text in Column 1 (Links) and Column 3 (Contact) vertically and horizontally */
    .site-footer-custom .column1.footer_col,
    .site-footer-custom .column3.footer_col {
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Ensure specific lists also center their content */
    .footer-links-list,
    .footer-contact-list {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    /* Center contact list items specifically */
    .footer-contact-list li {
        justify-content: center !important;
        text-align: center !important;
    }
}

.footer-icon-red {
    color: #f5333f !important;
    margin-right: 15px !important;
    /* More space */
    margin-top: 4px !important;
    font-size: 20px !important;
    /* Larger icon */
    width: 22px !important;
    text-align: center !important;
}

/* Footer Bottom */
.footer_bottom_holder_custom {
    background-color: transparent !important;
    /* Matches main */
    padding: 30px 0 40px 0 !important;
    border-top: none !important;
    text-align: center !important;
}

.copyright-text {
    font-size: 15px !important;
    color: #ffffff !important;
    /* White text */
    margin-bottom: 15px !important;
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
}

.legal-links {
    font-size: 15px !important;
    color: #ffffff !important;
    /* White pipes */
    font-weight: 300 !important;
    letter-spacing: 0.5px !important;
}

.legal-links a {
    color: #f5333f !important;
    /* Red links */
    text-decoration: none !important;
    margin: 0 10px !important;
    /* More space around pipes */
}

.legal-links a:hover {
    text-decoration: underline !important;
}

/* Hide original theme footer if it still appears */
footer:not(.site-footer-custom) {
    display: none !important;
}

/* --- Added to Cart Notice Refactor (v2.4.0) --- */
.woocommerce-message .button.wc-forward {
    display: none !important;
}

/* --- Remove White Space Below Footer (v2.5.0) --- */
html,
body {
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
}

.wrapper,
.wrapper_inner,
.content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* --- Inline Checkout Form Validation (v2.6.0) --- */
/* Add space for the inline message */
.woocommerce-checkout .form-row.woocommerce-invalid {
    position: relative !important;
    padding-bottom: 30px !important;
}

/* Red border for empty/invalid fields */
.woocommerce-checkout .form-row.woocommerce-invalid input,
.woocommerce-checkout .form-row.woocommerce-invalid select {
    border-color: #f5333f !important;
    box-shadow: 0 0 5px rgba(245, 51, 63, 0.1) !important;
}

/* Hide theme's or WooCommerce's own inline error text if it overlaps */
.woocommerce-checkout .form-row.woocommerce-invalid .woocommerce-error,
.woocommerce-checkout .form-row.woocommerce-invalid .show-if-invalid {
    display: none !important;
}

/* Display the inline message (FORCE RED) */
.woocommerce-checkout .form-row.woocommerce-invalid-required-field::after {
    content: "Este campo es requerido." !important;
    color: #f5333f !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    position: absolute !important;
    bottom: 5px !important;
    left: 4px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    display: block !important;
    line-height: 1 !important;
}/* --- Checkout Product Thumbnails (v5.0 - JS Flex Stack) --- */
.woocommerce-checkout-review-order-table tbody td.product-name {
    padding: 20px !important;
    border: none !important;
}

/* Hide the Subtotal row in the footer completely */
.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal {
    display: none !important;
}

/* Base styles for the variation grid box extracted by JS */
.woocommerce-checkout table.shop_table dl.variation {
    display: grid !important;
    grid-template-columns: minmax(80px, auto) 1fr !important;
    gap: 8px 12px !important;
    margin: 0 auto !important;
    padding: 15px !important;
    background: #fbfbfb !important;
    border-radius: 6px !important;
    border: 1px solid #eaeaea !important;
    width: 100% !important;
    box-sizing: border-box !important;
    text-align: left !important;
}

.woocommerce-checkout table.shop_table dl.variation dt {
    font-weight: 600 !important;
    color: #444 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    text-align: left !important;
}

.woocommerce-checkout table.shop_table dl.variation dd {
    font-weight: 400 !important;
    color: #555 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    text-align: left !important;
}

.woocommerce-checkout table.shop_table dl.variation dd p {
    margin: 0 !important;
}

/* --- Order Details (Thank You / My Account) Layout --- */
.woocommerce-order-details .woocommerce-table--order-details,
.woocommerce-table.woocommerce-table--order-details {
    table-layout: fixed !important;
    width: 100% !important;
}

.woocommerce-table.woocommerce-table--order-details th.woocommerce-table__product-name,
.woocommerce-table.woocommerce-table--order-details td.woocommerce-table__product-name {
    width: 60% !important;
}

.woocommerce-table.woocommerce-table--order-details th.woocommerce-table__product-total,
.woocommerce-table.woocommerce-table--order-details td.woocommerce-table__product-total {
    width: 40% !important;
    text-align: right !important;
}

/* Widen and flex variation list so text is not squished */
.woocommerce-table.woocommerce-table--order-details td.woocommerce-table__product-name ul.wc-item-meta,
.woocommerce-table.woocommerce-table--order-details td.woocommerce-table__product-name dl.variation {
    display: flex !important;
    flex-wrap: wrap !important;
    column-gap: 15px !important;
    row-gap: 5px !important;
    margin-top: 10px !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.woocommerce-table.woocommerce-table--order-details dl.variation dt,
.woocommerce-table.woocommerce-table--order-details dl.variation dd,
.woocommerce-table.woocommerce-table--order-details ul.wc-item-meta li {
    display: inline-block !important;
    margin-bottom: 0 !important;
    clear: none !important;
}
.woocommerce-table.woocommerce-table--order-details dl.variation dd,
.woocommerce-table.woocommerce-table--order-details ul.wc-item-meta li {
    margin-right: 15px !important;
}
.woocommerce-table.woocommerce-table--order-details dl.variation dd p,
.woocommerce-table.woocommerce-table--order-details ul.wc-item-meta li p {
    display: inline !important;
    margin: 0 !important;
}

/* --- Visual Reordering of Order Received Page --- */
/* Visually box the bank and customer details */
.woocommerce-bacs-bank-details,
.woocommerce-customer-details {
    background-color: #fcfcfc !important;
    padding: 25px !important;
    border: 1px solid #eeeeee !important;
    border-radius: 8px !important;
    margin-bottom: 30px !important;
    margin-top: 10px !important;
}