/* ===== SHARED SITE HEADER — synchronisé avec index.html ===== */
:root{
  --navy:#1C2B6B;--navy-dark:#0F1A4A;--navy-light:#2A3F8A;
  --gold:#B6A427;--gold-light:#D4BD3A;--gold-dark:#8A7B1A;
  --dark:#0D1117;--white:#FFFFFF;--cream:#F8F4EE;--light:#E8E4DC;--muted:#6B7280;
  --font-display:'Montserrat',sans-serif;--font-serif:'Cormorant Garamond',serif;--font-body:'Open Sans',sans-serif;
  --grad-gold:linear-gradient(135deg,#B6A427 0%,#D4BD3A 50%,#8A7B1A 100%);
  --grad-navy:linear-gradient(135deg,#0F1A4A 0%,#1C2B6B 100%);
  --shadow-sm:0 2px 8px rgba(28,43,107,.08);--shadow-md:0 8px 30px rgba(28,43,107,.12);
  --shadow-gold:0 4px 20px rgba(182,164,39,.35);
  --tr:0.3s cubic-bezier(.4,0,.2,1);
  --radius-sm:8px;--radius-pill:9999px
}
.sh-container{max-width:1280px;margin:0 auto;padding:0 max(clamp(1rem,4vw,2rem),env(safe-area-inset-right,0px)) 0 max(clamp(1rem,4vw,2rem),env(safe-area-inset-left,0px))}

.header{position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-md)}
.header-top{background:var(--navy-dark);color:rgba(255,255,255,.75);font-size:.8rem;padding:.45rem 0}
.header-top-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.header-top-left{display:flex;align-items:center;gap:.4rem;font-family:var(--font-display);font-weight:500}
.header-top-right{display:flex;align-items:center;gap:20px}
.header-top-link{display:flex;align-items:center;gap:.35rem;color:rgba(255,255,255,.75);transition:var(--tr);font-size:.8rem}
.header-top-link:hover{color:var(--gold)}
.header-top-wa{color:#25D366!important}
.header-social{display:flex;align-items:center;gap:.6rem}
.header-social-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);color:rgba(255,255,255,.75);transition:var(--tr)}
.header-social-icon:hover{background:var(--gold);color:var(--dark);transform:scale(1.1)}
.header-main{background:white;border-bottom:3px solid var(--gold)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:0}
.header-logo img{height:155px;width:auto;object-fit:contain;margin-top:calc(-155px * 0.32 + 20px);margin-bottom:calc(-155px * 0.32 + 20px)}
.nav-list{display:flex;align-items:center;gap:.25rem;list-style:none}
.nav-link{display:flex;align-items:center;gap:.3rem;padding:.5rem .9rem;font-family:var(--font-display);font-size:1rem;font-weight:600;color:#1A1A2E;border-radius:4px;transition:var(--tr);position:relative;letter-spacing:.02em;white-space:nowrap;text-decoration:none}
.nav-link::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--grad-gold);border-radius:2px;transition:var(--tr)}
.nav-link:hover{color:var(--navy);background:rgba(28,43,107,.06)}
.nav-link:hover::after,.nav-link.active::after{width:calc(100% - 1.8rem)}
.nav-link.active{color:var(--navy);background:rgba(28,43,107,.06)}

.header-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 2rem;border-radius:4px;font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.05em;cursor:pointer;border:2px solid transparent;transition:var(--tr);text-transform:uppercase;white-space:nowrap}
.header-btn-primary{position:relative;overflow:hidden;background:var(--grad-gold);color:var(--dark);box-shadow:var(--shadow-gold);animation:header-btn-glow 2.6s ease-in-out infinite}
.header-btn-primary::before{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%);background-size:200% 100%;animation:header-btn-shimmer 2.2s linear infinite;pointer-events:none;border-radius:inherit}
.header-btn-primary:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 36px rgba(182,164,39,.6)}
.header-btn-primary:active{transform:translateY(0) scale(.98)}
@keyframes header-btn-glow{0%,100%{box-shadow:var(--shadow-gold)}50%{box-shadow:0 8px 30px rgba(182,164,39,.65),0 0 0 6px rgba(182,164,39,.08)}}
@keyframes header-btn-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.header-btn-sm{padding:.6rem 1.25rem;font-size:.8rem}

.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;gap:5px;background:none;border:none;cursor:pointer;flex-shrink:0;padding:6px;border-radius:var(--radius-sm)}
.hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:var(--tr)}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{display:none;position:fixed;inset:0;z-index:1001;background:rgba(8,14,40,0);transition:background .35s ease}
.mobile-nav.open{background:rgba(8,14,40,.6)}
.mobile-nav-panel{position:absolute;left:0;top:0;bottom:0;width:min(80vw,310px);background:#f7f6f2;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .38s cubic-bezier(.4,0,.2,1);overflow:hidden;padding-left:env(safe-area-inset-left,0px)}
.mobile-nav.open .mobile-nav-panel{transform:translateX(0)}

.mnav-header{background:var(--navy-dark);padding:1rem 1.25rem .9rem;position:relative;flex-shrink:0}
.mnav-brand{font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:#fff;letter-spacing:.03em}
.mnav-brand span{color:var(--gold)}
.mnav-tagline{font-size:.68rem;color:rgba(255,255,255,.5);margin-top:.2rem;font-style:italic}
.mnav-close-btn{position:absolute;top:.85rem;right:1rem;width:30px;height:30px;border-radius:50%;background:var(--gold);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--navy-dark);transition:transform .2s,opacity .2s}
.mnav-close-btn:active{transform:scale(.9);opacity:.85}

.mnav-body{flex:1;padding:.35rem 0 0;overflow:hidden}
.mnav-section{font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding:.55rem 1.25rem .3rem}
.mnav-item{display:flex;align-items:center;gap:.65rem;padding:.52rem .85rem;text-decoration:none;transition:background .15s;margin:0 .65rem .22rem;border-radius:12px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.mnav-item:active{background:#eef0fa;transform:scale(.98)}
.mnav-icon{width:36px;height:36px;border-radius:10px;background:var(--navy-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}
.mnav-label{flex:1;font-family:var(--font-display);font-size:.82rem;font-weight:700;color:var(--navy-dark);line-height:1.2}
.mnav-label small{display:block;font-size:.67rem;font-weight:500;color:#888;margin-top:.08rem}
.mnav-arrow{color:#c8cdd8;flex-shrink:0}
.mnav-item--gold{background:linear-gradient(135deg,#fffbe6 0%,#fff8d6 100%);border:1.5px solid rgba(182,164,39,.3)}
.mnav-item--gold:active{background:#fff3b0}
.mnav-icon--gold{background:var(--grad-gold);color:var(--navy-dark)}
.mnav-label--gold{color:var(--navy-dark);font-weight:800}

.mnav-cta{padding:.6rem 1.25rem calc(1.1rem + env(safe-area-inset-bottom,0px));flex-shrink:0}
.mnav-contact-link{display:block;text-align:center;padding:.4rem 1rem;color:var(--navy-dark);font-size:.75rem;font-weight:600;font-style:italic;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(28,43,107,.4);transition:color .2s,text-decoration-color .2s}
.mnav-contact-link:hover{color:var(--gold);text-decoration-color:var(--gold)}
.mnav-contact-link svg{display:none}

@media(max-width:768px){
  .sh-container{padding:0 1.25rem}
  .nav-list{display:none}
  .header-top-left{display:flex}
  .header-top-wa{display:none}
  .header-top-left .header-top-link{font-size:.7rem}
  .header-logo img{height:115px}
  .hamburger{display:flex}
  .header-logo img{height:72px;margin-top:calc(-72px * 0.28 + 10px);margin-bottom:calc(-72px * 0.28 + 10px)}
  .header-logo{order:3}
  #header-cta{order:2}
  .hamburger{order:1;padding-left:0;align-items:flex-start}
  .header-inner > nav{display:none}
  #header-cta{padding:.45rem .85rem;font-size:.72rem;gap:.3rem;letter-spacing:.04em}
  #header-cta svg{width:13px;height:13px;flex-shrink:0}
}
