/**
 * IHGZ theme — palette + layout overrides
 * Navy + green system aligned with brand logo
 */
:root {
  --ihgz-navy: #0B2A4A;
  --ihgz-navy-deep: #081F38;
  --ihgz-ink: #0A1F33;
  --ihgz-green: #1FA463;
  --ihgz-green-deep: #148A52;
  --ihgz-mint: #E8F2EC;
  --ihgz-mint-2: #D5E8DC;
  --ihgz-border: #B8D4C4;
  --ihgz-muted: #5A6F7D;
  --ihgz-surface: #F4FAF6;
  --ihgz-white: #ffffff;
  --ihgz-radius: 10px;
  --ihgz-radius-lg: 18px;
  --ihgz-shadow: 0 12px 36px rgba(11, 42, 74, 0.12);
}

html { scroll-behavior: smooth; }

body {
  background: var(--ihgz-surface);
  color: var(--ihgz-ink);
  font-family: 'Cairo', sans-serif;
}

/* ---------- Navbar layout ---------- */
.traffic-navbar {
  background: rgba(255, 255, 255, 0.94) !important;
  backdrop-filter: blur(10px);
  border-bottom: none !important;
  box-shadow: 0 8px 28px rgba(11, 42, 74, 0.08) !important;
  padding: 0.65rem 0 !important;
  position: sticky !important;
  top: 0;
  z-index: 1040;
}

.traffic-navbar::before {
  height: 4px !important;
  background: linear-gradient(90deg, var(--ihgz-navy), var(--ihgz-green), var(--ihgz-navy)) !important;
}

.traffic-navbar .navbar-nav > li > a {
  border-radius: 8px !important;
  margin: 0 2px;
}

.traffic-navbar .navbar-nav > li.current-menu-item > a,
.traffic-navbar .navbar-nav > li.current_page_item > a,
.traffic-navbar .navbar-nav .nav-link.active {
  background: linear-gradient(135deg, var(--ihgz-navy), var(--ihgz-green)) !important;
}

.navbar-logo {
  width: 48px !important;
}

@media (max-width: 991px) {
  .navbar-logo { width: 42px !important; }
}
@media (max-width: 576px) {
  .navbar-logo { width: 36px !important; }
}

/* ---------- Global section rhythm ---------- */
.hero-demo,
.s5-root .s5,
.steps-section,
.faq-section,
.testi-section,
.articles-section,
#about,
#contact-marriage,
.services-wrap {
  position: relative;
}

.hero-demo {
  min-height: min(88vh, 820px);
}

.hero-demo .hero-container,
.s5-root .container,
.steps-section .container,
.faq-section .container {
  max-width: 1140px;
}

/* Softer cards / less boxed look */
.s5-root .card,
.service-card,
.faq-item,
.mvv-card,
.timeline-card,
.about-card,
.contact .card {
  border-radius: var(--ihgz-radius-lg) !important;
  box-shadow: var(--ihgz-shadow) !important;
  border-width: 1px !important;
}

.s5-root .card:hover,
.service-card:hover {
  transform: translateY(-4px);
}

/* Accent chips / badges */
.badge-service,
.special-badge,
.e-chip,
.hero-points li::before {
  border-radius: 8px !important;
}

/* Primary buttons */
.e-primary,
.btn-primary-custom,
.s5-root .btn-solid,
.footer-whatsapp-btn {
  border-radius: 10px !important;
  letter-spacing: 0.01em;
}

.e-primary,
.s5-root .btn-solid {
  background: linear-gradient(135deg, var(--ihgz-navy), var(--ihgz-green)) !important;
  border: none !important;
}

.e-primary:hover,
.s5-root .btn-solid:hover {
  filter: brightness(1.05);
  transform: translateY(-2px);
}

.s5-root .btn-outline,
.btn-outline-primary {
  border-color: var(--ihgz-navy) !important;
  color: var(--ihgz-navy) !important;
}

.s5-root .btn-outline:hover,
.btn-outline-primary:hover {
  background: var(--ihgz-navy) !important;
  color: #fff !important;
}

/* Steps band */
.steps-section {
  background: #F4FAF6 !important;
}

.faq-section {
  background:
    linear-gradient(160deg, #ffffff 0%, var(--ihgz-mint) 100%) !important;
}

/* Footer — deep navy layout */
.traffic-footer {
  background:
    radial-gradient(circle at 80% 0%, rgba(31, 164, 99, 0.22), transparent 45%),
    linear-gradient(180deg, var(--ihgz-navy) 0%, var(--ihgz-navy-deep) 100%) !important;
  color: #e8f5ee !important;
}

.traffic-footer::before {
  height: 4px !important;
  background: linear-gradient(90deg, var(--ihgz-green), #A8D5B5, var(--ihgz-green)) !important;
}

.traffic-footer::after {
  opacity: 0.15 !important;
}

.traffic-footer .footer-title,
.traffic-footer .footer-text,
.traffic-footer .footer-copyright {
  color: #e8f5ee !important;
}

.traffic-footer .footer-icon-box {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(31, 164, 99, 0.45) !important;
  color: var(--ihgz-green) !important;
}

.traffic-footer .footer-bottom {
  border-top-color: rgba(184, 212, 196, 0.25) !important;
}

.traffic-footer .footer-whatsapp-btn {
  background: linear-gradient(135deg, #25D366, #1eb854) !important;
}

/* Floating contacts */
.contact-floating .contact-icon {
  box-shadow: 0 8px 22px rgba(11, 42, 74, 0.2);
}

/* Forms */
.form-control:focus {
  border-color: var(--ihgz-green) !important;
  box-shadow: 0 0 0 0.2rem rgba(31, 164, 99, 0.2) !important;
}

/* Page templates */
body.page-template-about-us,
body.page-template-contact-us,
body.page-template-services-page,
body.page-template-custom-articles-page {
  background: var(--ihgz-surface);
}

/* Utility text accent */
.font-color {
  color: var(--ihgz-green) !important;
}

/* Mobile spacing */
@media (max-width: 768px) {
  .hero-demo { min-height: auto; }
  .s5-root .card { padding: 24px !important; }
}
