*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html {
  font-size: 16px;
  scroll-behavior: smooth;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  width: 100%;
  max-width: 100%;
  min-height: 100dvh;
  overflow-x: clip;
  font-family: var(--font-family);
  color: var(--color-gray-900);
  background-color: var(--color-gray-50);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-overflow-scrolling: touch;
}

#app,
.main-content,
.page-content,
.page-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
a { text-decoration: none; color: inherit; }
button { cursor: pointer; border: none; font-family: inherit; }
input, select, textarea { font-family: inherit; font-size: inherit; }
ul, ol { list-style: none; }

img, video, canvas, svg, picture, iframe, embed, object {
  max-width: 100%;
  height: auto;
  display: block;
}

h1, h2, h3, h4, h5, h6 { font-weight: 600; line-height: 1.2; }
.hidden { display: none !important; }
[hidden] { display: none !important; }

/* --- Automatic fluid-layout safeguards for all screens --- */
[class*="grid"],
[class*="Grid"] {
  min-width: 0;
}

.flex,
[class*="flex"],
[class*="Flex"] {
  min-width: 0;
}

table {
  max-width: 100%;
  border-collapse: collapse;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.table-container {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

pre,
code {
  max-width: 100%;
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-word;
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
  max-width: 100%;
}

.w-full { width: 100%; }
.h-full { height: 100%; }
.mw-100 { max-width: 100%; }

@media (max-width: 479px) {
  html { -webkit-tap-highlight-color: transparent; }
  table { font-size: 0.9em; }
}

@media (max-width: 767px) {
  body,
  #app,
  .main-content,
  .page-content,
  .page-shell,
  .catalog-shell,
  .catalog-reference-shell,
  .catalog-reference-top,
  .product-detail-grid,
  .page-hero,
  .delivery-map-shell,
  .delivery-map-hero,
  .delivery-map-toolbar,
  .delivery-map-frame,
  .premium-map-wrap,
  .auth-container,
  .auth-showcase,
  .auth-card,
  .home-shell,
  .home-hero-rail,
  .home-hero-carousel,
  .catalog-promo-banner {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .catalog-promo-banner,
  .delivery-map-frame,
  .premium-map-wrap,
  .auth-showcase,
  .auth-card,
  .page-hero {
    overflow: hidden;
  }

  .catalog-promo-copy,
  .catalog-promo-copy p,
  .section-title,
  .section-subtitle,
  .brand-lockup-title,
  .brand-lockup-subtitle,
  .delivery-map-summary-address {
    max-width: 100%;
    word-break: break-word;
    overflow-wrap: anywhere;
  }
}



