/* ============================================
   Bulk Big Basket — Shared Stylesheet
   ============================================ */

:root {
  --bg: #FDFBF7;
  --bg2: #F4F1EA;
  --bg3: #EAE6DC;
  --pearl: #1a1a1a;
  --pearl2: #2a2a2a;
  --pearl3: rgba(26, 26, 26, .7);
  --violet: #6C3FDB;
  --violet2: #5730C4;
  --violet3: rgba(108, 63, 219, .1);
  --amber: #D4891A;
  --amber2: #B87317;
  --amber3: rgba(212, 137, 26, .1);
  --coral: #D94040;
  --coral2: #B83838;
  --coral3: rgba(217, 64, 64, .1);
  --mint: #2BA476;
  --line: rgba(26, 26, 26, .1);
  --line2: rgba(26, 26, 26, .05);
  --muted: rgba(26, 26, 26, .5);
  --muted2: rgba(26, 26, 26, .3);
  --shadow: 0 8px 32px rgba(0, 0, 0, .08);
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, .12);
}

* { box-sizing: border-box; margin: 0; padding: 0 }
html { scroll-behavior: smooth }
body {
  background: var(--bg);
  color: var(--pearl);
  font-family: 'DM Sans', sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  padding-top: 70px;
}
body::-webkit-scrollbar { width: 5px }
body::-webkit-scrollbar-track { background: var(--bg2) }
body::-webkit-scrollbar-thumb { background: var(--violet); border-radius: 99px }
::selection { background: var(--violet); color: #fff }

button { font-family: inherit; cursor: pointer; border: none; background: none }
input, textarea, select { font-family: inherit }
a { color: inherit; text-decoration: none }

#scrollBar {
  position: fixed; top: 0; left: 0; height: 2px; width: 0;
  background: linear-gradient(90deg, var(--violet), var(--amber), var(--coral));
  z-index: 9999; transition: width .1s linear;
}

.toast-lm {
  position: fixed; bottom: 100px; right: 24px;
  background: var(--pearl); color: var(--bg);
  border: 1px solid var(--line); padding: 12px 20px;
  font-size: 12.5px; font-weight: 500; letter-spacing: .3px;
  z-index: 9800; transform: translateY(20px); opacity: 0;
  transition: all .35s cubic-bezier(.2, .8, .2, 1); max-width: 280px;
  backdrop-filter: blur(20px); box-shadow: var(--shadow);
}
.toast-lm::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--amber) }
.toast-lm.show { transform: translateY(0); opacity: 1 }

/* ===== NAV ===== */
.nav-lm {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  padding: 0 40px; height: 70px; display: flex;
  align-items: center; justify-content: space-between;
  transition: all .4s; background: transparent;
}
.nav-lm.scrolled {
  background: rgba(253, 251, 247, .9);
  backdrop-filter: blur(20px); border-bottom: 1px solid var(--line);
}
.nav-logo-lm {
  font-family: 'Playfair Display', serif; font-size: 24px;
  font-weight: 400; font-style: italic; color: var(--pearl); letter-spacing: 1px;
}
.nav-logo-lm em { color: var(--violet); font-style: italic }
.nav-center-lm { display: flex; align-items: center; gap: 8px }
.nav-link-lm {
  font-size: 14px; font-weight: 500; color: var(--pearl3);
  padding: 8px 16px; transition: color .2s; cursor: pointer;
}
.nav-link-lm:hover, .nav-link-lm.active { color: var(--violet) }
.nav-acts-lm { display: flex; align-items: center; gap: 8px }
.nav-act-btn {
  width: 40px; height: 40px; border: 1px solid var(--line);
  background: var(--bg2); display: flex; align-items: center;
  justify-content: center; font-size: 14px; color: var(--muted);
  transition: all .3s; position: relative; border-radius: 4px;
}
.nav-act-btn:hover { border-color: var(--violet); color: var(--violet); background: var(--violet3) }
.nab-badge {
  position: absolute; top: -5px; right: -5px; width: 16px; height: 16px;
  border-radius: 50%; background: var(--violet); color: #fff;
  font-size: 8px; font-weight: 700; display: flex; align-items: center;
  justify-content: center; border: 2px solid var(--bg);
}
.bell-dot {
  position: absolute; top: -2px; right: -2px; width: 12px; height: 12px;
  border-radius: 50%; background: var(--coral); border: 2px solid var(--bg);
}

/* ===== HERO ===== */
.hero-lm {
  position: relative; min-height: 90vh; display: flex;
  align-items: center; justify-content: center; overflow: hidden;
}
.hero-orbs { position: absolute; inset: 0; pointer-events: none }
.orb { position: absolute; border-radius: 50%; filter: blur(80px); animation: orbFloat ease-in-out infinite }
.orb1 { width: 500px; height: 500px; background: radial-gradient(circle, rgba(108,63,219,.15), transparent 70%); top: -100px; left: -100px; animation-duration: 18s }
.orb2 { width: 400px; height: 400px; background: radial-gradient(circle, rgba(212,137,26,.15), transparent 70%); bottom: -80px; right: -80px; animation-duration: 22s; animation-delay: -6s }
.orb3 { width: 350px; height: 350px; background: radial-gradient(circle, rgba(217,64,64,.1), transparent 70%); top: 40%; left: 60%; animation-duration: 15s; animation-delay: -4s }
@keyframes orbFloat {
  0%, 100% { transform: translate(0, 0) scale(1) }
  33% { transform: translate(40px, -30px) scale(1.05) }
  66% { transform: translate(-30px, 20px) scale(.95) }
}
.hero-content { position: relative; z-index: 2; text-align: center; padding: 100px 40px 60px; max-width: 900px; margin: 0 auto }
.hero-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: 5px; text-transform: uppercase; color: var(--violet); margin-bottom: 24px; display: flex; align-items: center; justify-content: center; gap: 16px }
.hero-eyebrow::before, .hero-eyebrow::after { content: ''; width: 40px; height: 1px; background: var(--violet); opacity: .6 }
.hero-h1 { font-family: 'Playfair Display', serif; font-size: clamp(48px, 8vw, 100px); font-weight: 400; line-height: .95; letter-spacing: -3px; margin-bottom: 28px }
.hero-h1 .line1 { display: block; color: var(--pearl); font-style: italic }
.hero-h1 .line2 { display: block; -webkit-text-stroke: 1px var(--pearl); color: transparent; letter-spacing: -2px }
.hero-h1 .line3 { display: block; color: var(--amber); font-style: italic; font-size: .7em }
.hero-deck { font-size: 16px; font-weight: 300; color: var(--muted); line-height: 1.8; max-width: 520px; margin: 0 auto 40px; letter-spacing: .3px }
.hero-cta-row { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 60px }
.hero-stats-row { display: flex; gap: 0; justify-content: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line) }
.hs-item { padding: 20px 36px; border-right: 1px solid var(--line); text-align: center }
.hs-item:last-child { border-right: none }
.hs-num { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 400; font-style: italic; color: var(--amber) }
.hs-label { font-size: 10px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted2); margin-top: 4px }

/* ===== BUTTONS ===== */
.btn-lm {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 30px; font-size: 12.5px; font-weight: 600;
  letter-spacing: 1.5px; text-transform: uppercase;
  transition: all .3s; cursor: pointer; font-family: 'DM Sans', sans-serif; border-radius: 4px;
}
.btn-lm.violet { background: var(--violet); color: #fff; border: 1px solid var(--violet) }
.btn-lm.violet:hover { background: var(--violet2); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(108,63,219,.25) }
.btn-lm.outline { background: transparent; border: 1px solid var(--line); color: var(--pearl) }
.btn-lm.outline:hover { border-color: var(--pearl); background: var(--bg2) }
.btn-lm.amber { background: var(--amber); color: #fff; border: 1px solid var(--amber) }
.btn-lm.amber:hover { background: var(--amber2); transform: translateY(-2px); box-shadow: 0 8px 24px rgba(212,137,26,.25) }
.btn-lm.coral { background: var(--coral); color: #fff; border: 1px solid var(--coral) }
.btn-lm.coral:hover { background: var(--coral2); transform: translateY(-2px) }
.btn-lm.ghost { background: var(--bg2); border: 1px solid var(--line); color: var(--pearl) }
.btn-lm.ghost:hover { background: var(--bg3); border-color: var(--muted2) }
.btn-lm.full { width: 100%; justify-content: center }
.btn-lm:disabled { opacity: .5; cursor: not-allowed }

/* ===== SHOP / CATEGORIES / PRODUCTS ===== */
.shop-wrap { padding: 80px 40px 0 }
.sec-header-lm { margin-bottom: 40px; text-align: center }
.sec-tag-lm { font-size: 10px; font-weight: 600; letter-spacing: 4px; text-transform: uppercase; color: var(--violet); margin-bottom: 12px; display: flex; align-items: center; gap: 12px; justify-content: center }
.sec-tag-lm::before { content: ''; width: 20px; height: 1px; background: var(--violet) }
.sec-h2-lm { font-family: 'Playfair Display', serif; font-size: clamp(28px, 4vw, 48px); font-weight: 400; font-style: italic; color: var(--pearl); line-height: 1; letter-spacing: -1.5px }
.sec-h2-lm em { color: var(--amber) }

.cat-grid-lm { display: grid; grid-template-columns: repeat(12, 1fr); gap: 24px; margin-bottom: 80px }
.cat-card-lm { background: var(--bg2); border: 1px solid var(--line); padding: 32px 24px; text-align: center; transition: all .35s cubic-bezier(.2,.8,.2,1); cursor: pointer; grid-column: span 4; border-radius: 8px }
.cat-card-lm:nth-child(n+4) { grid-column: span 3 }
.cat-card-lm:hover { background: #fff; transform: translateY(-6px); box-shadow: var(--shadow); border-color: var(--violet) }
.cat-emoji { font-size: 40px; display: block; margin-bottom: 14px }
.cat-name { font-family: 'Playfair Display', serif; font-size: 20px; font-style: italic; margin-bottom: 6px; color: var(--pearl) }
.cat-count { font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--muted) }

.prod-grid-lm { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; align-items: start }
.prod-grid-lm .pcard-lm:nth-child(4n+1) { margin-top: 0 }
.prod-grid-lm .pcard-lm:nth-child(4n+2) { margin-top: 50px }
.prod-grid-lm .pcard-lm:nth-child(4n+3) { margin-top: 0 }
.prod-grid-lm .pcard-lm:nth-child(4n+4) { margin-top: 50px }

.pcard-lm { position: relative; background: #fff; border: 1px solid var(--line); overflow: hidden; cursor: pointer; transition: all .35s cubic-bezier(.2,.8,.2,1); display: flex; flex-direction: column; border-radius: 8px }
.pcard-lm:hover { border-color: var(--violet); box-shadow: var(--shadow) }
.pcl-img { width: 180px; height: 180px; border-radius: 50%; overflow: hidden; margin: 24px auto 0; background: var(--bg3); display: flex; align-items: center; justify-content: center; transition: all .4s cubic-bezier(.2,.8,.2,1); position: relative; border: 1px solid var(--line) }
.pcard-lm:hover .pcl-img { width: 100%; height: 240px; margin-top: 0; border-bottom: 1px solid var(--line); border-radius: 0 }
.pcl-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s ease; padding: 10px }
.pcard-lm:hover .pcl-img img { transform: scale(1.05); padding: 20px }

.pcl-badge { position: absolute; top: 12px; left: 12px; font-size: 9px; font-weight: 700; padding: 3px 10px; letter-spacing: 1.5px; text-transform: uppercase; z-index: 2; border-radius: 4px }
.pcl-badge.new { background: rgba(43,164,118,.15); color: var(--mint); border: 1px solid rgba(43,164,118,.3) }
.pcl-badge.hot { background: rgba(217,64,64,.1); color: var(--coral); border: 1px solid rgba(217,64,64,.3) }
.pcl-badge.sale { background: rgba(212,137,26,.15); color: var(--amber); border: 1px solid rgba(212,137,26,.3) }

.pcl-heart { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border: 1px solid var(--line); background: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--muted); transition: all .25s; z-index: 2; border-radius: 50% }
.pcl-heart:hover { border-color: var(--coral); color: var(--coral); background: var(--coral3) }
.pcl-heart.liked { border-color: var(--coral); color: #fff; background: var(--coral); box-shadow: 0 4px 12px rgba(217,64,64,.3) }
.pcl-heart.liked i { animation: heartBeat .35s ease }
@keyframes heartBeat { 0% { transform: scale(1) } 50% { transform: scale(1.3) } 100% { transform: scale(1) } }

.pcl-body { padding: 20px 18px; flex: 1; display: flex; flex-direction: column; opacity: 1 }
.pcl-cat { font-size: 9.5px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--violet); margin-bottom: 6px; opacity: .8 }
.pcl-name { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 400; font-style: italic; color: var(--pearl); line-height: 1.3; margin-bottom: 10px; flex: 1 }
.pcl-rating { font-size: 10.5px; color: var(--muted2); display: flex; align-items: center; gap: 5px; margin-bottom: 14px }
.pcl-stars { color: var(--amber); letter-spacing: 1px; font-size: 10px }
.pcl-price-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 14px; flex-wrap: wrap }
.pcl-price { font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 500; color: var(--pearl); letter-spacing: -1px }
.pcl-mrp { font-size: 12px; color: var(--muted2); text-decoration: line-through }
.pcl-off { font-size: 9.5px; font-weight: 700; background: var(--amber3); border: 1px solid rgba(212,137,26,.3); color: var(--amber); padding: 2px 8px; letter-spacing: 1px; border-radius: 4px }
.pcl-actions { display: flex; gap: 8px; margin-top: auto }
.pcl-add-btn { flex: 1; background: var(--violet); color: #fff; border: 1px solid var(--violet); padding: 10px 14px; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; transition: all .25s; font-family: 'DM Sans', sans-serif; border-radius: 4px }
.pcl-add-btn:hover { background: var(--violet2); transform: translateY(-1px) }
.pcl-add-btn.done { background: var(--mint); border-color: var(--mint); color: #fff }
.pcl-qv-btn { width: 40px; background: var(--bg2); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--muted); transition: all .25s; border-radius: 4px }
.pcl-qv-btn:hover { border-color: var(--violet); color: var(--violet); background: var(--violet3) }

/* ===== FLASH DEALS ===== */
.flash-sec-lm { padding: 80px 40px; background: var(--bg2); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line) }
.flash-top-lm { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 40px; flex-wrap: wrap; gap: 20px }
.flash-top-lm .sec-header-lm { margin-bottom: 0; text-align: left }
.flash-top-lm .sec-tag-lm { justify-content: flex-start }
.flash-clock-lm { display: flex; align-items: center; gap: 8px }
.ck-lm { background: #fff; border: 1px solid var(--line); padding: 10px 14px; min-width: 58px; text-align: center; border-radius: 4px }
.ck-lm span { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 400; display: block; color: var(--amber); line-height: 1 }
.ck-lm label { font-size: 8.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted2); margin-top: 2px; display: block }
.ck-sep-lm { font-family: 'Playfair Display', serif; font-size: 22px; color: var(--muted2); align-self: flex-start; margin-top: 8px }
.flash-grid-lm { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px }
.fcard-lm { background: #fff; border: 1px solid var(--line); padding: 24px 20px; transition: all .35s; position: relative; overflow: hidden; border-radius: 8px }
.fcard-lm::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 0%, var(--amber3), transparent 60%); opacity: 0; transition: opacity .35s }
.fcard-lm:hover { border-color: rgba(212,137,26,.4); transform: translateY(-4px); box-shadow: var(--shadow) }
.fcard-lm:hover::before { opacity: 1 }
.fl-emoji { width: 60px; height: 60px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; background: var(--bg2); border-radius: 8px }
.fl-emoji img { max-width: 100%; max-height: 100%; object-fit: contain }
.fl-name { font-family: 'Playfair Display', serif; font-size: 16px; font-style: italic; color: var(--pearl); margin-bottom: 12px; line-height: 1.35; min-height: 44px }
.fl-prices { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 14px }
.fl-now { font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 500; color: var(--amber); letter-spacing: -1px }
.fl-was { font-size: 12px; color: var(--muted2); text-decoration: line-through }
.fl-pct { font-size: 9.5px; font-weight: 700; background: var(--amber3); border: 1px solid rgba(212,137,26,.3); color: var(--amber); padding: 2px 8px; text-transform: uppercase; letter-spacing: .5px; border-radius: 4px }
.fl-btn { width: 100%; background: transparent; border: 1px solid var(--line); color: var(--pearl); padding: 10px; font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; transition: all .25s; font-family: 'DM Sans', sans-serif; border-radius: 4px; cursor: pointer; position: relative; z-index: 2 }
.fl-btn:hover { background: var(--amber); border-color: var(--amber); color: #fff }
.fl-btn.done { background: var(--mint); border-color: var(--mint); color: #fff }

/* ===== ABOUT ===== */
.about-sec-lm { padding: 80px 40px; border-bottom: 1px solid var(--line) }
.about-inner-lm { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: stretch; max-width: 1400px; margin: 0 auto }
.about-left-lm, .about-right-lm { display: flex; flex-direction: column; justify-content: space-between; height: 100% }
.about-tag-lm { font-size: 10px; font-weight: 600; letter-spacing: 4px; text-transform: uppercase; color: var(--violet); margin-bottom: 14px; display: flex; align-items: center; gap: 12px }
.about-tag-lm::before { content: ''; width: 20px; height: 1px; background: var(--violet) }
.about-h2-lm { font-family: 'Playfair Display', serif; font-size: clamp(32px, 4vw, 48px); font-weight: 400; font-style: italic; color: var(--pearl); line-height: 1.05; letter-spacing: -1.5px; margin-bottom: 20px }
.about-h2-lm em { color: var(--amber) }
.about-deck-lm { font-size: 15px; font-weight: 300; color: var(--muted); line-height: 1.8; margin-bottom: 24px; letter-spacing: .3px }
.about-feats-lm { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--line); margin-top: 20px }
.af-lm { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 300; color: var(--muted) }
.af-lm-ico { width: 34px; height: 34px; border: 1px solid var(--line); background: var(--violet3); display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--violet); flex-shrink: 0; border-radius: 4px }
.about-visual-lm { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; flex-grow: 1; margin-bottom: 24px }
.av-tile { background: var(--bg2); border: 1px solid var(--line); padding: 28px; text-align: center; transition: all .35s; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 8px }
.av-tile:hover { border-color: var(--violet); background: #fff; transform: translateY(-3px) }
.av-tile.tall { grid-row: span 2 }
.av-tile-emo { font-size: 36px; display: block; margin-bottom: 10px; transition: transform .35s }
.av-tile.tall .av-tile-emo { font-size: 52px }
.av-tile:hover .av-tile-emo { transform: scale(1.1) }
.av-tile-label { font-size: 10px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted2) }
.about-stats-lm { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); padding-top: 20px; text-align: center }
.asl { border-right: 1px solid var(--line) }
.asl:last-child { border-right: none }
.asl-num { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 400; font-style: italic; color: var(--amber) }
.asl-label { font-size: 9.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted2); margin-top: 4px }

/* ===== WHY US ===== */
.why-sec-lm { padding: 80px 40px; border-bottom: 1px solid var(--line) }
.why-grid-lm { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 40px; max-width: 1000px; margin-left: auto; margin-right: auto }
.wcard-lm { background: #fff; border: 1px solid var(--line); padding: 32px 24px; transition: all .35s; position: relative; overflow: hidden; border-radius: 8px }
.wcard-lm:hover { border-color: var(--violet); transform: translateY(-4px); box-shadow: var(--shadow) }
.wcard-lm::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--violet), var(--amber)); transform: scaleX(0); transition: transform .35s; transform-origin: left }
.wcard-lm:hover::after { transform: scaleX(1) }
.wc-ico { width: 48px; height: 48px; border: 1px solid var(--line); background: var(--violet3); display: flex; align-items: center; justify-content: center; font-size: 18px; color: var(--violet); margin-bottom: 18px; transition: all .35s; border-radius: 8px }
.wcard-lm:hover .wc-ico { background: var(--violet); color: #fff }
.wc-title { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 400; font-style: italic; color: var(--pearl); margin-bottom: 8px }
.wc-desc { font-size: 13.5px; font-weight: 300; color: var(--muted); line-height: 1.65; letter-spacing: .2px }

/* ===== TESTIMONIALS ===== */
.testi-sec-lm { padding: 80px 40px; border-bottom: 1px solid var(--line); background: var(--bg2) }
.testi-grid-lm { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px }
.tcard-lm { background: #fff; border: 1px solid var(--line); padding: 32px; transition: all .35s; position: relative; border-radius: 8px }
.tcard-lm:hover { border-color: var(--amber); transform: translateY(-3px) }
.tcard-lm::before { content: '\201C'; font-family: 'Playfair Display', serif; font-size: 80px; color: var(--amber); position: absolute; top: 12px; right: 20px; opacity: .12; line-height: 1 }
.tcard-stars { font-size: 11px; letter-spacing: 3px; color: var(--amber); margin-bottom: 14px }
.tcard-text { font-size: 14.5px; font-weight: 300; color: var(--muted); line-height: 1.75; margin-bottom: 20px; font-style: italic }
.tcard-bar { width: 20px; height: 2px; background: var(--violet); margin-bottom: 14px }
.tcard-name { font-family: 'Playfair Display', serif; font-size: 14px; font-weight: 400; color: var(--pearl) }
.tcard-role { font-size: 11.5px; color: var(--muted2); margin-top: 3px; font-weight: 300 }

/* ===== FAQ ===== */
.faq-sec-lm { padding: 80px 40px; border-bottom: 1px solid var(--line) }
.faq-header-center { text-align: center; margin-bottom: 40px }
.faq-header-center .sec-tag-lm { justify-content: center }
.faq-inner-lm { max-width: 800px; margin: 0 auto }
.faq-item-lm { border-bottom: 1px solid var(--line) }
.faq-item-lm.open { background: var(--bg2); border-radius: 8px; padding: 0 16px }
.faq-q-lm { width: 100%; padding: 20px 0; display: flex; justify-content: space-between; align-items: center; font-size: 15.5px; font-weight: 400; color: var(--pearl); text-align: left; gap: 12px; transition: all .25s; border: none; background: none; cursor: pointer; font-family: 'Playfair Display', serif; font-style: italic; letter-spacing: -.3px }
.faq-q-lm:hover, .faq-item-lm.open .faq-q-lm { color: var(--violet) }
.faq-ico-lm { font-size: 16px; color: var(--muted2); transition: transform .3s; flex-shrink: 0 }
.faq-item-lm.open .faq-ico-lm { transform: rotate(45deg); color: var(--violet) }
.faq-a-lm { max-height: 0; overflow: hidden; transition: max-height .4s cubic-bezier(.2,.8,.2,1) }
.faq-item-lm.open .faq-a-lm { max-height: 500px }
.faq-a-lm p { font-size: 14px; font-weight: 300; color: var(--muted); line-height: 1.8; padding: 0 0 20px; letter-spacing: .2px }

/* ===== CONTACT ===== */
.contact-sec-lm { padding: 80px 40px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start }
.ci-lm h4 { font-family: 'Playfair Display', serif; font-size: clamp(28px, 4vw, 40px); font-weight: 400; font-style: italic; color: var(--pearl); line-height: 1; margin-bottom: 32px; letter-spacing: -1px }
.ci-lm h4 em { color: var(--amber) }
.ci-row-lm { display: flex; gap: 14px; margin-bottom: 18px; align-items: flex-start }
.cil-ico { width: 36px; height: 36px; border: 1px solid var(--line); background: var(--violet3); display: flex; align-items: center; justify-content: center; font-size: 13px; color: var(--violet); flex-shrink: 0; border-radius: 8px }
.cil-label { font-size: 9px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted2); margin-bottom: 3px }
.cil-val { font-size: 13.5px; color: var(--muted); line-height: 1.5; font-weight: 300 }
.ci-cod-lm { display: flex; align-items: center; gap: 10px; background: var(--amber3); border: 1px solid rgba(212,137,26,.3); padding: 12px 16px; margin-top: 16px; border-radius: 8px }
.ci-cod-lm i { color: var(--amber); font-size: 14px }
.ci-cod-lm span { font-size: 11.5px; font-weight: 500; color: var(--pearl); letter-spacing: .5px }
.cf-lm h4 { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 400; font-style: italic; color: var(--pearl); letter-spacing: -1px; margin-bottom: 6px }
.cf-lm>p { font-size: 13.5px; font-weight: 300; color: var(--muted); margin-bottom: 24px }
.cf-grid-lm { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px }
.cff-lm { display: flex; flex-direction: column; gap: 7px }
.cff-lm.full { grid-column: 1/-1 }
.cff-lm label { font-size: 9px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted2) }
.cff-lm input, .cff-lm textarea { background: var(--bg2); border: 1px solid var(--line); padding: 11px 14px; font-size: 13.5px; color: var(--pearl); outline: none; transition: border-color .25s; font-weight: 300; border-radius: 4px }
.cff-lm input:focus, .cff-lm textarea:focus { border-color: var(--violet) }
.cff-lm textarea { min-height: 80px; resize: vertical }

/* ===== NEWSLETTER ===== */
.nl-sec-lm { padding: 80px 40px; background: var(--bg2); border-bottom: 1px solid var(--line) }
.nl-inner-lm { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center }
.nl-left-lm h3 { font-family: 'Playfair Display', serif; font-size: clamp(32px, 5vw, 48px); font-weight: 400; font-style: italic; color: var(--pearl); letter-spacing: -2px; line-height: 1; margin-bottom: 14px }
.nl-left-lm h3 em { color: var(--amber) }
.nl-left-lm p { font-size: 14.5px; font-weight: 300; color: var(--muted); line-height: 1.75; letter-spacing: .3px }
.nl-btns-lm { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px }
.nl-m-grid-lm { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px }
.nlfl { display: flex; flex-direction: column; gap: 7px }
.nlfl.full { grid-column: 1/-1 }
.nlfl label { font-size: 9px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted2) }
.nlfl input { background: var(--bg2); border: 1px solid var(--line); padding: 9px 12px; font-size: 13.5px; color: var(--pearl); outline: none; transition: border-color .25s; font-weight: 300; border-radius: 4px }
.nlfl input:focus { border-color: var(--violet) }
.nl-chk-lm { display: flex; gap: 10px; align-items: flex-start; margin: 10px 0 16px }
.nl-chk-lm input { width: 14px; height: 14px; accent-color: var(--violet); margin-top: 2px; flex-shrink: 0 }
.nl-chk-lm label { font-size: 12px; font-weight: 300; color: var(--muted); line-height: 1.6 }

/* ===== FOOTER ===== */
.footer-new { background: var(--pearl); color: var(--bg); padding: 0; overflow: hidden }
.footer-editorial { padding: 70px 40px 30px; max-width: 1400px; margin: 0 auto }
.fe-top { text-align: center; margin-bottom: 50px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.1) }
.fe-top .fe-tag { font-size: 10px; font-weight: 600; letter-spacing: 5px; text-transform: uppercase; color: var(--amber); margin-bottom: 16px; display: flex; align-items: center; justify-content: center; gap: 12px }
.fe-top .fe-tag::before, .fe-top .fe-tag::after { content: ''; width: 30px; height: 1px; background: var(--amber); opacity: .5 }
.fe-top h2 { font-family: 'Playfair Display', serif; font-size: clamp(32px, 5vw, 60px); font-weight: 400; font-style: italic; line-height: 1; letter-spacing: -2px; margin-bottom: 14px; color: var(--bg) }
.fe-top h2 em { color: var(--amber) }
.fe-top p { font-size: 14px; font-weight: 300; color: rgba(255,255,255,.45); letter-spacing: .5px; max-width: 480px; margin: 0 auto }
.fe-mid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.1) }
.fe-brand .fe-logo { font-family: 'Playfair Display', serif; font-size: 26px; font-style: italic; margin-bottom: 14px; color: var(--bg) }
.fe-brand .fe-logo em { color: var(--amber) }
.fe-brand p { font-size: 13px; font-weight: 300; color: rgba(255,255,255,.35); line-height: 1.75; max-width: 300px; margin-bottom: 18px }
.fe-cod-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(212,137,26,.12); border: 1px solid rgba(212,137,26,.35); padding: 8px 14px; border-radius: 4px }
.fe-cod-badge i { color: var(--amber); font-size: 12px }
.fe-cod-badge span { font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--amber) }
.fe-nav-col h6 { font-size: 9.5px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--amber); margin-bottom: 16px; opacity: .85 }
.fe-nav-col a { display: block; font-size: 13px; font-weight: 300; color: rgba(255,255,255,.4); padding: 5px 0; transition: color .2s; cursor: pointer }
.fe-nav-col a:hover { color: var(--bg) }
.fe-trust { display: flex; justify-content: center; gap: 0; margin-bottom: 36px; padding-bottom: 36px; border-bottom: 1px solid rgba(255,255,255,.1); flex-wrap: wrap }
.fe-trust-item { display: flex; align-items: center; gap: 8px; padding: 8px 28px; border-right: 1px solid rgba(255,255,255,.08); font-size: 11.5px; font-weight: 400; color: rgba(255,255,255,.45); letter-spacing: .3px }
.fe-trust-item:last-child { border-right: none }
.fe-trust-item i { color: var(--amber); font-size: 14px }
.fe-contact-row { display: flex; justify-content: center; gap: 40px; margin-bottom: 36px; flex-wrap: wrap }
.fe-contact-item { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 300; color: rgba(255,255,255,.4) }
.fe-contact-item i { color: var(--amber); font-size: 12px }
.fe-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px }
.fe-copy { font-size: 11px; color: rgba(255,255,255,.25); font-weight: 300; letter-spacing: .5px }
.fe-socials { display: flex; gap: 8px }
.fe-socials a { width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; font-size: 14px; color: rgba(255,255,255,.4); transition: all .25s; border-radius: 4px; cursor: pointer }
.fe-socials a:hover { border-color: var(--amber); color: var(--amber); background: rgba(212,137,26,.1) }

/* ===== CART FAB & PANEL ===== */
.cart-fab { position: fixed; bottom: 28px; right: 28px; z-index: 3000; display: flex; flex-direction: column; align-items: flex-end; gap: 12px }
.cart-fab-btn { width: 60px; height: 60px; border-radius: 50%; background: var(--violet); border: 2px solid var(--violet); display: flex; align-items: center; justify-content: center; font-size: 20px; color: #fff; box-shadow: 0 8px 28px rgba(108,63,219,.35); transition: all .3s; position: relative }
.cart-fab-btn:hover { background: var(--violet2); transform: scale(1.08); box-shadow: 0 12px 36px rgba(108,63,219,.45) }
.cfb-badge { position: absolute; top: -5px; right: -5px; width: 20px; height: 20px; border-radius: 50%; background: var(--coral); color: #fff; font-size: 9px; font-weight: 700; display: flex; align-items: center; justify-content: center; border: 2px solid var(--bg); transition: transform .3s cubic-bezier(.2,1.5,.4,1) }
.cfb-badge.bump { animation: badgeBump .35s cubic-bezier(.2,1.5,.4,1) }
@keyframes badgeBump { 0%, 100% { transform: scale(1) } 50% { transform: scale(1.4) } }

.cart-shade-lm { position: fixed; inset: 0; background: rgba(26,26,26,.6); z-index: 3500; display: none; backdrop-filter: blur(8px) }
.cart-shade-lm.on { display: block }
.cart-panel-lm { position: fixed; top: 0; right: 0; bottom: 0; width: 420px; max-width: 100vw; background: var(--bg); z-index: 3600; transform: translateX(100%); transition: transform .45s cubic-bezier(.2,.8,.2,1); display: flex; flex-direction: column; border-left: 1px solid var(--line); box-shadow: -20px 0 60px rgba(0,0,0,.1) }
.cart-panel-lm.open { transform: translateX(0) }
.cpl-head { padding: 22px 24px; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; background: var(--bg2) }
.cpl-title { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 400; font-style: italic; color: var(--pearl) }
.cpl-close { font-size: 11px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); padding: 7px 14px; transition: all .25s; border-radius: 4px }
.cpl-close:hover { border-color: var(--pearl); color: var(--pearl) }
.cpl-items { flex: 1; overflow-y: auto; padding: 12px 0 }
.cpl-items::-webkit-scrollbar { width: 3px }
.cpl-items::-webkit-scrollbar-thumb { background: var(--violet) }
.cpl-empty { padding: 52px 24px; text-align: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 18px; color: var(--muted2) }
.cpl-empty i { font-size: 40px; opacity: .2; display: block; margin-bottom: 16px; color: var(--pearl) }
.cpl-row { display: flex; gap: 14px; padding: 16px 24px; border-bottom: 1px solid var(--line2); align-items: flex-start; transition: background .2s }
.cpl-row:hover { background: var(--bg2) }
.cpl-emo { width: 52px; height: 52px; background: var(--bg2); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 8px; overflow: hidden }
.cpl-emo img { width: 100%; height: 100%; object-fit: contain }
.cpl-info { flex: 1; min-width: 0 }
.cpl-name { font-family: 'Playfair Display', serif; font-size: 14px; font-style: italic; color: var(--pearl); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 2px }
.cpl-price { font-family: 'Playfair Display', serif; font-size: 16px; font-weight: 500; color: var(--amber) }
.cpl-qrow { display: flex; align-items: center; gap: 8px; margin-top: 6px }
.cpl-qbtn { width: 24px; height: 24px; border: 1px solid var(--line); background: none; font-size: 14px; color: var(--pearl); display: flex; align-items: center; justify-content: center; transition: all .2s; cursor: pointer; border-radius: 4px }
.cpl-qbtn:hover { background: var(--violet); border-color: var(--violet); color: #fff }
.cpl-qn { font-size: 13px; font-weight: 600; min-width: 18px; text-align: center; color: var(--pearl) }
.cpl-rm { font-size: 10.5px; color: var(--muted2); margin-left: auto; transition: color .2s; cursor: pointer; letter-spacing: .5px }
.cpl-rm:hover { color: var(--coral) }
.cpl-foot { padding: 20px 24px; border-top: 1px solid var(--line); flex-shrink: 0; background: var(--bg2) }
.cpl-total-row { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px }
.cpl-total-lbl { font-size: 10px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted2) }
.cpl-total-val { font-family: 'Playfair Display', serif; font-size: 26px; font-weight: 500; color: var(--pearl); letter-spacing: -1px }
.cpl-cod-note { font-size: 11px; color: var(--muted2); display: flex; align-items: center; gap: 6px; margin-bottom: 14px; letter-spacing: .3px }
.cpl-cod-note i { color: var(--amber); font-size: 11px }

/* ===== MODALS ===== */
.modal-shade-lm { position: fixed; inset: 0; background: rgba(26,26,26,.7); z-index: 5000; display: none; align-items: center; justify-content: center; padding: 20px; backdrop-filter: blur(16px) }
.modal-shade-lm.on { display: flex }
.modal-box-lm { background: var(--bg); border: 1px solid var(--line); width: 100%; max-width: 580px; max-height: 90vh; overflow-y: auto; transform: scale(.95); opacity: 0; transition: all .4s cubic-bezier(.2,.8,.2,1); box-shadow: var(--shadow-lg); border-top: 2px solid var(--violet); border-radius: 8px }
.modal-shade-lm.on .modal-box-lm { transform: scale(1); opacity: 1 }
.mbl-head { padding: 20px 26px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; background: var(--bg2) }
.mbl-head h3 { font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 400; font-style: italic; color: var(--pearl) }
.mbl-close { font-size: 10.5px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); padding: 6px 12px; transition: all .2s; border-radius: 4px }
.mbl-close:hover { border-color: var(--pearl); color: var(--pearl) }
.mbl-body { padding: 24px 26px 30px }

.m-sum-lm { background: var(--bg2); border: 1px solid var(--line); padding: 16px; margin-bottom: 14px; border-left: 2px solid var(--violet); border-radius: 4px }
.msl-title { font-size: 9px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--muted2); margin-bottom: 10px }
.msl-line { display: flex; justify-content: space-between; font-size: 13.5px; color: var(--muted); margin-bottom: 5px; font-weight: 300 }
.msl-line.total { font-weight: 600; font-size: 15px; color: var(--pearl); border-top: 1px solid var(--line); padding-top: 8px; margin-top: 4px }
.msl-line .free { color: var(--amber); font-weight: 600 }

.m-cod-lm { display: flex; gap: 10px; align-items: center; background: var(--amber3); border: 1px solid rgba(212,137,26,.3); padding: 12px; margin-bottom: 14px; border-radius: 4px }
.m-cod-lm i { color: var(--amber); flex-shrink: 0; font-size: 14px }
.m-cod-lm p { font-size: 13px; color: var(--pearl); line-height: 1.5; font-weight: 300 }
.m-cod-lm strong { font-weight: 600; color: var(--amber) }

.mf-grid-lm { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px }
.mfl { display: flex; flex-direction: column; gap: 7px }
.mfl.full { grid-column: 1/-1 }
.mfl label { font-size: 9px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted2) }
.mfl input, .mfl select { background: var(--bg2); border: 1px solid var(--line); padding: 10px 13px; font-size: 13.5px; color: var(--pearl); outline: none; transition: border-color .25s; font-weight: 300; border-radius: 4px }
.mfl input:focus, .mfl select:focus { border-color: var(--violet) }
.mfl select option { background: var(--bg) }

/* ===== SUCCESS MODAL ===== */
.succ-lm { text-align: center; padding: 20px 0 }
.succ-ring-lm { width: 78px; height: 78px; border-radius: 50%; background: var(--violet3); border: 1px solid var(--violet); margin: 0 auto 22px; display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--violet); animation: ringPop .5s cubic-bezier(.2,1.5,.4,1) }
.succ-ring-lm.coral { background: var(--coral3); border-color: var(--coral); color: var(--coral) }
.succ-ring-lm.amber { background: var(--amber3); border-color: var(--amber); color: var(--amber) }
@keyframes ringPop { 0% { transform: scale(0) } 70% { transform: scale(1.15) } 100% { transform: scale(1) } }
.succ-lm h3 { font-family: 'Playfair Display', serif; font-size: 28px; font-weight: 400; font-style: italic; color: var(--pearl); margin-bottom: 10px }
.succ-lm p { font-size: 14px; font-weight: 300; color: var(--muted); line-height: 1.65; margin-bottom: 6px }
.order-chip-lm { display: inline-block; background: var(--violet3); border: 1px solid var(--violet); color: var(--violet); padding: 8px 20px; font-size: 11px; font-weight: 600; margin: 10px 0 16px; letter-spacing: 3px; text-transform: uppercase; border-radius: 4px }
.del-row-lm { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 12px 0; font-size: 24px }
.del-box-lm { animation: dBounce 2s ease-in-out infinite }
@keyframes dBounce { 0%, 100% { transform: translateX(0) } 50% { transform: translateX(12px) } }
.del-dots-lm { width: 48px; height: 1px; background: repeating-linear-gradient(90deg, var(--violet) 0 5px, transparent 5px 10px) }
.cdown-bar-lm { height: 2px; background: var(--line); overflow: hidden; margin: 12px 0 }
.cdown-fill-lm { height: 100%; background: linear-gradient(90deg, var(--violet), var(--amber)); animation: cDrain 8s linear forwards }
@keyframes cDrain { from { width: 100% } to { width: 0 } }

/* ===== POLICY INLINE ===== */
.gen-intro-lm { font-size: 13px; font-weight: 300; color: var(--muted); margin-bottom: 14px; padding: 12px 16px; background: var(--bg2); border-left: 2px solid var(--violet); line-height: 1.65; font-style: italic; border-radius: 4px }
.pol-item-lm { border-bottom: 1px solid var(--line); padding: 0 10px }
.pol-q-lm { width: 100%; padding: 16px 0; display: flex; justify-content: space-between; align-items: center; font-size: 15px; font-weight: 400; color: var(--pearl); text-align: left; background: none; border: none; cursor: pointer; gap: 10px; transition: color .2s; font-family: 'Playfair Display', serif; font-style: italic }
.pol-q-lm:hover, .pol-item-lm.open .pol-q-lm { color: var(--violet) }
.pol-pm-lm { font-size: 16px; color: var(--muted2); transition: transform .3s; flex-shrink: 0 }
.pol-item-lm.open .pol-pm-lm { transform: rotate(45deg); color: var(--violet) }
.pol-a-lm { max-height: 0; overflow: hidden; transition: max-height .35s cubic-bezier(.2,.8,.2,1) }
.pol-item-lm.open .pol-a-lm { max-height: 500px }
.pol-a-lm p { font-size: 13.5px; font-weight: 300; color: var(--muted); line-height: 1.75; padding: 0 0 16px }

/* ===== QUICK VIEW ===== */
.qv-grid-lm { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-height: 75vh }
.qvl-img-wrap { display: flex; align-items: center; justify-content: center; background: var(--bg2); border: 1px solid var(--line); height: 100%; min-height: 300px; overflow: hidden; border-radius: 8px }
.qvl-img-wrap img { max-width: 100%; max-height: 100%; object-fit: contain; padding: 20px }
.qvl-right { display: flex; flex-direction: column; overflow-y: auto; padding-right: 8px }
.qvl-cat { font-size: 9.5px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--violet); margin-bottom: 5px; opacity: .8 }
.qvl-name { font-family: 'Playfair Display', serif; font-size: 22px; font-weight: 400; font-style: italic; color: var(--pearl); margin-bottom: 8px; line-height: 1.2 }
.qvl-rating { font-size: 12px; color: var(--muted2); margin-bottom: 12px; display: flex; align-items: center; gap: 6px }
.qvl-stars { color: var(--amber); letter-spacing: 1px; font-size: 11px }
.qvl-price-row { display: flex; align-items: baseline; gap: 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 10px 0; margin-bottom: 12px; flex-wrap: wrap }
.qvl-price { font-family: 'Playfair Display', serif; font-size: 32px; font-weight: 500; color: var(--pearl); letter-spacing: -1px }
.qvl-mrp { font-size: 13px; color: var(--muted2); text-decoration: line-through }
.qvl-off { font-size: 9.5px; font-weight: 700; background: var(--amber3); border: 1px solid rgba(212,137,26,.3); color: var(--amber); padding: 2px 9px; text-transform: uppercase; letter-spacing: .5px; border-radius: 4px }
.qvl-desc { font-size: 13.5px; font-weight: 300; color: var(--muted); line-height: 1.75; margin-bottom: 14px; letter-spacing: .2px }
.qvl-stepper { display: flex; align-items: center; border: 1px solid var(--line); background: var(--bg2); border-radius: 4px }
.qvl-stepper button { width: 36px; height: 36px; font-size: 18px; color: var(--pearl); border: none; background: none; transition: all .2s; cursor: pointer; border-right: 1px solid var(--line) }
.qvl-stepper button:last-child { border-right: none; border-left: 1px solid var(--line) }
.qvl-stepper button:hover { background: var(--violet); color: #fff }
.qvl-stepper span { font-size: 15px; font-weight: 600; min-width: 40px; text-align: center; color: var(--pearl) }
.qvl-btn-row { display: flex; gap: 8px; margin-top: 12px }
.qvl-wish-btn { width: 44px; flex-shrink: 0; background: var(--bg2); border: 1px solid var(--line); font-size: 17px; cursor: pointer; transition: all .25s; display: flex; align-items: center; justify-content: center; color: var(--muted); border-radius: 4px }
.qvl-wish-btn:hover { border-color: var(--coral); color: var(--coral); background: var(--coral3) }
.qvl-wish-btn.liked { background: var(--coral); color: #fff; border-color: var(--coral) }

/* ===== WISHLIST GRID ===== */
.wl-grid-lm { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px }
.wlcl { background: var(--bg2); border: 1px solid var(--line); padding: 14px; text-align: center; transition: all .25s; position: relative; border-radius: 8px }
.wlcl:hover { border-color: var(--violet); transform: translateY(-3px) }
.wlcl-emo { width: 100%; height: 60px; margin-bottom: 7px; display: flex; align-items: center; justify-content: center }
.wlcl-emo img { max-height: 100%; max-width: 100%; object-fit: contain }
.wlcl-name { font-family: 'Playfair Display', serif; font-size: 13px; font-style: italic; color: var(--pearl); margin-bottom: 4px; line-height: 1.3 }
.wlcl-price { font-family: 'Playfair Display', serif; font-size: 17px; font-weight: 500; color: var(--amber); margin-bottom: 8px; letter-spacing: -.5px }
.wlcl-add { width: 100%; background: var(--violet); color: #fff; border: 1px solid var(--violet); padding: 8px; font-size: 10.5px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; transition: all .2s; cursor: pointer; font-family: 'DM Sans', sans-serif; border-radius: 4px }
.wlcl-add:hover { background: var(--violet2) }
.wlcl-rm { position: absolute; top: 6px; right: 8px; font-size: 12px; color: var(--muted2); cursor: pointer; transition: color .2s; background: none; border: none }
.wlcl-rm:hover { color: var(--coral) }
.wl-empty-lm { padding: 32px; text-align: center; font-family: 'Playfair Display', serif; font-style: italic; font-size: 18px; color: var(--muted2) }

/* ===== PAGE HEADER (for inner pages) ===== */
.page-hero {
  padding: 80px 40px 40px;
  text-align: center;
  border-bottom: 1px solid var(--line);
  background: var(--bg2);
}
.page-hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(36px, 6vw, 64px);
  font-weight: 400;
  font-style: italic;
  color: var(--pearl);
  letter-spacing: -2px;
  line-height: 1;
  margin-bottom: 14px;
}
.page-hero h1 em { color: var(--amber) }
.page-hero p {
  font-size: 15px;
  color: var(--muted);
  max-width: 560px;
  margin: 0 auto;
  font-weight: 300;
  line-height: 1.7;
}
.breadcrumb {
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--muted2);
  margin-bottom: 16px;
  display: flex;
  gap: 8px;
  justify-content: center;
}
.breadcrumb a:hover { color: var(--violet) }

.policy-page { padding: 80px 40px; }
.policy-inner { max-width: 860px; margin: 0 auto; }

.checkout-page { padding: 80px 40px; }
.checkout-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  align-items: start;
}
.checkout-form-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 30px;
  box-shadow: var(--shadow);
}
.checkout-form-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-style: italic;
  margin-bottom: 18px;
}
.checkout-summary-card {
  background: var(--bg2);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 26px;
  position: sticky;
  top: 90px;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
  .about-inner-lm, .nl-inner-lm, .contact-sec-lm, .checkout-inner { grid-template-columns: 1fr; gap: 40px }
  .flash-grid-lm, .testi-grid-lm { grid-template-columns: repeat(2, 1fr) }
  .why-grid-lm { grid-template-columns: 1fr 1fr }
  .cat-grid-lm .cat-card-lm, .cat-grid-lm .cat-card-lm:nth-child(n+4) { grid-column: span 6 }
  .prod-grid-lm { grid-template-columns: repeat(3, 1fr) }
  .prod-grid-lm .pcard-lm:nth-child(4n+1), .prod-grid-lm .pcard-lm:nth-child(4n+3) { margin-top: 0 }
  .prod-grid-lm .pcard-lm:nth-child(4n+2), .prod-grid-lm .pcard-lm:nth-child(4n+4) { margin-top: 50px }
  .fe-mid { grid-template-columns: 1fr 1fr; gap: 30px }
}
@media (max-width: 900px) {
  .prod-grid-lm { grid-template-columns: repeat(2, 1fr) }
  .prod-grid-lm .pcard-lm:nth-child(even) { margin-top: 50px }
  .prod-grid-lm .pcard-lm:nth-child(odd) { margin-top: 0 }
  .flash-grid-lm, .testi-grid-lm { grid-template-columns: 1fr }
  .mf-grid-lm, .qv-grid-lm, .nl-m-grid-lm, .cf-grid-lm { grid-template-columns: 1fr }
  .fe-mid { grid-template-columns: 1fr; gap: 28px }
  .nav-lm { padding: 0 20px }
  .shop-wrap, .flash-sec-lm, .about-sec-lm, .why-sec-lm, .testi-sec-lm, .faq-sec-lm, .nl-sec-lm, .contact-sec-lm, .footer-editorial, .page-hero, .policy-page, .checkout-page { padding-left: 20px; padding-right: 20px }
  .wl-grid-lm { grid-template-columns: repeat(2, 1fr) }
  .cat-grid-lm .cat-card-lm, .cat-grid-lm .cat-card-lm:nth-child(n+4) { grid-column: span 12 }
  .fe-trust-item { padding: 8px 16px }
}
@media (max-width: 600px) {
  .prod-grid-lm { grid-template-columns: 1fr }
  .prod-grid-lm .pcard-lm { margin-top: 0 !important }
  .hero-stats-row { flex-wrap: wrap }
  .hs-item { flex: 1; min-width: 120px }
  .nav-center-lm { display: none }
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .01ms !important; transition-duration: .01ms !important }
}
#actionSuccShade { z-index: 6000; }