/* ============================================================
   YESHUA-HAMASHIACH — COUCHE DE DESIGN « NUIT VERS L'AUBE »
   Chargée APRÈS style.css : elle raffine sans casser l'existant.
   ============================================================ */

:root{
  --yh-midnight:#08131E;
  --yh-navy:#0B1D2A;
  --yh-navy-soft:#12293A;
  --yh-gold:#E8B04B;
  --yh-gold-lt:#F4CE7E;
  --yh-coral:#E89B7B;
  --yh-cream:#FBF7EF;
  --yh-ink:#16202B;
  --yh-muted:#6C7A88;
  --yh-hairline:rgba(232,176,75,.28);
}

/* ---------- 1. TYPOGRAPHIE ÉDITORIALE ---------- */
.font-manrope,
h1, h2, h3,
.hero-title{
  font-family:'Lora', Georgia, serif !important;
  
  letter-spacing:normal;
}
h1{ font-weight:600 !important; line-height:1.15 !important; }
h2{ font-weight:600 !important; line-height:1.25 !important; }
h3{ font-weight:600 !important; }

/* Le hero respire : plus grand, plus resserré */
#hero h1{
  font-size:clamp(2.9rem, 7.2vw, 6rem) !important;
  letter-spacing:normal;
  text-wrap:balance;
}
#hero h2{
  font-family:'Inter',sans-serif !important;
  font-weight:600 !important;
  font-size:clamp(.85rem,1.5vw,1rem) !important;
  letter-spacing:.34em !important;
  text-transform:uppercase;
}
#hero p{ text-wrap:balance; }

/* Titres de section : échelle plus affirmée */
section h2{ font-size:clamp(2.1rem, 4.6vw, 3.6rem) !important; }

/* ---------- 2. SIGNATURE : LE FILET D'AUBE ---------- */
/* Une ligne d'horizon dorée qui se lève sous chaque titre de section */
.yh-eyebrow{
  display:inline-flex; align-items:center; gap:.7rem;
  font-family:'Inter',sans-serif;
  font-size:.7rem; font-weight:700;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--yh-gold);
  margin-bottom:1.1rem;
}
.yh-eyebrow::before{
  content:''; width:34px; height:1px;
  background:linear-gradient(90deg,transparent,var(--yh-gold));
}
.yh-horizon{
  width:120px; height:2px; margin:1.4rem auto 0;
  background:linear-gradient(90deg,transparent,var(--yh-gold),transparent);
  position:relative;
}
.yh-horizon::after{
  content:''; position:absolute; left:50%; top:50%;
  width:7px; height:7px; border-radius:50%;
  transform:translate(-50%,-50%);
  background:var(--yh-gold-lt);
  box-shadow:0 0 14px 3px rgba(232,176,75,.55);
}
.yh-horizon.left{ margin-left:0; margin-right:auto; }

/* ---------- 3. MATIÈRE : GRAIN + HALOS D'AUBE ---------- */
.yh-grain{ position:relative; isolation:isolate; }
.yh-grain::after{
  content:''; position:absolute; inset:0; z-index:1;
  pointer-events:none; opacity:.32; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.42'/%3E%3C/svg%3E");
}
.yh-grain > *{ position:relative; z-index:2; }

.yh-dawn{
  background:
    radial-gradient(1100px 520px at 18% -10%, rgba(232,176,75,.16), transparent 60%),
    radial-gradient(900px 480px at 88% 108%, rgba(232,155,123,.14), transparent 62%),
    linear-gradient(168deg,var(--yh-midnight) 0%, var(--yh-navy) 45%, #0D2434 100%) !important;
}

/* ---------- 4. PROFONDEUR : CARTES & SURFACES ---------- */
/* Cartes claires : ombre douce en couches plutôt qu'un simple bord */
.bg-white.rounded-xl, .bg-white.rounded-2xl,
.bg-white.rounded-lg, .card, .quick-access-card{
  border-radius:20px !important;
  border:1px solid rgba(11,29,42,.07) !important;
  box-shadow:
    0 1px 2px rgba(11,29,42,.04),
    0 8px 24px -8px rgba(11,29,42,.10),
    0 24px 48px -24px rgba(11,29,42,.14) !important;
  transition:transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s !important;
}
.bg-white.rounded-xl:hover, .bg-white.rounded-2xl:hover,
.card:hover, .quick-access-card:hover{
  transform:translateY(-5px);
  box-shadow:
    0 2px 4px rgba(11,29,42,.05),
    0 16px 36px -10px rgba(11,29,42,.16),
    0 40px 70px -30px rgba(11,29,42,.22) !important;
}

/* Cartes sur fond sombre : verre + liseré doré */
.yh-glass{
  background:linear-gradient(160deg, rgba(251,247,239,.075), rgba(251,247,239,.025)) !important;
  border:1px solid rgba(251,247,239,.10) !important;
  border-radius:20px !important;
  backdrop-filter:blur(12px);
  transition:border-color .4s, transform .45s cubic-bezier(.2,.7,.3,1), box-shadow .45s;
}
.yh-glass:hover{
  border-color:var(--yh-hairline) !important;
  transform:translateY(-5px);
  box-shadow:0 26px 60px -26px rgba(0,0,0,.7);
}

/* ---------- 5. BOUTONS ---------- */
.btn-primary, .btn-primary-small{
  background:linear-gradient(135deg,var(--yh-gold),var(--yh-coral)) !important;
  color:var(--yh-navy) !important;
  border:none !important;
  border-radius:100px !important;
  font-weight:700 !important;
  letter-spacing:.005em;
  box-shadow:0 10px 30px -10px rgba(232,176,75,.65) !important;
  transition:transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s !important;
}
.btn-primary:hover, .btn-primary-small:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 42px -12px rgba(232,176,75,.8) !important;
}
.btn-secondary{
  background:rgba(251,247,239,.09) !important;
  color:var(--yh-cream) !important;
  border:1px solid rgba(251,247,239,.22) !important;
  border-radius:100px !important;
  font-weight:600 !important;
  backdrop-filter:blur(10px);
  transition:background .3s, border-color .3s, transform .3s !important;
}
.btn-secondary:hover{
  background:rgba(251,247,239,.15) !important;
  border-color:var(--yh-hairline) !important;
  transform:translateY(-2px);
}
.btn-outline{
  border:1px solid rgba(251,247,239,.28) !important;
  color:var(--yh-cream) !important;
  border-radius:100px !important;
  font-weight:600 !important;
  background:transparent !important;
  transition:border-color .3s, background .3s, transform .3s !important;
}
.btn-outline:hover{
  border-color:var(--yh-gold) !important;
  background:rgba(232,176,75,.10) !important;
  transform:translateY(-2px);
}
.btn-primary, .btn-secondary, .btn-outline{
  padding:1rem 2.1rem !important;
  display:inline-flex !important; align-items:center; justify-content:center;
  font-size:1rem !important;
}

/* ---------- 6. NAVIGATION ---------- */
#mainNav{
  background:rgba(8,19,30,.72) !important;
  backdrop-filter:blur(20px) saturate(140%);
  border-bottom:1px solid rgba(251,247,239,.07);
  box-shadow:none !important;
}
#mainNav.yh-scrolled{
  background:rgba(8,19,30,.94) !important;
  border-bottom-color:var(--yh-hairline);
}
.nav-link{
  font-size:.9rem !important; font-weight:500 !important;
  letter-spacing:.01em; position:relative;
  transition:color .3s !important;
}
.nav-link::after{
  content:''; position:absolute; left:0; bottom:-6px;
  width:0; height:1.5px; background:var(--yh-gold);
  transition:width .35s cubic-bezier(.2,.7,.3,1);
}
.nav-link:hover::after, .nav-link.active::after{ width:100%; }

/* ---------- 7. RÉVÉLATION AU DÉFILEMENT ---------- */
.yh-reveal{
  opacity:0; transform:translateY(26px);
  transition:opacity .9s cubic-bezier(.2,.7,.3,1), transform .9s cubic-bezier(.2,.7,.3,1);
}
.yh-reveal.yh-in{ opacity:1; transform:none; }

/* ---------- 8. RESPIRATION ---------- */
section{ padding-top:clamp(4.5rem,9vw,8rem) !important; padding-bottom:clamp(4.5rem,9vw,8rem) !important; }
#hero{ padding:0 !important; }
p{ text-wrap:pretty; }

/* Citations bibliques : traitement éditorial */
.yh-verse{
  font-family:'Lora',Georgia,serif;
  font-style:italic; font-weight:400;
  color:var(--yh-gold-lt);
  line-height:1.45;
}

/* ---------- 9. ACCESSIBILITÉ ---------- */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible{
  outline:2px solid var(--yh-gold);
  outline-offset:3px;
  border-radius:6px;
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
  .yh-reveal{ opacity:1 !important; transform:none !important; }
}
