html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    overflow-x: hidden;
}

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

button,
input,
select,
textarea {
    font: inherit;
}

button,
.btn,
.btn-primary,
.btn-muted,
.menu-btn,
.mesa-btn,
.prod-btn,
.payment-option,
.modifier-option-row {
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0.08);
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
    outline: 3px solid #1d4ed8;
    outline-offset: 2px;
}

input,
select,
textarea,
button {
    min-height: 44px;
}

.sticky-bottom-bar,
#floating-cart-bar,
.g-header,
header {
    padding-left: max(12px, env(safe-area-inset-left));
    padding-right: max(12px, env(safe-area-inset-right));
}

@media (max-width: 760px) {
    .products-container {
        padding-left: 12px;
        padding-right: 12px;
        gap: 12px;
    }

    .store-info-card,
    .modal-body,
    .wrap,
    .content,
    .admin-container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (max-width: 420px) {
    .products-container {
        grid-template-columns: 1fr;
    }

    .ingredients-grid-modal,
    .mods {
        grid-template-columns: 1fr 1fr;
    }

    .actions,
    .line,
    .qty-selector-row {
        flex-wrap: wrap;
    }
}