UX overhaul: glassmorphism nav/footer, forms redesign, mobile fixes

Navigation:
- Nav bar pill shape (border-radius: 100px), dark glass style
- Icons added to all nav items (FA4 outline variants, fixed-width alignment)
- Footer hidden on all devices (nav panel covers mobile)
- Footer nav icons + text added before removal

Forms (ask.md, plan.md):
- Full glassmorphism redesign: rounded card, blur backdrop
- Input borders visible (#b8c4ce), focus ring, proper placeholder colors
- Select: self-contained CSS, no backdrop-filter conflict, arrow fixed
- Submit button: gradient with shadow
- File upload button: .file-btn class, fa-arrow-down icon
- form-note styled as info callout with left border + ⓘ icon
- Footnotes sup.fn: circular badge, baseline positioning (no line-height jump)
- Footnote ¹ on both consent checkboxes, accordion = full legal text
- Dark mode: opaque dark card (rgba 22,26,34,0.88), proper contrast
- Dark mode success/error messages adapted
- Double checkmark bug fixed (removed ::after overlay)
- Italic removed from privacy-details text

Layout:
- #main rounded corners (20px all sides) + margin for visibility
- Post card images rounded (border-radius: 10px)
- Page titles: uppercase removed, font-weight 900, left-aligned
- "Подробнее" button hidden on post cards
- iOS background-attachment: fixed bug fixed (scroll on mobile)
- Pagination mobile: counter restored, buttons above footer

Content:
- Page titles uncommented in front matter (gallery, map, ask, plan)
- Duplicate rawhtml title blocks removed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Kirik
2026-03-24 00:44:57 +01:00
parent e5fc0fa4e4
commit 3de138ff41
15 changed files with 964 additions and 541 deletions
+81 -71
View File
@@ -1,71 +1,81 @@
/* Фиксируем пагинацию */
.pagination ul {
display: flex !important;
align-items: center !important;
justify-content: center !important;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
gap: 1rem !important;
}
/* Убираем рамки со всех кнопок пагинации */
.pagination a,
.pagination .previous,
.pagination .next,
.pagination .first,
.pagination .last {
border: none !important;
border-radius: 0 !important;
box-shadow: none !important;
outline: none !important;
}
/* Информация о страницах для десктопа */
.pagination .page-info {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
padding: 0.4rem 0.8rem !important;
font-size: 0.8rem !important;
color: #333 !important;
background: none !important;
border: none !important;
border-radius: 0 !important;
text-align: center !important;
font-weight: 300 !important;
white-space: nowrap !important;
min-width: 60px !important;
box-sizing: border-box !important;
flex-shrink: 0 !important;
box-shadow: none !important;
outline: none !important;
}
.pagination .page-info .current-page {
color: #333 !important;
font-weight: 400 !important;
font-size: 1em !important;
}
.pagination .page-info .separator {
margin: 0 0.3rem !important;
color: #666 !important;
font-size: 0.9em !important;
font-weight: 300 !important;
}
.pagination .page-info .total-pages {
color: #333 !important;
font-weight: 300 !important;
}
/* Скрываем информацию о страницах на мобильных */
@media (max-width: 768px) {
.pagination .page-info,
.pagination .page-info.desktop-only,
.pagination-info,
.pagination-status {
display: none !important;
}
}
/* Пагинация — новые классы, нет конфликтов с темой */
.pager {
display: flex;
justify-content: center;
padding: 1.5rem 0 3.5rem;
}
.pager-inner {
display: flex;
align-items: center;
gap: 0.5rem;
}
/* Кнопки Новее / Старше */
.pager-btn {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.5rem 1.1rem;
font-size: 0.82rem;
font-weight: 500;
color: #555c63;
background: transparent;
border: 1px solid #d0d4d8;
border-radius: 20px;
text-decoration: none;
transition: color 0.18s, border-color 0.18s, background 0.18s;
cursor: pointer;
white-space: nowrap;
letter-spacing: 0.01em;
}
.pager-btn:hover {
color: #5b9bd5;
border-color: #5b9bd5;
background: rgba(24, 191, 239, 0.06);
text-decoration: none;
}
.pager-btn svg {
flex-shrink: 0;
}
/* Заблокированная кнопка */
.pager-disabled {
color: #c0c5ca;
border-color: #e8eaec;
cursor: default;
pointer-events: none;
}
/* Счётчик страниц */
.pager-info {
font-size: 0.78rem;
color: #aaa;
padding: 0 0.5rem;
white-space: nowrap;
font-variant-numeric: tabular-nums;
min-width: 3.5rem;
text-align: center;
}
/* Мобильные: уменьшить счётчик, добавить пространство */
@media (max-width: 736px) {
.pager-info {
font-size: 0.72rem;
min-width: 2.5rem;
color: #bbb;
}
/* Больше белого пространства под кнопками — чёткое разделение с футером */
#main > nav.pager {
padding-bottom: 3rem !important;
}
.pager-btn {
padding: 0.6rem 1.4rem;
font-size: 0.85rem;
}
}