/* contact.css — Contact page specific styles */

.contact-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: calc(var(--nav-h) + 48px) 32px 64px;
    text-align: center;
    gap: 24px;
}

.page-title {
    color: var(--purple);
    font-size: clamp(30px, 4vw, 52px);
    margin-top: 8px;
}

.contact-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    justify-content: center;
    margin-top: 12px;
    width: 100%;
    max-width: 900px;
}

/* Info Card */
.contact-info-card {
    background: var(--orange);
    color: #fff;
    border-radius: var(--radius);
    padding: 36px 32px;
    flex: 1;
    min-width: 260px;
    max-width: 360px;
    text-align: left;
    box-shadow: 0 6px 28px rgba(244,111,34,.3);
}

.contact-card-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    margin-bottom: 8px;
}

.contact-card-sub {
    font-size: .93rem;
    opacity: .85;
    margin-bottom: 28px;
    line-height: 1.6;
}

.contact-detail {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 20px;
}

.contact-icon { font-size: 1.5rem; flex-shrink: 0; margin-top: 2px; }

.contact-label {
    display: block;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    opacity: .75;
    margin-bottom: 3px;
}

.contact-value {
    color: #fff;
    font-size: .95rem;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
    word-break: break-all;
}

.contact-value:hover { opacity: .8; }

/* Social Card */
.social-card {
    background: var(--white);
    border-radius: var(--radius);
    padding: 32px 28px;
    flex: 1.2;
    min-width: 280px;
    box-shadow: var(--shadow);
}

.social-title {
    font-family: 'Playfair Display', serif;
    font-size: 1.3rem;
    color: var(--purple);
    margin-bottom: 24px;
    text-align: center;
}

.social-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.social-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: transform .2s;
    text-decoration: none;
}

.social-item:hover { transform: translateY(-4px); }

.social-item img {
    width: 52px;
    height: 52px;
    object-fit: contain;
}

.social-item span {
    font-size: .8rem;
    font-weight: 600;
    color: var(--muted);
}

@media (max-width: 600px) {
    .contact-main { padding: calc(var(--nav-h) + 28px) 16px 48px; }
    .contact-info-card { max-width: 100%; }
}