/* ============================================================================
   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 */
body .tv-header-logo img,
body #_desktop_logo img,
body .logo {
  max-height: 56px;
  width: auto;
  height: auto;
  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: 44px;
  }
  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;
}

body #tvcmsmobile-header-logo img,
body .tvcmsmobile-header-logo-right-wrapper img {
  max-height: 38px;
  width: auto;
  margin: 0 auto;
}

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;
  }
}


/* ============================================================================
   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 {
  display: none !important;
  grid-template-columns: 1fr 1fr;
  min-height: 640px;
  opacity: 0;
  transition: opacity var(--li-slow) ease;
}
.la-hero-slide.is-active {
  display: grid !important;
  opacity: 1;
}
.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;
}
.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;
}
/* Style the product grid that AJAX injects into .tvtabcategory-all-product-wrapper */
.la-designers .tvtabcategory-all-product-wrapper .product-miniature {
  margin-bottom: 0 !important;
}
.la-designers .tvtabcategory-all-product-wrapper .owl-stage,
.la-designers .tvtabcategory-all-product-wrapper .row {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}


/* ---------- RESPONSIVE (mobile parity for new components) ---------- */
@media (max-width: 992px) {
  .la-wrap { padding: 0 20px; }
  .la-hero-grid,
  .la-hero-slide { grid-template-columns: 1fr; min-height: auto; }
  .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; }
}


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