/* Eagle Autobody Parts: styles of the pages built on top of the Bootstrap theme (app.min.css). The ONE place for page CSS: never put <style> in a view.
   Every page's rules start with that page's own class (.vres = results, .rt = return form ...); landing page and printable form are scoped by the body class (.home, .taxprint). */
/* ---- account/returns/create ---- */
.rt{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem auto;max-width:50rem;font-size:.92rem}
.rt h1{font-size:1.25rem;font-weight:500}
.rt h2{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#555;margin:1.4rem 0 .5rem;border-bottom:1px solid #e6e6e6;padding-bottom:.3rem}
.rt label{font-size:.82rem;color:#444;margin-bottom:.1rem}
.rt .line{background:#fafafa;border:1px solid #eee;border-radius:3px;padding:.6rem .7rem;margin-bottom:.5rem}
.rt .cond{border:1px solid #eee;border-radius:3px;padding:.6rem .8rem;background:#fafafa}
.rt .cond .custom-control{margin-bottom:.15rem}
.rt .is-invalid-box{border-color:#dc3545;background:#fff5f5}
.rt .need{background:#fff4b3;border:1px solid #ecd24d;border-radius:3px;padding:.5rem .7rem;font-size:.85rem;margin-bottom:.6rem}

/* ---- account/returns/show ---- */
.rs{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem auto;max-width:50rem;font-size:.92rem}
.rs .ra{font-family:monospace;font-size:1.6rem;font-weight:700;letter-spacing:.06em;background:#fff9db;border:2px solid #ecd24d;border-radius:4px;padding:.1rem .7rem}
.rs table{width:100%;border-collapse:collapse}
.rs th{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#777;text-align:left;border-bottom:1px solid #ddd;padding:.3rem .4rem}
.rs td{padding:.4rem;border-bottom:1px solid #f0f0f0}
.rs .pic{display:inline-block;margin:0 .5rem .5rem 0}
.rs .pic img{max-height:9rem;border:1px solid #ddd;border-radius:3px}
@media print{
	nav,header,footer,.d-print-none,.alert-secondary{display:none!important}
	.rs{margin:0;max-width:none}
}

/* ---- account/tax/show ---- */
.tx{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem auto;max-width:48rem;font-size:.92rem}
.tx h1{font-size:1.25rem;font-weight:500}
.tx h2{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#555;margin:1.4rem 0 .5rem;border-bottom:1px solid #e6e6e6;padding-bottom:.3rem}
.tx label{font-size:.82rem;color:#444;margin-bottom:.1rem}
.tx .choice{border:2px solid #ddd;border-radius:4px;padding:.6rem .8rem;cursor:pointer;height:100%;font-size:.9rem;color:#222}
.tx .choice.on{border-color:#212529;background:#f6f6f6}
.tx .choice input{margin-right:.3rem}
.tx .pill{display:inline-block;font-size:.75rem;border-radius:3px;padding:.05rem .5rem;border:1px solid}
.tx .pill.submitted{background:#fff4b3;border-color:#ecd24d;color:#6b5600}
.tx .pill.approved{background:#e3f6e8;border-color:#9bd3a9;color:#1d5a2b}
.tx .pill.rejected,.tx .pill.revoked{background:#fde5e3;border-color:#f0a8a2;color:#8a1c14}

/* ---- admin/aged-inventory ---- */
.ai{background:#fff;padding:1.25rem 1rem 3rem;margin:.75rem 0;font-size:.85rem;color:#222}
.ai h1{font-size:1.2rem;font-weight:500;margin:0 0 .5rem}
.ai .hint{font-size:.75rem;color:#8a8a8a}
.ai details{margin:.4rem 0 .8rem;border:1px solid #eee;border-radius:3px;padding:.4rem .8rem;background:#fafafa}
.ai summary{cursor:pointer;font-weight:600;color:#555}
.ai details ol{margin:.5rem 0 .2rem 1rem;padding:0}
.ai details li{margin:.2rem 0}
.ai .bar{display:flex;flex-wrap:wrap;gap:.5rem .9rem;align-items:flex-end;padding:.6rem 0;border-bottom:1px solid #eee}
.ai .bar label{display:block;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#777;margin:0 0 .1rem}
.ai .bar input[type=number],.ai .bar input[type=text],.ai .bar select{border:1px solid #d8d8d8;border-radius:3px;padding:.25rem .4rem;font-size:.85rem;background:#fff}
.ai .bar input[type=number]{width:5.2rem}
.ai .bar input.w-q{width:9rem}
.ai .bar .chk{display:flex;align-items:center;gap:.3rem;font-size:.8rem;margin-bottom:.2rem}
.ai .bar .chk label{margin:0;text-transform:none;letter-spacing:0;font-size:.8rem;color:#333}
.ai .big input{font-size:1.05rem;font-weight:600;width:5.5rem}
.ai .sum{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;padding:.7rem .8rem;margin:.6rem 0;border:1px solid #dfe8e2;background:#f6fbf8;border-radius:3px}
.ai .sum div{min-width:8.5rem}
.ai .sum b{display:block;font-size:1.05rem;font-weight:600}
.ai .sum span{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#6c7;}
.ai .sum .neg b{color:#b3261e}
.ai .sum .sub{font-size:.72rem;color:#789;text-transform:none;letter-spacing:0}
.ai .acts{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.4rem 0 .6rem}
.ai .acts button,.ai .acts a.btn{font-size:.82rem}
.ai .wrap{overflow:auto;max-height:70vh;border:1px solid #eee}
.ai table{border-collapse:separate;border-spacing:0;width:100%;min-width:1180px}
.ai thead th{position:sticky;top:0;background:#f4f4f4;z-index:2;padding:.4rem .45rem;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#555;text-align:right;white-space:nowrap;border-bottom:1px solid #ddd}
.ai thead th.l{text-align:left}
.ai thead th.s{cursor:pointer;user-select:none}
.ai thead th.s:hover{background:#e9e9e9}
.ai thead th .arr{color:#222;font-size:.7rem}
.ai td{padding:.35rem .45rem;border-bottom:1px solid #f1f1f1;text-align:right;white-space:nowrap;vertical-align:middle}
.ai td.l{text-align:left;white-space:normal;min-width:15rem}
.ai tbody tr:hover{background:#fafcff}
.ai tbody tr.sel{background:#eef6ff}
.ai .code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;border:1px dashed #ccc;background:#fff;border-radius:3px;padding:.05rem .35rem;cursor:copy}
.ai .code:hover{background:#fff8dc;border-color:#d9b44a}
.ai .desc{display:block;font-size:.72rem;color:#8a8a8a;margin-top:.1rem}
.ai .old{color:#c25b00;font-weight:600}
.ai .oldtag{display:inline-block;font-size:.65rem;background:#ffe9d2;border:1px solid #f0b57a;color:#a14a00;border-radius:2px;padding:0 .3rem;margin-left:.3rem}
.ai .bad{color:#b3261e;font-weight:600}
.ai .warn{color:#9a6a00}
.ai .good{color:#1d7a46}
.ai .mut{color:#aaa}
.ai .sug{cursor:pointer;color:#555;border-bottom:1px dotted #aaa}
.ai .toast{position:fixed;right:1rem;bottom:1rem;background:#222;color:#fff;padding:.5rem .8rem;border-radius:3px;font-size:.82rem;opacity:0;transition:opacity .2s;z-index:50;pointer-events:none}
.ai .toast.on{opacity:.95}
.ai .result{margin:.6rem 0;padding:.6rem .8rem;border:1px solid #ddd;border-radius:3px;background:#fffdf6;display:none}
.ai .result ul{margin:.3rem 0 0 1rem;padding:0;font-size:.78rem}
.ai .loadmore{padding:.8rem;text-align:center;color:#999;font-size:.8rem}

/* ---- admin/aged/index ---- */
.ag{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0;font-size:.9rem}
.ag h1{font-size:1.2rem;font-weight:500}
.ag h2{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:#555;margin:1.4rem 0 .5rem;border-bottom:1px solid #e6e6e6;padding-bottom:.3rem}
.ag label{font-size:.8rem;color:#555;margin:.4rem 0 .1rem;display:block}
.ag input[type=number],.ag input[type=text]{border:1px solid #dcdcdc;border-radius:3px;padding:.3rem .5rem;width:8rem}
.ag .tier{display:flex;gap:.7rem;align-items:flex-end;margin-bottom:.3rem}
.ag table{width:100%;font-size:.8rem;border-collapse:collapse}
.ag th,.ag td{padding:.3rem .4rem;border-bottom:1px solid #f0f0f0;text-align:left}
.ag .num{text-align:right;white-space:nowrap}
.ag .stat{display:inline-block;min-width:8rem;margin:.2rem 1rem .2rem 0}
.ag .stat b{display:block;font-size:1.2rem;font-weight:500}
.ag .hint{font-size:.78rem;color:#8a8a8a}

/* ---- admin/classes/index ---- */
.cl{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0;font-size:.88rem}
.cl h1{font-size:1.2rem;font-weight:500}
.cl table{width:100%;border-collapse:collapse}
.cl th,.cl td{padding:.35rem .4rem;border-bottom:1px solid #f0f0f0;text-align:left}
.cl input[type=text],.cl select{border:1px solid #dcdcdc;border-radius:3px;padding:.2rem .4rem;width:100%}
.cl .hint{font-size:.78rem;color:#8a8a8a}

/* ---- admin/discounts/index ---- */
.dr{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0;font-size:.88rem}
.dr table{width:100%;border-collapse:collapse;margin-top:1rem}
.dr th{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#777;text-align:left;border-bottom:1px solid #ddd;padding:.3rem .4rem;white-space:nowrap}
.dr th a{color:#777;text-decoration:none}
.dr th a.on{color:#000;font-weight:700}
.dr td{padding:.45rem .4rem;border-bottom:1px solid #f0f0f0;vertical-align:top}
.dr .num{text-align:right;white-space:nowrap}
.dr .pn{font-family:monospace;font-weight:700;color:#000}
.dr .why{display:inline-block;font-size:.7rem;background:#ffe9d2;border:1px solid #f0b57a;color:#a14a00;border-radius:2px;padding:0 .35rem}
.dr .neg{color:#b3261e}
.dr .sum{display:flex;flex-wrap:wrap;gap:1.6rem;margin:.8rem 0}
.dr .sum b{display:block;font-size:1.1rem}
.dr .sum span{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:#777}

/* ---- admin/items/show ---- */
.it{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0;font-size:.9rem}
.it h1{font-size:1.2rem;font-weight:500}
.it h2{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;color:#555;margin:1.3rem 0 .4rem;border-bottom:1px solid #e6e6e6;padding-bottom:.3rem}
.it dl{display:grid;grid-template-columns:12rem 1fr;gap:.15rem .8rem;margin:0}
.it dt{font-weight:400;color:#8a8a8a}
.it dd{margin:0}
.it label{font-size:.8rem;color:#555;margin:.4rem 0 .1rem;display:block}
.it select,.it input[type=text],.it input[type=number]{border:1px solid #dcdcdc;border-radius:3px;padding:.3rem .5rem}
.it .hint{font-size:.78rem;color:#8a8a8a}

/* ---- admin/lists/show ---- */
.pl{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0;font-size:.92rem}
.pl .code{font-family:monospace;font-size:1.6rem;letter-spacing:.14em;font-weight:700;background:#fff4b3;border:1px solid #ecd24d;border-radius:4px;padding:0 .6rem}
.pl table{width:100%;border-collapse:collapse;margin-top:1rem}
.pl th{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#777;text-align:left;border-bottom:1px solid #ddd;padding:.3rem .4rem}
.pl td{padding:.5rem .4rem;border-bottom:1px solid #f0f0f0;vertical-align:top}
.pl .pn{font-family:monospace;font-size:1rem;font-weight:700;color:#000;cursor:pointer;border-bottom:1px dotted #888}
.pl .gone{color:#b3261e}
.pl .low{color:#8a3b00}
.pl .veh{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#555;font-weight:600;padding-top:.9rem}
.pl .toast{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:#222;color:#fff;border-radius:3px;padding:.4rem .9rem;opacity:0;transition:opacity .2s;pointer-events:none}
.pl .toast.on{opacity:1}

/* ---- admin/orders/show ---- */
.oa{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0;font-size:.9rem}
.oa h1{font-size:1.2rem;font-weight:500;margin:0}
.oa .meta{color:#666;margin:.4rem 0 1rem;line-height:1.5}
.oa .grp{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#555;font-weight:600;margin:1.1rem 0 .2rem;border-bottom:1px solid #e6e6e6;padding-bottom:.3rem}
.oa .ln{display:flex;gap:.8rem;align-items:center;padding:.55rem 0;border-bottom:1px solid #f2f2f2}
.oa .ln img,.oa .ln .nph{width:44px;height:44px;object-fit:contain;border:1px solid #eee;border-radius:3px;flex:none}
.oa .ln .nph{background:#f6f6f6}
.oa .stk{font-size:.78rem;color:#2e6b3a}
.oa .acts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.2rem 0;align-items:flex-end}
.oa .acts form{display:inline-flex;gap:.4rem;align-items:flex-end}
.oa .acts input[type=number]{width:7rem;border:1px solid #ccc;border-radius:3px;padding:.25rem .4rem}
.oa .rf{margin-top:1.2rem}
.oa .pcode{font-family:monospace;font-size:1.05rem;letter-spacing:.12em;background:#fff4b3;border:1px solid #ecd24d;border-radius:3px;padding:.05rem .5rem;margin-left:.6rem;color:#4a3d00}
.oa .pp{background:#fafafa;border:1px solid #e6e6e6;border-radius:3px;padding:.9rem 1rem;margin:1.2rem 0}
.oa .pp form{display:inline-flex;gap:.4rem;align-items:flex-end;flex-wrap:wrap;margin:.3rem .8rem .3rem 0}
.oa .pp input[type=text],.oa .pp select{border:1px solid #ccc;border-radius:3px;padding:.25rem .4rem}
.oa .hist{font-size:.78rem;color:#777;margin-top:1.4rem}
.vtag{display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:0 .35rem;margin-right:.4rem}
.vtag.cap{background:#fff4b3;border-color:#ecd24d;color:#6b5600}
.vtag.dmg{background:#ffe0c2;border-color:#f0a766;color:#8a3b00}

/* ---- cart/done ---- */
.done{background:#fff;padding:2rem 1.25rem 2.5rem;margin:.75rem auto;max-width:34rem;text-align:center}
.done .big{font-family:monospace;font-size:3.2rem;letter-spacing:.18em;font-weight:700;color:#000;background:#fff9db;border:2px solid #ecd24d;border-radius:6px;padding:.4rem 1rem;display:inline-block;margin:.6rem 0}
.done ol{text-align:left;display:inline-block;margin:1rem 0;font-size:.95rem}
.done .items{text-align:left;font-size:.85rem;margin-top:1.2rem;border-top:1px solid #eee;padding-top:.8rem}
.done .items div{display:flex;justify-content:space-between;gap:1rem;padding:.2rem 0}

/* ---- cart/index ---- */
.cart{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0}
.cart h1{font-size:1.2rem;font-weight:500;margin:0 0 1rem}
.cgroup{margin-top:1.3rem}
.cghead{display:flex;align-items:center;gap:.7rem;padding:0 .5rem .45rem;border-bottom:1px solid #e6e6e6;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#555;font-weight:600}
.cgthumb{height:34px;width:56px;object-fit:cover;border:1px solid #eee;border-radius:3px;background:#fff}
.cline{display:flex;align-items:center;gap:.9rem;padding:.75rem .5rem;border-bottom:1px solid #f2f2f2}
.cline.bad{background:#fff8f6}
.cthumb{width:48px;height:48px;flex:none;object-fit:contain;border:1px solid #efefef;border-radius:3px;background:#fff}
.cnoimg{display:inline-block;background:#f6f6f6}
.cmain{flex:1;min-width:0}
.cdesc{font-size:.9rem;color:#222;line-height:1.3}
.ccode{font-size:.72rem;color:#9a9a9a}
.cnote{font-size:.76rem;color:#8a3b00}
.cwarn{font-size:.76rem;color:#b3261e}
.cqty input{width:3.6rem;text-align:center;border:1px solid #dcdcdc;border-radius:3px;padding:.2rem}
.cprice{width:6rem;text-align:right;font-size:.9rem;white-space:nowrap}
.cunit{display:block;font-size:.72rem;color:#999}
.cremove{font-size:.75rem;color:#999;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.ctotal{text-align:right;margin-top:1.2rem;font-size:1rem}
.cfoot{text-align:right;font-size:.78rem;color:#8a8a8a;margin-top:.2rem}
.vtag{display:inline-block;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:1px solid;border-radius:2px;padding:0 .35rem;margin-right:.4rem;vertical-align:1px}
@media (max-width:575px){
	.cart{padding:1rem .5rem 2rem}
	.cline{flex-wrap:wrap}
}

/* ---- cart/public-list ---- */
.pub{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem auto;max-width:42rem;font-size:.92rem}
.pub .code{font-family:monospace;font-size:1.7rem;letter-spacing:.16em;font-weight:700;background:#fff9db;border:1px solid #ecd24d;border-radius:4px;padding:0 .6rem}
.pub table{width:100%;border-collapse:collapse;margin-top:1rem}
.pub th{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:#777;text-align:left;border-bottom:1px solid #ddd;padding:.3rem .4rem}
.pub td{padding:.5rem .4rem;border-bottom:1px solid #f0f0f0;vertical-align:top}
.pub .pn{font-family:monospace;font-weight:700;color:#000;cursor:pointer;border-bottom:1px dotted #888}
.pub .veh{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#555;font-weight:600;padding-top:.9rem}
.pub .low{color:#8a3b00}
.pub .gone{color:#b3261e}
.pub .toast{position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:#222;color:#fff;border-radius:3px;padding:.4rem .9rem;opacity:0;transition:opacity .2s;pointer-events:none}
.pub .toast.on{opacity:1}

/* ---- catalog/_styles ---- */
.vres{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0}
.vres h1{font-size:1.2rem;font-weight:500;color:#222;margin:.1rem 0 .15rem}
.vres .vsub{font-size:.8rem;color:#8a8a8a;margin-bottom:.75rem}
.vgroup{margin-top:1.4rem}
.vgroup h2{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#555;margin:0 0 .25rem;padding:0 .5rem .4rem;border-bottom:1px solid #e6e6e6}
.vgroup h2 span{color:#aaa;font-weight:400}
.vitem{display:flex;align-items:flex-start;gap:.9rem;padding:.7rem .5rem;border-bottom:1px solid #f2f2f2;cursor:pointer}
.vitem:hover,.vitem:focus{background:#fafafa;outline:0}
.vthumb{width:48px;height:48px;flex:none;object-fit:contain;background:#fff;border:1px solid #efefef;border-radius:3px}
.vnoimg{display:inline-block;background:#f6f6f6}
.vbody{flex:1;min-width:0}
.vrow{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem}
.vrow+.vrow{margin-top:.45rem;padding-top:.35rem;border-top:1px dotted #e4e4e4}
.vmain{flex:1;min-width:0}
.vdesc{font-size:.9rem;color:#222;line-height:1.3}
.vcode{font-size:.72rem;color:#555;letter-spacing:.02em}
.vnum{color:#000;font-weight:600}
.vpagelink{color:#555;text-decoration:underline dotted}
.vpagelink:hover{color:#000}
.vside{text-align:right;white-space:nowrap;font-size:.9rem;color:#222}
.vlist{display:block;font-size:.72rem;color:#aaa}
.vlist s{text-decoration:line-through}
.vpct{margin-left:.4rem;color:#b3261e;font-weight:600;text-decoration:none}
.vnote{font-size:.78rem;color:#777}
.vtoggle{margin:.5rem .5rem 0;font-size:.9rem}
.vnote a{color:#555;border-bottom:1px solid #ccc;text-decoration:none}
.vin{font-size:.7rem;color:#2e8b57}
.vout{font-size:.7rem;color:#aaa}
.vaged{font-size:.7rem;color:#0b6b4d;letter-spacing:.02em}
.vdesc-sm{font-size:.78rem;color:#555;margin-top:.1rem}
.vvar:hover .vcode .vnum{text-decoration:underline}
.vvar .vtag{margin:0 0 0 .5rem}
.vempty{color:#777;font-size:.95rem;padding:2rem .5rem}
.vmodal .modal-body{font-size:.9rem;color:#222}
.vmodal h5{font-size:1.05rem;font-weight:500}
.vmodal dl{margin:0;display:grid;grid-template-columns:9.5rem 1fr;gap:.2rem .75rem;font-size:.85rem}
.vmodal dt{font-weight:400;color:#8a8a8a}
.vmodal dd{margin:0;word-break:break-word}
.vmodal img.vbig{max-width:100%;max-height:300px;object-fit:contain}
.vgal-main{position:relative;display:flex;align-items:center;justify-content:center;min-height:11rem}
.vgal-main img{max-width:100%;max-height:22rem;object-fit:contain}
.vgal-nav{position:absolute;top:50%;transform:translateY(-50%);border:0;background:rgba(0,0,0,.55);color:#fff;width:2rem;height:2.4rem;font-size:1.5rem;line-height:1;border-radius:3px;cursor:pointer;opacity:.75;padding:0}
.vgal-nav:hover{opacity:1}
.vgal-prev{left:.2rem}
.vgal-next{right:.2rem}
.vgal-count{position:absolute;right:.4rem;bottom:.3rem;background:rgba(0,0,0,.6);color:#fff;font-size:.7rem;padding:.05rem .4rem;border-radius:3px}
.vgal-thumbs{display:flex;gap:.4rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}
.vgal-thumbs button{border:2px solid transparent;background:#fff;padding:0;border-radius:3px;line-height:0;cursor:pointer;opacity:.7}
.vgal-thumbs button.on{border-color:#222;opacity:1}
.vgal-thumbs img{width:54px;height:54px;object-fit:contain;border-radius:2px}
.vgal.single .vgal-nav,.vgal.single .vgal-count,.vgal.single .vgal-thumbs{display:none}
.vmodal .vnotice{background:#ffe0c2;border:1px solid #f0a766;color:#8a3b00;font-size:.8rem;padding:.4rem .6rem;border-radius:3px;margin:.5rem 0}
.vmodal .vrel{border-top:1px solid #eee;margin-top:1rem;padding-top:.6rem}
.vmodal .vrel a{display:flex;justify-content:space-between;gap:1rem;padding:.3rem 0;color:#222;font-size:.82rem;cursor:pointer;text-decoration:none}
.vmodal .vprice{font-size:1.25rem}
.vbuy{display:flex;align-items:center;gap:.5rem;margin:.4rem 0 .9rem}
.vbuy input{width:4rem;text-align:center;border:1px solid #dcdcdc;border-radius:3px;padding:.25rem}
.vmsg{font-size:.8rem;color:#555}
.vmsg.err{color:#b3261e}
.vhero{margin:0 0 1rem}
.vh-main{display:block;max-width:100%;width:460px;border:1px solid #eee;border-radius:3px;background:#fff}
.vh-thumbs{display:flex;gap:.4rem;margin-top:.4rem;flex-wrap:wrap}
.vh-thumbs button{border:1px solid #e6e6e6;background:#fff;padding:0;border-radius:3px;line-height:0;cursor:pointer}
.vh-thumbs img{width:64px;height:44px;object-fit:cover;border-radius:3px}
.vh-staff{font-size:.78rem;color:#777;margin-top:.5rem}
.vh-staff summary{cursor:pointer;color:#555}
.vh-staff form{margin-top:.5rem;padding:.75rem;border:1px dashed #d8d8d8;border-radius:3px;background:#fff;max-width:520px}
.vh-staff label{display:block;margin:.35rem 0 .1rem;color:#555}
.vh-staff .yr input{width:5.5rem}
.vh-staff .err{color:#b3261e;font-size:.78rem}
@media (max-width:575px){
	.vres{padding:1rem .5rem 2rem}
	.vside{font-size:.85rem}
	.vmodal dl{grid-template-columns:7rem 1fr}
}

/* ---- catalog/part ---- */
.vpart{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem}
@media(max-width:767px){
	.vpart{grid-template-columns:1fr}
}
.vpart h1{font-size:1.3rem;font-weight:500;margin:0 0 .4rem}
.vpart .vbig{max-width:100%;max-height:22rem;object-fit:contain}
.vfit{columns:2;font-size:.9rem;padding-left:1.1rem}
@media(max-width:575px){
	.vfit{columns:1}
}

/* ---- catalog/search ---- */
.vsearch{display:flex;flex-wrap:wrap;gap:.5rem;margin:.2rem 0 1rem}
.vsearch input[type=text]{flex:1;min-width:12rem;border:1px solid #dcdcdc;border-radius:3px;padding:.4rem .6rem;font-size:.95rem}
.vsearch select{border:1px solid #dcdcdc;border-radius:3px;padding:.4rem .5rem;background:#fff;font-size:.9rem}
.vsearch button{border:0;background:#222;color:#fff;border-radius:3px;padding:.4rem 1rem;font-size:.9rem}
.vmatch{font-size:.8rem;color:#8a8a8a}

/* ---- checkout/index ---- */
.co{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0}
.co h1{font-size:1.2rem;font-weight:500;margin:0 0 1rem}
.co h2{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#555;margin:1.4rem 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid #e6e6e6}
.co label{font-size:.85rem;color:#444;margin:.5rem 0 .15rem;display:block}
.co input[type=text],.co input[type=email],.co textarea,.co select{width:100%;border:1px solid #dcdcdc;border-radius:3px;padding:.4rem .55rem;font-size:.9rem}
.co .opt{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;margin:.35rem 0}
.co .opt label{margin:0;font-size:.9rem}
.co .err{color:#b3261e;font-size:.78rem;margin-top:.15rem;min-height:0}
.co .hint{font-size:.78rem;color:#8a8a8a}
.co #card-el{border:1px solid #dcdcdc;border-radius:3px;padding:.6rem}
.co .sumbox{background:#fafafa;border:1px solid #eee;border-radius:3px;padding:1rem}
.co .sgroup{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:#555;font-weight:600;margin:.7rem 0 .2rem;display:flex;align-items:center;gap:.5rem}
.co .sgroup img{height:26px;width:42px;object-fit:cover;border:1px solid #eee;border-radius:2px}
.co .sline{display:flex;gap:.6rem;align-items:center;padding:.35rem 0;border-bottom:1px solid #f0f0f0;font-size:.82rem}
.co .sline img,.co .sline .nph{width:36px;height:36px;object-fit:contain;border:1px solid #eee;border-radius:3px;background:#fff;flex:none}
.co .sline .nph{background:#f6f6f6}
.co .snote{font-size:.72rem;color:#8a3b00}
.co .row2{display:flex;justify-content:space-between;font-size:.9rem;margin-top:.3rem}
.co .total{font-size:1.1rem;font-weight:600;border-top:1px solid #ddd;padding-top:.5rem;margin-top:.6rem}
.co .btn-place{width:100%;margin-top:1rem}
.co .msg{font-size:.85rem;margin-top:.6rem}

/* ---- layouts/vehicle-bar ---- */
.vbar{background:#fff;border-bottom:1px solid #e9e9e9}
.vbar .vb-in{padding:.6rem 0}
.vbar .vb-t{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#6c757d;margin-bottom:.25rem}
.vbar .custom-select{border-radius:.25rem}
.vbar .vb-thumb{height:40px;width:auto;max-width:96px;border:1px solid #eee;border-radius:3px;background:#fff;object-fit:cover}

/* ---- orders/show ---- */
.ord{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0}
.ord h1{font-size:1.2rem;font-weight:500;margin:0}
.ord .sub{font-size:.8rem;color:#8a8a8a;margin:.15rem 0 1rem}
.ord .thanks{background:#f3faf5;border:1px solid #cfe8d6;color:#24572f;padding:.7rem .9rem;border-radius:3px;margin-bottom:1rem;font-size:.9rem}
.ord .box{font-size:.88rem;color:#333;margin:.5rem 0}
.ogroup{margin-top:1.2rem}
.oghead{display:flex;align-items:center;gap:.6rem;padding:0 .5rem .4rem;border-bottom:1px solid #e6e6e6;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:#555;font-weight:600}
.oghead img{height:34px;width:56px;object-fit:cover;border:1px solid #eee;border-radius:3px}
.oline{display:flex;align-items:center;gap:.9rem;padding:.7rem .5rem;border-bottom:1px solid #f2f2f2}
.oth{width:48px;height:48px;flex:none;object-fit:contain;border:1px solid #efefef;border-radius:3px;background:#fff}
.onoimg{display:inline-block;background:#f6f6f6}
.omain{flex:1;min-width:0}
.odesc{font-size:.9rem}
.ocode{font-size:.72rem;color:#9a9a9a}
.onote{font-size:.76rem;color:#8a3b00}
.oprice{white-space:nowrap;font-size:.9rem}
.otot{max-width:22rem;margin-left:auto;margin-top:1rem;font-size:.9rem}
.otot div{display:flex;justify-content:space-between;margin:.2rem 0}
.otot .t{font-weight:600;border-top:1px solid #ddd;padding-top:.4rem}

/* ---- pages/show ---- */
.pg{background:#fff;padding:1.8rem 1.5rem 2.5rem;margin:.75rem auto;max-width:50rem;line-height:1.6}
.pg h1{font-size:1.5rem;font-weight:500;margin-bottom:1rem}
.pg h2{font-size:1.15rem;margin-top:1.6rem}
.pg h3{font-size:1rem;margin-top:1.2rem}
.pg table{border-collapse:collapse;width:100%}
.pg td,.pg th{border:1px solid #ddd;padding:.35rem .5rem}

/* ---- pay/show ---- */
.pay{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem auto;max-width:36rem}
.pay h1{font-size:1.2rem;font-weight:500;margin:0 0 .2rem}
.pay .code{font-size:.85rem;color:#666;margin-bottom:1rem}
.pay .sline{display:flex;justify-content:space-between;gap:.8rem;font-size:.88rem;padding:.35rem 0;border-bottom:1px solid #f0f0f0}
.pay .sline small{color:#999;display:block}
.pay .row2{display:flex;justify-content:space-between;font-size:.9rem;margin-top:.3rem}
.pay .total{font-size:1.15rem;font-weight:600;border-top:1px solid #ddd;padding-top:.5rem;margin-top:.6rem}
.pay #card-el{border:1px solid #dcdcdc;border-radius:3px;padding:.7rem;margin-top:1rem}
.pay .msg{font-size:.88rem;margin-top:.7rem;min-height:1.2rem}
.pay .ok{background:#f3faf5;border:1px solid #cfe8d6;color:#24572f;padding:.8rem .9rem;border-radius:3px}

/* ---- errors/404 ---- */
.error .clip .shadow{height: 180px;}
.error .clip:nth-of-type(2) .shadow{width: 130px;}
.error .clip:nth-of-type(1) .shadow, .error .clip:nth-of-type(3) .shadow{width: 250px;}
.error .digit{width: 150px;height: 150px;line-height: 150px;font-size: 120px;font-weight: bold;}
.error h2{font-size: 32px;}
.error .msg{top: -190px;left: 30%;width: 80px;height: 80px;line-height: 80px;font-size: 32px;}
.error span.triangle{top: 70%;right: 0%;border-left: 20px solid #535353;border-top: 15px solid transparent;border-bottom: 15px solid transparent;}
.error .container-error-404{position: relative;height: 250px;padding-top: 40px;}
.error .container-error-404 .clip{display: inline-block;transform: skew(-45deg);}
.error .clip .shadow{overflow: hidden;}
.error .clip:nth-of-type(2) .shadow{overflow: hidden;position: relative;box-shadow: inset 20px 0px 20px -15px rgba(150, 150, 150,0.8), 20px 0px 20px -15px rgba(150, 150, 150,0.8);}
.error .clip:nth-of-type(3) .shadow:after, .error .clip:nth-of-type(1) .shadow:after{content: "";position: absolute;right: -8px;bottom: 0px;z-index: 9999;height: 100%;width: 10px;background: linear-gradient(90deg, transparent, rgba(173,173,173, 0.8), transparent);border-radius: 50%;}
.error .clip:nth-of-type(3) .shadow:after{left: -8px;}
.error .digit{position: relative;top: 8%;color: white;background: #07B3F9;border-radius: 50%;display: inline-block;transform: skew(45deg);}
.error .clip:nth-of-type(2) .digit{left: -10%;}
.error .clip:nth-of-type(1) .digit{right: -20%;}
.error .clip:nth-of-type(3) .digit{left: -20%;}
.error h2{color: #A2A2A2;font-weight: bold;padding-bottom: 20px;}
.error .msg{position: relative;z-index: 9999;display: block;background: #535353;color: #A2A2A2;border-radius: 50%;font-style: italic;}
.error .triangle{position: absolute;z-index: 999;transform: rotate(45deg);content: "";width: 0;height: 0;}
@media(max-width: 767px){
	.error .clip .shadow{height: 100px;}
	.error .clip:nth-of-type(2) .shadow{width: 80px;}
	.error .clip:nth-of-type(1) .shadow, .error .clip:nth-of-type(3) .shadow{width: 100px;}
	.error .digit{width: 80px;height: 80px;line-height: 80px;font-size: 52px;}
	.error h2{font-size: 24px;}
	.error .msg{top: -110px;left: 15%;width: 40px;height: 40px;line-height: 40px;font-size: 18px;}
	.error span.triangle{top: 70%;right: -3%;border-left: 10px solid #535353;border-top: 8px solid transparent;border-bottom: 8px solid transparent;}
	.error .container-error-404{height: 150px;}
}
.overlay{position: relative;z-index: 20;}
.ground-color{background: white;}
.item-bg-color{background: #EAEAEA}
.padding-top{padding-top: 10px;}
.padding-bottom{padding-bottom: 10px;}
.padding-vertical{padding-top: 10px;padding-bottom: 10px;}
.padding-horizontal{padding-left: 10px;padding-right: 10px;}
.padding-all{padding: 10px;}
.no-padding-left{padding-left: 0px;}
.no-padding-right{padding-right: 0px;}
.no-vertical-padding{padding-top: 0px;padding-bottom: 0px;}
.no-horizontal-padding{padding-left: 0px;padding-right: 0px;}
.no-padding{padding: 0px;}
.margin-top{margin-top: 10px;}
.margin-bottom{margin-bottom: 10px;}
.margin-right{margin-right: 10px;}
.margin-left{margin-left: 10px;}
.margin-horizontal{margin-left: 10px;margin-right: 10px;}
.margin-vertical{margin-top: 10px;margin-bottom: 10px;}
.margin-all{margin: 10px;}
.no-margin{margin: 0px;}
.no-vertical-margin{margin-top: 0px;margin-bottom: 0px;}
.no-horizontal-margin{margin-left: 0px;margin-right: 0px;}
.inside-col-shrink{margin: 0px 20px;}
hr{margin: 0px;padding: 0px;border-top: 1px dashed #999;}

/* ---- layouts/404 ---- */
@media(max-width: 767px){
	.error .clip .shadow{height: 100px;}
	.error .clip:nth-of-type(2) .shadow{width: 80px;}
	.error .clip:nth-of-type(1) .shadow, .error .clip:nth-of-type(3) .shadow{width: 100px;}
	.error .digit{width: 80px;height: 80px;line-height: 80px;font-size: 52px;}
	.error h2{font-size: 24px;}
	.error .msg{top: -110px;left: 15%;width: 40px;height: 40px;line-height: 40px;font-size: 18px;}
	.error span.triangle{top: 70%;right: -3%;border-left: 10px solid #535353;border-top: 8px solid transparent;border-bottom: 8px solid transparent;}
	.error .container-error-404{height: 150px;}
}
hr{margin: 0px;padding: 0px;border-top: 1px dashed #999;}

/* ---- home ---- */
body.home{background-attachment:fixed !important;background-size:cover !important;font-family:Raleway;}
body.home h1,body.home h2,body.home h3,body.home h4,body.home h5,body.home h6{font-family:Raleway}
body.home p{line-height:1.75}
body.home .text-faded{color:rgba(255,255,255,.3)}
body.home .site-heading{text-transform:uppercase;line-height:1;font-family:Raleway;	margin-top: 0;margin-bottom: 0;background: url(/img/landing-logo.png) no-repeat center;height: 360px;}
body.home .site-heading .site-heading-upper{display:block;font-size:2rem;font-weight:800}
body.home .site-heading .site-heading-lower{font-size:5rem;font-weight:100;line-height:4rem}
body.home .page-section{margin-top:1rem;margin-bottom:1rem}
body.home .section-heading{text-transform:uppercase}
body.home .section-heading .section-heading-upper{display:block;font-size:1rem;font-weight:800}
body.home .section-heading .section-heading-lower{display:block;font-size:3rem;font-weight:100}
body.home .bg-faded{background-color:rgba(255,255,255,.85)}
body.home #mainNav{background-color:rgba(29, 95, 162, 0.62);font-family:Raleway;}
body.home #mainNav .navbar-brand{color:#e6a756}
body.home #mainNav .navbar-nav .nav-item .nav-link{color:rgba(255,255,255,.7);font-weight:800}
body.home #mainNav .navbar-nav .nav-item.active .nav-link{color:#e6a756}
body.home .btn-xl{font-weight:700;font-size:.8rem;padding-top:1.5rem;padding-bottom:1.5rem;padding-left:2rem;padding-right:2rem}
body.home .intro{position:relative}
body.home .cta{padding-top:5rem;padding-bottom:5rem;background-color:rgba(230,167,86,.9)}
body.home .cta .cta-inner{position:relative;padding:3rem;margin:.5rem;background-color:rgba(255,255,255,.85)}
body.home .cta .cta-inner:before{border-radius:.5rem;content:'';position:absolute;top:-.5rem;bottom:-.5rem;left:-.5rem;right:-.5rem;border:.25rem solid rgba(255,255,255,.85)}
body.home .list-hours{font-size:.9rem}
body.home .list-hours .list-hours-item{border-bottom:1px solid rgba(230,167,86,.5);padding-bottom:.25rem;margin-bottom:1rem;font-style:italic}
body.home .list-hours .list-hours-item.today{font-weight:700;color:#e6a756;}
body.home .address strong{font-size:1.2rem}
body.home .footer{color:#111}
body.home .text-primary{color:#e6a756!important}
body.home .btn{box-shadow:0 3px 3px 0 rgba(33,37,41,.1)}
body.home .font-weight-light{font-weight:100!important}
body.home .site-heading-lower,body.home .site-heading-upper{overflow: hidden;text-indent: -299rem;}
body.home .cta{padding-top: 5rem;padding-bottom: 5rem;background-color: rgba(174, 169, 167, 0.56);}
body.home .footer a{color:#0075a0}
@media (min-width:992px){
	body.home{background:linear-gradient(rgba(95, 34, 34, 0.75),rgba(251, 251, 251, 0.65)),url(/img/bg.jpg);}
	body.home #mainNav .navbar-nav .nav-item .nav-link{font-size:.9rem}
	body.home #mainNav .navbar-nav .nav-item .nav-link:hover{color:rgba(255,255,255,.4)}
	body.home #mainNav .navbar-nav .nav-item.active .nav-link:hover{color:#e6a756}
	body.home .intro .intro-img{width:75%;float:right}
	body.home .intro .intro-text{left:0;width:60%;margin-top:3rem;position:absolute}
	body.home .intro .intro-text .intro-button{width:100%;left:0;position:absolute;bottom:-2rem}
	body.home .about-heading .about-heading-img{position:relative;z-index:0}
	body.home .about-heading .about-heading-content{margin-top:-5rem;position:relative;z-index:1}
	body.home .product-item .product-item-title{position:relative;z-index:1;margin-bottom:-3rem}
	body.home .product-item .product-item-img{position:relative;z-index:0;max-width:60vw}
	body.home .product-item .product-item-description{position:relative;z-index:1;margin-top:-3rem;max-width:50vw}
	body.home .list-hours{width:50%;font-size:1.1rem}
	body.home .page-section{margin-top:1rem !important}
}
@media (min-width:1200px){
	body.home .intro .intro-text{width:45%}
}
@media (max-width:992px){
	body.home{background:linear-gradient(rgba(95, 34, 34, 0.75),rgba(251, 251, 251, 0.65)),url(/img/bg-992.jpg);}
	body.home #mainNav{padding:0}
	body.home #mainNav .navbar-brand{background: url(/img/small-logo.png) no-repeat left bottom;height:71px;padding:0;overflow: hidden;line-height: 200rem}
}
@media (max-width:600px){
	body.home .emblem{width:32px !important}
}
body.home .site-heading.d-sm-block{background: url(/img/landing-logo-md.png) no-repeat center !important;height: 215px !important}
body.home .inner{margin:0px !important;}

/* ---- account/tax/print ---- */
body.taxprint *{box-sizing:border-box}
body.taxprint{margin:0;background:#e9ecef;font-family:Arial,Helvetica,sans-serif;color:#000;font-size:10.5pt}
body.taxprint .bar{max-width:8.5in;margin:.6rem auto;padding:.7rem 1rem;background:#fff;border:1px solid #ccc;border-radius:4px;font-size:10pt}
body.taxprint .bar button{font-size:11pt;padding:.4rem 1rem;cursor:pointer}
body.taxprint .sheet{width:8.5in;min-height:11in;margin:0 auto .6rem;background:#fff;padding:.45in .5in;position:relative}
body.taxprint .ref{font-size:8.5pt;color:#444;border-bottom:1px dotted #999;padding-bottom:3px;margin-bottom:6px}
body.taxprint h1{font-size:17pt;margin:4px 0 8px}
body.taxprint .box{border:1px solid #000}
body.taxprint .row{display:flex;border-bottom:1px solid #000}
body.taxprint .row:last-child{border-bottom:0}
body.taxprint .cell{flex:1;padding:2px 6px 4px;min-height:.42in;border-right:1px solid #000}
body.taxprint .cell:last-child{border-right:0}
body.taxprint .cell small{display:block;font-size:7.5pt;color:#222}
body.taxprint .val{font-size:11pt;font-weight:bold;min-height:16px;word-break:break-word}
body.taxprint .body{border:1px solid #000;margin-top:12px;padding:8px 10px}
body.taxprint .body p{margin:7px 0;line-height:1.3}
body.taxprint .line{border-bottom:1px solid #000;padding:0 4px 1px;font-weight:bold;font-size:11pt;display:inline-block;vertical-align:bottom}
body.taxprint .fld{margin:12px 0 4px}
body.taxprint .text{border:0;white-space:pre-wrap;font-weight:bold;font-size:10.5pt;min-height:.62in;border-bottom:1px solid #000;padding:0 3px;line-height:1.55;background:repeating-linear-gradient(transparent,transparent 1.5em,#000 1.5em,#000 calc(1.5em + 1px))}
body.taxprint .sign{display:flex;border:1px solid #000;margin-top:12px}
body.taxprint .sign .cell{min-height:.75in}
body.taxprint .sign .cell:first-child{flex:2}
body.taxprint .foot{border:1px solid #000;margin-top:12px;text-align:center;padding:8px;font-weight:bold;font-size:10pt}
body.taxprint .note{font-size:9pt;text-align:center;margin:10px 0 0}
body.taxprint .permit{letter-spacing:.35em}
@media print{
	body.taxprint{background:#fff;font-size:10pt}
	body.taxprint .bar{display:none}
	body.taxprint .sheet{margin:0;padding:.15in .35in;width:auto;min-height:0;box-shadow:none}
	body.taxprint .body p{margin:5px 0}
	body.taxprint .sign .cell{min-height:.6in}
	body.taxprint .fld{margin:9px 0 3px}
	body.taxprint h1{margin:2px 0 6px}
	@page{size:letter;margin:.25in}
}

/* ---- admin/discount-code ---- */
.dc{background:#fff;padding:1.5rem 1.25rem 2.5rem;margin:.75rem 0;font-size:.95rem;max-width:34rem}
.dc-title{font-size:1.2rem;font-weight:500}
.dc-intro{font-size:.85rem}
.dc-label{font-size:.8rem;color:#555}
.dc-code{text-transform:uppercase}
.dc-price{font-size:1.2rem}
.dc-until{display:block;margin-top:.5rem;font-size:.85rem}      /* inherits the colour of the alert, so it reads on green and on yellow */

/* ---- account/tax/print (classes that replaced inline styles) ---- */
body.taxprint .bar-steps{margin:.4rem 0 .6rem 1.1rem;padding:0}
body.taxprint .bar-close{margin-left:1rem}
body.taxprint .formref{font-size:8pt}
body.taxprint .form-sub{font-size:9pt;margin:-4px 0 6px}
body.taxprint .cell-wide{flex:3}
body.taxprint .cell-addr{flex:2}
body.taxprint .cell-note{margin-top:2px}
body.taxprint .w-seller{width:5.6in}
body.taxprint .w-street{width:5.2in}
body.taxprint .w-city{width:4.9in}
body.taxprint .w-street2{width:2.1in}
body.taxprint .w-city2{width:2.2in}
body.taxprint .text-short{min-height:.62in}
body.taxprint .sign-space{height:.38in}
body.taxprint .row-flex{display:flex;gap:.25in;white-space:nowrap}
