:root{--color-primary: #1DB8D4;--color-secondary: #4FCFE6;--color-primary-light: #4FCFE6;--color-accent: #C45C26;--color-cream: #EAF8FB;--color-surface: #EAF8FB;--color-bg: #FFFFFF;--color-text: #1A1A1A;--color-text-muted: #5C5C5C;--color-border: #D0EBF2;--color-sale: #C45C26;--color-success: #1DB8D4;--color-error: #B33A3A;--color-white: #ffffff;--color-primary-rgb: 29, 184, 212;--color-secondary-rgb: 79, 207, 230;--color-accent-rgb: 196, 92, 38;--color-error-rgb: 179, 58, 58;--color-surface-rgb: 234, 248, 251;--color-text-rgb: 26, 26, 26;--color-primary-deep: #0E8FA8;--color-header-bg: #ffffff;--color-header-text: #1a1a1a;--color-announcement-bg: #1db8d4;--color-announcement-text: #ffffff;--color-button: #1db8d4;--color-button-text: #ffffff;--color-button-hover: #4fcfe6;--color-footer-bg: #1db8d4;--color-footer-text: #ffffff;--font-heading: Outfit, sans-serif;--font-body: DM Sans, sans-serif;--font-size-base: 16px;--font-size-heading: 40px;--font-size-section: 28px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-btn: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(26, 26, 26, .06);--shadow-md: 0 4px 16px rgba(26, 26, 26, .08);--shadow-lg: 0 12px 40px rgba(26, 26, 26, .12);--header-height: 72px;--mobile-nav-height: 0px;--space-section: clamp(2.5rem, 5vw, 4.5rem);--container-max: 1200px;--container: min(1200px, calc(100% - 2rem) );--logo-width: 180px;--logo-width-mobile: 140px;--logo-max-height: 52px;--ease: cubic-bezier(.22, 1, .36, 1);--duration: .28s;--z-header: 100;--z-drawer: 200;--z-gate: 300;--z-mobile-nav: 150}@media(max-width:749px){:root{--header-height: 68px;--logo-max-height: 48px}}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.5;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;overflow-x:clip}body.postcode-locked{overflow:hidden}img,picture,video,svg{display:block;max-width:100%;height:auto}img[loading=lazy]{background:var(--color-cream)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;margin:0;letter-spacing:-.02em}p{margin:0}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;padding:.75rem 1.25rem;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-md)}.skip-link:focus{top:1rem}.container{width:var(--container);max-width:100%;margin-inline:auto;min-width:0;box-sizing:border-box}.section{padding-block:var(--space-section)}.section--cream{background:var(--color-cream)}.section__header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.75rem}.section__title{font-size:clamp(1.35rem,2.5vw,var(--font-size-section))}.section__subtitle{color:var(--color-text-muted);margin-top:.35rem;font-size:.95rem}.page-width{width:var(--container);margin-inline:auto}main{min-height:50vh;padding-bottom:1.5rem}@media(min-width:750px){main{padding-bottom:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.5rem;border-radius:var(--radius-btn);font-weight:600;font-size:.95rem;transition:transform var(--duration) var(--ease),background var(--duration) var(--ease),box-shadow var(--duration) var(--ease);text-align:center;white-space:nowrap}.btn:active{transform:scale(.97)}.btn--primary{background:var(--color-button);color:var(--color-button-text)}.btn--primary:hover{background:var(--color-button-hover);box-shadow:var(--shadow-md)}.btn--secondary{background:var(--color-surface);color:var(--color-primary)}.btn--secondary:hover{background:var(--color-secondary);color:var(--color-button-text)}.btn--outline{background:transparent;color:var(--color-primary);box-shadow:inset 0 0 0 1.5px var(--color-primary)}.btn--outline:hover{background:var(--color-primary);color:var(--color-white)}.btn--full{width:100%}.btn--sm{min-height:40px;padding:.5rem 1rem;font-size:.875rem}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.field{display:flex;flex-direction:column;gap:.4rem}.field__label{font-size:.875rem;font-weight:600}.field__input{width:100%;min-height:48px;padding:.75rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.field__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.12)}.field__input--error{border-color:var(--color-error)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge--sale{background:var(--color-sale);color:var(--color-white)}.badge--new{background:var(--color-primary);color:var(--color-white)}.badge--delivery{background:var(--color-cream);color:var(--color-primary)}.badge--stock{background:rgba(var(--color-primary-rgb),.12);color:var(--color-success)}.badge--stock-low{background:rgba(var(--color-accent-rgb),.12);color:var(--color-sale)}.badge--stock-out{background:rgba(var(--color-error-rgb),.12);color:var(--color-error)}.qty{display:inline-flex;align-items:center;border:1.5px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-white);max-width:100%}.qty__btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-primary);transition:background var(--duration) var(--ease)}.qty__btn:hover{background:var(--color-cream)}.qty__input{width:44px;height:40px;border:none;text-align:center;font-weight:600;-moz-appearance:textfield}.qty__input::-webkit-outer-spin-button,.qty__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.product-card{display:flex;flex-direction:column;height:100%;background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.product-card__media{position:relative;aspect-ratio:1 / 1;background:var(--color-cream);overflow:hidden}.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s var(--ease)}.product-card:hover .product-card__media img{transform:scale(1.04)}.product-card__badges{position:absolute;top:.75rem;left:.75rem;display:flex;flex-direction:column;gap:.35rem;z-index:1}.product-card__fav{position:absolute;top:.75rem;right:.75rem;z-index:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-white);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--color-text-muted);transition:color var(--duration) var(--ease),transform var(--duration) var(--ease)}.product-card__fav:hover,.product-card__fav.is-active{color:var(--color-sale);transform:scale(1.08)}.product-card__body{display:flex;flex-direction:column;flex:1;padding:1rem;gap:.5rem}.product-card__vendor{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.product-card__title{font-family:var(--font-body);font-size:.95rem;font-weight:600;line-height:1.35;overflow:visible;word-break:break-word}.product-card__title a:hover{color:var(--color-primary-light)}.product-card__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem;margin-top:auto}.price{font-weight:700;font-size:1.05rem;color:var(--color-primary)}.price--compare{font-size:.875rem;font-weight:500;color:var(--color-text-muted);text-decoration:line-through}.product-card__stock{font-size:.75rem}.product-card__actions{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.product-card__actions .btn{flex:1;min-height:42px;font-size:.85rem}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:750px){.product-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}@media(min-width:990px){.product-grid{grid-template-columns:repeat(4,1fr)}}.product-grid--scroll{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;scrollbar-width:none}.product-grid--scroll::-webkit-scrollbar{display:none}.product-grid--scroll .product-card{flex:0 0 160px;scroll-snap-align:start}@media(min-width:750px){.product-grid--scroll .product-card{flex:0 0 220px}}.site-header{position:sticky;top:0;z-index:var(--z-header);background:var(--color-header-bg);color:var(--color-header-text);border-bottom:1px solid var(--color-border);transition:box-shadow var(--duration) var(--ease)}.site-header.is-scrolled{box-shadow:var(--shadow-sm)}.site-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;min-height:var(--header-height);height:auto;padding-block:.45rem;width:var(--container);margin-inline:auto}.site-header__left{display:flex;align-items:center;gap:.35rem;justify-self:start}.site-header__actions{display:flex;align-items:center;gap:.25rem;justify-self:end}.site-header__logo{display:flex;align-items:center;justify-content:center;justify-self:center;grid-column:2;max-width:100%;min-width:0}.site-header__logo-text{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--color-primary);line-height:1.15;max-width:140px}.site-header__logo-img,.site-header__logo img{display:block;width:auto;height:auto;max-width:min(var(--logo-width-mobile),46vw);max-height:var(--logo-max-height);object-fit:contain;object-position:center}@media(min-width:750px){.site-header__inner{gap:1rem;padding-block:.5rem}.site-header__logo-img,.site-header__logo img{max-width:var(--logo-width);max-height:var(--logo-max-height)}}.site-header__logo-img--drawer{width:auto;max-width:min(var(--logo-width-mobile),150px);max-height:40px;height:auto}.site-header__search{display:none!important}.search-form{position:relative}.search-form__input{width:100%;min-height:44px;padding:.6rem 1rem .6rem 2.75rem;border:1.5px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-cream);transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}.search-form__input:focus{outline:none;border-color:var(--color-primary);background:var(--color-white)}.search-form__icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.header-icon{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-header-text);transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.header-icon:hover{background:var(--color-cream);color:var(--color-primary)}.header-icon__count{position:absolute;top:4px;right:4px;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-full);font-size:.65rem;font-weight:700}.header-icon--menu{display:flex}@media(min-width:990px){.header-icon--menu{display:none}}.site-header__postcode{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:var(--color-cream);border-radius:var(--radius-full);font-size:.8rem;font-weight:600;color:var(--color-primary);white-space:nowrap}.site-header__postcode button{color:var(--color-primary-light);text-decoration:underline;font-size:.75rem;font-weight:600}.delivery-bar{background:var(--color-announcement-bg);color:var(--color-announcement-text);font-size:.8rem;text-align:center;padding:.45rem 1rem}.delivery-bar__inner{display:flex;align-items:center;justify-content:center;gap:.75rem;flex-wrap:wrap}.nav-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);visibility:hidden;pointer-events:none}.nav-drawer.is-open{visibility:visible;pointer-events:auto}.nav-drawer__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--color-text-rgb),.45);opacity:0;transition:opacity var(--duration) var(--ease)}.nav-drawer.is-open .nav-drawer__overlay{opacity:1}.nav-drawer__panel{position:absolute;top:0;left:0;width:min(320px,88vw);height:100%;background:var(--color-bg);color:var(--color-text);padding:1.25rem;transform:translate(-100%);transition:transform var(--duration) var(--ease);overflow-y:auto}.nav-drawer.is-open .nav-drawer__panel{transform:translate(0)}.nav-drawer__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.nav-drawer__list a{display:block;padding:.85rem 0;border-bottom:1px solid var(--color-border);font-weight:600;font-size:1.05rem}.nav-drawer__list a:hover{color:var(--color-primary)}.postcode-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-gate);display:flex;align-items:center;justify-content:center;padding:1.25rem;background:var(--color-primary);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s var(--ease),visibility .35s}html:not(.postcode-ready) body.postcode-locked .postcode-gate,.postcode-gate.is-visible{opacity:1;visibility:visible;pointer-events:auto}.postcode-gate__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(160deg,rgba(var(--color-primary-rgb),.88),rgba(var(--color-primary-rgb),.72) 45%,rgba(var(--color-primary-rgb),.85)),var(--gate-bg-image);background-size:cover;background-position:center;background-repeat:no-repeat}.postcode-gate.is-visible .postcode-gate__card,html:not(.postcode-ready) body.postcode-locked .postcode-gate__card{transform:translateY(0)}.postcode-gate__card{position:relative;z-index:1;width:min(420px,100%);background:var(--color-white);border-radius:var(--radius-xl);padding:2rem 1.5rem;box-shadow:var(--shadow-lg);text-align:center;transform:translateY(16px);transition:transform .4s var(--ease)}.postcode-gate.is-visible .postcode-gate__card{transform:translateY(0)}.postcode-gate__brand{margin-bottom:1rem}.postcode-gate__heading{font-size:1.65rem;margin-bottom:.5rem}.postcode-gate__text{color:var(--color-text-muted);font-size:.95rem;margin-bottom:1.5rem}.postcode-gate__form{display:flex;flex-direction:column;gap:.75rem}.postcode-gate__browse{margin-top:.75rem}.postcode-gate__areas{margin-top:1rem;font-size:.8rem;color:var(--color-text-muted)}.postcode-gate__message{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;display:none}.postcode-gate__message.is-success{display:block;background:rgba(var(--color-primary-rgb),.12);color:var(--color-success)}.postcode-gate__message.is-error{display:block;background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.hero{position:relative;min-height:clamp(400px,62vw,620px);display:flex;align-items:flex-end;overflow:hidden;border-radius:0 0 var(--radius-xl) var(--radius-xl);background:var(--color-primary)}.hero__media{position:absolute;top:0;right:0;bottom:0;left:0}.hero__media img,.hero__media .hero__placeholder{width:100%;height:100%;object-fit:cover;transform:scale(1.02)}.hero__placeholder{background:radial-gradient(ellipse at 20% 80%,rgba(var(--color-secondary-rgb),.55),transparent 50%),linear-gradient(145deg,var(--color-primary-deep) 0%,var(--color-primary) 40%,var(--color-primary-light) 78%,var(--color-secondary) 100%)}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,rgba(var(--hero-overlay-rgb),calc(var(--hero-overlay-opacity) + .18)),rgba(var(--hero-overlay-rgb),var(--hero-overlay-opacity)) 42%,rgba(var(--hero-overlay-rgb),.18)),linear-gradient(to top,rgba(var(--hero-overlay-rgb),calc(var(--hero-overlay-opacity) * .85)) 0%,transparent 55%)}.hero__content{position:relative;z-index:1;width:var(--container);margin-inline:auto;padding:3rem 0 3.5rem;color:var(--color-white);animation:fadeUp .7s var(--ease) both}.hero__badge{display:inline-flex;margin-bottom:1.15rem;padding:.4rem .9rem;background:rgba(var(--color-surface-rgb),.96);color:var(--color-primary);letter-spacing:.06em;box-shadow:0 8px 24px rgba(var(--color-primary-rgb),.18)}.hero__title{font-size:clamp(2rem,4.5vw,var(--font-size-heading));max-width:12ch;margin-bottom:.9rem;letter-spacing:-.035em;line-height:1.05;text-shadow:0 2px 24px rgba(var(--color-primary-rgb),.25)}.hero__text{max-width:34ch;opacity:.94;margin-bottom:1.75rem;font-size:clamp(1rem,2vw,1.15rem);line-height:1.55;font-weight:500}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero .btn--primary{background:var(--color-surface);color:var(--color-primary);min-height:52px;padding-inline:1.75rem}.hero .btn--primary:hover{background:var(--color-white)}.hero__btn-secondary{color:var(--color-white)!important;box-shadow:inset 0 0 0 1.5px var(--color-white)!important}.hero__btn-secondary:hover{background:#ffffff26!important;color:var(--color-white)!important}.hero .btn--outline{min-height:52px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f}.quick-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media(min-width:750px){.quick-cats{grid-template-columns:repeat(8,1fr);gap:1rem}}.quick-cat{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;padding:.5rem .25rem;transition:transform var(--duration) var(--ease)}.quick-cat:hover{transform:translateY(-2px)}.quick-cat__icon{width:64px;height:64px;border-radius:var(--radius-lg);background:var(--color-cream);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}@media(min-width:750px){.quick-cat__icon{width:80px;height:80px}}.quick-cat:hover .quick-cat__icon{background:var(--color-border);box-shadow:var(--shadow-sm)}.quick-cat__icon img{width:100%;height:100%;object-fit:cover}.quick-cat__glyph{display:flex;align-items:center;justify-content:center;color:var(--color-primary)}.quick-cat__glyph .icon{width:28px;height:28px}@media(min-width:750px){.quick-cat__glyph .icon{width:32px;height:32px}}.quick-cat__label{font-size:.75rem;font-weight:600;line-height:1.2}@media(min-width:750px){.quick-cat__label{font-size:.85rem}}.promo-grid{display:grid;gap:1rem}@media(min-width:750px){.promo-grid{grid-template-columns:repeat(3,1fr)}}.promo-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;padding:1.5rem;border-radius:var(--radius-lg);overflow:hidden;color:var(--color-white);background:var(--color-primary)}.promo-card__media{position:absolute;top:0;right:0;bottom:0;left:0}.promo-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.promo-card:hover .promo-card__media img{transform:scale(1.05)}.promo-card__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(var(--color-primary-rgb),.9),transparent 70%)}.promo-card__content{position:relative;z-index:1}.promo-card__eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-bottom:.35rem}.promo-card__title{font-size:1.35rem;margin-bottom:.35rem}.promo-card__text{font-size:.9rem;opacity:.9;margin-bottom:.75rem}.benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media(min-width:750px){.benefits{grid-template-columns:repeat(4,1fr);gap:1.5rem}}.benefit{text-align:center;padding:1.25rem .75rem}.benefit__icon{width:52px;height:52px;margin:0 auto .75rem;display:flex;align-items:center;justify-content:center;background:var(--color-cream);border-radius:var(--radius-md);color:var(--color-primary)}.benefit__title{font-size:1rem;margin-bottom:.35rem}.benefit__text{font-size:.85rem;color:var(--color-text-muted)}.cat-showcase{display:grid;gap:1rem}@media(min-width:750px){.cat-showcase{grid-template-columns:repeat(2,1fr)}}@media(min-width:990px){.cat-showcase{grid-template-columns:repeat(4,1fr)}}.cat-showcase__card{position:relative;aspect-ratio:4 / 5;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-cream)}.cat-showcase__card img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.cat-showcase__card:hover img{transform:scale(1.06)}.cat-showcase__label{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.85rem 1rem;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-md);font-weight:700;text-align:center;color:var(--color-primary);transform:translateY(4px);transition:transform var(--duration) var(--ease)}.cat-showcase__card:hover .cat-showcase__label{transform:translateY(0)}.cat-showcase--shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}@media(min-width:600px){.cat-showcase--shop{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}}@media(min-width:990px){.cat-showcase--shop{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}.cat-showcase--shop .cat-showcase__card{aspect-ratio:1 / 1;border-radius:var(--radius-md)}.cat-showcase--shop .cat-showcase__label{left:.45rem;right:.45rem;bottom:.45rem;padding:.45rem .5rem;font-size:.8rem;border-radius:var(--radius-sm);transform:none}@media(min-width:750px){.cat-showcase--shop .cat-showcase__label{font-size:.9rem;padding:.55rem .65rem}}.product{display:grid;gap:1.5rem;padding-block:1.5rem;width:100%;max-width:100%;min-width:0}.product__info{min-width:0;max-width:100%;overflow-wrap:break-word}.product__delivery-info{padding:1rem;background:var(--color-cream);border-radius:var(--radius-md);font-size:.9rem;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word}.product__delivery-info p{margin-top:.35rem;color:var(--color-text-muted);max-width:100%;overflow-wrap:anywhere;word-break:break-word}@media(min-width:750px){.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}}.product__gallery{display:flex;flex-direction:column;gap:.75rem;min-width:0;max-width:100%}.product__main-image{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-cream)}.product__main-image img{width:100%;height:100%;object-fit:contain}@media(max-width:749px){.product{gap:1rem;padding-block:.25rem 1rem}.product__gallery{gap:.5rem}.product__main-image{width:min(100%,220px);max-height:220px;margin-inline:auto}.product__thumbs{justify-content:center}.product__thumb{flex:0 0 56px}.product__title{font-size:1.35rem;margin-bottom:.5rem}.product__price .price{font-size:1.25rem}.product__description{margin-bottom:.85rem}}.product__thumbs{display:flex;gap:.5rem;overflow-x:auto}.product__thumb{flex:0 0 72px;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;opacity:.7;transition:opacity var(--duration),border-color var(--duration)}.product__thumb.is-active,.product__thumb:hover{opacity:1;border-color:var(--color-primary)}.product__thumb img{width:100%;height:100%;object-fit:cover}.product__vendor{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.5rem}.product__title{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.75rem}.product__price-row{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.product__price .price{font-size:1.5rem}.product__description{color:var(--color-text-muted);margin-bottom:1.25rem}.product__form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.product__buy-row{display:flex;gap:.75rem;align-items:stretch;width:100%;max-width:100%;min-width:0}.product__buy-row .qty{flex:0 0 auto}.product__buy-row .btn{flex:1 1 0;min-width:0;width:auto;padding-inline:1rem}@media(max-width:749px){.product__buy-row{flex-direction:column;align-items:stretch;gap:.65rem}.product__buy-row .qty{width:100%;justify-content:space-between}.product__buy-row .qty__input{flex:1;width:auto}.product__buy-row .btn{width:100%;min-height:48px}}.product-sticky-atc{position:fixed!important;bottom:env(safe-area-inset-bottom,0px);left:0;right:0;z-index:140;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-white);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px rgba(var(--color-text-rgb),.08);transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto;transition:transform var(--duration) var(--ease),opacity var(--duration) var(--ease),visibility var(--duration)}.product-sticky-atc.is-hidden{transform:translateY(100%);opacity:0;visibility:hidden;pointer-events:none}.product-sticky-atc .btn{flex:1}@media(min-width:750px){.product-sticky-atc{display:none!important}}.product-tabs{margin-top:2rem;border-top:1px solid var(--color-border);padding-top:1.5rem;min-width:0;max-width:100%}.product-tabs__nav{display:flex;gap:.25rem;overflow-x:auto;max-width:100%;min-width:0;margin-bottom:1.25rem;border-bottom:1px solid var(--color-border);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.product-tabs__btn{padding:.75rem 1rem;font-weight:600;color:var(--color-text-muted);border-bottom:2px solid transparent;white-space:nowrap;margin-bottom:-1px}.product-tabs__btn.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.product-tabs__panel{display:none;color:var(--color-text-muted);line-height:1.65}.product-tabs__panel.is-active{display:block;animation:fadeUp .35s var(--ease)}.nutrition-table{width:100%;border-collapse:collapse;font-size:.9rem}.nutrition-table th,.nutrition-table td{padding:.65rem .5rem;border-bottom:1px solid var(--color-border);text-align:left}.nutrition-table th{color:var(--color-text);font-weight:600}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.collection-layout{display:grid;gap:1.5rem}@media(min-width:990px){.collection-layout{grid-template-columns:260px 1fr}}.facets-desktop{display:none}@media(min-width:990px){.facets-desktop{display:block}}.facet-group{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.facet-group__title{font-size:.95rem;margin-bottom:.75rem}.facet-list label{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.9rem;cursor:pointer}.facets-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);visibility:hidden;pointer-events:none}.facets-drawer.is-open{visibility:visible;pointer-events:auto}.facets-drawer__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--color-text-rgb),.45);opacity:0;transition:opacity var(--duration)}.facets-drawer.is-open .facets-drawer__overlay{opacity:1}.facets-drawer__panel{position:absolute;bottom:0;left:0;right:0;max-height:85vh;background:var(--color-white);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.25rem;overflow-y:auto;transform:translateY(100%);transition:transform var(--duration) var(--ease)}.facets-drawer.is-open .facets-drawer__panel{transform:translateY(0)}@media(min-width:990px){.facets-drawer,.collection-toolbar .btn--filter{display:none!important}}.sort-select{min-height:42px;padding:.5rem 2rem .5rem .85rem;border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%231A1A1A' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.cart-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer);visibility:hidden;pointer-events:none}.cart-drawer.is-open{visibility:visible;pointer-events:auto}.cart-drawer__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(var(--color-text-rgb),.45);opacity:0;transition:opacity var(--duration) var(--ease)}.cart-drawer.is-open .cart-drawer__overlay{opacity:1}.cart-drawer__panel{position:absolute;top:0;right:0;width:min(420px,100%);height:100%;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--duration) var(--ease)}.cart-drawer.is-open .cart-drawer__panel{transform:translate(0)}.cart-drawer__header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;border-bottom:1px solid var(--color-border)}.cart-drawer__title{font-size:1.25rem}.cart-drawer__body{flex:1;overflow-y:auto;padding:1rem 1.25rem}.cart-drawer__empty{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.cart-item{display:grid;grid-template-columns:80px 1fr;gap:.85rem;padding:1rem 0;border-bottom:1px solid var(--color-border)}.cart-item__image{aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-cream)}.cart-item__image img{width:100%;height:100%;object-fit:cover}.cart-item__title{font-size:.9rem;font-weight:600;margin-bottom:.25rem}.cart-item__price{font-size:.9rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.cart-item__row{display:flex;align-items:center;justify-content:space-between}.cart-item__remove{font-size:.8rem;color:var(--color-text-muted);text-decoration:underline}.cart-progress{margin:.75rem 0 1rem;padding:.85rem;background:var(--color-cream);border-radius:var(--radius-md);border:1px solid transparent}.cart-progress--warn{background:rgba(var(--color-accent-rgb),.12);border-color:var(--color-accent)}.cart-progress--warn .cart-progress__label{color:var(--color-accent)}.cart-progress--warn .cart-progress__fill{background:var(--color-accent)}.cart-progress__label{font-size:.8rem;font-weight:600;margin-bottom:.5rem;color:var(--color-primary)}.cart-progress__bar{height:6px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.cart-progress__fill{height:100%;background:var(--color-primary);border-radius:var(--radius-full);transition:width .4s var(--ease)}.cart-min-order-msg{margin:.65rem 0 .85rem;padding:.75rem .9rem;border-radius:var(--radius-md);background:rgba(var(--color-accent-rgb),.12);border:1.5px solid var(--color-accent);color:var(--color-accent);font-size:.85rem;font-weight:650;line-height:1.4}.cart-min-order-msg.is-met,.cart-min-order-msg[hidden]{display:none!important}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.cart-drawer__footer{padding:1.25rem;border-top:1px solid var(--color-border);background:var(--color-white)}.cart-drawer__subtotal{display:flex;justify-content:space-between;font-weight:700;font-size:1.1rem;margin-bottom:.5rem}.cart-drawer__delivery-note{font-size:.8rem;color:var(--color-text-muted);margin-bottom:1rem}.cart-upsells{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.cart-upsells__title{font-size:.95rem;margin-bottom:.75rem}.cart-upsell{display:flex;gap:.75rem;align-items:center;margin-bottom:.75rem}.cart-upsell__img{width:56px;height:56px;border-radius:var(--radius-sm);overflow:hidden;background:var(--color-cream);flex-shrink:0}.cart-upsell__img img{width:100%;height:100%;object-fit:cover}.cart-upsell__info{flex:1;min-width:0}.cart-upsell__title{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-upsell__price{font-size:.8rem;font-weight:700;color:var(--color-primary)}.site-footer{background:var(--color-footer-bg);color:var(--color-footer-text);padding:3rem 0 2rem;margin-top:2rem}.site-footer a{color:inherit}.site-footer a:hover{opacity:.85}.footer-grid{display:grid;gap:2rem}@media(min-width:750px){.footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}}.gate-logo{display:block;width:min(220px,70%);height:auto;margin-inline:auto;object-fit:contain}.footer-brand__logo{display:inline-block;margin-bottom:.85rem}.footer-brand__logo img{display:block;width:min(var(--logo-width),70%);height:auto;object-fit:contain;background:var(--color-bg);border-radius:var(--radius-md);padding:.5rem .65rem}.footer-brand__name{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-footer-text);margin-bottom:.75rem}.footer-brand__text{font-size:.9rem;opacity:.8;max-width:32ch;margin-bottom:1rem}.footer-heading{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-footer-text);opacity:.9;margin-bottom:1rem}.footer-links a{display:block;padding:.3rem 0;font-size:.9rem;opacity:.85}.footer-bottom{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.15);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.8rem;opacity:.7}.page-hero{background:var(--color-cream);padding:2.5rem 0;margin-bottom:2rem;border-radius:0 0 var(--radius-xl) var(--radius-xl)}.page-hero__title{font-size:clamp(1.75rem,4vw,2.5rem)}.rte{line-height:1.7}.rte h2,.rte h3{margin:1.5rem 0 .75rem}.rte p{margin-bottom:1rem}.rte ul{list-style:disc;padding-left:1.25rem;margin-bottom:1rem}.rte li{margin-bottom:.35rem}.delivery-checker{max-width:480px;padding:1.5rem;background:var(--color-cream);border-radius:var(--radius-lg);margin:1.5rem 0}.countdown{display:inline-flex;align-items:center;gap:.35rem;font-variant-numeric:tabular-nums;font-weight:700}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.animate-in{animation:fadeUp .55s var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.form-status{padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem}.form-status--error{background:rgba(var(--color-error-rgb),.1);color:var(--color-error)}.form-status--success{background:rgba(var(--color-primary-rgb),.12);color:var(--color-success)}.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.pagination a,.pagination span{display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;border-radius:var(--radius-md);font-weight:600;border:1px solid var(--color-border)}.pagination .current{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.icon--sm{width:18px;height:18px}html.postcode-ready body.postcode-locked{overflow:auto}html.postcode-ready .postcode-gate{display:none!important}.product-card__actions form[style*=contents]{display:contents}.product-card__actions{flex-wrap:wrap}html.age-gate-needed:not(.age-verified) body:not(.postcode-locked) .main-content,html.postcode-ready.age-gate-needed:not(.age-verified) body .main-content,body.age-gate-required:not(.postcode-locked) .main-content{filter:blur(8px);pointer-events:none;-webkit-user-select:none;user-select:none}html.age-verified.age-gate-needed body .main-content,html.age-verified body.age-gate-required .main-content{filter:none;pointer-events:auto;-webkit-user-select:auto;user-select:auto}body.age-locked{overflow:hidden}.age-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-gate) + 50);display:none;align-items:center;justify-content:center;padding:1.25rem}html.age-gate-needed:not(.age-verified) body:not(.postcode-locked) .age-gate,html.postcode-ready.age-gate-needed:not(.age-verified) .age-gate,html.postcode-ready .age-gate.is-visible,body:not(.postcode-locked) .age-gate.is-visible{display:flex}html:not(.postcode-ready) body.postcode-locked .age-gate{display:none!important}html.age-verified .age-gate{display:none!important}.age-gate__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,rgba(var(--color-primary-rgb),.88),rgba(var(--color-primary-rgb),.82)),var(--color-primary)}.age-gate__card{position:relative;z-index:1;width:min(400px,100%);background:var(--color-white);border-radius:var(--radius-xl);padding:2rem 1.5rem;box-shadow:var(--shadow-lg);text-align:center;animation:fadeUp .4s var(--ease)}.age-gate__brand{margin-bottom:.85rem}.age-gate__heading{font-size:1.55rem;margin-bottom:.5rem}.age-gate__text{color:var(--color-text-muted);font-size:.95rem;margin-bottom:1.5rem}.age-gate__actions{display:flex;flex-direction:column;gap:.65rem}.age-notice{display:flex;gap:.75rem;align-items:flex-start;margin:.75rem 0 1rem;padding:.9rem 1rem;background:rgba(var(--color-primary-rgb),.08);border:1px solid rgba(var(--color-primary-rgb),.14);border-radius:var(--radius-md);text-align:left}.age-notice--checkout{background:rgba(var(--color-accent-rgb),.12);border:1.5px solid var(--color-accent)}.age-notice--checkout .age-notice__title{color:var(--color-accent)}.age-notice__title{font-size:.9rem;font-weight:700;color:var(--color-primary);margin:0}.age-notice__sub{font-size:.8rem;color:var(--color-text-muted);margin:.35rem 0 0;line-height:1.45}.age-notice__confirm{display:flex;gap:.65rem;align-items:flex-start;margin-top:.75rem;font-size:.85rem;font-weight:600;color:var(--color-text);cursor:pointer;line-height:1.4}.age-notice__confirm input{margin-top:.15rem;width:1.1rem;height:1.1rem;flex-shrink:0;accent-color:var(--color-primary)}.home-search{padding:1rem 0 .35rem;background:linear-gradient(180deg,rgba(var(--color-primary-rgb),.08) 0%,transparent 100%)}.home-search__form{display:flex;flex-wrap:wrap;gap:.55rem;align-items:stretch;position:relative}.home-search__icon{position:absolute;left:.95rem;top:1rem;color:var(--color-text-muted);pointer-events:none;display:flex;z-index:1}.home-search__input{flex:1 1 220px;min-height:52px;padding:.85rem 1rem .85rem 2.75rem;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-white);font-size:1rem;box-shadow:var(--shadow-sm)}.home-search__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.15)}.home-search__btn{flex:0 0 auto;min-height:52px;padding-inline:1.35rem}.home-search__hint{margin-top:.65rem;font-size:.8rem;color:var(--color-text-muted)}@media(max-width:549px){.home-search__btn{flex:1 1 100%}}.cart-toast{position:fixed;left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));z-index:calc(var(--z-drawer) + 5);transform:translate(-50%,12px);max-width:min(360px,calc(100% - 2rem));padding:.85rem 1.15rem;background:var(--color-primary);color:var(--color-white);border-radius:var(--radius-full);font-size:.9rem;font-weight:650;text-align:center;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration) var(--ease),transform var(--duration) var(--ease),visibility var(--duration)}.cart-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%)}@media(min-width:750px){.cart-toast{bottom:1.75rem}}
/*# sourceMappingURL=/cdn/shop/t/21/assets/base.css.map */
