/* PDC Rx brand tokens (same values as the admin portal's site.css :root) */
:root {
    --pdc-teal: #75A1A0;
    --pdc-teal-dark: #5A8180;
    --pdc-bg: #f5f7f7;
    --pdc-text: #222;
}

html { font-size: 16px; }
body {
    background: var(--pdc-bg);
    color: var(--pdc-text);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
main { flex: 1 0 auto; }

.intake-container { max-width: 820px; }

.intake-header {
    background: #fff;
    border-bottom: 3px solid var(--pdc-teal);
    padding: 12px 0;
}
.intake-logo { height: 44px; width: auto; }

.intake-title { color: var(--pdc-teal-dark); font-weight: 600; font-size: 1.75rem; }

.intake-card {
    background: #fff;
    border-radius: 8px;
    padding: 16px;
    border: 1px solid #e3e8e8;
}
/* Keep Bootstrap's reboot (float: left; width: 100%; legend + * clears it) so the legend sits
   INSIDE the card. "float: none" would put it back on the fieldset's top border. */
fieldset.intake-card legend { padding: 0; margin-bottom: .75rem; color: var(--pdc-teal-dark); font-weight: 600; }

/* Phones: a little less padding so inputs and the CAPTCHA keep their width. */
@media (max-width: 575.98px) {
    .intake-card { padding: 14px 12px; }
    .intake-title { font-size: 1.5rem; }
    .lead { font-size: 1.05rem; }
}

/* CAPTCHA: "flexible" widget fills the available width (Cloudflare minimum is 300px). */
.cf-turnstile { max-width: 100%; }

.intake-btn {
    background: var(--pdc-teal);
    border-color: var(--pdc-teal);
    color: #fff;
    width: 100%;
}
.intake-btn:hover, .intake-btn:focus { background: var(--pdc-teal-dark); border-color: var(--pdc-teal-dark); color: #fff; }
.intake-btn:disabled { background: var(--pdc-teal); border-color: var(--pdc-teal); opacity: .75; }
@media (min-width: 576px) { .intake-btn { width: auto; } }

.form-control:focus, .form-check-input:focus {
    border-color: var(--pdc-teal);
    box-shadow: 0 0 0 .2rem rgba(117, 161, 160, .3);
}
.form-check-input:checked { background-color: var(--pdc-teal); border-color: var(--pdc-teal); }

.intake-file-list { list-style: none; padding-left: 0; margin: 6px 0 0; color: #555; word-break: break-all; }

/* Honeypot: off-screen (not display:none, which some bots detect). */
.intake-hp {
    position: absolute !important;
    left: -10000px !important;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.intake-ref {
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: .05em;
    color: var(--pdc-teal-dark);
}

.intake-footer {
    color: #777;
    font-size: .85rem;
    padding: 16px 0;
    border-top: 1px solid #e3e8e8;
    background: #fff;
}
.intake-footer a, main a { color: var(--pdc-teal-dark); }

.field-validation-error { display: block; }
.input-validation-error { border-color: #dc3545; }
