/* =============================================================================
   LibParl v3 — contact-style.css
   Hero uses the shared .lp-page-hero from lib-style.css.
   ============================================================================= */

.lp-contact {
    max-width: 1200px; margin: 0 auto; padding: 48px 24px 72px;
    display: grid; grid-template-columns: 1fr 320px; gap: 48px; align-items: start;
}
@media (max-width: 860px) { .lp-contact { grid-template-columns: 1fr; gap: 32px; } }

.lp-contact__intro {
    font-size: 15px; line-height: 1.7; color: #444; margin-bottom: 24px;
}
.lp-contact__intro p { margin-bottom: 1em; }

.lp-contact__form {
    background: #fff; border: 1px solid #e8e8e8; border-radius: 14px;
    padding: 26px 28px; box-shadow: 0 2px 12px rgba(20,20,25,.05);
}
@media (max-width: 560px) { .lp-contact__form { padding: 18px 16px; } }

.lp-contact__side { display: flex; flex-direction: column; gap: 14px; }

.lp-contact__card {
    background: #faf8f5; border: 1px solid #efece7; border-radius: 12px;
    padding: 18px 20px;
}
.lp-contact__card-label {
    font-size: 10px; font-weight: 700; letter-spacing: .1em;
    text-transform: uppercase; color: var(--lp-accent); margin-bottom: 8px;
}
.lp-contact__email {
    font-size: 14px; font-weight: 600; color: #1d2327;
    text-decoration: none; word-break: break-word;
}
.lp-contact__email:hover { color: var(--lp-accent); }
.lp-contact__addr { font-size: 13px; line-height: 1.6; color: #444; margin-bottom: 8px; }
.lp-contact__line { font-size: 13px; color: #555; line-height: 1.7; }
.lp-contact__line a { color: #555; text-decoration: none; }
.lp-contact__line a:hover { color: var(--lp-accent); }

.lp-contact__note {
    font-size: 12px; color: #787c82; line-height: 1.6;
    padding-top: 4px;
}

.lp-contact__map {
    display: inline-block; margin-top: 8px;
    font-size: 12px; font-weight: 700; color: var(--lp-accent);
    text-decoration: none; text-transform: uppercase; letter-spacing: .04em;
}
.lp-contact__map:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Details-only mode — shown until a contact form is configured on the hub.
   Two balanced columns rather than a lopsided empty form area. */
.lp-contact--details-only { grid-template-columns: 1fr 1fr; align-items: start; }
@media (max-width: 860px) { .lp-contact--details-only { grid-template-columns: 1fr; } }
.lp-contact__lead { font-size: 16px; line-height: 1.7; color: #444; margin: 0; }
.lp-contact__intro-only { padding-top: 4px; }