/* LongWall Labs restrained account-gated refresh
   Does not change platform auth, CAPTCHA, checkout endpoints, or payment routing. */
:root {
  --lw-radius: 16px;
  --lw-border: rgba(255,255,255,.10);
  --lw-border-soft: rgba(255,255,255,.065);
  --lw-panel: rgba(var(--cl-card), .86);
  --lw-panel-muted: rgba(255,255,255,.035);
  --lw-shadow: 0 20px 60px rgba(0,0,0,.28);
}

html, body { background: rgb(var(--cl-background)); }
body {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 18% -14%, rgba(var(--cl-accent), .12), transparent 34rem),
    radial-gradient(circle at 95% 0%, rgba(255,255,255,.055), transparent 28rem),
    rgb(var(--cl-background)) !important;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background: linear-gradient(to bottom, rgba(255,255,255,.025), transparent 38%);
}
[x-cloak] { display: none !important; }

/* Locked public view */
.lw-auth-wall {
  min-height: calc(100vh - 3rem);
  display: grid;
  place-items: center;
  padding: clamp(1rem, 4vw, 3rem) 0;
}
.lw-auth-panel {
  width: min(100%, 760px);
  border: 1px solid var(--lw-border);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.022)), var(--lw-panel);
  box-shadow: var(--lw-shadow);
  padding: clamp(1.25rem, 4vw, 2.25rem);
}
.lw-auth-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--lw-border-soft);
}
.lw-auth-logo {
  width: 52px;
  height: 52px;
  object-fit: contain;
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid var(--lw-border-soft);
  padding: .35rem;
}
.lw-eyebrow {
  margin: 0 0 .15rem;
  color: rgba(var(--cl-t-primary), .58);
  font-size: .72rem;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}
.lw-auth-brand h1,
.lw-auth-copy h2 {
  margin: 0;
  letter-spacing: -.035em;
  line-height: 1.05;
}
.lw-auth-brand h1 { font-size: clamp(1.35rem, 4vw, 2rem); }
.lw-auth-copy { padding: 1.35rem 0 1rem; }
.lw-auth-copy h2 { font-size: clamp(2rem, 7vw, 4.2rem); max-width: 10ch; }
.lw-auth-copy p {
  margin: 1rem 0 0;
  max-width: 62ch;
  color: rgba(var(--cl-t-primary), .72);
  line-height: 1.65;
}
.lw-auth-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .9rem 1rem;
  margin: 1rem 0 1.25rem;
}
.lw-primary-btn {
  appearance: none;
  border: 1px solid rgba(var(--cl-accent), .8);
  border-radius: 999px;
  background: rgb(var(--cl-accent));
  color: rgb(var(--cl-t-accent));
  font-weight: 800;
  padding: .85rem 1.25rem;
  cursor: pointer;
  transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease;
  box-shadow: 0 12px 26px rgba(var(--cl-accent), .18);
}
.lw-primary-btn:hover { transform: translateY(-1px); opacity: .92; }
.lw-auth-actions p {
  margin: 0;
  max-width: 36ch;
  color: rgba(var(--cl-t-primary), .56);
  font-size: .9rem;
  line-height: 1.45;
}
.lw-auth-rules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.lw-auth-rules div {
  border: 1px solid var(--lw-border-soft);
  border-radius: var(--lw-radius);
  background: var(--lw-panel-muted);
  padding: .9rem;
}
.lw-auth-rules strong,
.lw-auth-rules span { display: block; }
.lw-auth-rules strong { font-size: .92rem; }
.lw-auth-rules span { margin-top: .25rem; color: rgba(var(--cl-t-primary), .58); font-size: .82rem; line-height: 1.45; }
@media (max-width: 640px) {
  .lw-auth-rules { grid-template-columns: 1fr; }
  .lw-auth-brand { align-items: flex-start; }
}

/* Logged-in storefront: clean, not overdesigned */
header.component > .bg-card,
.component .bg-card,
.templates .bg-card,
.rounded-lg.bg-card {
  border-color: var(--lw-border-soft) !important;
}
header.component > div:first-child {
  border-radius: 18px !important;
  background: rgba(var(--cl-card), .84) !important;
  box-shadow: 0 10px 34px rgba(0,0,0,.18);
}
header.component h1 { letter-spacing: -.03em; }
header.component nav a,
header.component nav button,
.currency-selector select,
.choices__inner {
  border-radius: 999px !important;
}
header.component nav a:hover,
header.component nav button:hover {
  border-color: rgba(var(--cl-accent), .35) !important;
}

.component h2 {
  letter-spacing: -.025em;
}
.block.h-full.bg-card,
a.block.h-full.bg-card {
  border-radius: 18px !important;
  overflow: hidden;
  background: rgba(var(--cl-card), .82) !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
a.block.h-full.bg-card:hover {
  transform: translateY(-2px);
  border-color: rgba(var(--cl-accent), .28) !important;
  background: rgba(var(--cl-card), .95) !important;
}
a.block.h-full.bg-card img {
  background: rgba(255,255,255,.025);
}
.badges > div {
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.14);
}
input, textarea, select, .choices__inner {
  border-color: var(--lw-border-soft) !important;
}
input:focus, textarea:focus, select:focus {
  box-shadow: 0 0 0 3px rgba(var(--cl-accent), .12) !important;
}

.lw-security-note,
.lw-cart-attest {
  border: 1px solid var(--lw-border-soft);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  padding: .85rem;
  color: rgba(var(--cl-t-primary), .68);
  font-size: .86rem;
  line-height: 1.45;
}
.lw-cart-attest label { display: flex; align-items: flex-start; gap: .65rem; cursor: pointer; }
.lw-cart-attest input { margin-top: .18rem; flex: 0 0 auto; }

footer.component > div,
footer .bg-card {
  border-radius: 18px !important;
  background: rgba(var(--cl-card), .68) !important;
}


/* Public-ready LongWall pass: calmer copy, stronger polish, less template feel. */
:root {
  --lw-radius: 18px;
  --lw-radius-lg: 24px;
  --lw-line: rgba(255,255,255,.09);
  --lw-line-strong: rgba(255,255,255,.14);
  --lw-surface: rgba(var(--cl-card), .82);
  --lw-surface-2: rgba(255,255,255,.045);
}
body {
  letter-spacing: -0.005em;
  background:
    radial-gradient(circle at 15% -10%, rgba(var(--cl-accent), .10), transparent 34rem),
    linear-gradient(180deg, rgba(255,255,255,.025), transparent 18rem),
    rgb(var(--cl-background)) !important;
}
body::before { opacity: .55; }
#app { gap: 1.25rem; }

.lw-auth-panel {
  max-width: 820px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
    rgba(var(--cl-card), .90);
  border-color: var(--lw-line-strong);
  box-shadow: 0 28px 80px rgba(0,0,0,.32);
}
.lw-auth-logo { background: transparent; object-fit: contain; }
.lw-eyebrow { color: rgba(var(--cl-accent), .86); letter-spacing: .15em; }
.lw-auth-copy h2 { max-width: 13ch; font-weight: 800; }
.lw-auth-copy p { color: rgba(var(--cl-t-primary), .70); font-size: 1rem; }
.lw-auth-rules div { background: rgba(255,255,255,.032); }
.lw-auth-rules strong { letter-spacing: -.01em; }
.lw-primary-btn,
button[type="submit"],
a.bg-accent-500,
button.bg-accent-500 {
  border-radius: 999px !important;
  box-shadow: 0 10px 24px rgba(var(--cl-accent), .16);
}

header.component > div:first-child {
  border-radius: var(--lw-radius-lg) !important;
  border-color: var(--lw-line) !important;
  background: rgba(var(--cl-card), .78) !important;
  backdrop-filter: blur(12px);
}
header.component img { object-fit: contain; }
header.component h1 { font-weight: 800; }
header.component nav a,
header.component nav button {
  background: rgba(255,255,255,.035) !important;
  border-color: var(--lw-line) !important;
  color: rgba(var(--cl-t-primary), .75) !important;
}
header.component nav a:hover,
header.component nav button:hover {
  background: rgba(var(--cl-accent), .10) !important;
  color: rgb(var(--cl-t-primary)) !important;
}

.component { margin-top: 1rem; }
.component h1,.component h2,.component h3 { letter-spacing: -.03em; }
.component > .py-6,
.component > .py-8,
.relative.px-4.lg\:px-0.py-6,
.relative.px-4.lg\:px-0.py-8 { padding-top: 1.25rem !important; }

.lw-home-panel {
  border: 1px solid var(--lw-line);
  border-radius: 28px;
  padding: clamp(1.25rem, 5vw, 3.5rem);
  background: linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)), rgba(var(--cl-card), .76);
  max-width: 980px;
  margin: 0 auto;
}
.lw-home-kicker { color: rgba(var(--cl-accent), .9); text-transform: uppercase; letter-spacing: .16em; font-size: .72rem; font-weight: 800; }
.lw-home-panel h1 { margin: .4rem 0 0; font-size: clamp(2.4rem, 7vw, 5.2rem); line-height: .95; font-weight: 850; }
.lw-home-panel p { margin-top: 1rem; max-width: 56rem; color: rgba(var(--cl-t-primary), .68); line-height: 1.7; }
.lw-home-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; }
.lw-home-actions a { border: 1px solid var(--lw-line); border-radius: 999px; padding: .8rem 1.1rem; font-weight: 800; background: rgba(255,255,255,.045); }
.lw-home-actions a:first-child { background: rgb(var(--cl-accent)); border-color: rgba(var(--cl-accent), .85); color: rgb(var(--cl-t-accent)); }

.lw-product-card,
a.block.h-full.bg-card,
.bg-card.border.border-white\/5.rounded-lg {
  border-color: var(--lw-line) !important;
}
.lw-product-card {
  border-radius: 22px !important;
  background: rgba(var(--cl-card), .78) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.12);
}
.lw-product-card > div { background: transparent !important; }
.lw-product-card .relative.overflow-hidden { padding: .7rem !important; margin-bottom: .25rem !important; }
.lw-product-card img { border-radius: 16px !important; background: rgba(255,255,255,.035); }
.lw-product-card h3 { font-size: 1rem !important; font-weight: 760; }
.lw-product-card p { line-height: 1.35; }
.lw-product-card:hover { transform: translateY(-3px); border-color: rgba(var(--cl-accent), .32) !important; }
.badges > div { box-shadow: none !important; }

.editor { color: rgba(var(--cl-t-primary), .78); line-height: 1.75; }
.editor p { margin-bottom: .9rem; }
.editor strong { color: rgb(var(--cl-t-primary)); }
.lw-policy-strip,
.lw-dashboard-banner,
.lw-security-note,
.lw-cart-attest {
  border: 1px solid var(--lw-line);
  border-radius: 16px;
  background: rgba(255,255,255,.04);
  color: rgba(var(--cl-t-primary), .68);
  line-height: 1.55;
}
.lw-policy-strip { padding: .9rem 1rem; font-size: .88rem; }
.lw-dashboard-banner { padding: .95rem 1rem; }
.lw-dashboard-banner strong { color: rgb(var(--cl-t-primary)); }
.lw-cart-attest { background: rgba(var(--cl-accent), .055); }

input, textarea, select, .choices__inner {
  border-radius: 14px !important;
  background-color: rgba(255,255,255,.045) !important;
}
.lw-modal-card {
  border-radius: 24px !important;
  border-color: var(--lw-line-strong) !important;
  background: rgba(var(--cl-background), .96) !important;
  box-shadow: 0 24px 72px rgba(0,0,0,.42);
}

footer.component, footer.bg-background {
  border-radius: 24px !important;
  border-color: var(--lw-line) !important;
  background: rgba(var(--cl-card), .56) !important;
  overflow: hidden;
}
.lw-footer-note { background: rgba(255,255,255,.025); }
footer a:hover { color: rgb(var(--cl-t-primary)) !important; }

@media (max-width: 640px) {
  .lw-auth-panel { border-radius: 22px; }
  .lw-auth-copy h2 { font-size: 2.3rem; }
  .lw-home-panel { border-radius: 22px; }
}


/* LongWall premium brand-color pass — cleaner, darker, less template-looking. */
:root {
  --lw-radius: 20px;
  --lw-radius-lg: 28px;
  --lw-border: rgba(var(--cl-accent),.18);
  --lw-border-soft: rgba(255,255,255,.08);
  --lw-panel: rgba(var(--cl-card),.88);
  --lw-panel-2: rgba(var(--cl-card),.72);
  --lw-shadow: 0 28px 80px rgba(0,0,0,.42);
  --lw-accent-soft: rgba(var(--cl-accent),.10);
}

html, body { background: rgb(var(--cl-background)) !important; }
body {
  background:
    radial-gradient(circle at 50% -18%, rgba(var(--cl-accent),.12), transparent 28rem),
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.045), transparent 22rem),
    linear-gradient(180deg, rgb(var(--cl-background)) 0%, color-mix(in srgb, rgb(var(--cl-background)), #000 18%) 48%, rgb(var(--cl-background)) 100%) !important;
  color: rgb(var(--cl-t-primary));
}
body::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.55), transparent 52%);
  opacity: .5;
}
#app { max-width: 1220px; }
.component { margin-top: 1rem; }

.lw-site-header { margin-top: .25rem; }
.lw-header-shell {
  border-radius: var(--lw-radius-lg) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)), rgba(var(--cl-card),.86) !important;
  border-color: var(--lw-border-soft) !important;
  box-shadow: 0 18px 58px rgba(0,0,0,.24);
  overflow: hidden;
}
.lw-site-header img { background: rgba(255,255,255,.035); padding: .18rem; border: 1px solid rgba(255,255,255,.08); }
.lw-site-header h1 { letter-spacing: -.045em; font-weight: 800; }
.lw-header-copy p:first-child { color: rgba(var(--cl-t-primary), .80) !important; max-width: 64ch; }
.lw-header-copy p:last-child { letter-spacing: .03em; text-transform: uppercase; font-weight: 700; color: rgba(var(--cl-accent),.72) !important; }
.lw-nav-pill {
  border-radius: 999px !important;
  border-color: rgba(255,255,255,.075) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(var(--cl-t-primary), .78) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.lw-nav-pill:hover { border-color: rgba(var(--cl-accent),.35) !important; background: rgba(var(--cl-accent),.10) !important; color: rgb(var(--cl-t-primary)) !important; }
.lw-nav-pill.bg-accent-500\/10, .lw-nav-pill.text-accent-500 { color: rgb(var(--cl-accent)) !important; border-color: rgba(var(--cl-accent),.38) !important; background: rgba(var(--cl-accent),.10) !important; }

.lw-auth-wall { min-height: calc(100vh - 3rem); }
.lw-auth-panel {
  width: min(100%, 820px);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.018) 44%, rgba(var(--cl-accent),.045)),
    rgba(var(--cl-background),.88) !important;
  border: 1px solid rgba(var(--cl-accent),.16);
  box-shadow: 0 35px 100px rgba(0,0,0,.52);
}
.lw-auth-panel::after {
  content: "";
  display: block;
  height: 1px;
  margin-top: 1.3rem;
  background: linear-gradient(90deg, transparent, rgba(var(--cl-accent),.45), transparent);
}
.lw-eyebrow, .lw-home-kicker { color: rgba(var(--cl-accent),.72) !important; }
.lw-auth-copy h2 { max-width: 12ch; font-size: clamp(2.35rem, 7vw, 4.8rem); letter-spacing: -.065em; }
.lw-auth-copy p { color: rgba(var(--cl-t-primary), .68) !important; font-size: 1rem; }
.lw-primary-btn, .lw-home-actions a:first-child {
  background: linear-gradient(180deg, rgb(var(--cl-accent)), color-mix(in srgb, rgb(var(--cl-accent)), #000 18%)) !important;
  color: rgb(var(--cl-t-accent)) !important;
  border-color: rgba(var(--cl-accent),.55) !important;
  box-shadow: 0 12px 34px rgba(var(--cl-accent),.16), inset 0 1px 0 rgba(255,255,255,.24);
}
.lw-primary-btn:hover, .lw-home-actions a:first-child:hover { transform: translateY(-1px); filter: brightness(1.04); }
.lw-auth-rules div {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.075) !important;
  border-radius: 18px !important;
}
.lw-auth-rules strong { color: rgba(var(--cl-t-primary), .94) !important; }
.lw-auth-rules span { color: rgba(var(--cl-t-primary), .58) !important; }

.lw-home-panel {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(var(--cl-accent),.12);
  border-radius: 30px;
  padding: clamp(1.5rem, 5vw, 3.5rem);
  background:
    radial-gradient(circle at 90% 0%, rgba(var(--cl-accent),.10), transparent 20rem),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.018)),
    rgba(var(--cl-card),.82);
  box-shadow: var(--lw-shadow);
}
.lw-home-panel h1 { margin: .35rem 0 .65rem; font-size: clamp(2.4rem, 7vw, 5.8rem); line-height: .93; letter-spacing: -.075em; font-weight: 850; }
.lw-home-panel p { max-width: 58ch; color: rgba(var(--cl-t-primary), .68); line-height: 1.75; }
.lw-home-actions { margin-top: 1.35rem; display: flex; flex-wrap: wrap; gap: .75rem; }
.lw-home-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; border-radius: 999px; padding: .7rem 1.05rem; border: 1px solid rgba(255,255,255,.10); font-weight: 800; }
.lw-home-actions a:last-child { color: rgba(var(--cl-t-primary), .82); background: rgba(255,255,255,.035); }

.lw-section-heading {
  text-align: center;
  margin: 0 auto 1.35rem;
  max-width: 720px;
}
.lw-section-heading p { margin: 0 0 .35rem; color: rgba(var(--cl-accent),.72); text-transform: uppercase; letter-spacing: .16em; font-size: .72rem; font-weight: 800; }
.lw-section-heading h1 { margin: 0; font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -.055em; line-height: 1; font-weight: 850; }
.lw-section-heading span { display: block; margin-top: .7rem; color: rgba(var(--cl-t-primary), .58); }

.bg-card, .bg-background { background-color: rgba(var(--cl-card),.82) !important; }
.border-white\/5 { border-color: rgba(255,255,255,.075) !important; }
.rounded-lg { border-radius: 16px; }
input, select, textarea { border-color: rgba(255,255,255,.09) !important; background-color: rgba(255,255,255,.04) !important; }
input:focus, select:focus, textarea:focus { border-color: rgba(var(--cl-accent),.55) !important; box-shadow: 0 0 0 3px rgba(var(--cl-accent),.13) !important; }
.bg-accent-500, button.bg-accent-500, a.bg-accent-500 {
  background: linear-gradient(180deg, rgb(var(--cl-accent)), color-mix(in srgb, rgb(var(--cl-accent)), #000 18%)) !important;
  border-color: rgba(var(--cl-accent),.55) !important;
  color: rgb(var(--cl-t-accent)) !important;
}
.text-accent-500 { color: rgb(var(--cl-accent)) !important; }
.border-accent-500 { border-color: rgba(var(--cl-accent),.55) !important; }

.lw-product-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.014)),
    rgba(var(--cl-card),.88) !important;
  border-color: rgba(255,255,255,.085) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.24);
  transform: translateZ(0);
}
.lw-product-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(var(--cl-accent),.10), transparent 38%);
  opacity: 0;
  transition: opacity .18s ease;
}
.lw-product-card:hover { border-color: rgba(var(--cl-accent),.28) !important; transform: translateY(-2px); }
.lw-product-card:hover::before { opacity: 1; }
.lw-product-card img { background: radial-gradient(circle, rgba(255,255,255,.05), rgba(255,255,255,.015)); border-radius: 18px !important; padding: .4rem; }
.lw-product-card .badges > div { border-radius: 999px !important; box-shadow: 0 10px 25px rgba(0,0,0,.26); }
.lw-product-card h3 { letter-spacing: -.025em; }
.lw-product-card .inline-flex { border-color: rgba(var(--cl-accent),.18) !important; color: rgba(var(--cl-accent),.72) !important; background: rgba(var(--cl-accent),.06); }
.lw-product-price { color: rgba(var(--cl-t-primary), .55) !important; }
.lw-product-price .text-accent-500 { font-size: 1.08rem; font-weight: 850; }

/* Product, cart, and dashboard surfaces */
[data-component-id="product-page"] > div,
[data-component-id="cart-page"] > div,
.container .bg-card,
aside .bg-card,
.sa-customer-password-modal .bg-background,
.sa-customer-tfa-modal .bg-background {
  border-radius: 24px !important;
  border-color: rgba(255,255,255,.085) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)), rgba(var(--cl-card),.84) !important;
  box-shadow: 0 18px 58px rgba(0,0,0,.20);
}

/* Remove overly-salesy live activity noise if enabled. */
.lw-live-activity, [class*="viewing"], [class*="purchased"] { opacity: .88; }

@media (max-width: 640px) {
  #app { padding: .85rem !important; }
  .lw-auth-panel, .lw-home-panel { border-radius: 24px; }
  .lw-auth-copy h2 { font-size: 2.55rem; }
  .lw-site-header h1 { font-size: 1.35rem; }
}


/* Brand-color correction: keep LongWall's blue/black palette, no gold reskin. */
:root {
  --lw-border: rgba(var(--cl-accent), .18);
  --lw-border-soft: rgba(255,255,255,.08);
  --lw-panel: rgba(var(--cl-card), .88);
  --lw-panel-2: rgba(var(--cl-card), .72);
  --lw-accent-soft: rgba(var(--cl-accent), .10);
}
body {
  background:
    radial-gradient(circle at 50% -18%, rgba(var(--cl-accent),.16), transparent 28rem),
    radial-gradient(circle at 10% 10%, rgba(255,255,255,.045), transparent 22rem),
    linear-gradient(180deg, rgb(var(--cl-background)) 0%, color-mix(in srgb, rgb(var(--cl-background)), #000 14%) 52%, rgb(var(--cl-background)) 100%) !important;
}
.lw-primary-btn, .lw-home-actions a:first-child,
.bg-accent-500, button.bg-accent-500, a.bg-accent-500 {
  background: linear-gradient(180deg, rgb(var(--cl-accent)), color-mix(in srgb, rgb(var(--cl-accent)), #000 18%)) !important;
  color: rgb(var(--cl-t-accent)) !important;
  border-color: rgba(var(--cl-accent), .58) !important;
  box-shadow: 0 12px 34px rgba(var(--cl-accent), .18), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.lw-header-copy p:last-child,
.lw-eyebrow, .lw-home-kicker,
.lw-section-heading p,
.lw-product-card .inline-flex {
  color: rgba(var(--cl-accent), .78) !important;
}
.lw-nav-pill:hover,
.lw-nav-pill.bg-accent-500\/10,
.lw-nav-pill.text-accent-500 {
  border-color: rgba(var(--cl-accent), .38) !important;
  background: rgba(var(--cl-accent), .10) !important;
}
.lw-auth-panel,
.lw-home-panel {
  border-color: rgba(var(--cl-accent), .16) !important;
}
.lw-product-card:hover {
  border-color: rgba(var(--cl-accent), .28) !important;
}


/* Ultra-premium brand-safe pass: no rebrand, no gimmick headers, no auth/gateway bypass. */
:root {
  --lw-page-max: 1180px;
  --lw-deep: color-mix(in srgb, rgb(var(--cl-background)), #000 22%);
  --lw-card-glow: 0 1px 0 rgba(255,255,255,.055) inset, 0 24px 72px rgba(0,0,0,.28);
  --lw-card-glow-hover: 0 1px 0 rgba(255,255,255,.07) inset, 0 32px 92px rgba(0,0,0,.34);
}
html { background: var(--lw-deep); }
body {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  background:
    radial-gradient(circle at 50% -8%, rgba(var(--cl-accent), .18), transparent 28rem),
    radial-gradient(circle at 10% 4%, rgba(255,255,255,.035), transparent 20rem),
    linear-gradient(180deg, color-mix(in srgb, rgb(var(--cl-background)), #000 4%) 0%, var(--lw-deep) 58%, rgb(var(--cl-background)) 100%) !important;
}
body::before {
  background:
    linear-gradient(90deg, rgba(255,255,255,.026) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.018) 1px, transparent 1px) !important;
  background-size: 82px 82px !important;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.38), transparent 46%) !important;
  opacity: .65 !important;
}
#app { max-width: var(--lw-page-max) !important; }
.component { margin-top: 1.1rem !important; }

/* Locked gate: premium, clear, not salesy. */
.lw-auth-wall { padding-block: clamp(1rem, 4vh, 2.5rem) !important; }
.lw-auth-panel {
  position: relative;
  isolation: isolate;
  width: min(100%, 880px) !important;
  border-radius: 34px !important;
  padding: clamp(1.05rem, 3.5vw, 2.15rem) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.066), rgba(255,255,255,.018)),
    color-mix(in srgb, rgb(var(--cl-card)), #000 8%) !important;
  border: 1px solid rgba(var(--cl-accent), .18) !important;
  box-shadow: 0 34px 120px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.025) inset !important;
  overflow: hidden;
}
.lw-auth-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 86% 12%, rgba(var(--cl-accent), .14), transparent 18rem),
    linear-gradient(120deg, rgba(255,255,255,.045), transparent 32%);
}
.lw-auth-brand {
  border-bottom-color: rgba(255,255,255,.075) !important;
  padding-bottom: 1rem !important;
}
.lw-auth-logo { width: 48px !important; height: 48px !important; border-radius: 14px !important; background: rgba(255,255,255,.025) !important; }
.lw-eyebrow { letter-spacing: .18em !important; font-size: .68rem !important; }
.lw-auth-brand h1 { font-size: clamp(1.15rem, 3vw, 1.7rem) !important; letter-spacing: -.045em !important; }
.lw-auth-copy { padding: clamp(1.25rem, 3vw, 2rem) 0 1rem !important; }
.lw-auth-copy h2 { max-width: 9ch !important; font-size: clamp(2.75rem, 8vw, 5.7rem) !important; line-height: .88 !important; letter-spacing: -.085em !important; }
.lw-auth-copy p { max-width: 58ch !important; font-size: 1rem !important; line-height: 1.72 !important; color: rgba(var(--cl-t-primary), .70) !important; }
.lw-auth-actions { margin-top: 1.25rem !important; padding-top: .15rem !important; }
.lw-primary-btn {
  min-height: 46px !important;
  padding: .86rem 1.28rem !important;
  font-size: .94rem !important;
  letter-spacing: -.01em !important;
}
.lw-auth-actions p { color: rgba(var(--cl-t-primary), .52) !important; }
.lw-auth-rules { gap: .68rem !important; margin-top: .85rem !important; }
.lw-auth-rules div {
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.018)) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  padding: .92rem !important;
}
.lw-auth-rules strong { font-size: .88rem !important; letter-spacing: -.015em !important; }
.lw-auth-rules span { font-size: .78rem !important; }

/* Header/nav: premium through restraint, not fake hero graphics. */
.lw-header-shell {
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.016)),
    rgba(var(--cl-card), .78) !important;
  border: 1px solid rgba(255,255,255,.078) !important;
  box-shadow: var(--lw-card-glow) !important;
}
.lw-site-header img { max-height: 38px !important; background: transparent !important; border-color: rgba(255,255,255,.06) !important; }
.lw-site-header h1 { font-size: clamp(1.22rem, 2vw, 1.7rem) !important; }
.lw-header-copy p:first-child { font-size: .82rem !important; line-height: 1.55 !important; color: rgba(var(--cl-t-primary), .70) !important; }
.lw-header-copy p:last-child { font-size: .66rem !important; color: rgba(var(--cl-accent), .75) !important; }
.lw-site-header nav > div { margin-top: .72rem !important; }
.lw-nav-pill {
  min-height: 39px !important;
  padding-inline: .95rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.032) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  box-shadow: none !important;
}
.lw-nav-pill:hover { transform: translateY(-1px); }

/* Catalog/product polish. */
.lw-section-heading { margin-bottom: 1.55rem !important; }
.lw-section-heading p { font-size: .68rem !important; letter-spacing: .18em !important; }
.lw-section-heading h1 { font-size: clamp(2.15rem, 5.4vw, 4rem) !important; letter-spacing: -.07em !important; }
.lw-section-heading span { max-width: 58ch; margin-inline: auto; line-height: 1.65; }
.lw-product-card {
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.014)),
    rgba(var(--cl-card), .80) !important;
  box-shadow: var(--lw-card-glow) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
.lw-product-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(var(--cl-accent), .30) !important;
  box-shadow: var(--lw-card-glow-hover) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.018)),
    rgba(var(--cl-card), .88) !important;
}
.lw-product-card > div > .relative { padding: .72rem !important; margin-bottom: .15rem !important; border-bottom-color: rgba(255,255,255,.055) !important; }
.lw-product-card img {
  border-radius: 20px !important;
  padding: .24rem !important;
  background:
    radial-gradient(circle at 50% 35%, rgba(var(--cl-accent), .11), transparent 15rem),
    rgba(255,255,255,.022) !important;
}
.lw-product-card .text-left { padding: 1.02rem 1.12rem 1.12rem !important; }
.lw-product-card h3 { font-size: 1.03rem !important; line-height: 1.2 !important; font-weight: 780 !important; }
.lw-product-card p { line-height: 1.35 !important; }
.lw-product-card .inline-flex { letter-spacing: .12em !important; border-color: rgba(var(--cl-accent), .16) !important; background: rgba(var(--cl-accent), .055) !important; }
.lw-product-price { margin-top: .15rem !important; }
.lw-product-price .text-accent-500 { font-size: 1.16rem !important; }
.badges > div { font-size: .65rem !important; padding: .28rem .5rem !important; }

/* Forms, filters, account, cart: unified expensive surfaces. */
.bg-card,
aside .bg-card,
[data-component-id="product-page"] > div,
[data-component-id="cart-page"] > div,
.container .bg-card,
.sa-customer-password-modal .bg-background,
.sa-customer-tfa-modal .bg-background {
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.078) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.043), rgba(255,255,255,.015)),
    rgba(var(--cl-card), .78) !important;
  box-shadow: var(--lw-card-glow) !important;
}
input, select, textarea, .choices__inner {
  border-radius: 14px !important;
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.085) !important;
}
button, a { text-underline-offset: 3px; }
.bg-accent-500, button.bg-accent-500, a.bg-accent-500, .lw-primary-btn {
  background: linear-gradient(180deg, rgb(var(--cl-accent)), color-mix(in srgb, rgb(var(--cl-accent)), #000 20%)) !important;
  box-shadow: 0 12px 30px rgba(var(--cl-accent), .16), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.border-accent-500 { border-color: rgba(var(--cl-accent), .55) !important; }
.text-accent-500 { color: rgb(var(--cl-accent)) !important; }
.lw-security-note, .lw-cart-attest {
  border-radius: 18px !important;
  background: rgba(var(--cl-accent), .055) !important;
  border-color: rgba(var(--cl-accent), .15) !important;
  color: rgba(var(--cl-t-primary), .66) !important;
}
footer.component > div, footer .bg-card {
  border-radius: 26px !important;
  background: rgba(var(--cl-card), .62) !important;
  box-shadow: none !important;
}
.lw-footer-note { color: rgba(var(--cl-t-primary), .52) !important; }

@media (min-width: 1024px) {
  .w-full.sm\:w-\[calc\(\(100\%-1rem\)\/2\)\].xl\:w-\[calc\(\(100\%-2rem\)\/3\)\] { width: calc((100% - 2rem) / 3) !important; }
}
@media (max-width: 640px) {
  #app { padding: .85rem !important; }
  .lw-auth-panel, .lw-header-shell, .lw-product-card, .bg-card { border-radius: 22px !important; }
  .lw-auth-copy h2 { font-size: 2.9rem !important; }
  .lw-auth-brand { gap: .75rem !important; }
  .lw-auth-rules { grid-template-columns: 1fr !important; }
}


/* Clean responsive menu nav: keeps pages hidden until the button is pressed. */
[x-cloak] { display: none !important; }
.lw-menu-nav { position: relative !important; z-index: 30 !important; }
.lw-menu-bar {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .85rem !important;
  margin-top: .78rem !important;
  padding: .68rem !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.014)),
    rgba(var(--cl-card), .72) !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.18) !important;
}
.lw-menu-left,
.lw-menu-actions { display: flex !important; align-items: center !important; gap: .58rem !important; min-width: 0 !important; }
.lw-menu-actions { justify-content: flex-end !important; flex-wrap: nowrap !important; }
.lw-menu-trigger {
  display: inline-flex !important;
  align-items: center !important;
  gap: .6rem !important;
  min-height: 42px !important;
  padding: .72rem 1rem !important;
  color: rgb(var(--cl-t-primary)) !important;
  cursor: pointer !important;
}
.lw-menu-trigger[aria-expanded="true"] {
  background: rgba(var(--cl-accent), .12) !important;
  border-color: rgba(var(--cl-accent), .35) !important;
}
.lw-menu-icon { display: inline-flex !important; flex-direction: column !important; gap: 4px !important; width: 18px !important; }
.lw-menu-icon span { display: block !important; height: 2px !important; border-radius: 999px !important; background: currentColor !important; opacity: .9 !important; }
.lw-menu-status {
  display: inline-flex !important;
  align-items: center !important;
  height: 40px !important;
  padding: 0 .9rem !important;
  border-left: 1px solid rgba(255,255,255,.08) !important;
  color: rgba(var(--cl-t-primary), .58) !important;
  font-size: .76rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
.lw-account-pill,
.lw-cart-pill { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 42px !important; padding: .72rem .98rem !important; }
.lw-cart-pill { width: 42px !important; padding: 0 !important; }
.lw-compact-select select { border-radius: 999px !important; min-height: 42px !important; background: rgba(255,255,255,.032) !important; }
.lw-language-wrap > * { min-height: 42px !important; }
.lw-menu-popover {
  position: absolute !important;
  left: 0 !important;
  top: calc(100% + .55rem) !important;
  width: min(520px, calc(100vw - 2rem)) !important;
  padding: .78rem !important;
  border-radius: 24px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.072), rgba(255,255,255,.024)),
    rgb(var(--cl-card)) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.46), 0 0 0 1px rgba(var(--cl-accent), .06) inset !important;
  backdrop-filter: blur(18px) !important;
}
.lw-menu-popover-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .75rem !important;
  padding: .35rem .42rem .8rem !important;
  color: rgba(var(--cl-t-primary), .68) !important;
  font-size: .72rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.lw-menu-popover-head button {
  color: rgba(var(--cl-t-primary), .52) !important;
  font-size: .72rem !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.lw-menu-popover-head button:hover { color: rgb(var(--cl-t-primary)) !important; }
.lw-menu-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .62rem !important; }
.lw-menu-link {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .8rem !important;
  min-height: 58px !important;
  padding: .9rem .95rem !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: rgba(255,255,255,.028) !important;
  color: rgba(var(--cl-t-primary), .86) !important;
  text-align: left !important;
  transition: background .16s ease, border-color .16s ease, transform .16s ease, color .16s ease !important;
}
.lw-menu-link:hover {
  transform: translateY(-1px) !important;
  background: rgba(var(--cl-accent), .09) !important;
  border-color: rgba(var(--cl-accent), .28) !important;
  color: rgb(var(--cl-t-primary)) !important;
}
.lw-menu-link.is-active {
  background: rgba(var(--cl-accent), .12) !important;
  border-color: rgba(var(--cl-accent), .38) !important;
  color: rgb(var(--cl-accent)) !important;
}
.lw-menu-link span { font-weight: 650 !important; font-size: .94rem !important; letter-spacing: -.015em !important; }
.lw-menu-link small { color: rgba(var(--cl-t-primary), .42) !important; font-size: .68rem !important; white-space: nowrap !important; }
.lw-menu-note {
  margin: .75rem .2rem .1rem !important;
  padding-top: .75rem !important;
  border-top: 1px solid rgba(255,255,255,.07) !important;
  color: rgba(var(--cl-t-primary), .52) !important;
  font-size: .76rem !important;
  line-height: 1.55 !important;
}
@media (max-width: 767px) {
  .lw-menu-bar { align-items: stretch !important; flex-direction: column !important; padding: .62rem !important; border-radius: 22px !important; }
  .lw-menu-left { justify-content: space-between !important; width: 100% !important; }
  .lw-menu-trigger { flex: 1 1 auto !important; justify-content: center !important; min-height: 44px !important; }
  .lw-menu-status { display: none !important; }
  .lw-menu-actions { width: 100% !important; display: grid !important; grid-template-columns: 1fr auto auto !important; gap: .5rem !important; }
  .lw-menu-actions .currency-selector,
  .lw-menu-actions .lw-language-wrap { display: none !important; }
  .lw-account-pill { width: 100% !important; }
  .lw-cart-pill { width: 44px !important; height: 44px !important; }
  .lw-menu-popover { width: 100% !important; top: calc(100% + .5rem) !important; border-radius: 22px !important; }
  .lw-menu-grid { grid-template-columns: 1fr !important; gap: .5rem !important; }
  .lw-menu-link { min-height: 52px !important; padding: .78rem .85rem !important; }
}
@media (min-width: 768px) {
  .lw-menu-nav .lw-menu-bar { min-height: 62px !important; }
}

/* Footer: keep legal/site links compact instead of a long row of exposed pages. */
.lw-footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: .42rem !important;
}
.lw-footer-links a {
  border: 1px solid rgba(255,255,255,.065) !important;
  border-radius: 999px !important;
  padding: .42rem .68rem !important;
  background: rgba(255,255,255,.022) !important;
}
@media (max-width: 640px) {
  .lw-footer-links { justify-content: flex-start !important; }
}


/* LongWall full-site final polish: premium, restrained, responsive, brand-color safe. */
html { text-rendering: geometricPrecision !important; }
body {
  background:
    radial-gradient(circle at 18% -12%, rgba(var(--cl-accent), .18), transparent 34rem),
    radial-gradient(circle at 82% 4%, rgba(255,255,255,.055), transparent 30rem),
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(0,0,0,.18) 38%, rgba(0,0,0,.34)) !important;
  letter-spacing: -.01em !important;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background-image:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.42), transparent 70%);
}
#app { width: 100% !important; }
.component { margin-bottom: 1.05rem !important; }
::selection { background: rgba(var(--cl-accent), .38) !important; color: rgb(var(--cl-t-primary)) !important; }

/* Core surfaces */
.bg-card, .lw-site-header .lw-header-shell, footer, aside .sticky, .lw-product-card, .lw-product-premium,
[class*="rounded-lg"].bg-card, .modal, .choices__inner {
  border-color: rgba(255,255,255,.075) !important;
}
.lw-site-header .lw-header-shell,
footer,
.lw-auth-panel,
.lw-menu-bar,
.lw-menu-popover,
aside .sticky,
.lw-product-card,
.component .bg-card,
.templates .bg-card {
  box-shadow: 0 20px 64px rgba(0,0,0,.22) !important;
}
.rounded-lg { border-radius: 18px !important; }
.rounded-md { border-radius: 14px !important; }

/* Header */
.lw-site-header { margin-bottom: .95rem !important; }
.lw-header-shell {
  overflow: hidden !important;
  border-radius: 26px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.062), rgba(255,255,255,.018)),
    rgba(var(--cl-card), .78) !important;
  backdrop-filter: blur(18px) saturate(1.08) !important;
}
.lw-header-shell a[href] { min-height: 76px !important; }
.lw-header-shell img { max-height: 44px !important; object-fit: contain !important; filter: drop-shadow(0 8px 20px rgba(0,0,0,.28)) !important; }
.lw-header-shell h1 { font-size: clamp(1.35rem, 2vw, 2rem) !important; letter-spacing: -.045em !important; line-height: 1 !important; }
.lw-header-copy p:first-child { max-width: 68ch !important; font-size: .88rem !important; line-height: 1.55 !important; color: rgba(var(--cl-t-primary), .72) !important; }
.lw-header-copy p:last-child {
  width: fit-content !important;
  border: 1px solid rgba(var(--cl-accent), .24) !important;
  background: rgba(var(--cl-accent), .075) !important;
  border-radius: 999px !important;
  padding: .36rem .7rem !important;
  color: rgba(var(--cl-t-primary), .66) !important;
}
.lw-site-header [class*="grid-cols-3"] { background: rgba(255,255,255,.018) !important; }
.lw-site-header [class*="grid-cols-3"] p:first-child { color: rgb(var(--cl-t-primary)) !important; }
.lw-site-header [class*="grid-cols-3"] p:last-child { color: rgba(var(--cl-t-primary), .45) !important; }

/* Menu */
.lw-menu-bar { border-radius: 22px !important; padding: .56rem !important; background: rgba(var(--cl-card), .62) !important; backdrop-filter: blur(18px) !important; }
.lw-nav-pill, .lw-menu-trigger, .lw-account-pill, .lw-cart-pill {
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease !important;
}
.lw-nav-pill:hover, .lw-menu-trigger:hover, .lw-account-pill:hover, .lw-cart-pill:hover { transform: translateY(-1px) !important; border-color: rgba(var(--cl-accent), .34) !important; background: rgba(var(--cl-accent), .095) !important; }
.lw-menu-status { color: rgba(var(--cl-t-primary), .45) !important; }
.lw-menu-popover { border-radius: 24px !important; padding: .9rem !important; background: rgba(var(--cl-card), .94) !important; }
.lw-menu-link { border-radius: 18px !important; background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important; }
.lw-menu-link span { letter-spacing: -.03em !important; }

/* Account wall */
.lw-auth-wall {
  min-height: calc(100vh - 3rem) !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(1rem, 4vw, 3.5rem) 0 !important;
}
.lw-auth-panel {
  width: min(880px, 100%) !important;
  border-radius: 34px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(var(--cl-accent), .22), transparent 31rem),
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.024)),
    rgba(var(--cl-card), .78) !important;
  backdrop-filter: blur(24px) saturate(1.08) !important;
  padding: clamp(1.15rem, 3vw, 2.3rem) !important;
  overflow: hidden !important;
  position: relative !important;
}
.lw-auth-panel::after {
  content: "";
  position: absolute;
  right: -8rem;
  top: -8rem;
  width: 20rem;
  height: 20rem;
  border: 1px solid rgba(var(--cl-accent), .14);
  border-radius: 999px;
  pointer-events: none;
}
.lw-auth-brand { align-items: center !important; }
.lw-auth-logo { width: 58px !important; height: 58px !important; object-fit: contain !important; border-radius: 16px !important; background: rgba(255,255,255,.035) !important; padding: .35rem !important; }
.lw-eyebrow { color: rgba(var(--cl-accent), .95) !important; letter-spacing: .16em !important; font-weight: 750 !important; }
.lw-auth-brand h1 { font-size: clamp(1.55rem, 4vw, 2.45rem) !important; letter-spacing: -.055em !important; }
.lw-auth-copy h2 { font-size: clamp(2rem, 6vw, 4.6rem) !important; line-height: .92 !important; letter-spacing: -.075em !important; margin-top: 1.1rem !important; }
.lw-auth-copy p { max-width: 62ch !important; font-size: clamp(.98rem, 1.4vw, 1.12rem) !important; line-height: 1.65 !important; color: rgba(var(--cl-t-primary), .66) !important; }
.lw-primary-btn, button[type="submit"], .btn, a.btn, .button, input[type="submit"] {
  border-radius: 999px !important;
  min-height: 46px !important;
  font-weight: 750 !important;
  letter-spacing: -.015em !important;
  box-shadow: 0 12px 34px rgba(var(--cl-accent), .18), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.lw-auth-rules { gap: .72rem !important; }
.lw-auth-rules > div {
  border-radius: 20px !important;
  background: rgba(255,255,255,.038) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  padding: 1rem !important;
}
.lw-auth-rules strong { letter-spacing: -.02em !important; }
.lw-auth-rules span { color: rgba(var(--cl-t-primary), .52) !important; line-height: 1.48 !important; }

/* Section headings */
.lw-section-heading {
  margin-bottom: 1.25rem !important;
  padding: clamp(1.1rem, 2vw, 1.45rem) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  border-radius: 26px !important;
  background:
    linear-gradient(135deg, rgba(var(--cl-accent), .11), rgba(255,255,255,.025) 52%, rgba(255,255,255,.012)),
    rgba(var(--cl-card), .52) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.18) !important;
}
.lw-section-heading p { color: rgba(var(--cl-accent), .94) !important; font-size: .74rem !important; font-weight: 800 !important; letter-spacing: .16em !important; text-transform: uppercase !important; margin-bottom: .32rem !important; }
.lw-section-heading h1, .lw-section-heading h2 { font-size: clamp(1.65rem, 3.4vw, 3.25rem) !important; line-height: .96 !important; letter-spacing: -.065em !important; margin: 0 !important; }
.lw-section-heading span { display: block !important; margin-top: .62rem !important; max-width: 66ch !important; color: rgba(var(--cl-t-primary), .55) !important; line-height: 1.55 !important; }

/* Products/catalog */
.grid { align-items: stretch; }
.lw-product-card {
  border-radius: 24px !important;
  overflow: hidden !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.018)),
    rgba(var(--cl-card), .68) !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.lw-product-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(var(--cl-accent), .32) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.32), 0 0 0 1px rgba(var(--cl-accent), .08) inset !important;
}
.lw-product-card img { border-radius: 18px !important; background: rgba(255,255,255,.025) !important; transition: transform .22s ease, filter .22s ease !important; }
.lw-product-card:hover img { transform: scale(1.018) !important; filter: saturate(1.04) contrast(1.03) !important; }
.lw-product-card h3 { font-size: 1.02rem !important; letter-spacing: -.035em !important; line-height: 1.15 !important; white-space: normal !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
.lw-product-card .badges > div { border-radius: 999px !important; box-shadow: 0 12px 25px rgba(0,0,0,.28) !important; }
.lw-product-price { font-size: 1.08rem !important; letter-spacing: -.035em !important; }
.lw-product-card [class*="uppercase"] { letter-spacing: .105em !important; }

/* Filters/sidebar/forms */
aside .sticky {
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)), rgba(var(--cl-card), .7) !important;
  backdrop-filter: blur(14px) !important;
}
label { color: rgba(var(--cl-t-primary), .72) !important; letter-spacing: -.01em !important; }
input, select, textarea, .choices__inner {
  border-radius: 16px !important;
  border-color: rgba(255,255,255,.085) !important;
  background: rgba(255,255,255,.04) !important;
  color: rgb(var(--cl-t-primary)) !important;
  min-height: 42px !important;
}
input:focus, select:focus, textarea:focus, .choices.is-focused .choices__inner {
  border-color: rgba(var(--cl-accent), .55) !important;
  box-shadow: 0 0 0 4px rgba(var(--cl-accent), .10) !important;
  outline: none !important;
}
input::placeholder, textarea::placeholder { color: rgba(var(--cl-t-primary), .36) !important; }

/* Product page */
.lw-policy-strip {
  border-radius: 16px !important;
  border: 1px solid rgba(var(--cl-accent), .22) !important;
  background: rgba(var(--cl-accent), .07) !important;
  color: rgba(var(--cl-t-primary), .68) !important;
  padding: .78rem .95rem !important;
  font-size: .83rem !important;
  line-height: 1.5 !important;
}
.component [class*="product-page"] img, .splide img { border-radius: 24px !important; }
.splide__slide { border-radius: 24px !important; overflow: hidden !important; }

/* Cart/checkout */
.lw-cart-attestation, [class*="attestation"] {
  border-radius: 18px !important;
  border: 1px solid rgba(var(--cl-accent), .25) !important;
  background: rgba(var(--cl-accent), .065) !important;
}
.component:has(.lw-cart-attestation) .bg-card,
.component:has([x-model="researchAttestation"]) .bg-card {
  border-radius: 24px !important;
}

/* Customer pages */
[class*="customer"] .bg-card, .customer-sidebar, [class*="customer-sidebar"], .lw-customer-card {
  border-radius: 22px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)), rgba(var(--cl-card), .66) !important;
  border-color: rgba(255,255,255,.08) !important;
}

/* Footer */
footer {
  border-radius: 26px !important;
  overflow: hidden !important;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)), rgba(var(--cl-card), .6) !important;
  margin-top: 1.2rem !important;
}
footer img { border-radius: 14px !important; }
.lw-footer-note { background: rgba(var(--cl-accent), .045) !important; color: rgba(var(--cl-t-primary), .56) !important; }
.lw-footer-links a { transition: background .15s ease, border-color .15s ease, color .15s ease, transform .15s ease !important; }
.lw-footer-links a:hover { transform: translateY(-1px) !important; background: rgba(var(--cl-accent), .08) !important; border-color: rgba(var(--cl-accent), .24) !important; }

/* Modals */
.fixed .bg-card, [role="dialog"], .modal, .lw-login-modal {
  border-radius: 26px !important;
  border-color: rgba(255,255,255,.095) !important;
  background: rgba(var(--cl-card), .95) !important;
  backdrop-filter: blur(20px) !important;
}

/* Mobile */
@media (max-width: 767px) {
  #app { padding: .85rem !important; }
  .component { margin-bottom: .78rem !important; }
  .lw-header-shell { border-radius: 22px !important; }
  .lw-header-shell a[href] { min-height: unset !important; padding: 1rem !important; justify-content: flex-start !important; }
  .lw-header-copy { padding: 0 1rem 1rem !important; border-left: 0 !important; }
  .lw-header-copy p:first-child { font-size: .82rem !important; }
  .lw-menu-actions { grid-template-columns: 1fr auto !important; }
  .lw-section-heading { border-radius: 22px !important; padding: 1rem !important; }
  .lw-section-heading h1, .lw-section-heading h2 { font-size: clamp(1.65rem, 11vw, 2.55rem) !important; }
  .lw-product-card { border-radius: 22px !important; }
  .lw-product-card > div > div:first-child { padding: .55rem !important; margin-bottom: .55rem !important; }
  .lw-product-card .text-left { padding-left: 1rem !important; padding-right: 1rem !important; }
  .lw-auth-panel { border-radius: 26px !important; }
  .lw-auth-copy h2 { font-size: clamp(2.35rem, 14vw, 3.4rem) !important; }
  .lw-auth-rules { grid-template-columns: 1fr !important; }
  footer { border-radius: 22px !important; }
}
@media (min-width: 1024px) {
  .products .grid, .component .grid[class*="grid-cols"] { gap: 1.05rem !important; }
}

/* Reduce over-template feel from default utility transitions. */
* { scrollbar-color: rgba(var(--cl-accent), .4) rgba(255,255,255,.04); }

/* LongWall header/mobile refinement pass — keeps brand colors and platform auth untouched. */
.lw-header-v2 {
  margin-bottom: clamp(.8rem, 1.8vw, 1.25rem) !important;
  position: relative !important;
  z-index: 60 !important;
}
.lw-header-v2 .lw-header-shell,
.lw-header-v2 .lw-menu-nav,
.lw-header-v2 .lw-menu-bar,
.lw-header-v2 .lw-menu-popover {
  display: none !important;
}
.lw-header-shell-v2 {
  position: relative !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    rgba(var(--cl-card), .78) !important;
  box-shadow: 0 18px 58px rgba(0,0,0,.24) !important;
  backdrop-filter: blur(18px) saturate(1.04) !important;
  overflow: visible !important;
}
.lw-header-main-v2 {
  display: grid !important;
  grid-template-columns: minmax(210px, auto) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(.75rem, 1.6vw, 1.25rem) !important;
  padding: .78rem .9rem .78rem 1rem !important;
}
.lw-brand-v2 {
  display: inline-flex !important;
  align-items: center !important;
  gap: .78rem !important;
  min-width: 0 !important;
  text-decoration: none !important;
  color: rgb(var(--cl-t-primary)) !important;
}
.lw-brand-mark-v2 {
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 15px !important;
  border: 1px solid rgba(255,255,255,.095) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
  overflow: hidden !important;
}
.lw-brand-mark-v2 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: .28rem !important;
  border-radius: 12px !important;
}
.lw-brand-text-v2 {
  display: grid !important;
  min-width: 0 !important;
}
.lw-brand-text-v2 strong {
  display: block !important;
  font-size: clamp(1.05rem, 1.8vw, 1.38rem) !important;
  line-height: 1 !important;
  letter-spacing: -.045em !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.lw-brand-text-v2 small {
  margin-top: .26rem !important;
  color: rgba(var(--cl-t-primary), .46) !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}
.lw-header-copy-v2 {
  min-width: 0 !important;
  border-left: 1px solid rgba(255,255,255,.07) !important;
  padding-left: clamp(.85rem, 1.6vw, 1.25rem) !important;
}
.lw-header-copy-v2 p {
  margin: 0 !important;
  max-width: 70ch !important;
  color: rgba(var(--cl-t-primary), .66) !important;
  font-size: .86rem !important;
  line-height: 1.38 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.lw-header-copy-v2 span {
  display: block !important;
  margin-top: .28rem !important;
  color: rgba(var(--cl-accent), .82) !important;
  font-size: .72rem !important;
  line-height: 1.25 !important;
  font-weight: 720 !important;
  letter-spacing: .015em !important;
}
.lw-header-actions-v2 {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: .45rem !important;
  min-width: max-content !important;
}
.lw-head-pill-v2,
.lw-menu-trigger-v2 {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .48rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(var(--cl-t-primary), .82) !important;
  padding: 0 .92rem !important;
  text-decoration: none !important;
  font-size: .84rem !important;
  font-weight: 760 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: transform .16s ease, background .16s ease, border-color .16s ease, color .16s ease, box-shadow .16s ease !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
  white-space: nowrap !important;
}
.lw-head-pill-v2:hover,
.lw-menu-trigger-v2:hover,
.lw-head-pill-v2.is-active,
.lw-menu-trigger-v2[aria-expanded="true"] {
  transform: translateY(-1px) !important;
  background: rgba(var(--cl-accent), .095) !important;
  border-color: rgba(var(--cl-accent), .33) !important;
  color: rgb(var(--cl-t-primary)) !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.lw-cart-pill-v2 { position: relative !important; padding-right: 1rem !important; }
.lw-cart-count-v2 {
  position: absolute !important;
  top: -.36rem !important;
  right: -.28rem !important;
  min-width: 1.12rem !important;
  height: 1.12rem !important;
  padding: 0 .22rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgb(var(--cl-accent)) !important;
  color: rgb(var(--cl-t-accent)) !important;
  font-size: .62rem !important;
  font-weight: 850 !important;
  border: 2px solid rgb(var(--cl-card)) !important;
}
.lw-menu-trigger-v2 {
  background: rgba(var(--cl-accent), .13) !important;
  border-color: rgba(var(--cl-accent), .30) !important;
  color: rgb(var(--cl-t-primary)) !important;
}
.lw-menu-lines-v2 {
  width: 17px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.lw-menu-lines-v2 span {
  height: 2px !important;
  width: 100% !important;
  display: block !important;
  border-radius: 999px !important;
  background: currentColor !important;
  opacity: .95 !important;
}
.lw-menu-popover-v2 {
  position: absolute !important;
  right: .7rem !important;
  top: calc(100% + .55rem) !important;
  width: min(430px, calc(100vw - 1.6rem)) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  border-radius: 22px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.024)),
    rgba(var(--cl-card), .965) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.43) !important;
  backdrop-filter: blur(22px) saturate(1.08) !important;
  padding: .72rem !important;
  z-index: 100 !important;
}
.lw-menu-top-v2 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: .38rem .38rem .68rem !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  margin-bottom: .62rem !important;
}
.lw-menu-top-v2 strong,
.lw-menu-top-v2 span { display: block !important; }
.lw-menu-top-v2 strong {
  font-size: .96rem !important;
  line-height: 1.1 !important;
  letter-spacing: -.025em !important;
}
.lw-menu-top-v2 span {
  margin-top: .15rem !important;
  color: rgba(var(--cl-t-primary), .45) !important;
  font-size: .72rem !important;
}
.lw-menu-top-v2 button {
  border: 0 !important;
  background: transparent !important;
  color: rgba(var(--cl-t-primary), .55) !important;
  font-size: .78rem !important;
  font-weight: 760 !important;
  cursor: pointer !important;
}
.lw-menu-grid-v2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: .52rem !important;
}
.lw-menu-link-v2 {
  min-height: 58px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: .22rem !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(var(--cl-t-primary), .78) !important;
  padding: .82rem .88rem !important;
  text-decoration: none !important;
  text-align: left !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, color .16s ease !important;
  width: 100% !important;
}
.lw-menu-link-v2:hover,
.lw-menu-link-v2.is-active {
  transform: translateY(-1px) !important;
  border-color: rgba(var(--cl-accent), .28) !important;
  background: rgba(var(--cl-accent), .075) !important;
  color: rgb(var(--cl-t-primary)) !important;
}
.lw-menu-link-v2 span {
  font-size: .9rem !important;
  line-height: 1.1 !important;
  font-weight: 780 !important;
  letter-spacing: -.02em !important;
}
.lw-menu-link-v2 small {
  color: rgba(var(--cl-t-primary), .42) !important;
  font-size: .68rem !important;
  line-height: 1.15 !important;
}
.lw-menu-note-v2 {
  margin: .66rem .36rem .18rem !important;
  color: rgba(var(--cl-t-primary), .48) !important;
  font-size: .72rem !important;
  line-height: 1.4 !important;
}

@media (max-width: 980px) {
  .lw-header-main-v2 {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: .7rem !important;
    padding: .72rem !important;
  }
  .lw-header-copy-v2 {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    border-left: 0 !important;
    border-top: 1px solid rgba(255,255,255,.065) !important;
    padding: .7rem .2rem .05rem !important;
  }
  .lw-header-copy-v2 p {
    -webkit-line-clamp: 1 !important;
    font-size: .8rem !important;
  }
  .lw-header-copy-v2 span { font-size: .69rem !important; }
  .lw-desktop-only-v2 { display: none !important; }
}
@media (max-width: 640px) {
  .lw-header-v2 { margin-bottom: .72rem !important; }
  .lw-header-shell-v2 { border-radius: 20px !important; }
  .lw-header-main-v2 {
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: .58rem !important;
    gap: .5rem !important;
  }
  .lw-brand-mark-v2 {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
    border-radius: 13px !important;
  }
  .lw-brand-v2 { gap: .58rem !important; }
  .lw-brand-text-v2 strong { font-size: 1rem !important; max-width: 44vw !important; }
  .lw-brand-text-v2 small { font-size: .58rem !important; letter-spacing: .06em !important; }
  .lw-header-actions-v2 { gap: .32rem !important; }
  .lw-head-pill-v2,
  .lw-menu-trigger-v2 {
    min-height: 40px !important;
    padding: 0 .68rem !important;
    font-size: .78rem !important;
  }
  .lw-pill-label-v2 { display: none !important; }
  .lw-cart-text-v2 { display: none !important; }
  .lw-cart-pill-v2 { padding: 0 .65rem !important; }
  .lw-menu-trigger-v2 {
    padding: 0 .78rem !important;
    order: -1 !important;
  }
  .lw-menu-trigger-v2 > span:last-child { display: none !important; }
  .lw-menu-popover-v2 {
    position: absolute !important;
    right: .4rem !important;
    left: .4rem !important;
    top: calc(100% + .45rem) !important;
    width: auto !important;
    border-radius: 20px !important;
    padding: .62rem !important;
  }
  .lw-menu-grid-v2 { grid-template-columns: 1fr !important; gap: .45rem !important; }
  .lw-menu-link-v2 {
    min-height: 50px !important;
    border-radius: 14px !important;
    padding: .74rem .82rem !important;
  }
  .lw-header-copy-v2 {
    padding-top: .58rem !important;
  }
  .lw-header-copy-v2 p { display: none !important; }
  .lw-header-copy-v2 span {
    margin: 0 !important;
    color: rgba(var(--cl-t-primary), .54) !important;
  }
}
@media (max-width: 390px) {
  .lw-brand-text-v2 strong { max-width: 38vw !important; }
  .lw-head-pill-v2,
  .lw-menu-trigger-v2 { padding-left: .58rem !important; padding-right: .58rem !important; }
}

/* Button placement + polish pass: filters, actions, modal controls, cart/form buttons. */
.lw-action-button,
a.lw-action-button,
button.lw-action-button,
input.lw-action-button {
  min-height: 46px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: .55rem !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.095) !important;
  padding: 0 1.08rem !important;
  font-size: .86rem !important;
  font-weight: 820 !important;
  letter-spacing: -.012em !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease, color .16s ease, opacity .16s ease !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.lw-action-button:hover { transform: translateY(-1px) !important; }
.lw-action-button:active { transform: translateY(0) scale(.99) !important; }
.lw-action-button:focus-visible {
  outline: 2px solid rgba(var(--cl-accent), .75) !important;
  outline-offset: 3px !important;
}
.lw-action-primary,
button.lw-action-primary,
a.lw-action-primary {
  background:
    radial-gradient(circle at 30% 0%, rgba(255,255,255,.18), transparent 58%),
    linear-gradient(180deg, rgba(var(--cl-accent), .98), color-mix(in srgb, rgb(var(--cl-accent)), #020617 28%)) !important;
  border-color: rgba(var(--cl-accent), .62) !important;
  color: rgb(var(--cl-t-accent)) !important;
  box-shadow: 0 14px 34px rgba(var(--cl-accent), .16), inset 0 1px 0 rgba(255,255,255,.20) !important;
}
.lw-action-primary:hover {
  border-color: rgba(var(--cl-accent), .78) !important;
  box-shadow: 0 18px 46px rgba(var(--cl-accent), .21), inset 0 1px 0 rgba(255,255,255,.24) !important;
  filter: brightness(1.035) !important;
}
.lw-action-secondary,
button.lw-action-secondary,
a.lw-action-secondary {
  background: rgba(var(--cl-accent), .075) !important;
  border-color: rgba(var(--cl-accent), .24) !important;
  color: rgb(var(--cl-t-primary)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.lw-action-secondary:hover {
  background: rgba(var(--cl-accent), .12) !important;
  border-color: rgba(var(--cl-accent), .38) !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
.lw-action-muted,
button.lw-action-muted,
a.lw-action-muted {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.09) !important;
  color: rgba(var(--cl-t-primary), .82) !important;
}
.lw-action-muted:hover {
  background: rgba(255,255,255,.065) !important;
  border-color: rgba(var(--cl-accent), .22) !important;
  color: rgb(var(--cl-t-primary)) !important;
}

.lw-mobile-filter-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: .78rem !important;
  margin: -.25rem 0 1rem !important;
  padding: .72rem .78rem !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.075) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
    rgba(var(--cl-card), .72) !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05) !important;
  backdrop-filter: blur(18px) !important;
}
.lw-mobile-filter-toolbar strong,
.lw-mobile-filter-toolbar span { display: block !important; }
.lw-mobile-filter-toolbar strong {
  color: rgb(var(--cl-t-primary)) !important;
  font-size: .92rem !important;
  font-weight: 820 !important;
  letter-spacing: -.025em !important;
}
.lw-mobile-filter-toolbar div > span {
  margin-top: .08rem !important;
  color: rgba(var(--cl-t-primary), .48) !important;
  font-size: .72rem !important;
  line-height: 1.25 !important;
}
.lw-filter-button {
  min-width: 116px !important;
  min-height: 42px !important;
  padding: 0 .95rem !important;
}
.lw-filter-button svg { width: 1rem !important; height: 1rem !important; }

.lw-filter-panel {
  border-radius: 24px !important;
  padding: 1rem !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.016)),
    rgba(var(--cl-card), .70) !important;
  box-shadow: 0 18px 54px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.045) !important;
}
.lw-filter-panel label,
.fixed .bg-card label {
  color: rgba(var(--cl-t-primary), .74) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  letter-spacing: .015em !important;
}
.lw-filter-panel a,
.fixed .bg-card a {
  border-radius: 14px !important;
}
.lw-filter-panel input,
.fixed .bg-card input,
.lw-filter-panel select,
.fixed .bg-card select {
  min-height: 44px !important;
  border-radius: 14px !important;
}
.lw-filter-panel .space-y-4 > .lw-action-button + .lw-action-button,
.fixed .bg-card .space-y-4 > .lw-action-button + .lw-action-button { margin-top: .52rem !important; }

.lw-icon-close,
button.lw-icon-close {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  background: rgba(255,255,255,.035) !important;
  color: rgba(var(--cl-t-primary), .72) !important;
  transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease !important;
}
.lw-icon-close:hover {
  transform: translateY(-1px) !important;
  background: rgba(var(--cl-accent), .10) !important;
  border-color: rgba(var(--cl-accent), .28) !important;
  color: rgb(var(--cl-t-primary)) !important;
}

/* Upgrade common theme action classes without changing auth/gateway logic. */
button.bg-accent-500:not(.lw-menu-trigger-v2),
a.bg-accent-500:not(.lw-menu-trigger-v2),
button.border-accent-500:not(.lw-menu-trigger-v2),
a.border-accent-500:not(.lw-menu-trigger-v2),
button[type="submit"]:not(.lw-menu-trigger-v2),
input[type="submit"] {
  border-radius: 999px !important;
  min-height: 44px !important;
  font-weight: 800 !important;
}
button.bg-accent-500:not(.lw-menu-trigger-v2),
a.bg-accent-500:not(.lw-menu-trigger-v2),
button[type="submit"]:not(.lw-action-button):not(.lw-menu-trigger-v2),
input[type="submit"] {
  background:
    radial-gradient(circle at 30% 0%, rgba(255,255,255,.16), transparent 60%),
    linear-gradient(180deg, rgba(var(--cl-accent), .98), color-mix(in srgb, rgb(var(--cl-accent)), #020617 28%)) !important;
  border-color: rgba(var(--cl-accent), .62) !important;
  box-shadow: 0 12px 32px rgba(var(--cl-accent), .15), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
button.border-accent-500:not(.bg-accent-500):not(.lw-action-button),
a.border-accent-500:not(.bg-accent-500):not(.lw-action-button) {
  background: rgba(var(--cl-accent), .065) !important;
  border-color: rgba(var(--cl-accent), .24) !important;
  color: rgb(var(--cl-t-primary)) !important;
}

/* Better mobile action placement: no oversized full-width buttons unless they are true primary actions. */
@media (max-width: 640px) {
  .lw-mobile-filter-toolbar {
    position: sticky !important;
    top: .55rem !important;
    z-index: 25 !important;
    margin-top: -.15rem !important;
    margin-bottom: .9rem !important;
    padding: .62rem !important;
  }
  .lw-mobile-filter-toolbar div > span { display: none !important; }
  .lw-filter-button { min-width: 104px !important; min-height: 40px !important; }
  .lw-action-button,
  a.lw-action-button,
  button.lw-action-button {
    min-height: 44px !important;
    padding-left: .95rem !important;
    padding-right: .95rem !important;
    font-size: .83rem !important;
  }
  .fixed.inset-0 .bg-card {
    border-radius: 24px 24px 0 0 !important;
    margin-top: auto !important;
    max-height: min(86vh, 760px) !important;
    overflow: auto !important;
  }
  .fixed.inset-0 .flex.items-center.justify-center.min-h-screen {
    align-items: flex-end !important;
    padding: .7rem !important;
  }
}
@media (max-width: 390px) {
  .lw-mobile-filter-toolbar strong { font-size: .86rem !important; }
  .lw-filter-button { min-width: 96px !important; padding-left: .78rem !important; padding-right: .78rem !important; }
}

/* Homepage-only landing page: no product previews on / */
.lw-home {
  width: 100%;
  padding: clamp(1.1rem, 3vw, 2rem) 0 clamp(2.5rem, 6vw, 5rem);
}
.lw-home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: clamp(1rem, 3vw, 1.6rem);
  align-items: stretch;
  margin-top: clamp(.35rem, 2vw, 1.25rem);
}
.lw-home-hero__copy,
.lw-home-panel,
.lw-home-strip > div,
.lw-home-card {
  border: 1px solid rgba(255,255,255,.09);
  background:
    radial-gradient(circle at 0 0, rgba(var(--cl-accent), .18), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.026));
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.lw-home-hero__copy {
  border-radius: 28px;
  padding: clamp(1.35rem, 4vw, 3.2rem);
  min-height: clamp(350px, 42vw, 520px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.lw-home-hero__copy::after {
  content: "";
  position: absolute;
  inset: auto -20% -45% 45%;
  height: 62%;
  background: radial-gradient(circle, rgba(var(--cl-accent), .17), transparent 64%);
  pointer-events: none;
}
.lw-home-kicker,
.lw-card-label {
  margin: 0 0 .85rem;
  color: rgba(var(--cl-accent), .96);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.lw-home-hero h1 {
  margin: 0;
  max-width: 11ch;
  color: rgb(var(--cl-t-primary));
  font-size: clamp(2.65rem, 8vw, 6.7rem);
  line-height: .88;
  letter-spacing: -.07em;
}
.lw-home-lede {
  max-width: 720px;
  margin: clamp(1.1rem, 3vw, 1.6rem) 0 0;
  color: rgba(var(--cl-t-primary), .68);
  font-size: clamp(1rem, 2vw, 1.18rem);
  line-height: 1.65;
}
.lw-home-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: clamp(1.25rem, 3vw, 2rem);
}
.lw-home-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  min-height: 48px;
  padding: .85rem 1.08rem;
  border-radius: 999px;
  font-weight: 800;
  font-size: .92rem;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, opacity .18s ease;
}
.lw-home-btn:hover { transform: translateY(-1px); opacity: .94; }
.lw-home-btn--primary {
  color: rgb(var(--cl-t-accent));
  background: linear-gradient(135deg, rgba(var(--cl-accent), 1), rgba(var(--cl-accent), .64));
  border: 1px solid rgba(var(--cl-accent), .5);
  box-shadow: 0 14px 34px rgba(var(--cl-accent), .22);
}
.lw-home-btn--secondary {
  color: rgba(var(--cl-t-primary), .9);
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.11);
}
.lw-home-panel {
  border-radius: 28px;
  padding: clamp(1rem, 3vw, 1.35rem);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.2rem;
}
.lw-home-panel__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .8rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.lw-home-panel__top span { color: rgba(var(--cl-t-primary), .52); font-size: .86rem; font-weight: 700; }
.lw-home-panel__top strong {
  color: rgba(var(--cl-t-primary), .95);
  border: 1px solid rgba(var(--cl-accent), .32);
  background: rgba(var(--cl-accent), .12);
  border-radius: 999px;
  padding: .42rem .7rem;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.lw-home-checks { display: grid; gap: .75rem; }
.lw-home-checks div {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .9rem;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
}
.lw-home-checks i { color: rgba(var(--cl-accent), .95); margin-top: .12rem; }
.lw-home-checks span { color: rgba(var(--cl-t-primary), .7); font-size: .9rem; line-height: 1.45; }
.lw-home-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
  margin-top: 1rem;
}
.lw-home-strip > div {
  border-radius: 22px;
  padding: 1.05rem;
  background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.025));
}
.lw-home-strip span {
  display: inline-flex;
  margin-bottom: .8rem;
  color: rgba(var(--cl-accent), .9);
  font-weight: 900;
  font-size: .8rem;
  letter-spacing: .12em;
}
.lw-home-strip strong { display: block; font-size: 1rem; color: rgba(var(--cl-t-primary), .94); }
.lw-home-strip p { margin: .35rem 0 0; color: rgba(var(--cl-t-primary), .58); line-height: 1.5; font-size: .9rem; }
.lw-home-content-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: .9rem;
  margin-top: .9rem;
}
.lw-home-card {
  border-radius: 24px;
  padding: clamp(1.1rem, 3vw, 1.45rem);
  background: linear-gradient(180deg, rgba(255,255,255,.043), rgba(255,255,255,.022));
}
.lw-home-card--large { grid-row: span 2; }
.lw-home-card h2 {
  margin: 0;
  color: rgba(var(--cl-t-primary), .96);
  font-size: clamp(1.35rem, 3vw, 2.2rem);
  line-height: 1.02;
  letter-spacing: -.04em;
}
.lw-home-card p:not(.lw-card-label) {
  margin: .8rem 0 0;
  color: rgba(var(--cl-t-primary), .62);
  line-height: 1.62;
}
.lw-home-card a {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: 1.1rem;
  color: rgba(var(--cl-accent), .98);
  font-weight: 850;
}
@media (max-width: 860px) {
  .lw-home { padding-top: .75rem; }
  .lw-home-hero,
  .lw-home-strip,
  .lw-home-content-grid { grid-template-columns: 1fr; }
  .lw-home-hero__copy,
  .lw-home-panel,
  .lw-home-card,
  .lw-home-strip > div { border-radius: 22px; }
  .lw-home-hero__copy { min-height: auto; padding: 1.35rem; }
  .lw-home-hero h1 { font-size: clamp(2.5rem, 16vw, 4.2rem); max-width: 9ch; }
  .lw-home-lede { font-size: .98rem; line-height: 1.58; }
  .lw-home-actions { flex-direction: column; }
  .lw-home-btn { width: 100%; min-height: 50px; }
  .lw-home-card--large { grid-row: auto; }
}
@media (max-width: 480px) {
  .lw-home-hero__copy,
  .lw-home-panel,
  .lw-home-card,
  .lw-home-strip > div { padding: 1rem; }
  .lw-home-hero h1 { letter-spacing: -.06em; }
  .lw-home-panel__top { align-items: flex-start; flex-direction: column; }
}


/* LongWall final audit fixes: cleaner mobile, safer-feeling header, less template-like page hierarchy */
#app { padding-top: clamp(.7rem, 2vw, 1.25rem) !important; }
.lw-site-header.lw-header-v2 { position: sticky !important; top: .7rem !important; z-index: 45 !important; margin-bottom: clamp(.8rem, 2vw, 1.3rem) !important; }
.lw-header-shell-v2 {
  border: 1px solid rgba(255,255,255,.085) !important;
  border-radius: 24px !important;
  background: linear-gradient(135deg, rgba(var(--cl-background),.94), rgba(var(--cl-card),.88)) !important;
  box-shadow: 0 18px 55px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.055) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
}
.lw-header-main-v2 { min-height: 72px !important; padding: .75rem .9rem !important; gap: .85rem !important; align-items: center !important; }
.lw-brand-v2 { min-width: 0 !important; gap: .72rem !important; }
.lw-brand-mark-v2 { width: 44px !important; height: 44px !important; border-radius: 14px !important; background: rgba(255,255,255,.035) !important; border: 1px solid rgba(255,255,255,.08) !important; }
.lw-brand-text-v2 strong { font-size: clamp(1rem, 1.9vw, 1.18rem) !important; letter-spacing: -.025em !important; line-height: 1.05 !important; }
.lw-brand-text-v2 small { margin-top: .18rem !important; color: rgba(var(--cl-t-primary),.55) !important; font-size: .72rem !important; letter-spacing: .02em !important; }
.lw-header-copy-v2 { max-width: 330px !important; padding-left: .9rem !important; border-left: 1px solid rgba(255,255,255,.075) !important; }
.lw-header-copy-v2 p { margin: 0 !important; font-size: .84rem !important; color: rgba(var(--cl-t-primary),.68) !important; line-height: 1.35 !important; }
.lw-header-copy-v2 span { display: block !important; margin-top: .2rem !important; font-size: .72rem !important; color: rgba(var(--cl-accent),.82) !important; font-weight: 700 !important; letter-spacing: .03em !important; }
.lw-header-actions-v2 { gap: .42rem !important; margin-left: auto !important; }
.lw-head-pill-v2, .lw-menu-trigger-v2, .lw-cart-pill-v2 {
  min-height: 42px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(255,255,255,.095) !important;
  background: rgba(255,255,255,.035) !important;
  box-shadow: none !important;
}
.lw-head-pill-v2:hover, .lw-menu-trigger-v2:hover, .lw-cart-pill-v2:hover { background: rgba(var(--cl-accent),.12) !important; border-color: rgba(var(--cl-accent),.35) !important; transform: translateY(-1px); }
.lw-menu-trigger-v2 { order: 20 !important; padding: 0 .78rem !important; gap: .5rem !important; }
.lw-menu-popover-v2 {
  position: absolute !important;
  top: calc(100% + .55rem) !important;
  right: .35rem !important;
  width: min(420px, calc(100vw - 1.7rem)) !important;
  border-radius: 22px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  background: rgba(var(--cl-background),.985) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,.58), inset 0 1px 0 rgba(255,255,255,.055) !important;
  padding: .8rem !important;
}
.lw-menu-top-v2 { padding: .45rem .45rem .75rem !important; }
.lw-menu-grid-v2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: .55rem !important; }
.lw-menu-link-v2 {
  min-height: 58px !important;
  padding: .8rem .85rem !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.032) !important;
  border: 1px solid rgba(255,255,255,.075) !important;
}
.lw-menu-link-v2 span { font-size: .92rem !important; font-weight: 760 !important; }
.lw-menu-link-v2 small { font-size: .7rem !important; color: rgba(var(--cl-t-primary),.48) !important; }
.lw-menu-link-v2.is-active { background: rgba(var(--cl-accent),.14) !important; border-color: rgba(var(--cl-accent),.35) !important; }
.lw-home-refined .lw-home-hero { align-items: stretch !important; }
.lw-home-hero__copy, .lw-home-panel, .lw-home-card, .lw-home-strip > div {
  box-shadow: 0 18px 55px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.lw-home-hero h1 { max-width: 760px !important; }
.lw-home-lede { max-width: 660px !important; }
.lw-home-panel__top strong { color: rgba(var(--cl-accent),.95) !important; }
.lw-action-button, .lw-home-btn, .lw-primary-btn,
button[type="submit"], a.bg-accent-500, button.bg-accent-500 {
  letter-spacing: -.01em !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, opacity .16s ease !important;
}
.lw-mobile-filter-toolbar {
  position: sticky !important;
  top: 5.2rem !important;
  z-index: 35 !important;
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.085) !important;
  background: rgba(var(--cl-background),.92) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(16px) !important;
}
.lw-filter-button { min-width: 112px !important; }
.lw-product-card { border-radius: 20px !important; overflow: hidden !important; background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.02)) !important; }
.lw-product-card:hover { border-color: rgba(var(--cl-accent),.28) !important; transform: translateY(-2px); }
.lw-filter-panel { border-radius: 22px !important; background: rgba(var(--cl-card),.72) !important; }
@media (max-width: 920px) {
  .lw-header-main-v2 { min-height: 64px !important; padding: .58rem !important; }
  .lw-header-copy-v2, .lw-desktop-only-v2 { display: none !important; }
  .lw-brand-mark-v2 { width: 38px !important; height: 38px !important; border-radius: 12px !important; }
  .lw-brand-text-v2 strong { max-width: 42vw !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; display: block !important; }
  .lw-brand-text-v2 small { display: none !important; }
  .lw-header-actions-v2 { gap: .34rem !important; }
  .lw-head-pill-v2 { min-width: 40px !important; padding: 0 .68rem !important; }
  .lw-pill-label-v2, .lw-cart-text-v2 { font-size: .78rem !important; }
  .lw-menu-trigger-v2 { min-width: 42px !important; padding: 0 .66rem !important; }
  .lw-menu-trigger-v2 > span:last-child { display: none !important; }
  .lw-menu-popover-v2 { top: calc(100% + .45rem) !important; right: 0 !important; width: calc(100vw - 1.4rem) !important; max-height: min(76vh, 560px) !important; overflow: auto !important; }
  .lw-menu-grid-v2 { grid-template-columns: 1fr !important; }
  .lw-menu-link-v2 { min-height: 54px !important; }
  .lw-home { gap: .85rem !important; }
  .lw-home-hero { grid-template-columns: 1fr !important; gap: .85rem !important; }
  .lw-home-hero__copy, .lw-home-panel, .lw-home-card, .lw-home-strip > div { border-radius: 20px !important; padding: 1.05rem !important; }
  .lw-home-hero h1 { font-size: clamp(2rem, 10vw, 3.25rem) !important; letter-spacing: -.07em !important; }
  .lw-home-lede { font-size: .95rem !important; line-height: 1.62 !important; }
  .lw-home-actions { display: grid !important; grid-template-columns: 1fr !important; gap: .62rem !important; }
  .lw-home-btn { width: 100% !important; min-height: 46px !important; }
  .lw-home-strip, .lw-home-content-grid { grid-template-columns: 1fr !important; gap: .75rem !important; }
  .lw-mobile-filter-toolbar { top: 4.85rem !important; margin-bottom: .9rem !important; padding: .62rem !important; }
  .lw-mobile-filter-toolbar div > span { display: none !important; }
}
@media (max-width: 520px) {
  #app { padding: .65rem !important; }
  .lw-site-header.lw-header-v2 { top: .45rem !important; }
  .lw-header-shell-v2 { border-radius: 18px !important; }
  .lw-header-main-v2 { gap: .38rem !important; }
  .lw-brand-v2 { flex: 1 1 auto !important; min-width: 0 !important; }
  .lw-brand-text-v2 strong { max-width: 36vw !important; font-size: .95rem !important; }
  .lw-head-pill-v2 { min-height: 38px !important; border-radius: 12px !important; padding: 0 .55rem !important; }
  .lw-cart-pill-v2 svg { width: 18px !important; height: 18px !important; }
  .lw-cart-text-v2 { display: none !important; }
  .lw-menu-trigger-v2 { min-height: 38px !important; border-radius: 12px !important; }
  .lw-menu-lines-v2 { width: 17px !important; }
  .lw-auth-panel { padding: 1.05rem !important; border-radius: 22px !important; }
  .lw-auth-brand { gap: .7rem !important; }
  .lw-auth-logo { width: 42px !important; height: 42px !important; }
  .lw-auth-copy h2 { font-size: clamp(2rem, 11vw, 3.2rem) !important; }
  .lw-auth-rules { grid-template-columns: 1fr !important; }
  .lw-mobile-filter-toolbar strong { font-size: .82rem !important; }
  .lw-filter-button { min-width: 96px !important; min-height: 40px !important; padding-inline: .7rem !important; }
}


/* PC + mobile balanced polish pass: same brand colors, cleaner desktop, no auth/gateway changes. */
:root{
  --lw-max-desktop: 1360px;
  --lw-shell: color-mix(in srgb, rgb(var(--cl-card)), #020617 10%);
  --lw-line: rgba(255,255,255,.085);
  --lw-line-strong: rgba(var(--cl-accent),.24);
  --lw-soft-shadow: 0 18px 55px rgba(0,0,0,.24);
  --lw-deep-shadow: 0 28px 90px rgba(0,0,0,.36);
}
body{
  background:
    radial-gradient(circle at 50% -120px, rgba(var(--cl-accent), .16), transparent 440px),
    radial-gradient(circle at 0 14%, rgba(255,255,255,.035), transparent 340px),
    linear-gradient(180deg, color-mix(in srgb, rgb(var(--cl-background)), #000 2%) 0%, color-mix(in srgb, rgb(var(--cl-background)), #000 18%) 100%) !important;
}
#app{
  width: min(100%, var(--lw-max-desktop)) !important;
  max-width: var(--lw-max-desktop) !important;
  padding-left: clamp(1rem, 2vw, 1.65rem) !important;
  padding-right: clamp(1rem, 2vw, 1.65rem) !important;
}
.component{margin-top:clamp(.9rem,1.4vw,1.35rem)!important}

/* Desktop header should feel like a real site header, not a generated info card. */
.lw-header-v2{position:sticky!important;top:14px!important;z-index:80!important;margin-bottom:1.05rem!important}
.lw-header-shell-v2{
  border-radius:22px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.058), rgba(255,255,255,.018)), rgba(var(--cl-card), .82)!important;
  border:1px solid rgba(255,255,255,.09)!important;
  box-shadow:0 16px 48px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.055)!important;
}
.lw-header-main-v2{
  grid-template-columns:minmax(230px,auto) 1fr!important;
  min-height:74px!important;
  padding:.78rem .86rem .78rem 1rem!important;
  gap:1rem!important;
}
.lw-brand-v2{gap:.82rem!important}
.lw-brand-mark-v2{width:46px!important;height:46px!important;flex-basis:46px!important;border-radius:16px!important;background:rgba(255,255,255,.028)!important}
.lw-brand-text-v2 strong{font-size:1.22rem!important;letter-spacing:-.045em!important}
.lw-brand-text-v2 small{font-size:.66rem!important;color:rgba(var(--cl-accent),.76)!important;letter-spacing:.12em!important}
.lw-header-copy-v2{display:none!important}
.lw-header-actions-v2{justify-self:end!important;gap:.54rem!important;min-width:0!important}
.lw-head-pill-v2,.lw-menu-trigger-v2{
  min-height:42px!important;
  padding:0 1rem!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.035)!important;
  border-color:rgba(255,255,255,.09)!important;
  color:rgba(var(--cl-t-primary),.84)!important;
}
.lw-menu-trigger-v2{
  min-width:104px!important;
  background:rgba(var(--cl-accent),.105)!important;
  border-color:rgba(var(--cl-accent),.30)!important;
}
.lw-cart-pill-v2{min-width:96px!important}
.lw-cart-count-v2{top:-.32rem!important;right:-.22rem!important}
.lw-menu-popover-v2{
  right:.75rem!important;
  top:calc(100% + .62rem)!important;
  width:min(390px, calc(100vw - 2rem))!important;
  border-radius:22px!important;
  box-shadow:0 28px 90px rgba(0,0,0,.42)!important;
}
.lw-menu-grid-v2{grid-template-columns:1fr 1fr!important;gap:.55rem!important}
.lw-menu-link-v2{border-radius:15px!important;min-height:56px!important;background:rgba(255,255,255,.032)!important}

/* Homepage: strong desktop composition, compact mobile composition. */
.lw-home{display:block!important}
.lw-home-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(360px,.72fr)!important;
  gap:1.05rem!important;
  align-items:stretch!important;
  margin-top:.35rem!important;
}
.lw-home-hero__copy,.lw-home-panel,.lw-home-strip>div,.lw-home-card{
  border:1px solid rgba(255,255,255,.085)!important;
  background:linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.016)), rgba(var(--cl-card), .76)!important;
  box-shadow:var(--lw-soft-shadow)!important;
}
.lw-home-hero__copy{
  border-radius:28px!important;
  padding:clamp(1.45rem,3.4vw,3rem)!important;
  min-height:360px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  position:relative!important;
  overflow:hidden!important;
}
.lw-home-hero__copy:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(circle at 84% 0, rgba(var(--cl-accent),.14), transparent 280px);
}
.lw-home-kicker,.lw-card-label{color:rgba(var(--cl-accent),.8)!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:.72rem!important;font-weight:850!important}
.lw-home-hero h1{
  max-width:10.5ch!important;
  margin:.55rem 0 .85rem!important;
  font-size:clamp(3.35rem,6.2vw,6.25rem)!important;
  line-height:.9!important;
  letter-spacing:-.08em!important;
  font-weight:900!important;
}
.lw-home-lede{max-width:64ch!important;color:rgba(var(--cl-t-primary),.68)!important;line-height:1.72!important;font-size:1.02rem!important}
.lw-home-actions{margin-top:1.35rem!important;display:flex!important;gap:.7rem!important;flex-wrap:wrap!important}
.lw-home-btn,.lw-home-actions a,.lw-home-card a{
  min-height:45px!important;border-radius:14px!important;padding:.78rem 1.05rem!important;font-weight:820!important;text-decoration:none!important;
  display:inline-flex!important;align-items:center!important;gap:.55rem!important;border:1px solid rgba(255,255,255,.095)!important;
}
.lw-home-btn--primary,.lw-home-actions a:first-child{background:linear-gradient(180deg, rgb(var(--cl-accent)), color-mix(in srgb, rgb(var(--cl-accent)), #000 24%))!important;color:rgb(var(--cl-t-accent))!important;border-color:rgba(var(--cl-accent),.58)!important;box-shadow:0 14px 34px rgba(var(--cl-accent),.16)!important}
.lw-home-btn--secondary,.lw-home-actions a:last-child{background:rgba(255,255,255,.035)!important;color:rgba(var(--cl-t-primary),.86)!important}
.lw-home-panel{border-radius:28px!important;padding:1.2rem!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:360px!important;background:linear-gradient(180deg, rgba(var(--cl-accent),.08), rgba(255,255,255,.018)), rgba(var(--cl-card),.72)!important}
.lw-home-panel__top{display:flex!important;align-items:center!important;justify-content:space-between!important;border-bottom:1px solid rgba(255,255,255,.07)!important;padding-bottom:1rem!important;margin-bottom:1rem!important}
.lw-home-panel__top span{color:rgba(var(--cl-t-primary),.48)!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-weight:800!important}
.lw-home-panel__top strong{font-size:1.18rem!important;letter-spacing:-.03em!important}
.lw-home-checks{display:grid!important;gap:.72rem!important}
.lw-home-checks div{display:flex!important;align-items:flex-start!important;gap:.72rem!important;padding:.92rem!important;border-radius:18px!important;background:rgba(255,255,255,.036)!important;border:1px solid rgba(255,255,255,.07)!important;color:rgba(var(--cl-t-primary),.68)!important;line-height:1.45!important}
.lw-home-checks i{color:rgba(var(--cl-accent),.86)!important;margin-top:.1rem!important}
.lw-home-strip{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:.9rem!important;margin:1rem 0!important}
.lw-home-strip>div{border-radius:22px!important;padding:1rem!important}
.lw-home-strip span{color:rgba(var(--cl-accent),.74)!important;font-size:.74rem!important;font-weight:850!important}
.lw-home-strip strong{display:block!important;margin:.25rem 0!important;font-size:1rem!important;letter-spacing:-.02em!important}
.lw-home-strip p{margin:0!important;color:rgba(var(--cl-t-primary),.55)!important;font-size:.88rem!important;line-height:1.5!important}
.lw-home-content-grid{display:grid!important;grid-template-columns:1.15fr .925fr .925fr!important;gap:.9rem!important;margin-bottom:1.1rem!important}
.lw-home-card{border-radius:22px!important;padding:1.15rem!important;min-height:190px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important}
.lw-home-card h2{font-size:clamp(1.28rem,2vw,1.75rem)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin:.35rem 0 .55rem!important}
.lw-home-card p:not(.lw-card-label){color:rgba(var(--cl-t-primary),.58)!important;line-height:1.55!important;margin-bottom:auto!important}
.lw-home-card a{margin-top:1rem!important;color:rgba(var(--cl-t-primary),.88)!important;background:rgba(var(--cl-accent),.08)!important;border-color:rgba(var(--cl-accent),.22)!important}

/* Product/catalog desktop: wider, cleaner, less cramped. */
.lw-section-heading{max-width:860px!important;margin:0 auto 1.25rem!important;padding:1rem 1.2rem!important;border-radius:22px!important;background:rgba(255,255,255,.025)!important;border:1px solid rgba(255,255,255,.065)!important}
.lw-section-heading h1{font-size:clamp(2.35rem,3.6vw,4rem)!important;letter-spacing:-.065em!important}
[data-component-id*="products"] .grid.lg\:grid-cols-\[280px_1fr\]{grid-template-columns:260px minmax(0,1fr)!important;gap:1.15rem!important}
.lw-filter-panel{top:98px!important;border-radius:22px!important;box-shadow:var(--lw-soft-shadow)!important}
.lw-product-card{border-radius:22px!important;box-shadow:0 16px 42px rgba(0,0,0,.20)!important;min-height:100%!important}
.lw-product-card:hover{box-shadow:0 24px 64px rgba(0,0,0,.28)!important;transform:translateY(-3px)!important}
.lw-product-card .relative.overflow-hidden{padding:.68rem!important;margin-bottom:.35rem!important}
.lw-product-card img{padding:.25rem!important;max-height:280px!important;object-fit:contain!important}
.lw-product-card .text-left{padding:.95rem 1rem 1.05rem!important}
.lw-product-card h3{font-size:1rem!important;line-height:1.18!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}

/* Footer should not look like a default block on desktop. */
footer.component, footer.bg-background{border-radius:24px!important;background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.014)), rgba(var(--cl-card),.58)!important;box-shadow:0 14px 42px rgba(0,0,0,.18)!important}
.lw-footer-links{display:flex!important;gap:.45rem!important;flex-wrap:wrap!important;justify-content:flex-end!important}
.lw-footer-links a{border:1px solid rgba(255,255,255,.07)!important;border-radius:999px!important;padding:.45rem .72rem!important;background:rgba(255,255,255,.025)!important;text-decoration:none!important}

@media (min-width:1440px){
  :root{--lw-max-desktop:1420px}
  [data-component-id*="products"] .grid.lg\:grid-cols-\[280px_1fr\]{grid-template-columns:270px minmax(0,1fr)!important}
}
@media (max-width:1023px){
  #app{padding-left:.9rem!important;padding-right:.9rem!important}
  .lw-header-v2{top:.6rem!important}
  .lw-home-hero{grid-template-columns:1fr!important}
  .lw-home-hero__copy,.lw-home-panel{min-height:0!important}
  .lw-home-strip{grid-template-columns:1fr!important}
  .lw-home-content-grid{grid-template-columns:1fr!important}
  .lw-section-heading{text-align:left!important;margin-bottom:1rem!important}
}
@media (max-width:640px){
  body{background:linear-gradient(180deg, color-mix(in srgb, rgb(var(--cl-background)), #000 4%), color-mix(in srgb, rgb(var(--cl-background)), #000 18%))!important}
  #app{padding-left:.72rem!important;padding-right:.72rem!important}
  .lw-header-v2{top:.45rem!important;margin-bottom:.65rem!important}
  .lw-header-shell-v2{border-radius:18px!important}
  .lw-header-main-v2{grid-template-columns:minmax(0,1fr) auto!important;min-height:58px!important;padding:.54rem!important;gap:.42rem!important}
  .lw-brand-mark-v2{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:13px!important}
  .lw-brand-text-v2 strong{font-size:.98rem!important;max-width:42vw!important}
  .lw-brand-text-v2 small{font-size:.55rem!important;letter-spacing:.09em!important}
  .lw-header-actions-v2{gap:.28rem!important}
  .lw-head-pill-v2,.lw-menu-trigger-v2{min-height:38px!important;border-radius:12px!important;padding:0 .62rem!important;font-size:.75rem!important;min-width:auto!important}
  .lw-menu-trigger-v2{order:0!important;padding:0 .72rem!important}
  .lw-menu-trigger-v2>span:last-child{display:none!important}
  .lw-cart-pill-v2{min-width:0!important;padding:0 .62rem!important}
  .lw-pill-label-v2,.lw-cart-text-v2{display:none!important}
  .lw-menu-popover-v2{left:.35rem!important;right:.35rem!important;top:calc(100% + .45rem)!important;width:auto!important;max-height:calc(100vh - 6.5rem)!important;overflow:auto!important;border-radius:18px!important}
  .lw-menu-grid-v2{grid-template-columns:1fr!important}
  .lw-home-hero{gap:.72rem!important}
  .lw-home-hero__copy,.lw-home-panel,.lw-home-card,.lw-home-strip>div{border-radius:20px!important}
  .lw-home-hero__copy{padding:1.15rem!important}
  .lw-home-hero h1{font-size:clamp(2.3rem,13vw,3.25rem)!important;line-height:.95!important;max-width:11ch!important}
  .lw-home-lede{font-size:.94rem!important;line-height:1.58!important}
  .lw-home-actions{display:grid!important;grid-template-columns:1fr!important;gap:.55rem!important}
  .lw-home-btn,.lw-home-actions a{width:100%!important;justify-content:center!important;border-radius:14px!important}
  .lw-home-panel{padding:.9rem!important}
  .lw-home-checks div{padding:.78rem!important;border-radius:15px!important;font-size:.88rem!important}
  .lw-mobile-filter-toolbar{position:sticky!important;top:74px!important;z-index:38!important;margin:.1rem 0 .8rem!important;border-radius:18px!important;padding:.62rem!important}
  .lw-mobile-filter-toolbar strong{font-size:.88rem!important}
  .lw-mobile-filter-toolbar div>span{display:none!important}
  .lw-filter-button{min-width:0!important;min-height:38px!important;padding:0 .82rem!important}
  .lw-section-heading{padding:.85rem!important;border-radius:18px!important}
  .lw-section-heading h1{font-size:2rem!important}
  .lw-product-card{border-radius:18px!important}
  .lw-product-card .relative.overflow-hidden{padding:.5rem!important;margin-bottom:.15rem!important}
  .lw-product-card img{max-height:220px!important}
  .lw-product-card .text-left{padding:.85rem .9rem .95rem!important}
  footer.component,footer.bg-background{border-radius:18px!important}
  .lw-footer-links{justify-content:flex-start!important}
}


/* =========================================================
   LONGWALL LIVE-FIX V4 — brand-safe premium rebuild
   Goal: clean on desktop + mobile, no homepage product leakage.
   ========================================================= */
:root{
  --lw-bg-deep: color-mix(in srgb, rgb(var(--cl-background)), #000 20%);
  --lw-panel: rgba(var(--cl-card), .68);
  --lw-line: rgba(255,255,255,.085);
  --lw-text-soft: rgba(var(--cl-t-primary), .66);
  --lw-shadow: 0 18px 60px rgba(0,0,0,.32);
  --lw-shadow-soft: 0 10px 34px rgba(0,0,0,.22);
  --lw-radius-xl: 24px;
  --lw-radius: 16px;
}
html,body{overflow-x:hidden!important}
body.lw-template-shop{background:radial-gradient(circle at 50% -10%, rgba(var(--cl-accent),.12), transparent 34rem), linear-gradient(180deg, rgb(var(--cl-background)), var(--lw-bg-deep))!important}
.lw-app-shell{max-width:1320px!important;width:100%!important;margin-inline:auto!important;padding:16px!important}
@media(min-width:1024px){.lw-app-shell{padding:24px!important}}

/* Header: proper nav bar, not a giant card. */
.lw-header-v2,.lw-header-pro{position:sticky!important;top:12px!important;z-index:80!important;margin:0 0 18px!important}
.lw-header-frame{position:relative!important}
.lw-header-bar{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  min-height:72px!important;padding:10px 12px 10px 14px!important;border:1px solid var(--lw-line)!important;border-radius:20px!important;
  background:linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025)), rgba(8,12,20,.82)!important;
  backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;box-shadow:var(--lw-shadow-soft)!important;
}
.lw-brand-pro{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;text-decoration:none!important;color:rgb(var(--cl-t-primary))!important}
.lw-brand-logo-pro{width:48px!important;height:48px!important;display:grid!important;place-items:center!important;border-radius:16px!important;overflow:hidden!important;background:rgba(255,255,255,.04)!important;border:1px solid var(--lw-line)!important;flex:0 0 auto!important}
.lw-brand-logo-pro img{width:100%!important;height:100%!important;object-fit:cover!important}
.lw-brand-name-pro{display:flex!important;flex-direction:column!important;min-width:0!important;line-height:1.05!important}
.lw-brand-name-pro strong{font-size:1.05rem!important;font-weight:850!important;letter-spacing:-.035em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:42vw!important}
.lw-brand-name-pro small{margin-top:4px!important;color:var(--lw-text-soft)!important;font-size:.72rem!important;font-weight:650!important;letter-spacing:.02em!important;text-transform:none!important}
.lw-header-controls{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
.lw-head-button,.lw-menu-button{
  appearance:none!important;border:1px solid var(--lw-line)!important;background:rgba(255,255,255,.045)!important;color:rgba(var(--cl-t-primary),.92)!important;
  min-height:44px!important;padding:0 14px!important;border-radius:14px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  font-size:.88rem!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important;transition:transform .16s ease, border-color .16s ease, background .16s ease!important;
}
.lw-head-button:hover,.lw-menu-button:hover{transform:translateY(-1px)!important;border-color:rgba(var(--cl-accent),.38)!important;background:rgba(var(--cl-accent),.10)!important}
.lw-cart-button{position:relative!important;background:rgba(var(--cl-accent),.09)!important;border-color:rgba(var(--cl-accent),.24)!important}
.lw-cart-button b{position:absolute!important;right:-6px!important;top:-7px!important;min-width:19px!important;height:19px!important;border-radius:999px!important;background:rgb(var(--cl-accent))!important;color:rgb(var(--cl-t-accent))!important;display:grid!important;place-items:center!important;font-size:.67rem!important;line-height:1!important;padding:0 5px!important;border:2px solid rgb(var(--cl-background))!important}
.lw-menu-button{background:linear-gradient(180deg, rgba(var(--cl-accent),.16), rgba(var(--cl-accent),.07))!important;border-color:rgba(var(--cl-accent),.32)!important}
.lw-menu-icon{width:17px!important;height:14px!important;position:relative!important;display:inline-flex!important;flex-direction:column!important;justify-content:space-between!important}
.lw-menu-icon i{display:block!important;height:2px!important;border-radius:999px!important;background:currentColor!important;width:100%!important}
.lw-menu-drawer{
  position:absolute!important;right:0!important;top:calc(100% + 10px)!important;width:min(390px, calc(100vw - 32px))!important;z-index:90!important;
  border:1px solid var(--lw-line)!important;border-radius:22px!important;background:rgba(8,12,20,.96)!important;backdrop-filter:blur(20px)!important;-webkit-backdrop-filter:blur(20px)!important;
  box-shadow:var(--lw-shadow)!important;padding:12px!important;color:rgb(var(--cl-t-primary))!important;
}
.lw-menu-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;padding:6px 6px 12px!important;border-bottom:1px solid var(--lw-line)!important;margin-bottom:10px!important}
.lw-menu-head strong{display:block!important;font-size:1rem!important;letter-spacing:-.02em!important}.lw-menu-head span{display:block!important;margin-top:3px!important;color:var(--lw-text-soft)!important;font-size:.78rem!important}.lw-menu-head button{width:34px!important;height:34px!important;border-radius:12px!important;border:1px solid var(--lw-line)!important;background:rgba(255,255,255,.045)!important;color:rgb(var(--cl-t-primary))!important}
.lw-menu-list{display:grid!important;gap:7px!important}.lw-menu-item{width:100%!important;border:1px solid transparent!important;background:transparent!important;color:rgba(var(--cl-t-primary),.88)!important;border-radius:14px!important;padding:12px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;text-decoration:none!important;font-weight:720!important;text-align:left!important}.lw-menu-item:hover,.lw-menu-item.is-active{background:rgba(var(--cl-accent),.10)!important;border-color:rgba(var(--cl-accent),.22)!important}.lw-menu-item i{opacity:.58!important}.lw-menu-foot{margin-top:10px!important;padding:10px 12px!important;border-radius:14px!important;background:rgba(255,255,255,.035)!important;color:var(--lw-text-soft)!important;font-size:.78rem!important;line-height:1.45!important}
/* Disable old header versions if both exist. */
.lw-header-shell-v2,.lw-header-main-v2,.lw-menu-popover-v2{all:revert-layer}

/* Homepage: no product/search/catalog content. */
.lw-home-final{display:grid!important;gap:16px!important;margin-top:4px!important}
.lw-home-landing{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(330px,.55fr)!important;gap:16px!important;align-items:stretch!important}
.lw-home-copy-final,.lw-access-card-final,.lw-home-tile-final{
  border:1px solid var(--lw-line)!important;background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)), var(--lw-panel)!important;
  border-radius:var(--lw-radius-xl)!important;box-shadow:var(--lw-shadow-soft)!important;color:rgb(var(--cl-t-primary))!important;
}
.lw-home-copy-final{min-height:430px!important;padding:clamp(28px,5vw,64px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;position:relative!important;overflow:hidden!important}
.lw-home-copy-final:after{content:"";position:absolute!important;right:-12%;top:-25%;width:430px;height:430px;border-radius:999px;background:rgba(var(--cl-accent),.11);filter:blur(12px);pointer-events:none!important}
.lw-kicker-final{position:relative!important;z-index:1!important;margin:0 0 14px!important;color:rgba(var(--cl-accent),.88)!important;text-transform:uppercase!important;letter-spacing:.16em!important;font-size:.76rem!important;font-weight:900!important}
.lw-home-copy-final h1{position:relative!important;z-index:1!important;max-width:760px!important;font-size:clamp(3.3rem,7vw,6.6rem)!important;line-height:.88!important;letter-spacing:-.085em!important;font-weight:920!important;margin:0 0 18px!important}
.lw-lede-final{position:relative!important;z-index:1!important;max-width:680px!important;color:var(--lw-text-soft)!important;font-size:1.02rem!important;line-height:1.72!important;margin:0!important}
.lw-home-actions-final{position:relative!important;z-index:1!important;display:flex!important;gap:10px!important;flex-wrap:wrap!important;margin-top:24px!important}
.lw-btn-final{min-height:48px!important;padding:0 18px!important;border-radius:15px!important;display:inline-flex!important;align-items:center!important;gap:9px!important;text-decoration:none!important;font-weight:820!important;border:1px solid var(--lw-line)!important}.lw-btn-primary-final{background:rgb(var(--cl-accent))!important;color:rgb(var(--cl-t-accent))!important;border-color:rgba(var(--cl-accent),.55)!important}.lw-btn-secondary-final{background:rgba(255,255,255,.045)!important;color:rgba(var(--cl-t-primary),.9)!important}
.lw-access-card-final{padding:18px!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;min-height:430px!important}.lw-access-card-top{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;padding-bottom:16px!important;border-bottom:1px solid var(--lw-line)!important}.lw-access-card-top span{color:var(--lw-text-soft)!important;font-size:.74rem!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-weight:850!important}.lw-access-card-top strong{font-size:1.15rem!important;letter-spacing:-.03em!important}.lw-access-card-final ul{display:grid!important;gap:10px!important;margin:16px 0 0!important;padding:0!important;list-style:none!important}.lw-access-card-final li{display:flex!important;gap:12px!important;align-items:flex-start!important;border:1px solid var(--lw-line)!important;background:rgba(255,255,255,.035)!important;border-radius:17px!important;padding:14px!important;color:var(--lw-text-soft)!important;line-height:1.48!important}.lw-access-card-final i{color:rgba(var(--cl-accent),.9)!important;margin-top:3px!important}
.lw-home-cards-final{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}.lw-home-tile-final{padding:18px!important;text-decoration:none!important;min-height:150px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;transition:transform .16s ease, border-color .16s ease!important}.lw-home-tile-final:hover{transform:translateY(-2px)!important;border-color:rgba(var(--cl-accent),.30)!important}.lw-home-tile-final span{color:rgba(var(--cl-accent),.82)!important;text-transform:uppercase!important;letter-spacing:.14em!important;font-size:.72rem!important;font-weight:900!important}.lw-home-tile-final strong{font-size:1.22rem!important;line-height:1.16!important;margin:12px 0 8px!important;color:rgb(var(--cl-t-primary))!important;letter-spacing:-.035em!important}.lw-home-tile-final small{font-size:.9rem!important;line-height:1.5!important;color:var(--lw-text-soft)!important}
body.lw-template-shop .component[data-component-id*="products"], body.lw-template-shop .lw-mobile-filter-toolbar, body.lw-template-shop .lw-filter-panel, body.lw-template-shop form[action*="products"], body.lw-template-shop .lw-section-heading{display:none!important}

/* Catalog and card cleanup for desktop/mobile. */
.lw-section-heading{padding:18px 20px!important;border-radius:22px!important;border:1px solid var(--lw-line)!important;background:rgba(255,255,255,.03)!important;margin:0 0 16px!important;max-width:none!important;text-align:left!important}.lw-section-heading p{color:rgba(var(--cl-accent),.82)!important}.lw-section-heading h1{font-size:clamp(2.1rem,4vw,4rem)!important;line-height:.95!important;letter-spacing:-.065em!important}.lw-section-heading span{color:var(--lw-text-soft)!important}
.lw-mobile-filter-toolbar{border:1px solid var(--lw-line)!important;border-radius:18px!important;background:rgba(8,12,20,.88)!important;backdrop-filter:blur(14px)!important;box-shadow:var(--lw-shadow-soft)!important}
.lw-action-button,.lw-filter-button,.button,button[type="submit"]{border-radius:14px!important;font-weight:780!important}.lw-filter-panel{border-radius:20px!important;background:rgba(var(--cl-card),.72)!important;border:1px solid var(--lw-line)!important;box-shadow:var(--lw-shadow-soft)!important}
.lw-product-card{border-radius:20px!important;border:1px solid var(--lw-line)!important;background:linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)), rgba(var(--cl-card),.68)!important;box-shadow:0 12px 34px rgba(0,0,0,.22)!important;overflow:hidden!important;transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease!important}.lw-product-card:hover{transform:translateY(-2px)!important;border-color:rgba(var(--cl-accent),.26)!important;box-shadow:0 18px 44px rgba(0,0,0,.28)!important}.lw-product-card .relative.overflow-hidden{background:rgba(255,255,255,.026)!important;border-bottom:1px solid var(--lw-line)!important}.lw-product-card img{object-fit:contain!important;background:rgba(0,0,0,.12)!important}.lw-product-card h3{font-weight:830!important;letter-spacing:-.025em!important}.lw-product-price{color:rgba(var(--cl-t-primary),.74)!important}.lw-product-price span.text-accent-500{color:rgba(var(--cl-accent),.95)!important}

/* Modals/select leaks that were making live look broken. */
select{max-width:100%!important}.lw-desktop-only-v2,.lw-language-wrap,.lw-compact-select{display:none!important}.choices{color:rgb(var(--cl-t-primary))!important}

@media(max-width:1023px){
  .lw-app-shell{padding:12px!important}.lw-header-pro{top:8px!important;margin-bottom:12px!important}.lw-header-bar{min-height:64px!important;border-radius:18px!important;padding:8px!important}.lw-brand-logo-pro{width:42px!important;height:42px!important;border-radius:14px!important}.lw-brand-name-pro strong{font-size:.98rem!important;max-width:44vw!important}.lw-brand-name-pro small{font-size:.66rem!important}.lw-head-button,.lw-menu-button{min-height:42px!important;padding:0 12px!important;border-radius:13px!important}.lw-home-landing{grid-template-columns:1fr!important}.lw-access-card-final{min-height:0!important}.lw-home-cards-final{grid-template-columns:1fr!important}.lw-home-copy-final{min-height:0!important}.lw-home-copy-final h1{font-size:clamp(3rem,10vw,5rem)!important}.lw-lede-final{font-size:.98rem!important}.lw-mobile-filter-toolbar{position:sticky!important;top:82px!important;z-index:50!important;margin:0 0 12px!important}
}
@media(max-width:640px){
  .lw-app-shell{padding:9px!important}.lw-header-pro{top:7px!important}.lw-header-bar{min-height:58px!important;border-radius:16px!important;gap:7px!important}.lw-brand-pro{gap:8px!important}.lw-brand-logo-pro{width:38px!important;height:38px!important;border-radius:12px!important}.lw-brand-name-pro strong{font-size:.91rem!important;max-width:39vw!important}.lw-brand-name-pro small{display:none!important}.lw-header-controls{gap:5px!important}.lw-head-button,.lw-menu-button{min-height:38px!important;padding:0 10px!important;font-size:.8rem!important}.lw-head-button span{display:none!important}.lw-menu-button span:last-child{font-size:.78rem!important}.lw-head-button i{font-size:.95rem!important}.lw-menu-drawer{left:9px!important;right:9px!important;top:calc(100% + 8px)!important;width:auto!important;border-radius:18px!important;max-height:calc(100vh - 88px)!important;overflow:auto!important}.lw-menu-item{padding:13px 12px!important}.lw-home-final{gap:10px!important}.lw-home-landing{gap:10px!important}.lw-home-copy-final,.lw-access-card-final,.lw-home-tile-final{border-radius:18px!important}.lw-home-copy-final{padding:22px!important}.lw-home-copy-final h1{font-size:clamp(2.45rem,13.5vw,3.7rem)!important;line-height:.92!important;letter-spacing:-.075em!important}.lw-lede-final{font-size:.93rem!important;line-height:1.58!important}.lw-home-actions-final{display:grid!important;grid-template-columns:1fr!important;margin-top:18px!important}.lw-btn-final{width:100%!important;justify-content:center!important}.lw-access-card-final{padding:14px!important}.lw-access-card-final li{padding:12px!important;border-radius:15px!important;font-size:.9rem!important}.lw-home-tile-final{min-height:120px!important;padding:15px!important}.lw-section-heading{border-radius:18px!important;padding:14px!important}.lw-section-heading h1{font-size:2.2rem!important}.lw-mobile-filter-toolbar{top:70px!important;border-radius:16px!important;padding:9px!important}.lw-mobile-filter-toolbar div span{display:none!important}.lw-filter-button{min-height:38px!important;padding:0 12px!important}.lw-product-card{border-radius:18px!important}.lw-product-card .text-left{padding:13px 14px 15px!important}.lw-product-card h3{font-size:1rem!important;white-space:normal!important}.lw-product-card img{max-height:230px!important}
}


/* LONGWALL DESKTOP HERO CONTAINMENT FIX
   Fixes the hero headline clipping seen on desktop/medium widths while keeping
   the premium locked-home look. */
#app.lw-app-shell{
  width:min(100%, 1320px)!important;
  max-width:1320px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding:16px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
@media (min-width:1024px){
  #app.lw-app-shell{padding:22px!important;}
}
.lw-home-final,
.lw-home-landing,
.lw-home-copy-final,
.lw-access-card-final,
.lw-home-cards-final,
.lw-home-tile-final{
  box-sizing:border-box!important;
  max-width:100%!important;
}
.lw-home-landing{
  grid-template-columns:minmax(0, 1fr) minmax(300px, 372px)!important;
  gap:16px!important;
  width:100%!important;
}
.lw-home-copy-final{
  min-width:0!important;
  min-height:390px!important;
  padding:clamp(24px, 3.8vw, 46px)!important;
  overflow:hidden!important;
}
.lw-kicker-final,
.lw-home-copy-final h1,
.lw-lede-final,
.lw-home-actions-final{
  min-width:0!important;
  max-width:100%!important;
}
.lw-home-copy-final h1{
  font-size:clamp(3rem, 5.25vw, 5.55rem)!important;
  line-height:.92!important;
  letter-spacing:-.075em!important;
  max-width:10.9ch!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
}
.lw-lede-final{
  max-width:62ch!important;
  font-size:1rem!important;
  line-height:1.66!important;
}
.lw-access-card-final{
  min-height:390px!important;
  justify-content:flex-start!important;
  gap:16px!important;
}
.lw-access-card-final ul{
  margin-top:auto!important;
}
@media (max-width:1180px) and (min-width:1024px){
  #app.lw-app-shell{padding:18px!important;}
  .lw-home-landing{grid-template-columns:minmax(0, 1fr) minmax(300px, 354px)!important;gap:14px!important;}
  .lw-home-copy-final{padding:clamp(22px, 3vw, 34px)!important;min-height:360px!important;}
  .lw-access-card-final{min-height:360px!important;}
  .lw-home-copy-final h1{font-size:clamp(2.8rem, 5vw, 4.75rem)!important;max-width:11.4ch!important;letter-spacing:-.068em!important;}
  .lw-lede-final{font-size:.98rem!important;line-height:1.62!important;max-width:58ch!important;}
}
@media (max-width:900px){
  .lw-home-landing{grid-template-columns:1fr!important;}
  .lw-access-card-final{min-height:0!important;}
  .lw-access-card-final ul{margin-top:0!important;}
}
@media (max-width:640px){
  #app.lw-app-shell{padding:9px!important;}
  .lw-home-copy-final{padding:20px!important;}
  .lw-home-copy-final h1{font-size:clamp(2.35rem, 12.8vw, 3.45rem)!important;max-width:10.8ch!important;line-height:.94!important;}
}


/* =========================================================
   LONGWALL PRODUCT ARRANGEMENT V5
   Cleaner catalog grid + tighter product cards on desktop and mobile.
   ========================================================= */
.lw-catalog-grid-v5{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(238px,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  width:100%!important;
}
.lw-catalog-grid-centered-v5{justify-content:center!important;}
.lw-catalog-cell-v5{min-width:0!important;height:100%!important;}
@media (min-width:1280px){
  .lw-catalog-grid-v5{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
}
@media (min-width:1540px){
  .lw-catalog-grid-v5{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}

.lw-product-card-v5{
  text-decoration:none!important;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.105)!important;
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--cl-accent),.14), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
    rgba(var(--cl-card),.72)!important;
  box-shadow:0 14px 36px rgba(0,0,0,.25)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease!important;
}
.lw-product-card-v5:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(var(--cl-accent),.34)!important;
  box-shadow:0 22px 52px rgba(0,0,0,.34)!important;
}
.lw-product-card-inner-v5{display:flex!important;flex-direction:column!important;height:100%!important;min-height:0!important;}
.lw-product-media-v5{
  position:relative!important;
  margin:10px 10px 0!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:linear-gradient(180deg, rgba(255,255,255,.038), rgba(0,0,0,.11))!important;
  min-height:178px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.lw-product-media-v5 img{
  width:100%!important;
  height:190px!important;
  object-fit:contain!important;
  padding:12px!important;
  border-radius:18px!important;
  background:transparent!important;
  transition:transform .18s ease!important;
}
.lw-product-card-v5:hover .lw-product-media-v5 img{transform:scale(1.025)!important;}
.lw-product-placeholder-v5{display:flex!important;align-items:center!important;justify-content:center!important;color:rgba(var(--cl-accent),.62)!important;width:100%!important;height:190px!important;}
.lw-card-badges-v5{
  position:absolute!important;
  top:10px!important;
  left:10px!important;
  right:10px!important;
  z-index:2!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
}
.lw-card-badge-v5{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  max-width:100%!important;
  border:1px solid color-mix(in srgb, var(--badge-color), white 22%)!important;
  background:color-mix(in srgb, var(--badge-color), black 58%)!important;
  color:white!important;
  border-radius:999px!important;
  padding:5px 8px!important;
  font-size:.66rem!important;
  font-weight:850!important;
  letter-spacing:.03em!important;
  line-height:1!important;
  box-shadow:0 10px 22px rgba(0,0,0,.28)!important;
}
.lw-product-body-v5{display:flex!important;flex-direction:column!important;gap:10px!important;flex:1!important;padding:14px 16px 16px!important;min-height:0!important;}
.lw-product-meta-v5{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;min-width:0!important;}
.lw-product-type-v5{
  color:rgba(var(--cl-accent),.92)!important;
  font-size:.67rem!important;
  font-weight:900!important;
  text-transform:uppercase!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
}
.lw-product-stock-v5{
  color:rgba(var(--cl-t-primary),.62)!important;
  font-size:.76rem!important;
  font-weight:760!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:48%!important;
}
.lw-product-card-v5 h3{
  margin:0!important;
  color:rgb(var(--cl-t-primary))!important;
  font-size:1.06rem!important;
  line-height:1.18!important;
  min-height:2.35em!important;
  font-weight:880!important;
  letter-spacing:-.035em!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.lw-product-rule-v5{height:1px!important;background:linear-gradient(90deg, rgba(var(--cl-accent),.26), rgba(255,255,255,.055), transparent)!important;margin-top:auto!important;}
.lw-product-bottom-v5{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:12px!important;}
.lw-product-price-wrap-v5{display:flex!important;flex-direction:column!important;gap:1px!important;min-width:0!important;}
.lw-price-label-v5{font-size:.68rem!important;text-transform:uppercase!important;letter-spacing:.11em!important;color:rgba(var(--cl-t-primary),.42)!important;font-weight:850!important;}
.lw-product-price-v5{font-size:1.08rem!important;line-height:1.1!important;color:rgba(var(--cl-accent),.98)!important;font-weight:920!important;letter-spacing:-.025em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important;}
.lw-price-dash-v5{color:rgba(var(--cl-t-primary),.42)!important;margin:0 2px!important;}
.lw-slash-v5{color:rgba(var(--cl-t-primary),.38)!important;text-decoration:line-through!important;font-size:.78rem!important;}
.lw-card-cta-v5{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:0 13px!important;
  border-radius:12px!important;
  border:1px solid rgba(var(--cl-accent),.24)!important;
  background:rgba(var(--cl-accent),.10)!important;
  color:rgba(var(--cl-t-primary),.88)!important;
  font-size:.82rem!important;
  font-weight:850!important;
  transition:background .16s ease, border-color .16s ease!important;
}
.lw-product-card-v5:hover .lw-card-cta-v5{background:rgba(var(--cl-accent),.18)!important;border-color:rgba(var(--cl-accent),.38)!important;}

/* Make the catalog area feel arranged instead of dumped on the page. */
.component[data-component-id] .grid.lg\:grid-cols-\[280px_1fr\]{gap:20px!important;align-items:start!important;}
.lw-filter-panel{top:94px!important;}

@media (max-width:1023px){
  .lw-catalog-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
  .lw-product-media-v5{min-height:158px!important;margin:8px 8px 0!important;border-radius:16px!important;}
  .lw-product-media-v5 img,.lw-product-placeholder-v5{height:168px!important;}
  .lw-product-body-v5{padding:12px 13px 14px!important;gap:9px!important;}
}
@media (max-width:640px){
  .lw-catalog-grid-v5{grid-template-columns:1fr!important;gap:10px!important;}
  .lw-product-card-v5{border-radius:18px!important;}
  .lw-product-card-inner-v5{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;min-height:142px!important;}
  .lw-product-media-v5{margin:8px 0 8px 8px!important;min-height:0!important;border-radius:15px!important;align-self:stretch!important;}
  .lw-product-media-v5 img,.lw-product-placeholder-v5{height:100%!important;min-height:124px!important;padding:8px!important;}
  .lw-card-badges-v5{top:7px!important;left:7px!important;right:7px!important;justify-content:flex-start!important;}
  .lw-card-badge-v5{font-size:.58rem!important;padding:4px 6px!important;}
  .lw-product-body-v5{padding:11px 12px!important;gap:7px!important;}
  .lw-product-meta-v5{align-items:flex-start!important;gap:6px!important;}
  .lw-product-type-v5{font-size:.58rem!important;letter-spacing:.09em!important;max-width:56%!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .lw-product-stock-v5{font-size:.68rem!important;max-width:46%!important;text-align:right!important;}
  .lw-product-card-v5 h3{font-size:.96rem!important;line-height:1.16!important;min-height:auto!important;-webkit-line-clamp:2!important;}
  .lw-product-rule-v5{margin-top:0!important;}
  .lw-product-bottom-v5{align-items:center!important;gap:8px!important;}
  .lw-price-label-v5{display:none!important;}
  .lw-product-price-v5{font-size:.98rem!important;}
  .lw-card-cta-v5{min-height:32px!important;padding:0 10px!important;border-radius:10px!important;font-size:.76rem!important;}
}
@media (max-width:380px){
  .lw-product-card-inner-v5{grid-template-columns:96px minmax(0,1fr)!important;}
  .lw-product-media-v5 img,.lw-product-placeholder-v5{min-height:116px!important;}
  .lw-card-cta-v5{display:none!important;}
}


/* LongWall cleanup: remove leftover template-feeling helper text without changing layout */
.lw-menu-head span:empty{display:none!important}
.lw-auth-copy h2{letter-spacing:-.045em}
.lw-auth-actions p,.lw-auth-rules span{font-weight:450}
.lw-product-type-v5,.lw-price-label-v5{text-transform:uppercase;letter-spacing:.11em}


/* LongWall text cleanup pass: remove template-looking selector clutter and polish public copy areas. */
.language-selector .choices__placeholder,
.currency-selector .choices__placeholder,
.lw-template-status .language-selector,
.lw-template-status .currency-selector,
.lw-template-shop .language-selector,
.lw-template-shop .currency-selector {
  display: none !important;
}
.lw-auth-copy p,
.lw-lede-final,
.lw-footer-note,
.lw-menu-foot {
  text-wrap: pretty;
}
.lw-section-heading span {
  max-width: 42rem;
}

/* LongWall checkout/cart premium patch — applied inside the theme, not as a separate unused file. */
.lw-checkout-component,
.lw-checkout-page,
.lw-checkout-wrap {
  width: 100% !important;
  max-width: 100% !important;
}
.lw-checkout-wrap {
  padding-top: clamp(1rem, 2.4vw, 2rem) !important;
}
.lw-checkout-page::before {
  content: "Secure checkout";
  display: block;
  width: min(100%, 1180px);
  margin: 0 auto .8rem;
  color: rgba(var(--cl-t-primary), .48);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.lw-checkout-grid {
  width: min(100%, 1180px) !important;
  margin-inline: auto !important;
  align-items: flex-start !important;
  gap: clamp(1rem, 2vw, 1.4rem) !important;
}
@media (min-width: 1024px) {
  .lw-cart-items-col { width: minmax(0, 1fr) !important; flex: 1 1 auto !important; }
  .lw-order-summary-col { width: 360px !important; flex: 0 0 360px !important; }
  .lw-order-summary-col > .flex { position: sticky !important; top: 96px !important; }
}
.lw-checkout-component .bg-card,
.lw-cart-row,
.lw-order-summary-card {
  border: 1px solid rgba(255,255,255,.09) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.052), rgba(255,255,255,.018)),
    rgba(var(--cl-card), .76) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.045) !important;
}
.lw-cart-row {
  border-radius: 22px !important;
  padding: .55rem !important;
  overflow: hidden !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease !important;
}
.lw-cart-row:hover {
  transform: translateY(-1px) !important;
  border-color: rgba(var(--cl-accent), .22) !important;
  background:
    linear-gradient(180deg, rgba(var(--cl-accent), .045), rgba(255,255,255,.014)),
    rgba(var(--cl-card), .82) !important;
}
.lw-cart-row img {
  border-radius: 18px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.03) !important;
}
.lw-cart-row a {
  font-size: clamp(.98rem, 1.4vw, 1.12rem) !important;
  letter-spacing: -.015em !important;
  text-decoration: none !important;
}
.lw-cart-row a:hover { color: rgb(var(--cl-accent)) !important; }
.lw-cart-row p,
.lw-cart-row .text-t-primary\/75,
.lw-cart-row .text-t-primary\/50 {
  color: rgba(var(--cl-t-primary), .58) !important;
}
.lw-cart-row input[type="number"] {
  height: 38px !important;
  min-width: 54px !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  background: rgba(255,255,255,.045) !important;
  font-weight: 800 !important;
}
.lw-cart-row button,
.lw-order-summary-card button,
.lw-checkout-submit {
  border-radius: 14px !important;
}
.lw-cart-row button[type="button"] {
  min-width: 38px !important;
  min-height: 38px !important;
}
.lw-cart-row .text-base,
.lw-cart-row .text-lg { line-height: 1.2 !important; }
.lw-order-summary-card {
  border-radius: 26px !important;
  padding: clamp(1.05rem, 2vw, 1.35rem) !important;
  overflow: hidden !important;
}
.lw-order-summary-card::before {
  content: "Order summary";
  display: block;
  margin-bottom: .85rem;
  color: rgba(var(--cl-t-primary), .88);
  font-size: 1.05rem;
  font-weight: 900;
  letter-spacing: -.025em;
}
.lw-order-summary-card label,
.lw-order-summary-card .font-medium {
  font-weight: 850 !important;
  letter-spacing: -.02em !important;
}
.lw-order-summary-card .border-b {
  border-color: rgba(255,255,255,.09) !important;
}
.lw-order-summary-card form > div:first-child {
  border-radius: 18px !important;
  background: rgba(255,255,255,.025) !important;
  border: 1px solid rgba(255,255,255,.07) !important;
  padding: .85rem !important;
}
.lw-cart-attest {
  border-radius: 18px !important;
  border: 1px solid rgba(var(--cl-accent), .22) !important;
  background:
    linear-gradient(180deg, rgba(var(--cl-accent), .08), rgba(var(--cl-accent), .035)) !important;
  padding: .85rem !important;
  color: rgba(var(--cl-t-primary), .72) !important;
}
.lw-cart-attest label {
  display: flex !important;
  gap: .75rem !important;
  line-height: 1.45 !important;
  font-size: .86rem !important;
}
.lw-cart-attest input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: rgb(var(--cl-accent)) !important;
  flex: 0 0 auto !important;
  margin-top: .08rem !important;
}
.lw-checkout-submit {
  min-height: 52px !important;
  padding: .95rem 1.1rem !important;
  font-size: .98rem !important;
  font-weight: 900 !important;
  letter-spacing: -.012em !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    rgb(var(--cl-accent)) !important;
  box-shadow: 0 16px 34px rgba(var(--cl-accent), .20), inset 0 1px 0 rgba(255,255,255,.23) !important;
}
.lw-checkout-submit:hover:enabled {
  transform: translateY(-1px) !important;
  filter: brightness(1.05) !important;
}
.lw-checkout-submit:disabled {
  filter: grayscale(.25) !important;
  box-shadow: none !important;
}
.lw-order-summary-card altcha-widget,
.lw-order-summary-card [class*="captcha"],
.lw-order-summary-card [id*="captcha"] {
  display: block !important;
  margin-top: 1rem !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}
.lw-checkout-component .bg-red-500 {
  border-radius: 16px !important;
  background: rgba(239,68,68,.14) !important;
  border-color: rgba(239,68,68,.35) !important;
  color: rgba(255,255,255,.92) !important;
}
@media (max-width: 767px) {
  .lw-checkout-page::before {
    width: 100% !important;
    margin: .2rem 0 .65rem !important;
    padding-inline: .15rem !important;
    font-size: .7rem !important;
  }
  .lw-checkout-wrap { padding-top: .6rem !important; }
  .lw-checkout-grid { gap: .85rem !important; margin-bottom: 5.5rem !important; }
  .lw-cart-row {
    border-radius: 20px !important;
    padding: .5rem !important;
  }
  .lw-cart-row > .flex-1 { gap: .65rem !important; }
  .lw-cart-row .max-w-24 {
    max-width: 86px !important;
    width: 86px !important;
    padding: .25rem !important;
  }
  .lw-cart-row img { border-radius: 14px !important; }
  .lw-cart-row .pr-2 { padding-right: .3rem !important; }
  .lw-cart-row a { font-size: .94rem !important; }
  .lw-cart-row p { font-size: .78rem !important; }
  .lw-cart-row .border-t {
    margin-top: .55rem !important;
    padding: .65rem .45rem .35rem !important;
    border-color: rgba(255,255,255,.075) !important;
  }
  .lw-cart-row button[type="button"] { min-width: 36px !important; min-height: 36px !important; }
  .lw-order-summary-col { width: 100% !important; }
  .lw-order-summary-card {
    border-radius: 22px !important;
    padding: 1rem !important;
  }
  .lw-checkout-submit {
    min-height: 50px !important;
    position: sticky !important;
    bottom: .8rem !important;
    z-index: 20 !important;
  }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .lw-checkout-grid { width: min(100%, 940px) !important; }
  .lw-order-summary-col { flex-basis: 320px !important; width: 320px !important; }
}

/* =========================================================
   LONGWALL V8 — unified trust-first visual layer
   Final cascade layer: visual hierarchy, clarity, and access.
   ========================================================= */
:root {
  --lw-v8-line: rgba(255, 255, 255, .09);
  --lw-v8-line-strong: rgba(var(--cl-accent), .30);
  --lw-v8-panel: rgba(var(--cl-card), .78);
  --lw-v8-soft: rgba(var(--cl-t-primary), .62);
  --lw-v8-muted: rgba(var(--cl-t-primary), .44);
  --lw-v8-shadow: 0 22px 70px rgba(0, 0, 0, .28);
}

html { scroll-padding-top: 7rem; }
body {
  background:
    radial-gradient(circle at 50% -14rem, rgba(var(--cl-accent), .11), transparent 32rem),
    linear-gradient(180deg, rgb(var(--cl-background)), rgba(0, 0, 0, .18)),
    rgb(var(--cl-background)) !important;
}

a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(var(--cl-accent), .42) !important;
  outline-offset: 3px !important;
}

/* Header: compact, stable, and clearly navigable. */
.lw-site-header.lw-header-pro {
  top: .65rem !important;
  margin-bottom: 1rem !important;
}
.lw-header-bar {
  min-height: 66px !important;
  border-radius: 18px !important;
  background: rgba(7, 11, 19, .90) !important;
  border-color: var(--lw-v8-line) !important;
  box-shadow: 0 14px 42px rgba(0, 0, 0, .24) !important;
}
.lw-brand-logo-pro {
  width: 44px !important;
  height: 44px !important;
  border-radius: 13px !important;
  background: transparent !important;
}
.lw-brand-logo-pro img {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  object-fit: contain !important;
}
.lw-brand-name-pro strong { font-size: 1.08rem !important; }
.lw-brand-name-pro small {
  color: rgba(var(--cl-accent), .78) !important;
  font-size: .67rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.lw-head-button, .lw-menu-button {
  border-radius: 12px !important;
  background: rgba(255, 255, 255, .035) !important;
}
.lw-menu-button {
  background: rgba(var(--cl-accent), .11) !important;
  border-color: rgba(var(--cl-accent), .27) !important;
}
.lw-menu-drawer {
  border-radius: 18px !important;
  background: rgba(7, 11, 19, .98) !important;
}
.lw-menu-item { min-height: 46px !important; }

/* Homepage: editorial hierarchy without promotional clutter. */
.lw-home-v8 {
  display: grid;
  gap: 1rem;
  width: 100%;
  margin: .2rem 0 1rem;
}
.lw-home-v8__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .72fr);
  gap: 1rem;
  align-items: stretch;
}
.lw-home-v8__intro,
.lw-home-v8__panel,
.lw-home-v8__links > a {
  border: 1px solid var(--lw-v8-line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .042), rgba(255, 255, 255, .012)),
    var(--lw-v8-panel);
  box-shadow: var(--lw-v8-shadow);
}
.lw-home-v8__intro {
  position: relative;
  min-width: 0;
  min-height: 410px;
  padding: clamp(1.6rem, 4vw, 3.5rem);
  border-radius: 28px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.lw-home-v8__intro::after {
  content: "";
  position: absolute;
  width: 25rem;
  height: 25rem;
  right: -10rem;
  top: -13rem;
  border-radius: 50%;
  background: rgba(var(--cl-accent), .13);
  filter: blur(8px);
  pointer-events: none;
}
.lw-home-v8__eyebrow,
.lw-home-v8__intro h1,
.lw-home-v8__lede,
.lw-home-v8__actions,
.lw-home-v8__restriction { position: relative; z-index: 1; }
.lw-home-v8__eyebrow {
  margin: 0 0 .85rem;
  color: rgba(var(--cl-accent), .92);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.lw-home-v8__intro h1 {
  max-width: 12ch;
  margin: 0;
  font-size: clamp(3rem, 5.6vw, 5.7rem);
  font-weight: 900;
  letter-spacing: -.075em;
  line-height: .91;
  text-wrap: balance;
}
.lw-home-v8__lede {
  max-width: 62ch;
  margin: 1.15rem 0 0;
  color: var(--lw-v8-soft);
  font-size: 1rem;
  line-height: 1.7;
  text-wrap: pretty;
}
.lw-home-v8__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.5rem;
}
.lw-home-v8__button {
  min-height: 46px;
  padding: 0 1rem;
  border: 1px solid var(--lw-v8-line);
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  color: rgba(var(--cl-t-primary), .90);
  font-size: .9rem;
  font-weight: 820;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.lw-home-v8__button:hover { transform: translateY(-1px); }
.lw-home-v8__button--primary {
  color: rgb(var(--cl-t-accent));
  background: rgb(var(--cl-accent));
  border-color: rgba(var(--cl-accent), .70);
}
.lw-home-v8__button--secondary { background: rgba(255, 255, 255, .035); }
.lw-home-v8__restriction {
  margin: 1.25rem 0 0;
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  color: var(--lw-v8-muted);
  font-size: .78rem;
  line-height: 1.5;
}
.lw-home-v8__restriction i { color: rgba(var(--cl-accent), .75); margin-top: .16rem; }
.lw-home-v8__panel {
  min-height: 410px;
  padding: 1.1rem;
  border-radius: 28px;
  display: flex;
  flex-direction: column;
}
.lw-home-v8__panel-head {
  padding: .25rem .2rem 1rem;
  border-bottom: 1px solid var(--lw-v8-line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.lw-home-v8__panel-head span {
  color: var(--lw-v8-muted);
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.lw-home-v8__panel-head strong { font-size: 1rem; letter-spacing: -.02em; }
.lw-home-v8__points {
  margin-top: 1rem;
  display: grid;
  gap: .7rem;
}
.lw-home-v8__points > div {
  padding: .9rem;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 16px;
  background: rgba(255, 255, 255, .027);
  display: flex;
  align-items: flex-start;
  gap: .75rem;
}
.lw-home-v8__points i { width: 1rem; margin-top: .16rem; color: rgba(var(--cl-accent), .88); }
.lw-home-v8__points span { display: flex; flex-direction: column; gap: .25rem; }
.lw-home-v8__points strong { font-size: .9rem; }
.lw-home-v8__points small { color: var(--lw-v8-soft); font-size: .8rem; line-height: 1.45; }
.lw-home-v8__links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.lw-home-v8__links > a {
  position: relative;
  min-height: 164px;
  padding: 1.15rem;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  transition: transform .16s ease, border-color .16s ease;
}
.lw-home-v8__links > a:hover {
  transform: translateY(-2px);
  border-color: var(--lw-v8-line-strong);
}
.lw-home-v8__links span {
  color: rgba(var(--cl-accent), .85);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .13em;
}
.lw-home-v8__links strong {
  margin-top: .75rem;
  font-size: 1.05rem;
  letter-spacing: -.025em;
}
.lw-home-v8__links small {
  max-width: 34ch;
  margin-top: .4rem;
  color: var(--lw-v8-soft);
  font-size: .82rem;
  line-height: 1.48;
}
.lw-home-v8__links i {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  color: rgba(var(--cl-accent), .72);
}

/* Catalog: consistent hierarchy and clearer availability. */
.lw-section-heading {
  padding: 1.1rem 1.2rem !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, .025) !important;
  box-shadow: none !important;
}
.lw-section-heading h1 { font-size: clamp(2.15rem, 4vw, 3.8rem) !important; }
.lw-catalog-grid-v5 { gap: 1rem !important; }
.lw-product-card-v5 {
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .038), rgba(255, 255, 255, .012)),
    var(--lw-v8-panel) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .20) !important;
}
.lw-product-card-v5:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 46px rgba(0, 0, 0, .26) !important;
}
.lw-product-media-v5 {
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .018) !important;
}
.lw-product-card-v5.is-out-of-stock .lw-product-media-v5 img { opacity: .62; filter: saturate(.55); }
.lw-product-card-v5.is-out-of-stock .lw-product-stock-v5 { color: rgba(248, 113, 113, .82) !important; }
.lw-card-cta-v5 { white-space: nowrap; }

/* Product details: stable reading and selection surfaces. */
.lw-product-layout { align-items: flex-start; }
.lw-product-information > .bg-card,
.lw-product-order-panel > div > .bg-card {
  border-radius: 22px !important;
  border: 1px solid var(--lw-v8-line) !important;
  background: var(--lw-v8-panel) !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .22) !important;
}
.lw-policy-strip {
  border-radius: 14px !important;
  border: 1px solid rgba(var(--cl-accent), .20) !important;
  background: rgba(var(--cl-accent), .055) !important;
  color: rgba(var(--cl-t-primary), .68) !important;
  padding: .75rem .85rem !important;
  font-size: .8rem !important;
  line-height: 1.5 !important;
}
.lw-product-form-panel label { color: rgba(var(--cl-t-primary), .78) !important; font-weight: 760 !important; }
.lw-product-form-panel input,
.lw-product-form-panel select,
.lw-product-form-panel textarea {
  border: 1px solid rgba(255, 255, 255, .085) !important;
  background: rgba(255, 255, 255, .033) !important;
}
.lw-product-form-panel button { min-height: 38px; }

/* Footer and common content surfaces. */
footer.bg-background {
  border-radius: 18px !important;
  background: rgba(7, 11, 19, .70) !important;
  box-shadow: none !important;
}
.lw-footer-note { color: rgba(var(--cl-t-primary), .54) !important; }
.container .bg-card,
aside .bg-card {
  border-color: var(--lw-v8-line) !important;
}

@media (max-width: 960px) {
  .lw-home-v8__hero { grid-template-columns: 1fr; }
  .lw-home-v8__intro, .lw-home-v8__panel { min-height: 0; }
  .lw-home-v8__links { grid-template-columns: 1fr; }
  .lw-home-v8__links > a { min-height: 132px; }
}

@media (max-width: 640px) {
  .lw-site-header.lw-header-pro { top: .4rem !important; margin-bottom: .65rem !important; }
  .lw-header-bar { min-height: 56px !important; border-radius: 15px !important; }
  .lw-brand-logo-pro { width: 36px !important; height: 36px !important; }
  .lw-home-v8 { gap: .7rem; }
  .lw-home-v8__hero { gap: .7rem; }
  .lw-home-v8__intro,
  .lw-home-v8__panel,
  .lw-home-v8__links > a { border-radius: 18px; }
  .lw-home-v8__intro { padding: 1.2rem; }
  .lw-home-v8__intro h1 {
    max-width: 11ch;
    font-size: clamp(2.35rem, 12vw, 3.3rem);
    line-height: .94;
  }
  .lw-home-v8__lede { font-size: .92rem; line-height: 1.6; }
  .lw-home-v8__actions { display: grid; grid-template-columns: 1fr; margin-top: 1.15rem; }
  .lw-home-v8__button { width: 100%; }
  .lw-home-v8__panel { padding: .85rem; }
  .lw-home-v8__points > div { padding: .78rem; }
  .lw-home-v8__links { gap: .7rem; }
  .lw-home-v8__links > a { min-height: 118px; padding: 1rem; }
  .lw-section-heading { padding: .85rem !important; border-radius: 16px !important; }
  .lw-section-heading h1 { font-size: 2rem !important; }
  .lw-product-card-v5 { border-radius: 16px !important; }
  .lw-product-information > .bg-card,
  .lw-product-order-panel > div > .bg-card { border-radius: 18px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* =========================================================
   LONGWALL V9 — noticeable full-theme component system
   Applies to Alpha utility controls that earlier passes missed.
   ========================================================= */
:root {
  --lw-v9-surface: rgba(11, 17, 28, .86);
  --lw-v9-surface-raised: rgba(16, 24, 38, .92);
  --lw-v9-input: rgba(255, 255, 255, .045);
  --lw-v9-border: rgba(255, 255, 255, .105);
  --lw-v9-border-hover: rgba(var(--cl-accent), .38);
  --lw-v9-radius: 15px;
  --lw-v9-shadow-sm: 0 8px 24px rgba(0, 0, 0, .20);
  --lw-v9-shadow: 0 18px 54px rgba(0, 0, 0, .28);
}

/* Make the visual change global instead of page-specific. */
.lw-app-shell { gap: 0 !important; }
.component { margin-top: 1rem !important; }

/* Primary actions: crisp blue depth, strong shape, real interaction states. */
.lw-action-primary,
.lw-primary-btn,
.lw-checkout-submit,
button.bg-accent-500,
a.bg-accent-500,
button[class*="bg-accent-500"][class*="font-semibold"],
a[class*="bg-accent-500"][class*="font-semibold"] {
  min-height: 44px !important;
  border: 1px solid rgba(var(--cl-accent), .72) !important;
  border-radius: 13px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .17), rgba(255, 255, 255, 0) 58%),
    rgb(var(--cl-accent)) !important;
  color: rgb(var(--cl-t-accent)) !important;
  box-shadow:
    0 10px 24px rgba(var(--cl-accent), .20),
    inset 0 1px 0 rgba(255, 255, 255, .20) !important;
  font-weight: 820 !important;
  letter-spacing: -.01em !important;
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease !important;
}
.lw-action-primary:hover,
.lw-primary-btn:hover,
.lw-checkout-submit:hover:enabled,
button.bg-accent-500:hover:enabled,
a.bg-accent-500:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.07) !important;
  box-shadow:
    0 14px 32px rgba(var(--cl-accent), .27),
    inset 0 1px 0 rgba(255, 255, 255, .24) !important;
}
.lw-action-primary:active,
.lw-primary-btn:active,
.lw-checkout-submit:active:enabled,
button.bg-accent-500:active:enabled,
a.bg-accent-500:active {
  transform: translateY(0) scale(.985) !important;
  filter: brightness(.98) !important;
}

/* Secondary and neutral actions. */
.lw-action-secondary,
.lw-action-muted,
button[class*="border-accent-500"]:not([class*="bg-accent-500"]),
a[class*="border-accent-500"]:not([class*="bg-accent-500"]),
button[class*="border-white/10"],
a[class*="border-white/10"] {
  min-height: 42px !important;
  border-radius: 13px !important;
  border-color: var(--lw-v9-border) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, .052), rgba(255, 255, 255, .022)) !important;
  color: rgba(var(--cl-t-primary), .88) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045) !important;
  font-weight: 760 !important;
  transition: transform .16s ease, border-color .16s ease, background .16s ease !important;
}
.lw-action-secondary:hover,
.lw-action-muted:hover,
button[class*="border-accent-500"]:not([class*="bg-accent-500"]):hover,
a[class*="border-accent-500"]:not([class*="bg-accent-500"]):hover,
button[class*="border-white/10"]:hover,
a[class*="border-white/10"]:hover {
  transform: translateY(-1px) !important;
  border-color: var(--lw-v9-border-hover) !important;
  background: rgba(var(--cl-accent), .09) !important;
}

/* Destructive actions stay visibly separate. */
button[class*="border-red-500"],
a[class*="border-red-500"] {
  border-radius: 13px !important;
  background: rgba(239, 68, 68, .055) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
}
button[class*="border-red-500"]:hover,
a[class*="border-red-500"]:hover { background: rgba(239, 68, 68, .12) !important; }

/* Disabled buttons should feel intentionally unavailable. */
button:disabled,
a[aria-disabled="true"] {
  transform: none !important;
  box-shadow: none !important;
  filter: saturate(.55) !important;
  opacity: .48 !important;
  cursor: not-allowed !important;
}

/* Inputs, selects, and textareas: larger targets and obvious focus. */
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
  min-height: 44px !important;
  border: 1px solid var(--lw-v9-border) !important;
  border-radius: 12px !important;
  background: var(--lw-v9-input) !important;
  color: rgba(var(--cl-t-primary), .94) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035) !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):hover,
select:hover,
textarea:hover {
  border-color: rgba(255, 255, 255, .17) !important;
  background: rgba(255, 255, 255, .057) !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: rgba(var(--cl-accent), .66) !important;
  background: rgba(var(--cl-accent), .055) !important;
  box-shadow: 0 0 0 4px rgba(var(--cl-accent), .13) !important;
}
input::placeholder, textarea::placeholder { color: rgba(var(--cl-t-primary), .34) !important; }
label { color: rgba(var(--cl-t-primary), .72); }

input[type="checkbox"], input[type="radio"] {
  width: 18px !important;
  height: 18px !important;
  accent-color: rgb(var(--cl-accent)) !important;
}

/* Shared card system across dashboard, affiliate, reseller, forms, and content. */
.container .bg-card[class*="border"],
.component .bg-card[class*="border"],
aside .bg-card[class*="border"],
div[class*="flex-col"][class*="bg-card"][class*="border"][class*="rounded-lg"] {
  border-color: var(--lw-v9-border) !important;
  border-radius: var(--lw-v9-radius) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .038), rgba(255, 255, 255, .012)),
    var(--lw-v9-surface) !important;
  box-shadow: var(--lw-v9-shadow-sm) !important;
}
.container .bg-card[class*="border"]:hover,
.component .bg-card[class*="border"]:hover {
  border-color: rgba(255, 255, 255, .135) !important;
}

/* Account sidebar: clearer selected state and bigger click targets. */
.container aside a,
.container [class*="customer-sidebar"] a {
  border-radius: 11px !important;
  min-height: 42px !important;
  transition: background .15s ease, color .15s ease, transform .15s ease !important;
}
.container aside a:hover,
.container [class*="customer-sidebar"] a:hover {
  background: rgba(var(--cl-accent), .08) !important;
  transform: translateX(2px) !important;
}
.container aside a.text-accent-500,
.container [class*="customer-sidebar"] a.text-accent-500 {
  background: rgba(var(--cl-accent), .12) !important;
  box-shadow: inset 3px 0 0 rgb(var(--cl-accent)) !important;
}

/* Modal windows should read as deliberate dialogs. */
.lw-modal-card,
.sa-customer-password-modal .bg-background,
.sa-customer-tfa-modal .bg-background,
.sa-customer-discord-modal .bg-background,
div[class*="max-w-lg"][class*="bg-background"],
div[class*="max-w-md"][class*="bg-background"] {
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 20px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .012)),
    rgba(7, 11, 19, .98) !important;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .55) !important;
}
[class*="fixed"][class*="inset-0"][class*="z-50"] > [class*="bg-black"],
[class*="fixed"][class*="inset-0"][class*="z-50"] [class*="bg-black/70"] {
  backdrop-filter: blur(7px) !important;
  -webkit-backdrop-filter: blur(7px) !important;
}

/* Product tabs and compact controls. */
[data-component-id="product-page"] button[class*="whitespace-nowrap"],
[data-component-id="product-page"] .badges > *,
.badges > * {
  min-height: 34px !important;
  border-radius: 999px !important;
  padding-inline: .8rem !important;
}
[data-component-id="product-page"] button[class*="bg-accent-500/10"] {
  border-color: rgba(var(--cl-accent), .34) !important;
  background: rgba(var(--cl-accent), .14) !important;
}
.lw-product-form-panel > div {
  border-color: rgba(255, 255, 255, .085) !important;
}
.lw-product-form-panel button[class*="justify-between"] {
  min-height: 54px !important;
  border: 1px solid var(--lw-v9-border) !important;
  border-radius: 13px !important;
  background: rgba(255, 255, 255, .025) !important;
}
.lw-product-form-panel button[class*="justify-between"]:hover {
  border-color: var(--lw-v9-border-hover) !important;
  background: rgba(var(--cl-accent), .055) !important;
}

/* Quantity steppers become one cohesive control. */
.lw-product-form-panel div[class*="rounded-lg"][class*="overflow-hidden"],
.lw-cart-row div[class*="rounded-lg"][class*="overflow-hidden"] {
  border: 1px solid var(--lw-v9-border) !important;
  background: rgba(255, 255, 255, .025) !important;
  border-radius: 13px !important;
}
.lw-product-form-panel div[class*="rounded-lg"][class*="overflow-hidden"] input,
.lw-cart-row div[class*="rounded-lg"][class*="overflow-hidden"] input {
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  box-shadow: none !important;
}

/* Filters and category links. */
.lw-filter-panel { padding: 1rem !important; }
.lw-filter-panel a[class*="block"] {
  min-height: 40px !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
}
.lw-filter-panel a[class*="block"]:hover { background: rgba(var(--cl-accent), .07) !important; }
.lw-filter-panel a[class*="!border-white/5"] {
  border-color: rgba(var(--cl-accent), .28) !important;
  background: rgba(var(--cl-accent), .10) !important;
}

/* Tables: less spreadsheet-like and easier to scan. */
table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid var(--lw-v9-border) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
thead { background: rgba(255, 255, 255, .045) !important; }
th {
  color: rgba(var(--cl-t-primary), .54) !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
tbody tr { transition: background .14s ease !important; }
tbody tr:hover { background: rgba(var(--cl-accent), .045) !important; }
td, th { border-color: rgba(255, 255, 255, .065) !important; }

/* Feedback, alerts, and status messages. */
[class*="bg-red-500/20"],
[class*="bg-red-500"][class*="p-3"],
[class*="bg-red-500"][class*="p-4"] {
  border: 1px solid rgba(248, 113, 113, .28) !important;
  border-radius: 13px !important;
  background: rgba(127, 29, 29, .22) !important;
  color: rgba(254, 226, 226, .92) !important;
  box-shadow: inset 3px 0 0 rgba(248, 113, 113, .70) !important;
}
[class*="bg-accent-500/10"][class*="p-4"] {
  border-radius: 13px !important;
  box-shadow: inset 3px 0 0 rgba(var(--cl-accent), .76) !important;
}

/* Login wall: noticeably cleaner before the customer reaches the storefront. */
.lw-auth-panel {
  border-radius: 26px !important;
  background:
    radial-gradient(circle at 90% 0, rgba(var(--cl-accent), .16), transparent 24rem),
    linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .012)),
    rgba(7, 11, 19, .94) !important;
  border-color: rgba(255, 255, 255, .11) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .38) !important;
}
.lw-auth-rules > div {
  border-radius: 14px !important;
  border-color: rgba(255, 255, 255, .08) !important;
  background: rgba(255, 255, 255, .028) !important;
}
.lw-auth-rules > div:hover { border-color: rgba(var(--cl-accent), .20) !important; }

/* Pagination buttons. */
nav[role="navigation"] a,
nav[role="navigation"] span {
  min-height: 40px !important;
  border-radius: 10px !important;
}

/* Subtle custom scrollbar on capable browsers. */
* { scrollbar-width: thin; scrollbar-color: rgba(var(--cl-accent), .38) rgba(255, 255, 255, .03); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: rgba(255, 255, 255, .025); }
*::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 999px;
  background: rgba(var(--cl-accent), .38);
  background-clip: padding-box;
}

@media (max-width: 640px) {
  .component { margin-top: .7rem !important; }
  .lw-action-primary,
  .lw-primary-btn,
  .lw-checkout-submit,
  button.bg-accent-500,
  a.bg-accent-500 { min-height: 46px !important; }
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea { min-height: 46px !important; font-size: 16px !important; }
  .container .bg-card[class*="border"],
  .component .bg-card[class*="border"],
  aside .bg-card[class*="border"] { border-radius: 14px !important; }
  .lw-modal-card,
  .sa-customer-password-modal .bg-background,
  .sa-customer-tfa-modal .bg-background,
  .sa-customer-discord-modal .bg-background,
  div[class*="max-w-lg"][class*="bg-background"],
  div[class*="max-w-md"][class*="bg-background"] {
    width: calc(100% - 1rem) !important;
    padding: 1rem !important;
    border-radius: 17px !important;
  }
  table { min-width: 680px; }
}
