/* Clear, consistent actions across the clinic and booking flow. */
.button{justify-content:center;min-height:60px;padding:17px 25px;font-size:14px;letter-spacing:.035em;border-color:#11120f26;box-shadow:0 6px 20px #00000017;transition:background .2s,transform .2s,box-shadow .2s}
.button>span{font-size:26px;flex-shrink:0}
.button:hover{box-shadow:0 9px 24px #0000002b}
.button:focus-visible{outline:3px solid var(--paper);outline-offset:4px;box-shadow:0 0 0 7px var(--ink)}
.button-dark{border-color:#eeeae04d}.button-light{border-color:#eeeae0}
.header,.content-page .header{position:fixed;background:#11120ff5;box-shadow:0 3px 20px #0000001f}
.content-page{padding-top:92px}
.header .button-small{min-height:54px;padding:14px 21px;font-size:13px;gap:25px}
.header nav>a:not(.button){font-size:12px}
.hero-actions{gap:20px;align-items:stretch}
.immersive-story .chapter-description{margin-bottom:20px}
.immersive-story .chapter .button{min-height:68px;min-width:260px;padding:20px 25px;font-size:15px;gap:28px;box-shadow:0 6px 28px #ff6a2b2b}
.hero-secondary{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #eeeae08c;background:#11120f99;padding:16px 19px;font-size:13px;line-height:1.45;white-space:normal;min-height:58px}
.hero-secondary span{margin:0;flex-shrink:0;font-size:19px}.hero-secondary:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.session-card>.button{width:100%;min-height:62px;background:var(--orange);color:var(--ink);font-size:14px}
.session-card>.button:hover{background:#ff8550}
.option>.button{width:100%;margin-top:8px}
.ride-journal>.button{margin-top:12px}
.page-actions .button{min-height:66px;font-size:15px}
.rental-banner .button{flex-shrink:0}
.booking-actions>.button{min-width:210px;min-height:62px;font-size:14px}
.booking-actions>.button:disabled{opacity:.6;cursor:wait;transform:none;box-shadow:none}
.mobile-booking-dock{display:none}
@media(max-width:1100px) and (min-width:701px){
 .immersive-story .chapter .button{min-width:232px;padding:19px 20px;font-size:14px;gap:20px}
 .hero-actions{gap:14px}.hero-secondary{padding:14px;font-size:12px}
}
@media(max-width:700px){
 html{scroll-padding-top:96px;scroll-padding-bottom:105px}
 .content-page{padding-top:80px}.has-booking-dock{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
 .button{min-height:60px;font-size:13px;padding:17px 20px}
 .header .button-small{font-size:14px;min-height:56px}
 .hero-actions{display:grid;grid-template-columns:minmax(0,1fr) 106px;gap:10px;width:100%}
 .immersive-story .chapter .button{min-width:0;min-height:64px;width:100%;font-size:13px;padding:15px 16px;gap:12px;letter-spacing:.015em}
 .hero-secondary{font-size:12px;padding:11px 9px;gap:5px;min-height:64px}
 .hero-secondary span{font-size:16px}
 .immersive-story .chapter-description{margin-bottom:20px}
 .page-actions .button{font-size:14px;min-height:64px}
 .rental-banner .button{width:100%;margin-top:22px}
 .booking-actions{flex-wrap:wrap}.booking-actions>.button{width:100%;min-width:0;font-size:14px;padding:18px 20px}
 .mobile-booking-dock:not([hidden]){position:fixed;bottom:0;left:0;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #eeeae03d;background:#11120ff7;box-shadow:0 -8px 25px #00000029}
 .mobile-booking-dock p{font-size:10px;line-height:1.5;color:var(--muted)}
 .mobile-booking-dock strong{display:block;color:var(--paper);font-size:12px;margin-bottom:3px}
 .mobile-booking-dock .button{min-height:56px;padding:13px 17px;gap:18px;font-size:12px;white-space:nowrap}
}
@media(max-width:370px){
 .hero-actions{grid-template-columns:minmax(0,1fr) 96px;gap:8px}
 .immersive-story .chapter .button{font-size:12px;padding:14px 12px;gap:6px}
 .hero-secondary{font-size:11px;padding:10px 7px}
 .mobile-booking-dock{gap:8px}.mobile-booking-dock .button{padding:12px;gap:10px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}
@media(min-width:701px) and (max-width:900px){.menu-toggle{display:flex;gap:20px;align-items:center;background:transparent;border:0;color:var(--paper);font-size:12px;padding:10px 0}.menu-toggle span{font-size:20px}.header nav{display:none;position:absolute;top:91px;left:0;right:0;padding:24px var(--gutter);background:var(--ink);border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column}.header nav.open{display:flex}.header nav>a:not(.button){padding:9px 0;font-size:13px}}
