/* Liquid Glass Edition — logo-matched visual system */
:root {
  --liquid-pink: #ff176b;
  --liquid-rose: #f5004d;
  --liquid-blush: #ff8bc0;
  --liquid-ink: #080711;
  --liquid-ink-2: #0e0a18;
  --liquid-text: #f7f2f8;
  --liquid-muted: rgba(240, 230, 244, .62);
  --liquid-line: rgba(255, 255, 255, .105);
  --liquid-line-hot: rgba(255, 83, 149, .31);
  --liquid-glass: rgba(255, 255, 255, .045);
  --liquid-shadow: 0 28px 80px rgba(0, 0, 0, .40);
}

html {
  scroll-behavior: smooth;
  background: var(--liquid-ink);
}

body {
  min-height: 100vh;
  color: var(--liquid-text);
  background:
    radial-gradient(circle at 11% 5%, rgba(255, 18, 104, .15), transparent 25%),
    radial-gradient(circle at 88% 28%, rgba(125, 31, 137, .10), transparent 28%),
    linear-gradient(145deg, #140811 0%, #090713 46%, #071123 100%) !important;
  background-attachment: fixed !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .30;
  background-image:
    linear-gradient(rgba(255,255,255,.034) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.034) 1px, transparent 1px);
  background-size: 58px 58px;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.55) 55%, transparent 96%);
  mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.55) 55%, transparent 96%);
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 108%, rgba(255, 16, 101, .11), transparent 31%),
    linear-gradient(90deg, rgba(255,0,71,.035), transparent 28%, transparent 72%, rgba(64,104,255,.03));
}

.hero-bg-layer {
  background: transparent !important;
}

.bg-glow {
  background: radial-gradient(circle at 40% 36%, rgba(255, 23, 107, .17), transparent 66%) !important;
  filter: blur(115px) !important;
}

.flex-wrapper {
  position: relative;
  isolation: isolate;
}

.component {
  position: relative;
}

.container {
  max-width: 1240px;
}

::selection {
  color: #fff;
  background: rgba(255, 23, 107, .38);
}

::-webkit-scrollbar { width: 11px; }
::-webkit-scrollbar-track { background: #080711; }
::-webkit-scrollbar-thumb {
  border: 3px solid #080711;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff3d87, #9f123e);
}

.global-title {
  margin-bottom: 1rem !important;
  color: transparent !important;
  background: linear-gradient(105deg, #fff 0%, #fff 34%, #ff9aca 70%, #ff176b 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  font-size: clamp(2.65rem, 5vw, 4.55rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.055em !important;
  font-weight: 850 !important;
  text-wrap: balance;
}

.pln-main-badge,
.page-badge {
  gap: 9px !important;
  padding: 9px 14px !important;
  margin-bottom: 1.35rem !important;
  border: 1px solid rgba(255, 102, 160, .23) !important;
  border-radius: 999px !important;
  color: #ffd2e5 !important;
  background: linear-gradient(145deg, rgba(255, 42, 125, .12), rgba(255,255,255,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.075), 0 12px 28px rgba(255,0,72,.07) !important;
  backdrop-filter: blur(17px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(17px) saturate(145%) !important;
  font-size: .74rem !important;
  font-weight: 780 !important;
  letter-spacing: .04em !important;
}

.pln-main-badge svg,
.page-badge svg { width: 16px !important; height: 16px !important; }

.text-primary { color: #ff6ca8 !important; }
.bg-primary { background-color: var(--liquid-pink) !important; }
.border-primary { border-color: rgba(255, 57, 132, .36) !important; }

.btn-primary,
.cta-btn,
.nova-copy-btn,
.nova-got-it-btn {
  color: #fff !important;
  border-color: rgba(255, 126, 177, .30) !important;
  background: linear-gradient(135deg, #ff2e80, #ef004b 62%, #ad103f) !important;
  box-shadow: 0 16px 38px rgba(255,0,72,.22), inset 0 1px 0 rgba(255,255,255,.23) !important;
}

.btn-outline-primary {
  color: #fff !important;
  border-color: rgba(255,255,255,.12) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.btn-primary:hover,
.btn-outline-primary:hover,
.cta-btn:hover,
.nova-copy-btn:hover,
.nova-got-it-btn:hover {
  color: #fff !important;
  transform: translateY(-2px) !important;
  border-color: rgba(255, 113, 169, .47) !important;
  box-shadow: 0 20px 48px rgba(255,0,72,.29), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

/* Product catalog */
.products-content,
.products-clean-theme .products-content {
  max-width: 1240px !important;
  margin: 0 auto !important;
}

.row.products {
  row-gap: 4px;
}

.product-card-purge {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  border: 1px solid var(--liquid-line) !important;
  border-radius: 23px !important;
  background:
    radial-gradient(circle at var(--glass-x, 60%) var(--glass-y, 0%), rgba(255, 62, 139, .17), transparent 30%),
    linear-gradient(150deg, rgba(255,255,255,.075), rgba(255,255,255,.022)) !important;
  box-shadow: 0 21px 58px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter: blur(22px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
  transition: transform .34s cubic-bezier(.22,1,.36,1), border-color .34s ease, box-shadow .34s ease !important;
}

.product-card-purge::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 6;
  border-radius: 22px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255,255,255,.12), transparent 24%, transparent 77%, rgba(255, 32, 111, .11));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  padding: 1px;
}

.product-card-purge:hover {
  transform: translateY(-7px) !important;
  border-color: var(--liquid-line-hot) !important;
  box-shadow: 0 31px 78px rgba(0,0,0,.40), 0 0 42px rgba(255,0,72,.10), inset 0 1px 0 rgba(255,255,255,.13) !important;
}

.product-image-purge {
  height: 245px !important;
  overflow: hidden !important;
  background: rgba(255,255,255,.025) !important;
}

.product-image-purge::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(10,6,17,.70), transparent 45%);
}

.product-image-purge img {
  filter: saturate(.90) contrast(1.03) !important;
  transition: transform .65s cubic-bezier(.22,1,.36,1), filter .5s ease !important;
}

.product-card-purge:hover .product-image-purge img {
  transform: scale(1.055) !important;
  filter: saturate(1.06) contrast(1.04) !important;
}

.product-content-purge {
  padding: 22px !important;
  background: linear-gradient(155deg, rgba(19,10,25,.78), rgba(8,8,17,.74)) !important;
}

.title-purge {
  color: #fff !important;
  font-size: 1.14rem !important;
  font-weight: 780 !important;
  letter-spacing: -.025em !important;
}

.badge-undetected-inline {
  border-color: rgba(255, 105, 161, .22) !important;
  color: #ffc8df !important;
  background: rgba(255, 39, 119, .085) !important;
}

.title-divider {
  margin: 17px 0 20px !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.12), transparent) !important;
}

.cta-btn-purge {
  position: relative !important;
  min-height: 46px !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 13px !important;
  color: #fff !important;
  font-size: .86rem !important;
  font-weight: 740 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.buy-now-btn {
  background: linear-gradient(135deg, #ff2e80, #ef004b 65%, #b50d40) !important;
  border-color: rgba(255, 115, 169, .27) !important;
  box-shadow: 0 12px 28px rgba(255,0,72,.18), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.price-btn {
  background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025)) !important;
}

.buy-now-btn:hover,
.price-btn:hover {
  color: #fff !important;
  transform: translateY(-2px) !important;
  border-color: rgba(255, 108, 164, .40) !important;
  background: rgba(255, 31, 112, .14) !important;
}

/* Feature, community, CTA and review glass */
.feat-card,
.soc-box,
.cta-box,
.feedback-card,
.notification-popup,
.modal-content,
.nova-emu-shell {
  border-color: var(--liquid-line) !important;
  background:
    radial-gradient(circle at var(--glass-x, 60%) var(--glass-y, 0%), rgba(255, 61, 139, .14), transparent 31%),
    linear-gradient(150deg, rgba(255,255,255,.068), rgba(255,255,255,.018)) !important;
  box-shadow: var(--liquid-shadow), inset 0 1px 0 rgba(255,255,255,.10) !important;
  backdrop-filter: blur(24px) saturate(145%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(145%) !important;
}

.feat-card,
.soc-box,
.cta-box {
  border-radius: 26px !important;
}

.feat-card:hover,
.soc-box:hover,
.cta-box:hover {
  border-color: var(--liquid-line-hot) !important;
  box-shadow: 0 34px 88px rgba(0,0,0,.42), 0 0 44px rgba(255,0,72,.10), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.feat-icon {
  color: #ff7cb4 !important;
  border-color: rgba(255, 89, 152, .22) !important;
  background: linear-gradient(145deg, rgba(255,44,126,.12), rgba(255,255,255,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 15px 32px rgba(255,0,72,.08) !important;
}

.feat-desc,
.products-subtitle,
.faq-subtitle,
.soc-subtitle,
.cta-text {
  color: var(--liquid-muted) !important;
}

.soc-btn {
  border-color: rgba(255, 85, 148, .24) !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgba(255,43,126,.13), rgba(255,255,255,.035)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.soc-btn:hover {
  transform: translateY(-7px) scale(1.04) !important;
  border-color: rgba(255, 105, 162, .45) !important;
  box-shadow: 0 20px 46px rgba(255,0,72,.20), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.feedback-slider-wrapper.fade-mask {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

/* Footer */
.ft-wrapper {
  position: relative;
  margin-top: 4rem;
  border-top: 1px solid rgba(255,255,255,.075) !important;
  background: linear-gradient(180deg, rgba(255,255,255,.018), rgba(5,5,12,.70)) !important;
}

.ft-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 20% 0%, rgba(255,26,109,.08), transparent 30%);
}

.ft-logo { filter: drop-shadow(0 12px 25px rgba(255,0,72,.18)); }
.ft-col-title { color: #fff !important; }
.ft-list a,
.ft-desc,
.ft-copyright { color: rgba(255,255,255,.48) !important; }
.ft-list a:hover { color: #ff85b9 !important; }

/* Forms and dialogs */
.form-control,
.form-select,
.choices__inner,
textarea,
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
  color: #fff !important;
  border-color: rgba(255,255,255,.10) !important;
  background: rgba(255,255,255,.045) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.045) !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus {
  border-color: rgba(255, 82, 148, .44) !important;
  box-shadow: 0 0 0 4px rgba(255, 23, 107, .09), inset 0 1px 0 rgba(255,255,255,.05) !important;
}

.modal-backdrop.show { opacity: .72; backdrop-filter: blur(10px); }
.modal-content { border-radius: 24px !important; }

/* AI launcher matches the logo */
.nova-chat-launcher {
  border-color: rgba(255, 112, 165, .42) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, #ff2e80, #e90049 62%, #9f123e) !important;
  box-shadow: 0 18px 48px rgba(0,0,0,.44), 0 0 34px rgba(255,0,72,.28), inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.nova-chat-panel {
  border-color: rgba(255,255,255,.12) !important;
  background: linear-gradient(155deg, rgba(24, 10, 25, .94), rgba(7, 8, 18, .93)) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.58), inset 0 1px rgba(255,255,255,.08), 0 0 55px rgba(255,0,72,.12) !important;
}

.nova-chat-header { background: linear-gradient(90deg, rgba(255, 26, 109, .13), rgba(127, 38, 152, .055)) !important; }
.nova-chat-avatar,
.nova-chat-send { background: linear-gradient(145deg, #ff2c7f, #e50048 65%, #9d113c) !important; }

/* High-density mobile polish */
@media (max-width: 767px) {
  .global-title { font-size: clamp(2.4rem, 12vw, 3.5rem) !important; }
  .product-image-purge { height: 220px !important; }
  .soc-box,
  .cta-box { padding: 2.2rem 1.35rem !important; }
  .feedback-slider-wrapper.fade-mask {
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  }
}

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

/* Nova UD custom star cursor */
html, body, body * {
  cursor: url('./nova-star-cursor.svg') 15 15, auto;
}
a, button, [role="button"], input[type="submit"], input[type="button"], select, summary,
.ba-inner, .ba-handle {
  cursor: url('./nova-star-cursor.svg') 15 15, pointer;
}
input, textarea, [contenteditable="true"] {
  cursor: text;
}


/* Customer authentication usability safeguards */
input, textarea, select, button, [contenteditable="true"] {
  pointer-events: auto !important;
}
input, textarea, [contenteditable="true"] {
  user-select: text !important;
  -webkit-user-select: text !important;
  touch-action: manipulation;
}

/* v2.1 — customer login modal interaction fix */
#customer-login-modal {
  z-index: 11050 !important;
  pointer-events: none;
}
#customer-login-modal.show {
  pointer-events: auto !important;
}
#customer-login-modal .modal-dialog,
#customer-login-modal .modal-content,
#customer-login-modal .modal-header,
#customer-login-modal .modal-body,
#customer-login-modal form,
#customer-login-modal label,
#customer-login-modal small,
#customer-login-modal input,
#customer-login-modal button {
  pointer-events: auto !important;
}
#customer-login-modal .modal-content,
#customer-login-modal .modal-content:hover {
  transform: none !important;
}
#customer-login-modal input.form-control {
  position: relative;
  z-index: 2;
  cursor: text !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  opacity: 1 !important;
}
#customer-login-modal input.form-control:focus {
  outline: none;
}
.modal-backdrop {
  z-index: 11040 !important;
  pointer-events: auto !important;
}
body.modal-open #customer-login-modal,
body.modal-open #customer-login-modal * {
  visibility: visible;
}

/* v2.2 — definitive customer-login stacking and input fix */
body > #customer-login-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483001 !important;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: none;
}
body > #customer-login-modal.show {
  display: block !important;
  pointer-events: auto !important;
}
body > .modal-backdrop {
  z-index: 2147483000 !important;
  background: rgba(2, 2, 7, .72) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
body > #customer-login-modal .modal-dialog,
body > #customer-login-modal .modal-content,
body > #customer-login-modal .modal-body,
body > #customer-login-modal form,
body > #customer-login-modal input,
body > #customer-login-modal button {
  position: relative;
  z-index: 1;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
}
body > #customer-login-modal .modal-content {
  background: linear-gradient(145deg, rgba(28, 11, 24, .97), rgba(10, 9, 18, .98)) !important;
  border: 1px solid rgba(255, 87, 143, .24) !important;
  box-shadow: 0 32px 100px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body > #customer-login-modal input.form-control {
  color: #fff !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.12) !important;
  caret-color: #ff4f8e !important;
  -webkit-text-fill-color: #fff !important;
}
body > #customer-login-modal input.form-control::placeholder {
  color: rgba(255,255,255,.38) !important;
  -webkit-text-fill-color: rgba(255,255,255,.38) !important;
}
body > #customer-login-modal input.form-control:focus {
  border-color: rgba(255,79,142,.68) !important;
  box-shadow: 0 0 0 3px rgba(255,79,142,.14) !important;
}

/* v2.3 — customer dashboard navigation interaction fix */
.nova-customer-sidebar,
.nova-customer-sidebar nav,
.nova-customer-sidebar .nova-customer-nav,
.nova-customer-sidebar .nav-item,
.nova-customer-sidebar .nav-link {
  position: relative;
  z-index: 20;
  pointer-events: auto !important;
}
.nova-customer-sidebar::before,
.nova-customer-sidebar::after,
.nova-customer-sidebar .card::before,
.nova-customer-sidebar .card::after {
  pointer-events: none !important;
}
.nova-customer-sidebar .nav-link {
  width: 100%;
  display: flex;
  align-items: center;
  min-height: 42px;
  cursor: url('./nova-star-cursor.svg') 15 15, pointer !important;
  touch-action: manipulation;
}
.nova-customer-sidebar button.nav-link {
  border: 0;
  text-align: left;
}
body:not(.modal-open) > .modal-backdrop,
body:not(.modal-open) > .offcanvas-backdrop {
  display: none !important;
  pointer-events: none !important;
}

/* v2.4 — dashboard controls and polished liquid-glass variants */
/* The old delete-dialog wrapper covered the full dashboard after Alpine removed x-cloak. */
.nova-delete-account-modal {
  pointer-events: none;
  z-index: 2147483001 !important;
}
.nova-delete-account-modal.show {
  pointer-events: auto;
}
.nova-delete-account-modal .modal-dialog,
.nova-delete-account-modal .modal-content,
.nova-delete-account-modal button {
  pointer-events: auto !important;
}

/* Keep dashboard links and actions above visual layers without breaking Bootstrap dialogs. */
[data-component-id] .nova-customer-sidebar,
[data-component-id] .nova-customer-sidebar a,
[data-component-id] .nova-customer-sidebar button,
[data-component-id] [data-bs-target="#customer-delete-modal"],
[data-component-id] a[href*="/customer/"] {
  position: relative;
  pointer-events: auto !important;
}

/* Product variant selector — neutral dark liquid glass rather than solid pink. */
.product-wrapper .variants {
  gap: .78rem !important;
}
.product-wrapper .variants .variant {
  min-height: 84px;
  padding: 1rem 1.1rem !important;
  overflow: hidden;
  color: rgba(255,255,255,.88) !important;
  background:
    radial-gradient(circle at var(--glass-x, 18%) var(--glass-y, 0%), rgba(255,255,255,.09), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.060), rgba(255,255,255,.022)) !important;
  border: 1px solid rgba(255,255,255,.105) !important;
  border-radius: 18px !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.085),
    inset 0 -1px 0 rgba(0,0,0,.18),
    0 10px 30px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
  transition: border-color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
.product-wrapper .variants .variant::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .55;
  background: linear-gradient(115deg, transparent 15%, rgba(255,255,255,.055) 42%, transparent 67%);
  transform: translateX(-45%);
  transition: transform .45s ease, opacity .25s ease;
}
.product-wrapper .variants .variant:not(:disabled):hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255,255,255,.19) !important;
  background:
    radial-gradient(circle at var(--glass-x, 30%) var(--glass-y, 20%), rgba(255,255,255,.12), transparent 42%),
    linear-gradient(145deg, rgba(255,255,255,.078), rgba(255,255,255,.03)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 15px 38px rgba(0,0,0,.24) !important;
}
.product-wrapper .variants .variant:not(:disabled):hover::before {
  transform: translateX(45%);
}
.product-wrapper .variants .variant.active {
  color: #fff !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(255,83,145,.13), transparent 38%),
    linear-gradient(145deg, rgba(8,8,16,.88), rgba(23,10,22,.80)) !important;
  border-color: rgba(255,101,158,.50) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 0 0 1px rgba(255,68,137,.08),
    0 0 0 3px rgba(255,55,126,.08),
    0 16px 38px rgba(0,0,0,.32) !important;
  transform: translateY(-1px) !important;
}
.product-wrapper .variants .variant:disabled {
  opacity: .48 !important;
  filter: saturate(.45);
  cursor: not-allowed !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.product-wrapper .variants .variant .name {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -.01em;
}
.product-wrapper .variants .variant .stock,
.product-wrapper .variants .variant .description {
  color: rgba(255,255,255,.48) !important;
}
.product-wrapper .variants .variant.active .stock,
.product-wrapper .variants .variant.active .description {
  color: rgba(255,255,255,.62) !important;
}
.product-wrapper .variants .variant .price {
  display: flex;
  align-items: baseline;
  gap: .35rem;
  padding: .55rem .72rem !important;
  color: rgba(255,255,255,.78) !important;
  background: rgba(2,2,8,.24) !important;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 12px !important;
}
.product-wrapper .variants .variant.active .price {
  color: #fff !important;
  background: rgba(0,0,0,.30) !important;
  border-color: rgba(255,100,157,.16);
}
.product-wrapper .variants .variant .active-indicator {
  top: 50% !important;
  right: .85rem !important;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  color: #ff6da5;
  background: rgba(7,7,14,.86) !important;
  border: 1px solid rgba(255,104,163,.48);
  box-shadow: 0 0 0 4px rgba(255,55,126,.08), inset 0 1px 0 rgba(255,255,255,.08);
}
.product-wrapper .variants .variant .active-indicator svg {
  width: 18px !important;
  height: 18px !important;
}
.product-wrapper .variants .variant.active .price {
  margin-right: 2.25rem;
}

@media (max-width: 575px) {
  .product-wrapper .variants .variant {
    min-height: 76px;
    padding: .85rem .9rem !important;
  }
  .product-wrapper .variants .variant .price {
    font-size: .92rem;
  }
}


/* v2.5 — refined Nova cursor and lightweight star trail */
.nova-cursor-trail-layer{position:fixed;inset:0;z-index:2147483000;pointer-events:none;overflow:hidden}
.nova-cursor-trail-star{position:absolute;display:block;color:#ff69a4;font-size:var(--nova-size,7px);line-height:1;text-shadow:0 0 7px rgba(255,45,126,.65);transform:translate(-50%,-50%);animation:novaCursorStar .58s cubic-bezier(.2,.7,.25,1) forwards;will-change:transform,opacity}
@keyframes novaCursorStar{0%{opacity:.78;transform:translate(-50%,-50%) scale(.9) rotate(0)}70%{opacity:.34}100%{opacity:0;transform:translate(calc(-50% + var(--nova-drift,0px)),13px) scale(.25) rotate(95deg)}}
@media (prefers-reduced-motion:reduce),(pointer:coarse){.nova-cursor-trail-layer{display:none!important}}

/* v2.5 — current-theme welcome offer */
.nova-overlay{background:rgba(4,3,9,.74);backdrop-filter:blur(22px) saturate(120%);-webkit-backdrop-filter:blur(22px) saturate(120%)}
.nova-popup{width:min(100%,520px);border:1px solid rgba(255,91,151,.20);background:radial-gradient(circle at 50% -5%,rgba(255,35,112,.19),transparent 35%),linear-gradient(145deg,rgba(27,13,27,.91),rgba(9,8,17,.94) 58%,rgba(16,9,19,.92));box-shadow:0 34px 105px rgba(0,0,0,.62),0 0 65px rgba(255,22,103,.10),inset 0 1px 0 rgba(255,255,255,.11);backdrop-filter:blur(30px) saturate(150%);-webkit-backdrop-filter:blur(30px) saturate(150%)}
.nova-popup::before{background:linear-gradient(128deg,rgba(255,255,255,.075),transparent 26%,transparent 72%,rgba(255,34,110,.07))}
.nova-popup::after{border-color:rgba(255,255,255,.055)}
.nova-tag{color:#ff9fc2;border-color:rgba(255,92,150,.18);background:rgba(255,255,255,.045);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.nova-dot{background:#ff4b91;box-shadow:0 0 16px rgba(255,57,133,.68)}
.nova-code-container{border-color:rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 16px 34px rgba(0,0,0,.2)}
.nova-benefits{border-color:rgba(255,255,255,.075)!important;background:rgba(255,255,255,.025)!important}


/* v2.6 — compact verified-customer signature */
.nova-review-customer-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin-top: 0.28rem;
  color: rgba(255, 224, 239, 0.72);
  font-size: 0.74rem;
  font-weight: 650;
  letter-spacing: 0.025em;
}
.nova-review-customer-badge img {
  width: 17px;
  height: 17px;
  object-fit: cover;
  border-radius: 5px;
  border: 1px solid rgba(255, 75, 145, 0.28);
  box-shadow: 0 0 10px rgba(255, 24, 105, 0.22);
}

/* v2.9 — subtle ambient Nova star fall */
.nova-ambient-stars {
  position: fixed;
  inset: 0;
  z-index: 8;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
}
.nova-ambient-star {
  position: absolute;
  top: -24px;
  left: var(--nova-left, 50%);
  color: rgba(255, 162, 201, var(--nova-opacity, .34));
  font-size: var(--nova-star-size, 7px);
  line-height: 1;
  filter: drop-shadow(0 0 5px rgba(255, 48, 132, .3));
  animation: novaAmbientStarFall var(--nova-duration, 10s) linear forwards;
  will-change: transform, opacity;
}
@keyframes novaAmbientStarFall {
  0% {
    opacity: 0;
    transform: translate3d(0, -16px, 0) rotate(0deg) scale(.65);
  }
  12% { opacity: var(--nova-opacity, .34); }
  82% { opacity: calc(var(--nova-opacity, .34) * .72); }
  100% {
    opacity: 0;
    transform: translate3d(var(--nova-sway, 24px), calc(100vh + 42px), 0) rotate(var(--nova-rotation, 150deg)) scale(.25);
  }
}
@media (prefers-reduced-motion: reduce) {
  .nova-ambient-stars { display: none !important; }
}

/* Nova UD v4.4 — compact, refined purchase controls */
.buy-buttons {
  align-items: center !important;
  gap: .65rem !important;
  margin-top: 1.15rem !important;
}
.buy-buttons .col {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}
.buy-buttons .btn {
  min-height: 44px !important;
  padding: .68rem 1rem !important;
  border-radius: 13px !important;
  font-size: .86rem !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  gap: .45rem !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.09), 0 8px 20px rgba(0,0,0,.14) !important;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease !important;
}
.buy-buttons .btn svg {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
}
.buy-buttons .btn:hover {
  transform: translateY(-1px) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.18) !important;
}
.buy-buttons .btn-primary {
  background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.055)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  color: #fff !important;
  backdrop-filter: blur(16px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(140%) !important;
}
.buy-buttons .btn-primary:hover {
  background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.075)) !important;
  border-color: rgba(255,255,255,.24) !important;
}
.buy-buttons .btn-outline-primary {
  background: linear-gradient(135deg, rgba(255,38,116,.92), rgba(196,11,67,.92)) !important;
  border: 1px solid rgba(255,126,174,.34) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 9px 22px rgba(224,0,75,.17) !important;
}
.buy-buttons .btn-outline-primary:hover {
  background: linear-gradient(135deg, rgba(255,55,128,.96), rgba(213,12,75,.96)) !important;
  border-color: rgba(255,151,189,.48) !important;
  color: #fff !important;
}

/* Product-grid cards */
.cta-buttons-purge {
  gap: .55rem !important;
  margin-top: .8rem !important;
}
.cta-btn-purge {
  min-height: 40px !important;
  padding: .58rem .78rem !important;
  border-radius: 11px !important;
  font-size: .79rem !important;
  letter-spacing: .005em !important;
}
.buy-now-btn {
  background: linear-gradient(135deg, rgba(255,43,119,.86), rgba(190,9,63,.88)) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 7px 18px rgba(222,0,73,.14) !important;
}
.buy-now-btn:hover,
.price-btn:hover {
  transform: translateY(-1px) !important;
}

/* Alternate standalone product template */
#addToCartBtn[data-product-id] {
  flex: 0 1 220px !important;
  min-height: 46px !important;
  padding: .72rem 1.15rem !important;
  border-radius: 13px !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 9px 22px rgba(224,0,75,.16) !important;
}
#addToCartBtn[data-product-id]:hover {
  transform: translateY(-1px) !important;
}

@media (max-width: 575px) {
  .buy-buttons {
    gap: .55rem !important;
  }
  .buy-buttons .btn {
    min-height: 42px !important;
    padding: .62rem .85rem !important;
    font-size: .82rem !important;
  }
  .cta-btn-purge {
    min-height: 38px !important;
    padding: .52rem .65rem !important;
    font-size: .76rem !important;
  }
  #addToCartBtn[data-product-id] {
    flex: 1 1 auto !important;
    min-height: 44px !important;
  }
}

/* Nova UD v4.5 — cleaner Buy Now controls */
.buy-buttons .btn-outline-primary {
  min-height: 42px !important;
  padding: .64rem 1rem !important;
  border-radius: 10px !important;
  background: linear-gradient(145deg, rgba(24, 18, 24, .82), rgba(13, 10, 15, .72)) !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  color: rgba(255,255,255,.96) !important;
  font-size: .84rem !important;
  font-weight: 650 !important;
  letter-spacing: .015em !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 7px 18px rgba(0,0,0,.16) !important;
  backdrop-filter: blur(18px) saturate(135%) !important;
  -webkit-backdrop-filter: blur(18px) saturate(135%) !important;
  position: relative !important;
  overflow: hidden !important;
}
.buy-buttons .btn-outline-primary::before {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 0;
  height: 2px;
  border-radius: 2px 2px 0 0;
  background: linear-gradient(90deg, transparent, rgba(255,52,125,.9), transparent);
  opacity: .72;
}
.buy-buttons .btn-outline-primary svg:not(.animate-spin) {
  display: none !important;
}
.buy-buttons .btn-outline-primary:hover {
  transform: none !important;
  background: linear-gradient(145deg, rgba(34, 25, 34, .9), rgba(17, 12, 19, .82)) !important;
  border-color: rgba(255, 105, 158, .34) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11), 0 8px 20px rgba(0,0,0,.2) !important;
}
.buy-buttons .btn-outline-primary:active {
  transform: scale(.985) !important;
}

/* Product cards: quiet, compact glass Buy Now */
.cta-buttons-purge .buy-now-btn {
  background: linear-gradient(145deg, rgba(29,21,29,.86), rgba(14,10,16,.78)) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.95) !important;
  border-radius: 10px !important;
  min-height: 38px !important;
  padding: .55rem .78rem !important;
  font-size: .78rem !important;
  font-weight: 650 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 6px 15px rgba(0,0,0,.14) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
}
.cta-buttons-purge .buy-now-btn:hover {
  transform: none !important;
  background: linear-gradient(145deg, rgba(40,28,39,.92), rgba(20,13,22,.86)) !important;
  border-color: rgba(255,92,149,.3) !important;
  color: #fff !important;
}
