/* ============================================================================
   contact.css — Page Contact (template page-contact.php) : formulaire +
   boutique physique + carte. Charte Soleil Lune ; chrome = chrome.css.
   ============================================================================ */

.sl-ct-wrap{max-width:1080px;margin:0 auto;padding:0 1.8rem 4rem;}

/* ---- En-tête ---- */
.sl-ct-hero{position:relative;min-height:42vh;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;background-size:cover;background-position:center 55%;
  background-repeat:no-repeat;background-color:var(--sl-chocolat);}
.sl-ct-hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,20,16,.34),rgba(26,20,16,.6));}
.sl-ct-hero__ov{position:relative;z-index:1;color:#fff;}
.sl-ct-hero .sl-tri{width:30px;height:27px;margin:0 auto 1rem;}
.sl-ct-kicker{display:block;font-family:var(--sl-serif-text);font-weight:500;font-size:.78rem;
  letter-spacing:.28em;text-transform:uppercase;color:#E0BE7E;margin-bottom:.7rem;}
.sl-ct-title{font-family:var(--sl-serif-name);font-weight:600;color:#fff;
  font-size:clamp(2.4rem,4.5vw,3.4rem);letter-spacing:.04em;text-transform:uppercase;
  text-shadow:0 2px 20px rgba(0,0,0,.55);margin:0;}

/* ---- Intro ---- */
.sl-ct-intro{max-width:760px;margin:3.4rem auto 2.2rem;text-align:center;
  font-family:var(--sl-serif-text);font-size:1.15rem;line-height:1.8;color:#4a3f37;}
.sl-ct-intro strong{color:var(--sl-chocolat);}

/* ---- Messages flash ---- */
.sl-ct-flash{max-width:760px;margin:0 auto 2rem;padding:1rem 1.3rem;border-radius:4px;
  font-family:var(--sl-serif-text);font-size:1rem;text-align:center;}
.sl-ct-flash--ok{background:#eef6ea;border:1px solid #bcdcb0;color:#3b6b2e;}
.sl-ct-flash--err{background:#fbeee9;border:1px solid #e6c0b3;color:#9a4226;}

/* ---- Grille formulaire / infos ---- */
.sl-ct-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:2.4rem;align-items:start;}

/* ---- Carte formulaire ---- */
.sl-ct-form-card{background:var(--sl-ivoire);border:1px solid rgba(47,39,34,.08);
  border-top:3px solid var(--sl-corail);border-radius:4px;padding:2.2rem 2rem;}
.sl-ct-form-card h2{font-family:var(--sl-serif-display);font-weight:500;color:var(--sl-chocolat);
  font-size:1.6rem;margin:0 0 .3rem;}
.sl-ct-sub{font-family:var(--sl-serif-text);color:#6b5f56;font-size:1rem;margin:0 0 1.4rem;}
.sl-ct-form{display:flex;flex-direction:column;gap:1.1rem;}
.sl-ct-row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.sl-ct-field{display:flex;flex-direction:column;gap:.4rem;font-family:var(--sl-serif-text);}
.sl-ct-field>span{font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#6b5f56;}
.sl-ct-field input,.sl-ct-field select,.sl-ct-field textarea{
  font-family:var(--sl-serif-text);font-size:1rem;color:var(--sl-texte);background:#fff;
  border:1px solid rgba(47,39,34,.18);border-radius:3px;padding:.7rem .85rem;width:100%;
  transition:border-color .2s ease,box-shadow .2s ease;}
.sl-ct-field input:focus,.sl-ct-field select:focus,.sl-ct-field textarea:focus{
  outline:none;border-color:var(--sl-corail);box-shadow:0 0 0 3px rgba(194,97,74,.12);}
.sl-ct-field textarea{resize:vertical;min-height:120px;}
/* menu déroulant : chevron explicite pour signaler le choix multiple */
.sl-ct-field select{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:2.8rem;
  background-color:#fff;background-repeat:no-repeat;background-position:right .95rem center;background-size:16px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C2614A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");}
.sl-ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.sl-ct-btn{display:inline-block;background:var(--sl-corail);color:#fff;border:none;cursor:pointer;
  font-family:var(--sl-serif-text);font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;
  padding:.95rem 2rem;border-radius:3px;transition:background .25s ease;align-self:flex-start;}
.sl-ct-btn:hover{background:var(--sl-chocolat);}
.sl-ct-rgpd{font-family:var(--sl-serif-text);font-size:.82rem;color:#8a7e74;margin:.2rem 0 0;line-height:1.5;}

/* ---- Bloc boutique physique ---- */
.sl-ct-info{background:var(--sl-chocolat);color:var(--sl-texte-clair);border-radius:4px;
  padding:2rem 1.8rem;}
.sl-ct-badge{display:inline-block;background:rgba(224,190,126,.16);color:#E0BE7E;
  font-family:var(--sl-serif-text);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.35rem .8rem;border-radius:30px;margin-bottom:1rem;}
.sl-ct-info h2{font-family:var(--sl-serif-display);font-weight:500;color:#fff;font-size:1.5rem;margin:0 0 1rem;}
.sl-ct-addr{font-family:var(--sl-serif-text);font-size:1rem;line-height:1.7;margin:0 0 1.4rem;opacity:.95;}
.sl-ct-addr strong{color:#fff;}
.sl-ct-block{padding:.9rem 0;border-top:1px solid rgba(244,236,221,.14);}
.sl-ct-k{font-family:var(--sl-serif-text);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;
  color:#E0BE7E;margin-bottom:.35rem;}
.sl-ct-k em{font-style:italic;text-transform:none;letter-spacing:0;opacity:.7;}
.sl-ct-v{font-family:var(--sl-serif-text);font-size:1rem;line-height:1.6;}
.sl-ct-v a{color:#E0BE7E;}
.sl-ct-hours{display:grid;grid-template-columns:auto 1fr;gap:.42rem 1.1rem;align-items:baseline;}
.sl-ct-hours>span:nth-child(odd){color:#E0BE7E;font-size:.92rem;}
.sl-ct-closed{opacity:.6;}

/* ---- Carte (clic pour afficher) ---- */
.sl-ct-map{margin:2.6rem 0 0;height:380px;border-radius:5px;overflow:hidden;
  background:var(--sl-ivoire);border:1px solid rgba(47,39,34,.1);}
.sl-ct-map__ph{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:.9rem;padding:1.5rem;
  background:linear-gradient(rgba(248,242,231,.86),rgba(248,242,231,.86)),
    var(--sl-banner,none);}
.sl-ct-map__ph .sl-tri{width:28px;height:25px;}
.sl-ct-map__ph p{font-family:var(--sl-serif-text);color:#4a3f37;font-size:1.05rem;line-height:1.6;margin:0;}
/* bouton centré (sinon il hérite du align-self:flex-start du bouton de formulaire) */
.sl-ct-map__btn{align-self:center;}
/* disclaimer cookies Maps : un peu plus gros, gras, bien lisible */
.sl-ct-map__note{font-size:.95rem !important;color:#4a3f37 !important;font-weight:600 !important;max-width:36rem;}
.sl-ct-map.is-loaded{border:none;}

/* ---- Responsive ---- */
@media (max-width:820px){
  .sl-ct-grid{grid-template-columns:1fr;}
  .sl-ct-row{grid-template-columns:1fr;}
}
