/**
 * RShop — boutons & badges « liquid glass » (glassmorphism premium, violet)
 * À charger en dernier après styles.css / rshop-store.css / admin-panel.css
 */

:root {
  --rg-ease: cubic-bezier(0.33, 1, 0.68, 1);
  --rg-glass-radius: 14px;
  --rg-glass-blur: 14px;
}

/* -------------------------------------------------------------------------- */
/* Boutique (body.rs-store) — hero, nav Discord, CTA preuve, .btn catalogue   */
/* -------------------------------------------------------------------------- */

body.rs-store .rs-hero__eyebrow {
  display: inline-block;
  margin-bottom: 1rem;
  padding: 0.45rem 1.15rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #f5f3ff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  border-radius: var(--rs-radius-pill, 999px);
  border: 1px solid rgba(255, 255, 255, 0.28);
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.06) 38%, transparent 52%),
    linear-gradient(145deg, rgba(167, 139, 250, 0.42) 0%, rgba(124, 58, 237, 0.32) 55%, rgba(91, 33, 182, 0.38) 100%);
  background-color: rgba(12, 10, 20, 0.35);
  backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.25);
  -webkit-backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.25);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.35),
    inset 0 -1px 0 rgba(91, 33, 182, 0.35),
    0 4px 28px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(139, 92, 246, 0.18);
}

/* Base commune : liens / boutons */
body.rs-store a.rs-btn,
body.rs-store button.rs-btn,
body.rs-store a.btn,
body.rs-store button.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.875rem;
  padding: 0.75rem 1.5rem;
  font-family: var(--rs-font, "Inter", system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-decoration: none;
  border-radius: var(--rg-glass-radius);
  cursor: pointer;
  border-style: solid;
  border-width: 1px;
  transition:
    transform 0.28s var(--rg-ease),
    box-shadow 0.28s var(--rg-ease),
    background 0.28s var(--rg-ease),
    border-color 0.28s var(--rg-ease),
    color 0.22s ease;
}

body.rs-store .rs-hero .rs-btn {
  min-height: 3.2rem;
  padding: 0.95rem 1.85rem;
  font-size: 1rem;
}

/* Primaire — verre violet lumineux */
body.rs-store .rs-btn--primary,
body.rs-store .btn.btn-primary {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  border-color: rgba(255, 255, 255, 0.32);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.05) 42%, transparent 55%),
    linear-gradient(145deg, rgba(192, 181, 255, 0.55) 0%, rgba(124, 58, 237, 0.42) 45%, rgba(91, 33, 182, 0.48) 100%);
  background-color: rgba(16, 14, 26, 0.38);
  backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.22);
  -webkit-backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    inset 0 -1px 0 rgba(67, 24, 120, 0.45),
    0 2px 4px rgba(0, 0, 0, 0.15),
    0 14px 40px rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(139, 92, 246, 0.15);
}

body.rs-store .rs-btn--primary:hover,
body.rs-store .btn.btn-primary:hover:not(:disabled) {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.42);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.38) 0%, rgba(255, 255, 255, 0.1) 40%, transparent 52%),
    linear-gradient(145deg, rgba(216, 201, 255, 0.58) 0%, rgba(139, 92, 246, 0.5) 48%, rgba(109, 40, 217, 0.52) 100%);
  background-color: rgba(22, 18, 36, 0.42);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.34),
    inset 0 -1px 0 rgba(91, 33, 182, 0.4),
    0 6px 16px rgba(0, 0, 0, 0.22),
    0 20px 48px rgba(91, 33, 182, 0.28),
    0 0 0 1px rgba(167, 139, 250, 0.22);
}

body.rs-store .rs-btn--primary:active,
body.rs-store .btn.btn-primary:active:not(:disabled) {
  transform: translateY(0);
  transition-duration: 0.12s;
}

/* Secondaire — verre neutre (Mon compte, actions catalogue) */
body.rs-store .rs-btn--light,
body.rs-store .rs-btn--ghost,
body.rs-store .btn:not(.btn-primary) {
  color: var(--rs-text, #fafafa);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
  border-color: rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, transparent 48%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.02) 100%);
  background-color: rgba(6, 6, 10, 0.42);
  backdrop-filter: blur(12px) saturate(1.12);
  -webkit-backdrop-filter: blur(12px) saturate(1.12);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 6px 28px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(255, 255, 255, 0.04);
}

body.rs-store .rs-btn--light:hover,
body.rs-store .rs-btn--ghost:hover,
body.rs-store .btn:not(.btn-primary):hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: rgba(167, 139, 250, 0.42);
  background-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    0 10px 36px rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(139, 92, 246, 0.12);
}

/* Déconnexion — verre teinté rouge, même famille */
body.rs-store button#btnLogout.btn {
  color: #fecdd3;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  border-color: rgba(248, 113, 113, 0.45);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.12) 0%, transparent 50%),
    linear-gradient(145deg, rgba(248, 113, 113, 0.35) 0%, rgba(185, 28, 28, 0.28) 100%);
  background-color: rgba(24, 10, 12, 0.5);
  backdrop-filter: blur(12px) saturate(1.1);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 6px 28px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(248, 113, 113, 0.12);
}

body.rs-store button#btnLogout.btn:hover:not(:disabled) {
  color: #fff5f5;
  border-color: rgba(252, 165, 165, 0.55);
  transform: translateY(-1px);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.16) 0%, transparent 48%),
    linear-gradient(145deg, rgba(252, 165, 165, 0.4) 0%, rgba(220, 38, 38, 0.32) 100%);
  background-color: rgba(32, 12, 14, 0.55);
}

/* Connexion Discord header — verre violet (identité marque, pas bleu Discord plein) */
body.rs-store .rs-btn-discord {
  padding: 0.52rem 1.2rem;
  min-height: 2.6rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff !important;
  text-decoration: none;
  border-radius: var(--rs-radius-sm, 11px);
  border: 1px solid rgba(255, 255, 255, 0.28);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.22) 0%, transparent 50%),
    linear-gradient(145deg, rgba(167, 139, 250, 0.5) 0%, rgba(124, 58, 237, 0.42) 100%);
  background-color: rgba(14, 12, 22, 0.4);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 4px 20px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(139, 92, 246, 0.14);
  transition: transform 0.26s var(--rg-ease), box-shadow 0.26s var(--rg-ease), border-color 0.26s ease;
}

body.rs-store .rs-btn-discord:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.38);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 8px 28px rgba(91, 33, 182, 0.35),
    0 0 0 1px rgba(167, 139, 250, 0.22);
}

/* Catalogue — bouton Acheter sur les cartes */
body.rs-store .rs-card__buy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  margin-top: 0.75rem;
  width: 100%;
  min-height: 3.35rem;
  padding: 0.95rem 1.25rem;
  font-family: var(--rs-font, "Inter", system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  border-radius: var(--rg-glass-radius);
  border: 1px solid rgba(255, 255, 255, 0.3);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.05) 42%, transparent 54%),
    linear-gradient(145deg, rgba(192, 181, 255, 0.52) 0%, rgba(124, 58, 237, 0.44) 48%, rgba(91, 33, 182, 0.48) 100%);
  background-color: rgba(14, 12, 22, 0.4);
  backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.22);
  -webkit-backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    inset 0 -1px 0 rgba(67, 24, 120, 0.4),
    0 4px 16px rgba(0, 0, 0, 0.3),
    0 0 0 1px rgba(139, 92, 246, 0.14);
  transition: transform 0.28s var(--rg-ease), box-shadow 0.28s var(--rg-ease), border-color 0.26s ease, filter 0.2s ease;
}

body.rs-store .rs-card__buy:hover {
  filter: none;
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.42);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.1) 40%, transparent 52%),
    linear-gradient(145deg, rgba(216, 201, 255, 0.55) 0%, rgba(139, 92, 246, 0.5) 50%, rgba(109, 40, 217, 0.5) 100%);
  background-color: rgba(18, 14, 30, 0.45);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.3),
    0 12px 40px rgba(91, 33, 182, 0.32),
    0 0 0 1px rgba(167, 139, 250, 0.18);
}

body.rs-store .rs-card__buy:active {
  transform: translateY(0);
}

/* CTA « Avis clients » — même primaire glass */
body.rs-store .rs-proof-discord-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-width: min(100%, 18rem);
  padding: 1.05rem 2.15rem;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #ffffff;
  text-decoration: none;
  text-align: center;
  border-radius: calc(var(--rs-radius, 16px) + 4px);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.3);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.26) 0%, rgba(255, 255, 255, 0.05) 42%, transparent 54%),
    linear-gradient(145deg, rgba(192, 181, 255, 0.52) 0%, rgba(124, 58, 237, 0.44) 48%, rgba(91, 33, 182, 0.48) 100%);
  background-color: rgba(14, 12, 22, 0.4);
  backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.22);
  -webkit-backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.22);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.26),
    inset 0 -1px 0 rgba(67, 24, 120, 0.42),
    0 8px 32px rgba(0, 0, 0, 0.32),
    0 0 0 1px rgba(139, 92, 246, 0.16);
  transition:
    transform 0.28s var(--rg-ease),
    box-shadow 0.28s var(--rg-ease),
    border-color 0.26s ease,
    background 0.28s var(--rg-ease);
}

body.rs-store .rs-proof-discord-cta:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.42);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.1) 40%, transparent 52%),
    linear-gradient(145deg, rgba(216, 201, 255, 0.55) 0%, rgba(139, 92, 246, 0.5) 50%, rgba(109, 40, 217, 0.5) 100%);
  background-color: rgba(18, 14, 30, 0.45);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.32),
    0 16px 48px rgba(91, 33, 182, 0.28),
    0 0 0 1px rgba(167, 139, 250, 0.2);
}

body.rs-store .rs-proof-discord-cta:active {
  transform: translateY(0);
}

body.rs-store .rs-proof-discord-cta:focus-visible {
  outline: 2px solid rgba(196, 181, 254, 0.85);
  outline-offset: 3px;
}

/* Fiche produit — bouton achat */
body.rs-store .rs-product__buy .btn.btn-primary {
  display: inline-flex;
  width: 100%;
  max-width: 20rem;
  padding: 0.9rem 1.35rem !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  border-radius: var(--rg-glass-radius) !important;
}

body.rs-store .rs-product__buy .btn.btn-primary:hover {
  filter: none;
}

/* Checkout modal — boutons */
body.rs-store .checkout-modal__close {
  border-radius: var(--rg-glass-radius) !important;
  color: var(--rs-text) !important;
  border-color: rgba(255, 255, 255, 0.14) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%),
    rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 4px 20px rgba(0, 0, 0, 0.25) !important;
}

body.rs-store .checkout-modal__close:hover {
  border-color: rgba(167, 139, 250, 0.35) !important;
  background: rgba(255, 255, 255, 0.09) !important;
}

body.rs-store .btn:focus-visible,
body.rs-store .rs-btn:focus-visible {
  outline: 2px solid rgba(167, 139, 250, 0.75);
  outline-offset: 2px;
}

body.rs-store .btn:disabled,
body.rs-store .rs-btn:disabled {
  opacity: 0.48;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Tri catalogue boutique */
body.rs-store .rs-boutique-sort {
  width: 100%;
  max-width: 16rem;
  padding: 0.62rem 0.85rem;
  font-family: var(--rs-font, "Inter", system-ui, sans-serif);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rs-text, #fafafa);
  cursor: pointer;
  border-radius: var(--rg-glass-radius);
  border: 1px solid rgba(255, 255, 255, 0.14);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, transparent 50%),
    rgba(8, 8, 12, 0.65);
  backdrop-filter: blur(12px) saturate(1.1);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 4px 20px rgba(0, 0, 0, 0.25);
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

body.rs-store .rs-boutique-sort:hover {
  border-color: rgba(167, 139, 250, 0.35);
}

body.rs-store .rs-boutique-sort:focus-visible {
  outline: 2px solid rgba(167, 139, 250, 0.65);
  outline-offset: 2px;
}

/* -------------------------------------------------------------------------- */
/* Boutique — grille packs (checkout méthodes)                                  */
/* -------------------------------------------------------------------------- */

body.rshop-app.rs-store.rshop-boutique-page .checkout-methods .btn-primary {
  border-radius: var(--rg-glass-radius) !important;
  font-weight: 600 !important;
  padding: 0.75rem 1.1rem !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.24) 0%, transparent 52%),
    linear-gradient(145deg, rgba(192, 181, 255, 0.5) 0%, rgba(124, 58, 237, 0.44) 100%) !important;
  background-color: rgba(14, 12, 22, 0.4) !important;
  backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(var(--rg-glass-blur)) saturate(1.2) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 8px 32px rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(139, 92, 246, 0.12) !important;
}

body.rshop-app.rs-store.rshop-boutique-page .checkout-methods .btn-primary:hover:not(:disabled) {
  filter: none !important;
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.4) !important;
}

body.rshop-app.rs-store.rshop-boutique-page .checkout-methods .btn:not(.btn-primary) {
  border-radius: var(--rg-glass-radius) !important;
  font-weight: 500 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, transparent 48%),
    rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px);
  color: var(--rs-text) !important;
}

/* -------------------------------------------------------------------------- */
/* Admin                                                                        */
/* -------------------------------------------------------------------------- */

body.admin-page, body.adm-page .btn {
  font-weight: 600;
  font-size: 0.8125rem;
  padding: 0.58rem 1.15rem;
  min-height: 2.5rem;
  border-radius: var(--admin-radius-control, 10px);
  transition:
    transform 0.22s var(--rg-ease),
    box-shadow 0.26s var(--rg-ease),
    border-color 0.22s ease,
    background 0.26s var(--rg-ease);
}

body.admin-page, body.adm-page .btn:active:not(:disabled) {
  transform: scale(0.98);
}

body.admin-page, body.adm-page .btn.btn-primary {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.28);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.22) 0%, transparent 48%),
    linear-gradient(145deg, rgba(186, 170, 255, 0.5) 0%, rgba(124, 58, 237, 0.45) 48%, rgba(91, 33, 182, 0.5) 100%);
  background-color: rgba(10, 8, 18, 0.45);
  backdrop-filter: blur(12px) saturate(1.2);
  -webkit-backdrop-filter: blur(12px) saturate(1.2);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 6px 28px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(139, 92, 246, 0.14);
}

body.admin-page, body.adm-page .btn.btn-primary:hover:not(:disabled) {
  filter: none;
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.38);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 12px 40px rgba(91, 33, 182, 0.35),
    0 0 0 1px rgba(167, 139, 250, 0.2);
}

body.admin-page, body.adm-page .btn.btn-secondary {
  color: var(--ap-text, #f1f1f6);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, transparent 50%),
    rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(10px) saturate(1.1);
  -webkit-backdrop-filter: blur(10px) saturate(1.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 20px rgba(0, 0, 0, 0.35);
}

body.admin-page, body.adm-page .btn.btn-secondary:hover:not(:disabled) {
  border-color: rgba(167, 139, 250, 0.35);
  background: rgba(255, 255, 255, 0.08);
}

body.admin-page, body.adm-page .btn-danger-outline {
  color: #fecaca !important;
  border-color: rgba(248, 113, 113, 0.45) !important;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.08) 0%, transparent 50%),
    rgba(248, 113, 113, 0.12) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 4px 18px rgba(0, 0, 0, 0.35) !important;
}

body.admin-page, body.adm-page .btn-danger-outline:hover:not(:disabled) {
  color: #fff !important;
  border-color: rgba(252, 165, 165, 0.55) !important;
  background: rgba(248, 113, 113, 0.22) !important;
}

body.admin-page, body.adm-page .checkout-modal__close {
  border-radius: var(--admin-radius-control, 10px);
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(255, 255, 255, 0.05) !important;
  backdrop-filter: blur(10px);
  color: var(--ap-muted, #8b8b9c) !important;
}

body.admin-page, body.adm-page .checkout-modal__close:hover {
  color: var(--ap-text) !important;
  border-color: rgba(167, 139, 250, 0.35) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}

body.admin-page, body.adm-page .btn:focus-visible {
  outline: 2px solid rgba(167, 139, 250, 0.65);
  outline-offset: 2px;
}

body.admin-page, body.adm-page .btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none !important;
  filter: none !important;
}

/* -------------------------------------------------------------------------- */
/* Page liaison Discord (fond cinéma)                                          */
/* -------------------------------------------------------------------------- */

body.page-cinematic .btn.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.85rem;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  border-radius: var(--rg-glass-radius);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.24) 0%, transparent 50%),
    linear-gradient(145deg, rgba(167, 139, 250, 0.48) 0%, rgba(124, 58, 237, 0.42) 100%);
  background-color: rgba(8, 6, 16, 0.45);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.22),
    0 8px 32px rgba(0, 0, 0, 0.4),
    0 0 0 1px rgba(139, 92, 246, 0.15);
  transition: transform 0.26s var(--rg-ease), box-shadow 0.26s var(--rg-ease), border-color 0.24s ease;
}

body.page-cinematic .btn.btn-primary:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.42);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.28),
    0 14px 44px rgba(91, 33, 182, 0.35),
    0 0 0 1px rgba(167, 139, 250, 0.2);
}

body.page-cinematic .btn-discord-nav {
  padding: 0.48rem 0.95rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff !important;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.2) 0%, transparent 50%),
    linear-gradient(145deg, rgba(167, 139, 250, 0.45) 0%, rgba(124, 58, 237, 0.4) 100%);
  background-color: rgba(6, 6, 14, 0.45);
  backdrop-filter: blur(12px) saturate(1.15);
  -webkit-backdrop-filter: blur(12px) saturate(1.15);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.18),
    0 4px 22px rgba(0, 0, 0, 0.4);
  transition: transform 0.22s var(--rg-ease), box-shadow 0.22s var(--rg-ease);
}

body.page-cinematic .btn-discord-nav:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.24),
    0 8px 28px rgba(91, 33, 182, 0.35);
}
