/* Context adaptation shared by the existing catalog, maps and preparation. */
:root{--context-gutter:clamp(16px,3vw,44px);--context-safe-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:auto!important}
*,*::before,*::after{box-sizing:border-box}
img,svg,iframe{max-width:100%}
body :is(input,select,textarea,button){min-width:0}
body :is(button,.button,select,summary){touch-action:manipulation}
body :is(button,.button,select,input:not([type=checkbox]):not([type=radio]),summary){min-height:44px}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #a65c20!important;outline-offset:3px!important}
body :is(p,dd,li){overflow-wrap:break-word}
html body.home-modern .shell{width:100%;max-width:1600px!important;margin-inline:auto;padding-inline:var(--context-gutter)!important}
.workspace{container-type:inline-size;container-name:catalog}
.workspace .controls{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))!important;gap:12px!important}
.workspace .controls .search-field{grid-column:1/-1;min-width:0!important}
.workspace .field :is(select,input){width:100%;font-size:16px!important;min-height:48px!important}
.workspace #grid{display:grid!important;grid-template-columns:1fr!important;gap:20px!important}
.workspace .tea-card{min-width:0;container-type:inline-size;container-name:drink-card;padding-bottom:76px!important}
.workspace .tea-card h3{font-size:clamp(24px,2.3vw,32px)!important;line-height:1.2!important;overflow-wrap:break-word}
.workspace .tea-card .meta{font-size:14px!important;line-height:1.6!important}
.workspace-head p{max-width:70ch}
@container catalog (min-width:640px){.workspace #grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@container catalog (min-width:960px){.workspace #grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@container catalog (min-width:1280px){.workspace #grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@container drink-card (max-width:300px){.tea-card .card-top{flex-wrap:wrap;gap:6px}.tea-card .meta{display:grid;grid-template-columns:1fr;gap:10px}}
.tea-places-section,#drinks-world-map{container-type:inline-size;container-name:place-section}
.tea-places-controls{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))!important;gap:12px!important}
.tea-places-controls :is(input,select){width:100%;min-width:0!important;font-size:16px!important;min-height:48px!important}
.tea-places-controls .tea-place-search{grid-column:1/-1}
.tea-place-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:600px}
.tea-place-row{min-height:64px!important;white-space:normal!important;text-align:start}
.tea-place-row strong{font-size:16px;line-height:1.5}.tea-place-row small{font-size:14px!important;line-height:1.5;color:#4b5d51!important}
.tea-place-panel-copy small,.tea-place-panel-copy span{font-size:14px!important;line-height:1.6}
.tea-place-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px!important}
.tea-places-social a{display:inline-flex;align-items:center;min-height:44px;font-size:14px!important;color:#31554a!important}
.tea-place-icon{color:#547767!important}
.tea-place-panel{min-width:0}
.tea-place-panel-copy{overflow-wrap:anywhere}
#drinks-world-map .map-featured-grid,#drinks-world-map .map-compact-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))!important;gap:18px!important}
#drinks-world-map .country-card{display:grid!important;grid-template-columns:48px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;min-width:0!important;padding:22px!important;border-radius:18px!important;background:#f4f0e7!important;color:#263c33!important;min-height:180px!important}
#drinks-world-map .country-card.is-active{background:#e1ebdf!important;box-shadow:inset 0 0 0 2px #587260!important}
#drinks-world-map .country-code-wrap{position:static!important;transform:none!important;grid-column:1;grid-row:1;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#284c40;color:#fffdf4}
#drinks-world-map .country-card-body{grid-column:2;min-width:0}
#drinks-world-map .country-card-name{font:500 clamp(23px,2vw,30px)/1.2 Georgia,serif!important;color:#263c33!important;overflow-wrap:normal!important;word-break:normal!important}
#drinks-world-map .country-card-count{font-size:24px!important;color:#80552a!important}
#drinks-world-map .country-card-count small,#drinks-world-map .country-card-categories,#drinks-world-map .country-card-regions{font-size:14px!important;line-height:1.5!important;color:#4c5d51!important}
#drinks-world-map .country-card-open{grid-column:2;writing-mode:horizontal-tb!important;transform:none!important;white-space:normal!important;text-align:start!important;font-size:14px!important;line-height:1.5;color:#294d40!important}
@container place-section (max-width:780px){.tea-places-layout{grid-template-columns:1fr!important}.tea-place-list{max-height:360px}}
.context-map-switch{display:flex;flex-wrap:wrap;gap:6px;padding:5px;background:#e5e4db;border-radius:16px;margin-block:16px;width:fit-content}
.tea-places-section[data-map-view=list] iframe,#drinks-world-map[data-map-view=list] .world-map-canvas{display:none!important}
.tea-places-section[data-map-view=list] .tea-place-panel{min-height:0}
.context-map-external{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;color:#294d40;font-size:14px}
[data-map-view=list] .context-map-external{display:none}
.context-map-switch button{padding:10px 22px;border:0;border-radius:12px;background:transparent;color:#303b36;font:600 16px/1.3 system-ui}
.context-map-switch button[aria-pressed=true]{background:#fffdf8;box-shadow:0 2px 6px #233c301a}
.ceremony-shell,.prepare-shell,.review-shell{width:100%;max-width:1280px!important;margin-inline:auto;padding-inline:var(--context-gutter)!important}
.prepare-nav{display:flex!important;flex-wrap:wrap;align-items:center;gap:12px}
.prepare-nav .back-link{display:inline-flex;align-items:center;min-height:44px;flex:1 1 140px;white-space:normal}
.prepare-nav .language-picker{margin-left:auto}
.prepare-step{color:#263c33!important}
.prepare-step h3{color:#263c33!important;font-size:clamp(24px,3vw,34px)!important;line-height:1.35!important;max-width:45ch}
.prepare-step p{color:#4c5d51!important}
.prepare-step .eyebrow{color:#785827!important}
.prepare-step-actions .button{min-height:56px}
.ceremony-header{align-items:start;gap:24px!important}
.ceremony-header .lead{font-size:clamp(16px,1.8vw,20px);line-height:1.65;max-width:65ch}
.ceremony-shell .screen,.prepare-shell #prepare-content{container-type:inline-size;container-name:preparation}
.ceremony-shell .screen{padding:clamp(18px,3vw,36px)!important}
.ceremony-shell .detail-grid,.drink-facts{grid-template-columns:1fr;gap:20px}
.detail-grid article p,.detail-grid article ul,.setup-card p,.helper{font-size:15px!important;line-height:1.65!important}
.ceremony-shell .builder-grid{grid-template-columns:1fr;gap:20px}
.setup-controls :is(select,input){font-size:16px!important;min-height:48px!important}
.recipe-builder{grid-template-columns:minmax(0,1fr)}
.recipe-builder .setup-controls{min-width:0;grid-template-columns:minmax(0,1fr)}
.recipe-builder .helper{overflow-wrap:anywhere}
.profile-details ul{grid-template-columns:minmax(0,1fr);min-width:0}
.profile-details li{min-width:0;overflow-wrap:anywhere}
.setup-controls label{font-size:15px!important}
.ceremony-shell .action-row{gap:12px;align-items:stretch}
.ceremony-shell .action-row .button{padding:12px 18px;white-space:normal}
.step-card{max-width:860px;margin-inline:auto}
.step-instruction{max-width:55ch;margin-inline:auto;font-size:clamp(17px,2vw,22px)!important;line-height:1.65!important}
.timer #timer-value{font-size:clamp(56px,9vw,100px)!important;font-variant-numeric:tabular-nums}
.step-actions{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}
.ceremony-shell .step-actions .button{min-height:56px!important;font-size:16px;white-space:normal}
.ceremony-shell:has(#screen-steps:not([hidden])) .ceremony-header .lead{display:none}
.ceremony-shell:has(#screen-steps:not([hidden])) .ceremony-header h1{font-size:clamp(28px,3vw,40px)!important}
@container preparation (min-width:650px){.ceremony-shell .detail-grid,.drink-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@container preparation (max-width:649px){.drink-hero{grid-template-columns:1fr!important}.drink-hero .drink-visual{order:-1;height:140px}.drink-hero .drink-visual svg{height:140px}.setup-card{grid-template-columns:1fr}}
.bastart-dialog{max-height:min(720px,calc(100dvh - 120px));overscroll-behavior:contain}
.bastart-head,.bastart-context,.bastart-compose,.bastart-actions,.bastart-quick{flex-shrink:0}
.bastart-head{padding:12px 14px}.bastart-head h2{font-size:16px}.bastart-head p,.bastart-context{font-size:13px}
.bastart-close{width:44px;height:44px;min-width:44px;display:grid;place-items:center;border-radius:12px}
.bastart-dialog .bastart-quick{flex-wrap:nowrap!important;overflow-x:auto;overflow-y:hidden;max-height:66px}
.bastart-quick button{font-size:13px;min-height:44px;white-space:nowrap}
.bastart-messages{min-height:0;max-height:none;flex:1 1 auto;display:flex;flex-direction:column;overflow-y:auto}
.bastart-message{font-size:15px;flex-shrink:0;overflow-wrap:anywhere}.bastart-message.user{align-self:flex-end}.bastart-message.agent{align-self:flex-start}
.bastart-compose textarea{min-width:0;width:100%;font:16px/1.4 system-ui;resize:none;min-height:48px;max-height:80px}
.bastart-send{min-height:48px}.bastart-actions button{font-size:13px;min-height:44px}
.bastart-card-trigger{font-size:13px;min-height:44px!important}
@media(min-width:768px) and (max-width:1279px){.ceremony-header{grid-template-columns:minmax(0,1fr) auto!important}.ceremony-header .prototype-note{grid-column:1/-1}.modern-landing.premium-travel-hero .modern-landing__main{padding-inline:0!important}.tea-places-section{padding:24px!important}}
@media(max-width:767px){
 html body.home-modern .shell{padding-inline:18px!important}
 .workspace{padding-block:28px!important}.workspace-head{display:grid!important;gap:12px}.workspace-head .count{font-size:15px}
 .bastart-card-trigger{opacity:1!important;transform:none!important}
 .modern-search-callout{display:grid!important;grid-template-columns:minmax(0,1fr) auto;padding:8px!important}.modern-search-callout input{font-size:16px!important;width:100%!important}.modern-search-callout button{min-width:76px;padding-inline:14px!important}
 .modern-landing.premium-travel-hero h1{font-size:clamp(38px,7vw,60px)!important;max-width:16ch!important}
 .drink-section-intro h2{font-size:clamp(30px,6vw,42px)!important;max-width:22ch}.drink-section-intro .section-illustration{order:-1}
 .context-map-switch{display:flex}
 .tea-places-section[data-map-view=list] iframe,#drinks-world-map[data-map-view=list] .world-map-canvas{display:none!important}
 .tea-places-section[data-map-view=list] .tea-place-panel{min-height:0}
 .tea-places-section[data-map-view=map] .tea-place-list{display:none!important}
 .tea-place-panel iframe,.world-map-canvas iframe{height:300px!important;min-height:300px!important}
 .tea-places-section{padding:18px!important}.tea-places-layout{grid-template-columns:1fr!important}
 .map-featured-grid,.country-grid{grid-template-columns:1fr!important}.country-card{min-width:0}
 .ceremony-header,.ceremony-header:has(.prototype-note[hidden]){grid-template-columns:1fr!important}
 .ceremony-shell .action-row{display:grid;grid-template-columns:1fr}.ceremony-shell .action-row>*{width:100%}
 .ceremony-shell h1{font-size:clamp(34px,7.5vw,54px)!important;line-height:1.12!important}
 .ceremony-shell .prototype-note{font-size:14px}
 .ceremony-shell:has(#screen-steps:not([hidden])) .ceremony-header{padding:18px!important;gap:12px!important}
 .ceremony-shell:has(#screen-steps:not([hidden])) .ceremony-header .eyebrow{display:none}
 .recipe-summary .infusion-overview{display:flex;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:6px}
 .recipe-summary .infusion-overview li{flex:0 0 94px;min-height:58px;min-width:0}
 .bastart-fab{right:14px;bottom:calc(90px + var(--context-safe-bottom));width:56px;height:56px}
 body:not(:has(.nav-mobile-dock)) .bastart-fab{bottom:calc(18px + var(--context-safe-bottom))}
 .bastart-dialog{right:0;bottom:var(--context-keyboard-offset,0px);width:100%;height:var(--context-chat-height,min(590px,68dvh));max-height:calc(var(--context-viewport-height,100dvh) - 12px);border-radius:24px 24px 0 0;padding-bottom:var(--context-safe-bottom)}
 body:has(.bastart-dialog.is-open) .nav-mobile-dock,body:has(.bastart-dialog.is-open) .bastart-fab{visibility:hidden}
 body:has(.bastart-dialog.is-open){padding-bottom:min(590px,68dvh)}
 .bastart-context{max-height:58px;overflow-y:auto}.bastart-compose{padding:10px;gap:8px}.bastart-actions{padding-bottom:0}
 .bastart-head .bastart-cat{margin:0}.bastart-head h2{font-size:15px}.bastart-head p{font-size:12px}.bastart-actions button{font-size:12px}
 .nav-mobile-dock{bottom:calc(10px + var(--context-safe-bottom));max-width:calc(100% - 24px)}
 .nav-mobile-dock:has(.bastart-fab){display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px}
 .nav-mobile-dock .bastart-fab{position:static;width:100%;height:54px;margin:0;border:0;border-radius:14px;box-shadow:none;font-size:11px}
 .nav-mobile-dock a{min-height:48px!important;min-width:0;display:flex;flex-direction:column;justify-content:center;font-size:12px!important}
 .nav-mobile-dock:has(.bastart-fab) a{padding:6px 2px;white-space:normal;overflow-wrap:normal;text-align:center;line-height:1.3}
}
@media(max-width:479px){.section-actions{display:grid!important;grid-template-columns:1fr}.section-actions button{width:100%;min-height:48px}.tea-places-controls{grid-template-columns:1fr!important}.step-actions{grid-template-columns:1fr!important}.step-card{padding:18px!important}.step-heading{display:grid!important;gap:16px}}
@media(pointer:coarse),(hover:none){.bastart-card-trigger{opacity:1!important;transform:none!important}.tea-card:hover,.tea-choice:hover{transform:none!important}body :is(button,.button,summary):active{filter:brightness(.92)}.chip,.map-chip{min-height:48px!important}.favorite-button,.star-button{min-width:44px;min-height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
