/* Mobile controls stay readable and reachable without changing the brand artwork. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
@media (max-width: 760px) {
  .site-header {
    gap: 10px;
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
  }

  .site-header .header-actions { gap: 8px; }
  .site-header .wordmark { min-width: 124px; }
  .header-cta { min-height: 44px; white-space: nowrap; }
  .selection-header-button, .menu-toggle {
    width: 44px;
    height: 44px;
    min-height: 44px;
    flex-shrink: 0;
  }

  .menu-toggle span { left: 10px; }
  .menu-toggle span:first-child { top: 17px; }
  .menu-toggle span:last-child { top: 26px; }
  .menu-toggle.is-active span:first-child,
  .menu-toggle.is-active span:last-child { top: 21px; }

  .section-pad, .hero {
    padding-left: max(var(--pad), env(safe-area-inset-left));
    padding-right: max(var(--pad), env(safe-area-inset-right));
  }

  .scroll-cue { min-height: 44px; font-size: 11px; }
  .text-link, .catalog-back, .catalog-detail-button, .catalog-empty button {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
  }

  .catalog-search input, .catalog-facet-select,
  .review-field input, .review-field textarea { font-size: 16px; }
  .catalog-toolbar-count { font-size: 12px; }
  .catalog-filter-heading .dialog-close, .dialog-close {
    width: 44px;
    height: 44px;
  }

  .catalog-filter-dialog .catalog-reset,
  .catalog-filter-footer .button { font-size: 13px; }
  .catalog-filter-heading { padding-top: 16px; padding-bottom: 16px; }
  .catalog-filter-dialog .collection-controls { gap: 12px; }
  .catalog-filter-body { padding-top: 16px; }

  .catalog-card h2 { font-size: 14px; line-height: 1.45; }
  .catalog-card h2 button { min-height: 44px; }
  .catalog-card-type { font-size: 11px; }
  .catalog-card-sku { font-size: 11px; margin-top: 0; }
  .catalog-card-copy > .catalog-selection-button { font-size: 12px; }
  .selection-add-button { min-height: 44px; font-size: 12px; }
  .catalog-grid .catalog-card:only-child { grid-column: 1 / -1; width: 100%; max-width: 380px; margin-inline: auto; }
  .catalog-price-area > p { font-size: 13px; }
  .catalog-price-area .market-pill { font-size: 12px; }
  .curated-grid .product-name { font-size: 13px; }
  .curated-grid .product-category { font-size: 11px; }
  .detail-description { font-size: 15px; }
  .detail-features li, .detail-note, .detail-extra { font-size: 12px; }
  .detail-description-more summary, .detail-variants summary {
    display: list-item;
    min-height: 44px;
    font-size: 13px;
    line-height: 1.7;
  }

  .detail-variant-links a {
    min-height: 44px;
    align-items: center;
    font-size: 13px;
  }

  .detail-purchase .button, .detail-links a { font-size: 13px; min-height: 48px; }

  .selection-close, .selection-item-remove {
    width: 44px;
    height: 44px;
    min-height: 44px;
  }

  .selection-heading { gap: 12px; padding-top: 20px; }
  .selection-platforms button { min-height: 44px; padding: 9px; font-size: 13px; }
  .selection-summary, .selection-item-sku, .selection-link-missing,
  .selection-opened-label, .selection-next-progress { font-size: 11px; }
  .selection-item-copy h3 { font-size: 13px; line-height: 1.45; }
  .selection-item-link { min-height: 44px; font-size: 12px !important; margin-top: 3px; }
  .selection-next-link { min-height: 48px; font-size: 13px !important; }
  .selection-help { font-size: 12px; }
  .selection-text-button { min-height: 44px; font-size: 11px !important; }
  .selection-footer-actions { gap: 12px; flex-wrap: wrap; }
  .selection-summary, .selection-item-sku, .selection-help,
  .selection-text-button, .selection-platforms button:not([aria-pressed="true"]),
  .selection-link-missing, .selection-next-progress { color: var(--muted); }
  .selection-item-remove, .selection-close { color: var(--muted); }

  .reviews-page { padding-top: 52px; }
  .reviews-editorial-note, .trust-rating small { font-size: 12px; }
  .trust-heading .text-link { display: inline-flex; }
  .buyer-section > p, .buyer-section li, .policy-section p { font-size: 15px; }
  .buyer-links .button { font-size: 13px; }
  .buyer-links .button, .buyer-section > p > a { overflow-wrap: anywhere; }

  .footer-top > p, .footer-seller { font-size: 13px; }
  .footer-phone { min-height: 44px; font-size: 14px; }
  .footer-bottom { font-size: 12px; align-items: center; }
  .footer-bottom a, .footer-seller a, .footer-review-links a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 13px;
  }

  .footer-seller { row-gap: 10px; }
  .footer-review-links { gap: 8px 20px; padding-top: 14px; margin-top: 14px; }
  .site-footer { padding-bottom: max(25px, env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
  .catalog-facets { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .catalog-card h2 { font-size: 13px; }
  .catalog-card-copy { padding-left: 10px; padding-right: 10px; }
  .catalog-price-area .market-pill { padding-left: 7px; padding-right: 7px; }
  .footer-top, .footer-bottom { grid-template-columns: minmax(0, 1fr); }
  .footer-phone { justify-content: flex-start; }
  .footer-bottom > span:nth-child(2) { grid-column: auto; grid-row: auto; }
}

/* A short viewport must scroll the whole drawer, including the purchase action. */
@media (max-height: 700px) {
  .selection-dialog[open] { display: block; overflow-y: auto; overscroll-behavior: contain; }
  .selection-heading {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--cream, #f6f5f0);
  }

  .selection-items { min-height: 0; overflow: visible; }
  .selection-empty { height: auto; }
  .selection-footer { padding-bottom: max(20px, env(safe-area-inset-bottom)); }
}

@media (max-height: 500px) and (min-width: 761px) {
  .selection-heading { padding-top: 20px; }
  .selection-platforms { margin-top: 14px; }
}

@media (max-width: 950px) and (max-height: 500px) {
  .catalog-search input, .catalog-facet-select { font-size: 16px; }
  .desktop-nav a, .catalog-detail-button, .selection-add-button,
  .selection-text-button, .selection-item-link { min-height: 44px; }
  .desktop-nav a { display: inline-flex; align-items: center; }
  .selection-close, .selection-item-remove, .catalog-filter-heading .dialog-close,
  .dialog-close { width: 44px; height: 44px; }
}
