/* ==========================================================================
   site-floors.css — the sizes and tap targets that are not a matter of taste.
   Linked from the hand-rolled single-file pages, AFTER their own <style>.

   Why a shared file when the chrome on these pages is duplicated on purpose:
   the duplication rule is about PRESENTATION, where a drift is visible on
   screen and somebody notices. These are invariants nobody can see until a
   real person on a real phone hits them, so fifteen copies is fifteen chances
   to lose one. Nothing here sets a colour or a layout: only the floors.

   Measured with MogulTest-ops/test-pages-fit.js at 1440x900 and 390x844.

     16px on any text field. Below it iOS Safari zooms the whole page in on
       focus and these pages give no comfortable way back out.
     44px on any control. Apple's own floor, and the reason a phone user
       taps a link three times.
     12px on any text. Under that it is decoration, not writing.
   ========================================================================== */

/* ---- 1. TEXT FIELDS ------------------------------------------------------
   Scoped away from the controls that are not typed into, so nothing shifts
   layout except the fields that were actually too small. */
input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="submit"]):not([type="button"]):not([type="color"]),
select,
textarea {
  font-size: 16px;
}

/* ---- 2. TAP TARGETS ------------------------------------------------------
   min-height, never padding, so none of these push their neighbours around.
   Each selector below was measured under 44px on a 390px screen. */
.logo-wrap,
.nav-logo,
.logo-link,
.back-link,
.btn-back,
.btn-call-row,
.nav-cta,
.tier__call,
.modal-close,
.hamburger,
.breadcrumb a,
.sa-breadcrumbs a,
.btn-book,
.contact-detail-item a,
.footer-col .li a,
.footer-col ul a,
.footer-col a,
.legal-links a,
.order-change,
.c-name a,
.stack-center a,
.dots button,
.label a {
  min-height: 44px;
}
/* A minimum height only does something once the box can use it: an inline
   element ignores height entirely. */
a.logo-wrap, a.nav-logo, a.logo-link, a.back-link, a.btn-back, a.btn-call-row,
a.nav-cta, a.tier__call, .breadcrumb a, .sa-breadcrumbs a, a.btn-book,
.contact-detail-item a,
.footer-col .li a, .footer-col ul a, .footer-col a, .legal-links a,
a.order-change, .c-name a, .stack-center a, .label a {
  display: inline-flex;
  align-items: center;
}
.dots button { min-width: 44px; }
/* The hamburger is a button and must stay square. */
.hamburger { min-width: 44px; }
/* A close control is hit under pressure and is usually the smallest thing on
   the screen. */
.modal-close { min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }

/* ---- 3. TEXT FLOORS ------------------------------------------------------
   The eyebrow labels, badges and fine print on these pages run 10-11px. Only
   the classes measured under 12px are listed: a blanket rule would inflate
   type that was chosen deliberately. */
/* !important because a floor that loses on specificity is not a floor: several
   of these are set from a longer selector inside the page's own <style>, and
   without it the text stayed at 10px while this file claimed to have fixed it. */
.page-tag,
.form-label,
.form-fine,
.form-legal,
.form-legal a,
.section-label,
.spec-label,
.svc-badge,
.mc-tag,
.modal-label,
.comp-val,
.order-card-title,
.contact-card-label,
.portal-badge,
.tag,
.fact,
.swipe-hint,
.tier__badge,
.tier__name,
.nav-cta,
.footer-col h4 {
  font-size: 12px !important;
}

/* ---- 4. CONTRAST IS NOT DONE HERE, AND THAT IS THE POINT -----------------
   A first attempt set colours from this file and made things worse: these
   pages are cream with a DARK footer, so one rule darkening .footer-col links
   for legibility on cream took them to 2.36:1 on the near-black they actually
   sit on, and .btn-mc -- dark text on a gold button -- went from 2.89 to 1.96.
   A colour is only correct against a known backdrop, and this file is shared
   by pages that do not share one. Contrast belongs in the page, or in the
   token it comes from (see --accent-text in style.css). Sizes and geometry
   are theme-independent, which is why they can live here.
   ------------------------------------------------------------------------- */

/* ---- 5. THE DARK FOOTER --------------------------------------------------
   .site-footer is by definition the near-black footer, so a colour scoped to
   it has a known backdrop and is safe to set here. Its links were #7A7670 on
   #1A1B1F (3.81:1) because the pages override the token locally.
   Pages that do NOT link /style.css have no .site-footer rule at all and are
   fixed in the page, against the light background they actually have.
   -------------------------------------------------------------------------- */
.site-footer .footer-col a,
.site-footer .footer-brand p,
.site-footer .footer-bottom p,
.site-footer .footer-bottom a,
.site-footer .li a { color:#C9C2B4; }
.site-footer .footer-col h4,
.site-footer .footer-brand .logo-text { color:#FFFFFF; }
