/* Shared, low-risk usability defaults for public and authenticated screens. */
*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
svg,
video,
canvas,
iframe {
    max-width: 100%;
}

img,
video {
    height: auto;
}

iframe {
    border: 0;
}

input,
select,
textarea {
    max-width: 100%;
}

button,
[role='button'],
a.btn,
input[type='button'],
input[type='submit'],
input[type='reset'] {
    min-height: 44px;
    touch-action: manipulation;
}

input.form-control,
select.form-control,
textarea.form-control {
    min-height: 44px;
    font-size: 16px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 3px solid #ff9a06;
    outline-offset: 3px;
}

.table-responsive {
    -webkit-overflow-scrolling: touch;
}

.text-break,
.card,
.card-body,
.modal-content {
    overflow-wrap: anywhere;
}

.product-download-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
}

.product-download-links > a,
.product-download-links > .product-windows-download,
.product-download-links > div {
    flex: 0 1 100px;
    max-width: 100px;
}

.product-windows-download {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.product-windows-download:focus-visible {
    outline: 3px solid #ff9a06;
    outline-offset: 3px;
    border-radius: 4px;
}

@media (max-width: 575.98px) {
    .container-fluid {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .modal-dialog {
        margin: 0.75rem;
    }

    .btn {
        white-space: normal;
    }

    .product-page-shell {
        padding-right: 0.75rem !important;
        padding-left: 0.75rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
