diff --git a/assets/eventcreate_foodtable.jpg b/assets/eventcreate_foodtable.jpg new file mode 100644 index 0000000..07e8aeb Binary files /dev/null and b/assets/eventcreate_foodtable.jpg differ diff --git a/css/event_create.css b/css/event_create.css index 9bccef6..5ce1af7 100644 --- a/css/event_create.css +++ b/css/event_create.css @@ -6,6 +6,25 @@ --control-min-height: 3rem; --input-min-height: 3.5rem; --card-min-height: 6rem; + + --color-bg: var(--butter); + --color-surface: var(--white); + --color-surface-soft: var(--butter-light); + --color-text: var(--black); + --color-text-secondary: rgba(34, 33, 26, 0.8); + --color-muted: rgba(34, 33, 26, 0.68); + --color-border: rgba(102, 52, 13, 0.16); + --color-border-strong: var(--brown); + --color-divider: rgba(102, 52, 13, 0.14); + --color-primary: var(--olive); + --color-primary-hover: var(--olive-dark); + --color-progress-bg: rgba(212, 75, 36, 0.18); + --color-focus: var(--blue); + --color-error: var(--error); + --shadow-soft: 0 12px 30px rgba(102, 52, 13, 0.1); + --input-border-soft: rgba(102, 52, 13, 0.2); + --input-border-focus: rgba(107, 107, 5, 0.45); + --input-shadow-focus: 0 0 0 4px rgba(107, 107, 5, 0.12); } *, @@ -108,6 +127,10 @@ a { padding: var(--space-4) 0 var(--space-7); } +.submission-success { + padding: var(--space-4) 0 var(--space-7); +} + .step--active { display: block; } @@ -123,6 +146,7 @@ a { min-height: 60vh; align-content: center; grid-template-columns: 1fr; + gap: var(--space-7); } .step-copy, @@ -185,9 +209,22 @@ h2 { background: linear-gradient(135deg, var(--color-surface), var(--color-surface-soft)); } -.intro-card-emoji { - font-size: 2rem; - margin-bottom: var(--space-3); +.intro-card--image { + width: 100%; + padding: 0; + border: 0; + overflow: hidden; + background: transparent; + box-shadow: none; +} + +.intro-image { + width: 100%; + aspect-ratio: 16 / 10; + display: block; + object-fit: cover; + border-radius: 1.875rem; + box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12); } label, @@ -208,11 +245,13 @@ input[type="number"], textarea { width: 100%; min-height: var(--input-min-height); - padding: 0.95rem 1rem; - border: 1px solid var(--color-border); - border-radius: 1rem; - background: var(--color-surface); + padding: 1rem 1.1rem; + border: 1px solid var(--input-border-soft); + border-radius: 1.125rem; + background: var(--butter-light); color: var(--color-text); + box-shadow: 0 1px 2px rgba(102, 52, 13, 0.04); + transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease; } textarea { @@ -220,6 +259,30 @@ textarea { resize: vertical; } +input[type="text"]:hover, +input[type="date"]:hover, +input[type="time"]:hover, +input[type="number"]:hover, +textarea:hover { + border-color: rgba(102, 52, 13, 0.28); +} + +input[type="text"]:focus, +input[type="date"]:focus, +input[type="time"]:focus, +input[type="number"]:focus, +textarea:focus { + border-color: var(--input-border-focus); + box-shadow: var(--input-shadow-focus); + background: var(--butter-light); + outline: none; +} + +.field-invalid { + border-color: var(--tomato) !important; + box-shadow: 0 0 0 2px rgba(212, 75, 36, 0.14); +} + .field-row { display: grid; gap: var(--space-4); @@ -238,8 +301,8 @@ textarea { padding: 1rem 1rem 1rem 1.05rem; border: 1px solid var(--color-border); border-radius: 1rem; - background: var(--color-surface); - transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; + background: var(--butter-light); + transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease, color 0.2s ease; } .option-card small { @@ -247,6 +310,7 @@ textarea { } .option-card:hover { + background: var(--olive-light); transform: translateY(-1px); box-shadow: var(--shadow-soft); } @@ -259,7 +323,18 @@ textarea { } .option-card:has(input:checked) { - border: 2px solid var(--color-border-strong); + border: 1px solid var(--color-primary); + background: var(--color-primary); + color: var(--white); +} + +.option-card:has(input:checked) small { + color: rgba(247, 246, 230, 0.88); +} + +.option-card--invalid { + border-color: var(--tomato) !important; + box-shadow: 0 0 0 2px rgba(212, 75, 36, 0.14); } .counter { @@ -281,15 +356,44 @@ textarea { .counter-button { width: var(--control-min-height); height: var(--control-min-height); - border: 1px solid var(--color-border); + border: 1px solid var(--color-primary); border-radius: 50%; - background: var(--color-surface); + background: var(--color-primary); + color: var(--white); font-size: 1.5rem; + line-height: 1; + box-shadow: 0 6px 16px rgba(107, 107, 5, 0.18); + transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease; +} + +.counter-button:hover { + background: var(--color-primary-hover); + transform: translateY(-1px); +} + +.counter-button:focus-visible { + outline: 3px solid rgba(107, 107, 5, 0.22); + outline-offset: 3px; } .review-card { - padding: var(--space-5); - border-radius: var(--radius-lg); + display: grid; + gap: var(--space-4); + padding: 0; + border: 0; + border-radius: 0; + background: transparent; + box-shadow: none; +} + +.review-card--success { + display: grid; + gap: var(--space-5); + padding: var(--space-3) 0 0; + border: 0; + border-radius: 0; + background: transparent; + box-shadow: none; } .review-list { @@ -300,14 +404,29 @@ textarea { .review-item { display: grid; - gap: var(--space-1); - padding-bottom: var(--space-4); - border-bottom: 1px solid var(--color-divider); + gap: var(--space-2); + padding: 1rem 1.1rem; + border: 1px solid var(--input-border-soft); + border-radius: 1.125rem; + background: var(--butter-light); + box-shadow: 0 1px 2px rgba(102, 52, 13, 0.04); + cursor: pointer; + transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background-color 0.2s ease; } .review-item:last-child { - border-bottom: 0; - padding-bottom: 0; + border-bottom: 1px solid var(--input-border-soft); +} + +.review-item:hover { + border-color: rgba(102, 52, 13, 0.28); + background: rgba(247, 246, 230, 0.92); + transform: translateY(-1px); +} + +.review-item:focus-visible { + outline: 3px solid rgba(107, 107, 5, 0.2); + outline-offset: 3px; } .review-item dt { @@ -320,16 +439,29 @@ textarea { color: var(--color-text-secondary); } +.submission-success-actions { + display: flex; + justify-content: center; +} + .flow-footer { position: sticky; bottom: 0; z-index: 5; margin-top: auto; - background: rgba(247, 247, 242, 0.96); - backdrop-filter: blur(8px); + background: var(--color-bg); + backdrop-filter: none; + padding-top: var(--space-4); padding-bottom: env(safe-area-inset-bottom); } +.progress-wrap { + position: relative; + width: min(100%, var(--content-width)); + margin: 0 auto; + padding-top: 4.35rem; +} + .progress { width: 100%; height: 0.375rem; @@ -340,15 +472,50 @@ textarea { display: block; width: 0; height: 100%; - background: var(--color-primary); + background: var(--tomato); transition: width 0.25s ease; } +.progress-marker { + position: absolute; + top: 0; + transform: translateX(-50%); + display: grid; + justify-items: center; + gap: 0.2rem; + pointer-events: none; +} + +.progress-marker::after { + content: ""; + width: 0.125rem; + height: 1rem; + background: var(--tomato); + border-radius: 999px; +} + +.progress-marker__circle { + width: 2.9rem; + height: 2.9rem; + display: inline-flex; + align-items: center; + justify-content: center; + border-radius: 50%; + background: var(--tomato); + color: var(--butter-light); + font-size: 1.35rem; + font-weight: 600; + line-height: 1; + box-shadow: 0 10px 24px rgba(212, 75, 36, 0.18); +} + .flow-actions { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); + width: min(100%, var(--content-width)); + margin: 0 auto; padding: var(--space-4) 0; } @@ -455,8 +622,10 @@ textarea:focus-visible { @media (min-width: 768px) { .step-layout--intro { - grid-template-columns: 1.25fr 0.8fr; + width: min(100%, 56rem); + grid-template-columns: 1fr 1fr; align-items: center; + gap: var(--space-8); } .field-row { @@ -470,4 +639,4 @@ textarea:focus-visible { .option-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } -} \ No newline at end of file +} diff --git a/event_create.html b/event_create.html index f90856d..5f669db 100644 --- a/event_create.html +++ b/event_create.html @@ -43,16 +43,19 @@
Erzähl uns von deiner Idee – vom Essen bis zur Stimmung. Ob Dinner, Brunch - oder etwas ganz Eigenes – wir helfen dir dabei, dein Event Schritt für Schritt aufzubauen. + oder etwas ganz Eigenes – wir helfen dir dabei, dein Event in sieben Schritten aufzubauen.
-