/* Contact accessible dès l'ouverture : en-tête fixe, fenêtre de contact rapide, barre mobile. */

/* En-tête toujours visible pendant le défilement */
.header{position:fixed;top:0;left:0;z-index:60;transition:background .3s,height .3s,border-color .3s,box-shadow .3s}
.header .official-logo{transition:width .3s,height .3s}
body.header-compact .header{height:74px;background:#0f1f36e8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom-color:#e0e9ff26;box-shadow:0 10px 35px #050d1a55}
body.header-compact .brand .official-logo{width:66px;height:57px}
body.header-compact .header-details small{display:none}
.mobile-nav{position:fixed!important}
body.header-compact .mobile-nav{top:74px!important}

/* Bouton de contact de l'en-tête : plus visible */
.header-contact{display:inline-flex;align-items:center;gap:14px;padding:11px 18px;border:1px solid #f0d8af;background:#f0d8af;color:#15243c!important;font-size:13px;font-weight:600;letter-spacing:.2px;transition:background .2s,color .2s}
.header-contact span{margin-left:0;color:#15243c;font-size:17px}
.header-contact:hover{background:transparent;color:#f4f4fc!important}
.header-contact:hover span{color:#ffe0a5}

/* Fenêtre de contact rapide */
.contact-sheet{max-width:520px;width:calc(100% - 28px);padding:0;background:#0f1f36;color:#f6f6fc;border:1px solid #e2cda55c;box-shadow:0 30px 90px #020812cc;overflow:hidden}
.contact-sheet::backdrop{background:#050c18c4;backdrop-filter:blur(8px)}
.contact-sheet[open]{animation:sheet-in .28s ease-out}
@keyframes sheet-in{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.contact-sheet-inner{padding:42px 38px 34px;background:radial-gradient(ellipse at 85% 0%,#ebcd9a1f,transparent 60%)}
.contact-sheet .eyebrow{color:#e5c997;font-size:11px;letter-spacing:2px;margin:0 0 16px}
.contact-sheet h2{font-family:var(--serif);font-size:46px;line-height:1;letter-spacing:-1px;margin:0 0 14px;color:#f6f6fc}
.contact-sheet h2 em{color:#f4d39e}
.contact-sheet-intro{font-size:15px;line-height:1.7;color:#c9d4e4;margin:0 0 28px}
.contact-options{display:grid;gap:10px}
.contact-option{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid #d9e6ff2e;background:#ffffff08;color:#f6f6fc;text-align:left;font:inherit;width:100%;transition:border-color .2s,background .2s}
.contact-option:hover,.contact-option:focus-visible{border-color:#ebcd9a;background:#ebcd9a14}
.contact-option.is-primary{background:#f0d8af;border-color:#f0d8af;color:#15243c}
.contact-option.is-primary:hover,.contact-option.is-primary:focus-visible{background:#f6e3c2}
.contact-option i{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ebcd9a66;border-radius:50%;font-style:normal}
.contact-option.is-primary i{border-color:#15243c40}
.contact-option svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6}
.contact-option strong{display:block;font-size:15px;font-weight:600;line-height:1.3}
.contact-option small{display:block;font-size:12px;opacity:.75;margin-top:2px;word-break:break-all}
.contact-option b{font-weight:400;font-size:19px;color:#ebcd9a}
.contact-option.is-primary b{color:#15243c}
.contact-sheet a,.contact-sheet a *{text-decoration:none!important}
.contact-sheet-status{min-height:20px;margin:12px 0 0;font-size:13px;color:#ffe0a5}
.contact-sheet-foot{display:flex;justify-content:space-between;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #d9e6ff26;font-size:11px;letter-spacing:1.3px;color:#aebcd0}
.contact-sheet-close{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:#ffffff12;color:#f4d39e;font-size:26px;line-height:1}
.contact-sheet-close:hover{background:#ffffff22}

/* Barre de contact fixe sur mobile */
.contact-dock{display:none}
@media(max-width:650px){
  body.header-compact .header{height:68px}
  body.header-compact .mobile-nav{top:68px!important}
  body.header-compact .brand .official-logo{width:60px;height:52px}
  .header-contact{display:none}
  .contact-dock{position:fixed;left:12px;right:72px;bottom:12px;z-index:79;display:grid;grid-template-columns:1fr 1fr;gap:8px;transition:transform .3s,opacity .3s}
  .contact-dock a,.contact-dock button{display:flex;align-items:center;justify-content:center;gap:9px;height:50px;border:1px solid #f0d8af;font:inherit;font-size:14px;font-weight:600;letter-spacing:.2px;box-shadow:0 12px 30px #050d1a80}
  .contact-dock a{background:#f0d8af;color:#15243c}
  .contact-dock button{background:#10243cf0;color:#f6f6fc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .contact-dock svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7}
  .contact-dock.is-hidden{transform:translateY(90px);opacity:0;pointer-events:none}
  /* Le bouton son se range à côté de la barre */
  .soundtrack-control{right:12px;bottom:12px;width:50px;height:50px;min-width:0;padding:0;justify-content:center}
  .soundtrack-copy{display:none}
  .journey-controls{bottom:84px!important}
  footer{padding-bottom:90px}
  .contact-sheet-inner{padding:38px 22px 26px}
  .contact-sheet h2{font-size:40px}
  .contact-sheet{margin:auto auto 0;width:100%;max-width:100%;border-left:0;border-right:0;border-bottom:0}
  .contact-sheet[open]{animation:sheet-up .3s ease-out}
  @keyframes sheet-up{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
}
@media(prefers-reduced-motion:reduce){.contact-sheet[open]{animation:none}.contact-dock{transition:none}}
