/* =====================================================================
   Appslin — phone layout fixes (all pages). Desktop is not affected.
   Long stacks of repeated cards become swipe rows (js/mobile-fixes.js
   adds .m-swipe + dots), short feature lists go two-up, small text and
   tap targets are enlarged.
   ===================================================================== */
@media (max-width: 760px) {
  .m-swipe {
    display: flex !important; flex-wrap: nowrap !important; grid-template-columns: none !important;
    gap: 14px !important; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-inline: 16px; -webkit-overflow-scrolling: touch;
    margin-left: -16px !important; margin-right: -16px !important; padding: 6px 16px 10px !important;
    scrollbar-width: none; align-items: stretch;
  }
  .m-swipe::-webkit-scrollbar { display: none; }
  .m-swipe > * {
    flex: 0 0 86% !important; width: auto !important; max-width: none !important; min-width: 0;
    margin: 0 !important; scroll-snap-align: start; scroll-snap-stop: always;
    opacity: 1 !important; transform: none !important; visibility: visible !important;
  }
  .m-swipe.m-swipe--narrow > * { flex-basis: 74% !important; }
  .m-dots { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 6px 0 4px; font: 600 12px/1 system-ui, sans-serif; color: #6c7f9c; }
  .m-dots-bar { display: flex; gap: 5px; }
  .m-dots-bar i { width: 6px; height: 6px; border-radius: 50%; background: #c9d5e6; transition: width .2s, background-color .2s; }
  .m-dots-bar i.is-on { width: 18px; border-radius: 6px; background: #2563eb; }
  .section--dark .m-dots, .section--dark .m-dots, .d1-sec--dark .m-dots { color: rgba(255,255,255,.7); }
  .m-dots-hint::after { content: "  ·  swipe"; }

  /* short feature lists inside package cards: two columns */
  .cms-pack-features, .dy-pack-list { grid-template-columns: 1fr 1fr !important; column-gap: 12px !important; }
  .cms-pack-features li, .dy-pack-list li { font-size: .84rem !important; line-height: 1.4 !important; }

  /* readable minimum text size on decorative labels */
  .folio-label, .folio-kicker span, .folio-kicker b, .package-index span, .service-sheet span, .service-sheet b { font-size: 11px !important; }

  /* bigger tap targets */
  .af-link { display: inline-flex; align-items: center; min-height: 40px; }
  .pg-channel a { min-height: 40px; display: inline-flex; align-items: center; }
  .client-card .link-arrow { min-height: 40px; display: inline-flex; align-items: center; }

  /* floating "View packages" buttons: bottom-left, clear of the WhatsApp button and of page headings */
  .dyf-float, .package-scroll-widget {
    top: auto !important; right: auto !important; left: max(14px, env(safe-area-inset-left, 0px)) !important;
    bottom: calc(18px + env(safe-area-inset-bottom, 0px)) !important; height: auto !important;
    border-radius: 999px !important; padding: 11px 15px !important; font-size: .82rem !important;
  }

  /* Team page: "We are hiring" card fits its box and spans the row */
  .tm-card--join { grid-column: 1 / -1; }
  .tm-card--join .tm-join { min-width: 0; width: 100%; }
  .tm-card--join .hx-btn, .tm-card--join a { white-space: normal; max-width: 100%; }
}
