/* ============================================================================
   LA ISLA — Boutique re-skin override layer
   ----------------------------------------------------------------------------
   Loaded LAST in the stylesheet chain (registered in config/theme.yml with
   priority 999). Overrides the existing Sentez Super Store theme visuals
   without changing markup, JS hooks, or business logic.

   KILL-SWITCH:
     If anything breaks, comment out the la-isla.css entry in
     config/theme.yml (and clear the PS cache). The site reverts
     instantly to the original Sentez design — no other restoration needed.
   ============================================================================ */


/* ============================================================================
   00 — FONTS (Italiana for display, Cormorant Garamond for editorial italic,
              Manrope for body / UI). Imported from Google Fonts.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Italiana&family=Manrope:wght@300;400;500;600&display=swap');


/* ============================================================================
   01 — DESIGN TOKENS
   ============================================================================ */
:root {
  /* Palette — warm sand, cream, ink, terracotta accent */
  --li-paper:      #FBF7F1;   /* page canvas — warm cream */
  --li-paper-2:    #F3ECDF;   /* card surface — deeper sand */
  --li-paper-3:    #E8DFCC;   /* deeper sand wash */
  --li-ink:        #1C1A17;   /* near-black, warm */
  --li-ink-2:      #3B362E;
  --li-muted:      #7A7163;
  --li-line:       rgba(28, 26, 23, 0.12);
  --li-line-soft:  rgba(28, 26, 23, 0.07);
  --li-accent:     #8A4A3B;   /* terracotta / dusty brick */
  --li-accent-2:   #6B4F36;   /* olive-brown */
  --li-gold:       #B89968;   /* warm gold */
  --li-white:      #FFFFFF;
  --li-sale:       #8A4A3B;

  /* Typography */
  --li-font-display: 'Italiana', 'Cormorant Garamond', 'Times New Roman', serif;
  --li-font-serif:   'Cormorant Garamond', 'Times New Roman', serif;
  --li-font-sans:    'Manrope', 'Inter', system-ui, -apple-system, sans-serif;

  /* Tracking */
  --li-tr-display: -0.005em;
  --li-tr-wide:    0.22em;
  --li-tr-wider:   0.32em;
  --li-tr-normal:  0.01em;

  /* Motion */
  --li-ease:    cubic-bezier(0.2, 0.6, 0.2, 1);
  --li-fast:    180ms;
  --li-normal:  240ms;
  --li-slow:    480ms;
}


/* ============================================================================
   02 — BASE / RESET
   ============================================================================ */
html,
body {
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body * {
  box-sizing: border-box;
}

body img,
body svg {
  max-width: 100%;
}

body a {
  color: inherit;
  text-decoration: none;
  transition: color var(--li-fast) ease;
}

body a:hover {
  color: var(--li-accent);
  text-decoration: none;
}

/* Selection highlight */
body ::selection {
  background: var(--li-ink);
  color: var(--li-paper);
}


/* ============================================================================
   03 — TYPOGRAPHY (headings, paragraphs, lists)
   ============================================================================ */
body h1, body .h1,
body h2, body .h2,
body h3, body .h3,
body h4, body .h4 {
  font-family: var(--li-font-display) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  line-height: 1.05 !important;
  color: var(--li-ink) !important;
  margin: 0 0 18px;
}

body h1, body .h1 { font-size: clamp(40px, 5vw, 64px); }
body h2, body .h2 { font-size: clamp(32px, 4vw, 48px); }
body h3, body .h3 { font-size: clamp(24px, 2.6vw, 32px); }
body h4, body .h4 { font-size: 20px; }

body h5, body .h5,
body h6, body .h6 {
  font-family: var(--li-font-sans) !important;
  font-weight: 500 !important;
  letter-spacing: var(--li-tr-normal) !important;
  color: var(--li-ink) !important;
}

body p,
body li,
body span,
body td,
body label {
  font-family: inherit;
  color: var(--li-ink-2);
}

/* Page titles inside the PS catalog/CMS shell */
body .page-header h1,
body .page-title,
body #main .page-header h1 {
  font-family: var(--li-font-display) !important;
  font-size: clamp(34px, 4.4vw, 56px) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  text-align: left;
  padding: 32px 0 12px;
  border-bottom: 1px solid var(--li-line-soft);
  margin-bottom: 32px;
}


/* ============================================================================
   04 — LAYOUT PRIMITIVES
   ============================================================================ */
body .container,
body .container-fluid {
  max-width: 1320px;
  padding-left: 28px;
  padding-right: 28px;
}

@media (max-width: 768px) {
  body .container,
  body .container-fluid {
    padding-left: 16px;
    padding-right: 16px;
  }
}

body #wrapper {
  background: var(--li-paper);
  padding-top: 28px;
  padding-bottom: 28px;
}

body #main {
  background: var(--li-paper);
}

/* Soft rules between sections */
body hr,
body .divider-rule {
  border: 0;
  height: 1px;
  background: var(--li-line);
  margin: 32px 0;
}


/* ============================================================================
   05 — BUTTONS  (override every PS / ThemeVolty button to a uniform style)
   ============================================================================ */
body .btn,
body button,
body input[type="submit"],
body input[type="button"],
body .tvproduct-add-to-cart,
body .button.btn-primary,
body .btn-primary,
body .btn-secondary,
body .btn-default,
body .btn-action,
body .tv-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--li-font-sans) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  border-radius: 0 !important;
  border: 1px solid var(--li-ink) !important;
  background: transparent !important;
  color: var(--li-ink) !important;
  cursor: pointer;
  box-shadow: none !important;
  text-shadow: none !important;
  transition: background var(--li-normal) ease,
              color var(--li-normal) ease,
              border-color var(--li-normal) ease !important;
  line-height: 1.2;
}

body .btn:hover,
body button:not(.btn-unstyle):not(.close):hover,
body input[type="submit"]:hover,
body input[type="button"]:hover,
body .btn-primary:hover,
body .btn-secondary:hover,
body .btn-default:hover,
body .tvproduct-add-to-cart:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-ink) !important;
}

/* Solid (primary CTA) variant */
body .btn-primary,
body .add-to-cart,
body #checkout-payment-step button[type="submit"],
body .continue.btn-primary,
body .product-add-to-cart .add-to-cart {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
}
body .btn-primary:hover,
body .add-to-cart:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}

/* Unstyled buttons (keep them invisible / not affected) */
body .btn-unstyle,
body button.close,
body button.btn-unstyle {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

/* Link-style underline (editorial italic) */
body .link-underline,
body a.italic-link {
  font-family: var(--li-font-serif) !important;
  font-style: italic;
  font-size: 16px;
  color: var(--li-ink);
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}


/* ============================================================================
   06 — FORMS  (inputs, selects, textareas)
   ============================================================================ */
body input[type="text"],
body input[type="email"],
body input[type="password"],
body input[type="tel"],
body input[type="number"],
body input[type="search"],
body select,
body textarea,
body .form-control {
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: var(--li-ink) !important;
  background: var(--li-white) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  transition: border-color var(--li-normal) ease !important;
  height: auto !important;
}

body input:focus,
body select:focus,
body textarea:focus,
body .form-control:focus {
  outline: 0 !important;
  border-color: var(--li-ink) !important;
  box-shadow: none !important;
}

body input::placeholder,
body textarea::placeholder {
  color: var(--li-muted);
  font-family: var(--li-font-serif);
  font-style: italic;
}

body label,
body .form-control-label {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  margin-bottom: 8px !important;
  font-weight: 400 !important;
}

/* Radio / checkbox neutralization */
body .custom-radio,
body .custom-checkbox {
  border-radius: 0 !important;
  border-color: var(--li-line) !important;
}


/* ============================================================================
   07 — ANNOUNCEMENT BAR  (top offer text strip)
   ============================================================================ */
body .tvtopoffer-text-wrapper,
body .tvheader-offer-wrapper,
body #header .offer-text,
body #_desktop_top_offer_text {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  text-align: center;
  padding: 10px 16px !important;
}

body .tvtopoffer-text-wrapper *,
body .tvheader-offer-wrapper * {
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
}


/* ============================================================================
   08 — HEADER  (broad selectors covering all 7 ThemeVolty desk-header variants)
   ============================================================================ */
body header#header,
body #header,
body .tvcmsdesktop-top-header-wrapper,
body .tvcmsdesktop-top-second,
body .tvcmsmobile-header-wrapper {
  background: var(--li-paper) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  box-shadow: none !important;
}

body .tvcmsdesktop-top-second {
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
}

/* Logo
   NOTE: Must beat `body .tvcmsdesktop-top-header-wrapper.header-6 .tv-header-logo img`
   (specificity 0,3,2 + !important — see section 29). We use !important here and add
   a higher-specificity attribute-selector chain (`body[class]`) to reach (0,3,3)+!imp. */
body .tv-header-logo img,
body #_desktop_logo img,
body .logo,
html body[class] .tv-header-logo img,
html body[class] #_desktop_logo img,
html body[class] .logo {
  height: 120px !important;
  max-height: 120px !important;
  width: auto !important;
  max-width: none !important;
  min-height: 0 !important;
  filter: none !important;
}

body .tv-header-logo,
body .tvcms-header-logo {
  text-align: center;
}

/* Top language / currency / contact strip */
body .tvcmsdesktop-top-header {
  background: var(--li-paper-2) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 8px 0 !important;
}

body .tvcmsdesktop-top-header *,
body .tvheader-language-currency-wrapper * {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-ink-2) !important;
}

/* Search bar in header */
body .tvcmssearch-wrapper input,
body .tvcmssearch-wrapper .form-control,
body #search_widget input {
  border: 0 !important;
  border-bottom: 1px solid var(--li-line) !important;
  background: transparent !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  padding: 10px 0 10px 32px !important;
}

body .tvcmssearch-wrapper input:focus,
body #search_widget input:focus {
  border-bottom-color: var(--li-ink) !important;
}

/* Header right (account / wishlist / cart icons) */
body .tvcmsheader-nav-right,
body .tv-contact-account-cart-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 22px;
  justify-content: flex-end;
}

body .tv-myaccount-btn,
body .tvcmsuserwishlist a,
body .tvcmscart-button,
body .blockcart {
  color: var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  background: transparent !important;
  border: 0 !important;
  padding: 8px 0 !important;
  box-shadow: none !important;
}

body .tv-myaccount-btn:hover,
body .tvcmsuserwishlist a:hover,
body .blockcart:hover {
  color: var(--li-accent) !important;
  background: transparent !important;
}

/* Cart counter pill */
body .cart-products-count,
body .tvcmscartcontent-count,
body .tvcms-cart-prdcount {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  border-radius: 999px !important;
  min-width: 18px;
  height: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 6px !important;
}

/* Header SVG icons — uniform stroke */
body .tvcmsheader-nav-right svg,
body .tv-myaccount-btn svg,
body .blockcart svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.25;
}


/* ============================================================================
   09 — MEGAMENU / MAIN NAVIGATION
   ============================================================================ */
body .tvcmsmegamenu-wrapper,
body .tvcmsmegamenu,
body #_desktop_main_menu {
  background: var(--li-paper) !important;
  border-top: 1px solid var(--li-line-soft) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
}

body .tvcmsmegamenu ul,
body .tvcmsmegamenu .navbar-nav,
body .menu-content {
  display: flex;
  justify-content: center;
  gap: 44px;
  padding: 14px 0 !important;
  margin: 0 !important;
  list-style: none;
}

body .tvcmsmegamenu a,
body .tvcmsmegamenu .nav-link,
body .menu-content a {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  padding: 4px 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-weight: 400 !important;
}

body .tvcmsmegamenu a:hover,
body .tvcmsmegamenu li:hover > a {
  color: var(--li-accent) !important;
  background: transparent !important;
}

/* Sale link highlight */
body .tvcmsmegamenu a[href*="sale"],
body .tvcmsmegamenu a[href*="promo"],
body .menu-content a[href*="sale"] {
  color: var(--li-accent) !important;
}


/* ============================================================================
   10 — BREADCRUMB
   ============================================================================ */
body .breadcrumb,
body nav.breadcrumb {
  background: transparent !important;
  padding: 18px 0 !important;
  margin: 0 0 12px !important;
  font-family: var(--li-font-sans);
  font-size: 11px;
  letter-spacing: var(--li-tr-wide);
  text-transform: uppercase;
  color: var(--li-muted);
  border-radius: 0 !important;
}

body .breadcrumb a,
body .breadcrumb li,
body .breadcrumb span {
  color: var(--li-muted) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
}

body .breadcrumb a:hover {
  color: var(--li-accent) !important;
}

body .breadcrumb li + li::before {
  content: "·";
  color: var(--li-line);
  margin: 0 10px;
}


/* ============================================================================
   11 — PRODUCT CARD  (.product-miniature / ThemeVolty .tvproduct-wrapper)
   ============================================================================ */
body .product-miniature {
  margin-bottom: 48px !important;
  background: transparent !important;
}

body .product-miniature .thumbnail-container,
body .product-miniature .tvproduct-wrapper {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative;
}

/* Image holder */
body .product-miniature .tvproduct-image,
body .product-miniature .product-thumbnail {
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--li-paper-2);
  position: relative;
  border-radius: 0 !important;
  border: 0 !important;
}

body .product-miniature .tvproduct-image img,
body .product-miniature .product-thumbnail img,
body .product-miniature .tvproduct-defult-img,
body .product-miniature .tvproduct-hover-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 800ms var(--li-ease) !important;
  border-radius: 0 !important;
}

body .product-miniature:hover .tvproduct-defult-img,
body .product-miniature:hover .product-thumbnail img {
  transform: scale(1.04);
}

/* Hover-secondary image fade */
body .product-miniature .tvproduct-hover-img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity var(--li-normal) ease !important;
}
body .product-miniature:hover .tvproduct-hover-img {
  opacity: 1;
}

/* Flags / tags (new, sale, on-sale, pack) */
body .product-miniature .tvproduct-flags,
body .product-miniature .product-flags {
  position: absolute;
  top: 14px;
  left: 14px;
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  z-index: 2;
}

body .product-miniature .product-flag,
body .product-miniature .tvproduct-flags li {
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 6px 10px !important;
  border-radius: 0 !important;
  font-weight: 400 !important;
}

body .product-miniature .product-flag.on-sale,
body .product-miniature .tvproduct-discount-wrapper li {
  background: var(--li-accent) !important;
  color: var(--li-paper) !important;
}

body .product-miniature .tvproduct-discount-wrapper {
  position: absolute;
  top: 14px;
  right: 14px;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Hover action overlay (add to cart / quick view / wishlist) */
body .product-miniature .tvproduct-hover-btn {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  display: flex;
  gap: 8px;
  justify-content: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--li-normal) ease, transform var(--li-normal) ease !important;
  pointer-events: none;
}

body .product-miniature:hover .tvproduct-hover-btn {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

body .product-miniature .tvproduct-hover-btn > div,
body .product-miniature .tvproduct-cart-btn,
body .product-miniature .tvproduct-quick-btn {
  background: var(--li-paper) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  flex: 1;
}

body .product-miniature .tvproduct-hover-btn button,
body .product-miniature .tvproduct-hover-btn a {
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 12px !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  transition: background var(--li-normal) ease, color var(--li-normal) ease !important;
}

body .product-miniature .tvproduct-hover-btn button:hover,
body .product-miniature .tvproduct-hover-btn a:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
}

body .product-miniature .tvproduct-hover-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
}

/* Info box — name + price below image */
body .product-miniature .tvproduct-info-box-wrapper,
body .product-miniature .product-description {
  background: transparent !important;
  padding: 14px 0 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left;
}

body .product-miniature .tvproduct-name,
body .product-miniature .product-title {
  margin: 0 0 6px !important;
}

body .product-miniature .tvproduct-name a,
body .product-miniature .product-title a,
body .product-miniature .tvproduct-name h6,
body .product-miniature .product-title h6 {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: var(--li-ink) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body .product-miniature .tvproduct-name a:hover,
body .product-miniature .product-title a:hover {
  color: var(--li-accent) !important;
}

/* Price area */
body .product-miniature .product-price-and-shipping,
body .product-miniature .tv-product-price {
  display: flex !important;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

body .product-miniature .price,
body .product-miniature .product-price {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
  letter-spacing: 0.02em !important;
}

body .product-miniature .regular-price {
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: var(--li-muted) !important;
  text-decoration: line-through;
}

body .product-miniature .discount-product,
body .product-miniature .tvproduct-discount-price {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-accent) !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
}


/* ============================================================================
   12 — CATEGORY / LISTING PAGE
   ============================================================================ */
body #products,
body .products-section-title {
  background: transparent !important;
}

body .products-section-title,
body .featured-products .h2,
body #products .h2 {
  font-family: var(--li-font-display) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: var(--li-tr-display) !important;
  text-align: left;
  border-bottom: 1px solid var(--li-line-soft);
  padding-bottom: 18px;
  margin-bottom: 32px;
}

/* Listing toolbar (sort, count) */
body .products-selection,
body .tv-shop-toolbar {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 16px 0 !important;
  margin-bottom: 32px !important;
}

body .total-products p,
body .total-products {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-muted) !important;
}

body .products-sort-order .select-title,
body .sort-by-row select {
  background: transparent !important;
  border: 1px solid var(--li-line) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 10px 16px !important;
  color: var(--li-ink) !important;
  border-radius: 0 !important;
}

/* Faceted search (filters sidebar) */
body #search_filters,
body .block.filter-block,
body #_desktop_search_filters {
  background: transparent !important;
  border: 0 !important;
  padding: 0 16px 0 0 !important;
}

body #search_filters .facet,
body .facet {
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 20px 0 !important;
}

body #search_filters .facet-title,
body .facet-title,
body #search_filters .h6 {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wider) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  font-weight: 400 !important;
  margin-bottom: 14px !important;
}

body #search_filters .facet-label,
body .facet-label,
body #search_filters .facet-label a {
  font-family: var(--li-font-serif) !important;
  font-size: 15px !important;
  color: var(--li-ink) !important;
  transition: color var(--li-fast) ease !important;
}

body #search_filters .facet-label:hover,
body .facet-label:hover {
  color: var(--li-accent) !important;
  font-style: italic;
}

body .active_filters .filter-block {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  color: var(--li-ink) !important;
}

/* Pagination */
body .pagination {
  border-top: 1px solid var(--li-line-soft) !important;
  padding-top: 32px;
  margin-top: 48px;
}

body .pagination .page-list li,
body .pagination .page-list a {
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  background: transparent !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 10px 14px !important;
  margin-right: 6px;
  transition: all var(--li-normal) ease;
}

body .pagination .page-list .current a,
body .pagination .page-list a:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-ink) !important;
}


/* ============================================================================
   13 — PRODUCT PAGE
   ============================================================================ */
body #product .product-cover img,
body #product .product-images img,
body .product-cover img {
  border-radius: 0 !important;
  border: 0 !important;
  background: var(--li-paper-2);
}

body #product .images-container,
body #product .product-thumbnails {
  background: transparent !important;
}

body #product .product-thumbnails .thumb-container .thumb {
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  transition: border-color var(--li-fast) ease !important;
}

body #product .product-thumbnails .thumb-container .thumb.selected,
body #product .product-thumbnails .thumb:hover {
  border-color: var(--li-ink) !important;
}

/* Product name + brand */
body #product h1,
body #product .h1,
body .product-detail-name {
  font-family: var(--li-font-display) !important;
  font-size: clamp(34px, 4vw, 48px) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  line-height: 1.1 !important;
  margin: 8px 0 16px !important;
}

body #product .product-manufacturer,
body #product .product-reference,
body #product .product-condition {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-muted) !important;
}

/* Price block */
body #product .current-price,
body #product .product-prices .current-price,
body #product .product-price {
  font-family: var(--li-font-display) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  letter-spacing: var(--li-tr-display) !important;
}

body #product .regular-price,
body #product .product-discount .regular-price {
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  color: var(--li-muted) !important;
  text-decoration: line-through;
}

body #product .discount,
body #product .discount-percentage {
  background: var(--li-accent) !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 0 !important;
}

/* Variants (color/size selectors) */
body #product .product-variants .product-variants-item,
body #product .product-variants > div {
  margin: 18px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body #product .product-variants-item .control-label,
body #product .product-variants .control-label {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  margin-bottom: 12px !important;
  font-weight: 400 !important;
}

body #product .product-variants .input-color {
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 2px !important;
}

body #product .product-variants .input-color:checked,
body #product .product-variants input:checked + .input-color {
  border-color: var(--li-ink) !important;
}

body #product .input-radio + .radio-label,
body #product .input-container {
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 10px 18px !important;
  color: var(--li-ink) !important;
  background: var(--li-paper) !important;
}

body #product input:checked + .radio-label {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-ink) !important;
}

/* Quantity selector */
body #product .qty,
body #product .product-quantity .input-group {
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  background: var(--li-paper) !important;
}

body #product .product-quantity .input-group .form-control {
  border: 0 !important;
  text-align: center;
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  background: transparent !important;
}

body #product .product-quantity .btn-touchspin,
body #product .bootstrap-touchspin button {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--li-ink) !important;
  font-size: 16px !important;
  width: 40px;
  height: 40px;
}

/* Add to cart CTA */
body #product .product-add-to-cart,
body #product .add-to-cart {
  margin-top: 24px;
}

body #product .add-to-cart,
body #product #add-to-cart-or-refresh button {
  width: 100%;
  padding: 18px 28px !important;
  font-size: 13px !important;
}

/* Product tabs (description, details) */
body .product-tabs,
body #product .tabs {
  background: transparent !important;
  border: 0 !important;
  margin-top: 56px;
}

body .product-tabs .nav-tabs,
body #product .nav-tabs {
  border-bottom: 1px solid var(--li-line) !important;
  margin-bottom: 24px;
}

body .product-tabs .nav-tabs .nav-link,
body #product .nav-tabs .nav-link {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 14px 0 !important;
  margin-right: 32px !important;
  font-weight: 400 !important;
}

body .product-tabs .nav-tabs .nav-link.active,
body #product .nav-tabs .nav-link.active {
  color: var(--li-ink) !important;
  border-bottom-color: var(--li-accent) !important;
  background: transparent !important;
}

body .product-tabs .tab-content,
body #product .tab-content {
  font-family: var(--li-font-serif) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: var(--li-ink-2) !important;
}


/* ============================================================================
   14 — CART PAGE
   ============================================================================ */
body #cart .card,
body #cart .cart-container,
body .cart-grid-body .card {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body #cart .card-block,
body .cart-grid-body .card-block {
  padding: 24px !important;
}

body .cart-items,
body .cart-item {
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 20px 0 !important;
}

body .cart-item:last-child {
  border-bottom: 0 !important;
}

body .product-line__title,
body .product-line-info a {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 17px !important;
  color: var(--li-ink) !important;
}

body .product-price,
body .cart-item .price {
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
}

body .cart-summary {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 24px !important;
}

body .cart-summary-line {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--li-line-soft);
}

body .cart-summary-line .label {
  color: var(--li-muted) !important;
  background: transparent !important;
  text-transform: uppercase;
  letter-spacing: var(--li-tr-wide);
  font-size: 11px !important;
  padding: 0 !important;
}

body .cart-summary-line .value {
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
}

body .cart-total .label,
body .cart-total .value {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}


/* ============================================================================
   15 — CHECKOUT
   ============================================================================ */
body #checkout,
body .checkout-step {
  background: var(--li-paper) !important;
}

body .checkout-step {
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  margin-bottom: 16px !important;
  padding: 24px !important;
  background: var(--li-paper) !important;
  box-shadow: none !important;
}

body .checkout-step.-current {
  border-color: var(--li-ink) !important;
}

body .checkout-step .step-title,
body .checkout-step .h3.step-title {
  font-family: var(--li-font-display) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  text-transform: none !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .step-number {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  color: var(--li-muted) !important;
  margin-right: 12px;
}

body .form-fields .form-group {
  margin-bottom: 18px !important;
}

/* Payment options */
body .payment-options .payment-option {
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 18px !important;
  margin-bottom: 10px;
  background: var(--li-paper) !important;
  transition: border-color var(--li-fast) ease;
}

body .payment-options .payment-option:hover {
  border-color: var(--li-ink) !important;
}

body .payment-options label {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--li-ink) !important;
  font-weight: 400 !important;
  margin: 0 !important;
}


/* ============================================================================
   16 — FOOTER
   ============================================================================ */
body footer,
body .footer-container,
body #footer,
body .tvcms-footer-wrapper {
  background: var(--li-paper-2) !important;
  color: var(--li-ink) !important;
  border-top: 1px solid var(--li-line) !important;
  padding: 80px 0 28px !important;
  margin-top: 80px !important;
  box-shadow: none !important;
}

body .footer-container *,
body #footer * {
  color: var(--li-ink-2);
}

/* Footer column titles */
body .footer-container h3,
body .footer-container .h3,
body .footer-container .links .title,
body #footer h3,
body #footer .links .title,
body .tvcms-footer-wrapper h3 {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wider) !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
  color: var(--li-muted) !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border-bottom: 0 !important;
}

/* Footer links */
body .footer-container .links ul li a,
body #footer .links ul li a,
body .tvcms-footer-wrapper a {
  font-family: var(--li-font-serif) !important;
  font-size: 16px !important;
  color: var(--li-ink) !important;
  padding: 6px 0 !important;
  display: inline-block;
  transition: color var(--li-fast) ease, font-style var(--li-fast) ease !important;
}

body .footer-container .links ul li a:hover,
body #footer a:hover {
  color: var(--li-accent) !important;
  font-style: italic !important;
}

/* Newsletter strip (if present in footer) */
body #footer .block_newsletter,
body .footer-newsletter,
body .tvcms-footer-newsletter {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  padding: 56px 32px !important;
  border-radius: 0 !important;
  margin-bottom: 48px !important;
}

body #footer .block_newsletter *,
body .footer-newsletter * {
  color: var(--li-paper);
}

body #footer .block_newsletter h3,
body .footer-newsletter h3 {
  font-family: var(--li-font-display) !important;
  font-size: 32px !important;
  color: var(--li-paper) !important;
  letter-spacing: var(--li-tr-display) !important;
}

body #footer .block_newsletter input[type="email"],
body .footer-newsletter input[type="email"] {
  background: transparent !important;
  color: var(--li-paper) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(251, 247, 241, 0.4) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  padding: 12px 0 !important;
}

body #footer .block_newsletter input[type="email"]::placeholder {
  color: rgba(251, 247, 241, 0.4) !important;
}

body #footer .block_newsletter button {
  background: transparent !important;
  border: 0 !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
}

body #footer .block_newsletter button:hover {
  color: var(--li-gold) !important;
  background: transparent !important;
}

/* Bottom strip (copyright, social) */
body .l-footer__copyright,
body .footer__copyright,
body .copyright,
body .tvcms-footer-copyright {
  border-top: 1px solid var(--li-line) !important;
  padding-top: 22px !important;
  margin-top: 56px !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  text-align: center;
  background: transparent !important;
}


/* ============================================================================
   17 — MISC OVERRIDES  (notifications, modals, dropdowns, alerts)
   ============================================================================ */
body .alert,
body .alert-success,
body .alert-warning,
body .alert-danger,
body .alert-info {
  border-radius: 0 !important;
  border-left: 3px solid var(--li-accent) !important;
  background: var(--li-paper-2) !important;
  color: var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  padding: 14px 18px !important;
  box-shadow: none !important;
}

body .modal-content {
  border-radius: 0 !important;
  border: 1px solid var(--li-line) !important;
  background: var(--li-paper) !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.12) !important;
}

body .modal-header {
  border-bottom: 1px solid var(--li-line-soft) !important;
  background: transparent !important;
}

body .modal-title {
  font-family: var(--li-font-display) !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
}

body .dropdown-menu {
  border-radius: 0 !important;
  border: 1px solid var(--li-line) !important;
  background: var(--li-paper) !important;
  box-shadow: 0 12px 24px rgba(28, 26, 23, 0.08) !important;
  padding: 8px 0 !important;
}

body .dropdown-menu a,
body .dropdown-menu li a {
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  padding: 10px 16px !important;
}

body .dropdown-menu a:hover {
  background: var(--li-paper-2) !important;
  color: var(--li-accent) !important;
}

/* Hide / neutralize visual noise from old theme */
body .tvshadow,
body [class*="tvshadow"] {
  box-shadow: none !important;
}

body .tv-rounded,
body [class*="rounded"]:not(.cart-products-count):not(.tvcms-cart-prdcount) {
  border-radius: 0 !important;
}


/* ============================================================================
   18 — RESPONSIVE  (mobile adjustments)
   ============================================================================ */
@media (max-width: 992px) {
  body .tvcmsmegamenu ul,
  body .menu-content {
    gap: 24px;
    flex-wrap: wrap;
  }
  body footer,
  body .footer-container {
    padding: 56px 0 24px !important;
  }
  body .product-miniature {
    margin-bottom: 32px !important;
  }
}

@media (max-width: 576px) {
  body .tvcmsdesktop-top-second {
    padding: 12px 0 !important;
  }
  body .tv-header-logo img {
    max-height: 80px !important;
  }
  body .product-miniature .tvproduct-name a,
  body .product-miniature .product-title h6 {
    font-size: 15px !important;
  }
  body #product h1 {
    font-size: 30px !important;
  }
}


/* ============================================================================
   19 — MOBILE HEADER  (mobile-header-1/2/3 ThemeVolty variants)
   ============================================================================ */
body #tvcms-mobile-view-header,
body .tvheader-mobile-layout {
  background: var(--li-paper) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  box-shadow: none !important;
}

body .tvcmsmobile-top-wrapper,
body .tvmobileheader-offer-wrapper {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  padding: 8px 12px !important;
  text-align: center;
}

body .tvcmsmobile-top-wrapper *,
body .tvmobileheader-offer-wrapper * {
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-paper) !important;
}

body .tvcmsmobile-header-menu-offer-text {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 14px 16px !important;
  background: var(--li-paper) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  flex-wrap: nowrap;
}

body .tvcmsmobile-header-menu {
  flex: 0 0 auto;
  padding: 0 !important;
}

body .tvmobile-sliderbar-btn a,
body .tvmobile-sliderbar-btn i {
  color: var(--li-ink) !important;
  font-size: 26px !important;
  background: transparent !important;
  border: 0 !important;
}

body .tvcmsmobile-header-logo-right-wrapper {
  flex: 1 1 auto;
  text-align: center !important;
  padding: 0 !important;
}

/* Mobile logo: use !important + body[class] to beat any theme/header overrides */
body #tvcmsmobile-header-logo img,
body .tvcmsmobile-header-logo-right-wrapper img,
html body[class] #tvcmsmobile-header-logo img,
html body[class] .tvcmsmobile-header-logo-right-wrapper img {
  height: 72px !important;
  max-height: 72px !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 auto !important;
}

body .tvcmsmobile-cart-acount-text {
  flex: 0 0 auto;
  display: flex !important;
  align-items: center !important;
  gap: 14px;
  padding: 0 !important;
}

body #tvcmsmobile-account-button,
body #tvmobile-cart {
  display: flex;
  align-items: center;
}

body #tvmobile-cart .blockcart,
body #tvmobile-cart .header,
body #tvmobile-cart a {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--li-ink) !important;
}

/* Slide-out menu drawer */
body .tvmobile-slidebar {
  background: var(--li-paper) !important;
  border-right: 1px solid var(--li-line) !important;
  padding: 24px 20px !important;
  box-shadow: 0 8px 32px rgba(28, 26, 23, 0.08) !important;
}

body .tvmobile-slidebar a {
  font-family: var(--li-font-serif) !important;
  font-size: 16px !important;
  color: var(--li-ink) !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  display: block;
}

body .tvmobile-slidebar a:hover {
  color: var(--li-accent) !important;
  font-style: italic;
}

body .tvmobile-dropdown-close a {
  color: var(--li-ink) !important;
  font-size: 24px !important;
  border: 0 !important;
}

/* Mobile search bar (full-width strip) */
body .tvcmsmobile-header-search-logo-wrapper,
body .tvcmsmobile-header-search {
  background: var(--li-paper) !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
}

body #tvcmsmobile-search input,
body #tvcmsmobile-search .form-control {
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  background: var(--li-white) !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
  width: 100%;
}


/* ============================================================================
   20 — HOME SLIDER  (tvcmsslider)
   ============================================================================ */
body .tvcms-slider-offerbanner-wrapper,
body .tvcmsmain-slider-wrapper,
body .tv-main-slider {
  background: var(--li-paper) !important;
  padding: 0 !important;
  margin-bottom: 56px;
}

body #tvmain-slider {
  background: var(--li-paper-2) !important;
}

body .tvmain-slider-img {
  border-radius: 0 !important;
  width: 100% !important;
  height: auto !important;
  display: block;
}

/* Slide caption */
body .tvmain-slider-content-inner,
body .tvmain-slider-contant {
  font-family: var(--li-font-display) !important;
  color: var(--li-ink) !important;
}

body .tvmain-slider-title {
  font-family: var(--li-font-display) !important;
  font-size: clamp(36px, 5vw, 72px) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  line-height: 1 !important;
  color: var(--li-ink) !important;
  margin: 0 0 18px !important;
}

body .tvmain-slider-info {
  font-family: var(--li-font-serif) !important;
  font-size: clamp(15px, 1.4vw, 19px) !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--li-ink-2) !important;
  max-width: 440px;
}

/* Slider CTA button */
body .tvmain-slider-btn .btn,
body .tvmain-slider-button,
body .tvall-inner-btn {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-ink) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  margin-top: 18px;
  transition: background var(--li-normal) ease, border-color var(--li-normal) ease !important;
}

body .tvmain-slider-btn .btn:hover,
body .tvmain-slider-button:hover,
body .tvall-inner-btn:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}

/* Slider arrows */
body .tvmain-slider-next-pre-btn .tvcmsmain-prev,
body .tvmain-slider-next-pre-btn .tvcmsmain-next,
body .tvcmsprev-btn,
body .tvcmsnext-btn {
  width: 44px !important;
  height: 44px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  cursor: pointer;
  transition: all var(--li-normal) ease !important;
}

body .tvcmsprev-btn:hover,
body .tvcmsnext-btn:hover,
body .tvcmsmain-prev:hover,
body .tvcmsmain-next:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-ink) !important;
}

body .tvcmsprev-btn svg,
body .tvcmsnext-btn svg,
body .tvcmsmain-prev svg,
body .tvcmsmain-next svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

/* Slider dots (if present) */
body .owl-dots {
  margin-top: 18px !important;
}

body .owl-dots .owl-dot span {
  background: var(--li-line) !important;
  border-radius: 0 !important;
  width: 24px !important;
  height: 2px !important;
  margin: 0 4px !important;
}

body .owl-dots .owl-dot.active span,
body .owl-dots .owl-dot:hover span {
  background: var(--li-ink) !important;
}


/* ============================================================================
   21 — HOME SECTION TITLES  (tvcms-main-title partial)
   ============================================================================ */
body .tvcmsmain-title-wrapper,
body .tvcmsbrandlist-slider-main-title-wrapper,
body .tvcmscategory-main-title-wrapper,
body .tvcms-main-title,
body .tvcmsmain-title {
  text-align: center;
  margin-bottom: 48px !important;
  padding: 0 !important;
}

body .tvcmsmain-title-wrapper .tv-section-title,
body .tvcms-main-title h2,
body .tvcmsmain-title h2,
body .tvcms-main-heading {
  font-family: var(--li-font-display) !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  text-transform: none !important;
  color: var(--li-ink) !important;
  line-height: 1.1 !important;
  margin: 0 0 12px !important;
  border: 0 !important;
}

body .tvcmsmain-title .tv-section-desc,
body .tvcms-main-title p,
body .tvcms-main-subheading {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--li-muted) !important;
  max-width: 600px;
  margin: 0 auto !important;
  font-weight: 400 !important;
}

body .tvcmsmain-title::before,
body .tvcms-main-title::before {
  content: "—";
  display: inline-block;
  font-family: var(--li-font-serif);
  font-style: italic;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--li-accent);
  margin-bottom: 10px;
}


/* ============================================================================
   22 — REASSURANCE STRIP  (blockreassurance #block-reassurance)
   ============================================================================ */
body #block-reassurance {
  background: var(--li-paper-2) !important;
  border-top: 1px solid var(--li-line-soft) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 48px 0 !important;
  margin: 56px 0 !important;
}

body #block-reassurance ul {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px !important;
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  max-width: 1320px;
}

body #block-reassurance li {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

body #block-reassurance .block-reassurance-item {
  display: flex !important;
  gap: 16px !important;
  align-items: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

body #block-reassurance .block-reassurance-item img {
  width: 36px !important;
  height: 36px !important;
  flex-shrink: 0;
  filter: none;
  object-fit: contain;
}

body #block-reassurance .block-reassurance-item span {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  color: var(--li-ink-2) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}


/* ============================================================================
   23 — HOME BRAND STRIP / MULTIBANNER / CATEGORY SLIDERS
   ============================================================================ */
body .tvcmsbrandlist-slider,
body .tvbrandlist-slider {
  background: transparent !important;
  padding: 56px 0 !important;
  border-top: 1px solid var(--li-line-soft) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  margin: 56px 0 !important;
}

body .tvbrandlist-slider .item img,
body .tvbrandlist-slider img {
  filter: grayscale(100%) !important;
  opacity: 0.65;
  transition: filter var(--li-normal) ease, opacity var(--li-normal) ease !important;
  max-height: 60px;
  width: auto;
  margin: 0 auto;
}

body .tvbrandlist-slider .item:hover img {
  filter: grayscale(0%) !important;
  opacity: 1;
}

/* Multi-banners (tvcmsmultibanner1) */
body .tvcmsmultibanner1-wrapper,
body .tvcmsmultibanner1 {
  padding: 56px 0 !important;
  background: transparent !important;
}

body .tvcmsmultibanner1-wrapper .tvcmsmultibanner1-img,
body .tvcmsmultibanner1 img {
  border-radius: 0 !important;
  transition: transform 900ms var(--li-ease) !important;
}

body .tvcmsmultibanner1 .tvcmsmultibanner1-box:hover img {
  transform: scale(1.04);
}

body .tvcmsmultibanner1 .tvcmsbanner-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  color: var(--li-paper);
  background: linear-gradient(to top, rgba(28, 26, 23, 0.55), transparent 60%);
}

body .tvcmsmultibanner1 .tvcmsbanner-content h2,
body .tvcmsmultibanner1 .tvcmsbanner-content h3 {
  font-family: var(--li-font-display) !important;
  font-size: 32px !important;
  color: var(--li-paper) !important;
  margin: 0 0 8px !important;
}

body .tvcmsmultibanner1 .tvcmsbanner-content p,
body .tvcmsmultibanner1 .tvcmsbanner-content span {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wider) !important;
  text-transform: uppercase !important;
  color: var(--li-paper) !important;
  opacity: 0.85;
}

/* Category slider / chain slider */
body .tvcmscategoryslider,
body .tvcmscategorychainslider,
body .tvcmscategoryproduct {
  background: transparent !important;
  padding: 56px 0 !important;
}

body .tvcmscategoryslider .tv-category-name,
body .tvcmscategoryslider .item-name,
body .tvcmscategorychainslider .item-name {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  margin-top: 14px;
}

body .tvcmscategoryslider .tv-category-count,
body .tvcmscategoryslider .item-count {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
}


/* ============================================================================
   24 — TESTIMONIALS / BLOG / FOOTER CATEGORY ETC.
   ============================================================================ */
body .tvcmstestimonial-wrapper,
body .tvcmstestimonial {
  background: transparent !important;
  padding: 80px 0 !important;
  border-top: 1px solid var(--li-line-soft);
}

body .tvcmstestimonial .testimonial-item,
body .tvcmstestimonial .item {
  text-align: center;
  padding: 24px;
}

body .tvcmstestimonial .testimonial-content,
body .tvcmstestimonial .testimonial-text {
  font-family: var(--li-font-display) !important;
  font-style: normal !important;
  font-size: 22px !important;
  line-height: 1.4 !important;
  color: var(--li-ink) !important;
  font-weight: 400 !important;
  margin: 16px 0;
}

body .tvcmstestimonial .testimonial-author,
body .tvcmstestimonial .author-name {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-muted) !important;
  letter-spacing: 0.02em;
}

/* Blog posts strip */
body .tvcmsblog-wrapper,
body .tvcmsblogdisplayposts-wrapper {
  background: transparent !important;
  padding: 56px 0 !important;
}

body .tvcmsblogdisplayposts-wrapper .blog-title,
body .tvcmsblog .blog-title,
body .tvcms-blog-title {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  margin-top: 14px;
  line-height: 1.25 !important;
}

body .tvcmsblogdisplayposts-wrapper .blog-meta,
body .tvcms-blog-meta,
body .blog-author,
body .blog-date {
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: var(--li-tr-wider) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
}

body .tvcmsblogdisplayposts-wrapper .blog-desc,
body .tvcms-blog-desc {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--li-ink-2) !important;
  line-height: 1.55 !important;
}

body .tvcmsblogdisplayposts-wrapper .read-more,
body .tvcms-blog-readmore {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}


/* ============================================================================
   25 — CUSTOMER / ACCOUNT / AUTH PAGES
   ============================================================================ */
body #authentication,
body #registration,
body #identity,
body #my-account,
body #order-detail,
body #addresses,
body #address,
body #password,
body #history {
  background: var(--li-paper) !important;
}

body .form-title h1,
body .page-header h1,
body #authentication h1,
body #registration h1 {
  font-family: var(--li-font-display) !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  text-align: left;
  margin: 24px 0 32px !important;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--li-line-soft);
  text-transform: none !important;
}

body .login-form,
body .register-form,
body .form-fields,
body #content.page-content {
  background: var(--li-paper) !important;
  padding: 32px !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body .no-account a,
body .forgot-password a,
body .lost_password a {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--li-ink) !important;
  border-bottom: 1px solid var(--li-line);
  padding-bottom: 1px;
  transition: color var(--li-fast) ease, border-color var(--li-fast) ease !important;
}

body .no-account a:hover,
body .forgot-password a:hover {
  color: var(--li-accent) !important;
  border-bottom-color: var(--li-accent);
}

/* My Account dashboard tiles */
body #my-account .links,
body #my-account .links a,
body .my-account-links a,
body #my-account .link-item {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 28px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  text-align: center;
  transition: border-color var(--li-fast) ease, color var(--li-fast) ease !important;
}

body #my-account .links a:hover,
body .my-account-links a:hover {
  border-color: var(--li-ink) !important;
  color: var(--li-accent) !important;
}

body #my-account .links a svg,
body #my-account .links a i.material-icons {
  font-size: 32px !important;
  color: var(--li-ink) !important;
  width: 32px;
  height: 32px;
}

/* Order history table */
body .order-history table,
body #history table,
body .table {
  background: var(--li-paper) !important;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

body .order-history th,
body #history th,
body .table th {
  background: var(--li-paper-2) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: var(--li-tr-wider) !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  padding: 14px !important;
  border-bottom: 1px solid var(--li-line) !important;
  font-weight: 400 !important;
}

body .order-history td,
body #history td,
body .table td {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  color: var(--li-ink-2) !important;
  padding: 16px 14px !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
}


/* ============================================================================
   26 — CMS PAGES / 404 / EMPTY STATES
   ============================================================================ */
body #cms .cms-block,
body .cms-page,
body #content.page-cms {
  background: var(--li-paper) !important;
  padding: 32px !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

body #cms h1, body #cms h2, body #cms h3 {
  margin-top: 32px;
  margin-bottom: 14px;
}

body #cms p,
body .cms-page p {
  font-family: var(--li-font-serif) !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: var(--li-ink-2) !important;
}

body #cms a,
body .cms-page a {
  color: var(--li-accent) !important;
  border-bottom: 1px solid currentColor;
}

/* 404 / empty cart */
body #pagenotfound .page-not-found,
body .page-not-found,
body #cart-empty {
  text-align: center;
  padding: 80px 24px !important;
  background: transparent !important;
}

body .page-not-found h4,
body .page-not-found h1,
body #cart-empty h4 {
  font-family: var(--li-font-display) !important;
  font-size: clamp(40px, 5vw, 64px) !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  margin: 0 0 18px !important;
  text-transform: none !important;
  letter-spacing: var(--li-tr-display) !important;
}

body .page-not-found p,
body #cart-empty p,
body .page-not-found .text-muted {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: var(--li-muted) !important;
  max-width: 540px;
  margin: 0 auto 32px !important;
}

body .page-not-found form input,
body .page-not-found form .search-widget input {
  max-width: 420px;
}

/* Contact form */
body #contact .contact-form,
body #contact-form,
body .contact-rich {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 32px !important;
  box-shadow: none !important;
}


/* ============================================================================
   27 — MOBILE: extensive responsive coverage
   ============================================================================ */

/* Tablets and below */
@media (max-width: 992px) {
  body #wrapper {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  body .container,
  body .container-fluid {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Section title sizes shrink */
  body .tvcmsmain-title-wrapper .tv-section-title,
  body .tvcms-main-title h2 {
    font-size: clamp(24px, 4.4vw, 34px) !important;
  }

  /* Brand strip becomes 3 cols */
  body #block-reassurance ul {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    padding: 0 16px !important;
  }

  /* Megamenu hidden, mobile menu takes over */
  body .tvcmsmegamenu-wrapper,
  body #_desktop_main_menu {
    display: none !important;
  }

  /* Footer columns stack */
  body .footer-container .row,
  body #footer .row {
    flex-direction: column;
  }
  body .footer-container,
  body #footer {
    padding: 56px 16px 24px !important;
    margin-top: 56px !important;
  }
  body .footer-container .links,
  body #footer .links {
    border-bottom: 1px solid var(--li-line-soft);
    padding-bottom: 16px;
    margin-bottom: 16px;
  }
  body .footer-container h3,
  body #footer h3 {
    margin-bottom: 14px !important;
  }
}

/* Phones */
@media (max-width: 768px) {

  /* Hide desktop header, show mobile */
  body .tvcmsdesktop-top-header-wrapper,
  body .tvcmsdesktop-top-second {
    display: none !important;
  }

  /* Mobile header touch target sizing */
  body .tvmobile-sliderbar-btn a {
    padding: 8px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
  }

  body .tvcmsmobile-cart-acount-text button,
  body .tvcmsmobile-cart-acount-text a {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  /* Slider info text shrinks */
  body .tvmain-slider-info {
    font-size: 14px !important;
  }
  body .tvmain-slider-btn .btn,
  body .tvmain-slider-button {
    padding: 12px 22px !important;
    font-size: 11px !important;
  }

  /* Product grid: 2 cols on mobile */
  body .product-miniature {
    margin-bottom: 28px !important;
  }
  body .product-miniature .tvproduct-name a,
  body .product-miniature .product-title h6 {
    font-size: 14px !important;
  }
  body .product-miniature .price {
    font-size: 12px !important;
  }

  /* Hover actions: always visible on mobile (no hover capability) */
  body .product-miniature .tvproduct-hover-btn {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    position: static !important;
    margin-top: 10px;
    gap: 6px;
  }
  body .product-miniature .tvproduct-hover-btn button,
  body .product-miniature .tvproduct-hover-btn a {
    height: 40px;
    background: var(--li-paper-2) !important;
    font-size: 10px !important;
    padding: 8px !important;
  }

  /* Product page */
  body #product h1 {
    font-size: 26px !important;
    margin: 4px 0 12px !important;
  }
  body #product .current-price {
    font-size: 22px !important;
  }
  body #product .add-to-cart {
    padding: 16px 22px !important;
    font-size: 12px !important;
  }
  body #product .product-thumbnails {
    margin-top: 12px;
  }

  /* Cart / checkout */
  body #cart .card-block,
  body .checkout-step {
    padding: 18px !important;
  }
  body .cart-summary {
    padding: 18px !important;
    margin-top: 24px;
  }
  body .cart-total .label,
  body .cart-total .value {
    font-size: 18px !important;
  }

  /* Forms: prevent iOS auto-zoom */
  body input[type="text"],
  body input[type="email"],
  body input[type="password"],
  body input[type="tel"],
  body input[type="number"],
  body input[type="search"],
  body select,
  body textarea {
    font-size: 16px !important;
  }

  /* Buttons full-width feeling on phones */
  body .btn,
  body button[type="submit"],
  body .btn-primary {
    padding: 14px 22px !important;
    font-size: 11px !important;
  }

  /* Reassurance: stack to single column */
  body #block-reassurance {
    padding: 32px 0 !important;
    margin: 32px 0 !important;
  }
  body #block-reassurance ul {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  body #block-reassurance .block-reassurance-item {
    padding: 14px;
    background: var(--li-paper) !important;
    border: 1px solid var(--li-line-soft) !important;
  }

  /* Section titles */
  body .tvcmsmain-title-wrapper,
  body .tvcms-main-title {
    margin-bottom: 28px !important;
  }

  /* Page title */
  body .page-header h1,
  body .page-title,
  body .form-title h1 {
    font-size: 28px !important;
    padding: 16px 0 8px !important;
    margin-bottom: 18px !important;
  }

  /* Forms cards on mobile */
  body .login-form,
  body .register-form,
  body .form-fields,
  body #content.page-content,
  body #contact-form,
  body .contact-rich {
    padding: 20px !important;
  }

  /* Footer typography */
  body .footer-container .links ul li a,
  body #footer .links ul li a {
    font-size: 15px !important;
  }

  /* Filter sidebar becomes accordion (PrestaShop default) — keep tidy */
  body #search_filters_wrapper,
  body #search_filter_controls {
    padding: 12px 0;
  }

  /* Breadcrumb compact */
  body .breadcrumb {
    padding: 12px 0 !important;
    font-size: 10px !important;
  }

  /* Pagination */
  body .pagination .page-list a {
    padding: 8px 12px !important;
    font-size: 11px !important;
    margin-right: 4px;
  }

  /* Quick-view modal */
  body .modal-content {
    margin: 12px;
  }
  body .modal-body {
    padding: 18px !important;
  }
}

/* Small phones (≤375px iPhone SE) */
@media (max-width: 480px) {
  body h1, body .h1 {
    font-size: 28px !important;
  }
  body .tvmain-slider-title {
    font-size: 26px !important;
  }
  body .tvcmsmain-title-wrapper .tv-section-title,
  body .tvcms-main-title h2 {
    font-size: 22px !important;
  }
  body .product-miniature {
    margin-bottom: 22px !important;
  }
}


/* ============================================================================
   33 — FOOTER UNIFY (all link columns same Cormorant italic + kill pink bar)
   ============================================================================ */

/* Every link in every footer column → Cormorant italic 16px, ink color */
body footer a,
body #footer a,
body .tvfooter a,
body .tvfooter-store-link a,
body .tvfooter-store-link-content a,
body footer .cms-page-link,
body footer .custom-page-link,
body footer .tvfooter-account a,
body footer .tvfooter-myaccount a,
body footer .tvfooter-our-company a,
body footer .tvfooter-categories a,
body footer .tvfooter-category a,
body footer ul li a,
body footer .links a,
body .tvcms-footer-wrapper a {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--li-ink) !important;
  text-decoration: none !important;
  line-height: 1.6 !important;
  padding: 4px 0 !important;
  display: inline-block !important;
  transition: color var(--li-fast) ease !important;
}
body footer a:hover,
body #footer a:hover,
body .tvfooter a:hover {
  color: var(--li-accent) !important;
}

/* The store info icons + text (location, email, phone) — same italic */
body .tvfooter-store-link,
body .tvfooter-store-link-content,
body .tvfooter-store-link span,
body .tvfooter-store-link-content span,
body footer .tvfooter-store-link p,
body footer .tvfooter-store-link-content p {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body footer .material-icons,
body .tvfooter .material-icons {
  font-size: 16px !important;
  color: var(--li-muted) !important;
  vertical-align: middle !important;
  margin-right: 8px !important;
}

/* Kill pink copyright bar — paper-2 with italic copy */
body .tvfooter-copy-payment-icon-wrapper,
body .tvfooter-copy-payment-icon-content,
body .tvfooter-copy-payment-icon-inner {
  background: var(--li-paper-2) !important;
  border-top: 1px solid var(--li-line) !important;
  padding: 18px 0 !important;
  margin: 0 !important;
}
body .tvfooter-copy-payment-icon-wrapper *,
body .tvcopylink,
body .tvcopylink a,
body .tvcopylink p {
  background: transparent !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: var(--li-ink-2) !important;
  margin: 0 !important;
  text-decoration: none !important;
  border: 0 !important;
}
body .tvcopylink a:hover,
body .tvcopylink:hover p {
  color: var(--li-accent) !important;
}


/* ============================================================================
   34 — DESIGNERS PRODUCTS CAROUSEL (let owl-carousel work, just style cards)
   ============================================================================ */

/* IMPORTANT: do NOT override owl-stage display:grid — it breaks the carousel.
   We only style the inner cards and arrows. */
body .la-designers .tvtabcategory-all-product-wrapper {
  position: relative !important;
  width: 100% !important;
  padding: 0 !important;
  margin-top: 48px !important;
}
body .la-designers .tvtabcategory-all-product-content-box,
body .la-designers .tvtabcategory-all-product-slider,
body .la-designers .owl-carousel,
body .la-designers .owl-stage-outer {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
/* Owl-stage stays as flex/transform — required for sliding */
body .la-designers .owl-stage {
  display: flex !important;
}
body .la-designers .owl-item {
  flex-shrink: 0 !important;
  padding: 0 12px !important;
  background: transparent !important;
}

/* Product card image — was 0×0 because tv-img-responsive + aspect-ratio fight */
body .la-designers .owl-item .product-miniature,
body .la-designers .owl-item .item.product-miniature {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  width: 100% !important;
}
body .la-designers .owl-item .thumbnail-container,
body .la-designers .owl-item .tvproduct-wrapper {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
body .la-designers .owl-item .tvproduct-image {
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  width: 100% !important;
  overflow: hidden !important;
  background: var(--li-paper-2) !important;
  position: relative !important;
  display: block !important;
}
body .la-designers .owl-item .tvproduct-image a,
body .la-designers .owl-item .tvproduct-image .thumbnail {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
}
body .la-designers .owl-item .tvproduct-image img,
body .la-designers .owl-item .tvproduct-defult-img,
body .la-designers .owl-item .tv-img-responsive {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  max-width: none !important;
}
body .la-designers .owl-item .tvproduct-info-box-wrapper {
  padding: 12px 0 0 !important;
  text-align: left !important;
}

/* Carousel arrows */
body .la-designers .owl-nav button.owl-prev,
body .la-designers .owl-nav button.owl-next,
body .la-designers .tvtabcategory-product-prev,
body .la-designers .tvtabcategory-product-next {
  width: 38px !important;
  height: 38px !important;
  display: inline-grid !important;
  place-items: center !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  margin: 24px 6px 0 !important;
  font-size: 0 !important;
  cursor: pointer !important;
  transition: all var(--li-normal) ease !important;
}
body .la-designers .owl-nav button:hover,
body .la-designers .tvtabcategory-product-prev:hover,
body .la-designers .tvtabcategory-product-next:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-ink) !important;
}
body .la-designers .owl-nav { text-align: center !important; }


/* ============================================================================
   31 — CART PAGE (full editorial restyle, kill dark overlay + floating dock)
   ============================================================================ */
body.page-cart,
body#cart {
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
}
body.page-cart #main,
body.page-cart #wrapper,
body.page-cart #content,
body#cart #main,
body#cart #wrapper,
body#cart #content {
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
}
/* Kill any leftover modal-backdrop / dark overlay on cart page */
body.page-cart .modal-backdrop,
body#cart .modal-backdrop,
body.page-cart .tvcms-dark-overlay,
body.page-cart [class*="dark-overlay"],
body.page-cart .cart-overlay {
  display: none !important;
}
/* Page header */
body.page-cart .page-header h1,
body#cart h1,
body.page-cart .cart-title {
  font-family: var(--li-font-display) !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  padding: 24px 0 18px !important;
  margin: 0 0 28px !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
}
/* Cart container layout */
body.page-cart .cart-grid {
  margin: 32px 0 64px !important;
}
body.page-cart .cart-grid-body,
body.page-cart .cart-grid-right {
  background: var(--li-paper) !important;
}
/* Cart card (overview + summary) */
body.page-cart .cart-grid-body .card,
body.page-cart .cart-grid-right .card,
body.page-cart .cart-summary {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.page-cart .cart-overview,
body.page-cart .card-block {
  padding: 24px !important;
}
/* Empty cart message */
body.page-cart .no-items,
body.page-cart .cart-empty-message {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--li-muted) !important;
  padding: 32px 0 !important;
  text-align: left !important;
  background: transparent !important;
}
/* Continue shopping + Checkout buttons */
body.page-cart .continue,
body.page-cart .continue.btn,
body.page-cart a.continue,
body.page-cart .cart-summary .btn-primary,
body.page-cart a.checkout,
body.page-cart .checkout .btn-primary,
body#cart .btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 28px !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  border: 1px solid var(--li-ink) !important;
  background: transparent !important;
  color: var(--li-ink) !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
body.page-cart .cart-summary .btn-primary,
body.page-cart a.checkout,
body.page-cart .checkout .btn-primary,
body#cart .checkout-button,
body#cart .btn-primary.checkout {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  width: 100% !important;
  justify-content: center !important;
}
body.page-cart .cart-summary .btn-primary:hover,
body.page-cart a.checkout:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}
body.page-cart .continue:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
}
/* Disabled Checkout (cart empty) — filled ink, muted opacity */
body.page-cart .tvall-inner-btn-cancel,
body.page-cart .tvall-inner-btn-cancel.disabled,
body.page-cart .checkout .tvall-inner-btn-cancel,
body.page-cart .cart-summary .tvall-inner-btn-cancel,
body.page-cart a.tvall-inner-btn-cancel,
body#cart .tvall-inner-btn-cancel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: 14px 28px !important;
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-ink) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  opacity: 0.5 !important;
  cursor: not-allowed !important;
  text-decoration: none !important;
  pointer-events: none !important;
}
body.page-cart .tvall-inner-btn-cancel *,
body#cart .tvall-inner-btn-cancel * {
  color: var(--li-paper) !important;
  font-family: inherit !important;
}
/* Cart summary lines */
body.page-cart .cart-summary-line,
body.page-cart .cart-summary-subtotals-container .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  color: var(--li-ink) !important;
}
body.page-cart .cart-summary-line .label {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  background: transparent !important;
}
body.page-cart .cart-summary-line .value {
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
}
body.page-cart .cart-total .label,
body.page-cart .cart-total .value,
body.page-cart .cart-summary-totals .label,
body.page-cart .cart-summary-totals .value {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--li-ink) !important;
}
/* Security / Delivery policy boxes */
body.page-cart .block-promo,
body.page-cart .promo-discounts,
body.page-cart .tvcmscart-reassurance,
body.page-cart .cart-grid-right .reassurance,
body.page-cart .cart-grid-right .block-reassurance {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line-soft) !important;
  border-radius: 0 !important;
  padding: 16px !important;
  margin-top: 16px !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: var(--li-ink-2) !important;
  box-shadow: none !important;
}
/* Breadcrumb on cart */
body.page-cart .breadcrumb {
  background: transparent !important;
  padding: 16px 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
}
body.page-cart .breadcrumb a {
  color: var(--li-muted) !important;
}
body.page-cart .breadcrumb a:hover {
  color: var(--li-accent) !important;
}

/* Hide empty product-grid shimmer skeletons that never get filled */
body .shimmercard-container,
body .shimmerproduct,
body .shimmercard:empty,
body .tvcmsspecial-product .shimmercard-container,
body .tvcmsfeaturedproducts .shimmercard-container,
body .tvcmsnewproducts .shimmercard-container,
body .tvcmsbestsellerproducts .shimmercard-container,
body .tvcmstabproducts .shimmercard-container,
body .tvcmstab-title-product .shimmercard-container,
body .tvcmsspecial-product:not(:has(.product-miniature)),
body .tvcmsfeatured-product:not(:has(.product-miniature)),
body .tvcms-product-wrapper:empty {
  display: none !important;
}

/* Hide right floating sidebar dock (vertical icon stack on the page edge) */
body .tvcmsright-sticky,
body .tvcms-right-fixed-sidebar,
body .tvcms-floating-bar,
body .tvcms-right-sticky-icon,
body .tvcmsfixedright,
body .tvcmscart-fixedright,
body .tvcmsfixed-right-side,
body .tv-fixed-right-icons,
body .tv-side-fixed-bar,
body .tvcmsfixedrightside,
body #tv-side-fixed-bar,
body .tv-floating-icons {
  display: none !important;
}
/* Continue shopping = ghost outline (not filled ink) */
body.page-cart .continue,
body.page-cart a.continue,
body.page-cart .cart-actions .continue {
  background: transparent !important;
  color: var(--li-ink) !important;
  border: 1px solid var(--li-ink) !important;
}
body.page-cart .continue:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
}


/* ============================================================================
   32 — BLOCKCART ADD-TO-CART MODAL (#blockcart-modal)
   Editorial: paper card, hairline border, Italiana title, ink/accent CTAs
   ============================================================================ */
body #blockcart-modal,
body .blockcart-modal {
  z-index: 9999 !important;
}
body #blockcart-modal .modal-dialog {
  max-width: 920px !important;
}
body #blockcart-modal .modal-content {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 24px 60px rgba(28, 26, 23, 0.18) !important;
}
body #blockcart-modal .modal-header {
  background: var(--li-paper-2) !important;
  border-bottom: 1px solid var(--li-line) !important;
  padding: 22px 28px !important;
}
body #blockcart-modal .modal-title,
body #blockcart-modal #myModalLabel {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
}
body #blockcart-modal .modal-title i,
body #blockcart-modal .material-icons {
  color: var(--li-accent) !important;
  font-size: 22px !important;
  margin-right: 8px !important;
  vertical-align: middle !important;
}
body #blockcart-modal .modal-body {
  padding: 32px !important;
}
body #blockcart-modal .product-name {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 18px !important;
  color: var(--li-ink) !important;
  margin: 0 0 10px !important;
}
body #blockcart-modal .product-price,
body #blockcart-modal .price {
  font-family: var(--li-font-sans) !important;
  font-size: 16px !important;
  color: var(--li-ink) !important;
  font-weight: 500 !important;
}
body #blockcart-modal .product-image img,
body #blockcart-modal .product-cover img {
  border-radius: 0 !important;
  border: 1px solid var(--li-line-soft) !important;
}
body #blockcart-modal .cart-content {
  background: var(--li-paper-2) !important;
  padding: 18px !important;
  margin-top: 16px !important;
  border-radius: 0 !important;
}
body #blockcart-modal .cart-content p {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  color: var(--li-ink-2) !important;
  margin: 0 0 6px !important;
  display: flex !important;
  justify-content: space-between !important;
}
body #blockcart-modal .modal-footer {
  background: transparent !important;
  border-top: 1px solid var(--li-line-soft) !important;
  padding: 18px 28px !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: flex-end !important;
}
/* ALL action buttons in blockcart modal — Continue shopping + Proceed to checkout.
   ThemeVolty uses .tvall-inner-btn here (not .btn), so we target both. */
body #blockcart-modal .tvall-inner-btn,
body #blockcart-modal button.tvall-inner-btn,
body #blockcart-modal a.tvall-inner-btn,
body .tv-addtocart-msg-wrapper .tvall-inner-btn,
body .tv-addtocart-msg-wrapper button.tvall-inner-btn,
body .tv-addtocart-msg-wrapper a.tvall-inner-btn,
body #blockcart-modal .cart-content-btn .tvall-inner-btn,
body #blockcart-modal .cart-content-btn button,
body #blockcart-modal .cart-content-btn a,
body #blockcart-modal .modal-footer .btn,
body #blockcart-modal .btn,
body #blockcart-modal a.btn,
body #blockcart-modal .modal-footer a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 14px 26px !important;
  border-radius: 0 !important;
  border: 1px solid var(--li-ink) !important;
  background: var(--li-ink) !important;
  background-color: var(--li-ink) !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  min-width: 0 !important;
}
body #blockcart-modal .tvall-inner-btn *,
body #blockcart-modal .cart-content-btn *,
body .tv-addtocart-msg-wrapper .tvall-inner-btn *,
body #blockcart-modal .tvall-inner-btn span,
body #blockcart-modal .tvall-inner-btn i {
  color: var(--li-paper) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}
body #blockcart-modal .tvall-inner-btn i.material-icons {
  font-size: 16px !important;
  margin-right: 4px !important;
}
body #blockcart-modal .tvall-inner-btn:hover,
body #blockcart-modal .tvall-inner-btn:hover *,
body .tv-addtocart-msg-wrapper .tvall-inner-btn:hover,
body #blockcart-modal .btn:hover,
body #blockcart-modal a.btn:hover {
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}

/* The cart-content-btn container is a horizontal flex row of the 2 buttons */
body #blockcart-modal .cart-content-btn,
body .tv-addtocart-msg-wrapper .cart-content-btn {
  display: flex !important;
  gap: 10px !important;
  margin-top: 16px !important;
  flex-wrap: wrap !important;
}
body #blockcart-modal .cart-content-btn > * {
  flex: 1 1 auto !important;
}

/* The CLOSE X button — multiple class variants (.close, .tv-addtocart-close) */
body #blockcart-modal .close,
body #blockcart-modal .tv-addtocart-close,
body #blockcart-modal button.close,
body #blockcart-modal button.tv-addtocart-close,
body .tv-addtocart-msg-wrapper .close,
body .tv-addtocart-msg-wrapper .tv-addtocart-close,
body .tv-addtocart-msg-wrapper button.close,
body #blockcart-modal .modal-header .close,
body #blockcart-modal .modal-header button {
  position: absolute !important;
  top: 14px !important;
  right: 18px !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--li-ink) !important;
  font-size: 32px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  opacity: 1 !important;
  text-shadow: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  z-index: 100 !important;
}
body #blockcart-modal .close span,
body #blockcart-modal .tv-addtocart-close span,
body #blockcart-modal button.close span,
body .tv-addtocart-msg-wrapper .close span,
body .tv-addtocart-msg-wrapper .tv-addtocart-close span {
  color: var(--li-ink) !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  display: inline-block !important;
}
body #blockcart-modal .close:hover,
body #blockcart-modal .close:hover span,
body #blockcart-modal .tv-addtocart-close:hover,
body #blockcart-modal .tv-addtocart-close:hover span,
body .tv-addtocart-msg-wrapper .close:hover {
  color: var(--li-accent) !important;
  background: transparent !important;
  border: 0 !important;
}

/* Modal title with the green check */
body #blockcart-modal .modal-title,
body .tv-addtocart-msg-wrapper .modal-title {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  letter-spacing: var(--li-tr-display) !important;
  text-transform: none !important;
  padding-right: 60px !important; /* leave room for X */
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
body #blockcart-modal .modal-title i.material-icons,
body .tv-addtocart-msg-wrapper .modal-title i.material-icons {
  color: var(--li-accent) !important;
  font-size: 22px !important;
}

/* Allow the modal to show when only .in class is present (no .show) */
body #blockcart-modal.in,
body .tv-addtocart-msg-wrapper.in,
body .modal.in {
  display: block !important;
  opacity: 1 !important;
}
body .modal.in ~ .modal-backdrop,
body .modal.in + .modal-backdrop {
  display: block !important;
  background-color: var(--li-ink) !important;
  opacity: 0.45 !important;
}

/* Modal body & content background = beige paper-2 (not pure white) */
body #blockcart-modal .modal-content {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line) !important;
}
body #blockcart-modal .modal-header {
  background: var(--li-paper-2) !important;
  border-bottom: 1px solid var(--li-line) !important;
  padding-right: 60px !important; /* room for the X */
  position: relative !important;
}
body #blockcart-modal .modal-body {
  background: var(--li-paper-2) !important;
}
body #blockcart-modal .modal-footer {
  background: var(--li-paper-2) !important;
}
/* Inner accent card (cart-content summary) keeps the deeper sand for contrast */
body #blockcart-modal .cart-content {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line-soft) !important;
}


/* ============================================================================
   30 — ALL POPUPS, DROPDOWNS, MODALS (editorial styling for every popover)
   Covers: mega-menu submenus, account/cart/wishlist dropdowns, quick-view
   modal, newsletter popup, cookies notice, search suggestions, product
   compare popup, alerts. One consistent visual language for everything that
   "pops out".
   ============================================================================ */

/* --- MEGA MENU DROPDOWNS (.menu-dropdown.cat-drop-menu) --- */
body .tv-menu-horizontal li ul.menu-dropdown,
body .tv-menu-horizontal li .menu-dropdown.cat-drop-menu,
body .tv-menu-horizontal li .tv-sub-auto,
body .menu-content li ul.menu-dropdown {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  min-width: 220px !important;
  max-width: 320px !important;
  margin: 0 !important;
  padding: 18px 0 !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.10) !important;
  list-style: none !important;
  display: none !important;
  z-index: 1000 !important;
  flex-direction: column !important;
  gap: 0 !important;
}
body .tv-menu-horizontal li:hover > ul.menu-dropdown,
body .tv-menu-horizontal li:hover > .menu-dropdown,
body .tv-menu-horizontal li.tv-menu-open > ul.menu-dropdown,
body .tv-menu-horizontal li ul.menu-dropdown.tv-display {
  display: flex !important;
}

/* Items inside dropdown */
body .tv-menu-horizontal li ul.menu-dropdown li,
body .menu-dropdown.cat-drop-menu li {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  list-style: none !important;
  text-align: left !important;
}
body .tv-menu-horizontal li ul.menu-dropdown li a,
body .menu-dropdown.cat-drop-menu li a {
  display: block !important;
  padding: 9px 24px !important;
  margin: 0 !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--li-ink) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color var(--li-fast) ease, padding-left var(--li-fast) ease !important;
}
body .tv-menu-horizontal li ul.menu-dropdown li a span,
body .menu-dropdown.cat-drop-menu li a span {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
  font-style: inherit !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body .tv-menu-horizontal li ul.menu-dropdown li a:hover,
body .menu-dropdown.cat-drop-menu li a:hover {
  color: var(--li-accent) !important;
  padding-left: 30px !important;
  background: transparent !important;
}

/* Nested third-level submenus */
body .menu-dropdown li ul {
  position: static !important;
  transform: none !important;
  box-shadow: none !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 0 0 16px !important;
  margin: 4px 0 !important;
}

/* Kill any pre-existing arrow / mobile drop icons inside dropdowns */
body .menu-dropdown .icon-drop-mobile,
body .menu-dropdown .material-icons {
  display: none !important;
}

/* The little chevron next to top-level menu items */
body .tv-menu-horizontal > .menu-content > li > .icon-drop-mobile {
  display: none !important;
}


/* --- ACCOUNT / WISHLIST / CART DROPDOWNS — same language as mega-menu --- */
body .tv-account-dropdown,
body .tv-dropdown,
body .tv-language-dropdown,
body .tvcmsuserwishlist .dropdown-menu,
body .tvcmscart-content-box .dropdown-menu,
body .blockcart .dropdown-menu,
body .tvcmsmywishlist-content .dropdown-menu,
body .header-nav .dropdown-menu,
body ul.tv-dropdown,
body .tvcms-currency-dropdown {
  position: absolute !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.10) !important;
  padding: 18px 0 !important;
  margin: 10px 0 0 !important;
  min-width: 240px !important;
  max-width: 300px !important;
  z-index: 999 !important;
  list-style: none !important;
}

/* List items — clean, no backgrounds, no borders */
body .tv-dropdown li,
body .tv-account-dropdown li,
body .tv-language-dropdown li,
body .blockcart .dropdown-menu li {
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
  display: block !important;
  width: 100% !important;
}

/* The clickable element — links, buttons, divs containing href — all editorial italic */
body .tv-dropdown li a,
body .tv-dropdown li > div > a,
body .tv-account-dropdown li a,
body .tv-account-dropdown li > div > a,
body .tv-account-dropdown a,
body .tv-language-dropdown li a,
body .tv-account-dropdown .tvhedaer-sign-btn,
body .tv-account-dropdown .wishtlist_top,
body .tv-account-dropdown .compare-btn,
body .tv-account-dropdown .tv-language-btn,
body .blockcart .dropdown-menu a,
body #tvcmsdesktop-user-info > a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 9px 24px !important;
  margin: 0 !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--li-ink) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  transition: color var(--li-fast) ease, padding-left var(--li-fast) ease !important;
  width: 100% !important;
  text-align: left !important;
  justify-content: flex-start !important;
}

/* The text span inside */
body .tv-account-dropdown a span,
body .tv-account-dropdown .tvhedaer-sign-span,
body .tv-language-dropdown li a span,
body .tv-dropdown li a span {
  font-family: inherit !important;
  font-style: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  color: inherit !important;
}

/* Hover effect — match mega menu (color shift + slide right) */
body .tv-dropdown li a:hover,
body .tv-dropdown li a:hover span,
body .tv-account-dropdown li a:hover,
body .tv-account-dropdown li a:hover span,
body .tv-account-dropdown a:hover,
body .tv-language-dropdown li a:hover,
body .tv-account-dropdown .tvhedaer-sign-btn:hover,
body .blockcart .dropdown-menu a:hover {
  color: var(--li-accent) !important;
  padding-left: 30px !important;
  background: transparent !important;
}

/* Material icons inside dropdown — smaller, muted */
body .tv-dropdown li a i.material-icons,
body .tv-account-dropdown li a i.material-icons,
body .tv-account-dropdown a i.material-icons,
body .tv-account-dropdown i.material-icons {
  font-size: 15px !important;
  color: var(--li-muted) !important;
  width: 16px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}

/* Inner SVG icons (replacement icons we may add) */
body .tv-account-dropdown svg,
body .tv-dropdown svg {
  width: 14px !important;
  height: 14px !important;
  stroke: var(--li-muted) !important;
  stroke-width: 1.5 !important;
  fill: none !important;
  flex-shrink: 0 !important;
}
body .tv-account-dropdown li a:hover svg,
body .tv-account-dropdown a:hover svg {
  stroke: var(--li-accent) !important;
}

/* Language flags — tiny, no border */
body .tv-language-dropdown img.lang-flag,
body .tv-account-dropdown img.lang-flag,
body .tv-account-dropdown img.lang-flag-img {
  width: 16px !important;
  height: 11px !important;
  border: 0 !important;
  border-radius: 0 !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* The "current language" trigger row inside account (English ⌄) — same italic style */
body .tv-account-dropdown .tvcms-language-selector,
body .tv-account-dropdown .tvheader-language,
body .tv-account-dropdown .tvcmscurrentlanguageselector {
  padding: 9px 24px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--li-ink) !important;
}

/* Divider rule between sections in account dropdown */
body .tv-account-dropdown li.tvcms-divider,
body .tv-account-dropdown hr {
  border-top: 1px solid var(--li-line-soft) !important;
  margin: 8px 24px !important;
  padding: 0 !important;
  height: 0 !important;
}

/* Counter badges in dropdown items (Wishlist (0), Compare (0)) */
body .tv-account-dropdown .wishlist-count,
body .tv-account-dropdown .compare-count,
body .tv-dropdown .count {
  font-family: var(--li-font-sans) !important;
  font-style: normal !important;
  font-size: 11px !important;
  color: var(--li-muted) !important;
  margin-left: auto !important;
  letter-spacing: 0 !important;
}


/* --- CART DROPDOWN — same italic language --- */
body .tvcmscart-show-dropdown-right *,
body .blockcart .cart-block-content *,
body .blockcart-block * {
  font-family: var(--li-font-serif) !important;
}

body .tvcmscart-show-dropdown-right .cart-line,
body .tvcmscart-show-dropdown-right .cart-item,
body .blockcart .cart-block-content .cart-item,
body .blockcart-block .cart-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  margin: 0 !important;
  background: transparent !important;
}
body .tvcmscart-show-dropdown-right .cart-item:last-child,
body .blockcart .cart-block-content .cart-item:last-child {
  border-bottom: 0 !important;
}
body .tvcmscart-show-dropdown-right .product-name,
body .tvcmscart-show-dropdown-right .product-title,
body .blockcart .product-name {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--li-ink) !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body .tvcmscart-show-dropdown-right .product-price,
body .tvcmscart-show-dropdown-right .price,
body .blockcart .product-price,
body .blockcart .price {
  font-family: var(--li-font-sans) !important;
  font-style: normal !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
  letter-spacing: 0 !important;
}
body .tvcmscart-show-dropdown-right .quantity,
body .blockcart .quantity {
  font-family: var(--li-font-sans) !important;
  font-style: normal !important;
  font-size: 11px !important;
  color: var(--li-muted) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}
body .tvcmscart-show-dropdown-right .cart-subtotals,
body .tvcmscart-show-dropdown-right .cart-totals,
body .blockcart .cart-subtotals,
body .blockcart .cart-totals {
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--li-line) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  font-family: var(--li-font-display) !important;
  font-style: normal !important;
  font-size: 18px !important;
  color: var(--li-ink) !important;
}
/* Cart action buttons */
body .tvcmscart-show-dropdown-right .btn,
body .blockcart .btn,
body .blockcart-block .btn,
body .tvcmscart-show-dropdown-right a.checkout,
body .tvcmscart-show-dropdown-right a.view-cart {
  display: block !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding: 12px 22px !important;
  border-radius: 0 !important;
  border: 1px solid var(--li-ink) !important;
  background: transparent !important;
  color: var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-style: normal !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  text-decoration: none !important;
}
body .tvcmscart-show-dropdown-right a.checkout,
body .blockcart-block .btn.checkout,
body .blockcart .btn.btn-primary {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
}
body .tvcmscart-show-dropdown-right a.checkout:hover,
body .blockcart .btn.btn-primary:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
}

/* Empty cart pill */
body .tvcmscart-show-dropdown-right .empty,
body .blockcart .no-items,
body .blockcart-block .empty {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--li-muted) !important;
  text-align: center !important;
  padding: 32px 12px !important;
  display: block !important;
}


/* --- CART DRAWER / MINI CART --- */
body .tvcmscart-show-dropdown-right,
body .tvcms-mini-cart-wrapper,
body .blockcart .cart-block-content,
body .blockcart-block,
body .tvmini-cart-wrapper {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.10) !important;
  padding: 22px !important;
  min-width: 360px !important;
  max-width: 420px !important;
  z-index: 999 !important;
}
body .tvcmscart-show-dropdown-right *,
body .tvmini-cart-wrapper * {
  font-family: var(--li-font-sans) !important;
}
body .tvcmscart-show-dropdown-right .cart-title,
body .tvmini-cart-wrapper .cart-title,
body .blockcart-block .cart-title {
  font-family: var(--li-font-display) !important;
  font-size: 20px !important;
  color: var(--li-ink) !important;
  margin: 0 0 14px !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
}
/* Empty cart message */
body .tvcmscart-show-dropdown-right .empty,
body .tvmini-cart-wrapper .empty,
body .blockcart .no-items,
body .cart-block-content:empty::before {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  color: var(--li-muted) !important;
  text-align: center !important;
  padding: 28px 0 !important;
  font-size: 15px !important;
  display: block !important;
}
/* Hide stray empty boxes / placeholder rectangles in cart drawer */
body .tvcmscart-show-dropdown-right > img:first-child,
body .tvcmscart-show-dropdown-right .empty-cart-image,
body .tvmini-cart-wrapper > img:first-child,
body .tvmini-cart-wrapper .empty-cart-image,
body .blockcart .empty-cart-image,
body .blockcart-block > img:first-child,
body .cart-block-content > img:first-child,
body .cart-block-content > div:empty,
body .tvcmscart-show-dropdown-right > div:empty,
body .blockcart .placeholder-image {
  display: none !important;
}


/* --- QUICK VIEW MODAL --- */
body .quickview,
body .modal.quickview,
body #blockcart-modal,
body #product-availability-modal,
body .modal {
  z-index: 9999 !important;
}
body .quickview .modal-dialog,
body #blockcart-modal .modal-dialog,
body .modal-dialog {
  max-width: 980px !important;
}
body .modal-content {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 24px 60px rgba(28, 26, 23, 0.18) !important;
  padding: 0 !important;
}
body .modal-header {
  background: transparent !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 22px 28px !important;
}
body .modal-header .modal-title,
body .modal-title {
  font-family: var(--li-font-display) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  letter-spacing: var(--li-tr-display) !important;
  margin: 0 !important;
  text-transform: none !important;
}
body .modal-header .close,
body .modal-header .btn-close,
body .quickview .close,
body button.close {
  font-size: 24px !important;
  font-weight: 300 !important;
  color: var(--li-ink) !important;
  opacity: 0.8 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  transition: opacity var(--li-fast) ease, color var(--li-fast) ease !important;
}
body .modal-header .close:hover { opacity: 1 !important; color: var(--li-accent) !important; }
body .modal-body {
  padding: 28px !important;
  background: var(--li-paper) !important;
}
body .modal-footer {
  background: transparent !important;
  border-top: 1px solid var(--li-line-soft) !important;
  padding: 18px 28px !important;
}
/* CRITICAL: only show modal-backdrop when an actual modal is open.
   Otherwise stuck backdrops dim the whole site (Sentez/themevolty bug). */
body .modal-backdrop {
  display: none !important;
}
body .modal-backdrop.show,
body .modal-backdrop.in,
body .modal.show ~ .modal-backdrop,
body .modal.in ~ .modal-backdrop {
  display: block !important;
  background-color: var(--li-ink) !important;
  opacity: 0.45 !important;
}
/* The .tv-main-div wrapper sometimes ships with grey #F6F6F6 background */
body .tv-main-div,
body main > .tv-main-div,
body .tv-main-div > div,
body main,
body #wrapper,
body #wrapper > div,
body #main,
body #content,
body #content.page-home,
body section#content {
  background: var(--li-paper) !important;
}
/* Final safety net — anything sitting above the footer should be paper */
body main > *,
body .tv-main-div > * {
  background-color: transparent;
}
body main > [style*="background"]:not(footer):not(.la-services):not(.la-designers):not(#footer):not(.newsletter):not(.tvcms-newsletter-wrapper) {
  background-color: var(--li-paper) !important;
}

/* Quick view product card inside modal */
body .quickview .product-cover img,
body .quickview .product-image img {
  border-radius: 0 !important;
}
body .quickview .product-name,
body .quickview .product-detail-name,
body .quickview h1 {
  font-family: var(--li-font-display) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  color: var(--li-ink) !important;
  margin: 0 0 14px !important;
}


/* --- NEWSLETTER POPUP --- */
body #tvcmsnewsletterpopup,
body .tvcmsnewsletterpopup-popup,
body #tvcmsnewsletterpopup .modal-content,
body .tv-newsletter-popup,
body .tv-popup {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: 0 32px 64px rgba(28, 26, 23, 0.25) !important;
}
body #tvcmsnewsletterpopup .modal-body,
body .tvcmsnewsletterpopup-popup .body {
  padding: 56px 48px !important;
  text-align: center !important;
  background: var(--li-paper) !important;
}
body #tvcmsnewsletterpopup h1,
body #tvcmsnewsletterpopup h2,
body #tvcmsnewsletterpopup .title,
body .tvcmsnewsletterpopup-popup .title {
  font-family: var(--li-font-display) !important;
  font-size: 34px !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  color: var(--li-ink) !important;
  margin: 0 0 16px !important;
  text-transform: none !important;
}
body #tvcmsnewsletterpopup p,
body .tvcmsnewsletterpopup-popup p {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 17px !important;
  color: var(--li-muted) !important;
  max-width: 420px !important;
  margin: 0 auto 28px !important;
  line-height: 1.55 !important;
}
body #tvcmsnewsletterpopup input[type="email"],
body .tvcmsnewsletterpopup-popup input[type="email"] {
  border: 0 !important;
  border-bottom: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  padding: 12px 0 !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 340px !important;
  margin: 0 auto 18px !important;
  display: block !important;
}


/* --- COOKIES NOTICE --- */
body #tvcmscookiesnotice,
body .tvcms-cookies-notice,
body .tvcmscookiesnotice {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  padding: 18px 28px !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  box-shadow: 0 -8px 24px rgba(28, 26, 23, 0.18) !important;
  border-radius: 0 !important;
  z-index: 9000 !important;
}
body #tvcmscookiesnotice *,
body .tvcms-cookies-notice * {
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
}
body #tvcmscookiesnotice p,
body .tvcms-cookies-notice p {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: rgba(251, 247, 241, 0.85) !important;
  margin: 0 !important;
}
body #tvcmscookiesnotice .btn,
body .tvcms-cookies-notice .btn,
body #tvcmscookiesnotice button,
body .tvcms-cookies-notice button {
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  border: 1px solid var(--li-paper) !important;
  border-radius: 0 !important;
  padding: 10px 22px !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}
body #tvcmscookiesnotice .btn:hover,
body .tvcms-cookies-notice .btn:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}


/* --- SEARCH SUGGESTIONS DROPDOWN --- */
body .ui-autocomplete,
body .tvcmssearch-result,
body .tvcms-search-result,
body .ac_results {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.10) !important;
  padding: 8px 0 !important;
  list-style: none !important;
  z-index: 999 !important;
}
body .ui-autocomplete li,
body .tvcmssearch-result li,
body .ac_results li {
  padding: 10px 18px !important;
  margin: 0 !important;
  background: transparent !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
  cursor: pointer !important;
  border: 0 !important;
  list-style: none !important;
}
body .ui-autocomplete li:hover,
body .tvcmssearch-result li:hover,
body .ac_results li.ac_over {
  background: var(--li-paper-2) !important;
  color: var(--li-accent) !important;
}


/* --- PRODUCT COMPARE / WISHLIST POPUPS --- */
body .tvcmsproductcompare-popup,
body .tv-compare-popup,
body .wishlist-popup {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.10) !important;
  padding: 18px !important;
}


/* --- ALERTS / TOASTS --- */
body .alert,
body .alert-success,
body .alert-warning,
body .alert-danger,
body .alert-info,
body .ps-alert-success,
body .ps-alert-error,
body .ps-alert-warning {
  border-radius: 0 !important;
  border: 1px solid var(--li-line) !important;
  border-left: 3px solid var(--li-accent) !important;
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  padding: 14px 18px !important;
  box-shadow: 0 8px 24px rgba(28, 26, 23, 0.08) !important;
}
body .alert-success { border-left-color: #6B8E5A !important; }
body .alert-danger,
body .ps-alert-error { border-left-color: #B85450 !important; }
body .alert-warning { border-left-color: var(--li-gold) !important; }


/* --- TOOLTIPS --- */
body .tooltip,
body .tvtooltip,
body .ui-tooltip {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 6px 10px !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.18) !important;
}
body .tooltip .arrow,
body .tooltip .tooltip-arrow {
  color: var(--li-ink) !important;
}


/* ============================================================================
   33 — TVCMSCART CLOSE BUTTON (.ttvclose-cart) + TVHEADER TOP SEARCH
   The cart drawer's close X uses a sprite-png that's barely visible.
   Replace with clean SVG mask. Plus restyle .tvheader-top-search,
   .tvheader-search-btn for mobile header in editorial language.
   ============================================================================ */

/* --- Cart drawer close X (.ttvclose-cart) — replace sprite with SVG mask --- */
body .ttvclose-cart,
body button.ttvclose-cart,
body .ttvcmscart-show-dropdown-right .ttvclose-cart {
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  color: var(--li-ink) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
body .ttvclose-cart::before,
body button.ttvclose-cart::before {
  content: "" !important;
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  background-color: var(--li-ink) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 6 6 18M6 6l12 12'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  transition: background-color var(--li-fast) ease !important;
}
body .ttvclose-cart:hover::before {
  background-color: var(--li-accent) !important;
}

/* The shopping cart drawer header (with the close button) */
body .ttvcart-close-title-count,
body .tdclose-btn-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 14px 18px !important;
  background: var(--li-paper-2) !important;
  border-bottom: 1px solid var(--li-line) !important;
}
body .ttvcart-top-title h4 {
  font-family: var(--li-font-display) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  text-transform: none !important;
}


/* --- Mobile/desktop top search (.tvheader-top-search) — editorial paper input --- */
body .tvheader-top-search,
body .tvheader-top-search-wrapper,
body .tvcmstop-search-content,
body .tvcms-top-search-dropdown,
body .tvcmssearch-dropdown {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body .tvheader-top-search input,
body .tvheader-top-search-wrapper input,
body .tvheader-top-search input[type="text"],
body .tvheader-top-search input[type="search"],
body .tvheader-top-search .form-control {
  border: 0 !important;
  background: transparent !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
  padding: 12px 44px 12px 14px !important;
  width: 100% !important;
  height: auto !important;
  outline: none !important;
  box-shadow: none !important;
}
body .tvheader-top-search input::placeholder,
body .tvheader-top-search-wrapper input::placeholder {
  color: var(--li-muted) !important;
  font-style: italic !important;
  font-family: var(--li-font-serif) !important;
}

/* --- The submit button next to the input (.tvheader-search-btn) --- */
body .tvheader-search-btn,
body button.tvheader-search-btn,
body .tvheader-top-search .tvheader-search-btn,
body .tvheader-top-search button[type="submit"],
body .tvheader-top-search-wrapper button[type="submit"] {
  position: absolute !important;
  right: 6px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--li-ink) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  letter-spacing: normal !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
body .tvheader-search-btn::before,
body button.tvheader-search-btn::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background-color: var(--li-ink) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  transition: background-color var(--li-fast) ease !important;
}
body .tvheader-search-btn:hover::before {
  background-color: var(--li-accent) !important;
}
/* Hide any sprite/icon image that was inside the button */
body .tvheader-search-btn > *,
body .tvheader-search-btn img,
body .tvheader-search-btn i,
body .tvheader-search-btn svg {
  display: none !important;
}

/* Make the wrapper position:relative so absolute button anchors right */
body .tvheader-top-search,
body .tvheader-top-search-wrapper,
body .tvheader-top-search form,
body .tvheader-top-search-wrapper form {
  position: relative !important;
}

/* The search-result dropdown that may pop out below the input */
body .tvcmssearch-dropdown {
  margin-top: 6px !important;
}


/* ============================================================================
   29 — HEADER (full editorial redesign for header-6 layout)
   Fixes: menu items crammed, search bar cut off, missing search icon, account
   dropdown looks old, cart icon needs new SVG, cart drawer empty box, sticky
   header overlapping hero.
   ============================================================================ */

/* Kill the inline <style> #header that themevolty injects (override its values) */
body header#header,
body #header {
  background: var(--li-paper) !important;
  color: var(--li-ink) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  position: relative !important;
  z-index: 100 !important;
  width: 100% !important;
}

/* The big container row of header-6 */
body .tvcmsdesktop-top-header-wrapper,
body .tvcmsdesktop-top-header-wrapper.header-6 {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  background: var(--li-paper) !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  z-index: 10 !important;
  transform: none !important;
}
body .tvcmsdesktop-top-header-wrapper.header-6 .tvcmsdesktop-top-second {
  padding: 22px 0 !important;
  background: var(--li-paper) !important;
}
body .tvcmsdesktop-top-header-wrapper.header-6 .tvcmsdesktop-top-second .container {
  max-width: 1320px !important;
  padding: 0 32px !important;
}
body .tvcmsdesktop-top-header-wrapper.header-6 .tvcmsdesktop-top-header-box {
  align-items: center !important;
  margin: 0 !important;
}

/* Logo column - centered, modest size */
body .tvcmsdesktop-top-header-wrapper.header-6 .tvcms-header-logo-wrapper {
  flex: 0 0 auto !important;
  max-width: 200px !important;
  padding: 0 !important;
}
/* Header-6 logo: aligned with base 80px rule (was 68px — conflicted with section 8
   base rule that needs to win at 80px on desktop). */
body .tvcmsdesktop-top-header-wrapper.header-6 .tv-header-logo img,
body .tvcmsdesktop-top-header-wrapper.header-6 .logo {
  height: 120px !important;
  max-height: 120px !important;
  width: auto !important;
  max-width: none !important;
}

/* Menu column - expand to fill, give items breathing room */
body .tvcms-header-menu-offer-wrapper {
  flex: 1 1 auto !important;
  max-width: none !important;
  padding: 0 32px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
body .tvcms-header-menu {
  width: 100% !important;
  padding: 0 !important;
}
body #tvdesktop-megamenu {
  width: 100% !important;
  padding: 0 !important;
}
body .container_tv_megamenu {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body .tv-menu-horizontal {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  display: flex !important;
  justify-content: center !important;
}
body .tv-menu-horizontal .menu-content {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px 28px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  width: auto !important;
  overflow: visible !important;
}
body .tv-menu-horizontal .menu-content li {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  list-style: none !important;
  position: relative !important;
  flex: 0 0 auto !important;
}
body .tv-menu-horizontal .menu-content li.tvmega-menu-title {
  display: none !important;
}
body .tv-menu-horizontal .menu-content li a {
  display: inline-block !important;
  padding: 8px 0 !important;
  margin: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  transition: color var(--li-fast) ease !important;
  text-decoration: none !important;
}
body .tv-menu-horizontal .menu-content li a span {
  font-family: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  color: inherit !important;
  text-transform: inherit !important;
  font-weight: inherit !important;
}
body .tv-menu-horizontal .menu-content li a:hover,
body .tv-menu-horizontal .menu-content li a:hover span,
body .tv-menu-horizontal .menu-content li:hover > a,
body .tv-menu-horizontal .menu-content li:hover > a span {
  color: var(--li-accent) !important;
}

/* Right side: search + account + wishlist + cart */
body .tvcmsheader-nav-right,
body .tvcmsheader-search-account,
body .col-lg-2.tvcmsheader-nav-right,
body .tvcmsdesktop-top-header-wrapper.header-6 .col-xl-3,
body .tvcmsdesktop-top-header-wrapper.header-6 .col-xl-2:last-child {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 22px !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
}

/* Search bar (inline) */
body #_desktop_search,
body .tvcmssearch-wrapper {
  display: flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
}
body #_desktop_search form,
body .tvcmssearch-wrapper form,
body .tvcmssearch-wrapper #search_widget {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}
body #_desktop_search input,
body .tvcmssearch-wrapper input[type="text"],
body .tvcmssearch-wrapper input[type="search"] {
  width: 150px !important;
  max-width: 150px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 13px !important;
  padding: 6px 28px 6px 0 !important;
  outline: none !important;
  height: auto !important;
  color: var(--li-ink) !important;
  text-overflow: ellipsis !important;
}
body #_desktop_search input::placeholder,
body .tvcmssearch-wrapper input::placeholder {
  color: var(--li-muted) !important;
  font-style: italic !important;
}
body #_desktop_search input:focus,
body .tvcmssearch-wrapper input:focus {
  border-bottom-color: var(--li-ink) !important;
}

/* Search button — give it a magnifying glass icon if it doesn't have one */
body #_desktop_search button,
body #_desktop_search .btn,
body .tvcmssearch-wrapper button[type="submit"],
body .tvcmssearch-wrapper .search-btn {
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 28px !important;
  height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--li-ink) !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  letter-spacing: normal !important;
}
body #_desktop_search button::before,
body #_desktop_search .btn::before,
body .tvcmssearch-wrapper button[type="submit"]::before,
body .tvcmssearch-wrapper .search-btn::before {
  content: "" !important;
  width: 18px !important;
  height: 18px !important;
  background-color: var(--li-ink) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cpath d='m20 20-3.5-3.5'%3E%3C/path%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'%3E%3C/circle%3E%3Cpath d='m20 20-3.5-3.5'%3E%3C/path%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  display: inline-block !important;
}
/* Hide any leftover icon/text inside search button */
body #_desktop_search button > *,
body .tvcmssearch-wrapper button[type="submit"] > * {
  display: none !important;
}

/* Account / wishlist / cart icon buttons — unify */
body .tv-myaccount-btn,
body .tvcmsuserwishlist > a,
body .tv-cart-icon-main,
body .tvcmscart-button,
body .blockcart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  padding: 8px !important;
  margin: 0 !important;
  color: var(--li-ink) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  font-family: var(--li-font-sans) !important;
}
body .tv-myaccount-btn svg,
body .tvcmsuserwishlist svg,
body .tv-cart-icon-main svg,
body .blockcart svg {
  width: 20px !important;
  height: 20px !important;
  stroke-width: 1.5 !important;
  fill: none !important;
  stroke: currentColor !important;
}

/* Replace cart icon with a clean bag icon (mask layered on the SVG container) */
body .tv-cart-icon,
body .blockcart .header > a,
body .tvcmscart-content-box > a {
  position: relative !important;
}
body .tv-cart-icon svg,
body .blockcart .material-icons,
body .tvcms-cart-cart-icon svg {
  display: none !important;
}
body .tv-cart-icon::before,
body .tvcmscart-content-box::before {
  content: "" !important;
  display: inline-block !important;
  width: 22px !important;
  height: 22px !important;
  background-color: var(--li-ink) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'%3E%3C/path%3E%3Cpath d='M3 6h18'%3E%3C/path%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'%3E%3C/path%3E%3Cpath d='M3 6h18'%3E%3C/path%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'%3E%3C/path%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  vertical-align: middle !important;
}

/* Cart count badge */
body .cart-products-count,
body .tvcmscartcontent-count,
body .tvcms-cart-prdcount,
body .tv-cart-content-count {
  position: absolute !important;
  top: -2px !important;
  right: -6px !important;
  background: var(--li-accent) !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  border-radius: 999px !important;
  min-width: 16px !important;
  height: 16px !important;
  padding: 0 5px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* Account dropdown — editorial style, kill any old skin */
body .tv-account-dropdown,
body .tv-account-wrapper .dropdown-menu,
body .tvcms-header-myaccount .dropdown-menu,
body .blockcart .dropdown-menu,
body .tvcmscart-show-dropdown-right,
body .tvcmsuserwishlist .dropdown-menu {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.12) !important;
  padding: 12px 0 !important;
  margin-top: 10px !important;
  min-width: 220px !important;
}
body .tv-account-dropdown li,
body .blockcart .dropdown-menu li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
body .tv-account-dropdown li a,
body .tv-account-dropdown a,
body .blockcart .dropdown-menu a {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 20px !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  font-weight: 400 !important;
  transition: background var(--li-fast) ease, color var(--li-fast) ease !important;
}
body .tv-account-dropdown li a:hover,
body .blockcart .dropdown-menu a:hover {
  background: var(--li-paper-2) !important;
  color: var(--li-accent) !important;
}
body .tv-account-dropdown .material-icons,
body .tv-account-dropdown i,
body .blockcart .material-icons {
  font-size: 16px !important;
  color: var(--li-muted) !important;
  width: 18px !important;
}

/* Cart drawer / dropdown content */
body .tvcmscart-show-dropdown-right,
body .blockcart .cart-content,
body .cart-block-content,
body .tvcms-mini-cart-wrapper {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 20px !important;
  min-width: 360px !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.12) !important;
}
body .blockcart .cart-content .empty,
body .blockcart .cart-block-content .empty {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  color: var(--li-muted) !important;
  text-align: center !important;
  padding: 24px 0 !important;
}
/* Hide the random empty image/box in cart drawer */
body .blockcart .cart-content img.empty-img,
body .blockcart .empty-cart-image,
body .tvcmscart-show-dropdown-right .empty-img,
body .tvcmscart-show-dropdown-right > img:first-child,
body .blockcart .dropdown-menu > img:first-child {
  display: none !important;
}

/* Sub-menu under main nav (if rendered) */
body .tv-menu-horizontal .menu-content li ul,
body .tv-menu-horizontal .menu-content li .tv-mega-menu-dropdown,
body .tv-menu-horizontal .menu-content li .dropdown-menu,
body .tv-menu-horizontal .menu-content li .sub-menu {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 16px 24px !important;
  box-shadow: 0 16px 40px rgba(28, 26, 23, 0.10) !important;
}

/* Sticky menu wrapper — kill it so it never overlaps hero/content */
body .tvcmsheader-sticky,
body .tvcmsheader-sticky.tvfixed,
body .tvcmsheader-sticky.fixed,
body .tvcms-fix-menu,
body .tvcms-fix-menu-warp,
body .tvfix-menu,
body .tvfixed,
body .sticky-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  transform: none !important;
  background: var(--li-paper) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  z-index: auto !important;
}

/* Make sure hero never sits under the header (clears the inline z-index:1000) */
body.page-index .la-hero,
body .la-hero {
  position: relative !important;
  z-index: 1 !important;
  margin-top: 0 !important;
}
body #wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Hide the "OFFER" wrapper that's flagged tvforce-hide but sometimes leaks */
body .tvheader-offer-wrapper.tvforce-hide {
  display: none !important;
}


/* ============================================================================
   28A — DEFEAT tvcms* MODULE CSS that fights our overrides
   These rules sit BEFORE 28 component styles and re-assert ownership.
   ============================================================================ */

/* tvcmscategoryproduct: kill widths/margins on designer <li> so grid wins */
body .la-designers ul.la-designers-grid,
body .la-designers ul.tvtabcategory-product-inner {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(6, 1fr) !important;
  width: 100% !important;
  float: none !important;
}
body .la-designers li.la-designer-cell,
body .la-designers li.tvtabcategory-product-li {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--li-line) !important;
  list-style: none !important;
  text-align: center !important;
}
body .la-designers li.la-designer-cell:last-of-type {
  border-right: 0 !important;
}
body .la-designers .la-designer-link,
body .la-designers li a.tvtabcategory-tab-sub-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 48px 18px !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: var(--li-ink) !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: inherit !important;
  font-family: var(--li-font-display) !important;
  min-height: 130px !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
body .la-designers .la-designer-name {
  display: block !important;
  visibility: visible !important;
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  opacity: 1 !important;
}
body .la-designers .la-designer-cta {
  display: block !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: var(--li-muted) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
body .la-designers li.la-designer-cell:hover .la-designer-name,
body .la-designers li.la-designer-cell.is-active .la-designer-name {
  color: var(--li-accent) !important;
}
/* Hide module's "Show/Hide Category" extra <li> from grid layout */
body .la-designers .tvtabcategory-show,
body .la-designers .tvtabcategory-hide,
body .la-designers .show-hide.hide {
  display: none !important;
}

/* Hero: ensure section is full-width even inside PS wrappers */
body .la-hero {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}
body .la-hero-grid {
  width: 100% !important;
  max-width: none !important;
  display: block !important;
  position: relative !important;
  min-height: 620px !important;
}
body .la-hero-slide {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  min-height: 620px !important;
  background: var(--li-paper) !important;
  opacity: 0;
  transition: opacity 2.2s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
body .la-hero-slide.is-active {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 1 !important;
}
body .la-hero-text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 110px 64px 80px 80px !important;
  min-width: 0 !important;
  background: var(--li-paper) !important;
}
body .la-hero-title {
  font-family: var(--li-font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(48px, 5.5vw, 84px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.005em !important;
  color: var(--li-ink) !important;
  margin: 28px 0 28px !important;
  word-break: break-word !important;
  hyphens: none !important;
}
body .la-hero-title em {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-weight: 400 !important;
}
body .la-hero-lead {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: clamp(15px, 1.4vw, 19px) !important;
  line-height: 1.55 !important;
  color: var(--li-ink-2) !important;
  max-width: 460px !important;
  margin: 0 0 32px !important;
}
body .la-hero-image {
  position: relative !important;
  overflow: hidden !important;
  background: var(--li-paper-2) !important;
  min-height: 620px !important;
}
body .la-hero-image > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
}
body .la-hero-image picture {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
}
body .la-hero-image img {
  width: 100% !important;
  height: 100% !important;
  min-height: 620px !important;
  object-fit: cover !important;
  max-width: none !important;
  display: block !important;
}

/* Services: defeat any tvcmscustomerservices CSS shrinking items.
   4 in a row on desktop, 2 on tablet, 1 on phone. */
body .la-services .la-services-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 32px 40px !important;
  width: 100% !important;
}
@media (max-width: 992px) {
  body .la-services .la-services-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px 32px !important;
  }
}
@media (max-width: 576px) {
  body .la-services .la-services-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
}
/* SVG icons inside services — match accent color, flex-shrink:0 */
body .la-services .la-service-icon {
  width: 40px !important;
  height: 40px !important;
  flex-shrink: 0 !important;
  color: var(--li-accent) !important;
  display: grid !important;
  place-items: center !important;
}
body .la-services .la-service-icon svg {
  width: 100% !important;
  height: 100% !important;
  stroke: currentColor !important;
  fill: none !important;
  display: block !important;
}
body .la-services article.la-service-item {
  display: flex !important;
  flex-direction: row !important;
  gap: 18px !important;
  align-items: flex-start !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
}
body .la-services .la-service-title {
  display: block !important;
  visibility: visible !important;
  font-family: var(--li-font-display) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  margin: 0 0 6px !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  opacity: 1 !important;
}
body .la-services .la-service-desc {
  display: block !important;
  visibility: visible !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-muted) !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  opacity: 1 !important;
}

/* Banner labels: ensure caption sits on image */
body .la-banner3-card { position: relative !important; display: block !important; }
body .la-banner3-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}


/* ============================================================================
   28 — LA-* COMPONENTS  (custom Smarty overrides for home modules)
   These prefixes the override templates use: la-hero, la-services, la-cats,
   la-banner3, la-designers. Standalone styling — independent from .tvcms-*.
   ============================================================================ */

/* Shared layout helpers */
.la-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
.la-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 48px;
}
.la-section-head--center {
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.la-eyebrow {
  display: inline-block;
  font-family: var(--li-font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--li-accent);
  margin-bottom: 14px;
}
.la-section-title {
  font-family: var(--li-font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(32px, 4vw, 56px) !important;
  letter-spacing: var(--li-tr-display);
  line-height: 1.05 !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  text-transform: none !important;
  border: 0 !important;
}
.la-section-sub {
  font-family: var(--li-font-serif);
  font-style: italic;
  color: var(--li-muted);
  font-size: 17px;
  max-width: 600px;
  margin: 14px auto 0 !important;
}
.la-link {
  font-family: var(--li-font-serif);
  font-style: italic;
  font-size: 15px;
  color: var(--li-ink);
  border-bottom: 1px solid var(--li-line);
  padding-bottom: 1px;
  transition: color var(--li-fast) ease, border-color var(--li-fast) ease;
}
.la-link:hover {
  color: var(--li-accent);
  border-bottom-color: var(--li-accent);
}
.la-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--li-font-sans);
  font-weight: 400;
  font-size: 12px;
  letter-spacing: var(--li-tr-wide);
  text-transform: uppercase;
  padding: 14px 28px;
  border: 1px solid var(--li-ink);
  background: transparent;
  color: var(--li-ink);
  cursor: pointer;
  transition: background var(--li-normal) ease, color var(--li-normal) ease, border-color var(--li-normal) ease;
}
.la-btn:hover { background: var(--li-ink); color: var(--li-paper); }
.la-btn--solid { background: var(--li-ink); color: var(--li-paper); }
.la-btn--solid:hover { background: var(--li-accent); border-color: var(--li-accent); color: var(--li-paper); }
.la-btn .la-arr { display: inline-block; transition: transform var(--li-normal) ease; }
.la-btn:hover .la-arr { transform: translateX(4px); }


/* ---------- HERO ---------- */
.la-hero {
  position: relative;
  background: var(--li-paper);
  border-bottom: 1px solid var(--li-line-soft);
  overflow: hidden;
}
.la-hero-grid {
  position: relative;
  min-height: 640px;
  display: block;
}
.la-hero-slide {
  position: absolute;
  inset: 0;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  min-height: 640px;
  opacity: 0;
  transition: opacity 2.2s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
.la-hero-slide.is-active {
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 1 !important;
}
.la-hero-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 64px 80px 80px;
  position: relative;
}
.la-hero-title {
  font-family: var(--li-font-display);
  font-weight: 400;
  font-size: clamp(48px, 6vw, 88px);
  line-height: 0.98;
  letter-spacing: -0.005em;
  color: var(--li-ink);
  margin: 28px 0 28px;
}
.la-hero-title em {
  font-family: var(--li-font-serif);
  font-style: italic;
  font-weight: 400;
}
.la-hero-lead {
  font-family: var(--li-font-serif);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1.55;
  color: var(--li-ink-2);
  max-width: 440px;
  margin: 0 0 32px;
}
.la-hero-actions {
  display: flex;
  gap: 18px;
  align-items: center;
  margin-top: 12px;
}
.la-hero-image {
  background: var(--li-paper-2);
  overflow: hidden;
}
.la-hero-image img,
.la-hero-image picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* Subtle Ken Burns zoom on the active slide image — runs for slightly longer
   than the JS interval (11s vs 9.5s) so the slow zoom feels continuous up to
   the moment of cross-fade. animation-fill-mode: forwards holds the final
   scale on the outgoing slide; when the slide becomes active again later,
   re-applying the animation restarts from scale(1) — but the user can't see
   that snap because the slide is at opacity:0 during the swap. */
@keyframes la-hero-kenburns {
  from { transform: scale(1); }
  to   { transform: scale(1.04); }
}
.la-hero-slide .la-hero-image img {
  transform-origin: center center;
  will-change: transform;
}
.la-hero-slide.is-active .la-hero-image img {
  animation: la-hero-kenburns 11s linear forwards;
}
/* Mobile gets a less-aggressive zoom and shorter cycle, since mobile screens
   make a 4% zoom feel like more motion. */
@media (max-width: 991px) {
  .la-hero-slide.is-active .la-hero-image img {
    animation: la-hero-kenburns 11s linear forwards;
  }
}
/* Respect prefers-reduced-motion: kill both fade and zoom. The JS already
   bails on autoplay for these users, but in case CSS still gets a chance
   to run (e.g. user starts WITH motion enabled then toggles), neutralize. */
@media (prefers-reduced-motion: reduce) {
  .la-hero-slide.is-active .la-hero-image img { animation: none !important; transform: none !important; }
  .la-hero-slide { transition: none !important; }
}
.la-hero-meta {
  position: absolute;
  bottom: 32px;
  left: 80px;
  right: 80px;
  display: flex;
  align-items: center;
  gap: 24px;
  font-family: var(--li-font-sans);
  font-size: 11px;
  letter-spacing: var(--li-tr-wide);
  text-transform: uppercase;
  color: var(--li-muted);
  pointer-events: none;
  z-index: 2;
}
.la-hero-meta > * { pointer-events: auto; }
.la-hero-counter { white-space: nowrap; }
.la-hero-progress {
  width: 120px;
  height: 1px;
  background: var(--li-line);
  position: relative;
  overflow: hidden;
}
.la-hero-progress-bar {
  position: absolute;
  inset: 0 auto 0 0;
  width: 20%;
  background: var(--li-ink);
  transition: width var(--li-slow) ease;
}
.la-hero-caption {
  flex: 1;
  font-family: var(--li-font-serif);
  font-style: italic;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--li-ink-2);
  text-align: right;
  text-transform: none;
  margin-right: 24px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.la-hero-pager {
  display: flex;
  gap: 10px;
}
.la-hero-arrow {
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--li-line);
  border-radius: 50%;
  background: var(--li-paper);
  color: var(--li-ink);
  cursor: pointer;
  padding: 0;
  transition: background var(--li-normal) ease, color var(--li-normal) ease, border-color var(--li-normal) ease;
}
.la-hero-arrow:hover {
  background: var(--li-ink);
  color: var(--li-paper);
  border-color: var(--li-ink);
}


/* ---------- SERVICES STRIP ---------- */
.la-services {
  background: var(--li-paper-2);
  border-top: 1px solid var(--li-line-soft);
  border-bottom: 1px solid var(--li-line-soft);
  padding: 64px 0;
  margin: 64px 0;
}
.la-services .la-section-head { margin-bottom: 40px; }
.la-services-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 56px;
}
.la-service-item {
  display: flex !important;
  gap: 18px;
  align-items: flex-start;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.la-service-body { flex: 1; }
.la-service-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: grid;
  place-items: center;
  color: var(--li-accent);
}
.la-service-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: none;
}
.la-service-title {
  font-family: var(--li-font-display);
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--li-ink);
  margin-bottom: 6px;
  line-height: 1.2;
}
.la-service-desc {
  font-family: var(--li-font-serif);
  font-style: italic;
  font-size: 14px;
  color: var(--li-muted);
  line-height: 1.45;
}


/* ---------- SHOP BY CATEGORY ---------- */
.la-cats {
  padding: 96px 0 64px;
  background: var(--li-paper);
}
.la-cats-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 48px;
}
.la-cats-head-left .la-eyebrow { display: block; margin-bottom: 12px; }
.la-cats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px 28px;
}
.la-cat-card {
  display: block;
  position: relative;
  cursor: pointer;
  color: inherit;
}
.la-cat-img {
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--li-paper-2);
  position: relative;
}
.la-cat-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 900ms var(--li-ease);
}
.la-cat-card:hover .la-cat-img img { transform: scale(1.04); }
.la-cat-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 60%, rgba(28, 26, 23, 0.22));
  opacity: 0;
  transition: opacity var(--li-normal) ease;
  pointer-events: none;
}
.la-cat-card:hover .la-cat-img::after { opacity: 1; }
.la-cat-discover {
  position: absolute;
  left: 22px; bottom: 22px;
  font-family: var(--li-font-serif);
  font-style: italic;
  font-size: 15px;
  color: var(--li-paper);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity var(--li-normal) ease, transform var(--li-normal) ease;
  z-index: 1;
}
.la-cat-card:hover .la-cat-discover { opacity: 1; transform: translateY(0); }
.la-cat-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-top: 16px;
  gap: 18px;
}
.la-cat-name {
  font-family: var(--li-font-display);
  font-size: 26px;
  font-weight: 400;
  letter-spacing: 0.01em;
  color: var(--li-ink);
}
.la-cat-cta {
  font-family: var(--li-font-sans);
  font-size: 11px;
  letter-spacing: var(--li-tr-wide);
  text-transform: uppercase;
  color: var(--li-muted);
  transition: color var(--li-fast) ease;
}
.la-cat-card:hover .la-cat-cta { color: var(--li-accent); }


/* ---------- TRIPLE BANNER ---------- */
.la-banner3 {
  padding: 32px 0 64px;
}
.la-banner3-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 14px;
  aspect-ratio: 16 / 10;
}
.la-banner3-card {
  position: relative;
  overflow: hidden;
  background: var(--li-paper-2);
  display: block;
  color: var(--li-paper);
}
.la-banner3-card--tall {
  grid-row: 1 / span 2;
}
.la-banner3-card img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  transition: transform 900ms var(--li-ease);
  display: block;
}
.la-banner3-card:hover img { transform: scale(1.05); }
.la-banner3-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(28, 26, 23, 0.55), rgba(28, 26, 23, 0.1) 50%, transparent 70%);
  pointer-events: none;
}
.la-banner3-label {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 1;
  font-family: var(--li-font-display);
  font-size: 30px;
  line-height: 1.05;
  color: var(--li-paper);
}
.la-banner3-label * {
  color: var(--li-paper) !important;
  font-family: var(--li-font-display) !important;
}


/* ---------- DESIGNERS GRID ---------- */
.la-designers {
  background: var(--li-paper-2);
  padding: 96px 0;
  border-top: 1px solid var(--li-line-soft);
  border-bottom: 1px solid var(--li-line-soft);
  margin: 64px 0;
}
.la-designers .la-section-head { margin-bottom: 56px; }
.la-designers-grid {
  display: grid !important;
  grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid var(--li-line);
  border-bottom: 1px solid var(--li-line);
  background: var(--li-paper-2);
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.la-designer-cell,
li.la-designer-cell {
  padding: 0 !important;
  margin: 0 !important;
  border-right: 1px solid var(--li-line);
  border-bottom: 0 !important;
  list-style: none;
  background: transparent;
  transition: background var(--li-normal) ease;
  position: relative;
  display: block;
}
.la-designer-cell:last-child { border-right: 0; }
.la-designer-cell:hover { background: var(--li-paper); }
.la-designer-cell.is-active {
  background: var(--li-paper);
}
.la-designer-cell.is-active::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  width: 32px;
  height: 2px;
  background: var(--li-accent);
}
.la-designer-link {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 48px 18px !important;
  text-align: center;
  color: var(--li-ink) !important;
  text-decoration: none !important;
  cursor: pointer;
  min-height: 140px;
}
.la-designer-name {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: var(--li-ink) !important;
  line-height: 1.15 !important;
  text-transform: none !important;
}
.la-designer-cell:hover .la-designer-name,
.la-designer-cell.is-active .la-designer-name { color: var(--li-accent) !important; }
.la-designer-cta {
  font-family: var(--li-font-serif);
  font-style: italic;
  font-size: 12px;
  color: var(--li-muted);
  letter-spacing: 0;
  text-transform: none;
}
.la-designers-products {
  margin-top: 48px;
  min-height: 60px;
}
/* AJAX-injected owl-carousel of products under the designer tabs */
body .la-designers .tvtabcategory-all-product-wrapper,
body .la-designers .ajaxData,
body .la-designers .tvtabcategory-all-product-content-box,
body .la-designers .tvtabcategory-all-product-slider {
  width: 100% !important;
}
body .la-designers .owl-stage-outer {
  overflow: hidden !important;
}
body .la-designers .owl-stage {
  display: flex !important;
}
body .la-designers .owl-item {
  flex-shrink: 0 !important;
  padding: 0 8px !important;
}
body .la-designers .owl-item .product-miniature,
body .la-designers .product-miniature {
  width: 100% !important;
  margin: 0 0 8px !important;
  display: block !important;
}
body .la-designers .product-miniature .thumbnail-container,
body .la-designers .product-miniature .tvproduct-wrapper {
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body .la-designers .product-miniature .tvproduct-image {
  aspect-ratio: 3 / 4 !important;
  width: 100% !important;
  overflow: hidden !important;
  background: var(--li-paper) !important;
  position: relative !important;
  display: block !important;
}
body .la-designers .product-miniature .tvproduct-image a.thumbnail,
body .la-designers .product-miniature .tvproduct-image a.product-thumbnail {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
}
body .la-designers .product-miniature .tvproduct-image img,
body .la-designers .product-miniature .tvproduct-defult-img,
body .la-designers .product-miniature .tvproduct-hover-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  max-width: none !important;
}
body .la-designers .product-miniature .tvproduct-hover-img {
  opacity: 0 !important;
  transition: opacity var(--li-normal) ease !important;
}
body .la-designers .product-miniature:hover .tvproduct-hover-img {
  opacity: 1 !important;
}
body .la-designers .product-miniature .tvproduct-info-box-wrapper {
  background: transparent !important;
  padding: 12px 8px 0 !important;
  text-align: left !important;
}
body .la-designers .product-miniature .tvproduct-name a,
body .la-designers .product-miniature .product-title a,
body .la-designers .product-miniature .tvproduct-name h6,
body .la-designers .product-miniature .product-title h6 {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  line-height: 1.3 !important;
}
body .la-designers .product-miniature .tv-product-price,
body .la-designers .product-miniature .product-price-and-shipping {
  display: flex !important;
  gap: 8px !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  margin-top: 4px !important;
}
body .la-designers .product-miniature .price {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
}
body .la-designers .product-miniature .regular-price {
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: var(--li-muted) !important;
  text-decoration: line-through !important;
}


/* ---------- RESPONSIVE (mobile parity for new components) ---------- */
@media (max-width: 992px) {
  .la-wrap { padding: 0 20px; }
  .la-hero-grid { min-height: auto; }
  .la-hero-slide { grid-template-columns: 1fr; min-height: auto; position: absolute; inset: 0; }
  .la-hero-text { padding: 48px 28px 32px; order: 2; }
  .la-hero-image { order: 1; aspect-ratio: 4 / 5; }
  .la-hero-meta { position: static; padding: 24px 28px; left: 0; right: 0; }
  .la-hero-caption { display: none; }
  .la-services { padding: 48px 0; margin: 48px 0; }
  .la-services-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 36px; }
  .la-cats { padding: 64px 0 32px; }
  .la-cats-head { flex-direction: column; align-items: flex-start; margin-bottom: 28px; }
  .la-cats-grid { grid-template-columns: repeat(2, 1fr); gap: 24px 18px; }
  .la-cat-name { font-size: 20px; }
  .la-banner3-grid { grid-template-columns: 1fr 1fr; aspect-ratio: auto; }
  .la-banner3-card--tall { grid-row: auto; aspect-ratio: 4 / 5; }
  .la-banner3-card { aspect-ratio: 4 / 5; }
  .la-banner3-label { font-size: 22px; left: 18px; right: 18px; bottom: 18px; }
  .la-designers { padding: 56px 0; margin: 48px 0; }
  .la-designers-grid { grid-template-columns: repeat(3, 1fr); }
  .la-designer-cell:nth-child(3) { border-right: 0; }
  .la-designer-cell:nth-child(4),
  .la-designer-cell:nth-child(5),
  .la-designer-cell:nth-child(6) { border-top: 1px solid var(--li-line); }
}

@media (max-width: 576px) {
  .la-hero-title { font-size: 38px; }
  .la-hero-text { padding: 32px 20px 24px; }
  .la-services-grid { grid-template-columns: 1fr; gap: 24px; }
  .la-cats-grid { grid-template-columns: 1fr; gap: 28px; }
  .la-banner3-grid { grid-template-columns: 1fr; }
  .la-banner3-card,
  .la-banner3-card--tall { aspect-ratio: 16 / 10; grid-row: auto; }
  .la-designers-grid { grid-template-columns: repeat(2, 1fr); }
  .la-designer-cell:nth-child(2),
  .la-designer-cell:nth-child(4) { border-right: 0; }
  .la-designer-cell:nth-child(3),
  .la-designer-cell:nth-child(4),
  .la-designer-cell:nth-child(5),
  .la-designer-cell:nth-child(6) { border-top: 1px solid var(--li-line); }
  .la-designer-name { font-size: 16px; }
}


/* ============================================================================
   34 — MOBILE OVERHAUL (homepage layout fixes for ≤768px)
   Hero stacks vertically, categories 2-col, services 2-col, designers 2-col,
   banners stack, text never goes vertical-letters.
   ============================================================================ */

@media (max-width: 992px) {

  /* HERO — stack vertically, text width = full */
  body .la-hero,
  body .la-hero-grid,
  body .la-hero-slide {
    min-height: auto !important;
  }
  body .la-hero-slide {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    position: absolute !important;
    inset: 0 !important;
  }
  body .la-hero-text {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 36px 24px 28px !important;
    text-align: left !important;
    min-width: 0 !important;
  }
  body .la-hero-title {
    font-size: clamp(32px, 9vw, 56px) !important;
    line-height: 1.05 !important;
    margin: 16px 0 18px !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    width: 100% !important;
    white-space: normal !important;
    display: block !important;
  }
  body .la-hero-lead {
    font-size: 15px !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
  }
  body .la-hero-image {
    order: 2 !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: 4 / 5 !important;
    position: relative !important;
  }
  body .la-hero-image picture,
  body .la-hero-image > a,
  body .la-hero-image img {
    min-height: 0 !important;
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
  }

  /* SHOP BY CATEGORY — 2-col grid, image fills card */
  body .la-cats {
    padding: 48px 0 24px !important;
  }
  body .la-cats-head {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    margin-bottom: 32px !important;
  }
  body .la-cats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px 12px !important;
  }
  body .la-cat-card {
    display: flex !important;
    flex-direction: column !important;
  }
  body .la-cat-img {
    aspect-ratio: 3 / 4 !important;
    width: 100% !important;
    background: var(--li-paper-2) !important;
  }
  body .la-cat-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
  body .la-cat-meta {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 2px !important;
    margin-top: 10px !important;
  }
  body .la-cat-name {
    font-size: 18px !important;
  }
  body .la-cat-cta {
    font-size: 10px !important;
  }

  /* BRANDS & DESIGNERS — 2-col grid (not 6) */
  body .la-designers {
    padding: 48px 0 !important;
    margin: 32px 0 !important;
  }
  body .la-designers .la-section-head {
    margin-bottom: 32px !important;
  }
  body .la-designers ul.la-designers-grid,
  body .la-designers ul.tvtabcategory-product-inner {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  body .la-designers li.la-designer-cell,
  body .la-designers li.tvtabcategory-product-li {
    border-right: 1px solid var(--li-line) !important;
    border-bottom: 1px solid var(--li-line) !important;
  }
  body .la-designers li.la-designer-cell:nth-child(2n),
  body .la-designers li.tvtabcategory-product-li:nth-child(2n) {
    border-right: 0 !important;
  }
  body .la-designers li.la-designer-cell:nth-last-child(-n+2),
  body .la-designers li.tvtabcategory-product-li:nth-last-child(-n+2) {
    border-bottom: 0 !important;
  }
  body .la-designers .la-designer-link {
    padding: 32px 12px !important;
    min-height: 100px !important;
  }
  body .la-designers .la-designer-name {
    font-size: 18px !important;
  }
  body .la-designers .la-designer-cta {
    font-size: 11px !important;
  }

  /* SERVICES — already 2-col from earlier rule, just tighten padding */
  body .la-services {
    padding: 40px 0 !important;
    margin: 32px 0 !important;
  }
  body .la-services .la-section-head {
    margin-bottom: 24px !important;
  }
  body .la-services .la-section-title {
    font-size: clamp(26px, 6vw, 36px) !important;
  }

  /* TRIPLE BANNER — stack vertically */
  body .la-banner3 {
    padding: 24px 0 !important;
  }
  body .la-banner3-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    aspect-ratio: auto !important;
    gap: 12px !important;
  }
  body .la-banner3-card,
  body .la-banner3-card--tall {
    aspect-ratio: 4 / 5 !important;
    grid-row: auto !important;
    grid-column: auto !important;
  }
  body .la-banner3-label {
    font-size: 24px !important;
    left: 20px !important;
    right: 20px !important;
    bottom: 20px !important;
  }

  /* Section titles general size shrink */
  body .la-section-title {
    font-size: clamp(26px, 6vw, 38px) !important;
  }
  body .la-section-sub {
    font-size: 14px !important;
  }
  body .la-wrap {
    padding: 0 18px !important;
  }

  /* Container/wrapper paddings */
  body .container,
  body .container-fluid {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 576px) {
  body .la-hero-title {
    font-size: clamp(28px, 8.5vw, 42px) !important;
  }
  body .la-hero-text {
    padding: 24px 18px 32px !important;
  }
  /* Smaller designer cells */
  body .la-designers li.la-designer-cell {
    min-height: 80px !important;
  }
  body .la-designers .la-designer-link {
    padding: 24px 10px !important;
  }
  body .la-designers .la-designer-name {
    font-size: 16px !important;
  }
}

/* Strong safety: never let any text become vertical-orientation on mobile */
body .la-hero-title,
body .la-section-title,
body .la-hero-lead,
body .la-cat-name,
body .la-designer-name,
body .la-service-title {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  -webkit-writing-mode: horizontal-tb !important;
}


/* ============================================================================
   35 — PRODUCT HOVER ACTION BUTTONS (editorial restyle)
   The .tvproduct-hover-btn group contains: compare, quick-view, wishlist,
   add-to-cart. Default ThemeVolty styles are loud/colorful — make them
   editorial: small circular paper buttons, accent on hover.
   ============================================================================ */
body .tvproduct-hover-btn {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  left: auto !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  opacity: 0 !important;
  transform: translateX(8px) !important;
  transition: opacity var(--li-normal) ease, transform var(--li-normal) ease !important;
  pointer-events: none !important;
  z-index: 3 !important;
}
body .product-miniature:hover .tvproduct-hover-btn,
body .item:hover .tvproduct-hover-btn,
body .product-miniature .tvproduct-hover-btn.is-visible {
  opacity: 1 !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

/* Each action button: same circular paper pill */
body .tvproduct-hover-btn > div,
body .tvproduct-hover-btn .tvcompare-wrapper,
body .tvproduct-hover-btn .tvproduct-cart-btn,
body .tvproduct-hover-btn .tvproduct-quick-btn,
body .tvproduct-hover-btn .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist,
body .tvproduct-hover-btn .tvcmsproduct-compare-btn,
body .tvproduct-hover-btn .tvproduct-compare {
  width: 40px !important;
  height: 40px !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.08) !important;
  cursor: pointer !important;
  transition: background var(--li-normal) ease, color var(--li-normal) ease, border-color var(--li-normal) ease !important;
  position: relative !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}
body .tvproduct-hover-btn > div:hover,
body .tvproduct-hover-btn .tvcompare-wrapper:hover,
body .tvproduct-hover-btn .tvproduct-cart-btn:hover,
body .tvproduct-hover-btn .tvproduct-quick-btn:hover,
body .tvproduct-hover-btn .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist:hover {
  background: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
}

/* The clickable anchor/button inside each pill */
body .tvproduct-hover-btn > div > a,
body .tvproduct-hover-btn > div > button,
body .tvproduct-hover-btn > div > .tvproduct-compare,
body .tvproduct-hover-btn .tvcompare-wrapper > div,
body .tvproduct-hover-btn .tvproduct-cart-btn form button,
body .tvproduct-hover-btn .tvproduct-quick-btn a,
body .tvproduct-hover-btn .quick-view {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--li-ink) !important;
  border-radius: 50% !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-size: 0 !important;
}
body .tvproduct-hover-btn > div:hover a,
body .tvproduct-hover-btn > div:hover button,
body .tvproduct-hover-btn > div:hover .tvproduct-quick-icon,
body .tvproduct-hover-btn > div:hover svg,
body .tvproduct-hover-btn > div:hover i {
  color: var(--li-paper) !important;
  stroke: var(--li-paper) !important;
  fill: var(--li-paper) !important;
}

/* SVG icons inside */
body .tvproduct-hover-btn svg {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--li-ink) !important;
  fill: none !important;
  stroke-width: 1.4 !important;
  display: block !important;
}
body .tvproduct-hover-btn svg path,
body .tvproduct-hover-btn svg ellipse,
body .tvproduct-hover-btn svg circle {
  stroke: currentColor !important;
}
body .tvproduct-hover-btn .material-icons,
body .tvproduct-hover-btn i {
  font-size: 18px !important;
  color: var(--li-ink) !important;
  line-height: 1 !important;
  text-shadow: none !important;
}
body .tvproduct-hover-btn > div:hover .material-icons {
  color: var(--li-paper) !important;
}

/* Remove ThemeVolty's coloured backgrounds / pills inside */
body .tvproduct-compare,
body .tvcmsproduct-compare-btn,
body .tvproduct-compare-icon,
body .tvproduct-quick-icon,
body .quick-view,
body .wishtlist_top {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* Hide labels / tooltips that themevolty stacks next to the icon */
body .tvproduct-hover-btn .tvproduct-quick-lable,
body .tvproduct-hover-btn .tv-cart-label,
body .tvproduct-hover-btn .tvproduct-compare-label,
body .tvproduct-hover-btn .tooltip-inner {
  display: none !important;
}

/* The product card image overlay (dim image on hover) */
body .product-miniature .tvproduct-image::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, transparent 60%, rgba(28, 26, 23, 0.15)) !important;
  opacity: 0 !important;
  transition: opacity var(--li-normal) ease !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
body .product-miniature:hover .tvproduct-image::after {
  opacity: 1 !important;
}


/* ============================================================================
   36 — NEW ARRIVALS (Latest 16 products, AJAX-loaded from new-products page)
   Shown below the designers section. Editorial Claude-design carousel.
   ============================================================================ */
.la-new-arrivals {
  background: var(--li-paper);
  padding: 80px 0;
  border-top: 1px solid var(--li-line-soft);
}
.la-new-arrivals .la-section-head {
  margin-bottom: 48px;
}
.la-new-arrivals-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px 24px;
  min-height: 200px;
}
.la-new-arrivals-grid .product-miniature {
  margin: 0 !important;
  width: 100% !important;
}
.la-new-arrivals-grid .product-miniature .tvproduct-image {
  aspect-ratio: 3 / 4 !important;
  position: relative !important;
  overflow: hidden !important;
  background: var(--li-paper-2) !important;
}
.la-new-arrivals-grid .product-miniature .tvproduct-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}
.la-new-arrivals-grid .product-miniature .tvproduct-info-box-wrapper,
.la-new-arrivals-grid .product-miniature .product-description {
  padding: 12px 0 0 !important;
  text-align: left !important;
}
.la-new-arrivals-grid .product-miniature .tvproduct-name a,
.la-new-arrivals-grid .product-miniature .product-title a {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  color: var(--li-ink) !important;
}
.la-new-arrivals-grid .product-miniature .price {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
}
.la-new-arrivals-loading {
  text-align: center;
  padding: 48px;
  font-family: var(--li-font-serif);
  font-style: italic;
  color: var(--li-muted);
  font-size: 15px;
}
.la-new-arrivals-cta {
  text-align: center;
  margin-top: 48px;
}

@media (max-width: 992px) {
  .la-new-arrivals {
    padding: 56px 0;
  }
  .la-new-arrivals-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 12px;
  }
}
@media (max-width: 576px) {
  .la-new-arrivals-grid {
    gap: 20px 10px;
  }
}


/* ============================================================================
   37 — CATEGORY PAGE HEADER BLOCK
   .block-category + .tv-category-main-div = the breadcrumb/title/description
   region at the top of every category listing. Default styling is loud.
   Make it editorial Claude design (paper bg, hairline, Italiana title).
   ============================================================================ */
body .block-category,
body .block-category.card,
body .block-category.card-block,
body .block-category.tv-category-block-wrapper,
body .tv-category-block-wrapper {
  background: var(--li-paper) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 32px 28px !important;
  margin: 0 0 32px !important;
}

body .tv-category-main-div,
body .tv-category-main-div.clearfix {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

/* Category title (h1) */
body .block-category h1,
body .block-category .h1,
body .tv-category-main-div h1,
body .block-category .category-name,
body .block-category .page-header h1 {
  font-family: var(--li-font-display) !important;
  font-size: clamp(34px, 4.4vw, 56px) !important;
  font-weight: 400 !important;
  letter-spacing: var(--li-tr-display) !important;
  line-height: 1.05 !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
  border: 0 !important;
}

/* Category description (italic editorial) */
body .block-category .text-muted,
body .block-category .category-description,
body .block-category #category-description,
body .block-category .block-cat-desc,
body .tv-category-main-div .category-description,
body .tv-category-main-div p {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: var(--li-muted) !important;
  margin: 0 !important;
  max-width: 720px !important;
}

/* Inner category image (cover banner) */
body .block-category .category-cover,
body .block-category .category-image,
body .block-category .tv-category-image,
body .tv-category-main-div .category-cover {
  margin: 18px 0 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
body .block-category .category-cover img,
body .block-category .category-image img,
body .tv-category-main-div img {
  border-radius: 0 !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* Subcategories chips (if rendered inside block) */
body .block-category .subcategories,
body .block-category .category-sub-menu,
body .tv-category-main-div .subcategories {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 14px !important;
  padding: 0 !important;
  list-style: none !important;
}
body .block-category .subcategories li,
body .block-category .category-sub-menu li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body .block-category .subcategories a,
body .block-category .category-sub-menu a {
  display: inline-block !important;
  padding: 8px 16px !important;
  background: transparent !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  text-decoration: none !important;
  transition: background var(--li-fast) ease, color var(--li-fast) ease, border-color var(--li-fast) ease !important;
}
body .block-category .subcategories a:hover,
body .block-category .category-sub-menu a:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-ink) !important;
}

/* "Read more" toggle if description is long */
body .block-category .navigation-button,
body .block-category .read-more,
body .tv-category-main-div .read-more {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-accent) !important;
  border: 0 !important;
  background: transparent !important;
  padding: 4px 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}


/* ============================================================================
   38 — GENERIC MODALS — wishlist login-prompt, create-wishlist, confirm-delete
   Both Sign in (primary) and Cancel (secondary) buttons need same size + clear
   filled/outline contrast. Also bump z-index so modal sits above product hearts.
   ============================================================================ */

/* Hike z-index — modal MUST be above the floating wishlist hearts */
body .modal,
body .modal.show,
body .modal.in,
body .modal.fade.in,
body .modal-dialog {
  z-index: 10000 !important;
}
body .modal-backdrop,
body .modal-backdrop.show,
body .modal-backdrop.in {
  z-index: 9999 !important;
}
/* And drag every wishlist heart / hover button BELOW that */
body .tvproduct-hover-btn,
body .wishlist-button-add,
body .wishtlist_top,
body .tvcms-wishlist-icon,
body .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist,
body .product-miniature .tvproduct-hover-btn {
  z-index: 3 !important;
}

/* ALL modal-footer buttons (Sign in, Cancel, Create wishlist, Confirm) — same
   editorial pill, same size. Variants by class: primary=filled, secondary=outline. */
body .modal .modal-footer .btn,
body .modal .modal-footer button,
body .modal .modal-footer a.btn,
body .modal .modal-footer a,
body .modal-footer .btn,
body .modal-footer button,
body .modal-footer a.btn,
body .modal-footer a,
body .modal .btn.btn-primary,
body .modal .btn.btn-secondary,
body .modal .modal-cancel,
body .modal a[data-link-action="display-register-form"],
body .modal a[data-link-action="display-login-form"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-width: 140px !important;
  padding: 12px 24px !important;
  border-radius: 0 !important;
  border: 1px solid var(--li-ink) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background var(--li-fast) ease, color var(--li-fast) ease, border-color var(--li-fast) ease !important;
}

/* Primary (Sign in, Create wishlist, Confirm) → filled ink, paper text */
body .modal .btn-primary,
body .modal .modal-footer .btn-primary,
body .modal .modal-footer button.btn-primary,
body .modal .modal-footer a.btn-primary,
body .modal-footer .btn-primary {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-ink) !important;
}
body .modal .btn-primary *,
body .modal-footer .btn-primary * {
  color: var(--li-paper) !important;
}
body .modal .btn-primary:hover,
body .modal-footer .btn-primary:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}

/* Secondary (Cancel) → outline, ink text */
body .modal .btn-secondary,
body .modal .modal-cancel,
body .modal-footer .btn-secondary,
body .modal-footer button.btn-secondary,
body .modal-footer a.btn-secondary,
body .modal-footer .modal-cancel {
  background: transparent !important;
  color: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
}
body .modal .btn-secondary *,
body .modal .modal-cancel *,
body .modal-footer .btn-secondary * {
  color: var(--li-ink) !important;
}
body .modal .btn-secondary:hover,
body .modal .modal-cancel:hover,
body .modal-footer .btn-secondary:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
}
body .modal .btn-secondary:hover *,
body .modal .modal-cancel:hover *,
body .modal-footer .btn-secondary:hover * {
  color: var(--li-paper) !important;
}

/* Modal-footer layout: even gap, justify center on small modals */
body .modal-footer {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: flex-end !important;
  padding: 18px 24px !important;
  border-top: 1px solid var(--li-line-soft) !important;
  background: transparent !important;
}


/* ============================================================================
   40 — REPLACE PRODUCT ACTION ICONS WITH EDITORIAL SVG MASKS
   The theme ships heavy multi-path SVGs for compare/quick-view/wishlist/cart.
   We hide them and paint clean Lucide-style outline icons via CSS masks.
   One consistent visual language across product cards + product detail panel.
   ============================================================================ */

/* === Hide every inline icon that the theme renders inside action buttons === */
body .tvproduct-cart-btn button svg,
body .tvproduct-cart-btn button .material-icons,
body .tvproduct-quick-btn a svg,
body .tvproduct-quick-btn a .material-icons,
body .quick-view svg,
body .quick-view .material-icons,
body .tvproduct-compare svg,
body .tvproduct-compare .material-icons,
body .tvcmsproduct-compare-btn svg,
body .tvproduct-compare-icon svg,
body .tvcompare-wrapper svg,
body .tvcompare-wrapper .material-icons,
body .wishtlist_top svg,
body .wishtlist_top .material-icons,
body .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist svg,
body .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist .material-icons,
body .tvproduct-wishlist-icon svg,
body .panel-product-line svg,
body .panel-product-actions svg,
body .panel-product-quickview svg,
body .product-actions-panel svg,
body .product-actions-panel .material-icons {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  visibility: hidden !important;
}
/* Also hide any text labels inside */
body .tvproduct-cart-btn .tvproduct-add-to-cart-label,
body .tvproduct-cart-btn .tv-cart-label,
body .tvproduct-quick-btn .tvproduct-quick-lable,
body .quick-view .tvproduct-quick-lable,
body .tvproduct-compare .tvproduct-compare-label,
body .tvcompare-wrapper > div::after,
body .wishtlist_top span:not(.count-badge) {
  display: none !important;
}

/* === The unified action button base (one definition for all 4) === */
body .tvproduct-hover-btn > div,
body .tvproduct-hover-btn .tvcompare-wrapper,
body .tvproduct-hover-btn .tvproduct-cart-btn,
body .tvproduct-hover-btn .tvproduct-quick-btn,
body .tvproduct-hover-btn .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist,
body .panel-product-line.tvproduct-wishlist-icon,
body .panel-product-quickview,
body svg.panel-product-line,
body svg.tvproduct-wishlist-icon {
  position: relative !important;
  width: 40px !important;
  height: 40px !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.08) !important;
  color: var(--li-ink) !important;
  cursor: pointer !important;
  transition: background var(--li-fast) ease, color var(--li-fast) ease, border-color var(--li-fast) ease !important;
  overflow: visible !important;
}
body .tvproduct-hover-btn > div > a,
body .tvproduct-hover-btn > div > button,
body .tvproduct-hover-btn .tvcompare-wrapper > div,
body .tvproduct-hover-btn .tvproduct-cart-btn form,
body .tvproduct-hover-btn .tvproduct-cart-btn form button,
body .tvproduct-hover-btn .quick-view {
  width: 100% !important;
  height: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  color: inherit !important;
  text-decoration: none !important;
  font-size: 0 !important;
  letter-spacing: normal !important;
  position: relative !important;
}

/* === Shared mask helper applied to ::before of each action === */
body .tvproduct-hover-btn .tvcompare-wrapper::before,
body .tvproduct-hover-btn .tvproduct-quick-btn::before,
body .tvproduct-hover-btn .tvproduct-cart-btn::before,
body .tvproduct-hover-btn .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist::before,
body .panel-product-line.tvproduct-wishlist-icon::before,
body .panel-product-quickview::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 18px !important;
  height: 18px !important;
  background-color: var(--li-ink) !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  transition: background-color var(--li-fast) ease !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* COMPARE — Lucide arrow-left-right */
body .tvproduct-hover-btn .tvcompare-wrapper::before,
body .tvproduct-compare-icon::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 3 4 4-4 4'/%3E%3Cpath d='M20 7H4'/%3E%3Cpath d='m8 21-4-4 4-4'/%3E%3Cpath d='M4 17h16'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 3 4 4-4 4'/%3E%3Cpath d='M20 7H4'/%3E%3Cpath d='m8 21-4-4 4-4'/%3E%3Cpath d='M4 17h16'/%3E%3C/svg%3E") !important;
}

/* QUICK VIEW — Lucide eye */
body .tvproduct-hover-btn .tvproduct-quick-btn::before,
body .panel-product-quickview::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") !important;
}

/* ADD TO CART — Lucide shopping-bag */
body .tvproduct-hover-btn .tvproduct-cart-btn::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4Z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E") !important;
}

/* WISHLIST — Lucide heart outline */
body .tvproduct-hover-btn .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist::before,
body .panel-product-line.tvproduct-wishlist-icon::before,
body svg.tvproduct-wishlist-icon {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
}

/* HOVER — invert: filled dark ink button, paper-coloured icon */
body .tvproduct-hover-btn > div:hover,
body .tvproduct-hover-btn .tvcompare-wrapper:hover,
body .tvproduct-hover-btn .tvproduct-cart-btn:hover,
body .tvproduct-hover-btn .tvproduct-quick-btn:hover,
body .tvproduct-hover-btn .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist:hover,
body .panel-product-line.tvproduct-wishlist-icon:hover,
body .panel-product-quickview:hover {
  background: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
}
body .tvproduct-hover-btn > div:hover::before,
body .panel-product-line.tvproduct-wishlist-icon:hover::before,
body .panel-product-quickview:hover::before {
  background-color: var(--li-paper) !important;
}

/* ACTIVE WISHLIST — terracotta accent fill, heart filled */
body .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist.is-active,
body .panel-product-line.tvproduct-wishlist-icon.is-active,
body .wishtlist_top.added,
body .wishlist-active {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
}
body .tvcmswishlist-wrapper,
body .tvproduct-hover-btn .tvproduct-wishlist.is-active::before,
body .panel-product-line.tvproduct-wishlist-icon.is-active::before,
body .wishtlist_top.added::before {
  background-color: var(--li-paper) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
}


/* ============================================================================
   39 — PRODUCT DETAIL ACTION ICONS
   The .panel-product-line / .panel-product-actions stack on the product
   detail page (wishlist heart, quickview eye, out-of-stock indicator).
   Make them identical to the homepage hearts: small, paper bg, ink stroke,
   accent on hover.
   ============================================================================ */
body .panel-product-line,
body .panel-product-actions,
body .tvproduct-wishlist-icon,
body .panel-product-line.tvproduct-wishlist-icon,
body .tvproduct-quickview-icon,
body .panel-product-quickview,
body .tvproduct-action-icon,
body .product-actions-panel a,
body .product-actions-panel button,
body .tvpanel-product-actions {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  color: var(--li-ink) !important;
  cursor: pointer !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.08) !important;
  transition: background var(--li-fast) ease, color var(--li-fast) ease, border-color var(--li-fast) ease !important;
  position: relative !important;
}
body .panel-product-line:hover,
body .panel-product-actions:hover,
body .tvproduct-wishlist-icon:hover,
body .tvproduct-quickview-icon:hover,
body .panel-product-quickview:hover,
body .product-actions-panel a:hover,
body .product-actions-panel button:hover {
  background: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
  color: var(--li-paper) !important;
}

/* SVG inside these icon buttons — uniform 18px, ink stroke (paper on hover) */
body .panel-product-line svg,
body .panel-product-actions svg,
body .tvproduct-wishlist-icon svg,
body .tvproduct-quickview-icon svg,
body .panel-product-quickview svg,
body .product-actions-panel svg,
body svg.panel-product-line,
body svg.panel-product-actions,
body svg.tvproduct-wishlist-icon {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: var(--li-ink) !important;
  stroke-width: 1.4 !important;
  display: block !important;
  transition: stroke var(--li-fast) ease, fill var(--li-fast) ease !important;
}
body .panel-product-line:hover svg,
body .panel-product-actions:hover svg,
body .tvproduct-wishlist-icon:hover svg,
body .tvproduct-quickview-icon:hover svg,
body .product-actions-panel a:hover svg,
body svg.panel-product-line:hover,
body svg.tvproduct-wishlist-icon:hover {
  stroke: var(--li-paper) !important;
  fill: none !important;
}

/* When the SVG is itself the button (no wrapper) */
body svg.panel-product-line,
body svg.panel-product-actions,
body svg.tvproduct-wishlist-icon,
body svg.tvproduct-quickview-icon {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  padding: 10px !important;
  width: 40px !important;
  height: 40px !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.08) !important;
}

/* Make inner SVG paths use currentColor so hover stroke propagates */
body .panel-product-line svg path,
body .panel-product-line svg circle,
body .panel-product-line svg ellipse,
body .tvproduct-wishlist-icon svg path,
body .tvproduct-wishlist-icon svg circle,
body .tvproduct-quickview-icon svg path,
body .tvproduct-quickview-icon svg ellipse {
  stroke: currentColor !important;
}

/* Active / filled wishlist heart (when product IS in wishlist) */
body .tvproduct-wishlist-icon.is-active,
body .panel-product-line.is-active,
body .tvproduct-wishlist-icon.added,
body .tvproduct-wishlist-icon.in-wishlist {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
}
body .tvproduct-wishlist-icon.is-active svg,
body .panel-product-line.is-active svg,
body .tvproduct-wishlist-icon.added svg,
body .tvproduct-wishlist-icon.in-wishlist svg {
  stroke: var(--li-paper) !important;
  fill: var(--li-paper) !important;
}

/* Out-of-stock indicator — when not "hide", show a small chip */
body .out-of-stock,
body svg.out-of-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  height: auto !important;
  padding: 5px 10px !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-muted) !important;
  border-radius: 0 !important;
  color: var(--li-muted) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}
body .out-of-stock svg,
body svg.out-of-stock {
  stroke: var(--li-muted) !important;
  fill: var(--li-muted) !important;
}
body .out-of-stock.hide,
body svg.out-of-stock.hide,
body .out-of-stock-hidden {
  display: none !important;
}

/* The sticky vertical panel on product page that holds these icons */
body .panel-product-line-actions,
body .tvpanel-product-actions-wrapper,
body .product-actions-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
}


/* ============================================================================
   41 — PRODUCT PAGE: reassurance boxes (Security/Delivery/Return) editorial
   + Add to cart button readability fix (ensure text never black-on-black)
   ============================================================================ */

/* #block-reassurance on the product page — turn into 3 clean editorial tiles */
body #product #block-reassurance,
body #product .block-reassurance,
body body.product #block-reassurance,
body #product .blockreassurance_product,
body .product-reassurance,
body #blockreassurance_product {
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid var(--li-line-soft) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 24px 0 !important;
  margin: 32px 0 !important;
  box-shadow: none !important;
}
body #product #block-reassurance ul,
body #product .block-reassurance ul,
body #product .blockreassurance_product ul {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body #product #block-reassurance li,
body #product .block-reassurance li {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}
body #product #block-reassurance .block-reassurance-item,
body #product .block-reassurance .block-reassurance-item {
  display: flex !important;
  gap: 14px !important;
  align-items: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
body #product #block-reassurance .block-reassurance-item img,
body #product .block-reassurance .block-reassurance-item img {
  width: 28px !important;
  height: 28px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  margin: 2px 0 0 !important;
  filter: none !important;
}
body #product #block-reassurance .block-reassurance-item span,
body #product .block-reassurance .block-reassurance-item span,
body #product .block-reassurance-item > span {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  font-family: var(--li-font-serif) !important;
  font-size: 14px !important;
  color: var(--li-ink-2) !important;
  line-height: 1.45 !important;
}
/* The duplicate label issue — text contains "Security policy :" twice.
   Hide the first occurrence (which is a strong/heading element). */
body #product .block-reassurance-item strong:first-child,
body #product .block-reassurance-item > span > strong,
body #product .block-reassurance-item .reassurance-title:first-child {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 2px !important;
}
/* When the same text appears twice (duplicate), hide the second occurrence */
body #product .block-reassurance-item span span:nth-of-type(1):not(:only-child),
body #product .block-reassurance-item p:nth-of-type(1) + p:nth-of-type(2) {
  /* keep the description visible (italic editorial) */
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: var(--li-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
/* Hide the duplicated "Security policy :" / "Delivery policy :" lines that
   appear before the real description (Sentez/ThemeVolty bug). */
body #product .block-reassurance-item > span:first-child:not(:only-child),
body #product .block-reassurance-item .duplicate-label {
  display: none !important;
}


/* ============================================================================
   41B — CATEGORY FILTERS: kill dark overlay that blocks clicks
   On mobile the filter drawer pulls a fullscreen backdrop in front of itself.
   Force the filter sidebar above any overlay so it's clickable.
   ============================================================================ */
body.page-category .filter-overlay,
body.page-category .tvcms-filter-overlay,
body.page-category .tvcms-overlay-bg,
body.page-category .tvcmsfilter-overlay,
body.page-category .tv-filter-overlay {
  display: none !important;
}
body.page-category #search_filters,
body.page-category .block.filter-block,
body.page-category #_desktop_search_filters,
body.page-category #_mobile_search_filters,
body.page-category .filter-block,
body.page-category .tvcms-filter-wrapper {
  z-index: 100 !important;
  position: relative !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  background: var(--li-paper) !important;
}
body.page-category #search_filters *,
body.page-category .block.filter-block *,
body.page-category .filter-block * {
  pointer-events: auto !important;
}
/* The mobile drawer (slide-in panel) */
body.page-category #_mobile_search_filters_wrapper,
body.page-category .tvcms-mobile-filters,
body.page-category .filter-drawer {
  z-index: 9998 !important;
  background: var(--li-paper) !important;
  pointer-events: auto !important;
}
/* And its specific backdrop (if .modal-backdrop is leaking through) */
body.page-category .modal-backdrop {
  z-index: 9997 !important;
}


/* ============================================================================
   42 — PRODUCT PAGE Add-to-cart / Out-of-stock button — readability guard
   The original disabled-state ships black-on-black. Force ink/paper contrast.
   ============================================================================ */
body #product .product-add-to-cart .add-to-cart,
body #product #add-to-cart-or-refresh button,
body #product #add-to-cart-or-refresh button.add-to-cart,
body #product .add-to-cart,
body #product button[data-button-action="add-to-cart"],
body .product-actions .add-to-cart,
body .product-add-to-cart button {
  background: var(--li-ink) !important;
  background-color: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-ink) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 18px 32px !important;
  width: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background var(--li-fast) ease, border-color var(--li-fast) ease !important;
  opacity: 1 !important;
}
body #product .add-to-cart *,
body #product .add-to-cart span,
body #product .add-to-cart i,
body #product .add-to-cart svg,
body #product #add-to-cart-or-refresh button * {
  color: var(--li-paper) !important;
  stroke: var(--li-paper) !important;
  fill: none !important;
}
body #product .add-to-cart svg path {
  stroke: var(--li-paper) !important;
}
body #product .add-to-cart:hover,
body #product #add-to-cart-or-refresh button:hover {
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}

/* Out-of-stock / disabled state — still readable */
body #product .add-to-cart:disabled,
body #product .add-to-cart.disabled,
body #product .add-to-cart.tvproduct-out-of-stock,
body #product button.add-to-cart[disabled],
body #product .out-of-stock-btn {
  background: var(--li-muted) !important;
  background-color: var(--li-muted) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-muted) !important;
  cursor: not-allowed !important;
  opacity: 0.85 !important;
}
body #product .add-to-cart:disabled *,
body #product .add-to-cart.disabled *,
body #product .add-to-cart.tvproduct-out-of-stock * {
  color: var(--li-paper) !important;
  stroke: var(--li-paper) !important;
}

/* If theme labels with material-icons inside, make sure they're visible */
body #product .add-to-cart .material-icons,
body #product .add-to-cart i.material-icons {
  font-size: 18px !important;
  color: var(--li-paper) !important;
}


/* ============================================================================
   43 — WISHLIST PILL (.tvproduct-wishlist) — TOP-LEFT, always visible
   Boutique classic: heart sits alone on the image's top-left corner, the
   other 4 actions stay top-right on hover.
   Position is set relative to .product-miniature so heart escapes the
   .tvproduct-hover-btn flex column and lands on the card itself.
   ============================================================================ */

/* The product card wrapper MUST be position:relative so the heart anchors to it */
body .product-miniature,
body .product-miniature .thumbnail-container,
body .product-miniature .tvproduct-wrapper {
  position: relative !important;
}

/* Heart pill — top-left of the IMAGE, always visible */
body .product-miniature .tvproduct-wishlist,
body .product-miniature .tvproduct-hover-btn .tvproduct-wishlist,
body .tvproduct-image .tvproduct-wishlist,
body .product-miniature [class*="tvproduct-wishlist"] {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.10) !important;
  color: var(--li-ink) !important;
  overflow: visible !important;
  z-index: 4 !important;
  /* Always visible — NOT tied to hover */
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  transition: background var(--li-fast) ease, border-color var(--li-fast) ease, transform var(--li-fast) ease !important;
}
body .product-miniature .tvproduct-wishlist:hover {
  background: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
  transform: scale(1.06) !important;
}
body .product-miniature .tvproduct-wishlist:hover::before {
  background-color: var(--li-paper) !important;
}
body .tvproduct-hover-btn .tvproduct-wishlist > *,
body .tvproduct-hover-btn .tvproduct-wishlist a,
body .tvproduct-hover-btn .tvproduct-wishlist button,
body .tvproduct-hover-btn .tvproduct-wishlist .wishtlist_top,
body .tvproduct-hover-btn .tvproduct-wishlist .tvcms-wishlist-icon {
  position: static !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: 100% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 50% !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  font-size: 0 !important;
  letter-spacing: normal !important;
  cursor: pointer !important;
}

/* Heart SVG mask inside the wishlist pill */
body .tvproduct-hover-btn .tvproduct-wishlist::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 18px !important;
  height: 18px !important;
  background-color: var(--li-ink) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  transition: background-color var(--li-fast) ease !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* Hide whatever icon the theme had inside */
body .tvproduct-hover-btn .tvproduct-wishlist svg,
body .tvproduct-hover-btn .tvproduct-wishlist i,
body .tvproduct-hover-btn .tvproduct-wishlist .material-icons,
body .tvproduct-hover-btn .tvproduct-wishlist .wishlist-label,
body .tvproduct-hover-btn .tvproduct-wishlist img {
  display: none !important;
  visibility: hidden !important;
}

/* Hover state */
body .tvproduct-hover-btn .tvproduct-wishlist:hover {
  background: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
}
body .tvproduct-hover-btn .tvproduct-wishlist:hover::before {
  background-color: var(--li-paper) !important;
}

/* Active (in wishlist) — filled accent */
body .tvproduct-hover-btn .tvproduct-wishlist.is-active,
body .tvproduct-hover-btn .tvproduct-wishlist.added,
body .tvproduct-hover-btn .tvproduct-wishlist:has(.wishlist-button-add[data-product-is-added="true"]) {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
}
body .tvproduct-hover-btn .tvproduct-wishlist.is-active::before,
body .tvproduct-hover-btn .tvproduct-wishlist.added::before {
  background-color: var(--li-paper) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
}


/* ============================================================================
   44 — FINAL OVERRIDE: heart MUST be top-left of card (max specificity)
   This rule wins over section 40 (which forces flex-column flow). It pulls
   the heart absolute out of .tvproduct-hover-btn and anchors it to the card.
   ============================================================================ */
html body div.product-miniature .tvproduct-hover-btn > div.tvproduct-wishlist,
html body article.product-miniature .tvproduct-hover-btn > div.tvproduct-wishlist,
html body .product-miniature div.tvproduct-hover-btn div.tvproduct-wishlist,
html body .product-miniature .tvproduct-wishlist {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  bottom: auto !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.10) !important;
  color: var(--li-ink) !important;
  z-index: 5 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
  flex: none !important;
  order: 0 !important;
  align-self: auto !important;
}
html body .product-miniature .tvproduct-wishlist:hover {
  background: var(--li-ink) !important;
  border-color: var(--li-ink) !important;
  transform: scale(1.06) !important;
}

/* The heart's mask icon (::before) — keep ink, paper on hover */
html body .product-miniature .tvproduct-wishlist::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 17px !important;
  height: 17px !important;
  background-color: var(--li-ink) !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.29 1.51 4.04 3 5.5l7 7Z'/%3E%3C/svg%3E") !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
html body .product-miniature .tvproduct-wishlist:hover::before {
  background-color: var(--li-paper) !important;
}


/* ============================================================================
   45 — PRODUCT PAGE REASSURANCE — elegant editorial card
   3 items stacked vertically in a beige card with hairline dividers.
   Cleaner visual than the previous 3-column grid.
   ============================================================================ */
body .la-product-reassurance {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  margin: 32px 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body .la-product-reassurance,
body .la-product-reassurance * {
  box-sizing: border-box !important;
}
body #block-reassurance.la-product-reassurance ul,
body .la-product-reassurance#block-reassurance ul,
body .la-product-reassurance ul,
html body #block-reassurance.la-product-reassurance ul {
  display: block !important;
  grid-template-columns: none !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  gap: 0 !important;
}
body #block-reassurance.la-product-reassurance li,
body .la-product-reassurance#block-reassurance li,
body .la-product-reassurance li,
html body #block-reassurance.la-product-reassurance li {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  grid-column: 1 !important;
  flex: none !important;
}
body .la-product-reassurance li:last-child {
  border-bottom: 0 !important;
}
body .la-reassurance-item {
  display: flex !important;
  gap: 18px !important;
  align-items: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  padding: 18px 22px !important;
  transition: background var(--li-fast) ease !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}
body .la-reassurance-body {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: calc(100% - 56px) !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}
body .la-product-reassurance li:hover .la-reassurance-item {
  background: rgba(255, 255, 255, 0.4) !important;
}
body .la-reassurance-icon {
  flex: 0 0 auto !important;
  width: 40px !important;
  height: 40px !important;
  display: grid !important;
  place-items: center !important;
  color: var(--li-accent) !important;
  background: var(--li-paper) !important;
  border-radius: 50% !important;
  border: 1px solid var(--li-line) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body .la-reassurance-icon svg {
  width: 20px !important;
  height: 20px !important;
  stroke: var(--li-accent) !important;
  fill: none !important;
  stroke-width: 1.5 !important;
  display: block !important;
}
body .la-reassurance-icon img {
  width: 22px !important;
  height: 22px !important;
  object-fit: contain !important;
  filter: none !important;
  display: block !important;
}
body .la-reassurance-body {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding-top: 2px !important;
}
body .la-reassurance-title {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  margin: 0 0 4px !important;
  line-height: 1.2 !important;
}
body .la-reassurance-desc {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-muted) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}
@media (max-width: 768px) {
  body .la-reassurance-item {
    padding: 14px 16px !important;
    gap: 14px !important;
  }
  body .la-reassurance-icon {
    width: 32px !important;
    height: 32px !important;
  }
  body .la-reassurance-desc {
    font-size: 13px !important;
  }
}

/* Hide leftover .block-title / loose <span>s if old markup leaks through */
body .la-product-reassurance .block-title { display: none !important; }


/* ============================================================================
   46 — HEART RELOCATION (JS-relocated hearts get extra safety styles)
   The JS moves .tvproduct-wishlist OUT of .tvproduct-hover-btn into the card
   so positioning works. These styles cover the new parent context too.
   ============================================================================ */
body .product-miniature > .tvproduct-wishlist,
body .product-miniature .thumbnail-container > .tvproduct-wishlist,
body .product-miniature .tvproduct-wrapper > .tvproduct-wishlist,
body .product-miniature .tvproduct-image > .tvproduct-wishlist {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;
  width: 38px !important;
  height: 38px !important;
  z-index: 5 !important;
  display: inline-flex !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 12px rgba(28, 26, 23, 0.10) !important;
}

/* Defense: the original heart inside .tvproduct-hover-btn (if JS didn't move
   it yet, e.g. carousels) — hide it so user never sees a duplicate. */
body .tvproduct-hover-btn .tvproduct-wishlist {
  display: none !important;
}


/* ============================================================================
   47ZZ — TOTAL NUKE on PRODUCT DETAIL PAGE: every wishlist DOM node, gone.
   Includes the .tvproduct-wishlist wrapper that surrounds the heart.
   Card listings keep their hearts via earlier .product-miniature rules.
   ============================================================================ */
html body.page-product .tvproduct-wishlist,
html body.page-product div.tvproduct-wishlist,
html body.page-product .product-cover .tvproduct-wishlist,
html body.page-product .product-images .tvproduct-wishlist,
html body.page-product .tvproduct-image .tvproduct-wishlist,
html body.page-product .images-container .tvproduct-wishlist,
html body.page-product #product-modal .tvproduct-wishlist,
html body#product .tvproduct-wishlist,
html body#product div.tvproduct-wishlist,
html body#product .product-cover .tvproduct-wishlist,
html body#product .product-images .tvproduct-wishlist,
html body#product .tvproduct-image .tvproduct-wishlist,
html body#product .images-container .tvproduct-wishlist,
html body#product #product-modal .tvproduct-wishlist {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  overflow: hidden !important;
  z-index: -1 !important;
}


/* ============================================================================
   47Z — ABSOLUTE NUCLEAR: hide .panel-product-line.tvproduct-wishlist-icon
   ANYWHERE on the site (not just product page). User confirmed these still
   render in product page and quick-view popups. Hide globally.
   ============================================================================ */
html body div.panel-product-line.panel-product-actions.tvproduct-wishlist-icon,
html body .panel-product-line.tvproduct-wishlist-icon,
html body .panel-product-line.panel-product-actions,
html body .tvproduct-wishlist-icon,
html body div.tvproduct-wishlist-icon,
html body svg.tvproduct-wishlist-icon,
html body a.tvquick-view-popup-wishlist,
html body .tvquick-view-popup-wishlist,
html body a.wishlist_button {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  z-index: -1 !important;
}


/* ============================================================================
   47A — KILL WISHLIST HEARTS EVERYWHERE EXCEPT LISTING CARDS
   The .tvquick-view-popup-wishlist sits inside quick-view popup AND on the
   product detail page top-left. Kill it globally. Other wishlist hearts
   (cards) are kept via more-specific .product-miniature rules earlier.
   ============================================================================ */
body .tvquick-view-popup-wishlist,
body a.tvquick-view-popup-wishlist,
body .wishlist_button,
body a.wishlist_button,
body .tvquick-view-popup-wishlist .panel-product-line,
body .tvquick-view-popup-wishlist .panel-product-actions,
body .tvquick-view-popup-wishlist .tvproduct-wishlist-icon,
body .tvquick-view-popup-wishlist svg,
body .wishlist_button .panel-product-line,
body .wishlist_button .tvproduct-wishlist-icon,
body .wishlist_button svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  overflow: hidden !important;
}


/* ============================================================================
   47 — KILL ALL WISHLIST HEARTS ON PRODUCT DETAIL PAGE (nuclear option)
   The product detail page should have NO wishlist heart on the main image
   area. The user's "Add to wishlist" lives only as a button next to Add-to-cart
   below the price. Anything else with "wishlist" in its class on the product
   image / gallery area gets nuked.
   ============================================================================ */
body.page-product .product-cover [class*="wishlist"],
body.page-product .product-cover [class*="Wishlist"],
body.page-product .images-container [class*="wishlist"],
body.page-product .product-images [class*="wishlist"],
body.page-product .tvproduct-image [class*="wishlist"],
body.page-product .tvproduct-wishlist,
body.page-product .tvproduct-wishlist-icon,
body.page-product svg.tvproduct-wishlist-icon,
body.page-product .panel-product-line,
body.page-product .panel-product-actions,
body.page-product svg.panel-product-line,
body.page-product .panel-product-quickview,
body.page-product .product-actions-panel,
body#product .product-cover [class*="wishlist"],
body#product .images-container [class*="wishlist"],
body#product .product-images [class*="wishlist"],
body#product .tvproduct-image [class*="wishlist"],
body#product .tvproduct-wishlist,
body#product .tvproduct-wishlist-icon,
body#product svg.tvproduct-wishlist-icon,
body#product .panel-product-line,
body#product .panel-product-actions,
body#product .panel-product-quickview,
body#product .product-actions-panel,
/* Note: .tvwishlist-compare-wrapper-page is NOT hidden — it contains the
   Add to cart button. Only its child .tvproduct-wishlist-compare is hidden. */
body.page-product .tvproduct-wishlist-compare,
body.page-product .wishlist-toast,
body#product .tvproduct-wishlist-compare,
body#product .wishlist-toast,
/* PrestaShop's built-in wishlist button on product hero (if present) */
body.page-product .product-actions .wishlist-button-add,
body.page-product .product-prices .wishlist-button-add,
body.page-product .images-container .wishlist-button-add,
body#product .product-actions .wishlist-button-add,
body#product .images-container .wishlist-button-add,
/* Catch-all on the upper-left of product page */
body.page-product .product-cover-image .tvproduct-wishlist,
body.page-product #product-modal .tvproduct-wishlist,
body#product .product-cover-image .tvproduct-wishlist,
body#product #product-modal .tvproduct-wishlist,
body.page-product .layer_cart_product .tvproduct-wishlist {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}


/* ============================================================================
   48 — REMOVE WISHLIST HEART FROM EVERY PRODUCT LISTING CARD
   User decision: no wishlist heart on listing cards. Hover stack keeps only
   the 3 essential actions (compare, cart, quick view).
   ============================================================================ */
html body .product-miniature .tvproduct-wishlist,
html body article.item .tvproduct-wishlist,
html body .tvproduct-wrapper .tvproduct-wishlist,
html body .tvproduct-image .tvproduct-wishlist,
html body .tvproduct-hover-btn .tvproduct-wishlist,
html body .tvall-product-btn-list .tvproduct-wishlist,
html body .tvproduct-catalog-btn-wrapper .tvproduct-wishlist,
html body .tvproduct-wishlist,
html body .tvquick-view-popup-wishlist,
html body a.tvquick-view-popup-wishlist,
html body .tvproduct-wishlist-icon,
html body div.panel-product-line.panel-product-actions.tvproduct-wishlist-icon {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: -1 !important;
}


/* ============================================================================
   49 — REMOVE HOVER ACTION ICONS ONLY ON PRODUCT LISTING CARDS
   IMPORTANT: scope strictly to .product-miniature so we don't accidentally
   hide the Add to cart button on the product detail page (which uses the
   .tvproduct-add-to-cart class too).
   ============================================================================ */
html body .product-miniature .tvproduct-hover-btn,
html body article.item .tvproduct-hover-btn,
html body .tvproduct-image .tvproduct-hover-btn,
html body .product-miniature .tvproduct-quick-btn,
html body .product-miniature .tvproduct-cart-btn,
html body .product-miniature .tvcompare-wrapper,
html body .product-miniature .tvproduct-compare,
html body .product-miniature .tvcmsproduct-compare-btn,
html body .product-miniature .tvproduct-compare-icon,
html body .product-miniature .tvproduct-quick-icon,
html body .product-miniature .quick-view,
html body .product-miniature .tvproduct-add-to-cart,
html body .tvall-product-btn-list .tvcompare-wrapper,
html body .tvall-product-btn-list .tvproduct-cart-btn,
html body .tvall-product-btn-list .tvproduct-quick-btn,
html body .tvproduct-catalog-btn-wrapper .tvcompare-wrapper,
html body .tvproduct-catalog-btn-wrapper .tvproduct-cart-btn,
html body .tvproduct-catalog-btn-wrapper .tvproduct-quick-btn,
html body .tvcatlog-button-wrapper {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  pointer-events: none !important;
  overflow: hidden !important;
  z-index: -1 !important;
}

/* Make the entire card image area a clickable link (no overlay) */
html body .product-miniature .tvproduct-image,
html body article.item .tvproduct-image {
  cursor: pointer !important;
}


/* ============================================================================
   50 — TRIPLE BANNER REDESIGN (.la-banner3)
   Symmetric editorial layout: ONE tall image on the left, TWO small images
   stacked on the right. Both column widths follow a balanced 1.3:1 ratio.
   ============================================================================ */
body .la-banner3 {
  padding: 56px 0 80px !important;
  background: var(--li-paper) !important;
}
body .la-banner3 .la-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
body .la-banner3-grid {
  display: grid !important;
  grid-template-columns: 1.3fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 18px !important;
  aspect-ratio: 16 / 11 !important;
  max-height: 720px !important;
}

/* Tall banner (left, full height) */
body .la-banner3-card--tall,
body .la-banner3-grid > .la-banner3-card:first-child {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  aspect-ratio: auto !important;
}

/* The two smaller banners on the right — stacked vertically */
body .la-banner3-grid > .la-banner3-card:nth-child(2) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  aspect-ratio: auto !important;
}
body .la-banner3-grid > .la-banner3-card:nth-child(3) {
  grid-column: 2 !important;
  grid-row: 2 !important;
  aspect-ratio: auto !important;
}

/* Card styling: refined editorial — clean border-less, subtle scale on hover */
body .la-banner3-card {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: var(--li-paper-2) !important;
  text-decoration: none !important;
  color: var(--li-paper) !important;
  width: 100% !important;
  height: 100% !important;
  cursor: pointer !important;
}
body .la-banner3-card img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 900ms var(--li-ease) !important;
}
body .la-banner3-card:hover img {
  transform: scale(1.06) !important;
}

/* Gradient overlay for label legibility */
body .la-banner3-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    to top,
    rgba(28, 26, 23, 0.65) 0%,
    rgba(28, 26, 23, 0.25) 35%,
    rgba(28, 26, 23, 0) 65%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  transition: opacity var(--li-normal) ease !important;
}
body .la-banner3-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 16px !important;
  border: 1px solid rgba(251, 247, 241, 0.25) !important;
  pointer-events: none !important;
  z-index: 1 !important;
  transition: border-color var(--li-normal) ease !important;
}
body .la-banner3-card:hover::after {
  border-color: rgba(251, 247, 241, 0.5) !important;
}

/* Caption label */
body .la-banner3-label {
  position: absolute !important;
  left: 32px !important;
  right: 32px !important;
  bottom: 30px !important;
  z-index: 2 !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-display) !important;
  font-weight: 400 !important;
  font-size: clamp(22px, 2.2vw, 34px) !important;
  line-height: 1.05 !important;
  letter-spacing: var(--li-tr-display) !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3) !important;
}
body .la-banner3-label * {
  color: var(--li-paper) !important;
  font-family: var(--li-font-display) !important;
}

/* Small "Discover →" indicator that slides on hover */
body .la-banner3-card .la-banner3-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 8px !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: var(--li-tr-wide) !important;
  text-transform: uppercase !important;
  opacity: 0.85 !important;
  transition: gap var(--li-normal) ease, opacity var(--li-normal) ease !important;
}
body .la-banner3-card:hover .la-banner3-cta {
  gap: 14px !important;
  opacity: 1 !important;
}

/* Smaller bottom-stack labels (the 2 right-side cards) */
body .la-banner3-grid > .la-banner3-card:nth-child(n+2) .la-banner3-label {
  font-size: clamp(18px, 1.7vw, 24px) !important;
  left: 24px !important;
  right: 24px !important;
  bottom: 24px !important;
}

/* Responsive — mobile stacks all 3 vertically */
@media (max-width: 992px) {
  body .la-banner3 { padding: 40px 0 56px !important; }
  body .la-banner3 .la-wrap { padding: 0 20px !important; }
  body .la-banner3-grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    aspect-ratio: auto !important;
    max-height: none !important;
    gap: 12px !important;
  }
  body .la-banner3-card,
  body .la-banner3-card--tall,
  body .la-banner3-grid > .la-banner3-card:nth-child(1),
  body .la-banner3-grid > .la-banner3-card:nth-child(2),
  body .la-banner3-grid > .la-banner3-card:nth-child(3) {
    grid-column: 1 !important;
    grid-row: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
  body .la-banner3-label {
    font-size: 22px !important;
    left: 20px !important;
    right: 20px !important;
    bottom: 20px !important;
  }
  body .la-banner3-card::after {
    inset: 12px !important;
  }
}


/* ============================================================================
   51 — PRODUCT DETAIL: quantity selector + size dropdown + add-to-cart
   The default styling makes +/- buttons huge. Compact editorial design.
   ============================================================================ */

/* Quantity selector container */
body #product .product-quantity,
body .product-quantity {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 16px 0 !important;
}
body #product .product-quantity .control-label,
body .product-quantity .control-label {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* The qty box (input + +/-) */
body #product .qty,
body .product-quantity .qty {
  display: inline-flex !important;
  align-items: stretch !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  background: var(--li-paper) !important;
  width: auto !important;
  height: 44px !important;
  overflow: hidden !important;
}
body #product .qty .input-group,
body #product .qty .bootstrap-touchspin {
  display: inline-flex !important;
  align-items: stretch !important;
  border: 0 !important;
  background: transparent !important;
  width: auto !important;
  height: 100% !important;
  box-shadow: none !important;
}
body #product .qty .form-control,
body #product .qty #quantity_wanted,
body #product input[name="qty"] {
  width: 56px !important;
  height: 100% !important;
  text-align: center !important;
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  -moz-appearance: textfield !important;
}

/* +/- buttons (Bootstrap Touchspin) — small editorial */
body #product .qty .input-group-btn-vertical,
body #product .qty .input-group-btn,
body .product-quantity .input-group-btn-vertical {
  display: inline-flex !important;
  flex-direction: column !important;
  width: 36px !important;
  border-left: 1px solid var(--li-line) !important;
  background: transparent !important;
}
body #product .btn-touchspin,
body #product .qty .btn-touchspin,
body #product .qty button,
body .product-quantity .btn-touchspin,
body .bootstrap-touchspin-up,
body .bootstrap-touchspin-down,
body .js-touchspin {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 36px !important;
  height: 22px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 36px !important;
  max-height: 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: var(--li-ink) !important;
  font-size: 14px !important;
  font-family: var(--li-font-sans) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  transition: background var(--li-fast) ease !important;
}
body #product .btn-touchspin + .btn-touchspin,
body #product .qty .input-group-btn-vertical .btn-touchspin:nth-child(2) {
  border-top: 1px solid var(--li-line) !important;
}
body #product .btn-touchspin:hover,
body #product .qty button:hover {
  background: var(--li-paper-2) !important;
  color: var(--li-accent) !important;
}

/* The +/- icons inside the buttons */
body #product .btn-touchspin i,
body #product .btn-touchspin .material-icons,
body #product .touchspin-up,
body #product .touchspin-down,
body #product i.touchspin-up,
body #product i.touchspin-down {
  font-size: 14px !important;
  width: auto !important;
  height: auto !important;
  line-height: 1 !important;
  color: inherit !important;
}
/* Replace +/- icons with text — Material icons may not render */
body #product .btn-touchspin.bootstrap-touchspin-up::after,
body #product .qty .btn-touchspin:first-child::after {
  content: "+" !important;
  font-family: var(--li-font-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
body #product .btn-touchspin.bootstrap-touchspin-down::after,
body #product .qty .btn-touchspin:last-child::after {
  content: "−" !important;
  font-family: var(--li-font-sans) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
}
body #product .btn-touchspin i.material-icons.touchspin-up,
body #product .btn-touchspin i.material-icons.touchspin-down {
  display: none !important;
}

/* Add to cart container + button */
body #product .product-add-to-cart {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin: 20px 0 !important;
}
body #product .product-add-to-cart .product-quantity {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
body #product .product-add-to-cart .add-to-cart,
body #product #add-to-cart-or-refresh .add-to-cart,
body #product button.add-to-cart,
body #product button[data-button-action="add-to-cart"] {
  flex: 1 1 auto !important;
  min-width: 220px !important;
  height: 52px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 0 32px !important;
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-ink) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background var(--li-fast) ease, border-color var(--li-fast) ease !important;
}
body #product .add-to-cart:hover,
body #product button.add-to-cart:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
}
body #product .add-to-cart *,
body #product .add-to-cart svg,
body #product .add-to-cart svg path {
  color: var(--li-paper) !important;
  stroke: var(--li-paper) !important;
  fill: none !important;
}

/* Size dropdown */
body #product .product-variants .form-control-select,
body #product select.form-control,
body #product select#group_1 {
  height: 44px !important;
  padding: 0 38px 0 14px !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  background: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1A17' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 14px !important;
  cursor: pointer !important;
  min-width: 120px !important;
}
body #product .product-variants-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 16px 0 !important;
}
body #product .product-variants-item .control-label {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  margin: 0 !important;
}


/* ============================================================================
   52A — PRODUCT ADD-TO-CART BUTTON wrapper (.tvwishlist-compare-wrapper-page)
   This is the actual visible Add-to-cart row sitting under the quantity.
   ============================================================================ */
body #product .tvwishlist-compare-wrapper-page,
body #product .tv-product-page-add-to-cart-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin: 24px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}
body #product .tvcart-btn-model {
  flex: 1 1 auto !important;
  display: block !important;
}
body #product .tvcart-btn-model button.add-to-cart,
body #product .tvcart-btn-model .tvall-inner-btn.add-to-cart,
body #product button.tvall-inner-btn.add-to-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  height: 56px !important;
  padding: 0 32px !important;
  background: var(--li-accent) !important;        /* terracotta — warm boutique tone */
  background-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-accent) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background var(--li-fast) ease, border-color var(--li-fast) ease, transform var(--li-fast) ease !important;
}
body #product .tvcart-btn-model button.add-to-cart *,
body #product .tvcart-btn-model .tvall-inner-btn * {
  color: var(--li-paper) !important;
  font-family: inherit !important;
}
body #product .tvcart-btn-model button.add-to-cart i.material-icons,
body #product .tvcart-btn-model button.add-to-cart .shopping-cart {
  font-size: 18px !important;
  color: var(--li-paper) !important;
}
body #product .tvcart-btn-model button.add-to-cart:hover {
  background: var(--li-accent-2) !important;       /* olive-brown deeper on hover */
  background-color: var(--li-accent-2) !important;
  border-color: var(--li-accent-2) !important;
  transform: translateY(-1px) !important;
}


/* ============================================================================
   52 — DISABLE the sticky bottom bar (we already have the main button now).
   The theme's sticky duplicate becomes clutter — hide it.
   ============================================================================ */
body.page-product .tvfooter-product-sticky-bottom,
body#product .tvfooter-product-sticky-bottom {
  display: none !important;
}
body.page-product,
body#product {
  padding-bottom: 0 !important;
}

/* OLD SECTION 52 (sticky bar styling) overridden — keep no body padding */
body.page-product .tvfooter-product-sticky-bottom,
body#product .tvfooter-product-sticky-bottom {
  display: block !important;
  visibility: visible !important;
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: var(--li-paper) !important;
  border-top: 1px solid var(--li-line) !important;
  box-shadow: 0 -8px 24px rgba(28, 26, 23, 0.08) !important;
  z-index: 90 !important;
  padding: 14px 0 !important;
  opacity: 1 !important;
}
body.page-product .tvfooter-product-sticky-bottom .container,
body#product .tvfooter-product-sticky-bottom .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  max-width: 1320px !important;
  padding: 0 28px !important;
}
body.page-product .tvfooter-product-sticky-bottom .tvflex-items,
body#product .tvfooter-product-sticky-bottom .tvflex-items {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  width: 100% !important;
}
body.page-product .tvfooter-product-sticky-bottom .tvproduct-image-title-price,
body#product .tvfooter-product-sticky-bottom .tvproduct-image-title-price {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
body.page-product .tvfooter-product-sticky-bottom .product-image img {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  flex-shrink: 0 !important;
}
body.page-product .tvfooter-product-sticky-bottom .tvtitle-price h1,
body#product .tvfooter-product-sticky-bottom .h1 {
  font-family: var(--li-font-display) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  letter-spacing: 0 !important;
}
body.page-product .tvfooter-product-sticky-bottom .product-prices,
body#product .tvfooter-product-sticky-bottom .product-prices {
  display: flex !important;
  align-items: baseline !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 4px 0 0 !important;
}
body.page-product .tvfooter-product-sticky-bottom .price {
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
}
body.page-product .tvfooter-product-sticky-bottom .regular-price {
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  color: var(--li-muted) !important;
  text-decoration: line-through !important;
}
body.page-product .tvfooter-product-sticky-bottom .discount-percentage,
body.page-product .tvfooter-product-sticky-bottom .discount {
  background: var(--li-accent) !important;
  color: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  border-radius: 0 !important;
}

/* The actual ADD TO CART button inside the sticky bar */
body.page-product .tvfooter-product-sticky-bottom .add-to-cart,
body.page-product .tvfooter-product-sticky-bottom button.add-to-cart,
body.page-product .tvfooter-product-sticky-bottom .tvall-inner-btn,
body#product .tvfooter-product-sticky-bottom .add-to-cart,
body#product .tvfooter-product-sticky-bottom button.add-to-cart {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  height: 48px !important;
  padding: 0 36px !important;
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-ink) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  flex-shrink: 0 !important;
  min-width: 200px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-shadow: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
}
body.page-product .tvfooter-product-sticky-bottom .add-to-cart * {
  color: var(--li-paper) !important;
}
body.page-product .tvfooter-product-sticky-bottom .add-to-cart:hover {
  background: var(--li-accent) !important;
  border-color: var(--li-accent) !important;
}
body.page-product .tvfooter-product-sticky-bottom svg.add-cart {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--li-paper) !important;
}
body.page-product .tvfooter-product-sticky-bottom svg.add-cart path,
body.page-product .tvfooter-product-sticky-bottom svg.add-cart ellipse {
  stroke: var(--li-paper) !important;
}

/* Hide quantity/size selectors inside the sticky bar (they exist in the main form) */
body.page-product .tvfooter-product-sticky-bottom .product-quantity,
body.page-product .tvfooter-product-sticky-bottom .product-variants {
  display: none !important;
}

/* Add bottom padding to body so sticky bar doesn't cover footer */
body.page-product,
body#product {
  padding-bottom: 80px !important;
}

@media (max-width: 768px) {
  body.page-product .tvfooter-product-sticky-bottom .container {
    padding: 0 16px !important;
  }
  body.page-product .tvfooter-product-sticky-bottom .tvflex-items {
    gap: 12px !important;
  }
  body.page-product .tvfooter-product-sticky-bottom .product-image img {
    width: 44px !important;
    height: 44px !important;
  }
  body.page-product .tvfooter-product-sticky-bottom .tvtitle-price h1 {
    font-size: 14px !important;
  }
  body.page-product .tvfooter-product-sticky-bottom .add-to-cart {
    min-width: 0 !important;
    padding: 0 18px !important;
    height: 44px !important;
    font-size: 11px !important;
  }
}


/* ============================================================================
   53 — HIDE TWITTER / X ICON EVERYWHERE
   Removes the Twitter share / follow icon from product page, footer, sharing
   widgets, and any social block on the site.
   ============================================================================ */
body a[href*="twitter.com"],
body a[href*="x.com"],
body a[href*="://t.co"],
body a.twitter,
body a.tweet,
body a.btn-twitter,
body li.twitter,
body .twitter,
body .tweet,
body [class*="twitter"]:not(input):not(textarea):not(.twitter-share-button-rendered),
body [class*="tweet"]:not(input):not(textarea),
body .social-twitter,
body .ps-share-button-twitter,
body .ps_sharebuttons .twitter,
body .ps-sharebuttons-twitter,
body .ps-share-twitter,
body [data-network="twitter"],
body [data-share="twitter"],
body i.fa-twitter,
body i.fa-x-twitter,
body i.icon-twitter,
body i.material-icons[data-icon="twitter"],
body svg.icon-twitter,
body svg.twitter-icon,
body img[alt*="Twitter" i],
body img[alt*="twitter" i],
body img[src*="twitter" i],
body img[src*="/tweet" i] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* The whole <li> wrapper of the social-share Twitter item */
body .social-sharing li:has(a[href*="twitter"]),
body .social-share li:has(a[href*="twitter"]),
body .ps_sharebuttons li:has(a[href*="twitter"]),
body ul li:has(a[href*="twitter.com"]) {
  display: none !important;
}


/* ============================================================================
   54 — ADD TO CART (FINAL) — terracotta accent, not black
   Beats every previous selector with a tighter chain + body class match.
   ============================================================================ */
html body.page-product button.add-to-cart,
html body.page-product button.tvall-inner-btn.add-to-cart,
html body.page-product .tvcart-btn-model button.add-to-cart,
html body.page-product .tv-product-page-add-to-cart-wrapper button.add-to-cart,
html body.page-product button[data-button-action="add-to-cart"],
html body#product button.add-to-cart,
html body#product button.tvall-inner-btn.add-to-cart,
html body#product .tvcart-btn-model button.add-to-cart,
html body#product .tv-product-page-add-to-cart-wrapper button.add-to-cart,
html body#product button[data-button-action="add-to-cart"] {
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-accent) !important;
}
html body.page-product button.add-to-cart:hover,
html body.page-product button.tvall-inner-btn.add-to-cart:hover,
html body.page-product .tvcart-btn-model button.add-to-cart:hover,
html body#product button.add-to-cart:hover,
html body#product button.tvall-inner-btn.add-to-cart:hover,
html body#product .tvcart-btn-model button.add-to-cart:hover {
  background: var(--li-accent-2) !important;
  background-color: var(--li-accent-2) !important;
  border-color: var(--li-accent-2) !important;
}


/* ============================================================================
   55 — CART DRAWER FOOTER BUTTONS (.ttvcart-product-list-viewcart + checkout)
   Both buttons share the same editorial terracotta accent styling.
   ============================================================================ */
body .ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart,
body .ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout,
body .ttvcart-product-list-viewcart,
body .ttvcart-product-list-checkout {
  width: 50% !important;
  display: block !important;
  float: left !important;
  text-align: center !important;
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: background var(--li-fast) ease !important;
}
body .ttvcmscart-show-dropdown-right .ttvcart-product-list-viewcart a,
body .ttvcmscart-show-dropdown-right .ttvcart-product-list-checkout a,
body .ttvcart-product-list-viewcart a,
body .ttvcart-product-list-checkout a,
body .ttvcart-product-list-viewcart button,
body .ttvcart-product-list-checkout button {
  display: block !important;
  padding: 16px 14px !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--li-paper) !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  width: 100% !important;
}
body .ttvcart-product-list-viewcart:hover,
body .ttvcart-product-list-checkout:hover {
  background: var(--li-accent-2) !important;
  background-color: var(--li-accent-2) !important;
}
body .ttvcart-product-list-viewcart:hover a,
body .ttvcart-product-list-checkout:hover a,
body .ttvcart-product-list-viewcart:hover *,
body .ttvcart-product-list-checkout:hover * {
  color: var(--li-paper) !important;
}

/* Separator between the two (subtle divider) */
body .ttvcart-product-list-viewcart {
  border-right: 1px solid rgba(251, 247, 241, 0.2) !important;
}


/* ============================================================================
   56 — CART PAGE BUTTONS: Continue shopping + Checkout
   Both buttons get the same editorial terracotta accent so they're readable
   (theme defaults render black-on-black).
   ============================================================================ */

/* Continue shopping button (.tv-continue-shopping-btn.tvall-inner-btn) */
html body .tv-continue-shopping-btn,
html body a.tv-continue-shopping-btn,
html body .tv-continue-shopping-btn.tvall-inner-btn,
html body a.tv-continue-shopping-btn.tvall-inner-btn,
html body.page-cart .tv-continue-shopping-btn,
html body.page-cart a.tv-continue-shopping-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 14px 28px !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--li-ink) !important;
  border: 1px solid var(--li-ink) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background var(--li-fast) ease, color var(--li-fast) ease !important;
}
html body .tv-continue-shopping-btn *,
html body .tv-continue-shopping-btn span,
html body .tv-continue-shopping-btn i {
  color: var(--li-ink) !important;
  font-family: inherit !important;
}
html body .tv-continue-shopping-btn:hover,
html body a.tv-continue-shopping-btn:hover {
  background: var(--li-ink) !important;
  color: var(--li-paper) !important;
}
html body .tv-continue-shopping-btn:hover *,
html body .tv-continue-shopping-btn:hover span {
  color: var(--li-paper) !important;
}

/* Checkout action block (.checkout.cart-detailed-actions.card-block) */
html body .checkout.cart-detailed-actions.card-block,
html body .cart-detailed-actions.card-block,
html body.page-cart .checkout.cart-detailed-actions,
html body.page-cart .cart-detailed-actions {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-top: 16px !important;
  box-shadow: none !important;
}

/* The actual Checkout button inside that block */
html body .checkout.cart-detailed-actions a,
html body .checkout.cart-detailed-actions button,
html body .cart-detailed-actions a.btn-primary,
html body .cart-detailed-actions button.btn-primary,
html body.page-cart .checkout.cart-detailed-actions .btn,
html body.page-cart .cart-detailed-actions .btn,
html body.page-cart a.checkout {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 16px 28px !important;
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-accent) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background var(--li-fast) ease, border-color var(--li-fast) ease !important;
}
html body .checkout.cart-detailed-actions a *,
html body .cart-detailed-actions .btn *,
html body.page-cart a.checkout * {
  color: var(--li-paper) !important;
  font-family: inherit !important;
}
html body .checkout.cart-detailed-actions a:hover,
html body .cart-detailed-actions .btn:hover,
html body.page-cart a.checkout:hover {
  background: var(--li-accent-2) !important;
  background-color: var(--li-accent-2) !important;
  border-color: var(--li-accent-2) !important;
}


/* ============================================================================
   57 — CHECKOUT PAGE (/index.php?controller=order) — full editorial redesign
   ============================================================================ */

/* Page shell */
body.page-checkout,
body#checkout {
  background: var(--li-paper) !important;
}
body.page-checkout #wrapper,
body.page-checkout #main,
body.page-checkout #content,
body#checkout #wrapper,
body#checkout #main {
  background: var(--li-paper) !important;
}

/* Checkout header (simplified — logo + contact) */
body.page-checkout .header-nav,
body.page-checkout header,
body#checkout header {
  background: var(--li-paper) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 20px 0 !important;
}
body.page-checkout .header-nav .logo,
body.page-checkout header .logo,
body#checkout .logo {
  max-height: 60px !important;
  width: auto !important;
}

/* Layout — 2 columns with the cart summary slim on right */
body.page-checkout .container,
body#checkout .container {
  max-width: 1240px !important;
  padding: 0 24px !important;
}
body.page-checkout #checkout-process {
  background: transparent !important;
  padding: 0 !important;
}

/* Each step card */
body.page-checkout .checkout-step,
body#checkout .checkout-step {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  margin: 0 0 14px !important;
  padding: 24px 28px !important;
  box-shadow: none !important;
}
body.page-checkout .checkout-step.-current {
  border-color: var(--li-ink) !important;
}
body.page-checkout .checkout-step.-complete {
  border-color: var(--li-line) !important;
  background: var(--li-paper-2) !important;
}

/* Step header (number + title) */
body.page-checkout .checkout-step .step-title,
body.page-checkout .checkout-step .h3,
body.page-checkout .checkout-step h3,
body#checkout .checkout-step .step-title {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.005em !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  cursor: pointer !important;
}
body.page-checkout .step-number {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  color: var(--li-muted) !important;
  font-weight: 500 !important;
  margin-right: 4px !important;
}
body.page-checkout .checkout-step.-current .step-number,
body.page-checkout .checkout-step.-current .step-title {
  color: var(--li-ink) !important;
}
body.page-checkout .checkout-step.-complete .step-title::after {
  content: "✓" !important;
  display: inline-block !important;
  margin-left: auto !important;
  color: var(--li-accent) !important;
  font-size: 18px !important;
}

/* Tabs for guest / sign in inside Personal Info */
body.page-checkout .nav.nav-inline,
body.page-checkout ul.nav-tabs,
body#checkout .nav-tabs {
  display: flex !important;
  gap: 24px !important;
  margin: 20px 0 24px !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  list-style: none !important;
}
body.page-checkout .nav-tabs .nav-link,
body.page-checkout .nav .nav-link,
body.page-checkout .nav .nav-item a {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 6px 0 !important;
  font-weight: 500 !important;
  text-decoration: none !important;
}
body.page-checkout .nav-tabs .nav-link.active,
body.page-checkout .nav .nav-link.active,
body.page-checkout .nav .nav-item a.active {
  color: var(--li-ink) !important;
  border-bottom: 2px solid var(--li-accent) !important;
  background: transparent !important;
}

/* Form fields */
body.page-checkout label,
body.page-checkout .form-control-label,
body.page-checkout legend {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  margin: 0 0 6px !important;
}
body.page-checkout .form-group {
  margin-bottom: 14px !important;
}
body.page-checkout input[type="text"],
body.page-checkout input[type="email"],
body.page-checkout input[type="password"],
body.page-checkout input[type="tel"],
body.page-checkout input[type="number"],
body.page-checkout select,
body.page-checkout textarea,
body.page-checkout .form-control {
  width: 100% !important;
  height: 44px !important;
  padding: 0 14px !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
  box-shadow: none !important;
  outline: none !important;
  transition: border-color var(--li-fast) ease !important;
}
body.page-checkout textarea.form-control {
  height: auto !important;
  min-height: 80px !important;
  padding: 12px 14px !important;
}
body.page-checkout input:focus,
body.page-checkout select:focus,
body.page-checkout textarea:focus,
body.page-checkout .form-control:focus {
  border-color: var(--li-ink) !important;
  outline: 0 !important;
  box-shadow: none !important;
}
body.page-checkout .form-control-comment,
body.page-checkout small.text-muted,
body.page-checkout .help-block {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: var(--li-muted) !important;
  margin-top: 4px !important;
  display: block !important;
}

/* Radio + checkbox */
body.page-checkout .radio-inline,
body.page-checkout .custom-radio + label,
body.page-checkout label.radio-inline {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  margin-right: 18px !important;
}
body.page-checkout .custom-checkbox label,
body.page-checkout .form-check-label {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-ink-2) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  line-height: 1.5 !important;
}

/* Submit/Continue button inside each step */
body.page-checkout button[type="submit"],
body.page-checkout .btn-primary.continue,
body.page-checkout .continue.btn-primary,
body.page-checkout button.continue,
body#checkout button[type="submit"],
body.page-checkout .form-footer button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 14px 30px !important;
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-accent) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  margin-top: 8px !important;
  transition: background var(--li-fast) ease, border-color var(--li-fast) ease !important;
}
body.page-checkout button[type="submit"]:hover,
body.page-checkout .btn-primary.continue:hover,
body.page-checkout button.continue:hover,
body#checkout button[type="submit"]:hover {
  background: var(--li-accent-2) !important;
  background-color: var(--li-accent-2) !important;
  border-color: var(--li-accent-2) !important;
}

/* Right column: cart summary */
body.page-checkout .cart-summary,
body.page-checkout #js-checkout-summary,
body#checkout .cart-summary {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 22px !important;
  box-shadow: none !important;
  margin-top: 0 !important;
}
body.page-checkout .cart-summary .h4,
body.page-checkout .cart-summary h4 {
  font-family: var(--li-font-display) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  margin: 0 0 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid var(--li-line) !important;
  text-transform: none !important;
}

/* Product line in summary */
body.page-checkout .cart-summary-products,
body.page-checkout .cart-overview {
  margin-bottom: 14px !important;
}
body.page-checkout .cart-summary-products .media,
body.page-checkout .cart-summary-products .product-line {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
}
body.page-checkout .cart-summary-products img,
body.page-checkout .cart-summary-products .media-left img {
  width: 56px !important;
  height: 64px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  border: 1px solid var(--li-line-soft) !important;
}
body.page-checkout .cart-summary-products .product-name {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 14px !important;
  color: var(--li-ink) !important;
}
body.page-checkout .cart-summary-products .product-price {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--li-ink) !important;
}
body.page-checkout .cart-summary-products .product-quantity {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  color: var(--li-muted) !important;
  text-transform: uppercase !important;
}

/* Summary lines (subtotal, shipping, tax, total) */
body.page-checkout .cart-summary-line,
body.page-checkout .cart-summary-totals .cart-summary-line {
  display: flex !important;
  justify-content: space-between !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
}
body.page-checkout .cart-summary-line .label {
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  background: transparent !important;
  font-weight: 500 !important;
}
body.page-checkout .cart-summary-line .value {
  font-size: 14px !important;
  color: var(--li-ink) !important;
  font-weight: 500 !important;
}
body.page-checkout .cart-total {
  margin-top: 6px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--li-line) !important;
}
body.page-checkout .cart-total .label,
body.page-checkout .cart-total .value {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: var(--li-ink) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Reassurance icons in checkout right column — keep them SMALL */
body.page-checkout #block-reassurance img,
body.page-checkout .block-reassurance img,
body.page-checkout #block-reassurance svg,
body.page-checkout .block-reassurance svg {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
}
body.page-checkout #block-reassurance,
body.page-checkout .block-reassurance {
  margin-top: 18px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 1px solid var(--li-line-soft) !important;
  border-radius: 0 !important;
}
body.page-checkout #block-reassurance ul {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-checkout #block-reassurance li {
  display: block !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  width: 100% !important;
}
body.page-checkout #block-reassurance li:last-child {
  border-bottom: 0 !important;
}
body.page-checkout #block-reassurance .block-reassurance-item {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px 16px !important;
  background: transparent !important;
  border: 0 !important;
}
body.page-checkout #block-reassurance .block-reassurance-item span {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: var(--li-ink-2) !important;
  line-height: 1.4 !important;
  display: block !important;
}
body.page-checkout #block-reassurance .block-title {
  font-family: var(--li-font-sans) !important;
  font-style: normal !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  margin: 0 0 2px !important;
  display: block !important;
}

/* Address selector cards */
body.page-checkout .address-item,
body.page-checkout .address-selector-item {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 16px !important;
  margin: 8px 0 !important;
  cursor: pointer !important;
  transition: border-color var(--li-fast) ease !important;
}
body.page-checkout .address-item:hover,
body.page-checkout .address-item.selected {
  border-color: var(--li-ink) !important;
}
body.page-checkout .address-item input[type="radio"]:checked + label {
  color: var(--li-accent) !important;
}

/* Shipping methods + Payment options — same card style */
body.page-checkout .delivery-option,
body.page-checkout .payment-option,
body.page-checkout .delivery-options-list .delivery-option-2 {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 16px 18px !important;
  margin: 8px 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer !important;
  transition: border-color var(--li-fast) ease !important;
}
body.page-checkout .delivery-option:hover,
body.page-checkout .payment-option:hover {
  border-color: var(--li-ink) !important;
}
body.page-checkout .delivery-option label,
body.page-checkout .payment-option label {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  flex: 1 !important;
  cursor: pointer !important;
}
body.page-checkout .carrier-name,
body.page-checkout .carrier-delay,
body.page-checkout .carrier-price {
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  color: var(--li-ink) !important;
}

/* Order confirmation alerts & errors */
body.page-checkout .alert,
body#checkout .alert {
  border-radius: 0 !important;
  border: 1px solid var(--li-line) !important;
  border-left: 3px solid var(--li-accent) !important;
  background: var(--li-paper) !important;
  font-family: var(--li-font-sans) !important;
  font-size: 13px !important;
  color: var(--li-ink) !important;
  padding: 12px 16px !important;
  box-shadow: none !important;
}


/* ============================================================================
   58 — CONTINUE SHOPPING BUTTON — duplicate text fix
   .tv-continue-shopping-btn often contains an <i> material-icon + text.
   When material-icons font fails to load, the icon's keyword text leaks.
   Hide all material-icons inside this button.
   ============================================================================ */
html body .tv-continue-shopping-btn i,
html body .tv-continue-shopping-btn i.material-icons,
html body .tv-continue-shopping-btn .material-icons,
html body a.tv-continue-shopping-btn i,
html body a.tv-continue-shopping-btn i.material-icons {
  display: none !important;
}
/* Add a clean ← chevron via ::before so the button still has a directional cue */
html body .tv-continue-shopping-btn::before,
html body a.tv-continue-shopping-btn::before {
  content: "←" !important;
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  margin-right: 8px !important;
  display: inline-block !important;
  line-height: 1 !important;
}


/* ============================================================================
   59 — GLOBAL BUTTON PASS — convert all dark/black buttons to terracotta
   Catches every primary-style button across the site (newsletter, search,
   forms, modals, etc.) and ensures readable paper text on terracotta bg.
   ============================================================================ */

/* PRIMARY action buttons — everywhere, except those we've already styled
   specifically (continue shopping = outline, etc.) */
html body .btn-primary,
html body button.btn-primary,
html body a.btn-primary,
html body input[type="submit"].btn-primary,
html body .tvall-inner-btn,
html body button.tvall-inner-btn,
html body a.tvall-inner-btn,
html body input.tvall-inner-btn,
html body .tvmain-slider-button,
html body .tvmain-slider-btn .btn,
html body .form-footer button[type="submit"],
html body form .btn-primary,
html body .form-control-submit,
html body .ps-shown-by-js button[type="submit"],
html body .newsletter button[type="submit"],
html body .block_newsletter button[type="submit"],
html body .tvcms-newsletter button,
html body .submit-newsletter,
html body #newsletter button,
html body button.submit,
html body button.btn-action,
html body .tvbrandlist-readmore,
html body .read-more.btn,
html body a.btn.btn-primary,
html body button[type="submit"]:not(.tv-continue-shopping-btn):not(.btn-touchspin):not(.btn-unstyle):not(.close):not(.tvheader-search-btn) {
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-accent) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  padding: 14px 28px !important;
  cursor: pointer !important;
  transition: background var(--li-fast) ease, border-color var(--li-fast) ease !important;
}
html body .btn-primary *,
html body .tvall-inner-btn *,
html body .tvmain-slider-button *,
html body .form-footer button[type="submit"] *,
html body .newsletter button[type="submit"] *,
html body .block_newsletter button[type="submit"] * {
  color: var(--li-paper) !important;
}
html body .btn-primary:hover,
html body button.btn-primary:hover,
html body a.btn-primary:hover,
html body .tvall-inner-btn:hover,
html body .tvmain-slider-button:hover,
html body .newsletter button[type="submit"]:hover,
html body .block_newsletter button[type="submit"]:hover {
  background: var(--li-accent-2) !important;
  background-color: var(--li-accent-2) !important;
  border-color: var(--li-accent-2) !important;
  color: var(--li-paper) !important;
}

/* Buttons with explicit "background:#222 / #000 / black" inline — neutralize */
html body button[style*="background-color:#222"],
html body button[style*="background:#222"],
html body button[style*="background-color:#000"],
html body button[style*="background:#000"],
html body button[style*="background-color: rgb(0"],
html body a[style*="background-color:#222"],
html body a[style*="background:#222"],
html body a[style*="background-color:#000"] {
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border-color: var(--li-accent) !important;
}

/* Submit buttons inside newsletter forms — special case (often dark) */
html body .block_newsletter form input[type="submit"],
html body .ps_emailsubscription input[type="submit"],
html body #ps_subscription input[type="submit"],
html body form.newsletter input[type="submit"],
html body form .newsletter-submit {
  background: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-accent) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 12px 24px !important;
}

/* The "Subscribe →" arrow button inside dark newsletter strips —
   keep transparent (against the dark bg) with terracotta hover */
html body .newsletter form button,
html body #footer .block_newsletter button,
html body .footer-newsletter button,
html body .la-newsletter button {
  background: transparent !important;
  color: var(--li-paper) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--li-paper) !important;
  border-radius: 0 !important;
  padding: 8px 0 !important;
  letter-spacing: 0.2em !important;
  transition: color var(--li-fast) ease, border-color var(--li-fast) ease !important;
}
html body .newsletter form button:hover,
html body #footer .block_newsletter button:hover,
html body .footer-newsletter button:hover {
  color: var(--li-gold) !important;
  border-bottom-color: var(--li-gold) !important;
  background: transparent !important;
}


/* ============================================================================
   60 — CHECKOUT PAGE (page-order) hard fixes: logo size + reassurance icons
   ============================================================================ */

/* Logo: keep it modest on checkout (was rendering at full intrinsic size) */
html body.page-order img.logo,
html body.page-order .header img,
html body#checkout img.logo,
html body#checkout .header img,
html body.page-order .tv-header-logo img,
html body#checkout .tv-header-logo img {
  max-height: 56px !important;
  max-width: 180px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Reassurance icons in the right column: SMALL — they were huge */
html body.page-order #block-reassurance img,
html body.page-order .block-reassurance img,
html body.page-order #block-reassurance svg,
html body.page-order .block-reassurance svg,
html body#checkout #block-reassurance img,
html body#checkout .block-reassurance img,
html body#checkout #block-reassurance svg,
html body#checkout .block-reassurance svg,
html body.page-order .blockreassurance_product img,
html body#checkout .blockreassurance_product img {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
  flex-shrink: 0 !important;
}
html body.page-order #block-reassurance .block-reassurance-item,
html body#checkout #block-reassurance .block-reassurance-item {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 12px 16px !important;
  background: transparent !important;
}
html body.page-order #block-reassurance,
html body#checkout #block-reassurance {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line-soft) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 18px 0 0 !important;
}
html body.page-order #block-reassurance ul,
html body#checkout #block-reassurance ul {
  display: block !important;
  grid-template-columns: none !important;
  flex-direction: column !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
html body.page-order #block-reassurance li,
html body#checkout #block-reassurance li {
  display: block !important;
  width: 100% !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body.page-order #block-reassurance li:last-child,
html body#checkout #block-reassurance li:last-child {
  border-bottom: 0 !important;
}

/* Form inputs visibility: subtle border, light bg */
html body.page-order input[type="text"],
html body.page-order input[type="email"],
html body.page-order input[type="password"],
html body.page-order input[type="tel"],
html body.page-order select,
html body.page-order textarea,
html body.page-order .form-control,
html body#checkout input[type="text"],
html body#checkout input[type="email"],
html body#checkout input[type="password"],
html body#checkout input[type="tel"],
html body#checkout select,
html body#checkout textarea,
html body#checkout .form-control {
  background: var(--li-paper) !important;
  background-color: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  color: var(--li-ink) !important;
  height: 44px !important;
  padding: 0 14px !important;
}


/* ============================================================================
   61 — PAGE-ORDER ALIAS for page-checkout (PrestaShop 8 uses page-order)
   Use JS to add a 'page-checkout' class to body so all section-57 rules apply.
   This avoids rewriting 109 selectors.
   ============================================================================ */

/* Logo sizing in checkout (high specificity, will-cascade) */
html body.page-order img.logo,
html body.page-order .img-responsive.logo,
html body#checkout img.logo {
  max-height: 56px !important;
  max-width: 200px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* Reassurance images in checkout right column — small */
html body.page-order .blockreassurance_product img,
html body.page-order #block-reassurance img,
html body.page-order .block-reassurance img,
html body#checkout #block-reassurance img,
html body#checkout .block-reassurance img,
html body.page-order [class*="reassurance"] img {
  width: 22px !important;
  height: 22px !important;
  max-width: 22px !important;
  max-height: 22px !important;
}


/* ============================================================================
   62 — ADD-TO-CART MODAL: visible AND interactive
   Modal sits above ALL other elements. The .full-wrapper-backdrop and any
   theme-leftover backdrops are neutralised so they can't block clicks.
   ============================================================================ */

/* The modal itself — always on top, clickable */
html body #blockcart-modal.modal.in,
html body #blockcart-modal.modal.show,
html body .tv-addtocart-msg-wrapper.modal.in,
html body .tv-addtocart-msg-wrapper.modal.show {
  display: block !important;
  z-index: 100000 !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
}
html body #blockcart-modal .modal-dialog,
html body .tv-addtocart-msg-wrapper .modal-dialog {
  position: relative !important;
  z-index: 100001 !important;
  pointer-events: auto !important;
}
html body #blockcart-modal .modal-content,
html body #blockcart-modal .modal-content *,
html body .tv-addtocart-msg-wrapper .modal-content,
html body .tv-addtocart-msg-wrapper .modal-content * {
  pointer-events: auto !important;
}
html body #blockcart-modal a,
html body #blockcart-modal button,
html body .tv-addtocart-msg-wrapper a,
html body .tv-addtocart-msg-wrapper button {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Show modal-backdrop ONLY when there's an actual open modal — and keep it
   BELOW the modal so it doesn't intercept clicks. */
html body .modal-backdrop {
  display: none !important;
}
html body .modal.in ~ .modal-backdrop,
html body .modal.show ~ .modal-backdrop,
html body .modal.in + .modal-backdrop,
html body body.modal-open .modal-backdrop.in,
html body body.modal-open .modal-backdrop.show {
  display: block !important;
  background-color: rgba(28, 26, 23, 0.45) !important;
  opacity: 1 !important;
  z-index: 99999 !important;            /* below modal (100000) */
  pointer-events: auto !important;
}

/* The site-wide .full-wrapper-backdrop element must never block clicks */
html body .full-wrapper-backdrop {
  display: none !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

/* Body never stuck */
html body.modal-open {
  overflow: auto !important;
  padding-right: 0 !important;
}


/* ============================================================================
   63 — CHECKOUT HEADER (editorial wordmark) — replaces the giant logo
   ============================================================================ */
.la-checkout-header {
  background: var(--li-paper) !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 20px 0 !important;
}
.la-checkout-header-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.la-checkout-logo {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none !important;
  color: var(--li-ink) !important;
  line-height: 1;
}
.la-checkout-logo-mark {
  font-family: var(--li-font-display) !important;
  font-weight: 400;
  font-size: 32px;
  letter-spacing: 0.06em;
  color: var(--li-ink);
  line-height: 1;
}
.la-checkout-logo-sub {
  font-family: var(--li-font-sans) !important;
  font-size: 9px;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--li-muted);
  margin-top: 6px;
}
.la-checkout-contact {
  font-family: var(--li-font-sans) !important;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--li-ink) !important;
  text-decoration: none !important;
  padding: 8px 0;
  transition: color var(--li-fast) ease !important;
}
.la-checkout-contact:hover {
  color: var(--li-accent) !important;
}

/* Hide old desktop-header bits if they leak through */
body.page-order .tvcmsdesktop-top-header-wrapper.tvheader-checkout,
body#checkout .tvcmsdesktop-top-header-wrapper.tvheader-checkout {
  display: none !important;
}


/* ============================================================================
   64 — CHECKOUT FOOTER pink bar — remove
   ============================================================================ */
body.page-order .copyright,
body.page-order .footer-bottom,
body.page-order .l-footer__copyright,
body.page-order .footer__copyright,
body#checkout .copyright,
body#checkout .footer-bottom {
  background: var(--li-paper) !important;
  background-color: var(--li-paper) !important;
  color: var(--li-muted) !important;
  border-top: 1px solid var(--li-line-soft) !important;
  padding: 16px 24px !important;
  text-align: center !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}


/* ============================================================================
   65 — CHECKOUT PAGE FINAL POLISH (page-order + #checkout body)
   Inline-level overrides to guarantee styling against theme defaults.
   ============================================================================ */

/* Hide the old TV-CMS checkout header chrome */
html body#checkout .tvcmsdesktop-top-header-wrapper.tvheader-checkout,
html body.page-order .tvcmsdesktop-top-header-wrapper.tvheader-checkout,
html body#checkout .tvcmsdesktop-top-header-wrapper,
html body.page-order .tvcmsdesktop-top-header-wrapper {
  display: none !important;
}
html body#checkout .la-ck-header,
html body.page-order .la-ck-header {
  display: block !important;
}

/* Layout shell — paper background */
html body#checkout,
html body.page-order,
html body#checkout #wrapper,
html body.page-order #wrapper,
html body#checkout #main,
html body.page-order #main {
  background: var(--li-paper) !important;
}

/* Checkout container & columns */
html body#checkout .container,
html body.page-order .container {
  max-width: 1240px !important;
  padding: 0 28px !important;
}

/* Each checkout step card */
html body#checkout .checkout-step,
html body.page-order .checkout-step {
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 24px 28px !important;
  margin: 0 0 14px !important;
  box-shadow: none !important;
}
html body#checkout .checkout-step.-current {
  border-color: var(--li-ink) !important;
}
html body#checkout .checkout-step .step-title,
html body#checkout .checkout-step .h3,
html body.page-order .checkout-step .step-title {
  font-family: var(--li-font-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: -0.005em !important;
  color: var(--li-ink) !important;
  text-transform: none !important;
  margin: 0 !important;
}
html body#checkout .step-number,
html body.page-order .step-number {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.2em !important;
  color: var(--li-muted) !important;
  margin-right: 8px !important;
}

/* Form inputs — visible border, paper bg */
html body#checkout input[type="text"],
html body#checkout input[type="email"],
html body#checkout input[type="password"],
html body#checkout input[type="tel"],
html body#checkout select,
html body#checkout textarea,
html body#checkout .form-control,
html body.page-order input[type="text"],
html body.page-order input[type="email"],
html body.page-order input[type="password"],
html body.page-order input[type="tel"],
html body.page-order select,
html body.page-order textarea,
html body.page-order .form-control {
  background: #fff !important;
  background-color: #fff !important;
  border: 1px solid var(--li-line) !important;
  color: var(--li-ink) !important;
  height: 44px !important;
  padding: 0 14px !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 14px !important;
  box-shadow: none !important;
}
html body#checkout input:focus,
html body.page-order input:focus,
html body#checkout select:focus,
html body.page-order select:focus {
  border-color: var(--li-ink) !important;
  outline: 0 !important;
}
html body#checkout label,
html body.page-order label {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  font-weight: 500 !important;
  margin-bottom: 6px !important;
}
html body#checkout .form-control-comment,
html body.page-order .form-control-comment,
html body#checkout small.text-muted,
html body.page-order small.text-muted {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 12px !important;
  color: var(--li-muted) !important;
}

/* CONTINUE button — terracotta */
html body#checkout button[type="submit"]:not(.btn-touchspin):not(.btn-unstyle),
html body.page-order button[type="submit"]:not(.btn-touchspin):not(.btn-unstyle),
html body#checkout .continue.btn-primary,
html body.page-order .continue.btn-primary {
  background: var(--li-accent) !important;
  background-color: var(--li-accent) !important;
  color: var(--li-paper) !important;
  border: 1px solid var(--li-accent) !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  padding: 14px 30px !important;
}

/* Cart summary card */
html body#checkout .cart-summary,
html body.page-order .cart-summary {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 22px !important;
  box-shadow: none !important;
}

/* Reassurance: small icons, stacked */
html body#checkout #block-reassurance,
html body.page-order #block-reassurance {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line-soft) !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 18px 0 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
html body#checkout #block-reassurance ul,
html body.page-order #block-reassurance ul {
  display: block !important;
  grid-template-columns: none !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}
html body#checkout #block-reassurance li,
html body.page-order #block-reassurance li {
  display: block !important;
  width: 100% !important;
  border-bottom: 1px solid var(--li-line-soft) !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body#checkout #block-reassurance li:last-child,
html body.page-order #block-reassurance li:last-child {
  border-bottom: 0 !important;
}
html body#checkout #block-reassurance .la-reassurance-item,
html body.page-order #block-reassurance .la-reassurance-item {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  padding: 14px 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
html body#checkout #block-reassurance .la-reassurance-icon,
html body.page-order #block-reassurance .la-reassurance-icon {
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  padding: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
html body#checkout #block-reassurance .la-reassurance-icon svg,
html body.page-order #block-reassurance .la-reassurance-icon svg {
  width: 18px !important;
  height: 18px !important;
  stroke: var(--li-accent) !important;
  fill: none !important;
}
html body#checkout #block-reassurance img,
html body.page-order #block-reassurance img,
html body#checkout #block-reassurance svg,
html body.page-order #block-reassurance svg {
  max-width: 22px !important;
  max-height: 22px !important;
}
html body#checkout #block-reassurance .la-reassurance-title,
html body.page-order #block-reassurance .la-reassurance-title {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
}

/* Footer copyright pink bar → paper */
html body#checkout .copyright,
html body.page-order .copyright,
html body#checkout footer .copyright,
html body.page-order footer .copyright,
html body#checkout .l-footer__copyright,
html body.page-order .l-footer__copyright,
html body#checkout .footer-bottom,
html body.page-order .footer-bottom {
  background: var(--li-paper) !important;
  background-color: var(--li-paper) !important;
  border-top: 1px solid var(--li-line-soft) !important;
  color: var(--li-muted) !important;
  padding: 18px 24px !important;
  text-align: center !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}


/* ============================================================================
   66 — KILL PINK FOOTER BAR (copyright + bottom) globally
   ============================================================================ */
html body footer .copyright,
html body footer.copyright,
html body .copyright,
html body .l-footer__copyright,
html body .footer-bottom,
html body #footer .copyright,
html body footer > div:last-child[style*="pink"],
html body footer > div:last-child[style*="rgb(255"] {
  background: var(--li-paper) !important;
  background-color: var(--li-paper) !important;
  border-top: 1px solid var(--li-line-soft) !important;
  color: var(--li-muted) !important;
  padding: 18px 24px !important;
  text-align: center !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}
html body footer .copyright a,
html body .copyright a {
  color: var(--li-ink) !important;
}


/* ============================================================================
   67 — CHECKOUT (body#checkout) reassurance: clamp SVG icons to small size,
   force editorial layout. The /controller=order page renders #block-reassurance
   with a much higher cascade than other pages, so we override with maximum
   specificity here.
   ============================================================================ */
html body#checkout #block-reassurance,
html body.page-order #block-reassurance,
html body#checkout .la-product-reassurance,
html body.page-order .la-product-reassurance {
  background: var(--li-paper-2) !important;
  border: 1px solid var(--li-line) !important;
  border-radius: 0 !important;
  padding: 24px 22px !important;
  margin: 24px 0 !important;
  box-shadow: none !important;
}
html body#checkout #block-reassurance ul,
html body.page-order #block-reassurance ul {
  display: block !important;
  grid-template-columns: none !important;
  flex-direction: column !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
}
html body#checkout #block-reassurance ul li,
html body.page-order #block-reassurance ul li {
  display: block !important;
  width: 100% !important;
  padding: 14px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--li-line-soft, rgba(28,26,23,0.07)) !important;
  background: transparent !important;
  text-align: left !important;
}
html body#checkout #block-reassurance ul li:last-child,
html body.page-order #block-reassurance ul li:last-child {
  border-bottom: 0 !important;
}
html body#checkout #block-reassurance .la-reassurance-item,
html body.page-order #block-reassurance .la-reassurance-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 0 !important;
}
html body#checkout #block-reassurance .la-reassurance-icon,
html body.page-order #block-reassurance .la-reassurance-icon {
  flex: 0 0 40px !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  max-width: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  border-radius: 50% !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--li-accent) !important;
  padding: 0 !important;
}
html body#checkout #block-reassurance .la-reassurance-icon svg,
html body.page-order #block-reassurance .la-reassurance-icon svg,
html body#checkout #block-reassurance svg,
html body.page-order #block-reassurance svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: inline-block !important;
}
html body#checkout #block-reassurance img,
html body.page-order #block-reassurance img {
  max-width: 22px !important;
  max-height: 22px !important;
  width: 22px !important;
  height: 22px !important;
}
html body#checkout #block-reassurance .la-reassurance-body,
html body.page-order #block-reassurance .la-reassurance-body {
  flex: 1 !important;
  min-width: 0 !important;
}
html body#checkout #block-reassurance .la-reassurance-title,
html body.page-order #block-reassurance .la-reassurance-title {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--li-ink) !important;
  margin: 0 0 4px !important;
  font-weight: 500 !important;
}
html body#checkout #block-reassurance .la-reassurance-desc,
html body.page-order #block-reassurance .la-reassurance-desc {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 13px !important;
  color: var(--li-muted) !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* ============================================================================
   68 — LA-MENU-OPEN: when a parent menu item is "clicked open" via the
   prevent-default handler, make sure the dropdown is visible. (Hover already
   shows it; this is a fallback for touch users.)
   ============================================================================ */
html body .menu-content > li.level-1.parent.la-menu-open > ul.menu-dropdown {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ============================================================================
   69 — SEARCH AUTOCOMPLETE DROPDOWN: editorial single-column list.
   The theme defaults to a narrow 2-up floated grid that crushes images and
   wraps titles vertically. Force a clean vertical list with proper thumbs.
   ============================================================================ */
html body .tvsearch-result {
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  left: auto !important;
  width: 420px !important;
  max-width: 92vw !important;
  height: auto !important;
  margin-top: 8px !important;
  z-index: 9999 !important;
  background: var(--li-paper) !important;
  border: 1px solid var(--li-line) !important;
  box-shadow: 0 14px 40px rgba(28, 26, 23, 0.10) !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
html body .tvsearch-result .tvcmssearch-dropdown {
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
}
html body .tvsearch-result .tvsearch-dropdown-total-wrapper {
  padding: 14px 20px 10px !important;
  border-bottom: 1px solid var(--li-line-soft, rgba(28,26,23,0.07)) !important;
  background: transparent !important;
  margin: 0 !important;
}
html body .tvsearch-result .tvsearch-dropdown-total {
  font-family: var(--li-font-sans) !important;
  font-size: 10px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--li-muted) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
html body .tvsearch-result .tvsearch-dropdown-close-wrapper {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  width: 28px !important;
  height: 28px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
  color: var(--li-muted) !important;
  z-index: 2 !important;
}
html body .tvsearch-result .tvsearch-dropdown-close-wrapper:hover {
  color: var(--li-accent) !important;
}
html body .tvsearch-result .tvsearch-dropdown-close-wrapper i,
html body .tvsearch-result .tvsearch-dropdown-close-wrapper .material-icons {
  font-size: 18px !important;
  line-height: 1 !important;
}

/* ====== Items list (force vertical) ====== */
html body .tvsearch-result .tvsearch-all-dropdown-wrapper {
  display: block !important;
  width: 100% !important;
  max-height: 460px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 4px 0 !important;
  margin: 0 !important;
  background: transparent !important;
  position: static !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
}

/* ====== Each item: horizontal row (image left, text right) ====== */
html body .tvsearch-result .tvsearch-dropdown-wrapper {
  display: block !important;
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--li-line-soft, rgba(28,26,23,0.06)) !important;
  background: transparent !important;
  box-sizing: border-box !important;
  position: static !important;
}
html body .tvsearch-result .tvsearch-dropdown-wrapper:last-child {
  border-bottom: 0 !important;
}
html body .tvsearch-result .tvsearch-dropdown-wrapper > a {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 12px 20px !important;
  width: 100% !important;
  height: auto !important;
  text-decoration: none !important;
  color: var(--li-ink) !important;
  background: transparent !important;
  transition: background 160ms ease !important;
  box-sizing: border-box !important;
}
html body .tvsearch-result .tvsearch-dropdown-wrapper > a:hover {
  background: var(--li-paper-2) !important;
}

/* ====== Thumbnail ====== */
html body .tvsearch-result .tvsearch-dropdown-img-block {
  flex: 0 0 60px !important;
  width: 60px !important;
  height: 78px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: var(--li-paper-2) !important;
  border-radius: 0 !important;
  display: block !important;
  position: relative !important;
}
html body .tvsearch-result .tvsearch-dropdown-img-block img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ====== Title + price column ====== */
html body .tvsearch-result .tvsearch-dropdown-content-box {
  flex: 1 1 auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 6px !important;
  text-align: left !important;
}
html body .tvsearch-result .tvsearch-dropdown-title {
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
html body .tvsearch-result .product-price-and-shipping {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 8px !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
}
html body .tvsearch-result .product-price-and-shipping .price,
html body .tvsearch-result .product-price-and-shipping > div.price {
  font-family: var(--li-font-sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  color: var(--li-accent) !important;
  font-weight: 500 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-block !important;
}
html body .tvsearch-result .product-price-and-shipping .regular-price {
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  color: var(--li-muted) !important;
  text-decoration: line-through !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ====== "More result" CTA ====== */
html body .tvsearch-result .tvsearch-more-search-wrapper {
  padding: 14px 20px !important;
  border-top: 1px solid var(--li-line-soft, rgba(28,26,23,0.07)) !important;
  background: var(--li-paper-2) !important;
  margin: 0 !important;
  text-align: center !important;
}
html body .tvsearch-result .tvsearch-more-search,
html body .tvsearch-result button.tvsearch-more-search {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  padding: 10px 18px !important;
  background: var(--li-accent) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: var(--li-font-sans) !important;
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: background 160ms ease !important;
}
html body .tvsearch-result .tvsearch-more-search:hover,
html body .tvsearch-result button.tvsearch-more-search:hover {
  background: var(--li-accent-2) !important;
}
html body .tvsearch-result .tvsearch-more-search span {
  color: #fff !important;
  font: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

/* ====== Position parent must be relative for absolute dropdown ====== */
html body .tvsearch-header-display-wrappper,
html body .tvsearch-top-wrapper {
  position: relative !important;
}

/* ====== Scrollbar in the list ====== */
html body .tvsearch-result .tvsearch-all-dropdown-wrapper::-webkit-scrollbar { width: 6px; }
html body .tvsearch-result .tvsearch-all-dropdown-wrapper::-webkit-scrollbar-track { background: transparent; }
html body .tvsearch-result .tvsearch-all-dropdown-wrapper::-webkit-scrollbar-thumb {
  background: var(--li-line, rgba(28,26,23,0.18));
  border-radius: 3px;
}

/* ============================================================================
   70 — ACCOUNT DROPDOWN: restore Wishlist row.
   Earlier "kill wishlist heart on product cards" rules use the bare selector
   .wishtlist_top svg / .material-icons / span — which ALSO matches the
   wishlist link inside the account dropdown, making it invisible.
   Explicitly un-hide it here so the dropdown shows Sign in / Wishlist (n) /
   Compare / Language stacked cleanly.
   ============================================================================ */
html body .tv-account-dropdown .wishtlist_top,
html body .tv-account-dropdown .tvdesktop-wishlist {
  display: flex !important;
  visibility: visible !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  height: auto !important;
  padding: 9px 24px !important;
  margin: 0 !important;
  background: transparent !important;
  text-decoration: none !important;
  font-family: var(--li-font-serif) !important;
  font-style: italic !important;
  font-size: 15px !important;
  color: var(--li-ink) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: background 160ms ease, color 160ms ease !important;
}
html body .tv-account-dropdown .wishtlist_top:hover,
html body .tv-account-dropdown .tvdesktop-wishlist:hover {
  background: var(--li-paper-2) !important;
  color: var(--li-accent) !important;
}

/* Wrappers around the link */
html body .tv-account-dropdown #_desktop_wishtlistTop,
html body .tv-account-dropdown .tvcmsdesktop-view-wishlist {
  float: none !important;
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}

/* Icon — use the SVG, suppress the material-icons font glyph (no font loaded) */
html body .tv-account-dropdown .wishtlist_top .tvwishlist-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  color: var(--li-ink) !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .tv-account-dropdown .wishtlist_top .tvwishlist-icon svg {
  display: inline-block !important;
  visibility: visible !important;
  width: 18px !important;
  height: 18px !important;
  max-width: 18px !important;
  max-height: 18px !important;
  color: currentColor !important;
  fill: none !important;
}
html body .tv-account-dropdown .wishtlist_top .tvwishlist-icon svg path {
  fill: currentColor !important;
}
/* Hide the material-icons glyph fallback (the font isn't loaded → renders as box) */
html body .tv-account-dropdown .wishtlist_top .tvwishlist-icon .material-icons,
html body .tv-account-dropdown .wishtlist_top .tvwishlist-icon i.material-icons {
  display: none !important;
}
html body .tv-account-dropdown .wishtlist_top:hover .tvwishlist-icon {
  color: var(--li-accent) !important;
}

/* Text label "Wishlist (0)" — un-hide spans inside the dropdown wishlist */
html body .tv-account-dropdown .wishtlist_top .tvwishlist-name {
  display: inline-flex !important;
  align-items: baseline !important;
  flex: 1 1 auto !important;
  gap: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
}
html body .tv-account-dropdown .wishtlist_top .tvwishlist-name span,
html body .tv-account-dropdown .wishtlist_top .cart-wishlist-number,
html body .tv-account-dropdown .wishtlist_top .tvwishlist-number,
html body .tv-account-dropdown .wishtlist_top .tvwishlist-number span {
  display: inline !important;
  visibility: visible !important;
  color: inherit !important;
  font: inherit !important;
  font-family: inherit !important;
  font-style: inherit !important;
  font-size: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
html body .tv-account-dropdown .wishtlist_top .cart-wishlist-number {
  color: var(--li-muted) !important;
  font-size: 13px !important;
  font-style: italic !important;
  margin-left: 4px !important;
}

/* ============================================================================
   71 — KILL HALF-WRAPPER-BACKDROP DIMMING
   The theme adds a semi-transparent black overlay (.half-wrapper-backdrop) on
   top of the wrapper whenever any dropdown opens (body gets .dropdown-open,
   .menu-open, .search-open, .cart-open, .layout-open from custom.js). Result:
   the hero/main image visually "disappears" the moment a menu item is hovered
   or clicked. We don't want any dimming in the editorial design — dropdowns
   should open over the content cleanly.
   ============================================================================ */
html body .tv-main-div .half-wrapper-backdrop,
html body.cart-open .tv-main-div .half-wrapper-backdrop,
html body.layout-open .tv-main-div .half-wrapper-backdrop,
html body.menu-open .tv-main-div .half-wrapper-backdrop,
html body.dropdown-open .tv-main-div .half-wrapper-backdrop,
html body.search-open .tv-main-div .half-wrapper-backdrop {
  background: transparent !important;
  background-color: transparent !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

/* ============================================================================
   72 — MOBILE FOUNDATION (CRITICAL): viewport-width guard
   Root cause of the "not mobile friendly" report: the theme's main .container
   (.tv-left-layout / .tvcms-newsletter-inner) stayed pinned to its desktop
   width (~1320px) on phones/tablets. Because an ancestor (.tv-main-div) clips
   with overflow:hidden the page showed no horizontal scrollbar, yet every block
   inside (product info, description, cart rows, totals, checkout form,
   footer/newsletter) was laid out at 1320px and visually CHOPPED at the right
   edge of the 390px viewport. Forcing containers + grid columns to viewport
   width lets all content reflow. High specificity (html body…, html body#checkout…)
   beats the existing !important container rules; scoped to ≤991px so desktop is
   untouched.
   ============================================================================ */
@media (max-width: 991px) {
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  /* Specificity must beat
     `body .tvcmsdesktop-top-header-wrapper.header-6 .tvcmsdesktop-top-second .container`
     (0,3,2 + !important). Using `body[class][class]` adds two attribute selectors
     to reach (0,3,2) on a plain .container probe and (0,3,3) on .container.tv-left-layout —
     plus this rule appears LATER in the cascade so it wins on ties. The header-6
     selector also lives outside @media, so once 991px hits, our rule alone matches.
     Also explicitly target the header-6 chain so it wins regardless of cache/edge state. */
  html body[class][class] .container,
  html body[class][class] .container-fluid,
  html body[class][class] .container.tv-left-layout,
  html body[class][class] .container.tv-right-layout,
  html body[class][class]#checkout .container,
  html body[class][class].page-order .container,
  html body[class][class] .tvcms-newsletter-inner,
  html body[class][class] .tvcms-newsletter-inner.container,
  html body[class] .tvcmsdesktop-top-header-wrapper .container,
  html body[class] .tvcmsdesktop-top-header-wrapper.header-6 .tvcmsdesktop-top-second .container {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Phones: stack every Bootstrap grid column full-width so nothing overflows.
   Product/listing grids use owl-carousel / CSS-grid (not .row > col-*), so they
   keep their multi-column layout — only true Bootstrap rows (cart grid, checkout
   columns, product image/info, footer, newsletter) collapse to a single column. */
@media (max-width: 767px) {
  html body .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  html body .row > [class*="col-"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html body .tvnewsletter-block,
  html body .block_newsletter.row {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* ============================================================================
   73 — MOBILE CHECKOUT HEADER: kill the duplicate
   On desktop the checkout shows only the editorial .la-ck-header. On phones the
   full shopping header (#tvcms-mobile-view-header: hamburger + search + logo)
   ALSO rendered, stacking two headers. Keep the minimal editorial header (parity
   with desktop, distraction-free checkout) and hide the mobile shopping header
   on the order/checkout page only.
   ============================================================================ */
@media (max-width: 991px) {
  html body#checkout #tvcms-mobile-view-header,
  html body.page-order #tvcms-mobile-view-header {
    display: none !important;
  }
  html body#checkout .la-ck-header,
  html body.page-order .la-ck-header {
    display: block !important;
  }
  html body#checkout .la-ck-inner,
  html body.page-order .la-ck-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* ============================================================================
   END OF FILE
   ============================================================================ */
