/* YoloBikes — mega search + cart drawer. Tokens match the catalogue/checkout layers. */
.yb-search,.ybd{--yb-ink:#111315;--yb-ink2:#2b2f33;--yb-muted:#646a71;--yb-hair:#e2e4e8;--yb-stone:#f2f3f5;--yb-blue:#264dff;--yb-blue2:#1834cf;--yb-ok:#167a46;font-family:var(--yb-font,"IBM Plex Sans",system-ui,sans-serif);color:var(--yb-ink)}
.yb-search *,.ybd *{box-sizing:border-box}
.yb-search svg,.ybd svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.yb-search[hidden],.ybd[hidden]{display:none!important}
html.yb-lock{overflow:hidden}

/* Header badge */
.yb-header-tools [data-yb-cart-open]{position:relative}
.yb-cart-count{position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--yb-blue,#264dff);color:#fff;font:700 12px/18px var(--yb-font,sans-serif);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none}
.yb-cart-count[hidden]{display:none}

/* ================= Search ================= */
.yb-search{position:fixed;inset:0;z-index:100001;background:rgba(17,19,21,0);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0);transition:background .25s ease,backdrop-filter .25s ease}
.yb-search.is-open{background:rgba(17,19,21,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.yb-search__panel{background:#fff;max-height:88vh;overflow:auto;box-shadow:0 30px 60px -30px rgba(17,19,21,.45);transform:translateY(-14px);opacity:0;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .25s ease}
.yb-search.is-open .yb-search__panel{transform:none;opacity:1}
.yb-search__bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:18px;width:min(100% - 112px,1328px);margin:0 auto;height:92px;background:#fff;border-bottom:1px solid var(--yb-ink)}
.yb-search__bar>svg{width:26px;height:26px;stroke-width:1.6}
.yb-search__bar input[type=search]{flex:1;min-width:0;height:60px;border:0!important;box-shadow:none!important;outline:0;background:transparent!important;padding:0!important;font:400 clamp(20px,2.4vw,30px)/1.2 var(--yb-font,sans-serif);letter-spacing:-.02em;color:var(--yb-ink)}
.yb-search__bar input::placeholder{color:#a3a8ae}
.yb-search__bar input::-webkit-search-cancel-button{display:none}
.yb-search__bar kbd{padding:3px 7px;border:1px solid var(--yb-hair);border-radius:4px;font:600 12px var(--yb-font,sans-serif);color:var(--yb-muted)}
.yb-search__close{width:44px;height:44px;border:0;background:none;font-size:34px;line-height:1;color:var(--yb-ink);cursor:pointer}
.yb-search__body{width:min(100% - 112px,1328px);margin:0 auto;padding:32px 0 44px}
.yb-search__idle,.yb-search__live{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.2fr);gap:56px}
.yb-search__idle[hidden],.yb-search__live[hidden],.yb-search__none[hidden]{display:none}
.yb-search__label{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--yb-muted)}
.yb-search__label+*{margin-bottom:28px}
.yb-search__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.yb-search__chips button{padding:9px 15px;border:1px solid var(--yb-hair);border-radius:999px;background:#fff;font:500 14px var(--yb-font,sans-serif);color:var(--yb-ink);cursor:pointer;transition:border-color .15s,background .15s}
.yb-search__chips button:hover,.yb-search__chips button.is-active{border-color:var(--yb-ink);background:var(--yb-stone)}
.yb-search__links{margin:0;padding:0;list-style:none}
.yb-search__links a{display:flex;align-items:center;gap:10px;padding:11px 10px;margin:0 -10px;font-size:16px;font-weight:500;color:var(--yb-ink)!important;text-decoration:none!important;transition:background .15s}
.yb-search__links a span{margin-left:auto;font-size:12px;color:var(--yb-muted);font-variant-numeric:tabular-nums}
.yb-search__links a:hover,.yb-search__links a.is-active{background:var(--yb-stone)}
.yb-search__go{color:var(--yb-blue)!important}
.yb-search__go em{font-style:normal}
.yb-search mark{background:none;color:var(--yb-blue);font-weight:700}
.yb-search__models{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.yb-search__models a{display:flex;flex-direction:column;gap:2px;text-decoration:none!important;color:var(--yb-ink)!important}
.yb-search__models .yb-search__thumb{display:block;aspect-ratio:3/2;margin:0 0 10px;background:var(--edge,var(--yb-stone));overflow:hidden}
.yb-search__models img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.yb-search__models a:hover img,.yb-search__models a.is-active img{transform:scale(1.05)}
.yb-search__models a.is-active strong{color:var(--yb-blue)}
.yb-search__models small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--yb-muted)}
.yb-search__models strong{font-size:19px;font-weight:600;letter-spacing:-.02em}
.yb-search__models em{font-style:normal;font-size:14px;font-weight:600}
.yb-search__results{margin:0;padding:0;list-style:none;border-top:1px solid var(--yb-hair)}
.yb-search__results a{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 10px;margin:0 -10px;border-bottom:1px solid var(--yb-hair);text-decoration:none!important;color:var(--yb-ink)!important;transition:background .15s}
.yb-search__results a:hover,.yb-search__results a.is-active{background:var(--yb-stone)}
.yb-search__results .yb-search__thumb{width:64px;height:64px;background:#fff;border:1px solid var(--yb-hair);overflow:hidden}
.yb-search__results img{width:100%;height:100%;object-fit:contain;display:block}
.yb-search__txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.yb-search__txt small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--yb-muted)}
.yb-search__txt strong{font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.yb-search__meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--yb-muted)}
.yb-search__meta code{font:600 12px ui-monospace,Menlo,monospace;color:var(--yb-ink2)}
.yb-search__price{font-size:14px;font-weight:600;white-space:nowrap;color:var(--yb-ink2)}
.yb-search__all{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-size:15px;font-weight:600;color:var(--yb-blue)!important;text-decoration:none!important}
.yb-search__all[hidden]{display:none}
.yb-search__all:hover svg{transform:translateX(3px)}
.yb-search__all svg{transition:transform .25s}
.yb-search__none{max-width:640px}
.yb-search__none-title{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0 0 8px}
.yb-search__none p{color:var(--yb-muted)}

@media (max-width:860px){
  .yb-search__panel{max-height:100vh;height:100%}
  .yb-search__bar{width:auto;margin:0 16px;height:68px;gap:12px}
  .yb-search__bar kbd{display:none}
  .yb-search__bar>svg{width:22px;height:22px}
  .yb-search__body{width:auto;margin:0 16px;padding:20px 0 40px}
  .yb-search__idle,.yb-search__live{grid-template-columns:1fr;gap:8px}
  .yb-search__live .yb-search__col--wide{order:-1}
  .yb-search__models{grid-template-columns:repeat(2,minmax(0,1fr))}
  .yb-search__results a{grid-template-columns:52px minmax(0,1fr);gap:12px}
  .yb-search__results .yb-search__thumb{width:52px;height:52px}
  .yb-search__price{grid-column:2;font-size:13px}
}

/* ================= Cart drawer ================= */
.ybd{position:fixed;inset:0;z-index:100000}
.ybd__scrim{position:absolute;inset:0;background:rgba(17,19,21,0);transition:background .3s ease}
.ybd.is-open .ybd__scrim{background:rgba(17,19,21,.45)}
.ybd__panel{position:absolute;top:0;right:0;bottom:0;width:min(460px,100vw);display:flex;flex-direction:column;background:#fff;box-shadow:-24px 0 60px -30px rgba(17,19,21,.5);transform:translateX(100%);transition:transform .38s cubic-bezier(.2,.7,.2,1)}
.ybd.is-open .ybd__panel{transform:none}
.ybd__head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--yb-hair)}
.ybd__head p{margin:0;font-size:21px;font-weight:600;letter-spacing:-.02em}
.ybd__head p span{color:var(--yb-muted);font-weight:500}
.ybd__close{width:40px;height:40px;border:0;background:none;font-size:30px;line-height:1;cursor:pointer;color:var(--yb-ink)}
.ybd__toast{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#eef7f1;color:var(--yb-ok);font-size:14px;animation:ybdIn .35s ease both}
.ybd__toast[hidden],.ybd__error[hidden]{display:none}
.ybd__toast strong{color:var(--yb-ink)}
.ybd__error{padding:12px 24px;background:#fdeeee;color:#a51d1d;font-size:14px}
@keyframes ybdIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ybd__body{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto;transition:opacity .2s}
.ybd.is-busy .ybd__body{opacity:.55;pointer-events:none}
.ybd-ship{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px 24px;background:var(--yb-stone);font-size:13px;color:var(--yb-ink2)}
.ybd-ship svg{width:20px;height:20px;color:var(--yb-ok)}
.ybd-ship strong{color:var(--yb-ok)}
.ybd-items{margin:0;padding:0 24px;list-style:none}
.ybd-item{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;padding:20px 0;border-bottom:1px solid var(--yb-hair)}
.ybd-item__img{display:block;aspect-ratio:1;background:var(--edge,var(--yb-stone));overflow:hidden}
.ybd-item__img img{width:100%;height:100%;object-fit:contain;display:block}
.ybd-item__body{min-width:0;display:flex;flex-direction:column}
.ybd-item__brand{margin:0 0 3px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--yb-muted)}
.ybd-item__name{font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.25;color:var(--yb-ink)!important;text-decoration:none!important}
.ybd-item__name:hover{color:var(--yb-blue)!important}
.ybd-item__variant{margin:4px 0 0;font-size:13px;color:var(--yb-muted)}
.ybd-item__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.ybd-qty{display:inline-flex;align-items:center;border:1px solid #c9ccd1;height:38px}
.ybd-qty button{width:36px;height:100%;border:0;background:none;font-size:17px;cursor:pointer;color:var(--yb-ink)}
.ybd-qty button:hover{background:var(--yb-stone)}
.ybd-qty button:disabled{opacity:.3;cursor:not-allowed}
.ybd-qty span{min-width:28px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.ybd-item__price{margin:0;font-size:16px;font-weight:600;white-space:nowrap}
.ybd-remove{align-self:flex-start;margin-top:8px;padding:0;border:0;background:none;font:500 12.5px var(--yb-font,sans-serif);color:var(--yb-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ybd-remove:hover{color:#a51d1d}
.ybd-trust{list-style:none;margin:0;padding:18px 24px;display:grid;gap:10px;font-size:13px;color:var(--yb-ink2)}
.ybd-trust li{display:flex;align-items:center;gap:10px}
.ybd-trust svg{width:17px;height:17px;color:var(--yb-muted)}
.ybd-foot{position:sticky;bottom:0;margin-top:auto;padding:18px 24px calc(20px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--yb-ink)}
.ybd-totals{margin:0 0 16px}
.ybd-totals div{display:flex;justify-content:space-between;align-items:baseline;padding:4px 0;font-size:14px}
.ybd-totals dt{color:var(--yb-muted)}
.ybd-totals dd{margin:0;font-weight:600}
.ybd-free{color:var(--yb-ok)}
.ybd-total{padding-top:10px!important;margin-top:6px;border-top:1px solid var(--yb-hair)}
.ybd-total dt{color:var(--yb-ink)!important;font-weight:600;font-size:15px}
.ybd-total dd{font-size:24px;letter-spacing:-.02em;text-align:right}
.ybd-total small{display:block;font-size:11.5px;font-weight:400;color:var(--yb-muted);letter-spacing:0}
.ybd-checkout{width:100%;min-height:56px!important;font-size:16px!important}
.ybd-cartlink{display:block;margin:12px 0 0;text-align:center;font-size:14px;font-weight:500}
.ybd-note{display:flex;gap:8px;align-items:flex-start;margin:12px 0 0;font-size:12px;line-height:1.45;color:var(--yb-muted)}
.ybd-note svg{width:14px;height:14px;margin-top:1px}
.ybd-empty{padding:40px 24px 16px;text-align:center}
.ybd-empty__title{margin:0 0 6px;font-size:22px;font-weight:600;letter-spacing:-.02em}
.ybd-empty p{color:var(--yb-muted)}
.ybd-recs{padding:8px 24px 16px}
.ybd-recs__title{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--yb-muted)}
.ybd-recs ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ybd-recs a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;padding:8px;border:1px solid var(--yb-hair);text-decoration:none!important;color:var(--yb-ink)!important;transition:border-color .2s}
.ybd-recs a:hover{border-color:var(--yb-ink)}
.ybd-recs__img{aspect-ratio:3/2;background:var(--edge,var(--yb-stone));overflow:hidden}
.ybd-recs__img img{width:100%;height:100%;object-fit:contain;display:block}
.ybd-recs__txt{display:flex;flex-direction:column}
.ybd-recs__txt small{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--yb-muted)}
.ybd-recs__txt strong{font-size:17px;font-weight:600}
.ybd-recs__txt em{font-style:normal;font-size:13px;font-weight:600}

/* Add-to-cart button while the drawer request runs */
.single_add_to_cart_button.is-loading{position:relative;color:transparent!important;pointer-events:none}
.single_add_to_cart_button.is-loading::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ybdSpin .7s linear infinite}
@keyframes ybdSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.yb-search,.yb-search__panel,.ybd__panel,.ybd__scrim{transition:none}.ybd__toast{animation:none}}
.yb-search .yb-search__label+ul{margin-bottom:30px}.yb-search__links a b{font-weight:500}
/* Compact, always-visible checkout footer; items scroll above it */
.ybd-foot{padding:14px 24px calc(14px + env(safe-area-inset-bottom))}
.ybd-totals{margin:0 0 12px}
.ybd-totals div:not(.ybd-total){display:none}
.ybd-total{padding-top:0!important;margin-top:0;border-top:0}
.ybd-total dd{font-size:22px}
.ybd-total dt small{display:block;font-size:11.5px;font-weight:500;color:var(--yb-ok)}
.ybd-checkout{min-height:52px!important}
.ybd-cartlink{display:inline-block;margin:10px 0 0;font-size:13px}
.ybd-note{margin:8px 0 0}
@media (max-height:760px){.ybd-note{display:none}.ybd-trust{display:none}}
/* Theme button skins must not leak into icon buttons */
body .ybd__close,body .yb-search__close,body .ybd-qty button,body .ybd-remove,body .yb-search__chips button{box-shadow:none!important;border-radius:0;text-transform:none;letter-spacing:0}
body .ybd__close,body .yb-search__close{background:none!important;color:var(--yb-ink)!important;border:0!important}
body .ybd__close:hover,body .yb-search__close:hover{color:var(--yb-blue)!important}
body .ybd-qty button{background:none!important;color:var(--yb-ink)!important;border:0!important;padding:0!important;min-height:0!important}
body .ybd-qty button:hover{background:var(--yb-stone)!important}
body .ybd-remove{background:none!important;color:var(--yb-muted)!important;border:0!important;min-height:0!important;padding:0!important}
body .yb-search__chips button{border-radius:999px;background:#fff!important;color:var(--yb-ink)!important;border:1px solid var(--yb-hair)!important}
body .yb-search__chips button:hover{border-color:var(--yb-ink)!important;background:var(--yb-stone)!important}.ybd-cartlink{display:block;text-align:center}
.ybd-foot .ybf-btn{width:100%}.ybd-empty__title{color:var(--yb-ink)}
