/* =========================================================
   DMV MASTER CSS
   Theme-loaded by default
   ========================================================= */

:root {
  --dmv-bg: #0b0f14;
  --dmv-bg-soft: #11161d;
  --dmv-bg-card: rgba(255,255,255,0.03);
  --dmv-bg-card-strong: rgba(255,255,255,0.05);
  --dmv-text: #f5f7fa;
  --dmv-text-muted: #aab3c0;
  --dmv-cyan: #22e7f2;
  --dmv-lime: #9bff3c;
  --dmv-blue: #2f80ff;
  --dmv-green: #39ff6a;
  --dmv-border: rgba(255,255,255,0.08);
  --dmv-shadow: 0 12px 32px rgba(0,0,0,0.28);
  --dmv-radius-sm: 12px;
  --dmv-radius-md: 18px;
  --dmv-radius-lg: 24px;
  --dmv-max: 1280px;
  --dmv-font-family: Inter, system-ui, sans-serif;

  /* Theme integration aliases */
  --dmv-bg-alt: var(--dmv-bg-soft);
  --dmv-surface: var(--dmv-bg-card);
  --dmv-surface-strong: var(--dmv-bg-card-strong);
  --dmv-muted: var(--dmv-text-muted);
  --dmv-subtle: color-mix(in srgb, var(--dmv-text-muted) 76%, transparent);
  --dmv-gradient: linear-gradient(135deg, var(--dmv-cyan) 0%, var(--dmv-lime) 100%);
  --dmv-gradient-reverse: linear-gradient(135deg, var(--dmv-lime) 0%, var(--dmv-cyan) 100%);
  --dmv-radius: var(--dmv-radius-md);
}

body.dmv-pro-agency {
  background: linear-gradient(180deg, var(--dmv-bg) 0%, #10151c 100%);
  color: var(--dmv-text);
  font-family: var(--dmv-font-family);
}

.dmv-section { width: 100%; position: relative; padding: 100px 24px; }
.dmv-section-tight { padding-top: 64px; padding-bottom: 64px; }
.dmv-section-loose { padding-top: 120px; padding-bottom: 120px; }
.dmv-inner { width: 100%; max-width: var(--dmv-max); margin: 0 auto; }
.dmv-bg-main { background: linear-gradient(180deg, #0b0f14 0%, #10151c 100%); }
.dmv-bg-soft { background: #11161d; }
.dmv-bg-grid { position: relative; overflow: hidden; }
.dmv-bg-grid::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 64px 64px; opacity: 0.18; pointer-events: none;
}
.dmv-glow-cyan, .dmv-glow-lime { position: relative; overflow: hidden; }
.dmv-glow-cyan::after {
  content: ""; position: absolute; width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(34,231,242,0.16) 0%, rgba(34,231,242,0) 70%);
  filter: blur(22px); top: -60px; left: -60px; pointer-events: none;
}
.dmv-glow-lime::after {
  content: ""; position: absolute; width: 420px; height: 420px;
  background: radial-gradient(circle, rgba(155,255,60,0.12) 0%, rgba(155,255,60,0) 70%);
  filter: blur(22px); bottom: -80px; right: -60px; pointer-events: none;
}

.dmv-eyebrow { display:inline-block; font-size:12px; font-weight:700; line-height:1.2; letter-spacing:0.18em; text-transform:uppercase; color:var(--dmv-cyan); }
.dmv-heading-xl { font-size:clamp(42px, 7vw, 68px); line-height:1.03; letter-spacing:-0.03em; font-weight:800; color:var(--dmv-text); margin:0; }
.dmv-heading-lg { font-size:clamp(32px, 5vw, 52px); line-height:1.08; letter-spacing:-0.025em; font-weight:800; color:var(--dmv-text); margin:0; }
.dmv-heading-md { font-size:clamp(24px, 3.5vw, 34px); line-height:1.12; letter-spacing:-0.02em; font-weight:700; color:var(--dmv-text); margin:0; }
.dmv-body-lg { font-size:19px; line-height:1.7; color:var(--dmv-text-muted); }
.dmv-body { font-size:16px; line-height:1.75; color:var(--dmv-text-muted); }
.dmv-body-sm { font-size:14px; line-height:1.65; color:var(--dmv-text-muted); }

.dmv-gradient-text,
.dmv-gradient-text-alt,
.dmv-stat-number-gradient {
  background: linear-gradient(90deg, var(--dmv-cyan), var(--dmv-lime), var(--dmv-blue));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.dmv-highlight { color: var(--dmv-cyan); font-weight: 700; }
.dmv-highlight-lime { color: var(--dmv-lime); font-weight: 700; }

.dmv-btn, .dmv-btn .elementor-button, .elementor-button.dmv-btn,
.site-button--primary, .site-button--secondary, .site-header__cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 14px 22px; font-size: 15px; font-weight: 600; line-height: 1;
  border-radius: 999px; text-decoration: none; transition: all 0.25s ease; position: relative;
}
.dmv-btn-primary, .dmv-btn-primary .elementor-button, .elementor-button.dmv-btn-primary,
.site-button--primary, .site-header__cta {
  background: linear-gradient(90deg, var(--dmv-cyan), var(--dmv-lime));
  color: #081018 !important; border: none; box-shadow: 0 10px 25px color-mix(in srgb, var(--dmv-cyan) 25%, transparent);
}
.dmv-btn-primary:hover, .dmv-btn-primary .elementor-button:hover, .elementor-button.dmv-btn-primary:hover,
.site-button--primary:hover, .site-header__cta:hover {
  transform: translateY(-2px); box-shadow: 0 14px 35px color-mix(in srgb, var(--dmv-cyan) 35%, transparent);
}
.dmv-btn-outline, .dmv-btn-outline .elementor-button, .elementor-button.dmv-btn-outline,
.site-button--secondary {
  background: transparent; color: var(--dmv-cyan) !important; border: 1px solid color-mix(in srgb, var(--dmv-cyan) 50%, transparent);
}
.dmv-btn-outline:hover, .dmv-btn-outline .elementor-button:hover, .elementor-button.dmv-btn-outline:hover,
.site-button--secondary:hover { background: color-mix(in srgb, var(--dmv-cyan) 8%, transparent); transform: translateY(-1px); }
.dmv-btn-ghost, .dmv-btn-ghost .elementor-button, .elementor-button.dmv-btn-ghost { background: transparent; color: var(--dmv-text-muted) !important; border: none; }
.dmv-btn-ghost:hover, .dmv-btn-ghost .elementor-button:hover, .elementor-button.dmv-btn-ghost:hover { color: #ffffff !important; }
.dmv-btn-glass, .dmv-btn-glass .elementor-button, .elementor-button.dmv-btn-glass { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); color: var(--dmv-text) !important; backdrop-filter: blur(10px); }
.dmv-btn-sm, .dmv-btn-sm .elementor-button, .elementor-button.dmv-btn-sm { padding: 10px 16px; font-size: 13px; }
.dmv-btn-lg, .dmv-btn-lg .elementor-button, .elementor-button.dmv-btn-lg { padding: 18px 28px; font-size: 16px; }

.dmv-card, .dmv-card-soft, .dmv-card-glass, .dmv-card-hero-image,
.dmv-stat-card, .dmv-faq-wrap {
  border: 1px solid var(--dmv-border);
  box-shadow: var(--dmv-shadow);
}
.dmv-card { background: var(--dmv-bg-card); border-radius: var(--dmv-radius-md); padding: 28px; transition: all 0.25s ease; }
.dmv-card:hover { transform: translateY(-4px); }
.dmv-card-soft { background: rgba(255,255,255,0.02); border-radius: var(--dmv-radius-md); padding: 24px; }
.dmv-card-glass { background: rgba(255,255,255,0.04); border-radius: var(--dmv-radius-lg); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); padding: 28px; }
.dmv-card-hero-image { padding: 14px; border-radius: 22px; background: rgba(255,255,255,0.03); }

.dmv-icon-circle, .dmv-icon-circle-lime {
  width: 48px; height: 48px; border-radius: 14px; display: flex; align-items: center; justify-content: center;
}
.dmv-icon-circle { background: rgba(34, 231, 242, 0.08); border: 1px solid rgba(34, 231, 242, 0.28); color: var(--dmv-cyan); box-shadow: 0 0 18px rgba(34, 231, 242, 0.18); }
.dmv-icon-circle-lime { background: rgba(155, 255, 60, 0.08); border: 1px solid rgba(155, 255, 60, 0.28); color: var(--dmv-lime); box-shadow: 0 0 18px rgba(155, 255, 60, 0.18); }

.dmv-status-pill {
  display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px;
  background: rgba(0,0,0,0.18); border: 1px solid color-mix(in srgb, var(--dmv-cyan) 45%, transparent);
  color: var(--dmv-cyan); font-size: 13px; font-weight: 600; line-height: 1; box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}
.dmv-status-dot {
  width: 10px; height: 10px; border-radius: 50%; background: var(--dmv-green);
  box-shadow: 0 0 8px var(--dmv-green), 0 0 18px color-mix(in srgb, var(--dmv-green) 75%, transparent), 0 0 30px color-mix(in srgb, var(--dmv-green) 35%, transparent);
  flex: 0 0 10px;
}
.dmv-tag {
  display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 6px 12px; border-radius: 999px;
  font-size: 12px; font-weight: 700; line-height: 1; border: 1px solid color-mix(in srgb, var(--dmv-cyan) 45%, transparent);
  color: var(--dmv-cyan); background: rgba(0,0,0,0.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}
.dmv-tag-lime { border-color: color-mix(in srgb, var(--dmv-lime) 45%, transparent); color: var(--dmv-lime); }

.dmv-stat-card { text-align: center; padding: 28px 22px; background: rgba(255,255,255,0.03); border-radius: var(--dmv-radius-md); }
.dmv-stat-number { font-size: clamp(28px, 4vw, 42px); line-height: 1; font-weight: 800; color: var(--dmv-text); }
.dmv-stat-label { margin-top: 8px; font-size: 13px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.12em; color: var(--dmv-text-muted); }

.site-header, .site-footer { position: relative; z-index: 5; }
.site-header {
  position: sticky; top: 0; padding: .9rem 0; background: color-mix(in srgb, var(--dmv-bg) 84%, transparent);
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--dmv-border);
}
.site-header__inner, .site-footer__inner {
  display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; background: var(--dmv-bg-card-strong);
  border: 1px solid var(--dmv-border); border-radius: var(--dmv-radius-lg); padding: 1rem 1.25rem; box-shadow: var(--dmv-shadow);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
}
.site-branding { display: flex; align-items: center; gap: 1rem; }
.site-branding .custom-logo-link img { max-height: 60px; width: auto; filter: brightness(1.05); }
.site-title { font-size: 1.5rem; font-weight: 800; }
.site-header__actions { display:flex; align-items:center; gap:.75rem; margin-left:auto; }
.site-contact-chip {
  display: inline-flex; align-items: center; gap: .5rem; padding: .72rem 1rem; border-radius: 999px;
  background: rgba(255,255,255,.03); border: 1px solid color-mix(in srgb, var(--dmv-cyan) 18%, transparent); color: var(--dmv-text); font-weight: 600;
}
.site-contact-chip:hover { color: var(--dmv-cyan); }
.menu-toggle { display: none; }
.site-navigation ul { display:flex; align-items:center; gap:1rem; list-style:none; margin:0; padding:0; }
.site-navigation a { color: var(--dmv-text-muted); font-weight: 600; position: relative; }
.site-navigation a::after { content: ""; position:absolute; left:0; bottom:-4px; width:0; height:1.5px; background:var(--dmv-cyan); transition: width .3s ease; }
.site-navigation a:hover, .site-navigation .current-menu-item > a { color: var(--dmv-cyan); }
.site-navigation a:hover::after, .site-navigation .current-menu-item > a::after { width:100%; }
.site-footer { padding: 0 0 2rem; }
.site-footer__branding p:first-child { font-weight: 700; }
.site-footer__aside { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.footer-widget-area { min-width: min(100%, 320px); }

@media (max-width: 960px) {
  .site-header__inner, .site-footer__inner { flex-wrap: wrap; }
  .menu-toggle { display: inline-flex; }
  .site-navigation { width: 100%; display: none; }
  .site-navigation.is-open { display: block; }
  .site-navigation ul { flex-direction: column; align-items: flex-start; padding-top: .5rem; }
  .site-header__actions { margin-left: 0; }
}
@media (max-width: 767px) {
  .dmv-section { padding: 56px 16px; }
  .dmv-section-tight { padding-top: 40px; padding-bottom: 40px; }
  .dmv-section-loose { padding-top: 72px; padding-bottom: 72px; }
  .dmv-card, .dmv-card-soft, .dmv-card-glass, .dmv-card-hero-image, .dmv-stat-card { padding: 20px; }
  .dmv-status-pill { padding: 9px 14px; font-size: 12px; }
  .site-header__actions, .site-contact-chip, .site-footer__aside { width: 100%; }
  .site-header__actions { flex-direction: column; align-items: stretch; }
}
