.page-title { font-size: 24px; font-weight: 700; margin-bottom: 24px; color: var(--color-text-primary); }
        
        /* Две колонки */
        .two-columns { display: flex; gap: 24px; margin-bottom: 24px; }
        .left-column { flex: 1.8; min-width: 0; }
        .right-column { flex: 1; min-width: 280px; }
        
        /* Общие блоки */
        .content-block {
            background: var(--color-bg-primary);
            border-radius: 16px;
            padding: 24px;
            box-shadow: var(--shadow-card);
            margin-bottom: 24px;
        }
        .content-block h2 {
            font-size: 20px;
            font-weight: 700;
            margin: 0 0 16px;
            color: var(--color-text-primary);
        }
        .content-block p {
            font-size: 15px;
            line-height: 1.6;
            color: var(--color-text-secondary);
            margin: 0 0 12px;
        }
        .content-block p:last-child { margin-bottom: 0; }
        
        /* Баннер */
        .hero-banner {
            position: relative;
            border-radius: 16px;
            overflow: hidden;
            height: 300px;
            background: url('/assets/images/wedding_ceremony.jpg') center/cover no-repeat;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 24px;
        }
        .hero-banner-overlay {
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,0.3);
        }
        .hero-banner-content {
            position: relative;
            z-index: 1;
            text-align: center;
            color: white;
            padding: 20px;
        }
        .hero-banner-content h2 {
            font-size: 36px;
            font-weight: 900;
            margin: 0 0 8px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
        }
        .hero-banner-content p {
            font-size: 18px;
            margin: 0;
            text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
        }
        
        /* Преимущества */
        .advantages-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 16px;
        }
        .advantage-card {
            background: var(--color-bg-secondary);
            border-radius: 12px;
            padding: 16px;
            text-align: center;
        }
        .advantage-card .icon {
            font-size: 32px;
            margin-bottom: 8px;
        }
        .advantage-card h3 {
            font-size: 14px;
            font-weight: 700;
            margin: 0 0 4px;
            color: var(--color-text-primary);
        }
        .advantage-card p {
            font-size: 12px;
            color: var(--color-text-tertiary);
            margin: 0;
        }
        
        /* Поделиться */
        .share-buttons {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
        }
        .share-btn {
            padding: 10px 16px;
            border-radius: 8px;
            color: white;
            text-decoration: none;
            font-size: 13px;
            font-weight: 600;
            transition: opacity 0.2s;
        }
        .share-btn:hover { opacity: 0.85; }
        .share-btn.vk { background: #0077FF; }
        .share-btn.tg { background: #0088cc; }
        .share-btn.whatsapp { background: #25D366; }
        
        /* Поддержка */
        .support-methods {
            display: flex;
            gap: 12px;
            flex-wrap: wrap;
        }
        .support-card {
            flex: 1;
            min-width: 150px;
            background: var(--color-bg-secondary);
            border-radius: 12px;
            padding: 16px;
            text-align: center;
        }
        .support-card h3 {
            font-size: 14px;
            font-weight: 700;
            margin: 0 0 4px;
            color: var(--color-text-primary);
        }
        .support-card p {
            font-size: 12px;
            color: var(--color-text-tertiary);
            margin: 0;
        }
        
        /* Календарь */
        .calendar-block {
            background: var(--color-bg-primary);
            border-radius: 16px;
            padding: 24px 20px;
            box-shadow: var(--shadow-card);
            text-align: center;
            margin-bottom: 16px;
        }
        .calendar-layout {
            display: flex;
            flex-direction: row;
            justify-content: center;
            align-items: center;
            gap: 20px;
        }
        .calendar-astro-stack {
            display: flex;
            flex-direction: column;
            gap: 8px;
            border-right: 1px solid var(--color-border);
            padding-right: 16px;
        }
        .astro-line { font-size: 12px; color: var(--color-text-tertiary); white-space: nowrap; }
        .calendar-main-stack { text-align: center; }
        .calendar-day-number {
            font-size: 100px;
            font-weight: 900;
            line-height: 1;
            color: var(--color-text-primary);
        }
        .calendar-day-number.red { color: #e53935; }
        .calendar-weekday { font-size: 20px; font-weight: 600; color: var(--color-text-secondary); margin-top: 8px; }
        .calendar-month { font-size: 18px; font-weight: 600; color: var(--color-text-tertiary); }
        .calendar-year { font-size: 14px; color: var(--color-text-quaternary); margin-top: 4px; }
        .calendar-divider { border: none; border-top: 1px solid var(--color-border); margin: 14px 0; }
        .calendar-events { text-align: left; font-size: 13px; color: var(--color-text-secondary); line-height: 1.6; }
        .event-section { display: flex; gap: 12px; margin-bottom: 20px; }
        .event-section:last-child { margin-bottom: 0; }
        .event-icon { font-size: 18px; flex-shrink: 0; width: 24px; text-align: center; }
        .event-content { flex: 1; }
        .event-title { font-weight: 700; color: var(--color-text-primary); margin-bottom: 2px; font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; }
        .event-text { color: var(--color-text-secondary); }
        
        @media (max-width: 768px) {
            .two-columns { flex-direction: column; }
            .hero-banner { height: 200px; }
            .hero-banner-content h2 { font-size: 24px; }
            .hero-banner-content p { font-size: 14px; }
            .calendar-day-number { font-size: 72px; }
            .advantages-grid { grid-template-columns: 1fr; }
        }