/* ============================================================ */
/* PAGE CONTACT — thème nuit (bleu nuit, page sombre + étoiles)  */
/* Lié APRÈS styles.css. Ne modifie jamais styles.css.          */
/* ============================================================ */

/* Logo header en blanc sur fond nuit : géré dans styles.css via la variante line-art
   .logo-white (détouré blanc, plus d'aplat plein) basculée par body[data-theme="nuit"]. */

/* Le pied de cette page hérite déjà du thème nuit via .outro/.m-final ;
   on garde le texte clair (var(--fg) du thème nuit le fait déjà). */

/* Outro SANS le bloc CTA « Le domaine vous attend » (retiré sur Contact : doublon avec la page).
   On réserve une bande en haut de l'outro pour que la PHOTO de fond (couple3 + voile nuit)
   ressorte bien avant le footer ; l'ensemble reste plus court qu'avec le bloc CTA. */
.outro--photo{padding-top:clamp(185px,27vh,310px)}
@media(max-width:760px){.outro--photo{padding-top:clamp(150px,34vh,235px)}}

/* ===== CONTACT : colonne gauche (intro + coordonnées) qui DÉFILE | formulaire STICKY à droite ===== */
.c-contact{padding:clamp(96px,13vh,150px) 0 clamp(60px,9vh,110px)}
.c-contact-grid{
  display:grid;grid-template-columns:1fr .92fr;
  column-gap:clamp(36px,5vw,72px);align-items:start;
}
.c-contact-intro{grid-column:1;grid-row:1;position:relative;z-index:2}
.c-contact-coords{grid-column:1;grid-row:2;position:relative;z-index:2;margin-top:clamp(44px,7vh,84px)}
/* Le formulaire reste fixe à droite pendant que la colonne gauche défile */
.c-contact-aside{grid-column:2;grid-row:1 / span 2;position:sticky;top:96px;align-self:start;z-index:2}

.c-contact-intro h1{
  font-family:'Londrina Solid',serif;font-weight:400;
  font-size:clamp(38px,4.6vw,72px);line-height:1.02;letter-spacing:-.005em;
  margin:0 0 22px;max-width:16ch;
}
.c-contact-intro h1 .h1-main{display:block}
.c-contact-intro h1 .h1-sub{
  display:block;font-family:'Parkinsans',sans-serif;font-weight:700;
  font-size:.32em;line-height:1.22;letter-spacing:.004em;opacity:.82;margin-top:.4em;
}
.c-lead{
  font-family:'Parkinsans',sans-serif;font-weight:300;
  font-size:clamp(16px,1.3vw,21px);line-height:1.55;max-width:54ch;margin:0 0 14px;
}
.c-lead.is-small{font-size:clamp(14px,1vw,17px);opacity:.9}

/* Carte formulaire : se détache du fond nuit étoilé */
/* Carte formulaire en BLANC pour bien ressortir sur le fond nuit étoilé */
.c-hero-form{
  position:relative;z-index:2;
  background:#fff;color:#1d1d29;
  border:1px solid rgba(0,0,0,.06);
  border-radius:22px;
  padding:clamp(22px,2.2vw,34px);
  box-shadow:0 44px 96px -50px rgba(0,0,0,.55);
}
.c-form-title{font-family:'Londrina Solid',serif;font-weight:400;font-size:clamp(22px,2vw,28px);line-height:1.05;letter-spacing:.005em;margin:0 0 18px;color:var(--bleu-deep)}

/* Couleurs des champs adaptées au fond blanc (override des couleurs « nuit ») */
.c-hero-form .c-field label{color:#2b2b3a;opacity:1}
.c-hero-form .c-req{color:#5a1fbf}
.c-hero-form .c-field input,
.c-hero-form .c-field select,
.c-hero-form .c-field textarea{
  background-color:#f5f4f8;border:1px solid #dcdae6;color:#16161f;
}
.c-hero-form .c-field input::placeholder,
.c-hero-form .c-field textarea::placeholder{color:#16161f;opacity:.42}
.c-hero-form .c-field input:focus,
.c-hero-form .c-field select:focus,
.c-hero-form .c-field textarea:focus{
  border-color:var(--bleu-deep);background-color:#fff;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--bleu-deep) 18%,transparent);
}
/* Chevron du select en foncé (sur fond clair) */
.c-hero-form .c-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d0d5e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
}
.c-hero-form .c-field input[type="date"]::-webkit-calendar-picker-indicator{filter:none;opacity:.6}
.c-hero-form .c-consent{color:#3a3a48;opacity:1}
.c-hero-form .c-consent input{accent-color:var(--bleu-deep)}
/* Bouton : navy plein sur blanc */
.c-hero-form .c-submit{background:var(--bleu-deep);color:#fff}

/* Coordonnées dans la colonne gauche : 2 colonnes */
.c-contact-coords .c-coords-grid{grid-template-columns:repeat(2,1fr)}

@media(max-width:920px){
  .c-contact-grid{grid-template-columns:1fr;column-gap:0}
  .c-contact-intro{grid-row:auto;order:1}
  .c-contact-aside{grid-column:1;grid-row:auto;order:2;position:static;margin-top:clamp(30px,5vh,44px)}
  .c-contact-coords{grid-row:auto;order:3;margin-top:clamp(40px,6vh,64px)}
}
@media(max-width:560px){
  .c-contact-coords .c-coords-grid{grid-template-columns:1fr}
}

/* Étoiles : ciel fixe plein écran partagé (.page-stars dans styles.css, #starfield rempli par site.js) */

/* En-têtes de section (réutilisent .s-title de styles.css) */
.c-section-head{max-width:60ch;margin:0 0 clamp(30px,4vh,46px)}
.c-section-head .s-title{margin-bottom:0}

/* ===== COORDONNÉES (dans la colonne gauche de .c-contact) ===== */
.c-coords-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.c-coord{
  display:flex;flex-direction:column;align-items:flex-start;gap:6px;
  padding:26px 24px;border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  transition:transform .35s ease, background .3s ease, border-color .3s ease;
}
.c-coord:hover{transform:translateY(-3px);background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.26)}
.c-coord--wide{grid-column:span 2}
.c-coord-ico{
  width:30px;height:30px;margin-bottom:8px;
  filter:brightness(0) invert(1);opacity:.85;
}
.c-coord-label{
  font-family:'Parkinsans',sans-serif;font-weight:600;
  font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;opacity:.6;
}
.c-coord-value{
  font-family:'Londrina Solid',serif;font-weight:400;
  font-size:clamp(18px,1.5vw,23px);line-height:1.12;letter-spacing:.005em;
  word-break:break-word;
}
.c-coord-value .brand{font-size:1em}
@media(max-width:900px){.c-coords-grid{grid-template-columns:repeat(2,1fr)}.c-coord--wide{grid-column:span 2}}
@media(max-width:520px){.c-coords-grid{grid-template-columns:1fr}.c-coord--wide{grid-column:span 1}}

/* ===== FORMULAIRE (dans le hero) ===== */

.c-form{display:flex;flex-direction:column;gap:12px}
.c-field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:560px){.c-field-row{grid-template-columns:1fr}}
.c-field{display:flex;flex-direction:column;gap:5px}
.c-field label{
  font-family:'Parkinsans',sans-serif;font-weight:500;
  font-size:13px;letter-spacing:.04em;color:var(--fg);opacity:.9;
}
.c-req{color:var(--accent);font-weight:700}

/* Champs stylés pour fond sombre : fond léger, bordure claire translucide, focus accent */
.c-field input,
.c-field select,
.c-field textarea{
  width:100%;
  font-family:'Parkinsans',sans-serif;font-weight:400;
  font-size:15px;color:var(--fg);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.18);
  border-radius:11px;
  padding:11px 14px;
  transition:border-color .25s ease, background .25s ease, box-shadow .25s ease;
  -webkit-appearance:none;appearance:none;
}
.c-field textarea{resize:vertical;min-height:90px;line-height:1.5}
.c-field input::placeholder,
.c-field textarea::placeholder{color:var(--fg);opacity:.4}
.c-field input:focus,
.c-field select:focus,
.c-field textarea:focus{
  outline:none;
  border-color:var(--accent);
  background:rgba(255,255,255,.08);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 28%,transparent);
}
/* Sélecteur : chevron + couleur des options lisibles sur fond clair du menu natif */
.c-field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f3eede' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:18px;
  padding-right:42px;cursor:pointer;
}
.c-field select option{color:#15151f;background:#fff}
/* Icône de calendrier du date input visible sur fond sombre */
.c-field input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.7;cursor:pointer}

/* Case de consentement */
.c-consent{
  display:flex;align-items:flex-start;gap:12px;
  font-family:'Parkinsans',sans-serif;font-weight:300;
  font-size:13.5px;line-height:1.5;opacity:.9;
  cursor:pointer;margin-top:2px;
}
.c-consent input{
  flex:0 0 18px;width:18px;height:18px;margin-top:2px;
  accent-color:var(--accent);cursor:pointer;
}

/* Bouton d'envoi */
.c-submit{
  align-self:flex-start;margin-top:4px;
  font-family:'Parkinsans',sans-serif;font-weight:600;
  font-size:13px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--bg);background:var(--fg);
  border-radius:999px;padding:13px 30px;
  transition:transform .3s cubic-bezier(.4,0,.2,1), opacity .25s ease;
}
.c-submit:hover{transform:translateY(-2px);opacity:.92}
.c-submit:active{transform:translateY(0)}

/* ===== Carte stylisée du domaine (Leaflet + tuiles CARTO voyager) ===== */
/* isolation:isolate → stacking context propre : les z-index internes de Leaflet
   (panes/tooltip/controls, 200→1000) restent CONFINÉS sous le header sticky
   (z-index:96) au lieu de passer par-dessus au scroll. */
.c-map-section{position:relative;z-index:0;isolation:isolate;margin:clamp(40px,7vh,90px) 0 0}
.c-map{height:clamp(380px,60vh,600px);width:100%;background:#e9e4d8}
/* Attribution discrète sur la carte claire (Voyager) */
.c-map .leaflet-control-attribution{background:rgba(255,255,255,.78);color:#4a4a55}
.c-map .leaflet-control-attribution a{color:#2a2a40}
/* Marqueur : pin lumineux pulsant, bien lisible sur la carte claire */
.c-pin-dot{display:block;width:18px;height:18px;border-radius:50%;background:var(--bleu-deep);border:3px solid #fff;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--bleu-deep) 26%,transparent),0 4px 14px rgba(13,13,94,.5);
  animation:c-pin-pulse 2.4s ease-in-out infinite}
@keyframes c-pin-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
/* Étiquette du marqueur (override du tooltip Leaflet) */
.c-pin-label.leaflet-tooltip{
  background:var(--bleu-deep);color:#f3eede;border:0;
  font-family:'Londrina Solid',serif;font-weight:400;font-size:14px;letter-spacing:.02em;
  padding:5px 12px;border-radius:8px;box-shadow:0 10px 26px -12px rgba(0,0,0,.5);white-space:nowrap;
}
.c-pin-label.leaflet-tooltip-top::before{border-top-color:var(--bleu-deep)}
@media(prefers-reduced-motion:reduce){.c-pin-dot{animation:none}}

/* ===== VENIR AU DOMAINE ===== */
/* Titre + texte d'intro sur toute la largeur de la section (même largeur que la grille de cartes en dessous) */
.c-acces .c-section-head{max-width:none}
.c-acces-intro{max-width:none;margin-top:18px}
.c-acces-intro p + p{margin-top:14px}
.c-acces-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
  margin-top:clamp(30px,4vh,46px);
}
.c-acces-card{
  padding:30px 28px;border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.14);
  transition:transform .35s ease, background .3s ease;
}
.c-acces-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.085)}
/* Icône transport line-art (cohérente avec l'identité), couleur = texte du thème nuit */
.c-acces-ico{display:block;width:40px;height:40px;margin-bottom:16px;color:var(--accent)}
.c-acces-ico svg{width:100%;height:100%;display:block}
.c-acces-card h3{
  font-family:'Londrina Solid',serif;font-weight:400;
  font-size:25px;margin:0 0 10px;letter-spacing:.005em;
}
.c-acces-card p{font-size:14.5px;line-height:1.55;opacity:.84;margin:0}
@media(max-width:780px){.c-acces-grid{grid-template-columns:1fr}}

.c-acces-cta{margin-top:clamp(28px,4vh,42px)}
.c-acces-cta .btn-line{margin-top:0}

/* Réduit l'espace au-dessus de l'outro (le footer reste nuit, cohérent avec la page) */
.inner-page .s-contact{padding-top:clamp(120px,16vh,180px)}
