/* DISINI Surf House: Zimmer, Ausstattung, Pakete, Buchung.
   Nutzt die Farben und Schriften des Themes (disini-v3) ueber dessen Variablen. */

:root{
  --st-teal:var(--wp--preset--color--teal,#0d505d);
  --st-teal-bright:var(--wp--preset--color--teal-bright,#14808f);
  --st-teal-soft:var(--wp--preset--color--teal-soft,#c8dde0);
  --st-ink:var(--wp--preset--color--ink,#123a41);
  --st-ink-60:var(--wp--preset--color--ink-60,#5b6b6d);
  --st-sand:var(--wp--preset--color--sand,#f5f0e6);
  --st-mist:var(--wp--preset--color--mist,#f0f5fa);
  --st-line:var(--wp--preset--color--line,#dde6e9);
  --st-coral:var(--wp--preset--color--coral,#b95c47);
  --st-serif:var(--wp--preset--font-family--serif,'Cormorant Garamond',Georgia,serif);
  --st-sans:var(--wp--preset--font-family--sans,Jost,sans-serif);
  --st-radius:18px;
  --st-shadow:0 1px 3px rgba(18,58,65,.06),0 10px 30px rgba(18,58,65,.08);
}

/* ---------- Eroeffnungs-Hinweis */
.stay-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--st-coral);color:#fff;
  font-family:var(--st-sans);font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:.45rem 1rem;border-radius:999px;margin:0 auto 1.1rem}
.stay-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:#fff;animation:st-puls 2s infinite}
@keyframes st-puls{0%,100%{opacity:1}50%{opacity:.35}}
.has-text-align-center .stay-badge,.stay-badge--center{display:flex;width:max-content}

/* ---------- Abschnitte */
.stay-section{padding:clamp(3.5rem,7vw,6rem) 1.25rem}
.stay-section--sand{background:var(--st-sand)}
.stay-section--mist{background:var(--st-mist)}
.stay-section--teal{background:var(--st-teal);color:#fff}
.stay-section--teal h2,.stay-section--teal h3{color:#fff}
.stay-wrap{max-width:1180px;margin:0 auto}
.stay-wrap--narrow{max-width:820px}
.stay-head{text-align:center;max-width:720px;margin:0 auto 2.5rem}
.stay-head p{color:var(--st-ink-60)}
.stay-section--teal .stay-head p{color:rgba(255,255,255,.78)}
.stay-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:2.2rem}

/* ---------- Kennzahlen des Hauses */
.stay-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0 0}
.stay-fact{background:#fff;border:1px solid var(--st-line);border-radius:var(--st-radius);padding:1.2rem 1rem;text-align:center}
.stay-fact b{display:block;font-family:var(--st-serif);font-size:2.2rem;line-height:1;color:var(--st-teal);font-weight:600}
.stay-fact span{font-size:.9rem;color:var(--st-ink-60)}
@media (max-width:720px){.stay-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Zimmerkarten */
.room-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
@media (max-width:980px){.room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.room-grid{grid-template-columns:minmax(0,1fr)}}
.room-card{background:#fff;border-radius:var(--st-radius);overflow:hidden;box-shadow:var(--st-shadow);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.room-card:hover{transform:translateY(-3px);box-shadow:0 2px 6px rgba(18,58,65,.08),0 18px 40px rgba(18,58,65,.14)}
.room-card__img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--st-teal)}
.room-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.room-card__floor{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);color:var(--st-ink);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem;border-radius:999px}
.room-card__body{padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.room-card__name{font-family:var(--st-serif);font-size:1.7rem;line-height:1.1;margin:0;color:var(--st-ink)}
.room-card__short{margin:0;color:var(--st-ink-60);font-size:.95rem;line-height:1.55}
.room-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}
.room-meta li{font-size:.8rem;background:var(--st-mist);color:var(--st-ink);padding:.3rem .6rem;border-radius:8px}
.room-card__foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:.6rem;border-top:1px solid var(--st-line)}
.room-price{font-size:.8rem;color:var(--st-ink-60);line-height:1.3}
.room-price b{display:block;font-size:1.15rem;color:var(--st-ink);font-weight:600}
.st-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;background:var(--st-teal);color:#fff !important;text-decoration:none !important;
  font-family:var(--st-sans);font-weight:600;font-size:.92rem;padding:.75rem 1.2rem;border-radius:999px;border:0;cursor:pointer;transition:background .2s ease,transform .15s ease;white-space:nowrap}
.st-btn:hover{background:var(--st-coral)}
.st-btn:active{transform:scale(.97)}
.st-btn--coral{background:var(--st-coral)}
.st-btn--coral:hover{background:var(--st-teal)}
.st-btn--ghost{background:transparent;color:var(--st-teal) !important;box-shadow:inset 0 0 0 1.5px var(--st-teal)}
.st-btn--ghost:hover{background:var(--st-teal);color:#fff !important}
.st-btn--light{background:#fff;color:var(--st-teal) !important}
.st-btn[disabled]{opacity:.45;cursor:not-allowed}

/* ---------- Zimmer im Detail (Zimmerseite) */
.room-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(2rem,5vw,3.5rem) 0;border-bottom:1px solid var(--st-line);scroll-margin-top:90px}
.room-detail:last-child{border-bottom:0}
.room-detail:nth-child(even) .room-detail__media{order:2}
@media (max-width:860px){.room-detail{grid-template-columns:minmax(0,1fr)}.room-detail:nth-child(even) .room-detail__media{order:0}}
.room-detail__media{display:grid;grid-template-columns:2fr 1fr;gap:.6rem}
.room-detail__media img{width:100%;height:100%;object-fit:cover;border-radius:14px;display:block}
.room-detail__media img:first-child{aspect-ratio:4/3.4}
.room-detail__media img:last-child{aspect-ratio:auto}
.room-detail h2{font-size:clamp(2rem,3.2vw,2.7rem);margin:.2rem 0 .8rem}
.room-detail p{color:var(--st-ink-60)}
.room-feat{list-style:none;padding:0;margin:1.2rem 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem 1rem}
.room-feat li{position:relative;padding-left:1.5rem;font-size:.95rem}
.room-feat li::before{content:"";position:absolute;left:0;top:.45em;width:.8rem;height:.45rem;border-left:2px solid var(--st-teal-bright);border-bottom:2px solid var(--st-teal-bright);transform:rotate(-45deg)}
.room-detail__buy{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-top:1.4rem}

/* ---------- Ausstattung */
.fac-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}
@media (max-width:980px){.fac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.fac-grid{grid-template-columns:minmax(0,1fr)}}
.fac-card{background:#fff;border-radius:var(--st-radius);overflow:hidden;box-shadow:var(--st-shadow)}
.fac-card img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.fac-card__body{padding:1.1rem 1.2rem 1.3rem}
.fac-card h3{font-family:var(--st-serif);font-size:1.5rem;margin:0 0 .35rem;color:var(--st-ink)}
.fac-card p{margin:0;font-size:.93rem;color:var(--st-ink-60);line-height:1.55}

.perk-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media (max-width:900px){.perk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.perk{display:flex;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--st-line);border-radius:14px;padding:1rem}
.stay-section--teal .perk{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}
.perk svg{flex:0 0 34px;width:34px;height:34px;stroke:var(--st-teal-bright);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.stay-section--teal .perk svg{stroke:#9fd0d9}
.perk b{display:block;font-size:.98rem;margin-bottom:.15rem}
.perk span{font-size:.85rem;color:var(--st-ink-60);line-height:1.45}
.stay-section--teal .perk span{color:rgba(255,255,255,.72)}

/* ---------- Grundriss-Uebersicht (zwei Etagen) */
.floors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
@media (max-width:760px){.floors{grid-template-columns:minmax(0,1fr)}}
.floor{background:#fff;border-radius:var(--st-radius);padding:1.4rem;border:1px solid var(--st-line)}
.floor h3{font-family:var(--st-serif);font-size:1.6rem;margin:0 0 .8rem}
.floor ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
.floor li a{display:block;padding:.75rem .9rem;border-radius:12px;background:var(--st-mist);text-decoration:none;color:var(--st-ink);font-size:.9rem;line-height:1.3}
.floor li a:hover{background:var(--st-teal-soft)}
.floor li small{display:block;color:var(--st-ink-60);font-size:.78rem}

/* ---------- Pakete (nutzt .price-card aus dem Theme) */
.stay-pkgs .surf-pricing__grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:1180px}
@media (max-width:980px){.stay-pkgs .surf-pricing__grid{grid-template-columns:minmax(0,1fr) !important;max-width:560px}}
.price-card__flag{align-self:flex-start;background:var(--st-coral);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .7rem;border-radius:999px;margin-bottom:.4rem}
.stay-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--st-radius);overflow:hidden;box-shadow:var(--st-shadow);font-size:.95rem}
.stay-table th,.stay-table td{padding:.9rem 1rem;text-align:left;border-bottom:1px solid var(--st-line)}
.stay-table th{background:var(--st-mist);font-weight:600;color:var(--st-ink)}
.stay-table tr:last-child td{border-bottom:0}
.stay-table td:last-child,.stay-table th:last-child{text-align:right;white-space:nowrap}
.stay-table-wrap{overflow-x:auto}

/* ---------- Buchung */
.bk{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.6rem;align-items:start}
@media (max-width:900px){.bk{grid-template-columns:minmax(0,1fr)}}
.bk-card{background:#fff;border-radius:var(--st-radius);box-shadow:var(--st-shadow);padding:clamp(1.1rem,2.5vw,1.6rem)}
.bk-card h3{font-family:var(--st-serif);font-size:1.6rem;margin:0 0 .9rem;color:var(--st-ink)}
.bk-step{display:inline-flex;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--st-teal);color:#fff;font-family:var(--st-sans);font-size:.85rem;font-weight:700;align-items:center;justify-content:center;margin-right:.5rem;vertical-align:.2em}
.bk-controls{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:.7rem;margin-bottom:1rem}
.bk-controls [hidden]{display:none}
.bk-pkg-info{font-size:.85rem;color:var(--st-ink-60);background:var(--st-mist);border-radius:10px;padding:.7rem .9rem;margin:-.3rem 0 1rem;line-height:1.5}
.bk-pkg-info:empty{display:none}
.bk-pkg-info b{color:var(--st-ink)}
.bk-pkg-info span{display:block;color:var(--st-teal-bright);font-weight:600;margin-top:.2rem}
.bk label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:600;color:var(--st-ink-60);letter-spacing:.02em}
.bk select,.bk input,.bk textarea{font:inherit;font-size:.95rem;color:var(--st-ink);border:1px solid var(--st-line);border-radius:10px;padding:.65rem .75rem;background:#fff;width:100%;box-sizing:border-box}
.bk select:focus,.bk input:focus,.bk textarea:focus{outline:2px solid var(--st-teal-bright);outline-offset:1px;border-color:transparent}
.bk-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
@media (max-width:560px){.bk-months{grid-template-columns:minmax(0,1fr)}.bk-month:nth-child(2){display:none}}
.bk-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}
.bk-nav button{width:36px;height:36px;border-radius:50%;border:1px solid var(--st-line);background:#fff;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--st-ink)}
.bk-nav button:disabled{opacity:.3;cursor:default}
.bk-month h4{text-align:center;font-family:var(--st-sans);font-size:.95rem;font-weight:600;margin:.2rem 0 .6rem;color:var(--st-ink)}
.bk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.bk-dow{font-size:.7rem;text-align:center;color:var(--st-ink-60);padding:.2rem 0;font-weight:600}
.bk-day{position:relative;aspect-ratio:1;border:0;border-radius:9px;background:#e6f2ef;color:var(--st-ink);font:inherit;font-size:.85rem;cursor:pointer;padding:0;transition:background .15s ease}
.bk-day:hover:not(:disabled){background:var(--st-teal-soft)}
.bk-day[data-s="few"]{background:#fbeede}
.bk-day[data-s="few"]::after{content:"";position:absolute;top:4px;right:4px;width:5px;height:5px;border-radius:50%;background:#d98a3a}
.bk-day[data-s="full"]{background:#f6e3df;color:#b8aaa6;text-decoration:line-through}
.bk-day:disabled{cursor:default}
.bk-day[data-s="closed"]{background:transparent;color:#c7d0d2}
.bk-day.is-range{background:var(--st-teal-soft);border-radius:0}
.bk-day.is-start,.bk-day.is-end{background:var(--st-teal) !important;color:#fff !important;text-decoration:none}
.bk-day.is-start{border-radius:9px 0 0 9px}
.bk-day.is-end{border-radius:0 9px 9px 0}
.bk-day.is-start.is-end{border-radius:9px}
.bk-empty{aspect-ratio:1}
.bk-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1rem;font-size:.78rem;color:var(--st-ink-60)}
.bk-legend i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:.35rem;vertical-align:-1px}
.bk-summary{margin-top:1rem;padding:.9rem 1rem;border-radius:12px;background:var(--st-mist);font-size:.92rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.bk-summary b{color:var(--st-ink)}
.bk-msg{margin:.8rem 0 0;padding:.75rem 1rem;border-radius:10px;background:#fbeede;color:#8a4b12;font-size:.9rem}
.bk-msg:empty{display:none}
.bk-rooms{display:flex;flex-direction:column;gap:.7rem}
.bk-room{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:.9rem;align-items:center;border:1.5px solid var(--st-line);border-radius:14px;padding:.6rem;cursor:pointer;background:#fff;text-align:left;font:inherit;color:inherit;width:100%;transition:border-color .2s ease,box-shadow .2s ease}
.bk-room:hover:not(:disabled){border-color:var(--st-teal-bright)}
.bk-room.is-selected{border-color:var(--st-teal);box-shadow:0 0 0 3px rgba(20,128,143,.15)}
.bk-room:disabled{opacity:.5;cursor:not-allowed}
.bk-room img{width:92px;height:70px;object-fit:cover;border-radius:10px;display:block}
.bk-room b{display:block;font-size:1rem;color:var(--st-ink)}
.bk-room small{display:block;color:var(--st-ink-60);font-size:.8rem;line-height:1.35}
.bk-room__price{text-align:right;font-size:.78rem;color:var(--st-ink-60);white-space:nowrap}
.bk-room__price b{font-size:1rem}
.bk-room__left{color:#b3652b;font-weight:600}
@media (max-width:520px){.bk-room{grid-template-columns:72px minmax(0,1fr);gap:.4rem .8rem;align-items:start}.bk-room img{width:72px;height:60px;grid-row:span 2}.bk-room__price{text-align:left;display:flex;gap:.5rem;align-items:baseline}}
.bk-placeholder{color:var(--st-ink-60);font-size:.92rem;padding:1.4rem;text-align:center;border:1.5px dashed var(--st-line);border-radius:14px}
.bk-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1.2rem}
.bk-form .bk-full{grid-column:1/-1}
@media (max-width:520px){.bk-form{grid-template-columns:minmax(0,1fr)}}
.bk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-total{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.1rem 0 .8rem;padding-top:1rem;border-top:1px solid var(--st-line);font-size:.9rem;color:var(--st-ink-60)}
.bk-total b{font-size:1.3rem;color:var(--st-ink);white-space:nowrap}
.bk-note{font-size:.8rem;color:var(--st-ink-60);margin:.6rem 0 0;text-align:center}
.bk-done{grid-column:1/-1;max-width:640px;width:100%;margin:0 auto;text-align:center;padding:2rem 1.5rem !important}
.bk-done svg{width:64px;height:64px;stroke:var(--st-teal-bright);fill:none;stroke-width:1.8}
.bk-done h3{margin-top:.6rem}
.bk-ref{display:inline-block;font-family:ui-monospace,Menlo,monospace;background:var(--st-mist);padding:.35rem .7rem;border-radius:8px;font-weight:600}
.bk .st-btn{width:100%;padding:.95rem 1.2rem;font-size:1rem}

/* ---------- Kurze Zitat-/Info-Leiste */
.stay-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 2rem;font-size:.9rem;color:var(--st-ink-60);margin-top:1.4rem}
.stay-strip span::before{content:"✓";color:var(--st-teal-bright);font-weight:700;margin-right:.4rem}

/* ---------- Bild + Text */
.stay-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.stay-split img{width:100%;border-radius:var(--st-radius);display:block;aspect-ratio:4/3;object-fit:cover}
@media (max-width:860px){.stay-split{grid-template-columns:minmax(0,1fr)}}

/* ---------- FAQ (gleiche Optik wie /faqs/) */
.stay-faq{display:flex;flex-direction:column;gap:12px;max-width:860px;margin:0 auto}
.stay-faq details{background:#fff;border:1px solid #e3ecee;border-radius:16px;padding:0 22px;transition:border-color .25s ease,box-shadow .25s ease}
.stay-faq details[open]{border-color:var(--st-teal-bright);box-shadow:0 8px 26px rgba(20,128,143,.12);padding-bottom:18px}
.stay-faq summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:700;color:var(--st-ink);display:flex;justify-content:space-between;gap:1rem}
.stay-faq summary::-webkit-details-marker{display:none}
.stay-faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--st-teal-bright);transition:transform .25s ease}
.stay-faq details[open] summary::after{transform:rotate(45deg)}
.stay-faq p{margin:0;color:var(--st-ink-60)}

/* ---------- Pakete nach Kala-Vorbild */
.price-card__level{margin:-.2rem 0 .2rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--st-teal-bright)}
.pkg-upgrade{max-width:1180px;margin:2rem auto 0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:2rem;align-items:center;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--st-radius);padding:clamp(1.3rem,3vw,2.2rem);text-align:left}
.pkg-upgrade h3{font-family:var(--st-serif);font-size:2rem;margin:.1rem 0 .5rem;color:#fff}
.pkg-upgrade p{color:rgba(255,255,255,.8);margin:0 0 .8rem}
.pkg-upgrade ul{margin:0;padding-left:1.1rem;columns:2;column-gap:1.5rem;color:rgba(255,255,255,.85);font-size:.92rem}
.pkg-upgrade__price{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}
.pkg-upgrade__price span{font-size:.85rem;color:rgba(255,255,255,.7)}
.pkg-upgrade__price b{font-family:var(--st-serif);font-size:2rem;color:#fff;font-weight:500}
.pkg-upgrade__price .st-btn{margin-top:.8rem}
@media (max-width:860px){.pkg-upgrade{grid-template-columns:minmax(0,1fr)}.pkg-upgrade ul{columns:1}}
.stay-table--compare th:not(:first-child),.stay-table--compare td:not(:first-child){text-align:center !important}
.stay-table--compare td:not(:first-child){color:var(--st-teal-bright);font-weight:700}

/* ---------- Hero-Welle in der Farbe des folgenden Abschnitts
   Das Theme malt die Wellenkante unter dem Hero fest weiss. Folgt ein farbiger
   Abschnitt, entstand ein weisser Streifen. */
.page-stay .disini-hero + *{margin-top:0 !important}
.disini-hero--to-teal::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 26' preserveAspectRatio='none'%3E%3Cpath d='M0 16 C 240 27 430 4 720 13 C 1010 22 1240 5 1440 13 L1440 26 L0 26 Z' fill='%230d505d'/%3E%3C/svg%3E") !important}
.disini-hero--to-mist::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 26' preserveAspectRatio='none'%3E%3Cpath d='M0 16 C 240 27 430 4 720 13 C 1010 22 1240 5 1440 13 L1440 26 L0 26 Z' fill='%23f0f5fa'/%3E%3C/svg%3E") !important}

/* ---------- Untermenue: Box so breit wie der laengste Eintrag, jeder Eintrag einzeilig.
   Nur im Desktop-Menue, das mobile Overlay bleibt wie es ist. */
@media (min-width:600px){
  .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container{width:max-content !important;max-width:none !important}
  .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__label{white-space:nowrap}
}

/* ---------- Untermenue in Tinten-Petrol statt Schwarz (#1a1a1a aus dem Theme).
   Hover in heller Koralle: die Button-Koralle #b95c47 waere auf #123a41 zu
   kontrastarm (ca. 2,6:1), #f0a28f liegt bei ca. 6:1. */
@media (min-width:600px){
  .site-header .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__submenu-container{
    background:#123a41;border-radius:10px;padding:8px 0;
    box-shadow:0 18px 44px rgba(9,34,39,.38),0 2px 6px rgba(9,34,39,.2)}
  .site-header .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__submenu-container .wp-block-navigation-item a{
    transition:color .15s ease,background-color .15s ease}
  .site-header .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover,
  .site-header .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__submenu-container .wp-block-navigation-item a:focus-visible{
    background:rgba(255,255,255,.05);color:#f0a28f !important}
  .site-header .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__submenu-container .wp-block-navigation-item a:focus-visible{
    outline:2px solid #f0a28f;outline-offset:-2px}
}

/* ---------- Fixierte Navigation (nur Desktop)
   Oben auf der Seite unveraendert transparent ueber dem Hero. Ab etwas Scrollen
   (Klasse .is-stuck, gesetzt von stay-header.js) Tinten-Petrol wie das Untermenue. */
@media (min-width:782px){
  header.site-header{position:fixed !important;top:0;left:0;right:0;
    transition:background-color .25s ease,padding .25s ease,box-shadow .25s ease}
  header.site-header.is-stuck{background:rgba(18,58,65,.96);padding-top:12px !important;padding-bottom:12px !important;
    box-shadow:0 6px 24px rgba(9,34,39,.25)}
  html{scroll-padding-top:80px}
}
@media (min-width:782px) and (prefers-reduced-motion:reduce){
  header.site-header{transition:none}
}

/* Kopfmenue (Desktop): weisse Linie unter dem Hauptpunkt beim Ueberfahren
   und unter dem Bereich, in dem man sich gerade befindet (.is-current, setzt stay-header.js). */
@media (min-width:1000px){
.site-header .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content{position:relative}
.site-header .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:3px;border-radius:2px;background:#fff;transform:scaleX(0);transform-origin:center;transition:transform .22s ease}
.site-header .wp-block-navigation__container>.wp-block-navigation-item>.wp-block-navigation-item__content:hover{text-decoration:none}
.site-header .wp-block-navigation__container>.wp-block-navigation-item:hover>.wp-block-navigation-item__content::after,
.site-header .wp-block-navigation__container>.wp-block-navigation-item:focus-within>.wp-block-navigation-item__content::after,
.site-header .wp-block-navigation__container>.wp-block-navigation-item.is-current>.wp-block-navigation-item__content::after{transform:scaleX(1)}
}
@media (prefers-reduced-motion:reduce){.site-header .wp-block-navigation-item__content::after{transition:none}}

/* "Book now" in der Kopfleiste, oeffnet WhatsApp (auf jeder Seite). Weisser Text wie die
   Menuepunkte; Schriftgroesse/-art uebernimmt stay-header.js vom Menuepunkt "About Us". */
.header-book{position:relative;display:inline-flex;align-items:center;margin-right:22px;padding:0;background:none;color:#fff !important;font-size:inherit;line-height:1.2;white-space:nowrap;text-decoration:none !important}
.header-book::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:3px;border-radius:2px;background:#fff;transform:scaleX(0);transition:transform .22s ease}
.header-book:hover::after,.header-book:focus-visible::after{transform:scaleX(1)}
@media (max-width:999px){.header-book{margin-right:12px}}

/* Stay-Heros (mit "Opening October 2026"-Plakette): Inhalt beginnt unterhalb der
   Kopfleiste, sonst rutscht die Plakette bei niedrigen Fenstern unter das Menue. */
@media (min-width:782px){.wp-block-cover.disini-hero.disini-hero--center{padding-top:150px}}

/* Startseite, Abschnitt "Selamat datang": ruhigere Typografie. Serifen nur fuer die
   Ueberschrift, Text in einer schmalen Spalte (ca. 70 Zeichen statt Bildschirmbreite). */
.disini-welcome>p:not(.disini-eyebrow){max-width:1000px;margin-left:auto;margin-right:auto}
.disini-welcome>p.disini-lead{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
.disini-welcome>p.disini-lead em{font-style:normal;font-weight:600}

/* Preiskarten am Handy: "5 Sessions" nicht umbrechen, "per person" unter den Preis */
.price-card__rows span{white-space:nowrap}
@media (max-width:520px){.price-card__rows b{text-align:right}.price-card__rows b em{display:block;margin-left:0;line-height:1.2}}

/* Abstaende angeglichen 10/2026: alle Inhaltsabschnitte wie die Block-Abschnitte
   (spacing-60 = 112px am Desktop, schrumpft am Handy mit), Abschluesse mit Foto
   einheitlich etwas grosszuegiger (spacing-70). Nur Staging. */
.stay-section,main>.disini-day-section,.surf-levels,.surf-cal,.dk-contact{padding-top:var(--wp--preset--spacing--60)!important;padding-bottom:var(--wp--preset--spacing--60)!important}
.dk-map-full{padding-bottom:var(--wp--preset--spacing--60)!important}
.disini-cta-bg,.exp-cta-bg,.mem-cta-bg,.wx-cta-bg,.ab-cta-bg{padding-top:var(--wp--preset--spacing--70)!important;padding-bottom:var(--wp--preset--spacing--70)!important}
.surf-cal>.disini-rule{margin:0 auto 18px}

/* Titelbild-Verlauf global (10/2026): dunkler Verlauf von links fuer alle Seiten mit .surf-hero */
.surf-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(8,32,38,.78) 0%,rgba(8,32,38,.5) 45%,rgba(8,32,38,.12) 80%) !important;opacity:1 !important}

/* Einheitlich mit Startseite/Coaching-Seiten (11/2026): Kicker auf hellem Grund in Petrol,
   FAQ als Karten mit rundem Plus links (wie .disini-faq). */
.stay-section:not(.stay-section--teal) .disini-eyebrow{color:#0d505d}
.stay-faq{max-width:920px;gap:14px;text-align:left}
.stay-faq details{background:#fff;border:1px solid #e3ecee;border-radius:16px;box-shadow:0 1px 3px rgba(18,58,65,.05);padding:0 24px;transition:border-color .25s ease,box-shadow .25s ease}
.stay-faq details:not([open]):hover{border-color:#cfe0e3}
.stay-faq details[open]{border-color:#14808f;box-shadow:0 8px 26px rgba(20,128,143,.12);padding-bottom:22px}
.stay-faq summary{font-family:var(--wp--preset--font-family--sans);display:flex;align-items:center;justify-content:flex-start;gap:14px;padding:20px 0;font-weight:700;font-size:clamp(1rem,.96rem + .25vw,1.12rem);line-height:1.3;color:#123a41;transition:color .2s ease}
.stay-faq summary::marker{content:""}
.stay-faq summary::after,.stay-faq details[open] summary::after{content:none!important;display:none!important}
.stay-faq summary::before{content:"";flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:linear-gradient(#123a41,#123a41) center/14px 2px no-repeat,linear-gradient(#123a41,#123a41) center/2px 14px no-repeat,#e8f3f5;transition:background-color .2s ease}
.stay-faq details[open] summary{color:#14808f;border-bottom:1px solid #edf3f4;padding-bottom:16px}
.stay-faq details[open] summary::before{background:linear-gradient(#fff,#fff) center/14px 2px no-repeat,#14808f}
.stay-faq details>p{margin:16px 0 0;color:#5c6b6f;font-size:1rem;line-height:1.75}

/* Service-Karten: Text als Block, damit die Zeilenhoehe greift */
.perk span{display:block;line-height:1.55!important}
a.perk--link{color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s}
a.perk--link:hover{border-color:var(--st-teal-bright);box-shadow:0 6px 18px rgba(13,80,93,.08)}
