@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800&family=Inter:wght@400;600;700;800&display=swap');:root{--o:#ee5d2b;--d:#091116;--g:#68757c;--l:#dce4e7;--bg:#f3f7f8;--m:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial;color:#11191d;line-height:1.55}.wrap{max-width:var(--m);margin:auto;padding:0 24px}a{text-decoration:none;color:inherit}.top{background:#070d11;color:#afbbc0;font-size:11px}.top .wrap{padding-top:8px;padding-bottom:8px;display:flex;justify-content:space-between}.top a{color:#fff;font-weight:800}.nav{height:78px;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;gap:10px;align-items:center;font:800 29px 'Barlow Condensed';letter-spacing:1px}.logo b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--o);color:white}.logo span span{color:var(--o)}nav{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:800}.navbtn{background:var(--d);color:#fff;padding:11px 16px;border-radius:4px}.hero{padding:105px 0;background:linear-gradient(110deg,#081117,#14262d);color:#fff}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--o);font-weight:800}.hero h1,h2{font:800 76px/.9 'Barlow Condensed';text-transform:uppercase;margin:10px 0 22px}.hero h1 i{font-style:normal;color:#dce8ec}.hero p{max-width:650px;color:#cad6db;font-size:18px}.btn{display:inline-block;border:0;background:var(--o);color:#fff;padding:14px 20px;border-radius:4px;font-weight:800;font-size:12px;cursor:pointer}.catalog{padding-top:90px;padding-bottom:100px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.intro h2,.dark h2,.request h2{font-size:54px}.intro p{color:var(--g)}.searchpanel{margin-top:34px;border:1px solid var(--l);box-shadow:0 10px 35px #0000000c}.searchrow{display:flex;padding:16px;gap:8px;background:var(--bg)}.searchrow input{flex:1;padding:17px;border:1px solid var(--l);font:15px Inter;outline:none}.searchrow input:focus{border-color:var(--o)}.searchrow button,.pager button{border:1px solid var(--l);background:#fff;padding:0 18px;font-weight:800;cursor:pointer}.filterrow{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font-size:11px;color:var(--g)}.filterrow select{padding:9px;border:1px solid var(--l);background:#fff}.card{display:grid;grid-template-columns:145px 1fr 160px;gap:22px;border-bottom:1px solid var(--l);padding:23px 16px}.sku{font-size:11px;font-weight:800;color:var(--o);word-break:break-word}.card h3{font:700 25px/1.05 'Barlow Condensed';text-transform:uppercase;margin:0 0 8px}.card p{font-size:12px;color:var(--g);margin:4px 0}.quote{text-align:right;font-size:11px;color:var(--o);font-weight:800}.fallback{background:#fff9f5}.pager{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:25px}.pager button{padding:10px 15px}.small{font-size:10px;color:var(--g)}.dark{background:var(--d);color:#fff;padding:90px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.dark p{color:#b3c0c5}.request{padding:90px 0;background:var(--bg)}.request p{color:var(--g)}.contact{display:grid;gap:7px;font-weight:700}.contact a:first-child{font-size:24px}.request form{display:grid;gap:13px}.request label{font-size:11px;font-weight:800;text-transform:uppercase}.request input,.request textarea{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid var(--l);font:14px Inter}footer{background:#070d11;color:#b4c0c5;padding:30px 0;font-size:11px}@media(max-width:750px){.intro,.split{grid-template-columns:1fr;gap:30px}.card{grid-template-columns:1fr}.quote{text-align:left}.searchrow{flex-direction:column}.searchrow button{padding:12px}.filterrow{gap:10px;align-items:flex-start;flex-direction:column}.hero h1{font-size:58px}nav a:not(.navbtn){display:none}}
.finderSection{background:#edf4f6;padding:85px 0}.guided{display:grid;grid-template-columns:1fr auto 1fr auto 1.6fr auto 1.5fr;gap:12px;align-items:end;background:#fff;padding:25px;border:1px solid var(--line);box-shadow:0 12px 35px #0b11150c}.step{position:relative}.step b{display:grid;place-items:center;width:28px;height:28px;background:var(--orange);color:#fff;border-radius:50%;font-size:11px;margin-bottom:10px}.step label{display:block;font-size:10px;letter-spacing:1.5px;font-weight:800;color:var(--gray);margin-bottom:6px}.step select{width:100%;padding:14px 12px;border:1px solid var(--line);background:#fff;font:13px Inter}.arrow{padding-bottom:13px;color:#9aabb2;font-weight:800}.finderActions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.finderActions .btn{margin:0;border:0}.secondary{padding:13px 18px;border:1px solid var(--line);background:#fff;font-weight:800;font-size:12px;cursor:pointer}.finderActions span{font-size:12px;color:var(--gray)}.filterrow{gap:25px;flex-wrap:wrap}.filterrow #activeFilters{font-weight:700;color:#253238}.quote a{color:inherit}@media(max-width:950px){.guided{grid-template-columns:1fr 1fr}.arrow{display:none}.step.wide{grid-column:auto}}@media(max-width:580px){.guided{grid-template-columns:1fr}.finderSection{padding:65px 0}}
.badge{display:inline-block;padding:5px 8px;margin-bottom:9px;border-radius:3px;font:800 9px Inter;letter-spacing:.7px}.badge.exact{background:#e8f6ed;color:#176c37}.badge.likely{background:#fff1e9;color:#c94316}.card.application{background:#fffaf7;border-left:4px solid var(--orange)}.card.application .sku{padding-left:8px}.matchnote{font-size:11px!important;font-weight:700;color:#8b542f!important}.empty{min-height:150px}

.viewPage{display:inline-block;margin-top:14px;padding:11px 14px;border:1px solid #111;background:#fff;color:#111;font-size:11px;font-weight:800;letter-spacing:.03em;cursor:pointer}.viewPage:hover{background:#111;color:#fff}.catalogModal{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:22px}.catalogModal.open{display:flex}.modalBackdrop{position:absolute;inset:0;background:rgba(4,10,14,.78)}.modalDialog{position:relative;width:min(1180px,96vw);height:min(880px,92vh);background:#fff;display:flex;flex-direction:column;box-shadow:0 25px 70px rgba(0,0,0,.35)}.modalHead{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;border-bottom:1px solid #dce4e7}.modalHead h3{font:800 28px/1 'Barlow Condensed';text-transform:uppercase;margin:4px 0 0}.modalActions{display:flex;align-items:center;gap:10px}.modalOpen{padding:10px 13px;background:#ef5b2a;color:#fff;font-size:11px;font-weight:800}.modalHead button{width:42px;height:42px;border:1px solid #dce4e7;background:#fff;font-size:28px;line-height:1;cursor:pointer}.modalBody{flex:1;min-height:0;background:#2b3033}.modalBody iframe{display:block;width:100%;height:100%;border:0;background:#fff}.modalFoot{padding:9px 18px;border-top:1px solid #dce4e7;color:#65737a;font-size:11px}.noScroll{overflow:hidden}@media(max-width:700px){.catalogModal{padding:8px}.modalDialog{width:100%;height:92vh}.modalHead{padding:10px}.modalOpen{display:none}.modalHead h3{font-size:22px}}

/* Custom Sheet Metal Bending */
.sheetmetal{padding:95px 0;background:#fff}
.sheetmetalIntro{margin-bottom:34px}
.sheetmetalNote{font-size:12px!important;font-weight:600}
.metalFeatures{display:grid;grid-template-columns:repeat(4,1fr);background:var(--d);color:#fff;margin:10px 0 70px}
.metalFeatures>div{padding:25px 22px;border-right:1px solid rgba(255,255,255,.12)}
.metalFeatures>div:last-child{border-right:0}
.metalFeatures strong,.metalFeatures span{display:block}
.metalFeatures strong{font:700 21px/1.05 'Barlow Condensed';text-transform:uppercase}
.metalFeatures span{margin-top:7px;color:#b8c4c8;font-size:11px}
.profilesHeading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:25px}
.profilesHeading h3,.sheetmetalCta h3{font:800 42px/.95 'Barlow Condensed';text-transform:uppercase;margin:7px 0}
.profilesHeading p{color:var(--g);margin:0}
.profileGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.profileCard{border:1px solid var(--l);background:#fff;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}
.profileCard img{display:block;width:100%;aspect-ratio:1.43/1;object-fit:cover;background:#f4f7f8;border-bottom:1px solid var(--l)}
.profileCard>div{padding:18px}
.profileCard h4{font:700 23px/1 'Barlow Condensed';text-transform:uppercase;margin:0 0 8px}
.profileCard p{font-size:11px;color:var(--g);margin:0}
@media (hover:hover) and (pointer:fine){.profileCard:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.08)}}
.sheetmetalCta{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:45px;padding:30px;background:var(--bg);border-left:4px solid var(--o)}
.sheetmetalCta p{max-width:650px;margin-bottom:0;color:var(--g)}
.sheetmetalCta .btn{flex:0 0 auto}
@media(max-width:950px){.profileGrid{grid-template-columns:repeat(2,1fr)}.metalFeatures{grid-template-columns:repeat(2,1fr)}.metalFeatures>div:nth-child(2){border-right:0}.metalFeatures>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}}
@media(max-width:750px){.profilesHeading{grid-template-columns:1fr;gap:15px}.sheetmetalCta{align-items:flex-start;flex-direction:column}nav a[href="#sheetmetal"]{display:none}}
@media(max-width:520px){.profileGrid,.metalFeatures{grid-template-columns:1fr}.metalFeatures>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.sheetmetal{padding:70px 0}}

/* V7.3 separate Custom Sheet Metal page */
.activeMetal{color:var(--o)!important}
.metalHero{padding:95px 0;background:linear-gradient(115deg,#081015,#14252d);color:#fff}
.metalHero h1{font:800 clamp(58px,7vw,92px)/.88 'Barlow Condensed';text-transform:uppercase;margin:10px 0 22px;max-width:850px}
.metalHero p{max-width:760px;color:#cbd7db;font-size:18px}
.metalHeroButtons{display:flex;gap:12px;align-items:center;margin-top:28px}.metalSecondary{border:1px solid #ffffff55;color:#fff;padding:13px 20px;font-size:12px;font-weight:800}
.metalAbout{padding:85px 0;background:#fff}.metalAboutGrid,.sectionTitle{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}
.metalAboutGrid h2,.sectionTitle h2,.metalCTA h2{font:800 52px/.92 'Barlow Condensed';text-transform:uppercase;margin:8px 0}.metalAboutGrid p,.sectionTitle p{color:var(--g)}
.metalServiceGrid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;background:var(--d);color:#fff}.metalServiceGrid>div{padding:24px;border-right:1px solid #ffffff18}.metalServiceGrid b,.metalServiceGrid span{display:block}.metalServiceGrid b{font:700 20px 'Barlow Condensed'}.metalServiceGrid span{font-size:11px;color:#b9c5c9;margin-top:5px}
.profileReference{padding:85px 0;background:var(--bg)}.referenceImage{margin-top:30px;background:#fff;border:1px solid var(--l);padding:12px;box-shadow:0 14px 35px #0000000b}.referenceImage img{display:block;width:100%;height:auto}
.profileNames{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.profileNames span{background:#fff;border:1px solid var(--l);padding:10px;font-size:11px;font-weight:800;text-align:center}
.ductSection{padding:85px 0;background:#fff}.ductGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:30px}.ductCard{border:1px solid var(--l);background:#fff}.ductCard img{display:block;width:100%;background:#f5f8f9}.ductCard h3{font:700 18px 'Barlow Condensed';text-transform:uppercase;margin:0;padding:12px}
.ductInfo{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:25px}.ductInfo>div{background:var(--bg);padding:24px}.ductInfo h3{font:700 26px 'Barlow Condensed';text-transform:uppercase;margin:0 0 8px}.ductInfo p{color:var(--g);font-size:13px;margin:0}
.metalCTA{margin-top:45px;padding:32px;background:var(--d);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px}.metalCTA p{color:#b9c5c9;max-width:700px}.metalCTA .btn{flex:0 0 auto}
@media(max-width:900px){.ductGrid{grid-template-columns:repeat(3,1fr)}.profileNames{grid-template-columns:repeat(2,1fr)}.metalServiceGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.metalAboutGrid,.sectionTitle,.ductInfo{grid-template-columns:1fr;gap:18px}.metalCTA{flex-direction:column;align-items:flex-start}.metalHero h1{font-size:58px}}
@media(max-width:520px){.ductGrid,.metalServiceGrid{grid-template-columns:1fr}.profileNames{grid-template-columns:1fr}.metalHeroButtons{align-items:flex-start;flex-direction:column}}

/* V7.6 Catalog Index shortcut */
.catalogIndexShortcut{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:4px}
.catalogIndexButton{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;background:var(--d);color:#fff;font-size:12px;font-weight:800;letter-spacing:.4px;text-decoration:none;border-radius:3px}
.catalogIndexButton:hover{background:var(--o)}
.catalogIndexShortcut span{font-size:12px;color:var(--g)}

/* V7.7 searchable full catalog index */
.step input[list]{width:100%;min-height:44px;border:0;border-bottom:1px solid var(--l);background:#fff;padding:8px 4px;font:14px Inter;color:#11191d;outline:none}
.step input[list]:focus{border-bottom:2px solid var(--o)}
.indexHelp{display:block;margin-top:5px;color:var(--g);font-size:9px;line-height:1.3}
.card.indexmatch{border-left:4px solid #334f66}

/* V7.9 simplified finder — large searchable catalog index */
.finderGrid,.finder-grid,.steps,.finderSteps{
  grid-template-columns:1fr!important;
}
.step.wide{
  grid-column:1/-1!important;
  width:100%!important;
  padding:28px 30px!important;
}
.step.wide label{
  font-size:13px!important;
  letter-spacing:1.2px;
  margin-bottom:10px!important;
}
.step.wide input[list]{
  width:100%!important;
  min-height:64px!important;
  padding:14px 16px!important;
  border:2px solid var(--l)!important;
  background:#fff!important;
  font-size:18px!important;
  font-weight:600;
  border-radius:3px;
}
.step.wide input[list]:focus{
  border-color:var(--o)!important;
}
.step.wide .indexHelp{
  margin-top:9px!important;
  font-size:11px!important;
}

/* V8 true section dropdown */
.step.wide select{
  width:100%!important;
  min-height:64px!important;
  padding:0 18px!important;
  border:2px solid var(--l)!important;
  background:#fff!important;
  font:600 17px Inter!important;
  color:#11191d!important;
  border-radius:3px!important;
  cursor:pointer;
}
.step.wide select:focus{border-color:var(--o)!important;outline:none}
.sectionActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.sectionActions .catalogIndexButton{border:0;cursor:pointer}

/* V8.1 full searchable catalog-index dropdown */
.indexCombo{position:relative;width:100%;margin-top:8px}
.indexComboControl{display:grid;grid-template-columns:1fr 54px;border:2px solid var(--l);background:#fff;border-radius:3px;overflow:hidden}
.indexComboControl:focus-within{border-color:var(--o)}
.indexComboControl input{width:100%;min-width:0;min-height:64px;border:0!important;padding:0 18px!important;font:600 17px Inter!important;outline:0!important;background:#fff!important}
.indexToggle{border:0;border-left:1px solid var(--l);background:#f4f7f8;cursor:pointer;font-size:15px;color:#26333a}
.indexDropdown{position:absolute;z-index:100;width:100%;top:calc(100% + 6px);left:0;max-height:390px;overflow-y:auto;background:#fff;border:1px solid var(--l);box-shadow:0 18px 45px rgba(0,0,0,.14)}
.indexOption{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:10px 14px;border:0;border-bottom:1px solid #edf1f2;background:#fff;cursor:pointer;color:#11191d;font:600 13px Inter}
.indexOption:hover,.indexOption.active{background:#f2f6f7;color:var(--o)}
.indexRef{flex:0 0 auto;color:var(--g);font-size:10px;font-weight:600}
.indexEmpty{padding:18px;color:var(--g);font-size:12px}
.catalogClearButton{min-height:46px;padding:0 18px;border:1px solid var(--l);background:#fff;color:#26333a;font-size:11px;font-weight:800;cursor:pointer}
.catalogClearButton:hover{border-color:var(--o);color:var(--o)}
@media(max-width:600px){
  .indexComboControl{grid-template-columns:1fr 48px}
  .indexComboControl input{min-height:58px;font-size:16px!important;padding:0 12px!important}
  .indexOption{align-items:flex-start;flex-direction:column;gap:3px}
  .sectionActions{flex-direction:column}
  .sectionActions button{width:100%}
}

/* V8.2 reliable searchable index dropdown */
.simpleIndexCombo{
  position:relative;
  width:100%;
  margin-top:8px;
}
.simpleIndexCombo > input[type="text"]{
  width:100%;
  min-height:64px;
  border:2px solid var(--l);
  border-radius:3px;
  background:#fff;
  padding:0 58px 0 18px;
  font:600 17px Inter;
  color:#11191d;
  outline:none;
}
.simpleIndexCombo > input[type="text"]:focus{
  border-color:var(--o);
}
.simpleIndexArrow{
  position:absolute;
  right:2px;
  top:2px;
  width:52px;
  height:60px;
  border:0;
  border-left:1px solid var(--l);
  background:#f4f7f8;
  cursor:pointer;
  z-index:3;
}
.simpleIndexDropdown{
  position:absolute;
  top:70px;
  left:0;
  right:0;
  z-index:1000;
  max-height:420px;
  overflow-y:auto;
  background:#fff;
  border:1px solid var(--l);
  box-shadow:0 18px 45px rgba(0,0,0,.16);
}
.simpleIndexOption{
  width:100%;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:10px 14px;
  border:0;
  border-bottom:1px solid #edf1f2;
  background:#fff;
  text-align:left;
  cursor:pointer;
  color:#11191d;
}
.simpleIndexOption strong{
  font:600 13px Inter;
}
.simpleIndexOption span{
  flex:0 0 auto;
  color:var(--g);
  font-size:10px;
}
.simpleIndexOption:hover{
  background:#f2f6f7;
  color:var(--o);
}
.simpleIndexEmpty{
  padding:18px;
  color:var(--g);
  font-size:12px;
}

/* V8.3 fixed full clickable/searchable catalog index */
.indexOnlyFinder{display:block!important;padding:28px!important}
.indexPickerStep{width:100%!important;max-width:none!important;grid-column:1/-1!important;padding:0!important}
.catalogIndexPicker{position:relative!important;width:100%!important;margin-top:10px!important}
.catalogIndexInputRow{display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;width:100%!important;border:2px solid var(--l)!important;background:#fff!important}
.catalogIndexInputRow:focus-within{border-color:var(--o)!important}
.catalogIndexInputRow input{width:100%!important;min-width:0!important;min-height:66px!important;padding:0 18px!important;border:0!important;outline:0!important;background:#fff!important;font:600 17px Inter!important}
.catalogIndexArrow{min-height:66px!important;border:0!important;border-left:1px solid var(--l)!important;background:#f2f6f7!important;cursor:pointer!important}
.catalogIndexMenu{position:absolute!important;z-index:5000!important;top:calc(100% + 5px)!important;left:0!important;right:0!important;max-height:430px!important;overflow-y:auto!important;background:#fff!important;border:1px solid #bfcbd0!important;box-shadow:0 18px 45px rgba(0,0,0,.18)!important}
.catalogIndexMenu[hidden]{display:none!important}
.catalogIndexOption{width:100%!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:10px 14px!important;border:0!important;border-bottom:1px solid #edf1f2!important;background:#fff!important;text-align:left!important;cursor:pointer!important;font:600 13px Inter!important}
.catalogIndexOption:hover{background:#edf4f6!important;color:var(--o)!important}
.catalogIndexOption small{color:var(--g)!important;font-size:10px!important}
.catalogIndexEmpty{padding:18px!important;color:var(--g)!important;font-size:12px!important}
.indexSelectionStatus{margin-top:14px!important;color:var(--g)!important;font-size:12px!important;font-weight:700!important}
.finderSection .sectionActions{display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:16px!important}
@media(max-width:650px){.catalogIndexInputRow{grid-template-columns:minmax(0,1fr) 50px!important}.catalogIndexInputRow input{min-height:60px!important;padding:0 12px!important;font-size:16px!important}.catalogIndexArrow{min-height:60px!important}.catalogIndexOption{align-items:flex-start!important;flex-direction:column!important;gap:3px!important}.finderSection .sectionActions{flex-direction:column!important}.finderSection .sectionActions button{width:100%!important}}

/* V8.6 mountain + snowmobile background */
body{
  background:
    linear-gradient(rgba(236,244,247,.78),rgba(236,244,247,.88)),
    url("assets/mountain-snowmobile-background.png") center top / cover fixed no-repeat!important;
}
.finderSection{
  position:relative;
  background:
    linear-gradient(rgba(234,243,247,.64),rgba(234,243,247,.72)),
    url("assets/mountain-snowmobile-background.png") center 42% / cover no-repeat!important;
}
.finderSection .wrap{
  position:relative;
  z-index:1;
}
.finderSection .guided{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(2px);
}
#catalog{
  background:rgba(255,255,255,.96)!important;
}
@media(max-width:800px){
  body{background-attachment:scroll!important}
  .finderSection{background-position:center center!important}
}

/* V8.7 Custom Sheet Metal page keeps the original Sno-World colors, no photo */
body.sheetmetalPage{
  background:#edf4f6!important;
  background-image:none!important;
  background-attachment:initial!important;
}
body.sheetmetalPage .sheetHero,
body.sheetmetalPage .sheetmetalHero,
body.sheetmetalPage main{
  background-image:none!important;
}

/* V8.8 one combined catalog search area */
.combinedSearchPanel{
  margin-top:28px;
  padding:24px;
  background:rgba(255,255,255,.97);
  border:1px solid var(--l);
  box-shadow:0 14px 34px rgba(0,0,0,.07);
}
.combinedSearchGroup + .combinedSearchGroup{margin-top:20px}
.combinedSearchGroup label{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:1px;
  color:#11191d;
}
.combinedSearchPanel .catalogIndexPicker{
  position:relative!important;
  width:100%!important;
  margin:0!important;
}
.combinedSearchPanel .catalogIndexInputRow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 58px!important;
  width:100%!important;
  border:1px solid var(--l)!important;
  background:#fff!important;
}
.combinedSearchPanel .catalogIndexInputRow:focus-within{border-color:var(--o)!important}
.combinedSearchPanel .catalogIndexInputRow input{
  width:100%!important;
  min-width:0!important;
  min-height:58px!important;
  padding:0 16px!important;
  border:0!important;
  outline:0!important;
  background:#fff!important;
  font:600 16px Inter!important;
}
.combinedSearchPanel .catalogIndexArrow{
  min-height:58px!important;
  border:0!important;
  border-left:1px solid var(--l)!important;
  background:#f2f6f7!important;
  cursor:pointer!important;
}
.combinedSearchPanel .catalogIndexMenu{
  position:absolute!important;
  z-index:5000!important;
  top:calc(100% + 4px)!important;
  left:0!important;
  right:0!important;
  max-height:400px!important;
  overflow-y:auto!important;
  background:#fff!important;
  border:1px solid #bfcbd0!important;
  box-shadow:0 18px 45px rgba(0,0,0,.18)!important;
}
.combinedSearchPanel .catalogIndexMenu[hidden]{display:none!important}
.combinedSearchPanel .catalogIndexOption{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:10px 14px!important;
  border:0!important;
  border-bottom:1px solid #edf1f2!important;
  background:#fff!important;
  text-align:left!important;
  cursor:pointer!important;
  font:600 13px Inter!important;
}
.combinedSearchPanel .catalogIndexOption:hover{background:#edf4f6!important;color:var(--o)!important}
.combinedSearchPanel .catalogIndexOption small{color:var(--g)!important;font-size:10px!important}
.combinedSearchActions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.combinedSearchActions button{min-height:46px}
.combinedFilterRow{margin-top:15px!important}
@media(max-width:700px){
  .combinedSearchPanel{padding:16px}
  .combinedSearchActions{flex-direction:column}
  .combinedSearchActions button{width:100%}
  .combinedSearchPanel .catalogIndexInputRow{grid-template-columns:minmax(0,1fr) 50px!important}
}

/* V8.9 main catalog page cleanup */
body:not(.sheetmetalPage) #sheetmetal,
body:not(.sheetmetalPage) .sheetmetalSection,
body:not(.sheetmetalPage) .sheetMetalSection,
body:not(.sheetmetalPage) .sheet-metal-section,
body:not(.sheetmetalPage) .sheetmetalPromo{
  display:none!important;
}
.combinedSearchPanel .combinedSearchGroup{
  margin-top:0!important;
}

/* V9 About Sno-World page */
body.aboutPage{
  background:#edf4f6!important;
  background-image:none!important;
  background-attachment:initial!important;
}
.activeAbout{color:var(--o)!important}
.aboutHero{
  padding:100px 0;
  background:linear-gradient(115deg,#081015,#17303a);
  color:#fff;
}
.aboutHero h1{
  max-width:900px;
  font:800 clamp(58px,7vw,92px)/.9 'Barlow Condensed';
  text-transform:uppercase;
  margin:10px 0 24px;
}
.aboutHero p{
  max-width:760px;
  color:#cbd7db;
  font-size:18px;
}
.aboutStory{
  padding:90px 0;
  background:#fff;
}
.aboutStoryGrid{
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:80px;
  align-items:start;
}
.aboutStoryHeading h2,
.aboutValues h2,
.aboutCTA h2{
  font:800 52px/.94 'Barlow Condensed';
  text-transform:uppercase;
  margin:8px 0;
}
.aboutStoryCopy p{
  margin:0 0 20px;
  color:var(--g);
  line-height:1.75;
}
.historyHighlights{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:50px;
  background:var(--d);
  color:#fff;
}
.historyHighlights>div{
  padding:26px 22px;
  border-right:1px solid rgba(255,255,255,.12);
}
.historyHighlights>div:last-child{border-right:0}
.historyHighlights strong,
.historyHighlights span{display:block}
.historyHighlights strong{
  font:700 25px 'Barlow Condensed';
  text-transform:uppercase;
}
.historyHighlights span{
  margin-top:6px;
  color:#b9c5c9;
  font-size:11px;
}
.aboutValues{
  padding:90px 0;
  background:#edf4f6;
}
.aboutCards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:34px;
}
.aboutCards article{
  padding:26px;
  background:#fff;
  border:1px solid var(--l);
}
.aboutCards h3{
  font:700 25px/1 'Barlow Condensed';
  text-transform:uppercase;
  margin:0 0 10px;
}
.aboutCards p{
  margin:0;
  color:var(--g);
  font-size:12px;
  line-height:1.65;
}
.aboutCTA{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:36px;
  margin-top:45px;
  padding:34px;
  background:var(--d);
  color:#fff;
}
.aboutCTA p{
  max-width:700px;
  color:#b9c5c9;
}
.aboutCTA .btn{flex:0 0 auto}
@media(max-width:900px){
  .aboutStoryGrid{grid-template-columns:1fr;gap:28px}
  .historyHighlights,.aboutCards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .aboutHero{padding:72px 0}
  .aboutHero h1{font-size:58px}
  .historyHighlights,.aboutCards{grid-template-columns:1fr}
  .aboutCTA{align-items:flex-start;flex-direction:column}
}

/* V9.1 always-visible main navigation tabs */
.mainTabs{
  position:relative;
  z-index:10000;
  width:100%;
  background:#10191e;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:3px solid var(--o);
}
.mainTabsInner{
  display:flex;
  align-items:stretch;
  gap:0;
  overflow-x:auto;
  scrollbar-width:thin;
}
.mainTabs a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 22px;
  color:#fff!important;
  text-decoration:none!important;
  font-size:11px;
  font-weight:900;
  letter-spacing:.7px;
  white-space:nowrap;
  border-right:1px solid rgba(255,255,255,.1);
}
.mainTabs a:hover,
.mainTabs a.activeTab{
  background:var(--o);
  color:#fff!important;
}
@media(max-width:760px){
  .mainTabs a{min-height:48px;padding:0 15px;font-size:10px}
}

/* =========================================================
   V9.2 MOBILE-READY OVERRIDES
   ========================================================= */

html{
  -webkit-text-size-adjust:100%;
}

body{
  overflow-x:hidden;
}

img,svg,video,iframe{
  max-width:100%;
}

button,
input,
select,
textarea,
a{
  touch-action:manipulation;
}

button,
input,
select,
textarea{
  font-size:16px;
}

.mainTabs{
  position:sticky;
  top:0;
  z-index:20000;
}

.mainTabsInner{
  -webkit-overflow-scrolling:touch;
}

.catalogIndexOption,
.mainTabs a,
.btn,
.secondary,
.catalogIndexButton,
.viewPage{
  min-height:48px;
}

.catalogIndexMenu{
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.card{
  min-width:0;
}

.card h3,
.card p,
.card .sku,
.card .quote{
  overflow-wrap:anywhere;
}

@media(max-width:900px){
  .wrap{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .nav{
    min-height:68px!important;
    height:auto!important;
    gap:12px!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }

  .nav nav{
    display:none!important;
  }

  .logo{
    font-size:25px!important;
  }

  .mainTabs{
    position:sticky!important;
    top:0!important;
  }

  .mainTabsInner{
    padding-left:0!important;
    padding-right:0!important;
    overflow-x:auto!important;
    display:flex!important;
    flex-wrap:nowrap!important;
  }

  .mainTabs a{
    flex:0 0 auto!important;
    min-height:50px!important;
    padding:0 16px!important;
    font-size:10px!important;
  }

  .hero{
    min-height:430px!important;
    padding:60px 0!important;
    background-position:center center!important;
  }

  .hero h1{
    font-size:58px!important;
    max-width:100%!important;
  }

  .hero p{
    font-size:16px!important;
  }

  .quickgrid{
    grid-template-columns:1fr 1fr!important;
  }

  .heading,
  .intro,
  .aboutStoryGrid,
  .aboutStoryGrid,
  .metalAboutGrid,
  .sectionTitle{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }

  .catalog{
    padding-top:55px!important;
    padding-bottom:70px!important;
  }

  .combinedSearchPanel{
    margin-top:22px!important;
    padding:16px!important;
  }

  .catalogIndexInputRow{
    grid-template-columns:minmax(0,1fr) 52px!important;
  }

  .catalogIndexInputRow input{
    min-height:58px!important;
    padding:0 12px!important;
    font-size:16px!important;
  }

  .catalogIndexArrow{
    min-height:58px!important;
  }

  .catalogIndexMenu{
    max-height:55vh!important;
  }

  .catalogIndexOption{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:4px!important;
    padding:12px!important;
  }

  .combinedSearchActions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  .combinedSearchActions button{
    width:100%!important;
  }

  .combinedFilterRow,
  .filterrow{
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:6px!important;
  }

  .results{
    display:block!important;
  }

  .card{
    grid-template-columns:1fr!important;
    gap:13px!important;
    padding:18px 14px!important;
  }

  .card .quote{
    text-align:left!important;
  }

  .viewPage{
    width:100%!important;
    margin-top:8px!important;
  }

  .pager{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    gap:8px!important;
  }

  .pager button{
    min-height:46px!important;
  }

  .requestgrid,
  .footergrid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  .request input,
  .request textarea{
    font-size:16px!important;
  }

  .historyHighlights,
  .aboutCards,
  .metalServiceGrid,
  .ductGrid,
  .profileNames{
    grid-template-columns:1fr!important;
  }

  .aboutCTA,
  .metalCTA{
    flex-direction:column!important;
    align-items:flex-start!important;
  }

  .aboutCTA .btn,
  .metalCTA .btn{
    width:100%!important;
    text-align:center!important;
  }

  .referenceImage{
    overflow-x:auto!important;
  }

  .referenceImage img{
    min-width:760px;
  }
}

@media(max-width:520px){
  .hero h1{
    font-size:46px!important;
  }

  .heading h2,
  .intro h2,
  .aboutStoryHeading h2,
  .aboutValues h2,
  .metalAboutGrid h2,
  .sectionTitle h2{
    font-size:40px!important;
  }

  .quickgrid{
    grid-template-columns:1fr!important;
  }

  .mainTabs a{
    min-height:48px!important;
    padding:0 14px!important;
  }

  .catalogIndexMenu{
    max-height:50vh!important;
  }

  footer{
    font-size:11px!important;
  }
}

/* Mobile PDF behavior:
   iframe/modal remains for desktop; JS opens a new browser tab on smaller screens. */
@media(max-width:760px){
  #catalogModal{
    display:none!important;
  }
}

/* V9.3: use ONLY the original top navigation */
.mainTabs{display:none!important}

@media(max-width:900px){
  .nav{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
  }
  .nav nav{
    display:flex!important;
    width:100%!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch;
    padding-bottom:4px!important;
  }
  .nav nav a{
    flex:0 0 auto!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    padding:0 13px!important;
    white-space:nowrap!important;
    font-size:10px!important;
  }
}

/* V9.4 definitive always-visible top navigation */
.mainTabs{display:none!important}

.siteHeader{
  position:relative!important;
  z-index:20000!important;
  display:block!important;
  width:100%!important;
  background:#edf4f6!important;
  border-top:3px solid #10191e!important;
  box-shadow:0 1px 0 rgba(0,0,0,.08)!important;
}

.siteHeader .nav{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  min-height:78px!important;
  height:auto!important;
  overflow:visible!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}

.siteHeader .logo{
  flex:0 0 auto!important;
  display:flex!important;
  visibility:visible!important;
}

.siteHeader .topNavLinks{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:24px!important;
  flex-wrap:nowrap!important;
  width:auto!important;
  position:static!important;
  transform:none!important;
  overflow:visible!important;
}

.siteHeader .topNavLinks a{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  min-height:44px!important;
  color:#10191e!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:800!important;
  padding:0!important;
}

.siteHeader .topNavLinks a:hover{
  color:var(--o)!important;
}

.siteHeader .topNavLinks .navbtn{
  background:#10191e!important;
  color:#fff!important;
  border-radius:3px!important;
  padding:0 16px!important;
}

#menu,.menu,.hamb,.hamburger{
  display:none!important;
}

/* Keep every tab available on smaller screens: scroll sideways instead of hiding. */
@media(max-width:1150px){
  .siteHeader .nav{
    flex-wrap:wrap!important;
    gap:6px!important;
    padding-left:14px!important;
    padding-right:14px!important;
  }

  .siteHeader .topNavLinks{
    width:100%!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
    padding-bottom:4px!important;
  }

  .siteHeader .topNavLinks a{
    flex:0 0 auto!important;
    min-height:46px!important;
    padding:0 14px!important;
    font-size:10px!important;
    border-right:1px solid #d6e0e4!important;
  }

  .siteHeader .topNavLinks .navbtn{
    border-radius:0!important;
  }
}

/* V9.5 real duct-work reference photos */
.realDuctGrid{
  grid-template-columns:repeat(3,1fr)!important;
  gap:18px!important;
}
.realDuctCard{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--l);
}
.ductPhotoLink{
  display:block;
  background:#f3f6f7;
  border-bottom:1px solid var(--l);
}
.realDuctCard img{
  display:block;
  width:100%;
  height:230px;
  object-fit:contain;
  padding:10px;
  background:#fff;
}
.realDuctCard img.ductFallback{
  background:#f5f8f9;
}
.ductCardBody{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:18px;
}
.realDuctCard .ductCardBody h3{
  padding:0!important;
  margin:0 0 9px!important;
  font:700 23px/1 'Barlow Condensed';
  text-transform:uppercase;
}
.realDuctCard .ductCardBody p{
  margin:0 0 14px;
  color:var(--g);
  font-size:12px;
  line-height:1.55;
}
.ductSource{
  margin-top:auto;
  color:var(--o);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.4px;
}
.ductPhotoNotice{
  margin-top:18px;
  padding:14px 16px;
  background:#f1f5f6;
  border-left:4px solid var(--o);
  color:var(--g);
  font-size:11px;
  line-height:1.55;
}
.ductPhotoNotice strong{color:#11191d}
@media(max-width:900px){
  .realDuctGrid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:580px){
  .realDuctGrid{grid-template-columns:1fr!important}
  .realDuctCard img{height:220px}
}

/* V9.6 supplied Sno-World logo */
.siteHeader .logo{
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  text-decoration:none!important;
}
.siteHeader .logo img{
  display:block!important;
  width:auto!important;
  height:62px!important;
  max-width:190px!important;
  object-fit:contain!important;
}
@media(max-width:1150px){
  .siteHeader .logo img{
    height:56px!important;
    max-width:175px!important;
  }
}
@media(max-width:520px){
  .siteHeader .logo img{
    height:50px!important;
    max-width:155px!important;
  }
}

/* V9.8 required Parts Request fields */
.requiredNote{
  margin:4px 0 10px;
  color:#5d6d74;
  font-size:11px;
  font-weight:700;
}
#requestForm input:required:invalid,
#requestForm textarea:required:invalid{
  box-shadow:none;
}
#requestForm input:focus:required:invalid,
#requestForm textarea:focus:required:invalid{
  border-color:#f15a29!important;
}

/* V10 Sales page */
body.salesPage{
  background:#edf4f6!important;
  background-image:none!important;
}
.activeSales{color:var(--o)!important}
.salesHero{
  padding:85px 0;
  background:#10191e;
  color:#fff;
}
.salesHero h1{
  margin:8px 0 18px;
  font:800 clamp(56px,7vw,88px)/.9 'Barlow Condensed';
  text-transform:uppercase;
}
.salesHero p{
  max-width:760px;
  color:#c4d0d4;
  font-size:17px;
  line-height:1.6;
}
.salesSection{
  padding:75px 0 90px;
  background:#edf4f6;
}
.salesHeading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
  align-items:end;
  margin-bottom:30px;
}
.salesHeading h2{
  margin:6px 0 0;
  font:800 50px/.95 'Barlow Condensed';
  text-transform:uppercase;
}
.salesHeading>p{
  color:var(--g);
  line-height:1.6;
}
.salesGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.saleCard{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--l);
  box-shadow:0 10px 26px rgba(0,0,0,.05);
}
.saleCard img,
.saleImagePlaceholder{
  width:100%;
  height:240px;
  object-fit:contain;
  background:#f5f7f8;
}
.saleImagePlaceholder{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#8a989e;
  font:800 18px 'Barlow Condensed';
  letter-spacing:1px;
}
.saleCardBody{padding:20px}
.saleBadge{
  display:inline-block;
  padding:5px 9px;
  background:var(--o);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}
.saleCard h3{
  margin:12px 0 8px;
  font:700 28px/1 'Barlow Condensed';
  text-transform:uppercase;
}
.saleDescription{
  min-height:58px;
  color:var(--g);
  font-size:12px;
  line-height:1.55;
}
.salePart{
  margin:15px 0;
  padding-top:12px;
  border-top:1px solid var(--l);
  font-size:11px;
  font-weight:800;
}
.salePrices{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:17px;
}
.regularPrice{
  color:#7b898f;
  font-size:12px;
  text-decoration:line-through;
}
.salePrice{
  color:var(--o);
  font:700 24px 'Barlow Condensed';
}
.saleContact{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  background:#10191e;
  color:#fff!important;
  text-decoration:none;
  font-size:11px;
  font-weight:900;
}
.salesEmptyNote{
  margin-top:25px;
  padding:16px;
  background:#fff;
  border-left:4px solid var(--o);
  color:var(--g);
  font-size:12px;
}
.salesEmptyNote strong{color:#10191e}
@media(max-width:900px){
  .salesHeading{grid-template-columns:1fr;gap:12px}
  .salesGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
  .salesHero{padding:60px 0}
  .salesGrid{grid-template-columns:1fr}
  .saleCard img,.saleImagePlaceholder{height:220px}
}

/* V10.1 approved mountain/snowmobile homepage */
.homepageVisualHero{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  aspect-ratio:1536/879!important;
  padding:0!important;
  margin:0!important;
  background:
    url("assets/sno-world-mountain-hero.jpg")
    center center / cover no-repeat!important;
  display:block!important;
  overflow:hidden!important;
}

.homepageVisualHero .heroVisualOverlay{
  position:absolute;
  inset:0;
}

/* Clickable invisible area over the PARTS FINDER button baked into the approved hero image. */
.heroPartsHotspot{
  position:absolute;
  left:4.2%;
  top:73.5%;
  width:17.5%;
  height:8.2%;
  min-width:150px;
  min-height:46px;
  border-radius:5px;
  cursor:pointer;
}

.heroPartsHotspot:focus-visible{
  outline:4px solid #fff;
  outline-offset:3px;
}

/* Make the functional live header match the approved design more closely. */
.siteHeader{
  background:#fff!important;
  border-top:0!important;
  box-shadow:none!important;
}

.siteHeader .nav{
  min-height:116px!important;
}

.siteHeader .logo img{
  height:86px!important;
  max-width:205px!important;
}

.siteHeader .topNavLinks{
  gap:30px!important;
}

.siteHeader .topNavLinks a{
  font-size:14px!important;
  font-weight:800!important;
}

.siteHeader .topNavLinks .navbtn{
  min-height:58px!important;
  padding:0 22px!important;
  background:#071118!important;
  border-radius:4px!important;
}

/* Keep the catalog/search content clean beneath the photographic homepage. */
#catalog{
  background:#fff!important;
  padding-top:75px!important;
}

@media(max-width:1150px){
  .siteHeader .nav{
    min-height:78px!important;
  }
  .siteHeader .logo img{
    height:64px!important;
    max-width:180px!important;
  }
  .siteHeader .topNavLinks{
    gap:0!important;
  }
  .siteHeader .topNavLinks a{
    font-size:11px!important;
  }
}

@media(max-width:760px){
  .homepageVisualHero{
    aspect-ratio:1536/879!important;
    background-position:center center!important;
  }

  /* Increase tappable area while preserving the visual position. */
  .heroPartsHotspot{
    left:4%;
    top:70%;
    width:24%;
    height:12%;
    min-width:120px;
    min-height:44px;
  }

  .siteHeader .logo img{
    height:58px!important;
  }
}

@media(max-width:520px){
  .homepageVisualHero{
    /* Show more of the left text/button while still keeping riders visible. */
    aspect-ratio:4/3!important;
    background-size:cover!important;
    background-position:43% center!important;
  }

  .heroPartsHotspot{
    left:4%;
    top:70%;
    width:35%;
    height:12%;
  }
}

/* V10.2 Sno-World Facebook navigation link */
.siteHeader .topNavLinks .facebookNav{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  color:#1877f2!important;
  font-weight:900!important;
}
.facebookIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  background:#1877f2;
  color:#fff;
  font:bold 22px/1 Arial,sans-serif;
}
.siteHeader .topNavLinks .facebookNav:hover{
  color:#0f5fc4!important;
}
@media(max-width:1150px){
  .siteHeader .topNavLinks .facebookNav{
    padding:0 14px!important;
  }
}
@media(max-width:520px){
  .facebookText{display:none}
}

/* V10.3 Google Maps homepage location */
.locationSection{
  padding:75px 0 80px;
  background:#edf4f6;
}
.locationHeading{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:45px;
  align-items:end;
  margin-bottom:26px;
}
.locationHeading h2{
  margin:6px 0 0;
  font:800 52px/.95 'Barlow Condensed';
  text-transform:uppercase;
}
.locationDetails{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  color:var(--g);
  font-size:13px;
}
.locationDetails strong{
  color:#10191e;
  font-size:18px;
}
.locationDetails a{
  margin-top:8px;
  color:var(--o);
  font-size:11px;
  font-weight:900;
  text-decoration:none;
}
.googleMapEmbed{
  overflow:hidden;
  background:#fff;
  border:1px solid var(--l);
  box-shadow:0 12px 30px rgba(0,0,0,.06);
}
.googleMapEmbed iframe{
  display:block;
  width:100%;
}
@media(max-width:760px){
  .locationSection{
    padding:55px 0 60px;
  }
  .locationHeading{
    grid-template-columns:1fr;
    gap:18px;
  }
  .locationHeading h2{
    font-size:42px;
  }
  .googleMapEmbed iframe{
    height:340px;
  }
}

.partsRequestDirectNote{
  margin:2px 0 8px;
  color:#26343a;
  font-size:11px;
  font-weight:800;
}

/* V10.5 sticky top navigation */
.siteHeader{
  position:sticky!important;
  position:-webkit-sticky!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:50000!important;
  width:100%!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 3px 14px rgba(0,0,0,.10)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.siteHeader .nav{
  min-height:86px!important;
  height:auto!important;
}
#catalog,#used,#request,#location{
  scroll-margin-top:115px!important;
}
.siteHeader .topNavLinks{
  display:flex!important;
  align-items:center!important;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:1150px){
  .siteHeader{
    position:sticky!important;
    top:0!important;
  }
  .siteHeader .nav{
    min-height:68px!important;
    padding-top:6px!important;
    padding-bottom:5px!important;
  }
  .siteHeader .logo img{
    height:52px!important;
    max-width:160px!important;
  }
  .siteHeader .topNavLinks{
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    flex-wrap:nowrap!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin!important;
  }
  .siteHeader .topNavLinks a{
    flex:0 0 auto!important;
  }
  #catalog,#used,#request,#location{
    scroll-margin-top:125px!important;
  }
}
@media(max-width:520px){
  .siteHeader .nav{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .siteHeader .logo img{
    height:46px!important;
    max-width:145px!important;
  }
  #catalog,#used,#request,#location{
    scroll-margin-top:120px!important;
  }
}

body.catalogIndexPage{background:#edf4f6!important;background-image:none!important}
.activeCatalogIndex{color:var(--o)!important}
.catalogIndexHero{padding:70px 0;background:#10191e;color:#fff}
.catalogIndexHero h1{margin:8px 0 16px;font:800 clamp(54px,7vw,84px)/.9 'Barlow Condensed';text-transform:uppercase}
.catalogIndexHero p{max-width:780px;color:#c4d0d4;font-size:16px}
.catalogIndexWebSection{padding:50px 0 75px}
.catalogIndexWebSearch{padding:20px;background:#fff;border:1px solid var(--l)}
.catalogIndexWebSearch label{display:block;margin-bottom:8px;font-size:11px;font-weight:900;letter-spacing:1px}
.catalogIndexWebSearch input{width:100%;min-height:54px;padding:0 15px;border:1px solid var(--l);font:16px Inter}
#webIndexCount{margin-top:8px;color:var(--g);font-size:11px;font-weight:700}
.catalogIndexWebLayout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.5fr);gap:22px;margin-top:22px;align-items:start}
.catalogIndexWebList{max-height:72vh;overflow-y:auto;background:#fff;border:1px solid var(--l)}
.webIndexItem{width:100%;min-height:48px;display:flex;justify-content:space-between;gap:15px;padding:10px 14px;border:0;border-bottom:1px solid #edf1f2;background:#fff;text-align:left;cursor:pointer;font:600 13px Inter}
.webIndexItem:hover{background:#edf4f6;color:var(--o)}
.webIndexItem small{color:var(--g);font-size:10px}
.webIndexNoResults{padding:18px;color:var(--g);font-size:12px}
.webIndexSelectionEmpty,.webIndexSelection{padding:28px;background:#fff;border:1px solid var(--l)}
.webIndexSelection h2,.webIndexSelectionEmpty h2,.webCatalogViewerTop h2{margin:6px 0 10px;font:700 34px/1 'Barlow Condensed';text-transform:uppercase}
.webIndexPageButtons{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.webIndexPageButtons button{min-height:44px;padding:0 14px;border:0;background:#10191e;color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.webCatalogViewer{margin-top:18px;padding:16px;background:#fff;border:1px solid var(--l)}
.webCatalogViewerTop{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:12px}
.webCatalogViewerTop button{min-height:42px;padding:0 14px;border:1px solid var(--l);background:#fff;font-size:11px;font-weight:800}
.webCatalogViewer iframe{display:block;width:100%;height:72vh;border:1px solid var(--l);background:#f5f7f8}
@media(max-width:900px){.catalogIndexWebLayout{grid-template-columns:1fr}.catalogIndexWebList{max-height:48vh}.webCatalogViewer iframe{height:65vh}}
@media(max-width:580px){.webIndexItem{flex-direction:column;gap:3px}.webCatalogViewer iframe{height:58vh}}

/* V10.7 catalog index navigation improvement */
#webIndexSelection,
#webCatalogViewer{
  scroll-margin-top:125px;
}
@media(max-width:1150px){
  #webIndexSelection,
  #webCatalogViewer{
    scroll-margin-top:140px;
  }
}

.activePromotions{color:var(--o)!important}
.homePromotions{padding:28px 0 34px;background:#10191e;color:#fff;border-bottom:4px solid var(--o)}
.homePromotions[hidden]{display:none!important}
.homePromotionsHeading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}
.homePromotionsHeading h2{margin:3px 0 0;font:800 42px/.95 'Barlow Condensed';text-transform:uppercase}
.viewAllPromotions{color:#fff;text-decoration:none;font-size:11px;font-weight:900}
.promoCarousel,.promoSlides{position:relative;min-height:270px}
.promoSlide{display:none;grid-template-columns:minmax(260px,.9fr) minmax(0,1.35fr);min-height:270px;background:#fff;color:#10191e;text-decoration:none;overflow:hidden}
.promoSlide.active{display:grid}
.promoSlide img,.promoImagePlaceholder{width:100%;height:100%;min-height:270px;object-fit:cover}
.promoImagePlaceholder{display:flex;align-items:center;justify-content:center;background:#26343a;color:#fff;font:800 28px/1 'Barlow Condensed'}
.promoSlideContent{display:flex;flex-direction:column;justify-content:center;padding:30px 38px}
.promoDates{margin-bottom:8px;color:var(--o);font-size:11px;font-weight:900;text-transform:uppercase}
.promoSlideContent h3{margin:0 0 12px;font:800 42px/.95 'Barlow Condensed';text-transform:uppercase}
.promoSlideContent p{margin:0 0 18px;color:#58656b;line-height:1.55;white-space:pre-line}
.promoSlideContent span{font-size:11px;font-weight:900}
.promoArrow{position:absolute;top:50%;z-index:5;width:44px;height:44px;transform:translateY(-50%);border:0;border-radius:50%;background:rgba(16,25,30,.88);color:#fff;font-size:30px;cursor:pointer}.promoPrev{left:12px}.promoNext{right:12px}
.promoDots{display:flex;justify-content:center;gap:7px;padding-top:14px}.promoDot{width:8px;height:8px;border:0;border-radius:50%;background:#647076;padding:0}.promoDot.active{background:var(--o)}
body.promotionsPage{background:#edf4f6!important;background-image:none!important}.promotionsHero{padding:70px 0;background:#10191e;color:#fff}.promotionsHero h1{margin:8px 0 14px;font:800 clamp(54px,7vw,84px)/.9 'Barlow Condensed';text-transform:uppercase}.promotionsHero p{color:#c4d0d4}
.promotionsListingSection{padding:55px 0 80px}.promotionsPageList{display:flex;flex-direction:column;gap:24px}.promotionDetailCard{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);background:#fff;border:1px solid var(--l);scroll-margin-top:125px}.promotionDetailImage img{display:block;width:100%;height:100%;min-height:340px;object-fit:cover}.promotionDetailContent{padding:38px;align-self:center}.promotionDetailContent h2{margin:6px 0 15px;font:800 44px/.95 'Barlow Condensed';text-transform:uppercase}.promotionDetailContent p{color:#58656b;line-height:1.65;white-space:pre-line}.promotionRequestButton{display:inline-flex;margin-top:14px;min-height:44px;align-items:center;padding:0 16px;background:#10191e;color:#fff;text-decoration:none;font-size:11px;font-weight:900}
.promotionsPageEmpty{padding:50px 30px;background:#fff;border:1px solid var(--l);text-align:center}
.promotionAdminSection{padding:65px 0;background:#10191e}.promotionAdminCard{background:#fff}.promotionAdminIntro{padding:28px 30px 20px;border-bottom:1px solid var(--l)}.promotionAdminIntro h2{margin:5px 0 8px;font:800 38px/.95 'Barlow Condensed';text-transform:uppercase}.promotionAdminIntro p{margin:0;color:#68757a}
.adminLoginPanel,.promotionAdminPanel{padding:28px 30px 32px}.promotionLoginForm{display:flex;align-items:end;gap:12px;max-width:620px}.promotionLoginForm label{flex:1}.promotionLoginForm label,.promotionForm label{display:flex;flex-direction:column;gap:7px;font-size:10px;font-weight:900}.promotionLoginForm input,.promotionForm input,.promotionForm textarea{width:100%;box-sizing:border-box;border:1px solid var(--l);padding:12px 13px}.promotionLoginForm button,.promotionFormActions button,.promotionAdminToolbar button{min-height:46px;border:0;background:#10191e;color:#fff;padding:0 17px;font-size:10px;font-weight:900;cursor:pointer}.promotionLoginMessage{color:#b00020;font-size:11px;font-weight:700}
.promotionAdminToolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.adminSecondaryButton{background:#e9eef0!important;color:#10191e!important}.promotionForm{display:grid;gap:16px;max-width:850px}.promotionDateGrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.promotionFormActions{display:flex;gap:10px}.promotionCurrentImageNote{margin-top:-7px;color:#68757a;font-size:11px}
.adminPromotionListWrap{margin-top:35px;padding-top:25px;border-top:1px solid var(--l)}.adminPromotionList{display:flex;flex-direction:column;gap:10px}.adminPromotionItem{display:grid;grid-template-columns:110px 1fr auto;gap:14px;align-items:center;padding:10px;border:1px solid var(--l)}.adminPromotionItem img,.adminPromoThumbPlaceholder{width:110px;height:72px;object-fit:cover}.adminPromoThumbPlaceholder{display:flex;align-items:center;justify-content:center;background:#e9eef0;font-size:9px;font-weight:800}.adminPromotionItemInfo{display:flex;flex-direction:column;gap:4px}.adminPromotionItemInfo span{font-size:11px;color:#68757a}.adminPromotionStatus{width:max-content;padding:3px 7px;font-size:9px;font-weight:900;text-transform:uppercase;background:#e9eef0}.adminPromotionStatus.active{background:#e3f5e8;color:#17682d}.adminPromotionStatus.scheduled{background:#fff2cc;color:#745600}.adminPromotionStatus.expired{background:#f0f0f0;color:#6b6b6b}.adminPromotionItemActions{display:flex;gap:7px}.adminPromotionItemActions button{min-height:38px;border:0;padding:0 12px;background:#10191e;color:#fff;font-size:9px;font-weight:900}.adminPromotionItemActions .dangerButton{background:#a72626}
@media(max-width:800px){.promoSlide.active{grid-template-columns:1fr}.promotionDetailCard{grid-template-columns:1fr}.promotionLoginForm{align-items:stretch;flex-direction:column}.adminPromotionItem{grid-template-columns:90px 1fr}.adminPromotionItemActions{grid-column:1/-1}}
@media(max-width:560px){.homePromotionsHeading{align-items:flex-start;flex-direction:column}.promotionDateGrid{grid-template-columns:1fr}.promotionAdminIntro,.adminLoginPanel,.promotionAdminPanel{padding-left:18px;padding-right:18px}}

/* V10.8.1 promotions reliability fix */
.localFileWarning{
  margin:20px 30px 0;
  padding:14px 16px;
  border:1px solid #f0c36d;
  background:#fff4cf;
  color:#5e4700;
  font-size:12px;
  line-height:1.5;
}
.homePromotions:not([hidden]){
  display:block!important;
}

/* =========================================================
   V10.8.2 - COMPACT PROMOTION OVER MOUNTAIN HERO
   ========================================================= */
.homepageVisualHero{
  position:relative!important;
}

.mountainPromotionOverlay{
  position:absolute;
  z-index:20;
  top:22px;
  left:50%;
  width:min(760px,calc(100% - 48px));
  transform:translateX(-50%);
  pointer-events:none;
}

.mountainPromotionOverlay .homePromotions{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  color:#10191e!important;
  pointer-events:auto;
}

.mountainPromotionOverlay .homePromotions .wrap{
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}

.mountainPromotionOverlay .homePromotionsHeading{
  display:none!important;
}

.mountainPromotionOverlay .promoCarousel,
.mountainPromotionOverlay .promoSlides{
  min-height:0!important;
}

.mountainPromotionOverlay .promoSlide{
  grid-template-columns:180px minmax(0,1fr)!important;
  min-height:135px!important;
  max-height:155px!important;
  border-radius:5px;
  overflow:hidden;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 8px 28px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.8);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.mountainPromotionOverlay .promoSlide img,
.mountainPromotionOverlay .promoImagePlaceholder{
  min-height:135px!important;
  height:100%!important;
  max-height:155px!important;
}

.mountainPromotionOverlay .promoImagePlaceholder{
  font-size:20px!important;
  text-align:center;
  padding:12px;
  box-sizing:border-box;
}

.mountainPromotionOverlay .promoSlideContent{
  padding:16px 22px!important;
}

.mountainPromotionOverlay .promoDates{
  margin-bottom:4px!important;
  font-size:9px!important;
}

.mountainPromotionOverlay .promoSlideContent h3{
  margin:0 0 6px!important;
  font-size:28px!important;
  line-height:.95!important;
}

.mountainPromotionOverlay .promoSlideContent p{
  display:-webkit-box;
  margin:0 0 8px!important;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  font-size:11px!important;
  line-height:1.35!important;
}

.mountainPromotionOverlay .promoSlideContent span{
  font-size:9px!important;
}

.mountainPromotionOverlay .promoArrow{
  width:32px!important;
  height:32px!important;
  font-size:22px!important;
}

.mountainPromotionOverlay .promoPrev{left:7px!important}
.mountainPromotionOverlay .promoNext{right:7px!important}

.mountainPromotionOverlay .promoDots{
  padding-top:7px!important;
}

.mountainPromotionOverlay .promoDot{
  width:7px!important;
  height:7px!important;
  box-shadow:0 1px 3px rgba(0,0,0,.35);
}

@media(max-width:700px){
  .mountainPromotionOverlay{
    top:12px;
    width:calc(100% - 24px);
  }

  .mountainPromotionOverlay .promoSlide.active{
    display:grid!important;
    grid-template-columns:105px minmax(0,1fr)!important;
  }

  .mountainPromotionOverlay .promoSlide,
  .mountainPromotionOverlay .promoSlide img,
  .mountainPromotionOverlay .promoImagePlaceholder{
    min-height:115px!important;
    max-height:130px!important;
  }

  .mountainPromotionOverlay .promoSlideContent{
    padding:12px 14px!important;
  }

  .mountainPromotionOverlay .promoSlideContent h3{
    font-size:22px!important;
  }

  .mountainPromotionOverlay .promoSlideContent p{
    font-size:10px!important;
  }
}

@media(max-width:430px){
  .mountainPromotionOverlay .promoSlide.active{
    grid-template-columns:88px minmax(0,1fr)!important;
  }

  .mountainPromotionOverlay .promoSlideContent{
    padding:10px 11px!important;
  }

  .mountainPromotionOverlay .promoSlideContent h3{
    font-size:19px!important;
  }

  .mountainPromotionOverlay .promoDates{
    font-size:8px!important;
  }
}

/* =========================================================
   V10.9 SEPARATE PARTS / REQUEST / HIDDEN ADMIN
   ========================================================= */

.activePartsFinder,
.activeRequestPart{
  color:var(--o)!important;
}

.subpageHero{
  padding:62px 0;
  background:#10191e;
  color:#fff;
}
.subpageHero h1{
  margin:6px 0 12px;
  font:800 clamp(50px,7vw,78px)/.92 'Barlow Condensed';
  text-transform:uppercase;
}
.subpageHero p{
  margin:0;
  max-width:760px;
  color:#c4d0d4;
  line-height:1.6;
}

/* barely-visible admin link under map */
.subtleAdminLinkWrap{
  display:flex;
  justify-content:flex-end;
  padding-top:5px;
}
.subtleAdminLink{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(80,90,95,.32);
  font:500 8px/1 Inter;
  letter-spacing:.4px;
  text-transform:lowercase;
  cursor:pointer;
  padding:3px 2px;
}
.subtleAdminLink:hover{
  color:rgba(80,90,95,.7);
}

/* admin login popup */
.adminLoginModal[hidden]{display:none!important}
.adminLoginModal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.adminLoginBackdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.55);
  backdrop-filter:blur(3px);
}
.adminLoginPopup{
  position:relative;
  z-index:1;
  width:min(390px,100%);
  padding:26px;
  background:#fff;
  box-shadow:0 18px 55px rgba(0,0,0,.32);
}
.adminLoginPopup h2{
  margin:5px 0 18px;
  font:800 34px/.95 'Barlow Condensed';
  text-transform:uppercase;
}
.adminLoginPopup label{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:10px;
  font-weight:900;
}
.adminLoginPopup input{
  min-height:46px;
  padding:0 12px;
  border:1px solid var(--l);
}
.adminLoginPopup form > button{
  margin-top:12px;
  min-height:44px;
  border:0;
  background:#10191e;
  color:#fff;
  padding:0 18px;
  font-size:10px;
  font-weight:900;
  cursor:pointer;
}
.adminLoginClose{
  position:absolute;
  top:8px;
  right:10px;
  border:0;
  background:transparent;
  font-size:25px;
  cursor:pointer;
  color:#66747a;
}
.hiddenAdminLoginMessage,
#standaloneAdminMessage{
  margin-top:9px;
  color:#a51f1f;
  font-size:11px;
  font-weight:700;
}

/* standalone admin page intentionally has no public navigation */
body.standaloneAdminPage{
  min-height:100vh;
  margin:0;
  background:#10191e!important;
  background-image:none!important;
}
.standaloneAdminMain{
  padding:45px 18px 70px;
}
.standaloneAdminShell{
  width:min(980px,100%);
  margin:0 auto;
  background:#fff;
  box-shadow:0 18px 60px rgba(0,0,0,.25);
}
.standaloneAdminBrand{
  display:flex;
  align-items:center;
  gap:20px;
  padding:24px 30px;
  border-bottom:1px solid var(--l);
}
.standaloneAdminBrand img{
  width:150px;
  height:auto;
}
.standaloneAdminBrand h1{
  margin:4px 0 0;
  font:800 40px/.95 'Barlow Condensed';
  text-transform:uppercase;
}
.standaloneAdminLocked{
  padding:30px;
}
.standaloneAdminLocked h2{
  margin:0 0 18px;
  font:800 32px/.95 'Barlow Condensed';
  text-transform:uppercase;
}
.standaloneAdminLocked form{
  display:flex;
  align-items:end;
  gap:10px;
  max-width:560px;
}
.standaloneAdminLocked label{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:10px;
  font-weight:900;
}
.standaloneAdminLocked input{
  min-height:46px;
  border:1px solid var(--l);
  padding:0 12px;
}
.standaloneAdminLocked button{
  min-height:46px;
  border:0;
  background:#10191e;
  color:#fff;
  padding:0 17px;
  font-size:10px;
  font-weight:900;
}

@media(max-width:600px){
  .standaloneAdminBrand{
    align-items:flex-start;
    flex-direction:column;
  }
  .standaloneAdminLocked form{
    align-items:stretch;
    flex-direction:column;
  }
}

/* V10.9.1 admin-link visibility fix */
.subtleAdminLinkWrap{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  width:100%!important;
  margin-top:8px!important;
  padding:0 2px 2px!important;
  position:relative!important;
  z-index:20!important;
}
.subtleAdminLink{
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:rgba(70,78,82,.58)!important;
  font:500 9px/1 Inter,Arial,sans-serif!important;
  letter-spacing:.35px!important;
  text-transform:lowercase!important;
  cursor:pointer!important;
  padding:4px 5px!important;
  min-width:auto!important;
  min-height:auto!important;
  position:relative!important;
  z-index:21!important;
}
.subtleAdminLink:hover{
  color:rgba(40,46,50,.9)!important;
  text-decoration:underline!important;
}

/* V10.9.4 dynamic seasonal business hours */
.currentHoursBlock{
  margin-top:12px;
  padding:12px 14px;
  border-left:3px solid var(--o);
  background:rgba(255,255,255,.62);
  max-width:430px;
}
.currentHoursLabel{
  margin-bottom:4px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.9px;
  color:#6b767b;
}
.currentOpenHours{
  font-size:15px;
  font-weight:800;
  color:#152126;
}
.currentHoursSeason{
  margin-top:3px;
  font-size:10px;
  color:#6f7b80;
}

/* V10.9.5 translucent current-hours box */
.currentHoursBlock{
  background:rgba(255,255,255,.28)!important;
  border:1px solid rgba(255,255,255,.34);
  border-left:3px solid var(--o)!important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}

/* V10.9.8 - white background behind Sno-World header logo */
.siteHeader img[src*="sno-world-logo"],
.siteHeader .logo img,
.siteHeader .brand img {
  background: #ffffff !important;
  padding: 5px 8px;
  border-radius: 4px;
  box-sizing: border-box;
}


/* =========================================================
   V10.10 - Sno-World visual refresh based on approved mockup
   IMPORTANT: Sheetmetal page deliberately excluded.
   ========================================================= */

:root{
  --sw-red:#c9141d;
  --sw-red-dark:#9f0e16;
  --sw-navy:#06101a;
  --sw-blue:#123c68;
  --sw-black:#07090c;
  --sw-panel:rgba(10,15,20,.78);
  --sw-line:rgba(255,255,255,.20);
}

/* New supplied logo */
.siteHeader .logo img{
  width:145px;
  max-height:88px;
  height:auto;
  object-fit:contain;
  background:#fff!important;
  padding:4px 8px!important;
  border-radius:0!important;
}

/* White premium header on every page except Sheetmetal */
body:not(.sheetmetalPage) .siteHeader{
  position:sticky!important;
  top:0!important;
  z-index:50000!important;
  background:#fff!important;
  border-bottom:4px solid #101820!important;
  box-shadow:0 2px 15px rgba(0,0,0,.12)!important;
}
body:not(.sheetmetalPage) .siteHeader .nav{
  height:106px!important;
  max-width:1420px!important;
}
body:not(.sheetmetalPage) .topNavLinks{
  gap:30px!important;
}
body:not(.sheetmetalPage) .topNavLinks > a{
  color:#111!important;
  background:transparent!important;
  border-radius:0!important;
  padding:11px 0!important;
  font-family:'Barlow Condensed',Arial,sans-serif!important;
  font-size:17px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  letter-spacing:.15px!important;
  position:relative;
}
body:not(.sheetmetalPage) .topNavLinks > a:not(.facebookNav):not(.navbtn):hover::after,
body:not(.sheetmetalPage) .topNavLinks > a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:3px;
  background:var(--sw-red);
}
body:not(.sheetmetalPage) .topNavLinks .navbtn{
  background:var(--sw-red)!important;
  color:#fff!important;
  padding:11px 15px!important;
  border-radius:3px!important;
}
body:not(.sheetmetalPage) .facebookNav{
  color:#244f8f!important;
}
body:not(.sheetmetalPage) .facebookIcon{
  background:#244f8f!important;
  color:#fff!important;
}

/* Homepage hero */
.homePage .homepageVisualHero{
  min-height:615px!important;
  height:auto!important;
  padding:0!important;
  position:relative!important;
  background-position:center center!important;
  background-size:cover!important;
  border-bottom:4px solid #e7e9eb;
}
.homePage .homepageVisualHero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,9,16,.80) 0%,rgba(3,9,16,.48) 38%,rgba(3,9,16,.12) 72%,rgba(3,9,16,.06) 100%);
  pointer-events:none;
}
.referenceHeroContent{
  position:relative;
  z-index:6;
  min-height:615px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding-top:72px!important;
  padding-bottom:30px!important;
}
.referenceHeroCopy{
  color:#fff;
  max-width:570px;
  text-shadow:0 2px 12px rgba(0,0,0,.30);
}
.referenceHeroCopy h1{
  margin:0!important;
  font:800 86px/.88 'Barlow Condensed',Arial!important;
  letter-spacing:1px;
  color:#fff!important;
  text-transform:uppercase;
}
.referenceHeroCopy h2{
  margin:8px 0 0!important;
  font:700 37px/1 'Barlow Condensed',Arial!important;
  color:#fff!important;
  text-transform:uppercase;
}
.referenceHeroRule{
  width:285px;
  height:3px;
  background:var(--sw-red);
  margin:22px 0 18px;
}
.referenceHeroCopy p{
  margin:0 0 20px!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.38!important;
}
.referencePartsFinder{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:13px 22px;
  background:linear-gradient(#d91a23,#b80f17);
  color:#fff;
  border-radius:4px;
  font:800 22px 'Barlow Condensed',Arial;
  box-shadow:0 5px 14px rgba(0,0,0,.3);
}
.referencePartsFinder:hover{transform:translateY(-1px)}
.referencePartsIcon{font-size:18px}
.referencePartsCaption{
  color:#fff;
  font-size:16px;
  margin-top:6px;
}
.referenceQuickLinks{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:28px;
}
.referenceQuickCard{
  min-height:116px;
  display:flex;
  align-items:center;
  gap:22px;
  padding:19px 22px;
  color:#fff;
  background:linear-gradient(135deg,rgba(12,17,23,.82),rgba(34,38,42,.72));
  border:1px solid rgba(255,255,255,.42);
  border-radius:6px;
  box-shadow:0 9px 24px rgba(0,0,0,.20);
  backdrop-filter:blur(4px);
}
.referenceQuickCard:hover{
  background:linear-gradient(135deg,rgba(21,27,34,.92),rgba(48,53,58,.82));
  transform:translateY(-2px);
}
.referenceQuickIcon{
  min-width:57px;
  font-size:51px;
  line-height:1;
  text-align:center;
  color:#fff;
}
.referenceQuickCard strong{
  display:inline-block;
  font:800 27px/1 'Barlow Condensed',Arial;
  border-bottom:3px solid var(--sw-red);
  padding-bottom:4px;
}
.referenceQuickCard small{
  display:block;
  margin-top:8px;
  color:#fff;
  font-size:15px;
  line-height:1.35;
}

/* Promotions remain above hero and functional */
.homePage .mountainPromotionOverlay{
  z-index:12!important;
}

/* Dark used-parts strip */
.homePage #used{
  background:#080a0c!important;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12);
}
.homePage #used .btn{
  background:var(--sw-red)!important;
}

/* Footer/location area modeled on approved mockup */
.homePage .locationSection{
  background:#050607!important;
  color:#fff!important;
  padding-top:44px!important;
  padding-bottom:24px!important;
}
.homePage .locationHeading{
  align-items:start!important;
}
.homePage .locationHeading h2{
  color:#fff!important;
  font-size:42px!important;
}
.homePage .locationDetails{
  color:#fff!important;
}
.homePage .locationDetails a{
  color:#45a8ff!important;
}
.homePage .currentHoursBlock{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-left:1px solid rgba(255,255,255,.48)!important;
  box-shadow:inset 0 0 30px rgba(255,255,255,.04);
  color:#fff!important;
  backdrop-filter:blur(8px);
}
.homePage .currentHoursLabel{
  color:#fff!important;
}
.homePage .currentHoursSeason{
  color:#f13039!important;
  font-weight:800;
}
.homePage .googleMapEmbed{
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:5px;
  overflow:hidden;
  margin-top:25px;
}
body:not(.sheetmetalPage) footer{
  background:#050607!important;
  color:#d7d7d7!important;
  border-top:1px solid #282828;
  padding:24px 0!important;
  text-align:center;
}

/* Public inner pages */
body.referenceTheme{
  background:#eef1f3;
  color:#171b1f;
}
body.referenceTheme .subpageHero,
body.referenceTheme .aboutHero,
body.referenceTheme .catalogIndexHero,
body.referenceTheme .promotionsHero{
  background:
    linear-gradient(90deg,rgba(3,8,14,.90),rgba(7,20,34,.72)),
    url('assets/sno-world-mountain-hero.jpg') center 44%/cover no-repeat!important;
  color:#fff!important;
  border-bottom:4px solid var(--sw-red);
  padding-top:72px!important;
  padding-bottom:72px!important;
}
body.referenceTheme .subpageHero h1,
body.referenceTheme .aboutHero h1,
body.referenceTheme .catalogIndexHero h1,
body.referenceTheme .promotionsHero h1{
  color:#fff!important;
  font-size:62px!important;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
body.referenceTheme .subpageHero p,
body.referenceTheme .aboutHero p,
body.referenceTheme .catalogIndexHero p,
body.referenceTheme .promotionsHero p{
  color:#f1f4f6!important;
}
body.referenceTheme .eyebrow{
  color:var(--sw-red)!important;
}
body.referenceTheme .btn,
body.referenceTheme button[type="submit"],
body.referenceTheme .catalogIndexButton{
  background:var(--sw-red)!important;
  color:#fff!important;
  border-color:var(--sw-red)!important;
}
body.referenceTheme .btn:hover,
body.referenceTheme button[type="submit"]:hover,
body.referenceTheme .catalogIndexButton:hover{
  background:var(--sw-red-dark)!important;
}
body.referenceTheme .request,
body.referenceTheme .aboutStory,
body.referenceTheme .catalogIndexSection,
body.referenceTheme .promotionsPageSection,
body.referenceTheme .catalog{
  background:#f3f4f5!important;
}
body.referenceTheme .card,
body.referenceTheme .combinedSearchPanel,
body.referenceTheme form,
body.referenceTheme .historyHighlights > div,
body.referenceTheme .promotionAdminPanel{
  border-radius:4px;
}
body.referenceTheme .combinedSearchPanel,
body.referenceTheme .request form,
body.referenceTheme .aboutStoryCopy,
body.referenceTheme .historyHighlights > div{
  box-shadow:0 8px 26px rgba(0,0,0,.07);
}

/* Standalone Admin carries the same red/white/black language */
.standaloneAdminPage.referenceTheme{
  background:linear-gradient(135deg,#090d12,#172330)!important;
}
.standaloneAdminPage.referenceTheme .standaloneAdminShell{
  border-top:5px solid var(--sw-red);
}
.standaloneAdminPage.referenceTheme .standaloneAdminBrand img{
  background:#fff;
  padding:8px;
}

/* Keep old invisible hero hotspot from covering new live controls */
.homePage .heroPartsHotspot{
  pointer-events:none!important;
}

/* Responsive */
@media(max-width:1100px){
  body:not(.sheetmetalPage) .topNavLinks{gap:18px!important}
  body:not(.sheetmetalPage) .topNavLinks > a{font-size:15px!important}
  .referenceQuickLinks{gap:14px}
}
@media(max-width:850px){
  body:not(.sheetmetalPage) .siteHeader .nav{
    height:auto!important;
    min-height:90px;
    align-items:center;
  }
  body:not(.sheetmetalPage) .siteHeader .logo img{width:112px}
  body:not(.sheetmetalPage) .topNavLinks{
    overflow-x:auto!important;
    white-space:nowrap!important;
    padding:12px 0!important;
  }
  .referenceHeroContent{padding-top:46px!important}
  .referenceHeroCopy h1{font-size:64px!important}
  .referenceHeroCopy h2{font-size:29px!important}
  .referenceQuickLinks{
    grid-template-columns:repeat(2,1fr);
  }
}
@media(max-width:560px){
  .homePage .homepageVisualHero,
  .referenceHeroContent{min-height:760px!important}
  .referenceHeroCopy h1{font-size:52px!important}
  .referenceHeroCopy h2{font-size:24px!important}
  .referenceHeroCopy p{font-size:17px!important}
  .referenceQuickLinks{grid-template-columns:1fr}
  .referenceQuickCard{min-height:88px}
  .referenceQuickIcon{font-size:38px}
  .referenceQuickCard strong{font-size:23px}
}

/* V10.10 supplied logo on Sheetmetal too, without changing Sheetmetal visual theme */
.sheetmetalPage .siteHeader .logo img{
  background:#fff!important;
}


/* ==========================================================
   V11 - approved Sno-World reference layout
   Sheetmetal page intentionally remains on its prior styling.
   ========================================================== */

.homePage{
  background:#000!important;
}
.homePage .siteHeader{
  background:#fff!important;
  border-bottom:4px solid #111820!important;
}
.homePage .v11Nav{
  max-width:1450px!important;
  height:108px!important;
  padding-left:70px!important;
  padding-right:70px!important;
  display:grid!important;
  grid-template-columns:180px 1fr 190px!important;
  gap:30px!important;
  align-items:center!important;
}
.homePage .siteHeader .logo img{
  width:145px!important;
  max-height:96px!important;
  padding:2px 5px!important;
}
.homePage .topNavLinks{
  justify-content:center!important;
  gap:42px!important;
}
.homePage .topNavLinks > a{
  font-size:18px!important;
  padding:38px 0 20px!important;
  color:#111!important;
}
.homePage .topNavLinks > a:hover::after,
.homePage .topNavLinks > .v11HomeLink::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:10px;
  height:3px;
  background:#c9141d;
}
.homePage .v11HomeLink{color:#c9141d!important}
.v11HeaderPhone{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  color:#c9141d!important;
  font:800 20px 'Inter',Arial,sans-serif;
  white-space:nowrap;
}
.v11PhoneIcon{font-size:25px}

/* Hero dimensions and positioning match the supplied reference. */
.homePage .homepageVisualHero{
  min-height:615px!important;
  height:615px!important;
  background-image:url('assets/sno-world-mountain-hero.jpg')!important;
  background-size:cover!important;
  background-position:center 48%!important;
  border-bottom:0!important;
}
.homePage .homepageVisualHero::before{
  background:linear-gradient(90deg,rgba(2,8,15,.78) 0%,rgba(2,8,15,.42) 36%,rgba(2,8,15,.08) 70%,rgba(2,8,15,.03) 100%)!important;
}
.homePage .referenceHeroContent{
  min-height:615px!important;
  height:615px!important;
  max-width:1420px!important;
  padding:75px 72px 28px!important;
}
.homePage .referenceHeroCopy h1{
  font-size:86px!important;
  letter-spacing:1px!important;
  text-shadow:0 4px 7px rgba(0,0,0,.42)!important;
}
.homePage .referenceHeroCopy h2{
  font-size:36px!important;
  margin-top:8px!important;
}
.homePage .referenceHeroRule{
  width:280px!important;
  margin:20px 0 18px!important;
}
.homePage .referenceHeroCopy p{
  font-size:21px!important;
  line-height:1.32!important;
  margin-bottom:20px!important;
}
.homePage .referencePartsFinder{
  background:linear-gradient(#d81921,#b90c14)!important;
  padding:12px 22px!important;
  font-size:23px!important;
}
.homePage .referencePartsCaption{
  font-size:16px!important;
  margin-top:4px!important;
}
.homePage .referenceQuickLinks{
  grid-template-columns:repeat(4,1fr)!important;
  gap:28px!important;
}
.homePage .referenceQuickCard{
  min-height:116px!important;
  padding:18px 22px!important;
  background:linear-gradient(135deg,rgba(15,18,22,.80),rgba(43,43,43,.67))!important;
  border:1px solid rgba(255,255,255,.42)!important;
}
.homePage .referenceQuickCard strong{font-size:27px!important}
.homePage .referenceQuickCard small{font-size:15px!important}

/* Promotions: top-right of hero, only visible when promotions.js activates it. */
.homePage .mountainPromotionOverlay{
  position:absolute!important;
  top:38px!important;
  right:28px!important;
  left:auto!important;
  width:330px!important;
  z-index:40!important;
  pointer-events:none;
}
.homePage #homePromotions{
  position:relative!important;
  width:330px!important;
  margin:0!important;
  padding:17px 16px 16px!important;
  background:linear-gradient(145deg,rgba(21,19,18,.94),rgba(39,32,29,.91))!important;
  border:1px solid rgba(255,255,255,.20)!important;
  border-radius:12px!important;
  box-shadow:0 12px 34px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(9px)!important;
  pointer-events:auto;
}
.homePage #homePromotions[hidden]{display:none!important}
.homePage #homePromotions .wrap{
  padding:0!important;
  width:100%!important;
}
.homePage .homePromotionsHeading{
  display:block!important;
  text-align:center!important;
  margin:0 0 10px!important;
}
.homePage .homePromotionsHeading .eyebrow{
  display:none!important;
}
.homePage .homePromotionsHeading h2{
  margin:0!important;
  font:800 18px/1.2 'Inter',Arial,sans-serif!important;
  color:#fff!important;
}
.homePage .homePromotionsHeading h2::before{
  content:"CURRENT ";
}
.homePage .viewAllPromotions{
  position:absolute!important;
  left:16px!important;
  right:16px!important;
  bottom:16px!important;
  display:block!important;
  background:linear-gradient(#db171f,#bb0c14)!important;
  color:#fff!important;
  padding:13px 10px!important;
  border-radius:6px!important;
  font:800 16px 'Barlow Condensed',Arial!important;
  text-align:center!important;
  z-index:3;
}
.homePage .viewAllPromotions::after{content:""}
.homePage .promoCarousel{
  margin:0 0 57px!important;
  min-height:126px!important;
}
.homePage .promoSlides{
  width:100%!important;
}
.homePage .promoSlide,
.homePage .homePromotionCard,
.homePage .promotionCard{
  background:#f5f5f5!important;
  color:#151515!important;
  border-radius:7px!important;
  border:0!important;
  box-shadow:none!important;
}
.homePage .promoSlide h3,
.homePage .homePromotionCard h3,
.homePage .promotionCard h3{
  color:#c9141d!important;
}
.homePage .promoArrow{
  width:28px!important;
  height:40px!important;
  border:0!important;
  background:rgba(0,0,0,.18)!important;
  color:#fff!important;
  z-index:4;
}
.homePage .promoDots{display:none!important}
.v11PromoClose{
  position:absolute;
  top:8px;
  right:10px;
  z-index:8;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.homePage .v11PromoDismissed{display:none!important}

/* The mockup goes directly from hero to the black information footer.
   Preserve used-parts functionality through the hero card/nav, but hide the
   redundant old homepage strip to match the approved layout. */
.homePage #used{display:none!important}

/* Footer/location block */
.homePage .v11LocationSection{
  background:#030404!important;
  color:#fff!important;
  padding:32px 0 0!important;
}
.v11FooterGrid{
  max-width:1380px!important;
  display:grid!important;
  grid-template-columns:1fr 1fr 1.05fr 1fr!important;
  gap:0!important;
}
.v11FooterColumn{
  min-height:185px;
  padding:0 34px;
  border-right:1px solid rgba(255,255,255,.13);
}
.v11FooterColumn:last-child{border-right:0}
.v11FooterColumn h3{
  margin:0 0 16px;
  color:#fff;
  font:800 18px/1.2 'Inter',Arial,sans-serif;
}
.v11FooterColumn p{
  color:#fff!important;
  margin:0 0 18px;
  font-size:15px;
  line-height:1.55;
}
.v11FooterColumn a{
  color:#39a8ff!important;
  font-size:15px;
}
.v11FooterColumn h3 a{color:#fff!important}
.v11RedIcon{color:#d0141d}
.homePage .currentHoursBlock{
  padding:13px 18px!important;
  margin:0!important;
  border-radius:10px!important;
  text-align:center!important;
  background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.05))!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:inset 0 0 25px rgba(255,255,255,.03)!important;
}
.v11TodayDate{
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.25);
  color:#fff;
  font-size:14px;
}
.homePage .currentHoursSeason{
  color:#e31a22!important;
  font-size:15px!important;
  font-weight:800!important;
  margin-bottom:8px!important;
}
.homePage .currentOpenHours{
  color:#fff!important;
  font-size:15px!important;
}
.v11PaymentBadges{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin:20px 0 22px;
}
.v11PaymentBadges span{
  display:grid;
  place-items:center;
  min-width:55px;
  height:42px;
  padding:0 7px;
  border-radius:4px;
  background:#f2f2f2;
  color:#183c77;
  font-size:11px;
  font-weight:900;
}
.v11PaymentBadges span:nth-child(2){background:#df2027;color:#fff}
.v11PaymentBadges span:nth-child(3){background:#f3b500;color:#111}
.v11PaymentBadges span:nth-child(4){background:#777;color:#fff}
.v11PaymentNote{font-size:14px!important}

/* Keep the real map functionality but visually tuck it below the reference
   footer information so the top of the homepage matches the supplied design. */
.homePage .googleMapEmbed{
  margin:28px 0 0!important;
  border-radius:0!important;
  border:1px solid rgba(255,255,255,.15)!important;
}
.homePage .googleMapEmbed iframe{height:330px!important}
.homePage .subtleAdminLinkWrap{
  background:#030404!important;
  padding:8px 0 14px!important;
}
.homePage footer{
  background:#030404!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  color:#ddd!important;
}

/* All public non-sheetmetal pages continue the same white/red/black family. */
body.referenceTheme:not(.sheetmetalPage) .siteHeader{
  background:#fff!important;
}
body.referenceTheme:not(.sheetmetalPage) .topNavLinks > a:hover{
  color:#c9141d!important;
}
body.referenceTheme:not(.sheetmetalPage) .btn,
body.referenceTheme:not(.sheetmetalPage) button[type="submit"]{
  background:#c9141d!important;
}

/* Mobile/tablet */
@media(max-width:1120px){
  .homePage .v11Nav{
    padding-left:24px!important;
    padding-right:24px!important;
    grid-template-columns:135px 1fr 155px!important;
  }
  .homePage .topNavLinks{gap:20px!important}
  .homePage .topNavLinks > a{font-size:15px!important}
  .v11HeaderPhone{font-size:16px}
  .homePage .mountainPromotionOverlay{right:16px!important}
  .v11FooterGrid{grid-template-columns:repeat(2,1fr)!important;row-gap:28px!important}
}
@media(max-width:820px){
  .homePage .v11Nav{
    display:flex!important;
    padding:8px 18px!important;
    min-height:96px!important;
  }
  .homePage .topNavLinks{
    justify-content:flex-start!important;
    gap:20px!important;
  }
  .homePage .v11HeaderPhone{display:none}
  .homePage .homepageVisualHero{
    height:auto!important;
    min-height:800px!important;
  }
  .homePage .referenceHeroContent{
    height:auto!important;
    min-height:800px!important;
    padding-left:24px!important;
    padding-right:24px!important;
  }
  .homePage .mountainPromotionOverlay{
    top:25px!important;
    right:16px!important;
    width:290px!important;
  }
  .homePage #homePromotions{width:290px!important}
}
@media(max-width:600px){
  .homePage .mountainPromotionOverlay{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:auto!important;
    margin:14px 16px 0!important;
  }
  .homePage #homePromotions{width:100%!important}
  .homePage .referenceHeroContent{padding-top:32px!important}
  .homePage .referenceQuickLinks{grid-template-columns:1fr!important}
  .v11FooterGrid{grid-template-columns:1fr!important}
  .v11FooterColumn{
    min-height:0;
    padding:18px 24px;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.13);
  }
}


/* ==========================================================
   V11.1
   - Exact approved sunset mountain/snowmobile scene derived
     from the supplied visual and reused throughout the site.
   - Sheetmetal background excluded.
   - Shared locked header used on all public pages.
   - Home link removed from top bar.
   ========================================================== */

.v111SharedHeader{
  position:sticky!important;
  top:0!important;
  z-index:60000!important;
  background:#fff!important;
  border-bottom:4px solid #111820!important;
  box-shadow:0 2px 14px rgba(0,0,0,.12)!important;
}
.v111SharedHeader .v11Nav{
  max-width:1450px!important;
  height:108px!important;
  padding-left:70px!important;
  padding-right:70px!important;
  display:grid!important;
  grid-template-columns:180px 1fr 190px!important;
  gap:30px!important;
  align-items:center!important;
}
.v111SharedHeader .logo img{
  width:145px!important;
  max-height:96px!important;
  height:auto!important;
  object-fit:contain!important;
  background:#fff!important;
  padding:2px 5px!important;
}
.v111SharedHeader .topNavLinks{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:42px!important;
  white-space:nowrap!important;
}
.v111SharedHeader .topNavLinks > a{
  position:relative!important;
  color:#111!important;
  background:transparent!important;
  padding:38px 0 20px!important;
  border-radius:0!important;
  font:800 18px/1 'Barlow Condensed',Arial,sans-serif!important;
  text-transform:uppercase!important;
}
.v111SharedHeader .topNavLinks > a:hover{
  color:#c9141d!important;
}
.v111SharedHeader .topNavLinks > a:hover::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:10px;
  height:3px;
  background:#c9141d;
}
.v111SharedHeader .v11HeaderPhone{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:12px!important;
  color:#c9141d!important;
  font:800 20px 'Inter',Arial,sans-serif!important;
  white-space:nowrap!important;
}
.v111SharedHeader .v11PhoneIcon{font-size:25px!important}

/* Exact V11.1 reusable image */
.v111BackgroundPage{
  background:
    linear-gradient(rgba(5,10,16,.46),rgba(5,10,16,.46)),
    url('assets/v11-1-sunset-snowmobile-background.jpg') center center / cover fixed no-repeat!important;
}

/* Homepage uses the new image cleanly as the actual hero background. */
.homePage.v111BackgroundPage .homepageVisualHero{
  background-image:url('assets/v11-1-sunset-snowmobile-background.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
}
.homePage.v111BackgroundPage .homepageVisualHero::before{
  background:linear-gradient(90deg,rgba(2,8,15,.80) 0%,rgba(2,8,15,.47) 38%,rgba(2,8,15,.08) 73%,rgba(2,8,15,.03) 100%)!important;
}

/* Non-home public pages keep the photograph visible behind content. */
.v111BackgroundPage:not(.homePage) main{
  position:relative;
  background:transparent!important;
}
.v111BackgroundPage:not(.homePage) .subpageHero,
.v111BackgroundPage:not(.homePage) .aboutHero,
.v111BackgroundPage:not(.homePage) .catalogIndexHero,
.v111BackgroundPage:not(.homePage) .promotionsHero{
  background:
    linear-gradient(90deg,rgba(3,8,14,.84),rgba(7,20,34,.48)),
    url('assets/v11-1-sunset-snowmobile-background.jpg') center center / cover no-repeat!important;
  border-bottom:4px solid #c9141d!important;
}
.v111BackgroundPage:not(.homePage) .request,
.v111BackgroundPage:not(.homePage) .aboutStory,
.v111BackgroundPage:not(.homePage) .catalog,
.v111BackgroundPage:not(.homePage) .catalogIndexSection,
.v111BackgroundPage:not(.homePage) .promotionsPageSection,
.v111BackgroundPage:not(.homePage) .promotionPageContent,
.v111BackgroundPage:not(.homePage) section:not(.subpageHero):not(.aboutHero):not(.catalogIndexHero):not(.promotionsHero){
  background:rgba(245,247,248,.93)!important;
  backdrop-filter:blur(3px);
}
.v111BackgroundPage:not(.homePage) footer{
  background:rgba(3,4,5,.97)!important;
}

/* Sheetmetal retains its previous page background/style, but uses the same
   locked shared top bar as requested. */
.sheetmetalPage{
  background:#fff!important;
}

/* Keep V11 promotion popup behavior unchanged */
.homePage #homePromotions[hidden]{
  display:none!important;
}

/* Responsive shared header */
@media(max-width:1120px){
  .v111SharedHeader .v11Nav{
    padding-left:24px!important;
    padding-right:24px!important;
    grid-template-columns:135px 1fr 155px!important;
  }
  .v111SharedHeader .topNavLinks{gap:20px!important}
  .v111SharedHeader .topNavLinks > a{font-size:15px!important}
  .v111SharedHeader .v11HeaderPhone{font-size:16px!important}
}
@media(max-width:820px){
  .v111SharedHeader .v11Nav{
    display:flex!important;
    min-height:96px!important;
    height:auto!important;
    padding:8px 18px!important;
  }
  .v111SharedHeader .logo img{width:112px!important}
  .v111SharedHeader .topNavLinks{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    gap:20px!important;
    padding:10px 0!important;
  }
  .v111SharedHeader .v11HeaderPhone{display:none!important}
}


/* V11.4 — Custom Sheet Metal Profiles image */
.custom-profile-chart {
  display: block;
  width: min(100%, 1400px);
  height: auto;
  margin: 24px auto 10px;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0,0,0,.22);
  object-fit: contain;
}
@media (max-width: 760px) {
  .custom-profile-chart {
    width: 100%;
    margin: 16px auto 8px;
    border-radius: 8px;
  }
}


/* V11.5 — Sheet Metal / Duct Work example presentation */
.ductExampleImage {
  margin-top: 8px;
}
.sheetmetalCapabilityNote {
  max-width: 1180px;
  margin: 26px auto 34px;
  padding: 22px 26px;
  background: rgba(255,255,255,.92);
  border-left: 4px solid #d8291c;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
  color: #252a30;
  line-height: 1.6;
}
.sheetmetalCapabilityNote strong {
  display: block;
  margin-bottom: 5px;
  font-size: 1.08rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.sheetmetalCapabilityNote span {
  display: block;
}
@media (max-width: 760px) {
  .sheetmetalCapabilityNote {
    margin: 18px auto 26px;
    padding: 18px;
  }
}

/* V11.7 */
body.partsFullHomepageBackground{
 background-image:url("assets/v11-1-sunset-snowmobile-background.jpg")!important;
 background-size:cover!important;background-position:center top!important;
 background-repeat:no-repeat!important;background-attachment:fixed!important;min-height:100vh;
}
body.partsFullHomepageBackground main,
body.partsFullHomepageBackground .catalogPage,
body.partsFullHomepageBackground .catalog-page{background:transparent!important;}
body.partsFullHomepageBackground main>section,
body.partsFullHomepageBackground .catalogPanel,
body.partsFullHomepageBackground .catalog-panel,
body.partsFullHomepageBackground .indexPanel,
body.partsFullHomepageBackground .index-panel{background-color:rgba(255,255,255,.90)!important;}
@media(max-width:900px){body.partsFullHomepageBackground{background-attachment:scroll!important;}}


/* ============================================================
   V11.8 — Parts Catalog desktop workspace
   Compact index left / large readable catalog viewer right
   ============================================================ */

/* Let the mountain background show through much more clearly. */
body.partsFullHomepageBackground::before,
body.partsFullHomepageBackground::after {
  opacity: 0 !important;
  background: transparent !important;
}
body.partsFullHomepageBackground {
  background-image: url("assets/v11-1-sunset-snowmobile-background.jpg") !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

/* Remove V11.7's broad white wash from the Parts workspace. */
body.partsFullHomepageBackground main > section {
  background: rgba(255,255,255,.74) !important;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

/* On wider screens, turn the catalog area into a true two-column workspace.
   Existing page sections become grid items: intro/header spans full width,
   index/search sits left, viewer occupies the large right side. */
@media (min-width: 1000px) {
  body.partsFullHomepageBackground .catalogWorkspaceV118 {
    width: min(98vw, 1800px) !important;
    max-width: 1800px !important;
    margin: 0 auto !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 22%) minmax(0, 78%) !important;
    gap: 18px !important;
    align-items: start !important;
  }

  body.partsFullHomepageBackground .catalogWorkspaceV118 > section:first-child,
  body.partsFullHomepageBackground .catalogWorkspaceV118 > .hero,
  body.partsFullHomepageBackground .catalogWorkspaceV118 > .pageHero,
  body.partsFullHomepageBackground .catalogWorkspaceV118 > .page-hero {
    grid-column: 1 / -1 !important;
  }

  /* Common index/list containers: compact left rail. */
  body.partsFullHomepageBackground .catalogWorkspaceV118 .indexPanel,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .index-panel,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .catalogIndex,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .catalog-index,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .indexList,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .index-list {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 76vh !important;
    overflow-y: auto !important;
    position: sticky !important;
    top: 92px !important;
  }

  /* Common viewer containers: give the PDF the majority of screen width. */
  body.partsFullHomepageBackground .catalogWorkspaceV118 .catalogPanel,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .catalog-panel,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .pdfViewer,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .pdf-viewer,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .viewer,
  body.partsFullHomepageBackground .catalogWorkspaceV118 .catalogViewer {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
  }

  body.partsFullHomepageBackground .catalogWorkspaceV118 iframe,
  body.partsFullHomepageBackground .catalogWorkspaceV118 embed,
  body.partsFullHomepageBackground .catalogWorkspaceV118 object {
    width: 100% !important;
    min-height: 82vh !important;
    height: 900px !important;
  }
}

/* Make catalog surfaces less opaque so the Home background is actually visible. */
body.partsFullHomepageBackground .catalogPanel,
body.partsFullHomepageBackground .catalog-panel,
body.partsFullHomepageBackground .indexPanel,
body.partsFullHomepageBackground .index-panel,
body.partsFullHomepageBackground .catalogIndex,
body.partsFullHomepageBackground .catalog-index {
  background-color: rgba(255,255,255,.78) !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.14) !important;
}

/* Mobile/tablet remains stacked and easy to use. */
@media (max-width: 999px) {
  body.partsFullHomepageBackground .catalogWorkspaceV118 {
    display: block !important;
    width: 100% !important;
  }
  body.partsFullHomepageBackground .catalogWorkspaceV118 iframe,
  body.partsFullHomepageBackground .catalogWorkspaceV118 embed,
  body.partsFullHomepageBackground .catalogWorkspaceV118 object {
    width: 100% !important;
    min-height: 72vh !important;
  }
}


/* V11.8 targeted rules for the actual Catalog Index markup */
@media (min-width:1000px) {
  body.partsFullHomepageBackground .catalogIndexWebLayout {
    display:grid !important;
    grid-template-columns:minmax(250px, 21%) minmax(0, 79%) !important;
    gap:18px !important;
    width:min(98vw, 1800px) !important;
    max-width:1800px !important;
    margin:0 auto !important;
    align-items:start !important;
  }
  body.partsFullHomepageBackground .catalogIndexWebSection {
    width:100% !important;
    min-width:0 !important;
    background:rgba(255,255,255,.76) !important;
  }
  body.partsFullHomepageBackground .catalogIndexWebList {
    max-height:72vh !important;
    overflow-y:auto !important;
  }
  body.partsFullHomepageBackground .catalogIndexWebViewer,
  body.partsFullHomepageBackground .webCatalogViewer {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    background:rgba(255,255,255,.76) !important;
  }
  body.partsFullHomepageBackground .catalogIndexWebViewer iframe,
  body.partsFullHomepageBackground .webCatalogViewer iframe {
    width:100% !important;
    height:900px !important;
    min-height:82vh !important;
  }
}
body.partsFullHomepageBackground .catalogIndexHero {
  background:rgba(255,255,255,.62) !important;
}
body.partsFullHomepageBackground .catalogIndexWebSection,
body.partsFullHomepageBackground .catalogIndexWebViewer,
body.partsFullHomepageBackground .webCatalogViewer {
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}


/* ============================================================
   V11.9 — Parts alignment/background + About page polish
   ============================================================ */

/* PARTS: remove the grey slab/backdrop around the left index. */
body.partsFullHomepageBackground .catalogWorkspaceV118,
body.partsFullHomepageBackground .catalogIndexWebLayout,
body.partsFullHomepageBackground .catalogIndexWebSection {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Keep only the actual search/index list itself readable. */
body.partsFullHomepageBackground .catalogIndexWebSearch,
body.partsFullHomepageBackground .catalogIndexWebList {
  background: rgba(255,255,255,.90) !important;
}

/* Make the mountain/snowmobile background clearly visible around the workspace. */
body.partsFullHomepageBackground main,
body.partsFullHomepageBackground main > section {
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* PARTS DESKTOP:
   Put the selected-item/viewer column level with the top of the search/index column. */
@media (min-width:1000px) {
  body.partsFullHomepageBackground .catalogIndexWebLayout {
    align-items: start !important;
  }

  body.partsFullHomepageBackground .catalogIndexWebSection,
  body.partsFullHomepageBackground .catalogIndexWebViewer {
    margin-top: 0 !important;
    align-self: start !important;
  }

  body.partsFullHomepageBackground .catalogIndexWebViewer {
    position: relative !important;
    top: 0 !important;
  }

  body.partsFullHomepageBackground .webCatalogViewer,
  body.partsFullHomepageBackground .webCatalogViewerTop {
    margin-top: 0 !important;
  }
}

/* ABOUT: translucent description panel with black copy. */
body.v111BackgroundPage .aboutPageIntro,
body.v111BackgroundPage .aboutIntro,
body.v111BackgroundPage .aboutContent,
body.v111BackgroundPage .about-content,
body.v111BackgroundPage .aboutStory,
body.v111BackgroundPage .about-story {
  background: rgba(255,255,255,.74) !important;
  color: #111 !important;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
body.v111BackgroundPage .aboutPageIntro p,
body.v111BackgroundPage .aboutIntro p,
body.v111BackgroundPage .aboutContent p,
body.v111BackgroundPage .about-content p,
body.v111BackgroundPage .aboutStory p,
body.v111BackgroundPage .about-story p {
  color: #111 !important;
}

body.v111BackgroundPage .aboutDescriptionV119 {
  background: rgba(255,255,255,.74) !important;
  color: #111 !important;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
body.v111BackgroundPage .aboutDescriptionV119 p,
body.v111BackgroundPage .aboutDescriptionV119 li,
body.v111BackgroundPage .aboutDescriptionV119 span {
  color: #111 !important;
}


/* ============================================================
   V11.10 — Exact Parts alignment + clean background + About fix
   ============================================================ */

/* PARTS: the search box and index are now one true left column.
   The selected-item/catalog viewer begins at the exact same top edge. */
body.partsFullHomepageBackground .catalogIndexWebSection,
body.partsFullHomepageBackground .catalogIndexWebSection > .wrap,
body.partsFullHomepageBackground .catalogIndexWebLayout,
body.partsFullHomepageBackground .catalogIndexLeftColumn,
body.partsFullHomepageBackground .catalogIndexWebViewer {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.partsFullHomepageBackground .catalogIndexWebSection {
  padding-top: 18px !important;
}

body.partsFullHomepageBackground .catalogIndexWebSection > .wrap {
  max-width: none !important;
  width: 100% !important;
  padding-left: 30px !important;
  padding-right: 30px !important;
}

body.partsFullHomepageBackground .catalogIndexWebLayout {
  margin-top: 0 !important;
  width: 100% !important;
  max-width: none !important;
  align-items: start !important;
}

body.partsFullHomepageBackground .catalogIndexLeftColumn {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.partsFullHomepageBackground .catalogIndexWebSearch {
  margin: 0 !important;
  background: rgba(255,255,255,.92) !important;
}

body.partsFullHomepageBackground .catalogIndexWebList {
  margin: 0 !important;
  background: rgba(255,255,255,.92) !important;
}

body.partsFullHomepageBackground .catalogIndexWebViewer {
  margin: 0 !important;
  padding: 0 !important;
  top: 0 !important;
  align-self: start !important;
}

/* No grey rectangle/slab behind the search/index column. */
body.partsFullHomepageBackground .catalogIndexLeftColumn::before,
body.partsFullHomepageBackground .catalogIndexLeftColumn::after,
body.partsFullHomepageBackground .catalogIndexWebSection::before,
body.partsFullHomepageBackground .catalogIndexWebSection::after {
  content: none !important;
  display: none !important;
}

@media (min-width:1000px) {
  body.partsFullHomepageBackground .catalogIndexWebLayout {
    grid-template-columns: minmax(300px, 22%) minmax(0, 78%) !important;
    gap: 18px !important;
  }
}

@media (max-width:999px) {
  body.partsFullHomepageBackground .catalogIndexWebSection > .wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  body.partsFullHomepageBackground .catalogIndexWebLayout {
    display: block !important;
  }
  body.partsFullHomepageBackground .catalogIndexWebViewer {
    margin-top: 18px !important;
  }
}

/* ABOUT: remove the visible white/grey story backdrop.
   Keep the write-up black and let the homepage image show through. */
body.aboutPage.v111BackgroundPage .aboutStory {
  background: rgba(255,255,255,.38) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.aboutPage.v111BackgroundPage .aboutStoryGrid,
body.aboutPage.v111BackgroundPage .aboutStoryCopy,
body.aboutPage.v111BackgroundPage .aboutStoryCopy p {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: #111 !important;
}

body.aboutPage.v111BackgroundPage .aboutStoryCopy p {
  text-shadow: 0 1px 0 rgba(255,255,255,.35);
}


/* ============================================================
   V11.11 — FIX V11.10 collapsed catalog viewer
   ============================================================ */
@media (min-width:1000px) {
  /* Force the workspace itself to span the available page width. */
  body.partsFullHomepageBackground .catalogIndexWebLayout {
    display: grid !important;
    grid-template-columns: minmax(280px, 23%) minmax(0, 77%) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    align-items: start !important;
  }

  /* Left side remains compact. */
  body.partsFullHomepageBackground .catalogIndexLeftColumn {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  /* Critical fix: restore the right panel to the full second grid column. */
  body.partsFullHomepageBackground .catalogIndexWebViewer {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    align-self: start !important;
  }

  body.partsFullHomepageBackground .webCatalogViewer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.partsFullHomepageBackground .catalogIndexWebViewer iframe,
  body.partsFullHomepageBackground .webCatalogViewer iframe {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 900px !important;
    min-height: 82vh !important;
  }
}


/* ============================================================
   V11.12 — definitive catalog viewer fix
   Remove obsolete outer V11.8 grid; only the inner catalog
   workspace is allowed to be two columns.
   ============================================================ */
@media (min-width:1000px) {
  body.partsFullHomepageBackground main.catalogWorkspaceV118 {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.partsFullHomepageBackground main.catalogWorkspaceV118 > section,
  body.partsFullHomepageBackground .catalogIndexWebSection {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    grid-column: auto !important;
  }

  body.partsFullHomepageBackground .catalogIndexWebSection > .wrap {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  body.partsFullHomepageBackground .catalogIndexWebLayout {
    display: grid !important;
    grid-template-columns: minmax(280px, 23fr) minmax(0, 77fr) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-items: start !important;
  }

  body.partsFullHomepageBackground .catalogIndexLeftColumn {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  body.partsFullHomepageBackground .catalogIndexWebViewer {
    grid-column: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.partsFullHomepageBackground #webIndexSelection,
  body.partsFullHomepageBackground #webCatalogViewer {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }

  body.partsFullHomepageBackground #webCatalogViewer {
    margin-top: 18px !important;
  }

  body.partsFullHomepageBackground #webCatalogFrame {
    display: block !important;
    width: 100% !important;
    height: 900px !important;
    min-height: 82vh !important;
    box-sizing: border-box !important;
  }
}


/* V11.14 — noticeable footer Admin Login */
.footerAdminAccess{
  width:100%;
  text-align:center;
  padding:14px 12px 18px;
  box-sizing:border-box;
}
.footerAdminLink{
  display:inline-block;
  padding:9px 18px;
  border:1px solid rgba(255,255,255,.7);
  border-radius:4px;
  color:#fff !important;
  background:rgba(0,0,0,.35);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none !important;
}
.footerAdminLink:hover,
.footerAdminLink:focus{
  background:#fff;
  color:#111 !important;
}


/* V11.15 — Admin Business Hours Manager */
.adminHoursManager{
  margin:22px 0 26px;
  padding:22px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  background:rgba(255,255,255,.05);
}
.adminHoursManager h2{margin:4px 0 8px;}
.adminHoursHelp{margin:0 0 18px;opacity:.85;line-height:1.55;}
.businessHoursForm{display:grid;gap:15px;}
.businessHoursForm label{display:grid;gap:7px;font-weight:800;letter-spacing:.04em;}
.businessHoursForm input,
.businessHoursForm textarea,
.businessHoursForm select{
  width:100%;
  box-sizing:border-box;
  padding:12px;
  border-radius:6px;
  border:1px solid rgba(255,255,255,.25);
  font:inherit;
}
.customHoursFields,.closedHoursFields{display:grid;gap:15px;}
.customHoursFields[hidden],.closedHoursFields[hidden]{display:none!important;}
.adminSectionDivider{height:1px;background:rgba(255,255,255,.16);margin:28px 0;}
.businessHoursSavedMessage{min-height:22px;font-weight:800;}
.currentOpenHours{white-space:pre-line;}


/* V11.16 — direct Admin Login screen */
#adminLoginPanel{
  max-width:520px;
  margin:28px auto;
  padding:24px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
}
#adminLoginPanel h2{margin-top:0;}
#promotionLoginForm{
  display:grid;
  gap:14px;
}
#promotionLoginForm label{
  display:grid;
  gap:7px;
  font-weight:800;
}
#promotionAdminPassword{
  width:100%;
  box-sizing:border-box;
  padding:12px;
  font:inherit;
}
#promotionLoginMessage{
  min-height:22px;
  font-weight:800;
}


/* V11.18 — Promotions image enlargement popup */
.promotionZoomableImage{
  cursor:zoom-in !important;
}
.promotionImageModal[hidden]{display:none!important;}
.promotionImageModal{
  position:fixed;
  inset:0;
  z-index:100000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  box-sizing:border-box;
}
.promotionImageBackdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.88);
  backdrop-filter:blur(3px);
}
.promotionImageDialog{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(94vw,1600px);
  height:min(92vh,1100px);
}
.promotionImageDialog img{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  box-shadow:0 18px 60px rgba(0,0,0,.55);
  background:#fff;
}
.promotionImageClose{
  position:absolute;
  z-index:2;
  top:-18px;
  right:-18px;
  width:48px;
  height:48px;
  border:2px solid #fff;
  border-radius:50%;
  background:#111;
  color:#fff;
  font-size:32px;
  font-weight:800;
  line-height:40px;
  cursor:pointer;
  box-shadow:0 5px 20px rgba(0,0,0,.45);
}
.promotionImageClose:hover,
.promotionImageClose:focus{
  background:#d71920;
}
body.promotionModalOpen{overflow:hidden;}
@media(max-width:700px){
  .promotionImageModal{padding:14px;}
  .promotionImageDialog{width:96vw;height:90vh;}
  .promotionImageClose{top:-8px;right:-5px;width:44px;height:44px;}
}


/* ============================================================
   V11.20 — PROFESSIONAL PUBLIC-PAGE REFRESH
   Visual refresh only: preserves existing page functionality.
   ============================================================ */

:root{
  --sw-navy:#0a2746;
  --sw-blue:#0e5e9f;
  --sw-red:#d51f2b;
  --sw-ink:#101820;
  --sw-soft:#f4f7fa;
  --sw-line:rgba(10,39,70,.14);
}

/* Shared premium hero */
.professionalPageHero{
  position:relative;
  overflow:hidden;
  width:100%;
  min-height:260px;
  display:flex;
  align-items:flex-end;
  box-sizing:border-box;
  padding:54px 5vw 38px;
  background:
    linear-gradient(90deg,rgba(4,19,34,.92) 0%,rgba(7,35,61,.78) 47%,rgba(7,35,61,.28) 100%),
    url("assets/v11-1-sunset-snowmobile-background.jpg") center 44%/cover no-repeat;
  border-bottom:4px solid var(--sw-red);
  box-shadow:0 14px 40px rgba(0,0,0,.18);
}
.professionalPageHeroInner{
  width:min(1180px,100%);
  margin:0 auto;
  color:#fff;
}
.professionalPageKicker{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-bottom:9px;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.professionalPageKicker::before{
  content:"";
  width:34px;
  height:3px;
  background:var(--sw-red);
}
.professionalPageHero h1{
  margin:0;
  max-width:780px;
  color:#fff!important;
  font-size:clamp(36px,5vw,66px);
  line-height:.98;
  letter-spacing:-.035em;
  text-transform:uppercase;
  text-shadow:0 4px 22px rgba(0,0,0,.35);
}
.professionalPageHero p{
  max-width:760px;
  margin:17px 0 0;
  color:rgba(255,255,255,.92)!important;
  font-size:clamp(16px,1.8vw,20px);
  line-height:1.55;
  font-weight:500;
}
.professionalHeroRule{
  width:90px;
  height:4px;
  margin-top:23px;
  background:linear-gradient(90deg,var(--sw-red),#fff);
  border-radius:999px;
}

/* Give ordinary content a cleaner modern rhythm */
body:not(.homePage) main > section:not(.professionalPageHero){
  position:relative;
}
body:not(.homePage) main h2{
  color:var(--sw-navy);
  letter-spacing:-.02em;
}
body:not(.homePage) main h3{
  color:var(--sw-ink);
}
body:not(.homePage) main button,
body:not(.homePage) main .button,
body:not(.homePage) main .btn,
body:not(.homePage) main input[type="submit"]{
  border-radius:6px;
  font-weight:900;
  letter-spacing:.045em;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
body:not(.homePage) main button:hover,
body:not(.homePage) main .button:hover,
body:not(.homePage) main .btn:hover,
body:not(.homePage) main input[type="submit"]:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}

/* PARTS — retain the proven catalog workspace, improve presentation */
body.partsFullHomepageBackground .professionalPageHero{
  min-height:225px;
}
body.partsFullHomepageBackground .catalogIndexWebSection{
  padding-top:28px!important;
}
body.partsFullHomepageBackground .catalogIndexWebSearch,
body.partsFullHomepageBackground .catalogIndexWebList,
body.partsFullHomepageBackground .catalogIndexWebViewer{
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:10px!important;
  box-shadow:0 16px 40px rgba(5,24,42,.16)!important;
  overflow:hidden;
}
body.partsFullHomepageBackground .catalogIndexWebSearch{
  background:rgba(255,255,255,.94)!important;
}
body.partsFullHomepageBackground .catalogIndexWebList{
  background:rgba(255,255,255,.91)!important;
}
body.partsFullHomepageBackground .catalogIndexWebViewer{
  background:rgba(255,255,255,.93)!important;
}
body.partsFullHomepageBackground .webIndexItem{
  transition:background .16s ease,transform .16s ease;
}
body.partsFullHomepageBackground .webIndexItem:hover{
  background:#edf4fa!important;
  transform:translateX(3px);
}

/* SHEET METAL — premium fabrication presentation */
body:has(.professionalPageKicker:first-child) .sheetMetalHero,
.sheetmetalPage .sheetMetalHero{
  border-radius:12px;
  overflow:hidden;
}
body .profileExamples,
body .sheetMetalProfiles,
body .sheetmetalContent{
  border-radius:12px;
}
body img[src*="custom-sheet-metal-profiles"]{
  display:block;
  width:100%;
  border-radius:12px;
  box-shadow:0 18px 42px rgba(0,0,0,.18);
}
body .sheetmetalPage section:not(.professionalPageHero),
body:has(img[src*="custom-sheet-metal-profiles"]) main > section:not(.professionalPageHero){
  margin-top:26px;
}

/* PROMOTIONS — stronger cards */
body:has(#promotionImageModal) main > section:not(.professionalPageHero){
  border-radius:12px;
}
body:has(#promotionImageModal) .promotionCard,
body:has(#promotionImageModal) .promotion-card,
body:has(#promotionImageModal) .promotion{
  border-radius:12px!important;
  overflow:hidden;
  border:1px solid var(--sw-line)!important;
  box-shadow:0 16px 38px rgba(7,32,55,.13)!important;
  transition:transform .2s ease,box-shadow .2s ease;
}
body:has(#promotionImageModal) .promotionCard:hover,
body:has(#promotionImageModal) .promotion-card:hover,
body:has(#promotionImageModal) .promotion:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(7,32,55,.2)!important;
}
body:has(#promotionImageModal) main img{
  transition:transform .25s ease;
}
body:has(#promotionImageModal) main img:hover{
  transform:scale(1.015);
}

/* ABOUT — eliminate old-school solid white story box */
body.v111BackgroundPage main > section:not(.professionalPageHero){
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:14px!important;
  box-shadow:0 18px 44px rgba(6,28,48,.16)!important;
}
body.v111BackgroundPage main > section:not(.professionalPageHero) p{
  color:#111!important;
  line-height:1.78;
  font-size:16px;
}

/* CONTACT / REQUEST PART — modern form */
body:has(form[action*="formsubmit"]) main > section:not(.professionalPageHero){
  border-radius:14px!important;
  box-shadow:0 18px 44px rgba(6,28,48,.14)!important;
  border:1px solid var(--sw-line)!important;
}
body:has(form[action*="formsubmit"]) form{
  display:grid;
  gap:16px;
}
body:has(form[action*="formsubmit"]) form label{
  font-weight:850;
  color:var(--sw-navy);
}
body:has(form[action*="formsubmit"]) form input,
body:has(form[action*="formsubmit"]) form textarea,
body:has(form[action*="formsubmit"]) form select{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cbd5df;
  border-radius:8px;
  padding:13px 14px;
  background:#fff;
  font:inherit;
  transition:border-color .18s ease,box-shadow .18s ease;
}
body:has(form[action*="formsubmit"]) form input:focus,
body:has(form[action*="formsubmit"]) form textarea:focus,
body:has(form[action*="formsubmit"]) form select:focus{
  outline:none;
  border-color:var(--sw-blue);
  box-shadow:0 0 0 4px rgba(14,94,159,.12);
}
body:has(form[action*="formsubmit"]) form button[type="submit"]{
  min-height:50px;
  background:linear-gradient(135deg,var(--sw-red),#a90f19);
  color:#fff;
  border:0;
  padding:13px 22px;
}

/* Shared content-card polish */
main .card,
main .panel,
main .infoCard,
main .contentCard{
  border-radius:12px!important;
  border:1px solid var(--sw-line)!important;
  box-shadow:0 12px 32px rgba(7,32,55,.1)!important;
}

/* Mobile */
@media(max-width:760px){
  .professionalPageHero{
    min-height:220px;
    padding:42px 20px 30px;
  }
  .professionalPageHero h1{
    font-size:38px;
  }
  .professionalPageHero p{
    font-size:16px;
  }
  body.partsFullHomepageBackground .catalogIndexWebSearch,
  body.partsFullHomepageBackground .catalogIndexWebList,
  body.partsFullHomepageBackground .catalogIndexWebViewer{
    border-radius:8px!important;
  }
}


/* ============================================================
   V11.21 — TOP HERO READABILITY FIX
   Parts, Promotions, About and Contact
   ============================================================ */
body.partsFullHomepageBackground .professionalPageHero,
body:has(#promotionImageModal) .professionalPageHero,
body.v111BackgroundPage .professionalPageHero,
body:has(form[action*="formsubmit"]) .professionalPageHero{
  background:
    linear-gradient(90deg,
      rgba(3,15,27,.98) 0%,
      rgba(5,28,49,.96) 42%,
      rgba(5,28,49,.78) 68%,
      rgba(5,28,49,.58) 100%),
    url("assets/v11-1-sunset-snowmobile-background.jpg") center 44%/cover no-repeat !important;
}

body.partsFullHomepageBackground .professionalPageHeroInner,
body:has(#promotionImageModal) .professionalPageHeroInner,
body.v111BackgroundPage .professionalPageHeroInner,
body:has(form[action*="formsubmit"]) .professionalPageHeroInner{
  position:relative;
  z-index:2;
  max-width:920px;
  margin-left:max(0px,calc((100% - 1180px)/2));
  padding:24px 28px 25px;
  border-left:5px solid var(--sw-red);
  border-radius:0 12px 12px 0;
  background:rgba(2,15,27,.72);
  box-shadow:0 14px 38px rgba(0,0,0,.28);
  backdrop-filter:blur(4px);
}

body.partsFullHomepageBackground .professionalPageHero h1,
body:has(#promotionImageModal) .professionalPageHero h1,
body.v111BackgroundPage .professionalPageHero h1,
body:has(form[action*="formsubmit"]) .professionalPageHero h1{
  color:#fff!important;
  text-shadow:0 3px 8px rgba(0,0,0,.95),0 0 2px #000!important;
  font-weight:950!important;
}

body.partsFullHomepageBackground .professionalPageHero p,
body:has(#promotionImageModal) .professionalPageHero p,
body.v111BackgroundPage .professionalPageHero p,
body:has(form[action*="formsubmit"]) .professionalPageHero p{
  color:#fff!important;
  opacity:1!important;
  text-shadow:0 2px 5px rgba(0,0,0,.95)!important;
  font-weight:650!important;
}

body.partsFullHomepageBackground .professionalPageKicker,
body:has(#promotionImageModal) .professionalPageKicker,
body.v111BackgroundPage .professionalPageKicker,
body:has(form[action*="formsubmit"]) .professionalPageKicker{
  color:#fff!important;
  text-shadow:0 2px 4px rgba(0,0,0,.95);
}

@media(max-width:760px){
  body.partsFullHomepageBackground .professionalPageHeroInner,
  body:has(#promotionImageModal) .professionalPageHeroInner,
  body.v111BackgroundPage .professionalPageHeroInner,
  body:has(form[action*="formsubmit"]) .professionalPageHeroInner{
    padding:19px 18px 20px;
    border-left-width:4px;
    background:rgba(2,15,27,.82);
  }
}


/* ============================================================
   V11.25 — CUSTOM SHEET METAL HERO REFRESH
   Replaces the snowmobile/mountain treatment on Sheetmetal only.
   ============================================================ */
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHero{
  min-height:300px;
  padding:50px 5vw 42px;
  background:
    linear-gradient(115deg,rgba(8,22,32,.98) 0%,rgba(20,42,55,.95) 50%,rgba(39,58,68,.92) 100%) !important;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:4px solid var(--sw-red);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 14px 36px rgba(0,0,0,.16);
}
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.24;
  background:
    linear-gradient(135deg,transparent 0 46%,rgba(255,255,255,.09) 46.2% 46.8%,transparent 47%),
    linear-gradient(45deg,transparent 0 68%,rgba(255,255,255,.06) 68.2% 68.8%,transparent 69%),
    repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 62px);
}
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHero::after{
  content:"";
  position:absolute;
  right:6vw;
  top:50%;
  width:min(31vw,430px);
  height:170px;
  transform:translateY(-50%);
  opacity:.33;
  pointer-events:none;
  background:
    linear-gradient(135deg,transparent 0 14%,rgba(215,223,228,.92) 14.3% 15.2%,transparent 15.5% 31%,rgba(215,223,228,.82) 31.3% 32.2%,transparent 32.5% 48%,rgba(215,223,228,.72) 48.3% 49.2%,transparent 49.5%);
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.25));
}
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHeroInner{
  position:relative;
  z-index:2;
  max-width:820px;
  margin:0 auto;
}
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageKicker{
  color:#f2f5f7!important;
}
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageKicker::before{
  background:var(--sw-red);
}
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHero h1{
  color:#fff!important;
  text-shadow:0 3px 10px rgba(0,0,0,.45)!important;
}
body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHero p{
  color:#f5f7f8!important;
  max-width:760px;
  font-weight:600;
  text-shadow:0 2px 5px rgba(0,0,0,.35);
}
@media(max-width:760px){
  body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHero{
    min-height:260px;
    padding:38px 20px 32px;
  }
  body:has(img[src*="custom-sheet-metal-profiles"]) .professionalPageHero::after{
    right:-90px;
    width:310px;
    opacity:.18;
  }
}


/* V11.27 — About page: professional full-width snowmobile hero */
body.v111BackgroundPage .professionalPageHero{
  min-height:390px!important;
  padding:64px 5vw 54px!important;
  display:flex!important;
  align-items:center!important;
  background:
    linear-gradient(90deg,rgba(2,14,26,.94) 0%,rgba(3,24,43,.80) 48%,rgba(3,24,43,.24) 82%,rgba(3,24,43,.12) 100%),
    url("assets/v11-1-sunset-snowmobile-background.jpg") center 42%/cover no-repeat!important;
  border:0!important;
  border-bottom:4px solid var(--sw-red)!important;
  border-radius:0!important;
  box-shadow:0 14px 38px rgba(0,0,0,.18)!important;
}
body.v111BackgroundPage .professionalPageHeroInner{
  width:min(1180px,100%)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
body.v111BackgroundPage .professionalPageHero h1{
  max-width:800px!important;
  color:#fff!important;
  font-size:clamp(42px,5.4vw,72px)!important;
  line-height:.98!important;
  text-shadow:0 4px 14px rgba(0,0,0,.78)!important;
}
body.v111BackgroundPage .professionalPageHero p{
  max-width:720px!important;
  color:#fff!important;
  font-size:clamp(17px,1.7vw,21px)!important;
  line-height:1.55!important;
  font-weight:650!important;
  text-shadow:0 3px 9px rgba(0,0,0,.82)!important;
}
body.v111BackgroundPage .professionalPageKicker{
  color:#fff!important;
  text-shadow:0 2px 7px rgba(0,0,0,.85)!important;
}
@media(max-width:760px){
  body.v111BackgroundPage .professionalPageHero{
    min-height:330px!important;
    padding:48px 22px 40px!important;
    background:
      linear-gradient(90deg,rgba(2,14,26,.95),rgba(3,24,43,.62)),
      url("assets/v11-1-sunset-snowmobile-background.jpg") 58% center/cover no-repeat!important;
  }
}


/* ============================================================
   V11.28 — FINAL ABOUT HERO
   Uses the approved custom Sno-World snowmobile hero artwork.
   ============================================================ */
body.v111BackgroundPage .professionalPageHero{
  min-height:390px!important;
  padding:64px 5vw 54px!important;
  background:
    linear-gradient(90deg,rgba(2,13,24,.22) 0%,rgba(2,13,24,.08) 48%,rgba(2,13,24,0) 75%),
    url("assets/about-snowmobile-hero.jpg") center center/cover no-repeat!important;
}
body.v111BackgroundPage .professionalPageHeroInner{
  /* The approved artwork already contains the hero wording, so hide the
     duplicate live overlay while retaining semantic page content. */
  opacity:0!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  body.v111BackgroundPage .professionalPageHero{
    min-height:330px!important;
    background:
      url("assets/about-snowmobile-hero.jpg") center center/cover no-repeat!important;
  }
}


/* ============================================================
   V11.29 — ABOUT HERO DISPLAY FIX
   Uses an actual image element so the approved artwork cannot
   be overridden by older About-page background rules.
   ============================================================ */
body.v111BackgroundPage .professionalPageHero.aboutApprovedHero{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:none!important;
  border:0!important;
  border-bottom:4px solid var(--sw-red)!important;
  border-radius:0!important;
  box-shadow:0 12px 34px rgba(0,0,0,.16)!important;
}
body.v111BackgroundPage .professionalPageHero.aboutApprovedHero .aboutApprovedHeroImage{
  position:relative!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  min-height:0!important;
  object-fit:contain!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  background:#061522!important;
}
body.v111BackgroundPage .professionalPageHero.aboutApprovedHero .professionalPageHeroInner{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
}
@media(max-width:760px){
  body.v111BackgroundPage .professionalPageHero.aboutApprovedHero{
    min-height:0!important;
    padding:0!important;
    background:none!important;
  }
  body.v111BackgroundPage .professionalPageHero.aboutApprovedHero .aboutApprovedHeroImage{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
}


/* ============================================================
   V11.30 — PARTS + PROMOTIONS HERO TEXT FIX
   Restores hero wording hidden by the V11.29 About-only rule.
   ============================================================ */

/* PARTS */
body.partsFullHomepageBackground .professionalPageHero .professionalPageHeroInner{
  position:relative!important;
  width:min(1180px,100%)!important;
  height:auto!important;
  max-width:920px!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:normal!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  margin-left:max(0px,calc((100% - 1180px)/2))!important;
  padding:24px 28px 25px!important;
  background:rgba(2,15,27,.72)!important;
  border-left:5px solid var(--sw-red)!important;
  border-radius:0 12px 12px 0!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(4px)!important;
}

/* PROMOTIONS */
body:has(#promotionImageModal) .professionalPageHero .professionalPageHeroInner{
  position:relative!important;
  width:min(1180px,100%)!important;
  height:auto!important;
  max-width:920px!important;
  overflow:visible!important;
  clip:auto!important;
  clip-path:none!important;
  white-space:normal!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  margin-left:max(0px,calc((100% - 1180px)/2))!important;
  padding:24px 28px 25px!important;
  background:rgba(2,15,27,.72)!important;
  border-left:5px solid var(--sw-red)!important;
  border-radius:0 12px 12px 0!important;
  box-shadow:0 14px 38px rgba(0,0,0,.28)!important;
  backdrop-filter:blur(4px)!important;
}

body.partsFullHomepageBackground .professionalPageHero .professionalPageKicker,
body.partsFullHomepageBackground .professionalPageHero h1,
body.partsFullHomepageBackground .professionalPageHero p,
body.partsFullHomepageBackground .professionalPageHero .professionalHeroRule,
body:has(#promotionImageModal) .professionalPageHero .professionalPageKicker,
body:has(#promotionImageModal) .professionalPageHero h1,
body:has(#promotionImageModal) .professionalPageHero p,
body:has(#promotionImageModal) .professionalPageHero .professionalHeroRule{
  opacity:1!important;
  visibility:visible!important;
}

body.partsFullHomepageBackground .professionalPageHero h1,
body.partsFullHomepageBackground .professionalPageHero p,
body.partsFullHomepageBackground .professionalPageHero .professionalPageKicker,
body:has(#promotionImageModal) .professionalPageHero h1,
body:has(#promotionImageModal) .professionalPageHero p,
body:has(#promotionImageModal) .professionalPageHero .professionalPageKicker{
  color:#fff!important;
}

@media(max-width:760px){
  body.partsFullHomepageBackground .professionalPageHero .professionalPageHeroInner,
  body:has(#promotionImageModal) .professionalPageHero .professionalPageHeroInner{
    margin-left:0!important;
    padding:19px 18px 20px!important;
    border-left-width:4px!important;
    background:rgba(2,15,27,.82)!important;
  }
}
