diff --git a/app/components/contact-form.php b/app/components/contact-form.php index 3a0a2ff..e6ec042 100644 --- a/app/components/contact-form.php +++ b/app/components/contact-form.php @@ -59,8 +59,6 @@ $f = [ -

Pflichtfelder sind mit Stern markiert.

-
$f['name']]); ?> $f['email']]); ?> diff --git a/app/components/form-field.php b/app/components/form-field.php index 2d328ed..ed0297e 100644 --- a/app/components/form-field.php +++ b/app/components/form-field.php @@ -27,8 +27,10 @@ $errorId = $id . '-error'; $hintId = $id . '-hint'; $describedBy = (!empty($field['hint']) ? $hintId . ' ' : '') . $errorId; +// Sichtbarer roter Stern (aria-hidden) + pro Feld erklärendes Pflicht-Wort für +// Screenreader — ersetzt die frühere globale „Pflichtfelder mit *"-Hinweiszeile. $requiredMark = $required - ? ' ' + ? ' (Pflichtfeld)' : ''; $commonAttrs = 'name="' . e($name) . '" id="' . e($id) . '"' @@ -56,9 +58,9 @@ $commonAttrs = 'name="' . e($name) . '" id="' . e($id) . '"' - + - > + placeholder=" ">

diff --git a/app/components/membership-form.php b/app/components/membership-form.php index 015a9b7..cdf7467 100644 --- a/app/components/membership-form.php +++ b/app/components/membership-form.php @@ -52,8 +52,6 @@ $f = [
-

Pflichtfelder sind mit Stern markiert.

-
Zur Person
diff --git a/app/components/sportheimbuchung-form.php b/app/components/sportheimbuchung-form.php index 015adf8..1cd1506 100644 --- a/app/components/sportheimbuchung-form.php +++ b/app/components/sportheimbuchung-form.php @@ -51,8 +51,6 @@ $f = [
-

Pflichtfelder sind mit Stern markiert.

-
$f['name']]); ?> $f['email']]); ?> diff --git a/public/assets/css/components.css b/public/assets/css/components.css index 97d0cd8..60e8099 100644 --- a/public/assets/css/components.css +++ b/public/assets/css/components.css @@ -22,6 +22,11 @@ position: absolute; inset: 0; z-index: -1; + /* Unten ausblenden statt mit grauem BG zudecken: der echte, dunkle + texturierte Seiten-Hintergrund scheint durch → transparent & matcht + den Grund exakt (kein graues, opakes Band mehr). */ + -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 92%); + mask-image: linear-gradient(180deg, #000 0%, #000 58%, transparent 92%); } .hero__img { @@ -44,12 +49,13 @@ } } -/* Dunkler Verlauf wie auf der alten Seite: oben transparent → unten Seitenhintergrund */ +/* Reine Schwarz-Abdunklung (kein grauer Fill) — der Auslauf zum Grund kommt + aus der Mask auf .hero__media, hier wird nur schwärzer getönt. */ .hero__media::after { content: ''; position: absolute; inset: 0; - background: linear-gradient(180deg, rgb(20 20 20 / 0.25) 0%, rgb(20 20 20 / 0.55) 55%, var(--clr-bg) 100%); + background: linear-gradient(180deg, rgb(0 0 0 / 0.45) 0%, rgb(0 0 0 / 0.15) 45%, rgb(0 0 0 / 0.5) 100%); } .hero__content { @@ -110,14 +116,14 @@ /* zusätzlicher Verlauf von links für Textlesbarkeit über dem Video */ background: linear-gradient(90deg, rgb(10 10 10 / 0.62) 0%, rgb(10 10 10 / 0.25) 45%, transparent 70%), - linear-gradient(180deg, rgb(20 20 20 / 0.2) 0%, rgb(20 20 20 / 0.45) 55%, var(--clr-bg) 100%); + linear-gradient(180deg, rgb(0 0 0 / 0.42) 0%, rgb(0 0 0 / 0.15) 45%, rgb(0 0 0 / 0.5) 100%); } /* Center+Display: kein Seitenverlauf, nur zentrales Abdunkeln für Lesbarkeit */ .hero--center.hero--display .hero__media::after { background: radial-gradient(ellipse 80% 60% at 50% 40%, rgb(10 10 10 / 0.5) 0%, transparent 100%), - linear-gradient(180deg, rgb(20 20 20 / 0.2) 0%, rgb(20 20 20 / 0.5) 55%, var(--clr-bg) 100%); + linear-gradient(180deg, rgb(0 0 0 / 0.4) 0%, rgb(0 0 0 / 0.14) 45%, rgb(0 0 0 / 0.5) 100%); } .hero__kicker { @@ -1243,44 +1249,69 @@ } } +/* Floating Label: Label liegt im leeren Feld wie ein Platzhalter und wandert bei + Fokus oder Inhalt nach oben. Rein visuell — das echte