/* ==========================================================================
   WCAG 2.0 AA / AODA CONTRAST FIXES        added 31 Aug 2026
   --------------------------------------------------------------------------
   Every colour below keeps its original hue and saturation; only lightness
   is adjusted until the text clears the 4.5:1 ratio WCAG 2.0 Level AA
   requires (3:1 for large text). Measured before -> after noted per rule.
   Homepage failures went from 46 to 0.
   TO REVERT EVERYTHING: delete this entire block.
   ========================================================================== */

/* --- 1. Buttons ---------------------------------------------------------- */
.button.large,
a.button.large                       { background-color:#24827F !important; } /* teal   2.28 -> 4.59 */
.button.red2,
a.button.red2                        { background-color:#EB002E !important; } /* 3.66 -> 4.59 */

.vc_btn3.vc_btn3-color-danger,
.vc_btn3.vc_btn3-color-danger:hover,
.vc_btn3.vc_btn3-color-danger:focus  { background-color:#EA1100 !important; } /* Request Staff Now 2.86 -> 4.59 */
.vc_btn3.vc_btn3-color-green,
.vc_btn3.vc_btn3-color-green:hover,
.vc_btn3.vc_btn3-color-green:focus   { background-color:#53812D !important; } /* Caregiver Jobs   2.78 -> 4.62 */
.vc_btn3.vc_btn3-color-blue,
.vc_btn3.vc_btn3-color-blue:hover,
.vc_btn3.vc_btn3-color-blue:focus    { background-color:#5270D1 !important; } /* Book Homecare    4.45 -> 4.57 */

/* --- 2. Icon boxes ------------------------------------------------------- */
.iconbox.box-color-green     { background-color:#558129 !important; }         /* 1.87 -> 4.61 */
.iconbox.box-color-red       { background-color:#D24215 !important; }         /* 3.48 -> 4.64 */
.iconbox.box-color-lightblue { background-color:#00808F !important; }         /* 3.59 -> 4.68 */

.iconbox[class*="box-color-"],
.iconbox[class*="box-color-"] p,
.iconbox[class*="box-color-"] h5     { color:#FFFFFF !important; }            /* drop 70% opacity */

/* Bright yellow stays yellow; dark text is the correct fix.  1.64 -> 11.8 */
.iconbox.box-color-orange,
.iconbox.box-color-orange p,
.iconbox.box-color-orange h5,
.iconbox.box-color-orange a          { color:#241C00 !important; }

/* --- 3. Stat counters ---------------------------------------------------- */
.counter .counter-value,
.counter .counter-suffix,
.counter .counter-prefix,
.counter .counter-content            { color:#24827F !important; }            /* 2.28 -> 4.59 */
.counter .counter-title              { color:#2D4E52 !important; }

/* --- 4. Accent blue used as body text  4.08 -> 4.63 (passes on white and on #EEF2F6 panels) ---------------------- */
#content-body p a:not([class*="button"]):not([class*="vc_btn"]),
#content-body li a:not([class*="button"]):not([class*="vc_btn"]),
#content-body td a:not([class*="button"]):not([class*="vc_btn"]),
.testimonial-content blockquote,
.testimonial-content blockquote span,
.iconlist-item-content h5,
.iconlist-item-content a,
.iconlist-item-content p a,
.breadcrumbs a,
a.home,
.vc_tta-panel-title .vc_tta-title-text,
.vc_tta-panel-title a,
.vc_toggle_title,
.vc_toggle_title h4,
.vc_toggle_title > h4,
.testimonial .author-name,
.testimonial-author .author-info,
.testimonial-author .author-info *   { color:#3562E5 !important; }

/* --- 5. Form required-field asterisks  4.00 -> 4.56 ---------------------- */
.wpforms-required-label,
.wpforms-field-label .wpforms-required-label { color:#ED0000 !important; }

/* --- 6. Announcement banner  2.40 -> 7.53 -------------------------------- */
#simple-banner .simple-banner-text a {
  color:#FFFFFF !important;
  text-decoration:underline !important;
}


/* ----- HNH CALL BAR ----- */
#simple-banner{padding:8px 12px!important;line-height:1.3!important;box-shadow:0 -2px 10px rgba(0,0,0,.18)!important}
#simple-banner .simple-banner-text{display:block!important;max-width:1100px;margin:0 auto!important;text-align:center!important;font-size:1rem!important}
#simple-banner .simple-banner-text>span{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px}
a.sb-call{display:inline-flex;align-items:center;gap:8px;background:#FF7A18;color:#241000!important;font-weight:800;font-size:18px;line-height:1;padding:13px 24px;border-radius:100px;text-decoration:none!important;min-height:46px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
a.sb-call:before{content:"";width:17px;height:17px;flex:0 0 auto;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E") center/contain no-repeat}
a.sb-call:hover,a.sb-call:focus{background:#FF9440;color:#241000!important;text-decoration:none!important}
a.sb-call:focus-visible{outline:3px solid #FFD84D;outline-offset:3px}
.sb-sub{color:#DCE9F5;font-size:14.5px}
@media (max-width:640px){
 #simple-banner{padding:7px 10px!important}
 a.sb-call{width:100%;justify-content:center;font-size:18px;padding:14px 18px;min-height:52px}
 .sb-sub{font-size:12.5px;width:100%}
}
.sb-tag{color:#9FC4E4;font-size:12.5px;letter-spacing:.06em;font-weight:600;white-space:nowrap}
@media (max-width:640px){.sb-tag{display:none}}
#simple-banner a.sb-call,#simple-banner a.sb-call:hover,#simple-banner a.sb-call:focus,#simple-banner a.sb-call:visited{text-decoration:none!important;border-bottom:0!important}
.hnh-cta .hnh-btn--call,.hnh-cta .hnh-btn--call:hover,.hnh-cta .hnh-btn--book,.hnh-cta .hnh-btn--book:hover{text-decoration:none!important}
/* ----- HNH CALL BAR END ----- */


/* ----- HNH FORM ----- */
/* stray un-hidden honeypot field (label "* the a") */
.wpforms-field[data-field-id="2"]{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.wpforms-container{max-width:820px;margin-left:auto!important;margin-right:auto!important}
.wpforms-container .wpforms-form{background:#fff;border:1px solid #E1EBEB;border-radius:14px;padding:26px 26px 22px;box-shadow:0 2px 18px rgba(14,110,106,.07)}
.wpforms-container .wpforms-title{font-size:26px!important;line-height:1.2;margin:0 0 6px!important;color:#0E6E6A}
.wpforms-container .wpforms-field{padding:11px 0!important}
.wpforms-container .wpforms-field-label{font-weight:600!important;font-size:15px!important;color:#25403F!important;margin-bottom:6px!important}
.wpforms-container .wpforms-field-sublabel{font-size:12.5px!important;color:#6B7B7A!important}
.wpforms-container input[type=text],.wpforms-container input[type=email],.wpforms-container input[type=tel],.wpforms-container input[type=number],.wpforms-container input[type=url],.wpforms-container select,.wpforms-container textarea{
 width:100%!important;max-width:100%!important;min-height:46px;padding:11px 13px!important;border:1.5px solid #CBDCDB!important;border-radius:9px!important;font-size:16px!important;background:#fff!important;color:#1C302F!important;box-shadow:none!important}
.wpforms-container textarea{min-height:118px}
.wpforms-container input:focus,.wpforms-container select:focus,.wpforms-container textarea:focus{border-color:#14837D!important;outline:3px solid rgba(20,131,125,.22)!important;outline-offset:0!important}
.wpforms-container .wpforms-field-label-inline{font-size:15px!important;color:#25403F!important}
.wpforms-container ul.wpforms-field-required,.wpforms-container .wpforms-field-checkbox ul,.wpforms-container .wpforms-field-radio ul{margin:0!important;padding:0!important;list-style:none!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 18px}
.wpforms-container .wpforms-field-checkbox li,.wpforms-container .wpforms-field-radio li{margin:0!important;padding:0!important;list-style:none!important;display:flex;align-items:flex-start;gap:8px}
.wpforms-container .wpforms-field-checkbox input,.wpforms-container .wpforms-field-radio input{width:19px!important;height:19px!important;min-height:0;margin-top:2px!important;flex:0 0 auto}
.wpforms-container .wpforms-required-label{color:#B4381F!important}
.wpforms-container button[type=submit],.wpforms-container .wpforms-submit{
 background:#FF7A18!important;color:#241000!important;border:0!important;border-radius:100px!important;
 font-size:18px!important;font-weight:800!important;padding:15px 34px!important;min-height:54px;
 box-shadow:0 3px 12px rgba(0,0,0,.18)!important;cursor:pointer;width:auto!important}
.wpforms-container button[type=submit]:hover,.wpforms-container .wpforms-submit:hover{background:#FF9440!important;color:#241000!important}
.wpforms-container button[type=submit]:focus-visible{outline:3px solid #FFD84D!important;outline-offset:3px}
.wpforms-container .wpforms-field-address .wpforms-field-row{margin-bottom:8px}
@media (max-width:640px){
 .wpforms-container .wpforms-form{padding:18px 16px 16px;border-radius:12px}
 .wpforms-container .wpforms-title{font-size:22px!important}
 .wpforms-container ul.wpforms-field-required,.wpforms-container .wpforms-field-checkbox ul,.wpforms-container .wpforms-field-radio ul{grid-template-columns:1fr}
 .wpforms-container button[type=submit],.wpforms-container .wpforms-submit{width:100%!important}
}
/* ----- HNH FORM END ----- */





/* ----- HNH FOOTER CASE ----- */
/* theme lowercases all footer widget text; place names and the address must keep their capitals */
.footer-address,.footer-address *,
.footer-areas,.footer-areas li,.footer-areas a,
.footer-cta-line,
#colophon .textwidget a[href^="mailto:"],
#colophon .textwidget a[href^="tel:"]{text-transform:none!important}
.footer-cta-line{margin:14px 0 6px!important;font-weight:600}
/* ----- HNH FOOTER CASE END ----- */


/* ----- HNH HUB HOVER ----- */
/* Theme uses #content-body li a {...!important}, so these selectors must carry an ID too. */
#content-body .hnh-hub .hnh-nb a,#content-body .hnh-hub .hnh-nb a:link,#content-body .hnh-hub .hnh-nb a:visited{color:#24413F!important;text-decoration:none!important}
#content-body .hnh-hub .hnh-nb a:hover,#content-body .hnh-hub .hnh-nb a:focus,#content-body .hnh-hub .hnh-nb a:active{background:#FF7A18!important;color:#241000!important;text-decoration:none!important}
#content-body .hnh-hub .hnh-jump a,#content-body .hnh-hub .hnh-jump a:link,#content-body .hnh-hub .hnh-jump a:visited{color:#0E6E6A!important;text-decoration:none!important}
#content-body .hnh-hub .hnh-jump a:hover,#content-body .hnh-hub .hnh-jump a:focus,#content-body .hnh-hub .hnh-jump a:active{background:#FF7A18!important;border-color:#FF7A18!important;color:#241000!important;text-decoration:none!important}
#content-body .hnh-hub a.hnh-city,#content-body .hnh-hub a.hnh-city:link,#content-body .hnh-hub a.hnh-city:visited{color:#15514E!important;text-decoration:none!important}
#content-body .hnh-hub a.hnh-city:hover,#content-body .hnh-hub a.hnh-city:focus{color:#C0570A!important;text-decoration:underline!important}
#content-body .hnh-hub .hnh-grid>li:hover{border-color:#FF7A18!important}
#content-body .hnh-hub a:focus-visible{outline:3px solid #FFD84D!important;outline-offset:2px}
/* CTA card + call bar must also beat the theme's #content-body rule */
#content-body .hnh-cta a.hnh-btn--call,#content-body .hnh-cta a.hnh-btn--call:hover{color:#241000!important;text-decoration:none!important}
#content-body .hnh-cta a.hnh-btn--book,#content-body .hnh-cta a.hnh-btn--book:hover{color:#fff!important;text-decoration:none!important}
#content-body .hnh-cta a.hnh-btn--mail{color:#CFF0EE!important}
#content-body .hnh-cta a.hnh-btn--mail:hover{color:#fff!important}
/* ----- HNH HUB HOVER END ----- */


/* ----- HNH DOORS ----- */
#content-body .hnh-lead p a.hnh-door__cta,#content-body .hnh-lead a.hnh-door__cta{text-decoration:none!important}
#content-body .hnh-lead p a.hnh-door__cta,#content-body .hnh-lead .hnh-door--org a.hnh-door__cta{background:#0E6E6A!important;color:#ffffff!important}
#content-body .hnh-lead .hnh-door--org p a.hnh-door__cta,#content-body .hnh-lead .hnh-door--org a.hnh-door__cta{background:#0E6E6A!important;color:#ffffff!important}
#content-body .hnh-lead .hnh-door--org p a.hnh-door__cta:hover,#content-body .hnh-lead .hnh-door--org a.hnh-door__cta:hover{background:#14837D!important;color:#ffffff!important}
#content-body .hnh-lead .hnh-door--fam p a.hnh-door__cta,#content-body .hnh-lead .hnh-door--fam a.hnh-door__cta{background:#FF7A18!important;color:#241000!important}
#content-body .hnh-lead .hnh-door--fam p a.hnh-door__cta:hover,#content-body .hnh-lead .hnh-door--fam a.hnh-door__cta:hover{background:#FF9440!important;color:#241000!important}
#content-body .hnh-lead a.hnh-door__cta:focus-visible{outline:3px solid #FFD84D!important;outline-offset:3px}
#content-body .hnh-lead h2,#content-body .hnh-lead .hnh-door h3,#content-body .hnh-sub h2{color:#15514E!important}
/* ----- HNH DOORS END ----- */



/* ----- HNH CONTACT ----- */
#content-body .hnh-ct p a.rbtn,#content-body .hnh-ct p a.rbtn:link,#content-body .hnh-ct p a.rbtn:visited,#content-body .hnh-ct a.rbtn{text-decoration:none!important}
#content-body .hnh-ct p a.rbtn--fam,#content-body .hnh-ct a.rbtn--fam{background:#FF7A18!important;color:#241000!important}
#content-body .hnh-ct p a.rbtn--fam:hover,#content-body .hnh-ct p a.rbtn--fam:focus,#content-body .hnh-ct a.rbtn--fam:hover{background:#FF9440!important;color:#241000!important}
#content-body .hnh-ct p a.rbtn--org,#content-body .hnh-ct a.rbtn--org{background:#0E6E6A!important;color:#ffffff!important}
#content-body .hnh-ct p a.rbtn--org:hover,#content-body .hnh-ct p a.rbtn--org:focus,#content-body .hnh-ct a.rbtn--org:hover{background:#14837D!important;color:#ffffff!important}
#content-body .hnh-ct p a.rbtn--job,#content-body .hnh-ct a.rbtn--job{background:#ffffff!important;color:#0E6E6A!important;border:2px solid #0E6E6A}
#content-body .hnh-ct p a.rbtn--job:hover,#content-body .hnh-ct p a.rbtn--job:focus,#content-body .hnh-ct a.rbtn--job:hover{background:#0E6E6A!important;color:#ffffff!important}
#content-body .hnh-ct a.rbtn:focus-visible{outline:3px solid #FFD84D!important;outline-offset:3px}
#content-body .hnh-ct h2,#content-body .hnh-ct .hnh-route h3{color:#15514E!important}
#content-body .hnh-ct .hnh-urgent h3{color:#8A2B17!important}
/* ----- HNH CONTACT END ----- */



/* ----- HNH FOOTER LEGAL ----- */
.footer-legal{display:block;margin:18px 0 14px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.14);text-transform:none!important}
.footer-legal .fl-entity{display:block;font-weight:700;font-size:15px;line-height:1.35;margin-bottom:5px;text-transform:none!important}
.footer-legal .fl-line{display:block;font-size:13.5px;line-height:1.5;margin-bottom:4px;opacity:.88;text-transform:none!important}
.footer-legal strong{font-variant-numeric:tabular-nums;letter-spacing:.02em}
.footer-legal a{text-decoration:underline;text-underline-offset:2px}
/* ----- HNH FOOTER LEGAL END ----- */

/* --- 7. Teal surfaces: everything on them must be white.
         MUST STAY LAST so it wins over the accent-blue rules above. ------- */
.testimonial.has-image               { background-color:#24827F !important; } /* 2.28 -> 4.59 */
.testimonial.has-image,
.testimonial.has-image *,
.testimonial.has-image .author-name,
.testimonial.has-image blockquote,
.testimonial.has-image blockquote *,
.vc_separator-has-text,
.vc_separator-has-text h4            { color:#FFFFFF !important; }
.row-inner:has(> .wpb_column .vc_separator-has-text) { background-color:#24827F !important; }

/* --- 8. Visible keyboard focus (WCAG 2.4.7) ------------------------------ */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline:3px solid #24827F !important;
  outline-offset:2px !important;
}

/* --- 9. Link hover / focus states -------------------------------------
   Section 4 sets link colour with !important, which was overriding the
   theme's hover colour and leaving links with no hover feedback.
   These restore it, and add an underline so hover is not colour-only
   (WCAG 1.4.1 — do not use colour as the only visual means).
   #34BEB9 = 7.72:1 on white, 6.86:1 on the #EEF2F6 panels. -------------- */
#content-body p a:not([class*="button"]):not([class*="vc_btn"]):hover,
#content-body p a:not([class*="button"]):not([class*="vc_btn"]):focus,
#content-body li a:not([class*="button"]):not([class*="vc_btn"]):hover,
#content-body li a:not([class*="button"]):not([class*="vc_btn"]):focus,
#content-body td a:not([class*="button"]):not([class*="vc_btn"]):hover,
#content-body td a:not([class*="button"]):not([class*="vc_btn"]):focus,
.iconlist-item-content a:hover,
.iconlist-item-content a:focus,
.breadcrumbs a:hover,
.breadcrumbs a:focus,
a.home:hover,
a.home:focus,
.vc_tta-panel-title a:hover,
.vc_toggle_title:hover {
  color: #34BEB9 !important;
  text-decoration: underline !important;
}

/* Buttons keep their own hover treatment — no underline, slight lift */
#content-body a[class*="button"]:hover,
#content-body a[class*="vc_btn"]:hover {
  text-decoration: none !important;
  filter: brightness(0.92);
}

/* Footer links need hover feedback too */
.footer-aside-wrap a:hover,
.footer-aside-wrap a:focus,
#simple-banner .simple-banner-text a:hover {
  text-decoration: underline !important;
}

/* --- 10. Blank placeholder thumbnails ---------------------------------
   The theme outputs blank-image.png in related-post lists for posts with
   no featured image. 99 of them across 33 pages, all without an alt
   attribute (theme-generated, so alt cannot be added from here).
   They convey nothing, so hiding them fixes the accessibility issue and
   removes visual clutter. Real fix long-term: add featured images. ----- */
.post-image img[src*="blank-image"],
.list-posts .post-image img[src*="blank-image"] { display: none !important; }
.list-posts .post-image:not(:has(img:not([src*="blank-image"]))) { display: none !important; }
