/* South Brittany: one geographic reading order and shared locale layout. */
.cruising-south-brittany { overflow-wrap: anywhere; }
.cruising-south-brittany .wrap { width: min(1160px, calc(100% - 36px)); }
.cruising-south-brittany .header-inner { flex-direction: column; align-items: flex-start; gap: .6rem; padding-block: 1rem; }
.cruising-south-brittany .primary-nav { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; }
.cruising-south-brittany .primary-nav a, .cruising-south-brittany .guide-region-return a, .cruising-south-brittany .site-footer a { display: inline-flex; align-items: center; min-height: 44px; }
.cruising-south-brittany .primary-nav a { font-size: 1rem; }
.cruising-south-brittany .guide-language-intro { padding-top: .7rem; }
.cruising-south-brittany .guide-region-return { margin: .25rem 0; }
.cruising-south-brittany .sb-hero { display: grid; gap: 1.2rem; padding-top: 1.4rem; }
.cruising-south-brittany h1 { font-size: clamp(3rem, 7vw, 5.7rem); line-height: 1.03; margin: .5rem 0 1.1rem; }
.cruising-south-brittany .sb-intro { font: 1.55rem/1.35 var(--serif); color: var(--ink); }
.cruising-south-brittany .sb-hero-copy > p:last-child { max-width: 37rem; }
.cruising-south-brittany .eyebrow { font-size: .8rem; }
.cruising-south-brittany figure { margin: 0; min-width: 0; }
.cruising-south-brittany figure img { display: block; width: 100%; height: auto; }
.cruising-south-brittany figcaption { font-size: .88rem; line-height: 1.5; padding-top: .6rem; }
.cruising-south-brittany main [id] { scroll-margin-top: 1.2rem; }
.cruising-south-brittany .sb-jump { display: flex; flex-wrap: wrap; gap: .4rem .6rem; padding-block: 1.6rem; border-bottom: 1px solid var(--line); }
.cruising-south-brittany .sb-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--line); text-decoration: none; }
.cruising-south-brittany .sb-jump a:hover { background: var(--wash); }
.cruising-south-brittany .sb-section { padding-block: 2.8rem; border-bottom: 1px solid var(--line); }
.cruising-south-brittany .sb-heading { max-width: 48rem; margin-bottom: 1.7rem; }
.cruising-south-brittany .sb-heading h2 { font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.12; margin: 0 0 1rem; }
.cruising-south-brittany .sb-heading > p { font-size: 1.1rem; line-height: 1.7; }
.cruising-south-brittany .sb-section p { max-width: 72ch; }
.cruising-south-brittany .sb-place { display: grid; gap: 1.4rem; margin-block: 2.2rem; }
.cruising-south-brittany .sb-place h3 { font-size: clamp(1.6rem, 3vw, 2rem); line-height: 1.2; margin: 0 0 1rem; }
.cruising-south-brittany .sb-place > div > p:first-of-type { margin-top: 0; }
.cruising-south-brittany .sb-condition { border-left: 3px solid #bbc9ba; padding-left: 1rem; font-size: 1rem; }
.cruising-south-brittany .sb-aside { padding: 1.3rem 1.5rem; background: #e8eee7; border-left: 3px solid var(--teal); }
.cruising-south-brittany .sb-wide-photo { max-width: 52rem; margin: 2rem auto 3rem; }
.cruising-south-brittany .sb-map-layout { display: grid; gap: 1.2rem; margin-bottom: 1.7rem; }
.cruising-south-brittany .sb-map { min-width: 0; background: #f6f4ed; border: 1px solid var(--line); }
.cruising-south-brittany .sb-map figcaption { padding: .75rem 1rem; }
.cruising-south-brittany .guide-map { display: block; width: 100%; height: auto; }
.cruising-south-brittany .sb-map-stop text { fill: #203d46; font: 30px Arial, sans-serif; }
.cruising-south-brittany .sb-map-label { fill: #fffef7; stroke: #91a8a5; stroke-width: 1.3; }
.cruising-south-brittany .sb-dot { fill: #286761; stroke: #fffef9; stroke-width: 2; }
.cruising-south-brittany .sb-leader { fill: none; stroke: #496c72; stroke-width: 1.6; }
.cruising-south-brittany .sb-map-stop:hover .sb-map-label, .cruising-south-brittany .sb-map-stop:focus .sb-map-label { fill: #e0ede4; stroke: #174d48; stroke-width: 4; }
.cruising-south-brittany .sb-map-stop:focus { outline: none; }
.cruising-south-brittany .sb-map-stop:focus .sb-dot { stroke: #173c35; stroke-width: 5; fill: #fffef7; }
.cruising-south-brittany .sb-directory { list-style: none; padding: 0; margin: 0; display: grid; gap: .3rem; }
.cruising-south-brittany .sb-directory li { border-bottom: 1px solid var(--line); padding: .35rem 0 .75rem; margin: 0; }
.cruising-south-brittany .sb-directory a { display: flex; align-items: center; min-height: 44px; font: 1.3rem/1.3 var(--serif); }
.cruising-south-brittany .sb-directory p { font-size: 1rem; margin: .2rem 0; }
.cruising-south-brittany .sb-gulf-map { max-width: 46rem; margin-block: 1.8rem 2.5rem; }
.cruising-south-brittany .sb-gulf-links { display: flex; flex-wrap: wrap; gap: .2rem 1.3rem; padding-block: .6rem; }
.cruising-south-brittany .sb-gulf-links a { display: inline-flex; align-items: center; min-height: 44px; }
.cruising-south-brittany details { margin-top: 1.2rem; padding: .6rem 1rem; border: 1px solid var(--line); }
.cruising-south-brittany summary { cursor: pointer; min-height: 44px; align-content: center; font-weight: 600; }
.cruising-south-brittany details > :not(summary) { margin-top: .8rem; }
.cruising-south-brittany .photo-credit { margin-top: .35rem; padding: 0; border: 0; }
.cruising-south-brittany .photo-credit a { display: inline-flex; align-items: center; min-height: 44px; }
.cruising-south-brittany .sb-credit { display: flex; flex-wrap: wrap; gap: 0 .6rem; }
.cruising-south-brittany .sb-films { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem 2rem; }
.cruising-south-brittany .sb-films a { display: inline-flex; align-items: center; min-height: 44px; }
@media (min-width: 700px) {
  .cruising-south-brittany .wrap { width: min(1160px, calc(100% - 64px)); }
  .cruising-south-brittany .header-inner { flex-direction: row; align-items: center; }
  .cruising-south-brittany .sb-place:has(> figure) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; align-items: start; margin-block: 3rem; }
  .cruising-south-brittany .sb-place:has(> figure):nth-of-type(even) > figure { order: 2; }
  .cruising-south-brittany .sb-place:not(:has(> figure)) { max-width: 50rem; }
}
@media (min-width: 1000px) {
  .cruising-south-brittany .sb-hero { grid-template-columns: .95fr 1.05fr; gap: 2.5rem; align-items: center; padding-block: 2rem 1rem; }
  .cruising-south-brittany .sb-map-layout { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 2.5rem; align-items: center; }
  .cruising-south-brittany .sb-section { padding-block: 4rem; }
}
