/* Contact & horaires — styles propres à la page (refonte 2026-09-24) */

.ct-hero{min-height:58vh;min-height:58svh}
@media (max-width:760px){.ct-hero{min-height:66svh}}

/* Actions rapides : Appeler / E-mail / Itinéraire */
.ct-quick{display:grid;grid-template-columns:repeat(3,minmax(0,150px));gap:10px;margin-top:4px}
.ct-quick__btn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;padding:.6em 1em;border-radius:999px;border:1.5px solid rgba(255,255,255,.75);background:rgba(255,255,255,.08);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;text-decoration:none;font-weight:700;font-size:.95rem;letter-spacing:.05em;transition:background .25s,color .25s,border-color .25s}
.ct-quick__btn svg{width:20px;height:20px;flex:none}
.ct-quick__btn.is-primary{background:var(--shu);border-color:var(--shu)}
@media (hover:hover){.ct-quick__btn:hover{background:#fff;color:var(--ink);border-color:#fff}.ct-quick__btn.is-primary:hover{background:var(--shu-d);border-color:var(--shu-d);color:#fff}}
@media (max-width:560px){
  .ct-quick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .ct-quick__btn{flex-direction:column;gap:5px;min-height:68px;border-radius:16px;padding:.5em .3em;font-size:.9rem;letter-spacing:.03em}
  .ct-quick__btn svg{width:22px;height:22px}
}

/* Coordonnées + horaires */
.ct-infos{padding-top:clamp(44px,7vw,100px)}
.ct-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,32px);align-items:stretch}
@media (max-width:700px){.ct-grid{grid-template-columns:1fr}}
@media (max-width:1180px){.ct-infos .sk-vert{display:none}}
.ct-card{background:#fff;border-radius:var(--r);padding:clamp(24px,4vw,40px);box-shadow:0 1px 0 var(--line),var(--shadow-s)}
.ct-card .sk-title{font-size:clamp(1.7rem,3.4vw,2.3rem)}
.ct-info{gap:20px;margin-bottom:6px}
.ct-info a{font-size:1.05rem}
.ct-info .ct-big{font-family:var(--serif-text);font-weight:700;font-size:1.5rem;color:var(--shu-d);letter-spacing:.03em}
.ct-card .sk-social a{border-color:var(--line);color:var(--ink)}
.ct-card .sk-social a:hover{color:#fff}
.ct-card--hours .sk-hours{font-size:1rem}
.ct-card--hours .sk-hours tr.is-current th,.ct-card--hours .sk-hours tr.is-current td{color:var(--ink)}
.ct-card--hours .sk-hours tr.is-current th::after{content:"en ce moment";display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--shu-d);font-weight:700;margin-top:2px}
.ct-hours-btns{margin-top:24px}
@media (max-width:480px){.ct-hours-btns .sk-btn{width:100%}}

/* Carte */
.ct-mapwrap{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(18px,3vw,32px);margin-top:clamp(18px,3vw,32px);align-items:stretch}
@media (max-width:820px){.ct-mapwrap{grid-template-columns:1fr}}
.ct-map{aspect-ratio:16/9;min-height:320px}
@media (max-width:820px){.ct-map{aspect-ratio:4/3;min-height:0}}
.ct-mapside{background:var(--ink);color:#d9d2c6;border-radius:var(--r);padding:clamp(24px,3vw,34px);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.ct-mapside::after{content:"道";position:absolute;right:-10px;bottom:-30px;font-family:var(--jp);font-size:9rem;line-height:1;color:#fff;opacity:.05;pointer-events:none}
.ct-mapside h3{color:#fff}
.ct-mapside p{color:#bfb6a8}
.ct-mapside .sk-btn--ghost{--b:var(--gold-l);color:#fff}
@media (hover:hover){.ct-mapside .sk-btn--ghost:hover{background:var(--gold-l);color:var(--ink)}}
.ct-mapside__links{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:22px}
.ct-mapside .sk-link{color:var(--gold-l)}

/* Formulaire */
.ct-form__tips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0 26px}
.ct-form__tips a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:.45em 1.1em;border-radius:999px;background:var(--paper);border:1px solid var(--line);text-decoration:none;font-weight:700;font-size:.9rem}
.ct-form__tips a svg{width:18px;height:18px;color:var(--shu)}
.ct-form__tips a:hover{border-color:var(--ink)}
.ct-embed{min-height:420px}
@media (max-width:560px){.ct-embed{padding:8px 4px;margin:0 calc(var(--gut) * -.5)}}
.ct-form__alt{margin:18px 0 0}
.ct-form__alt a{color:var(--shu-d);font-weight:700}
@media (max-width:400px){.ct-card{padding:24px 16px}.ct-card--hours .sk-hours{font-size:.95rem}.ct-card--hours .sk-hours th{padding-right:10px}}

/* QA visuelle 25/09 */
.ct-infos .sk-title,.ct-form .sk-title{text-wrap:balance}
.ct-form__alt a{white-space:nowrap}
/* Tablette : cartes coordonnées / horaires trop étroites en 2 colonnes (adresse coupée, horaires sur 3 lignes) */
@media (max-width:900px){.ct-grid{grid-template-columns:1fr}}
@media (min-width:561px) and (max-width:820px){.ct-map{aspect-ratio:16/10}}
/* Mobile : raccourcis du formulaire en pile régulière, même largeur */
@media (max-width:560px){
  .ct-form__tips{display:grid;grid-template-columns:1fr;gap:8px;max-width:340px;margin-left:auto;margin-right:auto}
  .ct-form__tips a{justify-content:flex-start;font-size:.95rem;padding:.5em 1.2em}
}
/* Petits écrans : le carré 4/3 coupait la mention « se charge au clic » */
@media (max-width:560px){.ct-map{min-height:300px}}

/* Passe design 3 (25/09) — correctif : aspect-ratio 4/3 + min-height 300 px élargissait la carte
   (≈ 400 px) et donc la fenêtre de mise en page mobile (418 px à 390 : barre d'actions et bulle coupées) */
@media (max-width:820px){.ct-mapwrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.ct-map{aspect-ratio:auto;height:320px;min-height:0}}
/* ensō derrière l'en-tête du formulaire : pas sur le motif seigaiha trop près du texte */
.ct-form__head{margin-bottom:18px}
