/* =========================================================
   V2.4.0 — PRESTIGE
   Amélioration visuelle non destructive de la base v2.3.1
   ========================================================= */

:root{
  --prestige-gold:#c8a24a;
  --prestige-gold-soft:rgba(200,162,74,.18);
  --prestige-ivory:#f4eddf;
  --prestige-shadow:0 28px 80px rgba(0,0,0,.42);
}

html,body{width:100%;max-width:100%;overflow-x:hidden}
body{background-image:radial-gradient(circle at 50% -15%,rgba(200,162,74,.055),transparent 36%)}

/* Titres et rythme éditorial */
h1,h2,h3{font-kerning:normal;text-wrap:balance}
section{position:relative}
section:not(.bg-section):not(.hero):not(.quote):not(.quote-band)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  width:min(88%,1220px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(200,162,74,.22),transparent);
  pointer-events:none;
}
.kicker,.eyebrow,.ey,.k{letter-spacing:.22em}

/* Hero cinématographique sans modifier la structure */
.hero{isolation:isolate}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  box-shadow:inset 0 -100px 120px rgba(0,0,0,.38);
}
.hero-content{z-index:3}
.hero h1{text-shadow:0 4px 30px rgba(0,0,0,.38)}
.hero h2{
  margin-top:18px;
  max-width:900px;
  color:#d8cbb4;
  font-family:Inter,Arial,sans-serif;
  font-size:clamp(16px,1.65vw,25px);
  font-weight:400;
  line-height:1.38;
  letter-spacing:.055em;
}
.hero img.bg,.hero>img:first-child{will-change:transform;transform:scale(1.015)}

/* Boutons */
.btn,.cta,.footer-cta,.transition a{
  position:relative;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.20);
}
.btn::before,.cta::before,.footer-cta::before,.transition a::before{
  content:"";
  position:absolute;
  top:-120%;
  left:-45%;
  width:34%;
  height:340%;
  transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transition:left .55s ease;
  pointer-events:none;
}
.btn:hover::before,.cta:hover::before,.footer-cta:hover::before,.transition a:hover::before{left:125%}
.btn:hover,.footer-cta:hover{box-shadow:0 16px 34px rgba(0,0,0,.34)}

/* Citations */
.quote,.quote-band,.closing-reflection{position:relative;overflow:hidden}
.quote::before,.quote-band::before,.closing-reflection::before{
  content:"“";
  position:absolute;
  left:50%;
  top:48%;
  transform:translate(-50%,-50%);
  color:rgba(200,162,74,.055);
  font:400 clamp(180px,25vw,420px)/1 Georgia,'Times New Roman',serif;
  pointer-events:none;
}
.quote p,.quote-band blockquote,.closing-reflection p{position:relative;z-index:1}

/* Photos façon galerie / musée */
.photo-card,.feature img,.wide-figure img,.timeline-media img,.family-photo img,.student-photo img,.gallery-item,.tile{
  box-shadow:var(--prestige-shadow);
}
.photo-card::after,.gallery-item::after,.tile::after{
  content:"";
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.07);
  border-radius:inherit;
  pointer-events:none;
}
.photo-card img,.feature img,.timeline-media img,.family-photo img,.student-photo img,.gallery-item img,.tile img{
  transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .75s ease !important;
}
.photo-card:hover img,.feature:hover img,.timeline-media:hover img,.family-photo:hover img,.student-photo:hover img,.gallery-item:hover img,.tile:hover img{
  transform:scale(1.022) !important;
  filter:saturate(.95) contrast(1.03);
}

/* Statistiques */
.stats{gap:18px}
.stat{
  position:relative;
  overflow:hidden;
  min-height:148px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(145deg,rgba(200,162,74,.075),rgba(255,255,255,.018));
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
.stat::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--prestige-gold),transparent);
}
.stat strong{font-variant-numeric:tabular-nums}

/* Lignée : transforme la ligne existante en frise prestigieuse */
.transmission-line{
  position:relative;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0 !important;
  margin-top:42px !important;
  padding:34px 0 0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--prestige-ivory) !important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(16px,1.35vw,21px) !important;
  line-height:1.3;
  text-align:center;
}
.transmission-line::before{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  top:13px;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--prestige-gold),var(--prestige-gold),transparent);
}
.transmission-line span{
  position:relative;
  color:transparent !important;
  font-size:0 !important;
}
.transmission-line span::before{
  content:"";
  position:absolute;
  left:50%;
  top:-26px;
  width:9px;
  height:9px;
  border:1px solid var(--prestige-gold);
  border-radius:50%;
  background:#0b0b0b;
  transform:translateX(-50%);
  box-shadow:0 0 0 6px rgba(200,162,74,.08);
}

/* Cartes et panneaux */
.bg-box,.schedule-card,.card,.feature-card,.value-card,.course-card,.mma-block{
  border-color:rgba(200,162,74,.24) !important;
  background-image:linear-gradient(145deg,rgba(200,162,74,.045),rgba(255,255,255,.012));
}
.bg-box{backdrop-filter:blur(12px)}

/* Galerie : respiration et survol */
.gallery-item,.tile{position:relative;overflow:hidden}
.gallery-item::before,.tile::before{
  content:"Voir";
  position:absolute;
  right:18px;
  bottom:18px;
  z-index:2;
  padding:7px 11px;
  border:1px solid rgba(200,162,74,.38);
  border-radius:999px;
  background:rgba(6,6,6,.72);
  color:#eee4d2;
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .3s ease,transform .3s ease;
  pointer-events:none;
}
.gallery-item:hover::before,.tile:hover::before{opacity:1;transform:none}

/* Scroll reveal plus raffiné */
.reveal,.reveal-on-scroll{
  transition-duration:.85s !important;
  transition-timing-function:cubic-bezier(.2,.7,.2,1) !important;
}

@media(max-width:900px){
  .transmission-line{
    grid-template-columns:1fr !important;
    gap:30px !important;
    padding:0 0 0 30px !important;
    text-align:left;
  }
  .transmission-line::before{
    left:7px;right:auto;top:8px;bottom:8px;width:1px;height:auto;
    background:linear-gradient(transparent,var(--prestige-gold),transparent);
  }
  .transmission-line span{display:none}
  .transmission-line br{display:none}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero img.bg,.hero>img:first-child{transform:none !important}
}

@media(max-width:560px){
  .stats{grid-template-columns:1fr}
  .stat{min-height:128px}
  .gallery-item::before,.tile::before{display:none}
}

@media(prefers-reduced-motion:reduce){
  .hero img.bg,.hero>img:first-child{transform:none !important}
  .btn::before,.cta::before,.footer-cta::before,.transition a::before{display:none}
}


/* V2.4.1 — correctifs ciblés validés */

/* Accueil : lignée lisible, structurée et responsive */
.transmission-line{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:10px 12px !important;
  margin-top:30px !important;
  padding:18px 20px !important;
  border:1px solid rgba(200,162,74,.30) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.025) !important;
  line-height:1.35 !important;
}
.transmission-line::before{display:none !important;content:none !important;}
.transmission-line .transmission-person{
  display:inline-flex !important;
  align-items:center !important;
  min-height:38px !important;
  padding:4px 2px !important;
  border-radius:0 !important;
  background:transparent !important;
  border:0 !important;
  color:#f4ead5 !important;
  font-size:14px !important;
  font-weight:700 !important;
  white-space:nowrap !important;
}
.transmission-line .transmission-arrow{
  display:inline-block !important;
  color:var(--gold,var(--g,#c8a24a)) !important;
  font-size:18px !important;
  line-height:1 !important;
}
.transmission-line .transmission-arrow::before{display:none !important;content:none !important;}
@media(max-width:720px){
  .transmission-line{display:grid !important;grid-template-columns:1fr !important;justify-items:center !important;gap:8px !important;}
  .transmission-line .transmission-arrow{transform:rotate(90deg) !important;}
  .transmission-line .transmission-person{white-space:normal !important;text-align:center !important;justify-content:center !important;width:100% !important;max-width:290px !important;}
}

/* Wing Chun : uniquement un léger zoom, sans pastille/cercle sombre */
body .gallery .tile::before,
body .gallery .tile::after{display:none !important;content:none !important;}
body .gallery .tile img{transition:transform .55s ease,filter .55s ease !important;}
body .gallery .tile:hover img{transform:scale(1.035) !important;filter:brightness(1.04) contrast(1.02) !important;}

/* Découvrir : section "Une autre facette" équilibrée */
.protection-section .protection-heading{
  max-width:none !important;
  width:100% !important;
  margin:0 0 48px !important;
  text-align:center !important;
}
.protection-section .protection-row{
  grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.protection-section .protection-row.reverse{
  grid-template-columns:minmax(0,1.28fr) minmax(240px,.72fr) !important;
}
.protection-section .protection-media{
  max-width:100% !important;
  width:100% !important;
}
.protection-section .protection-media img{
  width:100% !important;
  max-height:520px !important;
  object-fit:contain !important;
  background:#090909 !important;
}
.protection-section .protection-copy{max-width:660px !important;}
.protection-quote{
  display:block !important;
  max-width:1000px !important;
  margin:80px auto 0 !important;
  text-align:center !important;
}

/* Découvrir : titres et introductions centrés */
.family-section .section-head,
.fun-memories .section-head{
  max-width:1050px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}
.family-section .section-head h2{
  white-space:nowrap !important;
  font-size:clamp(34px,4.5vw,68px) !important;
}
.family-section .section-head p,
.fun-memories .section-head p{
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
@media(max-width:900px){
  .protection-section .protection-row,
  .protection-section .protection-row.reverse{grid-template-columns:1fr !important;}
  .protection-section .protection-row.reverse .protection-copy{order:2 !important;}
  .protection-section .protection-row.reverse .protection-media{order:1 !important;}
  .family-section .section-head h2{white-space:normal !important;}
}


/* V2.4.5 — correctifs ciblés */
/* Accueil : suppression définitive de tous les cercles décoratifs de la lignée */
.transmission-line > *::before,
.transmission-line > *::after,
.transmission-line .transmission-person::before,
.transmission-line .transmission-person::after,
.transmission-line .transmission-arrow::before,
.transmission-line .transmission-arrow::after{
  display:none !important;
  content:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
}

/* V6.0.4 — derniers ajustements après contrôle smartphone */
@media(max-width:620px){
  /* Wing Chun — « Plus qu'un art martial » : image réellement mise en valeur */
  section.compact-plus .photo.plus-photo{
    width:100% !important;
    min-height:500px !important;
    height:500px !important;
    max-height:500px !important;
    overflow:hidden !important;
    border-radius:24px !important;
  }
  section.compact-plus .photo.plus-photo > img[src$="wing-chun-03.jpg"]{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:none !important;
  }

  /* Cours & Horaires — hero centré, sous la barre de navigation */
  .hero > img[src$="classes-02.jpg"]{
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:82px auto 0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }

  /* Cours & Horaires — photo de groupe : conserver le groupe adulte et masquer les filles */
  img[src$="classes-06.jpg"]{
    width:100% !important;
    height:210px !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:scale(1.42) !important;
    transform-origin:center top !important;
    display:block !important;
  }

  /* Cours particuliers — titre sur une seule ligne */
  .private-card h3{
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    font-size:clamp(20px,6.2vw,24px) !important;
    letter-spacing:-.025em !important;
  }

  /* Famille Tang — « La transmission continue » : photo complète */
  img[src$="tang-family-11.jpg"]{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    background:#080808 !important;
  }

  /* Galerie — laisser la navigation au-dessus de la photo sans masquer les visages */
  .hero > img[src$="gallery-02.jpg"]{
    margin-top:82px !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }
}

/* Valeurs — effet miroir garanti sur ordinateur et smartphone */
.hero > img[src$="values-02.jpg"]{
  transform:scaleX(-1) !important;
  transform-origin:center center !important;
}
@media(max-width:620px){
  .hero > img[src$="values-02.jpg"]{
    transform:scaleX(-1) !important;
    object-fit:contain !important;
    object-position:center center !important;
  }
}
