/**
 * Atelier Lambert — WooCommerce Natif (sans Divi)
 * CSS unifié : produit, panier, checkout, shop/archives
 *
 * Emplacement : /wp-content/themes/divi-child/assets/css/atelier-lambert-woo.css
 */

/* =================================================================
   VARIABLES
   ================================================================= */

:root {
    --atelier-lambert-primary: #004A7C;
    --atelier-lambert-primary-hover: #1d4ed8;
    --atelier-lambert-text: #1f2937;
    --atelier-lambert-text-light: #6b7280;
    --atelier-lambert-text-muted: #9ca3af;
    --atelier-lambert-border: #e5e7eb;
    --atelier-lambert-bg: #ffffff;
    --atelier-lambert-bg-light: #f0f4f8;
    --atelier-lambert-bg-card: #ffffff;
    --atelier-lambert-success: #059669;
    --atelier-lambert-sale: #dc2626;
    --atelier-lambert-accent: #42b4e6;

    --atelier-lambert-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --atelier-lambert-max-width: 1280px;
    --atelier-lambert-gap: 48px;
    --atelier-lambert-radius: 8px;
    --atelier-lambert-radius-lg: 12px;
    --atelier-lambert-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --atelier-lambert-shadow-lg: 0 4px 12px rgba(0,0,0,0.08);
}

/* =================================================================
   RESET & BASE
   ================================================================= */

.atelier-lambert-page *, .atelier-lambert-page *::before, .atelier-lambert-page *::after {
    box-sizing: border-box;
}

.atelier-lambert-page {
    font-family: var(--atelier-lambert-font);
    font-size: 16px;
    color: var(--atelier-lambert-text);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    background: var(--atelier-lambert-bg-light);
    min-height: 60vh;
}

/* Neutraliser résidus Divi */
.atelier-lambert-page .et_pb_section,
.atelier-lambert-page .et_pb_row,
.atelier-lambert-page .et_pb_column,
.atelier-lambert-page .et_pb_module { all: unset; }

/* Divi injecte et_shop_image + et_overlay dans la boucle produit */
.atelier-lambert-page .et_shop_image {
    display: block;
    position: relative;
}
.atelier-lambert-page .et_overlay {
    display: none !important;
}

/* ── KILL GLOBAL : pseudo-éléments Divi sur liens, boutons, inputs ──
   Divi parent style.css injecte ::after (chevron ›) et ::before (overlay hover)
   sur tous les éléments interactifs. On tue tout dans le wrapper natif.
   Header/footer Divi sont HORS de .atelier-lambert-page → pas d'effet de bord. */
.atelier-lambert-page a::before,
.atelier-lambert-page a::after,
.atelier-lambert-page button::before,
.atelier-lambert-page button::after,
.atelier-lambert-page input[type="submit"]::before,
.atelier-lambert-page input[type="submit"]::after,
.atelier-lambert-page input[type="button"]::before,
.atelier-lambert-page input[type="button"]::after,
.atelier-lambert-page .button::before,
.atelier-lambert-page .button::after {
    content: none !important;
    display: none !important;
}

/* ── Neutraliser les effets hover résiduels Divi (transform, filter, opacity) ── */
.atelier-lambert-page a,
.atelier-lambert-page button,
.atelier-lambert-page input[type="submit"],
.atelier-lambert-page input[type="button"] {
    transform: none;
}
.atelier-lambert-page a:hover,
.atelier-lambert-page button:hover,
.atelier-lambert-page input[type="submit"]:hover,
.atelier-lambert-page input[type="button"]:hover {
    transform: none;
}

/* Reset WooCommerce default button styles dans le contexte natif */
.atelier-lambert-page .woocommerce a.button,
.atelier-lambert-page .woocommerce button.button,
.atelier-lambert-page .woocommerce input.button,
.atelier-lambert-page .woocommerce .button,
.atelier-lambert-page a.button,
.atelier-lambert-page button.button,
.atelier-lambert-page input.button {
    background: var(--atelier-lambert-accent);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.2s, box-shadow 0.2s;
    box-shadow: none;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.4;
}
.atelier-lambert-page .woocommerce a.button:hover,
.atelier-lambert-page .woocommerce button.button:hover,
.atelier-lambert-page .woocommerce input.button:hover,
.atelier-lambert-page .woocommerce .button:hover,
.atelier-lambert-page a.button:hover,
.atelier-lambert-page button.button:hover,
.atelier-lambert-page input.button:hover {
    filter: brightness(0.9);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    color: #fff;
}

.atelier-lambert-container {
    max-width: var(--atelier-lambert-max-width);
    margin: 0 auto;
    padding: 24px 20px 60px;
}

/* Fil d'Ariane */
.atelier-lambert-page .woocommerce-breadcrumb {
    font-size: 13px;
    color: var(--atelier-lambert-text-light);
    margin-bottom: 24px;
}
.atelier-lambert-page .woocommerce-breadcrumb a {
    color: var(--atelier-lambert-primary);
    text-decoration: none;
}

/* Notices — Toast compact, sous le header
   Sélecteur global (la notice peut être hors .atelier-lambert-page) */
.atelier-lambert-page .woocommerce-message,
.atelier-lambert-page .woocommerce-info,
.atelier-lambert-page .woocommerce-error,
.atelier-lambert-page .woocommerce-notices-wrapper .woocommerce-message,
.atelier-lambert-page .woocommerce-notices-wrapper .woocommerce-info,
.atelier-lambert-page .woocommerce-notices-wrapper .woocommerce-error {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    z-index: 10;
    max-width: 100%;
    padding: 12px 18px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    margin: 0 0 16px !important;
    background: #fff !important;
    color: var(--atelier-lambert-text) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
    border: none !important;
    border-left: 4px solid #00AEEF !important;
    list-style: none !important;
}
.atelier-lambert-page .woocommerce-error {
    border-left-color: var(--atelier-lambert-sale) !important;
    color: var(--atelier-lambert-text) !important;
}
.atelier-lambert-page .woocommerce-error li {
    color: var(--atelier-lambert-text) !important;
    font-size: 13px !important;
    line-height: 1.5;
}
.atelier-lambert-page .woocommerce-info {
    border-left-color: var(--atelier-lambert-text-muted) !important;
}
.atelier-lambert-page .woocommerce-message a.button,
.atelier-lambert-page .woocommerce-message .restore-item {
    display: inline-block;
    margin-top: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #00AEEF !important;
    text-decoration: underline;
    background: none !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
}

/* =================================================================
   BOUTONS COMMUNS
   ================================================================= */

.atelier-lambert-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s, filter 0.2s;
    text-decoration: none;
    line-height: 1.4;
}

.atelier-lambert-btn--primary {
    background: var(--atelier-lambert-accent);
    color: #fff;
}
.atelier-lambert-btn--primary:hover {
    filter: brightness(0.9);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    color: #fff;
}

.atelier-lambert-btn--outline,
.atelier-lambert-page .atelier-lambert-btn--outline {
    background: transparent;
    color: var(--atelier-lambert-primary);
    border: 1px solid var(--atelier-lambert-primary);
}
.atelier-lambert-btn--outline:hover,
.atelier-lambert-page .atelier-lambert-btn--outline:hover {
    background: var(--atelier-lambert-primary);
    color: #fff;
    filter: none;
}

.atelier-lambert-btn--full { width: 100%; }

/* =================================================================
   FICHE PRODUIT
   ================================================================= */

/* minmax(0, 1fr) : empêche le contenu (images cassées, alt text long)
   d'étirer une colonne au-delà de 50%. Avec 1fr seul, le minimum
   implicite est auto = le contenu dicte la largeur min. */
.atelier-lambert-product__main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--atelier-lambert-gap);
    align-items: start;
    margin-bottom: 48px;
    position: relative;
    z-index: 1;
}

.atelier-lambert-product__gallery {
    position: sticky;
    top: 24px;
    z-index: 2;
    overflow: hidden; /* contient la galerie dans sa colonne grid */
}

/* min-height : garde le layout 2 colonnes stable même si les images ne chargent pas */
.atelier-lambert-product__gallery .woocommerce-product-gallery { margin: 0; padding: 0; width: 100% !important; min-height: 300px; }
.atelier-lambert-product__gallery .woocommerce-product-gallery .flex-viewport { width: 100%; }
.atelier-lambert-product__gallery .woocommerce-product-gallery__image img {
    width: 100%; height: auto;
    border-radius: var(--atelier-lambert-radius);
}

.atelier-lambert-product__gallery .flex-control-thumbs {
    display: flex; gap: 8px; margin-top: 12px;
    padding: 0; list-style: none;
}
.atelier-lambert-product__gallery .flex-control-thumbs li { flex: 0 0 auto; width: 72px; }
.atelier-lambert-product__gallery .flex-control-thumbs li img {
    border-radius: 4px; border: 2px solid transparent;
    cursor: pointer; transition: border-color 0.2s;
}
.atelier-lambert-product__gallery .flex-control-thumbs li img.flex-active,
.atelier-lambert-product__gallery .flex-control-thumbs li img:hover {
    border-color: var(--atelier-lambert-primary);
}

.atelier-lambert-product__gallery .onsale {
    position: absolute; top: 12px; left: 12px;
    background: var(--atelier-lambert-sale); color: #fff;
    font-size: 12px; font-weight: 700;
    padding: 4px 12px; border-radius: 4px; z-index: 2;
    text-transform: uppercase; letter-spacing: 0.5px;
}

/* Card zone d'achat — détache le summary du fond */
.atelier-lambert-product__summary {
    max-width: 540px;
    background: #fff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.atelier-lambert-product__summary .product_title {
    font-size: 2rem; font-weight: 800; line-height: 1.2; margin: 0 0 12px;
    color: var(--atelier-lambert-text);
}
.atelier-lambert-product__summary .woocommerce-product-rating {
    margin-bottom: 16px; display: flex; align-items: center; gap: 8px;
}
.atelier-lambert-product__summary .price {
    font-size: 26px; font-weight: 800; margin-bottom: 8px;
    color: #1a1a2e;
}
.atelier-lambert-product__summary .price del { color: var(--atelier-lambert-text-muted); font-weight: 400; font-size: 18px; }
.atelier-lambert-product__summary .price ins { text-decoration: none; color: var(--atelier-lambert-sale); font-weight: 800; }

/* Notice « personnalisation en sus » — sous le prix */
.al-perso-notice {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 20px;
    padding: 10px 14px;
    background: #f0fff4;
    border-left: 3px solid #2ecc71;
    border-radius: var(--atelier-lambert-radius);
    font-size: 13px;
    line-height: 1.5;
    color: var(--atelier-lambert-text-light);
}
.al-perso-notice__icon {
    flex-shrink: 0;
    margin-top: 2px;
    color: #2ecc71;
}

/* Notice personnalisation panier (total) */
.al-cart-info--perso {
    background: #f0fff4;
    border-color: #2ecc71;
    color: var(--atelier-lambert-text);
}

/* Mention courte par ligne produit panier */
.al-perso-notice-inline {
    font-size: 12px;
    line-height: 1.3;
    color: #2ecc71;
    font-style: italic;
    margin-top: 4px;
}

.atelier-lambert-product__summary .woocommerce-product-details__short-description {
    font-size: 15px; color: var(--atelier-lambert-text-light); line-height: 1.7; margin-bottom: 24px;
}

/* ── VARIATIONS ──
   Approche TABLE-NATIVE pour le <table> WooCommerce par défaut :
   On ne change PAS display sur table/tr/th/td (les browsers protègent
   les éléments table). On utilise vertical-align: middle pour centrer.
   Si variable.php custom est déployé (<div>), le bloc DIV en bas prend le relais. */

/* Table : garder le rendu natif, juste nettoyer les bordures */
.atelier-lambert-page--product .atelier-lambert-product__summary .variations {
    width: 100% !important;
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border: none !important;
    border-collapse: collapse !important;
}
/* Cellules — vertical-align: middle = centrage natif des tables */
.atelier-lambert-page--product .atelier-lambert-product__summary .variations th.label,
.atelier-lambert-page--product .atelier-lambert-product__summary .variations td.value {
    vertical-align: middle !important;
    padding: 6px 8px !important;
    border: none !important;
    background: transparent !important;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .variations th.label {
    text-align: right !important;
    white-space: nowrap !important;
    width: 80px !important;
    padding-right: 16px !important;
}
/* Style du label */
.atelier-lambert-page--product .atelier-lambert-product__summary .variations th.label label,
.atelier-lambert-page--product .atelier-lambert-product__summary .variations__label label {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--atelier-lambert-text-muted) !important;
    white-space: nowrap !important;
}
/* Cellule valeur — position relative pour ancrer "Effacer" en absolu */
.atelier-lambert-page--product .atelier-lambert-product__summary .variations td.value {
    max-width: 300px !important;
    position: relative !important;
}
/* Select custom */
.atelier-lambert-page--product .atelier-lambert-product__summary .variations select {
    width: 100% !important;
    max-width: 300px !important;
    height: 42px !important;
    padding: 0 40px 0 14px !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    line-height: 42px !important;
    background: #fff !important;
    color: var(--atelier-lambert-text) !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 12px 8px !important;
    transition: border-color 0.3s, box-shadow 0.3s;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .variations select:focus {
    outline: none !important;
    border-color: #00AEEF !important;
    box-shadow: 0 0 0 3px rgba(0, 174, 239, 0.12) !important;
}
/* Effacer — hors flux, positionné sous le dernier select sans décaler les lignes */
.atelier-lambert-page--product .atelier-lambert-product__summary .variations .reset_variations {
    position: absolute !important;
    right: 0 !important;
    top: 100% !important;
    margin-top: 2px !important;
    font-size: 12px !important;
    color: var(--atelier-lambert-text-muted) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .variations .reset_variations:hover {
    color: var(--atelier-lambert-primary) !important;
}

/* ── Si variable.php custom est déployé (structure <div>) ── */
.atelier-lambert-page--product .atelier-lambert-product__summary .variations__row {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    margin-bottom: 12px !important;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .variations__label {
    flex: 0 0 auto !important;
    min-width: 70px !important;
    text-align: right !important;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .variations__value {
    flex: 1 1 200px !important;
    max-width: 300px !important;
    min-width: 0 !important;
}

/* Form cart — block pour que variations + qty/bouton s'empilent normalement */
.atelier-lambert-page--product .atelier-lambert-product__summary .cart,
.atelier-lambert-product__summary form.cart {
    display: block;
    margin-bottom: 24px;
}
/* Wrapper qty + ATC — même ligne, bouton prend l'espace restant.
   Pour produits variables : .woocommerce-variation-add-to-cart
   Pour produits simples : form.cart directement (pas de wrapper) */
.atelier-lambert-product__summary .woocommerce-variation-add-to-cart,
.atelier-lambert-product__summary form.cart:not(.variations_form) {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.atelier-lambert-product__summary .quantity {
    display: flex;
    align-items: center;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    flex-shrink: 0;
}
.atelier-lambert-product__summary .quantity .qty {
    width: 72px;
    min-width: 72px;
    text-align: center;
    border: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    padding: 10px 4px;
    background: transparent;
    color: var(--atelier-lambert-text);
    -moz-appearance: textfield;
    -webkit-appearance: none;
    appearance: none;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .quantity .qty::-webkit-inner-spin-button,
.atelier-lambert-page--product .atelier-lambert-product__summary .quantity .qty::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .quantity .qty:focus {
    outline: none !important;
}

/* Bouton ATC — CTA principal, largeur auto (pas flex:1 = pas full width) */
.atelier-lambert-page--product .atelier-lambert-product__summary .single_add_to_cart_button {
    padding: 12px 32px !important;
    background: #00AEEF !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border: 1px solid #00AEEF !important;
    border-radius: 6px !important;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s, transform 0.1s;
    text-align: center;
    line-height: 1.4;
    box-shadow: 0 4px 12px rgba(0, 174, 239, 0.25) !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
/* Icône panier retirée — le kill global ::before est nécessaire pour neutraliser Divi */
.atelier-lambert-page--product .atelier-lambert-product__summary .single_add_to_cart_button:hover {
    background: #0077B6 !important;
    box-shadow: 0 6px 16px rgba(0, 119, 182, 0.35) !important;
    color: #fff !important;
    filter: none !important;
}
.atelier-lambert-page--product .atelier-lambert-product__summary .single_add_to_cart_button:active {
    box-shadow: 0 2px 6px rgba(0, 119, 182, 0.2) !important;
    transform: translateY(1px) !important;
}
.atelier-lambert-page--product .single_add_to_cart_button.disabled,
.atelier-lambert-page--product .single_add_to_cart_button.wc-variation-selection-needed {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    box-shadow: none !important;
}

/* Wishlist (TI WishList) sous le bouton ATC */
.atelier-lambert-product__summary .tinv-wraper {
    width: 100%;
}
.atelier-lambert-product__summary .tinvwl_add_to_wishlist_button {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--atelier-lambert-text-muted);
}
/* Icône coeur — spécificité haute pour battre le kill global */
.atelier-lambert-page--product .atelier-lambert-product__summary .tinvwl_add_to_wishlist_button::before {
    content: "" !important;
    display: inline-block !important;
    width: 16px;
    height: 16px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E") no-repeat center/contain;
    flex-shrink: 0;
}
.atelier-lambert-product__summary .tinvwl_add_to_wishlist_button:hover::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23ef4444' stroke='%23ef4444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E");
}
    text-decoration: none;
    padding: 6px 0;
    transition: color 0.2s;
}
.atelier-lambert-product__summary .tinvwl_add_to_wishlist_button:hover {
    color: var(--atelier-lambert-sale);
}

/* Meta */
.atelier-lambert-product__summary .product_meta {
    font-size: 13px;
    color: var(--atelier-lambert-text-muted);
    padding-top: 20px;
    border-top: 1px solid var(--atelier-lambert-border);
    margin-top: 24px;
}
.atelier-lambert-product__summary .product_meta > span { display: block; margin-bottom: 4px; }
.atelier-lambert-product__summary .product_meta a { color: var(--atelier-lambert-primary); text-decoration: none; }

/* Kill résidus Divi/WooCommerce layout sur fiche produit */
.atelier-lambert-page--product .product {
    float: none !important;
    width: 100% !important;
    overflow: visible;
}
.atelier-lambert-page--product .product::before,
.atelier-lambert-page--product .product::after {
    content: none !important;
    display: none !important;
}
/* Neutraliser clearfix Divi (ne PAS masquer : wrape la galerie) */
.atelier-lambert-page--product .clearfix,
.atelier-lambert-page--product .clear {
    float: none !important;
    clear: none !important;
    overflow: visible;
    width: 100%;
}
.atelier-lambert-page--product .clearfix::before,
.atelier-lambert-page--product .clearfix::after,
.atelier-lambert-page--product .clear::before,
.atelier-lambert-page--product .clear::after {
    content: none !important;
    display: none !important;
}

/* Onglets */
.atelier-lambert-product__bottom {
    margin-bottom: 48px;
    clear: both;
    position: relative;
    z-index: 0;
}
/* Onglets — style app moderne : tabs pill + panel card */
.atelier-lambert-product__bottom .woocommerce-tabs {
    margin-bottom: 40px;
}
/* Barre d'onglets */
.atelier-lambert-product__bottom .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs {
    list-style: none !important;
    display: flex !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 0 0 0 !important;
    background: transparent !important;
    border: none !important;
}
/* Chaque onglet — fond gris clair, coins arrondis en haut */
.atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: #f0f1f3 !important;
    border-radius: 10px 10px 0 0 !important;
    transition: background 0.2s;
}
.atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li:hover,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li:hover {
    background: #e4e6ea !important;
}
/* Onglet actif — blanc, liseré bleu en bas */
.atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li.active,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li.active {
    background: #fff !important;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.04);
    border-bottom: 3px solid var(--atelier-lambert-primary) !important;
}
/* Lien dans l'onglet */
.atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li a,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li a {
    display: block !important; padding: 14px 24px !important;
    font-size: 14px !important; font-weight: 600 !important;
    color: #666 !important; text-decoration: none !important;
    background: transparent !important;
    border: none !important;
    transition: color 0.2s;
}
.atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li.active a {
    color: var(--atelier-lambert-primary) !important;
}
.atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.wc-tabs li a:hover {
    color: var(--atelier-lambert-text) !important;
}
/* Panel — card blanche avec ombre */
.atelier-lambert-product__bottom .woocommerce-tabs .panel,
.woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    background: #fff !important;
    padding: 30px !important;
    border-radius: 0 12px 12px 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    color: var(--atelier-lambert-text);
}
/* Le h2 "Description" / "Informations…" est redondant avec l'onglet actif */
.atelier-lambert-product__bottom .woocommerce-tabs .panel h2 {
    display: none;
}

.atelier-lambert-product__bottom .shop_attributes { width: 100%; border-collapse: collapse; }
.atelier-lambert-product__bottom .shop_attributes th,
.atelier-lambert-product__bottom .shop_attributes td {
    padding: 10px 16px; border-bottom: 1px solid var(--atelier-lambert-border); font-size: 14px;
}
.atelier-lambert-product__bottom .shop_attributes th {
    font-weight: 600; width: 35%; background: var(--atelier-lambert-bg-light);
}

/* Produits liés — containment + card styling */
.atelier-lambert-product__bottom .related.products > h2,
.atelier-lambert-product__bottom .upsells.products > h2 {
    font-size: 22px; font-weight: 700; margin-bottom: 24px;
}
/* Section produits similaires / upsells */
.atelier-lambert-product__bottom .related.products,
.atelier-lambert-product__bottom .upsells.products {
    overflow: visible;
    padding: 0;
    margin: 0 0 48px 0;
    width: 100%;
}
/* Grille produits — woocommerce-general est dequeue, nos sélecteurs BEM suffisent */
.atelier-lambert-product__bottom ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}
/* Sécurité : supprimer les clearfix résiduels (plugins tiers) */
.atelier-lambert-product__bottom ul.products::before,
.atelier-lambert-product__bottom ul.products::after {
    content: none;
    display: none;
}
/* Card produit */
.atelier-lambert-product__bottom ul.products li.product {
    text-align: center;
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    padding: 20px;
    box-shadow: var(--atelier-lambert-shadow);
    overflow: hidden;
    margin: 0;
}
/* Kill wrappers Divi dans la boucle produits similaires */
.atelier-lambert-product__bottom ul.products li.product .et_shop_image {
    display: block !important;
    position: relative;
    overflow: hidden;
    border-radius: var(--atelier-lambert-radius);
    margin-bottom: 12px;
}
.atelier-lambert-product__bottom ul.products li.product .et_overlay {
    display: none !important;
}
.atelier-lambert-product__bottom ul.products li.product a {
    text-decoration: none;
    color: var(--atelier-lambert-text);
}
.atelier-lambert-product__bottom ul.products li.product a img {
    width: 100%;
    height: auto;
    border-radius: var(--atelier-lambert-radius);
    margin-bottom: 12px;
    aspect-ratio: 1;
    object-fit: cover;
}
.atelier-lambert-product__bottom ul.products li.product .woocommerce-loop-product__title,
.atelier-lambert-product__bottom ul.products li.product h2 {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.4;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.atelier-lambert-product__bottom ul.products li.product .price {
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
    color: var(--atelier-lambert-text);
}
.atelier-lambert-product__bottom ul.products li.product .button {
    display: inline-block;
    padding: 8px 20px;
    background: transparent;
    color: var(--atelier-lambert-primary);
    border: 1px solid var(--atelier-lambert-primary);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
}
.atelier-lambert-product__bottom ul.products li.product .button:hover {
    background: var(--atelier-lambert-primary);
    color: #fff;
}

/* --- Fallback : onglets/produits hors __bottom (siblings dans .atelier-lambert-product) ---
   Si un hook Divi parasite ferme __bottom prématurément, ces règles
   garantissent que les onglets et produits similaires restent stylés. */
.atelier-lambert-product > .woocommerce-tabs {
    margin-bottom: 40px;
    clear: both;
}
.atelier-lambert-product > .woocommerce-tabs ul.tabs {
    list-style: none !important;
    display: flex !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}
.atelier-lambert-product > .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: #f0f1f3 !important;
    border-radius: 10px 10px 0 0 !important;
    transition: background 0.2s;
}
.atelier-lambert-product > .woocommerce-tabs ul.tabs li:hover {
    background: #e4e6ea !important;
}
.atelier-lambert-product > .woocommerce-tabs ul.tabs li.active {
    background: #fff !important;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.04);
    border-bottom: 3px solid var(--atelier-lambert-primary) !important;
}
.atelier-lambert-product > .woocommerce-tabs ul.tabs li a {
    display: block !important; padding: 14px 24px !important;
    font-size: 14px !important; font-weight: 600 !important;
    color: #666 !important; text-decoration: none !important;
    background: transparent !important; border: none !important;
    transition: color 0.2s;
}
.atelier-lambert-product > .woocommerce-tabs ul.tabs li.active a {
    color: var(--atelier-lambert-primary) !important;
}
.atelier-lambert-product > .woocommerce-tabs ul.tabs li a:hover {
    color: var(--atelier-lambert-text) !important;
}
.atelier-lambert-product > .woocommerce-tabs .panel {
    background: #fff !important;
    padding: 30px !important;
    border-radius: 0 12px 12px 12px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
    font-size: 15px; line-height: 1.7; margin: 0;
    color: var(--atelier-lambert-text);
}
.atelier-lambert-product > .woocommerce-tabs .panel h2 { display: none; }
.atelier-lambert-product > .woocommerce-tabs .shop_attributes { width: 100%; border-collapse: collapse; }
.atelier-lambert-product > .woocommerce-tabs .shop_attributes th,
.atelier-lambert-product > .woocommerce-tabs .shop_attributes td {
    padding: 10px 16px; border-bottom: 1px solid var(--atelier-lambert-border); font-size: 14px;
}
.atelier-lambert-product > .woocommerce-tabs .shop_attributes th {
    font-weight: 600; width: 35%; background: var(--atelier-lambert-bg-light);
}
.atelier-lambert-product > .related.products > h2,
.atelier-lambert-product > .upsells.products > h2 {
    font-size: 22px; font-weight: 700; margin-bottom: 24px;
}
.atelier-lambert-product > .related.products,
.atelier-lambert-product > .upsells.products {
    overflow: hidden;
    margin-bottom: 48px;
}
.atelier-lambert-product > .related.products ul.products,
.atelier-lambert-product > .upsells.products ul.products {
    display: grid !important; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important; gap: 20px !important;
    list-style: none !important; padding: 0 !important; margin: 0 !important;
    width: 100% !important; float: none !important;
}
.atelier-lambert-product > section.related ul.products li.product,
.atelier-lambert-product > section.upsells ul.products li.product {
    text-align: center;
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    padding: 16px;
    box-shadow: var(--atelier-lambert-shadow);
    overflow: hidden;
}
.atelier-lambert-product > section.related ul.products li.product a,
.atelier-lambert-product > section.upsells ul.products li.product a {
    text-decoration: none;
    color: var(--atelier-lambert-text);
}
.atelier-lambert-product > section.related ul.products li.product a img,
.atelier-lambert-product > section.upsells ul.products li.product a img {
    width: 100%; height: auto;
    border-radius: var(--atelier-lambert-radius);
    margin-bottom: 12px;
    aspect-ratio: 1;
    object-fit: cover;
}
.atelier-lambert-product > section.related ul.products li.product .woocommerce-loop-product__title,
.atelier-lambert-product > section.related ul.products li.product h2,
.atelier-lambert-product > section.upsells ul.products li.product .woocommerce-loop-product__title,
.atelier-lambert-product > section.upsells ul.products li.product h2 {
    font-size: 14px !important; font-weight: 600 !important; line-height: 1.4; margin-bottom: 6px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.atelier-lambert-product > section.related ul.products li.product .price,
.atelier-lambert-product > section.upsells ul.products li.product .price {
    font-size: 16px; font-weight: 700; margin-bottom: 8px;
}
.atelier-lambert-product > section.related ul.products li.product .button,
.atelier-lambert-product > section.upsells ul.products li.product .button {
    display: inline-block; padding: 8px 20px;
    background: transparent; color: var(--atelier-lambert-primary);
    border: 1px solid var(--atelier-lambert-primary);
    border-radius: 6px; font-size: 13px; font-weight: 600;
}
.atelier-lambert-product > section.related ul.products li.product .button:hover,
.atelier-lambert-product > section.upsells ul.products li.product .button:hover {
    background: var(--atelier-lambert-primary); color: #fff;
}

/* =================================================================
   PANIER
   ================================================================= */

.atelier-lambert-page--cart { background: var(--atelier-lambert-bg-light); }

.atelier-lambert-page--cart .atelier-lambert-container {
    max-width: var(--atelier-lambert-max-width);
}

/* --- En-tête panier (icône + titre) --- */
.atelier-lambert-cart-header {
    text-align: center;
    margin-bottom: 8px;
}

.atelier-lambert-cart-header__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    background: #eaecef;
    border-radius: 12px;
    margin-bottom: 12px;
}

.atelier-lambert-cart-header__icon svg {
    width: 36px;
    height: 36px;
    stroke: var(--atelier-lambert-sale);
}

.atelier-lambert-cart-header h1 {
    font-size: 32px;
    font-weight: 700;
    color: var(--atelier-lambert-text);
    margin: 0;
}

.atelier-lambert-cart-header__back {
    display: inline-block;
    color: var(--atelier-lambert-primary);
    font-weight: 600;
    font-size: 15px;
    margin-bottom: 24px;
    text-decoration: underline;
}
.atelier-lambert-cart-header__back:hover {
    color: var(--atelier-lambert-primary-hover);
}

/* --- Layout 2 colonnes (produits + totaux) --- */
.atelier-lambert-cart__layout {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 32px;
    align-items: start;
}

.atelier-lambert-cart__main {
    min-width: 0;
}

/* --- Carte blanche contenant le tableau --- */
.atelier-lambert-cart__card {
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    box-shadow: var(--atelier-lambert-shadow);
    overflow: hidden;
}

/* --- Tableau produits --- */
.atelier-lambert-cart__table {
    width: 100%;
    border-collapse: collapse;
}

.atelier-lambert-cart__table thead th {
    padding: 14px 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--atelier-lambert-text);
    text-align: left;
    border-bottom: 1px solid var(--atelier-lambert-border);
    white-space: nowrap;
}

.atelier-lambert-cart__table tbody td {
    padding: 16px;
    vertical-align: middle;
    border-bottom: 1px solid var(--atelier-lambert-border);
    font-size: 15px;
}

.atelier-lambert-cart__table tbody tr:last-child td {
    border-bottom: none;
}

/* Colonnes tableau */
.atelier-lambert-cart__th--remove,
.atelier-lambert-cart__td--remove {
    width: 40px;
    text-align: center;
    padding-left: 12px !important;
    padding-right: 4px !important;
}

.atelier-lambert-cart__th--thumb,
.atelier-lambert-cart__td--thumb {
    width: 90px;
    padding-left: 4px !important;
    padding-right: 12px !important;
}

.atelier-lambert-cart__td--thumb a {
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
    border-radius: 6px;
    text-decoration: none;
    font-size: 0;
    line-height: 0;
    background: var(--atelier-lambert-bg-light);
}
.atelier-lambert-cart__td--thumb img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 6px;
    display: block;
}

.atelier-lambert-cart__td--product {
    font-weight: 500;
    line-height: 1.4;
    max-width: 280px;
}
.atelier-lambert-cart__td--product a {
    color: var(--atelier-lambert-text);
    text-decoration: none;
}
.atelier-lambert-cart__td--product a:hover {
    color: var(--atelier-lambert-primary);
}
.atelier-lambert-cart__td--product .variation {
    font-size: 13px;
    color: var(--atelier-lambert-text-light);
    margin-top: 4px;
}

.atelier-lambert-cart__th--price,
.atelier-lambert-cart__td--price {
    white-space: nowrap;
}

.atelier-lambert-cart__th--qty,
.atelier-lambert-cart__td--qty {
    text-align: center;
}

.atelier-lambert-cart__th--subtotal,
.atelier-lambert-cart__td--subtotal {
    text-align: right;
    white-space: nowrap;
    font-weight: 600;
    padding-right: 20px !important;
}

/* Bouton supprimer */
.atelier-lambert-cart__remove-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    color: var(--atelier-lambert-sale);
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 4px;
    transition: background 0.2s;
}
.atelier-lambert-cart__remove-btn:hover {
    background: rgba(220, 38, 38, 0.08);
}

/* Champ quantité dans le tableau */
/* Champ quantité — !important pour battre Divi parent style-static.css */
.atelier-lambert-cart__td--qty .quantity .qty,
.atelier-lambert-page .woocommerce .quantity input.qty,
.woocommerce-page .atelier-lambert-cart__td--qty .quantity input.qty {
    width: 90px !important;
    min-width: 90px !important;
    text-align: center !important;
    padding: 8px 4px !important;
    border: 1px solid var(--atelier-lambert-border) !important;
    border-radius: 6px !important;
    font-size: 15px !important;
    font-weight: 600;
    background: var(--atelier-lambert-bg) !important;
    color: var(--atelier-lambert-text) !important;
    line-height: 1.4 !important;
    -webkit-appearance: none;
    appearance: none;
}
.atelier-lambert-cart__td--qty .quantity .qty:focus {
    outline: none;
    border-color: var(--atelier-lambert-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* --- Actions panier (coupon + bouton MAJ) --- */
.atelier-lambert-cart__actions {
    padding: 16px 20px;
    text-align: center;
    border-top: 1px solid var(--atelier-lambert-border);
}

.atelier-lambert-cart__coupon {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
    justify-content: center;
}
.atelier-lambert-cart__coupon input {
    flex: 0 1 260px;
    padding: 10px 14px;
    border: 1px solid var(--atelier-lambert-border);
    border-radius: 6px;
    font-size: 14px;
}
.atelier-lambert-cart__coupon input:focus {
    outline: none;
    border-color: var(--atelier-lambert-primary);
}

/* Bouton "Mettre à jour le panier" — même design que "Valider la commande" */
.atelier-lambert-page--cart .atelier-lambert-btn--accent,
.atelier-lambert-page--cart button[name="update_cart"],
.atelier-lambert-page--cart button[name="update_cart"]:disabled {
    background: #00AEEF !important;
    color: #fff !important;
    border: none !important;
    border-radius: 28px;
    padding: 14px 40px !important;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background 0.25s, box-shadow 0.25s;
    filter: none !important;
}
.atelier-lambert-page--cart button[name="update_cart"]:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}
.atelier-lambert-page--cart .atelier-lambert-btn--accent:hover,
.atelier-lambert-page--cart button[name="update_cart"]:hover {
    background: #0077B6 !important;
    box-shadow: 0 4px 12px rgba(0, 119, 182, 0.3);
    color: #fff !important;
    filter: none !important;
}

/* --- Sidebar totaux (colonne droite) --- */
.atelier-lambert-cart__sidebar {
    position: sticky;
    top: 24px;
}

.atelier-lambert-cart__sidebar .cart_totals {
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    padding: 28px;
    box-shadow: var(--atelier-lambert-shadow);
}

.atelier-lambert-cart__sidebar .cart_totals h2 {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 20px;
    color: var(--atelier-lambert-text);
}

.atelier-lambert-cart__sidebar .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}

.atelier-lambert-cart__sidebar .cart_totals table th,
.atelier-lambert-cart__sidebar .cart_totals table td {
    padding: 12px 0;
    border-bottom: 1px solid var(--atelier-lambert-border);
    font-size: 15px;
    white-space: nowrap;
}

.atelier-lambert-cart__sidebar .cart_totals table th {
    text-align: left;
    font-weight: 600;
    color: var(--atelier-lambert-text);
}

.atelier-lambert-cart__sidebar .cart_totals table td {
    text-align: right;
    min-width: 120px;
}

.atelier-lambert-cart__sidebar .cart_totals .order-total th,
.atelier-lambert-cart__sidebar .cart_totals .order-total td {
    font-size: 18px;
    font-weight: 700;
    border-bottom: none;
    padding-top: 16px;
}

.atelier-lambert-cart__sidebar .wc-proceed-to-checkout {
    margin-top: 20px;
    overflow: hidden;
}

/* Bouton « Valider la commande » (injecté par wc-min-amount.php) */
.al-cart-checkout-btn,
.atelier-lambert-cart__sidebar .al-cart-checkout-btn,
.wc-proceed-to-checkout .al-cart-checkout-btn {
    display: block !important;
    width: 100% !important;
    padding: 16px 28px !important;
    background: #00AEEF !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 600;
    text-align: center;
    border: none !important;
    border-radius: 28px;
    cursor: pointer;
    text-decoration: none !important;
    transition: background 0.25s, box-shadow 0.25s;
    box-sizing: border-box;
    line-height: 1.4;
    position: relative;
}

/* Chevron › — position absolue = zéro impact sur le centrage du texte */
.atelier-lambert-page .al-cart-checkout-btn::after,
.wc-proceed-to-checkout .al-cart-checkout-btn::after {
    content: "›" !important;
    display: block !important;
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 22px;
    font-weight: 700;
    opacity: 0;
    transition: opacity 0.25s;
}
.atelier-lambert-page .al-cart-checkout-btn:hover::after,
.wc-proceed-to-checkout .al-cart-checkout-btn:hover::after {
    opacity: 1 !important;
}

.al-cart-checkout-btn:hover,
.atelier-lambert-cart__sidebar .al-cart-checkout-btn:hover,
.wc-proceed-to-checkout .al-cart-checkout-btn:hover {
    background: #0077B6 !important;
    box-shadow: 0 4px 12px rgba(0, 119, 182, 0.3);
    color: #fff !important;
    filter: none !important;
    opacity: 1 !important;
}

/* État désactivé (< 500 € HT) */
.al-cart-checkout-btn--disabled,
.atelier-lambert-cart__sidebar .al-cart-checkout-btn--disabled,
.wc-proceed-to-checkout .al-cart-checkout-btn--disabled {
    display: block !important;
    width: 100% !important;
    padding: 16px 20px !important;
    background: var(--atelier-lambert-bg-light) !important;
    color: var(--atelier-lambert-text-muted) !important;
    font-size: 14px !important;
    font-weight: 600;
    text-align: center;
    border: 1px solid var(--atelier-lambert-border) !important;
    border-radius: 8px;
    cursor: not-allowed;
    pointer-events: none;
    box-sizing: border-box;
    line-height: 1.4;
}

/* Messages info panier (seuil / devis) */
.al-cart-info {
    margin-bottom: 16px;
    padding: 14px 18px;
    border-radius: var(--atelier-lambert-radius);
    font-size: 14px;
    line-height: 1.5;
    border-left: 4px solid;
}
.al-cart-info--blocked {
    background: #fff5f5;
    border-color: var(--atelier-lambert-sale);
    color: var(--atelier-lambert-text);
}
.al-cart-info--quote {
    background: #f0fff4;
    border-color: var(--atelier-lambert-success);
    color: var(--atelier-lambert-text);
}

/* Fallback si le bouton natif WooCommerce est affiché (sans wc-min-amount) */
.atelier-lambert-cart__sidebar .checkout-button,
.atelier-lambert-cart__sidebar .wc-proceed-to-checkout a {
    display: block !important;
    width: 100% !important;
    padding: 16px 28px !important;
    background: #00AEEF !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 600;
    text-align: center;
    border: none !important;
    border-radius: 28px;
    cursor: pointer;
    text-decoration: none !important;
    transition: background 0.25s, box-shadow 0.25s;
    box-sizing: border-box;
    line-height: 1.4;
}
.atelier-lambert-cart__sidebar .checkout-button:hover,
.atelier-lambert-cart__sidebar .wc-proceed-to-checkout a:hover {
    background: #0077B6 !important;
    box-shadow: 0 4px 12px rgba(0, 119, 182, 0.3);
    color: #fff !important;
    filter: none !important;
}

/* =================================================================
   CHECKOUT
   ================================================================= */

.atelier-lambert-checkout__columns {
    display: grid;
    grid-template-columns: 1.4fr 0.6fr;
    gap: var(--atelier-lambert-gap);
    align-items: start;
}

.atelier-lambert-checkout__heading {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--atelier-lambert-border);
}

/* Formulaire */
.atelier-lambert-checkout__billing {
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    padding: 32px;
    box-shadow: var(--atelier-lambert-shadow);
}

.atelier-lambert-checkout .form-row {
    margin-bottom: 16px;
}
.atelier-lambert-checkout .form-row label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--atelier-lambert-text);
}
.atelier-lambert-checkout .form-row .input-text,
.atelier-lambert-checkout .form-row select,
.atelier-lambert-checkout .form-row textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid var(--atelier-lambert-border);
    border-radius: 6px;
    font-size: 15px;
    font-family: var(--atelier-lambert-font);
    transition: border-color 0.2s;
}
.atelier-lambert-checkout .form-row .input-text:focus,
.atelier-lambert-checkout .form-row select:focus,
.atelier-lambert-checkout .form-row textarea:focus {
    outline: none;
    border-color: var(--atelier-lambert-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.atelier-lambert-checkout .form-row-first,
.atelier-lambert-checkout .form-row-last {
    display: inline-block;
    width: calc(50% - 8px);
}
.atelier-lambert-checkout .form-row-first { margin-right: 16px; }

/* Résumé commande */
.atelier-lambert-checkout__order {
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    padding: 28px;
    box-shadow: var(--atelier-lambert-shadow);
    position: sticky;
    top: 24px;
}

.atelier-lambert-checkout__order table {
    width: 100%;
    border-collapse: collapse;
}
.atelier-lambert-checkout__order table th,
.atelier-lambert-checkout__order table td {
    padding: 10px 0;
    border-bottom: 1px solid var(--atelier-lambert-border);
    font-size: 14px;
}
.atelier-lambert-checkout__order table th { font-weight: 600; text-align: left; }
.atelier-lambert-checkout__order table td { text-align: right; white-space: nowrap; padding-left: 16px; }

.atelier-lambert-checkout__order .order-total th,
.atelier-lambert-checkout__order .order-total td {
    font-size: 18px;
    font-weight: 700;
    border-bottom: none;
    padding-top: 16px;
}

/* Méthodes de paiement */
.atelier-lambert-checkout__order .wc_payment_methods {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}
.atelier-lambert-checkout__order .wc_payment_method {
    padding: 12px 0;
    border-bottom: 1px solid var(--atelier-lambert-border);
}
.atelier-lambert-checkout__order .wc_payment_method label {
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
}
.atelier-lambert-checkout__order .payment_box {
    padding: 12px 0 4px 24px;
    font-size: 13px;
    color: var(--atelier-lambert-text-light);
}

/* ----------------------------------------------------------
   Classes WooCommerce natives (fallback Divi / avant déploiement)
   Cible le tableau résumé commande tel que rendu par WooCommerce
   nativement ou via les modules Divi WooCommerce.
   ---------------------------------------------------------- */
.woocommerce-checkout-review-order-table .product-total,
.woocommerce-checkout-review-order-table tfoot td,
.woocommerce-checkout-review-order-table .order-total td {
    white-space: nowrap;
    text-align: right;
    padding-left: 20px;
}

.woocommerce-checkout-review-order-table .product-name {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Totaux panier natif WooCommerce */
.cart_totals table td {
    white-space: nowrap;
    text-align: right;
    padding-left: 20px;
}

/* Quantité native WooCommerce */
.woocommerce table.shop_table .product-quantity input.qty {
    width: 110px;
}

/* Bouton commander */
.atelier-lambert-checkout #place_order,
.woocommerce #place_order {
    display: block;
    width: 100%;
    padding: 14px 28px;
    background: var(--atelier-lambert-success);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s, transform 0.15s;
    margin-top: 16px;
}
.atelier-lambert-checkout #place_order:hover,
.woocommerce #place_order:hover {
    filter: brightness(0.9);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* =================================================================
   SHOP / ARCHIVES
   ================================================================= */

.atelier-lambert-shop__title {
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 16px;
}

/* Layout 2 colonnes : sidebar filtres + grille produits */
.atelier-lambert-shop__layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 32px;
    align-items: start;
}

/* Pleine largeur si pas de sidebar active */
.atelier-lambert-shop__content--full { grid-column: 1 / -1; }

/* --- Sidebar filtres (BeRocket, etc.) --- */
.atelier-lambert-shop__sidebar {
    position: sticky;
    top: 24px;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
}

.atelier-lambert-sidebar__widget {
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    padding: 20px;
    margin-bottom: 16px;
    box-shadow: var(--atelier-lambert-shadow);
}

.atelier-lambert-sidebar__title {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--atelier-lambert-text);
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--atelier-lambert-primary);
}

/* Listes de filtres (catégories, attributs, etc.) */
.atelier-lambert-shop__sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.atelier-lambert-shop__sidebar ul li {
    padding: 6px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--atelier-lambert-border);
}

.atelier-lambert-shop__sidebar ul li:last-child {
    border-bottom: none;
}

.atelier-lambert-shop__sidebar ul li a {
    color: var(--atelier-lambert-text);
    text-decoration: none;
    transition: color 0.2s;
}

.atelier-lambert-shop__sidebar ul li a:hover {
    color: var(--atelier-lambert-primary);
}

/* Checkboxes BeRocket */
.atelier-lambert-shop__sidebar .berocket_aapf_widget input[type="checkbox"] {
    accent-color: var(--atelier-lambert-primary);
    margin-right: 8px;
}

/* Slider prix BeRocket */
.atelier-lambert-shop__sidebar .ui-slider {
    background: var(--atelier-lambert-border);
    border-radius: 4px;
    height: 6px;
    border: none;
}

.atelier-lambert-shop__sidebar .ui-slider .ui-slider-range {
    background: var(--atelier-lambert-primary);
}

.atelier-lambert-shop__sidebar .ui-slider .ui-slider-handle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--atelier-lambert-primary);
    border: 2px solid #fff;
    box-shadow: var(--atelier-lambert-shadow);
    top: -6px;
    cursor: pointer;
}

/* --- Toolbar --- */
.atelier-lambert-shop__toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--atelier-lambert-border);
}

.atelier-lambert-shop__toolbar .woocommerce-result-count {
    font-size: 14px;
    color: var(--atelier-lambert-text-light);
    margin: 0;
}

.atelier-lambert-shop__toolbar .woocommerce-ordering select {
    padding: 8px 36px 8px 12px;
    border: 1px solid var(--atelier-lambert-border);
    border-radius: 6px;
    font-size: 14px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
}

/* Grille produits — 3 colonnes quand sidebar active */
.atelier-lambert-shop__content ul.products {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* 4 colonnes si pleine largeur (pas de sidebar) */
.atelier-lambert-shop__content--full ul.products {
    grid-template-columns: repeat(4, 1fr);
}

.atelier-lambert-page--shop ul.products li.product {
    background: var(--atelier-lambert-bg-card);
    border-radius: var(--atelier-lambert-radius-lg);
    padding: 16px;
    text-align: center;
    box-shadow: var(--atelier-lambert-shadow);
    transition: box-shadow 0.2s, transform 0.2s;
}

.atelier-lambert-page--shop ul.products li.product:hover {
    box-shadow: var(--atelier-lambert-shadow-lg);
    transform: translateY(-2px);
}

.atelier-lambert-page--shop ul.products li.product a.woocommerce-LoopProduct-link {
    text-decoration: none;
    color: var(--atelier-lambert-text);
}

/* Wrapper lien image — masque le alt text si image absente */
.atelier-lambert-page--shop ul.products li.product a.woocommerce-LoopProduct-link img {
    width: 100%;
    height: auto;
    border-radius: var(--atelier-lambert-radius);
    margin-bottom: 12px;
    aspect-ratio: 1;
    object-fit: cover;
    font-size: 0;
    color: transparent;
    background: var(--atelier-lambert-bg-light);
}

.atelier-lambert-page--shop ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: 6px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.atelier-lambert-page--shop ul.products li.product .price {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
}

.atelier-lambert-page--shop ul.products li.product .button {
    display: inline-block;
    padding: 8px 20px;
    background: transparent;
    color: var(--atelier-lambert-primary);
    border: 1px solid var(--atelier-lambert-primary);
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
}
.atelier-lambert-page--shop ul.products li.product .button:hover {
    background: var(--atelier-lambert-primary);
    color: #fff;
}

/* Pagination */
.atelier-lambert-shop__pagination { margin-top: 32px; }
.atelier-lambert-shop__pagination .woocommerce-pagination {
    text-align: center;
}
.atelier-lambert-shop__pagination .page-numbers {
    display: inline-flex; gap: 4px; list-style: none; padding: 0;
}
.atelier-lambert-shop__pagination .page-numbers li a,
.atelier-lambert-shop__pagination .page-numbers li span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px;
    border-radius: 6px; font-size: 14px; font-weight: 600;
    text-decoration: none; transition: all 0.2s;
    color: var(--atelier-lambert-text);
}
.atelier-lambert-shop__pagination .page-numbers li a:hover {
    background: var(--atelier-lambert-bg-light);
}
.atelier-lambert-shop__pagination .page-numbers li span.current {
    background: var(--atelier-lambert-primary);
    color: #fff;
}

/* =================================================================
   RESPONSIVE
   ================================================================= */

@media (max-width: 1024px) {
    .atelier-lambert-product__main { gap: 32px; }
    .atelier-lambert-shop__layout { grid-template-columns: 220px 1fr; gap: 24px; }
    .atelier-lambert-shop__content ul.products { grid-template-columns: repeat(2, 1fr); }
    .atelier-lambert-shop__content--full ul.products { grid-template-columns: repeat(3, 1fr); }
    .atelier-lambert-checkout__columns { gap: 32px; }

    /* Panier — réduire la sidebar */
    .atelier-lambert-cart__layout {
        grid-template-columns: 1fr 320px;
        gap: 24px;
    }
}

@media (max-width: 768px) {

    /* Produit */
    .atelier-lambert-product__main { grid-template-columns: 1fr; gap: 24px; }
    .atelier-lambert-product__gallery { position: relative; top: 0; z-index: auto; }
    .atelier-lambert-product__summary {
        padding: 20px;
        border-radius: 8px;
    }
    .atelier-lambert-product__summary .product_title { font-size: 1.5rem; }
    .atelier-lambert-product__summary .cart { flex-direction: column; align-items: stretch; }
    .atelier-lambert-product__summary .single_add_to_cart_button { min-width: unset; flex: none; width: 100%; }


    .atelier-lambert-product__bottom .woocommerce-tabs ul.tabs,
    .atelier-lambert-product > .woocommerce-tabs ul.tabs {
        flex-direction: column !important; gap: 4px !important;
    }
    .atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li,
    .atelier-lambert-product > .woocommerce-tabs ul.tabs li {
        border-radius: 8px !important;
    }
    .atelier-lambert-product__bottom .woocommerce-tabs ul.tabs li.active,
    .atelier-lambert-product > .woocommerce-tabs ul.tabs li.active {
        border-bottom: none !important;
        border-left: 3px solid var(--atelier-lambert-primary) !important;
        border-radius: 8px !important;
    }
    .atelier-lambert-product__bottom .woocommerce-tabs .panel,
    .atelier-lambert-product > .woocommerce-tabs .panel {
        padding: 20px !important;
        border-radius: 12px !important;
    }
    .atelier-lambert-product__bottom .related.products ul.products,
    .atelier-lambert-product__bottom .upsells.products ul.products,
    .atelier-lambert-product > .related.products ul.products,
    .atelier-lambert-product > .upsells.products ul.products {
        grid-template-columns: repeat(2, 1fr); gap: 16px;
    }

    /* Shop — sidebar passe au-dessus en mobile */
    .atelier-lambert-shop__layout { grid-template-columns: 1fr; }
    .atelier-lambert-shop__sidebar {
        position: relative; top: 0;
        max-height: none;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .atelier-lambert-shop__content ul.products,
    .atelier-lambert-shop__content--full ul.products { grid-template-columns: repeat(2, 1fr); gap: 16px; }
    .atelier-lambert-shop__toolbar { flex-direction: column; align-items: flex-start; gap: 8px; }

    /* Checkout */
    .atelier-lambert-checkout__columns { grid-template-columns: 1fr; }
    .atelier-lambert-checkout__order { position: relative; top: 0; }
    .atelier-lambert-checkout .form-row-first,
    .atelier-lambert-checkout .form-row-last {
        width: 100%; display: block; margin-right: 0;
    }

    /* Panier — 2 colonnes → 1 colonne */
    .atelier-lambert-cart__layout {
        grid-template-columns: 1fr;
    }

    .atelier-lambert-cart__sidebar {
        position: relative;
        top: 0;
    }

    /* Tableau responsive : masquer thead, empiler les cellules */
    .atelier-lambert-cart__table thead {
        display: none;
    }

    .atelier-lambert-cart__table tbody tr {
        display: grid;
        grid-template-columns: 32px 70px 1fr;
        gap: 4px 12px;
        padding: 16px;
        border-bottom: 1px solid var(--atelier-lambert-border);
    }

    .atelier-lambert-cart__table tbody tr:last-child {
        border-bottom: none;
    }

    .atelier-lambert-cart__td--remove {
        grid-row: 1 / 6;
        grid-column: 1;
        display: flex;
        align-items: center;
        padding: 0 !important;
    }

    .atelier-lambert-cart__td--thumb {
        grid-row: 1 / 6;
        grid-column: 2;
        padding: 0 !important;
    }

    .atelier-lambert-cart__td--thumb img {
        width: 70px;
        height: 70px;
    }

    .atelier-lambert-cart__td--product {
        grid-row: 1;
        grid-column: 3;
        padding: 0 !important;
        font-weight: 600;
    }

    .atelier-lambert-cart__td--price {
        grid-row: 2;
        grid-column: 3;
        padding: 0 !important;
        font-size: 14px;
    }

    .atelier-lambert-cart__td--qty {
        grid-row: 3;
        grid-column: 3;
        padding: 0 !important;
        font-size: 14px;
        text-align: left;
    }

    .atelier-lambert-cart__td--subtotal {
        grid-row: 4;
        grid-column: 3;
        padding: 0 !important;
        font-size: 14px;
        text-align: left !important;
        padding-right: 0 !important;
    }

    /* Afficher les data-title comme labels mobile */
    .atelier-lambert-cart__td--price::before,
    .atelier-lambert-cart__td--qty::before,
    .atelier-lambert-cart__td--subtotal::before {
        content: attr(data-title) " : ";
        font-weight: 600;
        font-size: 13px;
        color: var(--atelier-lambert-text-light);
    }

    .atelier-lambert-cart-header h1 {
        font-size: 26px;
    }
}

@media (max-width: 480px) {
    .atelier-lambert-container { padding: 16px 16px 40px; }
    .atelier-lambert-product__summary .product_title { font-size: 1.3rem; }
    .atelier-lambert-product__summary { padding: 16px; }
    .atelier-lambert-page--shop ul.products li.product { padding: 12px; }
    .atelier-lambert-shop__sidebar { grid-template-columns: 1fr; }
    .atelier-lambert-checkout__billing { padding: 20px; }
    .atelier-lambert-checkout__order { padding: 20px; }
}
