:root{
  --cream:#F8F4EC;
  --cream-deep:#EFE7D8;
  --paper:#FCFAF5;
  --ink:#2B2330;
  --ink-soft:#6E6270;
  --ink-faint:#948A96;
  --prune:#4C1E40;
  --prune-light:#7A3A68;
  --prune-pale:#F1E4EC;
  --plum-deep:#1B1220;
  --gold:#A9814A;
  --gold-pale:#EFE3CB;
  --gold-bright:#C9A567;
  --rose:#DCC6C1;
  --rose-line:#E6D8D2;
  --line:#E4DACB;
  --radius-s:3px;
  --radius-m:6px;
  --maxw:1280px;
  --shadow: 0 18px 40px -20px rgba(43,35,48,.25);
  --shadow-lg: 0 40px 80px -30px rgba(27,18,32,.45);
  --ease: cubic-bezier(.22,.61,.36,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
/* Grain de texture — chaleur tactile sur tout le site, très discret */
body::before{
  content:'';
  position:fixed; inset:0; z-index:9000; pointer-events:none;
  opacity:.035; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
h1,h2,h3,h4{
  font-family:'Newsreader',serif;
  font-weight:500;
  line-height:1.12;
  margin:0;
  color:var(--ink);
  letter-spacing:-0.01em;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button{font-family:inherit;cursor:pointer;}

/* Traitement colorimétrique unifié — fait sonner toutes les photos comme un seul shooting */
.hero-media img, .split-media img, .care-card .thumb img, .soin-hero-media img,
.journal-card .thumb img, .article-hero-img img, .hero-medallion img{
  filter:sepia(7%) saturate(112%) contrast(103%) brightness(101%);
}

/* Focus visibility */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}

.container{max-width:var(--maxw); margin-inline:auto; padding-inline:32px;}
@media (max-width:640px){ .container{padding-inline:20px;} }

.eyebrow{
  font-family:'Newsreader',serif;
  font-size:17px;
  font-style:italic;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:var(--gold);
}

/* ===== Skip link ===== */
.skip-link{
  position:absolute; left:-9999px; top:0; background:var(--prune); color:#fff;
  padding:12px 20px; z-index:999; border-radius:0 0 6px 0;
}
.skip-link:focus{left:0;}

/* ===== Header ===== */
.announce{
  background:var(--prune);
  color:var(--cream);
  font-size:12.5px;
  letter-spacing:.08em;
  min-height:40px;
  padding:7px 16px;
}
.announce__inner{width:min(1180px,100%); min-height:26px; margin:auto;}
.announce__inner.has-navigation{display:grid; grid-template-columns:30px minmax(0,1fr) 30px; align-items:center; gap:10px;}
.announce__messages{min-width:0; text-align:center; overflow:hidden;}
.announce__message{display:flex; align-items:center; justify-content:center; color:var(--cream); line-height:1.45; text-decoration:none; opacity:1; transform:translateY(0); transition:opacity .24s ease,transform .24s ease;}
.announce__message[hidden]{display:none;}
.announce__message.is-leaving{opacity:0; transform:translateY(-3px);}
.announce__message.is-entering{opacity:0; transform:translateY(3px);}
.announce__message:is(a):hover,.announce__message:is(a):focus-visible{color:var(--gold-pale);}
.announce__message:is(a):focus-visible{outline:1px solid var(--gold-pale); outline-offset:3px; border-radius:2px;}
.announce__arrow{display:grid; place-items:center; width:28px; height:28px; padding:0; border:0; border-radius:50%; background:transparent; color:var(--gold-pale); cursor:pointer; opacity:.72; transition:opacity .2s ease,background .2s ease,color .2s ease;}
.announce__arrow::before{width:7px; height:7px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; content:"";}
.announce__arrow--previous::before{transform:rotate(-135deg) translate(-1px,1px);}
.announce__arrow--next::before{transform:rotate(45deg) translate(-1px,1px);}
.announce__arrow:hover,.announce__arrow:focus-visible{background:rgba(255,255,255,.1); color:#fff; opacity:1;}
.announce__arrow:focus-visible{outline:1px solid var(--gold-pale); outline-offset:1px;}
@media(prefers-reduced-motion:reduce){.announce__message{transition:none;}}
@media(max-width:640px){
  .announce{font-size:11px; letter-spacing:.04em; padding-inline:8px;}
  .announce__inner.has-navigation{grid-template-columns:25px minmax(0,1fr) 25px; gap:3px;}
  .announce__arrow{width:24px; height:24px;}
}

header.site{
  position:sticky; top:0; z-index:100;
  background:rgba(248,244,236,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-row{
  --nav-rhythm:22px;
  display:flex; align-items:center; justify-content:flex-start; gap:var(--nav-rhythm);
  padding-block:24px;
}
.logo{
  display:flex; align-items:center; gap:10px;
  font-family:'Newsreader',serif; font-size:20px; letter-spacing:.01em;
  flex-shrink:0; margin-right:auto; white-space:nowrap;
}
.logo svg{flex-shrink:0;}
.logo .word{display:flex; flex-direction:column; line-height:1;}
.logo .word b{font-weight:500;}
.logo .word span{font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-faint); font-family:'Inter',sans-serif; margin-top:3px;}

nav.primary{display:flex; gap:var(--nav-rhythm); align-items:center; flex-shrink:0;}
nav.primary a{
  font-size:14px; font-weight:600; color:var(--ink);
  position:relative; padding-block:4px;
  white-space:nowrap;
}
nav.primary a:hover, nav.primary a.active{color:var(--prune);}
nav.primary a.active::after{
  content:''; position:absolute; left:0; right:0; bottom:-3px; height:1px; background:var(--gold);
}

/* Menu déroulant — Soins & Accompagnements */
.nav-item-dropdown{position:relative; padding-bottom:16px; margin-bottom:-16px;}
.nav-item-dropdown > a{display:inline-flex; align-items:center; gap:5px; white-space:nowrap;}
.nav-item-dropdown .chev{transition:transform .25s ease;}
.nav-item-dropdown:hover .chev, .nav-item-dropdown:focus-within .chev{transform:rotate(180deg);}
.nav-dropdown-panel{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(4px);
  min-width:280px; margin-top:0;
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-m);
  box-shadow:var(--shadow-lg);
  padding:10px; display:flex; flex-direction:column; gap:1px;
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .2s ease, transform .2s ease, visibility .2s;
  z-index:50;
}
.nav-item-dropdown:hover .nav-dropdown-panel,
.nav-item-dropdown:focus-within .nav-dropdown-panel{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.nav-dropdown-panel a{
  display:flex; align-items:center; gap:11px;
  padding:10px 12px; border-radius:3px; font-size:13.5px; font-weight:500; color:var(--ink);
  white-space:nowrap;
}
.nav-dropdown-panel a:hover{background:var(--prune-pale); color:var(--prune);}
.nav-dropdown-panel a .dot{width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0;}
.nav-dropdown-panel .sep{height:1px; background:var(--line); margin:6px 4px;}
.nav-dropdown-panel .view-all{color:var(--prune); font-weight:600;}
.nav-actions{display:flex; align-items:center; gap:var(--nav-rhythm); flex-shrink:0;}
.nav-utility{
  display:flex; align-items:center; gap:2px; padding:3px;
  border:1px solid var(--line); border-radius:100px;
  background:rgba(252,250,245,.72);
}
.icon-btn{
  position:relative; box-sizing:border-box; appearance:none;
  width:38px; height:38px; flex:0 0 38px; padding:0;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink-soft); background:transparent; border:0; border-radius:50%;
  cursor:pointer; text-decoration:none;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
.icon-btn:hover{background:var(--prune-pale); color:var(--prune);}
.icon-btn:focus-visible{outline:2px solid var(--gold); outline-offset:1px;}
.icon-btn.active{background:var(--prune); color:#fff;}
.icon-btn svg{display:block; width:18px; height:18px;}
.nav-actions > .btn-primary{min-height:46px; justify-content:center;}
.cart-count{
  position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 5px;
  border-radius:100px; background:var(--prune); color:#fff;
  font:600 10.5px/18px 'Inter',sans-serif; text-align:center;
  opacity:0; transform:scale(.6); transition:opacity .25s var(--ease), transform .25s var(--ease);
}
.cart-count.has-items{opacity:1; transform:none;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:13px 26px; font-size:13.5px; font-weight:600;
  letter-spacing:.03em; border-radius:2px; border:1px solid transparent;
  transition:transform .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-1px);}
.btn-primary{background:var(--prune); color:#fff;}
.btn-primary:hover{background:#3a1730;}
.btn-outline{background:transparent; color:var(--prune); border-color:var(--prune);}
.btn-outline-cream{color:#fff; border-color:rgba(255,255,255,.55);}
.btn-outline-cream:hover{background:#fff; color:var(--prune); border-color:#fff;}
.btn-outline:hover{background:var(--prune); color:#fff;}
.btn-ghost-cream{background:transparent;color:var(--cream);border-color:rgba(248,244,236,.55);}
.btn-ghost-cream:hover{background:var(--cream);color:var(--prune);}
.btn-sm{padding:10px 18px; font-size:12.5px;}

.hamburger{display:none; background:none; border:none; padding:6px;}
.hamburger span{display:block; width:22px; height:2px; background:var(--ink); margin:5px 0; transition:.2s;}

@media (max-width:1220px){
  nav.primary{display:none;}
  .hamburger{display:block;}
  .nav-actions .btn-primary{display:none;}
}
@media (max-width:560px){
  .nav-row{padding-block:16px;}
  .nav-actions{gap:6px;}
  .nav-utility{gap:0; padding:2px;}
  .icon-btn{width:34px; height:34px; flex-basis:34px;}
  .hamburger{padding:4px;}
  .logo{font-size:18px; gap:7px;}
  .logo .word span{font-size:9px;}
}
@media (max-width:400px){
  .logo .word span{display:none;}
  .logo{font-size:16px; gap:5px;}
  .logo svg{width:24px; height:24px;}
  .nav-utility{padding:1px;}
  .icon-btn{width:30px; height:30px; flex-basis:30px;}
  .hamburger span{width:20px;}
}

/* mobile drawer */
.mobile-drawer{
  position:fixed; inset:0; background:var(--prune); color:var(--cream);
  z-index:200; display:flex; flex-direction:column; padding:26px 28px;
  transform:translateX(100%); transition:transform .35s cubic-bezier(.7,0,.2,1);
}
.mobile-drawer.open{transform:translateX(0);}
.mobile-drawer .top{display:flex; justify-content:space-between; align-items:center; margin-bottom:50px;}
.mobile-drawer .close-btn{background:none;border:none;color:var(--cream);}
.mobile-drawer nav{display:flex; flex-direction:column; gap:26px;}
.mobile-drawer nav a{font-family:'Newsreader',serif; font-size:28px; font-weight:400; color:var(--cream);}

.mobile-nav-group{display:flex; flex-direction:column;}
.mobile-nav-toggle{
  background:none; border:none; padding:0; margin:0; text-align:left;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  font-family:'Newsreader',serif; font-size:28px; font-weight:400; color:var(--cream);
}
.mobile-nav-toggle .chev{transition:transform .3s ease; flex-shrink:0; color:var(--gold-bright);}
.mobile-nav-toggle.open .chev{transform:rotate(180deg);}
.mobile-nav-sub{
  display:grid; grid-template-rows:0fr; overflow:hidden;
  transition:grid-template-rows .35s ease;
}
.mobile-nav-sub > *{overflow:hidden;}
.mobile-nav-sub.open{grid-template-rows:1fr;}
.mobile-nav-sub-inner{display:flex; flex-direction:column; gap:16px; padding:18px 0 6px 4px;}
.mobile-nav-sub a{
  font-family:'Inter',sans-serif; font-size:15px; font-weight:500;
  color:rgba(248,244,236,.72);
}
.mobile-drawer .foot{margin-top:auto; display:flex; flex-direction:column; gap:16px;}

/* ===== Signature — Ondes concentriques (bulle / résonance) =====
   L'élément distinctif du site : des cercles concentriques qui évoquent
   à la fois la bulle protectrice de l'accompagnement et la résonance
   vibratoire du travail sonore/énergétique. Utilisé avec parcimonie. */
.ripple-divider{
  display:flex; align-items:center; justify-content:center; gap:16px;
  margin:0 auto; padding-block:6px; opacity:.9;
}
.ripple-divider .stroke{width:44px; height:1px; background:var(--line);}
.ripple-mark{width:20px; height:20px; flex-shrink:0;}
.ripple-mark circle{fill:none; stroke:var(--gold); stroke-width:1;}
.ripple-mark circle.ripple-dot{fill:var(--gold); stroke:none;}

@keyframes ripple-pulse{
  0%{ transform:scale(.85); opacity:.55; }
  70%{ transform:scale(1.35); opacity:0; }
  100%{ transform:scale(1.35); opacity:0; }
}
.ripple-halo{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  pointer-events:none; z-index:0;
}
.ripple-halo .ring{
  position:absolute; border-radius:50%; border:1px solid var(--gold-bright);
  animation:ripple-pulse 5s var(--ease) infinite;
}
.ripple-halo .ring:nth-child(1){width:78%; height:78%; animation-delay:0s;}
.ripple-halo .ring:nth-child(2){width:78%; height:78%; animation-delay:1.6s;}
.ripple-halo .ring:nth-child(3){width:78%; height:78%; animation-delay:3.2s;}
@media (prefers-reduced-motion: reduce){
  .ripple-halo .ring{animation:none; display:none;}
}

/* ===== Sections ===== */
.section{padding-block:96px;}
.section-tight{padding-block:64px;}
@media (max-width:760px){ .section{padding-block:64px;} .section-tight{padding-block:44px;} }
.section-alt{background:var(--cream-deep);}
.section-prune{background:var(--prune); color:var(--cream);}
.section-header{max-width:640px; margin-bottom:52px;}
.section-header.center{margin-inline:auto; text-align:center;}
.section-header h2{font-size:clamp(28px,3.4vw,42px); margin-top:14px;}
.section-header p.lead{margin-top:16px; color:var(--ink-soft); font-size:17px; line-height:1.7;}

/* ===== Hero — le portail : champ prune + arche monumentale =====
   Le texte vit sur un aplat, jamais sur la photo : lisibilité garantie
   quelle que soit l'image. L'arche passe à l'échelle architecturale. */
.hero{
  position:relative; overflow:hidden;
  min-height:100vh; background:var(--plum-deep);
  display:grid; grid-template-columns:1.02fr .98fr; align-items:center;
}
.hero::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(70% 60% at 12% 30%, rgba(122,58,104,.42), transparent 70%),
    radial-gradient(50% 50% at 90% 80%, rgba(169,129,74,.16), transparent 70%);
}
.hero-spotlight{
  position:absolute; inset:0; z-index:1; pointer-events:none; opacity:0; transition:opacity .5s ease;
  background:radial-gradient(560px circle at var(--mx,50%) var(--my,50%), rgba(201,165,103,.14), transparent 62%);
}
.hero:hover .hero-spotlight{opacity:1;}

.hero-inner{
  position:relative; z-index:3;
  padding:120px 56px 150px 0;
  display:flex; justify-content:flex-end;
}
.hero-copy{
  display:flex; flex-direction:column; gap:26px; max-width:560px; width:100%;
}
.hero-copy .eyebrow{color:var(--gold-bright); font-size:19px;}
.hero-copy h1{
  font-size:clamp(44px,5.4vw,76px); font-weight:300; color:#FBF7F0;
  line-height:1.04; letter-spacing:-.015em; text-wrap:balance;
}
.hero-copy h1 em{font-style:italic; color:var(--gold-bright); font-weight:400;}
.hero-copy .sub{
  font-size:17.5px; color:rgba(248,244,236,.72); max-width:440px; line-height:1.75;
  padding-left:20px; border-left:1px solid rgba(201,165,103,.45);
}
.hero-cta{display:flex; gap:14px; flex-wrap:wrap; margin-top:10px;}

/* L'arche monumentale — on regarde Aïcha à travers un seuil */
.hero-portal{
  position:relative; z-index:2; height:100%;
  display:flex; align-items:flex-end; justify-content:center;
  padding:0 20px 0 0;
}
.hero-portal .arch{
  position:relative; z-index:2; width:min(100%, 620px); height:88vh; max-height:900px;
  border-radius:1000px 1000px 0 0; overflow:hidden;
  box-shadow:0 -30px 90px -30px rgba(0,0,0,.55);
}
.hero-portal .arch::after{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  border:1px solid rgba(201,165,103,.5);
  border-bottom:none;
}
.hero-portal .arch img{width:100%; height:100%; object-fit:cover; object-position:56% 20%;}
.hero-portal .halo{
  position:absolute; left:50%; bottom:-6%; transform:translateX(-50%);
  width:min(120%, 660px); aspect-ratio:1; border-radius:50%;
  border:1px solid rgba(201,165,103,.2); z-index:1; pointer-events:none;
}
.hero-portal .halo::before{
  content:''; position:absolute; inset:9%; border-radius:50%; border:1px solid rgba(201,165,103,.13);
}

.hero-copy .eyebrow, .hero-copy h1, .hero-copy .sub, .hero-cta, .hero-portal .arch{
  opacity:0; animation:hero-rise 1s var(--ease) forwards;
}
.hero-copy .eyebrow{animation-delay:.15s;}
.hero-copy h1{animation-delay:.28s;}
.hero-copy .sub{animation-delay:.46s;}
.hero-cta{animation-delay:.6s;}
.hero-portal .arch{animation-delay:.1s; animation-name:arch-rise;}
@keyframes hero-rise{
  from{opacity:0; transform:translateY(18px);}
  to{opacity:1; transform:none;}
}
@keyframes arch-rise{
  from{opacity:0; transform:translateY(40px);}
  to{opacity:1; transform:none;}
}
@media (prefers-reduced-motion: reduce){
  .hero-copy .eyebrow, .hero-copy h1, .hero-copy .sub, .hero-cta, .hero-portal .arch{animation:none; opacity:1;}
}

.hero .play{
  position:absolute; right:40px; top:40px; z-index:4;
  display:flex; align-items:center; gap:12px;
  background:rgba(27,18,32,.42); backdrop-filter:blur(8px);
  border:1px solid rgba(248,244,236,.26);
  padding:8px 18px 8px 8px; border-radius:100px;
}
.play .circle{
  width:36px; height:36px; border-radius:50%; background:var(--gold-bright); color:var(--plum-deep);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.play span{font-size:12.5px; font-weight:600; color:#fff; letter-spacing:.02em;}

@media (max-width:1080px){
  .hero{grid-template-columns:1fr; min-height:auto;}
  .hero-inner{padding:40px 24px 40px; justify-content:flex-start;}
  .hero-copy{max-width:none;}
  .hero-portal{padding:0; justify-content:center;}
  .hero-portal .arch{height:auto; aspect-ratio:3/4; width:min(86%, 460px); max-height:none;}
  .hero .play{
    position:static; margin:0 24px 30px; align-self:flex-start;
    display:inline-flex; width:fit-content; order:3;
  }
  .hero{display:flex; flex-direction:column;}
  .hero-inner{order:2;}
  .hero-portal{order:4;}
}

/* Bande de confiance — posée sur le seuil du hero, sans caisson */
.hero-trust-card{
  position:relative; z-index:3;
  margin:-70px 32px 0; max-width:1120px;
  margin-inline:auto;
}
.hero-trust-card .inner{
  background:var(--paper);
  border-radius:220px;
  box-shadow:0 30px 70px -34px rgba(43,35,48,.42);
  display:flex; align-items:stretch; flex-wrap:wrap;
  padding:6px 18px;
}
.trust-cell{
  flex:1; min-width:210px; display:flex; align-items:center; justify-content:center; gap:13px;
  padding:24px 22px; border-right:1px solid var(--line); text-align:left;
}
.trust-cell:last-child{border-right:none;}
.trust-cell svg{color:var(--gold); flex-shrink:0;}
.trust-cell b{display:block; font-family:'Newsreader',serif; font-size:17px; font-weight:500; color:var(--prune);}
.trust-cell span{font-size:12.5px; color:var(--ink-soft);}
@media (max-width:760px){
  .hero-trust-card{margin-top:-44px;}
  .hero-trust-card .inner{border-radius:28px; padding:8px 10px;}
  .trust-cell{border-right:none; border-bottom:1px solid var(--line); min-width:100%; padding:18px 20px; justify-content:flex-start;}
  .trust-cell:last-child{border-bottom:none;}
}

@media (max-width:900px){
  .hero{min-height:92vh; align-items:flex-end;}
  .hero-inner{padding:0 20px 132px;}
  .hero-copy .sub{max-width:none;}
  .hero-media .play{left:20px; top:20px;}
}

/* Trust strip */
.trust-strip{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--paper);
}
.trust-row{
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding-block:22px; flex-wrap:wrap;
}
.trust-item{display:flex; align-items:center; gap:10px; font-size:13.5px; color:var(--ink-soft);}
.trust-item svg{color:var(--gold); flex-shrink:0;}

/* ===== Pillars ===== */
.pillars{display:grid; grid-template-columns:repeat(4,1fr); gap:0; background:transparent; border:none;}
.pillar{
  background:transparent; padding:10px 34px; text-align:center;
  border-right:1px solid var(--line); position:relative;
}
.pillar:last-child{border-right:none;}
.pillar .num{font-family:'Newsreader',serif; font-size:14px; color:var(--gold); font-style:italic; display:block;}
.pillar .icon-orb{
  width:64px; height:64px; margin:18px auto 20px; border-radius:50%;
  background:var(--prune-pale); display:flex; align-items:center; justify-content:center;
  color:var(--prune); transition:background .35s var(--ease), transform .35s var(--ease);
}
.pillar:hover .icon-orb{background:var(--gold-pale); transform:translateY(-4px);}
.pillar svg{margin:0; color:inherit;}
.pillar h3{font-size:20px; margin-bottom:9px;}
.pillar p{font-size:14.5px; color:var(--ink-soft); line-height:1.7;}
@media (max-width:760px){
  .pillars{grid-template-columns:1fr 1fr; row-gap:44px;}
  .pillar:nth-child(2n){border-right:none;}
}
@media (max-width:480px){
  .pillars{grid-template-columns:1fr; row-gap:38px;}
  .pillar{border-right:none;}
}

/* ===== About split ===== */
.split{display:grid; grid-template-columns:.85fr 1fr; gap:72px; align-items:center;}
.split.reverse{grid-template-columns:1fr .85fr;}
.split.reverse .split-media{order:2;}
.split-media{position:relative;}
.split-media img{
  border-radius:1000px 1000px 8px 8px; position:relative; z-index:1;
  box-shadow:0 34px 64px -34px rgba(43,35,48,.45);
}
.split-media .ripple-halo{inset:-34px; z-index:0;}
.split-media .frame{display:none;}
.split-copy h2{font-size:clamp(26px,3vw,36px); margin-top:12px; margin-bottom:20px;}
.split-copy p{color:var(--ink-soft); margin-bottom:16px; font-size:16px;}
.split-copy p:last-of-type{margin-bottom:0;}
@media (max-width:860px){
  .split, .split.reverse{grid-template-columns:1fr; gap:36px;}
  .split.reverse .split-media{order:0;}
  .split-media{margin-inline:10px;}
}
/* Le halo débordait de 4 px sur petit écran : 20 px de conteneur + 10 px de
   marge du média − 34 px d'inset = −4 px, d'où un défilement horizontal
   parasite sur toutes les pages utilisant .split. */
@media (max-width:640px){
  .split-media .ripple-halo{inset:-18px;}
}

/* ===== Care / soins — niches en arche, posées, pas encadrées ===== */
.care-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:52px 36px;}
@media (max-width:900px){ .care-grid{grid-template-columns:1fr 1fr; gap:44px 28px;} }
@media (max-width:620px){ .care-grid{grid-template-columns:1fr; gap:48px;} }
/* Décalage vertical : brise l'alignement mécanique de la grille */
.care-grid > *:nth-child(3n+2){transform:translateY(30px);}
.care-grid > *:nth-child(3n+3){transform:translateY(-14px);}
@media (max-width:900px){
  .care-grid > *:nth-child(3n+2), .care-grid > *:nth-child(3n+3){transform:none;}
  .care-grid > *:nth-child(2n){transform:translateY(24px);}
}
@media (max-width:620px){ .care-grid > *{transform:none !important;} }

.care-card{
  background:transparent; border:none; border-radius:0;
  display:flex; flex-direction:column;
  transition:transform .4s var(--ease);
}
.care-card:hover{transform:translateY(-6px);}
/* L'arche — forme maîtresse du site : une niche, un seuil, pas une boîte */
.care-card .thumb{
  aspect-ratio:3/4; position:relative; overflow:hidden;
  border-radius:1000px 1000px 6px 6px;
  box-shadow:0 24px 50px -28px rgba(43,35,48,.4);
}
.care-card .thumb::after{
  content:''; position:absolute; inset:0; border-radius:inherit;
  border:1px solid rgba(169,129,74,.32); pointer-events:none;
}
.care-card .thumb img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--ease);}
.care-card:hover .thumb img{transform:scale(1.05);}
.care-card .tag{
  position:absolute; top:20px; left:50%; transform:translateX(-50%);
  background:rgba(248,244,236,.94); backdrop-filter:blur(4px);
  padding:5px 14px; font-family:'Newsreader',serif; font-style:italic; font-size:12.5px;
  letter-spacing:0; text-transform:none; font-weight:400; color:var(--prune);
  border-radius:100px; white-space:nowrap;
}
.care-card .body{padding:22px 4px 0; display:flex; flex-direction:column; gap:9px; flex:1; text-align:center;}
.care-card h3{font-size:21px;}
.care-card p{font-size:14.5px; color:var(--ink-soft); line-height:1.7;}
.care-card .meta{
  display:flex; align-items:center; justify-content:center; gap:16px;
  font-family:'Newsreader',serif; font-style:italic; font-size:14px; color:var(--gold);
  margin-top:auto; padding-top:12px; border-top:none;
}
.care-card .meta span{display:flex; align-items:center; gap:5px;}
.care-card .link-row{display:flex; align-items:center; justify-content:center; margin-top:6px;}
.arrow-link{display:inline-flex; align-items:center; gap:7px; font-size:13.5px; font-weight:600; color:var(--prune); position:relative; padding-bottom:3px;}
.arrow-link::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease);
}
.care-card:hover .arrow-link::after{transform:scaleX(1);}
.arrow-link svg{transition:transform .25s var(--ease);}
.care-card:hover .arrow-link svg{transform:translateX(4px);}

/* ===== Témoignages — cartes posées sur une table, pas alignées ===== */
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; position:relative; z-index:1;}
@media (max-width:860px){ .testi-grid{grid-template-columns:1fr; gap:24px;} }
.testi-card{
  background:var(--paper); border:1px solid var(--line); padding:34px 30px 30px;
  border-radius:3px;
  box-shadow:0 14px 34px -22px rgba(43,35,48,.35);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.testi-card:nth-child(1){transform:rotate(-1.2deg);}
.testi-card:nth-child(2){transform:rotate(.6deg) translateY(14px);}
.testi-card:nth-child(3){transform:rotate(1.4deg) translateY(-6px);}
.testi-card:hover{transform:rotate(0deg) translateY(-6px); box-shadow:0 26px 48px -24px rgba(43,35,48,.4); z-index:2;}
@media (max-width:860px){
  .testi-card:nth-child(1), .testi-card:nth-child(2), .testi-card:nth-child(3){transform:none;}
}
.testi-card .quote-mark{font-family:'Newsreader',serif; font-size:52px; color:var(--gold-bright); line-height:.7; display:block; margin-bottom:14px; font-style:italic;}
.testi-card p{color:var(--ink); line-height:1.75; margin-bottom:22px; font-family:'Newsreader',serif; font-weight:400; font-size:16.5px;}
.testi-card .who{display:flex; align-items:center; gap:12px;}
.testi-card .avatar{width:38px;height:38px;border-radius:50%;background:var(--prune-pale); display:flex;align-items:center;justify-content:center; font-family:'Newsreader',serif; color:var(--prune); font-size:14px;}
.testi-card .who b{font-size:13.5px; display:block; font-family:'Inter',sans-serif; font-weight:600;}
.testi-card .who span{font-size:12px; color:var(--ink-faint);}
.testi-section{position:relative; overflow:hidden;}
.testi-section .ripple-halo{inset:auto; top:50%; left:50%; width:640px; height:640px; transform:translate(-50%,-50%); opacity:.5;}
.testi-section .ripple-halo .ring{border-color:var(--gold);}

/* ===== Journal preview ===== */
.journal-grid{display:grid; grid-template-columns:1.15fr .85fr .85fr; gap:28px;}
@media (max-width:900px){ .journal-grid{grid-template-columns:1fr; gap:28px;} }
.journal-card{display:flex; flex-direction:column; gap:16px;}
.journal-card .thumb{
  aspect-ratio:16/11; overflow:hidden;
  border-radius:180px 180px 6px 6px;
  box-shadow:0 20px 44px -26px rgba(43,35,48,.4);
}
.journal-card.featured .thumb{aspect-ratio:16/12;}
.journal-card .thumb img{width:100%;height:100%;object-fit:cover; transition:transform .7s var(--ease);}
.journal-card:hover .thumb img{transform:scale(1.045);}
.journal-card .cat{font-family:'Newsreader',serif; font-style:italic; font-size:14.5px; letter-spacing:0; text-transform:none; color:var(--gold); font-weight:400;}
.journal-card h3{font-size:20px; margin-top:8px;}
.journal-card.featured h3{font-size:26px;}
.journal-card p{font-size:14.5px; color:var(--ink-soft); margin-top:8px; line-height:1.6;}
.journal-card .date{font-size:12.5px; color:var(--ink-faint); margin-top:12px;}

/* ===== CTA band ===== */
.cta-band{
  background:var(--prune); color:var(--cream); text-align:center;
  padding:70px 32px; position:relative; overflow:hidden;
}
.cta-band h2{color:#fff; font-size:clamp(26px,3.2vw,38px); max-width:720px; margin-inline:auto;}
.cta-band .sub{color:var(--rose-line); margin-top:14px; font-size:15.5px;}
.cta-band .row{display:flex; gap:16px; justify-content:center; margin-top:32px; flex-wrap:wrap;}

/* ===== Newsletter ===== */
.newsletter{background:var(--cream-deep);}
.nl-row{display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.nl-copy{max-width:420px;}
.nl-copy .eyebrow{color:var(--gold);}
.nl-copy h3{font-size:24px; margin-top:10px;}
.nl-copy p{color:var(--ink-soft); margin-top:10px; font-size:14.5px;}
.nl-form{display:block; flex:1; min-width:420px; max-width:650px;}
.nl-form :is(.wpcf7,form){width:100%;}
.clochette-newsletter-form{display:grid; gap:17px;}
.clochette-newsletter-fields{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:12px;}
.clochette-newsletter-field{display:grid; gap:7px; color:var(--ink-soft); font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;}
.clochette-newsletter-field .wpcf7-form-control-wrap{display:block;}
.nl-form input.newsletter-input{
  display:block; width:100%; min-height:52px; padding:14px 16px;
  border:1px solid var(--line); border-radius:2px; background:rgba(252,250,245,.88);
  color:var(--ink); font:400 14px 'Inter',sans-serif; letter-spacing:0; text-transform:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.nl-form input.newsletter-input::placeholder{color:var(--ink-faint); opacity:.82;}
.nl-form input.newsletter-input:focus{outline:none; border-color:var(--gold); background:var(--paper); box-shadow:0 0 0 3px rgba(169,129,74,.13);}
.clochette-newsletter-footer{display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:18px; align-items:center; position:relative;}
.clochette-newsletter-consent .wpcf7-list-item{margin:0;}
.clochette-newsletter-consent label{display:grid; grid-template-columns:17px minmax(0,1fr); gap:10px; align-items:start; cursor:pointer;}
.clochette-newsletter-consent input[type="checkbox"]{width:17px; height:17px; margin:2px 0 0; accent-color:var(--prune);}
.clochette-newsletter-consent .wpcf7-list-item-label{color:var(--ink-soft); font-size:12.5px; line-height:1.5;}
.nl-form input.newsletter-submit{
  appearance:none; min-height:50px; padding:0 25px; border:1px solid var(--prune); border-radius:2px;
  background:var(--prune); color:#fff; font:600 12.5px 'Inter',sans-serif; letter-spacing:.02em;
  cursor:pointer; transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.nl-form input.newsletter-submit:hover{background:var(--prune-light); border-color:var(--prune-light); transform:translateY(-1px);}
.nl-form input.newsletter-submit:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.nl-form .wpcf7-not-valid-tip{margin-top:6px; color:#7D284D; font-size:12px; font-weight:500; letter-spacing:0; text-transform:none;}
.nl-form .wpcf7-response-output{margin:14px 0 0!important; padding:10px 13px!important; border:1px solid var(--line)!important; color:var(--ink-soft); font-size:12.5px; line-height:1.5;}
.nl-form .wpcf7-spinner{
  position:absolute; inset-inline-end:0; top:calc(100% + 8px); margin:0;
}
@media(max-width:760px){
  .nl-form{width:100%; min-width:0; max-width:none;}
  .clochette-newsletter-fields,.clochette-newsletter-footer{grid-template-columns:1fr;}
  .nl-form input.newsletter-submit{width:100%;}
}

/* ===== Footer ===== */
/* ===== Pages légales ===== */
.legal-wrap{max-width:820px; margin-inline:auto;}
.legal-wrap h2{font-size:24px; margin:40px 0 14px; padding-top:18px; border-top:1px solid var(--line);}
.legal-wrap h2:first-child{margin-top:0; padding-top:0; border-top:none;}
.legal-wrap h3{font-size:18px; margin:24px 0 10px; color:var(--prune);}
.legal-wrap p, .legal-wrap li{color:var(--ink-soft); font-size:15.5px; line-height:1.75;}
.legal-wrap p{margin-bottom:14px;}
.legal-wrap ul{margin:0 0 16px; padding-left:20px;}
.legal-wrap li{margin-bottom:7px;}
.legal-wrap a{color:var(--prune); text-decoration:underline; text-underline-offset:3px;}
.legal-updated{font-size:13.5px; color:var(--ink-faint); font-style:italic; margin-bottom:34px;}
/* Champ à compléter avant mise en ligne — volontairement très visible */
.todo{
  background:#FFF2C9; color:#7A5A00; border-bottom:2px solid #E0B200;
  padding:1px 6px; border-radius:3px; font-weight:600; font-size:.94em;
}
.legal-table{width:100%; border-collapse:collapse; margin:6px 0 22px; font-size:14px;}
.legal-table th, .legal-table td{text-align:left; padding:11px 12px; border-bottom:1px solid var(--line); vertical-align:top;}
.legal-table th{font-family:'Newsreader',serif; font-weight:500; color:var(--prune); font-size:15px;}
.legal-table td{color:var(--ink-soft);}
.legal-table tr:last-child td{border-bottom:none;}
@media (max-width:640px){
  .legal-table, .legal-table tbody, .legal-table tr, .legal-table td{display:block; width:100%;}
  .legal-table thead{display:none;}
  .legal-table tr{border-bottom:1px solid var(--line); padding:10px 0;}
  .legal-table td{border:none; padding:3px 0;}
  .legal-table td::before{content:attr(data-l) " : "; font-weight:600; color:var(--prune);}
}

/* Formulaire légal de rétractation — l’extension fournit le parcours et le
   thème reprend entièrement sa présentation sans modifier son fonctionnement. */
.legal-wrap .wcroweu{max-width:none;}
.legal-wrap .wcroweu .wcroweu-header{margin:0 0 28px;padding:0 0 24px;border-bottom:1px solid var(--line);}
.legal-wrap .wcroweu .wcroweu-header h2{
  margin:0 0 10px;padding:0;border:0;color:var(--gold);
  font:700 11.5px/1.2 'Inter',sans-serif;letter-spacing:.14em;text-transform:uppercase;
}
.legal-wrap .wcroweu .wcroweu-header p{max-width:700px;margin:0;color:var(--ink-soft);font-size:15px;line-height:1.7;}
.legal-wrap .wcroweu .wcroweu-return-cost{
  display:flex;align-items:center;gap:7px;margin:15px 0 0!important;padding:10px 13px;
  border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:2px;
  background:var(--gold-pale);color:var(--ink-soft)!important;font-size:13px!important;line-height:1.45!important;
}
.legal-wrap .wcroweu .wcroweu-return-cost strong{color:var(--prune);}
.legal-wrap .wcroweu .wcroweu-form{gap:20px;}
.legal-wrap .wcroweu .wcroweu-panel{
  padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--paper);
  box-shadow:0 16px 42px rgba(76,30,64,.07);
}
.legal-wrap .wcroweu .wcroweu-step{gap:15px;margin:0 0 22px;align-items:flex-start;}
.legal-wrap .wcroweu .wcroweu-step>span{
  width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:var(--prune);color:var(--gold-pale);
  font:600 17px/1 'Newsreader',serif;box-shadow:0 0 0 4px var(--prune-pale);
}
.legal-wrap .wcroweu .wcroweu-step h3{
  margin:1px 0 5px;color:var(--prune);font:500 22px/1.15 'Newsreader',serif;
}
.legal-wrap .wcroweu .wcroweu-step p{margin:0;color:var(--ink-soft);font-size:13.5px;line-height:1.55;}
.legal-wrap .wcroweu label{gap:8px;color:var(--ink);font-weight:600;}
.legal-wrap .wcroweu :is(input,textarea,select){
  min-height:50px;padding:13px 14px;border:1px solid var(--line);border-radius:2px;
  background:#fff;color:var(--ink);font:inherit;
}
.legal-wrap .wcroweu :is(input,textarea,select):focus{
  border-color:var(--gold);box-shadow:0 0 0 3px rgba(169,129,74,.14);outline:0;
}
.legal-wrap .wcroweu :is(input,textarea)::placeholder{color:var(--ink-faint);opacity:1;}
.legal-wrap .wcroweu input[type="checkbox"]{min-height:18px;padding:0;border-radius:2px;accent-color:var(--prune);}
.legal-wrap .wcroweu .wcroweu-button{
  min-height:48px;padding:13px 24px;border:1px solid var(--prune);border-radius:2px;
  background:var(--prune);color:#fff;font:600 13.5px/1.2 'Inter',sans-serif;
  letter-spacing:.02em;text-transform:none;transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.legal-wrap .wcroweu .wcroweu-button:hover{border-color:var(--prune-light);background:var(--prune-light);color:#fff;transform:translateY(-1px);}
.legal-wrap .wcroweu .wcroweu-button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.legal-wrap .wcroweu .wcroweu-button-primary{min-width:260px;text-transform:none;}
.legal-wrap .wcroweu :is(.wcroweu-order-card,.wcroweu-item-card,.wcroweu-type-summary,.wcroweu-empty){
  border-color:var(--line);border-radius:6px;background:var(--cream);
}
.legal-wrap .wcroweu :is(.wcroweu-order-main strong,.wcroweu-item-main strong,.wcroweu-item-price,.wcroweu-type-summary span){color:var(--prune);}
.legal-wrap .wcroweu :is(.wcroweu-order-main small,.wcroweu-item-main small,.wcroweu-lookup-status,.wcroweu-empty){color:var(--ink-soft);}
.legal-wrap .wcroweu .wcroweu-acceptance{color:var(--ink-soft);font-weight:400;line-height:1.55;}
.legal-wrap .wcroweu .wcroweu-notice{border-radius:2px;}
@media(max-width:720px){
  .legal-wrap .wcroweu .wcroweu-header{margin-bottom:22px;padding-bottom:20px;}
  .legal-wrap .wcroweu .wcroweu-panel{padding:22px 18px;border-radius:8px;}
  .legal-wrap .wcroweu .wcroweu-step h3{font-size:20px;}
  .legal-wrap .wcroweu .wcroweu-button,.legal-wrap .wcroweu .wcroweu-button-primary{width:100%;min-width:0;}
}

/* ===== Bandeau cookies ===== */
.cookie-banner{
  position:fixed; left:0; right:0; bottom:0; z-index:500;
  background:var(--plum-deep); color:var(--cream);
  border-top:1px solid rgba(201,165,103,.35);
  box-shadow:0 -18px 50px -26px rgba(0,0,0,.7);
  transform:translateY(110%); transition:transform .45s var(--ease);
}
.cookie-banner.open{transform:none;}
.cookie-inner{
  max-width:var(--maxw); margin-inline:auto; padding:26px 32px;
  display:flex; align-items:center; gap:32px; flex-wrap:wrap;
}
.cookie-text{flex:1 1 420px; min-width:280px;}
.cookie-text b{
  display:block; font-family:'Newsreader',serif; font-weight:400; font-size:19px;
  color:#fff; margin-bottom:7px;
}
.cookie-text p{font-size:14px; color:rgba(248,244,236,.72); line-height:1.65; margin:0;}
.cookie-text a{color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px;}
.cookie-acts{display:flex; gap:10px; flex-wrap:wrap; flex-shrink:0;}
/* Refuser et Accepter ont exactement le même poids visuel (exigence CNIL) */
.cookie-acts .btn{min-width:132px; justify-content:center;}
.btn-consent{
  background:var(--cream); color:var(--plum-deep); border:1px solid var(--cream);
}
.btn-consent:hover{background:#fff; border-color:#fff;}
.btn-consent-alt{
  background:transparent; color:var(--cream); border:1px solid rgba(248,244,236,.45);
}
.btn-consent-alt:hover{border-color:var(--cream); background:rgba(248,244,236,.08);}
.cookie-link{
  background:none; border:none; color:rgba(248,244,236,.62); font-size:13px;
  text-decoration:underline; text-underline-offset:3px; padding:0 4px; align-self:center;
}
.cookie-link:hover{color:var(--cream);}
@media (max-width:820px){ .cookie-inner{padding:22px 20px; gap:18px;} .cookie-acts .btn{flex:1 1 auto;} }

/* ===== Panneau de préférences ===== */
.consent-modal{
  position:fixed; inset:0; z-index:520; background:rgba(15,9,18,.78); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:28px;
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s;
}
.consent-modal.open{opacity:1; visibility:visible;}
.consent-card{
  background:var(--paper); border-radius:var(--radius-m); width:100%; max-width:640px;
  max-height:86vh; overflow-y:auto; box-shadow:0 40px 90px -34px rgba(0,0,0,.6);
  transform:translateY(14px); transition:transform .35s var(--ease);
}
.consent-modal.open .consent-card{transform:none;}
.consent-head{padding:30px 32px 20px; border-bottom:1px solid var(--line);}
.consent-head h3{font-size:24px;}
.consent-head p{font-size:14.5px; color:var(--ink-soft); line-height:1.7; margin-top:10px;}
.consent-body{padding:8px 32px 4px;}
.consent-row{padding:22px 0; border-bottom:1px solid var(--line); display:flex; gap:20px; align-items:flex-start;}
.consent-row:last-child{border-bottom:none;}
.consent-row .info{flex:1;}
.consent-row h4{font-size:17px; margin-bottom:6px;}
.consent-row p{font-size:14px; color:var(--ink-soft); line-height:1.65;}
.consent-row .tools{font-size:12.5px; color:var(--ink-faint); margin-top:8px; font-style:italic;}
.switch{position:relative; width:48px; height:27px; flex-shrink:0; margin-top:4px;}
.switch input{opacity:0; width:0; height:0;}
.switch .track{
  position:absolute; inset:0; background:var(--line); border-radius:100px;
  transition:background .25s ease; cursor:pointer;
}
.switch .track::before{
  content:''; position:absolute; top:3px; left:3px; width:21px; height:21px;
  background:#fff; border-radius:50%; transition:transform .25s var(--ease);
  box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.switch input:checked + .track{background:var(--prune);}
.switch input:checked + .track::before{transform:translateX(21px);}
.switch input:disabled + .track{background:var(--gold-pale); cursor:not-allowed; opacity:.75;}
.consent-foot{
  padding:20px 32px 28px; display:flex; gap:10px; flex-wrap:wrap;
  border-top:1px solid var(--line); background:var(--cream); border-radius:0 0 var(--radius-m) var(--radius-m);
}
.consent-foot .btn{flex:1 1 auto; justify-content:center; min-width:150px;}
@media (max-width:560px){ .consent-head, .consent-body, .consent-foot{padding-left:22px; padding-right:22px;} }

footer.site{background:var(--ink); color:#EDE7DD; padding-top:72px;}
.footer-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(237,231,221,.14);}
@media (max-width:820px){ .footer-grid{grid-template-columns:1fr 1fr; row-gap:36px;} }
@media (max-width:520px){ .footer-grid{grid-template-columns:1fr;} }
.footer-brand .logo{color:#fff;}
.footer-brand p{margin-top:16px; color:#B7ADB3; font-size:14px; max-width:280px; line-height:1.65;}
.footer-social{display:flex; gap:12px; margin-top:22px;}
.footer-social a{
  width:36px; height:36px; border:1px solid rgba(237,231,221,.24); border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:#EDE7DD;
  transition:background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}
.footer-social svg{display:block; width:17px; height:17px; fill:currentColor;}
.footer-social a:hover{background:var(--gold); border-color:var(--gold); color:var(--ink); transform:translateY(-2px);}
.footer-social a:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.foot-col h4{font-family:'Newsreader',serif; font-style:italic; font-size:16px; letter-spacing:0; text-transform:none; font-weight:400; color:var(--gold); margin-bottom:18px;}
.foot-col a, .foot-col p{display:block; color:#CFC7CB; font-size:14px; margin-bottom:12px;}
.foot-col a:hover{color:#fff;}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding:26px 0 34px; flex-wrap:wrap; gap:12px; font-size:12.5px; color:#8E8590;}
.footer-bottom a{color:#8E8590;}
.footer-bottom a:hover{color:#fff;}

/* WhatsApp float — kept subtle, on-brand, doesn't collide with footer */
/* ===== Lightbox vidéo ===== */
.video-modal{
  position:fixed; inset:0; z-index:400;
  background:rgba(15,9,18,.9); backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center; padding:32px;
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s;
}
.video-modal.open{opacity:1; visibility:visible;}
.video-frame{
  width:100%; max-width:1000px;
  transform:translateY(14px); transition:transform .4s var(--ease);
}
.video-modal.open .video-frame{transform:none;}
.video-ratio{
  position:relative; width:100%; aspect-ratio:16/9;
  background:#000; border-radius:8px; overflow:hidden;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.7);
  border:1px solid rgba(201,165,103,.28);
}
.video-ratio iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.video-caption{
  margin-top:16px; text-align:center; font-size:13.5px; color:rgba(248,244,236,.66);
}
.video-caption a{color:var(--gold-bright); text-decoration:underline; text-underline-offset:3px;}
.video-close{
  position:absolute; top:24px; right:28px; z-index:2;
  width:46px; height:46px; border-radius:50%;
  background:rgba(248,244,236,.1); border:1px solid rgba(248,244,236,.3); color:#fff;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s ease;
}
.video-close:hover{background:rgba(248,244,236,.22);}
@media (max-width:640px){
  .video-modal{padding:20px;}
  .video-close{top:14px; right:16px; width:40px; height:40px;}
}

.wa-float{
  position:fixed; right:24px; bottom:24px; z-index:150;
  width:52px; height:52px; border-radius:50%; background:var(--prune); color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 24px -8px rgba(0,0,0,.4);
}
.wa-float:hover{background:#3a1730;}

/* ===== Page header (interior pages) ===== */
/* ===== En-tête des pages intérieures — même langage que le hero d'accueil :
   champ prune + arche, à échelle réduite. */
.page-portal{
  position:relative; overflow:hidden; background:var(--plum-deep);
  display:grid; grid-template-columns:1.05fr .95fr; align-items:center;
  min-height:62vh;
}
.page-portal::before{
  content:''; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(70% 70% at 14% 34%, rgba(122,58,104,.4), transparent 70%),
    radial-gradient(52% 52% at 92% 84%, rgba(169,129,74,.14), transparent 70%);
}
.page-portal-inner{
  position:relative; z-index:2;
  padding:96px 52px 96px 0; display:flex; justify-content:flex-end;
}
.page-portal-copy{display:flex; flex-direction:column; gap:20px; max-width:540px; width:100%;}
.page-portal .eyebrow-row{display:flex; align-items:center; gap:10px;}
.page-portal .eyebrow-row .ripple-mark{width:17px; height:17px;}
.page-portal .eyebrow{color:var(--gold-bright); font-size:18px;}
.page-portal h1{
  font-size:clamp(34px,4.4vw,56px); font-weight:300; color:#FBF7F0;
  line-height:1.06; letter-spacing:-.015em; text-wrap:balance;
}
.page-portal h1 em{font-style:italic; color:var(--gold-bright); font-weight:400;}
.page-portal .sub{
  font-size:16.5px; color:rgba(248,244,236,.72); max-width:440px; line-height:1.75;
  padding-left:18px; border-left:1px solid rgba(201,165,103,.45);
}
.page-portal .breadcrumb{justify-content:flex-start; color:rgba(248,244,236,.42); margin-top:6px;}
.page-portal .breadcrumb a{color:rgba(248,244,236,.62);}
.page-portal .breadcrumb a:hover{color:var(--gold-bright);}

.page-portal-media{
  position:relative; z-index:2; height:100%;
  display:flex; align-items:flex-end; justify-content:center; padding:0 20px 0 0;
}
.page-portal-media .arch{
  position:relative; z-index:2; width:min(100%, 480px); height:56vh; max-height:620px;
  border-radius:1000px 1000px 0 0; overflow:hidden;
  box-shadow:0 -26px 70px -28px rgba(0,0,0,.55);
}
.page-portal-media .arch::after{
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  border:1px solid rgba(201,165,103,.48); border-bottom:none;
}
.page-portal-media .arch img{width:100%; height:100%; object-fit:cover; object-position:center 22%;}
.page-portal-media .halo{
  position:absolute; left:50%; bottom:-6%; transform:translateX(-50%);
  width:min(120%, 540px); aspect-ratio:1; border-radius:50%;
  border:1px solid rgba(201,165,103,.2); z-index:1; pointer-events:none;
}
.page-portal-media .halo::before{
  content:''; position:absolute; inset:9%; border-radius:50%; border:1px solid rgba(201,165,103,.13);
}
@media (max-width:1080px){
  .page-portal{display:flex; flex-direction:column; min-height:auto;}
  .page-portal-inner{padding:44px 24px 36px; justify-content:flex-start;}
  .page-portal-copy{max-width:none;}
  .page-portal-media{padding:0; justify-content:center;}
  .page-portal-media .arch{height:auto; aspect-ratio:4/5; width:min(84%, 400px); max-height:none;}
}

.breadcrumb{display:flex; gap:8px; justify-content:center; font-size:12.5px; color:var(--ink-faint); margin-top:22px;}
.breadcrumb a{color:var(--ink-soft);}
.breadcrumb a:hover{color:var(--prune);}

/* ===== About page timeline ===== */
.timeline{max-width:720px; margin-inline:auto;}
.tl-item{display:grid; grid-template-columns:120px 1fr; gap:28px; padding-bottom:44px; position:relative;}
.tl-item::before{
  content:''; position:absolute; left:120px; top:6px; bottom:-44px; width:1px; background:var(--line);
}
.tl-item:last-child::before{display:none;}
.tl-item .yr{font-family:'Newsreader',serif; font-style:italic; color:var(--gold); font-size:17px; padding-top:2px;}
.tl-dot{position:absolute; left:116px; top:2px; width:9px; height:9px; border-radius:50%; background:var(--prune); border:2px solid var(--cream);}
.tl-item h4{font-size:18px; margin-bottom:8px;}
.tl-item p{color:var(--ink-soft); font-size:14.5px; line-height:1.65;}
@media (max-width:560px){
  .tl-item{grid-template-columns:70px 1fr; gap:18px;}
  .tl-item::before{left:70px;}
  .tl-dot{left:66px;}
}

.values-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:8px;}
@media (max-width:760px){ .values-grid{grid-template-columns:1fr;} }
.value-card{padding:30px; border:1px solid var(--line); background:var(--paper);}
.value-card svg{color:var(--prune); margin-bottom:16px;}
.value-card h4{font-size:17px; margin-bottom:8px;}
.value-card p{font-size:14px; color:var(--ink-soft); line-height:1.6;}

/* ===== Soins list page ===== */
.filter-row{display:flex; gap:28px; flex-wrap:wrap; margin-bottom:56px; justify-content:center; align-items:baseline;}
.filter-chip{
  padding:0 0 5px; border:none; border-radius:0; background:transparent;
  font-family:'Newsreader',serif; font-size:16.5px; font-weight:400; color:var(--ink-soft);
  position:relative; transition:color .25s ease;
}
.filter-chip::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:center; transition:transform .3s var(--ease);
}
.filter-chip:hover{color:var(--prune);}
.filter-chip:hover::after{transform:scaleX(1);}
.filter-chip.active{background:transparent; color:var(--prune); font-style:italic;}
.filter-chip.active::after{transform:scaleX(1);}

/* ===== Soin detail page ===== */
.soin-hero{display:grid; grid-template-columns:1fr 1fr; gap:0; min-height:60vh;}
.soin-hero-media{position:relative; overflow:hidden;}
.soin-hero-media img{width:100%;height:100%;object-fit:cover;}
.soin-hero-copy{display:flex; flex-direction:column; justify-content:center; padding:60px; gap:20px;}
@media (max-width:860px){
  .soin-hero{grid-template-columns:1fr;}
  .soin-hero-copy{padding:40px 24px;}
}
.soin-facts{display:flex; gap:28px; flex-wrap:wrap; padding:28px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:36px 0;}
.soin-fact{display:flex; flex-direction:column; gap:4px;}
.soin-fact .label{font-family:'Newsreader',serif; font-style:italic; font-size:14px; letter-spacing:0; text-transform:none; color:var(--gold);}
.soin-fact .val{font-family:'Newsreader',serif; font-size:19px; color:var(--prune);}

.soin-body{display:grid; grid-template-columns:1.6fr 1fr; gap:64px;}
@media (max-width:900px){ .soin-body{grid-template-columns:1fr; gap:40px;} }
.soin-content h2{font-size:24px; margin:36px 0 14px;}
.soin-content h2:first-child{margin-top:0;}
.soin-content p{color:var(--ink-soft); font-size:15.5px; line-height:1.75; margin-bottom:16px;}
.soin-content ul{margin:0 0 16px; padding-left:20px; color:var(--ink-soft); font-size:15.5px; line-height:1.8;}
.soin-side{position:sticky; top:100px; align-self:start;}
.book-card{background:var(--paper); border:1px solid var(--line); padding:32px 28px; border-radius:120px 120px 10px 10px; text-align:center; box-shadow:0 24px 50px -32px rgba(43,35,48,.35);}
.book-card .price{font-family:'Newsreader',serif; font-size:30px; color:var(--prune); margin:10px 0 4px;}
.book-card .price span{font-size:14px; font-family:'Inter',sans-serif; color:var(--ink-faint); font-weight:400;}
.book-card .btn{width:100%; justify-content:center; margin-top:16px;}
.book-card .divider{height:1px; background:var(--line); margin:20px 0;}
.book-card .item{display:flex; justify-content:space-between; font-size:13.5px; color:var(--ink-soft); padding:8px 0;}

/* related */
.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:24px;}
@media (max-width:820px){ .related-grid{grid-template-columns:1fr;} }

/* ===== Contact page ===== */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr; gap:44px;} }
.form-field{margin-bottom:20px;}
.form-field label{display:block; font-size:13px; font-weight:600; margin-bottom:8px; color:var(--ink);}
.form-field input, .form-field textarea, .form-field select{
  width:100%; padding:13px 14px; border:1px solid var(--line); background:var(--paper);
  font-family:inherit; font-size:14.5px; border-radius:2px; color:var(--ink);
}
.form-field textarea{resize:vertical; min-height:120px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:520px){ .form-row{grid-template-columns:1fr;} }

.form-embed :is(.wpcf7,.wpcf7-form){width:100%;}
.clochette-contact-form{display:grid; gap:22px;}
.clochette-contact-fields{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px;}
.clochette-contact-field{display:grid; gap:8px; min-width:0;}
.clochette-contact-field--full{grid-column:1/-1;}
.clochette-contact-field>span:first-child{
  color:var(--ink-soft); font-size:11.5px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;
}
.clochette-contact-field>span:first-child b{color:var(--gold); font-size:14px; font-weight:600;}
.clochette-contact-field>span:first-child small{
  margin-inline-start:6px; color:var(--ink-faint); font-size:10px; font-weight:500; letter-spacing:.04em;
}
.clochette-contact-field .wpcf7-form-control-wrap{display:block;}
.form-embed :is(input.contact-input,textarea.contact-input){
  display:block; width:100%; min-height:54px; padding:14px 16px;
  border:1px solid var(--line); border-radius:2px; background:rgba(252,250,245,.92);
  color:var(--ink); font:400 14px 'Inter',sans-serif;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.form-embed textarea.contact-message{min-height:178px; line-height:1.65; resize:vertical;}
.form-embed :is(input.contact-input,textarea.contact-input)::placeholder{color:var(--ink-faint); opacity:.85;}
.form-embed :is(input.contact-input,textarea.contact-input):focus{
  outline:none; border-color:var(--gold); background:var(--paper); box-shadow:0 0 0 3px rgba(169,129,74,.13);
}
.clochette-contact-consent .wpcf7-list-item{margin:0;}
.clochette-contact-consent label{
  display:grid; grid-template-columns:18px minmax(0,1fr); gap:11px; align-items:start; cursor:pointer;
}
.clochette-contact-consent input[type="checkbox"]{width:18px; height:18px; margin:2px 0 0; accent-color:var(--prune);}
.clochette-contact-consent .wpcf7-list-item-label{color:var(--ink-soft); font-size:12.5px; line-height:1.6;}
.clochette-contact-consent a{color:var(--prune); text-decoration:underline; text-underline-offset:3px;}
.clochette-contact-actions{display:flex; align-items:center; gap:12px; position:relative;}
.clochette-contact-actions .wpcf7-turnstile,.clochette-newsletter-footer .wpcf7-turnstile{margin:0;}
.form-embed input.contact-submit{
  appearance:none; min-height:52px; padding:0 26px; border:1px solid var(--prune); border-radius:2px;
  background:var(--prune); color:#fff; font:600 13px 'Inter',sans-serif; letter-spacing:.01em;
  cursor:pointer; transition:background .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}
.form-embed input.contact-submit:hover:not(:disabled){background:var(--prune-light); border-color:var(--prune-light); transform:translateY(-1px);}
.form-embed input.contact-submit:focus-visible{outline:2px solid var(--gold); outline-offset:3px;}
.form-embed input.contact-submit:disabled{opacity:.55; cursor:not-allowed;}
.clochette-contact-actions .wpcf7-spinner{margin:0;}
.form-embed .wpcf7-not-valid-tip{margin-top:6px; color:#7D284D; font-size:12px; font-weight:500;}
.form-embed .wpcf7-response-output{margin:18px 0 0!important; padding:11px 13px!important; border:1px solid var(--line)!important; color:var(--ink-soft); font-size:12.5px; line-height:1.5;}
@media (max-width:620px){
  .clochette-contact-fields{grid-template-columns:1fr;}
  .clochette-contact-field--full{grid-column:auto;}
  .form-embed input.contact-submit{width:100%;}
  .clochette-contact-actions .wpcf7-spinner{position:absolute; inset-inline-end:12px;}
}

.contact-info-card{background:var(--prune); color:var(--cream); padding:36px; border-radius:2px;}
.contact-info-card h3{color:#fff; font-size:21px; margin-bottom:6px;}
.contact-info-card .row{display:flex; gap:14px; padding:16px 0; border-top:1px solid rgba(248,244,236,.16);}
.contact-info-card .row svg{flex-shrink:0; margin-top:2px; color:var(--gold-pale);}
.contact-info-card .row div b{display:block; font-size:14px; margin-bottom:3px;}
.contact-info-card .row div span{font-size:13.5px; color:var(--rose-line);}
/* ===== Carte d'accès ===== */
.map-card{
  margin-top:24px; border:1px solid var(--line); border-radius:var(--radius-m);
  overflow:hidden; background:var(--paper); box-shadow:0 20px 44px -30px rgba(43,35,48,.3);
}
.map-frame{position:relative; aspect-ratio:16/10; background:var(--rose);}
.map-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0; filter:saturate(.82) contrast(.96);}
.map-foot{padding:20px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.map-foot .addr{display:flex; flex-direction:column; gap:3px;}
.map-foot .addr b{font-family:'Newsreader',serif; font-size:16.5px; font-weight:500; color:var(--prune);}
.map-foot .addr span{font-size:13.5px; color:var(--ink-soft);}
.map-foot .acts{display:flex; gap:10px; flex-wrap:wrap;}
/* ===== Page Rendez-vous ===== */
.rdv-special{
  position:relative; overflow:hidden;
  background:var(--plum-deep); color:var(--cream);
  border-radius:var(--radius-m); padding:44px 48px;
  display:flex; align-items:center; justify-content:space-between; gap:36px; flex-wrap:wrap;
  box-shadow:0 30px 70px -34px rgba(27,18,32,.5);
}
.rdv-special::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(60% 90% at 88% 50%, rgba(201,165,103,.22), transparent 70%);
}
.rdv-special > *{position:relative; z-index:1;}
.rdv-special .tagline{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Newsreader',serif; font-style:italic; font-size:15px; color:var(--gold-bright);
}
.rdv-special h3{font-size:clamp(24px,2.6vw,32px); color:#fff; font-weight:300; margin:12px 0 10px;}
.rdv-special h3 em{font-style:italic; color:var(--gold-bright); font-weight:400;}
.rdv-special p{font-size:15px; color:rgba(248,244,236,.74); max-width:520px; line-height:1.7;}
.rdv-special .facts{display:flex; gap:26px; flex-wrap:wrap; margin-top:18px;}
.rdv-special .facts div{display:flex; flex-direction:column; gap:2px;}
.rdv-special .facts .k{font-family:'Newsreader',serif; font-style:italic; font-size:13.5px; color:var(--gold);}
.rdv-special .facts .v{font-size:14.5px; color:#fff;}
.rdv-special .cta{flex-shrink:0;}
@media (max-width:860px){ .rdv-special{padding:34px 28px;} }

.rdv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
@media (max-width:960px){ .rdv-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .rdv-grid{grid-template-columns:1fr;} }
.rdv-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-m);
  padding:30px 28px 26px; display:flex; flex-direction:column; gap:10px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.rdv-card:hover{transform:translateY(-5px); box-shadow:var(--shadow); border-color:var(--rose);}
.rdv-card .theme{
  font-family:'Newsreader',serif; font-style:italic; font-size:14.5px; color:var(--gold);
}
.rdv-card h3{font-size:20px;}
.rdv-card p{font-size:14.5px; color:var(--ink-soft); line-height:1.65;}
.rdv-card .rdv-meta{
  display:flex; gap:18px; flex-wrap:wrap; margin-top:auto; padding-top:16px;
  border-top:1px solid var(--line); font-size:13.5px; color:var(--ink-soft);
}
.rdv-card .rdv-meta b{font-family:'Newsreader',serif; font-weight:500; color:var(--prune); font-size:15px;}
.rdv-card .btn{margin-top:16px; justify-content:center;}

.booking-placeholder{
  max-width:640px; margin-inline:auto; text-align:center;
  border:1.5px dashed var(--gold); border-radius:var(--radius-m); background:var(--paper);
  padding:48px 36px; display:flex; flex-direction:column; align-items:center; gap:10px;
}
.booking-placeholder svg{color:var(--gold); margin-bottom:8px;}
.booking-placeholder b{font-family:'Newsreader',serif; font-size:18px; color:var(--prune); font-weight:500;}
.booking-placeholder span{font-size:13.5px; color:var(--ink-soft); max-width:440px; line-height:1.6;}

.faq-item{border-bottom:1px solid var(--line); padding:22px 0;}
.faq-item summary{cursor:pointer; font-weight:600; font-size:15.5px; display:flex; justify-content:space-between; align-items:center; list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-size:22px; color:var(--gold); font-weight:400; transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{margin-top:14px; color:var(--ink-soft); font-size:14.5px; line-height:1.7;}

/* ===== Journal listing ===== */
.journal-list-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
@media (max-width:900px){ .journal-list-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:620px){ .journal-list-grid{grid-template-columns:1fr;} }

/* ===== Article page ===== */
.article-wrap{max-width:760px; margin-inline:auto;}
.article-hero-img{aspect-ratio:16/8; overflow:hidden; border-radius:2px; margin-bottom:44px;}
.article-hero-img img{width:100%;height:100%;object-fit:cover;}
.article-body p{color:var(--ink); font-size:17px; line-height:1.85; margin-bottom:22px;}
.article-body h2{font-size:24px; margin:40px 0 16px;}
.article-body blockquote{
  border-left:2px solid var(--gold); padding-left:24px; margin:32px 0; font-family:'Newsreader',serif;
  font-style:italic; font-size:20px; color:var(--prune); line-height:1.6;
}
.article-meta{display:flex; align-items:center; gap:14px; margin-bottom:20px;}
.article-meta .avatar{width:44px;height:44px;border-radius:50%; background:var(--prune-pale); display:flex; align-items:center; justify-content:center; font-family:'Newsreader',serif; color:var(--prune);}

/* ===== Boutique coming soon ===== */
.soon-wrap{
  max-width:640px; margin-inline:auto; text-align:center; padding-block:60px;
}
.soon-wrap .ripple-divider{margin-bottom:28px;}
.soon-wrap h1{font-size:clamp(32px,4vw,46px);}
.soon-wrap p{color:var(--ink-soft); margin-top:18px; font-size:16.5px; line-height:1.7;}
.soon-form{display:flex; gap:10px; max-width:420px; margin:34px auto 0;}
.soon-form input{flex:1; padding:14px 16px; border:1px solid var(--line); background:var(--paper); border-radius:2px; font-family:inherit;}
.soon-preview{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:60px;}
@media (max-width:620px){ .soon-preview{grid-template-columns:1fr;} }
.soon-item{background:var(--paper); border:1px dashed var(--line); padding:26px; text-align:left;}
.soon-item .ph{aspect-ratio:1; background:var(--cream-deep); margin-bottom:14px; display:flex; align-items:center; justify-content:center; color:var(--ink-faint);}
.soon-item h4{font-size:15px; margin-bottom:4px;}
.soon-item span{font-size:13px; color:var(--ink-faint);}

/* Page transition */
.page{display:none; animation:fadeIn .4s ease;}
.page.visible{display:block;}
@keyframes fadeIn{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}

.reveal{opacity:0; transform:translateY(12px); transition:opacity .55s ease, transform .55s ease;}
.reveal.in{opacity:1; transform:none;}

/* Utility */
.mt-lg{margin-top:56px;}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
@media (max-width:620px){ .grid-2{grid-template-columns:1fr;} }
.center{text-align:center;}
.small-caps-link{font-size:13px; font-weight:600; letter-spacing:.04em; color:var(--prune); display:inline-flex; align-items:center; gap:8px;}

/* Adaptation WordPress : aucun changement de direction artistique. */
[hidden]{display:none!important;}
/* WordPress ajoute `page` au body ; le prototype réservait cette classe à son routeur SPA. */
body.page{display:block;animation:none;}
/* Les attributs intrinsèques WordPress ne doivent pas étirer le portrait du split. */
.split-media img{width:100%;height:auto;}
/* Filet de sécurité pendant la suppression définitive de l’ancienne intégration Google. */
.admin-bar header.site{top:32px;}
@media(max-width:782px){.admin-bar header.site{top:46px;}}

/* Le fond du hero reste full-bleed, mais sa composition cesse de grandir sur les écrans XXL. */
@media(min-width:1800px){
  .hero{grid-template-columns:minmax(0,816px) minmax(0,784px);justify-content:center;}
  .hero .play{right:max(40px,calc((100vw - 1600px)/2));}
}
@media(min-width:1800px) and (min-height:1050px){
  .hero{min-height:980px;}
  .hero-portal .arch{height:min(88vh,860px);}
}

/* Adaptations strictement fonctionnelles autour du portage WordPress. */
.search-modal{
  width:min(880px,calc(100% - 40px)); max-height:min(86vh,820px); padding:0;
  border:1px solid rgba(185,151,91,.55); border-radius:18px;
  background:var(--paper); color:var(--ink); box-shadow:0 30px 90px rgba(24,10,22,.32);
  overflow:auto;
}
.search-modal[open]{animation:search-modal-in .28s var(--ease) both;}
.search-modal::backdrop{background:rgba(27,18,32,.78);backdrop-filter:blur(7px);animation:search-backdrop-in .24s ease both;}
.search-modal__accent{height:5px;background:linear-gradient(90deg,var(--prune),var(--gold),var(--prune));}
.search-modal .search-close{
  position:absolute;top:20px;right:22px;z-index:2;width:38px;height:38px;
  display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;
  background:rgba(255,255,255,.62);color:var(--prune);font:300 27px/1 'Inter',sans-serif;
  cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease;
}
.search-modal .search-close:hover{background:var(--prune);color:#fff;transform:rotate(5deg);}
.search-modal__header{padding:38px 76px 20px 42px;}
.search-modal__header .eyebrow{display:block;margin-bottom:9px;color:var(--gold);}
.search-modal__header h2{font-size:clamp(30px,4vw,42px);line-height:1.08;color:var(--prune);}
.search-modal__header p{margin-top:10px;color:var(--ink-soft);font-size:14.5px;}
.live-search{padding:4px 42px 0;}
.search-field{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;
  min-height:62px;padding:7px 8px 7px 18px;border:1px solid var(--line);border-radius:12px;
  background:#fff;box-shadow:0 8px 30px rgba(76,28,63,.06);transition:border-color .2s ease,box-shadow .2s ease;
}
.search-field:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-pale),0 12px 34px rgba(76,28,63,.09);}
.search-field__icon{color:var(--gold);flex:none;}
.search-field input{
  width:100%;min-width:0;padding:10px 2px;border:0;outline:0;background:transparent;
  color:var(--ink);font:500 16px/1.4 'Inter',sans-serif;
}
.search-field input::placeholder{color:var(--ink-faint);font-weight:400;}
.search-field input::-webkit-search-cancel-button{display:none;}
.search-clear{
  border:0;background:transparent;color:var(--ink-faint);font:600 11px/1 'Inter',sans-serif;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
}
.search-clear:hover{color:var(--prune);}
.search-submit{
  min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 19px;
  border:1px solid var(--prune);border-radius:8px;background:var(--prune);color:#fff;
  font:600 12.5px/1 'Inter',sans-serif;cursor:pointer;white-space:nowrap;
  transition:background .2s ease,transform .2s ease;
}
.search-submit:hover{background:var(--prune-light);transform:translateX(1px);}
.search-hint{margin:9px 3px 0;color:var(--ink-faint);font-size:11.5px;}
.search-shortcuts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:22px 42px 25px;}
.search-shortcuts>span{margin-right:4px;color:var(--ink-faint);font:600 10.5px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.11em;}
.search-shortcuts a{
  padding:8px 12px;border:1px solid var(--line);border-radius:100px;background:rgba(255,255,255,.48);
  color:var(--prune);font-size:12px;transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.search-shortcuts a:hover{background:var(--gold-pale);border-color:var(--gold);transform:translateY(-1px);}
.live-search-results{min-height:214px;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--cream-deep),var(--paper));}
.search-state{min-height:214px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px;text-align:center;}
.search-state__mark{
  min-width:44px;height:44px;margin-bottom:13px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;
  background:var(--paper);color:var(--gold);font:500 19px/1 'Newsreader',serif;
}
.search-state strong{font:500 20px/1.2 'Newsreader',serif;color:var(--prune);}
.search-state p{max-width:500px;margin-top:7px;color:var(--ink-soft);font-size:13px;line-height:1.55;}
.search-state.is-loading .search-state__mark{letter-spacing:2px;animation:search-pulse 1.1s ease-in-out infinite;}
.search-state.is-error .search-state__mark{border-color:var(--prune);color:var(--prune);}
.search-result-list{display:grid;gap:3px;max-height:min(48vh,430px);padding:12px 14px;overflow:auto;scrollbar-color:var(--gold) transparent;}
.search-result{
  display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px 13px;
  border:1px solid transparent;border-radius:11px;color:var(--ink);transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.search-result:hover,.search-result:focus-visible{background:var(--paper);border-color:var(--line);transform:translateX(3px);outline:0;}
.search-result__media{width:70px;height:62px;display:block;overflow:hidden;border-radius:8px;background:var(--gold-pale);}
.search-result__media img{width:100%;height:100%;object-fit:cover;display:block;}
.search-result__fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--gold);font:italic 24px/1 'Newsreader',serif;}
.search-result--journal .search-result__fallback{background:var(--cream);}
.search-result--product .search-result__fallback{background:rgba(76,28,63,.1);color:var(--prune);}
.search-result__body{display:flex;min-width:0;flex-direction:column;gap:3px;}
.search-result__type{color:var(--gold);font:700 9.5px/1 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.13em;}
.search-result__title{overflow:hidden;color:var(--prune);font:500 19px/1.22 'Newsreader',serif;text-overflow:ellipsis;white-space:nowrap;}
.search-result__excerpt{display:-webkit-box;overflow:hidden;color:var(--ink-soft);font-size:12px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.search-result__arrow{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;color:var(--prune);transition:background .2s ease,color .2s ease;}
.search-result:hover .search-result__arrow,.search-result:focus-visible .search-result__arrow{background:var(--prune);color:#fff;}
.search-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 42px 18px;border-top:1px solid var(--line);background:var(--paper);}
.search-modal__footer a{color:var(--prune);font:600 12.5px/1 'Inter',sans-serif;}
.search-modal__footer a span{margin-left:6px;color:var(--gold);}
.search-modal__footer>span{color:var(--ink-faint);font-size:10.5px;}
@keyframes search-modal-in{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
@keyframes search-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes search-pulse{50%{transform:scale(1.08);box-shadow:0 0 0 8px rgba(185,151,91,.1)}}
.config-note{padding:14px 16px;border-left:2px solid var(--gold);background:var(--gold-pale);color:var(--ink-soft);font-size:14px}
.form-embed,.booking-embed{width:100%}.form-embed :is(input,textarea,select){max-width:100%}
.rdv-card.selected{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-pale)}
.rdv-card.selected .btn{background:var(--prune);border-color:var(--prune);color:#fff;}
#calendrier{scroll-margin-top:112px;}
.navigation.pagination{margin-top:48px}.nav-links{display:flex;justify-content:center;gap:10px;align-items:center}.page-numbers{padding:9px 13px;border:1px solid var(--line);color:var(--prune)}.page-numbers.current{background:var(--prune);color:#fff}
.search-page{background:linear-gradient(180deg,var(--cream-deep),var(--cream));}
.search-page__header{max-width:820px;margin:0 auto;text-align:center;}
.search-page__header .eyebrow-row{justify-content:center;}
.search-page__header h1{margin-top:15px;font-size:clamp(36px,5vw,58px);color:var(--prune);}
.search-page__header>p{margin-top:13px;color:var(--ink-soft);}
.search-page-form{max-width:760px;margin:32px auto 56px;}
.search-page-form .search-field{grid-template-columns:auto minmax(0,1fr) auto;}
.search-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.search-page-card{min-height:210px;display:grid;grid-template-columns:190px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:0 14px 36px rgba(76,28,63,.05);}
.search-page-card__media{min-height:210px;display:grid;place-items:center;overflow:hidden;background:var(--gold-pale);color:var(--gold);font:italic 42px/1 'Newsreader',serif;}
.search-page-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease);}
.search-page-card:hover .search-page-card__media img{transform:scale(1.04);}
.search-page-card__body{display:flex;flex-direction:column;align-items:flex-start;padding:27px 25px;}
.search-page-card h2{margin-top:8px;font-size:24px;line-height:1.15;}
.search-page-card h2 a{color:var(--prune);}
.search-page-card p{margin:11px 0 18px;color:var(--ink-soft);font-size:13px;line-height:1.6;}
.search-page-card .arrow-link{margin-top:auto;}
.search-page-empty{max-width:680px;margin:0 auto;padding:48px;border:1px solid var(--line);border-radius:14px;background:var(--paper);text-align:center;}
.search-page-empty strong{font:500 28px/1.2 'Newsreader',serif;color:var(--prune);}
.search-page-empty p{margin:12px 0 24px;color:var(--ink-soft);}
.search-page-empty>div{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
@media(max-width:900px){.search-page-grid{grid-template-columns:1fr;}}
@media(max-width:560px){
  .search-page-form{margin:25px auto 38px;}
  .search-page-card{grid-template-columns:105px minmax(0,1fr);min-height:180px;}
  .search-page-card__media{min-height:180px;}
  .search-page-card__body{padding:22px 18px;}
  .search-page-card h2{font-size:21px;}
  .search-page-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;}
  .search-page-empty{padding:34px 22px;}
}
.article-body :is(ul,ol){font-size:17px;line-height:1.8;margin:0 0 24px 24px}.article-body img{max-width:100%;height:auto}
.woocommerce-site .woocommerce{color:var(--ink)}
.woocommerce-site :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){margin:0 0 28px;padding:18px 20px;border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--paper);color:var(--ink-soft);list-style:none}
.woocommerce-site .woocommerce-error{border-top-color:var(--prune)}
.woocommerce-site :is(table.shop_table,.woocommerce-cart-form table){width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--line)}
.woocommerce-site :is(table.shop_table,.woocommerce-cart-form table) :is(th,td){padding:16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.woocommerce-site :is(input.input-text,textarea,select){width:100%;padding:13px 14px;border:1px solid var(--line);background:var(--paper);border-radius:2px;color:var(--ink);font:inherit}
.woocommerce-site :is(.button,button.button,input.button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 22px;border:1px solid var(--prune);border-radius:2px;background:var(--prune);color:#fff;font:600 13px 'Inter',sans-serif;cursor:pointer}
.woocommerce-site :is(.button,button.button,input.button):hover{background:var(--prune-light);border-color:var(--prune-light);color:#fff}
.woocommerce-site .quantity .qty{width:76px}.woocommerce-site .cart-collaterals{margin-top:36px}.woocommerce-site .cart_totals{max-width:520px;margin-left:auto;padding:28px;background:var(--paper);border:1px solid var(--line)}
.woocommerce-site :is(.woocommerce-form-login,.woocommerce-form-register,.checkout_coupon){max-width:620px;padding:30px;border:1px solid var(--line);background:var(--paper)}
.woocommerce-site .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:40px}.woocommerce-site .woocommerce-MyAccount-navigation ul{display:flex;gap:10px;flex-wrap:wrap;padding:0;list-style:none;margin-bottom:32px}.woocommerce-site .woocommerce-MyAccount-navigation a{display:block;padding:10px 14px;border:1px solid var(--line);color:var(--prune)}
@media(max-width:760px){.woocommerce-site .col2-set{grid-template-columns:1fr}.woocommerce-site table.shop_table{display:block;overflow-x:auto}}
@media(max-width:640px){
  .search-modal{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:13px;}
  .search-modal .search-close{top:14px;right:14px;width:34px;height:34px;}
  .search-modal__header{padding:28px 54px 15px 20px;}
  .search-modal__header h2{font-size:30px;}
  .search-modal__header p{font-size:13px;line-height:1.5;}
  .live-search{padding:3px 20px 0;}
  .search-field{grid-template-columns:auto minmax(0,1fr) auto auto;gap:7px;min-height:56px;padding:5px 6px 5px 13px;border-radius:10px;}
  .search-field input{font-size:14px;}
  .search-clear{width:28px;font-size:0;}
  .search-clear::after{content:'×';font:400 21px/1 'Inter',sans-serif;}
  .search-submit{width:42px;min-height:42px;padding:0;}
  .search-submit span{display:none;}
  .search-hint{font-size:10.5px;line-height:1.4;}
  .search-shortcuts{padding:18px 20px 20px;gap:7px;}
  .search-shortcuts>span{width:100%;margin-bottom:2px;}
  .search-shortcuts a{padding:7px 10px;font-size:11px;}
  .live-search-results{min-height:195px;}
  .search-state{min-height:195px;padding:28px 22px;}
  .search-result-list{max-height:45vh;padding:8px;}
  .search-result{grid-template-columns:56px minmax(0,1fr) auto;gap:11px;padding:9px 8px;}
  .search-result__media{width:56px;height:54px;}
  .search-result__title{font-size:17px;}
  .search-result__excerpt{-webkit-line-clamp:1;font-size:11px;}
  .search-result__arrow{width:30px;height:30px;}
  .search-modal__footer{padding:13px 20px 15px;}
  .search-modal__footer>span{display:none;}
  .soon-form{flex-direction:column;}
}
@media(max-width:390px){
  .search-modal__header p,.search-hint{display:none;}
  .search-shortcuts a{font-size:10.5px;}
  .search-result__excerpt{display:none;}
}

/* Masquage accessible — WordPress et WooCommerce émettent des libellés en
   .screen-reader-text (étiquette du champ code promo, liens d'évitement…).
   Sans cette règle, ils s'affichent en clair. */
.screen-reader-text{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}
.screen-reader-text:focus{
  position:fixed !important; top:12px; left:12px; z-index:900;
  width:auto; height:auto; clip:auto; clip-path:none;
  padding:12px 20px; background:var(--paper); color:var(--prune);
  border:1px solid var(--gold); border-radius:2px; font-size:14px;
}
