/* Footer: keep it clean, international */
.site-footer .footer-line { opacity: .92; }
.site-footer .footer-title { font-weight: 700; }

/* Landing sections spacing (safe defaults) */
.landing .landing-section { padding: 44px 0; }
.landing .landing-section .lead { max-width: 860px; color: rgba(0, 0, 0, .65); }

/* Footer premium (if used) */
.footer-premium .company-description { font-weight: 600; }
.footer-premium .contact-item { opacity: .92; }

/* ===== Public UI refresh (modern pass) ===== */
body.area-public {
  --pub-surface: #ffffff;
  --pub-surface-soft: #f8faff;
  --pub-border: rgba(88, 101, 242, 0.14);
  --pub-shadow-sm: 0 6px 18px rgba(23, 28, 56, 0.08);
  --pub-shadow-md: 0 14px 34px rgba(23, 28, 56, 0.12);
  --pub-text: #1c2040;
  --pub-muted: #596089;
  --pub-primary-start: #667eea;
  --pub-primary-end: #764ba2;
}

body.area-public .page-content {
  background: linear-gradient(180deg, #f7f9ff 0%, #ffffff 30%, #ffffff 100%);
}

body.area-public .card {
  border-radius: 14px;
  border: 1px solid var(--pub-border);
  background: var(--pub-surface);
  box-shadow: var(--pub-shadow-sm);
}

body.area-public .card:hover {
  box-shadow: var(--pub-shadow-md);
}

body.area-public h1,
body.area-public h2,
body.area-public h3 {
  color: var(--pub-text);
  letter-spacing: -0.01em;
}

body.area-public .lead,
body.area-public .text-muted {
  color: var(--pub-muted) !important;
}

body.area-public .alert {
  border-radius: 12px;
  border-width: 1px;
}

body.area-public .btn {
  border-radius: 10px;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

body.area-public .btn:hover {
  transform: translateY(-1px);
}

body.area-public .btn-primary {
  background: linear-gradient(135deg, var(--pub-primary-start) 0%, var(--pub-primary-end) 100%);
  border-color: rgba(102, 126, 234, 0.7);
  box-shadow: 0 8px 22px rgba(102, 126, 234, 0.3);
}

body.area-public .btn-primary:hover,
body.area-public .btn-primary:focus {
  box-shadow: 0 10px 26px rgba(102, 126, 234, 0.38);
}

body.area-public .btn-outline-primary {
  border-color: rgba(102, 126, 234, 0.42);
  color: #5667db;
  background: rgba(255, 255, 255, 0.82);
}

body.area-public .btn-outline-primary:hover,
body.area-public .btn-outline-primary:focus {
  background: rgba(102, 126, 234, 0.1);
  color: #4758ca;
}

body.area-public .form-control,
body.area-public .form-select {
  border-radius: 10px;
  border-color: rgba(113, 123, 194, 0.24);
}

body.area-public .form-control:focus,
body.area-public .form-select:focus {
  border-color: rgba(102, 126, 234, 0.6);
  box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.16);
}

body.area-public .table {
  border-radius: 12px;
  overflow: hidden;
}

@media (max-width: 768px) {
  body.area-public .card {
    border-radius: 12px;
  }

  body.area-public .btn {
    min-height: 42px;
  }
}

/* ===== Additional Services / Auth polish ===== */
body.area-public .as-hero-wrap {
  border: 1px solid rgba(102, 126, 234, 0.2);
  box-shadow: 0 12px 32px rgba(23, 28, 56, 0.1);
}

body.area-public .as-card {
  border-color: rgba(102, 126, 234, 0.18);
  box-shadow: var(--pub-shadow-sm);
}

body.area-public .as-card:hover {
  border-color: rgba(102, 126, 234, 0.28);
  box-shadow: var(--pub-shadow-md);
}

body.area-public .as-icon {
  background: linear-gradient(135deg, rgba(102, 126, 234, 0.16), rgba(118, 75, 162, 0.12));
}

body.area-public.login-page .login-container,
body.area-public.register-page .auth-container {
  background:
    radial-gradient(circle at 15% 10%, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0) 40%),
    linear-gradient(145deg, #4f5fd2 0%, #6f49a1 52%, #7447b0 100%) !important;
}

body.area-public.login-page .login-card,
body.area-public.register-page .auth-card {
  border: 1px solid rgba(255, 255, 255, 0.34) !important;
  box-shadow: 0 22px 44px rgba(16, 21, 47, 0.24) !important;
}

body.area-public.login-page .logo-container {
  background: linear-gradient(135deg, #5f71ec, #7c4fbb);
  box-shadow: 0 10px 26px rgba(95, 113, 236, 0.32);
}

body.area-public.login-page .login-btn,
body.area-public.register-page .btn-primary {
  background: linear-gradient(135deg, #5f71ec, #7c4fbb) !important;
}

body.area-public.login-page .login-btn:hover,
body.area-public.register-page .btn-primary:hover {
  box-shadow: 0 10px 24px rgba(102, 126, 234, 0.34);
}

body.area-public.register-page .progress-step.active .step-number {
  background: linear-gradient(135deg, #5f71ec, #7c4fbb);
}

body.area-public.register-page .password-strength,
body.area-public.register-page .password-requirements {
  border: 1px solid rgba(102, 126, 234, 0.18);
  background: linear-gradient(180deg, rgba(247, 250, 255, 0.95), rgba(255, 255, 255, 0.95));
}
