/* UDS online driveshaft builder, Nov 2026 rebuild. Tokens from uds-2026.css (IBM Plex, 4/6 px corners, 1 px lines,
   brand blue for actions). Layout: question column + sticky build sheet (desktop), stacked with a price bar (phone). */
.ubs-dsb-wrap{--dsb-line:var(--line,#e4e8f0);--dsb-paper:var(--paper-2,#f6f8fc);--dsb-ok:#1f7a3f;--dsb-bad:#b42318;
  font-family:var(--font-b);color:var(--ink);background:#fff;border:1px solid var(--dsb-line);border-radius:var(--r,6px)}
.ubs-dsb-wrap [hidden]{display:none!important}
#ubs-dsb .dsb-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start}
#ubs-dsb .dsb-main{min-width:0;border-right:1px solid var(--dsb-line)}

/* progress */
.dsb-progress{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.5rem 1rem;padding:.85rem 1.25rem .8rem;border-bottom:1px solid var(--dsb-line);background:var(--dsb-paper);border-radius:var(--r,6px) 0 0 0}
.dsb-back{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:0 .8rem 0 .6rem;border:1px solid var(--line-strong,#d4dae6);border-radius:var(--r-sm,4px);background:#fff;color:var(--ink);font:600 .88rem var(--font-h);cursor:pointer}
.dsb-back:hover{border-color:var(--ink-3)}
.dsb-back[disabled]{opacity:.4;cursor:default}
.dsb-progress-text{display:flex;align-items:baseline;gap:.6rem;min-width:0;font-size:.9rem}
.dsb-progress-text b{font-family:var(--font-m);font-weight:500;font-size:.8rem;color:var(--ink-3);white-space:nowrap}
.dsb-progress-text span{font-family:var(--font-h);font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dsb-bar{grid-column:1/-1;height:3px;background:var(--line-2,#eef1f7);border-radius:2px;overflow:hidden}
.dsb-bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .3s ease}

/* stage + steps */
.dsb-stage{padding:clamp(1rem,.6rem + 1.4vw,1.75rem);min-height:360px}
.dsb-step{display:none}
.dsb-step--active{display:block;animation:dsbFade .2s ease}
@keyframes dsbFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.dsb-step-head{margin-bottom:1.1rem}
.dsb-step-title{font-family:var(--font-h);font-weight:600;font-size:1.3rem;line-height:1.25;letter-spacing:-.01em;margin:0}
.dsb-step-desc{color:var(--ink-2);font-size:.92rem;line-height:1.5;margin:.4rem 0 0;max-width:62ch}
.dsb-note{display:flex;gap:.6rem;align-items:flex-start;padding:.7rem .9rem;margin:0 0 1rem;border:1px solid var(--blue-100,#dce7f8);background:var(--blue-050,#eef3fc);border-radius:var(--r-sm,4px);font-size:.86rem;line-height:1.45;color:var(--blue-ink,#0b2455)}
.dsb-note .i{flex:none;margin-top:.1rem}

/* buttons */
.dsb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.1rem;border:1px solid transparent;border-radius:var(--r-sm,4px);font:600 .93rem/1.1 var(--font-h);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.dsb-btn--primary{background:var(--blue);color:#fff}
.dsb-btn--primary:hover{background:var(--blue-700,#0e3a8c)}
.dsb-btn--ghost{background:#fff;color:var(--ink);border-color:var(--line-strong,#d4dae6)}
.dsb-btn--ghost:hover{border-color:var(--ink-3);background:var(--dsb-paper)}
.dsb-btn--lg{min-height:48px;padding:0 1.4rem;font-size:1rem}
.dsb-btn[disabled]{opacity:.5;cursor:not-allowed}
.dsb-btn.is-busy{opacity:.7}
.dsb-step-foot{margin-top:1.25rem;display:flex;gap:.6rem;flex-wrap:wrap}

/* question tree */
.dsb-tree-search{margin-bottom:.8rem;max-width:420px}
.dsb-tree--tiles .dsb-tree-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem}
.dsb-tree--list .dsb-tree-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.5rem}
.dsb-tree-group{grid-column:1/-1;margin:.6rem 0 0;font:600 .78rem var(--font-m);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.dsb-opt{display:flex;align-items:center;gap:.8rem;width:100%;min-height:44px;text-align:left;background:#fff;border:1px solid var(--dsb-line);border-radius:var(--r,6px);cursor:pointer;color:var(--ink);font-family:inherit;transition:border-color .15s,background .15s}
.dsb-opt:hover,.dsb-opt:focus-visible{border-color:var(--blue);outline:none}
.dsb-opt.is-on{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-050,#eef3fc)}
.dsb-opt--tile{flex-direction:column;align-items:stretch;gap:.6rem;padding:.75rem}
.dsb-opt--row{padding:.55rem .85rem}
.dsb-opt-art{display:grid;place-items:center;height:92px;border:1px solid var(--dsb-line);border-radius:var(--r-sm,4px);background:var(--dsb-paper) linear-gradient(rgba(18,70,171,.06) 1px,transparent 1px) 0 0/12px 12px,var(--dsb-paper) linear-gradient(90deg,rgba(18,70,171,.06) 1px,transparent 1px) 0 0/12px 12px}
.dsb-opt-img{display:grid;place-items:center;height:92px;border:1px solid var(--dsb-line);border-radius:var(--r-sm,4px);background:#fff;overflow:hidden}
.dsb-opt-img img{max-width:100%;max-height:88px;object-fit:contain}
.dsb-opt-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.dsb-opt-label{font:600 .95rem/1.3 var(--font-h);color:var(--ink)}
.dsb-opt-note{font-size:.82rem;line-height:1.4;color:var(--ink-3)}
.dsb-opt-arrow{flex:none;color:var(--ink-faint);font-size:1.1rem;line-height:1}
.dsb-opt--tile .dsb-opt-arrow{display:none}

/* answer cards (series, material, yoke choices, hardware) */
.dsb-cards{display:grid;grid-template-columns:1fr;gap:.6rem}
.dsb-cards--2{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.dsb-cards--3{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.dsb-card{display:flex;align-items:center;gap:.9rem;width:100%;min-height:56px;text-align:left;background:#fff;border:1px solid var(--dsb-line);border-radius:var(--r,6px);padding:.8rem 1rem;cursor:pointer;color:var(--ink);font-family:inherit;transition:border-color .15s,background .15s}
.dsb-card:hover,.dsb-card:focus-visible{border-color:var(--blue);outline:none}
.dsb-card.is-on{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-050,#eef3fc)}
.dsb-card--big{align-items:flex-start;padding:1rem}
.dsb-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}
.dsb-card-title{font:600 1rem/1.3 var(--font-h);color:var(--ink);display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}
.dsb-card-title small{font:500 .78rem var(--font-m);color:var(--ink-3)}
.dsb-card-desc{font-size:.85rem;line-height:1.45;color:var(--ink-2)}
.dsb-card-mono{font:500 .78rem var(--font-m);color:var(--ink-3)}
.dsb-card-price{flex:none;font:600 .95rem var(--font-m);color:var(--ink)}
.dsb-tag{display:inline-block;padding:.1rem .45rem;border:1px solid var(--blue-200,#b7cdf0);border-radius:var(--r-xs,3px);font:600 .68rem/1.4 var(--font-h);color:var(--blue);background:#fff;text-transform:uppercase;letter-spacing:.04em}

/* end options */
.dsb-app-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}
.dsb-app-card{display:flex;flex-direction:column;gap:.5rem;padding:.7rem;text-align:left;background:#fff;border:1px solid var(--dsb-line);border-radius:var(--r,6px);cursor:pointer;color:var(--ink);font-family:inherit;transition:border-color .15s,background .15s}
.dsb-app-card:hover,.dsb-app-card:focus-visible{border-color:var(--blue);outline:none}
.dsb-app-card.is-on{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-050,#eef3fc)}
.dsb-app-card-img{display:grid;place-items:center;height:96px;border:1px solid var(--dsb-line);border-radius:var(--r-sm,4px);background:#fff;overflow:hidden}
.dsb-app-card-img img{max-width:100%;max-height:92px;object-fit:contain}
.dsb-app-card-img--line{background:var(--dsb-paper) linear-gradient(rgba(18,70,171,.06) 1px,transparent 1px) 0 0/12px 12px,var(--dsb-paper) linear-gradient(90deg,rgba(18,70,171,.06) 1px,transparent 1px) 0 0/12px 12px}
.dsb-app-card-label{font:600 .92rem/1.3 var(--font-h)}
.dsb-app-card-desc{font-size:.8rem;line-height:1.4;color:var(--ink-3)}

/* fields */
.dsb-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;max-width:620px}
.dsb-field label{display:block;font:600 .88rem var(--font-h);margin-bottom:.35rem;color:var(--ink)}
.dsb-field--inline{max-width:420px;margin-top:1rem}
.dsb-req{color:var(--dsb-bad)}
.dsb-opt{font-size:inherit}
.dsb-field .dsb-opt{color:var(--ink-3);font-weight:500;font-size:.8rem;border:0;min-height:0;display:inline;padding:0;background:none;cursor:default}
.dsb-input{width:100%;min-height:44px;padding:.5rem .8rem;border:1px solid var(--line-strong,#d4dae6);border-radius:var(--r-sm,4px);font-family:inherit;font-size:1rem;background:#fff;color:var(--ink)}
.dsb-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-050,#eef3fc)}
.dsb-hint{color:var(--ink-3);font-size:.8rem;margin-top:.35rem;line-height:1.4}
.dsb-length-check{margin-top:1rem;padding:.6rem .85rem;border:1px solid var(--dsb-line);border-radius:var(--r-sm,4px);background:var(--dsb-paper);font:500 .85rem var(--font-m);color:var(--ink-2)}
.dsb-length-check.is-bad{border-color:#f0c2bd;background:#fdf1f0;color:var(--dsb-bad);font-family:var(--font-b);font-weight:600}
.dsb-measure-diagram{margin:0 0 1rem;border:1px solid var(--dsb-line);border-radius:var(--r,6px);background:#fff;padding:.4rem}
.dsb-measure-diagram img{display:block;max-width:100%;height:auto;margin:0 auto}

/* hardware kits */
.dsb-hw-list{margin-top:1rem;display:grid;gap:.5rem}
.dsb-hw-title{margin:0 0 .2rem;font:600 .9rem var(--font-h);color:var(--ink-2)}
.dsb-hw{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:.8rem;width:100%;min-height:56px;padding:.5rem .8rem;text-align:left;background:#fff;border:1px solid var(--dsb-line);border-radius:var(--r,6px);cursor:pointer;color:var(--ink);font-family:inherit}
.dsb-hw:hover,.dsb-hw:focus-visible{border-color:var(--blue);outline:none}
.dsb-hw.is-on{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-050,#eef3fc)}
.dsb-hw-img{display:grid;place-items:center;width:64px;height:48px;border:1px solid var(--dsb-line);border-radius:var(--r-sm,4px);background:#fff;overflow:hidden}
.dsb-hw-img img{max-width:100%;max-height:44px;object-fit:contain}
.dsb-hw-body{min-width:0;display:flex;flex-direction:column;gap:.1rem}
.dsb-hw-body b{font:600 .85rem var(--font-m);color:var(--blue)}
.dsb-hw-body span{font-size:.85rem;line-height:1.35;color:var(--ink)}
.dsb-hw-body small{font:500 .74rem var(--font-m);color:var(--ink-3)}
.dsb-hw-price{font:600 .95rem var(--font-m)}

/* yoke catalog */
.dsb-catalog-filters{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}
.dsb-catalog-filters label{display:block;margin-bottom:.25rem;font:600 .74rem var(--font-m);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3)}
.dsb-catalog-select{min-width:140px;min-height:40px;padding:.3rem .6rem;font-size:.88rem}
.dsb-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-auto-rows:1fr;gap:.75rem}
.dsb-catalog-card{display:flex;flex-direction:column;gap:.35rem;height:100%;padding:.7rem;text-align:left;background:#fff;border:1px solid var(--dsb-line);border-radius:var(--r,6px);cursor:pointer;color:var(--ink);font-family:inherit;transition:border-color .15s}
.dsb-catalog-card:hover,.dsb-catalog-card:focus-visible{border-color:var(--blue);outline:none}
.dsb-catalog-card.is-on{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.dsb-cat-img{display:grid;place-items:center;height:120px;border:1px solid var(--dsb-line);border-radius:var(--r-sm,4px);background:#fff;overflow:hidden}
.dsb-cat-img img{max-width:88%;max-height:108px;object-fit:contain}
.dsb-cat-sku{margin-top:.2rem;font:600 .78rem var(--font-m);color:var(--blue)}
.dsb-cat-name{font-size:.82rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.dsb-cat-specs{display:grid;border-top:1px dotted var(--dsb-line)}
.dsb-cat-specs > span{display:flex;justify-content:space-between;gap:.5rem;padding:.2rem 0;border-bottom:1px dotted var(--dsb-line);font-size:.74rem;min-height:1.6em}
.dsb-cat-specs i{font-style:normal;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsb-cat-specs b{font:600 .74rem var(--font-m);white-space:nowrap}
.dsb-cat-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:auto;padding-top:.5rem}
.dsb-cat-price{font:600 1rem var(--font-m)}
.dsb-cat-select{display:inline-flex;align-items:center;min-height:32px;padding:0 .7rem;border-radius:var(--r-sm,4px);background:var(--blue);color:#fff;font:600 .8rem var(--font-h)}
.dsb-pagination{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:1rem;font-size:.85rem;color:var(--ink-3)}
.dsb-loading,.dsb-empty{padding:1.5rem .5rem;text-align:center;color:var(--ink-3);font-size:.9rem;line-height:1.6}
.dsb-empty .dsb-btn{margin-top:.8rem;white-space:normal}

/* review: the product page of the configured shaft */
.dsb-product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1.5rem;align-items:start}
.dsb-product-media{display:grid;gap:.6rem}
.dsb-product-main{margin:0;border:1px solid var(--dsb-line);border-radius:var(--r,6px);background:#fff;padding:.5rem;min-height:140px;display:grid;place-items:center}
.dsb-product-main img{max-width:100%;height:auto}
.dsb-product-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.dsb-thumb{margin:0;border:1px solid var(--dsb-line);border-radius:var(--r,6px);background:#fff;padding:.4rem;display:grid;gap:.3rem}
.dsb-thumb img,.dsb-thumb-art{display:block;width:100%;height:110px;object-fit:contain}
.dsb-thumb-art{display:grid;place-items:center}
.dsb-thumb figcaption{font:500 .74rem var(--font-m);color:var(--ink-3);text-align:center}
.dsb-product-title{font:600 1.35rem/1.25 var(--font-h);letter-spacing:-.01em;margin:0}
.dsb-product-sub{margin:.4rem 0 0;font-size:.86rem;line-height:1.5;color:var(--ink-2)}
.dsb-product-price{margin:1rem 0 .8rem;display:flex;flex-direction:column;gap:.15rem}
.dsb-product-price span{font:600 2rem/1.1 var(--font-m);letter-spacing:-.02em}
.dsb-product-price small{font-size:.8rem;color:var(--ink-3)}
.dsb-tier{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.9rem}
.dsb-tier-opt{display:grid;gap:.1rem;padding:.6rem .75rem;text-align:left;background:#fff;border:1px solid var(--dsb-line);border-radius:var(--r-sm,4px);cursor:pointer;font-family:inherit;color:var(--ink);min-height:44px}
.dsb-tier-opt b{font:600 .88rem var(--font-h)}
.dsb-tier-opt span{font-size:.76rem;color:var(--ink-3)}
.dsb-tier-opt em{font:600 .85rem var(--font-m);font-style:normal}
.dsb-tier-opt--on{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue);background:var(--blue-050,#eef3fc)}
.dsb-breakdown{margin:0 0 1rem;display:grid;border-top:1px solid var(--dsb-line)}
.dsb-breakdown > div{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--dsb-line);font-size:.86rem}
.dsb-breakdown dt{margin:0;color:var(--ink-2);min-width:0}
.dsb-breakdown dd{margin:0;font-family:var(--font-m);font-weight:500;white-space:nowrap}
.dsb-breakdown .is-total dt,.dsb-breakdown .is-total dd{font-weight:600;color:var(--ink)}
.dsb-buy{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.dsb-buy .dsb-btn--primary{flex:1 1 180px}
.dsb-qty{display:inline-flex;align-items:center;gap:.3rem}
.dsb-qty label{font:600 .8rem var(--font-h);color:var(--ink-3);margin-right:.2rem}
.dsb-qty button{width:40px;height:44px;border:1px solid var(--line-strong,#d4dae6);background:#fff;border-radius:var(--r-sm,4px);cursor:pointer;display:grid;place-items:center;color:var(--ink)}
.dsb-qty-input{width:54px;height:44px;text-align:center;border:1px solid var(--line-strong,#d4dae6);border-radius:var(--r-sm,4px);font:500 1rem var(--font-m);color:var(--ink)}
.dsb-own-note{margin:.9rem 0 0;padding:.7rem .9rem;border:1px solid var(--blue-100,#dce7f8);background:var(--blue-050,#eef3fc);border-radius:var(--r-sm,4px);font-size:.85rem;line-height:1.5;color:var(--blue-ink,#0b2455)}
.dsb-notes{margin:1rem 0 0}
.dsb-notes label{display:block;font:600 .85rem var(--font-h);margin-bottom:.35rem}
.dsb-notes textarea{width:100%;padding:.55rem .8rem;border:1px solid var(--line-strong,#d4dae6);border-radius:var(--r-sm,4px);font-family:inherit;font-size:.92rem;resize:vertical;min-height:60px}
.dsb-policy{margin:1rem 0 0;padding:0 0 0 1.1rem;font-size:.8rem;line-height:1.5;color:var(--ink-3)}
.dsb-policy li{margin:.15rem 0}
.dsb-call{margin:.9rem 0 0;font-size:.88rem;color:var(--ink-2)}
.dsb-call a{display:inline-flex;align-items:center;gap:.35rem;font:600 .95rem var(--font-m);color:var(--blue);margin-left:.3rem}
.dsb-product-specs{grid-column:1/-1;border-top:1px solid var(--dsb-line);padding-top:1.1rem}
.dsb-product-specs h3{font:600 1rem var(--font-h);margin:0 0 .6rem}
.dsb-spec-list{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0 2rem}
.dsb-spec-list > div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .6rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--dsb-line);font-size:.86rem}
.dsb-spec-list dt{margin:0;color:var(--ink-3);font-size:.76rem;grid-column:1}
.dsb-spec-list dd{margin:0;font-weight:500;color:var(--ink);grid-column:1;overflow-wrap:anywhere}
.dsb-spec-list .dsb-edit{grid-column:2;grid-row:1/3}
.dsb-edit{min-height:32px;padding:0 .55rem;border:1px solid var(--line-strong,#d4dae6);border-radius:var(--r-sm,4px);background:#fff;color:var(--blue);font:600 .74rem var(--font-h);cursor:pointer}
.dsb-edit:hover{border-color:var(--blue)}
.dsb-share{margin-top:1rem}
.dsb-share label{display:block;font:600 .8rem var(--font-h);color:var(--ink-3);margin-bottom:.35rem}
.dsb-share-row{display:flex;gap:.5rem}
.dsb-share-row input{flex:1;min-width:0;min-height:40px;padding:.4rem .7rem;border:1px solid var(--line-strong,#d4dae6);border-radius:var(--r-sm,4px);font:400 .78rem var(--font-m);color:var(--ink-3);background:var(--dsb-paper)}

/* guidance, speed check, photos, badges */
.dsb-guide{margin:0 0 1rem;padding:.7rem .9rem;border-left:3px solid var(--blue);background:var(--dsb-paper);font-size:.86rem;line-height:1.5;color:var(--ink-2)}
.dsb-guide--muted{border-left-color:var(--line-strong,#d4dae6);color:var(--ink-3);margin-top:1rem}
.dsb-fields--3{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));max-width:620px}
.dsb-speed-result{margin-top:1rem;padding:.8rem 1rem;border:1px solid var(--dsb-line);border-radius:var(--r,6px);background:var(--dsb-paper);display:grid;gap:.4rem}
.dsb-speed-result p{margin:0;font-size:.9rem;line-height:1.5;color:var(--ink)}
.dsb-speed-result small{font:400 .74rem/1.5 var(--font-m);color:var(--ink-3)}
.dsb-speed-result.is-ok{border-color:#bfe3cb;background:#f1faf4}
.dsb-speed-result.is-warn{border-color:#f1d9a6;background:#fdf8ec}
.dsb-speed-result.is-bad{border-color:#f0c2bd;background:#fdf1f0}
.dsb-speed-result--review{margin:.9rem 0 0}
.dsb-speed-result .dsb-edit{justify-self:start}
.dsb-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border:1px solid var(--dsb-line);border-radius:var(--r-xs,3px);background:#fff;font:600 .72rem/1.4 var(--font-h);color:var(--ink-2)}
.dsb-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink-3)}
.dsb-badge--ok{border-color:#bfe3cb;color:#1f7a3f}.dsb-badge--ok::before{background:#1f7a3f}
.dsb-badge--warn{border-color:#f1d9a6;color:#8a5a00}.dsb-badge--warn::before{background:#d99a00}
.dsb-badge--bad{border-color:#f0c2bd;color:var(--dsb-bad)}.dsb-badge--bad::before{background:var(--dsb-bad)}
.dsb-badge--info{color:var(--blue)}.dsb-badge--info::before{background:var(--blue)}
.dsb-product-photo{margin:0;border:1px solid var(--dsb-line);border-radius:var(--r,6px);background:#fff;padding:.5rem;display:grid;gap:.4rem}
.dsb-product-photo img{display:block;width:100%;height:auto;max-height:260px;object-fit:contain}
.dsb-product-photo figcaption{font:400 .74rem/1.4 var(--font-m);color:var(--ink-3)}
img.is-flip{transform:scaleX(-1)}
.dsb-sheet-photo{padding:.6rem .8rem 0;background:#fff}
.dsb-sheet-photo img{display:block;width:100%;height:auto;max-height:120px;object-fit:contain}
.dsb-sheet-badge:not(:empty){padding:.5rem 1.1rem 0}

/* build options (table-priced products) */
.dsb-options{display:grid;gap:1.1rem}
.dsb-optgroup{display:grid;gap:.5rem}
.dsb-optgroup h3{margin:0;font:600 .95rem var(--font-h)}
.dsb-optgroup .dsb-card[disabled]{opacity:.55;cursor:default}
.dsb-plink{margin:.8rem 0 0;font-size:.88rem}
.dsb-plink a{display:inline-flex;align-items:center;gap:.35rem;font:600 .88rem var(--font-h);color:var(--blue)}

/* confirmation */
.dsb-confirm{max-width:560px;margin:1rem auto;text-align:center;padding:1rem 0}
.dsb-confirm-badge{width:48px;height:48px;margin:0 auto .8rem;display:grid;place-items:center;border:1px solid var(--dsb-ok);border-radius:50%;color:var(--dsb-ok);font-size:1.3rem}
.dsb-confirm-actions{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}

/* cart footer inside the sheet */
.dsb-cart-footer{padding:.9rem 1.1rem 1.1rem;border-top:1px solid var(--dsb-line);display:grid;gap:.7rem;background:#fff;border-radius:0 0 var(--r,6px) 0}
.dsb-cart-status{display:flex;gap:.4rem;align-items:center;color:var(--ink-3);font-size:.8rem;line-height:1.4}
.dsb-cart-status.ready{color:var(--dsb-ok);font-weight:600}
.dsb-cart-row{display:grid;gap:.6rem}
.dsb-add-btn{width:100%}

/* toast */
.dsb-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,60px);max-width:min(92vw,520px);background:var(--ink);color:#fff;border-radius:var(--r-sm,4px);padding:.7rem 1.1rem;font:500 .85rem/1.4 var(--font-b);opacity:0;transition:opacity .25s,transform .25s;z-index:99999;pointer-events:none;text-align:center}
.dsb-toast.show{opacity:1;transform:translate(-50%,0)}

/* mobile price bar (shown below 1024 px, see dsb-plan.css) */
.dsb-mbar{display:none}

@media (max-width:1023px){
  #ubs-dsb .dsb-layout{grid-template-columns:minmax(0,1fr)}
  #ubs-dsb .dsb-main{border-right:0;border-bottom:1px solid var(--dsb-line)}
  .dsb-progress{border-radius:var(--r,6px) var(--r,6px) 0 0}
  .dsb-product{grid-template-columns:minmax(0,1fr)}
  .dsb-product > *{min-width:0}
  .ubs-dsb-wrap{padding-bottom:0}
}
@media (max-width:700px){
  .dsb-stage{padding:1rem .9rem 1.25rem}
  .dsb-progress{padding:.7rem .9rem .65rem}
  .dsb-back span{display:none}
  .dsb-back{padding:0 .7rem}
  .dsb-step-title{font-size:1.15rem}
  .dsb-tree--tiles .dsb-tree-list{grid-template-columns:1fr 1fr}
  .dsb-opt-art,.dsb-opt-img{height:72px}
  .dsb-app-cards{grid-template-columns:1fr 1fr}
  .dsb-app-card-img{height:72px}
  .dsb-catalog-grid{grid-template-columns:1fr 1fr;gap:.5rem}
  .dsb-cat-img{height:96px}
  .dsb-tier{grid-template-columns:1fr}
  .dsb-product-thumbs{grid-template-columns:1fr 1fr}
  .dsb-buy .dsb-btn--ghost{flex:1 1 100%}
  .dsb-hw{grid-template-columns:48px 1fr auto}
}
@media (max-width:420px){
  .dsb-tree--tiles .dsb-tree-list{grid-template-columns:1fr}
  .dsb-opt--tile{flex-direction:row;align-items:center}
  .dsb-opt--tile .dsb-opt-art,.dsb-opt--tile .dsb-opt-img{width:96px;height:60px;flex:none}
  .dsb-opt--tile .dsb-opt-arrow{display:block}
}
@media (prefers-reduced-motion:reduce){.dsb-step--active{animation:none}.dsb-bar i{transition:none}}
@media print{.dsb-mbar,.dsb-cart-footer,.dsb-buy,.dsb-progress,.bldhelp{display:none!important}}
