/* ── CONTACT PAGE SPECIFIC ──────────────────── */

/* Contact cards row */
.contact-cards {
    padding: 4rem 1.5rem;
    background: var(--ivory);
}
.contact-cards-grid {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem; max-width: var(--max); margin: 0 auto;
}
.contact-card {
     background: var(--white);
     border-radius: 16px;
     padding: 2rem 1.5rem;
    text-align: center; border: 1px solid rgba(63,75,56,0.08);
    transition: transform 0.2s, box-shadow 0.2s;
    display: flex; flex-direction: column; align-items: center; gap: 0.75rem;
    text-decoration: none; color: var(--charcoal);
    min-width: 0; overflow-wrap: break-word; word-break: break-word;
}
.contact-card:hover { transform: translateY(-4px); box-shadow: 0 12px 36px rgba(63,75,56,0.1); }
.contact-card-icon {
    width: 56px; height: 56px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 0.25rem;
}
.contact-card-icon svg { width: 24px; height: 24px; }
.contact-card h3 { font-size: 0.9rem; color: var(--olive); margin: 0; }
.contact-card p { font-size: 0.84rem; opacity: 0.65; line-height: 1.5; margin: 0; }
.contact-card strong { display: block; font-size: 0.92rem; color: var(--olive); }

/* Map + form layout */
.contact-main {
    padding: var(--pad); background: var(--sand);
}
.contact-main-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 4rem; max-width: var(--max); margin: 0 auto;
    align-items: start;
}
.map-wrap {
    border-radius: 20px; overflow: hidden;
    box-shadow: 0 16px 48px rgba(63,75,56,0.12);
    aspect-ratio: 4/3;
}
.map-wrap iframe {
    width: 100%; height: 100%; border: 0; display: block;
}
.map-address {
    background: var(--white); border-radius: 12px;
    padding: 1.5rem; margin-top: 1.25rem;
    display: flex; gap: 1rem; align-items: flex-start;
}
.map-address svg { flex-shrink: 0; margin-top: 2px; }
.map-address p { font-size: 0.88rem; line-height: 1.6; color: var(--charcoal); opacity: 0.8; }
.map-address a { color: var(--terracotta); text-decoration: none; font-weight: 500; font-size: 0.82rem; display: block; margin-top: 0.5rem; }

/* Contact form */
.contact-form-side .label { display: block; margin-bottom: 0.75rem; }
.contact-form-side h2 { font-size: clamp(1.6rem, 2.5vw, 2.2rem); margin-bottom: 0.75rem; }
.contact-form-side > p { font-size: 0.92rem; line-height: 1.78; opacity: 0.78; margin-bottom: 1.75rem; }

form.contact-form { display: flex; flex-direction: column; gap: 1rem; }
.form-group { display: flex; flex-direction: column; gap: 0.4rem; }
.form-group label { font-size: 0.82rem; font-weight: 600; color: var(--olive); letter-spacing: 0.02em; }
.form-group input,
.form-group select,
.form-group textarea {
    padding: 0.85rem 1rem;
    border: 1.5px solid rgba(63,75,56,0.15);
    border-radius: 8px; font-family: var(--font-b);
    font-size: 0.9rem; color: var(--charcoal);
    background: var(--white); transition: border-color 0.2s;
    outline: none; appearance: none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color: var(--sage); }
.form-group textarea { resize: vertical; min-height: 100px; }
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-submit { padding: 1rem; font-size: 0.9rem; }
.form-note { font-size: 0.78rem; opacity: 0.55; text-align: center; line-height: 1.5; }

/* Quick actions */
.quick-actions {
    padding: 4rem 1.5rem;
    background: var(--ivory);
}
.quick-actions-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem; max-width: var(--max); margin: 0 auto;
}
.quick-action {
    background: var(--white); border-radius: 16px; padding: 2rem;
    text-align: center; border: 1px solid rgba(63,75,56,0.08);
    display: flex; flex-direction: column; align-items: center; gap: 1rem;
}
.quick-action-icon { font-size: 2rem; }
.quick-action h3 { font-size: 1rem; color: var(--olive); margin: 0; }
.quick-action p { font-size: 0.84rem; opacity: 0.7; line-height: 1.6; margin: 0; flex: 1; }

@media (max-width: 900px) {
    .contact-cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contact-main-grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .quick-actions-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
    .contact-cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .form-row-2 { grid-template-columns: 1fr; }
}
