/* mWave UX fixes — staged 2026-10-21. Loaded after style.css. Remove this file + its <link> in _block/head.php to roll back. */

/* 1. Contrast: AA teal for buttons and teal text on light backgrounds (white on #00796F = 5.3:1) */
:root{
  --color-teal:#00796F; --color-teal-dark:#00635B; --color-success:#00796F;
  --btn-primary-bg:#00796F; --btn-primary-hover:#00635B;
  --btn-accent-bg:#00796F;  --btn-accent-hover:#00635B;
  --btn-outline-color:#00796F;
}
/* keep the brighter brand teal on dark surfaces, where it already passes (6.9:1 on navy) */
.site-footer,.mwave-hero:not(.mwave-hero-light),.location-hero,.location-cta,.home-stats,.direct-hero,
[style*="color-navy"],[style*="#0F172A"],[style*="#0f172a"],[style*="#0b1221"],[style*="#111a2b"],[style*="linear-gradient(145deg, rgba(15"]{
  --color-teal:#00B4A6; --color-teal-dark:#009688;
}

/* Unified button system: primary (filled AA teal), secondary (outline), text link */
.btn-primary,.btn-accent{background:var(--btn-accent-bg)!important;color:#fff!important;border:2px solid transparent}
.btn-primary:hover,.btn-accent:hover,.btn-primary:focus-visible,.btn-accent:focus-visible{background:var(--btn-accent-hover)!important;color:#fff!important}
.btn-outline{background:transparent;border:2px solid #00796F;color:#00796F}
.btn-outline:hover,.btn-outline:focus-visible{background:#00796F;border-color:#00796F;color:#fff}
.btn-outline.btn-on-dark{border-color:#fff!important;color:#fff!important}
.btn-outline.btn-on-dark:hover,.btn-outline.btn-on-dark:focus-visible{background:#fff!important;color:#0F172A!important}
.btn:focus-visible{outline:3px solid #FACC15;outline-offset:2px}
.btn-text{display:inline-flex;align-items:center;min-height:44px;font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:3px}

/* marginal greys -> AA */
.text-muted,.small[style*="muted"]{color:#5f6770!important}

/* 2. reCAPTCHA badge hidden; required notice shown next to forms (.recaptcha-notice) */
.grecaptcha-badge{visibility:hidden!important}
.recaptcha-notice{font-size:0.8rem;color:#5f6770;margin-top:10px}
.site-footer .recaptcha-notice{color:#a3b3c9}
.recaptcha-notice a{color:inherit;text-decoration:underline}

/* 5. visually-hidden labels */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* 8. tap targets + small text */
.site-footer .footer-links li{margin-bottom:2px!important}
.site-footer .footer-links a,.site-footer .footer-contact a{display:inline-block;padding:10px 0;font-size:0.95rem!important;line-height:1.3}
.site-footer .footer-links{font-size:0.95rem!important;line-height:1.3!important}
.site-footer .social__media--list a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
.site-footer .small,.site-footer [style*="font-size:0.85rem"],.site-footer [style*="font-size: 0.85rem"]{font-size:0.9rem!important}
.mobile-nav a,.mobile-accordion-header{min-height:48px;display:flex;align-items:center}
.mobile-menu-panel .close-btn{min-width:44px;min-height:44px}
@media (max-width:767.98px){
  body{font-size:16px}
  p.small,.small,small{font-size:0.9rem}
  .breadcrumb a{display:inline-block;padding:10px 0}
  .mwave-card a:not(.btn){display:inline-block;padding:6px 0}
}
/* hidden off-canvas menu must not widen the page */
html,body{overflow-x:clip}

/* 9. grid orphans */
@media (min-width:992px){
  .grid-3{grid-template-columns:repeat(3,1fr)!important}
  .grid-4{grid-template-columns:repeat(4,1fr)!important}
  .grid-5{grid-template-columns:repeat(6,1fr)!important}
  .grid-5>*{grid-column:span 2}
  .grid-5>*:nth-child(n+4){grid-column:span 3}
}
@media (min-width:768px) and (max-width:991.98px){
  .grid-3,.grid-5{grid-template-columns:repeat(2,1fr)!important}
}

/* card titles wrapping mid-word (support) */
.mwave-card h3,.mwave-card h4{overflow-wrap:normal;word-break:normal;hyphens:auto}

/* 6. Virginia City hero offer badge */
.hero-offer{display:inline-flex;align-items:center;gap:.5rem;background:#FACC15;color:#0b1221;font-weight:700;padding:8px 16px;border-radius:999px;margin:0 0 1rem;font-size:1rem}
.hero-offer a{color:#0b1221;text-decoration:underline}

/* contact methods: phone shown last + de-emphasised */
.contact-methods a{display:inline-block;padding:8px 0}
.contact-methods .contact-phone{opacity:.85;font-size:.95em}

/* 4. it-contact restyle (matches contact.php) */
.itq-form label{display:block;font-weight:600;margin-bottom:6px;color:var(--color-text)}
.itq-form .form-control,.itq-form select,.itq-form textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #cbd5e1;border-radius:var(--radius,10px);font-size:1rem;background:#fff;color:#1e2937}
.itq-form textarea{min-height:130px}
.itq-form .form-control:focus,.itq-form select:focus,.itq-form textarea:focus{outline:3px solid rgba(0,121,111,.35);border-color:#00796F}
.itq-form .hidden-field{display:none}
.itq-form .mb-field{margin-bottom:18px}

/* remote portal footer link */
.remote-help{text-align:center;margin:1rem auto 0;font-size:.95rem}
.remote-help a{display:inline-block;padding:10px 4px;color:#00796F;font-weight:600}
.compliance-badge h4,.compliance-badge .h-like{color:#0f5f58}
.remote-security-note{color:#5f6770!important}
.mwave-hero-light + section{padding-top:48px}
