/* ============================================================
   TK REDESIGN 2026 — couche additive "wow / epure clean"
   SEO-safe : aucun HTML/URL/contenu touche. Charge en DERNIER.
   Objectif : hero propre (plus de vide), 0 debordement mobile,
   cartes/boutons/typo premium, micro-motion subtile.
   ============================================================ */
:root{
  --tk-gold:#D4AF37; --tk-gold-2:#F4E5B2; --tk-ink:#0b0b0d; --tk-ink-2:#141418;
  --tk-line:rgba(212,175,55,.18); --tk-radius:16px;
  --tk-shadow:0 10px 40px -12px rgba(0,0,0,.55);
  --tk-ease:cubic-bezier(.22,1,.36,1);
}

/* ---- 0. FILET ANTI-DEBORDEMENT (bug mobile prioritaire) ---- */
*,*::before,*::after{box-sizing:border-box;}
html,body{max-width:100%;overflow-x:hidden;}
img,video,svg,iframe{max-width:100%;height:auto;}
*{min-width:0;}
/* contraint tout conteneur/grille pour empecher le depassement viewport */
.container,section,header,footer,main,.row,.hero-cta,.hero-stats,.features,.section-header,[class*="grid"],[style*="grid-template"]{max-width:100% !important;}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;}
.hero-home-premium h1,h1,h2{white-space:normal !important;overflow-wrap:anywhere;}

/* ---- 1. HERO ACCUEIL : supprime le vide, recentre, epure ---- */
.hero-home-premium{
  min-height:clamp(560px,82vh,760px) !important;
  padding:96px 1.25rem 72px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  background-position:center !important; background-size:cover !important;
  position:relative;
}
.hero-home-premium::after{ /* overlay lisible mais l'image reste visible */
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(120% 90% at 50% 30%,rgba(8,8,10,.35) 0%,rgba(8,8,10,.72) 70%,rgba(8,8,10,.9) 100%);
}
.hero-home-premium > *{position:relative; z-index:1;}
.hero-home-premium .container,.hero-home-premium .hero-content{max-width:920px;margin:0 auto;text-align:center;}
.hero-badge{
  display:inline-block;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700;
  padding:.5rem 1.1rem;border:1px solid var(--tk-line);border-radius:999px;
  background:rgba(212,175,55,.08);color:var(--tk-gold-2);backdrop-filter:blur(6px);
}
.hero-home-premium h1{
  font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#fff;
  font-size:clamp(2rem,5.4vw,4rem);line-height:1.08;letter-spacing:-.02em;margin:1.1rem 0 1rem;
  text-shadow:0 4px 24px rgba(0,0,0,.5);
}
.hero-subtitle{
  color:rgba(240,237,232,.9) !important;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.7;
  max-width:680px;margin:0 auto 2rem;
}

/* ---- 2. STATS HERO : grille responsive, jamais coupee ---- */
.hero-stats{
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;
  max-width:760px;margin:0 auto 2rem;
}
@media(max-width:720px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
.stat-item{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;
  padding:1rem .5rem;text-align:center;backdrop-filter:blur(8px);
  transition:transform .3s var(--tk-ease),border-color .3s var(--tk-ease);
}
.stat-item:hover{transform:translateY(-4px);border-color:var(--tk-line);}
.stat-value{display:block;font-size:1.5rem;font-weight:800;color:var(--tk-gold);line-height:1;}
.stat-label{display:block;margin-top:.35rem;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(240,237,232,.7);}

/* ---- 3. BOUTONS : premium, coherents, avec etat ---- */
.btn,.btn-primary,.btn-gold,.btn-outline,.btn-lg,.btn-sm{
  border-radius:999px !important;font-weight:700 !important;letter-spacing:.01em;
  transition:transform .25s var(--tk-ease),box-shadow .25s var(--tk-ease),background .25s var(--tk-ease) !important;
}
.btn-primary,.btn-gold{
  background:linear-gradient(135deg,#E7C766,var(--tk-gold)) !important;color:#1a1204 !important;
  box-shadow:0 6px 22px -6px rgba(212,175,55,.6) !important;border:none !important;
}
.btn-primary:hover,.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(212,175,55,.7) !important;}
.btn-outline{border:1.5px solid var(--tk-gold) !important;color:var(--tk-gold) !important;background:transparent !important;}
.btn-outline:hover{background:rgba(212,175,55,.1) !important;transform:translateY(-2px);}

/* ---- 4. CARTES premium : ombre douce, hover lift, coins nets ---- */
.card-premium,.feature-item,.card{
  border-radius:var(--tk-radius) !important;
  transition:transform .35s var(--tk-ease),box-shadow .35s var(--tk-ease) !important;
  overflow:hidden;
}
.card-premium:hover,.feature-item:hover{transform:translateY(-6px);box-shadow:var(--tk-shadow) !important;}
.card-premium img,.card img{transition:transform .5s var(--tk-ease);}
.card-premium:hover img,.card:hover img{transform:scale(1.04);}

/* ---- 5. SECTIONS : rythme vertical + badges epures ---- */
.section-header{text-align:center;margin-bottom:2.4rem;}
.section-badge{
  display:inline-block;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:700;
  color:var(--tk-gold);padding:.4rem 1rem;border:1px solid var(--tk-line);border-radius:999px;margin-bottom:.9rem;
}
.section-header h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.01em;line-height:1.15;}

/* ---- 6. micro-motion douce a l'apparition (respecte reduce-motion) ---- */
@media(prefers-reduced-motion:no-preference){
  .card-premium,.feature-item,.section-header{animation:tkFade .7s var(--tk-ease) both;}
  @keyframes tkFade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
}

/* ---- 7. mobile : padding sain, titres qui ne debordent jamais ---- */
@media(max-width:560px){
  .hero-home-premium{min-height:74vh !important;padding:80px 1rem 52px !important;}
  .hero-home-premium h1{font-size:clamp(1.7rem,7.5vw,2.4rem) !important;}
  /* grilles inline en 1 colonne pour ne jamais depasser */
  [style*="minmax(280px"],[style*="minmax(300px"]{grid-template-columns:1fr !important;}
}
