:root {
  --sk-black: #0f0f0f;
  --sk-charcoal: #1a1a1a;
  --sk-gold: #c5a03a;
  --sk-gold-soft: #f0dfab;
  --sk-white: #ffffff;
  --sk-blue: #2f6ebb;
}

body.sk-public-shell {
  background: #f7f4ee;
  color: var(--sk-black);
}

.sk-public-header {
  background: linear-gradient(180deg, rgba(15, 15, 15, 0.98), rgba(26, 26, 26, 0.96));
  border-bottom: 1px solid rgba(197, 160, 58, 0.3);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
}

.sk-public-header .container {
  /* Match .sk-home-shell's wider cap (page_public_home.css) so the header
     stays aligned with page content on large/4K desktop monitors instead
     of Bootstrap's narrower default container width. */
  max-width: 1600px;
}

.sk-brand-link {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  color: inherit;
  text-decoration: none;
}

.sk-brand-logo {
  width: auto;
  height: 52px;
  max-width: 220px;
  object-fit: contain;
}

.sk-shell-nav .nav-link,
.sk-public-actions .btn-outline-light {
  color: rgba(255, 255, 255, 0.82);
  font-weight: 600;
}

.sk-shell-nav .nav-link.active {
  color: var(--sk-gold);
  border-bottom: 2px solid var(--sk-gold);
}

.sk-shell-nav .nav-link:hover,
.sk-shell-nav .nav-link:focus,
.sk-public-actions .btn-outline-light:hover,
.sk-public-actions .btn-outline-light:focus {
  color: var(--sk-white);
}

.sk-public-cta {
  background: linear-gradient(135deg, var(--sk-gold-soft), var(--sk-gold));
  border: 0;
  color: var(--sk-black);
  font-weight: 800;
  text-transform: uppercase;
}

.sk-public-cta:hover,
.sk-public-cta:focus {
  color: var(--sk-black);
  background: linear-gradient(135deg, #f6e8ba, #d0aa45);
}

.sk-mobile-account-link {
  width: 2.45rem;
  height: 2.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--sk-white);
  text-decoration: none;
}

.sk-mobile-account-link svg {
  width: 1.2rem;
  height: 1.2rem;
  fill: currentColor;
}

.sk-shell-toggler {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
}

.sk-shell-toggler .navbar-toggler-icon {
  filter: invert(1);
}

.sk-public-holiday-banner {
  border: 1px solid rgba(197, 160, 58, 0.35);
  background: linear-gradient(180deg, rgba(240, 223, 171, 0.46), rgba(255, 255, 255, 0.92));
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.05);
  padding: 1rem 1.1rem;
}

.sk-public-holiday-title {
  font-weight: 800;
  margin-bottom: 0.35rem;
}

.sk-public-footer {
  margin-top: 3rem;
  padding: 2.5rem 0;
  background: linear-gradient(180deg, #141414, #0f0f0f);
  border-top: 1px solid rgba(197, 160, 58, 0.25);
  color: rgba(255, 255, 255, 0.84);
}

.sk-footer-logo {
  width: auto;
  height: 56px;
  max-width: 220px;
  object-fit: contain;
  margin-bottom: 1rem;
}

.sk-public-footer-copy {
  display: grid;
  gap: 0.2rem;
}

.sk-postal-cue {
  color: var(--sk-blue);
  font-weight: 700;
}

.sk-public-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem 1.25rem;
  justify-content: flex-start;
}

.sk-public-footer-links a {
  color: rgba(255, 255, 255, 0.84);
  text-decoration: none;
  font-weight: 600;
}

.sk-public-footer-links a:hover,
.sk-public-footer-links a:focus {
  color: var(--sk-white);
}

@media (max-width: 991.98px) {
  .sk-public-actions {
    padding-top: 0.9rem;
    align-items: stretch !important;
  }

  .sk-public-actions .btn {
    width: 100%;
  }
}

@media (max-width: 767.98px) {
  .sk-brand-logo {
    height: 40px;
    max-width: 160px;
  }

  .sk-footer-logo {
    height: 44px;
    max-width: 180px;
  }
}
