/*
 * Enter any custom CSS here.
 * This file will not be overwritten by theme updates.
 *
 * ── Semantic class hooks (sa-*) ────────────────────────────────────────────
 * Every section, snippet and key element carries a stable `sa-` class you can
 * target with plain CSS — no Tailwind rebuild needed. These classes ship with
 * NO styles of their own; they exist purely as selectors for you to hook onto.
 *
 * Page scope   body.sa-tpl-<template>      e.g. .sa-tpl-product, .sa-tpl-shop
 *              body.sa-no-product-images / .sa-no-category-images when the
 *              matching theme setting is off
 * Chrome       .sa-header .sa-navbar .sa-footer
 *              .sa-navbar-link .sa-navbar-logo .sa-navbar-cart .sa-footer-link
 * Sections     .sa-<component>             e.g. .sa-hero, .sa-features, .sa-faq
 *   variant    .sa-<component>--<variant>  e.g. .sa-hero--split-media
 *   inner      .sa-<component>-title / -subtitle / -eyebrow / -media /
 *              -items / -item / -actions / -link / -price / -badge / -icon
 * Primitives   .sa-btn (+ .sa-btn--<variant>), .sa-section-header
 *              (.sa-section-title / -eyebrow / -subtitle),
 *              .sa-product-card (+ .sa-product-card--<style>,
 *              .sa-product-card-title / -price / -stock / -status / -badges),
 *              .sa-product-form + .sa-add-to-cart, .sa-product-gallery,
 *              .sa-cart-panel + .sa-cart-item, .sa-searchbar, .sa-pagination,
 *              .sa-breadcrumbs, .sa-toasts + .sa-toast, .sa-feedback-card
 *
 * Example — bigger hero heading only on the product page:
 *   .sa-tpl-product .sa-hero-title { font-size: 3rem; }
 * ───────────────────────────────────────────────────────────────────────────
*/

/* ── Monarch theme polish ──────────────────────────────────────────────── */

/* Gradient accent on the hero title's highlighted word */
.sa-hero-title mark,
.sa-hero-title .highlight {
  background: linear-gradient(135deg, var(--cl-accent) 0%, #FF7A7A 55%, var(--cl-accent) 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: monarch-shimmer 6s ease-in-out infinite;
}

@keyframes monarch-shimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

/* Soft accent glow behind primary buttons on hover */
.sa-btn--primary,
.sa-btn--solid {
  position: relative;
  transition: transform var(--dur, 200ms) ease, box-shadow var(--dur, 200ms) ease;
}
.sa-btn--primary:hover,
.sa-btn--solid:hover {
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--cl-accent) 40%, transparent),
              0 8px 28px -6px color-mix(in srgb, var(--cl-accent) 55%, transparent);
  transform: translateY(-1px);
}

/* Product / content cards: subtle accent-tinted border glow on hover */
.sa-product-card {
  transition: border-color var(--dur, 200ms) ease, box-shadow var(--dur, 200ms) ease, transform var(--dur, 200ms) ease;
}
.sa-product-card:hover {
  border-color: color-mix(in srgb, var(--cl-accent) 45%, var(--cl-border));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--cl-accent) 20%, transparent),
              0 16px 40px -20px color-mix(in srgb, var(--cl-accent) 60%, transparent);
}

/* Accent-colored selection */
::selection {
  background: color-mix(in srgb, var(--cl-accent) 35%, transparent);
  color: var(--cl-t-primary);
}

/* Slim accent scrollbar for a more premium feel */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--cl-background); }
::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--cl-accent) 45%, var(--cl-border));
  border-radius: 9999px;
  border: 2px solid var(--cl-background);
}
::-webkit-scrollbar-thumb:hover {
  background: var(--cl-accent);
}

/* Accent focus ring for accessibility + brand consistency */
a:focus-visible,
button:focus-visible,
input:focus-visible,
.sa-btn:focus-visible {
  outline: 2px solid var(--cl-accent);
  outline-offset: 2px;
}

/* Badges: slight glow so "featured"/status chips pop against the dark surface */
.sa-product-card-badges .sa-product-card-badge,
.sa-badge {
  box-shadow: 0 0 12px -2px color-mix(in srgb, var(--cl-accent) 50%, transparent);
}

/* ── Navbar: Disconnect-style forum nav ────────────────────────────────── */

/* Solid, flat dark bar (no blur/glow) — same near-black as the page itself,
   separated only by a crisp accent-tinted bottom border, like a forum header */
.sa-navbar > div:first-child {
  background: color-mix(in srgb, var(--cl-background) 97%, var(--cl-accent) 3%) !important;
  backdrop-filter: none;
  border-bottom: 2px solid color-mix(in srgb, var(--cl-accent) 55%, var(--cl-border));
}

.sa-navbar {
  box-shadow: 0 2px 0 color-mix(in srgb, var(--cl-accent) 18%, transparent);
}

/* Second row (links) in two-row variant: same flat dark tone, divider only */
.sa-navbar--two-row > div:first-child > div.border-t {
  background: color-mix(in srgb, var(--cl-background) 97%, var(--cl-accent) 3%);
  border-top-color: color-mix(in srgb, var(--cl-accent) 20%, var(--cl-border)) !important;
}

/* Brand: clean bold wordmark, no glow marker — forums keep this understated */
.sa-navbar-logo span {
  font-weight: 700;
  letter-spacing: -0.01em;
  font-size: 1.05rem;
}

/* Nav links styled like forum tabs: uppercase, tracked-out, bottom-border
   indicator instead of a rounded pill highlight */
.sa-navbar-link {
  position: relative;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 0 !important;
  background: transparent !important;
}
.sa-navbar-link::after {
  content: "";
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 2px;
  background: var(--cl-accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--dur, 200ms) ease;
}
.sa-navbar-link:hover {
  color: var(--cl-accent) !important;
}
.sa-navbar-link:hover::after {
  transform: scaleX(1);
}
.sa-navbar-link.text-t-primary {
  color: var(--cl-accent) !important;
}
.sa-navbar-link.text-t-primary::after {
  transform: scaleX(1);
}

.sa-navbar-cart:hover {
  color: var(--cl-accent);
}

/* ── Product content (description / features / requirements tabs) ──────── */
.editor ul {
  list-style: none;
  padding-left: 0;
  margin: 0.75rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.editor ul li {
  position: relative;
  padding-left: 1.6rem;
}
.editor ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15em;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 5px;
  background: color-mix(in srgb, var(--cl-accent) 16%, transparent);
  border: 1px solid color-mix(in srgb, var(--cl-accent) 45%, transparent);
}
.editor ul li::after {
  content: "";
  position: absolute;
  left: 0.34rem;
  top: 0.42em;
  width: 0.4rem;
  height: 0.65rem;
  border-right: 2px solid var(--cl-accent);
  border-bottom: 2px solid var(--cl-accent);
  transform: rotate(45deg);
}
.editor h2, .editor h3, .editor h4 {
  color: var(--cl-t-primary);
  font-weight: 700;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}
.editor strong { color: var(--cl-t-primary); }
.editor a { color: var(--cl-accent); text-decoration: underline; text-underline-offset: 2px; }
