/** Shopify CDN: Minification failed

Line 2465:1 Expected "}" to go with "{"

**/
/* ==========================================================================
   Coffee-Direct / Tea-Direct — Dawn theme custom.css
   Fully tokenised version
   Swap colour variables in :root to move to another site/theme
   ========================================================================== */

/* =========================
   Brand / theme colour tokens
   ========================= */
:root{
  /* Core brand */
  --brand-primary:#009aaa;
  --brand-primary-rgb:0,154,170;
  --brand-primary-soft:rgba(0,154,170,.08);
  --brand-primary-soft-2:rgba(0,154,170,.12);
  --brand-primary-glow:rgba(0,154,170,.18);
  --brand-primary-glow-2:rgba(0,154,170,.22);
  --brand-primary-glow-3:rgba(0,154,170,.38);
  --brand-primary-glow-4:rgba(0,154,170,.55);
  --brand-primary-glow-5:rgba(0,154,170,.6);
  --brand-primary-white:#ffffff;

  /* Brand ink / deep panels */
  --brand-ink:#062a2d;
  --brand-ink-rgb:6,42,45;
  --brand-ink-2:#0b3f44;
  --brand-border-dark:#1d3b3e;

  /* Surfaces */
  --surface:#fff;
  --surface-rgb:255,255,255;
  --surface-soft:#f6f6f6;
  --surface-soft-2:#eaeaea;
  --surface-border:#cfdedf;
  --surface-border-2:#d9e3e4;
  --surface-border-3:#666;

  /* White overlays */
  --surface-overlay:rgba(255,255,255,.03);
  --surface-overlay-2:rgba(255,255,255,.05);
  --surface-overlay-3:rgba(255,255,255,.10);
  --surface-overlay-4:rgba(255,255,255,.12);
  --surface-overlay-5:rgba(255,255,255,.18);
  --surface-overlay-6:rgba(255,255,255,.35);
  --surface-overlay-7:rgba(255,255,255,.45);
  --surface-overlay-8:rgba(255,255,255,.50);
  --surface-overlay-9:rgba(255,255,255,.65);
  --surface-overlay-10:rgba(255,255,255,.75);
  --surface-overlay-11:rgba(255,255,255,.82);
  --surface-overlay-12:rgba(255,255,255,.90);

  /* Text */
  --text-main:#111;
  --text-main-rgb:17,17,17;
  --text-body:#222;
  --text-on-dark:#fff;
  --text-on-dark-soft:rgba(255,255,255,.86);
  --text-on-dark-soft-2:rgba(255,255,255,.90);
  --text-muted:#666;

  /* Neutral shadows */
  --shadow-soft:rgba(0,0,0,.08);
  --shadow-mid:rgba(0,0,0,.18);
  --shadow-strong:rgba(0,0,0,.25);
  --shadow-stronger:rgba(0,0,0,.45);

  /* Focus */
  --focus-light:rgba(255,255,255,.75);
  --focus-dark:rgba(0,0,0,.18);

  /* Dark panel system */
  --panel-dark:#062a2d;
  --panel-dark-2:#08383c;
  --panel-dark-3:#041f22;
  --panel-dark-overlay-1:rgba(6,42,45,.40);
  --panel-dark-overlay-2:rgba(6,42,45,.70);
  --panel-dark-overlay-3:rgba(6,42,45,.80);
  --panel-dark-overlay-4:rgba(0,0,0,.12);

  /* Accent alt */
  --accent-teal-2:rgba(0,120,130,.28);

  /* Gold system */
  --gold-1:#fff6db;
  --gold-2:#f3d69a;
  --gold-3:#e0b45c;
  --gold-4:#f2d461;
  --gold-5:#c59112;
  --gold-6:#c79212;
  --gold-7:#b9850e;
  --gold-8:#a87408;
  --gold-9:#fffdf7;
  --gold-10:#f7edd7;
  --gold-11:#edd8a6;
  --gold-12:#fffef9;
  --gold-13:#f4e8cc;
  --gold-14:#fffaf0;
  --gold-15:#f3e4c4;
  --gold-16:#e5c98a;
  --gold-17:#fff4d6;
  --gold-18:#f1d38a;
  --gold-19:#e2b75d;
  --gold-20:#fffdf6;
  --gold-21:rgba(255,216,120,.32);
  --gold-highlight:rgba(255,255,255,.75);
  --gold-highlight-soft:rgba(255,255,255,.65);
  --gold-shadow-soft:rgba(170,120,20,.14);
  --gold-shadow-soft-2:rgba(150,100,15,.18);
  --gold-panel-shadow:rgba(160,95,10,.22);
  --gold-panel-shadow-2:rgba(140,80,10,.28);

  /* Coupon */
  --coupon-ink:#111;
  --coupon-border:rgba(0,0,0,.85);
  --coupon-hover:rgba(0,0,0,.05);
  --coupon-focus:rgba(0,0,0,.18);
  --coupon-tooltip-bg:#111;
  --coupon-tooltip-text:#fff;

  /* Rules / lines */
  --line-light:rgba(var(--color-foreground), 1);
  --line-on-dark:rgba(255,255,255,.10);
  --line-on-dark-2:rgba(255,255,255,.18);

  /* Utility */
  --success-text:var(--brand-ink);

  /* Background scene */
  --bg-scene-start:#041e20;
  --bg-scene-mid:#062a2d;
  --bg-scene-end:#041e20;

  --bg-orb-1:rgba(var(--brand-primary-rgb), .18);
  --bg-orb-2:rgba(var(--brand-primary-rgb), .12);
  --bg-orb-3:rgba(255,255,255,.06);
  --bg-orb-4:rgba(var(--brand-primary-rgb), .10);
  --bg-orb-5:rgba(var(--brand-primary-rgb), .14);

  --bg-orb-blur:22px;
  --bg-orb-opacity:.8;
}

/* =========================
   Globals
   ========================= */
html,
body{
  overflow-x:clip;
}

/* ==========================================================================
   Scoped dark background system for pages / blogs / articles
   ========================================================================== */
main#MainContent.content-for-layout:has(.main-page),
main#MainContent.content-for-layout:has(.main-blog),
main#MainContent.content-for-layout:has(.article-template){
  position:relative;
  isolation:isolate;
  overflow:clip;
  background:
    radial-gradient(1200px 600px at 12% 12%, var(--bg-orb-1), transparent 60%),
    radial-gradient(900px 520px at 88% 18%, var(--bg-orb-2), transparent 60%),
    radial-gradient(850px 520px at 30% 92%, var(--bg-orb-3), transparent 62%),
    linear-gradient(135deg, var(--bg-scene-start) 0%, var(--bg-scene-mid) 55%, var(--bg-scene-end) 100%) !important;
}

main#MainContent.content-for-layout:has(.main-page)::after,
main#MainContent.content-for-layout:has(.main-blog)::after,
main#MainContent.content-for-layout:has(.article-template)::after{
  content:"";
  position:absolute;
  inset:-12%;
  z-index:0;
  pointer-events:none;
  opacity:var(--bg-orb-opacity);
  filter:blur(var(--bg-orb-blur));
  background:
    radial-gradient(220px 220px at 18% 32%, var(--bg-orb-1), transparent 62%),
    radial-gradient(320px 320px at 78% 22%, var(--bg-orb-5), transparent 62%),
    radial-gradient(260px 260px at 72% 78%, var(--bg-orb-3), transparent 65%),
    radial-gradient(180px 180px at 28% 82%, var(--bg-orb-4), transparent 65%);
  animation:cfOrbsSoft 18s ease-in-out infinite alternate;
}

main#MainContent.content-for-layout:has(.main-page) > *,
main#MainContent.content-for-layout:has(.main-blog) > *,
main#MainContent.content-for-layout:has(.article-template) > *{
  position:relative;
  z-index:1;
}

main#MainContent.content-for-layout:has(.main-page) > .shopify-section:has(.main-page),
main#MainContent.content-for-layout:has(.main-page) > .shopify-section:has(.main-page) > div,
main#MainContent.content-for-layout:has(.main-page) .main-page{
  min-height:700px !important;
}

main#MainContent.content-for-layout:has(.main-page) > .shopify-section,
main#MainContent.content-for-layout:has(.main-page) > .shopify-section > div,
main#MainContent.content-for-layout:has(.main-page) .main-page,
main#MainContent.content-for-layout:has(.main-blog) > .shopify-section,
main#MainContent.content-for-layout:has(.main-blog) > .shopify-section > div,
main#MainContent.content-for-layout:has(.main-blog) .main-blog,
main#MainContent.content-for-layout:has(.article-template) > .shopify-section,
main#MainContent.content-for-layout:has(.article-template) > .shopify-section > div{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

main#MainContent.content-for-layout:has(.main-page) :is(
  .page-width,
  .rte,
  .article-template__content,
  .main-blog .article-card,
  .main-blog .card,
  .main-blog .card__inner,
  .main-blog .card__content,
  .main-blog .card__information
),
main#MainContent.content-for-layout:has(.main-blog) :is(
  .article-card,
  .card,
  .card__inner,
  .card__content,
  .card__information,
  .article-template__content
),
main#MainContent.content-for-layout:has(.article-template) :is(
  .article-template__content
){
  position:relative;
  z-index:2;
}

@media (prefers-reduced-motion:reduce){
  main#MainContent.content-for-layout:has(.main-page)::after,
  main#MainContent.content-for-layout:has(.main-blog)::after,
  main#MainContent.content-for-layout:has(.article-template)::after{
    animation:none !important;
  }
}

@keyframes cfOrbsSoft{
  0%{transform:translate3d(0,0,0) scale(1);}
  100%{transform:translate3d(1.5%,1%,0) scale(1.02);}
}

/* =========================
   Typography & links
   ========================= */
h1,
h2,
h3{
  font-weight:700 !important;
}

h1{font-size:30pt !important;}
h3{font-size:15pt !important;}

a{
  color:var(--brand-primary);
  font-weight:700;
}

a:active,
.header__active-menu-item,
.list-menu__item--active{
  text-decoration:none !important;
}

.extra-info{font-size:12pt;}

/* =========================
   Header & navigation
   ========================= */
.header__menu-item,
.header__menu-item span,
.list-menu__item{
  font-size:18px !important;
  line-height:1.2 !important;
}

@media screen and (min-width:750px){
  header.header .header__inline-menu :is(a.header__menu-item, summary.header__menu-item),
  header.header .header__submenu.list-menu--disclosure > li > :is(a.header__menu-item, summary.header__menu-item){
    font-weight:700 !important;
  }

  .header .header__submenu,
  .header .header__submenu :is(.list-menu--disclosure, .list-menu){
    width:max-content !important;
    min-width:max-content !important;
    display:inline-block !important;
    white-space:nowrap !important;
  }

  .header__submenu .header__submenu{
    background:transparent !important;
    box-shadow:none !important;
    padding-left:18px !important;
    margin-top:6px !important;
  }

  .header__submenu .header__submenu :is(a.header__menu-item, > li > details > summary.header__menu-item){
    font-weight:400 !important;
    background:transparent !important;
    text-decoration:none !important;
  }

  .header__submenu .header__submenu a.header__menu-item{
    padding-left:12px !important;
    font-size:1.3em !important;
  }

  .header__submenu .header__submenu a.header__menu-item:hover{
    background:transparent !important;
  }

  .header__submenu.list-menu--disclosure{
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 6px 18px var(--shadow-soft);
  }
}

.menu-drawer :is(.menu-drawer__menu-item, summary){
  font-weight:700 !important;
}

.header__active-menu-item,
.header__menu-item:hover,
.header__menu-item:focus-visible,
.header__menu-item:hover > span,
.header__menu-item:focus-visible > span,
details[open] > .header__menu-item,
details[open] > .header__menu-item > span{
  text-decoration:underline !important;
  text-decoration-thickness:3px !important;
  text-underline-offset:6px !important;
  text-decoration-color:var(--brand-primary) !important;
}

/* =========================
   Buttons
   ========================= */
:is(
  .button,
  .button::before,
  .button::after,
  .shopify-payment-button__button,
  .shopify-payment-button__button--unbranded,
  .shopify-payment-button__button::before,
  .shopify-payment-button__button::after,
  .product-form__buttons,
  .product-form__buttons .button,
  .cart__checkout-button,
  .customer button,
  a.button
){
  font-weight:700;
}

.price,
.price-item,
.price__container,
.product__info-container .price,
.card__information .price,
.cart-items .price,
.totals__subtotal-value,
.totals__total-value{
  font-weight:600;
  letter-spacing:-0.01em;
}

.product :is(.price, .price .price-item){
  font-size:28px !important;
}

.price-item{
  font-size:12pt !important;
}

variant-selects .product-form__input--pill input[type="radio"] + label{
  border:2px solid var(--surface-border);
  background-color:var(--surface);
  color:var(--brand-ink);
  font-weight:600;
  box-sizing:border-box;
}

variant-selects .product-form__input--pill input[type="radio"]:checked + label{
  background-color:var(--brand-primary) !important;
  border-color:var(--brand-primary) !important;
  color:var(--text-on-dark) !important;
}

variant-selects .product-form__input--pill input[type="radio"]:not(:checked) + label:hover{
  background-color:var(--brand-primary-soft);
  border-color:var(--brand-primary);
  color:var(--brand-primary);
}

/* =========================
   Product cards
   ========================= */
.card-wrapper:hover :is(.media img, .card__media img){
  transform:none !important;
  transition:none !important;
}

.card__media .media{
  overflow:hidden;
  background:var(--surface);
}

.card__media .media > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}

.card{
  border-radius:20px !important;
  padding:4px !important;
  border:6px solid var(--surface) !important;
  box-shadow:
    0 0 0 4px var(--brand-primary),
    inset 0 8px 10px -8px var(--brand-primary-glow-2),
    inset 0 -8px 10px -8px var(--brand-primary-glow-2),
    inset 8px 0 10px -8px var(--brand-primary-glow-2),
    inset -8px 0 10px -8px var(--brand-primary-glow-2) !important;
}

.card-wrapper :is(.card__media img, .media img){
  object-fit:contain !important;
  object-position:50% 50% !important;
  transform:none !important;
}

.card__information :is(.card__heading, .card__heading a){
  text-align:center;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
  -webkit-hyphens:auto;
  -webkit-hyphenate-limit-before:6;
  -webkit-hyphenate-limit-after:6;
  -webkit-hyphenate-limit-lines:1;
  hyphenate-limit-chars:12 6 6;
}

.card__information .card__heading a{
  display:block;
  width:100%;
}

.card-wrapper .card,
.card__inner{
  display:flex;
  flex-direction:column;
  height:100%;
}

.card__media{flex-shrink:0;}
.card__content{margin-top:auto;}

/* =========================
   Grid spacing
   ========================= */
.product-grid,
.grid{
  --grid-desktop-horizontal-spacing:24px;
  --grid-desktop-vertical-spacing:24px;
  --grid-mobile-horizontal-spacing:24px;
  --grid-mobile-vertical-spacing:24px;
  padding-bottom:20px;
}

/* =========================
   Video container
   ========================= */
.video-container{
  position:relative;
  margin-top:40px;
  padding:6px;
  border-radius:18px;
  background:var(--surface);
  transition:.3s;
  box-shadow:
    0 0 0 3px var(--brand-primary),
    0 0 30px var(--brand-primary-glow-5),
    0 20px 40px var(--shadow-stronger);
}

.video-container iframe{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  border:0;
  border-radius:14px;
  border-top:1px solid var(--surface-border-3);
  border-bottom:1px solid var(--surface-border-3);
  color:var(--text-on-dark);
}

/* =========================
   Slideshow
   ========================= */
.slideshow__controls,
.slideshow__controls > *,
.slideshow__controls .slideshow__controls-wrapper,
.slideshow__controls .slider-buttons,
.slideshow__controls .slideshow__autoplay,
.slideshow__controls .slider-counter{
  padding:0 !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
  line-height:normal !important;
}

.slideshow__controls{margin-top:-20px !important;}
.banner__box{opacity:.95;}

.slideshow__text.banner__box.content-container,
.slideshow__text.banner__box.content-container::after{
  border-radius:20px !important;
}

.slideshow__text.banner__box.content-container{
  overflow:hidden;
}

/* =========================
   Homepage section headings
   ========================= */
h2.inline-richtext,
section[id*="multicolumn"] .title-wrapper-with-link{
  text-align:center !important;
}

section[id*="multicolumn"] .title-wrapper-with-link .title{
  margin-left:auto !important;
  margin-right:auto !important;
}


/* =========================
   Footer
   ========================= */

.footer-block {
  max-width: 1200px !important;
}

.footer-block__newsletter > h2.inline-richtext {
  text-align: left !important;
}

/* Make menu use full width and left-align */
.footer .footer-block--menu .list-menu,
.footer .footer-block--menu .footer-block__details-content ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  max-width: 1200px;
  margin: 0 auto;
}

/* Spacing on links */
.footer .footer-block--menu a {
  padding: 0 0px;
  display: inline-block;
}

/* Pipe separators */
.footer .footer-block--menu li:not(:last-child)::after {
  content: "|";
  color: var(--brand-primary);
  margin-left: 14px;
}

/* mobile tweaks */
@media screen and (max-width: 749px) {

  .footer {
    line-height: 30pt !important;
  }
  
  .footer .footer-block--menu li::after {
    content: none !important;
  }

  .footer-block__newsletter > h2.inline-richtext {
    text-align: center !important;
}

}

/* =========================
   Product attribute bars
   ========================= */
.attr-bars{
  --scale:1.6;
  --fill:var(--brand-primary);
  --track:var(--surface-soft-2);
  --label:var(--text-on-dark);
  --muted:var(--text-on-dark);
  --base-fs:1rem;
  --fs:calc(var(--base-fs) * var(--scale));
  --bar-h:calc(12px * var(--scale));
  --gap:calc(10px * var(--scale));
  --label-w:calc(140px * var(--scale));
  --row-gap:calc(12px * var(--scale));

  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  font-size:var(--fs);
}

.attr-bars__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:var(--gap);
}

.attr-bars__row{
  display:grid;
  grid-template-columns:minmax(110px, var(--label-w)) 1fr minmax(2ch, 3ch);
  align-items:center;
  gap:var(--row-gap);
}

.attr-bars__label{
  color:var(--label);
  line-height:1.25;
  white-space:nowrap;
}

.attr-bars__bar{
  position:relative;
  height:var(--bar-h);
  border-radius:999px;
  background:
    repeating-linear-gradient(
      to right,
      var(--track) 0 1px,
      transparent 1px calc(10% - 1px)
    );
  background-color:var(--surface-soft);
  overflow:hidden;
}

.attr-bars__bar::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:calc(clamp(0, var(--v, 0), 10) * 10%);
  background:var(--fill);
  border-radius:999px;
}

.attr-bars__value{
  color:var(--muted);
  font-variant-numeric:tabular-nums;
  text-align:right;
}

@media (max-width:480px){
  .attr-bars__row{
    grid-template-columns:1fr minmax(2ch, 3ch);
    grid-template-areas:
      "label label"
      "bar value";
    gap:calc(6px * var(--scale));
  }

  .attr-bars__label{grid-area:label;}
  .attr-bars__bar{grid-area:bar;}

  .attr-bars__value{
    grid-area:value;
    justify-self:end;
    margin:0;
    padding:0;
  }
}

.brew-method__icon{
  display:block;
  border-radius:18px;
  padding:6px;
  background:var(--surface);
  box-shadow:
    0 0 0 3px var(--brand-primary),
    0 0 30px var(--brand-primary-glow-5),
    0 20px 40px var(--shadow-stronger);
  transition:all .3s ease;
}

/* =========================
   Related products
   ========================= */
.related-products{
  width:min(100% - 38px, 1100px);
  padding-left:4px;
  padding-right:4px;
}

/* =========================
   Judge.me widget
   ========================= */

.jm-media-preview{
  --jm-widget-border-radius:40px;
}

.jm-review-widget p.jm-text[style*="jm-body-"]{
  --text-size:16px !important;
  font-size:16px !important;
}

.jm-review-widget p.jm-text[style*="jm-heading-xl-size"]{
  --text-size:40px !important;
  font-size:40px !important;
  font-weight:600 !important;
}

#jdgm-reviews-widget{
  border:0 !important;
  background:var(--brand-primary) !important;
  color:var(--text-on-dark) !important;
  border-radius:999px;
  font-weight:700;
  box-shadow:none !important;
}

.jm-button--primary, .jm-verified-buyer-badge__text {
  font-weight: 700 !important;
  border-radius:40px !important;
  background-color: var(--brand-primary) !important;
  color: var(--brand-primary-white) !important;
  border: none !important;
}

.jm-button--secondary, .jm-search-filter__toggle, .jdgm-sort-dropdown, .jm-sort-filter__select {
  border: 0.1em solid var(--brand-primary) !important;
  border-radius: 40px !important;
  padding: 4px !important;
  width: 40px !important;
}

/* =========================
   Coffees of the World
   ========================= */
a.map-item{
  padding:12px;
  border-radius:40px;
  background-color:var(--surface);
  color:var(--brand-primary);
  text-decoration:none;
}

a.map-item:hover{
  color:var(--brand-primary);
  text-decoration:underline;
}

/* =========================
   Machine promos
   ========================= */
table.gaggia-promo,
table.delonghi-promo,
table.jura-promo{
  border-radius:40px;
  background-color:var(--gold-4);
  padding:20px;
  max-width:700px;
  margin:auto;
  text-align:center;
  font-family:
    ui-rounded,
    system-ui,
    -apple-system,
    "Segoe UI Variable",
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
}

td.gaggia-promo,
td.delonghi-promo,
td.jura-promo{
  border:0;
  padding-top:0;
  padding-bottom:0;
}

td.gaggia-promo-offer,
td.delonghi-promo-offer,
td.jura-promo-offer{
  border:0;
  color:var(--text-body);
  text-align:center;
  font-weight:700;
  padding-top:0;
  padding-bottom:0;
  font-size:42pt;
}

td.gaggia-promo-offer2,
td.delonghi-promo-offer2,
td.jura-promo-offer2{
  border:0;
  color:var(--text-body);
  text-align:center;
  font-weight:700;
  padding-top:0;
  padding-bottom:10px;
  font-size:20pt;
  line-height:28px;
}

td.gaggia-promo-offer3,
td.delonghi-promo-offer3,
td.jura-promo-offer3{
  border:0;
  color:var(--text-body);
  text-align:center;
  font-weight:700;
  padding-top:0;
  padding-bottom:10px;
  font-size:10pt;
  line-height:16px;
}

td.gaggia-promo > img,
td.delonghi-promo > img,
td.jura-promo > img{
  width:100%;
}

/* =========================
   Cart promo sticker
   ========================= */
a.promo-sticker{
  --promo-gold-border: var(--gold-7);
  --promo-gold-bg-1: var(--gold-9);
  --promo-gold-bg-2: var(--gold-10);
  --promo-gold-bg-3: var(--gold-11);
  --promo-gold-highlight: var(--gold-highlight);
  --promo-ink: var(--brand-ink);

  position: relative;
  display: inline-block;
  overflow: hidden;
  margin: 18px 0;
  padding: 12px 22px;
  border: 3px solid var(--promo-gold-border);
  border-radius: 40px;
  color: var(--promo-ink) !important;
  font-weight: 800;
  text-align: center;
  text-decoration: none !important;
  letter-spacing: -0.2px;
  line-height: 1.25;
  background:
    radial-gradient(120% 160% at 20% 10%, var(--promo-gold-highlight) 0%, rgba(255,255,255,0) 46%),
    radial-gradient(160% 200% at 90% 120%, var(--gold-shadow-soft) 0%, rgba(170,120,20,0) 60%),
    linear-gradient(180deg, var(--promo-gold-bg-1) 0%, var(--promo-gold-bg-2) 56%, var(--promo-gold-bg-3) 100%);
  box-shadow: none;
}

a.promo-sticker::before{
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    180deg,
    var(--surface-overlay-7) 0%,
    var(--surface-overlay-5) 28%,
    rgba(255,255,255,0) 55%
  );
  pointer-events: none;
}

/* ==========================================================================
   Machine promo — actual promo markup
   ========================================================================== */
#PromoInline.pd-gold-promo{
  --promo-gold-border:var(--gold-7);
  --promo-gold-bg-1:var(--gold-9);
  --promo-gold-bg-2:var(--gold-10);
  --promo-gold-bg-3:var(--gold-11);
  --promo-gold-highlight:var(--gold-highlight);
  --promo-ink:var(--brand-ink);

  position:relative;
  overflow:visible !important;
  border:4px solid var(--promo-gold-border) !important;
  border-radius:40px !important;
  box-shadow:none !important;
  background:
    radial-gradient(120% 160% at 20% 10%, var(--promo-gold-highlight) 0%, rgba(255,255,255,0) 46%),
    radial-gradient(160% 200% at 90% 120%, var(--gold-shadow-soft) 0%, rgba(170,120,20,0) 60%),
    linear-gradient(180deg, var(--promo-gold-bg-1) 0%, var(--promo-gold-bg-2) 56%, var(--promo-gold-bg-3) 100%) !important;
}

#PromoInline.pd-gold-promo::before{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:34px;
  border:none !important;
  pointer-events:none;
}

#PromoInline .pd-gold-promo_offer,
#PromoInline .pd-gold-promo_inner,
#PromoInline .pd-gold-promo_note{
  color:var(--promo-ink) !important;
}

#PromoInline .pd-gold-promo_offer{
  font-weight:800 !important;
  letter-spacing:-0.4px;
}

#PromoInline .pd-gold-promo_note{
  opacity:.9;
}

#PromoInline .pd-gold-promo_code .coupon{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 24px !important;
  border:3px dashed var(--promo-gold-border) !important;
  border-radius:999px !important;
  background:rgba(255,253,246,.72) !important;
  color:var(--promo-ink) !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

#PromoInline .pd-gold-promo_code .coupon:hover,
#PromoInline .pd-gold-promo_code .coupon:focus,
#PromoInline .pd-gold-promo_code .coupon:focus-visible{
  background:rgba(255,253,246,.82) !important;
  color:var(--promo-ink) !important;
  outline:none !important;
  box-shadow:none !important;
}

#PromoInline .pd-gold-promo_code .coupon::before{
  color:var(--brand-primary) !important;
}

#PromoInline.pd-gold-promo::after{
  background:linear-gradient(180deg, var(--gold-12) 0%, var(--gold-13) 100%) !important;
  border-color:var(--promo-gold-border) !important;
  color:var(--promo-ink) !important;
  box-shadow:none !important;
}

/* =========================
   Page width tweaks
   ========================= */
#MainContent .page-width--narrow{
  width:min(100% - 20px, 1100px) !important;
  max-width:none !important;
}

#MainContent .page-width--narrow .rte{
  max-width:none !important;
}

/* =========================
   Collection page tweaks
   ========================= */
.collection-hero__description{
  max-width:100% !important;
}

/* =========================
   Product page tweaks
   ========================= */
.product-form__input--pill,
.quantity__label{
  margin-top:24px !important;
}

.product__media-wrapper{
  max-height:700px;
  overflow:visible;
}

.product__media-list,
.product__media-item,
.product__media-item img,
.product__modal-opener{
  max-height:600px !important;
}

.product__media-item img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.product__media-item,
.product__modal-opener{
  overflow:hidden !important;
}

quantity-input.quantity{
  border:2px solid var(--surface-border) !important;
  border-radius:999px !important;
  background:var(--surface) !important;
  box-shadow:none !important;
  overflow:hidden;
}

quantity-input.quantity::before,
quantity-input.quantity::after{
  content:none !important;
  display:none !important;
}

quantity-input.quantity:hover,
quantity-input.quantity:focus-within{
  box-shadow:none !important;
  outline:none !important;
  background:var(--surface) !important;
}

.quantity__input{
  font-weight:700;
  font-size:1.4rem;
}

.grind-guide-link,
.bulk-discount-link{
  --teal:var(--brand-primary);

  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding-left:31px;
  font-weight:600;
  font-size:.9em;
  line-height:1.2;
  color:var(--teal);
  text-decoration:none;
  white-space:nowrap;
}

.grind-guide-link:hover,
.bulk-discount-link:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

.grind-guide-link::before,
.bulk-discount-link::before{
  content:"";
  position:absolute;
  left:6px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--teal);
  color:var(--text-on-dark);
  font-weight:700;
  font-size:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:
    
    0 0 0 3px var(--teal);
}

.grind-guide-link::before{
  content:"i";
  font-family:Georgia, serif;
}

.bulk-discount-link::before{
  content:"£";
}

.product-form__input fieldset{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.product-form__quantity{
  margin-bottom:6px !important;
}

.product__info-container .price{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.product__info-container .price:not(.price--sold-out) .price__badge-sold-out{
  display:none !important;
}

.product__info-container .price:not(.price--on-sale) .price__badge-sale{
  display:none !important;
}

.product__info-container .price .badge{
  line-height:1;
  vertical-align:middle;
}

/* =========================
   Blog tiles
   ========================= */
.main-blog .blog-articles__article{
  --color-background:255,255,255 !important;
  --color-background-2:255,255,255 !important;
  --color-foreground:17,17,17 !important;
  --gradient-background:var(--surface) !important;
}

.main-blog .blog-articles__article :is(
  .article-card,
  .article-card__inner,
  .card,
  .card__inner,
  .card__content,
  .article-card__info,
  .article-card__image-wrapper,
  .gradient
){
  background:var(--surface) !important;
  background-image:none !important;
}

.main-blog .blog-articles__article :is(
  .card__heading,
  .card__heading a,
  .article-card__excerpt,
  .article-card__info,
  .card__information,
  .rte
){
  color:var(--text-main) !important;
}

.article-card__excerpt{
  text-align:center;
}

.main-blog .blog-articles__article :is(.article-card, .card){
  border-radius:20px !important;
  overflow:hidden !important;
}

.main-blog .blog-articles__article :is(
  .article-card__inner,
  .card__inner,
  .card__content,
  .card__information,
  .article-card__info
){
  border-radius:14px !important;
  overflow:hidden !important;
  background:var(--surface) !important;
}

.main-blog .blog-articles{
  gap:24px !important;
}

.main-blog .card__information{
  padding:22px !important;
}

@media (max-width:749px){
  .main-blog .blog-articles{
    gap:14px !important;
  }

  .main-blog .card__information{
    padding:16px !important;
  }
}

.article-template .article-template__content,
.article-template .article-template__hero,
.article-template .article-template__title{
  color:rgb(var(--color-foreground));
}

.article-template .article-template__content{
  background:rgba(var(--color-background-2), .92);
  border:1px solid rgba(var(--color-foreground), .14);
  border-radius:22px;
  padding:26px;
  padding-top:20px !important;
}

@media (max-width:749px){
  .article-template .article-template__content{
    padding:18px;
    border-radius:18px;
  }
}

.article-template .rte a{
  color:var(--brand-primary);
  font-weight:700;
  text-underline-offset:.15em;
  text-decoration-thickness:2px;
}

.article-template .rte img{
  display:block;
  max-width:100%;
  height:auto;
  background:var(--surface) !important;
  padding:22px !important;
  border-radius:20px !important;
  box-sizing:border-box;
  box-shadow:
    0 0 0 4px var(--brand-primary),
    0 0 30px var(--brand-primary-glow-4),
    0 20px 40px var(--shadow-stronger),
    inset 0 8px 10px -8px var(--brand-primary-glow),
    inset 0 -8px 10px -8px var(--brand-primary-glow),
    inset 8px 0 10px -8px var(--brand-primary-glow),
    inset -8px 0 10px -8px var(--brand-primary-glow) !important;
}

.article-template .rte img:not([style*="float"]){
  margin:28px 36px !important;
}

@media (max-width:749px){
  .article-template .rte img:not([style*="float"]){
    margin:18px 0 !important;
  }
}

.article-template .rte img[style*="float"]{
  display:inline-block !important;
  margin:0 20px 20px 0 !important;
}

.article-template .rte img[style*="float: right"]{
  margin:28px 0 28px 40px !important;
}

.article-template .rte img[style*="float: left"]{
  margin:28px 40px 28px 0 !important;
}

.article-template > header.page-width{
  margin:0 auto !important;
  padding-top:20px !important;
}

main#MainContent.content-for-layout:has(.article-template){
  padding-bottom:0 !important;
}

main#MainContent.content-for-layout:has(.article-template) > section.shopify-section{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

main#MainContent.content-for-layout:has(.article-template) .article-template__content{
  padding-bottom:20px !important;
  margin-bottom:0 !important;
}

#MainContent .shopify-section[id*="featured_blog"] .article-card-wrapper .card{
  border-radius:20px !important;
  padding:4px !important;
  border:6px solid var(--surface) !important;
  background:var(--surface) !important;
  box-shadow:
    0 0 0 4px var(--brand-primary),
    inset 0 8px 10px -8px var(--brand-primary-glow-2),
    inset 0 -8px 10px -8px var(--brand-primary-glow-2),
    inset 8px 0 10px -8px var(--brand-primary-glow-2),
    inset -8px 0 10px -8px var(--brand-primary-glow-2) !important;
}

#MainContent .shopify-section[id*="featured_blog"] .article-card-wrapper :is(
  .card__inner,
  .card__content,
  .article-card__inner,
  .article-card__image-wrapper,
  .gradient
){
  background:transparent !important;
  background-image:none !important;
}

/* Featured blog post titles — allow more lines before truncation */
.blog .card__heading,
.blog .card__heading .full-unstyled-link{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:unset !important;
  display:block !important;
  -webkit-line-clamp:unset !important;
  line-clamp:unset !important;
}

.blog .card__heading{
  height:auto !important;
  max-height:none !important;
}



.article-card .card__inner.ratio::before,
.article-card .card__inner.ratio:before {
  content: none !important;
  display: none !important;
}

.article-card .card__media,
.article-card .article-card__image-wrapper {
  display: none !important;
}

.article-card .card__inner.ratio {
  min-height: 0 !important;
  padding: 0 !important;
}

.article-card .card__content {
  margin-top: 0 !important;
}




/* =========================
   RTE iframe video surrounds
   ========================= */
.rte iframe{
  display:block;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  border:0;
  margin:30px 0;
  padding:6px;
  border-radius:20px;
  background:var(--surface);
  box-shadow:
    0 0 0 3px var(--brand-primary),
    0 0 30px var(--brand-primary-glow-5),
    0 20px 40px var(--shadow-stronger);
}

/* =========================
   Collection hero promo
   ========================= */
.collection-hero--with-image{
  --promo-bg:var(--panel-dark);
  --promo-border:var(--surface-overlay-4);
  --promo-text:var(--text-on-dark-soft);
  --promo-line:var(--line-on-dark);

  background:
    radial-gradient(circle at 18% 8%, var(--brand-primary-glow-3), transparent 55%),
    radial-gradient(circle at 85% 75%, var(--accent-teal-2), transparent 65%),
    linear-gradient(160deg, var(--panel-dark) 0%, var(--panel-dark-2) 45%, var(--panel-dark-3) 100%) !important;
}

.collection-hero--with-image .collection-hero__inner{
  position:relative;
  overflow:hidden;
  width:min(100% - 38px, 1100px);
  margin:0 auto 34px;
  padding:26px;
  border:1px solid var(--promo-border);
  border-radius:40px;
  gap:28px;
  align-items:start;
}

.collection-hero--with-image .collection-hero__inner::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, var(--panel-dark-overlay-2), var(--panel-dark-overlay-3));
  pointer-events:none;
  z-index:1;
}

.collection-hero--with-image .collection-hero__inner > *{
  position:relative;
  z-index:2;
}

.collection-hero--with-image .collection-hero__text-wrapper{
  padding:0 !important;
  max-width:58ch;
}

.collection-hero--with-image .collection-hero__title{
  line-height:1.05;
  letter-spacing:-0.02em;
  margin:0 0 12px;
}

.collection-hero--with-image .collection-hero__description,
.collection-hero--with-image .collection-hero__description *{
  color:var(--promo-text) !important;
  line-height:1.55;
}

.collection-hero--with-image .collection-hero__image-container{
  margin-bottom:26px;
  border-radius:28px;
  overflow:hidden;
  border:1px solid var(--surface-overlay-3);
  background:var(--panel-dark-overlay-4);
  box-shadow:0 18px 40px var(--shadow-strong);
}

.collection-hero--with-image .collection-hero__image-container img{
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center;
}

.collection-hero--with-image .collection-hero__text-wrapper table{
  width:100% !important;
  margin:18px 0 0;
  border:0 !important;
  border-collapse:separate;
  border-spacing:0;
  border-radius:18px;
  overflow:hidden;
  background:var(--panel-dark) !important;
}

.collection-hero--with-image .collection-hero__text-wrapper th,
.collection-hero--with-image .collection-hero__text-wrapper td{
  border:0 !important;
  padding:16px 14px;
  text-align:center !important;
  vertical-align:middle;
  color:var(--text-on-dark-soft-2);
  font-size:14px;
  background:var(--panel-dark) !important;
}

.collection-hero--with-image .collection-hero__text-wrapper thead th{
  background:rgba(var(--brand-primary-rgb), .32) !important;
  color:var(--text-on-dark) !important;
  font-weight:800;
}

.collection-hero--with-image .collection-hero__text-wrapper tbody tr + tr td{
  border-top:1px solid var(--promo-line) !important;
}

.collection-hero--with-image .collection-hero__text-wrapper tr > * + *{
  border-left:1px solid var(--promo-line) !important;
}

.collection-hero--with-image .collection-hero__text-wrapper tbody td:last-child{
  font-weight:800;
}

.collection-hero--with-image .collection-hero__text-wrapper tbody tr:nth-child(even) td{
  background:rgba(255,255,255,.02) !important;
}

.collection-hero{
  position:relative;
  overflow:hidden;
  padding-bottom:20px !important;
  background:
    radial-gradient(circle at 18% 8%, var(--brand-primary-glow-3), transparent 55%),
    radial-gradient(circle at 85% 75%, var(--accent-teal-2), transparent 65%),
    linear-gradient(160deg, var(--panel-dark) 0%, var(--panel-dark-2) 45%, var(--panel-dark-3) 100%) !important;
}

.collection-hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 50%, var(--surface-overlay), transparent 70%);
  pointer-events:none;
}

.collection-hero > *{
  position:relative;
  z-index:1;
}

@media (max-width:749px){
  .collection-hero--with-image .collection-hero__inner{
    margin-top:28px;
    padding:28px;
    border:0 !important;
    border-radius:28px;
    gap:18px;
    background:var(--promo-bg);
    background-image:var(--hero-bg);
    background-size:cover;
    background-position:center;
  }

  .collection-hero--with-image .collection-hero__inner::before{
    content:"";
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 25% 15%, rgba(var(--brand-primary-rgb), .22), transparent 60%),
      linear-gradient(180deg, var(--panel-dark-overlay-1), var(--panel-dark-overlay-3));
    pointer-events:none;
    z-index:1;
  }

  .collection-hero--with-image .collection-hero__inner::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    border:1px solid var(--line-on-dark-2);
    pointer-events:none;
    z-index:2;
  }

  .collection-hero--with-image .collection-hero__inner > *{z-index:3;}
  .collection-hero--with-image .collection-hero__image-container{display:none !important;}

  .collection-hero--with-image .collection-hero__title{
    text-shadow:0 3px 8px rgba(0,0,0,.55);
  }

  .collection-hero--with-image .collection-hero__description,
  .collection-hero--with-image .collection-hero__description *{
    text-shadow:0 2px 6px rgba(0,0,0,.45);
  }
}

/* =========================
   Help button
   ========================= */
.floating-help{
  position:fixed;
  right:18px;
  bottom:20px;
  z-index:50;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 20px 14px;
  border-radius:999px;
  background:var(--brand-primary);
  color:var(--text-on-dark);
  text-decoration:none;
  font-weight:700;
  line-height:1;
  -webkit-tap-highlight-color:transparent;
}

.floating-help:focus-visible{
  outline:3px solid var(--focus-light);
  outline-offset:3px;
}

.floating-help__icon{
  width:22px;
  height:22px;
  min-width:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--surface-overlay-5);
}

.floating-help__text{
  font-size:1.8rem;
}

/*@supports (padding:max(0px)){
  .floating-help{
    right:max(10px, env(safe-area-inset-right));
    bottom:max(7px, env(safe-area-inset-bottom));
  }
}*/

@media (max-width:749px){
  .floating-help{
    right:10px;
    bottom:7px;
    padding:12px;
    gap:0;
    border-radius:999px;
  }

  .floating-help__text{
    display:none;
  }

  .floating-help__icon{
    background:transparent;
    width:24px;
    height:24px;
    min-width:24px;
  }
}

/* =========================
   Legacy promo grid reconstruction
   ========================= */
#promo_terms{
  color:var(--text-on-dark) !important;
}

#subs_promo{
  filter:none !important;
  line-height:24pt !important;
  font-weight:700 !important;
}

#subs_promo ~ .grid__item.medium-up--one-half{
  width:100%;
  float:none;
  clear:none;
  box-sizing:border-box;
}

@media (min-width:750px){
  #subs_promo ~ .grid__item.medium-up--one-half{
    width:50%;
    float:left;
    padding-right:12px;
  }

  #subs_promo ~ .grid__item.medium-up--one-half + .grid__item.medium-up--one-half{
    padding-right:0;
    padding-left:12px;
  }

  #subs_promo ~ .grid__item.medium-up--one-half + .grid__item.medium-up--one-half + *{
    clear:both;
  }
}

@media (max-width:749px){
  #subs_promo ~ .grid__item.medium-up--one-half{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    clear:both !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

.cdmedia{
  background-color:var(--surface) !important;
  padding:30px !important;
  border-radius:40px;
  margin-top:40px;
}

/* =========================
   Product card ratings
   ========================= */
.card-information .rating{
  --color-foreground:var(--brand-primary-rgb);
}

.card-information .rating-count{
  color:var(--brand-primary) !important;
}

.rating-star{
  letter-spacing:0 !important;
}

/* =========================
   Full-bleed section tweaks
   ========================= */
.section-template--27680834879871__featured_collection_wzXE6c-padding,
.section-template--27680834879871__custom_liquid_388TJR-padding{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  border-bottom: solid .1rem rgba(var(--color-foreground),.08) !important;
  padding-bottom:40px !important;
}


.section-sections--27680835338623__footer-padding,
.section-template--27680834847103__custom_liquid_Jryj6d-padding{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  border-top: solid .1rem rgba(var(--color-foreground),.08) !important;
  padding-bottom:40px !important;
}



/* ==========================================================================
   Recharge (rc-) — final, tokenised
   ========================================================================== */
.rc-option{
  font-size:12pt !important;
  font-weight:700;
}

.rc-selling-plans__dropdown{
  color:var(--brand-primary);
  background:var(--surface);
  border:1px solid var(--surface-border-3);
  margin-top:10px;
  font-size:12pt;
}

.rc_popup{text-align:right;}
.reload-icon{color:var(--text-muted) !important;}
.rc_popup__block{font-size:11pt !important;}
.rc-option__price{
  margin-left:5px !important;
  color:var(--brand-primary);
}

.rc-container-wrapper .rc-template{
  --rc-teal:var(--brand-primary);
  --rc-ink:var(--brand-ink);
  --rc-border:var(--surface-border-2);
  --rc-gold-border:var(--gold-7);
  --rc-gold-border-active:var(--gold-8);
  --rc-gold-dot:var(--gold-7);
  --rc-gold-bg-1:var(--gold-9);
  --rc-gold-bg-2:var(--gold-10);
  --rc-gold-bg-3:var(--gold-11);
  --rc-gold-highlight:var(--gold-highlight);
  --rc-gold-inset:3px;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option{
  background:var(--surface);
  border:2px solid var(--rc-border);
  border-radius:40px;
  padding:12px;
  margin:0 0 14px;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option--active{
  border:4px solid var(--rc-teal);
}

.rc-container-wrapper .rc-template .rc-radio__input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.rc-container-wrapper .rc-template .rc-radio__label{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
  cursor:pointer;
  color:var(--rc-ink);
  font-weight:700;
  padding-right:90px;
}

.rc-container-wrapper .rc-template .rc-radio__label::before{
  content:"";
  width:22px;
  height:22px;
  flex:0 0 22px;
  margin-right:16px;
  border-radius:50%;
  border:3px solid var(--rc-teal);
  background:var(--surface);
}

.rc-container-wrapper .rc-template .rc-radio__label::after{
  content:"";
  position:absolute;
  left:6px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--rc-teal);
  transform:scale(0);
  transition:transform .15s ease;
}

.rc-container-wrapper .rc-template .rc-radio__input:checked + .rc-radio__label::after{
  transform:scale(1);
}

.rc-container-wrapper .rc-template .rc-option__text,
.rc-container-wrapper .rc-template .rc-option__discount{
  white-space:nowrap;
}

.rc-container-wrapper .rc-template .rc-option__discount{
  margin:0 !important;
  padding-left:0;
  color:var(--rc-ink);
  font-weight:700;
}

.rc-container-wrapper .rc-template .rc-option__price{
  position:absolute;
  top:50%;
  right:22px;
  transform:translateY(-50%);
  margin:0;
  color:var(--rc-teal);
  font-weight:800;
  white-space:nowrap;
}

.rc-container-wrapper .rc-template .rc-selling-plans{
  position:relative;
}

.rc-container-wrapper .rc-template .rc-selling-plans select{
  margin-left:16px;
  width:calc(100% - 26px);
  min-height:56px;
  padding:16px 56px 16px 22px;
  border:0;
  border-radius:40px;
  background:var(--brand-primary);
  color:var(--text-on-dark);
  font-size:16px;
  line-height:1.4;
  font-weight:700;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  outline:none;
  box-shadow:none !important;
}

.rc-container-wrapper .rc-template .rc-selling-plans::after{
  content:"";
  position:absolute;
  top:calc(50% + 5px) !important;
  right:30px;
  width:18px;
  height:18px;
  transform:translateY(-50%) !important;
  pointer-events:none;
  background:var(--surface);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolyline points='6 9 12 15 18 9' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}

.rc-container-wrapper .rc-template .rc-selling-plans,
.rc-container-wrapper .rc-template .rc-selling-plans *{
  box-shadow:none !important;
  outline:none !important;
}

.rc-container-wrapper .rc_popup{
  display:none !important;
}

.rc-container{
  position:relative;
}

.rc-container::after{
  content:"Our subscriptions give you a discount with regular deliveries. You’ll be charged at the frequency you choose, with no commitment. Pause, skip or cancel anytime.";
  display:block;
  margin-top:12px;
  margin-bottom:20px;
  padding:0 12px;
  max-height:0;
  overflow:hidden;
  opacity:0;
  text-align:left;
  font-weight:500;
  background:var(--gold-21);
  border-radius:12px;
  transition:
    opacity .25s ease,
    max-height .25s ease,
    padding .25s ease;
}

@keyframes rcBgPulse{
  from{background:var(--surface);}
  to{background:var(--gold-21);}
}

.rc-container:has(.rc-option__subsave.rc-widget__option--active)::after,
.rc-container:has(.rc-option__subsave.rc-option-active)::after,
.rc-container:has(.rc-option__subsave input:checked)::after{
  opacity:1;
  max-height:200px;
  padding:10px 12px;
  font-weight:800;
  color:var(--success-text);
  animation:rcBgPulse .8s ease-in-out 7 alternate;
}

body[class*="coffee-of-the-month"] .rc-template__legacy-radio:has(.rc-option__subsave):not(:has(.rc-option__onetime)) .rc-radio.rc-option__subsave,
.rc-template__legacy-radio:has(.rc-option__subsave):not(:has(.rc-option__onetime)) :is(.rc-radio.rc-option__subsave, .rc-option__subsave){
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
  width:auto !important;
  max-width:300px !important;
  margin-left:-16px !important;
}

.rc-template__legacy-radio:has(.rc-option__subsave):not(:has(.rc-option__onetime)) .rc-option__subsave > *,
.rc-template__legacy-radio:has(.rc-option__subsave):not(:has(.rc-option__onetime)) .rc-option__subsave label{
  width:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.rc-selling-plans:has(select[style*="display: none"]) .rc-selling-plans__label{
  display:inline-block !important;
  margin-left:16px !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave{
  position:relative;
  overflow:visible !important;
  border:3px solid var(--rc-gold-border) !important;
  box-shadow:none !important;
  outline:none !important;
  background:
    radial-gradient(120% 160% at 20% 10%, var(--rc-gold-highlight) 0%, rgba(255,255,255,0) 46%),
    radial-gradient(160% 200% at 90% 120%, var(--gold-shadow-soft) 0%, rgba(170,120,20,0) 60%),
    linear-gradient(180deg, var(--rc-gold-bg-1) 0%, var(--rc-gold-bg-2) 56%, var(--rc-gold-bg-3) 100%) !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-radio__label{
  background:transparent !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave,
.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-radio__label,
.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-option__text,
.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-option__price,
.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-option__discount{
  color:var(--rc-ink) !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-radio__label::before{
  border-color:var(--rc-gold-border) !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-radio__label::after{
  background:var(--rc-ink) !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave.rc-widget__option--active .rc-radio__label::after,
.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave.rc-option--active .rc-radio__label::after{
  background:var(--rc-gold-dot) !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave::before{
  content:"";
  position:absolute;
  inset:var(--rc-gold-inset);
  border-radius:inherit;
  pointer-events:none;
  z-index:0;
  opacity:.14 !important;
  mix-blend-mode:soft-light;
  background:
    repeating-linear-gradient(
      135deg,
      var(--surface-overlay-2) 0px,
      var(--surface-overlay-2) 1px,
      rgba(255,255,255,0) 4px,
      rgba(255,255,255,0) 10px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(var(--brand-ink-rgb), .02) 0px,
      rgba(var(--brand-ink-rgb), .02) 1px,
      rgba(var(--brand-ink-rgb), 0) 5px,
      rgba(var(--brand-ink-rgb), 0) 14px
    );
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave > *{
  position:relative;
  z-index:1;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave.rc-widget__option--active,
.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave.rc-option--active{
  border-color:var(--rc-gold-border-active) !important;
  background:
    radial-gradient(120% 160% at 20% 10%, var(--gold-highlight-soft) 0%, rgba(255,255,255,0) 48%),
    radial-gradient(160% 200% at 90% 120%, var(--gold-shadow-soft-2) 0%, rgba(150,100,15,0) 60%),
    linear-gradient(180deg, var(--gold-14) 0%, var(--gold-15) 55%, var(--gold-16) 100%) !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave::after{
  content:"Most Popular";
  position:absolute;
  top:-14px;
  right:0;
  z-index:9999 !important;
  pointer-events:none;
  padding:6px 10px;
  border:3px solid var(--rc-gold-border);
  border-radius:999px;
  background:linear-gradient(180deg, var(--gold-12) 0%, var(--gold-13) 100%) !important;
  color:var(--rc-ink);
  font-size:11px;
  font-weight:800;
  letter-spacing:.2px;
  line-height:1;
  box-shadow:none;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-selling-plans__dropdown,
.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-selling-plans select{
  background-color:var(--gold-20) !important;
  color:var(--rc-ink) !important;
  border:2px solid var(--rc-gold-border) !important;
  border-radius:999px !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
  -moz-appearance:none !important;
  padding-right:52px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23b9850e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 18px center !important;
  background-size:18px 18px !important;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-selling-plans__dropdown::-ms-expand{
  display:none;
}

.rc-container-wrapper .rc-template .rc-radio.rc-option__onetime + .rc-radio.rc-option__subsave .rc-selling-plans__dropdown *{
  color:var(--rc-ink) !important;
}

.rc-container-wrapper .rc-template .rc-container::after{
  animation:none !important;
  transition:none !important;
  background:
    radial-gradient(140% 180% at 18% 10%, var(--gold-highlight-soft) 0%, rgba(255,255,255,0) 45%),
    linear-gradient(180deg, var(--gold-17) 0%, var(--gold-18) 60%, var(--gold-19) 100%) !important;
  color:var(--brand-ink) !important;
  border:2px solid var(--gold-6) !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

/* Recharge subscription login email input */
input#customer_email {
  font-size: 18px !important;
  margin-bottom: 20px;
}

.rc_title-bar__title > h2 {
  margin-top: 40px;
  font-size: 40px;
}

/* =========================
   Click-to-copy coupon
   ========================= */
.coupon{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border:1.5px dashed var(--coupon-border);
  border-radius:8px;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  color:var(--coupon-ink);
  font-weight:700;
  letter-spacing:.05em;
  line-height:1.2;
  white-space:nowrap;
}

.coupon:hover{background:var(--coupon-hover);}
.coupon:active{transform:translateY(1px);}

.coupon:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px var(--coupon-focus);
}

.coupon::before{
  content:"";
  width:24px;
  height:24px;
  display:inline-block;
  background:var(--brand-primary);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Crect x='4' y='4' width='11' height='11' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Crect x='4' y='4' width='11' height='11' rx='2'/%3E%3C/svg%3E") center/contain no-repeat;
}

.coupon::after{
  content:"Click to copy";
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translateX(-50%) translateY(6px);
  padding:6px 8px;
  border-radius:999px;
  background:var(--coupon-tooltip-bg);
  color:var(--coupon-tooltip-text);
  font-size:11px;
  font-weight:700;
  letter-spacing:.01em;
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  transition:opacity .18s ease, transform .18s ease;
}

.coupon:hover::after,
.coupon:focus-visible::after{
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

.coupon.is-copied::after{
  content:"Copied!";
  opacity:1;
  transform:translateX(-50%) translateY(0);
}

/* =========================
   Announcement bar
   ========================= */
.utility-bar{
  position:relative;
  overflow:hidden;
}

.utility-bar::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    120deg,
    transparent 0%,
    var(--surface-overlay-6) 45%,
    transparent 70%
  );
  transform:translateX(-120%);
  animation:utilityShimmer .8s ease-out .25s forwards;
  pointer-events:none;
}

@keyframes utilityShimmer{
  to{
    transform:translateX(120%);
    opacity:0;
  }
}

.announcement-bar__message{
  display:inline-block;
  min-height:3rem !important;
  padding:8px !important;
  font-weight:700 !important;
  font-size:12pt;
  animation:announcementWobble .9s ease-out both;
  will-change:transform;
}

@keyframes announcementWobble{
  0%{transform:scale(.92); opacity:0;}
  60%{transform:scale(1.05); opacity:1;}
  80%{transform:scale(.98);}
  100%{transform:scale(1);}
}

@media (max-width:749px){
  .utility-bar{padding:0 !important;}
  .utility-bar::after{opacity:.6;}
}

@media (prefers-reduced-motion:reduce){
  .utility-bar::after,
  .announcement-bar__message{
    animation:none !important;
  }
}

/* =========================
   Product card badges
   ========================= */
.card__badge{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  top:auto;
  z-index:3;
  width:100%;
  display:flex;
  justify-content:center;
  transform:none;
  pointer-events:none;
}

.card__badge .badge{
  text-align:center;
  border-radius:40px;
  font-weight:700;
  box-shadow:0 0 0 3px var(--surface);
}

.card__inner,
.card__media,
.card__content{
  overflow:visible !important;
}

/* =========================
   Collection: we-recommend
   ========================= */
/*body:has(a[href*="/collections/we-recommend"]) .collection-hero__title,
body:has(a[href*="/collections/we-recommend"]) .collection__title,
body:has(a[href*="/collections/we-recommend"]) h1.title{
  display:none !important;
}*/

/*body:has(a[href*="/collections/we-recommend"]) .collection-hero.color-scheme-3.gradient{
  display:none !important;
}*/

body:has(a[href*="/collections/we-recommend"]) .collection-hero{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

body:has(a[href*="/collections/we-recommend"]) .mobile-facets__open,
body:has(a[href*="/collections/we-recommend"]) .mobile-facets__details{
  display:none !important;
}

body:has(a[href*="/collections/we-recommend"]) [class*="__product-grid-padding"]{
  position:relative;
  isolation:isolate;
  padding-top:8px !important;
}
/*
body:has(a[href*="/collections/we-recommend"]) section[id*="__custom_liquid"]{
  display:none !important;
}*/


@media (max-width:749px){
  body:has(a[href*="/collections/we-recommend"]) .facets-container,
  body:has(a[href*="/collections/we-recommend"]) .facets,
  body:has(a[href*="/collections/we-recommend"]) .facet-filters,
  body:has(a[href*="/collections/we-recommend"]) .facet-filters__sort{
    display:none !important;
  }

  body:has(a[href*="/collections/we-recommend"]) .collection-hero.color-scheme-3.gradient{
  text-align:center;
}
/*
body:has(a[href*="/collections/we-recommend"]) .section-template--27680834847103__product-grid-padding::before{
  content:"Our Recommendations";
  display:block;
  position:relative;
  z-index:2;
  margin:0 0 18px;
  padding:22px 16px;
  background:transparent;
  box-shadow:none;
  text-align:center;
  font-weight:800;
  font-size:clamp(2.5rem, 4vw, 40px);
  line-height:1.1;
  color:var(--text-on-dark);
}*/

.active-facets__button-label{
  display:none !important;
}


/* Make colour scheme 3 transparent on pages / blogs / articles */
main#MainContent.content-for-layout:has(.main-page) .color-scheme-3,
main#MainContent.content-for-layout:has(.main-blog) .color-scheme-3,
main#MainContent.content-for-layout:has(.article-template) .color-scheme-3{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  --gradient-background:transparent !important;
}


/* =========================
   Mobile tweaks
   ========================= */
@media (max-width:749px){
  .slideshow__media,
  .slideshow__media img{
    height:200px !important;
    object-fit:cover;
  }

  .slideshow__text-wrapper{padding:0 !important;}

  .banner__box{
    opacity:1;
    padding:20px !important;
  }

  .banner__heading{
    font-size:clamp(26px, 8vw, 40px) !important;
    line-height:1.1 !important;
    margin:0 0 6px;
  }

  .banner__text{
    font-size:clamp(14px, 4.8vw, 16px) !important;
    line-height:1.3 !important;
    margin:0 0 10px;
  }

  .banner__buttons{margin-top:4px !important;}

  .button{
    min-height:34px !important;
    padding:8px 14px !important;
  }

  .slideshow__text.banner__box.content-container{
    border-radius:0 !important;
  }

  .product .product-form__buttons .button,
  .cart__checkout-button{
    padding:14px 18px !important;
  }

  .section-template--27680835043711__main-padding{
    padding-top:0 !important;
  }

  .footer-block__details-content{
    grid-template-columns:1fr;
  }

  h2.footer-block__heading{
    text-align:center !important;
  }

  .card-wrapper .card__content :is(.card__heading, .card__heading a, .full-unstyled-link){
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:0 !important;
    text-indent:0 !important;
    transform:none !important;
    text-align:center !important;
  }

  .card-wrapper :is(.card__content, .card__information){
    padding-left:0 !important;
    padding-right:0 !important;
  }

  div.gradient{
    padding:10px;
    padding-top:20px;
  }

  .related-products .card__information{
    padding:18px 14px 20px !important;
    box-sizing:border-box;
  }

  .related-products .card__heading,
  .related-products .card__heading a{
    font-size:1.15em !important;
    line-height:1.15 !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    hyphens:auto;
    -webkit-hyphens:auto;
    text-align:center;
  }

  .related-products .card__heading a{
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:5;
    overflow:hidden;
  }

  #MainContent .product-grid .card-wrapper h3.card__heading.h5{
    font-size:1.2em !important;
    line-height:1.15 !important;
    margin:0 !important;
  }

  .active-facets__button--light{
    padding:4px !important;
  }

  .active-facets{
    padding-bottom:10px !important;
  }
}