/* ==========================================================================
   WITH NÜRYA · pages intérieures et boutique
   Même grille, même palette, même typographie que la page d'accueil.
   ========================================================================== */

/* --- pot de miel du formulaire ------------------------------------------ */
.pot-de-miel{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* --- bouton d'un atelier complet ---------------------------------------- */
.btn--sourd{--bg:transparent;--fg:rgba(58,41,35,.55);border-color:var(--ligne);pointer-events:none;}
.btn--sourd::before{display:none;}
.carte__lien{text-decoration:none;color:inherit;}
.carte__lien:hover{text-decoration:underline;text-underline-offset:.22em;}
.carte__desc p{margin-bottom:.55rem;}
.carte__desc p:last-child{margin-bottom:0;}

/* ==========================================================================
   1. Gabarit des pages intérieures
   ========================================================================== */
.page-interieure{background:var(--creme);}
.interieur{
  padding-top:calc(var(--u) * 5);
  padding-bottom:calc(var(--u) * 4);
}
@media(max-width:900px){ .interieur{padding-top:calc(var(--u) * 4);} }

.page-doc__tete{
  border-bottom:1px solid var(--ligne);
  padding-bottom:calc(var(--u) * 1.2);
  margin-bottom:calc(var(--u) * 1.6);
}
.page-doc__tete .h2{margin-top:calc(var(--u) * .5);max-width:22ch;}
.page-doc__corps{max-width:72ch;font-weight:300;}
.page-doc__corps > * + *{margin-top:calc(var(--u) * .75);}
.page-doc__corps h2{
  font-family:var(--titre);font-weight:400;font-size:var(--t-h3);
  line-height:1.2;margin-top:calc(var(--u) * 1.6);
}
.page-doc__corps h3{
  font-family:var(--texte);font-weight:600;font-size:.95rem;
  letter-spacing:.1em;text-transform:uppercase;margin-top:calc(var(--u) * 1.1);
}
.page-doc__corps h4{font-weight:600;font-size:1rem;margin-top:calc(var(--u) * .9);}
.page-doc__corps ul,
.page-doc__corps ol{padding-left:1.35rem;}
.page-doc__corps li{margin-bottom:.4rem;}
.page-doc__corps a{color:inherit;text-decoration:none;border-bottom:1px solid var(--ligne-forte);transition:border-color .3s var(--ease);}
.page-doc__corps a:hover{border-color:var(--espresso);}
.page-doc__corps strong{font-weight:600;}
.page-doc__corps hr{border:0;border-top:1px solid var(--ligne);margin-block:calc(var(--u) * 1.4);}
.page-doc__corps table{width:100%;border-collapse:collapse;font-size:.92rem;}
.page-doc__corps th,
.page-doc__corps td{border:1px solid var(--ligne);padding:.6rem .8rem;text-align:left;vertical-align:top;}
.page-doc__corps th{font-weight:600;background:var(--creme-clair);}

.liste-articles__item{padding-block:calc(var(--u) * 1.2);border-bottom:1px solid var(--ligne);}
.liste-articles__item a{color:inherit;text-decoration:none;}
.liste-articles__item a:hover{text-decoration:underline;text-underline-offset:.2em;}

/* ==========================================================================
   2. Boutique · réglages communs
   ========================================================================== */
.woocommerce .interieur,
.interieur--boutique{padding-top:calc(var(--u) * 5);}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message{
  list-style:none;
  background:var(--creme-clair);
  border:1px solid var(--ligne);
  border-left:3px solid var(--espresso);
  padding:calc(var(--u) * .7) calc(var(--u) * .9);
  margin-bottom:calc(var(--u) * 1.2);
  font-size:.92rem;font-weight:400;
  display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;
}
.woocommerce-error{border-left-color:#a3402f;}
.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button{margin-left:auto;}

/* Boutons WooCommerce, repris sur .btn ------------------------------------ */
.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,
.woocommerce #place_order{
  position:relative;overflow:hidden;isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:calc(var(--u) * .58) calc(var(--u) * 1.15);
  background:var(--espresso);color:var(--creme);border:1px solid var(--espresso);
  border-radius:0;
  font-family:var(--texte);font-size:var(--t-petit);font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  cursor:pointer;line-height:1.2;white-space:normal;text-align:center;
  transition:color .45s var(--ease),border-color .45s var(--ease),opacity .3s;
}
.woocommerce a.button::before,
.woocommerce button.button::before,
.woocommerce input.button::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--creme);
  transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease-out);
}
.woocommerce a.button:hover::before,
.woocommerce button.button:hover::before{transform:scaleY(1);}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #place_order:hover{background:var(--espresso);color:var(--espresso);}
.woocommerce input.button:hover,
.woocommerce #place_order:hover{background:var(--creme);}
.woocommerce .button.disabled,
.woocommerce .button:disabled{opacity:.45;cursor:not-allowed;}

/* ==========================================================================
   3. Fiche atelier
   ========================================================================== */
.woocommerce div.product{
  display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--gap);row-gap:calc(var(--u) * 1.4);
}
.woocommerce div.product div.images{grid-column:span 6;}
.woocommerce div.product div.summary{grid-column:span 6;margin:0;}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .up-sells{grid-column:1 / -1;}
@media(max-width:900px){
  .woocommerce div.product{grid-template-columns:repeat(6,minmax(0,1fr));}
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary{grid-column:1 / -1;}
}

.woocommerce div.product .product_title{
  font-family:var(--titre);font-weight:400;font-size:var(--t-h2);
  line-height:1.1;letter-spacing:-.008em;color:var(--espresso);
  margin-bottom:calc(var(--u) * .5);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--titre);font-size:1.9rem;font-weight:400;
  color:var(--espresso);margin-bottom:calc(var(--u) * .6);
}
.woocommerce div.product p.price del{opacity:.45;font-size:1.1rem;}
.woocommerce div.product .woocommerce-product-details__short-description{
  font-weight:300;max-width:52ch;margin-bottom:calc(var(--u) * .8);
}
.woocommerce div.product form.cart{
  display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;
  padding-top:calc(var(--u) * .7);border-top:1px solid var(--ligne);
  margin-bottom:calc(var(--u) * .9);
}
.woocommerce div.product form.cart .quantity input{
  width:78px;height:52px;text-align:center;
  border:1px solid var(--ligne-forte);background:transparent;
  font-family:var(--texte);font-size:1rem;color:var(--espresso);
}
.woocommerce .stock{font-size:var(--t-petit);letter-spacing:.16em;text-transform:uppercase;font-weight:500;}
.woocommerce .stock.in-stock{color:#4a6b4f;}
.woocommerce .stock.out-of-stock{color:#a3402f;}
.woocommerce div.product .product_meta{
  font-size:var(--t-petit);letter-spacing:.1em;text-transform:uppercase;
  color:rgba(58,41,35,.6);padding-top:calc(var(--u) * .5);
  border-top:1px solid var(--ligne);
}
.woocommerce div.product .product_meta > span{display:block;margin-bottom:.3rem;}

/* Détails de l'atelier, injectés sous le prix ---------------------------- */
.atelier-infos{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:calc(var(--u) * .7);
  padding:calc(var(--u) * .8) 0;
  border-top:1px solid var(--ligne);border-bottom:1px solid var(--ligne);
  margin-bottom:calc(var(--u) * .8);
}
.atelier-infos span{
  display:block;font-size:var(--t-micro);letter-spacing:.24em;
  text-transform:uppercase;color:rgba(58,41,35,.6);margin-bottom:.3rem;
}
.atelier-infos strong{font-weight:500;font-size:.95rem;line-height:1.35;}

/* Galerie produit --------------------------------------------------------- */
.woocommerce div.product div.images img{width:100%;}
.woocommerce div.product div.images .flex-control-thumbs{
  display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:8px;list-style:none;padding:0;
}
.woocommerce div.product div.images .flex-control-thumbs li{margin:0;width:auto;float:none;}
.woocommerce div.product div.images .flex-control-thumbs img{opacity:.55;cursor:pointer;transition:opacity .3s;}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover{opacity:1;}

/* Onglets ---------------------------------------------------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs{
  list-style:none;padding:0;margin:0 0 calc(var(--u) * .9);
  display:flex;gap:calc(var(--u) * 1);border-bottom:1px solid var(--ligne);
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;border:0;border-radius:0;padding:0;margin:0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:0 0 .7rem;font-size:var(--t-petit);font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(58,41,35,.55);
  text-decoration:none;border-bottom:1px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--espresso);border-bottom-color:var(--espresso);}
.woocommerce div.product .woocommerce-tabs .panel{max-width:72ch;font-weight:300;}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child{display:none;}
.woocommerce div.product .woocommerce-tabs .panel > * + *{margin-top:calc(var(--u) * .7);}
.woocommerce div.product .woocommerce-tabs .panel ul{padding-left:1.3rem;}

/* ==========================================================================
   4. Boutique, panier, commande
   ========================================================================== */
.woocommerce ul.products{
  list-style:none;padding:0;margin:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:calc(var(--u) * 1.4);
}
.woocommerce ul.products li.product{width:auto;margin:0;float:none;text-align:left;background:var(--creme-clair);}
.woocommerce ul.products li.product a img{margin:0;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--titre);font-weight:400;font-size:var(--t-h3);padding:calc(var(--u) * .7) calc(var(--u) * .7) .25rem;
}
.woocommerce ul.products li.product .price{display:block;padding:0 calc(var(--u) * .7);font-family:var(--titre);font-size:1.3rem;color:var(--espresso);}
.woocommerce ul.products li.product .button{margin:calc(var(--u) * .7);}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{font-size:.85rem;}

.woocommerce table.shop_table,
.woocommerce table.woocommerce-checkout-review-order-table{
  width:100%;border-collapse:collapse;border:0;border-radius:0;font-size:.94rem;margin-bottom:calc(var(--u) * 1.2);
}
.woocommerce table.shop_table th{
  font-family:var(--texte);font-size:var(--t-micro);letter-spacing:.2em;
  text-transform:uppercase;font-weight:600;text-align:left;
  padding:.8rem .6rem;border-bottom:1px solid var(--ligne-forte);
}
.woocommerce table.shop_table td{padding:1rem .6rem;border-top:1px solid var(--ligne);vertical-align:middle;}
.woocommerce table.shop_table img{width:64px;height:auto;}
.woocommerce table.shop_table a{color:inherit;text-decoration:none;border-bottom:1px solid var(--ligne-forte);}

.woocommerce .cart_totals h2,
.woocommerce-checkout h3,
.woocommerce-billing-fields h3,
.woocommerce-order-details h2,
.woocommerce-customer-details h2,
.woocommerce-column__title,
#order_review_heading{
  font-family:var(--titre);font-weight:400;font-size:var(--t-h3);
  line-height:1.2;margin-bottom:calc(var(--u) * .8);
}
.woocommerce .cart-collaterals .cart_totals{width:100%;max-width:440px;margin-left:auto;}

/* Champs de formulaire ---------------------------------------------------- */
.woocommerce form .form-row{display:flex;flex-direction:column;gap:.4rem;margin-bottom:calc(var(--u) * .6);padding:0;}
.woocommerce form .form-row label{
  font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;
  font-weight:500;color:rgba(58,41,35,.75);
}
.woocommerce form .form-row .required{color:#a3402f;text-decoration:none;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single{
  width:100%;height:auto;min-height:52px;
  padding:.85rem 1rem;border:1px solid var(--ligne-forte);border-radius:0;
  background:transparent;color:var(--espresso);
  font-family:var(--texte);font-size:1rem;line-height:1.4;
  transition:border-color .3s var(--ease);
}
.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(--espresso);}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.4;padding:0;color:var(--espresso);}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{top:14px;right:10px;}
.woocommerce-checkout #payment{background:var(--creme-clair);border:1px solid var(--ligne);border-radius:0;padding:calc(var(--u) * .9);}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ligne);padding:0 0 calc(var(--u) * .7);}
.woocommerce-checkout #payment div.form-row{padding:calc(var(--u) * .7) 0 0;}
.woocommerce-checkout #payment div.payment_box{background:transparent;border:1px solid var(--ligne);border-radius:0;font-size:.9rem;}
.woocommerce-checkout #payment div.payment_box::before{display:none;}
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register{border:1px solid var(--ligne);border-radius:0;padding:calc(var(--u) * .9);}
.woocommerce-terms-and-conditions-wrapper{font-size:.9rem;margin-top:calc(var(--u) * .6);}
.woocommerce-terms-and-conditions-wrapper a{color:inherit;}
.woocommerce .woocommerce-form__label-for-checkbox{flex-direction:row;align-items:flex-start;gap:.6rem;}
.woocommerce .woocommerce-form__label-for-checkbox span{
  font-size:.9rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--espresso);
}

/* Colonnes du paiement ---------------------------------------------------- */
@media(min-width:901px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.15fr .85fr;column-gap:calc(var(--u) * 2);align-items:start;}
  .woocommerce-checkout form.checkout .col2-set,
  .woocommerce-checkout form.checkout #customer_details{grid-column:1;}
  .woocommerce-checkout form.checkout #order_review_heading,
  .woocommerce-checkout form.checkout #order_review{grid-column:2;}
  .woocommerce-checkout form.checkout .col2-set .col-1,
  .woocommerce-checkout form.checkout .col2-set .col-2{width:100%;float:none;}
}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2{width:100%;float:none;}

/* Confirmation de commande ----------------------------------------------- */
.woocommerce .woocommerce-order{max-width:760px;}
.woocommerce ul.order_details{
  list-style:none;padding:calc(var(--u) * .9);margin:0 0 calc(var(--u) * 1.2);
  background:var(--creme-clair);border:1px solid var(--ligne);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:calc(var(--u) * .7);
}
.woocommerce ul.order_details li{
  float:none;margin:0;padding:0;border:0;
  font-size:var(--t-micro);letter-spacing:.2em;text-transform:uppercase;color:rgba(58,41,35,.6);
}
.woocommerce ul.order_details li strong{
  display:block;margin-top:.35rem;font-family:var(--titre);font-size:1.15rem;
  letter-spacing:0;text-transform:none;color:var(--espresso);font-weight:400;
}

/* Pagination -------------------------------------------------------------- */
.pagination{margin-top:calc(var(--u) * 1.5);}
.pagination .page-numbers{
  display:inline-block;padding:.5rem .8rem;border:1px solid var(--ligne);
  margin-right:.4rem;text-decoration:none;font-size:.85rem;
}
.pagination .page-numbers.current{background:var(--espresso);color:var(--creme);border-color:var(--espresso);}

/* Boîte de dialogue Stripe et champs iframe -------------------------------- */
.wc-stripe-elements-field,
.wc-stripe-iban-element-field{
  border:1px solid var(--ligne-forte)!important;border-radius:0!important;padding:1rem!important;background:transparent!important;
}

/* --- retours du formulaire de contact ------------------------------------ */
.form__note.est-succes{color:var(--rose);opacity:1;}
.form__note.est-erreur{color:#f0b8ad;opacity:1;}
.atelier-mention{font-size:.85rem;font-weight:300;color:rgba(58,41,35,.7);margin-top:calc(var(--u) * .3);}

/* --- neutraliser les flottants hérités de WooCommerce -------------------- */
.woocommerce div.product div.images,
.woocommerce div.product div.summary,
.woocommerce #content div.product div.images,
.woocommerce #content div.product div.summary{
  float:none;width:auto;margin-bottom:0;
}
.woocommerce div.product form.cart div.quantity{float:none;margin:0;}
.woocommerce div.product form.cart .button{float:none;}
.woocommerce ul.products li.product a img{box-shadow:none;}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before{display:none;}
.woocommerce-page .woocommerce-breadcrumb{display:none;}

/* --- pages de la boutique : pleine largeur ------------------------------- */
.page-doc--large .page-doc__corps{max-width:none;font-weight:400;}
.page-doc--large .page-doc__corps > * + *{margin-top:0;}

/* --- retour vers les ateliers -------------------------------------------- */
.retour-ateliers{grid-column:1 / -1;margin-bottom:calc(var(--u) * .6);}
.retour-ateliers a{
  font-size:var(--t-micro);letter-spacing:.24em;text-transform:uppercase;
  font-weight:500;color:rgba(58,41,35,.65);text-decoration:none;
  border-bottom:1px solid var(--ligne);padding-bottom:3px;
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
.retour-ateliers a:hover{color:var(--espresso);border-color:var(--espresso);}

/* --- contenu de l'onglet Description ------------------------------------- */
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce div.product .woocommerce-tabs .panel h3{
  font-family:var(--texte);font-weight:600;font-size:.85rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--espresso);
  margin-top:calc(var(--u) * 1.1);
}
.woocommerce div.product .woocommerce-tabs .panel li{margin-bottom:.35rem;}
.woocommerce div.product .woocommerce-tabs .panel p{max-width:68ch;}

/* --- description courte de la fiche -------------------------------------- */
.woocommerce div.product .woocommerce-product-details__short-description p + p{
  margin-top:calc(var(--u) * .5);
}
.carte__desc p + p{margin-top:.45rem;}

/* ==========================================================================
   5. Garde-fous mobiles
   ========================================================================== */
.page-doc__corps figure,
.page-doc__corps .wp-block-table{overflow-x:auto;}
/* Uniquement les tableaux rédactionnels des pages légales : les tableaux de
   la boutique (panier, commande) doivent rester fluides. */
.page-doc:not(.page-doc--large) .page-doc__corps table{min-width:520px;}
.page-doc--large table{max-width:100%;}

@media(max-width:760px){
  .interieur{padding-top:calc(var(--u) * 3.4);}
  .page-doc__tete{padding-bottom:calc(var(--u) * .9);margin-bottom:calc(var(--u) * 1.1);}
  .woocommerce div.product .product_title{font-size:clamp(1.7rem,7vw,2.2rem);}
  .woocommerce div.product form.cart{flex-direction:column;align-items:stretch;}
  .woocommerce div.product form.cart .quantity input{width:100%;}
  .woocommerce a.button,
  .woocommerce button.button,
  .woocommerce input.button{width:100%;}
  .atelier-infos{grid-template-columns:1fr 1fr;}
  .woocommerce div.product .woocommerce-tabs ul.tabs{gap:calc(var(--u) * .6);overflow-x:auto;}
  .woocommerce ul.order_details{grid-template-columns:1fr 1fr;}
}

/* --- lien panier de la navigation ---------------------------------------- */
.nav__panier[hidden]{display:none;}
.nav__panier a{white-space:nowrap;}
.nav__panier span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.35em;height:1.35em;margin-left:.35em;padding:0 .3em;
  border:1px solid currentColor;border-radius:999px;
  font-size:.66rem;letter-spacing:0;line-height:1;
}
