/* Shared visual refinement, preserving the established blue/green palette. */
body.subpage-page::before{opacity:.018;z-index:0}
body.home-page::before{opacity:.03;z-index:0}
body.subpage-page main :is(.section-head,.about-copy,.holiday-intro-panel){min-height:0!important;padding:30px!important;align-items:center}
body.subpage-page main .section-head .section-intro{margin:0;max-width:52ch}
.visitor-toolbar{padding-top:16px;padding-bottom:8px}
.visitor-toolbar .tool-actions{margin-block:10px}
.bookmark-help{display:block;padding:10px 16px;max-width:760px;margin-top:8px}
.bookmark-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:.9375rem;color:#164c54;text-decoration:underline;text-underline-offset:4px}
.bookmark-help p{font-size:.9375rem;line-height:1.6;margin:8px 0}
.bookmark-help:not([open])>:not(summary){display:none}
.rain-disclosure{margin:18px 0;border:1px solid #aac7c4;border-radius:16px;background:#d8e9db;overflow:hidden;box-shadow:0 6px 20px #102c3c08}
.rain-disclosure>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:18px 22px;color:#102c3c;list-style:none}
.rain-disclosure>summary::-webkit-details-marker{display:none}
.rain-disclosure>summary::after{content:'+';font-size:1.6rem;line-height:1;flex:none;color:#164c54}
.rain-disclosure[open]>summary::after{content:'−'}
.rain-disclosure summary h2{font-size:1.2rem;margin:0;line-height:1.4;font-weight:600;display:flex;align-items:center;gap:12px}
.rain-disclosure summary h2::before{content:'';display:block;width:22px;height:3px;background:#c84636;flex:none}
.rain-disclosure .rain-count{display:block;font-size:.875rem;font-weight:400;color:#36555a;margin-top:4px}
.rain-disclosure-body{padding:0 20px 22px}
.rain-disclosure .journey-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rain-disclosure .journey-card{padding:22px}
.rain-disclosure .journey-card h3{font-size:1.13rem;font-weight:600;line-height:1.4;margin:8px 0 12px}
.rain-disclosure .journey-card p{font-size:1rem;line-height:1.65}
.rain-disclosure .journey-card .rain-tag{font-size:.85rem;line-height:1.5;letter-spacing:.025em}
.rain-subregion{margin-top:26px}
.rain-subregion>h3{font-size:1.2rem;color:#173e46}
.rain-guide .rain-place-nav a{min-height:46px}
.news-history{margin-top:18px;border-top:1px solid #aac7c4;padding-top:8px}
.news-history>summary{cursor:pointer;padding:14px 4px;min-height:44px;color:#164c54;font-weight:600}
.news-history>.news-grid{margin-top:12px}
.home-news .news-card h3{font-size:1.13rem;line-height:1.4}
.home-news .news-card p{line-height:1.6}
#restaurants .restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
#restaurants .restaurant-card{padding:24px;min-width:0}
#restaurants .restaurant-card>.service-heading{font-size:1.4rem;line-height:1.3;margin:10px 0 12px}
#restaurants .restaurant-place-intro{font-size:.9375rem;line-height:1.65;margin:0 0 22px}
#restaurants .restaurant-list{gap:14px}
#restaurants .restaurant-entry{padding:18px;border:1px solid #b8cfc4;border-radius:12px;background:#e7f0e7;color:#102c3c;box-shadow:0 3px 10px #102c3c05}
body main #restaurants .restaurant-entry .restaurant-name,body main #restaurants .restaurant-entry .restaurant-name a{font-size:1.13rem;line-height:1.4;font-weight:600;color:#102c3c!important;margin:0 0 8px}
body main #restaurants .restaurant-entry>span{font-size:.9375rem!important;line-height:1.6;color:#36555a!important;margin:0 0 10px}
#restaurants .restaurant-review-links{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0}
body main #restaurants .restaurant-review-links a{background:#245e64!important;color:#fffdf8!important;border:1px solid #b9d9d3;min-height:44px;padding:9px 12px;border-radius:9px;font-size:.9375rem;line-height:1.5;font-weight:500;flex:1 1 140px;justify-content:center;text-align:center}
#restaurants .restaurant-all{display:inline-flex;min-height:46px;align-items:center;margin-top:18px;font-size:1rem;line-height:1.5}
.warning-region-label{display:block;font-size:.875rem;font-weight:500;line-height:1.4;margin-top:4px}
.official-warning-item .warning-event{font-size:1rem;font-weight:600;margin-block:6px}
.official-warning-item .warning-original{margin-top:12px;border-top:1px solid #b9cdd5;padding-top:6px}
.official-warning-item .warning-original summary{min-height:44px;padding:8px 0;cursor:pointer;font-size:.9375rem}
.official-warning-item .warning-original p{overflow-wrap:anywhere;line-height:1.6}
.official-warning-item .warning-date{font-size:.9375rem;line-height:1.6}
:is(a,button,summary):focus-visible{outline:3px solid #e69b53;outline-offset:4px}
@media(max-width:850px){#restaurants .restaurant-grid{grid-template-columns:1fr}.rain-disclosure .journey-grid{grid-template-columns:1fr}}
@media(max-width:700px){
 body.subpage-page main :is(.section-head,.about-copy,.holiday-intro-panel){padding:20px!important;align-items:stretch}
 body.subpage-page main .section-head .section-intro{font-size:1rem;line-height:1.65}
 .visitor-toolbar{padding-top:10px}.visitor-toolbar nav{font-size:.9375rem;gap:8px 16px}
 .bookmark-help{padding:6px 12px;margin-top:6px}.bookmark-help summary{font-size:.875rem}
 .rain-disclosure{border-radius:14px;margin:14px 0}.rain-disclosure>summary{padding:16px;gap:10px}
 .rain-disclosure summary h2{font-size:1.13rem;gap:10px}.rain-disclosure-body{padding:0 12px 16px}
 .rain-disclosure .journey-card{padding:18px}.rain-disclosure .journey-card h3{font-size:1.08rem}
 #restaurants .restaurant-card{padding:18px}#restaurants .restaurant-entry{padding:16px}
 #restaurants .restaurant-review-links a{flex-basis:100%;font-size:1rem}
 .home-page .hero>.live-weather{width:min(170px,calc(100% - 190px));min-width:0;max-width:none;left:16px;padding:10px}
 .home-page .hero>.motion-toggle{right:16px;max-width:calc(100% - 216px);font-size:.8rem}
 .home-page .hero:has(.official-warnings-home:not([hidden])) .hero-inner{padding-top:190px}
 .home-page .live-weather .warning-region-label{font-size:.8125rem}
 .home-page .live-weather .official-warnings-home>.official-warning-body{left:0;width:calc(100vw - 52px);max-width:calc(100vw - 52px)}
 .news-grid{grid-template-columns:1fr!important}.home-news-toggle .service-heading{font-size:1.13rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
@media print{.news-history,.bookmark-help{display:none}.rain-disclosure-body{display:block!important}.rain-disclosure{break-inside:auto;background:white}.rain-disclosure>summary::after{display:none}}
.home-news-disclosure[open]>[data-news-feed]{margin-top:18px}
.home-news .news-card{background:#245565;color:#fffdf8;border-color:#a9c5c0}
.home-news .news-card a{color:#fffdf8}.home-news .news-card p{color:#e2eceb}.home-news .news-card time{color:#ffb8a9}
.home-news .news-history>summary{color:#fffdf8}
.home-page .youtube-home{width:min(100% - 40px,1180px);margin:20px auto}
@media(max-width:700px){.home-page .youtube-home{width:calc(100% - 28px);margin:14px auto}}
@media(max-width:700px){
 .home-page main>.home-choices{background:#e8e9e0;color:#102c3c;padding:30px 0 28px}
 .home-page main>.home-choices .service-heading{color:#102c3c}
 .home-page main>.home-choices>.shell>p{color:#526872}
 .home-page main>.home-news{background:transparent;color:#102c3c;padding-top:18px;padding-bottom:32px}
 .home-page main>.home-news .news-history>summary{color:#164c54}
 .home-page main>.youtube-home{margin-top:20px;margin-bottom:12px;background:#245565}
 .home-page .hero{min-height:0}
 .home-page .hero>.hero-inner{padding-bottom:50px}
}

/* The same six-place layout across all complete place collections. */
body main [data-place-collection="six"]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:22px;align-items:stretch!important}
body main [data-place-collection="six"]>article{min-width:0;height:100%;box-sizing:border-box}
@media(max-width:1099px){body main [data-place-collection="six"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:699px){body main [data-place-collection="six"]{grid-template-columns:minmax(0,1fr)!important}}
.beach-price-mobile{display:none}
.video-recommendation>summary{cursor:pointer;min-height:46px;padding:14px;font-weight:600}
.video-recommendation>.video-feature-intro,.video-recommendation>.video-feature-caption{padding-inline:14px}
.news-release{padding:14px 0;border-top:1px solid rgba(255,255,255,.25)}
.news-release>summary{cursor:pointer;min-height:46px;font-weight:600;line-height:1.5}
.news-release>ul{list-style:none;padding:0;margin:12px 0}
.news-release li{padding:12px 0;border-top:1px solid rgba(255,255,255,.18)}
.news-release li p{margin:5px 0}
.news-release a{color:inherit;text-underline-offset:3px}
@media(max-width:700px){
 body main .beach-price-scroll{display:none!important}
 .beach-price-mobile{display:grid;gap:10px}
 .beach-price-place{border:1px solid var(--mn-border);border-radius:14px;background:var(--mn-inset);min-width:0}
 .beach-price-place>summary{cursor:pointer;padding:14px;min-height:46px;font-weight:600;box-sizing:border-box}
 .beach-price-place small{display:block;font-weight:400;font-size:.9rem;line-height:1.6}
 .beach-price-detail{padding:0 14px 14px;overflow-wrap:anywhere}
 .beach-price-detail h3{font-size:1rem;margin:14px 0 8px}
 .beach-price-detail p{line-height:1.7;margin:8px 0}
 body main .beach-price-detail a{display:inline-flex;align-items:center;min-height:46px;padding:10px 13px;margin:5px 0;box-sizing:border-box;border:1px solid #779e95;border-radius:14px;background:#d8e9db!important;color:#163e46!important}
}
@media print{.beach-price-mobile{display:none!important}.beach-price-scroll{display:block!important}}
.home-news .news-history{padding:12px 18px;border:1px solid #aac7c4;border-radius:14px;background:var(--mn-green);color:#102c3c}
body .home-news .news-history>summary{color:#164c54}
.news-release{border-color:#aac7c4}
.news-release li{border-color:#aac7c4}
.news-release a{display:inline-flex;align-items:center;min-height:44px;color:#164c54}
.news-release :is(a,summary):focus-visible,.news-card a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.news-card li{padding-block:6px}
.news-card>a{display:inline-flex;align-items:center;min-height:44px}
.video-recommendation:not([open])>:not(summary){display:none}

.home-page .home-news{margin-top:0;padding-top:12px}.home-page .hero>.home-choices{padding-bottom:20px}@media(max-width:700px){.home-page main>.home-choices{padding-bottom:12px}.home-page main>.home-news{padding-top:12px;padding-bottom:20px}}

/* Keep planning and saving close together; explanations take space only when opened. */
body .visitor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 22px;padding-block:12px}
body .visitor-toolbar nav{gap:8px 18px}
body .visitor-toolbar .tool-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0}
body .visitor-toolbar .save-idea{margin:0;align-self:center}
body .visitor-toolbar .bookmark-help{display:block;max-width:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body .visitor-toolbar .bookmark-help summary{min-height:44px;padding:0;font-size:.9375rem;line-height:1.5}
body .visitor-toolbar .bookmark-help-body{max-width:480px;padding:14px 18px;margin-top:8px;border:1px solid #aac7c4;border-radius:14px;background:#e7f0e7;color:#102c3c}
body .visitor-toolbar #tools-status:not(:empty){flex-basis:100%;margin:0}
body .visitor-toolbar .bookmark-help[open]{flex-basis:100%}
body .hero .hero-inner>div>.eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:.11em;color:#ffe3a0;text-shadow:0 1px 4px #102c3c}
body main .discover-photo-credit{font-size:.8125rem;line-height:1.6}
body main .weather-area-note{margin-block:18px;line-height:1.7}
.rain-planning .rain-steps{margin:0;padding-block:6px;background:transparent}
.rain-planning .rain-disclosure-body>.service-links{margin-top:12px}
@media(max-width:700px){body .visitor-toolbar{gap:6px 14px;padding-block:10px}body .visitor-toolbar .bookmark-help-body{padding:12px 14px}body .hero .hero-inner>div>.eyebrow{font-size:.875rem;letter-spacing:.06em}}

/* Opaque path navigation remains legible over every page photograph. */
body .breadcrumbs{background:#e7f0e7;color:#102c3c;border:1px solid #aac7c4;border-radius:12px;padding:6px 16px;gap:4px 10px;line-height:1.6;box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}
body .breadcrumbs a{color:#164c54!important;text-decoration:underline;text-underline-offset:3px;min-height:44px}
body .breadcrumbs [aria-current="page"]{font-weight:600}
body .external-media-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;box-sizing:border-box;background:#d8e9db!important;color:#102c3c!important;text-align:center;font-size:1rem;line-height:1.6;overflow:auto}
body .external-media-fallback strong{font-size:1.05rem;color:#102c3c!important}
body .external-media-fallback a{display:inline-flex;align-items:center;min-height:44px;color:#164c54!important;text-decoration:underline;text-underline-offset:3px}
body .video-player>.external-media-fallback{width:100%;height:100%}
body .video-preview>.thumbnail-fallback{position:absolute;inset:0;width:100%;height:100%;padding:24px 48px 24px 18px;gap:8px}
body .video-preview>.thumbnail-fallback strong{font-size:1rem}
body .video-preview>.thumbnail-fallback span{font-size:.9375rem}
body .external-media-help{display:block;min-height:44px;max-width:100%;margin:10px 0 14px;padding:10px 14px;border:1px solid #779e95;border-radius:10px;background:#d8e9db;color:#163e46;font:inherit;font-size:.9375rem;line-height:1.5;cursor:pointer;text-align:left}
body .external-media-help:hover{background:#c6dfcb}
@media(max-width:700px){body .breadcrumbs{padding:6px 12px;font-size:.9375rem}body .external-media-fallback{padding:16px;gap:8px}}

/* Legal documents share the navigation and title treatment of every rubric. */
body.legal-page .legal-text{max-width:780px;margin:0 auto}
body.legal-page .legal-copy{padding:clamp(20px,4vw,36px);border:1px solid #aac7c4;border-radius:18px;background:#f5f8f2;color:#102c3c;box-shadow:0 8px 24px #102c3c08}
body.legal-page .legal-copy h2{font-size:1.25rem;font-weight:600;line-height:1.45;margin:28px 0 12px;color:#102c3c}
body.legal-page .legal-copy h2:first-child{margin-top:0}
body.legal-page .legal-copy :is(p,li){font-size:1rem;line-height:1.8;color:#284752}
body.legal-page .legal-copy a{color:#164c54;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
body.legal-page .legal-copy p{margin:0 0 20px}
body.legal-page .legal-copy p:last-child{margin-bottom:0}
/* Override earlier, more specific rubric rules on desktop and narrow screens. */
body.subpage-page main .discover-photo-credit,
body.subpage-page.discover-page #entdecken .about-copy .discover-photo-credit,
body.subpage-page main .scenic-photo-credit,
body.subpage-page main .gallery-credit-note,
body.subpage-page main #videos .video-copy small,
body.subpage-page main #videos .latest-video-status,
body.subpage-page main .kids-image-note{font-size:.875rem!important;line-height:1.7!important;overflow-wrap:anywhere}

/* Keep the decorative sky compact so the forecasts appear sooner. */
body.subpage-page #wetter .weather-sun-scene{height:120px;min-height:0;aspect-ratio:auto;margin:18px 0;border-radius:14px;background-position:center 35%}
@media(max-width:700px){body.subpage-page #wetter .weather-sun-scene{height:80px;margin:14px 0}}