/* ═══ ALPINE.JS CLOAK — prevent flash of hidden elements ═══
   Without this, [x-cloak] elements briefly show before
   Alpine.js initializes (e.g. ALTCHA "Verified" widget).
══════════════════════════════════════════════════════════ */
[x-cloak] { display: none !important; }


/* ═══ KEYFRAMES ══════════════════════════════════════ */
@keyframes stars-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes page-in {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes shimmer-sweep {
  0%   { left: -80%; opacity: 0; }
  15%  { opacity: 1; }
  85%  { opacity: 1; }
  100% { left: 160%; opacity: 0; }
}
@keyframes stat-pop {
  0%   { transform: scale(0.75); opacity: 0; }
  70%  { transform: scale(1.06); }
  100% { transform: scale(1);    opacity: 1; }
}

/* ═══ PAGE LOAD ══════════════════════════════════════ */
/* page-in removed — AOS already handles hero entrance, avoids full-page composite at load */

/* ═══ NAVBAR — glass blur (desktop only for performance) */
@media (min-width: 1024px) {
  header .bg-b-tertiary {
    background-color: rgba(var(--cl-b-tertiary), 0.88) !important;
    backdrop-filter: blur(18px) saturate(1.3);
    -webkit-backdrop-filter: blur(18px) saturate(1.3);
  }
}

/* ═══ SECTION LABELS (eyebrow kickers) — shimmer ════
   No marker dot. Shimmer sweep on every label.
   Loop moves exactly one tile width → seamless, no jump. */
.text-sm.text-gray-300.font-mono.uppercase,
.text-sm.text-gray-300.uppercase.font-mono {
  display: inline-block;        /* size to the text so the sweep tracks the letters */
  align-self: center;           /* shrink + center inside flex headers */
  letter-spacing: 0.24em;
  font-weight: 500;
  background: linear-gradient(90deg,
    rgba(var(--cl-t-primary), 0.4) 0%,
    rgba(var(--cl-t-primary), 0.4) 42%,
    rgba(var(--cl-t-primary), 0.95) 50%,
    rgba(var(--cl-t-primary), 0.4) 58%,
    rgba(var(--cl-t-primary), 0.4) 100%);
  background-size: 200% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  animation: kicker-shimmer 4s linear infinite;
}
.text-sm.text-gray-300.font-mono.uppercase::before,
.text-sm.text-gray-300.uppercase.font-mono::before,
.text-sm.text-gray-300.font-mono.uppercase::after,
.text-sm.text-gray-300.uppercase.font-mono::after {
  content: none;                /* no dot, no flanking lines */
}
@keyframes kicker-shimmer {
  from { background-position: 0% 0; }
  to   { background-position: 200% 0; }
}

/* ═══ SECTION TITLES ═════════════════════════════════ */
h2.font-mono.font-bold.uppercase { letter-spacing: 0.03em; }
h1.font-mono.font-bold.uppercase { letter-spacing: 0.02em; }

/* ═══ CARDS — visible border + spring lift + shimmer ═
   Border #161616 is invisible on bg #0f0f0f — fixed.  */
.bg-border.corner:not(:hover) {
  background-color: rgba(255, 255, 255, 0.07);
}
.bg-border.corner {
  transition: filter 0.25s ease,
              transform 0.25s cubic-bezier(0.34, 1.4, 0.64, 1) !important;
  position: relative;
  overflow: hidden;
}
.bg-border.corner:hover {
  filter: drop-shadow(0 6px 18px rgba(255,255,255,0.06));
  transform: translateY(-3px);
}
.bg-border.corner::after {
  content: '';
  position: absolute;
  top: 0; left: -80%;
  width: 45%; height: 100%;
  background: linear-gradient(105deg, transparent, rgba(255,255,255,0.06), transparent);
  transform: skewX(-15deg);
  pointer-events: none; z-index: 5; opacity: 0;
}
.bg-border.corner:hover::after {
  animation: shimmer-sweep 0.55s ease forwards;
}

/* ═══ CARD IMAGE — bottom fade + hover overlay ═══════ */
.group .relative.border-b-2 { position: relative; }
.group .relative.border-b-2::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, transparent 55%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}
.group:hover .relative.border-b-2::after { opacity: 1; }
.group.corner .border-b-2 {
  border-bottom-color: rgba(255, 255, 255, 0.07) !important;
}

/* ═══ PRODUCT IMAGES — smoother zoom ════════════════ */
.group .aspect-product-card-image,
.group .aspect-group-card-image {
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.group:hover .group-hover\:scale-105 { transform: scale(1.05) !important; }

/* ═══ PRODUCT CARD — title font + price size ════════ */
.bg-b-secondary.group.corner h3.font-bold {
  font-family: var(--font-mono), monospace;
  letter-spacing: 0.02em;
}
.bg-b-secondary.group.corner .text-accent-500 {
  font-size: 1.2rem;
  font-weight: 700;
}

/* ═══ STAT NUMBERS — pop in once ════════════════════ */
.animate-number-counter {
  display: inline-block;
  animation: stat-pop 0.6s cubic-bezier(0.34, 1.4, 0.64, 1) both;
}

/* ═══ AOS — snappier scroll animations ══════════════ */
[data-aos] {
  transition-duration: 0.48s !important;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1) !important;
}

/* ═══ FOOTER — gradient separator ════════════════════ */
footer .bg-b-tertiary { position: relative; }
footer .bg-b-tertiary::before {
  content: '';
  position: absolute;
  top: 0; left: 8%; right: 8%; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1) 50%, transparent);
  pointer-events: none;
}
footer a { transition: color 0.2s ease, opacity 0.2s ease !important; }
footer a:hover { opacity: 1 !important; }

/* ═══ SOCIAL ICONS — brand colors on hover ══════════ */
footer a[href*="discord"]:hover   { color: #5865f2 !important; opacity: 1 !important; }
footer a[href*="t.me"]:hover,
footer a[href*="telegram"]:hover  { color: #2AABEE !important; opacity: 1 !important; }
footer a[href*="instagram"]:hover { color: #E1306C !important; opacity: 1 !important; }
footer a[href*="tiktok"]:hover    { color: #69C9D0 !important; opacity: 1 !important; }
footer a[href*="youtube"]:hover   { color: #FF0000 !important; opacity: 1 !important; }

/* ═══ SCROLLBAR ══════════════════════════════════════ */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: rgba(var(--cl-b-primary), 1); }
::-webkit-scrollbar-thumb { background: rgba(var(--cl-t-primary), 0.15); border-radius: 2px; }
::-webkit-scrollbar-thumb:hover { background: rgba(var(--cl-t-primary), 0.3); }

/* ═══ ANNOUNCEMENT BAR ════════════════════════════════ */
.announcement .bg-accent-500 { letter-spacing: 0.05em; font-weight: 500; }

/* ═══ PRODUCT PAGE — polish ══════════════════════════ */

/* Image slider: visible border */
.splide__slide.bg-b-secondary {
  border-color: rgba(255,255,255,0.07) !important;
}
.splide.thumbnails .splide__slide {
  border-color: rgba(255,255,255,0.05) !important;
  transition: border-color 0.2s ease, opacity 0.2s ease;
}
.splide.thumbnails .splide__slide.is-active {
  border-color: rgba(255,255,255,0.3) !important;
  opacity: 1 !important;
}

/* Description / tab content: visible border */
.p-6.border.border-border.bg-b-secondary {
  border-color: rgba(255,255,255,0.07) !important;
}

/* Variant selector buttons: more visible at rest */
[x-data="productForm"] .bg-white\/\[0\.03\] {
  background-color: rgba(255,255,255,0.05) !important;
}

/* Quantity +/- area */
[x-data="productForm"] .bg-white\/10 {
  background-color: rgba(255,255,255,0.08) !important;
}

/* Live stats: tighter */
[x-data="productForm"] .text-t-primary\/50 p {
  font-size: 0.8rem;
}

/* ═══ FEEDBACK / REVIEW CARDS ════════════════════════ */

/* Stars: slightly larger, warmer feel */
.text-accent-500 svg.size-6 {
  width: 1.1rem !important;
  height: 1.1rem !important;
}

/* Review text: better line height */
.bg-b-secondary.corner .text-sm.text-gray-300 {
  line-height: 1.7;
  color: rgba(var(--cl-t-primary), 0.7) !important;
}

/* Date text */
.bg-b-secondary.corner .text-xs.text-t-primary\/80 {
  font-family: var(--font-mono), monospace;
  letter-spacing: 0.04em;
}

/* Reply block: cleaner */
.bg-b-tertiary\/60.p-4.corner {
  background-color: rgba(var(--cl-b-tertiary), 0.5) !important;
}

/* ═══ PRODUCT FORM VARIANT BUTTONS ═══════════════════ */
[x-data="productForm"] .flex.items-center.justify-between.gap-4 p.text-base {
  font-family: var(--font-mono), monospace;
  font-size: 0.85rem;
  letter-spacing: 0.03em;
}

/* ═══ SALES NOTIFICATION POPUP ═══════════════════════ */
.p-px.bg-white\/5.shadow-2xl.corner {
  background-color: rgba(255,255,255,0.06) !important;
}

/* ═══ MYVOUCHES IFRAME ════════════════════════════════ */
/* Container already uses .bg-border.corner — gets the
   visible border + shimmer from existing card rules.   */

/* ═══ PRODUCT BADGES ═════════════════════════════════ */
.badges .corner-xs > div {
  font-family: var(--font-mono), monospace !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 3px 8px !important;
  font-weight: 700 !important;
}

/* ═══ FAQ — question font + chevron ══════════════════ */
.bg-b-secondary.corner button h4 {
  font-family: var(--font-mono), monospace;
  font-size: 0.95rem !important;
  letter-spacing: 0.02em;
  font-weight: 600;
}
.bg-b-secondary.corner button svg {
  flex-shrink: 0;
  opacity: 0.5;
  transition: opacity 0.2s ease, transform 0.3s ease;
}
.bg-b-secondary.corner button:hover svg { opacity: 0.9; }
.bg-b-secondary.corner .text-sm.text-t-primary\/90 {
  line-height: 1.75;
  color: rgba(var(--cl-t-primary), 0.65) !important;
}

/* ═══ ANNOUNCEMENT BAR — bigger text ═════════════════ */
.bg-accent-500.announcement-bar,
[data-component-id="announcement"] .bg-accent-500 {
  font-size: 0.8rem;
}

/* ═══ SALES NOTIFICATION — popup polish ══════════════ */
[x-data="salesNotifications"] .corner {
  background-color: rgba(255,255,255,0.04);
}
[x-data="salesNotifications"] p.text-sm {
  font-family: var(--font-mono), monospace;
  letter-spacing: 0.02em;
}

/* ═══ SMOOTH SCROLL + ANCHOR OFFSET ══════════════════ */
html { scroll-behavior: smooth; }
#myvouches-1777912467576 { scroll-margin-top: 120px; }

/* ═══ HERO VOUCH TICKER ══════════════════════════════ */
@keyframes vouch-scroll {
  from { transform: translate3d(0, 0, 0); }
  to   { transform: translate3d(-50%, 0, 0); }
}

.vouch-ticker-outer { max-width: 100%; overflow: hidden; }

.vouch-ticker-wrap {
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%);
}

.vouch-ticker {
  display: flex;
  gap: 10px;
  width: max-content;
  animation: vouch-scroll 40s linear 0.8s infinite;
  will-change: transform;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.vouch-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  padding: 8px 14px;
  flex-shrink: 0;
  white-space: nowrap;
  transform: translateZ(0);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.vouch-av {
  width: 22px;
  height: 22px;
  background: rgba(255,255,255,0.09);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 700;
  color: rgba(var(--cl-t-primary), 0.7);
  flex-shrink: 0;
}

.vouch-u {
  font-family: var(--font-mono), monospace;
  font-size: 11px;
  font-weight: 600;
  color: rgba(var(--cl-t-primary), 0.85);
}

.vouch-sep {
  color: rgba(255,255,255,0.18);
  font-size: 10px;
}

.vouch-t {
  font-size: 11px;
  color: rgba(var(--cl-t-primary), 0.45);
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ═══ BACKGROUND ════════════════════════════════════ */
.lines .line { border-right-color: rgba(var(--cl-line-accent), 0.04); }

/* ═══ CATEGORY SIDEBAR ═══════════════════════════════ */
.cat-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px;
  font-family: var(--font-mono), monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(var(--cl-t-primary), 0.45);
  border-left: 2px solid transparent;
  border-bottom: 1px solid rgba(255,255,255,0.04);
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease;
  text-decoration: none;
}
.cat-link:last-child { border-bottom: none; }
.cat-link:hover {
  color: rgba(var(--cl-t-primary), 0.85);
  border-left-color: rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.03);
}
.cat-link.cat-active {
  color: rgba(var(--cl-t-primary), 1);
  border-left-color: rgba(255,255,255,0.6);
  background: rgba(255,255,255,0.05);
}
.cat-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: currentColor;
  opacity: 0.4;
  flex-shrink: 0;
  transition: opacity 0.18s ease;
}
.cat-link:hover .cat-dot,
.cat-link.cat-active .cat-dot {
  opacity: 1;
}

/* Sidebar labels */
aside label,
aside .block.text-t-primary.font-medium {
  font-family: var(--font-mono), monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(var(--cl-t-primary), 0.35) !important;
  font-weight: 400 !important;
}

/* ═══ PAGINATION ══════════════════════════════════════ */
nav[aria-label="Pagination Navigation"] a,
nav[aria-label="Pagination Navigation"] span {
  font-family: var(--font-mono), monospace;
  font-size: 11px !important;
  letter-spacing: 0.06em;
  border-color: rgba(255,255,255,0.07) !important;
  transition: background 0.18s ease, color 0.18s ease !important;
}
nav[aria-label="Pagination Navigation"] a:hover {
  background: rgba(255,255,255,0.05) !important;
  color: rgba(var(--cl-t-primary), 1) !important;
}
/* Active page */
nav[aria-label="Pagination Navigation"] span[aria-current="page"] {
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.2) !important;
  color: rgba(var(--cl-t-primary), 1) !important;
}

/* ═══ BLOG CARD ═══════════════════════════════════════ */
.editor + * { margin-top: 0; }
/* summary text in blog cards */
a .line-clamp-2.text-base {
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
}

/* ═══ HORIZONTAL PRODUCT CARD STOCK ══════════════════ */
.product .text-xs.text-t-primary\/50,
.product .text-sm.text-t-primary\/50 {
  font-family: var(--font-mono), monospace;
  letter-spacing: 0.05em;
  font-size: 10px !important;
  text-transform: uppercase;
}

/* ═══ HERO — secondary button outline only ═══════════ */
.hero-btns a.glitch-btn:not([class*="accent-500"]) {
  border-color: rgba(255,255,255,0.18) !important;
}

/* ═══ NOISE TEXTURE — subtle film grain over page ════ */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99997;
  opacity: 0.032;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

/* ═══ 3D TILT — remove CSS transform so JS owns it ═══ */
.bg-border.corner:hover {
  filter: none; /* JS handles directional shadow */
  transform: none;
}
.bg-border.corner {
  transition: filter 0.3s ease, transform 0.3s ease !important;
}

/* ═══ CUSTOMER DASHBOARD ═════════════════════════════ */
/* Sidebar nav links: active left border */
.customer-sidebar a, .customer-sidebar button {
  position: relative;
  border-left: 2px solid transparent;
  padding-left: 8px;
  transition: border-color 0.18s ease, color 0.18s ease !important;
}
.customer-sidebar a.text-accent-500 {
  border-left-color: rgba(255,255,255,0.5) !important;
}
.customer-sidebar a:hover, .customer-sidebar button:hover {
  border-left-color: rgba(255,255,255,0.2) !important;
}

/* Header border */
.customer-sidebar .border-b-2 {
  border-bottom-color: rgba(255,255,255,0.07) !important;
}

/* Stat cards: no default heading treatment */
[class*="customer"] h3.text-lg { font-size: 0.7rem !important; }

/* ═══ SEARCHBAR ══════════════════════════════════════ */
/* Search input placeholder */
[x-ref="searchInput"]::placeholder,
input[placeholder*="Search"]::placeholder {
  font-family: var(--font-mono), monospace;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
/* Search modal backdrop blur */
[x-show="modalOpen"] .bg-black\/75 {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ═══ HERO SCAN SWEEP — one-time on page load ════════
   Dramatic light beam sweeps down the hero on load.
   Only on home page (body.page-shop).
══════════════════════════════════════════════════════ */
@keyframes hero-scan-sweep {
  from { transform: translate3d(0, -150px, 0); opacity: 0; }
  8%   { opacity: 1; }
  60%  { opacity: 1; }
  to   { transform: translate3d(0, 100vh, 0); opacity: 0; }
}

body.page-shop::before {
  content: '';
  position: fixed;
  left: 0; right: 0; top: 0;
  height: 140px;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(255,255,255,0.025) 40%,
    rgba(255,255,255,0.05) 50%,
    rgba(255,255,255,0.025) 60%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
  will-change: transform, opacity;
  transform: translate3d(0, -150px, 0);
  animation: hero-scan-sweep 2s cubic-bezier(0.22, 1, 0.36, 1) 0.4s both;
}

/* ═══ ANIMATED CARD BORDER — rotating spotlight ══════
   Uses CSS @property for smooth conic-gradient animation.
   The 2px wrapper IS the border — conic rotates around it.
══════════════════════════════════════════════════════ */
@property --brot {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes border-spin {
  to { --brot: 360deg; }
}

.bg-border.corner:hover {
  background: conic-gradient(
    from var(--brot),
    transparent 0deg,
    rgba(255,255,255,0.6) 18deg,
    rgba(255,255,255,0.2) 35deg,
    transparent 70deg
  ) !important;
  animation: border-spin 2.5s linear infinite;
}

/* ═══ PAGE TRANSITION CSS ════════════════════════════ */
body.page-leaving {
  opacity: 0 !important;
  transition: opacity 0.22s ease !important;
}

/* ═══ CUSTOMER INVOICES / TICKETS ════════════════════ */
/* Price + date line */
.cust-invoices .text-t-primary\/60,
.cust-tickets .text-t-primary\/60 {
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  font-family: var(--font-mono), monospace;
}
/* Status badges */
.cust-invoices [class*="bg-"][class*="border-"],
.cust-tickets [class*="bg-"][class*="border-"] {
  font-family: var(--font-mono), monospace;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ═══ FEEDBACK PAGE ══════════════════════════════════ */
.feedback-page select,
.order-select {
  font-family: var(--font-mono), monospace;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  background: rgba(var(--cl-b-secondary), 1);
  border-color: rgba(255,255,255,0.07) !important;
}

/* ═══ BLOG POST PAGE ══════════════════════════════════ */
.blog-post-page .editor {
  line-height: 1.8;
  font-size: 0.95rem;
}

/* ═══ LEGAL PAGES (terms, privacy, refund) ══════════ */
.legal-page h1, .legal-page h2, .legal-page h3 {
  font-family: var(--font-mono), monospace;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.legal-page p, .legal-page li {
  line-height: 1.75;
  color: rgba(var(--cl-t-primary), 0.7);
}

/* ═══ MAINTENANCE PAGE ═══════════════════════════════ */
/* The blur circle is fine — keep accent glow on this page */
.maintenance-page p.text-gray-300 {
  font-size: 0.95rem;
  line-height: 1.7;
}

/* ═══ INVOICE INFO LINE ══════════════════════════════ */
.cust-invoices .text-t-primary\/80,
.cust-tickets .text-t-primary\/80 {
  color: rgba(var(--cl-t-primary), 0.9) !important;
}

/* ═══ CUSTOMER TICKET (single view) ══════════════════ */
.cust-ticket .text-xs.font-mono { letter-spacing: 0.06em; }
/* Message bubbles */
.cust-ticket .bg-b-secondary.p-4,
.cust-ticket .bg-b-secondary.p-6 {
  border-bottom: 1px solid rgba(255,255,255,0.05);
}
/* Reply input area */
.cust-ticket textarea {
  font-family: var(--font-mono), monospace;
  font-size: 0.82rem;
  line-height: 1.6;
}

/* ═══ CUSTOMER BALANCE / AFFILIATE ═══════════════════ */
.cust-balance h3, .cust-affiliate h3 {
  font-size: 0.7rem !important;
  letter-spacing: 0.12em !important;
}
/* Top-up amount buttons */
.cust-balance button[type="button"]:not([x-cloak]) {
  font-family: var(--font-mono), monospace;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}

/* ═══ PRODUCT PAGE — remaining polish ════════════════ */
/* Stock indicator on product page */
[x-data="productForm"] .text-t-primary\/50.text-sm {
  font-family: var(--font-mono), monospace;
  font-size: 0.7rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
/* Category badge on product page */
[x-data="productForm"] .bg-b-secondary.inline-flex {
  font-family: var(--font-mono), monospace;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ═══ COUPON MODAL ════════════════════════════════════ */
[x-data="couponModal()"] input[type="text"] {
  font-family: var(--font-mono), monospace;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
}
[x-data="couponModal()"] h2,
[x-data="couponModal()"] h3 {
  font-family: var(--font-mono), monospace;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
/* Modal backdrop */
[x-data="couponModal()"] .bg-black\/75 {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* ═══ ALTCHA WIDGET — hide visually, keep functional ═
   auto="onload" makes it verify instantly but briefly
   shows "Verified". Hide it visually — JS still runs
   and sets altchaPayload, then parent x-show hides it.
══════════════════════════════════════════════════════ */
altcha-widget {
  display: block !important;
  height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

