/*
Theme Name: Eternal-Webmedia
Theme URI: https://eternal-webmedia.de
Author: Felix Hauck / Claude
Description: Schlankes Block-Theme für Eternal-Webmedia (IT-Beratung, IT-Dienstleistungen, IT-Support, Smart Home). Design zentral in theme.json, Schrift lokal.
Version: 0.1.2
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: eternal-webmedia
*/

/* Nur was theme.json nicht abdeckt. Farben immer über Presets. */

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

/* Topbar */
.ew-topbar { font-size: var(--wp--preset--font-size--klein); }
.ew-topbar a { color: var(--wp--preset--color--weiss); text-decoration: none; }
.ew-topbar a:hover, .ew-topbar a:focus { text-decoration: underline; }

/* Kopf */
.ew-kopf { position: sticky; top: 0; z-index: 50; background: var(--wp--preset--color--weiss); border-bottom: 1px solid var(--wp--preset--color--linie); }
.admin-bar .ew-kopf { top: 32px; }
.ew-kopf .wp-block-site-logo img { width: 52px; height: 52px; }
.ew-kopf .wp-block-site-title a { color: var(--wp--preset--color--anthrazit); text-decoration: none; font-weight: 700; letter-spacing: -0.01em; }
.ew-kopf .wp-block-navigation a { text-decoration: none; }
.ew-kopf .wp-block-navigation .current-menu-item > a,
.ew-kopf .wp-block-navigation a:hover { color: var(--wp--preset--color--blau); }

/* Bühne */
.ew-buehne { position: relative; overflow: hidden; }
.ew-buehne::after { content: ""; position: absolute; right: -10%; top: -30%; width: 55%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,255,255,.14), rgba(255,255,255,0)); pointer-events: none; }
.ew-buehne > * { position: relative; z-index: 1; }
.ew-buehne h1, .ew-buehne p { color: var(--wp--preset--color--weiss); }
.ew-buehne .ew-augenbraue { text-transform: uppercase; letter-spacing: .14em; font-weight: 600; font-size: var(--wp--preset--font-size--klein); color: #c9d3ff; margin: 0; }
.ew-buehne .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--weiss); border: 2px solid rgba(255,255,255,.85); background: transparent; }
.ew-buehne .is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--anthrazit); }
.ew-buehne .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--anthrazit); }
.ew-buehne .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #e8edff; }

/* Leistungskarten */
.ew-karte { background: var(--wp--preset--color--weiss); border: 1px solid var(--wp--preset--color--linie); border-radius: 16px; padding: 2rem; box-shadow: 0 1px 2px rgba(43,48,54,.04), 0 8px 24px rgba(43,48,54,.05); position: relative; }
.ew-karte::before { content: ""; position: absolute; left: 2rem; top: 0; width: 48px; height: 4px; border-radius: 0 0 4px 4px; background: var(--wp--preset--color--blau); }
.ew-karte h3 { margin-top: 0; }
.ew-karte p { color: var(--wp--preset--color--grau); margin-bottom: 0; }
.ew-icon { width: 44px; height: 44px; color: var(--wp--preset--color--blau); display: block; margin-bottom: 1rem; }

/* Abschluss-Band */
.ew-band h2, .ew-band p { color: var(--wp--preset--color--weiss); }
.ew-band .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--anthrazit); }
.ew-band .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--weiss); border: 2px solid rgba(255,255,255,.85); background: transparent; }

/* Seiten */
.ew-seitenkopf { background: var(--wp--preset--color--hell); border-bottom: 1px solid var(--wp--preset--color--linie); }

/* Fuß */
.ew-fuss, .ew-fuss p, .ew-fuss a { color: var(--wp--preset--color--weiss); }
.ew-fuss a { text-decoration: none; }
.ew-fuss a:hover, .ew-fuss a:focus { text-decoration: underline; }
.ew-fuss .ew-fuss-klein { color: #c9d3ff; font-size: var(--wp--preset--font-size--klein); }

/* Formulare (Contact Form 7) */
.wpcf7 label { display: block; font-weight: 600; margin-bottom: .35rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
	width: 100%; padding: .8rem 1rem; border: 1px solid #9aa3b2; border-radius: 10px; font: inherit; background: var(--wp--preset--color--weiss); color: var(--wp--preset--color--tinte);
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus { outline: 3px solid var(--wp--preset--color--blau); outline-offset: 2px; border-color: var(--wp--preset--color--blau); }
.wpcf7 .ew-form-zeile { display: grid; gap: 0 1.25rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.wpcf7 .ew-form-zeile > p { min-width: 0; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 input, .wpcf7 textarea, .wpcf7 select { box-sizing: border-box; max-width: 100%; }
.wpcf7 label br { display: none; }
.wpcf7 label { display: block; }
.wpcf7 .wpcf7-acceptance label { font-weight: 400; }
.wpcf7 .wpcf7-acceptance input { width: auto; margin-right: .5rem; }
@media (max-width: 640px) { .wpcf7 .ew-form-zeile { grid-template-columns: 1fr; } }
.wpcf7 p { margin: 0 0 1.25rem; }
.wpcf7 input[type="submit"] { background: var(--wp--preset--color--blau); color: var(--wp--preset--color--weiss); border: 0; border-radius: 999px; padding: .85rem 1.75rem; font-weight: 600; cursor: pointer; font-size: 1rem; }
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--dunkelblau); }
.wpcf7 input[type="submit"]:focus { outline: 3px solid var(--wp--preset--color--blau); outline-offset: 3px; }
.wpcf7-not-valid-tip { color: #b42318; font-size: var(--wp--preset--font-size--klein); }
.wpcf7 form .wpcf7-response-output { border-radius: 10px; margin: 1.25rem 0 0; padding: .8rem 1rem; }
