/*
Theme Name: DISINI v3
Theme URI: https://www.disini.surf/
Author: DISINI Surf House
Description: Block theme for DISINI Surf House — the live site's look (Cormorant Garamond + Jost, brand teals) gently modernized. Editorial, boutique, coastal.
Version: 1.7.9
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: disini-v3
*/

/* ===================================================================
   Basis
=================================================================== */
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
/* Kein weisser Balken zwischen Content-Ende und Footer (Root-Block-Gap aus) */
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
.wp-block-post-content > :last-child { margin-bottom: 0 !important; }
html, body { overflow-x: hidden; overflow-x: clip; }
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
img { height: auto; }

/* Cormorant ist zierlich — Headings brauchen etwas Fülle */
h1, h2, h3, h4, .disini-lead, .disini-faq summary { font-feature-settings: "liga" 1, "dlig" 1; }

/* ===================================================================
   Header — transparent über dem Hero
=================================================================== */
.site-header {
	position: absolute;
	top: 0; left: 0; right: 0;
	z-index: 60;
	padding: 24px clamp(20px, 4vw, 52px);
	background: linear-gradient(rgba(11, 43, 49, 0.5), rgba(11, 43, 49, 0));
}
.admin-bar .site-header { top: 32px; }
.site-header a { color: #fff; text-decoration: none; }
.site-header .site-brand { display: inline-flex; align-items: center; }
.site-header .site-brand img { width: 112px; height: auto; display: block; }
/* Navi exakt wie Live: Jost, 15px, GROSS, weiss */
.site-header .wp-block-navigation a,
.site-header .wp-block-navigation .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #fff !important;
}
.site-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > a:hover,
.site-header .wp-block-navigation > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--teal-soft); text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }

/* Dropdown-Pfeile weiss auf transparentem Header.
   Der Icon-Span sitzt direkt im <li> (nicht im <a>) und erbt sonst dessen Ink-Farbe —
   deshalb explizit weiss setzen (SVG-Pfad nutzt stroke=currentColor). */
.site-header .wp-block-navigation .wp-block-navigation__submenu-icon,
.site-header .wp-block-navigation .wp-block-navigation-submenu__toggle { color: #fff; }
.site-header .wp-block-navigation .wp-block-navigation__submenu-icon svg { fill: currentColor; stroke: currentColor; }

/* Dropdown-Flyout (Desktop) — wie Live: weisse Jost-Punkte auf dunklem Panel #1a1a1a */
.site-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: #1a1a1a;
	border: none;
	border-radius: 2px;
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.32);
	padding: 10px 0;
	min-width: 262px;
	margin-top: 14px;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.18s ease, transform 0.18s ease;
	transform: translateY(6px);
	pointer-events: none;
}
.site-header .wp-block-navigation .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
.site-header .wp-block-navigation .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
/* unsichtbare Hover-Bruecke, damit der Flyout beim Runterfahren nicht schliesst */
.site-header .wp-block-navigation .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container::before {
	content: ""; position: absolute; top: -12px; left: 0; right: 0; height: 12px;
}
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a,
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: rgba(255,255,255,0.9) !important;
	font-family: var(--wp--preset--font-family--sans) !important;
	text-transform: none;
	letter-spacing: normal;
	font-size: 16px;
	font-weight: 400;
	padding: 9px 26px;
}
.site-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:hover {
	color: var(--wp--preset--color--teal-bright) !important;
	background: rgba(255,255,255,0.06);
	text-decoration: none;
}
/* Book Now — gefuellter Teal-Button wie Live (Jost 14px/600/uppercase) */
.site-header .header-cta a {
	background: var(--wp--preset--color--teal);
	border: 1px solid var(--wp--preset--color--teal);
	color: #fff;
	border-radius: 6px;
	padding: 11px 32px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.site-header .header-cta a:hover { background: var(--wp--preset--color--teal-bright); border-color: var(--wp--preset--color--teal-bright); color: #fff; text-decoration: none; }

/* Sprachumschalter (GTranslate) wie Live — weiss, klein, Jost */
.site-header .header-lang { display: flex; align-items: center; }
.site-header .header-lang .gtranslate_wrapper,
.site-header .header-lang .gt_container--nn7bzm { display: flex; align-items: center; }
.site-header .header-lang select,
.site-header .header-lang .gt_selector {
	background: transparent;
	color: #fff !important;
	border: none;
	outline: none;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: normal;
	cursor: pointer;
	padding: 4px 6px;
}
.site-header .header-lang select option { color: #1a1a1a; text-transform: none; }
/* GTranslate-Flaggen/Dropdown-Varianten weiss faerben */
.site-header .header-lang a,
.site-header .header-lang .gt-current-lang,
.site-header .header-lang span { color: #fff !important; font-family: var(--wp--preset--font-family--sans); font-size: 15px; }

/* Nav frueher kollabieren */
@media (max-width: 999px) {
	.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.site-header .wp-block-navigation__responsive-container-open { display: flex !important; }
}
.wp-block-navigation__responsive-container.has-modal-open { background-color: var(--wp--preset--color--ink) !important; }
.wp-block-navigation__responsive-container.has-modal-open a { color: #fff !important; font-size: 1.4rem; font-family: var(--wp--preset--font-family--serif); letter-spacing: 0.02em; }
.wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-content {
	padding: 4rem 2rem 2rem;
	align-items: flex-start !important;
}
/* Untermenues im Mobil-Overlay: dauerhaft ausgeklappt (JS-unabhaengig), transparent, weiss */
.wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 4px 0 10px !important;
	min-width: 0 !important;
	position: static !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
	transform: none !important;
	pointer-events: auto !important;
}
/* Chevron-Toggle im Overlay ausblenden (Untermenues sind ohnehin offen) */
.wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-icon { display: none !important; }
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container .wp-block-navigation-item a,
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container a {
	color: rgba(255,255,255,0.82) !important;
	background: transparent !important;
	font-size: 1rem !important;
	font-family: var(--wp--preset--font-family--sans) !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	font-weight: 400 !important;
	padding: 5px 0 5px 18px !important;
}
.wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container {
	align-items: flex-start !important;
	gap: 1.5rem;
}
.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg { fill: #fff; width: 30px; height: 30px; }

/* ===================================================================
   Heros — editorial (Titel unten links, wie Live)
=================================================================== */
.disini-hero { position: relative; }
.disini-hero .wp-block-cover__inner-container {
	display: flex; flex-direction: column; justify-content: flex-end;
	min-height: inherit;
	padding: 0 clamp(20px, 4vw, 52px) clamp(44px, 7vh, 80px);
	max-width: 1400px; margin: 0 auto;
}
.disini-hero::after {
	content: "";
	position: absolute; inset: auto 0 0 0; height: 48%;
	background: linear-gradient(rgba(11, 43, 49, 0), rgba(11, 43, 49, 0.6));
	pointer-events: none;
}
.disini-hero .wp-block-cover__inner-container > * { position: relative; z-index: 2; }
.disini-hero h1 { max-width: 16ch; letter-spacing: -0.01em; }

/* Lesbarkeits-Ebene über ALLEN Header-Bildern (Holger: schwarz, 15%) */
.disini-hero::before {
	content: "";
	position: absolute; inset: 0;
	background: rgba(0, 0, 0, 0.15);
	z-index: 1;
	pointer-events: none;
}
/* Text-Schatten für zusätzlichen Kontrast auf hellen Bildstellen */
.disini-hero h1, .disini-hero .disini-lead, .disini-hero .disini-eyebrow {
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

/* Zentrierter Hero (Startseite) — wie Live */
.disini-hero--center .wp-block-cover__inner-container {
	justify-content: center;
	align-items: center;
	text-align: center;
	padding-bottom: clamp(44px, 7vh, 80px);
}
.disini-hero--center h1 { max-width: 20ch; margin-left: auto; margin-right: auto; }
.disini-hero--center .disini-lead { max-width: 62ch; margin-left: auto; margin-right: auto; }

/* Eyebrow — Jost, weit gesperrt; Body = Teal wie Live, auf dunkel = weiss wie Live */
.disini-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.9rem !important;
	font-weight: 600;
	letter-spacing: 4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal);
}
.disini-hero .disini-eyebrow, .has-ink-background-color .disini-eyebrow { color: #fff; letter-spacing: 6px; font-size: 0.8rem !important; }

/* "More about me"-Link — Terrakotta, 13px, GROSS (wie Live) */
.disini-more-link a {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: #b95c47 !important;
	text-decoration: none;
}
.disini-more-link a::after { content: " →"; }
.disini-more-link a:hover { text-decoration: underline; text-underline-offset: 4px; }

/* ===================================================================
   Daffa-Intro — 1:1 wie Live (.daffa-intro)
=================================================================== */
.daffa-intro {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: space-between;
	gap: 55px;
	padding: 40px 0;
}
.daffa-intro .daffa-photo {
	width: 340px;
	align-self: stretch;
	border-radius: 16px;
	object-fit: cover;
	object-position: center 60%;
	flex-shrink: 0;
	box-shadow: 0 14px 34px rgba(11, 43, 49, 0.16);
}
.daffa-intro .daffa-text { flex: 1; text-align: left; }
.daffa-intro h2 {
	font-size: clamp(28px, 4vw, 48px);
	font-weight: 600;
	color: #111;
	margin: 0 0 12px;
	line-height: 1.1;
	letter-spacing: -0.5px;
}
.daffa-intro .daffa-role {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #0d5053;
	margin-bottom: 24px;
}
.daffa-intro p { font-size: 17px; line-height: 1.75; color: #444; margin-bottom: 18px; }
@media (max-width: 768px) {
	.daffa-intro { flex-direction: column; text-align: center; padding: 40px 24px; }
	.daffa-intro .daffa-photo { width: 100%; height: 440px; align-self: auto; }
	.daffa-intro .daffa-text, .daffa-intro p { text-align: center; }
}

/* Lead — Cormorant, groß & elegant.
   KEINE eigene max-width / margin im Body: der Lead soll exakt in derselben
   Spalte wie seine Geschwister-Absätze liegen (kein Links-Versatz). Nur die
   Hero-Leads bekommen unten ihre eigene, engere Breite. */
.disini-lead {
	font-family: var(--wp--preset--font-family--serif);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
	line-height: 1.4;
}
.disini-hero .disini-lead { max-width: 46ch; }

/* Full-bleed Hintergrund-Sektionen — OHNE 100vw (Scrollbar-/iOS-sicher):
   der Post-Content ist randlos, 100% reicht für volle Breite */
.wp-block-post-content > .wp-block-group.has-background {
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* Transplantierte Live-Inseln ebenfalls von 100vw-Tricks befreien */
.dst-section, .dsm2-section {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
/* zentriert (nicht linksbündig) — Full-Bleed-Hintergrund kommt vom box-shadow des Liveblocks;
   margin:auto killt das -15px des Liveblocks UND hält die Sektion mittig (Fix Perfect-Day-Linksversatz) */
.disini-day-section { margin-left: auto !important; margin-right: auto !important; }
/* Kein Abstand ueber dem ersten Element einer Seite (transplantierte Inseln bringen eigene Margins mit) */
.wp-block-post-content > :first-child,
.wp-block-post-content > :first-child > :first-child,
.mdw, .mdw-hero {
	margin-top: 0 !important;
}

/* ===================================================================
   Karten — 14px, feine Haarlinie
=================================================================== */
.disini-card {
	position: relative;
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	height: 100%;
}
.disini-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(11, 43, 49, 0.12);
	border-color: transparent;
}
.disini-card img { width: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
/* sanfter Bild-Zoom beim Hover (wie c-p.cloud) — wird durch overflow:hidden der Karte beschnitten */
.disini-card:hover img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .disini-card:hover img { transform: none; } }
.disini-card .disini-card-body { padding: 24px 26px 28px; }
.disini-card h3 { letter-spacing: 0; }
.disini-card h3 a { color: inherit; text-decoration: none; }
.disini-card h3 a::after { content: ""; position: absolute; inset: 0; }
.disini-card-link {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--teal);
}

/* Karten-Icons (Marken-Stroke-SVGs, wie die Original-Icons der Live-Seite).
   img.disini-card-ico noetig: schlaegt .disini-card img (width:100%) per Spezifitaet;
   ebenso vom Bild-Zoom-Hover der Karten ausnehmen. */
.disini-card img.disini-card-ico {
	width: 42px;
	height: 42px;
	display: block;
	margin: 2px 0 14px;
	object-fit: contain;
}
.disini-card:hover img.disini-card-ico { transform: none; }

/* Social-Icons im Footer (Instagram/Facebook/TikTok wie auf der Live-Seite) */
.disini-social { display: flex; gap: 16px; margin-top: 18px; }
.disini-social a {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	color: rgba(255, 255, 255, 0.8);
	transition: color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
.disini-social a:hover { color: #fff; border-color: #fff; transform: translateY(-2px); }
.disini-social svg { width: 17px; height: 17px; display: block; }

/* Gefüllte Karten-Variante (farbig hinterlegt) — z.B. Method-Sektion /surf-coach-daffa/ */
.disini-card.is-fill {
	background: var(--wp--preset--color--teal);
	border-color: transparent;
	box-shadow: 0 22px 48px -28px rgba(13, 80, 93, 0.65);
}
.disini-card.is-fill:hover { box-shadow: 0 26px 54px -26px rgba(13, 80, 93, 0.75); }
.disini-card.is-fill h3,
.disini-card.is-fill h3 a { color: #ffffff; }
.disini-card.is-fill .disini-card-body p { color: rgba(255, 255, 255, 0.86); }
.disini-card.is-fill .disini-eyebrow { color: #9fd0d9; }

/* Gold-Sterne-Rating in der Daffa-Bio */
.daffa-intro .daffa-rating { color: #d99a3c; letter-spacing: 2px; font-size: 0.95rem; margin: -14px 0 22px; }
.daffa-intro .daffa-rating span {
	color: var(--wp--preset--color--ink-60); letter-spacing: normal;
	font-family: var(--wp--preset--font-family--sans); font-size: 0.8rem; margin-left: 6px;
}
@media (max-width: 768px) { .daffa-intro .daffa-rating { text-align: center; margin: 0 0 18px; } }

/* ===================================================================
   Buttons — 6px, Outline-Variante
=================================================================== */
.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1px solid currentColor;
	color: var(--wp--preset--color--ink);
}
/* Gefüllter Koralle-Button (2. Farbe neben Teal) */
.wp-block-button__link.has-coral-background-color {
	background-color: var(--wp--preset--color--coral) !important;
	color: #fff !important;
	border: none;
}
.wp-block-button__link.has-coral-background-color:hover { background-color: #a44d3b !important; }

/* ===================================================================
   Lightbox — Galeriebilder als Overlay (assets/js/disini-lightbox.js)
=================================================================== */
figure.wp-block-image img[data-disini-lb] { cursor: zoom-in; }
figure.wp-block-image img[data-disini-lb]:focus-visible { outline: 2px solid var(--wp--preset--color--teal-bright); outline-offset: 3px; }

html.disini-lb-open { overflow: hidden; }

.disini-lb {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4vmin;
	background: rgba(11, 43, 49, 0.94);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.disini-lb[hidden] { display: none; }
.disini-lb.is-open { opacity: 1; }

.disini-lb__stage {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	max-width: 100%;
	max-height: 100%;
}
.disini-lb__img {
	max-width: min(1400px, 92vw);
	max-height: 80vh;
	width: auto;
	height: auto;
	border-radius: 14px;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
}
.disini-lb__cap {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.85rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.72);
	text-align: center;
	max-width: 70ch;
}
.disini-lb__cap[hidden] { display: none; }

/* Nur fuer Screenreader: Bildbeschreibung + Position, aktualisiert bei jedem Blaettern */
.disini-lb__live {
	position: absolute;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.disini-lb__count {
	position: absolute;
	top: 24px;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.75rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
}
.disini-lb__count[hidden] { display: none; }

.disini-lb__btn {
	position: absolute;
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.2s ease;
}
.disini-lb__btn[hidden] { display: none; }
.disini-lb__btn:hover { background: rgba(255, 255, 255, 0.24); }
.disini-lb__btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.disini-lb__btn svg { width: 20px; height: 20px; }

.disini-lb__close { top: 20px; right: 20px; }
.disini-lb__close:hover { transform: scale(1.06); }
.disini-lb__prev { left: 20px; top: 50%; transform: translateY(-50%); }
.disini-lb__next { right: 20px; top: 50%; transform: translateY(-50%); }
.disini-lb__prev:hover { transform: translateY(-50%) scale(1.06); }
.disini-lb__next:hover { transform: translateY(-50%) scale(1.06); }

@media (max-width: 600px) {
	.disini-lb { padding: 12px; }
	.disini-lb__btn { width: 42px; height: 42px; }
	.disini-lb__prev { left: 8px; }
	.disini-lb__next { right: 8px; }
	.disini-lb__close { top: 12px; right: 12px; }
	.disini-lb__img { max-height: 70vh; }
}
@media (prefers-reduced-motion: reduce) {
	.disini-lb, .disini-lb__btn { transition: none; }
}
.has-ink-background-color .is-style-outline .wp-block-button__link,
.disini-hero .is-style-outline .wp-block-button__link { color: #fff; }
.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; border-color: var(--wp--preset--color--ink); }
.disini-hero .is-style-outline .wp-block-button__link:hover,
.has-ink-background-color .is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); border-color: #fff; }

/* ===================================================================
   FAQ (core/details) — Cormorant-Fragen
=================================================================== */
.disini-faq .wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--line);
	padding: 22px 0;
}
.disini-faq .wp-block-details:first-child { border-top: 1px solid var(--wp--preset--color--line); }
.disini-faq summary {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.45rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 42px;
	line-height: 1.2;
}
.disini-faq summary::-webkit-details-marker { display: none; }
.disini-faq summary::after {
	content: "+";
	position: absolute; right: 2px; top: 50%; transform: translateY(-50%);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 1.5rem; font-weight: 300;
	color: var(--wp--preset--color--teal);
	transition: transform 0.2s ease;
}
.disini-faq details[open] summary::after { content: "–"; }
.disini-faq .wp-block-details > :not(summary) { margin-top: 12px; color: var(--wp--preset--color--ink-60); max-width: 68ch; }

/* ===================================================================
   Zahlen / Fakten
=================================================================== */
.disini-stat .disini-stat-number {
	font-family: var(--wp--preset--font-family--serif);
	font-size: clamp(2.8rem, 4.5vw, 4rem);
	font-weight: 500;
	line-height: 0.95;
	letter-spacing: -0.01em;
}
.disini-stat p:last-child {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.78rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--wp--preset--color--ink-60);
}
.has-ink-background-color .disini-stat p:last-child { color: rgba(255, 255, 255, 0.6); }

/* Testimonials */
.disini-quote {
	background: var(--wp--preset--color--paper);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	padding: 30px 30px 26px;
	height: 100%;
}
.disini-quote .stars { color: #d99a3c; letter-spacing: 2px; font-size: 0.95rem; }
.disini-quote p { font-family: var(--wp--preset--font-family--serif); font-size: 1.2rem; line-height: 1.45; }
.disini-quote cite {
	font-family: var(--wp--preset--font-family--sans);
	font-style: normal; font-size: 0.76rem; font-weight: 600;
	letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--wp--preset--color--ink-60);
}

/* Tabellen (Preise) */
.disini-pricing table { border-collapse: collapse; width: 100%; }
.disini-pricing th {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.78rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
	text-align: left; color: var(--wp--preset--color--ink-60);
	border-bottom: 2px solid var(--wp--preset--color--ink);
	padding: 13px 16px;
}
.disini-pricing td { padding: 15px 16px; border-bottom: 1px solid var(--wp--preset--color--line); }
.disini-pricing tr td:last-child { font-weight: 600; white-space: nowrap; }

/* Artikel (Single) */
.single-content { max-width: 760px !important; margin-left: auto; margin-right: auto; }
.single-content > p:first-of-type {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.5rem; line-height: 1.45;
}
.single-content h2 { margin-top: 2.2em; }

/* ===================================================================
   Video / Map / Check-Listen / IG-Kacheln
=================================================================== */
.disini-video {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 18px 44px rgba(11, 43, 49, 0.18);
	background: #0b2b31;
}
.disini-video iframe, .disini-video video {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	border: 0;
	object-fit: cover;
}
.disini-map iframe {
	width: 100%; height: 420px; border: 0;
	border-radius: 16px;
	box-shadow: 0 14px 34px rgba(11, 43, 49, 0.12);
}
ul.disini-check { list-style: none; padding-left: 0; margin: 8px 0 14px; }
ul.disini-check li {
	position: relative;
	padding-left: 24px;
	font-size: 0.92rem;
	color: var(--wp--preset--color--ink-60);
	margin-bottom: 5px;
	line-height: 1.5;
}
ul.disini-check li::before {
	content: "✓";
	position: absolute; left: 0; top: 0;
	color: var(--wp--preset--color--teal);
	font-weight: 700;
}
/* Instagram-Button wie Live (IG-Blau) */
.disini-ig-btn {
	display: inline-flex; align-items: center; gap: 8px;
	background: #0095f6; color: #fff !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px; font-weight: 600;
	padding: 10px 22px; border-radius: 8px;
	text-decoration: none;
	transition: background 0.2s ease;
}
.disini-ig-btn:hover { background: #1877f2; }

.disini-ig-tile { display: block; border-radius: 14px; overflow: hidden; }
.disini-ig-tile img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; transition: transform 0.3s ease; }
.disini-ig-tile:hover img { transform: scale(1.04); }

/* Feinschliff auf Farbbaendern: Karten ohne Rand (Schatten statt Haarlinie), warme Linien auf Sand */
.has-teal-soft-background-color .disini-card,
.has-sand-background-color .disini-card,
.has-mist-background-color .disini-card,
.has-teal-soft-background-color .disini-quote,
.has-sand-background-color .disini-quote,
.has-mist-background-color .disini-quote {
	border-color: transparent;
	box-shadow: 0 6px 20px rgba(11, 43, 49, 0.07);
}
.has-sand-background-color .disini-faq .wp-block-details { border-color: #e6dcc6; }

/* ===================================================================
   Design-Feinschliff: Trennlinie, Fakten-Karte, Zitat-Zeichen
=================================================================== */
/* Kurze Akzentlinie unter Sektions-Überschriften — bricht gestapelte Textblöcke auf */
.disini-rule {
	width: 46px; height: 3px;
	background: var(--wp--preset--color--teal-bright);
	border-radius: 2px;
	margin: 18px auto 22px;
}
.disini-rule.is-left { margin-left: 0; }
.has-ink-background-color .disini-rule, .disini-hero .disini-rule { background: #9fd0d9; }

/* Fakten-Streifen der Trip-Seiten — farbig gefasste Karte, überlappt den Hero */
.disini-facts {
	position: relative;
	z-index: 5;
	margin-top: -52px !important;
}
.disini-facts > .wp-block-group {
	background: var(--wp--preset--color--teal-soft);
	border-radius: 18px;
	padding: 30px 28px 26px;
	box-shadow: 0 18px 44px rgba(11, 43, 49, 0.14);
}
.disini-fact { text-align: center; }
.disini-fact .disini-fact-label {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 0.72rem !important;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal);
	margin-bottom: 4px;
}
.disini-fact .disini-fact-value {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
@media (max-width: 781px) {
	.disini-facts { margin-top: -36px !important; }
	.disini-facts > .wp-block-group { padding: 20px 14px 16px; }
	.disini-fact .disini-fact-value { font-size: 1.15rem; }
}

/* Zitat-Karten: dekoratives Anführungszeichen */
.disini-quote { position: relative; }
.disini-quote::before {
	content: "“";
	position: absolute;
	top: 6px; right: 20px;
	font-family: var(--wp--preset--font-family--serif);
	font-size: 5rem;
	line-height: 1;
	color: var(--wp--preset--color--teal-soft);
	pointer-events: none;
}

/* Journal-Kategorie-Filter (Tabs wie Live) */
.disini-cat-filter {
	display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
	margin-bottom: 2.2rem;
}
.disini-cat-filter a {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 13px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase;
	color: var(--wp--preset--color--ink-60);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 8px 18px;
	text-decoration: none;
	transition: all 0.2s ease;
}
.disini-cat-filter a:hover { color: var(--wp--preset--color--teal); border-color: var(--wp--preset--color--teal); }
.disini-cat-filter a.is-active { background: var(--wp--preset--color--teal); border-color: var(--wp--preset--color--teal); color: #fff; }

/* Kontaktformular (CF7) im Seiten-Stil */
.disini-cf7 .wpcf7 label { display: block; font-family: var(--wp--preset--font-family--sans); font-size: 14px; font-weight: 600; color: var(--wp--preset--color--ink); margin-bottom: 14px; }
.disini-cf7 .wpcf7 input[type="text"],
.disini-cf7 .wpcf7 input[type="email"],
.disini-cf7 .wpcf7 textarea {
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 8px;
	background: #fff;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	color: var(--wp--preset--color--ink);
}
.disini-cf7 .wpcf7 input:focus, .disini-cf7 .wpcf7 textarea:focus { outline: 2px solid var(--wp--preset--color--teal-bright); border-color: transparent; }
.disini-cf7 .wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--teal);
	color: #fff; border: none; border-radius: 6px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px; font-weight: 600; letter-spacing: 1.8px; text-transform: uppercase;
	padding: 13px 34px; cursor: pointer;
	transition: background 0.2s ease;
}
.disini-cf7 .wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--teal-bright); }
.disini-cf7 .wpcf7-response-output { border-radius: 8px; padding: 10px 14px; font-size: 14px; }

/* Schwebender WhatsApp-Button (wie Live) */
.disini-wa-float {
	position: fixed;
	right: 22px; bottom: 22px;
	z-index: 90;
	display: inline-flex; align-items: center; gap: 9px;
	background: #b95c47;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px; font-weight: 600; letter-spacing: 0.02em;
	padding: 12px 20px;
	border-radius: 999px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
	text-decoration: none;
	transition: opacity 0.35s ease, visibility 0.35s ease, transform 0.2s ease;
}
.disini-wa-float:hover { transform: translateY(-2px); }
html.disini-wa-hold .disini-wa-float { opacity: 0; visibility: hidden; }
@media (max-width: 600px) {
	.disini-wa-float { right: 14px; bottom: 14px; padding: 11px 16px; font-size: 13px; }
}

/* Footer */
.site-footer ul { list-style: none; padding-left: 0; }
.site-footer li { margin-bottom: 7px; }
.site-footer a { color: rgba(255, 255, 255, 0.85); text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.site-footer .footer-heading {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: 0.76rem !important; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
}
.site-footer .footer-legal { font-family: var(--wp--preset--font-family--sans); font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); }

/* ===================================================================
   MOBILE FIRST — Grid-Umbrüche (Core-Grids brechen sonst NIE um!)
=================================================================== */
@media (max-width: 781px) {
	.wp-site-blocks .is-layout-grid { grid-template-columns: 1fr !important; }
	/* Stats + Instagram-Kacheln: 2 Spalten statt 1 */
	.wp-site-blocks .is-layout-grid:has(.disini-stat),
	.wp-site-blocks .is-layout-grid:has(.disini-ig-tile) { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (min-width: 782px) and (max-width: 1023px) {
	.wp-site-blocks .is-layout-grid { grid-template-columns: repeat(2, 1fr) !important; }
	.wp-site-blocks .is-layout-grid:has(.disini-ig-tile) { grid-template-columns: repeat(3, 1fr) !important; }
}
/* Preistabellen scrollen statt quetschen */
.disini-pricing { overflow-x: auto; }
.disini-pricing table { min-width: 420px; }
/* Karte/Video mobil nicht zu hoch */
@media (max-width: 600px) {
	.disini-map iframe { height: 320px; }
}

/* Responsive */
@media (max-width: 781px) {
	.disini-hero .wp-block-cover__inner-container { padding-top: 110px; }
	.disini-hero h1 { font-size: clamp(2.6rem, 12vw, 3.4rem); }
	.site-header { padding: 16px 20px; }
	.site-header .site-brand { font-size: 1.5rem; }
}

/* ===================================================================
   Medewi Surf Report (mw-Widget, von Live transplantiert)
=================================================================== */

.medewi-weather *{box-sizing:border-box;margin:0;padding:0}
.medewi-weather{
  font-family:'Poppins','Segoe UI',-apple-system,sans-serif;
  max-width:1180px;margin:0 auto;padding:24px 16px 60px;color:#0e2a38;
}
.mw-hero{
  position:relative;border-radius:24px;overflow:hidden;
  background:linear-gradient(135deg,#b8e3e6 0%,#4fb3bf 100%);
  color:#0a3d47;padding:38px 32px;margin-bottom:28px;
  box-shadow:0 18px 40px -18px rgba(79,179,191,.55);
}
.mw-hero::after{content:"";position:absolute;right:-60px;bottom:-80px;width:280px;height:280px;
  background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%);border-radius:50%}
.mw-hero-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;position:relative;z-index:2}
.mw-loc .mw-report-title{font-size:2.1rem;font-weight:700;letter-spacing:.5px;line-height:1.1}
.mw-loc p{opacity:.85;font-size:.95rem;margin-top:4px}
.mw-updated{font-size:.78rem;opacity:.8;text-align:right}
.mw-now{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:26px;position:relative;z-index:2}
.mw-now-temp{font-size:4.2rem;font-weight:700;line-height:1;display:flex;align-items:flex-start}
.mw-now-temp small{font-size:1.6rem;margin-top:8px;font-weight:600;opacity:.8}
.mw-now-icon{font-size:3.4rem;line-height:1}
.mw-now-desc{font-size:1.05rem;opacity:.95}
.mw-now-desc{flex:1 1 220px;min-width:220px}.mw-now-desc strong{font-size:1.15rem;display:block}.mw-now-desc span{display:block;font-size:.9rem;opacity:.85;margin-top:6px}
.mw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:30px}
.mw-card{background:#fff;border-radius:18px;padding:18px 18px;box-shadow:0 8px 24px -14px rgba(10,77,104,.4);border:1px solid #e6f3f6}
.mw-card .lbl{font-size:.74rem;text-transform:uppercase;letter-spacing:1px;color:#5b8a99;font-weight:600;display:flex;align-items:center;gap:6px}
.mw-card .val{font-size:1.75rem;font-weight:700;color:var(--wp--preset--color--teal);margin-top:8px;line-height:1}
.mw-card .sub{font-size:.8rem;color:#7a98a3;margin-top:4px}
.mw-section-title{font-size:1.25rem;font-weight:700;color:var(--wp--preset--color--teal);margin:6px 0 16px;display:flex;align-items:center;gap:10px}
.mw-section-title::before{content:"";width:6px;height:22px;border-radius:4px;background:linear-gradient(#05bfdb,var(--wp--preset--color--teal-bright))}
.mw-surf-banner{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;background:linear-gradient(135deg,#023e54,var(--wp--preset--color--teal));border-radius:20px;overflow:hidden;margin-bottom:30px}
.mw-surf-banner .item{padding:20px;text-align:center;color:#fff;border-right:1px solid rgba(255,255,255,.08)}
.mw-surf-banner .item:last-child{border-right:none}
.mw-surf-banner .item .ico{font-size:1.6rem}
.mw-surf-banner .item .big{font-size:1.9rem;font-weight:700;margin-top:6px}
.mw-surf-banner .item .cap{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;opacity:.75;margin-top:4px}
.mw-rating{display:inline-block;padding:4px 14px;border-radius:30px;font-size:.8rem;font-weight:700;margin-top:8px}
.mw-forecast{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;margin-bottom:30px}
.mw-day{background:#fff;border-radius:16px;padding:16px 10px;text-align:center;box-shadow:0 8px 22px -16px rgba(10,77,104,.5);border:1px solid #e6f3f6}
.mw-day .dname{font-weight:700;font-size:.85rem;color:var(--wp--preset--color--teal)}
.mw-day .ddate{font-size:.7rem;color:#9fb6bf;margin-bottom:8px}
.mw-day .dico{font-size:2rem;margin:4px 0}
.mw-day .dtemp{font-size:.95rem;font-weight:600}
.mw-day .dtemp .lo{color:#9fb6bf;font-weight:400}
.mw-day .dwave{font-size:.72rem;color:var(--wp--preset--color--teal-bright);margin-top:8px;font-weight:600;background:#e8f7fa;border-radius:8px;padding:3px 0}
.mw-day .dwind{font-size:.7rem;color:#7a98a3;margin-top:4px}
.mw-tide-note,.mw-foot{font-size:.8rem;color:#7a98a3;line-height:1.6}
.mw-foot{margin-top:24px;text-align:center;border-top:1px solid #e6f3f6;padding-top:18px}
.mw-foot a{color:var(--wp--preset--color--teal-bright);text-decoration:none;font-weight:600}
.mw-loading{text-align:center;padding:50px;color:#5b8a99;font-size:1rem}
.mw-spinner{width:34px;height:34px;border:4px solid #d7eef3;border-top-color:var(--wp--preset--color--teal-bright);border-radius:50%;animation:mwspin 1s linear infinite;margin:0 auto 16px}
@keyframes mwspin{to{transform:rotate(360deg)}}
.mw-hidden{display:none}
@media(max-width:600px){.mw-now-temp{font-size:3.2rem}.mw-loc .mw-report-title{font-size:1.6rem}.mw-hero{padding:28px 20px}}

/* ===================================================================
   Mobile-Navi-Overlay — sauber eingerückt & linksbündig (final)
=================================================================== */
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__responsive-container-content {
	padding: 84px 30px 40px !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
}
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
	gap: 1.6rem !important;
	width: 100%;
}
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container > .wp-block-navigation-item {
	width: 100%;
	align-items: flex-start !important;
	text-align: left !important;
}
/* Hauptpunkte: groß, Serif, normale Schreibweise */
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container > .wp-block-navigation-item > a,
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif) !important;
	font-size: 1.45rem !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0.01em !important;
	color: #fff !important;
	text-align: left !important;
	padding: 2px 0 !important;
}
/* Unterpunkte: eingerückt mit feiner Linie, Jost, kleiner */
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container {
	margin: 10px 0 4px 6px !important;
	padding-left: 16px !important;
	border-left: 1px solid rgba(255, 255, 255, 0.22) !important;
	align-items: flex-start !important;
	gap: 2px !important;
}
.site-header .wp-block-navigation__responsive-container.has-modal-open .wp-block-navigation__submenu-container a {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.82) !important;
	text-transform: none !important;
	letter-spacing: 0.02em !important;
	text-align: left !important;
	padding: 6px 0 !important;
}

/* ===================================================================
   Sprachumschalter: nur Flagge, Klick öffnet Panel (spart Platz)
=================================================================== */
.header-lang .gtranslate_wrapper,
.header-lang select,
.header-lang .gt_selector { display: none !important; }

.disini-lang { position: relative; }
.disini-lang-btn {
	background: none; border: 0; cursor: pointer;
	display: inline-flex; align-items: center; gap: 7px;
	padding: 6px 4px;
}
.disini-lang-flag {
	width: 26px; height: 18px;
	border-radius: 3px;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
	display: block;
}
.disini-lang-btn svg { transition: transform 0.2s ease; }
.disini-lang.open .disini-lang-btn svg { transform: rotate(180deg); }

.disini-lang-panel {
	position: absolute; right: 0; top: calc(100% + 12px);
	background: #1a1a1a;
	border-radius: 8px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
	padding: 8px 0;
	min-width: 160px;
	opacity: 0; visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.18s ease, transform 0.18s ease;
	z-index: 90;
}
.disini-lang.open .disini-lang-panel { opacity: 1; visibility: visible; transform: none; }
.disini-lang-panel a {
	display: flex; align-items: center; gap: 10px;
	padding: 9px 18px;
	color: rgba(255, 255, 255, 0.92) !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px;
	text-decoration: none;
	white-space: nowrap;
}
.disini-lang-panel a:hover { background: rgba(255, 255, 255, 0.08); }
.disini-lang-panel a.is-active { opacity: 0.5; pointer-events: none; }
.disini-lang-panel img { border-radius: 2px; box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2); }

/* ===================================================================
   Surf-Level-Karten ("What is my surf level?") — von Alt-Seite übernommen,
   Schriften an v3 (Cormorant + Jost) angepasst. Selbst-gescoped unter .surf-levels.
=================================================================== */

.surf-levels{--c-bg:transparent;--c-text:#1a1a1a;--c-muted:#6b7280;--c-card:#fff;--c-border:#e7e5e0;--c-beg:#4FB3BF;--c-beg-s:#e8f5f6;--c-int:#1F6F7C;--c-int-s:#e0eef1;--c-adv:#0D3B47;--c-adv-s:#d8e1e5;--sl-serif:var(--wp--preset--font-family--serif);--sl-sans:var(--wp--preset--font-family--sans);padding:80px 24px;max-width:1180px;margin:0 auto;position:relative;font-family:var(--sl-sans);color:var(--c-text);line-height:1.6;-webkit-font-smoothing:antialiased}
.surf-levels *,.surf-levels *::before,.surf-levels *::after{box-sizing:border-box}
.surf-levels::before{content:'';position:absolute;left:0;right:0;top:200px;height:220px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'><path d='M0,150 Q150,140 300,120 T600,80 T900,40 T1200,10' stroke='%234FB3BF' stroke-width='1.5' fill='none' opacity='0.35'/><path d='M0,170 Q150,160 300,140 T600,100 T900,60 T1200,30' stroke='%231F6F7C' stroke-width='1' fill='none' opacity='0.25'/></svg>");background-repeat:no-repeat;background-size:100% 100%;z-index:0;pointer-events:none}
.surf-levels__header{text-align:center;margin-bottom:60px;position:relative;z-index:1}
.surf-levels__title{font-family:var(--sl-serif);font-size:clamp(2rem,4vw,3rem);font-weight:500;margin:0 0 12px;letter-spacing:-.02em;color:var(--c-text)}
.surf-levels__subtitle{color:var(--c-muted);font-size:1.05rem;font-weight:300;margin:0}
.surf-levels__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative;z-index:1;align-items:stretch}
.level-card{background:var(--c-card);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(0,0,0,.04),0 1px 2px rgba(0,0,0,.06);transition:transform .4s ease,box-shadow .4s ease;border:1px solid var(--c-border)}
.level-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.10),0 4px 8px rgba(0,0,0,.04)}
.level-card__hero{height:160px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:20px 24px 22px}
.level-card--beginner .level-card__hero{background:linear-gradient(135deg,#b8e3e6 0%,#4FB3BF 100%)}
.level-card--intermediate .level-card__hero{background:linear-gradient(135deg,#5fa3b0 0%,#1F6F7C 100%)}
.level-card--advanced .level-card__hero{background:linear-gradient(135deg,#2c5a68 0%,#0D3B47 100%)}
.level-card__hero svg.hero-wave{position:absolute;bottom:-1px;left:0;right:0;width:100%;height:36px;z-index:1}
.level-card__badge{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.92);padding:6px 14px;border-radius:100px;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;position:absolute;top:20px;left:20px;z-index:3}
.level-card--beginner .level-card__badge{color:var(--c-beg)}
.level-card--intermediate .level-card__badge{color:var(--c-int)}
.level-card--advanced .level-card__badge{color:var(--c-adv)}
.level-card__meter{position:absolute;top:22px;right:20px;display:flex;gap:5px;z-index:3}
.level-card__meter span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.35)}
.level-card__meter span.active{background:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.level-card__title{font-family:var(--sl-serif);font-size:2rem;font-weight:500;color:#fff;letter-spacing:-.01em;position:relative;z-index:5;margin:0}
.level-card__body{padding:28px 28px 24px;display:flex;flex-direction:column;flex-grow:1;gap:22px}
.level-card__intro{font-size:.98rem;line-height:1.55;font-style:italic;color:var(--c-text);border-left:3px solid var(--c-border);padding-left:14px;margin:0;min-height:4.65em;display:flex;align-items:flex-start}
.level-card--beginner .level-card__intro{border-color:var(--c-beg)}
.level-card--intermediate .level-card__intro{border-color:var(--c-int)}
.level-card--advanced .level-card__intro{border-color:var(--c-adv)}
.level-card__section-title{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.level-card__section-title::after{content:'';flex:1;height:1px;background:var(--c-border)}
.level-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}
.level-list li{display:flex;align-items:flex-start;gap:12px;font-size:.95rem;line-height:1.5}
.level-list li .icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}
.level-card--beginner .icon{background:var(--c-beg-s);color:var(--c-beg)}
.level-card--intermediate .icon{background:var(--c-int-s);color:var(--c-int)}
.level-card--advanced .icon{background:var(--c-adv-s);color:var(--c-adv)}
.level-list li svg{width:12px;height:12px}
.level-card__cta{margin-top:auto;padding:14px 24px;border:none;border-radius:100px;color:#fff !important;font-family:var(--sl-sans);font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,filter .2s ease;text-align:center;text-decoration:none !important;display:inline-block}
.level-card--beginner .level-card__cta{background:var(--c-beg)}
.level-card--intermediate .level-card__cta{background:var(--c-int)}
.level-card--advanced .level-card__cta{background:var(--c-adv)}
.level-card__cta:hover{transform:translateY(-2px);filter:brightness(1.08)}
@media (max-width:1024px){.surf-levels__grid{grid-template-columns:repeat(2,1fr)}.surf-levels .level-card--advanced{grid-column:1 / -1;max-width:520px;margin:0 auto;width:100%}.surf-levels::before{top:240px;height:160px;opacity:.6}}
@media (max-width:640px){.surf-levels{padding:56px 16px}.surf-levels__grid{grid-template-columns:1fr;gap:20px}.surf-levels .level-card--advanced{max-width:100%}.level-card__hero{height:140px;padding:18px 20px 22px}.level-card__hero svg.hero-wave{height:28px}.level-card__title{font-size:1.7rem}.level-card__body{padding:24px 22px 22px;gap:20px}.surf-levels__title{font-size:2rem}.surf-levels::before{display:none}.level-card__intro{min-height:0}}

/* Eyebrow: schlichter gesperrter Text (Pill-Badge entfernt — wirkte wie Button) */
.disini-eyebrow{ margin-bottom:14px; }

/* ===================================================================
   Buchungskalender (/surf/) — von Alt-Seite transplantiert, v3-Fonts
=================================================================== */

.surf-cal{--cc-accent:#1F6F7C;--cc-accent-2:#4FB3BF;--cc-text:#1a1a1a;--cc-muted:#6b7280;--cc-border:#e7e5e0;--cc-serif:var(--wp--preset--font-family--serif);--cc-sans:var(--wp--preset--font-family--sans);max-width:760px;margin:0 auto;padding:40px 24px 80px;font-family:var(--cc-sans);color:var(--cc-text);text-align:center;box-sizing:border-box}
.surf-cal *{box-sizing:border-box}
.surf-cal__title{font-family:var(--cc-serif);font-size:clamp(28px,4vw,42px);font-weight:600;margin:0 0 8px;color:var(--cc-text)}
.surf-cal__sub{color:var(--cc-muted);font-size:17px;margin:0 0 28px}
.surf-cal__card{background:#fff;border:1px solid var(--cc-border);border-radius:20px;padding:24px;box-shadow:0 18px 40px -28px rgba(13,59,71,.45)}
.surf-cal__nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.surf-cal__month{font-family:var(--cc-serif);font-size:20px;font-weight:600}
.surf-cal__nav button{background:#f3f6f6;border:1px solid var(--cc-border);width:40px;height:40px;border-radius:12px;font-size:18px;cursor:pointer;color:var(--cc-accent);transition:.2s}
.surf-cal__nav button:hover{background:var(--cc-accent);color:#fff;border-color:var(--cc-accent)}
.surf-cal__dows,.surf-cal__days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.surf-cal__dows span{font-size:12px;font-weight:600;color:var(--cc-muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 0}
.surf-cal__days button{aspect-ratio:1/1;border:1px solid transparent;background:transparent;border-radius:12px;font-size:15px;color:var(--cc-text);cursor:pointer;transition:.15s;font-family:inherit}
.surf-cal__days button:hover:not(:disabled){border-color:var(--cc-accent-2);background:#e8f5f6}
.surf-cal__days button:disabled{color:#cbd2d6;cursor:default}
.surf-cal__days button.is-sel{background:var(--cc-accent);color:#fff;border-color:var(--cc-accent);font-weight:600}
.surf-cal__days button.is-empty{visibility:hidden}
.surf-cal__picked{margin:20px 0 4px;min-height:24px;font-size:15px;color:var(--cc-accent);font-weight:500}
.surf-cal__picked span{display:inline-block;background:#e0eef1;color:var(--cc-accent);border-radius:999px;padding:4px 12px;margin:4px;font-size:13px}
.surf-cal__send{display:inline-flex;align-items:center;gap:10px;margin-top:18px;background:#25D366;color:#fff;border:none;border-radius:999px;padding:15px 34px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;transition:.2s;box-shadow:0 14px 30px -14px rgba(37,211,102,.8)}
.surf-cal__send:hover{transform:translateY(-2px);filter:brightness(1.05)}
.surf-cal__send:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.surf-cal__hint{margin-top:14px;font-size:13px;color:var(--cc-muted)}
.surf-cal__fields{display:grid;gap:14px;margin:22px 0 4px;text-align:left}
.surf-cal__field span{display:block;font-size:13px;font-weight:600;color:var(--cc-text);margin-bottom:6px}

.surf-cal__field select{width:100%;padding:13px 15px;border:1px solid var(--cc-border);border-radius:12px;font-size:15px;font-family:inherit;color:var(--cc-text);background:#fafafa}
.surf-cal__field input{width:100%;padding:13px 15px;border:1px solid var(--cc-border);border-radius:12px;font-size:15px;font-family:inherit;color:var(--cc-text);background:#fafafa;transition:.15s}
.surf-cal__field input:focus{outline:none;border-color:var(--cc-accent);background:#fff;box-shadow:0 0 0 3px rgba(31,111,124,.12)}


/* ============ /surf/ Preis-Karten (Element wiederhergestellt) ============ */
.surf-pricing__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;max-width:900px;margin:0 auto;text-align:left}
@media(max-width:720px){.surf-pricing__grid{grid-template-columns:1fr}}
.price-card{background:#fff;color:var(--wp--preset--color--ink);border-radius:16px;padding:32px 30px;box-shadow:0 26px 54px -32px rgba(0,0,0,.55);display:flex;flex-direction:column}
.price-card__name{font-family:var(--wp--preset--font-family--serif);font-size:1.6rem;line-height:1.15;margin:0 0 8px;color:var(--wp--preset--color--ink)}
.price-card__desc{color:#5a6b6e;font-size:.97rem;line-height:1.5;margin:0 0 20px}
.price-card__rows{display:flex;flex-direction:column;margin:0 0 22px;border-top:1px solid #eef2f2}
.price-card__rows>div{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid #eef2f2}
.price-card__rows span{color:#5a6b6e;font-size:.95rem}
.price-card__rows b{font-family:var(--wp--preset--font-family--serif);font-size:1.28rem;color:var(--wp--preset--color--teal-bright);white-space:nowrap}
.price-card__rows b em{font-style:normal;font-size:.7rem;color:#8a9a9c;font-family:var(--wp--preset--font-family--sans);margin-left:3px}
.price-card__feat{list-style:none;margin:0 0 26px;padding:0;display:flex;flex-direction:column;gap:9px}
.price-card__feat li{position:relative;padding-left:26px;font-size:.92rem;color:#3d4f52;line-height:1.4}
.price-card__feat li::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;border-radius:50%;background:var(--wp--preset--color--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d505d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat}
.price-card__cta{margin-top:auto;display:inline-block;text-align:center;background:var(--wp--preset--color--teal-bright);color:#fff;border-radius:999px;padding:13px 28px;font-weight:600;text-decoration:none;transition:.2s}
.price-card__cta:hover{background:var(--wp--preset--color--ink);transform:translateY(-2px)}

/* ============ /surf/ Surfspots + Leaflet-Karte (Element wiederhergestellt) ============ */
.surf-spots__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
@media(max-width:900px){.surf-spots__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.surf-spots__grid{grid-template-columns:1fr}}
.spot-card{background:#fff;border:1px solid #e7edee;border-radius:14px;overflow:hidden;box-shadow:0 14px 34px -26px rgba(18,58,65,.5);transition:transform .25s,box-shadow .25s}
.spot-card:hover{transform:translateY(-4px);box-shadow:0 24px 46px -24px rgba(18,58,65,.55)}
.spot-card__img{aspect-ratio:4/3;overflow:hidden}
.spot-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.spot-card:hover .spot-card__img img{transform:scale(1.05)}
.spot-card__body{padding:16px 18px 20px}
.spot-card__name{font-family:var(--wp--preset--font-family--serif);font-size:1.25rem;margin:0 0 3px;color:var(--wp--preset--color--ink)}
.spot-card__tag{color:#6a7a7c;font-size:.86rem;margin:0 0 12px}
.spot-card__levels{display:flex;flex-wrap:wrap;gap:6px}
.spot-card__levels .lvl{font-size:.68rem;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:999px;line-height:1.3}
.lvl-b{background:#e8f5f6;color:#2b8f9c}
.lvl-i{background:#e0eef1;color:#1F6F7C}
.lvl-a{background:#d8e1e5;color:#0D3B47}
.surf-map{height:420px;margin-top:2.2rem;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px -28px rgba(18,58,65,.5);position:relative;z-index:0}
.surf-map .leaflet-popup-content{font-family:var(--wp--preset--font-family--sans);font-size:.9rem}
.surf-map .leaflet-popup-content b{font-family:var(--wp--preset--font-family--serif);font-size:1.05rem;color:var(--wp--preset--color--teal)}

/* ============ /surf/ CTA-Banner mit Foto-Hintergrund (Element wiederhergestellt) ============ */
.wp-block-cover .disini-eyebrow{color:#fff}
.disini-btn-solid .wp-block-button__link{background:var(--wp--preset--color--teal-bright);color:#fff}
.disini-btn-solid .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--teal)}
.wp-block-cover .is-style-outline .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.75)}
.wp-block-cover .is-style-outline .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--ink);border-color:#fff}

/* ============ Build Your Own Trip — Design wiederhergestellt (1.4.0) ============ */
.disini-hero .byo-badge{display:inline-block;align-self:flex-start;width:fit-content;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.6);color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:600;padding:6px 16px;border-radius:999px;margin-bottom:14px}
.disini-hero .byo-loc{display:flex;align-self:flex-start;align-items:center;gap:7px;color:#e8f2f4;font-weight:500;margin:12px 0 0;font-size:.98rem;text-shadow:0 1px 6px rgba(0,0,0,.35)}
.disini-hero .byo-loc svg{width:18px;height:18px;fill:#9fd0d9;flex:0 0 auto}
/* Feature-Karten mit Icon-Boxen */
.byo-features{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
@media(max-width:900px){.byo-features{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.byo-features{grid-template-columns:1fr}}
.byo-card{background:#f7f3ed;border-radius:16px;padding:30px 24px;text-align:center}
.byo-card .byo-ic{width:46px;height:46px;border-radius:12px;background:var(--wp--preset--color--teal);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.byo-card .byo-ic svg{width:24px;height:24px;fill:#fff;display:block}
.byo-card h3{font-family:var(--wp--preset--font-family--serif);font-size:1.28rem;margin:0 0 8px;color:var(--wp--preset--color--ink)}
.byo-card p{color:#5a6b6e;font-size:.92rem;line-height:1.5;margin:0}
/* Petrol Vollbild-Sektion, 2-spaltig mit Foto */
.byo-wave{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:820px){.byo-wave{grid-template-columns:1fr;gap:28px}.byo-wave__img{order:-1}}
.byo-wave__img{width:100%;min-height:420px;background-size:cover;background-position:center;border-radius:16px}
@media(max-width:820px){.byo-wave__img{min-height:250px}}
.byo-wave__body .byo-eyebrow{color:#9fd0d9;letter-spacing:.25em;text-transform:uppercase;font-size:.72rem;font-weight:600;margin:0 0 12px}
.byo-wave__body h2{font-family:var(--wp--preset--font-family--serif);color:#fff;font-size:clamp(1.9rem,3vw,2.6rem);line-height:1.12;margin:0 0 18px}
.byo-wave__body p{color:#d9e7ea;line-height:1.65;margin:0 0 14px}
.byo-wave__body p:last-child{margin-bottom:0}
/* Checkliste 2-spaltig mit Petrol-Häkchen */
ul.byo-incl{list-style:none;margin:0 auto;padding:0;max-width:840px;display:grid;grid-template-columns:1fr 1fr;gap:14px 40px}
@media(max-width:640px){ul.byo-incl{grid-template-columns:1fr}}
ul.byo-incl li{position:relative;padding-left:34px;color:#3d4f52;line-height:1.45;display:flex;align-items:flex-start;gap:0}
ul.byo-incl li svg{position:absolute;left:0;top:0;width:22px;height:22px;fill:var(--wp--preset--color--teal);flex:0 0 auto}

/* ============ Experiences — interaktive Filter-Galerie wiederhergestellt (1.4.2) ============ */


#dsv-exp-wrap{width:100%;max-width:1140px;margin:0 auto;padding:10px 0 40px;box-sizing:border-box;}
.dsv-tagline{text-align:center;font-family:var(--wp--preset--font-family--sans);font-size:14px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:rgba(13,80,93,.75);margin:0 0 32px;display:flex;align-items:center;justify-content:center;gap:10px;}
.dsv-tagline::before,.dsv-tagline::after{content:'';flex:1;max-width:80px;height:1px;background:rgba(13,80,93,.25);}
.dsv-filter-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:32px;}
.dsv-filter-btn{font-family:var(--wp--preset--font-family--sans)!important;font-size:12px!important;font-weight:600!important;letter-spacing:1.2px!important;text-transform:uppercase!important;padding:9px 20px!important;border-radius:30px!important;border:1.5px solid rgba(13,80,93,.35)!important;background:transparent!important;color:rgba(13,80,93,.8)!important;cursor:pointer!important;transition:all .25s ease!important;}
.dsv-filter-btn:hover{border-color:rgba(13,80,93,.7)!important;color:rgb(13,80,93)!important;background:rgba(13,80,93,.06)!important;}
.dsv-filter-btn.active{background:rgb(13,80,93)!important;color:#fff!important;border-color:rgb(13,80,93)!important;}
#dsv-exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:1024px){#dsv-exp-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){#dsv-exp-grid{grid-template-columns:1fr;}.dsv-filter-bar{gap:8px;}.dsv-filter-btn{font-size:11px;padding:8px 16px;}}
.dsv-card{position:relative;display:block;border-radius:14px;overflow:hidden;min-height:360px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.12);background:#1a1a1a;background-size:cover;background-position:center;transition:transform .35s ease;}
.dsv-card:hover{transform:translateY(-6px);}
.dsv-card.hidden{display:none;}
.dsv-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,80,93,.88) 0%,rgba(13,80,93,.35) 45%,rgba(13,80,93,.05) 100%);}
.dsv-content{position:absolute;left:0;right:0;bottom:0;padding:26px 24px;color:#FBF8F6;}
.dsv-title{margin:0 0 8px;font-family:var(--wp--preset--font-family--sans);font-weight:700;font-size:24px;line-height:1.15;letter-spacing:.5px;color:#FBF8F6;}
.dsv-desc{margin:0 0 16px;font-family:var(--wp--preset--font-family--sans);font-size:14.5px;line-height:1.5;color:rgba(251,248,246,.92);max-height:0;opacity:0;overflow:hidden;transition:all .35s ease;}
.dsv-card:hover .dsv-desc{max-height:220px;opacity:1;}
.dsv-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--wp--preset--font-family--sans);font-size:11.5px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#FBF8F6;border:1.5px solid rgba(251,248,246,.55);padding:9px 16px;border-radius:30px;white-space:nowrap;}
.dsv-btn:hover{background:rgba(251,248,246,.15);}
.dsv-cta-section{margin-top:56px;padding:40px 32px;background:linear-gradient(135deg,rgba(13,80,93,.08) 0%,rgba(13,80,93,.04) 100%);border:1.5px solid rgba(13,80,93,.15);border-radius:20px;text-align:center;}
.dsv-cta-section h3{font-family:var(--wp--preset--font-family--serif);font-size:32px;font-weight:700;color:rgb(13,80,93);margin:0 0 10px;line-height:1.2;}
.dsv-cta-section p{font-family:var(--wp--preset--font-family--sans);font-size:16px;color:rgba(13,80,93,.75);margin:0 0 28px;line-height:1.6;}
.dsv-cta-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--wp--preset--font-family--sans);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fff;background:rgb(13,80,93);padding:14px 32px;border-radius:50px;text-decoration:none;transition:all .25s ease;box-shadow:0 6px 20px rgba(13,80,93,.3);}
.dsv-cta-btn:hover{background:rgba(13,80,93,.85);transform:translateY(-2px);box-shadow:0 10px 28px rgba(13,80,93,.35);}
.dsv-cta-btn svg{width:20px;height:20px;fill:#fff;}

@media(hover:none){.dsv-desc{max-height:220px !important;opacity:1 !important;}}

/* ============ Surf-Trips-Übersicht — Showcase-Band + Detailkarten (dtx-Namespace, 1.4.4) ============ */


.dtx-inner{max-width:1180px;margin:0 auto;text-align:center;}
.dtx-eyebrow{font-family:var(--wp--preset--font-family--sans);text-transform:uppercase;letter-spacing:3px;font-size:13px;color:#86cfe0;margin:0 0 10px;font-weight:600;}
.dtx-heading{font-family:var(--wp--preset--font-family--serif);color:#ffffff;font-size:52px;font-weight:600;margin:0 0 14px;line-height:1.05;}
.dtx-sub{font-family:var(--wp--preset--font-family--sans);color:#d7e6ea;font-size:17px;max-width:620px;margin:0 auto 50px;line-height:1.6;}
.dtx-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:left;}
.dtx-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(13,59,69,.08);display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease;}
.dtx-card:hover{transform:translateY(-8px);box-shadow:0 18px 44px rgba(13,59,69,.16);}
.dtx-media{position:relative;aspect-ratio:4/3;overflow:hidden;}
.dtx-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.dtx-card:hover .dtx-media img{transform:scale(1.06);}
.dtx-media--ph{background:linear-gradient(135deg,#0d505d,#2b8fb3);display:flex;align-items:center;justify-content:center;}
.dtx-ph-text{font-family:var(--wp--preset--font-family--serif);color:rgba(255,255,255,.85);font-size:34px;letter-spacing:6px;}
.dtx-body{padding:26px 26px 30px;display:flex;flex-direction:column;flex:1;}
.dtx-level{display:inline-block;align-self:flex-start;background:#eaf4f7;color:#0d505d;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin-bottom:14px;}
.dtx-title{font-family:var(--wp--preset--font-family--serif);color:#0d3b45;font-size:28px;font-weight:600;margin:0 0 8px;line-height:1.1;}
.dtx-loc{display:flex;align-items:center;gap:6px;color:#2b8fb3;font-size:14px;margin:0 0 14px;font-weight:500;}
.dtx-loc svg{flex:0 0 auto;}
.dtx-desc{color:#5a5a5a;font-size:15px;line-height:1.65;margin:0 0 24px;flex:1;}
.dtx-btn{align-self:flex-start;background:#0d505d;color:#fff;border:none;font-family:var(--wp--preset--font-family--sans);font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:13px 26px;border-radius:3px;cursor:pointer;transition:background .25s ease;}
.dtx-btn:hover{background:#0d3b45;}
@media(max-width:1024px){.dtx-grid{grid-template-columns:repeat(2,1fr);gap:24px;}.dtx-heading{font-size:42px;}}
@media(max-width:640px){.dtx-grid{grid-template-columns:1fr;}.dtx-section{padding:56px 16px;}.dtx-heading{font-size:36px;}}

.dtx-card--wide{grid-column:1 / -1;flex-direction:row;margin-top:32px;}
.dtx-wide-media{aspect-ratio:auto;width:46%;min-height:340px;flex:0 0 46%;}
.dtx-wide-body{justify-content:center;padding:44px 48px;}
.dtx-wide-title{font-size:38px;margin-bottom:10px;}
.dtx-card--wide .dtx-desc{font-size:16px;max-width:560px;}
@media(max-width:900px){.dtx-card--wide{flex-direction:column;}.dtx-wide-media{width:100%;flex:none;min-height:220px;aspect-ratio:16/9;}.dtx-wide-body{padding:30px 26px;}.dtx-wide-title{font-size:30px;}}

.dtx-video{margin-top:110px;text-align:center;}
.dtx-video-title{font-family:var(--wp--preset--font-family--serif);color:#ffffff;font-size:38px;font-weight:600;margin:0 0 10px;line-height:1.1;}
.dtx-video-sub{font-family:var(--wp--preset--font-family--sans);color:#d7e6ea;font-size:16px;margin:0 auto 28px;max-width:520px;line-height:1.6;}
.dtx-video-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;box-shadow:0 18px 44px rgba(13,59,69,.28);background:#0a3a44;}
@media(max-width:767px){.dtx-video-title{font-size:30px;}}

.dtx-form-wrap{margin-top:90px;max-width:720px;margin-left:auto;margin-right:auto;background:#ffffff;border-radius:18px;padding:48px 44px;box-shadow:0 18px 44px rgba(13,59,69,.18);text-align:left;}
.dtx-form-title{font-family:var(--wp--preset--font-family--serif);color:#0d505d;font-size:36px;font-weight:600;margin:6px 0 8px;line-height:1.1;text-align:center;}
.dtx-form-sub{font-family:var(--wp--preset--font-family--sans);color:#5b7176;font-size:15px;margin:0 auto 30px;max-width:480px;text-align:center;line-height:1.6;}
.dtx-form-wrap .dtx-eyebrow{text-align:center;}
.dtx-form{display:flex;flex-direction:column;gap:18px;font-family:var(--wp--preset--font-family--sans);}
.dtx-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.dtx-field{display:flex;flex-direction:column;}
.dtx-field label{font-size:13px;font-weight:600;color:#0d505d;margin-bottom:7px;letter-spacing:.3px;}
.dtx-field input,.dtx-field select,.dtx-field textarea{font-family:var(--wp--preset--font-family--sans);font-size:15px;color:#13343d;padding:12px 14px;border:1px solid #cdd9dc;border-radius:10px;background:#fbfdfd;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;}
.dtx-field input:focus,.dtx-field select:focus,.dtx-field textarea:focus{border-color:#0d505d;box-shadow:0 0 0 3px rgba(13,80,93,.12);}
.dtx-field textarea{resize:vertical;min-height:90px;}
.dtx-radios{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:2px;}
.dtx-radio{display:flex;align-items:center;gap:9px;font-size:15px;color:#13343d;cursor:pointer;font-weight:400;letter-spacing:0;}
.dtx-radio input{width:18px;height:18px;accent-color:#0d505d;margin:0;}
.dtx-date-row{display:grid;grid-template-columns:80px 1fr 100px;gap:12px;}
.dtx-form-btn{margin-top:8px;background:#0d505d;color:#fff;font-family:var(--wp--preset--font-family--sans);font-size:16px;font-weight:600;letter-spacing:.5px;border:none;border-radius:10px;padding:15px 24px;cursor:pointer;transition:background .25s,transform .2s;}
.dtx-form-btn:hover{background:#0a3f49;transform:translateY(-2px);}
@media(max-width:600px){.dtx-form-wrap{padding:34px 22px;}.dtx-form-row{grid-template-columns:1fr;}.dtx-radios{grid-template-columns:1fr;}.dtx-date-row{grid-template-columns:1fr;}}

@media(max-width:760px){.dtx-card--wide{flex-direction:column;}.dtx-wide-media{width:100%;flex:none;min-height:220px;aspect-ratio:16/10;}}
.dtx-book-cta{text-align:center;margin-top:46px;}
.dtx-btn--accent{display:inline-block;background:#86cfe0 !important;color:#0e3a46 !important;font-weight:700 !important;letter-spacing:.5px !important;box-shadow:0 6px 18px rgba(134,207,224,.45);}
.dtx-btn--accent:hover{background:#6fc2d8 !important;transform:translateY(-2px);}

/* Lineup-Liste (Lakey Wave-Sektion) auf Petrol-Band */
.byo-lineup{list-style:none;margin:20px 0 0;padding:0;}
.byo-lineup li{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.18);color:#d9e7ea;font-size:.94rem;line-height:1.5;}
.byo-lineup li:last-child{border-bottom:none;}
.byo-lineup li b{color:#fff;font-weight:600;}

/* Surfspots-Karten: Untertitel + Level-Pills (Level-Badges .lvl existieren) */
.spot-sub{color:var(--wp--preset--color--teal-bright);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:600;margin:.5rem 0 .55rem;}
.spot-levels{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 .2rem;}


/* FAQ-Akkordeon als Karten */
.page-id-30 .entry-content .wp-block-details,.page-id-284 .entry-content .wp-block-details{background:#fff;border:1px solid #d5d8dc;border-radius:12px;margin-bottom:12px;padding:2px 22px;box-shadow:0 4px 14px rgba(13,80,93,.07);transition:box-shadow .2s;}
.page-id-30 .entry-content .wp-block-details[open],.page-id-284 .entry-content .wp-block-details[open]{box-shadow:0 8px 22px rgba(13,80,93,.11);}
.page-id-30 .entry-content .wp-block-details summary,.page-id-284 .entry-content .wp-block-details summary{font-family:var(--wp--preset--font-family--serif);font-size:1.35rem;color:var(--wp--preset--color--ink);padding:16px 0;cursor:pointer;list-style-position:inside;}
.page-id-30 .entry-content .wp-block-details>*:not(summary),.page-id-284 .entry-content .wp-block-details>*:not(summary){color:#5a6b6e;line-height:1.65;padding-bottom:6px;}

/* About: Feature-Listen mit Marken-Sternen */
ul.disini-star-list{list-style:none;margin:0;padding:0;}
ul.disini-star-list li{position:relative;padding-left:34px;margin-bottom:14px;line-height:1.6;}
ul.disini-star-list li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;background:var(--wp--preset--color--teal-bright) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 2l2.9 6.3 6.9.7-5.1 4.7 1.4 6.8L12 17.8 5.9 20.5l1.4-6.8L2.2 9l6.9-.7z'/%3E%3C/svg%3E") center/13px no-repeat;border-radius:50%;}

/* Memories: Masonry-Galerie (natürliche Höhen) + Hover-Zoom */
.disini-masonry{display:block !important;columns:3;column-gap:1.6rem;}
@media(max-width:900px){.disini-masonry{columns:2;}}
@media(max-width:560px){.disini-masonry{columns:1;}}
.disini-masonry figure.wp-block-image{break-inside:avoid;margin:0 0 1.6rem;overflow:hidden;border-radius:18px;}
.disini-masonry figure.wp-block-image img{width:100%;height:auto !important;aspect-ratio:auto !important;display:block;border-radius:18px;transition:transform .55s ease;}
.disini-masonry figure.wp-block-image:hover img{transform:scale(1.04);}
@media(prefers-reduced-motion:reduce){.disini-masonry figure.wp-block-image img{transition:none;}.disini-masonry figure.wp-block-image:hover img{transform:none;}}

/* Kids: 'Why surfing is good for your child' Nutzen-Liste */
ul.kids-benefits{list-style:none;margin:0;padding:0;}
ul.kids-benefits li{position:relative;padding-left:32px;margin-bottom:16px;line-height:1.55;color:#3d4f52;}
ul.kids-benefits li b{color:var(--wp--preset--color--ink);}
ul.kids-benefits li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%;background:var(--wp--preset--color--teal-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d505d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/11px no-repeat;}

/* Foto-Karussell (Beginner 'How your first lesson works') */
.disini-carousel{position:relative;max-width:1000px;margin:0 auto;}
.disini-carousel__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 2px 8px;}
.disini-carousel__track::-webkit-scrollbar{display:none;}
.disini-carousel__slide{flex:0 0 66%;scroll-snap-align:center;border-radius:16px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 16px 36px -26px rgba(18,58,65,.55);}
@media(max-width:768px){.disini-carousel__slide{flex:0 0 86%;}}
.disini-carousel__slide img{width:100%;height:100%;object-fit:cover;display:block;}
.disini-carousel__nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:none;background:#fff;color:var(--wp--preset--color--teal);font-size:26px;line-height:1;cursor:pointer;box-shadow:0 6px 18px rgba(13,80,93,.22);z-index:2;display:flex;align-items:center;justify-content:center;transition:.2s;}
.disini-carousel__nav:hover{background:var(--wp--preset--color--teal);color:#fff;}
.disini-carousel__nav:disabled{opacity:0;pointer-events:none;}
.disini-carousel__prev{left:-8px;}
.disini-carousel__next{right:-8px;}

/* Journal-Karten: Datums-Meta */
.disini-post-card .disini-post-meta{margin:2px 0 10px;text-transform:uppercase;letter-spacing:.06em;font-size:.78rem;opacity:.8;}

/* Medewi: Wellen-Bedingungen als Label/Wert-Raster */
ul.disini-conditions{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
@media(max-width:640px){ul.disini-conditions{grid-template-columns:1fr;}}
ul.disini-conditions li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid rgba(13,80,93,.14);}
ul.disini-conditions .k{color:var(--wp--preset--color--teal);font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;flex:0 0 auto;}
ul.disini-conditions .v{color:var(--wp--preset--color--ink);font-size:.95rem;text-align:right;}
/* Insider-Tipps 2-spaltig */
ul.disini-check--2col{display:grid;grid-template-columns:1fr 1fr;gap:4px 40px;}
@media(max-width:640px){ul.disini-check--2col{grid-template-columns:1fr;}}

/* ============ Batch 1: Design-Review-Fixes (1.5.4) ============ */
/* Hero-Ueberschrift: vertikal zentriert statt unten angeankert (Startseite bleibt wie sie ist) */
.disini-hero:not(.disini-hero--center) .wp-block-cover__inner-container{justify-content:center;padding-top:6vh;}

/* iOS-Zoom verhindern: Formularfelder nie unter 16px */
@media(max-width:781px){
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],select,textarea{font-size:16px !important;}
}

/* Buchungskalender: Tages-Tap-Targets auf Telefonen */
@media(max-width:480px){
  .surf-cal__days{gap:4px;}
  .surf-cal__days button{aspect-ratio:auto;min-height:44px;border-radius:10px;font-size:16px;}
}

/* Gestapelte Hero-CTAs: gleiche Breite */
@media(max-width:600px){
  .disini-hero .wp-block-buttons{flex-direction:column;align-items:stretch;width:min(100%,300px);}
  .disini-hero--center .wp-block-buttons{margin-left:auto;margin-right:auto;}
  .disini-hero .wp-block-button{width:100%;}
  .disini-hero .wp-block-button__link{display:block;width:100%;text-align:center;}
}

/* Schlusszeile der Startseite */
.disini-see-you{font-family:var(--wp--preset--font-family--serif);font-style:italic;font-size:1.45rem;opacity:.92;margin-top:-6px;}

/* ============ Batch 2: Design-Konsistenz (1.5.5) ============ */
/* 1) EIN H2-System: alle Custom-Sektionstitel auf die Theme-Skala */
:root{--disini-h2:clamp(2.1rem, 2.1rem + ((1vw - 0.2rem) * 1.185), 2.9rem);}
.surf-levels__title,.surf-cal__title,.daffa-intro h2{
  font-size:var(--disini-h2) !important;font-weight:600 !important;
  color:var(--wp--preset--color--ink) !important;letter-spacing:-0.005em !important;
}
.disini-day-title,.dtx-heading{font-size:var(--disini-h2) !important;font-weight:600 !important;letter-spacing:-0.005em !important;}
.dst-form-title{font-size:clamp(1.45rem,2vw,1.8rem) !important;}
.entry-content h3[style*="0.875rem"]{font-size:1.2rem !important;}

/* 2) Eyebrow-System vereinheitlicht (Farben je Kontext bleiben) */
.byo-eyebrow,.dtx-eyebrow,.dst-eyebrow{font-size:.8rem !important;letter-spacing:4px !important;font-weight:600;text-transform:uppercase;}

/* 3) EIN Button-Radius (6px-System) fuer alle Custom-CTAs */
.price-card__cta,.surf-cal__send,.dsv-cta-btn,.dsv-btn,.dst-btn,.dtx-btn,.level-card__btn,.surf-levels a.btn{border-radius:6px !important;}

/* 5) Feinschliff: Auswahlfarbe, Tastatur-Fokus, Druck */
::selection{background:var(--wp--preset--color--teal-soft);color:var(--wp--preset--color--ink);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--wp--preset--color--teal-bright);outline-offset:2px;border-radius:2px;}
@media print{
  .site-header,.wp-block-navigation,.disini-wa-float,footer,.wp-block-template-part:last-of-type{display:none !important;}
  .wp-block-cover{min-height:auto !important;}
  body{background:#fff;}
}

/* 6) Trip-Fakten mobil als 2x2 statt Turm */
@media(max-width:781px){
  .disini-facts .wp-block-group.is-layout-grid{grid-template-columns:repeat(2,1fr) !important;gap:.75rem !important;}
  .disini-facts{margin-top:-32px !important;}
}

/* 7) Experiences mobil kompakter */
@media(max-width:600px){.dsv-card{min-height:280px;}}

/* 8) Tap-Targets: Hamburger + Footer-Links */
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
footer .wp-block-navigation-item__content,footer a{padding-top:6px;padding-bottom:6px;display:inline-block;}

/* ============ Hero-Hoehen wie die alte Website (1.5.6, Holger-Wunsch) ============ */
/* Alt gemessen bei 1440x900: Unterseiten-Banner 527px, Trip-Detail 702px, Home 818px (bleibt). */
.disini-hero:not(.disini-hero--center){min-height:clamp(420px,56vh,540px) !important;}
.disini-hero:not(.disini-hero--center) .wp-block-cover__inner-container{min-height:0 !important;padding-top:104px;padding-bottom:36px;}
.disini-hero:not(.disini-hero--center) h1{font-size:clamp(2.5rem,4.4vw,3.9rem) !important;}
.page-id-14 .disini-hero,.page-id-15 .disini-hero,.page-id-16 .disini-hero,
.page-id-17 .disini-hero,.page-id-18 .disini-hero,.page-id-19 .disini-hero,
.page-id-20 .disini-hero{min-height:clamp(560px,72vh,700px) !important;}

/* ============ Liebes-Paket: Waerme in den Details (1.5.7) ============ */
/* Signatur-Welle statt geradem Strich */
.disini-rule{width:58px !important;height:10px !important;background-color:transparent !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 10' fill='none'%3E%3Cpath d='M2 6 Q9 1.5 16 6 T30 6 T44 6 T54 6' stroke='%2314808f' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;background-position:center;border:0;}
.has-ink-background-color .disini-rule,.has-teal-background-color .disini-rule{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 10' fill='none'%3E%3Cpath d='M2 6 Q9 1.5 16 6 T30 6 T44 6 T54 6' stroke='%239fd0d9' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E");}

/* Der Hero laeuft wie Wasser aus (weiche Wellenkante) */
.disini-hero{overflow:hidden;}
.disini-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:26px;background: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='%23ffffff'/%3E%3C/svg%3E") bottom/100% 100% no-repeat;pointer-events:none;z-index:3;}

/* Kursive Serif-Akzente in Ueberschriften + Story-Zeilen */
h1 em,h2 em,.disini-lead em,p em{font-style:italic;}

/* Coral aufwecken: die warme Farbe arbeitet jetzt */
.entry-content p a:not(.wp-element-button):hover{color:var(--wp--preset--color--coral);}
.disini-card:hover .disini-card-link{color:var(--wp--preset--color--coral);}
.disini-see-you{color:#e7b39c;}
.footer-madein{font-size:.85rem;opacity:.8;}
.footer-madein em{color:#e7b39c;font-style:italic;}

/* Sanfte Scroll-Reveals (JS setzt die Klassen; ohne JS bleibt alles sichtbar) */
.disini-reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease;}
.disini-reveal.is-inview{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){.disini-reveal{opacity:1 !important;transform:none !important;transition:none !important;}}

/* Initial im Journal: editorialer Auftakt */
.single-post .entry-content > p:first-of-type::first-letter{font-family:var(--wp--preset--font-family--serif);font-size:3.3em;line-height:.82;float:left;padding:5px 10px 0 0;color:var(--wp--preset--color--teal);font-weight:500;}

/* ============ Piktogramme groß + Micro-Interaktionen (1.5.8) ============ */
/* Karten-Icons: von zart-klein auf praesent (Kala-Kaliber) */
img.disini-card-ico{width:76px !important;height:76px !important;transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.disini-card:hover img.disini-card-ico{transform:rotate(-5deg) scale(1.1) !important;}

/* byo-Karten: Petrol-Kaestchen weg, Icon frei und gross */
.byo-card .byo-ic{width:76px;height:76px;background:transparent !important;border-radius:0;margin:0 auto 14px;transition:transform .35s cubic-bezier(.34,1.56,.64,1);}
.byo-card .byo-ic svg{width:100% !important;height:100% !important;display:block;}
.byo-card:hover .byo-ic{transform:rotate(4deg) scale(1.08);}

/* Buttons: fuehlbarer Druckpunkt */
.wp-element-button:active,.dtx-btn:active,.dsv-cta-btn:active,.price-card__cta:active,.surf-cal__send:active{transform:scale(.97) !important;}

/* FAQ: weicher drehender Chevron statt Dreiecks-Marker */
.wp-block-details summary{list-style:none;cursor:pointer;position:relative;padding-right:34px;}
.wp-block-details summary::-webkit-details-marker{display:none;}
.wp-block-details summary::after{content:"";position:absolute;right:6px;top:50%;width:11px;height:11px;margin-top:-9px;border-right:2.5px solid var(--wp--preset--color--teal-bright);border-bottom:2.5px solid var(--wp--preset--color--teal-bright);transform:rotate(45deg);transition:transform .3s ease,margin-top .3s ease;}
.wp-block-details[open] summary::after{transform:rotate(225deg);margin-top:-3px;}

/* WhatsApp-Button winkt alle 12s kurz */
@keyframes disini-nudge{0%,86%,100%{transform:none}89%{transform:translateY(-5px) rotate(-2deg)}93%{transform:translateY(0) rotate(2deg)}96%{transform:translateY(-2px) rotate(0)}}
.disini-wa-float{animation:disini-nudge 12s ease-in-out 6s infinite;}

@media(prefers-reduced-motion:reduce){
  .disini-wa-float{animation:none !important;}
  img.disini-card-ico,.byo-card .byo-ic{transition:none !important;}
  .disini-card:hover img.disini-card-ico,.byo-card:hover .byo-ic{transform:none !important;}
}

/* /surf/ Level-Karten: MORE-INFO-Buttons auf einer Hoehe (1.5.9) */
.surf-levels__grid{align-items:stretch;}
.surf-levels .level-card{display:flex;flex-direction:column;}
.surf-levels .level-card__body{flex:1;display:flex;flex-direction:column;}
.surf-levels .level-card__cta{margin-top:auto;order:99;}
/* Beginner: der Zusatz-Link rueckt VOR den Button, damit alle drei buendig schliessen */
.surf-levels .level-card__learn-more{order:98;margin-top:auto !important;margin-bottom:12px;}
.surf-levels .level-card__learn-more + .level-card__cta,.surf-levels .level-card__learn-more ~ .level-card__cta{margin-top:0;}

/* Trip-Karte: Pins sind Links (1.6.0) */
.dsm2-pinico{cursor:pointer;transition:transform .28s cubic-bezier(.34,1.56,.64,1);transform-origin:50% 100%;}
.leaflet-marker-icon:hover .dsm2-pinico,.leaflet-marker-icon:focus .dsm2-pinico{transform:translateY(-4px) scale(1.1);}
.leaflet-tooltip.dsm2-lbl{transition:color .2s;}
.leaflet-tooltip.dsm2-lbl:hover{color:#ff6a2b;}
@media(prefers-reduced-motion:reduce){.dsm2-pinico{transition:none !important;}.leaflet-marker-icon:hover .dsm2-pinico{transform:none !important;}}

/* Trip-Karte: echtes responsives Format (das Inline-CSS hat keine @media, 1.6.1) */
.dsm2-wrap #dsm2-map{aspect-ratio:18/5;}
@media(max-width:900px){.dsm2-wrap #dsm2-map{aspect-ratio:12/5;}}
@media(max-width:600px){.dsm2-wrap #dsm2-map{aspect-ratio:9/5;}}

/* Wellen-Signatur fuer dunkle Sektionen (1.6.2) */
.disini-rule--light{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 10' fill='none'%3E%3Cpath d='M2 6 Q9 1.5 16 6 T30 6 T44 6 T54 6' stroke='%2386cfe0' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") !important;}
.dtx-inner .disini-rule,.dst-form-wrap .disini-rule{margin:14px auto 18px;}

/* Kontrast-Fix: Formular-Eyebrow stand hellblau auf Weiss (1.6.3) */
.dst-form-wrap .dst-eyebrow{color:#0d505d !important;}

/* ===== Anfrageformular: Desktop-Layout wiederherstellen (1.6.4) =====
   Das Inline-CSS des dst-Blocks hat wie die Karte KEINE @media mehr — die
   Mobil-Regeln standen ungeschuetzt am Ende und galten auf allen Breiten.
   Re-Assertion ab 601px, hoehere Spezifitaet statt !important. */
@media(min-width:601px){
  .dst-section .dst-inner .dst-form-wrap{padding:48px 44px;}
  .dst-inner .dst-form-wrap .dst-form-row{grid-template-columns:1fr 1fr;}
  .dst-inner .dst-form-wrap .dst-radios{grid-template-columns:1fr 1fr;}
  .dst-inner .dst-form-wrap .dst-date-row{grid-template-columns:80px 1fr 100px;}
}
@media(min-width:641px){
  body .dst-section{padding:80px 20px;}
}

/* Rueckmeldung nach dem Absenden (1.6.5) */
.dst-sent-hint{margin:14px 0 0;font-family:'Jost',sans-serif;font-size:14.5px;line-height:1.5;color:#0d505d;background:#eef6f7;border-left:3px solid #14808f;border-radius:8px;padding:12px 14px;opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s;}
.dst-sent-hint.is-visible{opacity:1;transform:none;}

/* Buchungssektion: Kopf auf Sektionsgroesse + Naht zum Footer (1.6.6) */
.dst-inner .dst-form-wrap .dst-form-title{font-size:clamp(2.1rem,3.4vw,2.8rem) !important;line-height:1.08;}
/* Das Teal der Buchungsflaeche lief nahtlos in den Footer — Wellenkante als Abschluss */
.dst-section{position:relative;padding-bottom:112px !important;}
.dst-section::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:26px;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 26' preserveAspectRatio='none'%3E%3Cpath d='M0 26V8c180 12 360 12 540 4S1080 0 1260 6c60 2 120 5 180 9v11z' fill='%23123a41'/%3E%3C/svg%3E") no-repeat center/100% 100%;}

/* ===== Tagesablauf als Liste (1.6.7) =====
   Die vierspaltige Fassung erbte die Stat-Kachel-Formatierung: Fliesstext in
   Grossbuchstaben mit 2,4px Sperrung. Zurueck zur ruhigen Zeile: Label links,
   Text rechts, feine Trennlinien. */
.disini-flow{max-width:900px;margin:0 auto;text-align:left;}
/* Die Liste erbte das alte 4-Spalten-Raster und wurde auf eine Zelle gequetscht */
.wp-block-group.is-layout-grid:has(> .disini-flow),
.wp-block-group.is-layout-grid:has(> .wp-block-html > .disini-flow){display:block !important;}
.disini-flow__row{display:grid;grid-template-columns:190px 1fr;gap:26px;align-items:start;
  padding:26px 0;border-top:1px solid rgba(18,58,65,.12);}
.disini-flow__row:first-child{border-top:0;padding-top:6px;}
.disini-flow__label{margin:0;font-family:'Jost',sans-serif;font-weight:600;font-size:1.24rem;
  letter-spacing:.01em;color:var(--wp--preset--color--teal-bright);line-height:1.25;}
.disini-flow__text{margin:0;font-family:'Jost',sans-serif;font-size:1.04rem;line-height:1.62;
  color:rgba(18,58,65,.72);text-transform:none;letter-spacing:normal;}
.has-ink-background-color .disini-flow__row{border-top-color:rgba(255,255,255,.16);}
.has-ink-background-color .disini-flow__label{color:#86cfe0;}
.has-ink-background-color .disini-flow__text{color:rgba(255,255,255,.76);}
@media(max-width:700px){
  .disini-flow__row{grid-template-columns:1fr;gap:6px;padding:20px 0;}
  .disini-flow__label{font-size:1.12rem;}
}

/* „What's in the trip": zweispaltig wie frueher, ohne Aufzaehlungspunkte (1.6.9) */
ul.disini-incl{list-style:none !important;padding:0 !important;margin:8px auto 0 !important;max-width:940px;
  display:grid;grid-template-columns:1fr 1fr;gap:30px 56px;text-align:left;}
ul.disini-incl li{margin:0 !important;padding:0 !important;font-family:'Jost',sans-serif;
  font-size:1.12rem;line-height:1.45;color:var(--wp--preset--color--ink);}
ul.disini-incl li::marker{content:"";}
@media(max-width:700px){ul.disini-incl{grid-template-columns:1fr;gap:16px;}}

/* ===== Textlinks auf dunklen Flaechen (1.7.0) =====
   Die Querverweise standen in Teal auf Ink: 1,36:1 — unlesbar. */
.has-ink-background-color a:not(.wp-element-button):not(.wp-block-button__link):not(.disini-wa-float),
.has-teal-background-color a:not(.wp-element-button):not(.wp-block-button__link):not(.disini-wa-float),
.dst-section a:not(.wp-element-button):not(.wp-block-button__link):not(.dst-form-btn){
  color:#86cfe0;text-decoration-color:rgba(134,207,224,.5);text-underline-offset:3px;transition:color .2s;}
.has-ink-background-color a:not(.wp-element-button):not(.wp-block-button__link):not(.disini-wa-float):hover,
.has-teal-background-color a:not(.wp-element-button):not(.wp-block-button__link):not(.disini-wa-float):hover,
.dst-section a:not(.wp-element-button):not(.wp-block-button__link):not(.dst-form-btn):hover{
  color:#ffffff;text-decoration-color:rgba(255,255,255,.8);}

/* WordPress-Kernregel `.is-layout-grid > :is(*,div){margin:0}` (0,1,1) schlug die
   Zentrierung von .disini-flow (0,1,0) — die Liste klebte links unter einer
   zentrierten Ueberschrift. Hoehere Spezifitaet statt !important. (1.7.1) */
.entry-content .disini-flow,
.is-layout-grid > .disini-flow,
.entry-content ul.disini-incl,
.is-layout-grid > ul.disini-incl{margin-left:auto !important;margin-right:auto !important;}

/* ===== Eckdaten als Sandband nach „What's in the trip" (1.7.2) =====
   Vorher: teal-soft-Karte, die den Hero um 52px ueberlappte.
   Jetzt wie auf der alten Seite: volle Breite, warmer Sand, ruhig gesetzt. */
.disini-facts.disini-facts--band{
  margin-top:0 !important;margin-bottom:0 !important;position:static;
  background:var(--wp--preset--color--sand);
  width:100vw;max-width:100vw;margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;
  padding:58px 24px !important;box-sizing:border-box;}
.disini-facts--band > .wp-block-group{
  background:transparent !important;border-radius:0 !important;box-shadow:none !important;
  padding:0 !important;max-width:1060px;margin:0 auto;}
@media(max-width:781px){
  .disini-facts.disini-facts--band{padding:40px 20px !important;}
  .disini-facts--band .wp-block-group.is-layout-grid{grid-template-columns:repeat(2,1fr) !important;gap:28px 12px !important;}
}

/* ===== Keine weissen Streifen zwischen Farbbaendern (1.7.3) =====
   WordPress gibt jedem Abschnitt --wp--style--block-gap (24px) nach oben.
   Zwischen zwei farbigen Vollbreiten-Baendern wird daraus ein sichtbarer
   weisser Balken. Direkt benachbarte Baender stossen jetzt aneinander. */
.entry-content > :is(.has-background,.alignfull,.dst-section,.disini-facts,.wp-block-cover)
+ :is(.has-background,.alignfull,.dst-section,.disini-facts,.wp-block-cover){margin-block-start:0 !important;}
/* Vollbreiten-Baender stossen immer an: vor ihnen stehen teils unsichtbare
   Geschwister (leeres div, <style> aus wp:html), an denen die Nachbar-Regel
   oben vorbeigreift. */
.entry-content > .dst-section,
.entry-content > .disini-facts--band{margin-block-start:0 !important;}
/* link/script/style und leere Huellen aus wp:html-Bloecken erben ebenfalls die
   24px Blockluecke und schieben so einen weissen Streifen zwischen die Baender. */
.entry-content > link,.entry-content > script,.entry-content > style,
.wp-site-blocks > link,.wp-site-blocks > script,.wp-site-blocks > style{display:none !important;margin:0 !important;}
.entry-content > div:empty{margin:0 !important;display:none !important;}
/* Alle eigenen Vollbreiten-Baender (dst-, dsm2-, disini-day-section …) und der
   Footer stossen ohne Blockluecke an den Abschnitt darueber. */
.entry-content > [class*="-section"]{margin-block-start:0 !important;}
.wp-site-blocks > .site-footer,.wp-site-blocks > footer,
.wp-site-blocks > *:last-child.site-footer{margin-block-start:0 !important;}
/* Systemisch: JEDER farbige Vollbreiten-Abschnitt startet ohne Blockluecke.
   Die Nachbar-Regel oben scheitert, sobald WordPress ein <script>/<style>
   zwischen zwei Abschnitte setzt — das passiert bei jedem wp:html-Block. */
.entry-content > .has-background,
.entry-content > .alignfull{margin-block-start:0 !important;}
/* Leere Absaetze/Huellen am Ende des Inhalts schoben den Footer um 24px ab. */
.entry-content > p:empty,.entry-content > :empty:not(img):not(svg):not(hr):not(input){margin:0 !important;display:none !important;}

/* ===== Spot-Vergleichstabelle + Herkunftszeile (1.7.9) ===== */
.disini-spottable-wrap{max-width:1000px;margin:0 auto;overflow-x:auto;-webkit-overflow-scrolling:touch;}
table.disini-spottable{width:100%;border-collapse:collapse;font-family:'Jost',sans-serif;font-size:.97rem;min-width:620px;}
table.disini-spottable caption{caption-side:top;text-align:left;font-family:'Jost',sans-serif;font-size:.72rem;
  font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--wp--preset--color--teal);padding-bottom:14px;}
table.disini-spottable th{text-align:left;font-weight:600;font-size:.72rem;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--wp--preset--color--teal);border-bottom:2px solid rgba(18,58,65,.16);padding:0 16px 10px 0;white-space:nowrap;}
table.disini-spottable td{padding:15px 16px 15px 0;border-bottom:1px solid rgba(18,58,65,.1);
  color:rgba(18,58,65,.82);line-height:1.45;vertical-align:top;}
table.disini-spottable td:first-child{font-weight:600;color:var(--wp--preset--color--ink);white-space:nowrap;}
table.disini-spottable tr:last-child td{border-bottom:0;}
.disini-byline{font-family:'Jost',sans-serif;font-size:.86rem;color:rgba(18,58,65,.6);margin:0 0 4px;}
.disini-byline strong{color:var(--wp--preset--color--teal);font-weight:600;}
@media(max-width:600px){table.disini-spottable{font-size:.9rem;}}
