/* Essentials repairs, scoped to the existing X header. */
.tcc-essential-header { position:relative; z-index:1030; }
.tcc-essential-header .tcc-contactbar { display:flex; justify-content:flex-end; align-items:center; gap:14px; grid-column:2; grid-row:1; }
.tcc-contactbar .tcc-contact-button { display:inline-flex; justify-content:center; align-items:center; gap:12px; min-height:56px; padding:12px 24px; border:2px solid #007c3a; border-radius:7px; font:700 18px/1.3 Arial,sans-serif; text-decoration:none; white-space:nowrap; transition:background-color .15s ease,border-color .15s ease,color .15s ease; }
.tcc-contactbar .tcc-contact-phone { background:#fff; color:#006a32; }
.tcc-contactbar .tcc-contact-phone:hover { background:#e2efe6; color:#005b2b; border-color:#005b2b; }
.tcc-contactbar .tcc-contact-quote { background:#007c3a; color:#fff; box-shadow:0 3px 8px #1537251a; }
.tcc-contactbar .tcc-contact-quote:hover { background:#005f2d; border-color:#005f2d; color:#fff; }
.tcc-contactbar .tcc-contact-button:active { transform:translateY(1px); }
.tcc-contact-phone svg { width:22px; height:22px; flex:none; }
.tcc-contact-arrow { font-size:24px; line-height:1; }
.tcc-essential-header .x-navbar-wrap { height:auto !important; }
.tcc-essential-header .x-navbar { background:#fff; border-bottom:1px solid #e5ece7; box-shadow:none; }
.tcc-essential-header .x-navbar-inner { min-height:98px; }
.tcc-essential-header .x-navbar-inner > .x-container { display:grid; grid-template-columns:230px minmax(0,1fr); align-items:center; min-height:98px; gap:8px 24px; padding-top:18px; padding-bottom:18px; }
/* Prevent X's important clearfix rules from creating an empty grid row. */
.tcc-essential-header .x-navbar-inner > .x-container::before,.tcc-essential-header .x-navbar-inner > .x-container::after { content:none !important; display:none !important; }
.tcc-essential-header .x-brand { float:none; margin:0; grid-column:1; grid-row:1 / span 2; }
.tcc-essential-header .x-brand img { width:230px; max-width:100%; }
.tcc-primary-navigation { margin-left:auto; grid-column:2; grid-row:2; }
.tcc-menu,.tcc-menu .sub-menu { list-style:none; margin:0; padding:0; }
.tcc-menu { display:flex; align-items:center; gap:6px; }
.tcc-menu > li { position:relative; margin:0; }
.tcc-menu a,.tcc-submenu-toggle { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:46px; padding:10px 14px; border:0; border-radius:4px; background:transparent; color:#195636; font:600 16px/1.4 Arial,sans-serif; text-decoration:none; text-shadow:none; box-shadow:none; cursor:pointer; }
.tcc-menu-chevron { display:block; width:16px; height:16px; flex:none; }
.tcc-menu a:hover,.tcc-submenu-toggle:hover,.tcc-submenu-toggle[aria-expanded="true"] { background:#edf6f0; color:#005f2e; }
.tcc-menu > .current-menu-item > a,.tcc-menu > .current-menu-ancestor > .tcc-submenu-toggle { color:#006e34; text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:2px; }
.tcc-essential-header a:focus-visible,.tcc-essential-header button:focus-visible { outline:3px solid #e69c21; outline-offset:3px; }
.tcc-menu .sub-menu { display:none; position:absolute; top:100%; left:0; right:auto; width:260px; min-width:260px; padding:8px; border:1px solid #e1e9e3; border-radius:6px; background:#fff; box-shadow:0 10px 28px #15372524; z-index:10; }
.tcc-menu .sub-menu li { margin:0; }
.tcc-menu .sub-menu a { min-height:46px; font-size:15px; }
.tcc-menu li.tcc-submenu-open > .sub-menu { display:block; }
.tcc-menu-toggle { display:none; align-items:center; gap:10px; min-height:46px; padding:10px 14px; border:1px solid #c9dbd0; border-radius:5px; background:#fff; color:#006e34; font:600 16px/1.4 Arial,sans-serif; cursor:pointer; }
.tcc-menu-icon { display:block; width:24px; height:24px; flex:none; }
@media(max-width:999px) {
 /* X's saved navbar colour is emitted inline with !important. */
 .tcc-essential-header .x-navbar { background-color:#007c3a !important; border-bottom-color:#006a32; }
 .tcc-essential-header .x-navbar-inner,.tcc-essential-header .x-navbar-inner > .x-container { min-height:86px; }
 .tcc-essential-header .x-navbar-inner > .x-container { grid-template-columns:minmax(0,1fr) auto; gap:12px 16px; padding-top:12px; padding-bottom:12px; }
 .tcc-essential-header .x-brand { width:140px; max-width:100%; grid-column:1; grid-row:1; }
 .tcc-essential-header .x-brand img { display:block; width:140px; }
 .tcc-essential-header .tcc-contactbar { grid-column:1 / -1; grid-row:2; }
 .tcc-contactbar .tcc-contact-phone { background:transparent; border-color:#fff; color:#fff; }
 .tcc-contactbar .tcc-contact-phone:hover { background:#006a32; border-color:#fff; color:#fff; }
 .tcc-contactbar .tcc-contact-quote { background:#fff; border-color:#fff; color:#006a32; }
 .tcc-contactbar .tcc-contact-quote:hover { background:#e2efe6; border-color:#e2efe6; color:#005b2b; }
 .tcc-menu-toggle { display:inline-flex; justify-content:center; width:48px; height:48px; padding:10px; border-color:#ffffff80; background:transparent; color:#fff; grid-column:2; grid-row:1; }
 .tcc-menu-toggle:hover { background:#006a32; border-color:#fff; }
 .tcc-primary-navigation { display:none; width:100%; margin:0; padding:8px; background:#fff; border-radius:5px; grid-column:1 / -1; grid-row:3; }
 .tcc-primary-navigation.tcc-menu-open { display:block; }
 .tcc-menu { display:block; }
 .tcc-menu a,.tcc-submenu-toggle { width:100%; min-height:48px; text-align:left; }
 .tcc-submenu-toggle { align-items:center; }
 .tcc-submenu-toggle .tcc-menu-chevron { align-self:center; margin:0; }
 .tcc-menu .sub-menu { position:static; width:calc(100% - 14px); min-width:0; border:0; border-left:2px solid #cfe3d5; border-radius:0; padding:0 0 0 12px; margin:4px 0 12px 14px; box-shadow:none; }
}
@media(max-width:599px) {
 .tcc-essential-header .tcc-contactbar { gap:10px; }
 .tcc-contactbar .tcc-contact-button { flex:1 1 0; min-width:0; min-height:52px; padding:10px 12px; gap:8px; font-size:14px; }
 .tcc-contact-phone svg { width:18px; height:18px; }
 .tcc-contact-arrow { font-size:20px; }
 .tcc-call-label { display:none; }
}
@media(max-width:359px) {
 .tcc-essential-header .tcc-contactbar { flex-direction:column; }
 .tcc-contactbar .tcc-contact-button { width:100%; flex-basis:auto; font-size:16px; }
 .tcc-call-label { display:inline; }
}
.page-id-192 h3[id] { scroll-margin-top:32px; }
/* Footer links stay editable through the existing WordPress menus and widgets. */
.x-colophon.top { padding:44px 0; }
.x-colophon.top > .x-container { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; }
.x-colophon.top > .x-container::before,.x-colophon.top > .x-container::after { content:none !important; display:none !important; }
.x-colophon.top .x-column { float:none; width:auto; min-width:0; margin:0; }
.x-colophon.top .widget { margin:0; }
.x-colophon.top .h-widget { margin:0 0 16px; color:#fff; font-size:22px; line-height:1.3; }
.x-colophon.top .widget_nav_menu ul,.x-colophon.top .widget_nav_menu li { border:0; box-shadow:none; }
.x-colophon.top .widget_nav_menu li { display:flex; align-items:center; min-height:44px; }
.x-colophon.top .widget_nav_menu a { display:inline; width:auto; min-height:0; padding:0; font-size:16px; line-height:1.5; }
.x-colophon.top .widget_nav_menu .x-framework-icon { display:none; }
.x-colophon.top a { color:#f0f5f1; }
.x-colophon.top a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.x-colophon.top .textwidget p { display:flex; align-items:center; min-height:44px; margin:0; }
.x-colophon.top .textwidget a:not(.tcc-footer-quote) { display:inline-flex; align-items:center; gap:8px; min-height:0; padding:0; font-size:16px; line-height:1.5; }
.x-colophon.top .tcc-footer-quote-note { margin:0 0 16px; color:#f0f5f1; font-size:16px; line-height:1.5; }
.x-colophon.top .tcc-footer-quote { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:52px; padding:12px 16px; border:2px solid #007c3a; border-radius:7px; background:#007c3a; color:#fff; font:700 16px/1.4 Arial,sans-serif; text-decoration:none; }
.x-colophon.top .tcc-footer-quote:hover { background:#005f2d; border-color:#005f2d; text-decoration:none; }
.x-colophon a:focus-visible { outline:3px solid #e69c21; outline-offset:4px; }
.x-colophon.bottom { padding:24px 0; }
@media(max-width:999px) { .x-colophon.top > .x-container { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; } }
@media(max-width:599px) { .x-colophon.top > .x-container { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .tcc-essential-header * { scroll-behavior:auto; transition:none; } }
