/* Customer revisions, September 2026. Loaded after the original theme styles. */
.site-header { min-height: 98px; height: auto; padding-top: 16px; padding-bottom: 16px; gap: 24px; }
.site-header.is-scrolled { height: auto; min-height: 90px; }
.site-header > .custom-logo-link, .site-header > .brand { flex: 0 1 300px; min-width: 0; }
.site-header .custom-logo-link img.custom-logo, .site-header .brand img.custom-logo { max-height: none; object-fit: contain; }
.site-header .main-nav { gap: clamp(16px, 1.6vw, 28px); }
.site-header .main-nav > .nav-item > a { white-space: nowrap; }
.site-header .header-actions { flex-shrink: 0; gap: 18px; }
@media (min-width: 1120px) { .site-header > .custom-logo-link, .site-header > .brand { flex: 0 0 300px; } }
@media (min-width: 1120px) and (max-width: 1359px) { .site-header .header-actions { display: none; } }
@media (min-width: 1120px) and (max-width: 1499px) { .site-header .header-phone { display: none; } }
@media (max-width: 1119px) { .site-header { width: calc(100% - 32px); } }
@media (max-width: 520px) {
  .site-header, .site-header.is-scrolled { min-height: 86px; padding: 14px 16px; gap: 12px; }
  .site-header > .custom-logo-link, .site-header > .brand { flex-basis: 220px; }
  .site-header .nav-toggle { width: 44px; height: 44px; flex-shrink: 0; }
  .mobile-nav { top: 106px; }
}

/* Preserve the original stacked artwork. The frame hides only its blank top/bottom
   margins; the image itself always keeps its intrinsic width-to-height ratio. */
.site-header .custom-logo-link.brand-padded,
.footer-vintage .custom-logo-link.brand-padded {
  position: relative; display: block; overflow: hidden; aspect-ratio: 2.3;
  padding: 0; border-radius: 8px; background: transparent;
}
.site-header .custom-logo-link.brand-padded { flex: 0 1 var(--brand-width, 260px); width: var(--brand-width, 260px); }
.footer-vintage .custom-logo-link.brand-padded { width: 220px; max-width: 100%; }
.site-header .custom-logo-link.brand-padded img.custom-logo,
.footer-vintage .custom-logo-link.brand-padded img.custom-logo {
  position: absolute; top: 50%; left: 0; display: block;
  width: 100%; height: auto; max-width: none; max-height: none;
  transform: translateY(-50%); object-fit: contain;
}

/* Package images stay unobstructed. The same title and metadata order is used everywhere. */
.vintage-page .dest-card.safari-card { display: flex; flex-direction: column; min-width: 0; }
.vintage-page .dest-card.safari-card::before { display: none; }
.vintage-page .dest-card.safari-card .photo { aspect-ratio: 16 / 10; background: #f1f0e9; box-shadow: none; }
.vintage-page .dest-card.safari-card .photo > img { object-fit: contain; }
.vintage-page .dest-card.safari-card .photo .badge { display: none; }
.vintage-page .dest-card.safari-card .body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 20px; }
.vintage-page .dest-card.safari-card .safari-card-title { margin: 0; font-size: 25px; line-height: 1.15; color: var(--ink); }
.vintage-page .dest-card.safari-card .body .safari-card-route { font-size: 13px; line-height: 1.55; font-weight: 500; }
.vintage-page .dest-card.safari-card .body .row { margin-top: auto; padding-top: 6px; }
.vintage-page .dest-card.safari-card .from b { font-family: var(--font-body); font-size: 14px; font-weight: 700; }
.single-tour-related-photo { aspect-ratio: 16 / 10; background: #f1f0e9; }
.single-tour-related-photo img { object-fit: contain; }
.single-tour-related-body { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 20px; }
.single-tour-related-body h3 { margin: 0; font-size: 24px; line-height: 1.15; }
.single-tour-related-body p { margin: 0; font-size: 14px; }
.single-tour-related-body > span { margin-top: auto; font-size: 14px; }

/* The title and the uploaded itinerary artwork each have their own space. */
.single-tour-page .single-tour-hero {
  display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px;
  width: min(1200px, calc(100% - 64px)); margin: 48px auto 0; min-height: 0; overflow: visible;
}
.single-tour-page .single-tour-hero::after, .single-tour-hero-scrim { display: none; }
.single-tour-page .single-tour-hero-img, .single-tour-page .single-tour-hero-fallback {
  position: static; grid-column: 2; grid-row: 1; width: 100%; height: auto; max-height: 440px;
  aspect-ratio: 16 / 10; object-fit: contain; border-radius: 20px; background: #f1f0e9;
}
.single-tour-page .single-tour-hero-inner { grid-column: 1; grid-row: 1; width: 100%; padding: 0; color: var(--ink); }
.single-tour-page .single-tour-hero h1 { font-size: clamp(34px, 3.6vw, 54px); line-height: 1.08; text-shadow: none; color: var(--ink); }
.single-tour-page .single-tour-crumbs { color: var(--muted); font-size: 12px; line-height: 1.5; }
.single-tour-page .single-tour-crumbs a:hover { color: var(--accent-deep); }
.single-tour-page .single-tour-crumbs [aria-current] { display: none; }
.single-tour-page .single-tour-hero-meta { color: var(--ink); font-size: 15px; line-height: 1.6; gap: 12px; }
.single-tour-page .single-tour-hero-meta span { align-items: flex-start; }
.single-tour-page .single-tour-hero-meta svg { flex-shrink: 0; margin-top: 3px; }
.single-tour-card-media { height: auto; aspect-ratio: 16 / 10; background: #f1f0e9; }
.single-tour-card-media img { width: 100%; height: 100%; object-fit: contain; }
.single-tour-card-body h2 { font-size: 27px; line-height: 1.15; }
.single-tour-price [data-sidebar-amount] { font-size: 24px; line-height: 1.25; }
.tour-facts-grid { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }
.single-tour-summary { font-size: 16px; line-height: 1.75; }
.single-tour-summary > :first-child { margin-top: 0; }
.single-tour-summary h2 { font-size: 30px; line-height: 1.2; }
.single-tour-summary h3 { font-size: 24px; line-height: 1.2; }
.single-tour-itinerary { padding-left: 0; }
.single-tour-day { grid-template-columns: 88px minmax(0, 1fr); gap: 18px; align-items: stretch; margin-bottom: 20px; }
.single-tour-day-marker { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.single-tour-day-card { margin: 0; padding: 24px; align-items: flex-start; min-width: 0; }
.single-tour-day-card > div { min-width: 0; }
.single-tour-day-card h3 { font-size: 18px; line-height: 1.4; margin: 0 0 10px; }
.single-tour-day-card .itinerary-day-copy p { font-size: 15px; line-height: 1.75; margin: 0 0 12px; }
.single-tour-day-card .itinerary-day-copy p:last-child { margin-bottom: 0; }
.single-tour-day-card .itinerary-day-copy ul { padding-left: 20px; }
.tour-archive { padding-bottom: 56px; }
.tour-archive-shell .tour-filter-sidebar { position: sticky; top: var(--site-header-clearance, 176px); }
@media (max-width: 960px) { .tour-archive-shell .tour-filter-sidebar { position: relative; top: auto; } }
@media (max-width: 767px) {
  .single-tour-page .single-tour-hero { grid-template-columns: 1fr; gap: 24px; width: calc(100% - 40px); margin-top: 30px; }
  .single-tour-page .single-tour-hero-inner { grid-row: 1; grid-column: 1; }
  .single-tour-page .single-tour-hero-img, .single-tour-page .single-tour-hero-fallback { grid-row: 2; grid-column: 1; }
  .single-tour-day { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
  .single-tour-day-num { width: 42px; height: 42px; font-size: 18px; }
  .single-tour-day-marker small { font-size: 10px; }
  .single-tour-day-card { padding: 18px; }
  .single-tour-day-card > span { display: none; }
  .single-tour-day-card h3 { font-size: 17px; }
  .single-tour-itinerary::before { display: none; }
  .vintage-page .dest-card.safari-card .safari-card-title { font-size: 24px; }
}
