/* ═══════════════════════════════════════════════════════════
   LEONCREST — Child Theme CSS v2
   Design: Premium, clean, BYSIX-inspired
   Parent: Hummingbird (PS9)
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap');

:root {
  --lc-primary: #0a0a0a;
  --lc-accent: #C5A55A;
  --lc-accent-hover: #A8892E;
  --lc-accent-light: rgba(197, 165, 90, 0.08);
  --lc-bg: #ffffff;
  --lc-bg-alt: #FAFAFA;
  --lc-bg-dark: #0a0a0a;
  --lc-text: #1a1a1a;
  --lc-text-muted: #6b6b6b;
  --lc-text-light: #999999;
  --lc-border: #e8e8e8;
  --lc-border-light: #f0f0f0;
  --lc-shadow: 0 2px 20px rgba(0,0,0,0.06);
  --lc-shadow-hover: 0 8px 40px rgba(0,0,0,0.1);
  --lc-transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  --lc-font: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --lc-font-display: 'Playfair Display', Georgia, serif;
  --lc-container: 1280px;
}

body { font-family: var(--lc-font) !important; color: var(--lc-text) !important; background: var(--lc-bg) !important; font-weight: 400; font-size: 15px; line-height: 1.7; -webkit-font-smoothing: antialiased; }

/* Force full-width on homepage */
#index .page--full-width, #index .center-column { max-width: 100% !important; padding: 0 !important; }
#index .columns-container { max-width: 100% !important; padding: 0 !important; }
h1, h2, h3, h4, h5, h6 { font-family: var(--lc-font-display) !important; color: var(--lc-primary) !important; font-weight: 500; line-height: 1.2; }
a { color: var(--lc-primary); text-decoration: none; transition: var(--lc-transition); }
a:hover { color: var(--lc-accent); }
.container { max-width: var(--lc-container) !important; }
::selection { background: var(--lc-accent); color: #fff; }

/* ═══════════════════════════════════════
   HEADER
   ═══════════════════════════════════════ */
#header { background: var(--lc-bg) !important; border-bottom: none !important; box-shadow: none !important; padding: 0 !important; }
.header-top { display: none !important; }
.header-bottom { display: none !important; }
#header .header-nav { display: none !important; }

/* LeonCrest single-line header */
.lc-header { background: #fff; }
.lc-header .logo { max-height: 40px; }
#lc-desktop-menu .search-widget { display: none; }
#lc-desktop-nav2 { font-family: var(--lc-font); font-size: 13px; }
#lc-desktop-nav2 .header-block { display: inline-flex; align-items: center; }
#lc-desktop-nav2 .language-selector, #lc-desktop-nav2 .currency-selector { display: none; }
#lc-desktop-search .search-widget input { border: 1px solid var(--lc-border) !important; border-radius: 0 !important; padding: 8px 14px !important; font-size: 13px !important; font-family: var(--lc-font) !important; }
#lc-desktop-search .search-widget input:focus { border-color: var(--lc-accent) !important; }

/* Language selector */
#lc-lang-selector { font-family: var(--lc-font); font-size: 12px; }
#lc-lang-selector .language-selector { display: inline-flex !important; align-items: center; }
#lc-lang-selector .language-selector-wrapper { position: relative; }
#lc-lang-selector select, #lc-lang-selector .language-selector button { font-family: var(--lc-font) !important; font-size: 12px !important; background: transparent !important; border: 1px solid var(--lc-border) !important; padding: 6px 10px !important; color: var(--lc-text) !important; cursor: pointer; border-radius: 0 !important; }
#lc-lang-selector .language-selector .dropdown-menu { font-family: var(--lc-font) !important; font-size: 13px !important; border-radius: 0 !important; border: 1px solid var(--lc-border) !important; }

/* Header nav links hover */
.lc-header a:hover, div[style*='border-bottom:1px solid'] a:hover { color: var(--lc-accent) !important; }
#_desktop_top_menu .top-menu a, .top-menu a { font-family: var(--lc-font) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; color: var(--lc-primary) !important; padding: 10px 18px !important; }
#_desktop_top_menu .top-menu a:hover, .top-menu a:hover { color: var(--lc-accent) !important; }
.search-widget input[type="text"] { border: 1px solid var(--lc-border) !important; border-radius: 0 !important; font-family: var(--lc-font) !important; font-size: 14px !important; padding: 10px 16px !important; }
.search-widget input[type="text"]:focus { border-color: var(--lc-accent) !important; box-shadow: 0 0 0 2px var(--lc-accent-light) !important; }
.blockcart .cart-products-count { background: var(--lc-accent) !important; color: var(--lc-bg) !important; }

/* ═══════════════════════════════════════
   HAMBURGER BUTTON (mobile only)
   ═══════════════════════════════════════ */
.kr-hamburger {
  display: none; /* shown in mobile media query */
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  z-index: 10;
  flex-shrink: 0;
}
.kr-hamburger span {
  display: block;
  width: 22px;
  height: 1.5px;
  transition: all 0.3s ease;
}
.kr-header--home .kr-hamburger span { background: rgba(255,255,255,0.8); }
.kr-header--inner .kr-hamburger span { background: #1a1a1a; }

/* ═══════════════════════════════════════
   MOBILE NAV PANEL
   ═══════════════════════════════════════ */
.kr-mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 9998;
  opacity: 0;
  transition: opacity 0.35s ease;
}
.kr-mobile-overlay.kr-open {
  display: block;
  opacity: 1;
}
.kr-mobile-nav {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 320px;
  max-width: 85vw;
  background: #0a0a0a;
  z-index: 9999;
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.kr-mobile-nav.kr-open {
  transform: translateX(0);
}
.kr-mobile-nav__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.kr-mobile-nav__close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  opacity: 0.6;
  transition: opacity 0.2s;
}
.kr-mobile-nav__close:hover { opacity: 1; }

.kr-mobile-nav__search {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 16px 24px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.kr-mobile-nav__search input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  color: #fff;
}
.kr-mobile-nav__search input::placeholder { color: rgba(255,255,255,0.3); }

.kr-mobile-nav__links {
  flex: 1;
  padding: 16px 0;
}
.kr-mobile-nav__links a {
  display: block;
  padding: 14px 24px;
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: rgba(255,255,255,0.65);
  text-decoration: none;
  letter-spacing: 0.5px;
  transition: all 0.2s;
}
.kr-mobile-nav__links a:hover,
.kr-mobile-nav__links a:active {
  color: #fff;
  background: rgba(255,255,255,0.03);
}
.kr-mobile-nav__accent {
  color: #C5A55A !important;
  font-weight: 500 !important;
}
.kr-mobile-nav__divider {
  height: 1px;
  background: rgba(255,255,255,0.06);
  margin: 8px 24px;
}
.kr-mobile-nav__bottom {
  padding: 16px 24px;
  border-top: 1px solid rgba(255,255,255,0.06);
}
.kr-mobile-nav__account {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: rgba(255,255,255,0.5);
  text-decoration: none;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* ═══════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════ */
.lc-hero { position: relative; width: 100vw !important; margin-left: calc(-50vw + 50%) !important; overflow: hidden; }
.lc-hero__bg { min-height: 85vh; background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #2a2520 100%) !important; display: flex; align-items: center; justify-content: center; position: relative; }
.lc-hero__overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 50%, rgba(197,165,90,0.08) 0%, transparent 60%); }
.lc-hero__content { position: relative; z-index: 2; text-align: center; padding: 40px 24px; max-width: 700px; }
.lc-hero__badge { font-family: var(--lc-font); font-size: 11px; font-weight: 500; letter-spacing: 4px; text-transform: uppercase; color: var(--lc-accent); margin-bottom: 24px; }
.lc-hero__title { font-family: var(--lc-font-display) !important; font-size: clamp(36px, 6vw, 64px); font-weight: 400; color: #ffffff !important; margin-bottom: 8px; line-height: 1.1; }
.lc-hero__title em { font-style: italic; color: var(--lc-accent) !important; font-weight: 500; }
.lc-hero__subtitle { font-family: var(--lc-font-display) !important; font-size: clamp(20px, 3vw, 32px); font-weight: 400; color: rgba(255,255,255,0.7) !important; margin-bottom: 24px; }
.lc-hero__desc { font-family: var(--lc-font); font-size: 16px; color: rgba(255,255,255,0.5); line-height: 1.8; margin-bottom: 36px; font-weight: 300; }
.lc-hero__actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; margin-bottom: 40px; }
.lc-hero__trust { font-family: var(--lc-font); font-size: 13px; color: rgba(255,255,255,0.4); display: flex; align-items: center; gap: 10px; justify-content: center; }
.lc-hero__trust span:first-child { color: var(--lc-accent); letter-spacing: 2px; }

/* ═══════════════════════════════════════
   BUTTONS (LeonCrest custom)
   ═══════════════════════════════════════ */
.lc-btn { display: inline-block; font-family: var(--lc-font); font-size: 13px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; padding: 16px 36px; transition: var(--lc-transition); cursor: pointer; text-decoration: none !important; }
.lc-btn--primary { background: var(--lc-accent); color: var(--lc-bg-dark) !important; border: 1px solid var(--lc-accent); }
.lc-btn--primary:hover { background: var(--lc-accent-hover); color: var(--lc-bg-dark) !important; transform: translateY(-2px); box-shadow: 0 8px 30px rgba(197,165,90,0.3); }
.lc-btn--outline { background: transparent; color: #ffffff !important; border: 1px solid rgba(255,255,255,0.3); }
.lc-btn--outline:hover { border-color: #ffffff; color: #ffffff !important; transform: translateY(-2px); }
.lc-btn--dark { background: var(--lc-primary); color: #fff !important; border: 1px solid var(--lc-primary); }
.lc-btn--dark:hover { background: var(--lc-accent); border-color: var(--lc-accent); color: var(--lc-bg-dark) !important; }

/* ═══════════════════════════════════════
   REASSURANCE BAR
   ═══════════════════════════════════════ */
.lc-reassurance { background: var(--lc-bg-alt) !important; border-top: 1px solid var(--lc-border-light); border-bottom: 1px solid var(--lc-border-light); padding: 28px 0; width: 100vw !important; margin-left: calc(-50vw + 50%) !important; }
.lc-reassurance > .container { max-width: var(--lc-container); margin: 0 auto; padding: 0 24px; }
.lc-reassurance__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.lc-reassurance__item { display: flex; align-items: center; gap: 14px; font-family: var(--lc-font); }
.lc-reassurance__item svg { flex-shrink: 0; color: var(--lc-accent); }
.lc-reassurance__item strong { display: block; font-size: 13px; font-weight: 600; color: var(--lc-primary); letter-spacing: 0.3px; }
.lc-reassurance__item span { display: block; font-size: 12px; color: var(--lc-text-muted); margin-top: 2px; }

/* ═══════════════════════════════════════
   SECTION TITLES
   ═══════════════════════════════════════ */
.lc-section-title { font-family: var(--lc-font-display) !important; font-size: 32px !important; font-weight: 500 !important; color: var(--lc-primary) !important; text-align: center; margin-bottom: 8px; }
.lc-section-subtitle { font-family: var(--lc-font); font-size: 15px; color: var(--lc-text-muted); text-align: center; margin-bottom: 40px; }
.products-section-title { font-family: var(--lc-font-display) !important; font-size: 32px !important; font-weight: 500 !important; color: var(--lc-primary) !important; text-align: center !important; margin-bottom: 40px !important; }
.products-section-title::after { content: ''; display: block; width: 50px; height: 2px; background: var(--lc-accent); margin: 16px auto 0; }

/* ═══════════════════════════════════════
   COLLECTIONS GRID
   ═══════════════════════════════════════ */
.lc-collections { padding: 80px 0; }
.lc-collections > .container { max-width: var(--lc-container); margin: 0 auto; padding: 0 24px; }
.lc-collections__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lc-collection-card { display: block; position: relative; overflow: hidden; text-decoration: none !important; transition: var(--lc-transition); }
.lc-collection-card__img { width: 100%; aspect-ratio: 16/9; background-size: cover; background-position: center; transition: transform 0.6s ease; }
.lc-collection-card:hover .lc-collection-card__img { transform: scale(1.05); }
.lc-collection-card--large { grid-row: span 2; }
.lc-collection-card--large .lc-collection-card__img { aspect-ratio: auto; height: 100%; }
.lc-collection-card__info { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px; background: linear-gradient(transparent, rgba(0,0,0,0.7)); }
.lc-collection-card__info h3 { font-family: var(--lc-font-display) !important; font-size: 22px; color: #fff !important; margin-bottom: 4px; font-weight: 500; }
.lc-collection-card__info span { font-family: var(--lc-font); font-size: 12px; color: var(--lc-accent); letter-spacing: 1px; text-transform: uppercase; font-weight: 500; }

/* ═══════════════════════════════════════
   AI TRY-ON SECTION
   ═══════════════════════════════════════ */
.lc-tryon { padding: 80px 0; background: var(--lc-bg-alt) !important; width: 100vw !important; margin-left: calc(-50vw + 50%) !important; }
.lc-tryon > .container { max-width: var(--lc-container); margin: 0 auto; padding: 0 24px; }
.lc-tryon__wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; }
.lc-tryon__badge { font-family: var(--lc-font); font-size: 11px; font-weight: 600; letter-spacing: 3px; text-transform: uppercase; color: var(--lc-accent); margin-bottom: 16px; }
.lc-tryon__text h2 { font-family: var(--lc-font-display) !important; font-size: 36px; font-weight: 500; margin-bottom: 16px; line-height: 1.2; }
.lc-tryon__text h2 em { color: var(--lc-accent) !important; font-style: italic; }
.lc-tryon__text p { font-family: var(--lc-font); font-size: 15px; color: var(--lc-text-muted); line-height: 1.8; margin-bottom: 24px; }
.lc-tryon__steps { list-style: none; padding: 0; margin: 0 0 32px 0; counter-reset: step; }
.lc-tryon__steps li { counter-increment: step; font-family: var(--lc-font); font-size: 14px; color: var(--lc-text); padding: 10px 0; border-bottom: 1px solid var(--lc-border-light); display: flex; align-items: center; gap: 12px; }
.lc-tryon__steps li::before { content: counter(step); display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; background: var(--lc-accent); color: var(--lc-bg-dark); font-size: 12px; font-weight: 700; flex-shrink: 0; }
.lc-tryon__visual { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.lc-tryon__before, .lc-tryon__after { aspect-ratio: 3/4; background: var(--lc-border-light); display: flex; align-items: flex-end; justify-content: center; padding-bottom: 16px; position: relative; }
.lc-tryon__before span, .lc-tryon__after span { font-family: var(--lc-font); font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--lc-text-muted); background: rgba(255,255,255,0.8); padding: 4px 12px; }
.lc-tryon__after { background: var(--lc-border); }
.lc-tryon__after span { color: var(--lc-accent); }

/* ═══════════════════════════════════════
   PRODUCTS SECTION
   ═══════════════════════════════════════ */
.lc-products-section { padding: 60px 0; }
.featured-products, .product-accessories, section.featured-products, section.new-products, section.bestseller-products { padding: 60px 0 !important; }

/* ═══════════════════════════════════════
   PRODUCT CARDS
   ═══════════════════════════════════════ */
.product-miniature { border: 1px solid var(--lc-border-light) !important; border-radius: 0 !important; background: var(--lc-bg) !important; overflow: hidden; transition: var(--lc-transition); }
.product-miniature:hover { border-color: var(--lc-accent) !important; box-shadow: var(--lc-shadow-hover); transform: translateY(-4px); }
.product-miniature .thumbnail-container, .product-miniature .product-thumbnail { background: var(--lc-bg-alt) !important; }
.product-miniature .product-thumbnail img { object-fit: contain !important; padding: 16px; mix-blend-mode: multiply; transition: transform 0.5s ease; }
.product-miniature:hover .product-thumbnail img { transform: scale(1.05); }
.product-miniature .product-title { font-family: var(--lc-font) !important; font-size: 14px !important; font-weight: 500 !important; color: var(--lc-primary) !important; }
.product-miniature .product-title a { color: var(--lc-primary) !important; }
.product-miniature .product-title a:hover { color: var(--lc-accent) !important; }
.product-miniature .product-price-and-shipping .price { font-family: var(--lc-font) !important; font-size: 18px !important; font-weight: 600 !important; color: var(--lc-primary) !important; }

/* ═══════════════════════════════════════
   PRODUCT PAGE
   ═══════════════════════════════════════ */
.product-container h1, h1[itemprop="name"] { font-family: var(--lc-font-display) !important; font-size: 28px !important; font-weight: 500 !important; }
.current-price .price, .product-price .current-price-value { font-family: var(--lc-font) !important; font-size: 28px !important; font-weight: 600 !important; color: var(--lc-primary) !important; }
.add-to-cart, .btn-primary { background: var(--lc-primary) !important; color: var(--lc-bg) !important; border: none !important; border-radius: 0 !important; font-family: var(--lc-font) !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: 2px !important; text-transform: uppercase !important; padding: 14px 32px !important; transition: var(--lc-transition); }
.add-to-cart:hover, .btn-primary:hover { background: var(--lc-accent) !important; color: var(--lc-bg-dark) !important; transform: translateY(-1px); box-shadow: 0 4px 16px rgba(197,165,90,0.3); }
.btn-secondary, .btn-outline-primary { background: transparent !important; color: var(--lc-primary) !important; border: 1px solid var(--lc-primary) !important; border-radius: 0 !important; font-family: var(--lc-font) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; }
.btn-secondary:hover, .btn-outline-primary:hover { background: var(--lc-primary) !important; color: var(--lc-bg) !important; }
.product-tabs .nav-link { font-family: var(--lc-font) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: 1px; text-transform: uppercase; color: var(--lc-text-muted) !important; border: none !important; }
.product-tabs .nav-link.active { color: var(--lc-primary) !important; border-bottom: 2px solid var(--lc-accent) !important; }

/* ═══════════════════════════════════════
   CATEGORY
   ═══════════════════════════════════════ */
.block-category h1 { font-family: var(--lc-font-display) !important; font-size: 36px !important; text-align: center; }
#category-description { font-family: var(--lc-font) !important; color: var(--lc-text-muted); max-width: 720px; margin: 0 auto 40px; text-align: center; line-height: 1.8; }

/* ═══════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════ */
#footer { background: var(--lc-bg-dark) !important; color: rgba(255,255,255,0.7) !important; padding-top: 60px !important; }
#footer h4, #footer .h4, #footer .block-title { font-family: var(--lc-font) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: #fff !important; margin-bottom: 20px !important; }
#footer a { color: rgba(255,255,255,0.6) !important; font-size: 14px; }
#footer a:hover { color: var(--lc-accent) !important; }
#footer .footer-container { border-top: none !important; }
.block_newsletter input[type="email"] { border: 1px solid rgba(255,255,255,0.2) !important; background: transparent !important; color: #fff !important; border-radius: 0 !important; padding: 12px 16px !important; }
.block_newsletter .btn { background: var(--lc-accent) !important; border: none !important; border-radius: 0 !important; color: var(--lc-bg-dark) !important; font-weight: 600 !important; }
.footer-bottom, .footer-after { background: var(--lc-bg-dark) !important; border-top: 1px solid rgba(255,255,255,0.08) !important; font-size: 12px; color: rgba(255,255,255,0.4) !important; }

/* ═══════════════════════════════════════
   FORMS & MISC
   ═══════════════════════════════════════ */
.form-control { border-radius: 0 !important; border: 1px solid var(--lc-border) !important; font-family: var(--lc-font) !important; }
.form-control:focus { border-color: var(--lc-accent) !important; box-shadow: 0 0 0 2px var(--lc-accent-light) !important; }
.breadcrumb { font-family: var(--lc-font) !important; font-size: 12px !important; padding: 16px 0 !important; background: transparent !important; }
.breadcrumb a { color: var(--lc-text-light) !important; }
.pagination .page-link { border: 1px solid var(--lc-border) !important; color: var(--lc-primary) !important; border-radius: 0 !important; }
.pagination .page-item.active .page-link { background: var(--lc-primary) !important; border-color: var(--lc-primary) !important; color: #fff !important; }

/* ═══════════════════════════════════════
   PRODUCT PAGE — Add to cart enlarged
   ═══════════════════════════════════════ */
.product__actions-qty-add { display: flex !important; flex-direction: column !important; }
.product__actions-qty-add .product__quantity,
.product__actions-qty-add .product-actions__quantity,
.product__actions-qty-add .quantity-button,
.product__actions-qty-add .js-quantity-button { display: none !important; }
.product__add-to-cart.add { width: 100% !important; }
.lc-add-to-cart-main { width: 100% !important; padding: 18px 32px !important; font-size: 15px !important; letter-spacing: 2.5px !important; }

/* Remove default borders on product carousel */
.lc-images-container .product__carousel,
.lc-images-container .carousel,
.lc-images-container .carousel-inner,
.lc-images-container .carousel-item { border: none !important; outline: none !important; box-shadow: none !important; }

/* Plan cards hover */
.lc-plan-card:hover { border-color: #C5A55A !important; }

/* ═══════════════════════════════════════
   FULL-WIDTH: product + category pages
   ═══════════════════════════════════════ */
body.page-product .columns-container.container,
body.page-category .columns-container.container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
}
body.page-product #center-column,
body.page-category #center-column {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-product #wrapper,
body.page-category #wrapper {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Product page: padding on footer hooks (related products) */
body.page-product .product-accessories,
body.page-product #center-column > section,
body.page-product #center-column > .products {
  padding-left: 40px !important;
  padding-right: 40px !important;
}
/* Category page: padding on content */
body.page-category #center-column {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Header full-width */
#header .header-top,
#header .header-nav {
  max-width: 100% !important;
  width: 100% !important;
}
#header .header-top > .container,
#header .header-nav > .container,
#header .container {
  max-width: 100% !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
#wrapper .breadcrumb {
  max-width: 100% !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

/* Hide sort bar on category pages */
#js-product-list-top .products__selection {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE VERSION
   ═══════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────
   TABLET (≤ 991px)
   ───────────────────────────────────── */
@media (max-width: 991px) {

  /* Header: show hamburger, hide desktop nav & search */
  .kr-hamburger { display: flex !important; }
  .kr-header__nav { display: none !important; }
  .kr-header__search { display: none !important; }
  .kr-header__lang { display: none !important; }
  .kr-header__bar {
    padding: 0 16px !important;
    gap: 12px !important;
  }

  /* Header logo centered on mobile */
  .kr-header__logo { flex: 1 !important; text-align: center !important; }
  .kr-header__logo a { display: inline-block; }

  /* Reduce full-width paddings */
  body.page-product .product-accessories,
  body.page-product #center-column > section,
  body.page-product #center-column > .products,
  body.page-category #center-column {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  #header .container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #wrapper .breadcrumb {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Reassurance: 2 columns */
  .lc-reassurance__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }

  /* Collections: single column */
  .lc-collections__grid { grid-template-columns: 1fr; }
  .lc-collection-card--large { grid-row: span 1; }

  /* AI Try-on: stack */
  .lc-tryon__wrapper { grid-template-columns: 1fr; gap: 32px; }

  /* Product page: 2 cols then 1 */
  .lc-product-top {
    grid-template-columns: 1fr 1fr !important;
    padding: 20px !important;
    gap: 24px !important;
  }
  .lc-product-top > div:nth-child(3) {
    grid-column: 1 / -1;
    position: static !important;
    max-width: 560px;
  }
}


/* ─────────────────────────────────────
   MOBILE (≤ 768px)
   ───────────────────────────────────── */
@media (max-width: 768px) {

  /* ── GLOBAL ── */
  body { font-size: 14px !important; }

  /* ── HEADER ── */
  .kr-header,
  .kr-header--home,
  .kr-header--inner {
    padding: 0 12px !important;
  }
  .kr-header__bar {
    height: 56px !important;
    padding: 0 8px !important;
    gap: 8px !important;
  }
  .kr-logo { height: 28px !important; }
  .kr-header__right { gap: 12px !important; }
  .kr-header__icon svg { width: 18px !important; height: 18px !important; }

  /* ── HOMEPAGE: HERO ── */
  /* IMPORTANT : scope au conteneur direct du hero. `#index section:first-of-type`
     seul matchait AUSSI .ps-featuredproducts (1er <section> de son parent) et
     ses <img> produit -> bloc produits effondre + images minuscules. */
  #index #center-column > section:first-of-type {
    height: 85vh !important;
    min-height: 520px !important;
  }
  /* Hero logo smaller on mobile */
  #index #center-column > section:first-of-type img[alt] {
    height: clamp(40px, 12vw, 70px) !important;
  }
  /* Hero tagline */
  #index section:first-of-type .kr-hero-sub p {
    font-size: 13px !important;
    letter-spacing: 2px !important;
  }
  /* Hero nav links: stack vertical */
  #index section:first-of-type .kr-hero-links {
    flex-direction: column !important;
    gap: 0 !important;
  }
  #index section:first-of-type .kr-hero-links span[style*="middot"] {
    display: none !important;
  }
  /* Hero scroll indicator lower */
  #index section:first-of-type .kr-hero-scroll {
    bottom: 24px !important;
  }

  /* ── HOMEPAGE: MANIFESTE ── */
  #index #center-column > section:nth-of-type(2) {
    padding: 60px 0 !important;
  }
  #index #center-column > section:nth-of-type(2) > div {
    padding: 0 20px !important;
  }
  .kr-heading {
    font-size: clamp(24px, 7vw, 40px) !important;
  }

  /* ── HOMEPAGE: COLLECTIONS ── */
  /* Hero collection card — shorter */
  #index .kr-col-card[style*="height:520px"] {
    height: 280px !important;
  }
  /* 3-column grid → 1 column */
  #index div[style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 2px !important;
  }
  /* Smaller collection cards */
  #index .kr-col-card[style*="height:360px"] {
    height: 220px !important;
  }
  /* Collection card text */
  #index .kr-col-card .kr-heading {
    font-size: 20px !important;
  }

  /* ── HOMEPAGE: AI TRY-ON ── */
  #kr-tryon > div > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  #kr-tryon > div > div > div:first-child {
    padding: 48px 20px !important;
  }
  /* Try-on images: full width, reasonable height */
  #kr-tryon > div > div > div:last-child {
    grid-template-columns: 1fr 1fr !important;
    max-height: 300px !important;
    overflow: hidden !important;
  }

  /* ── HOMEPAGE: SUBSCRIPTIONS ── */
  #kr-plans {
    padding: 60px 0 !important;
  }
  #kr-plans > div {
    padding: 0 20px !important;
  }
  /* Subscriptions header: stack */
  #kr-plans > div > div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    margin-bottom: 36px !important;
  }
  #kr-plans > div > div[style*="grid-template-columns:1fr 1fr"] > div:last-child {
    text-align: left !important;
  }
  /* Plans grid: single column */
  #kr-plans div[style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  /* Plan card adjustments */
  .kr-plan-card {
    padding: 28px 20px 24px !important;
  }
  .kr-plan-card .kr-heading[style*="font-size:48px"] {
    font-size: 36px !important;
  }

  /* ── HOMEPAGE: PRODUCTS SECTION ── */
  #index section[style*="padding:100px 0"][style*="background:#fff"]:not(#kr-plans) > div {
    padding: 0 20px !important;
  }
  #index section[style*="padding:100px 0"][style*="background:#fff"]:not(#kr-plans) {
    padding: 60px 0 !important;
  }
  /* Products heading: stack instead of space-between */
  #index section[style*="padding:100px 0"][style*="background:#fff"]:not(#kr-plans) > div > div[style*="display:flex"][style*="justify-content:space-between"] {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    margin-bottom: 32px !important;
  }

  /* ── HOMEPAGE: REASSURANCE ── */
  #index section[style*="padding:48px 0"][style*="background:#FAFAFA"] > div {
    padding: 0 20px !important;
  }
  #index section[style*="padding:48px 0"][style*="background:#FAFAFA"] div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
  }

  /* ── HOMEPAGE: ESPACE PRO ── */
  #index section[style*="padding:100px 0"][style*="border-top:1px solid"] > div {
    padding: 0 20px !important;
  }
  #index section[style*="padding:100px 0"][style*="border-top:1px solid"] {
    padding: 60px 0 !important;
  }
  #index section[style*="padding:100px 0"][style*="border-top:1px solid"] div[style*="grid-template-columns:1fr 1fr"][style*="gap:80px"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  /* Pro metrics: 2x2 grid stays */
  #index section[style*="padding:100px 0"][style*="border-top:1px solid"] .kr-reveal-right[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  /* ── HOMEPAGE: SALON PARTENAIRE ── */
  #index section[style*="padding:80px 0"][style*="background:#0a0a0a"] > div {
    padding: 0 20px !important;
  }
  #index section[style*="padding:80px 0"][style*="background:#0a0a0a"] > div > div[style*="grid-template-columns:1fr 1fr"][style*="gap:60px"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  /* Hide the SVG map illustration on mobile — takes too much space */
  #index section[style*="padding:80px 0"][style*="background:#0a0a0a"] > div > div > div:first-child.kr-reveal {
    display: none !important;
  }
  /* Salon CTA buttons: stack */
  #index section[style*="padding:80px 0"][style*="background:#0a0a0a"] div[style*="display:flex"][style*="gap:12px"][style*="flex-wrap:wrap"] {
    flex-direction: column !important;
  }
  #index section[style*="padding:80px 0"][style*="background:#0a0a0a"] div[style*="display:flex"][style*="gap:12px"][style*="flex-wrap:wrap"] a {
    text-align: center !important;
  }

  /* ── HOMEPAGE: NEWSLETTER ── */
  #index section[style*="padding:80px 0"][style*="background:#fff"][style*="border-top"] > div {
    padding: 0 20px !important;
  }
  #index section[style*="padding:80px 0"][style*="background:#fff"][style*="border-top"] {
    padding: 48px 0 !important;
  }
  /* Newsletter input+button: stack */
  #index section[style*="padding:80px 0"][style*="background:#fff"][style*="border-top"] div[style*="display:flex"][style*="gap:0"] {
    flex-direction: column !important;
    gap: 0 !important;
  }
  #index section[style*="padding:80px 0"][style*="background:#fff"][style*="border-top"] div[style*="display:flex"][style*="gap:0"] input {
    border-right: 1px solid #e8e8e8 !important;
    border-bottom: none !important;
  }
  #index section[style*="padding:80px 0"][style*="background:#fff"][style*="border-top"] div[style*="display:flex"][style*="gap:0"] button {
    width: 100% !important;
    padding: 14px !important;
  }

  /* ── PRODUCT PAGE ── */
  .lc-product-top {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
    gap: 20px !important;
    max-width: 100% !important;
  }
  .lc-product-top > div:nth-child(3) {
    grid-column: auto !important;
    grid-template-columns: 1fr !important;
  }
  /* Product page: sticky col unstick on mobile */
  .lc-product-top > div:last-child {
    position: static !important;
  }
  /* Product name */
  body.page-product h1 {
    font-size: 22px !important;
  }
  /* Product price */
  body.page-product .current-price .price,
  body.page-product .current-price-value {
    font-size: 24px !important;
  }
  /* Add to cart button full width */
  body.page-product .add-to-cart,
  body.page-product .lc-add-to-cart-main {
    width: 100% !important;
    padding: 16px 20px !important;
    font-size: 13px !important;
  }
  /* Trust badges: tighter */
  body.page-product div[style*="border:1px solid #f0f0f0"][style*="padding:14px 16px"] {
    padding: 12px !important;
  }

  /* Product editorial section */
  body.page-product div[style*="background:#FAFAFA"][style*="padding:64px 0"] {
    padding: 40px 0 !important;
  }
  body.page-product div[style*="background:#FAFAFA"] > div[style*="max-width:1680px"] {
    padding: 0 20px !important;
  }
  /* Editorial hero: stack */
  body.page-product div[style*="grid-template-columns:1.2fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  /* 3 feature cards: stack */
  body.page-product div[style*="grid-template-columns:repeat(3,1fr)"][style*="gap:24px"] {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Product tabs: scrollable */
  #lc-product-tabs {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
    scrollbar-width: none;
  }
  #lc-product-tabs::-webkit-scrollbar { display: none; }
  #lc-product-tabs button {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    padding: 12px 16px !important;
    font-size: 12px !important;
  }

  /* Product bottom: reduce padding */
  body.page-product div[style*="max-width:1680px"][style*="padding:0 40px 48px"] {
    padding: 0 20px 32px !important;
  }

  /* Sticky add-to-cart bar */
  #lc-sticky-cart {
    padding: 10px 16px !important;
  }
  #lc-sticky-cart img {
    display: none !important;
  }
  #lc-sticky-cart > div {
    gap: 12px !important;
  }
  #lc-sticky-cart-btn {
    padding: 14px 20px !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
  }
  /* Product sticky bar: product name truncate */
  #lc-sticky-cart div[style*="min-width:0"] > div:first-child {
    font-size: 12px !important;
  }

  /* ── CATEGORY PAGE ── */
  body.page-category #center-column {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  body.page-category .category__header h1 {
    font-size: 26px !important;
  }
  body.page-category .category__description {
    font-size: 13px !important;
  }
  /* Product grid: 2 columns tight */
  body.page-category .products .product-miniature {
    margin-bottom: 8px !important;
  }

  /* ── FOOTER ── */
  footer > div:first-child > div[style*="grid-template-columns:2fr 1fr 1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 28px 16px !important;
  }
  footer > div:first-child {
    padding: 32px 20px !important;
  }
  /* Footer bottom bar: stack */
  footer > div:last-child > div[style*="display:flex"][style*="justify-content:space-between"] {
    flex-direction: column !important;
    text-align: center !important;
    gap: 8px !important;
  }
  footer > div:last-child {
    padding: 16px 20px !important;
  }

  /* ── BREADCRUMB ── */
  #wrapper .breadcrumb {
    padding-left: 16px !important;
    padding-right: 16px !important;
    font-size: 11px !important;
  }

  /* ── GENERAL INLINE OVERRIDES ── */
  /* All sections: reduce side padding from 40px to 20px */
  #index #center-column > section > div[style*="padding:0 40px"],
  #index #center-column > section > div > div[style*="padding:0 40px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Product page footer products */
  body.page-product .product-accessories,
  body.page-product #center-column > section,
  body.page-product #center-column > .products {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* ── PS9 Hummingbird product listing grid: force 2 cols on mobile ── */
  .products .product-miniature-grid,
  #js-product-list .products {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
}


/* ─────────────────────────────────────
   SMALL MOBILE (≤ 480px)
   ───────────────────────────────────── */
@media (max-width: 480px) {

  /* Even tighter header */
  .kr-header__bar {
    height: 50px !important;
  }
  .kr-logo {
    height: 24px !important;
  }

  /* Hero: shorter */
  #index #center-column > section:first-of-type {
    height: 75vh !important;
    min-height: 440px !important;
  }

  /* Manifeste heading */
  .kr-heading {
    font-size: clamp(20px, 6.5vw, 32px) !important;
  }

  /* Hero collection card — even shorter */
  #index .kr-col-card[style*="height:520px"] {
    height: 220px !important;
  }
  #index .kr-col-card[style*="height:360px"] {
    height: 180px !important;
  }

  /* Subscription plan pricing */
  .kr-plan-card .kr-heading[style*="font-size:48px"] {
    font-size: 30px !important;
  }

  /* Reassurance: single column */
  #index section[style*="padding:48px 0"][style*="background:#FAFAFA"] div[style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr !important;
  }

  /* Footer: single column */
  footer > div:first-child > div[style*="grid-template-columns:2fr 1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Product page specs strip: 3 columns max */
  body.page-product div[style*="grid-template-columns:repeat(auto-fit"] {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 4px !important;
  }

  /* Product page: subscription plan cards tighter */
  .lc-plan-card {
    padding: 20px 16px 20px !important;
  }

  /* Product page editorial: performance bars labels */
  body.page-product div[style*="display:flex"][style*="justify-content:space-between"][style*="margin-bottom:6px"] span {
    font-size: 11px !important;
  }

  /* Subscription button: smaller text */
  #lc-sub-btn {
    padding: 16px 20px !important;
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
  }
}


/* ─────────────────────────────────────
   ACCESSIBILITY & TOUCH IMPROVEMENTS
   ───────────────────────────────────── */
@media (max-width: 768px) {
  /* Larger tap targets */
  .kr-hamburger {
    min-width: 44px !important;
    min-height: 44px !important;
  }
  .kr-header__icon {
    min-width: 44px !important;
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Disable hover transforms on touch — prevent jank */
  .product-miniature:hover {
    transform: none !important;
  }
  .kr-plan-card:hover {
    transform: none !important;
  }

  /* Smooth scroll for anchor links */
  html {
    scroll-behavior: smooth;
  }

  /* Better text rendering on small screens */
  * {
    -webkit-tap-highlight-color: transparent;
  }

  /* Prevent horizontal overflow */
  body, html {
    overflow-x: hidden !important;
  }
  #index #center-column {
    overflow-x: hidden !important;
  }
}


/* ─────────────────────────────────────
   CATEGORY ENHANCER MOBILE (lccategory)
   ───────────────────────────────────── */
@media (max-width: 768px) {
  /* Quiz container: full width */
  .lc-quiz-container {
    padding: 20px 16px !important;
  }
  /* Comparison table: horizontal scroll */
  .lc-comparison-wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  .lc-comparison-table {
    min-width: 700px !important;
  }
}


/* ─────────────────────────────────────
   FAQ MODULE MOBILE (lcfaq)
   ───────────────────────────────────── */
@media (max-width: 768px) {
  .lcfaq-container {
    padding: 20px 16px !important;
  }
  .lcfaq-question {
    font-size: 14px !important;
    padding: 14px 16px !important;
  }
  .lcfaq-answer {
    font-size: 13px !important;
    padding: 12px 16px !important;
  }
}


/* ─────────────────────────────────────
   GUIDES MODULE MOBILE (lcguides)
   ───────────────────────────────────── */
@media (max-width: 768px) {
  .lcguide-container {
    padding: 20px 16px !important;
  }
  .lcguide-container h1 {
    font-size: 24px !important;
  }
  .lcguide-container img {
    max-width: 100% !important;
    height: auto !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   MOBILE FIXES v20 — fiche produit + homepage v8
   - .lc-product-top : le grid n'a plus de !important inline,
     les media queries plus haut reprennent donc la main.
   - Corrige le bloc "type de base", la newsletter, les stats Pro
     et les separateurs du hero (selecteurs [style*] obsoletes en v8).
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ── FICHE PRODUIT : bloc "type de base" (image + texte) empile ── */
  .lc-base-block {
    grid-template-columns: 1fr !important;
    margin-top: 32px !important;
  }
  .lc-base-block > div:first-child {
    aspect-ratio: 4 / 3 !important;
  }
  .lc-base-block > div:last-child {
    padding: 28px 22px !important;
  }
  .lc-base-block > div:last-child h3 {
    font-size: 22px !important;
  }

  /* ── HOMEPAGE : separateurs (·) du menu hero masques quand les liens s'empilent ── */
  #index .kr-hero-links span {
    display: none !important;
  }

  /* ── HOMEPAGE : newsletter — champ + bouton empiles ── */
  .kr-news-row {
    flex-direction: column !important;
    gap: 0 !important;
    max-width: 360px !important;
  }
  .kr-news-row input {
    border-right: 1px solid #e8e8e8 !important;
  }
  .kr-news-row button {
    width: 100% !important;
    padding: 15px !important;
  }

  /* ── HOMEPAGE : mini-stats Espace Pro 4 → 2 colonnes ── */
  .kr-pro-stats {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  /* ── HOMEPAGE : CTAs Espace Pro empiles pleine largeur ── */
  .kr-pro-ctas {
    flex-direction: column !important;
  }
  .kr-pro-ctas a {
    text-align: center !important;
  }
}


/* ═══════════════════════════════════════════════════════════
   HOMEPAGE — PRODUITS PHARE : fix superposition (mobile/tablette)
   Le bloc produits home etait rendu trop haut (zone image etiree, photo
   minuscule) puis debordait sur les sections suivantes (Reassurance, Espace
   Pro). Cause : Hummingbird pose container-type:inline-size sur
   .product-miniature ; sous ce containment, l'aspect-ratio de nos cartes
   custom (.lc-product-card) ne se resout pas -> image etiree + ligne de
   grille effondree -> superposition. Fix : container-type:normal sur nos
   cartes (elles n'utilisent aucune container query).
   ═══════════════════════════════════════════════════════════ */
.lc-product-card {
  container-type: normal !important;
  container-name: none !important;
}

/* Produits phare (home) : le module Hummingbird gere deja la grille
   (.layout-full-width .products = 2 col >=360px, 4 col >=992px). On garde
   juste le bouton "tous les produits" centre. */
@media (max-width: 991px) {
  body.page-index .page-content--home .ps-featuredproducts .module-products__buttons {
    text-align: center !important;
    margin-top: 28px !important;
  }
}
