/* 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 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; }
}
