/* ==========================================================================
   WooCommerce — même identité que le reste du site
   ========================================================================== */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-info,.woocommerce-error,.woocommerce-message{
  background:var(--papier)!important;border:var(--trait) solid var(--encre)!important;
  border-left:2px solid var(--pop)!important;color:var(--encre)!important;
  padding:16px 20px!important;margin:0 0 26px!important;border-radius:0!important;
  font-size:13px;list-style:none}
.woocommerce-error{border-left-color:#C0392B!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}

/* Boutons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce .button{
  background:transparent!important;color:var(--encre)!important;
  border:var(--trait) solid var(--encre)!important;border-radius:0!important;
  font-family:var(--texte)!important;font-size:var(--t-mini)!important;font-weight:500!important;
  letter-spacing:var(--ls-mini)!important;text-transform:uppercase!important;
  padding:16px 30px!important;transition:background var(--d-moyen),color var(--d-moyen),border-color var(--d-moyen)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--pop)!important;border-color:var(--pop)!important;color:var(--papier)!important}

/* Fil d'Ariane */
.woocommerce-breadcrumb,.a-fil{font-size:10.5px;letter-spacing:var(--ls-mini);text-transform:uppercase;
  color:rgba(14,14,14,.6);margin:0 0 30px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.a-fil a:hover{color:var(--encre)}

/* Boutique */
.a-boutique{padding-top:calc(var(--hdr) + clamp(40px,6vw,80px))}
.a-boutique__barre{display:flex;align-items:center;justify-content:space-between;gap:20px;
  flex-wrap:wrap;padding-bottom:22px;margin-bottom:38px;border-bottom:var(--trait) solid var(--encre)}
.woocommerce .woocommerce-result-count{margin:0;font-size:11px;letter-spacing:.06em;color:rgba(14,14,14,.6)}
.woocommerce .woocommerce-ordering select,.a-boutique select{
  background:var(--papier);color:var(--encre);border:var(--trait) solid var(--encre);
  padding:11px 14px;font-family:var(--texte);font-size:11px;letter-spacing:.06em;
  text-transform:uppercase;border-radius:0}
.a-filtres{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.a-filtre{padding:10px 18px;border:var(--trait) solid var(--encre);font-size:10.5px;
  letter-spacing:var(--ls-mini);text-transform:uppercase;color:var(--encre);
  transition:border-color var(--d-court),color var(--d-court)}
.a-filtre:hover{border-color:var(--encre);color:var(--encre)}
.a-filtre[aria-current="true"]{background:var(--pop);border-color:var(--pop);color:var(--papier)}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:clamp(18px,2.2vw,34px);margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:8px;justify-content:center;margin-top:60px}
.woocommerce nav.woocommerce-pagination ul li{border:0}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{
  border:var(--trait) solid var(--encre);padding:12px 17px;font-size:12px;color:var(--encre);background:transparent}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--pop);color:var(--papier);border-color:var(--pop)}

/* ----- Fiche produit ----- */
.a-produit{padding-top:calc(var(--hdr) + clamp(30px,5vw,60px))}
.a-produit__haut{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(30px,5vw,80px);
  align-items:start;margin-bottom:var(--sec)}
.a-galerie__scene{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:9%;
  background:radial-gradient(circle at 50% 42%,var(--papier-2),var(--papier));
  border:var(--trait) solid var(--encre);overflow:hidden;cursor:zoom-in}
.a-galerie__scene::after{content:"";position:absolute;width:66%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(212,175,55,.12),transparent 66%);filter:blur(34px);pointer-events:none}
.a-galerie__scene img{position:relative;width:92%;height:92%;object-fit:contain;
  filter:drop-shadow(0 40px 50px rgba(0,0,0,.7));
  transition:opacity var(--d-moyen) var(--e-net),transform var(--d-long) var(--e-sortie)}
.a-galerie__scene.est-zoom img{transform:scale(1.7);cursor:zoom-out}
.a-vignettes{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}
.a-vignette{width:88px;height:88px;padding:9px;background:var(--papier);border:var(--trait) solid var(--encre);
  opacity:.6;transition:opacity var(--d-court),border-color var(--d-court),box-shadow var(--d-court)}
.a-vignette img{width:100%;height:100%;object-fit:contain}
.a-vignette:hover{opacity:1;border-color:var(--encre);box-shadow:0 0 22px rgba(212,175,55,.14)}
.a-vignette[aria-current="true"]{opacity:1;border-color:var(--pop)}

.a-produit__info h1{font-size:var(--t-h1);text-transform:uppercase;margin-bottom:12px}
.a-produit__ref{font-size:10.5px;letter-spacing:var(--ls-mini);text-transform:uppercase;
  color:rgba(14,14,14,.6);margin-bottom:22px}
.a-produit__prix{font-family:var(--titre);font-size:clamp(28px,3vw,40px);color:var(--encre);margin-bottom:22px}
.a-produit__prix del{color:rgba(14,14,14,.6);font-size:.6em;margin-right:10px}
.a-produit__prix ins{text-decoration:none}
.a-produit__desc{color:var(--encre);margin-bottom:26px;max-width:52ch}
.a-produit__stock{font-size:10.5px;letter-spacing:var(--ls-mini);text-transform:uppercase;margin-bottom:22px}
.a-produit__stock .in-stock{color:var(--encre)}
.a-produit__stock .out-of-stock{color:#C0392B}
.a-specs{border-top:var(--trait) solid var(--encre);margin:30px 0}
.a-specs div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:var(--trait) solid var(--encre)}
.a-specs .k{font-size:10.5px;letter-spacing:var(--ls-mini);text-transform:uppercase;color:rgba(14,14,14,.6)}
.a-specs .v{font-family:var(--titre);font-size:18px;color:var(--encre)}
.a-rassure{display:grid;gap:14px;margin-top:30px;padding-top:26px;border-top:var(--trait) solid var(--encre)}
.a-rassure div{display:flex;gap:14px;align-items:flex-start;font-size:13.5px;color:var(--encre)}
.a-rassure svg{width:17px;height:17px;flex:none;color:var(--encre);margin-top:2px;stroke-width:1.5}

/* Formulaire d'ajout */
.woocommerce div.product form.cart{display:flex;gap:14px;flex-wrap:wrap;align-items:stretch;margin:26px 0 0}
.woocommerce div.product form.cart .quantity{display:flex;align-items:center;border:var(--trait) solid var(--encre)}
.woocommerce div.product form.cart .quantity input.qty{width:66px;height:56px;background:transparent;
  border:0;text-align:center;color:var(--encre);font-family:var(--texte);font-size:15px;font-weight:600}
.woocommerce div.product form.cart .single_add_to_cart_button{flex:1;min-width:230px;
  background:var(--pop)!important;border-color:var(--pop)!important;color:var(--papier)!important}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  background:var(--encre)!important;border-color:var(--encre)!important}

/* Description longue et similaires */
.a-produit__bas{border-top:var(--trait) solid var(--encre);padding-top:var(--sec)}
.a-produit__bas h2{font-size:var(--t-h3);text-transform:uppercase;margin-bottom:20px}
.a-produit__texte{color:var(--encre);max-width:var(--max-texte)}
.a-produit__texte p{margin-bottom:14px}
.a-produit__texte ul{list-style:disc;margin:0 0 16px 20px}
.a-produit__texte li{margin-bottom:8px}
.woocommerce .related>h2,.woocommerce .up-sells>h2{font-size:var(--t-h3);text-transform:uppercase;margin-bottom:28px}
.woocommerce .related,.woocommerce .up-sells{margin-top:var(--sec)}

/* Panier, commande, compte */
.woocommerce-cart,.woocommerce-checkout,.woocommerce-account{padding-top:calc(var(--hdr) + 50px)}
.woocommerce table.shop_table,.woocommerce table.shop_attributes{
  border:var(--trait) solid var(--encre);border-radius:0;border-collapse:collapse;background:var(--papier)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{
  border-bottom:var(--trait) solid var(--encre);padding:18px 16px;color:var(--encre)}
.woocommerce table.shop_table th{font-family:var(--texte);font-size:10px;font-weight:600;
  letter-spacing:var(--ls-mini);text-transform:uppercase;color:rgba(14,14,14,.6)}
.woocommerce-cart table.cart img{width:76px;background:var(--papier-2);border:var(--trait) solid var(--encre);padding:6px}
.woocommerce .cart_totals,.woocommerce-checkout-review-order,.woocommerce #payment{
  background:var(--papier)!important;border:var(--trait) solid var(--encre);padding:28px}
.woocommerce .cart_totals h2,.woocommerce-checkout h3,.woocommerce-account h2{
  font-family:var(--titre);font-size:24px;margin-bottom:18px;text-transform:uppercase}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container--default .select2-selection--single{
  background:var(--papier-2)!important;border:var(--trait) solid var(--encre)!important;border-radius:0!important;
  color:var(--encre)!important;padding:14px!important;height:auto!important;font-family:var(--texte)!important}
.woocommerce form .form-row label{font-size:10px;letter-spacing:var(--ls-mini);
  text-transform:uppercase;color:rgba(14,14,14,.6)}
.woocommerce .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order{
  width:100%;background:var(--pop)!important;border-color:var(--pop)!important;color:var(--papier)!important;
  font-size:12px!important;padding:19px 30px!important}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce #payment #place_order:hover{
  background:var(--encre)!important;border-color:var(--encre)!important}
.woocommerce ul.order_details{border:var(--trait) solid var(--encre);padding:24px;background:var(--papier)}
.woocommerce ul.order_details li{border-right:var(--trait) solid var(--encre);font-size:10px;
  letter-spacing:var(--ls-mini);text-transform:uppercase;color:rgba(14,14,14,.6)}
.woocommerce ul.order_details li strong{font-family:var(--titre);font-size:18px;
  text-transform:none;letter-spacing:0;color:var(--encre)}
.woocommerce .quantity input[type=number]{color-scheme:dark}

/* Avis désactivés visuellement si l'option reste active */
.woocommerce #reviews,.woocommerce-product-rating,.star-rating{display:none!important}

/* Pages de contenu */
.a-page{padding-top:calc(var(--hdr) + clamp(40px,6vw,80px))}
.a-page__doc{max-width:820px;margin-inline:auto}
.a-page__doc h1{font-size:var(--t-h1);text-transform:uppercase;margin-bottom:26px}
.a-page__doc h2{font-size:var(--t-h3);margin:38px 0 12px;text-transform:uppercase}
.a-page__doc h3{font-family:var(--titre);font-size:22px;margin:32px 0 10px;color:var(--encre)}
.a-page__doc p,.a-page__doc li{color:var(--encre);margin-bottom:14px}
.a-page__doc ul,.a-page__doc ol{margin:0 0 18px 20px;list-style:disc}
.a-page__doc a{color:var(--encre);text-decoration:underline;text-underline-offset:3px}
.a-page__maj{font-size:10.5px;letter-spacing:var(--ls-mini);text-transform:uppercase;
  color:rgba(14,14,14,.6);margin-bottom:30px}


/* ---- Ajustements « Pop Royal » ---- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce .button{
  background:var(--papier)!important;color:var(--encre)!important;
  border:var(--trait) solid var(--encre)!important;font-weight:700!important;
  transition:transform var(--d-court) var(--e-net),box-shadow var(--d-court),background var(--d-court)!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{
  background:var(--jaune)!important;color:var(--encre)!important;
  transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--encre)}
.woocommerce div.product form.cart .single_add_to_cart_button{
  background:var(--encre)!important;color:var(--papier)!important}
.woocommerce div.product form.cart .single_add_to_cart_button:hover{
  background:var(--jaune)!important;color:var(--encre)!important}
.woocommerce .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order{
  background:var(--encre)!important;color:var(--papier)!important;border-color:var(--encre)!important}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,.woocommerce #payment #place_order:hover{
  background:var(--jaune)!important;color:var(--encre)!important}
.a-filtre[aria-current="true"]{background:var(--encre);border-color:var(--encre);color:var(--papier)}
.a-filtre:hover{background:var(--jaune);border-color:var(--encre);color:var(--encre)}
/* Fiche produit : la galerie devient un aplat encadré */
.a-galerie__scene{background:var(--pop);border:var(--trait-fort) solid var(--encre);padding:8%}
.a-galerie__scene::after{display:none}
.a-galerie__scene img{filter:drop-shadow(8px 12px 0 rgba(14,14,14,.18))}
.a-vignette{border:var(--trait) solid var(--encre);background:var(--papier);opacity:.55}
.a-vignette[aria-current="true"]{opacity:1;background:var(--jaune)}
.a-vignette:hover{opacity:1;box-shadow:4px 4px 0 var(--encre);transform:translate(-2px,-2px)}
.a-produit__prix{font-family:var(--titre);font-weight:800;letter-spacing:-.04em}
.a-specs .v{font-family:var(--titre);font-weight:700;text-transform:uppercase;letter-spacing:-.02em}
.a-rassure svg{color:var(--encre)}
.a-rassure div{font-weight:500}
.a-page__doc h1,.a-page__doc h2,.a-page__doc h3{font-family:var(--titre)}
.a-page__doc a{color:var(--encre);border-bottom:var(--trait) solid var(--encre);text-decoration:none}
.woocommerce table.shop_table,.woocommerce .cart_totals,
.woocommerce-checkout-review-order,.woocommerce #payment,.woocommerce ul.order_details{
  background:var(--papier)!important;border:var(--trait) solid var(--encre)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select,.select2-container--default .select2-selection--single{
  background:var(--blanc)!important;border:var(--trait) solid var(--encre)!important;color:var(--encre)!important}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--encre);color:var(--papier)}

/* ==========================================================================
   Respiration avant le pied de page
   La grille produits touchait le pied de page : on rétablit une marge basse
   cohérente avec le rythme vertical du reste du site.
   ========================================================================== */
.a-boutique,
.woocommerce-cart .a-boutique,
.woocommerce-checkout .a-boutique,
.woocommerce-account .a-boutique{padding-bottom:var(--sec)}
.a-produit{padding-bottom:var(--sec)}
.a-page{padding-bottom:var(--sec)}
/* La pagination ou la ligne de réassurance ne doivent pas coller non plus. */
.woocommerce nav.woocommerce-pagination{margin-bottom:clamp(30px,4vw,60px)}
.woocommerce .related,.woocommerce .up-sells{margin-bottom:clamp(20px,3vw,40px)}

/* ==========================================================================
   Palette des tuiles dans les grilles WooCommerce natives
   (produits similaires, ventes croisées) : sans elle, toutes les tuiles
   partageaient la même couleur de halo.
   ========================================================================== */
.woocommerce ul.products > li:nth-child(8n+1) .a-carte,
.woocommerce ul.products > li:nth-child(8n+1){--pop:var(--turquoise)}
.woocommerce ul.products > li:nth-child(8n+2) .a-carte,
.woocommerce ul.products > li:nth-child(8n+2){--pop:var(--jaune)}
.woocommerce ul.products > li:nth-child(8n+3) .a-carte,
.woocommerce ul.products > li:nth-child(8n+3){--pop:var(--rose)}
.woocommerce ul.products > li:nth-child(8n+4) .a-carte,
.woocommerce ul.products > li:nth-child(8n+4){--pop:var(--ciel)}
.woocommerce ul.products > li:nth-child(8n+5) .a-carte,
.woocommerce ul.products > li:nth-child(8n+5){--pop:var(--vert)}
.woocommerce ul.products > li:nth-child(8n+6) .a-carte,
.woocommerce ul.products > li:nth-child(8n+6){--pop:var(--orange)}
.woocommerce ul.products > li:nth-child(8n+7) .a-carte,
.woocommerce ul.products > li:nth-child(8n+7){--pop:var(--creme)}
.woocommerce ul.products > li:nth-child(8n+8) .a-carte,
.woocommerce ul.products > li:nth-child(8n+8){--pop:var(--bleu)}

/* La scène de la fiche produit suit la même règle : lumière portée par
   l'image, dans la teinte extraite du produit. */
.a-galerie__scene{--lueur:var(--pop,var(--turquoise));
  transition:background var(--d-moyen) var(--e-net)}
.a-galerie__scene::before{display:none}
.a-galerie__scene img{position:relative;z-index:1;
  transition:transform var(--d-long) var(--e-sortie),filter var(--d-moyen) var(--e-net)}
.a-galerie__scene:hover img{
  filter:
    drop-shadow(0 0 5px color-mix(in srgb,var(--lueur) 90%,white))
    drop-shadow(0 0 22px var(--lueur))
    drop-shadow(0 0 56px var(--lueur))}
.a-galerie__scene.est-zoom img{filter:none}
.a-vignette{transition:box-shadow var(--d-court),transform var(--d-court) var(--e-net),opacity var(--d-court)}
.a-vignette:hover{opacity:1;transform:translate(-2px,-2px);
  box-shadow:4px 4px 0 var(--encre)}
@media (prefers-reduced-motion:reduce){
  .a-galerie__scene:hover img{transform:none}
}
