/* ABT recipe overrides (loaded after the theme CSS). */
/* 16px form text on phones: below that iOS zooms the page when a field is focused. */
@media (max-width: 767px) {
  form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  form select,
  form textarea { font-size: 16px; }
}
/* The body's extra <h1>s became <h2>s; keep the h1 look the theme gave them (measured: 32px/600, 0 0 10px). */
h2.mmm-was-h1 { font-size: 32px; font-weight: 600; line-height: 32px; margin: 0 0 10px; }

/* Native Locations grid (replaces the Common Ninja widget). */
.tc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.tc-locations{max-width:1120px;margin:0 auto;padding:8px 20px 56px;font-family:inherit}
.tc-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 0 36px}
.tc-pill{appearance:none;border:1px solid #c9d6e2;background:#fff;color:#1d2b3a;border-radius:999px;padding:12px 20px;min-height:44px;font:600 15px/1 inherit;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.tc-pill:hover{border-color:#00a3ee}
.tc-pill.is-active{background:#00a3ee;border-color:#00a3ee;color:#fff}
.tc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px}
.tc-loc{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 18px rgba(20,40,70,.1);display:flex;flex-direction:column}
.tc-loc[hidden]{display:none}
.tc-loc-media{aspect-ratio:10/7;background:linear-gradient(135deg,#00a3ee,#0b6fb3);display:flex;align-items:center;justify-content:center}
.tc-loc-media img{width:100%;height:100%;object-fit:cover;display:block}
.tc-loc-fallback{color:#fff;font:800 44px/1 inherit;font-family:inherit;letter-spacing:1px;text-align:center}
.tc-loc-fallback small{display:block;font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-top:6px}
.tc-loc-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.tc-loc-body h3{margin:0;font-size:20px;line-height:1.25}
.tc-loc-addr{margin:0;color:#43515f;line-height:1.5}
.tc-loc-phone{font-weight:700;color:#0b6fb3;text-decoration:none;padding:8px 0;min-height:44px;display:inline-flex;align-items:center}
.tc-loc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:10px}
.tc-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:8px;border:2px solid #00a3ee;color:#0b6fb3;font-weight:700;text-decoration:none;background:#fff}
.tc-btn-primary{background:#00a3ee;color:#fff}
.tc-btn:hover{filter:brightness(.95)}

/* Phone tap targets: 44 px minimum for header, footer, phone and menu links. */
@media (max-width: 767px) {
  .wsite-logo a { display: inline-block; min-height: 44px; }
  a[href^="tel:"], .wsite-menu-subitem,
  .nav a, .footer a, [class*="footer"] a, .mobile-nav a, .sidenav a, ul.wsite-menu-default a, .wsite-menu a {
    display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box;
  }
  .wsite-menu-subitem { display: flex; }
}
@media (max-width: 767px) {
  /* Hamburger: 7 px of padding around the 30 px icon. */
  label.hamburger { padding: 7px; box-sizing: content-box; }
  /* Slider dots keep their 8 px look inside a 44 px hit area. */
  .swiper-pagination-bullet { width: 44px !important; height: 44px !important; padding: 18px; box-sizing: border-box; background-clip: content-box; margin: 0 !important; }
  .wsite-social-item { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
  .wsite-form-input, .wsite-button, a.wsite-button { min-height: 44px; }
}
/* Weebly's off-screen default submit (Enter-to-send) is not a visible control; size it so it is never a small target. */
input[type="submit"][style*="-9999px"] { width: 44px !important; height: 44px !important; }

/* For Kids: memory match */
.tc-kids{max-width:720px;margin:0 auto;padding:24px 20px 56px;text-align:center}
#wsite-content .tc-kids-title{font-size:40px!important;line-height:1.15!important;margin:0 0 12px}
.tc-kids-intro{font-size:17px;line-height:1.6;margin:0 auto 20px;max-width:620px}
.tc-kids-bar{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:16px;font-size:16px}
.tc-kids-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.tc-card{appearance:none;border:0;border-radius:16px;min-height:88px;aspect-ratio:1;font-size:44px;line-height:1;cursor:pointer;background:#00a3ee;color:#fff;transition:transform .2s,background .2s}
.tc-card:hover{transform:scale(1.04)}
.tc-card.is-open,.tc-card.is-done{background:#eaf6fd;border:3px solid #00a3ee}
.tc-card.is-done{background:#d8f3dc;border-color:#2f9e44}
.tc-kids-win{margin-top:20px;font-size:20px;font-weight:700;color:#2f9e44}

/* Careers: culture banner (merged from the old /careers1 page) */
.tc-culture{background:#00aff0;color:#fff;padding:56px 20px;text-align:center}
.tc-culture h2{color:#fff!important;font-size:36px!important;line-height:1.2!important;margin:0 0 16px}
.tc-culture p{color:#fff!important;font-size:19px;font-weight:600;line-height:1.6;max-width:760px;margin:0 auto}

/* Header: no empty dark top bar over the logo, and a solid bar once the page scrolls */
.top-bar{display:none!important}
.birdseye-header{transition:background-color .2s ease,box-shadow .2s ease}
body.tc-scrolled .birdseye-header{background-color:#fff!important;box-shadow:0 2px 12px rgba(0,0,0,.14)}

/* Careers: JazzHR job list, tall enough that it never scrolls inside the frame (its page is ~2650px
   tall on desktop, ~4100px on a phone; raise these if the list grows) */
.tc-jobs{width:100%;margin:20px 0;overflow:hidden}
.tc-jobs iframe{display:block;width:100%;height:2800px;border:0}
@media (max-width:600px){.tc-jobs iframe{height:4300px}}
.tc-jobs-btn{display:inline-block;background:#00aff0;color:#fff!important;font-weight:700;font-size:18px;line-height:1;padding:18px 34px;border-radius:10px;text-decoration:none}
.tc-jobs-btn:hover,.tc-jobs-btn:focus{background:#0095cc;color:#fff!important}

/* Locations v2: near-me, map, city groups, hours, providers, cards without a photo */
.tc-near{display:flex;flex-direction:column;align-items:center;gap:8px;margin:-12px 0 24px}
.tc-near-btn{background:#fff;cursor:pointer;font:700 15px/1 inherit;font-family:inherit}
.tc-near-status{margin:0;min-height:1.2em;color:#43515f;font-size:15px;text-align:center}
.tc-map{position:relative;isolation:isolate;z-index:0;height:380px;border-radius:14px;overflow:hidden;box-shadow:0 2px 18px rgba(20,40,70,.1);margin:0 0 32px}
.tc-map[hidden]{display:none}
@media (max-width:600px){.tc-map{height:300px}}
.tc-group{grid-column:1/-1;margin-top:12px}
.tc-group[hidden]{display:none}
.tc-group h3{margin:0;font-size:22px;color:#1d2b3a;border-bottom:2px solid #d8e6f1;padding-bottom:8px}
.tc-group h3 span{margin-left:12px;font-size:15px;font-weight:600;color:#6b7a89}
.tc-loc-nophoto{border-top:4px solid #00a3ee}
.tc-dist{margin:0;font-weight:700;color:#0b6fb3;font-size:15px}
.tc-loc-hours{margin:0;color:#43515f;font-size:14px;line-height:1.5}
.tc-open{display:inline-block;margin-right:8px;padding:2px 10px;border-radius:999px;font-weight:700;font-size:13px}
.tc-open.is-open{background:#d8f3dc;color:#1f6f35}
.tc-open.is-closed{background:#eef1f4;color:#55606b}
.tc-provs{margin-top:6px;padding-top:12px;border-top:1px solid #e6edf3}
.tc-provs-label{margin:0 0 8px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#6b7a89}
.tc-provs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tc-prov{display:flex;align-items:center;gap:10px}
.tc-prov img,.tc-face-initials{width:44px;height:44px;border-radius:50%;flex:none;object-fit:cover;object-position:top}
.tc-face-initials{display:flex;align-items:center;justify-content:center;background:#e6f4fc;color:#0b6fb3;font-weight:700}
.tc-prov-name{display:flex;flex-direction:column;line-height:1.25;font-weight:600;color:#1d2b3a}
.tc-prov-name small{font-weight:400;color:#6b7a89}
.tc-map.leaflet-container .leaflet-bar a{width:44px!important;height:44px!important;line-height:44px!important;font-size:22px!important}
