/* =========================================================================
   Graine Hypnose — habillage boutique
   WooCommerce (classique + blocs) et Sensei LMS, ramenés à la charte du site.
   Chargée uniquement sur les pages concernées (voir inc/shop.php).

   Règle de lisibilité du réseau, rappelée ici parce qu'elle est vite violée :
   JAMAIS de texte clair sur l'accent clair. Sur --grh-pousse, le texte est
   --grh-sur-accent (abysse).
   ========================================================================= */

/* ---------------------------------------------------------------- Cadre --- */
.woocommerce,
.woocommerce-page .grh-article,
.sensei .grh-article{max-width:var(--grh-wrap)}

body.woocommerce-page main.grh-article,
body.woocommerce main.grh-article,
body.post-type-archive-product main.grh-article,
body.single-product main.grh-article,
body.post-type-archive-course main.grh-article,
body.single-course main.grh-article,
body.single-lesson main.grh-article,
body.single-quiz main.grh-article{max-width:var(--grh-wrap);padding:52px 26px 76px}

/* Une page de boutique n'est pas un article : pas de signature. */
body.woocommerce-page .grh-arthero .grh-byline,
body.woocommerce .grh-arthero .grh-byline,
body.post-type-archive-product .grh-arthero .grh-byline,
body.single-product .grh-arthero .grh-byline,
body.post-type-archive-course .grh-arthero .grh-byline,
body.single-course .grh-arthero .grh-byline,
body.single-lesson .grh-arthero .grh-byline{display:none}

/* --------------------------------------------------------------- Titres --- */
.woocommerce-products-header{padding:0 0 8px}
.woocommerce-products-header__title,
.woocommerce div.product .product_title,
.sensei h1.entry-title{font-family:var(--grh-serif);color:var(--grh-texte)}

/* -------------------------------------------------------------- Boutons --- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wc-block-components-button,
.sensei-course-theme__button,
a.sensei-course-theme__button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:12px 26px;border:0;border-radius:999px;cursor:pointer;
  background:linear-gradient(180deg,var(--grh-pousse-clair),var(--grh-pousse));
  color:var(--grh-sur-accent);
  font-family:var(--grh-sans);font-weight:700;font-size:.93rem;line-height:1.2;
  text-decoration:none;text-transform:none;letter-spacing:0;
  box-shadow:0 8px 22px rgba(95,184,148,.30);
  transition:transform .2s,box-shadow .2s;
}
.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,
.woocommerce input.button.alt:hover,
.wc-block-components-button:hover{
  background:linear-gradient(180deg,var(--grh-pousse-clair),var(--grh-pousse));
  color:var(--grh-sur-accent);
  transform:translateY(-2px);box-shadow:0 12px 28px rgba(95,184,148,.40);
}
.woocommerce a.button.wc-backward,
.woocommerce button.button[name="update_cart"],
.wc-block-components-button.wc-block-components-button--outlined{
  background:transparent;color:var(--grh-profond);
  border:1px solid var(--grh-profond);box-shadow:none;font-weight:700;
}
.woocommerce a.button.wc-backward:hover,
.woocommerce button.button[name="update_cart"]:hover{
  background:var(--grh-profond);color:var(--grh-lin);
}
.woocommerce button.button:disabled,
.woocommerce button.button:disabled[disabled]{opacity:.5;box-shadow:none}

/* ---------------------------------------------- Grille des formations --- */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,
.woocommerce ul.products::after{content:none}
.woocommerce ul.products li.product{
  width:auto!important;margin:0!important;float:none!important;
  background:var(--grh-blanc);border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);overflow:hidden;
  display:flex;flex-direction:column;text-align:left;
  transition:border-color .2s,box-shadow .2s;
}
.woocommerce ul.products li.product:hover{
  border-color:var(--grh-pousse);box-shadow:0 14px 34px rgba(18,59,61,.10);
}
.woocommerce ul.products li.product a img{
  width:100%;aspect-ratio:16/10;object-fit:cover;margin:0;display:block;border-radius:0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--grh-serif);font-size:1.16rem;color:var(--grh-texte);
  padding:20px 22px 0;margin:0;line-height:1.3;
}
.woocommerce ul.products li.product .grh-prod-teaser{
  padding:8px 22px 0;margin:0;color:var(--grh-texte-doux);font-size:.92rem;
}
.woocommerce ul.products li.product .price{
  display:block;padding:14px 22px 0;margin:auto 0 0;
  font-family:var(--grh-sans);font-size:1.34rem;font-weight:700;color:var(--grh-pousse-fonce);
}
.woocommerce ul.products li.product .price del{color:var(--grh-texte-doux);font-weight:400;
  font-size:1rem;margin-right:8px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol{font-size:.9em}
.woocommerce ul.products li.product .grh-prod-tva{padding:2px 22px 0;margin:0;
  font-size:.74rem;color:var(--grh-texte-doux)}
.woocommerce ul.products li.product a.button{margin:16px 22px 22px;align-self:flex-start}
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale{
  background:var(--grh-cuivre);color:#fff;border-radius:999px;
  font-family:var(--grh-sans);font-size:.7rem;font-weight:700;letter-spacing:.08em;
  padding:6px 14px;min-height:0;min-width:0;line-height:1.2;top:14px;left:auto;right:14px;margin:0;
}

/* Le pack se distingue sans crier. */
.woocommerce ul.products li.product.grh-pack{border-color:var(--grh-pousse);
  box-shadow:0 14px 34px rgba(95,184,148,.16)}
.grh-pack-ribbon{position:absolute;top:14px;left:14px;z-index:2;
  background:var(--grh-profond);color:var(--grh-pousse-clair);
  font-family:var(--grh-sans);font-size:.68rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;padding:6px 13px;border-radius:999px}
.woocommerce ul.products li.product{position:relative}

/* --------------------------------------------------------- Fiche produit --- */
/* ⚠️ NE PAS remettre `display:grid` sur `.woocommerce div.product` : sur ce site
   WooCommerce rend la fiche produit avec ses BLOCS (wp-block-woocommerce…), et
   le conteneur `.wp-block-group.woocommerce.product` enveloppe toute la page.
   Lui imposer une grille à deux colonnes écrase le titre à un caractère par
   ligne. La mise en page des colonnes est déjà faite par le bloc lui-même. */
.woocommerce div.product .woocommerce-product-gallery img,
.wp-block-woocommerce-product-image img{border-radius:var(--grh-radius)}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--grh-sans);font-size:1.9rem;font-weight:700;color:var(--grh-pousse-fonce);
}
.woocommerce div.product p.price del{font-size:1.1rem;color:var(--grh-texte-doux);font-weight:400}
.woocommerce div.product p.price ins{text-decoration:none}
.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--grh-texte-doux);font-size:1rem;line-height:1.7;
}
.woocommerce div.product form.cart{margin:26px 0 0}
.woocommerce div.product form.cart div.quantity{display:none}
.woocommerce div.product .product_meta{font-size:.82rem;color:var(--grh-texte-doux);
  border-top:1px solid var(--grh-sable);padding-top:18px;margin-top:24px}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:12px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 24px;
  border-bottom:1px solid var(--grh-sable)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:transparent;border:0;border-radius:0;margin:0 26px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{content:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--grh-sans);font-size:.76rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--grh-texte-doux);padding:14px 0;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--grh-pousse-fonce);
  box-shadow:inset 0 -2px 0 var(--grh-pousse)}
.woocommerce div.product .woocommerce-tabs .panel{padding:0;margin:0}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.35rem}
.woocommerce .related.products{grid-column:1/-1;border-top:1px solid var(--grh-sable);
  padding-top:44px;margin-top:44px}
.woocommerce .related.products > h2{font-family:var(--grh-serif);font-size:1.5rem;margin-bottom:22px}

/* ------------------------------------------------- Panier et commande --- */
.woocommerce table.shop_table{border:1px solid var(--grh-sable);border-radius:var(--grh-radius);
  border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{background:var(--grh-sable);color:var(--grh-profond);
  font-family:var(--grh-sans);font-size:.72rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;padding:14px 18px}
.woocommerce table.shop_table td{padding:16px 18px;border-top:1px solid var(--grh-sable);
  color:var(--grh-texte)}
.woocommerce table.shop_table img{width:64px;border-radius:8px}
.woocommerce-cart .cart-collaterals .cart_totals{background:var(--grh-lin);
  border:1px solid var(--grh-sable);border-radius:var(--grh-radius);padding:24px 26px}
.woocommerce-cart .cart-collaterals .cart_totals h2{font-family:var(--grh-sans);font-size:.74rem;
  font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--grh-cuivre);margin:0 0 14px}
.woocommerce-cart .cart-collaterals .cart_totals .order-total .amount{color:var(--grh-pousse-fonce);
  font-size:1.4rem}
.woocommerce .cart-collaterals .cross-sells{display:none}
.woocommerce-checkout h3{font-family:var(--grh-serif);font-size:1.35rem;
  border-bottom:1px solid var(--grh-sable);padding-bottom:12px;margin-bottom:22px}
.woocommerce-checkout #order_review{background:var(--grh-lin);border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);padding:26px}
.woocommerce-checkout #payment{background:transparent;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--grh-sable);padding:0 0 18px}
.woocommerce-checkout #payment div.form-row{padding:18px 0 0}
.woocommerce-checkout #payment .payment_box{background:var(--grh-blanc);
  border:1px solid var(--grh-sable);border-radius:10px;color:var(--grh-texte-doux);font-size:.9rem}
.woocommerce-checkout #payment .payment_box::before{border-bottom-color:var(--grh-sable)}

/* -------------------------------------------------------- Formulaires --- */
/* ATTENTION : ne PAS inclure ici `.wc-block-components-text-input label`.
   Dans le panier/commande en blocs, ce label est un « floating label » en
   position absolue : lui imposer majuscules + interlettrage l'élargit et le
   fait déborder du champ, et le margin-bottom n'a aucun effet. Il est traité
   séparément dans la section « Panier & commande (blocs) » plus bas. */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label{
  font-family:var(--grh-sans);font-size:.78rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--grh-texte-doux);margin-bottom:7px}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.wc-block-components-text-input input{
  width:100%;padding:13px 15px;border:1px solid var(--grh-sable);border-radius:10px;
  background:var(--grh-blanc);color:var(--grh-texte);
  font-family:var(--grh-sans);font-size:1rem;line-height:1.6;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus{
  outline:none;border-color:var(--grh-pousse);box-shadow:0 0 0 3px rgba(95,184,148,.25);
}
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce-ResetPassword{
  border:1px solid var(--grh-sable);border-radius:var(--grh-radius);
  background:var(--grh-blanc);padding:28px 30px;margin:0 0 30px;
}
.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{width:auto;float:none}
.woocommerce-privacy-policy-text p,
.woocommerce form .woocommerce-privacy-policy-text{color:var(--grh-texte-doux);font-size:.88rem}

/* ----------------------------------------------------------- Messages --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-noreviews,
.woocommerce div.message{
  border-top:0;border-left:4px solid var(--grh-pousse);border-radius:0 10px 10px 0;
  background:var(--grh-lin);color:var(--grh-texte);
  font-family:var(--grh-sans);font-size:.94rem;padding:18px 22px;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{content:none}
.woocommerce-error{border-left-color:var(--grh-cuivre);background:#F7E7E1}
.woocommerce-message a.button,
.woocommerce-info a.button{margin-left:14px}

/* ---------------------------------------------------------- Mon compte --- */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px 1fr;gap:40px;
  align-items:start}
.woocommerce-account .woocommerce-MyAccount-navigation{width:auto;float:none}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;
  border:1px solid var(--grh-sable);border-radius:var(--grh-radius);overflow:hidden;
  background:var(--grh-blanc)}
.woocommerce-account .woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-account .woocommerce-MyAccount-navigation li+li{border-top:1px solid var(--grh-sable)}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block;padding:14px 18px;color:var(--grh-texte);text-decoration:none;
  font-family:var(--grh-sans);font-size:.94rem;transition:background .15s,color .15s}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:var(--grh-lin)}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:var(--grh-profond);color:var(--grh-lin);font-weight:700}
.woocommerce-account .woocommerce-MyAccount-content{width:auto;float:none}
.woocommerce-account .woocommerce-MyAccount-content > h2:first-child,
.woocommerce-account .woocommerce-MyAccount-content > h3:first-child{margin-top:0}
.woocommerce-account .addresses .title h3{font-family:var(--grh-serif)}

/* Certificats */
.grh-certs{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grh-cert{background:var(--grh-blanc);border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);padding:24px 26px}
.grh-cert-k{font-family:var(--grh-sans);font-size:.7rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--grh-cuivre);margin:0 0 8px}
.grh-cert h3{font-family:var(--grh-serif);font-size:1.15rem;margin:0 0 6px}
.grh-cert-d{color:var(--grh-texte-doux);font-size:.88rem;margin:0 0 16px}
.grh-cert-empty{background:var(--grh-lin);border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);padding:28px 30px}
.grh-cert-empty p{color:var(--grh-texte-doux)}
.grh-cert-empty p:first-child{color:var(--grh-texte)}

/* ------------------------------------------------------------- Sensei --- */
.sensei-course-theme,
body.sensei-course-theme{--sensei-primary-color:var(--grh-pousse-fonce)}
.sensei h2,.sensei h3,
.wp-block-sensei-lms-course-outline h2{font-family:var(--grh-serif);color:var(--grh-texte)}
.wp-block-sensei-lms-course-outline .wp-block-sensei-lms-course-outline-module{
  border:1px solid var(--grh-sable);border-radius:var(--grh-radius);overflow:hidden;
  margin-bottom:18px}
.wp-block-sensei-lms-course-outline-module__name{font-family:var(--grh-serif)}
.wp-block-sensei-lms-course-outline-module__header{background:var(--grh-lin)!important;
  color:var(--grh-texte)!important;padding:16px 20px}
.wp-block-sensei-lms-course-outline-lesson{padding:13px 20px;border-top:1px solid var(--grh-sable);
  font-family:var(--grh-sans);color:var(--grh-texte)}
.wp-block-sensei-lms-course-outline-lesson:hover{background:var(--grh-lin)}
.wp-block-sensei-lms-course-outline-lesson.completed .wp-block-sensei-lms-course-outline-lesson__status{
  color:var(--grh-pousse-fonce)}
.wp-block-sensei-lms-course-progress .wp-block-sensei-lms-progress-bar{
  background:var(--grh-sable);border-radius:999px;height:8px;overflow:hidden}
.wp-block-sensei-lms-course-progress .wp-block-sensei-lms-progress-bar__bar,
.sensei-progress-bar__bar{background:var(--grh-pousse)}
.sensei-lms-question-block__title,
.sensei-quiz-question__title{font-family:var(--grh-serif)}
.sensei-course-theme__frame,
.sensei-course-theme__sidebar{background:var(--grh-blanc)}
.sensei-course-theme-lesson-actions .sensei-course-theme__button.is-primary{
  background:linear-gradient(180deg,var(--grh-pousse-clair),var(--grh-pousse));
  color:var(--grh-sur-accent);border:0}
.sensei-results-links a,
.sensei-course-meta{font-family:var(--grh-sans)}
.course-container .course{border:1px solid var(--grh-sable);border-radius:var(--grh-radius);
  padding:22px 24px;margin-bottom:18px;background:var(--grh-blanc)}

/* --------------------------------------------------------- Responsive --- */
@media(max-width:1000px){
  .woocommerce ul.products{grid-template-columns:1fr 1fr}
  .woocommerce div.product{grid-template-columns:1fr;gap:28px}
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:26px}
  .grh-certs{grid-template-columns:1fr}
}
@media(max-width:720px){
  .woocommerce .col2-set{grid-template-columns:1fr;gap:18px}
  body.woocommerce-page main.grh-article,
  body.woocommerce main.grh-article{padding:36px 20px 60px}
}
@media(max-width:560px){
  .woocommerce ul.products{grid-template-columns:1fr}
  .woocommerce table.shop_table img{width:48px}
}


/* ------------------------------------------- Fiche produit (version blocs) --- */
.wp-block-woocommerce-product-price,
.wc-block-components-product-price{font-family:var(--grh-sans);font-weight:700;
  color:var(--grh-pousse-fonce)}
.wc-block-components-product-price del,
.wp-block-woocommerce-product-price del{color:var(--grh-texte-doux);font-weight:400}
.wc-block-components-product-price ins{text-decoration:none}
.wp-block-post-title,
.wp-block-woocommerce-product-details h2{font-family:var(--grh-serif)}
.woocommerce-breadcrumb{font-size:.82rem;color:var(--grh-texte-doux);margin:0 0 22px}
.woocommerce-breadcrumb a{color:var(--grh-pousse-fonce)}
.wc-block-components-notice-banner{border-radius:10px;border-left:4px solid var(--grh-pousse);
  background:var(--grh-lin);color:var(--grh-texte)}
.wc-block-components-notice-banner.is-error{border-left-color:var(--grh-cuivre);background:#F7E7E1}

/* ------------------------------- Bandeau de la boutique et des cours --- */
.grh-arthero-lede{color:#C3D2CF;font-size:1.02rem;line-height:1.65;max-width:56ch;margin:16px 0 0}
.grh-shop .woocommerce-products-header{display:none}
.grh-shop .woocommerce-breadcrumb{margin-top:0}
.grh-cours .wp-block-sensei-lms-course-outline{margin-top:2em}

/* =========================================================================
   PANIER & COMMANDE — version BLOCS (wc-block-*)
   Ce site rend /panier/ et /commander/ avec les blocs WooCommerce, pas avec
   les shortcodes. Les règles `.woocommerce-checkout #order_review` plus haut
   ne s'appliquent donc PAS ici : tout ce qui suit est le vrai habillage.
   ========================================================================= */

/* ------------------------------------------------------------- Cadre --- */
/* ⚠️ Les gabarits page-cart / page-checkout posent `grh-page-cart` et
   `grh-page-checkout` sur le <main>, PAS `grh-cart` ni `grh-checkout` :
   `.grh-cart` est déjà l'icône panier du header dans grh.css, et elle est en
   `display:inline-flex`. Nommer le <main> `grh-cart` le réduisait à 54 px de
   large et faisait déborder tout le panier hors de l'écran. */
body.woocommerce-cart main.grh-article,
body.woocommerce-checkout main.grh-article{
  max-width:var(--grh-wrap);margin-left:auto;margin-right:auto;padding:52px 26px 76px}

/* On ne touche PAS aux paddings de `.wc-block-components-main` et
   `.wc-block-components-sidebar` : c'est eux qui font la gouttière entre les
   deux colonnes, et les largeurs sont en pourcentage. Les annuler colle le
   récapitulatif contre la liste des articles. */

/* Titres de sections : sérif, comme partout ailleurs sur le site. */
.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary__title .wc-block-components-title{
  font-family:var(--grh-serif);color:var(--grh-texte);font-weight:600;letter-spacing:0}
.wc-block-components-checkout-step__description{
  color:var(--grh-texte-doux);font-size:.92rem}

/* Numéros d'étape de la commande : pastille à l'accent. */
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__title::before{
  color:var(--grh-pousse-fonce);font-family:var(--grh-sans);font-weight:700}
.wc-block-components-checkout-step{border:0;padding-bottom:26px}

/* ------------------------------------------------- Lignes du panier --- */
.wc-block-cart-items{border:1px solid var(--grh-sable);border-radius:var(--grh-radius);
  background:var(--grh-blanc);overflow:hidden;border-collapse:separate}
.wc-block-cart-items__header{background:var(--grh-lin);color:var(--grh-texte-doux);
  font-family:var(--grh-sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:1px solid var(--grh-sable)}
.wc-block-cart-items__row{border-top:1px solid var(--grh-sable)}
.wc-block-cart-items__row:first-of-type{border-top:0}
.wc-block-cart-item__image img{border-radius:10px;border:1px solid var(--grh-sable)}
.wc-block-components-product-name{font-family:var(--grh-serif);font-size:1.06rem;
  color:var(--grh-texte);text-decoration:none;line-height:1.35}
.wc-block-components-product-name:hover{color:var(--grh-pousse-fonce)}
.wc-block-components-product-metadata{color:var(--grh-texte-doux);font-size:.88rem}

/* Formations = produits numériques : la quantité n'a pas de sens ici, mais si
   WooCommerce l'affiche malgré `sold_individually`, elle doit rester lisible. */
.wc-block-components-quantity-selector{border:1px solid var(--grh-sable);border-radius:999px;
  background:var(--grh-blanc)}
.wc-block-components-quantity-selector__button{color:var(--grh-texte-doux);font-weight:700}
.wc-block-components-quantity-selector__button:hover{color:var(--grh-pousse-fonce)}
.wc-block-cart-item__remove-link{color:var(--grh-texte-doux);font-size:.82rem}
.wc-block-cart-item__remove-link:hover{color:var(--grh-cuivre)}

/* ----------------------------------------------- Totaux / récapitulatif --- */
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block{border-color:var(--grh-sable)}
.wp-block-woocommerce-cart-totals-block,
.wc-block-components-order-summary{background:var(--grh-lin);border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);padding:24px 26px}
.wc-block-components-totals-item__label{font-family:var(--grh-sans);color:var(--grh-texte-doux);
  font-size:.92rem}
.wc-block-components-totals-item__value{font-family:var(--grh-sans);font-weight:700;
  color:var(--grh-texte)}
.wc-block-components-totals-footer-item{border-top:1px solid var(--grh-sable);padding-top:14px}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font-size:1.28rem;color:var(--grh-pousse-fonce)}
.wc-block-components-totals-footer-item__tax-value,
.wc-block-components-totals-taxes .wc-block-components-totals-item__label{
  color:var(--grh-texte-doux);font-size:.85rem}
.wc-block-components-totals-discount .wc-block-components-totals-item__value{
  color:var(--grh-pousse-fonce)}

/* Le code promo, replié : un lien discret, pas un bloc gris. */
.wc-block-components-panel__button{font-family:var(--grh-sans);font-weight:700;
  color:var(--grh-pousse-fonce);font-size:.9rem}

/* ------------------------------------------------------------ Champs --- */
/* Floating label : on garde la mécanique de WooCommerce, on ne change que la
   typo et les couleurs. Aucune majuscule, aucun interlettrage (cf. plus haut). */
.wc-block-components-text-input label,
.wc-block-components-text-input.is-active label{
  font-family:var(--grh-sans);color:var(--grh-texte-doux);text-transform:none;letter-spacing:0}
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=number],
.wc-block-components-select select,
.wc-block-components-textarea{
  border:1px solid var(--grh-sable);border-radius:10px;background:var(--grh-blanc);
  color:var(--grh-texte);font-family:var(--grh-sans);font-size:1rem}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea:focus{
  outline:none;border-color:var(--grh-pousse);box-shadow:0 0 0 3px rgba(95,184,148,.25)}
.wc-block-components-checkbox__label,
.wc-block-components-checkout-step__description a{color:var(--grh-texte-doux)}
.wc-block-components-validation-error{color:var(--grh-cuivre);font-size:.85rem}

/* --------------------------------------------------------- Paiement --- */
.wc-block-components-radio-control__option{border-color:var(--grh-sable)}
.wc-block-components-radio-control-accordion-option{border:1px solid var(--grh-sable);
  border-radius:10px;margin-bottom:10px;background:var(--grh-blanc)}
.wc-block-checkout__payment-method .wc-block-components-radio-control__label{
  font-family:var(--grh-sans);color:var(--grh-texte)}

/* Boutons d'action principaux : même pilule verte que le reste du site. */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button{width:100%;justify-content:center;
  padding:16px 26px;font-size:1rem}

/* --------------------------------------------------------- Panier vide --- */
.wp-block-woocommerce-empty-cart-block{text-align:center;padding:20px 0 10px}
.wp-block-woocommerce-empty-cart-block h2,
.wc-block-cart__empty-cart__title{font-family:var(--grh-serif);color:var(--grh-texte)}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title,
.wp-block-woocommerce-empty-cart-block p{color:var(--grh-texte-doux)}

/* ---------------------------------------------------------- Mobile --- */
@media(max-width:781px){
  .wc-block-components-sidebar-layout{gap:0}
  .wp-block-woocommerce-cart-totals-block,
  .wc-block-components-order-summary{padding:20px 18px}
  body.woocommerce-cart main.grh-article,
  body.woocommerce-checkout main.grh-article{padding:34px 18px 60px}
}

/* =========================================================================
   MON COMPTE
   WooCommerce sort la navigation et le contenu en flottants (30 % / 70 %).
   Dans un thème FSE, le conteneur `.woocommerce` hérite d'une grille de bloc
   qui écrase ces flottants : la navigation se retrouvait à DROITE, le contenu
   à gauche sur 260 px, et l'ensemble centré sur 1000 px. On reprend donc la
   main avec une grille explicite, et on force l'ordre des colonnes.
   ========================================================================= */
.woocommerce-account .woocommerce{
  display:grid;grid-template-columns:270px minmax(0,1fr);gap:44px;align-items:start;
  max-width:var(--grh-wrap);margin:0 auto;width:100%}
.woocommerce-account .woocommerce-MyAccount-navigation{
  grid-column:1;width:auto;float:none;margin:0}
.woocommerce-account .woocommerce-MyAccount-content{
  grid-column:2;width:auto;float:none;margin:0}
.woocommerce-account .woocommerce-notices-wrapper{grid-column:1 / -1}

/* Navigation : une carte, pas une liste nue. */
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;
  border:1px solid var(--grh-sable);border-radius:var(--grh-radius);
  background:var(--grh-blanc);overflow:hidden}
.woocommerce-MyAccount-navigation li{border-top:1px solid var(--grh-sable)}
.woocommerce-MyAccount-navigation li:first-child{border-top:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:14px 20px;
  font-family:var(--grh-sans);font-size:.95rem;font-weight:500;
  color:var(--grh-texte);text-decoration:none;transition:background .15s,color .15s}
.woocommerce-MyAccount-navigation li a:hover{background:var(--grh-lin);
  color:var(--grh-pousse-fonce)}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--grh-profond);
  color:var(--grh-pousse-clair);font-weight:700}
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a{
  color:var(--grh-texte-doux);font-size:.88rem}

/* Contenu */
.woocommerce-MyAccount-content > p:first-child{color:var(--grh-texte-doux)}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{font-family:var(--grh-serif);color:var(--grh-texte)}
.woocommerce-account table.shop_table{border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);border-collapse:separate;background:var(--grh-blanc)}
.woocommerce-account table.shop_table th{background:var(--grh-lin);
  font-family:var(--grh-sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--grh-texte-doux)}

/* Onglet « Mes cours » (Sensei dans WooCommerce) */
.grh-mescours .sensei-course-overview,
.grh-mescours .course{margin:0 0 18px}
.grh-mescours .sensei-results-links a,
.grh-mescours .course-title a{font-family:var(--grh-serif);color:var(--grh-texte);
  text-decoration:none}
.grh-mescours .course-title a:hover{color:var(--grh-pousse-fonce)}
.grh-cert-empty{border:1px dashed var(--grh-sable);border-radius:var(--grh-radius);
  background:var(--grh-lin);padding:26px 28px}
.grh-cert-empty p{margin:0 0 10px;color:var(--grh-texte-doux)}
.grh-cert-empty .grh-cta{margin-top:6px}

@media(max-width:860px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr;gap:26px}
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{grid-column:1}
}

/* Le gabarit `page.html` rend le contenu en `layout:constrained` : chaque
   enfant est bridé à la « content size » de theme.json (760 px) et centré.
   Sur Mon compte, cela réduisait la grille à deux colonnes à 760 px au milieu
   d'un <main> de 1140. On élargit le conteneur pour cette page seulement. */
body.woocommerce-account .wp-block-post-content,
body.woocommerce-account .wp-block-post-content > *,
body.woocommerce-account .entry-content{max-width:var(--grh-wrap)}

/* WooCommerce et le thème parent posent des marges sur les <li> : dans une
   carte de navigation, elles créent des trous entre les entrées. */
.woocommerce-MyAccount-navigation ul li{margin:0;padding:0}
.woocommerce-MyAccount-navigation ul li::marker{content:none}

/* Les <li> de la navigation contiennent des nœuds de texte blancs autour du
   <a> : avec un <a> en display:block, ces blancs créent une ligne fantôme et
   les entrées passaient de 54 px à 89 px de haut, avec des trous irréguliers.
   Passer le <li> en flex fait disparaître ces nœuds de la mise en page. */
.woocommerce-MyAccount-navigation ul li{display:flex}
.woocommerce-MyAccount-navigation ul li a{flex:1 1 auto}

/* Onglets Sensei « Tous / Actif / Terminé » dans Mes cours : ils arrivent en
   bleu par défaut, ce qui jure avec la charte. */
.grh-mescours .sensei-course-filters,
.grh-mescours .sensei-results-links{border-bottom:1px solid var(--grh-sable)}
.grh-mescours a,
.grh-mescours .sensei-course-filter a{color:var(--grh-pousse-fonce)}
.grh-mescours .sensei-course-filter a.active,
.grh-mescours .sensei-course-filter .active a{color:var(--grh-texte);font-weight:700}
.grh-mescours .sensei-message,
.grh-mescours .sensei-notice{background:var(--grh-lin);border:1px solid var(--grh-sable);
  border-left:4px solid var(--grh-pousse);border-radius:10px;color:var(--grh-texte)}

/* =========================================================================
   PAGE DE CONFIRMATION DE COMMANDE (/commander/order-received/…)
   WooCommerce ne rend PAS cette page avec `page-checkout` : elle a son propre
   gabarit `order-confirmation`, dans lequel les template-parts du thème
   s'effondraient à 0 px de haut (header, barre du haut et footer invisibles,
   mesuré le 16/08/2026 sur la commande #364). D'où `templates/order-confirmation.html`.
   ========================================================================= */
body.woocommerce-order-received main.grh-article,
.grh-page-merci{max-width:var(--grh-wrap);margin:0 auto}
.grh-page-merci h2{font-family:var(--grh-serif);color:var(--grh-texte);margin-top:2em}
.wp-block-woocommerce-order-confirmation-status p{font-size:1.05rem;color:var(--grh-texte-doux)}
.grh-page-merci table{width:100%;border:1px solid var(--grh-sable);border-radius:var(--grh-radius);
  border-collapse:separate;background:var(--grh-blanc);overflow:hidden}
.grh-page-merci table th{background:var(--grh-lin);color:var(--grh-texte-doux);
  font-family:var(--grh-sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  text-align:left;padding:12px 16px}
.grh-page-merci table td{padding:14px 16px;border-top:1px solid var(--grh-sable);
  color:var(--grh-texte)}
.grh-page-merci table a{color:var(--grh-pousse-fonce);font-weight:700}
.wp-block-woocommerce-order-confirmation-summary{background:var(--grh-lin);
  border:1px solid var(--grh-sable);border-radius:var(--grh-radius);padding:20px 24px}
.wp-block-woocommerce-order-confirmation-billing-address address{font-style:normal;
  color:var(--grh-texte-doux);line-height:1.7}
.grh-merci-cta{margin:34px 0 0}

/* Case de renonciation à la rétractation : elle doit se voir, sans crier. */
.wc-block-checkout__additional-fields .wc-block-components-checkbox__label,
.wc-block-components-address-form .wc-block-components-checkbox__label{
  font-size:.88rem;line-height:1.55;color:var(--grh-texte)}
.wp-block-woocommerce-checkout-order-information-block,
.wc-block-checkout__additional-fields{
  background:var(--grh-lin);border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);padding:18px 20px;margin:6px 0 18px}

/* Bandeau des informations complémentaires : on l'isole visuellement pour que
   la renonciation à la rétractation ne se confonde pas avec la note libre. */
.wc-block-checkout__additional-fields .wc-block-components-checkbox{
  background:var(--grh-lin);border:1px solid var(--grh-sable);
  border-radius:var(--grh-radius);padding:14px 16px;display:block}
