/* Actions initiales et styles réservés aux annexes. */

/* Actions d’accueil : rendez-vous, appel / SMS, puis itinéraires. */
.home-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.home-actions .home-booking { grid-column:1 / -1; }
.home-actions a { justify-content:center; min-height:48px; padding:12px 10px; text-align:center; }
.home-actions svg { flex-shrink:0; }
@media(max-width:380px) { .home-actions .home-booking { gap:7px; font-size:14px; letter-spacing:0; } }


.annex-site .annex-intro,.annex-site .annex-local-copy { max-width:900px; }
.annex-site .annex-location { max-width:36rem; }
.annex-cabinets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:40px; }
.annex-card { padding:28px; border:1px solid #e6dac9; border-radius:16px; background:#fff; color:#27564e; box-shadow:0 10px 15px -3px rgb(0 0 0 / .1); }
.annex-eyebrow { display:block; color:#3a8477; font-size:11px; text-transform:uppercase; letter-spacing:.2em; margin-bottom:14px; }
.annex-card h3 { color:#16302b; font-size:1.6rem; line-height:1.25; margin-bottom:20px; }
.annex-card p { font-size:1rem; line-height:1.7; margin-bottom:18px; }
.annex-card .annex-address { color:#16302b; font-family:'Playfair Display',serif; font-size:1.15rem; }
.annex-card .annex-price strong { color:#16302b; font-size:1.25rem; font-weight:500; }
.annex-card .annex-price span { font-size:.875rem; }
.annex-card .home-actions { margin:24px 0 20px; }
.annex-card .home-booking { border:1px solid #85c0b0; box-shadow:none; }
.annex-card .annex-travel { color:#27564e; border-color:#b4ccc3; font-size:.875rem; }
.annex-card .annex-travel.bg-brand-400 { color:#0d211f; }
.annex-card .annex-travel:hover,.annex-card .home-booking:hover { background:#f0f7f4; }
.annex-link { color:#85c0b0; text-decoration:underline; text-underline-offset:4px; }
.annex-card .annex-link { color:#27564e; font-size:.875rem; }
.annex-training { border-top:1px solid #234540; border-bottom:1px solid #234540; background:rgb(13 33 31 / .2); }
.annex-qualifications { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:32px 0 24px; }
.annex-diploma { background:white; border:1px solid #e6dac9; border-radius:16px; padding:24px; color:#27564e; }
.annex-diploma>span { display:block; font-family:'Playfair Display',serif; color:#54a390; font-size:30px; margin-bottom:10px; }
.annex-diploma h3 { font-size:20px; color:#16302b; line-height:1.3; margin-bottom:12px; }
.annex-diploma p { font-size:14px; line-height:1.65; }
.annex-sources { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:20px; }
.annex-sources a { font-size:14px; color:#85c0b0; text-decoration:underline; text-underline-offset:4px; }
.annex-route { margin-top:32px; padding:20px 24px; border:1px solid #42665e; border-radius:16px; }
.annex-route summary { cursor:pointer; color:#f2ede4; font-weight:500; }
.annex-route-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:24px; }
.annex-route-form label { display:block; font-size:14px; margin-bottom:8px; }
.annex-route-form input,.annex-route-form select { width:100%; min-width:0; min-height:48px; border:1px solid #85c0b0; border-radius:10px; background:#faf8f5; color:#16302b; padding:12px; font:inherit; font-size:16px; }
.annex-form-button { display:flex; align-items:center; justify-content:center; gap:10px; align-self:end; border-radius:999px; padding:12px 20px; min-height:48px; background:#fff; color:#0d211f; font:inherit; cursor:pointer; }
.annex-form-button svg { flex-shrink:0; }
.annex-form-note { grid-column:1/-1; font-size:14px; line-height:1.6; color:#e6dac9; }
.annex-related { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:32px; font-size:14px; }
@media(max-width:767px) { .annex-cabinets { grid-template-columns:1fr; gap:24px; } .annex-qualifications { grid-template-columns:1fr; } .annex-route-form { grid-template-columns:1fr; } .annex-card { padding:24px; } .annex-route { padding:18px; } }
@media(max-width:380px) { .annex-card { padding:18px; } }
