/* Caledonian Canal: coast-to-coast geography, with one shared layout for all locales. */
.cruising-caledonian-canal { overflow-wrap: break-word; }
.cruising-caledonian-canal .header-inner,
.cruising-caledonian-canal .footer-inner { align-items: flex-start; flex-direction: column; }
.cruising-caledonian-canal .primary-nav a,
.cruising-caledonian-canal .footer-inner a { font-size: 1rem; }
.cruising-caledonian-canal h1 { font-size: clamp(2.7rem, 7.5vw, 5rem); line-height: 1.04; margin-block: .7rem 1rem; }
.cruising-caledonian-canal h2 { font-size: clamp(2rem, 5vw, 3.2rem); max-width: 24ch; margin-bottom: 1.4rem; }
.cruising-caledonian-canal h3 { font-size: 1.5rem; margin-block: .3rem 1rem; }
.cruising-caledonian-canal p { max-width: 70ch; }
.cruising-caledonian-canal p + p { margin-top: 1rem; }
.cruising-caledonian-canal main [id] { scroll-margin-top: 1.5rem; }
.cruising-caledonian-canal .cc-hero { display: grid; gap: 1.5rem; padding-block: 1rem 2rem; align-items: center; }
.cruising-caledonian-canal .cc-lede { font: 1.6rem/1.35 var(--serif); color: var(--teal); margin-bottom: 1.1rem; }
.cruising-caledonian-canal .cc-pair,
.cruising-caledonian-canal .cc-two,
.cruising-caledonian-canal .cc-map-layout { display: grid; gap: 1.5rem; margin-block: 1.5rem; align-items: start; }
.cruising-caledonian-canal .cc-hero > *,
.cruising-caledonian-canal .cc-pair > *,
.cruising-caledonian-canal .cc-two > *,
.cruising-caledonian-canal .cc-map-layout > * { min-width: 0; }
.cruising-caledonian-canal .cc-feature { margin-block: 2rem; padding: 1.5rem; background: var(--cg-soft); border-left: 3px solid var(--teal); }
.cruising-caledonian-canal .cc-two > article { border-top: 2px solid var(--line); padding-top: 1rem; }
.cruising-caledonian-canal .cc-chapter { border-top: 1px solid var(--line); }
.cruising-caledonian-canal .cc-chapter > .eyebrow,
.cruising-caledonian-canal .cc-onward > .eyebrow { margin-bottom: .7rem; }
.cruising-caledonian-canal .cc-chapter > .cg-photo { margin-bottom: 1.8rem; }
.cruising-caledonian-canal .cg-photo img { width: 100%; height: auto; object-fit: contain; }
.cruising-caledonian-canal .cg-photo-credit a,
.cruising-caledonian-canal .photo-credit-body a { margin-right: .8rem; font-size: .9rem; }
.cruising-caledonian-canal .cg-link { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; font-size: 1rem; margin-right: 1.1rem; }
.cruising-caledonian-canal .cc-map-copy > .cg-link { display: flex; width: fit-content; margin-top: .35rem; }
.cruising-caledonian-canal .cc-map { display: block; width: 100%; height: auto; }
.cruising-caledonian-canal .cc-map a:focus text,
.cruising-caledonian-canal .cc-map a:hover text { text-decoration: underline; }
.cruising-caledonian-canal .cc-map a:focus circle { stroke: #b45f29; stroke-width: 3; }
.cruising-caledonian-canal .cg-map { padding: 0; max-width: 540px; border: 1px solid var(--line); }
.cruising-caledonian-canal .cg-map figcaption { padding: .6rem .8rem; font-size: .9rem; }
.cruising-caledonian-canal .cg-map figcaption a { min-height: 44px; display: inline-flex; align-items: center; }
.cruising-caledonian-canal .cc-access { margin-block: 1.5rem; padding-block: 1.25rem; border-block: 1px solid var(--line); }
.cruising-caledonian-canal .cc-detail { margin-block: 1.25rem; border-block: 1px solid var(--line); }
.cruising-caledonian-canal .cc-detail summary { padding-block: .9rem; min-height: 48px; cursor: pointer; font-size: 1rem; color: var(--teal); }
.cruising-caledonian-canal .cc-detail > div { padding-bottom: 1.25rem; }
.cruising-caledonian-canal .cc-detail p { font-size: 1rem; }
.cruising-caledonian-canal .cc-onward { padding-block: 2rem 3rem; }

.cruising-caledonian-canal .cg-jump a { font-size: 1rem; min-width: 44px; }
@media (min-width: 760px) {
 .cruising-caledonian-canal .header-inner,
 .cruising-caledonian-canal .footer-inner { flex-direction: row; align-items: center; }
 .cruising-caledonian-canal .cc-pair,
 .cruising-caledonian-canal .cc-two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
 .cruising-caledonian-canal .cc-map-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.5rem; }
 .cruising-caledonian-canal .cc-feature { padding: 2rem; }
}
@media (min-width: 1000px) {
 .cruising-caledonian-canal .cc-hero { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 3rem; padding-block: 1.7rem 3rem; }
 .cruising-caledonian-canal .cc-map-copy { padding-top: 1rem; }
}

.cruising-caledonian-canal .cc-chapter > .cg-photo { max-width: 1050px; margin-block: 1.8rem; }
.cruising-caledonian-canal #photo-oich { max-width: 1024px; }
.cruising-caledonian-canal .cc-map-place:focus rect { stroke: #b45f29; stroke-width: 3; }
.cruising-caledonian-canal .cc-access { border-block: 1px solid var(--line); padding-block: 1.25rem; margin-block: 1.25rem; }
