/* Reading-size refinements only: preserve the approved headings and content. */
:root {
  --reading-copy: 17px;
  --reading-lead: 18px;
  --reading-support: 14px;
}

.main-nav .nav-link { font-size: 15px; line-height: 1.6; }
.language-switch a { font-size: 13px; }

@media (min-width: 1051px) and (max-width: 1200px) {
  .main-nav { gap: 20px; }
}

@media (max-width: 1050px) {
  .main-nav .nav-link { font-size: 16px; padding-block: 14px; min-height: 48px; }
}

.hero-description,
.inner-description {
  font-size: var(--reading-lead);
  line-height: 1.85;
}

.intro-copy,
.intro-copy p,
.company-story .intro-copy,
.company-story .intro-copy p,
.service p,
.section-heading > p,
.destination-description,
.fleet-copy > p:not(.eyebrow),
.contact-copy > p:not(.eyebrow),
.process-list p,
.compact-contact p:not(.eyebrow),
.fleet-intro p,
.route-card p,
.international-content > p:not(.eyebrow),
.contact-card > p:not(.eyebrow),
.contact-preparation p:not(.eyebrow),
.selected-trip p:not(.eyebrow),
.archive-content > p,
.archive-text,
.not-found p {
  font-size: var(--reading-copy);
  line-height: 1.85;
}

.check-list li,
.contact-preparation .check-list li,
.equipment-list li,
.coach-specifications dd,
.address {
  font-size: var(--reading-copy);
  line-height: 1.75;
}

.check-list li { align-items: flex-start; }
.check-list .icon { margin-top: 6px; }
.equipment-list { gap: 12px 18px; }
.equipment-list .icon { width: 16px; height: 16px; }
.coach-specifications dt { font-size: var(--reading-support); }

.button,
.hero .button,
.selected-trip .button,
.text-link,
.hero .text-link,
.fleet-copy .text-link,
.coach-description > .text-link,
.small-link,
.route-card .small-link,
.destination-bottom,
.destination-filters button,
.footer-main .text-link {
  font-size: 15px;
  line-height: 1.7;
}

.hero-footnote,
.photo-caption span,
.destination-location,
.destination-note,
.source-note,
.routes-summary,
.contact-secondary,
.footer-main > p,
.footer-navigation,
.archive-details summary,
.empty-filter {
  font-size: var(--reading-support);
  line-height: 1.8;
}

.hero-highlights > div { font-size: 15px; line-height: 1.7; }
.contact-label { font-size: 12px; }
.contact-item .email-address,
.contact-email { font-size: 17px; overflow-wrap: anywhere; }
.contact-item .mobile-number { font-size: 17px !important; }
.contact-card .contact-office-address { font-size: 18px; }
.footer-bottom { font-size: 12px; }
.hero-actions { flex-wrap: wrap; }
.gallery-bottom { flex-wrap: wrap; }
.gallery-bottom > span { font-size: 12px; max-width: 160px; }
.contact-item > div { min-width: 0; }

/* Give longer descriptions room without covering the decorative postcard. */
.destination-greece .destination-description { max-width: min(220px, 100%); }
.greece-postcard { position: relative; inset: auto; align-self: flex-end; margin: 18px 0 0; }
.destination-card { min-width: 0; }
.destination-bottom > span:first-child { min-width: 0; }
.round-arrow { flex-shrink: 0; }

@media (max-width: 850px) {
  :root { --reading-copy: 16px; --reading-lead: 17px; }
  .hero-highlights > div { font-size: 13px; }
  .contact-secondary { flex-wrap: wrap; gap: 6px 12px; }
}

@media (max-width: 600px) {
  .hero-actions { gap: 16px 20px; }
  .contact-item .email-address,
  .contact-email { font-size: 16px; }
  .footer-navigation { gap: 14px 20px; }
}

.fleet-section .gallery-thumbnails { flex-wrap: wrap; }
