/* ═══════════════════════════════════════════
   VF IMAGES — CSS GLOBAL PARTAGÉ
   Toutes les pages utilisent ce fichier
═══════════════════════════════════════════ */

/* ── Reset & Variables ── */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--gold:#b08c4a;--dark:#0d0b08;--dark2:#14110d;--dark3:#1c1812;--light:#f5f3ef;--text:rgba(245,243,239,.92);--cream-warm:#dcd4c0;--cream-soft:rgba(220,212,192,.65)}
html{scroll-behavior:smooth}
body{background:var(--dark);color:var(--light);font-family:'Raleway',sans-serif;font-weight:300;overflow-x:hidden}

/* ── Curseur custom ── */
.cursor{position:fixed;width:5px;height:5px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%)}
.cursor-ring{position:fixed;width:28px;height:28px;border:1px solid rgba(201,169,110,0.8);border-radius:50%;pointer-events:none;z-index:9998;transition:width .4s,height .4s,border-color .35s;transform:translate(-50%,-50%)}
.cursor-ring.h{width:48px;height:48px;border-color:var(--gold)}

/* ── Navigation ── */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;padding:1.6rem 4rem;transition:background .4s,backdrop-filter .4s}
nav.scrolled{background:transparent}
.logo img{height:80px;width:auto;display:block}
nav ul{list-style:none;display:flex;gap:3rem}
nav ul li a{font-size:0.80rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(245,243,239,.92);text-decoration:none;transition:color .3s;font-family:'Raleway',sans-serif;font-weight:400}
nav ul li a:hover,nav ul li a.active{color:var(--gold)}

/* ── Lang buttons FR/EN ── */
.lang{font-size:0.80rem;letter-spacing:.15em;color:rgba(245,243,239,.92);display:flex;align-items:center;gap:.3rem}
.lang-btn{background:none!important;border:none!important;-webkit-appearance:none!important;appearance:none!important;font-family:'Raleway',sans-serif;font-size:0.80rem;letter-spacing:.2em;color:rgba(245,243,239,.92);cursor:pointer;padding:.2rem .4rem;font-weight:400;transition:color .3s}
.lang-btn.active{color:var(--gold)!important;background:none!important;border:none!important}
.lang-btn:hover{color:var(--gold)}
.lang-sep{color:rgba(245,243,239,.92);font-size:0.80rem}

/* ── Hamburger ── */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:6px;z-index:201}
.hamburger span{display:block;width:22px;height:1px;background:rgba(245,243,239,.92);transition:transform .4s cubic-bezier(0.22,1,0.36,1),opacity .3s;transform-origin:center}
.hamburger.open span:nth-child(1){transform:translateY(6px) rotate(45deg);background:var(--gold)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);background:var(--gold)}

/* ── Nav overlay mobile ── */
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(10,10,10,.97);z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:2.5rem;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .45s cubic-bezier(0.22,1,0.36,1)}
.nav-overlay.open{opacity:1;pointer-events:auto;visibility:visible}
.nav-overlay a{font-family:'Raleway',sans-serif;font-size:1.8rem;font-weight:200;letter-spacing:.3em;text-transform:uppercase;color:rgba(245,243,239,.92);text-decoration:none;transition:color .3s}
.nav-overlay a:hover{color:var(--gold)}
.nav-overlay .overlay-lang{font-size:0.80rem;letter-spacing:.3em;color:rgba(245,243,239,.92);margin-top:1rem}
.nav-overlay .overlay-lang span{color:var(--gold)}

/* ── Boutons ── */
.btn{display:inline-block;padding:1rem 3rem;border:1px solid var(--gold);color:var(--gold);font-size:0.80rem;letter-spacing:.35em;text-transform:uppercase;text-decoration:none;transition:background .4s,color .4s;font-family:'Raleway',sans-serif;font-weight:400;background:transparent}
.btn:hover{background:var(--gold);color:var(--dark)}

/* ── Sections communes ── */
.section-label{font-size:0.80rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-warm);font-family:'Raleway',sans-serif;font-weight:400}
.section-link{font-size:0.80rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cream-warm);text-decoration:none;border-bottom:1px solid var(--cream-soft);padding-bottom:.2rem;transition:color .3s,border-color .3s;white-space:nowrap;font-family:'Raleway',sans-serif;font-weight:400}
.section-link:hover{color:var(--gold);border-color:var(--gold)}

/* ── Footer ── */
footer{padding:4rem;border-top:1px solid rgba(201,169,110,0.8);display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"logo copy social";align-items:center;gap:2rem}
.footer-logo{grid-area:logo}
.footer-logo img{height:48px;width:auto;opacity:.8}
.footer-copy{grid-area:copy;font-size:0.80rem;letter-spacing:.2em;color:rgba(245,243,239,.92);text-align:center}
.footer-social{grid-area:social;display:flex;gap:1.5rem}
.footer-social a{font-size:0.80rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,243,239,.92);text-decoration:none;transition:color .3s}
.footer-social a:hover{color:var(--gold)}

/* ── Cookie banner ── */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:999;background:rgba(10,10,10,.97);border-top:1px solid rgba(201,169,110,0.8);padding:1.5rem 4rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cookie-text{font-size:0.80rem;color:rgba(245,243,239,.92);line-height:1.6;flex:1}
.cookie-text a{color:var(--gold)}
.cookie-btns{display:flex;gap:1rem;flex-shrink:0}
.cookie-btn{font-family:'Raleway',sans-serif;font-size:0.80rem;letter-spacing:.15em;text-transform:uppercase;padding:.6rem 1.5rem;cursor:pointer;border:1px solid rgba(201,169,110,0.8);background:none;color:rgba(245,243,239,.92);transition:all .3s}
.cookie-btn.accept{background:var(--gold);color:var(--dark);border-color:var(--gold)}

/* ── Skip link ── */
.skip-link{position:absolute;top:-100px;left:1rem;background:var(--gold);color:var(--dark);padding:.5rem 1rem;font-size:0.80rem;text-decoration:none;z-index:9999;transition:top .3s}
.skip-link:focus{top:1rem}

/* ── Animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(0.22,1,0.36,1),transform .7s cubic-bezier(0.22,1,0.36,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── Cursor masqué mobile ── */
@media(max-width:900px){
  .cursor,.cursor-ring{display:none!important}
  body{cursor:auto!important}
  nav{padding:1.2rem 1.5rem}
  .hamburger{display:flex}
  .nav-overlay{display:flex}
  nav ul{display:none}
  .logo img{height:64px}
  footer{padding:3rem 1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}
  .footer-logo,.footer-copy,.footer-social{grid-area:unset;justify-self:unset}
  #cookie-banner{padding:1.2rem 1.5rem;flex-direction:column;align-items:flex-start}
  .nav-overlay a{font-size:1.4rem}
}

/* ── MOBILE GLOBAL — lisibilité ── */
@media(max-width:900px){
  /* Textes — taille de base augmentée */
  body{font-size:20px}
  .section-label{font-size:1.2rem!important;letter-spacing:.1em}
  .section-link{font-size:1.2rem!important;letter-spacing:.1em}
  .btn{font-size:1.15rem!important;padding:.9rem 2rem;letter-spacing:.12em}
  .footer-copy{font-size:1.05rem!important;letter-spacing:.06em}
  .footer-social a{font-size:1.05rem!important}
  .cookie-text{font-size:1.05rem!important;letter-spacing:.03em}
  .lang-btn{font-size:1.15rem!important}
  .nav-overlay .overlay-lang{font-size:1.05rem!important;letter-spacing:.1em}
  .photo-caption{font-size:1.15rem!important}
  .serie-text{font-size:1.15rem!important;line-height:1.85!important}
  .contact-bandeau-text{font-size:1.05rem!important}
  .art-title{font-size:clamp(1.5rem,5.5vw,2rem)!important}
  .art-title-sm{font-size:clamp(1.3rem,4.5vw,1.6rem)!important}
  .art-excerpt{font-size:1.05rem!important;line-height:1.9!important}
  .intro-title{font-size:clamp(2.5rem,10vw,4rem)!important}
  /* Menu hamburger — texte plus lisible */
  .nav-overlay a{letter-spacing:.1em!important;font-size:2rem!important}

  /* Lang buttons — reset Safari */
  .lang-btn{-webkit-appearance:none!important;appearance:none!important;background:none!important;border:none!important}
}

@media(max-width:480px){
  nav{padding:1rem 1.2rem}
  .logo img{height:56px}
}

@media(max-width:900px){
  .hero-home{flex-direction:column!important;justify-content:center!important;align-items:center!important}
  .hero-home .hero-content{width:100%!important;max-width:100%!important;padding:0!important;box-sizing:border-box!important;text-align:center!important;align-items:center!important;display:flex!important;flex-direction:column!important;flex:0 0 auto!important}
  .hero-name{text-align:center!important;width:100%!important;letter-spacing:.12em!important;display:block!important;padding:0!important;box-sizing:border-box!important;text-transform:uppercase!important}
}

@media(max-width:900px){
  .scroll-indicator{position:absolute!important;bottom:1.5rem!important;left:0!important;right:0!important;transform:none!important;align-items:center!important;display:flex!important;flex-direction:column!important}
}

@media(max-width:900px){
  .hero-tagline{font-size:1.2rem!important}
  .hero-fineart{font-size:1rem!important;letter-spacing:.12em!important}
  .hero-eyebrow{font-size:1rem!important}
  .hero-prenom{font-size:1.1rem!important}
}

@media(max-width:900px){
  .photo-scroll, .photos-container, .gallery-photos{overflow-x:hidden!important;max-width:100vw!important}
  .photo-item img{max-width:100%!important}
}

/* ── Gallery FAB — raccourci galerie toujours visible ── */
.gallery-fab{
  position:fixed;bottom:2rem;left:2rem;z-index:1001;
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:'Raleway',sans-serif;font-size:0.80rem;letter-spacing:.22em;
  text-transform:uppercase;text-decoration:none;font-weight:400;
  color:var(--gold);
  opacity:0;pointer-events:none;transform:translateY(6px);
  transition:opacity .45s ease,transform .45s ease,text-shadow .3s;
}
.gallery-fab.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.gallery-fab:hover{text-shadow:0 0 20px rgba(201,169,110,.4)}
.gallery-fab svg{flex-shrink:0;transition:transform .3s}
.gallery-fab:hover svg{transform:translateX(-3px)}
@media(max-width:768px){
  .gallery-fab{bottom:1.2rem;left:1.2rem;font-size:0.75rem}
}

/* ── Action 37 : Micro-typographie — Drop-cap & text-wrap ── */
.dropcap::first-letter{
  font-family:'Bodoni Moda',serif;
  font-style:italic;
  font-weight:500;
  color:var(--gold);
  float:left;
  font-size:4.5rem;
  line-height:0.9;
  padding:0.35rem 0.55rem 0 0;
}
body{text-wrap:pretty}

/* ── Action 38 : Grain SVG argentique ── */
body::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  opacity:0.22;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");
}
main,footer{position:relative;z-index:2}
.contact-bandeau{width:100%;background:var(--dark);padding:3.5rem 6vw;display:flex;justify-content:center;border-top:1px solid rgba(201,169,110,.2)}
.contact-bandeau-text{font-family:'Raleway',sans-serif;font-style:italic;font-weight:200;font-size:clamp(.9rem,1.4vw,1.1rem);line-height:1.9;color:rgba(245,243,239,.65);text-align:center;max-width:560px;letter-spacing:.03em}
.contact-bandeau-text a{color:rgba(201,169,110,.9);text-decoration:none;border-bottom:1px solid rgba(201,169,110,.3);transition:color .3s,border-color .3s}
.contact-bandeau-text a:hover{color:var(--gold);border-color:var(--gold)}
@media(max-width:768px){.contact-bandeau{padding:2.5rem 2rem}}
/* nav est déjà position:fixed z-index:200 — pas besoin de surcharge */
/* Désactivé sur petits mobiles pour éviter les saccades GPU */
@media(max-width:600px){body::before{display:none}}
