/* cloud56 – ergänzende Styles zu theme.json */

:root {
	--c56-radius-s: var(--wp--custom--radius--s, 8px);
	--c56-radius-m: var(--wp--custom--radius--m, 14px);
	--c56-radius-l: var(--wp--custom--radius--l, 24px);
	--c56-shadow: var(--wp--custom--shadow--card);
}

html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 96px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
img { height: auto; }
::selection { background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); }

/* ---------- Header ---------- */
.c56-topbar { font-size: .8125rem; }
.c56-topbar a { color: inherit; text-decoration: none; }
.c56-topbar a:hover { color: var(--wp--preset--color--sun); }

.c56-sticky { position: sticky; top: 0; z-index: 50; }
.c56-header {
	/* deckend statt backdrop-filter: der würde das mobile Vollbild-Menü auf Header-Höhe begrenzen */
	background: #fff;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .c56-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .c56-header { top: 0; } }
.c56-header .wp-block-site-logo img { width: 150px; filter: brightness(0); } /* Logo liegt weiß vor → im Header dunkel */

.c56-header .wp-block-navigation .wp-block-navigation-item__content { padding: .5rem .25rem; }
.c56-header .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--ember); }

/* Mega-Menü-artige Untermenüs */
.c56-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: var(--c56-radius-m);
	box-shadow: 0 18px 48px rgba(17,26,46,.14);
	padding: .5rem !important;
	min-width: 280px !important;
}
.c56-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	border-radius: var(--c56-radius-s);
	padding: .65rem .85rem !important;
	font-weight: 600;
}
.c56-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--sun-soft); }
.c56-header .wp-block-navigation-item__description { display: block; font-weight: 400; font-size: .8125rem; color: var(--wp--preset--color--muted); margin-top: 2px; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; border: 0 !important; padding: 0 0 .75rem !important; }
.c56-header .is-menu-open .wp-block-navigation__responsive-container-content,
.c56-header .is-menu-open .wp-block-navigation__container,
.c56-header .is-menu-open .wp-block-navigation-item,
.c56-header .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; width: 100%; }
.c56-header .is-menu-open .wp-block-navigation__container { gap: .25rem !important; padding-top: 1rem; }
.c56-header .is-menu-open .wp-block-navigation-item__description { display: none !important; }
.c56-header .is-menu-open .wp-block-navigation-item__content { white-space: normal; display: block; font-size: 1.125rem; }
.c56-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; padding: .5rem 0 !important; }
.c56-header .is-menu-open .wp-block-navigation-item.has-child > .wp-block-navigation-item__content { font-weight: 800; color: var(--wp--preset--color--ember); text-transform: uppercase; letter-spacing: .08em; font-size: .8125rem; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, transform .15s ease; }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-ghost .wp-block-button__link {
	background: transparent; color: currentColor; box-shadow: inset 0 0 0 2px currentColor;
}
.wp-block-button.is-style-ghost .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: #fff; box-shadow: inset 0 0 0 2px var(--wp--preset--color--ink); }
.has-ink-background-color .wp-block-button.is-style-ghost .wp-block-button__link:hover,
.has-navy-background-color .wp-block-button.is-style-ghost .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); box-shadow: inset 0 0 0 2px #fff; }

.wp-block-button.is-style-arrow .wp-block-button__link {
	background: none; color: var(--wp--preset--color--ink); padding: 0; border-radius: 0;
	box-shadow: inset 0 -2px 0 var(--wp--preset--color--sun);
}
.wp-block-button.is-style-arrow .wp-block-button__link::after { content: " →"; display: inline-block; transition: transform .15s ease; }
.wp-block-button.is-style-arrow .wp-block-button__link:hover { color: var(--wp--preset--color--ember); background: none; }
.wp-block-button.is-style-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }

/* ---------- Text-Stile ---------- */
.is-style-eyebrow {
	text-transform: uppercase; letter-spacing: .12em; font-size: .8125rem !important; font-weight: 700;
	color: var(--wp--preset--color--ember);
}
.has-ink-background-color .is-style-eyebrow, .has-navy-background-color .is-style-eyebrow { color: var(--wp--preset--color--sun); }
p.is-style-badge {
	display: inline-block; width: fit-content; margin-bottom: 0;
	background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink);
	font-size: .75rem !important; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
	padding: .3rem .7rem; border-radius: 999px; line-height: 1.2;
}
.c56-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); }
.has-ink-background-color .c56-lead, .has-navy-background-color .c56-lead { color: #C9D1DE; }

/* ---------- Karten ---------- */
.wp-block-group.is-style-card,
.wp-block-group.is-style-card-featured {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--c56-radius-l);
	padding: clamp(1.4rem, 2.5vw, 2rem);
	box-shadow: var(--c56-shadow);
	position: relative;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.is-layout-grid > .is-style-card, .is-layout-grid > .is-style-card-featured { height: 100%; }
.wp-block-group.is-style-card:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(17,26,46,.06), 0 20px 40px rgba(17,26,46,.1); border-color: #cfd5df; }
.wp-block-group.is-style-card-featured { border: 2px solid var(--wp--preset--color--sun); box-shadow: 0 20px 48px rgba(242,140,40,.16); }
.wp-block-group.is-style-card > .wp-block-buttons:last-child,
.wp-block-group.is-style-card-featured > .wp-block-buttons:last-child { margin-top: auto; padding-top: .5rem; }
.wp-block-group.is-style-card.is-layout-flex, .wp-block-group.is-style-card-featured.is-layout-flex { align-items: stretch; }
.is-style-card-featured > .is-style-badge:first-child { position: absolute; top: -0.8rem; left: 1.5rem; }

/* Preis */
.c56-price { font-size: clamp(2rem, 3.5vw, 2.6rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1; margin: 0; }
.c56-price small, .c56-price .c56-per { font-size: .95rem; font-weight: 600; color: var(--wp--preset--color--muted); letter-spacing: 0; }
.c56-from { font-size: .8125rem; color: var(--wp--preset--color--muted); margin: 0; }
.c56-note { font-size: .8125rem; color: var(--wp--preset--color--muted); }

/* ---------- Listen ---------- */
ul.is-style-checks { list-style: none; padding-left: 0; }
ul.is-style-checks li { position: relative; padding-left: 1.85rem; margin: .45rem 0; }
ul.is-style-checks li::before {
	content: ""; position: absolute; left: 0; top: .2em; width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: var(--wp--preset--color--sun-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111A2E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 62% no-repeat;
}
.has-ink-background-color ul.is-style-checks li::before, .has-navy-background-color ul.is-style-checks li::before { background-color: var(--wp--preset--color--sun); }

/* ---------- Icons (CSS-Masken, Farbe = currentColor) ---------- */
.c56-icon {
	width: 3.25rem; height: 3.25rem; min-height: 3.25rem; flex-shrink: 0; border-radius: 16px;
	background: var(--wp--preset--color--sun-soft); position: relative; margin: 0 !important;
}
.c56-icon::after {
	content: ""; position: absolute; inset: 22%;
	background: var(--wp--preset--color--ink);
	-webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat;
}
.has-ink-background-color .c56-icon, .has-navy-background-color .c56-icon { background: rgba(255,201,60,.14); }
.has-ink-background-color .c56-icon::after, .has-navy-background-color .c56-icon::after { background: var(--wp--preset--color--sun); }
.c56-icon--sm { width: 2.5rem; height: 2.5rem; min-height: 2.5rem; border-radius: 12px; }

.c56-icon--server  { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='3' width='18' height='7' rx='2'/%3E%3Crect x='3' y='14' width='18' height='7' rx='2'/%3E%3Cpath d='M7 6.5h.01M7 17.5h.01M11 6.5h6M11 17.5h6'/%3E%3C/svg%3E"); }
.c56-icon--wordpress { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M6 8.5l4 10.5 2-6 2 6 4-10.5M5 8.5h3M12 8.5h3'/%3E%3C/svg%3E"); }
.c56-icon--globe   { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.7 3.8 5.7 3.8 9s-1.3 6.3-3.8 9c-2.5-2.7-3.8-5.7-3.8-9S9.5 5.7 12 3z'/%3E%3C/svg%3E"); }
.c56-icon--mail    { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3.5 6.5l8.5 6.5 8.5-6.5'/%3E%3C/svg%3E"); }
.c56-icon--cloud   { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18a4.5 4.5 0 01-.6-8.96A6 6 0 0118 9a4.5 4.5 0 01-1 9H7z'/%3E%3Cpath d='M12 11v5M9.5 13.5L12 11l2.5 2.5'/%3E%3C/svg%3E"); }
.c56-icon--office  { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='8' height='8' rx='1.5'/%3E%3Crect x='13' y='3' width='8' height='8' rx='1.5'/%3E%3Crect x='3' y='13' width='8' height='8' rx='1.5'/%3E%3Crect x='13' y='13' width='8' height='8' rx='1.5'/%3E%3C/svg%3E"); }
.c56-icon--wifi    { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M2.5 9a14 14 0 0119 0M5.5 12.5a9.5 9.5 0 0113 0M8.5 16a5 5 0 017 0'/%3E%3Ccircle cx='12' cy='19.5' r='.6' fill='black'/%3E%3C/svg%3E"); }
.c56-icon--shield  { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.2-8 9-4.6-.8-8-4.5-8-9V6l8-3z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.c56-icon--users   { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.6-3.4 3.3-5.5 6.5-5.5s5.9 2.1 6.5 5.5M16 4.8a3.5 3.5 0 010 6.4M18 14.8c1.9.7 3.2 2.5 3.5 5.2'/%3E%3C/svg%3E"); }
.c56-icon--pin     { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0114 0C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
.c56-icon--clock   { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E"); }
.c56-icon--rocket  { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 4c3-1 5.5-1 6-.5S20.5 7 19.5 10L13 16.5 7.5 11 14 4z'/%3E%3Cpath d='M7.5 11L4 10.5 7 7.5h4M13 16.5l.5 3.5 3-3v-4M5 19c0-1.7 1-3 2.5-3S9 17.5 7.5 18.5 5 19 5 19z'/%3E%3C/svg%3E"); }
.c56-icon--support { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0116 0v2'/%3E%3Crect x='3' y='13.5' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='13.5' width='4' height='6' rx='1.5'/%3E%3Cpath d='M19 19.5c0 1.2-1.5 2-4 2h-2'/%3E%3C/svg%3E"); }
.c56-icon--sync    { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 00-14.3-4.6L4 8.5M4 13a8 8 0 0014.3 4.6l1.7-2.1'/%3E%3Cpath d='M4 4v4.5h4.5M20 20v-4.5h-4.5'/%3E%3C/svg%3E"); }
.c56-icon--move    { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='7' width='12' height='10' rx='1.5'/%3E%3Cpath d='M14.5 10h3.5l3.5 3.5V17h-7'/%3E%3Ccircle cx='7' cy='18' r='1.8'/%3E%3Ccircle cx='17.5' cy='18' r='1.8'/%3E%3C/svg%3E"); }
.c56-icon--wrench  { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.5 6.5a4 4 0 005 5l-8.5 8.5a2.1 2.1 0 01-3-3l8.5-8.5a4 4 0 01-2-2z'/%3E%3Cpath d='M14.5 6.5L17.5 3.5a4 4 0 014.5 2.5'/%3E%3C/svg%3E"); }
.c56-icon--gauge   { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3.5 17a9 9 0 1117 0'/%3E%3Cpath d='M12 14l4-5'/%3E%3Ccircle cx='12' cy='14.5' r='1.2' fill='black'/%3E%3C/svg%3E"); }
.c56-icon--key     { --i: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4.5'/%3E%3Cpath d='M11.2 11.8L20 3M16.5 6.5L19 9M14 9l2 2'/%3E%3C/svg%3E"); }

/* ---------- Hero ---------- */
.c56-hero { position: relative; overflow: hidden; }
.c56-hero::before {
	content: ""; position: absolute; z-index: 0; width: 720px; height: 720px; right: -220px; top: -260px; border-radius: 50%;
	background: radial-gradient(circle at 40% 40%, var(--wp--preset--color--sun) 0, rgba(255,201,60,.55) 38%, rgba(255,201,60,0) 70%);
	opacity: .55; pointer-events: none;
}
.c56-hero > * { position: relative; z-index: 1; }
.c56-hero h1 mark { background: linear-gradient(transparent 62%, var(--wp--preset--color--sun) 62%, var(--wp--preset--color--sun) 92%, transparent 92%); color: inherit; padding: 0 .08em; }
.c56-hero__art img { filter: drop-shadow(0 30px 50px rgba(17,26,46,.15)); }

.c56-trust { gap: .5rem 1.5rem !important; }
.c56-trust p { margin: 0; font-size: .9rem; font-weight: 600; display: flex; align-items: center; gap: .5rem; }
.c56-trust p::before {
	content: ""; width: 1.15rem; height: 1.15rem; border-radius: 50%; flex-shrink: 0;
	background: var(--wp--preset--color--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 60% no-repeat;
}

/* Seitentitel-Band (Unterseiten) */
.c56-pagehead { background: linear-gradient(180deg, var(--wp--preset--color--sun-soft), #fff); }

/* Kennzahlen */
.c56-stat { font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -.03em; line-height: 1; margin: 0; }

/* Zitat */
.c56-quote { border: 0 !important; padding: 0 !important; margin: 0; }
.c56-quote p { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 700; letter-spacing: -.02em; line-height: 1.3; }
.c56-quote cite { font-style: normal; font-size: .95rem; color: var(--wp--preset--color--muted); }
.c56-quote cite strong { color: var(--wp--preset--color--ink); }

/* Nummerierte Schritte */
.c56-step-num { font-size: .875rem !important; font-weight: 800; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--sun); width: 2.2rem; height: 2.2rem; border-radius: 50%; display: grid; place-items: center; margin: 0; flex-shrink: 0; }

/* FAQ */
.wp-block-details summary { font-weight: 700; font-size: 1.0625rem; cursor: pointer; list-style: none; position: relative; padding-right: 2.5rem; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	width: 1.8rem; height: 1.8rem; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--mist); font-weight: 600; font-size: 1.2rem; transition: transform .2s ease, background .2s ease;
}
.wp-block-details[open] summary::after { content: "–"; background: var(--wp--preset--color--sun); }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--muted); margin-top: .75rem; }

/* Tabellen */
.wp-block-table table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--wp--preset--color--line); border-radius: var(--c56-radius-m); overflow: hidden; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: .85rem 1rem; text-align: left; }
.wp-block-table thead th { background: var(--wp--preset--color--mist); font-size: .8125rem; text-transform: uppercase; letter-spacing: .06em; }
.wp-block-table tbody tr:last-child td { border-bottom: 0; }
.wp-block-table tbody tr:hover td { background: #FFFBEF; }
.wp-block-table thead { border: 0; }
@media (max-width: 640px) { .wp-block-table { overflow-x: auto; } .wp-block-table table { min-width: 560px; } }

/* Login-Kacheln */
.c56-login a { text-decoration: none; font-weight: 600; }

/* ---------- Formulare (Contact Form 7) ---------- */
.wpcf7 form { display: grid; gap: 1rem; }
.wpcf7 label { display: block; font-weight: 600; font-size: .9rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
	width: 100%; margin-top: .35rem; padding: .8rem 1rem; font: inherit; font-weight: 400; color: inherit;
	border: 1.5px solid var(--wp--preset--color--line); border-radius: var(--c56-radius-s); background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { outline: 0; border-color: var(--wp--preset--color--ink); box-shadow: 0 0 0 4px rgba(255,201,60,.35); }
.wpcf7 textarea { min-height: 140px; }
.wpcf7 .wpcf7-checkbox, .wpcf7 .wpcf7-acceptance { display: flex; flex-wrap: wrap; gap: .5rem; font-weight: 400; }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-checkbox .wpcf7-list-item label { border: 1.5px solid var(--wp--preset--color--line); border-radius: 999px; padding: .45rem .9rem; font-weight: 500; cursor: pointer; display: flex; gap: .4rem; align-items: center; }
.wpcf7 .wpcf7-checkbox .wpcf7-list-item label:has(input:checked) { border-color: var(--wp--preset--color--ink); background: var(--wp--preset--color--sun-soft); }
.wpcf7 .wpcf7-acceptance label { font-weight: 400; font-size: .875rem; color: var(--wp--preset--color--muted); }
.wpcf7 input[type="submit"] {
	justify-self: start; border: 0; cursor: pointer; font: inherit; font-weight: 700;
	background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); padding: .9rem 1.8rem; border-radius: 999px;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--ink); color: #fff; }
.wpcf7, .wpcf7 * { box-sizing: border-box; }
.wpcf7 fieldset.hidden-fields-container, .wpcf7 .hidden-fields-container { display: none; }
.wpcf7 .screen-reader-response { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 .wpcf7-not-valid-tip { display: block; color: #C0392B; font-size: .8125rem; font-weight: 500; margin-top: .3rem; }
.wpcf7 .wpcf7-not-valid { border-color: #C0392B !important; }
.wpcf7 .wpcf7-response-output { margin: 0; padding: .8rem 1rem; border-radius: var(--c56-radius-s); font-size: .9rem; border: 1.5px solid var(--wp--preset--color--line); }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form.resetting .wpcf7-response-output, .wpcf7 form.submitting .wpcf7-response-output { display: none; }
.wpcf7 form.sent .wpcf7-response-output { border-color: var(--wp--preset--color--leaf); background: #EAF7F1; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: #C0392B; background: #FDEDEC; }
.wpcf7 .wpcf7-spinner { display: none; }
.wpcf7 form.submitting .wpcf7-spinner { display: inline-block; width: 20px; height: 20px; margin-left: .5rem; border-radius: 50%; border: 3px solid var(--wp--preset--color--line); border-top-color: var(--wp--preset--color--ink); animation: c56spin .8s linear infinite; }
@keyframes c56spin { to { transform: rotate(360deg); } }
.c56-plan .wp-block-buttons, .c56-plan .wp-block-button, .c56-plan .wp-block-button__link { width: 100%; text-align: center; white-space: nowrap; }
.c56-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 640px) { .c56-form-row { grid-template-columns: 1fr; } }

/* ---------- Footer ---------- */
.c56-footer a { color: #C9D1DE; text-decoration: none; }
.c56-footer a:hover { color: var(--wp--preset--color--sun); }
.c56-footer h2 { font-size: .8125rem !important; letter-spacing: .12em; text-transform: uppercase; color: #fff; font-weight: 700; }
.c56-footer ul { list-style: none; padding: 0; margin: 0; }
.c56-footer li { margin: .45rem 0; }
.c56-footer .wp-block-site-logo img { width: 160px; }



/* ---------- Abschnitte ---------- */
.c56-section { padding-block: var(--wp--preset--spacing--60); }
.c56-section--tight { padding-block: var(--wp--preset--spacing--50); }
.c56-hero { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.c56-hero--page { padding-block: var(--wp--preset--spacing--50); }
.c56-hero--page h1 { font-size: var(--wp--preset--font-size--xx-large); }
.c56-intro { margin-bottom: var(--wp--preset--spacing--40); gap: .6rem; }
.c56-intro--center { align-items: center; text-align: center; max-width: 760px; margin-inline: auto; }
.c56-intro .c56-lead { margin: 0; }
.c56-hero__badge .c56-icon { width: clamp(9rem, 18vw, 14rem); height: clamp(9rem, 18vw, 14rem); border-radius: 36%; background: var(--wp--preset--color--sun); box-shadow: 0 30px 60px rgba(242,140,40,.25); transform: rotate(-6deg); }
.c56-hero__badge .c56-icon::after { inset: 26%; }
.c56-card-top { width: 100%; align-items: flex-start !important; }
.c56-feature { gap: .5rem; }
.c56-feature h4 { margin-top: .4rem; }
.c56-feature p { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; }
.has-navy-background-color .c56-feature p, .has-ink-background-color .c56-feature p { color: #C9D1DE; }
.c56-plans { align-items: stretch; }
.c56-plan ul.is-style-checks { font-size: .95rem; margin-block: .25rem; }
.c56-steps { gap: 1.25rem; margin-block: 1.5rem; }
.c56-step { gap: 1rem !important; }
.c56-step h4 { margin: 0 0 .2rem; color: inherit; }
.c56-step p { margin: 0; }
.c56-dark h2, .c56-dark h3, .c56-dark h4 { color: #fff; }
.c56-dark .c56-step p:not(.c56-step-num) { color: #C9D1DE; }
.c56-quote-card { color: var(--wp--preset--color--ink); gap: 1.75rem; }
.c56-stats { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; gap: 1rem; }
.c56-stats .c56-stat { font-size: 1.9rem; }
.c56-stats .c56-note { margin: .2rem 0 0; }
.c56-cta-band { background: var(--wp--preset--color--sun); border-radius: var(--c56-radius-l); padding: clamp(1.75rem, 4vw, 3.5rem); position: relative; overflow: hidden; }
.c56-cta-band::after { content: ""; position: absolute; width: 340px; height: 340px; right: -120px; bottom: -180px; border-radius: 50%; background: var(--wp--preset--color--ember); opacity: .25; }
.c56-cta-band > * { position: relative; z-index: 1; }
.c56-cta-band h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 0; }
.c56-cta-band .wp-block-button:not(.is-style-ghost) .wp-block-button__link { background: var(--wp--preset--color--ink); color: #fff; }
.c56-cta-band .wp-block-button:not(.is-style-ghost) .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--ink); }
.c56-faq { gap: 0 !important; }
.c56-faq > .wp-block-details { width: 100%; align-self: stretch; margin: 0; }
.c56-header .wp-block-navigation-item__content, .c56-header-cta .wp-block-button__link { white-space: nowrap; }
/* Hamburger-Menü schon unter 1200px statt erst unter 600px (volle Navigation braucht ~1150px) */
@media (max-width: 1199px) {
	.c56-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.c56-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
}
.c56-faq .wp-block-details:first-child { border-top: 1px solid var(--wp--preset--color--line); }
ul.c56-login { list-style: none; padding: 0; }
ul.c56-login li { margin: .4rem 0; }
.c56-ticket { min-height: 720px; display: block; }
@media (max-width: 781px) {
	.c56-cta-band .wp-block-buttons { justify-content: flex-start !important; }
	.c56-hero__badge { display: none !important; }
}
@media (max-width: 600px) {
	.c56-header .c56-header-cta { display: none !important; }
	.c56-topbar .wp-block-group > p:last-child { display: none; }
}

/* ---------- Korrekturen Runde 2 ---------- */

/* Abschnitte stoßen direkt aneinander – Abstand kommt nur aus dem eigenen Padding (symmetrisch). */
.wp-block-post-content > .c56-section, .wp-site-blocks > footer, .wp-site-blocks > main { margin-block: 0 !important; }
.c56-section--flush { padding-block: 0; }
/* Gelbes CTA-Band: oben und unten gleich viel Luft bis zum Nachbarn bzw. Footer. */
.c56-section--tight { padding-block: var(--wp--preset--spacing--60); }
/* Zwei weiße Abschnitte hintereinander: kein doppelter Abstand. */
.c56-section:not(.has-background) + .c56-section:not(.has-background):not(.c56-section--flush) { padding-top: 0; }
.c56-section--flush + .c56-section:not(.has-background) { padding-top: var(--wp--preset--spacing--60); }

/* Raster in Flex-Containern brauchen eine definite Breite (WP setzt container-type: inline-size). */
.is-layout-flex > .is-layout-grid { width: 100%; align-self: stretch; }

/* Menü: Untertitel unter dem Titel statt daneben. */
.c56-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; white-space: normal; }
.c56-header .wp-block-navigation__submenu-container .wp-block-navigation-item__label { font-weight: 700; }
.c56-header .wp-block-navigation__submenu-container .wp-block-navigation-item__description { margin: 0; line-height: 1.35; }

/* Kennzahlen-Reihe in der Zitatkarte */
.c56-stats { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.25rem; gap: 1rem !important; width: 100%; }
.c56-stats > .wp-block-group { gap: .2rem; }
.c56-quote-card { align-self: center; }
.c56-quote-card--light .c56-quote p { font-size: clamp(1.6rem, 3vw, 2.2rem); }

.c56-price .c56-per { white-space: nowrap; }
.c56-plan .c56-price { font-size: clamp(1.7rem, 2.2vw, 2.4rem); white-space: nowrap; }
.c56-plan .c56-price .c56-per { font-size: .8125rem; }

/* Netto-/B2B-Hinweis unter Preisen */
.c56-price-note { font-size: .8125rem !important; color: var(--wp--preset--color--muted); max-width: 720px; margin: 1.5rem auto 0 !important; }
.c56-dc__note { font-size: .75rem; color: var(--wp--preset--color--muted); margin: .9rem 0 0; }

/* Preis „auf Anfrage“ */
.c56-price--ask { font-size: 1.35rem !important; letter-spacing: -.01em; }

/* Partnerleiste */
.c56-partners { gap: .75rem !important; }
.c56-partners p { margin: 0; padding: .65rem 1.25rem; border: 1.5px solid var(--wp--preset--color--line); border-radius: 999px; font-weight: 700; color: var(--wp--preset--color--slate); }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* ---------- Domain-Check ---------- */
.c56-dc-section { position: relative; z-index: 2; margin-top: calc(-1 * var(--wp--preset--spacing--40)) !important; }
.c56-dc-card {
	background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--c56-radius-l);
	box-shadow: 0 24px 60px rgba(17,26,46,.12); padding: clamp(1.25rem, 3vw, 2.25rem);
}
.c56-dc-card h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: .25rem; }
.c56-dc__title { font-weight: 800; font-size: 1.15rem; margin: 0 0 .75rem; }
.c56-dc__form {
	display: flex; align-items: center; gap: .5rem; padding: .4rem .4rem .4rem 1.1rem;
	border: 2px solid var(--wp--preset--color--ink); border-radius: 999px; background: #fff;
	transition: box-shadow .15s ease;
}
.c56-dc__form:focus-within { box-shadow: 0 0 0 5px rgba(255,201,60,.45); }
.c56-dc__www { color: var(--wp--preset--color--muted); font-weight: 600; }
.c56-dc__input { flex: 1; min-width: 0; border: 0; outline: 0; font: inherit; font-size: 1.15rem; font-weight: 600; color: var(--wp--preset--color--ink); background: transparent; padding: .6rem 0; }
.c56-dc__btn {
	border: 0; cursor: pointer; font: inherit; font-weight: 700; white-space: nowrap;
	background: var(--wp--preset--color--sun); color: var(--wp--preset--color--ink); padding: .85rem 1.5rem; border-radius: 999px;
	transition: background-color .15s ease, color .15s ease;
}
.c56-dc__btn:hover { background: var(--wp--preset--color--ink); color: #fff; }
.c56-dc__btn:disabled { opacity: .6; cursor: progress; }
.c56-dc__chips { list-style: none; padding: 0; margin: .9rem 0 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .9rem; color: var(--wp--preset--color--muted); }
.c56-dc__chips strong { color: var(--wp--preset--color--ink); }
.c56-dc__chips small { font-size: .75rem; }
.c56-dc__results:empty { display: none; }
.c56-dc__results { margin-top: 1.25rem; }
.c56-dc__msg { margin: 0 0 .75rem; font-size: .95rem; }
.c56-dc__msg--error { color: #C0392B; }
.c56-dc__list { list-style: none; padding: 0; margin: 0; border: 1px solid var(--wp--preset--color--line); border-radius: var(--c56-radius-m); overflow: hidden; }
.c56-dc__row { display: grid; grid-template-columns: 1fr auto minmax(11rem, auto); align-items: center; gap: 1rem; padding: .75rem 1rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.c56-dc__row:last-child { border-bottom: 0; }
.c56-dc__row.is-free { background: #F3FBF7; }
.c56-dc__domain { font-weight: 700; word-break: break-all; }
.c56-dc__row.is-taken .c56-dc__domain { color: var(--wp--preset--color--muted); font-weight: 600; }
.c56-dc__state { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .6rem; border-radius: 999px; }
.c56-dc__state--free { background: var(--wp--preset--color--leaf); color: #fff; }
.c56-dc__state--taken { background: var(--wp--preset--color--mist); color: var(--wp--preset--color--muted); }
.c56-dc__state--unknown { background: var(--wp--preset--color--sun-soft); color: var(--wp--preset--color--ink); }
.c56-dc__action { display: flex; align-items: center; justify-content: flex-end; gap: .9rem; }
.c56-dc__price { font-weight: 800; white-space: nowrap; }
.c56-dc__price small { font-weight: 500; color: var(--wp--preset--color--muted); }
.c56-dc__price--ask { font-weight: 500; font-size: .85rem; color: var(--wp--preset--color--muted); }
.c56-dc__cta { background: var(--wp--preset--color--ink); color: #fff !important; text-decoration: none; font-weight: 700; font-size: .9rem; padding: .5rem 1rem; border-radius: 999px; white-space: nowrap; }
.c56-dc__cta:hover { background: var(--wp--preset--color--ember); }
.c56-dc__link { font-size: .9rem; font-weight: 600; white-space: nowrap; }
.c56-dc.is-loading .c56-dc__btn::after { content: ""; display: inline-block; width: .9em; height: .9em; margin-left: .5rem; vertical-align: -.1em; border-radius: 50%; border: 2px solid currentColor; border-right-color: transparent; animation: c56spin .7s linear infinite; }
@media (max-width: 600px) {
	.c56-dc__www { display: none; }
	.c56-dc__form { flex-wrap: wrap; border-radius: var(--c56-radius-m); padding: .5rem; }
	.c56-dc__input { padding: .5rem; }
	.c56-dc__btn { width: 100%; }
	.c56-dc__row { grid-template-columns: 1fr auto; }
	.c56-dc__action { grid-column: 1 / -1; justify-content: space-between; }
	.c56-dc-section { margin-top: 0 !important; }
}

/* Barrierefreiheit */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
