/* Phone tap targets (audit V4): >=44px high, ~8px between inline neighbours. Public visitors only; phone width only. */
@media (max-width: 767px) {
  /* header: menu button, language switch, logo link */
  .navbar .btn-navbar { box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 12px 6px; text-align: center; }
  .navbar .btn-navbar[data-target] { margin-top: 0 !important; }
  .navbar .btn-navbar.hide-in-details { margin-top: 0; }
  .navbar .brand h2 a { display: inline-block; padding: 2px 0; margin: -2px 0; white-space: nowrap; }
  .navbar .nav > li > a, .navbar .nav .menu-item, .navbar .dropdown-menu > li > a { box-sizing: border-box; min-height: 44px; padding-top: 12px; padding-bottom: 12px; }

  /* search box */
  .navbar .input-append input.search-query, #searchId { box-sizing: border-box; height: 44px; min-height: 44px; }
  .navbar .input-append .btn { box-sizing: border-box; height: 44px; min-width: 52px; }

  /* section headers: "all" button, filter toggle */
  h3 > a.btn, h3 > a.btn-mini, h3.hidden-desktop > a.btn-navbar { box-sizing: border-box; min-height: 44px; min-width: 44px; padding: 12px 12px; margin-bottom: 8px; }
  .dropdown-toggle.btn-navbar { box-sizing: border-box; min-height: 44px; }

  /* listing cards */
  .estate-card a.method-post { display: block; width: 44px; height: 44px; box-sizing: border-box; right: 0 !important; top: 0 !important; padding: 12px !important; text-align: center; }
  /* padding + equal negative margin: bigger hit area, card layout unchanged (cards have fixed heights) */
  .estate-card a.prop-title, h4 > a.prop-title { display: inline-block; padding: 13px 0; margin: -13px 0; }
  .estate-card a.pull-left { box-sizing: border-box; min-height: 44px; padding: 12px 8px 12px 0; }

  /* listing page: share / favourite, similar-listing links */
  a#share-button, h1 > a.favorite-button { box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 8px; margin-left: 4px; text-align: center; }
  h3 > a[href*="estate_view"] { display: inline-block; padding: 15px 0; margin: -15px 0; }

  /* contact form */
  input[type="text"], input[type="email"], input[type="tel"], select { box-sizing: border-box; height: 44px !important; min-height: 44px !important; }
  textarea { box-sizing: border-box; min-height: 44px; }
  label.checkbox { min-height: 44px; padding-top: 12px; padding-bottom: 4px; }
  label.checkbox input[type="checkbox"] { width: 22px; height: 22px; margin-top: 2px; }
  form .btn.btn-inverse { box-sizing: border-box; min-height: 44px; padding: 12px 20px; }
  .modal-footer .btn { min-height: 44px; }
  a[data-toggle="modal"] { display: inline-block; padding: 16px 0; }

  /* list pagination (lives inside the sticky bar on list pages) */
  .pagination ul > li > button, .pagination ul > li > a { box-sizing: border-box !important; min-height: 44px; min-width: 44px; padding-top: 0 !important; padding-bottom: 0 !important; line-height: 42px !important; }

  /* footer + back to top */
  p.box_content a[href], .box_content a[href], footer address a[href] { display: inline-block; padding: 12px 0; line-height: 20px; }
  #toplink a.top-link { display: inline-block; padding: 15px 8px; }
}

/* fb1: no iOS focus zoom. iOS Safari zooms the page when a field under 16px gets focus; every text field,
   select and textarea is 16px at phone width (pinch zoom stays allowed: no maximum-scale in the viewport). */
@media (max-width: 767px) {
  input:not([type]), input[type="text"], input[type="search"], input[type="email"], input[type="tel"], input[type="url"],
  input[type="number"], input[type="password"], input[type="date"], select, textarea { font-size: 16px !important; }
}
