/* A consistent box model prevents padded, full-width content from spilling past the viewport. */
body.taste-storefront,
body.taste-storefront *,
body.taste-storefront *::before,
body.taste-storefront *::after { box-sizing:border-box; }

@media (max-width:991px) {
    body.taste-storefront main .taste-container { width:calc(100% - 40px)!important;max-width:1440px!important;padding-inline:0!important;margin-inline:auto!important; }
    body.taste-storefront main,
    body.taste-storefront main > *,
    body.taste-storefront main :is(section,article,aside,header,footer,form) { min-width:0; }
    body.taste-storefront main :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,label,a,button) { overflow-wrap:anywhere; }
}

@media (min-width:768px) and (max-width:991px) {
    body.taste-storefront main h1 { font-size:clamp(32px,5.2vw,44px)!important;line-height:1.12!important; }
    body.taste-storefront main h2 { font-size:clamp(24px,3.6vw,32px)!important;line-height:1.2!important; }
}

@media (max-width:767px) {
    body.taste-storefront main .taste-container { width:calc(100% - 28px)!important;max-width:1440px!important;padding-inline:0!important;margin-inline:auto!important; }
    body.taste-storefront .taste-header__main { padding-block:4px; }
    body.taste-storefront .taste-header__main .taste-logo { max-width:158px; }
    body.taste-storefront .taste-header__main .taste-logo__image { width:154px;max-height:44px; }
    body.taste-storefront .taste-header__actions .taste-action { min-height:40px; }
    body.taste-storefront .taste-header__actions .taste-action > span { min-width:17px;height:20px;top:4px;right:-2px;line-height:1.6em!important; }
    body.taste-storefront main h1 { font-size:clamp(28px,8vw,35px)!important;line-height:1.12!important; }
    body.taste-storefront main h2 { font-size:clamp(21px,6vw,28px)!important;line-height:1.2!important; }
    body.taste-storefront main :is(p,li,dt,dd,blockquote) { line-height:1.55; }
    body.taste-storefront main :is(input,select,textarea) { max-width:100%;font-size:16px; }
}

/* Keep the category count as quiet image metadata, separate from the title. */
#taste-categories .taste-category-slider .taste-category .taste-category__count {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:absolute;
    z-index:2;
    top:25px;
    right:25px;
    min-height:23px;
    padding:4px 9px;
    border:1px solid rgba(225,232,241,.9);
    border-radius:999px;
    background:rgba(255,255,255,.9);
    color:#596a80;
    font-size:11px!important;
    font-weight:500;
    line-height:1.2!important;
    white-space:nowrap;
    box-shadow:0 2px 8px rgba(17,42,84,.08);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}
#taste-categories .taste-category-slider .taste-category > div {
    grid-template-columns:minmax(0,1fr);
    gap:0;
}
@media (min-width:768px) and (max-width:1199px) {
    #taste-categories .taste-category-slider .taste-category .taste-category__count { top:23px;right:23px; }
}
@media (max-width:767px) {
    #taste-categories .taste-category-slider .taste-category .taste-category__count { top:18px;right:18px;min-height:21px;padding:3px 7px;font-size:10px!important; }
}

/* Give the mobile menu a tighter top edge and regular-weight, larger labels. */
@media (max-width:991px) {
    body.taste-storefront .taste-mobile-menu { padding-top:14px; }
    body.taste-storefront .taste-mobile-menu__nav .taste-menu > li > a { font-size:17px;font-weight:400; }
    body.taste-storefront .taste-mobile-menu__nav .taste-menu .sub-menu a { font-size:15px;font-weight:400; }
    body.taste-storefront .taste-mobile-menu__actions .taste-button { font-size:14px;font-weight:400; }
    body.taste-storefront .taste-mobile-language-options a { font-size:14px;font-weight:400; }
}
@media (max-width:767px) {
    body.taste-storefront .taste-mobile-menu__nav .taste-menu > li > a { font-size:18px; }
    body.taste-storefront .taste-mobile-menu__nav .taste-menu .sub-menu a { font-size:16px; }
    body.taste-storefront .taste-mobile-menu__actions .taste-button { font-size:15px; }
}
