/* Shared phone layouts, loaded after each page's desktop styles. */
@media (max-width: 860px) {
  main > *, .header-inner > *, .top-bar > * { min-width: 0; }
  .product-desc--formatted { font-size: 16px; line-height: 1.55; }
  .product-desc--formatted h3 { font-size: 22px; line-height: 1.3; }
  .product-desc--formatted li { margin-bottom: 10px; }
  .product-desc--formatted p.product-desc-slogan {
    font-size: 20px; white-space: normal; width: auto; max-width: 100%;
  }
}

@media (max-width: 600px) {
  html { -webkit-text-size-adjust: 100%; }
  .header-inner, .header-right { min-width: 0; }
  .slogan-text, .header-contact, .header-designers {
    text-align: center; line-height: 1.45; overflow-wrap: anywhere;
  }
  .container, .doc, .card, .panel, .summary-panel { min-width: 0; }
  .breadcrumb, .item-title, .item-variant, .file-name, .save-bar-msg,
  .doc, .card p, .order-item { overflow-wrap: anywhere; }
  input[type="email"], input[type="text"], select { font-size: 16px; max-width: 100%; }
  button, .back-link, .cart-link, .new-collection-btn, .shop-btn,
  .modal-confirm, .modal-cancel, .option-pill, .carousel-arrow {
    min-height: 44px;
  }
  .qty-btn, .remove-btn, .thumb, .color-swatch, .color-swatch-btn {
    min-width: 44px; min-height: 44px;
  }
  .carousel-arrow { width: 44px; }
  .top-bar, .shop-actions { flex-wrap: wrap; gap: 12px; }
  .shop-actions > a { flex: 1 1 100%; justify-content: center; }
  .save-bar { padding: 16px; gap: 12px; }
  .save-bar-text { min-width: 0; flex-basis: 100%; }
  .save-bar-form { flex-direction: column; width: 100%; }
  .save-bar-input, .save-bar-btn { width: 100%; min-width: 0; min-height: 48px; }
  .save-bar-optin { align-items: flex-start; gap: 10px; }
  .save-bar-optin input { width: 22px; height: 22px; }
  .save-bar-optin span { flex: 1; min-width: 0; }
  .progress { gap: 0; }
  .progress-step { flex: 0 1 25%; min-width: 0; }
  .progress-label { display: block; font-size: 9px; white-space: normal; text-align: center; }
  .progress-line { min-width: 6px; }
  .review-cart-bar { padding: 18px 14px; }
  .review-cart-bar .rc-center { min-width: 0; }
  .review-cart-bar .rc-divider { margin: 0 12px; }
  .review-cart-bar .rc-title { font-size: 23px; }
  .review-cart-bar .rc-eyebrow { font-size: 9px; letter-spacing: 1px; text-align: center; }
  .review-cart-bar .rc-cart { width: 28px; }
  .review-cart-bar .rc-arrow { width: 24px; }
  .checkout-btn .co-plane, .checkout-btn .co-arrow { margin: 0 10px; width: 20px; }
  .checkout-btn .co-center { min-width: 0; padding: 14px 5px; }
  .checkout-btn .co-title { font-size: 18px; }
  .checkout-btn .co-eyebrow { font-size: 9px; letter-spacing: 1px; }
  .item { gap: 10px; }
  .item-info { min-width: 0; }
  .item-qty { flex-wrap: wrap; }
  .toast { left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .modal-overlay { padding: 12px; overflow-y: auto; }
  .modal-box { max-height: calc(100dvh - 24px); overflow-y: auto; }
  .modal-btns { flex-wrap: wrap; }
  .text-hint { white-space: normal; }
  .text-editor, .te-row, .font-select { min-width: 0; }
  .text-editor .te-label { display: block; }
  .size-range { min-width: 60px; min-height: 28px; }
  .site-footer a { display: inline-flex; align-items: center; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0s !important; }
}
