/* ============================================================
   HiDNS Theme — DaisyUI-inspired design system
   Based on nodeloc/opendomain source code
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* ── CSS variable bridge: DaisyUI tokens → our theme ── */
[data-bs-theme="light"] {
  --color-base-100: #ffffff;
  --color-base-200: #f2f2f2;
  --color-base-300: #e5e6e6;
  --color-base-content: #1f2937;
  --color-primary: #570df8;
  --color-primary-content: #ffffff;
  --color-secondary: #f000b8;
  --color-secondary-content: #ffffff;
  --color-accent: #37cdbe;
  --color-accent-content: #163835;
  --color-success: #22c55e;
  --color-warning: #f59e0b;
  --color-error: #ef4444;

  --nav-bg: rgba(255,255,255,0.95);
  --nav-shadow: 0 10px 15px -3px rgb(0 0 0/0.1), 0 4px 6px -4px rgb(0 0 0/0.1);  /* shadow-lg */
  --card-bg: #ffffff;
  --news-card-bg: #f2f2f2;   /* DaisyUI light base-200 */
  --card-border: rgba(0,0,0,0.08);
  --card-shadow: 0 25px 50px -12px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.04);
  --card-hover-shadow: 0 35px 60px -15px rgba(0,0,0,0.2);
  --hero-bg-from: #ffffff;
  --hero-bg-via: #f2f2f2;
  --blob-opacity: 0.15;
  --footer-bg: #f2f2f2;
  --stats-bg: #ffffff;
  --stats-border: rgba(0,0,0,0.08);
  --stat-hover-bg: #f2f2f2;
  --input-bg: #ffffff;
  --input-border: rgba(0,0,0,0.2);
  --input-focus-border: #570df8;
  --dropdown-bg: #ffffff;
  --text-primary: #1f2937;
  --text-secondary: #6b7280;
  --text-muted: #9ca3af;
}

[data-bs-theme="dark"] {
  --color-base-100: #1d232a;
  --color-base-200: #191e24;
  --color-base-300: #15191e;
  --color-base-content: #a6adbb;
  --color-primary: #793ef9;
  --color-primary-content: #ffffff;
  --color-secondary: #e779c1;
  --color-secondary-content: #ffffff;
  --color-accent: #56cfc4;
  --color-accent-content: #ffffff;
  --color-success: #36d399;
  --color-warning: #fbbd23;
  --color-error: #f87272;

  --nav-bg: rgba(29,35,42,0.95);
  --nav-shadow: 0 10px 15px -3px rgb(0 0 0/0.2), 0 4px 6px -4px rgb(0 0 0/0.15);  /* shadow-lg dark */
  --card-bg: #1d232a;
  --news-card-bg: #191e24;   /* DaisyUI dark base-200 */
  --card-border: rgba(255,255,255,0.06);
  --card-shadow: 0 25px 50px -12px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04);
  --card-hover-shadow: 0 35px 60px -15px rgba(0,0,0,0.6);
  --hero-bg-from: #1d232a;
  --hero-bg-via: #191e24;
  --blob-opacity: 0.12;
  --footer-bg: #191e24;
  --stats-bg: #1d232a;
  --stats-border: rgba(255,255,255,0.06);
  --stat-hover-bg: #191e24;
  --input-bg: #191e24;
  --input-border: rgba(255,255,255,0.12);
  --input-focus-border: #793ef9;
  --dropdown-bg: #1d232a;
  --text-primary: #a6adbb;
  --text-secondary: #717c8e;
  --text-muted: #4b5563;
}

/* ── Base ── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  background-color: var(--color-base-100);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  margin: 0; padding: 0;
  overflow-y: auto !important;   /* override Bootstrap overflow-y:scroll */
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* ============================================================
   NAVIGATION
   nodeloc: "navbar bg-base-100 shadow-lg sticky top-0 z-50"
   ============================================================ */
.hidns-nav {
  position: sticky;
  top: 0; z-index: 50;
  background: var(--nav-bg);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--nav-shadow);
  transition: background 0.3s ease;
}
.nav-inner {
  width: 100%;
  padding: 0 16px; height: 64px;
  display: flex; align-items: center; gap: 8px;
  justify-content: space-between;
}

/* Logo — "btn btn-ghost text-xl font-bold" */
.hidns-logo {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 1.25rem; font-weight: 700;
  color: var(--text-primary); text-decoration: none;
  padding: 6px 12px; border-radius: 8px;
  transition: background 0.2s ease;
  white-space: nowrap; flex-shrink: 0;
}
.hidns-logo:hover { background: var(--color-base-200); color: var(--text-primary); }
.hidns-logo-icon {
  width: 28px; height: 28px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; flex-shrink: 0;
}

/* Center links (desktop only) */
.nav-center {
  flex: 1; display: flex; align-items: center;
  justify-content: center; gap: 4px;
}
@media (max-width: 1024px) { .nav-center { display: none; } }

.nav-link {
  padding: 8px 14px; border-radius: 8px;
  font-size: 14px; font-weight: 500;
  color: var(--text-secondary); text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.nav-link:hover { background: var(--color-base-200); color: var(--text-primary); }

/* Right controls */
.nav-end { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }

/* Language button — "btn btn-ghost btn-circle" style */
.lang-dropdown-wrap { position: relative; }
.lang-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: none; background: transparent;
  color: var(--text-secondary); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
}
.lang-btn:hover { background: var(--color-base-200); color: var(--text-primary); }
.lang-btn svg { width: 20px; height: 20px; }

.lang-dropdown {
  position: absolute; top: calc(100% + 8px); right: 0;
  background: var(--dropdown-bg);
  border: 1px solid var(--card-border);
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.15);
  padding: 8px; min-width: 160px; z-index: 100;
  display: none;
}
.lang-dropdown.open { display: block; }
.lang-dropdown a {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-radius: 8px;
  font-size: 14px; color: var(--text-primary);
  text-decoration: none; cursor: pointer;
  transition: background 0.15s ease;
}
.lang-dropdown a:hover,
.lang-dropdown a.lang-active { background: var(--color-primary); color: #fff; }
.lang-flag { font-size: 1.2em; }

/* Theme toggle — "swap swap-rotate btn btn-ghost btn-circle" */
.hidns-theme-toggle {
  width: 40px; height: 40px; border-radius: 50%;
  border: none; background: transparent;
  color: var(--text-secondary); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s ease, color 0.2s ease;
}
.hidns-theme-toggle:hover { background: var(--color-base-200); color: var(--text-primary); }
.hidns-theme-toggle svg { width: 24px; height: 24px; }
[data-bs-theme="dark"]  .icon-sun  { display: block; }
[data-bs-theme="dark"]  .icon-moon { display: none; }
[data-bs-theme="light"] .icon-sun  { display: none; }
[data-bs-theme="light"] .icon-moon { display: block; }

/* Auth buttons */
.btn-nav-ghost {
  padding: 8px 16px; border-radius: 8px; border: none;
  background: transparent; color: var(--text-primary);
  font-size: 14px; font-weight: 500; font-family: inherit;
  text-decoration: none; cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
  display: inline-flex; align-items: center;
}
.btn-nav-ghost:hover { background: var(--color-base-200); color: var(--text-primary); }

.btn-nav-primary {
  padding: 8px 16px; border-radius: 8px; border: none;
  background: var(--color-primary); color: var(--color-primary-content);
  font-size: 14px; font-weight: 600; font-family: inherit;
  text-decoration: none; cursor: pointer;
  transition: opacity 0.2s ease;
  white-space: nowrap;
  display: inline-flex; align-items: center;
}
.btn-nav-primary:hover { opacity: 0.85; color: var(--color-primary-content); }

/* User avatar dropdown */
.user-dropdown-wrap { position: relative; }
.user-avatar-btn {
  width: 40px; height: 40px; border-radius: 50%;
  border: none; background: transparent;
  cursor: pointer; padding: 2px;
  transition: box-shadow 0.2s ease;
}
.user-avatar-btn:hover { box-shadow: 0 0 0 3px var(--color-primary); }
.user-avatar-btn img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }

.user-dropdown {
  position: absolute; top: calc(100% + 8px); right: 0;
  background: var(--dropdown-bg); border: 1px solid var(--card-border);
  border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,0.15);
  padding: 8px; min-width: 200px; z-index: 100;
  display: none;
}
.user-dropdown.open { display: block; }
.user-dropdown-title {
  padding: 6px 12px 10px; font-size: 12px;
  font-weight: 700; opacity: 0.5;
  color: var(--text-primary); text-transform: uppercase;
  letter-spacing: 0.05em;
}
.user-dropdown a {
  display: flex; align-items: center; gap: 8px;
  padding: 8px 12px; border-radius: 8px;
  font-size: 14px; color: var(--text-primary);
  text-decoration: none; transition: background 0.15s ease;
}
.user-dropdown a:hover { background: var(--color-base-200); }
.user-dropdown a.danger { color: var(--color-error); }
.user-dropdown a.danger:hover { background: rgba(239,68,68,0.1); }
.user-dropdown svg { width: 16px; height: 16px; flex-shrink: 0; }
.user-dropdown hr { border: none; border-top: 1px solid var(--card-border); margin: 6px 0; }

/* Mobile hamburger */
.hidns-mobile-toggle {
  display: none; width: 40px; height: 40px;
  border-radius: 8px; border: none; background: transparent;
  color: var(--text-secondary); cursor: pointer;
  align-items: center; justify-content: center;
  transition: background 0.2s ease;
}
.hidns-mobile-toggle:hover { background: var(--color-base-200); }
.hidns-mobile-toggle svg { width: 20px; height: 20px; }
@media (max-width: 1024px) {
  .hidns-mobile-toggle { display: flex; }
  .btn-nav-ghost, .btn-nav-primary { display: none; }
  .lang-dropdown-wrap { display: none; }
  .nav-item { display: none; }
}

/* Mobile menu */
.hidns-mobile-menu {
  display: none; padding: 8px 16px 16px;
  border-top: 1px solid var(--card-border);
  background: var(--nav-bg);
  flex-direction: column; gap: 4px;
}
.hidns-mobile-menu.open { display: flex; }
.hidns-mobile-menu a {
  display: block; padding: 10px 12px; border-radius: 8px;
  font-size: 14px; color: var(--text-primary);
  text-decoration: none; transition: background 0.15s ease;
}
.hidns-mobile-menu a:hover { background: var(--color-base-200); }
.hidns-mobile-menu .danger { color: var(--color-error); }

/* ============================================================
   PUBLIC LAYOUT WRAPPER
   ============================================================ */
.hidns-public-wrap { min-height: calc(100vh - 64px); }

/* ============================================================
   HERO SECTION
   nodeloc: "w-full min-h-[80vh] bg-gradient-to-b from-base-100 via-base-200 to-base-100
             relative overflow-hidden flex items-center justify-center"
   ============================================================ */
.hidns-hero {
  width: 100%; min-height: 80vh;
  background: linear-gradient(to bottom, var(--hero-bg-from), var(--hero-bg-via), var(--hero-bg-from));
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}

/* Blobs — "absolute inset-0 opacity-10" */
.hero-blobs {
  position: absolute; inset: 0;
  opacity: var(--blob-opacity); pointer-events: none;
}
.hero-blob {
  position: absolute; width: 288px; height: 288px;
  border-radius: 50%; filter: blur(48px);
}
.hero-blob-1 { top: 80px; left: 40px; background: var(--color-primary); animation: blob 7s infinite; }
.hero-blob-2 { top: 160px; right: 40px; background: var(--color-secondary); animation: blob 7s infinite 2s; }
.hero-blob-3 { bottom: -80px; left: 50%; background: var(--color-accent); animation: blob3 7s infinite 4s; }
@keyframes blob {
  0%   { transform: translate(0,0) scale(1); }
  33%  { transform: translate(30px,-50px) scale(1.1); }
  66%  { transform: translate(-20px,20px) scale(0.9); }
  100% { transform: translate(0,0) scale(1); }
}
@keyframes blob3 {
  0%   { transform: translateX(-50%) translate(0,0) scale(1); }
  33%  { transform: translateX(-50%) translate(30px,-50px) scale(1.1); }
  66%  { transform: translateX(-50%) translate(-20px,20px) scale(0.9); }
  100% { transform: translateX(-50%) translate(0,0) scale(1); }
}

/* Hero content */
.hero-content-wrap {
  width: 100%; text-align: center;
  position: relative; z-index: 10;
  padding: 80px 0;
}
.hero-content-inner {
  max-width: 1024px; margin: 0 auto; padding: 0 16px;
}

/* Hero text — animate-fade-in */
.hero-text {
  margin-bottom: 40px;
  animation: fadeInUp 0.8s ease-out;
}
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Title — "text-5xl md:text-7xl font-extrabold leading-tight" */
.hero-title {
  font-size: clamp(2.5rem, 7vw, 4.5rem);
  font-weight: 800; line-height: 1.1;
  color: var(--text-primary); margin: 0 0 8px 0;
}
/* "block mt-2 bg-gradient-to-r from-primary via-secondary to-accent bg-clip-text text-transparent animate-gradient" */
.hero-title-gradient {
  display: block; margin-top: 8px;
  background: linear-gradient(to right, var(--color-primary), var(--color-secondary), var(--color-accent));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; background-size: 200% 200%;
  animation: gradientShift 3s ease infinite;
}
@keyframes gradientShift {
  0%,100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}

/* Description — "text-xl md:text-2xl opacity-70 max-w-3xl mx-auto" */
.hero-desc {
  font-size: clamp(1rem, 2.5vw, 1.25rem);
  opacity: 0.7; max-width: 768px; margin: 16px auto 0;
  line-height: 1.6; color: var(--text-primary);
}

/* Trust badges — "flex flex-wrap items-center justify-center gap-4 text-sm opacity-60" */
.hero-badges {
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: center;
  gap: 16px; margin-top: 16px; opacity: 0.6;
}
.hero-badge-item {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; color: var(--text-primary);
}
.hero-badge-item svg { width: 20px; height: 20px; color: var(--color-success); flex-shrink: 0; }

/* ── Search Card ──
   "card bg-base-100 shadow-2xl p-6 md:p-10 border border-base-300 backdrop-blur-sm
    hover:shadow-3xl transition-all duration-300 animate-slide-up"
*/
.search-card {
  background: var(--card-bg);
  border-radius: 16px;
  box-shadow: var(--card-shadow);
  border: 1px solid var(--card-border);
  padding: 24px 40px 32px;
  backdrop-filter: blur(8px);
  transition: box-shadow 0.3s ease;
  animation: slideUp 0.8s ease-out 0.2s both;
}
@keyframes slideUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}
.search-card:hover { box-shadow: var(--card-hover-shadow); }
@media (max-width: 640px) { .search-card { padding: 20px 16px 24px; } }

/* "flex flex-col md:flex-row gap-3" */
.search-form-row { display: flex; gap: 12px; align-items: stretch; }
@media (max-width: 768px) { .search-form-row { flex-direction: column; } }

/* Domain input — "input input-bordered input-lg w-full" */
.search-input-wrap { flex: 1; position: relative; }
.search-input {
  width: 100%; height: 56px; padding: 0 48px 0 16px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  border-radius: 10px; font-size: 16px; font-family: inherit;
  color: var(--text-primary); outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.search-input:focus {
  border-color: var(--input-focus-border);
  box-shadow: 0 0 0 3px rgba(87,13,248,0.12);
  transform: scale(1.01);
}
[data-bs-theme="dark"] .search-input:focus { box-shadow: 0 0 0 3px rgba(121,62,249,0.2); }
.search-input::placeholder { color: var(--text-muted); }
.search-input-icon {
  position: absolute; right: 14px; top: 50%;
  transform: translateY(-50%); opacity: 0.4;
  color: var(--text-primary); pointer-events: none;
  transition: opacity 0.2s ease;
}
.search-input-wrap:focus-within .search-input-icon { opacity: 0.7; }
.search-input-icon svg { width: 24px; height: 24px; }

/* TLD Select — "select select-bordered select-lg md:w-52" */
.search-select {
  height: 56px; width: 210px; padding: 0 36px 0 16px;
  background: var(--input-bg); border: 1px solid var(--input-border);
  border-radius: 10px; font-size: 16px; font-family: inherit;
  color: var(--text-primary); outline: none; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='%23888'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
  transition: border-color 0.2s ease, transform 0.2s ease;
}
.search-select:focus {
  border-color: var(--input-focus-border);
  box-shadow: 0 0 0 3px rgba(87,13,248,0.12);
  transform: scale(1.01); outline: none;
}
@media (max-width: 768px) { .search-select { width: 100%; } }

/* Search button — "btn btn-primary btn-lg md:w-40 gap-2 hover:scale-105 active:scale-95" */
.search-btn {
  height: 56px; width: 160px; border-radius: 10px; border: none;
  background: var(--color-primary); color: var(--color-primary-content);
  font-size: 16px; font-weight: 600; font-family: inherit;
  cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap; flex-shrink: 0;
}
.search-btn:hover { transform: scale(1.05); box-shadow: 0 8px 24px rgba(87,13,248,0.35); }
.search-btn:active { transform: scale(0.95); }
.search-btn svg { width: 20px; height: 20px; }
@media (max-width: 768px) { .search-btn { width: 100%; } }

/* Search result — alert boxes */
.search-result { margin-top: 24px; animation: fadeInUp 0.3s ease-out; }
.alert-box {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  border-radius: 12px; padding: 16px 20px;
  border-width: 2px; border-style: solid;
}
.alert-box.success {
  background: rgba(34,197,94,0.1); border-color: rgba(34,197,94,0.25);
}
.alert-box.warning {
  background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.25);
}
.alert-icon { flex-shrink: 0; }
.alert-icon svg { width: 24px; height: 24px; }
.alert-box.success .alert-icon { color: var(--color-success); }
.alert-box.warning .alert-icon { color: var(--color-warning); }
.alert-body { flex: 1; }
.alert-title { font-weight: 700; font-size: 16px; margin: 0 0 4px; color: var(--text-primary); }
.alert-desc  { font-size: 14px; opacity: 0.8; margin: 0; color: var(--text-secondary); }
.alert-action {
  padding: 6px 16px; border-radius: 8px; border: none;
  font-size: 14px; font-weight: 600; font-family: inherit; cursor: pointer;
  display: inline-flex; align-items: center; gap: 6px;
  transition: transform 0.2s ease; text-decoration: none;
}
.alert-action:hover { transform: scale(1.05); }
.alert-action.success-btn { background: var(--color-success); color: #fff; }
.alert-action.outline-btn { background: transparent; border: 1px solid var(--card-border); color: var(--text-primary); }

/* ============================================================
   FEATURES SECTION
   nodeloc: "w-full py-20 bg-base-100"
   ============================================================ */
.hidns-features {
  width: 100%; padding: 80px 0;
  background: var(--color-base-100);
}
.section-inner { max-width: 1280px; margin: 0 auto; padding: 0 16px; }

/* Section header — "text-center mb-16 space-y-4" */
.section-header { text-align: center; margin-bottom: 64px; }
.section-title {
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 700; color: var(--text-primary);
  margin: 0 0 16px 0; line-height: 1.2;
}
.section-subtitle {
  font-size: clamp(1rem, 2vw, 1.25rem);
  opacity: 0.6; max-width: 512px;
  margin: 0 auto; color: var(--text-primary); line-height: 1.5;
}

/* Grid — "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8" */
.features-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 1024px) { .features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .features-grid { grid-template-columns: 1fr; gap: 24px; } }

/* Card —
   "card bg-base-200/50 shadow-xl hover:shadow-2xl hover:scale-105
    transition-all duration-300 border border-base-300 backdrop-blur-sm group"
*/
.feature-card {
  background: rgba(0,0,0,0.02);
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.08), 0 8px 10px -6px rgba(0,0,0,0.06);
  border: 1px solid var(--card-border);
  border-radius: 16px; backdrop-filter: blur(4px);
  padding: 32px 24px; text-align: center;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  display: flex; flex-direction: column; align-items: center;
}
[data-bs-theme="dark"] .feature-card { background: rgba(255,255,255,0.02); }
.feature-card:hover {
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.2);
  transform: scale(1.05);
}

/* Icon — "w-20 h-20 rounded-full bg-primary/10 flex items-center justify-center mb-4 group-hover:scale-110" */
.feature-icon {
  width: 80px; height: 80px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px; transition: transform 0.3s ease;
}
.feature-card:hover .feature-icon { transform: scale(1.1); }
.feature-icon svg { width: 40px; height: 40px; }

.feature-icon.primary   { background: rgba(87,13,248,0.1);   color: var(--color-primary); }
.feature-icon.secondary { background: rgba(240,0,184,0.1);   color: var(--color-secondary); }
.feature-icon.accent    { background: rgba(55,205,190,0.1);  color: var(--color-accent); }
[data-bs-theme="dark"] .feature-icon.primary   { background: rgba(121,62,249,0.15); color: #a78bfa; }
[data-bs-theme="dark"] .feature-icon.secondary { background: rgba(231,121,193,0.15); color: #f9a8d4; }
[data-bs-theme="dark"] .feature-icon.accent    { background: rgba(86,207,196,0.15); color: #5eead4; }

.feature-name { font-size: 1.25rem; font-weight: 700; color: var(--text-primary); margin: 0 0 8px; }
.feature-desc { font-size: 14px; opacity: 0.7; color: var(--text-primary); line-height: 1.6; margin: 0; }

/* ============================================================
   STATS SECTION
   nodeloc: "w-full py-20 bg-base-200/50"
   DaisyUI stats: "stats stats-vertical lg:stats-horizontal shadow-2xl w-full bg-base-100 border border-base-300"
   ============================================================ */
.hidns-stats {
  width: 100%; padding: 80px 0;
  background: rgba(0,0,0,0.02);
}
[data-bs-theme="dark"] .hidns-stats { background: rgba(255,255,255,0.015); }

.stats-component {
  display: flex; flex-direction: row;
  background: var(--stats-bg);
  border: 1px solid var(--stats-border);
  border-radius: 16px;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.15);
  overflow: hidden; width: 100%;
}
@media (max-width: 1024px) { .stats-component { flex-direction: column; } }

.stat-item {
  flex: 1; padding: 24px 32px;
  display: flex; flex-direction: column; gap: 4px;
  position: relative; transition: background 0.3s ease;
  border-right: 1px solid var(--stats-border);
}
.stat-item:last-child { border-right: none; }
.stat-item:hover { background: var(--stat-hover-bg); }
@media (max-width: 1024px) {
  .stat-item { border-right: none; border-bottom: 1px solid var(--stats-border); }
  .stat-item:last-child { border-bottom: none; }
}

/* "stat-figure text-primary" — top-right icon */
.stat-figure {
  position: absolute; top: 24px; right: 24px;
}
.stat-figure svg { width: 40px; height: 40px; }
.stat-figure.primary   { color: var(--color-primary); }
.stat-figure.secondary { color: var(--color-secondary); }
.stat-figure.accent    { color: var(--color-accent); }

.stat-label  { font-size: 1rem; color: var(--text-secondary); margin: 0; }
.stat-value  { font-size: clamp(2.5rem, 5vw, 3rem); font-weight: 700; margin: 4px 0; line-height: 1; }
.stat-value.primary   { color: var(--color-primary); }
.stat-value.secondary { color: var(--color-secondary); }
.stat-value.accent    { color: var(--color-accent); }
.stat-note   { font-size: 0.875rem; opacity: 0.6; color: var(--text-primary); margin: 0; }

/* ============================================================
   CTA SECTION
   nodeloc: "w-full py-20 bg-gradient-to-r from-primary via-secondary to-accent relative overflow-hidden"
   ============================================================ */
.hidns-cta {
  width: 100%; padding: 80px 0;
  background: linear-gradient(to right, var(--color-primary), var(--color-secondary), var(--color-accent));
  position: relative; overflow: hidden;
}
.cta-blobs { position: absolute; inset: 0; opacity: 0.1; pointer-events: none; }
.cta-blob {
  position: absolute; width: 384px; height: 384px;
  background: #fff; border-radius: 50%; filter: blur(48px);
}
.cta-blob-1 { top: 0; left: 0; animation: blob 7s infinite; }
.cta-blob-2 { bottom: 0; right: 0; animation: blob 7s infinite 2s; }

.cta-inner {
  max-width: 768px; margin: 0 auto; padding: 0 16px;
  text-align: center; position: relative; z-index: 10;
}
/* "text-4xl md:text-5xl font-bold mb-6 text-white" */
.cta-title { font-size: clamp(1.75rem, 5vw, 3rem); font-weight: 700; color: #fff; margin: 0 0 24px; }
/* "text-xl md:text-2xl mb-10 text-white/90 max-w-2xl mx-auto" */
.cta-desc { font-size: clamp(1rem, 2.5vw, 1.25rem); color: rgba(255,255,255,0.9); margin: 0 auto 40px; max-width: 512px; }
/* "flex flex-col sm:flex-row gap-4 justify-center" */
.cta-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* "btn btn-lg bg-white text-primary hover:bg-base-100 hover:scale-105 shadow-xl" */
.btn-cta-white {
  padding: 14px 28px; border-radius: 10px; border: none;
  background: #fff; color: var(--color-primary);
  font-size: 16px; font-weight: 700; font-family: inherit;
  text-decoration: none; cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1);
  transition: transform 0.2s ease, background 0.2s ease;
}
.btn-cta-white:hover { background: #f3f4f6; transform: scale(1.05); color: var(--color-primary); }
.btn-cta-white svg { width: 24px; height: 24px; }

/* "btn btn-lg btn-outline text-white border-white hover:bg-white hover:text-primary hover:scale-105" */
.btn-cta-outline {
  padding: 14px 28px; border-radius: 10px;
  border: 2px solid rgba(255,255,255,0.8);
  background: transparent; color: #fff;
  font-size: 16px; font-weight: 600; font-family: inherit;
  text-decoration: none; cursor: pointer;
  display: inline-flex; align-items: center;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.btn-cta-outline:hover { background: #fff; color: var(--color-primary); transform: scale(1.05); }

/* ============================================================
   FOOTER
   nodeloc: "footer p-10 bg-base-200 text-base-content"
   ============================================================ */
.hidns-footer {
  width: 100%; background: var(--footer-bg); padding: 40px 2rem;
  box-sizing: border-box;
}
.footer-inner {
  max-width: 1280px; margin: 0 auto;
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 32px;
}
@media (max-width: 1024px) { .footer-inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  { .footer-inner { grid-template-columns: 1fr; } .hidns-footer { padding: 32px 16px; } }

.footer-brand-name { font-size: 1rem; font-weight: 700; color: var(--text-primary); margin: 0 0 8px; }
.footer-brand-desc { font-size: 14px; opacity: 0.7; color: var(--text-primary); margin: 0 0 8px; line-height: 1.5; }
.footer-copy { font-size: 12px; opacity: 0.5; color: var(--text-primary); margin: 0; }

/* "footer-title" */
.footer-col-title {
  font-size: 12px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; opacity: 0.5;
  color: var(--text-primary); margin: 0 0 12px;
}
.footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
.footer-links a { font-size: 14px; color: var(--text-primary); text-decoration: none; opacity: 0.7; transition: opacity 0.2s ease; }
.footer-links a:hover { opacity: 1; text-decoration: underline; }

/* ============================================================
   LOGGED-IN LAYOUT (layout_default)
   ============================================================ */
.hidns-default-wrap { display: flex; min-height: calc(100vh - 64px); }

.hidns-sidebar {
  width: 240px; flex-shrink: 0;
  background: var(--color-base-200);
  border-right: 1px solid var(--card-border);
  padding: 24px 12px;
  position: sticky; top: 64px;
  height: calc(100vh - 64px); overflow-y: auto;
}
@media (max-width: 1024px) { .hidns-sidebar { display: none; } }

.sidebar-menu { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 2px; }
.sidebar-menu a {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 10px;
  font-size: 14px; font-weight: 500;
  color: var(--text-secondary); text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.sidebar-menu a:hover { background: var(--color-base-100); color: var(--text-primary); }
.sidebar-menu a.active { background: var(--color-primary); color: var(--color-primary-content); }
.sidebar-menu svg { width: 18px; height: 18px; flex-shrink: 0; }
.sidebar-section-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--text-muted);
  padding: 16px 14px 6px; margin: 0;
}

.hidns-main-content { flex: 1; padding: 32px; min-width: 0; }
@media (max-width: 768px) { .hidns-main-content { padding: 20px 16px; } }

/* ============================================================
   FLASH MESSAGES
   ============================================================ */
.hidns-alert {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 18px; border-radius: 10px;
  margin-bottom: 16px; font-size: 14px; font-weight: 500;
}
.hidns-alert-success { background: rgba(34,197,94,0.12);  border: 1px solid rgba(34,197,94,0.25);  color: var(--color-success); }
.hidns-alert-error   { background: rgba(239,68,68,0.12);  border: 1px solid rgba(239,68,68,0.25);  color: var(--color-error); }
.hidns-alert-warning { background: rgba(245,158,11,0.12); border: 1px solid rgba(245,158,11,0.25); color: var(--color-warning); }
.hidns-alert-info    { background: rgba(87,13,248,0.08);  border: 1px solid rgba(87,13,248,0.2);   color: var(--color-primary); }

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination { display: flex; justify-content: center; gap: 4px; margin: 32px 0; }
.pagination a, .pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; border-radius: 8px;
  font-size: 14px; font-weight: 500; text-decoration: none;
  transition: background 0.15s ease;
  color: var(--text-secondary); border: 1px solid var(--card-border);
  background: var(--card-bg);
}
.pagination a:hover { background: var(--color-base-200); color: var(--text-primary); }
.pagination .active { background: var(--color-primary); color: #fff; border-color: var(--color-primary); }

/* ============================================================
   PENDING MESSAGES BAR
   ============================================================ */
.pending-invoice-bar {
  background: rgba(245,158,11,0.1);
  border-bottom: 1px solid rgba(245,158,11,0.25);
  padding: 10px 16px; text-align: center;
  font-size: 14px; color: var(--color-warning);
}

/* ============================================================
   ERROR PAGE
   ============================================================ */
.error-page {
  min-height: 60vh; display: flex; flex-direction: column;
  align-items: center; justify-content: center;
  text-align: center; padding: 40px 16px;
}
.error-code {
  font-size: 6rem; font-weight: 800; line-height: 1; margin: 0 0 16px;
  background: linear-gradient(to right, var(--color-primary), var(--color-secondary));
  -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.error-msg { font-size: 1.25rem; color: var(--text-secondary); margin: 0 0 32px; }
.btn-back {
  padding: 12px 28px; border-radius: 10px; border: none;
  background: var(--color-primary); color: var(--color-primary-content);
  font-size: 15px; font-weight: 600; font-family: inherit; cursor: pointer;
  text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
  transition: opacity 0.2s ease;
}
.btn-back:hover { opacity: 0.85; color: var(--color-primary-content); }

/* ============================================================
   SCROLLBAR
   ============================================================ */
/* Global scrollbar: use browser native (no custom override, matches nodeloc) */

/* ── Language dropdown: max-height + scroll fix ── */
.lang-dropdown {
  max-height: 320px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
/* Custom scrollbar inside dropdown */
.lang-dropdown::-webkit-scrollbar { width: 4px; }
.lang-dropdown::-webkit-scrollbar-track { background: transparent; }
.lang-dropdown::-webkit-scrollbar-thumb { background: rgba(128,128,128,0.3); border-radius: 2px; }

/* ── Domain search result box ── */
.hidns-search-result {
  border-radius: 12px;
  border: 1px solid;
  padding: 1rem 1.25rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.hidns-search-result--success {
  background: rgba(54,211,153,0.12);
  border-color: rgba(54,211,153,0.4);
}
.hidns-search-result--warning {
  background: rgba(251,189,35,0.12);
  border-color: rgba(251,189,35,0.4);
}
.sr-icon { flex-shrink: 0; }
.sr-icon svg { width: 1.5rem; height: 1.5rem; stroke: currentColor; fill: none; }
.sr-icon--success svg { color: #36d399; }
.sr-icon--warning svg { color: #fbbd23; }
.sr-body { flex: 1; min-width: 0; }
.sr-title {
  display: block; font-size: 1rem; font-weight: 700;
  color: var(--text-primary); margin-bottom: 0.25rem;
}
.sr-desc { font-size: 0.875rem; color: var(--text-secondary); margin: 0; line-height: 1.5; }
.sr-actions { display: flex; flex-direction: column; gap: 0.5rem; width: 100%; margin-top: 0.5rem; }
@media (min-width: 640px) {
  .sr-actions { flex-direction: row; width: auto; margin-top: 0; }
  .hidns-search-result { flex-wrap: nowrap; align-items: center; }
  .sr-body { flex: 1; }
}
.sr-btn {
  display: inline-flex; align-items: center; gap: 0.375rem;
  padding: 0.5rem 1rem; border-radius: 8px;
  font-size: 0.875rem; font-weight: 600;
  cursor: pointer; text-decoration: none;
  transition: all 0.2s ease; white-space: nowrap; border: none;
}
.sr-btn--success { background: #36d399; color: #fff; }
.sr-btn--success:hover { background: #2bb87f; color: #fff; transform: scale(1.03); }
.sr-btn--outline { background: transparent; border: 1px solid var(--card-border); color: var(--text-primary); }
.sr-btn--outline:hover { background: var(--color-base-200); }
.sr-btn svg { width: 1rem; height: 1rem; stroke: currentColor; fill: none; flex-shrink: 0; }

/* ── Search button loading spinner ── */
@keyframes spin { to { transform: rotate(360deg); } }
.hidns-spinner { animation: spin 0.8s linear infinite; display: inline-block; }


/* ============================================================
   FLAG ICON CSS — reused from huraga build (absolute paths)
   Source: /themes/huraga/build/images/*.svg
   ============================================================ */
.fi,.fib{background-position:50%;background-repeat:no-repeat;background-size:contain}
.fi{display:inline-block;line-height:1em;position:relative;width:1.333333em}
.fi:before{content:" "}
.fi.fis{width:1em}
.fi-xx{background-image:url(/themes/huraga/build/images/xx.96f901b4.svg)}
.fi-xx.fis{background-image:url(/themes/huraga/build/images/xx.aa8f6670.svg)}
.fi-ad{background-image:url(/themes/huraga/build/images/ad.5a5f3d81.svg)}
.fi-ad.fis{background-image:url(/themes/huraga/build/images/ad.4578dd00.svg)}
.fi-ae{background-image:url(/themes/huraga/build/images/ae.25074606.svg)}
.fi-ae.fis{background-image:url(/themes/huraga/build/images/ae.e3396fd0.svg)}
.fi-af{background-image:url(/themes/huraga/build/images/af.4e045b3d.svg)}
.fi-af.fis{background-image:url(/themes/huraga/build/images/af.53c1a623.svg)}
.fi-ag{background-image:url(/themes/huraga/build/images/ag.4852b5c9.svg)}
.fi-ag.fis{background-image:url(/themes/huraga/build/images/ag.677e23c7.svg)}
.fi-ai{background-image:url(/themes/huraga/build/images/ai.e30aaaa5.svg)}
.fi-ai.fis{background-image:url(/themes/huraga/build/images/ai.769d0f8a.svg)}
.fi-al{background-image:url(/themes/huraga/build/images/al.39bea1bb.svg)}
.fi-al.fis{background-image:url(/themes/huraga/build/images/al.7c441ab1.svg)}
.fi-am{background-image:url(/themes/huraga/build/images/am.683c20ed.svg)}
.fi-am.fis{background-image:url(/themes/huraga/build/images/am.eaae878c.svg)}
.fi-ao{background-image:url(/themes/huraga/build/images/ao.61f30477.svg)}
.fi-ao.fis{background-image:url(/themes/huraga/build/images/ao.5f3847a7.svg)}
.fi-aq{background-image:url(/themes/huraga/build/images/aq.2405e38d.svg)}
.fi-aq.fis{background-image:url(/themes/huraga/build/images/aq.0aff28fa.svg)}
.fi-ar{background-image:url(/themes/huraga/build/images/ar.a020c650.svg)}
.fi-ar.fis{background-image:url(/themes/huraga/build/images/ar.a6fa6ec4.svg)}
.fi-as{background-image:url(/themes/huraga/build/images/as.c7e4903a.svg)}
.fi-as.fis{background-image:url(/themes/huraga/build/images/as.294ef8bf.svg)}
.fi-at{background-image:url(/themes/huraga/build/images/at.d9c6c6ac.svg)}
.fi-at.fis{background-image:url(/themes/huraga/build/images/at.9fae77ce.svg)}
.fi-au{background-image:url(/themes/huraga/build/images/au.8cc94330.svg)}
.fi-au.fis{background-image:url(/themes/huraga/build/images/au.97435dd8.svg)}
.fi-aw{background-image:url(/themes/huraga/build/images/aw.6c82c52f.svg)}
.fi-aw.fis{background-image:url(/themes/huraga/build/images/aw.a4cfc016.svg)}
.fi-ax{background-image:url(/themes/huraga/build/images/ax.dd048088.svg)}
.fi-ax.fis{background-image:url(/themes/huraga/build/images/ax.3882371f.svg)}
.fi-az{background-image:url(/themes/huraga/build/images/az.ffc79bfa.svg)}
.fi-az.fis{background-image:url(/themes/huraga/build/images/az.acf7a85a.svg)}
.fi-ba{background-image:url(/themes/huraga/build/images/ba.64e381d4.svg)}
.fi-ba.fis{background-image:url(/themes/huraga/build/images/ba.2d7f430f.svg)}
.fi-bb{background-image:url(/themes/huraga/build/images/bb.333ab7bf.svg)}
.fi-bb.fis{background-image:url(/themes/huraga/build/images/bb.4b64dc6c.svg)}
.fi-bd{background-image:url(/themes/huraga/build/images/bd.0ad8c443.svg)}
.fi-bd.fis{background-image:url(/themes/huraga/build/images/bd.a62e330d.svg)}
.fi-be{background-image:url(/themes/huraga/build/images/be.e9ec217e.svg)}
.fi-be.fis{background-image:url(/themes/huraga/build/images/be.fb381534.svg)}
.fi-bf{background-image:url(/themes/huraga/build/images/bf.a3957b0a.svg)}
.fi-bf.fis{background-image:url(/themes/huraga/build/images/bf.bb616c9e.svg)}
.fi-bg{background-image:url(/themes/huraga/build/images/bg.9618f3e4.svg)}
.fi-bg.fis{background-image:url(/themes/huraga/build/images/bg.28afe0b8.svg)}
.fi-bh{background-image:url(/themes/huraga/build/images/bh.3310879d.svg)}
.fi-bh.fis{background-image:url(/themes/huraga/build/images/bh.d6e3bed5.svg)}
.fi-bi{background-image:url(/themes/huraga/build/images/bi.5d343510.svg)}
.fi-bi.fis{background-image:url(/themes/huraga/build/images/bi.69b06700.svg)}
.fi-bj{background-image:url(/themes/huraga/build/images/bj.b04c72b6.svg)}
.fi-bj.fis{background-image:url(/themes/huraga/build/images/bj.c1bc198c.svg)}
.fi-bl{background-image:url(/themes/huraga/build/images/bl.67c5ef35.svg)}
.fi-bl.fis{background-image:url(/themes/huraga/build/images/bl.66cdc56c.svg)}
.fi-bm{background-image:url(/themes/huraga/build/images/bm.b04bb306.svg)}
.fi-bm.fis{background-image:url(/themes/huraga/build/images/bm.c52abee6.svg)}
.fi-bn{background-image:url(/themes/huraga/build/images/bn.43328fe6.svg)}
.fi-bn.fis{background-image:url(/themes/huraga/build/images/bn.e940cea8.svg)}
.fi-bo{background-image:url(/themes/huraga/build/images/bo.2df6927f.svg)}
.fi-bo.fis{background-image:url(/themes/huraga/build/images/bo.ec97b77b.svg)}
.fi-bq{background-image:url(/themes/huraga/build/images/bq.04ca6698.svg)}
.fi-bq.fis{background-image:url(/themes/huraga/build/images/bq.1698f288.svg)}
.fi-br{background-image:url(/themes/huraga/build/images/br.d0cbca18.svg)}
.fi-br.fis{background-image:url(/themes/huraga/build/images/br.a608b558.svg)}
.fi-bs{background-image:url(/themes/huraga/build/images/bs.056e551c.svg)}
.fi-bs.fis{background-image:url(/themes/huraga/build/images/bs.7dbd1c16.svg)}
.fi-bt{background-image:url(/themes/huraga/build/images/bt.8037950f.svg)}
.fi-bt.fis{background-image:url(/themes/huraga/build/images/bt.fe5e31ef.svg)}
.fi-bv{background-image:url(/themes/huraga/build/images/bv.3d8e6f49.svg)}
.fi-bv.fis{background-image:url(/themes/huraga/build/images/bv.976c853a.svg)}
.fi-bw{background-image:url(/themes/huraga/build/images/bw.286ba8fe.svg)}
.fi-bw.fis{background-image:url(/themes/huraga/build/images/bw.b6a321af.svg)}
.fi-by{background-image:url(/themes/huraga/build/images/by.94500569.svg)}
.fi-by.fis{background-image:url(/themes/huraga/build/images/by.c3df5b1d.svg)}
.fi-bz{background-image:url(/themes/huraga/build/images/bz.224e3b4d.svg)}
.fi-bz.fis{background-image:url(/themes/huraga/build/images/bz.ad6f06f4.svg)}
.fi-ca{background-image:url(/themes/huraga/build/images/ca.2ef1694a.svg)}
.fi-ca.fis{background-image:url(/themes/huraga/build/images/ca.27f31b05.svg)}
.fi-cc{background-image:url(/themes/huraga/build/images/cc.1e4d4d1f.svg)}
.fi-cc.fis{background-image:url(/themes/huraga/build/images/cc.1e40e3de.svg)}
.fi-cd{background-image:url(/themes/huraga/build/images/cd.80689945.svg)}
.fi-cd.fis{background-image:url(/themes/huraga/build/images/cd.588b1447.svg)}
.fi-cf{background-image:url(/themes/huraga/build/images/cf.a3843e79.svg)}
.fi-cf.fis{background-image:url(/themes/huraga/build/images/cf.e2e89fb8.svg)}
.fi-cg{background-image:url(/themes/huraga/build/images/cg.ef7269ec.svg)}
.fi-cg.fis{background-image:url(/themes/huraga/build/images/cg.b92309a2.svg)}
.fi-ch{background-image:url(/themes/huraga/build/images/ch.55323a06.svg)}
.fi-ch.fis{background-image:url(/themes/huraga/build/images/ch.e6b520ab.svg)}
.fi-ci{background-image:url(/themes/huraga/build/images/ci.c7146bc3.svg)}
.fi-ci.fis{background-image:url(/themes/huraga/build/images/ci.133adff8.svg)}
.fi-ck{background-image:url(/themes/huraga/build/images/ck.6f73c68e.svg)}
.fi-ck.fis{background-image:url(/themes/huraga/build/images/ck.3e6dd6dd.svg)}
.fi-cl{background-image:url(/themes/huraga/build/images/cl.3ef2be87.svg)}
.fi-cl.fis{background-image:url(/themes/huraga/build/images/cl.178b4ca5.svg)}
.fi-cm{background-image:url(/themes/huraga/build/images/cm.7eff011c.svg)}
.fi-cm.fis{background-image:url(/themes/huraga/build/images/cm.c5fdb172.svg)}
.fi-cn{background-image:url(/themes/huraga/build/images/cn.e4f6436a.svg)}
.fi-cn.fis{background-image:url(/themes/huraga/build/images/cn.2e5f836f.svg)}
.fi-co{background-image:url(/themes/huraga/build/images/co.2035da4e.svg)}
.fi-co.fis{background-image:url(/themes/huraga/build/images/co.650be7bf.svg)}
.fi-cr{background-image:url(/themes/huraga/build/images/cr.da71ea0e.svg)}
.fi-cr.fis{background-image:url(/themes/huraga/build/images/cr.96cca329.svg)}
.fi-cu{background-image:url(/themes/huraga/build/images/cu.e26b31c7.svg)}
.fi-cu.fis{background-image:url(/themes/huraga/build/images/cu.b6406c65.svg)}
.fi-cv{background-image:url(/themes/huraga/build/images/cv.aa02126c.svg)}
.fi-cv.fis{background-image:url(/themes/huraga/build/images/cv.c4df14ee.svg)}
.fi-cw{background-image:url(/themes/huraga/build/images/cw.7b833291.svg)}
.fi-cw.fis{background-image:url(/themes/huraga/build/images/cw.023cc068.svg)}
.fi-cx{background-image:url(/themes/huraga/build/images/cx.2da85ddc.svg)}
.fi-cx.fis{background-image:url(/themes/huraga/build/images/cx.897c7c5d.svg)}
.fi-cy{background-image:url(/themes/huraga/build/images/cy.385433a8.svg)}
.fi-cy.fis{background-image:url(/themes/huraga/build/images/cy.20269f5c.svg)}
.fi-cz{background-image:url(/themes/huraga/build/images/cz.5a24757d.svg)}
.fi-cz.fis{background-image:url(/themes/huraga/build/images/cz.f7d5fa02.svg)}
.fi-de{background-image:url(/themes/huraga/build/images/de.adc6c9b3.svg)}
.fi-de.fis{background-image:url(/themes/huraga/build/images/de.02d6c00e.svg)}
.fi-dj{background-image:url(/themes/huraga/build/images/dj.da9d5bb3.svg)}
.fi-dj.fis{background-image:url(/themes/huraga/build/images/dj.9d6f9c1f.svg)}
.fi-dk{background-image:url(/themes/huraga/build/images/dk.025c1210.svg)}
.fi-dk.fis{background-image:url(/themes/huraga/build/images/dk.90f7d120.svg)}
.fi-dm{background-image:url(/themes/huraga/build/images/dm.a87ef307.svg)}
.fi-dm.fis{background-image:url(/themes/huraga/build/images/dm.195779bb.svg)}
.fi-do{background-image:url(/themes/huraga/build/images/do.a4fda0dd.svg)}
.fi-do.fis{background-image:url(/themes/huraga/build/images/do.4d4df13e.svg)}
.fi-dz{background-image:url(/themes/huraga/build/images/dz.0f087582.svg)}
.fi-dz.fis{background-image:url(/themes/huraga/build/images/dz.67624652.svg)}
.fi-ec{background-image:url(/themes/huraga/build/images/ec.0640a50e.svg)}
.fi-ec.fis{background-image:url(/themes/huraga/build/images/ec.3cd23382.svg)}
.fi-ee{background-image:url(/themes/huraga/build/images/ee.04263f93.svg)}
.fi-ee.fis{background-image:url(/themes/huraga/build/images/ee.294c52fa.svg)}
.fi-eg{background-image:url(/themes/huraga/build/images/eg.97e2c2ad.svg)}
.fi-eg.fis{background-image:url(/themes/huraga/build/images/eg.f636d501.svg)}
.fi-eh{background-image:url(/themes/huraga/build/images/eh.a2b2a954.svg)}
.fi-eh.fis{background-image:url(/themes/huraga/build/images/eh.8941dc19.svg)}
.fi-er{background-image:url(/themes/huraga/build/images/er.a45d00f8.svg)}
.fi-er.fis{background-image:url(/themes/huraga/build/images/er.5c497a49.svg)}
.fi-es{background-image:url(/themes/huraga/build/images/es.e3471d73.svg)}
.fi-es.fis{background-image:url(/themes/huraga/build/images/es.18bb17a8.svg)}
.fi-et{background-image:url(/themes/huraga/build/images/et.d27d9d1a.svg)}
.fi-et.fis{background-image:url(/themes/huraga/build/images/et.da75d56f.svg)}
.fi-fi{background-image:url(/themes/huraga/build/images/fi.ead68a19.svg)}
.fi-fi.fis{background-image:url(/themes/huraga/build/images/fi.aed885cc.svg)}
.fi-fj{background-image:url(/themes/huraga/build/images/fj.4487fd6f.svg)}
.fi-fj.fis{background-image:url(/themes/huraga/build/images/fj.8c6f353f.svg)}
.fi-fk{background-image:url(/themes/huraga/build/images/fk.0d7b8bda.svg)}
.fi-fk.fis{background-image:url(/themes/huraga/build/images/fk.2c0c2e5b.svg)}
.fi-fm{background-image:url(/themes/huraga/build/images/fm.18f7e089.svg)}
.fi-fm.fis{background-image:url(/themes/huraga/build/images/fm.9b826793.svg)}
.fi-fo{background-image:url(/themes/huraga/build/images/fo.3165eadc.svg)}
.fi-fo.fis{background-image:url(/themes/huraga/build/images/fo.54fd5278.svg)}
.fi-fr{background-image:url(/themes/huraga/build/images/fr.0313c7ea.svg)}
.fi-fr.fis{background-image:url(/themes/huraga/build/images/fr.9e329b0f.svg)}
.fi-ga{background-image:url(/themes/huraga/build/images/ga.ccf7eecb.svg)}
.fi-ga.fis{background-image:url(/themes/huraga/build/images/ga.d33bfe61.svg)}
.fi-gb{background-image:url(/themes/huraga/build/images/gb.84d4bb24.svg)}
.fi-gb.fis{background-image:url(/themes/huraga/build/images/gb.6cf90268.svg)}
.fi-gd{background-image:url(/themes/huraga/build/images/gd.701c23bc.svg)}
.fi-gd.fis{background-image:url(/themes/huraga/build/images/gd.d96dfdc2.svg)}
.fi-ge{background-image:url(/themes/huraga/build/images/ge.3c65f52f.svg)}
.fi-ge.fis{background-image:url(/themes/huraga/build/images/ge.4fc95ed0.svg)}
.fi-gf{background-image:url(/themes/huraga/build/images/gf.16328213.svg)}
.fi-gf.fis{background-image:url(/themes/huraga/build/images/gf.5fc814b1.svg)}
.fi-gg{background-image:url(/themes/huraga/build/images/gg.b8779f18.svg)}
.fi-gg.fis{background-image:url(/themes/huraga/build/images/gg.cff3c621.svg)}
.fi-gh{background-image:url(/themes/huraga/build/images/gh.87686ea0.svg)}
.fi-gh.fis{background-image:url(/themes/huraga/build/images/gh.e2793fb1.svg)}
.fi-gi{background-image:url(/themes/huraga/build/images/gi.b4cbdc45.svg)}
.fi-gi.fis{background-image:url(/themes/huraga/build/images/gi.1e5fb2e2.svg)}
.fi-gl{background-image:url(/themes/huraga/build/images/gl.633d308e.svg)}
.fi-gl.fis{background-image:url(/themes/huraga/build/images/gl.2466f7b0.svg)}
.fi-gm{background-image:url(/themes/huraga/build/images/gm.6e4caca4.svg)}
.fi-gm.fis{background-image:url(/themes/huraga/build/images/gm.dfd25b88.svg)}
.fi-gn{background-image:url(/themes/huraga/build/images/gn.65edeaef.svg)}
.fi-gn.fis{background-image:url(/themes/huraga/build/images/gn.347b60cf.svg)}
.fi-gp{background-image:url(/themes/huraga/build/images/gp.ca0b8d6f.svg)}
.fi-gp.fis{background-image:url(/themes/huraga/build/images/gp.34687ce5.svg)}
.fi-gq{background-image:url(/themes/huraga/build/images/gq.ef404347.svg)}
.fi-gq.fis{background-image:url(/themes/huraga/build/images/gq.fa323851.svg)}
.fi-gr{background-image:url(/themes/huraga/build/images/gr.969458b7.svg)}
.fi-gr.fis{background-image:url(/themes/huraga/build/images/gr.f4f1efd0.svg)}
.fi-gs{background-image:url(/themes/huraga/build/images/gs.a193265c.svg)}
.fi-gs.fis{background-image:url(/themes/huraga/build/images/gs.2f4a4fbd.svg)}
.fi-gt{background-image:url(/themes/huraga/build/images/gt.d15a032e.svg)}
.fi-gt.fis{background-image:url(/themes/huraga/build/images/gt.b0b9dc32.svg)}
.fi-gu{background-image:url(/themes/huraga/build/images/gu.72d01417.svg)}
.fi-gu.fis{background-image:url(/themes/huraga/build/images/gu.afcad4d4.svg)}
.fi-gw{background-image:url(/themes/huraga/build/images/gw.3b1eba4b.svg)}
.fi-gw.fis{background-image:url(/themes/huraga/build/images/gw.2bfb1be1.svg)}
.fi-gy{background-image:url(/themes/huraga/build/images/gy.f3e2f1ac.svg)}
.fi-gy.fis{background-image:url(/themes/huraga/build/images/gy.0cb6e816.svg)}
.fi-hk{background-image:url(/themes/huraga/build/images/hk.8b89a0a3.svg)}
.fi-hk.fis{background-image:url(/themes/huraga/build/images/hk.b80f4f84.svg)}
.fi-hm{background-image:url(/themes/huraga/build/images/hm.d7f4f620.svg)}
.fi-hm.fis{background-image:url(/themes/huraga/build/images/hm.fe75e73a.svg)}
.fi-hn{background-image:url(/themes/huraga/build/images/hn.2427006a.svg)}
.fi-hn.fis{background-image:url(/themes/huraga/build/images/hn.084f590f.svg)}
.fi-hr{background-image:url(/themes/huraga/build/images/hr.bca499f7.svg)}
.fi-hr.fis{background-image:url(/themes/huraga/build/images/hr.75d8cbc5.svg)}
.fi-ht{background-image:url(/themes/huraga/build/images/ht.1edb246a.svg)}
.fi-ht.fis{background-image:url(/themes/huraga/build/images/ht.79b2a738.svg)}
.fi-hu{background-image:url(/themes/huraga/build/images/hu.e404d718.svg)}
.fi-hu.fis{background-image:url(/themes/huraga/build/images/hu.cb329e88.svg)}
.fi-id{background-image:url(/themes/huraga/build/images/id.f624e2c8.svg)}
.fi-id.fis{background-image:url(/themes/huraga/build/images/id.578a8a9c.svg)}
.fi-ie{background-image:url(/themes/huraga/build/images/ie.0542b946.svg)}
.fi-ie.fis{background-image:url(/themes/huraga/build/images/ie.9e3414e8.svg)}
.fi-il{background-image:url(/themes/huraga/build/images/il.1e6c2f0e.svg)}
.fi-il.fis{background-image:url(/themes/huraga/build/images/il.d92f72de.svg)}
.fi-im{background-image:url(/themes/huraga/build/images/im.ef5d541a.svg)}
.fi-im.fis{background-image:url(/themes/huraga/build/images/im.00dd8b7c.svg)}
.fi-in{background-image:url(/themes/huraga/build/images/in.12c66a16.svg)}
.fi-in.fis{background-image:url(/themes/huraga/build/images/in.5d3291b5.svg)}
.fi-io{background-image:url(/themes/huraga/build/images/io.a5cb8dd8.svg)}
.fi-io.fis{background-image:url(/themes/huraga/build/images/io.5237a55f.svg)}
.fi-iq{background-image:url(/themes/huraga/build/images/iq.f3ea19bd.svg)}
.fi-iq.fis{background-image:url(/themes/huraga/build/images/iq.acde3320.svg)}
.fi-ir{background-image:url(/themes/huraga/build/images/ir.c14862b9.svg)}
.fi-ir.fis{background-image:url(/themes/huraga/build/images/ir.11a5a321.svg)}
.fi-is{background-image:url(/themes/huraga/build/images/is.8f886194.svg)}
.fi-is.fis{background-image:url(/themes/huraga/build/images/is.8bc19a21.svg)}
.fi-it{background-image:url(/themes/huraga/build/images/it.08db2cd1.svg)}
.fi-it.fis{background-image:url(/themes/huraga/build/images/it.febcc1b1.svg)}
.fi-je{background-image:url(/themes/huraga/build/images/je.4e2fc01b.svg)}
.fi-je.fis{background-image:url(/themes/huraga/build/images/je.98a34d5b.svg)}
.fi-jm{background-image:url(/themes/huraga/build/images/jm.46c20a3e.svg)}
.fi-jm.fis{background-image:url(/themes/huraga/build/images/jm.593d0ceb.svg)}
.fi-jo{background-image:url(/themes/huraga/build/images/jo.84446d30.svg)}
.fi-jo.fis{background-image:url(/themes/huraga/build/images/jo.5e426c88.svg)}
.fi-jp{background-image:url(/themes/huraga/build/images/jp.d288d548.svg)}
.fi-jp.fis{background-image:url(/themes/huraga/build/images/jp.5d4d1d1e.svg)}
.fi-ke{background-image:url(/themes/huraga/build/images/ke.d6258289.svg)}
.fi-ke.fis{background-image:url(/themes/huraga/build/images/ke.2b032c4b.svg)}
.fi-kg{background-image:url(/themes/huraga/build/images/kg.d228cc16.svg)}
.fi-kg.fis{background-image:url(/themes/huraga/build/images/kg.b4bef1b0.svg)}
.fi-kh{background-image:url(/themes/huraga/build/images/kh.ffda5c64.svg)}
.fi-kh.fis{background-image:url(/themes/huraga/build/images/kh.246b79f0.svg)}
.fi-ki{background-image:url(/themes/huraga/build/images/ki.4aad53ac.svg)}
.fi-ki.fis{background-image:url(/themes/huraga/build/images/ki.97c26680.svg)}
.fi-km{background-image:url(/themes/huraga/build/images/km.e4580994.svg)}
.fi-km.fis{background-image:url(/themes/huraga/build/images/km.ef8a6075.svg)}
.fi-kn{background-image:url(/themes/huraga/build/images/kn.650b9279.svg)}
.fi-kn.fis{background-image:url(/themes/huraga/build/images/kn.84087585.svg)}
.fi-kp{background-image:url(/themes/huraga/build/images/kp.1bcf41f7.svg)}
.fi-kp.fis{background-image:url(/themes/huraga/build/images/kp.8da1021b.svg)}
.fi-kr{background-image:url(/themes/huraga/build/images/kr.cb529202.svg)}
.fi-kr.fis{background-image:url(/themes/huraga/build/images/kr.977537ff.svg)}
.fi-kw{background-image:url(/themes/huraga/build/images/kw.d8ca915f.svg)}
.fi-kw.fis{background-image:url(/themes/huraga/build/images/kw.969be875.svg)}
.fi-ky{background-image:url(/themes/huraga/build/images/ky.89bdd0e8.svg)}
.fi-ky.fis{background-image:url(/themes/huraga/build/images/ky.cc8abed7.svg)}
.fi-kz{background-image:url(/themes/huraga/build/images/kz.4d1d995b.svg)}
.fi-kz.fis{background-image:url(/themes/huraga/build/images/kz.1266e111.svg)}
.fi-la{background-image:url(/themes/huraga/build/images/la.67f27403.svg)}
.fi-la.fis{background-image:url(/themes/huraga/build/images/la.d7702465.svg)}
.fi-lb{background-image:url(/themes/huraga/build/images/lb.542b007b.svg)}
.fi-lb.fis{background-image:url(/themes/huraga/build/images/lb.ea6c1b91.svg)}
.fi-lc{background-image:url(/themes/huraga/build/images/lc.a5f7f206.svg)}
.fi-lc.fis{background-image:url(/themes/huraga/build/images/lc.1ef20b6d.svg)}
.fi-li{background-image:url(/themes/huraga/build/images/li.336f4357.svg)}
.fi-li.fis{background-image:url(/themes/huraga/build/images/li.834b1725.svg)}
.fi-lk{background-image:url(/themes/huraga/build/images/lk.853b4c53.svg)}
.fi-lk.fis{background-image:url(/themes/huraga/build/images/lk.9ebbcf49.svg)}
.fi-lr{background-image:url(/themes/huraga/build/images/lr.61e7a998.svg)}
.fi-lr.fis{background-image:url(/themes/huraga/build/images/lr.6af0f7ec.svg)}
.fi-ls{background-image:url(/themes/huraga/build/images/ls.4856aea2.svg)}
.fi-ls.fis{background-image:url(/themes/huraga/build/images/ls.2ac94099.svg)}
.fi-lt{background-image:url(/themes/huraga/build/images/lt.93a07daf.svg)}
.fi-lt.fis{background-image:url(/themes/huraga/build/images/lt.1d07a8b8.svg)}
.fi-lu{background-image:url(/themes/huraga/build/images/lu.5b52430a.svg)}
.fi-lu.fis{background-image:url(/themes/huraga/build/images/lu.b8e230a7.svg)}
.fi-lv{background-image:url(/themes/huraga/build/images/lv.ff6176a6.svg)}
.fi-lv.fis{background-image:url(/themes/huraga/build/images/lv.884e7f97.svg)}
.fi-ly{background-image:url(/themes/huraga/build/images/ly.9c0afe9e.svg)}
.fi-ly.fis{background-image:url(/themes/huraga/build/images/ly.c0460253.svg)}
.fi-ma{background-image:url(/themes/huraga/build/images/ma.ab052b41.svg)}
.fi-ma.fis{background-image:url(/themes/huraga/build/images/ma.4d3a6f5c.svg)}
.fi-mc{background-image:url(/themes/huraga/build/images/mc.b5edb755.svg)}
.fi-mc.fis{background-image:url(/themes/huraga/build/images/mc.21f385d1.svg)}
.fi-md{background-image:url(/themes/huraga/build/images/md.a60006c4.svg)}
.fi-md.fis{background-image:url(/themes/huraga/build/images/md.7c8cc80b.svg)}
.fi-me{background-image:url(/themes/huraga/build/images/me.8f1021b0.svg)}
.fi-me.fis{background-image:url(/themes/huraga/build/images/me.c2a02388.svg)}
.fi-mf{background-image:url(/themes/huraga/build/images/mf.9284dddf.svg)}
.fi-mf.fis{background-image:url(/themes/huraga/build/images/mf.4b4f663e.svg)}
.fi-mg{background-image:url(/themes/huraga/build/images/mg.5d294de1.svg)}
.fi-mg.fis{background-image:url(/themes/huraga/build/images/mg.bdd56d44.svg)}
.fi-mh{background-image:url(/themes/huraga/build/images/mh.cd62f8f2.svg)}
.fi-mh.fis{background-image:url(/themes/huraga/build/images/mh.3263dfcc.svg)}
.fi-mk{background-image:url(/themes/huraga/build/images/mk.b5eadefb.svg)}
.fi-mk.fis{background-image:url(/themes/huraga/build/images/mk.d335b1f7.svg)}
.fi-ml{background-image:url(/themes/huraga/build/images/ml.fa530666.svg)}
.fi-ml.fis{background-image:url(/themes/huraga/build/images/ml.abd95c9b.svg)}
.fi-mm{background-image:url(/themes/huraga/build/images/mm.82321f19.svg)}
.fi-mm.fis{background-image:url(/themes/huraga/build/images/mm.53de19a4.svg)}
.fi-mn{background-image:url(/themes/huraga/build/images/mn.7e8cb1ad.svg)}
.fi-mn.fis{background-image:url(/themes/huraga/build/images/mn.357f0bf4.svg)}
.fi-mo{background-image:url(/themes/huraga/build/images/mo.8027f57e.svg)}
.fi-mo.fis{background-image:url(/themes/huraga/build/images/mo.7a9f442e.svg)}
.fi-mp{background-image:url(/themes/huraga/build/images/mp.353753fc.svg)}
.fi-mp.fis{background-image:url(/themes/huraga/build/images/mp.7b536797.svg)}
.fi-mq{background-image:url(/themes/huraga/build/images/mq.fe327ace.svg)}
.fi-mq.fis{background-image:url(/themes/huraga/build/images/mq.794f4690.svg)}
.fi-mr{background-image:url(/themes/huraga/build/images/mr.440d1a2f.svg)}
.fi-mr.fis{background-image:url(/themes/huraga/build/images/mr.d7db7269.svg)}
.fi-ms{background-image:url(/themes/huraga/build/images/ms.93d49f30.svg)}
.fi-ms.fis{background-image:url(/themes/huraga/build/images/ms.3d05f603.svg)}
.fi-mt{background-image:url(/themes/huraga/build/images/mt.ffc20beb.svg)}
.fi-mt.fis{background-image:url(/themes/huraga/build/images/mt.fafedaa7.svg)}
.fi-mu{background-image:url(/themes/huraga/build/images/mu.468d5464.svg)}
.fi-mu.fis{background-image:url(/themes/huraga/build/images/mu.fd1c498d.svg)}
.fi-mv{background-image:url(/themes/huraga/build/images/mv.f252e4cb.svg)}
.fi-mv.fis{background-image:url(/themes/huraga/build/images/mv.8cb05cc8.svg)}
.fi-mw{background-image:url(/themes/huraga/build/images/mw.d0647be6.svg)}
.fi-mw.fis{background-image:url(/themes/huraga/build/images/mw.8b80b615.svg)}
.fi-mx{background-image:url(/themes/huraga/build/images/mx.c7d5733d.svg)}
.fi-mx.fis{background-image:url(/themes/huraga/build/images/mx.c23bb546.svg)}
.fi-my{background-image:url(/themes/huraga/build/images/my.18a21ce1.svg)}
.fi-my.fis{background-image:url(/themes/huraga/build/images/my.485f7a1e.svg)}
.fi-mz{background-image:url(/themes/huraga/build/images/mz.fa69ce64.svg)}
.fi-mz.fis{background-image:url(/themes/huraga/build/images/mz.f27d6c87.svg)}
.fi-na{background-image:url(/themes/huraga/build/images/na.121ad7c8.svg)}
.fi-na.fis{background-image:url(/themes/huraga/build/images/na.29e28347.svg)}
.fi-nc{background-image:url(/themes/huraga/build/images/nc.122e475d.svg)}
.fi-nc.fis{background-image:url(/themes/huraga/build/images/nc.9f2a9401.svg)}
.fi-ne{background-image:url(/themes/huraga/build/images/ne.82c3626f.svg)}
.fi-ne.fis{background-image:url(/themes/huraga/build/images/ne.66cb0cd9.svg)}
.fi-nf{background-image:url(/themes/huraga/build/images/nf.61dbabec.svg)}
.fi-nf.fis{background-image:url(/themes/huraga/build/images/nf.895fb450.svg)}
.fi-ng{background-image:url(/themes/huraga/build/images/ng.f29450b9.svg)}
.fi-ng.fis{background-image:url(/themes/huraga/build/images/ng.1b98819e.svg)}
.fi-ni{background-image:url(/themes/huraga/build/images/ni.e78c1b2a.svg)}
.fi-ni.fis{background-image:url(/themes/huraga/build/images/ni.e4b67213.svg)}
.fi-nl{background-image:url(/themes/huraga/build/images/nl.874fbf1b.svg)}
.fi-nl.fis{background-image:url(/themes/huraga/build/images/nl.db73c245.svg)}
.fi-no{background-image:url(/themes/huraga/build/images/no.b9cc4fcd.svg)}
.fi-no.fis{background-image:url(/themes/huraga/build/images/no.c2a3c34c.svg)}
.fi-np{background-image:url(/themes/huraga/build/images/np.04984547.svg)}
.fi-np.fis{background-image:url(/themes/huraga/build/images/np.8e4f8665.svg)}
.fi-nr{background-image:url(/themes/huraga/build/images/nr.0d87ce78.svg)}
.fi-nr.fis{background-image:url(/themes/huraga/build/images/nr.8ccd0a5d.svg)}
.fi-nu{background-image:url(/themes/huraga/build/images/nu.2d9c15c3.svg)}
.fi-nu.fis{background-image:url(/themes/huraga/build/images/nu.c4afdde3.svg)}
.fi-nz{background-image:url(/themes/huraga/build/images/nz.64b16b7e.svg)}
.fi-nz.fis{background-image:url(/themes/huraga/build/images/nz.29afa191.svg)}
.fi-om{background-image:url(/themes/huraga/build/images/om.95a41635.svg)}
.fi-om.fis{background-image:url(/themes/huraga/build/images/om.34a4898c.svg)}
.fi-pa{background-image:url(/themes/huraga/build/images/pa.86598122.svg)}
.fi-pa.fis{background-image:url(/themes/huraga/build/images/pa.f06ec28a.svg)}
.fi-pe{background-image:url(/themes/huraga/build/images/pe.d64e9732.svg)}
.fi-pe.fis{background-image:url(/themes/huraga/build/images/pe.b8e62fe3.svg)}
.fi-pf{background-image:url(/themes/huraga/build/images/pf.29af7118.svg)}
.fi-pf.fis{background-image:url(/themes/huraga/build/images/pf.135056dc.svg)}
.fi-pg{background-image:url(/themes/huraga/build/images/pg.cc474d6d.svg)}
.fi-pg.fis{background-image:url(/themes/huraga/build/images/pg.89d38723.svg)}
.fi-ph{background-image:url(/themes/huraga/build/images/ph.e215bab6.svg)}
.fi-ph.fis{background-image:url(/themes/huraga/build/images/ph.f171bffc.svg)}
.fi-pk{background-image:url(/themes/huraga/build/images/pk.e742c27f.svg)}
.fi-pk.fis{background-image:url(/themes/huraga/build/images/pk.45854c45.svg)}
.fi-pl{background-image:url(/themes/huraga/build/images/pl.2b5541c5.svg)}
.fi-pl.fis{background-image:url(/themes/huraga/build/images/pl.cd835d05.svg)}
.fi-pm{background-image:url(/themes/huraga/build/images/pm.f290a4bc.svg)}
.fi-pm.fis{background-image:url(/themes/huraga/build/images/pm.b56ece89.svg)}
.fi-pn{background-image:url(/themes/huraga/build/images/pn.b3fc2087.svg)}
.fi-pn.fis{background-image:url(/themes/huraga/build/images/pn.6db6ac1e.svg)}
.fi-pr{background-image:url(/themes/huraga/build/images/pr.28689af1.svg)}
.fi-pr.fis{background-image:url(/themes/huraga/build/images/pr.8885546e.svg)}
.fi-ps{background-image:url(/themes/huraga/build/images/ps.430e1009.svg)}
.fi-ps.fis{background-image:url(/themes/huraga/build/images/ps.3d408db2.svg)}
.fi-pt{background-image:url(/themes/huraga/build/images/pt.3504a4e4.svg)}
.fi-pt.fis{background-image:url(/themes/huraga/build/images/pt.5681b94c.svg)}
.fi-pw{background-image:url(/themes/huraga/build/images/pw.5df27d3f.svg)}
.fi-pw.fis{background-image:url(/themes/huraga/build/images/pw.a831460a.svg)}
.fi-py{background-image:url(/themes/huraga/build/images/py.071e1fd0.svg)}
.fi-py.fis{background-image:url(/themes/huraga/build/images/py.f7b5a568.svg)}
.fi-qa{background-image:url(/themes/huraga/build/images/qa.74602db5.svg)}
.fi-qa.fis{background-image:url(/themes/huraga/build/images/qa.8f91b751.svg)}
.fi-re{background-image:url(/themes/huraga/build/images/re.9d72b568.svg)}
.fi-re.fis{background-image:url(/themes/huraga/build/images/re.65fecda0.svg)}
.fi-ro{background-image:url(/themes/huraga/build/images/ro.33482fcd.svg)}
.fi-ro.fis{background-image:url(/themes/huraga/build/images/ro.6d757067.svg)}
.fi-rs{background-image:url(/themes/huraga/build/images/rs.ddcb32f2.svg)}
.fi-rs.fis{background-image:url(/themes/huraga/build/images/rs.b16c2203.svg)}
.fi-ru{background-image:url(/themes/huraga/build/images/ru.097b629d.svg)}
.fi-ru.fis{background-image:url(/themes/huraga/build/images/ru.23622fff.svg)}
.fi-rw{background-image:url(/themes/huraga/build/images/rw.f87cd918.svg)}
.fi-rw.fis{background-image:url(/themes/huraga/build/images/rw.2dbaa32b.svg)}
.fi-sa{background-image:url(/themes/huraga/build/images/sa.9083a464.svg)}
.fi-sa.fis{background-image:url(/themes/huraga/build/images/sa.5c9dda39.svg)}
.fi-sb{background-image:url(/themes/huraga/build/images/sb.22224fa1.svg)}
.fi-sb.fis{background-image:url(/themes/huraga/build/images/sb.828b2f11.svg)}
.fi-sc{background-image:url(/themes/huraga/build/images/sc.4691653c.svg)}
.fi-sc.fis{background-image:url(/themes/huraga/build/images/sc.fea26a15.svg)}
.fi-sd{background-image:url(/themes/huraga/build/images/sd.d7f3b468.svg)}
.fi-sd.fis{background-image:url(/themes/huraga/build/images/sd.8df6ee83.svg)}
.fi-se{background-image:url(/themes/huraga/build/images/se.8b8db9f4.svg)}
.fi-se.fis{background-image:url(/themes/huraga/build/images/se.3dc09b9e.svg)}
.fi-sg{background-image:url(/themes/huraga/build/images/sg.8b629e7b.svg)}
.fi-sg.fis{background-image:url(/themes/huraga/build/images/sg.6cc62188.svg)}
.fi-sh{background-image:url(/themes/huraga/build/images/sh.b0d0251b.svg)}
.fi-sh.fis{background-image:url(/themes/huraga/build/images/sh.0de30ebc.svg)}
.fi-si{background-image:url(/themes/huraga/build/images/si.20c519b4.svg)}
.fi-si.fis{background-image:url(/themes/huraga/build/images/si.ddb0cfd8.svg)}
.fi-sj{background-image:url(/themes/huraga/build/images/sj.f8f9b215.svg)}
.fi-sj.fis{background-image:url(/themes/huraga/build/images/sj.7111b152.svg)}
.fi-sk{background-image:url(/themes/huraga/build/images/sk.11ccabc6.svg)}
.fi-sk.fis{background-image:url(/themes/huraga/build/images/sk.10df93d5.svg)}
.fi-sl{background-image:url(/themes/huraga/build/images/sl.d4cd148f.svg)}
.fi-sl.fis{background-image:url(/themes/huraga/build/images/sl.ec1ec422.svg)}
.fi-sm{background-image:url(/themes/huraga/build/images/sm.b6596da7.svg)}
.fi-sm.fis{background-image:url(/themes/huraga/build/images/sm.f28af6cd.svg)}
.fi-sn{background-image:url(/themes/huraga/build/images/sn.5d2dde73.svg)}
.fi-sn.fis{background-image:url(/themes/huraga/build/images/sn.07ec7ccb.svg)}
.fi-so{background-image:url(/themes/huraga/build/images/so.178fe496.svg)}
.fi-so.fis{background-image:url(/themes/huraga/build/images/so.8c4f9282.svg)}
.fi-sr{background-image:url(/themes/huraga/build/images/sr.f281cc96.svg)}
.fi-sr.fis{background-image:url(/themes/huraga/build/images/sr.45463ee6.svg)}
.fi-ss{background-image:url(/themes/huraga/build/images/ss.0b0f58ed.svg)}
.fi-ss.fis{background-image:url(/themes/huraga/build/images/ss.1c422f30.svg)}
.fi-st{background-image:url(/themes/huraga/build/images/st.b1de9e52.svg)}
.fi-st.fis{background-image:url(/themes/huraga/build/images/st.950ecdad.svg)}
.fi-sv{background-image:url(/themes/huraga/build/images/sv.034fabc5.svg)}
.fi-sv.fis{background-image:url(/themes/huraga/build/images/sv.1e1cb171.svg)}
.fi-sx{background-image:url(/themes/huraga/build/images/sx.78b1d646.svg)}
.fi-sx.fis{background-image:url(/themes/huraga/build/images/sx.bb9cd2e9.svg)}
.fi-sy{background-image:url(/themes/huraga/build/images/sy.6ad1ad37.svg)}
.fi-sy.fis{background-image:url(/themes/huraga/build/images/sy.06eb07f0.svg)}
.fi-sz{background-image:url(/themes/huraga/build/images/sz.540261e1.svg)}
.fi-sz.fis{background-image:url(/themes/huraga/build/images/sz.c265ebae.svg)}
.fi-tc{background-image:url(/themes/huraga/build/images/tc.e2c8d6cb.svg)}
.fi-tc.fis{background-image:url(/themes/huraga/build/images/tc.141a11f0.svg)}
.fi-td{background-image:url(/themes/huraga/build/images/td.ce35efd0.svg)}
.fi-td.fis{background-image:url(/themes/huraga/build/images/td.16a25e21.svg)}
.fi-tf{background-image:url(/themes/huraga/build/images/tf.a1e1b04e.svg)}
.fi-tf.fis{background-image:url(/themes/huraga/build/images/tf.75f62b39.svg)}
.fi-tg{background-image:url(/themes/huraga/build/images/tg.2e6abed3.svg)}
.fi-tg.fis{background-image:url(/themes/huraga/build/images/tg.b80732d6.svg)}
.fi-th{background-image:url(/themes/huraga/build/images/th.d3dea0ce.svg)}
.fi-th.fis{background-image:url(/themes/huraga/build/images/th.b4262644.svg)}
.fi-tj{background-image:url(/themes/huraga/build/images/tj.7342efc9.svg)}
.fi-tj.fis{background-image:url(/themes/huraga/build/images/tj.6e245795.svg)}
.fi-tk{background-image:url(/themes/huraga/build/images/tk.dda26036.svg)}
.fi-tk.fis{background-image:url(/themes/huraga/build/images/tk.16bf538d.svg)}
.fi-tl{background-image:url(/themes/huraga/build/images/tl.5a92426c.svg)}
.fi-tl.fis{background-image:url(/themes/huraga/build/images/tl.2906e09e.svg)}
.fi-tm{background-image:url(/themes/huraga/build/images/tm.ac4fe967.svg)}
.fi-tm.fis{background-image:url(/themes/huraga/build/images/tm.688215b1.svg)}
.fi-tn{background-image:url(/themes/huraga/build/images/tn.b66f06d6.svg)}
.fi-tn.fis{background-image:url(/themes/huraga/build/images/tn.bd942715.svg)}
.fi-to{background-image:url(/themes/huraga/build/images/to.a7375d4d.svg)}
.fi-to.fis{background-image:url(/themes/huraga/build/images/to.2cb4df0a.svg)}
.fi-tr{background-image:url(/themes/huraga/build/images/tr.535c328e.svg)}
.fi-tr.fis{background-image:url(/themes/huraga/build/images/tr.3a7c1ff2.svg)}
.fi-tt{background-image:url(/themes/huraga/build/images/tt.faa91be4.svg)}
.fi-tt.fis{background-image:url(/themes/huraga/build/images/tt.f3b1780e.svg)}
.fi-tv{background-image:url(/themes/huraga/build/images/tv.fd2caae1.svg)}
.fi-tv.fis{background-image:url(/themes/huraga/build/images/tv.57ef8775.svg)}
.fi-tw{background-image:url(/themes/huraga/build/images/tw.39308d87.svg)}
.fi-tw.fis{background-image:url(/themes/huraga/build/images/tw.8ea0b61c.svg)}
.fi-tz{background-image:url(/themes/huraga/build/images/tz.bec1e1d6.svg)}
.fi-tz.fis{background-image:url(/themes/huraga/build/images/tz.5ca0246e.svg)}
.fi-ua{background-image:url(/themes/huraga/build/images/ua.423c68f9.svg)}
.fi-ua.fis{background-image:url(/themes/huraga/build/images/ua.af1d11da.svg)}
.fi-ug{background-image:url(/themes/huraga/build/images/ug.075b7772.svg)}
.fi-ug.fis{background-image:url(/themes/huraga/build/images/ug.8296b913.svg)}
.fi-um{background-image:url(/themes/huraga/build/images/um.9efb46d3.svg)}
.fi-um.fis{background-image:url(/themes/huraga/build/images/um.a57097a4.svg)}
.fi-us{background-image:url(/themes/huraga/build/images/us.912cb4a8.svg)}
.fi-us.fis{background-image:url(/themes/huraga/build/images/us.9acbcf10.svg)}
.fi-uy{background-image:url(/themes/huraga/build/images/uy.2515d737.svg)}
.fi-uy.fis{background-image:url(/themes/huraga/build/images/uy.cb5fcc05.svg)}
.fi-uz{background-image:url(/themes/huraga/build/images/uz.7ed400a6.svg)}
.fi-uz.fis{background-image:url(/themes/huraga/build/images/uz.15a9a22c.svg)}
.fi-va{background-image:url(/themes/huraga/build/images/va.88dc9bbc.svg)}
.fi-va.fis{background-image:url(/themes/huraga/build/images/va.1ebc2739.svg)}
.fi-vc{background-image:url(/themes/huraga/build/images/vc.696f1551.svg)}
.fi-vc.fis{background-image:url(/themes/huraga/build/images/vc.007dc890.svg)}
.fi-ve{background-image:url(/themes/huraga/build/images/ve.8654417d.svg)}
.fi-ve.fis{background-image:url(/themes/huraga/build/images/ve.566e1086.svg)}
.fi-vg{background-image:url(/themes/huraga/build/images/vg.4c507ebc.svg)}
.fi-vg.fis{background-image:url(/themes/huraga/build/images/vg.e2e17502.svg)}
.fi-vi{background-image:url(/themes/huraga/build/images/vi.48bf3e00.svg)}
.fi-vi.fis{background-image:url(/themes/huraga/build/images/vi.4dd97d36.svg)}
.fi-vn{background-image:url(/themes/huraga/build/images/vn.e80173a9.svg)}
.fi-vn.fis{background-image:url(/themes/huraga/build/images/vn.7601c8ac.svg)}
.fi-vu{background-image:url(/themes/huraga/build/images/vu.6d2ce93c.svg)}
.fi-vu.fis{background-image:url(/themes/huraga/build/images/vu.5bd5de68.svg)}
.fi-wf{background-image:url(/themes/huraga/build/images/wf.2a313731.svg)}
.fi-wf.fis{background-image:url(/themes/huraga/build/images/wf.311c4e73.svg)}
.fi-ws{background-image:url(/themes/huraga/build/images/ws.314e33c2.svg)}
.fi-ws.fis{background-image:url(/themes/huraga/build/images/ws.f06e3a39.svg)}
.fi-ye{background-image:url(/themes/huraga/build/images/ye.948f27c4.svg)}
.fi-ye.fis{background-image:url(/themes/huraga/build/images/ye.822b8bf2.svg)}
.fi-yt{background-image:url(/themes/huraga/build/images/yt.433b076a.svg)}
.fi-yt.fis{background-image:url(/themes/huraga/build/images/yt.db71201b.svg)}
.fi-za{background-image:url(/themes/huraga/build/images/za.57ed656a.svg)}
.fi-za.fis{background-image:url(/themes/huraga/build/images/za.35fc70ec.svg)}
.fi-zm{background-image:url(/themes/huraga/build/images/zm.8e1dfbaa.svg)}
.fi-zm.fis{background-image:url(/themes/huraga/build/images/zm.562ac485.svg)}
.fi-zw{background-image:url(/themes/huraga/build/images/zw.735c39ed.svg)}
.fi-zw.fis{background-image:url(/themes/huraga/build/images/zw.57a1329f.svg)}
.fi-arab{background-image:url(/themes/huraga/build/images/arab.1b9aa1f0.svg)}
.fi-arab.fis{background-image:url(/themes/huraga/build/images/arab.282a837b.svg)}
.fi-cefta{background-image:url(/themes/huraga/build/images/cefta.159b8240.svg)}
.fi-cefta.fis{background-image:url(/themes/huraga/build/images/cefta.4247899e.svg)}
.fi-cp{background-image:url(/themes/huraga/build/images/cp.f6b10f55.svg)}
.fi-cp.fis{background-image:url(/themes/huraga/build/images/cp.6c0badec.svg)}
.fi-dg{background-image:url(/themes/huraga/build/images/dg.6f63b848.svg)}
.fi-dg.fis{background-image:url(/themes/huraga/build/images/dg.ce78983d.svg)}
.fi-eac{background-image:url(/themes/huraga/build/images/eac.2f2a6145.svg)}
.fi-eac.fis{background-image:url(/themes/huraga/build/images/eac.d49194c2.svg)}
.fi-es-ct{background-image:url(/themes/huraga/build/images/es-ct.ae2d1ab9.svg)}
.fi-es-ct.fis{background-image:url(/themes/huraga/build/images/es-ct.9d52c0a5.svg)}
.fi-es-ga{background-image:url(/themes/huraga/build/images/es-ga.b5043ad2.svg)}
.fi-es-ga.fis{background-image:url(/themes/huraga/build/images/es-ga.5ae204c7.svg)}
.fi-es-pv{background-image:url(/themes/huraga/build/images/es-pv.bc671336.svg)}
.fi-es-pv.fis{background-image:url(/themes/huraga/build/images/es-pv.e0f6252a.svg)}
.fi-eu{background-image:url(/themes/huraga/build/images/eu.c9d8d63e.svg)}
.fi-eu.fis{background-image:url(/themes/huraga/build/images/eu.8224e426.svg)}
.fi-gb-eng{background-image:url(/themes/huraga/build/images/gb-eng.ee357143.svg)}
.fi-gb-eng.fis{background-image:url(/themes/huraga/build/images/gb-eng.7b249f56.svg)}
.fi-gb-nir{background-image:url(/themes/huraga/build/images/gb-nir.d60ecd94.svg)}
.fi-gb-nir.fis{background-image:url(/themes/huraga/build/images/gb-nir.7173e164.svg)}
.fi-gb-sct{background-image:url(/themes/huraga/build/images/gb-sct.5edc6d75.svg)}
.fi-gb-sct.fis{background-image:url(/themes/huraga/build/images/gb-sct.5e8518f9.svg)}
.fi-gb-wls{background-image:url(/themes/huraga/build/images/gb-wls.4abd7bc9.svg)}
.fi-gb-wls.fis{background-image:url(/themes/huraga/build/images/gb-wls.910c0fb3.svg)}
.fi-ic{background-image:url(/themes/huraga/build/images/ic.500d4209.svg)}
.fi-ic.fis{background-image:url(/themes/huraga/build/images/ic.5217cbc3.svg)}
.fi-pc{background-image:url(/themes/huraga/build/images/pc.d669f78a.svg)}
.fi-pc.fis{background-image:url(/themes/huraga/build/images/pc.1fac7748.svg)}
.fi-sh-ac{background-image:url(/themes/huraga/build/images/sh-ac.839066bb.svg)}
.fi-sh-ac.fis{background-image:url(/themes/huraga/build/images/sh-ac.2f733db9.svg)}
.fi-sh-hl{background-image:url(/themes/huraga/build/images/sh-hl.bc57860a.svg)}
.fi-sh-hl.fis{background-image:url(/themes/huraga/build/images/sh-hl.6c91c7e4.svg)}
.fi-sh-ta{background-image:url(/themes/huraga/build/images/sh-ta.fce686de.svg)}
.fi-sh-ta.fis{background-image:url(/themes/huraga/build/images/sh-ta.5dea19f1.svg)}
.fi-un{background-image:url(/themes/huraga/build/images/un.bc6e9eb5.svg)}
.fi-un.fis{background-image:url(/themes/huraga/build/images/un.5655b589.svg)}
.fi-xk{background-image:url(/themes/huraga/build/images/xk.80de9468.svg)}
.fi-xk.fis{background-image:url(/themes/huraga/build/images/xk.3f0c92b8.svg)}
.fi{border-radius:4px}

/* ══════════════════════════════════════════════
   AUTH PAGES (login / signup / password-reset)
══════════════════════════════════════════════ */
.hidns-auth-wrap {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

.hidns-auth-card {
  width: 100%;
  max-width: 440px;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 1rem;
  padding: 2.5rem 2rem;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
}

.hidns-auth-title {
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 2rem;
  color: var(--text-primary);
}

.hidns-form-group {
  margin-bottom: 1.25rem;
}

.hidns-form-label {
  display: block;
  font-size: .875rem;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: .5rem;
}

.hidns-form-input {
  width: 100%;
  padding: .65rem 1rem;
  font-size: 1rem;
  color: var(--text-primary);
  background: var(--input-bg);
  border: 1.5px solid var(--input-border);
  border-radius: .5rem;
  outline: none;
  transition: border-color .2s;
  box-sizing: border-box;
}

.hidns-form-input:focus {
  border-color: var(--primary);
}

.hidns-form-hint {
  text-align: right;
  margin-top: .375rem;
  font-size: .8rem;
}

.hidns-form-hint a {
  color: var(--primary);
  text-decoration: none;
}

.hidns-form-hint a:hover {
  text-decoration: underline;
}

.hidns-auth-btn {
  width: 100%;
  padding: .75rem;
  margin-top: .5rem;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff !important;
  background: #570df8 !important;
  border: none;
  border-radius: .5rem;
  cursor: pointer;
  transition: opacity .2s, transform .1s;
}

.hidns-auth-btn:hover  { opacity: .9; }
.hidns-auth-btn:active { transform: scale(.98); }
.hidns-auth-btn:disabled { opacity: .6; cursor: not-allowed; }

.hidns-auth-footer {
  text-align: center;
  margin-top: 1.5rem;
  font-size: .9rem;
  color: var(--text-secondary);
}

.hidns-auth-footer a {
  color: var(--primary);
  font-weight: 600;
  text-decoration: none;
  margin-left: .25rem;
}

.hidns-auth-footer a:hover { text-decoration: underline; }

.hidns-form-notice {
  font-size: .8rem;
  color: var(--text-secondary);
  margin-top: .375rem;
  line-height: 1.5;
}

.hidns-form-notice--warn {
  color: #e17055;
}



/* ══════════════════════════════════════════════════════════
   NEWS / ANNOUNCEMENTS — nodeloc 1:1 精确复刻
   Source: Announcements.vue + AnnouncementDetail.vue
   nodeloc classes: container mx-auto px-4 sm:px-6 lg:px-8 py-8 max-w-7xl/4xl space-y-6
   card: bg-base-200 shadow-xl hover:shadow-2xl transition-all
══════════════════════════════════════════════════════════ */

/* ── Page shell: py-8 = 2rem top/bottom ── */
.nl-page {
  width: 100%;
  padding: 2rem 0 4rem;
}

/* ── Container: container mx-auto px-4 sm:px-6 lg:px-8 ── */
.nl-container {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .nl-container { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 1024px) {
  .nl-container { padding-left: 2rem; padding-right: 2rem; }
}
.nl-container--wide { max-width: 80rem; }   /* max-w-7xl = 1280px */
.nl-container--post { max-width: 56rem; }   /* max-w-4xl = 896px */

/* ── space-y-6: vertical rhythm ── */
.nl-page-header { margin-bottom: 1.5rem; }

/* text-3xl font-bold */
.nl-page-title {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--text-primary);
  margin: 0 0 .5rem;
}

/* text-lg opacity-70 mt-2 */
.nl-page-sub {
  font-size: 1.125rem;
  color: var(--text-secondary);
  opacity: .7;
  margin: .5rem 0 0;
}

/* ── grid gap-4 ── */
.nl-grid {
  display: grid;
  gap: 1.5rem;  /* gap-6 — 略大于 nodeloc gap-4，让卡片呼吸 */
}

/* ──────────────────────────────────────────────
   CARD: card bg-base-200 shadow-xl hover:shadow-2xl transition-all
   DaisyUI card:
     border-radius: var(--rounded-box, 1rem)
     box-shadow: shadow-xl = 0 20px 25px -5px rgb(0 0 0/0.1), 0 8px 10px -6px rgb(0 0 0/0.1)
   bg-base-200 light = #f2f2f2, dark = #191e24
────────────────────────────────────────────── */
.nl-card {
  background: var(--news-card-bg);
  border-radius: 1rem;  /* --rounded-box */
  box-shadow:
    0 4px 6px -1px rgb(0 0 0 / 0.07),
    0 2px 4px -2px rgb(0 0 0 / 0.05);
  overflow: hidden;
  transition: box-shadow 0.2s ease, transform 0.15s ease;
  box-sizing: border-box;
  min-width: 0;         /* grid item 必须能收缩 */
  width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.nl-card--link {
  display: block;
  text-decoration: none;
  color: inherit;
}
/* hover:shadow-2xl */
.nl-card--link:hover {
  box-shadow: 0 10px 25px -5px rgb(0 0 0 / 0.12), 0 4px 10px -6px rgb(0 0 0 / 0.08);
  transform: translateY(-2px);
}

/* card-body: DaisyUI = padding: var(--padding-card, 2rem) */
.nl-card-body {
  padding: 2rem;
}

/* ── List card: title + meta + excerpt ── */

/* card-title text-2xl (DaisyUI card-title = font-size via .card-title class) */
.nl-card-title {
  font-size: 1.5rem;   /* text-2xl */
  font-weight: 700;
  line-height: 1.3;
  color: var(--text-primary);
  margin: 0 0 0.5rem;
}

/* text-sm opacity-70 mt-2 */
.nl-card-meta {
  font-size: 0.875rem;
  color: var(--text-secondary);
  opacity: 0.7;
  margin: 0.5rem 0 0.75rem;
}

/* prose prose-sm max-w-none line-clamp-3 */
.nl-card-excerpt {
  font-size: 0.875rem;
  line-height: 1.625;
  color: var(--text-primary);
  opacity: 0.85;
  margin: 0;
  /* 纯文本，直接 line-clamp */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* ── Empty state ── */
.nl-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 3rem 2rem;
}
.nl-empty-icon {
  width: 5rem; height: 5rem;
  opacity: 0.4;
  color: var(--text-secondary);
  margin-bottom: 1rem;
}
.nl-empty h3 {
  font-size: 1.5rem; font-weight: 700;
  color: var(--text-primary); margin: 0 0 .5rem;
}
.nl-empty p { font-size: .9rem; color: var(--text-secondary); margin: 0; }

/* ──────────────────────────────────────────────
   PAGINATION
   Wrap huraga Bootstrap .pagination to match DaisyUI btn styling
   DaisyUI btn: border-radius = var(--rounded-btn, 0.5rem)
────────────────────────────────────────────── */
.nl-pagination {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}
/* Reset Bootstrap ul, remove all Bootstrap pagination shape rules */
.nl-pagination .pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  padding: 0;
  margin: 0;
  list-style: none;
}
/* Nuclear option: target EVERY possible Bootstrap page-link selector */
.nl-pagination .pagination li a,
.nl-pagination .pagination li span,
.nl-pagination .page-item .page-link,
.nl-pagination .page-item:first-child .page-link,
.nl-pagination .page-item:last-child .page-link,
.nl-pagination .page-item:not(:first-child) .page-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 2.5rem !important;
  height: 2.5rem !important;
  padding: 0 0.75rem !important;
  border-radius: 0.5rem !important;
  border: 1px solid var(--card-border) !important;
  background: var(--news-card-bg) !important;
  color: var(--text-primary) !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s !important;
  box-sizing: border-box !important;
  margin-left: 0 !important;  /* kill Bootstrap -1px margin */
}
/* Active */
.nl-pagination .page-item.active .page-link,
.nl-pagination .page-item.active a,
.nl-pagination li.active a {
  background: #570df8 !important;
  border-color: #570df8 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 6px -1px rgb(87 13 248 / 0.35) !important;
  border-radius: 0.5rem !important;
}
/* Disabled */
.nl-pagination .page-item.disabled .page-link,
.nl-pagination .page-item.disabled a {
  opacity: 0.35 !important;
  pointer-events: none !important;
  cursor: default !important;
}
/* Hover */
.nl-pagination .page-item:not(.active):not(.disabled) .page-link:hover,
.nl-pagination .page-item:not(.active):not(.disabled) a:hover {
  background: rgb(87 13 248 / 0.08) !important;
  border-color: #570df8 !important;
  color: #570df8 !important;
}

/* ══════════════════════════════════════════════════════════
   POST DETAIL
   nodeloc: space-y-6, btn btn-ghost btn-sm gap-2,
            card bg-base-200 shadow-xl, card-body,
            text-4xl font-bold mb-4,
            flex items-center gap-4 text-sm opacity-70 mb-6 pb-6 border-b border-base-300,
            prose prose-lg max-w-none
══════════════════════════════════════════════════════════ */

/* space-y-6 gap between back button and card */
.nl-back { margin-bottom: 1.5rem; }

/* btn btn-ghost btn-sm gap-2 */
.nl-btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-radius: 0.5rem;   /* --rounded-btn */
  border: none;
  background: transparent;
  color: var(--text-primary);
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s;
}
.nl-btn-ghost svg { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.nl-btn-ghost:hover { background: rgb(0 0 0 / 0.05); }
[data-bs-theme="dark"] .nl-btn-ghost:hover { background: rgb(255 255 255 / 0.08); }

/* text-4xl font-bold mb-4 */
.nl-post-title {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--text-primary);
  margin: 0 0 1rem;
}

/* flex items-center gap-4 text-sm opacity-70 mb-6 pb-6 */
.nl-post-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  font-size: 0.875rem;
  color: var(--text-secondary);
  opacity: 0.7;
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
}
.nl-post-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.nl-post-meta-item svg { width: 1rem; height: 1rem; flex-shrink: 0; }

/* border-b border-base-300 */
.nl-post-divider {
  border: none;
  border-top: 1px solid var(--card-border);
  margin-bottom: 1.5rem;
}

/* TOS / Privacy — 底部 signature，对应 nodeloc: text-sm text-gray-500 mt-8 pt-4 border-t */
.nl-page-footer-meta {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--card-border);
}

/* prose prose-lg max-w-none */
.nl-post-content {
  font-size: 1.0625rem;
  line-height: 1.8;
  color: var(--text-primary);
  word-break: break-word;
}
.nl-post-content h1,
.nl-post-content h2,
.nl-post-content h3,
.nl-post-content h4 {
  font-weight: 700;
  margin: 1.75rem 0 0.75rem;
  color: var(--text-primary);
  line-height: 1.3;
}
.nl-post-content h1 { font-size: 2rem; }
.nl-post-content h2 { font-size: 1.5rem; }
.nl-post-content h3 { font-size: 1.25rem; }
.nl-post-content h4 { font-size: 1.125rem; }
.nl-post-content p  { margin: 0 0 1rem; }
.nl-post-content a  { color: #570df8; text-underline-offset: 2px; }
.nl-post-content a:hover { text-decoration: underline; }
.nl-post-content ul,
.nl-post-content ol { padding-left: 1.5rem; margin: 0 0 1rem; }
.nl-post-content li { margin-bottom: 0.375rem; }
.nl-post-content blockquote {
  border-left: 4px solid #570df8;
  padding: 0.5rem 0 0.5rem 1rem;
  margin: 1.25rem 0;
  color: var(--text-secondary);
  font-style: italic;
}
.nl-post-content pre {
  background: var(--input-bg);
  border-radius: 0.5rem;
  padding: 1rem 1.25rem;
  overflow-x: auto;
  font-size: 0.875em;
  margin: 0 0 1rem;
  border: 1px solid var(--card-border);
}
.nl-post-content code {
  font-size: 0.875em;
  background: var(--input-bg);
  padding: 0.1em 0.35em;
  border-radius: 0.25rem;
  border: 1px solid var(--card-border);
}
.nl-post-content pre code { background: none; padding: 0; border: none; }
.nl-post-content img {
  max-width: 100%;
  height: auto;
  border-radius: 0.5rem;
  margin: 0.5rem 0 1rem;
}
.nl-post-content hr {
  border: none;
  border-top: 1px solid var(--card-border);
  margin: 2rem 0;
}
.nl-post-content table {
  width: 100%; border-collapse: collapse;
  margin: 0 0 1rem; font-size: 0.9em;
}
.nl-post-content th,
.nl-post-content td {
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--card-border);
  text-align: left;
}
.nl-post-content th { background: var(--input-bg); font-weight: 600; }

/* ══════════════════════════════════════════════
   HN-PAGER — 完全自主分页，不依赖 Bootstrap
   无任何外部选择器干扰，圆角完全可控
══════════════════════════════════════════════ */
.hn-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 2rem;
  margin-bottom: 0.5rem;
}

.hn-pager-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.875rem;
  border-radius: 0.5rem;   /* 永远有圆角 */
  border: 1px solid var(--card-border);
  background: var(--news-card-bg);
  color: var(--text-primary);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  box-sizing: border-box;
  user-select: none;
}

a.hn-pager-btn:hover {
  background: rgb(87 13 248 / 0.08);
  border-color: #570df8;
  color: #570df8;
}

.hn-pager-btn.hn-pager-active {
  background: #570df8;
  border-color: #570df8;
  color: #ffffff;
  box-shadow: 0 4px 6px -1px rgb(87 13 248 / 0.35);
  cursor: default;
}

.hn-pager-btn.hn-pager-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .nl-post-title  { font-size: 1.75rem; }
  .nl-card-title  { font-size: 1.25rem; }
  .nl-card-body   { padding: 1.25rem; }
}

/* ============================================================
   Profile 页面 — Tab + 表单布局
   ============================================================ */

/* Tab 导航栏 */
.hn-tabs {
  display: flex;
  gap: 4px;
  margin-bottom: 1.5rem;
  border-bottom: 2px solid var(--card-border);
  padding-bottom: 0;
}
.hn-tab {
  padding: 10px 20px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-size: 0.9rem;
  font-weight: 500;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  border-radius: 6px 6px 0 0;
  transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.hn-tab:hover {
  color: var(--text-primary);
  background: var(--color-base-200);
}
.hn-tab--active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
  font-weight: 600;
}

/* Tab 内容面板 */
.hn-tab-panel--hidden { display: none; }

/* 区块标题 */
.hn-section-title {
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 0.25rem;
}
.hn-section-sub {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin-bottom: 1.5rem;
}

/* 表单两列网格 */
.hn-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.hn-form-grid--narrow {
  grid-template-columns: 1fr;
  max-width: 28rem;
}
.hn-col-full { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .hn-form-grid { grid-template-columns: 1fr; }
  .hn-col-full { grid-column: 1; }
}

/* Avatar 行 */
.hn-avatar-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
  background: var(--color-base-200);
  border-radius: 0.75rem;
}
.hn-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  flex-shrink: 0;
}
.hn-avatar-hint {
  font-size: 0.875rem;
  color: var(--text-secondary);
}
.hn-avatar-hint a { color: var(--color-primary); }

/* Alert 组件 */
.nl-alert {
  padding: 1rem 1.25rem;
  border-radius: 0.75rem;
  font-size: 0.875rem;
}
.nl-alert--warning {
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.3);
  color: var(--text-primary);
}
.nl-alert--info {
  background: rgba(99, 102, 241, 0.1);
  border: 1px solid rgba(99, 102, 241, 0.25);
  color: var(--text-primary);
}

/* ============================================================
   Wallet / Balance 页面
   ============================================================ */

/* 页面顶部：标题左，余额+充值右 */
.hn-page-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1.5rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.hn-wallet-top-right {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* 余额显示徽章 */
.hn-balance-badge {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  background: var(--color-base-200);
  border-radius: 0.75rem;
  padding: 0.5rem 1rem;
}
.hn-balance-label {
  font-size: 0.75rem;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.hn-balance-amount {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-primary);
}

/* 充值表单 */
.hn-topup-form {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.hn-topup-input {
  width: 120px !important;
  padding: 10px 12px !important;
  font-size: 0.9rem !important;
}
.hn-topup-btn {
  white-space: nowrap;
  padding: 10px 20px !important;
  font-size: 0.9rem !important;
}

/* 表格 */
.hn-table-wrap {
  overflow-x: auto;
}
.hn-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
}
.hn-table thead tr {
  border-bottom: 2px solid var(--card-border);
}
.hn-table th {
  padding: 0.875rem 1.5rem;
  text-align: left;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  white-space: nowrap;
}
.hn-table td {
  padding: 0.875rem 1.5rem;
  color: var(--text-primary);
  border-bottom: 1px solid var(--card-border);
  white-space: nowrap;
}
/* 斑马纹 */
.hn-table tbody tr:nth-child(even) td {
  background: var(--color-base-200);
}
.hn-table tbody tr:hover td {
  background: var(--color-base-300);
}
.hn-col-amount {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
.hn-col-date {
  color: var(--text-secondary);
  white-space: nowrap;
}
/* 底部 Total 行 */
.hn-table-total td {
  border-bottom: none !important;
  border-top: 2px solid var(--card-border);
  background: var(--color-base-200) !important;
  font-size: 0.9rem;
  color: var(--text-secondary);
}
.hn-table-total .hn-col-amount strong {
  color: var(--color-primary);
  font-size: 1rem;
}

/* 空状态 */
.hn-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  color: var(--text-secondary);
}
.hn-empty-icon {
  width: 56px;
  height: 56px;
  opacity: 0.35;
  margin-bottom: 1rem;
}
.hn-empty-text {
  font-size: 0.95rem;
}

/* ============================================================
   Invoice 页面
   ============================================================ */

/* Tab 徽章数字 */
.hn-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 700;
  background: var(--color-base-300);
  color: var(--text-secondary);
  margin-left: 4px;
}
.hn-badge--danger {
  background: rgba(239,68,68,0.15);
  color: #ef4444;
}

/* 操作列 */
.hn-col-action { text-align: center; white-space: nowrap; }
.hn-btn-pay {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--color-primary);
  color: #fff;
  text-decoration: none;
  transition: opacity 0.2s;
}
.hn-btn-pay:hover { opacity: 0.85; color: #fff; }
.hn-btn-view {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--color-base-200);
  color: var(--text-primary);
  text-decoration: none;
  border: 1px solid var(--card-border);
  cursor: pointer;
  transition: background 0.2s;
}
.hn-btn-view:hover { background: var(--color-base-300); color: var(--text-primary); }

/* 面包屑 */
.hn-breadcrumb { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; }
.hn-breadcrumb a { color: var(--color-primary); text-decoration: none; }
.hn-breadcrumb a:hover { text-decoration: underline; }
.hn-breadcrumb-sep { color: var(--text-secondary); }

/* 发票标题栏 */
.hn-invoice-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  flex-wrap: wrap;
}
.hn-invoice-actions { display: flex; gap: 0.5rem; align-items: center; }
.hn-btn-danger {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: #ef4444;
  color: #fff;
  text-decoration: none;
}
.hn-btn-danger:hover { opacity: 0.85; color: #fff; }
.hn-btn-dark {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--color-base-300);
  color: var(--text-primary);
  text-decoration: none;
}
.hn-btn-dark:hover { opacity: 0.85; }

/* 三列 meta 信息 */
.hn-invoice-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin: 1.5rem 0;
}
@media (max-width: 768px) {
  .hn-invoice-meta-grid { grid-template-columns: 1fr; }
}
.hn-meta-block {}
.hn-meta-title {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  margin-bottom: 0.75rem;
}
.hn-dl { display: grid; grid-template-columns: auto 1fr; gap: 0.25rem 1rem; font-size: 0.875rem; }
.hn-dl dt { color: var(--text-secondary); white-space: nowrap; }
.hn-dl dd { color: var(--text-primary); margin: 0; }

/* 状态徽章 */
.hn-status-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
}
.hn-status-badge--paid { background: rgba(34,197,94,0.15); color: #16a34a; }
.hn-status-badge--unpaid { background: rgba(234,179,8,0.15); color: #b45309; }
.hn-status-badge--cancelled { background: rgba(239,68,68,0.12); color: #ef4444; }

/* 数量标注 */
.hn-qty { color: var(--text-secondary); font-size: 0.85em; }

/* 金额汇总区 */
.hn-invoice-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--card-border);
}
.hn-summary-row {
  display: flex;
  gap: 2rem;
  font-size: 0.9rem;
  color: var(--text-secondary);
  min-width: 220px;
  justify-content: space-between;
}
.hn-summary-total {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--color-primary);
  border-top: 1px solid var(--card-border);
  padding-top: 0.5rem;
  margin-top: 0.25rem;
}

/* 支付网关列表 */
.hn-gateway-list { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; margin-top: 0.5rem; }
.hn-gateway-item { position: relative; }
.hn-gateway-label {
  display: block;
  border: 2px solid var(--card-border);
  border-radius: 0.5rem;
  cursor: pointer;
  transition: border-color 0.2s;
  min-width: 80px;
  min-height: 40px;
}
.hn-gateway-label:hover { border-color: var(--color-primary); }
.btn-check:checked + .hn-gateway-label { border-color: var(--color-primary); box-shadow: 0 0 0 3px rgba(87,13,248,0.15); }

/* ============================================================
   Banklink / 支付跳转页
   ============================================================ */
.hn-banklink-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem 0 1rem;
}
.hn-spinner {
  width: 48px;
  height: 48px;
  color: var(--color-primary);
  animation: hn-spin 1s linear infinite;
}
@keyframes hn-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* ============================================================
   Order / Service 页面
   ============================================================ */

/* 状态徽章扩展 */
.hn-status-badge--active       { background: rgba(34,197,94,0.15);  color: #16a34a; }
.hn-status-badge--pending_setup{ background: rgba(234,179,8,0.15);  color: #b45309; }
.hn-status-badge--failed_setup,
.hn-status-badge--suspended,
.hn-status-badge--failed_renew { background: rgba(239,68,68,0.12);  color: #ef4444; }
.hn-status-badge--canceled     { background: rgba(156,163,175,0.2); color: #6b7280; }
.hn-status-badge--lg           { font-size: 0.85rem; padding: 4px 14px; }

/* 服务详情信息网格 */
.hn-order-detail-grid {
  margin: 0.5rem 0 1.25rem;
  border-top: 1px solid var(--card-border);
}
.hn-detail-row {
  display: flex;
  align-items: baseline;
  border-bottom: 1px solid var(--card-border);
}
.hn-detail-row.hn-col-full {
  flex-direction: column;
  gap: 4px;
}
.hn-detail-label {
  flex: 0 0 180px;
  padding: 0.55rem 0.75rem 0.55rem 0;
  font-size: 0.875rem;
  color: var(--text-secondary);
  font-weight: 500;
  white-space: nowrap;
}
.hn-detail-value {
  flex: 1;
  padding: 0.55rem 0;
  font-size: 0.875rem;
  color: var(--text-primary);
}
@media (max-width: 640px) {
  .hn-detail-row { flex-direction: column; gap: 2px; }
  .hn-detail-label { flex: none; padding-bottom: 0; font-size: 0.75rem; }
  .hn-detail-value { padding-top: 2px; }
}
.hn-days-left {
  font-size: 0.8em;
  color: #f59e0b;
  font-weight: 500;
}

/* 操作按钮行 */
.hn-order-actions {
  display: flex;
  gap: 0.625rem;
  flex-wrap: wrap;
  align-items: center;
}
.hn-order-btn {
  font-size: 0.85rem !important;
  padding: 7px 16px !important;
  width: auto !important;
}
.hn-btn-cancel {
  display: inline-block;
  padding: 6px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: rgba(239,68,68,0.1);
  color: #ef4444;
  border: 1px solid rgba(239,68,68,0.3);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s;
}
.hn-btn-cancel:hover { background: rgba(239,68,68,0.2); }

/* 弹窗样式 */
.hn-modal-content {
  background: var(--card-bg) !important;
  border-color: var(--card-border) !important;
  border-radius: 0.75rem !important;
}
.hn-modal-header {
  border-bottom-color: var(--card-border) !important;
  padding: 1rem 1.25rem;
}
.hn-modal-header .modal-title {
  color: var(--text-primary);
  font-size: 1rem;
  font-weight: 600;
}
.hn-modal-body {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.hn-modal-footer {
  border-top-color: var(--card-border) !important;
  padding: 0.75rem 1.25rem;
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}

/* textarea */
.hn-textarea {
  resize: vertical;
  min-height: 100px;
}

/* ============================================================
   Servicedomain Manage 子模板
   ============================================================ */

.hn-tab-section { padding: 1.25rem 0; }

/* DNS 添加表单行 */
.hn-dns-add-form { margin-bottom: 1.25rem; }
.hn-dns-add-row {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.hn-dns-select   { width: 140px !important; flex-shrink: 0; }
.hn-dns-name     { width: 90px !important; flex-shrink: 0; }
.hn-dns-value    { flex: 1 1 200px; min-width: 160px; }
.hn-dns-ttl      { width: 90px !important; flex-shrink: 0; }
.hn-dns-priority { width: 90px !important; flex-shrink: 0; }
.hn-dns-add-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  border: 1px solid var(--color-primary);
  color: var(--color-primary);
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.2s, color 0.2s;
}
.hn-dns-add-btn:hover { background: var(--color-primary); color: #fff; }

/* DNS 表格特殊列 */
.hn-dns-table .hn-dns-value-input { min-width: 160px; padding: 5px 8px !important; font-size: 0.82rem !important; }
.hn-dns-table .hn-dns-ttl-input   { width: 70px; padding: 5px 8px !important; font-size: 0.82rem !important; }
.hn-dns-host { font-family: monospace; font-size: 0.875rem; }
.hn-col-center { text-align: center !important; }

/* DNS type 徽章 */
.hn-dns-type-badge {
  font-size: 0.82rem;
  font-weight: 400;
  font-family: monospace;
  color: var(--text-primary);
}

/* DNS 空状态 & 注释行 */
.hn-dns-empty {
  color: var(--text-secondary);
  font-size: 0.875rem;
  padding: 1.25rem 1.5rem !important;
}
.hn-dns-note {
  font-size: 0.78rem;
  color: var(--text-secondary);
  padding: 0.625rem 1.5rem !important;
  border-top: none !important;
  background: var(--color-base-200) !important;
}
.hn-dns-note-label { color: #ef4444; font-weight: 600; margin-right: 4px; }

/* 图标操作按钮 */
.hn-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 5px;
  border: 1px solid;
  background: transparent;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.hn-icon-btn--primary {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.hn-icon-btn--primary:hover { background: var(--color-primary); color: #fff; }
.hn-icon-btn--danger {
  border-color: #ef4444;
  color: #ef4444;
}
.hn-icon-btn--danger:hover { background: #ef4444; color: #fff; }

/* 两列表单网格 */
.hn-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.875rem 1.25rem;
}
@media (max-width: 640px) {
  .hn-form-grid { grid-template-columns: 1fr; }
  .hn-dns-add-row { flex-direction: column; align-items: stretch; }
  .hn-dns-select, .hn-dns-name, .hn-dns-ttl, .hn-dns-priority { width: 100% !important; }
  .hn-dns-add-btn { width: 100%; height: 36px; }
}

/* ── DNS 管理卡片局部覆盖 ── */
/* 标题不要喧宾夺主 */
#tab-sd-manage .hn-section-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-secondary);
  margin-bottom: 0.75rem;
}
/* 添加记录行输入框高度与表格内一致 */
.hn-dns-add-row .hidns-form-input {
  padding: 5px 8px !important;
  font-size: 0.82rem !important;
  height: auto;
}
.hn-dns-add-btn {
  width: 32px !important;
  height: 32px !important;
}

/* ── 服务详情按钮统一 ── */
.hn-btn-primary {
  display: inline-block;
  padding: 4px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: var(--color-primary);
  color: #fff !important;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: opacity 0.2s;
}
.hn-btn-primary:hover { opacity: 0.85; color: #fff; }

/* 行高统一：让 strong 不撑高 table-cell */
.hn-detail-value strong { font-size: inherit; line-height: inherit; }

/* ── DNS 表格修复 ── */
/* TYPE 列专用 class，不影响其他列 */
.hn-td-type {
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--text-secondary);
  white-space: nowrap;
}
/* Note 行去掉底部分割线 */
.hn-dns-note {
  border-bottom: none !important;
}

/* 青色实心按钮（提交工单/升级） */
.hn-btn-teal {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: #0891b2;
  color: #fff !important;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}
.hn-btn-teal:hover { opacity: 0.85; color: #fff; }

/* 红色实心按钮（取消服务） */
.hn-btn-danger-solid {
  display: inline-block;
  padding: 5px 14px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  background: #ef4444;
  color: #fff !important;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s;
}
.hn-btn-danger-solid:hover { opacity: 0.85; color: #fff; }

/* ── Order 步骤 Accordion ── */
.hn-order-wrap {
  width: 100%;
}
.hn-accordion {
  border: 1px solid var(--card-border);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.hn-acc-item {
  border: none !important;
  border-bottom: 1px solid var(--card-border) !important;
  border-radius: 0 !important;
  background: var(--news-card-bg);
}
.hn-acc-item:last-child {
  border-bottom: none !important;
}
.hn-accordion .accordion-button,
.hn-accordion .accordion-button.hn-acc-btn {
  background: var(--news-card-bg) !important;
  color: var(--text-primary) !important;
  padding: 0.9rem 1.25rem;
  font-size: 0.9rem;
  font-weight: 500;
  border: none;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  transition: background 0.15s;
}
.hn-accordion .accordion-button:not(.collapsed) {
  background: var(--news-card-bg) !important;
  color: var(--text-primary) !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--card-border);
}
.hn-accordion .accordion-button:hover {
  background: var(--color-base-200) !important;
}
.hn-accordion .accordion-button::after { display: none; }
.hn-step-dot {
  width: 26px;
  height: 26px;
  min-width: 26px;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s;
}
.hn-step-dot--done { background: #16a34a; }
.hn-step-dot--inactive { background: var(--color-base-300, #d1d5db); color: var(--text-secondary); }
.hn-acc-label {
  flex: 1;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-primary);
}
.hn-acc-badge {
  font-size: 0.72rem;
  padding: 2px 9px;
  border-radius: 99px;
  background: rgba(87,13,248,0.1);
  color: var(--color-primary);
  font-weight: 500;
  white-space: nowrap;
}
.hn-acc-body {
  padding: 1.25rem;
  background: var(--news-card-bg);
}
/* accordion body 内的 input/select 尺寸对齐管理卡片 */
.hn-acc-body .hidns-form-input {
  padding: 5px 8px !important;
  font-size: 0.82rem !important;
  height: auto;
}
.hn-pricing-box {
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  background: var(--color-base-200);
  border-radius: 8px;
}
.hn-pricing-box__label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  font-weight: 600;
  margin-bottom: 0.5rem;
}
/* 产品列表 */
.hn-product-list { display: flex; flex-direction: column; gap: 0.5rem; }
.hn-product-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75rem 1rem;
  border: 1px solid var(--card-border);
  border-radius: 8px;
  text-decoration: none;
  color: var(--text-primary);
  background: var(--color-base-200);
  transition: border-color 0.15s, background 0.15s;
  font-size: 0.875rem;
  font-weight: 500;
}
.hn-product-item:hover {
  border-color: var(--color-primary);
  background: rgba(87,13,248,0.04);
  color: var(--color-primary);
}
.hn-product-item svg { opacity: 0.5; }
.hn-product-item:hover svg { opacity: 1; }
.hn-category-title {
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  margin: 0.75rem 0 0.4rem;
}
.hn-category-title:first-child { margin-top: 0; }
/* 购物车表格 */
.hn-cart-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.hn-cart-table td { padding: 0.6rem 0; border-bottom: 1px solid var(--card-border); color: var(--text-primary); }
.hn-cart-table tr:last-child td { border-bottom: none; }
.hn-cart-remove {
  background: none; border: none; cursor: pointer;
  color: var(--text-secondary); padding: 2px 6px; border-radius: 4px;
  font-size: 1rem; line-height: 1;
  transition: color 0.15s, background 0.15s;
}
.hn-cart-remove:hover { color: #ef4444; background: rgba(239,68,68,0.1); }
.hn-total-row td { font-weight: 600; padding-top: 0.75rem; font-size: 0.9rem; }
/* 登录/注册 tab */
.hn-auth-tabs { display: flex; gap: 0; border-bottom: 1px solid var(--card-border); margin-bottom: 1.25rem; }
.hn-auth-tab {
  padding: 0.5rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--text-secondary);
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
  transition: color 0.15s;
}
.hn-auth-tab--active {
  color: var(--color-primary);
  border-bottom-color: var(--color-primary);
}
.hn-auth-panel { display: none; }
.hn-auth-panel--active { display: block; }
/* 支付网关 */
.hn-gateway-list { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; }
.hn-gateway-label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0.9rem;
  border: 1.5px solid var(--card-border);
  border-radius: 8px;
  cursor: pointer;
  font-size: 0.875rem;
  transition: border-color 0.15s;
}
.hn-gateway-label:has(input:checked) { border-color: var(--color-primary); }
/* 促销码 */
.hn-promo-row { display: flex; gap: 0.5rem; margin-bottom: 0.75rem; }
.hn-promo-input { flex: 1; }

/* ── Servicedomain 订购表单 ── */
.hn-svc-tab {
  padding: 0.35rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 500;
  border-radius: 6px;
  border: 1.5px solid var(--card-border);
  background: none;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.15s;
  text-align: left;
}
.hn-svc-tab--active,
.hn-svc-tab:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
  background: rgba(87,13,248,0.06);
}
.hn-svc-panel { display: none; }
.hn-svc-panel--active { display: block; }
/* 修复 Bootstrap Modal 弹出时页面抖动 */
body.modal-open {
  padding-right: 0 !important;
}
.modal {
  padding-right: 0 !important;
}