/* ==================== RESET & BASE ==================== */
*{margin:0;padding:0;box-sizing:border-box;}
body{
    background:#0b0f1e;
    font-family:'Manrope', sans-serif;
    color:#ece8dd;
  }

/* ==================== FOND ETOILE ==================== */
.bg-layer{
    position:fixed;
    inset:0;
    z-index:-1;
    background-image:url("../images/starfield.svg");
    background-repeat:repeat;
    background-size:800px 800px;
  }

/* ==================== HEADER ==================== */
header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:100;
    padding:28px 0;
    transition:background 0.35s ease, padding 0.35s ease, border-color 0.35s ease;
    border-bottom:1px solid transparent;
  }
header.scrolled{
    background:rgba(5,7,15,0.94);
    backdrop-filter:blur(10px);
    padding:16px 0;
    border-bottom:1px solid rgba(198,161,91,0.18);
  }
.header-wrap{
    max-width:1760px;
    margin:0 auto;
    padding:0 clamp(24px, 4vw, 72px);
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:clamp(24px, 3vw, 56px);
  }
.logo-link{flex-shrink:0; line-height:0; justify-self:start;}
.header-logo{height:72px; display:block; transition:height 0.35s ease; filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5));}
header.scrolled .header-logo{height:52px;}
nav.main-nav{display:flex; align-items:center; justify-self:center;}
nav.main-nav ul{display:flex; gap:clamp(24px, 2.4vw, 44px); list-style:none;}
nav.main-nav a{
    font-size:1.02rem;
    font-weight:600;
    letter-spacing:0.03em;
    text-transform:uppercase;
    color:#ece8dd;
    text-decoration:none;
    transition:color 0.25s ease;
    position:relative;
    padding-bottom:6px;
    white-space:nowrap;
    text-shadow:0 1px 4px rgba(0,0,0,0.55);
  }
nav.main-nav a.active{color:#d9bc7c;}
nav.main-nav a.active::after{
    content:'';
    position:absolute;
    bottom:0; left:0; right:0;
    height:2px;
    background:#c6a15b;
  }
nav.main-nav a:hover{color:#f2d9a3;}
.btn-gold-nav{
    display:inline-flex;
    align-items:center;
    padding:16px 36px;
    border-radius:3px;
    font-size:0.95rem;
    letter-spacing:0.04em;
    text-transform:uppercase;
    font-weight:700;
    background:#c6a15b;
    color:#0b0f1e;
    text-decoration:none;
    transition:background 0.25s ease, box-shadow 0.25s ease;
    white-space:nowrap;
    flex-shrink:0;
    justify-self:end;
  }
.btn-gold-nav:hover{background:#d9bc7c; box-shadow:0 0 24px rgba(198,161,91,0.4);}
.menu-toggle{display:none; background:none; border:none; color:#ece8dd; font-size:2rem; cursor:pointer; flex-shrink:0; justify-self:end;}

/* ==================== EYEBROW ==================== */
.eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:1.04rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#c9cad3;
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:24px;
  }
.eyebrow::before{content:''; width:26px; height:1px; background:#d9bc7c;}

/* ==================== PAGE HERO (sous-pages) ==================== */
.page-hero{
    position:relative;
    width:100%;
  }
.page-hero-photo{
    display:block;
    width:100%;
    height:auto;
  }
.page-hero-scrim{
    position:absolute;
    inset:0;
    background:
      linear-gradient(0deg, #05070f 0%, rgba(5,7,15,0.75) 28%, rgba(5,7,15,0.3) 55%, rgba(5,7,15,0.05) 78%),
      linear-gradient(180deg, #05070f 0%, rgba(5,7,15,0.55) 12%, transparent 26%);
  }
.page-hero-content{
    position:absolute;
    inset:0;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
  }
.page-hero-inner{
    max-width:1500px;
    margin:0 auto;
    padding:0 clamp(24px, 4vw, 72px);
    width:100%;
    text-align:center;
    transform:translateY(30px);
  }
.page-hero-inner h1{
    font-family:'Manrope', sans-serif;
    font-weight:800;
    font-size:clamp(2.2rem, 4.2vw, 3.6rem);
    line-height:1.05;
    letter-spacing:-0.01em;
    color:#ece8dd;
    text-shadow:0 2px 20px rgba(0,0,0,0.55), 0 1px 4px rgba(0,0,0,0.6);
    white-space:nowrap;
  }
.page-hero-inner h1 em{
    font-style:normal;
    background:linear-gradient(180deg, #d9bc7c, #c6a15b);
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
  }
.page-filler{
    min-height:50vh;
    padding-top:100px;
    text-align:center;
    color:#5b6178;
    font-size:0.9rem;
  }

/* ==================== FOOTER ==================== */
.footer-logo{height:86px; display:block; align-self:center;}
.contact-col{align-self:flex-start; display:flex; flex-direction:column; gap:34px; align-items:center;}
footer{
    border-top:1px solid rgba(198,161,91,0.18);
    padding:52px 0 28px;
    background:#05070f;
  }
.footer-wrap{
    max-width:1760px;
    margin:0 auto;
    padding:0 clamp(24px, 4vw, 72px);
  }
.top-row{
    display:flex;
    justify-content:center;
    align-items:flex-start;
    gap:clamp(90px, 12vw, 220px);
    margin-bottom:36px;
  }
.info-block{display:inline-flex; flex-direction:column; align-items:center; text-align:center;}
.hours-address{display:flex; flex-direction:column; gap:34px; align-items:center;}
.info-label{
    display:block;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:#d9bc7c;
    margin-bottom:6px;
    text-align:center;
  }
.info-value{font-size:0.92rem; color:#c9cad3; line-height:1.5; text-align:center;}
.info-value a{
    color:#ece8dd;
    text-decoration:none;
    border-bottom:1px solid rgba(236,232,221,0.3);
    transition:color 0.2s ease, border-color 0.2s ease;
  }
.footer-bottom{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:28px;
    padding-top:24px;
    border-top:1px solid rgba(198,161,91,0.1);
    font-family:'IBM Plex Mono', monospace;
    font-size:0.75rem;
    color:#6f7688;
    flex-wrap:wrap;
  }
.footer-bottom a{color:#6f7688; text-decoration:none;}
.footer-bottom a:hover{color:#d9bc7c;}
.footer-bottom .sep{color:#3a4058;}

/* ==================== BOUTON COPIER EMAIL ==================== */
.copy-btn{
    position:absolute;
    left:100%;
    top:50%;
    transform:translateY(-50%);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:none;
    border:none;
    padding:2px;
    margin-left:6px;
    cursor:pointer;
    color:#8b93a7;
    transition:color 0.2s ease;
  }
.copy-btn:hover{color:#d9bc7c;}
.copy-btn svg{width:14px; height:14px; display:block;}
.copy-btn .icon-check{display:none;}
.copy-btn.copied{color:#d9bc7c;}
.copy-btn.copied .icon-copy{display:none;}
.copy-btn.copied .icon-check{display:block;}
.copy-feedback{position:relative; display:inline-block;}
.copy-feedback::after{
    content:'Copié !';
    position:absolute;
    left:50%;
    bottom:calc(100% + 8px);
    transform:translateX(-50%) translateY(4px);
    background:#0f1428;
    border:1px solid rgba(198,161,91,0.3);
    color:#ece8dd;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.7rem;
    padding:4px 10px;
    border-radius:3px;
    white-space:nowrap;
    opacity:0;
    pointer-events:none;
    transition:opacity 0.2s ease, transform 0.2s ease;
  }
.copy-feedback.show::after{
    opacity:1;
    transform:translateX(-50%) translateY(0);
  }

/* ==================== PAGE HERO — MOBILE ==================== */
@media (max-width:640px){
    .page-hero{min-height:300px;}
    .page-hero-photo{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .page-hero-inner h1{
      white-space:normal;
      font-size:1.6rem;
      line-height:1.25;
    }
  }

/* ==================== RESPONSIVE (header + footer) ==================== */
@media (max-width:1100px){
    nav.main-nav, .btn-gold-nav{display:none;}
    .menu-toggle{display:block;}
    .header-logo{height:44px;}

    header.nav-open{background:rgba(5,7,15,0.98); border-bottom:1px solid rgba(198,161,91,0.18);}
    header.nav-open nav.main-nav{
      display:block;
      position:fixed;
      top:var(--header-h, 84px);
      left:0; right:0;
      background:rgba(5,7,15,0.98);
      backdrop-filter:blur(10px);
      border-bottom:1px solid rgba(198,161,91,0.18);
      padding:8px 0 20px;
      max-height:calc(100vh - var(--header-h, 84px));
      overflow-y:auto;
    }
    header.nav-open nav.main-nav ul{
      flex-direction:column;
      gap:0;
      padding:0 clamp(24px, 6vw, 72px);
    }
    header.nav-open nav.main-nav li{width:100%;}
    header.nav-open nav.main-nav a{
      display:block;
      padding:16px 0;
      border-bottom:1px solid rgba(255,255,255,0.06);
      font-size:1rem;
    }
    header.nav-open nav.main-nav a.active::after{display:none;}
    header.nav-open .btn-gold-nav{
      display:block;
      text-align:center;
      margin:16px clamp(24px, 6vw, 72px) 0;
    }
  }
@media (max-width:700px){
    .top-row{flex-direction:column; align-items:center; gap:36px;}
    .contact-col{align-self:center;}
  }