/* Κοινή προστασία για όλες τις σελίδες σε κινητό/tablet. */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

@media (max-width: 991.98px),
       (max-width: 1024px) and (pointer: coarse) {
    html,
    body {
        width: 100%;
        max-width: 100%;
        min-width: 320px;
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
    }

    :where(h1, h2, h3, h4, h5, h6, p, label, button, a, th, td, dt, dd, strong, span, small, .btn, .nav-link, .card-title, .modal-title) {
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
        min-inline-size: 0;
    }

    :where(.table-responsive, [class*="-table-wrap"], [class*="-table-container"]) {
        max-width: 100%;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}

/*
 * Στην κάθετη προβολή tablet η διαθέσιμη διάσταση μπορεί να είναι πάνω από
 * 992px (ανάλογα με το device scale). Δεν αφήνουμε flex/grid στήλες να
 * συμπιέσουν ένα κείμενο σε πλάτος ενός χαρακτήρα.
 */
@media (orientation: portrait) and (max-width: 1199.98px) {
    :where(h1, h2, h3, h4, h5, h6, p, label, button, a, th, td, dt, dd, strong, span, small, .btn, .nav-link, .card-title, .modal-title) {
        writing-mode: horizontal-tb !important;
        text-orientation: mixed !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
        hyphens: none !important;
    }
}

@media (orientation: landscape) and (max-height: 600px) {
    html,
    body {
        min-height: 100dvh;
    }
}
