/* ═══════════════════════════════════════════════════════════
   LEI LEI SOCKS — Main Theme CSS
   Inspired by Dodo Socks + Glozin template
   ═══════════════════════════════════════════════════════════ */

/* ── Variables ──────────────────────────────────────────── */
:root {
  /* Exact logo colors */
  --c-pink:          #cb3592;
  --c-blue:          #435fab;
  --c-green:         #76bd43;
  --c-orange:        #cc9b2f;

  /* Site palette mapped from logo */
  --c-primary:       #cb3592;
  --c-primary-dark:  #a8287a;
  --c-primary-light: #e055aa;
  --c-secondary:     #435fab;
  --c-accent-green:  #76bd43;
  --c-accent-orange: #cc9b2f;
  --c-green-bg:      #76bd43;

  --c-dark:          #0f0e0d;
  --c-white:         #FFFFFF;
  --c-cream:         #FAF8F4;
  --c-gray:          #888888;
  --c-gray-light:    #E8E6E1;

  --font-head: 'Nunito', -apple-system, sans-serif;
  --font-body: 'Nunito', -apple-system, sans-serif;

  --header-h: 83px;
  --beta-banner-h: 0px;
  --container: 1240px;
  --radius:    10px;
  --ease:      cubic-bezier(.4,0,.2,1);
  --trans:     0.28s var(--ease);
}

/* ── Reset ──────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--c-dark);
  background: #F5F5F5;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
button { cursor: pointer; font-family: inherit; }
input, textarea, select { font-family: inherit; }

/* ── Container ──────────────────────────────────────────── */
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 28px;
}

/* ── Buttons ─────────────────────────────────────────────  */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 34px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 4px;
  border: 2px solid transparent;
  transition: background var(--trans), color var(--trans), border-color var(--trans), transform var(--trans);
  white-space: nowrap;
}
.btn:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 3px; }

.btn-primary { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.btn-primary:hover { background: var(--c-primary-dark); border-color: var(--c-primary-dark); transform: translateY(-2px); }

.btn-dark { background: var(--c-dark); color: #fff; border-color: var(--c-dark); }
.btn-dark:hover { background: transparent; color: var(--c-dark); transform: translateY(-2px); }

.btn-white { background: #fff; color: var(--c-dark); border-color: #fff; }
.btn-white:hover { background: transparent; color: #fff; border-color: #fff; transform: translateY(-2px); }

.btn-outline { background: transparent; color: var(--c-dark); border-color: var(--c-dark); }
.btn-outline:hover { background: var(--c-dark); color: #fff; transform: translateY(-2px); }

/* ─────────────────────────────────────────────────────────
   BETA NOTICE BANNER
───────────────────────────────────────────────────────── */
.beta-notice {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 950;
  background: #fff;
  color: #000;
  text-align: center;
  padding: 9px 48px 9px 16px;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
  line-height: 1.4;
  max-height: 120px;
  overflow: hidden;
  transition: max-height 0.25s ease, opacity 0.25s ease, padding 0.25s ease;
}
@keyframes lls-slide {
  0%, 100% { transform: translateX(0); }
  50%       { transform: translateX(18px); }
}
.beta-notice p { margin: 0; font-size: 0.78rem; color: var(--c-pink); display: block; }
.beta-notice p.no-anim { animation: none; font-size: 0.78rem; font-weight: 400; color: #555; display: block; margin-top: 6px !important; }
.beta-notice.hidden {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}
.beta-notice-close {
  position: absolute;
  right: 14px; top: 50%;
  transform: translateY(-50%);
  background: none; border: none;
  color: #000; font-size: 1rem;
  cursor: pointer; padding: 4px;
  line-height: 1; opacity: 0.8;
}
.beta-notice-close:hover { opacity: 1; }

/* Shift all page-content areas down when the beta banner is visible */
.hero,
.page-wrap,
.info-page,
.about-page,
.wishlist-body,
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
    margin-top: calc(var(--header-h) + var(--beta-banner-h)) !important;
}

/* ─────────────────────────────────────────────────────────
   HEADER
───────────────────────────────────────────────────────── */
.site-header {
  position: fixed;
  top: var(--beta-banner-h); left: 0; right: 0;
  z-index: 900;
  height: var(--header-h);
  background: #fff;
  transition: box-shadow var(--trans);
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  display: flex;
  align-items: center;
}
.site-header.scrolled { box-shadow: 0 2px 24px rgba(0,0,0,.09); }

/* WordPress admin bar pushes fixed header down */
.admin-bar .beta-notice { top: 32px; }
.admin-bar .site-header { top: calc(32px + var(--beta-banner-h)); }
@media screen and (max-width: 782px) {
  .admin-bar .beta-notice { top: 46px; }
  .admin-bar .site-header { top: calc(46px + var(--beta-banner-h)); }
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
}

/* Logo */
.site-logo { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.logo-mark { display: flex; flex-direction: column; line-height: 1; }
.logo-text-top {
  font-family: var(--font-head);
  font-weight: 900;
  font-size: 24px;
  letter-spacing: -0.5px;
  display: flex;
  align-items: baseline;
  gap: 1px;
}
.lc { display: inline-block; }
.lc-orange  { color: #E85D2F; }
.lc-dark    { color: var(--c-dark); }
.lc-green   { color: #4CAF50; }
.lc-space   { width: 6px; }
.lc-blue    { color: #2196F3; }
.lc-orange2 { color: #FF9800; }
.lc-purple  { color: #9C27B0; }
.lc-white   { color: rgba(255,255,255,.85); }
.logo-text-sub {
  font-family: var(--font-head);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: var(--c-gray);
  margin-top: 3px;
}

/* Logo image */
.site-logo-img { height: 60px !important; width: auto !important; max-height: 60px; display: block; }
.footer-logo-img { height: 64px !important; width: auto !important; display: block; margin-bottom: 4px; }
.custom-logo-link { display: flex; align-items: center; }
.custom-logo { height: 52px; width: auto; display: block; max-width: 200px; }

/* Nav */
.main-nav .nav-list { display: flex; align-items: center; gap: 32px; }
.main-nav .nav-list a {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-dark);
  position: relative;
  padding: 4px 0;
  transition: color var(--trans);
}
.main-nav .nav-list a::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 0; height: 2px;
  background: var(--c-primary);
  transition: width var(--trans);
}
.main-nav .nav-list a:hover { color: var(--c-primary); }
.main-nav .nav-list a:hover::after,
.main-nav .nav-list .current-menu-item a::after { width: 100%; }


/* Header Actions */
.header-actions { display: flex; align-items: center; gap: 6px; }
.header-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px; height: 46px;
  border-radius: 50%;
  background: none;
  border: none;
  color: var(--c-dark);
  transition: background var(--trans), color var(--trans);
  position: relative;
  text-decoration: none;
}
.header-icon-btn svg { width: 23px; height: 23px; }
.header-icon-btn:hover { background: var(--c-cream); color: var(--c-primary); }
.header-fav-btn { position: relative; }
.header-fav-active svg { fill: var(--c-primary); stroke: var(--c-primary); }
.header-fav-badge {
  position: absolute;
  top: 2px; right: 2px;
  background: var(--c-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  min-width: 17px;
  height: 17px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 4px;
  pointer-events: none;
}

.cart-count {
  position: absolute;
  top: 2px; right: 2px;
  background: var(--c-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  min-width: 17px;
  height: 17px;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
}

.lang-switcher {
  font-family: var(--font-head);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  background: none;
  border: none;
  color: var(--c-dark);
  padding: 6px 10px;
  border-radius: 4px;
  transition: background var(--trans);
}
.lang-switcher:hover { background: var(--c-cream); }

/* Mobile Toggle */
.mobile-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  background: none;
  border: none;
  padding: 8px;
  width: 44px; height: 44px;
  cursor: pointer;
}
.mobile-toggle span {
  display: block;
  width: 24px; height: 2px;
  background: var(--c-dark);
  border-radius: 1px;
  transition: transform var(--trans), opacity var(--trans);
}
.mobile-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mobile-toggle.open span:nth-child(2) { opacity: 0; }
.mobile-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Search Bar */
.search-bar {
  position: absolute;
  top: 100%; left: 0; right: 0;
  background: #fff;
  border-top: 1px solid var(--c-gray-light);
  box-shadow: 0 8px 32px rgba(0,0,0,.1);
  transform: translateY(-8px);
  opacity: 0;
  pointer-events: none;
  transition: transform var(--trans), opacity var(--trans);
}
.search-bar.open { transform: translateY(0); opacity: 1; pointer-events: all; }
.search-form {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 16px 0;
  width: 202px;
  margin-left: auto;
  margin-right: 252px;
}
@media (max-width: 900px) {
  .search-form { width: 100%; margin-right: 0; margin-left: 0; }
}
.search-form input {
  flex: 1;
  padding: 8px 12px;
  border: 2px solid var(--c-gray-light);
  border-right: none;
  border-radius: 4px 0 0 4px;
  font-size: 13px;
  outline: none;
  transition: border-color var(--trans);
}
.search-form input:focus { border-color: var(--c-primary); }
.search-form button[type="submit"] {
  padding: 8px 12px;
  background: var(--c-primary);
  color: #fff;
  border: 2px solid var(--c-primary);
  border-radius: 0;
  display: flex;
  align-items: center;
}
.search-form button[type="submit"] svg { width: 18px; height: 18px; }
.search-close { display: none; }
.search-close-hidden {
  padding: 12px 16px;
  background: none;
  border: 2px solid var(--c-gray-light);
  border-left: none;
  border-radius: 0 4px 4px 0;
  color: var(--c-gray);
  display: flex;
  align-items: center;
}
.search-close svg { width: 18px; height: 18px; }
.search-close:hover { color: var(--c-dark); }

/* Mobile Menu */
.mobile-menu {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: min(380px, 100vw);
  background: #fff;
  z-index: 1000;
  transform: translateX(100%);
  transition: transform .4s var(--ease);
  overflow-y: auto;
  padding: 80px 32px 40px;
  box-shadow: -8px 0 40px rgba(0,0,0,.15);
}
.mobile-menu.open { transform: translateX(0); }
.mobile-menu-close {
  position: absolute;
  top: 20px; right: 20px;
  background: var(--c-cream);
  border: none;
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-dark);
}
.mobile-menu ul { display: flex; flex-direction: column; }
.mobile-menu ul a {
  display: block;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 26px;
  color: var(--c-dark);
  padding: 14px 0;
  border-bottom: 1px solid var(--c-gray-light);
  transition: color var(--trans);
}
.mobile-menu ul a:hover { color: var(--c-primary); }
.mobile-menu ul .mobile-cta {
  display: inline-flex;
  margin-top: 24px;
  background: var(--c-primary);
  color: #fff;
  padding: 14px 28px;
  border-radius: 4px;
  font-size: 14px;
  border: none;
}

.mobile-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 990;
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--trans);
}
.mobile-overlay.open { opacity: 1; pointer-events: all; }

/* ─────────────────────────────────────────────────────────
   HERO SLIDER
───────────────────────────────────────────────────────── */
.hero {
  position: relative;
  margin-top: var(--header-h);
  height: calc(100vh - var(--header-h) - var(--beta-banner-h));
  min-height: 560px;
  max-height: 920px;
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  opacity: 0;
  transition: opacity .8s var(--ease);
  pointer-events: none;
}
.hero-slide.active { opacity: 1; z-index: 2; pointer-events: all; }

/* Photo background — all slides */
.hero-slide-bg {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* Dark gradient overlay so text is readable over photos */
.hero-slide-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.15) 60%, transparent 100%);
}

/* Slide content */
.hero-slide-content {
  position: relative;
  z-index: 3;
  width: 100%;
}

.hero-text-wrap {
  max-width: 580px;
}
@media (max-width: 640px) {
  .hero-text-wrap { max-width: 100%; text-align: center; }
  .hero-actions { justify-content: center; }
}

.hero-eyebrow {
  font-family: var(--font-head);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.8);
  margin-bottom: 20px;
}

.hero-title {
  font-family: var(--font-head);
  font-size: clamp(56px, 8vw, 108px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -3px;
  color: #fff;
  margin-bottom: 40px;
  text-shadow: 0 2px 20px rgba(0,0,0,.25);
}
.hero-title em {
  font-style: normal;
  color: #FFE066;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}

.hero-link {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 14px;
  color: rgba(255,255,255,.9);
  letter-spacing: .04em;
  transition: color var(--trans);
}
.hero-link:hover { color: #FFE066; }

/* Slide 3 has light/white photo — dark text variant */
.hero-eyebrow--dark { color: rgba(15,14,13,.55) !important; }
.hero-title--dark { color: var(--c-dark) !important; text-shadow: none !important; }
.hero-title--dark em { color: var(--c-primary) !important; }
.hero-link--dark { color: rgba(15,14,13,.6) !important; }
.hero-link--dark:hover { color: var(--c-primary) !important; }

/* Slide 3 overlay: same dark gradient as other slides */
.hero-slide--3 .hero-slide-bg::after {
  background: linear-gradient(100deg, rgba(0,0,0,.52) 0%, rgba(0,0,0,.15) 60%, transparent 100%);
}

/* Floating deco emojis */
.hero-deco {
  position: absolute;
  right: 8%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sock-float {
  font-size: 64px;
  animation: floatSock 4s ease-in-out infinite;
  filter: drop-shadow(0 8px 24px rgba(0,0,0,.15));
}
.sock-float--1 { animation-delay: 0s; }
.sock-float--2 { animation-delay: 1s; font-size: 80px; }
.sock-float--3 { animation-delay: 2s; }

@keyframes floatSock {
  0%, 100% { transform: translateY(0) rotate(-5deg); }
  50% { transform: translateY(-16px) rotate(5deg); }
}

/* Prev / Next buttons */
.hero-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255,255,255,.9);
  border: none;
  width: 52px; height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  transition: background var(--trans), color var(--trans), transform var(--trans);
  color: var(--c-dark);
}
.hero-nav:hover { background: var(--c-primary); color: #fff; transform: translateY(-50%) scale(1.05); }
.hero-nav svg { width: 22px; height: 22px; }
.hero-nav--prev { left: 24px; }
.hero-nav--next { right: 24px; }

/* Dots */
.hero-dots {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  display: flex;
  gap: 10px;
  align-items: center;
}
.hero-dot {
  width: 28px; height: 3px;
  border-radius: 2px;
  background: rgba(255,255,255,.4);
  border: none;
  transition: background var(--trans);
}
.hero-dot.active {
  background: #fff;
}

/* ─────────────────────────────────────────────────────────
   BRAND SECTION
───────────────────────────────────────────────────────── */
.brand-section { padding: 0 0 0 clamp(48px, 7vw, 120px); background: #F5F5F5; overflow: hidden; }

.brand-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: stretch;
  width: 100%;
}

.brand-visual { overflow: hidden; align-self: stretch; display: flex; align-items: center; justify-content: center; padding: 100px 0; margin-left: 100px; }
.brand-img { height: 118%; width: auto; max-width: 118%; object-fit: contain; display: block; }
.brand-content { padding: 100px clamp(28px, 5vw, 80px); display: flex; flex-direction: column; justify-content: center; max-width: 620px; }

.brand-title { line-height: 1; margin-bottom: 28px; }

.brand-we {
  display: block;
  font-family: var(--font-head);
  font-size: clamp(14px, 1.8vw, 20px);
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--c-gray);
  margin-bottom: 8px;
}
.brand-name {
  display: block;
  font-family: var(--font-head);
  font-size: clamp(32px, 4.5vw, 60px);
  font-weight: 900;
  color: var(--c-dark);
  letter-spacing: 3px;
  line-height: .9;
}
.brand-socks {
  display: block;
  font-family: var(--font-head);
  font-size: clamp(32px, 4.5vw, 60px);
  font-weight: 900;
  color: var(--c-pink);
  letter-spacing: -2px;
  text-transform: uppercase;
}

.brand-content p {
  font-size: 17px;
  line-height: 1.8;
  color: #555;
}
.brand-content p + p { margin-top: 16px; }

/* ─────────────────────────────────────────────────────────
   FEATURES BAR
───────────────────────────────────────────────────────── */
.features-bar {
  background: #FFFFFF;
  padding: 60px 0;
  border-top: 1px solid var(--c-gray-light);
  border-bottom: 1px solid var(--c-gray-light);
}
.features-bar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
.feature-bar-item {
  display: flex;
  align-items: center;
  gap: 20px;
}
.feature-bar-icon { font-size: 52px; flex-shrink: 0; }
.feature-bar-item div { display: flex; flex-direction: column; gap: 4px; }
.feature-bar-item strong { font-family: var(--font-head); font-weight: 800; font-size: 26px; color: var(--c-dark); }
.feature-bar-item span { font-size: 18px; color: var(--c-gray); }

/* ─────────────────────────────────────────────────────────
   PRODUCTS SECTION
───────────────────────────────────────────────────────── */
.products-section { padding: 80px 0; background: #FFFFFF; }

.section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 40px;
}
.section-title {
  font-family: var(--font-head);
  font-size: clamp(28px, 3.5vw, 42px);
  font-weight: 800;
  color: var(--c-dark);
  letter-spacing: -1px;
}
.section-viewall {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-primary);
  transition: gap var(--trans);
}
.section-viewall:hover { gap: 12px; }

/* Products Grid */
.products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* Product Card */
.product-card {
  background: #F5F5F5;
  border-radius: 0;
  overflow: hidden;
  transition: transform var(--trans), box-shadow var(--trans);
}
.product-card:hover { transform: translateY(-4px); box-shadow: none; }

.product-card-img {
  position: relative;
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 0;
  background: #F5F5F5;
  isolation: isolate;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
.product-card-img img,
/* img1 always shown; img2 fades in on hover */
.product-img-1,
.product-img-2 {
  width: 100%; height: 100%;
  object-fit: contain;
  object-position: center;
  background: #F5F5F5;
  mix-blend-mode: multiply;
  transition: opacity .45s var(--ease), transform .5s var(--ease);
  will-change: transform, opacity;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.product-img-2 {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 2;
}
.product-card:hover .product-img-1 { opacity: 0; transform: scale(1.04); }
.product-card:hover .product-img-2 { opacity: 1; transform: scale(1.04); }

/* Badges */
.product-badge {
  position: absolute;
  top: 12px; left: 12px;
  font-family: var(--font-head);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 20px;
  color: #fff;
}
.badge-soldout { background: var(--c-dark); }
.badge-new { background: #4CAF50; }
.badge-hot { background: var(--c-primary); }
.trending-fire { font-size: 15px; vertical-align: middle; }

/* Wishlist button */
.product-wishlist {
  position: absolute;
  top: 12px; right: 12px;
  width: 38px; height: 38px;
  background: rgba(255,255,255,.9);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-dark);
  box-shadow: 0 2px 8px rgba(0,0,0,.1);
  opacity: 0;
  transition: all var(--trans);
}
.product-card:hover .product-wishlist { opacity: 1; }
.product-wishlist:hover { background: var(--c-primary); color: #fff; }

/* Quick add button */
.product-quick-add {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  background: var(--c-primary);
  color: #fff;
  border: none;
  padding: 8px 14px;
  mix-blend-mode: normal;
  z-index: 10;
  font-family: var(--font-head);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  transform: translateY(100%);
  transition: transform var(--trans);
  display: block;
}
.product-card:hover .product-quick-add { transform: translateY(0); }
.product-quick-add:hover { background: var(--c-primary-dark); }

.product-card-body { padding: 16px 4px 8px; background: #FFFFFF; }
.product-card-name {
  font-family: var(--font-head);
  font-weight: 600;
  font-size: 18px;
  color: var(--c-dark);
  margin-bottom: 8px;
}
.product-card-name a { color: inherit; transition: color var(--trans); }
.product-card-name a:hover { color: var(--c-primary); }

.product-card-price { font-family: var(--font-head); font-weight: 700; font-size: 19px; color: var(--c-dark); }
.price { color: var(--c-dark); }
.sold-out-text { color: var(--c-gray); font-size: 14px; font-weight: 500; }

.products-cta { text-align: center; margin-top: 56px; }

/* ─────────────────────────────────────────────────────────
   PROMO BANNER
───────────────────────────────────────────────────────── */
.promo-banner {
  position: relative;
  height: 460px;
  padding: 0;
  background: #73c44c;
  border: none;
  outline: none;
  overflow: hidden;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
  contain: layout paint;
}
.promo-banner .container {
  height: 100%;
  display: flex;
  align-items: center;
  max-width: var(--container);
  padding: 0 28px;
}
.promo-banner-bg { display: none; }
.promo-banner::before { display: none; }
.promo-banner::after { display: none; }
.promo-banner hr { display: none; }

.promo-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  gap: 0;
}
.promo-content { flex: 0 0 380px; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 3; margin-left: 0; }
.promo-eyebrow {
  font-family: var(--font-head);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin-bottom: 16px;
}
.promo-title {
  font-family: var(--font-head);
  font-size: 56px;
  font-weight: 900;
  color: #fff;
  line-height: .95;
  letter-spacing: -2px;
  margin-bottom: 20px;
}
.promo-percent {
  color: #FFE066;
  display: block;
  margin-bottom: -28px;
}
.promo-sub { color: rgba(255,255,255,.75); font-size: 1.1rem; margin-bottom: 40px; }
.promo-sub strong { color: #fff; }

.promo-visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 1000px;
  z-index: 1;
  background: #73c44c;
}
.promo-content .btn { padding-left: 34px; padding-right: 34px; width: fit-content; margin-left: 0; margin-right: auto; }
.promo-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center center;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

/* ─────────────────────────────────────────────────────────
   CATEGORIES
───────────────────────────────────────────────────────── */
/* ─────────────────────────────────────────────────────────
   BESTSELLERS SECTION
───────────────────────────────────────────────────────── */
.bestsellers-section { padding: 80px 0; background: #fff; }
.bestsellers-section .products-grid { grid-template-columns: repeat(4, 1fr); }

/* ─────────────────────────────────────────────────────────
   ARTIST COLLABORATION SECTION
───────────────────────────────────────────────────────── */
.artist-collab-section { background: #fdf6f9; }
.section-eyebrow { font-family: var(--font-head); font-size: 11px; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: var(--c-primary); margin-bottom: 12px; }
.artist-collab-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 60px; min-height: 700px; }
.artist-collab-text { display: flex; flex-direction: column; justify-content: center; padding: 78px 90px 78px 60px; }
.artist-collab-text .section-title { font-size: clamp(34px, 3.5vw, 52px); font-weight: 900; letter-spacing: -1.5px; line-height: 1.05; margin-bottom: 24px; }
.artist-collab-text p { color: rgba(26,26,26,.65); font-size: 16px; line-height: 1.8; margin-bottom: 28px; }
.artist-collab-text .btn { padding-left: 20px; padding-right: 20px; width: fit-content; font-size: 0.82rem; }
.artist-collab-visual { display: flex; align-items: center; justify-content: center; overflow: hidden; background: #fdf6f9; }
.artist-collab-img { width: 100%; height: 340px; object-fit: cover; object-position: center 80%; display: block; border-radius: 0; }
.artist-collab-image { display: flex; align-items: center; justify-content: flex-start; padding: 88px 88px 88px max(28px, calc((100vw - 1240px) / 2 + 28px)); }
.artist-collab-image img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; display: block; }

@media (max-width: 768px) {
  .artist-collab-inner { grid-template-columns: 1fr; }
  .artist-collab-text { padding: 48px 28px; align-items: center; text-align: center; }
  .artist-collab-visual { min-height: 280px; order: -1; }
  .artist-collab-image { padding: 0; width: 100%; }
  .artist-collab-image img { width: 100%; height: 90vw; object-fit: cover; }
}

/* ─────────────────────────────────────────────────────────
   CUSTOM SOCKS SECTION
───────────────────────────────────────────────────────── */
.custom-section { background: #FFFFFF; }

.custom-section-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 560px;
}

.custom-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px 60px 80px max(28px, calc((100vw - 1240px) / 2 + 28px));
  width: 100%;
}
.custom-eyebrow {
  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--c-primary);
  margin-bottom: 20px;
}
.custom-content h2 {
  font-family: var(--font-head);
  font-size: clamp(34px, 3.5vw, 52px);
  font-weight: 900;
  color: var(--c-dark);
  line-height: 1.05;
  letter-spacing: -1.5px;
  margin-bottom: 24px;
}
.custom-content p {
  color: rgba(26,26,26,.65);
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 40px;
  max-width: 440px;
}
.custom-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-bottom: 36px; }
.custom-actions .btn { padding-left: 20px; padding-right: 20px; width: fit-content; }
.custom-link { font-family: var(--font-head); font-weight: 600; font-size: 14px; color: rgba(26,26,26,.55); transition: color var(--trans); }
.custom-link:hover { color: var(--c-dark); }

.custom-trust { display: flex; gap: 20px; flex-wrap: wrap; }
.trust-item { font-size: 13px; font-weight: 500; color: rgba(26,26,26,.4); }

.custom-visual {
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
  overflow: hidden;
  background: #FFFFFF;
}
.custom-video {
  width: 80%;
  height: 80%;
  object-fit: contain;
  display: block;
  margin: auto;
}
.custom-visual-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  width: 100%;
  max-width: 340px;
}
.cv-item {
  aspect-ratio: 1;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  transition: transform var(--trans);
  cursor: default;
}
.cv-item:hover { transform: scale(1.1) rotate(3deg); }

/* ─────────────────────────────────────────────────────────
   TESTIMONIALS
───────────────────────────────────────────────────────── */
.testimonials-section { padding: 80px 0; background: #F5F5F5; }

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}
.testimonial-card {
  background: var(--c-white);
  border-radius: 0;
  padding: 36px;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.testimonial-stars {
  color: #F4B400;
  font-size: 16px;
  letter-spacing: 2px;
  margin-bottom: 16px;
}
.testimonial-card p {
  font-size: 15px;
  line-height: 1.75;
  color: #555;
  margin-bottom: 24px;
}
.testimonial-author { display: flex; flex-direction: column; gap: 2px; }
.testimonial-author strong { font-family: var(--font-head); font-size: 14px; font-weight: 700; color: var(--c-dark); }
.testimonial-author span { font-size: 12px; color: var(--c-gray); }

/* ─────────────────────────────────────────────────────────
   BLOG SECTION
───────────────────────────────────────────────────────── */
.blog-section { padding: 80px 0; background: var(--c-white); }

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.blog-card {
  border-radius: 0;
  overflow: hidden;
  background: #F5F5F5;
  transition: transform var(--trans), box-shadow var(--trans);
}
.blog-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(0,0,0,.1);
}

.blog-card-img-wrap { display: block; aspect-ratio: 16/9; overflow: hidden; }
.blog-card-img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s var(--ease);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.blog-card:hover .blog-card-img { transform: scale(1.05); }
.blog-grid .blog-card:nth-child(2) .blog-card-img,
.blog-grid .blog-card:nth-child(3) .blog-card-img { object-position: center 15%; }

.blog-card-body { padding: 28px; }

.blog-cat {
  display: inline-block;
  font-family: var(--font-head);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--c-primary);
  margin-bottom: 12px;
}
.blog-card-title {
  font-family: var(--font-head);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.35;
  color: var(--c-dark);
  margin-bottom: 12px;
}
.blog-card-title a { color: inherit; }
.blog-card-title a:hover { color: var(--c-primary); }
.blog-card-excerpt {
  font-size: 14px;
  line-height: 1.7;
  color: var(--c-gray);
  margin-bottom: 20px;
}
.blog-date { font-size: 12px; color: var(--c-gray); font-weight: 500; }

/* ─────────────────────────────────────────────────────────
   INSTAGRAM SECTION
───────────────────────────────────────────────────────── */
.insta-section { padding: 60px 0 0; }

.insta-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
}
.insta-header h2 {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 28px;
  color: var(--c-dark);
  letter-spacing: -1px;
}
.insta-link {
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--c-primary);
  transition: letter-spacing var(--trans);
}
.insta-link:hover { letter-spacing: .12em; }

.insta-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
.insta-item {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.insta-photo {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s var(--ease);
  will-change: transform;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.insta-item:hover .insta-photo { transform: scale(1.06); }
.insta-item:first-child .insta-photo { object-position: center 84%; }
.insta-item:nth-child(2) .insta-photo { object-position: center 55%; }
.insta-item:nth-child(3) .insta-photo { object-position: center 45%; }
.insta-item:nth-child(5) .insta-photo { object-position: center 70%; }
.insta-item:nth-child(4) .insta-photo { object-position: center 35%; }
.insta-item:nth-child(6) .insta-photo { object-position: center 55%; }
.insta-overlay {
  position: absolute; inset: 0;
  background: rgba(26,26,26,.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--trans);
}
.insta-item:hover .insta-overlay { opacity: 1; }

/* ─────────────────────────────────────────────────────────
   NEWSLETTER
───────────────────────────────────────────────────────── */
.newsletter-section {
  padding: 80px 0;
  background: #e8f0ff;
  color: var(--c-dark);
}
.newsletter-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.newsletter-eyebrow {
  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--c-blue);
  margin-bottom: 16px;
}
.newsletter-content h2 {
  font-family: var(--font-head);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 800;
  color: var(--c-dark);
  letter-spacing: -1px;
  line-height: 1.1;
  margin-bottom: 16px;
}
.newsletter-sub { font-size: 15px; color: rgba(26,26,26,.6); line-height: 1.7; }

.newsletter-form {
  display: flex;
  gap: 0;
  margin-bottom: 12px;
}
.newsletter-form input {
  flex: 1;
  padding: 15px 20px;
  background: #fff;
  border: 2px solid rgba(26,26,26,.15);
  border-right: none;
  border-radius: 4px 0 0 4px;
  font-size: 15px;
  color: var(--c-dark);
  outline: none;
  transition: border-color var(--trans);
}
.newsletter-form input::placeholder { color: rgba(26,26,26,.4); }
.newsletter-form input:focus { border-color: var(--c-primary); }
.newsletter-form .btn { border-radius: 0 4px 4px 0; flex-shrink: 0; }
.newsletter-note { font-size: 12px; color: rgba(26,26,26,.4); }

/* ─────────────────────────────────────────────────────────
   FOOTER
───────────────────────────────────────────────────────── */
.site-footer {
  background: #FAF8F4;
  color: rgba(26,26,26,.6);
  padding: 72px 0 40px;
}
.footer-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 56px;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(26,26,26,.1);
}
.footer-brand .footer-logo { display: inline-block; margin-bottom: 20px; }
.footer-logo-sub { color: rgba(26,26,26,.4) !important; }
.footer-brand p {
  font-size: 14px;
  line-height: 1.75;
  margin-bottom: 28px;
  max-width: 260px;
}
.social-links { display: flex; gap: 10px; }
.social-link {
  width: 40px; height: 40px;
  background: rgba(26,26,26,.08);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(26,26,26,.6);
  transition: background var(--trans), color var(--trans);
}
.social-link:hover { background: var(--c-primary); color: #fff; }

.footer-col h4 {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--c-dark);
  margin-bottom: 22px;
}
.footer-col ul { display: flex; flex-direction: column; gap: 11px; }
.footer-col ul a { font-size: 14px; color: rgba(26,26,26,.55); transition: color var(--trans); }
.footer-col ul a:hover { color: var(--c-primary); }

.footer-bottom {
  padding-top: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 13px;
  color: rgba(26,26,26,.4);
}
.footer-legal { display: flex; gap: 24px; }
.footer-legal a { color: rgba(26,26,26,.4); transition: color var(--trans); }
.footer-legal a:hover { color: var(--c-dark); }
.footer-payment { display: flex; gap: 8px; flex-wrap: wrap; }
.payment-icon {
  background: rgba(26,26,26,.07);
  border-radius: 4px;
  padding: 4px 8px;
  font-size: 11px;
  font-weight: 700;
  font-family: var(--font-head);
  color: rgba(26,26,26,.5);
  letter-spacing: .04em;
}


/* ─────────────────────────────────────────────────────────
   INNER PAGE SCAFFOLD (index, page, archive)
───────────────────────────────────────────────────────── */
/* ─────────────────────────────────────────────────────────
   6-PACK DISCOUNT BANNER
───────────────────────────────────────────────────────── */
.lls-sixpack-banner {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #f0faf0;
  border: 1.5px solid var(--c-primary, #5ba83c);
  border-radius: 0;
  padding: 16px 20px;
  margin-bottom: 24px;
}
.lls-sixpack-icon { font-size: 24px; line-height: 1; flex-shrink: 0; margin-top: 2px; }
.lls-sixpack-banner p { margin: 0; font-size: 0.8em; line-height: 1.5; color: #1a3d0f; }
.lls-sixpack-banner strong { display: block; font-size: 16px; margin-bottom: 2px; }

/* ─────────────────────────────────────────────────────────
   BC TAX ROWS IN CART TOTALS (WooCommerce native .tax-rate)
───────────────────────────────────────────────────────── */
.shop_table .tax-rate th,
.shop_table .tax-rate td {
  padding: 8px 0;
  font-size: 14px;
  color: #555;
}
.shop_table .tax-rate th { font-weight: 600; }
.shop_table tr.tax-rate:first-of-type th,
.shop_table tr.tax-rate:first-of-type td {
  border-top: 1px dashed rgba(0,0,0,.12);
  padding-top: 12px;
}
.shop_table tr.tax-rate:last-of-type th,
.shop_table tr.tax-rate:last-of-type td {
  border-bottom: 1px dashed rgba(0,0,0,.12);
  padding-bottom: 12px;
}


/* Cart page — all text 1.3× the original size */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-cart .lls-sixpack-banner { font-size: 1.3em; }

/* Cart Totals section — additional 1.2× on top of the 1.3× above */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block { font-size: 0.8em; }

/* Bulk Discount line highlight */
.lls-bulk-discount-row {
  background: #fff8f0;
  border-left: 3px solid var(--c-pink);
  padding-left: 10px !important;
  font-weight: 700 !important;
  color: var(--c-pink) !important;
}
.lls-bulk-discount-row .wc-block-components-totals-item__label,
.lls-bulk-discount-row .wc-block-components-totals-item__value { color: var(--c-pink) !important; font-weight: 700 !important; }

/* FREE shipping badge in cart totals */
.lls-free-shipping-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 3px 12px;
  background: #f0faf0;
  color: #1a7c1a;
  font-weight: 600;
  font-size: 0.9rem;
  border-left: 3px solid #1a7c1a;
  margin: 8px 0 1px;
}
.lls-free-shipping-row th { padding: 2px 0; }
.lls-free-shipping-row .lls-free-shipping-badge { display: inline-flex; }

/* Saved items empty-state heart pulse */
.lls-wishlist-heart-anim { display: inline-block; transform-origin: center; }

/* Empty cart hearts wiggle */
@keyframes lls-heart-wiggle { 0%,100%{transform:rotate(-12deg)} 50%{transform:rotate(12deg)} }
.lls-empty-cart-hearts { width: 120px; margin: 16px 0 8px; animation: lls-heart-wiggle 3s ease-in-out infinite !important; }
.wp-block-woocommerce-empty-cart-block { display: none !important; }

/* Product table section */
.woocommerce-cart .wp-block-woocommerce-cart-items-block { font-size: 0.8em; background-color: #ffffff; padding: 32px; }

/* Cart Totals sidebar */
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-cart .wp-block-woocommerce-cart-totals-block { background-color: #ffffff; padding: 32px; }

/* Product title, description and prices — reset to inherit parent 0.8em, matching Cart Totals */
.woocommerce-cart .wc-block-cart-item__product-name,
.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-cart-item__product-metadata,
.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-cart-item__total,
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-product-price__value,
.woocommerce-cart .wc-block-formatted-money-amount,
.woocommerce-cart .wc-block-components-formatted-money-amount,
.woocommerce-cart .woocommerce-Price-amount { font-size: 1em !important; }

.woocommerce-cart .wc-block-cart-item__image,
.woocommerce-cart table.wc-block-cart-items .wc-block-cart-items__header-image {
  width: 120px !important;
  min-width: 120px !important;
}
.woocommerce-cart .wc-block-components-product-image {
  width: 120px !important;
  min-width: 120px !important;
  background-color: #F5F5F5 !important;
}
.woocommerce-cart .wc-block-components-product-image a,
.woocommerce-cart .wc-block-components-product-image img {
  width: 120px !important;
  height: 120px !important;
  object-fit: cover !important;
  background-color: #F5F5F5 !important;
}

/* Proceed to Checkout button — match Our Story / btn-primary green */
.wc-block-cart__submit-button {
  background-color: var(--c-primary) !important;
  border-color: var(--c-primary) !important;
  color: #fff !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:focus {
  background-color: var(--c-primary-dark) !important;
  border-color: var(--c-primary-dark) !important;
}

.page-wrap { margin-top: var(--header-h); min-height: 60vh; padding: 64px 0; }
.search-results { background: #FFFFFF; }
.search-results .page-wrap { background: #FFFFFF; }
.search-results .post-thumb,
.search-results .product-card-img { background: #F5F5F5 !important; }
.search-results .post-thumb img,
.search-results .product-card-img img { background: #F5F5F5 !important; transform: scale(1.02); }
.posts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 32px; }
.post-card { display: flex; flex-direction: column; }
.post-thumb { display: block; overflow: hidden; background: #F5F5F5; aspect-ratio: 1; }
.post-thumb img { width: 100%; height: 100%; object-fit: contain; object-position: center; background: #F5F5F5; display: block; transition: transform .3s; }
.post-thumb:hover img { transform: scale(1.03); }
.post-card-body { padding: 16px 0 8px; }
.post-meta { font-size: 12px; color: rgba(26,26,26,.4); margin-bottom: 6px; }
.post-card-title { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.post-card-title a { color: var(--c-dark); text-decoration: none; }
.post-excerpt { font-size: 14px; color: rgba(26,26,26,.6); line-height: 1.6; }

/* Shop / archive product loop */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: #F5F5F5;
  border-radius: 0;
}
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
  background: #F5F5F5;
  mix-blend-mode: multiply;
}
/* ── Shop pagination ── */
.lls-shop-pagination { margin-top: 56px; display: flex; justify-content: center; }
.lls-shop-pagination ul { display: flex; gap: 8px; list-style: none; margin: 0; padding: 0; }
.lls-shop-pagination ul li a,
.lls-shop-pagination ul li span {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px;
  border: 1px solid var(--c-gray-light);
  border-radius: 6px;
  font-family: var(--font-head);
  font-size: 14px; font-weight: 700;
  color: var(--c-dark);
  transition: background .18s, color .18s, border-color .18s;
}
.lls-shop-pagination ul li a:hover { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.lls-shop-pagination ul li span.current { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }

.page-title {
  font-family: var(--font-head);
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 900;
  color: var(--c-dark);
  letter-spacing: -1.5px;
  margin-bottom: 40px;
}

/* ─────────────────────────────────────────────────────────
   INFO PAGES (FAQ, Size Guide, Shipping, Returns, Care, Contact)
───────────────────────────────────────────────────────── */
.info-page { margin-top: var(--header-h); }

.info-hero {
  background: var(--c-cream);
  padding: 64px 0 52px;
  border-bottom: 1px solid var(--c-gray-light);
}
.info-hero-eyebrow {
  font-family: var(--font-head);
  font-size: 11px; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--c-primary); margin-bottom: 12px;
}
.info-hero-title {
  font-family: var(--font-head);
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 900; letter-spacing: -1.5px;
  color: var(--c-dark); margin-bottom: 0;
}

.info-body { max-width: 780px; margin: 0 auto; padding: 64px 28px 48px; }

/* ─────────────────────────────────────────────────────────
   WISHLIST PAGE
───────────────────────────────────────────────────────── */
.wishlist-body { padding: 56px 0 100px; margin-top: var(--header-h); }
.wishlist-page-title {
  font-family: var(--font-head);
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 900;
  letter-spacing: -1.5px;
  color: var(--c-dark);
  max-width: 1100px;
  margin: 0 auto 32px;
}
.wishlist-list {
  list-style: none;
  margin: 0 auto;
  padding: 48px 32px 80px;
  max-width: 1100px;
  background-color: #ffffff;
}
.wishlist-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 0;
  border-bottom: 1px solid #e8e8e8;
}
.wishlist-item:first-child { border-top: 1px solid #e8e8e8; }
.wishlist-item-thumb {
  flex-shrink: 0;
  width: 120px; height: 120px;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f5f5;
}
.wishlist-item-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.wishlist-item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-height: 120px;
}
.wishlist-item-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.wishlist-item-name {
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 16px;
  color: var(--c-dark);
  text-decoration: none;
  flex-shrink: 0;
}
.wishlist-item-name:hover { color: var(--c-primary); }
.wishlist-item-price { font-size: 15px; font-weight: 600; color: var(--c-dark); }
.wishlist-item-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.wishlist-meta-row {
  font-size: 13px;
  color: #555;
}
.wishlist-meta-label {
  font-weight: 600;
  color: var(--c-dark);
  margin-right: 4px;
}
.wishlist-meta-select {
  color: var(--c-primary);
  text-decoration: underline;
  font-size: 13px;
}
.wishlist-meta-select:hover { color: var(--c-primary-dark); }
.wishlist-size-row { display: flex; align-items: flex-end; gap: 10px; }
.wishlist-size-row > .wishlist-meta-label {
  font-size: 15px;
  line-height: 1;
  align-self: center;
}
.wishlist-size-btns { display: inline-flex; gap: 8px; }
.wishlist-size-btns .wishlist-size-btn { min-width: 110px; justify-content: center; }
.wishlist-size-btn {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border: 1.5px solid #ccc;
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-dark);
  white-space: nowrap;
  transition: border-color var(--trans), background var(--trans), color var(--trans);
}
.wishlist-size-btn small { font-size: 11px; font-weight: 400; color: #888; white-space: nowrap; }
.wishlist-size-btn:hover { border-color: var(--c-primary); color: var(--c-primary); }
.wishlist-size-active { border-color: var(--c-primary) !important; background: var(--c-primary) !important; color: #fff !important; }
.wishlist-size-active small { color: rgba(255,255,255,.8) !important; }
.wishlist-item-bottom {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-top: auto;
}
.wishlist-item-actions {
  display: flex;
  align-items: center;
  gap: 0;
  flex-shrink: 0;
}
.wishlist-action-btn {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 13px;
  color: var(--c-dark);
  text-decoration: none;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: color var(--trans);
}
.wishlist-action-btn:hover { color: var(--c-primary); }
.wishlist-cart-btn { font-weight: 600; }
.wishlist-soldout-btn { color: #aaa; cursor: default; }
.wishlist-soldout-btn:hover { color: #aaa; }
.wishlist-remove-btn:hover { color: #e53935; }
.wishlist-action-divider { color: #ccc; padding: 0 10px; font-size: 12px; }
.wishlist-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 10px 24px 80px;
  text-align: center;
  color: #888;
}
.wishlist-empty svg { opacity: 1; color: var(--c-primary); margin: 12px 0; }
.wishlist-empty p { margin: 0 0 4px !important; font-size: 1.6rem; }
.wishlist-empty p.wishlist-empty-title { font-size: 1.6rem !important; color: var(--c-dark) !important; }
.wishlist-empty .btn { margin-top: 24px; font-weight: 900; }

.info-section { margin-bottom: 56px; }
.info-section-title {
  font-family: var(--font-head);
  font-size: 22px; font-weight: 900;
  color: var(--c-dark); letter-spacing: -.5px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--c-gray-light);
}
.info-section p { font-size: 15px; line-height: 1.75; color: #444; margin-bottom: 12px; }
.info-section ul, .info-section ol { padding-left: 20px; margin-bottom: 12px; }
.info-section li { font-size: 15px; line-height: 1.75; color: #444; margin-bottom: 6px; }
.info-section strong { color: var(--c-dark); }

/* FAQ accordion */
.faq-list { display: flex; flex-direction: column; gap: 2px; }
.faq-item { border-bottom: 1px solid var(--c-gray-light); }
.faq-question {
  width: 100%; background: none; border: none;
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0; gap: 16px;
  font-family: var(--font-head); font-size: 15px; font-weight: 800;
  color: var(--c-dark); text-align: left; cursor: pointer;
  transition: color var(--trans);
}
.faq-question:hover { color: var(--c-primary); }
.faq-icon { flex-shrink: 0; transition: transform .25s; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-answer {
  display: none; padding: 0 0 18px;
  font-size: 15px; line-height: 1.75; color: #555;
}
.faq-item.open .faq-answer { display: block; }

/* Size guide table */
.size-table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.size-table th, .size-table td {
  padding: 12px 16px; text-align: left;
  font-size: 14px; border-bottom: 1px solid var(--c-gray-light);
}
.size-table th { font-family: var(--font-head); font-weight: 800; background: var(--c-cream); }
.size-table tr:last-child td { border-bottom: none; }

/* Contact form */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-field { display: flex; flex-direction: column; gap: 6px; }
.contact-field.full { grid-column: 1 / -1; }
.contact-field label { font-size: 13px; font-weight: 700; color: var(--c-dark); }
.contact-field input,
.contact-field textarea,
.contact-field select {
  border: 1.5px solid var(--c-gray-light); border-radius: 6px;
  padding: 10px 14px; font-size: 14px; color: var(--c-dark);
  font-family: inherit; background: #fff;
  transition: border-color var(--trans);
}
.contact-field input:focus,
.contact-field textarea:focus,
.contact-field select:focus { outline: none; border-color: var(--c-primary); }
.contact-field textarea { min-height: 140px; resize: vertical; }
.contact-info-box,
.contact-help-section,
.info-section.contact-help-section { margin-bottom: 40px; }
.contact-info-box {
  background: #F5F5F5; border-radius: 10px;
  padding: 28px; margin-bottom: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}
.contact-info-heading { grid-column: 1 / -1; margin: -28px -28px -8px; padding: 16px 28px 12px; font-family: var(--font-head); font-size: 22px; font-weight: 900; color: var(--c-dark); letter-spacing: -.5px; background: #F5F5F5; border-bottom: 2px solid var(--c-gray-light); border-radius: 10px 10px 0 0; }
.contact-help-section { background: #F5F5F5; padding: 0; border-radius: 10px; overflow: hidden; margin-bottom: 40px; }
.contact-help-section .info-section-title { margin: 0 0 20px; padding: 16px 28px 12px; background: #F5F5F5; border-radius: 0; }
.contact-help-section p, .contact-help-section ul, .contact-help-section form { padding-left: 28px; padding-right: 28px; }
.contact-help-section ul, .contact-help-section form { padding-bottom: 28px; }
.info-section.contact-help-section.contact-before-write { margin-bottom: 20px; }
.contact-social-section ul { padding-bottom: 12px; margin-bottom: 0; }
.contact-info-item { display: flex; flex-direction: column; gap: 4px; }
.contact-info-label { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--c-gray); }
.contact-info-value { font-size: 15px; font-weight: 600; color: var(--c-dark); white-space: nowrap; }

/* ─────────────────────────────────────────────────────────
   ABOUT / STORY PAGE
───────────────────────────────────────────────────────── */
.about-page { margin-top: var(--header-h); }

/* Hero */
.about-hero {
  background: var(--c-green-bg);
  padding: 96px 0 80px;
  position: relative;
  overflow: hidden;
}
.about-hero::before {
  content: '';
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.1) 1px, transparent 1px);
  background-size: 28px 28px;
}
.about-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
}
.about-eyebrow {
  font-family: var(--font-head);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin-bottom: 16px;
}
.about-title {
  font-family: var(--font-head);
  font-size: clamp(48px, 7vw, 96px);
  font-weight: 900;
  color: #fff;
  line-height: .92;
  letter-spacing: -3px;
  margin-bottom: 28px;
}
.about-lead {
  font-size: clamp(18px, 2vw, 22px);
  color: rgba(255,255,255,.85);
  line-height: 1.6;
  max-width: 600px;
  font-style: italic;
}

/* Body */
.about-body {
  max-width: 820px;
  padding-top: 80px;
  padding-bottom: 120px;
}

/* Chapters */
.about-chapter {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 0 48px;
  padding: 56px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}
.about-chapter:first-child { border-top: none; }
.about-chapter-label {
  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--c-primary);
  padding-top: 6px;
}
.about-chapter-content h2 {
  font-family: var(--font-head);
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 800;
  color: var(--c-dark);
  letter-spacing: -1px;
  line-height: 1.15;
  margin-bottom: 20px;
}
.about-chapter-content p {
  font-size: 16px;
  line-height: 1.8;
  color: #444;
  margin-bottom: 16px;
}
.about-chapter-content p:last-child { margin-bottom: 0; }

/* Sign-off */
.about-signoff {
  border-top: 1px solid rgba(0,0,0,.08);
  padding: 64px 0 48px;
  text-align: center;
}
.about-signoff-quote {
  font-family: var(--font-head);
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 700;
  font-style: italic;
  color: var(--c-dark);
  line-height: 1.4;
  max-width: 600px;
  margin: 0 auto 24px;
}
.about-signoff-name {
  font-weight: 700;
  font-size: 16px;
  color: var(--c-dark);
  margin-bottom: 4px;
}
.about-signoff-location {
  font-size: 14px;
  color: #888;
  letter-spacing: .06em;
}

/* CTA */
.about-cta {
  display: flex;
  gap: 16px;
  justify-content: center;
  padding-top: 8px;
}
.btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  padding: 0 32px;
  border-radius: 100px;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 15px;
  border: 2px solid var(--c-dark);
  color: var(--c-dark);
  text-decoration: none;
  transition: background .2s, color .2s;
}
.btn-outline:hover { background: var(--c-dark); color: #fff; }

/* Responsive */
@media (max-width: 700px) {
  .about-chapter {
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 40px 0;
  }
  .about-cta { flex-direction: column; align-items: center; }
}

/* ─────────────────────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .products-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
  .features-bar-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
}

/* Mobile search bar — hidden on desktop */
.mobile-search-bar { display: none; }

@media (max-width: 900px) {
  :root { --header-h: 138px; }

  .site-header { flex-direction: column; align-items: stretch; justify-content: flex-start; padding-top: 12px; }
  .site-header .container { display: contents; }
  .site-header .header-inner { padding: 0 16px; flex-shrink: 0; align-items: flex-end !important; }

  .mobile-search-bar {
    display: block;
    padding: 2px 16px 4px;
    margin-top: 22px;
  }
  .mobile-search-form {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f2f2f2;
    border-radius: 0;
    padding: 0 14px;
    height: 38px;
  }
  .mobile-search-icon { width: 18px; height: 18px; color: var(--c-dark); flex-shrink: 0; }
  .mobile-search-form input[type="search"] {
    border: none; background: none; outline: none;
    font-size: 0.875rem; color: var(--c-dark); width: 100%; padding: 0; line-height: 1;
  }
  .mobile-search-form input[type="search"]::placeholder { color: var(--c-gray); }

  .main-nav { display: none; }
  .mobile-toggle { display: flex; }
  .lang-switcher { display: none; }
  #searchToggle { display: none; }
  .header-actions { gap: 0; }
  .header-icon-btn { width: 38px; height: 38px; }
  .mobile-toggle { margin-right: 0; width: 38px; height: 38px; }
  .header-actions { padding-right: 0; }
  .site-logo { margin-left: 0; }

  .hero-deco { display: none; }
  .hero-title { letter-spacing: -2px; }


  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }

  .promo-banner { height: auto; padding: 40px 0; background: #70bc49; }
  .promo-banner .container { max-width: var(--container); padding: 0 28px; }
  .promo-inner { flex-direction: column; align-items: center; text-align: center; height: auto; gap: 24px; }
  .promo-content { margin-left: 0; flex: 0 0 auto; width: 100%; align-items: center; }
  .promo-content .btn { margin-left: auto; margin-right: auto; }
  .promo-visual { position: relative; width: calc(100% + 56px); margin-left: -28px; height: 130px; border: none; outline: none; background: #70bc49; }
  .bestsellers-section .products-grid { grid-template-columns: repeat(2, 1fr); }
  .promo-video { width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; transform: translateZ(0); }

  .categories-grid { grid-template-columns: repeat(2, 1fr); }

  .custom-section-inner { grid-template-columns: 1fr; }
  .custom-content { padding: 64px 28px; max-width: 100%; text-align: center; }
  .custom-actions { justify-content: center; }
  .custom-visual { padding: 0; width: 100%; min-height: 90vw; }
  .custom-video { width: 100%; height: 100%; min-height: 90vw; object-fit: cover; }

  .testimonials-grid { grid-template-columns: 1fr; }

  .blog-grid { grid-template-columns: 1fr 1fr; }

  .insta-grid { grid-template-columns: repeat(3, 1fr); }

  .newsletter-inner { grid-template-columns: 1fr; gap: 40px; }
}

@media (max-width: 640px) {
  :root { --header-h: 138px; }
  .contact-info-box { grid-template-columns: repeat(2, 1fr); }
  .container { padding: 0 16px; }
  .mobile-search-bar { padding: 2px 16px 4px; margin-top: 22px; }

  .hero { max-height: 700px; }
  .hero-title { font-size: clamp(44px, 12vw, 64px); letter-spacing: -2px; }
  .hero-nav { display: none; }

  .brand-section { padding: 0; }
  .brand-inner { grid-template-columns: 1fr; }
  .brand-visual { height: 90vw; margin-left: 0; width: 100%; padding: 0; }
  .brand-img { width: 100%; height: 100%; object-fit: cover; max-width: 100%; }
  .brand-content { padding: 40px 28px; max-width: 100%; text-align: center; align-items: center; }
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .bestsellers-section .products-grid { grid-template-columns: repeat(2, 1fr); }

  .promo-title { font-size: 36px; letter-spacing: -1px; }
  .promo-visual { width: calc(100% + 32px); margin-left: -16px; height: 72px; }
  .blog-grid { grid-template-columns: 1fr; }

  .categories-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }

  .insta-grid { grid-template-columns: repeat(2, 1fr); }

  .features-bar-grid { grid-template-columns: 1fr; gap: 20px; }
  .feature-bar-icon { font-size: 36px; }
  .feature-bar-item strong { font-size: 20px; }

  .newsletter-form { flex-direction: column; }
  .newsletter-form input { border-right: 2px solid rgba(255,255,255,.12); border-bottom: none; border-radius: 4px 4px 0 0; }
  .newsletter-form .btn { border-radius: 0 0 4px 4px; }

  .footer-top { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 400px) {
  .hero-title { font-size: clamp(36px, 11vw, 48px); }
  .hero-actions { flex-direction: column; align-items: center; gap: 14px; }
  .products-grid { grid-template-columns: repeat(2, 1fr); }
  .bestsellers-section .products-grid { grid-template-columns: repeat(2, 1fr); }
  .categories-grid { grid-template-columns: 1fr; }
  .promo-title { font-size: 28px; }
  .promo-content .btn { width: fit-content; text-align: center; }
  .brand-section { padding: 0; }
  .features-bar { padding: 40px 0; }
}

/* ═══════════════════════════════════════════════════════════
   SINGLE PRODUCT PAGE  — Stance-inspired
   ═══════════════════════════════════════════════════════════ */

.lls-product-page {
  background: #FFFFFF;
  margin-top: var(--header-h);
}

.lls-product-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 32px 100px;
}

/* ── Breadcrumb ── */
.lls-breadcrumb {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; color: var(--c-gray);
  padding: 20px 0 28px;
  letter-spacing: .03em;
}
.lls-breadcrumb a { color: var(--c-gray); text-decoration: none; }
.lls-breadcrumb a:hover { color: var(--c-dark); }

/* ── Two-column layout ── */
.lls-product-layout {
  display: grid;
  grid-template-columns: 55% 1fr;
  gap: 72px;
  align-items: stretch;
}

/* ── Gallery ── */
.lls-gallery-main {
  border-radius: 12px;
  overflow: hidden;
  background: #F5F5F5;
  aspect-ratio: 1;
}
.lls-main-img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  mix-blend-mode: multiply;
  transition: opacity .2s;
}
.lls-gallery-thumbs {
  display: flex; gap: 8px; flex-wrap: wrap;
  margin-top: 10px;
}
.lls-thumb {
  width: 76px; height: 76px;
  border-radius: 8px; overflow: hidden;
  border: 2px solid transparent;
  padding: 0; background: #F5F5F5;
  cursor: pointer; transition: border-color .18s;
}
.lls-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; mix-blend-mode: multiply; }
.lls-thumb.active,
.lls-thumb:hover { border-color: var(--c-dark); }

/* ── Gallery arrows ── */
.lls-gallery-main { position: relative; }
.lls-gallery-arrow {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.88);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 3;
  transition: background .18s, color .18s, opacity .18s;
  color: #222;
  box-shadow: 0 1px 6px rgba(0,0,0,.12);
}
.lls-gallery-prev { left: 12px; }
.lls-gallery-next { right: 12px; }
.lls-gallery-arrow:hover { background: var(--c-primary); color: #fff; }

/* ── Favourite button ── */
.lls-gallery-fav {
  position: absolute;
  bottom: 14px; right: 14px;
  width: 40px; height: 40px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,0.88);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  z-index: 3;
  transition: background .18s, color .18s;
  color: #222;
  box-shadow: 0 1px 6px rgba(0,0,0,.12);
}
.lls-gallery-fav:hover { background: var(--c-primary); color: #fff; }
.lls-gallery-fav svg { transition: fill .18s, stroke .18s; }
.lls-gallery-fav.lls-fav-active svg {
  fill: #e53935;
  stroke: #e53935;
}

/* ── Left column — stretch to match right column height ── */
.lls-product-gallery {
  display: flex; flex-direction: column;
}
.lls-left-sections {
  margin-top: 36px;
  flex: 1;
  display: flex; flex-direction: column;
}

.lls-left-block { padding: 24px 0; }

/* Inspirations block — fills remaining height */
.lls-inspiration-block {
  border-top: 1px solid #e8e8e8;
  flex: 1;
  display: flex; flex-direction: column;
}
.lls-inspiration-block .lls-inspiration-features { margin-top: auto; padding-top: 24px; }

.lls-inspiration-heading {
  font-family: var(--font-head);
  font-size: 2rem; font-weight: 900;
  line-height: 1.1; letter-spacing: -.02em;
  white-space: nowrap;
  color: var(--c-dark);
  margin-bottom: 20px;
}

.lls-inspiration-intro {
  font-size: 0.92rem; color: #555; line-height: 1.8;
  margin: 0 0 14px;
}

.lls-inspiration-features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-top: 24px;
}

.lls-inspiration-feature {
  display: flex; flex-direction: column; gap: 4px;
}

.lls-inspiration-feature-label {
  font-size: 0.78rem; font-weight: 800;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--c-dark);
}

.lls-inspiration-feature-desc {
  font-size: 0.82rem; color: #666; line-height: 1.55;
}

/* ── Brand sign-off (product page left column) ── */
.lls-brand-block {
  border-top: 1px solid #e8e8e8;
  padding-top: 28px;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lls-brand-logo {
  height: 28px;
  width: auto;
  display: block;
  margin-bottom: 8px;
}
.lls-brand-tagline {
  font-weight: 700;
  font-size: 14px;
  color: var(--c-dark);
}
.lls-brand-location {
  font-size: 12px;
  color: #888;
  letter-spacing: .06em;
}

/* ── Product title ── */
.lls-product-title {
  font-family: var(--font-head);
  font-size: 2rem; font-weight: 900;
  color: var(--c-dark);
  margin: 0 0 10px;
  line-height: 1.15;
  letter-spacing: -.01em;
}

/* ── Price ── */
.lls-product-price {
  font-size: 1.25rem; font-weight: 700;
  color: var(--c-dark);
  margin-bottom: 20px;
}
.lls-product-price .woocommerce-Price-amount { font-size: inherit; color: inherit; }

/* ── Short description ── */
.lls-product-short-desc {
  font-size: 0.95rem; color: #555; line-height: 1.75;
  margin-bottom: 28px;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 24px;
}
.lls-product-short-desc p { margin: 0 0 8px; }

/* ── Size section ── */
.lls-size-section { margin-bottom: 24px; }

.lls-size-label {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--c-dark);
  margin: 0 0 14px;
  display: block;
}

/* Size boxes — directly visible, Stance style */
.lls-size-buttons {
  display: flex; flex-wrap: wrap; gap: 10px;
}
.lls-size-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  width: 100px;
  padding: 12px 14px;
  border: 1.5px solid #ccc;
  border-radius: 6px;
  background: #fff;
  font-family: var(--font-body);
  cursor: pointer;
  text-align: center;
  transition: border-color .15s, background .15s, color .15s;
  line-height: 1;
  gap: 4px;
}
.lls-size-name {
  font-size: 1rem; font-weight: 800;
  color: inherit;
  display: block;
}
.lls-size-eu {
  font-size: 0.8rem; font-weight: 500;
  color: inherit; opacity: .7;
  display: block;
}
.lls-size-btn:hover {
  border-color: var(--c-dark);
}
.lls-size-btn.active {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: #fff;
}
.lls-size-btn.active .lls-size-eu { opacity: .8; }

.lls-size-hint {
  font-size: 0.82rem; color: #c0392b;
  margin: 8px 0 0;
}

/* ── Add to cart form ── */
.lls-product-form { margin-bottom: 20px; }

.lls-product-form .quantity {
  display: flex; align-items: center; gap: 0;
  margin-bottom: 14px;
  width: fit-content;
}
.lls-quantity {
  display: inline-flex; align-items: center;
  border: 1.5px solid #ccc; border-radius: 6px;
  overflow: hidden;
}
.lls-qty-btn {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 28px;
  background: #f5f5f5; border: none; outline: none;
  font-size: 0.85rem; line-height: 1; color: var(--c-dark);
  cursor: pointer; flex-shrink: 0;
  transition: background 0.15s;
  padding: 0;
}
.lls-qty-btn:hover:not(:disabled) { background: #e8e8e8; }
.lls-qty-btn:disabled { opacity: 0.35; cursor: default; }
.lls-product-form .qty {
  width: 30px; text-align: center;
  padding: 5px 2px;
  border: none; border-left: 1.5px solid #ccc; border-right: 1.5px solid #ccc;
  border-radius: 0;
  font-size: 0.8rem; font-family: var(--font-body);
  -moz-appearance: textfield;
}
.lls-product-form .qty::-webkit-outer-spin-button,
.lls-product-form .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lls-product-form .single_add_to_cart_button,
.woocommerce .lls-product-form .single_add_to_cart_button,
.woocommerce-page .lls-product-form button[type="submit"] {
  display: block; width: 100%;
  padding: 18px 24px;
  background: var(--c-primary) !important;
  color: #fff !important;
  border: none !important; border-radius: 6px;
  font-family: var(--font-head);
  font-size: 0.95rem; font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .18s, transform .12s;
}
.lls-product-form .single_add_to_cart_button:hover,
.woocommerce .lls-product-form .single_add_to_cart_button:hover,
.woocommerce-page .lls-product-form button[type="submit"]:hover {
  background: var(--c-primary-dark) !important;
  transform: translateY(-1px);
}

/* ── Feature pills ── */
.lls-feature-pills {
  display: flex; flex-wrap: wrap; gap: 8px;
  list-style: none; margin: 0 0 28px; padding: 0;
}
.lls-feature-pills li {
  font-size: 0.75rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 6px 12px;
  border: 1.5px solid #e0e0e0;
  border-radius: 20px;
  color: #555;
}

/* ── Details (always visible, no accordion) ── */
.lls-product-details { border-top: 1px solid #e8e8e8; }
.lls-detail-block { padding: 18px 0; }
.lls-detail-block:not(:last-child) { border-bottom: 1px solid #e8e8e8; }
.lls-detail-heading {
  font-weight: 800; font-size: 0.82rem;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--c-dark); margin-bottom: 12px;
}
.lls-detail-body { font-size: 0.9rem; color: #555; line-height: 1.75; }

/* Size table */
.lls-size-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; }
.lls-size-table th { text-align: left; padding: 8px 12px; background: #f5f5f5; font-weight: 700; }
.lls-size-table td { padding: 8px 12px; border-bottom: 1px solid #eee; }
.lls-size-table tr:last-child td { border-bottom: none; }

/* Care list */
.lls-care-list { margin: 0; padding-left: 18px; }
.lls-care-list li { margin-bottom: 6px; }

/* ═══════════════════════════════════════════════════════════
   REVIEWS  —  Lululemon-style layout
═══════════════════════════════════════════════════════════ */
.lls-reviews {
  margin-top: 56px;
  border-top: 1px solid #e8e8e8;
  padding-top: 40px;
}

/* ── Title row ── */
.lls-reviews-top {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  margin-bottom: 32px;
}
.lls-reviews-section-title {
  font-family: var(--font-head);
  font-size: 1.39rem; font-weight: 900;
  letter-spacing: -.5px; text-transform: uppercase;
  color: var(--c-dark); margin: 0;
}
.lls-reviews-headline-score {
  display: flex; align-items: center; gap: 8px;
}
.lls-reviews-headline-stars {
  display: flex; align-items: center; gap: 2px;
}
.lls-reviews-headline-star {
  width: 1.39rem; height: 1.39rem; color: #f5a623; flex-shrink: 0;
}
.lls-reviews-headline-avg {
  font-family: var(--font-head);
  font-size: 1.39rem; font-weight: 900; color: var(--c-dark);
}
.lls-reviews-headline-count {
  font-size: 1.39rem; font-weight: 900;
  font-family: var(--font-head); color: var(--c-dark);
}

/* ── Two-column body ── */
.lls-reviews-body {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 48px;
  align-items: start;
}

/* ── Left sidebar ── */
.lls-reviews-sidebar { border-right: 1px solid #e8e8e8; padding-right: 40px; }

/* Fit slider */
.lls-fit-block { margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid #e8e8e8; }
.lls-fit-title {
  font-weight: 700; font-size: 0.9rem;
  color: var(--c-dark); margin: 0 0 12px;
}
.lls-fit-track {
  display: flex; align-items: center;
  position: relative; gap: 0;
  height: 20px; margin-bottom: 6px;
}
.lls-fit-track::before {
  content: ''; position: absolute;
  left: 0; right: 0; top: 50%; transform: translateY(-50%);
  height: 3px; background: #e0e0e0; border-radius: 2px;
}
.lls-fit-tick {
  width: 8px; height: 8px; border-radius: 50%;
  background: #ccc; position: relative; z-index: 1;
  flex: 1; margin: 0 auto; display: block;
  max-width: 8px;
}
.lls-fit-tick--active {
  width: 18px; height: 18px; max-width: 18px;
  background: var(--c-dark);
  box-shadow: 0 0 0 3px #fff, 0 0 0 4px #ccc;
}
.lls-fit-labels {
  display: flex; justify-content: space-between;
  font-size: 0.72rem; color: var(--c-gray);
}

/* Search */
.lls-reviews-search-wrap {
  display: flex; align-items: center; gap: 10px;
  border: 1.5px solid #ddd; border-radius: 6px;
  padding: 10px 14px; margin-bottom: 20px;
  transition: border-color .15s;
}
.lls-reviews-search-wrap:focus-within { border-color: var(--c-dark); }
.lls-reviews-search-icon { width: 16px; height: 16px; color: var(--c-gray); flex-shrink: 0; }
.lls-reviews-search-input {
  border: none; outline: none; width: 100%;
  font-family: var(--font-body); font-size: 0.88rem; color: var(--c-dark);
  background: transparent;
}
.lls-reviews-search-input::placeholder { color: var(--c-gray); }

/* Filter accordions */
.lls-review-filters { display: flex; flex-direction: column; }
.lls-filter-group {
  border-bottom: 1px solid #e8e8e8;
}
.lls-filter-group:first-child { border-top: 1px solid #e8e8e8; }
.lls-filter-summary {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 0; cursor: pointer; list-style: none;
  font-weight: 700; font-size: 0.9rem; color: var(--c-dark);
  user-select: none;
}
.lls-filter-summary::-webkit-details-marker { display: none; }
.lls-filter-icon { width: 16px; height: 16px; flex-shrink: 0; transition: transform .2s; }
details[open] .lls-filter-icon { transform: rotate(45deg); }
.lls-filter-body { padding-bottom: 16px; display: flex; flex-direction: column; gap: 10px; }
.lls-filter-opt {
  display: flex; align-items: center; gap: 8px;
  font-size: 0.88rem; color: var(--c-dark); cursor: pointer;
}
.lls-filter-opt input { accent-color: var(--c-dark); width: 16px; height: 16px; cursor: pointer; }

/* ── Right: reviews main ── */
.lls-reviews-main { min-width: 0; }

/* List header */
.lls-reviews-list-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 0; padding-bottom: 20px;
  border-bottom: 1px solid #e8e8e8;
  flex-wrap: wrap; gap: 10px;
}
.lls-reviews-showing { font-size: 0.88rem; color: var(--c-dark); }
.lls-reviews-sort-wrap {
  display: flex; align-items: center; gap: 5px;
  font-size: 0.85rem; color: var(--c-gray); cursor: pointer;
}
.lls-reviews-sort-wrap strong { color: var(--c-dark); }

/* ── Review items (flat list) ── */
.lls-review-list { display: flex; flex-direction: column; }
.lls-review-item {
  padding: 28px;
  border-bottom: 1px solid #e8e8e8;
  background: #F5F5F5;
}
.lls-review-item-top {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 10px;
}
.lls-review-stars-row { font-size: 18px; color: #f5a623; letter-spacing: 2px; }
.lls-review-date { font-size: 0.8rem; color: var(--c-gray); }
.lls-review-headline {
  font-family: var(--font-head); font-weight: 800;
  font-size: 1rem; color: var(--c-dark);
  margin: 0 0 10px;
}
.lls-review-body {
  font-size: 0.9rem; color: #444; line-height: 1.7;
  margin: 0 0 10px;
}
.lls-review-author-line { font-size: 0.82rem; color: var(--c-gray); margin: 0 0 14px; }
.lls-review-actions {
  display: flex; align-items: center; gap: 20px;
}
.lls-review-helpful,
.lls-review-comment {
  display: flex; align-items: center; gap: 6px;
  background: none; border: none; cursor: pointer;
  font-family: var(--font-body); font-size: 0.85rem;
  color: var(--c-dark); padding: 0; transition: opacity .15s;
}
.lls-review-helpful:hover, .lls-review-comment:hover { opacity: .65; }

/* ── WooCommerce native review list (inside .lls-reviews-main) ── */
.lls-reviews-main #reviews { margin: 0; }
.lls-reviews-main #comments { margin: 0; }
.lls-reviews-main h2, .lls-reviews-main h3 { display: none; }
.lls-reviews-main .commentlist {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column;
}
.lls-reviews-main .commentlist > li.review {
  padding: 28px 0; border-bottom: 1px solid #e8e8e8;
}
.lls-reviews-main .comment_container {
  display: block; background: none; border: none;
  border-radius: 0; padding: 0;
}
.lls-reviews-main .avatar { display: none; }
.lls-reviews-main .star-rating {
  font-size: 18px; color: #f5a623;
  overflow: hidden; position: relative;
  height: 1.2em; width: 5.4em; line-height: 1.2;
  margin-bottom: 10px; font-family: 'star';
}
.lls-reviews-main .star-rating::before {
  content: '\53\53\53\53\53'; color: #ddd;
  float: left; position: absolute; top: 0; left: 0;
}
.lls-reviews-main .star-rating span {
  overflow: hidden; float: left; top: 0; left: 0;
  position: absolute; padding-top: 1.5em;
}
.lls-reviews-main .star-rating span::before {
  position: absolute; top: 0;
  content: '\53\53\53\53\53'; color: #f5a623;
}
.lls-reviews-main .meta {
  display: flex; align-items: center; gap: 6px;
  margin-bottom: 8px; flex-wrap: wrap;
}
.lls-reviews-main .woocommerce-review__author {
  font-weight: 700; font-size: 0.88rem; color: var(--c-gray);
}
.lls-reviews-main .woocommerce-review__dash { display: none; }
.lls-reviews-main .woocommerce-review__published-date {
  font-size: 0.8rem; color: var(--c-gray);
}
.lls-reviews-main .description p {
  font-size: 0.9rem; color: #444; line-height: 1.7; margin: 0;
}

/* Review form */
.lls-reviews-main #review_form_wrapper {
  margin-top: 32px; border-top: 1px solid #e8e8e8; padding-top: 32px;
}
.lls-reviews-main #review_form h3,
.lls-reviews-main #reply-title {
  display: block !important;
  font-family: var(--font-head);
  font-size: 0.8rem; font-weight: 900;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--c-dark); margin-bottom: 20px;
}
.lls-reviews-main .comment-form-rating { margin-bottom: 16px; }
.lls-reviews-main .comment-form-rating label {
  font-size: 0.78rem; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; color: var(--c-dark);
  display: block; margin-bottom: 6px;
}
.lls-reviews-main .stars a { font-size: 22px; color: #ccc; text-decoration: none; }
.lls-reviews-main .stars a:hover,
.lls-reviews-main .stars.selected a.active,
.lls-reviews-main .stars.selected a:not(.active) ~ a { color: #f5a623; }
.lls-reviews-main .comment-form p { margin-bottom: 14px; }
.lls-reviews-main .comment-form label {
  display: block; font-size: 0.78rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  color: var(--c-dark); margin-bottom: 6px;
}
.lls-reviews-main .comment-form input[type="text"],
.lls-reviews-main .comment-form input[type="email"],
.lls-reviews-main .comment-form textarea {
  width: 100%; padding: 12px 14px;
  border: 1.5px solid #ddd; border-radius: 6px;
  font-family: var(--font-body); font-size: 0.9rem;
  background: #F5F5F5;
  transition: border-color .15s; box-sizing: border-box;
}
.lls-reviews-main .comment-form input:focus,
.lls-reviews-main .comment-form textarea:focus { border-color: var(--c-dark); outline: none; }
.lls-reviews-main .comment-form textarea { min-height: 110px; resize: vertical; }
.lls-reviews-main .comment-form .form-submit { margin-top: 4px; }
.lls-reviews-main .comment-form #submit {
  padding: 14px 32px; background: var(--c-dark); color: #fff;
  border: none; border-radius: 6px; font-family: var(--font-head);
  font-size: 0.82rem; font-weight: 900; letter-spacing: .08em;
  text-transform: uppercase; cursor: pointer; transition: background .18s;
}
.lls-reviews-main .comment-form #submit:hover { background: #333; }

/* ── Responsive ── */
@media (max-width: 820px) {
  .lls-reviews-body { grid-template-columns: 1fr; gap: 32px; }
  .lls-reviews-sidebar { border-right: none; padding-right: 0; border-bottom: 1px solid #e8e8e8; padding-bottom: 28px; }
}

/* ── Related products ── */
.lls-related { margin-top: 80px; border-top: 1px solid #e8e8e8; padding-top: 48px; }
.lls-related-title {
  font-family: var(--font-head);
  font-size: 0.8rem; font-weight: 900;
  letter-spacing: .12em; text-transform: uppercase;
  margin-bottom: 28px; color: var(--c-dark);
}
.lls-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.lls-related-card {
  text-decoration: none; color: var(--c-dark); display: block;
}
.lls-related-card:hover .lls-related-img { transform: scale(1.03); }
.lls-related-img-wrap { overflow: hidden; border-radius: 10px; background: #f4f4f4; aspect-ratio: 1; }
.lls-related-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.lls-related-name { font-weight: 700; font-size: 0.88rem; margin: 10px 0 3px; }
.lls-related-price { font-size: 0.85rem; color: var(--c-gray); }
.lls-related-price .woocommerce-Price-amount { color: inherit; }

/* ── Responsive ── */
@media (max-width: 960px) {
  .lls-product-layout { grid-template-columns: 1fr; gap: 36px; }
  .lls-related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 500px) {
  .lls-product-container { padding: 0 16px 64px; }
  .lls-product-title { font-size: 1.5rem; }
  .lls-size-btn { min-width: 100px; width: 100px; }
  .lls-related-grid { gap: 12px; }
}

/* ─────────────────────────────────────────────────────────
   CHECKOUT — Total row + Place Order button
───────────────────────────────────────────────────────── */
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td,
.woocommerce-checkout .order-total td strong,
.woocommerce-checkout .order-total .woocommerce-Price-amount {
  font-weight: 700 !important;
  font-size: 1.2em !important;
}

.wc-block-components-checkout-place-order-button {
  font-weight: 700 !important;
  font-size: 20px !important;
  background: var(--c-primary) !important;
  background-color: var(--c-primary) !important;
  border: none !important;
  outline: none !important;
  color: #fff !important;
  filter: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.wc-block-cart__submit-button {
  font-size: 20px !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:focus {
  background: var(--c-primary-dark) !important;
  background-color: var(--c-primary-dark) !important;
  border: none !important;
  color: #fff !important;
  filter: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

/* Hide PayPal smart button on checkout until PayPal radio is selected */
.woocommerce-checkout .ppcp-checkout-paypal-button-hidden {
  display: none !important;
}

/* ── Block checkout: enforce payment method display order ─────────────── */
/* Stripe UPE registers by Stripe API type: "card", "klarna", "afterpay_clearpay"
   NOT "stripe", "stripe_klarna", "stripe_afterpay_clearpay"               */
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"]) {
  display: flex !important;
  flex-direction: column !important;
}

/* Default: push any unlisted method to the end */
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"])
  > .wc-block-components-radio-control-accordion-option {
  order: 99;
}

/* Desired order */
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"])
  > .wc-block-components-radio-control-accordion-option:has(input[value="card"])                { order: 0; }
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"])
  > .wc-block-components-radio-control-accordion-option:has(input[value="klarna"])         { order: 1; }
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"])
  > .wc-block-components-radio-control-accordion-option:has(input[value="afterpay_clearpay"]) { order: 2; }
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"])
  > .wc-block-components-radio-control-accordion-option:has(input[value="ppcp-gateway"])          { order: 3; }
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"])
  > .wc-block-components-radio-control-accordion-option:has(input[value="alipay"])         { order: 4; }
.wc-block-components-radio-control:has(> .wc-block-components-radio-control-accordion-option input[value="card"])
  > .wc-block-components-radio-control-accordion-option:has(input[value="wechat_pay"])     { order: 5; }
/* Block checkout: card-style payment method accordion rows */
.wc-block-components-radio-control-accordion-option {
  border: 1px solid #e0e0e0 !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  margin-top: -1px !important;
  background: #fff !important;
  transition: border-color 0.15s, background 0.15s !important;
  overflow: hidden !important;
}
.wc-block-components-radio-control-accordion-option:first-child {
  margin-top: 0 !important;
  border-radius: 10px 10px 0 0 !important;
}
.wc-block-components-radio-control-accordion-option:last-child {
  border-radius: 0 0 10px 10px !important;
}
.wc-block-components-radio-control-accordion-option:only-child {
  border-radius: 10px !important;
}

.wc-block-components-radio-control-accordion-option:has(input[type="radio"]:checked) {
  border-color: var(--c-primary) !important;
  border-width: 1px !important;
  z-index: 1 !important;
  position: relative !important;
  box-shadow: none !important;
  background: #fdf5fb !important;
}

/* Block checkout: payment method icons */
/* PPCP icons: class wc-block-components-payment-method-icon (WITH prefix) */
.wc-block-components-payment-method-icon {
  height: 22px !important;
  max-height: 22px !important;
  width: auto !important;
}

/* Make the payment method __label element flex so title and icon are on same row.
   - For PPCP: <span>PayPal</span> and <div class="payment-method-icons"> are siblings → icons get margin-left:auto
   - For Stripe: <span>Title<div>[icon]</div></span> → inner span is flex with icon div pushed right */
.wc-block-components-radio-control__label {
  display: flex !important;
  align-items: center !important;
}

/* PPCP: icon container is a direct child of __label — push to right edge */
.wc-block-components-radio-control__label .wc-block-components-payment-method-icons {
  margin-left: auto !important;
  margin-bottom: 0 !important;
  flex-shrink: 0 !important;
  gap: 4px !important;
}

/* Stripe: inner <span> wraps title text + emotion-styled icon div — make it flex */
.wc-block-components-radio-control__label > span:has(> div) {
  display: flex !important;
  align-items: center !important;
  flex: 1 !important;
}

/* Stripe: emotion-styled icon wrapper div inside the span — push to right */
.wc-block-components-radio-control__label > span > div {
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

/* Hide the Pay Later wrapper block in its original location */
.wp-block-woocommerce-paypal-payments-checkout-paylater-messages {
  display: none !important;
}

/* Visible "PayPal" title injected by JS (fallback) */
.lls-paypal-title {
  font-size: 1rem;
  font-weight: 600;
  color: inherit;
}

/* PayPal logo injected by JS (inline SVG fallback) */
.lls-paypal-logo {
  height: 22px !important;
  width: auto !important;
  margin-left: auto;
  flex-shrink: 0;
  display: block;
  overflow: visible;
}

/* Uniform font size for all payment method titles */
.wc-block-components-radio-control-accordion-option .wc-block-components-payment-method-label,
.wc-block-components-radio-control-accordion-option .lls-paypal-title {
  font-size: 1rem !important;
  font-weight: 600 !important;
}

/* Fee note shown in accordion content when method is selected */
.lls-payment-fee {
  font-size: 0.8rem;
  font-weight: 500;
  color: #888;
  margin: 0 0 8px;
}

/* Pay in 4 message: aligned with PayPal option text indent */
.wc-block-components-radio-control-accordion-option:has(input[value="ppcp-gateway"]) #ppcp-checkout-paylater-messages {
  display: block !important;
  width: 100%;
  padding-left: 48px;
  margin-top: 4px;
}

/* Separate "Click Place order…" section and align it with "Pay via PayPal." */
.wc-block-components-radio-control-accordion-option:has(input[value="ppcp-gateway"])
  .wc-block-components-radio-control-accordion-content {
  padding-left: 48px !important;
  margin-top: 12px !important;
  border-top: 1px solid #e8e8e8;
  padding-top: 12px !important;
  font-size: 14px !important;
}


/* ─────────────────────────────────────────────────────────
   CHECKOUT — Order Summary sidebar
   All content aligned to a single 20px left/right inset.
───────────────────────────────────────────────────────── */

/* Outer container */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 8px !important;
  overflow: hidden;
}

/* Reset any WC-added padding on inner wrappers */
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-components-order-summary__content,
.woocommerce-checkout .wc-block-components-order-summary__panel {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}
.woocommerce-checkout .wc-block-components-order-summary__items {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── Header: "Order summary"  "1 item" ────────────────── */
.woocommerce-checkout .wc-block-components-order-summary__toggle {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 20px 20px 14px !important;
  background: none !important;
  border: none !important;
  border-bottom: 1px solid #e0e0e0 !important;
  cursor: default !important;
  text-align: left !important;
}
.woocommerce-checkout .wc-block-components-order-summary__button-text {
  font-family: var(--font-head) !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  color: var(--c-dark) !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary__count {
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: #666 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary__button-icon { display: none !important; }

/* ── Cart item row ────────────────────────────────────── */
.woocommerce-checkout .wc-block-components-order-summary-item,
.woocommerce-checkout .wc-block-order-summary-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  padding: 16px 20px !important;
  margin: 0 !important;
  border-bottom: none !important;
  box-sizing: border-box !important;
}

/* Product image */
.woocommerce-checkout .wc-block-components-order-summary-item__image,
.woocommerce-checkout .wc-block-order-summary-item__image {
  flex-shrink: 0 !important;
  width: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image img,
.woocommerce-checkout .wc-block-order-summary-item__image img {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  display: block !important;
}

/* Description column */
.woocommerce-checkout .wc-block-components-order-summary-item__description,
.woocommerce-checkout .wc-block-order-summary-item__description {
  flex: 1 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0.875rem !important;
  color: var(--c-dark) !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__name,
.woocommerce-checkout .wc-block-order-summary-item__name {
  font-weight: 700 !important;
  font-size: 0.875rem !important;
  display: block !important;
  margin: 0 0 4px !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__product-details,
.woocommerce-checkout .wc-block-order-summary-item__product-details {
  font-size: 0.85rem !important;
  color: #555 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__product-details dt,
.woocommerce-checkout .wc-block-order-summary-item__product-details dt {
  float: left; margin-right: 4px; font-weight: 400; padding: 0;
}
.woocommerce-checkout .wc-block-components-order-summary-item__product-details dd,
.woocommerce-checkout .wc-block-order-summary-item__product-details dd {
  margin: 0; padding: 0; font-weight: 400;
}

/* Price — bottom-right */
.woocommerce-checkout .wc-block-components-order-summary-item__full-price,
.woocommerce-checkout .wc-block-components-order-summary-item__total,
.woocommerce-checkout .wc-block-order-summary-item__total {
  flex-shrink: 0 !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  align-self: flex-end !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── "Free returns" text ──────────────────────────────── */
.lls-free-returns {
  padding: 10px 20px 12px;
  font-size: 0.82rem;
  color: #777;
  border-bottom: 1px solid #e0e0e0;
  margin: 0;
  box-sizing: border-box;
  list-style: none;
}

/* ── Totals section ───────────────────────────────────── */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block {
  padding: 0 20px 20px !important;
  margin: 0 !important;
}

/* Reset any inner wrappers WC adds */
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-totals-block > * {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-checkout .wc-block-components-totals-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  padding: 7px 0 !important;
  margin: 0 !important;
  font-size: 0.875rem !important;
  color: var(--c-dark) !important;
  border: none !important;
  box-sizing: border-box !important;
}
.woocommerce-checkout .wc-block-components-totals-item__label {
  font-weight: 700 !important;
  padding: 0 !important;
  margin: 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-item__value {
  font-weight: 400 !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: right !important;
}

/* Order total row */
.woocommerce-checkout .wc-block-components-totals-footer-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  border-top: 1px solid #e0e0e0 !important;
  margin-top: 6px !important;
  padding: 14px 0 0 !important;
}
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-family: var(--font-head) !important;
  font-size: 0.95rem !important;
  font-weight: 800 !important;
  color: var(--c-dark) !important;
  padding: 0 !important;
}

/* Coupon link — visible */
.woocommerce-checkout .wc-block-components-totals-coupon-link { display: block; }

/* Hide WC built-in order note block (below Payment) */
.wp-block-woocommerce-checkout-order-note-block { display: none !important; }

/* Gap between merged Shipping section and Payment — matches Contact→Shipping gap */
.wp-block-woocommerce-checkout-payment-block { margin-top: 10px !important; }

/* ── Place Order button below Order Summary (right sidebar) ────────────────── */
.wp-block-woocommerce-checkout-order-summary-block + .wc-block-components-checkout-place-order-button {
  width: 100% !important;
  display: flex !important;
  margin-top: 2rem !important;
}

/* Return to Cart as an outline button */
.wc-block-components-checkout-return-to-cart-button {
  display: block !important;
  width: fit-content !important;
  min-width: 200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  margin-top: 12px !important;
  padding: 14px 24px !important;
  background: transparent !important;
  border: 2px solid var(--c-primary) !important;
  border-radius: 6px !important;
  color: var(--c-primary) !important;
  font-family: var(--font-head) !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: background .15s, color .15s !important;
  cursor: pointer !important;
}
.wc-block-components-checkout-return-to-cart-button svg {
  display: none !important;
}
.wc-block-components-checkout-return-to-cart-button:hover {
  background: var(--c-primary) !important;
  color: #fff !important;
}


/* ─────────────────────────────────────────────────────────
   BLOCK CHECKOUT — Section cards + step wizard
───────────────────────────────────────────────────────── */

/* Checkout page background */
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-checkout .wc-block-checkout {
  background: #f5f5f5 !important;
}
.woocommerce-checkout .wp-block-woocommerce-checkout__sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar {
  background: transparent !important;
}

/* Each section block as a white card — no radius */
.wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout-shipping-address-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-shipping-methods-block,
.wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout-order-note-block {
  background: #fff !important;
  border-radius: 0 !important;
  border: 1px solid #e8e8e8 !important;
  box-shadow: none !important;
  padding: 24px 28px !important;
  margin-bottom: 10px !important;
}

/* Section heading font override — WC Blocks renders step titles as .wc-block-components-checkout-step__title */
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-order-summary__title-text {
  font-family: var(--font-head) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--c-dark) !important;
  margin: 0 !important;
  text-transform: none !important;
  line-height: 1.2 !important;
  -webkit-font-smoothing: antialiased !important;
}

/* Hide empty structural blocks that render as blank space */
.wp-block-woocommerce-checkout-shipping-method-block:empty,
.wp-block-woocommerce-checkout-pickup-options-block:empty { display: none !important; }

/* Visually merge billing block with shipping-methods block below it */
.wp-block-woocommerce-checkout-billing-address-block {
  border-bottom: none !important;
  margin-bottom: 0 !important;
}
.wp-block-woocommerce-checkout-shipping-methods-block {
  border-top: 1px solid #e8e8e8 !important;
  margin-top: 0 !important;
  padding-top: 16px !important;
}

/* "Shipping method" heading injected by JS */
.lls-shipping-method-heading {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-dark);
  margin-bottom: 12px;
}

/* Shipping method radio options: spaced rows */
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option {
  margin-top: 0 !important;
  margin-bottom: 8px !important;
}
.wp-block-woocommerce-checkout-shipping-methods-block .wc-block-components-radio-control-accordion-option:last-child {
  margin-bottom: 0 !important;
}

/* Gift message — injected at bottom of Shipping section */
.lls-gift-wrap {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #e8e8e8;
}
.lls-gift-label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--c-dark);
  user-select: none;
}
.lls-gift-check {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  cursor: pointer;
  accent-color: var(--c-primary);
}
.lls-gift-textarea {
  display: none;
  width: 100%;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid #333;
  border-radius: 0;
  font-family: inherit;
  font-size: 0.9rem;
  color: var(--c-dark);
  resize: vertical;
  min-height: 88px;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.15s;
}
.lls-gift-textarea.lls-gift-visible { display: block; }
.lls-gift-textarea:focus {
  border-color: #007bff;
  border-width: 2px;
  outline: none;
  box-shadow: 0 0 0 1px #007bff;
}

/* Payment section subtitle */
.lls-payment-subtitle {
  margin: -8px 0 16px;
  font-size: 0.875rem;
  color: #666;
}

/* Keep address card invisible while JS triggers edit mode */
.wc-block-components-address-card { visibility: hidden; height: 0; overflow: hidden; margin: 0 !important; padding: 0 !important; }

/* Remove border-radius from all checkout inputs, selects, textareas */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-text-input textarea,
.woocommerce-checkout .wc-block-components-select select,
.woocommerce-checkout .wc-block-components-select__container select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea { border-radius: 0 !important; }

/* Lighter borders on all checkout text inputs, selects, textareas */
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-text-input textarea,
.woocommerce-checkout .wc-block-components-select select,
.woocommerce-checkout .wc-block-components-select__container select,
.woocommerce-checkout .wc-block-components-select__select,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea { border-color: #ddd !important; }

/* ── OTP Login / Registration ────────────────────────────────────────────────── */
.lls-otp-wrapper {
  max-width: 440px;
  margin: 0 auto;
  padding: 0 1rem;
}

.lls-otp-heading {
  font-family: var(--font-head);
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--c-dark);
  margin-bottom: .4rem;
}

.lls-otp-sub {
  color: #666;
  font-size: .95rem;
  margin-bottom: 1.5rem;
}

.lls-otp-method-tabs {
  display: flex;
  gap: .5rem;
  margin-bottom: 1.25rem;
}

.lls-method-tab {
  flex: 1;
  padding: .6rem 1rem;
  border: 2px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-family: var(--font-head);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
}

.lls-method-tab.active {
  border-color: var(--c-primary);
  background: var(--c-primary);
  color: #fff;
}

.lls-otp-field {
  margin-bottom: 1rem;
}

.lls-otp-field input {
  width: 100%;
  padding: .85rem 1rem;
  border: 2px solid #ddd;
  border-radius: 6px;
  font-size: 1rem;
  font-family: var(--font-body);
  box-sizing: border-box;
  transition: border-color .15s;
}

.lls-otp-field input:focus {
  outline: none;
  border-color: var(--c-primary);
}

.lls-otp-code-field input {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: .4em;
}

.lls-otp-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}

.lls-otp-btn {
  width: 100%;
  padding: .9rem 1rem;
  background: var(--c-primary);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .15s;
}

.lls-otp-btn:hover:not(:disabled) {
  background: var(--c-primary-dark);
}

.lls-otp-btn:disabled {
  opacity: .6;
  cursor: default;
}

.lls-otp-error {
  color: #c0392b;
  font-size: .875rem;
  margin-top: .25rem;
}

.lls-otp-resend {
  text-align: center;
  font-size: .85rem;
  color: #888;
  margin-top: .75rem;
}

.lls-otp-resend a {
  color: var(--c-primary);
  text-decoration: underline;
}
.lls-otp-forgot {
  text-align: center;
  margin: 8px 0 0;
  font-size: 16px;
}
.lls-otp-forgot a {
  color: #1a1a1a;
  text-decoration: underline;
}
.lls-otp-forgot a:hover { color: var(--c-primary); }
.lls-coming-soon-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding: 80px 28px;
  text-align: center;
  background: #fdf6f9;
}
.lls-coming-soon-inner { max-width: 520px; }
.lls-coming-soon-eyebrow {
  font-family: var(--font-head);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--c-primary);
  margin-bottom: 16px;
}
.lls-coming-soon-title {
  font-family: var(--font-head);
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 900;
  color: var(--c-dark);
  line-height: 1.05;
  margin-bottom: 20px;
}
.lls-coming-soon-sub {
  font-size: 17px;
  color: rgba(26,26,26,.6);
  line-height: 1.7;
  margin-bottom: 32px;
}
.lls-login-tabs {
  display: flex;
  gap: 0;
  margin: 20px 0 24px;
  border-bottom: 2px solid #e8e8e8;
}
.lls-login-tab {
  flex: 1;
  background: none;
  border: none;
  padding: 12px 0;
  font-family: var(--font-head);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(26,26,26,.4);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color .15s, border-color .15s;
}
.lls-login-tab.active {
  color: var(--c-primary);
  border-bottom-color: var(--c-primary);
}
.lls-login-tab:hover:not(.active) { color: rgba(26,26,26,.7); }
.lls-social-btns {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 8px;
}
.lls-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 12px 20px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  border: none;
  transition: opacity .2s;
}
.lls-social-btn:hover { opacity: .88; }
.lls-social-google {
  background: #fff;
  color: #3c4043;
  border: 1px solid #dadce0;
}
.lls-social-facebook {
  background: #1877f2;
  color: #fff;
}
.lls-otp-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 20px 0;
  color: rgba(26,26,26,.4);
  font-size: 18px;
}
.lls-otp-divider::before,
.lls-otp-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e8e8e8;
}


/* ── My Account Pages ────────────────────────────────────────────────────────── */

/* Nav */
.lls-account-nav { border-bottom: 1px solid #e8e8e8; margin-bottom: 2.5rem; }
.lls-account-nav ul { display: flex; flex-wrap: wrap; list-style: none; margin: 0; padding: 0; gap: 0; }
.lls-account-nav li a {
  display: block; padding: .9rem 1.25rem;
  font-family: var(--font-head); font-size: .85rem; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; color: #666;
  text-decoration: none; border-bottom: 2px solid transparent;
  transition: color .15s, border-color .15s;
}
.lls-account-nav li.is-active a,
.lls-account-nav li a:hover { color: var(--c-primary); border-bottom-color: var(--c-primary); }

/* Shared */
.lls-account-btn {
  display: inline-block; padding: .7rem 1.6rem;
  background: var(--c-primary); color: #fff; border: none; border-radius: 6px;
  font-family: var(--font-head); font-size: .85rem; font-weight: 800;
  letter-spacing: .07em; text-transform: uppercase; text-decoration: none;
  cursor: pointer; transition: background .15s;
}
.lls-account-btn:hover { background: var(--c-primary-dark); color: #fff; }
.lls-account-btn.lls-btn-sm { padding: .5rem 1rem; font-size: .78rem; }

/* ── Dashboard ── */
.lls-dash-hero { margin-bottom: 2rem; }
.lls-dash-welcome { font-family: var(--font-head); font-size: 2rem; font-weight: 800; margin: 0 0 .25rem; }
.lls-dash-sub { color: #888; font-size: .9rem; margin: 0; }

.lls-dash-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-bottom: 2rem; }
.lls-dash-stat {
  background: #faf5f9; border-radius: 0; padding: 1.25rem 1rem;
  text-align: center; border: 1px solid #f0e0ec;
}
.lls-stat-num { display: block; font-size: 1.8rem; font-weight: 800; color: var(--c-primary); line-height: 1; margin-bottom: .25rem; }
.lls-stat-label { font-size: .95rem; font-weight: 700; color: #888; text-transform: uppercase; letter-spacing: .07em; }

.lls-dash-actions { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-bottom: 2.5rem; }
.lls-dash-card {
  display: flex; flex-direction: column; gap: .3rem;
  background: #fff; border: 1px solid #e8e8e8; border-radius: 0;
  padding: 1.25rem 1.25rem 1.25rem; text-decoration: none;
  transition: border-color .15s, box-shadow .15s;
}
.lls-dash-card:hover { border-color: var(--c-primary); box-shadow: 0 2px 12px rgba(168,40,122,.1); }
.lls-dash-card-icon { font-size: 1.6rem; line-height: 1; }
.lls-dash-card-title { font-family: var(--font-head); font-size: .95rem; font-weight: 800; color: var(--c-dark); }
.lls-dash-card-desc { font-size: .82rem; color: #999; }

.lls-dash-section-title { font-family: var(--font-head); font-size: 1.1rem; font-weight: 800; margin: 0 0 1rem; }
.lls-orders-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.lls-orders-table th { text-align: left; padding: .5rem .75rem; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #999; border-bottom: 1px solid #eee; }
.lls-orders-table td { padding: .75rem; border-bottom: 1px solid #f0f0f0; color: #333; }
.lls-order-status { display: inline-block; padding: .2rem .6rem; border-radius: 20px; font-size: .75rem; font-weight: 700; text-transform: capitalize; }
.lls-status-completed { background: #e8f5e9; color: #2e7d32; }
.lls-status-processing { background: #e3f2fd; color: #1565c0; }
.lls-status-on-hold { background: #fff8e1; color: #f57f17; }
.lls-btn-small { font-size: .78rem; color: var(--c-primary); font-weight: 700; text-decoration: underline; }
.lls-dash-view-all { display: inline-block; margin-top: .75rem; font-size: .85rem; color: var(--c-primary); font-weight: 700; text-decoration: none; }
.lls-dash-view-all:hover { text-decoration: underline; }

/* ── Membership Benefits ── */
.lls-benefits-hero { text-align: center; padding: 2rem 1rem 1.5rem; }
.lls-benefits-hero-badge {
  display: inline-block; background: var(--c-primary); color: #fff;
  font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
  padding: .3rem .9rem; border-radius: 20px; margin-bottom: 1rem;
}
.lls-benefits-heading { font-family: var(--font-head); font-size: 2rem; font-weight: 800; margin: 0 0 .5rem; }
.lls-benefits-sub { color: #666; max-width: 480px; margin: 0 auto 2rem; line-height: 1.6; }
.lls-benefits-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; margin-bottom: 2.5rem; }
.lls-benefit-card {
  background: #faf5f9; border: 1px solid #f0e0ec; border-radius: 0;
  padding: 1.5rem 1.25rem;
}
.lls-benefit-icon { font-size: 2rem; margin-bottom: .6rem; }
.lls-benefit-title { font-family: var(--font-head); font-size: .95rem; font-weight: 800; margin: 0 0 .4rem; color: var(--c-dark); }
.lls-benefit-desc { font-size: .85rem; color: #666; line-height: 1.5; margin: 0; }
.lls-benefits-cta { text-align: center; padding: 1rem 0 2rem; }

/* ── Saved Items ── */
.lls-saved-header { display: flex; align-items: baseline; gap: .75rem; margin-bottom: 2rem; }
.lls-saved-heading { font-family: var(--font-head); font-size: 2rem; font-weight: 800; margin: 0; }
.lls-saved-count { font-size: .85rem; color: #999; }
.lls-saved-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1.5rem; }
.lls-saved-item { background: #fff; border: 1px solid #eee; border-radius: 0; overflow: hidden; transition: box-shadow .15s; }
.lls-saved-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.lls-saved-img img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.lls-saved-info { padding: .9rem; }
.lls-saved-name { display: block; font-weight: 700; font-size: .9rem; color: var(--c-dark); text-decoration: none; margin-bottom: .3rem; }
.lls-saved-name:hover { color: var(--c-primary); }
.lls-saved-price { font-size: .88rem; color: #666; margin-bottom: .75rem; }
.lls-saved-actions { display: flex; align-items: center; gap: .6rem; }
.lls-saved-remove {
  background: none; border: 1px solid #ddd; border-radius: 50%;
  width: 30px; height: 30px; font-size: .7rem; cursor: pointer; color: #999;
  transition: border-color .15s, color .15s; flex-shrink: 0;
}
.lls-saved-remove:hover { border-color: #c0392b; color: #c0392b; }
.lls-saved-empty { text-align: center; padding: 4rem 1rem; }
.lls-saved-empty-icon { font-size: 3rem; margin: 0 0 1rem; }
.lls-saved-empty h2 { font-family: var(--font-head); font-size: 1.3rem; margin: 0 0 .5rem; }
.lls-saved-empty p { color: #888; margin: 0 0 1.5rem; }

@media (max-width: 600px) {
  .lls-account-nav li a { padding: .7rem .75rem; font-size: .78rem; }
  .lls-dash-stats { grid-template-columns: repeat(3,1fr); gap: .5rem; }
  .lls-dash-actions { grid-template-columns: 1fr 1fr; }
  .lls-dash-welcome { font-size: 1.5rem; }
}


/* ── Profile Page ────────────────────────────────────────────────────────────── */
.lls-profile-page { max-width: 900px; }
.lls-profile-heading { font-family: var(--font-head); font-size: 2rem; font-weight: 800; margin: 0 0 1.75rem; }

.lls-profile-top { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-bottom: 2.5rem; }

.lls-profile-card {
  background: #fff; border: 1px solid #e8e8e8; border-radius: 0; padding: 1.75rem;
}
.lls-profile-card-title { font-family: var(--font-head); font-size: 1.05rem; font-weight: 800; margin: 0 0 1.25rem; color: var(--c-dark); }

/* Read rows */
.lls-profile-row { padding: .6rem 0; }
.lls-profile-divider { border: none; border-top: 1px solid #f0f0f0; margin: 0; }
.lls-profile-read { display: flex; align-items: center; gap: .75rem; padding: .6rem 0; }
.lls-profile-label { font-family: var(--font-head); font-size: .88rem; font-weight: 800; color: var(--c-dark); min-width: 70px; }
.lls-profile-value { flex: 1; font-size: .9rem; color: #555; }
.lls-profile-edit-btn {
  background: none; border: none; padding: 0;
  font-size: .82rem; font-weight: 700; color: var(--c-primary);
  text-decoration: underline; cursor: pointer; flex-shrink: 0;
}
.lls-profile-edit-btn:hover { color: var(--c-primary-dark); }

/* Inline edit form */
.lls-profile-form { padding: .75rem 0 .5rem; }
.lls-profile-form input {
  width: 100%; padding: .7rem .9rem; border: 2px solid var(--c-primary);
  border-radius: 0; font-size: .95rem; box-sizing: border-box;
  font-family: var(--font-body); outline: none; margin-bottom: .6rem;
}
.lls-profile-form-actions { display: flex; align-items: center; gap: .75rem; }
.lls-profile-cancel-btn {
  background: none; border: none; padding: 0;
  font-size: .85rem; color: #888; cursor: pointer; text-decoration: underline;
}
.lls-profile-cancel-btn:hover { color: var(--c-dark); }
.lls-profile-form-error { color: #c0392b; font-size: .82rem; min-height: 1rem; margin: .35rem 0 0; }

/* Login method card */
.lls-profile-login-desc { font-size: .9rem; color: #555; line-height: 1.6; margin: 0 0 1.25rem; }
.lls-profile-login-badge {
  display: flex; align-items: center; gap: .85rem;
  background: #faf5f9; border: 1px solid #f0e0ec; border-radius: 0; padding: 1rem 1.1rem;
}
.lls-profile-login-icon { font-size: 1.6rem; line-height: 1; flex-shrink: 0; }
.lls-profile-login-label { display: block; font-weight: 800; font-size: .9rem; color: var(--c-dark); }
.lls-profile-login-sub { display: block; font-size: .8rem; color: #888; margin-top: .15rem; }

/* Checkout preferences */
.lls-prefs-heading { font-family: var(--font-head); font-size: 1.3rem; font-weight: 800; margin: 0 0 1.1rem; }
.lls-prefs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.lls-pref-card {
  display: block; background: #fff; border: 1px solid #e8e8e8; border-radius: 0;
  padding: 1.5rem; text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.lls-pref-card:hover { border-color: var(--c-primary); box-shadow: 0 2px 12px rgba(168,40,122,.08); }
.lls-pref-title { font-family: var(--font-head); font-size: .95rem; font-weight: 800; margin: 0 0 .4rem; color: var(--c-dark); }
.lls-pref-desc { font-size: .85rem; color: #888; margin: 0 0 .9rem; line-height: 1.5; }
.lls-pref-link { font-size: .85rem; font-weight: 700; color: var(--c-primary); }

@media (max-width: 640px) {
  .lls-profile-top, .lls-prefs-grid { grid-template-columns: 1fr; }
}


/* ── Credits Widget ──────────────────────────────────────────────────────────── */
.lls-credits-widget {
  background: #fce8f5;
  border: 1px solid #e8a0d0;
  border-radius: 0; padding: 1.75rem 2rem 1.5rem;
  margin-bottom: 2rem; color: var(--c-dark);
}
.lls-credits-widget--benefits {
  margin-bottom: 2.5rem;
}
.lls-credits-top {
  display: flex; align-items: flex-end; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem; margin-bottom: 1.1rem;
}
.lls-credits-label {
  display: block; font-size: 1rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: #0f0e0d; margin-bottom: .2rem;
}
.lls-credits-num {
  font-family: var(--font-head); font-size: 2.8rem; font-weight: 800; line-height: 1; color: #6b1244;
}
.lls-credits-goal-label {
  font-size: 0.85rem; color: #5a0e3a; margin-left: .3rem;
}
.lls-credits-needed {
  display: inline-block; background: rgba(203,53,146,.15); border-radius: 20px;
  padding: .4rem 1rem; font-size: 0.85rem; font-weight: 800 !important; color: #6b1244; white-space: nowrap;
}
.lls-credits-needed-block { text-align: right; }
.lls-credits-needed-sub { display: block; font-size: .78rem; color: #9a3070; margin-top: .25rem; }
.lls-credits-ready {
  background: rgba(203,53,146,.15); border-radius: 20px;
  padding: .4rem 1rem; font-size: .85rem; font-weight: 700; color: #6b1244;
}
.lls-credits-ready a { color: #6b1244; text-decoration: underline; }

/* Progress bar */
.lls-credits-bar-track {
  background: rgba(203,53,146,.2); border-radius: 99px;
  height: 10px; overflow: hidden; margin-bottom: .85rem;
}
.lls-credits-bar-fill {
  height: 100%; background: #cb3592; border-radius: 99px;
  transition: width .6s ease; min-width: 6px;
}
.lls-credits-hint {
  font-size: 1rem; font-weight: 700; color: #5a0e3a; margin: 0;
}

.lls-credits-hint-sub {
  font-size: 0.85rem; font-weight: 400;
}


/* ── Account Log Out button ──────────────────────────────────────────────────── */
.lls-account-logout {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e8e8e8;
  display: flex;
  justify-content: flex-end;
}
.lls-logout-btn {
  display: inline-block;
  padding: .65rem 1.75rem;
  border: 2px solid #ccc;
  border-radius: 6px;
  background: transparent;
  color: #888;
  font-family: var(--font-head);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  text-decoration: none;
  transition: border-color .15s, color .15s;
}
.lls-logout-btn:hover {
  border-color: #c0392b;
  color: #c0392b;
}

/* ─────────────────────────────────────────────────────────
   CHECKOUT — Payment loading skeleton
───────────────────────────────────────────────────────── */
@keyframes lls-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.lls-payment-skeleton {
  height: 100px;
  border-radius: 8px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: lls-shimmer 1.4s infinite linear;
  margin-bottom: 12px;
}


/* ─────────────────────────────────────────────────────────
   CLASSIC CHECKOUT — Payment Methods (accordion rows)
───────────────────────────────────────────────────────── */
.lls-payment-wrap { margin-top: 0; }

.lls-payment-heading {
  font-family: var(--font-head);
  font-size: 1.45rem;
  font-weight: 900;
  letter-spacing: -.03em;
  color: var(--c-dark);
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--c-gray-light);
}

.lls-payment-tabs {
  list-style: none;
  margin: 0;
  padding: 0;
}

.lls-payment-tabs .wc_payment_method {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  margin-bottom: 10px;
  background: #fff;
  overflow: hidden;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.lls-payment-tabs .wc_payment_method.selected {
  border-color: var(--c-primary);
  box-shadow: 0 0 0 1px var(--c-primary);
}

.lls-payment-tabs .wc_payment_method input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.lls-payment-tabs .wc_payment_method > label {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.95rem;
  color: #1a1a1a;
  background: #fff;
  user-select: none;
}

.lls-payment-tabs .wc_payment_method > label::after {
  content: '+';
  margin-left: auto;
  font-size: 1.6rem;
  font-weight: 300;
  color: #999;
  line-height: 1;
  flex-shrink: 0;
  padding-left: 12px;
}

.lls-payment-tabs .wc_payment_method input[type="radio"]:checked + label::after,
.lls-payment-tabs .wc_payment_method.selected > label::after {
  content: '\2212';
}

.lls-payment-tabs .wc_payment_method > label img {
  height: 24px;
  width: auto;
  flex-shrink: 0;
}

.lls-payment-tabs .payment_box {
  padding: 4px 20px 20px;
  background: #fff;
  border-top: 1px solid #f0f0f0;
}

/* ─────────────────────────────────────────────────────────
   CLASSIC CHECKOUT — Express Checkout box (Apple Pay / Google Pay / Link)
───────────────────────────────────────────────────────── */
.lls-ece-box {
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  padding: 16px 20px 20px;
  background: #fff;
  margin-bottom: 0;
}
.lls-ece-box-title {
  font-family: var(--font-head);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: #aaa;
  margin: 0 0 12px;
  text-align: center;
}
/* Strip Stripe's inline margin from ECE element when inside our box */
.lls-ece-box #wc-stripe-express-checkout-element {
  margin: 0 !important;
  clear: none !important;
}
/* Kill Stripe's own "— OR —" separator (we render our own below) */
#wc-stripe-express-checkout-button-separator {
  display: none !important;
}

/* ─────────────────────────────────────────────────────────
   CLASSIC CHECKOUT — "Or" divider between ECE and payment list
───────────────────────────────────────────────────────── */
.lls-ece-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  font-size: 0.8rem;
  color: #aaa;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.lls-ece-divider::before,
.lls-ece-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e0e0e0;
}
.lls-ece-divider span {
  flex-shrink: 0;
}

/* ─────────────────────────────────────────────────────────
   CLASSIC CHECKOUT — Review Order product thumbnails
───────────────────────────────────────────────────────── */
.lls-review-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.lls-review-thumb {
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: 6px;
  flex-shrink: 0;
  border: 1px solid #f0f0f0;
}

.lls-review-item-info { flex: 1; min-width: 0; }

.wc-block-components-express-payment-continue-rule { display: none !important; }
