/* Public typography standard: at least 16px, with 1.6em line spacing. */
body.taste-storefront {
    font-size: max(16px, var(--ecom-body-size, 16px)) !important;
    line-height: 1.6em !important;
}
body.taste-storefront *, body.taste-storefront *::before, body.taste-storefront *::after {
    line-height: 1.6em !important;
}
body.taste-storefront :is(p, small, li, td, th, dt, dd, label, input, select, textarea, button, summary, figcaption, address, abbr, sup, sub) {
    font-size: max(16px, 1rem) !important;
}
body.taste-storefront :is(div, section, nav, ul, ol, a, span, strong, em, b, i) {
    font-size: inherit !important;
}
body.taste-storefront :is(h4, h5, h6) { font-size: 20px !important; }
body.taste-storefront .ecom-product-card__title { font-size: 22px !important; }
body.taste-storefront .wc-block-components-product-name { font-size: 16px !important; }
body.taste-storefront *::placeholder { font-size: 16px; line-height: 1.6em; }
body.taste-storefront :is(.taste-eyebrow, .taste-hero__note, .taste-hero__aside-note, .taste-footer__bottom, .taste-recent__note) {
    font-size: 16px !important;
    letter-spacing: .045em;
}
.taste-single-save:has([aria-pressed=true]) > span { display: none; }
.taste-single-save:has([aria-pressed=true])::after { content: 'Saved to your favourites'; font-size: 16px; }

/* Restore contact information and keep the tagline on the left. */
.taste-announcement .taste-container { min-height: 50px; gap: 24px; padding-block: 10px; }
.taste-announcement__left { display: flex; flex: 1; align-items: center; gap: 28px; flex-wrap: wrap; }
.taste-announcement__contacts { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.taste-announcement__contacts a { display: inline-flex; gap: 8px; color: #eef5e9; }
.taste-announcement svg { width: 18px; height: 18px; }
.taste-announcement__business { white-space: nowrap; }
.taste-header__main { grid-template-columns: 210px minmax(180px,1fr) auto; gap: 30px; }
.taste-account { gap: 10px; }
.taste-account small { margin: 0; }
.taste-header__actions { gap: 17px; }
.taste-action { min-width: 44px; min-height: 48px; }
.taste-action > span { min-width: 27px; height: 27px; top: -5px; right: -6px; line-height: 1.6em !important; }
.taste-search input[type=search] { height: 56px; }
.taste-search button[type=submit] { height: 46px; width: 48px; }
.taste-header__nav > .taste-container { min-height: 64px; gap: 28px; }
.taste-departments { min-width: 255px; padding-right: 26px; }
.taste-departments summary { min-height: 63px; }
.taste-menu { gap: 26px; }
.taste-menu a { padding-block: 17px; }
.taste-track { gap: 10px; }
.taste-departments__list { min-width: 300px; }
.taste-search-results { min-width: 100%; }
.taste-search-results a { padding: 12px; }
.taste-search-results img { width: 56px; height: 60px; }

/* Spacious type and more substantial calls to action. */
.taste-hero { grid-template-columns: minmax(0,1fr) 310px; }
.taste-hero__slide { min-height: 610px; }
.taste-hero .taste-hero__copy h1 { font-size: 48px; max-width: 560px; margin: 16px 0; }
.taste-hero__copy { padding: 48px 40px 72px; }
.taste-hero__copy p { max-width: 390px; }
.taste-hero__copy p br { display: none; }
.taste-hero__aside { padding: 30px; }
.taste-hero__aside h2 { font-size: 36px; margin: 18px 0; }
.taste-hero__aside-icon { margin-top: 22px; }
.taste-hero__aside p { max-width: none; }
.taste-hero__aside > a { flex-wrap: wrap; gap: 10px; }
.taste-hero__aside-note { margin-top: 16px; }
.taste-hero__note { max-width: 390px; }
.taste-benefits { gap: 22px; padding-block: 32px; }
.taste-benefits > div { gap: 13px; padding-inline: 6px; align-items: flex-start; }
.taste-benefits svg { width: 28px; height: 28px; margin-top: 3px; }
.taste-benefits small { margin-top: 8px; }
.taste-section { padding-top: 68px; }
.taste-section-heading { align-items: center; margin-bottom: 30px; }
.taste-section-heading h2 { font-size: 34px; margin-top: 6px; }
.taste-section-heading p { color: var(--taste-muted); margin: 12px 0 0; max-width: 670px; }
.taste-section-heading > a { max-width: none; padding-bottom: 0; gap: 14px; }
.taste-storefront :is(.taste-button, .ecom-product-card__button, .emc-btn, .emc-auth-submit, .wc-block-components-button) {
    min-height: 52px;
    border-radius: max(8px, var(--ecom-button-radius,8px));
    padding: 12px 22px;
    font-weight: 600;
    text-decoration: none;
    box-shadow: 0 4px 12px #133e2810;
    transition: background .2s, box-shadow .2s, transform .2s;
}
.taste-storefront :is(.taste-button, .ecom-product-card__button):hover { box-shadow: 0 7px 20px #133e2826; transform: translateY(-2px); }
.taste-button svg { width: 20px; height: 20px; }
.taste-button--outline { background: #fff; border: 1px solid #b5c7b5; color: var(--taste-green); }
.taste-button--outline:hover { background: #edf3e9; color: var(--taste-dark); }
.taste-storefront .ecom-product-card__title { font-size: 22px; min-height: 0; }
.taste-storefront .ecom-product-card__content { padding: 22px; gap: 12px; }
.taste-storefront .ecom-product-card__category { letter-spacing: .01em; text-transform: none; }
.taste-storefront .ecom-product-card__price { font-size: 20px !important; }
.taste-storefront .ecom-product-card__actions { padding-top: 10px; }
.taste-storefront .ecom-product-card__wishlist { width: 44px; height: 44px; }
.taste-storefront .ecom-product-card__badge-wrap { max-width: calc(100% - 74px); }
.taste-storefront .ecom-product-card__badge { padding: 6px 10px; }
.taste-discovery-card { padding: 36px; }
.taste-discovery-card h3 { font-size: 36px; }
.taste-discovery-card p { max-width: none; }
.taste-wholesale { padding: 52px; gap: 65px; }
.taste-wholesale h2 { font-size: 42px; }
.taste-wholesale > div > p { max-width: 460px; }
.taste-wholesale__steps { gap: 28px; }
.taste-wholesale__steps > div { gap: 20px; }
.taste-wholesale__steps > div > span { width: 48px; height: 48px; }
.taste-wholesale__steps strong { margin-bottom: 10px; }
.taste-faq { padding-bottom: 76px; gap: 65px; }
.taste-faq h2 { font-size: 36px; }
.taste-faq details { padding-block: 20px; }
.taste-faq summary { min-height: 38px; }

/* Native horizontal category slider: no cloned or invented categories. */
.taste-category-slider { --taste-category-columns: var(--taste-category-desktop,4); --taste-category-gap: 24px; }
.taste-category-slider .taste-category-grid {
    display: flex;
    gap: var(--taste-category-gap);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 1px;
    scrollbar-width: thin;
    padding: 3px 1px 14px;
}
.taste-category-slider .taste-category {
    flex: 0 0 calc((100% - (var(--taste-category-columns) - 1) * var(--taste-category-gap)) / var(--taste-category-columns));
    scroll-snap-align: start;
    min-height: 330px;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
    padding: 26px;
    border: 1px solid #e9eadd;
}
.taste-category-slider .taste-category > img { align-self: center; width: 130px; height: 130px; }
.taste-category-slider .taste-category > div { width: 100%; }
.taste-category-slider .taste-category h3 { font-size: 25px; margin: 8px 0 14px; }
.taste-category-slider .taste-category > div > span { max-width: none; gap: 12px; }
.taste-category-controls { display: flex; justify-content: flex-end; gap: 12px; margin-top: 12px; }
.taste-category-controls button { width: 48px; height: 48px; border: 1px solid #bdcdb9; border-radius: 50%; display: grid; place-items: center; background: white; color: var(--taste-green); cursor: pointer; }
.taste-category-controls button:hover:not(:disabled) { background: var(--taste-green); color: #fff; }
.taste-category-controls button:disabled { opacity: .35; cursor: default; }
.taste-category-slider:not(.has-overflow) .taste-category-controls { display: none; }
.taste-category-slider .taste-category-grid:focus-visible { outline-offset: 5px; }

/* Additional merchant-selected product list or grid. */
.taste-storefront .taste-product-list.ecom-products-grid { display: grid; grid-template-columns: repeat(var(--taste-list-desktop,2),minmax(0,1fr)); gap: 24px; padding: 0; margin: 0; }
.taste-storefront .taste-product-list--list .ecom-product-card { display: grid; grid-template-columns: minmax(125px,.7fr) minmax(0,1.3fr); align-items: stretch; }
.taste-storefront .taste-product-list--list .ecom-product-card__media { aspect-ratio: auto; min-height: 265px; padding: 20px; }
.taste-storefront .taste-product-list--list .ecom-product-card__image-link { height: 190px; }
.taste-storefront .taste-product-list--list .ecom-product-card__content { justify-content: center; border-top: 0; border-left: 1px solid #edf0e8; }
.taste-storefront .taste-product-list--list .ecom-product-card__actions { margin-top: 0; }
.taste-list-empty { padding: 30px; background: #f5f6ef; border: 1px solid var(--taste-line); border-radius: 12px; }

/* A stronger footer with readable navigation and a clear final invitation. */
.taste-footer { position: relative; background: #143c2d; color: #e9f0e5; border: 0; padding-top: 0; }
.taste-footer__top { padding: 45px 0; border-color: #54755d; }
.taste-footer__top .taste-eyebrow { color: #d0dfbb; max-width: 370px; }
body.taste-storefront .taste-footer__top > a { font-size: 34px !important; color: #fff; gap: 28px; }
.taste-footer__top > a svg { width: 50px; height: 50px; padding: 13px; border-radius: 50%; background: #e2edcd; color: #173d30; }
.taste-footer__grid { grid-template-columns: 1.35fr 1fr 1fr 1.15fr; gap: 34px; padding: 52px 0; }
.taste-footer__grid h2 { font-size: 20px; color: #fff; margin-bottom: 23px; letter-spacing: 0; }
.taste-footer__grid > nav > a, .taste-footer__grid > div > a:not(.taste-logo), .taste-footer__grid p { color: #d0decc; }
.taste-footer__grid p { max-width: 360px; }
.taste-footer__grid a:hover { color: #fff; text-decoration: underline; }
.taste-footer .taste-logo__image { mix-blend-mode: normal; max-width: 210px; padding: 9px; background: #fff; border-radius: 7px; }
.taste-footer__about p { margin-block: 23px; }
.taste-footer__bottom { padding-block: 26px; color: #c6d6c0; border-color: #46694e; }
.taste-footer__join { display: inline-flex !important; align-items: center; padding: 12px 16px; border: 1px solid #799575; border-radius: 8px; color: #fff !important; }
.taste-footer__join svg { width: 18px; margin-left: 14px; }
.taste-socials { gap: 12px; }
.taste-socials > a { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid #54755d; border-radius: 50%; color: #e3eccf; }
.taste-socials svg { width: 21px; height: 21px; }

/* Keep forms readable when labels float above the entered value. */
.taste-storefront .wc-block-components-text-input input { min-height: 68px; }
.taste-storefront .wc-block-components-text-input.is-active label { transform: translateY(-8px) scale(1) !important; }
.taste-storefront .wc-block-components-quantity-selector input { min-height: 44px; }
.taste-storefront .emc-auth-form :is(input:not([type=checkbox]):not([type=radio]),select) { min-height: 56px; }
.taste-storefront .emc-shop-ordering select { min-height: 52px; }
.taste-storefront .emc-shop-result-count { flex-shrink: 0; }
.taste-storefront .emc-shop-ordering select { max-width: 270px; }
.taste-storefront .emc-shop-check { min-height: 44px; }
.taste-storefront .emc-shop-filter-group summary { text-transform: none; }
.taste-storefront .emc-shop-sidebar { padding-right: 20px; }
.taste-storefront .emc-mini-cart__item { gap: 14px; }
.taste-storefront .taste-mobile-bar > a { padding-top: 2px; gap: 4px; }
.taste-storefront .taste-mobile-bar b { font-size: 16px !important; min-width: 25px; height: 25px; top: -6px; }

@media(max-width:1199px) {
    .taste-header__main { grid-template-columns: 185px minmax(180px,1fr) auto; }
    .taste-account span { display: none; }
    .taste-announcement__left { gap: 10px 24px; }
    .taste-header__nav > .taste-container { gap: 22px; }
    .taste-menu { gap: 22px; }
    .taste-hero { grid-template-columns: minmax(0,1fr) 275px; }
    .taste-hero__copy { padding-inline: 30px; }
    .taste-hero .taste-hero__copy h1 { font-size: 41px; }
    .taste-benefits { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 25px; }
    .taste-benefits > div:nth-child(2) { border: 0; }
    .taste-footer__grid { grid-template-columns: 1.2fr 1fr; gap: 40px 65px; }
    .taste-storefront .taste-product-list.ecom-products-grid { grid-template-columns: repeat(var(--taste-list-tablet,2),minmax(0,1fr)); }
    .taste-storefront .taste-product-list--list .ecom-product-card { grid-template-columns: minmax(110px,.7fr) minmax(0,1.3fr); }
}
@media(max-width:991px) {
    .taste-category-slider { --taste-category-columns: var(--taste-category-tablet,2); }
    .taste-header__main { grid-template-columns: 170px minmax(160px,1fr) auto; gap: 20px; }
    .taste-header__actions { gap: 8px; }
    .taste-track { display: none; }
    .taste-hero { grid-template-columns: 1fr; }
    .taste-hero__aside { display: none; }
    .taste-hero__slide { min-height: 580px; }
    .taste-hero .taste-hero__copy h1 { font-size: 46px; }
    .taste-hero__copy { padding: 40px 38px 65px; }
    .taste-wholesale { grid-template-columns: 1fr; gap: 35px; }
    .taste-wholesale__steps { border-top: 1px solid #66806a; padding-top: 32px; }
    .taste-faq { grid-template-columns: 1fr; gap: 15px; }
    .taste-discovery-card p { display: block; margin-bottom: 22px; }
    .taste-product-list--list .ecom-product-card__content { padding: 20px 16px; }
    .taste-product-list--list .ecom-product-card__button { padding-inline: 9px; }
}
@media(max-width:767px) {
    .taste-announcement .taste-container { justify-content: flex-start; text-align: left; padding-block: 12px; }
    .taste-announcement__left { width: 100%; gap: 10px; }
    .taste-announcement__contacts { width: 100%; gap: 10px 18px; }
    .taste-announcement .taste-announcement__contacts a { display: inline-flex; }
    .taste-announcement__business { display: none !important; }
    .taste-header__main { grid-template-columns: minmax(0,1fr) auto; gap: 0 10px; }
    .taste-header__actions { gap: 5px; }
    .taste-search { margin-top: 14px; }
    .taste-search input[type=search] { height: 52px; padding-left: 14px; }
    .taste-search button[type=submit] { height: 42px; width: 44px; top: 4px; }
    .taste-hero__slide { min-height: 650px; }
    .taste-hero__copy { padding: 29px 24px 68px; }
    .taste-hero .taste-hero__copy h1 { font-size: 35px; margin: 14px 0; }
    .taste-hero__slide:after { background: linear-gradient(180deg,#f8f5ed 4%,#f8f5edf5 48%,#f8f5edaa 68%,#f8f5ed00 96%); }
    .taste-hero__copy p { max-width: 100%; margin-bottom: 22px; }
    .taste-hero__note { align-items: flex-start; gap: 8px; margin-top: 20px; }
    .taste-hero__note svg { margin-top: 5px; width: 16px; height: 16px; }
    .taste-hero__copy > .taste-eyebrow { letter-spacing: .025em; }
    .taste-hero__controls button { width: 44px; height: 44px; padding: 18px 7px; }
    .taste-benefits { grid-template-columns: 1fr; gap: 24px; padding-block: 29px; }
    .taste-benefits > div { border: 0; padding: 0; gap: 18px; }
    .taste-benefits svg { width: 26px; height: 26px; }
    .taste-benefits small { margin-top: 5px; }
    .taste-section { padding-top: 46px; }
    .taste-section-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; margin-bottom: 24px; }
    .taste-section-heading h2 { max-width: none; font-size: 29px; }
    .taste-section-heading > a { max-width: none; margin: 0; gap: 12px; }
    .taste-category-slider { --taste-category-columns: var(--taste-category-mobile,1); --taste-category-gap: 18px; }
    .taste-category-slider .taste-category { min-height: 360px; padding: 27px; }
    .taste-category-slider .taste-category > img { width: 150px; height: 150px; }
    .taste-category-slider .taste-category h3 { font-size: 26px; }
    .taste-category-controls { margin-top: 6px; }
    .taste-storefront .taste-products.ecom-products-grid { grid-template-columns: 1fr; gap: 20px; }
    .taste-storefront .ecom-product-card__content { padding: 22px; }
    .taste-storefront .ecom-product-card__title { font-size: 22px; min-height: 0; }
    .taste-storefront .taste-home .taste-products .ecom-product-card__media { min-height: 245px; }
    .taste-storefront .taste-home .taste-products .ecom-product-card__image-link { height: 200px; }
    .taste-storefront .taste-home .taste-products .ecom-product-card__media img { max-height: 200px; }
    .taste-storefront .ecom-product-card__button { padding: 12px 16px; }
    .taste-discovery-card { padding: 28px; }
    .taste-discovery-card h3 { font-size: 31px; }
    .taste-storefront .taste-product-list.ecom-products-grid { grid-template-columns: repeat(var(--taste-list-mobile,1),minmax(0,1fr)); gap: 20px; }
    .taste-storefront .taste-product-list--list .ecom-product-card { grid-template-columns: minmax(100px,.65fr) minmax(0,1.35fr); }
    .taste-storefront .taste-product-list--list .ecom-product-card__media { padding: 14px; min-height: 265px; }
    .taste-storefront .taste-product-list--list .ecom-product-card__content { padding: 20px 14px; }
    .taste-storefront .taste-product-list--list .ecom-product-card__title { font-size: 20px; }
    .taste-storefront .taste-product-list--list .ecom-product-card__button { padding-inline: 7px; }
    .taste-storefront .taste-product-list--list .ecom-product-card__image-link { height: 145px; }
    .taste-storefront .taste-product-list--list .ecom-product-card__media img { max-height: 145px; }
    .taste-wholesale { padding: 30px 25px; gap: 28px; }
    .taste-wholesale h2 { font-size: 34px; }
    .taste-wholesale__steps > div { align-items: flex-start; gap: 15px; }
    .taste-wholesale__steps > div > span { width: 42px; height: 42px; }
    .taste-faq { padding-bottom: 52px; gap: 14px; }
    .taste-faq h2 { font-size: 30px; }
    .taste-faq summary { gap: 16px; }
    .taste-faq details p { margin-right: 0; }
    .taste-storefront .taste-recent .ecom-products-grid { grid-template-columns: 1fr; }
    .taste-footer__top { padding-block: 32px; }
    body.taste-storefront .taste-footer__top > a { font-size: 28px !important; gap: 16px; margin-top: 18px; }
    .taste-footer__top > a svg { width: 44px; height: 44px; padding: 12px; }
    .taste-footer__grid { grid-template-columns: 1fr 1fr; padding-block: 36px; gap: 36px 24px; }
    .taste-footer__grid > nav > a { margin-block: 16px; }
    .taste-footer__bottom { padding-block: 24px; }
    .taste-mobile-bar { padding: 11px 2px max(9px,env(safe-area-inset-bottom)); }
    body.taste-storefront .taste-mobile-bar > a { font-size: 16px !important; letter-spacing: -.04em; min-width: 0; }
    .taste-mobile-bar svg { width: 23px; height: 23px; }
    .taste-storefront:has(.taste-mobile-bar) { padding-bottom: calc(83px + env(safe-area-inset-bottom)); }
    .taste-storefront .woocommerce-breadcrumb { overflow-wrap: anywhere; }
    .taste-storefront .emc-shop-toolbar { grid-template-columns: 1fr; }
    .taste-storefront .emc-shop-ordering { justify-content: flex-start; }
    .taste-storefront .emc-shop-ordering select { max-width: none; }
    .taste-storefront .emc-shop-result-count { grid-column: 1; grid-row: auto; }
    .taste-storefront.woocommerce .emc-shop-archive ul.emc-shop-grid { grid-template-columns: 1fr; }
}
@media(max-width:359px) {
    .taste-hero .taste-hero__copy h1 { font-size: 30px; }
    .taste-hero__copy { padding-inline: 20px; }
    .taste-hero__slide { min-height: 680px; }
    .taste-footer__grid { grid-template-columns: 1fr; }
    .taste-storefront .taste-product-list--list .ecom-product-card { grid-template-columns: 1fr; }
    .taste-storefront .taste-product-list--list .ecom-product-card__media { min-height: 200px; }
    .taste-storefront .taste-product-list--list .ecom-product-card__content { border-left: 0; border-top: 1px solid var(--taste-line); }
}
