/** Shopify CDN: Minification failed

Line 106:14 Unexpected ";"
Line 348:16 Unexpected ";"

**/
/* ===== Luvani: site-wide type & spacing polish (sizes/rhythm only — fonts untouched) ===== */

/* Consistent vertical rhythm between homepage/page sections */
.index-section{ margin-top:60px; margin-bottom:60px; }
.index-section--small{ margin-top:36px; margin-bottom:36px; }
@media (max-width:589px){
  .index-section{ margin-top:40px; margin-bottom:40px; }
  .index-section--small{ margin-top:24px; margin-bottom:24px; }
}

/* Section headings: breathing room below, consistent scale */
.section-header{ margin-bottom:28px; }
@media (max-width:589px){ .section-header{ margin-bottom:20px; } }
.section-header h2{ margin-bottom:6px; }

/* Headings: avoid cramped multi-line wraps */
h1,.h1{ line-height:1.15; }
h2,.h2,h3,.h3{ line-height:1.25; }
h4,.h4,h5,.h5{ line-height:1.35; letter-spacing:.04em; }

/* Body copy + rich text */
p{ margin:0 0 16px; }
.rte p{ margin-bottom:1em; }
.rte h2{ margin:1.8em 0 .6em; }
.rte h3{ margin:1.5em 0 .5em; }
.rte ul,.rte ol{ margin:0 0 1.2em; }
.rte li{ margin-bottom:.4em; }

/* Product grid cards: tighter, cleaner meta */
.grid-product__meta{ padding-top:10px; line-height:1.45; font-size:.9em; }
.grid-product__title{ margin-bottom:3px; letter-spacing:.03em; }
.grid-product__price{ margin-top:2px; }

/* Announcement bar: small + tracked */
.announcement-slider__slide,.announcement-text{ font-size:12.5px; letter-spacing:.08em; }

/* Buttons: consistent tracking */
.btn,.rte .btn,button[type="submit"]{ letter-spacing:.06em; }

/* Footer: airier lists */
.site-footer{ line-height:1.7; }
.site-footer .footer__title{ letter-spacing:.1em; margin-bottom:14px; }
.site-footer li{ margin-bottom:6px; }
.footer__small-text{ font-size:12px; letter-spacing:.04em; }

/* Newsletter + inputs */
input,textarea,select{ line-height:1.5; }

/* Collection page: title spacing */
.collection-header .section-header{ margin-bottom:18px; }

/* Deterministic overrides (theme scss recompiles lazily) */
body{ line-height:1.7; }
h1,.h1,h2,.h2,h3,.h3{ letter-spacing:.025em; }

/* ===== Luxury refinement pass ===== */
/* Generous editorial whitespace */
.index-section{ margin-top:76px; margin-bottom:76px; }
@media (max-width:589px){ .index-section{ margin-top:48px; margin-bottom:48px; } }

/* Buttons: sharp, quiet, tracked — no rounded corners */
.btn, .shopify-payment-button__button--unbranded{
  border-radius:0 !important; text-transform:uppercase; letter-spacing:.14em;
  font-size:12.5px; font-weight:500; padding:15px 34px;
}
.hero__link .btn{ background:rgba(255,255,255,.96); color:#111; border:none; }
.hero__link .btn:hover{ background:#fff; }

/* Hero text: editorial spacing */
.hero__top-subtitle{ text-transform:uppercase; letter-spacing:.3em; font-size:12px; opacity:.85; }
.hero__title{ letter-spacing:.06em; }
.hero__subtitle{ font-size:15px; letter-spacing:.02em; }

/* Section headings: small, tracked, understated */
.section-header h2{ font-size:1.35em; letter-spacing:.12em; }

/* Product cards: quiet editorial meta */
.grid-product__meta{ text-align:center; padding-top:14px; }
.grid-product__title{ font-size:12.5px; text-transform:uppercase; letter-spacing:.08em; color:#111; }
.grid-product__price{ font-size:12.5px; color:#777; letter-spacing:.04em; }

/* Collection tiles: calm labels */
.collection-grid-item__title{ letter-spacing:.14em; font-size:14px; }

/* About / rich text: editorial narrow statement */
.index-section--featured-content .rte, .featured-content .rte{ max-width:560px; margin-left:auto; margin-right:auto; }
.index-section--featured-content h2{ letter-spacing:.2em; }

/* Promo grid: let the image breathe, refined text block */
.promo-grid__content{ padding:2.4em; }
.promo-grid__title{ letter-spacing:.08em; }

/* Kill visual noise */
.collection-hero__content{ text-shadow:none; }

/* fuller rhythm */
.index-section{ margin-top:56px; margin-bottom:56px; }
@media (max-width:589px){ .index-section{ margin-top:36px; margin-bottom:36px; } }

  display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:6px;
}
  float:none; flex:0 0 30.5%; max-width:30.5%; scroll-snap-align:start;
}
@media (max-width:749px){
}


/* ===== Subtle animations ===== */
/* Scroll reveal (elements get .lv-reveal via JS; no-JS users see everything instantly) */
.lv-reveal{ opacity:0; transform:translateY(14px); transition:opacity .55s cubic-bezier(.22,.61,.36,1), transform .55s cubic-bezier(.22,.61,.36,1); will-change:opacity,transform; }
.lv-reveal.lv-in{ opacity:1; transform:none; }
/* Hover micro-lifts */
.btn{ transition:background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease; }
.btn:hover{ transform:translateY(-1px); }
.grid-product__image-mask, .grid__image-ratio{ overflow:hidden; }
.grid-product img{ transition:transform .6s ease; }
.grid-product:hover img{ transform:scale(1.035); }
.lv-vs__card .lv-vs__media{ transition:box-shadow .3s ease; }
.lv-vs__card:hover .lv-vs__media{ box-shadow:0 14px 34px -14px rgba(0,0,0,.28); }
/* Hero animation: theme's built-in zoom-fade (do not override the animation property) */
/* Nav underline grow */
.site-nav__link:not(.site-nav__link--icon){ position:relative; }
.site-nav__link:not(.site-nav__link--icon)::after{ content:""; position:absolute; left:12px; right:100%; bottom:6px; height:1px; background:#111; transition:right .3s ease; }
.site-nav__link:not(.site-nav__link--icon):hover::after{ right:12px; }
/* Respect reduced motion for everything above */
@media (prefers-reduced-motion: reduce){
  .lv-reveal{ opacity:1; transform:none; transition:none; }
  .hero__image, .hero__image-wrapper img{ animation:none; opacity:1; }
  .grid-product:hover img, .btn:hover{ transform:none; }
}


/* ===== Product tag badges (scheme) ===== */
.grid-product__tag{ background:#111; color:#fff; font-size:10.5px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; padding:6px 11px; line-height:1.2; }
.grid-product__tag--sale{ background:#6d001a; color:#fff; }
.grid-product__tag--sold-out{ background:#fff; color:#111; border:1px solid #111; }
.grid-product__tag--custom{ background:#fff; color:#6d001a; border:1px solid #6d001a; }

/* ===== Newsletter band polish ===== */
#shopify-section-lv-newsletter .index-section{ margin:0; }
#shopify-section-lv-newsletter [class*="newsletter"]{ }
#shopify-section-lv-newsletter input[type="email"]{
  background:transparent; border:none; border-bottom:1px solid rgba(255,255,255,.45);
  border-radius:0; color:#fff; padding:12px 4px; min-width:min(320px,70vw); text-align:left; }
#shopify-section-lv-newsletter input[type="email"]::placeholder{ color:rgba(255,255,255,.6); letter-spacing:.04em; }
#shopify-section-lv-newsletter input[type="email"]:focus{ border-bottom-color:#fff; outline:none; }
#shopify-section-lv-newsletter form{ display:flex; justify-content:center; align-items:flex-end; gap:22px; flex-wrap:wrap; }
#shopify-section-lv-newsletter .btn{ min-width:160px; }
#shopify-section-lv-newsletter .section-header{ margin-bottom:18px; }

/* ===== Track order / Contact panels ===== */
.footer-promotions .grid__item{ border:1px solid #e8e8e1; padding:40px 32px; background:#fff;
  transition:box-shadow .3s ease, transform .3s ease; }
.footer-promotions .grid__item:hover{ box-shadow:0 18px 40px -18px rgba(0,0,0,.16); transform:translateY(-2px); }


/* ===== Site-wide hover pack ===== */
a{ transition:color .2s ease; }
.grid-product:hover .grid-product__title{ color:#6d001a; }
.lv-cs__tile:hover .lv-cs__label{ color:#6d001a; }
.lv-cs__tile .lv-cs__badge{ transition:transform .3s ease; }
.lv-cs__tile:hover .lv-cs__badge{ transform:scale(1.05); }
.collection-grid-item:hover .collection-item__title, .collection-grid-item:hover .collection-grid-item__title{ color:#6d001a; }
.promo-grid__bg-image{ transition:transform .6s ease; }
.promo-grid__slide:hover .promo-grid__bg-image{ transform:scale(1.03); }
.lv-vs__nav{ transition:background .25s ease, border-color .25s ease; }
.lv-vs__nav:hover{ background:#111; border-color:#111; }
.lv-vs__nav:hover svg{ stroke:#fff; }
.lv-vs__prod:hover .lv-vs__name{ color:#6d001a; }
.site-footer a{ transition:color .2s ease, opacity .2s ease; }
.site-footer a:hover{ color:#fff; opacity:1; }
.site-nav__link--icon svg{ transition:color .2s ease, stroke .2s ease, transform .2s ease; }
.site-nav__link--icon:hover svg{ transform:translateY(-1px); }
.lv-occ__tile .lv-occ__label{ transition:letter-spacing .3s ease; }
.lv-occ__tile:hover .lv-occ__label{ letter-spacing:.24em; }
@media (prefers-reduced-motion: reduce){
  .promo-grid__slide:hover .promo-grid__bg-image, .lv-cs__tile:hover .lv-cs__badge{ transform:none; }
}

/* Hero visibility: hard override — Impulse's compiled reveal animation doesn't fire for static asset imgs */
.hero__image, .hero__media{ opacity:1 !important; animation:none !important; transition:opacity .4s ease; }

/* ===== Uniform section rhythm: one gap size everywhere ===== */
#MainContent > div[id^="shopify-section"]{ margin:0 0 92px; }
#MainContent .index-section, #MainContent .index-section--small{ margin-top:0; margin-bottom:0; }
@media (max-width:589px){ #MainContent > div[id^="shopify-section"]{ margin-bottom:56px; } }

/* promo-grid sections pull up ~10px (internal negative top margin) — equalize the gap BEFORE them */
#MainContent > div[id^="shopify-section"]:has(.promo-grid){ padding-top:10px; margin-bottom:92px; }
@media (max-width:589px){ #MainContent > div[id^="shopify-section"]:has(.promo-grid){ margin-bottom:56px; } }

/* ===== Product meta cleanup: one sale signal, not three ===== */
.grid-product__price--savings{ display:none !important; }
.grid-product__price--original{ font-weight:400; opacity:.55; }
/* remove odd underline hover on dark band titles; use soft fade instead */
/* Quick view: minimal ghost pill */
.quick-product__btn{ background:rgba(17,17,17,.85) !important; color:#fff !important; font-size:11.5px !important;
  letter-spacing:.14em; text-transform:uppercase; padding:12px 0 !important; }
.quick-product__btn:hover{ background:#6d001a !important; }



/* ===== Colour swatches: quiet and small ===== */
.color-swatch, .grid-product__colors .color-swatch{
  width:11px !important; height:11px !important; border:1px solid rgba(0,0,0,.18) !important;
  box-shadow:none !important; margin:0 3px !important;
}
.grid-product__colors{ margin-top:8px; }

/* ===== Footer bottom: proper separation & rhythm ===== */
.site-footer p.footer__small-text{ text-align:center; margin:0; padding:5px 0; opacity:.8; }
.site-footer p.footer__small-text:first-of-type{
  border-top:1px solid rgba(255,255,255,.14); margin-top:48px; padding-top:28px; }
.site-footer{ padding-bottom:36px; }


/* Section titles: always instantly visible, above any section content */
.section-header{ position:relative; z-index:2; opacity:1 !important; transform:none !important; }

/* ===== Uniform section titles sitewide: centered, one scale, always visible ===== */
.section-header{ text-align:center !important; margin-bottom:28px; }
.section-header h2, .section-header .section-header__title{
  text-align:center !important; font-size:clamp(20px,2.2vw,27px) !important;
  letter-spacing:.12em; line-height:1.25; margin:0 auto;
}
/* custom sections inherit the same header treatment */
.lv-occ__title, .lv-cs .section-header__title, .lv-vs .section-header__title{ text-align:center !important; margin-left:auto; margin-right:auto; }

/* All section titles: centered with burgundy accent rule */
.section-header h2::after, .section-header .section-header__title::after{
  content:""; display:block; width:46px; height:2px; background:#6d001a; margin:14px auto 0; }

/* ============================================================
   INTERNAL PAGES PASS
   ============================================================ */

/* ---- Breadcrumbs (all pages) ---- */
.breadcrumb, .breadcrumbs{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#8a8a8a; }
.breadcrumb a, .breadcrumbs a{ color:#8a8a8a; }
.breadcrumb a:hover, .breadcrumbs a:hover{ color:#6d001a; }

/* ---- Product detail page ---- */
.product-single__title{ letter-spacing:.06em; line-height:1.25; }
.product__price{ font-size:19px; letter-spacing:.03em; }
.product__price.on-sale{ color:#6d001a; }
.product__price--compare{ color:#9a9a9a; font-size:15px; }
.product__price-savings{ display:none !important; }  /* single sale signal on PDP too */
.product-single__description{ max-width:640px; line-height:1.8; color:#3d3d3d; }
.product-form__item .btn--full, .add-to-cart{ letter-spacing:.16em; padding-top:17px; padding-bottom:17px; }
.product__quantity input, .js-qty__wrapper input{ border-radius:0; }
.product__thumb--active, .product__thumb.is-active{ border:1px solid #6d001a !important; }
/* trust row under Add to Cart */
.lv-pdp-trust{ display:flex; flex-direction:column; gap:9px; margin:20px 0 6px; padding:16px 0 4px; border-top:1px solid #ececec; }
.lv-pdp-trust__item{ display:flex; align-items:center; gap:10px; font-size:12.5px; color:#555; letter-spacing:.03em; }
.lv-pdp-trust__item svg{ width:18px; height:18px; stroke:#6d001a; fill:none; stroke-width:1.4; flex:none; }

/* ---- Collection pages ---- */
.collection-filter .btn--tertiary{ border-radius:0; text-transform:uppercase; letter-spacing:.1em; font-size:11.5px; }
.collection-filter .btn--tertiary-active{ border-color:#6d001a; color:#6d001a; }
.collection-filter__item--count{ font-size:12px; letter-spacing:.06em; color:#8a8a8a; text-transform:uppercase; }
.collection-filter select{ border-radius:0; text-transform:uppercase; font-size:11.5px; letter-spacing:.08em; }
.tag--active a, .collection-sidebar .tag--active{ color:#6d001a; font-weight:600; }
.pagination{ letter-spacing:.1em; text-transform:uppercase; font-size:12px; }
.pagination a:hover{ color:#6d001a; }
.pagination .page.current, .pagination span.current{ color:#6d001a; border-color:#6d001a; }

/* ---- Cart page ---- */
.cart__row{ border-color:#ececec; }
.cart__product-name{ font-size:13.5px; letter-spacing:.04em; text-transform:uppercase; }
.cart__price{ font-size:13.5px; }
.cart-subtotal, .cart__subtotal{ font-size:16px; font-weight:600; }
.cart__checkout{ letter-spacing:.16em; padding-top:17px; padding-bottom:17px; }
.cart__terms, .cart__shipping{ color:#8a8a8a; font-size:12px; }

/* ---- Search ---- */
.search-bar input[type="search"], .search__input{
  border:none; border-bottom:1px solid #ccc; border-radius:0; padding:12px 4px; }
.search-bar input[type="search"]:focus, .search__input:focus{ border-bottom-color:#6d001a; outline:none; }

/* ---- 404 ---- */
.template-404 .section-header h2{ font-size:56px; letter-spacing:.1em; }
.template-404 .btn{ margin-top:10px; }

/* ---- Blog & article ---- */
.article__body, .article__content .rte{ max-width:740px; margin-left:auto; margin-right:auto; line-height:1.85; }
.article__date, .article__meta, .blog__date{ font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:#8a8a8a; }
.rte blockquote{ border-left:2px solid #6d001a; padding-left:20px; font-style:normal; color:#444; }

/* ---- Account / KwikPass gate pages ---- */
.template-customers-login .btn, .template-customers-register .btn{ width:100%; }

/* ============================================================
   RESPONSIVE PASS (mobile-first fixes)
   ============================================================ */
/* Fluid hero title: never oversized on small screens */
.hero__title{ font-size:clamp(26px, 6.5vw, 58px) !important; line-height:1.1; }
.hero__subtitle{ font-size:clamp(13px, 3.5vw, 16px); }
/* Touch targets: 44px minimum */
.btn{ min-height:44px; }
.site-footer a{ display:inline-block; padding:5px 0; }
.site-nav__icons a{ min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
/* iOS: inputs under 16px trigger zoom-on-focus */
@media (max-width:749px){
  input[type="email"], input[type="text"], input[type="search"], input[type="tel"], select, textarea{ font-size:16px !important; }
  /* map: hide zoom chrome under the overlay card; interactions are off on touch anyway */
  #lv-map .leaflet-control-zoom{ display:none; }
  /* horizontal strips: give the last tile breathing room past the edge */
  .lv-cs__row, .lv-vs__row{ padding-right:24px; scroll-padding-left:16px; }
  /* occasion labels: readable but compact */
  .lv-occ__label{ font-size:11px; letter-spacing:.14em; }
}
/* Sticky mobile Add-to-Cart bar (PDP) */
.lv-sticky-atc{ position:fixed; left:0; right:0; bottom:0; z-index:60; display:none;
  background:#fff; border-top:1px solid #e5e5e5; box-shadow:0 -8px 24px rgba(0,0,0,.08);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom)); align-items:center; gap:12px; }
.lv-sticky-atc.is-on{ display:flex; }
@media (min-width:750px){ .lv-sticky-atc{ display:none !important; } }
.lv-sticky-atc__info{ display:flex; flex-direction:column; min-width:0; flex:1; }
.lv-sticky-atc__title{ font-size:12px; letter-spacing:.04em; color:#111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lv-sticky-atc__price{ font-size:13.5px; font-weight:600; color:#111; }
.lv-sticky-atc__btn{ flex:none; padding:12px 22px; min-height:44px; }
/* Guard: page must never scroll sideways (hidden = universal, clip = upgrade) */
html, body{ overflow-x:hidden; overflow-x:clip; }
#MainContent{ overflow-x:clip; }

/* ===== Mobile overflow: root causes ===== */
/* iOS ignores overflow-x on html/body — clip on the real wrapper */
.page-container{ overflow-x:clip; }
/* Newsletter: stack vertically on mobile (input+button exceeded viewport) */
@media (max-width:749px){
  #shopify-section-lv-newsletter form,
  #shopify-section-lv-newsletter .newsletter__input-group,
  #shopify-section-lv-newsletter .input-group{
    display:flex; flex-direction:column; align-items:stretch; gap:14px; width:100%; }
  #shopify-section-lv-newsletter input[type="email"]{ width:100%; min-width:0; }
  #shopify-section-lv-newsletter .btn,
  #shopify-section-lv-newsletter button[type="submit"]{ width:100%; min-width:0; margin:0; }
}
@media (max-width:749px){
    flex:0 0 60%; max-width:60%; display:flex; align-items:stretch; }
    display:flex; align-items:center; justify-content:center; width:100%;
    border:1px solid #e5e5e5; padding:24px 16px; text-align:center;
    font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:#111; }
}

/* Best Sellers Women's: swipe carousel on DESKTOP only (mobile uses theme's native scroll grid) */
@media (min-width:750px){
  #shopify-section-lv-row-coords .grid-overflow-wrapper .grid{
    display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory;
    scrollbar-width:none; padding-bottom:6px; }
  #shopify-section-lv-row-coords .grid-overflow-wrapper .grid::-webkit-scrollbar{ display:none; }
  #shopify-section-lv-row-coords .grid__item.grid-product{
    float:none; flex:0 0 30.5%; max-width:30.5%; scroll-snap-align:start; }
}
/* View-all card inside scroll strips: tidy at every size */
.grid-product__see-all{ border:1px solid #e5e5e5; display:flex; align-items:center; justify-content:center;
  text-align:center; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#111; padding:20px 12px; height:100%; }

/* Announcement bar: always a single line */
.announcement-slider__slide, .announcement-text{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.announcement-link-text{ display:inline; }
@media (max-width:749px){ .announcement-slider__slide, .announcement-text{ font-size:10.5px; letter-spacing:.06em; } }

/* Header text-logo fallback: compact & elegant until image logo is picked */
.site-header__logo{ margin:0; }
.site-header__logo a, .site-header__logo-link{ font-size:clamp(17px,4.5vw,24px) !important; letter-spacing:.14em; line-height:1.2; }

/* PDP: instant tactile feedback on Add to Cart (perceived speed) */
.add-to-cart{ transition:transform .12s ease, opacity .12s ease; }
.add-to-cart:active{ transform:scale(.985); opacity:.9; }
.btn--loading{ position:relative; color:transparent !important; }
.btn--loading::after{ content:""; position:absolute; inset:0; margin:auto; width:18px; height:18px;
  border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:lv-spin .7s linear infinite; }
@keyframes lv-spin{ to{ transform:rotate(360deg); } }
/* variant-filtered thumbs */
.product__thumb-item.lv-hidden-variant{ display:none !important; }

/* Map + footer = one combined dark finale */
#shopify-section-lv-store-map-1{ margin-bottom:0 !important; }

/* Continuous dark finale: newsletter -> map -> footer, no white gaps */
#shopify-section-lv-newsletter{ margin-bottom:0 !important; }

/* Map section: contain Leaflet z-indexes below the sticky header */
#shopify-section-lv-store-map-1, .lv-map-band{ position:relative; z-index:1; isolation:isolate; }
