/* ============================================
   ОБЪЕДИНЁННЫЕ СТИЛИ РАЗДЕЛОВ ПОРТАЛА
   Файл: /corner/templates/pages.css
   ============================================ */

/* ============================================
   1. БАЗОВЫЕ ПЕРЕМЕННЫЕ И СИСТЕМА МАСШТАБИРОВАНИЯ
   ============================================ */
:root {
    /* Масштабирование (можно переопределить на странице) */
    --scale: 0.65;

    /* Цветовые темы для разделов */
    --theme-blue: #0072ff, #00c6ff;
    --theme-pink: #ff007a, #ff416c;
    --theme-purple: #8a2be2, #4b0082;
    --theme-yellow: #f7971e, #ffd200;
    --theme-orange: #ff416c, #ff4b2b;
    --theme-access: #4b0082, #8a2be2;
    
    /* Цвета для карточек */
    --card-blue-start: var(--blue-secondary);
    --card-blue-end: var(--blue-primary);
    --card-purple-start: var(--purple-secondary);
    --card-purple-end: var(--purple-primary);
    --card-pink-start: var(--pink-secondary);
    --card-pink-end: var(--pink-primary);
    --card-yellow-start: var(--yellow-secondary);
    --card-yellow-end: var(--yellow-primary);
    
    /* Фоновые цвета для элементов */
    --bg-light-blue: #e8f4ff;
    --bg-light-purple: #f3e8ff;
    --bg-light-pink: #fff0f7;
    --bg-light-yellow: #fff9e6;
    --bg-light-access: #f8f9ff;
    
    /* Цвета текста и границ */
    --text-section: var(--blue-primary);
    --border-section: var(--blue-secondary);
    --text-meta: var(--blue-primary);
    --bg-meta: #e8f4ff;
    --text-list: var(--blue-primary);
    --bg-list: #f8f9ff;
}

/* ============================================
   2. ОБЩИЕ КОМПОНЕНТЫ СТРАНИЦ
   ============================================ */

/* Основной контейнер страницы */
.about-page-wrapper {
    padding: calc(2vh * var(--scale)) 0.5vw calc(4vh * var(--scale)) 0.5vw;
    display: flex;
    flex-direction: column;
    gap: calc(2.5vh * var(--scale));
}

/* Hero-блок (универсальный) */
.page-hero {
    background: linear-gradient(135deg, var(--card-blue-start), var(--card-blue-end));
    border-radius: calc(2.5vh * var(--scale));
    padding: calc(3.5vh * var(--scale)) calc(4vh * var(--scale));
    color: white;
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(0, 85, 255, 0.3);
    position: relative;
    overflow: hidden;
}

.page-hero::after {
    content: "✨";
    position: absolute;
    right: calc(3vh * var(--scale));
    top: 50%;
    transform: translateY(-50%);
    font-size: calc(12vh * var(--scale));
    opacity: 0.15;
    pointer-events: none;
}

.page-hero h1 {
    font-size: calc(4.2vh * var(--scale));
    margin: 0 0 calc(1.5vh * var(--scale)) 0;
    font-weight: 900;
    position: relative;
    z-index: 2;
}

.page-hero p {
    font-size: calc(1.7vh * var(--scale));
    line-height: calc(1.6 * var(--scale));
    max-width: 90%;
    position: relative;
    z-index: 2;
    opacity: 0.95;
    margin: 0;
}

/* Секции контента */
.content-section,
.rights-section,
.services-section {
    background: white;
    border-radius: calc(2.2vh * var(--scale));
    padding: calc(3vh * var(--scale)) calc(3.2vh * var(--scale));
    box-shadow: 0 calc(0.5vh * var(--scale)) calc(1.5vh * var(--scale)) rgba(0,0,0,0.08);
}

.content-section h2,
.rights-section h2,
.services-section h2 {
    color: var(--text-section);
    font-size: calc(2.6vh * var(--scale));
    margin: 0 0 calc(2.5vh * var(--scale)) 0;
    padding-bottom: calc(1.5vh * var(--scale));
    border-bottom: calc(0.4vh * var(--scale)) solid var(--border-section);
    display: flex;
    align-items: center;
    gap: calc(1.5vh * var(--scale));
}

.content-section h2 .icon,
.rights-section h2 .icon,
.services-section h2 .icon {
    font-size: calc(3.2vh * var(--scale));
}

.content-section p,
.rights-section p,
.services-section p,
.section-intro {
    font-size: calc(1.6vh * var(--scale));
    line-height: calc(1.7 * var(--scale));
    color: var(--text-dark);
    margin: 0 0 calc(2vh * var(--scale)) 0;
}

/* Горизонтальные карточки (универсальные) */
.grant-card-horizontal,
.event-card-horizontal,
.project-card-horizontal,
.activity-card-horizontal,
.contact-card-horizontal,
.access-card-horizontal,
.struct-h-card,
.goal-h-card {
    display: flex;
    align-items: center;
    gap: calc(2.5vh * var(--scale));
    background: white;
    border-left: calc(0.6vh * var(--scale)) solid var(--text-section);
    padding: calc(2.5vh * var(--scale));
    border-radius: calc(1.5vh * var(--scale));
    box-shadow: 0 calc(0.5vh * var(--scale)) calc(1.5vh * var(--scale)) rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    margin-bottom: calc(2vh * var(--scale));
}

.grant-card-horizontal:hover,
.event-card-horizontal:hover,
.project-card-horizontal:hover,
.activity-card-horizontal:hover,
.contact-card-horizontal:hover,
.access-card-horizontal:hover,
.struct-h-card:hover,
.goal-h-card:hover {
    transform: translateX(calc(0.5vh * var(--scale)));
    box-shadow: 0 calc(0.8vh * var(--scale)) calc(2vh * var(--scale)) rgba(0,0,0,0.12);
}

/* Иконки в карточках */
.grant-icon-box,
.event-icon-box,
.project-icon-box,
.activity-icon-box,
.contact-icon-box,
.access-icon-box,
.struct-h-icon,
.goal-h-icon,
.card-icon {
    width: calc(8vh * var(--scale));
    height: calc(8vh * var(--scale));
    flex-shrink: 0;
    background: linear-gradient(135deg, var(--card-blue-start), var(--card-blue-end));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: calc(4vh * var(--scale));
    color: white;
}

.goal-h-icon {
    width: calc(7vh * var(--scale));
    height: calc(7vh * var(--scale));
    font-size: calc(3.5vh * var(--scale));
    background: rgba(0, 85, 255, 0.1);
}

/* Контент карточек */
.grant-info,
.event-info,
.project-info,
.activity-info,
.contact-info,
.access-info,
.struct-h-info,
.goal-h-content,
.card-content {
    flex: 1;
}

.grant-info h3,
.event-info h3,
.project-info h3,
.activity-info h3,
.contact-info h3,
.access-info h3,
.struct-h-info h4,
.goal-h-content h3,
.card-title,
.right-card h3,
.service-card h3 {
    margin: 0 0 calc(0.8vh * var(--scale)) 0;
    font-size: calc(1.8vh * var(--scale));
    color: var(--text-dark);
    font-weight: 700;
}

.grant-info p,
.event-info p,
.project-info p,
.activity-info p,
.contact-info p,
.access-info p,
.struct-h-info p,
.goal-h-content p,
.card-desc,
.right-card p,
.service-card p {
    margin: 0 0 calc(1vh * var(--scale)) 0;
    font-size: calc(1.5vh * var(--scale));
    line-height: calc(1.5 * var(--scale));
    color: var(--text-light);
}

/* Мета-теги карточек */
.grant-meta,
.event-meta,
.project-meta,
.activity-meta,
.contact-meta,
.access-meta {
    display: flex;
    gap: calc(2vh * var(--scale));
    flex-wrap: wrap;
}

.meta-tag {
    background: var(--bg-meta);
    padding: calc(0.8vh * var(--scale)) calc(1.5vh * var(--scale));
    border-radius: calc(1vh * var(--scale));
    font-size: calc(1.3vh * var(--scale));
    font-weight: 600;
    color: var(--text-meta);
    display: flex;
    align-items: center;
    gap: calc(0.5vh * var(--scale));
}

/* Списки с иконками */
.info-list,
.tasks-list {
    list-style: none;
    padding: 0;
    margin: calc(2vh * var(--scale)) 0;
}

.info-list li,
.tasks-list li {
    padding: calc(1.5vh * var(--scale)) calc(2vh * var(--scale));
    background: var(--bg-list);
    border-radius: calc(1vh * var(--scale));
    font-size: calc(1.6vh * var(--scale));
    line-height: calc(1.6 * var(--scale));
    margin-bottom: calc(1.2vh * var(--scale));
    display: flex;
    align-items: flex-start;
    gap: calc(1.2vh * var(--scale));
}

.info-list li::before,
.tasks-list li::before {
    content: "✓";
    color: var(--text-list);
    font-weight: bold;
    font-size: calc(2vh * var(--scale));
    flex-shrink: 0;
    margin-top: calc(-0.2vh * var(--scale));
}

.tasks-list li::before {
    content: "▸";
}

/* Highlight box */
.highlight-box {
    background: linear-gradient(135deg, #fff9e6, #fff3cd);
    border: calc(0.2vh * var(--scale)) solid #ffd200;
    border-radius: calc(1.5vh * var(--scale));
    padding: calc(2.5vh * var(--scale));
    margin: calc(2.5vh * var(--scale)) 0;
}

.highlight-box h3 {
    margin: 0 0 calc(1.5vh * var(--scale)) 0;
    font-size: calc(2vh * var(--scale));
    color: #f7971e;
    font-weight: 700;
}

.highlight-box p {
    margin: 0;
    font-size: calc(1.6vh * var(--scale));
    line-height: calc(1.6 * var(--scale));
    color: var(--text-dark);
}

/* Кнопка назад */
.back-btn {
    display: inline-flex;
    align-items: center;
    gap: calc(1vh * var(--scale));
    padding: calc(1.8vh * var(--scale)) calc(3.5vh * var(--scale));
    background: var(--text-section);
    color: white;
    border: none;
    border-radius: calc(1.2vh * var(--scale));
    font-size: calc(1.7vh * var(--scale));
    font-weight: 700;
    cursor: pointer;
    margin-top: calc(2vh * var(--scale));
    transition: all 0.3s ease;
    align-self: flex-start;
}

.back-btn:hover {
    background: var(--border-section);
    transform: translateX(calc(-0.5vh * var(--scale)));
}

/* ============================================
   3. СПЕЦИФИЧНЫЕ КОМПОНЕНТЫ
   ============================================ */

/* Сетка карточек (для прав, сервисов) */
.rights-grid,
.service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(2vh * var(--scale));
    margin: calc(2.5vh * var(--scale)) 0;
}

.right-card,
.service-card {
    background: linear-gradient(135deg, var(--bg-light-blue), var(--bg-light-purple));
    border-left: calc(0.6vh * var(--scale)) solid var(--text-section);
    padding: calc(2.5vh * var(--scale));
    border-radius: calc(1.5vh * var(--scale));
    transition: all 0.3s ease;
}

.right-card:hover,
.service-card:hover {
    transform: translateX(calc(0.5vh * var(--scale)));
    box-shadow: 0 calc(0.5vh * var(--scale)) calc(1.5vh * var(--scale)) rgba(0,0,0,0.08);
}

.service-card {
    cursor: pointer;
}

.service-card .service-link {
    display: inline-block;
    margin-top: calc(1vh * var(--scale));
    padding: calc(0.8vh * var(--scale)) calc(1.5vh * var(--scale));
    background: var(--text-section);
    color: white;
    border-radius: calc(1vh * var(--scale));
    text-decoration: none;
    font-size: calc(1.4vh * var(--scale));
    font-weight: 600;
    transition: all 0.3s ease;
}

.service-card .service-link:hover {
    background: var(--border-section);
}

/* Пушкинская карта блок */
.pushkin-card,
.pushkin-card-block {
    background: linear-gradient(135deg, #667eea, #764ba2);
    border-radius: calc(2vh * var(--scale));
    padding: calc(3vh * var(--scale));
    color: white;
    margin: calc(2.5vh * var(--scale)) 0;
}

.pushkin-card h3,
.pushkin-content h3 {
    margin: 0 0 calc(1.5vh * var(--scale)) 0;
    font-size: calc(2.2vh * var(--scale));
    font-weight: 700;
}

.pushkin-card p,
.pushkin-content p {
    margin: 0 0 calc(1vh * var(--scale)) 0;
    font-size: calc(1.6vh * var(--scale));
    line-height: calc(1.6 * var(--scale));
    opacity: 0.95;
}

.pushkin-features {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(1.5vh * var(--scale));
    margin-top: calc(2vh * var(--scale));
}

.pushkin-feature {
    background: rgba(255,255,255,0.15);
    padding: calc(1.5vh * var(--scale));
    border-radius: calc(1vh * var(--scale));
    font-size: calc(1.5vh * var(--scale));
}

.pushkin-steps {
    display: flex;
    gap: calc(2vh * var(--scale));
}

.step-item {
    background: rgba(255,255,255,0.2);
    padding: calc(1.5vh * var(--scale));
    border-radius: calc(1.2vh * var(--scale));
    flex: 1;
    text-align: center;
}

.step-number {
    font-size: calc(2.5vh * var(--scale));
    font-weight: 900;
    display: block;
    margin-bottom: calc(0.5vh * var(--scale));
}

.step-text {
    font-size: calc(1.3vh * var(--scale));
    line-height: calc(1.3 * var(--scale));
}

/* Статистика блок */
.stats-row {
    display: flex;
    gap: calc(2vh * var(--scale));
    margin-top: calc(2.5vh * var(--scale));
}

.stats-block {
    flex: 1;
    background: linear-gradient(135deg, var(--pink-primary), var(--pink-secondary));
    color: white;
    padding: calc(2.5vh * var(--scale));
    border-radius: calc(2vh * var(--scale));
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.stats-block .number {
    font-size: calc(7vh * var(--scale));
    font-weight: 900;
    display: block;
    margin-bottom: calc(0.5vh * var(--scale));
    line-height: 1;
}

.stats-block .label {
    font-size: calc(1.6vh * var(--scale));
    font-weight: 600;
    line-height: calc(1.3 * var(--scale));
}

/* Документы список */
.docs-list {
    display: flex;
    flex-direction: column;
    gap: calc(1.5vh * var(--scale));
}

.doc-item {
    display: flex;
    align-items: center;
    padding: calc(2vh * var(--scale)) calc(2.5vh * var(--scale));
    background: #f8f9ff;
    border-radius: calc(1.2vh * var(--scale));
    gap: calc(1.5vh * var(--scale));
    transition: all 0.3s ease;
    cursor: pointer;
}

.doc-item:hover {
    background: var(--blue-primary);
    color: white;
    transform: translateX(calc(1vh * var(--scale)));
}

.doc-item:hover .doc-meta {
    color: rgba(255,255,255,0.8);
}

.doc-icon {
    font-size: calc(3.5vh * var(--scale));
    flex-shrink: 0;
}

.doc-info {
    flex: 1;
}

.doc-title {
    font-weight: 700;
    font-size: calc(1.7vh * var(--scale));
    margin-bottom: calc(0.5vh * var(--scale));
}

.doc-meta {
    font-size: calc(1.3vh * var(--scale));
    opacity: 0.7;
}

.doc-arrow {
    font-size: calc(2.5vh * var(--scale));
    opacity: 0.5;
}

/* Горизонтальные структуры */
.goals-horizontal,
.structure-horizontal {
    display: flex;
    flex-direction: column;
    gap: calc(2vh * var(--scale));
}

/* ============================================
   4. ЦВЕТОВЫЕ ТЕМЫ ДЛЯ РАЗДЕЛОВ
   (переопределяются на странице через inline-style или class)
   ============================================ */

/* Тема: О Совете (синяя) */
.theme-about .page-hero {
    background: linear-gradient(135deg, var(--blue-primary), var(--blue-secondary));
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(0, 85, 255, 0.3);
}
.theme-about .page-hero::after { content: "🏛"; }
.theme-about .content-section h2 {
    color: var(--blue-primary);
    border-bottom-color: var(--blue-secondary);
}
.theme-about .goal-h-card {
    background: linear-gradient(135deg, #f8f9ff, #e8eeff);
    border-left-color: var(--blue-primary);
}
.theme-about .goal-h-content h3 { color: var(--blue-primary); }
.theme-about .goal-h-icon { background: rgba(0, 85, 255, 0.1); }
.theme-about .tasks-list li { background: #f8f9ff; }
.theme-about .tasks-list li::before { color: var(--blue-primary); }
.theme-about .struct-h-card {
    border-color: var(--blue-secondary);
}
.theme-about .struct-h-card:hover {
    border-color: var(--blue-primary);
    background: #f8f9ff;
}
.theme-about .struct-h-icon { background: #e8eeff; }
.theme-about .struct-h-info h4 { color: var(--blue-primary); }
.theme-about .stats-block {
    background: linear-gradient(135deg, var(--pink-primary), var(--pink-secondary));
}
.theme-about .doc-item:hover {
    background: var(--blue-primary);
}
.theme-about .back-btn {
    background: var(--blue-primary);
}
.theme-about .back-btn:hover {
    background: var(--blue-secondary);
}

/* Тема: Мероприятия (розовая) */
.theme-events .page-hero {
    background: linear-gradient(135deg, var(--pink-primary), var(--pink-secondary));
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(255, 0, 122, 0.3);
}
.theme-events .page-hero::after { content: "📅"; }
.theme-events .content-section h2 {
    color: var(--pink-primary);
    border-bottom-color: var(--pink-secondary);
}
.theme-events .event-card-horizontal {
    border-left-color: var(--pink-primary);
}
.theme-events .event-icon-box {
    background: linear-gradient(135deg, var(--pink-secondary), var(--pink-primary));
}
.theme-events .meta-tag {
    background: #fff0f7;
    color: var(--pink-primary);
}
.theme-events .info-list li {
    background: #fff0f7;
}
.theme-events .info-list li::before {
    color: var(--pink-primary);
}
.theme-events .back-btn {
    background: var(--pink-primary);
}
.theme-events .back-btn:hover {
    background: var(--pink-secondary);
}

/* Тема: Гранты (фиолетовая) */
.theme-support .page-hero {
    background: linear-gradient(135deg, var(--purple-primary), var(--pink-primary));
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(138, 43, 226, 0.3);
}
.theme-support .page-hero::after { content: "💰"; }
.theme-support .content-section h2 {
    color: var(--purple-primary);
    border-bottom-color: var(--purple-secondary);
}
.theme-support .grant-card-horizontal {
    border-left-color: var(--purple-primary);
}
.theme-support .grant-icon-box {
    background: linear-gradient(135deg, var(--purple-secondary), var(--purple-primary));
}
.theme-support .meta-tag {
    background: #f3e8ff;
    color: var(--purple-primary);
}
.theme-support .info-list li {
    background: #f3e8ff;
}
.theme-support .info-list li::before {
    color: var(--purple-primary);
}
.theme-support .pushkin-card-block {
    background: linear-gradient(135deg, var(--blue-primary), var(--blue-secondary));
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(0, 85, 255, 0.3);
}
.theme-support .back-btn {
    background: var(--purple-primary);
}
.theme-support .back-btn:hover {
    background: var(--purple-secondary);
}

/* Тема: Проекты (синяя светлая) */
.theme-projects .page-hero {
    background: linear-gradient(135deg, var(--blue-secondary), var(--blue-primary));
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(0, 85, 255, 0.3);
}
.theme-projects .page-hero::after { content: "💡"; }
.theme-projects .content-section h2 {
    color: var(--blue-primary);
    border-bottom-color: var(--blue-secondary);
}
.theme-projects .project-card-horizontal {
    border-left-color: var(--blue-primary);
}
.theme-projects .project-icon-box {
    background: linear-gradient(135deg, var(--blue-primary), var(--blue-secondary));
}
.theme-projects .meta-tag {
    background: #e8f4ff;
    color: var(--blue-primary);
}
.theme-projects .info-list li {
    background: #e8f4ff;
}
.theme-projects .info-list li::before {
    color: var(--blue-primary);
}
.theme-projects .back-btn {
    background: var(--blue-primary);
}
.theme-projects .back-btn:hover {
    background: var(--blue-secondary);
}

/* Тема: Активности (жёлтая) */
.theme-activities .page-hero {
    background: linear-gradient(135deg, var(--yellow-primary), var(--yellow-secondary));
    color: var(--text-dark);
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(247, 151, 30, 0.3);
}
.theme-activities .page-hero::after { content: "🚀"; }
.theme-activities .page-hero p { opacity: 0.9; }
.theme-activities .content-section h2 {
    color: var(--yellow-primary);
    border-bottom-color: var(--yellow-secondary);
}
.theme-activities .activity-card-horizontal {
    border-left-color: var(--yellow-primary);
}
.theme-activities .activity-icon-box {
    background: linear-gradient(135deg, var(--yellow-secondary), var(--yellow-primary));
    color: var(--text-dark);
}
.theme-activities .meta-tag {
    background: #fff9e6;
    color: var(--yellow-primary);
}
.theme-activities .info-list li {
    background: #fff9e6;
}
.theme-activities .info-list li::before {
    color: var(--yellow-primary);
}
.theme-activities .highlight-box h3 {
    color: var(--yellow-primary);
}
.theme-activities .back-btn {
    background: var(--yellow-primary);
    color: var(--text-dark);
}
.theme-activities .back-btn:hover {
    background: var(--yellow-secondary);
}

/* Тема: Контакты (оранжевая) */
.theme-contacts .page-hero {
    background: linear-gradient(135deg, #ff416c, #ff4b2b);
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(255, 65, 108, 0.3);
}
.theme-contacts .page-hero::after { content: "📞"; }
.theme-contacts .content-section h2 {
    color: #ff416c;
    border-bottom-color: #ff8fa3;
}
.theme-contacts .contact-card-horizontal {
    border-left-color: #ff416c;
}
.theme-contacts .contact-icon-box {
    background: linear-gradient(135deg, #ff4b2b, #ff416c);
}
.theme-contacts .meta-tag {
    background: #fff0f3;
    color: #ff416c;
}
.theme-contacts .info-list li {
    background: #fff0f3;
}
.theme-contacts .info-list li::before {
    color: #ff416c;
}
.theme-contacts .back-btn {
    background: #ff416c;
}
.theme-contacts .back-btn:hover {
    background: #ff4b2b;
}

/* Тема: Доступная среда (фиолетовая тёмная) */
.theme-access .page-hero {
    background: linear-gradient(135deg, #4b0082, #8a2be2);
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(75, 0, 130, 0.3);
}
.theme-access .page-hero::after { content: "♿"; }
.theme-access .content-section h2 {
    color: #8a2be2;
    border-bottom-color: #9b59b6;
}
.theme-access .access-card-horizontal {
    border-left-color: #8a2be2;
}
.theme-access .access-icon-box {
    background: linear-gradient(135deg, #8a2be2, #4b0082);
}
.theme-access .meta-tag {
    background: #f3e8ff;
    color: #8a2be2;
}
.theme-access .info-list li {
    background: #f8f9ff;
}
.theme-access .info-list li::before {
    color: #8a2be2;
}
.theme-access .back-btn {
    background: #8a2be2;
}
.theme-access .back-btn:hover {
    background: #4b0082;
}

/* Тема: Твои права (голубая) */
.theme-rights .page-hero {
    background: linear-gradient(135deg, #0072ff, #00c6ff);
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(0, 114, 255, 0.3);
}
.theme-rights .page-hero::after { content: "⚖️"; }
.theme-rights .rights-section h2 {
    color: #0072ff;
    border-bottom-color: #00c6ff;
}
.theme-rights .right-card {
    background: linear-gradient(135deg, #e6f7ff, #d4e0ff);
    border-left-color: #0072ff;
}
.theme-rights .right-card h3 {
    color: #0072ff;
}
.theme-rights .info-list li {
    background: #f8f9ff;
}
.theme-rights .info-list li::before {
    color: #0072ff;
}
.theme-rights .pushkin-card {
    background: linear-gradient(135deg, #667eea, #764ba2);
}
.theme-rights .back-btn {
    background: #0072ff;
}
.theme-rights .back-btn:hover {
    background: #00c6ff;
}

/* Тема: Сервисы (фиолетовая) */
.theme-services .page-hero {
    background: linear-gradient(135deg, #8a2be2, #4b0082);
    box-shadow: 0 calc(1vh * var(--scale)) calc(3vh * var(--scale)) rgba(138, 43, 226, 0.3);
}
.theme-services .page-hero::after { content: "⚙️"; }
.theme-services .services-section h2 {
    color: #8a2be2;
    border-bottom-color: #9b59b6;
}
.theme-services .service-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(2vh * var(--scale));
    margin: calc(2.5vh * var(--scale)) 0;
}
.theme-services .service-card {
    background: linear-gradient(135deg, #f3e8ff, #e9d5ff);
    border-left-color: #8a2be2;
}
.theme-services .service-card h3 {
    color: #8a2be2;
}
.theme-services .service-card .service-link {
    background: #8a2be2;
}
.theme-services .service-card .service-link:hover {
    background: #4b0082;
}
.theme-services .info-list li {
    background: #f8f9ff;
}
.theme-services .info-list li::before {
    color: #8a2be2;
}
.theme-services .pushkin-card {
    background: linear-gradient(135deg, #667eea, #764ba2);
}
.theme-services .back-btn {
    background: #8a2be2;
}
.theme-services .back-btn:hover {
    background: #4b0082;
}

/* ============================================
   5. СТИЛИ ГЛАВНОЙ СТРАНИЦЫ (INDEX.PHP)
   ============================================ */

/* КНОПКИ ДЕЙСТВИЙ */
.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.8vh;
    margin-bottom: 1.5vh;
}

.btn {
    width: 100%;
    padding: 1.4vh 2.5vh;
    border: none;
    border-radius: 1.6vh;
    font-size: 1.6vh;
    font-weight: 800;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8vh;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.05vh;
}

.btn:active {
    transform: scale(0.98);
}

.btn-blue {
    background: var(--blue-primary);
    color: var(--white);
    box-shadow: 0 0.4vh 1.2vh rgba(0, 85, 255, 0.3);
}

.btn-pink {
    background: var(--pink-primary);
    color: var(--white);
    box-shadow: 0 0.4vh 1.2vh rgba(255, 0, 122, 0.3);
}

.btn-icon {
    font-size: 2vh;
}

/* ФОТО ЗДАНИЯ */
.building-card {
    position: relative;
    width: 100%;
    height: 18vh;
    border-radius: 2vh;
    overflow: hidden;
    margin-bottom: 1.5vh;
    box-shadow: 0 0.6vh 2vh rgba(0,0,0,0.15);
    background: #ddd;
}

.building-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

        .project-badge {
            position: absolute;
            top: 10px;
            left: 10px;
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
            padding: 4px 10px;
            border-radius: 12px;
            font-size: 11px;
            font-weight: 600;
            color: #fff;
            z-index: 2;
        }

.leaf-decoration {
    position: absolute;
    width: 12vh;
    height: 12vh;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
}

.leaf-left {
    top: -2vh;
    left: -2vh;
    background-image: url('img/decor-leaf.png');
}

.leaf-right {
    top: -2vh;
    right: -2vh;
    background-image: url('img/decor-leaf.png');
    transform: scaleX(-1);
}

/* КАРТОЧКИ РАЗДЕЛОВ */
.info-cards {
    display: flex;
    flex-direction: column;
    gap: 0.8vh;
    padding-bottom: 1vh;
}

.info-card {
    display: flex;
    align-items: center;
    gap: 1.5vh;
    padding: 1vh 1.5vh;
    border-radius: 1.8vh;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 0.4vh 1.2vh rgba(0,0,0,0.1);
}

.info-card:active {
    transform: scale(0.98);
}

.card-icon {
    width: 5vh;
    height: 5vh;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    image-rendering: pixelated;
}

.card-content {
    flex: 1;
}

.card-title {
    font-size: 1.5vh;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 0.4vh;
    letter-spacing: 0.03vh;
    color: var(--text-white);
}

.card-desc {
    font-size: 1.1vh;
    line-height: 1.3;
    opacity: 0.9;
    color: var(--text-white);
}

.card-arrow {
    font-size: 2.2vh;
    font-weight: 700;
    opacity: 0.7;
}

/* Цвета карточек главной */
.card-blue {
    background: linear-gradient(135deg, var(--blue-secondary), var(--blue-primary));
    color: #fff;
}

.card-purple {
    background: linear-gradient(135deg, var(--purple-secondary), var(--purple-primary));
    color: #fff;
}

.card-pink {
    background: linear-gradient(135deg, var(--pink-secondary), var(--pink-primary));
    color: #fff;
}

.card-yellow {
    background: linear-gradient(135deg, var(--yellow-secondary), var(--yellow-primary));
    color: #000000;
}

/* Анимации для элементов главной */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(1vh);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.info-card,
.btn {
    animation: fadeIn 0.4s ease-out;
}

/* ============================================
   6. СТИЛИ СТРАНИЦЫ ОБРАТНОЙ СВЯЗИ (FEEDBACK.PHP)
   ============================================ */

/* Специфичные для feedback.php стили */
.feedback-page main.kiosk-content {
    overflow: hidden;
    padding: 0;
}

.feedback-page .about-page-wrapper {
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: 0;
}

/* Компактный Hero-блок */
.page-hero-compact {
    background: linear-gradient(135deg, var(--pink-primary), var(--pink-secondary));
    color: white;
    padding: calc(2.5vh * var(--scale)) calc(3vh * var(--scale));
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.page-hero-compact::after {
    content: "💬";
    position: absolute;
    right: calc(2vh * var(--scale));
    top: 50%;
    transform: translateY(-50%);
    font-size: calc(8vh * var(--scale));
    opacity: 0.2;
    pointer-events: none;
}

.page-hero-compact h1 {
    font-size: calc(3.2vh * var(--scale));
    margin: 0 0 calc(0.5vh * var(--scale)) 0;
    font-weight: 900;
    line-height: 1.1;
}

.page-hero-compact p {
    font-size: calc(1.4vh * var(--scale));
    margin: 0;
    opacity: 0.9;
}

/* Обертка формы */
.feedback-form-wrapper {
    display: flex;
    flex-direction: column;
    padding: calc(2vh * var(--scale)) calc(2.5vh * var(--scale));
    gap: calc(1.5vh * var(--scale));
    flex: 1;
    justify-content: flex-start;
    background: white;
    min-height: 0;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: calc(0.8vh * var(--scale));
}

.form-group label {
    font-size: calc(1.2vh * var(--scale));
    font-weight: 700;
    color: var(--text-dark);
    margin-left: calc(0.3vh * var(--scale));
}

.form-control {
    background: #f8f9ff;
    border: calc(0.15vh * var(--scale)) solid #e0e6ed;
    border-radius: calc(1vh * var(--scale));
    padding: calc(1.2vh * var(--scale));
    font-size: calc(1.3vh * var(--scale));
    font-family: inherit;
    color: var(--text-dark);
    outline: none;
    transition: all 0.2s ease;
    caret-color: var(--pink-primary);
}

.form-control:focus {
    border-color: var(--pink-primary);
    background: #fff;
}

select.form-control {
    appearance: none;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right calc(1.2vh * var(--scale)) center;
    background-size: calc(1.2vh * var(--scale));
}

textarea.form-control {
    flex: 1;
    resize: none;
    line-height: calc(1.3 * var(--scale));
    cursor: pointer;
}

/* Поля имени и почты */
.identity-fields {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: calc(1.5vh * var(--scale));
}

.identity-fields.hidden {
    display: none;
}

/* Чекбокс и кнопка */
.form-actions-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: calc(0.5vh * var(--scale));
    flex-shrink: 0;
}

.checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: calc(1vh * var(--scale));
    cursor: pointer;
}

.checkbox-wrapper input[type="checkbox"] {
    width: calc(2.2vh * var(--scale));
    height: calc(2.2vh * var(--scale));
    cursor: pointer;
    accent-color: var(--pink-primary);
}

.checkbox-wrapper span {
    font-size: calc(1.2vh * var(--scale));
    font-weight: 600;
    color: var(--text-light);
}

.btn-submit {
    background: var(--pink-primary);
    color: white;
    border: none;
    border-radius: calc(1vh * var(--scale));
    padding: calc(1.3vh * var(--scale)) calc(2.5vh * var(--scale));
    font-size: calc(1.4vh * var(--scale));
    font-weight: 800;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 calc(0.4vh * var(--scale)) calc(1.2vh * var(--scale)) rgba(255, 0, 122, 0.3);
    transition: transform 0.2s;
}

.btn-submit:active {
    transform: scale(0.98);
}

/* ВИРТУАЛЬНАЯ КЛАВИАТУРА */
.virtual-keyboard {
    background: white;
    border-top: calc(0.2vh * var(--scale)) solid var(--pink-primary);
    border-radius: calc(1.5vh * var(--scale)) calc(1.5vh * var(--scale)) 0 0;
    padding: calc(0.8vh * var(--scale)) calc(1vh * var(--scale)) calc(1vh * var(--scale));
    display: none;
    flex-direction: column;
    gap: calc(0.6vh * var(--scale));
    box-shadow: 0 calc(-0.3vh * var(--scale)) calc(1.5vh * var(--scale)) rgba(0,0,0,0.1);
    flex-shrink: 0;
    user-select: none;
    z-index: 100;
}

.virtual-keyboard.active {
    display: flex;
}

.keyboard-row {
    display: flex;
    justify-content: center;
    gap: calc(0.4vh * var(--scale));
    width: 100%;
    flex-wrap: wrap;
}

.key {
    background: linear-gradient(135deg, #f8f9ff, #e8eeff);
    border: calc(0.12vh * var(--scale)) solid #c5d1ed;
    border-radius: calc(0.7vh * var(--scale));
    color: var(--text-dark);
    font-size: calc(1.4vh * var(--scale));
    font-weight: 600;
    padding: calc(1vh * var(--scale)) calc(1.2vh * var(--scale));
    min-width: calc(3.5vh * var(--scale));
    height: calc(4.2vh * var(--scale));
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: all 0.1s ease;
    box-shadow: 0 calc(0.2vh * var(--scale)) calc(0.5vh * var(--scale)) rgba(0,0,0,0.08);
    touch-action: manipulation;
}

.key:active, .key.pressed {
    background: linear-gradient(135deg, var(--pink-primary), var(--pink-secondary));
    color: white;
    transform: translateY(calc(0.15vh * var(--scale)));
    box-shadow: 0 calc(0.1vh * var(--scale)) calc(0.3vh * var(--scale)) rgba(0,0,0,0.1);
}

.key.wide { min-width: calc(6vh * var(--scale)); }
.key.wider { min-width: calc(8.5vh * var(--scale)); }
.key.widest { min-width: calc(15vh * var(--scale)); }
.key.space { min-width: calc(22vh * var(--scale)); }

.key.function {
    background: linear-gradient(135deg, #e8eeff, #d4e0ff);
    color: var(--blue-primary);
    font-size: calc(1.25vh * var(--scale));
}

.key.enter {
    background: linear-gradient(135deg, var(--blue-primary), var(--blue-secondary));
    color: white;
}

.key.backspace {
    background: linear-gradient(135deg, #ffe0e0, #ffcdd2);
    color: #c62828;
}

.key.shift {
    background: linear-gradient(135deg, #e8d5ff, #d4b4fe);
    color: var(--purple-primary);
}

.key.shift.active {
    background: linear-gradient(135deg, var(--purple-primary), var(--purple-secondary));
    color: white;
    box-shadow: 0 0 calc(0.8vh * var(--scale)) rgba(138, 43, 226, 0.4);
}

.key.lang {
    background: linear-gradient(135deg, #fff3cd, #ffe08a);
    color: var(--yellow-primary);
    font-size: calc(1.15vh * var(--scale));
}

.key.layout-toggle {
    background: linear-gradient(135deg, #e0f7fa, #80deea);
    color: #00838f;
    font-size: calc(1.15vh * var(--scale));
}

.keyboard-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 calc(0.4vh * var(--scale));
    margin-bottom: calc(0.5vh * var(--scale));
}

.keyboard-close {
    background: none;
    border: none;
    color: var(--pink-primary);
    font-size: calc(2.2vh * var(--scale));
    cursor: pointer;
    padding: calc(0.4vh * var(--scale));
    border-radius: calc(0.7vh * var(--scale));
    transition: background 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(3.5vh * var(--scale));
    height: calc(3.5vh * var(--scale));
}

.keyboard-close:hover { background: rgba(255, 0, 122, 0.1); }

.keyboard-status {
    display: flex;
    gap: calc(0.8vh * var(--scale));
    font-size: calc(1.1vh * var(--scale));
    color: #666;
}

.keyboard-status span.active {
    color: var(--pink-primary);
    font-weight: 700;
}

/* Адаптивность для клавиатуры */
@media (max-height: 700px) {
    .key {
        height: calc(3.8vh * var(--scale));
        padding: calc(0.8vh * var(--scale)) calc(1vh * var(--scale));
        font-size: calc(1.25vh * var(--scale));
    }
    .key.wide { min-width: calc(5.5vh * var(--scale)); }
    .key.wider { min-width: calc(7.5vh * var(--scale)); }
    .key.widest { min-width: calc(13vh * var(--scale)); }
    .key.space { min-width: calc(18vh * var(--scale)); }
}

/* ============================================
   7. АДАПТИВНОСТЬ
   ============================================ */
@media (max-height: 700px) {
    .about-page-wrapper {
        padding: calc(1.5vh * var(--scale)) calc(0.5vh * var(--scale)) calc(3vh * var(--scale)) calc(0.5vh * var(--scale));
    }
    
    .page-hero h1 {
        font-size: calc(3.8vh * var(--scale));
    }
    
    .content-section h2 {
        font-size: calc(2.4vh * var(--scale));
    }
    
    .grant-card-horizontal,
    .event-card-horizontal,
    .project-card-horizontal,
    .activity-card-horizontal,
    .contact-card-horizontal,
    .access-card-horizontal {
        flex-direction: column;
        align-items: flex-start;
        text-align: left;
    }
    
    .grant-icon-box,
    .event-icon-box,
    .project-icon-box,
    .activity-icon-box,
    .contact-icon-box,
    .access-icon-box {
        margin-bottom: calc(1vh * var(--scale));
    }
    
    .grant-meta,
    .event-meta,
    .project-meta,
    .activity-meta,
    .contact-meta,
    .access-meta {
        justify-content: flex-start;
    }
    
    .rights-grid,
    .service-grid {
        grid-template-columns: 1fr;
    }
}