/* AI-176: responsive reflow, readable controls and keyboard focus. */
html { scroll-padding-block: 24px 100px; }
.skip-link { z-index: 100; }
:is(h1, h2, h3) { overflow-wrap: anywhere; }
.info-grid > article, .cart-item-copy { min-width: 0; }
:is(.info-grid, .contact-list, .legal-page, .changes-policy) a { overflow-wrap: anywhere; }
:is(button, .button, .mini-button, .quick-chip, .side-filter, .cart-close, .quantity-controls button, .story-carousel-dots button, .story-carousel-toggle) {
  min-height: 44px;
}
:is(.quantity-controls button, .story-carousel-dots button) { min-width: 44px; }
.nav-links a, .footer a, .breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; }
.footer a { display: flex; }
.floating-whatsapp { background: #13783c; }
.floating-whatsapp:hover { background: #0c592b; }
:where(a, button, input, summary):focus-visible,
.premium-home :is(a, button, input, summary):focus-visible {
  outline: 3px solid #5b0a35;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
}
.cart-dialog { max-width: 100vw; overscroll-behavior: contain; }
body:has(.cart-dialog[open]) { overflow: hidden; }
.cart-item h3 { overflow-wrap: anywhere; }
.cart-subtotal { flex-wrap: wrap; }
.quantity-controls .remove-item { margin-left: 0; }
.footer { padding-bottom: 100px; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
@media (max-width: 640px) {
  .legal-nav { flex-wrap: wrap; justify-content: center; padding-inline: 16px; }
  .legal-nav .brand { flex: 0 0 135px; }
  .legal-nav .button { max-width: 100%; white-space: normal; }
}
@media (max-width: 374px) {
  .category-page h1, .legal-page h1 { font-size: 2.25rem; line-height: 1.08; }
  .info-grid h2 { font-size: 1.65rem; line-height: 1.1; }
  .info-grid article { padding: 20px; }
  .cart-header, .cart-list, .cart-footer { padding-inline: 16px; }
  .cart-item { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  .cart-item img { width: 64px; height: 64px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
