/*
Theme Name: acb
Description: Schlankes Block-Theme für die Website der acb GmbH – ohne Page-Builder, ohne Cookies, ohne externe Anfragen.
Version: 1.0.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: Proprietary
Text Domain: acb
*/

/* Ergänzungen zu theme.json – nur, was dort nicht abbildbar ist. */

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

:where(a, button, input, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--red);
	outline-offset: 3px;
}

.wp-element-button,
.wp-block-button__link { transition: background-color .2s ease, box-shadow .2s ease, color .2s ease; }

/* Hover wie serviceinvest.de: dunkleres Rot, Glow übernimmt die dunkle Tönung */
.wp-element-button:hover,
.wp-block-button__link:hover { box-shadow: 0 10px 24px rgba(122, 22, 16, .4); }

/* Header – sticky sitzt auf dem Template-Part-Wrapper, sonst klebt er nur in sich selbst */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 0); }
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
.acb-header {
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.acb-header .acb-logo img { display: block; height: 40px; width: auto; }
.acb-header .wp-block-button__link { padding: .75em 1.4em; box-shadow: none; }

/* Eyebrow: kleine, gesperrte Versalzeile über Überschriften */
.acb-eyebrow {
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 700;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--wp--preset--color--red);
}

/* Hero */
.acb-hero .wp-block-cover__background.has-background-dim {
	background: linear-gradient(100deg, rgba(20, 27, 58, .88) 0%, rgba(20, 27, 58, .62) 45%, rgba(20, 27, 58, .18) 100%);
	opacity: 1;
	z-index: 1;
}
/* Gleiches Raster wie der Header: Core-Cover bringt 1em Seitenabstand mit und schrumpft
   den Inhalt bei "center left" auf Textbreite – beides aufheben, Rand kommt nur aus dem Root-Padding. */
.wp-block-cover.acb-hero { padding-left: 0; padding-right: 0; }
.acb-hero .wp-block-cover__inner-container { z-index: 2; }
.wp-block-cover.acb-hero.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(1240px + var(--wp--style--root--padding-left) + var(--wp--style--root--padding-right));
	margin-inline: auto;
}
@media (max-width: 781px) {
	.acb-hero .wp-block-cover__background.has-background-dim { background: rgba(20, 27, 58, .68); }
}
.acb-hero .acb-eyebrow { color: var(--wp--preset--color--red-light); }
.acb-hero h1 { color: var(--wp--preset--color--white); letter-spacing: -.035em; line-height: 1; }
.acb-hero .is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--white);
	border: 1.5px solid rgba(255, 255, 255, .7);
	background: transparent;
	box-shadow: none;
}
.acb-hero .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }

/* Rechtstexte */
.acb-legal h2 { margin-top: 2.5em; }
.acb-legal h3 { margin-top: 1.75em; }
.acb-legal p, .acb-legal li { font-size: var(--wp--preset--font-size--small); }

/* Footer */
.acb-footer a { color: inherit; text-decoration: none; }
.acb-footer a:hover { color: var(--wp--preset--color--white); text-decoration: underline; }

/* Kontaktformular */
.acb-form-wrap { scroll-margin-top: 110px; display: grid; gap: 1.25rem; }
.acb-form { display: grid; gap: 1.1rem; }
.acb-form .acb-row { display: grid; gap: 1.1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .acb-form .acb-row { grid-template-columns: 1fr; } }
.acb-form label { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 600; margin-bottom: .4rem; color: var(--wp--preset--color--navy); }
.acb-form label span { color: var(--wp--preset--color--muted); font-weight: 400; }
.acb-form input,
.acb-form textarea {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-size: 1rem;
	color: inherit;
	background: var(--wp--preset--color--white);
	border: 1px solid #C9CED5;
	border-radius: 10px;
	padding: .8em 1em;
	transition: border-color .15s ease;
}
.acb-form textarea { min-height: 10rem; resize: vertical; }
.acb-form input:focus,
.acb-form textarea:focus { border-color: var(--wp--preset--color--navy); outline: none; box-shadow: 0 0 0 3px rgba(33, 45, 92, .15); }
.acb-form .acb-note { font-size: var(--wp--preset--font-size--x-small); color: var(--wp--preset--color--muted); margin: 0; }
.acb-form button { justify-self: start; border: 0; cursor: pointer; font-family: inherit; }
.acb-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.acb-notice { padding: 1rem 1.25rem; border-radius: 10px; font-weight: 600; }
.acb-notice.is-success { background: #E8F4EC; color: #1C5A33; }
.acb-notice.is-error { background: #FBEAEA; color: var(--wp--preset--color--red-dark); }
