Files
nahodka-front/src/styles/ui.css
2026-06-30 00:44:04 +03:00

78 lines
3.4 KiB
CSS

/* ── Post Button (topbar CTA) ── */
.f-post-btn {
display: flex; align-items: center; gap: 10px;
padding: 12px 28px; border-radius: 16px;
font-family: var(--font); font-weight: 900; font-size: 0.95rem; letter-spacing: 0.3px;
color: var(--teal);
background: rgba(var(--teal-rgb), 0.12); backdrop-filter: blur(14px);
border: 1px solid rgba(var(--teal-rgb), 0.25);
box-shadow: 0 8px 24px rgba(0,0,0,0.35), inset 0 0 12px rgba(var(--teal-rgb), 0.15), 0 0 18px rgba(var(--teal-rgb), 0.15);
cursor: pointer; transition: all 0.25s ease;
position: relative; overflow: hidden;
}
.f-post-btn::before {
content: ""; position: absolute; inset: 0;
background: linear-gradient(120deg, rgba(255,255,255,0.25), rgba(255,255,255,0.05) 40%, transparent 60%);
opacity: 0.4; pointer-events: none;
}
.f-post-btn:hover {
transform: translateY(-2px) scale(1.02);
border-color: rgba(var(--teal-rgb), 0.5);
box-shadow: 0 12px 32px rgba(0,0,0,0.45), inset 0 0 18px rgba(var(--teal-rgb), 0.25), 0 0 26px rgba(var(--teal-rgb), 0.35);
}
.f-post-btn:active {
transform: translateY(0) scale(0.98);
box-shadow: 0 4px 12px rgba(0,0,0,0.4), inset 0 0 10px rgba(var(--teal-rgb), 0.2);
}
/* ── Login Button (topbar) ── */
.f-login-btn {
display: flex; align-items: center; gap: 6px;
padding: 8px 18px; border-radius: 14px;
font-family: var(--font); font-weight: 800; font-size: 0.85rem; letter-spacing: 0.3px;
color: var(--teal);
background: rgba(var(--teal-rgb), 0.12); backdrop-filter: blur(14px);
border: 1px solid rgba(var(--teal-rgb), 0.25);
box-shadow: 0 6px 18px rgba(0,0,0,0.35), inset 0 0 10px rgba(var(--teal-rgb), 0.12), 0 0 14px rgba(var(--teal-rgb), 0.12);
cursor: pointer; transition: all 0.25s ease;
position: relative; overflow: hidden; white-space: nowrap;
}
.f-login-btn::before {
content: ""; position: absolute; inset: 0;
background: linear-gradient(120deg, rgba(255,255,255,0.25), rgba(255,255,255,0.05) 40%, transparent 60%);
opacity: 0.4; pointer-events: none;
}
.f-login-btn:hover {
transform: translateY(-2px) scale(1.02);
border-color: rgba(var(--teal-rgb), 0.5);
box-shadow: 0 10px 26px rgba(0,0,0,0.45), inset 0 0 14px rgba(var(--teal-rgb), 0.22), 0 0 20px rgba(var(--teal-rgb), 0.3);
}
.f-login-btn:active {
transform: translateY(0) scale(0.98);
box-shadow: 0 3px 10px rgba(0,0,0,0.4), inset 0 0 8px rgba(var(--teal-rgb), 0.18);
}
.f-post-btn span {
display: flex; align-items: center; justify-content: center;
width: 22px; height: 22px; border-radius: 50%;
background: rgba(var(--teal-rgb), 0.2); box-shadow: 0 0 10px rgba(var(--teal-rgb), 0.4);
font-size: 1.2rem; transform: translateY(-2px);
}
/* ── Feed Empty / Error States ── */
.f-center {
flex: 1; display: flex; flex-direction: column;
align-items: center; justify-content: center;
gap: 12px; color: var(--muted); text-align: center; padding: 40px;
}
.f-center-icon { font-size: 2.8rem; opacity: .3; }
.f-center-title { font-size: 1rem; font-weight: 700; color: var(--muted); }
.f-center-sub { font-size: .82rem; line-height: 1.6; }
/* ── Loading Spinner ── */
.f-spinner-wrap { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: .88rem; }
.f-spinner {
width: 20px; height: 20px;
border: 2px solid rgba(var(--teal-rgb), .2); border-top-color: var(--teal);
border-radius: 50%; animation: spin .7s linear infinite; flex-shrink: 0;
}