/** Shopify CDN: Minification failed

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

**/
/* ==========================================================================
   DIAVORIA MASTER STYLESHEET
   Consolidated from 19 individual files for optimal performance
   Total sections: 19
   ========================================================================== */

/* --------------------------------------------------------------------------
   FONT & THEME OVERRIDES
   Source: theme-override-luxury.css
   -------------------------------------------------------------------------- */

/* --- 0. Google Fonts Import -------------------------------- */
/* @import removed - fonts loaded via <link preload> in theme.liquid for better LCP */

/* --- 1. Design Token Overrides ----------------------------- */
:root {
  --font-heading-family: "Cormorant Garamond", Georgia, serif !important;
  --font-body-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  --font-heading-style: normal !important;
  --font-heading-weight: 400 !important;
  --font-body-style: normal !important;
  --font-body-weight: 400 !important;

  --dv-charcoal: #1A2332;
  --dv-gold: #c5a572;
  --dv-gold-light: #d4b88a;
  --dv-gold-dark: #a88e5a;
  --dv-cream: #f5f7fa;
  --dv-border: #e2e6ec;
  --dv-heading-font: "Cormorant Garamond", Georgia, serif;
  --dv-body-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --dv-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --dv-shadow-soft: 0 2px 20px rgba(26, 35, 50, 0.06);
  --dv-shadow-hover: 0 8px 32px rgba(26, 35, 50, 0.12);

  /* Dawn theme color variable overrides (RGB format for Dawn's color system) */
  --color-base-accent-1: 197, 165, 114 !important;
  --color-base-accent-2: 197, 165, 114 !important;
  --gradient-base-accent-1: #c5a572 !important;
  --gradient-base-accent-2: #c5a572 !important;
  --color-button-gradient: #c5a572 !important;
  --color-foreground: 44, 62, 80;
  --color-background: 245, 247, 250;
}

/* --- 2. Global Typography ---------------------------------- */
body,
.body {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  color: var(--dv-charcoal);
}

h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5,
.title,
.hxs, .hs, .hm, .hl, .hxl, .hxxl {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

p, li, span, a, label, small, blockquote, figcaption, td, th, dt, dd {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* --- 3. Header / Navigation -------------------------------- */
.header,
header.header,
.section-header,
.shopify-section-header {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(44, 62, 80, 0.1) !important;
  transition: background var(--dv-transition), box-shadow var(--dv-transition);
}

.header.shopify-section-header-sticky {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(255, 255, 255, 0.96) !important;
}

.header__heading-link,
.header__heading a,
.header__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  color: var(--dv-charcoal) !important;
  text-decoration: none !important;
}

.header__menu-item,
.header__menu-item span,
.header__inline-menu .list-menu__item,
.list-menu__item--link {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-charcoal) !important;
  font-weight: 500 !important;
  transition: color var(--dv-transition);
}

.header__menu-item:hover,
.header__menu-item:hover span,
.list-menu__item--link:hover {
  color: var(--dv-gold) !important;
}

/* Nav underline on hover */
.header__menu-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--dv-gold);
  transition: width var(--dv-transition);
}

.header__menu-item:hover::after {
  width: 100%;
}

/* Header icons */
.header__icon,
.header__icon:hover {
  color: var(--dv-charcoal) !important;
}

.header__icon:hover {
  color: var(--dv-gold) !important;
}

/* Menu drawer */
.menu-drawer,
.menu-drawer__inner-container {
  background: #ffffff !important;
}

.menu-drawer__menu-item,
.menu-drawer__menu-item span {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--dv-charcoal) !important;
  font-weight: 500;
  border-color: var(--dv-border) !important;
}

.menu-drawer__menu-item:hover {
  color: var(--dv-gold) !important;
}

.menu-drawer__close-button {
  color: var(--dv-charcoal) !important;
}

/* --- 4. Product Cards -------------------------------------- */
.card-wrapper,
.card {
  border: 1px solid var(--dv-border) !important;
  border-radius: 2px !important;
  overflow: hidden;
  background: #ffffff !important;
  transition: box-shadow var(--dv-transition), transform var(--dv-transition);
}

.card-wrapper:hover,
.card:hover {
  box-shadow: var(--dv-shadow-hover) !important;
  transform: translateY(-4px);
}

.card--card,
.card--standard {
  border: 1px solid var(--dv-border) !important;
}

.card__heading,
.card__heading a,
.card__heading span,
.card-information__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  font-weight: 400 !important;
  color: var(--dv-charcoal) !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

.card__information,
.card-information {
  padding: 12px 8px !important;
}

.price,
.price-item,
.price-item--regular,
.price__regular .price-item {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

.price--on-sale .price-item--sale,
.price--on-sale .price-item--regular {
  color: var(--dv-gold) !important;
}

.price--on-sale .price-item--regular {
  color: #8a8a8a !important;
  text-decoration: line-through;
}

.badge,
.badge--bottom-left,
.badge--sale {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
}

/* Card image hover zoom */
.card__media img,
.card .media img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.card-wrapper:hover .card__media img,
.card-wrapper:hover .card .media img,
.card:hover .card__media img {
  transform: scale(1.06) !important;
}

/* --- 5. Product Page (PDP) --------------------------------- */
.product__title,
.product__title h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  color: var(--dv-charcoal) !important;
}

.product__description,
.product__description p,
.product__description li {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
  font-size: 15px !important;
  color: #4a4a4a !important;
}

.product-form__submit,
.product-form__submit:not([disabled]) {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border: 2px solid var(--dv-charcoal) !important;
  border-radius: 0 !important;
  padding: 16px 32px !important;
  transition: all var(--dv-transition) !important;
}

.product-form__submit:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  transform: translateY(-1px);
  box-shadow: var(--dv-shadow-hover);
}

.product-form__submit[disabled] {
  background: #ccc !important;
  border-color: #ccc !important;
  color: #888 !important;
  cursor: not-allowed !important;
}

.product__info-wrapper,
.product__info-container {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.product__media,
.product__media-item {
  border: 1px solid var(--dv-border) !important;
  border-radius: 2px !important;
  overflow: hidden;
  box-shadow: var(--dv-shadow-soft);
}

.product__media img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Product price on PDP */
.product .price,
.product .price__container {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

/* Variant picker */
.product-form__input label,
.variant-input__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

/* --- 6. Collection Pages ----------------------------------- */
.collection-hero,
.collection-hero__inner {
  position: relative;
  overflow: hidden;
}

.collection-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 35, 50, 0.3) 0%, rgba(26, 35, 50, 0.6) 100%);
  pointer-events: none;
}

.collection-hero__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #fff !important;
  text-align: center !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  position: relative;
  z-index: 1;
}

.collection-hero__description {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  color: #6b7c8d !important;
  text-align: center;
  position: relative;
  z-index: 1;
}

.collection-product-list,
.collection .grid {
  gap: 20px !important;
}

@media (min-width: 768px) {
  .collection-product-list,
  .collection .grid {
    gap: 28px !important;
  }
}

/* Facets / Filters */
.facets-wrapper,
.facets__form {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.facets__summary,
.facets__heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

.facets__label,
.facet-checkbox__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  color: var(--dv-charcoal) !important;
}

.facet-checkbox input[type="checkbox"]:checked + .facet-checkbox__text {
  color: var(--dv-gold) !important;
}

.active-facets__button {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border: 1px solid var(--dv-border) !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
}

/* Sort by dropdown */
.facet-filters__sort select,
.facet-filters__field select {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  border-color: var(--dv-border) !important;
}

/* --- 7. Cart Page ------------------------------------------ */
.cart__items,
.cart__items th {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-color: var(--dv-border) !important;
}

.cart__items th {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--dv-charcoal) !important;
}

.cart-item__name,
.cart-item__name a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--dv-charcoal) !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
}

.cart-item__name a:hover {
  color: var(--dv-gold) !important;
}

.cart-item__price,
.cart-item__discounted-prices {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-weight: 500 !important;
}

.cart__checkout-button,
.cart__ctas .button,
.cart__checkout-button.button {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border: 2px solid var(--dv-charcoal) !important;
  border-radius: 0 !important;
  transition: all var(--dv-transition) !important;
}

.cart__checkout-button:hover,
.cart__ctas .button:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
}

.cart__note label,
.cart__note textarea {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* --- 8. Footer --------------------------------------------- */
.footer,
footer.footer,
.footer-block {
  background: var(--dv-charcoal) !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.footer__content-top,
.footer__content-bottom {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.footer-block__heading,
.footer h2,
.footer h3,
.footer h4 {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-gold) !important;
  font-weight: 500 !important;
}

.footer a,
.footer-block a,
.footer__list-social a {
  color: rgba(255, 255, 255, 0.6) !important;
  transition: color var(--dv-transition) !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
}

.footer a:hover,
.footer-block a:hover,
.footer__list-social a:hover {
  color: var(--dv-gold) !important;
}

.footer p,
.footer-block p {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 13px !important;
}

/* Newsletter form in footer */
.footer .newsletter-form__field-wrapper input,
.footer .field__input {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  transition: border-color var(--dv-transition) !important;
}

.footer .newsletter-form__field-wrapper input:focus,
.footer .field__input:focus {
  border-color: var(--dv-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--dv-gold) !important;
}

.footer .newsletter-form__button,
.footer .field__button {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  border: none !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.footer .newsletter-form__button:hover,
.footer .field__button:hover {
  background: var(--dv-gold-light) !important;
}

.footer__copyright,
.footer__content-bottom-wrapper {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.35) !important;
}

/* --- 9. Buttons (Global) ----------------------------------- */
.button,
.shopify-challenge__button,
button.button,
a.button {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
  transition: all var(--dv-transition) !important;
}

.button--primary,
.shopify-payment-button .shopify-payment-button__button--unbranded {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border: 2px solid var(--dv-charcoal) !important;
}

.button--primary:hover,
.shopify-payment-button .shopify-payment-button__button--unbranded:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
}

.button--secondary {
  background: transparent !important;
  color: var(--dv-charcoal) !important;
  border: 2px solid var(--dv-charcoal) !important;
}

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

.button--tertiary {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  color: var(--dv-charcoal) !important;
  letter-spacing: 0.1em !important;
}

.button--tertiary:hover {
  color: var(--dv-gold) !important;
}

/* --- 10. Form Elements ------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="number"],
select,
textarea,
.field__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border: 1px solid var(--dv-border) !important;
  border-radius: 0 !important;
  color: var(--dv-charcoal) !important;
  font-size: 14px !important;
  transition: border-color var(--dv-transition) !important;
}

input:focus,
select:focus,
textarea:focus,
.field__input:focus {
  border-color: var(--dv-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(197, 165, 114, 0.3) !important;
}

.field__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: #8a8a8a !important;
}

/* --- 11. Announcement Bar ---------------------------------- */
.announcement-bar,
.announcement-bar-section,
.utility-bar {
  background: var(--dv-charcoal) !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: #fff !important;
}

.announcement-bar a,
.announcement-bar__link {
  color: var(--dv-gold) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.announcement-bar a:hover,
.announcement-bar__link:hover {
  color: var(--dv-gold-light) !important;
}

.announcement-bar__message {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
}

/* --- 12. Pagination ---------------------------------------- */
.pagination,
.pagination__list {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.pagination__item,
.pagination__item a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  color: var(--dv-charcoal) !important;
  border: 1px solid var(--dv-border) !important;
  border-radius: 0 !important;
  transition: all var(--dv-transition) !important;
}

.pagination__item a:hover,
.pagination__item--current {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border-color: var(--dv-charcoal) !important;
}

/* --- 13. Loading Spinner ----------------------------------- */
.loading__spinner,
.loading-overlay__spinner {
  color: var(--dv-gold) !important;
}

.loading__spinner svg circle,
.loading-overlay__spinner svg circle {
  stroke: var(--dv-gold) !important;
}

/* --- 14. Disclosure / Dropdowns ---------------------------- */
.disclosure__button,
.disclosure__list-wrapper {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-color: var(--dv-border) !important;
  border-radius: 0 !important;
}

.disclosure__button {
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: var(--dv-charcoal) !important;
}

.disclosure__link {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  color: var(--dv-charcoal) !important;
  transition: color var(--dv-transition) !important;
}

.disclosure__link:hover {
  color: var(--dv-gold) !important;
}

/* --- 15. Rich Text Editor Content (RTE) -------------------- */
.rte,
.rte p,
.rte li,
.rte span {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.8 !important;
  color: var(--dv-charcoal) !important;
}

.rte h1, .rte h2, .rte h3, .rte h4, .rte h5, .rte h6 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
}

.rte a {
  color: var(--dv-gold) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  transition: color var(--dv-transition) !important;
}

.rte a:hover {
  color: var(--dv-gold-dark) !important;
}

.rte blockquote {
  border-left: 3px solid var(--dv-gold) !important;
  padding-left: 20px !important;
  font-style: italic !important;
  color: #666 !important;
}

.rte ul, .rte ol {
  padding-left: 20px !important;
  margin-bottom: 1em !important;
}

.rte ul li::marker {
  color: var(--dv-gold);
}

.rte img {
  border-radius: 2px;
  margin: 1em 0;
}

/* --- 16. Misc Shopify Dawn Elements ------------------------ */
/* Breadcrumbs */
.breadcrumbs,
.breadcrumbs a,
nav.breadcrumb,
nav.breadcrumb a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #8a8a8a !important;
}

.breadcrumbs a:hover,
nav.breadcrumb a:hover {
  color: var(--dv-gold) !important;
}

/* Slideshow / Image banner sections */
.banner__heading,
.slideshow__text h2,
.image-banner__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

.banner__text,
.slideshow__text p,
.image-banner__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* Rich text section */
.rich-text__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.rich-text__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
}

/* Image with text section */
.image-with-text__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.image-with-text__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
}

/* Multicolumn section */
.multicolumn .multicolumn-card__info h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.multicolumn-card__info p {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* Featured collection heading */
.featured-collection .title,
.featured-collection h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

/* Collapsible content / accordion */
.accordion summary,
.collapsible-content summary,
.product__accordion summary {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
  border-color: var(--dv-border) !important;
}

.accordion .accordion__content,
.collapsible-content__panel {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
}

/* Contact form / Page sections */
.contact .field__label,
.form__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  letter-spacing: 0.04em !important;
}

/* Quantity input */
.quantity__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  border-color: var(--dv-border) !important;
}

.quantity__button {
  color: var(--dv-charcoal) !important;
  border-color: var(--dv-border) !important;
}

.quantity__button:hover {
  color: var(--dv-gold) !important;
}

/* Empty states */
.cart--empty-message,
.template-cart .cart__empty-text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  color: #8a8a8a !important;
}

/* Search */
.search__input,
.predictive-search__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-color: var(--dv-border) !important;
}

.predictive-search__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.predictive-search__item-heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* --- 17. Responsive Overrides ------------------------------ */
@media (max-width: 749px) {
  /* Tighter card spacing on mobile */
  .card-wrapper,
  .card {
    border-width: 1px !important;
  }

  .card__heading,
  .card__heading a {
    font-size: 12px !important;
  }

  .price,
  .price-item {
    font-size: 13px !important;
  }

  /* Mobile header */
  .header__heading-link,
  .header__heading {
    font-size: 18px !important;
    letter-spacing: 0.08em !important;
  }

  /* Mobile product title */
  .product__title,
  .product__title h1 {
    font-size: 22px !important;
  }

  /* Mobile buttons */
  .product-form__submit,
  .cart__checkout-button {
    font-size: 11px !important;
    padding: 14px 24px !important;
  }

  /* Mobile footer */
  .footer-block__heading,
  .footer h2,
  .footer h3 {
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
  }

  .footer a,
  .footer-block a {
    font-size: 12px !important;
  }

  /* Announcement bar mobile */
  .announcement-bar,
  .announcement-bar__message {
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    padding: 8px 12px !important;
  }

  /* Mobile menu drawer refinements */
  .menu-drawer__menu-item {
    font-size: 13px !important;
    padding: 14px 0 !important;
  }

  /* Collection hero mobile */
  .collection-hero__title {
    font-size: 24px !important;
  }

  /* Cart items mobile */
  .cart-item__name,
  .cart-item__name a {
    font-size: 13px !important;
  }
}

@media (min-width: 750px) and (max-width: 989px) {
  /* Tablet adjustments */
  .card__heading,
  .card__heading a {
    font-size: 13px !important;
  }

  .collection-hero__title {
    font-size: 36px !important;
  }

  .product__title,
  .product__title h1 {
    font-size: 28px !important;
  }
}

/* --- 18. Sticky Header Scrolled State ---------------------- */
.shopify-section-header-sticky .header--has-scrolled,
.header.scrolled-past-header {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: 0 1px 0 rgba(26, 35, 50, 0.08) !important;
}

/* --- 19. Selection & Focus Styles -------------------------- */
::selection {
  background: rgba(197, 165, 114, 0.2);
  color: var(--dv-charcoal);
}

::-moz-selection {
  background: rgba(197, 165, 114, 0.2);
  color: var(--dv-charcoal);
}

:focus-visible {
  outline: 2px solid var(--dv-gold) !important;
  outline-offset: 2px !important;
}

/* --- 20. Reduced Motion ------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .card__media img,
  .card .media img,
  .product__media img {
    transition: none !important;
  }

  .card-wrapper:hover,
  .card:hover {
    transform: none !important;
  }
}

/* --- 21. Force Gold on All Dawn Accent Elements ------------ */
.color-accent-1,
[class*="color-accent"],
.gradient-accent-1 {
  --color-foreground: 44, 62, 80;
  --gradient-background: #c5a572 !important;
}

/* --------------------------------------------------------------------------
   TYPOGRAPHY POLISH
   Source: typography-polish.css
   -------------------------------------------------------------------------- */

/* --- 1. Price Display Polish ------------------------------- */

/* Sale price: gold, semibold */
.price--on-sale .price-item--sale {
  color: #c5a572 !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Compare-at (was) price: muted, struck, smaller */
.price--on-sale .price-item--regular,
.price--on-sale s,
.price--on-sale del,
.price .price-item--regular.price-item--last {
  color: #999 !important;
  text-decoration: line-through !important;
  font-size: 0.85em !important;
  font-weight: 400 !important;
}

/* Spacing between sale and compare prices */
.price--on-sale .price-item--sale + .price-item--regular,
.price--on-sale .price-item--sale + s,
.price--on-sale .price-item--sale + del {
  margin-left: 6px !important;
}

.price__regular + .price__sale,
.price__sale + .price__regular {
  margin-left: 8px !important;
}

/* Installment / afterpay / klarna text */
.price__availability,
.installment,
.afterpay-paragraph,
.shopify-payment-terms,
.spi-banner-text,
[data-shopify="payment-terms"],
.payment-terms {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
  font-style: italic !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}

/* Unit price (per 100g, etc.) */
.unit-price {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  color: #aaa !important;
  font-weight: 400 !important;
}

/* --- 2. Product Title Hierarchy ---------------------------- */

/* On product cards */
.card__heading a,
.card__heading span,
.card-information__text a,
.card-information__text span,
.card__content .card__heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: #1A2332 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* On PDP (product detail page) */
.product__title h1,
h1.product__title,
.product-single__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.015em !important;
  line-height: 1.2 !important;
  color: #1A2332 !important;
  margin-bottom: 8px !important;
}

/* On cart page / cart drawer */
.cart-item__name,
.cart-item__name a,
.cart-drawer-item__title,
.cart-drawer-item__title a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  color: #1A2332 !important;
  text-decoration: none !important;
}

/* Cart item variant/option text */
.cart-item__details dl,
.cart-item__details dd,
.cart-item__details dt,
.cart-drawer-item__variant {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  color: #888 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

/* --- 3. Button Refinements --------------------------------- */

/* All buttons base */
.button,
.shopify-challenge__button,
button.button,
a.button,
.btn,
.product-form__submit,
.cart__checkout-button,
.cart__ctas .button {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  -webkit-appearance: none !important;
}

/* Primary buttons */
.button--primary,
.product-form__submit:not([disabled]),
.cart__checkout-button,
.shopify-payment-button .shopify-payment-button__button--unbranded {
  background-color: #1A2332 !important;
  color: #fff !important;
  padding: 16px 32px !important;
  border: 2px solid #1A2332 !important;
  border-radius: 0px !important;
}

/* Primary hover */
.button--primary:hover,
.product-form__submit:not([disabled]):hover,
.cart__checkout-button:hover,
.shopify-payment-button .shopify-payment-button__button--unbranded:hover {
  background-color: #c5a572 !important;
  color: #1A2332 !important;
  border-color: #c5a572 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 32px rgba(26, 35, 50, 0.12) !important;
}

/* Disabled buttons */
.button[disabled],
.button--disabled,
.product-form__submit[disabled],
button:disabled {
  background-color: #ccc !important;
  border-color: #ccc !important;
  color: #888 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.button[disabled]:hover,
.button--disabled:hover,
.product-form__submit[disabled]:hover,
button:disabled:hover {
  background-color: #ccc !important;
  border-color: #ccc !important;
  color: #888 !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Dynamic checkout buttons (Buy Now / Apple Pay) border-radius */
.shopify-payment-button__button,
.shopify-payment-button .shopify-payment-button__button {
  border-radius: 0px !important;
}

/* --- 4. Form Elements -------------------------------------- */

/* Inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="url"],
select,
textarea,
.field__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  color: #1A2332 !important;
  padding: 14px !important;
  border: 1px solid #e8e4df !important;
  border-radius: 0px !important;
  background-color: #fff !important;
  transition: border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Focus state: gold border + subtle glow */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus,
.field__input:focus {
  border-color: #c5a572 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(197, 165, 114, 0.15),
              0 0 8px rgba(197, 165, 114, 0.1) !important;
}

/* Labels */
label,
.field__label,
.form__label,
.customer label,
.contact .field__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #666 !important;
  font-weight: 500 !important;
}

/* Placeholders */
input::placeholder,
textarea::placeholder,
.field__input::placeholder {
  font-style: italic !important;
  color: #aaa !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-style: italic !important;
  color: #aaa !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  font-style: italic !important;
  color: #aaa !important;
}

/* --- 5. Breadcrumbs ---------------------------------------- */

.breadcrumbs,
nav.breadcrumb,
.breadcrumbs__list,
.breadcrumb-list {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 16px 0 !important;
}

/* Breadcrumb links */
.breadcrumbs a,
nav.breadcrumb a,
.breadcrumbs__list a,
.breadcrumb-list a {
  color: #999 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.breadcrumbs a:hover,
nav.breadcrumb a:hover,
.breadcrumbs__list a:hover,
.breadcrumb-list a:hover {
  color: #c5a572 !important;
}

/* Current page (last item, not a link) */
.breadcrumbs span:last-child,
nav.breadcrumb span:last-child,
.breadcrumbs__list li:last-child,
.breadcrumb-list li:last-child,
.breadcrumbs .breadcrumbs__item--current {
  color: #1A2332 !important;
  font-weight: 500 !important;
}

/* Separator: gold diamond */
.breadcrumbs__separator,
.breadcrumbs li + li::before,
.breadcrumb-list li + li::before {
  content: "\25C6" !important;
  color: #c5a572 !important;
  font-size: 6px !important;
  vertical-align: middle !important;
  margin: 0 10px !important;
  display: inline-block !important;
}

/* --- 6. Badge / Tag Styling -------------------------------- */

/* Sale badge */
.badge--sale,
.badge[class*="sale"],
.card__badge .badge--sale {
  background-color: #1A2332 !important;
  color: #fff !important;
  padding: 8px 14px !important;
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* New badge */
.badge--new,
.badge[class*="new"] {
  background-color: #c5a572 !important;
  color: #1A2332 !important;
  padding: 8px 14px !important;
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Sold out badge */
.badge--sold-out,
.badge[class*="sold"],
.card__badge .badge--sold-out {
  background-color: #999 !important;
  color: #fff !important;
  padding: 8px 14px !important;
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Generic badge reset (catch-all) */
.badge,
.card__badge .badge {
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Product tags */
.product-tag,
.tag,
.tag--active {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 0px !important;
  padding: 6px 12px !important;
  border: 1px solid #e8e4df !important;
  color: #1A2332 !important;
}

.tag--active,
.product-tag--active {
  border-color: #c5a572 !important;
  color: #c5a572 !important;
}

/* --- 7. Quantity Selector ---------------------------------- */

.quantity,
.quantity__wrapper,
quantity-input {
  border: 1px solid #e8e4df !important;
  border-radius: 0px !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
}

.quantity__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1A2332 !important;
  text-align: center !important;
  border: none !important;
  border-radius: 0px !important;
  min-width: 40px !important;
  -moz-appearance: textfield !important;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.quantity__button {
  color: #1A2332 !important;
  border: none !important;
  border-radius: 0px !important;
  background: transparent !important;
  padding: 8px 12px !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.quantity__button:hover {
  color: #c5a572 !important;
}

/* --- 8. Table Styling (Size Guides, Cart) ------------------ */

table,
.table-wrapper table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

table thead th,
.table-wrapper table thead th {
  background-color: #1A2332 !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  text-align: left !important;
  border: none !important;
}

table tbody td,
.table-wrapper table tbody td {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  padding: 10px 16px !important;
  color: #1A2332 !important;
  border-bottom: 1px solid #e8e4df !important;
}

/* Alternating row colors */
table tbody tr:nth-child(even),
.table-wrapper table tbody tr:nth-child(even) {
  background-color: #f5f7fa !important;
}

table tbody tr:nth-child(odd),
.table-wrapper table tbody tr:nth-child(odd) {
  background-color: #fff !important;
}

/* --- 9. Scrollbar Customization ---------------------------- */

/* WebKit scrollbar */
::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

::-webkit-scrollbar-track {
  background: #f5f3f0 !important;
}

::-webkit-scrollbar-thumb {
  background-color: #c5a572 !important;
  border-radius: 3px !important;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #a88e5a !important;
}

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: #c5a572 #f5f3f0;
}

/* --- 10. Selection Highlight ------------------------------- */

::selection {
  background: rgba(197, 165, 114, 0.2) !important;
  color: #1A2332 !important;
}

::-moz-selection {
  background: rgba(197, 165, 114, 0.2) !important;
  color: #1A2332 !important;
}

/* --- 11. Link Styles (Global) ------------------------------ */

a {
  color: #1A2332 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

a:hover {
  color: #c5a572 !important;
  text-decoration: none !important;
}

a:visited {
  color: #1A2332 !important;
}

/* Preserve footer link colors (override global) */
.footer a,
.footer-block a,
.footer__list-social a {
  color: rgba(255, 255, 255, 0.6) !important;
}

.footer a:hover,
.footer-block a:hover,
.footer__list-social a:hover {
  color: #c5a572 !important;
}

/* Preserve announcement bar link colors */
.announcement-bar a,
.announcement-bar__link {
  color: #c5a572 !important;
}

/* --- 12. Micro-Typography Fixes ---------------------------- */

/* Prevent FOUT (flash of unstyled text) */
.shopify-section {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* Tabular numbers for all price displays */
.price,
.price-item,
.cart-item__price,
.cart-item__discounted-prices,
.totals__total-value,
.cart__subtotal {
  font-variant-numeric: tabular-nums !important;
}

/* Cart subtotal / totals */
.totals,
.totals__subtotal,
.totals__subtotal-value,
.totals__total,
.totals__total-value {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  letter-spacing: 0.02em !important;
}

.totals__total-value,
.cart__subtotal .price {
  font-weight: 600 !important;
  color: #1A2332 !important;
  font-size: 16px !important;
}

/* Tax / shipping note at checkout */
.tax-note,
.cart__checkout-terms,
.rte.cart__blocks-text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  color: #999 !important;
  line-height: 1.5 !important;
}

/* Vendor text on cards */
.card__vendor,
.card-information .caption-with-letter-spacing {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #aaa !important;
  font-weight: 400 !important;
}

/* Countdown / promo text */
.countdown-timer,
.promo-text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-variant-numeric: tabular-nums !important;
}

/* Notification / toast messages */
.cart-notification,
.cart-notification__heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-radius: 0px !important;
}

.cart-notification__heading {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

/* Modal / popup typography */
.modal__content,
.popup-modal__content {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.modal__content h2,
.popup-modal__content h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

/* Smooth font rendering across all elements */
*,
*::before,
*::after {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}

/* --------------------------------------------------------------------------
   MAIN DESIGN SYSTEM
   Source: diavoria-v12.css
   -------------------------------------------------------------------------- */

:root {
  --dv-gold: #B8956A;
  --dv-gold-hover: #a6824e;
  --dv-gold-light: rgba(184, 149, 106, 0.12);
  --dv-charcoal: #2C3E50;
  --dv-text: #2C3E50;
  --dv-text-light: rgba(26, 35, 50, 0.7);
  --dv-text-muted: rgba(26, 35, 50, 0.45);
  --dv-warm-bg: #FAF8F5;
  --dv-warm-bg-alt: #F5F2ED;
  --dv-white: #FFFFFF;
  --dv-border: rgba(26, 35, 50, 0.08);
  --dv-border-gold: rgba(184, 149, 106, 0.2);
  --dv-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --dv-shadow-sm: 0 1px 3px rgba(26, 35, 50, 0.06), 0 1px 2px rgba(26, 35, 50, 0.04);
  --dv-shadow-md: 0 4px 16px rgba(26, 35, 50, 0.08), 0 2px 4px rgba(26, 35, 50, 0.04);
  --dv-shadow-lg: 0 12px 40px rgba(26, 35, 50, 0.10), 0 4px 12px rgba(26, 35, 50, 0.06);
  --dv-shadow-hover: 0 16px 48px rgba(184, 149, 106, 0.12), 0 6px 16px rgba(26, 35, 50, 0.06);
  --dv-font-heading: var(--font-heading-family), 'Cormorant Garamond', 'Cormorant', Georgia, serif;
  --dv-font-body: var(--font-body-family), 'Inter', -apple-system, sans-serif;
  /* Page width must fit ALL laptops including 1280px with scrollbar */
  --page-width: 120rem !important;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden !important;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background-color: var(--dv-warm-bg);
  color: var(--dv-text);
  overflow-x: hidden !important;
}

/* Announcement bar slider â€” contain off-screen slides (ALL breakpoints) */
.announcement-bar-slider,
.announcement-bar .slider,
.slider--announcement-bar,
[id*="announcement-bar"] .slider,
[class*="announcement-bar"] .slideshow,
.shopify-section-group-header-group .shopify-section:first-child {
  overflow: hidden !important;
  max-width: 100vw !important;
}

/* Hide disabled sections */
.shopify-section:empty { display: none; }
[id*="sustainability"],
[id*="shop_by_price"] {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* FIX: Bestsellers section invisible on desktop (visibility:hidden bug) */
.shopify-section[id*="bestsell"] {
  visibility: visible !important;
  height: auto !important;
}
.shopify-section[id*="bestsell"] > * {
  visibility: visible !important;
}

/* FIX: Product sliders â€” contain within page-width, not full viewport */
slider-component,
.slider-component {
  overflow: hidden !important;
}
slider-component .slider,
.slider-component .slider {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
slider-component .slider::-webkit-scrollbar,
.slider-component .slider::-webkit-scrollbar {
  display: none;
}

/* Headings: Cormorant */
h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5 {
  font-family: var(--dv-font-heading) !important;
}
/* Page-level H1 â€” luxury feel */
h1 {
  font-weight: 300 !important;
  letter-spacing: 0.06em;
}
/* Section headings â€” bigger, more dramatic (only main section titles) */
.section-header h2,
.title--primary,
[class*="section"] > .page-width > h2:first-child,
.featured-collection h2,
.collection-list-title {
  font-weight: 300 !important;
  letter-spacing: 0.08em;
  font-size: clamp(2.4rem, 4vw, 4.2rem) !important;
}
/* Facets/filters â€” elegant, compact */
.facets-container h2,
.facets__heading,
.collection-product-count {
  font-size: 1.4rem !important;
  letter-spacing: 0.02em;
  font-weight: 400 !important;
}
.active-facets-mobile,
.collection-product-count {
  font-family: var(--dv-font-body) !important;
  color: var(--dv-text-muted);
  font-size: 13px !important;
}
.facets__summary span {
  font-size: 13px !important;
  font-weight: 500;
}
/* 404 page H1 â€” Dawn inline style sets 1.8rem (=18.9px), override to luxury size */
h1[style*="1.8rem"] {
  font-size: 3.6rem !important;
}

/* Body text: Inter */
p, span, a, li, td, th, label, input, select, textarea, button {
  font-family: var(--dv-font-body);
}

/* Buttons MUST be Cormorant (heading font) â€” ALL buttons, no exceptions */
button,
.button, a.button,
button.shopify-payment-button__button,
.product-form__submit,
.shopify-payment-button button,
[type="submit"],
.btn,
.cart__checkout-button,
.cart__ctas .button,
.sticky-atc-bar__button,
.dv-popup__btn,
.dv-popup__no-thanks,
.dv-popup__close,
.quantity__button,
.wishlist-btn,
.slider-button,
.search__button,
.search-modal__close-button,
.drawer__close,
.thumbnail,
.product-media-modal__toggle,
.newsletter-form__button,
.shopify-challenge__button,
.disclosure__button,
.facets__summary {
  font-family: var(--dv-font-heading) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-radius: 0 !important;
  transition: all var(--dv-transition);
}

/* Override inline Helvetica Neue from supplier-imported product HTML (~4060 products) */
.product__description [style*="font-family"],
.product__description.rte div,
.product__description.rte div > *,
.product__description.rte table,
.product__description.rte table *,
.product__description.rte ul,
.product__description.rte ol,
.product__description.rte li,
.product__description.rte p,
.product__description.rte span,
.product__description.rte strong,
.product__description.rte em,
.product__description.rte a,
.product__description.rte blockquote {
  font-family: var(--dv-font-body) !important;
  color: var(--dv-text) !important;
}
/* Lighter text for secondary desc content */
.product__description.rte [style*="color:#444"],
.product__description.rte [style*="color: #444"] {
  color: var(--dv-text-light) !important;
}
.product__description.rte h1,
.product__description.rte h2,
.product__description.rte h3,
.product__description.rte h4,
.product__description.rte h5,
.product__description.rte h6 {
  font-family: var(--dv-font-heading) !important;
}

/* ALL price elements: Cormorant */
.price,
.price *,
.price__container,
.price__regular,
.price__sale,
.price-item,
.price-item--regular,
.price-item--sale,
.price-per-item__container,
.sticky-atc-bar__price,
.cart-item__price,
.cart-item__discounted-prices,
.totals__total-value,
.cart__subtotal,
.totals__subtotal-value,
.totals__total {
  font-family: var(--dv-font-heading) !important;
}

/* Section headings â€” ALWAYS CENTERED */
.shopify-section h2.title,
.shopify-section .title--primary,
.shopify-section .section-header__title {
  font-family: var(--dv-font-heading) !important;
  font-size: clamp(26px, 2.8vw, 38px);
  font-weight: 300;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--dv-charcoal);
  text-align: center;
}

/* Gold accent line under section headings */
.shopify-section h2.title::after,
.shopify-section .title--primary::after {
  content: "";
  display: block;
  width: 50px;
  height: 1px;
  background: var(--dv-gold);
  margin: 16px auto 0;
}

/* Links hover â€” gold */
a:not(.button):not(.card__heading a):hover {
  color: var(--dv-gold);
}

.announcement-bar {
  background: var(--dv-charcoal) !important;
  border-bottom: 2px solid var(--dv-gold);
}
.announcement-bar__message {
  color: #6b7c8d !important;
  font-size: 12px !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 400;
  font-family: var(--dv-font-heading) !important;
}
.announcement-bar a {
  color: var(--dv-gold) !important;
}
.announcement-bar .slider-button {
  color: rgba(255, 255, 255, 0.5);
}
.announcement-bar .slider-button:hover {
  color: var(--dv-gold);
}

.header {
  border-bottom: 1px solid var(--dv-border);
}

/* CRITICAL: Prevent header wrapping to 2 lines */
.header__inline-menu {
  flex-wrap: nowrap !important;
  overflow: visible;
}
.header__inline-menu .list-menu {
  flex-wrap: nowrap !important;
  gap: 0;
}

/* Sticky header */
.shopify-section-header-sticky .header {
  background: rgba(253, 251, 248, 0.95) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--dv-shadow-sm);
}

/* Nav items â€” compact to fit one line (9 items) */
.header__menu-item span,
.header__menu-item > a {
  font-family: var(--dv-font-heading) !important;
  font-size: 11.5px !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--dv-charcoal);
  transition: color var(--dv-transition);
  white-space: nowrap;
  padding: 0 10px;
}
.header__menu-item:hover span,
.header__menu-item:hover > a {
  color: var(--dv-gold);
}

/* Active nav underline */
.header__menu-item .header__active-menu-item {
  border-bottom-color: var(--dv-gold) !important;
}

/* Nav dropdown / mega-menu â€” luxury styling */
.header__submenu,
.mega-menu,
.header__menu-item .mega-menu__content {
  background: var(--dv-white) !important;
  border: 1px solid var(--dv-border);
  box-shadow: var(--dv-shadow-lg);
}
.header__submenu a,
.mega-menu a,
.mega-menu__link {
  font-family: var(--dv-font-body) !important;
  font-size: 13px !important;
  color: var(--dv-text) !important;
  transition: color var(--dv-transition);
  padding: 8px 16px;
}
.header__submenu a:hover,
.mega-menu a:hover,
.mega-menu__link:hover {
  color: var(--dv-gold) !important;
}
/* Mega menu heading (e.g. "Shop by Category") */
.mega-menu__content .mega-menu__list > li:first-child > a,
.mega-menu h3,
.mega-menu .h4 {
  font-family: var(--dv-font-heading) !important;
  font-size: 14px !important;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--dv-charcoal) !important;
}

/* Header icons â€” gold on hover */
.header__icon:hover svg,
.header__icon:hover path {
  color: var(--dv-gold);
}

/* Search */
.search-modal .modal__content { border-radius: 0; }
.search__input {
  font-family: var(--dv-font-body) !important;
  font-size: 15px;
  letter-spacing: 0.01em;
  border-radius: 0;
}
/* Search results page â€” consistent H1 sizing */
.template-search__header h1,
.template-search h1.h2 {
  font-size: 4rem !important;
  font-weight: 300;
  letter-spacing: 0.04em;
}
/* Search results page â€” body text consistency */
.template-search .rte p,
.search__content p {
  font-family: var(--dv-font-body) !important;
  font-size: 15px;
  line-height: 1.6;
}

.banner {
  min-height: 85vh !important;
}

/* Overlay gradient */
.banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(26, 35, 50, 0.12) 0%,
    rgba(26, 35, 50, 0.03) 40%,
    rgba(26, 35, 50, 0.3) 100%
  );
  pointer-events: none;
  z-index: 1;
}
.banner__content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex !important;
  flex-direction: column;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
/* FIX: Hero box was 215px off-center left on desktop */
.banner__box {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-self: center !important;
  max-width: 800px;
  width: 100%;
}

/* Hero heading â€” dramatic, luxury */
.banner .h0,
.banner__heading.h1,
.banner__heading,
.banner h1,
.banner h2 {
  font-size: clamp(36px, 5.5vw, 72px) !important;
  font-weight: 300;
  letter-spacing: 0.08em;
  line-height: 1.05;
  color: var(--dv-white) !important;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.3);
  text-transform: uppercase;
}
.banner__text,
.banner__text p {
  font-size: 17px;
  font-weight: 300;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.9) !important;
  max-width: 48ch;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
}
.banner__buttons {
  gap: 16px;
  margin-top: 24px;
  justify-content: center !important;
  display: flex;
  width: 100%;
}

/* Hero primary button â€” GOLD bg with DARK text (AA contrast: 6.94:1) */
.banner .button--primary,
.banner__buttons .button--primary {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  border: 1px solid var(--dv-gold) !important;
  padding: 16px 44px;
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: 500;
  min-height: 52px;
  text-transform: uppercase;
  font-family: var(--dv-font-heading) !important;
}
.banner .button--primary:hover,
.banner__buttons .button--primary:hover {
  background: var(--dv-gold-hover) !important;
  border-color: var(--dv-gold-hover) !important;
  color: var(--dv-charcoal) !important;
}

/* Hero secondary button â€” outline */
.banner .button--secondary,
.banner__buttons .button--secondary {
  background: transparent !important;
  color: var(--dv-white) !important;
  border: 1px solid rgba(255, 255, 255, 0.5) !important;
  padding: 16px 44px;
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: 400;
  text-transform: uppercase;
  font-family: var(--dv-font-heading) !important;
}
.banner .button--secondary:hover,
.banner__buttons .button--secondary:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.7) !important;
}

/* Subtle scroll indicator */
.banner__content::after {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border-right: 1px solid rgba(255,255,255,0.4);
  border-bottom: 1px solid rgba(255,255,255,0.4);
  transform: rotate(45deg);
  margin: 32px auto 0;
  animation: scrollBounce 2.5s ease-in-out infinite;
  opacity: 0.5;
}
@keyframes scrollBounce {
  0%, 100% { transform: rotate(45deg) translateY(0); opacity: 0.5; }
  50% { transform: rotate(45deg) translateY(6px); opacity: 0.25; }
}

[id*="trust_bar"] {
  border-top: 1px solid var(--dv-border-gold);
  border-bottom: 1px solid var(--dv-border-gold);
  background: var(--dv-warm-bg-alt) !important;
}
[id*="trust_bar"] > * {
  background: var(--dv-warm-bg-alt) !important;
}
/* Trust bar â€” ultra-compact: target ~100px total */
[id*="trust_bar"] [class*="-padding"] {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}
[id*="trust_bar"] .multicolumn-list__item {
  padding: 0 !important;
}
[id*="trust_bar"] .multicolumn-card,
[id*="trust_bar"] .multicolumn-card.content-container {
  padding: 0 8px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  height: auto !important;
  min-height: 0 !important;
}
/* Dawn's content-container::after creates a 130px invisible spacer â€” kill it */
[id*="trust_bar"] .multicolumn-card::after,
[id*="trust_bar"] .content-container::after {
  display: none !important;
  content: none !important;
}
[id*="trust_bar"] .multicolumn-card__info {
  padding: 4px 8px !important;
}
/* Reduce gap + prevent flex-stretch between trust items */
[id*="trust_bar"] .multicolumn-list {
  gap: 16px !important;
  align-items: center !important;
}
[id*="trust_bar"] .multicolumn-list__item {
  height: auto !important;
}
/* Hide "Learn More" arrow links â€” trust bar should be icon+title+line only */
[id*="trust_bar"] .link.animate-arrow {
  display: none !important;
}
[id*="trust_bar"] h3,
[id*="trust_bar"] .h4,
[id*="trust_bar"] .multicolumn-card__info h3 {
  font-family: var(--dv-font-heading) !important;
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--dv-charcoal);
  margin: 0;
}
[id*="trust_bar"] .rte p {
  font-size: 12px !important;
  color: var(--dv-text-light);
  letter-spacing: 0.02em;
  margin-top: 2px;
  line-height: 1.3;
}
[id*="trust_bar"] svg circle,
[id*="trust_bar"] svg path {
  stroke: var(--dv-gold) !important;
}
[id*="trust_bar"] svg [fill]:not([fill="none"]) {
  fill: var(--dv-gold) !important;
}

/* Trust bar icons â€” CSS-injected SVG */
[id*="trust_bar"] .multicolumn-card {
  text-align: center;
}
[id*="trust_bar"] .multicolumn-card__info::before {
  content: '';
  display: block;
  width: 26px;
  height: 26px;
  margin: 0 auto 6px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* 1. Complimentary Shipping â€” truck */
[id*="trust_bar"] .multicolumn-list__item:nth-child(1) .multicolumn-card__info::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='1' y='3' width='15' height='13'/%3E%3Cpath d='M16 8h4l3 3v5h-7V8z'/%3E%3Ccircle cx='5.5' cy='18.5' r='2.5'/%3E%3Ccircle cx='18.5' cy='18.5' r='2.5'/%3E%3C/svg%3E");
}
/* 2. Conflict-Free â€” diamond */
[id*="trust_bar"] .multicolumn-list__item:nth-child(2) .multicolumn-card__info::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12l4 6-10 12L2 9z'/%3E%3Cpath d='M2 9h20'/%3E%3Cpath d='M12 21L8 9l4-6 4 6z'/%3E%3C/svg%3E");
}
/* 3. Lifetime Warranty â€” shield with checkmark */
[id*="trust_bar"] .multicolumn-list__item:nth-child(3) .multicolumn-card__info::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}
/* 4. Certified Authentic â€” certificate badge */
[id*="trust_bar"] .multicolumn-list__item:nth-child(4) .multicolumn-card__info::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8956A' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpath d='M8.21 13.89L7 23l5-3 5 3-1.21-9.12'/%3E%3Cpath d='M9 8l2 2 4-4'/%3E%3C/svg%3E");
}

/* Product grid â€” proper gaps */
.collection .grid,
.grid--4-col-desktop {
  gap: 16px !important;
}
/* Slider must not overflow viewport */
.slider-component,
.slider {
  max-width: 100% !important;
}

/* Card wrapper â€” luxury card with shadow + hover */
.card-wrapper .card {
  border: 1px solid var(--dv-border);
  box-shadow: var(--dv-shadow-sm);
  transition: box-shadow 0.4s ease, transform 0.4s ease, border-color 0.4s ease;
  background: var(--dv-white);
}
.card-wrapper:hover .card {
  box-shadow: var(--dv-shadow-hover);
  transform: translateY(-4px);
  border-color: var(--dv-border-gold);
}

/* Card image â€” square, COVER to fill card (no whitespace) */
.card__media,
.card__media .media {
  aspect-ratio: 1 / 1;
  background: #fff;
  overflow: hidden;
}
.card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.6s cubic-bezier(0.25, 0, 0.15, 1);
  image-rendering: auto;
}
/* Disable Dawn hover image swap */
.card__media .media--hover-effect > img + img,
.card__media .media img:nth-child(2) {
  display: none !important;
}
.card-wrapper:hover .card__media img {
  transform: scale(1.06);
}

/* Card content â€” READABLE TITLES with more spacing */
.card__content {
  padding: 18px 16px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex: 1;
}

/* CRITICAL: Card titles must be visible and readable */
.card__heading {
  margin-bottom: 4px;
  min-height: 38px;
  overflow: visible !important;
}
.card__heading a,
.card-information__text a,
.full-unstyled-link {
  font-family: var(--dv-font-heading) !important;
  font-size: 15px !important;
  font-weight: 400;
  letter-spacing: 0.02em;
  color: var(--dv-text) !important;
  line-height: 1.4;
  transition: color var(--dv-transition);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Card info â€” centered */
.card-information {
  text-align: center;
  margin-top: auto;
  padding-top: 4px;
}

/* Prices â€” clear and readable */
.card .price-item,
.card .price .money,
.card .price__regular .price-item--regular,
.card .price-item--sale,
.card .price-item--regular,
.card-wrapper .price .money {
  font-size: 15px !important;
  font-weight: 500;
  color: var(--dv-charcoal);
  letter-spacing: 0.02em;
  font-family: var(--dv-font-heading) !important;
}

/* Sale price â€” gold */
.card .price--on-sale .price-item--sale,
.card .price--on-sale .price-item--sale .money {
  color: var(--dv-gold);
}
.card .price--on-sale .price-item--regular,
.card .price--on-sale .price-item--regular .money {
  color: var(--dv-text-muted);
  text-decoration: line-through;
  font-size: 13px !important;
  font-weight: 400;
}

/* Sale badge â€” both direct element and nested */
.card__badge,
.card__badge .badge {
  background: var(--dv-gold) !important;
  color: var(--dv-white) !important;
  font-size: 12px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
  border-radius: 0;
  padding: 5px 12px;
}

/* Card structure â€” flex layout */
.card-wrapper {
  display: flex;
  flex-direction: column;
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.25, 0, 0.15, 1);
}
.card-wrapper .card {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.card,
.card__inner {
  border: 1px solid var(--dv-border);
  box-shadow: none;
  background: var(--dv-white);
  transition: border-color var(--dv-transition), box-shadow var(--dv-transition);
}

/* Quick-add / Choose Options button on cards â€” luxury outlined */
.quick-add__submit,
.card .quick-add__submit,
.card-wrapper .quick-add__submit {
  font-family: var(--dv-font-heading) !important;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  font-size: 12px;
  font-weight: 500;
  border-radius: 0 !important;
  border: 1.5px solid var(--dv-charcoal) !important;
  color: var(--dv-charcoal) !important;
  background: transparent !important;
  transition: all 0.3s ease;
  min-height: 44px;
}
.quick-add__submit:hover,
.card-wrapper:hover .quick-add__submit {
  background: var(--dv-charcoal) !important;
  color: var(--dv-white) !important;
}

/* Card hover â€” subtle lift */
.card-wrapper:hover {
  transform: translateY(-3px);
}
.card-wrapper:hover .card,
.card-wrapper:hover .card__inner {
  border-color: var(--dv-border-gold);
  box-shadow: var(--dv-shadow-md);
}
.card-wrapper:hover .card__heading a {
  color: var(--dv-gold) !important;
}

/* Luxury breathing room between sections â€” 60px */
.shopify-section + .shopify-section {
  margin-top: 60px !important;
}
/* No gap between announcement bar and header */
.shopify-section-group-header-group .shopify-section,
.shopify-section-header,
[id*="header"].shopify-section {
  margin-top: 0 !important;
}
/* No gap before footer */
.shopify-section-group-footer-group .shopify-section {
  margin-top: 0 !important;
}

[id*="bestsellers"] .page-width,
[id*="bestsellers"] [class*="-padding"] {
  padding-top: 24px;
  padding-bottom: 24px;
}
[id*="brand_story"] [class*="-padding"] {
  padding-top: 40px;
  padding-bottom: 40px;
}
[id*="shop_categories"] [class*="-padding"] {
  padding-top: 40px;
  padding-bottom: 40px;
}

.collection-list .collection-list__item {
  cursor: pointer;
}
.collection-list .collection-list__item .card--standard {
  border: 1px solid var(--dv-border);
  box-shadow: var(--dv-shadow-sm);
  transition: all 0.4s ease;
}
.collection-list .collection-list__item:hover .card--standard {
  border-color: var(--dv-border-gold);
  box-shadow: var(--dv-shadow-hover);
  transform: translateY(-4px);
}
.collection-list .card__content h3 {
  font-family: var(--dv-font-heading) !important;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
}
/* Collection list + Newsletter section heading â€” match global H2 style */
.collection-list-wrapper h2,
[id*="shop_categories"] h2,
[id*="newsletter"] h2 {
  font-family: var(--dv-font-heading) !important;
  font-size: clamp(26px, 2.8vw, 38px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  line-height: 1.2;
}

.color-scheme-3,
.color-scheme-5,
[id*="new_arrivals"] {
  background: var(--dv-charcoal);
}
/* CRITICAL: Headings in dark sections MUST be white (were invisible: dark on dark) */
.color-scheme-3 h2,
.color-scheme-5 h2,
[id*="new_arri"] h2,
[id*="new_arri"] .title,
.color-scheme-3 .title,
.color-scheme-5 .title,
.color-scheme-3 .section-header h2,
.color-scheme-5 .section-header h2 {
  color: var(--dv-white) !important;
}
/* Cards in dark sections: white card bg, dark text, remove inherited dark bg from color scheme */
.color-scheme-3 .card,
.color-scheme-5 .card,
[id*="new_arri"] .card {
  background: var(--dv-white) !important;
}
.color-scheme-3 .card__content,
.color-scheme-5 .card__content,
[id*="new_arri"] .card__content {
  background: var(--dv-white) !important;
}
.color-scheme-3 .card__heading,
.color-scheme-5 .card__heading,
[id*="new_arri"] .card__heading {
  background: transparent !important;
}
.color-scheme-3 .card__heading a,
.color-scheme-5 .card__heading a,
[id*="new_arri"] .card__heading a {
  color: var(--dv-text) !important;
  background: transparent !important;
}
.color-scheme-3 .full-unstyled-link,
.color-scheme-5 .full-unstyled-link,
[id*="new_arri"] .full-unstyled-link {
  background: transparent !important;
}
/* Prices in dark section cards: keep standard dark color */
.color-scheme-3 .card .price-item,
.color-scheme-5 .card .price-item,
[id*="new_arri"] .card .price-item,
.color-scheme-3 .card .price .money,
.color-scheme-5 .card .price .money,
[id*="new_arri"] .card .price .money {
  color: var(--dv-charcoal) !important;
}
/* Sale price on dark section cards stays gold */
.color-scheme-3 .card .price--on-sale .price-item--sale,
.color-scheme-5 .card .price--on-sale .price-item--sale,
[id*="new_arri"] .card .price--on-sale .price-item--sale {
  color: var(--dv-gold) !important;
}
/* Quick-add button in dark section cards */
.color-scheme-3 .quick-add__submit,
.color-scheme-5 .quick-add__submit,
[id*="new_arri"] .quick-add__submit {
  background: transparent !important;
  color: var(--dv-charcoal) !important;
  border-color: var(--dv-charcoal) !important;
}
.color-scheme-3 .price-item,
.color-scheme-5 .price-item,
.color-scheme-3 .price .money,
.color-scheme-5 .price .money {
  color: #6b7c8d !important;
}
/* Dark section links must be light */
.color-scheme-3 a,
.color-scheme-5 a {
  color: rgba(245, 243, 239, 0.75) !important;
}
.color-scheme-3 a:hover,
.color-scheme-5 a:hover {
  color: var(--dv-white) !important;
}
.color-scheme-3 p,
.color-scheme-5 p,
.color-scheme-3 span,
.color-scheme-5 span {
  color: rgba(245, 243, 239, 0.75);
}
/* Gold underline on dark section headings */
.color-scheme-3 h2::after,
.color-scheme-5 h2::after {
  background: var(--dv-gold) !important;
}

/* Newsletter section â€” input must be VISIBLE on dark bg */
[id*="newsletter"] .newsletter-form__field-wrapper input,
.newsletter input[type="email"],
.newsletter .field__input {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: var(--dv-white) !important;
  border-radius: 0;
}
[id*="newsletter"] .newsletter-form__field-wrapper input::placeholder,
.newsletter input[type="email"]::placeholder,
.newsletter .field__input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}
[id*="newsletter"] .newsletter-form__field-wrapper input:focus,
.newsletter input[type="email"]:focus,
.newsletter .field__input:focus {
  border-color: rgba(255, 255, 255, 0.7) !important;
  background: rgba(255, 255, 255, 0.2) !important;
}
[id*="newsletter"] .newsletter-form__button {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  border: 1px solid var(--dv-gold) !important;
}

/* Testimonials */
/* Testimonials â€” premium quote cards */
[id*="testimonials"] .multicolumn-card,
[id*="testimonial"] .multicolumn-card {
  border: 1px solid var(--dv-border);
  border-left: 3px solid var(--dv-gold);
  padding: 36px 32px;
  background: var(--dv-white);
  transition: all 0.4s ease;
  box-shadow: var(--dv-shadow-sm);
}
[id*="testimonial"] .multicolumn-card:hover {
  border-color: var(--dv-border-gold);
  border-left-color: var(--dv-gold);
  box-shadow: var(--dv-shadow-md);
  transform: translateY(-2px);
}
[id*="testimonial"] .multicolumn-card p {
  font-size: 15px;
  line-height: 1.9;
  color: var(--dv-text-light);
  font-style: italic;
}
[id*="testimonial"] .multicolumn-card h3 {
  font-size: 13px;
  font-weight: 600;
  color: var(--dv-gold);
  margin-top: 20px;
  font-style: normal;
  letter-spacing: 0.04em;
}

[id*="brand_story"] h2,
.image-with-text h2 {
  font-family: var(--dv-font-heading) !important;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 300;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
}
[id*="brand_story"] .image-with-text__text p {
  font-size: 16px;
  line-height: 1.9;
  color: var(--dv-text-light);
}
/* Prevent upscaling low-res images in brand story / image-with-text */
[id*="brand_story"] img,
.image-with-text img {
  object-fit: contain !important;
  image-rendering: auto;
}
[id*="brand_story"] .image-with-text__media,
.image-with-text .image-with-text__media {
  background: var(--dv-warm-bg-alt);
}

/* Product title */
.product__title,
.product__title h1 {
  font-family: var(--dv-font-heading) !important;
  font-size: clamp(24px, 2.5vw, 36px);
  font-weight: 300;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--dv-charcoal);
  line-height: 1.2;
}

/* PDP price â€” prominent, luxury */
.product__info-wrapper .price-item,
.product__info-wrapper .price .money,
.product__info-wrapper .price-item--regular,
.product__info-container .price-item,
.product__info-container .price .money,
.product__info-container .price-item--regular {
  font-family: var(--dv-font-heading) !important;
  font-size: 22px !important;
  font-weight: 400;
  color: var(--dv-charcoal) !important;
  opacity: 1 !important;
  letter-spacing: 0.03em;
}
.product__info-wrapper .price--on-sale .price-item--sale,
.product__info-container .price-item--sale,
.product__info-container .price--on-sale .price-item--sale {
  color: var(--dv-gold) !important;
  font-weight: 500 !important;
  font-size: 26px !important;
}

/* Product description â€” cap at 300px with fade, expand on click (needs JS toggle) */
.product__description,
.product__description .rte {
  max-height: 300px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.5s ease;
  font-size: 15px;
  line-height: 1.8;
  color: var(--dv-text-light);
}
.product__description::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(transparent, var(--dv-white));
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.product__description.expanded,
.product__description.expanded .rte {
  max-height: none !important;
  overflow: visible !important;
}
.product__description.expanded::after {
  opacity: 0;
}
/* Read More button for long descriptions */
.dv-read-more {
  display: block;
  background: transparent !important;
  color: var(--dv-gold) !important;
  border: none !important;
  border-bottom: 1px solid var(--dv-gold) !important;
  font-family: var(--dv-font-heading) !important;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 0 2px !important;
  margin: 12px 0 0;
  cursor: pointer;
  transition: all var(--dv-transition);
  min-height: auto !important;
}
.dv-read-more:hover {
  color: var(--dv-gold-hover) !important;
  border-bottom-color: var(--dv-gold-hover) !important;
}

/* Accordion content should NOT be capped */
.product__accordion .accordion__content {
  max-height: none !important;
  overflow: visible !important;
  font-size: 15px;
  line-height: 1.8;
  color: var(--dv-text-light);
}

/* PDP Accordions â€” luxury styling */
.product__accordion details {
  border-bottom: 1px solid var(--dv-border);
}
.product__accordion details + details {
  margin-top: 0;
}
.product__accordion summary {
  font-family: var(--dv-font-heading) !important;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--dv-charcoal);
  border-bottom: none;
  padding: 16px 0;
  transition: color var(--dv-transition);
}
.product__accordion summary:hover {
  color: var(--dv-gold);
}
/* Certificate accordion â€” gold accent to stand out */
.product__accordion details[id*="certificate"] {
  border-left: 2px solid var(--dv-gold);
  padding-left: 16px;
  border-bottom-color: var(--dv-border-gold);
}
.product__accordion details[id*="certificate"] summary {
  color: var(--dv-gold);
  font-weight: 500;
}
.product__accordion details[id*="certificate"] summary::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 18px;
  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='%23B8956A' stroke-width='1.5'%3E%3Ccircle cx='12' cy='8' r='7'/%3E%3Cpath d='M8.21 13.89L7 23l5-3 5 3-1.21-9.12'/%3E%3Cpath d='M9 8l2 2 4-4'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* Hide duplicate trust badge sets on PDP (keep only .dv-trust-badges) */
.product__info-container > .trust-badges {
  display: none !important;
}
/* Trust badges â€” 44px touch target on all devices */
a.dv-trust-badge {
  min-height: 44px !important;
  padding: 8px 4px !important;
}
.dv-trust-badge__text {
  font-size: 12px !important;
}

/* Sold-out variant text: ensure fully hidden */
.product-form__input--pill label .visually-hidden {
  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;
}

/* Sale badge â€” gold branding */
.badge.price__badge-sale,
.price__badge-sale {
  background: var(--dv-gold) !important;
  color: var(--dv-white) !important;
  font-family: var(--dv-font-heading) !important;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 12px;
}

/* Description section spacing (after inline style cleanup) */
.product__description.rte > div {
  margin-bottom: 1.5em;
}
.product__description.rte > div:last-child {
  margin-bottom: 0;
}
.product__description.rte h3 {
  font-size: 1.1em;
  font-weight: 500;
  margin: 1.5em 0 0.5em;
  color: var(--dv-text);
}
.product__description.rte ul,
.product__description.rte ol {
  padding-left: 1.5em;
  margin: 0.5em 0;
}
.product__description.rte li {
  margin-bottom: 0.3em;
}

/* Description tables â€” luxury styling */
.product__description table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
.product__description td,
.product__description th {
  padding: 10px 14px;
  border: 1px solid var(--dv-border);
  font-size: 14px;
  color: var(--dv-text-light);
  font-family: var(--dv-font-body);
}
.product__description th,
.product__description td:first-child {
  font-weight: 500;
  color: var(--dv-text);
  background: var(--dv-warm-bg-alt);
}

/* Low stock indicator */
.dv-low-stock {
  font-size: 12px;
  color: var(--dv-gold);
  font-family: var(--dv-font-body);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding-left: 12px;
  border-left: 2px solid var(--dv-gold);
  margin: 8px 0;
}

/* Add to Cart button â€” MUST be solid, even if Dawn sets button--secondary */
.product-form__submit,
.product-form__submit.button--secondary,
.product-form__submit.button--primary,
button.product-form__submit {
  background: var(--dv-charcoal) !important;
  color: var(--dv-white) !important;
  border: 1px solid var(--dv-charcoal) !important;
  font-family: var(--dv-font-heading) !important;
  font-size: 15px;
  letter-spacing: 0.14em;
  font-weight: 500;
  text-transform: uppercase;
  min-height: 56px;
  border-radius: 0 !important;
  transition: all 0.3s ease;
  width: 100%;
  box-shadow: 0 2px 8px rgba(26, 35, 50, 0.15);
}
.product-form__submit:hover,
.product-form__submit.button--secondary:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-white) !important;
  box-shadow: 0 4px 16px rgba(184, 149, 106, 0.3);
  transform: translateY(-1px);
}

/* Buy it Now â€” Gold accent, visual hierarchy below ATC */
.shopify-payment-button .shopify-payment-button__button,
.shopify-payment-button .shopify-payment-button__button--unbranded {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  border: 1px solid var(--dv-gold) !important;
  font-family: var(--dv-font-heading) !important;
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: 500;
  text-transform: uppercase;
  min-height: 49px;
  border-radius: 0 !important;
  transition: all var(--dv-transition);
  width: 100%;
}
.shopify-payment-button .shopify-payment-button__button:hover,
.shopify-payment-button .shopify-payment-button__button--unbranded:hover {
  background: var(--dv-gold-hover) !important;
  border-color: var(--dv-gold-hover) !important;
  color: var(--dv-white) !important;
}

/* PDP product images â€” smooth rendering for photographic content */
.product__media-item img,
.product__media img,
.product-media-container img {
  image-rendering: auto;
}

/* PDP gallery â€” luxury image presentation */
.product__media-wrapper {
  background: #f5f2ed;
}
.product__media-list {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
.product__media-item {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
.product__media-item:first-child {
  grid-column: 1 / -1;
}
.product__media-item .product__media,
.product__media-item .media,
.product__media-item > * {
  width: 100% !important;
  max-width: 100% !important;
}
.product__media-item img {
  object-fit: contain;
  background: var(--dv-warm-bg-alt);
  width: 100% !important;
  height: auto !important;
}

/* Variant picker */
.product-form__input label,
.product-form__input legend,
.product-form__input .form__label {
  font-family: var(--dv-font-heading) !important;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--dv-text);
}
/* Variant pills â€” consistent 44px height on all viewports */
.product-form__input--pill label,
variant-radios label {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color var(--dv-transition), color var(--dv-transition), background var(--dv-transition);
}
/* Sold-out variant â€” visual differentiation */
.product-form__input--pill label.disabled,
.product-form__input--pill input:disabled + label,
variant-radios input:disabled + label {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: line-through;
  border-color: var(--dv-border) !important;
  background: transparent !important;
  color: var(--dv-text-muted) !important;
}
/* Selected variant â€” gold accent */
.product-form__input--pill input:checked + label,
variant-radios input:checked + label {
  border-color: var(--dv-charcoal) !important;
  background: var(--dv-charcoal) !important;
  color: var(--dv-white) !important;
}

/* Quantity selector â€” subtle border */
quantity-input {
  border: 1px solid var(--dv-border);
}
quantity-input button {
  color: var(--dv-text);
  transition: color var(--dv-transition);
}
quantity-input button:hover {
  color: var(--dv-gold);
}
quantity-input input {
  font-family: var(--dv-font-body) !important;
  font-size: 14px !important;
  color: var(--dv-text);
}

/* Breadcrumbs â€” global (Dawn default is 0.89rem = ~9px, too small) */
.breadcrumbs,
.breadcrumbs a,
.breadcrumbs span,
.breadcrumbs li,
.breadcrumbs ol,
.diavoria-breadcrumbs,
.diavoria-breadcrumbs a,
.diavoria-breadcrumbs span,
.diavoria-breadcrumbs li,
.diavoria-breadcrumbs ol,
nav[aria-label*="Breadcrumb"],
nav[aria-label*="Breadcrumb"] a,
nav[aria-label*="Breadcrumb"] span {
  font-size: 12px !important;
  color: var(--dv-text-light);
  font-family: var(--dv-font-body) !important;
  letter-spacing: 0.02em;
}
.breadcrumbs a:hover,
.diavoria-breadcrumbs a:hover,
nav[aria-label*="Breadcrumb"] a:hover {
  color: var(--dv-gold);
}

/* Collection banner â€” dramatic luxury heading */
.collection-hero__title,
.collection-banner__heading {
  font-family: var(--dv-font-heading) !important;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 300;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

/* Collection description â€” cap height to prevent pushing products below fold */
.collection-hero__description,
.collection__description,
.rte.collection__description {
  max-height: 120px;
  overflow: hidden;
  position: relative;
  font-size: 15px;
  line-height: 1.7;
  color: var(--dv-text-light);
}
.collection-hero__description::after,
.collection__description::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40px;
  background: linear-gradient(transparent, var(--dv-warm-bg));
  pointer-events: none;
}

/* Facet filters */
.facets__label,
.facets__summary span {
  font-family: var(--dv-font-body);
  font-size: 13px;
  letter-spacing: 0.02em;
}
.facets .facets__disclosure label,
.facets .facets__disclosure span {
  font-family: var(--dv-font-body);
  font-size: 14px;
}

/* Sort dropdown â€” larger click target, subtle border */
select.facet-filters__sort,
.facet-filters__sort select,
#SortBy {
  font-family: var(--dv-font-body) !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  border: 1px solid var(--dv-border) !important;
  padding: 8px 32px 8px 12px !important;
  min-height: 38px;
  background-color: transparent;
  cursor: pointer;
  transition: border-color var(--dv-transition);
}
select.facet-filters__sort:hover,
select.facet-filters__sort:focus,
#SortBy:hover,
#SortBy:focus {
  border-color: var(--dv-gold) !important;
}
/* Facets bar â€” subtle bottom border for visual separation */
.facets-container {
  border-bottom: 1px solid var(--dv-border);
  padding-bottom: 12px;
  margin-bottom: 8px;
}

/* Active filter pills */
.active-facets__button {
  border-radius: 0;
  font-family: var(--dv-font-body);
}

/* Product count */
.collection .products-count {
  font-size: 13px;
  color: var(--dv-text-muted);
}

/* Pagination â€” minimal luxury styling */
.pagination__list {
  display: flex;
  justify-content: center;
  gap: 4px;
  padding: 24px 0;
}
.pagination__list li a,
.pagination__list li span {
  font-family: var(--dv-font-body) !important;
  font-size: 14px;
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color var(--dv-transition);
}
.pagination__list li a:hover {
  color: var(--dv-gold);
}
/* Current page indicator */
.pagination__list li [aria-current="page"],
.pagination__list li.current {
  color: var(--dv-gold);
  border-bottom: 2px solid var(--dv-gold);
  font-weight: 500;
}

.footer {
  border-top: 2px solid var(--dv-gold);
  padding-top: 60px;
}
.footer h2,
.footer .footer-block__heading {
  font-family: var(--dv-font-heading) !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--dv-gold) !important;
  margin-bottom: 16px;
}
/* Hide "Powered by Shopify" â€” luxury shops don't show platform branding */
.footer .copyright__content a[href*="shopify"],
.footer [class*="powered"] {
  display: none !important;
}
/* Footer links â€” light color for dark bg, fallback for light bg */
.footer a,
.footer .footer-block__details-content a,
.footer-block a,
.footer-block__details-content li {
  font-size: 14px;
  color: rgba(245, 243, 239, 0.75) !important;
  transition: color var(--dv-transition);
}
.footer a:hover,
.footer .footer-block__details-content a:hover {
  color: var(--dv-gold) !important;
}
.footer .copyright__content {
  font-size: 12px;
  color: rgba(245, 243, 239, 0.5);
}
.footer p,
.footer span {
  color: rgba(245, 243, 239, 0.65);
}
/* Footer â€” ultra-compact layout */
.footer .grid {
  row-gap: 12px !important;
}
.footer .footer-block {
  margin-bottom: 0 !important;
}
.footer .footer-block__details-content {
  margin-top: 6px;
}
.footer .footer-block__details-content li {
  margin-bottom: 0;
  padding: 1px 0;
  line-height: 1.4;
}
.footer .footer__content-bottom {
  padding-top: 12px;
  margin-top: 12px;
  border-top: 1px solid rgba(184, 149, 106, 0.15);
}
/* Footer section padding â€” tighter */
.footer .section-template--footer-padding,
.shopify-section-group-footer-group .footer [class*="-padding"] {
  padding-top: 28px !important;
  padding-bottom: 16px !important;
}
/* Brand text block â€” more compact */
.footer .footer-block--text {
  max-width: 280px;
}
.footer .footer-block--text p {
  font-size: 13px;
  line-height: 1.6;
}
/* Footer newsletter compact */
.footer .newsletter-form {
  margin-top: 6px;
}
/* Footer links â€” slightly smaller for density */
.footer a,
.footer .footer-block__details-content a,
.footer-block a {
  font-size: 13px;
}
/* Payment icons */
.footer .list-payment {
  gap: 8px;
}
.footer .list-payment .payment-icon,
.footer .list-payment svg {
  height: 22px;
  width: auto;
}

.cart-drawer,
.drawer__inner {
  border-radius: 0;
  background: var(--dv-white);
  max-width: 100vw !important;
  overflow-x: hidden !important;
}
.cart-drawer .drawer__header {
  font-family: var(--dv-font-heading) !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  border-bottom: 1px solid var(--dv-border);
  padding: 20px 24px;
}
.cart-drawer .drawer__header h2 {
  font-size: 18px;
  font-weight: 400;
}
/* Demote cart drawer heading from H1 to visual-only on cart page (avoids 2x H1) */
.cart-drawer h1 {
  font-size: 18px;
  font-weight: 400;
  font-family: var(--dv-font-heading) !important;
}
.cart-drawer .button {
  border-radius: 0 !important;
}
/* Cart drawer â€” checkout button (gold bg, charcoal text â€” AA contrast 5.83:1) */
.cart-drawer .cart__checkout-button {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  border: 1px solid var(--dv-gold) !important;
  font-family: var(--dv-font-heading) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  min-height: 52px;
  font-weight: 500;
}
.cart-drawer .cart__checkout-button:hover {
  background: var(--dv-gold-hover) !important;
  border-color: var(--dv-gold-hover) !important;
  color: var(--dv-charcoal) !important;
}
/* Cart item styling */
.cart-item__name {
  font-family: var(--dv-font-heading) !important;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.cart-item__price .money {
  font-family: var(--dv-font-heading) !important;
}
/* Cart item styling â€” clean luxury look */
.cart-item {
  border-bottom: 1px solid var(--dv-border);
  padding: 16px 0;
}
.cart-item__name,
.cart-item__details a {
  font-family: var(--dv-font-body) !important;
  font-size: 13px;
  color: var(--dv-text);
  text-decoration: none;
  line-height: 1.4;
}
.cart-item__name:hover,
.cart-item__details a:hover {
  color: var(--dv-gold);
}
/* Cart page (full page, not drawer) â€” ensure readable text */
.cart__warnings,
.cart__ctas p,
.cart-page p,
main.main-cart p,
[class*="template-cart"] p {
  font-family: var(--dv-font-body) !important;
  font-size: 14px;
  line-height: 1.5;
  color: var(--dv-text);
}
/* Shipping bar â€” readable text */
.shipping-bar p,
.shipping-bar span {
  font-family: var(--dv-font-body) !important;
  font-size: 13px !important;
  line-height: 1.5;
}
/* Cart page headings */
.cart__empty-text,
[class*="template-cart"] h2 {
  font-family: var(--dv-font-heading) !important;
  font-size: 3.2rem;
  font-weight: 300;
}
/* Cart continue shopping link */
.cart__empty-text + a,
a[href="/collections/all"] {
  font-family: var(--dv-font-heading) !important;
  font-size: 16px;
  letter-spacing: 0.06em;
  color: var(--dv-gold);
}
/* Cart remove button â€” 44px touch target */
cart-remove-button {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
cart-remove-button a,
cart-remove-button button {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
/* Cart drawer subtotal */
.cart-drawer .totals {
  font-family: var(--dv-font-heading) !important;
  letter-spacing: 0.04em;
  border-top: 1px solid var(--dv-border);
  padding-top: 16px;
}

.article-card__title {
  font-family: var(--dv-font-heading) !important;
  font-weight: 400;
  letter-spacing: 0.02em;
}
/* Pages (About, Contact, etc.) â€” RTE font consistency */
.page-width .rte p,
.page-width .rte span,
.page-width .rte li {
  font-family: var(--dv-font-body) !important;
}
/* Policy pages â€” title styling */
.shopify-policy__title {
  font-family: var(--dv-font-heading) !important;
  font-size: 32px;
  font-weight: 300;
  letter-spacing: 0.04em;
  color: var(--dv-charcoal);
  margin-bottom: 24px;
}
/* All shipping/policy links â€” 44px touch target */
.product__tax a,
.cart-drawer__footer a,
.tax-note a {
  display: inline-block;
  min-height: 44px;
  line-height: 44px;
}
/* Policy pages â€” ensure readable body text */
.shopify-policy__body .rte p,
.shopify-policy__body .rte li,
.shopify-policy__body .rte span,
.policy__body .rte p,
.policy__body .rte li,
.policy__body .rte span {
  font-family: var(--dv-font-body) !important;
  font-size: 15px;
  line-height: 1.7;
  color: var(--dv-text);
}
.article-template .article-template__content {
  max-width: 65ch;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.8;
}

/* Global primary buttons â€” charcoal bg, white text */
.button--primary,
a.button--primary {
  background: var(--dv-charcoal) !important;
  color: var(--dv-white) !important;
  border: 1px solid var(--dv-charcoal) !important;
  font-family: var(--dv-font-heading) !important;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  min-height: 48px;
  padding: 14px 36px;
}
.button--primary:hover,
a.button--primary:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
}

/* Global secondary buttons â€” outline */
.button--secondary,
a.button--secondary {
  background: transparent !important;
  color: var(--dv-charcoal) !important;
  border: 1px solid var(--dv-charcoal) !important;
  font-family: var(--dv-font-heading) !important;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  min-height: 48px;
  padding: 14px 36px;
}
.button--secondary:hover,
a.button--secondary:hover {
  background: var(--dv-charcoal) !important;
  color: var(--dv-white) !important;
}

.field__input,
.form__label,
.customer .field input {
  font-family: var(--dv-font-body);
  border-radius: 0;
}

/* CRITICAL: Popup overlay must NOT block page when hidden */
.dv-popup-overlay {
  z-index: 9999;
  pointer-events: none !important;
}
.dv-popup-overlay.dv-popup--active {
  pointer-events: auto !important;
}
.dv-popup {
  border-radius: 0;
  font-family: var(--dv-font-body);
}
.dv-popup h2,
.dv-popup h3 {
  font-family: var(--dv-font-heading) !important;
}
/* Popup buttons â€” min 44px touch target */
.dv-popup__btn,
.dv-popup-overlay button[type="submit"],
.dv-popup-overlay input[type="submit"] {
  min-height: 44px;
}
/* Popup close button â€” accessible touch target */
.dv-popup__close,
.dv-popup-overlay [class*="close"],
.dv-popup-overlay button[aria-label*="Close"] {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* Popup "No thanks" + all links inside popup â€” 44px touch target */
.dv-popup__no-thanks,
.dv-popup-overlay a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
}

.rating-star,
.rating span,
.spr-icon,
.jdgm-star,
[class*="rating"] span {
  font-family: var(--dv-font-body) !important;
  color: var(--dv-gold);
}

/* Visually hidden (accessibility) â€” keep as is */
.visually-hidden {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

/* Global focus-visible for keyboard navigation (52% of elements had no focus state) */
*:focus-visible {
  outline: 2px solid var(--dv-charcoal) !important;
  outline-offset: 2px;
}
/* Gold outline on dark backgrounds */
.color-scheme-3 *:focus-visible,
.color-scheme-5 *:focus-visible,
.footer *:focus-visible {
  outline-color: var(--dv-gold) !important;
}
/* No outline on mouse click, only keyboard */
*:focus:not(:focus-visible) {
  outline: none;
}

/* Brand story + image-with-text CTA â€” gold bg, charcoal text (matches hero button hierarchy) */
[id*="brand_story"] .button,
.image-with-text .button {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  border-color: var(--dv-gold) !important;
}
[id*="brand_story"] .button:hover,
.image-with-text .button:hover {
  background: var(--dv-gold-hover) !important;
  border-color: var(--dv-gold-hover) !important;
  color: var(--dv-charcoal) !important;
}

/* Compare-at price contrast fix â€” muted to differentiate from sale price */
.price--on-sale s.price-item--regular,
.price s.price-item--regular,
.price-item--regular s,
s.price-item.price-item--regular,
.product__info-wrapper s.price-item--regular,
.card-wrapper s.price-item--regular {
  color: rgba(26, 35, 50, 0.5) !important;
  font-weight: 300;
}
/* Product recommendations â€” heading consistency */
.product-recommendations h2,
product-recommendations h2 {
  font-family: var(--dv-font-heading) !important;
  font-size: 38px;
  font-weight: 300;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--dv-charcoal);
}
/* Hide empty recommendations section */
.product-recommendations:empty,
.product-recommendations:not(:has(.card-wrapper)) {
  display: none;
}

/* Slider button & announcement link â€” 44px touch targets */
.slider-button {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.announcement-bar__link {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Mobile: up to 749px */
@media (max-width: 749px) {
  /* Announcement bar â€” bigger text for mobile */
  .announcement-bar__message {
    font-size: 11px !important;
  }

  /* Hero */
  .banner {
    min-height: 70vh !important;
  }
  .banner__content::after {
    width: 16px;
    height: 16px;
    margin-top: 20px;
  }
  .banner .button--primary,
  .banner .button--secondary {
    padding: 14px 32px;
    font-size: 14px;
    min-height: 48px;
  }

  /* PDP gallery â€” show first image full, rest as horizontal scroll */
  .product__media-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 4px !important;
  }
  .product__media-item {
    min-width: 85vw !important;
    flex-shrink: 0 !important;
    scroll-snap-align: center;
  }
  .product__media-item:first-child {
    min-width: 100% !important;
  }

  /* Trust bar â€” compact items on mobile (keep Dawn's horizontal slider) */
  [id*="trust_bar"] [class*="-padding"] {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  [id*="trust_bar"] .multicolumn-card__info {
    padding: 4px 6px !important;
  }
  [id*="trust_bar"] .multicolumn-card__info::before {
    width: 20px !important;
    height: 20px !important;
    margin-bottom: 4px !important;
  }
  [id*="trust_bar"] h3,
  [id*="trust_bar"] .h4 {
    font-size: 11px !important;
  }
  [id*="trust_bar"] .rte p {
    font-size: 10px !important;
    margin-top: 1px !important;
  }
  [id*="trust_bar"] .link.animate-arrow {
    display: none !important;
  }

  /* Product cards â€” readable on mobile (min 15px) */
  .card__heading a,
  .card-information__text a {
    font-size: 15px !important;
    line-height: 1.35;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .card .price-item,
  .card .price .money {
    font-size: 14px;
  }
  .card__content {
    padding: 10px 8px 10px;
  }

  /* Touch targets â€” ensure all interactive elements >= 44px */
  .wishlist-btn {
    min-width: 44px !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
  }
  .link.animate-arrow {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 0;
  }
  .quick-add__submit {
    min-height: 44px !important;
  }
  /* Quick-add modal toggle â€” ensure 44px touch target */
  .quick-add-modal__toggle {
    min-height: 44px !important;
  }
  /* Menu drawer account link + underlined links */
  .menu-drawer__account.link,
  .link.underlined-link,
  .menu-drawer a.link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 0;
  }
  /* Social links everywhere (not just footer) */
  .list-social__link {
    min-width: 44px;
    min-height: 44px;
  }

  /* Hero overflow on mobile */
  .shopify-section[id*="hero"],
  [id*="hero"] .banner,
  [id*="hero"] .banner__media {
    overflow: hidden !important;
    max-width: 100vw;
  }

  /* PDP */
  .product__title,
  .product__title h1 {
    font-size: 24px;
  }
  /* PDP price â€” prominent on mobile */
  .product__info-wrapper .price-item,
  .product__info-wrapper .price .money,
  .product__info-wrapper .price-item--regular {
    font-size: 22px !important;
    color: var(--dv-charcoal) !important;
    font-weight: 500;
  }
  .product__info-wrapper .price--on-sale .price-item--sale {
    font-size: 24px !important;
  }

  /* Breadcrumb â€” smaller on mobile but still tappable */
  .breadcrumbs,
  .breadcrumbs a,
  .breadcrumbs span,
  .breadcrumbs ol,
  .breadcrumbs li,
  .diavoria-breadcrumbs,
  .diavoria-breadcrumbs a,
  .diavoria-breadcrumbs span,
  nav[aria-label*="Breadcrumb"],
  nav[aria-label*="Breadcrumb"] a,
  nav[aria-label*="Breadcrumb"] span {
    font-size: 11px !important;
  }
  .breadcrumbs a,
  .diavoria-breadcrumbs a,
  nav[aria-label*="Breadcrumb"] a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 4px;
  }

  /* Sticky ATC on mobile â€” sticks to bottom while in product info */
  .product-form {
    position: sticky;
    bottom: 0;
    z-index: 10;
    background: var(--dv-white);
    padding: 10px 0;
    border-top: 1px solid var(--dv-border);
    box-shadow: 0 -4px 12px rgba(26, 35, 50, 0.08);
  }

  /* JS-injected buttons â€” ensure touch targets */
  .dv-read-more {
    min-height: 44px !important;
    padding: 12px 0 !important;
  }
  .dv-scroll-nudge {
    min-height: 44px !important;
  }
  .sticky-atc-bar__button,
  .dv-sticky-atc__btn {
    min-height: 44px !important;
    padding: 10px 20px !important;
  }
  .product__accordion .accordion__title a,
  .product__accordion summary {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  /* Variant radio buttons â€” 44px touch target on mobile */
  .product-form__input--pill label,
  variant-radios label {
    min-height: 44px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Footer */
  .footer a {
    font-size: 14px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  /* Touch targets â€” minimum 44px */
  .facets__disclosure label,
  .facets__summary,
  .active-facets__button,
  .mobile-facets__open,
  .facets__open {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }

  /* Section spacing tighter on mobile */
  [id*="bestsellers"] .page-width,
  [id*="bestsellers"] [class*="-padding"] {
    padding-top: 24px;
    padding-bottom: 24px;
  }

  /* Mobile grid â€” compact gaps for more visible products */
  .collection .grid {
    gap: 12px !important;
  }

  /* Mobile cards â€” less padding for space efficiency */
  .card__content {
    padding: 12px 10px 10px !important;
  }

  /* Mobile section spacing â€” tighter */
  .shopify-section + .shopify-section {
    margin-top: 40px !important;
  }
}

/* Tablet: 750px-989px â€” touch targets for iPad */
@media (min-width: 750px) and (max-width: 989px) {
  .card__heading a {
    font-size: 15px !important;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .wishlist-btn {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  /* Collection category links */
  .collection-list .full-unstyled-link,
  .collection-list .card__heading a,
  .link.animate-arrow {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* Footer links */
  .footer a,
  .footer .footer-block__details-content a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  /* Footer bottom links */
  .footer .copyright a,
  .footer .policies a,
  .footer [class*="policy"] a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 8px 4px;
  }
  /* Social links */
  .footer .list-social__link {
    min-width: 44px;
    min-height: 44px;
  }
}

/* Desktop: 990px+ */
@media (min-width: 990px) {
  /* Nav items slightly larger */
  .header__menu-item span,
  .header__menu-item > a {
    font-size: 13px !important;
  }

  /* Product cards on desktop */
  .card__heading a {
    font-size: 15px !important;
  }

  /* PDP two-column layout spacing */
  .product__info-wrapper {
    padding-left: 40px;
  }

  /* Footer â€” 5-column grid so all blocks in ONE row */
  .footer__blocks-wrapper,
  .footer__blocks-wrapper.grid,
  .footer__blocks-wrapper.grid--1-col {
    display: grid !important;
    grid-template-columns: 1.5fr 1fr 1fr 1.3fr 1fr !important;
    gap: 24px !important;
    align-items: start;
  }
  .footer .footer-block {
    width: auto !important;
    max-width: none !important;
  }
  /* Footer links â€” no 44px min-height on desktop (that's for touch) */
  .footer a,
  .footer .footer-block__details-content a,
  .footer-block a {
    min-height: auto;
    display: inline;
    padding: 0;
  }
  .footer .footer-block__details-content li {
    padding: 2px 0;
  }
}

/* --------------------------------------------------------------------------
   PREMIUM EFFECTS
   Source: diavoria-wow.css
   -------------------------------------------------------------------------- */

/* === 0. VARIABLES & FOUNDATIONS === */
:root {
  --dv-gold: #B8956A;
  --dv-gold-light: rgba(184, 149, 106, 0.12);
  --dv-gold-dark: #a6824e;
  --dv-bg: #FAF8F5;
  --dv-shadow-sm: 0 2px 8px rgba(184,148,95,0.08);
  --dv-shadow-md: 0 6px 20px rgba(184,148,95,0.12);
  --dv-shadow-lg: 0 12px 40px rgba(184,148,95,0.18);
  --dv-shadow-hover: 0 14px 44px rgba(184,148,95,0.22);
  --dv-ease: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --dv-ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dv-transition: 0.4s var(--dv-ease);
}

/* === 1. SMOOTH SCROLL === */
html {
  scroll-behavior: smooth !important;
}

/* === 2. SCROLL-REVEAL ANIMATIONS === */
.dv-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.7s var(--dv-ease), transform 0.7s var(--dv-ease);
  will-change: opacity, transform;
}

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

/* Stagger children in grids */
.dv-stagger > .dv-reveal:nth-child(1) { transition-delay: 0s; }
.dv-stagger > .dv-reveal:nth-child(2) { transition-delay: 0.08s; }
.dv-stagger > .dv-reveal:nth-child(3) { transition-delay: 0.16s; }
.dv-stagger > .dv-reveal:nth-child(4) { transition-delay: 0.24s; }
.dv-stagger > .dv-reveal:nth-child(5) { transition-delay: 0.32s; }
.dv-stagger > .dv-reveal:nth-child(6) { transition-delay: 0.40s; }
.dv-stagger > .dv-reveal:nth-child(7) { transition-delay: 0.48s; }
.dv-stagger > .dv-reveal:nth-child(8) { transition-delay: 0.56s; }
.dv-stagger > .dv-reveal:nth-child(9) { transition-delay: 0.64s; }
.dv-stagger > .dv-reveal:nth-child(10) { transition-delay: 0.72s; }
.dv-stagger > .dv-reveal:nth-child(11) { transition-delay: 0.80s; }
.dv-stagger > .dv-reveal:nth-child(12) { transition-delay: 0.88s; }

/* Reveal from left */
.dv-reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.7s var(--dv-ease), transform 0.7s var(--dv-ease);
}
.dv-reveal-left.dv-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Reveal from right */
.dv-reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.7s var(--dv-ease), transform 0.7s var(--dv-ease);
}
.dv-reveal-right.dv-visible {
  opacity: 1;
  transform: translateX(0);
}

/* Reveal scale-up */
.dv-reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.6s var(--dv-ease), transform 0.6s var(--dv-ease);
}
.dv-reveal-scale.dv-visible {
  opacity: 1;
  transform: scale(1);
}

/* === 3. PRODUCT CARD HOVER EFFECTS === */
.card-wrapper,
.product-card-wrapper,
.card--standard,
.card--card {
  transition: transform var(--dv-transition), box-shadow var(--dv-transition) !important;
}

.card-wrapper:hover,
.product-card-wrapper:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--dv-shadow-hover) !important;
}

/* Image zoom on product card hover */
.card-wrapper .media img,
.product-card-wrapper .media img,
.card__media img {
  transition: transform 0.6s var(--dv-ease) !important;
  will-change: transform;
}

.card-wrapper:hover .media img,
.product-card-wrapper:hover .media img,
.card-wrapper:hover .card__media img,
.product-card-wrapper:hover .card__media img {
  transform: scale(1.08) !important;
}

/* Card media overflow hidden for zoom containment */
.card__media,
.card-wrapper .media,
.product-card-wrapper .media {
  overflow: hidden !important;
}

/* Subtle gold border glow on hover */
.card-wrapper:hover .card,
.product-card-wrapper:hover .card {
  border-color: rgba(184,148,95,0.25) !important;
}

/* === 4. ANNOUNCEMENT BAR SHIMMER === */
@keyframes dv-shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.announcement-bar,
.utility-bar,
.announcement-bar__message {
  position: relative;
}

.announcement-bar__message {
  background: linear-gradient(
    90deg,
    currentColor 0%,
    var(--dv-gold-light) 25%,
    #fff 50%,
    var(--dv-gold-light) 75%,
    currentColor 100%
  ) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  animation: dv-shimmer 4s linear infinite !important;
}

/* === 5. BUTTON HOVER LIFT === */
.button,
.shopify-payment-button__button,
.btn,
button[type="submit"],
.product-form__submit,
a.button {
  transition: transform 0.3s var(--dv-ease),
              box-shadow 0.3s var(--dv-ease),
              background-color 0.3s ease !important;
}

.button:hover,
.shopify-payment-button__button:hover,
.btn:hover,
button[type="submit"]:hover,
.product-form__submit:hover,
a.button:hover {
  transform: translateY(-2px) !important;
  box-shadow: var(--dv-shadow-md) !important;
}

.button:active,
.btn:active,
button[type="submit"]:active {
  transform: translateY(0) !important;
}

/* === 6. BACK-TO-TOP BUTTON === */
.dv-back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--dv-gold), var(--dv-gold-dark));
  color: #fff;
  border: none;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 0.4s var(--dv-ease),
              visibility 0.4s var(--dv-ease),
              transform 0.4s var(--dv-ease),
              box-shadow 0.3s ease;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--dv-shadow-md);
}

.dv-back-to-top.dv-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dv-back-to-top:hover {
  box-shadow: var(--dv-shadow-lg);
  transform: translateY(-3px);
}

.dv-back-to-top svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: #fff;
  stroke-width: 2.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}



/* === 8. SECTION DIVIDERS === */
.dv-divider {
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(184,148,95,0.15) 15%,
    var(--dv-gold) 50%,
    rgba(184,148,95,0.15) 85%,
    transparent 100%
  );
  margin: 0;
  border: none;
}

/* Auto dividers between main sections */
main .shopify-section + .shopify-section {
  border-top: 1px solid transparent;
  position: relative;
}

main .shopify-section + .shopify-section::before {
  content: '';
  display: block;
  width: 60%;
  max-width: 400px;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    var(--dv-gold),
    transparent
  );
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

/* === 9. COLLECTION CARD HOVER === */
.collection-card,
.collection-list__item,
.collection-card-wrapper {
  transition: transform var(--dv-transition), box-shadow var(--dv-transition) !important;
}

.collection-card:hover,
.collection-list__item:hover,
.collection-card-wrapper:hover {
  transform: translateY(-5px) !important;
  box-shadow: var(--dv-shadow-lg) !important;
}

.collection-card .media img,
.collection-list__item img {
  transition: transform 0.6s var(--dv-ease) !important;
}

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

/* === 10. TESTIMONIAL / REVIEW HOVER === */
.testimonial,
.testimonial-card,
.review-card,
blockquote {
  transition: transform 0.3s var(--dv-ease), box-shadow 0.3s var(--dv-ease) !important;
}

.testimonial:hover,
.testimonial-card:hover,
.review-card:hover,
blockquote:hover {
  transform: scale(1.02) !important;
  box-shadow: var(--dv-shadow-md) !important;
}

/* === 11. IMAGE LOAD ANIMATION === */
@keyframes dv-image-reveal {
  from {
    opacity: 0;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

img[loading="lazy"] {
  animation: dv-image-reveal 0.5s var(--dv-ease) both;
}

/* === 12. PRICE SALE STYLING === */
.price--on-sale .price-item--sale,
.price--on-sale .price__sale .price-item--sale {
  color: var(--dv-gold) !important;
  font-weight: 700 !important;
}

.price--on-sale .price-item--regular {
  text-decoration: line-through !important;
  opacity: 0.55;
}

/* Sale badge gold accent */
.badge--sale,
.price__badge-sale {
  background-color: var(--dv-gold) !important;
  color: #fff !important;
}

/* === 13. LINK HOVER UNDERLINE ANIMATION === */
.header__menu-item,
nav a {
  position: relative;
}

.header__menu-item::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 1.5px;
  background: var(--dv-gold);
  transition: width 0.3s var(--dv-ease), left 0.3s var(--dv-ease);
}

.header__menu-item:hover::after {
  width: 100%;
  left: 0;
}

/* === 14. FOCUS STYLES (Accessibility) === */
*:focus-visible {
  outline: 2px solid var(--dv-gold) !important;
  outline-offset: 2px !important;
}

/* === 15. PRODUCT GRID SPACING ENHANCEMENT === */
.grid--4-col-desktop .grid__item,
.grid--3-col-desktop .grid__item {
  padding: 12px !important;
}

/* === 16. SECTION HEADING ENHANCEMENT === */
.section-header__title,
.collection__title,
h2.title {
  position: relative;
  display: inline-block;
}

/* === 17. CARD ADD-TO-CART REVEAL === */
.card__content .quick-add,
.card-wrapper .quick-add {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s var(--dv-ease), transform 0.3s var(--dv-ease);
}

.card-wrapper:hover .card__content .quick-add,
.card-wrapper:hover .quick-add {
  opacity: 1;
  transform: translateY(0);
}

/* === 18. FOOTER ENHANCEMENT === */
.footer {
  position: relative;
}

.footer::before {
  content: '';
  display: block;
  width: 80%;
  max-width: 600px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--dv-gold), transparent);
  margin: 0 auto;
}

/* === 19. SELECTION COLOR === */
::selection {
  background: rgba(184,148,95,0.25) !important;
  color: inherit;
}

::-moz-selection {
  background: rgba(184,148,95,0.25) !important;
  color: inherit;
}

/* === 20. LOADING SPINNER GOLD === */
.loading-overlay__spinner .spinner,
.loading-overlay svg {
  color: var(--dv-gold) !important;
}

/* === 21. PRODUCT PAGE ENHANCEMENTS === */
.product__media-item {
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.3s var(--dv-ease);
}

.product__media-item:hover {
  box-shadow: var(--dv-shadow-md);
}

/* Thumbnail hover */
.thumbnail:hover {
  border-color: var(--dv-gold) !important;
}

.thumbnail.is-active {
  border-color: var(--dv-gold) !important;
  box-shadow: 0 0 0 1px var(--dv-gold);
}

/* === 22. CART DRAWER ENHANCEMENT === */
.cart-item {
  transition: background-color 0.3s ease;
}

.cart-item:hover {
  background-color: rgba(184,148,95,0.04);
}

/* === 23. MOBILE OPTIMIZATIONS === */
@media screen and (max-width: 749px) {
  .dv-back-to-top {
    bottom: 20px;
    right: 16px;
    width: 42px;
    height: 42px;
  }

  .banner__content,
  .hero__content,
  .slideshow__text {
    animation: none;
  }

  .dv-reveal {
    transform: translateY(20px);
  }

  .card-wrapper:hover,
  .product-card-wrapper:hover {
    transform: translateY(-3px) !important;
  }

  main .shopify-section + .shopify-section::before {
    width: 40%;
  }
}

/* === 24. REDUCED MOTION SUPPORT === */
@media (prefers-reduced-motion: reduce) {
  .dv-reveal,
  .dv-reveal-left,
  .dv-reveal-right,
  .dv-reveal-scale {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .banner__content,
  .hero__content,
  .slideshow__text {
    animation: none !important;
  }

  .announcement-bar__message {
    animation: none !important;
    -webkit-text-fill-color: unset !important;
    background-clip: unset !important;
    -webkit-background-clip: unset !important;
    background: none !important;
  }

  * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/* === 25. COLLECTION PAGE GRID ENHANCEMENT === */
.collection .grid {
  gap: 20px !important;
}

.collection .card {
  border-radius: 10px !important;
  overflow: hidden;
  border: 1px solid rgba(184,148,95,0.1) !important;
  transition: border-color 0.3s var(--dv-ease), box-shadow 0.3s var(--dv-ease);
}

.collection .card:hover {
  border-color: rgba(184,148,95,0.3) !important;
  box-shadow: var(--dv-shadow-lg) !important;
}

/* Collection page filter styling */
.facets__wrapper {
  border-bottom: 1px solid rgba(184,148,95,0.2) !important;
  padding-bottom: 16px !important;
}

.facet-checkbox input[type="checkbox"]:checked {
  background-color: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
}

.facets__disclosure .disclosure__button {
  transition: color 0.2s ease;
}

.facets__disclosure .disclosure__button:hover {
  color: var(--dv-gold) !important;
}

/* Active filter pills */
.active-facets__button {
  border-color: var(--dv-gold) !important;
  color: var(--dv-gold) !important;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.active-facets__button:hover {
  background-color: var(--dv-gold) !important;
  color: #fff !important;
}

/* Sort dropdown */
.facet-filters__sort select:focus {
  border-color: var(--dv-gold) !important;
  box-shadow: 0 0 0 2px rgba(184,148,95,0.2);
}

/* Pagination gold accent */
.pagination__item--current {
  background-color: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: #fff !important;
}

.pagination__item:hover {
  color: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
}

/* Collection banner overlay */
.collection-hero__image {
  position: relative;
}

.collection-hero__image::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 40%;
  background: linear-gradient(to top, rgba(0,0,0,0.3), transparent);
  pointer-events: none;
}

/* Product count styling */
.collection .collection-product-count {
  color: var(--dv-gold-dark);
  font-style: italic;
}

/* Grid view toggle gold accent */
.collection .grid-view-item--active {
  color: var(--dv-gold) !important;
}

/* === 26. FORM INPUT FOCUS GOLD === */
input:focus,
textarea:focus,
select:focus {
  border-color: var(--dv-gold) !important;
  box-shadow: 0 0 0 2px rgba(184,148,95,0.15) !important;
}

/* === 27. SCROLLBAR STYLING === */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--dv-bg);
}

::-webkit-scrollbar-thumb {
  background: rgba(184,148,95,0.3);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--dv-gold);
}

/* === 28. NEWSLETTER SECTION ENHANCEMENT === */
.newsletter {
  position: relative;
}

.newsletter input[type="email"] {
  border-color: rgba(184,148,95,0.3) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.newsletter input[type="email"]:focus {
  border-color: var(--dv-gold) !important;
  box-shadow: 0 0 0 3px rgba(184,148,95,0.12) !important;
}

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

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

/* --------------------------------------------------------------------------
   PRODUCT PAGE
   Source: diavoria-pdp-wow.css
   -------------------------------------------------------------------------- */

/* 1. Image Gallery Zoom â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product__media-wrapper .media,
.product__media-item .media {
  overflow: hidden;
  cursor: crosshair;
}

.product__media-wrapper .media img,
.product__media-item .media img {
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
}

.product__media-wrapper .media:hover img,
.product__media-item .media:hover img {
  transform: scale(1.5);
}

/* 2. Sticky ATC Bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.dv-sticky-atc-bar {
  position: fixed;
  bottom: -80px;
  left: 0;
  right: 0;
  z-index: 999;
  background: rgba(255, 255, 255, 0.97);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid rgba(184, 148, 95, 0.2);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
  padding: 12px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: bottom 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.dv-sticky-atc-bar.dv-sticky-visible {
  bottom: 0;
}

.dv-sticky-atc-bar__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.dv-sticky-atc-bar__title {
  font-weight: 600;
  font-size: 14px;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.02em;
}

.dv-sticky-atc-bar__price {
  font-size: 15px;
  font-weight: 700;
  color: #b8945f;
  letter-spacing: 0.01em;
}

.dv-sticky-atc-bar__btn {
  background: linear-gradient(135deg, #b8945f 0%, #d4af7a 50%, #b8945f 100%);
  background-size: 200% 200%;
  color: #fff;
  border: none;
  padding: 12px 32px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 4px;
  white-space: nowrap;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(184, 148, 95, 0.3);
}

.dv-sticky-atc-bar__btn:hover {
  background-position: 100% 100%;
  box-shadow: 0 4px 16px rgba(184, 148, 95, 0.45);
  transform: translateY(-1px);
}

/* 3. Tab/Accordion Gold Accent â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product__accordion .accordion,
.product__accordion details,
details.product__info-container,
.product .accordion {
  border-left: 3px solid transparent;
  transition: border-color 0.3s ease, background-color 0.3s ease;
  padding-left: 12px;
}

.product__accordion .accordion:hover,
.product__accordion details:hover,
details.product__info-container:hover,
.product .accordion:hover {
  border-left-color: #b8945f;
  background-color: rgba(184, 148, 95, 0.03);
}

.product__accordion .accordion[open],
.product__accordion details[open],
details.product__info-container[open],
.product .accordion[open] {
  border-left-color: #b8945f;
  background-color: rgba(184, 148, 95, 0.05);
}

.product__accordion summary,
.product .accordion summary {
  transition: color 0.3s ease;
}

.product__accordion summary:hover,
.product .accordion summary:hover {
  color: #b8945f;
}

/* 4. Trust Section Animation â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes dv-trust-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.08); opacity: 0.85; }
}

.dv-trust-badge,
[class*="trust"] .icon,
[class*="trust"] svg,
.icon-guarantee,
.icon-shipping,
.icon-returns {
  animation: dv-trust-pulse 3s ease-in-out infinite;
  color: #b8945f;
}

.dv-trust-badge:nth-child(2),
[class*="trust"] .icon:nth-child(2) {
  animation-delay: 0.5s;
}

.dv-trust-badge:nth-child(3),
[class*="trust"] .icon:nth-child(3) {
  animation-delay: 1s;
}

[class*="trust"] path,
[class*="trust"] circle,
[class*="trust"] polygon {
  fill: #b8945f;
  stroke: #b8945f;
}

/* 5. Recommendations Stagger â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes dv-rec-fade-in {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product-recommendations .product-card-wrapper,
.product-recommendations .grid__item,
.related-products .grid__item,
[class*="complementary"] .grid__item {
  opacity: 0;
  animation: dv-rec-fade-in 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.product-recommendations .grid__item:nth-child(1) { animation-delay: 0.1s; }
.product-recommendations .grid__item:nth-child(2) { animation-delay: 0.2s; }
.product-recommendations .grid__item:nth-child(3) { animation-delay: 0.3s; }
.product-recommendations .grid__item:nth-child(4) { animation-delay: 0.4s; }
.product-recommendations .grid__item:nth-child(5) { animation-delay: 0.5s; }
.product-recommendations .grid__item:nth-child(6) { animation-delay: 0.6s; }
.product-recommendations .grid__item:nth-child(7) { animation-delay: 0.7s; }
.product-recommendations .grid__item:nth-child(8) { animation-delay: 0.8s; }

.related-products .grid__item:nth-child(1) { animation-delay: 0.1s; }
.related-products .grid__item:nth-child(2) { animation-delay: 0.2s; }
.related-products .grid__item:nth-child(3) { animation-delay: 0.3s; }
.related-products .grid__item:nth-child(4) { animation-delay: 0.4s; }

/* 6. Social Share Hover â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.share-button__button,
.product__share-button a,
.sharing-button,
[class*="share"] button,
[class*="share"] a {
  transition: all 0.3s ease;
  border-radius: 50%;
}

.share-button__button:hover,
.product__share-button a:hover,
.sharing-button:hover,
[class*="share"] button:hover,
[class*="share"] a:hover {
  background-color: rgba(184, 148, 95, 0.15);
  color: #b8945f;
  transform: scale(1.1);
}

/* 7. Variant Selector Enhancement â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.product-form__input input[type="radio"]:checked + label,
.variant-input input[type="radio"]:checked + label,
fieldset .product-form__input input[type="radio"]:checked + label {
  border: 2px solid #b8945f !important;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, 0.2);
  transition: all 0.25s ease;
}

.product-form__input label,
.variant-input label {
  transition: all 0.25s ease;
  cursor: pointer;
}

.product-form__input label:hover,
.variant-input label:hover {
  transform: scale(1.05);
  border-color: rgba(184, 148, 95, 0.5) !important;
}

/* Variant pills */
variant-radios label,
variant-selects select {
  transition: all 0.25s ease;
}

variant-radios label:hover {
  border-color: #b8945f !important;
}

variant-radios input:checked + label {
  border-color: #b8945f !important;
  box-shadow: 0 0 0 2px rgba(184, 148, 95, 0.25);
}

/* 8. Breadcrumb Enhancement â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes dv-breadcrumb-in {
  from { opacity: 0; transform: translateX(-8px); }
  to { opacity: 1; transform: translateX(0); }
}

.breadcrumbs,
.breadcrumb,
nav[aria-label="breadcrumb"],
.dv-breadcrumbs {
  animation: dv-breadcrumb-in 0.5s ease forwards;
}

.breadcrumbs a:hover,
.breadcrumb a:hover,
nav[aria-label="breadcrumb"] a:hover,
.dv-breadcrumbs a:hover {
  color: #b8945f;
  transition: color 0.3s ease;
}

/* Product page price enhancement */
.product__info-wrapper .price-item--regular,
.product__info-wrapper .price-item--sale {
  color: #b8945f;
  font-weight: 600;
}

/* Compare-at price */
.product__info-wrapper .price-item--regular[data-compare] {
  text-decoration: line-through;
  opacity: 0.5;
  color: #666;
}

/* --------------------------------------------------------------------------
   CART & CHECKOUT
   Source: diavoria-cart-wow.css
   -------------------------------------------------------------------------- */

/* --- Cart Item Hover --- */
.cart-item {
  transition: background-color 0.3s ease, border-left 0.3s ease;
  border-left: 3px solid transparent;
}
.cart-item:hover {
  background-color: rgba(184, 148, 95, 0.04);
  border-left: 3px solid #b8945f;
}

/* --- Free Shipping Progress Bar --- */
.dv-shipping-bar {
  padding: 12px 16px;
  margin: 0 0 12px;
  text-align: center;
}
.dv-shipping-bar__text {
  font-size: 12px;
  letter-spacing: 0.5px;
  color: #1a1a2e;
  margin-bottom: 8px;
  font-weight: 500;
}
.dv-shipping-bar__track {
  width: 100%;
  height: 4px;
  background: #e8e2d9;
  border-radius: 2px;
  overflow: hidden;
}
.dv-shipping-bar__fill {
  height: 100%;
  background: linear-gradient(90deg, #b8945f, #d4b078);
  border-radius: 2px;
  transition: width 0.6s ease;
}

/* --- Checkout Button --- */
.cart__ctas button[name="checkout"],
.cart__ctas a[name="checkout"],
.cart-drawer__footer .cart__ctas button,
.cart-drawer__footer .cart__ctas a.button:not(.button--secondary) {
  background: linear-gradient(135deg, #b8945f, #d4b078) !important;
  color: #fff !important;
  border: none !important;
  position: relative;
  overflow: hidden;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.cart__ctas button[name="checkout"]::after,
.cart__ctas a[name="checkout"]::after,
.cart-drawer__footer .cart__ctas button::after,
.cart-drawer__footer .cart__ctas a.button:not(.button--secondary)::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s ease;
}
.cart__ctas button[name="checkout"]:hover::after,
.cart__ctas a[name="checkout"]:hover::after,
.cart-drawer__footer .cart__ctas button:hover::after,
.cart-drawer__footer .cart__ctas a.button:not(.button--secondary):hover::after {
  left: 100%;
}

/* --- Cart Total Section --- */
.cart-drawer__footer .totals,
.cart__footer .totals {
  border-top: 1px solid rgba(184, 148, 95, 0.3);
  padding-top: 16px;
  margin-top: 8px;
}
.cart-drawer__footer .totals h2,
.cart-drawer__footer .totals .totals__total-value,
.cart__footer .totals h2,
.cart__footer .totals .totals__total-value {
  font-weight: 700;
  color: #1a1a2e;
}

/* --- Cart Empty State --- */
.cart--empty,
.drawer__inner-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 24px;
  text-align: center;
}
.cart--empty p,
.drawer__inner-empty p {
  font-size: 15px;
  color: #666;
  margin-bottom: 24px;
  line-height: 1.6;
}
.cart--empty a.button,
.drawer__inner-empty a.button,
.cart--empty .button,
.drawer__inner-empty .button {
  background: linear-gradient(135deg, #b8945f, #d4b078);
  color: #fff;
  border: none;
  padding: 12px 32px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 4px;
  transition: opacity 0.3s ease;
}
.cart--empty a.button:hover,
.drawer__inner-empty a.button:hover {
  opacity: 0.9;
}

/* --- Quantity Buttons --- */
.cart-item .quantity__button,
.cart-item quantity-input button {
  transition: border-color 0.3s ease, color 0.3s ease;
}
.cart-item .quantity__button:hover,
.cart-item quantity-input button:hover {
  border-color: #b8945f;
  color: #b8945f;
}
.cart-item .quantity__input {
  font-weight: 600;
}

/* --- Cart Drawer Header --- */
.cart-drawer__header {
  border-bottom: 1px solid rgba(184, 148, 95, 0.15);
}

/* --- Remove Button --- */
cart-remove-button a {
  transition: color 0.3s ease;
}
cart-remove-button a:hover {
  color: #b8945f;
}

/* --------------------------------------------------------------------------
   BLOG
   Source: diavoria-blog-wow.css
   -------------------------------------------------------------------------- */

/* --- Blog Card --- */
.blog-articles .article-card,
.blog-articles .card-wrapper {
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.3s ease;
}
.blog-articles .article-card:hover,
.blog-articles .card-wrapper:hover {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
}

/* --- Blog Card Image Hover Zoom --- */
.article-card__image-wrapper .article-card__image,
.article-card .card__media img,
.blog-articles .card__media img {
  transition: transform 0.6s ease;
}
.article-card:hover .article-card__image-wrapper .article-card__image,
.article-card:hover .card__media img,
.blog-articles .card-wrapper:hover .card__media img {
  transform: scale(1.05);
}
.article-card__image-wrapper,
.article-card .card__media,
.blog-articles .card__media {
  overflow: hidden;
}

/* --- Blog Card Title Hover Gold --- */
.article-card__title a,
.article-card .card__heading a,
.blog-articles .card__heading a {
  transition: color 0.3s ease;
  color: #1a1a2e;
}
.article-card:hover .article-card__title a,
.article-card:hover .card__heading a,
.blog-articles .card-wrapper:hover .card__heading a {
  color: #b8945f;
}

/* --- Blog Card Meta --- */
.article-card__info,
.article-card .card__information .caption {
  font-size: 12px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #999;
}

/* --- Blog Article Premium Typography --- */
.article-template .article-template__content,
.article-template .rte {
  max-width: 740px;
  margin: 0 auto;
  line-height: 1.8;
  font-size: 16px;
  color: #333;
}
.article-template .article-template__content h1,
.article-template .rte h1 {
  font-size: 32px;
  color: #1a1a2e;
  margin-bottom: 16px;
  line-height: 1.3;
}
.article-template .article-template__content h2,
.article-template .rte h2 {
  font-size: 24px;
  color: #1a1a2e;
  margin-top: 40px;
  margin-bottom: 12px;
  line-height: 1.3;
}
.article-template .article-template__content h3,
.article-template .rte h3 {
  font-size: 20px;
  color: #1a1a2e;
  margin-top: 32px;
  margin-bottom: 8px;
}
.article-template .article-template__content p,
.article-template .rte p {
  margin-bottom: 20px;
}
.article-template .article-template__content blockquote,
.article-template .rte blockquote {
  border-left: 3px solid #b8945f;
  padding-left: 20px;
  margin: 32px 0;
  font-style: italic;
  color: #555;
  font-size: 18px;
  line-height: 1.7;
}
.article-template .article-template__content a,
.article-template .rte a {
  color: #b8945f;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.3s ease;
}
.article-template .article-template__content a:hover,
.article-template .rte a:hover {
  color: #9a7a4d;
}
.article-template .article-template__content img,
.article-template .rte img {
  border-radius: 8px;
  margin: 24px 0;
}

/* --- Blog Article Header --- */
.article-template__hero-container,
.article-template .page-width {
  max-width: 900px;
  margin: 0 auto;
}
.article-template__title,
.article-template h1 {
  text-align: center;
  color: #1a1a2e;
  font-size: 36px;
  line-height: 1.2;
  margin-bottom: 16px;
}
.article-template__hero-medium,
.article-template .article-template__hero-container img {
  border-radius: 12px;
  overflow: hidden;
}

/* --- Blog Sidebar Categories --- */
.blog-sidebar .collection-list a,
.blog-sidebar a {
  display: block;
  padding: 8px 0;
  color: #333;
  font-size: 14px;
  border-bottom: 1px solid rgba(184, 148, 95, 0.1);
  transition: color 0.3s ease, padding-left 0.3s ease;
}
.blog-sidebar .collection-list a:hover,
.blog-sidebar a:hover {
  color: #b8945f;
  padding-left: 8px;
}

/* --- Related Posts Grid --- */
.article-template__back,
.article-template .related-posts {
  border-top: 1px solid rgba(184, 148, 95, 0.15);
  padding-top: 40px;
  margin-top: 48px;
}
.article-template .related-posts .grid {
  gap: 24px;
}
.article-template .related-posts .card-wrapper {
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.article-template .related-posts .card-wrapper:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
  transform: translateY(-2px);
}

/* --- Blog List Page Header --- */
.template-blog .collection-hero,
.template-blog .page-header {
  text-align: center;
  margin-bottom: 32px;
}
.template-blog .collection-hero h1,
.template-blog .page-header h1 {
  font-size: 32px;
  letter-spacing: 1px;
  color: #1a1a2e;
}

/* --- Blog Pagination --- */
.template-blog .pagination a {
  transition: color 0.3s ease, border-color 0.3s ease;
}
.template-blog .pagination a:hover {
  color: #b8945f;
  border-color: #b8945f;
}
.template-blog .pagination .pagination__item--current {
  background: #b8945f;
  color: #fff;
  border-color: #b8945f;
}

/* --------------------------------------------------------------------------
   SEARCH
   Source: diavoria-search-wow.css
   -------------------------------------------------------------------------- */

/* --- Search Input --- */
.search__input.field__input,
.search-modal__input,
.template-search .search__input {
  font-size: 18px !important;
  padding: 16px 24px !important;
  border: 2px solid #e8e2d9 !important;
  border-radius: 8px !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
  background: #ffffff !important;
  text-align: center;
}
.search__input.field__input:focus,
.search-modal__input:focus,
.template-search .search__input:focus {
  border-color: #b8945f !important;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, 0.12) !important;
  outline: none !important;
}

/* --- Search Form Centered --- */
.template-search .search {
  max-width: 640px;
  margin: 0 auto 40px;
}
.template-search .search__button {
  color: #b8945f;
}
.template-search .search__button:hover {
  color: #9a7a4d;
}

/* --- Search Results Grid --- */
.template-search .grid .grid__item {
  transition: transform 0.3s ease;
}
.template-search .grid .grid__item:hover {
  transform: translateY(-2px);
}
.template-search .card-wrapper {
  border-radius: 8px;
  overflow: hidden;
}

/* --- No Results State --- */
.template-search .no-results {
  text-align: center;
  padding: 60px 24px;
}
.template-search .no-results h2,
.template-search .no-results .h2 {
  font-size: 24px;
  color: #1a1a2e;
  margin-bottom: 12px;
}
.template-search .no-results p {
  color: #888;
  font-size: 15px;
  margin-bottom: 8px;
}

/* --- Predictive Search / Search Overlay --- */
predictive-search,
.predictive-search {
  background: rgba(250, 248, 245, 0.97) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(184, 148, 95, 0.1);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08);
}
.predictive-search__result-group {
  border-bottom: 1px solid rgba(184, 148, 95, 0.1);
  padding: 12px 0;
}
.predictive-search__item {
  transition: background-color 0.2s ease;
  border-radius: 4px;
  padding: 8px 12px;
}
.predictive-search__item:hover {
  background-color: rgba(184, 148, 95, 0.06);
}
.predictive-search__item-heading {
  font-weight: 600;
  color: #1a1a2e;
}
.predictive-search__item--link:hover .predictive-search__item-heading {
  color: #b8945f;
}

/* --- Search Page Header --- */
.template-search .page-header {
  text-align: center;
  margin-bottom: 32px;
}
.template-search .page-header h1 {
  font-size: 28px;
  color: #1a1a2e;
  letter-spacing: 1px;
}

/* --- Search Tabs / Filters --- */
.template-search .search__tab {
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s ease, color 0.3s ease;
  padding: 8px 16px;
}
.template-search .search__tab:hover,
.template-search .search__tab.active {
  border-bottom-color: #b8945f;
  color: #b8945f;
}

/* --------------------------------------------------------------------------
   FOOTER
   Source: diavoria-footer-wow.css
   -------------------------------------------------------------------------- */

/* Diavoria Footer Enhancement */
.footer {
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg, transparent 5%, #b8945f 25%, #d4b078 50%, #b8945f 75%, transparent 95%) 1;
  position: relative;
}

.footer .footer__content-top h2,
.footer .footer-block__heading,
.footer h3,
.footer h4 {
  text-transform: uppercase;
  font-size: 0.85em;
  letter-spacing: 0.12em;
  color: #b8945f;
  position: relative;
  padding-bottom: 8px;
  margin-bottom: 12px;
}

.footer .footer__content-top h2::after,
.footer .footer-block__heading::after,
.footer h3::after,
.footer h4::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 30px;
  height: 2px;
  background: linear-gradient(90deg, #b8945f, #d4b078);
  border-radius: 2px;
}

.footer a:not(.footer__content-bottom a) {
  transition: color 0.3s ease, padding-left 0.3s ease;
}

.footer a:not(.footer__content-bottom a):hover {
  color: #b8945f !important;
  padding-left: 4px;
}

.footer .footer__list-social .list-social__link:hover svg,
.footer .list-social__link:hover svg {
  fill: #b8945f;
  transform: translateY(-2px);
  transition: all 0.3s ease;
}

.footer .list-social__link {
  transition: transform 0.3s ease;
}

.footer .list-social__link:hover {
  transform: translateY(-2px);
}

.footer .footer__payment ul,
.footer .list-payment {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.footer .footer__payment .list-payment__item,
.footer .list-payment__item {
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

.footer .footer__payment .list-payment__item:hover,
.footer .list-payment__item:hover {
  opacity: 1;
}

.footer .footer__content-bottom {
  border-top: 1px solid rgba(184, 148, 95, 0.2);
  padding-top: 20px;
  margin-top: 20px;
}

.footer .footer__copyright,
.footer .copyright__content {
  font-size: 0.78em;
  letter-spacing: 0.04em;
  color: #999;
}

/* --------------------------------------------------------------------------
   FILTERS
   Source: diavoria-filters-wow.css
   -------------------------------------------------------------------------- */

/* Diavoria Collection Filters Enhancement */
.facets__label input[type="checkbox"],
.collection-filters input[type="checkbox"],
.facet-checkbox input[type="checkbox"] {
  accent-color: #b8945f;
}

.facets__label input[type="checkbox"]:checked + span::before,
.facet-checkbox__custom {
  background: linear-gradient(135deg, #b8945f, #d4b078);
  border-color: #b8945f;
}

.facets__label,
.collection-filters__label {
  transition: color 0.2s ease;
  cursor: pointer;
}

.facets__label:hover,
.collection-filters__label:hover {
  color: #b8945f;
}

.active-facets .active-facets__button,
.facets__pill,
.active-filters .active-filter-tag {
  background: linear-gradient(135deg, #b8945f, #d4b078);
  color: #fff;
  border: none;
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 0.8em;
  letter-spacing: 0.04em;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.active-facets .active-facets__button:hover,
.facets__pill:hover,
.active-filters .active-filter-tag:hover {
  background: linear-gradient(135deg, #a07e4f, #b8945f);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(184, 148, 95, 0.25);
}

.active-facets .active-facets__button svg,
.facets__pill svg,
.active-filters .active-filter-tag svg {
  width: 12px;
  height: 12px;
  fill: #fff;
  opacity: 0.8;
}

.active-facets .active-facets__button-wrapper .active-facets__button--light {
  background: transparent;
  color: #b8945f;
  border: 1.5px solid #b8945f;
}

.active-facets .active-facets__button-wrapper .active-facets__button--light:hover {
  background: rgba(184, 148, 95, 0.08);
}

.facet-filters__sort select,
.collection-filters__sort select,
.facets__sort select,
select#SortBy {
  border: 1.5px solid #e0d6c8;
  border-radius: 6px;
  padding: 8px 12px;
  transition: all 0.3s ease;
}

.facet-filters__sort select:focus,
.collection-filters__sort select:focus,
.facets__sort select:focus,
select#SortBy:focus {
  border-color: #b8945f;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, 0.18);
  outline: none;
}

.facets__selected,
.facets-count,
.collection-filters__count {
  background: linear-gradient(135deg, #b8945f, #d4b078);
  color: #fff;
  border-radius: 50%;
  min-width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7em;
  font-weight: 700;
  margin-left: 6px;
}

.facets__heading,
.facets__disclosure h3,
.facets-container summary span,
.collection-filters h3 {
  font-size: 0.82em;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #555;
  font-weight: 600;
}

@keyframes dv-filter-slidein {
  0% { transform: translateX(-100%); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}

@keyframes dv-filter-overlay {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@media screen and (max-width: 989px) {
  .mobile-facets__wrapper,
  .collection-filters-form--mobile {
    animation: dv-filter-slidein 0.35s ease-out;
  }

  .mobile-facets__overlay,
  .collection-filters__overlay {
    animation: dv-filter-overlay 0.3s ease;
  }

  .mobile-facets__main,
  .facets__form .mobile-facets__footer {
    border-top: 2px solid rgba(184, 148, 95, 0.2);
  }

  .mobile-facets__main .mobile-facets__details summary,
  .mobile-facets__main .facets__disclosure summary {
    padding: 14px 0;
    border-bottom: 1px solid #f0ece6;
    transition: color 0.2s ease;
  }

  .mobile-facets__main .mobile-facets__details summary:hover,
  .mobile-facets__main .facets__disclosure summary:hover {
    color: #b8945f;
  }

  .mobile-facets__footer button,
  .mobile-facets__apply {
    background: linear-gradient(135deg, #b8945f, #d4b078);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
}

.facets__price input[type="range"]::-webkit-slider-thumb {
  background: #b8945f;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(184, 148, 95, 0.3);
}

.facets__price input[type="range"]::-moz-range-thumb {
  background: #b8945f;
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(184, 148, 95, 0.3);
}

.facets__price .field__input:focus {
  border-color: #b8945f;
  box-shadow: 0 0 0 2px rgba(184, 148, 95, 0.15);
}

/* --------------------------------------------------------------------------
   QUICK VIEW
   Source: diavoria-quickview.css
   -------------------------------------------------------------------------- */

.dv-qv-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.6); backdrop-filter: blur(4px);
  z-index: 1000; display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.3s ease;
}
.dv-qv-overlay.dv-qv-active { opacity: 1; }
.dv-qv-modal {
  background: #fff; border-radius: 12px; max-width: 800px; width: 90%;
  max-height: 85vh; overflow-y: auto; position: relative;
  transform: scale(0.9) translateY(20px); transition: transform 0.4s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow: 0 25px 60px rgba(0,0,0,0.3);
}
.dv-qv-overlay.dv-qv-active .dv-qv-modal { transform: scale(1) translateY(0); }
.dv-qv-close {
  position: absolute; top: 16px; right: 16px; background: none; border: none;
  font-size: 28px; cursor: pointer; color: #666; z-index: 2; width: 40px; height: 40px;
  border-radius: 50%; transition: all 0.3s;
}
.dv-qv-close:hover { background: #f5f5f5; color: #b8945f; }
.dv-qv-content { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
.dv-qv-image { overflow: hidden; border-radius: 12px 0 0 12px; }
.dv-qv-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dv-qv-info { padding: 32px; display: flex; flex-direction: column; justify-content: center; }
.dv-qv-info h2 { font-family: var(--font-heading-family), serif; font-size: 1.5em; margin-bottom: 12px; color: #1a1a2e; font-weight: 400; letter-spacing: 0.03em; }
.dv-qv-price { font-size: 1.3em; color: #b8945f; font-weight: 700; margin-bottom: 16px; }
.dv-qv-info p { color: #666; line-height: 1.6; margin-bottom: 20px; font-size: 0.95em; }
.dv-qv-btn {
  display: inline-block; background: linear-gradient(135deg, #b8945f, #d4b078); color: #fff;
  padding: 14px 32px; border-radius: 6px; text-decoration: none; font-weight: 600;
  text-align: center; transition: all 0.3s; font-family: var(--font-heading-family), sans-serif;
  letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.85em;
}
.dv-qv-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(184,148,95,0.4); color: #fff; }
.dv-qv-trigger {
  position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%) translateY(10px);
  opacity: 0; background: linear-gradient(135deg, #b8945f, #d4b078); color: #fff;
  border: none; padding: 8px 20px; border-radius: 4px; cursor: pointer;
  font-size: 12px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase;
  transition: all 0.3s; z-index: 3; font-family: var(--font-heading-family), sans-serif;
  white-space: nowrap;
}
.dv-qv-trigger:hover { background: linear-gradient(135deg, #a17e4f, #c4a068); box-shadow: 0 4px 12px rgba(184,148,95,0.4); }
@media (max-width: 749px) {
  .dv-qv-content { grid-template-columns: 1fr; }
  .dv-qv-image { max-height: 300px; border-radius: 12px 12px 0 0; }
  .dv-qv-info { padding: 24px; }
  .dv-qv-modal { width: 95%; }
}

/* --------------------------------------------------------------------------
   WISHLIST
   Source: diavoria-wishlist-wow.css
   -------------------------------------------------------------------------- */

/* Diavoria -- Wishlist Enhancement CSS (Round 4) */

/* Heart icon on product cards */
.dv-wishlist-heart {
  position: absolute; top: 12px; right: 12px; z-index: 5;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(255,255,255,0.9); backdrop-filter: blur(4px);
  border: none; cursor: pointer; display: flex; align-items: center;
  justify-content: center; transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.dv-wishlist-heart:hover {
  transform: scale(1.15); background: #fff;
  box-shadow: 0 4px 16px rgba(184,148,95,0.25);
}
.dv-wishlist-heart svg {
  width: 18px; height: 18px; stroke: #999; stroke-width: 2;
  fill: none; transition: all 0.3s ease;
}
.dv-wishlist-heart:hover svg { stroke: #b8945f; }
.dv-wishlist-heart.dv-wishlisted svg {
  stroke: #b8945f; fill: #b8945f;
  animation: dvHeartPop 0.4s cubic-bezier(0.34,1.56,0.64,1);
}
@keyframes dvHeartPop {
  0% { transform: scale(1); }
  50% { transform: scale(1.35); }
  100% { transform: scale(1); }
}
.dv-wishlist-heart.dv-wishlisted:hover svg { fill: #a17e4f; stroke: #a17e4f; }

/* Wishlist count badge */
.dv-wishlist-count {
  position: absolute; top: -4px; right: -4px; min-width: 16px; height: 16px;
  border-radius: 8px; background: #b8945f; color: #fff; font-size: 10px;
  font-weight: 700; display: flex; align-items: center; justify-content: center;
  padding: 0 4px; line-height: 1; font-family: var(--font-heading-family), sans-serif;
}
.dv-wishlist-count:empty { display: none; }

/* Wishlist page grid */
.dv-wishlist-page { max-width: var(--page-width); margin: 0 auto; padding: 40px 24px 80px; }
.dv-wishlist-page-title {
  font-family: var(--font-heading-family), serif;
  font-size: 2rem; font-weight: 300; letter-spacing: 0.1em;
  text-transform: uppercase; color: #1A2332; text-align: center;
  margin-bottom: 8px;
}
.dv-wishlist-page-subtitle {
  text-align: center; color: #888; font-size: 1rem; margin-bottom: 40px;
}
.dv-wishlist-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.dv-wishlist-card {
  background: #fff; border-radius: 10px; overflow: hidden;
  border: 1px solid rgba(184,148,95,0.1);
  transition: all 0.35s ease; position: relative;
}
.dv-wishlist-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
  border-color: rgba(184,148,95,0.25);
}
.dv-wishlist-card-img {
  width: 100%; aspect-ratio: 1; object-fit: cover; display: block;
  transition: transform 0.5s ease;
}
.dv-wishlist-card:hover .dv-wishlist-card-img { transform: scale(1.05); }
.dv-wishlist-card-img-wrap { overflow: hidden; position: relative; }
.dv-wishlist-card-info { padding: 16px; }
.dv-wishlist-card-title {
  font-family: var(--font-heading-family), serif;
  font-size: 0.95rem; font-weight: 400; color: #1A2332;
  margin: 0 0 6px; letter-spacing: 0.02em;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.dv-wishlist-card-price {
  color: #b8945f; font-weight: 700; font-size: 1.05rem; margin: 0 0 12px;
}
.dv-wishlist-card-remove {
  position: absolute; top: 10px; right: 10px; width: 30px; height: 30px;
  border-radius: 50%; background: rgba(255,255,255,0.9); border: none;
  cursor: pointer; font-size: 16px; color: #999; display: flex;
  align-items: center; justify-content: center; transition: all 0.3s;
  backdrop-filter: blur(4px);
}
.dv-wishlist-card-remove:hover { background: #fff; color: #c0392b; transform: scale(1.1); }
.dv-wishlist-card-btn {
  display: block; text-align: center; background: linear-gradient(135deg, #b8945f, #d4b078);
  color: #fff; padding: 10px; text-decoration: none; font-size: 0.8rem;
  font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  transition: all 0.3s; font-family: var(--font-heading-family), sans-serif;
}
.dv-wishlist-card-btn:hover { background: linear-gradient(135deg, #a17e4f, #c4a068); color: #fff; }

/* Empty wishlist state */
.dv-wishlist-empty {
  text-align: center; padding: 80px 24px;
}
.dv-wishlist-empty-icon {
  margin-bottom: 20px; color: #ddd;
}
.dv-wishlist-empty-icon svg { width: 64px; height: 64px; stroke-width: 1; }
.dv-wishlist-empty-title {
  font-family: var(--font-heading-family), serif;
  font-size: 1.5rem; font-weight: 300; color: #1A2332;
  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 12px;
}
.dv-wishlist-empty-text {
  color: #888; font-size: 1.05rem; margin-bottom: 32px; line-height: 1.6;
}
.dv-wishlist-empty-btn {
  display: inline-block; background: linear-gradient(135deg, #b8945f, #d4b078); color: #fff;
  padding: 14px 36px; border-radius: 6px; text-decoration: none; font-weight: 600;
  font-family: var(--font-heading-family), sans-serif; font-size: 0.9rem;
  letter-spacing: 0.06em; text-transform: uppercase; transition: all 0.3s;
}
.dv-wishlist-empty-btn:hover {
  transform: translateY(-2px); box-shadow: 0 8px 20px rgba(184,148,95,0.4); color: #fff;
}

/* Toast notification for wishlist add/remove */
.dv-wishlist-toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(20px);
  background: #1A2332; color: #fff; padding: 14px 28px; border-radius: 8px;
  font-size: 0.9rem; z-index: 9999; opacity: 0; transition: all 0.3s ease;
  box-shadow: 0 8px 24px rgba(0,0,0,0.2); pointer-events: none;
  font-family: var(--font-body-family);
}
.dv-wishlist-toast.dv-toast-show {
  opacity: 1; transform: translateX(-50%) translateY(0);
}
.dv-wishlist-toast .dv-toast-icon { color: #b8945f; margin-right: 8px; }

@media (max-width: 989px) {
  .dv-wishlist-grid { grid-template-columns: repeat(3, 1fr); gap: 16px; }
}
@media (max-width: 749px) {
  .dv-wishlist-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .dv-wishlist-page { padding: 24px 16px 60px; }
  .dv-wishlist-page-title { font-size: 1.5rem; }
  .dv-wishlist-card-info { padding: 12px; }
  .dv-wishlist-empty { padding: 60px 16px; }
}

/* --------------------------------------------------------------------------
   RECENTLY VIEWED
   Source: diavoria-recently-viewed.css
   -------------------------------------------------------------------------- */

/* Diavoria Recently Viewed Products Enhancement */
@keyframes dv-rv-fadein {
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}

.dv-recently-viewed,
[data-recently-viewed],
.recently-viewed-products {
  padding: 40px 0;
}

.dv-recently-viewed h2,
[data-recently-viewed] h2,
.recently-viewed-products h2,
.recently-viewed-products .section-header__title {
  text-align: center;
  font-size: 1.4em;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #333;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 28px;
}

.dv-recently-viewed h2::after,
[data-recently-viewed] h2::after,
.recently-viewed-products h2::after,
.recently-viewed-products .section-header__title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #b8945f, #d4b078);
  border-radius: 2px;
}

@media screen and (max-width: 749px) {
  .dv-recently-viewed .grid,
  [data-recently-viewed] .grid,
  .recently-viewed-products .grid,
  .recently-viewed-products .product-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding-bottom: 12px;
    scrollbar-width: none;
  }
  .dv-recently-viewed .grid::-webkit-scrollbar,
  [data-recently-viewed] .grid::-webkit-scrollbar,
  .recently-viewed-products .grid::-webkit-scrollbar,
  .recently-viewed-products .product-grid::-webkit-scrollbar {
    display: none;
  }
  .dv-recently-viewed .grid__item,
  [data-recently-viewed] .grid__item,
  .recently-viewed-products .grid__item,
  .recently-viewed-products .product-grid .grid__item {
    flex: 0 0 65%;
    scroll-snap-align: start;
  }
}

.dv-recently-viewed .card__media img,
[data-recently-viewed] .card__media img,
.recently-viewed-products .card__media img {
  transition: transform 0.5s ease;
}

.dv-recently-viewed .card:hover .card__media img,
[data-recently-viewed] .card:hover .card__media img,
.recently-viewed-products .card:hover .card__media img {
  transform: scale(1.06);
}

.dv-recently-viewed .card,
[data-recently-viewed] .card,
.recently-viewed-products .card {
  overflow: hidden;
  border-radius: 8px;
}

.dv-recently-viewed .grid__item:nth-child(1),
[data-recently-viewed] .grid__item:nth-child(1),
.recently-viewed-products .grid__item:nth-child(1) { animation: dv-rv-fadein 0.5s ease 0.1s both; }
.dv-recently-viewed .grid__item:nth-child(2),
[data-recently-viewed] .grid__item:nth-child(2),
.recently-viewed-products .grid__item:nth-child(2) { animation: dv-rv-fadein 0.5s ease 0.2s both; }
.dv-recently-viewed .grid__item:nth-child(3),
[data-recently-viewed] .grid__item:nth-child(3),
.recently-viewed-products .grid__item:nth-child(3) { animation: dv-rv-fadein 0.5s ease 0.3s both; }
.dv-recently-viewed .grid__item:nth-child(4),
[data-recently-viewed] .grid__item:nth-child(4),
.recently-viewed-products .grid__item:nth-child(4) { animation: dv-rv-fadein 0.5s ease 0.4s both; }
.dv-recently-viewed .grid__item:nth-child(5),
[data-recently-viewed] .grid__item:nth-child(5),
.recently-viewed-products .grid__item:nth-child(5) { animation: dv-rv-fadein 0.5s ease 0.5s both; }
.dv-recently-viewed .grid__item:nth-child(6),
[data-recently-viewed] .grid__item:nth-child(6),
.recently-viewed-products .grid__item:nth-child(6) { animation: dv-rv-fadein 0.5s ease 0.6s both; }

/* --------------------------------------------------------------------------
   TRUST BADGES
   Source: diavoria-badges.css
   -------------------------------------------------------------------------- */

.dv-badge {
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  line-height: 1.2;
  display: inline-block;
}
.dv-badge-sale {
  background: linear-gradient(135deg, #b8945f, #d4b078);
  color: #fff;
}
.dv-badge-new {
  background: #1a1a2e;
  color: #b8945f;
}
.dv-badge-best {
  background: transparent;
  color: #b8945f;
  border: 1px solid #b8945f;
}

/* --------------------------------------------------------------------------
   NEWSLETTER
   Source: diavoria-newsletter-wow.css
   -------------------------------------------------------------------------- */

/* Diavoria Newsletter Enhancement */
@keyframes dv-gold-border {
  0% { border-image-source: linear-gradient(0deg, #b8945f, #d4b078, #b8945f); }
  50% { border-image-source: linear-gradient(180deg, #b8945f, #d4b078, #b8945f); }
  100% { border-image-source: linear-gradient(360deg, #b8945f, #d4b078, #b8945f); }
}

@keyframes dv-shine-sweep {
  0% { left: -100%; }
  100% { left: 100%; }
}

.newsletter {
  border: 2px solid transparent;
  border-image: linear-gradient(135deg, #b8945f, #d4b078, #b8945f) 1;
  animation: dv-gold-border 4s linear infinite;
  position: relative;
}

.newsletter .newsletter-form__field-wrapper {
  position: relative;
}

.newsletter .field__input,
.newsletter input[type="email"] {
  border: 1.5px solid #e0d6c8;
  border-radius: 6px;
  transition: all 0.3s ease;
  background: #fff;
}

.newsletter .field__input:focus,
.newsletter input[type="email"]:focus {
  border-color: #b8945f;
  box-shadow: 0 0 0 3px rgba(184, 148, 95, 0.18), 0 2px 8px rgba(184, 148, 95, 0.10);
  outline: none;
}

.newsletter .newsletter-form__button,
.newsletter button[type="submit"] {
  background: linear-gradient(135deg, #b8945f 0%, #d4b078 50%, #b8945f 100%);
  background-size: 200% 100%;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: background-position 0.4s ease, transform 0.2s ease, box-shadow 0.3s ease;
  cursor: pointer;
}

.newsletter .newsletter-form__button:hover,
.newsletter button[type="submit"]:hover {
  background-position: 100% 0;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(184, 148, 95, 0.30);
}

.newsletter .newsletter-form__button::after,
.newsletter button[type="submit"]::after {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
  animation: dv-shine-sweep 3s ease-in-out infinite;
  pointer-events: none;
}

.newsletter h2,
.newsletter .newsletter__heading {
  color: #b8945f;
}

.newsletter .newsletter__subheading,
.newsletter .rte p {
  color: #888;
}

@media screen and (max-width: 749px) {
  .newsletter .newsletter-form__field-wrapper {
    flex-direction: column;
    gap: 10px;
  }
  .newsletter .newsletter-form__button,
  .newsletter button[type="submit"] {
    width: 100%;
    padding: 14px 20px;
  }
}

/* --------------------------------------------------------------------------
   SHIPPING BAR
   Source: diavoria-shipping-bar.css
   -------------------------------------------------------------------------- */

.dv-shipping-bar-wrap { padding: 12px 0; text-align: center; }
.dv-shipping-msg { font-size: 0.85em; color: #666; margin-bottom: 8px; }
.dv-shipping-msg strong { color: #b8945f; }
.dv-shipping-bar { background: #f0ece6; border-radius: 20px; height: 8px; overflow: hidden; }
.dv-shipping-fill { height: 100%; background: linear-gradient(90deg, #b8945f, #d4b078); border-radius: 20px; transition: width 0.6s ease; }

/* --------------------------------------------------------------------------
   TRANSITIONS
   Source: diavoria-transitions.css
   -------------------------------------------------------------------------- */

/* â”€â”€ Page Fade-In â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes dv-page-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

body {
  /* fade-in removed - caused CLS and delayed FCP */
  opacity: 1;
}

/* â”€â”€ Skeleton Shimmer for Loading States â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes dv-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.dv-skeleton,
.card .media--loading-shimmer,
img[loading="lazy"]:not([src]) {
  background: linear-gradient(
    90deg,
    #FAF8F5 0%,
    #f0ece6 25%,
    rgba(184, 148, 95, 0.08) 50%,
    #f0ece6 75%,
    #FAF8F5 100%
  );
  background-size: 200% 100%;
  animation: dv-shimmer 1.8s ease-in-out infinite;
}

/* â”€â”€ Cart Drawer Enhancement â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
cart-drawer .drawer,
.cart-drawer {
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1) !important;
}

cart-drawer .drawer.active,
.cart-drawer.active,
.cart-drawer.is-open {
  transform: translateX(0) !important;
}

/* Cart drawer overlay */
cart-drawer .drawer__overlay,
.cart-drawer-overlay {
  transition: opacity 0.35s ease !important;
}

/* Cart items fade-in */
@keyframes dv-cart-item-in {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.cart-drawer .cart-item,
cart-drawer .cart-item,
.drawer__contents .cart-item {
  animation: dv-cart-item-in 0.35s ease forwards;
}

.cart-drawer .cart-item:nth-child(2) { animation-delay: 0.05s; }
.cart-drawer .cart-item:nth-child(3) { animation-delay: 0.1s; }
.cart-drawer .cart-item:nth-child(4) { animation-delay: 0.15s; }
.cart-drawer .cart-item:nth-child(5) { animation-delay: 0.2s; }

/* â”€â”€ Section Reveal on Scroll â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@keyframes dv-section-reveal {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.dv-reveal {
  opacity: 0;
}

.dv-reveal.dv-revealed {
  animation: dv-section-reveal 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

/* â”€â”€ Button Press Effect â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.button:active,
.shopify-payment-button button:active,
.product-form__submit:active,
[type="submit"]:active {
  transform: scale(0.97);
  transition: transform 0.1s ease;
}

/* â”€â”€ Link Hover Gold Underline â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
main a:not(.button):not(.card):not([class*="card"]) {
  position: relative;
}

main a:not(.button):not(.card):not([class*="card"])::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #b8945f;
  transition: width 0.3s ease;
}

main a:not(.button):not(.card):not([class*="card"]):hover::after {
  width: 100%;
}

/* â”€â”€ Image Load Transition â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.card .media img,
.product__media img {
  transition: opacity 0.4s ease;
}

.card .media img[loading="lazy"] {
  opacity: 0;
}

.card .media img.loaded,
.card .media img[complete] {
  opacity: 1;
}

/* â”€â”€ Smooth Scroll â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
html {
  scroll-behavior: smooth;
}

/* â”€â”€ Focus Styles â€” Accessible Gold Ring â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
*:focus-visible {
  outline: 2px solid #b8945f;
  outline-offset: 2px;
  border-radius: 2px;
}

/* --------------------------------------------------------------------------
   MOBILE RESPONSIVE
   Source: diavoria-mobile-wow.css
   -------------------------------------------------------------------------- */

/* 1. Mobile Bottom Nav â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  .dv-mobile-nav {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
    height: 56px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-top: 1px solid rgba(184, 148, 95, 0.15);
    box-shadow: 0 -2px 16px rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: 0 8px;
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }

  .dv-mobile-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    flex: 1;
    text-decoration: none;
    color: #666;
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.03em;
    padding: 6px 4px;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s ease;
    min-height: 48px;
    min-width: 48px;
  }

  .dv-mobile-nav__item:active,
  .dv-mobile-nav__item.dv-nav-active {
    color: #b8945f;
  }

  .dv-mobile-nav__icon {
    width: 22px;
    height: 22px;
    stroke-width: 1.5;
  }

  .dv-mobile-nav__item.dv-nav-active .dv-mobile-nav__icon {
    stroke: #b8945f;
  }

  .dv-mobile-nav__badge {
    position: absolute;
    top: 2px;
    right: calc(50% - 16px);
    background: #b8945f;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    line-height: 1;
  }

  .dv-mobile-nav__item {
    position: relative;
  }

  /* Add padding to body so content isn't hidden behind nav */
  body {
    padding-bottom: 62px !important;
  }

  /* Adjust sticky ATC on mobile to sit above the nav */
  .dv-sticky-atc-bar {
    bottom: -80px;
  }

  .dv-sticky-atc-bar.dv-sticky-visible {
    bottom: 56px;
  }
}

/* 2. Mobile Card Spacing â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  .collection .grid,
  .grid--2-col-tablet-down {
    gap: 16px !important;
    column-gap: 16px !important;
    row-gap: 16px !important;
  }

  .grid__item .card {
    border-radius: 8px;
    overflow: hidden;
  }

  .product-grid .grid__item,
  .collection-product-list .grid__item {
    padding: 0 !important;
  }
}

/* 3. Mobile Sticky ATC â€” Full-width version â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  .dv-sticky-atc-bar {
    flex-direction: row;
    padding: 8px 12px;
    gap: 10px;
  }

  .dv-sticky-atc-bar__info {
    flex: 1;
    min-width: 0;
  }

  .dv-sticky-atc-bar__title {
    font-size: 12px;
  }

  .dv-sticky-atc-bar__price {
    font-size: 13px;
  }

  .dv-sticky-atc-bar__btn {
    padding: 10px 20px;
    font-size: 11px;
    flex-shrink: 0;
  }
}

/* 4. Mobile Touch Improvements â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  /* Minimum touch target sizes */
  button,
  a.button,
  .button,
  input[type="submit"],
  select,
  .product-form__submit,
  summary,
  [role="button"] {
    min-height: 48px;
    min-width: 48px;
  }

  /* Better tap highlight */
  a, button, [role="button"], summary {
    -webkit-tap-highlight-color: rgba(184, 148, 95, 0.15);
  }

  /* Improve link spacing in menus */
  .mobile-facets__list .mobile-facets__item,
  .menu-drawer__menu-item {
    padding: 12px 0;
  }

  /* Larger close buttons */
  .drawer__close button,
  .modal__close-button {
    min-height: 48px;
    min-width: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

/* 5. Mobile Gallery Dots â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  .slider-counter .slider-counter__link,
  .thumbnail-list button,
  .product__media-list .slider-button,
  slider-component .slider-counter__link {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(184, 148, 95, 0.25);
    border: none;
    padding: 0;
    margin: 0 4px;
    transition: all 0.3s ease;
    min-height: unset;
    min-width: unset;
  }

  .slider-counter .slider-counter__link--active,
  .slider-counter .slider-counter__link.active,
  .slider-counter .slider-counter__link[aria-current="true"] {
    background: #b8945f;
    width: 24px;
    border-radius: 5px;
  }

  .slider-counter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 8px 0;
  }
}

/* 6. Mobile Announcement Bar â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  .announcement-bar {
    padding: 6px 12px !important;
    min-height: unset;
  }

  .announcement-bar__message {
    font-size: 11px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    line-height: 1.3;
  }

  .announcement-bar__link {
    padding: 6px 0;
  }

  .announcement-bar-slider {
    min-height: unset;
  }
}

/* â”€â”€ Mobile Product Page Refinements â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  /* Better product title sizing */
  .product__title h1,
  h1.product__title {
    font-size: 20px;
    line-height: 1.3;
  }

  /* Compact product info spacing */
  .product__info-wrapper {
    padding: 0 16px;
  }

  /* Better variant pill sizes for mobile */
  variant-radios label,
  .product-form__input label {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Hide desktop-only elements */
  .product__media-wrapper .media {
    cursor: default;
  }
}

/* â”€â”€ Mobile Collection Page â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 749px) {
  /* Two-column grid refinement */
  .collection .grid--2-col-tablet-down .grid__item {
    width: calc(50% - 8px);
  }

  /* Card text truncation */
  .card__heading a,
  .card-information__text {
    font-size: 13px;
    line-height: 1.3;
  }

  .card__heading {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Compact price on cards */
  .price .money,
  .price-item {
    font-size: 13px;
  }
}

/* â”€â”€ Safe area insets for notched devices â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@supports (padding: env(safe-area-inset-bottom)) {
  @media (max-width: 749px) {
    .dv-mobile-nav {
      padding-bottom: env(safe-area-inset-bottom);
      height: calc(56px + env(safe-area-inset-bottom));
    }

    body {
      padding-bottom: calc(62px + env(safe-area-inset-bottom)) !important;
    }

    .dv-sticky-atc-bar.dv-sticky-visible {
      bottom: calc(56px + env(safe-area-inset-bottom));
    }
  }
}

/* --------------------------------------------------------------------------
   DESIGN FIXES & FINAL OVERRIDES
   Source: design-fixes-s8.css
   -------------------------------------------------------------------------- */

.dv-coll-trust { padding: 12px 16px !important; margin-bottom: 8px !important; }

.dv-coll-trust h3 { font-size: 11px !important; letter-spacing: 0.08em !important; }

.dv-coll-trust p { font-size: 11px !important; }

.dv-piece-count-bar, .collection-product-count,
[class*="product-count"]:not(.dv-lux-banner__count) {
  display: none !important;
}

.collection-list .collection-card__image::after,
.collection-card .collection-card__image::after,
.collection-list__item .collection-card__image::after,
.card--collection .card__media::after {
  opacity: 0.3 !important;
}

.collection-list .collection-card__info,
.collection-card .card__information {
  background: linear-gradient(0deg, rgba(26,35,50,0.75) 0%, rgba(26,35,50,0.2) 60%, transparent 100%) !important;
}

.collection-list img, .collection-card img,
.card--collection img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

.collection-card__title, .card--collection .card__heading {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}

.article-card__info .article-card__author,
.blog-articles .article-card__date + span {

}

.blog-articles .article-card {
  border: none !important;
  background: transparent !important;
  transition: transform 0.4s ease !important;
}

.blog-articles .article-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: none !important;
}

.banner__text .button, .banner .shopify-section .button,
.slideshow__text .button {
  background: #c5a572 !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 36px !important;
  font-size: 14px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.banner__text p, .slideshow__text p,
.banner__text .banner__subheading {
  color: rgba(255,255,255,0.9) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
  font-size: 16px !important;
}

.dv-lux-banner ~ .shopify-section.section-wrapper:first-of-type {
  display: none !important;
}

.section-wrapper:has(> [style*="display: none"]):not(:has(> :not([style*="display: none"]))) {
  display: none !important;
}

.dv-coll-count { display: none !important; }

.dv-cat-card {
  position: relative !important;
  overflow: hidden !important;
}

.dv-cat-card-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 1 !important;
  display: block !important;
}

.dv-cat-card:hover .dv-cat-card-img { transform: scale(1.08); }

.dv-cat-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
}

.dv-cat-card-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

#MainContent > div:first-child + .shopify-section.section-wrapper {
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.dv-coll-count,
.dv-collection-enhance > .dv-coll-count {
  display: none !important;
}

[class*="piece-count"]:not(.dv-lux-banner__count) {
  display: none !important;
}

.collection .no-products-found,
.collection [id*="product-grid"] .no-products-found,
.collection .template-collection__no-products {
  display: none !important;
}

.dv-coll-empty {
  text-align: center;
  padding: 80px 24px 100px;
  max-width: 520px;
  margin: 0 auto;
}

.dv-coll-empty__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 28px;
  border: 1.5px solid #c5a572;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dv-coll-empty__icon svg {
  width: 24px;
  height: 24px;
  stroke: #c5a572;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dv-coll-empty h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  margin-bottom: 14px !important;
  letter-spacing: 0.04em !important;
}

.dv-coll-empty p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  color: #666 !important;
  line-height: 1.7 !important;
  margin-bottom: 32px !important;
}

.dv-coll-empty__cta {
  display: inline-block;
  padding: 14px 40px;
  background: #1A2332;
  color: #fff !important;
  text-decoration: none !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  border: 1px solid #1A2332;
}

.dv-coll-empty__cta:hover {
  background: #c5a572 !important;
  border-color: #c5a572 !important;
  color: #1A2332 !important;
}

.collection .facets-container:has(+ .collection-product-list:empty),
.collection .facets-wrapper:has(~ [data-products-count="0"]) {
  display: none !important;
}

.collection--empty .title-wrapper.center {
  display: none !important;
}

.collection--empty ~ .facets-wrapper,
.collection--empty .facets-wrapper,
body:has(.collection--empty) .facets-wrapper,
body:has(.collection--empty) #main-collection-filters {
  display: none !important;
}

body:has(.collection--empty) .product-count {
  display: none !important;
}

.dv-trust-badges {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 20px 0;
  border-top: 1px solid #e8e4df;
  margin-top: 16px;
  flex-wrap: wrap;
}

.dv-trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  color: #666;
  letter-spacing: 0.02em;
}

.dv-trust-badge svg {
  width: 16px;
  height: 16px;
  stroke: #c5a572;
  fill: none;
  stroke-width: 1.5;
  flex-shrink: 0;
}

.cart-drawer, .drawer {
  font-family: "DM Sans", sans-serif !important;
}

.cart-drawer .drawer__header, .drawer .drawer__header {
  border-bottom: 1px solid #e8e4df !important;
}

.cart-drawer .button, .drawer .button {
  border-radius: 0 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.search__input, .predictive-search__input {
  font-family: "DM Sans", sans-serif !important;
  border-radius: 0 !important;
  border-color: #e8e4df !important;
}

.search .button, .search__button {
  border-radius: 0 !important;
  background: #1A2332 !important;
  color: #fff !important;
}

.article-card__title, .article-card__title a {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  text-decoration: none !important;
}

.article-card__info {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.card-wrapper .card {
  transition: box-shadow 0.35s ease, transform 0.35s ease !important;
}

.card-wrapper:hover .card {
  box-shadow: 0 8px 32px rgba(26, 35, 50, 0.1) !important;
  transform: translateY(-4px) !important;
}

.card .media img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

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

.card-information {
  padding: 14px 8px 8px !important;
}

.card__heading a {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}

.card__heading a:hover {
  color: #c5a572 !important;
}

.quick-add__submit {
  background: #1A2332 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  transition: background 0.3s !important;
}

.quick-add__submit:hover {
  background: #c5a572 !important;
}

.cart-notification {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  border: 1px solid #e8e4df !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}

.cart-notification .button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.cart-notification .button--secondary {
  background: transparent !important;
  color: #1A2332 !important;
  border: 1px solid #1A2332 !important;
}

body {
  background-color: #f5f7fa !important;
}

.card, .card-wrapper, .product-form, .cart__items, .drawer {
  background-color: #fff !important;
}

.header, .shopify-section-header {
  background-color: #fff !important;
}

.footer, footer {
  background-color: #1A2332 !important;
}

.banner, .image-banner, .slideshow, [class*="hero"] {
  background-color: transparent !important;
}

.shopify-section:not(.shopify-section-header):not(.shopify-section-footer):not([class*="banner"]) {
  background-color: #f5f7fa;
}

.color-scheme-1 {
  --color-background: 245, 247, 250;
}

.cart__empty-text {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}

.drawer__inner-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  padding: 40px 24px;
  text-align: center;
}

.cart-drawer__empty-content {
  text-align: center;
}

.cart-drawer__empty-content a {
  display: inline-block;
  padding: 12px 32px;
  background: #1A2332;
  color: #fff !important;
  text-decoration: none !important;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: all 0.3s;
  margin-top: 16px;
}

.cart-drawer__empty-content a:hover {
  background: #c5a572;
  color: #1A2332 !important;
}

.customer .field, .customer input {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
}

.customer h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
}

.customer .button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.customer .button:hover {
  background: #c5a572 !important;
  color: #1A2332 !important;
}

.template-search .search__input {
  font-family: "DM Sans", sans-serif !important;
  font-size: 16px !important;
  border: 1px solid #e8e4df !important;
  border-radius: 0 !important;
  padding: 16px !important;
}

.template-search .search__button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 16px 24px !important;
}

.template-search h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

.predictive-search {
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  background: rgba(255, 255, 255, 0.92) !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.page-width {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

@media (max-width: 749px) {
  .shopify-section {
    overflow-x: hidden !important;
  }
  .page-width {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .announcement-bar {
    overflow: hidden !important;
  }

  .header {
    overflow: hidden !important;
  }

  img, video, iframe, table {
    max-width: 100% !important;
  }
  pre {
    overflow-x: auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 749px) {
  .announcement-bar__message {
    font-size: 9px !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
  }
  .announcement-bar {
    padding: 8px 12px !important;
  }

  .announcement-bar .slider-button {
    width: 28px !important;
    min-width: 28px !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 749px) {
  .header__heading-logo-wrapper img,
  .header__heading-logo-image {
    max-height: 28px !important;
  }
  .header__icon {
    width: 36px !important;
    height: 36px !important;
  }
}

@media (max-width: 749px) {
  .banner__heading {
    font-size: clamp(24px, 7vw, 36px) !important;
  }
  .banner__text p {
    font-size: 14px !important;
  }
  .banner .button {
    font-size: 11px !important;
    padding: 14px 24px !important;
    letter-spacing: 0.1em !important;
  }
}

@media (max-width: 749px) {
  .collection-list .grid__item {
    padding: 4px !important;
  }
}

.newsletter .newsletter__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

.newsletter .field__input {
  background: #ffffff !important;
}

.newsletter .newsletter__button {
  border-radius: 0 !important;
  background: #1A2332 !important;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.multicolumn-card__heading {
  transition: transform 0.3s ease !important;
}

.multicolumn-card__info p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.collection-list .collection-card__info {
  font-family: "DM Sans", sans-serif !important;
}

.collection-list .card__heading {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

.image-with-text__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.image-with-text__text {
  font-family: "DM Sans", sans-serif !important;
  line-height: 1.7 !important;
}

.predictive-search__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
}

.button, a.button, button.button {
  border-radius: 0 !important;
}

.article-template__hero-container h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.article-template__content {
  font-family: "DM Sans", sans-serif !important;
  line-height: 1.8 !important;
}

.breadcrumb__separator::before,
.breadcrumbs__separator::before {
  content: "C6" !important;
  color: #c5a572 !important;
  font-size: 6px !important;
  vertical-align: middle !important;
}

.product__info-wrapper {
  position: sticky;
  top: 100px;
}

.product__accordion summary {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  color: #1A2332 !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #e8e4df !important;
  cursor: pointer;
}

.product__accordion summary:hover {
  color: #c5a572 !important;
}

.product__accordion .accordion__content {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  padding: 16px 0 !important;
  color: #666 !important;
}

.product-form__input .swatch-input label {
  border: 1px solid #e8e4df !important;
  border-radius: 0 !important;
  transition: border-color 0.3s !important;
}

.product-form__input .swatch-input input:checked + label {
  border-color: #c5a572 !important;
  box-shadow: 0 0 0 1px #c5a572 !important;
}

.product__description {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: #666 !important;
}

.product__description h3, .product__description h4 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  margin-top: 20px !important;
}

.related-products h2, .product-recommendations h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

.dv-pin-save {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid #e60023;
  color: #e60023;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 20px;
  transition: all 0.3s;
  margin-top: 8px;
}

.dv-pin-save:hover {
  background: #e60023;
  color: #fff;
}

.dv-pin-save svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.dv-countdown {
  display: flex;
  gap: 12px;
  justify-content: center;
  padding: 16px;
  background: #1A2332;
  color: #fff;
  font-family: "DM Sans", sans-serif;
}

.dv-countdown-item {
  text-align: center;
}

.dv-countdown-num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  color: #c5a572;
}

.dv-countdown-label {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}

.dv-sale-badge {
  background: #c5a572 !important;
  color: #1A2332 !important;
}

.rte a:not(.button), .article-template a:not(.button) {
  position: relative;
  color: #c5a572 !important;
  text-decoration: none !important;
}

.rte a:not(.button)::after, .article-template a:not(.button)::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #c5a572;
  transition: width 0.3s ease;
}

.rte a:not(.button):hover::after, .article-template a:not(.button):hover::after {
  width: 100%;
}

input:focus, select:focus, textarea:focus, .field__input:focus {
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.button:active, .product-form__submit:active {
  transform: scale(0.98) !important;
}

.dv-promise {
  display: flex;
  justify-content: center;
  gap: 32px;
  padding: 24px 16px;
  background: #f5f7fa;
  border-top: 1px solid #e8e4df;
  border-bottom: 1px solid #e8e4df;
}

.dv-promise-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "DM Sans", sans-serif;
}

.dv-promise-item svg {
  width: 20px;
  height: 20px;
  stroke: #c5a572;
  fill: none;
  stroke-width: 1.5;
  flex-shrink: 0;
}

.dv-promise-text {
  font-size: 12px;
  color: #1A2332;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
}

@media (max-width: 749px) {
  .dv-promise {
    gap: 16px;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .dv-promise-text {
    font-size: 10px;
  }
}

.dv-skeleton {
  background: linear-gradient(90deg, #f0ede8 25%, #f8f6f3 50%, #f0ede8 75%);
  background-size: 200% 100%;
  animation: dv-shimmer 1.5s infinite;
  border-radius: 2px;
}

@keyframes dv-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.image-with-text .image-with-text__content p,
.image-with-text .image-with-text__content .rte p {
  color: rgba(255,255,255,0.85) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.image-with-text .image-with-text__content h2 {
  color: #fff !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.image-with-text .image-with-text__content .button {
  background: #c5a572 !important;
  color: #1A2332 !important;
  border: 1px solid #c5a572 !important;
}

.image-with-text .image-with-text__content .button:hover {
  background: #d4b88a !important;
}

.collection-list .collection-card__image {
  aspect-ratio: 3/4 !important;
}

.collection-list .card--collection {
  overflow: hidden !important;
}

.collection-list .card--collection img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform 0.6s ease !important;
}

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

.page-width .rte, .page-width .main-page-content {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.template-page h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 5vw, 44px) !important;
  color: #1A2332 !important;
  margin-bottom: 32px !important;
}

.template-page h2, .template-page h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
}

.template-page p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #555 !important;
}

.diavoria-announcement {
  display: none !important;
}

.multicolumn-card__info strong {
  font-weight: 600 !important;
  color: #1A2332 !important;
}

.multicolumn-card__info p:last-child {
  word-spacing: normal !important;
}

.shopify-section h2, .shopify-section .title {
  letter-spacing: 0.04em !important;
}

.shopify-section + .shopify-section::before {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c5a572, transparent);
  margin: 0 auto;
}

.shopify-section {
  opacity: 1 !important;
  transition: opacity 0.5s ease !important;
}

.multicolumn .multicolumn-card .icon-wrap svg {
  color: #c5a572 !important;
}

.shopify-section h2::after,
.section-header h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #c5a572;
  margin: 16px auto 0;
  transition: width 0.6s ease;
}

.shopify-section:hover h2::after {
  width: 80px;
}

.newsletter {
  position: relative !important;
}

.newsletter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c5a572, transparent);
}

.multicolumn-card:hover .icon-wrap {
  transform: translateY(-2px);
  transition: transform 0.3s ease;
}

.shopify-section img {
  transition: opacity 0.6s ease, transform 0.6s ease !important;
}

.footer__list-social a:hover svg,
.footer__list-social a:hover {
  transform: translateY(-2px) !important;
  transition: transform 0.3s ease !important;
}

.breadcrumbs, nav.breadcrumb {
  border-bottom: 1px solid #f0ede8 !important;
  padding-bottom: 16px !important;
  margin-bottom: 24px !important;
}

.template-page h1,
.template-collection h1,
.main-blog h1 {
  position: relative;
  padding-bottom: 20px !important;
}

.template-page h1::after,
.template-collection h1::after,
.main-blog h1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: #c5a572;
}

.blog-articles .article-card__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

.blog-articles .article-card__title a {
  color: #1A2332 !important;
  text-decoration: none !important;
}

.blog-articles .article-card__title a:hover {
  color: #c5a572 !important;
}

.blog-articles .article-card__excerpt {
  font-family: "DM Sans", sans-serif !important;
  color: #666 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.collection-hero {
  background: #1A2332 !important;
}

.collection-hero h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  font-weight: 400 !important;
}

.contact .form__label {
  color: #1A2332 !important;
  font-weight: 500 !important;
}

.contact textarea, .contact input {
  border-color: #e8e4df !important;
  border-radius: 0 !important;
}

.contact .button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
}

details summary {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid #e8e4df !important;
  cursor: pointer !important;
  color: #1A2332 !important;
  transition: color 0.3s !important;
}

details summary:hover {
  color: #c5a572 !important;
}

details[open] summary {
  color: #c5a572 !important;
}

details .accordion__content, details .rte {
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #666 !important;
  padding: 16px 0 24px !important;
}

.template-giftcard .gift-card__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.collection--empty .facets-container,
.collection--empty #main-collection-filters,
.collection--empty .collection-product-count,
.collection--empty .product-count {
  display: none !important;
}

.collection--empty .dv-coll-empty__icon,
.collection--empty svg {
  opacity: 0.4;
}

.banner .button--primary, .image-banner .button--primary {
  background: #c5a572 !important;
  color: #1A2332 !important;
  border: 1px solid #c5a572 !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 16px 48px !important;
  transition: all 0.3s !important;
}

.banner .button--primary:hover {
  background: #d4b88a !important;
  border-color: #d4b88a !important;
}

.banner .button--secondary, .image-banner .button--secondary {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 16px 48px !important;
}

.banner .button--secondary:hover {
  border-color: #c5a572 !important;
  color: #c5a572 !important;
}

.template-page .page-width > h1,
.template-page .main-page-content > h1,
.main-page h1 {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
}

.shopify-section-header-sticky .header--has-scrolled {
  box-shadow: 0 1px 3px rgba(26,35,50,0.06) !important;
}

.announcement-bar__message {
  font-weight: 500 !important;
}

.shopify-section + .shopify-section {
  border-top: none !important;
}

.cart-count-bubble {
  background: #c5a572 !important;
  color: #1A2332 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

.header__icon:hover {
  color: #c5a572 !important;
  transition: color 0.3s !important;
}

html {
  scroll-behavior: smooth !important;
}

@media print {
  .announcement-bar, .header, .footer, .newsletter,
  .back-to-top, .popup-modal { display: none !important; }
  body { background: #ffffff !important; color: #000 !important; }
}

.drawer {
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

.drawer__header {
  padding: 20px 24px !important;
}

.drawer__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  letter-spacing: 0.04em !important;
}

.announcement-bar .slider-counter {
  display: none !important;
}

.custom-liquid a[style*="aspect-ratio"] {
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.custom-liquid a[style*="aspect-ratio"]:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(26, 35, 50, 0.15) !important;
}

.custom-liquid a[style*="aspect-ratio"]:hover img {
  transform: scale(1.06) !important;
}

.multicolumn-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.multicolumn-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(26, 35, 50, 0.08) !important;
}

.card__heading a[href="/products/example-product"],
.card__heading:has(a[href*="example"]),
.product-card:has(a[href*="example"]) {
  display: none !important;
}

.shopify-section:has(.card__heading a[href="/products/example-product"]) .grid {
  display: none !important;
}

.shopify-section:has(.card__heading a[href="/products/example-product"]) h2 {
  display: none !important;
}

.banner, .image-banner {
  cursor: crosshair;
}

.banner:hover img, .image-banner:hover img {
  transform: scale(1.02) !important;
  transition: transform 8s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 2px solid #c5a572 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(197, 165, 114, 0.15) !important;
}

@media (max-width: 749px) {
  .collection-list {
    scroll-snap-type: x mandatory;
  }
  .collection-list__item {
    scroll-snap-align: start;
  }
}

.article-template {
  position: relative;
}

.dv-gold-text {
  background: linear-gradient(135deg, #c5a572, #d4b88a, #a88e5a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.image-with-text .image-with-text__media img {
  transition: transform 0.1s linear !important;
}

.multicolumn-card, .collection-card, .article-card {
  will-change: transform;
}

@keyframes dv-stagger-in {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.collection-list__item:nth-child(1) { animation: dv-stagger-in 0.6s 0.1s both; }

.collection-list__item:nth-child(2) { animation: dv-stagger-in 0.6s 0.2s both; }

.collection-list__item:nth-child(3) { animation: dv-stagger-in 0.6s 0.3s both; }

.collection-list__item:nth-child(4) { animation: dv-stagger-in 0.6s 0.4s both; }

.banner .button {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.banner .button:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 32px rgba(197, 165, 114, 0.25) !important;
}

@keyframes dv-text-reveal {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}

.banner__heading {
  animation: dv-text-reveal 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.image-with-text__media {
  overflow: hidden !important;
}

.image-with-text__media img {
  animation: dv-image-reveal 1s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

@keyframes dv-image-reveal {
  from { transform: scale(1.1); opacity: 0.8; }
  to { transform: scale(1); opacity: 1; }
}

.header__heading-link, .header__heading {
  background: linear-gradient(120deg, #a88e5a 0%, #d4b88a 25%, #c5a572 50%, #d4b88a 75%, #a88e5a 100%) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: dv-shimmer 4s linear infinite !important;
}

@keyframes dv-shimmer {
  to { background-position: 200% center; }
}

.banner .button--primary::before,
.image-banner .button--primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #d4b88a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  z-index: -1;
}

.banner .button--primary:hover::before {
  transform: scaleX(1);
}

.banner .button--primary {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

img[loading="lazy"] {
  filter: blur(0);
  transition: filter 0.5s ease !important;
}

.footer a:not(.footer__list-social a) {
  position: relative !important;
}

.footer a:not(.footer__list-social a)::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 0 !important;
  height: 1px !important;
  background: #c5a572 !important;
  transition: width 0.3s ease !important;
}

.footer a:not(.footer__list-social a):hover::after {
  width: 100% !important;
}

.predictive-search, .search-modal {
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(232, 228, 223, 0.5) !important;
}

.banner {
  position: relative !important;
  overflow: hidden !important;
}

@keyframes dv-scroll-hint {
  0%, 100% { opacity: 0.4; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(6px); }
}

.banner [class*="scroll"], .scroll-indicator {
  animation: dv-scroll-hint 2s ease-in-out infinite !important;
}

.card-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.1) 50%, transparent 60%);
  background-size: 250% 250%;
  opacity: 0;
  transition: opacity 0.3s, background-position 0.6s !important;
  pointer-events: none;
  z-index: 2;
}

.card-wrapper:hover::after {
  opacity: 1;
  background-position: -100% -100%;
}

.announcement-bar__link:hover {
  text-shadow: 0 0 8px rgba(197, 165, 114, 0.4) !important;
}

.rte table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.rte table thead th {
  background: #1A2332 !important;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 14px 16px !important;
}

.rte table tbody td {
  padding: 12px 16px !important;
  border-bottom: 1px solid #e8e4df !important;
  font-size: 14px !important;
}

.rte table tbody tr:nth-child(even) {
  background: #f5f7fa !important;
}

.stock-urgency {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  color: #c0392b;
  margin-top: 8px;
}
.stock-pulse {
  width: 8px;
  height: 8px;
  background: #c0392b;
  border-radius: 50%;
  animation: dv-pulse 1.5s ease-in-out infinite;
}
@keyframes dv-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.3); }
}

.breadcrumbs__separator::before {
  content: "C6" !important;
  color: #c5a572 !important;
  font-size: 5px !important;
}

.product-form__input input:checked + label {
  border-color: #c5a572 !important;
  box-shadow: 0 0 0 1px #c5a572 !important;
}

.product__accordion details summary {
  transition: color 0.3s, padding-left 0.3s !important;
}
.product__accordion details[open] summary {
  padding-left: 8px !important;
  border-left: 2px solid #c5a572 !important;
}

.dv-ring-sizer {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  color: #c5a572;
  text-decoration: none;
  letter-spacing: 0.06em;
  margin-top: 12px;
  transition: color 0.3s;
}
.dv-ring-sizer:hover {
  color: #a88e5a;
  text-decoration: underline;
}
.dv-ring-sizer svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.product-form__submit[disabled] {
  background: #e8e4df !important;
  color: #999 !important;
  border-color: #e8e4df !important;
  cursor: not-allowed !important;
  letter-spacing: 0.12em !important;
}

.card-wrapper {
  position: relative !important;
}
.dv-wishlist-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(6px);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.3s, transform 0.3s, color 0.3s;
  z-index: 3;
  color: #1A2332;
}
.card-wrapper:hover .dv-wishlist-btn {
  opacity: 1;
  transform: translateY(0);
}
.dv-wishlist-btn:hover {
  color: #c5a572;
}
.dv-wishlist-btn.active {
  color: #c0392b;
}

.price .price-item--sale {
  color: #c5a572 !important;
  font-weight: 600 !important;
}
.price .price-item--regular + .price-item--sale {
  margin-left: 8px;
}

.badge--sale {
  background: #c5a572 !important;
  color: #1A2332 !important;
}
.badge--sold-out {
  background: #666 !important;
}

.shopify-payment-button {
  margin-top: 8px !important;
}
.shopify-payment-button__button {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
}

.product__info-wrapper {
  scrollbar-width: thin;
  scrollbar-color: #c5a572 transparent;
}
.product__info-wrapper::-webkit-scrollbar {
  width: 4px;
}
.product__info-wrapper::-webkit-scrollbar-thumb {
  background: #c5a572;
  border-radius: 2px;
}

.facets__summary {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  border-color: #e8e4df !important;
  border-radius: 0 !important;
}
.active-facets__button {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
}

.cart-notification {
  border-radius: 0 !important;
  border: 1px solid #e8e4df !important;
  font-family: "DM Sans", sans-serif !important;
}
.cart-notification .button {
  border-radius: 0 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.collection .grid__item {
  animation: dv-stagger-in 0.5s both;
}
.collection .grid__item:nth-child(1) { animation-delay: 0.05s; }
.collection .grid__item:nth-child(2) { animation-delay: 0.1s; }
.collection .grid__item:nth-child(3) { animation-delay: 0.15s; }
.collection .grid__item:nth-child(4) { animation-delay: 0.2s; }
.collection .grid__item:nth-child(5) { animation-delay: 0.25s; }
.collection .grid__item:nth-child(6) { animation-delay: 0.3s; }
.collection .grid__item:nth-child(7) { animation-delay: 0.35s; }
.collection .grid__item:nth-child(8) { animation-delay: 0.4s; }

.card__media .media {
  aspect-ratio: 3/4 !important;
}
.card__media img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

.collection-hero__inner {
  position: relative;
}
.collection-hero__inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(26,35,50,0.2), rgba(26,35,50,0.5));
  pointer-events: none;
}
.collection-hero__title, .collection-hero__description {
  position: relative;
  z-index: 1;
}

/* === QUICK VIEW MODAL === */
.dv-quickview {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 35, 50, 0.6);
  backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.dv-quickview.active {
  opacity: 1;
  visibility: visible;
}
.dv-quickview__content {
  background: #fff;
  max-width: 900px;
  width: 90%;
  max-height: 85vh;
  overflow-y: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  position: relative;
}
@media (max-width: 749px) {
  .dv-quickview__content {
    grid-template-columns: 1fr;
    max-height: 90vh;
  }
}
.dv-quickview__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  color: #1A2332;
  cursor: pointer;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dv-quickview__image {
  aspect-ratio: 3/4;
  overflow: hidden;
  background: #f5f7fa;
}
.dv-quickview__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dv-quickview__info {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dv-quickview__title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  color: #1A2332;
  margin-bottom: 12px;
}
.dv-quickview__price {
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  color: #c5a572;
  font-weight: 500;
  margin-bottom: 20px;
}
.dv-quickview__btn {
  display: inline-block;
  padding: 14px 36px;
  background: #1A2332;
  color: #fff;
  text-decoration: none;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
}
.dv-quickview__btn:hover {
  background: #c5a572;
  color: #1A2332;
}

/* === QUICK ADD BUTTON ON CARDS === */
.card-wrapper .quick-add {
  position: absolute !important;
  bottom: 8px !important;
  left: 8px !important;
  right: 8px !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity 0.3s, transform 0.3s !important;
}
.card-wrapper:hover .quick-add {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* === MOBILE PRODUCT GALLERY SWIPE === */
@media (max-width: 749px) {
  .product__media-list {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 4px !important;
  }
  .product__media-list::-webkit-scrollbar { display: none !important; }
  .product__media-item {
    scroll-snap-align: center !important;
    flex: 0 0 92vw !important;
    overflow: hidden !important;
  }
  
  /* Mobile hero text size */
  .banner__heading {
    font-size: clamp(28px, 8vw, 40px) !important;
  }
  
  /* Mobile cart drawer full height */
  .drawer {
    max-width: 100vw !important;
  }
  
  /* Thumb-friendly touch targets */
  .header__icon, .header__menu-item {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  
  /* Mobile product info padding */
  .product__info-wrapper {
    padding: 0 16px !important;
  }
}

/* === HAPTIC FEEDBACK VISUAL (mobile tap) === */
@media (hover: none) {
  .button:active, .card-wrapper:active {
    transform: scale(0.97) !important;
    transition: transform 0.1s !important;
  }
}

/* === ORDER CONFIRMATION STYLING === */
.os-header__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

/* === LOADING STATE ANIMATION === */
.loading-overlay {
  background: rgba(245, 247, 250, 0.8) !important;
  backdrop-filter: blur(4px) !important;
}
.loading-overlay__spinner circle {
  stroke: #c5a572 !important;
}

/* === FORM VALIDATION STYLING === */
.form__message--error {
  color: #c0392b !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
}

/* === PRODUCT COMPARE AT PRICE === */
.price--on-sale .price-item--regular {
  text-decoration: line-through !important;
  color: #999 !important;
  font-size: 0.9em !important;
}
.price--on-sale .price-item--sale {
  color: #c5a572 !important;
  font-weight: 600 !important;
}

/* === COLLECTION PRODUCT COUNT === */
.collection-product-count, .product-count {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
  letter-spacing: 0.04em !important;
}

/* === BLOG ARTICLE READING EXPERIENCE === */
.article-template__content .rte {
  max-width: 720px !important;
  margin: 0 auto !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #333 !important;
}
.article-template__content .rte p {
  margin-bottom: 1.5em !important;
}
.article-template__content .rte h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  margin-top: 2em !important;
  margin-bottom: 0.8em !important;
  color: #1A2332 !important;
}
.article-template__content .rte h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.6em !important;
  color: #1A2332 !important;
}
.article-template__content .rte blockquote {
  border-left: 3px solid #c5a572 !important;
  padding-left: 24px !important;
  margin: 2em 0 !important;
  font-style: italic !important;
  color: #666 !important;
}
.article-template__content .rte ul li {
  margin-bottom: 0.5em !important;
}
.article-template__content .rte ul li::marker {
  color: #c5a572 !important;
}
.article-template__content .rte img {
  border-radius: 4px !important;
  margin: 2em 0 !important;
}
.article-template__content .rte a {
  color: #c5a572 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.article-template__content .rte a:hover {
  color: #a88e5a !important;
}

/* === ARTICLE META INFO === */
.article-template__hero-container .article-template__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}
.article-template__hero-container time {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #999 !important;
}

/* === RELATED PRODUCTS SECTION === */
.related-products, .product-recommendations {
  border-top: 1px solid #e8e4df !important;
  padding-top: 48px !important;
  margin-top: 48px !important;
}
.related-products h2, .product-recommendations h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 32px !important;
}
.related-products h2::after, .product-recommendations h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #c5a572;
  margin: 16px auto 0;
}

/* === FEATURED COLLECTION ON OTHER PAGES === */
.featured-collection h2, section[class*="featured"] h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

/* === REDUCED MOTION RESPECT === */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .banner:hover img {
    transform: none !important;
  }
}

/* === HIGH CONTRAST MODE === */
@media (forced-colors: active) {
  .button, .product-form__submit {
    border: 2px solid ButtonText !important;
  }
  .badge {
    border: 1px solid ButtonText !important;
  }
}

/* === FOCUS MANAGEMENT === */
.skip-to-content-link:focus {
  position: fixed !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 100001 !important;
  padding: 12px 24px !important;
  background: #1A2332 !important;
  color: #fff !important;
  text-decoration: none !important;
}


/* --------------------------------------------------------------------------
   PREMIUM ENHANCEMENTS (v2 - Added 2026-03-16)
   -------------------------------------------------------------------------- */

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

/* Better focus styles for accessibility */
:focus-visible {
  outline: 2px solid #c5a572 !important;
  outline-offset: 2px !important;
}

/* Premium selection color */
::selection { background: rgba(197, 165, 114, 0.25); color: #1A2332; }
::-moz-selection { background: rgba(197, 165, 114, 0.25); color: #1A2332; }

/* Announcement bar text size fix on mobile */
@media (max-width: 749px) {
  .announcement-bar__message { font-size: 11px !important; letter-spacing: 0.08em !important; }
}

/* Product card hover lift effect */
.card-wrapper:hover .card {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(26, 35, 50, 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.card {
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Price display refinements */
.price__regular .price-item--regular {
  font-family: var(--font-heading-family) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
}
.price--on-sale .price-item--sale {
  color: #c5a572 !important;
  font-family: var(--font-heading-family) !important;
}

/* Collection page grid improvements */
.collection-product-list .grid__item {
  margin-bottom: 8px;
}

/* Breadcrumb refinements */
.breadcrumbs, nav[aria-label="breadcrumb"] {
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #999 !important;
}
.breadcrumbs a, nav[aria-label="breadcrumb"] a {
  color: #999 !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}
.breadcrumbs a:hover, nav[aria-label="breadcrumb"] a:hover {
  color: #c5a572 !important;
}

/* Smooth image loading transition */
.media img,
.product__media img,
.card__media img {
  transition: opacity 0.4s ease;
}

/* Cart drawer improvements */
.cart-drawer .totals {
  font-family: var(--font-heading-family) !important;
  letter-spacing: 0.04em !important;
}

/* Checkout button premium style */
.cart__ctas button[name="checkout"],
.cart__ctas .shopify-payment-button button,
.cart-drawer__ctas button[name="checkout"] {
  font-family: var(--font-body-family) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  padding: 16px 32px !important;
}

/* Gift wrapping CTA on cart page */
.dv-gift-wrap {
  text-align: center;
  padding: 16px;
  margin: 16px 0;
  border: 1px dashed #c5a572;
  border-radius: 2px;
  font-family: var(--font-body-family);
  font-size: 13px;
  color: #666;
}
.dv-gift-wrap strong {
  color: #c5a572;
}

/* Print styles for order confirmations */
@media print {
  .header, .footer, .announcement-bar, .cookie-banner { display: none !important; }
  .main-content { margin: 0; padding: 20px; }
  a[href]::after { content: " (" attr(href) ")"; font-size: 10px; color: #666; }
}


/* Hide placeholder/example product cards (shown when collection is empty) */
.card-wrapper a[aria-disabled="true"],
.card--placeholder,
.product-card--placeholder {
  display: none !important;
}

/* Also hide sections with only placeholder content */
.featured-collection .card-wrapper:only-child a[aria-disabled="true"] {
  display: none !important;
}
.featured-collection:has(.card-wrapper a[aria-disabled="true"]:only-child) {
  display: none !important;
}


/* --------------------------------------------------------------------------
   PDP CONVERSION ENHANCEMENTS (v2)
   -------------------------------------------------------------------------- */

/* Product gallery image zoom cursor */
.product__media-item {
  cursor: zoom-in;
}
.product__media-item img {
  transition: transform 0.4s ease;
}

/* Product info section spacing */
.product__info-container {
  padding-top: 0 !important;
}

/* Collapsible tab premium styling */
.product__accordion .accordion__content {
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #555 !important;
}

.product__accordion details[open] summary {
  border-bottom: 1px solid #e8e4df;
}

.product__accordion summary {
  font-family: var(--font-heading-family) !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  padding: 16px 0 !important;
}

/* "Add to Cart" button premium pulse on hover */
.product-form__submit:not([disabled]):hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(26, 35, 50, 0.15);
}

/* Compare at price line-through styling */
.price--on-sale .price-item--regular {
  text-decoration: line-through !important;
  color: #999 !important;
  font-size: 0.85em !important;
}

/* Product tags display */
.product__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.product__tag {
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border: 1px solid #e8e4df;
  color: #999;
  font-family: var(--font-body-family);
}

/* Notify Me form styling */
.dv-notify-stock input[type="email"]:focus {
  border-color: #c5a572;
  outline: none;
}

.dv-notify-stock button:hover {
  background: #c5a572 !important;
}


/* --------------------------------------------------------------------------
   ENHANCED SEARCH EXPERIENCE
   -------------------------------------------------------------------------- */

/* Predictive search dropdown */
.predictive-search {
  border: 1px solid #e8e4df !important;
  border-radius: 2px !important;
  box-shadow: 0 8px 32px rgba(26, 35, 50, 0.08) !important;
}

.predictive-search__result-group {
  padding: 12px 16px !important;
}

.predictive-search__heading {
  font-family: var(--font-heading-family) !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #c5a572 !important;
  margin-bottom: 8px !important;
}

.predictive-search__item {
  padding: 8px 0 !important;
  border-bottom: 1px solid #f5f3ef !important;
}

.predictive-search__item:last-child {
  border-bottom: none !important;
}

.predictive-search__item-heading {
  font-family: var(--font-heading-family) !important;
  font-size: 14px !important;
  color: #1A2332 !important;
}

/* Search input styling */
.search__input {
  font-family: var(--font-body-family) !important;
  font-size: 15px !important;
  border: 1px solid #e8e4df !important;
  border-radius: 0 !important;
  padding: 14px 48px 14px 16px !important;
}

.search__input:focus {
  border-color: #c5a572 !important;
  box-shadow: 0 0 0 1px #c5a572 !important;
}

/* Search results page */
.template-search .grid__item .card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.template-search .grid__item .card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(26, 35, 50, 0.06);
}


/* --------------------------------------------------------------------------
   BLOG READING EXPERIENCE
   -------------------------------------------------------------------------- */

/* Article content typography */
.article-template__content,
.article-template .rte {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #333 !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

.article-template .rte h2,
.article-template .rte h3 {
  font-family: var(--font-heading-family) !important;
  color: #1A2332 !important;
  margin-top: 2em !important;
  margin-bottom: 0.5em !important;
}

.article-template .rte h2 {
  font-size: 28px !important;
}

.article-template .rte h3 {
  font-size: 22px !important;
}

.article-template .rte p {
  margin-bottom: 1.2em !important;
}

.article-template .rte img {
  border-radius: 2px !important;
  margin: 2em 0 !important;
}

.article-template .rte blockquote {
  border-left: 3px solid #c5a572 !important;
  padding-left: 20px !important;
  margin: 2em 0 !important;
  font-style: italic !important;
  color: #555 !important;
}

.article-template .rte a {
  color: #c5a572 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
  transition: color 0.3s !important;
}

.article-template .rte a:hover {
  color: #1A2332 !important;
}

/* Blog listing card improvements */
.blog-articles .card__heading a {
  font-family: var(--font-heading-family) !important;
  letter-spacing: 0.02em !important;
}

/* Article meta info */
.article-template__hero-medium time,
.article-template time {
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #999 !important;
}

/* Article tags */
.article-template__tags a {
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border: 1px solid #e8e4df !important;
  color: #999 !important;
  transition: all 0.3s !important;
}

.article-template__tags a:hover {
  border-color: #c5a572 !important;
  color: #c5a572 !important;
}


/* --------------------------------------------------------------------------
   FOOTER REFINEMENTS
   -------------------------------------------------------------------------- */

/* Footer column headings */
.footer-block__heading {
  font-family: var(--font-heading-family) !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

/* Footer links */
.footer-block a {
  font-size: 13px !important;
  color: rgba(255,255,255,0.7) !important;
  transition: color 0.3s !important;
  text-decoration: none !important;
}

.footer-block a:hover {
  color: #c5a572 !important;
}

/* Footer payment icons */
.footer__payment svg,
.footer__payment img {
  opacity: 0.6;
  transition: opacity 0.3s;
}

.footer__payment svg:hover,
.footer__payment img:hover {
  opacity: 1;
}

/* Footer social icons */
.footer__list-social a {
  transition: transform 0.3s, color 0.3s !important;
}

.footer__list-social a:hover {
  transform: translateY(-2px);
  color: #c5a572 !important;
}

/* Footer bottom bar */
.footer__content-bottom {
  padding-top: 20px !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
}

/* Copyright text */
.footer__copyright {
  font-size: 12px !important;
  color: rgba(255,255,255,0.4) !important;
}


/* ==========================================================================
   DIAVORIA OVERHAUL — Phase 1 Critical Fixes
   Date: 2026-03-16
   Based on 15+ audit reports
   ========================================================================== */

/* --- FIX 1: Announcement Bar Overflow (CRITICAL) ---
   Overflow on 7/9 breakpoints due to slider slides extending past viewport.
   audit_responsive_results.md: Issue 1 */
.announcement-bar-slider,
.announcement-bar .slider,
.slider--announcement-bar,
[id*="announcement-bar"] .slider,
[class*="announcement-bar"] .slideshow,
.utility-bar-slider {
  overflow: hidden !important;
  max-width: 100vw !important;
}
.shopify-section-group-header-group .shopify-section:first-child,
[class*="section--announcement"],
.announcement-bar {
  overflow: hidden !important;
}

/* --- FIX 2: Header-Announcement Gap (audit_homepage: H1) ---
   40px gap between announcement bar and header */
.shopify-section-header {
  margin-top: 0 !important;
}

/* --- FIX 3: New Arrivals Heading Invisible (CRITICAL) ---
   Dark text on dark background - completely invisible.
   audit_homepage: ISSUE-NA1 */
.color-scheme-3 h2,
.color-scheme-3 .title,
.color-scheme-3 .section-header__title,
[id*="new_arri"] h2,
[id*="new_arri"] .title {
  color: #ffffff !important;
}
.color-scheme-3 .title-wrapper-with-link .title-wrapper--self-padded-mobile {
  color: #ffffff !important;
}

/* --- FIX 4: Footer Links Invisible (CRITICAL) ---
   Dark text on dark bg. audit_homepage: ISSUE-F1 */
footer a,
.footer a,
.footer-block a,
.footer-block__details-content a,
.footer-block__details-content li,
.footer .list-menu__item--link {
  color: rgba(245, 243, 239, 0.75) !important;
}
footer a:hover,
.footer a:hover,
.footer-block a:hover {
  color: rgb(255, 255, 255) !important;
}
/* Footer headings gold */
footer h2,
.footer h2,
.footer-block__heading,
footer .h4 {
  color: var(--dv-gold) !important;
}

/* --- FIX 5: Newsletter Input Visibility (audit_homepage: NL1) --- */
.newsletter input[type="email"],
.newsletter .field__input {
  background: rgba(255, 255, 255, 0.15) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  color: #ffffff !important;
}
.newsletter input[type="email"]::placeholder,
.newsletter .field__input::placeholder {
  color: rgba(255, 255, 255, 0.6) !important;
}
.newsletter input[type="email"]:focus,
.newsletter .field__input:focus {
  border-color: rgba(255, 255, 255, 0.7) !important;
  background: rgba(255, 255, 255, 0.2) !important;
}

/* --- FIX 6: Trust Bar Text Hierarchy ---
   Description (16.8px) larger than title (14px). audit_homepage: T2 */
[id*="trust_bar"] .multicolumn-card h3,
[id*="trust"] .multicolumn-card h3 {
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
[id*="trust_bar"] .multicolumn-card .rte,
[id*="trust_bar"] .multicolumn-card p,
[id*="trust"] .multicolumn-card .rte,
[id*="trust"] .multicolumn-card p {
  font-size: 13px !important;
}

/* --- FIX 7: Collection Hero Too Tall ---
   971px desktop, 1371px mobile. audit_collection: Issue 4 */
.collection-hero {
  max-height: 420px;
  overflow: hidden;
}
.collection-hero .collection-hero__description::after,
.collection-hero .collection__description::after {
  background: linear-gradient(transparent, #fff) !important;
}

/* --- FIX 8: Line-Clamp Bug on Product Card Titles ---
   display: -webkit-box overridden to flow-root. audit_collection: Issue 2 */
.card--standard > .card__content .card__heading a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* --- FIX 9: Breadcrumb Font Size & Touch Targets ---
   8.19px on mobile, 27x10px touch targets. audit_responsive: Issue 4 */
.diavoria-breadcrumbs a,
.diavoria-breadcrumbs li,
[class*="breadcrumb"] a,
[class*="breadcrumb"] li {
  font-size: 13px !important;
  line-height: 1.4;
}
[class*="breadcrumb"] a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 0.4rem;
}

/* --- FIX 10: Sale Badge Too Small ---
   10px across all breakpoints. audit_responsive: Issue 3 */
.badge:not(.badge--bottom-left) {
  font-size: 12px !important;
}
.badge.badge--bottom-left {
  font-size: 12px !important;
  min-width: 3.6rem;
  min-height: 2rem;
  padding: 0.2rem 0.6rem;
  line-height: 1.3;
}

/* --- FIX 11: Wishlist Button Touch Targets ---
   32-36px, needs 44px. audit_responsive: Issue 5 */
.wishlist-btn {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
}

/* --- FIX 12: Product Description Read-More ---
   Description 1640px+ on PDP. audit_pdp: Issue 4 */
.product__description {
  max-height: 300px;
  overflow: hidden;
  position: relative;
  transition: max-height 0.5s ease;
}
.product__description::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(transparent, var(--dv-cream, #f5f7fa));
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.product__description.dv-expanded {
  max-height: none !important;
}
.product__description.dv-expanded::after {
  opacity: 0;
}
.dv-read-more-btn {
  display: block;
  margin: 12px auto 0;
  padding: 8px 24px;
  background: none;
  border: 1px solid var(--dv-border);
  color: var(--dv-gold);
  font-family: var(--dv-heading-font);
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
}
.dv-read-more-btn:hover {
  background: var(--dv-gold);
  color: #fff;
  border-color: var(--dv-gold);
}

/* --- FIX 13: Variant Sold-Out Text Visibility ---
   audit_pdp: Issue 5 */
.product-form__input--pill label .visually-hidden {
  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;
}

/* --- FIX 14: Sale Badge Gold Branding ---
   audit_pdp: Issue 6 */
.badge.price__badge-sale,
.price__badge-sale {
  background: var(--dv-gold) !important;
  color: #fff !important;
  font-family: var(--dv-heading-font) !important;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 12px;
}

/* --- FIX 15: Size Label Uppercase ---
   audit_pdp: Issue 10 */
.product-form__input legend,
.product-form__input .form__label {
  font-family: var(--dv-heading-font) !important;
  font-size: 13px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--dv-charcoal);
}

/* --- FIX 16: Price More Prominent ---
   audit_pdp: Issue 11 */
.product__info-wrapper .price-item--sale,
.product__info-container .price-item--sale {
  font-weight: 500;
  font-size: 22px;
}

/* --- FIX 17: Low Stock Indicator Enhancement ---
   audit_pdp: Issue 13 */
.dv-low-stock {
  font-size: 12px;
  color: var(--dv-gold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding-left: 12px;
  border-left: 2px solid var(--dv-gold);
  margin: 8px 0;
}

/* --- FIX 18: Search Input Font ---
   audit_typography_live: Search input uses serif. Should be sans-serif. */
input[type="search"],
.search__input,
.field__input[type="search"],
#Search-In-Modal {
  font-family: var(--dv-body-font) !important;
}

/* --- FIX 19: Compare-at Price Contrast ---
   audit_homepage: NA3 */
.price-item--regular s,
s.price-item--regular {
  color: rgba(26, 35, 50, 0.55) !important;
}

/* --- FIX 20: Brand Story Body Contrast ---
   audit_homepage: BS1 */
[id*="brand"] .rte p,
.image-with-text .rte p {
  color: rgba(26, 35, 50, 0.78);
}

/* --- FIX 21: Mega Menu Link Targets ---
   audit_responsive: Issue 6 */
@media screen and (min-width: 990px) {
  .mega-menu__link--level-2 {
    min-height: 44px !important;
    display: flex !important;
    align-items: center;
    padding: 0.6rem 1rem;
  }
}

/* --- FIX 22: Filter & Footer Touch Targets ---
   audit_responsive: Issue 8 */
.facets__reset {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
}
.facets__label {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  cursor: pointer;
}
.facets__label input[type="checkbox"] {
  width: 20px;
  height: 20px;
}
.footer .list-menu__item {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
.list-social__link {
  min-width: 44px !important;
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* --- FIX 23: Product Trust Badge Text Size ---
   audit_responsive: Issue 7 */
.product__trust-badges span,
.trust-badges span,
[class*="trust-badge"] span,
.product-trust span {
  font-size: 12px !important;
}

/* --- FIX 24: Review Count Badge Size ---
   audit_responsive: Issue 9 */
.spr-badge-caption,
.jdgm-prev-badge__text,
[class*="review"] .badge-caption {
  font-size: 12px !important;
}

/* --- FIX 25: Product Description Table ---
   audit_pdp: Issue 18 */
.product__description table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
}
.product__description td,
.product__description th {
  padding: 10px 14px;
  border: 1px solid var(--dv-border);
  font-size: 14px;
}
.product__description th,
.product__description td:first-child {
  font-weight: 500;
  background: rgba(245, 247, 250, 0.5);
}

/* ==== MOBILE RESPONSIVE OVERHAUL ==== */
@media screen and (max-width: 749px) {
  /* FIX: Announcement bar text (11px -> 12px) */
  .announcement-bar__message,
  .announcement-bar__message.h5,
  .announcement-bar__message p,
  .announcement-bar__message span {
    font-size: 12px !important;
    line-height: 1.4;
  }

  /* FIX: Collection hero 1371px on mobile */
  .collection-hero {
    max-height: 280px;
  }
  .collection-hero__title {
    font-size: 26px !important;
  }
  .collection-hero__description,
  .collection-hero .rte {
    max-height: 50px;
    font-size: 13px;
  }

  /* FIX: Hero overflow on mobile */
  .shopify-section[id*="hero"],
  [id*="hero"] .banner,
  [id*="hero"] .banner__media {
    overflow: hidden !important;
    max-width: 100vw;
  }

  /* FIX: Pagination overflow on mobile */
  .pagination-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 8px;
  }
  .pagination__list {
    flex-wrap: nowrap;
    gap: 4px;
  }
  .pagination__item a,
  .pagination__item span {
    min-height: 44px;
    min-width: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
  }

  /* FIX: Mobile filter/sort touch targets */
  .mobile-facets__open {
    min-height: 44px;
  }
  .facet-filters__sort select {
    min-height: 44px;
  }

  /* FIX: ATC button bigger on mobile */
  .product-form__submit {
    min-height: 52px;
    font-size: 15px;
  }

  /* FIX: Breadcrumb smaller on mobile */
  .diavoria-breadcrumbs li {
    font-size: 11px !important;
  }
}

/* ==== Defensive: Scroll-trigger animation fallback ==== */
@media (prefers-reduced-motion: reduce) {
  ul.product-grid .grid__item.scroll-trigger--offscreen {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ==== END OVERHAUL PHASE 1 ==== */


/* --- FIX: Bestsellers visibility on desktop ---
   Section was invisible on desktop (0 height, visibility:hidden).
   Ensure it's visible when products are present. */
.shopify-section[id*="bestsell"],
.shopify-section[id*="best-sell"] {
  visibility: visible !important;
  height: auto !important;
}
.shopify-section[id*="bestsell"] > *,
.shopify-section[id*="best-sell"] > * {
  visibility: visible !important;
}


/* ==== PHASE 3: DESIGN POLISH & QA — 2026-03-16 ==== */

/* --- P3-FIX-01: Announcement Bar Font & Size ---
   Audit: 12px serif (Playfair/Cormorant) is hard to read at small size.
   Fix: Use body sans-serif font, bump to 13px for readability. */
.announcement-bar__message,
.announcement-bar__message p,
.announcement-bar__message span,
.announcement-bar__announcement,
.announcement-bar__announcement p,
.announcement-bar__announcement span,
.utility-bar,
.utility-bar span,
.utility-bar p,
.slideshow__slide .announcement-bar__announcement,
.slideshow__slide .announcement-bar__announcement p {
  font-family: var(--dv-body-font, Inter, sans-serif) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em;
}

/* --- P3-FIX-02: Mobile Announcement Bar 10px -> 13px ---
   Audit: 36 elements <12px on mobile. Announcement bar items are 10px on 390px. */
@media screen and (max-width: 749px) {
  .announcement-bar__message,
  .announcement-bar__message p,
  .announcement-bar__message span,
  .announcement-bar__announcement,
  .announcement-bar__announcement p,
  .announcement-bar__announcement span,
  .slideshow__slide .announcement-bar__announcement,
  .slideshow__slide .announcement-bar__announcement p {
    font-size: 11px !important;
    letter-spacing: 0.02em;
  }
}

/* --- P3-FIX-03: Mobile Footer Headings 11px -> 13px ---
   Audit: Footer H4 headings are 11px on mobile. */
@media screen and (max-width: 749px) {
  .footer-block__heading,
  footer h4,
  .footer h4 {
    font-size: 13px !important;
  }
}

/* --- P3-FIX-04: Stats Section Labels 11px -> 12px ---
   Audit: Stats counters (Happy Customers, etc.) label spans are 11px. */
[id*="stats"] span,
[id*="stats"] p,
.multicolumn-card__info span {
  font-size: 12px !important;
}

/* --- P3-FIX-05: Slider Counter 10.5px -> 12px ---
   Audit: Testimonial slider counter "1 / 6" is 10.5px. */
.slider-counter,
.slider-counter span,
.slider-counter--current,
.slider-counter--total {
  font-size: 12px !important;
}

/* --- P3-FIX-06: Search Label 11px -> 12px --- */
.field__label {
  font-size: 12px !important;
}

/* --- P3-FIX-07: Small Touch Targets - Slider Buttons ---
   Audit: Slider prev/next buttons are 28x44px. Need 44x44px. */
.slider-button {
  min-width: 44px !important;
  min-height: 44px !important;
}

/* --- P3-FIX-08: Small Touch Targets - Footer Links ---
   Audit: FAQ links 29px wide, Privacy Policy 17px high. */
footer .list-menu__item a,
.footer .list-menu__item a,
.footer-block a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
}
.footer .policies a,
footer .policies a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* --- P3-FIX-09: Promise Section Text Readability ---
   Ensure promise section subtitle is >=12px. */
[id*="promise"] p {
  font-size: 14px !important;
  line-height: 1.6;
}

/* --- P3-FIX-10: Collection Page - Gradient Fix ---
   Audit: Description gradient uses warm-bg but hero bg is white.
   Fix gradient to match actual hero background. */
.collection-hero .collection-hero__description::after,
.collection-hero .collection__description::after,
.collection .collection-hero__description::after {
  background: linear-gradient(transparent, rgb(var(--color-background))) !important;
}

/* --- P3-FIX-11: Collection Page - Line Clamp Bug ---
   Audit: display: -webkit-box overridden to flow-root.
   Reinforcing with higher specificity. */
.card--standard > .card__content .card__heading a,
.product-grid .card__heading a,
.card-information__text a.full-unstyled-link {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* --- P3-FIX-12: Global Minimum Font Size ---
   Defensive: No visible text should ever be below 11px. */
/* min-font-size is not a valid CSS property - removed.
   Minimum font sizes enforced on specific elements instead. */
/* @supports block removed - min-font-size is not valid CSS */

/* --- P3-FIX-13: Testimonial Card Spacing ---
   Better spacing for testimonial cards on mobile. */
@media screen and (max-width: 749px) {
  [id*="testimonial"] .slider--mobile .slider__slide {
    padding: 0 8px;
  }
  [id*="testimonial"] .multicolumn-card__info {
    padding: 16px;
  }
}

/* --- P3-FIX-14: Brand Story Section on Mobile ---
   Ensure image-with-text is well-spaced on mobile. */
@media screen and (max-width: 749px) {
  .image-with-text .image-with-text__content {
    padding: 24px 16px !important;
  }
  .image-with-text .image-with-text__content h2 {
    font-size: 28px !important;
  }
}

/* --- P3-FIX-15: Collection Filter German Labels Fallback ---
   In case JS translation doesn't fire fast enough, hide briefly. */
.facets__label[data-label-translated="false"] {
  opacity: 0;
  transition: opacity 0.2s;
}
.facets__label[data-label-translated="true"],
.facets__label:not([data-label-translated]) {
  opacity: 1;
}

/* --- P3-FIX-16: Hero CTA Buttons - Sharper Luxury Feel ---
   DESIGN_BENCHMARK_SPEC: 0px border-radius for luxury. */
.banner__buttons .button,
.banner__buttons .button--primary,
.banner__buttons .button--secondary {
  border-radius: 0 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 500;
  min-height: 52px;
}

/* --- P3-FIX-17: Shop by Category Cards Polish ---
   DESIGN_BENCHMARK_SPEC: Clean, editorial feel. */
[id*="shop_categor"] .card__heading,
[id*="shop_categor"] .collection-list__item h3 {
  font-size: 15px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 500 !important;
}

/* --- P3-FIX-18: Improved Focus States on Dark Backgrounds ---
   A11y audit: Focus outline may not be visible on dark sections. */
.color-scheme-3 :focus-visible,
.color-scheme-5 :focus-visible,
footer :focus-visible,
.footer :focus-visible {
  outline: 2px solid #c5a572 !important;
  outline-offset: 2px;
}

/* --- P3-FIX-19: Breakpoint Safety - No Overflow at Any Width --- */
@media screen and (max-width: 320px) {
  .page-width {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .announcement-bar__message,
  .announcement-bar__message span,
  .announcement-bar__message p {
    font-size: 10px !important;
  }
}

@media screen and (min-width: 321px) and (max-width: 749px) {
  .page-width {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* --- P3-FIX-20: Collection Page Mobile Touch Targets ---
   Reinforcing mobile filter and sort touch targets. */
@media screen and (max-width: 749px) {
  /* Filter checkboxes and labels */
  .facets__label,
  .mobile-facets__checkbox {
    min-height: 44px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
  }

  /* Social links in footer */
  .list-social__link {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  /* Breadcrumb links */
  .diavoria-breadcrumbs a,
  .breadcrumbs a,
  nav[aria-label="breadcrumb"] a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
  }
}

/* --- P3-FIX-21: Cart Drawer Font Consistency ---
   Typography audit: cart drawer unit price uses Inter instead of Cormorant.
   "Have an account?" uses Cormorant instead of Inter. */
.cart-drawer .cart-item__price,
.cart-drawer .price,
cart-drawer-items .price {
  font-family: var(--dv-font-heading, Cormorant, serif) !important;
}
.cart-drawer p:not(.price),
cart-drawer-items p {
  font-family: var(--dv-body-font, Inter, sans-serif) !important;
}

/* ==== END PHASE 3 CSS ==== */


/* ==== PHASE 3B: REMAINING FONT & TOUCH FIXES — 2026-03-16 ==== */

/* --- P3B-FIX-01: Announcement Bar ALL nested elements on mobile ---
   Parent containers (slideshow-component, slideshow__slide) are 10px.
   Force ALL descendants to match. */
@media screen and (max-width: 749px) {
  .announcement-bar-section *,
  .shopify-section-announcement-bar *,
  slideshow-component *,
  .slideshow__slide *,
  .announcement-bar__announcement *,
  .announcement-bar *,
  .utility-bar * {
    font-size: 11px !important;
  }
}

/* Desktop announcement bar: ensure 13px */
@media screen and (min-width: 750px) {
  .announcement-bar-section *,
  .shopify-section-announcement-bar *,
  slideshow-component,
  slideshow-component *,
  .slideshow__slide,
  .slideshow__slide *,
  .announcement-bar__announcement,
  .announcement-bar__announcement * {
    font-size: 13px !important;
  }
}

/* --- P3B-FIX-02: Copyright SMALL tag 9.36px -> 12px --- */
.copyright__content,
small.copyright__content,
footer small,
.footer small,
footer .copyright,
.footer .copyright {
  font-size: 12px !important;
}
footer small a,
.footer small a,
.copyright__content a {
  font-size: 12px !important;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* --- P3B-FIX-03: Slider Buttons min-width with higher specificity --- */
button.slider-button,
.slider-button.slider-button--prev,
.slider-button.slider-button--next,
.slider-button[class*="slider-button--"] {
  min-width: 44px !important;
  min-height: 44px !important;
  width: 44px !important;
  padding: 8px !important;
}

/* --- P3B-FIX-04: Privacy Policy / Refund Policy link height --- */
footer .policies a,
.footer .policies a,
.footer .policies li,
footer .policies li,
.copyright a,
small a {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 12px !important;
}

/* --- P3B-FIX-05: HTML root font-size 10.5px -> fix ---
   HTML element has font-size: 10.5px because of Dawn's base font scaling.
   This is the root cause. We override it to 62.5% (10px) for rem calc,
   but we must ensure body is 16px. Actually, Shopify Dawn uses
   calc(var(--font-body-scale) * 1rem) for body, which at scale 0.625 = 10px.
   We cannot change this without breaking rem calculations.
   Instead, just ensure all visible text elements have explicit sizes. */

/* --- P3B-FIX-06: Search label 11px already addressed in P3-FIX-06.
   Double-check with higher specificity. */
label.field__label,
.field__label,
.header__search .field__label,
#Search-In-Modal-1 + label {
  font-size: 12px !important;
}

/* ==== END PHASE 3B ==== */


/* ==== PHASE 3C: FINAL SPECIFICITY FIXES — 2026-03-16 ==== */

/* --- P3C-FIX-01: Copyright <small> override Dawn's calc(var(--font-body-scale) * 1rem) ---
   Dawn's .caption class computes to 9.36px via CSS variable.
   Must override the actual calc() result. */
footer .footer__copyright small.copyright__content,
footer .caption small.copyright__content,
footer small.copyright__content,
footer.footer small,
footer.footer .footer__copyright.caption {
  font-size: 12px !important;
  line-height: 1.4 !important;
}
/* Override the .caption class specifically in footer context */
.footer .footer__copyright.caption,
.footer .footer__content-bottom-wrapper .caption {
  font-size: 12px !important;
}

/* --- P3C-FIX-02: Slider buttons - target by aria-label since class specificity fails ---
   Dawn's component CSS sets width: 28px. We need to win. */
.announcement-bar-section .slider-button,
.announcement-bar-section button.slider-button,
.announcement-bar-section .slider-button--prev,
.announcement-bar-section .slider-button--next,
.shopify-section-announcement-bar .slider-button,
.shopify-section-announcement-bar button[class*="slider-button"] {
  min-width: 44px !important;
  width: 44px !important;
  min-height: 44px !important;
}
/* Also target the slider buttons in testimonials */
[id*="testimonial"] .slider-button,
[id*="testimonial"] button.slider-button {
  min-width: 44px !important;
  width: 44px !important;
  min-height: 44px !important;
}

/* --- P3C-FIX-03: Cookie consent button font size --- */
.shopify-pc__banner button,
.shopify-pc__banner__btn-wrapper button,
[class*="cookie"] button,
[id*="cookie"] button,
.Shopify-pc__banner button {
  font-size: 14px !important;
  min-height: 44px;
}

/* ==== END PHASE 3C ==== */


/* ==== PHASE 4: PERFORMANCE OPTIMIZATIONS ==== */

/* --- P4-PERF-01: content-visibility for below-fold sections --- */
.shopify-section:nth-child(n+4) {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}

/* --- P4-PERF-02: Hero banner CLS prevention --- */
.banner--large {
  min-height: 580px;
}
@media screen and (max-width: 749px) {
  .banner--large {
    min-height: 400px;
  }
}

/* --- P4-PERF-03: Product card image CLS prevention --- */
.card__media .media {
  aspect-ratio: 1 / 1;
}
.card__media .media img {
  aspect-ratio: inherit;
  object-fit: cover;
}

/* --- P4-PERF-04: Stats section CLS fix --- */
[id*="stats"] > div,
[id*="stats"] .custom-liquid {
  min-height: 120px;
}

/* --- P4-PERF-05: Testimonials CLS fix --- */
[id*="testimonial"] .slider {
  min-height: 200px;
}
@media screen and (max-width: 749px) {
  [id*="testimonial"] .slider {
    min-height: 250px;
  }
}

/* --- P4-FIX-01: Collection empty state polish --- */
.collection .collection-empty {
  text-align: center;
  padding: 60px 20px;
  font-family: var(--dv-body-font);
}
.collection .collection-empty p {
  font-size: 15px;
  color: #666;
  max-width: 500px;
  margin: 0 auto;
  line-height: 1.7;
}

/* --- P4-FIX-02: Collection trust bar mobile spacing --- */
@media screen and (max-width: 749px) {
  .dvo-ct {
    gap: 20px !important;
    padding: 32px 16px !important;
  }
  .dvo-ct-i {
    flex: 0 0 calc(50% - 10px);
    max-width: calc(50% - 10px);
  }
}

/* --- P4-FIX-03: Trust bar mobile readability --- */
@media screen and (max-width: 749px) {
  .multicolumn .multicolumn-card__info {
    padding: 12px 8px;
  }
  .multicolumn .multicolumn-card__info h3,
  .multicolumn .multicolumn-card__info .h3 {
    font-size: 14px !important;
    margin-bottom: 4px;
  }
  .multicolumn .multicolumn-card__info p,
  .multicolumn .multicolumn-card__info .rte {
    font-size: 12px !important;
    line-height: 1.5;
  }
}

/* --- P4-FIX-04: Mobile touch targets reinforcement --- */
@media screen and (max-width: 749px) {
  .pagination__list a,
  .pagination__list button {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .facet-filters__sort,
  select.select__select {
    min-height: 44px;
    padding: 8px 12px;
  }
  .quick-add__submit {
    min-height: 44px;
  }
  [id*="collection_cta"] a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  nav[style*="breadcrumb"] a,
  .collection nav a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
  }
}

/* --- P4-FIX-05: Newsletter section CLS prevention --- */
.newsletter .newsletter__wrapper {
  min-height: 200px;
}

/* --- P4-FIX-06: Shop by Category images explicit dimensions --- */
[id*="shop_categor"] a[style*="aspect-ratio"] img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ==== END PHASE 4 ==== */

/* ==== PREMIUM DESIGN OVERHAUL - 2026-03-16 ==== */
/* Luxury jewelry brand visual upgrade */
/* Warm backgrounds, section alternation, product card premium, collection hover zoom */

/* --- PREMIUM-01: Warm Background Design Tokens --- */
:root {
  --dv-warm-cream: #f0ebe4;
  --dv-soft-stone: #e8e2da;
  --dv-warm-white: #faf8f5;
  --dv-gold-accent: #B8956A;
  --dv-gold-accent-light: #c9a87e;
  --dv-gold-accent-dark: #a07b52;
  --dv-section-padding: clamp(60px, 8vw, 100px);
  --dv-premium-shadow: 0 4px 24px rgba(26, 35, 50, 0.08);
  --dv-premium-shadow-hover: 0 12px 40px rgba(26, 35, 50, 0.14);
  --dv-premium-border: rgba(184, 149, 106, 0.2);
}

/* --- PREMIUM-02: Alternating Section Backgrounds --- */
/* Hero = dark image, trust_bar = white, promise = warm cream,
   brand_story = white, shop_categories = warm stone,
   stats = dark, testimonials = warm cream, newsletter = dark */

/* Trust bar section - clean white with gold accents */
[id*="trust_bar"],
section:has(.multicolumn):first-of-type {
  background-color: #ffffff !important;
}

/* Promise section - warm cream */
[id*="promise"] {
  background-color: var(--dv-warm-cream) !important;
}
[id*="promise"] .custom-liquid {
  background-color: var(--dv-warm-cream) !important;
}

/* Brand story section - clean white */
[id*="brand_story"] {
  background-color: #ffffff !important;
}

/* Shop categories - soft stone */
[id*="shop_categor"] {
  background-color: var(--dv-soft-stone) !important;
}
[id*="shop_categor"] .custom-liquid {
  background-color: var(--dv-soft-stone) !important;
}

/* Stats section - already dark, enhance */
[id*="stats"] {
  background-color: #1A2332 !important;
}

/* Testimonials - warm cream */
[id*="testimonial"] {
  background-color: var(--dv-warm-cream) !important;
}

/* Newsletter - dark navy */
[id*="newsletter"] {
  background-color: #1A2332 !important;
}

/* --- PREMIUM-03: Section Spacing & Breathing Room --- */
main .shopify-section {
  padding-top: var(--dv-section-padding) !important;
  padding-bottom: var(--dv-section-padding) !important;
}

/* Hero does not need extra padding */
main .shopify-section:first-child {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Stats section has its own padding in the custom liquid */
[id*="stats"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* --- PREMIUM-04: Enhanced Section Dividers --- */
/* Remove old dividers in favor of background alternation */
main .shopify-section + .shopify-section::before {
  display: none !important;
}

/* Remove old border-top */
main .shopify-section + .shopify-section {
  border-top: none !important;
}

/* Gold thin line only between same-colored sections */
[id*="trust_bar"]::after,
[id*="brand_story"]::after {
  content: "";
  display: block;
  width: 80px;
  height: 1px;
  background: var(--dv-gold-accent);
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
[id*="trust_bar"],
[id*="brand_story"] {
  position: relative;
}

/* --- PREMIUM-05: Eyebrow Text Styling --- */
.dv-eyebrow {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--dv-gold-accent) !important;
  margin-bottom: 12px !important;
  display: block;
  font-weight: 500;
}

/* Style existing eyebrow patterns in custom-liquid sections */
[id*="promise"] p[style*="letter-spacing"],
[id*="promise"] p[style*="text-transform"] {
  color: var(--dv-gold-accent) !important;
}

/* --- PREMIUM-06: Enhanced Product Card Design --- */
.card-wrapper,
.card {
  border: 1px solid var(--dv-premium-border) !important;
  border-radius: 4px !important;
  background: #ffffff !important;
  transition: box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
              border-color 0.4s ease !important;
  overflow: hidden !important;
}

.card-wrapper:hover,
.card:hover {
  box-shadow: var(--dv-premium-shadow-hover) !important;
  transform: translateY(-6px) !important;
  border-color: var(--dv-gold-accent) !important;
}

/* Card media overlay on hover */
.card__media {
  position: relative;
  overflow: hidden !important;
}

.card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(26, 35, 50, 0.15) 0%,
    transparent 40%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
  z-index: 1;
}

.card-wrapper:hover .card__media::after {
  opacity: 1;
}

/* Zoom effect on card image */
.card__media img,
.card .media img {
  transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.card-wrapper:hover .card__media img,
.card-wrapper:hover .card .media img,
.card:hover .card__media img {
  transform: scale(1.08) !important;
}

/* Card content area */
.card__information,
.card-information {
  padding: 16px 14px 14px !important;
  position: relative;
}

/* Product title on card */
.card__heading,
.card__heading a,
.card__heading span,
.card-information__text {
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
  transition: color 0.3s ease !important;
}

.card-wrapper:hover .card__heading a,
.card-wrapper:hover .card__heading span {
  color: var(--dv-gold-accent) !important;
}

/* Price styling on cards */
.card .price-item,
.card .price-item--regular {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--dv-charcoal) !important;
}

/* --- PREMIUM-07: Collection Card Premium Hover --- */
.collection-card,
.collection-list__item,
.collection-card-wrapper {
  border-radius: 4px !important;
  overflow: hidden !important;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.collection-card:hover,
.collection-list__item:hover,
.collection-card-wrapper:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--dv-premium-shadow-hover) !important;
}

.collection-card .media img,
.collection-list__item img,
.collection-card-wrapper img {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.collection-card:hover .media img,
.collection-list__item:hover img,
.collection-card-wrapper:hover img {
  transform: scale(1.08) !important;
}

/* Collection card title overlay */
.collection-card__title,
.collection-list__item .card__content {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: 0.04em !important;
}

/* --- PREMIUM-08: Trust Bar Premium Styling --- */
.multicolumn .multicolumn-card {
  text-align: center;
  padding: 20px 16px !important;
  transition: transform 0.3s ease, background-color 0.3s ease !important;
  border-radius: 4px;
}

.multicolumn .multicolumn-card:hover {
  transform: translateY(-3px);
  background-color: rgba(184, 149, 106, 0.04);
}

/* Trust bar titles */
[id*="trust_bar"] .multicolumn-card__info h3,
[id*="trust_bar"] .multicolumn-card__info .h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--dv-charcoal) !important;
  letter-spacing: 0.03em !important;
  margin-bottom: 6px !important;
}

/* Trust bar text */
[id*="trust_bar"] .multicolumn-card__info p,
[id*="trust_bar"] .multicolumn-card__info .rte {
  font-size: 13px !important;
  color: #666 !important;
  line-height: 1.6 !important;
}

/* Trust bar section title */
[id*="trust_bar"] .title,
[id*="trust_bar"] h2 {
  font-size: clamp(24px, 3vw, 32px) !important;
  margin-bottom: 32px !important;
  color: var(--dv-charcoal) !important;
}

/* --- PREMIUM-09: Testimonial Section Premium --- */
[id*="testimonial"] .multicolumn-card {
  background: #ffffff !important;
  border: 1px solid var(--dv-premium-border) !important;
  border-radius: 6px !important;
  padding: 32px 28px !important;
  box-shadow: var(--dv-premium-shadow) !important;
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

[id*="testimonial"] .multicolumn-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--dv-premium-shadow-hover) !important;
}

/* Star ratings gold */
[id*="testimonial"] .multicolumn-card__info h3,
[id*="testimonial"] .multicolumn-card__info .h3 {
  color: var(--dv-gold-accent) !important;
  font-size: 18px !important;
  letter-spacing: 2px !important;
  margin-bottom: 16px !important;
}

/* Review text italic */
[id*="testimonial"] .multicolumn-card__info em {
  font-style: italic !important;
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* Reviewer name */
[id*="testimonial"] .multicolumn-card__info strong {
  color: var(--dv-charcoal) !important;
  font-weight: 600 !important;
  display: block !important;
  margin-top: 12px !important;
}

/* Testimonials heading */
[id*="testimonial"] .title,
[id*="testimonial"] h2 {
  color: var(--dv-charcoal) !important;
}

/* --- PREMIUM-10: Shop by Category Enhancement on Warm BG --- */
[id*="shop_categor"] h2 {
  color: var(--dv-charcoal) !important;
  position: relative;
  padding-bottom: 16px;
}

/* Category card image overlay improvement */
[id*="shop_categor"] a[style*="aspect-ratio"] {
  border-radius: 6px !important;
  box-shadow: var(--dv-premium-shadow) !important;
  transition: box-shadow 0.4s ease, transform 0.4s ease !important;
}

[id*="shop_categor"] a[style*="aspect-ratio"]:hover {
  box-shadow: var(--dv-premium-shadow-hover) !important;
  transform: translateY(-4px) !important;
}

/* View All Collections button on warm bg */
[id*="shop_categor"] a[href="/collections"] {
  border-color: var(--dv-charcoal) !important;
  color: var(--dv-charcoal) !important;
  transition: all 0.35s ease !important;
  border-radius: 2px;
}

[id*="shop_categor"] a[href="/collections"]:hover {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
}

/* --- PREMIUM-11: Brand Story Section Enhancement --- */
[id*="brand_story"] .image-with-text__content {
  padding: clamp(32px, 5vw, 60px) !important;
}

[id*="brand_story"] h2 {
  position: relative;
  padding-bottom: 20px;
}

[id*="brand_story"] h2::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: var(--dv-gold-accent);
  margin-top: 16px;
}

[id*="brand_story"] .button,
[id*="brand_story"] a.button {
  background: transparent !important;
  border: 1.5px solid var(--dv-charcoal) !important;
  color: var(--dv-charcoal) !important;
  padding: 14px 36px !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  transition: all 0.35s ease !important;
  border-radius: 2px !important;
}

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

/* --- PREMIUM-12: Promise Section on Warm BG --- */
[id*="promise"] h2 {
  position: relative;
  padding-bottom: 20px !important;
}

[id*="promise"] h2::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: var(--dv-gold-accent);
  margin: 16px auto 0;
}

/* --- PREMIUM-13: Stats Section Enhancement --- */
[id*="stats"] .custom-liquid > div[style*="background"] {
  padding: clamp(48px, 7vw, 80px) 24px !important;
}

/* --- PREMIUM-14: Newsletter Section Premium --- */
.newsletter {
  background-color: #1A2332 !important;
  color: #fff !important;
}

.newsletter .newsletter__heading,
.newsletter h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #fff !important;
}

.newsletter p,
.newsletter .rte {
  color: rgba(255, 255, 255, 0.75) !important;
}

.newsletter .field__input {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  color: #fff !important;
}

.newsletter .field__input::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
}

.newsletter .newsletter__button,
.newsletter .field__button {
  background: var(--dv-gold-accent) !important;
  color: #fff !important;
  border: none !important;
}

/* --- PREMIUM-15: Header Premium Touches --- */
.header,
header.header,
.section-header,
.shopify-section-header {
  border-bottom: 1px solid rgba(26, 35, 50, 0.12) !important;
}

/* Add gold accent line under header */
.shopify-section-header::after {
  content: "";
  display: block;
  height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--dv-gold-accent) 20%,
    var(--dv-gold-accent) 80%,
    transparent 100%
  );
  opacity: 0.3;
}

/* --- PREMIUM-16: Footer Premium Upgrade --- */
.footer {
  background-color: #1A2332 !important;
  color: rgba(255, 255, 255, 0.8) !important;
}

.footer::before {
  background: linear-gradient(90deg, transparent, var(--dv-gold-accent), transparent) !important;
  opacity: 0.5;
}

.footer h2,
.footer .footer__heading,
.footer .h4 {
  color: var(--dv-gold-accent) !important;
}

.footer a {
  color: rgba(255, 255, 255, 0.7) !important;
  transition: color 0.3s ease !important;
}

.footer a:hover {
  color: var(--dv-gold-accent) !important;
}

/* --- PREMIUM-17: Page & Section Heading Decoration --- */
.section-header__title::after,
.collection__title::after,
main h2.title::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: var(--dv-gold-accent);
  margin: 16px auto 0;
}

/* --- PREMIUM-18: Button Premium Styling --- */
.button,
button.button,
a.button,
.shopify-challenge__button {
  border-radius: 2px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Primary buttons - solid dark */
.button--primary,
.button:not(.button--secondary):not(.button--tertiary) {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border: 1.5px solid var(--dv-charcoal) !important;
}

.button--primary:hover,
.button:not(.button--secondary):not(.button--tertiary):hover {
  background: var(--dv-gold-accent) !important;
  border-color: var(--dv-gold-accent) !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(184, 149, 106, 0.3);
}

/* Secondary buttons - outlined */
.button--secondary {
  background: transparent !important;
  border: 1.5px solid var(--dv-charcoal) !important;
  color: var(--dv-charcoal) !important;
}

.button--secondary:hover {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  transform: translateY(-2px);
}

/* --- PREMIUM-19: Quick Add Button Premium --- */
.quick-add__submit {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border: none !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  transition: all 0.3s ease !important;
}

.quick-add__submit:hover {
  background: var(--dv-gold-accent) !important;
  color: #fff !important;
}

/* --- PREMIUM-20: Badge Premium Styling --- */
.badge,
.badge--bottom-left,
.badge--sale {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
  padding: 5px 12px !important;
}

.badge--sale {
  background: var(--dv-gold-accent) !important;
}

/* --- PREMIUM-21: Scroll-Triggered Section Animations --- */
@keyframes dv-fade-up {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Stagger animation for category cards */
[id*="shop_categor"] .dv-cat-grid > a:nth-child(1) { animation-delay: 0.1s; }
[id*="shop_categor"] .dv-cat-grid > a:nth-child(2) { animation-delay: 0.2s; }
[id*="shop_categor"] .dv-cat-grid > a:nth-child(3) { animation-delay: 0.3s; }
[id*="shop_categor"] .dv-cat-grid > a:nth-child(4) { animation-delay: 0.4s; }

/* Stagger for testimonial cards */
[id*="testimonial"] .multicolumn-card:nth-child(1) { animation-delay: 0.1s; }
[id*="testimonial"] .multicolumn-card:nth-child(2) { animation-delay: 0.2s; }
[id*="testimonial"] .multicolumn-card:nth-child(3) { animation-delay: 0.3s; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  @keyframes dv-fade-up {
    from { opacity: 1; transform: none; }
    to { opacity: 1; transform: none; }
  }
  .card-wrapper:hover,
  .card:hover,
  .collection-card:hover,
  .collection-list__item:hover,
  .multicolumn .multicolumn-card:hover,
  [id*="testimonial"] .multicolumn-card:hover {
    transform: none !important;
  }
}

/* --- PREMIUM-22: Image-with-text section (Brand Story) image border --- */
.image-with-text .media-wrapper,
.image-with-text__media-item {
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: var(--dv-premium-shadow) !important;
}

.image-with-text .media-wrapper img {
  transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.image-with-text .media-wrapper:hover img {
  transform: scale(1.04) !important;
}

/* --- PREMIUM-23: Announcement Bar Premium --- */
.announcement-bar {
  background: var(--dv-charcoal) !important;
  border-bottom: 1px solid rgba(184, 149, 106, 0.2) !important;
}

.announcement-bar a,
.announcement-bar p,
.announcement-bar span {
  color: rgba(255, 255, 255, 0.9) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
}

/* --- PREMIUM-24: Hero Banner Premium --- */
.banner {
  position: relative;
}

.banner__content {
  animation: none !important;
}

.banner__heading {
  font-size: clamp(36px, 5vw, 64px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  line-height: 1.1 !important;
  text-shadow: 0 2px 40px rgba(0, 0, 0, 0.3);
}

.banner__text {
  font-size: clamp(14px, 2vw, 18px) !important;
  letter-spacing: 0.04em !important;
  opacity: 0.9;
}

/* Hero CTA button */
.banner .button--primary,
.banner .button:first-of-type {
  background: var(--dv-gold-accent) !important;
  border-color: var(--dv-gold-accent) !important;
  color: #fff !important;
  padding: 16px 40px !important;
  font-size: 12px !important;
  letter-spacing: 0.14em !important;
}

.banner .button--primary:hover,
.banner .button:first-of-type:hover {
  background: var(--dv-gold-accent-light) !important;
  border-color: var(--dv-gold-accent-light) !important;
  box-shadow: 0 8px 24px rgba(184, 149, 106, 0.4);
}

/* Hero secondary button */
.banner .button--secondary,
.banner .button:nth-of-type(2) {
  border-color: rgba(255, 255, 255, 0.8) !important;
  color: #fff !important;
  background: transparent !important;
}

.banner .button--secondary:hover,
.banner .button:nth-of-type(2):hover {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: #fff !important;
}

/* --- PREMIUM-25: Product Title Readability on Cards --- */
.card__heading a {
  text-decoration: none !important;
  border-bottom: none !important;
}

.card__heading {
  margin-bottom: 6px !important;
}

/* Two-line title clamp */
.card__heading span,
.card__heading a > span {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* --- PREMIUM-26: Page Width Container Max Width --- */
.page-width {
  max-width: 1400px !important;
}

/* --- PREMIUM-27: Cookie Banner Styling --- */
.shopify-pc__banner {
  background: var(--dv-charcoal) !important;
  border: none !important;
  border-top: 2px solid var(--dv-gold-accent) !important;
}

.shopify-pc__banner__text {
  color: #6b7c8d !important;
}

.shopify-pc__banner__btn-accept {
  background: var(--dv-gold-accent) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 2px !important;
}

/* --- PREMIUM-28: Mobile Responsive Premium Adjustments --- */
@media screen and (max-width: 749px) {
  main .shopify-section {
    padding-top: clamp(40px, 6vw, 60px) !important;
    padding-bottom: clamp(40px, 6vw, 60px) !important;
  }

  /* Product cards on mobile */
  .card-wrapper:hover,
  .card:hover {
    transform: none !important;
  }

  /* Category cards mobile */
  [id*="shop_categor"] a[style*="aspect-ratio"]:hover {
    transform: none !important;
  }

  /* Testimonial cards mobile */
  [id*="testimonial"] .multicolumn-card {
    padding: 24px 20px !important;
  }

  /* Trust bar mobile */
  [id*="trust_bar"] .multicolumn-card {
    padding: 16px 12px !important;
  }

  /* Promise section mobile */
  [id*="promise"] .custom-liquid > div {
    padding: 24px 16px !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 989px) {
  .page-width {
    max-width: 100% !important;
    padding: 0 40px !important;
  }
}

/* ==== END PREMIUM DESIGN OVERHAUL ==== */


/* ==== BRAND STORY TEXT FIX - 2026-03-16 ==== */
/* Force dark text in brand story section (overriding Dawn scheme-2 inherited styles) */
[id*="brand_story"] h2,
[id*="brand_story"] .image-with-text__content h2,
[id*="brand_story"] .image-with-text__content .h1,
[id*="brand_story"] .image-with-text__content .h2 {
  color: var(--dv-charcoal) !important;
}

[id*="brand_story"] p,
[id*="brand_story"] .image-with-text__content p,
[id*="brand_story"] .rte,
[id*="brand_story"] .image-with-text__content .rte {
  color: #555 !important;
}

[id*="brand_story"] .caption,
[id*="brand_story"] .image-with-text__content .caption,
[id*="brand_story"] .caption-with-letter-spacing {
  color: var(--dv-gold-accent) !important;
  font-size: 11px !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
}

/* Force the content area background */
[id*="brand_story"] .image-with-text__content,
[id*="brand_story"] .image-with-text__text-item,
[id*="brand_story"] .color-scheme-1,
[id*="brand_story"] [class*="color-scheme"] {
  background-color: #fff !important;
  color: var(--dv-charcoal) !important;
}

/* Override Dawn color CSS variables for this section */
[id*="brand_story"],
[id*="brand_story"] * {
  --color-foreground: 44, 62, 80;
}

/* ==== END BRAND STORY TEXT FIX ==== */


/* ==== BRAND STORY HEADING SIZE FIX ==== */
[id*="brand_story"] h2 {
  font-size: clamp(24px, 3vw, 36px) !important;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
}

/* Ensure brand story caption/eyebrow text is gold */
[id*="brand_story"] .caption-with-letter-spacing,
[id*="brand_story"] p.caption-with-letter-spacing {
  color: var(--dv-gold-accent) !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  letter-spacing: 0.25em !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
}

/* Ensure brand story body text is visible */
[id*="brand_story"] .image-with-text__content p:not(.caption-with-letter-spacing),
[id*="brand_story"] .rte p {
  color: #555 !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  margin-bottom: 20px !important;
}

/* ==== END BRAND STORY HEADING SIZE FIX ==== */

/* === MOBILE HERO TEXT FIX === */
@media screen and (max-width: 749px) {
  .banner__heading,
  .banner__heading.h1,
  .banner h1 {
    font-size: clamp(28px, 8vw, 44px) !important;
    line-height: 1.15 !important;
    color: #fff !important;
    text-shadow: 0 2px 20px rgba(0,0,0,0.4) !important;
    word-break: break-word;
    padding: 0 16px;
  }
  .banner__text,
  .banner__text p {
    font-size: 14px !important;
    padding: 0 16px;
    color: rgba(255,255,255,0.85) !important;
  }
  .banner__content {
    padding: 20px 0 !important;
  }
  .banner__box {
    max-width: 100% !important;
    padding: 0 8px !important;
  }
  .banner__buttons {
    flex-direction: column !important;
    gap: 10px !important;
    padding: 0 24px;
  }
  .banner .button--primary,
  .banner .button--secondary {
    width: 100% !important;
    text-align: center !important;
    padding: 14px 24px !important;
  }
}

/* === NEWSLETTER FORM FIX === */
.newsletter-form__field-wrapper,
.newsletter .field,
[id*="newsletter"] .field {
  display: flex !important;
  max-width: 440px;
  margin: 16px auto 0;
}
.newsletter-form__field-wrapper input[type="email"],
.newsletter .field__input,
[id*="newsletter"] .field__input {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  color: #fff !important;
  padding: 14px 20px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  flex: 1;
  min-height: 48px;
}
.newsletter-form__field-wrapper input[type="email"]::placeholder,
.newsletter .field__input::placeholder,
[id*="newsletter"] .field__input::placeholder {
  color: rgba(255,255,255,0.5) !important;
}
.newsletter-form__button,
.newsletter .field__button,
[id*="newsletter"] .field__button {
  background: var(--dv-gold, #B8956A) !important;
  color: var(--dv-charcoal, #1A2332) !important;
  border: 1px solid var(--dv-gold, #B8956A) !important;
  padding: 14px 28px !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer;
  min-height: 48px;
}
.newsletter-form__button:hover,
.newsletter .field__button:hover,
[id*="newsletter"] .field__button:hover {
  background: var(--dv-gold-hover, #a6824e) !important;
  border-color: var(--dv-gold-hover, #a6824e) !important;
}

/* Trust bar overflow fix */
[id*="trust_bar"] .multicolumn-list,
[id*="trust_bar"] .grid {
  overflow: visible !important;
}
[id*="trust_bar"] .page-width {
  max-width: 100% !important;
  padding: 0 24px !important;
}

/* ===== FOOTER TEXT VISIBILITY FIX ===== */
.footer, .footer-block, footer, .shopify-section-group-footer-group {
  color: rgba(255,255,255,0.75) !important;
}
.footer h2, .footer h3, .footer h4,
.footer .footer-block__heading,
.footer-block__heading {
  color: #B8956A !important;
}
.footer a, .footer-block a, .footer li, .footer p, .footer span,
.footer .footer-block__details-content a,
.footer .list-social__link,
.footer .copyright__content, .footer .disclosure__toggle,
.footer summary, .footer details, .footer-block summary,
.footer .footer-block--menu a, .footer-block__details-content a,
.footer .list-menu__item, .footer .list-menu__item--link {
  color: rgba(255,255,255,0.7) !important;
}
.footer a:hover, .footer-block a:hover,
.footer .list-menu__item--link:hover {
  color: #ffffff !important;
}
.footer .copyright__content a {
  color: rgba(255,255,255,0.5) !important;
}
/* ===== END FOOTER FIX ===== */

/* ===== COLLECTION EMPTY STATE ===== */
.dv-empty-state {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 300px !important;
  padding: 80px 24px !important;
  text-align: center !important;
}
.dv-empty-state h2 {
  color: #1A2332 !important;
  font-size: 28px !important;
}
.dv-empty-state p, .dv-empty-state .dv-es-text {
  color: #666666 !important;
  font-size: 15px !important;
}
/* ===== END EMPTY STATE ===== */

/* ==========================================================================
   DARK SCHEME TEXT VISIBILITY FIX (v2)
   Forces light text in scheme-2 and scheme-5 (navy backgrounds)
   Does NOT override --dv-charcoal variable (used for backgrounds too)
   ========================================================================== */

/* Scheme-5: Navy background sections (newsletter, etc.) */
.color-scheme-5 h1,
.color-scheme-5 h2,
.color-scheme-5 h3,
.color-scheme-5 h4,
.color-scheme-5 h5,
.color-scheme-5 h6,
.color-scheme-5 .h0,
.color-scheme-5 .h1,
.color-scheme-5 .h2,
.color-scheme-5 .h3,
.color-scheme-5 .title,
.color-scheme-5 .inline-richtext {
  color: #f5f3ef !important;
}

.color-scheme-5 p,
.color-scheme-5 span:not(.field__button span),
.color-scheme-5 li,
.color-scheme-5 label,
.color-scheme-5 .rte,
.color-scheme-5 .rte p {
  color: rgba(245, 243, 239, 0.8) !important;
}

.color-scheme-5 a:not(.button):not(.field__button) {
  color: #f5f3ef !important;
}

.color-scheme-5 a:not(.button):not(.field__button):hover {
  color: #B8956A !important;
}

/* Scheme-2: Also navy background */
.color-scheme-2 h1,
.color-scheme-2 h2,
.color-scheme-2 h3,
.color-scheme-2 h4,
.color-scheme-2 h5,
.color-scheme-2 h6,
.color-scheme-2 .title,
.color-scheme-2 .inline-richtext {
  color: #f5f3ef !important;
}

.color-scheme-2 p,
.color-scheme-2 span,
.color-scheme-2 li,
.color-scheme-2 label,
.color-scheme-2 .rte {
  color: rgba(245, 243, 239, 0.8) !important;
}


/* ==========================================================================
   PAGE TITLE SPACING FIX
   Reduces excessive whitespace on content pages (About, Contact, FAQ, etc.)
   ========================================================================== */
.main-page-title.h0,
.page-title.h0 {
  font-size: clamp(32px, 5vw, 48px) !important;
  margin-top: 0 !important;
  margin-bottom: 24px !important;
  line-height: 1.15 !important;
}

/* Tighten page content area */
.page-width--narrow {
  padding-top: 20px;
}

/* Cookie banner premium styling */
.shopify-pc__banner {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
}


/* ==========================================================================
   EMPTY COLLECTION HANDLING
   Hides empty product grid and "No products" messages elegantly
   ========================================================================== */
.collection .collection-product-list:empty,
.collection .no-products,
.collection-product-list--empty,
#ProductGridContainer:empty {
  display: none !important;
}

/* Hide filter bar when no products */
.collection .facets-container:has(~ #ProductGridContainer:empty),
.collection .active-facets-mobile:has(~ #ProductGridContainer:empty) {
  display: none !important;
}

/* Make product grid section invisible when collection has 0 items */
.collection #ProductCount:empty + .collection-product-list {
  display: none !important;
}


/* Hide empty product grid section completely when no products */
.collection .shopify-section:has(.collection-product-list:empty) {
  display: none !important;
}

/* Hide "No products found" text */
.collection-product-list p:only-child,
.no-js .collection-product-list:empty::after {
  display: none !important;
}

/* Hide empty filter/sort bars */
.collection .facets__wrapper:has(~ .collection-product-list:empty) {
  display: none !important;
}

/* Ensure Coming Soon section is flush with breadcrumbs */
.collection .dv-coming-soon {
  margin-top: -20px;
}


/* ==========================================================================
   COMING SOON BUTTON FIX
   ========================================================================== */
.dv-cs-cta,
a.dv-cs-cta,
a.dv-cs-cta:visited {
  color: #ffffff !important;
  background: #1A2332 !important;
  text-decoration: none !important;
}

a.dv-cs-cta:hover {
  background: #B8956A !important;
  color: #ffffff !important;
}


/* ==========================================================================
   FINAL POLISH — Collection spacing + Cookie Banner
   ========================================================================== */

/* Reduce gap between header breadcrumbs and Coming Soon on collection pages */
.collection .section-template--25334391341340__coming_soon-padding,
.collection [class*="coming_soon"] {
  padding-top: 0 !important;
}

/* Make cookie banner premium */
.shopify-pc__banner {
  background: rgba(26, 35, 50, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: none !important;
  border-top: 1px solid rgba(184, 149, 106, 0.3) !important;
  padding: 16px 24px !important;
  font-family: 'DM Sans', sans-serif !important;
}

.shopify-pc__banner__text,
.shopify-pc__banner p,
.shopify-pc__banner span {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.7) !important;
  font-family: 'DM Sans', sans-serif !important;
}

.shopify-pc__banner a {
  color: #B8956A !important;
}

.shopify-pc__banner__btn-wrapper button,
.shopify-pc__banner button {
  background: #B8956A !important;
  color: #1A2332 !important;
  border: 1px solid #B8956A !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 10px 24px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

.shopify-pc__banner__btn-wrapper button:hover,
.shopify-pc__banner button:hover {
  background: #a6824e !important;
  border-color: #a6824e !important;
}

/* Smoother page transitions */
.shopify-section {
  transition: opacity 0.3s ease;
}


/* ==========================================================================
   KILL ALL GIMMICKY ANIMATIONS
   Luxury brands don't use scroll-trigger fade-ins. Content is just THERE.
   ========================================================================== */
.scroll-trigger.animate--fade-in,
.scroll-trigger.animate--slide-in,
.scroll-trigger {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

.scroll-trigger.scroll-trigger--offscreen {
  opacity: 1 !important;
  transform: none !important;
}

/* Blog article card images — fix aspect ratio for square images */
.article-card__image img,
.blog__posts .card__media img {
  object-fit: cover !important;
  aspect-ratio: auto !important;
}

/* Remove any remaining cursor effects */
[style*="radial-gradient"][style*="border-radius: 50%"] {
  display: none !important;
}


/* Scheme-3 fix removed — was breaking hero banner */


/* ==========================================================================
   SECTION SPACING — Remove gaps between sections for smooth flow
   ========================================================================== */
.shopify-section.section {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Section background overrides removed — let schemes handle it */


/* Hero banner content box must be transparent */
.banner .content-container,
.banner .banner__box,
.image-banner .content-container,
.image-banner .banner__box {
  background: transparent !important;
}


/* ==========================================================================
   BLOG ARTICLE CARD REFINEMENT
   Make article cards clean and readable — no text overlapping images
   ========================================================================== */
.article-card .card__inner .card__content {
  background: rgba(245, 247, 250, 0.95) !important;
  padding: 16px !important;
}

.article-card .card__heading a {
  color: #1A2332 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.article-card .article-card__info {
  color: #7b8a99 !important;
  font-size: 11px !important;
}

.article-card .article-card__excerpt {
  color: #6b7c8d !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* Article card image hover effect */
.article-card .article-card__image img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.article-card:hover .article-card__image img {
  transform: scale(1.03) !important;
}


/* ==========================================================================
   SECTION FLOW — Smooth transitions between sections
   ========================================================================== */
body {
  background-color: #f5f7fa !important;
}

/* All section wrappers use same background for seamless flow */
.shopify-section.section,
.shopify-section:not(.shopify-section-group-header-group):not(.shopify-section-group-footer-group) {
  background-color: #f5f7fa;
}

/* Header stays white */
.shopify-section-group-header-group .header-wrapper {
  background-color: #ffffff !important;
}


/* ==========================================================================
   NUCLEAR: Hide entire product-grid section on empty collections
   The product grid section renders even when empty, creating a gap
   ========================================================================== */
.collection .shopify-section:has(.main-collection-product-grid) {
  max-height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* When products exist, show it again */
.collection .shopify-section:has(.main-collection-product-grid .grid__item) {
  max-height: none !important;
  overflow: visible !important;
}

/* Also hide via the template section ID pattern */
[id*="product-grid"]:has(:empty),
[id*="product-grid"] .collection-product-list:empty {
  display: none !important;
}

/* Force the coming-soon section to be flush with breadcrumbs */
.collection [id*="coming_soon"] .section-padding,
.collection [id*="coming_soon"] [class*="padding"] {
  padding-top: 8px !important;
}


/* ==========================================================================
   PREMIUM HEADER — Inspired by Mejuri's bold dark header approach
   ========================================================================== */
.header,
header.header,
.section-header,
.shopify-section-header,
.shopify-section-group-header-group .header-wrapper {
  background: #1A2332 !important;
  border-bottom: none !important;
}

.header.shopify-section-header-sticky,
.header-wrapper.header-wrapper--border-bottom {
  background: rgba(44, 62, 80, 0.98) !important;
  backdrop-filter: blur(16px) !important;
  border-bottom: none !important;
}

/* Nav links in white on dark header */
.header__menu-item,
.header__menu-item span,
.header__inline-menu .list-menu__item,
.list-menu__item--link {
  color: #6b7c8d !important;
}

.header__menu-item:hover,
.header__menu-item:hover span,
.list-menu__item--link:hover {
  color: #B8956A !important;
}

/* Logo in gold on dark header */
.header__heading-link,
.header__heading a,
.header__heading {
  color: #B8956A !important;
}

/* Header icons in white */
.header__icon,
.header__icon svg,
.header__icon path {
  color: #6b7c8d !important;
  fill: #6b7c8d !important;
}

.header__icon:hover,
.header__icon:hover svg {
  color: #B8956A !important;
  fill: #B8956A !important;
}

/* Breadcrumb bar styling */
.header .breadcrumb-wrapper,
.header [class*="breadcrumb"] {
  color: rgba(255, 255, 255, 0.6) !important;
}

.header [class*="breadcrumb"] a {
  color: rgba(255, 255, 255, 0.7) !important;
}


/* ==========================================================================
   BREADCRUMB TIGHTENING
   Reduce gap between header and content on subpages
   ========================================================================== */
.breadcrumb-list-wrapper,
header + .breadcrumbs__wrapper,
.header ~ .breadcrumbs {
  padding: 8px 0 !important;
  margin: 0 !important;
}

/* Reduce header breadcrumb bar padding */
.header__heading-wrapper + nav,
.header .breadcrumb-nav {
  padding: 6px 0 !important;
}

/* Make breadcrumb text smaller and more refined */
.breadcrumb a,
.breadcrumb span,
[class*="breadcrumb"] a,
[class*="breadcrumb"] span {
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
}


/* ==========================================================================
   BOLD TYPOGRAPHY — Inspired by VRAI's confident, large headlines
   ========================================================================== */

/* Hero headline — massive, confident */
.banner__heading,
.image-banner .banner__heading {
  font-size: clamp(42px, 6vw, 72px) !important;
  letter-spacing: 0.06em !important;
  line-height: 1.1 !important;
  font-weight: 300 !important;
  text-transform: uppercase !important;
}

/* Hero subtitle — refined, understated */
.banner__text .subtitle,
.banner__text p {
  font-size: clamp(14px, 1.2vw, 17px) !important;
  letter-spacing: 0.08em !important;
  font-weight: 300 !important;
}

/* Section headings — larger, more presence */
.section-header h2,
.blog__title,
.featured-blog h2 {
  font-size: clamp(28px, 3.5vw, 44px) !important;
  letter-spacing: 0.04em !important;
}

/* CTA buttons — refined, not chunky */
.banner .button,
.banner__buttons .button {
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  padding: 16px 48px !important;
  text-transform: uppercase !important;
}

/* Nav links — more spaced, refined */
.header__menu-item,
.header__menu-item span,
.list-menu__item--link {
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
}


/* ==========================================================================
   FINAL VISUAL POLISH
   ========================================================================== */

/* Remove beige band between hero and promise */
.shopify-section:has(.banner) + .shopify-section {
  margin-top: -1px !important;
}

/* Style back-to-top button */
.back-to-top,
[class*="back-to-top"],
button[class*="scroll-top"] {
  background: #1A2332 !important;
  color: #B8956A !important;
  border: 1px solid rgba(184, 149, 106, 0.3) !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  font-size: 16px !important;
  box-shadow: 0 4px 12px rgba(44, 62, 80, 0.2) !important;
}

/* Announcement bar — slightly more refined */
.utility-bar,
.announcement-bar {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  padding: 10px 0 !important;
}

/* Make the promise section's beige background match the page */
.shopify-section:has([class*="promise"]) {
  background: #f5f7fa !important;
}


/* ==========================================================================
   ARTICLE CARD LAYOUT — Image above, text below, no overlap
   ========================================================================== */

/* Force card layout: image top, content bottom */
.article-card .card__inner {
  display: flex !important;
  flex-direction: column !important;
}

.article-card .card__inner .card__content {
  position: relative !important;
  background: #ffffff !important;
  padding: 20px 16px !important;
  order: 2 !important;
}

.article-card .card__inner .card__media {
  order: 1 !important;
}

/* Hide the duplicate content area outside card__inner */
.article-card > .card__content {
  display: none !important;
}

/* Article card title — clean, no overlay on image */
.article-card .card__heading {
  font-size: 15px !important;
  line-height: 1.4 !important;
}

.article-card .card__heading a {
  color: #1A2332 !important;
}

/* Date styling */
.article-card .article-card__info {
  font-size: 10px !important;
  color: #7b8a99 !important;
  letter-spacing: 0.06em !important;
}

/* Excerpt */
.article-card .article-card__excerpt {
  font-size: 13px !important;
  color: #6b7c8d !important;
  line-height: 1.6 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Card hover */
.article-card-wrapper:hover .card__heading a {
  color: #B8956A !important;
}

/* ==========================================================================
   EDUCATION CARD UPGRADE — Better visual hierarchy
   ========================================================================== */
.dv-edu-card {
  background: #ffffff !important;
  border: 1px solid #e2e6ec !important;
  border-radius: 4px !important;
  transition: all 0.35s ease !important;
}

.dv-edu-card:hover {
  border-color: #B8956A !important;
  box-shadow: 0 8px 24px rgba(44, 62, 80, 0.08) !important;
  transform: translateY(-2px) !important;
}

.dv-edu-icon {
  font-size: 24px !important;
  opacity: 0.7 !important;
}

.dv-edu-title {
  font-size: 17px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
}

.dv-edu-desc {
  font-size: 13px !important;
  color: #7b8a99 !important;
}

.dv-edu-link {
  font-size: 10px !important;
  letter-spacing: 0.14em !important;
  color: #B8956A !important;
}


/* ==========================================================================
   SECTION GAP ELIMINATION — Zero visible gaps between sections
   ========================================================================== */

/* All sections: same background, no margin between them */
main .shopify-section.section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Search page styling */
.search .search__heading {
  font-size: clamp(28px, 4vw, 42px) !important;
  color: #1A2332 !important;
}

.search input[type="search"],
.search .field__input {
  border: 1px solid #e2e6ec !important;
  font-family: 'DM Sans', sans-serif !important;
  padding: 14px 20px !important;
  color: #1A2332 !important;
}

.search .field__button {
  background: #1A2332 !important;
  color: #ffffff !important;
}

/* Predictive search styling */
.predictive-search {
  border: 1px solid #e2e6ec !important;
  box-shadow: 0 8px 32px rgba(44, 62, 80, 0.08) !important;
}

/* 404 page styling */
.shopify-section--404 h1 {
  color: #1A2332 !important;
}


/* ==========================================================================
   HEADER FULL-WIDTH FIX
   ========================================================================== */
.shopify-section-group-header-group,
.shopify-section-group-header-group .shopify-section {
  width: 100% !important;
  max-width: 100% !important;
}

.header-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}


/* ==========================================================================
   UTILITY BAR FULL-WIDTH + COLOR FIX
   ========================================================================== */
.utility-bar,
.announcement-bar-section,
.shopify-section:has(.utility-bar) {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  background: #1A2332 !important;
}

.utility-bar {
  width: 100% !important;
  max-width: 100% !important;
  background: #1A2332 !important;
}

/* Also fix the header section to match */
.shopify-section:has(.header-wrapper) {
  background: #1A2332 !important;
  width: 100% !important;
}


/* ==========================================================================
   NUCLEAR HEADER DARK — Override all scheme backgrounds for header
   ========================================================================== */
.shopify-section-group-header-group .header-wrapper,
.shopify-section-group-header-group .header-wrapper.color-scheme-1,
.shopify-section-group-header-group .header-wrapper.gradient,
.shopify-section-group-header-group .header-wrapper[class*="color-scheme"],
.header-wrapper.header-wrapper--border-bottom,
.header-wrapper {
  background: #1A2332 !important;
  background-color: #1A2332 !important;
  border-bottom: none !important;
}

/* Force nav text white on dark header */
.header-wrapper .header__menu-item,
.header-wrapper .header__menu-item span,
.header-wrapper .list-menu__item--link,
.header-wrapper .header__inline-menu a {
  color: #6b7c8d !important;
}

.header-wrapper .header__menu-item:hover,
.header-wrapper .header__menu-item:hover span {
  color: #B8956A !important;
}

/* Logo gold */
.header-wrapper .header__heading-link,
.header-wrapper .header__heading {
  color: #B8956A !important;
}

/* Icons white */
.header-wrapper .header__icon,
.header-wrapper .header__icon svg path,
.header-wrapper .icon-caret {
  color: #6b7c8d !important;
  stroke: #6b7c8d !important;
}

.header-wrapper .header__icon:hover {
  color: #B8956A !important;
}


/* ==========================================================================
   HEADER INNER ELEMENTS — Force transparent to show dark wrapper
   ========================================================================== */
.header-wrapper .gradient,
.header-wrapper .color-scheme-1,
.header-wrapper [class*="color-scheme"],
.header-wrapper .header,
.header-wrapper header,
.header-wrapper > * {
  background: transparent !important;
  background-color: transparent !important;
}

/* The wrapper itself stays dark */
.header-wrapper {
  background: #1A2332 !important;
  background-color: #1A2332 !important;
}

/* Ensure search and cart drawers stay proper */
.header-wrapper .search-modal,
.header-wrapper .cart-drawer {
  background: #ffffff !important;
}


/* ==========================================================================
   AGGRESSIVE GAP KILL — Zero margin/padding between ALL main sections
   ========================================================================== */
main#MainContent .shopify-section + .shopify-section,
main .shopify-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: none !important;
}

/* Statement section: zero padding wrapper */
.shopify-section:has([style*="WHERE EVERY"]),
[id*="statement"] {
  padding: 0 !important;
  margin: 0 !important;
}

/* Education section: tighter top */
[id*="education"] {
  padding-top: 0 !important;
}

[id*="education"] [class*="padding"] {
  padding-top: 24px !important;
}


/* ==========================================================================
   LOGO ENHANCEMENT — Gold text on dark header
   ========================================================================== */
.header__heading-link,
.header__heading-link span,
.header__heading a,
.header__heading {
  color: #c5a572 !important;
  text-decoration: none !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: 0.12em !important;
}

/* Diamond icon above logo */
.header__heading img,
.header__heading svg {
  filter: brightness(1.2) !important;
  max-height: 28px !important;
}


/* ==========================================================================
   TRANSPARENT HEADER — Overlays hero, becomes solid on scroll
   Premium pattern used by Mejuri, Monica Vinader, Catbird
   ========================================================================== */

/* Header transparent on homepage hero */
.shopify-section-group-header-group {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
}

.header-wrapper,
.header-wrapper.header-wrapper--border-bottom {
  background: transparent !important;
  border-bottom: none !important;
  transition: background 0.3s ease !important;
}

/* Announcement bar semi-transparent */
.utility-bar {
  background: rgba(44, 62, 80, 0.6) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

/* Sticky header becomes solid */
.header-wrapper.scrolled,
.shopify-section-header-sticky .header-wrapper,
.header.shopify-section-header-sticky {
  background: rgba(44, 62, 80, 0.95) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}

/* Hero section needs top padding to account for transparent header */
.shopify-section:has(.banner),
.shopify-section:has(.image-banner) {
  padding-top: 0 !important;
}

/* On non-homepage pages, header stays solid */
body:not(.template-index) .header-wrapper {
  background: #1A2332 !important;
}

body:not(.template-index) .shopify-section-group-header-group {
  position: relative !important;
}


/* ==========================================================================
   SUBTLE SCROLL REVEAL — Per design patterns
   Gentle translateY(24px) fade-in, not aggressive Horizon animations
   ========================================================================== */
.dv-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

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


/* ==========================================================================
   HEADER SHRINK ON SCROLL — Padding reduces for compact sticky header
   ========================================================================== */
.header-wrapper {
  transition: padding 0.3s ease, background 0.3s ease !important;
}

.header-wrapper .header {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
  transition: padding 0.3s ease !important;
}

.shopify-section-header-sticky .header-wrapper .header,
.header.shopify-section-header-sticky {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}


/* ==========================================================================
   MEJURI-TIGHT SPACING — Almost zero gap between sections
   ========================================================================== */
main#MainContent > .shopify-section {
  margin: 0 !important;
  padding: 0 !important;
}

main#MainContent > .shopify-section > section,
main#MainContent > .shopify-section > div {
  margin: 0 !important;
}

/* Promise section — tighter padding */
.dv-coming-soon,
[style*="THE DIAVORIA PROMISE"],
[style*="Jewelry That Means"] {
  padding: 48px 24px !important;
}

/* Between hero and next section — seamless */
.shopify-section:has(.banner) {
  margin-bottom: -1px !important;
}

/* Reduce all section-padding classes */
[class*="-padding"] {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

/* Education/Journal heading gaps */
.title-wrapper-with-link {
  margin-bottom: 24px !important;
}


/* ==========================================================================
   DISTINCTIVE LOGO — Cormorant Garamond with subtle underline
   ========================================================================== */
.header__heading-link {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300 !important;
  font-size: 22px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #B8956A !important;
  text-decoration: none !important;
  position: relative !important;
}

/* Subtle underline effect */
.header__heading-link::after {
  content: '' !important;
  position: absolute !important;
  bottom: -4px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 40% !important;
  height: 0.5px !important;
  background: rgba(184, 149, 106, 0.4) !important;
}


/* ==========================================================================
   ACCESSIBILITY — Focus indicators + Schema markup
   WCAG 2.1 AA Section 2.4.7
   ========================================================================== */

/* Focus visible for keyboard navigation */
*:focus-visible {
  outline: 2px solid #B8956A !important;
  outline-offset: 3px !important;
}

/* Remove outline for mouse clicks */
*:focus:not(:focus-visible) {
  outline: none !important;
}

/* Specific focus for buttons */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid #B8956A !important;
  outline-offset: 2px !important;
  border-radius: 2px !important;
}

/* Skip to content link (hidden until focused) */
.skip-to-content-link:focus {
  position: fixed !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 9999 !important;
  background: #1A2332 !important;
  color: #ffffff !important;
  padding: 12px 24px !important;
  font-size: 14px !important;
  text-decoration: none !important;
}


/* === MERGED FROM assets/design-fixes-s8.css === */
.dv-coll-trust { padding: 12px 16px !important; margin-bottom: 8px !important; }

.dv-coll-trust h3 { font-size: 11px !important; letter-spacing: 0.08em !important; }

.dv-coll-trust p { font-size: 11px !important; }

.dv-piece-count-bar, .collection-product-count,
[class*="product-count"]:not(.dv-lux-banner__count) {
  display: none !important;
}

.collection-list .collection-card__image::after,
.collection-card .collection-card__image::after,
.collection-list__item .collection-card__image::after,
.card--collection .card__media::after {
  opacity: 0.3 !important;
}

.collection-list .collection-card__info,
.collection-card .card__information {
  background: linear-gradient(0deg, rgba(26,35,50,0.75) 0%, rgba(26,35,50,0.2) 60%, transparent 100%) !important;
}

.collection-list img, .collection-card img,
.card--collection img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

.collection-card__title, .card--collection .card__heading {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}

.article-card__info .article-card__author,
.blog-articles .article-card__date + span {

}

.blog-articles .article-card {
  border: none !important;
  background: transparent !important;
  transition: transform 0.4s ease !important;
}

.blog-articles .article-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: none !important;
}

.banner__text .button, .banner .shopify-section .button,
.slideshow__text .button {
  background: #c5a572 !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 36px !important;
  font-size: 14px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.banner__text p, .slideshow__text p,
.banner__text .banner__subheading {
  color: rgba(255,255,255,0.9) !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
  font-size: 16px !important;
}

.dv-lux-banner ~ .shopify-section.section-wrapper:first-of-type {
  display: none !important;
}

.section-wrapper:has(> [style*="display: none"]):not(:has(> :not([style*="display: none"]))) {
  display: none !important;
}

.dv-coll-count { display: none !important; }

.dv-cat-card {
  position: relative !important;
  overflow: hidden !important;
}

.dv-cat-card-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  z-index: 1 !important;
  display: block !important;
}

.dv-cat-card:hover .dv-cat-card-img { transform: scale(1.08); }

.dv-cat-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
}

.dv-cat-card-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

#MainContent > div:first-child + .shopify-section.section-wrapper {
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.dv-coll-count,
.dv-collection-enhance > .dv-coll-count {
  display: none !important;
}

[class*="piece-count"]:not(.dv-lux-banner__count) {
  display: none !important;
}

.collection .no-products-found,
.collection [id*="product-grid"] .no-products-found,
.collection .template-collection__no-products {
  display: none !important;
}

.dv-coll-empty {
  text-align: center;
  padding: 80px 24px 100px;
  max-width: 520px;
  margin: 0 auto;
}

.dv-coll-empty__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 28px;
  border: 1.5px solid #c5a572;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dv-coll-empty__icon svg {
  width: 24px;
  height: 24px;
  stroke: #c5a572;
  fill: none;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dv-coll-empty h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  margin-bottom: 14px !important;
  letter-spacing: 0.04em !important;
}

.dv-coll-empty p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  color: #666 !important;
  line-height: 1.7 !important;
  margin-bottom: 32px !important;
}

.dv-coll-empty__cta {
  display: inline-block;
  padding: 14px 40px;
  background: #1A2332;
  color: #fff !important;
  text-decoration: none !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transition: all 0.3s ease;
  border: 1px solid #1A2332;
}

.dv-coll-empty__cta:hover {
  background: #c5a572 !important;
  border-color: #c5a572 !important;
  color: #1A2332 !important;
}

.collection .facets-container:has(+ .collection-product-list:empty),
.collection .facets-wrapper:has(~ [data-products-count="0"]) {
  display: none !important;
}

.collection--empty .title-wrapper.center {
  display: none !important;
}

.collection--empty ~ .facets-wrapper,
.collection--empty .facets-wrapper,
body:has(.collection--empty) .facets-wrapper,
body:has(.collection--empty) #main-collection-filters {
  display: none !important;
}

body:has(.collection--empty) .product-count {
  display: none !important;
}

.dv-trust-badges {
  display: flex;
  justify-content: center;
  gap: 24px;
  padding: 20px 0;
  border-top: 1px solid #e8e4df;
  margin-top: 16px;
  flex-wrap: wrap;
}

.dv-trust-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  color: #666;
  letter-spacing: 0.02em;
}

.dv-trust-badge svg {
  width: 16px;
  height: 16px;
  stroke: #c5a572;
  fill: none;
  stroke-width: 1.5;
  flex-shrink: 0;
}

.cart-drawer, .drawer {
  font-family: "DM Sans", sans-serif !important;
}

.cart-drawer .drawer__header, .drawer .drawer__header {
  border-bottom: 1px solid #e8e4df !important;
}

.cart-drawer .button, .drawer .button {
  border-radius: 0 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.search__input, .predictive-search__input {
  font-family: "DM Sans", sans-serif !important;
  border-radius: 0 !important;
  border-color: #e8e4df !important;
}

.search .button, .search__button {
  border-radius: 0 !important;
  background: #1A2332 !important;
  color: #fff !important;
}

.article-card__title, .article-card__title a {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  text-decoration: none !important;
}

.article-card__info {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.card-wrapper .card {
  transition: box-shadow 0.35s ease, transform 0.35s ease !important;
}

.card-wrapper:hover .card {
  box-shadow: 0 8px 32px rgba(26, 35, 50, 0.1) !important;
  transform: translateY(-4px) !important;
}

.card .media img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

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

.card-information {
  padding: 14px 8px 8px !important;
}

.card__heading a {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  text-decoration: none !important;
  line-height: 1.4 !important;
}

.card__heading a:hover {
  color: #c5a572 !important;
}

.quick-add__submit {
  background: #1A2332 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  transition: background 0.3s !important;
}

.quick-add__submit:hover {
  background: #c5a572 !important;
}

.cart-notification {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  border: 1px solid #e8e4df !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}

.cart-notification .button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.cart-notification .button--secondary {
  background: transparent !important;
  color: #1A2332 !important;
  border: 1px solid #1A2332 !important;
}

body {
  background-color: #f5f7fa !important;
}

.card, .card-wrapper, .product-form, .cart__items, .drawer {
  background-color: #fff !important;
}

.header, .shopify-section-header {
  background-color: #fff !important;
}

.footer, footer {
  background-color: #1A2332 !important;
}

.banner, .image-banner, .slideshow, [class*="hero"] {
  background-color: transparent !important;
}

.shopify-section:not(.shopify-section-header):not(.shopify-section-footer):not([class*="banner"]) {
  background-color: #f5f7fa;
}

.color-scheme-1 {
  --color-background: 245, 247, 250;
}

.cart__empty-text {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  text-align: center !important;
  margin-bottom: 20px !important;
}

.drawer__inner-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  padding: 40px 24px;
  text-align: center;
}

.cart-drawer__empty-content {
  text-align: center;
}

.cart-drawer__empty-content a {
  display: inline-block;
  padding: 12px 32px;
  background: #1A2332;
  color: #fff !important;
  text-decoration: none !important;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  transition: all 0.3s;
  margin-top: 16px;
}

.cart-drawer__empty-content a:hover {
  background: #c5a572;
  color: #1A2332 !important;
}

.customer .field, .customer input {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
}

.customer h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
}

.customer .button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.customer .button:hover {
  background: #c5a572 !important;
  color: #1A2332 !important;
}

.template-search .search__input {
  font-family: "DM Sans", sans-serif !important;
  font-size: 16px !important;
  border: 1px solid #e8e4df !important;
  border-radius: 0 !important;
  padding: 16px !important;
}

.template-search .search__button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 16px 24px !important;
}

.template-search h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

.predictive-search {
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  background: rgba(255, 255, 255, 0.92) !important;
}

html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}

.page-width {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

@media (max-width: 749px) {
  .shopify-section {
    overflow-x: hidden !important;
  }
  .page-width {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .announcement-bar {
    overflow: hidden !important;
  }

  .header {
    overflow: hidden !important;
  }

  img, video, iframe, table {
    max-width: 100% !important;
  }
  pre {
    overflow-x: auto !important;
    max-width: 100% !important;
  }
}

@media (max-width: 749px) {
  .announcement-bar__message {
    font-size: 9px !important;
    letter-spacing: 0.06em !important;
    white-space: nowrap !important;
  }
  .announcement-bar {
    padding: 8px 12px !important;
  }

  .announcement-bar .slider-button {
    width: 28px !important;
    min-width: 28px !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 749px) {
  .header__heading-logo-wrapper img,
  .header__heading-logo-image {
    max-height: 28px !important;
  }
  .header__icon {
    width: 36px !important;
    height: 36px !important;
  }
}

@media (max-width: 749px) {
  .banner__heading {
    font-size: clamp(24px, 7vw, 36px) !important;
  }
  .banner__text p {
    font-size: 14px !important;
  }
  .banner .button {
    font-size: 11px !important;
    padding: 14px 24px !important;
    letter-spacing: 0.1em !important;
  }
}

@media (max-width: 749px) {
  .collection-list .grid__item {
    padding: 4px !important;
  }
}

.newsletter .newsletter__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

.newsletter .field__input {
  background: #fff !important;
}

.newsletter .newsletter__button {
  border-radius: 0 !important;
  background: #1A2332 !important;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.multicolumn-card__heading {
  transition: transform 0.3s ease !important;
}

.multicolumn-card__info p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

.collection-list .collection-card__info {
  font-family: "DM Sans", sans-serif !important;
}

.collection-list .card__heading {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}

.image-with-text__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.image-with-text__text {
  font-family: "DM Sans", sans-serif !important;
  line-height: 1.7 !important;
}

.predictive-search__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
}

.button, a.button, button.button {
  border-radius: 0 !important;
}

.article-template__hero-container h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.article-template__content {
  font-family: "DM Sans", sans-serif !important;
  line-height: 1.8 !important;
}

.breadcrumb__separator::before,
.breadcrumbs__separator::before {
  content: "C6" !important;
  color: #c5a572 !important;
  font-size: 6px !important;
  vertical-align: middle !important;
}

.product__info-wrapper {
  position: sticky;
  top: 100px;
}

.product__accordion summary {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  color: #1A2332 !important;
  padding: 16px 0 !important;
  border-bottom: 1px solid #e8e4df !important;
  cursor: pointer;
}

.product__accordion summary:hover {
  color: #c5a572 !important;
}

.product__accordion .accordion__content {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  padding: 16px 0 !important;
  color: #666 !important;
}

.product-form__input .swatch-input label {
  border: 1px solid #e8e4df !important;
  border-radius: 0 !important;
  transition: border-color 0.3s !important;
}

.product-form__input .swatch-input input:checked + label {
  border-color: #c5a572 !important;
  box-shadow: 0 0 0 1px #c5a572 !important;
}

.product__description {
  font-family: "DM Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
  color: #666 !important;
}

.product__description h3, .product__description h4 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  margin-top: 20px !important;
}

.related-products h2, .product-recommendations h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

.dv-pin-save {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid #e60023;
  color: #e60023;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 20px;
  transition: all 0.3s;
  margin-top: 8px;
}

.dv-pin-save:hover {
  background: #e60023;
  color: #fff;
}

.dv-pin-save svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.dv-countdown {
  display: flex;
  gap: 12px;
  justify-content: center;
  padding: 16px;
  background: #1A2332;
  color: #fff;
  font-family: "DM Sans", sans-serif;
}

.dv-countdown-item {
  text-align: center;
}

.dv-countdown-num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  color: #c5a572;
}

.dv-countdown-label {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
}

.dv-sale-badge {
  background: #c5a572 !important;
  color: #1A2332 !important;
}

.rte a:not(.button), .article-template a:not(.button) {
  position: relative;
  color: #c5a572 !important;
  text-decoration: none !important;
}

.rte a:not(.button)::after, .article-template a:not(.button)::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #c5a572;
  transition: width 0.3s ease;
}

.rte a:not(.button):hover::after, .article-template a:not(.button):hover::after {
  width: 100%;
}

input:focus, select:focus, textarea:focus, .field__input:focus {
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.button:active, .product-form__submit:active {
  transform: scale(0.98) !important;
}

.dv-promise {
  display: flex;
  justify-content: center;
  gap: 32px;
  padding: 24px 16px;
  background: #f5f7fa;
  border-top: 1px solid #e8e4df;
  border-bottom: 1px solid #e8e4df;
}

.dv-promise-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "DM Sans", sans-serif;
}

.dv-promise-item svg {
  width: 20px;
  height: 20px;
  stroke: #c5a572;
  fill: none;
  stroke-width: 1.5;
  flex-shrink: 0;
}

.dv-promise-text {
  font-size: 12px;
  color: #1A2332;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
}

@media (max-width: 749px) {
  .dv-promise {
    gap: 16px;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .dv-promise-text {
    font-size: 10px;
  }
}

.dv-skeleton {
  background: linear-gradient(90deg, #f0ede8 25%, #f8f6f3 50%, #f0ede8 75%);
  background-size: 200% 100%;
  animation: dv-shimmer 1.5s infinite;
  border-radius: 2px;
}

@keyframes dv-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

.image-with-text .image-with-text__content p,
.image-with-text .image-with-text__content .rte p {
  color: rgba(255,255,255,0.85) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

.image-with-text .image-with-text__content h2 {
  color: #fff !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.image-with-text .image-with-text__content .button {
  background: #c5a572 !important;
  color: #1A2332 !important;
  border: 1px solid #c5a572 !important;
}

.image-with-text .image-with-text__content .button:hover {
  background: #d4b88a !important;
}

.collection-list .collection-card__image {
  aspect-ratio: 3/4 !important;
}

.collection-list .card--collection {
  overflow: hidden !important;
}

.collection-list .card--collection img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  transition: transform 0.6s ease !important;
}

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

.page-width .rte, .page-width .main-page-content {
  max-width: 800px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}

.template-page h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 5vw, 44px) !important;
  color: #1A2332 !important;
  margin-bottom: 32px !important;
}

.template-page h2, .template-page h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  margin-top: 40px !important;
  margin-bottom: 16px !important;
}

.template-page p {
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #555 !important;
}

.diavoria-announcement {
  display: none !important;
}

.multicolumn-card__info strong {
  font-weight: 600 !important;
  color: #1A2332 !important;
}

.multicolumn-card__info p:last-child {
  word-spacing: normal !important;
}

.shopify-section h2, .shopify-section .title {
  letter-spacing: 0.04em !important;
}

.shopify-section + .shopify-section::before {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c5a572, transparent);
  margin: 0 auto;
}

.shopify-section {
  opacity: 1 !important;
  transition: opacity 0.5s ease !important;
}

.multicolumn .multicolumn-card .icon-wrap svg {
  color: #c5a572 !important;
}

.shopify-section h2::after,
.section-header h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #c5a572;
  margin: 16px auto 0;
  transition: width 0.6s ease;
}

.shopify-section:hover h2::after {
  width: 80px;
}

.newsletter {
  position: relative !important;
}

.newsletter::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 1px;
  background: linear-gradient(90deg, transparent, #c5a572, transparent);
}

.multicolumn-card:hover .icon-wrap {
  transform: translateY(-2px);
  transition: transform 0.3s ease;
}

.shopify-section img {
  transition: opacity 0.6s ease, transform 0.6s ease !important;
}

.footer__list-social a:hover svg,
.footer__list-social a:hover {
  transform: translateY(-2px) !important;
  transition: transform 0.3s ease !important;
}

.breadcrumbs, nav.breadcrumb {
  border-bottom: 1px solid #f0ede8 !important;
  padding-bottom: 16px !important;
  margin-bottom: 24px !important;
}

.template-page h1,
.template-collection h1,
.main-blog h1 {
  position: relative;
  padding-bottom: 20px !important;
}

.template-page h1::after,
.template-collection h1::after,
.main-blog h1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 40px;
  height: 2px;
  background: #c5a572;
}

.blog-articles .article-card__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

.blog-articles .article-card__title a {
  color: #1A2332 !important;
  text-decoration: none !important;
}

.blog-articles .article-card__title a:hover {
  color: #c5a572 !important;
}

.blog-articles .article-card__excerpt {
  font-family: "DM Sans", sans-serif !important;
  color: #666 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.collection-hero {
  background: #1A2332 !important;
}

.collection-hero h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: 0.08em !important;
  font-weight: 400 !important;
}

.contact .form__label {
  color: #1A2332 !important;
  font-weight: 500 !important;
}

.contact textarea, .contact input {
  border-color: #e8e4df !important;
  border-radius: 0 !important;
}

.contact .button {
  background: #1A2332 !important;
  color: #fff !important;
  border-radius: 0 !important;
}

details summary {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  padding: 20px 0 !important;
  border-bottom: 1px solid #e8e4df !important;
  cursor: pointer !important;
  color: #1A2332 !important;
  transition: color 0.3s !important;
}

details summary:hover {
  color: #c5a572 !important;
}

details[open] summary {
  color: #c5a572 !important;
}

details .accordion__content, details .rte {
  font-family: "DM Sans", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
  color: #666 !important;
  padding: 16px 0 24px !important;
}

.template-giftcard .gift-card__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}

.collection--empty .facets-container,
.collection--empty #main-collection-filters,
.collection--empty .collection-product-count,
.collection--empty .product-count {
  display: none !important;
}

.collection--empty .dv-coll-empty__icon,
.collection--empty svg {
  opacity: 0.4;
}

.banner .button--primary, .image-banner .button--primary {
  background: #c5a572 !important;
  color: #1A2332 !important;
  border: 1px solid #c5a572 !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 16px 48px !important;
  transition: all 0.3s !important;
}

.banner .button--primary:hover {
  background: #d4b88a !important;
  border-color: #d4b88a !important;
}

.banner .button--secondary, .image-banner .button--secondary {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.5) !important;
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  padding: 16px 48px !important;
}

.banner .button--secondary:hover {
  border-color: #c5a572 !important;
  color: #c5a572 !important;
}

.template-page .page-width > h1,
.template-page .main-page-content > h1,
.main-page h1 {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
}

.shopify-section-header-sticky .header--has-scrolled {
  box-shadow: 0 1px 3px rgba(26,35,50,0.06) !important;
}

.announcement-bar__message {
  font-weight: 500 !important;
}

.shopify-section + .shopify-section {
  border-top: none !important;
}

.cart-count-bubble {
  background: #c5a572 !important;
  color: #1A2332 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
}

.header__icon:hover {
  color: #c5a572 !important;
  transition: color 0.3s !important;
}

html {
  scroll-behavior: smooth !important;
}

@media print {
  .announcement-bar, .header, .footer, .newsletter,
  .back-to-top, .popup-modal { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}

.drawer {
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

.drawer__header {
  padding: 20px 24px !important;
}

.drawer__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 20px !important;
  letter-spacing: 0.04em !important;
}

.announcement-bar .slider-counter {
  display: none !important;
}

.custom-liquid a[style*="aspect-ratio"] {
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}

.custom-liquid a[style*="aspect-ratio"]:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 40px rgba(26, 35, 50, 0.15) !important;
}

.custom-liquid a[style*="aspect-ratio"]:hover img {
  transform: scale(1.06) !important;
}

.multicolumn-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.multicolumn-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(26, 35, 50, 0.08) !important;
}

.card__heading a[href="/products/example-product"],
.card__heading:has(a[href*="example"]),
.product-card:has(a[href*="example"]) {
  display: none !important;
}

.shopify-section:has(.card__heading a[href="/products/example-product"]) .grid {
  display: none !important;
}

.shopify-section:has(.card__heading a[href="/products/example-product"]) h2 {
  display: none !important;
}

.banner, .image-banner {
  cursor: crosshair;
}

.banner:hover img, .image-banner:hover img {
  transform: scale(1.02) !important;
  transition: transform 8s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 2px solid #c5a572 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 4px rgba(197, 165, 114, 0.15) !important;
}

@media (max-width: 749px) {
  .collection-list {
    scroll-snap-type: x mandatory;
  }
  .collection-list__item {
    scroll-snap-align: start;
  }
}

.article-template {
  position: relative;
}

.dv-gold-text {
  background: linear-gradient(135deg, #c5a572, #d4b88a, #a88e5a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.image-with-text .image-with-text__media img {
  transition: transform 0.1s linear !important;
}

.multicolumn-card, .collection-card, .article-card {
  will-change: transform;
}

@keyframes dv-stagger-in {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.collection-list__item:nth-child(1) { animation: dv-stagger-in 0.6s 0.1s both; }

.collection-list__item:nth-child(2) { animation: dv-stagger-in 0.6s 0.2s both; }

.collection-list__item:nth-child(3) { animation: dv-stagger-in 0.6s 0.3s both; }

.collection-list__item:nth-child(4) { animation: dv-stagger-in 0.6s 0.4s both; }

.banner .button {
  transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.banner .button:hover {
  transform: translateY(-3px) scale(1.02) !important;
  box-shadow: 0 12px 32px rgba(197, 165, 114, 0.25) !important;
}

@keyframes dv-text-reveal {
  from { clip-path: inset(0 100% 0 0); }
  to { clip-path: inset(0 0 0 0); }
}

.banner__heading {
  animation: dv-text-reveal 1.2s cubic-bezier(0.22, 1, 0.36, 1) 0.3s both;
}

.image-with-text__media {
  overflow: hidden !important;
}

.image-with-text__media img {
  animation: dv-image-reveal 1s cubic-bezier(0.22, 1, 0.36, 1) 0.2s both;
}

@keyframes dv-image-reveal {
  from { transform: scale(1.1); opacity: 0.8; }
  to { transform: scale(1); opacity: 1; }
}

.header__heading-link, .header__heading {
  background: linear-gradient(120deg, #a88e5a 0%, #d4b88a 25%, #c5a572 50%, #d4b88a 75%, #a88e5a 100%) !important;
  background-size: 200% auto !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  animation: dv-shimmer 4s linear infinite !important;
}

@keyframes dv-shimmer {
  to { background-position: 200% center; }
}

.banner .button--primary::before,
.image-banner .button--primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #d4b88a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
  z-index: -1;
}

.banner .button--primary:hover::before {
  transform: scaleX(1);
}

.banner .button--primary {
  position: relative;
  overflow: hidden;
  z-index: 1;
}

img[loading="lazy"] {
  filter: blur(0);
  transition: filter 0.5s ease !important;
}

.footer a:not(.footer__list-social a) {
  position: relative !important;
}

.footer a:not(.footer__list-social a)::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 0 !important;
  height: 1px !important;
  background: #c5a572 !important;
  transition: width 0.3s ease !important;
}

.footer a:not(.footer__list-social a):hover::after {
  width: 100% !important;
}

.predictive-search, .search-modal {
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  border: 1px solid rgba(232, 228, 223, 0.5) !important;
}

.banner {
  position: relative !important;
  overflow: hidden !important;
}

@keyframes dv-scroll-hint {
  0%, 100% { opacity: 0.4; transform: translateY(0); }
  50% { opacity: 1; transform: translateY(6px); }
}

.banner [class*="scroll"], .scroll-indicator {
  animation: dv-scroll-hint 2s ease-in-out infinite !important;
}

.card-wrapper::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(255,255,255,0.1) 50%, transparent 60%);
  background-size: 250% 250%;
  opacity: 0;
  transition: opacity 0.3s, background-position 0.6s !important;
  pointer-events: none;
  z-index: 2;
}

.card-wrapper:hover::after {
  opacity: 1;
  background-position: -100% -100%;
}

.announcement-bar__link:hover {
  text-shadow: 0 0 8px rgba(197, 165, 114, 0.4) !important;
}

.rte table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.rte table thead th {
  background: #1A2332 !important;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 14px 16px !important;
}

.rte table tbody td {
  padding: 12px 16px !important;
  border-bottom: 1px solid #e8e4df !important;
  font-size: 14px !important;
}

.rte table tbody tr:nth-child(even) {
  background: #f5f7fa !important;
}

.stock-urgency {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: "DM Sans", sans-serif;
  font-size: 13px;
  color: #c0392b;
  margin-top: 8px;
}
.stock-pulse {
  width: 8px;
  height: 8px;
  background: #c0392b;
  border-radius: 50%;
  animation: dv-pulse 1.5s ease-in-out infinite;
}
@keyframes dv-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(1.3); }
}

.breadcrumbs__separator::before {
  content: "C6" !important;
  color: #c5a572 !important;
  font-size: 5px !important;
}

.product-form__input input:checked + label {
  border-color: #c5a572 !important;
  box-shadow: 0 0 0 1px #c5a572 !important;
}

.product__accordion details summary {
  transition: color 0.3s, padding-left 0.3s !important;
}
.product__accordion details[open] summary {
  padding-left: 8px !important;
  border-left: 2px solid #c5a572 !important;
}

.dv-ring-sizer {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  color: #c5a572;
  text-decoration: none;
  letter-spacing: 0.06em;
  margin-top: 12px;
  transition: color 0.3s;
}
.dv-ring-sizer:hover {
  color: #a88e5a;
  text-decoration: underline;
}
.dv-ring-sizer svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}

.product-form__submit[disabled] {
  background: #e8e4df !important;
  color: #999 !important;
  border-color: #e8e4df !important;
  cursor: not-allowed !important;
  letter-spacing: 0.12em !important;
}

.card-wrapper {
  position: relative !important;
}
.dv-wishlist-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(6px);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  transform: translateY(-4px);
  transition: opacity 0.3s, transform 0.3s, color 0.3s;
  z-index: 3;
  color: #1A2332;
}
.card-wrapper:hover .dv-wishlist-btn {
  opacity: 1;
  transform: translateY(0);
}
.dv-wishlist-btn:hover {
  color: #c5a572;
}
.dv-wishlist-btn.active {
  color: #c0392b;
}

.price .price-item--sale {
  color: #c5a572 !important;
  font-weight: 600 !important;
}
.price .price-item--regular + .price-item--sale {
  margin-left: 8px;
}

.badge--sale {
  background: #c5a572 !important;
  color: #1A2332 !important;
}
.badge--sold-out {
  background: #666 !important;
}

.shopify-payment-button {
  margin-top: 8px !important;
}
.shopify-payment-button__button {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
}

.product__info-wrapper {
  scrollbar-width: thin;
  scrollbar-color: #c5a572 transparent;
}
.product__info-wrapper::-webkit-scrollbar {
  width: 4px;
}
.product__info-wrapper::-webkit-scrollbar-thumb {
  background: #c5a572;
  border-radius: 2px;
}

.facets__summary {
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  border-color: #e8e4df !important;
  border-radius: 0 !important;
}
.active-facets__button {
  border-radius: 0 !important;
  font-family: "DM Sans", sans-serif !important;
}

.cart-notification {
  border-radius: 0 !important;
  border: 1px solid #e8e4df !important;
  font-family: "DM Sans", sans-serif !important;
}
.cart-notification .button {
  border-radius: 0 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.collection .grid__item {
  animation: dv-stagger-in 0.5s both;
}
.collection .grid__item:nth-child(1) { animation-delay: 0.05s; }
.collection .grid__item:nth-child(2) { animation-delay: 0.1s; }
.collection .grid__item:nth-child(3) { animation-delay: 0.15s; }
.collection .grid__item:nth-child(4) { animation-delay: 0.2s; }
.collection .grid__item:nth-child(5) { animation-delay: 0.25s; }
.collection .grid__item:nth-child(6) { animation-delay: 0.3s; }
.collection .grid__item:nth-child(7) { animation-delay: 0.35s; }
.collection .grid__item:nth-child(8) { animation-delay: 0.4s; }

.card__media .media {
  aspect-ratio: 3/4 !important;
}
.card__media img {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
}

.collection-hero__inner {
  position: relative;
}
.collection-hero__inner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(26,35,50,0.2), rgba(26,35,50,0.5));
  pointer-events: none;
}
.collection-hero__title, .collection-hero__description {
  position: relative;
  z-index: 1;
}


/* === QUICK VIEW MODAL === */
.dv-quickview {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 35, 50, 0.6);
  backdrop-filter: blur(8px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.dv-quickview.active {
  opacity: 1;
  visibility: visible;
}
.dv-quickview__content {
  background: #fff;
  max-width: 900px;
  width: 90%;
  max-height: 85vh;
  overflow-y: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  position: relative;
}
@media (max-width: 749px) {
  .dv-quickview__content {
    grid-template-columns: 1fr;
    max-height: 90vh;
  }
}
.dv-quickview__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  color: #1A2332;
  cursor: pointer;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dv-quickview__image {
  aspect-ratio: 3/4;
  overflow: hidden;
  background: #f5f7fa;
}
.dv-quickview__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dv-quickview__info {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.dv-quickview__title {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  color: #1A2332;
  margin-bottom: 12px;
}
.dv-quickview__price {
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  color: #c5a572;
  font-weight: 500;
  margin-bottom: 20px;
}
.dv-quickview__btn {
  display: inline-block;
  padding: 14px 36px;
  background: #1A2332;
  color: #fff;
  text-decoration: none;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border: none;
  cursor: pointer;
  transition: background 0.3s;
}
.dv-quickview__btn:hover {
  background: #c5a572;
  color: #1A2332;
}

/* === QUICK ADD BUTTON ON CARDS === */
.card-wrapper .quick-add {
  position: absolute !important;
  bottom: 8px !important;
  left: 8px !important;
  right: 8px !important;
  opacity: 0 !important;
  transform: translateY(8px) !important;
  transition: opacity 0.3s, transform 0.3s !important;
}
.card-wrapper:hover .quick-add {
  opacity: 1 !important;
  transform: translateY(0) !important;
}


/* === MOBILE PRODUCT GALLERY SWIPE === */
@media (max-width: 749px) {
  .product__media-list {
    display: flex !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    gap: 4px !important;
  }
  .product__media-list::-webkit-scrollbar { display: none !important; }
  .product__media-item {
    scroll-snap-align: center !important;
    flex: 0 0 92vw !important;
    overflow: hidden !important;
  }
  
  /* Mobile hero text size */
  .banner__heading {
    font-size: clamp(28px, 8vw, 40px) !important;
  }
  
  /* Mobile cart drawer full height */
  .drawer {
    max-width: 100vw !important;
  }
  
  /* Thumb-friendly touch targets */
  .header__icon, .header__menu-item {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  
  /* Mobile product info padding */
  .product__info-wrapper {
    padding: 0 16px !important;
  }
}

/* === HAPTIC FEEDBACK VISUAL (mobile tap) === */
@media (hover: none) {
  .button:active, .card-wrapper:active {
    transform: scale(0.97) !important;
    transition: transform 0.1s !important;
  }
}


/* === ORDER CONFIRMATION STYLING === */
.os-header__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

/* === LOADING STATE ANIMATION === */
.loading-overlay {
  background: rgba(245, 247, 250, 0.8) !important;
  backdrop-filter: blur(4px) !important;
}
.loading-overlay__spinner circle {
  stroke: #c5a572 !important;
}

/* === FORM VALIDATION STYLING === */
.form__message--error {
  color: #c0392b !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 13px !important;
}

/* === PRODUCT COMPARE AT PRICE === */
.price--on-sale .price-item--regular {
  text-decoration: line-through !important;
  color: #999 !important;
  font-size: 0.9em !important;
}
.price--on-sale .price-item--sale {
  color: #c5a572 !important;
  font-weight: 600 !important;
}

/* === COLLECTION PRODUCT COUNT === */
.collection-product-count, .product-count {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
  letter-spacing: 0.04em !important;
}


/* === BLOG ARTICLE READING EXPERIENCE === */
.article-template__content .rte {
  max-width: 720px !important;
  margin: 0 auto !important;
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #333 !important;
}
.article-template__content .rte p {
  margin-bottom: 1.5em !important;
}
.article-template__content .rte h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  margin-top: 2em !important;
  margin-bottom: 0.8em !important;
  color: #1A2332 !important;
}
.article-template__content .rte h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.6em !important;
  color: #1A2332 !important;
}
.article-template__content .rte blockquote {
  border-left: 3px solid #c5a572 !important;
  padding-left: 24px !important;
  margin: 2em 0 !important;
  font-style: italic !important;
  color: #666 !important;
}
.article-template__content .rte ul li {
  margin-bottom: 0.5em !important;
}
.article-template__content .rte ul li::marker {
  color: #c5a572 !important;
}
.article-template__content .rte img {
  border-radius: 4px !important;
  margin: 2em 0 !important;
}
.article-template__content .rte a {
  color: #c5a572 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}
.article-template__content .rte a:hover {
  color: #a88e5a !important;
}

/* === ARTICLE META INFO === */
.article-template__hero-container .article-template__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}
.article-template__hero-container time {
  font-family: "DM Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #999 !important;
}


/* === RELATED PRODUCTS SECTION === */
.related-products, .product-recommendations {
  border-top: 1px solid #e8e4df !important;
  padding-top: 48px !important;
  margin-top: 48px !important;
}
.related-products h2, .product-recommendations h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  font-size: 28px !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 32px !important;
}
.related-products h2::after, .product-recommendations h2::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: #c5a572;
  margin: 16px auto 0;
}

/* === FEATURED COLLECTION ON OTHER PAGES === */
.featured-collection h2, section[class*="featured"] h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}


/* === REDUCED MOTION RESPECT === */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .banner:hover img {
    transform: none !important;
  }
}

/* === HIGH CONTRAST MODE === */
@media (forced-colors: active) {
  .button, .product-form__submit {
    border: 2px solid ButtonText !important;
  }
  .badge {
    border: 1px solid ButtonText !important;
  }
}

/* === FOCUS MANAGEMENT === */
.skip-to-content-link:focus {
  position: fixed !important;
  top: 8px !important;
  left: 8px !important;
  z-index: 100001 !important;
  padding: 12px 24px !important;
  background: #1A2332 !important;
  color: #fff !important;
  text-decoration: none !important;
}


/* === MERGED FROM assets/typography-polish.css === */
/* ============================================================
   DIAVORIA — Typography Polish (Final Precision Layer)
   Targets specific Dawn elements not fully covered by
   theme-override-luxury.css. Every pixel matters for luxury.
   ============================================================ */

/* --- 1. Price Display Polish ------------------------------- */

/* Sale price: gold, semibold */
.price--on-sale .price-item--sale {
  color: #c5a572 !important;
  font-weight: 600 !important;
  font-variant-numeric: tabular-nums !important;
}

/* Compare-at (was) price: muted, struck, smaller */
.price--on-sale .price-item--regular,
.price--on-sale s,
.price--on-sale del,
.price .price-item--regular.price-item--last {
  color: #999 !important;
  text-decoration: line-through !important;
  font-size: 0.85em !important;
  font-weight: 400 !important;
}

/* Spacing between sale and compare prices */
.price--on-sale .price-item--sale + .price-item--regular,
.price--on-sale .price-item--sale + s,
.price--on-sale .price-item--sale + del {
  margin-left: 6px !important;
}

.price__regular + .price__sale,
.price__sale + .price__regular {
  margin-left: 8px !important;
}

/* Installment / afterpay / klarna text */
.price__availability,
.installment,
.afterpay-paragraph,
.shopify-payment-terms,
.spi-banner-text,
[data-shopify="payment-terms"],
.payment-terms {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  color: #999 !important;
  font-style: italic !important;
  line-height: 1.5 !important;
  margin-top: 4px !important;
}

/* Unit price (per 100g, etc.) */
.unit-price {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  color: #aaa !important;
  font-weight: 400 !important;
}

/* --- 2. Product Title Hierarchy ---------------------------- */

/* On product cards */
.card__heading a,
.card__heading span,
.card-information__text a,
.card-information__text span,
.card__content .card__heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  color: #1A2332 !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  text-decoration: none !important;
}

/* On PDP (product detail page) */
.product__title h1,
h1.product__title,
.product-single__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(22px, 3vw, 34px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.015em !important;
  line-height: 1.2 !important;
  color: #1A2332 !important;
  margin-bottom: 8px !important;
}

/* On cart page / cart drawer */
.cart-item__name,
.cart-item__name a,
.cart-drawer-item__title,
.cart-drawer-item__title a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  color: #1A2332 !important;
  text-decoration: none !important;
}

/* Cart item variant/option text */
.cart-item__details dl,
.cart-item__details dd,
.cart-item__details dt,
.cart-drawer-item__variant {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  color: #888 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
}

/* --- 3. Button Refinements --------------------------------- */

/* All buttons base */
.button,
.shopify-challenge__button,
button.button,
a.button,
.btn,
.product-form__submit,
.cart__checkout-button,
.cart__ctas .button {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0px !important;
  cursor: pointer !important;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  -webkit-appearance: none !important;
}

/* Primary buttons */
.button--primary,
.product-form__submit:not([disabled]),
.cart__checkout-button,
.shopify-payment-button .shopify-payment-button__button--unbranded {
  background-color: #1A2332 !important;
  color: #fff !important;
  padding: 16px 32px !important;
  border: 2px solid #1A2332 !important;
  border-radius: 0px !important;
}

/* Primary hover */
.button--primary:hover,
.product-form__submit:not([disabled]):hover,
.cart__checkout-button:hover,
.shopify-payment-button .shopify-payment-button__button--unbranded:hover {
  background-color: #c5a572 !important;
  color: #1A2332 !important;
  border-color: #c5a572 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 32px rgba(26, 35, 50, 0.12) !important;
}

/* Disabled buttons */
.button[disabled],
.button--disabled,
.product-form__submit[disabled],
button:disabled {
  background-color: #ccc !important;
  border-color: #ccc !important;
  color: #888 !important;
  cursor: not-allowed !important;
  transform: none !important;
  box-shadow: none !important;
}

.button[disabled]:hover,
.button--disabled:hover,
.product-form__submit[disabled]:hover,
button:disabled:hover {
  background-color: #ccc !important;
  border-color: #ccc !important;
  color: #888 !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Dynamic checkout buttons (Buy Now / Apple Pay) border-radius */
.shopify-payment-button__button,
.shopify-payment-button .shopify-payment-button__button {
  border-radius: 0px !important;
}

/* --- 4. Form Elements -------------------------------------- */

/* Inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="number"],
input[type="url"],
select,
textarea,
.field__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  color: #1A2332 !important;
  padding: 14px !important;
  border: 1px solid #e8e4df !important;
  border-radius: 0px !important;
  background-color: #fff !important;
  transition: border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
              box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Focus state: gold border + subtle glow */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus,
.field__input:focus {
  border-color: #c5a572 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(197, 165, 114, 0.15),
              0 0 8px rgba(197, 165, 114, 0.1) !important;
}

/* Labels */
label,
.field__label,
.form__label,
.customer label,
.contact .field__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #666 !important;
  font-weight: 500 !important;
}

/* Placeholders */
input::placeholder,
textarea::placeholder,
.field__input::placeholder {
  font-style: italic !important;
  color: #aaa !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  font-style: italic !important;
  color: #aaa !important;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  font-style: italic !important;
  color: #aaa !important;
}

/* --- 5. Breadcrumbs ---------------------------------------- */

.breadcrumbs,
nav.breadcrumb,
.breadcrumbs__list,
.breadcrumb-list {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  padding: 16px 0 !important;
}

/* Breadcrumb links */
.breadcrumbs a,
nav.breadcrumb a,
.breadcrumbs__list a,
.breadcrumb-list a {
  color: #999 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.breadcrumbs a:hover,
nav.breadcrumb a:hover,
.breadcrumbs__list a:hover,
.breadcrumb-list a:hover {
  color: #c5a572 !important;
}

/* Current page (last item, not a link) */
.breadcrumbs span:last-child,
nav.breadcrumb span:last-child,
.breadcrumbs__list li:last-child,
.breadcrumb-list li:last-child,
.breadcrumbs .breadcrumbs__item--current {
  color: #1A2332 !important;
  font-weight: 500 !important;
}

/* Separator: gold diamond */
.breadcrumbs__separator,
.breadcrumbs li + li::before,
.breadcrumb-list li + li::before {
  content: "\25C6" !important;
  color: #c5a572 !important;
  font-size: 6px !important;
  vertical-align: middle !important;
  margin: 0 10px !important;
  display: inline-block !important;
}

/* --- 6. Badge / Tag Styling -------------------------------- */

/* Sale badge */
.badge--sale,
.badge[class*="sale"],
.card__badge .badge--sale {
  background-color: #1A2332 !important;
  color: #fff !important;
  padding: 8px 14px !important;
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* New badge */
.badge--new,
.badge[class*="new"] {
  background-color: #c5a572 !important;
  color: #1A2332 !important;
  padding: 8px 14px !important;
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Sold out badge */
.badge--sold-out,
.badge[class*="sold"],
.card__badge .badge--sold-out {
  background-color: #999 !important;
  color: #fff !important;
  padding: 8px 14px !important;
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Generic badge reset (catch-all) */
.badge,
.card__badge .badge {
  border-radius: 0px !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

/* Product tags */
.product-tag,
.tag,
.tag--active {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  border-radius: 0px !important;
  padding: 6px 12px !important;
  border: 1px solid #e8e4df !important;
  color: #1A2332 !important;
}

.tag--active,
.product-tag--active {
  border-color: #c5a572 !important;
  color: #c5a572 !important;
}

/* --- 7. Quantity Selector ---------------------------------- */

.quantity,
.quantity__wrapper,
quantity-input {
  border: 1px solid #e8e4df !important;
  border-radius: 0px !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
}

.quantity__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #1A2332 !important;
  text-align: center !important;
  border: none !important;
  border-radius: 0px !important;
  min-width: 40px !important;
  -moz-appearance: textfield !important;
}

.quantity__input::-webkit-outer-spin-button,
.quantity__input::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

.quantity__button {
  color: #1A2332 !important;
  border: none !important;
  border-radius: 0px !important;
  background: transparent !important;
  padding: 8px 12px !important;
  cursor: pointer !important;
  transition: color 0.2s ease !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

.quantity__button:hover {
  color: #c5a572 !important;
}

/* --- 8. Table Styling (Size Guides, Cart) ------------------ */

table,
.table-wrapper table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

table thead th,
.table-wrapper table thead th {
  background-color: #1A2332 !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
  padding: 12px 16px !important;
  text-align: left !important;
  border: none !important;
}

table tbody td,
.table-wrapper table tbody td {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  padding: 10px 16px !important;
  color: #1A2332 !important;
  border-bottom: 1px solid #e8e4df !important;
}

/* Alternating row colors */
table tbody tr:nth-child(even),
.table-wrapper table tbody tr:nth-child(even) {
  background-color: #f5f7fa !important;
}

table tbody tr:nth-child(odd),
.table-wrapper table tbody tr:nth-child(odd) {
  background-color: #fff !important;
}

/* --- 9. Scrollbar Customization ---------------------------- */

/* WebKit scrollbar */
::-webkit-scrollbar {
  width: 6px !important;
  height: 6px !important;
}

::-webkit-scrollbar-track {
  background: #f5f3f0 !important;
}

::-webkit-scrollbar-thumb {
  background-color: #c5a572 !important;
  border-radius: 3px !important;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #a88e5a !important;
}

/* Firefox scrollbar */
* {
  scrollbar-width: thin;
  scrollbar-color: #c5a572 #f5f3f0;
}

/* --- 10. Selection Highlight ------------------------------- */

::selection {
  background: rgba(197, 165, 114, 0.2) !important;
  color: #1A2332 !important;
}

::-moz-selection {
  background: rgba(197, 165, 114, 0.2) !important;
  color: #1A2332 !important;
}

/* --- 11. Link Styles (Global) ------------------------------ */

a {
  color: #1A2332 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

a:hover {
  color: #c5a572 !important;
  text-decoration: none !important;
}

a:visited {
  color: #1A2332 !important;
}

/* Preserve footer link colors (override global) */
.footer a,
.footer-block a,
.footer__list-social a {
  color: rgba(255, 255, 255, 0.6) !important;
}

.footer a:hover,
.footer-block a:hover,
.footer__list-social a:hover {
  color: #c5a572 !important;
}

/* Preserve announcement bar link colors */
.announcement-bar a,
.announcement-bar__link {
  color: #c5a572 !important;
}

/* --- 12. Micro-Typography Fixes ---------------------------- */

/* Prevent FOUT (flash of unstyled text) */
.shopify-section {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* Tabular numbers for all price displays */
.price,
.price-item,
.cart-item__price,
.cart-item__discounted-prices,
.totals__total-value,
.cart__subtotal {
  font-variant-numeric: tabular-nums !important;
}

/* Cart subtotal / totals */
.totals,
.totals__subtotal,
.totals__subtotal-value,
.totals__total,
.totals__total-value {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  letter-spacing: 0.02em !important;
}

.totals__total-value,
.cart__subtotal .price {
  font-weight: 600 !important;
  color: #1A2332 !important;
  font-size: 16px !important;
}

/* Tax / shipping note at checkout */
.tax-note,
.cart__checkout-terms,
.rte.cart__blocks-text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  color: #999 !important;
  line-height: 1.5 !important;
}

/* Vendor text on cards */
.card__vendor,
.card-information .caption-with-letter-spacing {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #aaa !important;
  font-weight: 400 !important;
}

/* Countdown / promo text */
.countdown-timer,
.promo-text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-variant-numeric: tabular-nums !important;
}

/* Notification / toast messages */
.cart-notification,
.cart-notification__heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-radius: 0px !important;
}

.cart-notification__heading {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

/* Modal / popup typography */
.modal__content,
.popup-modal__content {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.modal__content h2,
.popup-modal__content h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

/* Smooth font rendering across all elements */
*,
*::before,
*::after {
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  text-rendering: optimizeLegibility !important;
}


/* === MERGED FROM assets/theme-override-luxury.css === */
/* ============================================================
   DIAVORIA — Theme Override (Luxury)
   Forces Cormorant Garamond + DM Sans over Shopify Dawn defaults.
   Targets actual Dawn selectors so no Cormorant Garamond / Inter
   or any default font leaks through.
   ============================================================ */

/* --- 0. Google Fonts Import -------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=DM+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* --- 1. Design Token Overrides ----------------------------- */
:root {
  --font-heading-family: "Cormorant Garamond", Georgia, serif !important;
  --font-body-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  --font-heading-style: normal !important;
  --font-heading-weight: 400 !important;
  --font-body-style: normal !important;
  --font-body-weight: 400 !important;

  --dv-charcoal: #1A2332;
  --dv-gold: #c5a572;
  --dv-gold-light: #d4b88a;
  --dv-gold-dark: #a88e5a;
  --dv-cream: #f5f7fa;
  --dv-border: #e8e4df;
  --dv-heading-font: "Cormorant Garamond", Georgia, serif;
  --dv-body-font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --dv-transition: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --dv-shadow-soft: 0 2px 20px rgba(26, 35, 50, 0.06);
  --dv-shadow-hover: 0 8px 32px rgba(26, 35, 50, 0.12);

  /* Dawn theme color variable overrides (RGB format for Dawn's color system) */
  --color-base-accent-1: 197, 165, 114 !important;
  --color-base-accent-2: 197, 165, 114 !important;
  --gradient-base-accent-1: #c5a572 !important;
  --gradient-base-accent-2: #c5a572 !important;
  --color-button-gradient: #c5a572 !important;
  --color-foreground: 26, 35, 50 !important;
  --color-background: 254, 252, 249 !important;
}

/* --- 2. Global Typography ---------------------------------- */
body,
.body {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  color: var(--dv-charcoal);
}

h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5,
.title,
.hxs, .hs, .hm, .hl, .hxl, .hxxl {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

p, li, span, a, label, small, blockquote, figcaption, td, th, dt, dd {
  font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* --- 3. Header / Navigation -------------------------------- */
.header,
header.header,
.section-header,
.shopify-section-header {
  background: #fff !important;
  border-bottom: 1px solid var(--dv-charcoal) !important;
  transition: background var(--dv-transition), box-shadow var(--dv-transition);
}

.header.shopify-section-header-sticky {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  background: rgba(255, 255, 255, 0.96) !important;
}

.header__heading-link,
.header__heading a,
.header__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  color: var(--dv-charcoal) !important;
  text-decoration: none !important;
}

.header__menu-item,
.header__menu-item span,
.header__inline-menu .list-menu__item,
.list-menu__item--link {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--dv-charcoal) !important;
  font-weight: 500 !important;
  transition: color var(--dv-transition);
}

.header__menu-item:hover,
.header__menu-item:hover span,
.list-menu__item--link:hover {
  color: var(--dv-gold) !important;
}

/* Nav underline on hover */
.header__menu-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 1px;
  background: var(--dv-gold);
  transition: width var(--dv-transition);
}

.header__menu-item:hover::after {
  width: 100%;
}

/* Header icons */
.header__icon,
.header__icon:hover {
  color: var(--dv-charcoal) !important;
}

.header__icon:hover {
  color: var(--dv-gold) !important;
}

/* Menu drawer */
.menu-drawer,
.menu-drawer__inner-container {
  background: #fff !important;
}

.menu-drawer__menu-item,
.menu-drawer__menu-item span {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--dv-charcoal) !important;
  font-weight: 500;
  border-color: var(--dv-border) !important;
}

.menu-drawer__menu-item:hover {
  color: var(--dv-gold) !important;
}

.menu-drawer__close-button {
  color: var(--dv-charcoal) !important;
}

/* --- 4. Product Cards -------------------------------------- */
.card-wrapper,
.card {
  border: 1px solid var(--dv-border) !important;
  border-radius: 2px !important;
  overflow: hidden;
  background: #fff !important;
  transition: box-shadow var(--dv-transition), transform var(--dv-transition);
}

.card-wrapper:hover,
.card:hover {
  box-shadow: var(--dv-shadow-hover) !important;
  transform: translateY(-4px);
}

.card--card,
.card--standard {
  border: 1px solid var(--dv-border) !important;
}

.card__heading,
.card__heading a,
.card__heading span,
.card-information__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.04em !important;
  font-weight: 400 !important;
  color: var(--dv-charcoal) !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
}

.card__information,
.card-information {
  padding: 12px 8px !important;
}

.price,
.price-item,
.price-item--regular,
.price__regular .price-item {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

.price--on-sale .price-item--sale,
.price--on-sale .price-item--regular {
  color: var(--dv-gold) !important;
}

.price--on-sale .price-item--regular {
  color: #8a8a8a !important;
  text-decoration: line-through;
}

.badge,
.badge--bottom-left,
.badge--sale {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
}

/* Card image hover zoom */
.card__media img,
.card .media img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.card-wrapper:hover .card__media img,
.card-wrapper:hover .card .media img,
.card:hover .card__media img {
  transform: scale(1.06) !important;
}

/* --- 5. Product Page (PDP) --------------------------------- */
.product__title,
.product__title h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  color: var(--dv-charcoal) !important;
}

.product__description,
.product__description p,
.product__description li {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
  font-size: 15px !important;
  color: #4a4a4a !important;
}

.product-form__submit,
.product-form__submit:not([disabled]) {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border: 2px solid var(--dv-charcoal) !important;
  border-radius: 0 !important;
  padding: 16px 32px !important;
  transition: all var(--dv-transition) !important;
}

.product-form__submit:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  transform: translateY(-1px);
  box-shadow: var(--dv-shadow-hover);
}

.product-form__submit[disabled] {
  background: #ccc !important;
  border-color: #ccc !important;
  color: #888 !important;
  cursor: not-allowed !important;
}

.product__info-wrapper,
.product__info-container {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.product__media,
.product__media-item {
  border: 1px solid var(--dv-border) !important;
  border-radius: 2px !important;
  overflow: hidden;
  box-shadow: var(--dv-shadow-soft);
}

.product__media img {
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Product price on PDP */
.product .price,
.product .price__container {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

/* Variant picker */
.product-form__input label,
.variant-input__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

/* --- 6. Collection Pages ----------------------------------- */
.collection-hero,
.collection-hero__inner {
  position: relative;
  overflow: hidden;
}

.collection-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26, 35, 50, 0.3) 0%, rgba(26, 35, 50, 0.6) 100%);
  pointer-events: none;
}

.collection-hero__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #fff !important;
  text-align: center !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  font-size: clamp(28px, 4vw, 48px) !important;
  position: relative;
  z-index: 1;
}

.collection-hero__description {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  color: #6b7c8d !important;
  text-align: center;
  position: relative;
  z-index: 1;
}

.collection-product-list,
.collection .grid {
  gap: 20px !important;
}

@media (min-width: 768px) {
  .collection-product-list,
  .collection .grid {
    gap: 28px !important;
  }
}

/* Facets / Filters */
.facets-wrapper,
.facets__form {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.facets__summary,
.facets__heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
}

.facets__label,
.facet-checkbox__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  color: var(--dv-charcoal) !important;
}

.facet-checkbox input[type="checkbox"]:checked + .facet-checkbox__text {
  color: var(--dv-gold) !important;
}

.active-facets__button {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border: 1px solid var(--dv-border) !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  letter-spacing: 0.04em !important;
}

/* Sort by dropdown */
.facet-filters__sort select,
.facet-filters__field select {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  border-color: var(--dv-border) !important;
}

/* --- 7. Cart Page ------------------------------------------ */
.cart__items,
.cart__items th {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-color: var(--dv-border) !important;
}

.cart__items th {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--dv-charcoal) !important;
}

.cart-item__name,
.cart-item__name a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--dv-charcoal) !important;
  text-decoration: none !important;
  letter-spacing: 0.02em !important;
}

.cart-item__name a:hover {
  color: var(--dv-gold) !important;
}

.cart-item__price,
.cart-item__discounted-prices {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-weight: 500 !important;
}

.cart__checkout-button,
.cart__ctas .button,
.cart__checkout-button.button {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border: 2px solid var(--dv-charcoal) !important;
  border-radius: 0 !important;
  transition: all var(--dv-transition) !important;
}

.cart__checkout-button:hover,
.cart__ctas .button:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
}

.cart__note label,
.cart__note textarea {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* --- 8. Footer --------------------------------------------- */
.footer,
footer.footer,
.footer-block {
  background: var(--dv-charcoal) !important;
  color: rgba(255, 255, 255, 0.7) !important;
}

.footer__content-top,
.footer__content-bottom {
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.footer-block__heading,
.footer h2,
.footer h3,
.footer h4 {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--dv-gold) !important;
  font-weight: 500 !important;
}

.footer a,
.footer-block a,
.footer__list-social a {
  color: rgba(255, 255, 255, 0.6) !important;
  transition: color var(--dv-transition) !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
}

.footer a:hover,
.footer-block a:hover,
.footer__list-social a:hover {
  color: var(--dv-gold) !important;
}

.footer p,
.footer-block p {
  color: rgba(255, 255, 255, 0.5) !important;
  font-size: 13px !important;
}

/* Newsletter form in footer */
.footer .newsletter-form__field-wrapper input,
.footer .field__input {
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  transition: border-color var(--dv-transition) !important;
}

.footer .newsletter-form__field-wrapper input:focus,
.footer .field__input:focus {
  border-color: var(--dv-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px var(--dv-gold) !important;
}

.footer .newsletter-form__button,
.footer .field__button {
  background: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
  border: none !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.footer .newsletter-form__button:hover,
.footer .field__button:hover {
  background: var(--dv-gold-light) !important;
}

.footer__copyright,
.footer__content-bottom-wrapper {
  font-size: 12px !important;
  color: rgba(255, 255, 255, 0.35) !important;
}

/* --- 9. Buttons (Global) ----------------------------------- */
.button,
.shopify-challenge__button,
button.button,
a.button {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  border-radius: 0 !important;
  transition: all var(--dv-transition) !important;
}

.button--primary,
.shopify-payment-button .shopify-payment-button__button--unbranded {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border: 2px solid var(--dv-charcoal) !important;
}

.button--primary:hover,
.shopify-payment-button .shopify-payment-button__button--unbranded:hover {
  background: var(--dv-gold) !important;
  border-color: var(--dv-gold) !important;
  color: var(--dv-charcoal) !important;
}

.button--secondary {
  background: transparent !important;
  color: var(--dv-charcoal) !important;
  border: 2px solid var(--dv-charcoal) !important;
}

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

.button--tertiary {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  color: var(--dv-charcoal) !important;
  letter-spacing: 0.1em !important;
}

.button--tertiary:hover {
  color: var(--dv-gold) !important;
}

/* --- 10. Form Elements ------------------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="search"],
input[type="number"],
select,
textarea,
.field__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border: 1px solid var(--dv-border) !important;
  border-radius: 0 !important;
  color: var(--dv-charcoal) !important;
  font-size: 14px !important;
  transition: border-color var(--dv-transition) !important;
}

input:focus,
select:focus,
textarea:focus,
.field__input:focus {
  border-color: var(--dv-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 1px rgba(197, 165, 114, 0.3) !important;
}

.field__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: #8a8a8a !important;
}

/* --- 11. Announcement Bar ---------------------------------- */
.announcement-bar,
.announcement-bar-section,
.utility-bar {
  background: var(--dv-charcoal) !important;
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: #fff !important;
}

.announcement-bar a,
.announcement-bar__link {
  color: var(--dv-gold) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

.announcement-bar a:hover,
.announcement-bar__link:hover {
  color: var(--dv-gold-light) !important;
}

.announcement-bar__message {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
}

/* --- 12. Pagination ---------------------------------------- */
.pagination,
.pagination__list {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

.pagination__item,
.pagination__item a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  color: var(--dv-charcoal) !important;
  border: 1px solid var(--dv-border) !important;
  border-radius: 0 !important;
  transition: all var(--dv-transition) !important;
}

.pagination__item a:hover,
.pagination__item--current {
  background: var(--dv-charcoal) !important;
  color: #fff !important;
  border-color: var(--dv-charcoal) !important;
}

/* --- 13. Loading Spinner ----------------------------------- */
.loading__spinner,
.loading-overlay__spinner {
  color: var(--dv-gold) !important;
}

.loading__spinner svg circle,
.loading-overlay__spinner svg circle {
  stroke: var(--dv-gold) !important;
}

/* --- 14. Disclosure / Dropdowns ---------------------------- */
.disclosure__button,
.disclosure__list-wrapper {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-color: var(--dv-border) !important;
  border-radius: 0 !important;
}

.disclosure__button {
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: var(--dv-charcoal) !important;
}

.disclosure__link {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  color: var(--dv-charcoal) !important;
  transition: color var(--dv-transition) !important;
}

.disclosure__link:hover {
  color: var(--dv-gold) !important;
}

/* --- 15. Rich Text Editor Content (RTE) -------------------- */
.rte,
.rte p,
.rte li,
.rte span {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.8 !important;
  color: var(--dv-charcoal) !important;
}

.rte h1, .rte h2, .rte h3, .rte h4, .rte h5, .rte h6 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  margin-top: 1.5em !important;
  margin-bottom: 0.5em !important;
}

.rte a {
  color: var(--dv-gold) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  transition: color var(--dv-transition) !important;
}

.rte a:hover {
  color: var(--dv-gold-dark) !important;
}

.rte blockquote {
  border-left: 3px solid var(--dv-gold) !important;
  padding-left: 20px !important;
  font-style: italic !important;
  color: #666 !important;
}

.rte ul, .rte ol {
  padding-left: 20px !important;
  margin-bottom: 1em !important;
}

.rte ul li::marker {
  color: var(--dv-gold);
}

.rte img {
  border-radius: 2px;
  margin: 1em 0;
}

/* --- 16. Misc Shopify Dawn Elements ------------------------ */
/* Breadcrumbs */
.breadcrumbs,
.breadcrumbs a,
nav.breadcrumb,
nav.breadcrumb a {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #8a8a8a !important;
}

.breadcrumbs a:hover,
nav.breadcrumb a:hover {
  color: var(--dv-gold) !important;
}

/* Slideshow / Image banner sections */
.banner__heading,
.slideshow__text h2,
.image-banner__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

.banner__text,
.slideshow__text p,
.image-banner__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* Rich text section */
.rich-text__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.rich-text__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
}

/* Image with text section */
.image-with-text__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.image-with-text__text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
}

/* Multicolumn section */
.multicolumn .multicolumn-card__info h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.multicolumn-card__info p {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* Featured collection heading */
.featured-collection .title,
.featured-collection h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

/* Collapsible content / accordion */
.accordion summary,
.collapsible-content summary,
.product__accordion summary {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  font-weight: 500 !important;
  color: var(--dv-charcoal) !important;
  border-color: var(--dv-border) !important;
}

.accordion .accordion__content,
.collapsible-content__panel {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  line-height: 1.7 !important;
}

/* Contact form / Page sections */
.contact .field__label,
.form__label {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  letter-spacing: 0.04em !important;
}

/* Quantity input */
.quantity__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  font-size: 14px !important;
  border-color: var(--dv-border) !important;
}

.quantity__button {
  color: var(--dv-charcoal) !important;
  border-color: var(--dv-border) !important;
}

.quantity__button:hover {
  color: var(--dv-gold) !important;
}

/* Empty states */
.cart--empty-message,
.template-cart .cart__empty-text {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  color: #8a8a8a !important;
}

/* Search */
.search__input,
.predictive-search__input {
  font-family: "DM Sans", -apple-system, sans-serif !important;
  border-color: var(--dv-border) !important;
}

.predictive-search__heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 400 !important;
}

.predictive-search__item-heading {
  font-family: "DM Sans", -apple-system, sans-serif !important;
}

/* --- 17. Responsive Overrides ------------------------------ */
@media (max-width: 749px) {
  /* Tighter card spacing on mobile */
  .card-wrapper,
  .card {
    border-width: 1px !important;
  }

  .card__heading,
  .card__heading a {
    font-size: 12px !important;
  }

  .price,
  .price-item {
    font-size: 13px !important;
  }

  /* Mobile header */
  .header__heading-link,
  .header__heading {
    font-size: 18px !important;
    letter-spacing: 0.08em !important;
  }

  /* Mobile product title */
  .product__title,
  .product__title h1 {
    font-size: 22px !important;
  }

  /* Mobile buttons */
  .product-form__submit,
  .cart__checkout-button {
    font-size: 11px !important;
    padding: 14px 24px !important;
  }

  /* Mobile footer */
  .footer-block__heading,
  .footer h2,
  .footer h3 {
    font-size: 10px !important;
    letter-spacing: 0.18em !important;
  }

  .footer a,
  .footer-block a {
    font-size: 12px !important;
  }

  /* Announcement bar mobile */
  .announcement-bar,
  .announcement-bar__message {
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    padding: 8px 12px !important;
  }

  /* Mobile menu drawer refinements */
  .menu-drawer__menu-item {
    font-size: 13px !important;
    padding: 14px 0 !important;
  }

  /* Collection hero mobile */
  .collection-hero__title {
    font-size: 24px !important;
  }

  /* Cart items mobile */
  .cart-item__name,
  .cart-item__name a {
    font-size: 13px !important;
  }
}

@media (min-width: 750px) and (max-width: 989px) {
  /* Tablet adjustments */
  .card__heading,
  .card__heading a {
    font-size: 13px !important;
  }

  .collection-hero__title {
    font-size: 36px !important;
  }

  .product__title,
  .product__title h1 {
    font-size: 28px !important;
  }
}

/* --- 18. Sticky Header Scrolled State ---------------------- */
.shopify-section-header-sticky .header--has-scrolled,
.header.scrolled-past-header {
  background: rgba(255, 255, 255, 0.97) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  box-shadow: 0 1px 0 rgba(26, 35, 50, 0.08) !important;
}

/* --- 19. Selection & Focus Styles -------------------------- */
::selection {
  background: rgba(197, 165, 114, 0.2);
  color: var(--dv-charcoal);
}

::-moz-selection {
  background: rgba(197, 165, 114, 0.2);
  color: var(--dv-charcoal);
}

:focus-visible {
  outline: 2px solid var(--dv-gold) !important;
  outline-offset: 2px !important;
}

/* --- 20. Reduced Motion ------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  .card__media img,
  .card .media img,
  .product__media img {
    transition: none !important;
  }

  .card-wrapper:hover,
  .card:hover {
    transform: none !important;
  }
}

/* --- 21. Force Gold on All Dawn Accent Elements ------------ */
.color-accent-1,
[class*="color-accent"],
.gradient-accent-1 {
  --color-foreground: 26, 35, 50 !important;
  --gradient-background: #c5a572 !important;
}


/* === MERGED FROM assets/diavoria-recently-viewed.css === */
/* Diavoria Recently Viewed Products Enhancement */
@keyframes dv-rv-fadein {
  0% { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}

.dv-recently-viewed,
[data-recently-viewed],
.recently-viewed-products {
  padding: 40px 0;
}

.dv-recently-viewed h2,
[data-recently-viewed] h2,
.recently-viewed-products h2,
.recently-viewed-products .section-header__title {
  text-align: center;
  font-size: 1.4em;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #333;
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 28px;
}

.dv-recently-viewed h2::after,
[data-recently-viewed] h2::after,
.recently-viewed-products h2::after,
.recently-viewed-products .section-header__title::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 2px;
  background: linear-gradient(90deg, #b8945f, #d4b078);
  border-radius: 2px;
}

@media screen and (max-width: 749px) {
  .dv-recently-viewed .grid,
  [data-recently-viewed] .grid,
  .recently-viewed-products .grid,
  .recently-viewed-products .product-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding-bottom: 12px;
    scrollbar-width: none;
  }
  .dv-recently-viewed .grid::-webkit-scrollbar,
  [data-recently-viewed] .grid::-webkit-scrollbar,
  .recently-viewed-products .grid::-webkit-scrollbar,
  .recently-viewed-products .product-grid::-webkit-scrollbar {
    display: none;
  }
  .dv-recently-viewed .grid__item,
  [data-recently-viewed] .grid__item,
  .recently-viewed-products .grid__item,
  .recently-viewed-products .product-grid .grid__item {
    flex: 0 0 65%;
    scroll-snap-align: start;
  }
}

.dv-recently-viewed .card__media img,
[data-recently-viewed] .card__media img,
.recently-viewed-products .card__media img {
  transition: transform 0.5s ease;
}

.dv-recently-viewed .card:hover .card__media img,
[data-recently-viewed] .card:hover .card__media img,
.recently-viewed-products .card:hover .card__media img {
  transform: scale(1.06);
}

.dv-recently-viewed .card,
[data-recently-viewed] .card,
.recently-viewed-products .card {
  overflow: hidden;
  border-radius: 8px;
}

.dv-recently-viewed .grid__item:nth-child(1),
[data-recently-viewed] .grid__item:nth-child(1),
.recently-viewed-products .grid__item:nth-child(1) { animation: dv-rv-fadein 0.5s ease 0.1s both; }
.dv-recently-viewed .grid__item:nth-child(2),
[data-recently-viewed] .grid__item:nth-child(2),
.recently-viewed-products .grid__item:nth-child(2) { animation: dv-rv-fadein 0.5s ease 0.2s both; }
.dv-recently-viewed .grid__item:nth-child(3),
[data-recently-viewed] .grid__item:nth-child(3),
.recently-viewed-products .grid__item:nth-child(3) { animation: dv-rv-fadein 0.5s ease 0.3s both; }
.dv-recently-viewed .grid__item:nth-child(4),
[data-recently-viewed] .grid__item:nth-child(4),
.recently-viewed-products .grid__item:nth-child(4) { animation: dv-rv-fadein 0.5s ease 0.4s both; }
.dv-recently-viewed .grid__item:nth-child(5),
[data-recently-viewed] .grid__item:nth-child(5),
.recently-viewed-products .grid__item:nth-child(5) { animation: dv-rv-fadein 0.5s ease 0.5s both; }
.dv-recently-viewed .grid__item:nth-child(6),
[data-recently-viewed] .grid__item:nth-child(6),
.recently-viewed-products .grid__item:nth-child(6) { animation: dv-rv-fadein 0.5s ease 0.6s both; }


/* ==========================================================================
   SEARCH MODAL + CART DRAWER PREMIUM STYLING
   ========================================================================== */

/* Search modal overlay */
.search-modal {
  background: rgba(44, 62, 80, 0.95) !important;
  backdrop-filter: blur(12px) !important;
}

.search-modal__content {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

.search-modal .field__input {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 16px !important;
  border-color: rgba(184, 149, 106, 0.3) !important;
}

/* Cart drawer */
.cart-drawer .drawer__header {
  border-bottom: 1px solid #e2e6ec !important;
}

.cart-drawer .cart-item__name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  color: #1A2332 !important;
}

.cart-drawer .cart-item__price {
  color: #1A2332 !important;
  font-weight: 500 !important;
}

/* Cart checkout button */
.cart-drawer .button--primary,
.cart__checkout-button {
  background: #B8956A !important;
  color: #1A2332 !important;
  font-family: 'DM Sans', sans-serif !important;
  letter-spacing: 0.1em !important;
}

.cart-drawer .button--primary:hover {
  background: #a6824e !important;
}


/* ==========================================================================
   HERO ENHANCEMENT — More dramatic, better text readability
   ========================================================================== */
.banner .banner__media::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    180deg,
    rgba(44, 62, 80, 0.6) 0%,
    rgba(44, 62, 80, 0.2) 30%,
    rgba(0, 0, 0, 0.1) 60%,
    rgba(0, 0, 0, 0.4) 100%
  ) !important;
  z-index: 1 !important;
}

.banner .banner__content {
  z-index: 2 !important;
  position: relative !important;
}

/* Hero heading — even bolder presence */
.banner__heading {
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.3) !important;
}

/* Hero subtitle — more contrast */
.banner__text p {
  text-shadow: 0 1px 15px rgba(0, 0, 0, 0.3) !important;
}

/* Hero CTA button — larger, more prominent */
.banner .button--primary {
  padding: 18px 52px !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
}


/* Smooth scrolling globally */
html {
  scroll-behavior: smooth !important;
}

/* Better link hover transitions */
a {
  transition: color 0.25s ease !important;
}


/* ==========================================================================
   MICRO-INTERACTIONS — Premium hover effects
   ========================================================================== */

/* Button hover lift effect */
.button, a.button, button.button {
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease !important;
}

.button:hover, a.button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(44, 62, 80, 0.12) !important;
}

/* Card hover lift */
.card, .article-card-wrapper, .collection-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.card:hover, .article-card-wrapper:hover, .collection-card:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(44, 62, 80, 0.08) !important;
}

/* Link underline animation */
.footer a, .rte a {
  position: relative !important;
}

.footer a::after, .rte a::after {
  content: '' !important;
  position: absolute !important;
  bottom: -1px !important;
  left: 0 !important;
  width: 0 !important;
  height: 1px !important;
  background: currentColor !important;
  transition: width 0.3s ease !important;
}

.footer a:hover::after, .rte a:hover::after {
  width: 100% !important;
}

/* Image hover zoom (subtle) */
.card__media img, .collection-card img, .article-card__image img {
  transition: transform 0.5s cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

.card:hover .card__media img,
.collection-card:hover img,
.article-card-wrapper:hover .article-card__image img {
  transform: scale(1.03) !important;
}


/* ==========================================================================
   PRODUCT PAGE READY — Styles for when products arrive
   ========================================================================== */

/* Product title */
.product__title h1 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300 !important;
  font-size: clamp(24px, 3vw, 36px) !important;
  letter-spacing: 0.02em !important;
  color: #1A2332 !important;
}

/* Product price */
.product__info-wrapper .price {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #1A2332 !important;
}

/* Add to cart button */
.product-form__submit {
  background: #B8956A !important;
  color: #ffffff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 18px !important;
  border: none !important;
  transition: background 0.3s ease !important;
}

.product-form__submit:hover {
  background: #a6824e !important;
}

/* Collapsible tabs */
.product .accordion summary {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  color: #1A2332 !important;
  border-bottom: 1px solid #e2e6ec !important;
  padding: 16px 0 !important;
}

/* Product media gallery */
.product__media-wrapper {
  border-radius: 2px !important;
}

.product__media-item img {
  border-radius: 2px !important;
}

/* Variant picker */
.product-form__input label {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #1A2332 !important;
}


/* ==========================================================================
   FONT CONSISTENCY — Ensure ALL headings use Cormorant Garamond
   ========================================================================== */
h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5, .h6,
.card__heading,
.card__heading a,
.article-card .card__heading a,
.blog__title,
.collection-hero__title,
.drawer__heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* Cart drawer heading can stay DM Sans for functional clarity */
.cart-drawer .totals h2,
.cart-drawer .cart__subtotal h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
}


/* ==========================================================================
   DESIGN FIXES ROUND 2
   ========================================================================== */

/* Brand Story CTA button — consistent with other buttons */
.image-with-text .button,
.image-with-text a.button {
  background: #1A2332 !important;
  color: #ffffff !important;
  border: none !important;
}

.image-with-text .button:hover {
  background: #B8956A !important;
}

/* Journal heading — center align like other section headings */
.blog__title,
.featured-blog h2,
.title-wrapper-with-link h2 {
  text-align: center !important;
  width: 100% !important;
}

.title-wrapper-with-link {
  flex-direction: column !important;
  align-items: center !important;
}

.title-wrapper-with-link .link {
  margin-top: 8px !important;
}

/* "View all" link styling */
.blog__button,
a.blog__button {
  background: #1A2332 !important;
  color: #ffffff !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 40px !important;
}

/* Education card titles — ensure visibility */
.dv-edu-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: #1A2332 !important;
  margin-bottom: 8px !important;
}

/* Newsletter heading center */
.newsletter h2,
.newsletter .inline-richtext {
  text-align: center !important;
}


/* Brand Story button — NUCLEAR SPECIFICITY */
.shopify-section .image-with-text .button,
.shopify-section .image-with-text a.button,
.shopify-section .image-with-text .button--primary,
[id*="brand_story"] .button,
[id*="brand_story"] a.button {
  background: #1A2332 !important;
  color: #ffffff !important;
  border: 1px solid #1A2332 !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
}

[id*="brand_story"] .button:hover,
[id*="brand_story"] a.button:hover {
  background: #B8956A !important;
  border-color: #B8956A !important;
}


/* ==========================================================================
   LOGO PROMINENCE — Make DIAVORIA text more visible in header
   ========================================================================== */
.header__heading {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 2px !important;
}

.header__heading-link {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 300 !important;
  font-size: 24px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #B8956A !important;
}

/* Diamond icon above logo */
.header__heading-logo-image,
.header__heading img[src*="diamond"] {
  max-height: 24px !important;
  margin-bottom: 2px !important;
  filter: brightness(1.3) !important;
}

/* Subtitle "FINE JEWELRY" under logo */
.header__heading-link::after {
  content: 'FINE JEWELRY' !important;
  display: block !important;
  font-family: 'DM Sans', sans-serif !important;
  font-size: 8px !important;
  letter-spacing: 0.3em !important;
  color: rgba(184, 149, 106, 0.5) !important;
  margin-top: 1px !important;
}


/* ==========================================================================
   LOGO SIZE — Bigger, more visible in header
   ========================================================================== */
.header__heading-logo-wrapper,
.header__heading-logo-image {
  max-width: 220px !important;
  width: 220px !important;
}

/* Header padding for more breathing room */
.header-wrapper .header {
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}


/* ==========================================================================
   BLOG CARD IMAGE — Better aspect ratio, no awkward cropping
   ========================================================================== */
.article-card .card__inner .card__media,
.article-card .card__media {
  aspect-ratio: 4/3 !important;
  overflow: hidden !important;
}

.article-card .card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Collection card images */
.collection-card .card__media {
  aspect-ratio: 3/4 !important;
}


/* ==========================================================================
   NUCLEAR FONT — ALL headings Cormorant Garamond, no exceptions
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
}

/* Exception: Cart totals stay functional DM Sans */
.cart-drawer .totals h2,
.cart-drawer h2[class*="total"],
.cart__subtotal h2 {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}


/* ==========================================================================
   BRAND STORY TEXT COLOR — Force dark text on light background
   ========================================================================== */
[id*="brand_story"] p,
[id*="brand_story"] .rte p,
.image-with-text__content p,
.image-with-text .rte p {
  color: #6b7c8d !important;
}

[id*="brand_story"] h2,
.image-with-text__content h2 {
  color: #1A2332 !important;
}

[id*="brand_story"] .caption,
.image-with-text__content .caption {
  color: #B8956A !important;
}
