/* ============================================================
   Griffon d'art, habillage WooCommerce à la charte
   (restyle du markup Woo par défaut : fiche, panier, checkout)
   ============================================================ */

/* ---------- Fil d'Ariane ---------- */
.woocommerce-breadcrumb{font-family:var(--ff-label);font-size:.84rem;color:var(--gris);margin-bottom:1.2rem;}
.woocommerce-breadcrumb a{color:var(--gris);}
.woocommerce-breadcrumb a:hover{color:var(--noir);}

/* ---------- Boutons Woo → style .btn ---------- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce .button,.woocommerce-page .button{
  font-family:var(--ff-menu);text-transform:uppercase;letter-spacing:.05em;font-weight:500;font-size:.94rem;
  background:var(--noir);color:#fff;border-radius:6px;padding:.82em 1.5em;border:0;
  box-shadow:0 8px 20px rgba(20,20,20,.18);transition:transform .14s var(--ease),box-shadow .2s,background .2s,color .2s;}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce .button:hover{background:#000;color:#fff;transform:translateY(-1px);box-shadow:0 12px 28px rgba(20,20,20,.26);}
.woocommerce .button.alt,.woocommerce button.button.alt,.woocommerce #place_order,
.woocommerce .single_add_to_cart_button{background:var(--ocre)!important;color:#fff!important;box-shadow:0 8px 20px rgba(207,129,24,.28)!important;}
.woocommerce .button.alt:hover,.woocommerce #place_order:hover,.woocommerce .single_add_to_cart_button:hover{filter:brightness(1.04);}

/* ---------- Fiche produit ---------- */
.woocommerce div.product{margin-top:.4rem;}
.woocommerce div.product .product_title{font-family:var(--ff-titre);font-weight:600;color:var(--violet);
  font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.05;margin:.2rem 0 .4rem;}
.woocommerce div.product p.price,.woocommerce div.product span.price,
.woocommerce div.product p.price ins,.woocommerce div.product span.price ins{font-family:var(--ff-label);font-weight:700;
  font-size:1.7rem;color:var(--noir);text-decoration:none;}
.woocommerce div.product .woocommerce-product-rating{margin-bottom:.6rem;}
.woocommerce .star-rating span::before,.woocommerce .star-rating::before{color:var(--ocre);}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--gris);margin:1rem 0 1.2rem;}
.woocommerce div.product div.images img{border-radius:16px;box-shadow:var(--sh-s);}
.woocommerce div.product form.cart{margin-top:.6rem;}
.woocommerce div.product form.cart div.quantity{margin-right:.6rem;}
.woocommerce .quantity input.qty,.woocommerce-cart .quantity input.qty{
  font-family:var(--ff-corps);border:1.5px solid var(--ligne);border-radius:8px;padding:.5em;width:64px;height:auto;}
.woocommerce .quantity input.qty:focus{outline:none;border-color:var(--ocre);box-shadow:0 0 0 3px var(--ocre-p);}
.woocommerce div.product .product_meta{font-family:var(--ff-label);font-size:.82rem;color:var(--gris);margin-top:1.4rem;}

/* Configurateur dans la fiche : forcer 1 colonne (colonne résumé étroite) */
.gd-product-config .cfg-grid{grid-template-columns:1fr;gap:1.4rem;}
.gd-product-config .cfg-stage{position:static;}
.gd-product-config .cfg-swatches{max-height:280px;}

/* Réassurance fiche */
.gd-prod-reassure{list-style:none;padding:0;margin:1.2rem 0 0;display:flex;flex-direction:column;gap:.6rem;color:var(--gris);font-size:.94rem;}
.gd-prod-reassure li{display:flex;gap:.6em;align-items:center;}
.gd-prod-reassure .ic{color:var(--ocre);display:inline-flex;}

/* Onglets */
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin-bottom:1.4rem;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom:1px solid var(--ligne);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;font-family:var(--ff-label);
  text-transform:uppercase;letter-spacing:.06em;font-weight:600;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--ocre);}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--noir);}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce-Tabs-panel h2{font-family:var(--ff-titre);color:var(--violet);}

/* Produits liés : déjà en .prod via content-product.php ; titre charte */
.woocommerce .related>h2,.woocommerce .upsells>h2{font-family:var(--ff-titre);color:var(--violet);font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1.2rem;}

/* ============================================================
   Fiche produit sur-mesure (content-single-product.php)
   ============================================================ */
.gd-fiche-wrap .crumbs{margin-bottom:1.4rem;}
.gd-fiche{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(1.6rem,4vw,3.2rem);align-items:start;}
/* neutralise les floats WooCommerce natifs */
.gd-fiche .woocommerce-product-gallery,.gd-fiche .gd-fiche__summary{float:none!important;width:100%!important;margin:0!important;}
.gd-fiche__media .woocommerce-product-gallery{position:relative;}
.gd-fiche__media .woocommerce-product-gallery__image img,.gd-fiche__media img{border-radius:16px;box-shadow:var(--sh-s);}
.gd-fiche__media .flex-control-thumbs{display:flex;gap:.5rem;margin-top:.6rem;padding:0;list-style:none;}
.gd-fiche__media .flex-control-thumbs li{width:auto;}
.gd-fiche__media .flex-control-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:9px;border:2.5px solid transparent;opacity:.7;transition:.15s;}
.gd-fiche__media .flex-control-thumbs img.flex-active,.gd-fiche__media .flex-control-thumbs img:hover{opacity:1;border-color:var(--noir);}
.gd-fiche__note{display:flex;align-items:center;gap:.5em;color:var(--gris);font-size:.9rem;margin-top:.8rem;}
.gd-fiche__note svg{color:var(--ocre);}

.gd-fiche__summary .badge{display:inline-flex;}
.gd-fiche__title{font-family:var(--ff-titre);font-weight:600;color:var(--violet);font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.04;margin:.1rem 0 .5rem;}
.gd-fiche__rating{display:inline-flex;align-items:center;gap:.5em;color:var(--ocre);margin-bottom:.7rem;}
.gd-fiche__rating span{font-family:var(--ff-label);font-size:.88rem;color:var(--gris);}
.gd-fiche__rating:hover span{color:var(--noir);}
.gd-fiche__price{font-family:var(--ff-label);font-weight:700;font-size:1.7rem;color:var(--noir);margin:.2rem 0 1rem;}
.gd-fiche__price .amount{font-weight:700;}
.gd-fiche__desc{color:var(--gris);margin-bottom:1.2rem;max-width:52ch;}
.gd-fiche__summary form.cart{margin:0;}

.gd-fiche-desc{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ligne);max-width:760px;}
.gd-fiche-desc__b{color:var(--gris);line-height:1.7;}
.gd-fiche-avis{margin-top:3.4rem;padding-top:2.6rem;border-top:1px solid var(--ligne);}
.gd-fiche-wrap .related.products,.gd-fiche-wrap .upsells.products{margin-top:3.4rem;padding-top:2.6rem;border-top:1px solid var(--ligne);}

@media(max-width:980px){ .gd-fiche{grid-template-columns:1fr;gap:1.6rem;} }

/* ============================================================
   Boutique sur-mesure (archive-product.php), zéro contrôle natif
   ============================================================ */
.gd-shop-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.6rem;flex-wrap:wrap;
  padding-bottom:1.1rem;border-bottom:1px solid var(--ligne);}
.gd-shop-fams,.gd-shop-sort{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.gd-shop-sort__lbl{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--gris);margin-right:.1rem;}
.pill{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:.84rem;
  padding:.55em 1.1em;border-radius:100px;border:1.5px solid var(--ligne);color:var(--encre);background:#fff;
  white-space:nowrap;transition:border-color .16s var(--ease),background .16s,color .16s;cursor:pointer;}
.pill:hover{border-color:var(--noir);}
.pill.on{background:var(--noir);color:#fff;border-color:transparent;box-shadow:0 6px 16px rgba(20,20,20,.18);}
.pill--sm{font-size:.78rem;padding:.45em .85em;}
.gd-shop-count{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--gris);margin:1.1rem 0 1.7rem;}

/* Grille boutique : 3-up éditorial (scopé archive, n'affecte pas related/pièces uniques) */
.post-type-archive-product .prod-grid,.tax-product_cat .prod-grid{grid-template-columns:repeat(3,1fr);gap:1.8rem;}
@media(max-width:900px){.post-type-archive-product .prod-grid,.tax-product_cat .prod-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.post-type-archive-product .prod-grid,.tax-product_cat .prod-grid{grid-template-columns:1fr;}}

/* Cartes produit premium (photo zoom + CTA au survol) */
.prod{border:1px solid var(--ligne);border-radius:16px;overflow:hidden;background:#fff;
  transition:transform .28s var(--ease),box-shadow .28s var(--ease);}
.prod:hover{transform:translateY(-6px);box-shadow:var(--sh-l);}
.prod__img{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--creme-2);}
.prod__photo{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s var(--ease);}
.prod:hover .prod__photo{transform:scale(1.07);}
.prod__img .badge{position:absolute;top:12px;left:12px;z-index:2;}
.prod__img .fav{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.92);color:var(--noir);display:flex;align-items:center;justify-content:center;transition:.15s;}
.prod__img .fav:hover{background:#fff;color:var(--rose);transform:scale(1.08);}
.prod__cta{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:.45em;
  font-family:var(--ff-menu);text-transform:uppercase;letter-spacing:.06em;font-weight:500;font-size:.82rem;color:#fff;
  padding:1.1em .9em .9em;background:linear-gradient(transparent,rgba(20,20,20,.82));
  transform:translateY(101%);transition:transform .32s var(--ease);}
.prod:hover .prod__cta{transform:translateY(0);}
.prod__b{padding:1rem 1.1rem 1.2rem;}
.prod__b .fam{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem;color:var(--gris);}
.prod__b h3{font-family:var(--ff-label);font-weight:600;font-size:1.12rem;margin:.2rem 0 .35rem;line-height:1.2;}
.prod__b h3 a:hover{color:var(--violet);}
.prod__b .px{font-family:var(--ff-label);font-weight:700;font-size:1.1rem;color:var(--noir);display:block;}

/* Pagination custom */
.gd-pagination{margin-top:2.8rem;display:flex;justify-content:center;}
.gd-pagination ul{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;padding:0;margin:0;}
.gd-pagination a,.gd-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 .9em;
  border-radius:100px;border:1.5px solid var(--ligne);font-family:var(--ff-label);font-weight:600;font-size:.9rem;color:var(--encre);transition:.16s var(--ease);}
.gd-pagination a:hover{border-color:var(--noir);}
.gd-pagination .current{background:var(--noir);color:#fff;border-color:transparent;}
.gd-pagination .dots{border:0;}

@media(max-width:680px){
  .gd-shop-bar{flex-direction:column;align-items:flex-start;}
}

/* ============================================================
   Panier DRAWER (off-canvas), pas de page panier
   ============================================================ */
.gd-iconbtn .gd-cart-count{position:absolute;top:3px;right:3px;min-width:17px;height:17px;border-radius:100px;background:var(--rose);color:#fff;
  font-family:var(--ff-label);font-size:.66rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 .3em;}
.gd-iconbtn .gd-cart-count.is-empty{display:none;}
body.gd-cart-open{overflow:hidden;}

.gd-cart-scrim{position:fixed;inset:0;background:rgba(15,13,12,.5);z-index:110;opacity:0;visibility:hidden;transition:.28s var(--ease);}
.gd-cart-scrim.on{opacity:1;visibility:visible;}
.gd-cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(94vw,430px);background:#fff;z-index:115;display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .34s var(--ease);box-shadow:-12px 0 50px rgba(20,20,20,.18);}
.gd-cart-drawer.on{transform:translateX(0);}
.gd-cart-drawer__top{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 1.3rem;border-bottom:1px solid var(--ligne);flex:none;}
.gd-cart-drawer__top h3{font-family:var(--ff-titre);font-weight:600;color:var(--violet);font-size:1.5rem;}
.gd-cart-drawer__inner{flex:1;display:flex;flex-direction:column;min-height:0;}

.gd-cart-lines{flex:1;overflow-y:auto;padding:.6rem 1.3rem;}
.gd-cart-line{display:grid;grid-template-columns:74px 1fr;gap:1rem;padding:1.1rem 0;border-bottom:1px solid var(--ligne);}
.gd-cart-line__img{aspect-ratio:1;border-radius:10px;background:var(--creme-2) center/cover no-repeat;box-shadow:var(--sh-s);}
.gd-cart-line__b{display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.gd-cart-line__b h4{font-family:var(--ff-label);font-weight:600;font-size:1.02rem;color:var(--encre);line-height:1.2;margin:0;}
.gd-cart-line__meta{font-family:var(--ff-corps);font-size:.82rem;color:var(--gris);line-height:1.35;}
.gd-cart-line__row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.25rem;}
.gd-qty{display:inline-flex;align-items:center;gap:.5rem;border:1.5px solid var(--ligne);border-radius:100px;padding:.18rem .5rem;}
.gd-qty__btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1;color:var(--encre);border-radius:50%;transition:.15s;}
.gd-qty__btn:hover{background:var(--creme-2);}
.gd-qty__n{font-family:var(--ff-label);font-weight:600;min-width:1.2em;text-align:center;}
.gd-cart-line__px{font-family:var(--ff-label);font-weight:700;font-size:1.02rem;color:var(--noir);white-space:nowrap;}
.gd-cart-line__rm{align-self:flex-start;font-family:var(--ff-label);font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;color:var(--gris);
  border-bottom:1px solid transparent;transition:.15s;margin-top:.1rem;}
.gd-cart-line__rm:hover{color:var(--rose);border-bottom-color:var(--rose);}

.gd-cart-foot{flex:none;padding:1.2rem 1.3rem 1.4rem;border-top:1px solid var(--ligne);background:var(--creme);}
.gd-cart-sub{display:flex;align-items:baseline;justify-content:space-between;font-family:var(--ff-label);font-size:1.15rem;}
.gd-cart-sub b{font-weight:700;}
.gd-cart-sub b .amount{font-weight:700;}
.gd-cart-ship{font-size:.82rem;color:var(--gris);margin:.3rem 0 1rem;}
.gd-cart-checkout{width:100%;justify-content:center;}
.gd-cart-continue{width:100%;justify-content:center;margin-top:.55rem;}

.gd-cart-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--gris);text-align:center;padding:2rem;}
.gd-cart-empty p{font-family:var(--ff-label);font-size:1.05rem;}

.single_add_to_cart_button.loading{opacity:.6;pointer-events:none;}

/* ============================================================
   Tuto pop-up multi-step (page Personnalisation), animations codées
   ============================================================ */
.gd-tuto{position:fixed;inset:0;z-index:130;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;visibility:hidden;transition:.28s var(--ease);}
.gd-tuto.on{opacity:1;visibility:visible;}
.gd-tuto__scrim{position:absolute;inset:0;background:rgba(15,13,12,.55);}
.gd-tuto__card{position:relative;z-index:1;background:#fff;border-radius:22px;box-shadow:var(--sh-l);width:min(96vw,460px);padding:2rem 1.8rem 1.4rem;text-align:center;transform:translateY(20px) scale(.95);transition:transform .36s var(--ease);}
.gd-tuto.on .gd-tuto__card{transform:none;}
.gd-tuto__close{position:absolute;top:.9rem;right:.9rem;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gris);transition:.15s;z-index:2;}
.gd-tuto__close:hover{background:var(--creme-2);color:var(--noir);}
.gd-tuto__viewport{overflow:hidden;}
.gd-tuto__track{display:flex;transition:transform .45s var(--ease);}
.gd-tuto__step{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;padding:.4rem;}
.gd-tuto__step .gd-kicker{margin-bottom:.5rem;}
.gd-tuto__step h3{font-family:var(--ff-titre);font-weight:600;font-size:1.7rem;line-height:1.1;margin:.1rem 0 .5rem;}
.gd-tuto__step p{color:var(--gris);max-width:34ch;line-height:1.6;}
.gd-tuto__ill{width:142px;height:142px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;
  background:radial-gradient(circle at 50% 40%,#fff,var(--creme) 78%);box-shadow:var(--sh-s);}
/* Étape 1, créole qui tourne */
.gd-tuto-orbit{transform-origin:60px 60px;animation:gdtSpin 5s linear infinite;}
@keyframes gdtSpin{to{transform:rotate(360deg);}}
/* Étape 2, swatches qui pulsent en séquence */
.gd-tuto__ill--swatches{gap:.4rem;}
.gd-tuto__ill--swatches span{width:18px;height:44px;border-radius:5px;background:var(--c);box-shadow:0 3px 9px rgba(20,20,20,.2);animation:gdtSwatch 1.9s ease-in-out infinite;}
.gd-tuto__ill--swatches span:nth-child(2){animation-delay:.13s;}
.gd-tuto__ill--swatches span:nth-child(3){animation-delay:.26s;}
.gd-tuto__ill--swatches span:nth-child(4){animation-delay:.39s;}
.gd-tuto__ill--swatches span:nth-child(5){animation-delay:.52s;}
@keyframes gdtSwatch{0%,100%{transform:translateY(5px) scaleY(.9);opacity:.55;}50%{transform:translateY(-6px) scaleY(1.06);opacity:1;}}
/* Étape 3, ciseaux qui coupent */
.gd-tuto-blade{transform-origin:55px 60px;}
.gd-tuto-blade--top{animation:gdtSnipTop 1.5s ease-in-out infinite;}
.gd-tuto-blade--bot{animation:gdtSnipBot 1.5s ease-in-out infinite;}
@keyframes gdtSnipTop{0%,100%{transform:rotate(0);}50%{transform:rotate(-9deg);}}
@keyframes gdtSnipBot{0%,100%{transform:rotate(0);}50%{transform:rotate(9deg);}}
/* Pied : prev / dots / next */
.gd-tuto__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;}
.gd-tuto__prev{font-family:var(--ff-menu);text-transform:uppercase;letter-spacing:.05em;font-size:.86rem;color:var(--gris);transition:.15s;}
.gd-tuto__prev:hover{color:var(--noir);}
.gd-tuto__prev:disabled{opacity:.3;pointer-events:none;}
.gd-tuto__dots{display:flex;gap:.4rem;}
.gd-tuto__dots span{width:8px;height:8px;border-radius:50%;background:var(--ligne);transition:.25s var(--ease);}
.gd-tuto__dots span.on{background:var(--noir);width:24px;border-radius:5px;}
.gd-tuto__next{min-width:132px;justify-content:center;}
@media(prefers-reduced-motion:reduce){.gd-tuto-orbit,.gd-tuto__ill--swatches span,.gd-tuto-blade{animation:none;}}

/* ============================================================
   Formulaire contact adaptatif (sujet → blocs pertinents)
   ============================================================ */
.gd-contact-block{display:none;}
.gd-contact-block.is-open{display:block;animation:gdBriefIn .35s var(--ease);}
@keyframes gdBriefIn{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.gd-contact-brief{background:var(--creme);border:1px solid var(--ligne);border-left:3px solid var(--rose);border-radius:14px;padding:1.3rem 1.3rem .4rem;margin:0 0 1.1rem;}
.gd-contact-brief .gd-kicker{margin-bottom:1rem;}
.gd-brief-row{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem;}
.gd-brief-note{display:flex;align-items:center;gap:.45em;font-size:.85rem;color:var(--gris);margin:-.3rem 0 1.1rem;}
.gd-brief-note svg{color:var(--rose);flex:none;}
@media(max-width:560px){.gd-brief-row{grid-template-columns:1fr;}}

/* ---------- Panier (page legacy, redirigée) ---------- */
.woocommerce table.shop_table{border:1px solid var(--ligne);border-radius:14px;border-collapse:separate;border-spacing:0;overflow:hidden;}
.woocommerce table.shop_table th{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;color:var(--gris);background:var(--creme);}
.woocommerce table.shop_table td{border-top:1px solid var(--ligne);}
.woocommerce-cart table.cart img{border-radius:8px;}
.woocommerce-cart .cart-collaterals .cart_totals h2,.woocommerce .cart_totals h2{font-family:var(--ff-titre);color:var(--violet);}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--ocre)!important;color:#fff!important;font-size:1rem;padding:1em 1.8em;}
.woocommerce .cart-item-gd-meta,.woocommerce .variation{font-family:var(--ff-corps);font-size:.86rem;color:var(--gris);}
.woocommerce .variation dt{font-family:var(--ff-label);font-weight:600;}

/* ============================================================
   Checkout sur-mesure (form-checkout.php), layout 2 col
   ============================================================ */
.gd-checkout__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(1.6rem,4vw,2.8rem);align-items:start;}
.gd-checkout__aside{position:sticky;top:96px;}
.gd-checkout__card{background:var(--creme);border:1px solid var(--ligne);border-radius:16px;padding:clamp(1.2rem,2.5vw,1.8rem);}
.gd-checkout__card #order_review_heading{font-family:var(--ff-titre);font-weight:600;color:var(--violet);font-size:1.5rem;margin:0 0 1rem;}

/* Titres de sections (Facturation / Expédition) */
.gd-checkout h3{font-family:var(--ff-label);font-weight:600;font-size:1.2rem;color:var(--noir);margin-bottom:1rem;}
.gd-checkout .col2-set,.gd-checkout #customer_details{width:100%;}

/* Champs */
.gd-checkout .form-row{margin:0 0 1rem;padding:0;}
.gd-checkout label{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;color:var(--gris);display:block;margin-bottom:.35rem;}
.gd-checkout .input-text,.gd-checkout textarea,.gd-checkout select,
.gd-checkout .select2-container--default .select2-selection--single{font-family:var(--ff-corps)!important;font-size:1rem!important;border:1.5px solid var(--ligne)!important;border-radius:9px!important;padding:.72em .95em!important;background:#fff!important;width:100%;height:auto!important;box-shadow:none!important;}
.gd-checkout .select2-container--default .select2-selection--single{display:flex;align-items:center;min-height:46px;}
.gd-checkout .input-text:focus,.gd-checkout textarea:focus,.gd-checkout select:focus{outline:none!important;border-color:var(--ocre)!important;box-shadow:0 0 0 3px var(--ocre-p)!important;}

/* Récap commande (table review) */
.gd-checkout .woocommerce-checkout-review-order-table{border:0;background:transparent;}
.gd-checkout .woocommerce-checkout-review-order-table thead{display:none;}
.gd-checkout .woocommerce-checkout-review-order-table td,.gd-checkout .woocommerce-checkout-review-order-table th{border:0;padding:.7rem 0;}
.gd-checkout .cart_item{border-bottom:1px solid var(--ligne);}
.gd-checkout td.product-name{display:flex;flex-wrap:wrap;align-items:center;gap:.2rem .8rem;font-family:var(--ff-corps);font-size:.92rem;color:var(--encre);}
.gd-co-thumb{width:50px;height:50px;border-radius:9px;background:var(--creme-2) center/cover no-repeat;flex:none;box-shadow:var(--sh-s);}
.gd-co-name{font-family:var(--ff-label);font-weight:600;font-size:.98rem;}
.gd-checkout td.product-name .product-quantity{color:var(--gris);}
.gd-checkout .product-name dl.variation,.gd-checkout .product-name .wc-item-meta{flex-basis:100%;margin:.2rem 0 0 calc(50px + .8rem);font-size:.82rem;color:var(--gris);}
.gd-checkout .product-name dl.variation dt{font-weight:600;float:left;margin-right:.3em;}
.gd-checkout td.product-total{font-family:var(--ff-label);font-weight:700;text-align:right;white-space:nowrap;vertical-align:top;}
.gd-checkout .woocommerce-checkout-review-order-table tfoot th{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;color:var(--gris);text-align:left;}
.gd-checkout .woocommerce-checkout-review-order-table tfoot td{text-align:right;font-family:var(--ff-label);font-weight:600;}
.gd-checkout tfoot tr{border-top:1px solid var(--ligne);}
.gd-checkout tfoot .order-total th,.gd-checkout tfoot .order-total td{font-size:1.15rem;color:var(--noir);padding-top:1rem;}
.gd-checkout tfoot .order-total .amount{color:var(--ocre);}

/* Paiement */
.gd-checkout #payment{background:transparent;border-radius:0;margin-top:1rem;}
.gd-checkout #payment ul.payment_methods{border:1px solid var(--ligne);border-radius:12px;background:#fff;padding:.4rem;list-style:none;margin:0 0 1rem;}
.gd-checkout #payment ul.payment_methods li{border-bottom:1px solid var(--ligne);padding:.6rem .7rem;}
.gd-checkout #payment ul.payment_methods li:last-child{border-bottom:0;}
.gd-checkout #payment div.payment_box{background:var(--creme-2);border-radius:9px;font-size:.88rem;color:var(--gris);}
.gd-checkout #payment div.payment_box::before{display:none;}
.gd-checkout #place_order{width:100%;justify-content:center;background:var(--ocre)!important;color:#fff!important;font-size:1.02rem;padding:1em 1.6em;box-shadow:0 8px 20px rgba(207,129,24,.28)!important;}
.gd-checkout .woocommerce-privacy-policy-text{font-size:.8rem;color:var(--gris);margin-top:.8rem;}
.gd-checkout .woocommerce-terms-and-conditions-wrapper{font-size:.85rem;}

@media(max-width:980px){
  .gd-checkout__grid{grid-template-columns:1fr;}
  .gd-checkout__aside{position:static;}
}

/* ---------- Checkout (legacy CSS génériques) ---------- */
.woocommerce-checkout h3{font-family:var(--ff-titre);color:var(--violet);}
.woocommerce form .form-row label{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;color:var(--gris);}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce-checkout select,
.select2-container--default .select2-selection--single{font-family:var(--ff-corps);border:1.5px solid var(--ligne)!important;border-radius:8px;padding:.7em .9em;}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--ocre);box-shadow:0 0 0 3px var(--ocre-p);}
.woocommerce-checkout #payment{background:var(--creme);border-radius:14px;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ligne);}
#order_review_heading,.woocommerce-checkout-review-order-table{font-family:var(--ff-corps);}
.woocommerce-checkout-review-order-table tfoot .order-total .amount{color:var(--ocre);font-family:var(--ff-label);}

/* Le panier est un drawer → masquer le bouton « Voir le panier » des notices */
.woocommerce-message a.wc-forward,.woocommerce-message a.button.wc-forward{display:none;}

/* ---------- Messages / notices ---------- */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  border-top:none;border-radius:10px;font-family:var(--ff-corps);padding:1em 1.2em 1em 2.6em;}
.woocommerce-message::before{color:var(--vert);}
.woocommerce-info::before{color:var(--indigo);}
.woocommerce-message{background:var(--vert-p);}
.woocommerce-info{background:var(--violet-p);}
.woocommerce-error{background:var(--rose-p);}

/* ============================================================
   Mon compte sur-mesure
   ============================================================ */
/* Login / inscription : 2 cartes côte à côte (placement forcé, l'auto-flow WC casse) */
.woocommerce-account .gd-page-content .u-columns{display:grid!important;grid-template-columns:1fr 1fr!important;gap:1.6rem!important;align-items:start!important;}
.woocommerce-account .gd-page-content .u-columns .col-1{grid-column:1!important;grid-row:1!important;}
.woocommerce-account .gd-page-content .u-columns .col-2{grid-column:2!important;grid-row:1!important;}
.woocommerce-account .col-1,.woocommerce-account .col-2{width:100%!important;float:none!important;margin:0!important;}
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{background:var(--creme);border:1px solid var(--ligne);border-radius:16px;padding:clamp(1.3rem,3vw,2rem);margin:0;}
.woocommerce-account h2{font-family:var(--ff-titre);font-weight:600;color:var(--violet);font-size:1.5rem;margin-bottom:1.1rem;}
.woocommerce-account form .form-row{margin:0 0 1rem;padding:0;}
.woocommerce-account form label{font-family:var(--ff-label);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;color:var(--gris);display:block;margin-bottom:.35rem;}
.woocommerce-account form .input-text{font-family:var(--ff-corps);font-size:1rem;border:1.5px solid var(--ligne);border-radius:9px;padding:.72em .95em;width:100%;background:#fff;}
.woocommerce-account form .input-text:focus{outline:none;border-color:var(--ocre);box-shadow:0 0 0 3px var(--ocre-p);}
.woocommerce-account .woocommerce-form-login__rememberme,.woocommerce-account .woocommerce-form__label-for-checkbox{font-family:var(--ff-corps);text-transform:none;letter-spacing:0;font-size:.86rem;color:var(--gris);}
.woocommerce-account .lost_password a,.woocommerce-account .woocommerce-privacy-policy-text{color:var(--gris);font-size:.85rem;}
.woocommerce-account .lost_password a:hover{color:var(--noir);}

/* Dashboard connecté : sidebar + contenu */
.woocommerce-account.logged-in .gd-page-content > .woocommerce{display:grid;grid-template-columns:250px 1fr;gap:2.4rem;align-items:start;}
.woocommerce-account .woocommerce-MyAccount-navigation{float:none!important;width:auto!important;}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0;border:1px solid var(--ligne);border-radius:14px;overflow:hidden;background:#fff;}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--ligne);}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{font-family:var(--ff-label);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.82rem;padding:.9em 1.2em;display:block;color:var(--encre);transition:.15s;}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--creme);}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--noir);color:#fff;}
.woocommerce-account .woocommerce-MyAccount-content{float:none!important;width:auto!important;}
.woocommerce-account .woocommerce-MyAccount-content h2,.woocommerce-account .woocommerce-MyAccount-content h3{font-family:var(--ff-titre);color:var(--violet);}
.woocommerce-account .woocommerce-MyAccount-content a{color:var(--ocre);}
.woocommerce-account .woocommerce-MyAccount-content a.button{color:#fff;}
@media(max-width:780px){
  .woocommerce-account .gd-page-content .u-columns{grid-template-columns:1fr;}
  .woocommerce-account.logged-in .gd-page-content > .woocommerce{grid-template-columns:1fr;}
}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .woocommerce div.product div.images,.woocommerce div.product div.summary{width:100%!important;float:none!important;margin-bottom:1.4rem;}
}

/* ===== Option A (23/06) : configurateur pleine largeur sous le header ===== */
.gd-fiche__perso-cta{display:flex;align-items:center;gap:.5em;margin-top:.6rem;color:var(--ocre);font-family:var(--ff-label);font-weight:600;font-size:1rem;}
.gd-perso{margin-top:clamp(2rem,5vw,3.5rem);padding-top:clamp(2rem,5vw,3.2rem);border-top:1px solid var(--ligne);}
.gd-perso .gd-product-config{margin:0!important;}
.gd-perso .gd-product-config .cfg-grid{grid-template-columns:1fr minmax(0,.9fr);gap:clamp(2rem,4vw,3.5rem);}
.gd-perso .gd-product-config .cfg-stage{position:static;}
.gd-perso .gd-precisions{max-width:760px;}
@media(max-width:900px){.gd-perso .gd-product-config .cfg-grid{grid-template-columns:1fr;}}
