/* Localized labels remain readable at larger text sizes. */
.channel-islands-page { overflow-wrap: anywhere; }
.channel-islands-page .cg-place-list { grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); }
.channel-islands-page .cg-film { grid-template-columns: 30px minmax(0, 1fr) 14px; }

/* Shared layout for this guide’s localized maps and language navigation. */
.channel-islands-page .guide-map { display: block; width: 100%; height: auto; }
.channel-islands-page .guide-map-overview { display: none; }

.channel-islands-page .guide-region-return a { display: inline-flex; align-items: center; min-height: 44px; }
.channel-islands-page .guide-preview-note { font-size: .9rem; max-width: 75ch; }
.channel-islands-page .guide-region-return { margin-block: .35rem; }
.channel-islands-page h1, .channel-islands-page h2, .channel-islands-page h3 { hyphens: auto; }
@media (min-width: 700px) {
  .channel-islands-page .guide-map-phone { display: none; }
  .channel-islands-page .guide-map-overview { display: block; }
}

.channel-islands-page .cg-sources summary > span { display: inline; padding: 0; font-size: inherit; font-weight: inherit; color: inherit; }
.channel-islands-page .cg-sources summary time { display: block; padding-left: 1.2rem; font-size: .8rem; font-weight: 400; color: var(--muted); }
.channel-islands-page .cg-sources summary time > span { display: inline; padding: 0; font-size: inherit; }

@media (max-width: 699px) {
  .channel-islands-page .cg-film > span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .channel-islands-page .cg-film > span:last-child { grid-column: 3; grid-row: 1; }
}

/* Preserve44px targets for short localized controls and the brand link. */
.channel-islands-page .cg-jump a { min-width: 44px; }
.channel-islands-page .brand { min-height: 44px; }

/* Map-list links lead to the corresponding place, with room for touch and text. */
.channel-islands-page .cg-place-list a { display: block; min-height: 44px; color: inherit; }
.channel-islands-page .cg-place-list a:focus-visible { outline: 3px solid currentColor; outline-offset: 4px; }
.channel-islands-page [id] { scroll-margin-top: 1rem; }
.channel-islands-page .cg-town-note a { display: inline-flex; align-items: center; min-height: 44px; }

/* Link the existing map markers; dense phone dots retain separate hit areas.
   The equivalent place list supplies larger touch targets without moving places. */
.channel-islands-page .guide-map-place { cursor: pointer; }
.channel-islands-page .guide-map-hit { fill: transparent; stroke: transparent; pointer-events: all; }
.channel-islands-page .guide-map-place:focus-visible { outline: none; }
.channel-islands-page .guide-map-place:focus-visible .guide-map-hit { stroke: #173a40; stroke-width: 3; vector-effect: non-scaling-stroke; }

/* Chapters share the existing story layout; longer passages align with the image top. */
.channel-islands-page .channel-chapter > h2 { max-width: 26ch; }
.channel-islands-page .channel-chapter .cg-story { align-items: start; }
.channel-islands-page .channel-pair { display: grid; gap: 2rem; margin-top: 2.5rem; }
.channel-islands-page .channel-pair > article { min-width: 0; }
.channel-islands-page .channel-text > h3 { margin-top: 2.5rem; }
.channel-islands-page .channel-text > p { max-width: 72ch; }
.channel-islands-page .channel-text .cg-photo-pair { margin-block: 1.75rem 2.5rem; }
.channel-islands-page .channel-chapter .cg-link { margin-right: 1.25rem; }
.channel-islands-page .channel-detail { margin-top: 1.25rem; border-top: 1px solid var(--line); }
.channel-islands-page .channel-detail > summary { min-height: 44px; padding-block: .75rem; cursor: pointer; font-weight: 550; }
.channel-islands-page .channel-detail > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.channel-islands-page .channel-detail > p { margin-top: .75rem; }
@media (min-width: 700px) {
  .channel-islands-page .channel-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
  .channel-islands-page .channel-tide-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .channel-islands-page .channel-tide-pair .cg-photo:last-child { margin-top: 0; }
}
