/* ── Topbar ── */
.site-topbar {
  background:  var(--mw-secondary);
  color:       rgba(255,255,255,0.7);
  font-size:   var(--mw-fs-xs);
  padding:     0.4rem 0;
}
.topbar-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             1rem;
}
.topbar-left,
.topbar-right {
  display:     flex;
  align-items: center;
  gap:         1.25rem;
}
.topbar-left a,
.topbar-right a {
  color:       rgba(255,255,255,0.7);
  display:     flex;
  align-items: center;
  gap:         0.35rem;
  transition:  color var(--mw-transition);
  white-space: nowrap;
}
.topbar-left a:hover,
.topbar-right a:hover {
  color: var(--mw-primary);
}
.topbar-social {
  display:     flex;
  align-items: center;
  gap:         0.75rem;
}
.topbar-social a {
  font-size: 0.7rem;
}
.topbar-divider {
  width:      1px;
  height:     14px;
  background: rgba(255,255,255,0.2);
}

@media (max-width: 991px) {
  .site-topbar { display: none; }
}

/* ── Site Header ── */
.site-header {
  position:         sticky;
  top:              0;
  z-index:          1030;
  background:       var(--mw-header-bg);
  height:           var(--mw-header-height);
  border-bottom:    1px solid var(--mw-border);
  box-shadow:       var(--mw-shadow-sm);
  transition:       box-shadow var(--mw-transition);
}
.site-header.scrolled {
  box-shadow: var(--mw-shadow-md);
}

.site-header .navbar {
  height: var(--mw-header-height);
  padding: 0;
}

/* ── Logo ── */
.navbar-brand {
  font-family:  var(--mw-font-heading);
  font-size:    var(--mw-fs-2xl);
  font-weight:  700;
  color:        var(--mw-secondary) !important;
  letter-spacing: -0.01em;
}
.navbar-brand span {
  color: var(--mw-primary);
}
.navbar-brand img {
  max-height: 48px;
  width: auto;
}

/* ── Nav Links ── */
.navbar-nav .nav-link {
  font-family:   var(--mw-font-body);
  font-size:     var(--mw-fs-sm);
  font-weight:   500;
  color:         var(--mw-text) !important;
  padding:       0.5rem 0.85rem !important;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  transition:    color var(--mw-transition);
  position:      relative;
}
.navbar-nav .nav-link::after {
  content:    '';
  position:   absolute;
  bottom:     -2px;
  left:       0.85rem;
  right:      0.85rem;
  height:     2px;
  background: var(--mw-primary);
  transform:  scaleX(0);
  transition: transform var(--mw-transition);
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
  color: var(--mw-primary) !important;
}
.navbar-nav .nav-link:hover::after,
.navbar-nav .nav-link.active::after {
  transform: scaleX(1);
}

/* ── Navbar dropdown caret — use FA angle, suppress BS5 default ── */
.navbar-nav .dropdown-toggle::after { display: none; }
.navbar-nav .dropdown-toggle .fa-angle-down {
  font-size:  0.7rem;
  margin-left: 4px;
  transition: transform var(--mw-transition);
  vertical-align: middle;
}
.navbar-nav .dropdown-toggle[aria-expanded="true"] .fa-angle-down {
  transform: rotate(180deg);
}

/* ── Dropdown ── */
.navbar-nav .dropdown-menu {
  border:        none;
  border-radius: var(--mw-radius-md);
  box-shadow:    var(--mw-shadow-md);
  padding:       0.5rem 0;
  margin-top:    0.5rem;
}
.navbar-nav .dropdown-item {
  font-size:  var(--mw-fs-sm);
  padding:    0.5rem 1.25rem;
  color:      var(--mw-text);
  transition: background var(--mw-transition), color var(--mw-transition);
}
.navbar-nav .dropdown-item:hover {
  background: var(--mw-primary-light);
  color:      var(--mw-primary-dark);
}

/* ── Header CTA ── */
.header-cta {
  display:     flex;
  align-items: center;
  gap:         0.75rem;
  margin-left: var(--mw-space-md);
}

/* ── Mobile toggle ── */
.navbar-toggler {
  border:  none;
  padding: 0.25rem 0.5rem;
}
.navbar-toggler:focus { box-shadow: none; }
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%232D2424' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ── Site Footer ── */
.site-footer {
  background:  var(--mw-secondary);
  color:       rgba(255,255,255,0.75);
  padding-top: var(--mw-space-3xl);
}

.footer-widgets {
  padding-bottom: var(--mw-space-2xl);
  border-bottom:  1px solid rgba(255,255,255,0.1);
}

.footer-widgets .widget-title {
  margin-bottom: var(--mw-space-md);
}
.footer-widgets .widget-title h3 {
  font-family: var(--mw-font-heading);
  font-size:   var(--mw-fs-xl);
  color:       #fff;
  margin:      0;
}
.footer-widgets .widget ul {
  list-style: none;
  margin:     0;
  padding:    0;
}
.footer-widgets .link-widget ul li {
  margin-bottom: 0.6rem;
  font-size:     var(--mw-fs-sm);
}
.footer-widgets .about-widget p {
  font-size:   var(--mw-fs-sm);
  line-height: 1.8;
  margin-bottom: var(--mw-space-md);
}

.footer-widgets a {
  color:       rgba(255,255,255,0.7);
  transition:  color var(--mw-transition);
}
.footer-widgets a:hover { color: var(--mw-primary); }

.footer-bottom {
  padding:     var(--mw-space-lg) 0;
  font-size:   var(--mw-fs-sm);
  color:       rgba(255,255,255,0.5);
  border-top:  1px solid rgba(255,255,255,0.1);
}
.footer-bottom a {
  color: rgba(255,255,255,0.6);
  transition: color var(--mw-transition);
}
.footer-bottom a:hover { color: var(--mw-primary); }
.footer-bottom .copy-right { color: rgba(255,255,255,0.5); }
.footer-nav ul {
  display:    flex;
  flex-wrap:  wrap;
  gap:        0 1.5rem;
  list-style: none;
  margin:     0;
  padding:    0;
}
.footer-nav ul li a {
  color:     rgba(255,255,255,0.6);
  font-size: var(--mw-fs-sm);
  transition: color var(--mw-transition);
}
.footer-nav ul li a:hover { color: var(--mw-primary); }

/* ── Footer brand ── */
.footer-brand {
  font-family:  var(--mw-font-heading);
  font-size:    var(--mw-fs-3xl);
  color:        #fff;
  font-weight:  700;
  margin-bottom: var(--mw-space-md);
}
.footer-brand span { color: var(--mw-primary); }

/* ── Social icons ── */
.social-links {
  display:    flex;
  gap:        0.4rem;
  margin-top: var(--mw-space-md);
  list-style: none !important;
  padding:    0;
  margin-left: 0;
}
.social-links li {
  list-style: none !important;
}
.social-links a {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           38px;
  height:          38px;
  color:           rgba(255,255,255,0.7);
  font-size:       1.25rem;
  transition:      all var(--mw-transition);
}
.social-links a:hover {
  color: var(--mw-primary);
}

/* ── Footer newsletter ── */
.footer-newsletter__row {
  display:   flex;
  gap:       0;
  margin-bottom: var(--mw-space-xs);
}
.footer-newsletter__input {
  flex:             1 1 0;
  background:       rgba(255,255,255,0.08);
  border:           1px solid rgba(255,255,255,0.15);
  border-right:     none;
  border-radius:    var(--mw-radius) 0 0 var(--mw-radius);
  color:            #fff;
  font-size:        var(--mw-fs-sm);
  padding:          0.55rem 0.85rem;
  outline:          none;
  transition:       border-color var(--mw-transition), background var(--mw-transition);
}
.footer-newsletter__input::placeholder { color: rgba(255,255,255,0.35); }
.footer-newsletter__input:focus {
  background:   rgba(255,255,255,0.13);
  border-color: var(--mw-primary);
}
.footer-newsletter__btn {
  background:    var(--mw-primary);
  border:        none;
  border-radius: 0 var(--mw-radius) var(--mw-radius) 0;
  color:         #fff;
  padding:       0 1rem;
  font-size:     var(--mw-fs-sm);
  cursor:        pointer;
  transition:    background var(--mw-transition);
}
.footer-newsletter__btn:hover { background: var(--mw-primary-dark, #c0392b); }
.footer-newsletter__note {
  font-size:  var(--mw-fs-xs);
  color:      rgba(255,255,255,0.35);
  margin:     0;
}

/* ── Main content offset for sticky header ── */
.site-main {
  min-height: calc(100vh - var(--mw-header-height) - 200px);
}

/* ── Page header banner ── */
.page-banner {
  background:  linear-gradient(135deg, var(--mw-secondary) 0%, #4a3535 100%);
  color:       #fff;
  padding:     var(--mw-space-3xl) 0;
  text-align:  center;
}
.page-banner h1 {
  font-family: var(--mw-font-heading);
  font-size:   var(--mw-fs-5xl);
  color:       #fff;
  margin-bottom: var(--mw-space-sm);
}
.page-banner .breadcrumb {
  justify-content: center;
  background:      none;
  margin:          0;
  padding:         0;
}
.page-banner .breadcrumb-item,
.page-banner .breadcrumb-item a {
  color: rgba(255,255,255,0.7);
  font-size: var(--mw-fs-sm);
}
.page-banner .breadcrumb-item.active { color: var(--mw-primary); }
.page-banner .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,0.4); }
.page-banner--has-image {
  background-size:     cover;
  background-position: center;
  background-repeat:   no-repeat;
  position:            relative;
  min-height:          450px;
  display:             flex;
  align-items:         center;
}
.page-banner--has-image::before {
  content:    '';
  position:   absolute;
  inset:      0;
  background: rgba(0,0,0,0.45);
  z-index:    0;
}
.page-banner--has-image .container,
.page-banner--has-image .rw-col {
  position: relative;
  z-index:  1;
}
