/* Area-specific adjustments. Shared cruising components remain read-only. */
.cruising-outer-hebrides main { overflow-wrap: break-word; }
.cruising-outer-hebrides .cg-hero h1 { font-size: clamp(3rem, 6.4vw, 5.7rem); }
.cruising-outer-hebrides .cg-photo > a { display: block; }
.cruising-outer-hebrides .cg-photo img { border-radius: 3px; }
.cruising-outer-hebrides .oh-opening-links { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; }
.cruising-outer-hebrides .cg-link,
.cruising-outer-hebrides .cg-jump a,
.cruising-outer-hebrides .cg-map-credit a { min-width: 44px; }
.cruising-outer-hebrides .cg-photo-credit a { padding-block: .35rem; }
.cruising-outer-hebrides .oh-places { margin-block: 1.2rem 0; }
.cruising-outer-hebrides .oh-places > div { border-top: 1px solid var(--line); padding-block: .9rem; }
.cruising-outer-hebrides .oh-places dt { font-weight: 650; color: var(--cg-sea); }
.cruising-outer-hebrides .oh-places dd { margin: .3rem 0 0; }
.cruising-outer-hebrides .oh-detail { border-block: 1px solid var(--line); margin-top: 1rem; }
.cruising-outer-hebrides .oh-detail summary { cursor: pointer; min-height: 48px; padding-block: .85rem; font-size: 1rem; }
.cruising-outer-hebrides .oh-detail p { margin-block: .4rem 1rem; font-size: 1rem; }
.cruising-outer-hebrides .oh-detail a { display: flex; align-items: center; min-height: 44px; min-width: 44px; padding-block: .4rem; }
.cruising-outer-hebrides .oh-map-link { display: block; max-width: 440px; }
.cruising-outer-hebrides .oh-map-link img { width: 100%; height: auto; }
.cruising-outer-hebrides .oh-film-note { margin-top: 1rem; max-width: 45rem; font-size: 1rem; }
.cruising-outer-hebrides .cg-summer { scroll-margin-top: 1.25rem; }

@media (min-width: 700px) {
  /* Keep the opening photograph generous on tablets. */
  .cruising-outer-hebrides .cg-hero { grid-template-columns: 1fr; }
  .cruising-outer-hebrides .cg-hero-copy { display: contents; }
  .cruising-outer-hebrides .cg-hero > .cg-photo { grid-row: 3; }
  .cruising-outer-hebrides .cg-hero .lede { max-width: 43rem; }
  .cruising-outer-hebrides .cg-pace-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1000px) {
  .cruising-outer-hebrides .cg-hero { grid-template-columns: 1fr 1.2fr; gap: 3rem; }
  .cruising-outer-hebrides .cg-hero-copy { display: block; }
  .cruising-outer-hebrides .cg-hero > .cg-photo { grid-row: auto; }
  .cruising-outer-hebrides .cg-hero .lede { max-width: 28rem; }
  .cruising-outer-hebrides .oh-joining { grid-template-columns: 1fr 1fr; gap: 3rem; }
}

/* Shared composition for the localized text and existing map geometry. */
.cruising-outer-hebrides .cg-locator { display:block; width:100%; height:auto; }
.cruising-outer-hebrides .cg-locator-overview { display:none; }
.cruising-outer-hebrides .cg-locator-northern { max-width:440px; }

.cruising-outer-hebrides .cg-navigation-note { max-width:65rem; margin-block:.5rem 0; color:var(--muted); font-size:1rem; }
.cruising-outer-hebrides main { overflow-wrap:anywhere; }
/* The Long Island narrative keeps place, shore visit and harbour together. */
.cruising-outer-hebrides .oh-deck { font: 1.45rem/1.35 var(--serif); color: var(--cg-sea); margin-block: .5rem; max-width: 30rem; }
.cruising-outer-hebrides .oh-section-heading { max-width: 48rem; margin-bottom: 1.5rem; }
.cruising-outer-hebrides .oh-intro { max-width: 49rem; font-size: 1.15rem; }
.cruising-outer-hebrides .oh-prose { max-width: 49rem; margin-block: 2rem; }
.cruising-outer-hebrides .oh-first-story { margin-top: 1.3rem; }
.cruising-outer-hebrides .oh-harbour { background: var(--cg-soft); border-left: 3px solid var(--teal); padding: 1rem 1.2rem; margin-top: 1.4rem; }
.cruising-outer-hebrides .oh-harbour h4 { font: 600 1.05rem/1.4 var(--sans); margin: 0 0 .6rem; }
.cruising-outer-hebrides .oh-harbour p { font-size: 1rem; }
.cruising-outer-hebrides .oh-two-columns { display: grid; gap: 2rem; margin-block: 2rem; align-items: start; }
.cruising-outer-hebrides .oh-two-columns > article { min-width: 0; }
.cruising-outer-hebrides .oh-places a { display: inline-flex; align-items: center; min-height: 44px; }
.cruising-outer-hebrides .cg-locator a { text-decoration: none; }
.cruising-outer-hebrides .cg-locator a:hover text { text-decoration: underline; }
.cruising-outer-hebrides .cg-locator a:focus-visible text { fill: #77401e; text-decoration: underline; }
.cruising-outer-hebrides .oh-south-map { margin-block: 2rem; }
.cruising-outer-hebrides .cg-island-story > .cg-photo { max-width: 58rem; }
.cruising-outer-hebrides .cg-island-story .cg-story-copy { max-width: 49rem; margin-top: 1.5rem; }
.cruising-outer-hebrides .oh-kilda-photo { max-width: 58rem; margin-block: 2rem; }
.cruising-outer-hebrides [id] { scroll-margin-top: 1.5rem; }
@media (min-width:700px) {
 .cruising-outer-hebrides .cg-locator-phone { display:none; }
 .cruising-outer-hebrides .cg-locator-overview { display:block; }
}
@media (min-width: 900px) {
 .cruising-outer-hebrides .oh-two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3rem; }
}
