/* Haus Delphin – ergänzende Styles (Farben & Schriften kommen aus theme.json) */

:root {
	--delphin-radius: 20px;
	--delphin-radius-klein: 10px;
	--delphin-schatten: 0 4px 20px rgba(18, 50, 74, 0.08);
	--delphin-schatten-hoch: 0 12px 40px rgba(18, 50, 74, 0.14);
	--delphin-linie: var(--wp--preset--color--duene, #E3D6BF);
}

html { scroll-behavior: smooth; scroll-padding-top: 1rem; }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* Kleine Überzeile über Überschriften */
.delphin-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-weight: 700;
	margin-bottom: 0.25rem !important;
}

/* ---------- Kopfbereich ---------- */
.delphin-kopf a,
.delphin-kopf .wp-block-site-title a { color: var(--wp--preset--color--weiss); text-decoration: none; }
.delphin-kopf .wp-block-site-title { margin: 0; line-height: 1.1; letter-spacing: 0.02em; }
.delphin-kopf .delphin-unterzeile {
	margin: 0; font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--wp--preset--color--himmelblau);
}
.delphin-kopf .wp-block-navigation-item__content:hover,
.delphin-kopf .wp-block-navigation-item__content:focus { text-decoration: underline; text-underline-offset: 6px; }
.delphin-kopf .wp-block-button__link { padding: 0.7rem 1.3rem; font-size: 0.95rem; }
.delphin-kopf .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
@media (max-width: 960px) {
	.delphin-kopf-button { display: none !important; }
}

/* ---------- Hero mit Welle ---------- */
.delphin-hero { position: relative; overflow: hidden; }
.delphin-hero::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: -1px; height: 70px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 40c160 40 320 40 480 10s320-40 480-10 320 40 480 10v90H0z' fill='%23F5EFE4'/%3E%3C/svg%3E") no-repeat bottom / 100% 100%;
	pointer-events: none;
}
.delphin-hero h1 { max-width: 18ch; }
h1, h2, h3 { overflow-wrap: break-word; hyphens: auto; }
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }
.delphin-bild-rund img { border-radius: var(--delphin-radius); display: block; width: 100%; height: auto; }

/* ---------- Schnellanfrage ---------- */
.delphin-schnellanfrage { position: relative; z-index: 2; margin-top: -4.5rem !important; }
.delphin-schnellformular {
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; align-items: end;
	background: var(--wp--preset--color--weiss); padding: 1.75rem 2rem; border-radius: var(--delphin-radius);
	box-shadow: var(--delphin-schatten-hoch);
}
.delphin-schnellformular p, .delphin-formular p { margin: 0; }
@media (max-width: 960px) { .delphin-schnellformular { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .delphin-schnellformular { grid-template-columns: 1fr; padding: 1.25rem; } }

/* ---------- Formularfelder ---------- */
.delphin-schnellformular label, .delphin-formular label {
	display: block; font-size: 0.875rem; font-weight: 700; color: var(--wp--preset--color--nachtblau); margin-bottom: 0.4rem;
}
.delphin-schnellformular input, .delphin-schnellformular select,
.delphin-formular input:not([type="checkbox"]), .delphin-formular select, .delphin-formular textarea {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: 0.6rem 0.85rem;
	border: 1px solid #B9C8CF; border-radius: var(--delphin-radius-klein);
	background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--tinte);
	font: inherit; font-size: 1rem;
}
.delphin-formular textarea { min-height: 120px; resize: vertical; }
.delphin-schnellformular input:focus, .delphin-schnellformular select:focus,
.delphin-formular input:focus, .delphin-formular select:focus, .delphin-formular textarea:focus {
	outline: 2px solid var(--wp--preset--color--seeblau); outline-offset: 1px; border-color: var(--wp--preset--color--seeblau);
}
.delphin-schnellformular button, .delphin-formular button { width: 100%; min-height: 48px; cursor: pointer; border: 0; }
.delphin-formular {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem 1.5rem;
	background: var(--wp--preset--color--weiss); padding: clamp(1.25rem, 3vw, 2.5rem); border-radius: var(--delphin-radius);
	box-shadow: var(--delphin-schatten); margin-top: 2rem;
}
.delphin-formular .delphin-breit { grid-column: 1 / -1; }
.delphin-formular .delphin-zustimmung { display: flex; gap: 0.75rem; align-items: flex-start; }
.delphin-formular .delphin-zustimmung input { width: 20px; height: 20px; margin-top: 0.2rem; flex: none; }
.delphin-formular .delphin-zustimmung label { font-weight: 400; font-size: 0.9375rem; color: var(--wp--preset--color--schiefer); margin: 0; }
.delphin-formular button { justify-self: start; width: auto; padding-inline: 2rem; }
.delphin-feld-website { position: absolute !important; left: -9999px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .delphin-formular { grid-template-columns: 1fr; } }

.delphin-meldung { padding: 1rem 1.25rem; border-radius: var(--delphin-radius-klein); margin-top: 1.5rem; }
.delphin-meldung--ok { background: #DFF0E3; color: #1D4D2B; border: 1px solid #9CCBA8; }
.delphin-meldung--fehler { background: #F8E1DC; color: #7A2819; border: 1px solid #E0A395; }

/* ---------- Symbole ---------- */
.delphin-symbol { margin: 0 !important; flex: none; }
.delphin-symbol img { display: block; }
.delphin-fakten p { margin: 0; }

/* ---------- Karten der Ferienwohnungen ---------- */
.delphin-wohnungen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
@media (max-width: 1000px) { .delphin-wohnungen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px)  { .delphin-wohnungen { grid-template-columns: 1fr; } }
.delphin-wohnung {
	display: flex; flex-direction: column; background: var(--wp--preset--color--weiss);
	border-radius: var(--delphin-radius); overflow: hidden; box-shadow: var(--delphin-schatten);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.delphin-wohnung:hover { transform: translateY(-3px); box-shadow: var(--delphin-schatten-hoch); }
.delphin-wohnung__bild { display: block; aspect-ratio: 10 / 7; overflow: hidden; background: var(--wp--preset--color--himmelblau); }
.delphin-wohnung__bild img { width: 100%; height: 100%; object-fit: cover; display: block; }
.delphin-wohnung__inhalt { padding: 1.75rem; display: flex; flex-direction: column; gap: 1rem; flex-grow: 1; }
.delphin-wohnung__titel { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
.delphin-wohnung__titel a { color: var(--wp--preset--color--nachtblau); text-decoration: none; }
.delphin-wohnung__titel a:hover { text-decoration: underline; }
.delphin-wohnung__text { margin: 0; color: var(--wp--preset--color--schiefer); }
.delphin-wohnung__fuss { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }

.delphin-badge {
	align-self: flex-start; display: inline-block; padding: 0.35rem 0.8rem; border-radius: 999px;
	background: var(--wp--preset--color--gischt); color: var(--wp--preset--color--nachtblau);
	font-size: 0.8125rem; font-weight: 700;
}
.delphin-daten {
	list-style: none; margin: 0; padding: 0.85rem 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.25rem;
	border-top: 1px solid var(--delphin-linie); border-bottom: 1px solid var(--delphin-linie);
	color: var(--wp--preset--color--nachtblau); font-size: 0.9375rem;
}
.delphin-preis { color: var(--wp--preset--color--schiefer); font-size: 0.9375rem; }
.delphin-preis strong { font-size: 1.5rem; color: var(--wp--preset--color--nachtblau); }
.wp-element-button.delphin-button-dunkel { background: var(--wp--preset--color--nachtblau); padding: 0.7rem 1.25rem; font-size: 0.9375rem; text-decoration: none; }
.wp-element-button.delphin-button-dunkel:hover { background: var(--wp--preset--color--seeblau); }
.delphin-hinweis { padding: 1rem; border: 2px dashed var(--wp--preset--color--seeblau); border-radius: var(--delphin-radius-klein); }

/* Detailseite einer Wohnung */
.delphin-fakten-leiste { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin: 1rem 0 2rem; }
.delphin-fakten-leiste .delphin-daten { border: 0; padding: 0; }
.delphin-fakten-leiste .wp-element-button { text-decoration: none; margin-left: auto; }

/* ---------- Karten, Bilder, Listen ---------- */
.delphin-karte { border-radius: 16px; }
.delphin-karte > * { margin-top: 0; }
.delphin-karte-hell { border: 1px solid var(--delphin-linie); }
.delphin-collage img { border-radius: var(--delphin-radius); }
.delphin-collage .wp-block-column > .wp-block-image + .wp-block-image { margin-top: 1rem; }

.delphin-checkliste { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 1.5rem; }
.delphin-checkliste li { position: relative; padding-left: 1.9rem; color: var(--wp--preset--color--nachtblau); }
.delphin-checkliste li::before {
	content: ""; position: absolute; left: 0; top: 0.3em; width: 1.1rem; height: 1.1rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C6A85' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") no-repeat center / contain;
}
@media (max-width: 560px) { .delphin-checkliste { grid-template-columns: 1fr; } }

/* ---------- Preistabelle ---------- */
.delphin-preise { overflow-x: auto; border-radius: 16px; box-shadow: var(--delphin-schatten); }
.delphin-preise table { border-collapse: collapse; min-width: 640px; background: var(--wp--preset--color--weiss); }
.delphin-preise th, .delphin-preise td { border: 0; border-bottom: 1px solid var(--delphin-linie); padding: 1rem 1.5rem; text-align: left; }
.delphin-preise thead { border: 0; }
.delphin-preise thead th { background: var(--wp--preset--color--nachtblau); color: var(--wp--preset--color--weiss); font-weight: 700; }
.delphin-preise tbody tr:last-child td { border-bottom: 0; }

/* ---------- Fußbereich ---------- */
.delphin-fuss a { color: var(--wp--preset--color--weiss); }
.delphin-fuss a:hover { color: var(--wp--preset--color--himmelblau); }
.delphin-fuss-unten { border-top: 1px solid var(--wp--preset--color--seeblau); }
.delphin-fuss-unten a { color: var(--wp--preset--color--himmelblau); }
.delphin-fuss-unten p { margin: 0; }

/* Sichtbarer Tastaturfokus */
a:focus-visible, button:focus-visible { outline: 2px solid var(--wp--preset--color--signalrot); outline-offset: 3px; }
@media (max-width: 480px) { .delphin-hero h1 { font-size: 2rem !important; } }
