/* Fluid page grid and explicit, non-overlapping map control regions. */
:root{--page-gutter:clamp(12px,1.5vw,28px);--map-inset:16px}
.page,.site-footer{width:100%;max-width:none;margin-left:0;margin-right:0}.page{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.site-header{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}.site-footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.block-head{flex-wrap:wrap;row-gap:12px}.block-head h2{min-width:0;white-space:normal;line-height:1.35;overflow-wrap:anywhere}.block-head h2>span{flex:none}.block-head>div{min-width:0}.block-head .country-label{margin-left:auto;flex:none}.block-head select{min-height:40px}.block-foot{height:auto!important;min-height:42px;line-height:1.6}.production-row>span,.holiday-row>span,.drink-copy,.related-drinks>button>span,.production-link>span{min-width:0}.production-row b,.holiday-row b,.drink-copy>b,.admin-catalog h3,.review p,.production-link b,.related-drinks b{overflow-wrap:anywhere}.production-row>i,.holiday-row>i{flex:none}.rating-text{flex-wrap:wrap;row-gap:3px}.holiday-row>span>small,.drink-copy>small{flex-wrap:wrap;row-gap:4px}.holiday-row time{flex:none}.holiday-note{flex:none}.detail-actions,.review-section>header,.review>header,.admin-review>header{flex-wrap:wrap}.review>header>div{min-width:0;flex:1}.review>header b{overflow-wrap:anywhere}.review-stars{white-space:nowrap;flex:none}.history-card>.block-head>div{display:flex;flex-wrap:wrap;gap:8px}.history-intro>div{min-width:0}.history-intro .item-description{max-width:85ch}.near-meta{flex-wrap:wrap;row-gap:5px}.near-controls>label,.producer-filter{min-width:0}.near-controls select,.producer-filter select{width:100%;max-width:100%}.history-section,.article-tiles,.catalog-cards{min-width:0}.article-tiles a{min-width:0}.article-tiles b,.article-tiles span{overflow-wrap:anywhere}.site-footer{flex-wrap:wrap;row-gap:12px}.site-footer>div{flex-wrap:wrap;gap:10px 22px}.dialog{max-width:100%}.dialog>header h2{min-width:0;overflow-wrap:anywhere}.dialog>header .icon-button{flex:none}.form label,.form-grid label{min-width:0;overflow-wrap:anywhere}.form-error{overflow-wrap:anywhere}.admin-toolbar>*{max-width:100%}
/* Top controls participate in normal flow inside one positioned region. */
.map-block .map-overlay-top{position:absolute;z-index:5;top:max(var(--map-inset),env(safe-area-inset-top,0px));left:max(var(--map-inset),env(safe-area-inset-left,0px));right:max(var(--map-inset),env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:12px;pointer-events:none}.map-block .map-overlay-top .map-head-actions{position:static;inset:auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;pointer-events:none}.map-block .map-overlay-top .map-projection{position:static;inset:auto;align-self:flex-start;pointer-events:auto}.map-block .map-overlay-top .map-tabs,.map-block .map-overlay-top .map-screen-toggle{pointer-events:auto;min-height:42px}.map-block .map-overlay-top button{min-height:36px}.map-block .map-overlay-top .map-screen-toggle{margin-left:auto;min-height:42px}.map-block .map-overlay-top .map-tabs{max-width:100%;flex-wrap:wrap}.map-block .map-projection{flex-wrap:wrap;max-width:100%}
/* Bottom text and count flow together, above the attribution strip. */
.map-block .map-overlay-bottom{position:absolute;z-index:3;left:max(var(--map-inset),env(safe-area-inset-left,0px));right:max(var(--map-inset),env(safe-area-inset-right,0px));bottom:calc(30px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:end;pointer-events:none}.map-block .map-overlay-bottom .map-status{position:static;inset:auto;grid-column:1/-1;max-width:none;color:#d4dcff;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.map-block .map-overlay-bottom .map-help{position:static;inset:auto;grid-column:1;max-width:none;justify-self:start;font-size:11px;line-height:1.5;padding:6px 8px;overflow-wrap:anywhere}.map-block .map-overlay-bottom .map-badge{position:static;inset:auto;grid-column:2;max-width:100%;font-size:11px;line-height:1.5;padding:6px 8px;align-self:end;white-space:nowrap}.map-block .map-tools{right:max(var(--map-inset),env(safe-area-inset-right,0px));bottom:calc(124px + env(safe-area-inset-bottom,0px));z-index:4}.map-block .canvas-attribution{right:8px;bottom:calc(4px + env(safe-area-inset-bottom,0px));max-width:calc(100% - 16px);font-size:8px;line-height:1.5}.map-block .maplibregl-ctrl-bottom-right{bottom:env(safe-area-inset-bottom,0px);max-width:calc(100% - 16px);right:4px}.map-block .maplibregl-ctrl-attrib{max-width:100%;font-size:9px!important;line-height:18px}.map-block .maplibregl-ctrl-attrib-inner{overflow-wrap:anywhere}
@media(min-width:768px){.catalog-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.history-body>.item-detail>.drink-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}#nearRows{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:8px 28px}.near-controls>label{flex:1 1 180px}.site-header nav{flex:none}.history-card>.block-head>h2{flex:1 1 240px}}
@media(min-width:1051px){.site-header{gap:24px}.site-header nav{margin-left:0}.global-search{max-width:420px;min-width:180px}}
@media(min-width:768px) and (max-width:1050px){.site-header{height:auto;min-height:108px;display:grid;grid-template-columns:auto 1fr auto auto;gap:8px 18px;padding-top:12px;padding-bottom:12px}.site-header nav{display:flex;justify-content:center;gap:18px;margin:0}.global-search{grid-column:1/-1;grid-row:2;max-width:none;width:100%;margin:0}.my-reviews{grid-column:3;grid-row:1}.age-label{grid-column:4;grid-row:1}.site-header .brand{grid-column:1;grid-row:1}.map-block,.history-card{scroll-margin-top:140px}html{scroll-padding-top:140px}}
@media(max-width:767px){:root{--map-inset:12px}.site-header{padding-left:16px;padding-right:16px;column-gap:12px}.site-header nav{gap:16px}.site-header nav a{min-height:40px}.block-head{padding:16px;gap:12px}.block-head h2{font-size:16px}.country-label select{max-width:125px}.map-block .map-overlay-top{gap:10px}.map-block .map-overlay-top .map-head-actions{gap:8px}.map-block .map-overlay-top .map-tabs button{padding:0 8px;font-size:11px}.map-block .map-overlay-top .map-screen-toggle{font-size:11px;padding:0 10px}.map-block .map-overlay-top .map-projection button{font-size:11px;padding:0 10px}.map-block .map-overlay-bottom{gap:8px 12px}.map-block .map-overlay-bottom .map-help,.map-block .map-overlay-bottom .map-badge{font-size:10px}.map-block .map-overlay-bottom .map-status{font-size:10px}.map-block .map-tools .btn{width:40px;min-height:40px}.history-card>.block-head{align-items:flex-start}.history-card>.block-head h2{flex:1 1 170px}.history-card>.block-head>div{flex-wrap:wrap}.nearby-block>.block-head{align-items:stretch}.near-controls>label{flex-basis:100%}.detail-actions>.btn{flex:1 1 140px;white-space:normal;text-align:center}.review-section>header{display:flex;align-items:flex-start}.review-section>header>div{flex:1 1 160px}.review-section>header>.btn{flex:1 1 140px}.history-intro{grid-template-columns:1fr}.catalog-cards{gap:12px}.catalog-cards .drink-copy>b{font-size:17px}.catalog-cards .rating-text{gap:4px}.article-tiles{gap:12px}.article-tiles a{padding:18px 14px}.article-tiles b{font-size:24px}.admin-toolbar .admin-search{min-width:0;flex-basis:100%}.admin-toolbar input,.admin-toolbar select{max-width:100%}.form-grid{min-width:0}}
@media(max-width:359px){.map-block .map-overlay-top .map-head-actions{display:grid;grid-template-columns:1fr;gap:8px}.map-block .map-overlay-top .map-tabs{justify-self:start}.map-block .map-overlay-top .map-screen-toggle{margin:0;justify-self:start}.map-block .map-overlay-top .map-screen-toggle .icon{display:block}.map-block .map-overlay-bottom{grid-template-columns:1fr;gap:6px}.map-block .map-overlay-bottom .map-badge{grid-column:1;justify-self:start}.map-block .map-tools{bottom:calc(152px + env(safe-area-inset-bottom,0px))}.catalog-cards{grid-template-columns:1fr}.article-tiles{grid-template-columns:1fr}.history-card>.block-head>div{width:100%;justify-content:flex-end}}
/* Scrollbar width must not force a 320px body beyond a narrow viewport. */
html,body{min-width:0}
/* Keep expanded vector-map credits in their own scrollable strip. */
.map-block .map-overlay-bottom{bottom:calc(54px + env(safe-area-inset-bottom,0px))}.map-block .map-tools{bottom:calc(148px + env(safe-area-inset-bottom,0px))}.map-block .maplibregl-ctrl-attrib-inner{max-height:36px;overflow:auto;overscroll-behavior:contain}
@media(max-width:359px){.map-block .map-tools{bottom:calc(176px + env(safe-area-inset-bottom,0px))}}
