/* ============================================================
   dll-wc.css — Styles Librairie DLL
   Basé sur l'audit des vraies classes du shortcode dll_librairie
   ============================================================ */

/* ---- Grille — spécificité renforcée ---- */
.woocommerce ul.products.columns-4,
.woocommerce-page ul.products.columns-4,
body ul.products.columns-4 {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 24px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
}

/* ---- Carte livre ---- */
article.livre-card {
    background: #fff;
    border: 1px solid #ece6d8;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .2s ease;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
}
article.livre-card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,.1);
}

/* ---- Couverture ---- */
.card-cover {
    position: relative;
    overflow: hidden;
    aspect-ratio: 2/3;
    background: #ece6d8;
    flex-shrink: 0;
}
.card-cover img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 !important;
}
.cover-ph {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.ph-init {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 700;
}
.ph-col {
    font-size: .62rem;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.card-overlay-badges {
    position: absolute;
    top: 8px; left: 8px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* ---- Corps de carte ---- */
.card-body {
    padding: 14px 14px 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}

/* ---- Collection ---- */
.card-col {
    font-size: .6rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #b8952a;
    display: block;
}

/* ---- Titre ---- */
h2.card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: .92rem;
    font-weight: 700;
    color: #1a2620;
    line-height: 1.3;
    margin: 0;
}
h2.card-title a {
    color: inherit;
    text-decoration: none;
}
h2.card-title a:hover { color: #2d3b35; }

/* ---- Auteur ---- */
p.card-auteur {
    font-size: .8rem;
    color: #686868;
    font-style: italic;
    margin: 0;
}

/* ---- Formats ---- */
.card-formats {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
}
.fmt-tag {
    font-size: .58rem;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    padding: 2px 7px;
    border-radius: 2px;
    border: 1px solid #ddd8cc;
    color: #686868;
}
.fmt-p { border-color: rgba(45,59,53,.4); color: #2d3b35; }
.fmt-n { border-color: rgba(122,179,168,.5); color: #5a9a8e; }

/* ---- Bloc prix ---- */
.prix-block {
    margin: 4px 0 0;
}
.prix-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 3px;
}
.prix-lbl {
    font-size: .65rem;
    color: #686868;
    font-weight: 600;
    letter-spacing: .05em;
    min-width: 52px;
}
.prix-val {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: .95rem;
    font-weight: 700;
    color: #b8952a;
}
.prix-val .woocommerce-Price-amount { color: #b8952a; }

/* ---- Statut ---- */
.card-statut {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}
.statut-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.statut-txt {
    font-size: .68rem;
    font-weight: 600;
    color: #686868;
}

/* ---- Zone CTA (bouton panier + lien fiche) ---- */
.card-cta {
    padding: 12px 14px 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: auto;
    border-top: 1px solid #f0ebe0;
}

/* Bouton "Ajouter au panier" */
a.btn-panier,
.card-cta .add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    width: 100% !important;
    padding: 10px 14px !important;
    background: #2d3b35 !important;
    color: #f5f0e8 !important;
    border: none !important;
    border-radius: 3px !important;
    font-size: .72rem !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background .18s !important;
    box-sizing: border-box !important;
}
a.btn-panier:hover,
.card-cta .add_to_cart_button:hover {
    background: #1a2620 !important;
    color: #f5f0e8 !important;
}
a.btn-panier svg { flex-shrink: 0; }

/* Ajouté au panier */
.added_to_cart {
    display: block;
    text-align: center;
    font-size: .7rem;
    color: #27ae60;
    font-weight: 600;
    text-decoration: none;
}

/* Lien "Voir la fiche" */
a.card-fiche-lnk {
    display: block !important;
    text-align: center !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    color: #b8952a !important;
    text-decoration: none !important;
    letter-spacing: .04em !important;
    padding: 0 0 4px !important;
    transition: color .15s !important;
}
a.card-fiche-lnk:hover { color: #d4b060 !important; }

/* ---- En-tête Librairie ---- */
.dll-lib-header {
    background: #2d3b35;
    padding: 56px 40px 48px;
}
.dll-lib-header__inner {
    max-width: 1200px;
    margin: 0 auto;
}
.dll-lib-header__eyebrow {
    font-size: .62rem; font-weight: 700;
    letter-spacing: .2em; text-transform: uppercase;
    color: #7ab3a8; margin-bottom: 12px; display: block;
}
.dll-lib-header__title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 2rem; font-weight: 700;
    color: #f5f0e8; margin-bottom: 10px;
}
.dll-lib-header__desc {
    font-size: .88rem; color: rgba(245,240,232,.65);
    line-height: 1.6; margin-bottom: 24px; max-width: 600px;
}
.dll-lib-header__stats { display: flex; gap: 32px; flex-wrap: wrap; }
.dll-lib-stat__num {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.8rem; font-weight: 700;
    color: #b8952a; display: block;
}
.dll-lib-stat__label {
    font-size: .6rem; font-weight: 700;
    letter-spacing: .15em; text-transform: uppercase;
    color: rgba(245,240,232,.5);
}

/* ---- Contenu principal ---- */
.dll-lib-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 36px 40px 80px;
}

/* ---- Barre tri ---- */
.woocommerce-ordering { margin-bottom: 20px; }
.woocommerce-ordering select {
    padding: 7px 12px; border: 1px solid #ece6d8;
    border-radius: 3px; font-size: .82rem; color: #1a2620; background: #fff;
}
.woocommerce-result-count {
    font-size: .82rem; color: #686868; margin-bottom: 16px; display: block;
}

/* ---- Pagination ---- */
.woocommerce-pagination { text-align: center; margin-top: 40px; }
.woocommerce-pagination ul {
    display: inline-flex; gap: 6px; list-style: none; padding: 0; margin: 0;
}
.woocommerce-pagination ul li a,
.woocommerce-pagination ul li span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 36px; height: 36px; border: 1px solid #ece6d8;
    border-radius: 3px; font-size: .82rem; color: #2d3b35; text-decoration: none; transition: all .18s;
}
.woocommerce-pagination ul li span.current,
.woocommerce-pagination ul li a:hover {
    background: #2d3b35; color: #f5f0e8; border-color: #2d3b35;
}

/* ---- Fiche produit individuelle ---- */
.woocommerce div.product .product_title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 1.8rem; font-weight: 700; color: #1a2620;
}
.woocommerce div.product .price { color: #b8952a; font-size: 1.4rem; font-weight: 700; }
.woocommerce div.product .single_add_to_cart_button {
    background: #2d3b35 !important; color: #f5f0e8 !important;
    border: none !important; border-radius: 3px !important;
    padding: 12px 28px !important; font-size: .8rem !important;
    font-weight: 700 !important; letter-spacing: .1em !important;
    text-transform: uppercase !important; transition: background .18s !important;
}
.woocommerce div.product .single_add_to_cart_button:hover { background: #1a2620 !important; }

/* ---- Responsive ---- */
@media (max-width: 1024px) {
    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4,
    body ul.products.columns-4 {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .dll-lib-wrap { padding: 28px 24px 60px; }
    .dll-lib-header { padding: 44px 24px 38px; }
}
@media (max-width: 600px) {
    .woocommerce ul.products.columns-4,
    .woocommerce-page ul.products.columns-4,
    body ul.products.columns-4 {
        grid-template-columns: 1fr !important;
    }
    .dll-lib-header { padding: 36px 20px 28px; }
}

/* Fix v90 : woocommerce-layout.css (.woocommerce-page img{height:auto})
   ecrase .dll-logo-img par specificite -> logo 512px + header casse */
.woocommerce .dll-hdr-logo img.dll-logo-img,
.woocommerce-page .dll-hdr-logo img.dll-logo-img {
  height: 32px;
  width: auto;
}


/* === DLL WooCommerce Blocks skin - Micro-lot A (fondations) - v93 === */
/* Cosmetique uniquement. Classes publiques wc-block-*. Ne touche ni JS ni logique. */
.wc-block-cart,.wc-block-checkout,.woocommerce-order-received{color:#4a4a4a}
.wc-block-cart,.wc-block-checkout{background:var(--dll-iv,#f5f0e8)}
.wc-block-components-title{font-family:"Playfair Display",Georgia,serif;color:var(--dll-vn,#2d3b35);font-weight:700;letter-spacing:-.01em}
.wc-block-components-title::after{content:"";display:block;width:44px;height:3px;margin-top:8px;background:linear-gradient(90deg,var(--dll-do,#b8952a) 0%,var(--dll-do-light,#d4b060) 50%,var(--dll-do,#b8952a) 100%)}
/* Encadres feuille des etapes checkout: reporte au Lot C (traitement par bloc, gestion des blocs masques) */
.wc-block-components-button:not(.wc-block-components-button--text),.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{background:var(--dll-vn,#2d3b35);color:var(--dll-iv,#f5f0e8);border:1px solid var(--dll-vn,#2d3b35);border-radius:2px;font-family:"Source Sans 3",system-ui,sans-serif;letter-spacing:.04em;font-weight:600;transition:.18s}
.wc-block-components-button:not(.wc-block-components-button--text):hover,.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover{background:var(--dll-vn-deep,#1a2620);border-color:var(--dll-do,#b8952a);color:#fff}
.wc-block-components-text-input input:focus,.wc-block-components-text-input.is-active input{outline:none;border-color:var(--dll-do,#b8952a);box-shadow:0 0 0 2px rgba(184,149,42,.18)}
.wc-block-components-radio-control__option{border:1px solid var(--dll-iv-deep,#ece6d8);border-radius:3px;padding:14px 16px;margin-bottom:8px;background:#fff;transition:.18s}
.wc-block-components-radio-control__option-checked,.wc-block-components-radio-control__option:has(input:checked){border-color:var(--dll-do,#b8952a);border-left:3px solid var(--dll-do,#b8952a);background:var(--dll-iv-deep,#ece6d8)}


/* ==========================================================
   DLL WooCommerce Blocks skin - Micro-lot B (Panier) - v96
   Scope : .wc-block-cart uniquement. CSS pur, zero logique.
   ========================================================== */

/* Titre livre : Playfair vert nuit */
.wc-block-cart .wc-block-components-product-name{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--dll-vn); font-size:1.05rem; font-weight:600; line-height:1.3;
}
.wc-block-cart .wc-block-components-product-name:hover{ color:var(--dll-do); }

/* Metadonnees / court descriptif : discret, editorial */
.wc-block-cart .wc-block-components-product-metadata{ color:#5c6660; font-size:.82rem; }

/* Total de ligne : vert nuit appuye */
.wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price{
  color:var(--dll-vn); font-weight:600; font-size:1rem;
}

/* Vignette couverture : cadre papier + ombre douce */
.wc-block-cart .wc-block-cart-item__image img{
  border:1px solid var(--dll-iv-deep); border-radius:2px;
  box-shadow:0 2px 6px rgba(26,38,32,.12);
}

/* Filets : RECOLORER les separateurs existants en dore discret. */
.wc-block-cart .wc-block-cart-items__row,
.wc-block-cart .wc-block-components-totals-item,
.wc-block-cart .wc-block-components-totals-footer-item{
  border-color:rgba(184,149,42,.30);
}

/* Selecteur de quantite : discret, accent dore au focus */
.wc-block-cart .wc-block-components-quantity-selector{
  border:1px solid rgba(45,59,53,.25); border-radius:4px; background:transparent;
}
.wc-block-cart .wc-block-components-quantity-selector:focus-within{
  border-color:var(--dll-do); box-shadow:0 0 0 2px rgba(184,149,42,.18);
}
.wc-block-cart .wc-block-components-quantity-selector__button{ color:var(--dll-vn); }

/* Bloc resume : encadre feuille leger, sur le SEUL bloc toujours rempli */
.wc-block-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{
  background:rgba(255,255,255,.45);
  border:1px solid var(--dll-iv-deep); border-radius:4px;
  box-shadow:0 3px 10px rgba(26,38,32,.06);
  padding:1.25rem 1.35rem;
}

/* Total estime : climax du panier */
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:"Playfair Display",Georgia,serif; color:var(--dll-vn);
}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--dll-vn); font-weight:700;
}

/* Mobile (classes container-query natives Blocks) */
.wc-block-cart.is-mobile .wc-block-components-product-name,
.wc-block-cart.is-small .wc-block-components-product-name{ font-size:1rem; }
.wc-block-cart.is-mobile .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart.is-small .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{ padding:1rem; }


/* ==========================================================
   DLL WooCommerce Blocks skin - Micro-lot B-bis (Panier) - v97
   Correctifs specificite : titre + vignette. Scope .wc-block-cart.
   ========================================================== */

/* Titre livre : gagner sur cart.css (spec 31) SANS !important */
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name{
  font-size:1.05rem;
}

/* Vignette : reset border !important en amont -> !important requis (border seul) */
.wc-block-cart .wc-block-cart-item__image img{
  border:1px solid var(--dll-iv-deep) !important;
}


/* ==========================================================
   DLL WooCommerce Blocks skin - Micro-lot C (Checkout) - v98
   Scope .wc-block-checkout. Feuilles sur 5 blocs TOUJOURS remplis.
   ========================================================== */

/* Feuille : 5 blocs toujours remplis (garde :not(:empty)) */
.wc-block-checkout .wp-block-woocommerce-checkout-contact-information-block:not(:empty),
.wc-block-checkout .wp-block-woocommerce-checkout-shipping-address-block:not(:empty),
.wc-block-checkout .wp-block-woocommerce-checkout-shipping-methods-block:not(:empty),
.wc-block-checkout .wp-block-woocommerce-checkout-payment-block:not(:empty),
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block:not(:empty){
  background:rgba(255,255,255,.45);
  border:1px solid var(--dll-iv-deep);
  border-radius:4px;
  box-shadow:0 3px 10px rgba(26,38,32,.06);
  padding:1.35rem 1.5rem;
  margin-bottom:1.25rem;
}

/* Garde explicite anti-boite-vide : blocs conditionnels / masques / h0 */
.wc-block-checkout .wp-block-woocommerce-checkout-shipping-method-block,
.wc-block-checkout .wp-block-woocommerce-checkout-pickup-options-block,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-discount-block,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-fee-block,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-shipping-block,
.wc-block-checkout .wp-block-woocommerce-checkout-billing-address-block:empty{
  background:none; border:0; box-shadow:none; padding:0;
}

/* Filets dores discrets (recoloration des separateurs existants) */
.wc-block-checkout .wc-block-components-totals-item,
.wc-block-checkout .wc-block-components-totals-footer-item{
  border-color:rgba(184,149,42,.30);
}

/* Resume : total vert nuit gras (dore reserve aux filets) */
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:"Playfair Display",Georgia,serif; color:var(--dll-vn);
}
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--dll-vn); font-weight:700;
}

/* Paiement : style GENERIQUE des methodes (Virement / Stripe-CB / PayPal demain) */
.wc-block-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option{
  border:1px solid rgba(45,59,53,.18) !important;
  border-radius:4px; padding:.85rem 1rem; margin-bottom:.5rem;
}
.wc-block-checkout .wp-block-woocommerce-checkout-payment-block .wc-block-components-radio-control__option-checked{
  border-color:var(--dll-do) !important; background:var(--dll-iv-deep);
}

/* Bouton Commander : renfort leger (garde le vert nuit Lot A) */
.wc-block-checkout .wc-block-components-checkout-place-order-button{
  padding-block:.9rem; letter-spacing:.02em;
}

/* Mobile : feuilles resserrees */
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-contact-information-block:not(:empty),
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-shipping-address-block:not(:empty),
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-shipping-methods-block:not(:empty),
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-payment-block:not(:empty),
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block:not(:empty),
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-contact-information-block:not(:empty),
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-shipping-address-block:not(:empty),
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-shipping-methods-block:not(:empty),
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-payment-block:not(:empty),
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-order-summary-block:not(:empty){
  padding:1rem 1.1rem;
}


/* ==========================================================
   DLL WooCommerce skin - Micro-lot D (Commande recue) - v99
   Scope body.woocommerce-order-received. CSS pur. RIB intouche.
   ========================================================== */

/* Feuille : panneau RIB/BACS (conteneur uniquement) */
body.woocommerce-order-received .woocommerce-bacs-bank-details{
  background:rgba(255,255,255,.45);
  border:1px solid var(--dll-iv-deep);
  border-radius:4px;
  box-shadow:0 3px 10px rgba(26,38,32,.06);
  padding:1.35rem 1.5rem;
  margin:1.5rem 0;
}

/* Titre RIB : Playfair vert nuit + filet dore discret (accent) */
body.woocommerce-order-received .wc-bacs-bank-details-heading{
  font-family:"Playfair Display",Georgia,serif;
  color:var(--dll-vn);
  padding-bottom:.5rem; margin-bottom:.75rem;
  border-bottom:1px solid rgba(184,149,42,.30);
}

/* Feuille : tableau recapitulatif */
body.woocommerce-order-received .woocommerce-order-details{
  background:rgba(255,255,255,.45);
  border:1px solid var(--dll-iv-deep);
  border-radius:4px;
  box-shadow:0 3px 10px rgba(26,38,32,.06);
  padding:1.35rem 1.5rem;
  margin:1.5rem 0;
}

/* Titre recap : filet dore discret (Playfair vert nuit deja en place) */
body.woocommerce-order-received .woocommerce-order-details__title{
  padding-bottom:.5rem; margin-bottom:.75rem;
  border-bottom:1px solid rgba(184,149,42,.30);
}

/* Filets discrets dans le tableau (bordures a 0 par defaut) */
body.woocommerce-order-received .woocommerce-order-details table thead th,
body.woocommerce-order-received .woocommerce-order-details table tbody td{
  border-bottom:1px solid rgba(184,149,42,.18);
}

/* Ligne Total (deja vert nuit gras via theme) : filet superieur de separation */
body.woocommerce-order-received .woocommerce-order-details tfoot tr:nth-last-child(2) th,
body.woocommerce-order-received .woocommerce-order-details tfoot tr:nth-last-child(2) td{
  border-top:1px solid rgba(184,149,42,.30);
}

/* Mobile : padding resserre */
@media (max-width:600px){
  body.woocommerce-order-received .woocommerce-bacs-bank-details,
  body.woocommerce-order-received .woocommerce-order-details{ padding:1rem 1.1rem; }
}

/* ==========================================================
   DLL WooCommerce Blocks skin - Micro-lot E (Panier maquette 6d) - v100
   Scope : .wc-block-cart + body.woocommerce-cart. CSS pur, zero logique.
   Reference : dll-panier-etape6d.html. Checkout NON touche (Lot F).
   Arbitrages DA : bouton panier dore / checkout intouche ; E10 inclus.
   ========================================================== */

/* ---- E0 : H1 "Panier" editorial (hors blocs, scope par body class) ---- */
body.woocommerce-cart h1.entry-title,
body.woocommerce-cart .wp-block-post-title,
body.woocommerce-cart h1{
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.6rem;
  font-weight:700;
  color:var(--dll-vn,#2d3b35);
}
body.woocommerce-cart h1::after{
  content:"";display:block;width:44px;height:3px;margin-top:8px;
  background:linear-gradient(90deg,var(--dll-do,#b8952a) 0%,var(--dll-do-light,#d4b060) 50%,var(--dll-do,#b8952a) 100%);
}

/* ---- E1 : Feuille FORTE sur la liste d'articles (coeur du correctif) ---- */
.wc-block-cart .wp-block-woocommerce-cart-items-block{
  background:#fff;
  border:1px solid var(--dll-iv-deep,#ece6d8);
  border-top:2px solid rgba(184,149,42,.55);
  border-radius:2px;
  box-shadow:0 3px 12px rgba(26,38,32,.07);
  overflow:hidden;
}

/* ---- E2 : En-tete de colonnes vert nuit profond ----
   Si le thead est visually-hidden par Blocks : regles inertes, sans degat. */
.wc-block-cart table.wc-block-cart-items thead{
  background:var(--dll-vn-deep,#1a2620);
}
.wc-block-cart table.wc-block-cart-items thead th{
  font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:rgba(245,240,232,.5);
  padding:10px 18px;
  border:0;
}
.wc-block-cart table.wc-block-cart-items thead th.wc-block-cart-items__header-total{
  text-align:right;
}

/* ---- E3 : Lignes article : respiration + separateurs sobres ivoire ---- */
.wc-block-cart .wc-block-cart-items__row{
  border-color:var(--dll-iv-deep,#ece6d8);
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row td{
  padding:16px 18px;
}
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:last-child td{
  border-bottom:0;
}

/* ---- E4 : Couverture : cadre maquette ---- */
.wc-block-cart .wc-block-cart-item__image img{
  border-radius:1px;
}

/* ---- E5 : Prix unitaire : vert nuit appuye ---- */
.wc-block-cart .wc-block-cart-item__prices .wc-block-components-product-price{
  color:var(--dll-vn,#2d3b35);
  font-weight:700;
  font-size:.86rem;
}

/* ---- E6 : Sous-total de ligne : Playfair vert nuit ---- */
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price{
  font-family:"Playfair Display",Georgia,serif;
  font-size:1rem;font-weight:700;
  color:var(--dll-vn,#2d3b35);
}

/* ---- E7 : Resume commande : feuille forte + bandeau vert nuit ---- */
.wc-block-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{
  background:#fff;
  border:1px solid var(--dll-iv-deep,#ece6d8);
  border-radius:2px;
  box-shadow:0 3px 12px rgba(26,38,32,.07);
  padding:0 1.1rem 1.1rem;
  overflow:hidden;
}
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-title{
  background:var(--dll-vn,#2d3b35);
  color:var(--dll-iv,#f5f0e8);
  font-size:.95rem;font-weight:600;
  margin:0 -1.1rem .75rem;
  padding:14px 18px;
}
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-title::after{
  display:none;
}

/* ---- E8 : Lignes totaux + TOTAL FINAL (climax) ---- */
.wc-block-cart .wc-block-components-totals-item{
  border-color:var(--dll-iv-deep,#ece6d8);
}
.wc-block-cart .wc-block-components-totals-footer-item{
  background:var(--dll-iv,#f5f0e8);
  border-top:2px solid var(--dll-do,#b8952a);
  border-bottom:0;
  margin:0 -1.1rem;
  padding:14px 18px;
}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{
  font-family:"Source Sans 3",system-ui,sans-serif;
  font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dll-vn,#2d3b35);
}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-family:"Playfair Display",Georgia,serif;
  font-size:1.35rem;font-weight:700;
  color:var(--dll-vn,#2d3b35);
}

/* ---- E9 : Bouton Commander du PANIER : dore assume ----
   Le bouton du checkout n'est PAS cible (Lot F). */
.wc-block-cart .wc-block-cart__submit-container .wc-block-cart__submit-button{
  background:var(--dll-do,#b8952a);
  color:var(--dll-vn-deep,#1a2620);
  border:1px solid var(--dll-do,#b8952a);
  border-radius:1px;
  font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding-block:14px;
}
.wc-block-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:hover{
  background:var(--dll-do-light,#d4b060);
  border-color:var(--dll-do-light,#d4b060);
  color:var(--dll-vn-deep,#1a2620);
}

/* ---- E10 : Largeur sidebar type maquette (340px) - sous vigilance ----
   Retirable seul si le layout casse (bloc autonome). */
.wc-block-cart.is-large .wc-block-cart__sidebar{
  flex-basis:340px;
  max-width:340px;
}

/* ---- E11 : Mobile (classes container-query natives Blocks) ---- */
.wc-block-cart.is-mobile .wp-block-woocommerce-cart-items-block,
.wc-block-cart.is-small .wp-block-woocommerce-cart-items-block{
  box-shadow:0 2px 8px rgba(26,38,32,.06);
}
.wc-block-cart.is-mobile table.wc-block-cart-items thead th,
.wc-block-cart.is-small table.wc-block-cart-items thead th{
  padding:8px 12px;
}
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row td,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row td{
  padding:12px;
}
.wc-block-cart.is-mobile .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-cart.is-small .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{
  padding:0 .9rem .9rem;
}
.wc-block-cart.is-mobile .wc-block-cart__sidebar .wc-block-components-title,
.wc-block-cart.is-small .wc-block-cart__sidebar .wc-block-components-title{
  margin:0 -.9rem .75rem;
  padding:12px 14px;
}
.wc-block-cart.is-mobile .wc-block-components-totals-footer-item,
.wc-block-cart.is-small .wc-block-components-totals-footer-item{
  margin:0 -.9rem;
  padding:12px 14px;
}
/* ---- Fin Micro-lot E - v100 ---- */

/* ==========================================================
   DLL - Micro-addendum E12 (H1 Panier visible) - v101
   Scope body.woocommerce-cart uniquement. Leve le masquage global
   de dll-main.css sur le seul panier. Style E0 deja en place.
   ========================================================== */
body.woocommerce-cart .dll-article-title,
body.woocommerce-cart h1.dll-article-title{
  display:block !important;
}
/* ---- Fin E12 - v101 ---- */
/* ==========================================================
   DLL - Micro-addendum E13 (Panier : largeur, bandeau, eyebrow) - v102
   ========================================================== */

/* E13a : Deverrouiller la largeur du panier */
body.woocommerce-cart .dll-article-content{
  max-width:1240px;
}

/* E13b : Hero titre aligne sur la nouvelle largeur */
body.woocommerce-cart h1.dll-article-title{
  max-width:1240px;
}

/* E13c : Masquer l'eyebrow "ARCHIVES MEDIAS" sur le panier */
body.woocommerce-cart h1.dll-article-title::before{
  content:none;
}

/* E13d : Bandeau vert nuit du resume (vraie classe) */
.wc-block-cart .wc-block-cart__sidebar .wc-block-cart__totals-title{
  background:var(--dll-vn,#2d3b35);
  color:var(--dll-iv,#f5f0e8);
  font-family:"Playfair Display",Georgia,serif;
  font-size:.95rem;
  font-weight:600;
  margin:0 -1.1rem .75rem;
  padding:14px 18px;
}

/* E13e : Mobile - bandeau resserre */
.wc-block-cart.is-mobile .wc-block-cart__sidebar .wc-block-cart__totals-title,
.wc-block-cart.is-small .wc-block-cart__sidebar .wc-block-cart__totals-title{
  margin:0 -.9rem .75rem;
  padding:12px 14px;
}
/* ---- Fin E13 - v102 ---- */

/* ==========================================================
   DLL - Micro-lot E14 (Corrections DA/UI desktop panier) - v103
   Scope strict : body.woocommerce-cart + .wc-block-cart. CSS pur.
   ========================================================== */

/* ---- E14a : Hero creme integre (fin du bloc noir massif) ----
   Titre Playfair vert nuit sur fond de page ; le filet dore E0
   (::after) reste en place. */
body.woocommerce-cart h1.dll-article-title{
  background:transparent !important;
  color:var(--dll-vn,#2d3b35) !important;
  max-width:1240px;
  margin:0 auto;
  padding:40px 32px 4px;
}

/* ---- E14b : Neutraliser alignwide sur le bloc panier ----
   alignwide fait deborder le panier hors du conteneur 1240px
   -> retour dans le flux, aligne avec le titre. */
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide{
  margin-left:0 !important;
  margin-right:0 !important;
  width:100%;
  max-width:100%;
}

/* ---- E14c : En-tete de colonnes uniforme ----
   Le fond etait sur thead ; les th gardaient leur fond -> trou blanc.
   Fond pose cellule par cellule. */
.wc-block-cart table.wc-block-cart-items thead th{
  background:var(--dll-vn-deep,#1a2620);
}

/* ---- E14d : TOTAL ESTIME en encart inset (fin du bandeau bleed) ----
   La marge negative se heurtait au conteneur intermediaire
   order-summary-totals-block (debord gauche / manque droite).
   Encart stable : contenu, aligne, respirant. Ecrase E8/E11 (margin). */
.wc-block-cart .wc-block-components-totals-footer-item{
  margin:.5rem 0 0 !important;
  border-radius:2px;
}

/* ---- E14e : Sidebar calee a 340px en mode large (renfort E10) ---- */
.wc-block-cart.is-large .wc-block-cart__sidebar{
  flex:0 0 340px;
  width:340px;
}
/* ---- Fin E14 - v103 ---- */


/* ---- E14-bis : en-tete de colonnes complet - v104 ----
   Le th central (header-product) est masque par le coeur Blocks
   (visibility:hidden) -> trou blanc. On l affiche (libelle Detudes
   utile, esprit maquette) et on force le fond des cellules. */
.wc-block-cart table.wc-block-cart-items thead th{
  visibility:visible;
  background:var(--dll-vn-deep,#1a2620) !important;
}
/* ---- Fin E14-bis - v104 ---- */

/* ==== E15 - Alignement clair en-tete panier (creme/vert nuit/dore) - v105 ==== */
/* Neutralise E14/E14-bis (bandeau sombre) - scope body.woocommerce-cart */
body.woocommerce-cart .wc-block-cart .wc-block-components-main{
  background: var(--dll-iv, #f5f0e8) !important;
}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items thead{
  background: transparent !important;
  border-bottom: 1px solid rgba(184, 149, 42, 0.55) !important;
}
body.woocommerce-cart .wc-block-cart table.wc-block-cart-items thead th{
  background: transparent !important;
  color: var(--dll-vn, #2d3b35) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.14em !important;
  font-weight: 600 !important;
  font-size: 0.62rem !important;
}
/* ---- Fin E15 - v105 ---- */
