/** Shopify CDN: Minification failed

Line 2179:0 Expected "}" to go with "{"

**/
/* ============================================================
   PREMIUM REDESIGN LAYER
   Multi-brand luxury perfume — Navy (#0d1b2a) + Gold (#d4af37)
   Loaded AFTER main.min.css. Purely additive: typography,
   spacing, hierarchy, CTAs, cards, trust, PDP polish.
   No markup/functionality changed. Remove this file to revert.
   ============================================================ */

:root {
  --lux-gold: #ffdd00; /* Vibrant yellow for badges like Essenzi */
  --lux-gold-soft: #fffdf5;
  --lux-gold-tint: #ffffff;
  --lux-gold-line: #f0f0f0;
  --lux-navy: #1e1e1e; /* High contrast black */
  --lux-ivory: #ffffff;
  --lux-cta: #e3000f; /* Vibrant red for CTA/Promos */
  --lux-ink-60: rgba(30, 30, 30, 0.6);
  --lux-ink-45: rgba(30, 30, 30, 0.45);
  --lux-shadow: 0 8px 30px -8px rgba(0, 0, 0, 0.08); /* Much softer minimal shadow */
  --lux-shadow-sm: none; /* No default shadow */
  --lux-ease: cubic-bezier(0.25, 0.8, 0.25, 1); /* Snappy ease-out */
  /* Clean modern typography */
  --font-heading-family: "Inter", "Helvetica Neue", Arial, sans-serif;
  --lux-font-serif: "Inter", "Helvetica Neue", Arial, sans-serif;
  --lux-font-label: "Inter", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Premium type rendering ----------
   Marcellus is single-weight 400 — never force bold (avoids faux-bold).
   Luxe comes from the serif + generous, even uppercase tracking. */
.collection-v7__title,
.product-v1__title,
.product-v8__title,
.testimonial-v18__title,
.xo-section-heading__title,
.brand-v1__title {
  font-family: var(--lux-font-serif);
  font-weight: 400;
  letter-spacing: 0.12em;
}
/* Product & collection card names in the same elegant serif */
.collection-v7__item-title,
.xo-product-card__title,
.xo-product-card__title a {
  font-family: var(--font-heading-family);
  font-weight: 500;
}
.collection-v7__item-title {
  letter-spacing: 0.1em;
}
.xo-product-card__title {
  letter-spacing: 0.03em;
}
/* Eyebrows, vendor, USP labels — crisp small-caps Inter for contrast */
.product-v1__subtitle,
.product-v8__subtitle,
.xo-section-heading__subtitle,
.xo-product-card__vendor,
.policy-v2__title {
  font-family: var(--lux-font-label);
}

/* ---------- Global rhythm & smoothing ---------- */
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Consistent vertical rhythm between stacked home sections */
.shopify-section.section + .shopify-section.section {
  position: relative;
}

/* ============================================================
   1. SECTION HEADING SYSTEM (eyebrow + title + gold divider)
   ============================================================ */
.product-v1__heading,
.collection-v7__title,
.testimonial-v18__title,
.brand-v1 .xo-section-heading,
.xo-section-heading {
  text-align: center;
}

.product-v1__subtitle,
.xo-section-heading__subtitle {
  display: inline-block;
  font-family: var(--font-body-family);
  font-size: 1.25rem !important;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--lux-gold);
  margin: 0 0 1rem;
}

/* Remove decorative lines to match clean minimal aesthetic */
.product-v1__subtitle:not(:empty)::before,
.product-v1__subtitle:not(:empty)::after {
  display: none;
}

/* Gold underline accent beneath every section title */
.product-v1__title-wrap,
.collection-v7__title,
.testimonial-v18__title,
.xo-section-heading__title {
  position: relative;
}
/* Remove Gold underline accent beneath every section title */
.product-v1__title::after,
.collection-v7__title::after,
.testimonial-v18__title::after,
.xo-section-heading__title::after {
  display: none;
}

.collection-v7__description,
.xo-section-heading__description {
  max-width: 56ch;
  margin-left: auto;
  margin-right: auto;
  color: var(--lux-ink-60);
  font-size: 1.5rem;
  line-height: 1.7;
}

/* ============================================================
   2. HERO SLIDESHOW / PROMO BANNERS — premium CTA + dots
   ============================================================ */
/* Premium pill CTA inside hero / promo banners */
.slideshow-v45__buttons .xo-button,
.slideshow-v45__content .xo-button {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 600;
  border-radius: 999px;
  padding: 1.3rem 3.2rem;
  transition: transform 0.4s var(--lux-ease), box-shadow 0.4s var(--lux-ease);
}
.slideshow-v45__buttons .xo-button:hover,
.slideshow-v45__content .xo-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px -12px rgba(212, 175, 55, 0.6);
}

/* Pagination dots in brand gold */
.slideshow-v45__pagination .xo-carousel-bullet[aria-current="true"],
.xo-carousel-bullet[aria-current="true"] span {
  background: var(--lux-gold) !important;
}

/* ============================================================
   3. SHOP BY COLLECTIONS — luxe cards
   ============================================================ */
.collection-v7__item-image {
  display: block;
  overflow: hidden;
  border-radius: 0;
  border: none;
  box-shadow: none;
  transition: box-shadow 0.5s var(--lux-ease), transform 0.5s var(--lux-ease);
}
.collection-v7__item-image img,
.collection-v7__item-image .xo-image {
  transition: transform 0.7s var(--lux-ease);
}
.collection-v7__item-image:hover {
  box-shadow: none;
  transform: translateY(-4px);
}
.collection-v7__item-image:hover img {
  transform: scale(1.06);
}

.collection-v7__item-label {
  display: block;
  text-align: center;
  margin-top: 1.6rem;
}
.collection-v7__item-title {
  font-family: var(--lux-font-serif);
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--lux-navy);
  position: relative;
  display: inline-block;
  padding-bottom: 0.4rem;
}
.collection-v7__item-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 1.5px;
  background: var(--lux-gold);
  transform: translateX(-50%);
  transition: width 0.4s var(--lux-ease);
}
.collection-v7__item-image:hover + .collection-v7__item-label .collection-v7__item-title::after,
.collection-v7__item-label:hover .collection-v7__item-title::after {
  width: 100%;
}

/* ============================================================
   4. PRODUCT CARDS (style1) — bestsellers grid & collections
   ============================================================ */
/* Entire card wrapper styling */
.xo-product-card {
  background: #fff !important;
  border: 1px solid #ebebeb !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  transition: box-shadow 0.35s var(--lux-ease), border-color 0.35s var(--lux-ease) !important;
}
.xo-product-card:hover {
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06) !important;
  border-color: #e0e0e0 !important;
}

/* Header (image area) */
.xo-product-card__header--style1 {
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden;
  background: transparent;
  border: none !important;
}
.xo-product-card__header--style1 img {
  transition: transform 0.7s var(--lux-ease);
}
xo-product:hover .xo-product-card__header--style1 img {
  transform: scale(1.05);
}

/* Badges stacked on top left */
.xo-product-card__badge {
  top: 1rem !important;
  left: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.4rem !important;
}
.xo-product-card__badge .xo-badge,
.xo-product-card__badge > * {
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
  font-size: 0.9rem;
  border-radius: 999px;
  padding: 0.25rem 0.8rem;
  box-shadow: none;
  border: none !important;
}
/* Essenzi badge colors */
.xo-badge:nth-child(1) { background: #ffea00 !important; color: #000 !important; }
.xo-badge:nth-child(2) { background: #ff3b30 !important; color: #fff !important; }
.xo-badge:nth-child(3) { background: #007aff !important; color: #fff !important; }

/* Information block - left aligned */
.xo-product-card__information {
  text-align: left !important;
  padding: 1.2rem 1.2rem 1.4rem !important;
}
.xo-product-card__vendor {
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lux-gold);
  font-weight: 600;
  margin-bottom: 0.4rem;
}
.xo-product-card__title {
  font-family: var(--font-heading-family);
  font-size: 1.15rem !important;
  font-weight: 400 !important;
  line-height: 1.4;
  letter-spacing: 0;
  margin-bottom: 0.8rem;
}
.xo-product-card__title a {
  color: var(--lux-navy);
  transition: color 0.3s var(--lux-ease);
}
.xo-product-card__title a:hover {
  color: var(--lux-gold);
}
.xo-product-card__price {
  margin-top: 0;
  justify-content: flex-start !important;
  font-weight: 600;
  font-size: 1.15rem;
}
/* Stack the sale price vertically like Essenzi */
.xo-product-card__price .xo-price__sale {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
}
/* Active/Sale Price - prominent red */
.xo-product-card__price .xo-price__item--accent,
.xo-product-card__price .xo-price__item:not(.xo-price__item--del) {
  color: #ff3b30 !important;
  font-weight: 700;
  font-size: 1.25rem;
}
/* Old Strikethrough Price - grey, smaller */
.xo-product-card__price .xo-price__item--del {
  color: #999 !important;
  font-weight: 400 !important;
  font-size: 0.9rem !important;
  text-decoration: line-through !important;
}


/* Quick actions */
.xo-product-card__icon .xo-button.circle,
.xo-product-card__actions .xo-button.circle {
  transition: background 0.35s var(--lux-ease), color 0.35s var(--lux-ease), transform 0.35s var(--lux-ease);
}
.xo-product-card__icon .xo-button.circle:hover,
.xo-product-card__actions .xo-button.circle:hover {
  background: var(--lux-gold);
  color: var(--lux-navy);
  transform: translateY(-2px);
}

/* Add to cart block inside card */
.xo-product-card__actions {
  margin-top: 1rem !important;
}
.xo-product-card__actions--style1 .xo-button:not(.circle) {
  width: auto !important;
  min-width: unset !important;
  display: inline-flex !important;
  border-radius: 50px !important;
  background-color: #222 !important;
  color: #fff !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  padding: 8px 20px !important;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* ============================================================
   5. SHOP BY BRANDS — authenticity row
   ============================================================ */
.brand-v1__inner {
  border-top: 1px solid var(--lux-gold-line);
  border-bottom: 1px solid var(--lux-gold-line);
}
.brand-v1__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.6rem 1.5rem;
  position: relative;
}
.brand-v1__item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 22%;
  height: 56%;
  width: 1px;
  background: var(--lux-gold-line);
}
.brand-v1__image {
  max-width: 14rem;
  filter: grayscale(1);
  opacity: 0.62;
  transition: filter 0.5s var(--lux-ease), opacity 0.5s var(--lux-ease), transform 0.5s var(--lux-ease);
}
.brand-v1__item:hover .brand-v1__image {
  filter: grayscale(0);
  opacity: 1;
  transform: scale(1.05);
}
.brand-v1__image svg path {
  fill: var(--lux-navy);
  transition: fill 0.5s var(--lux-ease);
}
.brand-v1__item:hover .brand-v1__image svg path {
  fill: var(--lux-gold);
}

/* ============================================================
   15. VISIBILITY UTILITIES
   ============================================================ */
/* Used by header to toggle layouts */
@media (max-width: 992px) {
  .desktop-only,
  .desktop-only-block {
    display: none !important;
  }

  /* Guarantee perfect centering of the mobile logo and edge-to-edge icons */
  .mobile-only {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    position: relative !important;
  }
  .mobile-only .header-v14__navigation {
    margin-left: -0.8rem !important; /* Pull left to edge */
  }
  .mobile-only .header-v14__logo {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }
  .mobile-only .header-v14__utilities {
    max-width: none !important;
    margin-right: -1.5rem !important; /* Pull right to edge */
  }
}

@media (min-width: 993px) {
  .mobile-only {
    display: none !important;
  }
}

/* Make all arrows smaller on phones */
@media (max-width: 768px) {
  .lux-carousel-nav button,
  .xo-carousel__nav button,
  .collection-v7__navigation button {
    width: 32px !important;
    height: 32px !important;
  }
  .lux-carousel-nav button svg,
  .xo-carousel__nav button svg,
  .collection-v7__navigation button svg {
    width: 14px !important;
    height: 14px !important;
  }
}

/* ============================================================
   MOBILE FLOW & SPACING OPTIMIZATION
============================================================ */
@media (max-width: 768px) {
  /* Drastically reduce vertical gaps between sections to make it congested */
  .xo-section {
    --pt-mobile: 6px !important;
    --pb-mobile: 6px !important;
  }
  
  /* Kill double-padding on the root wrapper */
  #xo-root {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Reduce left/right edge padding to the absolute minimum */
  xo-container, .xo-container--box, .xo-container--wide, .container, .page-width {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  /* Ultra-tight space between grid items */
  xo-grid {
    --gap: 6px !important;
    row-gap: 12px !important;
  }
  
  /* Force the top banner (slideshow) to be perfectly flush with the header */
  .slideshow-v1-wrapper {
    --pt-mobile: 0px !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Unify and perfectly size ALL section headers */
  .collection-v7__title,
  .product-tabs-header,
  .xo-section h2,
  .xo-section h3,
  .section-title,
  .product-v8__title {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    margin-bottom: 12px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
  }
  
  /* Fix massive gaps under specific section headings like BEST SELLER */
  .product-v8__heading {
    margin-bottom: 15px !important;
    padding-bottom: 15px !important;
  }
}

/* ============================================================
   6. TESTIMONIALS — premium quote cards
   ============================================================ */
.testimonial-v18__item {
  background: #fff;
  border: 1px solid var(--lux-gold-line);
  border-radius: 1.6rem;
  padding: 3.2rem 2.8rem 2.6rem;
  box-shadow: var(--lux-shadow-sm);
  position: relative;
  height: 100%;
  transition: box-shadow 0.45s var(--lux-ease), transform 0.45s var(--lux-ease), border-color 0.45s var(--lux-ease);
}
.testimonial-v18__item:hover {
  box-shadow: var(--lux-shadow);
  border-color: var(--lux-gold);
  transform: translateY(-4px);
}
/* Decorative quotation mark */
.testimonial-v18__item::before {
  content: "\201C";
  position: absolute;
  top: 0.6rem;
  right: 2.2rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 7rem;
  line-height: 1;
  color: var(--lux-gold);
  opacity: 0.18;
}
.testimonial-v18__list-star {
  display: flex;
  gap: 0.3rem;
  margin-bottom: 1.4rem;
}
.testimonial-v18__testimonial {
  font-size: 1.55rem;
  line-height: 1.75;
  color: var(--lux-navy);
  font-style: italic;
  margin-bottom: 1.8rem;
}
.testimonial-v18__customer {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  border-top: 1px solid var(--lux-gold-line);
  padding-top: 1.6rem;
}
.testimonial-v18__img img {
  border-radius: 999px;
  width: 4.6rem;
  height: 4.6rem;
  object-fit: cover;
  border: 2px solid var(--lux-gold);
}

/* ============================================================
   7. RESPONSIVE — mobile premium polish (768px)
   ============================================================ */
@media (max-width: 768px) {
  /* ---- Eyebrow labels ---- */
  .product-v1__subtitle,
  .xo-section-heading__subtitle {
    letter-spacing: 0.2em;
    font-size: 1.05rem !important;
  }
  .product-v1__subtitle:not(:empty)::before,
  .product-v1__subtitle:not(:empty)::after {
    width: 1.4rem;
    margin: 0 0.6rem 0.3rem;
  }
  /* ---- Section titles ---- */
  .xo-section-heading__title,
  .collection-v7__title,
  .product-v1__title,
  .testimonial-v18__title {
    font-size: clamp(2rem, 5.5vw, 3rem);
    letter-spacing: 0.08em;
  }
  /* ---- Gold underlines — slightly shorter on mobile ---- */
  .product-v1__title::after,
  .collection-v7__title::after,
  .testimonial-v18__title::after,
  .xo-section-heading__title::after {
    width: 4.8rem;
    margin-top: 1rem;
  }
  /* ---- Section description ---- */
  .collection-v7__description,
  .xo-section-heading__description {
    font-size: 1.35rem;
    line-height: 1.65;
  }
  /* ---- Testimonials ---- */
  .testimonial-v18__item {
    padding: 2.2rem 1.8rem 2rem;
    border-radius: 1.2rem;
  }
  .testimonial-v18__testimonial {
    font-size: 1.4rem;
    line-height: 1.65;
  }
  /* ---- Collection cards ---- */
  .collection-v7__item-title {
    font-size: 1.35rem;
    letter-spacing: 0.08em;
  }
  /* Brand dividers off on small screens for cleaner wrap */
  .brand-v1__item:not(:last-child)::after {
    display: none;
  }
  /* ---- Product cards ---- */
  .xo-product-card__title {
    font-size: 1.45rem;
    letter-spacing: 0.02em;
  }
  .xo-product-card__vendor {
    font-size: 0.95rem;
    letter-spacing: 0.15em;
  }
  .xo-product-card__information {
    padding: 1.2rem 0.8rem 0.5rem;
  }
}

/* ============================================================
   8. TRUST BAR (policy-v1) — authenticity / shipping / secure / returns
   Sits directly under hero to convert trust into momentum.
   ============================================================ */
.policy-v2 {
  height: 100%;
}
.policy-v2__wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 0.4rem 0.5rem;
}
.policy-v2__wrap > div {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  text-align: left;
}
.policy-v2__svg {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.4rem;
  height: 5.4rem;
  border-radius: 999px;
  color: var(--lux-navy);
  background: transparent;
  border: 1px solid var(--lux-gold-line);
  transition: border-color 0.45s var(--lux-ease), transform 0.45s var(--lux-ease);
}
.policy-v2__svg svg {
  width: 2.8rem;
  height: 2.8rem;
}
.policy-v2:hover .policy-v2__svg {
  border-color: var(--lux-navy);
  transform: translateY(-2px);
}
.policy-v2__title {
  font-family: var(--lux-font-label);
  font-size: 1.55rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--lux-navy);
  margin: 0 0 0.3rem;
  line-height: 1.2;
}
.policy-v2__title-sub {
  font-size: 1.25rem;
  line-height: 1.45;
  color: var(--lux-ink-60);
}
/* Vertical hairline separators between the 4 USP cells (desktop) */
@media (min-width: 769px) {
  .policy-v2 {
    position: relative;
  }
  .policy-v2::after {
    content: "";
    position: absolute;
    right: calc(var(--xo-grid-col-gap, 30px) / -2);
    top: 18%;
    height: 64%;
    width: 1px;
    background: var(--lux-gold-line);
  }
  .policy-v2:last-child::after,
  xo-grid > .policy-v2:nth-child(4n)::after {
    display: none;
  }
}

/* ============================================================
   9. SECTION RHYTHM & SMOOTH TRANSITIONS
   Alternating tone + hairline seams so stacked sections read as
   one continuous, guided scroll toward purchase.
   ============================================================ */
/* Subtle warm-ivory wash on the merchandising sections to lift
   white product cards and separate from neighbouring banners. */
.shopify-section:has(.product-v1__heading),
.shopify-section:has(.testimonial-v18__title) {
  background: #ffffff;
}
.shopify-section:has(.collection-v7__title) {
  background: #ffffff;
}
/* Hairline seam between consecutive content sections */
.shopify-section:has(.policy-v2),
.shopify-section:has(.collection-v7__title),
.shopify-section:has(.product-v1__heading),
.shopify-section:has(.brand-v1__inner),
.shopify-section:has(.testimonial-v18__title) {
  position: relative;
}
.shopify-section:has(.product-v1__heading)::before,
.shopify-section:has(.testimonial-v18__title)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(120rem, 86%);
  height: 1px;
  background: var(--lux-gold-line);
}
/* Breathing room above the section eyebrow/title cluster */
.product-v1__heading,
.collection-v7__title {
  margin-bottom: 3.4rem;
}
.collection-v7__title {
  margin-bottom: 1rem;
}
.collection-v7__description {
  margin-bottom: 3.4rem;
}

/* ============================================================
   10. HERO / PROMO BANNER — seam polish + readable CTA
   ============================================================ */
/* Promo banner CTA: solid gold pill, navy ink — high contrast on imagery */
.slideshow-v45__buttons .xo-button {
  background: var(--lux-gold);
  color: var(--lux-navy);
  border-color: var(--lux-gold);
}
.slideshow-v45__buttons .xo-button:hover {
  background: var(--lux-gold-soft);
  border-color: var(--lux-gold-soft);
}

/* ============================================================
   11. PRODUCT GRID — tighter, even gutters + reveal cadence
   ============================================================ */
.product-v1 xo-grid {
  --xo-grid-col-gap: 2.4rem;
  --xo-grid-row-gap: 3.6rem;
}
/* Keep equal card heights so the price/CTA row aligns across the row */
.product-v1 xo-grid > * {
  height: 100%;
}

/* ============================================================
   12. EXTRA RESPONSIVE — trust bar + grids on mobile
   ============================================================ */
@media (max-width: 768px) {
  /* Trust bar: 2x2 grid, centered, compact */
  .policy-v2__wrap > div {
    gap: 1rem;
  }
  .policy-v2__svg {
    width: 4.2rem;
    height: 4.2rem;
  }
  .policy-v2__svg svg {
    width: 2rem;
    height: 2rem;
  }
  .policy-v2__title {
    font-size: 1.3rem;
    letter-spacing: 0.01em;
  }
  .policy-v2__title-sub {
    font-size: 1.05rem;
    line-height: 1.4;
  }
  .product-v1__heading,
  .collection-v7__title {
    margin-bottom: 2rem;
  }
  .product-v1 xo-grid {
    --xo-grid-col-gap: 1.2rem;
    --xo-grid-row-gap: 2.4rem;
  }
  /* Hero CTA pill — touch-friendly size */
  .slideshow-v45__buttons .xo-button,
  .slideshow-v45__content .xo-button {
    padding: 1.1rem 2.4rem;
    font-size: 1.3rem;
    letter-spacing: 0.1em;
  }
  /* Section rhythm — reduce top padding on mobile */
  .product-v8__heading {
    margin-bottom: 2.4rem;
  }
}
@media (max-width: 480px) {
  /* Stack USP icon above text for clean single-column read */
  .policy-v2__wrap > div {
    flex-direction: column;
    text-align: center;
    gap: 0.7rem;
  }
  .policy-v2__svg {
    width: 3.8rem;
    height: 3.8rem;
  }
  .policy-v2__svg svg {
    width: 1.8rem;
    height: 1.8rem;
  }
  /* Product grid — tightest gutters on small phones */
  .product-v1 xo-grid {
    --xo-grid-col-gap: 1rem;
    --xo-grid-row-gap: 2rem;
  }
  .xo-product-card__title {
    font-size: 1.35rem;
  }
  .xo-product-card__information {
    padding: 1rem 0.7rem 0.4rem;
  }
}

/* ============================================================
   13. PRODUCT-V4 (product-v8 markup) — unify heading with the
   rest of the homepage + premium centered carousel arrows.
   ============================================================ */
/* Center the cluster; eyebrow ABOVE title (markup renders title first) */
.product-v8__heading {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  text-align: center;
  margin-bottom: 3.4rem;
}
.product-v8__title {
  font-family: var(--font-heading-family);
  font-weight: 600;
  letter-spacing: 0.03em;
  position: relative;
}
/* Gold underline accent — identical to other section titles */
.product-v8__heading:after {
  display: none !important;
}
.product-v8__title::after {
  display: none;
}
/* Eyebrow label — same small-caps gold flourish */
.product-v8__subtitle {
  display: inline-block;
  font-family: var(--lux-font-label);
  font-size: 1.25rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--lux-gold);
  margin: 0 0 1rem;
}
.product-v8__subtitle:not(:empty)::before,
.product-v8__subtitle:not(:empty)::after {
  display: none;
}

/* ---------- Premium carousel arrows (brand-v1 + product-v4) ---------- */
/* Pull arrows out of the default top-right absolute spot → centered below */
.lux-carousel-nav .carousel-navigation-style2__wrap {
  position: static !important;
  top: auto !important;
  right: auto !important;
  display: flex !important;
  gap: 1rem;
  justify-content: center;
  margin-top: 2.8rem;
}
.lux-carousel-nav .carousel-navigation-style2__arrow {
  display: inline-flex;
}
.lux-carousel-nav .carousel-navigation-style2__arrow button {
  width: 4.6rem;
  height: 4.6rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff;
  color: var(--lux-navy);
  border: 1px solid var(--lux-gold-line);
  box-shadow: var(--lux-shadow-sm);
  cursor: pointer;
  transition: background 0.35s var(--lux-ease), color 0.35s var(--lux-ease),
    border-color 0.35s var(--lux-ease), transform 0.35s var(--lux-ease);
}
.lux-carousel-nav .carousel-navigation-style2__arrow button:hover {
  background: var(--lux-gold);
  color: var(--lux-navy);
  border-color: var(--lux-gold);
  transform: translateY(-2px);
}
.lux-carousel-nav .carousel-navigation-style2__arrow svg {
  width: 1.5rem;
  height: 1.5rem;
}
.lux-carousel-nav xo-carousel-prev[aria-disabled="true"] button,
.lux-carousel-nav xo-carousel-next[aria-disabled="true"] button,
.lux-carousel-nav xo-carousel-prev[disabled] button,
.lux-carousel-nav xo-carousel-next[disabled] button {
  opacity: 0.3;
  cursor: default;
  box-shadow: none;
}
.lux-carousel-nav xo-carousel-prev[aria-disabled="true"] button:hover,
.lux-carousel-nav xo-carousel-next[aria-disabled="true"] button:hover {
  background: #fff;
  color: var(--lux-navy);
  border-color: var(--lux-gold-line);
  transform: none;
}
.brand-v1__navigation.lux-carousel-nav .carousel-navigation-style2__wrap {
  margin-top: 2.2rem;
}
/* Arrows replace dots on these carousels — hide redundant pagination */
.collection-v7__pagination,
.product-v8__pagination {
  display: none !important;
}

/* ---------- Fix: hover-lift clipped by carousel overflow:hidden ----------
   Add vertical room inside the viewport so a lifted card's top border +
   shadow stay visible. Horizontal edges still clip (no side padding). */
xo-carousel-inner:has(.collection-v7__item-image),
xo-carousel-inner:has(.testimonial-v18__item),
xo-carousel-inner:has(.xo-product-card__header--style1) {
  padding-top: 12px;
  padding-bottom: 16px;
}

/* ============================================================
   14. FILTER SIDEBAR — compact & clean
   ============================================================ */
/* Enclose the entire sidebar in a clean grey box */
.main-collection-style1__sidebar {
  background: #f8f8f8 !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  height: max-content; /* Prevent stretching */
}

/* Very subtle borders between filter blocks */
.collection-sidebar__header,
.fieldset-block__header {
  margin-bottom: 0.8rem !important;
  padding-bottom: 0.8rem !important;
  border-bottom: 1px solid #eaeaea !important;
  border-left: none !important;
  padding-left: 0 !important;
}

.fieldset-block__title::after {
  display: none !important;
}

/* Refined filter titles */
.collection-sidebar__title,
.fieldset-block__title {
  font-family: var(--font-heading-family) !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  text-transform: capitalize !important;
  letter-spacing: 0 !important;
  color: var(--lux-navy) !important;
  margin: 0 !important;
}

/* Compact filter items */
.collection-sidebar__item,
.fieldset-block__content label {
  font-size: 0.95rem !important;
  color: rgba(30,30,30,0.7) !important;
  padding: 0.35rem 0 !important;
  cursor: pointer !important;
}

.collection-sidebar__item:hover,
.fieldset-block__content label:hover {
  color: var(--lux-navy) !important;
}

.fieldset-block__content {
  margin-bottom: 1.5rem !important;
}

/* Shrink checkboxes slightly for compactness */
.fieldset-block__content .xo-checkbox {
  transform: scale(0.9);
  margin-right: 0.4rem;
}

/* Reset button styling (if present) */
.collection-sidebar__reset,
.filters-toolbar__clear {
  display: inline-block !important;
  padding: 6px 16px !important;
  border: 1px solid var(--lux-navy) !important;
  border-radius: 50px !important;
  color: var(--lux-navy) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  background: transparent !important;
  margin-top: 1rem !important;
  transition: all 0.3s ease !important;
}
.collection-sidebar__reset:hover,
.filters-toolbar__clear:hover {
  background: var(--lux-navy) !important;
  color: #fff !important;
}

/* ---------- Brand cards: "Explore" CTA, bottom-right ---------- */
.brand-v1__item {
  flex-direction: column;
  padding-bottom: 3.6rem; /* room for the CTA */
}
.brand-v1__item::before {
  content: "Explore \2192";
  position: absolute;
  right: 1.6rem;
  bottom: 1.2rem;
  font-family: var(--lux-font-label);
  font-size: 1.05rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--lux-gold);
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.4s var(--lux-ease), color 0.4s var(--lux-ease);
  z-index: 2;
  pointer-events: none;
}
.brand-v1__item:hover::before {
  color: var(--lux-navy);
}

/* ============================================================
   Mobile banner — auto / natural image height option
   ============================================================ */
@media screen and (max-width: 767px) {
  .slideshow-v45__content--auto-mobile {
    height: auto !important;
    min-height: unset !important;
  }
  /* The background image wrapper also needs to flex naturally */
  .slideshow-v45__content--auto-mobile .slideshow-bg-image,
  .slideshow-v45__content--auto-mobile [class*="slideshow-bg"] {
    position: relative !important;
    height: auto !important;
  }
}

/* ============================================================
   14. PREMIUM MOBILE TOOLBAR — gold-accented bottom nav
   ============================================================ */
/* Base toolbar upgrade — glassmorphism backdrop + gold accent line */
.toolbar {
  /* Premium frosted glass effect */
  backdrop-filter: blur(16px) saturate(180%);
  -webkit-backdrop-filter: blur(16px) saturate(180%);
  background: rgba(255, 255, 255, 0.92) !important;
  border-top: 1px solid var(--lux-gold-line) !important;
  box-shadow: 0 -4px 24px -8px rgba(13, 27, 42, 0.12), 0 -1px 0 var(--lux-gold-line) !important;
  /* Safe-area padding for iPhone notch/home bar */
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

/* Ensure the toolbar has enough height for touch comfort */
.toolbar__item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.9rem 0.6rem 0.7rem;
  min-width: 4.4rem;
  min-height: 4.8rem;
  transition: color 0.25s ease, transform 0.25s ease;
}
.toolbar__item:active {
  transform: scale(0.92);
}

/* Gold highlight on tap / active state */
.toolbar__item:hover svg,
.toolbar__item:focus-visible svg,
.toolbar__item:active svg {
  color: var(--lux-gold) !important;
  stroke: var(--lux-gold) !important;
}
/* Active gold indicator dot above icon */
.toolbar__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  width: 2.4rem;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--lux-gold), transparent);
  border-radius: 999px;
  transition: transform 0.3s var(--lux-ease);
}
.toolbar__item:hover::before,
.toolbar__item:focus-visible::before {
  transform: translateX(-50%) scaleX(1);
}

/* Cart count badge — gold on navy, perfectly circular */
.toolbar__cart-count {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  min-width: 1.7rem;
  height: 1.7rem;
  border-radius: 999px;
  background: var(--lux-gold);
  color: var(--lux-navy);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0 0.3rem;
  box-shadow: 0 2px 8px rgba(212, 175, 55, 0.5);
  border: 1.5px solid #fff;
}

/* Ensure icon wrapper preserves relative positioning for badge */
.toolbar__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ============================================================
   15. MOBILE TYPOGRAPHY SCALE — clamp-based fluid sizing
   Ensures premium readability at every phone width 320px–768px
   ============================================================ */
@media (max-width: 767px) {
  /* Section heading cluster spacing */
  .xo-section-heading {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  .product-v1__heading {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  /* Fluid heading scale: 2.2rem at 320px → 3rem at 768px */
  .xo-section-heading__title,
  .product-v1__title {
    font-size: clamp(2rem, 5.5vw, 2.8rem);
  }
  /* Product card image: slight radius reduction for compactness */
  .xo-product-card__header--style1 {
    border-radius: 1.2rem;
  }
  /* Product card badges — keep visible but compact */
  .xo-product-card__badge .xo-badge,
  .xo-product-card__badge > * {
    font-size: 0.95rem;
    padding: 0.4rem 0.9rem;
  }
  /* Price: bold & clear */
  .xo-product-card__price {
    font-size: 1.3rem;
    margin-top: 0.5rem;
  }
  /* Testimonial decorative quote: smaller on mobile */
  .testimonial-v18__item::before {
    font-size: 5rem;
    top: 0.4rem;
    right: 1.6rem;
    opacity: 0.13;
  }
  /* Tighten avatar size in testimonials */
  .testimonial-v18__img img {
    width: 3.8rem;
    height: 3.8rem;
  }
  /* Collection card image: full border-radius stays luxe */
  .collection-v7__item-image {
    border-radius: 1.2rem;
  }
  /* Hero slideshow: tighten heading if visible */
  .slideshow-v45__heading {
    font-size: clamp(2.4rem, 7vw, 4rem);
    line-height: 1.2;
  }
  .slideshow-v45__description {
    font-size: clamp(1.3rem, 3.5vw, 1.6rem);
    line-height: 1.6;
  }
}

/* ============================================================
   16. SMALL PHONES (≤ 390px) — tightest premium adjustments
   ============================================================ */
@media (max-width: 390px) {
  .xo-section-heading__title,
  .product-v1__title,
  .collection-v7__title {
    font-size: 1.9rem;
    letter-spacing: 0.07em;
  }
  .xo-product-card__title {
    font-size: 1.3rem;
  }
  .xo-product-card__vendor {
    font-size: 0.9rem;
  }
  .xo-product-card__information {
    padding: 0.9rem 0.6rem 0.4rem;
  }
  .testimonial-v18__testimonial {
    font-size: 1.3rem;
  }
  /* Trust bar: ultra-compact */
  .policy-v2__title {
    font-size: 1.2rem;
  }
  .policy-v2__title-sub {
    font-size: 0.98rem;
  }
}

/* ============================================================
   17. LUXURY POLICY PAGES (Native & Custom Pages)
   ============================================================ */
.shopify-policy__container,
.policy-page-container {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05);
  padding: 50px 8%;
  margin-top: 60px;
  margin-bottom: 60px;
  border-top: 4px solid var(--lux-gold, #c4a163);
  position: relative;
  overflow: hidden;
  max-width: 1000px !important;
  margin-left: auto;
  margin-right: auto;
}

.shopify-policy__container::before,
.policy-page-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(212,175,55,0.06) 0%, rgba(255,255,255,0) 100%);
  pointer-events: none;
  z-index: 0;
}

.shopify-policy__container > *,
.policy-page-container > * {
  position: relative;
  z-index: 1;
}

.shopify-policy__title,
.policy-page-container h1 {
  font-family: var(--lux-font-serif) !important;
  color: var(--lux-navy) !important;
  text-align: center;
  font-size: clamp(2.5rem, 4vw, 3.5rem) !important;
  letter-spacing: 0.05em !important;
  margin-bottom: 40px !important;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 20px;
}

.shopify-policy__title::after,
.policy-page-container h1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 2px;
  background-color: var(--lux-gold);
}

.shopify-policy__body h2,
.shopify-policy__body h3,
.policy-page-content h2,
.policy-page-content h3 {
  font-family: var(--lux-font-serif) !important;
  color: var(--lux-gold);
  margin-top: 40px;
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.03em;
}

.shopify-policy__body p,
.shopify-policy__body li,
.policy-page-content p,
.policy-page-content li {
  font-family: var(--lux-font-label);
  font-size: 1.1rem;
  line-height: 1.8;
  color: var(--lux-ink-60);
  margin-bottom: 15px;
}

.shopify-policy__body ul,
.shopify-policy__body ol,
.policy-page-content ul,
.policy-page-content ol {
  padding-left: 25px;
  margin-bottom: 25px;
}

.shopify-policy__body a,
.policy-page-content a {
  color: var(--lux-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--lux-gold);
  transition: color 0.3s ease, border-color 0.3s ease;
  font-weight: 600;
}

.shopify-policy__body a:hover,
.policy-page-content a:hover {
  color: var(--lux-gold);
  border-bottom-color: transparent;
}

/* ============================================================
   18. MENU HOVER GAP FIX
   Prevents submenus from disappearing when the cursor moves
   from the parent link into the gap above the dropdown.
   ============================================================ */
.xo-menu-horizontal__sub-menu::before,
.xo-mega-menu::before,
.xo-menu-horizontal__mega-menu::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  width: 100%;
  height: 30px;
  background: transparent;
  z-index: 10;
}

/* ESSENZI REDESIGN STYLES */

/* --- Category Rectangular Cards (collection-v7 modified via collection-v1.liquid) --- */
.collection-v7__item-image {
  border-radius: 1.6rem !important;
  overflow: hidden;
  margin-bottom: 1rem;
}
.collection-v7__item-label {
  display: block;
  text-align: center;
}
.collection-v7__item-title {
  color: #000 !important;
  font-size: 1.6rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  margin: 0 !important;
  text-transform: none !important;
}

/* --- Brand V2 (Vertical Cards) --- */
.brand-v2__item {
  display: block;
  text-decoration: none;
  border-radius: 1.6rem;
  overflow: hidden;
  position: relative;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
  /* Example warm gradient background */
  background: linear-gradient(180deg, #f8f1eb 0%, #ecdcca 100%);
  padding: 2rem 1.5rem;
  height: 100%;
}
.brand-v2__item:hover {
  transform: translateY(-5px);
}
.brand-v2__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.brand-v2__logo {
  height: 40px;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.brand-v2__logo img, .brand-v2__logo svg {
  max-height: 100%;
  width: auto;
  object-fit: contain;
  filter: brightness(0); /* Black logo */
}
.brand-v2__product-image {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.brand-v2__product-image img {
  max-width: 90%;
  height: auto;
  object-fit: contain;
  transition: transform 0.3s ease;
}
.brand-v2__item:hover .brand-v2__product-image img {
  transform: scale(1.05);
}

/* --- Product Cards Updates --- */
.xo-product-card__bottom-actions .xo-button {
  background-color: #000 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: 1.2rem !important;
  padding: 1rem 2.4rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  width: auto !important;
  min-width: 140px;
}
.xo-product-card__bottom-actions .xo-button:hover {
  background-color: #333 !important;
}
.xo-product-card__price-inner .price__sale {
  display: flex !important;
  flex-direction: column-reverse !important; /* Original price above current price */
  align-items: center !important;
}
.xo-product-card__price-inner .price-item--regular {
  color: #999 !important;
  text-decoration: line-through !important;
  font-size: 1.2rem !important;
}
.xo-product-card__price-inner .price-item--sale {
  color: #000 !important;
  font-weight: 700 !important;
  font-size: 1.8rem !important;
}
.xo-product-card__stock-status {
  text-transform: capitalize;
}

/* --- Slideshow / Banners (Boxy with Radius) --- */
.shopify-section:has(.slideshow-v45__content) > section {
  max-width: 1320px !important;
  margin: 0 auto !important;
  border-radius: 1.6rem !important;
  overflow: hidden !important;
}

@media (min-width: 1350px) {
  .shopify-section:has(.slideshow-v45__content) > section {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important;
  }
}

@media (max-width: 1349px) {
  .shopify-section:has(.slideshow-v45__content) > section {
}

/* --- Product Tabs Section --- */
.product-tabs-header {
  display: flex;
  justify-content: center;
  margin-bottom: 2.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.product-tabs-header::-webkit-scrollbar {
  display: none;
}
@media (max-width: 768px) {
  .product-tabs-header {
    justify-content: flex-start;
  }
}
.product-tabs-list {
  display: flex;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  border-bottom: 2px solid #eaeaea;
}
.product-tabs-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 1rem 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #777;
  cursor: pointer;
  transition: all 0.3s ease;
  margin-bottom: -2px; /* Align with bottom border */
  white-space: nowrap !important;
}
@media (max-width: 768px) {
  .product-tabs-btn {
    padding: 1rem 1.2rem;
  }
}
.product-tabs-btn:hover,
.product-tabs-btn.is-active {
  color: #000;
  border-bottom-color: #000;
}
.product-tabs-panel {
  display: none;
  animation: fadeInTab 0.5s ease-in-out;
}
.product-tabs-panel.is-active {
  display: block;
}

@keyframes fadeInTab {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Force Product Tabs to be container width */
.product-tabs-section > xo-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
}

/* Ensure ALL section containers match essenzi.com perfectly from header to footer */
xo-container,
.xo-container,
.xo-container--box,
.xo-container--fullwidth,
.xo-container--wide,
.slideshow-v1-wrapper {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
}

/* Ensure sliders in boxes have rounded corners like essenzi */
.slideshow-v1-wrapper xo-carousel,
.slideshow-v1-wrapper .xo-slider,
.slideshow-v1-wrapper .xo-slideshow,
.slideshow-v1-wrapper .slideshow-bg-image,
.slideshow-v1-wrapper .slideshow-bg-image__item,
.slideshow-v1-wrapper .xo-carousel-slide {
  border-radius: 2.4rem !important;
  overflow: hidden !important;
  transform: translateZ(0); /* Force overflow hidden on some WebKit browsers */
}

/* --- Make Collection Labels look like white pills over the image --- */
xo-carousel-slide xo-animate {
  position: relative;
  display: block;
}

/* Fix absolute positioning of CTA pill by making the container relative */
.collection-v7__item {
  position: relative !important;
  display: block;
}

/* Ensure collection links act as precise tight pills */
/* Completely decoupled CTA pill for collections */
.my-perfect-cta-pill {
  position: absolute !important;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: #fff !important;
  padding: 8px 18px !important;
  border-radius: 50px !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1) !important;
  text-decoration: none !important;
  z-index: 5 !important;
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: max-content !important;
  min-width: 0 !important;
  max-width: 90% !important;
  white-space: nowrap !important;
  
  /* Text styles (since we removed the h3) */
  margin: 0 !important;
  font-size: 1.1rem !important;
  color: #333 !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-transform: capitalize !important;
  letter-spacing: 0 !important;
  font-family: var(--font-custom-family, var(--font-heading-family)) !important;
}

/* --- Circle Collection List Styles --- */
.circle-list-image {
  display: block !important;
  border-radius: 50% !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  margin: 0 auto 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.circle-list-image .xo-image,
.circle-list-image img {
  border-radius: 50% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
  display: block !important;
}

.circle-list-label {
  position: relative !important;
  display: block !important;
  text-align: center !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 12px 0 0 0 !important;
  text-decoration: none !important;
}

.circle-list-label .collection-v7__item-title {
  text-transform: uppercase !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.05em !important;
  color: #222 !important;
  font-weight: 500 !important;
  margin: 0 !important;
  line-height: 1 !important;
}

@media (max-width: 768px) {
  .circle-list-label {
    padding: 8px 0 0 0 !important;
  }
  .circle-list-label .collection-v7__item-title {
    font-size: 0.8rem !important;
  }
}

/* Force header counts (cart, wishlist) to be white text on black background */
.header-v14__cart-count,
.header-v14__wishlist-count,
.header-v14__cart-count xo-cart-size,
.header-v14__wishlist-count xo-products-fetcher-size {
  color: #ffffff !important;
}

/* --- Make Section Titles Centered with Horizontal Lines like Essenzi --- */
.product-v8__heading,
.collection-v7__description,
.product-v8__subtitle {
  width: 100% !important;
  text-align: center !important;
  display: block !important;
  justify-content: center !important;
  align-items: center !important;
}

.collection-v7__title,
.product-v1__title,
.product-v4__title,
.product-v8__title,
.xo-section-heading__title {
  display: flex !important;
  align-items: center !important;
  text-align: center !important;
  justify-content: center !important;
  font-weight: 400 !important;
  font-size: 2.6rem !important;
  color: #222 !important;
  width: 100% !important;
  clear: both;
}

.collection-v7__title::before,
.collection-v7__title::after,
.product-v1__title::before,
.product-v1__title::after,
.product-v4__title::before,
.product-v4__title::after,
.product-v8__title::before,
.product-v8__title::after,
.xo-section-heading__title::before,
.xo-section-heading__title::after {
  content: "" !important;
  display: block !important;
  flex: 1 1 0% !important;
  height: 1px !important;
  background-color: #ddd !important;
  margin: 0 20px !important;
}

/* --- FOOTER ESSENZI REDESIGN --- */
.footer-essenzi-style {
  background-color: #000000 !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif;
  margin-top: 50px;
}
.footer-essenzi-style a {
  color: #aaa;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer-essenzi-style a:hover {
  color: #ffffff;
}
.footer-essenzi-features {
  border-bottom: 1px solid #222;
  padding: 30px 0;
}
.footer-features-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.footer-feature-item {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 200px;
}
.feature-icon {
  width: 40px;
  height: 40px;
  margin-right: 15px;
  color: #fff;
}
.feature-text h4 {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0 0 5px 0;
}
.feature-text p {
  color: #aaa;
  font-size: 1.3rem;
  margin: 0;
}
.footer-essenzi-main {
  padding: 60px 0 40px 0;
}
.footer-main-grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}
.footer-col {
  flex: 1;
  min-width: 200px;
}
.footer-col-title {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 25px;
}
.footer-links li {
  margin-bottom: 12px;
  font-size: 1.4rem;
}
.footer-essenzi-bottom {
  padding: 20px 0;
}
.footer-bottom-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
.footer-bottom-social {
  display: flex;
  align-items: center;
}
.join-group-text {
  font-size: 1.4rem;
  margin-right: 15px;
  font-weight: 500;
}
.footer-bottom-social a {
  color: #fff;
  margin-right: 15px;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
}
.footer-bottom-payments {
  display: flex;
  align-items: center;
  gap: 10px;
}
.footer-bottom-copyright {
  color: #666;
  font-size: 1.3rem;
}
@media (max-width: 768px) {
  .footer-main-grid {
    flex-direction: column;
  }
  .footer-bottom-grid {
    flex-direction: column;
    text-align: center;
  }
}

/* --- POLICY BLOCKS REDESIGN --- */
.policy-v2 > .policy-v2__wrap > div {
  display: flex !important;
  align-items: center !important;
  border: 1px solid #ebebeb !important;
  border-radius: 12px !important;
  padding: 24px 20px !important;
  background-color: #ffffff !important;
  height: 100% !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.02) !important;
  transition: box-shadow 0.3s ease !important;
}

.policy-v2 > .policy-v2__wrap > div:hover {
  box-shadow: 0 8px 25px rgba(0,0,0,0.05) !important;
}

.policy-v2__svg {
  margin-right: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
}

.policy-v2__svg svg {
  width: 100% !important;
  height: auto !important;
  color: #000 !important;
}

.policy-v2__info {
  text-align: left !important;
}

.policy-v2__title {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: #000000 !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.2 !important;
}

.policy-v2__title-sub {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.3rem !important;
  color: #666666 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* Fix grid spacing */
.policy-v2 {
  height: 100% !important;
}
.policy-v2__wrap {
  height: 100% !important;
}

.xo-product-card {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  box-shadow: none !important;
}

.xo-product-card__information {
  text-align: center !important;
  padding: 0px 5px 0px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0px !important;
}

.xo-product-card__title {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.4rem !important;
  line-height: 1.2 !important;
  color: #000 !important;
}

.card-stars-dynamic {
  margin-top: -4px !important;
  margin-bottom: 0px !important;
}

.card-stars-dynamic svg {
  margin: 0 1px !important;
}

.card-stock-status {
  font-size: 1.2rem !important;
  margin-bottom: 0px !important;
  margin-top: -2px !important;
  font-weight: 500 !important;
}

.essenzi-price {
  font-size: 1.6rem !important;
  color: #000 !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  margin-top: 2px !important;
}

.essenzi-currency {
  font-size: 1.2rem !important;
  margin-right: 2px !important;
  margin-top: 2px !important;
}

.essenzi-dec {
  font-size: 1rem !important;
  margin-top: 1px !important;
}

.essenzi-tax {
  font-size: 1.1rem !important;
  color: #888 !important;
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

.essenzi-card-action {
  margin-top: 2px !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
}

.essenzi-card-action .xo-btn {
  width: auto !important;
  min-width: unset !important;
  min-height: 0 !important;
  border-radius: 50px !important;
  background-color: #222 !important;
  color: #fff !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  padding: 0px 16px !important;
  margin: 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  transition: all 0.3s ease !important;
}

.essenzi-card-action .xo-btn:hover {
  background-color: #000 !important;
  transform: translateY(-1px) !important;
}

/* Force square images for product cards and remove gaps */
.xo-product-card--style1 {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.xo-product-card__header--style1 {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.xo-product-card--style1 .xo-product-media,
.xo-product-card--style1 .xo-product-image {
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

.xo-product-card--style1 img {
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  width: 100% !important;
  height: 100% !important;
}

/* Hide Carousel Pagination Lines on Product Cards */
.xo-product-card .xo-carousel-pagination,
.xo-product-card .xo-product-card__bullet {
  display: none !important;
  visibility: hidden !important;
}

/* Move Carousel Navigation Arrows to the Sides */
xo-carousel {
  position: relative !important;
}

.carousel-navigation-style1__arrow,
xo-carousel-prev,
xo-carousel-next {
  position: absolute !important;
  top: 35% !important; /* Vertically centered over the image roughly */
  transform: translateY(-50%) !important;
  z-index: 99 !important;
  margin: 0 !important;
}

.carousel-navigation-style1__arrow--left,
xo-carousel-prev {
  left: 0 !important;
}

.carousel-navigation-style1__arrow--right,
xo-carousel-next {
  right: 0 !important;
  left: auto !important;
}

/* ============================================================
   PRODUCT CARD BORDERS & BUTTONS
============================================================ */
.xo-product-card {
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 12px !important;
  overflow: hidden;
  padding-bottom: 18px !important; /* Increased padding to give bottom content breathing room */
}

/* Tighter Add to Cart Buttons to match the congested UI */
.xo-product-card__bottom-actions .xo-button {
  padding: 8px 16px !important;
  font-size: 1rem !important;
  width: auto !important;
  min-width: 0 !important; /* Override the default 140px min-width */
  display: inline-block !important;
}

/* ============================================================
   PDP BOXY CONTAINER
============================================================ */
/* Force the product detail page into a more constrained box layout */
xo-product > xo-container {
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ============================================================
   FOOTER MOBILE ACCORDION (PURE CSS)
============================================================ */
.footer-toggle-checkbox { 
  display: none !important; 
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
}
.footer-toggle-icon { display: none; }

@media (max-width: 768px) {
  .footer-toggle-icon {
    display: inline-block;
    float: right;
    font-weight: 300;
    font-size: 1.8rem;
    transition: transform 0.3s ease;
  }
  .footer-col-content {
    display: none;
    padding-top: 15px;
    padding-bottom: 5px;
  }
  .footer-toggle-checkbox:checked ~ .footer-col-content {
    display: block;
    animation: fadeInTab 0.3s ease-in-out;
  }
  .footer-toggle-checkbox:checked + .footer-col-title .footer-toggle-icon {
    transform: rotate(45deg);
  }
  .footer-col-title {
    cursor: pointer;
    border-bottom: 1px solid #333;
    padding: 15px 0 !important;
    margin: 0 !important;
    display: block; /* Ensure the label spans full width */
    user-select: none;
  }
  .footer-col {
    margin-bottom: 0 !important;
  }
}
