/* Public layout refresh: Eyes On Digits-inspired header, features, services, stats.
   Does not restyle the home hero, Events Done, news, gallery, or clients. */

:root {
  --layout-navy: #0c183c;
  --layout-navy-deep: #081028;
  --layout-ink: #1b2433;
  --layout-muted: #5b6573;
  --layout-gold: #d8b484;
  --layout-gold-dark: #c09050;
  --layout-surface: #f5f6f8;
  --layout-white: #ffffff;
  --layout-header-height: 72px;
}

body {
  padding-top: calc(38px + var(--layout-header-height)) !important;
}

@media (max-width: 991.98px) {
  :root {
    --layout-header-height: 62px;
    --mobile-header-height: 62px;
  }

  body {
    padding-top: var(--layout-header-height) !important;
  }
}

/* ── Top bar ── */
.top-navbar {
  background-color: var(--layout-navy) !important;
  border-bottom: none;
  height: 38px;
}

.top-navbar .left-top .hours-text,
.top-navbar .contact-info a,
.top-navbar .contact-info span {
  color: rgba(255, 255, 255, 0.92);
}

.top-navbar .left-top .hours-text i,
.top-navbar .contact-info i {
  color: var(--layout-gold);
}

.top-navbar .social-icons a {
  color: rgba(255, 255, 255, 0.92);
}

.top-navbar .social-icons a:hover {
  color: var(--layout-gold);
}

/* ── Main header ── */
.navbar,
#main-navbar {
  background: var(--layout-white) !important;
  box-shadow: 0 2px 12px rgba(12, 24, 60, 0.08);
  min-height: var(--layout-header-height);
  padding: 0.35rem 0;
  top: 38px !important;
  transition: top 0.3s ease !important;
}

@media (min-width: 992px) {
  #main-navbar.top-navbar-hidden {
    top: 0 !important;
  }
}

.navbar-brand-text {
  visibility: hidden;
}

.navbar-brand .brand-name {
  display: block !important;
  font-family: var(--font-sans, Montserrat, sans-serif);
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: var(--layout-ink) !important;
  text-transform: uppercase;
}

.navbar-brand-text .brand-tagline {
  color: var(--layout-gold-dark);
  font-size: 0.58rem;
}

.navbar-logo {
  height: 48px;
  mix-blend-mode: multiply;
}

#main-navbar .mobile-menu-logo {
  mix-blend-mode: multiply;
}

@media (min-width: 992px) {
  #main-navbar .navbar-collapse {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
  }

  #main-navbar .navbar-nav {
    margin-right: auto;
    margin-left: auto;
  }
}

#main-navbar .nav-link {
  color: var(--layout-ink) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.4px !important;
  text-transform: none !important;
  padding: 0.55rem 0.7rem !important;
}

#main-navbar .nav-link:hover,
#main-navbar .nav-link.active {
  color: var(--layout-gold-dark) !important;
}

#main-navbar .nav-link.active::after {
  background: var(--layout-gold-dark);
  height: 2px;
  width: 70%;
  bottom: 4px;
}

#main-navbar .dropdown-toggle::after {
  border-top-color: var(--layout-ink);
}

#main-navbar .nav-item.dropdown:hover > .dropdown-toggle,
#main-navbar .nav-item.dropdown:focus-within > .dropdown-toggle {
  color: var(--layout-gold-dark) !important;
}

#main-navbar .dropdown-menu {
  background: var(--layout-white);
  border: 1px solid rgba(12, 24, 60, 0.08);
  border-top: 3px solid var(--layout-gold);
  border-radius: 8px;
  box-shadow: 0 16px 36px rgba(12, 24, 60, 0.12);
}

#main-navbar .dropdown-header {
  color: var(--layout-gold-dark);
}

#main-navbar .dropdown-header.profile-header strong {
  color: var(--layout-ink);
}

#main-navbar .dropdown-header.profile-header .profile-email {
  color: var(--layout-muted);
}

#main-navbar .dropdown-item {
  color: var(--layout-ink) !important;
}

#main-navbar .dropdown-item:hover,
#main-navbar .dropdown-item:focus,
#main-navbar .dropdown-item.active,
#main-navbar .dropdown-item:active {
  background: rgba(216, 180, 132, 0.12) !important;
  color: var(--layout-gold-dark) !important;
}

.navbar-toggler-custom {
  border: 1px solid rgba(12, 24, 60, 0.18);
  color: var(--layout-navy);
  background: transparent;
}

.navbar-toggler-custom:hover,
.navbar-toggler-custom:focus {
  background: rgba(12, 24, 60, 0.06);
  border-color: var(--layout-navy);
  color: var(--layout-navy);
}

.btn-quote {
  background: var(--layout-gold-dark);
  color: var(--layout-white) !important;
  border-radius: 6px;
  padding: 10px 18px;
  font-size: 0.72rem;
}

.btn-quote:hover {
  background: var(--layout-gold);
  color: var(--layout-navy) !important;
}

.navbar-brand,
.navbar-brand:hover {
  color: var(--layout-ink) !important;
}

@media (max-width: 991.98px) {
  #main-navbar {
    top: 0 !important;
  }

  #main-navbar .navbar-collapse {
    background: var(--layout-white) !important;
    box-shadow: 8px 0 32px rgba(12, 24, 60, 0.18) !important;
  }

  #main-navbar .mobile-menu-header {
    background: var(--layout-white);
    border-bottom: 1px solid rgba(12, 24, 60, 0.1);
  }

  #main-navbar .mobile-menu-brand,
  #main-navbar .close-menu-btn {
    color: var(--layout-navy);
  }

  #main-navbar .close-menu-btn {
    background: rgba(12, 24, 60, 0.06);
    border-color: rgba(12, 24, 60, 0.18);
  }

  #main-navbar .nav-item {
    border-bottom-color: rgba(12, 24, 60, 0.08);
  }

  #main-navbar .nav-link {
    color: var(--layout-ink) !important;
  }

  #main-navbar .nav-link.active {
    background: rgba(216, 180, 132, 0.12);
  }

  #main-navbar .dropdown-menu {
    background: var(--layout-surface) !important;
    border-left-color: var(--layout-gold) !important;
  }
}

/* ── Features strip (home, below hero) ── */
.home-features-strip {
  background: var(--layout-navy);
  padding: 36px 0;
}

.home-feature {
  text-align: center;
  padding: 8px 16px;
}

.home-feature__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 14px;
  border: 2px solid var(--layout-gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--layout-gold);
  font-size: 1.25rem;
}

.home-feature h3 {
  font-family: var(--font-sans, Montserrat, sans-serif);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--layout-white);
  margin-bottom: 8px;
}

.home-feature p {
  font-size: 0.82rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
  margin: 0;
}

@media (max-width: 767.98px) {
  .home-feature {
    padding: 16px 8px;
  }
}

/* ── Our Services ── */
.services-section {
  background: var(--layout-surface);
  padding: 0 0 56px;
}

.home-page .services-section {
  padding-top: 0;
  padding-bottom: 48px;
}

.services-section__banner {
  background: var(--layout-navy);
  padding: 22px 0;
  margin-bottom: 36px;
  text-align: center;
}

.services-section__banner h2 {
  font-family: var(--font-sans, Montserrat, sans-serif);
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: var(--layout-white);
  margin: 0;
}

.service-card {
  border: none;
  border-radius: 10px;
  padding: 32px 22px 28px;
  box-shadow: 0 8px 24px rgba(12, 24, 60, 0.06);
}

.service-card:hover {
  border-color: transparent;
  box-shadow: 0 12px 30px rgba(12, 24, 60, 0.12);
}

.service-card .service-icon {
  width: 58px;
  height: 58px;
  margin: 0 auto 18px;
  border: 2px solid var(--layout-gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: var(--layout-gold-dark);
}

.service-card h5 {
  text-transform: none;
  letter-spacing: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--layout-ink);
}

.btn-dark-navy {
  background: var(--layout-gold-dark);
  color: var(--layout-white);
  border-radius: 6px;
  border: none;
}

.btn-dark-navy:hover {
  background: var(--layout-navy);
  color: var(--layout-white);
}

/* ── Stats ── */
.stats-section {
  background: var(--layout-white);
  padding: 48px 0;
  border-top: 1px solid rgba(12, 24, 60, 0.06);
  border-bottom: 1px solid rgba(12, 24, 60, 0.06);
}

.stats-section .row {
  --bs-gutter-x: 0;
}

.stat-item {
  padding: 22px 16px;
  border-right: 1px solid rgba(12, 24, 60, 0.08);
}

.stat-item:last-child {
  border-right: none;
}

.stat-item .stat-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 12px;
  border: 2px solid var(--layout-gold);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.15rem;
  color: var(--layout-gold-dark);
}

.stat-item .stat-number {
  font-family: var(--font-sans, Montserrat, sans-serif);
  font-size: 1.85rem;
  color: var(--layout-gold-dark);
}

.stat-item .stat-label {
  color: var(--layout-ink);
  letter-spacing: 0.4px;
  text-transform: none;
  font-size: 0.82rem;
  font-weight: 600;
}

@media (max-width: 767.98px) {
  .stat-item {
    border-right: none;
    border-bottom: 1px solid rgba(12, 24, 60, 0.08);
  }
}

/* ── Footer polish ── */
footer {
  background: var(--layout-navy-deep) !important;
}

footer .social-icon {
  background: transparent;
  border: 1px solid rgba(216, 180, 132, 0.35);
  color: var(--layout-gold);
}

.footer-contact-item i,
.footer-title::after {
  color: var(--layout-gold);
}
