/** Shopify CDN: Minification failed

Line 1204:0 All "@import" rules must come first

**/
/* ===== DARK THEME (no variables needed) ===== */

/* Base colors */
:root {
  color-scheme: dark;
}

html, body {
  background: #0B0B0F !important;
  color: #EDEDED !important;
}

/* Text defaults */
p, li, small, .rte, .caption-with-letter-spacing { color: rgba(237,237,237,.86) !important; }
a { color: #4DA3FF; text-decoration: none; }
a:hover { text-decoration: underline; }

/* Header / footer */
.header, .header-wrapper {
  background: rgba(11,11,15,.92) !important;
  backdrop-filter: saturate(120%) blur(8px);
  border-bottom: 1px solid #1C1C22;
}
.footer, .footer__content-top, .footer__content-bottom {
  background: #0B0B0F !important;
  border-top: 1px solid #1C1C22;
}

/* Cards / surfaces */
.card, .card--standard, .product-card, .collection-list .card, .drawer, .modal__content, .popover {
  background: #111117 !important;
  border: 1px solid #1C1C22 !important;
  border-radius: 16px;
}

/* Buttons */
.button, .shopify-payment-button__button--unbranded, .quick-add__submit, .newsletter-form__button {
  background: #B8FF45 !important;
  color: #0B0B0F !important;
  border: 0 !important;
  border-radius: 14px !important;
}
.button--secondary, .button--tertiary, .shopify-challenge__button {
  background: transparent !important;
  color: #EDEDED !important;
  border: 1px solid #1C1C22 !important;
}

/* Inputs */
.field input, .field textarea, .select__select, .customer .field input, .quantity__input {
  background: #111117 !important;
  color: #EDEDED !important;
  border: 1px solid #1C1C22 !important;
  border-radius: 12px !important;
}
:where(a,button,input,select,textarea,[role="button"]):focus {
  outline: 2px solid #B8FF45 !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(184,255,69,.25) !important;
}

/* ===== HERO: full-viewport gradient, hide image ===== */
.banner, .image-banner {
  /* smooth vertical dark gradient */
  background: linear-gradient(180deg, #0B0B0F 0%, #111117 55%, #0B0B0F 100%) !important;
  min-height: 100vh !important;  /* full screen */
  position: relative;
}
.banner__media, .banner__media .media, .banner__media img, .banner__media video {
  display: none !important; /* remove the photo layer */
}

/* Position hero content higher */
.banner .banner__content, .image-banner .banner__content {
  justify-content: flex-start !important;
  padding-top: clamp(80px, 16vh, 180px) !important;
}
.banner .banner__heading { 
  font-size: clamp(40px, 6vw, 90px) !important; 
  line-height: 1.05 !important; 
}

/* Typewriter cursor */
.promise-rotator {
  margin-left: 8px;
  padding-right: 2px;
  white-space: nowrap;
  border-right: 2px solid #B8FF45;
  animation: caret-blink 1s steps(1) infinite;
  color: #EDEDED;
}
@keyframes caret-blink { 50% { border-color: transparent; } }

/* Small polish */
hr, .divider { border-color: #1C1C22 !important; }
.badge { background: rgba(184,255,69,.12) !important; color: #EDEDED !important; border: 1px solid rgba(184,255,69,.35) !important; }
/* --- FIX 1: make text light everywhere (hero + common spots) --- */
body, .shopify-section, .page-width,
.h0, h1, h2, h3, h4, h5, h6,
.banner__heading, .banner__text, .subtitle,
.card__heading, .card-information__text, .product__title,
.rte, .rte p, .footer, .footer a, a, .link {
  color: #EDEDED !important;
}

/* Hero heading size tuned down so typed line doesn't wrap */
.banner .banner__heading,
.image-banner .banner__heading {
  font-size: clamp(28px, 5vw, 56px) !important;
  line-height: 1.1 !important;
  white-space: nowrap; /* try to keep in one line */
}

/* Keep layout steady as words change */
.promise-rotator {
  display: inline-block;      /* prevents button jump */
  padding-right: 2px;
  margin-left: 8px;
  white-space: nowrap;
  vertical-align: baseline;
  border-right: 2px solid #B8FF45;
  animation: caret-blink 1s steps(1) infinite;
  color: #EDEDED;
}

/* Space between heading and CTA so button doesn't crowd it */
.banner .banner__content,
.image-banner .banner__content {
  gap: 16px !important;
}

@keyframes caret-blink { 50% { border-color: transparent; } }
/* === PROMO BAR (top white strip) === */
.announcement-bar, .announcement-bar__message {
  background: #ffffff !important;
  color: #000000 !important;
}

/* === HEADER text (brand + nav) to white on dark === */
.header__heading-link, .header__heading, .header__menu-item, .header__icon {
  color: #EDEDED !important;
}
.header__menu-item:hover, .header__heading-link:hover { color: #ffffff !important; }

/* === HERO gradient (true dark, not flat) === */
.banner, .image-banner {
  background: linear-gradient(180deg, #0B0B0F 0%, #13131A 55%, #1A1B21 100%) !important;
  min-height: 100vh !important;
  position: relative;
}
.banner__media, .banner__media .media, .banner__media img, .banner__media video {
  display: none !important;
}

/* canvas sits behind content */
.hero-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  mix-blend-mode: screen; /* subtle glow lines */
  opacity: 0.7;
}

/* make sure hero content is above canvas and neatly spaced */
.banner .banner__content, .image-banner .banner__content {
  position: relative;
  z-index: 1;
  justify-content: flex-start !important;
  padding-top: clamp(72px, 15vh, 160px) !important;
  gap: 18px !important;     /* keeps CTA from hugging the heading */
}

/* Heading: smaller so it doesn’t wrap */
.banner .banner__heading, .image-banner .banner__heading {
  font-size: clamp(28px, 5vw, 56px) !important;
  line-height: 1.1 !important;
  white-space: nowrap;
  color: #EDEDED !important;
}

/* Typed text glued to the base heading; no drift, no growing gap */
.promise-rotator {
  display: inline-block;
  margin-left: 0.35ch;      /* tiny fixed spacer */
  padding-right: 2px;
  white-space: nowrap;
  vertical-align: baseline;
  border-right: 2px solid #B8FF45;
  animation: caret-blink 1s steps(1) infinite;
  color: #EDEDED;
}
@keyframes caret-blink { 50% { border-color: transparent; } }

/* Global text defaults to light on dark pages */
body, .shopify-section, .page-width, .rte, .rte p,
.h0, h1, h2, h3, h4, h5, h6,
.card__heading, .card-information__text, .product__title, a, .link {
  color: #EDEDED !important;
}

/* Buttons + inputs keep your dark style */
.button, .shopify-payment-button__button--unbranded { background: #B8FF45 !important; color: #0B0B0F !important; }
.field input, .field textarea, .select__select { background: #111117 !important; color: #EDEDED !important; border: 1px solid #1C1C22 !important; }

/* Footer on dark */
.footer, .footer__content-top, .footer__content-bottom { background: #0B0B0F !important; }
/* === HERO background lighter gradient === */
.banner, .image-banner {
  background: linear-gradient(180deg, #2A2A2E 0%, #1F1F23 50%, #151518 100%) !important;
  min-height: 100vh !important;
  position: relative;
}

/* canvas sits behind */
.hero-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  mix-blend-mode: normal;
  opacity: 1; /* keep strong white */
}

/* content spacing: raise the text */
.banner .banner__content, .image-banner .banner__content {
  position: relative;
  z-index: 1;
  justify-content: flex-start !important;
  padding-top: clamp(110px, 20vh, 200px) !important; /* raises text higher */
  gap: 28px !important;
  text-align: center;
}

/* heading smaller + centered */
.banner .banner__heading, .image-banner .banner__heading {
  font-size: clamp(26px, 4.5vw, 48px) !important;
  line-height: 1.2 !important;
  color: #EDEDED !important;
  display: block !important;
  text-align: center;
}

/* typed text inline */
.promise-rotator {
  display: inline-block;
  margin-left: 0.35ch;
  vertical-align: baseline;
  border-right: 2px solid #B8FF45;
  animation: caret-blink 1s steps(1) infinite;
  color: #EDEDED;
}

/* separate CTA button so it doesn’t move with typed text */
.banner .banner__buttons {
  margin-top: 24px !important;
  position: relative;
  z-index: 2;
  text-align: center;
}
/* Force all header text + icons white, keep background black */
.header, .header-wrapper { background: #000000 !important; }

.header__heading,
.header__heading-link,
.header__heading a,
.header__menu-item,
.header__menu-item a,
.list-menu__item,
.list-menu__item a,
.header__icon,
.header__active-menu-item,
.header__icon svg {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

.header__menu-item:hover,
.list-menu__item a:hover,
.header__heading-link:hover {
  color: #FFFFFF !important;
  opacity: 0.85;
}
/* Fix store name (logo text) color + remove underline */
.header__heading a,
.header__heading-link {
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.header__heading a:hover,
.header__heading-link:hover {
  color: #FFFFFF !important;
  text-decoration: none !important;
  opacity: 0.85;
}
/* === FORCE STORE NAME (LOGO) WHITE + NO UNDERLINE === */
body .header .header__heading-link,
body .header .header__heading a,
body .header .header__heading-link.link,
body .header .header__heading a.link,
body .header .site-header__logo a {
  color: #FFFFFF !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  text-decoration-thickness: 0 !important;
  border-bottom: none !important;
}

/* kill Dawn's hover underline on text links in header */
body .header .link--text[href],
body .header .link--text[href]:hover,
body .header .header__heading-link:hover,
body .header .header__heading a:hover {
  color: #FFFFFF !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  border-bottom: none !important;
  opacity: 0.9;
}

/* visited state too */
body .header .header__heading-link:visited,
body .header .header__heading a:visited {
  color: #FFFFFF !important;
  text-decoration: none !important;
}
/* === FORCE STORE NAME PURE WHITE === */
.header__heading,
.header__heading-link,
.header__heading a,
.site-header__logo a,
.header .link--text[href],
.header .link--text[href]:hover,
.header .link--text[href]:focus,
.header .link--text[href]:visited,
.header .header__heading-link,
.header .header__heading-link:hover,
.header .header__heading-link:focus,
.header .header__heading-link:visited {
  color: #FFFFFF !important;
  fill: #FFFFFF !important;
  stroke: #FFFFFF !important;
  text-decoration: none !important;
  border: none !important;
  opacity: 1 !important;
}
/* FORCE STORE NAME PURE WHITE */
.header__heading,
.header__heading a,
.header__heading-link,
.site-header__logo a {
  color: #ffffff !important;
  opacity: 1 !important;
}

/* override Dawn variable-based colors */
.header__heading,
.header__heading a,
.header__heading-link,
.site-header__logo a {
  --color-foreground: 255,255,255 !important;
  --color-link: 255,255,255 !important;
  --color-link-hover: 255,255,255 !important;
}
/* Raise the hero content so it's the first thing you see */
.banner, .image-banner { align-items: flex-start !important; }

.banner .banner__content,
.image-banner .banner__content {
  padding-top: clamp(48px, 12vh, 120px) !important; /* raise higher */
  gap: 22px !important;                              /* space before CTA */
}

/* Keep heading nice and tight; ensure visible */
.banner .banner__heading, .image-banner .banner__heading {
  color: #EDEDED !important;
  font-size: clamp(26px, 4.5vw, 48px) !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}

/* Typed text sits inline with the base text */
.promise-rotator {
  display: inline-block;
  margin-left: 0.35ch;
  border-right: 2px solid #B8FF45;
  animation: caret-blink 1s steps(1) infinite;
  color: #EDEDED !important;
}

@keyframes caret-blink { 50% { border-color: transparent; } }

/* On small screens, keep it high but not cut off */
@media (max-width: 750px) {
  .banner .banner__content,
  .image-banner .banner__content {
    padding-top: 72px !important;
  }
}
/* Force hero heading + typed text to align left and sit inline */
.banner .banner__heading, 
.image-banner .banner__heading {
  text-align: left !important;
  display: inline-block !important;
}

.promise-rotator {
  display: inline-block;
  margin-left: 0.25ch; /* slight spacing after "our promise" */
  vertical-align: baseline;
  color: #EDEDED !important;
}
/* Keep hero positioned for canvas */
.banner, .image-banner { position: relative !important; }

/* Canvas visible behind content */
.hero-canvas {
  position: absolute; inset: 0; z-index: 0;
  pointer-events: none;
  opacity: 1;
}

/* Content sits above canvas and high on the page */
.banner .banner__content, .image-banner .banner__content {
  position: relative; z-index: 1;
  align-items: flex-start !important;
  padding-top: clamp(40px, 12vh, 110px) !important;
}

/* Left-align the heading and keep typed text close */
.banner .banner__heading, .image-banner .banner__heading {
  text-align: left !important;
  display: inline-block !important;
  color: #EDEDED !important;
  white-space: nowrap;
}
.promise-rotator {
  display: inline-block;
  margin-left: 0.25ch; /* tight spacing after "our promise?" */
  color: #EDEDED !important;
  border-right: 2px solid #B8FF45;
  animation: caret-blink 1s steps(1) infinite;
}
/* Hide caret once typing starts (JS toggles .nocaret) */
.promise-rotator.nocaret { border-right: 0; animation: none; }

@keyframes caret-blink { 50% { border-color: transparent; } }
/* Hero button styling & positioning */
.hero-button-wrap {
  margin-top: 3rem;          /* push it down below text */
  text-align: center;        /* center horizontally */
}

.hero-button-wrap .shop-button {
  display: inline-block;
  padding: 12px 28px;
  background: #6DBF3A;        /* green button */
  color: #000 !important;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.3s ease;
}

.hero-button-wrap .shop-button:hover {
  background: #8BE54A;       /* brighter on hover */
}
.hero-button-wrap {
  position: absolute;
  bottom: 25%;    /* adjust closer/farther from bottom */
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
/* Keep the typewriter text fixed left, no shifting */
.promise-rotator {
  display: inline-block;
  text-align: left;
  min-width: 12ch;   /* reserve space so it never shrinks back */
  white-space: nowrap;
  vertical-align: baseline;
}
/* Hide cursor once typing is done */
.typed-cursor {
  animation: none !important;
  opacity: 0 !important;
}
/* Nuke the caret completely (ours + any from Typed.js) */
.promise-rotator,
.promise-rotator.nocaret,
.typed-cursor {
  border-right: 0 !important;
  animation: none !important;
  opacity: 1 !important;   /* keep the text fully visible */
}

/* Lock the typed text to the left and stop any shift */
.promise-rotator {
  display: inline-block;
  text-align: left;
  white-space: nowrap;
}
.hero-brand-title {
  font-family: var(--font-heading-family, sans-serif);
  font-weight: 700;
  font-size: 4rem;
  color: #fff;
  text-align: center;
  margin-bottom: 1rem;
}

.banner__heading, .slideshow__heading, .banner h1, .banner h2 {
  text-align: center !important;
  font-size: 2rem;
  color: #ccc;
  margin-top: 1rem;
}
/* Center the entire hero content stack */
.banner .banner__content,
.image-banner .banner__content {
  display: flex;
  flex-direction: column;
  align-items: center;   /* horizontal center */
  text-align: center;    /* center text inside */
  min-height: 60vh;
}

/* Brand title sits ABOVE the typing line and centered */
.hero-brand-title {
  order: 0;
  width: 100%;
  text-align: center;
  font-family: var(--font-heading-family);
  font-weight: var(--font-heading-weight, 700);
  font-size: clamp(42px, 7vw, 96px);
  line-height: 1.05;
  letter-spacing: 0.06em;
  color: #EDEDED;
  margin: 0 0 10px 0;
}

/* Typing line directly under brand, centered */
.banner .banner__heading,
.image-banner .banner__heading {
  order: 1;
  width: 100%;
  text-align: center !important;
  margin: 6px 0 0 0;
}

/* Keep the typed text from “walking” while still centered */
.promise-rotator {
  display: inline-block;
  white-space: nowrap;
}

/* Button stays centered lower down (optional) */
.hero-button-wrap {
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
}
/* Hero CTA: white pill with slim black outline */
/* Hero CTA — white pill with full outline, no underline ever */
.hero-cta {
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #111 !important;      /* full stroke all sides */
  border-radius: 9999px !important;
  padding: 0.85rem 1.6rem !important;
  text-decoration: none !important;        /* kill underline */
  box-shadow: none !important;             /* some themes use underline via shadow */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .15s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}

/* Keep the stroke on hover/focus/active; no underline */
.hero-cta:hover,
.hero-cta:focus,
.hero-cta:active {
  background: #fff !important;             /* keep white */
  color: #111 !important;
  border: 2px solid #111 !important;       /* ensure bottom border stays */
  text-decoration: none !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}

/* Dark invert on hover */
.hero-cta:hover,
.hero-cta:focus,
.hero-cta:active {
  background: #111 !important;   /* go dark */
  color: #fff !important;         /* white label */
  border-color: #fff !important;  /* crisp outline on dark */
  text-decoration: none !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}
/* --- Kill the green flash before JS runs: make hero buttons white by default --- */
.banner .button,
.image-banner .button {
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #111 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

/* Keep it consistent for visited links */
.banner .button:visited,
.image-banner .button:visited,
.hero-cta:visited {
  color: #111 !important;
  text-decoration: none !important;
}

/* Remove theme/browser focus glow (the green outline after click) */
.banner .button:focus,
.banner .button:focus-visible,
.image-banner .button:focus,
.image-banner .button:focus-visible,
.hero-cta:focus,
.hero-cta:focus-visible,
.hero-cta:active {
  outline: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  -webkit-tap-highlight-color: transparent;
}

/* Make the outline a touch thicker, keep yours the same look */
.hero-cta {
  background: #fff !important;
  color: #111 !important;
  border: 2px solid #111 !important; /* bump from 1.5 → 2 for a crisper ring */
  text-decoration: none !important;
}

/* Dark invert on hover (unchanged) */
.hero-cta:hover,
.hero-cta:focus,
.hero-cta:active {
  background: #111 !important;
  color: #fff !important;
  border-color: #fff !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transform: translateY(-1px);
}
/* Ensure hover text turns white, even if theme overrides */
.hero-cta,
.banner .button.hero-cta,
.image-banner .button.hero-cta {
  color: #111 !important;
}

.hero-cta *,
.banner .button.hero-cta *,
.image-banner .button.hero-cta * {
  color: inherit !important; /* follow parent color */
}

/* Hover/active/focus states = white text + dark bg */
.hero-cta:hover,
.hero-cta:focus,
.hero-cta:active,
.banner .button.hero-cta:hover,
.banner .button.hero-cta:focus,
.banner .button.hero-cta:active,
.image-banner .button.hero-cta:hover,
.image-banner .button.hero-cta:focus,
.image-banner .button.hero-cta:active {
  color: #fff !important;
  background: #111 !important;
  border-color: #fff !important;
  text-decoration: none !important;
}

/* Remove any underline still coming from the theme on hover */
.hero-cta:hover *,
.banner .button.hero-cta:hover *,
.image-banner .button.hero-cta:hover * {
  text-decoration: none !important;
}
html { scroll-behavior: smooth; }
/* ========== Footer: Newsletter + Localization (dark theme) ========== */
:root{
  --cw-bg: #0f1013;                /* panel bg */
  --cw-hover: #1a1d23;             /* hover bg */
  --cw-text: #f2f3f5;              /* main text */
  --cw-muted: #a9b0bb;             /* secondary text */
  --cw-bd: rgba(255,255,255,.22);  /* light border */
  --cw-bd-strong: rgba(255,255,255,.35);
  --cw-white: #ffffff;
  --cw-black: #0b0c0e;
}

/* — Newsletter container text */
footer .newsletter-form,
footer .newsletter-form * {
  color: var(--cw-text);
}

/* — Email field */
footer .newsletter-form .field__input {
  background: var(--cw-bg);
  border: 1.5px solid var(--cw-bd);
  border-radius: 12px;
  color: var(--cw-text);
  padding: 12px 16px;
}
footer .newsletter-form .field__input::placeholder { color: var(--cw-muted); }
footer .newsletter-form .field__label { color: var(--cw-muted); }
footer .newsletter-form .field__input:focus {
  outline: 3px solid var(--cw-bd-strong);
  outline-offset: 2px;
  border-color: var(--cw-bd-strong);
}
/* tame Chrome autofill */
footer .newsletter-form .field__input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--cw-bg) inset !important;
  -webkit-text-fill-color: var(--cw-text) !important;
}

/* — Submit button (white pill with black outline) */
footer .newsletter-form__button.button {
  background: var(--cw-white);
  color: var(--cw-black);
  border: 2px solid var(--cw-black);
  border-radius: 999px;
  min-height: 44px;
  padding: 0 22px;
  text-decoration: none;                 /* no underline on hover */
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
footer .newsletter-form__button.button:hover {
  background: var(--cw-black);
  color: var(--cw-white);
  border-color: var(--cw-white);
}
footer .newsletter-form__button.button:focus {
  outline: 3px solid var(--cw-bd-strong);
  outline-offset: 2px;
}
footer .newsletter-form__button.button:active { transform: translateY(1px); }
/* make arrow/icons inside visible on both states */
footer .newsletter-form__button.button svg path { fill: currentColor; }

/* — Localization (country / currency) — works for Dawn disclosures & selects */
footer .localization-form .disclosure,
footer .localization-form .select {
  color: var(--cw-text);
}

footer .localization-form .disclosure__button,
footer .localization-form .select__select {
  background: var(--cw-bg);
  color: var(--cw-text);
  border: 1.5px solid var(--cw-bd);
  border-radius: 12px;
  min-height: 44px;
  padding: 10px 14px;
}
footer .localization-form .disclosure__button:hover,
footer .localization-form .select__select:hover {
  background: var(--cw-hover);
  border-color: var(--cw-bd-strong);
}
footer .localization-form .disclosure__button:focus,
footer .localization-form .select__select:focus {
  outline: 3px solid var(--cw-bd-strong);
  outline-offset: 2px;
}

/* dropdown panel */
footer .localization-form .disclosure__list-wrapper,
footer .localization-form .disclosure__list {
  background: var(--cw-bg) !important;
  border: 1.5px solid var(--cw-bd);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
footer .localization-form .disclosure__link {
  color: var(--cw-text);
}
footer .localization-form .disclosure__link:hover {
  background: var(--cw-hover);
}

/* select arrow / icons */
footer .localization-form .select__select,
footer .localization-form .disclosure__button svg path {
  color: var(--cw-text);
  fill: var(--cw-text);
}
/* ========== Footer localization dropdown: dark header + no green glow ========== */
:root{
  --cw-field: #15171c; /* slightly lighter than panel bg for inputs */
}

/* dropdown panel + header area darker */
footer .localization-form .disclosure__list-wrapper,
footer .localization-form .disclosure__list {
  background: var(--cw-bg) !important;
  border: 1.5px solid var(--cw-bd);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}

/* search bar at the top of the list (cover common Dawn class names) */
footer .localization-form .disclosure__list input[type="search"],
footer .localization-form .disclosure__list .field__input,
footer .localization-form .disclosure__list .localization-form__filter input,
footer .localization-form .disclosure__list .localization-form__search input {
  background: var(--cw-field);
  color: var(--cw-text);
  border: 1.5px solid var(--cw-bd);
  border-radius: 10px;
  padding: 10px 12px;
}
footer .localization-form .disclosure__list input[type="search"]::placeholder,
footer .localization-form .disclosure__list .field__input::placeholder {
  color: var(--cw-muted);
}

/* remove the green focus ring/glow; keep a subtle neutral focus */
footer .localization-form input[type="search"]:focus,
footer .localization-form .field__input:focus,
footer .localization-form .disclosure__button:focus,
footer .localization-form .select__select:focus {
  outline: 2px solid var(--cw-bd-strong);
  outline-offset: 2px;
  border-color: var(--cw-bd-strong);
  box-shadow: none !important;          /* kills the green glow */
}

/* dropdown rows stay dark on hover */
footer .localization-form .disclosure__link { color: var(--cw-text); }
footer .localization-form .disclosure__link:hover {
  background: var(--cw-hover);
}
/* ===========================
   Localization dropdown (country/currency)
   =========================== */

/* Panel wrapper (the big white box) */
.disclosure__list,
.disclosure__list-wrapper,
.localization-form__list {
  border: 1px solid #0a0a0a !important;
  border-radius: 10px;                  /* tweak if you want squarer corners */
  background: #fff !important;
  box-shadow: none !important;
  color: #000;                          /* default text color inside panel */
}

/* Search field (remove green outline/glow) */
.disclosure__search .field__input,
.country-selector__search .field__input,
.localization-form__search .field__input,
.disclosure__input {
  background: #0f0f10;                  /* subtle dark field as you had */
  color: #fff;
  border: 1px solid #0a0a0a !important; /* thin black border */
  outline: none !important;
  box-shadow: none !important;
  border-radius: 12px;
}

/* On focus, keep it clean (no green) */
.disclosure__search .field__input:focus,
.country-selector__search .field__input:focus,
.localization-form__search .field__input:focus,
.disclosure__input:focus {
  border-color: #0a0a0a !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Option items—force black text */
.disclosure__link,
.disclosure__item,
.disclosure__item button,
.localization-form__item,
.localization-form__item button,
.country-selector__list button,
.country-selector__option {
  color: #000 !important;
}

/* Hover/active state: keep text black, subtle gray background */
.disclosure__link:hover,
.disclosure__item:hover,
.localization-form__item:hover,
.country-selector__list button:hover {
  background: #f2f2f2 !important;
  color: #000 !important;
}

/* Make the little scrollbar dark/clean on webkit (optional) */
.disclosure__list::-webkit-scrollbar,
.localization-form__list::-webkit-scrollbar {
  width: 10px;
}
.disclosure__list::-webkit-scrollbar-thumb,
.localization-form__list::-webkit-scrollbar-thumb {
  background: #cfcfcf;
  border-radius: 6px;
  border: 2px solid #fff;
}
/* ===========================
   CVNT — Localization dropdown polish
   =========================== */

/* Panel (the whole white box) */
header details[open] .disclosure__list-wrapper,
header details[open] .disclosure__list,
header .localization-form details[open] .disclosure__list,
.shopify-section-header details[open] .disclosure__list,
.localisation-form details[open] .disclosure__list, /* some themes misspell */
.localization-form details[open] .disclosure__list,
.menu-drawer__localization details[open] .disclosure__list {
  background: #fff !important;
  border: 1px solid #0a0a0a !important;   /* thin black outline */
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #000 !important;
}

/* Search input (remove green glow/outline, keep dark field) */
header .localization-form .disclosure__search .field__input,
header details[open] .disclosure__search .field__input,
.localization-form .disclosure__search .field__input,
details[open] .disclosure__search .field__input {
  background: #101113 !important;         /* subtle dark */
  color: #fff !important;
  border: 1px solid #0a0a0a !important;    /* thin black border */
  outline: none !important;
  box-shadow: none !important;
  border-radius: 12px !important;
}

/* Keep it clean when focused */
header .localization-form .disclosure__search .field__input:focus,
header details[open] .disclosure__search .field__input:focus,
.localization-form .disclosure__search .field__input:focus,
details[open] .disclosure__search .field__input:focus {
  border-color: #0a0a0a !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Force option text to black */
header details[open] .disclosure__list a,
header details[open] .disclosure__list button,
header details[open] .disclosure__list .disclosure__link,
.localization-form details[open] .disclosure__list a,
.localization-form details[open] .disclosure__list button,
.localization-form details[open] .disclosure__list .disclosure__link {
  color: #000 !important;
}

/* Hover states: subtle grey highlight, keep text black */
header details[open] .disclosure__list a:hover,
header details[open] .disclosure__list button:hover,
.localization-form details[open] .disclosure__list a:hover,
.localization-form details[open] .disclosure__list button:hover {
  background: #f3f3f3 !important;
  color: #000 !important;
}

/* (Optional) dark minimal scrollbar for long lists (webkit) */
header details[open] .disclosure__list::-webkit-scrollbar {
  width: 10px;
}
header details[open] .disclosure__list::-webkit-scrollbar-thumb {
  background: #cfcfcf;
  border-radius: 6px;
  border: 2px solid #fff;
}
/* ===========================
   CVNT — Localization dropdown (header)
   =========================== */

/* 1) The popover/panel container (white box) — add thin black outline */
header details[open] .disclosure__list-wrapper,
header details[open] .disclosure__list,
header details[open] .popover,
header details[open] summary + .popover,
header .localization-form details[open] .disclosure__list,
.menu-drawer__localization details[open] .disclosure__list {
  background: #fff !important;
  border: 1px solid #0a0a0a !important;   /* thin black outline */
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #000 !important;
}

/* 2) The search field at the top — remove green outline, make dark */
header details[open] .disclosure__search .field__input,
header .localization-form .disclosure__search .field__input,
header input[type="search"].disclosure__search-input,
header details[open] input[type="search"],
header .popover input[type="search"] {
  background: #101113 !important;
  color: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Ensure focus states don’t reintroduce green ring */
header details[open] .disclosure__search .field__input:focus,
header details[open] .disclosure__search .field__input:focus-visible,
header .popover input[type="search"]:focus,
header .popover input[type="search"]:focus-visible {
  border-color: #0a0a0a !important;
  outline: none !important;
  box-shadow: none !important;
}

/* 3) Make option text black (links/buttons/items in the list) */
header details[open] .disclosure__list a,
header details[open] .disclosure__list button,
header details[open] .disclosure__list .disclosure__link,
header details[open] .disclosure__list [role="option"],
header .popover [role="option"],
header .popover .disclosure__link {
  color: #000 !important;
}

/* Hover/active state for options */
header details[open] .disclosure__list a:hover,
header details[open] .disclosure__list button:hover,
header .popover .disclosure__link:hover,
header .popover [role="option"]:hover {
  background: #f3f3f3 !important;
  color: #000 !important;
}

/* Optional: tidy scrollbar (WebKit) inside the panel */
header details[open] .disclosure__list::-webkit-scrollbar,
header .popover .disclosure__list::-webkit-scrollbar {
  width: 10px;
}
header details[open] .disclosure__list::-webkit-scrollbar-thumb,
header .popover .disclosure__list::-webkit-scrollbar-thumb {
  background: #cfcfcf;
  border-radius: 6px;
  border: 2px solid #fff;
}
/* CVNT – header localization popover: kill green outline + ensure black text */
.popover input[type="search"]:focus,
.popover input[type="search"]:focus-visible,
.disclosure__list input[type="search"]:focus,
.disclosure__list input[type="search"]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: #0a0a0a !important;
}
.popover a, .popover button, .popover [role="option"],
.disclosure__list a, .disclosure__list button, .disclosure__list [role="option"] {
  color: #000 !important;
}
/* ==== FINAL OVERRIDE: Footer currency/country popover = header 1:1 ==== */

/* Panel: white, thin black outline */
footer details[open] .disclosure__list-wrapper,
footer details[open] .disclosure__list,
footer .localization-form details[open] .disclosure__list-wrapper,
footer .localization-form details[open] .disclosure__list,
footer .menu-drawer__localization details[open] .disclosure__list {
  background: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #000 !important;
}

/* Search field inside the panel: dark, no green glow */
footer details[open] .disclosure__search .field__input,
footer .localization-form .disclosure__search .field__input,
footer .disclosure__list .field__input,
footer .disclosure__list input[type="search"] {
  background: #101113 !important;
  color: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
}
footer details[open] .disclosure__search .field__input:focus,
footer .localization-form .disclosure__search .field__input:focus,
footer .disclosure__list .field__input:focus,
footer .disclosure__list input[type="search"]:focus {
  outline: none !important;
  border-color: #0a0a0a !important;
  box-shadow: none !important;
}

/* List items: black text + soft gray hover */
footer .disclosure__list a,
footer .disclosure__list button,
footer .disclosure__link,
footer .disclosure__item,
footer .disclosure__item button,
footer .localization-form__item,
footer .localization-form__item button {
  color: #000 !important;
}
footer .disclosure__list a:hover,
footer .disclosure__list button:hover,
footer .localization-form__item:hover {
  background: #f2f2f2 !important;
  color: #000 !important;
}

/* Kill green focus rings on footer controls */
footer .localization-form select:focus,
footer .localization-form button:focus,
footer .localization-form .disclosure__button:focus {
  outline: none !important;
  border-color: #0a0a0a !important;
  box-shadow: none !important;
}
/* ===== FINAL LOCK: make any JS-tagged localization panel match header 1:1 ===== */
.cvnt-loc-panel {
  background: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: #000 !important;
}

/* Search field inside the panel: dark input, no green outline/glow */
.cvnt-loc-panel input[type="search"],
.cvnt-loc-panel .field__input {
  background: #101113 !important;
  color: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
}
.cvnt-loc-panel input[type="search"]:focus,
.cvnt-loc-panel .field__input:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #0a0a0a !important;
}

/* Extra safety: kill focus ring specifically inside popovers/lists */
.popover input[type="search"]:focus,
.popover input[type="search"]:focus-visible,
.disclosure__list input[type="search"]:focus,
.disclosure__list input[type="search"]:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border-color: #0a0a0a !important;
}
/* Smaller footer localization/currency trigger */
footer .disclosure__button,
footer .localization-form .disclosure__button,
footer .localization-form__select,
footer .localization-selector .disclosure__button {
  font-size: 13px !important;
  line-height: 1 !important;
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
}

/* If the theme uses a link look instead of a button */
footer .localization-form a.disclosure__button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 13px !important;
  height: 34px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
}
footer .footer__content-top,
footer .footer-block--newsletter { 
  display: none !important; /* safety: if the newsletter used one of these classes */
}
/* ===== Product card typography (titles centered, bold; white prices) ===== */

/* Load a clean, modern font just for product titles */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@600;700&display=swap');

/* Center all the text inside the product card info area */
.product-grid .card__information,
.grid .card__information,
.card__information {
  text-align: center !important;
}

/* Title styling (works across Dawn-like themes) */
.card__heading,
.card__heading .full-unstyled-link,
.card-information__text,
.card-information__text .full-unstyled-link,
.card__heading a {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  line-height: 1.25;
  margin: 0;
  color: inherit;                /* keep whatever color you already use */
  text-align: center !important; /* double ensure */
}

.card__heading a,
.card-information__text .full-unstyled-link {
  display: inline-block;
  width: 100%;
  text-decoration: none;
}

/* Price color: white */
.price,
.price__container,
.price__regular,
.price__sale,
.price-item,
.price-item--regular,
.price-item--sale {
  color: #fff !important;
}

/* If your theme shows a “compare at” price, make it a softer white */
.price .price-item--compare,
.price__compare {
  color: rgba(255,255,255,0.65) !important;
}
/* --- Product titles: no underline on hover --- */
.card__heading a,
.card-information__text .full-unstyled-link {
  text-decoration: none !important;
}
.card__heading a:hover,
.card-information__text .full-unstyled-link:hover {
  text-decoration: none !important;
}

/* --- Price: a bit smaller, lower, and nudged right --- */
.card__information .price,
.card-information .price,
.card-information__price,
.price__container {
  display: block !important;
  width: 100% !important;
  font-size: 0.92rem !important;      /* slightly smaller */
  margin-top: 8px !important;          /* a touch lower */
  text-align: left !important;         /* keep left-aligned */
  padding-left: 12px !important;       /* nudge to the right */
  color: #fff !important;              /* keep white */
}

.price-item,
.price-item--regular,
.price-item--sale {
  font-size: 0.92rem !important;       /* match container size */
}

/* (Optional) compare-at price a little softer */
.price .price-item--compare,
.price__compare {
  color: rgba(255,255,255,0.65) !important;
}
/* Make the Featured/Latest drop heading solid black */
.featured-collection .title,
.shopify-section--featured-collection .title,
.featured-collection .section-header__title,
.title-wrapper-with-link .title {
  color: #000 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #000 !important; /* some themes/webkit */
}
/* Make 'Latest drop' use the same font as the hero heading */
.featured-collection .title,
.shopify-section--featured-collection .title,
.title-wrapper-with-link .title,
.section-header__title {
  font-family: var(--font-heading-family, inherit) !important;
  font-weight: var(--font-heading-weight, 700) !important;
  font-style: var(--font-heading-style, normal) !important;
  letter-spacing: var(--font-heading-letter-spacing, 0) !important;
  color: #000 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #000 !important;
}
/* Currency selector: make the trigger a bit wider and keep text off the arrow */
footer .disclosure__button,
footer .localization-form .disclosure__button,
footer .localization-selector .disclosure__button {
  width: auto !important;
  min-width: 190px !important;        /* slightly wider */
  white-space: nowrap !important;      /* keep on one line */
  padding-right: 28px !important;      /* space for the caret/arrow */
}

/* (Optional) match header too, if needed */
header .disclosure__button,
sticky-header .disclosure__button {
  padding-right: 28px !important;
  white-space: nowrap !important;
}
/* Footer currency selector: keep text off the caret */
footer .disclosure__button { 
  position: relative !important;
  justify-content: flex-start !important;  /* stop centering */
  padding-right: 28px !important;          /* room for caret */
  min-width: 200px !important;             /* slightly wider */
  white-space: nowrap !important;
}
footer .disclosure__button .icon-caret {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  pointer-events: none !important;
}
/* Hide the Powered by Shopify link in the footer only */
footer a[href*="shopify.com"] { 
  display: none !important; 
}
/* ===== Mobile drawer: make text/icons BLACK on a WHITE panel ===== */
@media screen and (max-width: 749px) {
  /* Drawer surfaces */
  header-drawer .menu-drawer,
  header-drawer .menu-drawer__inner-container,
  header-drawer .menu-drawer__navigation,
  header-drawer .menu-drawer__submenu,
  header-drawer .menu-drawer__utility-links {
    background: #fff !important;
  }

  /* Menu links & utility links */
  header-drawer .menu-drawer a,
  header-drawer .menu-drawer button,
  header-drawer .menu-drawer .list-menu__item,
  header-drawer .menu-drawer .list-menu__item > a,
  header-drawer .menu-drawer .menu-drawer__menu-item,
  header-drawer .menu-drawer .menu-drawer__menu-item > a,
  header-drawer .menu-drawer__utility-links a,
  header-drawer .menu-drawer__account a {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* Carets, close icon, any inline SVGs */
  header-drawer .menu-drawer .icon,
  header-drawer .menu-drawer .icon-caret,
  header-drawer .menu-drawer .icon-close,
  header-drawer .menu-drawer svg {
    fill: #000 !important;
    stroke: #000 !important;
    color: #000 !important;
  }

  /* Bottom localization/currency row inside the drawer (if present) */
  header-drawer .menu-drawer .localization-form .disclosure__button {
    color: #000 !important;
    border-color: #0a0a0a !important;
    background: #fff !important;
  }

  /* Optional: subtle hover so links are visible when pressed */
  header-drawer .menu-drawer a:hover,
  header-drawer .menu-drawer a:focus {
    background: #f3f3f3 !important;
  }
}
/* ===== Mobile drawer: force top-level nav items to black ===== */
@media screen and (max-width: 749px) {
  /* background stays white */
  header-drawer .menu-drawer,
  header-drawer .menu-drawer__inner-container,
  header-drawer .menu-drawer__navigation {
    background: #fff !important;
  }

  /* TOP-LEVEL items can be <a> OR <button> depending on theme */
  header-drawer .menu-drawer__menu > li > a,
  header-drawer .menu-drawer__menu > li > button,
  header-drawer .menu-drawer__navigation .list-menu__item > a,
  header-drawer .menu-drawer__navigation .list-menu__item > button,
  header-drawer .menu-drawer__menu-item,
  header-drawer .menu-drawer__menu-item > a,
  header-drawer .menu-drawer__menu-item > button,
  header-drawer .menu-drawer .link {
    color: #000 !important;
    -webkit-text-fill-color: #000 !important;
    opacity: 1 !important;
    text-decoration: none !important;
  }

  /* any carets/icons next to them */
  header-drawer .menu-drawer .icon,
  header-drawer .menu-drawer .icon-caret,
  header-drawer .menu-drawer svg {
    fill: #000 !important;
    stroke: #000 !important;
    color: #000 !important;
  }

  /* pressed/hover state (optional) */
  header-drawer .menu-drawer a:focus,
  header-drawer .menu-drawer a:hover,
  header-drawer .menu-drawer button:focus,
  header-drawer .menu-drawer button:hover {
    background: #f3f3f3 !important;
  }
}
/* =========================
   GLOBAL FOCUS/TAP INDICATORS (white)
   ========================= */

/* If the theme uses a focus color variable, override it */
:root {
  --color-focus: #fff;
}

/* White focus ring on all interactive controls */
:where(
  a, button, input, select, textarea, summary,
  [role="button"], [tabindex],
  .header__icon, .icon-button, .disclosure__button,
  .field__input, .search__input, .menu-drawer__button,
  .menu-drawer__close-button
):focus,
:where(
  a, button, input, select, textarea, summary,
  [role="button"], [tabindex],
  .header__icon, .icon-button, .disclosure__button,
  .field__input, .search__input, .menu-drawer__button,
  .menu-drawer__close-button
):focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;            /* nuke green glow */
}

/* Firefox inner dotted border reset */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border: 0 !important;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
}

/* Mobile tap highlight color (Chrome/Android & iOS Safari) */
html {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.35); /* soft white */
}

/* Just in case any component injects a green themed ring via box-shadow */
*:focus {
  box-shadow: none !important;
}
/* ================================
   CATALOG / COLLECTION PAGE STYLING
   ================================ */

/* Make all catalog text solid black */
body.template-collection #MainContent,
body.template-collection #MainContent * {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  opacity: 1 !important; /* defeat theme opacity on headings/labels */
}

/* Tidy the "Sort by" label */
body.template-collection .facet-filters__label,
body.template-collection .collection-filters__label {
  font-weight: 600 !important;
}

/* Nice white select for "Sort by" */
body.template-collection select[name="sort_by"],
body.template-collection #SortBy,
body.template-collection .facet-filters__sort .select__select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;

  background: #fff !important;
  color: #000 !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;

  padding: 8px 34px 8px 12px !important; /* space for caret */
  line-height: 1.2 !important;
  min-width: 220px !important;
  cursor: pointer !important;

  /* custom caret */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat !important;
  background-position: right 10px center !important;
  background-size: 12px 12px !important;
}

/* Focus state (pairs with your global white focus ring) */
body.template-collection select[name="sort_by"]:focus,
body.template-collection #SortBy:focus {
  border-color: #0a0a0a !important;
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

/* Make the dropdown options light too (browser support varies) */
body.template-collection select[name="sort_by"] option,
body.template-collection #SortBy option {
  background: #fff !important;
  color: #000 !important;
}

/* If theme wraps the select with a styled shell, keep it neutral */
body.template-collection .select,
body.template-collection .facet-filters__sort .select {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* ================================
   CATALOG / COLLECTION PAGE
   (force black text + nicer Sort select)
   ================================ */

/* Scope to collection pages (works on Dawn + most OS2 themes) */
body[class*="template-collection"] #MainContent,
body[class*="template-collection"] #MainContent * {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  opacity: 1 !important; /* defeat greyed headings */
}

/* Headings that some themes keep semi-transparent */
body[class*="template-collection"] .collection-hero__title,
body[class*="template-collection"] .section-header__title,
body[class*="template-collection"] .title {
  color: #000 !important;
  opacity: 1 !important;
}

/* "Sort by" label */
body[class*="template-collection"] .facet-filters__label,
body[class*="template-collection"] .collection-filters__label {
  color: #000 !important;
  font-weight: 600 !important;
}

/* ===== Sort select (closed state) ===== */
body[class*="template-collection"] .facet-filters__sort select,
body[class*="template-collection"] .collection-filters__item select,
body[class*="template-collection"] select[name="sort_by"],
body[class*="template-collection"] #SortBy {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;

  background: #fff !important;
  color: #000 !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  padding: 8px 34px 8px 12px !important; /* room for caret */
  line-height: 1.2 !important;
  min-width: 220px !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* Keep the wrapper neutral and position the custom caret */
body[class*="template-collection"] .facet-filters__sort .select,
body[class*="template-collection"] .collection-filters__item .select {
  position: relative !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Custom black caret */
body[class*="template-collection"] .facet-filters__sort .select::after,
body[class*="template-collection"] .collection-filters__item .select::after {
  content: "" !important;
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 12px !important;
  height: 12px !important;
  background: no-repeat center / 12px 12px
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  pointer-events: none !important;
}

/* Focus (pairs with your global white ring) */
body[class*="template-collection"] .facet-filters__sort select:focus,
body[class*="template-collection"] .collection-filters__item select:focus,
body[class*="template-collection"] select[name="sort_by"]:focus,
body[class*="template-collection"] #SortBy:focus {
  border-color: #0a0a0a !important;
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

/* Force the dropdown list to light (browser support varies by OS) */
body[class*="template-collection"] select[name="sort_by"] option,
body[class*="template-collection"] #SortBy option,
body[class*="template-collection"] .facet-filters__sort select option {
  background: #fff !important;
  color: #000 !important;
}

/* "No products found" messaging */
body[class*="template-collection"] .collection--empty,
body[class*="template-collection"] .collection--empty * {
  color: #000 !important;
  opacity: 1 !important;
}
/* ================================
   CATALOG / COLLECTION PAGE (global)
   ================================ */
.cvnt-collection #MainContent,
.cvnt-collection #MainContent * {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
  opacity: 1 !important;
}

/* Headings some themes fade */
.cvnt-collection .collection-hero__title,
.cvnt-collection .section-header__title,
.cvnt-collection .title {
  color: #000 !important;
  opacity: 1 !important;
}

/* "Sort by" label/chip */
.cvnt-collection .facet-filters__label,
.cvnt-collection .collection-filters__label {
  color: #000 !important;
  font-weight: 600 !important;
}

/* ===== Sort select (closed state) ===== */
.cvnt-collection .facet-filters__sort select,
.cvnt-collection .collection-filters__item select,
.cvnt-collection select[name*="sort"],
.cvnt-collection #SortBy {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;

  background: #fff !important;
  color: #000 !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;

  padding: 8px 34px 8px 12px !important; /* space for caret */
  line-height: 1.2 !important;
  min-width: 220px !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

/* Neutral wrapper + custom caret */
.cvnt-collection .facet-filters__sort .select,
.cvnt-collection .collection-filters__item .select {
  position: relative !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.cvnt-collection .facet-filters__sort .select::after,
.cvnt-collection .collection-filters__item .select::after {
  content: "" !important;
  position: absolute !important;
  right: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 12px !important;
  height: 12px !important;
  background: no-repeat center / 12px 12px
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  pointer-events: none !important;
}

/* Focus (pairs with your global white ring) */
.cvnt-collection .facet-filters__sort select:focus,
.cvnt-collection .collection-filters__item select:focus,
.cvnt-collection select[name*="sort"]:focus,
.cvnt-collection #SortBy:focus {
  border-color: #0a0a0a !important;
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

/* Options (browser-dependent) */
.cvnt-collection select[name*="sort"] option,
.cvnt-collection #SortBy option,
.cvnt-collection .facet-filters__sort select option {
  background: #fff !important;
  color: #000 !important;
}

/* "No products found" message */
.cvnt-collection .collection--empty,
.cvnt-collection .collection--empty * {
  color: #000 !important;
  opacity: 1 !important;
}
/* ========================
   CONTACT PAGE MAKEOVER
   ======================== */
.cvnt-contact .main-page-title,
.cvnt-contact .section-header__title,
.cvnt-contact .title {
  color: #000 !important;
  font-family: var(--font-heading-family, inherit);
  font-weight: var(--font-heading-weight, 700);
  letter-spacing: var(--font-heading-letter-spacing, 0);
  text-align: left;
}

/* Card container */
.cvnt-contact #MainContent .page-width,
.cvnt-contact #MainContent .page-width--narrow {
  max-width: 900px;
}

.cvnt-contact form,
.cvnt-contact .contact,
.cvnt-contact .contact__form {
  background: #fff;
  border: 1px solid #0a0a0a;
  border-radius: 16px;
  padding: 24px;
}

/* Two-column layout for first/last name on larger screens */
@media (min-width: 750px) {
  .cvnt-contact form .grid,
  .cvnt-contact form .fields,
  .cvnt-contact form .contact__fields {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 14px !important;
  }
  .cvnt-contact form .field--full,
  .cvnt-contact form .field.full,
  .cvnt-contact form .field:has(textarea) {
    grid-column: 1 / -1 !important;
  }
}

/* Labels */
.cvnt-contact form label,
.cvnt-contact .field__label {
  color: #000 !important;
  font-weight: 600;
  margin-bottom: 6px;
  display: inline-block;
}

/* Inputs / textarea */
.cvnt-contact input[type="text"],
.cvnt-contact input[type="email"],
.cvnt-contact input[type="tel"],
.cvnt-contact select,
.cvnt-contact textarea,
.cvnt-contact .field__input {
  background: #101113 !important;
  color: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  height: 44px;
  padding: 10px 12px !important;
  box-shadow: none !important;
}

.cvnt-contact textarea {
  min-height: 160px;
  resize: vertical;
  line-height: 1.45;
}

/* Placeholders */
.cvnt-contact ::placeholder {
  color: #a8adb5 !important;
  opacity: 1 !important;
}

/* Focus ring (white, matches your global style) */
.cvnt-contact input:focus,
.cvnt-contact select:focus,
.cvnt-contact textarea:focus {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
  border-color: #0a0a0a !important;
}

/* Buttons: replace green with crisp white pill */
.cvnt-contact .button,
.cvnt-contact button[type="submit"],
.cvnt-contact input[type="submit"] {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 9999px !important;
  padding: 10px 20px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.cvnt-contact .button:hover,
.cvnt-contact button[type="submit"]:hover,
.cvnt-contact input[type="submit"]:hover {
  background: #000 !important;
  color: #fff !important;
}

/* Error/help text */
.cvnt-contact .form__message,
.cvnt-contact .form__message * {
  color: #000 !important;
}
/* =======================
   CONTACT PAGE CLEANUP
   ======================= */

/* 1) Make the page title/text white */
.cvnt-contact .main-page-title,
.cvnt-contact .section-header__title,
.cvnt-contact .title,
.cvnt-contact #MainContent,
.cvnt-contact #MainContent * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

/* 2) Remove extra black outlines around the contact box */
.cvnt-contact form,
.cvnt-contact .contact,
.cvnt-contact .contact__form,
.cvnt-contact .contact form,
.cvnt-contact .form-vertical,
.cvnt-contact .form {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important; /* keep the page background; no card outline */
}

/* 3) Keep inputs dark + clean (no extra outlines) */
.cvnt-contact .field__input,
.cvnt-contact input[type="text"],
.cvnt-contact input[type="email"],
.cvnt-contact input[type="tel"],
.cvnt-contact select,
.cvnt-contact textarea {
  background: #101113 !important;
  color: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.cvnt-contact input:focus,
.cvnt-contact select:focus,
.cvnt-contact textarea:focus {
  outline: 2px solid #fff !important;   /* your global white ring */
  outline-offset: 3px !important;
  box-shadow: none !important;
  border-color: #0a0a0a !important;
}

/* 4) Remove the overlaid black labels; rely on white placeholders */
.cvnt-contact .field__label,
.cvnt-contact label {
  display: none !important;
}
.cvnt-contact ::placeholder {
  color: #e7e7e7 !important;
  opacity: 1 !important;
}

/* 5) Contact button stays clean (no green, no extra outline) */
.cvnt-contact .button,
.cvnt-contact button[type="submit"],
.cvnt-contact input[type="submit"] {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 9999px !important;
  padding: 10px 20px !important;
  box-shadow: none !important;
}
.cvnt-contact .button:hover,
.cvnt-contact button[type="submit"]:hover,
.cvnt-contact input[type="submit"]:hover {
  background: #000 !important;
  color: #fff !important;
}

/* 6) Hide BOTH currency pickers on contact only (header + footer) */
.cvnt-contact header .localization-form,
.cvnt-contact header .disclosure,
.cvnt-contact header [class*="localization"],
.cvnt-contact header .disclosure__button,
.cvnt-contact footer .localization-form,
.cvnt-contact footer .disclosure,
.cvnt-contact footer [class*="localization"],
.cvnt-contact footer .disclosure__button {
  display: none !important;
}
/* CONTACT: Send button text black -> white on hover */
.cvnt-contact form button[type="submit"],
.cvnt-contact form input[type="submit"],
.cvnt-contact .button[type="submit"],
.cvnt-contact .button--primary {
  background: #fff !important;
  color: #000 !important;                 /* black text by default */
  border: 1px solid #0a0a0a !important;
  border-radius: 9999px !important;
  padding: 10px 20px !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

/* Inherit color for inner spans some themes add */
.cvnt-contact .button[type="submit"] *,
.cvnt-contact .button--primary * {
  color: inherit !important;
}

/* Hover: invert to white text on black */
.cvnt-contact form button[type="submit"]:hover,
.cvnt-contact form input[type="submit"]:hover,
.cvnt-contact .button[type="submit"]:hover,
.cvnt-contact .button--primary:hover {
  background: #000 !important;
  color: #fff !important;                 /* white text on hover */
  border-color: #000 !important;
}

/* (Optional) focus ring consistent with your site */
.cvnt-contact form button[type="submit"]:focus,
.cvnt-contact form input[type="submit"]:focus {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}
/* CONTACT: force Send text black by default, white on hover */
.cvnt-contact #MainContent button[type="submit"],
.cvnt-contact #MainContent input[type="submit"],
.cvnt-contact #MainContent .button[type="submit"],
.cvnt-contact #MainContent .button--primary {
  background: #fff !important;
  color: #000 !important;                     /* black text by default */
  border: 1px solid #0a0a0a !important;
  border-radius: 9999px !important;
  padding: 10px 20px !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

/* make sure inner spans adopt the color too */
.cvnt-contact #MainContent button[type="submit"] *,
.cvnt-contact #MainContent input[type="submit"] *,
.cvnt-contact #MainContent .button[type="submit"] *,
.cvnt-contact #MainContent .button--primary * {
  color: #000 !important;
}

/* Hover: invert to white text on black */
.cvnt-contact #MainContent button[type="submit"]:hover,
.cvnt-contact #MainContent input[type="submit"]:hover,
.cvnt-contact #MainContent .button[type="submit"]:hover,
.cvnt-contact #MainContent .button--primary:hover {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}
.cvnt-contact #MainContent button[type="submit"]:hover *,
.cvnt-contact #MainContent input[type="submit"]:hover *,
.cvnt-contact #MainContent .button[type="submit"]:hover *,
.cvnt-contact #MainContent .button--primary:hover * {
  color: #fff !important;
}
/* CONTACT — Send text black by default, white on hover (wins over global white text) */
.cvnt-contact #MainContent button[type="submit"],
.cvnt-contact #MainContent input[type="submit"],
.cvnt-contact #MainContent .button[type="submit"],
.cvnt-contact #MainContent .button--primary,
.cvnt-contact #MainContent [type="submit"].button,
.cvnt-contact #MainContent [type="submit"].button--primary {
  background: #fff !important;
  border: 1px solid #0a0a0a !important;
  color: #000 !important;            /* default: black text */
  border-radius: 9999px !important;
  padding: 10px 20px !important;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

/* Make sure any inner span/icon adopts the color too */
.cvnt-contact #MainContent button[type="submit"] *,
.cvnt-contact #MainContent input[type="submit"] *,
.cvnt-contact #MainContent .button[type="submit"] *,
.cvnt-contact #MainContent .button--primary * {
  color: #000 !important;            /* force black label */
  fill: currentColor !important;     /* for SVG icons, if any */
  stroke: currentColor !important;
}

/* Hover: invert to white text on black */
.cvnt-contact #MainContent button[type="submit"]:hover,
.cvnt-contact #MainContent input[type="submit"]:hover,
.cvnt-contact #MainContent .button[type="submit"]:hover,
.cvnt-contact #MainContent .button--primary:hover {
  background: #000 !important;
  color: #fff !important;
  border-color: #000 !important;
}
.cvnt-contact #MainContent button[type="submit"]:hover *,
.cvnt-contact #MainContent input[type="submit"]:hover *,
.cvnt-contact #MainContent .button[type="submit"]:hover *,
.cvnt-contact #MainContent .button--primary:hover * {
  color: #fff !important;            /* force white label on hover */
  fill: currentColor !important;
  stroke: currentColor !important;
}
/* CONTACT: make Send text BLACK by default, WHITE on hover (overrides text-fill) */
.cvnt-contact #MainContent button[type="submit"],
.cvnt-contact #MainContent input[type="submit"],
.cvnt-contact #MainContent .button[type="submit"],
.cvnt-contact #MainContent .button--primary {
  /* background/border (keep your current look; adjust if you like) */
  background: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 9999px !important;
  padding: 10px 20px !important;

  /* the important part: defeat the global white text */
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}

/* ensure any inner span/icon adopts the same color */
.cvnt-contact #MainContent button[type="submit"] *,
.cvnt-contact #MainContent input[type="submit"] *,
.cvnt-contact #MainContent .button[type="submit"] *,
.cvnt-contact #MainContent .button--primary * {
  color: #000 !important;
  -webkit-text-fill-color: #000 !important;
}

/* Hover/focus: invert to white text on black */
.cvnt-contact #MainContent button[type="submit"]:hover,
.cvnt-contact #MainContent button[type="submit"]:focus,
.cvnt-contact #MainContent input[type="submit"]:hover,
.cvnt-contact #MainContent input[type="submit"]:focus,
.cvnt-contact #MainContent .button[type="submit"]:hover,
.cvnt-contact #MainContent .button[type="submit"]:focus,
.cvnt-contact #MainContent .button--primary:hover,
.cvnt-contact #MainContent .button--primary:focus {
  background: #000 !important;
  border-color: #000 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* and their children on hover/focus */
.cvnt-contact #MainContent button[type="submit"]:hover *,
.cvnt-contact #MainContent button[type="submit"]:focus *,
.cvnt-contact #MainContent input[type="submit"]:hover *,
.cvnt-contact #MainContent input[type="submit"]:focus *,
.cvnt-contact #MainContent .button[type="submit"]:hover *,
.cvnt-contact #MainContent .button[type="submit"]:focus *,
.cvnt-contact #MainContent .button--primary:hover *,
.cvnt-contact #MainContent .button--primary:focus * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
/* CONTACT — remove the thin outline/border from all fields and the button */
.cvnt-contact #MainContent .field__input,
.cvnt-contact #MainContent input[type="text"],
.cvnt-contact #MainContent input[type="email"],
.cvnt-contact #MainContent input[type="tel"],
.cvnt-contact #MainContent select,
.cvnt-contact #MainContent textarea {
  border: none !important;
  box-shadow: none !important;
}

/* keep the same dark look */
.cvnt-contact #MainContent .field__input,
.cvnt-contact #MainContent input[type="text"],
.cvnt-contact #MainContent input[type="email"],
.cvnt-contact #MainContent input[type="tel"],
.cvnt-contact #MainContent select,
.cvnt-contact #MainContent textarea {
  background: #101113 !important;
  color: #fff !important;
}

/* Send button: no border (outline still shows on focus) */
.cvnt-contact #MainContent button[type="submit"],
.cvnt-contact #MainContent input[type="submit"],
.cvnt-contact #MainContent .button[type="submit"],
.cvnt-contact #MainContent .button--primary {
  border: none !important;
  box-shadow: none !important;
}

/* keep your white focus ring only when focusing a field/button */
.cvnt-contact #MainContent input:focus,
.cvnt-contact #MainContent select:focus,
.cvnt-contact #MainContent textarea:focus,
.cvnt-contact #MainContent button[type="submit"]:focus,
.cvnt-contact #MainContent input[type="submit"]:focus {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}
/* CONTACT — remove thin borders/outlines from inputs + submit (keep white focus ring) */

/* Kill any wrapper/pseudo-element borders some themes add */
.cvnt-contact #MainContent .field,
.cvnt-contact #MainContent .field::before,
.cvnt-contact #MainContent .field::after {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Strip borders from the actual controls */
.cvnt-contact #MainContent :is(.field__input, input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  background-clip: padding-box !important;
}

/* Keep your white focus ring only when focusing */
.cvnt-contact #MainContent :is(.field__input, input, select, textarea):focus {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

/* Remove border from the Send button as well */
.cvnt-contact #MainContent :is(button[type="submit"], input[type="submit"], .button[type="submit"], .button--primary) {
  border: 0 !important;
  box-shadow: none !important;
}
/* CONTACT — remove the last thin outline around the Send button */
.cvnt-contact #MainContent .button,
.cvnt-contact #MainContent button[type="submit"],
.cvnt-contact #MainContent input[type="submit"] {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

/* Dawn-style inner border uses pseudo-elements — disable them */
.cvnt-contact #MainContent .button::before,
.cvnt-contact #MainContent .button::after,
.cvnt-contact #MainContent button[type="submit"]::before,
.cvnt-contact #MainContent button[type="submit"]::after,
.cvnt-contact #MainContent input[type="submit"]::before,
.cvnt-contact #MainContent input[type="submit"]::after {
  content: none !important;
  display: none !important;
  box-shadow: none !important;
  border: 0 !important;
  outline: 0 !important;
}
/* ===========================
   Catalog page footer currency popover — match home footer
   =========================== */
.template-collection footer .popover,
.template-collection footer .disclosure__list,
.template-collection footer .disclosure__list-wrapper {
  background: #fff !important;
  color: #000 !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden !important; /* keep the panel clean */
}

/* Only the actual options list scrolls (prevents the "double" scrollbar) */
.template-collection footer .disclosure__list-wrapper {
  overflow: visible !important;      /* wrapper shouldn’t scroll */
}
.template-collection footer .disclosure__list {
  max-height: 50vh !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* Search field inside the popover: dark, full-width, no green outline */
.template-collection footer .popover input[type="search"],
.template-collection footer .disclosure__list input[type="search"],
.template-collection footer .popover .field__input,
.template-collection footer .disclosure__list .field__input {
  background: #101113 !important;
  color: #fff !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  outline: none !important;
  box-shadow: none !important;
  width: 100% !important;
  height: 36px !important;
  box-sizing: border-box !important;
}
.template-collection footer .popover input[type="search"]:focus,
.template-collection footer .disclosure__list input[type="search"]:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #0a0a0a !important;
}

/* Ensure option text is black like the home footer */
.template-collection footer .popover a,
.template-collection footer .popover button,
.template-collection footer .disclosure__list a,
.template-collection footer .disclosure__list button,
.template-collection footer .disclosure__list [role="option"],
.template-collection footer .disclosure__list .disclosure__link,
.template-collection footer .disclosure__list li,
.template-collection footer .disclosure__list span,
.template-collection footer .disclosure__list p {
  color: #000 !important;
}
/* =========================
   CART PAGE – THEME MATCH
   ========================= */

/* Make sure we're only styling the full cart page */
.template-cart {
  --cvnt-black: #0a0a0a;
  --cvnt-white: #ffffff;
}

/* Headings & key text black */
.template-cart h1,
.template-cart .cart__empty-text,
.template-cart .cart__login-title,
.template-cart .cart__warnings .title,
.template-cart .cart__empty .title,
.template-cart .cart__empty p,
.template-cart .cart__footer,
.template-cart .cart-items th,
.template-cart .cart-items td {
  color: var(--cvnt-black) !important;
}

/* Primary cart buttons (empty state + normal cart CTAs) */
.template-cart .cart__empty .button,
.template-cart .cart__ctas .button,
.template-cart .cart__ctas .button[name="checkout"],
.template-cart .cart__updates .button,
.template-cart .cart__footer .button {
  background: var(--cvnt-white) !important;
  color: var(--cvnt-black) !important;
  border: 1px solid var(--cvnt-black) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

/* Hover/active: invert to black w/ white text */
.template-cart .cart__empty .button:hover,
.template-cart .cart__ctas .button:hover,
.template-cart .cart__ctas .button[name="checkout"]:hover,
.template-cart .cart__updates .button:hover,
.template-cart .cart__footer .button:hover,
.template-cart .cart__empty .button:active,
.template-cart .cart__ctas .button:active,
.template-cart .cart__ctas .button[name="checkout"]:active,
.template-cart .cart__updates .button:active,
.template-cart .cart__footer .button:active {
  background: var(--cvnt-black) !important;
  color: var(--cvnt-white) !important;
  border-color: var(--cvnt-black) !important;
}

/* Kill any theme green focus ring on cart buttons */
.template-cart .cart__empty .button:focus,
.template-cart .cart__ctas .button:focus,
.template-cart .cart__ctas .button[name="checkout"]:focus,
.template-cart .cart__updates .button:focus,
.template-cart .cart__footer .button:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Optional: tidy empty-cart layout spacing */
.template-cart .cart__empty {
  text-align: center;
}
.template-cart .cart__empty .button {
  margin-top: 12px;
}

/* If your theme uses .button--primary on cart, keep it inverted here */
.template-cart .button--primary {
  background: var(--cvnt-white) !important;
  color: var(--cvnt-black) !important;
  border: 1px solid var(--cvnt-black) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}
.template-cart .button--primary:hover {
  background: var(--cvnt-black) !important;
  color: var(--cvnt-white) !important;
}
/* =========================
   CART PAGE – FORCE THEME MATCH
   (Dawn cart page – empty & filled)
   ========================= */

/* Make all cart text black */
#MainContent .cart,
#MainContent .cart * {
  color: #0a0a0a !important;
}

/* Links inside cart should also be black */
#MainContent .cart a {
  color: #0a0a0a !important;
  text-decoration: none;
}

/* Primary cart buttons (empty state, updates, checkout, etc.) */
#MainContent .cart .button,
#MainContent .cart button,
#MainContent .cart [type="submit"],
#MainContent .cart [role="button"],
#MainContent .cart .shopify-payment-button__button,
#MainContent .cart .shopify-payment-button__button--unbranded {
  background: #ffffff !important;
  color: #0a0a0a !important;
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

/* Hover/active invert (black bg + white text) */
#MainContent .cart .button:hover,
#MainContent .cart button:hover,
#MainContent .cart [type="submit"]:hover,
#MainContent .cart [role="button"]:hover,
#MainContent .cart .shopify-payment-button__button:hover,
#MainContent .cart .shopify-payment-button__button--unbranded:hover,
#MainContent .cart .button:active,
#MainContent .cart button:active,
#MainContent .cart [type="submit"]:active,
#MainContent .cart [role="button"]:active,
#MainContent .cart .shopify-payment-button__button:active,
#MainContent .cart .shopify-payment-button__button--unbranded:active {
  background: #0a0a0a !important;
  color: #ffffff !important;
  border-color: #0a0a0a !important;
}

/* Kill any green/glow focus ring the theme injects */
#MainContent .cart .button:focus,
#MainContent .cart button:focus,
#MainContent .cart [type="submit"]:focus,
#MainContent .cart [role="button"]:focus,
#MainContent .cart .shopify-payment-button__button:focus,
#MainContent .cart .shopify-payment-button__button--unbranded:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Tidy the empty-cart layout */
#MainContent .cart__warnings {
  text-align: center;
}
#MainContent .cart__warnings .button {
  margin-top: 12px;
}

/* Ensure table headings/lines don’t flip colors */
#MainContent .cart .cart-items th,
#MainContent .cart .cart-items td {
  border-color: rgba(10,10,10,0.12) !important;
}
/* =========================
   CART PAGE — CVNT styles
   (works off the body tag we add in JS)
   ========================= */

.cvnt-cart #MainContent,
.cvnt-cart #MainContent * {
  color: #0a0a0a !important;           /* all text black */
}

/* Links in cart should be black and clean */
.cvnt-cart #MainContent a {
  color: #0a0a0a !important;
  text-decoration: none;
}

/* All cart buttons (Continue shopping, Update, Checkout, Pay buttons) */
.cvnt-cart #MainContent .button,
.cvnt-cart #MainContent button,
.cvnt-cart #MainContent [type="submit"],
.cvnt-cart #MainContent [role="button"],
.cvnt-cart #MainContent .shopify-payment-button__button,
.cvnt-cart #MainContent .shopify-payment-button__button--unbranded {
  background: #ffffff !important;      /* white button */
  color: #0a0a0a !important;           /* black text */
  border: 1px solid #0a0a0a !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  outline: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

/* Hover/active invert (black bg, white text) */
.cvnt-cart #MainContent .button:hover,
.cvnt-cart #MainContent button:hover,
.cvnt-cart #MainContent [type="submit"]:hover,
.cvnt-cart #MainContent [role="button"]:hover,
.cvnt-cart #MainContent .shopify-payment-button__button:hover,
.cvnt-cart #MainContent .shopify-payment-button__button--unbranded:hover,
.cvnt-cart #MainContent .button:active,
.cvnt-cart #MainContent button:active,
.cvnt-cart #MainContent [type="submit"]:active,
.cvnt-cart #MainContent [role="button"]:active,
.cvnt-cart #MainContent .shopify-payment-button__button:active,
.cvnt-cart #MainContent .shopify-payment-button__button--unbranded:active {
  background: #0a0a0a !important;      /* black */
  color: #ffffff !important;           /* white */
  border-color: #0a0a0a !important;
}

/* Kill any highlight/green focus glow the theme may inject */
.cvnt-cart #MainContent .button:focus,
.cvnt-cart #MainContent button:focus,
.cvnt-cart #MainContent [type="submit"]:focus,
.cvnt-cart #MainContent [role="button"]:focus,
.cvnt-cart #MainContent .shopify-payment-button__button:focus,
.cvnt-cart #MainContent .shopify-payment-button__button--unbranded:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Empty-cart layout tidy */
.cvnt-cart #MainContent .cart__warnings {
  text-align: center;
}
.cvnt-cart #MainContent .cart__warnings .button {
  margin-top: 12px;
}

/* Keep table borders subtle */
.cvnt-cart #MainContent .cart .cart-items th,
.cvnt-cart #MainContent .cart .cart-items td {
  border-color: rgba(10,10,10,0.12) !important;
}
/* Remove thin outline around cart button */
.cart__empty .button,
.cart__empty .button:focus,
.cart__empty .button:active {
  outline: none !important;
  box-shadow: none !important;
}
/* Empty cart button – remove the thin box/border/ring */
.cart__empty .button,
.cart__warnings .button {
  border: 0 !important;                 /* remove visible border */
  box-shadow: none !important;           /* remove any theme box-shadow */
  outline: 0 !important;                 /* remove browser outline */
}

/* Cover focus/active/hover states too */
.cart__empty .button:focus,
.cart__empty .button:focus-visible,
.cart__empty .button:active,
.cart__empty .button:hover,
.cart__warnings .button:focus,
.cart__warnings .button:focus-visible,
.cart__warnings .button:active,
.cart__warnings .button:hover {
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Some Dawn builds draw a ring via ::after */
.cart__empty .button::after,
.cart__warnings .button::after {
  content: none !important;
}

/* In case the button is an <a> link styled as a button */
.cart__empty a.button:focus,
.cart__warnings a.button:focus {
  outline: 0 !important;
}
