/* Every mobile section fits the actual browser content area, including its toolbar. */
@media(max-width:650px){
 html{scroll-padding-top:var(--masthead);scroll-snap-type:y proximity}
 header{height:64px;min-height:64px;padding:3px 5%;gap:1px;align-content:center}.brand{font-size:22px;gap:6px}.brand-road{width:33px;height:26px}.brand small{font-size:6px;margin-top:1px}.preferences{gap:4px}.preferences button,.preferences select{min-height:30px;font-size:10px;padding:4px 7px}.main-nav{margin-top:0;height:16px;font-size:11px;line-height:1.1;gap:8px}.main-nav a{padding:2px 0}
 #home.hero,.screen,.regular-screen,.utility-section,#booking,#contacts{height:calc(var(--visible-height,100svh) - var(--masthead));min-height:0;max-height:calc(var(--visible-height,100svh) - var(--masthead));overflow:hidden;scroll-snap-align:start;scroll-margin-top:0}
 .screen .screen-copy,.screen.from-ru .screen-copy{padding-top:10px;margin-left:5%;margin-right:5%;gap:10px}
 .screen .screen-heading h2{font-size:28px;line-height:1.1;font-weight:750}.screen .screen-heading h2 small{font-size:14px;line-height:1.3;margin-top:5px}.screen .screen-subtitle{font-size:14px;line-height:1.4;margin-top:7px}.screen .screen-copy .service-content{gap:7px}.service-route{font-size:14px;line-height:1.35}
 .screen .tile{min-height:48px;padding:7px 9px;gap:6px;border-radius:22px}.tile-grid{gap:7px}.tile b{font-size:13px;line-height:1.25;font-weight:650}.tile small{font-size:11px;line-height:1.25;margin-top:2px}.icon-disc{width:26px;height:26px}.icon-disc .line-icon{width:18px;height:18px}.pill{font-size:13px;min-height:37px;padding:8px 10px}.service-actions .pill{font-size:12px;min-height:37px}.service-actions{gap:7px}.extras-pill{padding:8px 5px;gap:6px;min-height:36px}.extras-group{font-size:11px;gap:4px}.extras-group .line-icon{width:17px;height:17px}
 .scene-media:before,.photo-layer:before{display:block;position:absolute;inset:-3%;background-image:var(--mobile-day);background-size:cover;background-position:center bottom;filter:blur(8px)}[data-theme=dark] .scene-media:before,[data-theme=dark] .photo-layer:before{background-image:var(--mobile-night)}
 .scene-media img,.photo-layer img{object-fit:contain;object-position:center bottom;mask-image:none}
 .screen .page-signature,.screen.from-ru .page-signature,.booking-scene .page-signature{width:210px;max-width:58%;right:4%;bottom:12px}.drawn-signature>.signature-heart{width:15px;height:15px}
 .hero-content{top:10px;left:5%;right:5%;width:auto;max-width:none}.hero h1{font-size:28px;line-height:1.1;letter-spacing:-.035em}.hero-destination{margin-top:10px}.country-band{font-size:21px;line-height:1.2;padding:5px 9px;gap:9px}.country{gap:6px}.flag{width:23px;height:16px}.hero-city-route{font-size:13px;line-height:1.35;margin-top:6px}.hero-reason{font-size:13px;line-height:1.4;margin-top:7px}.hero-bottom{left:4%;right:4%;bottom:9px}.hero-actions{grid-template-columns:1fr 1fr;gap:6px}.hero-actions a{font-size:13px;line-height:1.2;min-height:38px;padding:8px 7px}.hero .scene-media picture{bottom:24px}
 /* Calendar and request options remain one vertical sequence, compact but complete. */
 .booking-scene .utility-inner{width:90%;padding:10px 0 44px;height:100%}.booking-scene .utility-heading{width:100%;display:flex;flex-direction:column;gap:1px}.booking-scene .utility-heading h2{font-size:26px;line-height:1.1}.booking-scene .utility-heading .small-link{font-size:12px;line-height:1.2;margin:0;padding:2px 0}.booking-scene .booking-layout{width:100%;max-width:none;margin-top:7px;gap:7px}.booking-scene .calendar{padding:9px 12px;border-radius:18px}.calendar-head{margin-bottom:5px}.calendar-head h3{font-size:17px;line-height:1.2}.calendar-head button{min-height:28px;min-width:28px;width:28px;height:28px;font-size:24px}.weekdays{font-size:12px;margin-bottom:4px}.weekdays,#date-grid{gap:3px}#date-grid button,#date-grid>span{height:27px;font-size:14px;border-radius:8px}.calendar-key{font-size:10px;margin-top:6px;gap:4px}
 .booking-scene .booking-summary{display:grid;grid-template-columns:1fr 1fr;padding:9px 12px;gap:6px;border-radius:18px}.booking-summary .field{font-size:12px;line-height:1.2;gap:3px}.field select{font-size:13px;min-height:33px;padding:6px 7px;max-width:100%;width:100%}.selected-date{font-size:15px;line-height:1.3;align-self:center}.booking-summary #seat-note,.booking-summary .subtle{font-size:11px;line-height:1.3;align-self:center}.booking-summary .booking-submit{grid-column:1/-1;min-height:35px;font-size:14px;padding:8px}.booking-summary .subtle:nth-last-child(2){grid-column:1/-1}.booking-summary .subtle:last-child{display:none}.booking-scene .page-signature{width:190px;bottom:8px}
 #contacts .utility-inner{width:90%;padding:12px 0;gap:10px}#contacts h2{font-size:28px;line-height:1.1}.contact-buttons{gap:7px}#contacts .pill{min-height:36px;font-size:13px;padding:8px 12px}#contacts .secondary-links{gap:16px;line-height:1.3}#contacts .small-link{font-size:11px;padding:2px 0}.contact-photo{inset:auto 0 0;width:100%;height:calc(100% - 135px);max-height:none;object-fit:contain;object-position:center bottom}#contacts:before{background:linear-gradient(#e2eef9 0%,#e2eef9 19%,#e2eef955 35%,transparent 55%)}#contacts:after{font-size:18px;bottom:3%;right:30%}
 #info h2{font-size:24px}#info{padding:20px;max-height:calc(var(--visible-height,100dvh) - var(--info-top,230px) - 14px)}#info-body li{font-size:15px;line-height:1.45;margin-bottom:11px}#info .modal-brand{margin-bottom:12px}#info .modal-actions{margin-top:14px}#info .modal-actions .pill{font-size:14px;min-height:38px}
}
@media(max-width:650px) and (max-height:700px){
 .screen .screen-heading h2,.hero h1{font-size:26px}.screen .screen-copy{gap:8px;padding-top:8px}.screen .screen-heading h2 small{font-size:13px}.screen .screen-subtitle{font-size:13px;line-height:1.35;margin-top:5px}.screen .tile{min-height:43px;padding:6px 8px}.tile b{font-size:12px}.tile small{font-size:10px}.icon-disc{width:23px;height:23px}.hero-destination{margin-top:8px}.hero-reason{font-size:12px}.hero-city-route{font-size:12px}.hero-actions a{font-size:12px;min-height:36px}.screen .page-signature{width:190px;max-width:55%;bottom:9px}
 .booking-scene .utility-heading h2{font-size:24px}.booking-scene .utility-inner{padding-top:8px}.booking-scene .calendar{padding:7px 10px}.calendar-head h3{font-size:16px}#date-grid button,#date-grid>span{height:24px;font-size:13px}.calendar-key{font-size:9px;margin-top:4px}.booking-scene .booking-summary{padding:7px 10px;gap:5px}.booking-scene .booking-layout{margin-top:5px;gap:6px}.booking-summary .field{font-size:11px}.field select{font-size:12px;min-height:30px;padding:5px}.booking-summary .subtle,.booking-summary #seat-note{font-size:10px}.booking-summary .booking-submit{min-height:33px;padding:7px}.booking-scene .page-signature{width:170px;bottom:6px}
}
@media(max-width:650px) and (max-height:600px){header{height:58px;min-height:58px}.brand{font-size:20px}.brand-road{width:30px;height:23px}.main-nav{font-size:10px}.screen .screen-heading h2,.hero h1{font-size:24px}.screen .tile{min-height:39px;padding:5px 7px}.tile b{font-size:11px}.tile small{font-size:10px}.service-actions .pill{font-size:11px;min-height:33px}.extras-group{font-size:10px}.screen .page-signature{width:175px;bottom:7px}.screen .screen-subtitle{font-size:12px}#date-grid button,#date-grid>span{height:21px}.booking-scene .utility-heading h2{font-size:22px}.booking-scene .calendar{padding:5px 9px}.booking-scene .booking-summary{padding:6px 9px}.calendar-head{margin-bottom:2px}.weekdays{margin-bottom:2px}.calendar-head button{min-height:24px;min-width:24px;width:24px;height:24px}.booking-scene .page-signature{width:145px;bottom:5px}#contacts h2{font-size:25px}}
@media(max-width:650px){html[lang=cs] .screen .page-signature,html[lang=cs] .booking-scene .page-signature{font-size:22px;bottom:30px;width:205px;max-width:58%}html[lang=cs] .page-signature .autograph-line{white-space:nowrap}}
@media(max-width:650px){html[lang=cs] .booking-scene .page-signature{font-size:19px;bottom:23px;width:180px}}
/* Fill the mobile scene naturally; keep its vehicle anchored at the bottom. */
@media(max-width:650px){.scene-media:before,.photo-layer:before{display:none}.scene-media img,.photo-layer img{object-fit:cover;object-position:center bottom}.hero .scene-media picture{bottom:0}}
@media(max-width:650px) and (max-height:600px){.booking-scene .calendar{padding:4px 9px}.booking-scene .booking-layout{gap:4px;margin-top:3px}.booking-scene #date-grid{gap:2px}.booking-scene .calendar-key{margin-top:2px}.booking-scene .booking-summary{gap:4px}}

@media(max-width:650px){#info{max-height:calc(var(--visible-height,100dvh) - var(--info-top,230px) - 76px)}}
/* Lighter, compact mobile controls; label sizes stay unchanged. */
@media(max-width:650px){
 [data-theme=light]{--panel:#edf7ff8f;--border:#e7f4ffb8}
 .screen .tile{min-height:42px;padding:5px 8px;gap:6px;border-radius:21px}
 .screen .tile-grid{gap:6px}
 .screen .icon-disc{width:22px;height:22px;background:transparent;border-color:transparent}
 .screen .icon-disc .line-icon{width:18px;height:18px}
 .screen .service-content{gap:6px}
 .screen .service-actions .pill{padding:7px 9px;min-height:35px}
 .screen .extras-pill{padding:7px 5px;min-height:33px}
 .screen .pill{border-radius:22px}
}
@media(max-width:650px) and (max-height:700px){.screen .tile{min-height:39px;padding:5px 7px}.screen .service-actions .pill{min-height:33px}}
@media(max-width:650px){.screen .screen-copy .service-content{gap:6px}}
/* Small individual offsets keep the signatures below the scene's subjects. */
@media(max-width:650px){
 html[lang=ru] #rides .page-signature,html[lang=ru] #rides-kal .page-signature{bottom:8px;right:4%;left:auto;width:195px;max-width:54%}
 html[lang=ru] #parcels .page-signature,html[lang=ru] #parcels-kal .page-signature{bottom:8px;right:4%;left:auto;width:195px;max-width:54%}
 html[lang=ru] #private .page-signature,html[lang=ru] #private-kal .page-signature{bottom:9px;right:4%;left:auto}
}

@media(max-width:650px){html[lang=ru] #booking .page-signature{width:200px;max-width:56%;bottom:6px}}
@media(max-width:650px) and (max-height:600px){html[lang=ru] #booking .page-signature{width:165px;bottom:5px}}
