/*
 * site/css/site.css — Public frontend stylesheet
 * 2025/26 Premium SaaS Design
 * Glassmorphism · Gradient mesh · Bento grid · Fluid animations
 * Fully driven by CSS custom properties — reseller-switchable.
 *
 * Structure:
 *   1.  Base & reset
 *   2.  Navigation (floating glass)
 *   3.  Hero (gradient mesh + animated orbs)
 *   4.  Domain check widget (glass card)
 *   5.  Service cards (bento glass)
 *   6.  TLD pricing grid
 *   7.  Package pricing cards
 *   8.  CTA section
 *   9.  Footer
 *  10.  Utilities & animations
 *  11.  Theme variants
 *  12.  Responsive
 */

/* ============================================================
   1. BASE & RESET
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  /* Fallbacks — overridden by PHP-injected reseller vars */
  --rs-main:   #4e73df;
  --rs-color1: #4e73df;
  --rs-color2: #e74a3b;
  --rs-color3: #1cc88a;
  --rs-font:   'Open Sans', system-ui, sans-serif;
  --rs-font-heading: 'Poppins', 'Open Sans', sans-serif;

  /* Derived */
  --rs-main-rgb: 78, 115, 223;
  --glass-bg:    rgba(255,255,255,0.72);
  --glass-border: rgba(255,255,255,0.5);
  --glass-shadow: 0 8px 32px rgba(0,0,0,0.10);
  --surface:     #ffffff;
  --surface-2:   #f8fafc;
  --text-1:      #0f172a;
  --text-2:      #475569;
  --text-3:      #94a3b8;
  --border:      rgba(148,163,184,0.20);

  --radius-sm: 10px;
  --radius:    16px;
  --radius-lg: 24px;
  --radius-xl: 32px;

  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out:    cubic-bezier(0.16, 1, 0.3, 1);

  /* ── Thema-variabelen (--th-*) ─────────────────────────────
     Standaard = alias van reseller-vars.
     Vaste thema's (apple/outlook/plesk/klassiek) overschrijven
     deze volledig in sectie 11.
  ──────────────────────────────────────────────────────────── */
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       var(--rs-color1);

  --th-nav-bg:       rgba(255,255,255,0.88);
  --th-nav-bg-solid: rgba(255,255,255,0.98);
  --th-nav-border:   rgba(0,0,0,0.08);
  --th-nav-text:     #374151;
  --th-nav-active:   var(--rs-main);
  --th-nav-radius:   var(--radius-xl);

  --th-hero-bg:      #eaefff;

  --th-font-body:    var(--rs-font);
  --th-font-heading: var(--rs-font);

  --th-glass-bg:     rgba(255,255,255,0.82);
  --th-glass-border: rgba(0,0,0,0.06);
  --th-surface-2:    #f4f6fb;
  --th-text-1:       #0f172a;
  --th-text-2:       #374151;
  --th-text-3:       #6b7280;

  /* Footer */
  --th-footer-bg:          #1a2040;
  --th-footer-text:        rgba(255,255,255,.68);
  --th-footer-text-muted:  rgba(255,255,255,.38);
  --th-footer-border:      rgba(255,255,255,.07);
}

html { scroll-behavior: smooth; }

body.site-body {
  font-family: var(--th-font-body, var(--rs-font, 'Open Sans', system-ui, sans-serif));
  background: var(--th-surface-2, var(--surface-2));
  color: var(--th-text-1, var(--text-1));
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.site-hero-title,
.site-section-title,
.checkout-card-title,
.product-card-name,
.cat-card-name,
.home-cat-name {
  font-family: var(--rs-font-heading, 'Poppins', sans-serif);
}

a { color: var(--rs-main); text-decoration: none; }
a:hover { text-decoration: none; }

img { max-width: 100%; height: auto; }

/* ============================================================
   2. NAVIGATION — Floating Glass
   ============================================================ */
.site-header {
  position: fixed;
  top: 16px;
  left: 0;
  right: 0;
  z-index: 1030;
  padding: 0 16px;
  pointer-events: none;
}

.site-nav {
  pointer-events: all;
  background: var(--th-nav-bg);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid var(--th-nav-border);
  border-radius: var(--th-nav-radius);
  padding: .55rem 1.25rem;
  box-shadow: 0 4px 24px rgba(0,0,0,0.10), 0 1px 2px rgba(0,0,0,0.06);
  transition: box-shadow 200ms ease, background 200ms ease;
}

.site-nav.scrolled {
  background: var(--th-nav-bg-solid);
  box-shadow: 0 8px 40px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.06),
              inset 0 -1px 0 rgba(var(--th-primary-rgb),.08);
}

.site-brand { display: flex; align-items: center; gap: .5rem; }
.site-logo  { max-height: 36px; width: auto; object-fit: contain; }
.site-brand-name {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--text-1);
  letter-spacing: -.01em;
}

.site-nav .nav-link {
  color: var(--th-nav-text) !important;
  font-size: .875rem;
  font-weight: 500;
  padding: .4rem .75rem !important;
  border-radius: var(--radius-sm);
  transition: background 150ms ease, color 150ms ease;
  white-space: nowrap;
}
.site-nav .nav-link { position: relative; }
.site-nav .nav-link:hover { color: var(--th-nav-active) !important; background: rgba(var(--th-primary-rgb), 0.12); }
.site-nav .nav-link.active {
  color: var(--th-nav-active) !important;
  background: rgba(var(--th-primary-rgb), 0.16);
  font-weight: 600 !important;
}
.site-nav .nav-link.active::after {
  content: '';
  position: absolute;
  bottom: 2px; left: 50%;
  transform: translateX(-50%);
  width: 18px; height: 2.5px;
  background: var(--th-nav-active);
  border-radius: 2px;
}

.site-toggler {
  border-color: var(--border) !important;
  border-radius: var(--radius-sm) !important;
}
.site-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280%2C0%2C0%2C0.55%29' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Auth buttons */
.site-btn-register {
  background: var(--rs-main) !important;
  background-image: linear-gradient(135deg, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 60%) !important;
  color: #fff !important;
  border-color: transparent !important;
  font-weight: 700;
  border-radius: var(--radius-sm) !important;
  box-shadow: 0 3px 14px rgba(var(--rs-main-rgb),.40) !important;
  transition: opacity 150ms ease, transform 150ms ease, box-shadow 150ms ease;
  position: relative; overflow: hidden;
}
.site-btn-register:hover {
  opacity: .92;
  transform: translateY(-1px);
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(var(--rs-main-rgb),.50) !important;
}
/* Cart icon in header */
.site-cart-link {
  color: var(--th-text-2, #6b7280);
  text-decoration: none;
  padding: .25rem;
  transition: color .15s;
}
.site-cart-link:hover { color: var(--rs-main); }
.site-cart-badge {
  position: absolute;
  top: -4px; right: -6px;
  background: var(--rs-main);
  color: #fff;
  font-size: .6rem;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 999px;
  pointer-events: none;
}

/* Toast notification for add-to-cart */
.site-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  background: #1f2937;
  color: #fff;
  padding: .75rem 1.25rem;
  border-radius: 10px;
  font-size: .875rem;
  font-weight: 500;
  z-index: 9999;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .25s, transform .25s;
  pointer-events: none;
}
.site-toast.show {
  opacity: 1;
  transform: translateY(0);
}

.site-btn-account {
  background: rgba(var(--rs-main-rgb), 0.08) !important;
  color: var(--rs-main) !important;
  border: 1px solid rgba(var(--rs-main-rgb),.20) !important;
  font-weight: 600;
  border-radius: var(--radius-sm) !important;
}
.site-btn-account:hover { background: rgba(var(--rs-main-rgb),.14) !important; }
.site-btn-login {
  color: var(--th-nav-text) !important;
  border-color: rgba(var(--th-primary-rgb), 0.35) !important;
  font-weight: 600;
  border-radius: var(--radius-sm) !important;
}
.site-btn-login:hover {
  color: var(--th-nav-active) !important;
  background: rgba(var(--th-primary-rgb), 0.08) !important;
  border-color: var(--th-primary) !important;
}
.site-btn-logout {
  color: var(--th-nav-text) !important;
  font-size: .8125rem;
  opacity: .75;
}
.site-btn-logout:hover { color: var(--th-nav-active) !important; opacity: 1; }

/* Language switcher */
.site-lang-switch { display: flex; gap: 2px; }
.site-lang-btn {
  font-size: .75rem;
  font-weight: 600;
  color: var(--th-nav-text) !important;
  opacity: .75;
  padding: .2rem .45rem;
  border-radius: 6px;
  letter-spacing: .03em;
  text-transform: uppercase;
  transition: background 120ms ease, color 120ms ease;
}
.site-lang-btn:hover,
.site-lang-btn.active {
  color: var(--th-nav-active) !important;
  background: rgba(var(--th-primary-rgb), 0.10);
  opacity: 1;
  text-decoration: none;
}


/* ============================================================
   3. HERO — Gradient Mesh + Animated Orbs
   ============================================================ */
.site-hero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  overflow: hidden;
  padding: 140px 0 100px;
  background: var(--th-hero-bg);
}

/* Gradient mesh base */
.site-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 20% 30%, rgba(var(--rs-main-rgb), 0.26) 0%, transparent 65%),
    radial-gradient(ellipse 60% 50% at 80% 70%, rgba(var(--rs-main-rgb), 0.18) 0%, transparent 65%),
    radial-gradient(ellipse 50% 40% at 50% 0%,  rgba(var(--rs-main-rgb), 0.12) 0%, transparent 60%);
  pointer-events: none;
}

/* Animated colour orbs */
.site-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 400px at 15% 50%, rgba(var(--rs-main-rgb), 0.20), transparent),
    radial-gradient(circle 350px at 85% 25%, rgba(var(--rs-main-rgb), 0.15), transparent),
    radial-gradient(circle 500px at 60% 90%, rgba(var(--rs-main-rgb), 0.12), transparent);
  animation: hero-orb 12s ease-in-out infinite alternate;
  pointer-events: none;
}

@keyframes hero-orb {
  0%   { opacity: .8; transform: scale(1)    rotate(0deg); }
  50%  { opacity: 1;  transform: scale(1.08) rotate(2deg); }
  100% { opacity: .7; transform: scale(.96)  rotate(-1deg); }
}

/* Floating shapes */
.hero-shape {
  position: absolute;
  border-radius: 50%;
  filter: blur(1px);
  animation: float-shape 8s ease-in-out infinite alternate;
  pointer-events: none;
}
.hero-shape-1 {
  width: 320px; height: 320px;
  top: -80px; right: 10%;
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.15), rgba(var(--rs-main-rgb),.04));
  border: 1px solid rgba(var(--rs-main-rgb), .12);
  animation-delay: 0s;
}
.hero-shape-2 {
  width: 200px; height: 200px;
  bottom: 10%; left: 5%;
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.10), transparent);
  border: 1px solid rgba(var(--rs-main-rgb), .08);
  animation-delay: -3s;
}
.hero-shape-3 {
  width: 120px; height: 120px;
  top: 30%; right: 25%;
  background: rgba(var(--rs-main-rgb), .07);
  border: 1px solid rgba(var(--rs-main-rgb), .10);
  border-radius: var(--radius);
  transform: rotate(15deg);
  animation-delay: -6s;
}

@keyframes float-shape {
  0%   { transform: translateY(0)   rotate(0deg);  }
  100% { transform: translateY(-28px) rotate(8deg); }
}

/* Grid dot overlay */
.hero-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(var(--rs-main-rgb),.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(var(--rs-main-rgb),.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 40%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 50%, black 40%, transparent 100%);
  pointer-events: none;
}

.site-hero .container { position: relative; z-index: 2; }

/* Eyebrow label */
.site-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--rs-main);
  background: rgba(var(--rs-main-rgb), .08);
  border: 1px solid rgba(var(--rs-main-rgb), .20);
  padding: .3rem .9rem;
  border-radius: 100px;
  margin-bottom: 1.5rem;
  animation: fade-up .6s var(--ease-out) both;
}
.site-hero-eyebrow::before {
  content: '';
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--rs-main);
  box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb), .20);
}

/* Gradient headline */
.site-hero-title {
  font-size: clamp(2.25rem, 5vw + 1rem, 4.5rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -.03em;
  color: var(--th-text-1, var(--text-1));
  margin-bottom: 1.25rem;
  animation: fade-up .7s var(--ease-out) .1s both;
}
.site-hero-title .gradient-text {
  background: linear-gradient(135deg, var(--rs-main) 0%, color-mix(in srgb, var(--rs-main) 60%, #8b5cf6) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.site-hero-subtitle {
  font-size: clamp(1.0625rem, 1.8vw + .5rem, 1.375rem);
  color: var(--th-text-2, var(--text-2));
  max-width: 560px;
  margin-bottom: 2.5rem;
  line-height: 1.7;
  animation: fade-up .7s var(--ease-out) .2s both;
}

.hero-stats {
  display: flex;
  gap: 2rem;
  margin-top: 2rem;
  animation: fade-up .7s var(--ease-out) .4s both;
  flex-wrap: wrap;
}
.hero-stat { display: flex; flex-direction: column; gap: .15rem; }
.hero-stat-number {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--th-text-1, var(--text-1));
  letter-spacing: -.02em;
  line-height: 1;
}
.hero-stat-label {
  font-size: .75rem;
  color: var(--th-text-3, var(--text-3));
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
}

/* ============================================================
   3b. DARK HERO VARIANT (homepage)
   ============================================================ */
.site-hero-dark {
  background: #0c1425;
}
.site-hero-dark::before {
  background:
    radial-gradient(ellipse 75% 55% at 15% 35%, rgba(var(--rs-main-rgb),.55) 0%, transparent 55%),
    radial-gradient(ellipse 55% 50% at 85% 55%, rgba(var(--rs-main-rgb),.35) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 50% -5%,  rgba(var(--rs-main-rgb),.28) 0%, transparent 50%);
}
.site-hero-dark::after {
  background:
    radial-gradient(circle 500px at 8% 55%,  rgba(var(--rs-main-rgb),.28), transparent),
    radial-gradient(circle 400px at 92% 20%, rgba(var(--rs-main-rgb),.18), transparent),
    radial-gradient(circle 600px at 55% 100%,rgba(var(--rs-main-rgb),.14), transparent);
}
.site-hero-dark .hero-grid {
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
}
.site-hero-dark .hero-shape-1 {
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.35), rgba(var(--rs-main-rgb),.10));
  border-color: rgba(var(--rs-main-rgb),.25);
}
.site-hero-dark .hero-shape-2 {
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.20), transparent);
  border-color: rgba(var(--rs-main-rgb),.15);
}
.site-hero-dark .hero-shape-3 {
  background: rgba(var(--rs-main-rgb),.15);
  border-color: rgba(var(--rs-main-rgb),.20);
}
.site-hero-dark .site-hero-eyebrow {
  background: rgba(var(--rs-main-rgb),.20);
  border-color: rgba(var(--rs-main-rgb),.40);
  color: rgba(255,255,255,.88);
}
.site-hero-dark .site-hero-eyebrow::before {
  box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb),.35);
}
.site-hero-dark .site-hero-title  { color: #fff; }
.site-hero-dark .site-hero-subtitle { color: rgba(255,255,255,.68); }
.site-hero-dark .hero-stat-number { color: #fff; }
.site-hero-dark .hero-stat-label  { color: rgba(255,255,255,.50); }

/* Domain check widget on dark hero */
.site-hero-dark .domain-check-widget {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 24px 64px rgba(0,0,0,.30), 0 4px 16px rgba(0,0,0,.20),
              inset 0 1px 0 rgba(255,255,255,.12);
}
.site-hero-dark .domain-check-label { color: rgba(255,255,255,.70); }
.site-hero-dark .domain-check-input {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.14);
  color: #fff;
}
.site-hero-dark .domain-check-input::placeholder { color: rgba(255,255,255,.38); }
.site-hero-dark .domain-check-input:focus {
  background: rgba(255,255,255,.15);
  border-color: rgba(var(--rs-main-rgb),.70);
  box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb),.20);
}
.site-hero-dark .domain-check-tld {
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.14);
  color: #fff;
}
.site-hero-dark .domain-check-tld option { background: #111827; color: #fff; }

/* Hero logo block */
.hero-logo-block {
  text-align: left;
  margin-bottom: 1.5rem;
  animation: fade-up .5s var(--ease-out) both;
}
.hero-logo-block img {
  max-height: 48px;
  width: auto;
  object-fit: contain;
}
.hero-logo-block img.logo-invert {
  filter: brightness(0) invert(1);
  opacity: .92;
}

/* Navbar logo sizing */
.site-logo {
  max-height: 46px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
}

/* Trust strip */
.hero-trust-strip {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.75rem;
  flex-wrap: wrap;
  margin-bottom: 3rem;
  animation: fade-up .6s var(--ease-out) .05s both;
}
.hero-trust-item {
  display: flex;
  align-items: center;
  gap: .4rem;
  font-size: .8125rem;
  color: rgba(255,255,255,.55);
  white-space: nowrap;
}
.hero-trust-item strong { color: rgba(255,255,255,.85); font-weight: 600; }
.hero-trust-item svg { color: var(--rs-main); flex-shrink: 0; opacity: .9; }
.hero-trust-sep {
  width: 1px; height: 14px;
  background: rgba(255,255,255,.15);
}

/* Floating hero visual (right column) */
.hero-visual {
  position: relative;
  height: 400px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
}
.hero-float-card {
  background: rgba(255,255,255,.08);
  backdrop-filter: blur(28px) saturate(160%);
  -webkit-backdrop-filter: blur(28px) saturate(160%);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: var(--radius-lg);
  padding: 1.1rem 1.35rem;
  box-shadow: 0 20px 60px rgba(0,0,0,.25), 0 2px 8px rgba(0,0,0,.15);
}
.hero-float-card:nth-child(1) { animation: hfc-float-a 7s ease-in-out infinite; }
.hero-float-card:nth-child(2) { animation: hfc-float-b 9s ease-in-out infinite; animation-delay: -.8s; margin-left: 1.5rem; }
.hero-float-card:nth-child(3) { animation: hfc-float-c 8s ease-in-out infinite; animation-delay: -1.5s; }

@keyframes hfc-float-a {
  0%,100% { transform: translateY(0)   rotate(0deg); }
  50%      { transform: translateY(-10px) rotate(.4deg); }
}
@keyframes hfc-float-b {
  0%,100% { transform: translateY(0)   rotate(0deg); }
  50%      { transform: translateY(-7px)  rotate(-.3deg); }
}
@keyframes hfc-float-c {
  0%,100% { transform: translateY(0)   rotate(0deg); }
  50%      { transform: translateY(-12px) rotate(.5deg); }
}

/* Card 1: domain availability */
.hfc-badge {
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(255,255,255,.75);
  margin-bottom: .6rem;
}
.hfc-domain-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
.hfc-domain-name {
  font-size: 1.0625rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.02em;
}
.hfc-status-ok {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--rs-color3, #4ade80);
  background: rgba(74,222,128,.12);
  border: 1px solid rgba(74,222,128,.25);
  padding: .2rem .65rem;
  border-radius: 100px;
}
.hfc-domain-price {
  margin-top: .45rem;
  font-size: .8125rem;
  color: rgba(255,255,255,.72);
}
.hfc-domain-price a {
  color: rgba(var(--rs-main-rgb),1);
  font-weight: 700;
  text-decoration: none;
}

/* Card 2: features */
.hfc-features { display: flex; flex-direction: column; gap: .6rem; }
.hfc-feature   { display: flex; align-items: center; gap: .65rem; }
.hfc-feature-icon {
  width: 30px; height: 30px;
  border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: .875rem;
}
.hfc-feature-icon.ic-green  { background: rgba(74,222,128,.18); }
.hfc-feature-icon.ic-blue   { background: rgba(96,165,250,.18); }
.hfc-feature-icon.ic-purple { background: rgba(167,139,250,.18); }
.hfc-feature-text {
  font-size: .875rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}

/* Card 3: rating */
.hfc-stars  { color: #fbbf24; font-size: 1rem; letter-spacing: .1em; margin-bottom: .45rem; }
.hfc-quote  { font-size: .875rem; color: rgba(255,255,255,.85); line-height: 1.55; font-style: italic; }
.hfc-author {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: .6rem;
}
.hfc-avatar {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--rs-main);
  background-image: linear-gradient(135deg, rgba(255,255,255,.2), rgba(255,255,255,0));
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem;
  font-weight: 800;
  color: #fff;
  flex-shrink: 0;
}
.hfc-author-name { font-size: .8125rem; font-weight: 600; color: #fff; }
.hfc-author-role { font-size: .75rem; color: rgba(255,255,255,.60); }

/* ============================================================
   4. DOMAIN CHECK WIDGET — Glass card
   ============================================================ */
.domain-check-widget {
  background: var(--glass-bg);
  backdrop-filter: blur(24px) saturate(180%);
  -webkit-backdrop-filter: blur(24px) saturate(180%);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-xl);
  padding: 2rem 2.25rem;
  box-shadow:
    0 24px 64px rgba(0,0,0,0.10),
    0 4px 16px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.8);
  max-width: 700px;
  animation: fade-up .8s var(--ease-out) .3s both;
}

.domain-check-label {
  font-size: .875rem;
  font-weight: 600;
  color: var(--th-text-1, var(--text-1));
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.domain-check-label svg { color: var(--rs-main); }

.domain-check-form {
  display: flex;
  gap: .5rem;
  align-items: stretch;
}

.domain-check-input {
  flex: 1;
  min-width: 0;
  background: var(--th-glass-bg, rgba(255,255,255,0.90));
  border: 1.5px solid var(--th-glass-border, rgba(148,163,184,0.30));
  border-radius: var(--radius);
  padding: .875rem 1.125rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--th-text-1, var(--text-1));
  outline: none;
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.domain-check-input::placeholder { color: var(--th-text-3, var(--text-3)); font-weight: 400; }
.domain-check-input:focus {
  border-color: var(--rs-main);
  box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb), .12);
  background: var(--th-glass-bg, #fff);
}

.domain-check-tld {
  background: var(--th-glass-bg, rgba(255,255,255,0.90));
  border: 1.5px solid var(--th-glass-border, rgba(148,163,184,0.30));
  border-radius: var(--radius);
  padding: .875rem .875rem;
  font-size: .9375rem;
  font-weight: 600;
  color: var(--th-text-1, var(--text-1));
  outline: none;
  cursor: pointer;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  min-width: 90px;
}
.domain-check-tld:focus {
  border-color: var(--rs-main);
  box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb), .12);
}

.domain-check-btn {
  background: var(--rs-main);
  color: #fff;
  border: none;
  border-radius: var(--radius);
  padding: .875rem 1.5rem;
  font-size: .9375rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 150ms ease, transform 150ms var(--ease-spring), box-shadow 150ms ease;
  box-shadow: 0 4px 16px rgba(var(--rs-main-rgb), .35);
}
.domain-check-btn:hover:not(:disabled) {
  opacity: .90;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(var(--rs-main-rgb), .40);
}
.domain-check-btn:active:not(:disabled) { transform: translateY(0); }
.domain-check-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.domain-check-result {
  margin-top: 1rem;
  min-height: 1.25rem;
  font-size: .9375rem;
  font-weight: 500;
  animation: fade-up .3s var(--ease-out) both;
}
.result-loading { color: var(--text-3); display: flex; align-items: center; gap: .4rem; }
.result-available {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  color: var(--rs-color3, #15803d);
  background: rgba(21,128,61,.06);
  border: 1px solid rgba(21,128,61,.15);
  border-radius: var(--radius-sm);
  padding: .6rem 1rem;
}
.result-taken {
  display: flex; align-items: center; gap: .5rem;
  color: #b91c1c;
  background: rgba(185,28,28,.06);
  border: 1px solid rgba(185,28,28,.15);
  border-radius: var(--radius-sm);
  padding: .6rem 1rem;
}
.btn-order-domain, .btn-login-to-order {
  display: inline-block;
  background: var(--rs-main);
  color: #fff !important;
  font-size: .8125rem;
  font-weight: 700;
  padding: .3rem .9rem;
  border-radius: 100px;
  transition: opacity 150ms ease, transform 150ms ease;
  text-decoration: none !important;
}
.btn-order-domain:hover, .btn-login-to-order:hover {
  opacity: .85;
  transform: translateY(-1px);
}

/* ============================================================
   5. SECTIONS — Generic Wrapper
   ============================================================ */
.site-section {
  padding: 6rem 0;
}
.site-section-alt {
  background: var(--th-surface-2, #f0f4ff);
  position: relative;
  overflow: hidden;
}
.site-section-alt::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 100% 50%, rgba(var(--rs-main-rgb),.05), transparent),
    radial-gradient(ellipse 40% 60% at 0% 50%,   rgba(var(--rs-main-rgb),.04), transparent);
  pointer-events: none;
}

.site-section-label {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rs-main);
  margin-bottom: .75rem;
}
.site-section-title {
  font-size: clamp(1.625rem, 2.5vw + .5rem, 2.75rem);
  font-weight: 800;
  letter-spacing: -.025em;
  color: var(--th-text-1, var(--text-1));
  line-height: 1.15;
  margin-bottom: .75rem;
}
.site-section-subtitle {
  font-size: 1.0625rem;
  color: var(--th-text-2, var(--text-2));
  max-width: 560px;
  line-height: 1.65;
  margin-bottom: 0;
}

/* ============================================================
   5b. SERVICE CARDS — Bento Glass
   ============================================================ */
.services-bento {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

.service-card {
  position: relative;
  background: var(--glass-bg);
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: .875rem;
  cursor: pointer;
  transition: transform 250ms var(--ease-spring), box-shadow 250ms ease, border-color 250ms ease;
  cursor: default;
  overflow: hidden;
}

.service-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.04) 0%, transparent 60%);
  opacity: 0;
  transition: opacity 250ms ease;
  pointer-events: none;
  border-radius: inherit;
}

.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.12), 0 4px 16px rgba(var(--rs-main-rgb),.10);
  border-color: rgba(var(--rs-main-rgb), .25);
}
.service-card:hover::before { opacity: 1; }

/* Gradient icon container */
.service-card-icon {
  width: 52px; height: 52px;
  border-radius: var(--radius);
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.12), rgba(var(--rs-main-rgb),.04));
  border: 1px solid rgba(var(--rs-main-rgb), .15);
  color: var(--rs-main);
  flex-shrink: 0;
  transition: background 250ms ease, transform 250ms var(--ease-spring);
}
.service-card-icon svg { width: 24px; height: 24px; }
.service-card:hover .service-card-icon {
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.22), rgba(var(--rs-main-rgb),.10));
  transform: scale(1.08) rotate(-2deg);
}

.service-card-title {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--th-text-1, var(--text-1));
  letter-spacing: -.015em;
  line-height: 1.3;
}

.service-card-desc {
  font-size: .875rem;
  color: var(--th-text-2, var(--text-2));
  line-height: 1.6;
  flex: 1;
}

.service-card-link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--rs-main);
  margin-top: auto;
  transition: gap 200ms var(--ease-spring);
}
.service-card-link::after {
  content: '→';
  transition: transform 200ms var(--ease-spring);
}
.service-card:hover .service-card-link { gap: .6rem; }
.service-card:hover .service-card-link::after { transform: translateX(3px); }

/* Shimmer on hover */
.service-card-shimmer {
  position: absolute;
  top: -50%; left: -60%;
  width: 200%; height: 200%;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.25) 50%, transparent 60%);
  transform: rotate(0deg);
  transition: transform .6s ease;
  pointer-events: none;
}
.service-card:hover .service-card-shimmer { transform: rotate(0deg) translateX(100%); }


/* ============================================================
   6. TLD PRICING GRID  (homepage strip)
   ============================================================ */
.tld-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: .75rem;
  margin-top: 2rem;
}

.tld-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: 1.25rem .75rem;
  cursor: pointer;
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.6);
  border-radius: var(--radius);
  text-align: center;
  cursor: pointer;
  transition: transform 200ms var(--ease-spring), box-shadow 200ms ease, border-color 200ms ease;
  text-decoration: none !important;
  color: inherit !important;
  overflow: hidden;
}
.tld-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.08), rgba(var(--rs-main-rgb),.02));
  opacity: 0;
  transition: opacity 200ms ease;
}
.tld-card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 12px 36px rgba(var(--rs-main-rgb),.15);
  border-color: rgba(var(--rs-main-rgb),.30);
}
.tld-card:hover::after { opacity: 1; }

.tld-card.featured {
  border-color: rgba(var(--rs-main-rgb),.35);
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.08) 0%, rgba(255,255,255,.85) 100%);
}

.tld-card-badge {
  position: absolute;
  top: 0; right: 0;
  background: var(--rs-main);
  color: #fff;
  font-size: .625rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .2rem .5rem;
  border-bottom-left-radius: var(--radius-sm);
}

.tld-card-ext {
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--th-text-1, var(--text-1));
  letter-spacing: -.02em;
  position: relative;
  z-index: 1;
}
.tld-card.featured .tld-card-ext { color: var(--rs-main); }

.tld-card-price {
  font-size: .75rem;
  color: var(--th-text-2, var(--text-2));
  font-weight: 500;
  position: relative;
  z-index: 1;
}
.tld-card-price strong {
  color: var(--th-text-1, var(--text-1));
  font-weight: 700;
}


/* ============================================================
   7. PACKAGE / PRICING CARDS
   ============================================================ */
.pricing-card {
  background: var(--glass-bg);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 2rem;
  position: relative;
  transition: transform 250ms var(--ease-spring), box-shadow 250ms ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.pricing-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.10);
}
.pricing-card.featured {
  background: var(--rs-main);
  border-color: transparent;
  box-shadow: 0 20px 60px rgba(var(--rs-main-rgb),.35);
}
.pricing-card-badge {
  position: absolute;
  top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--rs-main);
  color: #fff;
  font-size: .6875rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .2rem 1rem;
  border-radius: 100px;
  white-space: nowrap;
}

.pricing-card-name { font-size: .8125rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--rs-main); margin-bottom: .35rem; }
.pricing-card-price {
  font-size: 2.5rem;
  font-weight: 800;
  color: var(--th-text-1, var(--text-1));
  letter-spacing: -.03em;
  line-height: 1;
  margin-bottom: .25rem;
}
.pricing-card-price sup { font-size: 1.2rem; vertical-align: super; font-weight: 700; }
.pricing-card-period { font-size: .8125rem; color: var(--th-text-3, var(--text-3)); margin-bottom: 1.25rem; }
.pricing-card-divider { border: none; border-top: 1px solid var(--th-glass-border, var(--border)); margin: 1rem 0; }
.pricing-card-features { list-style: none; display: flex; flex-direction: column; gap: .55rem; flex: 1; padding: 0; margin: 0; }
.pricing-card-features li {
  display: flex; align-items: center; gap: .6rem;
  font-size: .875rem; color: var(--th-text-2, var(--text-2));
}
.pricing-card-features li::before {
  content: '';
  width: 16px; height: 16px; flex-shrink: 0;
  background: rgba(var(--rs-main-rgb),.12);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%234e73df' d='M13.485 1.431a1.473 1.473 0 0 0-2.084 0l-6.154 6.154-2.765-2.765a1.473 1.473 0 1 0-2.084 2.084l3.808 3.808a1.473 1.473 0 0 0 2.084 0l7.195-7.195a1.473 1.473 0 0 0 0-2.086z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 9px;
}
.pricing-card-btn {
  display: block;
  text-align: center;
  margin-top: 1.5rem;
  padding: .8rem 1.5rem;
  border-radius: var(--radius);
  font-weight: 700;
  font-size: .9375rem;
  transition: opacity 150ms ease, transform 150ms var(--ease-spring), box-shadow 150ms ease;
  text-decoration: none !important;
}
.pricing-card-btn-primary {
  background: var(--rs-main);
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(var(--rs-main-rgb),.30);
}
.pricing-card-btn-primary:hover {
  opacity: .88;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(var(--rs-main-rgb),.38);
}
.pricing-card-btn-outline {
  background: transparent;
  color: var(--rs-main) !important;
  border: 1.5px solid rgba(var(--rs-main-rgb),.30);
}
.pricing-card-btn-outline:hover {
  background: rgba(var(--rs-main-rgb),.06);
  transform: translateY(-1px);
}

/* Featured card — white text overrides */
.pricing-card.featured .pricing-card-name    { color: rgba(255,255,255,.80); }
.pricing-card.featured .pricing-card-tagline { color: rgba(255,255,255,.75); }
.pricing-card.featured .pricing-card-price   { color: #fff; }
.pricing-card.featured .pricing-card-period  { color: rgba(255,255,255,.70); }
.pricing-card.featured .pricing-card-divider { border-color: rgba(255,255,255,.22); }
.pricing-card.featured .pricing-card-features li { color: rgba(255,255,255,.90); }
.pricing-card.featured .pricing-card-features li::before {
  background-color: rgba(255,255,255,.20);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M13.485 1.431a1.473 1.473 0 0 0-2.084 0l-6.154 6.154-2.765-2.765a1.473 1.473 0 1 0-2.084 2.084l3.808 3.808a1.473 1.473 0 0 0 2.084 0l7.195-7.195a1.473 1.473 0 0 0 0-2.086z'/%3E%3C/svg%3E");
}
.pricing-card.featured .pricing-card-btn-primary {
  background: #fff;
  color: var(--rs-main) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
.pricing-card.featured .pricing-card-badge {
  background: rgba(255,255,255,.22);
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
}
.pricing-card.featured .pricing-card-btn-outline {
  border-color: rgba(255,255,255,.40);
  color: #fff !important;
}
.pricing-card.featured .pricing-card-btn-outline:hover {
  background: rgba(255,255,255,.15);
}

/* Pricing highlight bar & card note */
.pricing-highlight-bar {
  background: rgba(255,255,255,.15);
  border-radius: var(--radius-sm);
  padding: .35rem 1rem;
  text-align: center;
  font-size: .8125rem;
  font-weight: 600;
  color: rgba(255,255,255,.90);
  margin: .5rem 0;
}
.pricing-card-note {
  font-size: .75rem;
  color: rgba(255,255,255,.60);
  text-align: center;
  margin-top: .75rem;
}

/* ============================================================
   6b. DOMAIN EXTENSIONS PAGE
   ============================================================ */

/* Hero search bar */
.tld-hero-search {
  display: flex;
  align-items: center;
  background: var(--th-glass-bg, #fff);
  border: 1.5px solid var(--th-glass-border, rgba(0,0,0,.10));
  border-radius: var(--radius-lg);
  padding: .4rem .4rem .4rem 1.1rem;
  box-shadow: 0 8px 40px rgba(0,0,0,.10), 0 2px 8px rgba(0,0,0,.06);
  max-width: 560px;
  margin: 2rem auto 0;
  gap: .5rem;
}
.tld-hero-search svg { color: var(--text-3); flex-shrink: 0; }
.tld-hero-search input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 1rem;
  background: transparent;
  color: var(--th-text-1, var(--text-1));
  min-width: 0;
}
.tld-hero-search input::placeholder { color: var(--text-3); }
.tld-hero-search button {
  background: var(--rs-main);
  color: #fff;
  border: none;
  padding: .7rem 1.6rem;
  border-radius: calc(var(--radius-lg) - 4px);
  font-weight: 700;
  font-size: .9375rem;
  cursor: pointer;
  transition: opacity 150ms ease, transform 150ms ease;
  white-space: nowrap;
  flex-shrink: 0;
}
.tld-hero-search button:hover { opacity: .88; transform: translateY(-1px); }

/* Hero stats row */
.tld-hero-stats {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  margin-top: 1.75rem;
  flex-wrap: wrap;
}
.tld-hero-stat {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  color: rgba(255,255,255,.75);
}
.tld-hero-stat svg { color: rgba(255,255,255,.60); }
.tld-hero-stat strong { color: #fff; font-weight: 700; }

/* Popular TLD featured cards */
.tld-popular-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
  margin-top: 2.5rem;
}
.tld-popular-card {
  position: relative;
  background: var(--th-glass-bg, #fff);
  border: 1.5px solid var(--th-glass-border, var(--border));
  border-radius: var(--radius-lg);
  padding: 1.5rem 1rem 1.25rem;
  text-align: center;
  cursor: pointer;
  text-decoration: none !important;
  color: inherit !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  overflow: hidden;
  transition: transform 200ms var(--ease-spring), box-shadow 200ms ease, border-color 200ms ease;
}
.tld-popular-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--rs-main);
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  opacity: 0;
  transition: opacity 200ms ease;
}
.tld-popular-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(var(--rs-main-rgb),.14);
  border-color: rgba(var(--rs-main-rgb),.30);
}
.tld-popular-card:hover::before { opacity: 1; }

.tld-popular-ext {
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--rs-main);
  letter-spacing: -.03em;
  line-height: 1;
}
.tld-popular-from {
  font-size: .6875rem;
  color: var(--th-text-3, var(--text-3));
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 700;
  margin-top: .25rem;
}
.tld-popular-price {
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--th-text-1, var(--text-1));
  line-height: 1;
}
.tld-popular-per { font-size: .75rem; color: var(--th-text-3, var(--text-3)); }
.tld-popular-cta {
  margin-top: .6rem;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--rs-main);
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  opacity: 0;
  transform: translateY(3px);
  transition: opacity 150ms ease, transform 150ms ease;
}
.tld-popular-card:hover .tld-popular-cta { opacity: 1; transform: translateY(0); }

/* Filter bar */
.tld-filter-bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.25rem;
}
.tld-cat-tabs {
  display: flex;
  gap: .25rem;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius);
  padding: .25rem;
}
.tld-cat-btn {
  border: none;
  background: transparent;
  padding: .4rem 1rem;
  border-radius: calc(var(--radius) - 4px);
  font-size: .8125rem;
  font-weight: 600;
  color: var(--th-text-2, var(--text-2));
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease;
  white-space: nowrap;
}
.tld-cat-btn.active { background: var(--rs-main); color: #fff; }

.tld-search-input {
  border: 1px solid var(--th-glass-border, var(--border));
  border-radius: var(--radius);
  padding: .45rem 1rem .45rem 2.25rem;
  font-size: .875rem;
  color: var(--th-text-1, var(--text-1));
  background: var(--th-glass-bg, #fff);
  outline: none;
  width: 220px;
  transition: border-color 150ms ease, box-shadow 150ms ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%2394a3b8' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath stroke-linecap='round' d='m21 21-4.35-4.35'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: .7rem center;
}
.tld-search-input:focus {
  border-color: rgba(var(--rs-main-rgb),.45);
  box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb),.10);
}
.tld-count-badge {
  margin-left: auto;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--text-3);
  white-space: nowrap;
}

/* TLD listing table */
.tld-list-wrap {
  border: 1px solid var(--th-glass-border, var(--border));
  border-radius: var(--radius-lg);
  background: var(--th-glass-bg, #fff);
  overflow: hidden;
}
.tld-list-header {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 120px;
  gap: 1rem;
  align-items: center;
  padding: .875rem 1.5rem;
  font-size: .6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--th-text-3, var(--text-3));
  background: var(--th-surface-2, var(--surface-2));
  border-bottom: 1px solid var(--th-glass-border, var(--border));
}
.tld-list-row {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1fr 120px;
  gap: 1rem;
  align-items: center;
  padding: .875rem 1.5rem;
  border-bottom: 1px solid var(--th-glass-border, var(--border));
  color: var(--th-text-1, var(--text-1));
  transition: background 100ms ease;
}
.tld-list-row:last-child { border-bottom: none; }
.tld-list-row:hover { background: rgba(var(--rs-main-rgb),.035); }

/* Extension badge — colour-coded by category */
.tld-ext-pill {
  display: inline-flex;
  align-items: center;
  font-size: .9375rem;
  font-weight: 800;
  letter-spacing: -.01em;
  padding: .2rem .7rem;
  border-radius: var(--radius-sm);
}
.tld-ext-pill.cat-local   { background: rgba(var(--rs-main-rgb),.10); color: var(--rs-main); }
.tld-ext-pill.cat-generic { background: rgba(99,102,241,.10);  color: #4338ca; }
.tld-ext-pill.cat-country { background: rgba(14,165,233,.10);  color: #0369a1; }
.tld-ext-pill.cat-new     { background: rgba(139,92,246,.10);  color: #7c3aed; }

.tld-list-price { font-size: .9rem; color: var(--th-text-1, var(--text-1)); }
.tld-list-price strong { font-weight: 700; }
.tld-list-na { color: var(--th-text-3, var(--text-3)); font-size: .875rem; }

.tld-reg-btn {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-size: .8125rem;
  font-weight: 700;
  color: var(--rs-main) !important;
  text-decoration: none !important;
  padding: .4rem .875rem;
  border: 1.5px solid rgba(var(--rs-main-rgb),.25);
  border-radius: var(--radius-sm);
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
  white-space: nowrap;
}
.tld-reg-btn:hover {
  background: rgba(var(--rs-main-rgb),.08);
  border-color: rgba(var(--rs-main-rgb),.45);
  transform: translateX(2px);
}

/* Demo notice */
.tld-demo-note {
  display: flex;
  align-items: center;
  gap: .75rem;
  background: rgba(var(--rs-main-rgb),.05);
  border: 1px solid rgba(var(--rs-main-rgb),.15);
  border-radius: var(--radius);
  padding: .75rem 1rem;
  font-size: .8125rem;
  color: var(--th-text-2, var(--text-2));
  margin-bottom: 1.5rem;
}
.tld-demo-note svg { color: var(--rs-main); flex-shrink: 0; }

/* ============================================================
   7b. PACKAGES PAGE — Hero, toggle, grids, compare, why-grid
   ============================================================ */

/* Package page hero */
.pkg-hero {
  position: relative;
  background: var(--th-hero-bg, #f0f4ff);
  padding: 80px 0 60px;
  overflow: hidden;
  text-align: center;
}
.pkg-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(var(--rs-main-rgb),.14) 0%, transparent 65%);
  pointer-events: none;
}

/* Billing toggle */
.billing-toggle {
  display: inline-flex;
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 100px;
  padding: .25rem;
  margin-top: 2rem;
  gap: .25rem;
}
.billing-btn {
  border: none;
  background: transparent;
  padding: .45rem 1.25rem;
  border-radius: 100px;
  font-size: .875rem;
  font-weight: 600;
  color: var(--th-text-2, var(--text-2));
  cursor: pointer;
  transition: background 150ms ease, color 150ms ease, box-shadow 150ms ease;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
}
.billing-btn.active {
  background: var(--rs-main);
  color: #fff;
  box-shadow: 0 2px 8px rgba(var(--rs-main-rgb),.30);
}
.billing-save {
  font-size: .6875rem;
  background: rgba(255,255,255,.25);
  padding: .1rem .4rem;
  border-radius: 100px;
  font-weight: 700;
}

/* Demo packages 3-column grid */
.pkg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  align-items: start;
}

/* Demo notice */
.demo-notice {
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  background: rgba(var(--rs-main-rgb),.06);
  border: 1px solid rgba(var(--rs-main-rgb),.15);
  border-radius: var(--radius);
  padding: .875rem 1.25rem;
  font-size: .875rem;
  color: var(--th-text-2, var(--text-2));
  margin-top: 2rem;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}
.demo-notice svg { color: var(--rs-main); flex-shrink: 0; margin-top: 2px; }

/* Comparison table */
.compare-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
}
.compare-table th {
  padding: 1.25rem 1.5rem;
  text-align: center;
  font-weight: 700;
  font-size: .9375rem;
  color: var(--th-text-1, var(--text-1));
  border-bottom: 1px solid var(--th-glass-border, var(--border));
}
.compare-table th.compare-feature-col {
  text-align: left;
  color: var(--th-text-2, var(--text-2));
  font-size: .8125rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700;
}
.compare-table th.compare-featured {
  color: var(--rs-main);
}
.compare-table td {
  padding: 1rem 1.5rem;
  text-align: center;
  border-bottom: 1px solid var(--th-glass-border, var(--border));
  color: var(--th-text-2, var(--text-2));
  font-size: .9rem;
}
.compare-table td.compare-label {
  text-align: left;
  font-weight: 500;
  color: var(--th-text-1, var(--text-1));
}
.compare-table td.compare-featured,
.compare-table th.compare-featured {
  background: rgba(var(--rs-main-rgb),.04);
}
.compare-table tbody tr:last-child td { border-bottom: none; }
.compare-table tbody tr:hover td { background: rgba(var(--rs-main-rgb),.02); }

.compare-badge {
  display: inline-block;
  font-size: .6875rem;
  background: var(--rs-main);
  color: #fff;
  padding: .15rem .6rem;
  border-radius: 100px;
  font-weight: 700;
  letter-spacing: .04em;
  margin-left: .4rem;
  vertical-align: middle;
}
.compare-check { color: var(--rs-color3, #16a34a); display: inline-flex; }
.compare-cross  { color: var(--text-3); display: inline-flex; }

.compare-price-row td { font-size: 1.0625rem; color: var(--th-text-1, var(--text-1)); font-weight: 600; }
.compare-cta-row td { padding: 1.25rem 1.5rem; }
.compare-btn {
  display: inline-block;
  padding: .6rem 1.25rem;
  border-radius: var(--radius);
  font-weight: 700;
  font-size: .875rem;
  text-decoration: none !important;
  transition: opacity 150ms ease, transform 150ms ease;
}
.compare-btn:hover { opacity: .85; transform: translateY(-1px); }
.compare-btn-primary  { background: var(--rs-main); color: #fff !important; }
.compare-btn-outline  { border: 1.5px solid rgba(var(--rs-main-rgb),.30); color: var(--rs-main) !important; }

/* Why-grid */
.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.why-card {
  background: var(--glass-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  transition: transform 250ms var(--ease-spring), box-shadow 250ms ease;
}
.why-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 40px rgba(0,0,0,.08);
}
.why-card-icon {
  width: 48px; height: 48px;
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(var(--rs-main-rgb),.12), rgba(var(--rs-main-rgb),.04));
  border: 1px solid rgba(var(--rs-main-rgb),.15);
  color: var(--rs-main);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1rem;
}
.why-card-icon svg { width: 22px; height: 22px; }
.why-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--th-text-1, var(--text-1));
  margin-bottom: .4rem;
  letter-spacing: -.01em;
}
.why-card-desc {
  font-size: .875rem;
  color: var(--th-text-2, var(--text-2));
  line-height: 1.6;
}

/* ============================================================
   8b. TESTIMONIALS
   ============================================================ */
/* Reviews header badge */
.reviews-header-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  background: var(--th-glass-bg, #fff);
  border: 1px solid var(--th-glass-border, var(--border));
  border-radius: 100px;
  padding: .5rem 1.25rem;
  margin-bottom: 1rem;
  font-size: .875rem;
}
.reviews-rating-number { font-weight: 700; color: var(--th-text-1, var(--text-1)); }
.reviews-stars { color: #f59e0b; letter-spacing: .05em; }
.reviews-count { color: var(--th-text-3, var(--text-3)); font-size: .8rem; }
.testimonial-source {
  display: flex;
  align-items: center;
  gap: .35rem;
  font-size: .7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--th-text-3, var(--text-3));
}

.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.testimonial-card {
  background: var(--th-glass-bg, #fff);
  border: 1px solid var(--th-glass-border, var(--border));
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  transition: transform 250ms var(--ease-spring), box-shadow 250ms ease;
}
.testimonial-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.08);
}
.testimonial-stars {
  color: #f59e0b;
  font-size: 1rem;
  letter-spacing: .1em;
}
.testimonial-quote {
  font-size: .9375rem;
  color: var(--th-text-2, var(--text-2));
  line-height: 1.70;
  flex: 1;
}
.testimonial-author {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--th-glass-border, var(--border));
}
.testimonial-avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: var(--rs-main);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .9rem;
  flex-shrink: 0;
}
.testimonial-name {
  font-weight: 700;
  font-size: .9375rem;
  color: var(--th-text-1, var(--text-1));
  line-height: 1.2;
}
.testimonial-company {
  font-size: .8125rem;
  color: var(--th-text-3, var(--text-3));
  margin-top: .1rem;
}


/* ============================================================
   8. CTA SECTION
   ============================================================ */
.site-cta {
  position: relative;
  background: var(--rs-main);
  border-radius: var(--radius-xl);
  margin: 0 1.5rem 6rem;
  padding: 4rem 3rem;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 24px 80px rgba(var(--rs-main-rgb),.30);
}

/* Noise texture */
.site-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E");
  background-size: 200px 200px;
  opacity: .5;
  pointer-events: none;
}
/* Glowing orbs */
.site-cta::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle 200px at 10% 50%, rgba(255,255,255,.18), transparent),
    radial-gradient(circle 250px at 90% 30%, rgba(255,255,255,.12), transparent);
  pointer-events: none;
}

.site-cta-content { position: relative; z-index: 1; }
.site-cta-title {
  font-size: clamp(1.75rem, 3vw + .5rem, 3rem);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.03em;
  line-height: 1.1;
  margin-bottom: .75rem;
}
.site-cta-subtitle {
  font-size: 1.0625rem;
  color: rgba(255,255,255,.80);
  max-width: 500px;
  margin: 0 auto 2rem;
  line-height: 1.6;
}

.btn-cta-primary {
  display: inline-flex; align-items: center; gap: .5rem;
  background: #fff;
  color: var(--rs-main) !important;
  font-weight: 700;
  font-size: 1rem;
  padding: .875rem 2rem;
  border-radius: var(--radius);
  box-shadow: 0 4px 20px rgba(0,0,0,.15);
  transition: transform 200ms var(--ease-spring), box-shadow 200ms ease;
  text-decoration: none !important;
}
.btn-cta-primary:hover { transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,0,0,.20); }

.btn-cta-secondary {
  display: inline-flex; align-items: center; gap: .5rem;
  background: rgba(255,255,255,.15);
  color: #fff !important;
  font-weight: 600;
  font-size: 1rem;
  padding: .875rem 2rem;
  border: 1.5px solid rgba(255,255,255,.35);
  border-radius: var(--radius);
  transition: background 200ms ease, transform 200ms var(--ease-spring);
  text-decoration: none !important;
}
.btn-cta-secondary:hover { background: rgba(255,255,255,.22); transform: translateY(-2px); }

.cta-buttons { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; }


/* ============================================================
   8a-2. SALES ADVISOR BUTTON
   ============================================================ */
.dc-btn-advisor {
  background: linear-gradient(135deg, var(--rs-color1, #01BAEF), var(--rs-color2, #0B4F6C));
  color: #fff;
  border: none;
  border-radius: 0 8px 8px 0;
  padding: 0.5rem 1.25rem;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
.dc-btn-advisor:hover {
  filter: brightness(1.1);
  color: #fff;
}
@media (max-width: 576px) {
  .dc-input-group {
    flex-wrap: wrap;
  }
  .dc-input-group .dc-input {
    flex: 1 1 100%;
    border-radius: 8px 8px 0 0 !important;
  }
  .dc-input-group .site-btn-primary {
    flex: 1 1 50%;
    border-radius: 0 0 0 8px !important;
  }
  .dc-input-group .dc-btn-advisor {
    flex: 1 1 50%;
    border-radius: 0 0 8px 0 !important;
  }
}

/* ============================================================
   8b. TRUST STRIP
   ============================================================ */
.trust-strip {
  background: var(--th-surface-2, #f4f6fb);
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--border, rgba(148,163,184,0.12));
}
.trust-stats {
  display: flex;
  justify-content: center;
  gap: 3rem;
  flex-wrap: wrap;
}
.trust-stat { text-align: center; }
.trust-number {
  display: block;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--rs-main, #4e73df);
  line-height: 1.2;
}
.trust-label {
  font-size: 0.875rem;
  color: var(--th-text-2, #475569);
}


/* ============================================================
   8c. FEATURED TLDs GRID
   ============================================================ */
.featured-tlds-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 1rem;
  max-width: 800px;
  margin: 0 auto;
}
.featured-tld-card {
  background: var(--th-glass-bg, rgba(255,255,255,0.82));
  border: 1px solid var(--border, rgba(148,163,184,0.20));
  border-radius: var(--radius-sm, 10px);
  padding: 1.25rem 1rem;
  text-align: center;
  text-decoration: none;
  transition: all 0.2s ease;
  display: block;
}
.featured-tld-card:hover {
  border-color: var(--rs-main, #4e73df);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(var(--rs-main-rgb, 78,115,223), 0.12);
}
.tld-ext {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--th-text-1, #0f172a);
  margin-bottom: 0.25rem;
}
.tld-price {
  font-size: 0.8rem;
  color: var(--rs-color3, #1cc88a);
  font-weight: 600;
}


/* ============================================================
   8d. USP CARDS
   ============================================================ */
.usp-card {
  padding: 1.75rem 1.5rem;
  text-align: center;
  border-radius: var(--radius, 16px);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.usp-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
}
.usp-icon {
  color: var(--rs-color1, #4e73df);
  margin-bottom: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: var(--radius-sm, 10px);
  background: rgba(var(--rs-main-rgb, 78,115,223), 0.08);
}
.usp-icon svg {
  width: 32px;
  height: 32px;
}
.usp-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--th-text-1, #0f172a);
  margin-bottom: 0.5rem;
}
.usp-text {
  font-size: 0.9rem;
  color: var(--th-text-2, #475569);
  line-height: 1.6;
  margin-bottom: 0;
}


/* ============================================================
   8e. HOME REVIEWS
   ============================================================ */
.home-reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
}
.home-review-card {
  background: var(--th-glass-bg, rgba(255,255,255,0.82));
  border: 1px solid var(--border, rgba(148,163,184,0.20));
  border-radius: var(--radius, 16px);
  padding: 1.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.home-review-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}
.home-review-stars {
  color: #f6c23e;
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
  letter-spacing: 0.05em;
}
.home-review-text {
  color: var(--th-text-2, #475569);
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 1rem;
}
.home-review-footer {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
}
.home-review-author {
  font-weight: 600;
  color: var(--th-text-1, #0f172a);
  font-size: 0.9rem;
}
.home-review-verified {
  font-size: 0.75rem;
  color: var(--rs-color3, #1cc88a);
  font-weight: 600;
}


/* ============================================================
   9. FOOTER
   ============================================================ */
.site-footer {
  background: var(--th-footer-bg, #1a2040);
  color: var(--th-footer-text, rgba(255,255,255,.68));
  padding: 4rem 0 2rem;
}

.site-footer-brand img { max-height: 32px; opacity: .85; }
.site-footer-brand img.logo-invert { filter: brightness(0) invert(1); }
.site-footer-tagline {
  font-size: .875rem;
  color: var(--th-footer-text-muted, rgba(255,255,255,.40));
  margin-top: .5rem;
  max-width: 240px;
  line-height: 1.55;
}

.site-footer-heading {
  font-size: .75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--th-footer-text-muted, rgba(255,255,255,.40));
  margin-bottom: 1rem;
}
.site-footer-links { list-style: none; display: flex; flex-direction: column; gap: .45rem; }
.site-footer-links a {
  font-size: .875rem;
  color: var(--th-footer-text, rgba(255,255,255,.68));
  transition: color 150ms ease;
}
.site-footer-links a:hover { color: #fff; text-decoration: none; }

.site-footer-contact { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.site-footer-contact li { display: flex; align-items: flex-start; gap: .4rem; font-size: .875rem; color: var(--th-footer-text, rgba(255,255,255,.68)); }
.site-footer-contact a { color: var(--th-footer-text, rgba(255,255,255,.68)); transition: color 150ms ease; }
.site-footer-contact a:hover { color: #fff; text-decoration: none; }
.site-footer-meta { font-size: .8125rem; color: var(--th-footer-text-muted, rgba(255,255,255,.40)); margin-top: .5rem; }

.site-footer-divider {
  border: none;
  border-top: 1px solid var(--th-footer-border, rgba(255,255,255,.07));
  margin: 2.5rem 0 1.5rem;
}
.site-footer-copy {
  font-size: .8125rem;
  color: var(--th-footer-text-muted, rgba(255,255,255,.40));
}
.site-footer-copy-link {
  color: var(--th-footer-text, rgba(255,255,255,.68));
  transition: color 150ms ease;
}
.site-footer-copy-link:hover { color: #fff; }

/* Payment method badges in footer bottom bar */
.site-footer-payment-badge {
  display: inline-flex;
  align-items: center;
  opacity: .65;
  transition: opacity 150ms ease;
}
.site-footer-payment-badge:hover { opacity: 1; }

/* Footer heading accent underline via rs-main */
.site-footer-heading::after {
  content: '';
  display: block;
  width: 24px;
  height: 2px;
  background: var(--rs-main, var(--th-primary, #4e73df));
  margin-top: .35rem;
  border-radius: 1px;
}


/* ============================================================
   10. UTILITIES & ANIMATIONS
   ============================================================ */
@keyframes fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Scroll-triggered reveal */
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s var(--ease-out), transform .7s var(--ease-out);
}
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }

/* Spacer for fixed navbar */
.site-nav-spacer { height: 80px; }
.site-main { padding-top: 80px; }
.site-main:has(.dc-hero, .site-hero) { padding-top: 0; }

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

/* Scrollbar styling */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(var(--rs-main-rgb),.25); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(var(--rs-main-rgb),.45); }


/* ============================================================
   11. THEME VARIANTS
   Vaste thema's overschrijven --th-* variabelen volledig.
   `standaard` erft alles via :root aliassen op --rs-*.
   ============================================================ */

/* ── REMOVED: apple, outlook, plesk, klassiek, starter themes ──
   These were legacy frontend themes, replaced by professional + glassmorphism.
   Dashboard themes (apple/outlook/plesk) remain in dashboard/css/.
   ────────────────────────────────────────────────────────────── */

/* PLACEHOLDER — old theme CSS removed 2026-04-07 */


/* ── Professional — Polished corporate, Poppins ──────────────
   Clean surfaces, structured layouts, trustworthy identity.
   Works with any reseller brand palette.
   ──────────────────────────────────────────────────────────── */
[data-site-theme="professional"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       var(--rs-color1);

  /* Solid light navbar — corporate, no glass */
  --th-nav-bg:       rgba(255,255,255,0.97);
  --th-nav-bg-solid: #ffffff;
  --th-nav-border:   rgba(0,0,0,0.06);
  --th-nav-text:     #374151;
  --th-nav-active:   var(--rs-main);
  --th-nav-radius:   14px;

  --th-hero-bg:      #fafbfc;

  --th-font-body:    'Poppins', 'Open Sans', system-ui, sans-serif;
  --th-font-heading: 'Poppins', 'Open Sans', system-ui, sans-serif;

  /* Clean white surfaces, no glass */
  --th-glass-bg:     #ffffff;
  --th-glass-border: #e5e7eb;
  --th-surface-2:    #f9fafb;
  --th-text-1:       #111827;
  --th-text-2:       #4b5563;
  --th-text-3:       #9ca3af;

  --th-footer-bg:         #111827;
  --th-footer-text:       rgba(255,255,255,.70);
  --th-footer-text-muted: rgba(255,255,255,.38);
  --th-footer-border:     rgba(255,255,255,.07);

  --radius-sm:  6px;
  --radius:     12px;
  --radius-lg:  16px;
  --radius-xl:  20px;
}
/* Cards: no glass, clean shadow, structured */
[data-site-theme="professional"] .glass-card,
[data-site-theme="professional"] .service-card,
[data-site-theme="professional"] .pricing-card,
[data-site-theme="professional"] .testimonial-card {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  border-radius: var(--radius);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
[data-site-theme="professional"] .service-card:hover,
[data-site-theme="professional"] .pricing-card:hover {
  box-shadow: 0 10px 25px rgba(0,0,0,0.08), 0 4px 10px rgba(0,0,0,0.04);
  transform: translateY(-3px);
}
/* Pricing highlight */
[data-site-theme="professional"] .pricing-card.popular {
  border: 2px solid var(--rs-main);
  box-shadow: 0 10px 30px rgba(var(--rs-main-rgb), 0.12);
}
/* Hero: clean gradient, no orbs */
[data-site-theme="professional"] .site-hero::before,
[data-site-theme="professional"] .site-hero::after { display: none; }
[data-site-theme="professional"] .site-hero .orb { display: none; }
[data-site-theme="professional"] .site-hero {
  background: linear-gradient(165deg, #fafbfc 0%, rgba(var(--rs-main-rgb), 0.04) 50%, #fafbfc 100%);
  min-height: auto;
  padding: 140px 0 70px;
}
/* Nav: clean bottom border */
[data-site-theme="professional"] .site-nav {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  border: none;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  border-radius: 0;
}
/* Professional: light mode defaults */
[data-site-theme="professional"] body.site-body { background: #fafbfc; color: #111827; }
[data-site-theme="professional"] .site-nav { background: rgba(255,255,255,0.97); }
[data-site-theme="professional"] .site-nav .nav-link { color: #374151; }
[data-site-theme="professional"] .site-nav .nav-link:hover { color: var(--rs-main); }
[data-site-theme="professional"] .site-footer { color: rgba(255,255,255,.7); }
[data-site-theme="professional"] .site-hero {
  background: linear-gradient(135deg, #fafbfc 0%, rgba(var(--rs-main-rgb),0.05) 50%, #f3f4f6 100%);
}
[data-site-theme="professional"] .glass-card,
[data-site-theme="professional"] .service-card,
[data-site-theme="professional"] .pricing-card,
[data-site-theme="professional"] .testimonial-card {
  background: #ffffff; color: #111827;
  border: 1px solid #e5e7eb;
  backdrop-filter: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
[data-site-theme="professional"] .site-section { color: #111827; }
[data-site-theme="professional"] .section-title,
[data-site-theme="professional"] h1, [data-site-theme="professional"] h2,
[data-site-theme="professional"] h3 { color: #111827; }
[data-site-theme="professional"] .section-sub,
[data-site-theme="professional"] p { color: #4b5563; }
[data-site-theme="professional"] .site-header {
  position: fixed;
  top: 0;
  padding: 0;
}
[data-site-theme="professional"] .site-nav.scrolled {
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
/* Domain check: accent left border */
[data-site-theme="professional"] .domain-check-widget {
  backdrop-filter: none;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-left: 4px solid var(--rs-main);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  border-radius: var(--radius);
}
/* TLD rows */
[data-site-theme="professional"] .tld-list-row {
  border-radius: 0;
  border-bottom: 1px solid #f3f4f6;
}
[data-site-theme="professional"] .tld-list-row:hover {
  background: rgba(var(--rs-main-rgb), 0.03);
}
/* Section title underline */
[data-site-theme="professional"] .section-title::after {
  content: '';
  display: block;
  width: 40px; height: 3px;
  margin: 12px auto 0;
  background: var(--rs-main);
  border-radius: 2px;
}
/* Buttons: slightly less rounded, corporate feel */
[data-site-theme="professional"] .site-btn-register {
  border-radius: 8px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
/* Footer: structured, clean dividers */
[data-site-theme="professional"] .site-footer {
  border-top: none;
}

/* Professional dark mode */
[data-site-theme="professional"][data-site-mode="dark"] {
  --th-glass-bg:     #1f2937;
  --th-glass-border: rgba(255,255,255,0.08);
  --th-surface-2:    #111827;
  --th-text-1:       #f3f4f6;
  --th-text-2:       #9ca3af;
  --th-text-3:       #6b7280;
  --th-hero-bg:      #0f1420;
  --th-nav-bg:       rgba(17,24,39,0.97);
  --th-nav-bg-solid: #111827;
  --th-nav-border:   rgba(255,255,255,0.06);
  --th-nav-text:     rgba(255,255,255,0.80);
  --th-nav-active:   #fff;
  --glass-bg:        #1f2937;
  --border-color:    rgba(255,255,255,0.08);
}
[data-site-theme="professional"][data-site-mode="dark"] body.site-body {
  background: #111827; color: #f3f4f6;
}
[data-site-theme="professional"][data-site-mode="dark"] .site-nav {
  background: rgba(17,24,39,0.97);
}
[data-site-theme="professional"][data-site-mode="dark"] .site-nav .nav-link {
  color: rgba(255,255,255,0.80);
}
[data-site-theme="professional"][data-site-mode="dark"] .site-hero {
  background: linear-gradient(165deg, #111827 0%, rgba(var(--rs-main-rgb), 0.08) 50%, #111827 100%);
}
[data-site-theme="professional"][data-site-mode="dark"] .glass-card,
[data-site-theme="professional"][data-site-mode="dark"] .service-card,
[data-site-theme="professional"][data-site-mode="dark"] .pricing-card,
[data-site-theme="professional"][data-site-mode="dark"] .testimonial-card {
  background: #1f2937;
  color: #f3f4f6;
  border-color: rgba(255,255,255,0.08);
  box-shadow: 0 1px 3px rgba(0,0,0,0.20);
}
[data-site-theme="professional"][data-site-mode="dark"] .site-section { color: #f3f4f6; }
[data-site-theme="professional"][data-site-mode="dark"] .section-title,
[data-site-theme="professional"][data-site-mode="dark"] h1,
[data-site-theme="professional"][data-site-mode="dark"] h2,
[data-site-theme="professional"][data-site-mode="dark"] h3 { color: #f3f4f6; }
[data-site-theme="professional"][data-site-mode="dark"] .section-sub,
[data-site-theme="professional"][data-site-mode="dark"] p { color: #9ca3af; }
[data-site-theme="professional"][data-site-mode="dark"] .domain-check-widget {
  background: #1f2937;
  border-color: rgba(255,255,255,0.08);
  border-left-color: var(--rs-main);
}
[data-site-theme="professional"][data-site-mode="dark"] .tld-list-row {
  border-bottom-color: rgba(255,255,255,0.05);
  color: #f3f4f6;
}
[data-site-theme="professional"][data-site-mode="dark"] .tld-list-row:hover {
  background: rgba(var(--rs-main-rgb), 0.06);
}
[data-site-theme="professional"][data-site-mode="dark"] .site-footer {
  background: #0f1420 !important;
}


/* ── Glassmorphism — Frosted glass with translucent layers ────
   Light mode: white frosted glass on light backgrounds.
   Dark mode: deep dark SaaS aesthetic (Linear/Vercel/Stripe).
   Plus Jakarta Sans font. Frosted glass cards with reseller-color glow.
   ──────────────────────────────────────────────────────────── */
[data-site-theme="glassmorphism"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       var(--rs-color1);

  --th-nav-radius:   var(--radius-xl);

  --th-font-body:    'Plus Jakarta Sans', 'Open Sans', system-ui, sans-serif;
  --th-font-heading: 'Plus Jakarta Sans', 'Open Sans', system-ui, sans-serif;

  --radius-sm:  12px;
  --radius:     18px;
  --radius-lg:  26px;
  --radius-xl:  34px;

  /* Light mode (default) — white frosted glass */
  --th-nav-bg:       rgba(255,255,255,0.65);
  --th-nav-bg-solid: rgba(255,255,255,0.92);
  --th-nav-border:   rgba(0,0,0,0.06);
  --th-nav-text:     #374151;
  --th-nav-active:   var(--rs-main);

  --th-hero-bg:      #f0f2f8;

  --th-glass-bg:     rgba(255,255,255,0.55);
  --th-glass-border: rgba(var(--rs-main-rgb), 0.18);
  --th-surface-2:    #f4f5fa;
  --th-text-1:       #111827;
  --th-text-2:       #6b7280;
  --th-text-3:       #9ca3af;

  /* Glass-effect legacy vars — light */
  --glass-bg:        rgba(255,255,255,0.55);
  --glass-border:    rgba(var(--rs-main-rgb), 0.18);
  --surface-2:       #f4f5fa;
  --text-1:          #111827;
  --text-2:          #6b7280;
  --text-3:          #9ca3af;
  --border:          rgba(0,0,0,0.08);
  --border-color:    rgba(0,0,0,0.08);

  --th-footer-bg:         #111827;
  --th-footer-text:       rgba(255,255,255,.70);
  --th-footer-text-muted: rgba(255,255,255,.30);
  --th-footer-border:     rgba(255,255,255,.06);
}
/* Dark mode variables */
[data-site-theme="glassmorphism"][data-site-mode="dark"] {
  --th-nav-bg:       rgba(8,11,20,0.70);
  --th-nav-bg-solid: rgba(8,11,20,0.95);
  --th-nav-border:   rgba(255,255,255,0.06);
  --th-nav-text:     rgba(255,255,255,0.75);
  --th-nav-active:   #ffffff;

  --th-hero-bg:      #080b14;

  --th-glass-bg:     rgba(255,255,255,0.03);
  --th-glass-border: rgba(var(--rs-main-rgb), 0.15);
  --th-surface-2:    #060911;
  --th-text-1:       #edf0f7;
  --th-text-2:       #8a95a8;
  --th-text-3:       #4a5568;

  --glass-bg:        rgba(255,255,255,0.03);
  --glass-border:    rgba(var(--rs-main-rgb), 0.15);
  --surface-2:       #060911;
  --text-1:          #edf0f7;
  --text-2:          #8a95a8;
  --text-3:          #4a5568;
  --border:          rgba(255,255,255,0.06);
  --border-color:    rgba(255,255,255,0.06);

  --th-footer-bg:         #040610;
  --th-footer-text:       rgba(255,255,255,.60);
  --th-footer-text-muted: rgba(255,255,255,.25);
  --th-footer-border:     rgba(255,255,255,.04);
}
/* Body: light mode */
[data-site-theme="glassmorphism"] body.site-body {
  background: #f0f2f8;
  color: #111827;
}
/* Dark mode body */
[data-site-theme="glassmorphism"][data-site-mode="dark"] body.site-body {
  background: #080b14;
  color: #edf0f7;
}
/* Header: flush to top, full-width */
[data-site-theme="glassmorphism"] .site-header {
  position: fixed;
  top: 0;
  padding: 0;
}
[data-site-theme="glassmorphism"] .site-nav-spacer { height: 70px; }
/* Nav: full glass with strong blur */
[data-site-theme="glassmorphism"] .site-nav {
  border-radius: 0;
  backdrop-filter: blur(24px) saturate(1.6);
  -webkit-backdrop-filter: blur(24px) saturate(1.6);
  border: none;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
[data-site-theme="glassmorphism"] .site-nav.scrolled {
  background: var(--th-nav-bg-solid);
  border-bottom-color: rgba(var(--rs-main-rgb), 0.10);
  box-shadow: 0 1px 20px rgba(0,0,0,0.10);
}
/* Dark mode nav overrides */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-nav {
  border-bottom-color: rgba(255,255,255,0.04);
}
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-nav.scrolled {
  box-shadow: 0 1px 30px rgba(0,0,0,0.50);
}
/* Logo: only invert in dark mode */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-logo {
  filter: brightness(0) invert(1);
}
/* Cards: frosted glass — light mode */
[data-site-theme="glassmorphism"] .glass-card,
[data-site-theme="glassmorphism"] .service-card,
[data-site-theme="glassmorphism"] .pricing-card,
[data-site-theme="glassmorphism"] .testimonial-card {
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(20px) saturate(1.3);
  -webkit-backdrop-filter: blur(20px) saturate(1.3);
  border: 1px solid rgba(var(--rs-main-rgb), 0.18);
  box-shadow: 0 4px 24px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.60);
  border-radius: var(--radius);
  color: #111827;
  transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
[data-site-theme="glassmorphism"] .service-card:hover,
[data-site-theme="glassmorphism"] .pricing-card:hover {
  border-color: rgba(var(--rs-main-rgb), 0.35);
  box-shadow: 0 12px 36px rgba(0,0,0,0.10), 0 0 20px rgba(var(--rs-main-rgb), 0.08);
  transform: translateY(-4px);
}
[data-site-theme="glassmorphism"] .pricing-card.popular {
  border: 1px solid rgba(var(--rs-main-rgb), 0.45);
  box-shadow: 0 8px 30px rgba(0,0,0,0.08), 0 0 30px rgba(var(--rs-main-rgb), 0.12);
}
/* Dark mode cards */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .glass-card,
[data-site-theme="glassmorphism"][data-site-mode="dark"] .service-card,
[data-site-theme="glassmorphism"][data-site-mode="dark"] .pricing-card,
[data-site-theme="glassmorphism"][data-site-mode="dark"] .testimonial-card {
  background: rgba(255,255,255,0.03);
  border-color: rgba(var(--rs-main-rgb), 0.15);
  box-shadow: 0 8px 40px rgba(0,0,0,0.50), inset 0 1px 0 rgba(255,255,255,0.04);
  color: #edf0f7;
}
[data-site-theme="glassmorphism"][data-site-mode="dark"] .service-card:hover,
[data-site-theme="glassmorphism"][data-site-mode="dark"] .pricing-card:hover {
  border-color: rgba(var(--rs-main-rgb), 0.40);
  box-shadow: 0 16px 50px rgba(0,0,0,0.55), 0 0 30px rgba(var(--rs-main-rgb), 0.12);
}
[data-site-theme="glassmorphism"][data-site-mode="dark"] .pricing-card.popular {
  border-color: rgba(var(--rs-main-rgb), 0.50);
  box-shadow: 0 8px 40px rgba(0,0,0,0.50), 0 0 40px rgba(var(--rs-main-rgb), 0.18);
}
/* Hero: light mode — soft gradient */
[data-site-theme="glassmorphism"] .site-hero {
  background: linear-gradient(145deg, #e8ecf5 0%, rgba(var(--rs-main-rgb),0.08) 35%, #f0f2f8 60%, rgba(var(--rs-color1-rgb),0.06) 85%, #eceef5 100%);
}
/* Hero: dark mode — deep dark */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-hero {
  background: linear-gradient(145deg, #050810 0%, rgba(var(--rs-main-rgb),0.06) 35%, #080b14 60%, rgba(var(--rs-color1-rgb),0.04) 85%, #060911 100%);
}
/* Domain check widget: light mode */
[data-site-theme="glassmorphism"] .domain-check-widget {
  background: rgba(255,255,255,0.55);
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  border: 1px solid rgba(var(--rs-main-rgb), 0.18);
  border-top: 1px solid rgba(var(--rs-main-rgb), 0.35);
  box-shadow: 0 4px 24px rgba(0,0,0,0.08), 0 -1px 0 rgba(var(--rs-main-rgb), 0.15);
  border-radius: var(--radius);
}
/* Domain check widget: dark mode */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .domain-check-widget {
  background: rgba(255,255,255,0.03);
  border-color: rgba(var(--rs-main-rgb), 0.15);
  border-top-color: rgba(var(--rs-main-rgb), 0.35);
  box-shadow: 0 8px 40px rgba(0,0,0,0.45), 0 -1px 0 rgba(var(--rs-main-rgb), 0.25);
}
/* TLD rows: light mode */
[data-site-theme="glassmorphism"] .tld-list-row {
  border-bottom: 1px solid rgba(0,0,0,0.06);
  color: #111827;
}
[data-site-theme="glassmorphism"] .tld-list-row:hover {
  background: rgba(var(--rs-main-rgb), 0.04);
}
/* TLD rows: dark mode */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .tld-list-row {
  border-bottom-color: rgba(255,255,255,0.04);
  color: #edf0f7;
}
[data-site-theme="glassmorphism"][data-site-mode="dark"] .tld-list-row:hover {
  background: rgba(var(--rs-main-rgb), 0.05);
}
/* Section titles */
[data-site-theme="glassmorphism"] .section-title {
  color: #111827;
}
[data-site-theme="glassmorphism"][data-site-mode="dark"] .section-title {
  color: #f5f7fa;
}
[data-site-theme="glassmorphism"] .section-title::after {
  content: '';
  display: block;
  width: 60px; height: 2px;
  margin: 12px auto 0;
  background: linear-gradient(90deg, transparent, var(--rs-main), transparent);
  border-radius: 1px;
}
/* Buttons */
[data-site-theme="glassmorphism"] .site-btn-register {
  background: var(--rs-main) !important;
  border: 1px solid rgba(var(--rs-main-rgb), 0.60) !important;
  border-radius: var(--radius-sm);
  color: #fff !important;
  font-weight: 600;
  box-shadow: 0 0 20px rgba(var(--rs-main-rgb), 0.20);
}
[data-site-theme="glassmorphism"] .site-btn-register:hover {
  background: var(--rs-main) !important;
  filter: brightness(1.15);
  box-shadow: 0 0 30px rgba(var(--rs-main-rgb), 0.35);
}
/* Footer */
[data-site-theme="glassmorphism"] .site-footer {
  border-top: 1px solid rgba(var(--rs-main-rgb), 0.08);
  background: #111827 !important;
}
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-footer {
  background: #040610 !important;
}
/* CTA section */
[data-site-theme="glassmorphism"] .site-cta {
  background: rgba(255,255,255,0.40);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(var(--rs-main-rgb), 0.12);
}
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-cta {
  background: rgba(255,255,255,0.02);
  border-color: rgba(var(--rs-main-rgb), 0.10);
}
/* Inputs: light mode */
[data-site-theme="glassmorphism"] input,
[data-site-theme="glassmorphism"] select,
[data-site-theme="glassmorphism"] textarea {
  background: rgba(255,255,255,0.70);
  color: #111827;
  border-color: rgba(0,0,0,0.10);
}
[data-site-theme="glassmorphism"] input:focus,
[data-site-theme="glassmorphism"] select:focus,
[data-site-theme="glassmorphism"] textarea:focus {
  border-color: rgba(var(--rs-main-rgb), 0.50);
  box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb), 0.12);
}
/* Inputs: dark mode */
[data-site-theme="glassmorphism"][data-site-mode="dark"] input,
[data-site-theme="glassmorphism"][data-site-mode="dark"] select,
[data-site-theme="glassmorphism"][data-site-mode="dark"] textarea {
  background: rgba(255,255,255,0.04);
  color: #edf0f7;
  border-color: rgba(255,255,255,0.08);
}
/* Nav links: dark mode */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-nav .nav-link {
  color: rgba(255,255,255,0.75) !important;
}
/* Site section text: dark mode */
[data-site-theme="glassmorphism"][data-site-mode="dark"] .site-section { color: #edf0f7; }
[data-site-theme="glassmorphism"][data-site-mode="dark"] h1,
[data-site-theme="glassmorphism"][data-site-mode="dark"] h2,
[data-site-theme="glassmorphism"][data-site-mode="dark"] h3 { color: #edf0f7; }
[data-site-theme="glassmorphism"][data-site-mode="dark"] p { color: #8a95a8; }


/* ── Clean — Light, airy, ample whitespace, limited color palette ──
   Fonts: Roboto + Poppins (system fallback). LIGHT theme.
   Google Fonts: Roboto:wght@300;400;500;600 & Poppins:wght@600;700
   ────────────────────────────────────────────────────────────────── */
[data-site-theme="clean"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       var(--rs-color1);
  --th-nav-bg:       rgba(255,255,255,0.98);
  --th-nav-bg-solid: #ffffff;
  --th-nav-border:   rgba(0,0,0,0.04);
  --th-nav-text:     #4b5563;
  --th-nav-active:   var(--rs-main);
  --th-nav-radius:   0;
  --th-hero-bg:      #ffffff;
  --th-font-body:    'Roboto', system-ui, -apple-system, sans-serif;
  --th-font-heading: 'Poppins', 'Roboto', system-ui, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: #f0f0f0;
  --th-surface-2:    #fafafa;
  --th-text-1:       #111827;
  --th-text-2:       #6b7280;
  --th-text-3:       #b0b7c3;
  --th-footer-bg:         #f7f7f8;
  --th-footer-text:       #4b5563;
  --th-footer-text-muted: #9ca3af;
  --th-footer-border:     #e5e7eb;
  --radius-sm:  4px;
  --radius:     8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
}
[data-site-theme="clean"] body.site-body { background: #ffffff !important; color: #111827 !important; }
[data-site-theme="clean"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border: none; border-bottom: 1px solid rgba(0,0,0,0.04); border-radius: 0;
  box-shadow: none;
}
[data-site-theme="clean"] .site-nav .nav-link { color: #4b5563 !important; }
[data-site-theme="clean"] .site-nav .nav-link:hover { color: var(--rs-main) !important; }
[data-site-theme="clean"] .site-nav.scrolled { box-shadow: 0 1px 4px rgba(0,0,0,0.04); }
[data-site-theme="clean"] .site-hero::before,
[data-site-theme="clean"] .site-hero::after { display: none; }
[data-site-theme="clean"] .site-hero .orb { display: none; }
[data-site-theme="clean"] .site-hero {
  background: #ffffff; min-height: auto; padding: 140px 0 70px;
}
[data-site-theme="clean"] .glass-card,
[data-site-theme="clean"] .service-card,
[data-site-theme="clean"] .pricing-card,
[data-site-theme="clean"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #111827 !important;
  border: 1px solid #f0f0f0 !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important;
  border-radius: var(--radius);
}
[data-site-theme="clean"] .service-card:hover,
[data-site-theme="clean"] .pricing-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.05); transform: translateY(-2px);
}
[data-site-theme="clean"] .pricing-card.popular { border: 2px solid var(--rs-main); }
[data-site-theme="clean"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: 1px solid #f0f0f0; box-shadow: none; border-radius: var(--radius);
}
[data-site-theme="clean"] .tld-list-row { border-bottom: 1px solid #f5f5f5; }
[data-site-theme="clean"] .tld-list-row:hover { background: #fafafa; }
[data-site-theme="clean"] .section-title,
[data-site-theme="clean"] h1, [data-site-theme="clean"] h2,
[data-site-theme="clean"] h3 { color: #111827; }
[data-site-theme="clean"] .section-sub,
[data-site-theme="clean"] p { color: #6b7280; }
[data-site-theme="clean"] .section-title::after { display: none; }
[data-site-theme="clean"] .site-btn-register {
  border-radius: var(--radius-sm); font-weight: 500; letter-spacing: 0;
}
[data-site-theme="clean"] .site-footer {
  background: #f7f7f8 !important; color: #4b5563; border-top: 1px solid #e5e7eb;
}
[data-site-theme="clean"] .site-header { position: fixed; top: 0; padding: 0; }
[data-site-theme="clean"] .site-section { color: #111827; }


/* ── Corporate — Professional, structured, blue-gray tones ─────
   Fonts: Open Sans + Poppins (system fallback). LIGHT theme.
   Google Fonts: Open+Sans:wght@400;500;600;700 & Poppins:wght@600;700;800
   ────────────────────────────────────────────────────────────── */
[data-site-theme="corporate"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       var(--rs-color1);
  --th-nav-bg:       #1e293b;
  --th-nav-bg-solid: #1e293b;
  --th-nav-border:   rgba(255,255,255,0.06);
  --th-nav-text:     rgba(255,255,255,0.85);
  --th-nav-active:   #ffffff;
  --th-nav-radius:   0;
  --th-hero-bg:      #f1f5f9;
  --th-font-body:    'Open Sans', 'Segoe UI', system-ui, sans-serif;
  --th-font-heading: 'Poppins', 'Open Sans', system-ui, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: #e2e8f0;
  --th-surface-2:    #f8fafc;
  --th-text-1:       #0f172a;
  --th-text-2:       #475569;
  --th-text-3:       #94a3b8;
  --th-footer-bg:         #0f172a;
  --th-footer-text:       rgba(255,255,255,.70);
  --th-footer-text-muted: rgba(255,255,255,.35);
  --th-footer-border:     rgba(255,255,255,.06);
  --radius-sm:  6px;
  --radius:     10px;
  --radius-lg:  14px;
  --radius-xl:  18px;
}
[data-site-theme="corporate"] body.site-body { background: #f1f5f9 !important; color: #0f172a !important; }
[data-site-theme="corporate"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #1e293b !important; border: none; border-radius: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
}
[data-site-theme="corporate"] .site-nav .nav-link { color: rgba(255,255,255,0.85) !important; }
[data-site-theme="corporate"] .site-nav .nav-link:hover { color: #ffffff !important; }
[data-site-theme="corporate"] .site-nav.scrolled { box-shadow: 0 4px 12px rgba(0,0,0,0.18); }
[data-site-theme="corporate"] .site-logo { filter: brightness(0) invert(1); }
[data-site-theme="corporate"] .site-hero::before,
[data-site-theme="corporate"] .site-hero::after { display: none; }
[data-site-theme="corporate"] .site-hero .orb { display: none; }
[data-site-theme="corporate"] .site-hero {
  background: linear-gradient(175deg, #f1f5f9 0%, rgba(var(--rs-main-rgb),0.06) 50%, #e2e8f0 100%);
  min-height: auto; padding: 140px 0 70px;
}
[data-site-theme="corporate"] .glass-card,
[data-site-theme="corporate"] .service-card,
[data-site-theme="corporate"] .pricing-card,
[data-site-theme="corporate"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04) !important;
  border-radius: var(--radius);
}
[data-site-theme="corporate"] .service-card:hover,
[data-site-theme="corporate"] .pricing-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08); transform: translateY(-3px);
}
[data-site-theme="corporate"] .pricing-card.popular {
  border: 2px solid var(--rs-main);
  box-shadow: 0 8px 24px rgba(var(--rs-main-rgb), 0.10);
}
[data-site-theme="corporate"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: 1px solid #e2e8f0; border-top: 3px solid var(--rs-main);
  box-shadow: 0 2px 8px rgba(0,0,0,0.06); border-radius: var(--radius);
}
[data-site-theme="corporate"] .tld-list-row { border-bottom: 1px solid #f1f5f9; }
[data-site-theme="corporate"] .tld-list-row:hover { background: rgba(var(--rs-main-rgb), 0.03); }
[data-site-theme="corporate"] .section-title,
[data-site-theme="corporate"] h1, [data-site-theme="corporate"] h2,
[data-site-theme="corporate"] h3 { color: #0f172a; }
[data-site-theme="corporate"] .section-sub,
[data-site-theme="corporate"] p { color: #475569; }
[data-site-theme="corporate"] .section-title::after {
  content: ''; display: block; width: 48px; height: 3px;
  margin: 12px auto 0; background: var(--rs-main); border-radius: 2px;
}
[data-site-theme="corporate"] .site-btn-register {
  border-radius: var(--radius-sm); font-weight: 600; text-transform: uppercase;
  letter-spacing: 0.04em; font-size: 13px;
}
[data-site-theme="corporate"] .site-footer {
  background: #0f172a !important; border-top: none;
}
[data-site-theme="corporate"] .site-header { position: fixed; top: 0; padding: 0; }
[data-site-theme="corporate"] .site-section { color: #0f172a; }


/* ── Modern — Editorial, serif headings, warm tones ────────────
   Fonts: IBM Plex Serif (headings) + IBM Plex Sans (body). LIGHT theme.
   Google Fonts: IBM+Plex+Serif:wght@400;500;600;700 & IBM+Plex+Sans:wght@300;400;500
   ────────────────────────────────────────────────────────────── */
[data-site-theme="modern"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       var(--rs-color1);
  --th-nav-bg:       rgba(253,250,246,0.95);
  --th-nav-bg-solid: #fdfaf6;
  --th-nav-border:   rgba(0,0,0,0.06);
  --th-nav-text:     #3d3929;
  --th-nav-active:   var(--rs-main);
  --th-nav-radius:   0;
  --th-hero-bg:      #fdfaf6;
  --th-font-body:    'IBM Plex Sans', 'Georgia', system-ui, sans-serif;
  --th-font-heading: 'IBM Plex Serif', 'Georgia', 'Times New Roman', serif;
  --th-glass-bg:     #fffdf9;
  --th-glass-border: #e8e3da;
  --th-surface-2:    #f9f6f1;
  --th-text-1:       #1c1917;
  --th-text-2:       #57534e;
  --th-text-3:       #a8a29e;
  --th-footer-bg:         #1c1917;
  --th-footer-text:       rgba(255,255,255,.68);
  --th-footer-text-muted: rgba(255,255,255,.35);
  --th-footer-border:     rgba(255,255,255,.06);
  --radius-sm:  4px;
  --radius:     8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
}
[data-site-theme="modern"] body.site-body { background: #fdfaf6 !important; color: #1c1917 !important; }
[data-site-theme="modern"] .site-nav {
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: none; border-bottom: 1px solid rgba(0,0,0,0.06); border-radius: 0;
  box-shadow: none;
}
[data-site-theme="modern"] .site-nav .nav-link { color: #3d3929 !important; font-weight: 400; }
[data-site-theme="modern"] .site-nav .nav-link:hover { color: var(--rs-main) !important; }
[data-site-theme="modern"] .site-nav.scrolled { box-shadow: 0 1px 6px rgba(0,0,0,0.05); }
[data-site-theme="modern"] .site-hero::before,
[data-site-theme="modern"] .site-hero::after { display: none; }
[data-site-theme="modern"] .site-hero .orb { display: none; }
[data-site-theme="modern"] .site-hero {
  background: linear-gradient(180deg, #fdfaf6 0%, rgba(var(--rs-main-rgb),0.03) 100%);
  min-height: auto; padding: 150px 0 80px;
}
[data-site-theme="modern"] .glass-card,
[data-site-theme="modern"] .service-card,
[data-site-theme="modern"] .pricing-card,
[data-site-theme="modern"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #fffdf9 !important; color: #1c1917 !important;
  border: 1px solid #e8e3da !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  border-radius: var(--radius);
}
[data-site-theme="modern"] .service-card:hover,
[data-site-theme="modern"] .pricing-card:hover {
  box-shadow: 0 6px 20px rgba(0,0,0,0.06); transform: translateY(-2px);
}
[data-site-theme="modern"] .pricing-card.popular {
  border: 2px solid var(--rs-main);
}
[data-site-theme="modern"] .domain-check-widget {
  backdrop-filter: none; background: #fffdf9;
  border: 1px solid #e8e3da; box-shadow: 0 1px 4px rgba(0,0,0,0.04);
  border-radius: var(--radius);
}
[data-site-theme="modern"] .tld-list-row { border-bottom: 1px solid #f0ece4; }
[data-site-theme="modern"] .tld-list-row:hover { background: #f9f6f1; }
[data-site-theme="modern"] .section-title,
[data-site-theme="modern"] h1, [data-site-theme="modern"] h2,
[data-site-theme="modern"] h3 { color: #1c1917; font-family: var(--th-font-heading); }
[data-site-theme="modern"] .section-sub,
[data-site-theme="modern"] p { color: #57534e; }
[data-site-theme="modern"] .section-title::after {
  content: ''; display: block; width: 32px; height: 2px;
  margin: 14px auto 0; background: var(--rs-main); border-radius: 1px;
}
[data-site-theme="modern"] .site-btn-register {
  border-radius: var(--radius-sm); font-weight: 500; letter-spacing: 0.01em;
}
[data-site-theme="modern"] .site-footer {
  background: #1c1917 !important; border-top: none;
}
[data-site-theme="modern"] .site-header { position: fixed; top: 0; padding: 0; }
[data-site-theme="modern"] .site-section { color: #1c1917; }


/* ── Minimal — Stripped back, maximum whitespace, thin borders ──
   Fonts: Inter (display) + Open Sans (body) + Inconsolata (mono). LIGHT theme.
   Google Fonts: Inter:wght@300;400;500;600 & Open+Sans:wght@400;500
   ────────────────────────────────────────────────────────────── */
[data-site-theme="minimal"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       var(--rs-color1);
  --th-nav-bg:       rgba(255,255,255,0.96);
  --th-nav-bg-solid: #ffffff;
  --th-nav-border:   rgba(0,0,0,0.06);
  --th-nav-text:     #52525b;
  --th-nav-active:   #18181b;
  --th-nav-radius:   0;
  --th-hero-bg:      #fafafa;
  --th-font-body:    'Open Sans', 'Inter', system-ui, sans-serif;
  --th-font-heading: 'Inter', system-ui, -apple-system, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: #e4e4e7;
  --th-surface-2:    #fafafa;
  --th-text-1:       #18181b;
  --th-text-2:       #71717a;
  --th-text-3:       #a1a1aa;
  --th-footer-bg:         #fafafa;
  --th-footer-text:       #52525b;
  --th-footer-text-muted: #a1a1aa;
  --th-footer-border:     #e4e4e7;
  --radius-sm:  2px;
  --radius:     4px;
  --radius-lg:  6px;
  --radius-xl:  8px;
}
[data-site-theme="minimal"] body.site-body { background: #fafafa !important; color: #18181b !important; }
[data-site-theme="minimal"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  border: none; border-bottom: 1px solid #e4e4e7; border-radius: 0;
  box-shadow: none;
}
[data-site-theme="minimal"] .site-nav .nav-link { color: #52525b !important; font-size: 13px; font-weight: 400; }
[data-site-theme="minimal"] .site-nav .nav-link:hover { color: #18181b !important; }
[data-site-theme="minimal"] .site-nav.scrolled { box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
[data-site-theme="minimal"] .site-hero::before,
[data-site-theme="minimal"] .site-hero::after { display: none; }
[data-site-theme="minimal"] .site-hero .orb { display: none; }
[data-site-theme="minimal"] .site-hero {
  background: #fafafa; min-height: auto; padding: 140px 0 60px;
}
[data-site-theme="minimal"] .glass-card,
[data-site-theme="minimal"] .service-card,
[data-site-theme="minimal"] .pricing-card,
[data-site-theme="minimal"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #18181b !important;
  border: 1px solid #e4e4e7 !important;
  box-shadow: none !important;
  border-radius: var(--radius);
}
[data-site-theme="minimal"] .service-card:hover,
[data-site-theme="minimal"] .pricing-card:hover {
  box-shadow: 0 2px 8px rgba(0,0,0,0.04); transform: translateY(-1px);
}
[data-site-theme="minimal"] .pricing-card.popular {
  border: 1px solid var(--rs-main);
}
[data-site-theme="minimal"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: 1px solid #e4e4e7; box-shadow: none; border-radius: var(--radius);
}
[data-site-theme="minimal"] .tld-list-row { border-bottom: 1px solid #f4f4f5; }
[data-site-theme="minimal"] .tld-list-row:hover { background: #f4f4f5; }
[data-site-theme="minimal"] .section-title,
[data-site-theme="minimal"] h1, [data-site-theme="minimal"] h2,
[data-site-theme="minimal"] h3 { color: #18181b; font-weight: 600; }
[data-site-theme="minimal"] .section-sub,
[data-site-theme="minimal"] p { color: #71717a; font-size: 14px; }
[data-site-theme="minimal"] .section-title::after { display: none; }
[data-site-theme="minimal"] .site-btn-register {
  border-radius: var(--radius-sm); font-weight: 500; font-size: 13px;
}
[data-site-theme="minimal"] .site-footer {
  background: #fafafa !important; color: #52525b; border-top: 1px solid #e4e4e7;
}
[data-site-theme="minimal"] .site-header { position: fixed; top: 0; padding: 0; }
[data-site-theme="minimal"] .site-section { color: #18181b; }


/* ── Elegant — Refined, dark palette, gold accents, serif headings ──
   Fonts: Google Sans (body) + Playfair Display (headings). DARK theme.
   Google Fonts: Playfair+Display:wght@400;500;600;700 & Poppins:wght@300;400;500
   Always dark regardless of mode toggle.
   ────────────────────────────────────────────────────────────── */
[data-site-theme="elegant"],
[data-site-theme="elegant"][data-site-mode="light"],
[data-site-theme="elegant"][data-site-mode="dark"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       #c9a84c;
  --th-nav-bg:       rgba(15,15,25,0.85);
  --th-nav-bg-solid: #0f0f19;
  --th-nav-border:   rgba(201,168,76,0.10);
  --th-nav-text:     rgba(255,255,255,0.72);
  --th-nav-active:   #c9a84c;
  --th-nav-radius:   0;
  --th-hero-bg:      #0f0f19;
  --th-font-body:    'Poppins', system-ui, -apple-system, sans-serif;
  --th-font-heading: 'Playfair Display', 'Georgia', 'Times New Roman', serif;
  --th-glass-bg:     rgba(255,255,255,0.03);
  --th-glass-border: rgba(201,168,76,0.12);
  --th-surface-2:    #0a0a14;
  --th-text-1:       #eee8d5;
  --th-text-2:       #8a8578;
  --th-text-3:       #5a5548;
  --glass-bg:        rgba(255,255,255,0.03);
  --glass-border:    rgba(201,168,76,0.12);
  --surface-2:       #0a0a14;
  --text-1:          #eee8d5;
  --text-2:          #8a8578;
  --text-3:          #5a5548;
  --border:          rgba(201,168,76,0.08);
  --th-footer-bg:         #080812;
  --th-footer-text:       rgba(255,255,255,.55);
  --th-footer-text-muted: rgba(255,255,255,.25);
  --th-footer-border:     rgba(201,168,76,.06);
  --radius-sm:  4px;
  --radius:     8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
}
[data-site-theme="elegant"] body.site-body,
[data-site-theme="elegant"][data-site-mode="light"] body.site-body {
  background: #0f0f19; color: #eee8d5;
}
[data-site-theme="elegant"] .site-nav {
  backdrop-filter: blur(20px) saturate(1.4); -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border: none; border-bottom: 1px solid rgba(201,168,76,0.08); border-radius: 0;
}
[data-site-theme="elegant"] .site-nav .nav-link { color: rgba(255,255,255,0.72) !important; font-weight: 400; letter-spacing: 0.03em; }
[data-site-theme="elegant"] .site-nav .nav-link:hover { color: #c9a84c !important; }
[data-site-theme="elegant"] .site-nav.scrolled {
  background: rgba(15,15,25,0.95); box-shadow: 0 1px 20px rgba(0,0,0,0.40);
}
[data-site-theme="elegant"] .site-logo,
[data-site-theme="elegant"][data-site-mode="light"] .site-logo { filter: brightness(0) invert(1); }
[data-site-theme="elegant"] .site-hero::before,
[data-site-theme="elegant"] .site-hero::after { display: none; }
[data-site-theme="elegant"] .site-hero .orb { display: none; }
[data-site-theme="elegant"] .site-hero {
  background: linear-gradient(170deg, #0f0f19 0%, rgba(201,168,76,0.04) 40%, #0f0f19 70%, rgba(var(--rs-main-rgb),0.03) 100%);
  min-height: auto; padding: 150px 0 80px;
}
[data-site-theme="elegant"] .glass-card,
[data-site-theme="elegant"] .service-card,
[data-site-theme="elegant"] .pricing-card,
[data-site-theme="elegant"] .testimonial-card {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(201,168,76,0.12);
  box-shadow: 0 4px 24px rgba(0,0,0,0.35);
  border-radius: var(--radius); color: #eee8d5;
}
[data-site-theme="elegant"] .service-card:hover,
[data-site-theme="elegant"] .pricing-card:hover {
  border-color: rgba(201,168,76,0.30);
  box-shadow: 0 8px 32px rgba(0,0,0,0.40), 0 0 20px rgba(201,168,76,0.06);
  transform: translateY(-3px);
}
[data-site-theme="elegant"] .pricing-card.popular {
  border: 1px solid rgba(201,168,76,0.40);
  box-shadow: 0 4px 24px rgba(0,0,0,0.35), 0 0 30px rgba(201,168,76,0.08);
}
[data-site-theme="elegant"] .domain-check-widget {
  background: rgba(255,255,255,0.03);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(201,168,76,0.12);
  box-shadow: 0 4px 24px rgba(0,0,0,0.30); border-radius: var(--radius);
}
[data-site-theme="elegant"] .tld-list-row { border-bottom: 1px solid rgba(201,168,76,0.06); color: #eee8d5; }
[data-site-theme="elegant"] .tld-list-row:hover { background: rgba(201,168,76,0.04); }
[data-site-theme="elegant"] .section-title,
[data-site-theme="elegant"] h1, [data-site-theme="elegant"] h2,
[data-site-theme="elegant"] h3 { color: #eee8d5; font-family: var(--th-font-heading); }
[data-site-theme="elegant"] .section-sub,
[data-site-theme="elegant"] p { color: #8a8578; }
[data-site-theme="elegant"] .section-title::after {
  content: ''; display: block; width: 40px; height: 1px;
  margin: 14px auto 0; background: linear-gradient(90deg, transparent, #c9a84c, transparent);
}
[data-site-theme="elegant"] .site-btn-register {
  border-radius: var(--radius-sm); font-weight: 500;
  letter-spacing: 0.04em; text-transform: uppercase; font-size: 13px;
}
[data-site-theme="elegant"] .site-footer {
  background: #080812 !important; border-top: 1px solid rgba(201,168,76,0.06);
}
[data-site-theme="elegant"] .site-header { position: fixed; top: 0; padding: 0; }
[data-site-theme="elegant"] .site-section { color: #eee8d5; }
[data-site-theme="elegant"] input,
[data-site-theme="elegant"] select,
[data-site-theme="elegant"] textarea {
  background: rgba(255,255,255,0.04); color: #eee8d5; border-color: rgba(201,168,76,0.10);
}
[data-site-theme="elegant"] input:focus,
[data-site-theme="elegant"] select:focus,
[data-site-theme="elegant"] textarea:focus {
  border-color: rgba(201,168,76,0.40); box-shadow: 0 0 0 3px rgba(201,168,76,0.08);
}
[data-site-theme="elegant"][data-site-mode="light"] .site-nav .nav-link {
  color: rgba(255,255,255,0.72) !important;
}


/* ── Enterprise — Data-driven, high contrast, dashboard aesthetic ──
   Fonts: Ubuntu (body) + Oswald (headings). DARK theme.
   Google Fonts: Ubuntu:wght@300;400;500;700 & Oswald:wght@400;500;600;700
   Always dark regardless of mode toggle.
   ────────────────────────────────────────────────────────────── */
[data-site-theme="enterprise"],
[data-site-theme="enterprise"][data-site-mode="light"],
[data-site-theme="enterprise"][data-site-mode="dark"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       #ff6b35;
  --th-nav-bg:       #0d1117;
  --th-nav-bg-solid: #0d1117;
  --th-nav-border:   rgba(255,255,255,0.06);
  --th-nav-text:     rgba(255,255,255,0.80);
  --th-nav-active:   #ffffff;
  --th-nav-radius:   0;
  --th-hero-bg:      #161b22;
  --th-font-body:    'Ubuntu', system-ui, -apple-system, sans-serif;
  --th-font-heading: 'Oswald', 'Ubuntu', system-ui, sans-serif;
  --th-glass-bg:     #1c2128;
  --th-glass-border: #30363d;
  --th-surface-2:    #0d1117;
  --th-text-1:       #e6edf3;
  --th-text-2:       #8b949e;
  --th-text-3:       #484f58;
  --glass-bg:        #1c2128;
  --glass-border:    #30363d;
  --surface-2:       #0d1117;
  --text-1:          #e6edf3;
  --text-2:          #8b949e;
  --text-3:          #484f58;
  --border:          #30363d;
  --th-footer-bg:         #010409;
  --th-footer-text:       rgba(255,255,255,.55);
  --th-footer-text-muted: rgba(255,255,255,.25);
  --th-footer-border:     #21262d;
  --radius-sm:  6px;
  --radius:     8px;
  --radius-lg:  12px;
  --radius-xl:  16px;
}
[data-site-theme="enterprise"] body.site-body,
[data-site-theme="enterprise"][data-site-mode="light"] body.site-body {
  background: #0d1117; color: #e6edf3;
}
[data-site-theme="enterprise"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #0d1117 !important; border: none;
  border-bottom: 1px solid #21262d; border-radius: 0;
  box-shadow: none;
}
[data-site-theme="enterprise"] .site-nav .nav-link { color: rgba(255,255,255,0.80) !important; font-weight: 400; }
[data-site-theme="enterprise"] .site-nav .nav-link:hover { color: #ffffff !important; }
[data-site-theme="enterprise"] .site-nav.scrolled {
  box-shadow: 0 1px 0 #21262d, 0 4px 12px rgba(0,0,0,0.40);
}
[data-site-theme="enterprise"] .site-logo,
[data-site-theme="enterprise"][data-site-mode="light"] .site-logo { filter: brightness(0) invert(1); }
[data-site-theme="enterprise"] .site-hero::before,
[data-site-theme="enterprise"] .site-hero::after { display: none; }
[data-site-theme="enterprise"] .site-hero .orb { display: none; }
[data-site-theme="enterprise"] .site-hero {
  background: linear-gradient(180deg, #161b22 0%, rgba(var(--rs-main-rgb),0.05) 50%, #0d1117 100%);
  min-height: auto; padding: 140px 0 70px;
}
[data-site-theme="enterprise"] .glass-card,
[data-site-theme="enterprise"] .service-card,
[data-site-theme="enterprise"] .pricing-card,
[data-site-theme="enterprise"] .testimonial-card {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #161b22; color: #e6edf3;
  border: 1px solid #30363d;
  box-shadow: 0 1px 3px rgba(0,0,0,0.20);
  border-radius: var(--radius);
}
[data-site-theme="enterprise"] .service-card:hover,
[data-site-theme="enterprise"] .pricing-card:hover {
  border-color: #484f58;
  box-shadow: 0 4px 16px rgba(0,0,0,0.35); transform: translateY(-2px);
}
[data-site-theme="enterprise"] .pricing-card.popular {
  border: 2px solid var(--rs-main);
  box-shadow: 0 0 16px rgba(var(--rs-main-rgb), 0.15);
}
[data-site-theme="enterprise"] .domain-check-widget {
  backdrop-filter: none; background: #161b22;
  border: 1px solid #30363d; border-left: 3px solid var(--rs-main);
  box-shadow: 0 1px 3px rgba(0,0,0,0.20); border-radius: var(--radius);
}
[data-site-theme="enterprise"] .tld-list-row { border-bottom: 1px solid #21262d; color: #e6edf3; }
[data-site-theme="enterprise"] .tld-list-row:hover { background: #1c2128; }
[data-site-theme="enterprise"] .section-title,
[data-site-theme="enterprise"] h1, [data-site-theme="enterprise"] h2,
[data-site-theme="enterprise"] h3 { color: #e6edf3; font-family: var(--th-font-heading); text-transform: uppercase; letter-spacing: 0.02em; }
[data-site-theme="enterprise"] .section-sub,
[data-site-theme="enterprise"] p { color: #8b949e; }
[data-site-theme="enterprise"] .section-title::after {
  content: ''; display: block; width: 40px; height: 3px;
  margin: 12px auto 0; background: var(--rs-main); border-radius: 0;
}
[data-site-theme="enterprise"] .site-btn-register {
  border-radius: var(--radius-sm); font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.05em; font-size: 13px;
}
[data-site-theme="enterprise"] .site-footer {
  background: #010409 !important; border-top: 1px solid #21262d;
}
[data-site-theme="enterprise"] .site-header { position: fixed; top: 0; padding: 0; }
[data-site-theme="enterprise"] .site-section { color: #e6edf3; }
[data-site-theme="enterprise"] input,
[data-site-theme="enterprise"] select,
[data-site-theme="enterprise"] textarea {
  background: #0d1117; color: #e6edf3; border-color: #30363d;
}
[data-site-theme="enterprise"] input:focus,
[data-site-theme="enterprise"] select:focus,
[data-site-theme="enterprise"] textarea:focus {
  border-color: var(--rs-main); box-shadow: 0 0 0 3px rgba(var(--rs-main-rgb), 0.15);
}
[data-site-theme="enterprise"][data-site-mode="light"] .site-nav .nav-link {
  color: rgba(255,255,255,0.80) !important;
}


/* ============================================================
   DARK MODE — universal for all themes
   ============================================================ */
[data-site-mode="dark"] {
  --glass-bg:        rgba(30,36,53,0.82);
  --glass-border:    rgba(255,255,255,0.08);
  --glass-shadow:    0 8px 32px rgba(0,0,0,0.25);
  --surface:         #121826;
  --surface-2:       #0f1420;
  --text-1:          #e8edf5;
  --text-2:          #8da0b8;
  --text-3:          #4e6580;
  --border:          rgba(255,255,255,0.08);
  --border-color:    rgba(255,255,255,0.08);

  --th-glass-bg:     rgba(30,36,53,0.82);
  --th-glass-border: rgba(255,255,255,0.08);
  --th-surface-2:    #0f1420;
  --th-text-1:       #e8edf5;
  --th-text-2:       #8da0b8;
  --th-text-3:       #4e6580;

  --th-hero-bg:      #0a1020;
  --th-nav-bg:       rgba(20,28,45,0.92);
  --th-nav-bg-solid: rgba(15,20,35,0.98);
  --th-nav-border:   rgba(255,255,255,0.06);
  --th-nav-text:     rgba(255,255,255,0.80);
  --th-nav-active:   #ffffff;
}
[data-site-mode="dark"] body.site-body {
  background: #0f1420;
  color: #e8edf5;
}
/* Nav: dark glass */
[data-site-mode="dark"] .site-nav {
  background: rgba(20,28,45,0.92);
  border-color: rgba(255,255,255,0.06);
}
[data-site-mode="dark"] .site-nav.scrolled {
  background: rgba(15,20,35,0.98);
}
[data-site-mode="dark"] .site-nav .nav-link {
  color: rgba(255,255,255,0.80) !important;
}
[data-site-mode="dark"] .site-nav .nav-link:hover {
  color: #fff !important;
}
/* Cards */
[data-site-mode="dark"] .glass-card,
[data-site-mode="dark"] .service-card,
[data-site-mode="dark"] .pricing-card,
[data-site-mode="dark"] .testimonial-card {
  background: rgba(30,36,53,0.80);
  border-color: rgba(255,255,255,0.08);
  color: #e8edf5;
}
/* Domain check page */
[data-site-mode="dark"] .dc-body {
  background: #0f1420;
}
[data-site-mode="dark"] .dc-tld-row {
  background: rgba(30,36,53,0.60);
  border-color: rgba(255,255,255,0.06);
  color: #e8edf5;
}
[data-site-mode="dark"] .dc-tld-row:hover {
  background: rgba(30,36,53,0.90);
}
[data-site-mode="dark"] .dc-cat-sidebar,
[data-site-mode="dark"] .dc-cart-sidebar {
  background: rgba(20,28,45,0.90);
  border-color: rgba(255,255,255,0.06);
}
[data-site-mode="dark"] .dc-search-input {
  background: rgba(255,255,255,0.08);
  color: #e8edf5;
  border-color: rgba(255,255,255,0.12);
}
/* Inputs */
[data-site-mode="dark"] input,
[data-site-mode="dark"] select,
[data-site-mode="dark"] textarea {
  background: rgba(255,255,255,0.06);
  color: #e8edf5;
  border-color: rgba(255,255,255,0.12);
}
/* Domain check widget */
[data-site-mode="dark"] .domain-check-widget {
  background: rgba(30,36,53,0.82);
  border-color: rgba(255,255,255,0.08);
}
[data-site-mode="dark"] .domain-check-label {
  color: #e8edf5;
}
/* Section backgrounds */
[data-site-mode="dark"] .site-section-alt {
  background: rgba(15,20,32,0.80);
}
[data-site-mode="dark"] .pkg-hero {
  background: var(--th-hero-bg, #0a1020);
}
/* TLD popular cards */
[data-site-mode="dark"] .tld-popular-card {
  background: rgba(30,36,53,0.80);
  border-color: rgba(255,255,255,0.08);
  color: #e8edf5;
}
/* TLD hero search */
[data-site-mode="dark"] .tld-hero-search {
  background: rgba(30,36,53,0.82);
  border-color: rgba(255,255,255,0.10);
}
/* TLD filter search input */
[data-site-mode="dark"] .tld-search-input {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.10);
  color: #e8edf5;
}
/* TLD list table */
[data-site-mode="dark"] .tld-list-wrap {
  background: rgba(20,28,45,0.90);
  border-color: rgba(255,255,255,0.06);
}
[data-site-mode="dark"] .tld-list-header {
  background: rgba(15,20,35,0.80);
  border-bottom-color: rgba(255,255,255,0.06);
  color: #4e6580;
}
[data-site-mode="dark"] .tld-list-row {
  border-bottom-color: rgba(255,255,255,0.05);
  color: #e8edf5;
}
[data-site-mode="dark"] .tld-list-row:hover {
  background: rgba(30,36,53,0.60);
}
/* Reviews header badge */
[data-site-mode="dark"] .reviews-header-badge {
  background: rgba(30,36,53,0.80);
  border-color: rgba(255,255,255,0.08);
}
/* Comparison table */
[data-site-mode="dark"] .compare-table-wrap {
  background: rgba(20,28,45,0.90);
  border-color: rgba(255,255,255,0.06);
}
[data-site-mode="dark"] .compare-table th,
[data-site-mode="dark"] .compare-table td {
  border-bottom-color: rgba(255,255,255,0.05);
  color: #8da0b8;
}
[data-site-mode="dark"] .compare-table th { color: #e8edf5; }
[data-site-mode="dark"] .compare-table td.compare-label { color: #e8edf5; }
[data-site-mode="dark"] .compare-table tbody tr:hover td {
  background: rgba(30,36,53,0.50);
}
/* Site card (account portal) */
[data-site-mode="dark"] .site-card,
[data-site-mode="dark"] .site-stat-card,
[data-site-mode="dark"] .site-action-card {
  background: rgba(20,28,45,0.90);
  border-color: rgba(255,255,255,0.06);
  color: #e8edf5;
}
[data-site-mode="dark"] .site-action-card:hover {
  background: rgba(30,36,53,0.80);
}
/* Toggler icon: lighter for dark bg */
[data-site-mode="dark"] .site-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C0.70%29' stroke-width='2' stroke-linecap='round' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
/* Mode toggle button */
.site-mode-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px 6px;
  font-size: 18px;
  line-height: 1;
  color: inherit;
  opacity: 0.7;
  transition: opacity 150ms ease;
}
.site-mode-toggle:hover { opacity: 1; }

/* Starter dark overrides */
[data-site-theme="starter"][data-site-mode="dark"] .site-hero {
  background: linear-gradient(180deg, #0f1420 0%, #1a2040 100%);
}
[data-site-theme="starter"][data-site-mode="dark"] .glass-card,
[data-site-theme="starter"][data-site-mode="dark"] .service-card,
[data-site-theme="starter"][data-site-mode="dark"] .pricing-card {
  background: #1a2040;
  border-color: rgba(255,255,255,0.08);
}
[data-site-theme="starter"][data-site-mode="dark"] .domain-check-widget {
  background: #1a2040;
  border-color: rgba(255,255,255,0.08);
  border-top-color: var(--rs-main);
}


/* ============================================================
   12. RESPONSIVE
   ============================================================ */
@media (max-width: 1199px) {
  .services-bento    { grid-template-columns: repeat(2, 1fr); }
  .why-grid          { grid-template-columns: repeat(2, 1fr); }
  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
  .tld-popular-grid  { grid-template-columns: repeat(3, 1fr); }
  .tld-list-header,
  .tld-list-row      { grid-template-columns: 1.5fr 1fr 1fr 100px; }
  .tld-list-header .tld-col-transfer,
  .tld-list-row  .tld-col-transfer { display: none; }
}

@media (max-width: 991px) {
  .site-header { top: 10px; padding: 0 10px; }

  .site-nav .navbar-collapse {
    background: var(--th-nav-bg-solid, rgba(255,255,255,0.98));
    backdrop-filter: blur(24px);
    border: 1px solid var(--th-nav-border, rgba(255,255,255,0.6));
    border-radius: var(--radius);
    margin-top: .5rem;
    padding: 1rem;
    box-shadow: 0 8px 32px rgba(0,0,0,.10);
  }

  [data-site-theme="plesk"] .site-nav .navbar-collapse,
  [data-site-theme="klassiek"] .site-nav .navbar-collapse,
  [data-site-theme="glassmorphism"] .site-nav .navbar-collapse {
    background: rgba(13,17,23,0.98);
    border-color: rgba(255,255,255,.08);
  }

  [data-site-theme="professional"] .site-nav .navbar-collapse {
    background: rgba(255,255,255,0.98);
    border-color: rgba(0,0,0,.06);
  }
  [data-site-theme="professional"][data-site-mode="dark"] .site-nav .navbar-collapse {
    background: rgba(17,24,39,0.98);
    border-color: rgba(255,255,255,.08);
  }

  /* Clean, modern, minimal — light mobile nav */
  [data-site-theme="clean"] .site-nav .navbar-collapse,
  [data-site-theme="modern"] .site-nav .navbar-collapse,
  [data-site-theme="minimal"] .site-nav .navbar-collapse {
    background: rgba(255,255,255,0.98);
    border-color: rgba(0,0,0,.06);
  }
  /* Corporate — dark nav mobile */
  [data-site-theme="corporate"] .site-nav .navbar-collapse {
    background: rgba(30,41,59,0.98);
    border-color: rgba(255,255,255,.08);
  }
  /* Elegant, enterprise — dark mobile nav */
  [data-site-theme="elegant"] .site-nav .navbar-collapse,
  [data-site-theme="enterprise"] .site-nav .navbar-collapse {
    background: rgba(13,17,23,0.98);
    border-color: rgba(255,255,255,.08);
  }

  .site-nav .nav-link { padding: .6rem .75rem !important; }
  .site-nav-right { margin-top: .5rem; padding-top: .75rem; border-top: 1px solid var(--border); }
  .site-nav-spacer { height: 60px; }
}

@media (max-width: 767px) {
  .site-hero { padding: 110px 0 70px; min-height: auto; }
  .domain-check-form { flex-direction: column; }
  .domain-check-tld { min-width: auto; }
  .domain-check-widget { padding: 1.5rem; }
  .services-bento { grid-template-columns: 1fr; }
  .site-cta { margin: 0 .75rem 4rem; padding: 2.5rem 1.5rem; }
  .tld-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }
  .hero-shape { display: none; }
  .pkg-grid  { grid-template-columns: 1fr; }
  .why-grid  { grid-template-columns: repeat(2, 1fr); }
  .trust-stats { gap: 1.5rem; }
  .trust-number { font-size: 1.5rem; }
  .featured-tlds-grid { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
  .home-reviews-grid { grid-template-columns: 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .compare-table th, .compare-table td { padding: .75rem 1rem; font-size: .8125rem; }
  .tld-popular-grid  { grid-template-columns: repeat(2, 1fr); }
  .tld-list-header,
  .tld-list-row      { grid-template-columns: 1.5fr 1fr 90px; padding: .75rem 1rem; }
  .tld-list-header .tld-col-renewal,
  .tld-list-row  .tld-col-renewal { display: none; }
  .tld-hero-search { flex-direction: column; padding: .75rem; }
  .tld-hero-search button { width: 100%; padding: .7rem 1rem; }
  .tld-hero-search input { width: 100%; }
  .tld-filter-bar { gap: .75rem; }
  .tld-cat-tabs { flex-wrap: wrap; }
  .tld-search-input { width: 100%; }
  .tld-count-badge { margin-left: 0; }
}

@media (max-width: 575px) {
  .hero-stats { gap: 1.25rem; }
  .site-section { padding: 4rem 0; }
  .site-cta { border-radius: var(--radius); }
  .why-grid { grid-template-columns: 1fr; }
  .billing-toggle { flex-wrap: wrap; justify-content: center; }
}

/* Mobile: container padding + horizontal scroll prevention */
@media (max-width: 576px) {
  .container { padding-inline: 1rem; }
  body { overflow-x: hidden; }

  /* Prevent tables from causing horizontal scroll */
  .table-responsive, [class*="table-wrap"] {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Touch targets: minimum 44×44px for interactive elements */
@media (max-width: 768px) {
  button:not(.font-size-btn),
  .btn,
  a.nav-link,
  .site-mode-toggle {
    min-height: 44px;
  }

  /* Adequate tap spacing on nav links */
  .nav-link { padding: 0.75rem 0.5rem; }
}

/* ============================================================
   PWA STANDALONE MODE
   Solid nav + prominent login when opened as installed app
   ============================================================ */
@media all and (display-mode: standalone) {
  .site-header { top: 0; padding: 0; }
  .site-nav {
    border-radius: 0;
    background: var(--th-nav-bg-solid, rgba(255,255,255,.98)) !important;
    border: none;
    border-bottom: 1px solid var(--border, #e5e7eb);
  }
  .site-nav-spacer { height: 70px; }
  .site-hero { padding-top: 100px; }
}

/* ============================================================
   13. DETAIL PAGE COMPONENTS
   (product detail, TLD detail, category detail)
   ============================================================ */

/* Glass card — shared wrapper used on detail/overview pages */
.glass-card {
  background: var(--th-glass-bg, var(--glass-bg));
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--th-glass-border, var(--glass-border));
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  box-shadow: 0 4px 24px rgba(0,0,0,.06);
}

/* Primary / outline action buttons */
.site-btn-primary {
  display: inline-block;
  background: var(--th-primary, var(--rs-main));
  color: #fff !important;
  border: none;
  border-radius: var(--radius);
  padding: .65rem 1.5rem;
  font-weight: 600;
  font-size: .9375rem;
  text-decoration: none !important;
  cursor: pointer;
  transition: opacity 150ms ease, transform 150ms ease, box-shadow 150ms ease;
  box-shadow: 0 4px 14px rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.28);
}
.site-btn-primary:hover {
  opacity: .88;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.35);
}
.site-btn-outline {
  display: inline-block;
  background: transparent;
  color: var(--th-primary, var(--rs-main)) !important;
  border: 1.5px solid rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.30);
  border-radius: var(--radius);
  padding: .6rem 1.5rem;
  font-weight: 600;
  font-size: .9375rem;
  text-decoration: none !important;
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease, transform 150ms ease;
}
.site-btn-outline:hover {
  background: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.07);
  border-color: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.50);
  transform: translateY(-1px);
}

/* Page heading + subtitle */
.site-page-title {
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  color: var(--th-text-1, var(--text-1));
  letter-spacing: -.02em;
  line-height: 1.2;
  margin-bottom: .5rem;
}
.site-page-sub {
  font-size: 1.0625rem;
  color: var(--th-text-2, var(--text-2));
  line-height: 1.65;
}

/* Breadcrumb */
.site-breadcrumb { font-size: .875rem; }
.site-breadcrumb .breadcrumb-item a { color: var(--th-primary, var(--rs-main)); }
.site-breadcrumb .breadcrumb-item.active { color: var(--th-text-3, var(--text-3)); }

/* Category cards (products/index.php) */
.site-cat-card {
  background: var(--th-glass-bg, var(--glass-bg));
  border: 1px solid var(--th-glass-border, var(--glass-border));
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  color: var(--th-text-1, var(--text-1)) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,.05);
  transition: transform 250ms var(--ease-spring), box-shadow 250ms ease;
}
.site-cat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(0,0,0,.10);
}
.site-cat-icon { font-size: 2.25rem; margin-bottom: .75rem; }
.site-cat-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--th-text-1, var(--text-1));
  margin-bottom: .4rem;
}
.site-cat-desc {
  font-size: .875rem;
  color: var(--th-text-2, var(--text-2));
  line-height: 1.55;
  margin-bottom: .5rem;
}
.site-cat-count { color: var(--th-text-3, var(--text-3)); }
.site-cat-cta {
  display: inline-block;
  margin-top: .75rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--th-primary, var(--rs-main));
}

/* Product info (rich text block) */
.site-prod-info {
  font-size: .9375rem;
  line-height: 1.7;
  color: var(--th-text-2, var(--text-2));
}
.site-prod-info h2, .site-prod-info h3 { color: var(--th-text-1, var(--text-1)); margin-top: 1rem; }
.site-prod-info ul { padding-left: 1.25rem; }

/* Eigenschappen */
.site-prod-eigenschappen { /* inherits glass-card */ }
.site-prop-list { display: grid; gap: .1rem; }
.site-prop-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  padding: .6rem 0;
  border-bottom: 1px solid rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.06);
  font-size: .9rem;
}
.site-prop-row:last-child { border-bottom: none; }
.site-prop-row dt { color: var(--th-text-2, var(--text-2)); font-weight: 500; }
.site-prop-row dd { color: var(--th-text-1, var(--text-1)); font-weight: 600; text-align: right; }

/* Order / price card (sticky sidebar) */
.site-order-card { /* inherits glass-card */ }
.site-order-card-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--th-text-1, var(--text-1));
  margin-bottom: 1rem;
}
.site-order-price { margin-bottom: 1.25rem; }
.site-order-price-label { display: block; }
.site-order-price-amount {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: var(--th-primary, var(--rs-main));
  letter-spacing: -.02em;
  line-height: 1.1;
}
.site-order-price-period { font-size: .875rem; color: var(--th-text-3, var(--text-3)); }

/* Small inline price (related products) */
.site-prod-price-small {
  font-size: .9375rem;
  font-weight: 700;
  color: var(--th-primary, var(--rs-main));
}

/* Period pills (dc = domain-check reuse) */
.dc-tld-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.dc-tld-pill {
  border: 1.5px solid rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.25);
  background: transparent;
  border-radius: var(--radius);
  padding: .45rem .9rem;
  font-size: .8125rem;
  font-weight: 600;
  color: var(--th-text-2, var(--text-2));
  cursor: pointer;
  transition: background 150ms ease, border-color 150ms ease, color 150ms ease;
  text-align: center;
}
.dc-tld-pill.active,
.dc-tld-pill:hover {
  background: var(--th-primary, var(--rs-main));
  border-color: var(--th-primary, var(--rs-main));
  color: #fff;
}

/* TLD extension link (tld/index.php) */
.site-tld-ext {
  font-weight: 700;
  font-size: 1rem;
  color: var(--th-primary, var(--rs-main)) !important;
  letter-spacing: -.01em;
}
.site-tld-ext:hover { text-decoration: underline !important; }

/* Muted info badge */
.site-badge-muted {
  display: inline-block;
  background: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.08);
  color: var(--th-primary, var(--rs-main));
  border-radius: var(--radius-sm);
  padding: .2rem .75rem;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* Toast show state (JS sets display:block so we keep it simple) */
.site-toast-success { background: var(--rs-color3, #15803d); }
.site-toast-error   { background: #b91c1c; }

/* Detail page responsive overrides */
@media (max-width: 991px) {
  .site-order-card.sticky-top { position: static !important; }
}
@media (max-width: 767px) {
  .site-page-title { font-size: 1.625rem; }
  .dc-tld-pills { gap: .35rem; }
  .dc-tld-pill  { font-size: .75rem; padding: .35rem .7rem; }
}

/* ═══════════════════════════════════════════════════════════════
   Account portal (login, register, dashboard, orders, invoices,
   domains)                                              INT-28
   ═══════════════════════════════════════════════════════════════ */

/* ── Generic card wrapper ─────────────────────────────────────── */
.site-card {
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius, 12px);
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
.site-card-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--th-primary, var(--rs-main));
}

/* ── Form input (reuse global look) ──────────────────────────── */
.site-input {
  border-radius: var(--radius-sm, 8px);
  border-color: var(--border, #e5e7eb);
  transition: border-color 150ms ease, box-shadow 150ms ease;
}
.site-input:focus {
  border-color: var(--th-primary, var(--rs-main));
  box-shadow: 0 0 0 3px rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.15);
}

/* ── Primary / secondary buttons ────────────────────────────── */
.site-btn-primary {
  background: var(--th-primary, var(--rs-main));
  color: #fff !important;
  border: none;
  border-radius: var(--radius-sm, 8px);
  padding: .55rem 1.25rem;
  font-weight: 600;
  transition: filter 150ms ease, transform 80ms ease;
}
.site-btn-primary:hover  { filter: brightness(1.08); }
.site-btn-primary:active { transform: scale(.97); }

.site-btn-secondary {
  background: transparent;
  color: var(--th-primary, var(--rs-main)) !important;
  border: 1.5px solid var(--th-primary, var(--rs-main));
  border-radius: var(--radius-sm, 8px);
  padding: .5rem 1.25rem;
  font-weight: 600;
  transition: background 150ms ease;
}
.site-btn-secondary:hover {
  background: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.08);
}

/* ── Stat cards (dashboard) ──────────────────────────────────── */
.site-stat-card {
  display: flex;
  align-items: center;
  gap: 1rem;
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius, 12px);
  padding: 1.25rem 1.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,.05);
  transition: box-shadow 150ms ease, transform 120ms ease;
  color: inherit;
}
.site-stat-card:hover {
  box-shadow: 0 6px 20px rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.15);
  transform: translateY(-2px);
}
.site-stat-icon {
  width: 48px; height: 48px;
  border-radius: 10px;
  background: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.1);
  color: var(--th-primary, var(--rs-main));
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.site-stat-body { display: flex; flex-direction: column; }
.site-stat-num  { font-size: 1.75rem; font-weight: 700; line-height: 1; }
.site-stat-label{ font-size: .8125rem; color: var(--text-2, #6b7280); }

/* ── Action card (dashboard quick-links) ─────────────────────── */
.site-action-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface, #fff);
  border: 1px solid var(--border, #e5e7eb);
  border-radius: var(--radius, 12px);
  padding: 1rem 1.25rem;
  color: inherit !important;
  text-decoration: none !important;
  transition: background 150ms ease, border-color 150ms ease;
}
.site-action-card:hover {
  background: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.04);
  border-color: var(--th-primary, var(--rs-main));
}
.site-action-title { font-weight: 600; font-size: .9375rem; }
.site-action-arrow { color: var(--th-primary, var(--rs-main)); font-size: 1.1rem; }

/* ── Table ────────────────────────────────────────────────────── */
.site-table-wrapper {
  overflow-x: auto;
  border-radius: var(--radius, 12px);
  border: 1px solid var(--border, #e5e7eb);
  box-shadow: 0 1px 6px rgba(0,0,0,.04);
}
.site-table {
  margin-bottom: 0;
}
.site-table thead tr { background: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.04); }
.site-table thead th { border-bottom: 1px solid var(--border, #e5e7eb); font-weight: 600; font-size: .8125rem; color: var(--text-2, #6b7280); text-transform: uppercase; letter-spacing: .04em; }
.site-table tbody tr:last-child td { border-bottom: none; }
.site-table tbody tr:hover { background: rgba(var(--th-primary-rgb, var(--rs-main-rgb)),.03); }

/* ── Status badges ──────────────────────────────────────────── */
.site-badge {
  display: inline-block;
  border-radius: 99px;
  padding: .2rem .65rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .03em;
}
.site-badge-success { background: #d1fae5; color: #065f46; }
.site-badge-warning { background: #fef3c7; color: #92400e; }
.site-badge-danger  { background: #fee2e2; color: #991b1b; }
[data-site-mode="dark"] .site-badge-success { background: rgba(21,128,61,0.20); color: #4ade80; }
[data-site-mode="dark"] .site-badge-warning { background: rgba(217,119,6,0.20);  color: #fbbf24; }
[data-site-mode="dark"] .site-badge-danger  { background: rgba(185,28,28,0.20);  color: #f87171; }

/* ── Empty state ─────────────────────────────────────────────── */
.site-empty-state {
  text-align: center;
  padding: 3.5rem 1rem;
  color: var(--text-2, #6b7280);
}

/* ── Breadcrumb ──────────────────────────────────────────────── */
.site-breadcrumb { font-size: .875rem; }
.site-breadcrumb .breadcrumb-item a { color: var(--th-primary, var(--rs-main)); text-decoration: none; }
.site-breadcrumb .breadcrumb-item.active { color: var(--text-2, #6b7280); }

/* ── Toggle switch (autorenew) ───────────────────────────────── */
.site-toggle-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 40px; height: 22px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}
.site-toggle-track {
  position: absolute;
  inset: 0;
  border-radius: 11px;
  background: var(--th-glass-border, #d1d5db);
  transition: background 200ms ease;
}
.site-toggle-thumb {
  position: absolute;
  top: 3px; left: 3px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
  transition: transform 200ms ease;
}
.site-toggle-btn.active .site-toggle-track { background: var(--th-primary, var(--rs-main)); }
.site-toggle-btn.active .site-toggle-thumb { transform: translateX(18px); }
.site-toggle-btn:disabled { opacity: .5; cursor: not-allowed; }

/* ── Payment Modal ───────────────────────────────────────────── */
.pm-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, .55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  animation: pm-fade-in 150ms ease;
}

@keyframes pm-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.pm-dialog {
  background: var(--glass-bg);
  border: 1px solid var(--border-color);
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .3);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  padding: 28px 28px 24px;
  width: 100%;
  max-width: 420px;
  animation: pm-slide-up 200ms ease;
}

@keyframes pm-slide-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Header */
.pm-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}

.pm-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--th-text-1);
  margin: 0;
}

.pm-close {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  color: var(--th-text-2);
  padding: 2px 6px;
  border-radius: 6px;
  transition: color 150ms, background 150ms;
}

.pm-close:hover {
  color: var(--th-text-1);
  background: rgba(128, 128, 128, .15);
}

/* Amount */
.pm-amount {
  text-align: center;
  font-size: 2rem;
  font-weight: 800;
  color: var(--th-text-1);
  letter-spacing: -.02em;
  margin-bottom: 24px;
}

/* Methods */
.pm-methods {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.pm-method {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1.5px solid var(--border-color);
  border-radius: 10px;
  padding: 12px 14px;
  cursor: pointer;
  transition: border-color 150ms, background 150ms;
}

.pm-method:hover {
  border-color: var(--rs-main);
  background: rgba(128, 128, 128, .06);
}

.pm-method input[type="radio"] {
  accent-color: var(--rs-main);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.pm-method-selected {
  border-color: var(--rs-main);
  background: color-mix(in srgb, var(--rs-main) 8%, transparent);
}

.pm-method-icon {
  display: flex;
  align-items: center;
  color: var(--th-text-2);
  flex-shrink: 0;
}

.pm-method-label {
  font-size: .95rem;
  font-weight: 500;
  color: var(--th-text-1);
}

/* Error area */
.pm-error {
  color: #e74a3b;
  font-size: .875rem;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(231, 74, 59, .1);
  margin-bottom: 16px;
}

/* Loading area */
.pm-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 0;
  margin-bottom: 16px;
}

.pm-spinner {
  width: 28px;
  height: 28px;
  border: 3px solid var(--border-color);
  border-top-color: var(--rs-main);
  border-radius: 50%;
  animation: pm-spin 700ms linear infinite;
}

@keyframes pm-spin {
  to { transform: rotate(360deg); }
}

/* Footer */
.pm-footer {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* Buttons */
.pm-btn {
  display: block;
  width: 100%;
  padding: 12px 20px;
  font-size: .95rem;
  font-weight: 600;
  border-radius: 10px;
  cursor: pointer;
  text-align: center;
  border: 1.5px solid transparent;
  transition: opacity 150ms, background 150ms, transform 80ms;
}

.pm-btn:active { transform: scale(.98); }
.pm-btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

.pm-btn-primary {
  background: var(--rs-main);
  color: #fff;
  border-color: var(--rs-main);
}

.pm-btn-primary:hover:not(:disabled) {
  opacity: .88;
}

.pm-btn-secondary {
  background: transparent;
  color: var(--th-text-2);
  border-color: var(--border-color);
}

.pm-btn-secondary:hover:not(:disabled) {
  background: rgba(128, 128, 128, .1);
  color: var(--th-text-1);
}

/* ═══════════════════════════════════════════════════════════════════
   THEME: Neobrutalism — Bold borders, vivid accents, warm surface
   ═══════════════════════════════════════════════════════════════════ */
[data-site-theme="neobrutalism"],
[data-site-theme="neobrutalism"][data-site-mode="light"],
[data-site-theme="neobrutalism"][data-site-mode="dark"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       #432DD7;
  --th-nav-bg:       #FBFBF9;
  --th-nav-bg-solid: #FBFBF9;
  --th-nav-border:   #1C293C;
  --th-nav-text:     #1C293C;
  --th-nav-active:   var(--rs-main);
  --th-hero-bg:      #fef3c7;
  --th-font-body:    'Inter', system-ui, sans-serif;
  --th-font-heading: 'Inter', system-ui, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: #1C293C;
  --th-surface-2:    #fef3c7;
  --th-text-1:       #1C293C;
  --th-text-2:       #475569;
  --th-text-3:       #94a3b8;
  --glass-bg:        #ffffff;
  --glass-border:    #1C293C;
  --border:          #1C293C;
  --th-footer-bg:         #1C293C;
  --th-footer-text:       rgba(255,255,255,.85);
  --th-footer-text-muted: rgba(255,255,255,.45);
  --th-footer-border:     #334155;
  --radius-sm:  0;
  --radius:     0;
  --radius-lg:  0;
  --radius-xl:  0;
}
[data-site-theme="neobrutalism"] body.site-body,
[data-site-theme="neobrutalism"][data-site-mode="light"] body.site-body {
  background: #FBFBF9 !important; color: #1C293C;
}
[data-site-theme="neobrutalism"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #FBFBF9 !important; border: none;
  border-bottom: 3px solid #1C293C; border-radius: 0;
  box-shadow: none;
}
[data-site-theme="neobrutalism"] .site-nav .nav-link { color: #1C293C !important; font-weight: 700; }
[data-site-theme="neobrutalism"] .site-nav .nav-link:hover { color: var(--rs-main) !important; }
[data-site-theme="neobrutalism"] .site-nav.scrolled { box-shadow: 4px 4px 0 #1C293C; }
[data-site-theme="neobrutalism"] .site-logo { filter: none; }
[data-site-theme="neobrutalism"] .site-hero::before,
[data-site-theme="neobrutalism"] .site-hero::after { display: none; }
[data-site-theme="neobrutalism"] .site-hero .orb { display: none; }
[data-site-theme="neobrutalism"] .site-hero {
  background: #fef3c7; min-height: auto; padding: 140px 0 70px;
  border-bottom: 3px solid #1C293C;
}
[data-site-theme="neobrutalism"] .glass-card,
[data-site-theme="neobrutalism"] .service-card,
[data-site-theme="neobrutalism"] .pricing-card,
[data-site-theme="neobrutalism"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #1C293C !important;
  border: 3px solid #1C293C !important;
  box-shadow: 4px 4px 0 #1C293C !important;
  border-radius: 0;
  transition: transform 0.15s, box-shadow 0.15s;
}
[data-site-theme="neobrutalism"] .service-card:hover,
[data-site-theme="neobrutalism"] .pricing-card:hover {
  transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #1C293C !important;
}
[data-site-theme="neobrutalism"] .pricing-card.popular { border-color: var(--rs-main) !important; box-shadow: 4px 4px 0 var(--rs-main) !important; }
[data-site-theme="neobrutalism"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: 3px solid #1C293C; box-shadow: 4px 4px 0 #1C293C;
}
[data-site-theme="neobrutalism"] .section-title,
[data-site-theme="neobrutalism"] h1, [data-site-theme="neobrutalism"] h2,
[data-site-theme="neobrutalism"] h3 { color: #1C293C; font-weight: 800; }
[data-site-theme="neobrutalism"] .site-btn-register {
  border: 3px solid #1C293C; box-shadow: 3px 3px 0 #1C293C; font-weight: 700;
}
[data-site-theme="neobrutalism"] .site-btn-register:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 #1C293C; }
[data-site-theme="neobrutalism"] .site-footer { background: #1C293C !important; border-top: 3px solid #1C293C; }
[data-site-theme="neobrutalism"] input,
[data-site-theme="neobrutalism"] select,
[data-site-theme="neobrutalism"] textarea {
  background: #ffffff; color: #1C293C; border: 2px solid #1C293C; border-radius: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   THEME: Pacman — Retro arcade, pixel fonts, neon on dark
   ═══════════════════════════════════════════════════════════════════ */
[data-site-theme="pacman"],
[data-site-theme="pacman"][data-site-mode="light"],
[data-site-theme="pacman"][data-site-mode="dark"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       #F4B9B0;
  --th-nav-bg:       #000000;
  --th-nav-bg-solid: #000000;
  --th-nav-border:   #2A3FE5;
  --th-nav-text:     #ffffff;
  --th-nav-active:   #FDC800;
  --th-hero-bg:      #0a0a0a;
  --th-font-body:    'Press Start 2P', monospace;
  --th-font-heading: 'Press Start 2P', monospace;
  --th-glass-bg:     #111111;
  --th-glass-border: #2A3FE5;
  --th-surface-2:    #0a0a0a;
  --th-text-1:       #ffffff;
  --th-text-2:       #a0a0a0;
  --th-text-3:       #666666;
  --glass-bg:        #111111;
  --glass-border:    #2A3FE5;
  --border:          #2A3FE5;
  --th-footer-bg:         #000000;
  --th-footer-text:       rgba(255,255,255,.75);
  --th-footer-text-muted: rgba(255,255,255,.35);
  --th-footer-border:     #2A3FE5;
  --radius-sm:  0;
  --radius:     0;
  --radius-lg:  0;
  --radius-xl:  0;
}
[data-site-theme="pacman"] body.site-body,
[data-site-theme="pacman"][data-site-mode="light"] body.site-body {
  background: #000000 !important; color: #ffffff; font-size: 12px;
}
[data-site-theme="pacman"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #000000 !important; border: none;
  border-bottom: 2px dotted #2A3FE5; border-radius: 0;
}
[data-site-theme="pacman"] .site-nav .nav-link { color: #ffffff !important; font-weight: 400; font-size: 10px; letter-spacing: 0.05em; }
[data-site-theme="pacman"] .site-nav .nav-link:hover { color: #FDC800 !important; }
[data-site-theme="pacman"] .site-nav.scrolled { box-shadow: 0 2px 0 #2A3FE5; }
[data-site-theme="pacman"] .site-logo,
[data-site-theme="pacman"][data-site-mode="light"] .site-logo { filter: brightness(0) invert(1); }
[data-site-theme="pacman"] .site-hero::before,
[data-site-theme="pacman"] .site-hero::after { display: none; }
[data-site-theme="pacman"] .site-hero .orb { display: none; }
[data-site-theme="pacman"] .site-hero {
  background: #0a0a0a; min-height: auto; padding: 140px 0 70px;
  border-bottom: 2px dotted #2A3FE5;
}
[data-site-theme="pacman"] .glass-card,
[data-site-theme="pacman"] .service-card,
[data-site-theme="pacman"] .pricing-card,
[data-site-theme="pacman"] .testimonial-card {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #111111; color: #ffffff;
  border: 2px dotted #2A3FE5;
  box-shadow: none; border-radius: 0;
}
[data-site-theme="pacman"] .service-card:hover,
[data-site-theme="pacman"] .pricing-card:hover {
  border-color: #FDC800; box-shadow: 0 0 12px rgba(253,200,0,0.3);
}
[data-site-theme="pacman"] .pricing-card.popular { border: 2px solid #FDC800; }
[data-site-theme="pacman"] .domain-check-widget {
  backdrop-filter: none; background: #111111;
  border: 2px dotted #2A3FE5;
}
[data-site-theme="pacman"] .section-title,
[data-site-theme="pacman"] h1, [data-site-theme="pacman"] h2,
[data-site-theme="pacman"] h3 { color: #FDC800; font-size: 14px; }
[data-site-theme="pacman"] h1 { font-size: 18px; }
[data-site-theme="pacman"] p { color: #a0a0a0; font-size: 11px; line-height: 1.8; }
[data-site-theme="pacman"] .site-btn-register { border: 2px solid #FDC800; color: #FDC800; background: transparent; font-size: 10px; }
[data-site-theme="pacman"] .site-btn-register:hover { background: #FDC800; color: #000000; }
[data-site-theme="pacman"] .site-footer { background: #000000 !important; border-top: 2px dotted #2A3FE5; }
[data-site-theme="pacman"] .site-section { color: #ffffff; }
[data-site-theme="pacman"] input,
[data-site-theme="pacman"] select,
[data-site-theme="pacman"] textarea {
  background: #0a0a0a; color: #ffffff; border: 2px dotted #2A3FE5; border-radius: 0; font-family: 'Press Start 2P', monospace; font-size: 10px;
}

/* ═══════════════════════════════════════════════════════════════════
   THEME: Mono — Terminal / hacker aesthetic, green-on-black
   ═══════════════════════════════════════════════════════════════════ */
[data-site-theme="mono"],
[data-site-theme="mono"][data-site-mode="light"],
[data-site-theme="mono"][data-site-mode="dark"] {
  --th-primary:      #37F712;
  --th-primary-rgb:  55,247,18;
  --th-accent:       #00A6F4;
  --th-nav-bg:       #0a0a0a;
  --th-nav-bg-solid: #0a0a0a;
  --th-nav-border:   #1a1a1a;
  --th-nav-text:     #37F712;
  --th-nav-active:   #37F712;
  --th-hero-bg:      #0a0a0a;
  --th-font-body:    'JetBrains Mono', 'Space Mono', monospace;
  --th-font-heading: 'Space Mono', 'JetBrains Mono', monospace;
  --th-glass-bg:     #111111;
  --th-glass-border: #1a1a1a;
  --th-surface-2:    #0a0a0a;
  --th-text-1:       #e7e5e4;
  --th-text-2:       #78716b;
  --th-text-3:       #44403c;
  --glass-bg:        #111111;
  --glass-border:    #1a1a1a;
  --border:          #1a1a1a;
  --th-footer-bg:         #050505;
  --th-footer-text:       #37F712;
  --th-footer-text-muted: rgba(55,247,18,.35);
  --th-footer-border:     #1a1a1a;
  --radius-sm:  2px;
  --radius:     4px;
  --radius-lg:  4px;
  --radius-xl:  4px;
}
[data-site-theme="mono"] body.site-body,
[data-site-theme="mono"][data-site-mode="light"] body.site-body {
  background: #0a0a0a !important; color: #e7e5e4; font-size: 14px;
}
[data-site-theme="mono"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #0a0a0a !important; border: none;
  border-bottom: 1px solid #1a1a1a; border-radius: 0;
}
[data-site-theme="mono"] .site-nav .nav-link { color: #37F712 !important; font-weight: 400; font-family: 'JetBrains Mono', monospace; }
[data-site-theme="mono"] .site-nav .nav-link:hover { color: #00A6F4 !important; }
[data-site-theme="mono"] .site-nav.scrolled { box-shadow: 0 1px 0 #37F712; }
[data-site-theme="mono"] .site-logo,
[data-site-theme="mono"][data-site-mode="light"] .site-logo { filter: brightness(0) invert(1) sepia(1) saturate(10) hue-rotate(85deg); }
[data-site-theme="mono"] .site-hero::before,
[data-site-theme="mono"] .site-hero::after { display: none; }
[data-site-theme="mono"] .site-hero .orb { display: none; }
[data-site-theme="mono"] .site-hero {
  background: #0a0a0a; min-height: auto; padding: 140px 0 70px;
  border-bottom: 1px solid #1a1a1a;
}
[data-site-theme="mono"] .glass-card,
[data-site-theme="mono"] .service-card,
[data-site-theme="mono"] .pricing-card,
[data-site-theme="mono"] .testimonial-card {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #111111; color: #e7e5e4;
  border: 1px solid #1a1a1a; box-shadow: none;
}
[data-site-theme="mono"] .service-card:hover,
[data-site-theme="mono"] .pricing-card:hover {
  border-color: #37F712; box-shadow: 0 0 8px rgba(55,247,18,0.15);
}
[data-site-theme="mono"] .pricing-card.popular { border: 1px solid #37F712; box-shadow: 0 0 12px rgba(55,247,18,0.2); }
[data-site-theme="mono"] .domain-check-widget {
  backdrop-filter: none; background: #111111;
  border: 1px solid #1a1a1a; border-left: 2px solid #37F712;
}
[data-site-theme="mono"] .section-title,
[data-site-theme="mono"] h1, [data-site-theme="mono"] h2,
[data-site-theme="mono"] h3 { color: #37F712; }
[data-site-theme="mono"] .section-title::before { content: '> '; color: #37F712; }
[data-site-theme="mono"] p { color: #78716b; }
[data-site-theme="mono"] .site-btn-register { border: 1px solid #37F712; color: #37F712; background: transparent; }
[data-site-theme="mono"] .site-btn-register:hover { background: #37F712; color: #0a0a0a; }
[data-site-theme="mono"] .site-footer { background: #050505 !important; border-top: 1px solid #1a1a1a; }
[data-site-theme="mono"] .site-section { color: #e7e5e4; }
[data-site-theme="mono"] input,
[data-site-theme="mono"] select,
[data-site-theme="mono"] textarea {
  background: #0a0a0a; color: #37F712; border: 1px solid #1a1a1a; font-family: 'JetBrains Mono', monospace;
}
[data-site-theme="mono"] input:focus,
[data-site-theme="mono"] select:focus { border-color: #37F712; box-shadow: 0 0 0 2px rgba(55,247,18,0.15); }

/* ═══════════════════════════════════════════════════════════════════
   THEME: Bento — Modular grid, card-based, soft spacing
   ═══════════════════════════════════════════════════════════════════ */
[data-site-theme="bento"],
[data-site-theme="bento"][data-site-mode="light"],
[data-site-theme="bento"][data-site-mode="dark"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       #80A1C1;
  --th-nav-bg:       #FFF5E6;
  --th-nav-bg-solid: #FFF5E6;
  --th-nav-border:   #e8ddd0;
  --th-nav-text:     #111827;
  --th-nav-active:   var(--rs-main);
  --th-hero-bg:      #FFF5E6;
  --th-font-body:    'Inter', system-ui, sans-serif;
  --th-font-heading: 'Inter', system-ui, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: #e8ddd0;
  --th-surface-2:    #FFF5E6;
  --th-text-1:       #111827;
  --th-text-2:       #6b7280;
  --th-text-3:       #9ca3af;
  --glass-bg:        #ffffff;
  --glass-border:    #e8ddd0;
  --border:          #e8ddd0;
  --th-footer-bg:         #1a1612;
  --th-footer-text:       rgba(255,255,255,.8);
  --th-footer-text-muted: rgba(255,255,255,.4);
  --th-footer-border:     #2a2420;
  --radius-sm:  12px;
  --radius:     16px;
  --radius-lg:  20px;
  --radius-xl:  24px;
}
[data-site-theme="bento"] body.site-body,
[data-site-theme="bento"][data-site-mode="light"] body.site-body {
  background: #FFF5E6 !important; color: #111827;
}
[data-site-theme="bento"] .site-nav {
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  background: rgba(255,245,230,0.9) !important; border: none;
  border-bottom: 1px solid #e8ddd0; border-radius: 0;
}
[data-site-theme="bento"] .site-nav .nav-link { color: #111827 !important; font-weight: 500; }
[data-site-theme="bento"] .site-nav .nav-link:hover { color: var(--rs-main) !important; }
[data-site-theme="bento"] .site-logo { filter: none; }
[data-site-theme="bento"] .site-hero::before,
[data-site-theme="bento"] .site-hero::after { display: none; }
[data-site-theme="bento"] .site-hero .orb { display: none; }
[data-site-theme="bento"] .site-hero {
  background: #FFF5E6; min-height: auto; padding: 140px 0 70px;
}
[data-site-theme="bento"] .glass-card,
[data-site-theme="bento"] .service-card,
[data-site-theme="bento"] .pricing-card,
[data-site-theme="bento"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #111827 !important;
  border: 1px solid #e8ddd0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04) !important;
  border-radius: var(--radius);
}
[data-site-theme="bento"] .service-card:hover,
[data-site-theme="bento"] .pricing-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,0.08) !important; transform: translateY(-2px);
}
[data-site-theme="bento"] .pricing-card.popular { border: 2px solid var(--rs-main) !important; }
[data-site-theme="bento"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: 1px solid #e8ddd0; border-radius: var(--radius);
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
[data-site-theme="bento"] .section-title,
[data-site-theme="bento"] h1, [data-site-theme="bento"] h2,
[data-site-theme="bento"] h3 { color: #111827; font-weight: 700; }
[data-site-theme="bento"] .site-footer { background: #1a1612 !important; }
[data-site-theme="bento"] input,
[data-site-theme="bento"] select,
[data-site-theme="bento"] textarea {
  background: #ffffff; color: #111827; border: 1px solid #e8ddd0; border-radius: var(--radius-sm);
}

/* ═══════════════════════════════════════════════════════════════════
   THEME: Brutalism — Raw anti-design, no rounding, heavy borders
   ═══════════════════════════════════════════════════════════════════ */
[data-site-theme="brutalism"],
[data-site-theme="brutalism"][data-site-mode="light"],
[data-site-theme="brutalism"][data-site-mode="dark"] {
  --th-primary:      #DD614C;
  --th-primary-rgb:  221,97,76;
  --th-accent:       #DAA144;
  --th-nav-bg:       #ffffff;
  --th-nav-bg-solid: #ffffff;
  --th-nav-border:   #111827;
  --th-nav-text:     #111827;
  --th-nav-active:   #DD614C;
  --th-hero-bg:      #f5f5f5;
  --th-font-body:    'Darker Grotesque', system-ui, sans-serif;
  --th-font-heading: 'Darker Grotesque', system-ui, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: #111827;
  --th-surface-2:    #f5f5f5;
  --th-text-1:       #111827;
  --th-text-2:       #4b5563;
  --th-text-3:       #9ca3af;
  --glass-bg:        #ffffff;
  --glass-border:    #111827;
  --border:          #111827;
  --th-footer-bg:         #111827;
  --th-footer-text:       rgba(255,255,255,.85);
  --th-footer-text-muted: rgba(255,255,255,.45);
  --th-footer-border:     #374151;
  --radius-sm:  0;
  --radius:     0;
  --radius-lg:  0;
  --radius-xl:  0;
}
[data-site-theme="brutalism"] body.site-body,
[data-site-theme="brutalism"][data-site-mode="light"] body.site-body {
  background: #ffffff !important; color: #111827;
}
[data-site-theme="brutalism"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #ffffff !important; border: none;
  border-bottom: 4px solid #111827; border-radius: 0;
}
[data-site-theme="brutalism"] .site-nav .nav-link { color: #111827 !important; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; font-size: 13px; }
[data-site-theme="brutalism"] .site-nav .nav-link:hover { color: #DD614C !important; }
[data-site-theme="brutalism"] .site-logo { filter: none; }
[data-site-theme="brutalism"] .site-hero::before,
[data-site-theme="brutalism"] .site-hero::after { display: none; }
[data-site-theme="brutalism"] .site-hero .orb { display: none; }
[data-site-theme="brutalism"] .site-hero {
  background: #f5f5f5; min-height: auto; padding: 140px 0 70px;
  border-bottom: 4px solid #111827;
}
[data-site-theme="brutalism"] .glass-card,
[data-site-theme="brutalism"] .service-card,
[data-site-theme="brutalism"] .pricing-card,
[data-site-theme="brutalism"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #111827 !important;
  border: 2px solid #111827 !important;
  box-shadow: none !important;
  border-radius: 0;
}
[data-site-theme="brutalism"] .service-card:hover,
[data-site-theme="brutalism"] .pricing-card:hover {
  background: #f5f5f5 !important; border-color: #DD614C !important;
}
[data-site-theme="brutalism"] .pricing-card.popular { border: 3px solid #DD614C !important; }
[data-site-theme="brutalism"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: 2px solid #111827;
}
[data-site-theme="brutalism"] .section-title,
[data-site-theme="brutalism"] h1, [data-site-theme="brutalism"] h2,
[data-site-theme="brutalism"] h3 { color: #111827; font-weight: 900; text-transform: uppercase; }
[data-site-theme="brutalism"] .site-btn-register {
  border: 2px solid #111827; background: #DD614C; color: #ffffff; font-weight: 800; text-transform: uppercase;
}
[data-site-theme="brutalism"] .site-footer { background: #111827 !important; border-top: 4px solid #111827; }
[data-site-theme="brutalism"] input,
[data-site-theme="brutalism"] select,
[data-site-theme="brutalism"] textarea {
  background: #ffffff; color: #111827; border: 2px solid #111827; border-radius: 0;
}

/* ═══════════════════════════════════════════════════════════════════
   THEME: Material — Google Material Design, layered surfaces
   ═══════════════════════════════════════════════════════════════════ */
[data-site-theme="material"],
[data-site-theme="material"][data-site-mode="light"],
[data-site-theme="material"][data-site-mode="dark"] {
  --th-primary:      var(--rs-main);
  --th-primary-rgb:  var(--rs-main-rgb);
  --th-accent:       #C8B3FD;
  --th-nav-bg:       #ffffff;
  --th-nav-bg-solid: #ffffff;
  --th-nav-border:   transparent;
  --th-nav-text:     #1f1f1f;
  --th-nav-active:   var(--rs-main);
  --th-hero-bg:      #fafafa;
  --th-font-body:    'Roboto', 'Inter', system-ui, sans-serif;
  --th-font-heading: 'Roboto', 'Inter', system-ui, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: transparent;
  --th-surface-2:    #f5f5f5;
  --th-text-1:       #1f1f1f;
  --th-text-2:       #5f6368;
  --th-text-3:       #9aa0a6;
  --glass-bg:        #ffffff;
  --glass-border:    transparent;
  --border:          #e0e0e0;
  --th-footer-bg:         #1f1f1f;
  --th-footer-text:       rgba(255,255,255,.8);
  --th-footer-text-muted: rgba(255,255,255,.4);
  --th-footer-border:     #333333;
  --radius-sm:  8px;
  --radius:     12px;
  --radius-lg:  16px;
  --radius-xl:  28px;
}
[data-site-theme="material"] body.site-body,
[data-site-theme="material"][data-site-mode="light"] body.site-body {
  background: #fafafa !important; color: #1f1f1f;
}
[data-site-theme="material"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #ffffff !important; border: none; border-radius: 0;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
}
[data-site-theme="material"] .site-nav .nav-link { color: #1f1f1f !important; font-weight: 500; }
[data-site-theme="material"] .site-nav .nav-link:hover { color: var(--rs-main) !important; }
[data-site-theme="material"] .site-nav.scrolled {
  box-shadow: 0 2px 6px rgba(0,0,0,0.12), 0 1px 3px rgba(0,0,0,0.08);
}
[data-site-theme="material"] .site-logo { filter: none; }
[data-site-theme="material"] .site-hero::before,
[data-site-theme="material"] .site-hero::after { display: none; }
[data-site-theme="material"] .site-hero .orb { display: none; }
[data-site-theme="material"] .site-hero {
  background: linear-gradient(135deg, #fafafa 0%, rgba(var(--rs-main-rgb),0.06) 100%);
  min-height: auto; padding: 140px 0 70px;
}
[data-site-theme="material"] .glass-card,
[data-site-theme="material"] .service-card,
[data-site-theme="material"] .pricing-card,
[data-site-theme="material"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #1f1f1f !important;
  border: none !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06) !important;
  border-radius: var(--radius);
  transition: box-shadow 0.2s, transform 0.2s;
}
[data-site-theme="material"] .service-card:hover,
[data-site-theme="material"] .pricing-card:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12), 0 2px 6px rgba(0,0,0,0.08) !important; transform: translateY(-2px);
}
[data-site-theme="material"] .pricing-card.popular {
  border: none !important;
  box-shadow: 0 6px 20px rgba(var(--rs-main-rgb),0.2), 0 2px 6px rgba(0,0,0,0.08) !important;
}
[data-site-theme="material"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: none; border-radius: var(--radius);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.06);
}
[data-site-theme="material"] .section-title,
[data-site-theme="material"] h1, [data-site-theme="material"] h2,
[data-site-theme="material"] h3 { color: #1f1f1f; font-weight: 500; }
[data-site-theme="material"] .site-btn-register {
  border-radius: var(--radius-xl); font-weight: 500; letter-spacing: 0.02em;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12);
}
[data-site-theme="material"] .site-btn-register:hover { box-shadow: 0 3px 8px rgba(0,0,0,0.18); }
[data-site-theme="material"] .site-footer { background: #1f1f1f !important; }
[data-site-theme="material"] input,
[data-site-theme="material"] select,
[data-site-theme="material"] textarea {
  background: #ffffff; color: #1f1f1f; border: 1px solid #e0e0e0; border-radius: var(--radius-sm);
}
[data-site-theme="material"] input:focus,
[data-site-theme="material"] select:focus {
  border-color: var(--rs-main); box-shadow: 0 0 0 2px rgba(var(--rs-main-rgb), 0.15);
}

/* ═══════════════════════════════════════════════════════════════════
   THEME: Lingo — Duolingo-inspired, playful, rounded, tactile
   ═══════════════════════════════════════════════════════════════════ */
[data-site-theme="lingo"],
[data-site-theme="lingo"][data-site-mode="light"],
[data-site-theme="lingo"][data-site-mode="dark"] {
  --th-primary:      #58cc02;
  --th-primary-rgb:  88,204,2;
  --th-accent:       #ce82ff;
  --th-nav-bg:       #ffffff;
  --th-nav-bg-solid: #ffffff;
  --th-nav-border:   #e5e5e5;
  --th-nav-text:     #3c3c3c;
  --th-nav-active:   #58cc02;
  --th-hero-bg:      #ffffff;
  --th-font-body:    'Nunito', system-ui, sans-serif;
  --th-font-heading: 'Nunito', system-ui, sans-serif;
  --th-glass-bg:     #ffffff;
  --th-glass-border: #e5e5e5;
  --th-surface-2:    #f7f7f7;
  --th-text-1:       #3c3c3c;
  --th-text-2:       #777777;
  --th-text-3:       #afafaf;
  --glass-bg:        #ffffff;
  --glass-border:    #e5e5e5;
  --border:          #e5e5e5;
  --th-footer-bg:         #58cc02;
  --th-footer-text:       #ffffff;
  --th-footer-text-muted: rgba(255,255,255,.6);
  --th-footer-border:     rgba(255,255,255,.2);
  --radius-sm:  12px;
  --radius:     16px;
  --radius-lg:  20px;
  --radius-xl:  24px;
}
[data-site-theme="lingo"] body.site-body,
[data-site-theme="lingo"][data-site-mode="light"] body.site-body {
  background: #ffffff !important; color: #3c3c3c;
}
[data-site-theme="lingo"] .site-nav {
  backdrop-filter: none; -webkit-backdrop-filter: none;
  background: #ffffff !important; border: none;
  border-bottom: 2px solid #e5e5e5; border-radius: 0;
}
[data-site-theme="lingo"] .site-nav .nav-link { color: #3c3c3c !important; font-weight: 700; }
[data-site-theme="lingo"] .site-nav .nav-link:hover { color: #58cc02 !important; }
[data-site-theme="lingo"] .site-logo { filter: none; }
[data-site-theme="lingo"] .site-hero::before,
[data-site-theme="lingo"] .site-hero::after { display: none; }
[data-site-theme="lingo"] .site-hero .orb { display: none; }
[data-site-theme="lingo"] .site-hero {
  background: #ffffff; min-height: auto; padding: 140px 0 70px;
}
[data-site-theme="lingo"] .glass-card,
[data-site-theme="lingo"] .service-card,
[data-site-theme="lingo"] .pricing-card,
[data-site-theme="lingo"] .testimonial-card {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
  background: #ffffff !important; color: #3c3c3c !important;
  border: 2px solid #e5e5e5 !important;
  border-bottom: 4px solid #e5e5e5 !important;
  box-shadow: none !important;
  border-radius: var(--radius);
  transition: transform 0.1s;
}
[data-site-theme="lingo"] .service-card:hover,
[data-site-theme="lingo"] .pricing-card:hover {
  border-color: #58cc02 !important; border-bottom-color: #58cc02 !important;
  transform: translateY(-2px);
}
[data-site-theme="lingo"] .pricing-card.popular {
  border-color: #58cc02 !important; border-bottom: 4px solid #58cc02 !important;
  background: #f7fff0 !important;
}
[data-site-theme="lingo"] .domain-check-widget {
  backdrop-filter: none; background: #ffffff;
  border: 2px solid #e5e5e5; border-bottom: 4px solid #e5e5e5;
  border-radius: var(--radius);
}
[data-site-theme="lingo"] .section-title,
[data-site-theme="lingo"] h1, [data-site-theme="lingo"] h2,
[data-site-theme="lingo"] h3 { color: #3c3c3c; font-weight: 800; }
[data-site-theme="lingo"] .site-btn-register {
  border: 2px solid transparent; border-bottom: 4px solid rgba(0,0,0,0.15);
  border-radius: var(--radius); font-weight: 700;
  background: #58cc02; color: #ffffff;
}
[data-site-theme="lingo"] .site-btn-register:hover { transform: translateY(-1px); }
[data-site-theme="lingo"] .site-btn-register:active { transform: translateY(1px); border-bottom-width: 2px; }
[data-site-theme="lingo"] .site-footer { background: #58cc02 !important; border-top: none; }
[data-site-theme="lingo"] input,
[data-site-theme="lingo"] select,
[data-site-theme="lingo"] textarea {
  background: #f7f7f7; color: #3c3c3c; border: 2px solid #e5e5e5; border-radius: var(--radius-sm);
}
[data-site-theme="lingo"] input:focus,
[data-site-theme="lingo"] select:focus { border-color: #58cc02; box-shadow: none; }

/* ============================================================
   Font scale system
   ============================================================ */
html { font-size: calc(1rem * var(--user-font-scale, 1)); }

.font-size-controls { flex-shrink: 0; }

.font-size-btn {
    background: transparent;
    border: 1px solid var(--th-border, rgba(0,0,0,0.1));
    color: var(--th-text-2, #555);
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s;
    min-width: 28px;
    min-height: 28px;
    line-height: 1;
    text-align: center;
}
.font-size-btn.active {
    background: var(--rs-main, #4e73df);
    color: #fff;
    border-color: var(--rs-main, #4e73df);
}
.font-size-btn:hover:not(.active) {
    border-color: var(--rs-main, #4e73df);
    color: var(--rs-main, #4e73df);
}
[data-site-mode="dark"] .font-size-btn {
    border-color: rgba(255,255,255,0.15);
    color: var(--th-text-2, #94a3b8);
}
[data-site-mode="dark"] .font-size-btn:hover:not(.active) {
    border-color: var(--rs-main, #4e73df);
    color: var(--rs-main, #4e73df);
}
@media (max-width: 400px) {
    .font-size-controls { display: none !important; }
}

/* ============================================================
   Language selector — always visible inline buttons
   ============================================================ */
.lang-selector-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 3px 8px;
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.2s;
    border: 1px solid transparent;
    color: var(--th-text-2, #555);
    min-height: 26px;
    letter-spacing: 0.03em;
    line-height: 1;
}
.lang-selector-btn.active {
    background: var(--rs-color1, var(--rs-main, #4e73df));
    color: #fff;
    border-color: var(--rs-color1, var(--rs-main, #4e73df));
}
.lang-selector-btn:not(.active):hover {
    border-color: var(--rs-color1, var(--rs-main, #4e73df));
    color: var(--rs-color1, var(--rs-main, #4e73df));
}
[data-site-mode="dark"] .lang-selector-btn:not(.active) {
    color: var(--th-text-2, #94a3b8);
    border-color: transparent;
}
[data-site-mode="dark"] .lang-selector-btn.active {
    background: transparent;
    border-color: var(--rs-color1, var(--rs-main, #4e73df));
    color: var(--rs-color1, var(--rs-main, #4e73df));
}
[data-site-mode="dark"] .lang-selector-btn:not(.active):hover {
    border-color: var(--rs-color1, var(--rs-main, #4e73df));
    color: var(--rs-color1, var(--rs-main, #4e73df));
}

/* ============================================================
   OS-LEVEL DARK MODE — mirrors [data-site-mode="dark"] variables
   Only applies when user has NOT explicitly chosen light mode.
   The flash-prevention script in template.php sets data-site-mode
   based on localStorage. If the user never toggled, and OS is dark,
   the script sets data-site-mode="dark" — so [data-site-mode="dark"]
   rules already apply. This media query handles the edge case where
   CSS loads before JS sets the attribute (e.g. noscript, CSS-only).
   ============================================================ */
@media (prefers-color-scheme: dark) {
    html:not([data-site-mode="light"]) {
        --glass-bg:        rgba(30,36,53,0.82);
        --glass-border:    rgba(255,255,255,0.08);
        --glass-shadow:    0 8px 32px rgba(0,0,0,0.25);
        --surface:         #121826;
        --surface-2:       #0f1420;
        --text-1:          #e8edf5;
        --text-2:          #8da0b8;
        --text-3:          #4e6580;
        --border:          rgba(255,255,255,0.08);
        --border-color:    rgba(255,255,255,0.08);

        --th-glass-bg:     rgba(30,36,53,0.82);
        --th-glass-border: rgba(255,255,255,0.08);
        --th-surface-2:    #0f1420;
        --th-text-1:       #e8edf5;
        --th-text-2:       #8da0b8;
        --th-text-3:       #4e6580;
        --th-hero-bg:      #0a1020;
        --th-nav-bg:       rgba(20,28,45,0.92);
        --th-nav-bg-solid: #121826;
        --th-nav-border:   rgba(255,255,255,0.06);
        --th-nav-text:     rgba(255,255,255,0.75);
        --th-nav-active:   #ffffff;
        --th-footer-bg:    #080c16;
        --th-footer-text:  rgba(255,255,255,0.65);
        --th-footer-text-muted: rgba(255,255,255,0.30);
        --th-footer-border: rgba(255,255,255,0.06);
    }
    html:not([data-site-mode="light"]) body.site-body {
        background: #0f1420;
        color: #e8edf5;
    }
    html:not([data-site-mode="light"]) .site-nav {
        background: rgba(20,28,45,0.92);
        border-bottom-color: rgba(255,255,255,0.06);
    }
    html:not([data-site-mode="light"]) .site-nav .nav-link {
        color: rgba(255,255,255,0.75) !important;
    }
    html:not([data-site-mode="light"]) .glass-card,
    html:not([data-site-mode="light"]) .service-card,
    html:not([data-site-mode="light"]) .pricing-card,
    html:not([data-site-mode="light"]) .testimonial-card {
        background: rgba(30,36,53,0.80);
        border-color: rgba(255,255,255,0.08);
        color: #e8edf5;
    }
    html:not([data-site-mode="light"]) .site-section { color: #e8edf5; }
    html:not([data-site-mode="light"]) h1,
    html:not([data-site-mode="light"]) h2,
    html:not([data-site-mode="light"]) h3 { color: #e8edf5; }
    html:not([data-site-mode="light"]) p { color: #8da0b8; }
    html:not([data-site-mode="light"]) .site-footer {
        background: #080c16 !important;
        color: rgba(255,255,255,0.65);
    }
    html:not([data-site-mode="light"]) .site-cta {
        background: rgba(255,255,255,0.02);
        border-color: rgba(255,255,255,0.06);
    }
    html:not([data-site-mode="light"]) input,
    html:not([data-site-mode="light"]) select,
    html:not([data-site-mode="light"]) textarea {
        background: rgba(255,255,255,0.04);
        color: #e8edf5;
        border-color: rgba(255,255,255,0.08);
    }
}
