
:root{--bg:#070504;--bg2:#120b05;--ink:#fff8ec;--muted:#c9b995;--soft:#f4e2bd;--gold:#d6a64a;--gold2:#f8df9a;--green:#0e3a25;--blue:#5b91d7;--line:rgba(248,223,154,.20);--glass:rgba(255,255,255,.065);--glass2:rgba(255,255,255,.11);--shadow:0 28px 90px rgba(0,0,0,.42);--radius:30px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 8% 0,rgba(214,166,74,.18),transparent 28%),radial-gradient(circle at 92% 0,rgba(91,145,215,.12),transparent 30%),linear-gradient(180deg,#060403,#110a04 55%,#050302);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.65;overflow-x:hidden}body.light{--bg:#fffaf0;--bg2:#f8edd6;--ink:#171108;--muted:#66583a;--line:rgba(84,52,14,.18);--glass:rgba(40,25,6,.06);--glass2:rgba(40,25,6,.10);background:linear-gradient(180deg,#fffaf0,#f7ecd7)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 36px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,5,4,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.light .site-header{background:rgba(255,250,240,.9)}.nav-wrap{min-height:82px;display:flex;align-items:center;gap:18px}.brand{display:flex;align-items:center;gap:13px;min-width:245px}.brand img{width:56px;height:56px;object-fit:contain;border-radius:20px;background:#fff;padding:4px}.brand b{font-family:Georgia,serif;font-size:19px;letter-spacing:-.02em}.brand small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.13em}.nav-menu{display:flex;align-items:center;gap:3px;flex:1;justify-content:center}.nav-menu a{padding:10px 11px;border-radius:999px;color:var(--muted);font-size:13px;font-weight:800;white-space:nowrap}.nav-menu a:hover,.nav-menu a.active{color:var(--ink);background:var(--glass2)}.nav-actions{display:flex;align-items:center;gap:8px}.menu-toggle{display:none;background:var(--glass);color:var(--ink);border:1px solid var(--line);border-radius:14px;font-size:26px;padding:6px 10px}.btn,.chip{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--glass);color:var(--ink);border-radius:999px;padding:13px 18px;font-weight:900;cursor:pointer;transition:.2s}.btn.small{padding:10px 14px}.btn.gold{border:0;color:#120d05;background:linear-gradient(135deg,var(--gold2),var(--gold));box-shadow:0 18px 45px rgba(214,166,74,.23)}.btn.dark{background:#090604;color:#fff;border-color:rgba(255,255,255,.18)}.btn.ghost:hover,.btn:hover,.chip:hover{transform:translateY(-2px);border-color:rgba(248,223,154,.48)}.kicker{display:inline-flex;align-items:center;gap:10px;color:var(--gold2);text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:950}.kicker:before{content:"";display:inline-block;width:34px;height:1px;background:var(--gold)}h1,h2,h3{margin:0 0 16px;line-height:1.04}h1{font:700 clamp(45px,8vw,102px)/.92 Georgia,serif;letter-spacing:-.06em}h2{font:700 clamp(32px,4.8vw,64px)/1 Georgia,serif;letter-spacing:-.045em}h3{font-size:23px}.hero{position:relative;min-height:760px;display:grid;place-items:center;overflow:hidden}.page-hero{min-height:560px}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,5,4,.97),rgba(7,5,4,.68) 48%,rgba(7,5,4,.10)),linear-gradient(0deg,rgba(7,5,4,.9),transparent 58%)}.hero-content{position:relative;z-index:2}.hero p{max-width:860px;font-size:clamp(18px,2vw,23px);color:#eadcc0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-split{display:grid;grid-template-columns:1.2fr .6fr;gap:38px;align-items:center}.signature-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--glass2),var(--glass));box-shadow:var(--shadow)}.signature-card img{background:#fff;border-radius:22px;padding:8px;margin-bottom:18px}.signature-card strong{display:block;font:700 56px Georgia,serif;color:var(--gold2)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:34px}.metrics div{border-left:1px solid var(--line);padding-left:15px}.metrics strong{display:block;font:700 36px Georgia,serif;color:var(--gold2)}.metrics span{color:#e1d2b5;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.section{padding:96px 0}.section.tight{padding:62px 0}.dark{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(0,0,0,.18));border-block:1px solid var(--line)}.gold-section{background:linear-gradient(135deg,#f8df9a,#c8842f);color:#130d05}.section-head{display:flex;align-items:end;justify-content:space-between;gap:26px;margin-bottom:34px}.section-head p{max-width:650px;color:var(--muted)}.gold-section .section-head p,.gold-section .kicker{color:#2a1a05}.grid{display:grid;gap:22px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g5{grid-template-columns:repeat(5,1fr)}.card,.news,.project,.member,.value,.partner,.service,.faq,.legal,.product-card,.product-detail,.timeline article,.contact-card,.myle-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--glass2),var(--glass));box-shadow:var(--shadow)}.card,.news,.project,.member,.value,.partner,.service,.faq,.legal,.timeline article,.contact-card,.myle-card{padding:28px}.card:hover,.news:hover,.project:hover,.member:hover,.product-card:hover,.partner:hover,.service:hover{transform:translateY(-6px);border-color:rgba(248,223,154,.42);transition:.25s}.pill,.tag,.news span,.project span,.member span,.product-card .pill{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);font-weight:950;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.pill{border:1px solid var(--line);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.05)}.page-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;margin-bottom:-30px;position:relative;z-index:5}.page-tabs a{padding:10px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--line);color:var(--muted);font-weight:850}.page-tabs a.active,.page-tabs a:hover{color:var(--ink);border-color:var(--gold)}.carousel{position:relative;min-height:470px;border:1px solid var(--line);border-radius:38px;overflow:hidden;box-shadow:var(--shadow);background:#080503}.slides{display:flex;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.slide{min-width:100%;display:grid;grid-template-columns:1.05fr .95fr}.slide img{width:100%;height:470px;object-fit:cover}.slide .slide-body{padding:48px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.025))}.carousel-controls{position:absolute;bottom:18px;right:22px;display:flex;gap:8px}.carousel-controls button{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(0,0,0,.45);color:#fff;cursor:pointer}.story,.product-card{overflow:hidden}.story img,.product-card img{width:100%;height:275px;object-fit:cover}.story div,.product-card div{padding:24px}.price{display:block;font:700 30px Georgia,serif;color:var(--gold2);margin:8px 0 10px}.product-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.filter-btn{border:1px solid var(--line);background:var(--glass);color:var(--muted);border-radius:999px;padding:10px 14px;font-weight:850;cursor:pointer}.filter-btn.active,.filter-btn:hover{color:var(--ink);border-color:var(--gold)}.product-detail{display:grid;grid-template-columns:1fr .9fr;overflow:hidden}.product-detail img{width:100%;height:100%;min-height:520px;object-fit:cover}.product-detail .info{padding:44px}.detail-list{display:grid;gap:12px;margin:22px 0;padding:0;list-style:none}.detail-list li{padding:13px 15px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.05)}.table{overflow:auto;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.04)}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:15px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--gold2)}.timeline{display:grid;gap:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.lux-band{display:flex;align-items:center;justify-content:space-between;gap:34px}.lux-band h2{font-size:clamp(42px,7vw,90px)}.contact{display:grid;grid-template-columns:1fr .75fr;gap:24px}.form label{display:block;color:var(--muted);margin-bottom:14px}.form input,.form textarea,.form select{width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.07);color:var(--ink)}.form textarea{min-height:150px}.footer{padding:72px 0 28px;background:#030201;border-top:1px solid var(--line)}.light .footer{background:#fff1d9}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr .9fr;gap:28px}.footer-logo{width:112px;background:#fff;border-radius:20px;padding:4px;margin-bottom:16px}.footer a{display:block;color:var(--muted);margin:8px 0}.footer .btn{display:inline-flex;color:#130d05}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:34px;padding-top:22px;color:var(--muted)}.footer-bottom a{display:inline;color:var(--gold2);margin:0}.to-top{position:fixed;right:18px;bottom:18px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#130d05;font-weight:950;box-shadow:var(--shadow)}.reveal{opacity:0;transform:translateY(18px);transition:.7s}.reveal.visible{opacity:1;transform:none}@media(max-width:1050px){.nav-menu{position:fixed;inset:82px 16px auto 16px;display:none;flex-direction:column;align-items:stretch;padding:18px;border:1px solid var(--line);border-radius:24px;background:rgba(7,5,4,.97);box-shadow:var(--shadow)}.light .nav-menu{background:rgba(255,250,240,.98)}.nav-menu.open{display:flex}.menu-toggle{display:block}.nav-actions .btn{display:none}.hero-split,.slide,.product-detail,.split,.contact{grid-template-columns:1fr}.metrics,.g4,.g5{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.section-head{display:block}.hero{min-height:680px}}@media(max-width:720px){.container{width:min(100% - 24px,var(--max))}.brand{min-width:0}.brand small{display:none}.hero{min-height:620px}.page-hero{min-height:470px}.hero-content{padding-top:30px}.metrics,.g2,.g3,.g4,.g5,.footer-grid{grid-template-columns:1fr}.slide img{height:300px}.slide .slide-body{padding:26px}.carousel{min-height:auto}.nav-wrap{min-height:72px}.nav-menu{inset:72px 12px auto 12px}.lux-band{display:block}.product-detail img{min-height:320px}.product-detail .info{padding:28px}h1{font-size:46px}.section{padding:72px 0}}


/* Correctifs v3 — header sans scroll horizontal + animations premium + images officielles */
html,body{max-width:100%;overflow-x:hidden}body{opacity:0;transition:opacity .65s ease}body.arc-loaded{opacity:1}.site-header{animation:headerDrop .65s cubic-bezier(.2,.8,.2,1) both}.nav-wrap{display:grid;grid-template-columns:minmax(200px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;min-height:auto;padding:10px 0}.brand{min-width:0}.brand b{font-size:clamp(15px,1.25vw,19px)}.brand img{width:50px;height:50px}.nav-menu{min-width:0;display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 5px;overflow:visible}.nav-menu a{white-space:nowrap;font-size:clamp(11px,.82vw,13px);padding:8px clamp(6px,.75vw,10px);line-height:1}.nav-actions{justify-self:end;white-space:nowrap}.nav-actions .chip{width:40px;height:40px;padding:0}.nav-actions .btn.small{padding:9px 12px}.hero>img{animation:heroZoom 13s ease-out both;will-change:transform}.hero-content .kicker,.hero-content h1,.hero-content p,.hero-actions{opacity:0;transform:translateY(22px);animation:heroUp .85s cubic-bezier(.2,.8,.2,1) forwards}.hero-content h1{animation-delay:.08s}.hero-content p{animation-delay:.18s}.hero-actions{animation-delay:.28s}.card,.news,.project,.member,.value,.partner,.service,.faq,.product-card,.story,.myle-card{transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}.product-card img{height:300px;object-fit:cover;background:#090604}.product-card:nth-of-type(1) img{object-position:52% 35%}.product-card:nth-of-type(2) img{object-position:49% 35%}.product-card:nth-of-type(3) img{object-position:52% 35%}.product-card:nth-of-type(4) img{object-position:50% 35%}.product-card:nth-of-type(5) img{object-position:43% 32%}.product-card:nth-of-type(6) img{object-position:center}.product-detail img{object-fit:cover;background:#090604}.page-tabs{margin-bottom:0}.page-tabs a{white-space:nowrap}.grid{min-width:0}.container{min-width:0}.card,.news,.project,.member,.value,.partner,.service,.faq,.product-card,.story,.myle-card{min-width:0}@keyframes headerDrop{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}@keyframes heroZoom{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes heroUp{to{opacity:1;transform:none}}@media (max-width:1240px){.nav-wrap{grid-template-columns:minmax(210px,1fr) auto auto;align-items:center}.nav-menu{grid-column:1 / -1;order:3;justify-content:center;padding-top:6px}.menu-toggle{display:none}.nav-actions .btn.small{display:inline-flex}.site-header{position:sticky}.brand small{display:none}}@media (max-width:820px){.nav-wrap{grid-template-columns:1fr auto auto}.menu-toggle{display:block;justify-self:end}.nav-actions{gap:6px}.nav-actions .btn.small{display:none}.nav-menu{position:static;grid-column:1 / -1;display:none;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap;width:100%;padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:22px;background:rgba(7,5,4,.96);box-shadow:var(--shadow);max-height:none}.light .nav-menu{background:rgba(255,250,240,.98)}.nav-menu.open{display:flex}.nav-menu a{font-size:12px;padding:10px 12px}.hero{min-height:640px}.page-hero{min-height:500px}}@media (max-width:560px){.brand b{font-size:14px}.brand img{width:42px;height:42px}.nav-actions .chip{width:36px;height:36px}.nav-menu a{flex:1 1 calc(50% - 8px);text-align:center}.hero-content{padding:24px 0}.product-card img{height:240px}}


/* Correctifs boutique exacts — issus du HTML/HAR Lovable fourni */
.product-card .product-media,.product-card .product-body,.product-card .featured-media,.product-card .product-icon,
.featured-product .product-media,.featured-product .product-icon,.product-detail .detail-media,.product-detail .product-icon{padding:0!important}
.boutique-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:start}
.boutique-intro>p{max-width:760px;color:var(--muted);font-size:16px;line-height:1.8}
.mini-cards{margin-top:26px}
.featured-grid{display:grid;grid-template-columns:1fr;gap:16px}
.featured-product{position:relative;display:block;overflow:hidden;border:1px solid rgba(248,223,154,.30);border-radius:var(--radius);background:linear-gradient(145deg,var(--glass2),var(--glass));box-shadow:var(--shadow);min-height:230px}
.featured-product.wide{min-height:300px}
.featured-media,.product-media,.detail-media{position:relative;overflow:hidden;background:#090604}
.featured-media .product-media,.featured-media .product-media img{height:100%}
.featured-product .product-media{height:100%;min-height:230px}
.featured-product.wide .product-media{min-height:300px}
.featured-product img,.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.featured-product:hover img,.product-card:hover .product-media img{transform:scale(1.04)}
.product-media{height:300px}
.product-card .product-media img{height:300px;object-fit:cover}
.product-card .product-body{padding:24px!important}
.product-card h3{margin:12px 0 0;font-family:Georgia,serif;font-size:22px;line-height:1.15}
.product-card h3 a:hover{color:var(--gold2)}
.product-card p{color:var(--muted)}
.media-logo{position:absolute!important;right:14px!important;top:14px!important;width:52px!important;height:52px!important;object-fit:contain!important;opacity:.22!important;background:transparent!important;padding:0!important;border-radius:0!important}
.featured-overlay{position:absolute;inset:auto 0 0 0;padding:22px!important;background:linear-gradient(0deg,rgba(5,3,2,.86),rgba(5,3,2,0));color:#fff}
.featured-overlay span{display:inline-flex;border-radius:6px;background:rgba(214,166,74,.16);padding:5px 8px;color:var(--gold2);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.featured-overlay h3{margin:10px 0 4px;font-family:Georgia,serif;font-size:22px}
.featured-overlay strong{color:var(--gold2)}
.icon-media{height:300px;display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,rgba(214,166,74,.20),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}
.product-icon{width:104px;height:104px;display:grid;place-items:center;border:1px solid var(--line);border-radius:28px;color:var(--gold2);background:rgba(255,255,255,.055);box-shadow:0 20px 60px rgba(0,0,0,.22)}
.product-icon .product-svg{width:70px;height:70px}
.product-detail{grid-template-columns:1.05fr .95fr}
.product-detail .detail-media{min-height:520px}
.product-detail .detail-media img{width:100%;height:100%;min-height:520px;object-fit:cover}
.product-detail .detail-media.icon-media{display:grid;place-items:center}
.product-detail .detail-media.icon-media .product-icon{width:156px;height:156px}
.product-detail .detail-media.icon-media .product-svg{width:96px;height:96px}
@media(max-width:1050px){.boutique-layout{grid-template-columns:1fr}.featured-grid{grid-template-columns:repeat(3,1fr)}.featured-product,.featured-product.wide{min-height:220px}.featured-product .product-media,.featured-product.wide .product-media{min-height:220px}.product-detail{grid-template-columns:1fr}}
@media(max-width:820px){.featured-grid{grid-template-columns:1fr}.featured-product .product-media,.featured-product.wide .product-media{min-height:250px}.product-card .product-media,.icon-media{height:260px}.product-card .product-media img{height:260px}}
@media(max-width:560px){.product-card .product-media,.icon-media{height:230px}.product-card .product-media img{height:230px}.product-detail .detail-media,.product-detail .detail-media img{min-height:320px}}



/* Correctifs v5 — lisibilité thème clair, header compact, animations renforcées */

/* Header : logo seul pour libérer l'espace menu */
.site-header .brand{
  min-width:0!important;
  width:auto!important;
  flex:0 0 auto!important;
  gap:0!important;
}
.site-header .brand span{
  display:none!important;
}
.site-header .brand img{
  width:46px!important;
  height:46px!important;
  border-radius:16px!important;
}
.nav-wrap{
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:10px!important;
}
.nav-menu{
  flex-wrap:nowrap!important;
  justify-content:center!important;
  gap:2px!important;
}
.nav-menu a{
  font-size:clamp(10.5px,.72vw,12.5px)!important;
  padding:8px clamp(5px,.58vw,8px)!important;
  letter-spacing:-.01em;
}
.nav-actions{
  gap:6px!important;
}
.nav-actions .chip{
  width:36px!important;
  height:36px!important;
  font-size:13px!important;
}
.nav-actions .btn.small{
  padding:8px 10px!important;
  font-size:12px!important;
}

/* Ne plus casser le header à 1240px : on garde une seule ligne tant que possible */
@media (max-width:1240px) and (min-width:1061px){
  .nav-wrap{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    padding:8px 0!important;
  }
  .nav-menu{
    grid-column:auto!important;
    order:initial!important;
    padding-top:0!important;
    flex-wrap:nowrap!important;
  }
  .menu-toggle{display:none!important}
  .nav-actions .btn.small{display:inline-flex!important}
}

/* Tablette : menu replié propre, sans scroll horizontal */
@media (max-width:1060px){
  .nav-wrap{
    grid-template-columns:auto 1fr auto!important;
  }
  .menu-toggle{
    display:block!important;
    justify-self:end!important;
  }
  .nav-menu{
    position:static!important;
    grid-column:1 / -1!important;
    display:none!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    width:100%!important;
    padding:12px!important;
    margin-top:8px!important;
    border:1px solid var(--line)!important;
    border-radius:22px!important;
    background:rgba(7,5,4,.97)!important;
    box-shadow:var(--shadow)!important;
  }
  .light .nav-menu{background:rgba(255,250,240,.98)!important}
  .nav-menu.open{display:flex!important}
  .nav-menu a{
    flex:0 1 auto!important;
    font-size:12px!important;
    padding:10px 12px!important;
  }
  .nav-actions .btn.small{display:none!important}
}

/* Lisibilité des textes sur images : thème clair comme sombre */
.hero,
.hero .hero-content,
.hero .kicker,
.hero h1,
.hero h2,
.hero h3,
.hero p,
.hero .metrics strong,
.hero .metrics span{
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.78),0 12px 32px rgba(0,0,0,.45)!important;
}
.hero .kicker{color:#f8df9a!important}
.hero p{color:rgba(255,255,255,.90)!important}
.hero-overlay{
  background:
    linear-gradient(90deg,rgba(5,3,2,.98),rgba(5,3,2,.74) 48%,rgba(5,3,2,.32)),
    linear-gradient(0deg,rgba(5,3,2,.92),rgba(5,3,2,.25) 58%,rgba(5,3,2,.58))!important;
}
.light .hero-overlay{
  background:
    linear-gradient(90deg,rgba(5,3,2,.96),rgba(5,3,2,.72) 50%,rgba(5,3,2,.34)),
    linear-gradient(0deg,rgba(5,3,2,.90),rgba(5,3,2,.20) 58%,rgba(5,3,2,.62))!important;
}
.hero .btn.ghost{
  color:#fff!important;
  border-color:rgba(255,255,255,.42)!important;
  background:rgba(0,0,0,.22)!important;
  backdrop-filter:blur(8px);
}

/* Overlays produit / cartes image */
.featured-overlay,
.product-media .featured-overlay,
.story .image-caption,
.news .image-caption,
.project .image-caption{
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.82),0 10px 30px rgba(0,0,0,.55)!important;
}
.featured-overlay h3,
.featured-overlay div,
.featured-overlay strong,
.featured-overlay span{
  color:inherit;
}
.featured-overlay strong,
.featured-overlay span{color:#f8df9a!important}
.product-media::after,
.featured-media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(0deg,rgba(0,0,0,.58),rgba(0,0,0,.08) 42%,rgba(0,0,0,.14));
  opacity:.72;
}
.product-card .product-media + .product-body,
.product-card .product-body{
  position:relative;
  z-index:2;
}

/* Sliders : transition plus premium */
.carousel{
  overflow:hidden;
  isolation:isolate;
}
.slides{
  transition:transform .95s cubic-bezier(.16,1,.3,1)!important;
  will-change:transform;
}
.slide{
  position:relative;
  opacity:.86;
  transform:scale(.985);
  transition:opacity .85s ease, transform .95s cubic-bezier(.16,1,.3,1);
}
.slide.is-active{
  opacity:1;
  transform:scale(1);
}
.slide img{
  filter:saturate(1.05) contrast(1.04);
  transform:scale(1.015);
  transition:transform 5.8s ease, filter .9s ease;
}
.slide.is-active img{
  transform:scale(1.055);
}
.slide .slide-body{
  position:relative;
  background:
    radial-gradient(circle at 10% 10%,rgba(248,223,154,.15),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035))!important;
}
.light .slide .slide-body{
  background:
    radial-gradient(circle at 10% 10%,rgba(214,166,74,.18),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,250,240,.70))!important;
}
.carousel-controls button{
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}
.carousel-controls button:hover{
  transform:translateY(-2px) scale(1.04);
  background:rgba(214,166,74,.88)!important;
  color:#120d05!important;
  border-color:rgba(248,223,154,.95)!important;
}

/* Animations inter-sections plus visibles */
section.reveal-section,
.footer.reveal-section{
  opacity:0;
  transform:translateY(34px);
  filter:blur(5px);
  transition:
    opacity .9s ease,
    transform .95s cubic-bezier(.16,1,.3,1),
    filter .9s ease;
}
section.reveal-section.visible,
.footer.reveal-section.visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}
.section-head.reveal,
.lux-band.reveal{
  transition-duration:.85s!important;
}
.reveal{
  transform:translateY(26px);
  transition:opacity .85s ease, transform .9s cubic-bezier(.16,1,.3,1)!important;
}
.reveal.visible{
  transform:none!important;
}

/* Légère respiration visuelle entre grandes sections */
.section{
  position:relative;
}
.section:not(.gold-section)::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(720px,70vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(214,166,74,.28),transparent);
  opacity:.55;
}

/* Motion accessible */
@media (prefers-reduced-motion: reduce){
  body,
  .site-header,
  .hero>img,
  .hero-content .kicker,
  .hero-content h1,
  .hero-content p,
  .hero-actions,
  .slides,
  .slide,
  .slide img,
  section.reveal-section,
  .footer.reveal-section,
  .reveal{
    animation:none!important;
    transition:none!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
  }
}


/* v5.1 — ordre des calques sur images */
.featured-overlay{z-index:4!important}
.product-media > span,
.product-media > .media-logo,
.featured-media > span,
.featured-media > .media-logo{
  position:absolute!important;
  z-index:3!important;
}
.product-media img,
.featured-media img{
  position:relative;
  z-index:1;
}
.product-media::after,
.featured-media::after{
  z-index:2;
}



/* Correctifs v10 — scroll navigateur visible + polices ARC intégrées */

/* Polices locales fournies */
:root{
  --font-body:"ARC Text","Aptos","Segoe UI Variable","Segoe UI",Arial,sans-serif;
  --font-display:"ARC Display","Cormorant Garamond","Iowan Old Style",Georgia,serif;
  --font-ui:"ARC Text","Aptos","Segoe UI Variable","Segoe UI",Arial,sans-serif;
}

* Ne jamais masquer le scrollbar navigateur */



/* Typographie finale */
body{
  font-family:var(--font-body)!important;
  font-weight:400;
  letter-spacing:-.005em;
}
h1,h2,h3,
.brand b,
.price,
.metrics strong,
.featured-overlay h3,
.product-card h3,
.slide .slide-body h3,
.font-display{
  font-family:var(--font-display)!important;
}
h1{
  font-weight:600!important;
  letter-spacing:-.035em!important;
}
h2{
  font-weight:600!important;
  letter-spacing:-.028em!important;
}
h3{
  font-weight:600!important;
  letter-spacing:-.012em!important;
}
p,li,td,th,
.nav-menu a,.btn,.chip,.kicker,.pill,.tag,.filter-btn,
.product-actions a,.product-actions button{
  font-family:var(--font-ui)!important;
}

/* Slider restauré : ne pas casser la structure */
.carousel{
  overflow:hidden!important;
}
.slides{
  display:flex!important;
  transition:transform .82s cubic-bezier(.16,1,.3,1)!important;
}
.slide{
  flex:0 0 100%!important;
  min-width:100%!important;
}

/* Bloc don lisible en thème clair et sombre */
.donation-panel,
body.light .donation-panel{
  background:
    radial-gradient(circle at 10% 0,rgba(248,223,154,.25),transparent 34%),
    radial-gradient(circle at 90% 12%,rgba(14,58,37,.42),transparent 32%),
    linear-gradient(135deg,#070504 0%,#11100b 48%,#062116 100%)!important;
  color:#fff!important;
  border:1px solid rgba(248,223,154,.30)!important;
}
.donation-panel h1,
.donation-panel h2,
.donation-panel h3,
body.light .donation-panel h1,
body.light .donation-panel h2,
body.light .donation-panel h3{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.62)!important;
}
.donation-panel p,
body.light .donation-panel p{
  color:rgba(255,255,255,.86)!important;
}
.donation-panel .kicker,
body.light .donation-panel .kicker{
  color:#f8df9a!important;
}
.donation-panel .btn.ghost,
body.light .donation-panel .btn.ghost{
  color:#fff!important;
  border-color:rgba(255,255,255,.44)!important;
  background:rgba(255,255,255,.08)!important;
}



/* Correctifs v11 — rollback scrolls
   Retour au comportement naturel d'avant les traitements du problème de scroll.
   Aucune règle spéciale sur les ascenseurs : le navigateur décide.
*/
html{
  scroll-behavior:smooth;
}
body{
  overflow-x:hidden;
}

/* Les éléments qui sont visuellement masqués restent seulement des découpes internes normales. */
.hero,
.carousel,
.story,
.product-card,
.product-detail,
.featured-product,
.featured-media,
.product-media,
.detail-media{
  overflow:hidden;
}

/* Les tableaux peuvent garder leur scroll horizontal local comme dans la base. */
.table{
  overflow:auto;
}



/* Correctifs v12 — thème clair premium + zone don repensée */

/* Thème clair : ivoire premium, or profond, vert institutionnel, contraste renforcé */
body.light{
  --bg:#fbf4e6;
  --bg2:#efe0c2;
  --ink:#1b1207;
  --muted:#5c4a2e;
  --soft:#fff7e8;
  --gold:#b97816;
  --gold2:#8a5207;
  --green:#0d3b27;
  --blue:#315f94;
  --line:rgba(93,64,25,.20);
  --glass:rgba(255,255,255,.58);
  --glass2:rgba(255,255,255,.76);
  --shadow:0 24px 70px rgba(77,48,12,.14);
  background:
    radial-gradient(circle at 8% -4%,rgba(214,166,74,.22),transparent 32%),
    radial-gradient(circle at 92% 0%,rgba(13,59,39,.10),transparent 31%),
    linear-gradient(180deg,#fffaf0 0%,#f6ead2 42%,#fff8e9 100%)!important;
  color:var(--ink)!important;
}

/* Texture subtile seulement en clair */
body.light::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(93,64,25,.035) 1px,transparent 1px),
    linear-gradient(0deg,rgba(93,64,25,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.18) 70%,transparent);
}

/* Header clair : plus institutionnel, moins transparent/terne */
body.light .site-header{
  background:rgba(255,248,235,.86)!important;
  border-bottom:1px solid rgba(93,64,25,.18)!important;
  box-shadow:0 12px 40px rgba(77,48,12,.08);
}
body.light .nav-menu a{
  color:#5e4b2c!important;
}
body.light .nav-menu a:hover,
body.light .nav-menu a.active{
  color:#1b1207!important;
  background:linear-gradient(135deg,rgba(185,120,22,.13),rgba(13,59,39,.08))!important;
}

/* Cartes claires : relief premium */
body.light .card,
body.light .news,
body.light .project,
body.light .member,
body.light .value,
body.light .partner,
body.light .service,
body.light .faq,
body.light .legal,
body.light .product-card,
body.light .product-detail,
body.light .timeline article,
body.light .contact-card,
body.light .myle-card{
  background:
    linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,248,235,.70))!important;
  border:1px solid rgba(93,64,25,.16)!important;
  box-shadow:
    0 22px 60px rgba(77,48,12,.11),
    inset 0 1px 0 rgba(255,255,255,.82)!important;
}
body.light .card:hover,
body.light .news:hover,
body.light .project:hover,
body.light .member:hover,
body.light .product-card:hover,
body.light .partner:hover,
body.light .service:hover{
  border-color:rgba(185,120,22,.36)!important;
  box-shadow:
    0 30px 80px rgba(77,48,12,.16),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
}

/* Typographie claire */
body.light h1,
body.light h2,
body.light h3{
  color:#1a1006;
}
body.light p{
  color:#5c4a2e;
}
body.light .kicker,
body.light .pill,
body.light .tag,
body.light .news span,
body.light .project span,
body.light .member span,
body.light .product-card .pill{
  color:#8a5207!important;
}
body.light .kicker:before{
  background:#b97816!important;
}

/* Boutons en thème clair */
body.light .btn.gold{
  color:#170d03!important;
  background:
    linear-gradient(135deg,#ffe2a2 0%,#c98c2d 48%,#a76612 100%)!important;
  box-shadow:0 16px 38px rgba(185,120,22,.24)!important;
}
body.light .btn.ghost,
body.light .chip{
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(93,64,25,.20)!important;
  color:#1b1207!important;
}

/* Sections sombres : rester fortes même en thème clair */
body.light .section.dark{
  background:
    radial-gradient(circle at 8% 0,rgba(214,166,74,.18),transparent 34%),
    radial-gradient(circle at 90% 12%,rgba(13,59,39,.30),transparent 30%),
    linear-gradient(135deg,#090604,#121008 52%,#061d13)!important;
  color:#fff!important;
}
body.light .section.dark h2,
body.light .section.dark h3,
body.light .section.dark p{
  color:inherit!important;
}

/* Zone Don repensée : bandeau éditorial premium */
.donation-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden!important;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);
  align-items:center;
  gap:34px;
  border-radius:42px!important;
  padding:clamp(32px,5vw,58px)!important;
  min-height:360px;
  border:1px solid rgba(248,223,154,.28)!important;
  background:
    radial-gradient(circle at 12% 0,rgba(248,223,154,.25),transparent 34%),
    radial-gradient(circle at 86% 18%,rgba(14,58,37,.45),transparent 34%),
    linear-gradient(135deg,#070504 0%,#11100b 48%,#062116 100%)!important;
  color:#fff!important;
  box-shadow:
    0 34px 100px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
}
body.light .donation-panel{
  background:
    radial-gradient(circle at 12% 0,rgba(255,226,162,.35),transparent 34%),
    radial-gradient(circle at 86% 18%,rgba(13,59,39,.48),transparent 34%),
    linear-gradient(135deg,#130d05 0%,#1c170d 48%,#082618 100%)!important;
  border-color:rgba(185,120,22,.38)!important;
  box-shadow:
    0 34px 90px rgba(77,48,12,.24),
    inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.donation-panel:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.030) 1px,transparent 1px);
  background-size:46px 46px;
  opacity:.22;
  mask-image:radial-gradient(circle at 20% 20%,black,transparent 72%);
}
.donation-panel:after{
  content:"ARC";
  position:absolute;
  right:-18px;
  bottom:-50px;
  z-index:0;
  font-family:var(--font-display);
  font-size:clamp(110px,17vw,230px);
  font-weight:700;
  letter-spacing:-.08em;
  color:rgba(248,223,154,.07);
  pointer-events:none;
}
.donation-panel > *{
  position:relative;
  z-index:1;
}
.donation-panel h2{
  color:#fff!important;
  max-width:820px;
  margin-bottom:18px;
  font-size:clamp(42px,5.4vw,78px);
  line-height:.92;
  letter-spacing:-.045em!important;
  text-shadow:0 2px 18px rgba(0,0,0,.42);
}
.donation-panel p{
  max-width:720px;
  color:rgba(255,255,255,.84)!important;
  font-size:clamp(16px,1.45vw,20px);
  line-height:1.75;
}
.donation-panel .kicker{
  color:#f8df9a!important;
  text-shadow:0 2px 10px rgba(0,0,0,.40);
}
.donation-panel .kicker:before{
  background:#d6a64a!important;
}
.donation-panel .hero-actions{
  margin-top:0!important;
  justify-content:flex-end;
  align-items:stretch;
}
.donation-panel .hero-actions .btn{
  min-width:205px;
  min-height:54px;
}
.donation-panel .btn.ghost{
  color:#fff!important;
  border-color:rgba(255,255,255,.34)!important;
  background:rgba(255,255,255,.08)!important;
  backdrop-filter:blur(10px);
}
.donation-panel .btn.ghost:hover{
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(248,223,154,.55)!important;
}

/* Badges d'impact générés sans modifier lourdement le HTML */
.donation-panel .hero-actions:before{
  content:"Impact direct";
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:205px;
  min-height:54px;
  border-radius:999px;
  border:1px solid rgba(248,223,154,.28);
  color:#f8df9a;
  background:rgba(255,255,255,.06);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
}
.donation-panel .hero-actions:after{
  content:"Bourses · Formations · Patrimoine";
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:205px;
  min-height:54px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.82);
  background:rgba(0,0,0,.14);
  font-weight:700;
  font-size:12px;
  text-align:center;
  padding:0 16px;
}

/* Animation dédiée */
.donation-panel.visible,
.visible .donation-panel{
  animation:donPanelIn .95s cubic-bezier(.16,1,.3,1) both;
}
.donation-panel.visible:before,
.visible .donation-panel:before{
  animation:donGridGlow 5.8s ease-in-out infinite;
}
.donation-panel .hero-actions .btn,
.donation-panel .hero-actions:before,
.donation-panel .hero-actions:after{
  transform:translateY(16px);
  opacity:0;
  animation:donCtaIn .75s cubic-bezier(.16,1,.3,1) forwards;
}
.donation-panel .hero-actions:before{animation-delay:.18s}
.donation-panel .hero-actions .btn:nth-of-type(1){animation-delay:.26s}
.donation-panel .hero-actions .btn:nth-of-type(2){animation-delay:.34s}
.donation-panel .hero-actions:after{animation-delay:.42s}

@keyframes donPanelIn{
  from{opacity:.72;transform:translateY(34px) scale(.985);filter:blur(4px)}
  to{opacity:1;transform:none;filter:blur(0)}
}
@keyframes donCtaIn{
  to{opacity:1;transform:none}
}
@keyframes donGridGlow{
  0%,100%{opacity:.18}
  50%{opacity:.34}
}

@media(max-width:920px){
  .donation-panel{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .donation-panel .hero-actions{
    justify-content:flex-start;
  }
}
@media(max-width:620px){
  .donation-panel{
    border-radius:30px!important;
    padding:28px!important;
  }
  .donation-panel .hero-actions .btn,
  .donation-panel .hero-actions:before,
  .donation-panel .hero-actions:after{
    width:100%;
    min-width:0;
  }
}



/* Correctifs v14 — homepage / actualités / projets premium + polices embarquées */

@font-face{
  font-family:"ARC Display";
  src:url("fonts/Fraunces-VariableFont_SOFTWONKopszwght.ttf") format("truetype");
  font-weight:300 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"ARC Text";
  src:url("fonts/InstrumentSans[wdth,wght].ttf") format("truetype");
  font-weight:400 800;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"ARC Display Alt";
  src:url("fonts/DMSerifDisplay-Regular.ttf") format("truetype");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"ARC Text Alt";
  src:url("fonts/Satoshi-Variable.ttf") format("truetype");
  font-weight:300 900;
  font-style:normal;
  font-display:swap;
}
:root{
  --font-body:"ARC Text","Instrument Sans","Aptos","Segoe UI Variable","Segoe UI",Arial,sans-serif;
  --font-display:"ARC Display","Fraunces",Georgia,serif;
  --font-ui:"ARC Text","Instrument Sans","Aptos","Segoe UI Variable","Segoe UI",Arial,sans-serif;
}

body{
  font-family:var(--font-body)!important;
}
h1,h2,h3,.brand b,.price,.metrics strong,.featured-overlay h3,.product-card h3,.slide .slide-body h3,.font-display{
  font-family:var(--font-display)!important;
}
h1{
  font-weight:720!important;
  letter-spacing:-.052em!important;
  line-height:.92!important;
  font-variation-settings:"SOFT" 68, "WONK" 1, "opsz" 72;
}
h2{
  font-weight:680!important;
  letter-spacing:-.040em!important;
  line-height:.96!important;
  font-variation-settings:"SOFT" 55, "WONK" 1, "opsz" 72;
}
h3{
  font-weight:650!important;
  letter-spacing:-.015em!important;
  font-variation-settings:"SOFT" 42, "WONK" 1, "opsz" 72;
}
p,li,td,th,.nav-menu a,.btn,.chip,.kicker,.pill,.tag,.filter-btn,.product-actions a,.product-actions button,input,textarea,select,label{
  font-family:var(--font-ui)!important;
}
.gold-text{color:#d6a64a!important}

/* Hero rotator */
.home-hero{
  position:relative;
  min-height:84svh;
}
.hero-rotator .hero-slides{
  position:absolute; inset:0;
}
.hero-rotator .hero-slides img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  opacity:0;
  transform:scale(1.04);
  transition:opacity 1s ease, transform 6s ease;
}
.hero-rotator .hero-slides img.is-active{
  opacity:1;
  transform:scale(1);
}
.hero-rotator .hero-content{
  position:relative; z-index:2;
}
.home-hero h1{
  font-size:clamp(54px,7.2vw,94px)!important; /* légèrement réduit */
}
.hero-scroll-cue{
  margin-top:18px;
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,.68);
  animation:scrollCue 1.8s ease-in-out infinite;
}
@keyframes scrollCue{
  0%,100%{transform:translateY(0);opacity:.7}
  50%{transform:translateY(6px);opacity:1}
}

/* action cards */
.quick-actions-band .section-head.compact{margin-bottom:18px}
.action-card{
  padding:32px;
  border-radius:30px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,248,235,.72));
  border:1px solid rgba(93,64,25,.16);
  box-shadow:0 20px 60px rgba(77,48,12,.10), inset 0 1px 0 rgba(255,255,255,.86);
}
body:not(.light) .action-card{
  background:linear-gradient(145deg,rgba(19,15,11,.92),rgba(8,8,8,.88));
  border-color:rgba(248,223,154,.16);
}
.action-card .icon-badge{
  width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#e4c06c,#885312);
  color:#130d04;font-weight:800;
  margin-bottom:16px;
}

/* premium carousel */
.premium-carousel{
  border-radius:40px!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 14% 0,rgba(248,223,154,.16),transparent 34%),
    linear-gradient(135deg,#090604,#121008 52%,#061d13)!important;
  border:1px solid rgba(248,223,154,.16);
  box-shadow:0 30px 90px rgba(0,0,0,.34);
}
.premium-carousel .slide{
  grid-template-columns:1.05fr .95fr!important;
  min-height:520px;
}
.premium-carousel .slide img{
  height:520px!important;
  object-fit:cover;
  filter:saturate(1.04) contrast(1.02);
}
.premium-carousel .slide-body{
  background:
    radial-gradient(circle at 0 0,rgba(248,223,154,.18),transparent 32%),
    linear-gradient(135deg,rgba(7,7,7,.92),rgba(10,24,18,.94))!important;
}
.premium-carousel .slide-body .eyebrow{
  display:inline-flex;
  margin-bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#f2dfb2;
  border:1px solid rgba(248,223,154,.14);
}
.premium-carousel .slide-body h3{
  font-size:clamp(28px,3.2vw,48px);
}
.premium-carousel .slide-body p{
  font-size:17px;
  line-height:1.8;
}
.premium-carousel .carousel-controls button{
  width:46px!important;height:46px!important;
  background:rgba(0,0,0,.58)!important;
  backdrop-filter:blur(8px);
}

/* Renaissance panel */
.light-premium-section{
  position:relative;
}
.renaissance-panel{
  display:grid;
  grid-template-columns: minmax(300px,.92fr) minmax(0,1.08fr);
  gap:34px;
  align-items:center;
}
.renaissance-visual{
  position:relative;
  border-radius:34px;
  overflow:hidden;
  min-height:540px;
  box-shadow:var(--shadow);
}
.renaissance-visual img{
  width:100%;height:100%;object-fit:cover;
}
.renaissance-copy{
  position:relative;
  padding:36px;
  border-radius:34px;
  background:
    radial-gradient(circle at 8% 0,rgba(214,166,74,.16),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.82),rgba(255,248,235,.72));
  border:1px solid rgba(93,64,25,.14);
  box-shadow:0 22px 60px rgba(77,48,12,.10);
}
body:not(.light) .renaissance-copy{
  background:
    radial-gradient(circle at 8% 0,rgba(214,166,74,.12),transparent 30%),
    linear-gradient(145deg,rgba(20,15,11,.90),rgba(10,10,10,.84));
  border-color:rgba(248,223,154,.14);
}
.renaissance-copy h2{font-size:clamp(38px,4.8vw,70px)}
.premium-metrics{
  margin-top:20px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.premium-metrics > div{
  padding:18px 18px 16px;
  border-radius:22px;
  background:rgba(255,255,255,.52);
  border:1px solid rgba(93,64,25,.12);
}
body:not(.light) .premium-metrics > div{
  background:rgba(255,255,255,.04);
  border-color:rgba(248,223,154,.12);
}
.premium-metrics strong{
  display:block;
  font-size:34px;
  color:#b97816;
}
body:not(.light) .premium-metrics strong{color:#f8df9a}

/* News / spotlight */
.spotlight-grid{align-items:stretch}
.news-card.premium-news{
  overflow:hidden;
  border-radius:28px;
  background:inherit;
}
.news-card.premium-news img{
  width:100%;height:260px;object-fit:cover;display:block;
}
.news-card-body{
  padding:22px 22px 24px;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,248,235,.72));
  border:1px solid rgba(93,64,25,.12);
}
body:not(.light) .news-card-body{
  background:linear-gradient(145deg,rgba(19,15,11,.92),rgba(9,9,9,.86));
  border-color:rgba(248,223,154,.12);
}
.news-card-body a{
  display:inline-block;margin-top:10px;
}

/* project preview on home */
.project-preview-card{
  position:relative;border-radius:30px;overflow:hidden;min-height:350px;
}
.project-preview-card img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.project-preview-card .overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.78));
}
.project-preview-copy{
  position:absolute;left:0;right:0;bottom:0;padding:24px;color:#fff;z-index:1;
}
.project-preview-copy .tag{color:#f8df9a!important}

/* actualites page */
.news-masonry{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.media-article{
  border-radius:30px;overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,248,235,.74));
  border:1px solid rgba(93,64,25,.14);
  box-shadow:0 22px 60px rgba(77,48,12,.10);
}
body:not(.light) .media-article{
  background:linear-gradient(145deg,rgba(20,15,11,.92),rgba(9,9,9,.86));
  border-color:rgba(248,223,154,.12);
}
.media-article.featured{grid-column:span 2;grid-row:span 2}
.media-article img{width:100%;height:230px;object-fit:cover;display:block}
.media-article.featured img{height:360px}
.media-copy{padding:22px}
.media-copy a{display:inline-block;margin-top:10px}

.magazine-showcase{
  display:grid;grid-template-columns:minmax(300px,.88fr) minmax(0,1.12fr);gap:30px;align-items:center;
}
.magazine-poster{
  position:relative;
  border-radius:30px;overflow:hidden;
  min-height:620px;
  box-shadow:0 28px 90px rgba(0,0,0,.36);
}
.magazine-poster img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.magazine-overlay{
  position:absolute;inset:0;padding:28px;
  display:flex;flex-direction:column;justify-content:flex-end;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.84));
  color:#fff;
}
.magazine-overlay .mag-kicker{
  display:inline-flex;align-self:flex-start;
  padding:8px 12px;border-radius:999px;
  background:rgba(214,166,74,.18);
  color:#f8df9a;border:1px solid rgba(248,223,154,.24);
  margin-bottom:14px;
}
.magazine-overlay h3{
  font-size:clamp(34px,4vw,58px);
}
.media-kpi{
  text-align:center;padding:28px;
}
.media-kpi strong{
  display:block;font-size:30px;color:#b97816;
}
body:not(.light) .media-kpi strong{color:#f8df9a}

/* projects page */
.project-stats .card.priority{border-color:rgba(214,166,74,.34)}
.project-stats .card.prep{border-color:rgba(73,127,201,.28)}
.project-stats .card.partner{border-color:rgba(14,58,37,.34)}

.project-premium-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.project-card-premium{
  border-radius:30px;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(255,248,235,.74));
  border:1px solid rgba(93,64,25,.14);
  box-shadow:0 22px 60px rgba(77,48,12,.10);
}
body:not(.light) .project-card-premium{
  background:linear-gradient(145deg,rgba(20,15,11,.92),rgba(9,9,9,.86));
  border-color:rgba(248,223,154,.12);
}
.project-card-media{
  position:relative;min-height:220px;overflow:hidden;
}
.project-card-media img{
  width:100%;height:220px;object-fit:cover;display:block;
}
.project-card-premium.priority .project-card-media:after,
.project-card-premium.preparation .project-card-media:after,
.project-card-premium.partner .project-card-media:after{
  content:"";position:absolute;inset:0;
}
.project-card-premium.priority .project-card-media:after{
  background:linear-gradient(180deg,rgba(214,166,74,.08),rgba(0,0,0,.48));
}
.project-card-premium.preparation .project-card-media:after{
  background:linear-gradient(180deg,rgba(73,127,201,.10),rgba(0,0,0,.48));
}
.project-card-premium.partner .project-card-media:after{
  background:linear-gradient(180deg,rgba(14,58,37,.18),rgba(0,0,0,.50));
}
.status-ribbon,.project-id{
  position:absolute;z-index:2;
  display:inline-flex;align-items:center;
  padding:8px 12px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
}
.status-ribbon{top:16px;left:16px}
.project-id{bottom:16px;right:16px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.18)}
.project-card-premium.priority .status-ribbon{background:#e4c06c;color:#1a1006}
.project-card-premium.preparation .status-ribbon{background:#577eb4;color:#fff}
.project-card-premium.partner .status-ribbon{background:#0d3b27;color:#fff}
.project-card-body{padding:22px}
.project-card-body .objective{
  margin:16px 0 18px;
  padding:16px;border-radius:18px;
  background:rgba(255,255,255,.52);border:1px solid rgba(93,64,25,.10);
}
body:not(.light) .project-card-body .objective{
  background:rgba(255,255,255,.04);border-color:rgba(248,223,154,.10)
}
.project-card-body .objective span{
  display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#8a5207;font-weight:800;margin-bottom:6px;
}
body:not(.light) .project-card-body .objective span{color:#f8df9a}
.project-card-body .objective strong{
  display:block;font-size:18px;
}

.cta-panel{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center;
  padding:34px;border-radius:34px;
  background:
    radial-gradient(circle at 10% 0,rgba(248,223,154,.18),transparent 32%),
    linear-gradient(135deg,#090604,#121008 52%,#061d13);
  border:1px solid rgba(248,223,154,.16);
  box-shadow:0 28px 90px rgba(0,0,0,.32);
}
.cta-actions{
  display:grid;gap:12px;
}
.cta-actions .btn{min-width:220px}

@media (max-width:1050px){
  .premium-carousel .slide{grid-template-columns:1fr!important}
  .premium-carousel .slide img{height:300px!important}
  .renaissance-panel,.magazine-showcase,.cta-panel{grid-template-columns:1fr}
  .news-masonry,.project-premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media-article.featured{grid-column:span 2}
}
@media (max-width:700px){
  .news-masonry,.project-premium-grid,.spotlight-grid,.project-preview-grid{grid-template-columns:1fr}
  .media-article.featured{grid-column:span 1}
  .premium-metrics{grid-template-columns:1fr}
  .action-card,.renaissance-copy,.cta-panel,.project-card-body,.media-copy{padding:20px}
  .magazine-poster{min-height:500px}
}



/* Correctifs v15 — lisibilité globale du thème clair
   Objectif : aucun texte blanc/doré illisible sur fond clair.
   Principe :
   - section claire => textes sombres, doré profond ;
   - section sombre => cartes sombres, textes clairs ;
   - overlays image / hero / carousel / don restent en clair sur fond sombre contrôlé.
*/

/* 1) Palette texte claire robuste */
body.light{
  --ink:#1a1006;
  --muted:#57472c;
  --gold:#a96509;
  --gold2:#7d4904;
}

/* Sections claires : tout contenu standard doit être sombre */
body.light .section:not(.dark):not(.gold-section) h1,
body.light .section:not(.dark):not(.gold-section) h2,
body.light .section:not(.dark):not(.gold-section) h3,
body.light .section:not(.dark):not(.gold-section) h4,
body.light .section:not(.dark):not(.gold-section) h5,
body.light .section:not(.dark):not(.gold-section) h6,
body.light .section:not(.dark):not(.gold-section) p,
body.light .section:not(.dark):not(.gold-section) li,
body.light .section:not(.dark):not(.gold-section) dd,
body.light .section:not(.dark):not(.gold-section) dt,
body.light .section:not(.dark):not(.gold-section) label,
body.light .section:not(.dark):not(.gold-section) small,
body.light .section:not(.dark):not(.gold-section) span:not(.kicker):not(.pill):not(.tag):not(.status-ribbon):not(.project-id):not(.mag-kicker){
  color:#1a1006!important;
  text-shadow:none!important;
}
body.light .section:not(.dark):not(.gold-section) p,
body.light .section:not(.dark):not(.gold-section) li,
body.light .section:not(.dark):not(.gold-section) dd,
body.light .section:not(.dark):not(.gold-section) dt{
  color:#57472c!important;
}
body.light .section:not(.dark):not(.gold-section) .kicker,
body.light .section:not(.dark):not(.gold-section) .pill,
body.light .section:not(.dark):not(.gold-section) .tag,
body.light .section:not(.dark):not(.gold-section) .news span,
body.light .section:not(.dark):not(.gold-section) .project span,
body.light .section:not(.dark):not(.gold-section) .member span{
  color:#7d4904!important;
}
body.light .section:not(.dark):not(.gold-section) .kicker:before{
  background:#a96509!important;
}

/* Cartes sur fond clair : texte sombre garanti */
body.light .section:not(.dark):not(.gold-section) .card,
body.light .section:not(.dark):not(.gold-section) .news,
body.light .section:not(.dark):not(.gold-section) .project,
body.light .section:not(.dark):not(.gold-section) .member,
body.light .section:not(.dark):not(.gold-section) .value,
body.light .section:not(.dark):not(.gold-section) .partner,
body.light .section:not(.dark):not(.gold-section) .service,
body.light .section:not(.dark):not(.gold-section) .faq,
body.light .section:not(.dark):not(.gold-section) .legal,
body.light .section:not(.dark):not(.gold-section) .product-card,
body.light .section:not(.dark):not(.gold-section) .contact-card,
body.light .section:not(.dark):not(.gold-section) .myle-card,
body.light .section:not(.dark):not(.gold-section) .media-article,
body.light .section:not(.dark):not(.gold-section) .news-card-body,
body.light .section:not(.dark):not(.gold-section) .project-card-premium,
body.light .section:not(.dark):not(.gold-section) .action-card,
body.light .section:not(.dark):not(.gold-section) .renaissance-copy{
  background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(255,248,235,.78))!important;
  color:#1a1006!important;
  border-color:rgba(93,64,25,.18)!important;
}
body.light .section:not(.dark):not(.gold-section) .card h3,
body.light .section:not(.dark):not(.gold-section) .news h3,
body.light .section:not(.dark):not(.gold-section) .project h3,
body.light .section:not(.dark):not(.gold-section) .member h3,
body.light .section:not(.dark):not(.gold-section) .partner h3,
body.light .section:not(.dark):not(.gold-section) .service h3,
body.light .section:not(.dark):not(.gold-section) .faq h3,
body.light .section:not(.dark):not(.gold-section) .product-card h3,
body.light .section:not(.dark):not(.gold-section) .media-article h3,
body.light .section:not(.dark):not(.gold-section) .news-card-body h3,
body.light .section:not(.dark):not(.gold-section) .project-card-premium h3,
body.light .section:not(.dark):not(.gold-section) .action-card h3,
body.light .section:not(.dark):not(.gold-section) .renaissance-copy h2{
  color:#1a1006!important;
}
body.light .section:not(.dark):not(.gold-section) .card p,
body.light .section:not(.dark):not(.gold-section) .news p,
body.light .section:not(.dark):not(.gold-section) .project p,
body.light .section:not(.dark):not(.gold-section) .member p,
body.light .section:not(.dark):not(.gold-section) .partner p,
body.light .section:not(.dark):not(.gold-section) .service p,
body.light .section:not(.dark):not(.gold-section) .faq p,
body.light .section:not(.dark):not(.gold-section) .product-card p,
body.light .section:not(.dark):not(.gold-section) .media-article p,
body.light .section:not(.dark):not(.gold-section) .news-card-body p,
body.light .section:not(.dark):not(.gold-section) .project-card-premium p,
body.light .section:not(.dark):not(.gold-section) .action-card p,
body.light .section:not(.dark):not(.gold-section) .renaissance-copy p{
  color:#57472c!important;
}

/* 2) Sections sombres en thème clair : les cartes doivent rester sombres pour que les textes blancs soient lisibles */
body.light .section.dark .card,
body.light .section.dark .news,
body.light .section.dark .project,
body.light .section.dark .member,
body.light .section.dark .value,
body.light .section.dark .partner,
body.light .section.dark .service,
body.light .section.dark .faq,
body.light .section.dark .legal,
body.light .section.dark .product-card,
body.light .section.dark .contact-card,
body.light .section.dark .myle-card,
body.light .section.dark .media-article,
body.light .section.dark .news-card-body,
body.light .section.dark .project-card-premium,
body.light .section.dark .pricing,
body.light .section.dark .project-card-body,
body.light .section.dark .magazine-copy{
  background:
    radial-gradient(circle at 10% 0,rgba(248,223,154,.10),transparent 34%),
    linear-gradient(145deg,rgba(18,13,8,.96),rgba(8,18,13,.92))!important;
  color:#fff!important;
  border-color:rgba(248,223,154,.16)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06)!important;
}
body.light .section.dark h1,
body.light .section.dark h2,
body.light .section.dark h3,
body.light .section.dark h4,
body.light .section.dark .card h3,
body.light .section.dark .partner h3,
body.light .section.dark .pricing h3,
body.light .section.dark .media-article h3,
body.light .section.dark .project-card-premium h3,
body.light .section.dark .magazine-copy h3{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45)!important;
}
body.light .section.dark p,
body.light .section.dark li,
body.light .section.dark .card p,
body.light .section.dark .partner p,
body.light .section.dark .pricing p,
body.light .section.dark .media-article p,
body.light .section.dark .project-card-premium p,
body.light .section.dark .magazine-copy p{
  color:rgba(255,255,255,.82)!important;
}
body.light .section.dark .kicker,
body.light .section.dark .pill,
body.light .section.dark .tag,
body.light .section.dark .news span,
body.light .section.dark .project span,
body.light .section.dark .member span,
body.light .section.dark .product-card .pill{
  color:#f8df9a!important;
}
body.light .section.dark .kicker:before{
  background:#d6a64a!important;
}

/* 3) Carousel premium : toujours texte clair sur fond sombre contrôlé */
body.light .premium-carousel,
body.light .premium-carousel .slide,
body.light .premium-carousel .slide-body{
  background:
    radial-gradient(circle at 0 0,rgba(248,223,154,.18),transparent 34%),
    linear-gradient(135deg,rgba(8,6,4,.98),rgba(6,25,16,.95))!important;
  color:#fff!important;
}
body.light .premium-carousel h3,
body.light .premium-carousel p,
body.light .premium-carousel small,
body.light .premium-carousel .eyebrow{
  color:#fff!important;
}
body.light .premium-carousel p{
  color:rgba(255,255,255,.84)!important;
}
body.light .premium-carousel .kicker,
body.light .premium-carousel .tag{
  color:#f8df9a!important;
}
body.light .premium-carousel .eyebrow{
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(248,223,154,.18)!important;
}

/* 4) Métriques claires : libellés sombres, chiffres doré profond */
body.light .premium-metrics,
body.light .metrics.premium-metrics{
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
body.light .premium-metrics > div,
body.light .metrics.premium-metrics > div{
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(93,64,25,.16)!important;
}
body.light .premium-metrics strong,
body.light .metrics.premium-metrics strong{
  color:#8a5207!important;
  text-shadow:none!important;
}
body.light .premium-metrics span,
body.light .metrics.premium-metrics span{
  color:#3c2d19!important;
  text-shadow:none!important;
}

/* 5) Overlays sur images : garder en blanc, même si la section est claire */
body.light .hero,
body.light .hero *,
body.light .project-preview-copy,
body.light .project-preview-copy *,
body.light .magazine-overlay,
body.light .magazine-overlay *,
body.light .featured-overlay,
body.light .featured-overlay *,
body.light .project-card-media .status-ribbon,
body.light .project-card-media .project-id{
  color:#fff!important;
}
body.light .hero .kicker,
body.light .project-preview-copy .tag,
body.light .magazine-overlay .mag-kicker,
body.light .featured-overlay span{
  color:#f8df9a!important;
}
body.light .hero .gold-text{
  color:#d6a64a!important;
}

/* 6) Boutons ghost sur fonds clairs */
body.light .section:not(.dark):not(.gold-section) .btn.ghost{
  color:#1a1006!important;
  background:rgba(255,255,255,.58)!important;
  border-color:rgba(93,64,25,.22)!important;
}
body.light .section.dark .btn.ghost,
body.light .premium-carousel .btn.ghost,
body.light .donation-panel .btn.ghost{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(255,255,255,.28)!important;
}

/* 7) Prix, listes, détails, cartes adhésion */
body.light .section.dark .pricing strong,
body.light .section.dark .price{
  color:#f8df9a!important;
}
body.light .section:not(.dark):not(.gold-section) .price,
body.light .section:not(.dark):not(.gold-section) .pricing strong{
  color:#8a5207!important;
}
body.light .detail-list li{
  color:inherit!important;
}
body.light .section.dark .detail-list li{
  background:rgba(255,255,255,.05)!important;
  border-color:rgba(248,223,154,.14)!important;
}

/* 8) Zone don : volontairement sombre et lisible dans les deux thèmes */
body.light .donation-panel,
body.light .section:not(.dark):not(.gold-section) .donation-panel{
  background:
    radial-gradient(circle at 12% 0,rgba(255,226,162,.35),transparent 34%),
    radial-gradient(circle at 86% 18%,rgba(13,59,39,.48),transparent 34%),
    linear-gradient(135deg,#130d05 0%,#1c170d 48%,#082618 100%)!important;
  color:#fff!important;
  border-color:rgba(185,120,22,.38)!important;
}
body.light .donation-panel h2,
body.light .donation-panel p,
body.light .donation-panel .kicker,
body.light .donation-panel .hero-actions:before,
body.light .donation-panel .hero-actions:after{
  color:#fff!important;
}
body.light .donation-panel .kicker{
  color:#f8df9a!important;
}

/* 9) Gold section : texte sombre, jamais blanc */
body.light .gold-section,
body.light .gold-section *:not(.btn){
  color:#160e04!important;
}
body.light .gold-section .kicker{
  color:#3a2303!important;
}



/* Correctifs v16 — don lisible + CTA luxury + scroll cue action */

/* 1) Bloc don : priorité absolue de lisibilité.
   Il reste volontairement sombre, donc tous les textes internes doivent être clairs. */
body.light .donation-panel,
body .donation-panel{
  position:relative;
  color:#fff!important;
}
body.light .donation-panel *,
body .donation-panel *{
  text-shadow:none;
}
body.light .donation-panel h1,
body.light .donation-panel h2,
body.light .donation-panel h3,
body.light .donation-panel p,
body.light .donation-panel span:not(.btn),
body.light .donation-panel small,
body.light .donation-panel strong,
body .donation-panel h1,
body .donation-panel h2,
body .donation-panel h3,
body .donation-panel p,
body .donation-panel span:not(.btn),
body .donation-panel small,
body .donation-panel strong{
  color:#fff!important;
  text-shadow:0 2px 14px rgba(0,0,0,.42)!important;
}
body.light .donation-panel .kicker,
body .donation-panel .kicker{
  color:#f8df9a!important;
  text-shadow:0 2px 14px rgba(0,0,0,.48)!important;
}
body.light .donation-panel .kicker:before,
body .donation-panel .kicker:before{
  background:#f8df9a!important;
}
body.light .donation-panel .hero-actions:before,
body.light .donation-panel .hero-actions:after,
body .donation-panel .hero-actions:before,
body .donation-panel .hero-actions:after{
  color:#f8df9a!important;
  border-color:rgba(248,223,154,.28)!important;
  background:rgba(255,255,255,.065)!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45)!important;
}

/* 2) CTA ultra premium luxury — tous les boutons */
.btn,
button.btn,
a.btn,
.product-actions a,
.product-actions button{
  position:relative!important;
  isolation:isolate;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  overflow:hidden!important;
  border-radius:999px!important;
  border:1px solid rgba(248,223,154,.28)!important;
  min-height:48px;
  padding:13px 22px!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  transform:translateZ(0);
  transition:
    transform .28s cubic-bezier(.16,1,.3,1),
    box-shadow .28s cubic-bezier(.16,1,.3,1),
    border-color .28s ease,
    background .28s ease,
    color .28s ease!important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.18)!important;
}
.btn:before,
.product-actions a:before,
.product-actions button:before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:-2;
  border-radius:inherit;
  background:
    linear-gradient(120deg,rgba(248,223,154,.0),rgba(248,223,154,.54),rgba(255,255,255,.18),rgba(248,223,154,.0));
  transform:translateX(-125%) skewX(-18deg);
  transition:transform .72s cubic-bezier(.16,1,.3,1);
  opacity:.72;
}
.btn:after,
.product-actions a:after,
.product-actions button:after{
  content:"";
  position:absolute;
  inset:1px;
  z-index:-1;
  border-radius:inherit;
  background:
    radial-gradient(circle at 22% 0,rgba(255,255,255,.24),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.015));
  pointer-events:none;
}
.btn:hover,
.product-actions a:hover,
.product-actions button:hover{
  transform:translateY(-3px) scale(1.012)!important;
  border-color:rgba(248,223,154,.58)!important;
  box-shadow:
    0 22px 52px rgba(0,0,0,.24),
    0 0 0 1px rgba(248,223,154,.12),
    inset 0 1px 0 rgba(255,255,255,.26)!important;
}
.btn:hover:before,
.product-actions a:hover:before,
.product-actions button:hover:before{
  transform:translateX(125%) skewX(-18deg);
}
.btn:active,
.product-actions a:active,
.product-actions button:active{
  transform:translateY(-1px) scale(.992)!important;
}

/* Gold CTA : bijou doré */
.btn.gold,
body.light .btn.gold{
  color:#160d03!important;
  background:
    linear-gradient(135deg,#fff1c2 0%,#f8df9a 20%,#d6a64a 48%,#a96509 100%)!important;
  border-color:rgba(255,232,166,.62)!important;
  box-shadow:
    0 18px 48px rgba(185,120,22,.26),
    0 0 0 1px rgba(255,241,194,.18),
    inset 0 1px 0 rgba(255,255,255,.50),
    inset 0 -10px 22px rgba(92,49,5,.18)!important;
}
.btn.gold:after{
  background:
    radial-gradient(circle at 24% 0,rgba(255,255,255,.46),transparent 30%),
    linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.03))!important;
}

/* Ghost CTA : verre fumé premium sur sombre, ivoire premium sur clair */
.btn.ghost{
  color:#fff!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.115),rgba(255,255,255,.035))!important;
  border-color:rgba(248,223,154,.28)!important;
  backdrop-filter:blur(10px);
}
body.light .section:not(.dark):not(.gold-section) .btn.ghost{
  color:#1a1006!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,248,235,.56))!important;
  border-color:rgba(93,64,25,.22)!important;
  box-shadow:
    0 15px 36px rgba(77,48,12,.12),
    inset 0 1px 0 rgba(255,255,255,.86)!important;
}
body.light .section.dark .btn.ghost,
body.light .premium-carousel .btn.ghost,
body.light .donation-panel .btn.ghost,
body .donation-panel .btn.ghost{
  color:#fff!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035))!important;
  border-color:rgba(248,223,154,.34)!important;
}

/* Dark CTA utilisé sur fonds dorés */
.btn.dark,
body.light .btn.dark{
  color:#fff!important;
  background:
    radial-gradient(circle at 20% 0,rgba(248,223,154,.16),transparent 26%),
    linear-gradient(135deg,#090604,#171008 52%,#062116)!important;
  border-color:rgba(248,223,154,.32)!important;
}

/* Petits boutons : garder le luxe sans gonfler */
.btn.small{
  min-height:40px!important;
  padding:10px 16px!important;
}

/* Halo premium au focus clavier */
.btn:focus-visible,
.product-actions a:focus-visible,
.product-actions button:focus-visible{
  outline:0!important;
  box-shadow:
    0 0 0 3px rgba(248,223,154,.22),
    0 20px 52px rgba(0,0,0,.24)!important;
}

/* 3) Indicateur hero “Défiler” remplacé par une vraie action iconique */
.hero-scroll-cue.luxury-scroll-cue{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:66px;
  margin-top:22px;
  border-radius:999px;
  border:1px solid rgba(248,223,154,.34);
  background:
    linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
  box-shadow:
    0 12px 30px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.16);
  backdrop-filter:blur(8px);
  text-indent:-9999px;
  overflow:hidden;
  transition:transform .28s cubic-bezier(.16,1,.3,1), border-color .28s ease, background .28s ease;
}
.hero-scroll-cue.luxury-scroll-cue:hover{
  transform:translateY(4px);
  border-color:rgba(248,223,154,.58);
  background:
    linear-gradient(135deg,rgba(248,223,154,.16),rgba(255,255,255,.04));
}
.hero-scroll-cue.luxury-scroll-cue span{
  width:6px;
  height:6px;
  border-radius:50%;
  background:#f8df9a;
  box-shadow:0 0 14px rgba(248,223,154,.65);
  animation:luxuryScrollDot 1.65s ease-in-out infinite;
}
.hero-scroll-cue.luxury-scroll-cue:after{
  content:"";
  position:absolute;
  bottom:12px;
  width:10px;
  height:10px;
  border-right:1.5px solid rgba(248,223,154,.88);
  border-bottom:1.5px solid rgba(248,223,154,.88);
  transform:rotate(45deg);
}
@keyframes luxuryScrollDot{
  0%{transform:translateY(-16px);opacity:0}
  30%{opacity:1}
  75%{transform:translateY(15px);opacity:.92}
  100%{transform:translateY(18px);opacity:0}
}

/* Accessibilité motion */
@media (prefers-reduced-motion: reduce){
  .btn,
  .btn:before,
  .hero-scroll-cue.luxury-scroll-cue span{
    animation:none!important;
    transition:none!important;
  }
}



/* Correctifs v18 — sélecteur multilingue à drapeaux type ASYM, adapté ARC */

.notranslate{
  translate:no;
}

.language-switcher{
  position:relative;
  display:inline-flex;
  align-items:center;
  z-index:1005;
}

.language-toggle{
  min-width:78px;
  justify-content:center;
  gap:8px!important;
  padding-inline:13px!important;
  border-color:rgba(248,223,154,.24)!important;
  background:
    radial-gradient(circle at 22% 0,rgba(248,223,154,.16),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.035))!important;
  box-shadow:
    0 12px 28px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.16)!important;
}

body.light .language-toggle{
  color:#1a1006!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.86),rgba(255,248,235,.62))!important;
  border-color:rgba(93,64,25,.20)!important;
  box-shadow:
    0 12px 28px rgba(77,48,12,.11),
    inset 0 1px 0 rgba(255,255,255,.82)!important;
}

#activeFlag{
  font-size:18px;
  line-height:1;
}

#activeLang{
  font-size:12px;
  letter-spacing:.10em;
  font-weight:900;
}

.language-menu{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  min-width:220px;
  padding:9px;
  display:none;
  z-index:1008;
  border-radius:22px;
  border:1px solid rgba(248,223,154,.20);
  background:
    radial-gradient(circle at 10% 0,rgba(248,223,154,.14),transparent 32%),
    linear-gradient(145deg,rgba(12,8,5,.98),rgba(7,20,14,.96));
  box-shadow:
    0 26px 80px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(18px);
}

body.light .language-menu{
  background:
    radial-gradient(circle at 10% 0,rgba(185,120,22,.10),transparent 32%),
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,248,235,.92));
  border-color:rgba(93,64,25,.17);
  box-shadow:
    0 24px 70px rgba(77,48,12,.18),
    inset 0 1px 0 rgba(255,255,255,.82);
}

.language-switcher.is-open .language-menu{
  display:grid;
  animation:langMenuIn .22s cubic-bezier(.16,1,.3,1) both;
}

.language-menu button{
  border:0;
  background:transparent;
  text-align:left;
  padding:12px 13px;
  border-radius:14px;
  cursor:pointer;
  font-weight:850;
  color:rgba(255,255,255,.90);
  letter-spacing:-.005em;
  transition:background .22s ease, transform .22s cubic-bezier(.16,1,.3,1), color .22s ease;
}

body.light .language-menu button{
  color:#1a1006;
}

.language-menu button:hover,
.language-menu button.is-active{
  background:rgba(248,223,154,.13);
  color:#f8df9a;
  transform:translateX(3px);
}

body.light .language-menu button:hover,
body.light .language-menu button.is-active{
  background:rgba(185,120,22,.10);
  color:#7d4904;
}

@keyframes langMenuIn{
  from{opacity:0;transform:translateY(-8px) scale(.98)}
  to{opacity:1;transform:none}
}

/* Google Translate propre : widget caché, sans bannière ni décalage */
#google_translate_element{
  position:absolute!important;
  left:-9999px!important;
  top:-9999px!important;
  width:0!important;
  height:0!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

.goog-te-banner-frame,
.goog-te-balloon-frame,
body > .skiptranslate,
.goog-te-gadget,
.goog-te-combo,
.goog-te-spinner-pos,
.goog-te-spinner,
.goog-te-spinner-animation,
.goog-te-spinner-animation *,
[class*="goog-te-spinner"],
[class*="VIpgJd-ZVi9od-aZ2wEe"],
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  width:0!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

body{
  top:0!important;
}

html.translated-rtl body{
  direction:rtl;
}

html.translated-rtl .nav-wrap,
html.translated-rtl .hero-actions,
html.translated-rtl .footer-grid,
html.translated-rtl .section-head{
  direction:rtl;
}

@media(max-width:760px){
  .language-menu{
    right:auto;
    left:50%;
    transform:translateX(-50%);
  }
  .language-switcher.is-open .language-menu{
    animation:langMenuMobileIn .22s cubic-bezier(.16,1,.3,1) both;
  }
  @keyframes langMenuMobileIn{
    from{opacity:0;transform:translateX(-50%) translateY(-8px) scale(.98)}
    to{opacity:1;transform:translateX(-50%)}
  }
}
