/* Shared storefront shell: clear hierarchy, restrained colour, and dependable controls. */
.site-header.navbar {
  min-height: 68px;
  background: #ffffff !important;
  border-bottom: 1px solid #dfe8e3 !important;
  box-shadow: 0 1px 0 rgba(15, 50, 39, 0.04) !important;
}

.site-header::before { display: none !important; }

.site-header .brand-logo-svg,
.site-header .domain-logo { filter: none; box-shadow: none; }

.site-header .navbar-nav .nav-link {
  color: #315247 !important;
  font-weight: 650;
}

.site-header .navbar-nav .nav-link:hover,
.site-header .navbar-nav .nav-link:focus,
.site-header .navbar-nav .nav-link.active {
  color: #0d5f4c !important;
  background: #edf6f1 !important;
}

.site-header .search-container .input-group {
  background: #f6f8f7 !important;
  border-color: #d7e3dc !important;
  box-shadow: none;
}

.site-header .search-container .input-group:focus-within {
  background: #fff !important;
  border-color: #4f947e !important;
  box-shadow: 0 0 0 3px rgba(22, 113, 88, 0.12) !important;
}

.site-header .search-container input { color: #173b30 !important; }
.site-header .search-container input::placeholder { color: #71837c !important; }
.site-header .search-container .btn { background: #146b56 !important; }
.site-header .search-container .btn:hover { background: #0e5947 !important; }

.site-header .lang-toggle,
.site-header .cart-link,
.site-header .navbar-cart-mobile {
  color: #245b4a !important;
  background: #f4f8f6 !important;
  border-color: #d6e3dc !important;
}

.site-header .cart-link:hover,
.site-header .navbar-cart-mobile:hover,
.site-header .lang-toggle:hover { background: #e8f3ed !important; }

.site-header .btn-auth {
  color: #fff !important;
  background: #146b56 !important;
  box-shadow: none;
}

.site-header .btn-auth:hover { background: #0e5947 !important; }
.site-header .btn-logout { background: #fff5f5 !important; color: #b02a37 !important; border: 1px solid #f0c8ce !important; }
.site-header .badge-cart { background: #bf3b45; border-color: #fff; box-shadow: none; }

.site-footer {
  background: #102b22 !important;
  border-top: 1px solid #28463a !important;
}

.site-footer .footer-logo-wrapper {
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  background: #1b6955 !important;
  box-shadow: none;
}

.site-footer .footer-nav-link { color: rgba(239, 249, 244, 0.68) !important; }
.site-footer .footer-nav-link:hover,
.site-footer .footer-nav-link:focus-visible { color: #ffffff !important; }
.site-footer .footer-social-link { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.12); }
.site-footer .footer-social-link:hover { background: #1b6955; }

@media (max-width: 991.98px) {
  .site-header > .container-fluid.navbar-shell { background: #fff; }
  .site-header .navbar-toggler { background: #f4f8f6 !important; border-color: #d6e3dc !important; }
  .site-header .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='rgba(20,107,86,0.95)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.2' d='m4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; }
  .site-header .navbar-collapse {
    background: #fff !important;
    border-color: #d8e5de !important;
    box-shadow: 0 12px 30px rgba(18, 62, 50, 0.12) !important;
  }
  .site-header .navbar-nav .nav-link { color: #315247 !important; }
  .site-header .user-actions { border-top-color: #dce8e1 !important; }
}

@media (max-width: 575.98px) {
  .site-header.navbar { min-height: 60px; }
}

body .site-header .brand-logo-svg.domain-logo {
  width: 150px;
  max-width: 150px;
  height: 36px;
  object-position: center;
}
@media (max-width: 575.98px) {
  body .site-header .brand-logo-svg.domain-logo { width: 140px; max-width: 100%; height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
  .reveal-on-scroll { opacity: 1 !important; transform: none !important; }
}

/* Small laptops need two header rows so account and language controls stay reachable. */
@media (min-width: 992px) and (max-width: 1399.98px) {
  .site-header .navbar-collapse {
    flex-wrap: wrap !important;
    justify-content: space-between;
    row-gap: 8px;
    padding-block: 4px;
  }
  .site-header .navbar-nav {
    flex: 1 1 100%;
    justify-content: space-between;
  }
  .site-header .search-container {
    flex: 1 1 220px;
    max-width: none;
  }
  .site-header .user-actions { flex-shrink: 0; }
}
