/* RESPONSIVIDADE FLUIDA: comportamento comum a navegadores e formatos de tela. */
img,
video,
iframe,
canvas,
svg {
    max-width: 100%;
}

.admin-shell,
.admin-workspace,
.admin-main,
.admin-page-heading,
.admin-panel-card,
.admin-panel-card > header,
.admin-dashboard-grid,
.admin-order-layout,
.admin-filter-bar,
.admin-form,
.admin-table-wrap,
.product-detail,
.detail-copy,
.company-card,
.company-form-grid,
.checkout-form,
.checkout-summary,
.contact-form,
.contact-card {
    min-width: 0;
}

.admin-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.product-zoom-modal {
    max-width: calc(100vw - 24px);
    max-height: calc(100vh - 24px);
}

@supports (height: 100dvh) {
    .product-zoom-modal {
        max-height: calc(100dvh - 24px);
    }

    .admin-body,
    .admin-shell {
        min-height: 100dvh;
    }

    .admin-sidebar {
        height: 100dvh;
    }
}

@media (max-width: 640px) {
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        font-size: 16px;
    }

    .product-zoom-modal {
        width: calc(100vw - 16px);
        max-width: calc(100vw - 16px);
        max-height: calc(100vh - 16px);
        margin: auto;
    }

    @supports (height: 100dvh) {
        .product-zoom-modal {
            max-height: calc(100dvh - 16px);
        }
    }
}

@media (max-height: 500px) and (orientation: landscape) {
    .navbar {
        min-height: 52px;
        padding-block: 8px;
    }

    .hero {
        min-height: 0;
        padding-block: clamp(16px, 4vh, 32px);
    }
}
