/* iOS Safari compatibility -- scoped to preserve the existing editorial design. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
/* Controls must not inherit Safari's native blue label color. */
button { color: inherit; }
.menu, .menu:link, .menu:visited { color: var(--ink, #183a39); -webkit-appearance: none; appearance: none; }
.planner-list button:not(.active) { color: var(--ink, #183a39); -webkit-appearance: none; appearance: none; }
.planner-list button.active { color: #fff; }
/* Unicode arrows and the brand mark are text symbols, not emoji. */
.brand-icon span { font-family: Arial, Helvetica, sans-serif; font-variant-emoji: text; }
/* Prevent the exceptionally tight headings from merging visually in iOS. */
@media (max-width: 600px) {
  .eg-main h1, .eg-main h2, .eg-main h3,
  .gh-story-copy h2, .gh-airport h2, .gh-road h2, .gh-arrival h2, .gh-summary h2, .gh-further h2,
  .pt-hero h1, .pt-intro h2, .pt-steps h2, .pt-builder h2, .pt-places h2, .pt-checklist h2,
  .ws-intro h2, .ws-choice h2, .ws-heading h2, .ws-section-head h2,
  .tj-hero h1, .tj-feature h2, .tj-library h2, .tj-paths h2, .tj-wide h2, .tj-end h2 {
    letter-spacing: -0.035em;
    overflow-wrap: break-word;
  }
}

/* Text-only CSS-generated checklist icon: no emoji substitution on iOS. */
.gh-checks li::before {
  content: "\2197\FE0E";
  font-family: Arial, Helvetica, sans-serif;
  font-variant-emoji: text;
  font-weight: 700;
}
/* Improve mobile heading readability without changing structure. */
@media (max-width: 600px) {
  .gh-story-copy h2, .gh-airport h2, .gh-road h2,
  .gh-arrival h2, .gh-summary h2, .gh-further h2 {
    letter-spacing: -0.025em;
    word-spacing: 0.08em;
  }
}

/* Safari-safe vector arrows: Unicode arrows are converted to inline SVG in HTML. */
.ios-text-arrow {display:inline-block; width:1em; height:1em; vertical-align:-0.12em; flex-shrink:0; color:inherit; overflow:visible;}
/* The Getting Here checklist previously contained a CSS-generated Unicode emoji. */
.gh-checks li::before {content:"" !important; position:absolute; left:0; top:0.17em; display:block; width:0.90em; height:0.90em; font-size:inherit; background-color:#f0af8f; background-repeat:no-repeat; background-position:center; background-size:contain; background-color:transparent; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 19 19 5M8 5h11v11' stroke='%23f0af8f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");}
/* Prevent the mark inside the site logo from falling back to Apple's emoji font. */
.brand-icon span {font-family:Arial,Helvetica,sans-serif; font-variant-emoji:text;}

/* Mobile hero CTA alignment — match the Things to Do hero.
   Keep existing desktop layouts and allow narrow-screen wrapping. */
@media (max-width: 700px) {
  .sk-actions, .tf-actions, .tp-hero-actions, .tj-hero-actions,
  .todo-hero-actions, .eg-hero-actions, .pt-hero-actions,
  .hero-actions, .page-hero-links {
    align-items: center;
  }
  .sk-actions > a, .tf-actions > a, .tp-hero-actions > a,
  .tj-hero-actions > a, .todo-hero-actions > a,
  .eg-hero-actions > a, .pt-hero-actions > a,
  .hero-actions > a, .page-hero-links > a {
    align-self: center;
  }
}
