trihub-ernaehrung-advinters/css/terminbuchung.css

1148 lines
24 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/* Online-Terminbuchung – zwei Bereiche:
1. .tb-overlay & Co.: Kalender-Pop-up auf der Startseite (index.html).
2. .terminbuchung-seite: Buchungsformular-Seite (html/terminbuchung.html),
Tokens und Formular-Styles entsprechen css/kontakt.css. */
/* =========================================================
1. Terminbuchungs-Pop-up (Kalender) auf der Startseite
========================================================= */
.tb-overlay {
--background-panel: #152027;
--text-primary: #ffffff;
--text-muted: #9ba7aa;
--accent: #4597A3;
--border: rgb(255 255 255 / 14%);
--font-display: "Sora", sans-serif;
--font-body: "DM Sans", Arial, Helvetica, sans-serif;
--radius: 1.1rem;
position: fixed;
inset: 0;
z-index: 1000;
display: flex;
align-items: center;
justify-content: center;
padding: 24px;
background: rgb(7 20 25 / 72%);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.tb-overlay[hidden] {
display: none;
}
.tb-dialog {
position: relative;
box-sizing: border-box;
width: min(560px, 100%);
background-color: #111a1e;
border: 2px solid rgb(255 255 255 / 9%);
border-radius: 16px;
box-shadow: 0 30px 90px rgb(0 0 0 / 45%);
padding: 26px 28px;
color: var(--text-primary);
font-family: var(--font-body);
line-height: 1.6;
}
.tb-close {
position: absolute;
top: 14px;
right: 14px;
display: grid;
place-items: center;
width: 36px;
height: 36px;
border: 1px solid var(--border);
border-radius: 10px;
background: rgb(255 255 255 / 4%);
color: var(--text-primary);
font-size: 1.1rem;
line-height: 1;
cursor: pointer;
transition: border-color 0.15s ease, background-color 0.15s ease;
}
.tb-close:hover,
.tb-close:focus-visible {
border-color: var(--accent);
background: rgb(69 151 163 / 14%);
}
.tb-kicker {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 0.72rem;
font-weight: 600;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 10px;
}
.tb-kicker::before {
content: "";
width: 24px;
height: 2px;
border-radius: 2px;
background: var(--accent);
}
.tb-title {
margin: 0 0 6px;
font-family: var(--font-display);
font-size: 1.5rem;
font-weight: 600;
letter-spacing: -0.02em;
}
.tb-subtitle {
margin: 0 0 20px;
font-size: 0.9rem;
color: var(--text-muted);
}
/* ---------- Trainer-Auswahl ---------- */
.tb-trainer-label {
display: block;
font-size: 0.85rem;
font-weight: 600;
margin-bottom: 10px;
}
.tb-trainer {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-bottom: 22px;
}
.tb-trainer-btn {
padding: 9px 16px;
border-radius: 999px;
border: 1px solid rgba(255, 255, 255, 0.14);
background: rgb(255 255 255 / 4%);
color: var(--text-primary);
font-family: var(--font-body);
font-size: 0.9rem;
font-weight: 600;
cursor: pointer;
transition: border-color 0.15s ease, background-color 0.15s ease;
}
.tb-trainer-btn:hover {
border-color: var(--accent);
}
.tb-trainer-btn.is-active {
border-color: var(--accent);
background: rgb(69 151 163 / 18%);
}
/* ---------- Kalender ---------- */
.tb-cal-head {
display: grid;
grid-template-columns: 52px minmax(0, 1fr) 52px;
align-items: center;
gap: 12px;
margin-bottom: 16px;
}
.tb-cal-month {
text-align: center;
font-family: var(--font-display);
font-size: 1.55rem;
font-weight: 650;
}
.tb-cal-nav {
display: grid;
place-items: center;
width: 52px;
height: 52px;
border-radius: 13px;
border: 2px solid var(--border);
background: transparent;
color: #6fa6b2;
font-size: 1.55rem;
cursor: pointer;
transition: border-color 0.15s ease, background-color 0.15s ease;
}
.tb-cal-nav:hover:not(:disabled) {
border-color: var(--accent);
background: rgb(69 151 163 / 10%);
}
.tb-cal-nav:disabled {
opacity: 0.35;
cursor: not-allowed;
}
.tb-cal-weekdays,
.tb-cal-grid {
display: grid;
grid-template-columns: repeat(7, minmax(0, 1fr));
gap: 6px 8px;
}
.tb-cal-weekdays span {
text-align: center;
font-size: 1rem;
font-weight: 500;
color: #a1b0bb;
padding-bottom: 6px;
}
.tb-day {
position: relative;
display: grid;
place-items: center;
width: min(100%, 54px);
aspect-ratio: 1;
min-height: 0;
justify-self: center;
border-radius: 50%;
border: 2px solid transparent;
background: transparent;
font-family: var(--font-body);
font-size: 1.05rem;
color: #7b8991;
cursor: pointer;
transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
/* Leere Zellen vor dem ersten bzw. nach dem letzten Tag des Monats */
.tb-day--leer {
visibility: hidden;
pointer-events: none;
}
/* Verfügbarkeitskategorien */
.tb-cal-grid .tb-day--verfuegbar {
background: transparent;
border-color: var(--accent);
color: var(--text-primary);
}
.tb-cal-grid .tb-day--verfuegbar:hover,
.tb-cal-grid .tb-day--verfuegbar:focus-visible {
background: rgb(69 151 163 / 14%);
border-color: var(--accent);
}
.tb-cal-grid .tb-day--neutral {
color: #7b8991;
background: transparent;
border-color: transparent;
cursor: default;
}
/* Heute: dezent markiert, ohne die Kategorie zu verdecken */
.tb-day--heute {
font-weight: 700;
box-shadow: inset 0 -2px 0 0 var(--accent);
}
/* Ausgewählter Tag */
.tb-cal-grid .tb-day--ausgewaehlt {
background: var(--accent);
border-color: var(--accent);
color: #071419;
font-weight: 700;
}
/* ---------- Legende ---------- */
.tb-legend {
display: flex;
flex-wrap: wrap;
gap: 14px;
list-style: none;
margin: 12px 0 0;
padding: 0;
font-size: 0.9rem;
color: var(--text-muted);
}
.tb-legend li {
display: inline-flex;
align-items: center;
gap: 7px;
}
.tb-dot {
width: 10px;
height: 10px;
border-radius: 50%;
}
.tb-dot--verfuegbar {
background: #22c55e;
}
.tb-dot--nicht {
background: #ef4444;
}
/* ---------- Uhrzeiten des gewählten Tages ---------- */
.tb-times {
margin-top: 18px;
padding-top: 14px;
border-top: 1px solid rgb(255 255 255 / 10%);
}
.tb-times-label {
margin: 0 0 12px;
font-size: 1rem;
color: #a1b0bb;
}
.tb-times-label strong {
color: var(--text-primary);
}
.tb-time-chips {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.tb-time-chip {
padding: 9px 14px;
border-radius: 11px;
border: 2px solid var(--border);
background: transparent;
color: var(--text-primary);
font-family: var(--font-body);
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.tb-time-chip:hover {
border-color: var(--accent);
}
.tb-time-chip.is-active {
background: #6fa6b2;
border-color: #6fa6b2;
color: #ffffff;
}
/* ---------- Buchen-Button ---------- */
.tb-book {
display: block;
width: 100%;
margin-top: 22px;
padding: 0.85rem 1.5rem;
border-radius: 12px;
border: none;
background: var(--accent);
color: #03242b;
font-family: var(--font-body);
font-size: 0.98rem;
font-weight: 600;
cursor: pointer;
transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}
.tb-book:hover:not(:disabled) {
transform: translateY(-1px);
box-shadow: 0 10px 28px rgb(0 179 194 / 28%);
}
.tb-book:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.tb-hinweis {
margin: 12px 0 0;
font-size: 0.78rem;
color: var(--text-muted);
}
@media (max-height: 760px) {
.tb-dialog {
padding-block: 18px;
line-height: 1.4;
}
.tb-subtitle {
margin-bottom: 12px;
}
.tb-trainer {
margin-bottom: 14px;
}
.tb-cal-head {
grid-template-columns: 44px minmax(0, 1fr) 44px;
margin-bottom: 10px;
}
.tb-cal-nav {
width: 44px;
height: 44px;
}
.tb-cal-weekdays,
.tb-cal-grid {
gap: 3px 5px;
}
.tb-day {
width: min(100%, 40px);
}
.tb-times {
margin-top: 12px;
padding-top: 10px;
}
.tb-book {
margin-top: 14px;
padding-block: 0.65rem;
}
.tb-hinweis {
margin-top: 8px;
}
}
/* =========================================================
2. Buchungsformular-Seite (html/terminbuchung.html)
========================================================= */
.terminbuchung-seite {
/* Farben – Tokens von tri-hub.de (wie css/kontakt.css) */
--background: #0714198a;
--background-rgb: 7 20 25;
--background-panel: #152027;
--text-primary: #ffffff;
--text-muted: #9ba7aa;
--accent: #4597A3;
--accent-warm: #f7c230;
--border: rgba(234, 8, 8, 0.1);
/* Typografie */
--font-display: "Sora", sans-serif;
--font-body: "DM Sans", Arial, Helvetica, sans-serif;
/* Layout */
--container: 1120px;
--radius: 1.1rem;
}
/* ---------- Basic ---------- */
.terminbuchung-seite,
.terminbuchung-seite *,
.terminbuchung-seite::before,
.terminbuchung-seite *::before,
.terminbuchung-seite::after,
.terminbuchung-seite *::after {
box-sizing: border-box;
}
.terminbuchung-seite {
min-height: 100vh;
margin: 0;
background-color: var(--background);
color: var(--text-primary);
font-family: var(--font-body);
line-height: 1.625;
-webkit-font-smoothing: antialiased;
position: relative;
isolation: isolate;
scroll-behavior: smooth;
}
/* Licht */
.terminbuchung-seite::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
background:
radial-gradient(900px 520px at 78% -10%, rgb(0 179 194 / 13%), transparent 65%),
radial-gradient(700px 480px at -10% 30%, rgb(35 137 148 / 10%), transparent 60%),
radial-gradient(600px 420px at 90% 95%, rgb(247 194 48 / 5%), transparent 60%);
pointer-events: none;
}
.terminbuchung-seite h1,
.terminbuchung-seite h2,
.terminbuchung-seite h3 {
margin-top: 0;
font-family: var(--font-display);
color: var(--text-primary);
line-height: 1.2;
letter-spacing: -0.01em;
}
.terminbuchung-seite p {
margin: 0 0 1em;
}
.terminbuchung-seite .container {
width: min(100% - 48px, var(--container));
margin-inline: auto;
}
/* ---------- Typo-Helfer ---------- */
.terminbuchung-seite .kicker {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 0.78rem;
font-weight: 600;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 18px;
}
.terminbuchung-seite .kicker::before {
content: "";
width: 28px;
height: 2px;
border-radius: 2px;
background: var(--accent);
}
.terminbuchung-seite .lead {
font-size: 1.15rem;
color: var(--text-muted);
max-width: 660px;
}
/* Die Navigationsleiste oben wird von css/navigation.css gestylt (.site-navigation). */
/* ---------- Kopfzeile / Hero ---------- */
.terminbuchung-seite .hero {
padding: 72px 0 56px;
}
.terminbuchung-seite .hero h1 {
font-size: clamp(2.2rem, 5vw, 3.2rem);
font-weight: 500;
letter-spacing: -0.04em;
margin-bottom: 16px;
}
.terminbuchung-seite .hero__text {
font-size: 1.1rem;
color: var(--text-muted);
max-width: 640px;
}
/* ---------- Sektionen ---------- */
.terminbuchung-seite .section {
padding: 56px 0 88px;
}
.terminbuchung-seite .section+.section {
border-top: 1px solid var(--border);
}
.terminbuchung-seite .section h2 {
font-size: clamp(1.7rem, 3.5vw, 2.4rem);
margin-bottom: 16px;
}
/* ---------- Termin-Zusammenfassung ---------- */
.tb-summary {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 20px;
margin-top: 32px;
}
.tb-summary__item {
background-color: var(--background-panel);
border: 1px solid var(--border);
border-radius: calc(var(--radius) + 0.4rem);
padding: 22px;
}
.tb-summary__label {
display: block;
font-size: 0.7rem;
letter-spacing: 0.2em;
text-transform: uppercase;
color: var(--text-muted);
margin-bottom: 8px;
}
.tb-summary__value {
font-family: var(--font-display);
font-size: 1.05rem;
font-weight: 600;
color: var(--text-primary);
margin: 0;
}
/* Hinweis, wenn die Seite ohne Termin-Parameter geöffnet wurde */
.tb-summary--fehlend {
grid-template-columns: minmax(0, 1fr);
}
.tb-summary--fehlend .tb-summary__item {
border-color: rgb(247 194 48 / 45%);
background: rgb(247 194 48 / 6%);
}
.tb-summary--fehlend a {
color: var(--accent);
}
.terminbuchung-seite #anfrage-pruefen[hidden] {
display: none;
}
.tb-review-list {
display: grid;
grid-template-columns: minmax(150px, 0.7fr) minmax(0, 1.3fr);
gap: 0;
margin: 28px 0 0;
padding: 0 24px;
background: var(--background-panel);
border: 1px solid var(--border);
border-radius: var(--radius);
}
.tb-review-list dt,
.tb-review-list dd {
margin: 0;
padding: 14px 0;
border-bottom: 1px solid var(--border);
}
.tb-review-list dt {
padding-right: 18px;
color: var(--text-muted);
}
.tb-review-list dd {
color: var(--text-primary);
font-weight: 600;
overflow-wrap: anywhere;
}
.tb-review-list dt:last-of-type,
.tb-review-list dd:last-of-type {
border-bottom: 0;
}
.tb-review-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 24px;
}
.tb-review-button {
display: inline-flex;
min-height: 46px;
align-items: center;
justify-content: center;
padding: 0.7rem 1.1rem;
border: 1px solid var(--accent);
border-radius: 8px;
font: inherit;
font-weight: 600;
text-decoration: none;
cursor: pointer;
}
.tb-review-button--primary {
color: #071419;
background: var(--accent);
}
.tb-review-button--secondary {
color: var(--text-primary);
background: transparent;
}
.tb-review-button:hover,
.tb-review-button:focus-visible {
filter: brightness(1.12);
}
.terminbuchung-seite .tb-confirm-dialog {
width: min(480px, calc(100% - 32px));
padding: 28px;
color: var(--text-primary);
background: var(--background-panel);
border: 1px solid rgb(255 255 255 / 14%);
border-radius: 12px;
box-shadow: 0 24px 72px rgb(0 0 0 / 45%);
}
.terminbuchung-seite .tb-confirm-dialog::backdrop {
background: rgb(7 20 25 / 78%);
backdrop-filter: blur(5px);
}
.terminbuchung-seite .tb-confirm-dialog h2 {
margin: 0 0 12px;
font-family: var(--font-display);
font-size: 1.5rem;
}
.terminbuchung-seite .tb-confirm-dialog p {
margin: 0 0 22px;
color: var(--text-muted);
line-height: 1.6;
}
@media (max-width: 560px) {
.terminbuchung-seite .tb-confirm-dialog {
padding: 22px;
}
}
/* ---------- Formular ---------- */
.terminbuchung-seite form {
margin-top: 32px;
display: grid;
gap: 20px;
}
.terminbuchung-seite .field label {
display: block;
font-size: 0.9rem;
font-weight: 500;
color: var(--text-primary);
margin-bottom: 8px;
}
.terminbuchung-seite .field input,
.terminbuchung-seite .field select,
.terminbuchung-seite .field textarea {
width: 100%;
padding: 12px 16px;
border-radius: 10px;
border: 1px solid var(--border);
background: rgb(255 255 255 / 4%);
color: var(--text-primary);
font-family: var(--font-body);
font-size: 0.95rem;
transition: border-color 0.15s ease, background-color 0.15s ease;
}
.terminbuchung-seite .field input::placeholder,
.terminbuchung-seite .field textarea::placeholder {
color: rgb(255 255 255 / 40%);
}
.terminbuchung-seite .field input:focus,
.terminbuchung-seite .field select:focus,
.terminbuchung-seite .field textarea:focus {
outline: none;
border-color: var(--accent);
background: rgb(255 255 255 / 6%);
}
.terminbuchung-seite .field select option {
background: #0b1a20;
color: var(--text-primary);
}
.terminbuchung-seite .field textarea {
min-height: 110px;
resize: vertical;
}
/* terminbuchung-form.js setzt die Zustandsklassen für ungültige Felder und Rückmeldungen. */
.terminbuchung-seite .field input.invalid,
.terminbuchung-seite .field select.invalid,
.terminbuchung-seite .field textarea.invalid {
border-color: #ef4444;
}
.terminbuchung-seite .field input.valid,
.terminbuchung-seite .field textarea.valid {
border-color: #22c55e;
}
.terminbuchung-seite .field__error {
display: none;
margin-top: 6px;
font-size: 0.8rem;
color: #f87171;
}
.terminbuchung-seite .field__hint {
margin-top: 6px;
font-size: 0.8rem;
color: var(--text-muted);
}
.terminbuchung-seite .field.has-error .field__error {
display: block;
}
/* ---------- Anamnese-Tags (Allergien & Unverträglichkeiten) ---------- */
.tb-tag-row {
display: flex;
gap: 10px;
}
.tb-tag-row input {
flex: 1;
}
.tb-tag-add {
flex-shrink: 0;
padding: 0 18px;
border-radius: 10px;
border: 1px solid var(--accent);
background: rgb(69 151 163 / 14%);
color: var(--text-primary);
font-family: var(--font-body);
font-size: 0.9rem;
font-weight: 600;
cursor: pointer;
transition: background-color 0.15s ease, border-color 0.15s ease;
}
.tb-tag-add:hover {
background: rgb(69 151 163 / 28%);
}
.tb-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
list-style: none;
margin: 10px 0 0;
padding: 0;
}
.tb-tags:empty {
display: none;
}
.tb-tag {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 5px 12px;
border-radius: 999px;
background: rgb(69 151 163 / 16%);
border: 1px solid rgb(69 151 163 / 45%);
font-size: 0.85rem;
color: var(--text-primary);
}
.tb-tag button {
display: grid;
place-items: center;
width: 18px;
height: 18px;
border: none;
border-radius: 50%;
background: rgb(255 255 255 / 12%);
color: var(--text-primary);
font-size: 0.7rem;
line-height: 1;
cursor: pointer;
transition: background-color 0.15s ease;
}
.tb-tag button:hover {
background: rgb(239 68 68 / 60%);
}
/* ---------- Button ---------- */
.terminbuchung-seite .btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.8rem 1.5rem;
border-radius: 999px;
font-family: var(--font-body);
font-weight: 600;
font-size: 0.95rem;
line-height: 1.2;
text-decoration: none;
border: 1px solid transparent;
cursor: pointer;
transition: transform 0.18s ease, box-shadow 0.18s ease,
background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.terminbuchung-seite .btn-accent {
background: var(--accent);
color: #03242b;
}
.terminbuchung-seite .btn-accent:hover:not(:disabled) {
transform: translateY(-1px);
box-shadow: 0 10px 28px rgb(0 179 194 / 28%);
}
.terminbuchung-seite .btn-block {
width: 100%;
}
.terminbuchung-seite .btn:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.terminbuchung-seite .form-status {
display: none;
font-size: 0.9rem;
}
.terminbuchung-seite .form-status.is-visible {
display: block;
}
.terminbuchung-seite .form-status--ok {
color: #4ade80;
}
.terminbuchung-seite .form-status--error {
color: #f87171;
}
/* ---------- Footer ---------- */
.terminbuchung-seite .logo {
font-family: var(--font-display);
font-size: 1.35rem;
letter-spacing: -0.02em;
color: var(--text-muted);
text-decoration: none;
white-space: nowrap;
}
.terminbuchung-seite .logo span {
color: var(--accent);
}
.terminbuchung-seite .site-footer {
margin-top: 0;
padding: 64px 0 40px;
border-top: 1px solid var(--border);
background: rgb(255 255 255 / 1.5%);
}
.terminbuchung-seite .footer-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
gap: 48px;
}
.terminbuchung-seite .footer-brand p {
color: var(--text-muted);
font-size: 0.95rem;
max-width: 340px;
margin-top: 14px;
}
.terminbuchung-seite .footer-col h3 {
font-size: 0.85rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--text-muted);
margin-bottom: 16px;
}
.terminbuchung-seite .footer-col ul {
list-style: none;
margin: 0;
padding: 0;
}
.terminbuchung-seite .footer-col a {
display: block;
padding: 5px 0;
color: var(--text-muted);
text-decoration: none;
font-size: 0.92rem;
transition: color 0.15s ease;
}
.terminbuchung-seite .footer-col a:hover {
color: var(--text-primary);
}
.terminbuchung-seite .footer-legal {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 12px;
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid var(--border);
color: var(--text-muted);
font-size: 0.85rem;
}
.terminbuchung-seite .footer-legal a {
color: inherit;
text-decoration: none;
}
.terminbuchung-seite .footer-legal a:hover {
color: var(--text-primary);
}
/* ---------- Scroll-Reveal ---------- */
.terminbuchung-seite .reveal {
opacity: 0;
transform: translateY(18px);
transition: opacity 0.6s ease, transform 0.6s ease;
}
.terminbuchung-seite .reveal.visible {
opacity: 1;
transform: none;
}
/* ---------- Responsiv ---------- */
@media (max-width: 980px) {
.terminbuchung-seite .tb-summary {
grid-template-columns: minmax(0, 1fr);
}
.terminbuchung-seite .footer-grid {
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 760px) {
.terminbuchung-seite .section {
padding: 48px 0 64px;
}
.terminbuchung-seite .hero {
padding: 56px 0 48px;
}
.terminbuchung-seite .footer-grid {
grid-template-columns: 1fr;
gap: 32px;
}
}
/* Pop-up auf schmalen Bildschirmen */
@media (max-width: 560px) {
.tb-overlay {
padding: 10px;
}
.tb-dialog {
width: 100%;
max-height: calc(100dvh - 20px);
padding: 20px 14px;
}
.tb-cal-head {
grid-template-columns: 44px minmax(0, 1fr) 44px;
gap: 8px;
margin-bottom: 12px;
}
.tb-cal-month {
font-size: 1.2rem;
}
.tb-cal-nav {
width: 44px;
height: 44px;
border-radius: 11px;
font-size: 1.35rem;
}
.tb-cal-weekdays,
.tb-cal-grid {
gap: 4px;
}
.tb-cal-weekdays span {
font-size: 0.82rem;
padding-bottom: 4px;
}
.tb-day {
width: min(100%, 42px);
min-height: 0;
font-size: 0.9rem;
}
.tb-times-label {
font-size: 0.9rem;
}
.tb-time-chip {
padding: 8px 11px;
border-radius: 9px;
font-size: 0.9rem;
}
.tb-review-list {
grid-template-columns: minmax(0, 1fr);
padding-inline: 18px;
}
.tb-review-list dt {
padding: 12px 0 2px;
border-bottom: 0;
}
.tb-review-list dd {
padding: 0 0 12px;
}
.tb-review-list dt:last-of-type,
.tb-review-list dd:last-of-type {
border-bottom: 0;
}
}
/* ---------- Reduzierte Bewegung ---------- */
@media (prefers-reduced-motion: reduce) {
.terminbuchung-seite {
scroll-behavior: auto;
}
.terminbuchung-seite .reveal {
opacity: 1;
transform: none;
transition: none;
}
.terminbuchung-seite,
.terminbuchung-seite *,
.tb-overlay,
.tb-overlay * {
transition-duration: 0.01ms !important;
}
}