*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
    font-family: "Tahoma", "Arial", "Segoe UI", "Noto Sans Arabic", sans-serif;
}

body,
.customer-shell,
.landing-shell {
    direction: rtl;
}

.admin-modern-body {
    direction: rtl;
}

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

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

.admin-content,
.customer-main,
.customer-content,
.admin-page,
.dream-card,
.aw-card {
    min-width: 0;
}

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

.table {
    min-width: 720px;
}

.dream-button,
.btn,
.customer-nav-link,
.admin-nav-link,
.customer-bottom-nav a {
    min-height: 42px;
    white-space: normal;
}

.modal-dialog {
    max-width: min(96vw, var(--bs-modal-width, 500px));
    margin-inline: auto;
}

.dropdown-menu {
    max-width: min(92vw, 360px);
    overflow-wrap: anywhere;
}

.nav,
.nav-tabs,
[role="tablist"] {
    overflow-x: auto;
    flex-wrap: nowrap;
}

.dream-card,
.aw-card,
.dream-copy,
.customer-user-email,
.admin-nav-link span {
    overflow-wrap: anywhere;
}

@media (max-width: 1024px) {
    .admin-shell {
        display: block;
    }

    .admin-sidebar {
        position: static;
        width: auto;
        max-height: none;
    }

    .admin-nav {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        padding-bottom: 8px;
    }

    .admin-nav-link {
        flex: 0 0 auto;
    }
}

@media (max-width: 768px) {
    .customer-topbar,
    .admin-topbar,
    .dream-page-head,
    .dream-section-head {
        display: grid;
        gap: 12px;
        align-items: start;
    }

    .customer-topbar-actions {
        flex-wrap: wrap;
        justify-content: stretch;
    }

    .dream-grid,
    .dream-grid-main,
    .dream-grid-2,
    .dream-grid-3 {
        grid-template-columns: 1fr !important;
    }

    .field-span-full {
        grid-column: auto !important;
    }

    .customer-content {
        padding-bottom: 96px;
    }
}

@media (max-width: 430px) {
    .customer-content,
    .admin-page {
        padding-inline: 10px;
    }

    .dream-card,
    .aw-card {
        padding: 14px !important;
    }

    .payment-method-grid {
        grid-template-columns: 1fr !important;
    }
}
