/* ================================================
   Contact Page – Layout
   Row 1: Contact details (left) | Map (right)
   Row 2: Contact forms (full width)
   Spacing optimized to avoid wasting screen space
   ================================================ */
.contact-page-layout {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contact-page-row--top {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 768px) {
    .contact-page-row--top {
        grid-template-columns: 2fr 3fr;
        gap: 24px;
    }
}

.contact-page-row--forms {
    width: 100%;
}

/* Contact details block */
.contact-details-section {
    margin-bottom: 0;
}

.contact-details-card {
    background: transparent;
    border: none;
    padding: 14px 14px;
}

.contact-details-section .section-title {
    margin: 0 0 8px 0;
    font-weight: 600;
    color: var(--lionex-heading);
}

.contact-map-section .section-title {
    margin: 0 0 10px 0;
    font-weight: 600;
    color: var(--lionex-heading);
}

.contact-details-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.contact-detail-item {
    display: grid;
    grid-template-columns: 4.5rem 1fr;
    gap: 0 0.75rem;
    align-items: start;
    margin-bottom: 0.75rem;
    color: var(--lionex-text-secondary);
    line-height: 1.4;
}

.contact-detail-item:last-child {
    margin-bottom: 0;
}

.contact-detail-item dt {
    margin: 0;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--lionex-text-muted);
}

.contact-detail-item dd {
    margin: 0;
}

.contact-detail-item a {
    color: var(--lionex-primary);
    text-decoration: none;
}

.contact-detail-item a:hover {
    text-decoration: underline;
}

/* Map section – compact height */
.contact-map-section {
    margin-bottom: 0;
}

.contact-map-container {
    width: 100%;
    border-radius: 0;
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.contact-map-container iframe {
    width: 100%;
    height: 260px;
    display: block;
}

@media (max-width: 767px) {
    .contact-map-container iframe {
        height: 220px;
    }
}

/* Minimal forms (Contact page) – tighter spacing */
.home-contact-forms--minimal {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

.home-contact-forms--minimal .home-contact-form-block h4 {
    margin: 0 0 12px 0;
    font-weight: 700;
    color: var(--lionex-heading);
}

.home-contact-forms--minimal .home-form {
    margin-top: 12px;
}

.home-contact-forms--minimal .form-consent {
    margin-top: 12px;
}

.contact-page-row--forms .home-contact-grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.contact-page-row--forms .home-contact-form-block {
    padding: 14px 14px;
}

.contact-page-row--forms .privacy-note {
    margin-top: 16px;
}

@media (max-width: 900px) {
    .contact-page-row--forms .home-contact-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

/* Contact page: compact gap below breadcrumbs (do not pad .container--header) */
.page-contact .main-content > .container:not(.container--header) {
    padding-top: var(--lionex-space-2);
}

/* ================================================
   Home Contact Forms – layout and styles only
   Content in _includes/home-contact-forms.html
   ================================================ */
.home-contact-forms {
    margin-top: 48px;
    padding-top: 32px;
    padding-bottom: 48px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    scroll-margin-top: 20px;
    text-align: center;
}

.main-content .home-contact-forms p {
    text-align: center;
    text-align-last: center;
    hyphens: none;
}

.home-contact-forms.home-contact-forms--minimal {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
}

/* Compact band: Home footer, Partners, Research, Catalogues (no form grid) */
.home-contact-forms.home-contact-forms--emails-only {
    margin-top: 48px;
    padding-top: 24px;
    padding-bottom: var(--lionex-space-5);
}

.home-contact-forms.home-contact-forms--emails-only .home-contact-emails {
    margin-bottom: 0;
}

.page-home .home-contact-forms.home-contact-forms--emails-only {
    margin-top: 0;
}

.home-partners + .home-contact-forms.home-contact-forms--emails-only,
.research-projects + .home-contact-forms.home-contact-forms--emails-only,
.partners-layout + .home-contact-forms.home-contact-forms--emails-only {
    margin-top: 0;
}

.main-content .container--body:has(> .home-contact-forms--emails-only:last-child) {
    min-height: 0;
}

.home-contact-intro {
    margin: 0 auto 12px auto;
    color: var(--lionex-text-secondary);
    max-width: 42em;
}

.home-contact-emails {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0 12px;
    margin: 0 0 24px 0;
    font-weight: 600;
    color: var(--lionex-text-secondary);
}

.home-contact-emails a {
    color: var(--lionex-primary);
    text-decoration: none;
}

.home-contact-emails a:hover {
    text-decoration: underline;
}

.home-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    max-width: 100%;
}

.home-contact-grid--single {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
}

.home-contact-form-block {
    background: #eef2f7;
    border: 1px solid rgba(0, 91, 159, 0.15);
    border-left: 4px solid var(--lionex-primary);
    padding: 20px 16px;
    text-align: left;
    box-shadow: none;
}

.home-contact-form-block .form input,
.home-contact-form-block .form textarea,
.home-contact-form-block .form select {
    box-shadow: none;
}

.home-contact-form-block .form input:focus,
.home-contact-form-block .form textarea:focus,
.home-contact-form-block .form select:focus {
    box-shadow: none;
}

.home-contact-form-block .form__submit,
.home-contact-form-block .form__submit:hover,
.home-contact-form-block .form__submit:active {
    box-shadow: none;
}

.home-contact-form-block h3 {
    margin: 0 0 8px 0;
    font-weight: 600;
    color: var(--lionex-primary);
}

.home-contact-form-block h4 {
    margin: 16px 0 20px 0;
    font-weight: 700;
    color: var(--lionex-heading);
}

.home-contact-form-block h4 .accent-red {
    color: #000;
}

.home-contact-form-block h4 a {
    color: var(--lionex-primary);
    text-decoration: none;
}

.home-contact-form-block h4 a:hover {
    text-decoration: underline;
}

.home-contact-form-block .contact-details {
    margin: 0;
    color: var(--lionex-text-muted);
    line-height: 1.6;
}

.home-form {
    margin-top: 16px;
}

/* Form field: label tightly coupled to input, consistent spacing between fields */
.form-field label {
    display: block;
    margin-bottom: var(--lionex-space-2, 8px);
    font-weight: 600;
    color: var(--lionex-text-secondary);
}

.form-field .form-consent {
    margin-bottom: 0;
}

.form-field.form-field--consent > label.form-consent {
    display: grid;
    grid-template-columns: 1.0625rem 1fr;
    column-gap: 12px;
    align-items: start;
    margin-bottom: 0;
    font-weight: 400;
    line-height: 1.55;
    cursor: pointer;
}

.form-field.form-field--consent > label.form-consent input[type="checkbox"] {
    width: 1.0625rem;
    height: 1.0625rem;
    margin: 0.2em 0 0 0;
    grid-column: 1;
    grid-row: 1;
}

.form-field.form-field--consent .form-consent__text {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    color: var(--lionex-text-muted);
}

.form-consent a {
    color: var(--lionex-primary);
}

.form-field input,
.form-field select,
.form-field textarea {
    display: block;
    width: 100%;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 80px;
    gap: 12px;
}

.form-row--fields {
    gap: 12px;
}

.privacy-note {
    margin-top: 24px;
    text-align: center;
    color: var(--lionex-text-muted);
}

.privacy-note a {
    color: var(--lionex-primary);
    text-decoration: none;
}
.privacy-note a:hover,
.privacy-note a:focus {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .home-contact-form-block {
        padding: 16px 14px;
    }

    .home-contact-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}
