/* GUSTO V33.20 — reglas globales para que cada página responda al dispositivo real. */
:root { --gusto-content-gutter: clamp(12px, 3.5vw, 32px); }
*, *::before, *::after { box-sizing: border-box; }
html { width: 100%; min-width: 0; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
img, video, canvas, iframe, svg { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }
input, select, textarea { font-size: max(16px, 1em); }
button, a, input, select, textarea { touch-action: manipulation; }
:where(main, section, article, aside, header, footer, form, .shell, .container, .checkout-shell, .card, .panel) { min-width: 0; }
:where(table) { max-width: 100%; }
:where(pre) { max-width: 100%; overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
html[data-device="tablet"] :where(.shell, .container, .checkout-shell) { width: min(100% - 32px, 1100px); }
html[data-device="mobile"] body { overflow-x: hidden; }
html[data-device="mobile"] :where(.shell, .container, .checkout-shell) { width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
html[data-device="mobile"] :where(button, .button, .primary, .secondary) { min-height: 42px; }
html[data-device="mobile"] :where(.grid, .form-grid, .checkout-shell) { grid-template-columns: minmax(0, 1fr) !important; }
html[data-device="mobile"] :where(input, select, textarea) { min-width: 0; }
html[data-device="mobile"] :where(.company-card, .section-head, .payment-card__head) { flex-wrap: wrap; }
html[data-device="mobile"] :where(.file-item) { grid-template-columns: 56px minmax(0, 1fr); }
html[data-device="mobile"] :where(.file-item img) { width: 56px; height: 56px; }
@media (max-width: 360px) {
  html[data-device="mobile"] :where(.card, .checkout-card, .order-summary) { padding: 14px; }
  html[data-device="mobile"] :where(h1) { font-size: clamp(1.6rem, 8vw, 2.2rem); }
}
@media (hover: none) and (pointer: coarse) {
  button, a, summary, input[type="checkbox"], input[type="radio"] { -webkit-tap-highlight-color: transparent; }
}
