/** Shopify CDN: Minification failed

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

**/
/* Haven — Starry Night theme */

/* ---------- Starfield (brighter, more present) ---------- */
.haven-starfield {
  position: relative;
  overflow: hidden;
}

.haven-starfield::before,
.haven-starfield::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-repeat: repeat;
  z-index: 0;
}

.haven-starfield::before {
  background-image:
    radial-gradient(2.2px 2.2px at 8% 22%, #ffffff 0%, transparent 65%),
    radial-gradient(1.6px 1.6px at 18% 68%, #ffffff 0%, transparent 65%),
    radial-gradient(2.4px 2.4px at 27% 12%, #ffffff 0%, transparent 65%),
    radial-gradient(1.8px 1.8px at 36% 78%, #ffffff 0%, transparent 65%),
    radial-gradient(2px 2px at 46% 34%, #ffffff 0%, transparent 65%),
    radial-gradient(1.5px 1.5px at 55% 58%, #ffffff 0%, transparent 65%),
    radial-gradient(2.3px 2.3px at 64% 16%, #ffffff 0%, transparent 65%),
    radial-gradient(1.7px 1.7px at 73% 72%, #ffffff 0%, transparent 65%),
    radial-gradient(2.2px 2.2px at 82% 40%, #ffffff 0%, transparent 65%),
    radial-gradient(1.8px 1.8px at 91% 62%, #ffffff 0%, transparent 65%),
    radial-gradient(1.9px 1.9px at 12% 88%, #ffffff 0%, transparent 65%),
    radial-gradient(2px 2px at 60% 90%, #ffffff 0%, transparent 65%),
    radial-gradient(1.6px 1.6px at 3% 45%, #ffffff 0%, transparent 65%),
    radial-gradient(1.8px 1.8px at 97% 20%, #ffffff 0%, transparent 65%),
    radial-gradient(2.1px 2.1px at 22% 5%, #ffffff 0%, transparent 65%),
    radial-gradient(1.7px 1.7px at 33% 55%, #ffffff 0%, transparent 65%),
    radial-gradient(2px 2px at 41% 92%, #ffffff 0%, transparent 65%),
    radial-gradient(1.9px 1.9px at 58% 25%, #ffffff 0%, transparent 65%),
    radial-gradient(2.3px 2.3px at 67% 80%, #ffffff 0%, transparent 65%),
    radial-gradient(1.6px 1.6px at 76% 10%, #ffffff 0%, transparent 65%),
    radial-gradient(2px 2px at 85% 55%, #ffffff 0%, transparent 65%),
    radial-gradient(1.8px 1.8px at 94% 88%, #ffffff 0%, transparent 65%),
    radial-gradient(1.5px 1.5px at 50% 48%, #ffffff 0%, transparent 65%),
    radial-gradient(2.1px 2.1px at 15% 33%, #ffffff 0%, transparent 65%);
  background-size: 100% 100%;
  opacity: 0.95;
  animation: haven-twinkle-a 5s ease-in-out infinite;
}

.haven-starfield::after {
  background-image:
    radial-gradient(1.4px 1.4px at 15% 45%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.6px 1.6px at 30% 90%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.2px 1.2px at 40% 20%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.7px 1.7px at 52% 8%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.4px 1.4px at 68% 50%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.6px 1.6px at 78% 82%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.2px 1.2px at 88% 18%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.7px 1.7px at 96% 46%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.4px 1.4px at 6% 60%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.3px 1.3px at 23% 30%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.5px 1.5px at 44% 65%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.3px 1.3px at 10% 12%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.5px 1.5px at 27% 75%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.2px 1.2px at 37% 38%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.6px 1.6px at 48% 95%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.4px 1.4px at 62% 63%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.3px 1.3px at 72% 28%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.5px 1.5px at 82% 72%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.2px 1.2px at 92% 8%, #cfd9f5 0%, transparent 65%),
    radial-gradient(1.4px 1.4px at 98% 58%, #cfd9f5 0%, transparent 65%);
  opacity: 0.75;
  animation: haven-twinkle-b 7s ease-in-out infinite reverse;
}

@keyframes haven-twinkle-a {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

@keyframes haven-twinkle-b {
  0%, 100% { opacity: 0.75; }
  50% { opacity: 0.25; }
}

@media (prefers-reduced-motion: reduce) {
  .haven-starfield::before,
  .haven-starfield::after {
    animation: none;
    opacity: 0.6;
  }
}

/* Deep-navy atmospheric glow behind the header/footer bands */
#header-group.haven-starfield {
  background: radial-gradient(ellipse 90% 140% at 50% 0%, rgba(70, 105, 185, 0.28), transparent 72%);
}

footer.haven-starfield {
  background:
    radial-gradient(ellipse 90% 140% at 50% 100%, rgba(70, 105, 185, 0.22), transparent 72%),
    #070a12;
  border-top: 1px solid rgba(255,255,255,0.1);
}

footer.haven-starfield,
footer.haven-starfield * {
  color: #c7cdd6;
}

footer.haven-starfield svg,
footer.haven-starfield svg * {
  fill: #c7cdd6 !important;
  stroke: #c7cdd6 !important;
}

footer.haven-starfield a {
  color: #eef0f3 !important;
  text-decoration: none;
}

footer.haven-starfield a:hover {
  color: #a9bce0 !important;
}

footer.haven-starfield h1,
footer.haven-starfield h2,
footer.haven-starfield h3 {
  color: #f7f8fa !important;
  font-family: "Cormorant Garamond", serif !important;
}

footer.haven-starfield input {
  color: #eef0f3 !important;
}

/* ---------- Navigation polish ---------- */
#header-component,
#header-component[transparent],
#header-component *[class*="background"] {
  background-color: #0a0e1c !important;
}

#header-component {
  border-bottom: 1px solid rgba(207, 217, 245, 0.14);
}

#header-component a {
  letter-spacing: 0.02em;
}

#header-component .header__logo,
#header-component [class*="logo"] {
  letter-spacing: 0.05em;
}

#header-component .header-logo,
#header-component [class*="logo"] {
  display: inline-flex;
  align-items: center;
}

#header-component .header-logo::before,
#header-component [class*="logo"]::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 18px;
  margin-right: 9px;
  flex-shrink: 0;
  background-image:
    linear-gradient(#eef0f3, #eef0f3),
    linear-gradient(#eef0f3, #eef0f3);
  background-size: 2px 18px, 10px 2px;
  background-position: center top, center 5px;
  background-repeat: no-repeat, no-repeat;
}

#header-component a,
#header-component a:hover,
#header-component a:focus,
#header-component button,
#header-component button:hover,
#header-component button:focus,
#header-component svg,
#header-component svg:hover,
#header-component svg *,
#header-component summary,
#header-component summary:hover {
  color: #eef0f3 !important;
  fill: #eef0f3 !important;
  stroke: #eef0f3 !important;
  opacity: 1 !important;
}

/* ---------- Typography: match the Haven mockup (Cormorant Garamond serif) ---------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&display=swap');

h1, h2, h3,
[class*="heading"],
.hero h1,
[data-type-preset="h1"],
[data-type-preset="h2"],
[data-type-preset="h3"] {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
}

em, i {
  font-family: 'Cormorant Garamond', Georgia, serif;
}


/* ---------- Product cards (catalog / collection grid) — clean, image on light bg + info strip below ---------- */
.product-card {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 6px;
  background: #0d1120;
  display: flex;
  flex-direction: column;
}

.product-card .product-card-gallery,
.product-card [class*="gallery"] {
  position: relative;
  aspect-ratio: 1;
  background: #efece3;
  overflow: hidden;
}

.product-card .product-card-gallery img,
.product-card [class*="gallery"] img {
  position: absolute;
  inset: 14px;
  width: calc(100% - 28px);
  height: calc(100% - 28px);
  object-fit: contain !important;
}

.product-card__content {
  padding: 16px 16px 18px;
  background: #0d1120;
}

.product-card .product-title,
.product-card [class*="product-title"] {
  font-family: 'Cormorant Garamond', serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  color: #f7f8fa !important;
}

.product-card .price,
.product-card [class*="price"] {
  color: #e8d6ae !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  margin-top: 4px;
}

.product-card__content::before {
  content: "HAVEN";
  display: block;
  font-size: 10px;
  letter-spacing: 0.12em;
  color: #a9bce0;
  margin-bottom: 6px;
}


/* ---------- Product page: trust badges + urgency ---------- */
main[data-template="product"] p:has(span) {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  color: #9aa1ac;
  font-size: 0.85rem;
  border-top: 1px solid rgba(255,255,255,0.1);
  border-bottom: 1px solid rgba(255,255,255,0.1);
  padding: 10px 0;
  margin: 4px 0;
}

main[data-template="product"] p:has(span) span {
  white-space: nowrap;
}


/* ---------- Footer logo mark ---------- */
footer.haven-starfield .footer-copyright::before,
footer.haven-starfield [class*="copyright"]::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 13px;
  margin-right: 6px;
  vertical-align: -1px;
  background-image:
    linear-gradient(#c7cdd6, #c7cdd6),
    linear-gradient(#c7cdd6, #c7cdd6);
  background-size: 1.4px 13px, 7px 1.4px;
  background-position: center top, center 3px;
  background-repeat: no-repeat, no-repeat;
}


/* ---------- Hide the Box Chain + Anchor Cross bundle everywhere except its own banner ---------- */
.product-card:has(a[href*="haven-box-chain-anchor-cross-bundel"]),
a.card[href*="haven-box-chain-anchor-cross-bundel"],
a.related-card[href*="haven-box-chain-anchor-cross-bundel"] {
  display: none !important;
}
