/*
Theme Name: Ladovitch
Theme URI: https://ladovitch.com
Description: Child theme Kadence — design system luxe homme Ladovitch (ivoire/encre/camel, Bodoni Moda + Inter). Aucun page builder, aucune dépendance.
Author: Ladovitch
Template: kadence
Version: 1.0.0
Text Domain: ladovitch
*/

/* ============================================================
   1. TOKENS  (déclarés aussi sur .editor-styles-wrapper
      pour que les variables vivent dans l'éditeur Gutenberg)
   ============================================================ */
:root,
body,
.editor-styles-wrapper{
  /* Couleurs */
  --ldv-bg:#F5F2EB; --ldv-bg-2:#EFEADF;
  --ldv-ink:#0F0F0F; --ldv-ink-2:#3A3733;
  --ldv-accent:#A88458; --ldv-accent-2:#8C6C45;
  --ldv-meta:#5C4838; --ldv-line:#D6D2C8; --ldv-white:#fff;

  /* Typo : EB Garamond (display) + Inter (corps/sous-titres) — verrouillé brief */
  --ldv-display:"EB Garamond","Garamond",Georgia,serif;
  --ldv-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* Échelle 1.25 fluide */
  --ldv-text:clamp(1rem,.96rem + .2vw,1.0625rem);
  --ldv-small:.8125rem;
  --fs-h6:clamp(1rem,.95rem + .25vw,1.125rem);
  --fs-h5:clamp(1.15rem,1.05rem + .4vw,1.375rem);
  --fs-h4:clamp(1.35rem,1.2rem + .6vw,1.625rem);
  --fs-h3:clamp(1.7rem,1.4rem + 1.1vw,2.25rem);
  --fs-h2:clamp(2.1rem,1.6rem + 2vw,3.25rem);
  --fs-h1:clamp(2.6rem,1.9rem + 3vw,4.5rem);
  --ldv-lh:1.65; --ldv-lh-tight:1.1;
  --ldv-track:-.015em; --ldv-track-kicker:.2em;

  /* Espacement généreux */
  --ldv-gap:clamp(1rem,.8rem + .8vw,1.5rem);
  --ldv-sp:clamp(1.5rem,1.2rem + 1.2vw,2.5rem);
  --ldv-section:clamp(4rem,2.5rem + 6vw,8rem);

  /* Layout */
  --ldv-maxw:1240px; --ldv-maxw-text:680px;
  --ldv-radius:2px; --ldv-ratio:3/4; --ldv-ratio-wide:16/9;

  /* Effets */
  --ldv-shadow:0 1px 2px rgba(15,15,15,.04),0 8px 24px rgba(15,15,15,.06);
  --ldv-ease:.3s cubic-bezier(.2,.6,.2,1);
}

/* ============================================================
   2. BASE TYPOGRAPHIE
   ============================================================ */
body{
  background:var(--ldv-bg);color:var(--ldv-ink);
  font-family:var(--ldv-sans);font-size:var(--ldv-text);line-height:var(--ldv-lh);
  font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}

/* H1–H3 = Bodoni display ; H4–H6 = Inter */
h1,h2,h3,
.entry-title,.product_title,.woocommerce-loop-product__title{
  font-family:var(--ldv-display);font-weight:500;line-height:var(--ldv-lh-tight);
  letter-spacing:var(--ldv-track);color:var(--ldv-ink);
  margin:0 0 .5em;
}
h4,h5,h6,.widget-title{
  font-family:var(--ldv-sans);font-weight:600;line-height:1.25;
  letter-spacing:0;color:var(--ldv-ink);margin:0 0 .5em;
}
h1,.entry-title{font-size:var(--fs-h1);}
h2{font-size:var(--fs-h2);}
h3{font-size:var(--fs-h3);}
h4{font-size:var(--fs-h4);}
h5{font-size:var(--fs-h5);}
h6{font-size:var(--fs-h6);}

p{margin:0 0 1.25em;}
a{color:var(--ldv-accent);text-decoration:none;transition:color var(--ldv-ease);}
a:hover,a:focus{color:var(--ldv-ink);}
strong,b{font-weight:600;}
small{font-size:var(--ldv-small);}

ul,ol{margin:0 0 1.25em;padding-left:1.25em;}
li{margin:.25em 0;}

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

hr,.wp-block-separator{border:0;border-top:1px solid var(--ldv-line);margin:var(--ldv-section) 0;}

blockquote{
  margin:1.75em 0;padding:.25em 0 .25em 1.25rem;border-left:2px solid var(--ldv-accent);
  font-family:var(--ldv-display);font-style:italic;font-size:1.2em;line-height:1.4;color:var(--ldv-meta);
}

::selection{background:var(--ldv-accent);color:var(--ldv-bg);}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--ldv-accent);outline-offset:2px;}

/* ============================================================
   3. BOUTONS
   ============================================================ */
.wp-block-button__link,
input[type="submit"],
.button,.kadence-button,
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,
.single_add_to_cart_button,.added_to_cart{
  display:inline-block;background-color:var(--ldv-accent);color:var(--ldv-white);
  font-family:var(--ldv-sans);font-size:.9rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;line-height:1.2;text-decoration:none;cursor:pointer;
  border:1px solid var(--ldv-accent);border-radius:var(--ldv-radius);
  padding:.85em 1.8em;
  transition:background-color var(--ldv-ease),color var(--ldv-ease),border-color var(--ldv-ease);
}
.wp-block-button__link:hover,.button:hover,
.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,.added_to_cart:hover{
  background-color:var(--ldv-ink);color:var(--ldv-white);border-color:var(--ldv-ink);
}
.is-style-outline .wp-block-button__link,.button.ldv-outline{
  background:transparent;color:var(--ldv-ink);border-color:var(--ldv-ink);
}
.is-style-outline .wp-block-button__link:hover,.button.ldv-outline:hover{
  background:var(--ldv-ink);color:var(--ldv-white);border-color:var(--ldv-ink);
}
button[disabled],.button.disabled,.single_add_to_cart_button:disabled{opacity:.45;cursor:not-allowed;}

/* ============================================================
   4. WOOCOMMERCE — composants réutilisables
   ============================================================ */
/* Grille : espacement généreux */
.woocommerce ul.products{gap:clamp(1.5rem,1rem + 2vw,2.75rem) clamp(1rem,.6rem + 1.5vw,2rem);}
.woocommerce ul.products li.product{position:relative;margin:0;text-align:left;}

/* Carte : visuel portrait 3/4, zoom doux composité (anti-CLS) */
.woocommerce ul.products li.product a{display:block;overflow:hidden;border-radius:var(--ldv-radius);}
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail{
  display:block;width:100%;aspect-ratio:var(--ldv-ratio);object-fit:cover;
  margin:0 0 1rem;border-radius:var(--ldv-radius);background:var(--ldv-bg-2);
  transition:transform .6s var(--ldv-ease);
}
.woocommerce ul.products li.product:hover img{transform:scale(1.04);}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:var(--fs-h6);font-weight:500;line-height:1.25;margin:0 0 .25rem;color:var(--ldv-ink);
}
.woocommerce ul.products li.product .price{
  font-family:var(--ldv-sans);font-size:.95rem;color:var(--ldv-ink);font-weight:600;
}

/* Prix : promo camel, ancien prix atténué */
.woocommerce .price del,.woocommerce div.product p.price del{color:var(--ldv-meta);font-weight:400;opacity:.7;margin-right:.4em;}
.woocommerce .price ins,.woocommerce div.product p.price ins{color:var(--ldv-accent);text-decoration:none;font-weight:600;}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:1.35rem;color:var(--ldv-ink);}

/* Badge promo + labels AWL : minimal, sobre */
.woocommerce span.onsale{
  position:absolute;top:1rem;left:1rem;margin:0;z-index:2;
  background:var(--ldv-ink);color:var(--ldv-bg);
  font-family:var(--ldv-sans);font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  border-radius:var(--ldv-radius);padding:.4em .7em;line-height:1;min-width:auto;min-height:auto;
}
[class*="awl-label"]{font-family:var(--ldv-sans);letter-spacing:.04em;}

/* Étoiles d'avis */
.woocommerce .star-rating span,.woocommerce p.stars a::before{color:var(--ldv-accent);}

/* Notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{
  background:var(--ldv-white);border-top:3px solid var(--ldv-accent);border-radius:var(--ldv-radius);
  box-shadow:var(--ldv-shadow);color:var(--ldv-ink);
}
.woocommerce-error{border-top-color:#b23b3b;}

/* Fil d'ariane */
.woocommerce-breadcrumb,nav.rank-math-breadcrumb{
  font-family:var(--ldv-sans);font-size:var(--ldv-small);letter-spacing:.02em;color:var(--ldv-meta);margin-bottom:var(--ldv-sp);
}
.woocommerce-breadcrumb a,nav.rank-math-breadcrumb a{color:var(--ldv-meta);}
.woocommerce-breadcrumb a:hover{color:var(--ldv-accent);}

/* Titres de sections Woo (produits similaires…) */
.woocommerce .related>h2,.woocommerce .upsells>h2,.woocommerce .cross-sells>h2{
  font-family:var(--ldv-display);font-size:var(--fs-h3);margin-bottom:var(--ldv-sp);
}

/* Layout single-produit (galerie 2 colonnes, sticky) : étape template produit */

/* ============================================================
   5. HOME — HERO SLIDER (scroll-snap, zéro dépendance)
   ============================================================ */
.ldv-hero{position:relative;width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);overflow:hidden;background:var(--ldv-ink);}
.ldv-hero__track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.ldv-hero__track::-webkit-scrollbar{display:none;}
.ldv-hero__slide{
  position:relative;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;
  min-height:clamp(420px,68vh,760px);display:flex;align-items:flex-end;
  color:var(--ldv-white);text-decoration:none;
}
.ldv-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  background:linear-gradient(120deg,#2a2522,#0f0f0f);}
.ldv-hero__slide::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,15,15,.05) 0%,rgba(15,15,15,.18) 45%,rgba(15,15,15,.72) 100%);}
.ldv-hero__content{position:relative;z-index:1;max-width:var(--ldv-maxw);width:100%;
  margin-inline:auto;padding:clamp(2rem,5vw,5rem) var(--ldv-sp);}
.ldv-hero__inner{max-width:36rem;}
.ldv-hero__kicker{display:inline-block;font-family:var(--ldv-sans);text-transform:uppercase;
  letter-spacing:var(--ldv-track-kicker);font-size:.72rem;font-weight:600;color:var(--ldv-bg);opacity:.85;margin:0 0 1rem;}
.ldv-hero__title{font-family:var(--ldv-display);font-weight:500;line-height:1.05;
  letter-spacing:var(--ldv-track);font-size:clamp(2.4rem,1.6rem + 3.4vw,4.75rem);color:var(--ldv-white);margin:0 0 .6rem;}
.ldv-hero__text{font-family:var(--ldv-sans);font-size:clamp(1rem,.95rem + .3vw,1.2rem);
  line-height:1.5;color:var(--ldv-bg);opacity:.92;margin:0 0 1.75rem;max-width:30rem;}
.ldv-hero__cta{display:inline-block;background:var(--ldv-white);color:var(--ldv-ink);
  font-family:var(--ldv-sans);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  padding:.85em 1.9em;border:1px solid var(--ldv-white);border-radius:var(--ldv-radius);
  transition:background var(--ldv-ease),color var(--ldv-ease),border-color var(--ldv-ease);}
.ldv-hero__slide:hover .ldv-hero__cta{background:var(--ldv-accent);color:var(--ldv-white);border-color:var(--ldv-accent);}

.ldv-hero__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  display:flex;align-items:center;justify-content:center;width:48px;height:48px;
  border:1px solid rgba(245,242,235,.5);background:rgba(15,15,15,.25);color:var(--ldv-white);
  border-radius:50%;cursor:pointer;backdrop-filter:blur(2px);
  transition:background var(--ldv-ease),border-color var(--ldv-ease);}
.ldv-hero__nav:hover{background:var(--ldv-accent);border-color:var(--ldv-accent);}
.ldv-hero__nav--prev{left:clamp(.75rem,2vw,1.75rem);}
.ldv-hero__nav--next{right:clamp(.75rem,2vw,1.75rem);}
.ldv-hero__nav svg{width:18px;height:18px;}

.ldv-hero__dots{position:absolute;bottom:.6rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:.4rem;}
.ldv-hero__dot{position:relative;width:32px;height:44px;border:0;padding:0;background:transparent;cursor:pointer;} /* zone tactile 44px (mobile/WCAG) */
.ldv-hero__dot::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(245,242,235,.45);transition:background var(--ldv-ease);}
.ldv-hero__dot[aria-current="true"]::before{background:var(--ldv-white);}

@media (max-width:600px){.ldv-hero__nav{display:none;}}
@media (prefers-reduced-motion:reduce){.ldv-hero__track{scroll-behavior:auto;}}

/* ============================================================
   6. PRIMITIVES ÉDITORIALES (sections, en-têtes, cartes)
   ============================================================ */
.ldv-section{padding-block:var(--ldv-section);}
.ldv-section--alt{background:var(--ldv-bg-2);}
.ldv-container{max-width:var(--ldv-maxw);margin-inline:auto;padding-inline:var(--ldv-sp);}

.ldv-kicker{display:block;font-family:var(--ldv-sans);text-transform:uppercase;
  letter-spacing:var(--ldv-track-kicker);font-size:.72rem;font-weight:600;color:var(--ldv-accent);margin:0 0 .75rem;}

.ldv-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ldv-sp);
  margin-bottom:clamp(2rem,1.4rem + 2vw,3.25rem);}
.ldv-head__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h2);line-height:1.05;
  letter-spacing:var(--ldv-track);margin:0;}
.ldv-head__link{flex:none;font-family:var(--ldv-sans);font-size:.85rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ldv-ink);border-bottom:1px solid var(--ldv-accent);padding-bottom:2px;white-space:nowrap;}
.ldv-head__link:hover{color:var(--ldv-accent);}

/* Carte éditoriale générique (réutilisée Guides + Journal) */
.ldv-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;height:100%;}
.ldv-card__media{position:relative;display:block;overflow:hidden;border-radius:var(--ldv-radius);
  aspect-ratio:var(--ldv-ratio);background:var(--ldv-bg-2);margin-bottom:1rem;}
.ldv-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ldv-ease);}
.ldv-card:hover .ldv-card__media img{transform:scale(1.04);}
.ldv-card__kicker{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:.14em;
  font-size:.7rem;font-weight:600;color:var(--ldv-accent);margin:0 0 .4rem;}
.ldv-card__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h4);line-height:1.15;
  letter-spacing:var(--ldv-track);color:var(--ldv-ink);margin:0 0 .4rem;}
.ldv-card:hover .ldv-card__title{color:var(--ldv-accent);}
.ldv-card__excerpt{font-family:var(--ldv-sans);font-size:.95rem;line-height:1.55;color:var(--ldv-ink-2);margin:0;}
.ldv-card__meta{font-family:var(--ldv-sans);font-size:var(--ldv-small);color:var(--ldv-meta);margin:.6rem 0 0;}

/* ============================================================
   7. HOME — BLOC GUIDES (pilier prioritaire + grille)
   ============================================================ */
.ldv-guides__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1.25rem,.8rem + 1.6vw,2.25rem);}

/* Pilier prioritaire : carte large horizontale (mise en avant) */
.ldv-guides__lead{grid-column:span 12;display:grid;grid-template-columns:1.15fr 1fr;
  background:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);overflow:hidden;}
.ldv-guides__lead .ldv-card__media{aspect-ratio:var(--ldv-ratio-wide);margin:0;border-radius:0;height:100%;}
.ldv-guides__lead-body{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(1.5rem,1rem + 2vw,3rem);}
.ldv-guides__lead .ldv-card__title{font-size:var(--fs-h3);}
.ldv-guides__lead .ldv-card__excerpt{font-size:1rem;margin-bottom:1.25rem;}
.ldv-guides__lead-cta{align-self:flex-start;font-family:var(--ldv-sans);font-size:.82rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ldv-ink);border-bottom:1px solid var(--ldv-accent);padding-bottom:3px;}
.ldv-guides__lead:hover .ldv-guides__lead-cta{color:var(--ldv-accent);}

/* Piliers secondaires : 3 colonnes */
.ldv-guides__item{grid-column:span 4;}

/* "Bientôt" : slot planifié non publié */
.ldv-card--soon{pointer-events:none;}
.ldv-card--soon .ldv-card__media{display:flex;align-items:center;justify-content:center;}
.ldv-card--soon .ldv-card__media::after{content:"Bientôt";font-family:var(--ldv-sans);font-size:.7rem;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ldv-meta);
  border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.4em .8em;background:var(--ldv-bg);}
.ldv-card--soon .ldv-card__title{color:var(--ldv-meta);}

@media (max-width:880px){
  .ldv-guides__lead{grid-template-columns:1fr;}
  .ldv-guides__lead .ldv-card__media{aspect-ratio:var(--ldv-ratio-wide);}
  .ldv-guides__item{grid-column:span 6;}
}
@media (max-width:560px){
  .ldv-head{flex-direction:column;align-items:flex-start;gap:.75rem;}
  .ldv-guides__item{grid-column:span 12;}
}

/* ============================================================
   8. HOME — BLOC JOURNAL (flux auto via [ldv_journal])
   ============================================================ */
.ldv-journal__grid{display:grid;grid-template-columns:repeat(var(--ldv-cols,3),1fr);
  gap:clamp(1.5rem,1rem + 2vw,2.75rem);}
@media (max-width:880px){.ldv-journal__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.ldv-journal__grid{grid-template-columns:1fr;}}

/* ============================================================
   9. AUTEUR / EEAT  (bande home + variante pied d'article)
   ============================================================ */
.ldv-author{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.25rem,1rem + 2vw,2.5rem);
  align-items:center;max-width:880px;margin-inline:auto;}
.ldv-author__photo{width:clamp(96px,8vw,140px);aspect-ratio:1;border-radius:50%;object-fit:cover;
  background:var(--ldv-bg-2);border:1px solid var(--ldv-line);}
.ldv-author__role{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:var(--ldv-track-kicker);
  font-size:.72rem;font-weight:600;color:var(--ldv-accent);margin:0 0 .5rem;}
.ldv-author__name{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h3);line-height:1.1;
  letter-spacing:var(--ldv-track);margin:0 0 .6rem;}
.ldv-author__bio{font-family:var(--ldv-sans);font-size:1rem;line-height:1.6;color:var(--ldv-ink-2);margin:0 0 1rem;max-width:46ch;}
.ldv-author__link{font-family:var(--ldv-sans);font-size:.85rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ldv-ink);border-bottom:1px solid var(--ldv-accent);padding-bottom:2px;}
.ldv-author__link:hover{color:var(--ldv-accent);}

/* Variante compacte : pied d'article (cadre) */
.ldv-author--byline{background:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);
  padding:clamp(1.5rem,1rem + 2vw,2.5rem);margin-block:var(--ldv-section);}
.ldv-author--byline .ldv-author__name{font-size:var(--fs-h4);}
.ldv-author--byline .ldv-author__bio{font-size:.95rem;}

@media (max-width:560px){
  .ldv-author{grid-template-columns:1fr;text-align:center;justify-items:center;}
  .ldv-author__bio{max-width:100%;}
}

/* ============================================================
   10. HOME — BLOC BOUTIQUE (2 catégories, contenu/secondaire)
   ============================================================ */
.ldv-shop__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,.6rem + 1.5vw,1.75rem);}
.ldv-shop__card{position:relative;display:flex;align-items:flex-end;overflow:hidden;
  border-radius:var(--ldv-radius);min-height:clamp(320px,42vw,520px);text-decoration:none;color:var(--ldv-white);}
.ldv-shop__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  background:var(--ldv-bg-2);transition:transform .7s var(--ldv-ease);}
.ldv-shop__card:hover img{transform:scale(1.05);}
.ldv-shop__card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(15,15,15,0) 35%,rgba(15,15,15,.66) 100%);}
.ldv-shop__body{position:relative;z-index:1;width:100%;padding:clamp(1.5rem,1rem + 2vw,2.5rem);}
.ldv-shop__kicker{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:.16em;
  font-size:.7rem;font-weight:600;color:var(--ldv-bg);opacity:.85;margin:0 0 .5rem;}
.ldv-shop__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h3);line-height:1.1;
  letter-spacing:var(--ldv-track);color:var(--ldv-white);margin:0 0 .9rem;}
.ldv-shop__cta{display:inline-block;font-family:var(--ldv-sans);font-size:.82rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ldv-white);
  border-bottom:1px solid var(--ldv-white);padding-bottom:3px;transition:border-color var(--ldv-ease);}
.ldv-shop__card:hover .ldv-shop__cta{border-color:var(--ldv-accent);}

@media (max-width:680px){
  .ldv-shop__grid{grid-template-columns:1fr;}
  .ldv-shop__card{min-height:62vw;}
}

/* ============================================================
   11. HOME — INTRO ÉDITORIAL (entité + extractible LLM)
   ============================================================ */
.ldv-intro__inner{max-width:760px;}
.ldv-intro__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h2);line-height:1.08;
  letter-spacing:var(--ldv-track);margin:.4rem 0 1.1rem;}
.ldv-intro__lead{font-family:var(--ldv-sans);font-size:clamp(1.1rem,1rem + .5vw,1.35rem);line-height:1.55;color:var(--ldv-ink);margin:0 0 1rem;}
.ldv-intro__lead a,.ldv-intro__note a{color:var(--ldv-ink);text-decoration:none;border-bottom:1px solid var(--ldv-accent);transition:color var(--ldv-ease);}
.ldv-intro__lead a:hover,.ldv-intro__note a:hover{color:var(--ldv-accent);}
.ldv-intro__note{font-family:var(--ldv-sans);font-size:.98rem;line-height:1.6;color:var(--ldv-ink-2);margin:0;}

/* ============================================================
   12. HEADER (Kadence natif, stylé luxe)
   ============================================================ */
.site-header{background:var(--ldv-bg);border-bottom:1px solid var(--ldv-line);}
.site-branding .site-title a,.site-title a{font-family:var(--ldv-display);font-weight:600;
  font-size:clamp(1.4rem,1.1rem + .8vw,1.9rem);letter-spacing:.02em;color:var(--ldv-ink);}
.site-title a:hover{color:var(--ldv-accent);}

/* Nav desktop */
.header-navigation .menu-container>ul>li>a{position:relative;font-family:var(--ldv-sans);
  font-size:.82rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ldv-ink);}
.header-navigation .menu-container>ul>li>a:hover,
.header-navigation .menu-container>ul>li.current-menu-item>a{color:var(--ldv-accent);}
.header-navigation .menu-container>ul>li>a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;
  height:1px;background:var(--ldv-accent);transition:right .3s var(--ldv-ease);}
.header-navigation .menu-container>ul>li>a:hover::after,
.header-navigation .menu-container>ul>li.current-menu-item>a::after{right:0;}

/* Sous-menus */
.header-navigation .sub-menu{background:var(--ldv-white);border:1px solid var(--ldv-line);box-shadow:var(--ldv-shadow);}
.header-navigation .sub-menu li a{text-transform:none;letter-spacing:.02em;font-size:.9rem;}

/* Mobile : cibles tactiles >=44px */
button.menu-toggle,.mobile-toggle-open-container .menu-toggle-open{min-width:44px;min-height:44px;color:var(--ldv-ink);}
.mobile-navigation,.mobile-navigation ul{background:var(--ldv-bg);}
.mobile-navigation ul li a{display:flex;align-items:center;min-height:44px;
  font-family:var(--ldv-sans);font-size:1rem;letter-spacing:.03em;color:var(--ldv-ink);border-bottom:1px solid var(--ldv-line);}
.mobile-navigation ul li a:hover,.mobile-navigation ul li.current-menu-item>a{color:var(--ldv-accent);}

/* ============================================================
   13. FOOTER (codé — .ldv-footer, à poser en widget HTML)
   ============================================================ */
.ldv-footer{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw);background:var(--ldv-ink);color:var(--ldv-bg);}
.ldv-footer__inner{max-width:var(--ldv-maxw);margin-inline:auto;
  padding:clamp(3rem,2rem + 3vw,5rem) var(--ldv-sp) clamp(2rem,1.5rem + 1vw,3rem);}
.ldv-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:clamp(1.5rem,1rem + 2vw,3rem);}
.ldv-footer__brand-name{font-family:var(--ldv-display);font-weight:600;font-size:var(--fs-h4);
  color:var(--ldv-white);letter-spacing:.02em;margin:0 0 .75rem;}
.ldv-footer__bio{font-family:var(--ldv-sans);font-size:.92rem;line-height:1.6;color:var(--ldv-line);max-width:34ch;margin:0;}
.ldv-footer__col-title{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:.14em;
  font-size:.72rem;font-weight:600;color:var(--ldv-accent);margin:0 0 1.1rem;}
.ldv-footer__list{list-style:none;margin:0;padding:0;}
.ldv-footer__list li{margin:0 0 .65rem;}
.ldv-footer a{color:var(--ldv-line);font-family:var(--ldv-sans);font-size:.92rem;text-decoration:none;
  transition:color var(--ldv-ease);display:inline-flex;align-items:center;min-height:32px;}
.ldv-footer a:hover{color:var(--ldv-white);}
.ldv-footer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;
  border-top:1px solid rgba(214,210,200,.18);margin-top:clamp(2rem,1.5rem + 1.5vw,3rem);padding-top:1.5rem;}
.ldv-footer__copy{font-family:var(--ldv-sans);font-size:.8rem;color:rgba(214,210,200,.7);margin:0;}
.ldv-footer__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;}
.ldv-footer__legal a{font-size:.8rem;}

@media (max-width:880px){
  .ldv-footer__grid{grid-template-columns:1fr 1fr;}
  .ldv-footer__brand{grid-column:1 / -1;}
}
@media (max-width:520px){
  .ldv-footer__grid{grid-template-columns:1fr;gap:2rem;}
  .ldv-footer__bar{flex-direction:column;align-items:flex-start;}
}

/* ============================================================
   14. ARTICLE / SINGLE (lecture éditoriale + composants GEO)
   ============================================================ */
/* Colonne de lecture confort — appliqué auto à tout article */
.single-post .entry-content{--read:720px;font-size:clamp(1.05rem,1rem + .3vw,1.15rem);line-height:1.75;}
.single-post .entry-content > *{max-width:var(--read);margin-inline:auto;}
.single-post .entry-content > .alignwide{max-width:1040px;}
.single-post .entry-content > .alignfull{max-width:none;}
.single-post .entry-content h2{font-size:var(--fs-h3);margin:2.2em auto .6em;}
.single-post .entry-content h3{font-size:var(--fs-h4);margin:1.8em auto .5em;}
.single-post .entry-content p{margin:0 auto 1.3em;}
.single-post .entry-content a{color:var(--ldv-ink);text-decoration:none;border-bottom:1px solid var(--ldv-accent);transition:color var(--ldv-ease);}
.single-post .entry-content a:hover{color:var(--ldv-accent);}
.single-post .entry-content ul,.single-post .entry-content ol{margin:0 auto 1.3em;padding-left:1.4em;max-width:var(--read);}
.single-post .entry-content li{margin:.4em 0;}
.single-post .entry-content figure{margin:2em auto;}
.single-post .entry-content figcaption{font-family:var(--ldv-sans);font-size:.82rem;color:var(--ldv-meta);text-align:center;margin-top:.6rem;}
.single-post .entry-content img{border-radius:var(--ldv-radius);}
.single-post .entry-content :is(h2,h3)[id]{scroll-margin-top:90px;} /* ancrage sous header sticky */

/* Lettrine (option Gutenberg "Lettrine") */
.single-post .entry-content .has-drop-cap:first-letter{font-family:var(--ldv-display);font-weight:500;
  font-size:3.4em;line-height:.78;float:left;margin:.06em .12em 0 0;color:var(--ldv-accent);}

/* Citation en exergue */
.wp-block-pullquote,.ldv-pullquote{border:0;border-block:1px solid var(--ldv-line);
  padding:1.5rem 0;margin:2.2em auto;max-width:var(--read);text-align:left;}
.wp-block-pullquote p,.ldv-pullquote p{font-family:var(--ldv-display);font-style:italic;
  font-size:clamp(1.4rem,1.1rem + 1.2vw,2rem);line-height:1.25;color:var(--ldv-ink);margin:0;}

/* Métadonnées (date + "mis à jour") */
.single-post .entry-meta,.single-post .posted-on,.single-post .entry-meta time{
  font-family:var(--ldv-sans);font-size:var(--ldv-small);color:var(--ldv-meta);letter-spacing:.02em;}

/* Disclosure affiliée — HAUT d'article (obligatoire) */
.ldv-disclosure{max-width:var(--read);margin:0 auto 2rem;padding:.8rem 1rem;
  background:var(--ldv-bg-2);border-left:3px solid var(--ldv-accent);border-radius:var(--ldv-radius);
  font-family:var(--ldv-sans);font-size:.85rem;line-height:1.5;color:var(--ldv-ink-2);}
.ldv-disclosure a{color:var(--ldv-meta);border-bottom:1px solid var(--ldv-line);}

/* TLDR / L'essentiel (answer-first) */
.ldv-tldr{max-width:var(--read);margin:0 auto 2.2rem;padding:clamp(1.25rem,1rem + 1vw,1.75rem);
  background:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);}
.ldv-tldr__title{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;
  font-weight:600;color:var(--ldv-accent);margin:0 0 .8rem;}
.ldv-tldr p{margin:0 0 .8rem;font-size:1.02rem;}
.ldv-tldr ul{margin:0;padding-left:1.2em;}
.ldv-tldr li{margin:.35em 0;}

/* Sommaire (auto-rempli par le thème via [data-ldv-toc]) */
.ldv-toc{max-width:var(--read);margin:0 auto 2.4rem;
  padding:clamp(1.1rem,.9rem + 1vw,1.5rem) clamp(1.25rem,1rem + 1vw,1.75rem);
  background:var(--ldv-bg-2);border-radius:var(--ldv-radius);}
.ldv-toc__title{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--ldv-meta);margin:0 0 .8rem;}
.ldv-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;}
.ldv-toc li{margin:.4em 0;counter-increment:toc;}
.ldv-toc li::before{content:counter(toc,decimal-leading-zero);font-family:var(--ldv-sans);font-size:.75rem;color:var(--ldv-accent);margin-right:.6em;}
.ldv-toc a{font-family:var(--ldv-sans);font-size:.95rem;color:var(--ldv-ink);text-decoration:none;border-bottom:1px solid transparent;transition:border-color var(--ldv-ease);}
.ldv-toc a:hover{border-color:var(--ldv-accent);}
.ldv-toc li.ldv-toc--h3{margin-left:1.6em;}
.ldv-toc li.ldv-toc--h3::before{content:"";margin:0;}

/* FAQ — style du bloc Rank Math FAQ + fallback <details> */
.rank-math-faq .rank-math-list-item,.ldv-faq details{border-bottom:1px solid var(--ldv-line);padding:1rem 0;max-width:var(--read);margin-inline:auto;}
.rank-math-faq .rank-math-question,.ldv-faq summary{font-family:var(--ldv-display);font-size:var(--fs-h5);color:var(--ldv-ink);cursor:pointer;}
.ldv-faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none;}
.ldv-faq summary::-webkit-details-marker{display:none;}
.ldv-faq summary::after{content:"+";font-family:var(--ldv-sans);color:var(--ldv-accent);font-size:1.4rem;line-height:1;}
.ldv-faq details[open] summary::after{content:"\2013";}
.rank-math-faq .rank-math-answer,.ldv-faq details > *:not(summary){font-family:var(--ldv-sans);font-size:1rem;line-height:1.65;color:var(--ldv-ink-2);margin-top:.7rem;}

/* Carte affiliée / bouton marchand (rel sponsored) */
.ldv-aff{max-width:var(--read);margin:2em auto;display:grid;grid-template-columns:auto 1fr auto;gap:1.25rem;align-items:center;
  background:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:1.25rem;}
.ldv-aff__img{width:96px;aspect-ratio:1;object-fit:cover;border-radius:var(--ldv-radius);background:var(--ldv-bg-2);}
.ldv-aff__name{font-family:var(--ldv-display);font-size:var(--fs-h5);color:var(--ldv-ink);margin:0 0 .2rem;}
.ldv-aff__note{font-family:var(--ldv-sans);font-size:.9rem;color:var(--ldv-ink-2);margin:0;}
.ldv-aff__price{font-family:var(--ldv-sans);font-size:.9rem;color:var(--ldv-meta);margin:.3rem 0 0;}
.ldv-aff__btn{display:inline-block;white-space:nowrap;background:var(--ldv-accent);color:var(--ldv-white);
  font-family:var(--ldv-sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  padding:.75em 1.4em;border-radius:var(--ldv-radius);border:1px solid var(--ldv-accent);transition:background var(--ldv-ease),border-color var(--ldv-ease);}
.ldv-aff__btn:hover{background:var(--ldv-ink);border-color:var(--ldv-ink);}
@media (max-width:560px){.ldv-aff{grid-template-columns:1fr;text-align:center;justify-items:center;}}

/* Sources / références (EEAT) */
.ldv-sources{max-width:var(--read);margin:2.5em auto;padding-top:1.25rem;border-top:1px solid var(--ldv-line);}
.ldv-sources__title{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--ldv-meta);margin:0 0 .8rem;}
.ldv-sources ol{margin:0;padding-left:1.3em;}
.ldv-sources li{font-family:var(--ldv-sans);font-size:.88rem;color:var(--ldv-ink-2);margin:.4em 0;}
.ldv-sources a{color:var(--ldv-meta);border-bottom:1px solid var(--ldv-line);word-break:break-word;}

/* ============================================================
   15. ARCHIVE — CATÉGORIE BLOG / JOURNAL (boucle Kadence stylée)
   ============================================================ */
/* En-tête d'archive : titre catégorie (H1) + description (texte indexable) */
.archive-header,.blog .archive-header{max-width:var(--ldv-maxw);margin:0 auto;
  padding:var(--ldv-section) var(--ldv-sp) clamp(2rem,1.4rem + 2vw,3rem);text-align:center;}
.archive-title,.archive-header h1{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h1);
  letter-spacing:var(--ldv-track);line-height:1.05;margin:0 0 1rem;color:var(--ldv-ink);}
.archive-description{font-family:var(--ldv-sans);font-size:clamp(1rem,.95rem + .4vw,1.2rem);line-height:1.6;
  color:var(--ldv-ink-2);max-width:62ch;margin:0 auto;}

/* Grille d'articles */
.archive .posts-container,.blog .posts-container{gap:clamp(1.5rem,1rem + 2vw,2.75rem);}
.loop-entry.entry,.archive article.entry,.blog article.entry{background:transparent;border:0;box-shadow:none;margin:0;}
.loop-entry .entry-image-wrap,.loop-entry .post-thumbnail,.archive .post-thumbnail{
  overflow:hidden;border-radius:var(--ldv-radius);margin-bottom:1rem;}
.loop-entry .post-thumbnail img,.archive article .post-thumbnail img{
  width:100%;aspect-ratio:var(--ldv-ratio-wide);object-fit:cover;display:block;background:var(--ldv-bg-2);
  transition:transform .6s var(--ldv-ease);}
.loop-entry:hover .post-thumbnail img{transform:scale(1.04);}
.loop-entry .entry-title,.archive article .entry-title{font-family:var(--ldv-display);font-weight:500;
  font-size:var(--fs-h4);line-height:1.15;letter-spacing:var(--ldv-track);margin:0 0 .4rem;}
.loop-entry .entry-title a{color:var(--ldv-ink);}
.loop-entry:hover .entry-title a,.loop-entry .entry-title a:hover{color:var(--ldv-accent);}
.loop-entry .entry-summary,.archive article .entry-summary{font-family:var(--ldv-sans);font-size:.95rem;
  line-height:1.55;color:var(--ldv-ink-2);margin:0 0 .6rem;}
.loop-entry .entry-meta,.archive article .entry-meta{font-family:var(--ldv-sans);font-size:var(--ldv-small);color:var(--ldv-meta);}
.loop-entry .entry-meta a{color:var(--ldv-meta);}
.loop-entry .entry-actions a,.loop-entry .more-link{font-family:var(--ldv-sans);font-size:.8rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ldv-ink);border-bottom:1px solid var(--ldv-accent);padding-bottom:2px;}
.loop-entry .entry-actions a:hover,.loop-entry .more-link:hover{color:var(--ldv-accent);}

/* Pagination */
.kadence-pagination,.navigation.pagination{max-width:var(--ldv-maxw);margin:var(--ldv-section) auto 0;padding-inline:var(--ldv-sp);}
.kadence-pagination .page-numbers,.navigation.pagination .page-numbers{font-family:var(--ldv-sans);font-size:.9rem;
  color:var(--ldv-ink);background:transparent;border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);
  min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:all var(--ldv-ease);}
.kadence-pagination .page-numbers:hover{border-color:var(--ldv-accent);color:var(--ldv-accent);}
.kadence-pagination .page-numbers.current{background:var(--ldv-ink);color:var(--ldv-white);border-color:var(--ldv-ink);}

/* ============================================================
   16. WOOCOMMERCE — ARCHIVE CATÉGORIE PRODUIT
   (cartes/prix/badges déjà en section 4 ; ici en-tête + barres)
   ============================================================ */
.woocommerce-products-header__title,.woocommerce .page-title{font-family:var(--ldv-display);font-weight:500;
  font-size:var(--fs-h1);letter-spacing:var(--ldv-track);text-align:center;line-height:1.05;margin:0 0 1rem;color:var(--ldv-ink);}
.woocommerce .term-description,.woocommerce-products-header .term-description{max-width:62ch;margin:0 auto var(--ldv-sp);
  text-align:center;font-family:var(--ldv-sans);font-size:clamp(1rem,.95rem + .4vw,1.15rem);line-height:1.6;color:var(--ldv-ink-2);}
.woocommerce .term-description h2,.woocommerce .term-description h3{font-family:var(--ldv-display);text-align:left;}

.woocommerce .woocommerce-result-count{font-family:var(--ldv-sans);font-size:var(--ldv-small);color:var(--ldv-meta);}
.woocommerce .woocommerce-ordering select,.woocommerce select.orderby{font-family:var(--ldv-sans);font-size:.85rem;
  border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.5em 2em .5em .8em;background-color:var(--ldv-white);color:var(--ldv-ink);}

.woocommerce-pagination .page-numbers{font-family:var(--ldv-sans);font-size:.9rem;color:var(--ldv-ink);background:transparent;
  border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);min-width:44px;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;transition:all var(--ldv-ease);}
.woocommerce-pagination .page-numbers:hover{border-color:var(--ldv-accent);color:var(--ldv-accent);}
.woocommerce-pagination .page-numbers.current{background:var(--ldv-ink);color:var(--ldv-white);border-color:var(--ldv-ink);}

/* Description de catégorie, déplacée SOUS la grille produits (texte SEO éditorial) */
.ldv-cat-description{max-width:var(--read);margin:3.5rem auto 0;padding-top:2.25rem;border-top:1px solid var(--ldv-line);
  font-family:var(--ldv-sans);color:var(--ldv-text);}
.ldv-cat-description h2,.ldv-cat-description h3{font-family:var(--ldv-display);font-weight:500;color:var(--ldv-ink);margin:0 0 .6em;}
.ldv-cat-description p{margin:0 0 1em;line-height:1.7;}
.ldv-cat-description a{color:var(--ldv-camel-2);text-decoration:underline;text-underline-offset:2px;}
.ldv-cat-description :last-child{margin-bottom:0;}

/* ============================================================
   17. WOOCOMMERCE — FICHE PRODUIT (single, Kadence stylé)
   ============================================================ */
/* Galerie (Woo native restylée, pas de nouvelle lib) */
.woocommerce-product-gallery__image img,.woocommerce-product-gallery__wrapper{border-radius:var(--ldv-radius);background:var(--ldv-bg-2);}
.flex-control-thumbs{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0 0;padding:0;list-style:none;}
.flex-control-thumbs li{width:72px;margin:0;}
.flex-control-thumbs img{border-radius:var(--ldv-radius);opacity:.6;cursor:pointer;border:1px solid transparent;transition:opacity var(--ldv-ease),border-color var(--ldv-ease);}
.flex-control-thumbs img.flex-active,.flex-control-thumbs img:hover{opacity:1;border-color:var(--ldv-accent);}
.woocommerce-product-gallery__trigger{background:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:50%;}

/* Résumé */
.single-product .product_title{font-size:clamp(1.9rem,1.4rem + 2vw,2.8rem);line-height:1.05;margin:0 0 .6rem;}
.single-product .woocommerce-product-details__short-description{font-family:var(--ldv-sans);font-size:1rem;line-height:1.6;color:var(--ldv-ink-2);margin:1rem 0 1.5rem;}
.single-product .woocommerce-product-details__short-description p{margin:0 0 .8em;}

/* Variations + quantité */
.single-product form.cart{margin:1.5rem 0;}
.single-product table.variations th{font-family:var(--ldv-sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ldv-meta);}
.single-product table.variations select{border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.6em .8em;background:var(--ldv-white);color:var(--ldv-ink);}
.single-product .quantity input.qty{border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.6em;width:4.5em;text-align:center;color:var(--ldv-ink);}

/* Méta produit */
.single-product .product_meta{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--ldv-line);
  font-family:var(--ldv-sans);font-size:.82rem;color:var(--ldv-meta);}
.single-product .product_meta a{color:var(--ldv-meta);border-bottom:1px solid var(--ldv-line);}

/* Onglets + description longue */
.woocommerce-tabs{margin-top:var(--ldv-section);}
.woocommerce-tabs ul.tabs{border:0;padding:0;margin:0 0 1.5rem;display:flex;flex-wrap:wrap;gap:1.5rem;border-bottom:1px solid var(--ldv-line);}
.woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0;padding:0;}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none;}
.woocommerce-tabs ul.tabs li a{font-family:var(--ldv-sans);font-size:.82rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ldv-meta);padding:0 0 1rem;display:inline-block;border-bottom:2px solid transparent;}
.woocommerce-tabs ul.tabs li.active a,.woocommerce-tabs ul.tabs li a:hover{color:var(--ldv-ink);border-bottom-color:var(--ldv-accent);}
.woocommerce-tabs .panel,.woocommerce-Tabs-panel{max-width:760px;font-size:1.05rem;line-height:1.75;color:var(--ldv-ink);}
.woocommerce-tabs .panel h2,.woocommerce-Tabs-panel h2{font-family:var(--ldv-display);font-size:var(--fs-h3);margin:1.6em 0 .5em;}

/* Labels AWL réduits sur la fiche */
.single-product [class*="awl-label"]{font-size:.7rem;letter-spacing:.04em;}

/* Avis */
#reviews .commentlist{list-style:none;padding:0;}
#reviews .comment-form input,#reviews .comment-form textarea{border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);}

/* Onglets toujours sous la galerie (anti-chevauchement) */
.single-product div.product .woocommerce-tabs{clear:both;}

/* ============================================================
   18. ACCESSIBILITÉ — contraste AA (camel = ton moyen)
   ============================================================ */
/* Petits labels camel sur fond clair -> brun terre (7.70:1) */
.ldv-kicker,.ldv-card__kicker,.ldv-tldr__title,.ldv-author__role{color:var(--ldv-meta);}

/* Texte des boutons camel -> encre (5.57:1) ; le survol reste clair sur encre (17:1) */
.wp-block-button__link,input[type="submit"],.button,.kadence-button,
.woocommerce a.button,.woocommerce button.button,.woocommerce .button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.single_add_to_cart_button,.added_to_cart,.ldv-aff__btn{color:var(--ldv-ink);}
.ldv-aff__btn:hover{color:var(--ldv-white);} /* évite encre sur encre au survol */
.ldv-hero__slide:hover .ldv-hero__cta{color:var(--ldv-ink);}

/* ============================================================
   19. FLUENT FORMS (global — contact, newsletter, etc.) + CONTACT
   ============================================================ */
.fluentform .ff-el-group{margin-bottom:1.1rem;}
.fluentform .ff-el-input--label label{font-family:var(--ldv-sans);font-size:.8rem;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ldv-meta);margin-bottom:.4rem;display:inline-block;}
.fluentform .ff-el-form-control{font-family:var(--ldv-sans);font-size:1rem;color:var(--ldv-ink);width:100%;
  background:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);
  padding:.7em .9em;transition:border-color var(--ldv-ease);}
.fluentform .ff-el-form-control:focus{border-color:var(--ldv-accent);outline:none;box-shadow:none;}
.fluentform textarea.ff-el-form-control{min-height:140px;resize:vertical;}
.fluentform .ff-btn-submit{background:var(--ldv-accent);color:var(--ldv-ink);font-family:var(--ldv-sans);
  font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  border:1px solid var(--ldv-accent);border-radius:var(--ldv-radius);padding:.9em 2em;
  transition:background var(--ldv-ease),color var(--ldv-ease),border-color var(--ldv-ease);}
.fluentform .ff-btn-submit:hover{background:var(--ldv-ink);color:var(--ldv-white);border-color:var(--ldv-ink);}
.fluentform .ff-el-is-error .ff-el-form-control{border-color:#b23b3b;}
.fluentform .text-danger,.fluentform .error{color:#b23b3b;font-size:.85rem;}
.fluentform .ff-message-success,.ff-message-success{background:var(--ldv-bg-2);border-left:3px solid var(--ldv-accent);
  border-radius:var(--ldv-radius);padding:1rem 1.25rem;color:var(--ldv-ink);font-family:var(--ldv-sans);}

/* Page Contact */
.ldv-contact{max-width:640px;margin-inline:auto;}
.ldv-contact__head{text-align:center;margin-bottom:2.25rem;}
.ldv-contact__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h1);letter-spacing:var(--ldv-track);line-height:1.05;margin:.4rem 0 .8rem;}
.ldv-contact__lead{font-family:var(--ldv-sans);font-size:clamp(1rem,.95rem + .4vw,1.2rem);line-height:1.6;color:var(--ldv-ink-2);margin:0;}

/* ============================================================
   20. PAGE À PROPOS (EEAT)
   ============================================================ */
.ldv-about{max-width:880px;margin-inline:auto;}
.ldv-about__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h1);letter-spacing:var(--ldv-track);line-height:1.05;margin:.4rem 0 0;}
.ldv-about__lead{font-family:var(--ldv-sans);font-size:clamp(1.15rem,1rem + .6vw,1.45rem);line-height:1.55;color:var(--ldv-ink);margin:1.1rem 0 0;}

.ldv-about__author{display:grid;grid-template-columns:200px 1fr;gap:clamp(1.5rem,1rem + 2.5vw,3rem);align-items:start;
  margin-top:var(--ldv-section);padding-top:var(--ldv-section);border-top:1px solid var(--ldv-line);}
.ldv-about__photo{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--ldv-radius);background:var(--ldv-bg-2);}
.ldv-about__role{font-family:var(--ldv-sans);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:600;color:var(--ldv-meta);margin:0 0 .5rem;}
.ldv-about__name{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h2);letter-spacing:var(--ldv-track);line-height:1.05;margin:0 0 1rem;}
.ldv-about__bio p{font-family:var(--ldv-sans);font-size:1.02rem;line-height:1.7;color:var(--ldv-ink-2);margin:0 0 1em;}
.ldv-about__expertise{list-style:none;padding:0;margin:1.25rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem;}
.ldv-about__expertise li{font-family:var(--ldv-sans);font-size:.8rem;letter-spacing:.03em;color:var(--ldv-ink);
  background:var(--ldv-bg-2);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.4em .9em;}
.ldv-about__social{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.25rem;}
.ldv-about__social a{font-family:var(--ldv-sans);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ldv-ink);border-bottom:1px solid var(--ldv-accent);padding-bottom:2px;}
.ldv-about__social a:hover{color:var(--ldv-accent);}

.ldv-about__principles{margin-top:var(--ldv-section);}
.ldv-about__principles h2{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h3);margin:0 0 1.5rem;}
.ldv-about__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,1rem + 2vw,2.5rem);}
.ldv-about__item-num{display:block;font-family:var(--ldv-display);font-size:1.8rem;line-height:1;color:var(--ldv-accent);margin:0 0 .5rem;}
.ldv-about__item h3{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h5);margin:0 0 .5rem;}
.ldv-about__item p{font-family:var(--ldv-sans);font-size:.95rem;line-height:1.6;color:var(--ldv-ink-2);margin:0;}

@media (max-width:680px){
  .ldv-about__author{grid-template-columns:1fr;}
  .ldv-about__photo{max-width:240px;}
  .ldv-about__grid{grid-template-columns:1fr;gap:1.75rem;}
}

/* ============================================================
   21. EN-TÊTE DE PAGE RÉUTILISABLE (hub guides, 404, recherche)
   ============================================================ */
.ldv-pagehead{max-width:760px;margin:0 auto clamp(2.5rem,2rem + 2vw,4rem);text-align:center;}
.ldv-pagehead__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h1);letter-spacing:var(--ldv-track);line-height:1.05;margin:.4rem 0 0;}
.ldv-pagehead__lead{font-family:var(--ldv-sans);font-size:clamp(1rem,.95rem + .4vw,1.2rem);line-height:1.6;color:var(--ldv-ink-2);margin:1rem 0 0;}

/* ============================================================
   22. WOOCOMMERCE — PANIER / COMMANDE / COMPTE
   ============================================================ */
/* Champs de formulaire Woo (cohérents avec Fluent Forms / fiche produit) */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce #coupon_code{font-family:var(--ldv-sans);font-size:1rem;color:var(--ldv-ink);background:var(--ldv-white);
  border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.7em .9em;}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce #coupon_code:focus{border-color:var(--ldv-accent);outline:none;box-shadow:none;}
.woocommerce form .form-row label{font-family:var(--ldv-sans);font-size:.82rem;font-weight:600;letter-spacing:.03em;color:var(--ldv-meta);}

/* Tableaux (panier, commande, compte) */
.woocommerce table.shop_table{border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);border-collapse:separate;border-spacing:0;}
.woocommerce table.shop_table th{font-family:var(--ldv-sans);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ldv-meta);font-weight:600;}
.woocommerce table.shop_table td{border-top:1px solid var(--ldv-line);color:var(--ldv-ink);}

/* Panier */
.woocommerce-cart-form .product-thumbnail img{width:72px;border-radius:var(--ldv-radius);}
.woocommerce-cart-form .product-name a{font-family:var(--ldv-display);color:var(--ldv-ink);}
.woocommerce-cart-form .product-name a:hover{color:var(--ldv-accent);}
.woocommerce .cart .quantity input.qty{border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.5em;width:4em;text-align:center;color:var(--ldv-ink);}
.woocommerce a.remove{color:var(--ldv-meta);border:1px solid var(--ldv-line);font-weight:400;}
.woocommerce .cart-collaterals .cart_totals > h2{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h3);margin:0 0 1rem;}

/* Checkout */
.woocommerce-checkout #customer_details{margin-bottom:2rem;}
.woocommerce-checkout h3{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h4);}
.woocommerce-checkout #payment{background:var(--ldv-bg-2);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ldv-line);}
.woocommerce-checkout-review-order-table .order-total .amount{font-family:var(--ldv-display);color:var(--ldv-ink);}

/* Mon compte */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);overflow:hidden;}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--ldv-line);margin:0;}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-MyAccount-navigation li a{display:block;padding:.85em 1.1em;font-family:var(--ldv-sans);font-size:.9rem;color:var(--ldv-ink);text-decoration:none;}
.woocommerce-MyAccount-navigation li.is-active a,.woocommerce-MyAccount-navigation li a:hover{background:var(--ldv-bg-2);color:var(--ldv-accent);}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-family:var(--ldv-display);font-weight:500;}

/* ============================================================
   23. 404 + RECHERCHE
   ============================================================ */
/* Formulaire de recherche (global : 404, page sans résultat, widget) */
.search-form,.wp-block-search__inside-wrapper{display:flex;gap:.5rem;max-width:480px;margin-inline:auto;}
.search-form input[type="search"],.wp-block-search__input{flex:1;font-family:var(--ldv-sans);font-size:1rem;color:var(--ldv-ink);
  background:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.7em .9em;}
.search-form input[type="search"]:focus,.wp-block-search__input:focus{border-color:var(--ldv-accent);outline:none;box-shadow:none;}
.search-form button,.wp-block-search__button{font-family:var(--ldv-sans);font-size:.85rem;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;background:var(--ldv-accent);color:var(--ldv-ink);border:1px solid var(--ldv-accent);
  border-radius:var(--ldv-radius);padding:.7em 1.4em;cursor:pointer;transition:background var(--ldv-ease),color var(--ldv-ease);}
.search-form button:hover,.wp-block-search__button:hover{background:var(--ldv-ink);color:var(--ldv-white);}

/* Page résultats de recherche (la grille réutilise la section 15) */
.search-results .page-title,.search .archive-title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h2);text-align:center;margin:0 0 1.5rem;}
.search-no-results .page-content,.search-no-results .entry-content{max-width:560px;margin:0 auto;text-align:center;}
.search-no-results .page-content p{font-family:var(--ldv-sans);color:var(--ldv-ink-2);margin:0 0 1.5rem;}

/* 404 */
.error404 .content-area,.error-404{text-align:center;}
.error-404 .page-title{font-family:var(--ldv-display);font-weight:500;}
.ldv-404__links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.75rem;}
.ldv-404__links a{font-family:var(--ldv-sans);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ldv-ink);
  border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);padding:.7em 1.4em;transition:border-color var(--ldv-ease),color var(--ldv-ease);}
.ldv-404__links a:hover{border-color:var(--ldv-accent);color:var(--ldv-accent);}

/* ============================================================
   24. NEWSLETTER (section Fluent Forms)
   ============================================================ */
.ldv-news{text-align:center;}
.ldv-news__inner{max-width:560px;margin-inline:auto;}
.ldv-news__title{font-family:var(--ldv-display);font-weight:500;font-size:var(--fs-h2);letter-spacing:var(--ldv-track);line-height:1.08;margin:.4rem 0 .8rem;}
.ldv-news__lead{font-family:var(--ldv-sans);font-size:clamp(1rem,.95rem + .4vw,1.15rem);line-height:1.6;color:var(--ldv-ink-2);margin:0 0 1.75rem;}
.ldv-news .fluentform .ff-el-group{margin-bottom:.75rem;text-align:left;}
.ldv-news__note{font-family:var(--ldv-sans);font-size:.8rem;color:var(--ldv-meta);margin:1rem 0 0;}
.ldv-news__note a{color:var(--ldv-meta);border-bottom:1px solid var(--ldv-line);}

/* ============================================================
   25. FICHE PRODUIT — HABILLAGE (Kadence gère les colonnes, pas de re-layout)
   ============================================================ */
/* Layout déterministe : conteneur en BLOC (sinon clear ignoré en flex), colonnes flottantes */
.single-product div.product{display:block;position:relative;}
.single-product div.product::after{content:"";display:table;clear:both;}
.single-product div.product > .woocommerce-product-gallery{float:left;width:48%;margin:0 4% 0 0;position:static;}
.single-product div.product > .summary{float:left;width:48%;margin:0;}
.single-product .woocommerce-product-gallery__image img{border:1px solid var(--ldv-line);}
/* Miniatures : grille propre, alignée sous l'image principale (reset FlexSlider) */
.single-product .woocommerce-product-gallery{overflow:visible;position:relative;}
.single-product .woocommerce-product-gallery .flex-control-thumbs{position:static;left:auto;top:auto;transform:none;float:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:.5rem;width:100%;margin:.7rem 0 0;padding:0;list-style:none;}
.single-product .woocommerce-product-gallery .flex-control-thumbs li{margin:0;padding:0;width:auto;float:none;list-style:none;}
.single-product .woocommerce-product-gallery .flex-control-thumbs img{width:100%;height:auto;display:block;cursor:pointer;}

/* Onglets / avis / produits liés : dégagés, pleine largeur, SOUS les colonnes */
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells{clear:both;float:none;width:100%;margin-top:2.5rem;}
@media (max-width:880px){
  .single-product div.product > .woocommerce-product-gallery,
  .single-product div.product > .summary{float:none;width:100%;margin:0 0 1.5rem;}
}

/* Buy box */
.single-product .price{font-size:clamp(1.4rem,1.1rem + 1vw,1.8rem);margin:0 0 1.25rem;}
.single-product .single_variation_wrap .woocommerce-variation-price .price{font-size:1.5rem;margin:.5rem 0 1rem;}
.single-product table.variations{width:100%;margin:0 0 1.25rem;border:0;}
.single-product table.variations tr{display:block;margin-bottom:1rem;}
.single-product table.variations th,
.single-product table.variations td{display:block;width:100%;text-align:left;padding:0 0 .4rem;border:0;}
.single-product table.variations label{font-family:var(--ldv-sans);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--ldv-meta);}
.single-product table.variations select,
.single-product .variations_form select{width:100%;min-height:48px;appearance:none;-webkit-appearance:none;
  background-color:var(--ldv-white);border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);
  padding:.7em 2.4em .7em .9em;color:var(--ldv-ink);font-size:1rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235C4838' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1em center;}
.single-product .quantity{display:block;margin:0 0 .85rem;}
.single-product .quantity input.qty{height:48px;border:1px solid var(--ldv-line);border-radius:var(--ldv-radius);width:5em;text-align:center;color:var(--ldv-ink);}
.single-product .woocommerce-variation-add-to-cart{display:block;}
.single-product form.cart .single_add_to_cart_button,
.single-product .single_add_to_cart_button{display:block;width:100%;padding:1.1em 2em;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;}

/* Bouton express PayPal masqué sur la fiche (sinon le désactiver dans le plugin PayPal) */
.single-product .ppc-button-wrapper,
.single-product .wc-stripe-product-checkout-container,
.single-product .wc-stripe-paypal-product-checkout-container,
.single-product .ppcp-messages,
.single-product div.paypal-buttons,
.single-product [id^="ppc-button"]{display:none;}

/* ============================================================
   26. MENU MOBILE — tiroir Off Canvas (fond ivoire, texte encre)
   (intègre le correctif fait via CSS additionnel)
   ============================================================ */
#mobile-drawer .drawer-inner,
#mobile-drawer .drawer-content-wrap,
#mobile-drawer .drawer-content,
.popup-drawer .drawer-inner{background-color:var(--ldv-bg);}
#mobile-drawer .mobile-navigation,
#mobile-drawer .menu-container{background:transparent;}
#mobile-drawer .menu-item a,
#mobile-drawer .drawer-header .pop-toggle{color:var(--ldv-ink);}
