/** Shopify CDN: Minification failed

Line 604:0 Unexpected "}"

**/
@charset "UTF-8";
/* ─────────────────────────────────────────────
   PRODUCT MEDIA — Shadow & Box Overrides
───────────────────────────────────────────── */

/* Remove default glow from base.css */
.product-media-container .product-media,
.product-media-container:hover .product-media {
  box-shadow: none !important;
}

/* Remove margin in Recommended Products section */
product-recommendations .product-media,
product-recommendations .product-media-container .product-media {
  margin: 0 !important;
}

/* Remove padding in Recommended Products section */
product-recommendations .product-media img,
product-recommendations .product-media {
  padding: 0 !important;
  box-sizing: border-box !important;
}

/* Scale down product media in Recommended Products */
product-recommendations .product-media {
  transform: scale(0.99) !important;
  transform-origin: top center !important;
  margin-bottom: -25% !important;
}

/* Prevent scale rule from affecting recommendation card images */
.product-recommendations .product-media__image {
  transform: none !important;
}


/* ─────────────────────────────────────────────
   PRODUCT MEDIA — Gothic Frame Overlay
───────────────────────────────────────────── */

/* Gothic Frame overlay on all carousel slides */
media-gallery .product-media::after {
  content: '';
  position: absolute;
  inset: -5% -12%;
  background-image: url('/cdn/shop/files/Ornate_Gothic_Black_Picture_Frame.png?v=1781622652');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  z-index: 10;
}

/* Allow slideshow pointer capture through frame overlay */
.template-product media-gallery .product-media::after {
  pointer-events: none;
}

/* Vignette on product image */
media-gallery .product-media__image {
  -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 90%);
  mask-image: radial-gradient(ellipse at center, black 30%, transparent 90%);
}


/* ─────────────────────────────────────────────
   PRODUCT MEDIA — Image Stacking & Scale
───────────────────────────────────────────── */

/* Image inset + stacking (product pages only) */
.template-product .product-media img,
.template-product .product-media {
  position: relative;
  z-index: 1;
  padding: 4%;
  box-sizing: border-box;
}

/* Scale image to fit inside frame */
.product-media__image {
  object-fit: contain !important;
  transform: scale(0.75) !important;
  transform-origin: center center !important;
}

/* Increase product media min height on desktop */
@media screen and (min-width: 750px) {
  .product-media-container.constrain-height {
    --constrained-min-height: 600px !important;
  }
}


/* ─────────────────────────────────────────────
   PRODUCT MEDIA — Video Override
───────────────────────────────────────────── */

/* Override theme's forced 100% video size */
.product-media-container:not(.dialog-zoomed-gallery *) .product-media deferred-media video {
  width: 100% !important;
  height: 88% !important;
  object-fit: cover !important;
  display: block !important;
  margin: auto !important;
  padding-top: 25px;
}


/* ─────────────────────────────────────────────
   PRODUCT MEDIA — Wrapper Layout
───────────────────────────────────────────── */

/* Center the parent column that holds media-gallery */
.product__media-wrapper {
  display: flex !important;
  justify-content: center !important;
  padding: 0 !important;
}


/* ─────────────────────────────────────────────
   ADD TO CART BUTTON
───────────────────────────────────────────── */

[id$="__add-to-cart"] {
  background: linear-gradient(135deg, #1a0000 0%, #cc0000 50%, #1a0000 100%) !important;
  background-color: unset !important;
  color: #ffffff;
  border: none;
  transition: background 0.3s ease;
}

[id$="__add-to-cart"]:hover {
  background: linear-gradient(135deg, #2a0000 0%, #ff1a1a 50%, #2a0000 100%) !important;
}


/* ─────────────────────────────────────────────
   AI FRAMED IMAGE BLOCK
───────────────────────────────────────────── */

/* Move up ai-framed-image-content block */
.ai-framed-image-content-ablgraffnm21wmnu4baigenblock90c8628cnkcjm {
  margin-top: -200px;
}

/* Red and black gradient button */
.ai-framed-image-button-ablgraffnm21wmnu4baigenblock90c8628cnkcjm {
  background: linear-gradient(135deg, #000000 0%, #000000 35%, #8b0000 70%, #cc0000 100%);
  color: #ffffff;
  padding: 12px 28px;
  border-radius: 4px;
  text-decoration: none;
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.05em;
  transition: background 0.3s ease, box-shadow 0.3s ease;
  border: none !important;
  outline: none !important;
}

.ai-framed-image-button-ablgraffnm21wmnu4baigenblock90c8628cnkcjm:hover {
  background: linear-gradient(135deg, #1a0000 0%, #1a0000 35%, #8b0000 70%, #cc0000 100%);
  box-shadow: 0 0 16px 4px rgba(200, 0, 0, 0.4);
  color: #ffffff !important;
  text-decoration: none !important;
  border: none !important;
  outline: none !important;
}


/* ─────────────────────────────────────────────
   SLIDESHOW ARROWS
───────────────────────────────────────────── */

/* Pull slideshow arrows inward toward image edges */
slideshow-arrows {
  padding-left: 70px;
  padding-right: 70px;
}


/* ─────────────────────────────────────────────
   GLOBAL OVERRIDES
───────────────────────────────────────────── */

/* Override muted text color across all color schemes */
:root,
.color-scheme-1,
.color-scheme-2,
.color-scheme-3 {
  --color-foreground-muted: rgba(200, 200, 200, 0.7) !important;
}

.compare-at-price {
  color: white;
  opacity: 90%;
}


/* ─────────────────────────────────────────────
   BACK IN STOCK ALERT — xflow modal
───────────────────────────────────────────── */

.xflow-modal__container {
  background-color: #1a0000 !important;
  color: #ffffff !important;
}

.xflow-modal__container h2,
.xflow-modal__container p,
.xflow-modal__container .xflow-field__label {
  color: #ffffff !important;
}

.xflow-modal__container .xflow-field__input {
  color: #ffffff !important;
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.xflow-modal__container .xflow-field__input::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}


/* ─────────────────────────────────────────────
   SHIPGUARD PORTAL — WCAG AA contrast fixes
   Scoped via body.shipguard-page (set in theme.liquid when
   request.path contains '/apps/shipguard').
   The widget is JS-rendered (React) so selectors use generic
   element types rather than guessed class names, with !important
   to override any inline styles React may inject.
   Audit date: 2026-06-29
   Failures fixed:
     [F1] Body/heading text color too light on widget background
          Fix: #1a1a1a on white = 16.1:1 ✓
     [F2] Muted/subdued text (#6b7280, #9ca3af) on white → 2.4–4.3:1 FAILS
          Fix: #595959 on white = 7.0:1 ✓
     [F3] Placeholder text (#999, rgba(0,0,0,.38)) on white → 2.8–3.9:1 FAILS
          Fix: #767676 on white = 4.54:1 ✓
     [F4] Submit button: theme red (#ff0202) or blue on white → may FAIL
          Fix: #8b0000 bg / white text = 10.0:1 ✓
     [F5] Error text orange (#f59e0b) on white → 2.0:1 FAILS
          Fix: #b91c1c on #fff1f2 = 5.56:1 ✓
───────────────────────────────────────────── */

/* Page background — already #000 globally, made explicit here */
.shipguard-page #MainContent {
  background-color: #000000 !important;
}

/* F1 — All heading levels */
.shipguard-page #MainContent h1,
.shipguard-page #MainContent h2,
.shipguard-page #MainContent h3,
.shipguard-page #MainContent h4,
.shipguard-page #MainContent h5,
.shipguard-page #MainContent h6 {
  color: #1a1a1a !important;  /* 16.1:1 on white ✓ */
}

/* F1 — Body text */
.shipguard-page #MainContent p,
.shipguard-page #MainContent li,
.shipguard-page #MainContent td,
.shipguard-page #MainContent th {
  color: #1a1a1a !important;  /* 16.1:1 on white ✓ */
}

/* F2 — Small / muted text nodes that are typically lighter gray */
.shipguard-page #MainContent small,
.shipguard-page #MainContent caption,
.shipguard-page #MainContent figcaption {
  color: #595959 !important;  /* 7.0:1 on white ✓ */
}

/* Form labels */
.shipguard-page #MainContent label {
  color: #1a1a1a !important;  /* 16.1:1 on white ✓ */
  font-weight: 500 !important;
}

/* Form inputs — white bg, near-black text, visible border */
.shipguard-page #MainContent input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
.shipguard-page #MainContent select,
.shipguard-page #MainContent textarea {
  background-color: #ffffff !important;
  color: #1a1a1a !important;   /* 16.1:1 on white ✓ */
  border: 1.5px solid #595959 !important;
}

/* F3 — Placeholder text */
.shipguard-page #MainContent input::placeholder,
.shipguard-page #MainContent textarea::placeholder {
  color: #767676 !important;  /* 4.54:1 on white ✓ (WCAG AA minimum) */
  opacity: 1 !important;      /* Firefox reduces opacity by default */
}

/* F4 — Submit / primary button: dark crimson bg, white text */
.shipguard-page #MainContent button[type="submit"],
.shipguard-page #MainContent input[type="submit"] {
  background-color: #8b0000 !important;  /* dark crimson */
  color: #ffffff !important;             /* white on #8b0000: 10.0:1 ✓ */
  border: 2px solid #8b0000 !important;
}

.shipguard-page #MainContent button[type="submit"]:hover,
.shipguard-page #MainContent input[type="submit"]:hover {
  background-color: #6b0000 !important;
  color: #ffffff !important;  /* white on #6b0000: 13.5:1 ✓ */
  border-color: #6b0000 !important;
}

/* Other buttons (back, secondary) */
.shipguard-page #MainContent button:not([type="submit"]),
.shipguard-page #MainContent input[type="button"] {
  color: #1a1a1a !important;   /* 16.1:1 on white ✓ */
  border-color: #1a1a1a !important;
}

/* Links */
.shipguard-page #MainContent a {
  color: #1d4ed8 !important;  /* 5.93:1 on white ✓ */
  text-decoration: underline !important;
}

.shipguard-page #MainContent a:hover {
  color: #1e40af !important;  /* 7.17:1 on white ✓ */
}

/* F5 — Error / validation messages */
.shipguard-page #MainContent [role="alert"],
.shipguard-page #MainContent [aria-live="polite"],
.shipguard-page #MainContent [aria-live="assertive"] {
  color: #b91c1c !important;            /* 5.56:1 on white ✓ */
  background-color: #fff1f2 !important;
  padding: 0.25rem 0.5rem !important;
  border-radius: 4px !important;
}

/* Checkbox / radio labels */
.shipguard-page #MainContent [type="radio"] + *,
.shipguard-page #MainContent [type="checkbox"] + * {
  color: #1a1a1a !important;  /* 16.1:1 on white ✓ */
}


/* ─────────────────────────────────────────────
   FILTER & SORT BAR
───────────────────────────────────────────── */

.filter-sort-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  margin-bottom: 24px;
}

.filter-sort__sort {
  display: flex;
  align-items: center;
  gap: 8px;
}

.filter-sort__sort select {
  background: #111;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 6px 12px;
  border-radius: 4px;
}

.filter-sort__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
}

.filter-group {
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 8px 12px;
  min-width: 160px;
}

.filter-group__label {
  cursor: pointer;
  font-weight: 600;
  list-style: none;
}

.filter-group__options {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.filter-option {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 0.9em;
}

.filter-option.is-disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.filter-option__count {
  opacity: 0.6;
  font-size: 0.85em;
}

.filter-sort__active {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  width: 100%;
}

.filter-tag {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 0.85em;
  text-decoration: none;
  color: inherit;
}

.filter-tag:hover {
  background: rgba(255, 255, 255, 0.2);
}

.filter-clear {
  color: #aaa;
  font-size: 0.85em;
  text-decoration: underline;
}

.filter-price {
  display: flex;
  align-items: center;
  gap: 8px;
}

.filter-price input {
  width: 80px;
  background: #111;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 4px 8px;
  border-radius: 4px;
}

.filter-price button {
  background: #333;
  color: #fff;
  border: none;
  padding: 4px 10px;
  border-radius: 4px;
  cursor: pointer;
}


/* ─────────────────────────────────────────────
   MOBILE — max-width: 749px
───────────────────────────────────────────── */

@media screen and (max-width: 749px) {

  /* AI framed image block — reset negative margin so text sits below image */
  .ai-framed-image-content-ablgraffnm21wmnu4baigenblock90c8628cnkcjm {
    margin-top: 0 !important;
    padding-top: 0;
  }

  /* RTE text block — remove bottom padding */
  rte-formatter.text-block--AM3gwbEc2L1BWc3E3d__text_tVyBTp {
    --padding-block-end: 0px !important;
    padding-block-end: 0px !important;
  }

  /* Product image — reset scale, center with natural width */
  .product-media__image {
    transform: none;
    width: 75%;
    margin: 0 auto;
    object-fit: contain;
  }

  /* Constrain and center media gallery */
  media-gallery {
    width: 90% !important;
    margin: 0 auto !important;
    display: block !important;
  }

  /* Product information grid */
  .product-information {
    --grid-desktop-horizontal-spacing: 0px !important;
    --page-width-padding: 0px !important;
    grid-template-columns: 0px 1fr 0px !important;
  }

  /* Slideshow touch handling */
  slideshow-container,
  slideshow-slides {
    touch-action: pan-x !important;
  }

  .product-media {
    margin: 0 !important;
  }

  /* Unclip full ancestor chain for Gothic Frame overflow */
  .template-product .product,
  .template-product .page-width,
  .template-product .product__media-wrapper,
  .template-product media-gallery,
  .template-product .product-media-container,
  .template-product .product-media-container.constrain-height,
  .template-product .product-media,
  .template-product .product-media__image {
    overflow: visible !important;
  }

  .product__media-wrapper {
    overflow: visible !important;
  }
}


/* Change font for header navigation menu items and FAQ headings only */
.faq-subcategory-title, .faq-heading-title, header nav a,
header .header__menu a,
header [class*="menu"] a,
header [class*="nav"] a {
  font-family: 'Chakra Petch', sans-serif !important;
}

/* Remove bottom margin on nav item ::after pseudo-element that causes gap before dropdown */
.menu-list__list-item:not([slot=overflow])::after {
  margin-bottom: 0 !important;
}

/* Invisible 8px bridge above submenu to close the hover gap */
.menu-list__list-item:not([slot="overflow"]) > .menu-list__submenu::before {
  content: '';
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 8px;
  display: block;
}

/* Keep submenu visible while hovered */
.menu-list__list-item:not([slot="overflow"]) > .menu-list__submenu:hover,
.menu-list__list-item:not([slot="overflow"]) > .menu-list__submenu:hover * {
  visibility: visible !important;
}


/* Hero video - show full video without cropping */
video.hero__media {
  object-fit: contain !important;
  background: #000;
}

/* Hero video - scale up on desktop only */
@media (min-width: 750px) {
  video.hero__media {
    transform: scale(1.1);
    transform-origin: center center;
  }
}

/* Hero video - no scale on mobile to prevent side clipping */
@media (max-width: 749px) {
  video.hero__media {
    transform: none;
  }
}


/* Night sky background image applied globally to the page body
body {
  background-image: url('/cdn/shop/files/night-sky-more-stars.webp?v=1781212538');  /* ← this is the problem */
}
/* Pin page background image to viewport so it doesn't scroll with content
body {
  background-attachment: fixed;
}
*/
/* Make header nav links bold for readability */
.menu-list__link-title {
  font-weight: 700 !important;
}
/* Force non-active header menu link color to red */
header-menu .menu-list__link:not([aria-current='true']):not([aria-selected='true']) {
  color: #FF0000 !important;
}
/* Hero video - fix side cutoff on mobile */
@media (max-width: 749px) {
  [data-section-id="template--26682572898616__hero_p9CmMG"] video,
  [data-section-id="template--26682572898616__hero_p9CmMG"] video.hero__media {
    object-fit: contain !important;
    background: #000;
  }
}

/* Nav submenu — collapse empty grid space to 4 equal columns */
.mega-menu__list {
  grid-template-columns: repeat(4, 1fr) !important;
}

/* Nav submenu — wrap Shop by Intention items into 2 columns */
.mega-menu__list > .mega-menu__column:last-child ul {
  column-count: 2 !important;
}

/* ─────────────────────────────────────────────
   FRAMED IMAGE SECTION — Background Image Override
   Forces background image on section template--26682572898616__blocks_UgfXPD
───────────────────────────────────────────── */

/* Hide the color scheme background div that paints over the image */
.shopify-section[id="shopify-section-template--26682572898616__blocks_UgfXPD"] .section-background {
  display: none !important;
}

/* Force the background image to fill the section */
.shopify-section[id="shopify-section-template--26682572898616__blocks_UgfXPD"] .custom-section-background {
  background-image: url('/cdn/shop/files/1209383.jpg?v=1781475454') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  position: absolute !important;
  inset: 0 !important;
}

/* Ensure the section itself is positioned relatively so the background fills it */
.shopify-section[id="shopify-section-template--26682572898616__blocks_UgfXPD"] .section {
  position: relative !important;
  background-color: transparent !important;
}

/* ─────────────────────────────────────────────
   FRAMED IMAGE BLOCK — Container Background Image
   Sets background image behind the full framed image + content container
───────────────────────────────────────────── */

.ai-framed-image-container-aefduyjqwympzag9eraigenblock90c8628jfxfpx {
  position: relative !important;
  background-image: url('/cdn/shop/files/1209383.jpg?v=1781475454') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
/* Product inventory icon override — inline emoji replacement */
.product-inventory__icon {
  display: none;
}

.product-inventory__text::before {
  content: '✦';
  margin-right: 4px;
}

/* Make all product description text white on homepage only */
rte-formatter.spacing-style,
rte-formatter.spacing-style * {
  color: #ffffff !important;
}

/* Accordion: left-aligned heading, chevron on the right, dark red border + rounded corners */
[id*="section_TXgcQE"] details {
  border: 1px solid #8b0000;
  border-radius: 6px;
  overflow: hidden;
}

.text-block--AUVM5dG10N0lYZHpGc__text_gWhANH * {
  text-shadow: 4px 4px 0px red;
}

/* Force pill badge groups to display side by side */
.layout-panel-flex:has(.ai-pill-badge-azzjgv2rxqjg3uwxvmaigenblock5ad264chmtlhf),
.layout-panel-flex:has([class^="ai-pill-badge-"]) {
  --flex-direction: row !important;
  --flex-wrap: wrap !important;
}
/* Center all framed image blocks on mobile only */
@media (max-width: 749px) {
  .group-block-content.mobile-column {
    align-items: center !important;
  }
  .group-block-content.mobile-column > * {
    margin-left: auto !important;
    margin-right: auto !important;

  }
}
/* Remove section top/bottom padding — desktop only */
@media (min-width: 750px) {
  #shopify-section-template--26682572898616__section_YCcM6N .section-content0wrapper {
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
  }

  #shopify-section-template--26682572898616__section_YCcM6N .group-block {
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
  }
}

/* Reduce top padding on "A Mirror to Your Infinite Self" heading — desktop only */
@media (min-width: 750px) {
  #shopify-section-template--26682572898616__section_YCcM6N .text-block--ATm43WTdjcVFwWGdYd__text_84dcQT {
    --padding-block-start: 0px !important;
  }
}

/* Mobile-only: zero out bottom padding on hero text block */
@media (max-width: 749px) {
  #template--26682572898616__hero_p9CmMG__text_gWhANH {
    padding-bottom: 0 !important;
  }
}

/* Mobile-only: zero out bottom padding on hero text block */
@media (max-width: 749px) {
  .text-block--AUVM5dG10N0lYZHpGc__text_gWhANH {
    --padding-block-end: 0px !important;
  }
}

/* Reduce hero min-height on mobile only */
@media (max-width: 749px) {
  #Hero-template--26682572898616__hero_p9CmMG {
    --hero-min-height: 90svh !important;
  }
}
@media (max-width: 749px) {
  /* Mobile-only bottom padding for image block in section YCcM6N */
  #shopify-section-template--26682572898616__section_YCcM6N [data-block-id="template--26682572898616__section_YCcM6N__group_PQ34cD__image_9q7rry"] {
    padding-bottom: 100px !important;
  }
}

/* ── Pill Badges – product card labels (below product image) ── */

/* Badge wrapper: sits between image and title */
.product-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
  margin: 8px 0 4px;
}

/* Base pill style */
.product-card__badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.4;
  white-space: nowrap;
}

/* Default: dark with gold/metallic text */
.product-card__badge--default {
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(200, 170, 100, 0.4);
  color: rgba(220, 190, 120, 0.9);
}

/* "New" badge – jewel teal accent */
.product-card__badge--new {
  background: rgba(0, 160, 140, 0.15);
  border: 1px solid rgba(0, 200, 175, 0.4);
  color: rgba(0, 220, 195, 0.95);
}

/* "Best Seller" badge – deep crimson/ruby */
.product-card__badge--bestseller {
  background: rgba(160, 20, 40, 0.2);
  border: 1px solid rgba(200, 40, 60, 0.45);
  color: rgba(230, 100, 110, 0.95);
}

/* "Limited Edition" badge – muted silver/platinum */
.product-card__badge--limited {
  background: rgba(180, 180, 200, 0.1);
  border: 1px solid rgba(200, 200, 220, 0.35);
  color: rgba(210, 210, 230, 0.9);
}

/* Subtle glow on hover to match your product media style */
.product-card__badge:hover {
  filter: brightness(1.2);
  transition: filter 0.2s ease;
}


