/* Cave Saint Etienne · page Contact & accès (lot 7) · repris de la maquette « Contact et accès ».
   Uniquement des variables --cse-… ; aucun token ajouté. Chargé après cse-degustations.css
   (réutilise crumbs, p-head, rdv, faq, .plan de l'accueil). */

/* ---- Remises à zéro dans les blocs de la page ---- */
.p-head .voies p, .ecrire .ensuite p, .ct-venir p, .ct-hor p, .ct-bref p, .voie h2, .ecrire h3, .ensuite__steps p { margin: 0; }

/* ---- Carte « La cave en bref » ---- */
.ct-bref__top { display: grid; gap: 6px; padding-top: 6px; }
.ct-bref__tel { font: 300 2.5rem/1 var(--cse-font-titre); letter-spacing: -.02em; font-variant-numeric: lining-nums; }
.ct-bref__tel a { color: var(--cse-text); text-decoration: none; white-space: nowrap; }
.ct-bref__detail { font-size: 1rem; color: var(--cse-text-muted); }
.ct-bref__infos { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--cse-line); }
.ct-bref__lien .cse-link-arrow { min-height: var(--cse-tap-min); display: inline-flex; align-items: center; }

/* ---- Trois façons de joindre la cave ---- */
.voies { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; margin-top: clamp(32px, 4vw, 56px); padding-top: clamp(24px, 3vw, 32px); border-top: 1px solid var(--cse-text); }
.voie { display: grid; grid-template-rows: auto 1fr auto; gap: 14px; justify-items: start; min-width: 0; }
.ct-ico { width: 30px; height: 30px; fill: none; stroke: var(--cse-bordeaux); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.voie__txt { display: grid; gap: 6px; align-content: start; }
.voie h2 { font: 400 var(--cse-fs-h3)/1.15 var(--cse-font-titre); }
.voie__txt p { font-size: .9375rem; color: var(--cse-text-muted); max-width: 36ch; }
.voie .wp-block-html { display: contents; }
@media (max-width: 860px) {
	.voies { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 0; }
	.voie { grid-template-columns: 30px minmax(0, 1fr); grid-template-rows: auto; column-gap: 16px; row-gap: 12px; padding-block: 20px; border-bottom: 1px solid var(--cse-line); }
	.voie__cta { grid-column: 2; }
}

/* ---- Écrire à la cave ---- */
.ecrire__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(24px, 3vw, 40px) clamp(32px, 5vw, 72px); align-items: start; }
.ecrire__head { grid-column: 1 / -1; }
.ecrire__head h2 { margin: 12px 0 0; }
.ecrire__head h2 em { display: block; }
.contact__form { padding: clamp(20px, 3vw, 32px); border: 1px solid rgba(42,27,23,.1); box-shadow: var(--cse-shadow-card); }
.contact__form .cse-btn { justify-self: start; }
.contact__form .form-head h3 { margin: 0; }
.contact__form .cse-btn[disabled] { opacity: .55; cursor: not-allowed; }
.contact__form .form-soon { margin: 0; font-size: .9375rem; color: var(--cse-text-muted); }
.contact__form .form-soon a { color: var(--cse-accent); }
.contact__form .cse-form__row { align-items: start; }
.contact__form legend { padding: 0; margin-bottom: 8px; font-size: var(--cse-fs-small); font-weight: 500; }
.choix { margin: 0; padding: 0; border: 0; min-width: 0; }
.choix__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.choix__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choix label { display: flex; gap: 10px; align-items: center; min-height: var(--cse-tap-min); padding: 8px 12px; border: 1px solid var(--cse-field-border); border-radius: var(--cse-radius-s); font-size: .9375rem; cursor: pointer; min-width: 0; }
.choix label:has(input:checked) { border-color: var(--cse-accent); box-shadow: inset 0 0 0 1px var(--cse-accent); }
.choix input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--cse-accent); }
.choix span { min-width: 0; }
@media (max-width: 760px) { .choix__grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 360px) { .choix__grid, .choix__grid--3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .contact__form .cse-btn[type="submit"] { justify-self: stretch; } }

.ensuite { display: grid; gap: 28px; align-content: start; min-width: 0; }
.ensuite h3 { font: 400 var(--cse-fs-h3)/1.15 var(--cse-font-titre); }
.ensuite__steps { counter-reset: e; border-top: 1px solid var(--cse-line); margin-top: -12px; }
.ensuite__li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 2px 12px; padding: 16px 0; border-bottom: 1px solid var(--cse-line); counter-increment: e; }
.ensuite__li::before { content: counter(e); grid-row: span 2; font: 300 2rem/1 var(--cse-font-titre); color: var(--cse-bordeaux); font-variant-numeric: lining-nums; }
.ensuite__b { font: 400 1.1875rem/1.25 var(--cse-font-titre); }
.ensuite__s { font-size: .9375rem; color: var(--cse-text-muted); }
.presse-tel { display: grid; gap: 6px; padding: 18px 20px; border-radius: var(--cse-radius-m); background: var(--cse-papier); }
.presse-tel .cse-label { color: var(--cse-bordeaux); }
.presse-tel p:last-child { font-size: .9375rem; }
.presse-tel a { font: 400 1.25rem/1.2 var(--cse-font-titre); color: var(--cse-text); font-variant-numeric: lining-nums; white-space: nowrap; }
.raccourcis { display: grid; gap: 10px; }
.raccourcis__liste { border-top: 1px solid var(--cse-line); }
.raccourcis__a a { display: grid; gap: 4px; padding: 14px 28px 14px 0; border-bottom: 1px solid var(--cse-line); color: inherit; text-decoration: none; position: relative; }
.raccourcis__a a::after { content: "→"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); color: var(--cse-bordeaux); transition: transform var(--cse-dur-fast) var(--cse-ease); }
.raccourcis__a a:hover b { color: var(--cse-bordeaux); }
.raccourcis__a a:hover::after { transform: translate(4px, -50%); }
.raccourcis__a a:focus-visible { outline: var(--cse-focus-ring); outline-offset: 2px; }
.raccourcis__a b { font: 400 1.125rem/1.25 var(--cse-font-titre); }
.raccourcis__a small { font-size: .8125rem; color: var(--cse-text-muted); }
@media (max-width: 960px) { .ecrire__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---- Venir : plan + accès ---- */
.ct-venir { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 64px); align-items: stretch; }
.ct-venir .wp-block-html { display: contents; }
.ct-venir .plan { min-height: 440px; background: var(--cse-lin); }
.ct-acces__txt { display: grid; gap: 20px; align-content: start; justify-items: start; }
.ct-acces__txt h2 { margin: 0; }
.ct-acces__txt h2 em { display: block; }
.ct-acces__txt .cse-eyebrow { margin-bottom: -8px; }
.ct-adr { display: grid; gap: 4px; padding-left: 18px; border-left: 2px solid var(--cse-bordeaux); }
.ct-adr__b { font: 300 1.75rem/1.15 var(--cse-font-titre); }
.ct-adr__s { font-size: .9375rem; color: var(--cse-text-muted); }
.ct-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.moyens { display: grid; width: 100%; border-top: 1px solid var(--cse-line); }
.moyens__li { display: flex; gap: 14px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--cse-line); }
.moyens__li .wp-block-html { display: contents; }
.moyens .ct-ico { flex: none; width: 24px; height: 24px; margin-top: 1px; }
.moyens__txt { display: grid; gap: 2px; min-width: 0; }
.moyens__b { font: 400 1.125rem/1.25 var(--cse-font-titre); }
.moyens__s { font-size: .9375rem; color: var(--cse-text-muted); }
@media (max-width: 860px) { .ct-venir { grid-template-columns: minmax(0, 1fr); } .ct-acces__txt { order: -1; } .ct-venir .plan { min-height: 300px; } }
@media (max-width: 420px) { .ct-ctas .cse-btn { flex: 1 1 auto; } }

/* ---- Horaires (section sombre) ---- */
.ct-hor__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.ct-hor__txt { display: grid; gap: 20px; justify-items: start; }
.ct-hor__txt h2 { margin: 0; }
.ct-hor__txt h2 em { display: block; }
.ct-hor__suivre { font-size: .9375rem; color: var(--cse-text-muted); }
.ct-hor__suivre a { color: var(--cse-text); }
.ct-hor__liste { display: grid; gap: 12px; padding: clamp(20px, 3vw, 28px); border-radius: var(--cse-radius-m); background: var(--cse-brun-2); border: 1px solid var(--cse-line); }
.ct-hor__ligne { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--cse-line); }
.ct-hor__ligne:last-child { border-bottom: 0; }
.ct-hor__jour { font: 400 1.125rem/1.25 var(--cse-font-titre); }
.ct-hor__heures { text-align: right; font-variant-numeric: lining-nums; white-space: nowrap; }
.ct-hor__note { font: 400 var(--cse-fs-label)/1.3 var(--cse-font-etiq); letter-spacing: .1em; text-transform: uppercase; color: var(--cse-ambre); }
.ct-hor__ligne.is-sam .ct-hor__jour { font-weight: 600; }
@media (max-width: 860px) { .ct-hor__grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 420px) { .ct-hor__heures { white-space: normal; } }
