/* Junk Boss readable-text override — 2026-10-04
   Rule: 16–18px body text on all widths, UI labels >=14px, touch targets >=44px,
   single column / no horizontal scroll on phones, pinch-zoom allowed.
   rem in the theme is based on html=13.5px; we keep that (headings unchanged on
   desktop) but stop the theme shrinking it to 13px/12.5px on phones, and set
   body/paragraph/control text in px so it no longer depends on the root size. */

/* ---- base text ---- */
html { font-size: 13.5px !important; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html body { font-size: 17px !important; line-height: 1.6; }
/* p/li use the theme's 1.3333rem = 18px once the root stays 13.5px */
/* text inherits instead of the theme's tiny defaults */
html body input, html body select, html body textarea { font-size: 17px !important; }
@media (max-width: 991px) { html body button { font-size: 17px !important; } }
html body label { font-size: 16px !important; }
html body small, html body .small { font-size: 15px !important; }

/* buttons & CTAs (theme shrinks these to 12–15px below desktop) */
html body button, html body input[type=button], html body input[type=reset], html body input[type=submit] { min-height: 44px; }
@media (max-width: 991px) {
  html body a.button, html body a.button-phone, html body a.primary:not(#primary-menu a), html body .btn:not(#primary-menu a),
  html body input[type=button], html body input[type=reset], html body input[type=submit] {
    font-size: 17px !important; min-height: 44px; line-height: 1.3;
  }
  html body a.button, html body a.button-phone, html body a.primary.button { display: inline-flex; align-items: center; justify-content: center; }
  html body section.book-online-form .header5 { font-size: 17px !important; }
}
/* header (phone): call link, Book Now pill, hamburger */
@media (max-width: 767px) { html body #masthead .header-quick-links { top: -1px !important; line-height: 0; } html body #masthead .header-quick-links a { vertical-align: top; display: inline-flex; align-items: center; min-height: 44px; font-size: 18px !important; } }
html body #masthead .primary.book-now { font-size: 15px !important; letter-spacing: 0.01em !important; min-height: 44px; display: inline-flex; align-items: center; padding: 0 8px !important; margin-top: 6px; margin-bottom: 6px; }
@media (max-width: 992px) { html body .menu-toggle { min-width: 44px !important; min-height: 44px; display: flex; align-items: center; justify-content: center; top: 6px !important; right: 4px !important; } }
/* 480–992px: header is 68px tall, so centre the 44px controls in it */
@media (min-width: 480px) and (max-width: 992px) {
  html body .menu-toggle { top: 12px !important; }
  html body #masthead .primary.book-now { margin-top: 12px !important; }
}
@media (min-width: 480px) and (max-width: 767px) {
  html body #masthead .header-quick-links { top: 5px !important; }
}

/* review widget (plugin uses .rplg .x {..!important}, so match + out-specify it) */
html body .rplg .rplg-review-text, html body .rplg-list .rplg-review-text, html body .rplg .rplg-biz-based-text { font-size: 16px !important; line-height: 1.55 !important; }
html body .rplg .rplg-review-time, html body .rplg-list .rplg-review-time { font-size: 14px !important; }
@media (max-width: 991px) {
  html body .rplg .rplg-biz-rating .rplg-biz-score, html body .rplg .rplg-biz-score { font-size: 18px !important; }
  html body .rplg a.rplg-review-name { font-size: 17px !important; min-height: 44px; display: flex !important; align-items: center; }
}

/* footer */
html body #colophon .footer-branding a.logo { display: inline-block; min-height: 44px; }
html body #colophon.site-footer .footer-menu li a { font-size: 16px !important; display: inline-flex; align-items: center; min-height: 44px; }
html body #colophon.site-footer .footer-menu li { margin-bottom: 4px !important; }
html body #colophon .footer-text p a, html body #colophon .contact-info-text p a { display: inline-block; padding: 10px 0; }
html body #colophon.site-footer .cta-links a.social-links { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
html body .contact-info-text p a { display: inline-block; padding: 10px 0; }

/* ---- booking widget (/book-now/) ---- */
html body .jb-booking-card-header .jb-headline { font-size: 19px !important; }
html body .jb-steps { font-size: 15px !important; color: #555; }
html body .jb-steps span { padding: 6px 12px; }
html body .jb-booking-form label { font-size: 16px !important; }
html body .jb-booking-form input[type="text"], html body .jb-booking-form input[type="email"],
html body .jb-booking-form input[type="tel"], html body .jb-booking-form select,
html body .jb-booking-form textarea { font-size: 17px !important; min-height: 48px; }
html body .jb-day-btn { min-height: 76px; }
html body .jb-day-btn .jb-day-weekday { font-size: 15px !important; }
html body .jb-day-btn .jb-day-md { font-size: 18px !important; }
html body .jb-more-dates { font-size: 16px !important; min-height: 44px; padding: 10px 4px !important; }
html body .jb-hours-note, html body .jb-form-footnote, html body .jb-form-footnote a, html body .jb-selected-summary,
html body .jb-window-label { font-size: 16px !important; }
html body .jb-slot-btn { font-size: 17px !important; }
html body .jb-booking-form .jb-submit, html body .jb-booking-form .jb-continue, html body .jb-back { font-size: 18px !important; min-height: 52px; }

/* single column form fields on phones (phone + email were side by side at 390) */
@media (max-width: 480px) {
  html body .jb-booking-form .jb-row { flex-direction: column; gap: 0; }
  html body .jb-booking-form .jb-row .jb-field { flex: 1 1 auto; width: 100%; }
}

/* ---- thanks page ---- */
html body .jb-thanks-card-header p { color: #ffffff !important; }
html body .jb-thanks-card-body p { font-size: 18px !important; }
html body .jb-thanks-card-body a.jb-phone { font-size: 20px !important; }
html body .jb-thanks-card-body a.jb-home { font-size: 17px !important; display: inline-flex; align-items: center; min-height: 44px; }

/* ---- phones: single column, no sideways scroll ---- */
@media (max-width: 767px) {
  html body img, html body video, html body iframe { max-width: 100%; height: auto; }
  html body iframe { height: revert; }
  html body p, html body li, html body td { overflow-wrap: break-word; }
  html body ul.wp-block-list li a, html body .content-wrapper ol li a { display: inline-block; padding: 8px 0; }
}

/* desktop contact-block CTA was 14px */
@media (min-width: 992px) { html body .contact-col a.button.primary { font-size: 16px !important; } }

/* 2026-10-04 tap-target follow-ups */
/* footer "Blog" (43px) and "FAQs" (40px) were under 44px wide */
html body #colophon.site-footer .footer-menu li a { min-width: 44px; justify-content: center; }
/* "(561) 802-0020" in the booking footnote: 44px tap height, stays inline with "Or call" */
html body .jb-form-footnote a { display: inline-block; line-height: 24px; padding: 10px 6px; min-height: 44px; box-sizing: border-box; vertical-align: middle; }
