/* Louis-inspired theme (scoped). Brand override: red + black) */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600&display=swap');

:root {
  --brand-red: #c40000;
  --brand-black: #111111;
  --brand-white: #ffffff;
  --brand-muted: #f5f5f5;
}

/* Typography baseline */
body.louis-theme {
  font-family: 'Poppins', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
  color: var(--brand-black);
}

/* Buttons/CTAs */
body.louis-theme .louis-btn,
body.louis-theme a.louis-btn,
body.louis-theme .action__btn,
body.louis-theme .btn-primary,
body.louis-theme .checkout-btn,
body.louis-theme .cart-btn {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 28px;
  border: 1px solid var(--brand-red);
  background: var(--brand-red);
  color: #fff !important;
  transition: all .2s ease;
  text-decoration: none;
}

body.louis-theme .louis-btn:hover,
body.louis-theme a.louis-btn:hover,
body.louis-theme .action__btn:hover,
body.louis-theme .btn-primary:hover,
body.louis-theme .checkout-btn:hover,
body.louis-theme .cart-btn:hover {
  background: transparent;
  color: var(--brand-red) !important;
  box-shadow: inset 0 0 0 1px var(--brand-red);
}

/* Link accents */
body.louis-theme a { color: var(--brand-black); }
body.louis-theme a:hover { color: var(--brand-red); }

/* Navbar/header accents when scrolled/hovered (best-effort override) */
body.louis-theme .top-header-section,
body.louis-theme #sticky-head header {
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
body.louis-theme .main-nav > li > a:hover { color: var(--brand-red); }

/* Hero sections */
body.louis-theme .louis-hero {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 85vh;
  text-align: center;
  color: #fff;
  overflow: hidden;
}
body.louis-theme .louis-hero .overlay {
  position: absolute; inset: 0; background: rgba(0,0,0,0.35);
}
/* Placeholder video/image backgrounds */
body.louis-theme .louis-hero.hero-red {
  background: radial-gradient(ellipse at center, rgba(196,0,0,0.75), rgba(17,17,17,0.9)), linear-gradient(135deg, #c40000 10%, #111 90%);
}
body.louis-theme .louis-hero.hero-black {
  background: radial-gradient(ellipse at center, rgba(17,17,17,0.8), rgba(17,17,17,0.95));
}
body.louis-theme .louis-hero h2 { position: relative; z-index: 1; font-weight: 600; letter-spacing: .3px; }
body.louis-theme .louis-hero .louis-btn { position: relative; z-index: 1; margin-top: 16px; }
body.louis-theme .louis-hero .actions { position: relative; z-index:1; display:flex; gap:12px; justify-content:center; margin-top:16px; flex-wrap:wrap; }

/* Outline button */
body.louis-theme .louis-btn.outline { background: transparent; color: var(--brand-red) !important; border-color: var(--brand-red); }
body.louis-theme .louis-btn.outline:hover { background: var(--brand-red); color: #fff !important; }


/* Services grid */
body.louis-theme .louis-services {
  padding: 56px 0;
  background: #fff;
}
body.louis-theme .louis-services .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 992px) { body.louis-theme .louis-services .grid { grid-template-columns: 1fr; } }

body.louis-theme .louis-card { background: #fff; border: 1px solid rgba(0,0,0,0.06); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; }
body.louis-theme .louis-card .media { background: var(--brand-muted); height: 220px; display:flex; align-items:center; justify-content:center; }
body.louis-theme .louis-card .media .placeholder { width: 100%; height: 100%; background: repeating-linear-gradient(45deg, #eee, #eee 10px, #f7f7f7 10px, #f7f7f7 20px); }
body.louis-theme .louis-card .content { padding: 18px; }
body.louis-theme .louis-card .content h3 { margin: 0 0 8px; font-weight: 600; }
body.louis-theme .louis-card .content p { margin: 0 0 14px; color: #444; }

/* Accents/borders */
body.louis-theme hr { border: 0; border-top: 1px solid rgba(0,0,0,0.08); }

/* Product card quick overrides (non-breaking) */
body.louis-theme .single__product__card .new__price,
body.louis-theme .product__prices .new__price,
body.louis-theme .price .new-price { color: var(--brand-red) !important; }

/* Footer link hover accent */

/* Header scroll effect */
body.louis-theme.scrolled #sticky-head header { background: #fff; }
body.louis-theme.scrolled #sticky-head header .main-nav > li > a { color: var(--brand-black); }
body.louis-theme.scrolled #sticky-head header .main-nav > li > a:hover { color: var(--brand-red); }
body.louis-theme.scrolled .top-header-section { background:#fff; box-shadow: 0 6px 18px rgba(0,0,0,0.06); }

/* Product tile styling (non-breaking) */
body.louis-theme a.single__product__card { border: 1px solid rgba(0,0,0,0.06); border-radius: 12px; padding: 10px; display:flex; text-decoration:none; color:inherit; background:#fff; transition:box-shadow .2s ease, transform .2s ease; }
body.louis-theme a.single__product__card:hover { box-shadow: 0 10px 24px rgba(0,0,0,0.08); transform: translateY(-2px); }
body.louis-theme a.single__product__card .left .product__img { object-fit: cover; }

/* Checkout/auth buttons */
body.louis-theme .login-btn, body.louis-theme .register-btn, body.louis-theme .checkout-btn { background: var(--brand-red); border-color: var(--brand-red); color:#fff; }
body.louis-theme .login-btn:hover, body.louis-theme .register-btn:hover, body.louis-theme .checkout-btn:hover { background: transparent; color: var(--brand-red); }

body.louis-theme .footer a:hover { color: var(--brand-red); }

/* Minor utilities */
body.louis-theme .container-full { width: 100%; max-width: 100%; padding-left: 0; padding-right: 0; }

/* =============================
   Product Listing Cards (style1)
   ============================= */
body.louis-theme .item-inner { background:#fff; border:1px solid rgba(0,0,0,0.06); border-radius:14px; overflow:hidden; transition:box-shadow .2s ease, transform .2s ease; }
body.louis-theme .item-inner:hover { box-shadow:0 12px 28px rgba(0,0,0,0.10); transform:translateY(-2px); }
body.louis-theme .item-img-badge { position:relative; }
body.louis-theme .item-img-badge .item-img { display:block; overflow:hidden; border-bottom:1px solid rgba(0,0,0,0.05); background:#fafafa; }
/* Modern aspect-ratio with graceful fallback */
body.louis-theme .item-img-badge .item-img { aspect-ratio: 1 / 1; }
body.louis-theme .item-img-badge .item-img img { width:100%; height:100%; object-fit:cover; display:block; }

body.louis-theme .item-content { padding:12px 14px 14px; background:#fff; }
body.louis-theme .item-title a { color:#111; text-decoration:none; font-weight:600; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.35; min-height:44px; }
body.louis-theme .item-price .new-price { color: var(--brand-red) !important; font-weight:700; }
body.louis-theme .item-price .old-price span { color:#777; text-decoration:line-through; }

/* Card action buttons */
body.louis-theme .item-action ul { display:flex; gap:8px; align-items:center; }
body.louis-theme .item-action .add__cart,
body.louis-theme .see-option-btn a,
body.louis-theme .sold-out-btn { background:var(--brand-red); color:#fff !important; border:1px solid var(--brand-red); border-radius:24px; padding:8px 16px; display:inline-block; cursor:pointer; transition:all .2s ease; }
body.louis-theme .item-action .add__cart:hover,
body.louis-theme .see-option-btn a:hover { background:transparent; color:var(--brand-red) !important; }

/* Wishlist heart position keep default; ensure visible */
body.louis-theme .item-img-badge .ri-heart-fill { color:#fff; text-shadow:0 0 3px rgba(0,0,0,0.35); }

/* =============================
   Product Listing Cards (style2 list view)
   ============================= */
body.louis-theme .list-item-inner { border:1px solid rgba(0,0,0,0.06); border-radius:14px; background:#fff; overflow:hidden; }
body.louis-theme .list-item-inner .item-img img { width:100%; height:100%; object-fit:cover; }
body.louis-theme .list-item-inner .item-title a { color:#111; text-decoration:none; font-weight:600; }
body.louis-theme .list-item-inner .item-price { color:var(--brand-red); font-weight:700; }

/* =============================
   Product Detail Page
   ============================= */
body.louis-theme .product__page .product-name { font-weight:700; }
body.louis-theme .product__page .product-price .new-price { color:var(--brand-red) !important; font-weight:800; }
body.louis-theme .product__page .product-price .old-price { color:#777; text-decoration:line-through; margin-left:8px; }

/* ATC / Buy buttons */
body.louis-theme .product__page .cart-buy-favourite .add__cart,
body.louis-theme .product__page .cart-buy-favourite .buy-btn { padding:12px 26px; border-radius:28px; background:var(--brand-red); border:1px solid var(--brand-red); color:#fff; font-weight:600; transition:all .2s ease; }
body.louis-theme .product__page .cart-buy-favourite .add__cart:hover,
body.louis-theme .product__page .cart-buy-favourite .buy-btn:hover { background:transparent; color:var(--brand-red); }

/* Tabs accents */
body.louis-theme .product__page .nav-tabs .nav-link.active { color: var(--brand-red); border-color: var(--brand-red) var(--brand-red) #fff; }

/* Related products inside product page use same card styling */
body.louis-theme .product__page .item-inner { margin-top:6px; }




/* =============================
   Refinements: spacing/typography for product cards
   ============================= */
body.louis-theme .item-content { padding:14px 16px 16px; }
body.louis-theme .item-brand-ratings span { font-size:.85rem; color:#555; }
body.louis-theme .item-title a { font-size: .95rem; }
body.louis-theme .item-price .new-price { font-size:1.05rem; }
body.louis-theme .item-price .old-price { display:flex; align-items:center; gap:6px; margin-top:2px; }
body.louis-theme .item-action ul { margin-top:10px; }

/* Hover zoom effect on product image */
body.louis-theme .item-img-badge .item-img { position:relative; }
body.louis-theme .item-img-badge .item-img img { transition: transform .35s ease; }
body.louis-theme .item-inner:hover .item-img-badge .item-img img { transform: scale(1.05); }

/* =============================
   Cart & Checkout Styling
   ============================= */
/* Cart table */
body.louis-theme .cart-section h2, body.louis-theme .checkout-header { font-weight:700; }
body.louis-theme .cart-table table { border:1px solid rgba(0,0,0,0.06); border-radius:12px; overflow:hidden; background:#fff; }
body.louis-theme .cart-table thead th { background:#f8f8f8; border-bottom:1px solid rgba(0,0,0,0.06); color:#333; font-weight:600; }
body.louis-theme .cart-product .product-details a { color:#111; font-weight:600; text-decoration:none; }

/* Quantity controls */
body.louis-theme .product-count .counter { border:1px solid rgba(0,0,0,0.12); background:#fff; border-radius:50%; width:32px; height:32px; display:flex; align-items:center; justify-content:center; }
body.louis-theme .product-count .counter:hover { border-color: var(--brand-red); color:var(--brand-red); }
body.louis-theme .product-count .counter-field { border:1px solid rgba(0,0,0,0.12); width:48px; text-align:center; border-radius:8px; }

/* Totals and checkout buttons */
body.louis-theme .checkout-process .grand-total, body.louis-theme .checkout-process-content { border:1px solid rgba(0,0,0,0.06); border-radius:12px; background:#fff; padding:16px; }
body.louis-theme .checkout-process .btn-checkout { display:inline-block; padding:12px 26px; border-radius:28px; border:1px solid var(--brand-red); background:var(--brand-red); color:#fff; font-weight:600; text-decoration:none; }
body.louis-theme .checkout-process .btn-checkout:hover { background:transparent; color:var(--brand-red); }
body.louis-theme .checkout-process .sm-btn, body.louis-theme #coupon-apply-btn, body.louis-theme #sm-coupon-apply-btn { border-radius:24px; border:1px solid var(--brand-red); background:var(--brand-red); color:#fff; padding:8px 16px; }
body.louis-theme .checkout-process .sm-btn:hover, body.louis-theme #coupon-apply-btn:hover, body.louis-theme #sm-coupon-apply-btn:hover { background:transparent; color:var(--brand-red); }

/* Form inputs */
body.louis-theme .checkout-form .form-control, body.louis-theme .checkout-section .form-control { border-radius:10px; border:1px solid rgba(0,0,0,0.12); }
body.louis-theme .checkout-form .form-control:focus { border-color: var(--brand-red); box-shadow: 0 0 0 .2rem rgba(196,0,0,0.1); }

/* Payment/shipping items */
body.louis-theme .shipping-method-item, body.louis-theme .payment-method-wrapper label { border:1px solid rgba(0,0,0,0.06); border-radius:12px; background:#fff; padding:10px 14px; display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
body.louis-theme .payment-method-wrapper input[type=radio] { margin-right:8px; }

/* =============================
   Auth Pages (Login/Register)
   ============================= */
body.louis-theme .login__box, body.louis-theme .register__box { border:1px solid rgba(0,0,0,0.06); border-radius:12px; background:#fff; padding:24px; }
body.louis-theme .login__title, body.louis-theme .register__ttile { font-weight:700; color:#111; }
body.louis-theme .login__form .form-control, body.louis-theme .register__form .form-control { border-radius:10px; border:1px solid rgba(0,0,0,0.12); }
body.louis-theme .login__form .form-control:focus, body.louis-theme .register__form .form-control:focus { border-color: var(--brand-red); box-shadow: 0 0 0 .2rem rgba(196,0,0,0.1); }
body.louis-theme .login__btn, body.louis-theme .submit__btn, body.louis-theme .login__button__div .login__btn, body.louis-theme .register__page .submit__btn { border-radius:28px; background:var(--brand-red); color:#fff; border:1px solid var(--brand-red); padding:12px 26px; }
body.louis-theme .login__btn:hover, body.louis-theme .submit__btn:hover, body.louis-theme .login__button__div .login__btn:hover { background:transparent; color:var(--brand-red); }
body.louis-theme .create__account__box .google, body.louis-theme .create__account__box .facebook { border-radius:28px; border:1px solid rgba(0,0,0,0.12); padding:10px 16px; display:inline-flex; gap:8px; align-items:center; }
body.louis-theme .create__account__box .or { color:#555; }


/* =============================
   Responsive adjustments
   ============================= */
@media (max-width: 992px) {
  body.louis-theme .louis-hero { min-height: 60vh; }
  body.louis-theme .louis-hero h2 { font-size: 1.6rem; }
  body.louis-theme .louis-hero .actions { flex-direction: row; gap:10px; }
  body.louis-theme .louis-services { padding: 32px 0; }
  body.louis-theme .item-title a { font-size: .92rem; }
  body.louis-theme .item-content { padding:12px; }
  body.louis-theme .item-action ul { margin-top:8px; }
}

@media (max-width: 768px) {
  body.louis-theme .louis-hero { min-height: 52vh; }
  body.louis-theme .louis-hero h2 { font-size: 1.4rem; }
  body.louis-theme .louis-hero .actions { flex-direction: column; gap:8px; }
  body.louis-theme .checkout-process .btn-checkout { width: 100%; text-align:center; }
  body.louis-theme .checkout-process .grand-total, body.louis-theme .checkout-process-content { padding:12px; }
}

@media (max-width: 480px) {
  body.louis-theme .item-title a { font-size: .9rem; }
  body.louis-theme .louis-btn, body.louis-theme .btn-primary, body.louis-theme .checkout-btn { padding:10px 18px; }
  body.louis-theme .product-count .counter { width:28px; height:28px; }
  body.louis-theme .product-count .counter-field { width:44px; }
}


/* =============================
   LV-style video hero
   ============================= */
body.louis-theme .lv-hero-video { position:relative; width:100%; min-height:75vh; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#000; }
body.louis-theme .lv-hero-video .lv-video { position:absolute; top:50%; left:50%; min-width:100%; min-height:100%; width:auto; height:auto; transform:translate(-50%, -50%); object-fit:cover; }
body.louis-theme .lv-hero-video .overlay { position:absolute; inset:0; background: linear-gradient(to bottom, rgba(0,0,0,0.1), rgba(0,0,0,0.35)); }
body.louis-theme .lv-hero-video .content { position:relative; z-index:2; text-align:center; color:#fff; }
body.louis-theme .lv-hero-video .lv-title { font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:12px; }
@media (max-width:768px){ body.louis-theme .lv-hero-video { min-height:56vh; } body.louis-theme .lv-hero-video .lv-title { font-size:1.25rem; letter-spacing:.1em; } }


/* Header over hero: transparent initial, white on scroll */
body.louis-theme #sticky-head header { background: transparent; color:#fff; transition: background .3s ease, color .3s ease; }
body.louis-theme #sticky-head header .main-nav > li > a,
body.louis-theme #sticky-head .contact,
body.louis-theme #sticky-head .header-logo img { filter: brightness(1) contrast(1); }
body.louis-theme .top-header-section { background: transparent; border-bottom: none; }
/* Switch after scroll */
body.louis-theme.scrolled #sticky-head header { background:#fff; }
body.louis-theme.scrolled .top-header-section { background:#fff; border-bottom:1px solid rgba(0,0,0,0.06); }
body.louis-theme #sticky-head header .main-nav > li > a { color:#fff; }
body.louis-theme.scrolled #sticky-head header .main-nav > li > a { color: var(--brand-black); }
/* Mobile header tint */
body.louis-theme .sm-top-header-section { background: rgba(0,0,0,0.25); }
body.louis-theme.scrolled .sm-top-header-section { background:#fff; }


/* LV header aesthetic over hero + smooth transition */
/* Base typography for nav */
body.louis-theme #sticky-head header .main-nav > li > a { letter-spacing:.06em; font-weight:500; font-size:14px; }

/* Initial state (over hero): transparent with white content */
body.louis-theme:not(.scrolled) #sticky-head header { background: transparent; color:#fff; }
body.louis-theme:not(.scrolled) #sticky-head header .main-nav > li > a { color:#fff; }
body.louis-theme:not(.scrolled) #sticky-head header .main-nav > li > a:hover { opacity:.9; }
body.louis-theme:not(.scrolled) #sticky-head header .contact { color:#fff; }
body.louis-theme:not(.scrolled) #sticky-head .header-logo img { filter: brightness(0) invert(1); transition: filter .3s ease; }

/* Top bar area (categories + search + user icons) */
body.louis-theme .top-header-section { transition: background .3s ease, border-color .3s ease; }
body.louis-theme:not(.scrolled) .top-header-section { background: transparent; border-bottom:none; }
body.louis-theme:not(.scrolled) #sticky-head .category-title { background: rgba(255,255,255,0.08); color:#fff; border-color: rgba(255,255,255,0.25); }
body.louis-theme:not(.scrolled) #sticky-head .category-title i { color:#fff; }
body.louis-theme:not(.scrolled) #sticky-head .searchbox { background: rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.25); border-radius: 4px; }
body.louis-theme:not(.scrolled) #sticky-head .searchbox-icon i { color:#fff; }
body.louis-theme:not(.scrolled) #sticky-head .searchbox-input .input { color:#fff; background: transparent; }
body.louis-theme:not(.scrolled) #sticky-head .searchbox-input .input::placeholder { color: rgba(255,255,255,.75); }
body.louis-theme:not(.scrolled) #sticky-head #dynamic-header,
body.louis-theme:not(.scrolled) #sticky-head #dynamic-header a,
body.louis-theme:not(.scrolled) #sticky-head #dynamic-header i { color:#fff; }

/* Scroll state: white background with dark text */
body.louis-theme.scrolled #sticky-head header { background:#fff; color:var(--brand-black); box-shadow: 0 6px 18px rgba(0,0,0,0.06); }
body.louis-theme.scrolled #sticky-head header .main-nav > li > a { color: var(--brand-black); }
body.louis-theme.scrolled #sticky-head .header-logo img { filter:none; }
body.louis-theme.scrolled .top-header-section { background:#fff; border-bottom:1px solid rgba(0,0,0,0.06); }
body.louis-theme.scrolled #sticky-head .category-title { background:#fff; color: var(--brand-black); border-color: #E1E1E1; }
body.louis-theme.scrolled #sticky-head .searchbox { background:#fff; border:1px solid #E1E1E1; }
body.louis-theme.scrolled #sticky-head .searchbox-icon i { color: var(--brand-black); }
body.louis-theme.scrolled #sticky-head .searchbox-input .input { color: var(--brand-black); }
body.louis-theme.scrolled #sticky-head .searchbox-input .input::placeholder { color: #8a8a8a; }
body.louis-theme.scrolled #sticky-head #dynamic-header,
body.louis-theme.scrolled #sticky-head #dynamic-header a,
body.louis-theme.scrolled #sticky-head #dynamic-header i { color: var(--brand-black); }

/* Mobile header tweaks */
body.louis-theme .sm-top-header-section { background: transparent; transition: background .3s ease, color .3s ease; }
body.louis-theme .sm-top-header-section .brand-name img { filter: brightness(0) invert(1); transition: filter .3s ease; }
body.louis-theme .sm-top-header-section i,
body.louis-theme .sm-top-header-section .sm-menu-item,
body.louis-theme .sm-top-header-section .sm-header-logo { color:#fff; }
body.louis-theme.scrolled .sm-top-header-section { background:#fff; }
body.louis-theme.scrolled .sm-top-header-section .brand-name img { filter:none; }
body.louis-theme.scrolled .sm-top-header-section i,
body.louis-theme.scrolled .sm-top-header-section .sm-menu-item { color: var(--brand-black); }

/* LV navbar layout (exact style) */
body.louis-theme #sticky-head .lv-navbar { position: fixed; top:0; left:0; right:0; height:90px; display:flex; align-items:center; justify-content:space-between; padding:0 50px; background:transparent; z-index:10060; transition: background .35s ease, color .35s ease, border-color .35s ease; border-bottom:1px solid transparent; }
body.louis-theme #sticky-head .lv-navbar ul { display:flex; gap:22px; margin:0; padding:0; list-style:none; align-items:center; }
body.louis-theme #sticky-head .lv-navbar .brand { font-weight:700; text-transform:uppercase; letter-spacing:.2em; font-size:18px; text-decoration:none; color:#fff; }
body.louis-theme #sticky-head .lv-navbar .lv-icon { font-size:22px; line-height:1; }
body.louis-theme #sticky-head .lv-navbar .lv-right i { font-size:22px; line-height:1; }
body.louis-theme #sticky-head .lv-navbar .lv-left .lv-label,
body.louis-theme #sticky-head .lv-navbar .lv-right a,
body.louis-theme #sticky-head .lv-navbar .lv-icon { color:#fff; }
body.louis-theme #sticky-head .lv-navbar .counter-badge { position:absolute; transform: translate(6px, -8px); background:#000; color:#fff; font-size:10px; padding:0 4px; border-radius:10px; }

/* Override default sticky-header wrapper so it doesn't force white bg */
body.louis-theme #sticky-head.sticky-header { background:transparent !important; box-shadow:none !important; padding:0 !important; }

/* Scrolled state */
body.louis-theme.scrolled #sticky-head .lv-navbar { background:#fff; border-bottom-color: rgba(0,0,0,0.12); }
body.louis-theme.scrolled #sticky-head .lv-navbar .brand { color: var(--brand-black); }
body.louis-theme.scrolled #sticky-head .lv-navbar .lv-left .lv-label,
body.louis-theme.scrolled #sticky-head .lv-navbar .lv-right a,
body.louis-theme.scrolled #sticky-head .lv-navbar .lv-icon { color: var(--brand-black); }

/* Responsive adjustments for LV navbar */
@media (max-width: 991px){
  body.louis-theme #sticky-head .lv-navbar { height:72px; padding:0 20px; }
  body.louis-theme #sticky-head .lv-navbar .brand { font-size:16px; letter-spacing:.18em; }
  body.louis-theme #sticky-head .lv-navbar ul { gap:14px; }
}
@media (max-width: 575px){
  body.louis-theme #sticky-head .lv-navbar { height:64px; padding:0 12px; }
  body.louis-theme #sticky-head .lv-navbar .brand { font-size:14px; letter-spacing:.16em; }
  body.louis-theme #sticky-head .lv-navbar .lv-left .lv-label,
  body.louis-theme #sticky-head .lv-navbar .lv-right .lv-label { display:none; }
}


/* LV slim categories dropdown panel */
body.louis-theme .lv-categories {
  position: fixed;
  top: 90px;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
  z-index: 1001;
  /* override generic .ts__dropdown full-screen panel */
  height: auto;
  max-height: calc(100vh - 110px);
  overflow-y: auto;
  transform: translateY(-12px);
  opacity: 0;
  pointer-events: none;
  transition: transform .25s ease, opacity .25s ease;
}
body.louis-theme .lv-categories.dropdown-is-active { transform: translateY(0); opacity:1; pointer-events:auto; }
body.louis-theme .lv-categories .ts__close { position:absolute; right:16px; top:12px; font-size:12px; color:#777; text-decoration:none; }

/* structure the content grid and neutralize legacy .ts__dropdown styles */
body.louis-theme .lv-categories .ts__dropdown__content {
  position: relative;
  top: auto;
  left: auto;
  width: min(1200px, 100%);
  height: auto;
  transform: none;
  overflow: visible;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 16px 24px;
  margin: 16px auto;
  padding: 12px 24px 20px;
  list-style: none;
}
body.louis-theme .lv-categories .ts__dropdown__content li { list-style: none; min-width: 0; }
body.louis-theme .lv-categories .ts__dropdown__content > li > a {
  display: block;
  padding: 10px 8px;
  font-weight: 600;
  letter-spacing: .02em;
  color: #222;
  text-decoration: none;
  border-radius: 4px;
  /* override tall fixed heights from base */
  height: auto;
  line-height: 1.4;
  white-space: nowrap;
}
body.louis-theme .lv-categories .ts__dropdown__content > li > a:hover { background: #f7f7f7; }

/* Hide nested submenus in this slim grid */
body.louis-theme .lv-categories .ts__dropdown__content > li > ul{
  display: none !important;
  position: static;
  left: auto;
  height: auto; width: auto;
  box-shadow: none; background: transparent;
  transform: none;
  padding: 0; margin: 0;
}

body.louis-theme .lv-categories .ts__dropdown__content .ts__secondary__dropdown a,
body.louis-theme .lv-categories .ts__dropdown__content .ts__primary__dropdown a {
  padding: 6px 10px; font-weight: 400; color: #444; height: auto; line-height: 1.4; white-space: normal;
}
body.louis-theme .lv-categories .go-back a { color:#999; font-size:12px; }

@media (max-width: 991px){
  body.louis-theme .lv-categories { top:72px; max-height: calc(100vh - 84px); }
  body.louis-theme .lv-categories .ts__dropdown__content { grid-template-columns: repeat(2, minmax(0,1fr)); padding: 10px 16px 16px; }
}
@media (max-width: 575px){
  body.louis-theme .lv-categories { top:64px; max-height: calc(100vh - 72px); }
  body.louis-theme .lv-categories .ts__dropdown__content { grid-template-columns: 1fr; padding: 8px 14px 16px; }
}




/* Section spacing + luxury minimal accents */
body.louis-theme .section, body.louis-theme .top-in-category, body.louis-theme .tht__section, body.louis-theme .blog-section { padding-top: 48px; padding-bottom: 56px; }
body.louis-theme .flash-deal-wrapper, body.louis-theme .checkout-process .grand-total, body.louis-theme .checkout-process-content, body.louis-theme .item-inner, body.louis-theme .list-item-inner { box-shadow: 0 8px 24px rgba(0,0,0,0.04); border: 1px solid rgba(0,0,0,0.06); }


/* LV collection + product row sections */
body.louis-theme .lv-section-title { font-size: 24px; text-align:center; margin: 8px 0 24px; letter-spacing:.04em; font-weight:600; }
body.louis-theme .lv-section-eyebrow { text-transform: uppercase; letter-spacing:.16em; font-size: 12px; color: #7a7a7a; text-align:center; }
body.louis-theme .lv-collection-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 24px; justify-items: center; }
body.louis-theme .lv-collection-item { text-decoration:none; color: inherit; display:block; }
body.louis-theme .lv-collection-item .thumb { width: min(315px, 100%); aspect-ratio: 315 / 400; border-radius: 4px; overflow:hidden; margin-left:auto; margin-right:auto; }
body.louis-theme .lv-collection-item .thumb img { width:min(315px, 100%); height:auto; aspect-ratio: 315 / 400; object-fit: cover; transition: transform .4s ease; display:block; }
body.louis-theme .lv-collection-item:hover .thumb img { transform: scale(1.03); }
body.louis-theme .lv-collection-item .caption { text-align:center; margin-top:8px; font-size:12px; color:#555; }

/* Fall edit products row */
body.louis-theme .lv-products-row { row-gap: 28px; }
body.louis-theme .lv-product-card { display:block; text-decoration:none; color:inherit; }
body.louis-theme .lv-product-card .thumb { width: min(315px, 100%); aspect-ratio: 315 / 400; background:#f7f7f7; border: 1px solid rgba(0,0,0,0.06); border-radius: 4px; overflow:hidden; margin-left:auto; margin-right:auto; }
body.louis-theme .lv-product-card .thumb img { width:min(315px, 100%); height:auto; aspect-ratio: 315 / 400; object-fit: cover; display:block; margin-left:auto; margin-right:auto; }
body.louis-theme .lv-product-card .meta { margin-top:10px; text-align:left; }
body.louis-theme .lv-product-card .meta .name { font-size:14px; line-height:1.35; margin-bottom:4px; }
body.louis-theme .lv-product-card .meta .price { font-size:13px; color:#444; }

body.louis-theme .lv-cta-row { display:flex; justify-content:center; gap:14px; margin-top:20px; }

@media (max-width: 991px){ body.louis-theme .lv-collection-grid { grid-template-columns: repeat(2, 1fr); gap:16px; } }
@media (max-width: 575px){ body.louis-theme .lv-collection-grid { grid-template-columns: 1fr; } }
