/* THERMOCON service bar. All rules belong to this component. No external assets. */
.tc-service-nav,.tc-service-dialog,.tc-service-header-finder{--tc-ink:#143c43;--tc-muted:#46646b;--tc-petrol:#006778;--tc-soft:#eef6f6;--tc-line:#d8e5e7;font-family:inherit;color:var(--tc-ink);box-sizing:border-box}
.tc-service-nav *,.tc-service-dialog *{box-sizing:border-box}
.tc-service-nav[hidden],.tc-service-slot[hidden]{display:none!important}
.tc-service-icon{width:24px;height:24px;flex:0 0 auto;fill:none;stroke:currentColor;vertical-align:middle;pointer-events:none}
.tc-service-nav .tc-service-action,.tc-service-header-finder{display:flex;align-items:center;justify-content:center;gap:9px;min-width:44px;min-height:48px;padding:10px;border:0;border-radius:9px;background:transparent;color:var(--tc-ink);font:600 13px/1.35 inherit;font-family:inherit;font-size:13px;font-weight:600;line-height:1.35;text-align:center;text-decoration:none;box-shadow:none;white-space:normal;touch-action:manipulation}
.tc-service-nav .tc-service-action:hover,.tc-service-header-finder:hover{background:var(--tc-soft);color:var(--tc-petrol);text-decoration:none}
.tc-service-label,.tc-service-nav .tc-inquiry-label{min-width:0;max-width:100%;overflow-wrap:break-word;hyphens:auto}
.tc-service-nav a:focus-visible,.tc-service-header-finder:focus-visible,.tc-service-dialog a:focus-visible,.tc-service-dialog button:focus-visible{outline:3px solid #006778;outline-offset:3px}
.tc-service-nav .tc-service-action:focus-visible{outline-offset:-3px}
.tc-service-nav .tc-inquiry-icon{position:relative;display:inline-flex;flex:0 0 auto;color:inherit}
.tc-service-nav .tc-inquiry-icon svg{width:24px;height:24px;fill:none;stroke:currentColor}
.tc-service-nav .tc-inquiry-count{position:absolute;inset:auto -10px auto auto;top:-9px;display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;border:2px solid #fff;border-radius:12px;background:#006778;color:#fff;font-family:inherit;font-size:10px;font-weight:700;line-height:1;white-space:nowrap}
.tc-service-nav .tc-inquiry-count[hidden]{display:none!important}
.tc-service-nav .tc-inquiry-link:has(.tc-inquiry-count:not([hidden])){background:#e9f4f5;color:#006778}
.tc-service-slot{width:100%;flex:0 0 100%;border-top:1px solid #e1ebed;border-bottom:1px solid #d8e5e7;background:#fff}
.tc-service-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 48px;align-items:stretch;gap:5px;max-width:740px;margin:0 auto;padding:5px 16px;background:#fff}
.tc-service-compact .tc-service-action.tc-inquiry-link{width:auto!important;flex-direction:row;min-width:0}
.tc-service-compact .tc-service-top .tc-service-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.tc-service-compact .tc-service-top{border-inline-start:1px solid #d8e5e7;border-radius:0;color:#46646b;padding:8px}
.tc-service-header-finder{display:none;flex:0 0 auto;font-size:14px;max-width:155px}
.tc-service-header-finder .tc-service-icon{width:20px;height:20px}
.tc-service-rail{position:fixed;inset-inline-end:16px;top:calc(var(--tc-service-admin,0px) + 16px);bottom:80px;margin-block:auto;transform:none;display:flex;flex-direction:column;width:108px;height:max-content;max-height:calc(100dvh - var(--tc-service-admin,0px) - 96px);padding:5px;border:1px solid #d8e5e7;border-radius:17px;background:#fff;box-shadow:0 8px 30px #143c431a;z-index:980;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.tc-service-rail[hidden]{display:flex!important;visibility:hidden;pointer-events:none;opacity:0}
.tc-service-rail .tc-service-action{flex:0 0 auto;flex-direction:column;gap:7px;width:100%;min-height:82px;padding:12px 4px;font-size:12px;line-height:1.35}
.tc-service-rail .tc-service-top{min-height:67px;margin-top:5px;padding-top:13px;border-top:1px solid #e1ebed;border-radius:0 0 10px 10px;color:#46646b;font-size:11px}
.tc-service-rail .tc-service-top .tc-service-icon{width:20px;height:20px}
/* Keep section backgrounds full bleed. Only their inner content receives
   room for the 108px rail, its 16px outer offset and 24px content clearance. */
@media(min-width:1025px){
 body.tc-service-enabled #content .elementor:not(.elementor .elementor)>:is(.e-con,.elementor-top-section),
 body.tc-service-enabled #content .elementor:not(.elementor .elementor)>.elementor-section-wrap>.elementor-top-section,
 body.tc-service-enabled .elementor-location-footer>:is(.e-con,.elementor-top-section),
 body.tc-service-enabled .elementor-location-footer>.elementor-section-wrap>.elementor-top-section{padding-inline-end:max(148px,var(--padding-right,0px),var(--padding-inline-end,0px))!important}
 body.tc-service-enabled #primary:not(:has(.elementor)){padding-inline-end:148px;box-sizing:border-box}
 .tc-service-slot{display:none}
 .tc-service-header-finder{display:flex}
}
/* The added Finder shortcut must not crowd the native desktop menu. */
@media(min-width:1025px) and (max-width:1599px){
 body.tc-service-enabled .tc-service-header-finder{display:none!important}
}
@media(max-width:1024px){
 .elementor-location-header:has(.tc-service-slot) .tc-inquiry-actions{display:none!important}
 .elementor-location-header:has(.tc-service-slot) .elementor-widget-woocommerce-menu-cart{display:none!important}
}
@media(min-width:1025px) and (max-height:600px){
 .tc-service-rail .tc-service-action{min-height:58px;padding:7px 4px;gap:4px}
 .tc-service-rail .tc-service-top{min-height:49px;padding-top:8px;margin-top:3px}
}
body.tc-service-compact-mode .tc-service-slot{display:block}
body.tc-service-compact-mode .tc-service-header .tc-inquiry-actions,body.tc-service-compact-mode .tc-service-header .elementor-widget-woocommerce-menu-cart{display:none!important}
body.tc-service-compact-mode .tc-service-header{position:sticky;top:var(--tc-service-admin,0px);z-index:990;background:#fff}
body.tc-service-rail-mode .tc-service-slot{display:none}
body.tc-service-rail-mode .tc-service-header .tc-inquiry-actions{display:inline-flex!important}
body.tc-service-rail-mode .tc-service-header-finder{display:flex}
body.tc-service-short .tc-service-header{position:relative!important;top:auto!important}
body.tc-service-short .tc-service-slot{min-height:var(--tc-service-row-height,58px)}
.tc-service-compact.is-pinned{position:fixed;inset-inline:0;top:var(--tc-service-admin,0px);max-width:none;width:100%;z-index:991;border-bottom:1px solid #d8e5e7;box-shadow:0 3px 10px #143c4310}
html.tc-service-page{scrollbar-gutter:stable}
.tc-service-anchor-target{scroll-margin-top:calc(var(--tc-service-offset,0px) + 20px)}
body.tc-service-modal-open{overflow:hidden}
.tc-service-dialog{position:fixed;inset:0;width:660px;max-width:calc(100% - 32px);max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #d8e5e7;border-radius:20px;background:#fff;color:#143c43;box-shadow:0 25px 90px #143c4333;overflow:hidden;overscroll-behavior:contain}
.tc-service-dialog:not([open]){display:none}
.tc-service-dialog[open]{display:flex;flex-direction:column}
.tc-service-dialog::backdrop{background:#12394173}
.tc-service-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:26px 28px 22px;border-bottom:1px solid #e1ebed;flex:0 0 auto}
.tc-service-dialog .tc-service-eyebrow{margin:0 0 11px;color:#006778;font-size:10px;font-weight:700;line-height:1.4;letter-spacing:1.8px}
.tc-service-dialog h2{margin:0;color:#143c43;font-size:27px;font-weight:700;line-height:1.2;letter-spacing:-.6px;overflow-wrap:break-word}
.tc-service-dialog h2:focus{outline:0}
.tc-service-dialog .tc-service-intro{margin:12px 0 0;color:#46646b;font-size:14px;line-height:1.65}
.tc-service-close{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;color:#143c43;background:#eef6f6;cursor:pointer;touch-action:manipulation}
.tc-service-close:hover{background:#dfeef0;color:#006778}
.tc-service-dialog-body{min-height:0;overflow:auto;padding:22px 28px;overscroll-behavior:contain;scroll-padding-block:12px}
.tc-service-category{display:flex;gap:15px;margin:0 0 13px;padding:18px;border:1px solid #d8e5e7;border-radius:13px;background:#fff}
.tc-service-category:last-child{margin-bottom:0}
.tc-service-category-icon{display:flex;align-items:center;justify-content:center;flex:0 0 43px;height:43px;border-radius:11px;background:#eef6f6;color:#006778}
.tc-service-category-copy{flex:1;min-width:0}
.tc-service-dialog h3{margin:0;color:#143c43;font-size:17px;font-weight:700;line-height:1.4;overflow-wrap:break-word}
.tc-service-category-copy>p{margin:7px 0 9px;color:#46646b;font-size:12px;line-height:1.7}
.tc-service-category-links{display:flex;flex-direction:column;align-items:stretch;gap:2px}
.tc-service-category-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0;color:#006778;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;overflow-wrap:break-word}
.tc-service-category-links a:hover span{text-decoration:underline;text-underline-offset:3px}
.tc-service-category-links a .tc-service-icon{width:18px;height:18px}
.tc-service-category-links a+a{border-top:1px solid #e8eff0}
.tc-service-dialog-foot{padding:17px 28px 20px;flex:0 0 auto;background:#f6f9f9;border-top:1px solid #d8e5e7}
.tc-service-dialog-foot>p{margin:0 0 5px;color:#46646b;font-size:12px;line-height:1.5}
.tc-service-advice{display:inline-flex;align-items:center;gap:9px;min-height:44px;color:#006778;font-size:14px;font-weight:600;text-decoration:none}
.tc-service-advice:hover{text-decoration:underline;color:#004d5a}
.tc-service-team{margin:0 0 16px;color:#46646b;font-size:13px;line-height:1.6}
.tc-service-contact-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}
.tc-service-contact-methods a{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px;border:1px solid #d8e5e7;border-radius:12px;background:#fff;color:#006778;text-decoration:none}
.tc-service-contact-methods a:hover{background:#eef6f6}
.tc-service-contact-methods strong{color:#143c43;font-size:14px;line-height:1.4}
.tc-service-contact-methods a>span{color:#46646b;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.tc-service-primary{display:flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:13px 18px;border:1px solid #006778;border-radius:10px;background:#006778;color:#fff!important;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none!important;text-align:center}
.tc-service-primary:hover{background:#004d5a;border-color:#004d5a}
@media(max-width:767px){
 .tc-service-compact{grid-template-columns:repeat(3,minmax(0,1fr)) 44px;gap:2px;padding:5px 10px}
 .tc-service-compact .tc-service-action,.tc-service-compact .tc-service-action.tc-inquiry-link{flex-direction:column;gap:4px;min-height:65px;padding:6px 3px;font-size:12px;line-height:1.25}
 .tc-service-compact .tc-service-icon,.tc-service-compact .tc-inquiry-icon svg{width:21px;height:21px}
 .tc-service-compact .tc-service-top{min-height:44px;align-self:stretch}
 .tc-service-dialog{max-width:calc(100% - 20px);border-radius:16px}
 .tc-service-dialog-head{padding:20px 18px 17px;gap:10px}
 .tc-service-dialog h2{font-size:23px}
 .tc-service-dialog .tc-service-intro{font-size:13px}
 .tc-service-dialog-body{padding:17px 18px}
 .tc-service-dialog-foot{padding:15px 18px}
 .tc-service-category{gap:11px;padding:14px 12px}
 .tc-service-category-icon{flex-basis:34px;height:34px;border-radius:9px}
 .tc-service-category-icon .tc-service-icon{width:20px;height:20px}
 .tc-service-dialog h3{font-size:16px}
 .tc-service-contact-methods{grid-template-columns:1fr}
 .tc-service-contact-methods a{display:grid;grid-template-columns:24px 1fr;column-gap:12px;row-gap:5px;padding:16px}
 .tc-service-contact-methods a .tc-service-icon{grid-row:1/3}
 .tc-service-contact-methods a>span{grid-column:2}
 .elementor-location-header:has(.tc-service-slot) .elementor-element-c46e987 .elementor-element-5cceecf{display:none}
 .elementor-location-header:has(.tc-service-slot) .elementor-element-c46e987 .elementor-element-b758427{flex:1 1 auto;width:auto;max-width:none}
}
@media(max-height:500px){
 .tc-service-dialog[open]{display:block;overflow:auto}
 .tc-service-dialog-body{overflow:visible}
 .tc-service-dialog-head{padding-block:17px}
}
@media(prefers-reduced-motion:no-preference){
 .tc-service-nav a,.tc-service-dialog a,.tc-service-close{transition:background-color .15s,color .15s}
}
@media(forced-colors:active){
 .tc-service-nav,.tc-service-category,.tc-service-contact-methods a{border:1px solid ButtonText}
 .tc-service-primary{background:ButtonFace;color:ButtonText!important;border-color:ButtonText}
}
@media print{.tc-service-nav,.tc-service-slot,.tc-service-dialog,.tc-service-header-finder{display:none!important}}
