/* Schritte zur Klarheit – Anfrageformular */
.szk-form {
	--szk-gruen: #83AA8B;
	--szk-gruen-hell: #EEF3EF;
	--szk-dunkel: #323335;
	max-width: 640px;
	margin: 0 auto;
	text-align: left;
}
.szk-form .szk-row { margin-bottom: 1.25rem; }
.szk-form label { display: block; font-weight: 600; margin-bottom: .35rem; color: var(--szk-dunkel); }
.szk-form input[type="text"],
.szk-form input[type="email"],
.szk-form input[type="tel"],
.szk-form input[type="number"],
.szk-form select,
.szk-form textarea {
	width: 100%;
	padding: .7rem .8rem;
	border: 1px solid #cfd6d0;
	border-radius: 5px;
	font: inherit;
	background: #fff;
	box-sizing: border-box;
}
.szk-form input:focus,
.szk-form select:focus,
.szk-form textarea:focus {
	outline: none;
	border-color: var(--szk-gruen);
	box-shadow: 0 0 0 2px rgba( 131, 170, 139, .3 );
}
.szk-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media ( max-width: 560px ) { .szk-grid { grid-template-columns: 1fr; } }

/* Kalender */
.szk-cal { border: 1px solid #cfd6d0; border-radius: 6px; padding: .75rem; background: #fff; }
.szk-cal-loading { text-align: center; margin: .5rem 0; color: #6b736c; }
.szk-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.szk-cal-title { font-weight: 700; color: var(--szk-dunkel); }
.szk-nav {
	border: none; background: var(--szk-gruen-hell); color: var(--szk-dunkel);
	width: 2rem; height: 2rem; border-radius: 5px; cursor: pointer; font-size: 1.2rem; line-height: 1;
}
.szk-nav:hover { background: var(--szk-gruen); color: #fff; }
.szk-nav-off { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; font-size: 1.2rem; opacity: .25; cursor: default; }
.szk-cal-grid { display: grid; grid-template-columns: repeat( 7, 1fr ); gap: 3px; }
.szk-wd { text-align: center; font-size: .75rem; color: #6b736c; padding: .25rem 0; font-weight: 600; }
.szk-day {
	aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center;
	border: none; border-radius: 5px; font: inherit; font-size: .95rem;
}
.szk-empty { background: transparent; }
.szk-blocked { color: #c3c8c4; background: #f6f7f6; text-decoration: line-through; }
.szk-free { background: var(--szk-gruen-hell); color: var(--szk-dunkel); cursor: pointer; }
.szk-free:hover { background: var(--szk-gruen); color: #fff; }
.szk-chosen { background: var(--szk-gruen) !important; color: #fff !important; font-weight: 700; }
.szk-selected { margin-top: .5rem; font-weight: 600; color: var(--szk-gruen); }

/* Consent + Honeypot */
.szk-consent label { font-weight: 400; display: flex; gap: .5rem; align-items: flex-start; font-size: .9rem; }
.szk-consent input { margin-top: .25rem; }
.szk-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }

/* Button */
.szk-submit {
	background: #000; color: #fff; border: none; border-radius: 5px;
	padding: .85rem 1.75rem; font: inherit; font-weight: 500; cursor: pointer;
}
.szk-submit:hover { background: var(--szk-dunkel); }
.szk-submit:disabled { opacity: .6; cursor: default; }

/* Angebot-Detailtabelle */
.szk-details { max-width: 640px; margin: 1.5rem auto; }
.szk-details-list { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.szk-details-list li { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 0; border-bottom: 1px solid #e4e9e5; }
.szk-dt-label { font-weight: 600; color: #6b736c; }
.szk-dt-value { color: #323335; text-align: right; }
.szk-details-cta { text-align: center; margin-top: 1.5rem; }
.szk-details-cta .szk-submit { display: inline-block; text-decoration: none; }

/* Meldungen */
.szk-message { margin-top: 1rem; padding: .75rem 1rem; border-radius: 5px; }
.szk-message:empty { display: none; }
.szk-ok { background: #e6f4ea; color: #1e5631; }
.szk-err { background: #fbeaea; color: #8a1f1f; }

/* Angebotsauswahl per Bild-Kacheln */
.szk-angebote {
	display: grid;
	grid-template-columns: repeat( auto-fill, minmax( 150px, 1fr ) );
	gap: 0.75rem;
}
.szk-angebot-card {
	position: relative;
	display: flex;
	flex-direction: column;
	border: 2px solid #cfd6d0;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
	background: #fff;
	transition: border-color .15s, box-shadow .15s;
}
.szk-angebot-card input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.szk-angebot-media {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	background: var( --szk-gruen-hell, #EEF3EF ) center / cover no-repeat;
}
.szk-angebot-title {
	padding: 0.6rem 0.5rem;
	text-align: center;
	font-weight: 600;
	font-size: 0.95rem;
	color: var( --szk-dunkel, #323335 );
}
.szk-angebot-card:hover { border-color: var( --szk-gruen, #83AA8B ); }
.szk-angebot-card.is-selected {
	border-color: var( --szk-gruen, #83AA8B );
	box-shadow: 0 0 0 2px rgba( 131, 170, 139, .35 );
}
.szk-angebot-card input:focus-visible + .szk-angebot-media {
	outline: 2px solid var( --szk-gruen, #83AA8B );
	outline-offset: 2px;
}

/* Hinweis, wenn Verfügbarkeit nicht prüfbar war */
.szk-cal-note {
	margin: 0.75rem 0 0;
	font-size: 0.85rem;
	color: #6b736c;
	text-align: center;
}
