/** Shopify CDN: Minification failed

Line 2500:0 Unexpected "}"
Line 3074:18 Unexpected "{"
Line 3074:27 Expected ":"
Line 3074:34 Unexpected "{"

**/
/**
 * Slightly more whitespace between sections
 * ------------------------------------------------------------------------- */
:root {
  --section-padding: calc(var(--space-10) * 1.15);
}

/**
 * Sticky Header - Hide/Reveal on Scroll
 * Z-index hierarchy:
 * - Cart drawer: 2000
 * - Cart overlay: 1500
 * - Ticker banner: 1001
 * - Header: 1000
 * ------------------------------------------------------------------------- */
.ticker-banner {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 1001 !important;
  transition: transform 0.3s ease-in-out !important;
  transform: translateY(0);
  will-change: transform;
}

.header-section {
  position: fixed !important;
  top: var(--ticker-height, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  z-index: 1000 !important;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out !important;
  background-color: var(--background, #ffffff) !important;
  transform: translateY(0);
  will-change: transform;
}

.header-section .main-bar {
  position: relative !important;
  top: auto !important;
}

.ticker-banner.header-hidden {
  transform: translateY(-100%) !important;
}

.ticker-banner.header-visible {
  transform: translateY(0) !important;
}

.header-section.header-hidden {
  transform: translateY(calc(-100% - var(--ticker-height, 0px))) !important;
  box-shadow: none !important;
}

.header-section.header-visible {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
}

/* Mobile: header bar height and logo size */
@media (max-width: 1023px) {
  .header-section .mobile-nav__mobile-header {
    height: 75px !important;
    min-height: 75px !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
    display: flex !important;
    align-items: center !important;
  }
  .header-section .mobile-nav__mobile-header.sticky--active,
  .mobile-nav__mobile-header.sticky--active {
    box-shadow: none !important;
  }
  .header-section .mobile-nav__mobile-header #mobile-menu,
  .header-section .mobile-nav__mobile-header .wrapper {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    margin-bottom: 0 !important;
    width: 100%;
    display: flex !important;
    align-items: center !important;
  }
  .header-section .mobile-nav__mobile-header ul,
  .header-section .mobile-nav__mobile-header .mobile-nav__logo-wrapper {
    align-self: center;
  }
  .header-section .mobile-nav__logo-wrapper img,
  .header-section .mobile-nav__img-logo img {
    max-height: 37px !important;
    width: auto !important;
  }
}

/* Body padding is set dynamically via JavaScript based on actual header + ticker heights */

/**
 * Fix background coverage for scrollbar area
 * ------------------------------------------------------------------------- */
/* Fixed background layer that covers everything including scrollbar area */
html::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--background, #ffffff);
  z-index: -9999;
  pointer-events: none;
}

/* Override base stylesheet to allow default browser scrollbar behavior */
html {
  height: auto !important;
  background-color: var(--background, #ffffff);
}

body {
  height: auto !important;
  background-color: var(--background, #ffffff);
}

/* Modern thin scrollbar styling for Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
}

/* Note: Webkit scrollbar styling removed to allow native overlay scrollbars on macOS/Chrome */

/* Fix site overlay width to prevent scrollbar */
.site-overlay {
  width: 100% !important;
  height: 100% !important;
}

/**
 * Buttons - Neobrutalist styling
 * ------------------------------------------------------------------------- */

/* Base button neobrutalist style - exclude menu and header buttons */
.button:not(header .button):not(.main-bar .button):not(header ul.nav a):not(.main-bar ul.nav a):not(.cart-link .button):not(.header-cart-links .button):not(.js-slideout-open):not(.ajax-cart__drawer-wrapper button):not(.slideout__trigger-ajax-cart):not(.slideout__trigger--close button):not(.template-product .button):not(.product-form .button):not(.hero-slideshow__cta),
.shopify-challenge__button,
.shopify-payment-button__button--unbranded,
button:not(header button):not(.main-bar button):not(header ul.nav a):not(.main-bar ul.nav a):not(.cart-link button):not(.header-cart-links button):not(.js-slideout-open):not(.btn-as-link):not(.ajax-cart__drawer-wrapper button):not(.slideout__trigger-ajax-cart):not(.slideout__trigger--close button):not(.template-product button):not(.product-form button):not(.c-accordion__trigger),
[type='button']:not(header [type='button']):not(.main-bar [type='button']):not(.ajax-cart__drawer-wrapper [type='button']):not(.slideout__trigger-ajax-cart):not(.slideout__trigger--close [type='button']):not(.template-product [type='button']):not(.product-form [type='button']),
[type='submit']:not(header [type='submit']):not(.main-bar [type='submit']):not(.ajax-cart__drawer-wrapper [type='submit']):not(.template-product [type='submit']):not(.product-form [type='submit']) {
  background: #ffffff !important;
  color: #000000 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 0 !important;
  border: none !important;
  padding: var(--space-3) var(--space-4) !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  box-shadow: none !important;
  transform: none !important;
  min-height: auto !important;
  height: auto !important;
  line-height: 1.5 !important;
}

/* Shop Pay button */
gravity-button.accelerated-checkout-button {
  border-radius: 0 !important;
  overflow: visible;
}

.button:not(header .button):not(.main-bar .button):not(header ul.nav a):not(.main-bar ul.nav a):not(.cart-link .button):not(.header-cart-links .button):not(.js-slideout-open):not(.ajax-cart__drawer-wrapper button):not(.slideout__trigger-ajax-cart):not(.slideout__trigger--close button):not(.template-product .button):not(.product-form .button):not(.hero-slideshow__cta):hover,
.shopify-challenge__button:hover,
.shopify-payment-button__button--unbranded:hover,
button:not(header button):not(.main-bar button):not(header ul.nav a):not(.main-bar ul.nav a):not(.cart-link button):not(.header-cart-links button):not(.js-slideout-open):not(.btn-as-link):not(.ajax-cart__drawer-wrapper button):not(.slideout__trigger-ajax-cart):not(.slideout__trigger--close button):not(.template-product button):not(.product-form button):not(.c-accordion__trigger):hover,
[type='button']:not(header [type='button']):not(.main-bar [type='button']):not(.ajax-cart__drawer-wrapper [type='button']):not(.slideout__trigger-ajax-cart):not(.slideout__trigger--close [type='button']):not(.template-product [type='button']):not(.product-form [type='button']):hover,
[type='submit']:not(header [type='submit']):not(.main-bar [type='submit']):not(.ajax-cart__drawer-wrapper [type='submit']):not(.template-product [type='submit']):not(.product-form [type='submit']):hover {
  background: #000000 !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

.button:not(header .button):not(.main-bar .button):not(header ul.nav a):not(.main-bar ul.nav a):not(.cart-link .button):not(.header-cart-links .button):not(.js-slideout-open):active,
.shopify-challenge__button:active,
.shopify-payment-button__button--unbranded:active,
button:not(header button):not(.main-bar button):not(header ul.nav a):not(.main-bar ul.nav a):not(.cart-link button):not(.header-cart-links button):not(.js-slideout-open):not(.btn-as-link):active,
[type='button']:not(header [type='button']):not(.main-bar [type='button']):active,
[type='submit']:not(header [type='submit']):not(.main-bar [type='submit']):active {
  background: #000000 !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Outline button - neobrutalist style */
[type='button'].btn-outline,
[type='submit'].btn-outline,
a.button.btn-outline,
button.btn-outline,
.button.btn-outlined:not(.hero-slideshow__cta),
.shopify-challenge__button.btn-outlined,
.shopify-payment-button__button--unbranded.btn-outlined,
button.btn-outlined {
  border: 4px solid #000000 !important;
  background: transparent !important;
  color: #000000 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 0 !important;
}

[type='button'].btn-outline:hover,
[type='submit'].btn-outline:hover,
a.button.btn-outline:hover,
button.btn-outline:hover,
.button.btn-outlined:hover,
.shopify-challenge__button.btn-outlined:hover,
.shopify-payment-button__button--unbranded.btn-outlined:hover,
button.btn-outlined:hover {
  background: #000000 !important;
  color: #ffffff !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Hero slideshow CTA - beige (override global button styles) */
.hero-slideshow .hero-slideshow__cta.button,
.hero-slideshow .hero-slideshow__cta.button.btn-outline {
  background: #ece2cc !important;
  color: #262b2c !important;
  border-color: #262b2c !important;
}
.hero-slideshow .hero-slideshow__cta.button:hover,
.hero-slideshow .hero-slideshow__cta.button.btn-outline:hover {
  background: #262b2c !important;
  color: #faf4e8 !important;
  border-color: #262b2c !important;
}

/* Secondary button - neobrutalist style */
[type='button'].btn-secondary,
[type='submit'].btn-secondary,
a.button.btn-secondary,
button.btn-secondary,
.shopify-challenge__button {
  border: 4px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 0 !important;
}

/* Product page buttons - black background - target only product form add to cart buttons */
.product_form button[type="submit"],
.product_form .ajax-submit,
.product_form .js-ajax-submit,
.product_form .add,
.product_form .add-item {
  border: 4px solid #000000 !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 0 !important;
  padding: var(--space-3) var(--space-4) !important;
  min-height: auto !important;
  height: auto !important;
  line-height: 1.5 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  transform: none !important;
}

.product_form button[type="submit"]:hover,
.product_form .ajax-submit:hover,
.product_form .js-ajax-submit:hover,
.product_form .add:hover,
.product_form .add-item:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

/* Remove any ::after pseudo elements that might conflict */
.button::after,
button::after,
[type='button']::after,
[type='submit']::after {
  display: none !important;
}

/* Exclude cart icon and header links from button effects */
.cart-link button,
.cart-link .button,
header button.btn-as-link,
.header-cart-links button,
.js-slideout-open,
.slideout__trigger-ajax-cart,
.js-mini-cart-trigger,
.cart-link .slideout__trigger--open button {
  transform: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border: none !important; /* Remove border from cart button */
  background: transparent !important; /* Transparent background */
  padding: 0 !important;
}

.cart-link button:hover,
.cart-link .button:hover,
header button.btn-as-link:hover,
.header-cart-links button:hover,
.js-slideout-open:hover,
.slideout__trigger-ajax-cart:hover,
.js-mini-cart-trigger:hover,
.cart-link .slideout__trigger--open button:hover {
  transform: none !important;
  box-shadow: none !important;
  border: none !important; /* Remove border on hover */
  background: transparent !important; /* Keep transparent on hover */
}

/* Main hamburger icon - remain black on hover */
.slideout__trigger--open .slideout__trigger-mobile-menu:hover #icon--menu-bars g,
.slideout__trigger--open .slideout__trigger-mobile-menu:hover #icon--menu-bars.stroke g {
  stroke: #000000 !important;
}

/**
 * Typography - Figtree Font
 * ------------------------------------------------------------------------- */

/* Override stratos font with Figtree for headings */
/* Override dico-typewriter with Figtree for main/body text */
:root {
  --heading-family: 'Figtree', sans-serif !important;
  --main-family: 'Figtree', sans-serif !important;
  --heading-weight: 600 !important;
  --font-size: 18px !important; /* Increased from 16px to 18px for larger body text */
}

/* Hide empty paragraphs - catches <p></p> */
p:empty {
  display: none !important;
}

/* Hide paragraphs with only br tag */
p:has(> br:only-child) {
  display: none !important;
}

/**
 * Header
 * ------------------------------------------------------------------------- */

#shopify-section-announcement-bar p,
#shopify-section-announcement-bar a {
  font-family: var(--nav-family);
}

/**
 * Cart Drawer Width
 * ------------------------------------------------------------------------- */

/* Make cart drawer slightly wider */
.slideout.slideout__drawer-right {
  width: 450px !important;
  z-index: 2000 !important; /* Above header (1000-1001) */
  height: 100vh !important;
  max-height: 100vh !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border-left: 4px solid #000000 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

/* Only override the closed state, not the open state */
.slideout__drawer-right:not(.slideout--active) {
  transform: translateX(450px) !important;
}

/* Ensure open state works correctly */
.slideout-right--open .slideout--active.slideout__drawer-right {
  transform: translateX(0) !important;
}

/* Remove any gaps from slideout content */
.slideout.slideout__drawer-right.mini-cart {
  padding: 0 !important;
  margin: 0 !important;
  height: 100vh !important;
  max-height: 100vh !important;
}

/* Cart drawer overlay - between header and drawer */
.js-slideout-overlay.site-overlay {
  z-index: 1500 !important; /* Between header (1000-1001) and drawer (2000) */
}

/* Cart drawer open - ensure body doesn't scroll */
.slideout-right--open {
  overflow: hidden !important;
  position: relative !important;
}

/* Maintain header z-index above overlay */
.slideout-right--open .ticker-banner {
  z-index: 1001 !important;
}

.slideout-right--open .header-section {
  z-index: 1000 !important;
}

/* Ticker banner - much faster scrolling and full width */
.ticker-banner {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.ticker-banner__wrapper {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.ticker-banner__content {
  /* Slower speed - adjust based on text length, use original speed or slightly slower */
  animation: ticker-scroll calc(var(--ticker-speed) * 1.2) linear infinite !important;
  width: fit-content !important;
}

/* Mobile speed override */
@media (max-width: 767px) {
  .ticker-banner__content {
    animation: ticker-scroll calc(var(--ticker-speed-mobile, var(--ticker-speed)) * 1.2) linear infinite !important;
  }
}

.ticker-banner__text {
  padding: 0 25px !important; /* Restore previous spacing */
}

/* Ensure first item starts off-screen for seamless loop */
.ticker-banner__content .ticker-banner__text:first-child {
  margin-left: 0 !important;
}

@media (max-width: 767px) {
  .ticker-banner__text {
    padding: 0 15px !important; /* Restore previous spacing */
  }
}

@media (max-width: 740px) {
  .slideout.slideout__drawer-right {
    width: 375px !important;
  }

  .slideout__drawer-right:not(.slideout--active) {
    transform: translateX(375px) !important;
  }

  .slideout-right--open .slideout--active.slideout__drawer-right {
    transform: translateX(0) !important;
  }
}

/**
 * Cart Drawer - Clean Flexbox Layout
 * ------------------------------------------------------------------------- */

/* Main container - full screen height, flex column */
.mini-cart__container.ajax-cart__drawer-wrapper {
  display: flex;
  flex-direction: column;
  height: 100vh;
  max-height: 100vh;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

/* Override py5 padding */
.mini-cart__container.ajax-cart__drawer-wrapper.py5 {
  padding: 0;
  height: 100vh;
  max-height: 100vh;
}

/* HEADER - Top aligned, fixed, full width */
.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__header-wrapper {
  flex-shrink: 0;
  flex-grow: 0;
  padding: var(--space-4) var(--space-4) var(--space-3);
  width: 100%;
  border-bottom: 2px solid #000000;
  background: #ffffff;
}

/* Cart header content - flex layout, full width, vertically centered */
.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__header-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__header-title {
  font-size: calc(var(--h5-size) - 2px);
  font-weight: 700;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
  text-transform: uppercase;
  color: #000000;
  letter-spacing: 1px;
}

.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__header-count {
  font-weight: 400;
  font-size: inherit;
}

.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger--close {
  margin-left: auto;
}

/* Cart drawer header close button - no border, black/grey */
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger--close button,
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart,
.ajax-cart__drawer-wrapper .slideout__trigger--close button,
.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart,
.ajax-cart__drawer-wrapper button.slideout__trigger-ajax-cart,
.ajax-cart__drawer-wrapper .slideout__trigger--close button.slideout__trigger-ajax-cart {
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger--close button svg,
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart svg,
.ajax-cart__drawer-wrapper .slideout__trigger--close button svg,
.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart svg {
  color: #000000 !important;
}

.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger--close button svg path,
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart svg path,
.ajax-cart__drawer-wrapper .slideout__trigger--close button svg path,
.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart svg path {
  stroke: #000000 !important;
  fill: none !important;
}

/* Cart drawer close button hover - only icon changes, not background */
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger--close button:hover,
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart:hover,
.ajax-cart__drawer-wrapper .slideout__trigger--close button:hover,
.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart:hover,
.ajax-cart__drawer-wrapper button.slideout__trigger-ajax-cart:hover,
.ajax-cart__drawer-wrapper .slideout__trigger--close button.slideout__trigger-ajax-cart:hover {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  border-left: none !important;
  color: #000000 !important;
  box-shadow: none !important;
  transform: none !important;
}

.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger--close button:hover svg,
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart:hover svg,
.ajax-cart__drawer-wrapper .slideout__trigger--close button:hover svg,
.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart:hover svg {
  color: #666666 !important;
}

.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger--close button:hover svg path,
.mini-cart__container.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart:hover svg path,
.ajax-cart__drawer-wrapper .slideout__trigger--close button:hover svg path,
.ajax-cart__drawer-wrapper .slideout__trigger-ajax-cart:hover svg path {
  stroke: #666666 !important;
  fill: none !important;
}

.mini-cart__container.ajax-cart__drawer-wrapper
  .ajax-cart__header-wrapper
  .slideout__trigger-ajax-cart {
  padding: var(--space-1);
  background: transparent;
  border: none;
  min-width: auto;
}

/* CONTENT WRAPPER - Takes remaining space, flex column */
.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__form-wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

/* CART FORM - Flex column, fills wrapper */
.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__cart-form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  height: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

/* BODY/CONTENT - Scrollable area in middle */
.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__cart-items {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-bottom: var(--space-4);
}

/* Info wrapper - no scroll, part of body */
.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__info-wrapper {
  flex-shrink: 0;
  flex-grow: 0;
}

/* FOOTER - Bottom aligned, fixed */
.mini-cart__container.ajax-cart__drawer-wrapper .ajax-cart__summary-wrapper {
  flex-shrink: 0;
  flex-grow: 0;
  border-top: 4px solid #000000;
  padding: var(--space-4);
  margin-top: 0;
  background-color: #ffffff;
}

/* Prevent any scrolling on wrapper */
.mini-cart__container.ajax-cart__drawer-wrapper {
  overflow: hidden;
  height: 100vh;
  max-height: 100vh;
}

.ajax-cart__drawer-wrapper .ajax-cart__info-wrapper {
  flex-shrink: 0;
}

.ajax-cart__drawer-wrapper .ajax-cart__summary-wrapper {
  flex-shrink: 0;
  border-top: 4px solid #000000;
  padding: var(--space-4);
  margin-top: 0;
  background-color: #ffffff;
}

/* Make weight and grind info smaller in cart drawer */
.ajax-cart__drawer-wrapper .ajax-cart__cart-variants {
  font-size: 0.92em;
}

.ajax-cart__drawer-wrapper .ajax-cart__cart-variants p {
  font-size: 0.92em;
  line-height: 1.4;
}

/**
 * Cart Drawer - Improved Layout & Design
 * ------------------------------------------------------------------------- */

/**
 * Cart Item - Clean Flexbox Layout
 * ------------------------------------------------------------------------- */

/* Main cart item container - horizontal flex */
.ajax-cart__drawer-wrapper .ajax-cart__cart-item {
  padding: var(--space-4) var(--space-4);
  border-top: 1px solid #000000;
  border-bottom: none;
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: var(--space-3);
  width: 100%;
  box-sizing: border-box;
  background: #ffffff;
}

.ajax-cart__drawer-wrapper .ajax-cart__cart-item:last-child {
  border-bottom: 1px solid #000000;
}

/* Remove button positioning */
.ajax-cart__drawer-wrapper .ajax-cart__item-remove {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  z-index: 10;
  background: transparent;
  border: none;
  padding: var(--space-1);
  cursor: pointer;
}

/* Image - fixed width, left side */
.ajax-cart__drawer-wrapper .ajax-cart__item-image {
  flex-shrink: 0;
  flex-grow: 0;
  width: 110px;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-image__wrapper {
  width: 110px;
  height: 110px;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 0;
  overflow: hidden;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-image__wrapper a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  margin-bottom: 0 !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-image img {
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
  display: block;
  margin: auto;
}

/* Content area - takes remaining space, vertical flex */
.ajax-cart__drawer-wrapper .ajax-cart__item-content {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  box-sizing: border-box;
  padding-right: 32px; /* Space for remove button */
}

/* Details section - full width */
.ajax-cart__drawer-wrapper .ajax-cart__item-details {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}

/* Actions row - quantity and price side by side */
.ajax-cart__drawer-wrapper .ajax-cart__item-actions {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  gap: var(--space-2);
  box-sizing: border-box;
  flex-wrap: nowrap;
}

/* Quantity controls */
.ajax-cart__drawer-wrapper .ajax-cart__item-qty {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  flex-shrink: 1;
}

/* Line price */
.ajax-cart__drawer-wrapper .ajax-cart__item-line-price {
  flex: 0 0 auto;
  flex-shrink: 0;
  text-align: right;
  font-weight: 400;
  font-size: calc(var(--font-size) - 2px);
  white-space: nowrap;
  margin-left: auto;
  max-width: 50%;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-line-price dd,
.ajax-cart__drawer-wrapper .ajax-cart__item-line-price span,
.ajax-cart__drawer-wrapper .ajax-cart__item-line-price s,
.ajax-cart__drawer-wrapper .ajax-cart__item-line-price dl,
.ajax-cart__drawer-wrapper .ajax-cart__item-line-price div {
  font-size: calc(var(--font-size) - 2px);
  color: var(--text-color);
}

.ajax-cart__drawer-wrapper .ajax-cart__cart-title__wrapper > p,
.ajax-cart__drawer-wrapper .ajax-cart__cart-title__wrapper p.ajax-cart__title,
.ajax-cart__drawer-wrapper .ajax-cart__cart-title__wrapper p.ajax-cart__title.h5,
.ajax-cart__drawer-wrapper .ajax-cart__cart-title__wrapper p.ajax-cart__title.mb0,
.ajax-cart__drawer-wrapper .ajax-cart__cart-title__wrapper p.ajax-cart__title.h5.mb0,
.ajax-cart__drawer-wrapper p.ajax-cart__title,
.ajax-cart__drawer-wrapper p.ajax-cart__title.h5,
.ajax-cart__drawer-wrapper p.ajax-cart__title.mb0 {
  margin-bottom: 0 !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__title {
  margin-bottom: 0;
  font-size: calc(var(--font-size) - 1px);
  line-height: 1.3;
}

.ajax-cart__drawer-wrapper .ajax-cart__title a {
  color: var(--text-color);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
  margin-bottom: 0;
  display: inline-block;
}

.ajax-cart__drawer-wrapper .ajax-cart__title a:hover {
  color: var(--link-hover);
}

.ajax-cart__drawer-wrapper .ajax-cart__cart-variants {
  margin: 0;
  color: var(--text-color, #666);
  line-height: 1.5;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-quantity {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  border: none;
  border-radius: 0;
  overflow: visible;
  background-color: transparent;
  width: auto;
  margin: 0;
}

.ajax-cart__drawer-wrapper .ajax-cart__qty-control--down,
.ajax-cart__drawer-wrapper .ajax-cart__qty-control--up {
  width: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  font-size: calc(var(--font-size) - 2px) !important;
  font-weight: 700;
  border: 2px solid #000000;
  background: #ffffff;
  color: #000000;
  border-radius: 0;
  color: var(--text-color);
  background-color: transparent;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
  display: inline-block !important;
  text-align: center;
  vertical-align: middle;
  padding: 0;
  margin: 0;
}

.ajax-cart__drawer-wrapper .ajax-cart__qty-control--down:hover,
.ajax-cart__drawer-wrapper .ajax-cart__qty-control--up:hover {
  background-color: #000000;
  color: #ffffff;
}

.ajax-cart__drawer-wrapper .ajax-cart__qty-input {
  width: 40px !important;
  height: 32px !important;
  line-height: 32px !important;
  text-align: center;
  border: none !important;
  background: #ffffff;
  color: #000000;
  border-radius: 0;
  font-size: calc(var(--font-size) - 2px);
  font-weight: 500;
  padding: 0;
  display: inline-block !important;
  vertical-align: middle;
}

/* Remove button improvements */
.ajax-cart__drawer-wrapper .ajax-cart__item-remove {
  position: absolute !important;
  top: var(--space-3) !important;
  right: var(--space-4) !important;
  opacity: 1 !important;
  transition: none !important;
  z-index: 10 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px !important;
  height: 12px !important;
  line-height: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-remove:hover {
  opacity: 1 !important;
  box-shadow: none !important;
  transform: none !important;
  background: transparent !important;
  border: none !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-remove:active {
  box-shadow: none !important;
  transform: none !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-remove svg {
  width: 12px !important;
  height: 12px !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-remove svg path,
.ajax-cart__drawer-wrapper .ajax-cart__item-remove svg .icon-fill,
.ajax-cart__drawer-wrapper .ajax-cart__item-remove svg {
  stroke: #000000 !important;
  fill: none !important;
  color: #000000 !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__item-remove:hover svg path,
.ajax-cart__drawer-wrapper .ajax-cart__item-remove:hover svg .icon-fill,
.ajax-cart__drawer-wrapper .ajax-cart__item-remove:hover svg {
  stroke: #666666 !important;
  fill: none !important;
  color: #666666 !important;
}

/* Ensure buttons are at the bottom */
.ajax-cart__drawer-wrapper .ajax-cart__summary-wrapper {
  position: sticky;
  bottom: 0;
  background-color: #ffffff;
  padding: var(--space-4) !important;
  margin-top: auto;
  border-top: 4px solid #000000;
  z-index: 10;
}

.ajax-cart__drawer-wrapper .ajax-cart__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.ajax-cart__drawer-wrapper .or-divider {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Hide "View Cart" button in drawer - we're already viewing the cart */
.ajax-cart__drawer-wrapper .ajax-cart__button-view_cart {
  display: none !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__button-submit {
  width: 100%;
  margin: 0;
  border: 4px solid #000000 !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 0 !important;
  padding: var(--space-3) var(--space-4) !important;
  min-height: auto !important;
  height: auto !important;
  line-height: 1.5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__button-submit .cart-price,
.ajax-cart__drawer-wrapper .ajax-cart__button-submit .cart-original-total,
.ajax-cart__drawer-wrapper .ajax-cart__button-submit .cart-total {
  margin-left: var(--space-1) !important;
}

.ajax-cart__drawer-wrapper .ajax-cart__button-submit:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

/* Responsive improvements */
@media (max-width: 740px) {
  .ajax-cart__drawer-wrapper .ajax-cart__cart-item {
    padding: var(--space-4) 0;
  }

  .ajax-cart__drawer-wrapper .ajax-cart__item-image__wrapper {
    width: 75px;
    height: 75px;
  }

  .ajax-cart__drawer-wrapper .ajax-cart__item-price {
    font-size: var(--font-size);
  }

  .ajax-cart__drawer-wrapper .ajax-cart__item-line-price {
    font-size: var(--font-size);
  }

  .ajax-cart__drawer-wrapper .ajax-cart__title {
    font-size: var(--font-size);
  }
}

/* Cart Count Badge */
.cart-icon-wrapper {
  position: relative;
  display: inline-block;
}

.cart-count-badge {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  background-color: #000000 !important;
  color: #ffffff !important;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 600;
  line-height: 18px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--nav-family);
}

/* Specific class for header cart badge - override all other styles */
.header-cart-badge,
.header-cart-badge *,
.main-bar .header-cart-badge,
.main-bar .header-cart-badge *,
.main-bar ul.cart .header-cart-badge,
.main-bar ul.cart .header-cart-badge *,
.cart-count-badge.header-cart-badge,
.cart-count-badge.header-cart-badge * {
  color: #ffffff !important;
  font-weight: 500 !important;
}

.cart-count-badge.hide {
  display: none;
}

#block-announcement-bar-2 p {
  font-family: var(--nav-family);
  font-weight: 300;
}

header ul.nav a {
  padding-right: var(--space-3);
  padding-left: var(--space-3);
  padding-top: var(--space-2);
  padding-bottom: var(--space-2);
  border: none;
  margin-right: var(--space-1);
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0;
  color: #000000 !important;
  background: #ffffff;
}

header ul.nav a:hover,
header ul.nav li:hover a {
  background: #000000;
  color: #ffffff !important;
  border: none;
}

header ul.nav a.active {
  background: #ffffff;
  color: #000000 !important;
  border: none;
}

header ul.nav a.active .navigation__top-level--hover {
  border-bottom: none !important;
}

@media (min-width: 1200px) {
  header ul.nav a {
    padding-right: var(--space-4);
    padding-left: var(--space-4);
  }
}

@media (min-width: 1300px) {
  header ul.nav a {
    padding-right: var(--space-5);
    padding-left: var(--space-5);
  }
}

#drop-mega-menu ul a {
  margin-bottom: var(--space-1);
}

#drop-mega-menu ul a:hover {
  text-decoration: underline;
  color: var(--text-color) !important;
}

#drop-mega-menu .left > ul > li > a {
  margin-bottom: var(--space-2);
  font-weight: 700;
  text-transform: uppercase;
  color: #000000 !important;
  padding: var(--space-2) var(--space-3);
  border: 2px solid #000000;
  display: inline-block;
  margin-right: var(--space-2);
  background: transparent !important; /* Transparent background */
}

#drop-mega-menu .left > ul > li > a:hover {
  background: transparent !important;
  color: #000000 !important;
  text-decoration: none !important;
  border-bottom: 4px solid #000000 !important; /* Bold bottom border on hover */
}

#drop-mega-menu .right .mega-dropdown__image-title {
  text-transform: uppercase !important;
  font-weight: 500 !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #000000 !important;
  font-family: var(--heading-family) !important;
  letter-spacing: 1px !important;
  margin-top: var(--space-3) !important;
  font-size: calc(var(--font-size) - 1px) !important;
}

/**
 * Weglot
 * ------------------------------------------------------------------------- */

.country-selector a {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0 !important;
  height: 2em !important;
  text-transform: lowercase;
  font: var(--nav-family) !important;
  font-size: var(--nav-size) !important;
  color: var(--header-links) !important;
  border: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.wg-drop.country-selector ul,
.wg-drop.country-selector .wgcurrent {
  border: 0 !important;
}

.wg-drop.country-selector .wgcurrent {
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: var(--nav-size) !important;
}

.wg-drop.country-selector .wgcurrent a,
.weglot_switcher .wgcurrent a {
  margin-right: 4px !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

/* Remove any default Weglot icons - target all possible selectors */
.weglot_switcher .wgcurrent:before,
.weglot_switcher .wgcurrent:after,
.wg-drop.country-selector .wgcurrent:before,
.wg-drop.country-selector .wgcurrent:after,
.wg-drop .wgcurrent:before,
.wg-drop .wgcurrent:after {
  background-image: none !important;
  border: none !important;
  background: none !important;
}

/* Apply new icon to :after pseudo-element - match nav font size */
.weglot_switcher .wgcurrent:after,
.wg-drop.country-selector .wgcurrent:after,
.wg-drop .wgcurrent:after {
  content: '' !important;
  background-image: url("data:image/svg+xml,%3Csvg width='24px' height='24px' stroke-width='1.5' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg' color='%23000000'%3E%3Cpath d='M9 6L15 12L9 18' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/svg%3E") !important;
  background-size: 0.85em 0.85em !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  width: 0.85em !important;
  height: 0.85em !important;
  min-width: 0.85em !important;
  min-height: 0.85em !important;
  opacity: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
  margin-left: 0 !important;
  flex-shrink: 0 !important;
  border: none !important;
  position: relative !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  padding: 0 !important;
}

.wg-drop.country-selector.closed .wgcurrent:after,
.weglot_switcher.closed .wgcurrent:after,
.wg-drop.closed .wgcurrent:after {
  transform: rotate(0deg) !important;
}

.wg-drop.country-selector:not(.closed) .wgcurrent:after,
.weglot_switcher:not(.closed) .wgcurrent:after,
.wg-drop:not(.closed) .wgcurrent:after {
  transform: rotate(90deg) !important;
}

#gtx-trans {
  display: none !important;
}

/**
 * Brutalist Menu Styles
 * ------------------------------------------------------------------------- */

/* Fix caret icon size in navigation */
header .inactive-arrow,
header .inactive-arrow svg,
.main-bar .inactive-arrow,
.main-bar .inactive-arrow svg {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
}

header .inactive-arrow.toplevel,
header .inactive-arrow.toplevel svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
}

/* Make navigation arrow white on hover for menu items with children */
header ul.nav a.dlink:hover .inactive-arrow,
header ul.nav a.dlink:hover #icon--dropdown-arrow,
.main-bar ul.nav a.dlink:hover .inactive-arrow,
.main-bar ul.nav a.dlink:hover #icon--dropdown-arrow,
header ul.nav li:hover a.dlink .inactive-arrow,
header ul.nav li:hover a.dlink #icon--dropdown-arrow,
.main-bar ul.nav li:hover a.dlink .inactive-arrow,
.main-bar ul.nav li:hover a.dlink #icon--dropdown-arrow {
  color: #ffffff !important;
}

header ul.nav a.dlink:hover .inactive-arrow path,
header ul.nav a.dlink:hover #icon--dropdown-arrow path,
.main-bar ul.nav a.dlink:hover .inactive-arrow path,
.main-bar ul.nav a.dlink:hover #icon--dropdown-arrow path,
header ul.nav li:hover a.dlink .inactive-arrow path,
header ul.nav li:hover a.dlink #icon--dropdown-arrow path,
.main-bar ul.nav li:hover a.dlink .inactive-arrow path,
.main-bar ul.nav li:hover a.dlink #icon--dropdown-arrow path,
header ul.nav a.dlink:hover .inactive-arrow .icon-fill,
header ul.nav a.dlink:hover #icon--dropdown-arrow .icon-fill,
.main-bar ul.nav a.dlink:hover .inactive-arrow .icon-fill,
.main-bar ul.nav a.dlink:hover #icon--dropdown-arrow .icon-fill,
header ul.nav li:hover a.dlink .inactive-arrow .icon-fill,
header ul.nav li:hover a.dlink #icon--dropdown-arrow .icon-fill,
.main-bar ul.nav li:hover a.dlink .inactive-arrow .icon-fill,
.main-bar ul.nav li:hover a.dlink #icon--dropdown-arrow .icon-fill {
  stroke: #ffffff !important;
  fill: none !important; /* Keep as outline only, not filled */
}

.main-bar {
  background-color: #ffffff !important;
  color: #000000 !important;
  border-bottom: 4px solid #000000 !important;
}

.main-bar .nav-font,
.main-bar ul.cart a,
.main-bar ul.cart span,
.main-bar ul.nav a {
  color: #000000 !important;
  font-weight: 600 !important;
}

.main-bar ul.nav a.active,
.main-bar ul.nav a.dlink.active {
  background: #ffffff !important;
  color: #000000 !important;
  border: none !important;
}

.main-bar ul.nav li:hover a,
.main-bar ul.nav li.dropdown:hover a,
.main-bar ul.nav li.has_sub_menu:hover a,
.main-bar ul.nav a.dlink:hover {
  background: #000000 !important;
  color: #ffffff !important;
}

.main-bar ul.nav a.active .navigation__top-level--hover,
.main-bar ul.nav a.dlink.active .navigation__top-level--hover {
  border-bottom: none !important;
  border-color: transparent !important;
}

.main-bar.sticky--active {
  box-shadow: none !important;
  border-bottom: 4px solid #000000 !important;
}

/* Regular dropdown submenu container - remove bottom padding and background */
ul.nav li.dropdown ul.submenu,
ul.submenu,
.submenu {
  padding-bottom: 0 !important; /* Remove bottom padding to avoid white gap */
  background: transparent !important; /* Remove white background */
}

/* Regular dropdown submenu children items - transparent background with black border, black on hover */
/* Only target regular dropdowns in header navigation, not mega menu */
header ul.nav li.dropdown ul.submenu a,
.main-bar ul.nav li.dropdown ul.submenu a,
header ul.nav li.dropdown ul.submenu li a,
.main-bar ul.nav li.dropdown ul.submenu li a,
header ul.submenu a,
.main-bar ul.submenu a,
header .submenu a,
.main-bar .submenu a,
header .submenu li a,
.main-bar .submenu li a,
header .nested a,
.main-bar .nested a,
header .nested li a,
.main-bar .nested li a {
  background: transparent !important; /* Transparent background */
  color: #000000 !important;
  padding: var(--space-2) var(--space-3) !important;
  display: block !important;
  border: 4px solid #000000 !important; /* Black border */
  border-radius: 0 !important;
  margin-bottom: var(--space-2) !important;
}

/* Remove margin-bottom from last child to avoid white gap */
header ul.nav li.dropdown ul.submenu li:last-child a,
.main-bar ul.nav li.dropdown ul.submenu li:last-child a,
header ul.submenu li:last-child a,
.main-bar ul.submenu li:last-child a,
header .submenu li:last-child a,
.main-bar .submenu li:last-child a,
header .nested li:last-child a,
.main-bar .nested li:last-child a {
  margin-bottom: 0 !important;
}

header ul.nav li.dropdown ul.submenu a:hover,
.main-bar ul.nav li.dropdown ul.submenu a:hover,
header ul.nav li.dropdown ul.submenu li a:hover,
.main-bar ul.nav li.dropdown ul.submenu li a:hover,
header ul.submenu a:hover,
.main-bar ul.submenu a:hover,
header .submenu a:hover,
.main-bar .submenu a:hover,
header .submenu li a:hover,
.main-bar .submenu li a:hover,
header .nested a:hover,
.main-bar .nested a:hover,
header .nested li a:hover,
.main-bar .nested li a:hover {
  background: #000000 !important; /* Black background on hover */
  color: #ffffff !important;
  text-decoration: none !important;
  border: 4px solid #000000 !important; /* Keep border on hover */
}

/**
 * Mega Menu - Neobrutalist Style
 * ------------------------------------------------------------------------- */

#drop-mega-menu {
  background-color: #ffffff !important;
  border: none !important;
  border-bottom: 4px solid #000000 !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  box-shadow: none !important;
  padding: var(--space-5) var(--space-6) !important;
}

/* Mega menu left section */
#drop-mega-menu .left {
  background-color: #ffffff !important;
  padding: var(--space-5) var(--space-6) !important;
  padding-bottom: 0 !important; /* Remove bottom padding to avoid white gap */
}

/* Mega menu ul elements - remove bottom padding */
#drop-mega-menu ul,
#drop-mega-menu .left ul,
#drop-mega-menu .left ul.sub-menu,
#drop-mega-menu .sub-menu {
  padding-bottom: 0 !important; /* Remove bottom padding to avoid white gap */
}

/* Top-level category links - neobrutalist style */
#drop-mega-menu .left > ul > li > a {
  margin-bottom: var(--space-3);
  font-weight: 700 !important; /* Bold */
  text-transform: uppercase !important; /* Uppercase to distinguish */
  letter-spacing: 1px !important;
  color: #000000 !important;
  padding: var(--space-2) 0 !important;
  border: none !important; /* Remove border */
  display: block !important;
  margin-right: 0;
  background: transparent !important; /* Transparent background */
  border-radius: 0 !important;
  font-size: calc(var(--font-size) - 1px) !important; /* Match sub-menu items and image titles */
  font-family: var(--heading-family) !important; /* Match sub-menu items and image titles */
  line-height: 1.2 !important;
}

#drop-mega-menu .left > ul > li > a:hover {
  background: transparent !important;
  color: #000000 !important;
  text-decoration: none !important;
  border-bottom: none !important; /* Remove border from link */
}

/* Border on text wrapper only for top-level items */
#drop-mega-menu .left > ul > li > a .mega-menu-link-text {
  display: inline-block;
  border-bottom: 4px solid transparent !important; /* Reserve space to prevent jumping */
}

#drop-mega-menu .left > ul > li > a:hover .mega-menu-link-text {
  border-bottom: 4px solid #000000 !important; /* Bold bottom border on hover - only on text */
}

/* Mega menu sub-menu links - children items (inside mega menu with white background) */
#drop-mega-menu .left ul ul a,
#drop-mega-menu .left ul li ul a,
#drop-mega-menu .left ul li ul li a,
#drop-mega-menu .left .sub-menu a,
#drop-mega-menu .left .sub-menu li a {
  border: none !important; /* Remove border */
  background: transparent !important; /* Transparent background */
  padding: var(--space-2) 0 !important;
  font-weight: 500 !important; /* Match image titles */
  text-transform: uppercase !important; /* Match image titles */
  font-size: calc(var(--font-size) - 1px) !important; /* Match image titles */
  letter-spacing: 1px !important; /* Match image titles */
  display: block !important;
  margin: 0 !important;
  margin-bottom: var(--space-2) !important;
  color: #000000 !important;
  border-radius: 0 !important;
  font-family: var(--heading-family) !important; /* Match image titles */
  line-height: 1.2 !important;
}

#drop-mega-menu .left ul ul a,
#drop-mega-menu .left ul li ul a,
#drop-mega-menu .left .sub-menu a {
  border-bottom: none !important; /* Remove border from link */
}

#drop-mega-menu .left ul ul a:hover,
#drop-mega-menu .left ul li ul a:hover,
#drop-mega-menu .left .sub-menu a:hover {
  background: transparent !important; /* Keep transparent on hover */
  color: #000000 !important;
  text-decoration: none !important;
  border: none !important;
  border-bottom: none !important; /* Remove border from link */
}

/* Consistent hover state for sub-menu items - bold bottom border on text */
#drop-mega-menu .left ul ul a:hover .mega-menu-link-text,
#drop-mega-menu .left ul li ul a:hover .mega-menu-link-text,
#drop-mega-menu .left .sub-menu a:hover .mega-menu-link-text {
  border-bottom: 4px solid #000000 !important; /* Bold bottom border on hover - only on text */
}

/* Border on text wrapper only for sub-menu items */
#drop-mega-menu .left ul ul a .mega-menu-link-text,
#drop-mega-menu .left ul li ul a .mega-menu-link-text,
#drop-mega-menu .left .sub-menu a .mega-menu-link-text {
  display: inline-block;
  border-bottom: 4px solid transparent !important; /* Reserve space to prevent jumping */
}

#drop-mega-menu .left ul ul a:hover .mega-menu-link-text,
#drop-mega-menu .left ul li ul a:hover .mega-menu-link-text,
#drop-mega-menu .left .sub-menu a:hover .mega-menu-link-text {
  border-bottom: 4px solid #000000 !important; /* Bold bottom border on hover - only on text */
}

/* Remove margin-bottom from last child in mega menu */
#drop-mega-menu .left ul ul li:last-child a,
#drop-mega-menu .left ul li ul li:last-child a,
#drop-mega-menu .left .sub-menu li:last-child a {
  margin-bottom: 0 !important;
}

/* Right section (images) */
#drop-mega-menu .right {
  background-color: #ffffff !important;
  padding: var(--space-5) var(--space-6) !important;
  overflow: visible !important; /* Allow shadows to show */
}

/* Ensure wrapper and grid containers don't clip shadows */
#drop-mega-menu .right .wrapper,
#drop-mega-menu .right .wrapper-nest,
#drop-mega-menu .right .span-4,
#drop-mega-menu .right .auto {
  overflow: visible !important;
}

/* Ensure grid system doesn't clip */
#drop-mega-menu .right [class*="span-"] {
  overflow: visible !important;
}

/* Remove gaps from image containers */
#drop-mega-menu .right > *:first-child,
#drop-mega-menu .right .mega-dropdown__image-wrapper:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Mega menu images - neobrutalist style */
/* Image wrapper - container for image and title */
#drop-mega-menu .mega-dropdown__image-wrapper,
#drop-mega-menu .right .mega-dropdown__image-wrapper {
  display: block !important;
  width: calc(100% - 4px) !important; /* Reduce width to account for shadow */
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-bottom: var(--space-3) !important;
  margin-right: 4px !important; /* Space for right shadow */
  overflow: visible !important; /* Allow title and shadow to show */
  box-sizing: border-box !important;
}

/* Image itself - square with border and shadow */
#drop-mega-menu .right img,
#drop-mega-menu .mega-dropdown__image-wrapper img {
  border: 3px solid #000000 !important;
  border-radius: 0 !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important; /* Keep square */
  object-fit: cover !important;
  /* Subtle shadow effect - thinner */
  -webkit-box-shadow: 4px 4px 0 0 #000000 !important;
  -moz-box-shadow: 4px 4px 0 0 #000000 !important;
  box-shadow: 4px 4px 0 0 #000000 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important; /* Prevent any transforms that move shadow */
  -webkit-transform: none !important; /* Prevent any transforms that move shadow */
  transition: none !important; /* Prevent transitions that affect shadow */
  -webkit-transition: none !important; /* Prevent transitions that affect shadow */
  position: relative !important; /* Override absolute positioning from base styles */
  top: auto !important; /* Override translateY positioning */
  height: auto !important; /* Override fixed height */
}

/* Remove hover transform that moves shadow */
#drop-mega-menu .right .mega-dropdown__image-wrapper img:hover,
#drop-mega-menu .mega-dropdown__image-wrapper img:hover {
  transform: none !important;
  -webkit-transform: none !important;
}

#drop-mega-menu .right a,
#drop-mega-menu .right ul a {
  border: none !important;
  background: transparent !important;
  padding: var(--space-2) 0 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  display: block !important;
  margin: 0 !important;
  color: #000000 !important;
}

#drop-mega-menu .right a:hover {
  background: transparent !important;
  text-decoration: none !important;
}

/* Image title hover - consistent with sub-menu items (bold bottom border) */
#drop-mega-menu .right a:hover .mega-dropdown__image-title {
  color: #000000 !important;
  text-decoration: none !important;
}

/* Image title in mega menu */
#drop-mega-menu .right .mega-dropdown__image-title {
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #000000 !important;
  margin-top: var(--space-3) !important;
  display: inline-block !important; /* Allow border-bottom */
  visibility: visible !important;
  opacity: 1 !important;
  font-family: var(--heading-family) !important;
  font-size: calc(var(--font-size) - 1px) !important;
  border-bottom: 4px solid transparent !important; /* Reserve space to prevent jumping */
}

/* Image title hover - consistent with sub-menu items (bold bottom border) */
#drop-mega-menu .right a:hover .mega-dropdown__image-title,
#drop-mega-menu .right .mega-dropdown__image-wrapper:hover .mega-dropdown__image-title {
  color: #000000 !important;
  text-decoration: none !important;
  border-bottom: 4px solid #000000 !important; /* Bold bottom border on hover - match sub-menu */
}

/* Buttons in mega menu */
#drop-mega-menu a button,
#drop-mega-menu button,
#drop-mega-menu .left a button,
#drop-mega-menu .left ul a button,
#drop-mega-menu .left ul ul a button {
  background: transparent !important;
  border: none !important;
  color: #000000 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/**
 * Rich Text Section - Left Aligned
 * ------------------------------------------------------------------------- */

/* Ensure title and content are aligned in the same container */
.section-richtext .section-heading,
.contact__form-section .section-heading {
  text-align: left !important;
}

.section-richtext .pages-content,
.section-richtext .rte,
.section-richtext .pages-content *,
.section-richtext .rte * {
  text-align: left !important;
}

.section-richtext .pages-content p,
.section-richtext .rte p,
.section-richtext .pages-content h1,
.section-richtext .rte h1,
.section-richtext .pages-content h2,
.section-richtext .rte h2,
.section-richtext .pages-content h3,
.section-richtext .rte h3,
.section-richtext .pages-content h4,
.section-richtext .rte h4,
.section-richtext .pages-content h5,
.section-richtext .rte h5,
.section-richtext .pages-content h6,
.section-richtext .rte h6,
.section-richtext .pages-content ul,
.section-richtext .rte ul,
.section-richtext .pages-content ol,
.section-richtext .rte ol,
.section-richtext .pages-content li,
.section-richtext .rte li {
  text-align: left !important;
}

/**
 * Featured text section – bold statement block (Escape-style)
 * Adjust --featured-text-size and --featured-text-size-mobile to change sizes.
 * ------------------------------------------------------------------------- */
.featured-text {
  --featured-text-size: 3.75rem;
  --featured-text-size-mobile: 1.5rem;
  background-color: #f5f4f2 !important;
  padding-bottom: 2rem !important;
}

.featured-text .featured-text__inner {
  padding-bottom: 2rem !important;
}

.featured-text .featured-text__content,
.featured-text .featured-text__content p {
  font-size: var(--featured-text-size) !important;
  letter-spacing: 0.654321px !important;
  line-height: 1.1 !important;
  font-weight: 400 !important;
  color: #000 !important;
  font-family: var(--heading-family), sans-serif !important;
  text-align: left !important;
  max-width: none;
  width: 100%;
}

.featured-text .featured-text__content p {
  margin: 0;
}

.featured-text .featured-text__content p + p {
  margin-top: 0.5em;
}

@media (max-width: 767px) {
  .featured-text .featured-text__content,
  .featured-text .featured-text__content p {
    font-size: var(--featured-text-size-mobile) !important;
  }
}

/**
 * Typography
 * ------------------------------------------------------------------------- */

.global__section {
  margin-top: calc(var(--section-padding) / 2);
  padding-bottom: calc(var(--section-padding) * 0.6);
}

@media (max-width: 767px) {
  .global__section {
    margin-top: calc(var(--section-padding) / 4);
    padding-bottom: calc(var(--section-padding) * 0.6);
  }
}

small,
.text_small {
  font-size: var(--font-size);
}

strong,
b {
  font-family: var(--heading-family);
  font-size: calc(var(--font-size) + 1px) !important;
  font-weight: 700;
}

.main-font,
.rte,
a,
body,
p,
td,
th {
  font-size: var(--font-size);
  font-family: var(--main-family);
  font-style: var(--main-style);
  font-weight: var(--main-weight);
}

.h1,
.h1 a,
h1,
h1 a {
  font-size: var(--h1-size);
  line-height: calc((var(--h1-size) * 0.17) + var(--h1-size));
}

.h2,
.h2 a,
h2,
h2 a {
  font-size: var(--h2-size);
  line-height: calc((var(--h2-size) * 0.17) + var(--h2-size));
}

.h3,
.h3 a,
h3,
h3 a {
  font-size: var(--h3-size);
  line-height: calc((var(--h3-size) * 0.17) + var(--h3-size));
}

.h4,
.h4 a,
h4,
h4 a {
  font-size: var(--h4-size);
  line-height: calc((var(--h4-size) * 0.375) + var(--h4-size));
}

.h5,
.h5 a,
h5,
h5 a {
  font-size: var(--h5-size);
  line-height: calc((var(--h5-size) * 0.375) + var(--h5-size));
}

.h6,
.h6 a,
h6,
h6 a {
  font-size: var(--font-size);
}

@media (max-width: 767px) {
  .h1,
  .h1 a,
  h1,
  h1 a {
    font-size: var(--sm-h1-size);
  }

  .h2,
  .h2 a,
  h2,
  h2 a {
    font-size: var(--sm-h2-size);
  }

  .h3,
  .h3 a,
  h3,
  h3 a {
    font-size: var(--sm-h3-size);
  }

  .h4,
  .h4 a,
  h4,
  h4 a {
    font-size: var(--sm-h4-size);
  }

  .h5,
  .h5 a,
  h5,
  h5 a {
    font-size: var(--sm-h5-size);
  }

  .h6,
  .h6 a,
  h6,
  h6 a {
    font-size: var(--font-size);
  }
}

/* section-richtext */
.section-richtext p {
  font-family: var(--main-family) !important;
  line-height: 1.4;
}

[type='button'].btn-outline,
[type='submit'].btn-outline,
a.button.btn-outline,
button.btn-outline {
  font-family: var(--heading-family);
  text-transform: uppercase;
}

/* Hero image with text — typography baseline */
.hero-iwt .text-with-image .rte p {
  font-size: calc(var(--font-size) + 1px);
  line-height: 1.65;
}

@media (max-width: 767px) {
  .section-image-with-text {
    padding-right: var(--space-3) !important;
    padding-left: var(--space-3) !important;
  }

}

/**
 * Product Form Styling
 * ------------------------------------------------------------------------- */

/* Remove uppercase text transformation from labels */
.template-product label,
.product_form label,
.template-product .selector-wrapper label,
.product_form .selector-wrapper label,
.template-product .quantity-selector label,
.product_form .quantity-selector label {
  text-transform: none !important;
}

/* Cart drawer variant selectors - no border */
.ajax-cart__drawer-wrapper .original-select .selector-wrapper .select-selected,
.ajax-cart__drawer-wrapper .select-wrapper .select-selected,
.ajax-cart__drawer-wrapper .select-selected {
  border: none !important;
}

.ajax-cart__drawer-wrapper .original-select .selector-wrapper .select-items div,
.ajax-cart__drawer-wrapper .select-wrapper .select-items div,
.ajax-cart__drawer-wrapper .select-items div {
  border: none !important;
}

.ajax-cart__drawer-wrapper .original-select .selector-wrapper .select-items div:hover,
.ajax-cart__drawer-wrapper .select-wrapper .select-items div:hover,
.ajax-cart__drawer-wrapper .select-items div:hover {
  border: 2px solid #000000 !important;
}

/**
 * Products
 * ------------------------------------------------------------------------- */

/* Product listing - square image containers with consistent sizing */
.product-listing .product-image {
  position: relative;
  width: 100%;
  padding-bottom: 100%; /* Creates square aspect ratio */
  overflow: hidden;
}

.product-listing .product-image .reveal {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff; /* Default white background */
  overflow: hidden;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Grey background for coffee collection items only */
.product-listing[class*='collection-coffee'] .product-image .reveal,
.product-listing.collection-coffee .product-image .reveal {
  background-color: #f5f5f5;
}

/* Grey background for subscription collection items */
.product-listing[class*='collection-subscriptions'] .product-image .reveal,
.product-listing.collection-subscriptions .product-image .reveal,
.product-listing[class*='subscription'] .product-image .reveal {
  background-color: #f5f5f5;
}

/* Override box-ratio behavior in product listings */
.product-listing .product-image .reveal .box-ratio {
  padding-bottom: 0 !important;
  position: static !important;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-listing .product-image .reveal .box-ratio img,
.product-listing .product-image .reveal img {
  position: static !important;
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: center;
}

/* Handle placeholder SVG */
.product-listing .product-image .reveal .placeholder-svg {
  max-width: 90%;
  max-height: 90%;
}

/* Ensure secondary/hover images also centered */
.product-listing .secondary-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-listing .secondary-image img {
  max-width: 90%;
  max-height: 90%;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Product info section - cleaner spacing */
.product-listing .product-info {
  padding: var(--space-4) 0 0 0 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Product cards site-wide: left-align all text */
.product-listing .product-info,
.product-listing .product-price,
.product-listing .product__section--rating-wrapper,
.product-listing .price-unit-price {
  text-align: left !important;
}

/* Rating section - subtle */
.product-listing .product__section--rating-wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  margin-bottom: var(--space-1);
  font-size: calc(var(--font-size) - 3px);
  color: #999;
}

/* Product vendor - minimize */
.product-listing .product-vendor {
  font-size: calc(var(--font-size) - 3px);
  color: #999;
  margin-bottom: var(--space-1);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-weight: 400;
}

/* Product title - prominent and clean */
.product-title {
  font-family: var(--heading-family);
  font-weight: 600;
  font-size: calc(var(--font-size) + 3px);
  line-height: 1.3;
  margin-bottom: 0;
  color: var(--text-color);
}

.product-listing .product-title {
  margin-bottom: 0;
}

/* Product subtitle - subtle */
.product-listing .product-subtitle {
  font-family: var(--main-family);
  font-style: normal;
  font-size: calc(var(--font-size) - 2px);
  font-weight: 400;
  color: #666;
  line-height: 1.4;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .product-title,
  .product-listing .product-title {
    font-size: var(--font-size);
  }
}

#product-description .subtitle {
  font-family: var(--main-family);
  font-style: normal;
  font-weight: 400;
  font-size: var(--font-size);
  margin: 1em 0 2em;
}

.product-tags {
  position: absolute;
  display: flex;
  top: 0;
  left: 0;
  z-index: 10;
  padding-top: var(--space-2);
  padding-left: var(--space-2);
}

@media (max-width: 767px) {
  /* Keep tags inside card so they aren’t clipped by carousel viewport */
  .product-tags {
    margin-top: 0;
    top: var(--space-2, 8px);
    left: var(--space-2, 8px);
  }
}

.product-tags div {
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  border-radius: 0.25rem;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  color: #f9f2ea;
  background-color: #374151;
}

/* Ensure badges are visible in featured collection sections */
.section-featured-collection .product-tags,
.featured-collection__wrapper--loop .product-tags {
  position: absolute;
  display: flex !important;
  top: 0;
  left: 0;
  z-index: 10;
  padding-top: var(--space-2);
  padding-left: var(--space-2);
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  .section-featured-collection .product-tags,
  .featured-collection__wrapper--loop .product-tags {
    margin-top: 0;
    top: var(--space-2, 8px);
    left: var(--space-2, 8px);
  }
}

/* Product price section - clean and prominent */
.product-listing .product-price {
  padding: var(--space-1) 0 0 0 !important;
  margin: 0 !important;
  font-size: var(--font-size);
  font-weight: 400;
  color: #888;
}

/* Remove decorative ::before element */
.product-listing .product-price::before {
  display: none !important;
}

/* Sale price styling */
.product-listing .product-price .onsale {
  color: var(--sale-color, #d84315);
  font-weight: 700;
}

/* Hide "was" price and savings text - cleaner look */
.product-listing .product-price .was,
.product-listing .product-price .savings {
  display: none;
}

/* Price range styling */
.product-listing .product-price {
  line-height: 1.4;
}

@media (max-width: 767px) {
  .collection-loop a,
  .product-loop a {
    padding-bottom: 0;
  }
}

/* temp remove filters */

.collection__page--sm-filters {
  display: none !important;
}

/**
 * Recharge Subscriptions 
 * ------------------------------------------------------------------------- */

.rc-container {
  margin-top: var(--space-4);
  margin-bottom: var(--space-6) !important;
}

/* delivery every 30 days */
.rc-selling-plans__label {
  display: inline-block;
  width: 100%;
  text-align: center;
}

.rc-radio__input {
  position: relative !important;
  opacity: 1 !important;
  -webkit-appearance: radio !important;
  float: none !important;
}

.rc-option__text {
  font-size: var(--font-size);
}

.rc-option__price {
  display: none;
}

.rc-option__discount {
  display: none;
}

.rc-template__legacy-radio .rc_widget__option__selector + .rc-selling-plans {
  padding: 3px 0 12px !important;
  padding-left: 25px !important;
  font-family: var(--heading-family);
  font-weight: 300;
  font-size: calc(var(--font-size) - 2px);
}

/* hide popup */
.rc_popup {
  display: none !important;
}

/**
 * Products page
 * ------------------------------------------------------------------------- */

#product-description {
  align-self: center;
}

#product-description .social-share {
  display: none;
}

.product-top {
  padding-top: var(--space-5) !important;
  padding-bottom: var(--space-6) !important;
}

.section__product-details {
  padding-top: var(--space-4) !important;
  padding-bottom: var(--space-7);
  position: relative;
}

.section__product-details article {
  position: relative;
}

/* Background wrapper for title and table only */
.coffee-details-section {
  position: relative;
  background: #ffffff;
  width: 100%;
  margin-left: 0;
  padding-top: var(--space-4);
  padding-bottom: var(--space-4);
  padding-left: 0;
  padding-right: 0;
  margin-bottom: var(--space-5);
  display: flex;
  align-items: flex-start;
  gap: var(--space-5);
  justify-content: space-between;
  border-top: 4px solid #000000;
  border-bottom: 4px solid #000000;
  box-shadow: none;
  overflow: visible;
}

.coffee-details-section .coffee-details-title,
.coffee-details-section .details-table {
  position: relative;
  z-index: 1;
}

.section__product-details .wrapper {
  background-color: transparent;
  position: relative;
  z-index: 1;
}

.coffee-details-title {
  font-family: var(--heading-family);
  font-weight: 600;
  font-size: var(--h2-size);
  color: #000000;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 10%;
  width: auto;
  flex: 0 0 auto;
  letter-spacing: 0;
  position: relative;
  z-index: 1;
  text-align: left;
  text-transform: uppercase;
  padding: var(--space-2) var(--space-3);
  padding-left: var(--space-3);
  opacity: 1;
  border: 4px solid #000000;
  background: #ffffff;
  width: auto;
  max-width: none;
  display: inline-block;
}

.template-product ul.details-table {
  border: 4px solid #000000 !important;
  padding-bottom: 0;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: 10%;
  width: 50%;
  flex: 0 0 50%;
  position: relative;
  z-index: 1;
  padding: 0;
  background-color: #ffffff;
  border-radius: 0;
  box-shadow: none;
  list-style: none;
}

.template-product ul.details-table li.description {
  margin-top: var(--space-4);
  margin-bottom: var(--space-4);
  border-bottom: none;
}

.template-product ul.details-table li.description h5,
.template-product ul.details-table li.description h6 {
  margin-top: var(--space-4);
}

@media (max-width: 767px) {
  .template-product ul.details-table li.description {
    margin-top: var(--space-4);
    margin-bottom: var(--space-0);
  }
}

.template-product ul.details-table li.detail {
  border: none;
  border-radius: 0;
  padding: var(--space-3);
  margin-bottom: 0;
  background-color: #ffffff;
  display: grid !important;
  grid-template-columns: 1fr !important;
  row-gap: var(--space-1);
  align-items: start;
  border-bottom: 2px solid #000000;
  transition: none;
  position: relative;
}

.template-product ul.details-table li.detail:last-child {
  border-bottom: none;
}

.template-product ul.details-table li.detail:hover {
  background-color: transparent;
  transform: none;
}

.template-product ul.details-table li.detail p.label {
  font-family: var(--heading-family);
  font-weight: 700;
  font-size: calc(var(--font-size));
  letter-spacing: 0;
  color: #000000;
  margin: 0;
  grid-column: auto !important;
  text-transform: uppercase;
  opacity: 1;
  line-height: 1.4;
  position: relative;
  padding-left: 0;
  font-style: normal;
}

.template-product ul.details-table li.detail .item {
  font-weight: 400;
  opacity: 1;
  color: #000000;
  font-size: calc(var(--font-size));
}
}

.template-product ul.details-table li.detail p.item {
  margin: 0;
  grid-column: auto !important;
  text-align: left;
  font-weight: 400;
  color: var(--text-color);
  line-height: 1.6;
  font-size: calc(var(--font-size) - 2px);
}

.template-product ul.details-table li.detail p,
.template-product ul.details-table li.detail p a {
  font-size: calc(var(--font-size) - 2px);
}

.template-product ul.details-table li.description {
  margin-left: 10%;
  width: 80%;
}

@media (max-width: 767px) {
  .template-product ul.details-table li.description {
    margin-left: 0%;
    width: 100%;
  }
}

.template-product ul.details-table li.description p.label,
.template-product .description p.label {
  font-family: var(--heading-family);
  font-weight: 700;
  font-size: var(--h3-size);
  color: var(--heading-color);
  letter-spacing: -0.5px;
  margin-bottom: var(--space-5);
}

.template-product ul.details-table li.description h4 {
  margin-top: var(--space-4);
  font-family: var(--heading-family);
  font-weight: 600;
}

.template-product ul.details-table li.description h4:empty {
  display: none;
}

.template-product ul.details-table li.description p {
  margin-bottom: var(--space-4);
}

.template-product ul.details-table li.description img,
.template-product ul.details-table li.description .rte img,
.template-product ul.details-table .description img,
.template-product ul.details-table .description .rte img,
.template-product ul.details-table li.description p img,
.template-product ul.details-table li.description .rte p img {
  margin-top: var(--space-4) !important;
  margin-bottom: var(--space-4) !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
}

/* Ensure paragraphs with images inside li.description are visible */
.template-product ul.details-table li.description p:has(img),
.template-product ul.details-table li.description .rte p:has(img) {
  display: block !important;
}

/* Description now outside ul */
.template-product .description {
  margin-top: var(--space-7);
  margin-bottom: var(--space-4);
  margin-left: 10%;
  width: 80%;
  background-color: #ffffff;
  position: relative;
  z-index: 1;
  padding: var(--space-5) 0;
  overflow: visible !important;
}

.template-product .description h4 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-3);
  font-family: var(--heading-family);
  font-weight: 600;
  font-size: var(--h4-size);
  letter-spacing: -0.3px;
}

.template-product .description h4:empty {
  display: none;
}

.template-product .description p {
  margin-bottom: var(--space-4);
  line-height: 1.7;
}

.template-product .description p:first-of-type {
  margin-top: 0;
}

/* Hide empty paragraphs and paragraphs with only non-breaking space */
.template-product .description p:empty {
  display: none;
}

/* Use JavaScript to remove paragraphs with only whitespace/nbsp */
.template-product .description p {
  position: relative;
}

/* Hide paragraphs that are effectively empty using CSS */
.template-product .description p:only-of-type:empty {
  display: none;
}

.template-product .description img,
.template-product .description .rte img,
.template-product .rte img,
.template-product .description .rte p img,
.template-product .description p img,
.template-product .rte p img,
.template-product .description figure img,
.template-product .description .rte figure img {
  margin-top: var(--space-4) !important;
  margin-bottom: var(--space-4) !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 100% !important;
  height: auto !important;
  width: auto !important;
  position: relative !important;
}

/* Ensure images inside paragraphs are not hidden */
.template-product .description p:has(img),
.template-product .description .rte p:has(img) {
  display: block !important;
}

/* Ensure description container doesn't hide images */
.template-product .description .rte,
.template-product .description.rte {
  overflow: visible !important;
}

/* Force all images in product descriptions to display */
.template-product .description * img,
.template-product .description img,
.template-product #product-description img,
.template-product #product-description * img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 767px) {
  .product-top {
    padding-top: var(--space-4) !important;
    padding-bottom: var(--space-5) !important;
  }

  .section__product-details {
    padding-top: var(--space-3) !important;
    padding-bottom: var(--space-5);
  }

  .coffee-details-section {
    padding-top: var(--space-6);
    padding-bottom: var(--space-6);
    margin-bottom: var(--space-5);
    flex-direction: column;
    gap: var(--space-5);
    border-top-width: 2px;
    border-bottom-width: 2px;
  }

  .coffee-details-title {
    margin-left: 0%;
    width: 100%;
    margin-bottom: 0;
    text-align: left;
    letter-spacing: 2px;
    font-size: var(--h4-size);
    padding-left: var(--space-4);
  }

  .coffee-details-title::before {
    left: calc(-1 * var(--space-4) - 2px);
    width: 6px;
    height: 6px;
  }

  .coffee-details-title .title-button {
    width: 80px;
    height: 80px;
  }

  .coffee-details-title .title-button__circle {
    width: 32px;
    height: 32px;
  }

  .template-product ul.details-table {
    padding: 0;
  }

  .coffee-details-title {
    margin-left: 0%;
    width: 100%;
    margin-bottom: 0;
    text-align: left;
  }

  .template-product ul.details-table {
    margin-bottom: 0;
    margin-left: 0%;
    margin-right: 0%;
    width: 100%;
  }

  .template-product ul.details-table li.detail {
    padding: var(--space-3);
  }

  .template-product .description {
    margin-top: var(--space-5);
    margin-bottom: var(--space-0);
    margin-left: 0%;
    width: 100%;
  }

  .template-product .description p.label {
    margin-bottom: var(--space-4);
  }
}

/**
 * Menu
 * ------------------------------------------------------------------------- */

/* disable menu item click through */
.menu-item__title,
.menu-item__title--sm {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  color: black;
}

/* menu heading */
.section-menu h2 a {
  font-size: var(--h3-size);
}

@media (max-width: 767px) {
  .section-menu h2 a {
    font-size: var(--sm-h3-size);
  }
}

/* menu section heading */
.section-menu .collection-heading a,
.template-collection .collection-menu__heading {
  border-top: solid 1px var(--text-color);
  text-transform: uppercase;
  font-family: var(--nav-family);
  font-weight: 700;
  font-size: calc(var(--font-size) + 2px);
}

/* menu item title */
.menu-item a,
.menu-item__title a,
.menu-item__title--sm {
  text-transform: uppercase;
  font-family: var(--nav-family);
  font-weight: 600;
  font-size: var(--font-size);
}

/* menu item price */
.menu__item--price p,
.menu-item__variants--price {
  font-family: var(--nav-family);
  font-weight: 400 !important;
  font-size: var(--font-size);
}

/* menu item description */
.menu-item__description p {
  font-family: var(--nav-family);
  font-weight: 300 !important;
  color: #808080;
}

@media (max-width: 767px) {
  .wrapper {
    padding-left: var(--container-padding, 4%);
    padding-right: var(--container-padding, 4%);
  }
}

/* resize title / description / price */
.section-featured-collection
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__title,
.section-featured-collection
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__title--sm,
.template-collection .collection-menu__items-wrapper--settings-true .one-row .menu-item__title,
.template-collection .collection-menu__items-wrapper--settings-true .one-row .menu-item__title--sm,
.template-list-collections
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__title,
.template-list-collections
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__title--sm,
.template-collection .collection-menu__items-wrapper--settings-true .menu-item__title {
  width: 80%;
}

.section-featured-collection
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__variants,
.section-featured-collection
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__variants--price,
.template-collection .collection-menu__items-wrapper--settings-true .one-row .menu-item__variants,
.template-collection
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__variants--price,
.template-list-collections
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__variants,
.template-list-collections
  .collection-menu__items-wrapper--settings-true
  .one-row
  .menu-item__variants--price,
.template-collection .collection-menu__items-wrapper--settings-true .menu-item__variants--price {
  width: 15%;
  display: inline-block;
  text-align: right !important;
}

.section-featured-collection
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__title--sm,
.template-collection .collection-menu__items-wrapper--settings-false .one-row .menu-item__title,
.template-collection .collection-menu__items-wrapper--settings-false .one-row .menu-item__title--sm,
.template-list-collections
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__title,
.template-list-collections
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__title--sm,
.template-collection .collection-menu__items-wrapper--settings-false .menu-item__title {
  width: 80%;
}

.section-featured-collection
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__variants,
.section-featured-collection
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__variants--price,
.template-collection .collection-menu__items-wrapper--settings-false .one-row .menu-item__variants,
.template-collection
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__variants--price,
.template-list-collections
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__variants,
.template-list-collections
  .collection-menu__items-wrapper--settings-false
  .one-row
  .menu-item__variants--price,
.template-collection .collection-menu__items-wrapper--settings-false .menu-item__variants--price {
  width: 15%;
}

@media (min-width: 1024px) {
  .section-featured-collection
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__title,
  .section-featured-collection
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__title--sm,
  .template-collection .collection-menu__items-wrapper--settings-true .one-row .menu-item__title,
  .template-collection
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__title--sm,
  .template-list-collections
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__title,
  .template-list-collections
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__title--sm,
  .template-collection .collection-menu__items-wrapper--settings-true .menu-item__title {
    width: 67%;
  }
}

@media (min-width: 1024px) {
  .section-featured-collection
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__variants,
  .section-featured-collection
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__variants--price,
  .template-collection .collection-menu__items-wrapper--settings-true .one-row .menu-item__variants,
  .template-collection
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__variants--price,
  .template-list-collections
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__variants,
  .template-list-collections
    .collection-menu__items-wrapper--settings-true
    .one-row
    .menu-item__variants--price,
  .template-collection .collection-menu__items-wrapper--settings-true .menu-item__variants--price {
    width: 30%;
    display: inline-block;
    text-align: right !important;
  }
}

@media (min-width: 1024px) {
  .section-featured-collection
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__title--sm,
  .template-collection .collection-menu__items-wrapper--settings-false .one-row .menu-item__title,
  .template-collection
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__title--sm,
  .template-list-collections
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__title,
  .template-list-collections
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__title--sm,
  .template-collection .collection-menu__items-wrapper--settings-false .menu-item__title {
    width: 67%;
  }
}

@media (min-width: 1024px) {
  .section-featured-collection
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__variants,
  .section-featured-collection
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__variants--price,
  .template-collection
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__variants,
  .template-collection
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__variants--price,
  .template-list-collections
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__variants,
  .template-list-collections
    .collection-menu__items-wrapper--settings-false
    .one-row
    .menu-item__variants--price,
  .template-collection .collection-menu__items-wrapper--settings-false .menu-item__variants--price {
    width: 30%;
  }
}

/* re-order coffee collection on large screens */
@media (min-width: 1024px) {
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(2) {
    order: 2;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(3) {
    order: 4;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(4) {
    order: 6;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(5) {
    order: 8;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(6) {
    order: 10;
  }

  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(7) {
    order: 3;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(8) {
    order: 5;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(9) {
    order: 7;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(10) {
    order: 9;
  }
  .menu-collection.collection-1fbb75bd-aea6-4c6d-a143-6684c7e43e2f .menu-item:nth-child(11) {
    order: 11;
  }
}

/**
 * Instagram Feed
 * ------------------------------------------------------------------------- */

#af_insta_slider {
  margin-top: var(--space-9);
}

.slick-dots {
  display: none !important;
}

/**
 * Opening Hours
 * ------------------------------------------------------------------------- */

/**
 * Image with Opening Hours Section - Neobrutalist Style
 * ------------------------------------------------------------------------- */

/* Section container */
.section-image-with-text.image-with-opening-hours,
.image-with-text-{{ section.id }} {
  background-color: #ffffff;
}

/* Image container - add border, add border between image and content */
.section-image-with-text .image,
.image-with-opening-hours .image {
  border-top: 4px solid #000000 !important;
  border-bottom: 4px solid #000000 !important;
  border-left: 4px solid #000000 !important;
  border-right: 4px solid #000000 !important; /* Border between image and content */
  overflow: hidden;
  /* Keep shadow styling from base stylesheet */
  -webkit-box-shadow: 20px 20px 0 0 var(--box-shadow-color) !important;
  -moz-box-shadow: 20px 20px 0 0 var(--box-shadow-color) !important;
  box-shadow: 20px 20px 0 0 var(--box-shadow-color) !important;
}

/* When image is on the right, keep all borders including left border */
.section-image-with-text .image[style*="order: 2"],
.image-with-opening-hours .image[style*="order: 2"] {
  border-left: 4px solid #000000 !important;
  border-right: 4px solid #000000 !important;
}

.section-image-with-text .image .background-image,
.image-with-opening-hours .image .background-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Info container - neobrutalist style, remove left border to avoid double border */
.section-image-with-text .info,
.image-with-opening-hours .info {
  background-color: #ffffff !important;
  border-top: 4px solid #000000 !important;
  border-bottom: 4px solid #000000 !important;
  border-right: 4px solid #000000 !important;
  border-left: none !important; /* Image has the border on this side */
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative !important;
  /* Keep shadow styling from base stylesheet */
  -webkit-box-shadow: 20px 20px 0 0 var(--box-shadow-color) !important;
  -moz-box-shadow: 20px 20px 0 0 var(--box-shadow-color) !important;
  box-shadow: 20px 20px 0 0 var(--box-shadow-color) !important;
}

/* When info is on the left, remove right border (image on right has the border) */
.section-image-with-text .info[style*="order: 1"],
.image-with-opening-hours .info[style*="order: 1"] {
  border-right: none !important; /* Image on right has the border on this side */
  border-left: 4px solid #000000 !important;
}

.section-image-with-text .info__inner-wrapper,
.image-with-opening-hours .info__inner-wrapper {
  width: 100% !important;
  padding: var(--space-6) var(--space-5) !important;
  position: relative !important;
  top: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

/* Heading - neobrutalist style with border */
.section-image-with-text h3,
.image-with-opening-hours h3 {
  font-family: var(--heading-family) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #000000 !important;
  margin-bottom: var(--space-4) !important;
  margin-top: 0 !important;
  font-size: var(--h3-size) !important;
  border: 4px solid #000000 !important;
  padding: var(--space-3) var(--space-4) !important;
  display: inline-block !important;
  background-color: #ffffff !important;
}

/* Opening hours - remove border, keep styling */
.opening-hours {
  margin-top: var(--space-5);
  margin-bottom: var(--space-5);
  padding: 0;
  border: none !important;
  background-color: transparent;
}

.opening-hours p {
  margin-bottom: var(--space-3) !important;
  font-family: var(--nav-family) !important;
  font-weight: 600 !important;
  color: #000000 !important;
  font-size: var(--font-size) !important;
  line-height: 1.6 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.opening-hours p:last-child {
  margin-bottom: 0 !important;
}

.opening-hours strong {
  font-weight: 700 !important;
  color: #000000 !important;
}

/* Opening hours text */
.opening-hours-text {
  margin-top: var(--space-5);
  margin-bottom: var(--space-4);
}

.opening-hours-text p {
  margin-bottom: var(--space-3) !important;
  font-family: var(--nav-family) !important;
  font-weight: 400 !important;
  color: #000000 !important;
  font-size: var(--font-size) !important;
  line-height: 1.6 !important;
  text-transform: none !important;
}

.opening-hours-text a {
  font-family: var(--nav-family) !important;
  font-weight: 600 !important;
  color: #000000 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.opening-hours-text a:hover {
  color: #666666 !important;
}

/* Button in opening hours section */
.section-image-with-text .button,
.image-with-opening-hours .button,
.section-image-with-text .info__inner-wrapper .button,
.image-with-opening-hours .info__inner-wrapper .button {
  margin-top: var(--space-5) !important;
}

/**
 * Visit Us Columns Section - 3-column locations (minimal / neobrutalist)
 * ------------------------------------------------------------------------- */
.visit-us-columns {
  background-color: #ffffff;
}

/* Section title: same size for featured-collection and visit-us (desktop + mobile) */
.section-featured-collection .section-heading,
.visit-us-columns .section-heading {
  font-size: var(--h2-size) !important;
}

.visit-us-columns .wrapper {
  align-items: stretch;
}

.visit-us-columns__card {
  margin-bottom: var(--space-6);
  margin-top: var(--space-5);
  display: flex;
}

.visit-us-columns__card .visit-us-columns__card-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.visit-us-columns__card .visit-us-columns__info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.visit-us-columns__card .visit-us-columns__info-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.visit-us-columns__card-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.visit-us-columns__image {
  border: 4px solid #000000;
  overflow: hidden;
  -webkit-box-shadow: 20px 20px 0 0 var(--box-shadow-color);
  -moz-box-shadow: 20px 20px 0 0 var(--box-shadow-color);
  box-shadow: 20px 20px 0 0 var(--box-shadow-color);
  aspect-ratio: 4 / 3;
  width: 100%;
}

.visit-us-columns__image .background-image {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.visit-us-columns__info {
  flex: 1;
  background-color: #ffffff;
  border-left: 4px solid #000000;
  border-right: 4px solid #000000;
  border-bottom: 4px solid #000000;
  -webkit-box-shadow: 20px 20px 0 0 var(--box-shadow-color);
  -moz-box-shadow: 20px 20px 0 0 var(--box-shadow-color);
  box-shadow: 20px 20px 0 0 var(--box-shadow-color);
}

.visit-us-columns__info-inner {
  width: 100%;
  padding: var(--space-5) var(--space-4);
  box-sizing: border-box;
}

.visit-us-columns h3 {
  font-family: var(--heading-family);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #000000;
  margin-bottom: var(--space-4);
  margin-top: 0;
  font-size: var(--h3-size);
  border: 4px solid #000000;
  padding: var(--space-3) var(--space-4);
  display: inline-block;
  background-color: #ffffff;
}

.visit-us-columns .opening-hours-text {
  margin-bottom: var(--space-4);
}

.visit-us-columns .opening-hours {
  margin-top: var(--space-5);
}

.visit-us-columns .button,
.visit-us-columns__info-inner .button {
  margin-top: var(--space-5);
}

@media (max-width: 767px) {
  .visit-us-columns__card {
    margin-bottom: var(--space-5);
  }
  .visit-us-columns__info-inner h3 {
    font-size: var(--h4-size, 1.25rem) !important;
    padding: var(--space-2) var(--space-3) !important;
  }
}

/**
 * Hero Image with Text — modern editorial layout
 * ------------------------------------------------------------------------- */

/* Match top/bottom section padding so the block and image breathe evenly */
.hero-iwt.section-text-with-image {
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
  padding-left: var(--space-11);
  padding-right: var(--space-11);
}

.hero-iwt.section-text-with-image.pb0 {
  padding-bottom: 0;
}

.hero-iwt.section-text-with-image.mt0.pb0 {
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 767px) {
  .hero-iwt.section-text-with-image {
    padding-top: var(--space-5) !important;
    padding-bottom: var(--space-5) !important;
    padding-left: var(--space-3) !important;
    padding-right: var(--space-3) !important;
  }

  .hero-iwt.section-text-with-image.pb0 {
    padding-bottom: 0 !important;
  }

  .hero-iwt.section-text-with-image.mt0.pb0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .hero-iwt .hero-iwt__grid.wrapper.narrow {
    padding-left: 0;
    padding-right: 0;
  }
}

.hero-iwt .hero-iwt__copy {
  position: relative;
  z-index: 1;
}

/* Match Rich text columns — .rich-text-columns__heading h2 (side-by-side layout) */
.hero-iwt .hero-iwt__text-inner .hero-iwt__title {
  font-family: var(--heading-family) !important;
  font-style: var(--heading-style) !important;
  font-weight: var(--heading-weight) !important;
  letter-spacing: var(--heading-spacing) !important;
  line-height: calc((var(--h2-size) * 0.17) + var(--h2-size)) !important;
  margin-top: 0 !important;
}

.hero-iwt.hero-iwt--title-upper .hero-iwt__text-inner .hero-iwt__title {
  text-transform: uppercase !important;
}

.hero-iwt.hero-iwt--title-normal .hero-iwt__text-inner .hero-iwt__title {
  text-transform: none !important;
}

.hero-iwt .hero-iwt__body.rte p {
  max-width: 36rem;
  opacity: 0.92;
  font-weight: 400;
}

.hero-iwt .hero-iwt__features-label {
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.75;
}

.hero-iwt .hero-iwt__media {
  border: none !important;
  overflow: visible !important;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  position: relative;
  margin-block: 0 !important;
  z-index: 1;
}

.hero-iwt .hero-iwt__media-inner.image-container {
  width: 100%;
  padding-block: var(--space-6) !important;
  padding-inline: 0 !important;
  box-sizing: border-box;
}

.hero-iwt .hero-iwt__figure {
  position: relative;
  width: 100%;
  max-height: min(92vh, 820px);
  margin-left: auto;
  margin-right: auto;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: color-mix(in srgb, var(--background) 88%, #888 12%);
}

@supports not (color: color-mix(in srgb, white 50%, black)) {
  .hero-iwt .hero-iwt__figure {
    background: rgba(0, 0, 0, 0.04);
  }
}

.hero-iwt .hero-iwt__media .box-ratio {
  width: 100% !important;
  position: relative !important;
  overflow: hidden !important;
  border: none !important;
}

.hero-iwt .hero-iwt__media .box-ratio img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
  display: block;
  border: none !important;
  transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: no-preference) {
  .hero-iwt .hero-iwt__media .box-ratio:hover img {
    transform: scale(1.03);
  }
}

.hero-iwt .hero-iwt__media img,
.hero-iwt .hero-iwt__media .image-container img {
  border: none !important;
  box-shadow: none !important;
}

.hero-iwt .hero-iwt__placeholder {
  border-radius: 0;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767px) {
  .hero-iwt .hero-iwt__media-inner.image-container {
    padding-block: var(--space-4) !important;
  }

  .hero-iwt .hero-iwt__figure {
    max-height: min(78vh, 640px);
  }
}

.hero-iwt .text {
  border-left: none !important;
  display: flex;
  flex-direction: column;
  position: relative !important;
}

.hero-iwt .text .text-with-image {
  width: 100%;
  position: relative !important;
  top: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

.hero-iwt .hero-iwt__btn.button,
.hero-iwt .button {
  margin-top: var(--space-5) !important;
}

.hero-iwt .feature-container,
.hero-iwt .feature-grid,
.hero-iwt .feature-image {
  /* inherits section inline styles */
}

/**
 * Product Listings - Section Titles with Borders
 * ------------------------------------------------------------------------- */

/* Collection page section titles */
.collection__page--description h2,
.collection-description h2,
.collection-description h1,
.section-collection-list h2,
.section-collection-list h1,
.collection-list-template h1,
.collection-list-template h2,
.template-collection h1,
.template-collection .collection-header h1,
.section-heading {
  font-family: var(--heading-family) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #000000 !important;
  margin-bottom: var(--space-4) !important;
  margin-top: 0 !important;
  text-align: left !important;
  font-size: 0.9em !important;
  line-height: 1.15 !important;
}

@media (max-width: 767px) {
  .section-heading {
    font-size: 0.85em !important;
    margin-bottom: 0 !important;
  }
  .section-featured-collection .section-heading,
  .visit-us-columns .section-heading {
    font-size: var(--h2-size) !important;
  }
  /* Hide Flickity carousel arrows on mobile */
  .section-featured-collection .flickity-button {
    display: none !important;
  }
}

/* Section heading links */
.section-heading a {
  color: #000000 !important;
  text-decoration: none !important;
}

/**
 * Forms
 * ------------------------------------------------------------------------- */

/**
 * Form Styles - Neobrutalist
 * ------------------------------------------------------------------------- */

/* Form labels - neobrutalist style */
.form label,
.template-customers-login .form label,
.template-customers-register .form label,
.template-customers-account .form label,
.contact-form label,
form label {
  font-family: var(--nav-family) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #000000 !important;
  font-size: var(--font-size) !important;
}

/* Form inputs - neobrutalist style */
input[type='email'],
input[type='password'],
input[type='text'],
input[type='tel'],
input[type='number'],
textarea {
  border: 4px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-family: var(--nav-family) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  border-radius: 0 !important;
  padding: var(--space-3) var(--space-4) !important;
  min-height: auto !important;
  height: auto !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}

/* TEMPORARILY COMMENTED OUT - Global select styles affecting product page
select {
  border: 4px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-family: var(--nav-family) !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
  border-radius: 0 !important;
  padding: var(--space-3) var(--space-4) !important;
  min-height: auto !important;
  height: auto !important;
  line-height: 1.5 !important;
  box-shadow: none !important;
  transition: background 0.2s ease, color 0.2s ease !important;
}
*/

input[type='email']:focus,
input[type='password']:focus,
input[type='text']:focus,
input[type='tel']:focus,
input[type='number']:focus,
textarea:focus {
  outline: none !important;
  border: 4px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: none !important;
}

/* TEMPORARILY COMMENTED OUT - Global select focus styles affecting product page
select:focus {
  outline: none !important;
  border: 4px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  box-shadow: none !important;
}
*/

input::placeholder,
textarea::placeholder {
  font-family: var(--nav-family) !important;
  color: #666666 !important;
  opacity: 1 !important;
  text-transform: none !important;
}

/* Textarea specific */
textarea {
  min-height: 120px !important;
  resize: vertical !important;
}

/* Select dropdowns - neobrutalist style */
/* TEMPORARILY COMMENTED OUT - Global select styles affecting product page
select,
.select-wrapper .select-selected,
.simple-select .select-selected {
  border: 4px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-family: var(--nav-family) !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
  padding: var(--space-3) var(--space-4) !important;
  cursor: pointer !important;
}
*/

.select-wrapper .select-items div,
.simple-select .select-items div {
  border: 4px solid #000000 !important;
  background: #ffffff !important;
  color: #000000 !important;
  padding: var(--space-3) var(--space-4) !important;
  border-radius: 0 !important;
}

.select-wrapper .select-items div:hover,
.simple-select .select-items div:hover {
  background: #000000 !important;
  color: #ffffff !important;
}

/* PRODUCT PAGE OVERRIDES - No borders on any inputs/selects */
.template-product input[type='email'],
.template-product input[type='password'],
.template-product input[type='text'],
.template-product input[type='tel'],
.template-product input[type='number'],
.template-product textarea,
.template-product select,
.template-product .select-wrapper .select-selected,
.template-product .original-select .selector-wrapper .select-selected,
.product_form input[type='email'],
.product_form input[type='password'],
.product_form input[type='text'],
.product_form input[type='tel'],
.product_form input[type='number'],
.product_form textarea,
.product_form select,
.product_form .select-wrapper .select-selected,
.product_form .original-select .selector-wrapper .select-selected,
.template-product input[type='email']:focus,
.template-product input[type='password']:focus,
.template-product input[type='text']:focus,
.template-product input[type='tel']:focus,
.template-product input[type='number']:focus,
.template-product textarea:focus,
.template-product select:focus,
.template-product .select-wrapper .select-selected:focus,
.template-product .original-select .selector-wrapper .select-selected:focus,
.product_form input[type='email']:focus,
.product_form input[type='password']:focus,
.product_form input[type='text']:focus,
.product_form input[type='tel']:focus,
.product_form input[type='number']:focus,
.product_form textarea:focus,
.product_form select:focus,
.product_form .select-wrapper .select-selected:focus,
.product_form .original-select .selector-wrapper .select-selected:focus,
.template-product .select-wrapper .select-selected.select-arrow-active,
.product_form .select-wrapper .select-selected.select-arrow-active {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Align number input with selects - add left padding */
.template-product .product-qty,
.template-product input[type='number'],
.product_form .product-qty,
.product_form input[type='number'] {
  padding-left: 1.5625rem !important;
}




/* Form small text */
.form small {
  font-family: var(--nav-family) !important;
  font-weight: 400 !important;
  color: #666666 !important;
  text-transform: none !important;
}

.button.btn-secondary {
  font-family: var(--nav-family);
  padding: 0 var(--space-7);
}

@media (max-width: 767px) {
  .contact__form--inner-wrapper,
  .section-template--15576928813290__form .contact__form--inner-wrapper {
    padding-right: var(--space-6) !important;
    padding-left: var(--space-6) !important;
    width: 100% !important;
  }

  .contact__form--inner-wrapper .wrapper {
    padding: 0 !important;
  }
}

/**
 * Footer
 * ------------------------------------------------------------------------- */

.pre-footer-section h2 {
  font-weight: 600;
  font-style: italic !important;
}

.bottom-footer,
.bottom-footer a {
  font-family: var(--nav-family) !important;
  font-weight: 400;
}

.admin-bar,
#preview-bar-iframe {
  display: none !important;
}

@media (max-width: 767px) {
  footer .right-footer {
    margin-top: 0;
  }
}

/**
 * Product Page Images
 * ------------------------------------------------------------------------- */

/* Add light grey background to product images on product page */
.template-product .product__image,
.template-product .product-main-image,
.template-product .product__section-images .carousel-cell img {
  background-color: #f5f5f5;
  padding: 10px;
  border-radius: 4px;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.template-product .product__section-images .carousel-cell {
  background-color: #f5f5f5;
  border-radius: 4px;
  display: block !important;
  visibility: visible !important;
}

/* Ensure product gallery images are visible */
.template-product #product-photos img,
.template-product .product-photos img,
.template-product .product-image-container img,
.template-product .product-media-container img,
.template-product .carousel-cell img,
.template-product .slides img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-width: 100% !important;
  height: auto !important;
}

/**
 * Ticker Banner
 * ------------------------------------------------------------------------- */

.ticker-banner {
  position: relative;
  /* z-index set in sticky header section at top of file */
}

.ticker-banner__text {
  font-family: var(--nav-family);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/**
 * Hero slideshow dots - small round circles (inactive only; active dot = progress bar)
 * ------------------------------------------------------------------------- */
.hero-slideshow__nav .hero-slideshow__dot:not(.is-selected),
.hero-slideshow__dots .hero-slideshow__dot:not(.is-selected) {
  display: block !important;
  width: 8px !important;
  height: 8px !important;
  min-width: 8px !important;
  min-height: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background-color: var(--hero-progress-color, #000) !important;
  cursor: pointer !important;
}

/**
 * Hero slideshow CTA - beige bg, dark text (nuclear override, must win over all button styles)
 */
.hero-slideshow .hero-slideshow__caption .hero-slideshow__cta-wrap .hero-slideshow__cta,
.hero-slideshow .hero-slideshow__cta.button,
.hero-slideshow .hero-slideshow__cta.btn-outline,
span.hero-slideshow__cta.button.btn-outline {
  background: #ece2cc !important;
  color: #262b2c !important;
  border: 4px solid #262b2c !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  padding: var(--space-3) var(--space-4) !important;
  min-height: auto !important;
  height: auto !important;
  line-height: 1.5 !important;
}
.hero-slideshow .hero-slideshow__caption .hero-slideshow__cta-wrap .hero-slideshow__cta:hover,
.hero-slideshow .hero-slideshow__cta.button:hover,
.hero-slideshow .hero-slideshow__cta.btn-outline:hover,
span.hero-slideshow__cta.button.btn-outline:hover {
  background: #262b2c !important;
  color: #faf4e8 !important;
  border-color: #262b2c !important;
  box-shadow: none !important;
  transform: none !important;
}
.hero-slideshow .hero-slideshow__cta-wrap .hero-slideshow__cta::after,
.hero-slideshow .hero-slideshow__cta::after {
  display: none !important;
  content: none !important;
}

/**
 * Mobile Navigation Redesign
 * Inspired by escape.cafe - clean, minimal, large typography
 * ------------------------------------------------------------------------- */

/* Wrapper - clean white background, full height scrollable */
.mobile-nav__wrapper--redesign {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background-color: #ffffff !important;
}

#slideout-mobile-navigation {
  background-color: #ffffff !important;
}

/* Header redesign - proper alignment */
.mobile-nav__mobile-header--redesign {
  width: 100%;
  height: 75px;
  min-height: 75px;
  box-sizing: border-box;
  border-bottom: none;
  padding: 0.875rem var(--container-padding, 4%) !important;
  margin-bottom: 0 !important;
  display: flex;
  align-items: center;
}

.mobile-nav__mobile-header--redesign ul {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
}

/* Right icons column - push to right edge */
.mobile-nav__mobile-header--redesign ul.a-right {
  margin-left: auto;
  justify-content: flex-end;
}

.mobile-nav__mobile-header--redesign .slideout__trigger--close button {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

/* All icons in mobile header - consistent size and alignment */
.mobile-nav__mobile-header--redesign svg,
.mobile-nav__mobile-header--redesign .icon,
.mobile-nav__mobile-header--redesign button svg {
  width: 20px !important;
  height: 20px !important;
  display: block;
}

/* Cart icon container alignment */
.mobile-nav__mobile-header--redesign .header-cart-links,
.mobile-nav__mobile-header--redesign .cart-link {
  display: flex;
  align-items: center;
  justify-content: center;
}

.mobile-nav__mobile-header--redesign .cart-link {
  margin-top: 4px;
}

.mobile-nav__mobile-header--redesign .cart-link svg,
.mobile-nav__mobile-header--redesign .cart-link .icon,
.mobile-nav__mobile-header--redesign .cart-link button svg {
  width: 22px !important;
  height: 22px !important;
}

/* Menu blocks container */
/* No horizontal padding on container - padding only on triggers/links for single padding */
.mobile-nav__wrapper--redesign .mobile-nav__menu-blocks {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 0 0 1.5rem 0;
  background-color: #ffffff !important;
}

/* Navigation wrapper */
.mobile-nav__wrapper--redesign .mobile-nav__mobile-menu-wrapper {
  flex: 1;
}

/* Accordion redesign - remove all borders */
.mobile-nav__wrapper--redesign .c-accordion--redesign {
  border-top: none !important;
  background-color: #ffffff !important;
}

.mobile-nav__wrapper--redesign .c-accordion--redesign > li {
  background-color: #ffffff !important;
}

.mobile-nav__wrapper--redesign .c-accordion--redesign .c-accordion__top-level {
  border: none !important;
  padding: 0;
  position: relative;
  background-color: #ffffff !important;
}

/* Force white backgrounds on ALL elements - override everything */
.mobile-nav__wrapper--redesign li,
.mobile-nav__wrapper--redesign li:hover,
.mobile-nav__wrapper--redesign li:focus,
.mobile-nav__wrapper--redesign li:active,
.mobile-nav__wrapper--redesign .c-accordion__top-level,
.mobile-nav__wrapper--redesign .c-accordion__top-level:hover,
.mobile-nav__wrapper--redesign .c-accordion__second-level,
.mobile-nav__wrapper--redesign .c-accordion__second-level:hover,
.mobile-nav__wrapper--redesign .c-accordion__third-level li,
.mobile-nav__wrapper--redesign .c-accordion__third-level li:hover,
.mobile-nav__wrapper--redesign .c-accordion__header,
.mobile-nav__wrapper--redesign .c-accordion__header:hover,
.mobile-nav__wrapper--redesign .js-accordion-header,
.mobile-nav__wrapper--redesign .js-accordion-header:hover,
.mobile-nav__wrapper--redesign li.c-accordion__header,
.mobile-nav__wrapper--redesign li.js-accordion-header {
  background: #ffffff !important;
  background-color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none !important;
}

/* ============================================
   ACCORDION TRIGGER - Full width clickable button
   ============================================ */

.mobile-nav__wrapper--redesign .c-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 1.25rem !important;
  padding-bottom: 1.25rem !important;
  padding-left: 0;
  padding-right: 0;
  margin: 0 !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  box-sizing: border-box !important;
  min-height: 52px !important;
}

/* Ensure header list items maintain consistent height */
.mobile-nav__wrapper--redesign li.c-accordion__header,
.mobile-nav__wrapper--redesign li.js-accordion-header,
.mobile-nav__wrapper--redesign .c-accordion__top-level.c-accordion__header,
.mobile-nav__wrapper--redesign .c-accordion__top-level.js-accordion-header {
  min-height: 0 !important;
  height: auto !important;
}

/* Nuclear option: Force white background and remove padding on ALL button states */
/* Must override the massive global button selector with higher specificity */
.mobile-nav__wrapper--redesign .c-accordion__trigger,
.mobile-nav__wrapper--redesign .c-accordion__trigger:hover,
.mobile-nav__wrapper--redesign .c-accordion__trigger:focus,
.mobile-nav__wrapper--redesign .c-accordion__trigger:active,
.mobile-nav__wrapper--redesign .c-accordion__trigger:focus-visible,
.mobile-nav__wrapper--redesign button.c-accordion__trigger,
.mobile-nav__wrapper--redesign button.c-accordion__trigger:hover,
.mobile-nav__wrapper--redesign button.c-accordion__trigger:focus,
.mobile-nav__wrapper--redesign button.c-accordion__trigger:active,
.mobile-nav__wrapper--redesign .c-accordion__top-level .c-accordion__trigger,
.mobile-nav__wrapper--redesign .c-accordion__top-level .c-accordion__trigger:hover,
.mobile-nav__wrapper--redesign .c-accordion__top-level .c-accordion__trigger:focus,
.mobile-nav__wrapper--redesign .c-accordion__top-level .c-accordion__trigger:active,
.mobile-nav__wrapper--redesign .c-accordion__second-level .c-accordion__trigger,
.mobile-nav__wrapper--redesign .c-accordion__second-level .c-accordion__trigger:hover,
.mobile-nav__wrapper--redesign .c-accordion__second-level .c-accordion__trigger:focus,
.mobile-nav__wrapper--redesign .c-accordion__second-level .c-accordion__trigger:active,
.mobile-nav__wrapper--redesign .c-accordion__top-level button,
.mobile-nav__wrapper--redesign .c-accordion__top-level button:hover,
.mobile-nav__wrapper--redesign .c-accordion__top-level button:focus,
.mobile-nav__wrapper--redesign .c-accordion__top-level button:active,
.mobile-nav__wrapper--redesign .c-accordion__second-level button,
.mobile-nav__wrapper--redesign .c-accordion__second-level button:hover,
.mobile-nav__wrapper--redesign .c-accordion__second-level button:focus,
.mobile-nav__wrapper--redesign .c-accordion__second-level button:active,
#slideout-mobile-navigation .mobile-nav__wrapper--redesign button.c-accordion__trigger,
#slideout-mobile-navigation .mobile-nav__wrapper--redesign button.c-accordion__trigger:hover,
#slideout-mobile-navigation .mobile-nav__wrapper--redesign button.c-accordion__trigger:focus,
#slideout-mobile-navigation .mobile-nav__wrapper--redesign button.c-accordion__trigger:active,
.mobile-nav__wrapper--redesign .c-accordion__top-level--shop .c-accordion__trigger,
.mobile-nav__wrapper--redesign .c-accordion__top-level--shop .c-accordion__trigger:hover {
  background: #ffffff !important;
  background-color: #ffffff !important;
  box-shadow: none !important;
  outline: none !important;
  transition: none !important;
}

/* Remove margin-bottom from all accordion links */
.mobile-nav__wrapper--redesign .c-accordion__link {
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block;
  vertical-align: middle;
}

/* Remove hover backgrounds on all links */
.mobile-nav__wrapper--redesign .c-accordion__link:hover,
.mobile-nav__wrapper--redesign .c-accordion__link:focus,
.mobile-nav__wrapper--redesign .c-accordion__link:active,
.mobile-nav__wrapper--redesign a.c-accordion__link:hover,
.mobile-nav__wrapper--redesign a.c-accordion__link:focus,
.mobile-nav__wrapper--redesign a.c-accordion__link:active {
  background: none !important;
  background-color: transparent !important;
}

/* Plus/Minus icon toggle */
.mobile-nav__wrapper--redesign .c-accordion__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.mobile-nav__wrapper--redesign .c-accordion__icon svg {
  width: 12px;
  height: 12px;
}

.mobile-nav__wrapper--redesign .c-accordion__icon-minus {
  display: none;
}

.mobile-nav__wrapper--redesign .c-accordion__trigger[aria-expanded="true"] .c-accordion__icon-plus {
  display: none;
}

.mobile-nav__wrapper--redesign .c-accordion__trigger[aria-expanded="true"] .c-accordion__icon-minus {
  display: flex;
}

/* ============================================
   SHOP SECTION - Large children, small label
   ============================================ */

/* Shop header - small uppercase label, NO border */
.mobile-nav__wrapper--redesign .c-accordion__top-level--shop {
  border: none !important;
}

.mobile-nav__wrapper--redesign .c-accordion__top-level--shop .c-accordion__trigger {
  padding: 0 var(--container-padding, 4%) 0.5rem var(--container-padding, 4%);
}

.mobile-nav__wrapper--redesign .c-accordion__top-level--shop .c-accordion__link {
  font-family: var(--nav-family, 'Figtree', sans-serif);
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-color, #121212) !important;
}

/* Hide icon for Shop - it's always expanded */
.mobile-nav__wrapper--redesign .c-accordion__top-level--shop .c-accordion__icon {
  display: none !important;
}

/* Shop panel - always visible, no transitions */
.mobile-nav__wrapper--redesign .c-accordion__panel--shop {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  background-color: #ffffff !important;
  transition: none !important;
}

/* Remove transitions from all accordion panels to prevent jumping */
.mobile-nav__wrapper--redesign .c-accordion__panel {
  transition: none !important;
}

.mobile-nav__wrapper--redesign .c-accordion__third-level {
  transition: none !important;
}

/* Shop children wrapper - NO padding left, increased bottom spacing */
.mobile-nav__wrapper--redesign .c-accordion__second-level-wrapper--shop {
  background-color: #ffffff !important;
  padding: 0.5rem 0 3rem 0 !important;
  border-bottom: none !important;
  margin: 0 0 2rem 0 !important;
}

/* Shop children - VERY large typography, NO indent, increased vertical padding */
.mobile-nav__wrapper--redesign .c-accordion__second-level--shop {
  border-bottom: none !important;
  background-color: #ffffff !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mobile-nav__wrapper--redesign .c-accordion__second-level--shop .c-accordion__link {
  font-family: var(--heading-family, 'Figtree', sans-serif);
  font-size: 1.75rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  padding: 0.5rem var(--container-padding, 4%) !important;
  color: var(--text-color, #121212) !important;
  line-height: 1.15;
  display: block;
}

/* ============================================
   OTHER NAV ITEMS - Smaller, full-width borders
   ============================================ */

/* All regular top-level items get top border */
.mobile-nav__wrapper--redesign .c-accordion__top-level:not(.c-accordion__top-level--shop) {
  border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-bottom: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Padding on the trigger only */
.mobile-nav__wrapper--redesign .c-accordion__top-level:not(.c-accordion__top-level--shop) .c-accordion__trigger {
  padding-left: var(--container-padding, 4%) !important;
  padding-right: var(--container-padding, 4%) !important;
}

/* Regular top-level links - uppercase */
.mobile-nav__wrapper--redesign .c-accordion__top-level:not(.c-accordion__top-level--shop) .c-accordion__link {
  font-family: var(--nav-family, 'Figtree', sans-serif);
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-color, #121212) !important;
  line-height: 1.3;
}

/* Top-level links that are just <a> tags (no children) */
.mobile-nav__wrapper--redesign .c-accordion__top-level > a.c-accordion__link {
  display: block;
  padding: 1rem var(--container-padding, 4%) !important;
}

/* Regular panels - white bg, NO indent, padding only on inner content not wrapper */
.mobile-nav__wrapper--redesign .c-accordion__panel:not(.c-accordion__panel--shop) {
  background-color: #ffffff !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Regular second level wrapper - NO indent */
.mobile-nav__wrapper--redesign .c-accordion__second-level-wrapper:not(.c-accordion__second-level-wrapper--shop) {
  background-color: #ffffff !important;
  padding: 0 0 0.5rem 0 !important;
  margin: 0 !important;
}

/* Regular second level items - no borders, NO indent */
.mobile-nav__wrapper--redesign .c-accordion__second-level:not(.c-accordion__second-level--shop) {
  border-bottom: none !important;
  background-color: #ffffff !important;
  padding-left: 0 !important;
}

/* Regular second level links */
.mobile-nav__wrapper--redesign .c-accordion__second-level:not(.c-accordion__second-level--shop) .c-accordion__link {
  font-family: var(--main-family, 'Figtree', sans-serif);
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  padding: 0.5rem var(--container-padding, 4%) !important;
  color: var(--text-color, #121212) !important;
  display: block;
  line-height: 1.4;
}

/* Second level with children - trigger styling */
.mobile-nav__wrapper--redesign .c-accordion__second-level .c-accordion__trigger {
  padding: 0.5rem var(--container-padding, 4%);
}

/* Second-level--shop: remove horizontal padding from trigger (child of js-accordion-header.c-accordion__second-level--shop) */
.mobile-nav__wrapper--redesign .js-accordion-header.c-accordion__header.c-accordion__second-level.c-accordion__second-level--shop .c-accordion__trigger {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mobile-nav__wrapper--redesign .c-accordion__second-level .c-accordion__trigger .c-accordion__link {
  padding: 0 !important;
}

/* Third level links - NO indent */
.mobile-nav__wrapper--redesign .c-accordion__third-level {
  background-color: #ffffff !important;
}

.mobile-nav__wrapper--redesign .c-accordion__third-level ul {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.mobile-nav__wrapper--redesign .c-accordion__third-level li {
  background-color: #ffffff !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.mobile-nav__wrapper--redesign .c-accordion__third-level .c-accordion__link {
  font-size: 0.875rem !important;
  padding: 0.4rem var(--container-padding, 4%) !important;
  color: rgba(18, 18, 18, 0.7) !important;
  display: block;
  line-height: 1.4;
}

/* CRITICAL: Add extra padding-top when accordion is open to compensate for height shift */
/* This MUST come last to override all other padding rules */
.mobile-nav__wrapper--redesign .c-accordion__trigger[aria-expanded="true"],
.mobile-nav__wrapper--redesign button.c-accordion__trigger[aria-expanded="true"],
.mobile-nav__wrapper--redesign .c-accordion__top-level .c-accordion__trigger[aria-expanded="true"],
.mobile-nav__wrapper--redesign .c-accordion__second-level .c-accordion__trigger[aria-expanded="true"],
.mobile-nav__wrapper--redesign .c-accordion__top-level:not(.c-accordion__top-level--shop) .c-accordion__trigger[aria-expanded="true"] {
  padding-top: 1.25rem !important;
}

/**
 * Featured Product CTA
 * Large image card at bottom of mobile menu
 * ------------------------------------------------------------------------- */
.mobile-nav__featured-cta {
  margin-left: 0;
  margin-right: 0;
  padding: 2rem var(--container-padding, 4%) 1.5rem var(--container-padding, 4%);
  background-color: #ffffff;
}

.mobile-nav__featured-cta__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.mobile-nav__featured-cta__image-wrapper {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin-bottom: 1rem;
  border-radius: 4px;
  overflow: hidden;
  background-color: #f5f5f5;
}

.mobile-nav__featured-cta__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.mobile-nav__featured-cta__content {
  text-align: left;
}

.mobile-nav__featured-cta__title {
  font-family: var(--heading-family, 'Figtree', sans-serif);
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
  color: var(--text-color, #121212);
}

.mobile-nav__featured-cta__price {
  font-family: var(--main-family, 'Figtree', sans-serif);
  font-size: 1rem;
  font-weight: 500;
  margin: 0 0 0.5rem 0;
  color: var(--text-color, #121212);
}

.mobile-nav__featured-cta__description {
  font-family: var(--main-family, 'Figtree', sans-serif);
  font-size: 0.875rem;
  font-weight: 400;
  margin: 0;
  color: rgba(18, 18, 18, 0.7);
  line-height: 1.5;
}

/* Hover state for CTA */
.mobile-nav__featured-cta__link:hover .mobile-nav__featured-cta__title {
  text-decoration: underline;
}

/* Mobile navigation z-index - must be above overlay (1500) */
#slideout-mobile-navigation {
  z-index: 2000 !important;
}

/* -------------------------------------------------------------------------
   Flickity slider arrows: on mobile, keep arrows together (as on desktop)
   but align the group to the screen edge. Arrows inherit container padding;
   we use negative margin on the group so the pair stays together at the edge.
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
  /* Product gallery: both arrows are left-aligned (previous 5px, next 54px).
     Pull the pair to the viewport edge without separating them. */
  #product-images .flickity-prev-next-button.previous,
  #product-images .flickity-prev-next-button.next {
    margin-left: calc(-1 * var(--space-6, 25px)) !important;
  }
  /* Slider arrows slightly lower on mobile */
  #product-images .flickity-prev-next-button {
    top: 32px !important;
  }
}
