/** Shopify CDN: Minification failed

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

**/
/* ============================================================
   THE ROOT RITUAL — Shopify Theme Custom CSS
   
   USAGE: Paste into Shopify Admin > Online Store > Themes >
          Edit Code > Assets > Add "custom.css"
          Then include in theme.liquid: {{ 'custom.css' | asset_url | stylesheet_tag }}
   
   Designed for Dawn theme (Shopify's default free theme)
   or any clean/editorial theme.
   ============================================================ */

/* ─────────────────────────────────────────────────────────────
   1. FONT IMPORT
   ───────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400;1,600;1,700&display=swap');

/* ─────────────────────────────────────────────────────────────
   2. CSS CUSTOM PROPERTIES (Brand Tokens)
   ───────────────────────────────────────────────────────────── */
:root {
  --color-sage: #8a9b68;
  --color-sage-hover: rgba(138, 155, 104, 0.9);
  --color-sage-light: rgba(138, 155, 104, 0.1);
  --color-lavender: #967bb6;
  --color-terracotta: #b36a3b;
  --color-cream: #e3dac9;
  --color-ivory: #f5f0e6;
  --color-tan: #c1be9b;
  --color-charcoal: #2c2c2c;
  --color-paper: #FAF7F2;
  --color-white: #ffffff;
  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Cormorant Garamond', serif;
  --radius-card: 1rem;
  --radius-button: 9999px;
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-card-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
  :root {
  --color-sage: #8a9b68;
  --color-sage-hover: rgba(138, 155, 104, 0.9);
  --color-sage-light: rgba(138, 155, 104, 0.1);
  --color-lavender: #967bb6;
  --color-terracotta: #b36a3b;
  --color-cream: #e3dac9;
  --color-ivory: #f5f0e6;
  --color-tan: #c1be9b;
  --color-charcoal: #2c2c2c;
  --color-paper: #FAF7F2;
  --color-white: #ffffff;
  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Cormorant Garamond', serif;
  --radius-card: 1rem;
  --radius-button: 9999px;
  --shadow-card: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-card-hover: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
/* --------------------------------------------------
   DAWN VARIABLE BRIDGE
   Maps Root Ritual tokens into Dawn's RGB system
-------------------------------------------------- */

:root {
  --rr-paper-rgb: 250, 247, 242;      /* #FAF7F2 */
  --rr-ivory-rgb: 245, 240, 230;      /* #F5F0E6 */
  --rr-cream-rgb: 227, 218, 201;      /* #E3DAC9 */
  --rr-charcoal-rgb: 44, 44, 44;      /* #2C2C2C */
  --rr-sage-rgb: 138, 155, 104;       /* #8A9B68 */
  --rr-terracotta-rgb: 179, 106, 59;  /* #B36A3B */
  --rr-lavender-rgb: 150, 123, 182;   /* #967BB6 */

  --color-base-background-1: var(--rr-paper-rgb);
  --color-base-background-2: var(--rr-ivory-rgb);
  --color-base-text: var(--rr-charcoal-rgb);

  --color-background: var(--rr-paper-rgb);
  --color-foreground: var(--rr-charcoal-rgb);

  --color-button: var(--rr-sage-rgb);
  --color-button-text: 255, 255, 255;

  --color-link: var(--rr-sage-rgb);

  --color-badge-background: var(--rr-sage-rgb);
  --color-badge-foreground: 255, 255, 255;
}

/* ─────────────────────────────────────────────────────────────
   3. GLOBAL STYLES
   ───────────────────────────────────────────────────────────── */
body,
.shopify-section {
  background-color: var(--color-paper) !important;
  font-family: var(--font-body) !important;
  font-weight: 400;
  color: var(--color-charcoal);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
   background: rgb(var(--color-background)) !important;
  color: rgb(var(--color-foreground)) !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-heading) !important;
  font-weight: 400;
  color: var(--color-charcoal);
  letter-spacing: 0.02em;
  line-height: 1.2;
}

/* Controlled hierarchy */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: 700 !important;
}

.price,
.price-item,
.card__heading,
.product__title {
  font-weight: 700 !important;
}

.button,
.button--primary {
  font-weight: 500 !important;
}

.header__menu-item {
  font-weight: 300 !important;
}


p, span, li, a, label, input, select, textarea {
  font-family: var(--font-body) !important;
}

a {
  color: var(--color-charcoal);
  transition: color 300ms ease;
}

a:hover {
  color: var(--color-sage);
}

/* Subtle paper grain texture (matches Replit site) */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.03;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300"><filter id="noise"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="4" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23noise)"/></svg>');
  z-index: 9999;
}

/* ─────────────────────────────────────────────────────────────
   4. HEADER / NAVIGATION
   ───────────────────────────────────────────────────────────── */
.header-wrapper,
.section-header,
header.header {
  background-color: rgba(245, 240, 230, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: none !important;
  box-shadow: none;
}

/* Scrolled state — add subtle shadow */
.header-wrapper--scrolled,
.shopify-section-header.shopify-section-header--sticky {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
}

.header__heading-link {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem;
  color: var(--color-sage) !important;
  letter-spacing: 0.05em;
  font-weight: 700;
}

/* Navigation links */
.header__menu-item,
.header__menu-item span,
.list-menu__item--link {
  font-family: var(--font-body) !important;
  font-size: 0.875rem !important;
  font-weight: 300 !important;
  color: rgba(44, 44, 44, 0.7) !important;
  letter-spacing: 0.05em;
  text-transform: none !important;
  transition: color 300ms ease;
}

.header__menu-item:hover,
.header__menu-item:hover span,
.list-menu__item--link:hover {
  color: var(--color-sage) !important;
}

/* Cart icon badge */
.cart-count-bubble {
  background-color: var(--color-sage) !important;
  color: white !important;
  font-weight: 700;
  font-size: 0.75rem;
}

/* Header logo sizing */
.header__heading-logo {
  max-width: 56px !important;
}

/* ─────────────────────────────────────────────────────────────
   5. HERO / BANNER SECTION
   ───────────────────────────────────────────────────────────── */
.banner__content,
.slideshow__text {
  font-family: var(--font-heading) !important;
}

.banner__heading,
.slideshow__heading {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  font-size: 2.25rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
  color: var(--color-charcoal) !important;
}

@media (min-width: 750px) {
  .banner__heading,
  .slideshow__heading {
    font-size: 3.75rem !important;
  }
}

@media (min-width: 990px) {
  .banner__heading,
  .slideshow__heading {
    font-size: 4.5rem !important;
  }
}

/* Sage italic accent for hero subtitle */
.banner__text,
.slideshow__text .rte {
  font-family: var(--font-body) !important;
  font-size: 1.125rem;
  font-weight: 300;
  color: rgba(44, 44, 44, 0.6);
  letter-spacing: 0.03em;
  line-height: 1.65;
}

/* ─────────────────────────────────────────────────────────────
   6. BUTTONS
   ───────────────────────────────────────────────────────────── */

/* Primary button (Add to Cart, CTA) */
.button--primary,
.shopify-payment-button__button,
.btn--primary,
button.button,
.button:not(.button--secondary):not(.button--tertiary) {
  background-color: var(--color-sage) !important;
  color: var(--color-white) !important;
  border: 1px solid var(--color-sage) !important;
  border-radius: var(--radius-button) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.02em;
  padding: 0.625rem 1.5rem !important;
  transition: background-color 300ms ease, transform 200ms ease;
  box-shadow: none !important;
  text-transform: none !important;
}

.button--primary:hover,
.btn--primary:hover,
button.button:hover {
  background-color: var(--color-sage-hover) !important;
  transform: translateY(-1px);
}

.button--primary:focus-visible,
button.button:focus-visible {
  outline: 2px solid var(--color-sage) !important;
  outline-offset: 2px;
}

.button--primary:disabled,
button.button:disabled {
  opacity: 0.5;
  pointer-events: none;
}

/* Secondary / Outline button */
.button--secondary,
.btn--secondary {
  background-color: transparent !important;
  color: var(--color-sage) !important;
  border: 1px solid var(--color-sage) !important;
  border-radius: var(--radius-button) !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  font-size: 0.875rem !important;
  padding: 0.625rem 1.5rem !important;
  transition: all 300ms ease;
  text-transform: none !important;
}

.button--secondary:hover,
.btn--secondary:hover {
  background-color: var(--color-sage) !important;
  color: var(--color-white) !important;
}

/* Ghost / Tertiary button */
.button--tertiary,
.btn--tertiary {
  background-color: transparent !important;
  color: rgba(44, 44, 44, 0.7) !important;
  border: none !important;
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  transition: color 300ms ease;
  text-transform: none !important;
}

.button--tertiary:hover,
.btn--tertiary:hover {
  color: var(--color-sage) !important;
  background-color: rgba(138, 155, 104, 0.05) !important;
}

/* Shopify dynamic checkout buttons override */
.shopify-payment-button__button--unbranded {
  background-color: var(--color-sage) !important;
  border-radius: var(--radius-button) !important;
  font-family: var(--font-body) !important;
}

/* ─────────────────────────────────────────────────────────────
   7. PRODUCT CARDS / TILES
   ───────────────────────────────────────────────────────────── */
.card-wrapper,
.product-card-wrapper,
.card {
  background-color: var(--color-white) !important;
  border-radius: var(--radius-card) !important;
  border: 1px solid rgba(44, 44, 44, 0.1) !important;
  overflow: hidden;
  box-shadow: var(--shadow-card);
  transition: all 300ms ease, transform 300ms ease;
}

.card-wrapper:hover,
.product-card-wrapper:hover,
.card:hover {
  box-shadow: var(--shadow-card-hover) !important;
  transform: translateY(-4px);
  border-color: rgba(138, 155, 104, 0.2) !important;
}

/* Card image area */
.card__media,
.card__inner {
  border-radius: var(--radius-card) var(--radius-card) 0 0 !important;
  overflow: hidden;
  background-color: rgba(138, 155, 104, 0.05);
}

.card__media img {
  transition: transform 500ms ease !important;
}

.card-wrapper:hover .card__media img {
  transform: scale(1.05) !important;
}

/* Card content area */
.card__content,
.card-information {
  padding: 1.25rem !important;
}

/* Product title in card */
.card__heading,
.card-information__text .card__heading,
.card__heading a {
  font-family: var(--font-heading) !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: var(--color-charcoal) !important;
  line-height: 1.35;
  transition: color 300ms ease;
}

.card__heading a:hover {
  color: var(--color-sage) !important;
}

/* Product price in card */
.price-item,
.price__regular .price-item--regular,
.price .money {
  font-family: var(--font-heading) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--color-sage) !important;
}

/* Compare-at / original price */
.price--on-sale .price-item--regular,
.price__sale .price-item--regular {
  font-size: 1.125rem !important;
  color: rgba(44, 44, 44, 0.5) !important;
  text-decoration: line-through;
/* ============================================================
   SHOP PAGE: Consistent product tile heights + image cropping
   (Dawn)
   ============================================================ */

/* Ensure cards stretch evenly in grids */
.card-wrapper,
.product-card-wrapper {
  height: 100%;
}

.card,
.card__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Lock image area to a consistent editorial ratio */
.card__media {
  aspect-ratio: 4 / 5; /* change to 1/1 for square tiles */
  overflow: hidden;
  background-color: rgba(138, 155, 104, 0.05);
}

/* Crop images cleanly instead of stretching */
.card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Keep content spacing consistent */
.card__content,
.card-information {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding-bottom: 1.25rem !important;
}

/* Push price / badges / CTA area to the bottom for uniformity */
.card__information,
.card-information__wrapper {
  margin-top: auto;
}


/* ─────────────────────────────────────────────────────────────
   8. BADGES / TAGS
   ───────────────────────────────────────────────────────────── */
.badge,
.card__badge {
  font-family: var(--font-body) !important;
  font-size: 0.75rem !important;
  font-weight: 600;
  padding: 0.25rem 0.75rem;
  border-radius: var(--radius-button);
}

/* Sale badge */
.badge--sale,
.badge[data-badge="sale"] {
  background-color: var(--color-lavender) !important;
  color: var(--color-white) !important;
  border: none !important;
}

/* Sold out badge */
.badge--sold-out,
.badge[data-badge="sold-out"] {
  background-color: rgba(44, 44, 44, 0.8) !important;
  color: var(--color-white) !important;
  border: none !important;
}

/* Custom badge for bestseller */
.badge--custom {
  background-color: var(--color-sage) !important;
  color: var(--color-white) !important;
}

/* Herb/ingredient chips */
.tag,
.product__tag {
  background-color: rgba(138, 155, 104, 0.1);
  color: var(--color-sage);
  border: 1px solid rgba(138, 155, 104, 0.3);
  border-radius: var(--radius-button);
  font-size: 0.75rem;
  padding: 0.125rem 0.5rem;
  font-weight: 600;
}

/* ─────────────────────────────────────────────────────────────
   9. PRODUCT PAGE
   ───────────────────────────────────────────────────────────── */

/* Product title */
.product__title,
.product-single__title {
  font-family: var(--font-heading) !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--color-charcoal) !important;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

@media (min-width: 750px) {
  .product__title,
  .product-single__title {
    font-size: 2.5rem !important;
  }
}

/* Product price */
.product__price,
.product-single__price {
  font-family: var(--font-heading) !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--color-sage) !important;
}

/* Product description text */
.product__description,
.product-single__description,
.product__description .rte {
  font-family: var(--font-body) !important;
  font-size: 1.125rem !important;
  font-weight: 500;
  color: rgba(44, 44, 44, 0.8);
  line-height: 1.65;
}

/* Product image gallery */
.product__media-list {
  gap: 0.5rem;
}

.product__media-item {
  border-radius: var(--radius-card) !important;
  overflow: hidden;
  border: 1px solid rgba(44, 44, 44, 0.05);
}

/* Thumbnail gallery */
.thumbnail-list .thumbnail {
  border-radius: 0.75rem !important;
  border: 2px solid transparent;
  transition: border-color 300ms ease;
  overflow: hidden;
}

.thumbnail-list .thumbnail.is-active,
.thumbnail-list .thumbnail:hover {
  border-color: var(--color-sage) !important;
}

/* Tab system (Description / How to Use / Ingredients) */
.product__accordion .accordion__title,
.product__tab-button,
.collapsible-content__header {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  color: var(--color-charcoal) !important;
  border-bottom: 1px solid rgba(44, 44, 44, 0.1);
  padding: 1rem 0;
}

.product__tab-button--active,
.product__tab-button:hover {
  color: var(--color-sage) !important;
  border-bottom-color: var(--color-sage) !important;
}

/* Quantity selector */
.quantity__input {
  font-family: var(--font-body) !important;
  font-weight: 600;
  border-color: rgba(44, 44, 44, 0.1) !important;
  border-radius: 0.75rem !important;
}

.quantity__button {
  color: var(--color-charcoal) !important;
  border-color: rgba(44, 44, 44, 0.1) !important;
}

.quantity__button:hover {
  color: var(--color-sage) !important;
}

/* ─────────────────────────────────────────────────────────────
   10. COLLECTION PAGE
   ───────────────────────────────────────────────────────────── */

/* Collection title */
.collection-hero__title,
.collection__title {
  font-family: var(--font-heading) !important;
  font-size: 2.25rem !important;
  font-weight: 700 !important;
  color: var(--color-charcoal) !important;
  letter-spacing: 0.02em;
  text-align: center;
}

@media (min-width: 750px) {
  .collection-hero__title,
  .collection__title {
    font-size: 3rem !important;
  }
}

/* Collection description */
.collection-hero__description,
.collection__description {
  font-family: var(--font-body) !important;
  font-size: 1.125rem;
  font-weight: 300;
  color: rgba(44, 44, 44, 0.7);
  text-align: center;
  max-width: 42rem;
  margin: 0 auto;
  line-height: 1.65;
}

/* Product grid */
.collection-product-list,
.product-grid {
  gap: 1.5rem !important;
}

@media (min-width: 750px) {
  .collection-product-list,
  .product-grid {
    gap: 2rem !important;
  }
}

/* Filter/sort bar */
.facets__wrapper {
  border-color: rgba(44, 44, 44, 0.1) !important;
}

.facets__label,
.facets__selected {
  font-family: var(--font-body) !important;
  font-weight: 500;
  color: var(--color-charcoal);
}

/* ─────────────────────────────────────────────────────────────
   11. CART DRAWER / CART PAGE
   ───────────────────────────────────────────────────────────── */
.cart-drawer,
.cart-notification {
  background-color: var(--color-paper) !important;
  font-family: var(--font-body) !important;
}

.cart-drawer__header {
  border-bottom: 1px solid rgba(138, 155, 104, 0.1) !important;
}

.cart-drawer__heading,
.cart__heading {
  font-family: var(--font-heading) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  color: var(--color-charcoal) !important;
}

/* Cart item rows */
.cart-item {
  background-color: var(--color-cream) !important;
  border-radius: 0.75rem !important;
  padding: 1rem !important;
  margin-bottom: 1rem;
}

.cart-item__name {
  font-family: var(--font-body) !important;
  font-weight: 500 !important;
  color: var(--color-charcoal) !important;
}

/* --- CART DRAWER POLISH ADDITIONS --- */

/* Drawer title Sage */
.cart-drawer__heading,
.cart__heading {
  color: var(--color-sage) !important;
  letter-spacing: 0.02em;
}

/* Subtotal */
.totals__subtotal,
.totals__subtotal-value {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  color: var(--color-sage) !important;
  font-size: 1.5rem;
}

/* Checkout button */
.cart__checkout-button,
.cart-drawer__footer button[name="checkout"],
button[name="checkout"] {
  border-radius: 9999px !important;
  min-height: 48px !important;
  font-weight: 500 !important;
  transition: transform 200ms ease;
}

.cart__checkout-button:hover,
.cart-drawer__footer button[name="checkout"]:hover,
button[name="checkout"]:hover {
  transform: translateY(-2px);
}

  padding: 0.875rem 2rem !important;
}

/* ─────────────────────────────────────────────────────────────
   12. FOOTER
   ───────────────────────────────────────────────────────────── */
.footer,
.section-footer {
  background-color: var(--color-charcoal) !important;
  color: rgba(255, 255, 255, 0.6) !important;
  padding: 5rem 0 !important;
}

.footer__heading,
.footer-block__heading {
  font-family: var(--font-heading) !important;
  font-size: 1.125rem !important;
  font-weight: 300 !important;
  color: var(--color-white) !important;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem !important;
}

.footer__list-item a,
.footer-block a {
  font-family: var(--font-body) !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.6) !important;
  transition: color 300ms ease;
}

.footer__list-item a:hover,
.footer-block a:hover {
  color: var(--color-sage) !important;
}

.footer__copyright {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.4) !important;
  font-weight: 300;
  letter-spacing: 0.05em;
}

/* ─────────────────────────────────────────────────────────────
   13. FORMS & INPUTS
   ───────────────────────────────────────────────────────────── */
.field__input,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
select,
textarea {
  font-family: var(--font-body) !important;
  border: 1px solid rgba(138, 155, 104, 0.2) !important;
  border-radius: 0.75rem !important;
  background-color: rgba(255, 255, 255, 0.9) !important;
  color: var(--color-charcoal) !important;
  padding: 0.625rem 1rem !important;
  transition: border-color 300ms ease;
}

.field__input:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: var(--color-sage) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(138, 155, 104, 0.2) !important;
}

.field__label {
  font-family: var(--font-body) !important;
  color: var(--color-charcoal) !important;
  font-weight: 500;
}

/* Newsletter subscribe in footer */
.newsletter-form__field-wrapper .field__input {
  border-radius: var(--radius-button) !important;
  padding-right: 3rem !important;
}

.newsletter-form__button {
  background-color: var(--color-sage) !important;
  border-radius: var(--radius-button) !important;
}

/* ─────────────────────────────────────────────────────────────
   14. ANNOUNCEMENT BAR
   ───────────────────────────────────────────────────────────── */
.announcement-bar {
  background-color: var(--color-sage) !important;
  color: var(--color-white) !important;
  font-family: var(--font-body) !important;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

/* ─────────────────────────────────────────────────────────────
   15. RICH TEXT / EDITORIAL SECTIONS
   ───────────────────────────────────────────────────────────── */
.rich-text__heading {
  font-family: var(--font-heading) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}

.rich-text__text,
.rich-text__text .rte {
  font-family: var(--font-body) !important;
  font-weight: 300;
  color: rgba(44, 44, 44, 0.7);
  line-height: 1.65;
  letter-spacing: 0.03em;
}

/* ─────────────────────────────────────────────────────────────
   16. ACCORDION / COLLAPSIBLE SECTIONS
   ───────────────────────────────────────────────────────────── */
.accordion summary,
.collapsible-content summary {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  color: var(--color-charcoal);
  border-bottom: 1px solid rgba(44, 44, 44, 0.1);
  padding: 1rem 0;
}

.accordion .rte,
.collapsible-content .rte {
  font-family: var(--font-body) !important;
  font-weight: 500;
  color: rgba(44, 44, 44, 0.8);
  line-height: 1.65;
}

/* ─────────────────────────────────────────────────────────────
   17. MOBILE RESPONSIVE OVERRIDES
   ───────────────────────────────────────────────────────────── */
@media (max-width: 749px) {
  h1,
  .banner__heading {
    font-size: 2.25rem !important;
  }

  h2,
  .collection-hero__title {
    font-size: 1.875rem !important;
  }

  .product__title {
    font-size: 1.75rem !important;
  }

  .button--primary,
  button.button {
    padding: 0.75rem 1.25rem !important;
    font-size: 0.875rem !important;
  }

  .card__content,
  .card-information {
    padding: 1rem !important;
  }

  body {
    font-size: 1rem;
  }
}

/* ─────────────────────────────────────────────────────────────
   18. ACCESSIBILITY
   ───────────────────────────────────────────────────────────── */
*:focus-visible {
  outline: 2px solid var(--color-sage) !important;
  outline-offset: 2px;
}

.skip-to-content-link:focus {
  background-color: var(--color-sage) !important;
  color: var(--color-white) !important;
  padding: 0.5rem 1rem;
  border-radius: 0.5rem;
}

/* ─────────────────────────────────────────────────────────────
   19. MISC / UTILITY
   ───────────────────────────────────────────────────────────── */

/* Remove default Shopify borders/outlines that clash */
.card--card,
.card--standard {
  --card-border-width: 0 !important;
}

/* Page width container */
.page-width {
  max-width: 80rem !important;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

@media (min-width: 750px) {
  .page-width {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 990px) {
  .page-width {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

/* Section spacing */
.shopify-section:not(.shopify-section-header):not(.section-footer) {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

@media (min-width: 750px) {
  .shopify-section:not(.shopify-section-header):not(.section-footer) {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

/* Divider style */
hr,
.section__divider {
  border-color: rgba(44, 44, 44, 0.05) !important;
}

/* Selection highlight */
::selection {
  background-color: rgba(138, 155, 104, 0.2);
  color: var(--color-charcoal);
}