/* ============================================================
   КЛИМАТ ПРО — mobile.css — финальные мобильные правки.
   Загружается ПОСЛЕДНИМ, поэтому переопределяет базовые размеры.
   Аудит: читаемость текста (≥13px), отступы от краёв, тач-таргеты.
   ============================================================ */
@media (max-width: 560px) {
  /* ---- типографический минимум: ничего читаемого мельче 13px ---- */
  .eyebrow { font-size: 13px; letter-spacing: .1em; }
  .badge { font-size: 12.5px; }
  .pcard-brand { font-size: 12.5px; }
  .feat-dot { font-size: 13px; }
  .ft-pay-badge { font-size: 13px; }
  .pcard-disc { font-size: 13px; }
  .mstep-when { font-size: 12.5px; }
  .pbank-txt .muted, .pbank-txt span { font-size: 12.5px; }
  .photobadge-tip { font-size: 12.5px; }
  .cd-lbl { font-size: 12px; }
  .team-exp { font-size: 12.5px; }
  .small { font-size: 13px; }
  /* tame oversized headings on phones so they don't run edge-to-edge */
  .display { font-size: 27px; letter-spacing: -.02em; line-height: 1.14; }
  .h1 { font-size: 24px; line-height: 1.18; }
  .h2 { font-size: 21px; }
  .lead { font-size: 15.5px; }
  /* quiz CTA: smaller heading, tighter padding, icon doesn't crowd text */
  .quiz-cta { padding: 18px; gap: 14px; }
  .quiz-cta-ic { width: 46px; height: 46px; }
  .quiz-cta-copy .h3 { font-size: 17px; line-height: 1.25; }
  /* let service-upsell rows wrap instead of truncating with «…» on narrow screens */
  .addon-svc strong, .addon-svc .muted { overflow: visible; text-overflow: clip; white-space: normal; }
  .addon-svc-go { white-space: normal; }
  /* hide decorative floating photo badges on mobile (they overlap breadcrumbs;
     the same info lives in the gift / delivery / installment blocks below) */
  .photobadges { display: none; }
  /* social proof: distinct chips instead of a run-on text wall */
  .social-proof { gap: 8px; }
  .sp-item { background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-pill); padding: 7px 12px; font-size: 12.5px; }
  .sp-live { background: var(--eco-soft); border-color: transparent; }
  /* short description: a touch more breathing room above */
  .pg-shortdesc { margin-top: 20px; }

  /* ---- hero: breathing room under the search bar + even stats ---- */
  .hero-in { padding: 14px var(--gutter) 26px; gap: 26px; }
  .hero-copy .display { margin: 14px 0 12px; }
  .hero-cta { margin: 22px 0 24px; }
  .hero-cta .btn { flex: 1; min-width: 0; }
  .hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-top: 4px; border-top: 1px solid var(--line); }
  .hero-stats .h2 { font-size: 21px; white-space: nowrap; }
  .hero-stats .small { font-size: 12px; line-height: 1.3; }

  /* ---- product info column: tighter rhythm so CTA blocks sit higher ---- */
  .pg-buy { gap: 12px; padding: 16px; }
  .product-top, .catalog-layout { min-width: 0; }
  .catalog-main, .pg-info, .pg-gallery { min-width: 0; }
  .catalog-toolbar { align-items: stretch; flex-wrap: wrap; gap: 10px; }
  .catalog-filter-btn { flex: 0 0 auto; }
  .catalog-sort {
    flex: 1 1 100%;
    min-width: 0;
    margin-left: 0;
    justify-content: space-between;
  }
  .catalog-sort .select {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
  }
  .applied {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    scrollbar-width: none;
  }
  .applied::-webkit-scrollbar { display: none; }
  .applied .chip { flex: 0 0 auto; max-width: min(82vw, 320px); }
  .tabs {
    margin-inline: calc(var(--gutter) * -1);
    padding-inline: var(--gutter);
    -webkit-overflow-scrolling: touch;
  }
  .tab { flex: 0 0 auto; padding-inline: 14px; }
  .pg-stickybuy {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    padding: 10px max(10px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    gap: 8px;
  }
  .pg-stickybuy > .stack {
    flex: 0 1 86px;
    min-width: 0;
  }
  .pg-stickybuy .h3 { font-size: 17px; line-height: 1.05; }
  .pg-stickybuy .btn {
    min-width: 0;
    padding-inline: 10px;
    white-space: normal;
    line-height: 1.15;
  }
  .pg-stickybuy .btn svg { flex-shrink: 0; }
  .pg-stickybuy-call { width: 44px; height: 44px; }
  .pg-consult { margin-bottom: 12px; padding: 16px; }
  .pricematch, .stocksub, .giftblock { margin-top: 10px; }
  /* comfortable tap targets for secondary controls */
  .stepper button { width: 40px; height: 40px; }
  .cart-del { padding: 10px; }
  .btn-sm { padding: 11px 16px; }
}
