/* NAC Holiday B2 — Tailwind-aligned premium visual layer.
   Additive and scoped to the three approved public pages. */
:root {
  --nac-b2-navy: #07142f;
  --nac-b2-navy-2: #0f2348;
  --nac-b2-blue: #2563a8;
  --nac-b2-red: #c7352d;
  --nac-b2-green: #88c999;
  --nac-b2-gold: #d6b878;
  --nac-b2-ink: #101828;
  --nac-b2-soft: #f4f7fb;
  --nac-b2-border: rgba(15, 35, 72, .10);
  --nac-b2-shadow: 0 24px 70px rgba(7, 20, 47, .18);
}

.holiday-b2-index,
.holiday-b2-auth {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.holiday-b2-index {
  background:
    radial-gradient(900px 460px at 8% 14%, rgba(136, 201, 153, .14), transparent 65%),
    radial-gradient(900px 500px at 92% 20%, rgba(37, 99, 168, .13), transparent 67%),
    var(--nac-b2-soft);
  color: var(--nac-b2-ink);
}

.holiday-b2-index .navbar {
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.holiday-b2-index .navbar.navbar-scrolled {
  background: rgba(7, 20, 47, .94) !important;
  box-shadow: 0 18px 50px rgba(2, 8, 23, .32);
}

.holiday-b2-index .hero {
  min-height: min(920px, 94vh);
  background:
    linear-gradient(105deg, rgba(7,20,47,.98) 0%, rgba(7,20,47,.90) 50%, rgba(15,35,72,.70) 100%),
    url('/images/holiday-bg.jpg') center/cover no-repeat;
}

.holiday-b2-index .hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 180px;
  background: linear-gradient(180deg, transparent, rgba(7,20,47,.48));
  pointer-events: none;
}

.holiday-b2-index .hero > * { position: relative; z-index: 1; }

.holiday-b2-index .hero h1,
.holiday-b2-index .section-title h2,
.holiday-b2-index h2,
.holiday-b2-auth h1,
.holiday-b2-auth h2 {
  font-family: "Playfair Display", Georgia, serif;
}

.holiday-b2-index .pill {
  border-color: rgba(214,184,120,.50);
  background: rgba(255,255,255,.10);
  box-shadow: 0 12px 36px rgba(0,0,0,.16);
}

.holiday-b2-index .search-panel {
  background: linear-gradient(160deg, rgba(255,255,255,.16), rgba(255,255,255,.07));
  border: 1px solid rgba(255,255,255,.20);
  border-radius: 1.75rem;
  box-shadow: 0 30px 90px rgba(0,0,0,.32);
  padding: clamp(1rem, 2.5vw, 2rem);
}

.holiday-b2-index .nav-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
  padding: .45rem;
  border-radius: 1rem;
  background: rgba(3, 10, 26, .30);
}

.holiday-b2-index .nav-tabs .nav-link {
  border: 0 !important;
  border-radius: .8rem;
  padding: .8rem .75rem !important;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.holiday-b2-index .nav-tabs .nav-link.active {
  background: rgba(255,255,255,.14) !important;
  box-shadow: inset 0 0 0 1px rgba(214,184,120,.45), 0 12px 30px rgba(0,0,0,.15);
  transform: translateY(-1px);
}

.holiday-b2-index .search-form .form-control,
.holiday-b2-index .search-form .form-select {
  min-height: 3.55rem;
  border-radius: .9rem;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.14);
}

.holiday-b2-index .search-form .form-control:focus,
.holiday-b2-index .search-form .form-select:focus {
  border-color: var(--nac-b2-gold);
  box-shadow: 0 0 0 4px rgba(214,184,120,.18);
}

.holiday-b2-index .btn-theme {
  background: linear-gradient(135deg, var(--nac-b2-red), #a92722);
  border-radius: .9rem;
  box-shadow: 0 16px 34px rgba(199,53,45,.28);
}

.holiday-b2-index .btn-theme:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(199,53,45,.34);
}

.holiday-b2-index .section-padding { padding: clamp(4.5rem, 8vw, 7rem) 0; }

.holiday-b2-index .package-card,
.holiday-b2-index .partner-logo,
.holiday-b2-index .accreditation-badge,
.holiday-b2-index .testimonial-card,
.holiday-b2-index .article-card {
  border: 1px solid var(--nac-b2-border);
  border-radius: 1.35rem;
  box-shadow: 0 18px 50px rgba(7,20,47,.09);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.holiday-b2-index .package-card:hover,
.holiday-b2-index .partner-logo:hover,
.holiday-b2-index .article-card:hover {
  transform: translateY(-5px);
  border-color: rgba(37,99,168,.22);
  box-shadow: var(--nac-b2-shadow);
}

.holiday-b2-index .package-image img { transition: transform .6s cubic-bezier(.2,.8,.2,1); }

.holiday-b2-index .site-footer-main {
  background:
    radial-gradient(800px 360px at 20% 0%, rgba(37,99,168,.18), transparent 70%),
    linear-gradient(180deg, #07142f, #030813);
  border-top: 1px solid rgba(255,255,255,.08);
}

.holiday-b2-index .nac-helpfab__toggle,
.holiday-b2-index .mobile-sticky-cta a {
  box-shadow: 0 18px 48px rgba(7,20,47,.28);
}

.holiday-b2-auth {
  background:
    linear-gradient(105deg, rgba(7,20,47,.98), rgba(7,20,47,.88)),
    url('/images/holiday-bg.jpg') center/cover fixed no-repeat !important;
}

.holiday-b2-auth::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(700px 420px at 8% 10%, rgba(136,201,153,.16), transparent 70%),
    radial-gradient(780px 420px at 95% 20%, rgba(37,99,168,.20), transparent 70%);
}

.holiday-b2-auth .topnav {
  background: rgba(7,20,47,.80);
  border-bottom: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 12px 36px rgba(0,0,0,.16);
}

.holiday-b2-auth .glass {
  background: linear-gradient(160deg, rgba(255,255,255,.13), rgba(255,255,255,.06));
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 28px 80px rgba(0,0,0,.28);
}

.holiday-b2-auth .input {
  border-radius: .9rem;
  min-height: 3.25rem;
  box-shadow: inset 0 0 0 1px rgba(15,35,72,.14), 0 8px 24px rgba(7,20,47,.08);
}

.holiday-b2-auth .input:focus {
  box-shadow: inset 0 0 0 2px var(--nac-b2-blue), 0 0 0 4px rgba(37,99,168,.13);
}

.holiday-b2-auth .bg-nacCyan {
  background: linear-gradient(135deg, var(--nac-b2-green), #67b980) !important;
  color: #07142f !important;
}

.holiday-b2-auth .text-nacCyan { color: #a8deb4 !important; }
.holiday-b2-auth .bg-nacRed { background-color: var(--nac-b2-red) !important; }

.holiday-b2-auth main > div > section:first-child {
  padding: 1rem 0;
}

.holiday-b2-auth main > div > section:last-child > div {
  border-radius: 1.75rem !important;
}

.holiday-b2-status-chip {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  border-radius: 999px;
  padding: .45rem .8rem;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: rgba(136,201,153,.14);
  color: #dff4e4;
  border: 1px solid rgba(136,201,153,.26);
}

@media (max-width: 767px) {
  .holiday-b2-index .hero { min-height: auto; padding-top: 7.5rem; }
  .holiday-b2-index .nav-tabs { grid-template-columns: 1fr; }
  .holiday-b2-index .search-panel { border-radius: 1.25rem; }
  .holiday-b2-auth main { padding-top: 2rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .holiday-b2-index *, .holiday-b2-auth * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
