.instagram-callout{max-width:760px;margin:28px auto 52px;padding:0 20px;text-align:center}
.instagram-link{display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:18px 26px;border:1px solid #b3c7b5;border-radius:16px;background:#e7eee2;color:#173d32;font-family:inherit;font-size:1.15rem;font-weight:600;line-height:1.45;text-decoration:none;box-shadow:0 4px 14px #173d320a}
.instagram-link svg{flex-shrink:0;width:28px;height:28px}.instagram-link small{display:block;margin-top:5px;font-size:.85rem;font-weight:400}
.instagram-link:hover{background:#dce8d5}.instagram-link:focus-visible,.footer-instagram:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.footer-links .footer-instagram{display:inline-flex;align-items:center;gap:7px;min-height:44px}.footer-instagram svg{flex-shrink:0}
@media(max-width:480px){.instagram-callout{margin:24px auto 36px;padding:0 16px}.instagram-link{width:100%;box-sizing:border-box;padding:16px 14px;font-size:1rem;gap:10px}.instagram-link small{font-size:.8rem}.footer-links{flex-wrap:wrap}}


.benefits-marquee .instagram-marquee-link{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-height:44px}.instagram-marquee-link svg{flex-shrink:0}.instagram-marquee-link:hover span{text-decoration:underline;text-underline-offset:5px}.instagram-marquee-link:focus-visible{outline:2px solid #f5cc4b;outline-offset:5px;border-radius:4px}.benefits-marquee-window:focus-within .benefits-marquee-track{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.instagram-marquee-link span{overflow-wrap:anywhere}}

.portrait-nadja .nadja-website{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin:20px auto 0;padding:11px 19px;min-height:44px;box-sizing:border-box;border:1px solid #8cae98;border-radius:14px;background:#edf3e8;color:#24513c;font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none;box-shadow:0 3px 10px #173d3208}.nadja-website:hover{background:#dfead8}.nadja-website:focus-visible{outline:2px solid #24513c;outline-offset:4px}.nadja-website span:first-child{font-size:1.4em;line-height:1}

.nadja-recommendations{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}.portrait-nadja .nadja-recommendations .nadja-website{margin:0;max-width:100%;padding:11px 14px;font-size:.92rem}.nadja-recommendations .nadja-website span:first-child{font-size:inherit;line-height:inherit}.nadja-recommendations .nadja-website span[aria-hidden]{flex-shrink:0}.nadja-recommendations .nadja-website span:not([aria-hidden]){min-width:0}

.recommendations-section{padding:38px 20px 42px;background:#35694f;color:#fff;text-align:center;scroll-margin-top:200px}.recommendations-section h2{margin:0;font-family:inherit;font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:600;letter-spacing:.02em;color:#fff}.recommendations-section .nadja-recommendations{gap:14px;margin-top:22px}.recommendations-section .nadja-website{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 22px;min-height:48px;box-sizing:border-box;border:1px solid #b7cfb5;border-radius:14px;background:#edf3e8;color:#24513c;font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none}.recommendations-section .nadja-website:hover{background:#dce9d5}@media(max-width:540px){.recommendations-section{padding:30px 18px}.recommendations-section .nadja-recommendations{flex-direction:column;align-items:center;gap:12px}.recommendations-section .nadja-website{width:100%;max-width:310px}}

.recommendations-section .nadja-recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:920px;margin:22px auto 0}.recommendations-section .nadja-website{width:100%;max-width:none}@media(max-width:800px){.recommendations-section .nadja-recommendations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.recommendations-section .nadja-recommendations{grid-template-columns:1fr;max-width:310px}}
.recommendations-teaser .recommendations-button{background:#f5cc4b;color:#173d32;border:1px solid #d4ae35;border-radius:14px;padding:15px 26px;font-size:1.1rem;box-shadow:0 3px 10px #173d3210}
.recommendations-page{background:#f5cc4b;padding-bottom:36px}.recommendations-intro{padding-top:46px;padding-bottom:24px;max-width:920px}.recommendations-intro h1{font-family:inherit;font-size:clamp(1.9rem,4vw,3rem);line-height:1.2;color:#24513c;margin:22px 0 18px;text-align:center}.recommendations-intro p{max-width:700px;margin:0 auto;color:#294d38;font-size:1.08rem;line-height:1.7;text-align:center}.recommendations-back{display:inline-block;color:#24513c;padding:10px 0;font-weight:600}.recommendations-page .recommendations-section{background:transparent;padding-top:8px}.recommendations-page .nadja-website{background:#fff;border-color:#b7cfb5;box-shadow:0 3px 12px #173d3208}.recommendations-page .nadja-recommendations{margin-top:0}@media(max-width:540px){.recommendations-intro{padding-top:26px}.recommendations-intro p{font-size:1rem}.recommendations-page .recommendations-section{padding-bottom:20px}}

.recommendations-teaser .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:18px}

#ueber-uns .website-support{margin-top:32px;max-width:900px}#ueber-uns .website-support p{font-family:inherit;font-size:1rem;font-weight:400;line-height:1.7;color:#294d38;text-align:center;margin:0}#ueber-uns .website-support a{color:#24513c;font-weight:600;text-decoration:underline;text-underline-offset:3px}#ueber-uns .website-support a:focus-visible{outline:2px solid #24513c;outline-offset:4px}@media(max-width:540px){#ueber-uns .website-support{margin-top:24px}#ueber-uns .website-support p{font-size:.95rem}}

/* Green recommendations page, matching the tours section. */
.recommendations-page{background:#a8c4aa;color:#173d32}.recommendations-page .recommendations-intro h1,.recommendations-page .recommendations-intro p,.recommendations-page .recommendations-back{color:#173d32}.recommendations-page .nadja-website{background:#edf3e8;color:#24513c;border-color:#b7cfb5}.recommendations-page .nadja-website:hover{background:#dce9d5}.recommendations-page a:focus-visible{outline:3px solid #173d32;outline-offset:4px}

.website-support.wrap{max-width:none;width:100%;margin:0;padding:20px max(20px,calc((100% - 920px)/2)) 34px;background:#35694f;box-sizing:border-box}.website-support p{margin:0;color:#fff;font-family:inherit;font-size:.95rem;font-weight:400;line-height:1.7;text-align:center}.website-support a{color:#fff;font-weight:600;text-decoration:underline;text-underline-offset:3px}.website-support a:focus-visible{outline:2px solid #f5cc4b;outline-offset:4px}

.recommendations-page .nadja-website{border:1px solid #f5cc4b}

.recommendations-page .nadja-recommendations{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1160px}.recommendations-page .nadja-website{padding:13px 16px}@media(max-width:900px){.recommendations-page .nadja-recommendations{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.recommendations-page .nadja-recommendations{grid-template-columns:1fr;max-width:310px}}

/* Clearly separate island addresses from worldwide recommendations. */
.recommendations-grouped{max-width:1120px;margin:0 auto;text-align:left}
.recommendations-grouped .recommendations-region>h2{color:#173d32;font-size:clamp(1.65rem,3vw,2.15rem);text-align:left;margin:16px 0 32px;letter-spacing:0}
.recommendation-topic{margin:0 0 36px}
.recommendation-topic h3{font-family:inherit;color:#294d38;font-size:1.15rem;font-weight:600;margin:0 0 15px;line-height:1.4}
.recommendations-page .recommendations-grouped .nadja-recommendations{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin:0;gap:14px}
.recommendations-grouped .nadja-website{justify-content:space-between;text-align:left;min-height:62px;box-shadow:none}
.recommendations-world{margin-top:52px;padding-top:38px;border-top:1px solid #789b7b}
.recommendations-grouped .recommendations-world>h2{margin-bottom:14px}
.recommendations-world>p{color:#294d38;margin:0 0 24px;line-height:1.65;max-width:640px}
@media(max-width:800px){.recommendations-page .recommendations-grouped .nadja-recommendations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.recommendations-page .recommendations-grouped .nadja-recommendations{grid-template-columns:1fr}.recommendations-grouped .nadja-website{max-width:none}.recommendation-topic{margin-bottom:28px}.recommendations-world{margin-top:36px;padding-top:28px}}

.footer-bottom .footer-support{display:block;max-width:640px;margin:16px 0 12px;font-size:.9rem;line-height:1.65;color:inherit}.footer-support a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}

.recommendations-teaser .instagram-teaser{display:inline-flex;align-items:center;justify-content:center;gap:10px}.instagram-teaser svg{flex-shrink:0}

.footer-bottom .footer-support,.footer-bottom .footer-credit{display:inline;font-size:.9rem;font-weight:400;line-height:1.65;color:inherit;margin:0}.footer-bottom .footer-support::before{content:"";display:block;margin-top:16px}.footer-bottom .footer-credit::before{content:" ";white-space:pre}.footer-bottom .footer-support{max-width:none}.footer-bottom .footer-credit{margin-left:16px}@media(max-width:600px){.footer-bottom .footer-credit{display:block;margin:10px 0 0}.footer-bottom .footer-credit::before{content:none}}

.footer-bottom>span:has(.footer-credit){flex:1;min-width:0}.footer-bottom .footer-credit{float:right;margin-left:28px;text-align:right}.footer-bottom .footer-credit::before{content:none}@media(max-width:600px){.footer-bottom .footer-credit{float:none;margin:14px 0 0;text-align:right}}

@media(max-width:600px){.footer-bottom:has(.footer-support){flex-direction:column;align-items:stretch}.footer-bottom>span:has(.footer-credit){flex:auto;width:100%}}

.recommendations-page .recommendations-intro h1{background:#f5cc4b;border:1px solid #e5be43;border-radius:16px;padding:22px 28px;max-width:760px;margin:22px auto 24px;box-shadow:0 4px 16px #173d3208}@media(max-width:540px){.recommendations-page .recommendations-intro h1{padding:18px 14px;border-radius:14px}}

.recommendations-grouped .recommendations-region>h2,.recommendation-topic h3{background:#f5cc4b;border:1px solid #e5be43;border-radius:14px;padding:14px 20px;width:fit-content;max-width:100%;box-sizing:border-box}.recommendation-topic h3{padding:11px 18px;border-radius:12px}@media(max-width:540px){.recommendations-grouped .recommendations-region>h2,.recommendation-topic h3{padding:12px 15px}}



.recommendations-grouped .recommendations-world>h2{background:#286e8a;border-color:#286e8a;color:#fff}.recommendations-page .recommendations-world .nadja-website{border-color:#286e8a}

.recommendations-page .recommendations-intro-copy{max-width:740px;margin:0 auto}.recommendations-page .recommendations-intro-copy p{color:#142b22;font-size:1.12rem;font-weight:600;line-height:1.65;margin:0 auto 16px}.recommendations-intro-copy strong{font-weight:700}.recommendations-page .recommendations-intro-copy .recommendations-tab-note{font-size:.95rem;font-weight:400;margin-bottom:0;color:#294d38}@media(max-width:540px){.recommendations-page .recommendations-intro-copy p{font-size:1.02rem}.recommendations-page .recommendations-intro-copy .recommendations-tab-note{font-size:.9rem}}

.recommendations-page .recommendations-intro h1{width:fit-content;max-width:100%;box-sizing:border-box;padding:12px 22px;border-radius:14px}@media(max-width:540px){.recommendations-page .recommendations-intro h1{padding:10px 12px}}

.recommendations-page .recommendations-intro h1{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:0;line-height:1.4}

.recommendations-world>p{color:#142b22;font-weight:600}

.recommendations-grouped .recommendations-region>h2{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:0;line-height:1.4}

/* Existing island photograph replaces the yellow title panel. */
.recommendations-page .recommendations-intro{max-width:1120px}
.recommendations-page .recommendations-intro h1{display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:none;min-height:340px;padding:40px 24px;margin:22px auto 30px;background:linear-gradient(180deg,rgba(12,35,29,0) 25%,rgba(12,35,29,.78) 100%),url('assets/gallery-0.webp') center 42% / cover no-repeat;border:0;border-radius:18px;color:#fff;text-shadow:0 2px 8px #10271c80;box-shadow:0 5px 18px #173d3212}
@media(max-width:540px){.recommendations-page .recommendations-intro h1{min-height:260px;padding:28px 18px;background-position:center,38% center;font-size:clamp(1.65rem,7.3vw,2rem);border-radius:14px;line-height:1.4}}

.recommendations-grouped .recommendations-world>h2{display:flex;align-items:flex-end;justify-content:center;text-align:center;width:100%;min-height:320px;padding:32px 24px;border:0;border-radius:18px;background:linear-gradient(180deg,rgba(10,29,39,0) 20%,rgba(10,29,39,.78) 100%),url('assets/world-cycling-family.png') center center / cover no-repeat;color:#fff;text-shadow:0 2px 8px #10273080;margin-bottom:8px}
.recommendations-world>p.world-photo-credit{max-width:none;text-align:right;font-size:.75rem;font-weight:400;margin:0 0 24px;color:#294d38}.world-photo-credit a{color:inherit;text-underline-offset:3px}
@media(max-width:540px){.recommendations-grouped .recommendations-world>h2{min-height:280px;padding:24px 18px;font-size:1.65rem;border-radius:14px;background-position:center,center 60%}}

#kontakt .contact-direct>.contact-info{gap:18px}#kontakt .contact-info a{font-size:clamp(1.12rem,1.65vw,1.25rem);letter-spacing:.035em;line-height:1.65}@media(max-width:480px){#kontakt .contact-direct>.contact-info{gap:16px}#kontakt .contact-info a{letter-spacing:.025em}}

/* Quiet sage and sand accents keep the weekly timetable easy to scan. */
#oeffnungszeiten dl div{background:linear-gradient(110deg,#e1ecdd,#f2f6ed);border:1px solid #bdcfb7;border-left:3px solid #8aaa7e;border-radius:12px;box-shadow:none}
#oeffnungszeiten dl div:nth-child(even){background:linear-gradient(110deg,#f3e8c9,#faf6e8);border-color:#ddcfa5;border-left-color:#c8ae66}
#oeffnungszeiten dl div:last-child{background:linear-gradient(110deg,#e1eddf,#f4f3e4);border-color:#b8cdb1;border-left-color:#85a477}
#oeffnungszeiten dt{color:#234c37;font-weight:750}#oeffnungszeiten dd{color:#193a2d;font-weight:650;font-variant-numeric:tabular-nums}

/* Opening-hours title spacing and full-width right-aligned design credit. */
#oeffnungszeiten h3{letter-spacing:.055em}
.footer-bottom:has(.footer-support){display:block}
.footer-bottom>span:has(.footer-support){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:32px;row-gap:16px;width:100%}
.footer-bottom .footer-support{grid-column:1;grid-row:2;margin:0}
.footer-bottom .footer-support::before{content:none}
.footer-bottom .footer-credit{grid-column:2;grid-row:2;float:none;display:block;align-self:end;text-align:right;margin:0}
.footer-bottom:has(.footer-support) .footer-links{margin-top:18px}
@media(max-width:700px){.footer-bottom>span:has(.footer-support){grid-template-columns:minmax(0,1fr)}.footer-bottom .footer-credit{grid-column:1;grid-row:3;justify-self:end}.footer-bottom .footer-support{grid-column:1}}

.footer-bottom:has(.footer-support) .footer-links{justify-content:flex-end;text-align:right}

/* Legal links share the copyright row; credits occupy the row below. */
.footer-bottom:has(.footer-support){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:start}
.footer-bottom>span:has(.footer-support){display:contents}
.footer-bottom:has(.footer-support) .footer-links{grid-column:2;grid-row:1;margin:0;justify-content:flex-end}
.footer-bottom .footer-support{grid-column:1;grid-row:2}
.footer-bottom .footer-credit{grid-column:2;grid-row:2;justify-self:end}
@media(max-width:700px){.footer-bottom:has(.footer-support){grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.footer-bottom:has(.footer-support) .footer-links{gap:8px;flex-wrap:wrap;max-width:145px}.footer-bottom .footer-support{grid-column:1/-1;grid-row:2}.footer-bottom .footer-credit{grid-column:1/-1;grid-row:3}}

/* Sage address card connects the timetable with the yellow weather card. */
#oeffnungszeiten .address{background:linear-gradient(120deg,#e3eddf,#f1f5eb);border-color:#b4c9ad;box-shadow:0 2px 10px #355e3c08}
#oeffnungszeiten .address strong{color:#294f39}
#oeffnungszeiten .address p,#oeffnungszeiten .address a{color:#234632}

/* Compact landscape location photo preserves the bicycle in its original frame. */
#kontakt .map-link{flex:none;min-height:0;height:auto;aspect-ratio:1400/788;width:100%}
#kontakt .map-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:none}
#kontakt .map-link::after{background:linear-gradient(180deg,#071e1910,#071e1924)}
#kontakt .map-caption strong{top:50%;left:12px;right:12px;transform:translateY(-50%);font-size:clamp(1.15rem,2vw,1.6rem);text-shadow:0 2px 7px #071e19,0 0 16px #071e19}

#oeffnungszeiten>.address:first-child{margin-top:0;margin-bottom:30px}

.footer .brand .wordmark{letter-spacing:.04em}

#oeffnungszeiten>h3{text-align:center}

#kontakt .contact-grid>.weather-card{grid-column:1/-1;width:100%;max-width:640px;justify-self:center;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;align-items:center}
#kontakt .contact-grid>.weather-card h4{margin:0;font-size:1.2rem;line-height:1.4;color:#173d32}
#kontakt .contact-grid>.weather-card .weather-values{grid-column:2;grid-row:1/3}
#kontakt .contact-grid>.weather-card .weather-status{margin:0;font-size:.83rem;line-height:1.5}
#kontakt .contact-grid>.weather-card .weather-source{grid-column:1/-1}
@media(max-width:540px){#kontakt .contact-grid>.weather-card{display:block;max-width:400px}#kontakt .contact-grid>.weather-card h4{margin-bottom:16px}#kontakt .contact-grid>.weather-card .weather-status{margin-top:14px}#kontakt .contact-grid>.weather-card .weather-source{margin-top:12px}}

#faq .faq-section-title{font-family:'Segoe Script','URW Chancery L',cursive;font-weight:600;letter-spacing:0;text-transform:none;line-height:1.45}

@media(min-width:801px){#oeffnungszeiten{padding-top:0}#oeffnungszeiten>.address:first-child{margin-top:0}}

/* Separate address and opening-hours cards in the right contact column. */
#kontakt .contact-details{display:flex;flex-direction:column;gap:28px;min-width:0}
#kontakt .contact-details>.address{margin:0;padding:24px 32px;background:linear-gradient(120deg,#e3eddf,#f1f5eb);border:1px solid #b4c9ad;border-radius:14px;color:#234632;box-shadow:0 2px 10px #355e3c08}
#kontakt .contact-details>.address strong{font-size:1.18rem;font-weight:750;line-height:1.55;color:#294f39}
#kontakt .contact-details>.address p{font-size:1rem;font-weight:600;line-height:1.65;margin:12px 0}
#kontakt .contact-details>#oeffnungszeiten{padding-top:32px}
@media(max-width:480px){#kontakt .contact-details{gap:24px}#kontakt .contact-details>.address{padding:22px 24px}#kontakt .contact-details>.address strong{font-size:1.08rem}#kontakt .contact-details>#oeffnungszeiten{padding-top:24px}}

/* Lower the contact details and align the photo bottom with the timetable. */
#kontakt .contact-direct>.contact-info{padding-top:24px}
@media(min-width:801px){#kontakt .contact-grid>div:first-child{display:flex;flex-direction:column;align-self:stretch}#kontakt .contact-direct{margin-bottom:44px}#kontakt .map-link{margin-top:auto;flex:none}}
@media(max-width:800px){#kontakt .map-link{margin-top:40px}}

/* Final contact refinements: compact spacing and softer weather accent. */
@media(min-width:801px){#kontakt .map-link{margin-top:40px}#kontakt .contact-direct{margin-bottom:0}}
#kontakt .weather-card{background:#f5cc4b;border-color:#d4ae35;box-shadow:0 3px 12px #36533a08}
@media(max-width:800px){body.contact-section-visible .mobile-contact{display:none}}

.recommendations-grouped .recommendations-world>h2{margin-bottom:24px}
@media(max-width:540px){.recommendations-grouped .recommendations-world>h2{min-height:220px;background-position:center,60% center}}

/* Preserve the mountain skyline at the top of the recommendations photo. */
.recommendations-grouped .recommendations-world>h2{min-height:360px;background-position:center,center top}
@media(max-width:540px){.recommendations-grouped .recommendations-world>h2{min-height:200px;background-position:center,45% top;font-size:1.45rem;padding:20px 14px}}

.recommendations-grouped a.recommendation-with-logo{display:flex;align-items:center;gap:12px}.recommendation-logo{width:112px;height:auto;max-height:36px;object-fit:contain;flex:0 0 112px}@media(max-width:540px){.recommendation-logo{width:96px;flex-basis:96px}}
.recommendations-grouped a.recommendation-with-logo{display:grid;grid-template-columns:88px minmax(0,1fr) 12px;align-items:center;gap:12px;min-height:88px;padding:12px}
.recommendation-logo-box{display:flex;align-items:center;justify-content:center;width:88px;height:56px;padding:5px;background:#fff;border-radius:8px;overflow:hidden}
.recommendation-logo-box .recommendation-logo{width:100%;height:100%;max-height:46px;object-fit:contain;flex:0 1 auto}
.recommendation-logo-box.recommendation-logo-dark{background:#35694f}
.recommendation-logo-box.recommendation-monogram{font-size:1.2rem;letter-spacing:.06em;font-weight:650;color:#35694f;background:#edf3e9}
.recommendation-with-logo>span:nth-child(2){min-width:0;overflow-wrap:anywhere;line-height:1.4}
@media(max-width:540px){.recommendations-grouped a.recommendation-with-logo{grid-template-columns:88px minmax(0,1fr) 12px;gap:12px}}

.recommendations-grouped .recommendation-description{display:block;margin-top:5px;font-size:.78rem;line-height:1.5;font-weight:inherit;color:inherit;overflow-wrap:normal}

/* Worldwide recommendations: heading without photo. */
.recommendations-grouped .recommendations-world>h2{min-height:0;display:block;width:fit-content;max-width:100%;padding:16px 24px;background:#286e8a;text-shadow:none;margin:0 0 24px;border-radius:14px}

.recommendations-grouped .recommendations-world>h2{font-size:clamp(1.75rem,3.4vw,2.5rem);line-height:1.4}
