/* Pizza Caseira V45.11 — camada fluida para o cardápio e páginas públicas. */
:root { --menu-fluid-gutter: clamp(.75rem, 3vw, 1.5rem); --menu-fluid-gap: clamp(.65rem, 1.8vw, 1.25rem); }
html { min-width: 320px; overflow-x: clip; }
body { min-width: 320px; overflow-x: clip; }
body *, body *::before, body *::after { box-sizing: border-box; }
body :where(img, video, canvas, svg) { max-width: 100%; }
body :where(input, select, textarea, button) { font: inherit; }
body :where(input:not([type=checkbox]):not([type=radio]):not([type=file]), select, textarea) { min-width: 0; max-width: 100%; }
.menu-main { width: min(calc(100% - 2 * var(--menu-fluid-gutter)), 1320px); max-width: 1320px; margin-inline: auto; min-width: 0; }
.site-head { display: flex; align-items: center; flex-wrap: wrap; gap: var(--menu-fluid-gap); min-width: 0; }
.site-head :where(.head-copy, .brand-mini, .brand-mini > div) { min-width: 0; }
.site-head .head-copy { flex: 1 1 280px; }
.site-head :where(.cart-btn, .track-lookup-link) { max-width: 100%; flex: 0 1 auto; }
.menu-tools, .search-box, .cat-tabs { min-width: 0; max-width: 100%; }
.cat-tabs { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.products { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr)); align-items: stretch; gap: var(--menu-fluid-gap); min-width: 0; }
.products > * { min-width: 0; max-width: 100%; }
.products :where(img, .product-image, .product-media) { max-width: 100%; }
.menu-trust-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: var(--menu-fluid-gap); }
.menu-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; min-width: 0; }
.menu-footer > * { min-width: 0; }
.modal, .cart-sheet, .shade { overscroll-behavior: contain; }
.modal[hidden], .cart-sheet[hidden], .shade[hidden], [hidden] { display: none !important; }
.modal { padding: max(.75rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left)); }
.modal-card, .product-preview-card, .checkout-card, .options-card { width: min(100%, 760px); max-width: 100%; max-height: min(92dvh, 900px); overflow: auto; overscroll-behavior: contain; }
.cart-sheet { width: min(100%, 620px); max-width: 100%; max-height: min(90dvh, 900px); overflow-y: auto; padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
:where(.checkout-form, .customer-fields, .checkout-grid, .form-grid) { min-width: 0; }
:where(.checkout-grid, .customer-fields, .form-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: var(--menu-fluid-gap); }
:where(.lookup-page, .lookup-shell, .lookup-card, .tracking-page, .tracking-shell, .tracking-card) { min-width: 0; max-width: 100%; }
.lookup-page, .tracking-page { padding-inline: var(--menu-fluid-gutter); }
:where(.lookup-result, .tracking-step, .order-summary, .cart-item) { min-width: 0; overflow-wrap: anywhere; }
:where(.primary, .secondary, .cart-btn, button, input[type=submit]) { touch-action: manipulation; }
:where(button, .primary, .secondary, a, input, select, textarea):focus-visible { outline: 2px solid #a43b28; outline-offset: 3px; }
@media (max-width: 700px) {
  .menu-main { width: calc(100% - 1rem); }
  .site-head { padding: 1rem var(--menu-fluid-gutter); align-items: stretch; }
  .site-head .head-copy { flex-basis: 100%; }
  .site-head :where(.cart-btn, .track-lookup-link) { flex: 1 1 auto; justify-content: center; }
  .products { grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: .75rem; }
  .menu-footer { display: grid; grid-template-columns: minmax(0, 1fr); padding-inline: var(--menu-fluid-gutter); }
  .product-preview-card { width: min(100%, 520px); }
}
@media (max-width: 420px) {
  .products { grid-template-columns: minmax(0, 1fr); }
  .modal-card, .product-preview-card, .checkout-card, .options-card { border-radius: 14px; }
  .cart-summary { min-width: 0; }
  :where(.checkout-actions, .lookup-actions, .product-preview-actions) { display: grid; grid-template-columns: minmax(0, 1fr); }
  :where(.checkout-actions button, .lookup-actions button, .product-preview-actions button) { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
