/* ZIKES Shared Design System
   Source of truth for public pages that use the legacy-compatible shell. */
:root {
  --z-space-1: 8px; --z-space-2: 12px; --z-space-3: 16px; --z-space-4: 24px;
  --z-space-5: 32px; --z-space-6: 48px; --z-space-7: 64px; --z-space-8: 96px;
  --z-radius-sm: 14px; --z-radius-md: 20px; --z-radius-lg: 28px;
  --z-shadow-sm: 0 8px 24px rgba(13,38,76,.08);
  --z-shadow-md: 0 18px 50px rgba(13,38,76,.13);
  --z-motion: 180ms cubic-bezier(.22,1,.36,1);
}

.main-header, .main-footer, .btn, .service-card, .business-card, .subpage-card,
.content-card, .simulator-card, .contact-form-card, .contact-side-panel { box-sizing: border-box; }
.main-header .container, .main-footer .container { width: min(100% - 40px, var(--container)); margin-inline: auto; }
.main-header .nav-container { min-width: 0; }
.main-header .logo { flex-shrink: 0; }
.main-header .nav-links { min-width: 0; }
.main-header .nav-links a { white-space: nowrap; }
.main-header .nav-actions { flex-shrink: 0; }
.main-header .btn { min-height: 44px; }
.main-header button, .main-footer a { min-height: 44px; }
.main-footer a { display: inline-flex; align-items: center; }
.main-footer .footer-grid { gap: clamp(24px, 3vw, 42px); }
.main-footer .footer-brand p { max-width: 390px; }

@media (max-width: 1100px) {
  .main-header .nav-links { display: none; }
  .main-header .mobile-menu-toggle { display: inline-flex; min-width: 44px; min-height: 44px; }
}

@media (max-width: 560px) {
  .main-header .container, .main-footer .container { width: min(100% - 28px, var(--container)); }
  .main-header .nav-actions .btn { display: none; }
}
