/* Locomoto fitment engine — banner, list highlight, bike picker */
.lfit-banner{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:12px;border:1.5px solid rgba(100,100,100,.18);background:rgba(100,100,100,.06);box-sizing:border-box;font-family:inherit}
.lfit-icon{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#888;color:#fff;font-weight:900;font-size:16px;line-height:1}
.lfit-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.lfit-text strong{font-size:14px;font-weight:800;color:#222;line-height:1.25}
.lfit-sub{font-size:12px;color:#666;line-height:1.35}
.lfit-sub a{color:inherit;text-decoration:underline}
.lfit-btn{flex:0 0 auto;border:1.5px solid currentColor;background:transparent;color:#2563eb;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;outline:none}
.lfit-btn:focus{outline:none}
.lfit-btn:hover{background:rgba(37,99,235,.08)}
.lfit--fits,.lfit--universal{background:rgba(34,197,94,.09);border-color:rgba(34,197,94,.30)}
.lfit--fits .lfit-icon,.lfit--universal .lfit-icon{background:#22a05a}
.lfit--fits strong,.lfit--universal strong{color:#1f6b43}
.lfit--fits .lfit-btn,.lfit--universal .lfit-btn{color:#1f6b43}
.lfit--doesnt{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.28)}
.lfit--doesnt .lfit-icon{background:#ef4444}
.lfit--doesnt strong{color:#c62828}
.lfit--doesnt .lfit-btn{color:#c62828}
.lfit--unknown .lfit-icon{background:#9aa1ad;font-style:italic;font-family:Georgia,serif}
/* in the Vehicle Fitment header */
.cept-section-header .lfit-head{margin-left:auto;max-width:460px}
.cept-section-header .lfit-head .lfit-banner{padding:8px 10px}
.lfit-none{margin:12px 0 0;color:#555}
.cept-fitment-models li.lfit-current{background:rgba(34,197,94,.12);border-radius:8px;outline:1.5px solid rgba(34,197,94,.45);font-weight:700}
@media (max-width:767px){
  .cept-section-header{flex-wrap:wrap}
  .cept-section-header .lfit-head{margin-left:0;max-width:none;width:100%;margin-top:10px}
  /* phone: icon + text on one row (text gets the full width), button underneath */
  .lfit-banner{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:12px;row-gap:10px;align-items:center}
  .lfit-text{min-width:0}
  .lfit-btn{grid-column:2;justify-self:start;margin-left:0}
}
/* picker */
.lfit-modal{position:fixed;inset:0;z-index:100000;background:rgba(10,22,34,.55);display:none;align-items:center;justify-content:center;padding:16px}
.lfit-modal.open{display:flex}
.lfit-modal-card{position:relative;background:#fff;border-radius:18px;padding:26px 24px 22px;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.3);font-family:inherit}
.lfit-modal-card h3{margin:0 0 4px;font-size:20px;font-weight:900;color:#0d1c2b}
.lfit-modal-sub{margin:0 0 16px;font-size:13px;color:#5a6a7a}
.lfit-modal-card label{display:block;text-align:left;font-size:12px;font-weight:700;color:#334;margin:0 0 10px;text-transform:uppercase;letter-spacing:.04em}
.lfit-modal-card select{display:block;width:100%;margin-top:4px;height:44px;border:1.5px solid #d6dbe2;border-radius:10px;padding:0 10px;font-size:15px;background:#fff;color:#111;text-transform:none;letter-spacing:0}
.lfit-modal-card select:disabled{background:#f3f4f6;color:#999}
.lfit-modal-actions{display:flex;gap:10px;align-items:center;margin-top:16px}
.lfit-save{flex:1;height:46px;border:0;border-radius:12px;background:#ff6000;color:#fff;font-weight:800;font-size:15px;cursor:pointer;outline:none}
.lfit-save:disabled{opacity:.45;cursor:default}
.lfit-clear{background:none;border:0;color:#667;font-size:13px;text-decoration:underline;cursor:pointer;outline:none}
.lfit-modal-x{position:absolute;top:10px;right:12px;border:0;background:none;font-size:26px;line-height:1;color:#889;cursor:pointer;outline:none}
/* phone + tablet: picker is a panel that slides up from the bottom */
@media (max-width:1023px){
  .lfit-modal{align-items:flex-end;padding:0}
  .lfit-modal-card{max-width:none;border-radius:20px 20px 0 0;padding:22px 18px calc(18px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .28s ease}
  .lfit-modal.show .lfit-modal-card{transform:translateY(0)}
  .lfit-modal-card::before{content:"";display:block;width:44px;height:5px;border-radius:3px;background:#d6dbe2;margin:-8px auto 14px}
  .lfit-modal-card select{height:50px;font-size:16px}
  .lfit-save{height:52px}
}
/* phone menu row */
li.lfit-drawer-bike{display:none;list-style:none}
@media (max-width:1023px){
  .ets_mm_megamenu ul.mm_menus_ul > li.lfit-drawer-bike{display:block!important;padding:12px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08)}
  li.lfit-drawer-bike button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:12px;border:1.5px solid rgba(255,96,0,.55);background:rgba(255,96,0,.12);color:#fff;text-align:left;cursor:pointer;outline:none}
  li.lfit-drawer-bike .lfit-drawer-ic{flex:0 0 34px;height:34px;border-radius:9px;background:#ff6000;color:#fff;display:flex;align-items:center;justify-content:center}
  li.lfit-drawer-bike .lfit-drawer-txt{flex:1;min-width:0;display:flex;flex-direction:column}
  li.lfit-drawer-bike small{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffb27a}
  li.lfit-drawer-bike strong{font-size:15px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  li.lfit-drawer-bike .lfit-drawer-go{font-size:24px;color:#ffb27a;line-height:1}
}
/* fitment list collapsed to the chosen bike */
.cept-fitment-list.lfit-collapsed li[data-make]:not(.lfit-current){display:none}
.cept-fitment-list.lfit-collapsed .cept-fitment-make:not(:has(li.lfit-current)){display:none}
.cept-fitment-list.lfit-collapsed-none{display:none}
.lfit-showall{display:block;margin:12px 0 0;padding:10px 16px;border:1.5px solid #d6dbe2;border-radius:999px;background:#fff;color:#1d2b3a;font-weight:700;font-size:13px;cursor:pointer;outline:none}
.lfit-showall:hover{border-color:#ff6000;color:#ff6000}
.cept-fitment-models li.lfit-current{padding:8px 10px!important;margin:2px 0}
/* compact: with a bike chosen the banner says it all; the list opens on demand */
.cept-fitment-list.lfit-collapsed{display:none!important}
.lfit-showall{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:6px 14px;border:1.5px solid #d6dbe2;border-radius:999px;background:#fff;color:#1d2b3a;font-weight:700;font-size:12.5px}
.lfit-showall::after{content:"\203A";font-size:16px;line-height:1}
.cept-fitment-wrapper:has(.lfit-collapsed) .cept-section-header{margin-bottom:0;border-bottom:0;padding-bottom:0}
.cept-fitment-wrapper .lfit-showall{width:auto!important;max-width:100%}
/* product-card fit badge (hidden until there is a verdict worth showing) */
.lfit-badge{position:absolute;left:8px;bottom:8px;z-index:4;display:none;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1.2;letter-spacing:.01em;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.18);pointer-events:none}
.lfit-badge.lfit-badge--fits,.lfit-badge.lfit-badge--universal{display:inline-block;background:#22a05a;color:#fff}
.lfit-badge.lfit-badge--doesnt{display:inline-block;background:#fff;color:#c62828;border:1.5px solid rgba(239,68,68,.45)}
/* homepage cards: our badge replaces their own (older) fit line */
.lhs-card:has(.lfit-badge--fits) .lhs-fit-row,.lhs-card:has(.lfit-badge--doesnt) .lhs-fit-row,.lhs-card:has(.lfit-badge--universal) .lhs-fit-row{display:none!important}
.lhs-img .lfit-badge{z-index:4}
/* picker in the site's dark panel style (same as the menu drawer / header dropdowns) */
.lfit-modal{background:rgba(3,8,14,.62)}
.lfit-modal-card{background:rgb(10,22,34);color:#e8edf3;border:1px solid rgba(255,255,255,.08);box-shadow:0 -10px 50px rgba(0,0,0,.5)}
.lfit-modal-card h3{color:#fff}
.lfit-modal-sub{color:#8fa3b8}
.lfit-modal-card label{color:#ffb27a}
.lfit-modal-card select{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.14);color:#fff;-webkit-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffb27a' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.lfit-modal-card select:focus{outline:none;border-color:#ff6000}
.lfit-modal-card select option{background:rgb(10,22,34);color:#fff}
.lfit-modal-card select:disabled{background-color:rgba(255,255,255,.03);color:#5d7086;border-color:rgba(255,255,255,.08)}
.lfit-save{background:#ff6000;color:#fff;box-shadow:0 6px 20px rgba(255,96,0,.3)}
.lfit-save:disabled{opacity:.35;box-shadow:none}
.lfit-clear{color:#8fa3b8}
.lfit-modal-x{color:#8fa3b8}
@media (max-width:1023px){.lfit-modal-card::before{background:rgba(255,255,255,.18)}}
