/* Mallorca only. The HTML and this stylesheet are the editable page source. */
.cruising-mallorca { --cg-sea: #315f65; }
.cruising-mallorca main { overflow-wrap: anywhere; }
.cruising-mallorca [id] { scroll-margin-top: 1.5rem; }
.cruising-mallorca .cg-hero h1 { font-size: clamp(3.2rem, 7vw, 5.5rem); }
.cruising-mallorca .ml-links { display: flex; flex-wrap: wrap; gap: .3rem 1.5rem; }
.cruising-mallorca .cg-photo > a { display: block; }
.cruising-mallorca .cg-photo img { height: auto; aspect-ratio: auto; border-radius: 3px; }
.cruising-mallorca .cg-story { align-items: start; margin-top: 0; }
.cruising-mallorca .cg-photo-credit a { font-size: .8rem; }
.cruising-mallorca .cg-jump a,
.cruising-mallorca .cg-link,
.cruising-mallorca .footer-inner a { min-width: 44px; }
.cruising-mallorca .ml-map { max-width: 420px; width: 100%; margin-inline: auto; }
.cruising-mallorca .ml-map-layout { display: grid; gap: 2rem; align-items: start; }
.cruising-mallorca .ml-places { list-style: none; padding: 0; margin: 0; }
.cruising-mallorca .ml-places li { border-top: 1px solid var(--line); margin: 0; }
.cruising-mallorca .ml-places a { display: block; padding-block: .65rem; min-height: 44px; text-decoration: none; }
.cruising-mallorca .ml-places strong { color: var(--cg-sea); }
.cruising-mallorca .ml-places span { display: block; font-size: 1rem; }
.cruising-mallorca .ml-places a:hover strong { text-decoration: underline; }
.cruising-mallorca .ml-detail { margin-top: 1.2rem; border-block: 1px solid var(--line); }
.cruising-mallorca .ml-detail summary { padding-block: .8rem; min-height: 48px; cursor: pointer; font-size: 1rem; }
.cruising-mallorca .ml-detail p { margin-block: .8rem; font-size: 1rem; }
.cruising-mallorca .ml-detail a { display: flex; align-items: center; min-height: 44px; padding-block: .4rem; }
.cruising-mallorca .ml-reading { max-width: 49rem; }
.cruising-mallorca .ml-wide { max-width: 960px; margin-inline: auto; }
.cruising-mallorca .ml-wide + .ml-reading { margin-top: 1.6rem; }
.cruising-mallorca .ml-shore { display: grid; gap: 1.5rem; margin-top: 2rem; }
.cruising-mallorca .ml-shore h3 { margin-bottom: .7rem; }
.cruising-mallorca .ml-question { border-left: 2px solid var(--gold); padding-left: 1rem; }
.cruising-mallorca .ml-connections { list-style: none; padding: 0; margin: 0; }
.cruising-mallorca .ml-connections li { border-top: 1px solid var(--line); padding-block: 1rem; margin: 0; }
.cruising-mallorca .ml-connections strong { display: block; margin-bottom: .35rem; }
.cruising-mallorca .cg-film { max-width: 49rem; }
@media (min-width: 700px) {
  .cruising-mallorca .cg-hero { grid-template-columns: 1fr; }
  .cruising-mallorca .cg-hero-copy { display: contents; }
  .cruising-mallorca .cg-hero > .cg-photo { grid-row: 3; }
  .cruising-mallorca .cg-hero .lede { max-width: 44rem; }
  .cruising-mallorca .ml-map-layout { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .cruising-mallorca .ml-shore,
  .cruising-mallorca .cg-base-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
  .cruising-mallorca .cg-source-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1000px) {
  .cruising-mallorca .cg-hero { grid-template-columns: .9fr 1.1fr; gap: 3rem; }
  .cruising-mallorca .cg-hero-copy { display: block; }
  .cruising-mallorca .cg-hero > .cg-photo { grid-row: auto; }
  .cruising-mallorca .cg-hero .lede { max-width: 28rem; }
  .cruising-mallorca .ml-map-layout { grid-template-columns: 420px minmax(0, 1fr); gap: 4rem; }
}

/* Localized map labels share the unchanged locator geometry. */
.cruising-mallorca .ml-map-svg { display: block; width: 100%; height: auto; }
.cruising-mallorca .ml-map-link { color: var(--cg-sea); }
.cruising-mallorca .ml-map-link:hover text { text-decoration: underline; }
.cruising-mallorca .ml-map-link:focus-visible { outline: none; }
.cruising-mallorca .ml-map-link:focus-visible rect { stroke: #244e55; stroke-width: 3; fill: #fff; fill-opacity: .5; }
.cruising-mallorca .ml-reading { margin-top: 1.6rem; }
.cruising-mallorca .ml-map-dot:focus-visible { outline: none; }
.cruising-mallorca .ml-map-dot:focus-visible circle { stroke: #244e55; stroke-width: 3; }
.cruising-mallorca .ml-map-link:focus-visible text { text-decoration: underline; }

.cruising-mallorca .cg-hero > *,
.cruising-mallorca .ml-links > * { min-width: 0; max-width: 100%; }
