:root{--v4-red:var(--primary,#d7161b);--v4-text:#242c33;--v4-line:#e5e7e9;--v4-soft:#f7f8f9}
.csi-mnav4,.csi-mnav4-backdrop{display:none}
@media(max-width:1199px){
 body.csi-mnav4-open{overflow:hidden!important}
 .cms-header .cms-desktop-nav{display:none!important}
 .cms-mobile-menu-backdrop{display:none!important}

 .csi-mnav4-backdrop{display:block;position:fixed;inset:0;z-index:99980;background:rgba(12,16,20,.48);opacity:0;visibility:hidden;transition:.22s}
 body.csi-mnav4-open .csi-mnav4-backdrop{opacity:1;visibility:visible}

 .csi-mnav4{display:block;position:fixed;top:0;right:0;bottom:0;z-index:99990;width:min(420px,92vw);background:#fff;transform:translateX(100%);transition:transform .28s cubic-bezier(.22,.8,.22,1);box-shadow:-24px 0 60px rgba(0,0,0,.16)}
 body.csi-mnav4-open .csi-mnav4{transform:translateX(0)}
 .csi-mnav4-shell{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto}

 .csi-mnav4-head{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--v4-line)}
 .csi-mnav4-logo{display:flex;align-items:center}.csi-mnav4-logo img{height:44px;width:auto;max-width:180px;object-fit:contain}
 .csi-mnav4-close{position:relative;width:42px;height:42px;border:0;background:#f2f3f4;cursor:pointer}
 .csi-mnav4-close span{position:absolute;left:11px;right:11px;top:20px;height:2px;background:#30373e}.csi-mnav4-close span:first-child{transform:rotate(45deg)}.csi-mnav4-close span:last-child{transform:rotate(-45deg)}

 .csi-mnav4-search{display:grid;grid-template-columns:minmax(0,1fr) 48px;margin:14px 18px 12px;border:1px solid #e1e4e7;background:#f8f9fa}
 .csi-mnav4-search input{width:100%;height:48px;border:0;background:transparent;padding:0 14px;outline:0;font-size:13px}
 .csi-mnav4-search button{width:48px;height:48px;border:0;background:var(--v4-red);color:#fff}

 .csi-mnav4-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
 .csi-mnav4-item{border-bottom:1px solid var(--v4-line);background:#fff}
 .csi-mnav4-main-row{width:100%;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border:0;background:#fff;color:var(--v4-text)!important;font:700 15px/1.2 Arial,Helvetica,sans-serif;text-align:left;text-decoration:none!important;box-sizing:border-box;cursor:pointer}
 .csi-mnav4-main-row>i{color:#8a9198;font-size:12px;transition:.2s}
 .csi-mnav4-item.is-open>.csi-mnav4-main-row{color:var(--v4-red)!important}
 .csi-mnav4-item.is-open>.csi-mnav4-main-row>i{color:var(--v4-red);transform:rotate(45deg)}

 .csi-mnav4-sub{display:none;background:var(--v4-soft)}
 .csi-mnav4-item.is-open>.csi-mnav4-sub{display:block}

 .csi-mnav4-sub-link,.csi-mnav4-cat-row{width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 18px 0 28px;box-sizing:border-box;border:0;border-top:1px solid #eceeef;background:var(--v4-soft);color:#424b54!important;font:700 13px/1.25 Arial,Helvetica,sans-serif;text-align:left;text-decoration:none!important;cursor:pointer}
 .csi-mnav4-cat-row>i{color:#929aa1;font-size:11px;transition:.2s}
 .csi-mnav4-cat.is-open>.csi-mnav4-cat-row{color:var(--v4-red)!important}
 .csi-mnav4-cat.is-open>.csi-mnav4-cat-row>i{color:var(--v4-red);transform:rotate(45deg)}

 .csi-mnav4-products{display:none;background:#fff}
 .csi-mnav4-cat.is-open>.csi-mnav4-products{display:block}
 .csi-mnav4-category-link,.csi-mnav4-product-link{display:block;width:100%;min-height:46px;padding:13px 18px 13px 38px;box-sizing:border-box;border-top:1px solid #eef0f1;background:#fff;text-decoration:none!important;text-align:left}
 .csi-mnav4-category-link{color:var(--v4-red)!important;font:800 11px/1.2 Arial,Helvetica,sans-serif;text-transform:uppercase}
 .csi-mnav4-product-link{color:#4a535c!important;font:500 13px/1.35 Arial,Helvetica,sans-serif}
 .csi-mnav4-empty{padding:14px 18px 14px 38px;background:#fff;color:#808890;font-size:12px}
 .csi-mnav4-all-products{background:#171c21!important;color:#fff!important;font-size:12px!important;font-weight:800!important}

 .csi-mnav4-foot{padding:14px 18px 18px;border-top:1px solid var(--v4-line);background:#fff}
 .csi-mnav4-quote{min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:var(--v4-red);color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:800;text-transform:uppercase}
}
@media(max-width:600px){.csi-mnav4{width:100vw}.csi-mnav4-head{padding-left:16px;padding-right:16px}.csi-mnav4-search{margin-left:16px;margin-right:16px}.csi-mnav4-logo img{height:42px;max-width:165px}}
@media(min-width:1200px){.csi-mnav4,.csi-mnav4-backdrop{display:none!important}}


/* v4.0.1 — uppercase mobile/tablet navigation */
@media(max-width:1199px){
  .csi-mnav4-main-row,
  .csi-mnav4-sub-link,
  .csi-mnav4-cat-row,
  .csi-mnav4-category-link,
  .csi-mnav4-product-link,
  .csi-mnav4-all-products,
  .csi-mnav4-empty,
  .csi-mnav4-quote{
    text-transform:uppercase!important;
  }

  .csi-mnav4-product-link{
    font-weight:600!important;
  }
}


/* =========================================================
   CSI Mobile Navigation v4.1.0
   Premium Roboto Condensed visual layer
   Logic from v4.0.1 is intentionally preserved.
   ========================================================= */
@media(max-width:1199px){

  .csi-mnav4{
    background:#fff!important;
  }

  .csi-mnav4-shell{
    background:#fff!important;
  }

  .csi-mnav4-head{
    min-height:78px!important;
    padding:14px 18px!important;
    background:#fff!important;
    border-bottom:1px solid #e9ebed!important;
  }

  .csi-mnav4-logo img{
    height:45px!important;
    max-width:185px!important;
  }

  .csi-mnav4-close{
    width:42px!important;
    height:42px!important;
    background:#f4f5f6!important;
    border:1px solid #eceeef!important;
    transition:background .2s ease,transform .2s ease!important;
  }
  .csi-mnav4-close:hover{
    background:#eceeef!important;
    transform:rotate(2deg);
  }

  .csi-mnav4-search{
    margin:15px 18px 13px!important;
    border:1px solid #e3e6e8!important;
    background:#f8f9fa!important;
    box-shadow:0 4px 14px rgba(18,25,31,.035)!important;
  }
  .csi-mnav4-search input{
    height:50px!important;
    padding:0 15px!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:500!important;
    letter-spacing:.01em!important;
  }
  .csi-mnav4-search button{
    width:50px!important;
    height:50px!important;
    background:#d7161b!important;
    transition:background .2s ease!important;
  }
  .csi-mnav4-search button:hover{
    background:#b91217!important;
  }

  .csi-mnav4-item{
    position:relative!important;
    border-bottom:1px solid #eceeef!important;
    background:#fff!important;
  }

  .csi-mnav4-main-row{
    min-height:58px!important;
    padding:0 18px!important;
    background:#fff!important;
    color:#212930!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    font-size:16px!important;
    font-weight:700!important;
    line-height:1.1!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
    transition:color .2s ease,background .2s ease,padding .2s ease!important;
  }

  .csi-mnav4-main-row>i{
    width:30px!important;
    height:30px!important;
    display:grid!important;
    place-items:center!important;
    flex:none!important;
    color:#7f878e!important;
    font-size:11px!important;
    background:#f6f7f8!important;
    border:1px solid #eef0f1!important;
    transition:transform .22s ease,color .22s ease,background .22s ease,border-color .22s ease!important;
  }

  .csi-mnav4-item.is-open{
    background:#fbfbfc!important;
  }

  .csi-mnav4-item.is-open::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:3px!important;
    background:#d7161b!important;
    z-index:2!important;
  }

  .csi-mnav4-item.is-open>.csi-mnav4-main-row{
    color:#d7161b!important;
    background:#fbfbfc!important;
    padding-left:22px!important;
  }

  .csi-mnav4-item.is-open>.csi-mnav4-main-row>i{
    color:#fff!important;
    background:#d7161b!important;
    border-color:#d7161b!important;
    transform:rotate(45deg)!important;
  }

  .csi-mnav4-sub{
    background:#f6f7f8!important;
  }

  .csi-mnav4-sub-link,
  .csi-mnav4-cat-row{
    min-height:52px!important;
    padding:0 18px 0 28px!important;
    background:#f6f7f8!important;
    color:#3b454e!important;
    border-top:1px solid #e8ebed!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1.15!important;
    letter-spacing:.02em!important;
    text-transform:uppercase!important;
    transition:background .2s ease,color .2s ease,padding .2s ease!important;
  }

  .csi-mnav4-sub-link:hover,
  .csi-mnav4-cat-row:hover{
    background:#f1f3f4!important;
    color:#d7161b!important;
  }

  .csi-mnav4-cat{
    position:relative!important;
  }

  .csi-mnav4-cat-row>i{
    width:28px!important;
    height:28px!important;
    display:grid!important;
    place-items:center!important;
    flex:none!important;
    color:#8b9299!important;
    background:#fff!important;
    border:1px solid #e4e7e9!important;
    font-size:10px!important;
    transition:transform .2s ease,color .2s ease,background .2s ease,border-color .2s ease!important;
  }

  .csi-mnav4-cat.is-open>.csi-mnav4-cat-row{
    color:#d7161b!important;
    background:#f0f2f3!important;
    padding-left:32px!important;
  }

  .csi-mnav4-cat.is-open>.csi-mnav4-cat-row>i{
    color:#fff!important;
    background:#d7161b!important;
    border-color:#d7161b!important;
    transform:rotate(45deg)!important;
  }

  .csi-mnav4-products{
    background:#fff!important;
    border-left:1px solid #eceeef!important;
    margin-left:18px!important;
  }

  .csi-mnav4-category-link,
  .csi-mnav4-product-link{
    min-height:47px!important;
    padding:13px 18px 13px 20px!important;
    background:#fff!important;
    border-top:1px solid #eef0f1!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    text-transform:uppercase!important;
    transition:color .18s ease,background .18s ease,padding .18s ease!important;
  }

  .csi-mnav4-category-link{
    color:#d7161b!important;
    font-size:11px!important;
    font-weight:700!important;
    letter-spacing:.045em!important;
  }

  .csi-mnav4-product-link{
    color:#46515b!important;
    font-size:13px!important;
    font-weight:600!important;
    line-height:1.25!important;
    letter-spacing:.02em!important;
  }

  .csi-mnav4-product-link:hover{
    color:#d7161b!important;
    background:#fafafa!important;
    padding-left:24px!important;
  }

  .csi-mnav4-empty{
    padding:14px 20px!important;
    background:#fff!important;
    color:#7e878f!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:500!important;
    text-transform:uppercase!important;
  }

  .csi-mnav4-all-products{
    min-height:50px!important;
    background:#171c21!important;
    color:#fff!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.05em!important;
  }

  .csi-mnav4-foot{
    padding:15px 18px 18px!important;
    background:#fff!important;
    border-top:1px solid #e8ebed!important;
  }

  .csi-mnav4-quote{
    min-height:52px!important;
    padding:0 18px!important;
    background:#d7161b!important;
    color:#fff!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    font-size:13px!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
    transition:background .2s ease,transform .2s ease!important;
  }

  .csi-mnav4-quote:hover{
    background:#b91217!important;
    transform:translateY(-1px)!important;
  }
}

@media(max-width:600px){
  .csi-mnav4-main-row{
    font-size:15px!important;
    min-height:56px!important;
  }
  .csi-mnav4-sub-link,
  .csi-mnav4-cat-row{
    font-size:13px!important;
  }
  .csi-mnav4-product-link{
    font-size:12.5px!important;
  }
}


/* v4.1.1 — category detail shortcut removed */
@media(max-width:1199px){
  .csi-mnav4-category-link{display:none!important}
}


/* =========================================================
   CSI Mobile Navigation v4.1.2 — language switcher
   ========================================================= */
@media(max-width:1199px){
  .csi-mnav4-langs{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:9px!important;
    margin:12px 18px 0!important;
    padding:0!important;
    min-height:24px!important;
    font-family:"Roboto Condensed",Arial,sans-serif!important;
    font-size:12px!important;
    font-weight:700!important;
    letter-spacing:.05em!important;
    text-transform:uppercase!important;
  }

  .csi-mnav4-langs>span{
    color:#c3c8cc!important;
    font-weight:400!important;
  }

  .csi-mnav4-lang{
    color:#555f68!important;
    text-decoration:none!important;
    transition:color .18s ease!important;
  }

  .csi-mnav4-lang:hover,
  .csi-mnav4-lang:focus{
    color:#d7161b!important;
  }

  .csi-mnav4-lang.is-active{
    color:#d7161b!important;
  }
}

@media(max-width:600px){
  .csi-mnav4-langs{
    margin-left:16px!important;
    margin-right:16px!important;
  }
}


/* =========================================================
   CSI Mobile Navigation v4.1.3 — visual correction
   Fixes oversized search field and tightens overall spacing.
   ========================================================= */
@media(max-width:1199px){

  .csi-mnav4-shell{
    grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
  }

  .csi-mnav4-head{
    min-height:72px!important;
    padding:10px 16px!important;
  }

  .csi-mnav4-logo img{
    height:42px!important;
    max-width:165px!important;
  }

  .csi-mnav4-close{
    width:40px!important;
    height:40px!important;
  }

  .csi-mnav4-langs{
    justify-content:flex-end!important;
    margin:10px 16px 2px!important;
    min-height:24px!important;
    gap:8px!important;
    font-size:11px!important;
  }

  /* Critical fix: global theme styles were stretching the search form/input. */
  .csi-mnav4-search{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 50px!important;
    width:auto!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    margin:10px 16px 12px!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  .csi-mnav4-search input{
    display:block!important;
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:0 14px!important;
    border:0!important;
    box-sizing:border-box!important;
    line-height:50px!important;
    resize:none!important;
  }

  .csi-mnav4-search button{
    width:50px!important;
    min-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    margin:0!important;
    padding:0!important;
  }

  .csi-mnav4-scroll{
    min-height:0!important;
  }

  .csi-mnav4-main-row{
    min-height:55px!important;
    padding:0 16px!important;
    font-size:15px!important;
    letter-spacing:.018em!important;
  }

  .csi-mnav4-main-row>i{
    width:28px!important;
    height:28px!important;
    font-size:10px!important;
    background:#f7f8f9!important;
  }

  .csi-mnav4-sub-link,
  .csi-mnav4-cat-row{
    min-height:49px!important;
    padding-left:26px!important;
    padding-right:16px!important;
    font-size:13.5px!important;
  }

  .csi-mnav4-cat-row>i{
    width:26px!important;
    height:26px!important;
    font-size:9px!important;
  }

  .csi-mnav4-category-link,
  .csi-mnav4-product-link{
    min-height:45px!important;
    padding-top:12px!important;
    padding-bottom:12px!important;
  }

  .csi-mnav4-foot{
    padding:12px 16px 16px!important;
  }

  .csi-mnav4-quote{
    min-height:50px!important;
    font-size:12px!important;
  }
}

@media(max-width:600px){
  .csi-mnav4-head{
    min-height:70px!important;
  }
  .csi-mnav4-logo img{
    height:40px!important;
    max-width:158px!important;
  }
}


/* =========================================================
   CSI Mobile Navigation v4.1.4
   Header controls: search + designer hamburger alignment
   ========================================================= */
@media(max-width:1199px){

  /* Search and menu trigger share the exact same footprint */
  .cms-header .cms-search-trigger,
  .cms-header .csi-mobile-menu-trigger{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    min-height:40px!important;
    max-width:40px!important;
    max-height:40px!important;
    margin:0!important;
    padding:0!important;
    display:inline-grid!important;
    place-items:center!important;
    vertical-align:middle!important;
    border:1px solid rgba(255,255,255,.14)!important;
    border-radius:5px!important;
    background:rgba(255,255,255,.10)!important;
    color:#fff!important;
    box-shadow:none!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    transition:
      background .2s ease,
      border-color .2s ease,
      transform .2s ease!important;
  }

  .cms-header .cms-search-trigger:hover,
  .cms-header .csi-mobile-menu-trigger:hover{
    background:rgba(215,22,27,.92)!important;
    border-color:#d7161b!important;
    transform:translateY(-1px)!important;
  }

  /* Keep the two controls visually centered as one group */
  .cms-header .extra-nav,
  .cms-header .extra-cell,
  .cms-header .cms-header-actions{
    align-items:center!important;
  }

  .cms-header .cms-header-actions{
    gap:8px!important;
  }

  /* Designer hamburger: asymmetric lengths, centered rhythm */
  .cms-header .csi-mobile-menu-trigger{
    position:relative!important;
    overflow:hidden!important;
  }

  .cms-header .csi-mobile-menu-trigger span{
    position:absolute!important;
    left:50%!important;
    height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:2px!important;
    background:currentColor!important;
    transform:translateX(-50%)!important;
    transform-origin:center!important;
    transition:
      width .22s ease,
      transform .22s ease,
      top .22s ease,
      opacity .18s ease!important;
  }

  .cms-header .csi-mobile-menu-trigger span:nth-child(1){
    top:12px!important;
    width:14px!important;
    margin-left:4px!important;
  }

  .cms-header .csi-mobile-menu-trigger span:nth-child(2){
    top:19px!important;
    width:22px!important;
  }

  .cms-header .csi-mobile-menu-trigger span:nth-child(3){
    top:26px!important;
    width:17px!important;
    margin-left:-3px!important;
  }

  .cms-header .csi-mobile-menu-trigger:hover span:nth-child(1){
    width:22px!important;
    margin-left:0!important;
  }

  .cms-header .csi-mobile-menu-trigger:hover span:nth-child(2){
    width:16px!important;
  }

  .cms-header .csi-mobile-menu-trigger:hover span:nth-child(3){
    width:22px!important;
    margin-left:0!important;
  }

  /* Search icon size should match the menu icon visually */
  .cms-header .cms-search-trigger svg{
    width:18px!important;
    height:18px!important;
  }

  /* Detail/transparent headers: make sure both controls use the same tone */
  .cms-header.is-transparent .cms-search-trigger,
  .cms-header.is-transparent .csi-mobile-menu-trigger{
    background:rgba(255,255,255,.11)!important;
    border-color:rgba(255,255,255,.16)!important;
    color:#fff!important;
  }

  /* On light/non-transparent mobile headers keep them balanced too */
  .cms-header:not(.is-transparent) .cms-search-trigger,
  .cms-header:not(.is-transparent) .csi-mobile-menu-trigger{
    background:#f2f4f6!important;
    border-color:#e3e6e8!important;
    color:#111820!important;
  }

  .cms-header:not(.is-transparent) .cms-search-trigger:hover,
  .cms-header:not(.is-transparent) .csi-mobile-menu-trigger:hover{
    background:#d7161b!important;
    border-color:#d7161b!important;
    color:#fff!important;
  }
}

@media(max-width:479px){
  .cms-header .cms-search-trigger,
  .cms-header .csi-mobile-menu-trigger{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
  }

  .cms-header .csi-mobile-menu-trigger span:nth-child(1){top:11px!important}
  .cms-header .csi-mobile-menu-trigger span:nth-child(2){top:18px!important}
  .cms-header .csi-mobile-menu-trigger span:nth-child(3){top:25px!important}
}
