/* Shared phone and tablet layouts. Desktop layouts remain in their page styles. */
.mobile-menu-toggle,.mobile-bottom-nav{display:none}
.mobile-drawer:not([open]){display:none}
.mobile-drawer{border:0;padding:0;background:transparent;color:var(--ink);inset:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;overflow:hidden}
.mobile-drawer[open]{display:flex;justify-content:flex-end}
.mobile-drawer::backdrop{background:#071a39a8;backdrop-filter:blur(5px)}
.mobile-drawer-panel{width:min(430px,100%);height:100%;overflow-y:auto;overscroll-behavior:contain;background:#f5fbff;padding:24px 24px calc(28px + env(safe-area-inset-bottom));padding-top:max(20px,env(safe-area-inset-top));box-shadow:-12px 0 50px #0002}
.mobile-drawer-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:34px}
.mobile-drawer-brand{display:flex;gap:10px;align-items:center;font-size:24px;font-weight:800;letter-spacing:-1px;color:var(--navy)}
.mobile-drawer-brand img{width:52px;height:48px;object-fit:contain}
.mobile-menu-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy)}
.mobile-menu-close svg{width:21px;height:21px}
.mobile-drawer .mobile-drawer-title{font:700 36px/1.12 Arial,Helvetica,sans-serif;margin:0 0 12px;letter-spacing:-1px}
.mobile-drawer .mobile-drawer-intro{font-size:15px;line-height:1.7;color:var(--muted);margin:0 0 24px}
.mobile-drawer .mobile-drawer-links{display:flex;flex-direction:column;gap:0}
.mobile-drawer-link{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding:18px 0;min-height:76px}
.mobile-drawer-link>svg{flex:0 0 23px;width:23px;height:23px;color:var(--blue)}
.mobile-drawer-link>span{display:grid;gap:6px;min-width:0}
.mobile-drawer-link strong{font-size:18px;line-height:1.35;color:var(--navy)}
.mobile-drawer-link small{font-size:13px;line-height:1.5;color:var(--muted);font-weight:400}
.mobile-drawer-link:after{content:'↗';margin-left:auto;font-size:19px;color:var(--blue)}
.mobile-drawer-context{display:flex;gap:12px;align-items:center;padding:16px;border-radius:12px;background:#e0f3ff;color:var(--navy);font-weight:700;font-size:15px;line-height:1.5;margin-bottom:8px}
.mobile-drawer-context svg{width:22px;height:22px;flex-shrink:0}
.mobile-drawer-saved{display:flex;gap:12px;align-items:center;min-height:48px;width:100%;margin-top:22px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:white;font-size:15px;font-weight:700;text-align:left}
.mobile-drawer-saved svg{width:21px;height:21px;flex-shrink:0}
.mobile-table-label{display:none}

@media screen and (max-width:900px){
 :root{--mobile-header-height:calc(72px + env(safe-area-inset-top));--mobile-bottom-height:calc(68px + env(safe-area-inset-bottom));--mobile-gutter:20px}
 html{scroll-padding-top:calc(var(--mobile-header-height) + 82px);text-size-adjust:100%;-webkit-text-size-adjust:100%}
 body{font-size:16px;line-height:1.6;overflow-wrap:break-word}
 body.mobile-ready{padding-bottom:var(--mobile-bottom-height)}
 html.mobile-menu-open,html.mobile-menu-open body{overflow:hidden;overscroll-behavior:none}
 body>header{position:sticky;top:0;z-index:1200;height:var(--mobile-header-height);min-height:var(--mobile-header-height);padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left));display:flex;align-items:center;flex-wrap:nowrap;gap:8px;background:#f5fbfff5;backdrop-filter:blur(15px);box-shadow:0 2px 12px #10347808}
 body>header>.logo{gap:5px;min-width:0;flex:1 1 auto;max-width:max-content}
 body>header .brand-logo{width:38px;height:44px;flex:0 0 38px}
 body>header .logo>.brand-title{font-size:clamp(19px,4.8vw,25px);line-height:1.15;letter-spacing:-.8px;padding-bottom:11px}
 body>header .logo .brand-title small{font-size:7px;letter-spacing:.6px;line-height:1.2;white-space:nowrap}
 body>header>nav{display:none}
 body>header .header-actions{margin-left:auto;gap:6px;min-width:0;flex:0 0 auto}
 body>header .language-control{min-height:44px;padding:0 5px;gap:3px;border-radius:10px;flex-wrap:nowrap;background:#fff}
 body>header .language-flag{width:20px;height:15px;object-fit:contain;flex-shrink:0}
 body>header .language-control select{font-size:16px;max-width:70px;width:70px;min-width:0;min-height:42px;padding:0;color:var(--navy)}
 body.mobile-ready>header :is(.saved-button,.stay-back){display:none}
 body .mobile-menu-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #c4e0f2;border-radius:11px;background:#e0f3ff;color:var(--navy)}
 .mobile-menu-toggle svg{width:23px;height:23px}
 body.mobile-ready>.food-quick-nav{display:none}
 body.mobile-ready .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:1250;height:var(--mobile-bottom-height);gap:0;padding:5px max(4px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(4px,env(safe-area-inset-left));background:#fffdf9f5;border-top:1px solid #d9e2ea;box-shadow:0 -5px 24px #1034780c;backdrop-filter:blur(15px)}
 body.mobile-ready .mobile-bottom-link{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:54px;padding:5px 2px;border-radius:11px;color:#526879;text-align:center;text-decoration:none;font-size:11px;font-weight:700;line-height:1.2}
 .mobile-bottom-link svg{width:22px;height:22px;flex-shrink:0}
 .mobile-bottom-link span{max-width:100%;overflow-wrap:anywhere}
 body.mobile-ready .mobile-bottom-link.is-active{background:#e6f3fb;color:var(--navy)}
 .mobile-bottom-link.is-active:before{content:'';position:absolute;top:2px;width:4px;height:4px;border-radius:50%;background:var(--sunset)}
 body :is(.mobile-menu-toggle,.mobile-menu-close,.mobile-drawer-link,.mobile-bottom-link):focus-visible{outline:3px solid var(--sunset);outline-offset:-3px}
 body .button{min-height:48px;font-size:14px;line-height:1.45;padding:13px 18px;gap:14px;white-space:normal;text-align:center}
 body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;min-width:0;max-width:100%;min-height:48px;line-height:1.4}
 body :is(input[type=checkbox],input[type=radio]){flex-shrink:0}
 body :is(button,summary){touch-action:manipulation}
 body main button{min-height:44px;min-width:44px}
 body summary{min-height:44px;line-height:1.6;padding-block:8px}
 body :is(main,section,article,figure,fieldset,form,[class$="-grid"]) {min-width:0}
 body main :is(h1,h2,h3,h4){overflow-wrap:break-word;hyphens:auto}
 html[lang] body :is(.country-hero,.city-intro,.food-hero,.stay-hero,.todo-hero,.cuisine-hero,.trip-intro,.itinerary-hero,.food-hub-hero) h1{font-size:clamp(32px,7.8vw,49px);line-height:1.12;letter-spacing:-1px}
 html[lang] body main h2{font-size:clamp(27px,6.6vw,38px);line-height:1.2;letter-spacing:-.6px}
 body main h3{line-height:1.3}
 body :is(.intro,.city-lead,.city-card p,.destination p,.guide-section p,.guide-section li,.route-card p,.booking p,.food-card p,.food-card dl,.shop-card p,.stay-help,.trip-hotel p,.trip-hotel li,.itinerary-stop p){font-size:15px;line-height:1.75}
 body .about p:not(.eyebrow){font-size:15px;line-height:1.75}
 body :is(.small-note,.food-editorial,.food-rating-method,.itinerary-guide-note,.stay-age-note,.trip-form-note){font-size:12px;line-height:1.7}
 body :is(.section,.booking,.food-section,.about){padding:48px var(--mobile-gutter)}
 body :is(.food-page,.food-discovery,.trip-page,.itinerary-page,.todo-page,.stay-page){padding:26px var(--mobile-gutter) 48px}
 body .section-top{display:block;margin-bottom:26px}
 body .section-top .intro{max-width:100%;margin-top:18px}
 body :is(.featured-grid,.route-grid,.coast-grid,.city-grid,.guide-info-grid,.sight-cards,.dish-grid,.stay-grid,.update-links,.discovery-cities,.food-grid,.shop-grid,.food-country-grid,.food-search-results,.cuisine-dishes,.cuisine-city-grid,.cuisine-regions,.trip-hotels,.trip-about>div,.todo-grid,.todo-days,.stay-vendors,.stay-check-grid,.transit-pair,.transit-apps,.transit-gallery,.airport-options,.airport-pair,.etiquette-columns,.itinerary-grid,.planner-route-grid){grid-template-columns:minmax(0,1fr);gap:22px}
 body :is(.food-hero,.cuisine-hero,.stay-hero,.todo-hero,.itinerary-hero,.trip-destination-summary,.season-section,.about,.food-section){grid-template-columns:minmax(0,1fr);gap:26px}
 body :is(.food-hero,.cuisine-hero,.todo-hero,.itinerary-hero){padding-block:8px 28px;margin-top:0}
 body :is(.food-hero,.cuisine-hero,.itinerary-hero)>figure{transform:none;margin:0;max-width:100%}
 body :is(.food-hero,.cuisine-hero,.stay-hero,.todo-hero,.itinerary-hero) figure img{height:clamp(210px,60vw,340px);width:100%;object-fit:cover}
 body .stay-hero img{border-radius:20px}
 body :is(.food-hero,.stay-hero,.itinerary-hero)>div>p:not(.eyebrow){font-size:16px;line-height:1.75;max-width:100%}
 body :is(.city-card-image,.destination .image-wrap){height:clamp(210px,61vw,340px)}
 body .destination h3{font-size:25px}
 body .city-card>p{display:block;-webkit-line-clamp:unset}
 body .city-card-link{font-size:14px}
 body .city-card-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
 body .city-card-shortcuts a{display:inline-flex;align-items:center;min-height:44px;padding:9px 12px;background:#e0f3ff;border:1px solid var(--line);border-radius:9px;font-size:13px;line-height:1.45}
 body .country-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
 body .country-item{min-width:0;min-height:78px;gap:9px;padding:15px 0}
 body .country-item strong{font-size:15px;line-height:1.3;overflow-wrap:break-word}
 body .country-item small{font-size:11px;line-height:1.5}
 body .country-item .flag{width:29px;flex-basis:29px}
 body .country-flag-image{width:27px;height:21px}
 body .country-item .arrow{display:none}
 body .directory-head{align-items:flex-start;gap:12px;flex-wrap:wrap;margin-top:32px}
 body .directory-head h3{margin:0}
 body .directory-head>span{font-size:12px}
 body .discovery-search{gap:10px;padding:12px}
 body .discovery-search input{padding:8px 0;font-size:16px}
 body .discovery-results>a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;min-height:64px;padding:12px;font-size:14px}
 body .discovery-results small{grid-column:1;margin:0;font-size:12px}
 body .discovery-results>a>span{grid-column:2;grid-row:1/3}
 body .discovery-interests{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin:20px -4px 28px;padding:4px;gap:8px}
 body .discovery-interests button{flex-shrink:0;min-height:44px;font-size:14px;padding:10px 15px;scroll-snap-align:start}
 body :is(.search-bar,.map-toolbar,.stay-section-head,.trip-shortlist-heading,.food-results-head,.itinerary-day-heading){flex-wrap:wrap;align-items:flex-start;gap:14px}
 body .search-bar label{flex-basis:100%;min-width:0}
 body .search-bar select{flex:1;max-width:100%;border:1px solid var(--line);border-radius:9px;padding:10px}
 body .search-bar .button{margin:0;flex:1}
 body :is(.finder,.food-panel,.transit-heading,.stay-search,.trip-preferences,.itinerary-form,.todo-feature,.food-note){padding:22px 18px;border-radius:14px}
 body .finder form{grid-template-columns:minmax(0,1fr)}
 body :is(.food-hub-search,.food-filters,.food-page .food-filters,.food-page .food-filter-extra,.todo-filters,.trip-fields,.itinerary-form-grid,.itinerary-request,.stay-date-grid){grid-template-columns:minmax(0,1fr);gap:16px;padding:20px 16px}
 body :is(.itinerary-form-grid,.itinerary-request,.trip-fields,.stay-date-grid){padding:0}
 body .food-filter-bottom{align-items:flex-start;flex-direction:column;gap:12px}
 body :is(.food-hub-search button,.food-filters button,.todo-filters button,.stay-submit .button,.itinerary-form-actions .button){width:100%;min-height:48px;font-size:15px}
 body :is(.food-filters label,.todo-filters label,.trip-fields label,.stay-page label,.itinerary-form label){font-size:14px;line-height:1.5;min-width:0}
 body :is(.stay-guests,.stay-ages,.trip-child-ages){grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
 body .stay-room{min-width:0;padding:18px 12px;margin-inline:0}
 body :is(.stay-submit,.trip-remember,.trip-shortlist-heading,.itinerary-day-heading){flex-direction:column;align-items:stretch}
 body :is(.trip-presets,.trip-home-options){grid-template-columns:minmax(0,1fr);gap:12px}
 body .trip-home-teaser{padding:30px var(--mobile-gutter)}
 body .trip-hero-actions{align-items:stretch}
 body .trip-hero-actions .button{white-space:normal}
 body .trip-destination-summary>div{padding:22px}
 body .itinerary-sidebar{position:static}
 body .itinerary-checks{gap:8px}
 body .itinerary-checks label{min-height:46px;font-size:14px}
 body .itinerary-checks input{width:18px;height:18px;min-height:0}
 body .itinerary-examples{gap:8px}
 body .itinerary-examples button{min-height:44px;white-space:normal;text-align:left;font-size:13px;line-height:1.5}
 body .itinerary-tools{gap:8px}
 body .itinerary-tools button{min-height:46px;font-size:14px;flex:1 1 42%}
 body .itinerary-stop{grid-template-columns:28px minmax(0,1fr);gap:10px}
 body .itinerary-number{width:27px;height:27px}
 body .itinerary-stop h4{font-size:23px}
 body .itinerary-summary{gap:8px}
 body .itinerary-summary span{font-size:12px;padding:9px 12px}
 body .country-breadcrumb{padding:18px var(--mobile-gutter);font-size:12px;flex-wrap:wrap;gap:5px 8px}
 body .city-intro{padding:28px var(--mobile-gutter)}
 body .city-intro>.text-link{font-size:14px;min-height:36px}
 body .country-hero{min-height:0}
 body .country-hero-content{padding:42px var(--mobile-gutter) 26px}
 body .country-hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 body .country-hero-content>p:not(.eyebrow){font-size:16px;line-height:1.75}
 body .country-quick{position:relative;inset:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 var(--mobile-gutter);padding:20px 0 24px;max-width:100%}
 body .country-quick>div:last-child{max-width:none}
 body .country-quick span{font-size:10px;line-height:1.6;letter-spacing:.7px}
 body .country-quick strong,body .poland-planner .country-quick strong{font-size:13px;line-height:1.6;display:block;overflow-wrap:break-word}
 body .country-layout{display:block;padding:0 var(--mobile-gutter) 44px}
 body .country-sidebar{position:static;max-width:none;margin:30px 0 0;padding:24px}
 body .guide-section{padding:36px 0}
 body .guide-info-grid article{padding:22px}
 body :is(.country-menu,.poland-planner .country-menu,.todo-nav,.food-nav,.cuisine-jumps){position:sticky;top:var(--mobile-header-height);z-index:1100;display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scroll-snap-type:x proximity;white-space:nowrap;background:#f5fbfff5;backdrop-filter:blur(12px);padding:10px var(--mobile-gutter);border-block:1px solid var(--line);max-width:100%;margin:0}
 body :is(.food-nav,.todo-nav,.cuisine-jumps){margin-inline:calc(-1 * var(--mobile-gutter));max-width:calc(100% + 2 * var(--mobile-gutter))}
 body :is(.country-menu,.todo-nav,.food-nav,.cuisine-jumps)>a{display:flex;align-items:center;flex-shrink:0;min-height:44px;padding:10px 14px;line-height:1.45;font-size:14px;scroll-snap-align:start;border:1px solid var(--line);border-radius:24px;background:white}
 body .country-menu a.active{background:#e0f3ff;border-color:var(--blue);color:var(--navy)}
 body .planner-mobile-menu{display:none}
 body :is(.guide-section,.food-section,.todo-page section,.airport-page section,.transit-subhead,.public-transport,.cuisine-section,.cuisine-dish,.trip-results,.food-results-section){scroll-margin-top:calc(var(--mobile-header-height) + 82px)}
 body .food-page .food-section{padding:32px 0}
 body .food-page .food-section.food-note{padding:22px 18px}
 body .food-page .food-heading{display:block;margin-bottom:20px}
 body .food-page .food-heading .carousel-controls{position:static;margin-top:16px;justify-content:flex-start}
 body .food-page .carousel-controls button{width:44px;height:44px}
 body .food-page .food-carousel{width:calc(100% + 6px);gap:14px;padding:4px 3px 18px;margin-inline:-3px;scroll-padding-inline:3px;scroll-snap-type:x proximity}
 body .food-carousel>.food-card{flex-basis:calc(100% - 22px);max-width:420px;scroll-snap-align:start}
 body .food-card-body{padding:22px}
 body .food-card img{height:clamp(200px,57vw,300px)}
 body .food-card :is(p,dd,dl){font-size:15px;line-height:1.75}
 body .food-links{gap:8px}
 body .food-links a{display:flex;align-items:center;min-height:44px;padding:9px 12px;background:#f5f0e8;border-radius:8px;font-size:13px;line-height:1.5}
 body .hero-facts{gap:22px;flex-wrap:wrap;margin-top:24px}
 body .hero-facts span{font-size:13px}
 body .hero-facts b{font-size:28px}
 body .home-hero-carousel{height:auto;min-height:0}
 body .home-hero-slide{position:relative;inset:auto;min-height:0}
 body .home-hero-slide .hero-content{position:relative;inset:auto;padding:42px var(--mobile-gutter) 20px;max-width:100%;margin:0}
 html[lang] body .home-hero-slide h1{font-size:clamp(33px,8.4vw,49px);line-height:1.12;letter-spacing:-1px;margin:16px 0 20px;max-width:100%}
 body .home-hero-slide .eyebrow{font-size:10px;letter-spacing:1.6px}
 body .home-hero-slide .hero-destination{font-size:14px!important;margin:20px 0 12px!important;letter-spacing:2px}
 body .home-hero-slide .hero-description{font-size:15px!important;line-height:1.75;max-width:560px;margin:18px 0 24px!important}
 body .home-hero-slide .hero-escape{min-height:48px;font-size:14px;min-width:190px}
 body .home-hero-slide .hero-caption{position:relative;inset:auto;padding:0 var(--mobile-gutter) 22px;font-size:10px;text-align:left;line-height:1.5}
 body .hero-photo-credit{font-size:10px;line-height:1.6}
 body .hero-carousel-bottom{position:relative;inset:auto;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:16px var(--mobile-gutter);border-top:1px solid #ffffff45;background:var(--navy)}
 body .hero-pickers{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:3px 2px 8px;max-width:100%}
 body .hero-picker{flex:0 0 auto;min-height:46px;padding:10px 14px;font-size:15px;gap:7px;scroll-snap-align:start;background:#ffffff12;white-space:nowrap}
 body .hero-picker[aria-current=true]{background:#fff;color:var(--navy);text-shadow:none;border-color:#fff;border-bottom-color:var(--yellow)}
 body .hero-picker[aria-current=true] .hero-picker-number{color:var(--navy)}
 body .hero-picker-number{font-size:11px}
 body .hero-carousel-controls{align-self:flex-end;gap:12px}
 body .hero-carousel-controls button{width:44px;height:44px;font-size:18px}
 body #heroPosition{font-size:12px}
 body .city-carousel{height:400px}
 body .city-carousel .landmark-title{left:var(--mobile-gutter);right:var(--mobile-gutter);top:22px;font-size:26px;line-height:1.3}
 body .city-carousel .landmark-credit{left:var(--mobile-gutter);right:var(--mobile-gutter);bottom:85px;max-width:100%;font-size:10px;line-height:1.5}
 body .city-carousel .landmark-credit a{display:inline;line-height:1.6}
 body .city-carousel .carousel-controls{bottom:16px;right:var(--mobile-gutter);gap:9px}
 body .city-carousel .carousel-controls button{width:44px;height:44px;padding:0;font-size:18px;background:#0008;color:#fff;border:1px solid #fff8}
 body .city-carousel .carousel-dots{left:var(--mobile-gutter);right:auto;bottom:16px;max-width:calc(100% - 252px);width:auto;justify-content:flex-start;gap:0;overflow-x:auto}
 body .city-carousel .carousel-dots button{position:relative;width:44px;height:44px;min-width:44px;flex:0 0 44px;border:0;border-radius:0;background:transparent}
 .city-carousel .carousel-dots button:after{content:'';display:block;width:7px;height:7px;border:1px solid white;border-radius:50%;margin:auto}
 .city-carousel .carousel-dots button[aria-current=true]:after{background:#fff}
 body .city-action-row{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
 body .city-action-row .button{width:100%}
 body :is(.sight-filters,.etiquette-filter){gap:8px;flex-wrap:wrap}
 body :is(.sight-filters,.etiquette-filter) button{min-height:44px;font-size:13px;padding:10px 14px;line-height:1.5}
 body :is(.sight-actions,.todo-links,.itinerary-links,.trip-links,.transit-map-links){gap:8px}
 body :is(.sight-actions,.todo-links,.itinerary-links,.trip-links,.transit-map-links)>:is(a,button){display:inline-flex;align-items:center;min-height:44px;font-size:13px;line-height:1.5;padding:8px 10px}
 body :is(.map-toolbar button,.text-button,.route-card button){min-height:44px;font-size:14px;line-height:1.5}
 body .transit-enlarge{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
 body .travel-etiquette .etiquette-card>p,body .travel-etiquette .etiquette-local p{font-size:15px;line-height:1.75}
 body .etiquette-card-links a{display:flex;align-items:center;min-height:44px;font-size:13px}
 body .etiquette-heading-icon{display:none}
 body .etiquette-columns:not([data-tip-view=all]) .etiquette-column{display:block}
 body .transit-jumps{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:8px}
 body .transit-jumps a{flex:0 0 auto;font-size:13px;white-space:nowrap}
 body .transit-gallery img{height:260px}
 body .transit-heading h2>span{font-size:21px}
 body .transit-subhead{padding-top:28px}
 body :is(.transit-details,.airport-extra){padding:18px 16px}
 body .airport-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body .airport-switch button{font-size:14px;line-height:1.5;padding:11px;min-height:48px;white-space:normal}
 body .airport-route-stops{grid-template-columns:minmax(0,1fr);gap:12px;padding:20px}
 body .airport-route-stops>span{transform:rotate(90deg);justify-self:start}
 body :is(.airport-local-nav,.todo-zone-links){display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:8px}
 body :is(.airport-local-nav,.todo-zone-links)>a{flex:0 0 auto;min-height:44px;font-size:14px;line-height:1.5}
 body .mobile-stack-table{display:block;width:100%;min-width:0;border:0;position:relative;font-size:15px}
 body .mobile-stack-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
 body .mobile-stack-table tbody{display:block}
 body .mobile-stack-table tbody tr{display:block;border:1px solid #d9dfdf;border-radius:12px;background:#fff;margin:0 0 16px;padding:16px;overflow:hidden}
 body .mobile-stack-table tbody tr:last-child{margin-bottom:0}
 body .mobile-stack-table tbody :is(td,th){display:block;width:100%;min-width:0;padding:12px 0;border:0;border-bottom:1px solid #e5e8e7;background:transparent;font-size:15px;line-height:1.75;text-align:left;overflow-wrap:anywhere}
 body .mobile-stack-table tbody :is(td,th):last-child{border-bottom:0;padding-bottom:0}
 body .mobile-stack-table tbody th{font-size:20px;font-weight:700;color:var(--navy);padding-top:0}
 body .mobile-stack-table tbody :is(td,th)>small{font-size:13px}
 body .mobile-stack-table td>.mobile-table-label{display:block;font-size:11px;line-height:1.5;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#496582;margin-bottom:6px}
 body :is(.airport-table-wrap,.transit-table-wrap):has(.mobile-stack-table){border:0;border-radius:0;overflow:visible;background:transparent}
 body :is(#countryMap,#todoMap){height:320px;max-width:100%}
 body .leaflet-control-zoom a{width:40px;height:40px;line-height:40px}
 body .season-left{padding:40px var(--mobile-gutter)}
 body .season-image{height:300px;grid-row:auto}
 body .tabs{gap:0;justify-content:space-between}
 body .tabs button{min-height:44px;font-size:14px}
 body .photo-card{height:370px}
 body .photo-card>div{left:22px;right:22px;bottom:24px}
 body .photo-card h3{font-size:33px}
 body .booking-grid{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:28px}
 body .about{gap:32px}
 body footer{padding:32px var(--mobile-gutter);gap:18px;align-items:flex-start}
 body footer :is(p,button,a){font-size:13px;line-height:1.6}
 body footer :is(button,a){min-height:40px;display:inline-flex;align-items:center}
 body footer .logo{font-size:25px}
 body footer div{margin:0;gap:16px;flex-wrap:wrap}
 body dialog:not(.mobile-drawer){width:calc(100% - 24px);max-height:calc(100dvh - 28px);padding:52px 20px 24px;border-radius:16px;overscroll-behavior:contain}
 body dialog .close{width:44px;height:44px;top:10px;right:10px}
 body dialog .guide-cols{grid-template-columns:minmax(0,1fr)}
 body #toast{bottom:calc(var(--mobile-bottom-height) + 14px);max-width:calc(100% - 32px);text-align:center;font-size:14px}
 body #analyticsChoice{bottom:calc(var(--mobile-bottom-height) + 12px);left:12px;width:calc(100% - 24px);padding:20px;max-height:calc(100dvh - var(--mobile-header-height) - var(--mobile-bottom-height) - 24px)}
 body #analyticsChoice :is([data-accept],[data-reject]){min-width:0;min-height:44px;font-size:14px}
 body #analyticsChoice [data-close]{min-height:44px}
 body .mobile-page-context{display:none}
 body img{max-width:100%}
 body [hidden]{display:none!important}
}
@media screen and (min-width:601px) and (max-width:900px){
 :root{--mobile-gutter:30px}
 body :is(.featured-grid,.city-grid,.discovery-cities,.food-country-grid,.food-search-results,.cuisine-dishes,.cuisine-city-grid,.food-grid,.shop-grid,.trip-hotels,.todo-grid,.stay-vendors){grid-template-columns:repeat(2,minmax(0,1fr))}
 body .country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body :is(.food-hub-search,.food-filters,.food-page .food-filters,.food-page .food-filter-extra,.todo-filters,.trip-fields,.itinerary-form-grid,.stay-date-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
 body :is(.food-hub-query,.food-hub-search button){grid-column:1/-1}
 body .home-hero-slide .hero-content{padding-top:54px}
 body .food-carousel>.food-card{flex-basis:360px}
 body .hero-carousel-bottom{flex-direction:row;align-items:center;gap:20px}
 body .hero-pickers{flex:1;min-width:0}
 body .hero-carousel-controls{flex-shrink:0;align-self:center}
 body .country-hero-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:670px}
 body .city-action-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media screen and (max-width:360px){
 :root{--mobile-gutter:16px}
 body>header{padding-inline:12px;gap:5px}
 body>header .brand-logo{width:30px;height:36px;flex-basis:30px}
 body>header .logo>.brand-title{font-size:19px}
 body>header .header-actions{gap:5px}
 body>header .language-control{padding-inline:3px;gap:2px}
 body>header .language-control select{width:67px;max-width:67px}
 body .country-grid{grid-template-columns:minmax(0,1fr)}
 body .country-item .arrow{display:block}
 body .city-carousel .carousel-dots{display:none}
 body .mobile-bottom-link span{font-size:10px}
 body .country-quick{grid-template-columns:minmax(0,1fr);gap:14px}
 body .country-quick>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
 body .country-quick strong{text-align:right}
}
@media(prefers-reduced-motion:reduce){.mobile-drawer,.mobile-bottom-link{scroll-behavior:auto;transition:none}}
@media print{
 .mobile-menu-toggle,.mobile-bottom-nav,.mobile-drawer,.mobile-table-label{display:none!important}
 body.mobile-ready{padding-bottom:0}
}
