You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

238 lines
5.4 KiB

/* =====================================================================
MODERNÍ BAREVNÝ FORMULÁŘ – 2026 UI (CLEAN + COLORFUL)
===================================================================== */
/* ---------------------------------------------------------------------
1. PROMĚNNÉ
--------------------------------------------------------------------- */
:root {
--primary: #7c3aed; /* fialová */
--secondary: #06b6d4; /* cyan */
--accent: #f97316; /* oranžová */
--bg: #f6f7ff;
--card: #ffffff;
--text: #111827;
--muted: #6b7280;
--success: #22c55e;
--danger: #ef4444;
--radius: 20px;
--shadow: 0 15px 45px rgba(0,0,0,.10);
}
/* ---------------------------------------------------------------------
2. BODY
--------------------------------------------------------------------- */
body {
font-family: system-ui, -apple-system, Segoe UI, sans-serif;
background:
radial-gradient(circle at top left, #ede9fe, transparent 45%),
radial-gradient(circle at top right, #cffafe, transparent 40%),
radial-gradient(circle at bottom, #ffedd5, transparent 45%),
var(--bg);
color: var(--text);
}
/* ---------------------------------------------------------------------
3. HEADER
--------------------------------------------------------------------- */
.app-header {
background: rgba(255,255,255,.85);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(0,0,0,.06);
}
.navbar-brand {
font-weight: 700;
color: var(--text) !important;
}
/* ---------------------------------------------------------------------
4. CARD
--------------------------------------------------------------------- */
.form-card,
.success-card {
background: var(--card);
border-radius: var(--radius);
box-shadow: var(--shadow);
border: 1px solid rgba(0,0,0,.05);
overflow: hidden;
}
/* gradient header (barevný highlight) */
.form-card-header {
background: linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
color: white;
padding: 2rem;
}
/* footer */
.form-card-footer {
background: linear-gradient(135deg, #f9fafb, #f3f4f6);
border-top: 1px solid rgba(0,0,0,.05);
color: var(--muted);
}
/* ---------------------------------------------------------------------
5. FORM ELEMENTY
--------------------------------------------------------------------- */
.form-label {
font-weight: 600;
margin-bottom: .4rem;
}
.form-control,
.form-select {
border-radius: 14px;
border: 1px solid #e5e7eb;
padding: .8rem 1rem;
transition: .2s ease;
background: #fff;
}
.form-control:focus,
.form-select:focus {
border-color: var(--secondary);
box-shadow: 0 0 0 4px rgba(6,182,212,.15);
}
/* input ikony */
.input-group-text {
background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
border: 1px solid #e5e7eb;
color: var(--primary);
}
/* textarea */
textarea.form-control {
min-height: 160px;
}
/* ---------------------------------------------------------------------
6. VALIDACE
--------------------------------------------------------------------- */
.is-valid {
border-color: var(--success) !important;
}
.is-invalid {
border-color: var(--danger) !important;
}
.invalid-feedback {
display: block;
color: var(--danger);
font-size: .85rem;
}
/* ---------------------------------------------------------------------
7. BUTTON
--------------------------------------------------------------------- */
.btn-primary {
background: linear-gradient(
135deg,
var(--primary),
var(--secondary)
);
border: none;
border-radius: 14px;
font-weight: 600;
padding: .9rem 1.2rem;
transition: .25s ease;
}
.btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 12px 30px rgba(124,58,237,.25);
}
/* ---------------------------------------------------------------------
8. SUCCESS
--------------------------------------------------------------------- */
.success-icon i {
font-size: 4.5rem;
color: var(--success);
animation: pop .5s ease;
}
@keyframes pop {
from {
transform: scale(.6);
opacity: 0;
}
to {
transform: scale(1);
opacity: 1;
}
}
/* ---------------------------------------------------------------------
9. ALERT
--------------------------------------------------------------------- */
.alert {
border-radius: 14px;
}
/* ---------------------------------------------------------------------
10. FOOTER
--------------------------------------------------------------------- */
.app-footer {
background: #ffffff;
border-top: 1px solid rgba(0,0,0,.06);
color: var(--muted);
}
/* ---------------------------------------------------------------------
11. ANIMACE
--------------------------------------------------------------------- */
.animate-slide-down {
animation: slideDown .4s ease;
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-12px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* ---------------------------------------------------------------------
12. HOVER DETAIL (malý UX bonus)
--------------------------------------------------------------------- */
.form-card:hover {
transform: translateY(-2px);
transition: .3s ease;
}