/*
Theme Name: Enfold Child
Description: Child Theme for Enfold   customizations stored separately for safe updating.
Version: 4.9
Author: BS
Template: enfold
*/

/* ==========================================================================
   ENFOLD CHILD THEME - BASE STYLES
   
   Dit bestand bevat alleen basis theme aanpassingen.
   Shop-specifieke styling staat in: shop-layout.css
   Mobile header transparency staat in: functions.php
   
   BELANGRIJK: Geen dimensie-overrides (height, max-height, line-height)
   met !important op header-elementen. Enfold's native JS handelt de
   shrinking-animatie af via inline styles. Wij voegen alleen transitions
   toe voor een vloeiende animatie.
   ========================================================================== */

/* ==========================================================================
   MOBIELE HEADER - BASIS STYLING
   ========================================================================== */
@media (max-width: 767px) {
    /* ---------------------------------------------------------------
       FIX: Enfold's responsive CSS zet .responsive #top .logo op
       height: 80px !important, waardoor de header niet kan krimpen.
       We overschrijven dit naar auto zodat de hoogte mee-animeert.
       --------------------------------------------------------------- */
    .responsive #top .logo,
    #header_main .logo {
        height: auto !important;
    }

    /* ---------------------------------------------------------------
       TRANSITIONS - zorgen voor vloeiende animatie van Enfold's
       inline style wijzigingen (max-height, height, line-height)
       --------------------------------------------------------------- */
    #header {
        transition: height 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease !important;
    }
    
    #header_main,
    #header_main .container,
    #header_main .av-logo-container {
        transition: all 0.3s ease !important;
    }
    
    #header_main .logo a {
        display: flex !important;
        align-items: flex-start !important;
        padding-top: 9px !important;
        transition: all 0.3s ease !important;
    }
    
    #header_main .logo img {
        transition: all 0.3s ease !important;
    }
    
    /* Burger menu en icons - alleen transitions, geen dimensie-overrides */
    #header_main .av-burger-menu-main a,
    #header_main .menu-item-avia-special a {
        display: block !important;
        transition: all 0.3s ease !important;
    }
    
    #header_main .av-burger-menu-main a svg,
    #header_main .menu-item-avia-special a svg {
        vertical-align: middle !important;
    }

    /* ---------------------------------------------------------------
       GESCHROMPELDE STAAT - alleen padding-aanpassing voor het logo
       Enfold's JS handelt alle hoogte-animaties af
       --------------------------------------------------------------- */
    body.pta-header-shrunk #header_main .logo a {
        padding-top: 5px !important;
    }
}

/* ==========================================================================
   PRODUCT STYLING - Sticky footer voor simple products
   ========================================================================== */

/* ALLEEN voor producten ZONDER toppings */
.single-product.product_type-simple:not(.product_cat-pizzas) form.cart {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff !important;
    padding: 15px 20px;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 999;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin: 0 !important;
}

@media (min-width: 990px) {
    .single-product.product_type-simple:not(.product_cat-pizzas) form.cart {
        position: relative !important;
        box-shadow: none;
        border-top: 1px solid #e0e0e0;
        padding: 20px 0 15px;
        margin-top: 20px !important;
        background: transparent !important;
    }
}

/* Prijs links in de sticky footer */
.single-product.product_type-simple:not(.product_cat-pizzas) .pta-simple-price {
    order: -1 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #27ae60 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
}

/* Punten message */
.single-product.product_type-simple:not(.product_cat-pizzas) .wc-points-rewards-product-message {
    display: block !important;
    order: 0 !important;
    flex: 1 1 auto;
    margin: 0 !important;
    padding: 0 0 0 20px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    text-align: left !important;
    font-size: 14px !important;
    color: #666 !important;
}

/* Verberg <br> tag */
.single-product.product_type-simple:not(.product_cat-pizzas) form.cart > br {
    display: none !important;
}

/* Quantity controls */
.single-product.product_type-simple:not(.product_cat-pizzas) .quantity {
    display: flex !important;
    align-items: center;
    gap: 0 !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: #fff !important;
    margin: 0 !important;
    padding: 0 !important;
    order: 1 !important;
    flex-shrink: 0 !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
}

/* Verberg extra elementen in quantity */
.single-product.product_type-simple:not(.product_cat-pizzas) .quantity > *:not(.minus):not(.qty):not(.plus) {
    display: none !important;
}

.single-product.product_type-simple:not(.product_cat-pizzas) .quantity input.qty {
    width: 40px !important;
    height: 36px !important;
    border: none !important;
    border-left: 1px solid #e0e0e0 !important;
    border-right: 1px solid #e0e0e0 !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* +/- buttons */
.single-product.product_type-simple:not(.product_cat-pizzas) .quantity .minus,
.single-product.product_type-simple:not(.product_cat-pizzas) .quantity .plus {
    width: 36px !important;
    min-width: 36px !important;
    max-width: 36px !important;
    height: 36px !important;
    background: #f8f9fa !important;
    border: none !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #2c3e50 !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 36px !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.single-product.product_type-simple:not(.product_cat-pizzas) .quantity .minus:hover,
.single-product.product_type-simple:not(.product_cat-pizzas) .quantity .plus:hover {
    background: #e9ecef !important;
}

/* Toevoegen button */
.single-product.product_type-simple:not(.product_cat-pizzas) .single_add_to_cart_button {
    background: #27ae60 !important;
    background-color: #27ae60 !important;
    color: #fff !important;
    border: none !important;
    padding: 0 30px !important;
    height: 36px !important;
    line-height: 36px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    white-space: nowrap !important;
    margin: 0 !important;
    order: 2 !important;
    flex-shrink: 0 !important;
    min-width: auto !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.single-product.product_type-simple:not(.product_cat-pizzas) .single_add_to_cart_button:hover {
    background: #229954 !important;
    background-color: #229954 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 8px rgba(39, 174, 96, 0.3) !important;
}

.single-product.product_type-simple:not(.product_cat-pizzas) .single_add_to_cart_button:active,
.single-product.product_type-simple:not(.product_cat-pizzas) .single_add_to_cart_button:focus {
    background: #27ae60 !important;
    background-color: #27ae60 !important;
}

/* Ruimte onderaan pagina voor sticky footer op mobile */
@media (max-width: 989px) {
    .single-product.product_type-simple:not(.product_cat-pizzas) .single-product-summary {
        padding-bottom: 140px !important;
    }
}

/* Verberg borders tussen toppings en sticky footer voor pizza's */
.pta-toppings-wrapper {
    border: none !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
}

.pta-modal-sticky-footer,
.pta-page-sticky-footer {
    border-top: none !important;
    margin-top: 0 !important;
}

.pta-total-row {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/*  ==================================================================
    AANPASSINGEN AFREKEN PAGINA
    ==================================================================*/
.checkout-product-qty {
    font-weight: 600;
    color: #333;
    margin-right: 4px;
    white-space: nowrap;
}

/* Desktop: header volledig ondoorzichtig + schaduw na scrollen */
#header.header-scrolled .header_bg,
#header.header-scrolled-full .header_bg {
    opacity: 1 !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2) !important;
}
/* Desktop: header volledig ondoorzichtig + schaduw na scrollen */
#header.header-scrolled .header_bg,
#header.header-scrolled-full .header_bg {
    opacity: 1 !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.2) !important;
}

/* =====================================================
   MIJN ACCOUNT
   ===================================================== */
.woocommerce-MyAccount-navigation { display: none !important; }
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .pta-account-full-width { float: none !important; width: 100% !important; max-width: 100% !important; background: #fff !important; border-radius: 8px !important; padding: 32px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important; box-sizing: border-box !important; }
.pta-account-bottom-nav { display: grid !important; grid-template-columns: repeat(7, 1fr) !important; gap: 10px !important; margin-top: 20px !important; }
.pta-bottom-nav-item { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 7px !important; padding: 16px 8px !important; background: #fff !important; border-radius: 6px !important; border: 2px solid #f0e2cc !important; text-decoration: none !important; transition: all 0.2s ease !important; text-align: center !important; box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important; }
.pta-bottom-nav-item:hover { border-color: #7a1515 !important; background: #fdf0e0 !important; transform: translateY(-2px) !important; }
.pta-bottom-nav-active { background: #7a1515 !important; border-color: #7a1515 !important; }
.pta-bottom-nav-active .pta-bottom-nav-label { color: #fff !important; }
.pta-bottom-nav-active:hover { background: #a01e1e !important; border-color: #a01e1e !important; }
.pta-bottom-nav-logout { background: #fdf6ee !important; border-color: #e8d5c0 !important; }
.pta-bottom-nav-logout .pta-bottom-nav-label { color: #999 !important; }
.pta-bottom-nav-logout:hover { border-color: #c0392b !important; }
.pta-bottom-nav-logout:hover .pta-bottom-nav-label { color: #c0392b !important; }
.pta-bottom-nav-icon { font-size: 22px !important; line-height: 1 !important; }
.pta-bottom-nav-label { font-size: 12px !important; font-weight: 600 !important; color: #3a2a1a !important; line-height: 1.2 !important; }
.pta-account-welcome { display: flex; flex-direction: column; gap: 20px; }
.pta-welcome-header { display: flex !important; align-items: center !important; gap: 16px !important; padding-bottom: 20px !important; border-bottom: 2px solid #f5ede0 !important; }
.pta-welcome-icon { font-size: 40px; line-height: 1; }
.pta-welcome-text h2 { margin: 0 0 4px !important; font-size: 24px !important; color: #7a1515 !important; font-style: italic; }
.pta-welcome-text p { margin: 0 !important; color: #666 !important; font-size: 15px !important; }
.pta-dashboard-bestel { text-align: center !important; padding-top: 8px !important; }
.pta-btn-bestel-groot { display: inline-block !important; background: #7a1515 !important; color: #fff !important; padding: 14px 36px !important; border-radius: 6px !important; font-size: 16px !important; font-weight: 600 !important; text-decoration: none !important; transition: all 0.2s ease !important; }
.pta-btn-bestel-groot:hover { background: #a01e1e !important; transform: translateY(-1px) !important; color: #fff !important; }
.pta-punten-banner { display: flex !important; align-items: center !important; gap: 16px !important; background: linear-gradient(135deg, #7a1515 0%, #a01e1e 100%) !important; border-radius: 6px !important; padding: 16px 20px !important; }
.pta-punten-icon { font-size: 28px; flex-shrink: 0; }
.pta-punten-info { flex: 1; display: flex; flex-direction: column; gap: 3px; }
.pta-punten-info strong { font-size: 16px !important; color: #fff !important; }
.pta-punten-info span { font-size: 13px !important; color: rgba(255,255,255,0.85) !important; }
.pta-punten-link { color: #fff !important; font-weight: 700 !important; font-size: 14px !important; white-space: nowrap; text-decoration: underline !important; flex-shrink: 0; }
.pta-orders-intro, .pta-address-intro, .pta-accountdetails-intro { background: #fdf6ee !important; border-left: 4px solid #7a1515 !important; padding: 12px 16px !important; border-radius: 0 6px 6px 0 !important; color: #555 !important; font-size: 14px !important; margin-bottom: 24px !important; }
.pta-empty-orders { text-align: center; padding: 40px 20px; }
.pta-empty-icon { font-size: 48px; display: block; margin-bottom: 12px; }
.pta-btn-bestel { background: #7a1515 !important; color: #fff !important; padding: 12px 28px !important; border-radius: 6px !important; font-weight: 600 !important; margin-top: 12px !important; display: inline-block !important; text-decoration: none !important; }
.pta-btn-bestel:hover { background: #a01e1e !important; }
.woocommerce-orders-table, table.my_account_points_rewards { width: 100% !important; border-radius: 6px !important; overflow: hidden !important; border: 1px solid #f0e2cc !important; border-collapse: separate !important; border-spacing: 0 !important; }
.woocommerce-orders-table th, table.my_account_points_rewards thead th { background: #7a1515 !important; color: #fff !important; font-weight: 600 !important; padding: 12px 16px !important; font-size: 13px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }
.woocommerce-orders-table td, table.my_account_points_rewards tbody td { padding: 12px 16px !important; border-bottom: 1px solid #f5ede0 !important; vertical-align: middle !important; }
.woocommerce-orders-table tr:last-child td, table.my_account_points_rewards tbody tr:last-child td { border-bottom: none !important; }
.woocommerce-orders-table tbody tr:hover td, table.my_account_points_rewards tbody tr:hover td { background: #fdf6ee !important; }
.pta-punten-uitleg-banner { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 20px !important; background: linear-gradient(135deg, #7a1515 0%, #a01e1e 100%) !important; border-radius: 6px !important; padding: 20px 24px !important; margin-bottom: 24px !important; }
.pta-punten-uitleg-links { display: flex !important; align-items: flex-start !important; gap: 14px !important; flex: 1 !important; }
.pta-punten-uitleg-icon { font-size: 32px; flex-shrink: 0; line-height: 1; }
.pta-punten-uitleg-links strong { display: block !important; font-size: 16px !important; color: #fff !important; margin-bottom: 4px !important; }
.pta-punten-uitleg-links p { margin: 0 !important; font-size: 13px !important; color: rgba(255,255,255,0.85) !important; }
.pta-punten-saldo { display: flex !important; flex-direction: column !important; align-items: center !important; background: rgba(255,255,255,0.15) !important; border-radius: 6px !important; padding: 12px 20px !important; flex-shrink: 0 !important; min-width: 90px !important; text-align: center !important; }
.pta-punten-saldo-getal { font-size: 32px !important; font-weight: 700 !important; color: #fff !important; line-height: 1 !important; }
.pta-punten-saldo-label { font-size: 12px !important; color: rgba(255,255,255,0.8) !important; text-transform: uppercase !important; }
.pta-punten-plus { color: #27ae60 !important; font-weight: 700 !important; }
.pta-punten-min { color: #e74c3c !important; font-weight: 700 !important; }
.pta-address-card { background: #fdf6ee !important; border: 1px solid #f0e2cc !important; border-radius: 6px !important; padding: 20px !important; height: 100% !important; }
.pta-address-card-header { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 12px !important; padding-bottom: 12px !important; border-bottom: 1px solid #f0e2cc !important; }
.pta-address-card-header h3 { margin: 0 !important; font-size: 16px !important; color: #7a1515 !important; }
.pta-address-edit-btn { font-size: 13px !important; color: #7a1515 !important; text-decoration: none !important; font-weight: 600 !important; border: 1px solid #7a1515 !important; padding: 4px 10px !important; border-radius: 4px !important; transition: all 0.2s ease !important; }
.pta-address-edit-btn:hover { background: #7a1515 !important; color: #fff !important; }
.pta-no-address { color: #999 !important; font-style: italic !important; font-size: 14px !important; }
.pta-password-fieldset { border: 1px solid #f0e2cc !important; border-radius: 6px !important; padding: 20px !important; margin: 20px 0 !important; background: #fdf6ee !important; }
.pta-password-fieldset legend { font-weight: 700 !important; color: #3a2a1a !important; padding: 0 8px !important; }
.pta-password-hint { color: #888 !important; font-size: 13px !important; margin-top: 0 !important; margin-bottom: 16px !important; font-style: italic !important; }
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"],
.pta-btn-submit { background: #7a1515 !important; background-color: #7a1515 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 12px 28px !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; text-decoration: none !important; display: inline-block !important; line-height: normal !important; }
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.pta-btn-submit:hover { background: #a01e1e !important; background-color: #a01e1e !important; color: #fff !important; transform: translateY(-1px) !important; }
.pta-login-page { display: flex !important; flex-direction: column !important; gap: 28px !important; }
.pta-login-header { display: flex !important; align-items: center !important; gap: 16px !important; padding-bottom: 24px !important; border-bottom: 2px solid #f5ede0 !important; }
.pta-login-logo { font-size: 44px !important; line-height: 1 !important; flex-shrink: 0 !important; }
.pta-login-header h2 { margin: 0 0 4px !important; font-size: 26px !important; color: #7a1515 !important; font-style: italic !important; }
.pta-login-header p { margin: 0 !important; color: #666 !important; font-size: 15px !important; }
.pta-login-grid { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px !important; align-items: start !important; }
.pta-login-card { background: #fdf6ee !important; border: 1px solid #f0e2cc !important; border-radius: 8px !important; padding: 28px !important; }
.pta-login-card-header { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 20px !important; padding-bottom: 16px !important; border-bottom: 1px solid #f0e2cc !important; }
.pta-login-card-icon { font-size: 22px !important; }
.pta-login-card-header h3 { margin: 0 !important; font-size: 18px !important; color: #7a1515 !important; }
.pta-login-card .woocommerce-form-row { margin-bottom: 16px !important; }
.pta-login-card .woocommerce-form-row label { display: block !important; font-size: 13px !important; font-weight: 600 !important; color: #3a2a1a !important; margin-bottom: 6px !important; text-transform: uppercase !important; letter-spacing: 0.3px !important; }
.pta-login-card .woocommerce-Input,
.pta-login-card input[type="text"],
.pta-login-card input[type="email"],
.pta-login-card input[type="password"] { width: 100% !important; padding: 10px 14px !important; border: 1px solid #ddd !important; border-radius: 6px !important; font-size: 15px !important; background: #fff !important; box-sizing: border-box !important; color: #333 !important; }
.pta-login-card input:focus { border-color: #7a1515 !important; outline: none !important; box-shadow: 0 0 0 3px rgba(122,21,21,0.1) !important; }
.pta-login-options { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 20px !important; }
.pta-login-options label { display: flex !important; align-items: center !important; gap: 6px !important; color: #555 !important; font-weight: normal !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer !important; }
.pta-wachtwoord-link { color: #7a1515 !important; font-size: 13px !important; text-decoration: none !important; }
.pta-wachtwoord-link:hover { text-decoration: underline !important; }
.pta-register-hint, .pta-register-voordeel { display: flex !important; align-items: flex-start !important; gap: 10px !important; padding: 12px 14px !important; border-radius: 6px !important; margin-bottom: 16px !important; font-size: 13px !important; }
.pta-register-hint { background: #eef6fb !important; border: 1px solid #c8e0ef !important; color: #2c5f7a !important; }
.pta-register-voordeel { background: #fff8e6 !important; border: 1px solid #f0d87a !important; color: #7a5f00 !important; }
.pta-register-hint p, .pta-register-voordeel p { margin: 0 !important; }
.pta-login-card .pta-btn-submit,
.pta-login-card button[type="submit"] { width: 100% !important; background: #7a1515 !important; background-color: #7a1515 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 13px 20px !important; font-size: 15px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; display: block !important; }
.pta-login-card .pta-btn-submit:hover,
.pta-login-card button[type="submit"]:hover { background: #a01e1e !important; background-color: #a01e1e !important; transform: translateY(-1px) !important; }

/* =====================================================
   WINKELWAGEN
   ===================================================== */
.wc_points_redeem_earn_points,
.wc_points_rewards_earn_points .woocommerce-info { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }
.wc_points_redeem_earn_points form.wc_points_rewards_apply_discount { display: inline-flex !important; flex-shrink: 0 !important; }
.pta-cart-intro { display: flex !important; align-items: center !important; gap: 14px !important; background: linear-gradient(135deg, #7a1515 0%, #a01e1e 100%) !important; border-radius: 6px !important; padding: 16px 20px !important; margin-bottom: 24px !important; }
.pta-cart-intro-icon { font-size: 28px !important; flex-shrink: 0 !important; }
.pta-cart-intro strong { display: block !important; font-size: 16px !important; color: #fff !important; margin-bottom: 2px !important; }
.pta-cart-intro span { font-size: 13px !important; color: rgba(255,255,255,0.85) !important; }
.pta-cart-table-wrap { background: #fff !important; border-radius: 8px !important; overflow: hidden !important; box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important; margin-bottom: 24px !important; }
.woocommerce-cart-form__contents { width: 100% !important; border-collapse: collapse !important; border: none !important; }
.woocommerce-cart-form__contents th { background: #7a1515 !important; color: #fff !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; padding: 14px 16px !important; border: none !important; }
.woocommerce-cart-form__contents td { padding: 14px 16px !important; border-bottom: 1px solid #f5ede0 !important; border-left: none !important; border-right: none !important; border-top: none !important; vertical-align: middle !important; background: #fff !important; }
.woocommerce-cart-form__cart-item:last-child td { border-bottom: none !important; }
.woocommerce-cart-form__cart-item:hover td { background: #fdf6ee !important; }
.woocommerce-cart-form__contents .product-thumbnail img { width: 60px !important; height: 60px !important; object-fit: cover !important; border-radius: 6px !important; border: 1px solid #f0e2cc !important; display: block !important; }
.woocommerce-cart-form__contents .product-name a { color: #3a2a1a !important; font-weight: 600 !important; text-decoration: none !important; }
.woocommerce-cart-form__contents .product-name a:hover { color: #7a1515 !important; }
.woocommerce-cart-form__contents .product-remove a.remove { color: #ddd !important; font-size: 22px !important; width: 28px !important; height: 28px !important; display: flex !important; align-items: center !important; justify-content: center !important; border-radius: 50% !important; transition: all 0.2s ease !important; background: none !important; border: none !important; text-decoration: none !important; }
.woocommerce-cart-form__contents .product-remove a.remove:hover { background: #fde8e8 !important; color: #c0392b !important; }
.woocommerce-cart-form__contents .product-subtotal { font-weight: 700 !important; color: #7a1515 !important; }
.woocommerce-cart-form__contents .quantity,
.woocommerce-cart .quantity { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 0 !important; border: 1px solid #e0e0e0 !important; border-radius: 6px !important; overflow: hidden !important; background: #fff !important; width: fit-content !important; min-width: 110px !important; }
.woocommerce-cart-form__contents .quantity .minus,
.woocommerce-cart-form__contents .quantity .plus,
.woocommerce-cart .quantity .minus,
.woocommerce-cart .quantity .plus { display: flex !important; align-items: center !important; justify-content: center !important; width: 34px !important; min-width: 34px !important; height: 36px !important; background: #f8f9fa !important; border: none !important; font-size: 18px !important; font-weight: 500 !important; color: #3a2a1a !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important; transition: background 0.2s ease !important; flex-shrink: 0 !important; }
.woocommerce-cart-form__contents .quantity .minus:hover,
.woocommerce-cart-form__contents .quantity .plus:hover,
.woocommerce-cart .quantity .minus:hover,
.woocommerce-cart .quantity .plus:hover { background: #f0e2cc !important; color: #7a1515 !important; }
.woocommerce-cart-form__contents .quantity .minus, .woocommerce-cart .quantity .minus { border-right: 1px solid #e0e0e0 !important; }
.woocommerce-cart-form__contents .quantity .plus, .woocommerce-cart .quantity .plus { border-left: 1px solid #e0e0e0 !important; }
.woocommerce-cart-form__contents .quantity .qty,
.woocommerce-cart .quantity .qty { width: 42px !important; min-width: 42px !important; height: 36px !important; border: none !important; border-radius: 0 !important; text-align: center !important; font-size: 15px !important; font-weight: 600 !important; color: #3a2a1a !important; background: #fff !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; -moz-appearance: textfield !important; flex: 1 !important; }
.woocommerce-cart-form__contents .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart-form__contents .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce-cart .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; }
.woocommerce-cart-form__contents .actions { padding: 16px !important; background: #fdf6ee !important; border: none !important; border-top: 1px solid #f0e2cc !important; }
.pta-coupon { display: flex !important; gap: 8px !important; align-items: center !important; flex-wrap: wrap !important; float: left !important; }
.pta-coupon input.input-text { padding: 10px 14px !important; border: 1px solid #ddd !important; border-radius: 6px !important; font-size: 14px !important; min-width: 180px !important; background: #fff !important; color: #333 !important; }
.pta-coupon input.input-text:focus { border-color: #7a1515 !important; outline: none !important; box-shadow: 0 0 0 3px rgba(122,21,21,0.1) !important; }
.woocommerce-cart .button,
.woocommerce-cart-form .button,
.woocommerce button[name="apply_coupon"],
.woocommerce button[name="update_cart"],
.woocommerce-cart-form .actions .button { background: #7a1515 !important; background-color: #7a1515 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; text-transform: none !important; letter-spacing: 0 !important; }
.woocommerce-cart .button:hover,
.woocommerce button[name="apply_coupon"]:hover,
.woocommerce button[name="update_cart"]:hover,
.woocommerce-cart-form .actions .button:hover { background: #a01e1e !important; background-color: #a01e1e !important; color: #fff !important; }
.woocommerce-cart-form__contents .actions .button[name="update_cart"] { float: right !important; }
.woocommerce-cart-form__contents .actions::after { content: '' !important; display: table !important; clear: both !important; }
.cart-collaterals .cart_totals { background: #fff !important; border-radius: 8px !important; padding: 24px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important; max-width: 440px !important; margin-left: auto !important; float: none !important; width: 100% !important; }
.cart_totals h2 { font-size: 18px !important; color: #3a2a1a !important; margin: 0 0 16px !important; padding-bottom: 12px !important; border-bottom: 2px solid #f5ede0 !important; }
.cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.cart_totals table th { background: none !important; color: #888 !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; padding: 10px 0 !important; width: 40% !important; border-bottom: 1px solid #f5ede0 !important; }
.cart_totals table td { padding: 10px 0 !important; color: #3a2a1a !important; font-weight: 500 !important; border-bottom: 1px solid #f5ede0 !important; background: none !important; }
.cart_totals .order-total th, .cart_totals .order-total td { border-bottom: none !important; font-size: 16px !important; font-weight: 700 !important; padding-top: 14px !important; }
.cart_totals .order-total td { color: #7a1515 !important; }
.wc-proceed-to-checkout .checkout-button, .cart_totals .checkout-button { display: block !important; width: 100% !important; background: #7a1515 !important; background-color: #7a1515 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 14px 20px !important; font-size: 16px !important; font-weight: 700 !important; text-align: center !important; text-decoration: none !important; cursor: pointer !important; transition: all 0.2s ease !important; margin-top: 16px !important; box-sizing: border-box !important; }
.wc-proceed-to-checkout .checkout-button:hover, .cart_totals .checkout-button:hover { background: #a01e1e !important; background-color: #a01e1e !important; color: #fff !important; transform: translateY(-1px) !important; box-shadow: 0 4px 12px rgba(122,21,21,0.3) !important; }
.pta-cart-empty { text-align: center !important; padding: 60px 20px !important; background: #fff !important; border-radius: 8px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important; }
.pta-cart-empty-icon { font-size: 56px !important; display: block !important; margin-bottom: 16px !important; }
.pta-cart-empty h2 { font-size: 24px !important; color: #3a2a1a !important; margin-bottom: 8px !important; }
.pta-cart-empty p { color: #888 !important; font-size: 15px !important; margin-bottom: 24px !important; }
.pta-cart-empty-btn { display: inline-block !important; background: #7a1515 !important; color: #fff !important; padding: 13px 32px !important; border-radius: 6px !important; font-weight: 700 !important; font-size: 15px !important; text-decoration: none !important; transition: all 0.2s ease !important; }
.pta-cart-empty-btn:hover { background: #a01e1e !important; transform: translateY(-1px) !important; color: #fff !important; }

/* =====================================================
   AFREKENEN
   ===================================================== */
.woocommerce-checkout .wc_points_redeem_earn_points,
.woocommerce-checkout .wc_points_rewards_earn_points .woocommerce-info { display: flex !important; align-items: center !important; gap: 12px !important; flex-wrap: wrap !important; }
.woocommerce-checkout .wc_points_redeem_earn_points form.wc_points_rewards_apply_discount { display: inline-flex !important; flex-shrink: 0 !important; }
.pta-checkout-intro { display: flex !important; align-items: center !important; gap: 14px !important; background: linear-gradient(135deg, #7a1515 0%, #a01e1e 100%) !important; border-radius: 6px !important; padding: 16px 20px !important; margin-bottom: 24px !important; }
.pta-checkout-intro-icon { font-size: 28px !important; flex-shrink: 0 !important; }
.pta-checkout-intro strong { display: block !important; font-size: 16px !important; color: #fff !important; margin-bottom: 2px !important; }
.pta-checkout-intro span { font-size: 13px !important; color: rgba(255,255,255,0.85) !important; }
.pta-checkout-card { background: #fff !important; border-radius: 8px !important; padding: 28px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important; margin-bottom: 24px !important; }
.woocommerce-checkout .pta-checkout-card label { font-size: 13px !important; font-weight: 600 !important; color: #3a2a1a !important; text-transform: uppercase !important; letter-spacing: 0.3px !important; margin-bottom: 5px !important; display: block !important; }
.woocommerce-checkout .pta-checkout-card .input-text,
.woocommerce-checkout .pta-checkout-card input[type="text"],
.woocommerce-checkout .pta-checkout-card input[type="email"],
.woocommerce-checkout .pta-checkout-card input[type="tel"],
.woocommerce-checkout .pta-checkout-card input[type="password"],
.woocommerce-checkout .pta-checkout-card select,
.woocommerce-checkout .pta-checkout-card textarea { width: 100% !important; padding: 10px 14px !important; border: 1px solid #ddd !important; border-radius: 6px !important; font-size: 15px !important; color: #333 !important; background: #fff !important; transition: border-color 0.2s ease !important; box-sizing: border-box !important; }
.woocommerce-checkout .pta-checkout-card input:focus,
.woocommerce-checkout .pta-checkout-card select:focus,
.woocommerce-checkout .pta-checkout-card textarea:focus { border-color: #7a1515 !important; outline: none !important; box-shadow: 0 0 0 3px rgba(122,21,21,0.1) !important; }
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 0 16px !important; }
.woocommerce-billing-fields__field-wrapper .form-row-wide,
.woocommerce-shipping-fields__field-wrapper .form-row-wide { grid-column: 1 / -1 !important; }
.woocommerce-billing-fields__field-wrapper #billing_postcode_field,
.woocommerce-billing-fields__field-wrapper #billing_city_field,
.woocommerce-billing-fields__field-wrapper #billing_phone_field,
.woocommerce-billing-fields__field-wrapper #billing_email_field,
.woocommerce-shipping-fields__field-wrapper #shipping_postcode_field,
.woocommerce-shipping-fields__field-wrapper #shipping_city_field { grid-column: auto !important; }
.woocommerce-billing-fields__field-wrapper #billing_address_2_field,
.woocommerce-billing-fields__field-wrapper #billing_state_field,
.woocommerce-billing-fields__field-wrapper #billing_company_field,
.woocommerce-shipping-fields__field-wrapper #shipping_address_2_field,
.woocommerce-shipping-fields__field-wrapper #shipping_state_field,
.woocommerce-shipping-fields__field-wrapper #shipping_company_field { display: none !important; }
.pta-checkout-order-wrap { margin-bottom: 24px !important; }
.pta-checkout-order-card { background: #fff !important; border-radius: 8px !important; padding: 28px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important; }
.pta-checkout-order-header { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 20px !important; padding-bottom: 14px !important; border-bottom: 2px solid #f5ede0 !important; }
.pta-checkout-order-icon { font-size: 22px !important; }
.pta-checkout-order-header h3 { margin: 0 !important; font-size: 18px !important; color: #3a2a1a !important; }
.pta-checkout-order-card h3#order_review_heading { display: none !important; }
.woocommerce-checkout-review-order-table { width: 100% !important; border-collapse: collapse !important; }
.woocommerce-checkout-review-order-table th { background: #fdf6ee !important; color: #888 !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; padding: 10px 14px !important; border-bottom: 1px solid #f0e2cc !important; }
.woocommerce-checkout-review-order-table td { padding: 12px 14px !important; border-bottom: 1px solid #f5ede0 !important; color: #3a2a1a !important; }
.woocommerce-checkout-review-order-table .order-total td { color: #7a1515 !important; font-size: 18px !important; font-weight: 700 !important; border-bottom: none !important; }
.woocommerce-checkout-review-order-table .order-total th { color: #3a2a1a !important; border-bottom: none !important; padding-top: 14px !important; }

/* --- Betaalmethoden: radio + label + beschrijving op   n rij --- */
.woocommerce-checkout #payment { background: #fdf6ee !important; border-radius: 6px !important; padding: 20px !important; margin-top: 16px !important; border: 1px solid #f0e2cc !important; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid #f0e2cc !important; margin-bottom: 16px !important; padding-bottom: 16px !important; list-style: none !important; margin-left: 0 !important; padding-left: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f0e2cc !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:last-child {
    border-bottom: none !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input.input-radio {
    margin: 0 !important; flex-shrink: 0 !important; width: 16px !important;
    height: 16px !important; cursor: pointer !important; accent-color: #7a1515 !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label {
    margin: 0 !important; cursor: pointer !important; font-weight: 600 !important;
    color: #3a2a1a !important; font-size: 14px !important; text-transform: none !important;
    letter-spacing: 0 !important; display: flex !important; align-items: center !important;
    gap: 8px !important; flex-shrink: 0 !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img {
    height: 24px !important; width: auto !important; vertical-align: middle !important;
}

/* Beschrijving inline   geen ::before, gewoon grijs cursief */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box {
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box p {
    display: inline !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: #999 !important;
    font-style: italic !important;
    font-weight: 400 !important;
}

/* Alle checkout knoppen */
.woocommerce-checkout .button,
.woocommerce-checkout input.button,
.woocommerce-checkout input[name="wc_points_rewards_apply_discount"],
.woocommerce-checkout input.wc_points_rewards_apply_discount,
.woocommerce-checkout button[name="apply_coupon"],
.woocommerce-checkout .woocommerce-form-coupon .button,
.wc_points_rewards_discount_form input[type="submit"] { background: #7a1515 !important; background-color: #7a1515 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important; cursor: pointer !important; transition: all 0.2s ease !important; text-transform: none !important; letter-spacing: 0 !important; height: auto !important; }
.woocommerce-checkout .button:hover,
.woocommerce-checkout input.button:hover,
.woocommerce-checkout input[name="wc_points_rewards_apply_discount"]:hover,
.woocommerce-checkout button[name="apply_coupon"]:hover,
.wc_points_rewards_discount_form input[type="submit"]:hover { background: #a01e1e !important; background-color: #a01e1e !important; color: #fff !important; transform: translateY(-1px) !important; }
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout button#place_order { background: #7a1515 !important; background-color: #7a1515 !important; color: #fff !important; border: none !important; border-radius: 6px !important; padding: 16px 20px !important; font-size: 17px !important; font-weight: 700 !important; cursor: pointer !important; display: block !important; width: 100% !important; transition: all 0.2s ease !important; }
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout button#place_order:hover { background: #a01e1e !important; background-color: #a01e1e !important; transform: translateY(-1px) !important; box-shadow: 0 4px 14px rgba(122,21,21,0.35) !important; }

/* =====================================================
   BEDANKTPAGINA
   ===================================================== */
.pta-thankyou-wrapper { max-width: 100%; }
.pta-thankyou-banner { display: flex !important; align-items: center !important; gap: 16px !important; border-radius: 8px !important; padding: 20px 24px !important; margin-bottom: 24px !important; }
.pta-thankyou-banner--success { background: linear-gradient(135deg, #7a1515 0%, #a01e1e 100%) !important; }
.pta-thankyou-banner--failed { background: linear-gradient(135deg, #c0392b 0%, #e74c3c 100%) !important; }
.pta-thankyou-icon { font-size: 36px !important; flex-shrink: 0 !important; line-height: 1 !important; }
.pta-thankyou-banner strong { display: block !important; font-size: 20px !important; color: #fff !important; margin-bottom: 4px !important; }
.pta-thankyou-banner span { font-size: 14px !important; color: rgba(255,255,255,0.85) !important; }
.pta-thankyou-check { margin-left: auto !important; font-size: 24px !important; background: rgba(255,255,255,0.2) !important; width: 48px !important; height: 48px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; color: #fff !important; }
.pta-thankyou-meta { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 12px !important; margin-bottom: 28px !important; }
.pta-thankyou-meta-item { background: #fff !important; border-radius: 6px !important; padding: 16px !important; border: 1px solid #f0e2cc !important; box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important; }
.pta-thankyou-meta-label { display: block !important; font-size: 11px !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; color: #aaa !important; margin-bottom: 6px !important; }
.pta-thankyou-meta-value { display: block !important; font-size: 15px !important; font-weight: 600 !important; color: #3a2a1a !important; }
.pta-thankyou-total { color: #7a1515 !important; font-size: 18px !important; }
.pta-thankyou-grid { display: grid !important; grid-template-columns: 2fr 1fr !important; gap: 24px !important; margin-bottom: 24px !important; align-items: start !important; }
.pta-thankyou-addresses { display: flex !important; flex-direction: column !important; gap: 16px !important; }
.pta-thankyou-card { background: #fff !important; border-radius: 8px !important; padding: 24px !important; box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important; }
.pta-thankyou-card-header { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 18px !important; padding-bottom: 14px !important; border-bottom: 2px solid #f5ede0 !important; }
.pta-thankyou-card-header span { font-size: 20px !important; }
.pta-thankyou-card-header h3 { margin: 0 !important; font-size: 17px !important; color: #3a2a1a !important; }
.woocommerce-table--order-details { width: 100% !important; border-collapse: collapse !important; }
.woocommerce-table--order-details thead th { background: #fdf6ee !important; color: #888 !important; font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; padding: 10px 14px !important; border-bottom: 1px solid #f0e2cc !important; }
.woocommerce-table--order-details tbody td { padding: 12px 14px !important; border-bottom: 1px solid #f5ede0 !important; color: #3a2a1a !important; vertical-align: middle !important; }
.woocommerce-table--order-details tbody tr:last-child td { border-bottom: none !important; }
.woocommerce-table--order-details tbody tr:hover td { background: #fdf6ee !important; }
.pta-order-item-name-wrap { display: flex !important; align-items: center !important; gap: 12px !important; }
.pta-order-item-img { width: 52px !important; height: 52px !important; object-fit: cover !important; border-radius: 6px !important; border: 1px solid #f0e2cc !important; flex-shrink: 0 !important; display: block !important; }
.pta-order-item-info { display: flex !important; flex-direction: column !important; gap: 2px !important; }
.pta-order-item-info .product-quantity { color: #888 !important; font-size: 13px !important; font-weight: 400 !important; }
.woocommerce-table--order-details .product-total { font-weight: 700 !important; color: #7a1515 !important; }
.woocommerce-table--order-details tfoot th { font-size: 12px !important; font-weight: 700 !important; text-transform: uppercase !important; color: #888 !important; padding: 10px 14px !important; border-top: 1px solid #f5ede0 !important; background: none !important; text-align: left !important; }
.woocommerce-table--order-details tfoot td { padding: 10px 14px !important; border-top: 1px solid #f5ede0 !important; color: #3a2a1a !important; font-weight: 500 !important; }
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td { font-size: 15px !important; font-weight: 700 !important; color: #7a1515 !important; border-top: 2px solid #f0e2cc !important; padding-top: 14px !important; }
.pta-thankyou-card--address address { font-style: normal !important; color: #555 !important; font-size: 14px !important; line-height: 1.8 !important; }
.pta-address-phone, .pta-address-email { color: #7a1515 !important; font-size: 13px !important; }
.pta-thankyou-cta { background: #fdf6ee !important; border: 1px solid #f0e2cc !important; border-radius: 8px !important; padding: 24px !important; text-align: center !important; }
.pta-thankyou-cta p { color: #666 !important; font-size: 15px !important; margin-bottom: 16px !important; }
.pta-thankyou-cta-btn { display: inline-block !important; background: #7a1515 !important; color: #fff !important; padding: 13px 32px !important; border-radius: 6px !important; font-weight: 700 !important; font-size: 15px !important; text-decoration: none !important; transition: all 0.2s ease !important; }
.pta-thankyou-cta-btn:hover { background: #a01e1e !important; transform: translateY(-1px) !important; color: #fff !important; }
.pta-btn-retry { display: inline-block !important; background: #c0392b !important; color: #fff !important; padding: 12px 28px !important; border-radius: 6px !important; font-weight: 700 !important; text-decoration: none !important; }
.pta-btn-retry:hover { background: #e74c3c !important; color: #fff !important; }

/* =====================================================
   MOBIELE WEERGAVE
   ===================================================== */
@media (max-width: 767px) {
    .woocommerce-account .woocommerce-MyAccount-content,
    .woocommerce-account .pta-account-full-width { padding: 16px !important; }
    .pta-account-bottom-nav { grid-template-columns: repeat(4, 1fr) !important; gap: 8px !important; }
    .pta-bottom-nav-item { padding: 12px 4px !important; }
    .pta-bottom-nav-icon { font-size: 18px !important; }
    .pta-bottom-nav-label { font-size: 11px !important; }
    .woocommerce-cart-form__contents thead { display: none !important; }
    /* Grid: [foto] [naam+subtotaal] [knoppen] — × absoluut rechtsboven */
    .responsive .woocommerce-cart-form__contents tbody tr.woocommerce-cart-form__cart-item { display: grid !important; grid-template-columns: 70px 1fr auto !important; grid-template-rows: auto auto !important; gap: 0 10px !important; padding: 14px !important; border-bottom: 1px solid #f5ede0 !important; position: relative !important; }
    .responsive .woocommerce-cart-form__cart-item td { display: block !important; padding: 0 !important; border: none !important; background: transparent !important; }
    /* Foto: col 1, beide rijen */
    .responsive .woocommerce-cart-form__cart-item .product-thumbnail { grid-column: 1 !important; grid-row: 1 / 3 !important; align-self: center !important; }
    /* Naam: col 2+3 op rij 1 — × is absoluut dus volle breedte beschikbaar */
    .responsive table.shop_table.cart .product-name { width: auto !important; text-align: left !important; }
    .responsive .woocommerce-cart-form__cart-item .product-name { grid-column: 2 / 4 !important; grid-row: 1 !important; font-size: 14px !important; padding-bottom: 6px !important; padding-right: 24px !important; min-width: 0 !important; text-align: left !important; }
    /* Variatie inline achter productnaam */
    .responsive .woocommerce-cart-form__cart-item .product-name a { display: inline !important; }
    .responsive .woocommerce-cart-form__cart-item .product-name dl { display: inline !important; margin: 0 !important; padding: 0 !important; }
    .responsive .woocommerce-cart-form__cart-item .product-name dt { float: none !important; display: inline !important; margin: 0 0 0 4px !important; padding: 0 !important; font-weight: normal !important; color: #888 !important; font-size: 13px !important; }
    .responsive .woocommerce-cart-form__cart-item .product-name dd { float: none !important; display: inline !important; margin: 0 !important; padding: 0 !important; color: #888 !important; font-size: 13px !important; }
    .responsive .woocommerce-cart-form__cart-item .product-name dd p { display: inline !important; margin: 0 !important; }
    /* × absoluut rechtsboven — buiten grid flow, blokkeert nooit knoppen */
    .responsive .woocommerce-cart-form__cart-item .product-remove { position: absolute !important; top: 10px !important; right: 8px !important; }
    .responsive .woocommerce-cart-form__cart-item .product-remove a { color: #333 !important; font-size: 18px !important; text-decoration: none !important; display: block !important; line-height: 1 !important; }
    .responsive .woocommerce-cart-form__cart-item .product-remove a:hover { color: #7a1515 !important; }
    /* Stukprijs verbergen — subtotaal toont correcte totaalprijs */
    .responsive .woocommerce-cart-form__cart-item .product-price { display: none !important; }
    /* Subtotaal: col 2, rij 2 — eigen kolom, overlapt knoppen NIET */
    .responsive .woocommerce-cart-form__cart-item .product-subtotal { grid-column: 2 !important; grid-row: 2 !important; display: block !important; font-size: 13px !important; font-weight: 700 !important; align-self: center !important; }
    /* Knoppen: col 3, rij 2 — eigen kolom */
    .responsive .woocommerce-cart-form__cart-item .product-quantity { grid-column: 3 !important; grid-row: 2 !important; display: block !important; justify-self: end !important; align-self: center !important; }
    .woocommerce-cart-form__contents tbody tr.actions { display: flex !important; flex-direction: column !important; gap: 10px !important; padding: 14px !important; }
    .pta-coupon { float: none !important; flex-direction: column !important; align-items: stretch !important; }
    .pta-coupon input.input-text { min-width: unset !important; width: 100% !important; }
    .woocommerce-cart-form__contents .actions .button[name="update_cart"] { float: none !important; width: 100% !important; }
    .cart_totals { max-width: 100% !important; }
    .woocommerce-billing-fields__field-wrapper,
    .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr !important; }
    .woocommerce-billing-fields__field-wrapper .form-row-first,
    .woocommerce-billing-fields__field-wrapper .form-row-last,
    .woocommerce-billing-fields__field-wrapper #billing_postcode_field,
    .woocommerce-billing-fields__field-wrapper #billing_city_field,
    .woocommerce-billing-fields__field-wrapper #billing_phone_field,
    .woocommerce-billing-fields__field-wrapper #billing_email_field,
    .woocommerce-shipping-fields__field-wrapper .form-row-first,
    .woocommerce-shipping-fields__field-wrapper .form-row-last,
    .woocommerce-shipping-fields__field-wrapper #shipping_postcode_field,
    .woocommerce-shipping-fields__field-wrapper #shipping_city_field { grid-column: 1 / -1 !important; }
    .pta-checkout-card { padding: 20px !important; }
    /* Afreken tabel: gestapelde flex layout op kleine schermen */
    .pta-checkout-order-card { padding: 14px !important; }
    .responsive .woocommerce-checkout-review-order-table { display: block !important; width: 100% !important; }
    .responsive .woocommerce-checkout-review-order-table thead { display: none !important; }
    .responsive .woocommerce-checkout-review-order-table tbody,
    .responsive .woocommerce-checkout-review-order-table tfoot { display: block !important; width: 100% !important; }
    .responsive .woocommerce-checkout-review-order-table tbody tr,
    .responsive .woocommerce-checkout-review-order-table tfoot tr { display: flex !important; align-items: center !important; width: 100% !important; padding: 10px 0 !important; border-bottom: 1px solid #f5ede0 !important; gap: 8px !important; }
    .responsive .woocommerce-checkout-review-order-table tbody td,
    .responsive .woocommerce-checkout-review-order-table tfoot th,
    .responsive .woocommerce-checkout-review-order-table tfoot td { display: block !important; border: none !important; padding: 2px 4px !important; }
    /* Productnaam / label: groeit mee */
    .responsive .woocommerce-checkout-review-order-table tbody td.product-name,
    .responsive .woocommerce-checkout-review-order-table tfoot th { flex: 1 1 auto !important; min-width: 0 !important; }
    /* Prijs kolom: rechts, krimpt niet — maar NIET nowrap voor lange teksten zoals bezorging */
    .responsive .woocommerce-checkout-review-order-table tbody td.product-total,
    .responsive .woocommerce-checkout-review-order-table tfoot td { flex: 0 0 auto !important; text-align: right !important; font-weight: 700 !important; white-space: normal !important; word-break: break-word !important; max-width: 60% !important; }
    /* Prijzen zelf (kort getal) mogen wel nowrap */
    .responsive .woocommerce-checkout-review-order-table tfoot .cart-subtotal td,
    .responsive .woocommerce-checkout-review-order-table tfoot .order-total td { white-space: nowrap !important; }
    /* Betaalmethoden mobiel: beschrijving eronder */
    .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method { flex-wrap: wrap !important; }
    .woocommerce-checkout #payment ul.payment_methods li.wc_payment_method .payment_box { flex: 0 0 100% !important; margin-left: 26px !important; margin-top: 4px !important; }
    .pta-thankyou-meta { grid-template-columns: repeat(2, 1fr) !important; }
    .pta-thankyou-grid { grid-template-columns: 1fr !important; }
    .pta-thankyou-check { display: none !important; }
    .pta-login-grid { grid-template-columns: 1fr !important; }
    .pta-login-card { padding: 20px !important; }
    .pta-punten-banner, .pta-punten-uitleg-banner { flex-direction: column !important; align-items: flex-start !important; }
    .pta-punten-saldo { width: 100% !important; flex-direction: row !important; justify-content: center !important; gap: 8px !important; }
    .pta-address-card-header { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
    .pta-welcome-icon { font-size: 30px !important; }
    .pta-welcome-text h2 { font-size: 20px !important; }
    .woocommerce-orders-table thead, table.my_account_points_rewards thead { display: none !important; }
    .woocommerce-orders-table tbody tr, table.my_account_points_rewards tbody tr { display: block !important; background: #fdf6ee !important; border: 1px solid #f0e2cc !important; border-radius: 6px !important; margin-bottom: 12px !important; }
    .woocommerce-orders-table td, table.my_account_points_rewards tbody td { display: flex !important; justify-content: space-between !important; border-bottom: 1px solid #f0e2cc !important; padding: 10px 14px !important; }
    .woocommerce-orders-table td:last-child, table.my_account_points_rewards tbody td:last-child { border-bottom: none !important; }
    .woocommerce-orders-table td::before, table.my_account_points_rewards tbody td::before { content: attr(data-title) !important; font-weight: 700 !important; color: #7a1515 !important; font-size: 12px !important; text-transform: uppercase !important; flex-shrink: 0 !important; margin-right: 8px !important; }
    .wc_points_redeem_earn_points,
    .woocommerce-checkout .wc_points_redeem_earn_points { flex-direction: column !important; align-items: flex-start !important; }
}

/* ==========================================================================
   BS TOOLS   BEZORGTIJD & ANNULEREN
   Styling voor de bezorgtijd-melding op de checkout en de annuleer-
   knoppen in Mijn Account ? Bestellingen.
   ========================================================================== */

/* ----------------------------------------------------------
   1. Bezorgtijd melding   Checkout (boven "Bestelling plaatsen")
   ---------------------------------------------------------- */
.bs-delivery-notice {
    background: linear-gradient(135deg, #fdf6ee 0%, #fff8f0 100%);
    border: 2px solid #e8c99a;
    border-left: 5px solid #7a1515;
    border-radius: 0 8px 8px 0;
    color: #3a2a1a;
    box-shadow: 0 2px 8px rgba(122, 21, 21, 0.08);
}

.bs-delivery-notice strong {
    color: #7a1515;
}

.bs-delivery-row--pickup {
    border-top: 1px dashed #e8c99a;
}

/* ----------------------------------------------------------
   2. Annuleer knop   Mijn Account ? Bestellingen
   ---------------------------------------------------------- */
.woocommerce-button.bs_cancel,
a.woocommerce-button.bs_cancel {
    background: #fff !important;
    color: #7a1515 !important;
    border: 2px solid #7a1515 !important;
    border-radius: 6px !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    white-space: nowrap;
}

.woocommerce-button.bs_cancel:hover,
a.woocommerce-button.bs_cancel:hover {
    background: #7a1515 !important;
    color: #fff !important;
    transform: translateY(-1px);
}

/* ----------------------------------------------------------
   3. "Annulering niet meer mogelijk"   verlopen venster
   ---------------------------------------------------------- */
.woocommerce-button.bs_no_cancel,
a.woocommerce-button.bs_no_cancel {
    background: #f5f5f5 !important;
    color: #999 !important;
    border: 2px solid #e0e0e0 !important;
    border-radius: 6px !important;
    padding: 7px 14px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

@media (max-width: 600px) {
    .bs-delivery-notice {
        font-size: 13px;
        padding: 10px 12px;
    }

    .woocommerce-button.bs_cancel,
    .woocommerce-button.bs_no_cancel {
        font-size: 12px !important;
        padding: 6px 10px !important;
    }
}

/* ----------------------------------------------------------
   Bestelling bekijken   thumbnail naast productnaam
   ---------------------------------------------------------- */
.woocommerce-table--order-details .product-name {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pta-order-item-thumb-link {
    flex-shrink: 0;
}

.pta-order-item-img {
    display: block;
    width: 52px;
    height: 52px;
    object-fit: cover;
    border-radius: 4px;
}

/* ==========================================================================
   BESTELNOTITIES - Uitklapbaar via JS knop
   ========================================================================== */
#pta-notes-toggle {
    background: none !important;
    border: none !important;
    border-top: 1px solid #f0e2cc !important;
    color: #7a1515 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 12px 0 !important;
    width: 100% !important;
    text-align: left !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: inherit !important;
}

#pta-notes-toggle:hover {
    color: #a01e1e !important;
}

.pta-notes-arrow {
    font-size: 22px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
}

/* Verberg wrapper als JS collapsible actief is */
.pta-notes-collapsible .woocommerce-additional-fields__field-wrapper {
    display: none !important;
}

/* Zichtbaar als open */
.pta-notes-collapsible.pta-notes-open .woocommerce-additional-fields__field-wrapper {
    display: block !important;
    padding-top: 8px !important;
}