/* Extracted from base.html so the browser can cache it instead of
   re-downloading it inside every page. Order is unchanged. */

/* Customer readability and motor-accessibility baseline. */
        body.customer-readable .main-nav a,
        body.customer-readable .logout-button {
            min-height: 44px;
            font-size: 1rem;
        }

        body.customer-readable .page-main :is(p, li, dd, label, input, select, textarea):not(.certificate-page *) {
            font-size: 1rem !important;
            line-height: 1.55;
        }

        body.customer-readable .page-main small:not(.certificate-page *) {
            font-size: 0.95rem !important;
            line-height: 1.5;
        }

        body.customer-readable .page-main :is(
            .btn,
            .btn-primary,
            .btn-secondary,
            .btn-ghost,
            .btn-small,
            button,
            [class*="button"],
            [class*="pill"]
        ):not(.certificate-page *) {
            min-height: 48px;
            font-size: 1rem !important;
            line-height: 1.35;
        }

        body.customer-readable .page-main :is(p, li, dd) a:not(.btn):not(.btn-primary):not(.btn-secondary) {
            color: #ffffff !important;
            text-decoration: underline !important;
            text-decoration-thickness: 2px !important;
            text-underline-offset: 0.18em;
        }

        body.customer-readable .site-footer,
        body.customer-readable .site-footer :is(a, p) {
            font-size: 1rem;
            line-height: 1.55;
        }

        body.customer-readable .footer-links a {
            display: inline-flex;
            align-items: center;
            min-height: 44px;
            padding: 0.45rem 0.35rem;
            text-decoration: underline;
            text-underline-offset: 0.18em;
        }

        /* Phones get larger body text. 18px is the smallest comfortable size on a
           small screen, and it also stops iOS zooming in on form fields. */
        @media (max-width: 720px) {
            body.customer-readable .page-main :is(
                p,
                li,
                dd,
                label,
                input,
                select,
                textarea,
                figcaption,
                address
            ):not(.certificate-page *) {
                font-size: 1.125rem !important;
                line-height: 1.55;
            }

            body.customer-readable .page-main small:not(.certificate-page *) {
                font-size: 1.125rem !important;
                line-height: 1.5;
            }

            body.customer-readable .page-main .campaign-progress-block span,
            body.customer-readable .page-main .instructions-signoff,
            body.customer-readable .page-main .toenail-video-note {
                font-size: 1.125rem !important;
            }

            body.customer-readable .site-footer,
            body.customer-readable .site-footer :is(a, p) {
                font-size: 1.125rem;
            }
        }

        body.customer-readable :is(a, button, input, select, textarea):focus-visible {
            outline: 3px solid #ffffff !important;
            outline-offset: 3px !important;
        }

        .form-error-summary {
            max-width: 900px;
            margin: 1rem auto;
            padding: 1rem 1.15rem;
            border: 3px solid #ff9b9b;
            border-radius: 14px;
            background: #2b0008 !important;
            color: #ffffff !important;
            text-align: left;
            box-shadow: 0 0 0 4px rgba(255, 155, 155, 0.16) !important;
        }

        .form-error-summary[hidden] {
            display: none !important;
        }

        .form-error-summary h2 {
            margin: 0 0 0.45rem;
            font-size: 1.25rem;
        }

        .form-error-summary ul {
            margin: 0;
            padding-left: 1.35rem;
        }

        .form-error-summary a {
            color: #ffffff !important;
            font-weight: 800;
            text-decoration: underline !important;
            text-underline-offset: 0.18em;
        }

        [aria-invalid="true"] {
            border-color: #ff9b9b !important;
            box-shadow: 0 0 0 3px rgba(255, 155, 155, 0.25) !important;
        }
