/* halemarine2 - main stylesheet (theme-core). Based on the approved v2 mockup (hybrid.html base CSS). */
:root{--navy:#002B66;--navy2:#0a3d86;--sky:#dbe6f3;--sky2:#eef3f9;--ink:#1b2230;--mute:#5b6576;--line:#d9dee7;--page:#e9ecf1;--red:#d62b2b;--green:#2f6b3a;--greenbg:#e4f1e6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.45}
a{color:var(--navy);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
h1,h2,h3,h4{line-height:1.2}
h1{font-size:30px;color:var(--navy);margin:4px 0 10px}
h2{font-size:22px;color:var(--navy);margin:22px 0 10px}
h3{font-size:18px;color:var(--navy)}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:8px 12px;z-index:100;font-weight:700}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid #f0a500;outline-offset:2px}
.ico{display:inline-block;vertical-align:-3px;flex:none}

/* page frame */
.hm-page{max-width:1200px;margin:20px auto;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,20,60,.12);overflow:hidden}
.hm-main{display:block;padding:0 0 26px;min-height:300px}
.hm-main>.centerColumn,.hm-main>.pad{padding:16px 28px 0}
.hm-main>.centerColumn.hm-home,.hm-main>.centerColumn.hm-full{padding:0}

/* header */
.hdr{display:flex;justify-content:space-between;align-items:center;padding:16px 28px;border-bottom:4px solid var(--navy);flex-wrap:wrap;gap:12px}
.logo{display:flex;align-items:center;gap:10px;color:var(--navy)}
.logo:hover{text-decoration:none}
.wm{line-height:1;display:block}.wm .n{display:block;font-size:34px;letter-spacing:-.5px;color:var(--navy)}.wm .n b{font-weight:800}.wm .n span{font-weight:400}
.wm .t{display:block;font-style:italic;font-size:13px;color:var(--navy);margin-top:3px}
.hdr .right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ytb{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--mute);font-weight:600}
.ytb i{background:var(--red);color:#fff;font-style:normal;border-radius:5px;padding:1px 7px;font-size:11px}
.acct{display:flex;align-items:center;gap:5px;font-weight:600;font-size:14.5px;color:var(--navy)}
.acct.lo{color:var(--mute);font-weight:400}
.cart{display:flex;align-items:center;gap:6px;color:var(--navy);font-weight:700;background:var(--sky2);padding:10px 14px;border-radius:6px}
.phone{background:var(--navy);color:#fff;padding:9px 16px;border-radius:6px;font-weight:700;font-size:18px;line-height:1.2}
.phone:hover,.cart:hover{text-decoration:none;filter:brightness(1.08)}
.phone small{display:block;font-weight:600;font-size:12px;opacity:.9;letter-spacing:.3px}
nav.main{background:var(--navy);display:flex;gap:2px;padding:0 20px;flex-wrap:wrap}
nav.main a{color:#fff;padding:12px 14px;font-weight:600;font-size:15px}
nav.main a:hover{background:var(--navy2);text-decoration:none}
nav.main a.on{background:var(--navy2);box-shadow:inset 0 -3px 0 #8fb3e6}
.topsrch{display:flex;margin:14px 28px 0;border:2px solid var(--navy);border-radius:8px;overflow:hidden;max-width:640px}
.topsrch input{flex:1;min-width:0;border:0;padding:10px 14px;font-size:16px;font-family:inherit;outline:none;background:#fff}
.topsrch button{background:var(--navy);color:#fff;border:0;font-weight:700;font-size:15px;padding:0 16px;font-family:inherit;display:flex;align-items:center;gap:6px;cursor:pointer}
.hm-alerts{padding:8px 28px}
.crumbs{padding:14px 28px 0;font-size:14px;color:var(--mute)}
.crumbs a{color:var(--navy);font-weight:600}
.crumbs .sep{margin:0 4px;color:#9aa3b2}

/* checkout steps */
.steps{display:flex;margin:16px 28px 0;padding:0;list-style:none;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.steps li{flex:1;padding:10px;text-align:center;font-weight:700;color:var(--mute);background:#fafbfd;font-size:14px}
.steps li span{display:inline-block;width:22px;height:22px;line-height:22px;border-radius:50%;background:var(--line);color:var(--ink);font-size:12px;margin-right:4px}
.steps li.on{background:var(--navy);color:#fff}.steps li.on span{background:#fff;color:var(--navy)}
.steps li.done{color:var(--green)}.steps li.done span{background:var(--greenbg);color:var(--green)}

/* footer */
.hm-foot{background:var(--navy);color:#cfd9ea;padding:24px 28px 18px;font-size:14.5px}
.hm-foot .fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:20px}
.hm-foot .fh{display:block;color:#fff;font-size:15px;margin-bottom:8px}
.hm-foot p{margin:0 0 8px;line-height:1.5}
.hm-foot a{color:#fff}
.hm-foot .fc>a{display:block;padding:3px 0}
.hm-foot .fyt i{background:var(--red);color:#fff;font-style:normal;border-radius:5px;padding:0 6px;font-size:11px}
.hm-foot .flegal{border-top:1px solid rgba(255,255,255,.18);margin-top:18px;padding-top:12px;font-size:13px;color:#aebcd3}

/* buttons */
.btn,.add,.buy{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;border-radius:6px;border:0;font-family:inherit;cursor:pointer;text-decoration:none}
.btn{padding:12px 20px;font-size:16px}
.btn.navy,.add,.buy{background:var(--navy);color:#fff}
.btn.light{background:var(--sky2);color:var(--navy);border:1px solid var(--line)}
.btn:hover,.add:hover,.buy:hover{text-decoration:none;filter:brightness(1.12)}
.add{padding:7px 14px;font-size:13.5px;white-space:nowrap;border-radius:4px}
.add.alt,.buy.alt{background:#fff;color:var(--navy);border:2px solid var(--navy)}
.add.alt{padding:5px 12px}
.buy{padding:9px;font-size:14.5px;margin-top:6px}

/* video thumbnails */
.vid{position:relative;display:block;border-radius:8px;overflow:hidden;background:#111;aspect-ratio:16/9}
.vid img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.vid:after{content:"";position:absolute;left:50%;top:50%;width:64px;height:46px;margin:-23px 0 0 -32px;border-radius:12px;background:rgba(214,43,43,.95)}
.vid:before{content:"";position:absolute;left:50%;top:50%;margin:-10px 0 0 -6px;border-left:18px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent;z-index:2}
.vid.sm:after{width:44px;height:32px;margin:-16px 0 0 -22px;border-radius:9px}
.vid.sm:before{margin:-7px 0 0 -4px;border-left-width:13px;border-top-width:7px;border-bottom-width:7px}
.vid .cap{position:absolute;left:0;right:0;bottom:0;padding:10px 12px;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);color:#fff;font-weight:700;font-size:15px;z-index:2}
.vid:hover{text-decoration:none}.vid:hover img{opacity:1}

/* homepage */
.welcome{display:grid;grid-template-columns:minmax(0,1fr) 340px;margin:22px 28px 18px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.welcome .txt{padding:0 26px 18px}
.welcome .hd{background:linear-gradient(180deg,var(--sky),#fff);margin:0 -26px 14px;padding:14px 26px 8px;border-bottom:1px solid var(--line)}
.welcome .hd small{display:block;font-size:19px;color:var(--navy);font-weight:600}
.welcome .brand{font-size:34px;font-weight:800;color:var(--navy);line-height:1;margin:0}
.welcome h1{font-size:21px;font-weight:700;color:var(--navy);line-height:1.25;margin:0 0 10px}
.welcome p{font-size:17px;line-height:1.5;margin:0 0 8px}
.welcome p b{color:var(--navy)}
.welcome .ph{display:flex;align-items:stretch}
.welcome .ph .vid{border-radius:0;aspect-ratio:auto;width:100%;min-height:220px}
.welcome:has(.ph-photo){grid-template-columns:minmax(0,1fr) 290px}
.welcome .ph-photo{background:#1b1b1b}
.welcome .ph-photo img{display:block;width:100%;height:100%;min-height:240px;object-fit:cover;object-position:center 30%}
.acts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 28px 18px}
.act{border:2px solid var(--navy);border-radius:8px;padding:14px 16px;display:flex;gap:12px;align-items:center;color:var(--navy)}
.act:hover{text-decoration:none;background:var(--sky2)}
.act.pri{background:var(--navy);color:#fff}.act.pri:hover{background:var(--navy2)}
.act b{display:block;font-size:17px}.act span{display:block;font-size:14px;opacity:.85;color:inherit}
.srch{margin:0 28px;display:flex;border:2px solid var(--navy);border-radius:8px;overflow:hidden}
.srch input{flex:1;min-width:0;border:0;padding:14px 16px;font-size:16px;font-family:inherit;outline:none}
.srch button{background:var(--navy);color:#fff;border:0;font-weight:700;font-size:16px;padding:0 22px;font-family:inherit;cursor:pointer}
.series{margin:12px 28px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.series span{color:var(--mute);font-size:14px;margin-right:4px}
.series a{border:1px solid var(--line);background:var(--sky2);color:var(--navy);padding:6px 12px;border-radius:4px;font-family:'Roboto Condensed',Arial,sans-serif;font-weight:700;font-size:14px}
.series a:hover{border-color:var(--navy);text-decoration:none}
.series a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.sec{padding:22px 28px 0}
.sec h2,.sec h3{font-family:'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;color:var(--navy);margin:0 0 12px;letter-spacing:.5px;font-size:20px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px}
.sec h2 a,.sec h3 a{font-family:'Source Sans 3',system-ui,sans-serif;text-transform:none;font-size:15px;letter-spacing:0;font-weight:700}
.probs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.prob{border:1px solid var(--line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;color:var(--ink)}
.prob:hover{text-decoration:none;border-color:var(--navy)}
.prob .vid{border-radius:0;aspect-ratio:16/7}
.prob .t{display:block;padding:10px 12px}
.prob .t b{color:var(--navy);display:block;font-size:16px}
.prob .t span{color:var(--mute);font-size:14px}
.vrow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.vcard{font-size:14.5px;color:var(--ink)}.vcard:hover{text-decoration:none}.vcard b{display:block;margin-top:6px;color:var(--ink)}.vcard span.s{color:var(--mute);font-size:13px}
.quote{margin:24px 28px 0;background:var(--sky2);border-left:5px solid var(--navy);padding:16px 20px;font-size:20px;color:var(--navy);font-weight:600}
.quote small{display:block;font-size:14px;color:var(--mute);font-weight:400;margin-top:4px}

/* catalog layout: sidebar + main */
.layout{display:grid;grid-template-columns:250px minmax(0,1fr);margin-top:22px;border-top:1px solid var(--line)}
.layout.nb{border-top:0;margin-top:10px}
.hm-side{border-right:1px solid var(--line);padding:14px 0 20px;background:#fafbfd}
.hm-side details{border-bottom:1px solid var(--line)}
.hm-side summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:11px 18px;font-weight:700;color:var(--navy);font-size:15.5px}
.hm-side summary::-webkit-details-marker{display:none}
.hm-side summary:before{content:"\25B8";margin-right:8px;font-size:12px;transition:.15s}
.hm-side details[open] summary:before{transform:rotate(90deg)}
.hm-side summary .l{flex:1}
.hm-side summary .c{color:var(--mute);font-weight:600;font-size:13px}
.hm-side .sub{padding-bottom:6px}
.hm-side .sub a{display:flex;justify-content:space-between;gap:8px;padding:6px 18px 6px 38px;font-size:14.5px;color:var(--ink)}
.hm-side .sub a.d2{padding-left:52px;font-size:14px}.hm-side .sub a.d3{padding-left:64px;font-size:13.5px}.hm-side .sub a.d4{padding-left:74px;font-size:13.5px}
.hm-side .sub a:hover{background:var(--sky2);text-decoration:none}
.hm-side .sub a span{color:var(--mute);font-size:13px}
.hm-side .sub a.all{color:var(--navy);font-weight:600}
.hm-side .sub a.cur{background:var(--sky);font-weight:700;color:var(--navy)}
.hm-side .help{margin:16px 18px 0;padding:12px;background:var(--sky2);border-radius:6px;font-size:14px}
.hm-side .help b{color:var(--navy)}
.hm-cat-main{padding:18px 26px 26px;min-width:0}
.mh{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 10px;flex-wrap:wrap;gap:8px}
.mh h1,.mh h2{font-family:'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;color:var(--navy);margin:0;letter-spacing:.5px;font-size:22px}
.mh h1 small,.mh h2 small{font-family:'Source Sans 3',system-ui,sans-serif;text-transform:none;font-weight:400;color:var(--mute);font-size:15px;letter-spacing:0}
.mh .sort{font-size:14px;color:var(--mute)}
.mh .sort select{font:inherit;padding:5px 8px;border:1px solid var(--line);border-radius:5px;color:var(--ink);background:#fff}
.catintro{font-size:16px;margin:0 0 14px;color:var(--ink)}
.catintro p{margin:0 0 8px}
.mobcats{display:none}
.hm-cat-main .series{margin:0 0 14px}

/* parts table */
.hm-tbl{width:100%;border-collapse:collapse;font-size:15px}
.hm-tbl th{text-align:left;font-family:'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;font-size:13px;color:var(--mute);border-bottom:2px solid var(--navy);padding:8px;font-weight:700}
.hm-tbl th.prh{text-align:right}
.hm-tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
.hm-tbl tr:hover td{background:#fafcff}
.hm-tbl td.im{width:70px}
.hm-tbl td.im img{width:54px;height:44px;object-fit:contain;display:block}
.hm-tbl td.pn{font-family:'Roboto Condensed',Arial,sans-serif;font-weight:700;white-space:nowrap}
.hm-tbl td.pn a{color:var(--navy)}
.hm-tbl td.nm a{color:var(--ink)}
.hm-tbl td .sub{font-size:12.5px;color:var(--mute)}
.hm-tbl td .pnm{display:none}
.hm-tbl td.pr{font-weight:800;color:var(--navy);white-space:nowrap;text-align:right}
.hm-tbl td.pr s{color:var(--mute);font-weight:400;font-size:12.5px;display:block}
.hm-tbl td.sold{color:var(--mute);font-size:13px;white-space:nowrap;text-align:right}
.hm-tbl td.ad{text-align:right;width:80px}
.callp{font-weight:700;color:var(--navy);font-size:14px}
.pager{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 0;font-size:14.5px;color:var(--mute)}
.pager .links a,.pager .links strong{display:inline-block;min-width:34px;text-align:center;padding:6px 10px;border:1px solid var(--line);border-radius:5px;margin:2px;color:var(--navy);font-weight:600}
.pager .links strong,.pager .links .current{background:var(--navy);color:#fff;border-color:var(--navy)}
.empty{background:var(--sky2);border-radius:8px;padding:16px;font-size:16px}

/* unit cards */
.units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.unit{border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px;font-size:14.5px}
.unit .uim{display:flex;align-items:center;justify-content:center;height:110px}
.unit .uim img{max-height:110px;width:auto;object-fit:contain}
.unit .un b{color:var(--navy);font-size:15.5px}
.unit .pn{font-family:'Roboto Condensed',Arial,sans-serif;color:var(--mute);font-size:13px}
.unit .p{font-weight:800;color:var(--navy);font-size:18px;margin-top:auto}
.unit .p s{font-weight:400;color:var(--mute);font-size:13px;margin-left:6px}
.unit .c{font-size:12.5px;color:var(--mute)}

/* subcategory tiles */
.subcats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 20px}
.subcats a{display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:6px;padding:12px 14px;color:var(--navy);font-weight:700;font-size:16px}
.subcats a:hover{background:var(--sky2);text-decoration:none}
.subcats a span{color:var(--mute);font-weight:600;font-size:13.5px;white-space:nowrap}
.hm-intro-hook{margin-top:10px}

/* product page */
.pdp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:34px;padding:18px 28px 0}
.gal .big{border:1px solid var(--line);border-radius:8px;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#fff;overflow:hidden}
.gal .big a{display:flex;width:100%;height:100%;align-items:center;justify-content:center}
.gal .big img{width:80%;height:80%;max-width:none;object-fit:contain}
.gal .th{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gal .th button,.gal .th a{width:84px;height:64px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:#fff;padding:2px;cursor:pointer}
.gal .th .on{border:2px solid var(--navy)}
.gal .th img{max-width:100%;max-height:100%;object-fit:contain}
.gal .zoom{display:inline-block;margin-top:8px;font-size:14px;font-weight:600}
.pi h1{margin:0 0 4px;font-size:30px;color:var(--navy);line-height:1.15}
.pi .pnl{font-family:'Roboto Condensed',Arial,sans-serif;color:var(--mute);font-size:15px;margin-bottom:14px}
.pbox{border:2px solid var(--navy);border-radius:8px;padding:16px 18px;margin-bottom:14px}
.pbox .pricerow .now{font-size:34px;font-weight:800;color:var(--navy)}
.pbox .pricerow s{color:var(--mute);margin-left:8px;font-size:17px}
.pbox .save{background:var(--greenbg);color:var(--green);font-weight:700;font-size:13px;padding:3px 8px;border-radius:10px;margin-left:8px;white-space:nowrap}
.pbox .callp{font-size:22px}
.coreline{margin-top:8px;padding-top:10px;border-top:1px dashed var(--line);font-size:15.5px}.coreline b{color:var(--navy)}
.coreline a{font-weight:700;text-decoration:underline}
.buy2{display:flex;gap:10px;margin-top:14px;align-items:stretch;flex-wrap:wrap}
.buy2 .qty{display:flex;align-items:center;gap:6px;font-weight:700}
.buy2 .qty input{width:70px;padding:11px 8px;font-size:17px;text-align:center;border:1px solid #c7cfdb;border-radius:6px;font-family:inherit}
.buy2 .btn,.buy2 input.cssButton,.buy2 input[type=submit]{flex:1;min-width:180px}
.buy2 .minunits{flex-basis:100%;font-size:13.5px;color:var(--mute)}
.pbox .ship{font-size:14px;color:var(--mute);margin-top:10px}
.pbox .incart{font-size:14px;color:var(--green);font-weight:600;margin-top:8px}
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.badges div{background:var(--sky2);border-radius:6px;padding:10px;font-size:13.5px;text-align:center}.badges b{display:block;color:var(--navy);font-size:15px}
.callfit{border-left:4px solid var(--navy);background:#fafbfd;padding:12px 14px;font-size:15px;margin-bottom:12px}
.pattrs{margin:10px 0 0}
.pattrs .wrapperAttribsOptions{margin:8px 0}
.pattrs h4.optionName{margin:0 0 4px;font-size:15px;color:var(--ink)}
.pdesc{padding:6px 28px 0}
.pdesc .body{font-size:16.5px;line-height:1.6;max-width:860px}
.pdesc .body img{max-width:100%;height:auto}
.also4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.also4 .c{border:1px solid var(--line);border-radius:8px;padding:10px;font-size:14.5px;display:flex;flex-direction:column;gap:2px}
.also4 .c .ai{display:flex;height:80px;align-items:center;justify-content:center;margin-bottom:6px}
.also4 .c .ai img{max-height:80px;width:auto;object-fit:contain}
.also4 .c b{color:var(--navy)}.also4 .c .m{color:var(--mute);font-size:13px}.also4 .c .p{color:var(--navy);font-weight:800;font-size:16px}
.also4 .c .p s{font-weight:400;color:var(--mute);font-size:12.5px;margin-left:5px}
.also4 .c .add{align-self:flex-start;margin-top:auto}

/* cart */
.cartgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:24px;align-items:start}
.ci{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:6px 14px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}
.ci .cim img{width:70px;height:56px;object-fit:contain}
.ci .d b{color:var(--navy);font-size:16px}.ci .d small{display:block;color:var(--mute);font-size:13.5px}
.ci .d ul{margin:4px 0 0;padding-left:18px;font-size:13.5px;color:var(--mute)}
.ci .p{font-weight:800;color:var(--navy);text-align:right;white-space:nowrap}
.ci .p small{display:block;font-weight:400;color:var(--mute);font-size:12.5px}
.ci .ctl{grid-column:2/4;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}
.ci .ctl input[type=text]{width:64px;padding:7px;border:1px solid #c7cfdb;border-radius:5px;text-align:center;font-size:15px}
.ci .ctl .rm{color:var(--red);font-weight:600}
.ci .ctl .alert{color:var(--red)}
.summary{border:1px solid var(--line);border-radius:8px;padding:18px;background:#fafbfd}
.summary h2{margin:0 0 12px;color:var(--navy);font-size:19px}
.summary .l{display:flex;justify-content:space-between;padding:6px 0;font-size:15.5px}
.summary .tot{border-top:2px solid var(--navy);margin-top:6px;padding-top:10px;font-weight:800;font-size:19px;color:var(--navy)}
.summary .btn{width:100%;margin-top:10px}
.summary .note{font-size:14px;color:var(--mute);margin:12px 0 0;line-height:1.45}
.summary .note b{color:var(--ink)}
.cartacts{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}

/* contact */
.cgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:26px;align-items:start}
.form h1{margin:0 0 4px;font-size:28px}
.form p.lead{margin:0 0 16px;color:var(--mute);font-size:16px}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fld{margin-bottom:12px}
.fld label{display:block;font-weight:700;font-size:14px;margin-bottom:4px;color:var(--ink)}
.fld label .opt{font-weight:400;color:var(--mute)}
.fld input,.fld select,.fld textarea{width:100%;border:1px solid #c7cfdb;border-radius:6px;padding:10px 12px;font-size:16px;font-family:inherit;background:#fff}
.fld textarea{min-height:120px}
.card{border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:14px}
.card h2,.card h4{margin:0 0 8px;color:var(--navy);font-size:18px}
.card p{margin:4px 0;font-size:15.5px}
.card .big{font-size:24px;font-weight:800;color:var(--navy)}
.how{counter-reset:s}.how p{padding-left:30px;position:relative}
.how p:before{counter-increment:s;content:counter(s);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}
.success{background:var(--greenbg);border:1px solid #bcdcc5;border-radius:8px;padding:16px;font-size:17px;color:#1f5a2c}

/* ---------- Zen Cart core pages (account, login, checkout, search, etc.) ---------- */
.centerColumn{font-size:16px}
.centerColumn h1{font-size:28px}
.centerColumn h2{font-size:20px}
.centerColumn fieldset{border:1px solid var(--line);border-radius:8px;padding:14px 18px 16px;margin:0 0 16px;background:#fff;min-width:0}
.centerColumn legend{font-weight:800;color:var(--navy);font-size:17px;padding:0 6px}
.centerColumn label.inputLabel,.centerColumn label.inputLabelPayment,.centerColumn .inputLabel{display:inline-block;min-width:170px;font-weight:600;font-size:15px;padding:8px 8px 4px 0;vertical-align:top}
.centerColumn input[type=text],.centerColumn input[type=password],.centerColumn input[type=email],.centerColumn input[type=tel],.centerColumn select,.centerColumn textarea{border:1px solid #c7cfdb;border-radius:6px;padding:9px 11px;font-size:16px;font-family:inherit;max-width:100%;background:#fff;margin:2px 0 6px}
.centerColumn textarea{width:100%}
.centerColumn .alert{color:var(--red);font-size:13px}
.centerColumn .alert.forward{float:right}
.centerColumn address{font-style:normal}
.buttonRow{margin:12px 0}
.forward{float:right}.back{float:left}
.clearBoth{clear:both}
.centerColumn::after,.hm-main::after,.buttonRow::after{content:"";display:table;clear:both}
.hm-foot .fyt{white-space:nowrap}
br.clearBoth{line-height:0}
.centeredContent{text-align:center}
.important,.biggerText{font-size:17px}
.bold{font-weight:700}
.messageStackError,.messageStackWarning,.messageStackCaution,.messageStackSuccess{padding:10px 14px;border-radius:6px;margin:8px 0;font-size:15px}
.messageStackError,.messageStackWarning{background:#fdecec;border:1px solid #f1b9b9;color:#8a1c1c}
.messageStackCaution{background:#fff6e0;border:1px solid #f0d58c;color:#6b4b00}
.messageStackSuccess{background:var(--greenbg);border:1px solid #bcdcc5;color:#1f5a2c}
.messageStackError img,.messageStackSuccess img,.messageStackWarning img,.messageStackCaution img{vertical-align:middle;margin-right:6px}
/* css buttons (when IMAGE_USE_CSS_BUTTONS = Yes) and image-button fallbacks */
.cssButton,.cssButtonHover,span.normal_button,input.submit_button{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:#fff!important;font-weight:700;font-size:15px;font-family:inherit;border:0;border-radius:6px;padding:10px 18px;cursor:pointer;line-height:1.2;text-decoration:none;-webkit-appearance:none}
.cssButtonHover,.cssButton:hover{background:var(--navy2);text-decoration:none}
a:hover .cssButton,a:hover .cssButtonHover{text-decoration:none}
.button_continue_shopping,.button_back,.button_update_cart,.button_prev,.button_return_to_product_list,span.button_edit_small,input.button_edit_small{background:#fff!important;color:var(--navy)!important;border:2px solid var(--navy)!important;padding:8px 16px!important}
.buttonRow input[type=image],.buttonRow img{vertical-align:middle}
/* core tables */
.centerColumn table:not(.hm-tbl){border-collapse:collapse;max-width:100%}
.centerColumn table:not(.hm-tbl) th,.centerColumn tr.tableHeading th,.centerColumn tr.tableHeading td{text-align:left;font-family:'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;font-size:13px;color:var(--mute);border-bottom:2px solid var(--navy);padding:8px}
.centerColumn table:not(.hm-tbl) td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top}
#cartContentsDisplay,#orderHistoryHeading,#prevOrders,#myAccountOrdersList,.productListing{width:100%}
#cartContentsDisplay img{max-width:70px;height:auto}
#orderTotals,.orderTotals{width:100%}
#orderTotals div,.totalBox{font-weight:700}
.lineTitle,.larger{font-weight:600}
.cartTotalsDisplay{font-weight:700;color:var(--navy)}
#cartSubTotal{text-align:right;font-weight:800;font-size:19px;color:var(--navy);padding:10px 0}
#checkoutShippingDefault .floatingBox,#checkoutPayment .floatingBox,#checkoutConfirmDefault .floatingBox{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:0 0 12px}
#checkoutConfirmDefault #cartContentsDisplay td,#checkoutConfirmDefault #cartContentsDisplay th{padding:8px}
.floatingBox{max-width:100%}
.navSplitPagesResult{color:var(--mute);font-size:14px;padding:8px 0}
.navSplitPagesLinks{font-size:14.5px;padding:8px 0}
.navSplitPagesLinks a,.navSplitPagesLinks strong{display:inline-block;padding:4px 9px;border:1px solid var(--line);border-radius:5px;margin:1px}
.navSplitPagesLinks strong,.navSplitPagesLinks .current{background:var(--navy);color:#fff}
.centerBoxHeading{font-family:'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;color:var(--navy);font-size:20px;letter-spacing:.5px}
.centerBoxContentsProducts,.centerBoxContentsNew,.centerBoxContentsFeatured,.centerBoxContentsSpecials{display:inline-block;vertical-align:top;padding:10px;text-align:center;font-size:14.5px}
.productListing-heading{font-family:'Roboto Condensed',Arial,sans-serif;text-transform:uppercase;font-size:13px}
.productListing-data{padding:8px;border-bottom:1px solid var(--line)}
/* login / create account */
#loginDefault .hm-login{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#loginDefault fieldset{height:auto}
#createAcctDefault .inputLabel,#loginDefault .inputLabel{min-width:150px}
#accountDefault .accountLinkList,#accountDefault ul{list-style:none;padding:0}
#accountDefault ul li{padding:6px 0;border-bottom:1px solid var(--line)}
.accountTotalDisplay,.accountQuantityDisplay{text-align:right}
/* search */
#advSearchDefault .floatingBox{border:1px solid var(--line);border-radius:8px;padding:12px;margin:0 0 12px;width:100%;float:none}
#advSearchResultsDefault .hm-tbl{margin-top:6px}
/* hide Zen legacy decoration we don't use */
#siteinfoIP{display:none}


/* QA-1 fixes */
.topsrch:focus-within,.srch:focus-within{outline:3px solid #f0a500;outline-offset:2px}
.hm-foot .fc>a{padding:5px 0}
.corenote{color:#8a4b00!important;font-weight:600}
.summary .corel{color:#8a4b00;font-weight:600;font-size:15px}
.callbuy{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.callbuy .btn{width:100%}
.totalBox{margin-left:10px;min-width:90px;text-align:right}
#orderTotals>div{overflow:hidden;padding:3px 0}
.advmore{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:0 0 14px}
.advmore summary{cursor:pointer;font-weight:700;color:var(--navy)}
.advmore .f2{margin-top:10px}
#advSearchDefault .fld input{max-width:520px}
#advSearchDefault fieldset label{font-weight:600;font-size:14.5px}
#advSearchDefault .checkboxLabel{display:inline-flex;align-items:center;gap:6px;font-weight:400;padding:6px 0}
#advSearchDefault .empty{margin-bottom:16px}

/* QA-2 */
#checkoutBillto,#checkoutShipto{width:48%}
#orderTotals>div{display:flex;flex-direction:row-reverse;justify-content:flex-start;align-items:baseline;gap:10px;flex-wrap:wrap}
#orderTotals>div>div{float:none!important}
#orderTotals .lineTitle{text-align:right}
.corebox{background:#fff6e0;border:1px solid #f0d58c;border-radius:8px;padding:12px 14px;margin:12px 0;font-size:15px;color:#4a3500}
.corebox b{color:#6b4b00}
.corebox a{font-weight:700;text-decoration:underline}
.links404{columns:2;padding-left:18px;margin:10px 0 14px}
.links404 li{padding:4px 0;font-weight:600}
#pageNotFound .srch{margin-left:0;margin-right:0;max-width:640px}

/* ---------- responsive ---------- */
@media (max-width:1000px){
 .units{grid-template-columns:repeat(3,minmax(0,1fr))}
 .hm-foot .fcols{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
 .hm-page{margin:0;border-radius:0;box-shadow:none}
 .hdr{padding:12px 14px;gap:10px}
 .wm .n{font-size:28px}.logo svg{width:46px;height:46px}
 .hdr .right{width:100%;justify-content:space-between;gap:8px}
 .ytb{display:none}
 .phone{font-size:16px;padding:8px 12px}
 .cart{padding:9px 11px}
 nav.main{flex-wrap:wrap;padding:4px 6px;gap:0}
 nav.main a{white-space:nowrap;padding:9px 8px;font-size:14.5px}
 nav.main a.on{box-shadow:inset 0 -3px 0 #8fb3e6}
 .topsrch,.srch{margin-left:14px;margin-right:14px}
 .hm-alerts,.crumbs{padding-left:14px;padding-right:14px}
 .steps{margin:12px 14px 0}.steps li{font-size:12.5px;padding:8px 4px}.steps li span{display:block;margin:0 auto 2px}
 .hm-main>.centerColumn,.hm-main>.pad{padding:12px 14px 0}
 .hm-main>.centerColumn.hm-home,.hm-main>.centerColumn.hm-full{padding:0}
 .welcome{grid-template-columns:minmax(0,1fr);margin:14px}
 .welcome .txt{padding:0 16px 14px}.welcome .hd{margin:0 -16px 12px;padding:12px 16px 8px}
 .welcome .brand{font-size:28px}
 .welcome h1{font-size:18.5px}
 .welcome .ph .vid{min-height:190px}
 .welcome:has(.ph-photo){grid-template-columns:minmax(0,1fr)}
 .welcome .ph-photo{justify-content:center}
 .welcome .ph-photo img{width:100%;max-width:300px;height:auto;min-height:0;aspect-ratio:1/1;object-fit:cover;margin:0 auto}
 .acts{grid-template-columns:minmax(0,1fr);margin:0 14px 14px;gap:8px}
 .act{padding:11px 14px}
 .series{margin-left:14px;margin-right:14px}
 .sec{padding:18px 14px 0}
 .probs,.vrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .quote{margin:20px 14px 0;font-size:17px}
 .layout{grid-template-columns:minmax(0,1fr)}
 .hm-side{display:none}
 .mobcats{display:block;margin:0 0 12px}
 .mobcats select{width:100%;padding:12px;border:2px solid var(--navy);border-radius:6px;font-size:16px;font-family:inherit;color:var(--navy);font-weight:700;background:#fff}
 .hm-cat-main{padding:14px}
 .hm-cat-main .series{margin:0 0 12px}
 .hm-tbl{font-size:14px}
 .hm-tbl td,.hm-tbl th{padding:8px 5px}
 .hm-tbl td.pn,.hm-tbl th.pnh{display:none}
 .hm-tbl td .pnm{display:block;font-family:'Roboto Condensed',Arial,sans-serif;font-weight:700;color:var(--navy);font-size:13px}
 .hm-tbl td.pr{font-size:14px}
 .hm-tbl td.sold,.hm-tbl th.sold{display:none}
 .hm-tbl td.im{width:50px}.hm-tbl td.im img{width:44px;height:38px}
 .add{padding:6px 9px}
 .units{grid-template-columns:repeat(2,minmax(0,1fr))}
 .subcats{grid-template-columns:minmax(0,1fr)}
 .pdp{grid-template-columns:minmax(0,1fr);padding:14px 14px 0;gap:18px}
 .gal .big{aspect-ratio:4/3;max-height:300px}
 .gal .th button,.gal .th a{width:64px;height:50px}
 .badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.badges div{padding:8px 6px;font-size:12.5px}.badges b{font-size:13.5px}
 .pdesc{padding:6px 14px 0}
 .also4{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cartgrid,.cgrid,.f2{grid-template-columns:minmax(0,1fr)}
 #loginDefault .hm-login{grid-template-columns:minmax(0,1fr)}
 .centerColumn label.inputLabel,.centerColumn .inputLabel{display:block;min-width:0;padding-top:4px}
 .centerColumn input[type=text],.centerColumn input[type=password],.centerColumn select{width:100%}
 .centerColumn table:not(.hm-tbl){display:block;overflow-x:auto}
 /* QA-1 mobile */
 #checkoutBillto,#checkoutShipto{float:none!important;width:auto!important}
 .centerColumn .floatingBox{float:none!important;width:auto!important;margin-left:0!important;margin-right:0!important}
 input,select,textarea,.mh .sort select,.ci .ctl input[type=text]{font-size:16px!important}
 .add{min-height:44px;min-width:48px;padding:10px 12px}
 .ci .ctl .rm{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #f1b9b9;border-radius:6px}
 .ci .ctl .rmchk{display:inline-flex;align-items:center;gap:6px;min-height:44px}
 .hm-foot .fc>a{padding:10px 0}
 .acct{padding:10px 2px}
 .crumbs a{display:inline-block;padding:4px 0}
 .sec h2 a,.sec h3 a{padding:8px 0}
 .pg-product_info .topsrch{display:none}
 .pg-product_info .crumbs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:8px}
 .pdp{gap:10px;padding-top:8px}
 .gal .big{aspect-ratio:auto;height:170px;max-height:none}
 .gal .zoom{display:none}
 .gal .th{margin-top:6px;gap:6px}
 .gal .th button,.gal .th a{width:52px;height:42px}
 .pi h1{font-size:22px}
 .pi .pnl{margin-bottom:8px;font-size:14px}
 .pbox{padding:12px 14px}
 .pbox .pricerow .now{font-size:28px}
 .coreline{margin-top:6px;padding-top:8px;font-size:15px}
 .buy2{margin-top:10px}
 .buy2 .btn{min-height:48px}
 .hm-foot{padding:20px 14px 16px}
 .hm-foot .fcols{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
 .hdr .right{flex-wrap:nowrap;gap:6px}
 .acct .ico,.cart .ico{display:none}
 .cart{padding:9px 10px}
 .phone{padding:7px 10px}
 .hm-tbl td.im,.hm-tbl th.im{display:none}
 .phone small{font-size:11.5px}
 .acct.lo{display:none}
}
#cartAdd>a:not(.btn){display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-weight:700;border-radius:6px;padding:12px 20px;margin-top:12px}
#cartAdd>a:not(.btn):hover{text-decoration:none;background:var(--navy2)}
@media print{
 nav.main,.topsrch,.hm-side,.hm-foot .fcols,.acts,.ytb,.cart,.skip{display:none!important}
 .hm-page{box-shadow:none;margin:0}
 body{background:#fff}
}
.pi .pnl-aka{margin-top:-10px}
