/*
|--------------------------------------------------------------------------
| Rigi24 global responsive + RTL safety layer
|--------------------------------------------------------------------------
| Keep selectors defensive and layout-only.
*/

html{
    max-width:100%;
    overflow-x:hidden;
}

body{
    max-width:100%;
    overflow-x:hidden;
}

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

input,
select,
textarea,
button{
    max-width:100%;
    box-sizing:border-box;
}

table{
    max-width:100%;
}

.rigi-table-wrap,
.table-responsive,
.r24-table-wrap{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

[dir="rtl"] body{
    text-align:right;
}

[dir="ltr"] body{
    text-align:left;
}

/*
 * Keep technical values visually stable.
 */
[dir="rtl"] input[type="email"],
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="url"],
[dir="rtl"] input[type="number"],
[dir="rtl"] input[type="date"],
[dir="rtl"] input[type="time"],
[dir="rtl"] .r24-ltr{
    direction:ltr;
    text-align:left;
}

/*
 * Prevent long email / URL / reference strings from
 * breaking mobile cards.
 */
.rigi-panel,
.r24-card,
.r24-page-hero,
.r24-admin-hero{
    min-width:0;
}

.rigi-panel *,
.r24-card *{
    overflow-wrap:anywhere;
}

@media(max-width:700px){
    .rigi-container{
        width:calc(100% - 24px);
        max-width:none;
    }

    .r24-page-hero,
    .r24-admin-hero{
        align-items:flex-start;
        gap:14px;
    }

    .rigi-table{
        min-width:680px;
    }

    .rigi-btn,
    button,
    input,
    select,
    textarea{
        min-height:42px;
    }
}

@media(max-width:480px){
    .rigi-container{
        width:calc(100% - 18px);
    }

    .r24-page-hero h1{
        font-size:clamp(
            24px,
            8vw,
            34px
        );
    }

    .rigi-panel{
        padding-left:14px;
        padding-right:14px;
    }
}
