/* ─────────────────────────────────────────────────────────────
   DEFAULT.CATALOG BASE STYLES (original — do not edit above)
   ───────────────────────────────────────────────────────────── */
html {
  background: #f0f0f0;
}
#page {
  min-height: 100vh;
  background: #fff;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
}
#header {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  padding: 10px;
}
@media (min-width: 768px) {
  #header {
    padding: 20px;
  }
}
@media (min-width: 992px) {
  #header {
    grid-template-columns: 250px auto 250px;
  }
}
#header .logotype img {
  max-width: 200px;
}
@media (min-width: 400px) {
  #header .logotype img {
    max-width: 100%;
    max-height: 80px;
  }
}
#region {
  background: #f0f0f0;
  border-bottom: 1px solid #fff;
  border-collapse: collapse;
  border-radius: 4px;
  border-right: 1px solid #fff;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.3);
  color: #333;
  display: inline-block;
  font-size: 0.95em;
  padding: 5px 10px;
}
#region .currency {
  cursor: default;
  padding: 0;
}
#region .currency span {
  background: #e3ece0;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #d1d1d1;
  border-right: 1px solid #fff;
  border-top: 1px solid #d1d1d1;
  padding: 1px 5px;
}
#region .country {
  cursor: default;
}
#region .change {
  padding-left: 0;
}
#region > div {
  display: inline-block;
  padding: 5px 5px;
  vertical-align: middle;
}
#cart {
  display: inline-block;
}
#cart > a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 4px;
  border: 1px transparent solid;
  border-radius: 4px;
  color: inherit;
  white-space: nowrap;
}
#cart > a:hover {
  border-color: rgba(0, 0, 0, 0.1);
  text-decoration: none;
}
#cart img {
  max-width: 50px;
  max-height: 50px;
}
#cart .badge {
  background: red;
  border-radius: 1.25rem;
  padding: 0.25rem;
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 0.75em;
  position: absolute;
  right: 0;
  top: 1em;
  width: 2em;
  animation: pulsating 1.5s linear infinite;
}
#cart .badge:empty {
  display: none;
}
@media (max-width: 767px) {
  #cart .details {
    display: none;
  }
}
#site-menu {
  margin: 0 10px 20px 10px;
}
@media (min-width: 768px) {
  #site-menu {
    margin: 0 20px 20px 20px;
  }
}
#cookies-acceptance {
  /*position: sticky;*/
  top: 0;
  z-index: 999;
  margin: 0 10px 0 10px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px rgba(0, 0, 0, 0.1) solid;
  border-top: none;
  border-radius: 0 0 4px 4px;
  padding: 10px;
  text-align: center;
}
@media (min-width: 768px) {
  #cookies-acceptance {
    margin: 0 20px 0 20px;
    padding: 10px 20px;
  }
}
#main {
  padding: 0 10px 20px 10px;
}
@media (min-width: 768px) {
  #main {
    padding: 0 20px 20px 20px;
    display: grid;
    grid-template-columns: max-content;
    grid-template-areas: 'sidebar content';
    grid-template-rows: 1fr;
  }
}
#sidebar {
  position: relative;
}
@media (min-width: 768px) {
  #sidebar {
    width: 250px;
  }
  #sidebar > *:first-child {
    margin-top: 0;
  }
  #sidebar + #content {
    margin-left: 20px;
  }
}
#content {
  grid-area: content;
  grid-gap: 10px;
}
@media (min-width: 768px) {
  #content {
    grid-gap: 20px;
  }
}
#footer {
  padding: 0 10px 20px 10px;
}
@media (min-width: 768px) {
  #footer {
    padding: 0 20px 20px 20px;
  }
}
#footer .columns {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  grid-gap: 15px;
}
@media (min-width: 768px) {
  #footer .columns {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 992px) {
  #footer .columns {
    grid-template-columns: repeat(5, 1fr);
  }
}
#footer * {
  color: #333;
}
#footer a:hover {
  color: #2e9cd4;
}
#footer .title {
  font-size: 1.5em;
  margin: 0 0 0.75em 0;
}
#footer ul.list-vertical li {
  padding: 0;
}
#copyright .notice {
  color: #333;
  padding: 20px;
  text-align: center;
}
#scroll-up {
  bottom: 30px;
  display: none;
  height: 48px;
  opacity: 0.3;
  position: fixed;
  right: 30px;
  width: 48px;
}
/* Boxes */
.box {
  margin: 20px 0;
}
.box.white {
  margin: 20px;
  padding: 20px;
  border-radius: 4px;
  background: #fff;
}
.box.border {
  margin: 20px;
  padding: 20px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.box > .title {
  margin-top: 0;
}
@media (min-width: 992px) {
  #box-also-purchased-products {
    position: sticky;
    top: 0;
  }
}
#box-information li a {
  color: inherit;
  line-height: 175%;
}
#box-information li a.active {
  color: #2e9cd4;
}
#box-information li a:hover {
  color: #2e9cd4;
}
#box-filter .manufacturers ul {
  max-height: 200px;
  overflow-y: auto;
}
#box-recently-viewed-products .listing {
  grid-template-columns: repeat(auto-fit, minmax(48px, 0.5fr));
}
.listing {
  display: grid;
}
.listing.products {
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  grid-gap: 10px;
}
@media (min-width: 480px) {
  .listing.products {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    grid-gap: 20px;
  }
}
.listing.categories {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-gap: 10px;
}
@media (min-width: 768px) {
  .listing.categories {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    grid-gap: 20px;
  }
}
.listing h1,
.listing h2,
.listing h3 {
  padding-bottom: 0;
  border: none;
}
.listing a {
  color: inherit;
  text-decoration: none;
}
.listing .category,
.listing .manufacturer,
.listing .product-column,
.listing .product-row {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  transform: scale(1);
  transition: all 100ms linear;
  color: inherit;
  text-decoration: none;
}
@media (min-width: 768px) {
  .listing .category:hover,
  .listing .manufacturer:hover,
  .listing .product-column:hover,
  .listing .product-row:hover {
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.15);
    transform: scale(1.01);
  }
}
.listing .category .caption {
  background: #f2f2f2;
  padding: 10px 20px;
  color: #333;
  text-align: center;
}
.listing .category .caption * {
  color: inherit;
  margin: 0;
}
.listing .manufacturer img {
  width: 100%;
  height: auto;
  padding: 10px;
}
.listing .manufacturer .caption {
  margin: 0;
  padding: 10px;
  background: #f2f2f2;
  color: #333;
  text-align: center;
}
.listing .product-column,
.listing .product-row {
  position: relative;
}
.listing .product-column .link,
.listing .product-row .link {
  text-decoration: none;
}
.listing .product-column .image-wrapper,
.listing .product-row .image-wrapper {
  background: #fff;
}
.listing .product-column .image-wrapper .sticker,
.listing .product-row .image-wrapper .sticker {
  position: absolute;
  top: 20px;
  left: -35px;
  width: 140px;
  padding: 5px 10px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-45deg);
}
.listing .product-column .image-wrapper .sticker.new,
.listing .product-row .image-wrapper .sticker.new {
  background: rgba(251, 184, 41, 0.85);
}
.listing .product-column .image-wrapper .sticker.sale,
.listing .product-row .image-wrapper .sticker.sale {
  background: rgba(237, 60, 50, 0.85);
}
.listing .product-column .name,
.listing .product-row .name {
  display: flex;
  justify-content: center;
  align-content: center;
  flex-direction: column;
  height: 40px;
}
.listing .product-column .manufacturer-name,
.listing .product-row .manufacturer-name {
  color: #737373;
  font-size: 0.9em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  line-height: 200%;
}
.listing .product-column .price-wrapper,
.listing .product-row .price-wrapper {
  font-size: 1.25em;
}
.listing .product-column .price-wrapper .price,
.listing .product-row .price-wrapper .price {
  font-weight: bold;
  color: #333;
  white-space: nowrap;
}
.listing .product-column .price-wrapper .regular-price,
.listing .product-row .price-wrapper .regular-price {
  color: #333;
  font-size: 0.75em;
  font-weight: normal;
  white-space: nowrap;
}
.listing .product-column .price-wrapper .campaign-price,
.listing .product-row .price-wrapper .campaign-price {
  font-weight: bold;
  color: #cc0000;
  white-space: nowrap;
}
.listing .product-column .preview,
.listing .product-row .preview {
  margin: 0 -1px -1px -1px;
  display: none;
  position: absolute;
  top: 7.5px;
  right: 7.5px;
  box-shadow: none;
}
.listing .product-column:hover .preview,
.listing .product-row:hover .preview {
  display: none;
}
.listing .product-column .image {
  width: 100%;
  height: auto;
}
.listing .product-column .info {
  padding: 10px;
  text-align: center;
}
.listing .product-column .price-wrapper {
  position: initial;
}
.listing .product-row {
  grid-column: span 4;
  height: 175px;
}
.listing .product-row .info {
  position: absolute;
  top: 0;
  left: 120px;
  padding: 10px;
}
@media (min-width: 768px) {
  .listing .product-row .info {
    left: 180px;
  }
}
.listing .product-row .image-wrapper {
  display: inline-block;
}
.listing .product-row .image {
  max-width: 100px;
}
@media (min-width: 768px) {
  .listing .product-row .image {
    max-width: 160px;
  }
}
.listing .product-row .price-wrapper {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 1.25em;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #ffffff 20%, #ffffff 100%);
  padding: 10px;
  padding-left: 40px;
}
@media (min-width: 768px) {
  .listing .product-row {
    height: auto;
  }
  .listing .product-row .description {
    margin-top: 20px;
  }
}
#view-full-page {
  float: right;
  display: inline-block;
  padding: 10px 20px;
}
#box-product .images {
  margin-bottom: 40px;
}
#box-product .main-image {
  position: relative;
  overflow: hidden;
}
#box-product .main-image .sticker {
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  top: 17px;
  left: -34px;
  padding: 5px 10px;
  position: absolute;
  text-align: center;
  text-transform: uppercase;
  transform: rotate(-45deg);
  width: 140px;
}
#box-product .main-image .sticker.new {
  background: rgba(251, 184, 41, 0.85);
}
#box-product .main-image .sticker.sale {
  background: rgba(237, 60, 50, 0.85);
}
#box-product .price-wrapper {
  font-size: 1.75em;
}
#box-product .regular-price {
  font-size: 0.75em;
}
#box-product .campaign-price {
  color: #cc0000;
}
#box-product .tax {
  color: #999999;
}
#box-product .stock-available .value {
  color: #009900;
}
#box-product .stock-partly-available .value {
  color: #ff9900;
}
#box-product .stock-unavailable .value {
  color: #cc0000;
}
#box-product .social-bookmarks {
  font-size: 1.75em;
  margin: 20px 0;
}
#box-product .out-of-stock-notice {
  background: @default-color;
  border: 1px solid @default-border-color;
  padding: @default-gutter-size;
  border-radius: @default-border-radius;
}
#box-product .description p:first-child {
  margin-top: 0;
}
#box-product .description p:last-child {
  margin-bottom: 0;
}
#box-product .technical-data table {
  -webkit-column-break-inside: avoid;
  -moz-column-break-inside: avoid;
  break-inside: avoid-column;
}
#box-product .technical-data table td:first-child {
  width: 50%;
}
@media (min-width: 768px) {
  #box-product .technical-data {
    columns: auto 2;
  }
}

/* ═══════════════════════════════════════════════════════════════
   EISENWALD DARK THEME
   Overrides the default light theme above.
   Colors reference: landingpage.eisenton.de
   ═══════════════════════════════════════════════════════════════ */

/* ── Design tokens ─────────────────────────────────────────── */
:root {
  --black:      #080404;
  --deep:       #100606;
  --mid:        #0f0606;
  --surface:    #1a0e0e;
  --surface-2:  #200f0f;
  --border:     rgba(232,210,180,0.12);
  --border-acc: rgba(176,141,90,0.35);
  --cream:      #e8e4d8;
  --cream-dim:  rgba(232,228,216,0.72);
  --gold:       #b08d5a;
  --gold-lt:    #d4ad74;
  --accent:     #b08d5a;
  --text:       #e8e4d8;
  --text-muted: rgba(232,228,216,0.55);
  --text-dim:   rgba(232,228,216,0.30);
  --hdr-bg:     rgba(8,4,4,0.96);
  --topbar-bg:  #060303;
  --footer-bg:  #060303;
  --input-bg:   rgba(0,0,0,0.9);
  --max-w:      1200px;
  --gutter:     clamp(1.25rem,4vw,2.5rem);
  --header-h:   64px;
  --topbar-h:   32px;
  --radius:     2px;
  --easing:     cubic-bezier(.4,0,.2,1);
  --ff-display: 'Cinzel', serif;
  --ff-body:    'EB Garamond', serif;
  --ff-ui:      'Jost', sans-serif;
}

/* ── Base ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 15px;
  background: var(--black);
  scroll-behavior: auto; /* JS handles smooth scroll; browser-native smooth conflicts with custom RAF animation */
}
body {
  font-family: var(--ff-ui);
  font-weight: 300;
  font-size: 15px;
  line-height: 1.7;
  color: var(--cream);
  background: var(--black);
  margin: 0; padding: 0;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  /* Sticky-footer flex layout: header / main / footer in a single column,
     main grows to fill the viewport so the footer is pinned to the bottom
     when content is short. */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
/* Force full cross-axis stretch — without explicit width:100% some browsers
   size flex items with flex-basis:auto + max-width to their content width. */
body > #lc-topbar,
body > #lc-header,
body > #main,
body > #footer { width: 100%; }
body > #main { flex: 1 0 auto; }
body > #footer { flex-shrink: 0; }

::-webkit-scrollbar       { width: 3px; }
::-webkit-scrollbar-track { background: var(--black); }
::-webkit-scrollbar-thumb { background: var(--gold); }

a                { color: var(--gold); text-decoration: underline; transition: color 200ms var(--easing), opacity 200ms var(--easing); }
a:hover          { color: var(--gold-lt); opacity: 1; text-decoration: underline; }
/* Catch any Bootstrap or framework blue links in the main content area.
   More-specific !important rules elsewhere (footer, cart, topbar) still win. */
body a           { color: var(--gold) !important; text-decoration: underline; }
body a:hover     { color: var(--gold-lt) !important; }
/* Navigation and UI elements — suppress underline */
#lc-topbar a,
#lc-header a,
#site-menu a,
.lc-mobile-nav a,
.navbar a,
#cart a,
.btn,
.breadcrumbs a, .breadcrumb a,
#footer .columns a,
.pagination a,
.dropdown-menu a,
.lc-slide-cta a,
#lc-nl-panel a { text-decoration: none !important; }
hr               { border: none; border-top: 1px solid var(--border); margin: 1.5rem 0; }
p                { color: var(--text); }
img              { max-width: 100%; height: auto; }

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ff-display);
  font-weight: 400;
  color: var(--cream);
  line-height: 1.15;
  border-bottom: none;
  margin: 0 0 0.6em;
  letter-spacing: 0.04em;
}
h1 { font-size: clamp(1.7rem,3.5vw,2.6rem); }
h2 { font-size: clamp(1.3rem,2.5vw,2rem); }
h3 { font-size: clamp(1.1rem,2vw,1.5rem); }
/* h2 breathing room in general content — not in product detail cards */
#content h2 { margin-top: 1.5rem; }
#box-product h2 { margin-top: 0.4rem; } /* overrides the above for product page */

/* ── Crimson red atmospheric glow (matches landing page) ──── */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image: radial-gradient(ellipse 129px 108px at 98% 48%, rgba(90, 8, 5, .35) 0%, rgba(60, 5, 3, .18) 40%, transparent 70%), radial-gradient(ellipse 260px 140px at 96% 6%, rgba(80, 5, 5, .28) 0%, transparent 70%), radial-gradient(ellipse 320px 220px at 6% 52%, rgba(52, 3, 3, .18) 0%, transparent 70%), radial-gradient(ellipse 300px 260px at 40% 85%, rgba(70, 5, 5, .14) 0%, transparent 70%);
    background-repeat: no-repeat;
    background-size: cover;
}

/* ── Page wrapper ──────────────────────────────────────────── */
.lc-bg-image {
  position: fixed;
  inset: 0;
  z-index: 0;
  background-repeat: no-repeat;
  background-attachment: fixed;
  pointer-events: none;
  -webkit-mask-image:
    linear-gradient(to right,  transparent, black var(--bg-fade, 120px), black calc(100% - var(--bg-fade, 120px)), transparent),
    linear-gradient(to bottom, transparent, black var(--bg-fade, 120px), black calc(100% - var(--bg-fade, 120px)), transparent);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(to right,  transparent, black var(--bg-fade, 120px), black calc(100% - var(--bg-fade, 120px)), transparent),
    linear-gradient(to bottom, transparent, black var(--bg-fade, 120px), black calc(100% - var(--bg-fade, 120px)), transparent);
  mask-composite: intersect;
}

#page {
  background: var(--black);
  box-shadow: none;
  max-width: none;
  min-height: 100vh;
  position: relative;
  z-index: 1;
}

/* All major sections stack above the glow */
#lc-topbar, #lc-header, #main, #footer { position: relative; z-index: 1; }

/* ── Topbar ────────────────────────────────────────────────── */
#lc-topbar {
  height: var(--topbar-h);
  background: var(--topbar-bg);
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  position: relative;
  z-index: 100;
}
.lc-topbar-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
  width: 100%;
  gap: 10px;
  font-size: 0.72rem;
  font-family: var(--ff-ui);
  color: var(--text-muted);
  letter-spacing: 0.06em;
}
/* Region widget — dark background everywhere, overridden to transparent inside topbar */
#region {
  background: rgba(0,0,0,0.9) !important;
  border-color: var(--border) !important;
  color: var(--cream) !important;
}
/* Region widget inside topbar */
#lc-topbar #region,
.lc-topbar-inner #region {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-size: 0.72rem;
  color: var(--text-muted);
  letter-spacing: 0.06em;
}
#lc-topbar #region > div,
.lc-topbar-inner #region > div { padding: 0 4px; }
#lc-topbar #region .currency span {
  background: transparent !important;
  border: none !important;
  padding: 0;
  color: var(--text-muted);
}
#lc-topbar #region .change a,
.lc-topbar-inner #region a { color: var(--text-muted) !important; }
#lc-topbar #region .change a:hover,
.lc-topbar-inner #region a:hover { color: var(--gold) !important; }

/* ── Header ────────────────────────────────────────────────── */
/* #lc-header uses a different ID than default.catalog's #header,
   so no specificity war — plain declarations suffice.
   The !important on display/padding override the inline style
   in the layout PHP (grid-template-columns in the style attr). */
#lc-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: var(--hdr-bg);
  border-bottom: 1px solid var(--border);
  height: var(--header-h);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  display: block;
  padding: 0;
  grid-template-columns: unset;
}
.lc-header-inner {
  display: grid;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
  height: 100%;
  gap: 0 8px;
  width: 100%;
}

/* Logo */
.lc-logo {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  margin-right: 4px;
  text-decoration: none;
}
.lc-logo img {
  max-height: 44px;
  max-width: 180px;
  display: block;
  opacity: 1;
}

/* ── Site menu (nav): inside header ─────────────────────────── */
/* display:contents flattens #site-menu / .navbar-header so their
   children participate in the header grid directly.               */
#site-menu, #primary-nav {
  display: contents;
  margin: 0;
}
#site-menu { margin-bottom: 0; }

/* Navbar container — Bootstrap .navbar resets.
   !important required: Bootstrap's .navbar has background/#fff,
   border, box-shadow, min-height via .navbar-default (0,1,0).     */
#site-menu.navbar, .navbar {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}

/* Collapse: always hidden — drawer is the nav */
#default-menu,
.navbar-collapse,
.navbar-collapse.collapse,
.navbar-collapse.in {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Navbar header holds search + hamburger — flattened into grid */
/* !important on display:contents needed to beat Bootstrap's
   .navbar-header { float:left } (0,1,0) which conflicts with grid. */
.navbar-header {
  display: contents !important;
  float: none !important;
}
#site-menu .navbar-header .navbar-form { grid-column: 3; grid-row: 1; align-self: center; justify-self: stretch; min-width: 0; display: flex; justify-content: center; }
#lc-nav-hamburger { grid-column: 1; grid-row: 1; align-self: center; }
.lc-header-cart { grid-column: 4; grid-row: 1; align-self: center; }

/* ── Search bar ─────────────────────────────────────────────── */
/* !important needed: Bootstrap .navbar-form has padding/margin/border
   at specificity 0,1,0 (same as ours), but framework.css loads first
   so source order would work — except Bootstrap uses media queries
   that can re-apply padding. Keep !important for safety.
   margin-bottom is split out so the mobile media query can override. */
.navbar-form {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
/* Search wrap: centered inside .navbar-form which stretches to fill
   the 1fr grid column.  max-width caps the bar at 480px; width:100%
   lets it shrink when the column narrows.  min-width:0 on the grid
   item prevents the column from overflowing into hamburger/cart.    */
.lc-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(176,141,90,0.45);
  background: rgba(232,228,216,0.92);
  transition: border-color 200ms, box-shadow 200ms;
  width: 100%;
  max-width: 480px;
}
.lc-search-wrap:hover { border-color: var(--gold); }
.lc-search-wrap:focus-within {
  border-color: var(--gold);
  box-shadow: 0 0 0 1px rgba(176,141,90,0.35);
}
.lc-search-wrap .fa-search {
  color: rgba(60,40,20,0.6);
  font-size: 0.88rem;
  flex-shrink: 0;
}
.lc-search-wrap input[name="query"],
.lc-search-wrap input[type="search"] {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #1a0e0e !important;
  -webkit-text-fill-color: #1a0e0e !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.85rem !important;
  padding: 0 !important;
  flex: 1;
  min-width: 0;
  width: auto;
  outline: none !important;
  height: 100% !important;
  border-radius: 0 !important;
}
.lc-search-wrap input::placeholder {
  color: rgba(30,15,5,0.45) !important;
  -webkit-text-fill-color: rgba(30,15,5,0.45) !important;
}
.lc-search-wrap input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M1 1l12 12M13 1L1 13' stroke='%23b08d5a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  cursor: pointer;
}

/* ── Eyecandy search autocomplete (dark theme) ─────────────── */
#eycandy_products_result_list {
  left: 0 !important;
  right: auto;
  min-width: 280px;
  max-width: 90vw;
  background: var(--input-bg) !important;
  border: 1px solid var(--border) !important;
  border-top: none !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5);
}
#eycandy_products_result_list .search-item {
  border-top-color: var(--border) !important;
  transition: background 120ms;
  cursor: pointer;
}
#eycandy_products_result_list .search-item:hover {
  background: rgba(176,141,90,0.12) !important;
}
#eycandy_products_result_list div h3 {
  color: var(--cream) !important;
  font-family: var(--ff-ui);
  font-size: 0.72rem !important;
  font-weight: 400;
  letter-spacing: 0.04em;
  margin: 0 0 2px;
}
#eycandy_products_result_list div p {
  color: var(--text-muted) !important;
  font-family: var(--ff-ui);
  font-size: 0.68rem !important;
  margin: 0;
}
#eycandy_products_result_list .transparent {
  color: var(--gold);
  opacity: 0.5;
}

/* ── Header: small-screen wrap ───────────────────────────── */
/* On narrow phones the search bar wraps to a second row       */
/* below the logo / hamburger / cart.                          */
@media (max-width: 480px) {
  #lc-header { height: auto; min-height: var(--header-h); }
  .lc-header-inner {
    grid-template-columns: auto 1fr auto;
    grid-template-rows: var(--header-h) auto;
    padding: 0 16px;
  }
  #lc-nav-hamburger { grid-column: 1; grid-row: 1; justify-self: start; }
  .lc-logo { grid-column: 2; grid-row: 1; }
  .lc-logo img { max-width: 120px; }
  .lc-header-cart { grid-column: 3; grid-row: 1; justify-self: end; }
  #site-menu .navbar-header .navbar-form {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: stretch;
    padding: 0 !important;
    margin: 0 0 12px !important;
  }
  .lc-search-wrap {
    width: 100%;
    max-width: none;
    margin: 0;
    border-color: rgba(176,141,90,0.45);
    background: rgba(232,228,216,0.92);
    padding: 0 10px;
  }
  .lc-search-wrap input[name="query"],
  .lc-search-wrap input[type="search"] {
    width: 100% !important;
    opacity: 1 !important;
    color: #1a0e0e !important;
    -webkit-text-fill-color: #1a0e0e !important;
  }
  #eycandy_products_result_list {
    left: 0 !important;
    right: 0;
    min-width: 0;
    width: 100% !important;
  }
  /* Extra side breathing room for main content on small screens */
  #main { padding-left: 16px; padding-right: 16px; }
}
@media (min-width: 481px) and (max-width: 599px) {
  .lc-logo img { max-width: 140px; }
}

/* ── Hamburger button ───────────────────────────────────────── */
/* ID-based rules take priority over Bootstrap's class rules     */
#lc-nav-hamburger {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 2rem;
  height: 2rem;
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  flex-shrink: 0;
}
#lc-nav-hamburger .icon-bar {
  display: block;
  width: 32px;
  height: 1px;
  background: var(--cream);
  border-radius: 0;
  transform-origin: center center;
  transition: transform 300ms ease, opacity 300ms ease;
}
#lc-nav-hamburger .icon-bar + .icon-bar { margin-top: 0; }
/* X animation when open */
#lc-nav-hamburger[aria-expanded="true"] .icon-bar:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
#lc-nav-hamburger[aria-expanded="true"] .icon-bar:nth-child(2) {
  opacity: 0;
}
#lc-nav-hamburger[aria-expanded="true"] .icon-bar:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* ── Cart icon ──────────────────────────────────────────────── */
.lc-header-cart { flex: 0 0 auto; display: flex; align-items: center; }
#lc-header #cart > a,
.lc-header-cart #cart > a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 5px 8px;
  border: 1px solid transparent;
  border-radius: 0;
  color: inherit;
}
#lc-header #cart > a:hover,
.lc-header-cart #cart > a:hover { border-color: rgba(232,210,180,0.22); }
#lc-header #cart i.fa,
.lc-header-cart #cart i.fa {
  font-size: 1.2rem;
  color: var(--cream);
  opacity: 0.75;
  transition: opacity 200ms;
  line-height: 1;
}
#lc-header #cart a:hover i.fa,
.lc-header-cart #cart a:hover i.fa { opacity: 1; }
#lc-header #cart .badge,
.lc-header-cart #cart .badge {
  position: absolute;
  top: -2px; right: -2px;
  background: var(--gold);
  color: var(--black);
  font-size: 0.6rem;
  font-weight: 600;
  min-width: 15px; height: 15px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 2px;
  line-height: 1;
  animation: none;
}
#lc-header #cart .badge:empty,
.lc-header-cart #cart .badge:empty { display: none; }
#lc-header #cart .details,
.lc-header-cart #cart .details { display: none; }

/* ── Header nav dropdown menus (dark theme) ─────────────────── */
#lc-header .dropdown-menu,
#site-menu .dropdown-menu {
  background: rgba(0,0,0,0.95) !important;
  border: 1px solid var(--border) !important;
  border-radius: 0 !important;
  box-shadow: 0 8px 24px rgba(4,3,2,0.7) !important;
  min-width: 200px;
  padding: 4px 0 !important;
}
#lc-header .dropdown-menu > li > a,
#site-menu .dropdown-menu > li > a {
  color: var(--text-muted) !important;
  padding: 7px 16px !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.06em !important;
  white-space: nowrap;
}
#lc-header .dropdown-menu > li > a:hover,
#site-menu .dropdown-menu > li > a:hover {
  background: var(--surface-2) !important;
  color: var(--cream) !important;
}
/* Login form inside nav dropdown */
#site-menu .dropdown-menu .navbar-form {
  padding: 12px 16px !important;
  background: transparent !important;
  border: none !important;
  min-width: 240px;
  display: block !important;
}
#site-menu .dropdown-menu .btn-group { padding: 0 !important; }
#site-menu .dropdown-menu li.divider { background: var(--border) !important; }

/* ── Drawer nav backdrop ────────────────────────────────────── */
#lc-nav-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9400;
  background: rgba(4,3,2,0.72);
  opacity: 0;
  visibility: hidden;
  transition: opacity 300ms ease, visibility 300ms ease;
  pointer-events: none;
}
#lc-nav-backdrop.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ── Drawer nav panel ───────────────────────────────────────── */
#lc-mobile-menu {
  display: flex;
  flex-direction: column;
  position: fixed;
  top: 0;
  left: -100%;
  bottom: 0;
  width: min(360px, 88vw);
  height: 100dvh;
  z-index: 9500;
  background: rgba(0,0,0,0.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-right: 1px solid var(--border);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0;
  transition: left 350ms var(--easing);
  pointer-events: none;
  visibility: hidden;
}
#lc-mobile-menu.lc-open {
  left: 0;
  pointer-events: auto;
  visibility: visible;
}

/* Drawer close button */
#lc-mobile-close {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 1rem 1.25rem;
  background: rgba(14,9,8,0.97);
  border: none;
  width: 100%;
  text-align: left;
  color: var(--text-muted);
  font-size: 1rem;
  cursor: pointer;
}
#lc-mobile-close:hover { color: var(--cream); }

/* Drawer nav content */
.lc-mobile-nav { padding: 0.5rem 0 2rem; }
.lc-mobile-nav .nav.navbar-nav,
.lc-mobile-nav .navbar-right {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
}
.lc-mobile-nav .nav.navbar-nav > li,
.lc-mobile-nav .navbar-right > li {
  display: block !important;
  float: none !important;
}
.lc-mobile-nav .nav.navbar-nav > li > a,
.lc-mobile-nav .navbar-right > li > a {
  display: block !important;
  padding: 0.9rem 1.25rem !important;
  color: rgba(232,228,216,0.72) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--border) !important;
  text-decoration: none !important;
}
.lc-mobile-nav .nav.navbar-nav > li:last-child > a,
.lc-mobile-nav .navbar-right > li:last-child > a { border-bottom: none !important; }
.lc-mobile-nav .nav.navbar-nav > li > a:hover,
.lc-mobile-nav .navbar-right > li > a:hover { color: var(--gold) !important; }
.lc-mobile-nav .hidden-xs { display: none !important; }
.lc-mobile-nav .dropdown-menu {
  position: static !important;
  float: none !important;
  background: var(--black) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  display: none !important;
}
.lc-mobile-nav .open > .dropdown-menu { display: block !important; }
.lc-mobile-nav .dropdown-menu > li > a {
  display: block !important;
  padding: 10px 20px 10px 32px !important;
  color: var(--text-muted) !important;
  font-size: 0.78rem !important;
  border-bottom: 1px solid var(--border) !important;
}
.lc-mobile-nav .dropdown-menu > li > a:hover { color: var(--gold) !important; }
/* Hide search form in drawer (already visible in navbar-header) */
.lc-mobile-nav .navbar-form[name="search_form"] { display: none !important; }
/* Login form in drawer */
.lc-mobile-nav .account .navbar-form {
  display: block !important;
  padding: 8px 20px 12px !important;
  margin: 0 !important;
  border: none !important;
  box-shadow: none !important;
}
.lc-mobile-nav .account .navbar-form .form-group {
  margin-bottom: 8px;
}
.lc-mobile-nav .account .navbar-form .btn-group {
  padding: 0 !important;
  margin-top: 4px;
}
.lc-mobile-nav .account .navbar-form button[name="login"] {
  width: 100%;
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--black) !important;
}
.lc-mobile-nav .account .navbar-form button[name="login"]:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
}
.lc-mobile-nav .account .dropdown-menu > li.text-center > a {
  font-size: 0.83rem;
}

/* ── Main content — sidebar suppressed ─────────────────────── */
#sidebar { display: none; }
#main {
  display: block;
  grid-template-columns: unset;
  grid-template-areas: unset;
  max-width: var(--max-w);
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem var(--gutter) 3rem;
}
#content {
  width: 100%;
  float: none;
  margin-left: 0;
  padding: 0;
  box-sizing: border-box;
  grid-area: unset;
}
#sidebar + #content { margin-left: 0; }

/* ── Slider / homepage box-slides ───────────────────────────── */
#box-slides {
  margin-top: 2rem;
  margin-bottom: 2.5rem;
}

/* ── Product / category listing cards ──────────────────────── */
.listing .category,
.listing .manufacturer {
  background: #0f0606;
  border: 1px solid var(--border);
}
.listing .product-column,
.listing .product-row {
  background: #0f0606;
  border: 1px solid var(--border);
  border-radius: 0;
  color: var(--cream);
  transition: border-color 160ms, box-shadow 160ms;
}
@media (min-width: 768px) {
  .listing .category:hover,
  .listing .manufacturer:hover {
    border-color: var(--border-acc);
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  }
  .listing .product-column:hover,
  .listing .product-row:hover {
    border-color: var(--border-acc);
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
    transform: none;
  }
}
.listing .product-column .image-wrapper,
.listing .product-row .image-wrapper {
  background: var(--deep);
}
.listing .category img { display: none !important; }
.listing .category .caption,
.listing .manufacturer .caption {
  background: #0f0606;
  color: var(--cream);
}
.listing .category .caption *,
.listing .manufacturer .caption * { color: var(--cream); }
.listing .product-column .name,
.listing .product-row .name {
  font-family: var(--ff-display);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
  color: var(--cream);
  height: auto;
  min-height: calc(1.35em * 3);
  justify-content: flex-start;
}
.listing .product-column .manufacturer-name,
.listing .product-row .manufacturer-name {
  color: var(--text-muted);
  font-family: var(--ff-ui);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.listing .product-column .price-wrapper .price,
.listing .product-row .price-wrapper .price {
  color: var(--cream);
  font-family: var(--ff-ui);
}
.listing .product-column .price-wrapper .campaign-price,
.listing .product-row .price-wrapper .campaign-price {
  color: #e07070;
}

/* Flex column layout — image fills top, card-footer sticks to bottom */
.listing .product-column {
  display: flex;
  flex-direction: column;
}
.listing .product-column .link {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.listing .product-column .info {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.listing .product-column .card-footer {
  padding: 8px 10px 12px;
  text-align: center;
  border-top: 1px solid var(--border);
}
.listing .product-column .card-footer .manufacturer-name {
  color: var(--text-muted);
  font-family: var(--ff-ui);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.listing .product-column .card-footer .price-wrapper {
  font-size: 1.1em;
  margin-bottom: 8px;
}
.listing .product-column .card-footer .price-wrapper .price {
  color: var(--cream);
  font-family: var(--ff-ui);
  font-weight: 600;
}
.listing .product-column .card-footer .price-wrapper .campaign-price {
  color: rgba(140,30,30,1) !important;
  font-weight: 600;
}
.listing .product-column .card-footer .price-wrapper .regular-price {
  color: var(--text-muted);
  font-size: 0.75em;
  font-weight: normal;
}

/* Buy / add-to-cart buttons on product cards — solid gold */
.listing .product-column .buy-now-wrapper .btn,
.listing .product-column .btn-buy {
  width: 100%;
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: var(--black) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 6px 10px !important;
  border-radius: 0 !important;
  transition: background 180ms, border-color 180ms !important;
}
.listing .product-column .buy-now-wrapper .btn:hover,
.listing .product-column .btn-buy:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
  color: var(--black) !important;
}
/* "View Options" / "Pre-Order" — gold outline, no fill.
   Broadened from .buy-now-wrapper / .card-footer so btn-block
   pre-order buttons (which land outside those wrappers) also match. */
.listing .product-column .add-cart-item {
  background: transparent !important;
  color: var(--gold) !important;
  border-color: var(--gold) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 6px 10px !important;
  width: 100% !important;
  display: block !important;
}
.listing .product-column .add-cart-item:hover {
  background: rgba(176,141,90,0.1) !important;
  color: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
}
/* Out-of-stock placeholder — disabled version of .btn-success.btn-sm */
.listing .product-column .buy-now-wrapper .out-of-stock-notice {
  display: block;
  width: 100%;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 0;
  border: 1px solid rgba(176,141,90,0.22);
  color: rgba(176,141,90,0.38);
  background: rgba(176,141,90,0.06);
  text-align: center;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: not-allowed;
  pointer-events: none;
  box-sizing: border-box;
  font-family: var(--ff-ui);
}

/* ── Product detail page ────────────────────────────────────── */
/* Typography: tighter, more compact than global h1/h2 sizes */
#box-product h1.title {
  font-size: clamp(1.26rem, 2.3vw, 1.61rem);
  margin-bottom: 0.5rem;
  letter-spacing: 0.04em;
}
#box-product h2 {
  font-size: 1.04rem;
  letter-spacing: 0.1em;
  margin-top: 0.4rem;
  margin-bottom: 0.35rem;
}
#box-product .short-description {
  font-size: 0.98rem;
  color: var(--text-muted);
  margin-bottom: 0.75rem;
}
#box-product .price-wrapper { color: var(--cream); }
#box-product .regular-price { color: var(--text-muted); }
#box-product .campaign-price { color: #e07070; }
#box-product .tax { color: var(--text-muted); }
#box-product .stock-available .value   { color: #6dbd6d; }
#box-product .stock-partly-available .value { color: #e09060; }
#box-product .stock-unavailable .value { color: #e07070; }
/* "More from" links (artist injected by VQMod, manufacturer in template) */
.artist h2 a, .manufacturer h2 a { color: var(--gold); text-decoration: none; }
.artist h2 a:hover, .manufacturer h2 a:hover { color: var(--gold-lt); text-decoration: underline; }
.manufacturer-logo { max-height: 40px; width: auto; opacity: 0.7; margin-top: 0.4rem; display: block; }
.manufacturer-logo-link:hover .manufacturer-logo { opacity: 1; }
/* Tab section */
#box-product .nav-tabs { margin-top: 1.5rem; }
.tab-content .description, .tab-content .technical-data, .tab-content .manufacturer { font-family: var(--ff-ui); line-height: 1.75; }


/* ── Slider: Shop Now corner CTA ───────────────────────────── */
.carousel { position: relative; }
.lc-slide-cta {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 135px;
  height: 135px;
  z-index: 10;
  pointer-events: none;
  overflow: hidden;
}
.lc-slide-cta a {
  display: block;
  position: absolute;
  inset: 0;
  background: var(--gold);
  clip-path: polygon(100% 0, 0% 100%, 100% 100%);
  color: var(--black) !important;
  text-decoration: none !important;
  pointer-events: auto;
  transition: background 200ms;
  overflow: hidden;
}
.lc-slide-cta a span {
  position: absolute;
  bottom: 26%;
  right: 8%;
  transform: rotate(-45deg);
  transform-origin: center;
  white-space: nowrap;
  font-family: var(--ff-ui);
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
/* Shimmer sweep to attract attention */
.lc-slide-cta a::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(
    135deg,
    transparent 40%,
    rgba(255,255,255,0.04) 46%,
    rgba(255,255,255,0.04) 54%,
    transparent 60%
  );
  animation: cta-shimmer 4s ease-in-out infinite;
  pointer-events: none;
}
@keyframes cta-shimmer {
  0%       { transform: translate(-80%,-80%); }
  40%,100% { transform: translate(80%,80%); }
}
.lc-slide-cta a:hover {
  background: var(--gold-lt);
}
@media (max-width: 480px) {
  .lc-slide-cta { width: 75px; height: 75px; }
  .lc-slide-cta a span { font-size: 0.42rem; letter-spacing: 0.1em; }
}

/* ── Tables ─────────────────────────────────────────────────── */
.table, table { color: var(--cream); border-color: var(--border); }
.table td, .table th,
table td, table th {
  background: transparent;
  color: var(--cream);
  border-color: var(--border);
  font-family: var(--ff-ui);
}
.table thead th, .table thead td,
thead th, thead td {
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  border-color: var(--border);
}
.table tfoot th, .table tfoot td,
tfoot th, tfoot td {
  background: var(--deep);
  color: var(--cream);
  border-color: var(--border);
}
.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
  background: rgba(255,255,255,0.025);
}
tbody tr:hover td, tbody tr:hover th {
  background: rgba(176,141,90,0.15) !important;
}
/* Technical data table — no alternating rows, no hover */
#box-product .technical-data tbody tr:hover td,
#box-product .technical-data tbody tr:hover th { background: transparent !important; }
#box-product .technical-data .table-striped > tbody > tr:nth-child(odd) > td,
#box-product .technical-data .table-striped > tbody > tr:nth-child(odd) > th { background: transparent !important; }
/* Suppress Bootstrap's light table-hover (uses #ececec) */
body .table.table-hover > tbody > tr:hover {
  background: transparent;
}
.table-bordered,
.table-bordered td,
.table-bordered th { border-color: var(--border) !important; }
td[style*="color:#999999"],
td[style*="color: #999999"] { color: var(--text-muted) !important; }

/* ── Forms ──────────────────────────────────────────────────── */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="range"]):not(.lc-search-q),
textarea,
select {
  background: var(--input-bg) !important;
  border: 1px solid rgba(232,210,180,0.18) !important;
  color: var(--cream) !important;
  -webkit-text-fill-color: var(--cream) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.85rem !important;
  border-radius: var(--radius) !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="range"]):not(.lc-search-q):focus,
textarea:focus,
select:focus {
  background: var(--input-bg) !important;
  border-color: var(--border-acc) !important;
  color: var(--cream) !important;
  -webkit-text-fill-color: var(--cream) !important;
  outline: none !important;
  box-shadow: none !important;
}
input::placeholder, textarea::placeholder {
  color: rgba(232,228,216,0.45) !important;
  -webkit-text-fill-color: rgba(232,228,216,0.45) !important;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
select:-webkit-autofill,
textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px rgba(0,0,0,0.9) inset !important;
  box-shadow: 0 0 0 1000px rgba(0,0,0,0.9) inset !important;
  -webkit-text-fill-color: var(--cream) !important;
  caret-color: var(--cream) !important;
  /* Kill Chrome's autofill fade-in animation (Chrome 108+) */
  animation: none !important;
  animation-duration: 0s !important;
  /* Freeze background-color transition so no flash on older Chrome */
  transition: background-color 9999s linear 0s, color 9999s linear 0s !important;
  color-scheme: dark;
}
/* Select chevron */
select {
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(176,141,90,0.55)'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.7rem center !important;
  padding-right: 1.8rem !important;
  color-scheme: dark;
}
.input-group-addon, .input-group-icon, .input-group-btn {
  background: rgba(0,0,0,0.9) !important;
  border-color: rgba(232,210,180,0.18) !important;
  color: var(--text-muted) !important;
  font-family: var(--ff-ui) !important;
}
/* Input-group and select-wrapper: remove framework.css white backgrounds */
body .input-group {
  background: var(--input-bg);
  border-color: rgba(232,210,180,0.18);
  box-shadow: none;
  color: var(--cream);
}
body .select-wrapper { background: transparent; }
select:disabled,
input:disabled,
textarea:disabled { cursor: not-allowed !important; }
.form-group:has(select:disabled, input:disabled, textarea:disabled) { opacity: 0; pointer-events: none; }
label, .control-label {
  color: var(--text-muted);
  font-family: var(--ff-ui);
  font-size: 0.78rem;
}

/* ── Buttons ─────────────────────────────────────────────────── */
/* !important required on button classes: framework.css uses
   .btn.btn-default (0,2,0) and .btn.btn-default:hover:not(…)
   (0,6,0). Our single-class selectors (0,1,0) can't win by
   specificity alone without ugly :not() chains, so !important
   is the cleanest override. Checkout .option rules use ID-based
   selectors (1,3,0) with !important to beat these.               */
.btn {
  font-family: var(--ff-ui);
  border-radius: 0 !important;
  letter-spacing: 0.08em;
  transition: background 180ms, border-color 180ms, color 180ms;
}
.btn-default {
  background: rgba(0,0,0,0.9) !important;
  border-color: var(--border) !important;
  color: var(--cream) !important;
}
.btn-default:hover {
  background: rgba(0,0,0,0.9) !important;
  border-color: var(--gold) !important;
  color: var(--cream) !important;
}
.btn-primary {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--black) !important;
}
.btn-primary:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
  color: var(--black) !important;
}
.btn-danger {
  background: rgba(100,20,20,0.45) !important;
  border-color: rgba(160,60,60,0.4) !important;
  color: rgba(232,160,160,0.8) !important;
}
.btn-danger:hover {
  background: rgba(160,30,30,0.5) !important;
  border-color: rgba(200,80,80,0.5) !important;
  color: #f5a0a0 !important;
}

/* ── Alerts and notices ─────────────────────────────────────── */
.notice, .alert { font-family: var(--ff-ui); border-radius: 0 !important; }
.alert-danger, .notice-danger {
  background: rgba(80,15,15,0.4) !important;
  border-color: rgba(160,60,60,0.35) !important;
  color: rgba(232,160,160,0.9) !important;
}
.alert-success, .notice-success {
  background: rgba(15,50,25,0.4) !important;
  border-color: rgba(60,160,90,0.35) !important;
  color: rgba(160,230,180,0.9) !important;
}
.alert-info, .notice-info {
  background: rgba(10,25,45,0.4) !important;
  border-color: rgba(60,100,180,0.35) !important;
  color: rgba(160,190,230,0.9) !important;
}
.alert-warning, .notice-warning {
  background: rgba(60,40,10,0.4) !important;
  border-color: rgba(180,130,40,0.35) !important;
  color: rgba(230,195,120,0.9) !important;
}

/* ── Footer ─────────────────────────────────────────────────── */
#footer {
  background: var(--footer-bg);
  border-top: 1px solid var(--border);
  font-family: var(--ff-ui);
  font-size: 0.82rem;
  padding: 2.5rem 0 0;
  position: relative;
  z-index: 1;
}
#footer .columns {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 2rem var(--gutter) 2rem;
}
#footer .columns section h3,
#footer .columns .title {
  font-family: var(--ff-display);
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--cream);
  margin-bottom: 0.9rem;
  font-weight: 400;
  border-bottom: none;
}
#footer * { color: var(--text-muted) !important; }
#footer .columns a { color: var(--text-muted) !important; transition: color 160ms; }
#footer .columns a:hover { color: var(--gold) !important; opacity: 1; }
/* #footer hr removed — hr element no longer in footer HTML */
#copyright {
  max-width: 100%;
  margin: 0;
  padding: 1rem var(--gutter);
  border-top: 1px solid var(--border);
  text-align: center;
  font-size: 0.7rem;
  color: var(--text-muted);
  letter-spacing: 0.06em;
  background: var(--footer-bg);
}
#copyright .notice {
  color: var(--text-muted);
  padding: 0;
  text-align: center;
}
/* Checkout-only footer */
#footer.lc-checkout-footer { padding: 0; margin-top: 2rem; }
#footer.lc-checkout-footer #copyright { border-top: 1px solid var(--border); }

/* ── Checkout ───────────────────────────────────────────────── */
#main.main-checkout {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 1.5rem var(--gutter) 3rem;
  display: block;
}
/* Section wrappers */
.main-checkout #box-checkout .cart.wrapper,
.main-checkout #box-checkout .discount.wrapper,
.main-checkout #box-checkout .customer.wrapper,
.main-checkout #box-checkout .shipping.wrapper,
.main-checkout #box-checkout .payment.wrapper,
.main-checkout #box-checkout .summary.wrapper {
  background: rgba(0,0,0,0.9);
  border: 1px solid var(--border);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
  border-radius: 0;
}
/* Checkout section headings — s-label treatment (gold + extending line).
   The checkout boxes use <h2 class="title">. h4/legend kept as fallback. */
.main-checkout h2.title,
.main-checkout h4,
.main-checkout legend {
  font-family: var(--ff-ui);
  font-size: 0.92rem;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--gold);
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 1.5rem;
  background: transparent;
}
.main-checkout h2.title::after,
.main-checkout h4::after,
.main-checkout legend::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--gold);
}
.main-checkout fieldset { border: none; padding: 0; margin: 0; }
/* Checkout-specific label sizing */
.main-checkout label,
.main-checkout .control-label { font-size: 0.9rem; }
/* Consent text ~20 % larger than surrounding form labels */
#box-checkout-summary .consent,
#box-checkout-summary .consent label { font-size: 1.0rem !important; }
.main-checkout #box-checkout-cart .thumbnail { max-width: 56px; }
.main-checkout #box-checkout-cart tbody a { color: var(--cream); }
.main-checkout #box-checkout-cart tbody a:hover { color: var(--gold); }

/* Sign In link on checkout — gold outline button for guests       */
#box-checkout-customer > div[style] > a[data-toggle="lightbox"] {
  display: inline-block;
  padding: 0.45rem 1rem;
  margin: 0 0 0.75rem;
  font-family: var(--ff-ui);
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold) !important;
  background: transparent;
  border: 1px solid var(--border-acc);
  border-radius: 0;
  transition: background 180ms, border-color 180ms, color 180ms;
  text-decoration: none !important;
}
#box-checkout-customer > div[style] > a[data-toggle="lightbox"]:hover {
  background: rgba(176,141,90,0.1);
  border-color: var(--gold);
  color: var(--gold-lt) !important;
}

/* Cart table: thin styled horizontal scrollbar on small screens   */
.main-checkout .cart.wrapper .table-responsive,
.main-checkout #box-checkout-cart .table-responsive {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--gold) var(--deep);
}
.main-checkout .cart.wrapper .table-responsive::-webkit-scrollbar,
.main-checkout #box-checkout-cart .table-responsive::-webkit-scrollbar {
  height: 4px;
}
.main-checkout .cart.wrapper .table-responsive::-webkit-scrollbar-track,
.main-checkout #box-checkout-cart .table-responsive::-webkit-scrollbar-track {
  background: var(--deep);
  border-radius: 2px;
}
.main-checkout .cart.wrapper .table-responsive::-webkit-scrollbar-thumb,
.main-checkout #box-checkout-cart .table-responsive::-webkit-scrollbar-thumb {
  background: var(--gold);
  border-radius: 2px;
}
/* Fade hints on edges when content overflows horizontally          */
.main-checkout .cart.wrapper,
.main-checkout #box-checkout-cart {
  position: relative;
}
.main-checkout .cart.wrapper .table-responsive::before,
.main-checkout .cart.wrapper .table-responsive::after,
.main-checkout #box-checkout-cart .table-responsive::before,
.main-checkout #box-checkout-cart .table-responsive::after {
  content: "";
  position: sticky;
  top: 0;
  display: block;
  width: 18px;
  height: 100%;
  pointer-events: none;
  z-index: 2;
  flex-shrink: 0;
}
/* Scroll-hint arrows for small screens                            */
@media (max-width: 767px) {
  .main-checkout .cart.wrapper .table-responsive,
  .main-checkout #box-checkout-cart .table-responsive {
    position: relative;
  }
  .main-checkout .cart.wrapper .table-responsive::after,
  .main-checkout #box-checkout-cart .table-responsive::after {
    content: "›";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 22px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(to left, var(--black) 40%, transparent);
    color: var(--gold);
    font-size: 1.2rem;
    font-family: var(--ff-ui);
    pointer-events: none;
    z-index: 2;
    opacity: 0.7;
    animation: scroll-hint 2s ease-in-out 2;
  }
}
@keyframes scroll-hint {
  0%, 100% { opacity: 0.4; transform: translateY(-50%) translateX(0); }
  50%      { opacity: 0.9; transform: translateY(-50%) translateX(3px); }
}

/* Shipping / payment options.
   These selectors include #id so specificity (1,3,0) beats the
   generic .btn-default (0,1,0) even with its !important.
   We therefore keep !important only on properties that .btn-default
   also marks !important; the rest can be plain declarations.        */
.main-checkout #box-checkout-shipping .option,
.main-checkout #box-checkout-payment .option {
  border: 1px solid var(--border) !important;
  background: rgba(0,0,0,0.9) !important;
  margin-bottom: 0.35rem;
  padding: 6px 12px !important;
  transition: border-color 160ms;
  font-size: 0.88rem;
}
.main-checkout #box-checkout-shipping .option .price,
.main-checkout #box-checkout-payment .option .price {
  font-size: 0.82rem;
  color: var(--text-muted);
}
.main-checkout #box-checkout-shipping .option:hover,
.main-checkout #box-checkout-payment .option:hover {
  border-color: var(--border-acc) !important;
}
.main-checkout #box-checkout-shipping .option.active,
.main-checkout #box-checkout-payment .option.active {
  border-color: var(--gold) !important;
  background: rgba(0,0,0,0.9) !important;
  box-shadow: 0 0 0 1px var(--gold), 0 0 12px rgba(176,141,90,0.15);
  color: var(--gold-lt) !important;
  font-weight: 500;
}
/* Tighten internal spacing inside shipping/payment option rows */
.main-checkout #box-checkout-shipping .option .title,
.main-checkout #box-checkout-payment .option .title,
.main-checkout #box-checkout-shipping .option .name,
.main-checkout #box-checkout-payment .option .name,
.main-checkout #box-checkout-shipping .option .price,
.main-checkout #box-checkout-payment .option .price {
  line-height: 1.3;
  margin: 0;
}
.main-checkout #box-checkout-shipping .option .content,
.main-checkout #box-checkout-payment .option .content {
  padding-top: 0;
}
.main-checkout #box-checkout-shipping .option .content hr,
.main-checkout #box-checkout-payment .option .content hr {
  margin: 0.4rem 0;
}
.main-checkout #box-checkout-shipping .option .content p,
.main-checkout #box-checkout-payment .option .content p {
  margin-bottom: 0.25rem;
}
/* Confirm / pay button */
.main-checkout button[name="confirm_order"],
.main-checkout #box-checkout-summary .btn-block {
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: var(--black) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.9rem 1.5rem !important;
  transition: background 200ms, border-color 200ms !important;
  box-shadow: none !important;
}
.main-checkout button[name="confirm_order"]:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
}
.main-checkout button[name="save_customer_details"] {
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: var(--black) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0.5rem 1rem !important;
}
.main-checkout button[name="save_customer_details"]:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
}
.main-checkout button[name="set_discount_code"] {
  background: rgba(0,0,0,0.9) !important;
  border: 1px solid var(--border-acc) !important;
  color: var(--gold) !important;
  font-family: var(--ff-ui) !important;
  height: 100% !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 0 14px !important;
}
.main-checkout button[name="set_discount_code"]:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--black) !important;
}
.main-checkout button[name="remove_cart_item"] {
  background: transparent !important;
  border: 1px solid rgba(160,60,60,0.35) !important;
  color: rgba(232,150,150,0.7) !important;
  border-radius: 0 !important;
  font-size: 0.75rem !important;
  padding: 3px 8px !important;
}
.main-checkout button[name="remove_cart_item"]:hover {
  background: rgba(160,30,30,0.35) !important;
  color: #f5a0a0 !important;
}
.main-checkout #box-checkout-summary tfoot td,
.main-checkout #box-checkout-summary tfoot th {
  font-family: var(--ff-display);
  font-size: 1rem;
  letter-spacing: 0.06em;
  padding: 0.85rem 0.75rem;
}
/* Checkout-specific header */
.lc-checkout-header { background: var(--deep); height: auto; }
.lc-checkout-header .lc-header-inner { padding: 12px var(--gutter) !important; }
.lc-checkout-store-info {
  margin-left: auto;
  font-family: var(--ff-ui);
  font-size: 0.78rem;
  color: var(--text-muted);
}

/* ── Newsletter panel ────────────────────────────────────────── */
/* Trigger tab: fixed to right edge */
#lc-nl-trigger {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9300;
  transition: opacity 300ms;
}
#lc-nl-trigger.nl-hidden { opacity: 0; pointer-events: none; }

#lc-nl-trigger-btn {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  width: 2.4rem;
  height: auto;
  padding: 0.75rem 0;
  background: var(--gold);
  border: 1px solid var(--gold);
  border-right: none;
  color: var(--black);
  cursor: pointer;
  font-family: var(--ff-ui);
  font-size: 0.67rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 0;
  white-space: nowrap;
  line-height: 1;
  transition: background 220ms, color 220ms, border-color 220ms, width 400ms ease, padding 400ms ease;
}
#lc-nl-trigger-btn:hover {
  background: var(--gold-lt);
  border-color: var(--gold-lt);
}
#lc-nl-trigger-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.nl-label {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  line-height: 1;
}

/* Backdrop */
#lc-nl-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9300;
  background: rgba(4,3,2,0.65);
  opacity: 0;
  visibility: hidden;
  transition: opacity 300ms ease, visibility 300ms ease;
  pointer-events: none;
}
#lc-nl-backdrop.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Panel — vertically centred floating card (matching landing page) */
#lc-nl-panel {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  right: -400px;
  width: min(370px, 92vw);
  max-height: 85vh;
  overflow-y: auto;
  overscroll-behavior: contain;
  z-index: 9350;
  background: rgba(0,0,0,0.9);
  border: 1px solid rgba(180,60,60,0.15);
  border-right: none;
  border-radius: 4px 0 0 4px;
  padding: 2rem 1.75rem;
  transition: right 400ms var(--easing);
  pointer-events: none;
  visibility: hidden;
}
#lc-nl-panel.open {
  right: 0;
  transform: translateY(-50%);
  pointer-events: auto;
  visibility: visible;
}
#lc-nl-panel-close {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  background: none;
  border: none;
  color: var(--text-muted);
  cursor: pointer;
  font-size: 0.9rem;
  line-height: 1;
  padding: 0.2rem;
  transition: color 200ms;
}
#lc-nl-panel-close:hover { color: var(--cream); }
#lc-nl-panel h3 {
  font-family: var(--ff-display);
  font-size: 1rem;
  letter-spacing: 0.08em;
  color: var(--cream);
  margin: 0 0 0.35rem;
  padding: 0;
  border-bottom: none;
}
#lc-nl-panel .nl-sub {
  font-family: var(--ff-ui);
  font-size: 0.92rem;
  color: rgba(232,228,216,0.65);
  line-height: 1.6;
  letter-spacing: 0.04em;
  margin: 0 0 0.75rem;
}
/* ── Brevo / Sendinblue form dark overrides ─────────────────── */
#lc-nl-panel .sib-form { text-align: left !important; background: transparent !important; padding: 0 !important; }
#lc-nl-panel #sib-form-container,
#lc-nl-panel #sib-container { background: transparent !important; padding: 0 !important; }
#lc-nl-panel #sib-container { max-width: 100% !important; border: none !important; text-align: left !important; }
/* Reduce padding between field blocks */
#lc-nl-panel [style*="padding: 8px"] { padding: 3px 0 !important; }
/* Strip entry__field wrapper styles */
#lc-nl-panel .entry__field {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Inputs */
#lc-nl-panel .input {
  background: rgba(14,9,8,0.9) !important;
  border: 1px solid rgba(176,141,90,0.25) !important;
  border-radius: 0 !important;
  color: var(--cream) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.04em !important;
  padding: 0.55rem 0.85rem !important;
  width: 100% !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1.4 !important;
}
#lc-nl-panel .input::placeholder { color: rgba(232,228,216,0.3) !important; font-family: var(--ff-ui) !important; }
#lc-nl-panel .input:focus { border-color: var(--gold) !important; outline: none !important; }
#lc-nl-panel .input:focus:not(:-webkit-autofill) { box-shadow: none !important; }
/* Chrome/Edge autofill override — keeps dark bg and cream text */
#lc-nl-panel .input:-webkit-autofill,
#lc-nl-panel .input:-webkit-autofill:hover,
#lc-nl-panel .input:-webkit-autofill:focus,
#lc-nl-panel .input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px rgba(14,9,8,0.9) inset !important;
  box-shadow: 0 0 0 1000px rgba(14,9,8,0.9) inset !important;
  -webkit-text-fill-color: var(--cream) !important;
  caret-color: var(--cream) !important;
  border-color: rgba(176,141,90,0.25) !important;
  animation: none !important;
  animation-duration: 0s !important;
  transition: background-color 9999s linear 0s, color 9999s linear 0s !important;
}
/* Labels */
#lc-nl-panel .entry__label {
  font-family: var(--ff-ui) !important;
  font-size: 0.75rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(232,228,216,0.7) !important;
  font-weight: 400 !important;
  margin-bottom: 0.2rem !important;
  display: block !important;
}
/* Required asterisk */
#lc-nl-panel .entry__label::before,
#lc-nl-panel .entry__label::after { content: none !important; display: none !important; }
#lc-nl-panel .nl-required { float: none !important; color: #e05050; font-style: normal; letter-spacing: 0; margin-left: 0.3em; }
#lc-nl-panel .nl-required-note {
  font-family: var(--ff-ui) !important;
  font-size: 0.86rem !important;
  color: rgba(232,228,216,0.45) !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Field + block spacing */
#lc-nl-panel .sib-form-block { margin-bottom: 0.35rem !important; padding: 0 16px 0 0 !important; }
#lc-nl-panel .form__entry { margin-bottom: 0 !important; }
#lc-nl-panel .form__label-row { margin-bottom: 0 !important; }
/* Subscribe button */
#lc-nl-panel .sib-form-block__button {
  background: var(--gold) !important;
  color: var(--black) !important;
  font-family: var(--ff-ui) !important;
  font-size: 0.86rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  justify-content: center !important;
  display: flex !important;
  align-items: center !important;
  border: 1px solid var(--gold) !important;
  border-radius: 0 !important;
  padding: 0.75rem 1rem !important;
  cursor: pointer !important;
  transition: background 220ms, border-color 220ms !important;
  margin-top: 0.6rem !important;
  width: 100% !important;
}
#lc-nl-panel .sib-form-block__button:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
}
/* Hide spinner and Brevo boilerplate */
#lc-nl-panel .sib-hide-loader-icon { display: none !important; }
#lc-nl-panel .sib-form-block__button-with-loader svg.progress-indicator__icon { display: none !important; }
#lc-nl-panel .sib-text-form-block { display: none !important; }
#lc-nl-panel .sib-form__declaration { display: none !important; }
#lc-nl-panel .entry__specification { display: none !important; }
#lc-nl-panel .input--hidden { display: none !important; }
/* Checkbox row */
#lc-nl-panel .sib-optin,
#lc-nl-panel .form__entry.entry_mcq,
#lc-nl-panel .entry_mcq,
#lc-nl-panel .entry__choice,
#lc-nl-panel .entry__choice .form__label-row { padding: 0 !important; margin: 0 !important; text-indent: 0 !important; }
#lc-nl-panel .entry__choice label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  cursor: pointer !important;
  position: relative !important;
  padding: 0 !important;
  margin: 0 !important;
}
#lc-nl-panel .input_replaced {
  position: absolute !important;
  opacity: 0 !important;
  width: 14px !important;
  height: 14px !important;
  top: 0.18rem !important;
  left: 0 !important;
  margin: 0 !important;
  cursor: pointer !important;
  z-index: 1 !important;
}
/* Custom checkbox square */
#lc-nl-panel .checkbox {
  flex: 0 0 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  width: 14px !important;
  height: 14px !important;
  min-height: 14px !important;
  max-height: 14px !important;
  border: 1px solid rgba(176,141,90,0.6) !important;
  background: transparent !important;
  padding: 0 !important;
  margin-top: 0.18rem !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 0 !important;
  display: inline-block !important;
  position: relative !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
#lc-nl-panel .checkbox_tick_positive::before { display: none !important; }
#lc-nl-panel .checkbox_tick_positive::after  { content: none !important; display: none !important; }
#lc-nl-panel .checkbox_tick_positive { background: transparent !important; }
#lc-nl-panel input[type=checkbox]:not(:checked) + .checkbox_tick_positive { background: transparent !important; }
#lc-nl-panel input[type=checkbox]:checked + .checkbox_tick_positive {
  background: var(--gold) !important;
  position: relative !important;
}
#lc-nl-panel input[type=checkbox]:checked + .checkbox_tick_positive::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 2px !important;
  top: 0 !important;
  width: 7px !important;
  height: 10px !important;
  border: 2px solid var(--black) !important;
  border-top: none !important;
  border-left: none !important;
  -webkit-transform: rotate(35deg) !important;
  transform: rotate(35deg) !important;
}
/* Consent text */
#lc-nl-panel .entry__choice label > span:last-child {
  flex: 1 !important;
  color: rgba(232,228,216,0.55) !important;
  font-size: 0.92rem !important;
  font-family: var(--ff-ui) !important;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
#lc-nl-panel .entry__choice label > span:last-child p {
  color: rgba(232,228,216,0.55) !important;
  font-size: 0.92rem !important;
  font-family: var(--ff-ui) !important;
  margin: 0 !important; padding: 0 !important; text-align: left !important;
}
#lc-nl-panel .entry__choice a { color: var(--gold-lt) !important; text-decoration: underline !important; }
#lc-nl-panel .entry__choice label > span:last-child p a { display: inline !important; }
/* Validation errors */
#lc-nl-panel .entry__error {
  font-family: var(--ff-ui) !important;
  font-size: 0.78rem !important;
  color: #f5a0a0 !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  min-height: 0 !important;
}
/* Message panels */
#lc-nl-panel .sib-form-message-panel {
  font-family: var(--ff-ui) !important;
  font-size: 0.87rem !important;
  letter-spacing: 0.04em !important;
  border-radius: 2px !important;
  margin-bottom: 0.6rem !important;
  padding: 0.6rem 0.85rem !important;
  max-width: 100% !important;
}
#lc-nl-panel #error-message {
  background: rgba(100,15,15,0.6) !important;
  color: #f5a0a0 !important;
  border: 1px solid rgba(180,60,60,0.4) !important;
}
#lc-nl-panel #success-message {
  background: rgba(15,60,30,0.6) !important;
  color: #90d8a8 !important;
  border: 1px solid rgba(60,160,90,0.4) !important;
}
#lc-nl-panel .sib-form-message-panel__text {
  color: inherit !important;
  font-family: var(--ff-ui) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
}
#lc-nl-panel .sib-icon.sib-notification__icon { width: 0.9rem !important; height: 0.9rem !important; flex-shrink: 0 !important; }
/* Hide reCAPTCHA badge */
.grecaptcha-badge { visibility: hidden !important; }

/* ── Scroll-up button ────────────────────────────────────────── */
#scroll-up {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 40px;
  height: 40px;
  background: rgba(0,0,0,0.9);
  border: 1px solid var(--border-acc);
  color: var(--gold);
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 250ms, visibility 250ms, background 160ms;
  z-index: 9200;
  border-radius: 0;
  text-decoration: none;
}
#scroll-up.lc-visible,
#scroll-up.visible {
  opacity: 1;
  visibility: visible;
}
#scroll-up:hover { background: var(--surface-2); border-color: var(--gold); }

/* ── Cookie notice ───────────────────────────────────────────── */
#cookies-acceptance {
  background: rgba(14,9,8,0.96);
  border: 1px solid var(--border);
  color: var(--text-muted);
  border-radius: 0;
}
#cookies-acceptance * { color: var(--text-muted); }
#cookies-acceptance a { color: var(--gold); }
#cookies-acceptance a:hover { color: var(--gold-lt); }

/* ── Sort / view-toggle buttons on listing pages ─────────────── */
#content .btn-group > .btn.btn-default {
  background: transparent;
  border-color: var(--border);
  color: var(--text-muted);
  border-radius: 0;
  font-family: var(--ff-ui);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
#content .btn-group > .btn.btn-default:hover {
  border-color: var(--gold);
  color: var(--cream);
  background: transparent;
}
#content .btn-group > .btn.btn-default.active {
  background: var(--gold);
  border-color: var(--gold) !important;
  color: var(--black);
  margin-right: 1px;
}

/* ── Box sections ───────────────────────────────────────────── */
.box > .title { color: var(--cream); }
#box-information li a { color: var(--text-muted); }
#box-information li a.active,
#box-information li a:hover { color: var(--gold); }
/* Information / create-account / reset-password / account pages — match tab-content styling */
#content #box-information,
#content #box-create-account,
#content #box-reset-password,
#content #box-edit-account,
#content #box-edit-details,
#content #box-order-history,
#content #box-login,
#content #box-login-create,
#content #box-regional-settings,
#content #box-contact-us,
#content #box-customer-service,
#content #box-order-success {
  background: rgba(0,0,0,0.65);
  border: 1px solid var(--gold);
  padding: 1.5rem;
  font-family: var(--ff-ui);
  line-height: 1.75;
}
/* Create account — checkbox alignment + font size */
#box-create-account .checkbox {
  padding: 0 !important;
  margin: 0.4rem 0 !important;
}
#box-create-account .checkbox > label,
#box-create-account label.checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.5rem !important;
  padding-left: 0 !important;
  min-height: 0 !important;
  font-size: 0.9rem !important;
  font-family: var(--ff-ui) !important;
  color: var(--text-muted) !important;
  cursor: pointer !important;
}
#box-create-account .checkbox > label input[type="checkbox"],
#box-create-account label.checkbox input[type="checkbox"] {
  position: static !important;
  margin: 0.2rem 0 0 !important;
  flex-shrink: 0 !important;
}
#box-create-account .create-account-required-note {
  font-family: var(--ff-ui) !important;
  font-size: 0.82rem !important;
  color: rgba(232,228,216,0.45) !important;
  margin: 0.25rem 0 0.75rem !important;
  padding: 0 !important;
}

/* Order history table — transparent cells, no hover, row separators (matches checkout cart) */
#box-order-history table > thead > tr > td,
#box-order-history table > thead > tr > th,
#box-order-history table > tbody > tr > td,
#box-order-history table > tbody > tr > th,
#box-order-history table > tfoot > tr > td,
#box-order-history table > tfoot > tr > th {
  background: transparent !important;
}
#box-order-history tbody tr:hover td,
#box-order-history tbody tr:hover th {
  background: transparent !important;
}
#box-order-history tbody tr + tr > td,
#box-order-history tbody tr + tr > th {
  border-top: 1px solid var(--border) !important;
}

/* Related / secondary product boxes — breathing room above each section */
#box-artist-products,
#box-similar-products,
#box-featured-products,
#box-campaign-products,
#box-popular-products,
#box-latest-products,
#box-also-purchased-products {
  margin-top: 5rem;
}
#box-artist-products h2,
#box-similar-products h2,
#box-featured-products h2,
#box-campaign-products h2,
#box-popular-products h2,
#box-latest-products h2,
#box-also-purchased-products h2 {
  font-family: var(--ff-ui);
  font-size: 0.8rem;
  letter-spacing: 0.38em;
  text-transform: uppercase;
  color: var(--gold);
  display: flex;
  align-items: center;
  gap: 0.7rem;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 1.5rem;
}
#box-artist-products h2::after,
#box-similar-products h2::after,
#box-featured-products h2::after,
#box-campaign-products h2::after,
#box-popular-products h2::after,
#box-latest-products h2::after,
#box-also-purchased-products h2::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--gold);
}

/* ── Miscellaneous ──────────────────────────────────────────── */
.pagination > li > a,
.pagination > li > span {
  background: var(--black) !important;
  border-color: var(--border) !important;
  color: var(--gold) !important;
  border-radius: 0 !important;
}
.pagination > li > a:hover {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--black) !important;
}
.pagination > .active > a,
.pagination > .active > span {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--black) !important;
}
.breadcrumbs, .breadcrumb {
  background: transparent !important;
  font-family: var(--ff-ui);
  font-size: 0.83rem;
  letter-spacing: 0.06em;
  color: var(--text-muted) !important;
  border: none !important;
}
.breadcrumbs a, .breadcrumb > li > a { color: var(--text-muted) !important; }
.breadcrumbs a:hover, .breadcrumb > li > a:hover { color: var(--gold) !important; }
/* nav-tabs overrides moved to the nav-tabs section below */

/* sticker / sale labels */
.listing .product-column .image-wrapper .sticker.new,
.listing .product-row .image-wrapper .sticker.new,
#box-product .main-image .sticker.new {
  background: rgba(176,141,90,0.85) !important;
}
.listing .product-column .image-wrapper .sticker.sale,
.listing .product-row .image-wrapper .sticker.sale,
#box-product .main-image .sticker.sale {
  background: rgba(140,30,30,0.85) !important;
}
.listing .product-column .image-wrapper .sticker.preorder,
.listing .product-row .image-wrapper .sticker.preorder,
#box-product .main-image .sticker.preorder {
  background: rgba(176,141,90,0.92) !important;
  color: #0d0a0a !important;
}


/* ── btn-success (gold) ──────────────────────────────────────── */
.btn-success {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--black) !important;
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
  color: var(--black) !important;
}
/* Product page: breathing room around the Add-to-Cart button */
#box-product button[name="add_cart_product"] {
  padding: 0.75rem 1.6rem;
  margin: 0.5rem 0;
  font-family: var(--ff-ui);
  letter-spacing: 0.06em;
}

/* Listing product cards: vmod-injected buy-now block. The Add To Cart
   button sits inside a <form> while View Options is a bare <a> — using
   display:contents on the form lets the button participate in the flex
   layout as a direct child, so both buttons end up the same width. */
.buy-now-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
.buy-now-wrapper > form {
  display: contents;
}
.buy-now-wrapper .out-of-stock-notice {
  font-family: var(--ff-ui);
  font-size: 0.78rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  border: 1px solid var(--border);
  padding: 0.4rem 0.9rem;
  border-radius: var(--radius);
  background: transparent;
}

/* ── Cart and order table rows: force dark background ────────── */
/* ID-based selectors (1,x,x) beat Bootstrap's class-only table
   rules, so !important is only needed on the .main-checkout
   variants (which lack an ID and compete with Bootstrap's
   .table-striped > tbody > tr:nth-child(odd) at 0,3,3).          */
.main-checkout .table > thead > tr > td,
.main-checkout .table > thead > tr > th,
.main-checkout .table > tbody > tr > td,
.main-checkout .table > tbody > tr > th,
.main-checkout .table > tfoot > tr > td,
.main-checkout .table > tfoot > tr > th {
  background: transparent !important;
}
#box-checkout-cart table > thead > tr > td,
#box-checkout-cart table > thead > tr > th,
#box-checkout-cart table > tbody > tr > td,
#box-checkout-cart table > tbody > tr > th,
#box-checkout-summary table > thead > tr > td,
#box-checkout-summary table > thead > tr > th,
#box-checkout-summary table > tbody > tr > td,
#box-checkout-summary table > tbody > tr > th,
#box-checkout-summary table > tfoot > tr > td,
#box-checkout-summary table > tfoot > tr > th {
  background: transparent;
}
/* Row separators instead of alternating backgrounds */
#box-checkout-cart tbody tr + tr > td,
#box-checkout-cart tbody tr + tr > th,
#box-checkout-summary tbody tr + tr > td,
#box-checkout-summary tbody tr + tr > th {
  border-top: 1px solid var(--border) !important;
}

/* ── Checkout form spacing ───────────────────────────────────── */
/* !important needed: Bootstrap .form-horizontal .form-group uses
   margin-left:-15px / margin-right:-15px at 0,2,0.               */
.main-checkout .form-group {
  margin-bottom: 1.1rem;
}
.main-checkout .form-group:last-child {
  margin-bottom: 0;
}
.main-checkout .form-horizontal .form-group {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── Nav tabs ────────────────────────────────────────────────── */
.nav-tabs {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  background: transparent !important;
}
.nav-tabs > li { margin-bottom: 0 !important; }
.nav-tabs > li > a {
  color: var(--text-muted) !important;
  background: rgba(0,0,0,0.9) !important;
  border-color: var(--border) !important;
  border-bottom: none !important;
  border-radius: 0 !important;
  margin-right: 0;
  height: 100% !important;
  box-sizing: border-box !important;
}
.nav-tabs > li > a:hover {
  color: var(--black) !important;
  border-color: var(--gold) !important;
  border-bottom: none !important;
  background: var(--gold) !important;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus,
.nav-tabs > li > a { margin-bottom: 0 !important; }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  background: var(--gold) !important;
  border-color: var(--border-acc) !important;
  border-bottom-color: var(--gold) !important;
  color: var(--black) !important;
  font-weight: 500 !important;
}
.tab-content {
  border: 1px solid var(--gold) !important;
  padding: 1.5rem !important;
  background: rgba(0,0,0,0.9) !important;
}

/* ── Reveal animation (scroll-into-view) ─────────────────────── */
.lc-will-reveal {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 400ms ease, transform 400ms ease;
}
.lc-will-reveal.lc-revealed {
  opacity: 1;
  transform: none;
}

/* ── Modal z-index: above all page elements ─────────────────── */
.modal-backdrop { z-index: 9600 !important; }
.modal          { z-index: 9700 !important; }

/* ── Featherlight lightbox: must sit above header/topbar ─────── */
/* featherlight.css sets position:fixed but no z-index (defaults to auto),
   which places it below our z-index:1 header stacking contexts. */
.featherlight { z-index: 99900 !important; }
/* Dark theme overrides for featherlight content panel */
.featherlight .featherlight-content {
  background: rgba(0,0,0,0.9) !important;
  color: var(--cream) !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 8px 40px rgba(0,0,0,0.7) !important;
  border-radius: 0 !important;
}
/* Close icon: gold button, normal weight */
.featherlight .featherlight-close-icon {
  background: var(--gold) !important;
  border: 1px solid var(--gold) !important;
  color: var(--black) !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
}
.featherlight .featherlight-close-icon:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
}
/* Featherlight content buttons */
.featherlight .featherlight-content .btn {
  background: rgba(0,0,0,0.9) !important;
  border-color: var(--border) !important;
  color: var(--cream) !important;
}
.featherlight .featherlight-content .btn:hover {
  border-color: var(--border-acc) !important;
  color: var(--gold) !important;
}
/* Save / submit button — gold, styled like add-to-cart */
.featherlight .featherlight-content button[name="save"],
.featherlight .featherlight-content [type="submit"][value="Save"] {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
  color: var(--black) !important;
  font-family: var(--ff-ui) !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  transition: background 180ms, border-color 180ms !important;
}
.featherlight .featherlight-content button[name="save"]:hover,
.featherlight .featherlight-content [type="submit"][value="Save"]:hover {
  background: var(--gold-lt) !important;
  border-color: var(--gold-lt) !important;
}

