/* Existing informational-page design, scoped for both visitor and authenticated layouts. */
.information-page.information-contact .hero {
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            color: #fff;
            padding: 48px 24px;
            text-align: center;
        }
.information-page.information-contact .hero h1 {
            font-family: var(--font-family);
            font-size: 38px;
            font-weight: 300;
            margin-bottom: 8px;
        }
.information-page.information-contact .hero p { font-size: 16px; opacity: 0.9; }
.information-page.information-contact .content {
            flex: 1;
            max-width: 900px;
            margin: -30px auto 60px;
            padding: 0 24px;
            width: 100%;
            position: relative;
            z-index: 10;
        }
.information-page.information-contact .contact-card {
            background: #fff;
            border-radius: 16px;
            box-shadow: 0 10px 40px rgba(0,0,0,0.08);
            overflow: hidden;
        }
.information-page.information-contact .card-header-section {
            background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
            padding: 28px 32px;
            color: #fff;
            display: flex;
            align-items: center;
            gap: 16px;
        }
.information-page.information-contact .card-header-icon {
            width: 56px;
            height: 56px;
            background: rgba(255,255,255,0.2);
            border-radius: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 28px;
            flex-shrink: 0;
        }
.information-page.information-contact .card-header-text h2 {
            font-family: var(--font-family);
            font-size: 24px;
            font-weight: 700;
            margin-bottom: 2px;
        }
.information-page.information-contact .card-header-text p { font-size: 14px; opacity: 0.9; }
.information-page.information-contact .contact-list { padding: 8px 0; }
.information-page.information-contact .contact-item {
            display: flex;
            align-items: center;
            gap: 16px;
            padding: 18px 32px;
            border-bottom: 1px solid #f5f5f5;
            transition: background 0.2s ease;
        }
.information-page.information-contact .contact-item:last-child { border-bottom: none; }
.information-page.information-contact .contact-item:hover { background: #fafbfc; }
.information-page.information-contact .contact-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 22px;
            flex-shrink: 0;
        }
.information-page.information-contact .icon-address { background: #fce4ec; }
.information-page.information-contact .icon-phone { background: #e8f5e9; }
.information-page.information-contact .icon-email { background: #fff8e1; }
.information-page.information-contact .contact-details { flex: 1; min-width: 0; }
.information-page.information-contact .contact-label {
            font-size: 12px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: #999;
            margin-bottom: 2px;
        }
.information-page.information-contact .contact-value {
            font-size: 16px;
            color: #333;
            word-break: break-word;
        }
.information-page.information-contact .contact-value a {
            color: var(--primary-color);
            text-decoration: none;
            font-weight: 500;
            transition: color 0.2s;
        }
.information-page.information-contact .contact-value a:hover { text-decoration: underline; }
.information-page.information-contact .contact-launch { color: #ccc; font-size: 18px; flex-shrink: 0; }
.information-page.information-contact .error-state {
            padding: 60px 32px;
            text-align: center;
            color: #999;
        }
.information-page.information-contact .error-state .error-icon { font-size: 48px; margin-bottom: 16px; }
.information-page.information-contact .error-state h3 { font-size: 20px; color: #666; margin-bottom: 8px; }
@media (max-width: 768px) {
.information-page.information-contact .hero h1 { font-size: 28px; }
.information-page.information-contact .contact-item { padding: 14px 20px; }
.information-page.information-contact .card-header-section { padding: 20px; }
}
