/* Küstenlotse – Zusätze (Der Lotse liest, Termine, Kanalschnack, Kontakt) */
.services__grid--single { grid-template-columns: 1fr !important; max-width: 600px !important; }
.lotse { padding: var(--space-xxl) 0; background: #fbf5ea; }
.lotse__content { display: grid; grid-template-columns: 1.05fr 1fr; gap: var(--space-xl); align-items: start; }
.lotse__text p { margin-bottom: 1rem; font-size: 1.08rem; line-height: 1.7; color: var(--navy-blue); }
.lotse__text .lotse__lead { font-family: var(--font-display); font-size: 1.9rem; margin-bottom: 1.2rem; }
.lotse__motto { font-family: var(--font-display); font-style: italic; font-size: 1.3rem !important; }
.lotse__card img { width: 100%; height: auto; border-radius: 10px; box-shadow: var(--shadow-lg); display: block; }
.lotse__card figcaption { font-size: 0.85rem; color: var(--grey-mist); margin-top: 0.5rem; text-align: center; }
.termine { padding: var(--space-xxl) 0; background: white; }
.termine__content { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--space-xl); align-items: start; }
.termine__list { display: grid; gap: var(--space-md); }
.termin { border: 1px solid var(--sea-foam); border-left: 6px solid var(--maritime-gold); border-radius: var(--border-radius-lg); padding: 1.4rem 1.6rem; box-shadow: var(--shadow-sm); background: #fff; }
.termin__datum { font-family: var(--font-display); font-size: 1.6rem; margin-bottom: 0.4rem; }
.termin__facts { list-style: none; display: grid; gap: 0.35rem; color: var(--navy-blue); }
.termin__facts i { width: 1.4rem; color: var(--ocean-teal); }
.termine__hinweis { margin-top: var(--space-md); color: var(--navy-blue); }
.termine__hinweis p { margin-bottom: 0.5rem; }
.termine__plakat img { width: 100%; height: auto; border-radius: 10px; box-shadow: var(--shadow-lg); display: block; }
.termine__plakat figcaption { font-size: 0.85rem; color: var(--grey-mist); margin-top: 0.5rem; text-align: center; }
.btn--whatsapp { background: #25d366; color: #fff; border: 2px solid #25d366; }
.btn--whatsapp:hover { background: #1ebe5a; border-color: #1ebe5a; color: #fff; }
.kanalschnack { padding: var(--space-xxl) 0; background: linear-gradient(135deg, #f8f9fa 0%, var(--sea-foam) 100%); }
.clips__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-lg); }
.clip { background: white; border-radius: var(--border-radius-lg); overflow: hidden; box-shadow: var(--shadow-md); }.clip__body { padding: 1rem 1.2rem 1.3rem; }
.clip__body h3 { font-size: 1.15rem; margin-bottom: 0.3rem; }
@media screen and (max-width: 992px) {
    .lotse__content, .termine__content { grid-template-columns: 1fr; }
    .clips__grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
}
@media screen and (min-width: 769px) {
    .nav__menu { gap: 1rem; }
    .nav__list { gap: 0.15rem; }
    .nav__link { white-space: nowrap; padding: 0.5rem 0.55rem; font-size: 0.95rem; }
}
.termine__hinweis p { color: var(--navy-blue); }main.container { overflow-wrap: anywhere; } 
.btn--call { background: var(--navy-blue); color: #fff; border: 2px solid var(--navy-blue); }
.btn--call:hover { background: var(--ocean-teal); border-color: var(--ocean-teal); color: #fff; }.fb-link { margin-top: 1rem; font-weight: 600; font-size: 1.05rem; }
.fb-link a { color: #1877f2; text-decoration: underline; text-underline-offset: 3px; }
.fb-link a:hover { color: var(--navy-blue); }
.fb-link i { margin-right: 0.35rem; }
.section__header .fb-link { margin-top: 0.75rem; }
.clip__video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; object-fit: cover; background: #0b1f33; }
.kanalschnack .section__description { max-width: 640px; margin: 0.75rem auto 0; }
.contact__content--single { grid-template-columns: 1fr; max-width: 900px; margin-left: auto; margin-right: auto; }
.contact__content--single .contact__info > h3 { text-align: center; }
.contact__content--single .contact__methods { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 var(--space-xl); }
@media screen and (max-width: 768px) { .contact__content--single .contact__methods { grid-template-columns: 1fr; } }
.nav__toggle-close { display: none; }
@media screen and (max-width: 768px) { .nav__list > li { width: 100%; } .nav__link { display: block; padding: 0.6rem 1rem; } .nav__list { gap: 0.35rem; } }
@media screen and (max-width: 768px) { .hero__image { min-height: 0 !important; padding: 1.75rem 1.5rem !important; } .hero__image h2 { margin-bottom: 0 !important; } }

/* AIDA P1 */
.hero__urgency{color:#f4d03f;font-weight:600;margin:.4rem 0 1.1rem;font-size:1.05rem}
.termin__actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
.termin__actions .btn{font-size:.95rem;padding:.55rem 1rem}
.btn--ics{background:transparent;color:var(--navy-blue);border:2px solid var(--sea-foam)}
.btn--ics:hover{background:var(--sea-foam);color:var(--navy-blue)}
.termin__fallback{font-size:.9rem;margin-top:.55rem;color:var(--navy-blue)}
.buchen{padding:var(--space-xxl) 0;background:linear-gradient(180deg,#f7fafc 0%,#eef5f8 100%)}
.buchen__grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--space-xl);align-items:start}
.buchen__list{list-style:none;display:grid;gap:.55rem;margin:1.2rem 0 1.6rem}
.buchen__list li{display:flex;gap:.7rem;align-items:flex-start}
.buchen__list i{color:var(--ocean-teal);margin-top:.25rem}
.buchen__card{background:#fff;border-radius:var(--border-radius-lg);padding:1.6rem;box-shadow:var(--shadow-md);border:1px solid var(--sea-foam)}
.buchen__card h3{font-family:var(--font-display);margin-bottom:.6rem}
@media screen and (max-width:768px){.buchen__grid{grid-template-columns:1fr}.termin__actions{flex-direction:column}.termin__actions .btn{width:100%;justify-content:center}}

html{scroll-padding-top:5.5rem}
.hero__image{padding:0;min-height:0;background:transparent;border:none}
.hero__photo{margin:0;position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.12)}
.hero__photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hero__photo-caption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1rem 1.25rem;background:linear-gradient(transparent,rgba(10,40,55,.85));color:#f4d03f;font-family:var(--font-display);font-size:1.6rem;text-align:center}
.nav__contact{gap:.5rem}
.nav__contact .nav__cta-button{margin-left:0}
/* Früher aufs Handy-Menü (Frank: mittlere Breiten nicht gedrängt) */
@media screen and (max-width: 1100px) {
  .nav__toggle { display: block; }
  .nav__menu {
    position: fixed;
    top: 0;
    right: -100%;
    width: min(80%, 360px);
    height: 100vh;
    background: rgba(255,255,255,.98);
    backdrop-filter: blur(10px);
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    padding: 80px 1.25rem 1.25rem;
    transition: right .3s ease;
    box-shadow: -2px 0 10px rgba(0,0,0,.1);
    z-index: 1000;
  }
  .nav__menu.show { right: 0; }
  .nav__list { flex-direction: column; width: 100%; gap: .5rem; margin-bottom: 1.5rem; }
  .nav__link { display: block; width: 100%; padding: .7rem 1rem; text-align: left; }
  .nav__contact { width: 100%; justify-content: center; background: transparent; }
  .nav__cta-button { width: 100%; justify-content: center; }
}
/* AOS-Fallback: nie unsichtbar ohne Animation */
[data-aos]{opacity:1!important;transform:none!important;pointer-events:auto!important}
.clip__video{background:#0a2837;border-radius:12px}

/* Über Frank: Strandfoto (Hochformat) */
.about__img{object-fit:cover;object-position:center top;width:100%;height:100%;min-height:420px;border-radius:var(--border-radius-lg);}

/* Termin mit eigenem Plakat + ausverkauft (04.11.2026) */
.termin__titel{font-family:var(--font-display);font-size:1.25rem;color:var(--ocean-teal);margin:0 0 .5rem}
.termin__plakat{margin:1.1rem 0 0}
.termin__plakat a{display:block;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm)}
.termin__plakat img{display:block;width:100%;height:auto;transition:transform .3s ease}
.termin__plakat a:hover img,.termin__plakat a:focus-visible img{transform:scale(1.02)}
.termin__plakat figcaption{font-size:.85rem;color:var(--grey-mist);margin-top:.45rem;text-align:center}
.termin--ausverkauft{opacity:.85}
.termin__ausverkauft{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:#fff;background:var(--navy-blue);border-radius:999px;padding:.55rem 1.1rem;font-size:.95rem}
.termin__ausverkauft-hinweis{font-size:.9rem;margin-top:.55rem;color:var(--navy-blue)}

/* Gästestimmen (Entwurf 08.11.2026) */
.stimmen{padding:var(--space-xxl) 0;background:#fbf5ea}
.stimmen .section__header{margin-bottom:var(--space-lg)}
.stimmen__liste{list-style:none;margin:0 auto;padding:0;max-width:1100px;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}
.stimme{display:flex}
.stimme blockquote{margin:0;width:100%;background:#fff;border:1px solid #eadfca;border-left:6px solid var(--maritime-gold);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:1.3rem 1.5rem;display:flex;align-items:center}
.stimme p{margin:0;font-family:var(--font-display);font-style:normal;font-size:1.3rem;line-height:1.5;color:var(--navy-blue)}
.stimmen__mehr{max-width:1100px;margin:var(--space-md) auto 0}
.stimmen__mehr summary{display:block;width:max-content;max-width:100%;margin:0 auto;cursor:pointer;list-style:none;font-weight:600;font-size:1.1rem;color:var(--navy-blue);background:#fff;border:2px solid var(--maritime-gold);border-radius:999px;padding:.7rem 1.5rem}
.stimmen__mehr summary::-webkit-details-marker{display:none}
.stimmen__mehr summary::before{content:"+";display:inline-block;width:1.1em;font-weight:700;color:var(--ocean-teal)}
.stimmen__mehr[open] summary::before{content:"\2212"}
.stimmen__mehr summary:hover,.stimmen__mehr summary:focus-visible{background:var(--maritime-gold);color:var(--navy-blue);outline:none}
.stimmen__mehr summary:focus-visible{box-shadow:0 0 0 3px var(--navy-blue)}
.stimmen__mehr[open] .stimmen__liste{margin-top:var(--space-md)}
.stimmen__quelle{text-align:center;margin:var(--space-lg) auto 0;font-size:1rem;color:#4a5a6e}
@media screen and (max-width:992px){.stimmen__liste{grid-template-columns:repeat(2,1fr)}}
@media screen and (max-width:640px){.stimmen__liste{grid-template-columns:1fr;gap:var(--space-sm)}.stimme blockquote{padding:1.1rem 1.2rem}.stimme p{font-size:1.2rem}}
