/* Shared city sections: main reading/selection area always precedes both rails. */
.city-section-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
.city-section-main,.city-section-services,.city-section-useful { min-width:0; }
.city-section-main { container-type:inline-size; }
.city-section-layout :is(input,select,button,a) { max-width:100%; }
.city-section-main :is(input,select) { min-width:0; }
@media(min-width:1280px) { .city-section-layout { grid-template-columns:minmax(0,2.6fr) minmax(0,1fr) minmax(0,1fr); } }
@container(min-width:620px) { .city-offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@container(max-width:800px) { .city-section-main [class*="md:grid-cols-["],.city-section-main [class*="xl:grid-cols-4"] { grid-template-columns:minmax(0,1fr); } .city-hotel-results > aside > div { position:static; } }
@media(max-width:639px) { .city-v2-category-tile { flex-direction:column; gap:4px; overflow-wrap:anywhere; font-size:12px; min-height:64px; } }

.city-section-main [data-city-v2-premium-overview] { display:block; }
.city-section-main [data-city-v2-primary-column] { width:100%; }

.city-section-services a[href^="/map"] { color:#fff; }

@container(min-width:560px) { .city-section-main [data-city-hotel-search-fields] { grid-template-columns:repeat(2,minmax(0,1fr)); } .city-section-main [data-city-hotel-search-fields]>:first-child,.city-section-main [data-city-hotel-search-fields]>button { grid-column:1/-1; } }
