/* =====================================================================
   YET — feuille de style principale
   =====================================================================
   Palette : encre chaude, ivoire rosé, lie-de-vin, rose poudré.
   Typographie : Bodoni Moda (didone, haut contraste) pour les titres,
   Jost (géométrique) pour le texte et l'interface.
   Élément signature : la règle graduée façon mètre ruban, reprise comme
   séparateur dans tout le site. La marque parle d'ajustement : ses filets
   le rappellent.
   ================================================================== */

:root{
  --yet-ink:#1C1512;
  --yet-ink-deep:#100C0A;
  --yet-paper:#F4EEEA;
  --yet-paper-warm:#FBF7F4;
  --yet-wine:#6E1E38;
  --yet-wine-deep:#521428;
  --yet-rose:#C99BA4;
  --yet-taupe:#8A7A72;
  --yet-line:rgba(28,21,18,.14);
  --yet-line-strong:rgba(28,21,18,.30);

  --yet-display:'Bodoni Moda',Georgia,'Times New Roman',serif;
  --yet-body:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

  --yet-wrap:1240px;
  --yet-gutter:clamp(18px,4vw,44px);
  --yet-section:clamp(48px,8vw,104px);

  --yet-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- base ---------- */

*,*::before,*::after{box-sizing:border-box;}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}

body{
  margin:0;
  background:var(--yet-paper);
  color:var(--yet-ink);
  font-family:var(--yet-body);
  font-size:16px;
  font-weight:300;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img,svg,video{max-width:100%;height:auto;display:block;}

a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px;}
a:hover{color:var(--yet-wine);}

:focus-visible{outline:2px solid var(--yet-wine);outline-offset:3px;}

.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}

.skip-link{
  position:absolute;top:-100px;left:12px;z-index:999;
  background:var(--yet-ink);color:var(--yet-paper);
  padding:12px 20px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;
}
.skip-link:focus{top:12px;color:var(--yet-paper);}

/* ---------- typographie ---------- */

h1,h2,h3,h4{
  font-family:var(--yet-display);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.012em;
  margin:0 0 .5em;
}
h1{font-size:clamp(34px,5.4vw,58px);}
h2{font-size:clamp(26px,3.6vw,40px);}
h3{font-size:clamp(19px,2.2vw,25px);}
h4{font-size:18px;}

p{margin:0 0 1.15em;}
strong,b{font-weight:500;}
em{font-style:italic;}

.yet-lead{
  font-size:clamp(17px,2.1vw,21px);
  line-height:1.5;
  color:var(--yet-ink);
  max-width:40ch;
  font-weight:300;
}

.eyebrow,.page-head__eyebrow{
  font-family:var(--yet-body);
  font-size:11px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;
  color:var(--yet-wine);
  margin:0 0 14px;
}

/* ---------- LA RÈGLE GRADUÉE : élément signature ---------- */

.yet-rule,
hr.wp-block-separator.yet-rule{
  border:0;border-bottom:1px solid var(--yet-line-strong);
  height:11px;margin:var(--yet-section) 0;width:100%;max-width:none;
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
  background-position:left bottom;background-repeat:repeat-x;
  opacity:.75;
}

.page-head{margin-bottom:clamp(28px,4vw,48px);}
.page-head__title{margin-bottom:16px;}
.page-head::after{
  content:"";display:block;height:9px;width:132px;
  border-bottom:1px solid var(--yet-line-strong);
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
  background-position:left bottom;
}

/* ---------- structure ---------- */

.wrap{
  width:100%;max-width:var(--yet-wrap);
  margin-inline:auto;padding-inline:var(--yet-gutter);
}

.content{padding-block:clamp(32px,5vw,64px) var(--yet-section);}
.entry__body{max-width:70ch;}
.entry__body h2{margin-top:1.8em;}
.entry__body h3{margin-top:1.6em;}
.entry__body ul,.entry__body ol{padding-left:1.1em;margin:0 0 1.4em;}
.entry__body li{margin-bottom:.5em;}
.entry__cover{margin:0 0 40px;}

.breadcrumb{
  font-size:12px;letter-spacing:.06em;color:var(--yet-taupe);
  margin-bottom:26px;text-transform:uppercase;font-weight:400;
}
.breadcrumb a{text-decoration:none;}
.breadcrumb a:hover{text-decoration:underline;}
.breadcrumb__sep{margin:0 9px;color:var(--yet-line-strong);}

/* ---------- bandeau de promesses ---------- */

.promises{
  background:var(--yet-ink);color:var(--yet-paper);
  overflow:hidden;padding:9px 0;
}
.promises__track{
  display:flex;width:max-content;gap:56px;
  animation:yet-marquee 42s linear infinite;
  will-change:transform;
}
.promises__item{
  font-size:11px;font-weight:400;letter-spacing:.16em;
  text-transform:uppercase;white-space:nowrap;opacity:.88;
}
@keyframes yet-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.promises:hover .promises__track{animation-play-state:paused;}

/* ---------- en-tête ---------- */

.site-header{
  background:var(--yet-paper);
  border-bottom:1px solid var(--yet-line);
  position:sticky;top:0;z-index:50;
}

/* Barre d'administration WordPress. Elle est fixée en haut de l'écran :
   sans ce décalage, elle recouvre l'en-tête collant.
   32px au-delà de 782px, 46px en dessous, et plus rien sous 600px
   où WordPress cesse de la fixer. */
body.admin-bar .site-header{top:32px;}
@media screen and (max-width:782px){
  body.admin-bar .site-header{top:46px;}
}
@media screen and (max-width:600px){
  body.admin-bar .site-header{top:0;}
}

/* Logo à gauche, navigation à droite. Sept libellés longs répartis de part
   et d'autre d'un logo centré se cassaient sur trois lignes : la grille
   symétrique a laissé place à une simple ligne. */
.site-header__inner{
  display:flex;align-items:center;
  gap:clamp(14px,2.4vw,36px);
  min-height:78px;
}

.site-header__brand{
  display:flex;align-items:center;
  flex:0 0 auto;margin-right:auto;
}
.site-header__brand a,
.site-header__brand .custom-logo-link{
  display:flex;align-items:center;text-decoration:none;line-height:1;
}
.site-header__brand img,
.site-header__brand .custom-logo{
  height:clamp(38px,4.4vw,52px);
  width:auto;max-width:230px;
  object-fit:contain;
  margin:0;display:block;
}
.site-title{
  font-family:var(--yet-display);font-size:clamp(22px,2.6vw,28px);
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none;
  line-height:1;display:block;
}

.site-nav{margin-left:auto;}
.site-nav__list{
  display:flex;align-items:center;
  gap:clamp(18px,2.2vw,32px);
  list-style:none;margin:0;padding:0;
}
.site-nav__list > li{position:relative;}
.site-nav__list a{
  display:block;
  font-size:12.5px;font-weight:400;letter-spacing:.13em;
  text-transform:uppercase;text-decoration:none;padding-block:6px;
  white-space:nowrap;
  position:relative;
}
.site-nav__list a::after{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;
  background:var(--yet-wine);transition:right .3s var(--yet-ease);
}
.site-nav__list a:hover::after,
.site-nav__list .current-menu-item > a::after{right:0;}

.site-header__tools{flex:0 0 auto;}

.cart-link{
  font-size:12.5px;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;
}
.cart-link__n{
  display:inline-block;min-width:19px;height:19px;line-height:19px;
  margin-left:7px;text-align:center;font-size:10.5px;letter-spacing:0;
  background:var(--yet-wine);color:var(--yet-paper);border-radius:50%;
}
.cart-link__n.is-empty{background:transparent;color:var(--yet-taupe);}

.nav-toggle{
  display:none;background:none;border:0;padding:10px;cursor:pointer;
  flex:0 0 auto;
}
.nav-toggle__bars,
.nav-toggle__bars::before,
.nav-toggle__bars::after{
  display:block;width:22px;height:1px;background:var(--yet-ink);
  transition:transform .3s var(--yet-ease),opacity .2s linear;
}
.nav-toggle__bars::before,.nav-toggle__bars::after{content:"";position:relative;}
.nav-toggle__bars::before{top:-7px;}
.nav-toggle__bars::after{top:6px;}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars{background:transparent;}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before{transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after{transform:translateY(-6px) rotate(-45deg);}

/* ---------- boutons et champs ---------- */

.button,
button.button,
input[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt{
  display:inline-block;
  background:var(--yet-ink);color:var(--yet-paper);
  font-family:var(--yet-body);font-size:12.5px;font-weight:500;
  letter-spacing:.11em;text-transform:uppercase;text-decoration:none;
  padding:16px 32px;border:1px solid var(--yet-ink);border-radius:0;
  cursor:pointer;line-height:1.2;
  transition:background .25s var(--yet-ease),color .25s var(--yet-ease),border-color .25s var(--yet-ease);
}
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover{
  background:var(--yet-wine);border-color:var(--yet-wine);color:var(--yet-paper);
}

.button--ghost,
.woocommerce a.button.button--ghost{
  background:transparent;color:var(--yet-ink);border-color:var(--yet-line-strong);
}
.button--ghost:hover{background:var(--yet-ink);color:var(--yet-paper);border-color:var(--yet-ink);}

/* Sur fond sombre : plein ivoire, ou contour clair. */
.button--light{
  background:var(--yet-paper);color:var(--yet-ink);border-color:var(--yet-paper);
}
.button--light:hover{background:var(--yet-wine);color:var(--yet-paper);border-color:var(--yet-wine);}

.button--outline{
  background:transparent;color:var(--yet-paper);
  border-color:rgba(244,238,234,.55);
}
.button--outline:hover{background:var(--yet-paper);color:var(--yet-ink);border-color:var(--yet-paper);}

.btn-row{display:flex;flex-wrap:wrap;gap:14px;}

input[type="text"],input[type="email"],input[type="tel"],
input[type="search"],input[type="number"],input[type="password"],
textarea,select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.select2-container .select2-selection--single{
  width:100%;
  font-family:var(--yet-body);font-size:16px;font-weight:300;
  color:var(--yet-ink);background:var(--yet-paper-warm);
  border:1px solid var(--yet-line);border-radius:0;
  padding:14px 16px;
  transition:border-color .2s linear;
}
input:focus,textarea:focus,select:focus{border-color:var(--yet-wine);outline:none;}
::placeholder{color:var(--yet-taupe);opacity:.75;}

label{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;}

.search-form{display:flex;gap:10px;max-width:520px;margin-top:26px;}

/* ---------- cartes éditoriales ---------- */

.card-grid{
  display:grid;gap:clamp(24px,3vw,44px);
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
}
.card__link{text-decoration:none;display:block;}
.card__media{overflow:hidden;margin-bottom:16px;}
.card__media img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .7s var(--yet-ease);}
.card__link:hover .card__media img{transform:scale(1.04);}
.card__title{font-size:21px;margin-bottom:8px;}
.card__excerpt{font-size:14px;color:var(--yet-taupe);margin:0;}

/* =====================================================================
   WOOCOMMERCE
   ================================================================== */

.woocommerce .wrap--shop{padding-bottom:var(--yet-section);}

.woocommerce ul.products{
  display:grid;gap:clamp(20px,2.4vw,38px) clamp(14px,2vw,28px);
  grid-template-columns:repeat(4,1fr);
  list-style:none;margin:0;padding:0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none;}
.woocommerce ul.products li.product{width:auto;margin:0;float:none;}

.product-card{position:relative;}
.product-card__link{text-decoration:none;display:block;}
.product-card__media{
  position:relative;overflow:hidden;margin-bottom:14px;
  background:var(--yet-paper-warm);
}
.product-card__media img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  transition:opacity .5s var(--yet-ease),transform .8s var(--yet-ease);
}
.product-card__media.has-hover .product-card__hover{
  position:absolute;inset:0;opacity:0;
}
.product-card__media.has-hover:hover .product-card__hover{opacity:1;}
.product-card__media:hover img{transform:scale(1.035);}

/* Le titre tient sur deux lignes, quelle que soit sa longueur et quel que
   soit le balisage : gabarit du thème, shortcode [products] ou bloc
   WooCommerce. Sans cette limite, un titre de vingt mots occupe la moitié
   de l'écran et la grille devient illisible. */
.product-card__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--yet-display);
  font-size:17px;font-weight:400;line-height:1.25;margin:0 0 6px;
  letter-spacing:-.005em;text-transform:none;
  overflow-wrap:break-word;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;
}
.product-card__price{
  font-family:var(--yet-display);font-size:17px;color:var(--yet-ink);
}
.product-card__price del{color:var(--yet-taupe);margin-right:8px;font-size:14px;}
.product-card__price ins{text-decoration:none;color:var(--yet-wine);}

.product-card__sizes{
  display:flex;flex-wrap:wrap;gap:5px;list-style:none;margin:10px 0 0;padding:0;
}
.product-card__sizes li{
  font-size:10.5px;letter-spacing:.06em;color:var(--yet-taupe);
  border:1px solid var(--yet-line);padding:3px 7px;
  font-variant-numeric:tabular-nums;
}

.woocommerce span.onsale,
.product-card .onsale{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--yet-wine);color:var(--yet-paper);
  font-size:11px;font-weight:500;letter-spacing:.08em;
  padding:5px 10px;border-radius:0;margin:0;min-height:0;min-width:0;
  line-height:1.3;
}
.product-card__oos{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  background:rgba(28,21,18,.82);color:var(--yet-paper);
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  text-align:center;padding:9px;
}

.woocommerce ul.products li.product .button{
  margin-top:12px;width:100%;text-align:center;padding:13px 18px;font-size:11.5px;
}

/* ---------- fiche produit ---------- */

.woocommerce div.product{
  display:grid;grid-template-columns:1.15fr 1fr;
  gap:clamp(28px,5vw,72px);align-items:start;
}
.woocommerce div.product .woocommerce-product-gallery{width:100%;float:none;margin:0;}
.woocommerce div.product .summary{width:100%;float:none;margin:0;position:sticky;top:104px;}
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related,
.woocommerce div.product .up-sells{grid-column:1/-1;}

.product__eyebrow{
  font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--yet-wine);margin:0 0 12px;
}
.product__eyebrow a{text-decoration:none;}

.woocommerce div.product .product_title{
  font-size:clamp(28px,3.4vw,40px);margin-bottom:14px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--yet-display);font-size:26px;color:var(--yet-ink);
  margin-bottom:22px;
}
.woocommerce div.product p.price del{color:var(--yet-taupe);font-size:19px;}
.woocommerce div.product p.price ins{text-decoration:none;color:var(--yet-wine);}

.woocommerce div.product .woocommerce-product-details__short-description{
  color:var(--yet-taupe);max-width:46ch;margin-bottom:26px;
}

.woocommerce div.product form.cart{margin-bottom:24px;}
.woocommerce div.product form.cart .variations{margin-bottom:18px;}
.woocommerce div.product form.cart .variations th{
  text-align:left;font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--yet-taupe);font-weight:500;padding:10px 0 6px;
}
.woocommerce div.product form.cart .variations td{padding:0 0 12px;}
.woocommerce .quantity .qty{width:78px;text-align:center;padding:14px 6px;}
.woocommerce div.product form.cart .button{padding:17px 40px;}

.product__promises{
  display:grid;grid-template-columns:auto 1fr;gap:0 20px;
  margin:26px 0 0;padding-top:22px;
  border-top:1px solid var(--yet-line-strong);
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
  background-position:left top;background-repeat:repeat-x;background-size:100% 8px;
}
.product__promises dt{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;padding:11px 0;white-space:nowrap;
}
.product__promises dd{
  margin:0;padding:11px 0;font-size:13.5px;color:var(--yet-taupe);
}

/* ---------- fiche produit : aides à la décision ---------- */

/* Lien « Trouver ma taille », posé juste au-dessus du bouton d'ajout,
   là où l'hésitation se produit. */
.yet-size-open{margin:0 0 16px;}
.yet-linkbtn{
  background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--yet-body);font-size:12px;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;color:var(--yet-wine);
  border-bottom:1px solid currentColor;
}
.yet-linkbtn:hover{color:var(--yet-ink);}

.yet-ask{margin:18px 0 0;font-size:13.5px;}
.yet-ask a{color:var(--yet-wine);text-underline-offset:3px;}

/* Surcouche du calculateur. Elle reste dans le flux (visibility, pas
   display) : le ruban gradué a besoin de connaître sa largeur pour se
   positionner correctement dès la première ouverture. */
.yet-modal{
  position:fixed;inset:0;z-index:90;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(12px,4vw,40px);
  visibility:hidden;opacity:0;
  transition:opacity .25s var(--yet-ease),visibility 0s linear .25s;
}
.yet-modal.is-open{visibility:visible;opacity:1;transition:opacity .25s var(--yet-ease),visibility 0s;}
.yet-modal__backdrop{position:absolute;inset:0;background:rgba(16,12,10,.55);}
.yet-modal__panel{
  position:relative;z-index:1;
  width:min(760px,100%);max-height:88vh;overflow-y:auto;
  background:var(--yet-paper);
  box-shadow:0 24px 60px rgba(16,12,10,.35);
  transform:translateY(12px);transition:transform .25s var(--yet-ease);
}
.yet-modal.is-open .yet-modal__panel{transform:translateY(0);}
.yet-modal__close{
  position:absolute;top:8px;right:8px;z-index:2;
  width:40px;height:40px;line-height:1;
  background:var(--yet-paper);border:1px solid var(--yet-line);
  font-size:20px;color:var(--yet-ink);cursor:pointer;
}
.yet-modal__close:hover{background:var(--yet-ink);color:var(--yet-paper);border-color:var(--yet-ink);}
body.modal-open{overflow:hidden;}

/* Barre d'achat fixe, mobile uniquement : elle apparaît quand le bouton
   d'ajout est sorti de l'écran. Sans elle, sur une fiche longue, il faut
   remonter pour acheter. */
.yet-buybar{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  display:none;align-items:center;gap:14px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:var(--yet-paper);
  border-top:1px solid var(--yet-line-strong);
  box-shadow:0 -6px 24px rgba(28,21,18,.10);
  transform:translateY(110%);transition:transform .3s var(--yet-ease);
}
.yet-buybar.is-visible{transform:translateY(0);}
.yet-buybar__info{min-width:0;flex:1;}
.yet-buybar__name{
  display:block;font-size:12.5px;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.yet-buybar__price{font-family:var(--yet-display);font-size:16px;}
.yet-buybar__price del{display:none;}
.yet-buybar .button{flex:0 0 auto;padding:14px 22px;font-size:11.5px;}

.yet-product-help{
  margin:18px 0 0;font-size:13.5px;
}
.yet-product-help a{color:var(--yet-wine);text-underline-offset:3px;}
.yet-product-help span{margin:0 8px;color:var(--yet-line-strong);}

/* onglets */
.woocommerce div.product .woocommerce-tabs{margin-top:var(--yet-section);}
.woocommerce div.product .woocommerce-tabs ul.tabs{
  padding:0;margin:0 0 32px;border-bottom:1px solid var(--yet-line);
  display:flex;gap:34px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;border:0;border-radius:0;margin:0;padding:0;
}
.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 a{
  font-size:12px;letter-spacing:.15em;text-transform:uppercase;
  font-weight:400;color:var(--yet-taupe);padding:0 0 14px;display:block;
  border-bottom:1px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--yet-ink);border-bottom-color:var(--yet-ink);
}
.woocommerce div.product .woocommerce-tabs .panel{max-width:70ch;}
.woocommerce div.product .woocommerce-tabs .panel h2{font-size:22px;}

/* tableau d'attributs */
.woocommerce table.shop_attributes{border:0;}
.woocommerce table.shop_attributes th,
.woocommerce table.shop_attributes td{
  border:0;border-bottom:1px solid var(--yet-line);padding:12px 0;
  font-style:normal;background:none;
}
.woocommerce table.shop_attributes th{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;width:34%;
}

/* ---------- panier et commande ---------- */

.woocommerce table.shop_table{border:0;border-radius:0;}
.woocommerce table.shop_table th{
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;border-bottom:1px solid var(--yet-line-strong);padding:14px 12px;
}
.woocommerce table.shop_table td{
  border-top:0;border-bottom:1px solid var(--yet-line);padding:18px 12px;
}

.woocommerce-checkout .col2-set{
  display:grid;grid-template-columns:1fr;gap:0;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{width:100%;float:none;}
.woocommerce-checkout h3{
  font-size:22px;margin-bottom:20px;padding-bottom:14px;
  border-bottom:1px solid var(--yet-line);
}
.woocommerce form .form-row{padding:0 0 18px;margin:0;}
.woocommerce form .form-row label{
  display:block;margin-bottom:7px;color:var(--yet-taupe);
}
.woocommerce form .form-row .description{
  font-size:12.5px;color:var(--yet-taupe);margin-top:6px;
  background:none;border:0;padding:0;box-shadow:none;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last{width:calc(50% - 9px);}
.yet-hidden{display:none!important;}

#order_review{
  background:var(--yet-paper-warm);
  border:1px solid var(--yet-line);
  padding:clamp(20px,3vw,32px);
}

.yet-reassurance{
  list-style:none;margin:24px 0;padding:22px 0 0;
  border-top:1px solid var(--yet-line-strong);
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
  background-position:left top;background-repeat:repeat-x;background-size:100% 8px;
}
.yet-reassurance li{padding:11px 0;border-bottom:1px dotted var(--yet-line);}
.yet-reassurance li:last-child{border-bottom:0;}
.yet-reassurance strong{
  display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:500;margin-bottom:4px;
}
.yet-reassurance span{font-size:13.5px;color:var(--yet-taupe);}

.woocommerce-info,.woocommerce-message,.woocommerce-error{
  background:var(--yet-paper-warm);border-top:2px solid var(--yet-wine);
  color:var(--yet-ink);border-radius:0;font-size:14px;
}
.woocommerce-info::before,.woocommerce-message::before{color:var(--yet-wine);}

/* ---------- WhatsApp flottant ---------- */

.yet-wa-float{
  position:fixed;right:18px;bottom:18px;z-index:80;
  display:inline-flex;align-items:center;gap:9px;
  background:var(--yet-ink);color:var(--yet-paper);
  padding:13px 19px;text-decoration:none;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  box-shadow:0 6px 26px rgba(28,21,18,.22);
  transition:background .25s var(--yet-ease),transform .25s var(--yet-ease);
}
.yet-wa-float:hover{background:var(--yet-wine);color:var(--yet-paper);transform:translateY(-2px);}
.yet-wa-float svg{flex:none;}

/* ---------- pied de page ---------- */

.site-footer{
  background:var(--yet-ink-deep);color:var(--yet-paper);
  margin-top:var(--yet-section);padding-top:clamp(44px,6vw,76px);
}
.site-footer__inner{
  display:grid;grid-template-columns:1.4fr 1fr;gap:44px;
  padding-bottom:clamp(36px,5vw,60px);
}
.site-footer__name{
  font-family:var(--yet-display);font-size:28px;letter-spacing:.1em;
  text-transform:uppercase;margin:0 0 12px;
}
.site-footer__tag{color:var(--yet-rose);max-width:36ch;font-size:14.5px;}
.site-footer__wa a{
  font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--yet-rose);text-underline-offset:4px;
}
.site-footer__wa a:hover{color:var(--yet-paper);}
.site-footer__list{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(2,1fr);gap:11px 24px;
}
.site-footer__list a{
  font-size:13px;text-decoration:none;color:var(--yet-paper);opacity:.78;
}
.site-footer__list a:hover{opacity:1;color:var(--yet-rose);}
.site-footer__legal{
  border-top:1px solid rgba(244,238,234,.14);
  padding-block:22px;
}
.site-footer__legal p{
  margin:0;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(244,238,234,.55);
}

/* ---------- pagination ---------- */

.pagination,.woocommerce nav.woocommerce-pagination{margin-top:var(--yet-section);}
.woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:6px;justify-content:center;}
.woocommerce nav.woocommerce-pagination ul li{border:0;}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{
  padding:11px 15px;font-size:13px;border:1px solid var(--yet-line);
  font-variant-numeric:tabular-nums;
}
.woocommerce nav.woocommerce-pagination ul li span.current{
  background:var(--yet-ink);color:var(--yet-paper);border-color:var(--yet-ink);
}


/* =====================================================================
   PAGE D'ACCUEIL
   =====================================================================
   Une section = une idée. Titres courts, pas de paragraphe d'introduction
   sous chaque titre, pas de compteur ni d'ornement qui n'apporte rien.
   Quand une photo manque, la zone reçoit un fond travaillé aux couleurs
   de la marque : jamais de rectangle gris sur le site public.
   ================================================================== */

.home-section{padding-block:var(--yet-section);}
/* Deux sections de suite sur le même fond : une seule respiration. */
.home-plain + .home-plain{padding-top:0;}

.home-section__title{margin:0 0 clamp(22px,3vw,34px);}
.home-section__title--small{
  font-size:clamp(20px,2.4vw,27px);
  margin-bottom:clamp(18px,2.4vw,26px);
}

.home-head-row{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:18px;flex-wrap:wrap;
}
.home-head-row .home-section__title{margin-bottom:clamp(18px,2.4vw,26px);}
.home-head-row__link{
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  text-decoration:none;color:var(--yet-wine);white-space:nowrap;
  padding-bottom:2px;border-bottom:1px solid currentColor;
}

/* repère de zone photo, visible uniquement pour un administrateur connecté */
.yet-zone{
  position:absolute;top:12px;left:12px;z-index:3;
  font-family:var(--yet-body);font-size:10px;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--yet-paper);background:rgba(28,21,18,.72);
  border:1px dashed rgba(244,238,234,.35);padding:5px 9px;
}

/* ---------- 1. hero ---------- */

.hero{
  position:relative;isolation:isolate;
  display:flex;align-items:flex-end;
  min-height:520px;
  min-height:clamp(500px,80vh,720px);
  min-height:clamp(500px,80svh,720px);
  background:var(--yet-ink);
  overflow:hidden;
}
.hero__media{position:absolute;inset:0;z-index:-2;}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 28%;}

/* Sans photo, le hero passe en clair : ivoire et rose poudré, texte encre.
   Une boutique de lingerie ne doit pas ouvrir sur un grand bloc noir.
   Dès que hero.jpg est déposé, on repasse sur la photo et son voile sombre. */
.hero.is-bare{
  background:
    radial-gradient(120% 90% at 88% 12%,rgba(201,155,164,.55) 0%,transparent 60%),
    linear-gradient(160deg,#FBF7F4 0%,#F2E6E4 58%,#E9D9D8 100%);
  color:var(--yet-ink);
}
.hero.is-bare .hero__veil{display:none;}
.hero.is-bare .hero__inner{color:var(--yet-ink);}
.hero.is-bare .hero__eyebrow{color:var(--yet-wine);}
.hero.is-bare .hero__title{color:var(--yet-ink);}
.hero.is-bare .hero__title em{color:var(--yet-wine);}
.hero.is-bare .hero__text{color:var(--yet-taupe);}
.hero.is-bare .hero__rule{
  border-bottom-color:var(--yet-line-strong);
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
}
.hero.is-bare .button--light{
  background:var(--yet-ink);color:var(--yet-paper);border-color:var(--yet-ink);
}
.hero.is-bare .button--light:hover{background:var(--yet-wine);border-color:var(--yet-wine);}
.hero.is-bare .button--outline{color:var(--yet-ink);border-color:var(--yet-line-strong);}
.hero.is-bare .button--outline:hover{background:var(--yet-ink);color:var(--yet-paper);border-color:var(--yet-ink);}
.hero.is-bare .yet-zone{position:absolute;top:auto;bottom:12px;left:12px;}

.hero__veil{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(to right,rgba(16,12,10,.76) 0%,rgba(16,12,10,.48) 46%,rgba(16,12,10,.10) 100%),
    linear-gradient(to top,rgba(16,12,10,.52) 0%,transparent 45%);
}
.hero__inner{
  width:100%;
  padding-block:clamp(52px,10vh,104px);
  color:var(--yet-paper);
}
.hero__eyebrow{color:var(--yet-rose);margin-bottom:16px;}
.hero__title{
  font-size:clamp(40px,7.4vw,82px);
  line-height:1.02;margin:0;color:var(--yet-paper);
  text-wrap:balance;
}
.hero__title em{font-style:italic;color:var(--yet-rose);}
.hero__rule{
  display:block;height:9px;width:148px;margin:24px 0 22px;
  border-bottom:1px solid rgba(244,238,234,.5);
  background-image:repeating-linear-gradient(90deg,rgba(244,238,234,.5) 0 1px,transparent 1px 9px);
  background-position:left bottom;background-repeat:repeat-x;
}
.hero__text{
  max-width:40ch;font-size:clamp(15.5px,1.8vw,18px);
  color:rgba(244,238,234,.86);margin:0 0 28px;
}
.hero__actions{gap:12px;}

/* ---------- 2. catégories ---------- */

.cats{
  display:grid;gap:clamp(12px,1.6vw,20px);
  grid-template-columns:repeat(3,1fr);
}
.cat{
  position:relative;display:block;overflow:hidden;
  text-decoration:none;background:var(--yet-paper-warm);
}
.cat__media{position:relative;display:block;}
.cat__img{
  width:100%;aspect-ratio:3/4;object-fit:cover;display:block;
  transition:transform .8s var(--yet-ease);
}
.cat:hover .cat__img,
.cat:focus-visible .cat__img{transform:scale(1.045);}

/* sans photo : trois teintes claires de la palette, texte encre */
.cat.is-bare .cat__media{
  aspect-ratio:3/4;
  background:linear-gradient(158deg,#F7EEEB 0%,#E9D8D6 100%);
}
.cat.is-bare:nth-child(2) .cat__media{background:linear-gradient(158deg,#F5EFE9 0%,#E2D6CD 100%);}
.cat.is-bare:nth-child(3) .cat__media{background:linear-gradient(158deg,#F4E8EA 0%,#E0CCD0 100%);}
.cat.is-bare .cat__media::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:10px;
  border-bottom:1px solid var(--yet-line-strong);
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
  background-position:left bottom;background-repeat:repeat-x;
}
.cat.is-bare .cat__label{background:none;color:var(--yet-ink);}

.cat__label{
  position:absolute;left:0;right:0;bottom:0;
  padding:clamp(14px,2vw,22px);
  color:var(--yet-paper);
  background:linear-gradient(to top,rgba(16,12,10,.72) 0%,rgba(16,12,10,.22) 60%,transparent 100%);
}
.cat__name{
  display:block;
  font-family:var(--yet-display);font-size:clamp(18px,2vw,24px);
  line-height:1.15;
}

/* ---------- 3. sélection ---------- */

.home-featured .woocommerce ul.products{margin-top:0;}

/* ---------- 4. calculateur ---------- */

/* Contraste sans noir : un fond rosé, le calculateur en carte ivoire
   posée dessus. Le seul bloc sombre du site reste le pied de page. */
.home-fit{
  background:
    radial-gradient(90% 70% at 50% 0%,rgba(201,155,164,.34) 0%,transparent 70%),
    linear-gradient(180deg,#F7EEEB 0%,#EFE0DE 100%);
  border-top:1px solid var(--yet-line);
  border-bottom:1px solid var(--yet-line);
}
.home-fit__title{
  text-align:center;max-width:20ch;margin-inline:auto;
  font-size:clamp(24px,3.4vw,38px);
}
.home-fit__card{
  max-width:760px;margin-inline:auto;
  background:var(--yet-paper-warm);
  box-shadow:0 18px 46px rgba(28,21,18,.12);
}
.home-fit__card .yet-fit{max-width:none;background:var(--yet-paper-warm);}
.home-fit__more{text-align:center;margin:26px 0 0;}
.home-fit__more a{
  font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--yet-wine);text-underline-offset:5px;
}

/* ---------- 5. engagements ---------- */

.home-why{background:var(--yet-paper-warm);}
.why__grid{
  display:grid;gap:clamp(20px,2.6vw,36px);
  grid-template-columns:repeat(4,1fr);
}
.why__item{
  padding-top:20px;
  border-top:1px solid var(--yet-line-strong);
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
  background-position:left top;background-repeat:repeat-x;background-size:100% 8px;
}
.why__title{
  font-family:var(--yet-body);font-size:11.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;margin:0 0 9px;
  line-height:1.4;
}
.why__text{font-size:13.5px;color:var(--yet-taupe);margin:0;}

/* ---------- 6. fondatrice ---------- */

.founder{
  display:grid;grid-template-columns:.8fr 1.2fr;
  gap:clamp(28px,5vw,68px);align-items:center;
}
.founder--text{grid-template-columns:1fr;max-width:62ch;}
.founder__media{position:relative;}
.founder__media.is-bare{
  aspect-ratio:4/5;
  background:linear-gradient(158deg,#8A7A72 0%,#4A403B 100%);
}
.founder__img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;}
.founder__rule{
  display:block;height:9px;width:120px;margin:0 0 22px;
  border-bottom:1px solid var(--yet-line-strong);
  background-image:repeating-linear-gradient(90deg,var(--yet-line-strong) 0 1px,transparent 1px 9px);
  background-position:left bottom;background-repeat:repeat-x;
}
.founder__body .home-section__title{margin-bottom:18px;}
.founder__quote{
  font-family:var(--yet-display);font-style:italic;
  font-size:clamp(20px,2.5vw,28px);line-height:1.3;
  color:var(--yet-wine);max-width:24ch;margin:0 0 22px;
}
.founder__body p{max-width:52ch;color:var(--yet-taupe);}
.founder__body .btn-row{margin-top:26px;}

/* =====================================================================
   RESPONSIVE
   ================================================================== */

@media (max-width:1024px){
  .woocommerce ul.products{grid-template-columns:repeat(3,1fr);}
  .woocommerce div.product{grid-template-columns:1fr;}
  .woocommerce div.product .summary{position:static;}

  .site-nav__list{gap:20px;}
  .site-nav__list a{font-size:11.5px;letter-spacing:.1em;}
  .why__grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:860px){
  .nav-toggle{display:block;margin-right:-10px;}
  .site-header__inner{min-height:64px;gap:10px;}
  .site-header__brand img,
  .site-header__brand .custom-logo{height:40px;}

  /* Panneau latéral. Fermé, il est aussi retiré de l'ordre de tabulation :
     un menu hors écran mais focusable piège le clavier. */
  .site-nav{
    position:fixed;inset:0 0 0 auto;width:min(84vw,340px);
    background:var(--yet-paper);border-left:1px solid var(--yet-line);
    padding:88px 30px 30px;
    transform:translateX(100%);
    /* Visible immédiatement à l'ouverture, masquée seulement une fois le
       panneau sorti de l'écran : une transition sur visibility bascule à
       mi-parcours et donnait un menu qui semblait ne pas répondre. */
    visibility:hidden;
    transition:transform .35s var(--yet-ease),visibility 0s linear .35s;
    z-index:60;overflow-y:auto;margin-left:0;
  }
  .site-nav.is-open{
    transform:translateX(0);
    visibility:visible;
    transition:transform .35s var(--yet-ease),visibility 0s;
  }
  .site-nav__list{flex-direction:column;align-items:stretch;gap:0;}
  .site-nav__list li{border-bottom:1px solid var(--yet-line);}
  .site-nav__list a{display:block;padding:17px 0;font-size:14px;white-space:normal;}
  .site-nav__list a::after{display:none;}

  body.admin-bar .site-nav{top:46px;}

  .nav-backdrop{
    position:fixed;inset:0;background:rgba(16,12,10,.45);
    z-index:55;opacity:0;pointer-events:none;transition:opacity .3s linear;
  }
  .nav-backdrop.is-open{opacity:1;pointer-events:auto;}
  body.nav-open{overflow:hidden;}

  .site-footer__inner{grid-template-columns:1fr;gap:36px;}

  .yet-buybar{display:flex;}
  /* le bouton WhatsApp flottant remonte pour ne pas passer dessous */
  body.buybar-on .yet-wa-float{bottom:84px;}

  .founder{grid-template-columns:1fr;gap:30px;}
  .founder__media{max-width:400px;}
  .founder__quote,
  .founder__body p{max-width:none;}
}

@media (max-width:600px){
  body.admin-bar .site-nav{top:0;}
}

@media (max-width:640px){
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);gap:22px 12px;}
  .product-card__title,
  .woocommerce ul.products li.product h2,
  .woocommerce ul.products li.product h3,
  .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:14.5px;}
  .product-card__price,
  .woocommerce ul.products li.product .price{font-size:15px;}
  .product-card__sizes{display:none;}
  .woocommerce ul.products li.product .button{font-size:11px;padding:11px 10px;}

  .product__promises{grid-template-columns:1fr;gap:0;}
  .product__promises dt{padding-bottom:2px;}
  .product__promises dd{padding-top:0;padding-bottom:14px;}

  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last{width:100%;}

  .yet-wa-float span{display:none;}
  .yet-wa-float{padding:15px;border-radius:50%;right:14px;bottom:14px;}

  .site-footer__list{grid-template-columns:1fr;}

  .hero{min-height:clamp(440px,74svh,600px);}
  .hero__inner{padding-block:clamp(44px,8vh,72px);}
  .hero__actions{flex-direction:column;align-items:stretch;}
  .hero__actions .button{text-align:center;}

  /* Trois bandes pleine largeur plutôt que trois vignettes minuscules. */
  .cats{grid-template-columns:1fr;gap:10px;}
  .cat__img,
  .cat.is-bare .cat__media{aspect-ratio:16/10;}

  .why__grid{grid-template-columns:1fr;gap:22px;}
}

/* ---------- préférences système ---------- */

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;
  }
  .promises__track{animation:none;}
  .cat:hover .cat__img,
  .cat:focus-visible .cat__img{transform:none;}
  html{scroll-behavior:auto;}
}

@media print{
  .promises,.site-header,.site-footer,.yet-wa-float,.nav-toggle{display:none;}
  body{background:#fff;color:#000;}
}
