/* 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}

/* site footer redesign (2026-10-04): own block, subtle background, 2-col link grid on mobile, one row on desktop, 48px targets, AA contrast */
html body #t3-footer.hom-site-footer{background:#eef3f7 !important;color:#33475b !important;border-top:1px solid #d3dde7;margin:24px 0 0 !important;padding:28px 0 24px !important;clear:both}
html body #t3-footer.hom-site-footer .hom-site-footer__inner{padding-left:20px !important;padding-right:20px !important;max-width:1000px;text-align:center}
html body .hom-site-footer .hom-site-footer__links{list-style:none;margin:0 0 18px !important;padding:0 !important;display:grid;grid-template-columns:1fr 1fr;gap:10px}
html body .hom-site-footer .hom-site-footer__links > li{margin:0 !important;padding:0 !important;float:none;list-style:none}
html body .hom-site-footer .hom-site-footer__links > li::before{content:none !important}
html body .hom-site-footer .hom-site-footer__wide{grid-column:1 / -1}
html body .hom-site-footer .hom-site-footer__links a{display:flex !important;align-items:center;justify-content:center;min-height:48px;padding:0 16px !important;background:#fff;border:1px solid #c5d2de;border-radius:10px;color:#12385e !important;font-size:16px !important;font-weight:600;line-height:1.25;text-decoration:none !important;text-align:center}
html body .hom-site-footer .hom-site-footer__links a:hover,html body .hom-site-footer .hom-site-footer__links a:focus{border-color:#1e7d3a;color:#0d2c4a !important;text-decoration:underline !important}
html body .hom-site-footer .hom-site-footer__links a:focus-visible,html body .hom-site-footer__disclosure a:focus-visible{outline:3px solid #1e7d3a;outline-offset:2px}
html body .hom-site-footer p.hom-site-footer__disclosure{text-align:center !important;margin:0 auto 6px !important;max-width:640px;font-size:15px !important;line-height:1.5 !important;color:#33475b !important}
html body .hom-site-footer .hom-site-footer__disclosure a{color:#0b4f8a !important;text-decoration:underline !important;font-weight:600;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 10px;margin-top:2px}
html body .hom-site-footer p.hom-site-footer__copy{text-align:center !important;margin:0 !important;font-size:14px !important;line-height:1.5 !important;color:#4a5b6c !important}
@media (min-width:768px){
 html body .hom-site-footer .hom-site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
 html body .hom-site-footer .hom-site-footer__links a{padding:0 22px !important}
 html body #t3-footer.hom-site-footer{padding:32px 0 28px !important}
}
/* back-to-top: 48px round button bottom-right, hidden at the very top; hom-ux.js lifts it above the footer */
html body #back-to-top{position:fixed !important;right:16px !important;left:auto !important;top:auto !important;bottom:16px;width:auto !important;height:auto;z-index:20;margin:0;padding:0}
html body #back-to-top.affix-top{opacity:0;pointer-events:none}
html body #back-to-top{transition:opacity .2s}
html body #back-to-top .btn-primary{width:48px;height:48px;padding:0 !important;border-radius:50% !important;background:#1e7d3a !important;color:#fff !important;font-size:20px;line-height:48px;box-shadow:0 2px 8px rgba(0,0,0,.2)}

/* side boxes above the footer (Top Insurers / guides, 2026-10-04): side spacing on mobile like footer/content, rounded box, consistent padding; chips >=48px at all widths */
html body .ts-main-bottom .t3-module.module.companies-badges ul.nav.nav-pills.nav-stacked.menu > li > a{min-height:48px !important;padding:0 16px !important;line-height:1.25 !important}
@media (max-width:767px){
 html body .ts-main-bottom .t3-module.module.companies-badges{width:auto !important;max-width:none !important;margin:14px 16px 18px !important}
 html body .ts-main-bottom .t3-module.module.companies-badges .module-inner{padding:18px 16px !important;border-radius:12px !important}
 html body .ts-main-bottom .t3-module.module.companies-badges ul.nav.nav-pills.nav-stacked.menu > li > a{font-size:15px !important;white-space:normal !important;text-align:center !important;max-width:100%}
}
