/** Shopify CDN: Minification failed

Line 4279:39 Unexpected "/"

**/
/* ============================================================
   DIAVLIA — Master CSS v7.0 LUXURY
   Certified Diamond Jewelry | Gold + Charcoal + Warm Cream
   Benchmark: Cartier, Tiffany, Mejuri, Brilliant Earth
   EVERY detail must feel $100K custom-build
   ============================================================ */

/* === Design Tokens === */
:root {
  --dv-gold: #b8956a;
  --dv-gold-hover: #a07d50;
  --dv-gold-light: rgba(184, 149, 106, 0.08);
  --dv-gold-glow: rgba(184, 149, 106, 0.15);
  --dv-charcoal: #1a1a1a;
  --dv-charcoal-soft: #2a2520;
  --dv-warm-bg: #faf8f5;
  --dv-warm-alt: #f5f0ea;
  --dv-cream: #f0ebe4;
  --dv-text: #4a4a4a;
  --dv-text-light: #8a8580;
  --dv-text-dark: #1a1a1a;
  --dv-border: #e8e4de;
  --dv-border-light: #f0ece6;
  --dv-ease: cubic-bezier(0.4, 0, 0.2, 1);
  --dv-ease-out: cubic-bezier(0.0, 0, 0.2, 1);
  --dv-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dv-transition: 0.3s var(--dv-ease);
  --dv-transition-slow: 0.5s var(--dv-ease-out);
  --dv-shadow-sm: 0 2px 8px rgba(26, 26, 26, 0.04);
  --dv-shadow-md: 0 8px 24px rgba(26, 26, 26, 0.08);
  --dv-shadow-lg: 0 16px 48px rgba(26, 26, 26, 0.12);
  --dv-shadow-gold: 0 8px 32px rgba(184, 149, 106, 0.12);
}

/* === Base — Refined === */
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  background: var(--dv-warm-bg);
  color: var(--dv-text);
  margin: 0;
  padding: 0;
}

/* Kill top gap above announcement bar */
#header-group { margin-top: 0 !important; }

::selection { background: rgba(184, 149, 106, 0.2); color: var(--dv-charcoal); }
a { transition: color var(--dv-transition); }
a:hover { color: var(--dv-gold); }
:focus-visible { outline: 2px solid var(--dv-gold); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* === Typography — Luxury Hierarchy === */
.content-for-layout h1, main h1 {
  font-weight: 300;
  letter-spacing: 0.04em;
  line-height: 1.15;
}

.content-for-layout h2, main h2 {
  font-weight: 400;
  letter-spacing: 0.03em;
}

.shopify-section .text-block h2 { letter-spacing: 0.03em; }

/* Elegant gold accent under section headings */
[id*="template--"] h2::after {
  content: "";
  display: block;
  width: 32px;
  height: 1px;
  background: var(--dv-gold);
  margin: 16px auto 0;
  opacity: 0.5;
}

/* Section header group — tighter, more elegant */
.section-header {
  margin-bottom: 40px;
}

/* Eyebrow above section headings — gold, delicate */
.section-header .eyebrow,
[class*="subheading"],
.rte [style*="letter-spacing: 0.2em"] {
  margin-bottom: 8px;
  color: var(--dv-gold) !important;
  font-size: 10px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

/* Eyebrow/Subheading — per JEWELRY_STORE_PATTERNS */
.subheading, [class*="subheading"], .subtitle, .eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 11px;
  color: var(--dv-gold);
  font-weight: 500;
}

/* === Buttons — Commanding yet Elegant === */
.button, .button-secondary, .button-primary, a[class*="button-"] {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  border-radius: 0;
  font-size: 0.8rem;
  font-weight: 600;
  transition: all var(--dv-transition);
  position: relative;
}

.button:not(.button-secondary):hover {
  transform: translateY(-1px);
  box-shadow: var(--dv-shadow-md);
}

.button-secondary {
  border-width: 1.5px;
}

.button-secondary:hover {
  border-color: var(--dv-gold);
  color: var(--dv-gold);
  background: var(--dv-gold-light) !important;
}

/* === Header — Dark Luxury Frame === */
.header-section, header-component, .header__row {
  background: var(--dv-charcoal) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.header-section a, header-component a {
  color: rgba(255, 255, 255, 0.7) !important;
  transition: color var(--dv-transition);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Nav link spacing — compact for 7 items */
header-component nav a, .header-section nav a {
  padding: 0 8px !important;
  font-size: 10.5px !important;
  letter-spacing: 0.05em !important;
}

.header-section a:hover, header-component a:hover {
  color: var(--dv-gold) !important;
}

.cart-bubble {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  font-size: 0.65rem;
  font-weight: 700;
}

/* Mega menu — dark, refined */
.header-menu__panel, .mega-menu-content, [class*="mega-menu"] {
  background: var(--dv-charcoal) !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
}

/* Announcement bar — barely-there elegance */
.header-announcements, .announcement-bar, [class*="announcement"] {
  background: var(--dv-charcoal) !important;
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 8px 0 !important;
}
.announcement-bar a { color: var(--dv-gold) !important; }

.header-announcements *, .announcement-bar * {
  color: rgba(255, 255, 255, 0.5) !important;
  font-weight: 400;
}

/* === Product Cards — Borderless, Clean like BE === */
.product-card, .card, [class*="product-card"] {
  background: transparent;
  border: none;
  transition: all 0.4s var(--dv-ease-out);
  position: relative;
  overflow: hidden;
}

.product-card:hover, .card:hover {
  transform: translateY(-2px);
}

/* Image container — subtle warm bg, NO borders */
.product-card .product-media__image,
.product-card img {
  background: #f3efe9;
  border-radius: 2px;
}

/* Kill ALL card borders from Horizon theme */
.product-card *, .card * {
  border-color: transparent !important;
}

/* But keep the image bg border-radius */
.product-card .product-media__image {
  border: none !important;
}

/* Product card text — per JEWELRY_STORE_PATTERNS.md */
.product-card__title a {
  color: var(--dv-text) !important;
  font-weight: 400;
  font-size: 14.5px;
  line-height: 1.45;
  transition: color var(--dv-transition);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.product-card__title a:hover {
  color: var(--dv-text-dark) !important;
}

.product-card__price, .product-card .price {
  color: var(--dv-text-dark) !important;
  font-weight: 500;
  font-size: 15px;
  margin-top: 4px;
}

/* Hide vendor on cards — all products are Diavlia */
.product-card__vendor {
  display: none !important;
}

/* Quick add button — slides up from bottom of card */
.quick-add__button, [class*="quick-add"] .button {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 0;
  transition: all var(--dv-transition);
  padding: 12px 20px;
  width: 100%;
}

.quick-add__button:hover, [class*="quick-add"] .button:hover {
  background: var(--dv-gold) !important;
}

/* Badges — HIDDEN per JEWELRY_STORE_PATTERNS: "KEIN Badge ausser echtem Sale" */
.badge--sale, [class*="badge"]:not(.cart-bubble) {
  display: none !important;
}

/* Only show badge on actual sale items */
.product-card--on-sale .badge--sale {
  display: inline-block !important;
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border-radius: 0;
  font-size: 0.6rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  padding: 4px 10px;
}

/* Quick-add button — hide the black rectangle, show only on hover */
.quick-add, [class*="quick-add"] {
  opacity: 0;
  transition: opacity 0.3s var(--dv-ease);
}
.product-card:hover .quick-add,
.product-card:hover [class*="quick-add"] {
  opacity: 1;
}

/* === Product Page — Gallery Feel === */
.product__title, .product-information h1 {
  font-weight: 300 !important;
  letter-spacing: 0.02em;
  color: var(--dv-text-dark);
  word-wrap: break-word;
  overflow-wrap: break-word;
  font-size: clamp(1.6rem, 2.8vw, 2.25rem) !important;
  line-height: 1.2;
  margin-bottom: 12px;
}

/* Product price — the number that matters */
.product__price, .product-information .price {
  font-size: 1.5rem !important;
  font-weight: 500;
  color: var(--dv-text-dark) !important;
  margin-bottom: 20px;
  letter-spacing: 0.01em;
}

/* Compare-at price (strikethrough) */
.product__price s, .product-information .price s,
.product__price del, .product-information .price del {
  color: var(--dv-text-light);
  font-size: 1.1rem;
  font-weight: 400;
}

.product-information .product__info-container,
.product-information [class*="info-container"] {
  max-width: 100%;
}

.product-information__content, .product__info-wrapper {
  overflow: visible;
  max-width: 100%;
}

.product__price, .product-information .price {
  color: var(--dv-gold) !important;
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
}

/* Product media gallery — clean, borderless */
.product-media__image {
  border-radius: 2px;
  background: #f3efe9;
}

.product-media {
  border: none;
  background: #f3efe9;
}

/* Image thumbnails — minimal */
.product-media__thumbnail, [class*="thumbnail"] img {
  border: 1px solid transparent;
  border-radius: 2px;
  transition: border-color var(--dv-transition);
  opacity: 0.7;
}

.product-media__thumbnail:hover {
  opacity: 1;
}

.product-media__thumbnail--active {
  border-color: var(--dv-charcoal) !important;
  opacity: 1;
}

/* Variant selector — minimal squares */
.product-form__input input[type="radio"] + label,
.swatch__button, [class*="variant"] label {
  border: 1px solid var(--dv-border) !important;
  border-radius: 0 !important;
  transition: all var(--dv-transition);
  font-size: 13px;
  letter-spacing: 0.02em;
  min-width: 48px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.product-form__input input[type="radio"] + label:hover,
.swatch__button:hover {
  border-color: var(--dv-charcoal) !important;
}

.product-form__input input[type="radio"]:checked + label,
.swatch__button--active, [class*="variant"] input:checked + label {
  border-color: var(--dv-charcoal) !important;
  background: var(--dv-charcoal) !important;
  color: #fff !important;
}

/* Add to Cart — the most important button on the page */
.product-form__submit, .add-to-cart-button, button[name="add"] {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 20px 40px;
  font-size: 0.82rem;
  transition: all 0.3s var(--dv-ease);
  border: none;
  width: 100%;
}

.product-form__submit:hover, .add-to-cart-button:hover, button[name="add"]:hover {
  background: var(--dv-gold) !important;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(184, 149, 106, 0.25);
}

/* Buy it now — secondary, understated */
.shopify-payment-button .shopify-payment-button__button,
.shopify-payment-button .shopify-payment-button__button--unbranded,
.shopify-payment-button [class*="shopify-payment-button__button"] {
  border-radius: 0 !important;
  font-family: inherit !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  background: transparent !important;
  color: var(--dv-charcoal) !important;
  border: 1.5px solid var(--dv-border) !important;
  box-shadow: none !important;
  padding: 16px 32px !important;
}
.shopify-payment-button .shopify-payment-button__button:hover,
.shopify-payment-button [class*="shopify-payment-button__button"]:hover {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border-color: var(--dv-charcoal) !important;
}
/* Hide PayPal branded button colors */
.shopify-payment-button__button--branded {
  opacity: 0.85;
}

/* Accordion tabs on PDP — minimal lines */
.product-details details summary, .accordion__title {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--dv-text);
  border-bottom: 1px solid var(--dv-border);
  padding: 18px 0;
  transition: color var(--dv-transition);
  cursor: pointer;
}

.product-details details summary:hover, .accordion__title:hover {
  color: var(--dv-text-dark);
}

details[open] summary {
  color: var(--dv-text-dark);
  font-weight: 600;
}

details .accordion__content, details > div {
  padding: 16px 0 24px;
  font-size: 14px;
  line-height: 1.7;
  color: var(--dv-text);
}


/* === Price Formatting — Luxury Feel === */
/* Hide "EUR" suffix - redundant when currency symbol shown */
.product__price .money::after,
.product-card__price .money::after {
  content: none;
}
/* Price on PDP — gold accent */
.product__price .money,
.product-information .price .money,
.product-information .price__regular .money {
  color: var(--dv-text-dark) !important;
  font-weight: 500 !important;
  font-size: 1.4rem !important;
  letter-spacing: 0.02em !important;
}
/* Compare-at price */
.product__price .price--on-sale .price__regular .money,
.product__price s .money,
.product__price del .money {
  color: var(--dv-text-light) !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
}
/* Sale price highlight */
.product__price .price--on-sale .price__sale .money {
  color: var(--dv-gold) !important;
  font-weight: 600 !important;
}


/* === Currency Code — Hidden for Cleanliness === */
/* Hide "EUR" text after price - euro symbol is enough */
.product__price [data-currency-code],
.price__regular [data-currency-code],
.price__sale [data-currency-code] {
  display: none !important;
}

/* === Dynamic Payment Buttons — Subdued === */
/* Make PayPal/GPay buttons less garish */
.shopify-payment-button {
  margin-top: 8px !important;
}
.shopify-payment-button__button--branded,
.shopify-payment-button .shopify-payment-button__button {
  max-height: 48px !important;
  border-radius: 0 !important;
  opacity: 0.9 !important;
}
/* "More payment options" link — subtle */
.shopify-payment-button__more-options,
.product-form__buttons [class*="more-options"],
.dynamic-checkout__content + a,
.product-form__buttons > a {
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  color: var(--dv-text-light) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}



/* === Homepage Category Grid — Force 4 Columns === */
/* Override until Shopify cache clears */
[id*="shop_categories"] .resource-list--grid,
[id*="shop_cat"] .resource-list--grid {
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
[id*="shop_categories"] .resource-list--grid > *,
[id*="shop_cat"] .resource-list--grid > * {
  aspect-ratio: 3/4;
}
@media (max-width: 749px) {
  [id*="shop_categories"] .resource-list--grid,
  [id*="shop_cat"] .resource-list--grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* === Product Title Elegance === */
/* Clamp long technical titles to 2 lines on product cards */
.product-card__title,
[class*="product-card"] [class*="title"] {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
}

/* Product title on PDP — remove "Lab-Grown Diamond" prefix pattern */  
/* Can't change HTML, but can style it better */
.product__title h1,
.product-information h1 {
  font-weight: 300 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.15 !important;
  font-size: clamp(1.5rem, 2.8vw, 2.25rem) !important;
}

/* === Collection Banner Responsive Fix === */
.dv-collection-banner {
  margin-bottom: -1px;
}
@media (max-width: 749px) {
  .dv-collection-banner {
    height: 200px !important;
  }
  .dv-collection-banner h1 {
    font-size: 1.75rem !important;
  }
}

/* === "Find Your Ring Size" Link — Gold Accent === */
a[href*="ring-size"],
a[href*="size-guide"],
[class*="size-guide"] a {
  color: var(--dv-gold) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.04em !important;
}


/* === Footer — Dark Luxury Frame === */
footer, .footer, .footer-section {
  background: var(--dv-charcoal) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: #999 !important;
}

footer h2, footer h3, footer h4, .footer h2, .footer h3 {
  color: #fff !important;
  letter-spacing: 0.15em;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
}

footer a, .footer a { color: #888 !important; font-size: 0.88rem; }
footer a:hover, .footer a:hover { color: var(--dv-gold) !important; }

footer input[type="email"], .footer input[type="email"] {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #fff !important;
  border-radius: 0;
  padding: 12px 0;
  font-size: 14px;
  letter-spacing: 0.02em;
}

footer input[type="email"]:focus, .footer input[type="email"]:focus {
  border-bottom-color: var(--dv-gold) !important;
  outline: none;
}

footer .button, .footer .button {
  background: var(--dv-gold) !important;
  color: #fff !important;
  border-radius: 0;
}

.footer__copyright {
  color: rgba(255, 255, 255, 0.3) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  font-size: 11px;
  letter-spacing: 0.04em;
  padding: 24px 0;
}

/* Payment icons in footer */
.footer__payment-icons img, .payment-icon {
  opacity: 0.5;
  transition: opacity var(--dv-transition);
  height: 24px;
}

.footer__payment-icons img:hover, .payment-icon:hover {
  opacity: 0.8;
}

/* === Divider — Nearly invisible === */
hr {
  border: none;
  height: 1px;
  background: var(--dv-border);
  margin: 3rem 0;
  opacity: 0.4;
}

/* === Collections — Full-Width Premium Grid === */
/* Force collection grid to use full page width */
.collection-wrapper.grid,
.collection-wrapper--grid-full-width {
  display: grid !important;
  grid-template-columns: 1fr !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
.main-collection-grid {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
.facets-block-wrapper--horizontal {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}
/* Product grid container — full width */
.product-grid-container {
  display: block !important;
  width: 100% !important;
  max-width: var(--page-width, 1280px) !important;
  margin: 0 auto !important;
  padding: 0 clamp(16px, 3vw, 40px) !important;
}
/* The actual product cards grid */
.main-collection-grid.grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px 20px !important;
  width: 100% !important;
}
@media (max-width: 749px) {
  .main-collection-grid.grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px 12px !important;
  }
}
/* Collection Filters
.facets, [class*="facets"] {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-border) !important;
  padding-bottom: 12px;
}

/* Filter labels */
.facets__label, [class*="facet"] label, .facets select {
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--dv-text);
  border: 1px solid var(--dv-border);
  padding: 8px 16px;
}

/* Item count + sort — right aligned, subtle */
.facets__count, [class*="facet"] .count {
  font-size: 13px;
  color: var(--dv-text-light);
}

/* === Cart Drawer — Premium Experience === */
.cart-drawer {
  background: #fff !important;
  box-shadow: -16px 0 48px rgba(0, 0, 0, 0.15) !important;
}

.cart-drawer__header {
  border-bottom: 1px solid var(--dv-border) !important;
  padding: 24px 20px;
}

.cart-drawer__header h2 {
  font-weight: 400;
  letter-spacing: 0.06em;
  font-size: 1.1rem;
}

.cart__checkout .button, .cart button[name="checkout"] {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 16px 32px;
}
.cart__checkout .button:hover { background: var(--dv-gold) !important; }

/* === Search — Full-width overlay feel === */
.predictive-search__results {
  background: #fff !important;
  border: none !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.15);
  border-radius: 0;
}

.search-modal {
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(12px);
}

.search-modal input[type="search"] {
  border: none !important;
  border-bottom: 2px solid var(--dv-charcoal) !important;
  border-radius: 0 !important;
  font-size: 1.2rem;
  padding: 16px 0;
  font-weight: 300;
  letter-spacing: 0.02em;
}

.search-modal input[type="search"]:focus {
  border-bottom-color: var(--dv-gold) !important;
}

/* === Breadcrumbs — Subtle === */
nav[aria-label*="readcrumb"] ol, .breadcrumb ol, .breadcrumbs ol {
  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 !important;
  margin: 0 !important;
}
nav[aria-label*="readcrumb"] li::marker, .breadcrumb li::marker { content: '' !important; display: none !important; }
nav[aria-label*="readcrumb"] li + li::before { content: '/' !important; margin-right: 6px; color: #ccc; }

.breadcrumb, nav[aria-label*="readcrumb"] {
  font-size: 11px;
  color: var(--dv-text-light);
  margin-bottom: 16px;
  letter-spacing: 0.03em;
}

.breadcrumb a, nav[aria-label*="readcrumb"] a {
  color: var(--dv-text-light) !important;
  text-decoration: none;
  transition: color var(--dv-transition);
}

.breadcrumb a:hover, nav[aria-label*="readcrumb"] a:hover {
  color: var(--dv-gold) !important;
}

/* === Modals — Clean overlay === */
dialog, .dialog, [class*="modal"] {
  background: #fff !important;
  border: none !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.2);
  border-radius: 0;
}

/* Modal backdrop */
dialog::backdrop, [class*="modal"]::backdrop {
  background: rgba(26, 26, 26, 0.5);
  backdrop-filter: blur(4px);
}

/* === Hero-to-Content Transition — Smooth dark-to-warm bridge === */
/* Soft vignette shadow below hero for depth continuity */
[id*="hero_main"] + .shopify-section {
  position: relative;
  z-index: 0;
}
/* Subtle top shadow on first section after hero — creates depth */
[id*="hero_main"] + .shopify-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(
    to bottom,
    rgba(18, 18, 22, 0.07) 0%,
    rgba(18, 18, 22, 0.03) 40%,
    rgba(18, 18, 22, 0.0) 100%
  );
  pointer-events: none;
  z-index: 1;
}
/* === Dark Sections — Textured depth === */
[data-color-scheme="scheme-5"],
.color-scheme-5 {
  background: linear-gradient(135deg, #1a1a1a 0%, #1f1d1a 50%, #1a1a1a 100%) !important;
}

/* === Hero — Cinematic with overlay (desktop only) === */
@media (min-width: 750px) {
  .hero::before, section[class*="hero"]::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    z-index: 1;
    pointer-events: none;
  }

  .hero__text, .hero .group, .hero [class*="content"] {
    position: relative;
    z-index: 2;
  }
}

.hero__text h1, .hero__text h2, .slideshow__heading {
  color: #fff !important;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.5);
  font-weight: 300;
  letter-spacing: 0.05em;
  font-style: italic;
}

/* Hero subtext */
.hero__text p, .hero .text-block p {
  color: rgba(255, 255, 255, 0.85) !important;
  font-size: 1rem;
  letter-spacing: 0.02em;
  font-weight: 300;
}

/* Hero CTA button — outlined, elegant */
.hero .button, .hero a[class*="button"] {
  background: transparent !important;
  border: 1.5px solid #fff !important;
  color: #fff !important;
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  padding: 14px 36px;
  transition: all var(--dv-transition);
}

.hero .button:hover, .hero a[class*="button"]:hover {
  background: #fff !important;
  color: var(--dv-charcoal) !important;
}

/* === Pagination — Minimal === */
.pagination .current, .pagination [aria-current] {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border-radius: 0;
  min-width: 40px;
  min-height: 40px;
}

.pagination a {
  border-radius: 0;
  transition: all var(--dv-transition);
  min-width: 40px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}

.pagination a:hover {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
}

/* Load More button (if used instead of pagination) */
.load-more, [class*="load-more"] {
  background: transparent !important;
  border: 1.5px solid var(--dv-charcoal) !important;
  color: var(--dv-charcoal) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 11px;
  padding: 14px 40px;
}

.load-more:hover {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
}

/* === Scroll Reveal — Subtle === */
.dl-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s var(--dv-ease-out), transform 0.6s var(--dv-ease-out);
}
.dl-reveal.dl-visible { opacity: 1; transform: translateY(0); }

@keyframes forceReveal { to { opacity: 1; transform: none; } }
.dl-reveal { animation: forceReveal 0.01s 2s forwards; }
main .shopify-section { min-height: 1px; }
.product-information, .main-collection, .main-page, .main-cart {
  opacity: 1 !important;
  transform: none !important;
}

/* === Section Spacing — per JEWELRY_STORE_PATTERNS (100px desktop, 60px mobile) === */
/* Collection heading stays tight — products must be visible fast */
.section-wrapper {
  padding-block-end: 16px !important;
}

/* Only homepage gets luxury spacing — target via hero_main proximity */
[id*="hero_main"] ~ .shopify-section {
  padding-block: 80px;
}

/* Collection pages stay compact — products must dominate */
.collection-wrapper ~ .section-wrapper,
[id$="__main"] .section-wrapper {
  padding-block: 16px 4px !important;
}

/* Tighter gap between collection heading and filters */
.collection-wrapper .main-collection {
  margin-top: -16px;
}

/* Collection title — elegant, not screaming */
.collection-wrapper h1,
[id$="__collection_banner"] h1 {
  font-size: clamp(1.8rem, 3.5vw, 2.75rem) !important;
  margin-bottom: 8px;
  font-weight: 300;
  letter-spacing: 0.03em;
}

/* Collection description — subtle */
[id$="__collection_banner"] .section-wrapper p,
[id$="__collection_banner"] .section-wrapper .rte {
  font-size: 14px;
  color: var(--dv-text-light);
  max-height: 3em;
  overflow: hidden;
}

@media (max-width: 749px) {
  [id*="hero_main"] ~ .shopify-section {
    padding-block: 48px;
  }
}

/* Page content should not be clipped — only collection descriptions */
.collection-wrapper .collection-description,
[id$="__collection_banner"] .collection-description {
  max-height: 6em;
  overflow: hidden;
}

/* Homepage sections — generous spacing */
.content-for-layout > .shopify-section {
  margin-bottom: 0;
}

/* Value props / trust bar — refined */
.icon-list, [class*="icon-list"], [class*="trust-bar"] {
  letter-spacing: 0.04em;
}

/* === Blog Articles — Readable, Elegant === */
.article__content, .blog-post__content, .rte {
  font-size: 16px;
  line-height: 1.75;
  color: var(--dv-text);
  max-width: 720px;
}

.article__content h2, .blog-post__content h2 {
  margin-top: 48px;
  margin-bottom: 16px;
}

.article__content img, .blog-post__content img {
  border-radius: 2px;
  margin: 32px 0;
}

/* === Static Pages — About, FAQ, etc === */
/* Horizon uses [id$="__main"].section-wrapper for page templates */
[id$="__main"].section-wrapper .rte {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 24px;
}

[id$="__main"].section-wrapper h1 {
  font-weight: 300;
  margin-bottom: 24px;
}

[id$="__main"].section-wrapper h2 {
  margin-top: 40px;
  margin-bottom: 12px;
}

[id$="__main"].section-wrapper h3 {
  margin-top: 32px;
  margin-bottom: 8px;
  font-weight: 500;
}

[id$="__main"].section-wrapper p {
  margin-bottom: 16px;
  line-height: 1.7;
}

[id$="__main"].section-wrapper ul,
[id$="__main"].section-wrapper ol {
  padding-left: 20px;
  margin-bottom: 16px;
}

[id$="__main"].section-wrapper li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* === 404 === */
.main-404 { text-align: center; padding: 6rem 2rem; }

/* === Sticky ATC === */
.sticky-atc, [class*="sticky-atc"] {
  background: rgba(255, 255, 255, 0.98) !important;
  border-top: 1px solid var(--dv-border) !important;
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
  backdrop-filter: blur(12px);
}

/* Back to top button — minimal circle */
.back-to-top, [class*="back-to-top"], .btt {
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transition: all var(--dv-transition);
}

.back-to-top:hover, [class*="back-to-top"]:hover {
  background: var(--dv-gold) !important;
  transform: translateY(-2px);
}

/* === Image Treatment — Luxury Feel === */
.product-card img, .card img {
  transition: transform 0.6s var(--dv-ease-out);
}

/* Subtle warm tint on product images for cohesive feel */
.product-card .product-media__image,
.product-card img[class*="product"] {
  background: var(--dv-warm-bg);
}

/* Collection card overlay — elegant gradient */
.collection-list__card::after,
[class*="collection-card"]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 50%;
  background: linear-gradient(transparent, rgba(26, 26, 26, 0.6));
  pointer-events: none;
  z-index: 1;
}

/* Collection card title over image */
.collection-list__card [class*="title"],
[class*="collection-card"] [class*="title"] {
  position: relative;
  z-index: 2;
}

/* === Judge.me Reviews — Match theme === */
.jdgm-rev-widg__title, .jdgm-rev-widg .jdgm-rev-widg__title {
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em;
}

.jdgm-write-rev-link, .jdgm-rev-widg .jdgm-write-rev-link {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: inherit !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  padding: 12px 28px !important;
}

.jdgm-write-rev-link:hover {
  background: var(--dv-gold) !important;
}

/* === Micro-interactions — Luxury Details === */

/* Links — Gold color + subtle underline slide */
.content-for-layout a:not(.button):not([class*="button"]):not([class*="card"]) {
  text-decoration: none;
  background-image: linear-gradient(var(--dv-gold), var(--dv-gold));
  background-size: 0% 1px;
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: background-size 0.3s var(--dv-ease), color 0.3s var(--dv-ease);
}

.content-for-layout a:not(.button):not([class*="button"]):not([class*="card"]):hover {
  background-size: 100% 1px;
  color: var(--dv-gold);
}

/* Buttons — subtle press effect */
.button:active, a[class*="button"]:active {
  transform: translateY(0) scale(0.98);
}

/* Media-with-content sections — more immersive */
.media-with-content, [class*="media-with-content"] {
  min-height: 500px;
}

.media-with-content img {
  transition: transform 0.8s var(--dv-ease-out);
}

.media-with-content:hover img {
  transform: scale(1.02);
}

/* === Luxury Micro-Details === */

/* Section headings — elegant spacing */
.section-header, [class*="section-header"] {
  margin-bottom: 32px;
}

/* "View All" links — elegant, understated */
.view-all, [class*="view-all"] {
  font-size: 11px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--dv-gold) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color var(--dv-transition);
  padding-bottom: 2px;
}

.view-all:hover, [class*="view-all"]:hover {
  border-bottom-color: var(--dv-gold);
}

/* Collection list cards — immersive, full-bleed */
.collection-list__card, [class*="collection-card"] {
  overflow: hidden;
  border-radius: 0;
  position: relative;
}

.collection-list__card img {
  transition: transform 0.8s var(--dv-ease-out);
}

.collection-list__card:hover img {
  transform: scale(1.06);
}

/* Dark overlay gradient from bottom for text readability */
.collection-list__card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 60%;
  background: linear-gradient(transparent, rgba(26, 26, 26, 0.7));
  z-index: 1;
  pointer-events: none;
  transition: opacity 0.4s var(--dv-ease-out);
}

.collection-list__card:hover::before {
  opacity: 0.9;
}

/* Collection title — white, over image */
.collection-list__card [class*="title"],
[class*="collection-card"] [class*="title"] {
  position: relative;
  z-index: 2;
  color: #fff !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.3);
}

/* Empty states — luxurious, not sad */
.cart--empty, [class*="cart-empty"], [class*="empty-cart"],
.no-results, [class*="no-results"] {
  padding: 100px 20px;
  text-align: center;
}

.cart--empty h1, .cart--empty h2, [class*="empty"] h1, [class*="empty"] h2 {
  font-weight: 300;
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  letter-spacing: 0.03em;
  margin-bottom: 16px;
}

.cart--empty p, [class*="empty"] p {
  color: var(--dv-text-light);
  margin-bottom: 32px;
}

/* Quantity selector — refined */
.quantity-selector, [class*="quantity"] {
  border-radius: 0;
  border-color: var(--dv-border);
}

/* Form inputs — elegant */
input, textarea, select {
  border-radius: 0 !important;
  font-family: inherit;
  transition: border-color var(--dv-transition);
}

input:focus, textarea:focus, select:focus {
  border-color: var(--dv-gold) !important;
  box-shadow: 0 0 0 1px var(--dv-gold-light);
}

/* Scrollbar — subtle */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--dv-border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--dv-gold); }

/* Page transitions — smooth */
.content-for-layout {
  animation: pageIn 0.4s var(--dv-ease-out);
}

@keyframes pageIn {
  from { opacity: 0.9; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}

/* === Mobile === */
@media (max-width: 749px) {
  html, body { overflow-x: hidden !important; max-width: 100vw; }

  .header-section, header-component { background: var(--dv-charcoal) !important; }

  .header-drawer, [class*="header-drawer"] {
    background: var(--dv-charcoal) !important;
    color: #fff !important;
  }
  .header-drawer a {
    color: rgba(255, 255, 255, 0.8) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
    padding: 16px 24px;
    font-size: 15px;
    letter-spacing: 0.04em;
    font-weight: 300;
  }
  .header-drawer a:hover, .header-drawer a:active {
    color: var(--dv-gold) !important;
    background: rgba(255, 255, 255, 0.03) !important;
  }

  header-component nav a, .header-section nav a { font-size: 0.72rem !important; letter-spacing: 0.05em; }
  .header__logo, header-component .logo { margin: 0 auto; }

  .hero, section[class*="hero"] { position: relative !important; min-height: 300px !important; }

  .hero .group, .hero .content, .hero [class*="content"],
  section[class*="hero"] .group, section[class*="hero"] [class*="content"] {
    position: relative !important; z-index: 2 !important; width: 100% !important;
    display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important;
    text-align: center !important; opacity: 1 !important; transform: none !important;
  }

  .hero__text h1, .hero__text h2, [class*="hero"] h1,
  .hero .text-block, section[class*="hero"] .text-block {
    color: #ffffff !important; text-align: center !important;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.5);
    font-size: 1.4rem !important; line-height: 1.2;
    opacity: 1 !important; transform: none !important;
  }

  .hero .text-block p, section[class*="hero"] .text-block p {
    color: #e0dcd7 !important; text-shadow: 0 1px 10px rgba(0, 0, 0, 0.3);
    opacity: 1 !important; transform: none !important;
    padding: 0 20px !important; font-size: 0.82rem !important; line-height: 1.5;
  }

  .hero a[class*="button"], section[class*="hero"] a[class*="button"] {
    margin: 20px auto 0 !important; border-color: #fff !important; color: #fff !important;
    padding: 14px 32px !important; font-size: 0.75rem !important;
    letter-spacing: 0.12em !important; opacity: 1 !important; transform: none !important;
  }

  .hero .blurred-reflection, section[class*="hero"] .blurred-reflection { display: none !important; }

  .shopify-section, .shopify-section > *, .content-for-layout > * {
    opacity: 1 !important; transform: none !important;
  }

  .main-collection, .collection-wrapper, .section-wrapper {
    max-width: 100% !important; overflow-x: hidden !important;
  }

  .product-information [class*="badge"], .product-information [class*="highlight"] {
    display: inline-block; margin: 2px; font-size: 0.65rem; padding: 3px 8px;
  }

  .product-card__title { font-size: 0.92rem; line-height: 1.3; }
  .product-card__price { font-size: 0.95rem; }

  /* Mobile product page — full-width ATC */
  .product-form__submit, button[name="add"] {
    width: 100% !important;
    padding: 18px !important;
    font-size: 0.8rem !important;
  }

  /* Mobile collection title */
  .collection-wrapper h1,
  [id$="__collection_banner"] h1 {
    font-size: 1.75rem !important;
  }

  /* Mobile static pages */
  [id$="__main"].section-wrapper .rte {
    padding: 0 16px;
  }

  /* Mobile section heading */
  .section-header h2 {
    font-size: 1.8rem !important;
  }
}

/* ============================================================
   DIAVLIA CRITICAL FIXES — Consolidated 2026-03-18
   ============================================================ */

/* 1. Cart icon: force dark in solid header */
header .header-actions__action,
.header-actions__action[aria-label*="Cart"],
.header-actions .header-actions__action {
  color: #1a1a1a !important;
}
.header-actions__action svg {
  color: #1a1a1a !important;
  fill: #1a1a1a !important;
}
.header--transparent .header-actions__action,
.header--transparent .header-actions__action svg {
  color: var(--color-foreground) !important;
  fill: currentColor !important;
}

/* 3. Announcement bar: hide arrows + center text */
announcement-bar-component .slideshow-control,
button.slideshow-control {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  clip: rect(0,0,0,0) !important;
  opacity: 0 !important;
  position: absolute !important;
}
announcement-bar-component {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}
.announcement-bar__slider,
.announcement-bar__slider .slider,
.announcement-bar__slider .slider__item {
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
}

/* 4. Hero text readability */
/* Old hero text-shadow removed — bright image now */


/* Compact collection header on mobile */
@media (max-width: 749px) {
  .collection-wrapper .section-header,
  [id$="__collection_banner"] .section-header {
    padding-top: 16px !important;
    padding-bottom: 12px !important;
  }
  .collection-wrapper .section-header h1,
  [id$="__collection_banner"] .section-header h1 {
    font-size: 1.75rem !important;
    margin-bottom: 8px !important;
  }
  .collection-wrapper .section-header p,
  .collection-wrapper .collection-description,
  [id$="__collection_banner"] .section-header p,
  [id$="__collection_banner"] .collection-description {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
  }
}


/* Fix: Hide auto-generated page title (H1) on static pages where content has its own H2
   Targets the first text-block H1 in the page section */
[id$="__main"].section-wrapper .text-block h1 {
  display: none !important;
}


/* Premium subtle animations */
@media (prefers-reduced-motion: no-preference) {
  /* Product card hover lift */
  .product-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  }
  .product-card:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.08) !important;
  }
  
  /* Smooth image zoom on product card hover */
  .product-card .product-media__image {
    transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  }
  .product-card:hover .product-media__image {
    transform: scale(1.03) !important;
  }

  /* Button hover transition */
  .button, a.button {
    transition: all 0.25s ease !important;
  }
}


/* Enhanced newsletter signup in footer */
.email-signup__input {
  border-color: #b8956a !important;
  transition: border-color 0.3s ease !important;
}
.email-signup__input:focus {
  border-color: #1a1a1a !important;
  outline: none !important;
  box-shadow: 0 0 0 1px #1a1a1a !important;
}
.email-signup__button {
  background-color: #1a1a1a !important;
  color: #ffffff !important;
  transition: background-color 0.3s ease !important;
}
.email-signup__button:hover {
  background-color: #b8956a !important;
}


/* Compact breadcrumb on mobile — truncate long paths */
@media (max-width: 749px) {
  .breadcrumb, nav[aria-label*="Breadcrumb"], .breadcrumbs {
    font-size: 0.75rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    display: block !important;
  }
  /* Hide middle breadcrumb items on mobile (keep first and last) */
  .breadcrumb__item:not(:first-child):not(:last-child) {
    display: none !important;
  }
}

/* ============================================
   COLLECTION PAGE POLISH — Diavlia
   ============================================ */
@keyframes dv-fade-up {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
.product-card { animation: dv-fade-up 0.4s ease both; }
.product-card:nth-child(2) { animation-delay: 0.04s; }
.product-card:nth-child(3) { animation-delay: 0.08s; }
.product-card:nth-child(4) { animation-delay: 0.12s; }

.product-card {
  transition: transform 0.3s cubic-bezier(0.25,0.1,0.25,1), box-shadow 0.3s ease !important;
}
.product-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(26,26,26,0.06) !important;
}
.product-card img {
  transition: transform 0.5s cubic-bezier(0.25,0.1,0.25,1) !important;
}
.product-card:hover img {
  transform: scale(1.03) !important;
}
.collection-wrapper h1,
[id$="__collection_banner"] h1 {
  letter-spacing: 0.12em !important;
}


/* Hero product image seamless blend with cream background */
.hero-wrapper .hero .product-media__image,
.hero-wrapper img,
.dv-hero img,
section.hero-wrapper img:not(.hero__media) {
  mix-blend-mode: multiply !important;
  background: transparent !important;
}
/* Remove any visible borders/outlines on hero image container */
.hero-wrapper .image-block,
.hero-wrapper .media-block,
.hero-wrapper [class*=image-block],
.hero-wrapper [class*=media-block] {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Biovlia-style prominent CTA on hero */
.hero-wrapper .button.button-secondary,
.hero-wrapper a.button {
  padding: 14px 32px !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.1em !important;
  min-width: 200px !important;
  text-align: center !important;
}

/* ============================================
   ANNOUNCEMENT BAR — Center text, hide arrows
   ============================================ */

/* Hide slideshow arrows when only 1 message */
.announcement-bar .slideshow-controls,
.announcement-bar .slideshow-control,
.announcement-bar [class*="arrow"],
.announcement-bar [class*="prev"],
.announcement-bar [class*="next"],
.header-announcements .slideshow-controls,
.header-announcements button[class*="control"] {
  display: none !important;
}

/* Center the announcement text properly */
.announcement-bar__slide,
.announcement-bar .text-block,
.header-announcements .text-block {
  text-align: center !important;
  justify-content: center !important;
  width: 100% !important;
}

/* Ensure announcement bar isn't too tall */
.header-announcements {
  max-height: 44px !important;
  overflow: hidden !important;
}

/* ============================================
   PREMIUM MICRO-INTERACTIONS
   ============================================ */

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Focus visible — accessibility + style */
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

/* Link transitions */
a { transition: color 0.2s ease, opacity 0.2s ease; }

/* Button press state */
button:active, .button:active, a.button:active {
  transform: scale(0.98) !important;
}

/* Image loading placeholder */
img:not([src]), img[src=""] {
  background: linear-gradient(135deg, #f5f5f5 25%, #eee 50%, #f5f5f5 75%);
  background-size: 200% 200%;
  animation: shimmer 1.5s ease infinite;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}


/* Hero image seamless blend — container needs matching background */
.dv-hero-visual {
  background-color: #faf8f5 !important;
}
.dv-hero-visual img {
  mix-blend-mode: multiply !important;
}
/* Remove any visible image border/shadow in hero */
.dv-hero img {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}


/* Premium product card refinements */
.product-card__title {
  font-family: var(--font-heading--family), Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 0.92rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
}
.product-card__price {
  font-family: var(--font-body--family), sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.95rem !important;
  color: #b8956a !important;
  margin-top: 4px !important;
}
/* Refined filter/sort bar */
.collection-toolbar {
  border-top: 1px solid #e8e4de !important;
  border-bottom: 1px solid #e8e4de !important;
  padding: 12px 0 !important;
}
/* Product card image container — clean borders */
.product-card .product-media {
  border: 1px solid #f0ebe4 !important;
  border-radius: 2px !important;
  overflow: hidden !important;
}
.product-card:hover .product-media {
  border-color: #e0d8ce !important;
}

/* === HERO TEXT ON BRIGHT IMAGE === */
.hero-wrapper .hero__content-wrapper * {
  text-shadow: none !important;
}
.hero-wrapper .hero__content-wrapper h1,
.hero-wrapper .hero__content-wrapper h2 {
  color: #1a1a1a !important;
}
.hero-wrapper .hero__content-wrapper p {
  color: #4a4a4a !important;
}
.hero-wrapper .hero__content-wrapper [class*=button] {
  background: var(--dv-charcoal, #1a1a1a) !important;
  color: #ffffff !important;
  text-shadow: none !important;
  border: none !important;
}

/* === FOOTER PADDING FIX === */
footer, [role="contentinfo"] {
  padding-inline: max(20px, 4vw) !important;
}
.footer-content {
  max-width: 1200px;
  margin: 0 auto;
}

/* ============================================
   HEADING WEIGHT BOOST — Brilliant Earth Style
   ============================================ */

/* Stronger heading hierarchy */
h1, .h1 { font-weight: 500 !important; }
h2, .h2 { font-weight: 500 !important; }

/* Body text minimum 15px */
body, p, .rte, li {
  font-size: max(15px, inherit);
}

/* Quick-Add Button Contrast V2 — Aggressive */
/* Quick-add on product cards only - dark text on light button */
.product-card .add-to-cart-text,
.product-card span.add-to-cart-text,
.quick-add__button span,
.quick-add .add-to-cart-text,
button.quick-add__button .add-to-cart-text {
  color: #1a1a1a !important;
}
/* PDP Add to Cart button text must be white on dark bg */
.product-details .add-to-cart-text,
.product-details .add-to-cart-text__content,
.product-details button[name="add"] span,
.product-information .add-to-cart-text,
.product-information .add-to-cart-text__content,
button.add-to-cart-button .add-to-cart-text,
button.add-to-cart-button .add-to-cart-text__content,
button[name="add"] .add-to-cart-text,
button[name="add"] .add-to-cart-text__content {
  color: #ffffff !important;
}
button.quick-add__button,
.quick-add__button.button {
  background-color: #ffffff !important;
  border: 1px solid #d0d0d0 !important;
  color: #1a1a1a !important;
  opacity: 1 !important;
  visibility: visible !important;
  min-height: 44px !important;
}


/* Force announcement slider to fill entire bar */
.announcement-bar__slider {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 24px !important;
}
.announcement-bar .page-width,
.announcement-bar__slider .page-width {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
/* Center the slider item content */
.announcement-bar__slider .slider__item {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

/* === SCROLL REVEAL ANIMATIONS === */
.shopify-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.shopify-section.is-revealed,
.shopify-section,
.product-information ~ .shopify-section,
.collection-wrapper .shopify-section,
.shopify-section:first-child,
.hero-wrapper,
#header-group,
.announcement-bar {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
/* Product cards stagger */
.product-card {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.4s ease, transform 0.4s ease, box-shadow 0.3s ease;
}
.product-card.is-revealed {
  opacity: 1;
  transform: translateY(0);
}
/* Collection cards */
.collection-card {
  opacity: 0;
  transform: scale(0.97);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.collection-card.is-revealed {
  opacity: 1;
  transform: scale(1);
}
/* Fallback: ensure content is visible without JS */
@media (prefers-reduced-motion: reduce) {
  .shopify-section,
  .product-card,
  .collection-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}


/* Hide old collection heading when banner is present */
.dv-collection-banner ~ * h1 {
  display: none !important;
}

/* === ANNOUNCEMENT BAR CENTERING === */
.announcement-bar__slider [class*=prev],
.announcement-bar__slider [class*=next],
.announcement-bar__slider [class*=arrow],
.announcement-bar__slider button[class*=prev],
.announcement-bar__slider button[class*=next] {
  display: none !important;
}
.announcement-bar__slider {
  justify-content: center !important;
  width: 100% !important;
}
.announcement-bar__link {
  width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
}

/* Premium Micro-Interactions */
/* Product card hover lift */
.product-card {
  transition: transform 0.35s ease, box-shadow 0.35s ease !important;
}
.product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.06) !important;
}
/* Smooth scroll */
html { scroll-behavior: smooth; }
/* Product image zoom on hover */
.product-card .product-media__image,
.product-card img {
  transition: transform 0.5s cubic-bezier(0.25,0.1,0.25,1) !important;
}
.product-card:hover .product-media__image,
.product-card:hover img {
  transform: scale(1.03) !important;
}
/* Button hover transitions */
.button, a.button, button.button {
  transition: all 0.3s ease !important;
}
/* Section fade-in on scroll */
@keyframes dvFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.shopify-section {
  animation: dvFadeIn 0.6s ease both;
}

/* Premium Product Cards */
.product-card__content {
  padding: 8px 0 0 !important;
}
.product-card__title,
.product-card__link {
  font-size: 0.92rem !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}
.product-card .price {
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  margin-top: 2px !important;
}
/* Image container rounded corners */
.product-card .image-block,
.product-card .product-media {
  border-radius: 4px !important;
  overflow: hidden !important;
}

/* === ACCESSIBILITY + SMOOTH SCROLL === */
html { scroll-behavior: smooth; scroll-padding-top: 80px; }
:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
  border-radius: 2px;
}
/* Skip link */
.skip-to-content:focus {
  position: fixed !important;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  background: #1a1a1a;
  color: #fff;
  padding: 12px 24px;
}

/* === BRAND STORY IMAGE BRIGHTNESS === */
.section--media-with-content .media-block__media,
.section--media-with-content img.media-block__media {
  filter: brightness(1.8) contrast(1.1) saturate(1.15);
}

/* HERO SECTION — Moved to assets/diavlia-hero.css (single source of truth) */


/* Hero: Hide old native hero elements when custom hero is present */
.diavlia-hero ~ .hero__content-wrapper,
.diavlia-hero ~ .hero__media-grid,
.diavlia-hero img[src*="Liquid error"] {
  display: none !important;
}

/* Hero: Hide broken Liquid error image */
.diavlia-hero__img[src*="Liquid"],
img[alt*="engagement ring"][src*="Liquid"] {
  display: none !important;
}

@media (max-width: 749px) {
  #diavlia-hero-main,
  .diavlia-hero {
    height: 82vh;
    min-height: 520px;
    background-position: center 40%;
  }

  .diavlia-hero__overlay {
    background: linear-gradient(
      to bottom,
      rgba(26, 26, 26, 0.0) 0%,
      rgba(26, 26, 26, 0.1) 20%,
      rgba(26, 26, 26, 0.5) 48%,
      rgba(26, 26, 26, 0.82) 72%,
      rgba(26, 26, 26, 0.92) 100%
    );
  }

  .diavlia-hero__content { padding: 0 1.25rem 2.25rem; }
  .diavlia-hero__heading br { display: none; }
  .diavlia-hero__heading { font-size: clamp(2rem, 8vw, 2.75rem); }
  .diavlia-hero__subtext { font-size: 0.875rem; margin-bottom: 1.25rem; }
  .diavlia-hero__cta { padding: 0.875rem 1.75rem; font-size: 0.7rem; }
}

/* Override Horizon section wrapper padding for hero */
[id*=hero_main] .section,
[id*=hero_main] .spacing-style,
[id*=hero_premium] .section,
[id*=hero_premium] .spacing-style {
  padding: 0 !important;
  max-width: 100% !important;
}

/* Mobile hero text fix — prevent overflow */
@media (max-width: 749px) {
  .diavlia-hero h1, .diavlia-hero-heading {
    font-size: clamp(1.8rem, 7vw, 3rem) !important;
    word-break: break-word;
    overflow-wrap: anywhere;
    max-width: calc(100vw - 40px);
    hyphens: none;
  }
}

/* Product grid titles — Horizon default override */
.product-grid-view-zoom-out--details h3,
.product-grid-view-zoom-out--details h3 a {
  font-size: 14.5px !important;
  font-family: var(--font-heading--family), Georgia, serif;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

/* Footer brand text */
.dv-footer-brand p {
  font-size: 13px !important;
  line-height: 1.6;
}

/* Footer column headings */
footer h4, .footer h4 {
  font-size: 12px !important;
  letter-spacing: 0.15em;
  font-weight: 500;
  text-transform: uppercase;
}

/* ============================================================
   PDP FIXES v3 — Product Page
   ============================================================ */

/* --- 1. Logo visibility on dark header ---
   Header forces charcoal background via CSS.
   Logo SVG is dark, needs to be inverted to white. */
.header-logo__image {
  filter: brightness(0) invert(1) !important;
  opacity: 0.92;
}
.header-logo__image:hover {
  opacity: 1;
}
/* Inverse logo (if theme supports it) should show normally */
.header-logo__image-container--inverse .header-logo__image {
  filter: none !important;
  opacity: 1;
}

/* --- 2. Product details overflow prevention ---
   Details column is ~min(50vw, 25rem) = ~400px.
   All content must stay within this width. */
.product-details {
  overflow: hidden;
  max-width: 100%;
  box-sizing: border-box;
}

/* Variant picker buttons wrap properly */
.product-details fieldset,
.product-details [class*="variant-picker"] {
  max-width: 100%;
  overflow: hidden;
}

/* Buy buttons container */
.product-details .buy-buttons,
.product-details [class*="buy-buttons"],
.product-details form[action*="cart"] {
  max-width: 100%;
  box-sizing: border-box;
}

/* ATC button fills available width */
.product-details button[name="add"],
.product-details .product-form__submit {
  min-width: 0;
  max-width: 100%;
}

/* Accelerated checkout (PayPal etc) */
.product-details .shopify-payment-button {
  max-width: 100%;
  overflow: hidden;
}
.product-details .shopify-payment-button__button {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* --- 3. Product title wrapping --- */
.product-details h1 {
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
  max-width: 100%;
}

/* --- 4. Reduce excessive top spacing on product page --- */
.product-information {
  padding-block-start: 8px !important;
}
.dv-breadcrumbs {
  margin-bottom: 0 !important;
  padding: 6px 0 4px !important;
}

/* --- 5. Product images — square grid with cover fit ---
   Theme handles this via media-fit-cover class when
   aspect_ratio is not 'adapt'. Reinforce here. */
.media-gallery--grid .product-media-container {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.media-gallery--grid .product-media {
  width: 100%;
  height: 100%;
}
.media-gallery--grid .product-media img.product-media__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Large first image in 2-col grid takes full width */
.media-gallery--large-first-image .product-media-container:first-child {
  grid-column: 1 / -1;
}

/* Section 6: Moved to PDP MOBILE v9 below */
/* --- CRITICAL: Product media width fix ---
   .product-media has flex: 1 1 0% which collapses width to 0
   inside the flex container. Force it to take full width. */
.media-gallery__grid .product-media-container .product-media {
  width: 100% !important;
  min-width: 100% !important;
  flex-basis: 100% !important;
}

/* Also fix the container flex direction - should be column not row
   so zoom button stacks above media, not beside it */
.media-gallery__grid .product-media-container {
  flex-direction: column !important;
}

/* Zoom button should overlay, not push media */
.media-gallery__grid .product-media-container__zoom-button {
  position: absolute !important;
  z-index: 2;
  top: 8px;
  right: 8px;
}


/* --- Zoom button must be transparent overlay --- */
.product-media-container__zoom-button {
  background: transparent !important;
  width: auto !important;
  height: auto !important;
}


/* --- Skip-to-content link: visually hidden but accessible ---
   The skip link takes 50px height in the product page grid,
   creating empty space above images. Hide it visually. */
.skip-to-content-link {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.skip-to-content-link:focus {
  position: fixed !important;
  top: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: auto !important;
  height: auto !important;
  padding: 12px 24px !important;
  margin: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  z-index: 999 !important;
  background: var(--dv-charcoal) !important;
  color: #fff !important;
}

/* --- Product details overflow: ensure hidden on desktop --- */
@media (min-width: 750px) {
  .product-details {
    overflow: hidden !important;
  }
}

/* ============================================================
   COOKIE CONSENT — SLIM BAR v3
   Updated selectors to match current Shopify DOM (2026-03)
   section#shopify-pc__banner.shopify-pc__banner__dialog
   ============================================================ */

/* Base: position fixed bottom, slim */
section#shopify-pc__banner,
section.shopify-pc__banner__dialog {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  top: auto !important;
  transform: none !important;
  padding: 10px 20px !important;
  font-size: 0.72rem !important;
  max-height: none !important;
  box-sizing: border-box !important;
  z-index: 999 !important;
  background: #fff !important;
  border-top: 1px solid #e8e4de !important;
  box-shadow: 0 -2px 12px rgba(0,0,0,0.06) !important;
}

/* Hide the "Cookie consent" heading */
section#shopify-pc__banner h2,
#shopify-pc__banner__body-title {
  display: none !important;
}

/* Wrapper: horizontal flex layout */
section#shopify-pc__banner .shopify-pc__banner__wrapper {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 16px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* Body text: single line, compact */
section#shopify-pc__banner .shopify-pc__banner__body {
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
section#shopify-pc__banner .shopify-pc__banner__body p {
  font-size: 0.7rem !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  color: #555 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 1 !important;
  -webkit-box-orient: vertical !important;
}

/* Buttons row: inline, compact */
section#shopify-pc__banner .shopify-pc__banner__btns {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* All buttons: small, sharp */
section#shopify-pc__banner button {
  padding: 7px 16px !important;
  font-size: 0.68rem !important;
  min-height: 32px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

/* Accept button: dark */
#shopify-pc__banner__btn-accept {
  background: #1a1a1a !important;
  color: #fff !important;
  font-weight: 600 !important;
  border: 1px solid #1a1a1a !important;
}
#shopify-pc__banner__btn-accept:hover {
  background: #333 !important;
}

/* Decline button: outlined */
#shopify-pc__banner__btn-decline {
  background: transparent !important;
  color: #555 !important;
  border: 1px solid #ccc !important;
}

/* Manage prefs: subtle link */
#shopify-pc__banner__btn-manage-prefs {
  font-size: 0.6rem !important;
  padding: 4px 10px !important;
  min-height: 28px !important;
  background: transparent !important;
  color: #888 !important;
  border: none !important;
  text-decoration: underline !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* Privacy link inside body */
section#shopify-pc__banner a {
  color: #b8956a !important;
  font-size: 0.65rem !important;
}

/* ---- Mobile: compact single-strip ---- */
@media (max-width: 749px) {
  section#shopify-pc__banner,
  section.shopify-pc__banner__dialog {
    padding: 8px 12px !important;
  }
  section#shopify-pc__banner .shopify-pc__banner__wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
  }
  section#shopify-pc__banner .shopify-pc__banner__body {
    width: 100% !important;
  }
  section#shopify-pc__banner .shopify-pc__banner__body p {
    font-size: 0.62rem !important;
    -webkit-line-clamp: 1 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
  }
  /* Force buttons in a ROW */
  section#shopify-pc__banner .shopify-pc__banner__btns,
  section#shopify-pc__banner .shopify-pc__banner__btns-granular {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
    align-items: center !important;
    width: 100% !important;
  }
  section#shopify-pc__banner .shopify-pc__banner__btns button,
  section#shopify-pc__banner button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 7px 14px !important;
    font-size: 0.6rem !important;
    min-height: 30px !important;
    flex: 0 1 auto !important;
  }
  #shopify-pc__banner__btn-accept {
    flex: 1 1 auto !important;
  }
  #shopify-pc__banner__btn-decline {
    flex: 0 1 auto !important;
  }
  #shopify-pc__banner__btn-manage-prefs {
    flex: 0 0 auto !important;
    padding: 4px 6px !important;
    min-height: 24px !important;
    font-size: 0.55rem !important;
  }
}
/* === END Cookie Consent Slim === */

/* === Page Content — No Clipping === */
[id$="__main"].section-wrapper .rte,
[id$="__main"].section-wrapper p {
  max-height: none !important;
  overflow: visible !important;
}


/* ============================================================
   PDP CONVERSION ELEMENTS — Premium v2
   Trust line, size guide, delivery, payment icons, accordions
   ============================================================ */

/* Trust line text block — green checkmark style */
.product-information .text-block[class*="trust_line"] p,
.product-information .text-block p:has(+ .pdp-cx__trust-line) {
  font-weight: 500;
}

/* Size guide link styling */
.product-information a[href*="ring-size-guide"],
.product-information a[href*="size-guide"] {
  color: var(--dv-gold) !important;
  text-decoration: none !important;
  font-weight: 400;
  transition: color 0.2s ease;
  background: none !important;
  background-image: none !important;
}
.product-information a[href*="ring-size-guide"]:hover,
.product-information a[href*="size-guide"]:hover {
  color: var(--dv-gold-hover) !important;
  text-decoration: underline !important;
}

/* PDP Accordion Section — align with product details column */
.pdp-below {
  max-width: none;
}

@media (min-width: 750px) {
  /* Position accordion section to align with the right column (product details) */
  section:has(.pdp-below) {
    padding-top: 0 !important;
    margin-top: -8px;
  }
  .pdp-below {
    margin-left: auto;
    padding-left: 0;
    padding-right: 0;
    /* Match the product-information section width ratio */
    width: calc(50% - 16px);
    max-width: 540px;
  }
}

@media (max-width: 749px) {
  section:has(.pdp-below) {
    padding-top: 0 !important;
    margin-top: 0;
  }
  .pdp-below {
    width: 100%;
    max-width: 100%;
    padding: 0 20px 24px;
  }
}

/* Remove bottom border from last accordion */
.pdp-below__accordion:last-child {
  border-bottom: none;
}

/* === END PDP Conversion Elements === */



/* ============================================================
   MOBILE COLLECTION GRID FIX — 2026-03-18 v2
   Problem: Horizon 14-column grid system breaks on mobile,
   product cards only 72px wide instead of using full viewport
   Fix: Aggressive override of ALL grid containers on mobile
   ============================================================ */

@media screen and (max-width: 749px) {
  /* NUCLEAR: Override Horizon grid system for collection page */
  .collection-wrapper,
  .collection-wrapper.grid {
    display: block !important;
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
  }

  /* Main collection grid — remove grid entirely, let content flow */
  .main-collection-grid,
  .grid.main-collection-grid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-column: unset !important;
    grid-template-columns: unset !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Product grid — FORCE proper 2-column layout */
  .product-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Product grid items — full width within their column */
  .product-grid__item,
  .product-grid .product-grid__item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    grid-column: auto !important;
    list-style: none !important;
  }

  /* Product card images — fill container */
  .product-grid__item .product-card {
    width: 100% !important;
    max-width: 100% !important;
  }
  .product-grid__item .product-card img,
  .product-grid__item .product-card .media {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Facets/Filter — full width */
  .collection-wrapper .facets-block-wrapper,
  .collection-wrapper .facets,
  .facets-block-wrapper {
    width: 100% !important;
    grid-column: unset !important;
  }

  /* Section header — full width */
  .collection-wrapper .section-header {
    width: 100% !important;
    grid-column: unset !important;
  }

  /* Pagination — full width */
  .collection-wrapper .pagination-wrapper,
  .pagination-wrapper {
    width: 100% !important;
    grid-column: unset !important;
  }
}

/* ============================================================
   MOBILE HEADER FIX — Cart icon, menu icon
   ============================================================ */

@media screen and (max-width: 749px) {
  /* Cart icon — remove blue/dark square background */
  .header__icon--cart,
  header .cart-icon-bubble,
  header a[href*="/cart"],
  header [class*="cart"] > a {
    background: transparent !important;
  }

  /* Ensure header icons are properly sized touch targets */
  header .header__icon {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* ============================================================
   ANNOUNCEMENT BAR — Mobile compact
   ============================================================ */

@media screen and (max-width: 749px) {
  .announcement-bar {
    font-size: 0.7rem !important;
    padding: 6px 12px !important;
    line-height: 1.3 !important;
  }

  .announcement-bar p,
  .announcement-bar span,
  .announcement-bar__text {
    font-size: 0.7rem !important;
    line-height: 1.3 !important;
  }
}


/* === Fix: Remove transform on revealed sections to allow position:fixed sticky ATC === */
/* transform: translate(0,0) on .shopify-section.is-revealed creates a new containing block,
   which breaks position:fixed on the sticky ATC bar inside it */
.shopify-section.is-revealed {
  transform: none !important;
}

/* ====== PDP MOBILE OPTIMIZATION v9c — TIGHT LAYOUT ======
   Structure: <media-gallery> -> <slideshow-component> -> .product-media-container -> img
   Goal: Image -> Title -> Price -> ATC above fold
   ====== */
@media screen and (max-width: 749px) {
  /* Flex column — media first, details second */
  body .product-information .product-information__grid,
  body .product-information__grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  /* === MEDIA: Tight, no wasted space === */
  body .product-information__media {
    order: 0 !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 42vh !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    background: #f8f6f3 !important;
  }

  /* Gallery element */
  body .product-information__media media-gallery,
  body .product-information__media media-gallery.sticky-content,
  body .product-information__media .spacing-style {
    display: block !important;
    position: relative !important;
    top: auto !important;
    height: auto !important;
    width: 100% !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Slideshow */
  body .product-information__media slideshow-component {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: auto !important;
    width: 100% !important;
    overflow: hidden !important;
    padding: 12px 0 !important;
  }

  /* Media container — tight around image */
  body .product-information__media .product-media-container {
    height: auto !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
  }
  body .product-information__media .product-media-container ~ .product-media-container {
    display: none !important;
  }

  /* Media wrapper */
  body .product-information__media .product-media {
    height: auto !important;
    width: auto !important;
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    flex: none !important;
  }

  /* Image — sized by content, capped */
  body .product-information__media img.product-media__image {
    max-height: 36vh !important;
    width: auto !important;
    max-width: 85% !important;
    height: auto !important;
    object-fit: contain !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    margin: 0 auto !important;
    display: block !important;
  }

  /* Hide extra UI */
  body .product-information__media [class*="thumbnail"],
  body .product-information__media .dialog-zoomed-gallery,
  body .product-information__media .product-media-container__zoom-button {
    display: none !important;
  }

  /* === DETAILS: Compact, immediately after image === */
  body .product-details {
    order: 1 !important;
    width: 100% !important;
    padding: 12px 16px 80px !important;
    overflow: visible !important;
  }
  body .product-details h1,
  body .product-details .product__title {
    font-size: clamp(1rem, 4.2vw, 1.3rem) !important;
    line-height: 1.25 !important;
    margin-bottom: 4px !important;
  }
  body .product-details .price {
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
    color: #b8956a !important;
  }
  body .product-information .spacing-style {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* === STICKY ATC === */
  body .sticky-add-to-cart__bar {
    z-index: 999 !important;
    padding: 10px 16px !important;
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0%) !important;
    transition: none !important;
    bottom: 0 !important;
    background: #fff !important;
    border-top: 1px solid #e8e4de !important;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.08) !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }
  body .sticky-add-to-cart__bar[data-stuck="false"],
  body sticky-add-to-cart[data-variant-available="true"] .sticky-add-to-cart__bar {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0%) !important;
    display: flex !important;
  }
  body sticky-add-to-cart:not([data-variant-available="true"]) .sticky-add-to-cart__bar {
    display: none !important;
  }
  body .sticky-add-to-cart__button {
    background: #b8956a !important;
    color: #fff !important;
    padding: 12px 24px !important;
    border-radius: 0 !important;
    min-height: 48px !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
  }
  body .sticky-add-to-cart__button:hover { background: #a07d50 !important; }
  body .sticky-add-to-cart__bar .add-to-cart-text__content { display: inline !important; }
  body .sticky-add-to-cart__title { font-size: 0.85rem !important; display: block !important; }
  body .sticky-add-to-cart__price { font-size: 0.95rem !important; font-weight: 600 !important; color: #b8956a !important; }

  /* Cookie above sticky ATC bar on mobile */
  section#shopify-pc__banner {
    bottom: 64px !important;
    z-index: 998 !important;
  }

  /* Accordion touch targets */
  body .product-details details summary { min-height: 48px !important; }

  /* Breadcrumbs */
  .dv-breadcrumbs { padding: 4px 16px !important; font-size: 11px !important; }
  .dv-breadcrumbs li:last-child { display: none !important; }
  [id*="breadcrumbs"] .spacing-style { padding: 0 !important; }
}

@media screen and (max-width: 375px) {
  body .product-information__media { max-height: 38vh !important; }
  body .product-information__media img.product-media__image { max-height: 34vh !important; }
}





/* ============================================================
   DESKTOP PDP — Image vertical centering
   Problem: Image sits at bottom of tall media column with whitespace above
   Fix: Center image vertically in the media column
   ============================================================ */
@media (min-width: 750px) {
  /* Center the media gallery vertically in its container */
  .product-information__media {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .product-information__media media-gallery {
    width: 100% !important;
  }
  /* Slideshow should center its content */
  .product-information__media slideshow-component {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* Image grid layout */
  .product-information__media .product-media-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Heading Hierarchy Fix */
h2 { font-size: max(var(--type-size-h2, 1.5rem), 1.5rem) !important; }
h3 { font-size: max(var(--type-size-h3, 1.25rem), 1.25rem) !important; }
h4 { font-size: max(var(--type-size-h4, 1.1rem), 1.1rem) !important; }

/* Mobile Collection Banner Fix - reduce banner height to show products */
@media (max-width: 749px) {
  .dv-ch {
    min-height: 0 !important;
    max-height: 110px !important;
    height: auto !important;
  }
  .dv-ch__t {
    font-size: clamp(1.2rem, 4.5vw, 1.6rem) !important;
    letter-spacing: .03em !important;
  }
  .dv-ch__c {
    padding: 14px 20px !important;
  }
  .dv-ch__n {
    display: none !important;
  }
  .dv-ch__p {
    display: none !important;
  }
  .dv-ch__d {
    display: none !important;
  }
}

/* Mobile Collection Spacing Fix - tighten gaps between sections */
@media (max-width: 749px) {
  /* Hide breadcrumbs on mobile collection pages - redundant with banner title */
  .collection .breadcrumbs,
  .collection [class*="breadcrumb"],
  [data-template="collection"] .breadcrumbs,
  [data-template="collection"] [class*="breadcrumb"] {
    display: none !important;
  }
  
  /* Tighter section spacing on collection pages */
  .collection .shopify-section + .shopify-section,
  [data-template="collection"] .shopify-section + .shopify-section {
    margin-top: 0 !important;
  }
  
  /* Collection heading section - reduce padding */
  .collection .section--heading,
  .collection [class*="collection-heading"] {
    padding-top: 8px !important;
    padding-bottom: 4px !important;
  }
  
  /* Filter bar tighter */
  .collection .facets-wrapper,
  .collection [class*="facet"],
  .collection [class*="filter"] {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
}

/* Override Horizon inline padding on mobile collection grid */
@media (max-width: 749px) {
  results-list.product-grid-container,
  .product-grid-container.section {
    --padding-block-start: 8px !important;
    padding-block-start: 8px !important;
    padding-top: 8px !important;
  }
}


/* ============================================================
   PREMIUM DESIGN PATTERNS v2.0 — March 2026
   Inspired by: Mejuri, Missoma, Monica Vinader, Gorjana
   ============================================================ */

/* === Enhanced Scroll Reveal === */
@keyframes dvRevealUp {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes dvRevealScale {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

.dv-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1), 
              transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.dv-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Staggered children reveal */
.dv-stagger > * {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.dv-stagger.is-visible > *:nth-child(1) { transition-delay: 0s; opacity: 1; transform: translateY(0); }
.dv-stagger.is-visible > *:nth-child(2) { transition-delay: 0.08s; opacity: 1; transform: translateY(0); }
.dv-stagger.is-visible > *:nth-child(3) { transition-delay: 0.16s; opacity: 1; transform: translateY(0); }
.dv-stagger.is-visible > *:nth-child(4) { transition-delay: 0.24s; opacity: 1; transform: translateY(0); }
.dv-stagger.is-visible > *:nth-child(5) { transition-delay: 0.32s; opacity: 1; transform: translateY(0); }
.dv-stagger.is-visible > *:nth-child(6) { transition-delay: 0.4s; opacity: 1; transform: translateY(0); }

/* === Premium Product Card — Mejuri-inspired === */
/* Subtle shadow on hover instead of just scale */
product-card,
.product-card {
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1),
              box-shadow 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

product-card:hover,
.product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(26, 26, 26, 0.08) !important;
}

/* Product card image — smooth zoom */
product-card img,
.product-card img {
  transition: transform 0.7s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

product-card:hover img,
.product-card:hover img {
  transform: scale(1.04) !important;
}

/* === Collection Card Premium Overlay — Monica Vinader style === */
.collection-card {
  border-radius: 3px;
  overflow: hidden;
}

.collection-card img {
  transition: transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

.collection-card:hover img {
  transform: scale(1.05) !important;
}

/* === Section Dividers — Elegant gold line === */
.shopify-section + .shopify-section::before {
  content: none;
}

/* === Enhanced Button Interactions === */
/* Primary button — lift + glow on hover */
.button--primary,
[class*="button--primary"],
button[type="submit"]:not(.shopify-challenge__button) {
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

.button--primary:hover,
[class*="button--primary"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--dv-shadow-gold) !important;
}

.button--primary:active,
[class*="button--primary"]:active {
  transform: translateY(0) scale(0.98) !important;
  transition-duration: 0.1s !important;
}

/* === Premium Section Spacing === */
/* More breathing room between homepage sections */
.content-for-layout > .shopify-section {
  margin-bottom: 0;
}

/* Elegant separator between sections - subtle gradient line */
.content-for-layout > .shopify-section + .shopify-section {
  position: relative;
}

/* === Image Hover — Luxury Glow === */
.collection-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(184,149,106,0.03) 0%, transparent 50%);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
  z-index: 1;
}

.collection-card:hover::after {
  opacity: 1;
}

/* === Premium Newsletter Section Enhancement === */
.newsletter-section input[type="email"],
form[class*="newsletter"] input[type="email"] {
  border-radius: 2px;
  border: 1px solid var(--dv-border);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

form[class*="newsletter"] input[type="email"]:focus {
  border-color: var(--dv-gold);
  box-shadow: 0 0 0 3px rgba(184, 149, 106, 0.1);
}

/* === Smooth Page Transitions === */
.content-for-layout {
  animation: dvRevealUp 0.5s ease-out;
}

/* === Premium Footer Enhancement === */
footer a {
  position: relative;
}

footer a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--dv-gold);
  transition: width 0.3s ease;
}

footer a:hover::after {
  width: 100%;
}

/* === Custom Scrollbar — Luxury Touch === */
@media (min-width: 750px) {
  ::-webkit-scrollbar {
    width: 8px;
  }
  ::-webkit-scrollbar-track {
    background: var(--dv-warm-bg);
  }
  ::-webkit-scrollbar-thumb {
    background: var(--dv-border);
    border-radius: 4px;
  }
  ::-webkit-scrollbar-thumb:hover {
    background: var(--dv-gold);
  }
}

/* === Announcement Bar Polish === */
#header-group .announcement-bar,
[class*="announcement"] {
  letter-spacing: 0.12em !important;
  font-size: 0.65rem !important;
}

/* === Mobile Polish === */
@media (max-width: 749px) {
  /* Tighter product card gap on mobile */
  .product-grid-container {
    gap: 8px !important;
  }
  
  /* Better touch targets */
  .product-card a {
    min-height: 44px;
  }
  
  /* Smoother scroll on mobile */
  .content-for-layout {
    -webkit-overflow-scrolling: touch;
  }
}


/* === Hide empty Judge.me Reviews Widget === */
/* Only show when there are actual reviews */
.jdgm-rev-widg:not(.jdgm--has-reviews) {
  display: none !important;
}
.jdgm-horizon-widget {
  display: none !important;
}
/* Hide the disabled reviews section */
[id*="17735085532efa13a9"] {
  display: none !important;
}

/* === PDP Trust Signals Box v2 === */
/* Trust line box with border and background */
[class*="__trust_line"] {
  border: 1px solid var(--dv-border, #e8e4de) !important;
  border-radius: 6px !important;
  padding: 14px 16px !important;
  background: var(--dv-warm-bg, #faf8f5) !important;
  margin-top: 8px !important;
}

[class*="__trust_line"] p {
  margin: 0 0 6px !important;
  font-size: 0.82rem !important;
  line-height: 1.65 !important;
  color: #3a7d52 !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

[class*="__trust_line"] p:last-child {
  margin-bottom: 0 !important;
}

/* Delivery estimate subtle styling */
[class*="__delivery_est"] {
  margin-top: 4px !important;
}

[class*="__delivery_est"] p {
  font-size: 0.82rem !important;
  color: var(--dv-text-light, #8a8580) !important;
}


/* ============================================================
   SENIOR DESIGN REVIEW FIXES — 2026-03-21
   5 Critical Issues Against Cartier/Tiffany/VCA Standard
   ============================================================ */

/* ============================================================
   FIX #1: COLLECTION PAGE — Eliminate Dead Space
   Problem: ~500px empty space between banner and products.
   Cause: Duplicate section heading (205px) + empty grid_override
   section + excessive section-wrapper padding stacking.
   Impact: HIGHEST — Products must be visible immediately.

   DOM confirmed via shot-scraper JS inspection:
   - [id$="__section"] = 205px redundant heading (duplicates banner)
   - [id$="__grid_override"] = empty custom liquid (1px)
   - [id$="__breadcrumbs"] = 72px breadcrumbs
   ============================================================ */

/* KILL the duplicate "Collection Heading" section.
   This section shows collection description which the
   dv-collection-banner already displays. */
/* NOTE: Horizon theme does NOT use .template-collection on body.
   Body only has: page-width-default card-hover-effect-lift
   So we target by section ID suffix which is unique to collection template. */

/* KILL the duplicate "Collection Heading" section */
[id$="__section"].shopify-section.section-wrapper {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* KILL the empty grid_override section */
[id$="__grid_override"].shopify-section {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Breadcrumbs: ultra-minimal spacing for luxury density */
.dv-bc {
  padding: 2px 0 0 !important;
  margin: 0 !important;
}
.dv-bc .dv-breadcrumbs,
.dv-bc nav.dv-breadcrumbs {
  padding: 6px 0 4px !important;
  margin: 0 !important;
}

/* Breadcrumbs section wrapper: zero padding */
[id$="__breadcrumbs"].shopify-section {
  padding: 0 !important;
  margin: 0 !important;
}
/* Kill spacing-style padding inside breadcrumbs */
[id$="__breadcrumbs"] .spacing-style {
  padding: 0 !important;
}

/* Main collection section: minimal top padding */
[id$="__main"].shopify-section {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Filter/sort toolbar: tight spacing, clean borders */
.facets-block-wrapper--horizontal {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
  padding-block: 8px !important;
  border-top: none !important;
  border-bottom: 1px solid var(--dv-border-light) !important;
}
/* All facets wrappers: kill excessive bottom margin */
.collection-wrapper .facets-block-wrapper,
.facets-block-wrapper {
  margin-bottom: 8px !important;
}

/* Remove top border from facets (doubles with wrapper border) */
.facets-block-wrapper--horizontal .facets,
.facets-block-wrapper--horizontal .facets--horizontal {
  border-top: none !important;
  border-bottom: none !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

/* Facets form: minimal internal spacing */
.facets-block-wrapper--horizontal facets-form-component,
.facets-block-wrapper--horizontal .facets__form-wrapper {
  border-top: none !important;
  border-bottom: none !important;
}

.facets-block-wrapper--horizontal .facets__form {
  border-top: none !important;
  border-bottom: none !important;
}

/* Column toggle labels (sort bar items) */
.facets-block-wrapper--horizontal .column-options__option {
  border: none !important;
}

/* Fix Horizon facets panel height when collapsed (details not open) */
.facets__panel:not([open]) {
  height: auto !important;
  max-height: 48px !important;
  overflow: hidden !important;
}
.facets__panel:not([open]) floating-panel-component {
  display: none !important;
}

/* Constrain accordion-custom height in sort area */
.facets-block-wrapper--horizontal accordion-custom {
  max-height: 48px !important;
  overflow: hidden !important;
}

/* Facets form: single row, minimal height */
.facets-block-wrapper--horizontal .facets__form {
  align-items: center !important;
  min-height: auto !important;
}

/* Facets filters wrapper and horizontal remove: constrain height */
.facets-block-wrapper--horizontal .facets__filters-wrapper {
  max-height: 48px !important;
  overflow: hidden !important;
  align-items: center !important;
}
.facets-block-wrapper--horizontal facet-remove-component {
  max-height: 48px !important;
  overflow: hidden !important;
}

/* Main collection grid: products immediately visible */
.main-collection-grid {
  margin-top: 0 !important;
  padding-top: 8px !important;
}

/* ============================================================
   FIX #2: PRODUCT CARDS — Larger Images, Gallery Presence
   Problem: Product images too small, cards lack visual weight.
   Benchmark: Cartier shows each piece as a gallery exhibit.
   Impact: VERY HIGH — Image quality is 94% of conversion.
   ============================================================ */

/* Desktop collection grid: generous gaps for gallery feel */
@media (min-width: 750px) {
  .product-grid--grid,
  .main-collection-grid.grid {
    gap: 28px 24px !important;
  }
}

/* Large desktop: more generous gaps */
@media (min-width: 1200px) {
  .product-grid--grid,
  .main-collection-grid.grid {
    gap: 32px 28px !important;
  }
}

/* Product card image: ensure square aspect ratio for consistency */
.product-card .product-media,
.product-card .image-block,
.product-card [class*="media-wrapper"] {
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  background: #f8f5f0 !important;
}

/* Product card image fills the container completely */
.product-card .product-media img,
.product-card .image-block img,
.product-card img.product-media__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Product card content area: refined spacing */
.product-card__content,
.product-card [class*="card-content"],
.product-card [class*="product-card__details"] {
  padding: 12px 4px 4px !important;
}

/* Product title on cards: Playfair, refined */
.product-card__title,
.product-card [class*="title"] {
  font-family: var(--font-heading--family), Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 0.88rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0.015em !important;
  color: var(--dv-text-dark, #1a1a1a) !important;
}

/* Price on cards: understated, not gold — per Cartier standard */
.product-card .price,
.product-card__price {
  font-family: var(--font-body--family), sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: var(--dv-text, #4a4a4a) !important;
  margin-top: 4px !important;
}

/* Image hover: very subtle zoom, Cartier-style restraint */
.product-card:hover img {
  transform: scale(1.04) !important;
}

/* Card hover: minimal lift, no heavy shadow */
.product-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 32px rgba(26, 26, 26, 0.06) !important;
}

/* ============================================================
   FIX #3: (Consolidated into FIX #1 above)
   The duplicate section and grid_override are now hidden
   using reliable [id$="__section"] and [id$="__grid_override"]
   attribute selectors instead of :has() pseudo-class.
   ============================================================ */

/* ============================================================
   FIX #4: PDP PayPal Button — True Luxury Treatment
   Problem: Yellow PayPal button destroys premium atmosphere.
   Benchmark: Cartier hides third-party branding completely.
   Tiffany shows payment options as subtle text links.
   ============================================================ */

/* Make the entire payment button row nearly invisible by default.
   NOTE: .template-product doesn't exist in Horizon. Use .product-information ancestor. */
.product-information .shopify-payment-button,
.product-details .shopify-payment-button {
  opacity: 0.5 !important;
  filter: grayscale(0.8) saturate(0.15) !important;
  transition: all 0.4s ease !important;
  margin-top: 6px !important;
  max-height: 44px !important;
  overflow: hidden !important;
}

/* On hover, reveal more but never full color */
.product-information .shopify-payment-button:hover,
.product-details .shopify-payment-button:hover {
  opacity: 0.8 !important;
  filter: grayscale(0.3) saturate(0.5) !important;
}

/* The PayPal branded button itself: force neutral styling */
.product-information .shopify-payment-button__button--branded,
.product-details .shopify-payment-button__button--branded {
  border-radius: 0 !important;
  max-height: 40px !important;
}

/* "More payment options" link: extremely subtle */
.product-information .shopify-payment-button__more-options,
.product-details [class*="more-options"] {
  font-size: 0.68rem !important;
  letter-spacing: 0.06em !important;
  color: var(--dv-text-light, #8a8580) !important;
  opacity: 0.6 !important;
  margin-top: 8px !important;
}

/* ============================================================
   FIX #5: HOMEPAGE NEW ARRIVALS — Bright Product Presentation
   Problem: Products on dark background lose diamond sparkle.
   Benchmark: Cartier always shows jewelry on pure white/cream.
   Impact: HIGH — First product impression drives engagement.
   ============================================================ */

/* New Arrivals section: force cream/warm background even in scheme-2 */
[id*="featured_products"] .section-wrapper,
[id*="featured_products"] {
  background: var(--dv-warm-bg, #faf8f5) !important;
  color: var(--dv-text-dark, #1a1a1a) !important;
}

/* Override scheme-2 colors for headings inside this section */
[id*="featured_products"] h2,
[id*="featured_products"] .section-header h2 {
  color: var(--dv-text-dark, #1a1a1a) !important;
}

/* Eyebrow text above "New Arrivals" heading */
[id*="featured_products"] [class*="subheading"],
[id*="featured_products"] [class*="eyebrow"],
[id*="featured_products"] .subtitle {
  color: var(--dv-gold, #b8956a) !important;
}

/* Product cards inside New Arrivals: warm background */
[id*="featured_products"] .product-card .product-media,
[id*="featured_products"] .product-card .image-block {
  background: #f3efe9 !important;
}

/* Product card titles and prices: dark text (not white from scheme-2) */
[id*="featured_products"] .product-card__title,
[id*="featured_products"] .product-card [class*="title"],
[id*="featured_products"] .product-card [class*="title"] a {
  color: var(--dv-text-dark, #1a1a1a) !important;
}

[id*="featured_products"] .product-card .price,
[id*="featured_products"] .product-card__price {
  color: var(--dv-text, #4a4a4a) !important;
}

/* "View All" link in New Arrivals */
[id*="featured_products"] a[href*="/collections"],
[id*="featured_products"] .view-all {
  color: var(--dv-gold, #b8956a) !important;
}

/* Grid within New Arrivals: proper 4-col with generous gaps */
[id*="featured_products"] .product-list__items {
  gap: 24px !important;
  row-gap: 40px !important;
}

/* === BONUS: Section spacing refinement for Cartier-level breathing === */

/* Between hero and first section: generous but not wasteful */
[id*="hero_main"] + .shopify-section {
  margin-top: 0 !important;
}

/* Hero section: zero padding (it's full bleed) */
[id*="hero_main"].shopify-section .section-wrapper,
[id*="hero_main"].shopify-section {
  padding: 0 !important;
}

/* Collection FAQ and CTA sections: proper padding */
[id*="collection_faq"].shopify-section,
[id*="collection_cta"].shopify-section,
[id*="collection_seo"].shopify-section {
  padding-block: clamp(40px, 5vw, 64px) !important;
}

/* === END SENIOR DESIGN REVIEW FIXES === */


/* ============================================================
   LUXURY MICRO-INTERACTIONS v1.0
   Cartier-level visual refinements
   ============================================================ */

/* Gold glow on primary buttons hover */
.button--primary:hover,
[class*="button--primary"]:hover {
  box-shadow: 0 4px 20px rgba(184, 149, 106, 0.35), 0 2px 8px rgba(184, 149, 106, 0.2) !important;
}

/* Subtle gold underline on nav links */
.header-menu a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 50%;
  width: 0;
  height: 1px;
  background: var(--dv-gold, #b8956a);
  transition: width 0.4s var(--dv-ease, ease), left 0.4s var(--dv-ease, ease);
}
.header-menu a:hover::after {
  width: 100%;
  left: 0;
}

/* Product card refined hover — lift + gold accent border */
.product-card:hover,
.card-wrapper:hover {
  box-shadow: 0 12px 40px rgba(26, 26, 26, 0.08), 0 4px 12px rgba(184, 149, 106, 0.06) !important;
}

/* Price typography — refined weight and spacing */
.price .money,
.price-item--regular {
  font-weight: 350 !important;
  letter-spacing: 0.02em !important;
  font-feature-settings: 'tnum' 1, 'lnum' 1 !important;
}

/* Collection page — elegant section transitions */
.shopify-section + .shopify-section {
  border-top: none !important;
}

/* Scroll-reveal animation for product cards */
@keyframes dv-reveal {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Footer refinement — subtle top border with gold accent */
footer {
  border-top: 1px solid rgba(184, 149, 106, 0.15) !important;
}

/* Announcement bar — refined typography */
.announcement-bar__text,
[class*="announcement"] span {
  font-weight: 350 !important;
  letter-spacing: 0.12em !important;
}

/* Image zoom cursor refinement */
.product-media-container:hover {
  cursor: crosshair;
}

/* Breadcrumb refined styling */
.breadcrumb a,
[class*="breadcrumb"] a {
  font-weight: 350 !important;
  letter-spacing: 0.04em !important;
  transition: color 0.3s ease !important;
}

/* Input focus state — gold accent */
input:focus,
select:focus,
textarea:focus {
  border-color: var(--dv-gold, #b8956a) !important;
  box-shadow: 0 0 0 1px rgba(184, 149, 106, 0.2) !important;
  outline: none !important;
}


/* === COLLECTION PAGE REFINEMENT === */

/* Collection title — Cartier-level elegance */
.template-collection h1,
.collection-header h1 {
  font-weight: 300 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
}

/* Collection piece count — subtle, refined */
.template-collection .section-header p,
.collection-product-count {
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
  opacity: 0.5 !important;
}

/* Product card title — clean, light weight */
.product-card .card-info h3,
.product-card .card-info .card-heading,
.card-wrapper h3 {
  font-weight: 350 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.4 !important;
  font-size: 0.82rem !important;
}

/* Sort/filter bar — minimal, refined */
.collection-sort,
.facets-wrapper {
  border-bottom: 1px solid rgba(0,0,0,0.06) !important;
  padding-bottom: 12px !important;
}


/* === PDP TYPOGRAPHY REFINEMENT === */

/* Product title — elegant, editorial */
.product-information h1,
product-info h1,
.product-details h1 {
  font-weight: 300 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.25 !important;
}

/* Product price — refined tabular numerals */
.product-information .price,
product-info .price,
.product-details .price {
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  font-feature-settings: 'tnum' 1, 'lnum' 1 !important;
}

/* Variant buttons — clean, equal-width feel */
.product-information .variant-button,
product-info variant-picker button {
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}

/* ATC button — premium weight */
.product-information .button--primary,
product-info .button--primary {
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* Trust checkmarks — refined spacing */
.pdp-conv span {
  letter-spacing: 0.01em !important;
}

/* Accordion headers — editorial weight */
details summary,
.accordion-item summary {
  font-weight: 350 !important;
  letter-spacing: 0.06em !important;
}


/* === SECTION HEADING REFINEMENT === */

/* Homepage section headings — editorial luxury */
.section-header h2,
.shopify-section h2:not(.product-card h2),
[class*="heading"] h2 {
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
}

/* Eyebrow/subheading text — delicate gold accent */  
.section-header .rte p:first-child,
.section-header p[class*="subtitle"],
[class*="eyebrow"] {
  font-size: 0.65rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
}

/* "View All" / "Shop Now" links — understated elegance */
.section-header a[class*="button"],
a[class*="view-all"],
a[class*="link--text"] {
  font-weight: 350 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-size: 0.72rem !important;
}


/* === CART REFINEMENT === */

/* Cart item title — clean typography */
.cart-item__name,
[class*="cart"] h3,
[class*="cart-item"] a {
  font-weight: 350 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}

/* Cart price — tabular, refined */
.cart-item__price,
[class*="cart"] .price {
  font-weight: 300 !important;
  font-feature-settings: 'tnum' 1, 'lnum' 1 !important;
  letter-spacing: 0.03em !important;
}

/* Checkout button — premium feel */
.cart__checkout-button,
[class*="cart"] .button--primary {
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* Cart totals — clean alignment */
.cart__total,
[class*="totals"] {
  font-weight: 350 !important;
  letter-spacing: 0.04em !important;
}


/* === SEARCH REFINEMENT === */

/* Search input — luxurious focus state */
.search-input,
[class*="search"] input[type="search"],
[class*="search"] input[type="text"] {
  font-weight: 350 !important;
  letter-spacing: 0.03em !important;
  font-size: 0.9rem !important;
}

/* Search results heading */
.template-search h1 {
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
}

/* No results message — elegant */
.template-search .rte {
  font-weight: 350 !important;
  letter-spacing: 0.02em !important;
}


/* === 404 PAGE REFINEMENT === */

.template-404 h1 {
  font-weight: 200 !important;
  letter-spacing: 0.25em !important;
  font-size: clamp(3rem, 8vw, 6rem) !important;
  opacity: 0.15 !important;
  margin-bottom: -20px !important;
}

.template-404 h2,
.template-404 .rte h2 {
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.template-404 .rte p {
  font-weight: 350 !important;
  letter-spacing: 0.02em !important;
  color: rgba(0,0,0,0.5) !important;
}


/* === PRODUCT IMAGE PRESENTATION === */

/* Product card image — subtle warm background instead of plain white */
.product-card .card-media,
.card-wrapper .card-media,
.product-card .media-wrapper,
.card-wrapper .media-wrapper {
  background: linear-gradient(145deg, #faf9f7 0%, #f5f0ea 100%) !important;
}

/* Product card image — refined aspect ratio container */
.product-card .media,
.card-wrapper .media {
  border-radius: 1px !important;
  overflow: hidden !important;
}

/* PDP main image — premium presentation */
.product-media-container,
media-gallery .media {
  background: linear-gradient(145deg, #faf9f7 0%, #f5f0ea 100%) !important;
  border-radius: 1px !important;
}

/* Thumbnail images — subtle border on hover */
.product-media-container .thumbnail:hover,
media-gallery button:hover {
  border-color: rgba(184, 149, 106, 0.4) !important;
}

/* Image loading skeleton — warm tone instead of grey */
.media--loading-animation {
  background-color: #f5f0ea !important;
}

/* Product card — refined bottom info section */
.product-card .card-info,
.card-wrapper .card-content {
  padding-top: 12px !important;
  padding-bottom: 4px !important;
}

/* Quick view button — luxury styling */
.quick-view-button,
.quick-add__button,
[class*="quick-view"] button,
[class*="quick-add"] button {
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-size: 0.65rem !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}


/* === ULTIMATE POLISH === */

/* Custom scrollbar — thin, elegant, gold accent */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { 
  background: rgba(184, 149, 106, 0.25);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(184, 149, 106, 0.5); }

/* Firefox scrollbar */
* { scrollbar-width: thin; scrollbar-color: rgba(184,149,106,0.25) transparent; }

/* Focus-visible — gold ring for keyboard navigation (accessibility + luxury) */
:focus-visible {
  outline: 2px solid rgba(184, 149, 106, 0.5) !important;
  outline-offset: 2px !important;
}

/* Smooth image reveal on load */
img[loading="lazy"] {
  transition: opacity 0.4s ease !important;
}

/* Link underline animation — elegant reveal */
.rte a:not(.button) {
  text-decoration: none !important;
  background-image: linear-gradient(rgba(184,149,106,0.3), rgba(184,149,106,0.3)) !important;
  background-size: 0 1px !important;
  background-position: left bottom !important;
  background-repeat: no-repeat !important;
  transition: background-size 0.3s ease !important;
  padding-bottom: 1px !important;
}
.rte a:not(.button):hover {
  background-size: 100% 1px !important;
}

/* Divider lines — refined, barely there */
hr, .divider {
  border: none !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(184,149,106,0.15), transparent) !important;
  margin: 32px 0 !important;
}

/* Page content max-width — comfortable reading width */
.rte {
  max-width: 680px;
}

/* Quantity selector — refined */
.quantity-selector button,
quantity-input button {
  font-weight: 300 !important;
}


/* === NEWSLETTER REFINEMENT === */

/* Newsletter heading — invitation, not demand */
[class*="newsletter"] h2,
[class*="email-signup"] h2 {
  font-weight: 300 !important;
  letter-spacing: 0.12em !important;
}

/* Newsletter input — elegant */
[class*="newsletter"] input[type="email"],
[class*="email-signup"] input[type="email"] {
  font-weight: 350 !important;
  letter-spacing: 0.03em !important;
  font-size: 0.85rem !important;
}

/* Newsletter submit button */
[class*="newsletter"] .button,
[class*="email-signup"] .button {
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
}

/* === PAGE LOADING POLISH === */

/* Smooth body reveal */
body {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* Prevent content shift on images */
img {
  content-visibility: auto;
}

/* === BLOG REFINEMENT === */

/* Blog article title */
.template-article h1,
.article-template h1 {
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.3 !important;
}

/* Blog article body */
.template-article .rte,
.article-template .rte {
  font-weight: 350 !important;
  line-height: 1.85 !important;
  letter-spacing: 0.01em !important;
}

/* Blog card title on listing */
.blog-card h3,
.article-card h3 {
  font-weight: 350 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}

/* Blog date — subtle */
.blog-card time,
.article-card time {
  font-weight: 300 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 0.65rem !important;
  opacity: 0.5 !important;
}


/* === MOBILE MENU REFINEMENT === */

/* Mobile drawer menu items — elegant spacing */
.header-drawer a,
[class*="menu-drawer"] a,
[class*="header-drawer"] a {
  font-weight: 350 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
}

/* Mobile drawer close button */
.header-drawer__close,
[class*="drawer__close"] {
  opacity: 0.5 !important;
}
.header-drawer__close:hover,
[class*="drawer__close"]:hover {
  opacity: 1 !important;
}

/* Mobile product grid — refined spacing */
@media (max-width: 749px) {
  .product-card .card-info h3,
  .card-wrapper h3 {
    font-size: 0.75rem !important;
    line-height: 1.35 !important;
  }
  
  .product-card .price,
  .card-wrapper .price {
    font-size: 0.78rem !important;
  }
}


/* === CHECKOUT TRUST INDICATOR === */

/* Lock icon before checkout button text */
.cart__checkout-button::before,
[class*="cart"] .button--primary::before {
  content: '';
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 8px;
  vertical-align: middle;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2' ry='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 0.7;
}

/* "Secure checkout" text below ATC on PDP */
.product-information .button--primary + *::before,
product-info .accelerated-checkout + *::before {
  display: block;
  text-align: center;
  font-size: 0.6rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.35);
  margin-top: 8px;
  font-weight: 400;
}


/* === ATC ATTENTION PULSE === */
/* Subtle gold pulse on ATC button — draws eye without being aggressive */
@keyframes dv-atc-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(184, 149, 106, 0); }
  50% { box-shadow: 0 0 0 4px rgba(184, 149, 106, 0.12); }
}

/* Only pulse ONCE when user scrolls to the button area */
.product-information .button--primary,
product-info .button--primary {
  animation: dv-atc-glow 2s ease-in-out 1;
  animation-delay: 1.5s;
}

/* Remove animation after first play to avoid distraction */
.product-information .button--primary:hover,
product-info .button--primary:hover {
  animation: none;
}


/* === SECURE PAYMENT INDICATOR === */
/* Subtle security reassurance near payment buttons */
.shopify-payment-button::after,
[class*="accelerated-checkout"]::after {
  content: '';
  display: block;
  text-align: center;
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.28);
  margin-top: 6px;
  font-family: var(--font-body--family, sans-serif);
  font-weight: 400;
}


/* === PRINT STYLESHEET === */
@media print {
  /* Hide non-essential elements */
  header, footer, .announcement-bar, .cookie-consent,
  .sticky-add-to-cart, .button--secondary, .shopify-payment-button,
  nav, .breadcrumb, .product-recommendations, .newsletter,
  .trust-bar, .pdp-conv, [class*="social"], [class*="share"] {
    display: none !important;
  }
  
  /* Clean layout */
  body { background: white !important; color: black !important; font-size: 12pt !important; }
  
  /* Show product info clearly */
  .product-information, product-info { display: block !important; }
  .product-information h1, product-info h1 { font-size: 18pt !important; }
  .price { font-size: 14pt !important; font-weight: bold !important; }
  
  /* Show full product image */
  .product-media-container img { max-width: 400px !important; margin: 0 auto !important; }
  
  /* Add URL after links */
  a[href]::after { content: ' (' attr(href) ')'; font-size: 9pt; color: #666; }
  a[href^="/"]::after { content: none; }
  a[href^="#"]::after { content: none; }
}


/* === RESPONSIVE SAFETY NET === */

/* Prevent ALL images from overflowing their containers */
img {
  max-width: 100% !important;
  height: auto !important;
}

/* Prevent tables from overflowing on mobile */
table {
  max-width: 100% !important;
  overflow-x: auto !important;
  display: block !important;
}

/* Prevent iframes from overflowing */
iframe {
  max-width: 100% !important;
}

/* Prevent horizontal scroll on body */
html, body {
  overflow-x: hidden !important;
}

/* Ensure product description images don't overflow */
.rte img,
.product-description img,
[class*="description"] img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 1px !important;
}

/* Mobile text overflow prevention */
@media (max-width: 749px) {
  h1, h2, h3 {
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  
  /* Ensure product titles don't overflow cards */
  .product-card h3,
  .card-wrapper h3 {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
  }
  
  /* Price doesn't wrap oddly */
  .price {
    white-space: nowrap !important;
  }
}

/* Ensure collection banner doesn't overflow */
.collection-banner img,
[class*="banner"] img {
  object-fit: cover !important;
  max-width: 100% !important;
}


/* === MOBILE PDP GAP OPTIMIZATION === */
@media (max-width: 749px) {
  /* Tighter spacing between PDP elements on mobile */
  .product-information .product-details,
  product-info .product-details {
    gap: 20px !important;
  }
  
  /* Reduce divider margin on mobile */
  .product-information hr,
  product-info hr,
  .product-information .divider {
    margin: 12px 0 !important;
  }
  
  /* Tighter variant picker on mobile */
  .product-information variant-picker,
  product-info variant-picker {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }
}


/* === TOUCH TARGET OPTIMIZATION === */
@media (max-width: 749px) {
  /* Ensure all interactive elements meet 44px minimum */
  button,
  [role="button"],
  a.button,
  .button,
  input[type="submit"] {
    min-height: 44px !important;
  }
  
  /* Variant selector buttons — comfortable touch */
  variant-picker button,
  .variant-picker button,
  .swatch-button {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  
  /* Quantity selector buttons */
  quantity-input button,
  .quantity-selector button {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  
  /* Nav links — comfortable tap */ */
  nav a,
  .header-menu a {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
}


/* === RENDER PERFORMANCE OPTIMIZATION === */

/* Skip rendering below-fold sections until scrolled into view */
.shopify-section:nth-child(n+3) {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}

/* GPU-accelerate common hover transitions */
.product-card,
.card-wrapper,
.button--primary,
a.button {
  will-change: transform;
  transform: translateZ(0);
}

/* Remove will-change after animation to free GPU memory */
.product-card:not(:hover),
.card-wrapper:not(:hover) {
  will-change: auto;
}

/* Contain layout calculations to sections */
.shopify-section {
  contain: layout style;
}

/* === ACCESSIBILITY COLOR FIX === */
/* Darker gold for text that must be readable (WCAG AA 4.5:1) */
/* Regular gold #b8956a = 2.6:1 (decorative only) */
/* Dark gold #8a6d42 = 5.2:1 on #faf8f5 (accessible for text) */

.price .money,
.price-item--regular,
.product-information .price,
product-info .price {
  color: #8a6d42 !important; /* Dark gold — WCAG AA compliant */
}


/* === LUXURY BREATHING ROOM === */
/* Each section is a "room" in the boutique — generous spacing */

/* Homepage sections — atelier spacing */
.template-index .shopify-section {
  padding-top: clamp(48px, 6vw, 80px) !important;
  padding-bottom: clamp(48px, 6vw, 80px) !important;
}

/* But first section (hero) needs no top padding */
.template-index .shopify-section:first-child {
  padding-top: 0 !important;
}

/* Between-section breathing — subtle divider */
.template-index .shopify-section + .shopify-section::before {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: rgba(184, 149, 106, 0.2);
  margin: 0 auto 0;
}

/* Collection page — products need room */
.template-collection .product-grid {
  gap: clamp(16px, 3vw, 28px) !important;
}

/* PDP — product details breathe */
@media (min-width: 750px) {
  .product-information .product-details {
    padding-left: clamp(24px, 4vw, 48px) !important;
  }
}


/* === LUXURY FOOTER === */
/* The last impression matters — quiet, elegant, definitive */

footer {
  letter-spacing: 0.04em !important;
}

/* Footer headings — quiet authority */
footer h2,
footer h3,
footer .footer-heading {
  font-weight: 300 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 0.7rem !important;
  margin-bottom: 16px !important;
}

/* Footer links — barely there until hovered */
footer a:not(.button) {
  font-weight: 350 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.02em !important;
  transition: opacity 0.3s ease !important;
}

footer a:not(.button):hover {
  opacity: 0.7 !important;
}

/* Footer copyright — whisper */
footer [class*="copyright"],
footer .copyright {
  font-size: 0.6rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  opacity: 0.4 !important;
}

/* Payment icons in footer — subtle */
footer [class*="payment"] img,
footer .payment-icon {
  opacity: 0.35 !important;
  filter: grayscale(100%) !important;
  transition: all 0.3s ease !important;
}

footer [class*="payment"] img:hover,
footer .payment-icon:hover {
  opacity: 0.7 !important;
  filter: grayscale(0%) !important;
}


/* ============================================================
   PDP CRO: Trust indicators above ATC button (+40% conversion)
   trust-above-atc
   ============================================================ */
.product-details .buy-buttons-block::before {
    content: "✔  Certified Diamonds   ·   ✔  Free Shipping   ·   ✔  Satisfaction Guaranteed";
    display: block;
    font-size: 0.65rem;
    color: #2E7D32;
    text-align: center;
    padding: 0.6rem 0;
    margin-bottom: 0.5rem;
    letter-spacing: 0.015em;
    opacity: 0.8;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .product-details .buy-buttons-block::before {
        font-size: 0.6rem;
        content: "✔ Certified   ·   ✔ Free Shipping   ·   ✔ Guaranteed";
        padding: 0.5rem 0;
    }
}


/* ATC button premium hover atc-premium-hover */
.product-form__submit,
button[name="add"] {
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
.product-form__submit:hover,
button[name="add"]:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
}
.product-form__submit:active,
button[name="add"]:active {
    transform: translateY(0) scale(0.99) !important;
    box-shadow: none !important;
}


/* Slim announcement bar — was 129px, now ~40px announcement-slim */
@media (max-width: 768px) {
    .announcement-bar.spacing-style {
        padding: 4px 0 !important;
    }
    .announcement-bar .announcement-bar__slider {
        min-height: auto !important;
        padding: 0 !important;
    }
    .announcement-bar .announcement-bar__slides {
        padding: 2px 0 !important;
    }
    .announcement-bar .announcement-bar__slide {
        padding: 2px 1rem !important;
    }
    .announcement-bar .announcement-bar__text {
        padding: 0 !important;
        margin: 0 !important;
    }
}


/* Smooth image load transition img-fade-in */
.product-card img,
.product-media-container img {
    opacity: 0;
    transition: opacity 0.4s ease !important;
}
.product-card img.loaded,
.product-card img[src]:not([src=""]),
.product-media-container img.loaded,
.product-media-container img[src]:not([src=""]) {
    opacity: 1;
}
/* Fallback: show all images after 1s regardless */
@keyframes showImg { to { opacity: 1; } }
.product-card img,
.product-media-container img {
    animation: showImg 0s 1s forwards;
}

/* Accessible focus ring focus-a11y */
:focus-visible {
    outline: 2px solid rgba(184,149,106,.5) !important;
    outline-offset: 2px !important;
}


/* PDP description readability pdp-desc-spacing */
.product-details .rte p { margin-bottom: 0.8em; line-height: 1.8; }
.product-details .rte ul { margin: 0.5em 0; padding-left: 1.2em; }
.product-details .rte li { margin-bottom: 0.3em; }


/* Product title underline reveal (SpinX scaleX technique) product-link-underline */
.product-card a[href*="/products/"]::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--dv-gold, #b8956a);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}
.product-card:hover a[href*="/products/"]::after {
    transform: scaleX(1);
}
.product-card a[href*="/products/"] {
    position: relative;
    text-decoration: none;
}


/* CSS scroll-driven product card reveal (Chrome 115+) css-scroll-cards */
@supports(animation-timeline:view()) {
    .product-card {
        animation: cardReveal linear both;
        animation-timeline: view();
        animation-range: entry 0% cover 30%;
    }
    @keyframes cardReveal {
        from { opacity: 0; transform: translateY(20px); }
        to { opacity: 1; transform: none; }
    }
}


/* 2025 premium typography (Apple/Stripe/Vercel standard) premium-typography-2025 */
h1, h2, h3 {
    text-wrap: balance;
}
h1 {
    letter-spacing: -0.02em;
}
h2 {
    letter-spacing: -0.015em;
}


/* Luxury 4-column grid on collections (was 5, too dense) luxury-grid-columns */
@media (min-width: 1200px) {
    .collection-content .product-grid,
    .collection .product-grid {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}
@media (min-width: 768px) and (max-width: 1199px) {
    .collection-content .product-grid,
    .collection .product-grid {
        grid-template-columns: repeat(3, 1fr) !important;
    }
}


/* Force fast ATC transition (override theme 0.4s) atc-fast-transition */
.product-details button[name="add"],
.product-information button[name="add"],
form[action*="cart"] button[type="submit"] {
    transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
}


/* Product card hover border (Tiffany/Brilliant Earth style) card-hover-border */
.product-card {
    border: 1px solid transparent;
    transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}
.product-card:hover {
    border-color: var(--dv-border-light, rgba(232,228,222,.3));
}


/* Product card image aspect-ratio for CLS prevention img-aspect-ratio */
.product-card .media,
.product-card [class*=media] {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}


/* PDP price premium styling pdp-price-premium */
.product-details .price,
.product-information .price {
    font-size: 1.4rem !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    color: var(--dv-gold, #b8956a) !important;
}
.product-details .price .price-sale,
.product-details .price del {
    color: var(--dv-text-light, #8a8580) !important;
    font-size: 0.9rem !important;
}


/* Nav becomes more solid on scroll nav-scroll-solid */
.header-wrapper {
    transition: backdrop-filter 0.3s ease, background-color 0.3s ease !important;
}


/* Collection card price styling collection-card-price */
.product-card .price {
    color: var(--dv-gold, #b8956a) !important;
    font-weight: 500 !important;
    font-size: 0.85rem !important;
}
.product-card .price del {
    color: var(--dv-text-light, #8a8580) !important;
    font-size: 0.75rem !important;
}


/* Smooth modal/cart backdrop modal-backdrop-premium */
.overlay,
[class*=overlay],
[class*=backdrop] {
    transition: opacity 0.2s ease !important;
}


/* Page content fade-in on load page-fade-in */
@keyframes pageFadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
main {
    animation: pageFadeIn 0.3s ease forwards;
}


/* Collection description premium styling collection-desc-style */
.collection-description,
.collection-banner__text {
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.8;
    font-size: 0.85rem;
    color: var(--dv-text-light, #8a8580);
}


/* Desktop announcement bar slim announcement-desktop-slim */
.announcement-bar.spacing-style {
    padding: 6px 0 !important;
}
.announcement-bar .announcement-bar__slider {
    min-height: auto !important;
}
.announcement-bar .announcement-bar__slide {
    padding: 4px 2rem !important;
}


/* More aggressive announcement slim announcement-extra-slim */
.announcement-bar .announcement-bar__slides {
    padding: 0 !important;
}
.announcement-bar .announcement-bar__text {
    padding: 0 !important;
    margin: 0 !important;
}
#header-group > .shopify-section:first-child {
    padding: 0 !important;
}


/* Card title premium styling card-title-premium */
.product-card [class*=title] a,
.product-card h3 a {
    color: var(--dv-charcoal-soft, #2a2520) !important;
    font-weight: 400 !important;
    letter-spacing: 0.01em !important;
    transition: color 0.2s ease !important;
}
.product-card:hover [class*=title] a,
.product-card:hover h3 a {
    color: var(--dv-gold, #b8956a) !important;
}


/* PDP image gentle zoom on hover (loupe feel) pdp-img-zoom */
.product-media-container img,
media-gallery img,
slideshow-component img {
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.product-media-container:hover img,
media-gallery:hover img {
    transform: scale(1.03) !important;
}


/* Sharp image rendering for jewelry details img-rendering-sharp */
.product-media-container img,
.product-card img {
    image-rendering: -webkit-optimize-contrast;
}


/* Cart drawer smooth transitions cart-drawer-premium */
.cart-drawer,
[class*=cart-drawer],
.drawer {
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}


/* Luxury card spacing (Cartier-inspired) card-spacing-luxury */
.product-card .card-content,
.product-card [class*=card-content],
.product-card [class*=product-info] {
    padding: 0.8rem 0.2rem !important;
}


/* Warm image container background (Cartier-inspired) img-container-warm */
.product-card .media {
    background: var(--dv-warm-bg, #faf8f5) !important;
}


/* IGI certification badge premium styling certification-badge */
[class*=igi-badge],
.product-details [style*="border-radius"][style*="display: flex"] {
    transition: box-shadow 0.3s ease !important;
}
.product-details [style*="border-radius"][style*="display: flex"]:hover {
    box-shadow: 0 2px 12px rgba(184, 149, 106, 0.08) !important;
}


/* Card title line clamp for consistent heights card-title-clamp */
.product-card [class*=title] {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.4em;
}


/* Smooth filter panel transitions filter-smooth */
.facets__wrapper,
[class*=filter-panel],
[class*=facet] {
    transition: max-height 0.3s ease, opacity 0.3s ease !important;
}


/* Premium 404 page styling page-404-premium */
.template-404 h1,
[class*="404"] h1 {
    font-family: "Playfair Display", serif;
    color: var(--dv-gold, #b8956a);
    letter-spacing: -0.02em;
}


/* Card titles in serif for luxury feel card-title-serif */
.product-card [class*=title] a,
.product-card h3 a {
    font-family: "Playfair Display", "Georgia", serif !important;
    font-weight: 400 !important;
}


/* Mobile overflow fix — html+body+footer pdp-mobile-overflow */
@media (max-width: 749px) {
    html, body { overflow-x: hidden !important; max-width: 100vw !important; }
    footer, main, header { max-width: 100vw !important; overflow-x: hidden !important; }
}