/* =========================================================
   NAWAD Solutions – Design für Blocksy (Child Theme)
   ========================================================= */

/* ---------- Schrift (lokal, kein Google-Server) ---------- */
@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
}

/* ---------- Markenfarben ----------
   Überschreibt die Blocksy-Palette, damit Header-Button, Links
   und Menü automatisch in NAWAD-Farben erscheinen. */
body {
	--nw-green: #076B59;
	--nw-green-dark: #055446;
	--nw-mint: #9FE3CF;
	--nw-ink: #1F2A26;
	--nw-text: #4A5550;
	--nw-muted: #6B7772;
	--nw-line: #DDE5E1;
	--nw-line-soft: #EEF2F0;
	--nw-bg-mint: #EEF6F2;
	--nw-bg-soft: #F4F8F6;
	--nw-label: #E6F4EF;

	--theme-palette-color-1: #076B59;
	--theme-palette-color-2: #055446;
	--theme-palette-color-3: #4A5550;
	--theme-palette-color-4: #1F2A26;
	--theme-palette-color-5: #DDE5E1;
	--theme-palette-color-6: #EEF6F2;
	--theme-palette-color-7: #F4F8F6;
	--theme-palette-color-8: #FFFFFF;

	--theme-font-family: "Manrope", "Segoe UI", system-ui, sans-serif;
}

body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6,
.ct-header,
.ct-footer {
	font-family: "Manrope", "Segoe UI", system-ui, sans-serif !important;
}

/* =========================================================
   Abschnitte
   ========================================================= */
.nw-sec {
	padding: 96px 32px !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	color: var(--nw-ink);
	box-sizing: border-box;
}
.nw-sec.nw-bg-mint { background: var(--nw-bg-mint); }
.nw-sec.nw-bg-soft { background: var(--nw-bg-soft); border-top: 1px solid #E6ECE9; border-bottom: 1px solid #E6ECE9; }
.nw-sec.nw-bg-brand { background: var(--nw-green); padding-top: 64px !important; padding-bottom: 64px !important; }

.nw-sec .nw-wrap {
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Abstände innerhalb der Abschnitte: Flex-Stapel statt Theme-Margins */
.nw-sec .nw-stack {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.nw-sec .nw-stack > *,
.nw-sec .wp-block-column > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.nw-sec .nw-stack.nw-gap-lg { gap: 40px; }
.nw-sec .nw-stack.nw-gap-sm { gap: 10px; }
.nw-sec .nw-intro { max-width: 780px; }
.nw-sec .nw-center { align-items: center; text-align: center; }

/* Spalten */
.nw-sec .wp-block-columns {
	gap: 24px !important;
	margin: 0 !important;
}
.nw-sec .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

/* =========================================================
   Typografie
   ========================================================= */
.nw-sec .nw-eyebrow {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nw-green);
}
.nw-sec .nw-h1 {
	font-size: 58px;
	line-height: 1.06;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--nw-ink);
}
.nw-sec .nw-h2 {
	font-size: 38px;
	line-height: 1.15;
	font-weight: 800;
	color: var(--nw-ink);
}
.nw-sec h3,
.nw-sec .nw-h3 {
	font-size: 19px;
	line-height: 1.35;
	font-weight: 700;
	color: var(--nw-ink);
}
.nw-sec p {
	font-size: 16px;
	line-height: 1.6;
	color: var(--nw-text);
}
.nw-sec .nw-lead {
	font-size: 19px;
	line-height: 1.6;
	color: var(--nw-text);
}
.nw-sec .nw-small {
	font-size: 15px;
	color: var(--nw-text);
}
.nw-sec .nw-trust {
	border-top: 1px solid #C9D9D1;
	padding-top: 18px;
	font-size: 15px;
}

/* Links in Absätzen */
.nw-sec .nw-link a {
	color: var(--nw-green);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}
.nw-sec .nw-link a:hover { color: var(--nw-green-dark); }

/* =========================================================
   Buttons
   ========================================================= */
.nw-sec .wp-block-buttons { gap: 14px; }
.nw-sec .wp-block-button .wp-block-button__link {
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	padding: 15px 26px;
	border-radius: 10px;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color .15s ease, color .15s ease;
}
.nw-sec .nw-btn .wp-block-button__link {
	background: var(--nw-green);
	color: #FFFFFF;
	border: 1.5px solid var(--nw-green);
}
.nw-sec .nw-btn .wp-block-button__link:hover {
	background: var(--nw-green-dark);
	border-color: var(--nw-green-dark);
}
.nw-sec .nw-btn-outline .wp-block-button__link {
	background: #FFFFFF;
	color: var(--nw-green);
	border: 1.5px solid var(--nw-green);
}
.nw-sec .nw-btn-outline .wp-block-button__link:hover {
	background: var(--nw-label);
}
.nw-sec .nw-btn-white .wp-block-button__link {
	background: #FFFFFF;
	color: var(--nw-green-dark);
	border: 1.5px solid #FFFFFF;
	font-weight: 800;
}
.nw-sec .nw-btn-white .wp-block-button__link:hover { background: var(--nw-label); }
.nw-sec .nw-btn-textwhite .wp-block-button__link {
	background: transparent;
	color: #FFFFFF;
	border: 0;
	padding-left: 6px;
	padding-right: 6px;
	text-decoration: underline;
}

/* =========================================================
   Karten, Labels, Icons
   ========================================================= */
.nw-sec .nw-card {
	background: #FFFFFF;
	border: 1px solid var(--nw-line);
	border-radius: 14px;
	padding: 30px;
	gap: 14px;
}
.nw-sec .nw-card.nw-card-featured {
	border: 1.5px solid var(--nw-green);
}
.nw-sec .nw-card .nw-grow { flex-grow: 1; }

.nw-sec .nw-badge {
	align-self: flex-start;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--nw-green);
	background: var(--nw-label);
	padding: 6px 12px;
	border-radius: 20px;
	line-height: 1.3;
}
.nw-sec .nw-badge.nw-badge-muted {
	color: var(--nw-text);
	background: #EEF1EF;
}

.nw-sec .nw-product {
	font-size: 24px;
	font-weight: 800;
	color: var(--nw-ink);
}
.nw-sec .nw-claim {
	font-size: 18px;
	font-weight: 700;
	color: var(--nw-ink);
}

.nw-icon-circle {
	width: 48px;
	height: 48px;
	border-radius: 24px;
	background: var(--nw-green);
	display: flex;
	align-items: center;
	justify-content: center;
}
.nw-icon-circle svg { width: 22px; height: 22px; stroke: #FFFFFF; }
.nw-icon-line svg { width: 40px; height: 40px; stroke: var(--nw-green); display: block; }
.nw-icon-sm svg { width: 30px; height: 30px; stroke: var(--nw-green); display: block; }

.nw-sec .nw-step-num {
	font-size: 36px;
	font-weight: 800;
	line-height: 1;
	color: var(--nw-green);
}

/* =========================================================
   Hero
   ========================================================= */
@media (min-width: 782px) {
	.nw-hero .nw-hero-cols > .wp-block-column:first-child { flex: 5 1 0 !important; }
	.nw-hero .nw-hero-cols > .wp-block-column:last-child { flex: 6 1 0 !important; }
	.nw-hero .nw-hero-cols { gap: 56px !important; align-items: center !important; }
}

/* App-Ansicht im Hero (Platzhalter bis zum echten Screenshot) */
.nw-mock {
	background: #FFFFFF;
	border: 1px solid var(--nw-line);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 24px 48px rgba(7, 60, 50, 0.12);
	font-family: inherit;
}
.nw-mock-bar {
	display: flex;
	gap: 7px;
	align-items: center;
	padding: 11px 16px;
	border-bottom: 1px solid #E6ECE9;
	background: #F7FAF8;
}
.nw-mock-bar span { width: 10px; height: 10px; border-radius: 5px; background: #D3DAD6; }
.nw-mock-bar em { margin-left: 12px; font-size: 12px; font-style: normal; color: var(--nw-muted); }
.nw-mock-body { padding: 20px 22px; }
.nw-mock-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 14px; }
.nw-mock-head strong { font-size: 18px; font-weight: 800; color: var(--nw-ink); }
.nw-mock-head b { font-size: 12px; font-weight: 700; color: #FFFFFF; background: var(--nw-green); padding: 7px 12px; border-radius: 8px; }
.nw-mock-search { border: 1px solid var(--nw-line); border-radius: 8px; padding: 9px 12px; font-size: 12px; color: var(--nw-muted); margin-bottom: 10px; }
.nw-mock-row {
	display: grid;
	grid-template-columns: 1.5fr 1.3fr 1fr 0.5fr 0.8fr;
	gap: 8px;
	font-size: 13px;
	padding: 10px 0;
	border-bottom: 1px solid var(--nw-line-soft);
	color: var(--nw-text);
}
.nw-mock-row span:first-child { font-weight: 600; color: var(--nw-ink); }
.nw-mock-row .r { text-align: right; font-variant-numeric: tabular-nums; }
.nw-mock-row.nw-mock-th { font-size: 11px; font-weight: 700; letter-spacing: 0.05em; color: var(--nw-muted); border-bottom: 1px solid var(--nw-line); padding: 8px 0; }
.nw-mock-row.nw-mock-th span:first-child { color: var(--nw-muted); font-weight: 700; }

/* =========================================================
   Custom Solutions
   ========================================================= */
@media (min-width: 782px) {
	.nw-custom .nw-custom-cols > .wp-block-column:first-child { flex: 3 1 0 !important; }
	.nw-custom .nw-custom-cols > .wp-block-column:last-child { flex: 1 1 0 !important; }
	.nw-custom .nw-custom-cols { gap: 48px !important; }
	.nw-custom .nw-side {
		border-left: 1px solid var(--nw-line);
		padding-left: 32px;
		margin-top: 44px !important;
	}
}
.nw-custom .nw-features { margin-top: 8px !important; gap: 20px !important; }
.nw-custom .nw-features h3 { font-size: 16px; }
.nw-custom .nw-features p { font-size: 15px; }

/* =========================================================
   Experience / Founder
   ========================================================= */
@media (min-width: 782px) {
	.nw-exp .nw-exp-cols > .wp-block-column:first-child { flex: 7 1 0 !important; }
	.nw-exp .nw-exp-cols > .wp-block-column:last-child { flex: 5 1 0 !important; }
	.nw-exp .nw-exp-cols { gap: 48px !important; align-items: center !important; }
}
.nw-sec .nw-quote {
	background: #FFFFFF;
	border: 1px solid var(--nw-line);
	border-radius: 14px;
	padding: 26px 28px 26px 72px;
	position: relative;
}
.nw-sec .nw-quote::before {
	content: "\201C";
	position: absolute;
	left: 26px;
	top: 14px;
	font-size: 56px;
	font-weight: 800;
	line-height: 1;
	color: var(--nw-green);
}
.nw-sec .nw-quote p { font-size: 17px; color: var(--nw-ink); }

.nw-sec .nw-founder {
	background: #FFFFFF;
	border: 1px solid var(--nw-line);
	border-radius: 16px;
	padding: 28px;
	display: flex;
	gap: 24px;
	align-items: center;
}
.nw-sec .nw-founder > * { margin: 0 !important; }
.nw-sec .nw-portrait {
	width: 120px;
	min-width: 120px;
	height: 140px;
	border-radius: 12px;
	background: #EEF1EF;
	border: 1px dashed #B9C6C0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 13px;
	color: var(--nw-muted);
	overflow: hidden;
}
.nw-sec .nw-portrait img { width: 100%; height: 100%; object-fit: cover; }
.nw-sec .nw-name { font-size: 21px; font-weight: 800; color: var(--nw-ink); }
.nw-sec .nw-role { font-size: 15px; font-weight: 700; color: var(--nw-green); }

/* =========================================================
   CTA-Band
   ========================================================= */
.nw-bg-brand .nw-h2 { color: #FFFFFF; font-size: 36px; }
.nw-bg-brand p { color: #E6F4EF; font-size: 18px; }
@media (min-width: 782px) {
	.nw-cta .nw-cta-cols { align-items: center !important; }
	.nw-cta .nw-cta-cols > .wp-block-column:first-child { flex: 2 1 0 !important; }
	.nw-cta .nw-cta-cols > .wp-block-column:last-child { flex: 1 1 0 !important; align-items: flex-end; }
}

/* =========================================================
   Mobil
   ========================================================= */
@media (max-width: 781px) {
	.nw-sec { padding: 64px 20px !important; }
	.nw-sec .nw-h1 { font-size: 40px; }
	.nw-sec .nw-h2 { font-size: 30px; }
	.nw-sec .nw-lead { font-size: 17px; }
	.nw-sec .nw-founder { flex-direction: column; align-items: flex-start; }
	.nw-mock-row { grid-template-columns: 1.6fr 1.2fr 1fr; }
	.nw-mock-row span:nth-child(4),
	.nw-mock-row span:nth-child(5) { display: none; }
}

/* =========================================================
   Unterseiten (ab 1.1.0)
   ========================================================= */
.nw-sec .nw-h1-page { font-size: 48px; line-height: 1.1; font-weight: 800; letter-spacing: -0.015em; color: var(--nw-ink); }
.nw-sec.nw-pagehero { padding-top: 80px !important; padding-bottom: 80px !important; }
.nw-sec .nw-narrow { max-width: 780px; }

/* Zwei- und Dreierraster mit mehreren Zeilen */
.nw-sec .nw-rows { display: flex; flex-direction: column; gap: 24px; }

/* Nummerierte Schritte als Liste */
.nw-sec ol.nw-steps { counter-reset: nwstep; list-style: none; padding: 0 !important; margin: 0 !important; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.nw-sec ol.nw-steps li { counter-increment: nwstep; background: #FFFFFF; border: 1px solid var(--nw-line); border-radius: 14px; padding: 22px; font-size: 15px; line-height: 1.55; color: var(--nw-text); margin: 0 !important; }
.nw-sec ol.nw-steps li::before { content: counter(nwstep, decimal-leading-zero); display: block; font-size: 28px; font-weight: 800; color: var(--nw-green); margin-bottom: 8px; }
@media (max-width: 1000px) { .nw-sec ol.nw-steps { grid-template-columns: minmax(0, 1fr); } }

/* FAQ */
.nw-sec .wp-block-details { border-bottom: 1px solid var(--nw-line); padding: 18px 0; margin: 0 !important; }
.nw-sec .wp-block-details summary { font-size: 18px; font-weight: 700; color: var(--nw-ink); cursor: pointer; }
.nw-sec .wp-block-details p { margin-top: 10px !important; }

/* Platzhalter für Formular / Buchung */
.nw-sec .nw-placeholder { border: 1.5px dashed #B9C6C0; border-radius: 12px; padding: 24px; background: #F7FAF8; }
.nw-sec .nw-placeholder p { font-size: 14px; color: var(--nw-muted); }

/* Rechtstexte */
.nw-sec.nw-legal h2 { font-size: 20px; font-weight: 700; color: var(--nw-ink); margin-top: 12px !important; }
.nw-sec.nw-legal p { font-size: 16px; }

/* Kontakt-Spalten */
@media (min-width: 782px) {
	.nw-contact .nw-contact-cols > .wp-block-column:first-child { flex: 7 1 0 !important; }
	.nw-contact .nw-contact-cols > .wp-block-column:last-child { flex: 5 1 0 !important; }
	.nw-contact .nw-contact-cols { gap: 32px !important; }
}
.nw-sec .nw-card h2 { font-size: 22px; font-weight: 800; color: var(--nw-ink); }
