/* Mobile-first additions; keep existing search and booking behavior. */
.home .sam-home-links { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem .8rem; margin:1rem 0; }
.home .sam-home-links a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:.45rem .8rem; color:#234b38; font-size:.9375rem; font-weight:600; text-underline-offset:4px; }
.home .sam-quick-review { padding:1rem 1.15rem; background:#f0eee5; border-left:3px solid #a28950; border-radius:0 .8rem .8rem 0; margin:0 0 1.5rem; }
.home .sam-quick-review p { margin:0 0 .35rem; font-size:1rem; line-height:1.6; color:#223d30; }
.home .sam-quick-review a { display:inline-block; padding:.35rem 0; color:#395645; font-size:.875rem; text-underline-offset:3px; }
.home .sam-trust,.home .sam-route,.home .sam-how { box-sizing:border-box; width:100%; max-width:74rem!important; margin:clamp(2rem,5vw,4rem) auto; color:#233c30; }
.home .sam-trust-kicker { color:#73603b; font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin:0 0 .6rem; line-height:1.6; }
.home .sam-trust h2,.home .sam-route h2,.home .sam-how h2 { font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.2; letter-spacing:-.02em; margin:0 0 .9rem; text-wrap:balance; }
.home .sam-trust-lead { color:#506255; font-size:1rem; line-height:1.65; margin:0 0 1.4rem; }
.home .sam-review-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.home .sam-review { margin:0; padding:1.35rem; border:1px solid #dedfd4; border-radius:1rem; background:#fff; }
.home .sam-review-topic { margin:0 0 .8rem; color:#47614d; font-size:.8125rem; font-weight:700; }
.home .sam-review blockquote { padding:0; margin:0 0 1rem; border:0; font-size:1.0625rem; line-height:1.7; font-style:normal; }
.home .sam-review blockquote p { margin:0; }
.home .sam-review figcaption { color:#5a675d; font-size:.8125rem; line-height:1.5; }
.home .sam-route { display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem; padding:clamp(1.25rem,3vw,2.5rem); background:#ebe8da; border-radius:1.25rem; align-items:center; }
.home .sam-route-copy { min-width:0; }
.home .sam-route-copy>p:not(.sam-trust-kicker) { font-size:1rem; line-height:1.7; margin:0 0 1.1rem; }
.home .sam-route-copy .sam-route-note { font-size:.875rem!important; color:#536354; }
.home .sam-route-media { margin:0; min-width:0; }
.home .sam-route video { display:block; width:100%; max-width:24rem; max-height:65vh; height:auto; aspect-ratio:9/16; object-fit:contain; margin:auto; border-radius:.8rem; background:#17362b; }
.home .sam-route figcaption { margin-top:.7rem; font-size:.875rem; text-align:center; }
.home .sam-route figcaption a { color:#244b37; display:inline-block; padding:.6rem; }
.home .sam-trust-button { display:inline-flex; justify-content:center; align-items:center; box-sizing:border-box; min-height:48px; max-width:100%; padding:.8rem 1rem; border-radius:.75rem; background:#214c38; color:#fff; font-size:1rem; line-height:1.5; text-decoration:none; text-align:center; }
.home .sam-trust-button:hover { background:#133827; }
.home .sam-trust-link { display:inline-block; padding:.65rem 0; color:#234b38; font-weight:600; text-underline-offset:4px; }
.home .sam-how ol { list-style:none; padding:0; margin:1.5rem 0 1rem; counter-reset:steps; display:grid; grid-template-columns:minmax(0,1fr); gap:1.4rem; }
.home .sam-how li { counter-increment:steps; display:grid; grid-template-columns:2.25rem minmax(0,1fr); gap:.35rem .8rem; font-size:1rem; line-height:1.6; }
.home .sam-how li::before { content:counter(steps); grid-row:1/3; width:2.25rem; height:2.25rem; display:grid; place-items:center; border-radius:50%; background:#e9eee5; color:#284b34; font-weight:700; }
.home .sam-how li b { font-size:1rem; }
.home .sam-how li span { grid-column:2; color:#536354; }
.home #sam-nos-logements,.home #sam-avis,.home #sam-trajet { scroll-margin-top:2rem; }
.sam-mobile-bar { display:none; }
.home .sam-home-links a:focus-visible,.home .sam-trust a:focus-visible,.home .sam-route a:focus-visible,.home .sam-how a:focus-visible,.sam-mobile-bar a:focus-visible { outline:3px solid #986e22; outline-offset:3px; }
@media(min-width:48rem) {
 .home .sam-review-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .home .sam-how ol { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
 .home .sam-route:has(.sam-route-media) { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); }
}
@media(max-width:42rem) {
 .home main.wp-block-group { padding-top:1rem!important; }
 .home .sam.sam-ac .sam-une-t { font-size:clamp(1.75rem,7.4vw,2.3rem); line-height:1.15; }
 .home .sam-ac .sam-une { padding:1.5rem 1rem 1.15rem; }
 .home .sam.sam-ac .sam-une-s { font-size:1rem; margin-bottom:1rem; }
 .home .sam.sam-ac .sam-une-r { font-size:.8125rem; justify-content:center; gap:.3rem .7rem; }
 .home .sam-une-r span { line-height:1.5; }
 /* Include padding in control dimensions; let grid children shrink on narrow screens. */
 .home main > .entry-content,
 .home .sam-ac, .home .sam-ac-corps, .home .sam-grille, .home .sam-l,
 .home .sam-ac button, .home .sam-ac a, .home .sam-home-links a { box-sizing:border-box; min-width:0; }
 .home .sam-ac .sam-rech-c { min-height:52px; padding:.55rem .65rem; }
 .home .sam-ac .sam-rech-go { min-height:44px; padding:.6rem 1rem; }
 .home .sam-ac input,.home .sam-ac select { font-size:16px!important; }
 .home .sam-ac .sam-grille { grid-template-columns:minmax(0,1fr); gap:1rem; }
 .home .sam-ac .sam-l { padding:.55rem; }
 .home .sam-ac .sam-l-ph { padding-top:64%; margin-bottom:.75rem; }
 .home .sam-ac .sam-l-nom { margin-top:.35rem; margin-bottom:.45rem; }
 .home .sam-ac .sam-l-det { margin-top:0; margin-bottom:.5rem; }
 .home .sam-ac .sam-l-tarif { margin-top:.65rem; margin-bottom:0; }
 .home .sam-ac .sam-l-actions { gap:.5rem; }
 .home .sam-ac .sam-l-actions a { min-height:44px; }
 .home .sam-home-links { gap:.2rem .4rem; margin:.65rem 0; }
 .home .sam-home-links a { padding:.4rem .6rem; font-size:.875rem; }
 .home .sam-trust-button { min-height:44px; padding:.6rem .8rem; font-size:.9375rem; }
 .home .sam-quick-review { padding:.85rem 1rem; }
 .home:has(.sam-mobile-bar:not([hidden])) { padding-bottom:calc(4.7rem + env(safe-area-inset-bottom,0px)); }
 .sam-mobile-bar:not([hidden]) { position:fixed; z-index:90; left:0; right:0; bottom:0; box-sizing:border-box; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:.5rem; padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom,0px)); background:#faf9f6; border-top:1px solid #dce0d6; box-shadow:0 -4px 18px #1635240c; }
 .sam-mobile-bar a { box-sizing:border-box; min-width:0; display:flex; align-items:center; justify-content:center; min-height:44px; padding:.5rem; font-weight:600; font-size:.875rem; line-height:1.3; font-family:inherit; border-radius:.65rem; text-decoration:none; text-align:center; }
 .sam-mobile-browse { background:#214c38; color:#fff; }
 .sam-mobile-whatsapp { background:#edf2e8; border:1px solid #cbd8c5; color:#214c38; }
 .home:has(.sam-rech-c[aria-expanded="true"]) .sam-mobile-bar,.home:has(input:focus) .sam-mobile-bar { display:none; }
}
@media print { .sam-mobile-bar { display:none!important; } }
