/*
 * Host application form v2: host-only additions. The tap-button, pill, draft
 * and error styles come from ../../student-application-form/v2/saf-v2.css,
 * which this page also loads. Solid palette colours only.
 *
 * @since 2026-10-16
 */

/* Short intro replacing the three v1 accordions */
.haf-v2-intro {
    margin: 0 0 20px;
    padding: 16px 18px;
    border-radius: var(--haf-radius-lg);
    background: var(--haf-blue-light);
    color: var(--haf-grey-800);
    font-size: 15px;
    line-height: 1.5;
}
.haf-v2-intro__lead { margin: 0 0 8px; font-weight: 700; color: var(--haf-navy); }
.haf-v2-intro ul { margin: 0 0 12px; padding-left: 20px; }
.haf-v2-intro li { margin: 0 0 6px; }
.haf-v2-intro__time { margin: 12px 0 0; font-size: 13px; color: var(--haf-grey-600); }
.haf-v2-more { margin: 0; background: var(--haf-white); }

.haf-v2-optional { font-weight: 400; color: var(--haf-grey-500); font-size: 0.875em; }

/* Pills that size to their text (contact choice, how heard) */
.saf-v2-pills.haf-v2-row { flex-direction: row; }
.saf-v2-pills.haf-v2-row .haf-checkbox-item {
    flex: 0 1 auto;
    width: auto;
    border-radius: 999px;
}

/* Meal plans: one compact grid. Each plan is a row, Yes / Maybe / No as pills. */
.haf-v2-meals .haf-field {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    margin-bottom: 12px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--haf-grey-200);
}
.haf-v2-meals .haf-field:last-of-type { border-bottom: 0; }
.haf-v2-meals .haf-field__label { margin: 0; }
.haf-v2-meals .haf-radio-cards { display: flex; flex-direction: row !important; gap: 6px; margin: 0; }
.haf-v2-meals .haf-radio-card { flex: 1 1 0; }
@media (min-width: 640px) {
    .haf-v2-meals .haf-field {
        grid-template-columns: 180px 1fr;
        align-items: center;
    }
    .haf-v2-meals .haf-field__error { grid-column: 2; }
}

/* Premium layer (host-only bits). Shared look comes from saf-v2.css. */
.saf-v2 .haf-v2-intro { border: 1px solid #dbeaf6; border-radius: 16px; padding: 18px 20px; }
.saf-v2 .haf-v2-meals .haf-radio-card label {
    min-height: 44px;
    border: 1.5px solid #c9d0db;
    border-radius: 12px;
    font-weight: 600;
}
.saf-v2 .haf-v2-meals .haf-radio-card input:checked + label {
    border: 2px solid var(--haf-magenta);
    background: #fdf1f7;
    color: var(--haf-magenta);
}
.saf-v2 .haf-upload { border-radius: 16px; border-width: 2px; }
.saf-v2 .haf-consent-checkbox { font-size: 14px; line-height: 1.5; }
@media (max-width: 600px) { .lh-internal-page__form .saf-v2.haf-form { padding-left: 0; padding-right: 0; } }
