/* Compatibility and small-screen fixes; retain the existing desktop theme. */
.rs-menu .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}
.mobile-navbar-menu .submenu-button { cursor: pointer; }
.mobile-navbar-menu .submenu-button:focus-visible,
.nav-expander:focus-visible, .nav-close:focus-visible {
    outline: 2px solid #126ee8;
    outline-offset: 3px;
}
@media (max-width: 991px) {
    .mobile-navbar-menu { max-width: 100vw; overflow-y: auto; height: 100dvh; }
    .nav-expanded { overflow: hidden; }
    .table-scrollable { max-width: 100%; overflow-x: auto; }
    .rs-contact input, .rs-contact select, .rs-contact textarea { max-width: 100%; }
    .ikusei-section .col-lg-9 { min-width: 0; }
}
@media (max-width: 575px) {
    .rs-breadcrumbs .breadcrumbs-inner .page-title { overflow-wrap: anywhere; }
    .rs-contact input:not([type="checkbox"]):not([type="submit"]):not([type="reset"]),
    .rs-contact select, .rs-contact textarea { font-size: 16px; }
    iframe[src*="facebook.com"] { max-width: 100%; }
}
