/** Shopify CDN: Minification failed

Line 417:19 Expected identifier but found whitespace
Line 417:21 Unexpected "{"
Line 417:33 Expected ":"

**/
@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

:root {
    --shadow:0 8px 40px rgba(44,21,6,0.10);
    --shadow-lg:0 24px 80px rgba(44,21,6,0.15);
    --radius: 16px;
    --radius-lg: 28px;
}

body{letter-spacing: normal;}
h1, h2, h3, h4, h5, .h0, .h1, .h2, .h3, .h4, .h5{letter-spacing: normal;}

.header.page-width{
    max-width: 100%;
}
.announcement-bar__message.h5{ font-family: var(--font-body-family);}

@media (min-width: 990px){
    .header.header--middle-left{grid-template-columns: 22rem auto 10rem;}
    .header.header--middle-left .list-menu--inline{width: 100%;justify-content: center;}
    .header .list-menu__item{font-size: 1.5rem;}
}
@media (min-width: 1366px){
    .header .list-menu__item{font-size: 1.6rem;}
}
@media (min-width: 1600px){
    .header.header--middle-left{grid-template-columns: 22rem auto 22rem;}
}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:60px 70px 60px 80px;background:var(--cream);position:relative;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--blush);color:var(--chocolate-mid);padding:8px 18px;border-radius:100px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;width:fit-content;}
.hero-badge::before{content:'✦';color:var(--caramel);}
.hero-title{font-size:clamp(36px,5.5vw,70px);font-weight:300;line-height:1.05;color:var(--chocolate);margin-bottom:28px;margin-top: 0;}
.hero-title em{font-style:italic;color:var(--caramel);}
.hero-sub{font-size:16px;line-height:1.7;color:var(--text-mid);max-width:560px;margin-bottom:30px;margin-top: 0;font-weight:300;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;}
.btn-primary{background:var(--chocolate);color:var(--cream);padding:18px 40px;border-radius:100px;font-size:14px;font-weight:500;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:all .25s;display:inline-flex;align-items:center;gap:10px;box-shadow:var(--shadow);}
.btn-primary:hover{background:var(--caramel);transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn-secondary{color:var(--chocolate);font-size:14px;font-weight:500;text-decoration:none;display:inline-flex;align-items:center;gap:8px;border-bottom:1.5px solid var(--caramel);padding-bottom:2px;transition:gap .2s;}
.btn-secondary:hover{gap:14px;}
.hero-trust{display:flex;gap:40px;margin-top:25px;}
.trust-num{font-size:28px;font-weight:600;color:var(--caramel);display:block;}
.trust-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mid);}
.hero-right{position:relative;overflow:hidden;}
.hero-visual video{width: 100%;height: 100%;background: #000;object-fit: cover;}
.hero-visual{width:100%;height:100%;background:linear-gradient(135deg,#E8C9A0 0%,#C8883A 45%,#8B4A15 80%,#2C1506 100%);display:flex;align-items:center;justify-content:center;position:relative;}
.hero-visual::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(255,220,160,.4) 0%,transparent 60%);}
.hero-fudge-block{width:240px;height:130px;background:linear-gradient(145deg,#D4956A,#A8612C);border-radius:20px;box-shadow:0 20px 60px rgba(44,21,6,.4),inset 0 2px 4px rgba(255,200,130,.3);position:relative;z-index:2;}
.hero-tag-price{position:absolute;top:120px;right:60px;background:var(--chocolate);color:var(--cream);border-radius:16px;padding:14px 20px;box-shadow:var(--shadow-lg);font-size:32px;font-weight:600;animation:float 4s ease-in-out infinite;}
.hero-tag-price small{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.6;font-weight:400;}
.hero-tag-vegan{position:absolute;bottom:100px;right:40px;background:white;border-radius:16px;padding:14px 20px;box-shadow:var(--shadow-lg);font-size:13px;font-weight:500;color:var(--chocolate-mid);animation:float 4s ease-in-out infinite 2s;}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}

/* TICKER */
.ticker-wrap{background:var(--chocolate);overflow:hidden;padding:16px 0;border-top:2px solid var(--caramel);}
.ticker{display:flex;gap:60px;white-space:nowrap;animation:ticker 22s linear infinite;width:max-content;}
.ticker-item{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(251,245,236,.75);font-weight:500;display:flex;align-items:center;gap:20px;}
.ticker-item::after{content:'✦';color:var(--caramel);}
@keyframes ticker{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── SHARED SECTION HELPERS ── */
.section-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--caramel);font-weight:500;margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.section-label::before{content:'';display:block;width:30px;height:1px;background:var(--caramel);}
.section-title{font-size:clamp(36px,4vw,60px);font-weight:300;line-height:1.1;color:var(--chocolate);margin: 0;}
.section-title em{font-style:italic;color:var(--caramel);}

/* PRODUCTS HEADER */
.products-header-section{background:var(--warm-white);padding:80px 80px 15px;text-align:center;}
.products-header-section p{color:var(--text-mid);margin-top:16px;font-size:15px;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.7;}
.products-header-section .section-label{justify-content:center;}

/* ── FEATURED PRODUCT SECTIONS (alternating, full-width) ── */
.featured-product{display:grid;grid-template-columns:1fr 1fr;min-height:600px;}

/* Product 1: content LEFT, image RIGHT */
.fp2{background:var(--warm-white);}
.fp2 .fp-content{padding:80px 80px 80px 80px;display:flex;flex-direction:column;justify-content:center;}
.fp2 .fp-visual{background:linear-gradient(145deg,#F0DFC0 0%,#C8883A 50%,#5A3010 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}

/* Product 2: image LEFT, content RIGHT */
.fp1{background:var(--cream);}
.fp1 .fp-content{padding:80px 80px 80px 80px;display:flex;flex-direction:column;justify-content:center;order:2;}
.fp1 .fp-visual{background:linear-gradient(145deg,#C8E0B0 0%,#6B9048 50%,#2D4A18 100%);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;order:1;}

.fp-product-num{font-size:120px;font-weight:300;color:var(--caramel);opacity:.1;line-height:1;margin-bottom:-20px;}
.fp-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.fp-label::before{content:'';display:block;width:30px;height:1px;}
.fp1 .fp-label{color:var(--caramel);}
.fp1 .fp-label::before{background:var(--caramel);}
.fp2 .fp-label{color:var(--sage);}
.fp2 .fp-label::before{background:var(--sage);}
.fp-name{font-size:clamp(32px,5vw,56px);font-weight:300;line-height:1.05;margin-bottom:24px;color:var(--chocolate);}
.fp-desc{font-size:15px;line-height:1.75;color:var(--text-mid);font-weight:300;margin-bottom:28px;max-width:480px;}
.fp-tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.fp-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:100px;font-size:11px;font-weight:500;}
.fp1 .fp-tag{background:var(--blush);color:var(--chocolate-mid);}
.fp2 .fp-tag{background:rgba(139,158,123,.15);color:#3D5C28;}
.fp-buy-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap;}
.fp-price{font-size:56px;font-weight:600;color:var(--caramel);line-height:1;}
.fp-price span{font-size:16px;color:var(--text-mid);font-weight:300;}
.btn-buy{display:inline-flex;align-items:center;gap:10px;padding:18px 36px;border-radius:100px;font-size:14px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;border:none;transition:all .25s;text-decoration:none;}
.btn-buy-dark{background:var(--chocolate);color:var(--cream);box-shadow:var(--shadow);}
.btn-buy-dark:hover{background:var(--caramel);transform:translateY(-2px);box-shadow:var(--shadow-lg);}
.btn-buy-green{background:#3D5C28;color:white;box-shadow:0 8px 32px rgba(61,92,40,.3);}
.btn-buy-green:hover{background:#2D4A18;transform:translateY(-2px);}
.fp-value-pill{display:inline-flex;align-items:center;gap:8px;background:var(--blush);color:var(--chocolate-mid);padding:10px 18px;border-radius:100px;font-size:12px;font-weight:500;margin-top:20px;width:fit-content;}

/* Fudge piece art */
.fudge-art{position:relative;z-index:2;display:flex;flex-direction:column;gap:12px;align-items:center;}
.fudge-row{display:flex;gap:12px;}
.fp-piece{width:120px;height:70px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.2);}
.fp-piece.c1{background:linear-gradient(135deg,#D4956A,#A8612C);}
.fp-piece.c2{background:linear-gradient(135deg,#C87A45,#8B4A15);}
.fp-piece.c3{background:linear-gradient(135deg,#E0A870,#B06832);}
.fp-piece.v1{background:linear-gradient(135deg,#A8CC88,#6B9048);}
.fp-piece.v2{background:linear-gradient(135deg,#8BAA72,#5A7838);}
.fp-piece.v3{background:linear-gradient(135deg,#C0D8A0,#7A9E58);}
.fp-badge{position:absolute;top:36px;background:rgba(44,21,6,.7);backdrop-filter:blur(8px);color:white;padding:10px 20px;border-radius:100px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;}
.fp-badge.green{background:rgba(61,92,40,.8);}

/* BENEFITS */
.benefits-section{background:var(--chocolate);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:100px 80px;}
.benefits-left .section-label{color:var(--caramel-light);}
.benefits-left .section-label::before{background:var(--caramel-light);}
.benefits-left .section-title{color:var(--cream);}
.benefits-intro{font-size:16px;line-height:1.7;color:rgba(251,245,236,.6);margin-top:24px;font-weight:300;}
.benefits-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.benefit-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:28px;transition:background .3s;}
.benefit-card:hover{background:rgba(255,255,255,.09);}
.benefit-icon{font-size:30px;margin-bottom:12px;display:block;}
.benefit-title{font-size:20px;font-weight:600;color:var(--cream);margin-bottom:8px;}
.benefit-desc{font-size:13px;color:rgba(251,245,236,.55);line-height:1.6;}

/* HOW IT WORKS */
.how-section{background:var(--warm-white);padding:100px 80px;text-align:center;}
.how-header{margin-bottom:72px;}
.how-header .section-label{justify-content:center;}
.steps-wrap{display:flex;gap:0;position:relative;max-width:960px;margin:0 auto;}
.steps-wrap::before{content:'';position:absolute;top:40px;left:8%;right:8%;height:2px;background:linear-gradient(90deg,var(--caramel-light),var(--caramel),var(--caramel-light));z-index:0;}
.step{flex:1;text-align:center;padding:0 20px;position:relative;z-index:1;}
.step-num{width:80px;height:80px;border-radius:50%;background:var(--cream);border:2px solid var(--caramel);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:28px;font-weight:600;color:var(--caramel);box-shadow:0 4px 20px rgba(200,136,58,.2);}
.step-title{font-size:22px;font-weight:600;color:var(--chocolate);margin-bottom:10px;}
.step-desc{font-size:13px;color:var(--text-mid);line-height:1.6;}

/* ABOUT */
.about-section{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:var(--cream);}
.about-visual{position:relative;min-height:600px;background:linear-gradient(160deg,#E8C9A0 0%,#C8883A 60%,#5A3010 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;}
.image-top .about-visual{min-height: 0; grid-column: span 2 / span 2;max-width: var(--page-width); margin-left: auto;margin-right: auto; padding: 5rem 5rem 0;background: none;}
.about-visual img{width: 100%;height: 100%;object-fit:cover;position: absolute;}
.image-top .about-visual img{position: relative; height: auto;}
.about-bg-text{color:var(--cream);font-size:72px;font-weight:300;line-height:1;opacity:.15;text-align:center;position:absolute;}
.about-location-pill{position:absolute;bottom:40px;left:40px;right:40px;background:rgba(44,21,6,.85);backdrop-filter:blur(8px);border-radius:16px;padding:18px 24px;display:flex;align-items:center;gap:14px;color:var(--cream);}
.about-location-text strong{display:block;font-size:15px;margin-bottom:3px;}
.about-location-text span{font-size:12px;opacity:.7;}
.hours-pill{position:absolute;top:40px;left:40px;background:var(--caramel);color:white;padding:10px 18px;border-radius:12px;font-size:12px;font-weight:500;line-height:1.5;}
.hours-pill strong{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.8;}
.about-content{padding:80px;place-content: center;}
.image-top .about-content {grid-column: span 2 / span 2;max-width: var(--page-width); margin-left: auto;margin-right: auto;padding: 5rem;}
.about-story{font-size:15px;line-height:1.85;color:var(--text-mid);font-weight:300;margin:24px 0;}
.about-story a{color: currentColor;font-weight: 700;text-decoration: underline;text-decoration-style: dotted; text-underline-offset: 5px; }
.about-story a:hover{text-decoration: none;}
.about-stats{display:flex;gap:40px;margin-top:40px;padding-top:40px;border-top:1px solid var(--border);}
.about-stat-num{font-size:40px;font-weight:600;color:var(--caramel);}
.about-stat-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-mid);}
.highlight-box{background: rgba(200, 136, 58, 0.2);border:1px solid rgba(200, 136, 58, 0.4);padding: 2.8rem; border-radius: 1.6rem; margin-top: 15px;line-height: 1.5;}
.highlight-box p{margin: 0 0 10px;}
.highlight-box p:first-child{margin-top: 0;}
.highlight-box p:last-child{margin-bottom: 0;}
.highlight-box h2{font-family: var(--font-body-family);font-weight: 600;font-size: 20px;}
.highlight-box h2:last-child{margin-bottom: 0;}


/* PROMO */
.promo-section{background:linear-gradient(135deg,var(--caramel) 0%,#8B4A15 100%);padding:80px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;position:relative;overflow:hidden;}
.promo-section::before{position:absolute;right:-60px;top:50%;transform:translateY(-50%);font-size:220px;font-weight:600;color:rgba(255,255,255,.05);white-space:nowrap;pointer-events:none;}
.promo-tag{display:inline-block;background:rgba(255,255,255,.2);color:white;padding:6px 16px;border-radius:100px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-bottom:20px;}
.promo-title{font-size:clamp(36px,4vw,56px);font-weight:300;color:white;line-height:1.1;margin-bottom:16px;}
.promo-sub{font-size:15px;color:rgba(255,255,255,.7);max-width:420px;line-height:1.6;}
.promo-actions{display:flex;gap:16px;flex-direction:column;align-items:flex-start;position:relative;z-index:2;}
.btn-promo{background:white;color:var(--chocolate);padding:18px 40px;border-radius:100px;font-size:14px;font-weight:500;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:all .25s;box-shadow:0 8px 32px rgba(0,0,0,.2);}
.btn-promo:hover{transform:translateY(-2px);box-shadow:0 16px 48px rgba(0,0,0,.3);}
.btn-promo-ghost{border:1.5px solid rgba(255,255,255,.5);color:white;padding:13px 32px;border-radius:100px;font-size:13px;text-decoration:none;text-transform:uppercase;transition:all .25s;}
.btn-promo-ghost:hover{border-color:white;background:rgba(255,255,255,.1);}

/* TESTIMONIALS */
.testimonials-section{background:var(--warm-white);padding:100px 80px;}
.testimonials-header{text-align:center;margin-bottom:64px;}
.testimonials-header .section-label{justify-content:center;}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.review-card{background:var(--cream);border-radius:20px;padding:36px 32px;box-shadow:var(--shadow);border:1px solid var(--border);transition:transform .3s;}
.review-card:hover{transform:translateY(-4px);}
.review-stars{color:var(--caramel);font-size:15px;margin-bottom:18px;letter-spacing:3px;}
.review-text{font-size:15px;line-height:1.75;color:var(--text-mid);margin-bottom:24px;font-style:italic;}
.review-author{display:flex;align-items:center;gap:12px;}
.review-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:white;flex-shrink:0;}
.av1{background:linear-gradient(135deg,var(--caramel),#8B4A15);}
.av2{background:linear-gradient(135deg,var(--sage),#3D5C28);}
.av3{background:linear-gradient(135deg,#C87A45,#5A3010);}
.review-name{font-weight:500;font-size:14px;color:var(--chocolate);}
.review-location{font-size:12px;color:var(--text-mid);}
.review-verified{font-size:11px;color:var(--sage);margin-top:2px;}

/* FAQ */
.faq-section{background:var(--cream);padding:100px 80px;}
.faq-inner{display:grid;grid-template-columns:1fr 2fr;gap:80px;align-items:start;}
.faq-list{display:flex;flex-direction:column;}
.faq-section details{border-bottom:1px solid var(--border);}
.faq-section summary{padding:24px 0;font-size:16px;font-weight:500;color:var(--chocolate);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;list-style:none;user-select:none;}
.faq-section summary::-webkit-details-marker{display:none;}
.faq-section summary::after{content:'+';font-size:22px;color:var(--caramel);flex-shrink:0;font-weight:300;transition:transform .3s;}
.faq-section details[open] summary::after{transform:rotate(45deg);}
.faq-a{padding:0 0 24px;font-size:14px;color:var(--text-mid);line-height:1.7;font-weight:300;}


/* Footer */
.footer .footer__content-top{padding-bottom: 3rem;}
.footer-block__details-content h3{font-size: 3rem;margin: 0 0 1rem;}
.footer__content-bottom-wrapper .copyright__content{font-size: 1.4rem;}
.copyright__content a, .copyright__content a img{vertical-align: middle;}

.footer .footer-block--newsletter { flex-direction: column; justify-content: center; align-items: center;}
.footer .footer-block--newsletter .footer-block__newsletter{margin: 0 auto;width: 100%;max-width: 60rem;}
.footer .footer-block--newsletter .newsletter-form{max-width: 100%;}
.footer .footer-block--newsletter .footer-block__heading{font-family: var(--font-body-family);}
.footer .footer-block--newsletter .newsletter-form__field-wrapper{max-width: 100%;}

/* Product */
.product__info-container :is(.product-form__input, .product-form__buttons){max-width: 100%;}
.product__info-container .accordion__title{font-size: 2rem;}
.product__info-container .select__select{font-size: 1.6rem;}
.product-form__input .form__label{font-weight: 600;color: #2C1506;}

.quantity__input:focus-visible{outline: none;box-shadow: none; background-color: transparent;}

.product-options-title{font-size: 1.6rem;font-weight: 600;margin: 0 0 1.5rem; font-family: var(--font-body-family);}
.flavour-list{display: grid; grid-template-columns: repeat(4, 1fr); column-gap: 1.2rem; row-gap: 1.2rem;margin-bottom: 2rem;}
.flavour-list .flavour-item{position: relative;}
.flavour-list .flavour-item input.flavour-checkbox{position: absolute; top: 0; opacity: 0; visibility: hidden; }
.flavour-list .flavour-item img{max-width: 100%;}
.flavour-list .flavour-item label{aspect-ratio: 1; border-radius: .6rem; display: inline-block;vertical-align: middle; cursor: pointer; user-select: none; position: relative; width: 100%;overflow: hidden; z-index: 0;}
.flavour-list .flavour-item input:checked + label{outline: 2px solid; outline-offset: 2px; outline-color: #C8883A;}
.flavour-list .flavour-item input:disabled + label{cursor: not-allowed; opacity: 0.6;}
.flavour-list .flavour-item label img{position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: .6rem;}
.flavour-list .flavour-item label p{position: absolute; bottom: 0;width: 100%;padding: 7px 5px; background-color: rgba(0, 0, 0, 0.5); color: #fff; text-align: center; transition: 0.4s; margin: 0;border-radius: 0 0 .6rem .6rem; line-height: 1.25; place-content: center; z-index: 2;font-size: 1.3rem;}
.flavour-list .flavour-item label .check{position: absolute; top: 1rem; right: 1rem; width: 20px; height: 20px; z-index: 1; background: #c8883a; color: #fff;border-radius: 2rem; display: none;align-items: center; justify-content: center;box-shadow: 0 0 5px 3px rgba(255, 255, 255, 0.8);}
.flavour-list .flavour-item input:checked + label .check{display: inline-flex;}
.flavour-list .flavour-item label .check svg{width: 14px; height: 14px;}

.flavour-list .flavour-item .flavour-card{height: 100%; display: flex; flex-direction: column; align-items: center;}
.flavour-list .flavour-item .flavour-card img{aspect-ratio: 1; border-radius: .6rem; display: inline-block;vertical-align: middle; cursor: pointer; user-select: none; position: relative; width: 100%;overflow: hidden; z-index: 0; object-fit: cover;}
.flavour-list .flavour-item .flavour-card p{width: 100%;padding: 7px 5px; text-align: center; transition: 0.4s; margin: 0; line-height: 1.25; place-content: center; z-index: 2;font-size: 1.3rem;}
.flavour-list .flavour-item .qty-box{
  display:flex;
  align-items:center;
  justify-content:center;
  background: #fff;
  border: 1px solid #2C1506;
  max-width: fit-content;
  margin: auto auto 0;
}
.flavour-list .flavour-item .qty-box.active{
  background: var(--blush);
}

.flavour-list .flavour-item .qty-btn{
  width:24px;
  height:28px;
  cursor:pointer;
  background: none;
  border: none;
  font-size: 22px;
  line-height: 28px;
}

.flavour-list .flavour-item .flavour-qty{
  width:40px;
  text-align:center;
  border:none;
  background:transparent;
  font-size:16px;
  line-height: 20px;
  font-weight:600;
  outline: none;
  box-shadow: none;
  padding: 4px 2px;
}



.gift-box{background: var(--blush);color:var(--chocolate-mid);padding: 2rem;border-radius: .6rem;margin-bottom: 2rem;}
.gift-box input{padding: 1rem 1.5rem;line-height: 2.4rem;background: transparent;border-radius: .6rem;border:1px solid var(--chocolate-mid);color: var(--chocolate-mid);width: 100%;}
.gift-box input:focus-visible{outline: none;box-shadow: none;}

.cart-item__details .product-option dt{font-weight: 600;}

.slice-flavours .h3{font-size: 2.4rem;font-weight: 500;color: #2C1506;margin-bottom: 1rem;display:inline-block;width:100%;}

.product .product-media-container.constrain-height .media {padding-top: 100%;}
.product .product-media-container.constrain-height .media img {object-fit: contain;}
.product-media-modal__content img{max-height: 80vh;object-fit: contain;}

.card__heading.h5{font-size: 2.4rem;}
.collection-hero__text-wrapper .collection-hero__title{text-align: center;font-size: clamp(36px,4vw,60px);line-height: 1.1;color: var(--chocolate);}

.accordion__title{font-size: 2.4rem;}

.cms-page h2{font-size: 4rem;}
.cms-page ul{list-style-position: outside;}

.contact-content a{color: currentColor; font-weight: 600; text-underline-offset: .3rem; text-decoration-thickness: .1rem;}
.contact .field:before, .contact .field:after{content: none;}
.contact .field .field__input{border: 1px solid rgba(var(--color-foreground), .4);}
.contact .field textarea.field__input{border-radius: 1rem;}

.cart-items thead th{font-size: 1.4rem;font-weight: 600;}
.cart-items .cart-item__name{font-family: var(--font-body-family); font-weight: 600;}
.totals>h2{font-family: var(--font-body-family); font-weight: 600;}

p.jm-text.jm-review-widget-minimal-header__title {
    font-size: 4rem;
    font-family: var(--font-heading-family);
}
.cart-items .cart-item__totals, .totals__total-value{font-weight: 700;}

/*  */


@media (max-width: 1365px){
.header:not(.drawer-menu).page-width{padding-left: 2rem; padding-right: 2rem;}
.header__inline-menu .header__menu-item{padding-left: .8rem; padding-right: .8rem;}
.page-width{padding: 0 2rem;}
.product__info-wrapper{padding: 0 0 0 2rem!important;}
.fp1 .fp-content, .fp2 .fp-content{padding: 20px;}
.products-header-section{padding: 60px 20px 15px;}
.benefits-section{grid-template-columns: 1fr;gap: 20px;}
.about-content{padding: 20px;}
.hero-left, .benefits-section, .how-section, .promo-section, .testimonials-section, .faq-section{padding: 60px 20px;}
.hero, .hero-visual{min-height: 0;}
.image-top .about-visual{padding: 2rem 2rem 0;}
.image-top .about-content{padding: 2rem;}
}
@media (max-width: 1199px){
  .header__inline-menu .header__menu-item{padding: .8rem;}
}
@media (max-width: 989px){
.about-stats{gap: 2rem;margin-top: 20px;padding-top: 20px;}
.about-stat-num{font-size: 24px;}
}
@media (max-width: 749px){
.hero{grid-template-columns: 1fr;}
.hero-left, .benefits-section, .how-section, .promo-section, .testimonials-section, .faq-section{padding: 30px 20px;}
.hero-badge{margin-bottom: 1rem;}
.hero-title{margin-bottom: 1rem;}
.hero-sub{margin-bottom: 2rem;margin-top: 0;}
.hero-trust{margin-top: 2rem;}
.hero-right{order: -1;}
.hero-tag-price{top: 30px;}
.hero-tag-vegan{bottom: 20px;}
.products-header-section{padding: 30px 20px 15px;}
.featured-product{grid-template-columns: 1fr;}
.fp-product-num{font-size: 70px;}
.fp-name{margin: 0 0 15px;}
.fp-desc{margin: 0 0 15px;}
.fp-tags{margin: 0 0 15px;}
.fp-price{font-size: 36px;}
.benefit-card{padding: 12px;}
.benefit-title{margin-top: 5px;}
.how-header{margin-bottom:20px;}
.steps-wrap{flex-wrap: wrap;row-gap: 10px;}
.step{padding: 0 10px;width: 50%;flex: 0 0 50%;}
.steps-wrap:before{content: none;}
.step-title{font-size: 18px;}
.step-num{width: 40px;height:40px;font-size: 18px;margin: 0 auto 15px;}
.about-section{grid-template-columns: 1fr;}
.about-visual{min-height: 360px;}
.hours-pill{top: 20px;}
.about-location-pill{bottom: 20px;}
.promo-title{margin-top: 0;}
.promo-section{gap: 20px;}
.testimonials-header{margin-bottom: 20px;}
.reviews-grid{grid-template-columns: 1fr;}
.faq-inner{grid-template-columns: 1fr;gap:20px;}
.faq-section summary{padding: 12px 0;line-height: 1.5;}
.card__heading.h5{font-size: 2rem;}
.product__info-wrapper{padding: 2rem 0 0 0!important;}
.cms-page h2{font-size: 2.4rem;}
p.jm-text.jm-review-widget-minimal-header__title{font-size: 3rem;}
.flavour-list{grid-template-columns: repeat(3,1fr);}
.product__info-container .quantity{width: 100%;}
.flavour-list .flavour-item label p{min-height: 4.7rem;}
.cart__items{padding-bottom: 1.2rem !important;}
.cart-items .cart-item{grid-template-columns: 100px auto;row-gap: .5rem;}
.cart-items .cart-item__media{grid-row: 1/4;}
.cart-items .cart-item__quantity, .cart-items .cart-item__details{grid-column: auto;}
.cart-items .cart-item__totals.right{text-align: left;justify-content: flex-start;}
.cart-items .product-option+.product-option{margin-top: .2rem;}
.cart-items .product-option{font-size: 1.3rem;line-height: 1.25;}
.cart-items thead tr{margin-bottom: 1rem !important;}
.cart-items thead th.medium-hide{display: none;}
.cart-items .cart-item{margin-bottom: 2rem; }
.cart-items tbody .cart-item:not(:last-child){padding-bottom: 1.2rem;border-bottom: .1rem solid rgba(var(--color-foreground),.2);}
}


/* ── Section wrapper ─────────────────────────────────────── */
.flavours-section {
  padding: 60px 80px;
  background-color: {{ section_bg }};
}
@media (max-width: 1024px) { .flavours-section { padding: 40px 20px; } }
@media (max-width: 640px)  { .flavours-section { padding: 30px 20px; } }

/* ── Header ──────────────────────────────────────────────── */
.flavours-section .flavours-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 40px;
  flex-wrap: wrap;
}
.flavours-section .section-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--caramel);
  font-weight: 500;
  margin-bottom: 14px;
}
.flavours-section .label-line {
  display: block;
  width: 30px;
  height: 1px;
  background: var(--caramel);
  flex-shrink: 0;
}
.flavours-section .flavours-title {
  font-family: var(--font-heading-family, 'Cormorant Garamond', serif);
  font-size: clamp(32px, 3.5vw, 56px);
  font-weight: 300;
  line-height: 1.1;
  color: var(--chocolate-mid);
  margin: 0 0 12px;
}
.flavours-section .flavours-sub {
  font-size: 15px;
  color: var(--text-mid);
  line-height: 1.7;
  max-width: 500px;
  font-weight: 300;
  margin: 0;
}

/* ── Filter tabs ─────────────────────────────────────────── */
.flavours-section .filter-wrap {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.flavours-section .filter-btn {
  padding: 9px 20px;
  border-radius: 100px;
  border: 1.5px solid var(--border);
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  color: var(--text-mid);
  cursor: pointer;
  transition: all .22s ease;
  font-family: inherit;
  line-height: 1;
}
.flavours-section .filter-btn:hover {
  border-color: var(--caramel);
  color: var(--caramel);
}
.flavours-section .filter-btn.is-active {
  background: var(--chocolate-mid);
  color: var(--cream);
  border-color: var(--chocolate-mid);
}

/* ── Notice bar ──────────────────────────────────────────── */
.flavours-section .flavour-notice {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--blush);
  border-radius: var(--radius);
  padding: 14px 22px;
  margin-bottom: 44px;
  font-size: 13px;
  color: var(--choc-mid);
  line-height: 1.55;
}
.flavours-section .notice-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.flavours-section .flavour-notice p { margin: 0; }

/* ── Cards grid ──────────────────────────────────────────── */
.flavours-section .flavours-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media (max-width: 1200px) { .flavours-section .flavours-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 860px)  { .flavours-section .flavours-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 500px)  { .flavours-section .flavours-grid { grid-template-columns: 1fr; } }

/* ── Flavour card ────────────────────────────────────────── */
.flavours-section .flavour-card {
  background: var(--cream);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
  transition: transform .3s ease, box-shadow .3s ease;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 0;
}
.flavours-section .flavour-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-lg);
}
.flavours-section .flavour-card.is-hidden { display: none; }

/* Card image */
.flavours-section .card-img {
  padding-top: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.flavours-section .card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(44,21,6,.18) 100%);
}
.flavours-section .card-emoji {
  font-size: 52px;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.2));
  display: block;
  line-height: 1;
}
.flavours-section .card-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

/* Badge */
.flavours-section .card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  padding: 4px 12px;
  border-radius: 100px;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  z-index: 3;
  backdrop-filter: blur(4px);
}
.flavours-section .badge--bestseller { background: rgba(44,21,6,.82);  color: #E8B77A; }
.flavours-section .badge--new        { background: rgba(200,136,58,.9); color: white; }
.flavours-section .badge--vegan      { background: rgba(61,92,40,.82);  color: white; }
.flavours-section .badge--popular    { background: rgba(44,21,6,.82);   color: #E8B77A; }

/* Card body */
.flavours-section .card-body {
  padding: 20px 22px 22px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.flavours-section .card-name {
  font-family: var(--font-heading-family, 'Cormorant Garamond', serif);
  font-size: 20px;
  font-weight: 600;
  color: var(--chocolate-mid);
  margin: 0 0 6px;
  line-height: 1.2;
}
.flavours-section .card-tagline {
  font-size: 12px;
  color: var(--text-mid);
  line-height: 1.55;
  margin: 0 0 12px;
  font-weight: 300;
  flex: 1;
}
.flavours-section .card-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}
.flavours-section .card-tag {
  font-size: 10px;
  padding: 4px 10px;
  border-radius: 100px;
  background: rgba(200,136,58,.12);
  color: var(--choc-mid);
  font-weight: 500;
}

/* Buy button */
.flavours-section .buy-btn {
  width: 100%;
  padding: 13px 16px;
  border-radius: 100px;
  background: var(--btn-bg, var(--chocolate-mid));
  color: #fff;
  border: none;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .22s ease;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  line-height: 1;
}
.flavours-section .buy-btn:hover {
  background: var(--caramel);
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(200,136,58,.35);
}
.flavours-section .buy-btn svg { flex-shrink: 0; transition: transform .2s; }
.flavours-section .buy-btn:hover svg { transform: translateX(3px); }

.flavours-section .no-flavours { color: var(--text-mid); font-size: 14px; grid-column: 1/-1; }

/* ── Modal overlay ───────────────────────────────────────── */
.browse-modal.modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(var(--modal-overlay-color), 0.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
.browse-modal.modal-overlay.is-open {
  opacity: 1;
  pointer-events: all;
}
.browse-modal .modal {
  background: #FBF5EC;
  border-radius: var(--radius-lg);
  width: 100%;
  max-width: 660px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 40px 120px rgba(44,21,6,.35);
  transform: translateY(32px);
  transition: transform .3s ease;
  position: relative;
  scrollbar-width: thin;
  scrollbar-color: var(--border) transparent;
}
.browse-modal.modal-overlay.is-open .modal { transform: translateY(0); }

/* Modal header */
.browse-modal .modal-header {
  padding: 32px 36px 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.browse-modal .modal-step-intro {
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--caramel);
  font-weight: 500;
  margin: 0 0 6px;
}
.browse-modal .modal-title {
  font-family: var(--font-heading-family, 'Cormorant Garamond', serif);
  font-size: 30px;
  font-weight: 600;
  color: var(--chocolate-mid);
  margin: 0;
  line-height: 1.15;
}
.browse-modal .modal-close {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--blush);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .2s;
  color: var(--choc-mid);
}
.browse-modal .modal-close:hover { background: var(--border); }

/* Flavour preview */
.browse-modal .modal-preview {
  margin: 20px 36px;
  background: #FFF9F2;
  border-radius: var(--radius);
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}
.browse-modal .modal-swatch {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: 0 4px 16px rgba(44,21,6,.15);
}
.browse-modal .modal-swatch img.modal-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.browse-modal .modal-flavour-name {
  font-family: var(--font-heading-family, 'Cormorant Garamond', serif);
  font-size: 22px;
  font-weight: 600;
  color: var(--chocolate-mid);
  margin: 0 0 4px;
}
.browse-modal .modal-flavour-sub {
  font-size: 13px;
  color: var(--text-mid);
  margin: 0;
  font-weight: 300;
}

/* Step 2 label */
.browse-modal .modal-step2-label {
  padding: 0 36px 14px;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--caramel);
  font-weight: 500;
  margin: 0;
}

/* Box options */
.browse-modal .modal-boxes {
  padding: 0 36px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 24px;
}
@media (max-width: 480px) { .modal-boxes { grid-template-columns: 1fr; } }

.browse-modal .box-option {
  border: 2px solid var(--border);
  border-radius: var(--radius);
  padding: 22px 20px;
  cursor: pointer;
  transition: all .22s ease;
  text-align: left;
  background: white;
  display: flex;
  flex-direction: column;
  gap: 4px;
  position: relative;
  font-family: inherit;
}
.browse-modal .box-option:hover {
  border-color: var(--caramel);
  background: rgba(200,136,58,.04);
}
.browse-modal .box-option.is-selected {
  border-color: var(--chocolate-mid);
  background: rgba(44,21,6,.04);
}
.browse-modal .box-check {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 22px;
  height: 22px;
  background: var(--chocolate-mid);
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
}
.browse-modal .box-option.is-selected .box-check { display: flex; }
.browse-modal .box-slices {
  font-family: var(--font-heading-family, 'Cormorant Garamond', serif);
  font-size: 38px;
  font-weight: 600;
  color: var(--caramel);
  line-height: 1;
}
.browse-modal .box-name {
  font-size: 15px;
  font-weight: 500;
  color: var(--chocolate-mid);
}
.browse-modal .box-desc {
  font-size: 12px;
  color: var(--text-mid);
  line-height: 1.5;
  font-weight: 300;
}
.browse-modal .box-price {
  font-family: var(--font-heading-family, 'Cormorant Garamond', serif);
  font-size: 28px;
  font-weight: 600;
  color: var(--chocolate-mid);
  margin-top: 8px;
}
.browse-modal .box-tag {
  display: inline-block;
  background: var(--blush);
  color: var(--choc-mid);
  font-size: 10px;
  padding: 3px 10px;
  border-radius: 100px;
  font-weight: 500;
  margin-top: 4px;
  align-self: flex-start;
}
.browse-modal .box-tag--popular {
  background: var(--sage);
  color: white;
}

/* Modal footer */
.browse-modal .modal-footer {
  padding: 0 36px 36px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.browse-modal .proceed-btn {
  width: 100%;
  padding: 17px;
  border-radius: 100px;
  background: var(--btn-bg, var(--chocolate-mid));
  color: white;
  border: none;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .25s ease;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  box-shadow: 0 8px 32px rgba(44,21,6,.2);
}
.browse-modal .proceed-btn:not(:disabled):hover {
  background: var(--caramel);
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(200,136,58,.35);
}
.browse-modal .proceed-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.browse-modal .modal-note {
  text-align: center;
  font-size: 12px;
  color: var(--text-mid);
  margin: 0;
}
@media (max-width: 989px){
  .flavour-list{grid-template-columns: repeat(3, 1fr);}
}
@media (max-width: 749px){
  .browse-modal .modal-preview {
    margin: 15px;
  }
  .browse-modal .modal-boxes, .browse-modal .modal-footer{padding: 0 15px;}
}