.bottom-navigation{position:fixed;z-index:40;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:520px;max-width:calc(100% - 24px);padding:5px;gap:4px;border:1px solid #ddc38c66;border-radius:23px;background:linear-gradient(120deg,#ffffff0b,transparent 55%,#dcc08208),#0c191bf0;backdrop-filter:blur(24px) saturate(120%);-webkit-backdrop-filter:blur(24px) saturate(120%);box-shadow:inset 0 1px 0 #fff2,0 9px 32px #0005}
.bottom-navigation a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:60px;padding:7px 3px;border-radius:17px;color:#c7d1ce;font-size:13px;font-weight:400;line-height:1.4;text-align:center;white-space:nowrap;transition:color .2s,background .2s,box-shadow .2s}
.bottom-navigation a>svg{width:21px;height:21px;stroke-width:1.65}
.bottom-navigation a.active{color:#ffe0a1;background:linear-gradient(120deg,#e7c38427,#e7c3840b);box-shadow:inset 0 0 0 1px #e8cb9250,inset 0 1px 0 #fff1}
.bottom-navigation a:focus-visible{outline:2px solid #ffe1a2;outline-offset:0}
@media(hover:hover){.bottom-navigation a:hover{background-color:#e7c38417;color:#fff0ce}}
.glass-site>footer{padding-bottom:105px}
#hero-contact{scroll-margin-top:145px}
@media(max-width:640px){
 .bottom-navigation{bottom:max(10px,env(safe-area-inset-bottom));max-width:calc(100% - 20px);gap:2px;border-radius:21px}
 .bottom-navigation a{font-size:12px;min-height:58px;gap:4px;border-radius:15px}
 .bottom-navigation a>svg{width:20px;height:20px}
 .hero-location-bottom{bottom:78px}
 .glass-site>footer{padding-bottom:20px}
 .route-site>footer{padding-bottom:calc(175px + env(safe-area-inset-bottom))}
 .route-site .route-mobile-bar,.route-site .board-mobile-ticket{bottom:calc(84px + env(safe-area-inset-bottom));left:10px;right:10px;padding:8px;border:1px solid #ddc38c55;border-radius:15px;background:#0c191bf0;box-shadow:0 6px 24px #0004}
 #hero-contact{scroll-margin-top:120px}
}
@media(prefers-reduced-motion:reduce){.bottom-navigation a{transition:none}}
.glass-site[data-motion=paused] .bottom-navigation a{transition:none}
/* Contact card: every channel in one place. Phones get a bottom sheet. */
dialog.contact-sheet{width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:22px;border:1px solid #dfba7155;border-radius:24px;background:linear-gradient(160deg,#ffffff0d,transparent 45%),#0d1a1f;color:#eee6d5;box-shadow:0 30px 100px #000b;overflow:auto;overscroll-behavior:contain}
dialog.contact-sheet[open]{position:fixed;inset:0;margin:auto;height:fit-content}
dialog.contact-sheet:not([open]){display:none}
dialog.contact-sheet::backdrop{background:#000a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.contact-sheet-grip{display:none}
.contact-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}
.contact-sheet-head h2{margin:0;font-size:21px;font-weight:500;line-height:1.4;color:#f6e6c4}
.contact-sheet-head p{margin:4px 0 0;font-size:13px;line-height:1.5;color:#aab7b8}
.contact-sheet-close{flex:none;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid #edd9ac50;border-radius:50%;background:transparent;color:#f1dfb5;cursor:pointer}
.contact-options{display:grid;gap:10px}
.contact-option{display:flex;align-items:center;gap:14px;width:100%;min-height:66px;padding:10px 14px;border:1px solid #e6c99433;border-radius:16px;background:#ffffff08;color:#f3ead7;text-decoration:none;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,background .2s}
.contact-option:hover,.contact-option:focus-visible{border-color:#e8c78c;background:#e7c3841a;outline:none}
.contact-option-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff}
.contact-option-icon svg{width:22px;height:22px}
.contact-call .contact-option-icon{background:linear-gradient(135deg,#c9974a,#f0d391);color:#1c160c}
.contact-line .contact-option-icon{background:#06c755}
.contact-whatsapp .contact-option-icon{background:#25d366}
.contact-wechat .contact-option-icon{background:#07c160}
.contact-telegram .contact-option-icon{background:#229ed9}
.contact-option-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.contact-option-text strong{font-size:16px;font-weight:500}
.contact-option-text small{font-size:12.5px;color:#aeb9b9;overflow-wrap:anywhere}
.contact-option-go{flex:none;display:flex;color:#d9bd84;opacity:.85}
.contact-option-go svg{width:18px;height:18px}
.contact-copy .contact-option-icon{background:#ffffff14;border:1px solid #e6c99455;color:#f0d391}
.booking-channel-preview{margin:0 0 14px;max-height:118px;overflow:auto;padding:12px 14px;border:1px solid #e6c99426;border-radius:14px;background:#00000038;color:#cfd6d3;font:12.5px/1.6 inherit;font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.booking-channel-status{min-height:0;margin:12px 0 0;font-size:13px;line-height:1.5;color:#f0d391;text-align:center}
.booking-channel-status:not(.show){display:none}
@media(max-width:640px){
 dialog.contact-sheet[open]{inset:auto 0 0 0;margin:0;width:100%;max-width:100%;border-width:1px 0 0;border-radius:24px 24px 0 0;padding:10px 18px calc(18px + env(safe-area-inset-bottom));animation:contact-up .22s ease-out}
 .contact-sheet-grip{display:block;width:44px;height:5px;margin:0 auto 12px;border-radius:3px;background:#ffffff33}
}
@keyframes contact-up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){dialog.contact-sheet[open]{animation:none}}
