/* grokbot 2026-10-04 (stage 2, #7): HOM usability layer, loaded (versioned) by tpls/blocks/head.php */
/* One CTA style: green with white text (contrast 5.2:1), 48px touch target */
html body #t3-content form button[type=submit],html body #t3-content form input[type=submit],
html body form:has(input[name=zipcode]) button[type=submit],html body form:has(input[name=zipcode]) input[type=submit],
html body .btn-quote,html body .hom-cta{background:#1e7d3a !important;background-image:none !important;border:1px solid #1e7d3a !important;color:#fff !important;
 min-height:48px !important;height:auto !important;padding:12px 20px !important;font-size:17px !important;font-weight:700 !important;line-height:1.2 !important;
 border-radius:6px !important;text-shadow:none !important;box-shadow:none !important;cursor:pointer}
html body #t3-content form button[type=submit]:hover,html body form:has(input[name=zipcode]) button[type=submit]:hover,html body .btn-quote:hover,html body .hom-cta:hover,
html body #t3-content form button[type=submit]:focus,html body .btn-quote:focus,html body .hom-cta:focus{background:#17642e !important;border-color:#17642e !important;color:#fff !important}
html body form button[type=submit]:focus-visible,html body form input[name=zipcode]:focus-visible{outline:3px solid #0b3d1a !important;outline-offset:2px}
/* ZIP inputs: 48px, 17px text (no iOS zoom) */
html body form input[name=zipcode]{min-height:48px !important;height:auto !important;font-size:17px !important;padding:10px 12px !important;box-sizing:border-box !important}
/* ZIP bar under the H1 */
.hom-zipbar{background:#f1f7f2;border:1px solid #cfe3d3;border-radius:10px;padding:14px 16px;margin:14px 0 22px;max-width:680px}
.hom-zipbar form{margin:0}
.hom-zipbar__label{display:block;font-weight:700;font-size:18px;line-height:1.3;color:#12324d;margin:0 0 8px}
.hom-zipbar__row{display:flex;flex-wrap:wrap;gap:10px}
html body .hom-zipbar input[name=zipcode]{flex:1 1 180px;min-width:0;width:auto;margin:0;border:1px solid #8fa598;border-radius:6px;background:#fff;color:#1c1c1c}
.hom-zipbar .hom-cta{flex:0 0 auto}
html body .hom-zipbar__note{font-size:14px;line-height:1.4;color:#4a5560;margin:8px 0 0}
/* tables scroll inside their own box instead of widening the page */
.hom-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 16px}
.hom-table-wrap:focus-visible{outline:2px solid #1e7d3a;outline-offset:2px}
.hom-table-wrap > table{margin-bottom:0}
html body #t3-content img{max-width:100%;height:auto}
@media (max-width:767px){
 /* reclaim side space: body and wrapper each added 15px per side */
 html body{padding-left:0 !important;padding-right:0 !important}
 html body .t3-wrapper{padding-left:0 !important;padding-right:0 !important}
 #t3-header{margin-bottom:0 !important}
 /* sections whose .container has no side padding: keep their .row (-15px margins) inside the viewport */
 html body .t3-wrapper .ts-main-bottom > .container,html body .t3-wrapper .section-padding > .container{padding-left:15px !important;padding-right:15px !important}
 #t3-header .logo{padding-top:8px !important}
 /* header link list: one swipeable row of 48px chips instead of a tall stacked list */
 #t3-header .header-right{padding-top:4px !important}
 #t3-header .header-right,#t3-header .header-right .languageswitcherload{display:block !important;float:none !important;width:100% !important;max-width:100% !important;min-width:0}
 #t3-header .header-right ul.menu{display:flex !important;width:100%;max-width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;margin:0;padding:2px 0 8px !important}
 #t3-header .header-right ul.menu > li{flex:0 0 auto;float:none;margin:0}
 #t3-header .header-right ul.menu > li > a{display:flex !important;align-items:center;min-height:48px;padding:0 14px !important;border:1px solid #c9d3de;border-radius:24px;white-space:nowrap;background:#fff}
 /* readable heading size on phones */
 html body #t3-content h1,html body .page-header h1.page-title{font-size:28px !important;line-height:1.2 !important;margin-top:8px !important}
 .hom-zipbar{padding:12px}
 .hom-zipbar .hom-cta{flex:1 1 100%}
}
/* off-canvas menu: 48px close button and menu rows */
html body .t3-off-canvas .t3-off-canvas-header .close{width:48px !important;height:48px !important;font-size:26px !important;line-height:44px !important;opacity:.85}
html body .t3-off-canvas .t3-off-canvas-body .nav > li > a{display:flex !important;align-items:center;min-height:48px;padding-top:0 !important;padding-bottom:0 !important}
/* readable small print: form notes and disclosures at least 14px, table text 15px */
html body #t3-content [class$="-form-note"],html body #t3-content [class*="-disclosure"]{font-size:14px !important;line-height:1.45 !important}
html body #t3-content .hom-table-wrap td,html body #t3-content .hom-table-wrap th{font-size:15px !important;line-height:1.45}
/* stage 2 usability pass: desktop header chips >=48px tap height, home hero disclosure readable */
@media (min-width:768px){html body #t3-header .header-right .languageswitcherload > ul.nav.nav-pills.nav-stacked.menu > li > a{min-height:48px !important;padding:0 14px !important}}
html body #t3-content .home-main-page .home-main-hero > p.home-main-disclosure,html body .article-content .home-main-page .home-main-hero > p.home-main-disclosure,html body p.home-main-disclosure.home-main-disclosure{font-size:14px !important;line-height:1.45 !important}
