/* Narrative text only. Specification, comparison, pinout and platform details
   retain the typography defined by their own components. */
body :is(#productDescription .ext-content, .preview-description) {
    /* Keep each reference component's own sizes, weights and colours while
       preventing Ecwid's font from replacing the website font. */
    :is(.um-tiny-comparison, .um-pinout, .um-development, .um-downloads, .um-seriesd-features),
    :is(.um-tiny-comparison, .um-pinout, .um-development, .um-downloads, .um-seriesd-features) :where(*) {
        font-family: Poppins, "Helvetica Neue", Arial, sans-serif !important;
    }

    /* Match the main page's Smart USB Hub story subheading. */
    > :is(h2, h3),
    > :is(.um-product-specs, .um-tiny-comparison, .um-pinout, .um-development, .um-downloads) > h2 {
        font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
        font-size: clamp(22px, 2.05vw, 28px);
        font-weight: 600;
        line-height: 1.2;
        letter-spacing: -.03em;
        color: #171b20;

        :where(span, a, strong, b, em, i) {
            font-family: inherit !important;
            font-size: inherit !important;
            font-weight: inherit !important;
            line-height: inherit !important;
            letter-spacing: inherit;
            color: inherit !important;
        }
    }

    /* Match the main page's Reflow Master Pro introduction. */
    > :is(p, ul, ol),
    .um-development-intro > p,
    .um-downloads > p,
    .um-download-card :is(p, ul),
    .um-development-more {
        font-family: Poppins, "Helvetica Neue", Arial, sans-serif;
        font-size: 15px !important;
        font-weight: 400;
        line-height: 1.55 !important;
        letter-spacing: normal;
        color: #56616d;

        :where(span, a, strong, b, em, i, li) {
            font-family: inherit !important;
            font-size: inherit !important;
            line-height: inherit !important;
            letter-spacing: inherit;
        }
        :where(span, a, li) { font-weight: inherit; }
        span[style] { color: inherit !important; }
    }

    > :is(h2, h3):empty { display: none; }

    .um-downloads { margin: 28px 0 0; container-type: inline-size; }
    .um-downloads > h2 { margin: 0 0 12px; }
    .um-downloads > p { margin: 0 0 18px; }
    .um-download-cards { display: grid; grid-template-columns: minmax(0, 160px) minmax(0, 1fr); align-items: start; gap: 20px; }
    .um-download-cards > :last-child { grid-column: 1 / -1; }
    @container (max-width: 459px) {
        .um-download-cards { grid-template-columns: minmax(0, 1fr); }
    }
    .um-download-card { padding: 20px; border-radius: var(--radius-sm); }
    .um-download-card h3,
    .um-download-schematic h3 { margin: 0 0 10px; font-size: 16px; font-weight: 600; line-height: 1.4; color: #171b20; }
    .um-download-schematic h3 { display: flex; align-items: center; min-height: 36px; margin-top: 20px; }
    .um-download-github-heading { display: flex; align-items: center; gap: 12px; }
    .um-download-github-heading img { display: block; height: 36px; width: auto; flex: none; opacity: .85; }
    .um-download-card p { margin: 0 0 12px; }
    .um-download-card ul { margin: 0 0 16px; padding-left: 20px; }
    .um-download-card li { margin: 0 0 5px; }
    .um-download-card a { font-size: 15px; font-weight: 400; line-height: 1.55; color: var(--blue); text-decoration: none; }
    .um-download-card a:hover { color: #0b5fc4; }
    .um-download-card a:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
    /* Same image, caption and download treatment as the board catalogue. */
    .um-downloads .v6-pinout { margin: 0; min-width: 0; width: 100%; max-width: 160px; }
    .um-downloads .v6-pinout > a { display: block; background: #fff; border-radius: 11px; padding: 10px; transition: box-shadow .25s; cursor: zoom-in; }
    .um-downloads .v6-pinout > a:hover { box-shadow: 0 9px 25px #20375318; }
    .um-downloads .v6-pinout img { display: block; width: 100%; height: auto; max-height: 430px; object-fit: contain; }
    .um-downloads .v6-pinout figcaption { display: flex; flex-wrap: wrap; gap: 6px 15px; align-items: baseline; justify-content: space-between; margin-top: 11px; font-size: 12px; line-height: 1.5; color: #627589; }
    .um-downloads .v6-pinout figcaption a { white-space: nowrap; font-size: inherit; font-weight: 500; color: var(--blue); text-decoration: none; }
    .um-downloads .v6-pinout a:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
    @media (max-width: 700px) {
        .um-downloads .v6-pinout img { max-height: 360px; }
        .um-downloads .v6-pinout figcaption { font-size: 11px; }
    }

    @media (max-width: 900px) {
        > :is(p, ul, ol),
        .um-development-intro > p,
        .um-downloads > p,
        .um-download-card :is(p, ul, a),
        .um-development-more { font-size: 14px !important; }
    }
}

/* Catalogue lightbox treatment, scoped to the product download viewer. */
.um-download-lightbox { border: 0; border-radius: 12px; padding: 22px; max-width: 94vw; width: max-content; max-height: 94vh; background: white; box-shadow: 0 25px 90px #0004; color: #192c3e; font-family: Poppins, "Helvetica Neue", Arial, sans-serif; }
.um-download-lightbox::backdrop { background: #152b45c4; backdrop-filter: blur(6px); }
.um-download-lightbox > img { display: block; max-width: 100%; max-height: 75vh; width: auto; height: auto; margin: auto; }
.um-download-lightbox > p { margin: 0 45px 15px 0; font-size: 16px; font-weight: 500; color: inherit; }
.um-download-lightbox .v2-close { position: absolute; right: 12px; top: 9px; font-size: 28px; padding: 4px 10px; background: #fff; border: 0; color: #21374f; cursor: pointer; }
.um-download-lightbox .v2-download { display: block; text-align: center; margin-top: 14px; font-size: 13px; color: var(--blue); }
