/** Shopify CDN: Minification failed

Line 214:17 Unexpected "{"
Line 214:26 Expected ":"
Line 215:17 Unexpected "{"
Line 215:26 Expected ":"
Line 216:17 Unexpected "{"
Line 216:26 Expected ":"
Line 217:17 Unexpected "{"
Line 217:26 Expected ":"
Line 218:17 Unexpected "{"
Line 218:26 Expected ":"

**/
/* ---------- Layout helpers ---------- */
.rte > * + * { margin-top: 0.75em; }
.rte a { color: var(--color-accent); }
.eyebrow {
  font-size: var(--eyebrow-size);
  letter-spacing: var(--eyebrow-letter-spacing);
  text-transform: uppercase;
  color: var(--color-text-muted);
  margin: 0 0 0.5rem;
}
main { display: block; }
section { padding-block: var(--section-spacing); }
.is-compact section { padding-block: calc(var(--section-spacing) * var(--density)); }



/* ---------- Search panel ---------- */
.search-panel {
  position: fixed; inset: 0; z-index: 60;
  background: color-mix(in srgb, var(--overlay-color) 55%, transparent);
  display: grid; align-items: start;
}
.search-panel[hidden] { display: none; }
.search-panel__inner {
  background: var(--color-bg); padding: 24px var(--pad-x);
  display: flex; gap: 12px; align-items: center;
}
.search-panel--drawer .search-panel__inner { max-width: 420px; height: 100%; align-items: start; }
.search__form { position: relative; flex: 1; display: flex; align-items: center; }
.search__form input[type="search"] {
  flex: 1; padding: 12px 44px 12px 14px;
  border: var(--input-border-width) solid var(--color-border);
  border-radius: var(--input-radius); font: inherit; background: var(--color-bg); color: var(--color-text);
}
.search__submit { position: absolute; right: 6px; background: none; border: 0; color: var(--color-text-muted); cursor: pointer; padding: 8px; }
.search__results { position: absolute; top: 100%; left: 0; right: 0; background: var(--color-bg); border: 1px solid var(--color-border); border-radius: var(--input-radius); margin-top: 6px; max-height: 60vh; overflow: auto; }
.search-panel__close { background: none; border: 0; color: var(--color-text); cursor: pointer; padding: 8px; }

/* ---------- Product card ---------- */
.pcard { position: relative; background: var(--card-bg); border-radius: var(--radius); }
.pcard--bordered { border: 1px solid var(--card-border); padding: 8px; }
.pcard--shadow { box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.pcard__link { text-decoration: none; color: inherit; display: block; }
.pcard__media { position: relative; }
.pcard__media-hover { position: absolute; inset: 0; opacity: 0; transition: opacity var(--transition); }
.pcard__media.has-hover:hover .pcard__media-hover { opacity: 1; }
.hover--lift { transition: transform var(--transition); }
.hover--lift:hover { transform: translateY(-4px); }
.hover--zoom .media > img { transition: transform var(--transition); }
.hover--zoom:hover .media > img { transform: scale(1.04); }
.pcard__badges { position: absolute; top: 10px; left: 10px; display: flex; gap: 6px; z-index: 2; }
.badge { font-size: 10px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 9px; border-radius: 0; background: var(--color-primary); color: #fff; }
.badge--sale { background: var(--color-accent, var(--color-error)); }
.badge--soldout { background: var(--color-text-muted); }
.pcard__info { padding: 14px 2px; }
.pcard__info.align--center { text-align: center; }
.pcard__vendor { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-muted); margin: 0 0 4px; }
.pcard__title { font-size: 15px; font-weight: 600; margin: 0 0 6px; }
.pcard__quick-add { padding: 0 4px 12px; }
.pcard__quick-add .btn { width: 100%; }
.pcard--horizontal .pcard__link { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: center; }
.pcard--compact .pcard__info { padding: 8px 2px; }

/* Price */
.price { display: flex; gap: 8px; align-items: baseline; }
.price__current { font-weight: 600; }
.price--on-sale .price__current { color: var(--color-error); }
.price__compare { color: var(--color-text-muted); font-size: 0.9em; }

/* ---------- Collection card ---------- */
.ccard { display: block; text-decoration: none; color: inherit; border-radius: var(--radius); overflow: hidden; }
.ccard--bordered { border: 1px solid var(--card-border); }
.ccard--shadow { box-shadow: 0 4px 14px rgba(0,0,0,.06); }
.ccard__caption { padding: 12px 4px; }
.ccard.align--center .ccard__caption { text-align: center; }
.ccard.title--overlay .ccard__media { position: relative; }
.ccard.title--overlay .ccard__overlay { position: absolute; inset: 0; background: #000; opacity: var(--overlay); }
.ccard.title--overlay .ccard__caption { position: absolute; inset-block-end: 0; inset-inline: 0; color: #fff; }
.ccard__count { color: var(--color-text-muted); font-size: 13px; margin: 2px 0 0; }
.ccard.title--overlay .ccard__count { color: rgba(255,255,255,.85); }

/* ---------- Grids ---------- */
.demo-content__grid {
  display: grid; gap: var(--grid-gap);
  grid-template-columns: repeat(2, 1fr); margin-top: var(--section-spacing);
}
@media (min-width: 750px) { .demo-content__grid { grid-template-columns: repeat(4, 1fr); } }

/* ---------- Demo hero ---------- */
.demo-hero { position: relative; padding-block: var(--section-pad, 140px); min-height: 70vh; display: flex; align-items: flex-end; }
.demo-hero.align--center { text-align: center; align-items: center; }
.demo-hero__content { max-width: 720px; position: relative; z-index: 1; }
.demo-hero.align--center .demo-hero__content { margin-inline: auto; }
.demo-hero__heading {
  margin-bottom: 0.3em;
  font-size: clamp(2.5rem, 1.5rem + 5vw, var(--h1-size, 72px));
  line-height: var(--heading-line-height, 1.0);
  letter-spacing: var(--heading-letter-spacing, -1px);
  text-transform: uppercase;
}
.demo-hero__subtitle { font-size: clamp(1rem, 1rem + 0.4vw, 1.2rem); color: var(--color-text-muted); margin-bottom: 1.75rem; max-width: 46ch; }
.demo-hero.align--center .demo-hero__subtitle { margin-inline: auto; }
.demo-hero__ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.demo-hero.align--center .demo-hero__ctas { justify-content: center; }
.demo-hero__media { position: absolute; inset: 0; z-index: -1; }
.demo-hero__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.05) 45%, transparent 70%);
  pointer-events: none;
}
.demo-hero__media .media { height: 100%; border-radius: 0; }
.demo-hero__media .media > img { object-fit: cover; }
.demo-hero__media ~ .demo-hero__content .eyebrow,
.demo-hero__media ~ .demo-hero__content .demo-hero__heading,
.demo-hero__media ~ .demo-hero__content .demo-hero__subtitle { color: #ffffff; }

/* ---------- Demo content ---------- */
.demo-content__inner { display: grid; gap: clamp(20px, 4vw, 56px); align-items: center; padding-block: var(--section-pad, 72px); }
@media (min-width: 750px) { .demo-content__inner { grid-template-columns: 1fr 1fr; } }
.demo-content__inner.media--end .demo-content__media { order: 2; }
.demo-content__text h2 { margin-bottom: 0.5em; }
.demo-content__text .btn { margin-top: 1rem; }

/* ---------- Footer ---------- */
.footer { background: var(--footer-bg); color: color-mix(in srgb, #fff 85%, transparent); margin-top: var(--section-spacing); }
.footer__inner { display: grid; gap: 32px; padding-block: 48px; }
@media (min-width: 750px) { .footer__inner { grid-template-columns: 2fr 1fr 1fr; } }
.footer a { color: inherit; text-decoration: none; opacity: .85; }
.footer a:hover { opacity: 1; }
.footer__nav ul, .footer__social { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.footer__social { flex-direction: row; gap: 16px; }
.footer__desc { opacity: .7; max-width: 42ch; }
.footer__bottom { padding-block: 20px; border-top: 1px solid rgba(255,255,255,.12); opacity: .7; }

/* ---------- Cookie banner ---------- */
.cookie-banner { position: fixed; z-index: 70; background: var(--color-bg); border: 1px solid var(--color-border); box-shadow: 0 8px 30px rgba(0,0,0,.12); }
.cookie-banner[hidden] { display: none; }
.cookie-banner--bottom { inset-inline: 16px; inset-block-end: 16px; border-radius: var(--radius); }
.cookie-banner--modal { inset: 0; margin: auto; max-width: 440px; height: fit-content; border-radius: var(--radius); }
.cookie-banner__inner { display: flex; gap: 16px; align-items: center; padding: 16px; flex-wrap: wrap; }
.cookie-banner--modal .cookie-banner__inner { flex-direction: column; align-items: stretch; }
.cookie-banner__text { margin: 0; flex: 1; font-size: 14px; }
.cookie-banner__link { color: var(--color-accent); }
.cookie-banner__actions { display: flex; gap: 8px; }

/* ---------- License debug indicator ---------- */
.license-status { position: fixed; inset-block-end: 8px; inset-inline-start: 8px; z-index: 90; font-size: 12px; padding: 6px 10px; border-radius: 6px; background: var(--color-surface); border: 1px solid var(--color-border); }
.license-status--test-mode { border-color: var(--color-warning); }
.license-status--configured { border-color: var(--color-success); }

/* ---------- Password page ---------- */
.password-page { min-height: 70vh; display: grid; place-items: center; text-align: center; padding: 40px; }

/* ---------- Motion ---------- */
.anim-fade { animation: fade-up calc(var(--anim-speed) * var(--anim-scale)) ease both; }
@keyframes fade-up { from { opacity: 0; transform: translateY(calc(8px * var(--anim-scale))); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}

/* ---------- Mobile nav (progressive) ---------- */
.mobile-nav { position: fixed; inset: 0; z-index: 65; background: var(--color-bg); transform: translateX(-100%); transition: transform var(--transition); }
.mobile-nav.is-open { transform: none; }



/* ---------- Newsletter popup ---------- */
.newsletter-popup[hidden] { display: none; }
.newsletter-popup__backdrop {
  position: fixed; inset: 0; z-index: 85;
  background: color-mix(in srgb, var(--overlay-color) 60%, transparent);
}
.newsletter-popup__panel {
  position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 86;
  width: min(760px, 92vw); max-height: 90vh; overflow: auto;
  background: var(--color-bg); color: var(--color-text);
  display: grid; grid-template-columns: 1fr; border-radius: var(--radius);
  box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
@media (min-width: 640px) {
  .newsletter-popup__panel:has(.newsletter-popup__media) { grid-template-columns: 1fr 1fr; }
}
.newsletter-popup__close { position: absolute; top: 12px; right: 12px; background: none; border: 0; cursor: pointer; color: inherit; z-index: 1; padding: 6px; }
.newsletter-popup__media .media { height: 100%; border-radius: 0; }
.newsletter-popup__content { padding: 40px 32px; display: flex; flex-direction: column; justify-content: center; }
.newsletter-popup__content h2 { margin-bottom: 0.4em; }
.newsletter-popup__subtext { color: var(--color-text-muted); margin-bottom: 1.25rem; }
.newsletter-popup__field { display: flex; gap: 8px; flex-wrap: wrap; }
.newsletter-popup__field input[type="email"] {
  flex: 1; min-width: 200px; padding: 12px 14px;
  border: 1px solid var(--color-border); border-radius: var(--input-radius);
  font: inherit; background: var(--color-bg); color: var(--color-text);
}
.newsletter-popup__error { color: var(--color-error); font-size: 13px; margin-top: 8px; }
.newsletter-popup__success { font-weight: 600; margin: 0; }
.newsletter-popup__disclaimer { margin-top: 14px; font-size: 12px; color: var(--color-text-muted); }

#ProductSection-{{ section.id }} .rs-media-col,
#ProductSection-{{ section.id }} .rs-media-col .media,
#ProductSection-{{ section.id }} .rs-media-col .product__media,
#ProductSection-{{ section.id }} .rs-media-col .product-media-container,
#ProductSection-{{ section.id }} .rs-media-col .media-gallery {
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
}