/* LeoScorpioLeo — site-wide "Inochi" (命, life) color system, v2.0
   Spec: sop.leoscorpioleo.com/theme/ (Site-Wide UI Standard v2.0, adopted
   2026-10-07). Replaces Corroded Copper (lsl-cyberpunk-theme.css).
   Concept: water is life. Clear arctic lake as the environment, frosted ice
   as the reading surfaces, deep lake blues for structure, kintsugi gold for
   commitment / "you are here", fuchsia for attention only.
   Light is the default; dark is opt-in via the header toggle, which sets
   data-theme="dark" on <html> (see lsl-inochi-theme.php).
   Loaded as an mu-plugin so it survives theme switches. !important is used
   wherever the theme or a plugin loads CSS after this file and has won
   cascade ties before. */

/* ---------- 1.1 brand tokens (fixed) ---------- */
:root {
  --abyss: #0B2A3C;
  --deep: #135E75;
  --lake: #27798C;
  --shallows: #5C99AF;
  --glacier: #A9CFDA;
  --frost: #EAF4F6;
  --snow: #F7FBFC;
  --ink: #0E2733;
  --ink-muted: #4C6875;
  --mist: #E8F3F6;
  --mist-muted: #9DBAC5;
  --gold: #C9A24A;
  --gold-bright: #E3C57A;
  --gold-deep: #7D6228;
  /* Fuchsia replaces salmon (2026-10-07): the one attention color —
     sales, errors, required fields. Use sparingly. */
  --fuchsia: #C2257E;
  --fuchsia-bright: #F07AB8;
  --fuchsia-deep: #9E1D66;

  /* ---------- 1.2 role tokens, light (default) ---------- */
  --bg-wash: rgba(234, 244, 246, .18);
  --surface-card: rgba(247, 251, 252, .86);
  --surface-2: rgba(255, 255, 255, .72);
  --surface-edge: rgba(255, 255, 255, .45);
  --heading: var(--abyss);
  --text-main: var(--ink);
  --text-muted: var(--ink-muted);
  --link: var(--deep);
  --link-hover: var(--gold-deep);
  --price: var(--deep);
  --sale: var(--fuchsia);
  --alert: var(--fuchsia-deep);
  --jp: var(--deep);
  --focus: var(--deep);
  --line: rgba(19, 94, 117, .20);

  --frost-blur: blur(10px) saturate(1.2);
  --card-shadow: 0 8px 30px rgba(11, 42, 60, .18);
}
:root[data-theme="dark"] {
  --bg-wash: rgba(6, 24, 36, .45);
  --surface-card: rgba(11, 42, 60, .80);
  --surface-2: rgba(6, 24, 36, .55);
  --surface-edge: rgba(169, 207, 218, .18);
  --heading: var(--mist);
  --text-main: var(--mist);
  --text-muted: var(--mist-muted);
  --link: var(--gold-bright);
  --link-hover: var(--gold);
  --price: var(--gold-bright);
  --sale: var(--fuchsia-bright);
  --alert: var(--fuchsia-bright);
  --jp: var(--gold-bright);
  --focus: var(--gold-bright);
  --line: rgba(169, 207, 218, .18);
}
:root[data-theme="dark"] { color-scheme: dark; }

/* News25 Prime's own color variables (color/default.css loads after this
   file, so html:root out-specifies its :root). Its orange --sp-secondary
   drives the Home-button pulse, widget dots/corners and other leftovers. */
html:root {
  --sp-primary: var(--abyss);
  --sp-secondary: var(--gold);
  --sp-secondary-dark: var(--snow);
  --sp-gray: var(--ink-muted);
  --sp-border-dark: var(--line);
  --sp-border-light: rgba(169, 207, 218, .18);
  --sp-border-extra-light: var(--frost);
  --sp-scrollbar-thumb: var(--shallows);
}
html:root[data-theme="dark"] { --sp-secondary-dark: var(--abyss); }
::-webkit-selection { background-color: var(--gold) !important; color: var(--abyss) !important; -webkit-text-fill-color: var(--abyss) !important; }
::selection { -webkit-text-fill-color: var(--abyss); }

/* ---------- 2.1 water tile: painted once on html/body; inner containers
   go transparent so the lake reads as one continuous surface ---------- */
html, body {
  background-color: var(--shallows) !important;
  background-image:
    linear-gradient(var(--bg-wash), var(--bg-wash)),
    url('inochi/inochi-water-tile.webp') !important;
  background-repeat: repeat, repeat !important;
  background-size: auto, 700px !important;
  background-position: top left, top left !important;
  background-attachment: fixed, fixed !important;
  color: var(--text-main);
}
#page, .site, #content, .news25-content, .news25-prime-content,
.site-content, .content-area, section#product, .st-py-default3 {
  background-color: transparent !important;
}

/* ---------- 2.2 frosted surfaces ---------- */
#av-primary-content > *:not(.lsl-splash):not(.lsl-cat-bg):not(.page-description):not(.lsl-section):not(.lsl-band):not(.lsl-paper):not(.lsl-signage):not(.lsl-grid):not(.lsl-notice),
.page-description,
#av-secondary-content .widget,
ul.products li.product .product-single,
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product div.summary,
.post-content,
.wc-block-cart, .wc-block-checkout,
.woocommerce-checkout #order_review, .cart_totals,
.woocommerce-cart-form, .cart-collaterals .cart_totals,
.woocommerce-MyAccount-navigation,
.contactform .contact-inner {
  background-color: var(--surface-card) !important;
  -webkit-backdrop-filter: var(--frost-blur);
  backdrop-filter: var(--frost-blur);
  border: 1px solid var(--surface-edge) !important;
  border-radius: 12px !important;
  box-shadow: var(--card-shadow);
  color: var(--text-main);
}
#av-primary-content > *:not(.lsl-splash):not(.lsl-cat-bg):not(.page-description):not(.lsl-section):not(.lsl-band):not(.lsl-paper):not(.lsl-signage):not(.lsl-grid):not(.lsl-notice):not(:empty),
.page-description:not(:empty),
.woocommerce div.product div.summary,
.post-content,
.cart_totals, .woocommerce-checkout #order_review,
.woocommerce-MyAccount-navigation {
  padding: 20px;
}
/* My Account content panel: fixed-light paper in both modes. Its own
   components (lsl-account-menu.css, lsl-avatar.css, address book) draw
   white cards with fixed ink text, so the panel stays light like the
   variant-selector panel does. */
body.woocommerce-account #av-primary-content .woocommerce .woocommerce-MyAccount-content {
  background-color: rgba(247, 251, 252, .96) !important;
  border: 1px solid rgba(255, 255, 255, .45) !important;
  border-radius: 12px !important;
  box-shadow: var(--card-shadow);
  padding: 20px;
  color-scheme: light;
}
/* Fixed-light panels re-declare the light role tokens, so everything inside
   them reads light-mode values even when the page is in dark mode. */
body.woocommerce-account #av-primary-content .woocommerce .woocommerce-MyAccount-content,
.lsl-plan-picker, .lsl-avp-panel, #av-primary-content #payment div.payment_box {
  --surface-2: rgba(255, 255, 255, .72);
  --heading: var(--abyss);
  --text-main: var(--ink);
  --text-muted: var(--ink-muted);
  --link: var(--deep);
  --link-hover: var(--gold-deep);
  --price: var(--deep);
  --sale: var(--fuchsia);
  --alert: var(--fuchsia-deep);
  --jp: var(--deep);
  --focus: var(--deep);
  --line: rgba(19, 94, 117, .20);
}
#av-primary-content > :empty, .page-description:empty {
  background: none !important; border: 0 !important; box-shadow: none !important;
}

/* ---------- 3 typography ---------- */
h1, h2, h3, h4, h5, h6 { color: var(--heading); }
#av-primary-content :is(h1, h2, h3, h4, h5, h6):not(.lsl-splash *):not(.lsl-cat-bg *):not(.lsl-plaque),
#av-secondary-content :is(h1, h2, h3, h4, h5, h6):not(.widget-title),
.post-content :is(h1, h2, h3, h4, h5, h6, .post-title) {
  color: var(--heading) !important;
}
/* 3.2 body copy follows the mode instead of the theme's fixed near-black.
   Attribute-table paragraphs are excluded: that table flips text per row. */
.wp-block-paragraph:not(table.woocommerce-product-attributes p):not(.lsl-jp),
.entry-content p:not(table.woocommerce-product-attributes p):not(.lsl-jp),
#av-primary-content p:not(table.woocommerce-product-attributes p):not(.lsl-jp):not(.lsl-splash p):not(.lsl-cat-bg p),
#av-primary-content :is(li, td, th, label, dd, dt):not(.woocommerce-MyAccount-content *):not(.lsl-plan-picker *):not(.lsl-avp-panel *):not(table.variations *):not(.lsl-color-select *):not(table.woocommerce-product-attributes *) {
  color: var(--text-main) !important;
}
/* 3.4 Japanese mirror text */
.lsl-jp, p.lsl-jp, .entry-content .lsl-jp { color: var(--jp) !important; }

/* ---------- 4 global elements ---------- */
a { color: var(--link); }
a:hover, a:focus { color: var(--link-hover); }
#av-primary-content a:not(.button):not(.btn):not(.wp-block-button__link):not(.lsl-prod-card):not(.lsl-splash a):not(.lsl-cat-bg a):not(.woocommerce-LoopProduct-link):not(.page-numbers):not(.post-date a):not(.lsl-donate-btn):not(.lsl-btn):not([style*="background:#fff" i]) {
  color: var(--link) !important;
}
#av-primary-content a:not(.button):not(.btn):not(.wp-block-button__link):not(.lsl-prod-card):not(.lsl-splash a):not(.lsl-cat-bg a):not(.woocommerce-LoopProduct-link):not(.page-numbers):not(.post-date a):not(.lsl-donate-btn):not(.lsl-btn):not([style*="background:#fff" i]):hover {
  color: var(--link-hover) !important;
}
:focus-visible { outline: 2px solid var(--focus) !important; outline-offset: 2px; }
::selection { background: var(--gold); color: var(--abyss); }
::-moz-selection { background: var(--gold); color: var(--abyss); }
hr, .border, .border-top, .border-bottom { border-color: var(--line) !important; }

/* ---------- 5.1 header chrome (same in both modes) ---------- */
#header {
  background:
    linear-gradient(rgba(11, 42, 60, .78), rgba(11, 42, 60, .88)),
    url('inochi/inochi-marble-ice.webp') center / auto, center / 900px !important;
  border-bottom: 2px solid var(--gold) !important;
}
#header .navigator-wrapper,
#header .navigation-middle,
#header .main-navigation-area,
#header .nav-area,
#header .navbar-area,
#header .menu-right-list {
  background: transparent !important;
  border-color: rgba(169, 207, 218, .18) !important;
}
#header #stMenu,
#header .view-search-btn,
#header .header-search-popup,
#header .dropdown-menu,
#header .sub-menu,
#header .shopping-cart {
  background-color: var(--abyss) !important;
  border-color: rgba(169, 207, 218, .18) !important;
}
#header, #header a, #header p, #header span, #header li,
#header h1, #header h2, #header h3, #header h4, #header h5, #header h6,
#header i, #header button, #header .site-title, #header .site-description {
  color: var(--mist) !important;
}
#header a:hover, #header a:focus,
#header .header-search-toggle:hover, #header .cart-toggle:hover {
  color: var(--gold-bright) !important;
}
#header .current-menu-item > a, #header .current_page_item > a {
  color: var(--gold-bright) !important;
  box-shadow: inset 0 -2px 0 var(--gold);
}
/* Logo (UI Standard v2.1, 5.1, 2026-10-07): white wordmark with a crisp, solid
   --abyss outline tracing its contours. brightness(0) invert(1) turns the flat
   #006BBB artwork white (transparency kept); four zero-blur drop-shadows then
   stack into a ~1.5px stroke in --abyss (#0B2A3C, James 2026-10-07). No glow, no blur, no
   background block. Same in both modes; chrome is mode-independent. */
#header .custom-logo {
  filter:
    brightness(0) invert(1)
    drop-shadow(1.5px 0 0 var(--abyss))
    drop-shadow(-1.5px 0 0 var(--abyss))
    drop-shadow(0 1.5px 0 var(--abyss))
    drop-shadow(0 -1.5px 0 var(--abyss)) !important;
}
#header .site-title, #header .site-description { display: none !important; }
#header .navigation-middle-row { padding: 15px 0 !important; }
#header .logo .custom-logo { max-height: 110px !important; width: auto !important; }

/* Home icon button: standard lake button */
#header .btn.wave-effect {
  background: var(--lake) !important;
  border: 0 !important;
  border-radius: 8px;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(227, 197, 122, .35) !important;
}
#header .btn.wave-effect:hover, #header .btn.wave-effect:focus {
  background: var(--deep) !important;
  box-shadow: 0 0 0 2px var(--gold-bright) !important;
}
#header .btn.wave-effect i { color: #fff !important; }
#header .wave-effect::before, #header .wave-effect::after { border-color: var(--gold-bright) !important; box-shadow: 0 0 0 0 rgba(227, 197, 122, .5) !important; background: transparent !important; }

#header input, #header .search-box input, #header .search-form input {
  background: rgba(234, 244, 246, .12) !important;
  color: var(--mist) !important;
  border: 1px solid rgba(169, 207, 218, .35) !important;
  border-radius: 8px;
}
#header input::placeholder { color: var(--mist-muted) !important; }

/* Carousel cards carry their own gold/lake fill (set inline by JS) */
/* The homepage (page 4850) runs its own embedded copy of the carousel that still
   paints Corroded Copper rust/amber inline. Remap those two inline values onto
   the Inochi pair, keeping its per-card randomness. Matches the browser's
   serialized rgb() form of the inline style; harmless once page 4850 is migrated. */
#header .lsl-prod-card[style*="181, 85, 30"] { background: var(--lake) !important; color: #fff !important; }
#header .lsl-prod-card[style*="232, 163, 61"] { background: var(--gold) !important; color: var(--abyss) !important; }
#header .lsl-prod-card:not([style*="background"]) { background: var(--lake) !important; color: #fff !important; }
#header .lsl-prod-card,
#header .lsl-prod-card .lsl-prod-name,
#header .lsl-prod-card .lsl-prod-price {
  color: inherit !important;
}
#header .cart-count,
#header .mini-cart-count,
#header .cart-contents-count,
#header .header-cart .count {
  background: var(--gold) !important;
  color: var(--abyss) !important;
}
/* Mini-cart popup text sits on abyss */
#header .shopping-cart .woocommerce-mini-cart__total,
#header .shopping-cart .quantity { color: var(--mist-muted) !important; }

/* ---------- 5.2 light/dark toggle ---------- */
#header .lsl-mode-wrapper { display: flex; align-items: center; }
#header button.lsl-mode {
  width: 36px; height: 32px; padding: 0; margin: 0 6px;
  display: grid; place-items: center;
  border: 1px solid var(--gold) !important;
  border-radius: 8px;
  background: rgba(234, 244, 246, .10) !important;
  color: var(--gold-bright) !important;
  font-size: 16px; line-height: 1; cursor: pointer;
}
#header button.lsl-mode span { color: inherit !important; }
#header button.lsl-mode:hover, #header button.lsl-mode:focus-visible {
  background: var(--gold) !important;
  color: var(--abyss) !important;
}
#header button.lsl-mode .lsl-mode-moon { display: none; }
:root[data-theme="dark"] #header button.lsl-mode .lsl-mode-sun { display: none; }
:root[data-theme="dark"] #header button.lsl-mode .lsl-mode-moon { display: inline; }

/* ---------- 6 marble signage: breadcrumb bar ---------- */
#breadcrumb-section.breadcrumb-section {
  background:
    linear-gradient(90deg, rgba(11, 42, 60, .55), rgba(11, 42, 60, .10)),
    url('inochi/inochi-marble-gold.webp') !important;
  background-size: auto, 1000px !important;
  background-position: center, 30% 40% !important;
  border: 0 !important;
  border-bottom: 2px solid var(--gold) !important;
}
#breadcrumb-section .breadcrumb-content {
  background: transparent !important;
  border: 0 !important;
}
#breadcrumb-section .breadcrumb-content::before,
#breadcrumb-section .breadcrumb-content::after,
#breadcrumb-section .breadcrumb-heading::before,
#breadcrumb-section .breadcrumb-heading::after { display: none !important; }
#breadcrumb-section .breadcrumb-heading {
  background: rgba(11, 42, 60, .84) !important;
  border: 1px solid var(--gold) !important;
  border-radius: 6px !important;
  clip-path: none !important;
  padding: 8px 18px !important;
  width: auto !important;
}
#breadcrumb-section .breadcrumb-heading,
#breadcrumb-section .breadcrumb-heading * {
  color: #fff !important;
  background-color: transparent;
}
#breadcrumb-section .breadcrumb-heading h4 { margin: 0; }
#breadcrumb-section .breadcrumb-list {
  background: rgba(247, 251, 252, .88) !important;
  border-radius: 6px;
  padding: 6px 12px !important;
}
#breadcrumb-section .breadcrumb-list,
#breadcrumb-section .breadcrumb-list li { color: var(--ink) !important; }
#breadcrumb-section .breadcrumb-list a { color: var(--deep) !important; font-weight: 500; text-decoration: none; }
#breadcrumb-section .breadcrumb-list a:hover { color: var(--gold-deep) !important; }

/* ---------- 7 buttons: two tiers ---------- */
.btn:not(#header .btn),
.button,
.add_to_cart_button,
.single_add_to_cart_button,
input[type="submit"],
button[type="submit"]:not(#header button),
.wp-block-button__link,
.lsl-tab-cta {
  background: var(--lake) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  box-shadow: inset 0 0 0 1px rgba(227, 197, 122, .35) !important;
  text-shadow: none !important;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.btn:not(#header .btn):is(:hover, :focus-visible),
.button:is(:hover, :focus-visible),
.add_to_cart_button:is(:hover, :focus-visible),
.single_add_to_cart_button:is(:hover, :focus-visible),
input[type="submit"]:is(:hover, :focus-visible),
button[type="submit"]:not(#header button):is(:hover, :focus-visible),
.wp-block-button__link:is(:hover, :focus-visible),
.lsl-tab-cta:is(:hover, :focus-visible) {
  background: var(--deep) !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px var(--gold-bright) !important;
  transform: translateY(-1px);
}
.button *, .wp-block-button__link *, .lsl-tab-cta * { color: inherit !important; }
/* Gold tier: the two moments a customer commits money */
.wc-proceed-to-checkout .checkout-button,
a.checkout-button,
#place_order,
#av-primary-content #payment #place_order {
  background: linear-gradient(135deg, var(--gold-bright), var(--gold) 55%, #8F7130) !important;
  color: var(--abyss) !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}
.wc-proceed-to-checkout .checkout-button:is(:hover, :focus-visible),
a.checkout-button:is(:hover, :focus-visible),
#place_order:is(:hover, :focus-visible),
#av-primary-content #payment #place_order:is(:hover, :focus-visible) {
  filter: brightness(1.08);
  box-shadow: 0 0 0 2px var(--abyss) !important;
  color: var(--abyss) !important;
  transform: translateY(-1px);
}

/* ---------- 8 shop grid + product cards ---------- */
ul.products li.product,
.woocommerce ul.products li.product {
  background: transparent !important;
  color: var(--text-main);
}
ul.products li.product .product-single {
  padding: 12px;
  transition: box-shadow .2s ease, transform .2s ease;
}
li.product:hover .product-single {
  box-shadow: 0 10px 30px rgba(201, 162, 74, .28) !important;
  transform: translateY(-3px);
}
li.product :is(h2, h3, h5, .woocommerce-loop-product__title),
li.product :is(h2, h3, h5) a,
li.product .woocommerce-loop-product__title a { color: var(--text-main) !important; }
li.product :is(h2, h3, h5) a:hover { color: var(--link-hover) !important; }

.onsale, span.onsale, .woocommerce span.onsale {
  background: var(--fuchsia) !important;
  color: #fff !important;
  border-radius: 99px !important;
  font-weight: 700;
}
.stock.in-stock {
  display: inline-block;
  background: var(--glacier) !important;
  color: var(--abyss) !important;
  padding: 2px 10px;
  border-radius: 99px;
  font-weight: 600;
}
.price, .price .woocommerce-Price-amount,
.woocommerce div.product p.price, .woocommerce div.product span.price,
#av-primary-content .price, #av-primary-content .price * {
  color: var(--price) !important;
  font-weight: 600;
}
.price ins { text-decoration: none; }
.price ins .woocommerce-Price-amount, #av-primary-content .price ins * { color: var(--sale) !important; font-weight: 700; }
.price del .woocommerce-Price-amount, #av-primary-content .price del * {
  color: var(--text-muted) !important; font-weight: 400; opacity: .75;
}

/* ---------- 9.1 product detail: tabs ---------- */
.woocommerce div.product .woocommerce-tabs { padding: 20px; }
.woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent !important;
  border-color: var(--line) !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { border-color: var(--line) !important; box-shadow: none !important; }
.woocommerce-tabs ul.tabs li a,
#av-primary-content .woocommerce-tabs ul.tabs li a { color: var(--text-muted) !important; }
.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li a:hover,
#av-primary-content .woocommerce-tabs ul.tabs li.active a,
#av-primary-content .woocommerce-tabs ul.tabs li a:hover {
  color: var(--link) !important;
  box-shadow: inset 0 -2px 0 var(--gold);
}
.woocommerce div.product .woocommerce-tabs .panel { background: transparent !important; color: var(--text-main); }

/* ---------- 9.3 Additional Information attributes table ---------- */
.woocommerce table.woocommerce-product-attributes { border-radius: 8px; overflow: hidden; border: 0 !important; }
.woocommerce table.woocommerce-product-attributes tr:nth-child(odd) :is(th, td),
#av-primary-content table.woocommerce-product-attributes tr:nth-child(odd) :is(th, td, td p, td a) {
  background-color: var(--deep) !important;
  color: var(--frost) !important;
  border-color: rgba(169, 207, 218, .18) !important;
}
.woocommerce table.woocommerce-product-attributes tr:nth-child(even) :is(th, td),
#av-primary-content table.woocommerce-product-attributes tr:nth-child(even) :is(th, td, td p, td a) {
  background-color: var(--glacier) !important;
  color: var(--abyss) !important;
  border-color: rgba(19, 94, 117, .20) !important;
}
.woocommerce table.woocommerce-product-attributes :is(th, td) { padding: 10px 15px !important; }
.woocommerce table.woocommerce-product-attributes td p { margin: 0; background: transparent !important; }

/* ---------- 10 shop_table (cart / checkout receipt) ---------- */
.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
  background-color: transparent !important;
  color: var(--text-main) !important;
  border-color: var(--line) !important;
}
.woocommerce table.shop_table { background-color: var(--surface-card) !important; border-radius: 12px; }
.woocommerce table.shop_table thead th { border-bottom: 2px solid var(--gold) !important; }

/* ---------- 11 forms & inputs ---------- */
input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not(#header input),
select,
textarea,
.form-control:not(#header .form-control),
.select2-container--default .select2-selection--single,
.wc-block-components-text-input input {
  background-color: var(--surface-2) !important;
  color: var(--text-main) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
}
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text-main) !important; }
.select2-dropdown { background: var(--snow) !important; color: var(--ink) !important; border-color: var(--line) !important; }
:root[data-theme="dark"] .select2-dropdown { background: var(--abyss) !important; color: var(--mist) !important; }
input::placeholder, textarea::placeholder { color: var(--text-muted) !important; opacity: 1; }
select option { background: var(--snow); color: var(--ink); }
:root[data-theme="dark"] select option { background: var(--abyss); color: var(--mist); }

/* ---------- 12 cart & checkout ---------- */
.woocommerce-checkout #order_review, .cart_totals { border-color: var(--surface-edge) !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice {
  background: var(--surface-card) !important;
  color: var(--text-main) !important;
  border-top-color: var(--gold) !important;
}
.woocommerce-info::before, .woocommerce-message::before { color: var(--gold) !important; }
/* Payment box: follow the mode instead of the theme's fixed white */
#av-primary-content #payment,
#av-primary-content #payment div.payment_box {
  background: var(--surface-2) !important;
  border-radius: 8px;
}
#av-primary-content #payment div.payment_box::before { border-bottom-color: var(--surface-2) !important; }
#av-primary-content #payment,
#av-primary-content #payment :is(p, label, span, li, div, strong, legend, fieldset) {
  color: var(--text-main) !important;
}
#av-primary-content #payment a { color: var(--link) !important; text-decoration: underline; }
/* WP Swings membership cards and restriction notices draw their own white
   panels: keep them on fixed-light ink in both modes */
#av-primary-content#av-primary-content :is([class^="wps-membership"], [class*=" wps-membership"], [class^="wps-restriction"], [class*=" wps-restriction"]),
#av-primary-content#av-primary-content :is([class^="wps-membership"], [class*=" wps-membership"], [class^="wps-restriction"], [class*=" wps-restriction"]) :is(p, span, li, div, strong, h1, h2, h3, h4, h5, h6, label) {
  color: var(--ink) !important;
}

/* ---------- 13 pagination ---------- */
.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; background: transparent !important; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span,
.navigation .page-numbers, .pagination .page-numbers {
  background-color: var(--surface-card) !important;
  color: var(--text-main) !important;
  border: 1px solid var(--line) !important;
  border-radius: 8px !important;
  margin: 0 3px;
}
.woocommerce-pagination > ul .page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current,
.navigation .page-numbers:is(.current, :hover, :focus),
.pagination .page-numbers:is(.current, :hover, :focus) {
  background: var(--gold) !important;
  color: var(--abyss) !important;
  border-color: #8F7130 !important;
}

/* ---------- 14 sidebar & widgets ---------- */
#av-secondary-content .widget { padding: 0 0 8px !important; overflow: hidden; }
#av-secondary-content .widget > *:not(.widget-title):not(h2):not(h3) { padding-left: 16px; padding-right: 16px; }
.widget-title,
#av-secondary-content .widget > :is(h2, h3, h4):first-child,
#av-secondary-content .widget .wp-block-heading {
  background:
    linear-gradient(90deg, rgba(11, 42, 60, .80), rgba(11, 42, 60, .25)),
    url('inochi/inochi-marble-gold.webp') !important;
  background-size: auto, 700px !important;
  background-position: center, 60% 20% !important;
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
  border: 0 !important;
  border-bottom: 2px solid var(--gold) !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  margin: 0 0 8px !important;
}
.widget-title *, #av-secondary-content .widget .wp-block-heading * { color: #fff !important; }
.widget-title::before, .widget-title::after,
#av-secondary-content .widget :is(h1, h2, h3, h4, h5, h6)::before,
#av-secondary-content .widget :is(h1, h2, h3, h4, h5, h6)::after { display: none !important; }
#av-secondary-content .widget,
#av-secondary-content .widget :is(p, li, span, div, label) { color: var(--text-main); }
#av-secondary-content a:not(.lsl-tab-cta):not(.button):not(.btn):not(.wp-block-button__link),
.widget_product_categories .product-categories a,
.widget_archive li a,
.widget_categories li a {
  color: var(--link) !important;
}
#av-secondary-content a:not(.lsl-tab-cta):not(.button):not(.btn):not(.wp-block-button__link):hover,
.widget_product_categories .product-categories a:hover,
.widget_archive li a:hover,
.widget_categories li a:hover {
  color: var(--link-hover) !important;
}
#av-secondary-content .count,
.widget .count,
.widget_product_categories .count { color: var(--text-muted) !important; }
#av-secondary-content li, .product-categories li, .widget_archive li { border-color: var(--line) !important; }

/* Header "Updates" widget (custom_html-2): its own inline grays/#222 */
.lsl-updates-list li { border-bottom-color: var(--line) !important; }
.lsl-updates-list a { color: var(--text-main) !important; }
.lsl-updates-list a:hover { color: var(--link-hover) !important; }
.lsl-update-date, .lsl-update-teaser { color: var(--text-muted) !important; }

/* ---------- 15 footer chrome ---------- */
#footer-section {
  background:
    linear-gradient(rgba(11, 42, 60, .90), rgba(11, 42, 60, .94)),
    url('inochi/inochi-marble-ice.webp') center / auto, center / 900px !important;
  border-top: 2px solid var(--gold) !important;
}
#footer-section .footer-content,
#footer-section .footer-copyright,
#footer-section .widget,
#footer-section aside {
  background: transparent !important;
  border-color: rgba(169, 207, 218, .18) !important;
  box-shadow: none !important;
}
#footer-section, #footer-section p, #footer-section span, #footer-section li,
#footer-section h1, #footer-section h2, #footer-section h3, #footer-section h4,
#footer-section .copyright-text, #footer-section .widget-title {
  color: var(--mist-muted) !important;
}
#footer-section a { color: var(--mist) !important; }
#footer-section a:hover, #footer-section a:focus { color: var(--gold-bright) !important; }
#footer-section .widget-title { background: none !important; border: 0 !important; text-shadow: none; }
.scrollingUp, .scroll-to-top, #scrollUp { background: var(--lake) !important; color: #fff !important; }

/* ---------- 16 blog overrides ---------- */
.post-content h5.post-title, .post-content h2, .post-content h3, .post-content h4 { color: var(--heading) !important; }
.wp-block-calendar table, .wp-block-calendar table th { background: transparent !important; color: var(--text-main); border-color: var(--line) !important; }
.wp-block-calendar table td { color: var(--text-main); border-color: var(--line) !important; }
.wp-block-calendar table td a { color: var(--link); font-weight: 700; }
.wp-block-calendar table td a:hover { color: var(--link-hover); }

/* ---------- homepage (page 4850) content: re-point its embedded Copper
   colors without editing the page itself ---------- */
.lsl-splash {
  background:
    linear-gradient(115deg, rgba(11, 42, 60, .88) 0%, rgba(19, 94, 117, .72) 60%, rgba(201, 162, 74, .55) 100%),
    url('inochi/inochi-water-tile.webp') center / 700px !important;
  border-radius: 12px;
  border-bottom: 2px solid var(--gold);
}
.lsl-splash, .lsl-splash h1, .lsl-splash p { color: #fff !important; }
.lsl-prod-section h3 { color: var(--heading) !important; }
.lsl-cat-bg::before { background: rgba(11, 42, 60, .55) !important; }
.lsl-cat-slide {
  background: rgba(11, 42, 60, .82) !important;
  border: 1px solid rgba(169, 207, 218, .25);
}
.lsl-cat-slide.lsl-cat-active {
  background: var(--abyss) !important;
  border: 1px solid var(--gold) !important;
  box-shadow: 0 8px 26px rgba(11, 42, 60, .55) !important;
}
.lsl-cat-slide, .lsl-cat-slide p, .lsl-cat-bg h2, .lsl-cat-bg > p { color: #fff !important; }
.lsl-cat-slide a { border-color: var(--gold-bright) !important; color: #fff !important; }
.lsl-cat-slide a:hover { background: var(--gold) !important; color: var(--abyss) !important; }
.lsl-cat-dot { background: var(--glacier) !important; }
.lsl-cat-dot.active { background: var(--gold) !important; }
/* banner carousel cards on the homepage get the same chips as the header */
.lsl-prod-card { box-shadow: 0 1px 4px rgba(11, 42, 60, .35); }

/* ---------- product page avatar toggle (lsl-avatar.css) sits on the
   page, so its labels follow the mode ---------- */
body .lsl-avp-toggle { border-color: var(--gold) !important; }
body .lsl-avp-toggle button { color: var(--text-main) !important; }
body .lsl-avp-toggle button.is-active { background: var(--gold) !important; color: var(--abyss) !important; }
body .lsl-avp-cta a { color: var(--link) !important; }

/* Blog post cards: date badge is a gold chip (abyss text), year band abyss */
.post-items .author-date .post-date > a,
#av-primary-content .post-items .author-date .post-date > a {
  background-color: var(--gold) !important;
  color: var(--abyss) !important;
}
.post-items .author-date .post-date .meta-info span { color: var(--abyss) !important; }
.post-items .author-date .post-date .meta-info span.year {
  background-color: var(--abyss) !important;
  color: var(--gold-bright) !important;
}
/* Blog sidebar Search block label = marble signage, like other widget titles */
#av-secondary-content .wp-block-search__label {
  display: block;
  background:
    linear-gradient(90deg, rgba(11, 42, 60, .80), rgba(11, 42, 60, .25)),
    url('inochi/inochi-marble-gold.webp') !important;
  background-size: auto, 700px !important;
  background-position: center, 60% 20% !important;
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
  border: 0 !important;
  border-bottom: 2px solid var(--gold) !important;
  border-radius: 0 !important;
  clip-path: none !important;
  padding: 12px 16px !important;
  margin: 0 -16px 12px !important;
  width: auto !important;
  text-align: center;
  font-weight: 600;
}
#av-secondary-content .wp-block-search__label::before,
#av-secondary-content .wp-block-search__label::after { display: none !important; }
/* Breadcrumb plaque with no title text (blog index) is hidden by the
   loader's footer script via this class */
#breadcrumb-section .breadcrumb-heading.lsl-empty { display: none !important; }

/* =====================================================================
   Warm-color retirement (2026-10-07). Every red / orange / yellow left
   over from Corroded Copper, the News25 theme, WooCommerce defaults and
   page content is re-pointed to Inochi. Gold = kintsugi accent; fuchsia
   = attention only (sales, errors, required). Inline styles in page
   content are matched by the old color itself, so the pages stay
   untouched and any future copy of an old color is caught too.
   ===================================================================== */

/* --- WooCommerce's own palette variables --- */
html:root {
  --wc-red: var(--fuchsia-deep);
  --wc-orange: var(--gold);
  --wc-highlight: var(--deep);
}
.woocommerce .required, abbr.required, .required,
#av-primary-content abbr.required, #av-primary-content .required {
  color: var(--alert) !important;
  text-decoration: none;
}
.woocommerce-error {
  background: var(--surface-card) !important;
  color: var(--text-main) !important;
  border-top-color: var(--fuchsia) !important;
}
.woocommerce-error::before { color: var(--fuchsia) !important; }
.woocommerce-error li, #av-primary-content .woocommerce-error li { color: var(--text-main) !important; }
.woocommerce form .form-row.woocommerce-invalid :is(input, select, textarea, .select2-selection) {
  border-color: var(--fuchsia) !important;
}
.woocommerce form .form-row.woocommerce-invalid label { color: var(--alert) !important; }
.woocommerce form .form-row.woocommerce-validated :is(input, select, .select2-selection) {
  border-color: var(--lake) !important;
}
.woocommerce-password-strength.short  { background: rgba(194, 37, 126, .16) !important; border-color: var(--fuchsia) !important; color: var(--text-main) !important; }
.woocommerce-password-strength.bad    { background: rgba(194, 37, 126, .08) !important; border-color: var(--fuchsia-bright) !important; color: var(--text-main) !important; }
.woocommerce-password-strength.good   { background: rgba(201, 162, 74, .18) !important; border-color: var(--gold) !important; color: var(--text-main) !important; }
.woocommerce-password-strength.strong { background: rgba(169, 207, 218, .45) !important; border-color: var(--lake) !important; color: var(--text-main) !important; }
.woocommerce .star-rating, .woocommerce .star-rating span::before,
.woocommerce p.stars a, .client-feedback .rating .stars { color: var(--gold) !important; }
.woocommerce div.product .stock:not(.in-stock) { color: var(--text-muted) !important; }
.woocommerce div.product .stock.out-of-stock { color: var(--alert) !important; }
.cart-collaterals .cart_totals .discount td { color: var(--price) !important; }

/* --- News25 theme leftovers: brand-colored social chips, file button,
   rating stars, toggles --- */
:is(.bg-pinterest, .bg-youtube, .bg-quora, .bg-reddit, .bg-facebook, .bg-twitter, .bg-instagram, .bg-linkedin, .bg-tiktok),
.widget-social-icons :is(.fa-pinterest-p, .fa-youtube-play),
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon {
  background-color: var(--lake) !important;
  color: #fff !important;
}
:is(.bg-pinterest, .bg-youtube, .bg-quora, .bg-reddit, .bg-facebook, .bg-twitter, .bg-instagram, .bg-linkedin, .bg-tiktok):hover {
  background-color: var(--deep) !important;
  box-shadow: 0 0 0 2px var(--gold-bright);
}
.sidebar .widget .wp-block-file .wp-block-file__button { background-color: var(--lake) !important; color: #fff !important; }
.footer-sidebar .widget .wp-block-media-text .wp-block-media-text__content a { color: var(--mist) !important; }
.rtl-to-ltr.active .knob span { background-color: var(--lake) !important; }
.sidebar .widget_mail .mail-form .screen-reader-text i { color: var(--glacier) !important; }

/* --- lsl-customer-accounts: zodiac sign pill on the sign-up form --- */
.lsl-zodiac-display, #av-primary-content .lsl-zodiac-display {
  color: var(--link) !important;
  font-weight: 600;
}

/* --- Page content inline colors (homepage 4850, About, etc.) --- */
/* old near-black / dark-green panels -> abyss */
[style*="#10130D" i], [style*="#1B2A17" i], [style*="#0F1B0C" i] {
  background-color: var(--abyss) !important;
}
/* old cream "Our Purpose" panel -> frosted surface */
[style*="#F1EDE4" i] {
  background-color: var(--surface-card) !important;
  -webkit-backdrop-filter: var(--frost-blur);
  backdrop-filter: var(--frost-blur);
  border-radius: 12px;
}
[style*="#F1EDE4" i] :is(h1, h2, h3, h4) { color: var(--heading) !important; }
[style*="#F1EDE4" i] p, [style*="#385E3F" i] { color: var(--text-main) !important; }
/* rust headings / text -> heading color */
:is(h1, h2, h3, h4, h5, h6, p, span)[style*="color:#B5551E" i] { color: var(--heading) !important; }
/* rust gradient CTA band -> deep lake band with a gold rule */
[style*="#B5551E,#8C4116" i], [style*="#B5551E, #8C4116" i] {
  background: linear-gradient(115deg, var(--abyss), var(--deep)) !important;
  border-bottom: 2px solid var(--gold);
  border-radius: 12px;
}
/* white button with rust text (e.g. "Shop Now") */
a[style*="color:#B5551E" i] {
  background: #fff !important;
  color: var(--deep) !important;
  border-radius: 8px !important;
  box-shadow: inset 0 0 0 1px rgba(201, 162, 74, .5);
  transition: box-shadow .15s ease, transform .15s ease;
}
a[style*="color:#B5551E" i]:is(:hover, :focus-visible) {
  box-shadow: 0 0 0 2px var(--gold-bright);
  transform: translateY(-1px);
}
/* amber icon chips (About page social row) -> lake */
[style*="#E8A33D" i] {
  background-color: var(--lake) !important;
  color: #fff !important;
}
[style*="#E8A33D" i] :is(svg, path) { fill: currentColor !important; }
[style*="#E8A33D" i]:hover { background-color: var(--deep) !important; box-shadow: 0 0 0 2px var(--gold-bright); }

/* --- Donate page (its own <style> block) --- */
.lsl-donate-wrap {
  background:
    linear-gradient(115deg, rgba(11, 42, 60, .92), rgba(19, 94, 117, .80)),
    url('inochi/inochi-water-tile.webp') center / 700px !important;
  color: var(--mist) !important;
  border-radius: 12px;
  border-bottom: 2px solid var(--gold);
}
.lsl-donate-wrap :is(h1, h2, h3, p, label, span),
#av-primary-content .lsl-donate-wrap :is(h1, h2, h3, p, label, span) { color: var(--mist) !important; }
.lsl-donate-input-wrap, #av-primary-content .lsl-donate-input-wrap { background: rgba(234, 244, 246, .12) !important; }
.lsl-donate-btn, #av-primary-content .lsl-donate-btn {
  background: #fff !important;
  color: var(--deep) !important;
  border: 2px solid #fff !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
/* choosing an amount is the commitment moment -> gold */
.lsl-donate-btn:is(:hover, :focus-visible), #av-primary-content .lsl-donate-btn:is(:hover, :focus-visible) {
  background: linear-gradient(135deg, var(--gold-bright), var(--gold) 55%, #8F7130) !important;
  color: var(--abyss) !important;
  border-color: var(--gold) !important;
}
.lsl-donate-input-wrap { border-color: var(--glacier) !important; }
.lsl-donate-input-wrap input, .lsl-donate-wrap input,
#av-primary-content .lsl-donate-wrap input:not([type=submit]) {
  background: transparent !important;
  color: #fff !important;
  border: 0 !important;
}

/* Fixed-dark panels (donate band, homepage CTA band, abyss panels)
   re-declare the dark role tokens, so text inside them reads light in
   both modes — the mirror of the fixed-light panels above. */
.lsl-donate-wrap,
[style*="#B5551E,#8C4116" i], [style*="#B5551E, #8C4116" i],
[style*="#10130D" i], [style*="#1B2A17" i], [style*="#0F1B0C" i] {
  --heading: var(--mist);
  --text-main: var(--mist);
  --text-muted: var(--mist-muted);
  --link: var(--gold-bright);
  --link-hover: var(--gold);
  --surface-2: rgba(234, 244, 246, .12);
  --line: rgba(169, 207, 218, .30);
  color: var(--mist);
}
.lsl-donate-wrap input::placeholder { color: var(--mist-muted) !important; }

/* Homepage "More Than Merch" message (page 4850, class added 2026-10-07):
   ink in light mode, kintsugi gold in dark mode for legibility (James). */
#av-primary-content p.lsl-purpose-text, p.lsl-purpose-text { color: var(--text-main) !important; }
/* Doubled id outranks the generic #av-primary-content p:not(...) rule,
   whose :not() list carries a lot of specificity. */
html:root[data-theme="dark"] #av-primary-content#av-primary-content p.lsl-purpose-text,
html:root[data-theme="dark"] p.lsl-purpose-text { color: #C9A24A !important; }

/* =====================================================================
   Page-building kit (UI Standard v2.1, Section 19). New pages and
   sections are built from these classes only — no inline colors — so
   they inherit both modes and any future palette change automatically.
   ===================================================================== */

/* Section: a frosted surface block. Add --center for centered copy. */
.lsl-section {
  background: var(--surface-card) !important;
  -webkit-backdrop-filter: var(--frost-blur);
  backdrop-filter: var(--frost-blur);
  border: 1px solid var(--surface-edge);
  border-radius: 12px;
  box-shadow: var(--card-shadow);
  padding: 2.5rem 1.5rem;
  margin: 0 0 1.25rem;
  color: var(--text-main);
}
.lsl-section--center { text-align: center; }
.lsl-section--narrow { max-width: 720px; margin-left: auto; margin-right: auto; }

/* Band: fixed-dark call-to-action strip (same in both modes). */
.lsl-band {
  --heading: var(--mist);
  --text-main: var(--mist);
  --text-muted: var(--mist-muted);
  --link: var(--gold-bright);
  --link-hover: var(--gold);
  --surface-2: rgba(234, 244, 246, .12);
  --line: rgba(169, 207, 218, .30);
  --price: var(--gold-bright);
  --sale: var(--fuchsia-bright);
  --alert: var(--fuchsia-bright);
  background: linear-gradient(115deg, var(--abyss), var(--deep)) !important;
  border-bottom: 2px solid var(--gold);
  border-radius: 12px;
  padding: 3rem 1.5rem 3.5rem;
  margin: 0 0 1.25rem;
  color: var(--mist);
  text-align: center;
}
.lsl-band--water {
  background:
    linear-gradient(115deg, rgba(11, 42, 60, .92), rgba(19, 94, 117, .80)),
    url('inochi/inochi-water-tile.webp') center / 700px !important;
}

/* Paper: fixed-light panel (same in both modes). */
.lsl-paper {
  --surface-2: rgba(255, 255, 255, .72);
  --heading: var(--abyss);
  --text-main: var(--ink);
  --text-muted: var(--ink-muted);
  --link: var(--deep);
  --link-hover: var(--gold-deep);
  --price: var(--deep);
  --sale: var(--fuchsia);
  --alert: var(--fuchsia-deep);
  --line: rgba(19, 94, 117, .20);
  background: rgba(247, 251, 252, .96) !important;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 12px;
  box-shadow: var(--card-shadow);
  padding: 1.5rem;
  margin: 0 0 1.25rem;
  color: var(--ink);
  color-scheme: light;
}

/* Signage: a gold-marble banner that names a place; text goes on .lsl-plaque. */
.lsl-signage {
  background:
    linear-gradient(90deg, rgba(11, 42, 60, .55), rgba(11, 42, 60, .10)),
    url('inochi/inochi-marble-gold.webp') 30% 40% / 1000px !important;
  border-bottom: 2px solid var(--gold);
  border-radius: 12px;
  padding: 2rem 1.5rem;
  margin: 0 0 1.25rem;
}
.lsl-plaque, #av-primary-content .lsl-plaque {
  display: inline-block;
  background: rgba(11, 42, 60, .84) !important;
  color: #fff !important;
  border: 1px solid var(--gold);
  border-radius: 6px;
  padding: 8px 18px;
  font-weight: 700;
  margin: 0;
}

/* Kintsugi rule: the gold divider. */
.lsl-rule { border: 0; border-top: 2px solid var(--gold) !important; margin: 1.5rem auto; max-width: 120px; }

/* Text helpers */
.lsl-lede, #av-primary-content p.lsl-lede { font-size: 1.1rem; color: var(--text-main) !important; }
.lsl-muted, #av-primary-content .lsl-muted { color: var(--text-muted) !important; }
.lsl-highlight, #av-primary-content#av-primary-content .lsl-highlight { color: var(--text-main) !important; }
html:root[data-theme="dark"] .lsl-highlight,
html:root[data-theme="dark"] #av-primary-content#av-primary-content .lsl-highlight { color: var(--gold) !important; }

/* Buttons: standard (lake), gold (money commitment only), light (on a band). */
.lsl-btn, #av-primary-content a.lsl-btn {
  display: inline-block;
  background: var(--lake) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 8px !important;
  padding: .8rem 2rem;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: inset 0 0 0 1px rgba(227, 197, 122, .35);
  cursor: pointer;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.lsl-btn:is(:hover, :focus-visible), #av-primary-content a.lsl-btn:is(:hover, :focus-visible) {
  background: var(--deep) !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px var(--gold-bright);
  transform: translateY(-1px);
}
.lsl-btn--gold, #av-primary-content a.lsl-btn--gold {
  background: linear-gradient(135deg, var(--gold-bright), var(--gold) 55%, #8F7130) !important;
  color: var(--abyss) !important;
  box-shadow: none;
}
.lsl-btn--gold:is(:hover, :focus-visible), #av-primary-content a.lsl-btn--gold:is(:hover, :focus-visible) {
  background: linear-gradient(135deg, var(--gold-bright), var(--gold) 55%, #8F7130) !important;
  color: var(--abyss) !important;
  filter: brightness(1.08);
  box-shadow: 0 0 0 2px var(--abyss);
}
.lsl-btn--light, #av-primary-content a.lsl-btn--light {
  background: #fff !important;
  color: var(--deep) !important;
  box-shadow: inset 0 0 0 1px rgba(201, 162, 74, .5);
}
.lsl-btn--light:is(:hover, :focus-visible), #av-primary-content a.lsl-btn--light:is(:hover, :focus-visible) {
  background: #fff !important;
  color: var(--deep) !important;
  box-shadow: 0 0 0 2px var(--gold-bright);
}

/* Badges: sale (fuchsia, attention), info (glacier), gold (celebrate / "new"). */
.lsl-badge {
  display: inline-block;
  padding: 3px 12px;
  border-radius: 99px;
  font-size: .75rem;
  font-weight: 700;
  background: var(--glacier) !important;
  color: var(--abyss) !important;
}
.lsl-badge--sale { background: var(--fuchsia) !important; color: #fff !important; }
.lsl-badge--gold { background: var(--gold) !important; color: var(--abyss) !important; }

/* Notices: default (gold edge, informational) and --alert (fuchsia edge). */
.lsl-notice {
  background: var(--surface-card) !important;
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  padding: 12px 16px;
  margin: 0 0 1rem;
  color: var(--text-main);
}
.lsl-notice--alert { border-left-color: var(--fuchsia); }
.lsl-notice--alert strong { color: var(--alert) !important; }

/* Grid: responsive cards, no media queries needed. */
.lsl-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.lsl-grid > * { min-width: 0; }

/* Kit buttons are excluded from the generic content-link color rule. */
#av-primary-content a.lsl-btn { text-shadow: none; }
