:root{--ssb-c:#0f766e}
.ssb-open{appearance:none;border:0;cursor:pointer;background:var(--ssb-c);color:#fff;font:600 16px/1 inherit;font-family:inherit;padding:15px 30px;border-radius:999px;box-shadow:0 6px 18px rgba(15,23,42,.18);transition:transform .15s,box-shadow .15s,filter .15s}
.ssb-open:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 10px 24px rgba(15,23,42,.22)}
.ssb-open:focus-visible,.ssb-overlay button:focus-visible,.ssb-overlay input:focus-visible,.ssb-overlay select:focus-visible,.ssb-overlay textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--ssb-c) 45%,transparent);outline-offset:2px}

body.ssb-lock{overflow:hidden}
.ssb-overlay{--c:var(--ssb-c);--ink:#0f172a;--mut:#64748b;--line:#e2e8f0;--soft:#f1f5f9;--tint:color-mix(in srgb,var(--ssb-c) 10%,var(--bg));--bg:#fff;--r-lg:24px;--r-md:14px;--r-sm:12px;--r-pill:999px;--shadow:0 30px 80px rgba(15,23,42,.35);--veil:rgba(15,23,42,.55);
  position:fixed;inset:0;z-index:999999;background:var(--veil);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px;font-family:inherit;color:var(--ink);line-height:1.45;animation:ssbFade .18s ease}
.ssb-overlay *{box-sizing:border-box}
@keyframes ssbFade{from{opacity:0}to{opacity:1}}
@keyframes ssbUp{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.ssb-dialog{background:var(--bg);width:100%;max-width:860px;max-height:min(92vh,820px);border-radius:var(--r-lg);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);animation:ssbUp .22s ease}
.ssb-dialog.ssb-small{max-width:440px}

.ssb-head{display:flex;align-items:center;gap:14px;padding:16px 18px 14px 22px;border-bottom:1px solid var(--line)}
.ssb-head img{width:52px;height:52px;border-radius:var(--r-md);object-fit:cover;flex:none}
.ssb-title{flex:1;min-width:0}
.ssb-title small{color:var(--mut);font-size:13px}
.ssb-title h3{margin:0;font-size:20px;line-height:1.25;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ssb-lang{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:var(--r-pill);font:600 13px/1 inherit;font-family:inherit;padding:8px 12px;cursor:pointer}
.ssb-lang:hover{background:var(--soft)}
.ssb-ic{border:0;background:var(--soft);width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:0}
.ssb-ic:hover:not(:disabled){background:var(--line)}
.ssb-ic:disabled{opacity:.35;cursor:default}

.ssb-tabs{display:flex;gap:6px;padding:10px 22px 0;font-size:14px;color:var(--mut)}
.ssb-tabs span{padding:6px 0;margin-right:18px;border-bottom:2px solid transparent}
.ssb-tabs .on{color:var(--c);border-color:var(--c);font-weight:600}
.ssb-tabs .done{color:var(--ink)}

.ssb-body{padding:18px 22px;overflow:auto;flex:1}
.ssb-body h4{margin:0 0 10px;font-size:15px;color:var(--ink)}
.ssb-two{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px}
.ssb-muted{color:var(--mut);font-size:14px;margin:6px 0}.ssb-center{text-align:center}

.ssb-calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.ssb-calhead strong{font-size:16px}
.ssb-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.ssb-wd{text-align:center;font-size:12px;color:var(--mut);padding:4px 0}
.ssb-day{position:relative;aspect-ratio:1/1;border:0;border-radius:var(--r-sm);background:transparent;font:500 15px/1 inherit;font-family:inherit;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0}
.ssb-day.ssb-s-open{background:var(--tint)}
.ssb-day.ssb-s-open:hover{background:color-mix(in srgb,var(--ssb-c) 22%,#fff)}
.ssb-day.ssb-sel,.ssb-day.ssb-sel:hover{background:var(--c);color:#fff}
.ssb-day:disabled{cursor:default}
.ssb-day.ssb-s-closed{color:#cbd5e1}
.ssb-day.ssb-s-full{background:#fef2f2;color:#b91c1c}
.ssb-day.ssb-s-full span{text-decoration:line-through;text-decoration-thickness:1.5px}
.ssb-day i{font-style:normal;font-size:10px;font-weight:600}
.ssb-legend{display:flex;gap:16px;margin-top:10px;font-size:12px;color:var(--mut)}
.ssb-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:color-mix(in srgb,var(--ssb-c) 30%,#fff);margin-right:6px;vertical-align:-1px}
.ssb-dotfull{background:#fecaca}

.ssb-picked{margin:-4px 0 12px;font-weight:600;color:var(--c)}
.ssb-slot{display:flex;justify-content:space-between;align-items:center;width:100%;border:1.5px solid var(--line);background:var(--bg);border-radius:var(--r-md);padding:14px 16px;margin-bottom:10px;font:600 15px/1.2 inherit;font-family:inherit;color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}
.ssb-slot em{font-style:normal;font-weight:500;font-size:13px;color:var(--mut)}
.ssb-slot:hover:not(:disabled){border-color:var(--c)}
.ssb-slot.ssb-sel{border-color:var(--c);background:var(--tint)}
.ssb-slot.ssb-sel em{color:var(--c)}
.ssb-slot.ssb-fullslot{background:var(--soft);color:#94a3b8;cursor:not-allowed}
.ssb-slot.ssb-fullslot span{text-decoration:line-through}
.ssb-slot.ssb-fullslot em{color:#b91c1c;font-weight:600}

.ssb-sum{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--tint);border-radius:var(--r-md);padding:12px 16px;margin-bottom:18px}
.ssb-sum div{display:flex;flex-direction:column}.ssb-sum span{color:var(--mut);font-size:14px}
.ssb-link{border:0;background:none;color:var(--c);font:600 14px/1 inherit;font-family:inherit;cursor:pointer;text-decoration:underline;padding:6px}
.ssb-count{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:var(--r-md);padding:10px 14px;margin-bottom:8px}
.ssb-count small{display:block;color:var(--mut);font-size:13px}
.ssb-step{display:flex;align-items:center;gap:14px}
.ssb-step span{min-width:20px;text-align:center;font-weight:700;font-size:17px}
.ssb-step button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--c);background:var(--bg);color:var(--c);font-size:20px;line-height:1;cursor:pointer;padding:0}
.ssb-step button:hover:not(:disabled){background:var(--c);color:#fff}
.ssb-step button:disabled{opacity:.3;cursor:default}
.ssb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-bottom:14px}
.ssb-fld{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--mut)}
.ssb-fld.ssb-wide{grid-column:1/-1}
.ssb-fld input,.ssb-fld select,.ssb-fld textarea{width:100%;border:1.5px solid var(--line);border-radius:var(--r-sm);padding:11px 13px;font:400 16px/1.3 inherit;font-family:inherit;color:var(--ink);background:var(--bg);margin:0;box-shadow:none}
.ssb-fld input:focus,.ssb-fld select:focus,.ssb-fld textarea:focus{border-color:var(--c);outline:none}
.ssb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ssb-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink);cursor:pointer}
.ssb-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--c)}
.ssb-check a{color:var(--c)}
.ssb-err{margin-top:14px;background:#fef2f2;color:#b91c1c;border-radius:var(--r-sm);padding:11px 14px;font-size:14px;font-weight:500}

.ssb-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid var(--line);background:var(--bg)}
.ssb-tot small{display:block;color:var(--mut);font-size:13px}.ssb-tot b{font-size:22px}
.ssb-btn{border:0;background:var(--c);color:#fff;font:600 16px/1 inherit;font-family:inherit;padding:15px 28px;border-radius:var(--r-pill);cursor:pointer;transition:filter .15s,transform .15s}
.ssb-btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}
.ssb-btn:disabled{background:#cbd5e1;cursor:not-allowed}
.ssb-secure{margin:0;padding:0 22px 14px;text-align:center;font-size:12px;color:var(--mut)}

.ssb-res{padding:34px 28px 28px;text-align:center}
.ssb-res h3{margin:14px 0 6px;font-size:22px}.ssb-res p{margin:0 0 18px;color:var(--mut)}
.ssb-badge{width:64px;height:64px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff;background:var(--c)}
.ssb-res-wait .ssb-badge{background:#d97706}.ssb-res-no .ssb-badge{background:#94a3b8}
.ssb-receipt{text-align:left;border:1px solid var(--line);border-radius:var(--r-md);padding:6px 16px;margin-bottom:20px}
.ssb-receipt div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--soft);font-size:14px}
.ssb-receipt div:last-child{border:0}.ssb-receipt span{color:var(--mut)}.ssb-receipt b{text-align:right}

@media (max-width:720px){
  .ssb-overlay{padding:0;align-items:flex-end}
  .ssb-dialog{max-width:none;max-height:94vh;border-radius:var(--r-lg) var(--r-lg) 0 0}
  .ssb-dialog.ssb-small{border-radius:var(--r-lg) var(--r-lg) 0 0}
  .ssb-two{grid-template-columns:1fr;gap:20px}
  .ssb-fields{grid-template-columns:1fr}
  .ssb-body,.ssb-foot{padding-left:16px;padding-right:16px}
  .ssb-head{padding-left:16px}
  .ssb-btn{padding:15px 22px}
}
@media (prefers-reduced-motion:reduce){.ssb-overlay,.ssb-dialog{animation:none}.ssb-open,.ssb-btn{transition:none}}

/* ---- v1.1: packages, seat map, step nav ---- */
.ssb-opts{display:flex;flex-direction:column;gap:12px}
.ssb-opt{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--bg);border-radius:var(--r-md);padding:16px 18px;cursor:pointer;font:inherit;color:var(--ink);transition:border-color .15s,background .15s}
.ssb-opt:hover{border-color:var(--c)}
.ssb-opt.ssb-sel{border-color:var(--c);background:var(--tint)}
.ssb-radio{flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;border:2px solid #cbd5e1;position:relative;background:var(--bg)}
.ssb-opt.ssb-sel .ssb-radio{border-color:var(--c)}
.ssb-opt.ssb-sel .ssb-radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--c)}
.ssb-optmain{flex:1;min-width:0}.ssb-optmain b{font-size:17px}
.ssb-optmain ul{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.ssb-optmain li{margin:0;padding:3px 10px;border-radius:var(--r-pill);background:var(--soft);font-size:13px;color:#334155}
.ssb-opt.ssb-sel .ssb-optmain li{background:var(--bg)}
.ssb-price{flex:none;text-align:right;font-weight:700;font-size:20px;line-height:1.2}
.ssb-price small{display:block;font-weight:400;font-size:12px;color:var(--mut)}
.ssb-sum em{font-style:normal;font-size:12px;font-weight:600;color:var(--c)}

.ssb-zones{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.ssb-zone{border:1.5px solid var(--line);background:var(--bg);color:var(--ink);border-radius:var(--r-pill);padding:9px 16px;font:600 14px/1.2 inherit;font-family:inherit;cursor:pointer;text-align:left}
.ssb-zone small{display:block;font-weight:400;font-size:12px;color:var(--mut)}
.ssb-zone.ssb-sel{border-color:var(--c);background:var(--c);color:#fff}.ssb-zone.ssb-sel small{color:rgba(255,255,255,.85)}
.ssb-tables{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:10px 0 4px}
.ssb-table{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px;background:#fafcfd}
.ssb-thead{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:14px}
.ssb-thead .ssb-link{font-size:12px;padding:2px}
.ssb-seats{display:flex;flex-wrap:wrap;gap:8px}
.ssb-seat{width:42px;height:42px;border-radius:12px 12px 16px 16px;border:1.5px solid color-mix(in srgb,var(--ssb-c) 40%,#fff);background:var(--tint);color:var(--ink);font:600 14px/1 inherit;font-family:inherit;cursor:pointer;padding:0;transition:transform .12s}
.ssb-seat:hover:not(:disabled){transform:translateY(-2px);border-color:var(--c)}
.ssb-seat.ssb-sel{background:var(--c);border-color:var(--c);color:#fff}
.ssb-seat.ssb-taken{background:#f1f5f9;border-color:#e2e8f0;color:#cbd5e1;cursor:not-allowed;text-decoration:line-through}
.ssb-dotsel{background:var(--c)}

.ssb-nav{display:flex;gap:10px}
.ssb-ghost{background:var(--bg);color:var(--ink);border:1.5px solid var(--line)}
.ssb-ghost:hover:not(:disabled){background:var(--soft);filter:none}
@media (max-width:720px){
  .ssb-opt{padding:14px}.ssb-price{font-size:17px}
  .ssb-tables{grid-template-columns:1fr}
  .ssb-foot{flex-wrap:wrap}.ssb-nav{flex:1;justify-content:flex-end}
  .ssb-tabs{overflow-x:auto;white-space:nowrap}
}

/* ---- v1.2: fee breakdown ---- */
.ssb-break{border:1px solid var(--line);border-radius:var(--r-md);padding:6px 16px 10px;margin:4px 0 16px;background:#fafcfd}
.ssb-break div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px solid var(--soft)}
.ssb-break span{color:var(--mut)}
.ssb-break .ssb-bt{border:0;font-size:16px}.ssb-break .ssb-bt span{color:var(--ink);font-weight:600}
.ssb-break small{display:block;color:var(--mut);font-size:12px;margin-top:2px}

.ssb-loading{opacity:.6;pointer-events:none;cursor:progress}

/* ---- v1.4: design themes ---- */
.ssb-open.ssb-bt-minimal{border-radius:6px;box-shadow:none}
.ssb-open.ssb-bt-bold{border-radius:999px;padding:17px 34px}
.ssb-open.ssb-bt-dark{background:#14171c;box-shadow:0 6px 18px rgba(0,0,0,.3)}

.ssb-t-minimal{--r-lg:10px;--r-md:6px;--r-sm:6px;--r-pill:6px;--shadow:0 14px 40px rgba(0,0,0,.28);--line:#d4d4d8;--soft:#f4f4f5;--mut:#71717a;--ink:#18181b}
.ssb-t-minimal .ssb-day,.ssb-t-minimal .ssb-seat{border-radius:4px}
.ssb-t-minimal .ssb-btn{box-shadow:none}

.ssb-t-bold{--r-lg:28px;--r-md:20px;--r-sm:14px;--r-pill:999px}
.ssb-t-bold .ssb-head{background:var(--c);border-bottom:0}
.ssb-t-bold .ssb-title small{color:rgba(255,255,255,.82)}.ssb-t-bold .ssb-title h3{color:#fff}
.ssb-t-bold .ssb-lang{background:rgba(255,255,255,.18);color:#fff;border-color:transparent}
.ssb-t-bold .ssb-ic.ssb-x{background:rgba(255,255,255,.2);color:#fff}
.ssb-t-bold .ssb-btn{padding:16px 32px;font-size:17px}

.ssb-t-dark{--bg:#14171c;--ink:#f1f5f9;--mut:#94a3b8;--line:#2a2f3a;--soft:#1e232c;--veil:rgba(0,0,0,.72);--shadow:0 30px 80px rgba(0,0,0,.65)}
.ssb-t-dark .ssb-day.ssb-s-closed{color:#475569}
.ssb-t-dark .ssb-day.ssb-s-full,.ssb-t-dark .ssb-err{background:#3b1d1d;color:#fca5a5}
.ssb-t-dark .ssb-seat.ssb-taken,.ssb-t-dark .ssb-slot.ssb-fullslot{background:var(--soft);color:#64748b;border-color:var(--line)}
.ssb-t-dark .ssb-dotfull{background:#7f1d1d}
.ssb-t-dark .ssb-btn:disabled{background:#334155;color:#94a3b8}
.ssb-t-dark .ssb-ghost{color:var(--ink)}
.ssb-t-dark .ssb-fld input,.ssb-t-dark .ssb-fld select,.ssb-t-dark .ssb-fld textarea{color-scheme:dark}
.ssb-t-dark .ssb-ic{color:var(--ink)}

/* ---- v1.5: shared press/hover feedback + Vivid theme ---- */
.ssb-overlay button:not(:disabled):active{transform:scale(.97)}
.ssb-slot:hover:not(:disabled),.ssb-opt:hover,.ssb-zone:hover{background:var(--tint)}
.ssb-slot:active:not(:disabled),.ssb-opt:active,.ssb-zone:active,.ssb-day:active:not(:disabled){background:color-mix(in srgb,var(--c) 20%,var(--bg))}

.ssb-open.ssb-bt-vivid{background:linear-gradient(135deg,var(--ssb-c),color-mix(in srgb,var(--ssb-c) 45%,#38bdf8));box-shadow:0 10px 24px color-mix(in srgb,var(--ssb-c) 38%,transparent)}

.ssb-t-vivid{--r-lg:28px;--r-md:18px;--r-sm:14px;--grad:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 42%,#38bdf8));--gshadow:0 10px 24px color-mix(in srgb,var(--c) 38%,transparent);--tint:color-mix(in srgb,var(--ssb-c) 9%,var(--bg))}
.ssb-t-vivid .ssb-head{position:relative;overflow:hidden;background:var(--grad);border-bottom:0}
.ssb-t-vivid .ssb-head:after{content:"";position:absolute;right:-40px;top:-70px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.13);pointer-events:none}
.ssb-t-vivid .ssb-head img{border:2px solid rgba(255,255,255,.65)}
.ssb-t-vivid .ssb-title small{color:rgba(255,255,255,.88)}.ssb-t-vivid .ssb-title h3{color:#fff}
.ssb-t-vivid .ssb-lang,.ssb-t-vivid .ssb-ic.ssb-x{position:relative;z-index:1;background:rgba(255,255,255,.2);color:#fff;border-color:transparent}
.ssb-t-vivid .ssb-lang:hover,.ssb-t-vivid .ssb-ic.ssb-x:hover:not(:disabled){background:rgba(255,255,255,.32)}
.ssb-t-vivid .ssb-tabs{padding:14px 22px 0;gap:8px}
.ssb-t-vivid .ssb-tabs span{margin:0;padding:7px 14px;border:0;border-radius:var(--r-pill);background:var(--soft);color:var(--mut);font-weight:600;font-size:13px}
.ssb-t-vivid .ssb-tabs .on{background:var(--grad);color:#fff;box-shadow:var(--gshadow)}
.ssb-t-vivid .ssb-tabs .done{background:var(--tint);color:var(--c)}
.ssb-t-vivid .ssb-day.ssb-s-open{background:var(--tint);color:var(--c);font-weight:700}
.ssb-t-vivid .ssb-day.ssb-s-open:hover{background:color-mix(in srgb,var(--c) 22%,var(--bg))}
.ssb-t-vivid .ssb-day.ssb-sel,.ssb-t-vivid .ssb-day.ssb-sel:hover{background:var(--grad);color:#fff;box-shadow:var(--gshadow)}
.ssb-t-vivid .ssb-slot.ssb-sel,.ssb-t-vivid .ssb-slot.ssb-sel:hover{background:var(--grad);border-color:transparent;color:#fff;box-shadow:var(--gshadow)}
.ssb-t-vivid .ssb-slot.ssb-sel em{color:rgba(255,255,255,.9)}
.ssb-t-vivid .ssb-opt.ssb-sel,.ssb-t-vivid .ssb-opt.ssb-sel:hover{background:var(--tint);border-color:var(--c);box-shadow:var(--gshadow)}
.ssb-t-vivid .ssb-opt.ssb-sel .ssb-radio{background:var(--grad);border-color:transparent}
.ssb-t-vivid .ssb-opt.ssb-sel .ssb-radio:after{background:#fff}
.ssb-t-vivid .ssb-price{color:var(--c)}
.ssb-t-vivid .ssb-sum{background:var(--grad);color:#fff;box-shadow:var(--gshadow)}
.ssb-t-vivid .ssb-sum span,.ssb-t-vivid .ssb-sum em{color:rgba(255,255,255,.88)}
.ssb-t-vivid .ssb-sum .ssb-link{color:#fff}
.ssb-t-vivid .ssb-zone.ssb-sel,.ssb-t-vivid .ssb-zone.ssb-sel:hover{background:var(--grad);border-color:transparent;box-shadow:var(--gshadow)}
.ssb-t-vivid .ssb-seat.ssb-sel{background:var(--grad);border-color:transparent;color:#fff}
.ssb-t-vivid .ssb-btn{background:var(--grad);box-shadow:var(--gshadow)}
.ssb-t-vivid .ssb-btn:disabled{background:#cbd5e1;box-shadow:none}
.ssb-t-vivid .ssb-ghost{background:var(--bg);box-shadow:none;color:var(--ink)}
.ssb-t-vivid .ssb-tot b{color:var(--c)}
.ssb-t-vivid .ssb-badge{background:var(--grad)}
.ssb-t-vivid .ssb-break{background:var(--tint);border-color:transparent}

/* ---- v1.7: group discount hint + add-ons ---- */
.ssb-chk{flex:none;width:20px;height:20px;margin-top:2px;border-radius:6px;border:2px solid #cbd5e1;position:relative;background:var(--bg)}
.ssb-opt.ssb-sel .ssb-chk{background:var(--c);border-color:var(--c)}
.ssb-opt.ssb-sel .ssb-chk:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.ssb-t-vivid .ssb-opt.ssb-sel .ssb-chk{background:var(--grad);border-color:transparent}
.ssb-ad{display:block;color:var(--mut);font-size:13px;margin-top:3px}
.ssb-addrow{align-items:center;cursor:default}
.ssb-addrow:hover{background:var(--bg)}
.ssb-addrow.ssb-sel:hover{background:var(--tint)}
.ssb-tiers{margin:12px 0 4px}
.ssb-tiers small{display:block;color:var(--mut);font-size:12px;margin-bottom:6px;font-weight:600}
.ssb-tiers div{display:flex;flex-wrap:wrap;gap:6px}
.ssb-tiers span{border:1.5px solid var(--line);border-radius:var(--r-pill);padding:4px 12px;font-size:12px;color:var(--mut);background:var(--bg)}
.ssb-tiers span b{color:var(--ink)}
.ssb-tiers span.on{border-color:var(--c);background:var(--tint);color:var(--ink)}
.ssb-tiers span.on b{color:var(--c)}
.ssb-neg b{color:#16a34a}


/* ---- v1.11: layout hardening (mobile stepper, dynamic viewport, autofill) ---- */
.ssb-dialog{max-height:min(92vh,820px);max-height:min(92dvh,820px)}
.ssb-head,.ssb-tabs,.ssb-foot,.ssb-secure{flex:none}
.ssb-body{min-height:0;overscroll-behavior:contain}
.ssb-tabs{overflow-x:auto;scrollbar-width:none;padding-bottom:8px}
.ssb-tabs::-webkit-scrollbar{display:none}
.ssb-tabs span{flex:none}
.ssb-overlay .ssb-fld input,.ssb-overlay .ssb-fld select,.ssb-overlay .ssb-fld textarea{border:1.5px solid var(--line);border-radius:var(--r-sm);color:var(--ink);background:var(--bg);font-size:16px;min-height:46px}
.ssb-overlay .ssb-fld textarea{min-height:76px}
.ssb-overlay .ssb-fld input:-webkit-autofill,.ssb-overlay .ssb-fld select:-webkit-autofill{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);-webkit-box-shadow:0 0 0 100px var(--bg) inset;border-radius:var(--r-sm)}
.ssb-badge svg{width:30px;height:30px}
@media (max-width:720px){
  .ssb-dialog{max-height:94vh;max-height:94dvh}
  .ssb-head{padding:12px 14px;gap:10px}
  .ssb-head img{width:44px;height:44px;border-radius:12px}
  .ssb-title h3{font-size:17px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .ssb-lang{padding:7px 11px;font-size:12px}
  .ssb-ic{width:34px;height:34px}
  .ssb-t-vivid .ssb-head:after{width:140px;height:140px;right:-50px;top:-60px}
  .ssb-tabs,.ssb-t-vivid .ssb-tabs{padding:10px 14px 8px;gap:6px}
  .ssb-tabs span,.ssb-t-vivid .ssb-tabs span{padding:6px 12px;font-size:12.5px;margin-right:0}
  .ssb-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  .ssb-secure{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
}

/* payment method choice (card vs. PromptPay transfer) */
.ssb-methods{margin-bottom:12px}.ssb-methods .ssb-opt{padding:13px 16px}.ssb-methods .ssb-optmain b{font-size:15px}
.ssb-payline{margin:0 0 12px;font-size:14px;color:var(--mut)}.ssb-payline b{color:var(--ink)}

/* payment method cards: who it is for, fee, how it works */
.ssb-method .ssb-optmain{display:flex;flex-direction:column;gap:5px;align-items:flex-start}
.ssb-method .ssb-optmain b{font-size:17px;line-height:1.3}
.ssb-pill{display:inline-block;padding:2px 10px;border-radius:var(--r-pill);background:var(--soft);color:var(--c);font-size:12px;font-weight:700}
.ssb-method.ssb-sel .ssb-pill{background:var(--bg)}
.ssb-fee{font-size:13px;font-weight:700;color:#b45309}.ssb-fee.ssb-free{color:#15803d}
.ssb-how{font-size:13px;line-height:1.5;color:var(--mut)}

/* Owner classes often set border/background with !important; keep the selected state visible. */
.ssb-skinned.ssb-opt.ssb-sel{border-color:var(--c)!important;background:var(--tint)!important}
.ssb-skinned.ssb-opt.ssb-sel:hover{transform:none!important}

.ssb-ladder{margin:14px 0 4px}
.ssb-ladder small{display:block;color:var(--mut);font-size:12px;margin-bottom:6px;font-weight:600}
.ssb-ladder table{width:100%;border-collapse:separate;border-spacing:0;border:1.5px solid var(--line);border-radius:var(--r-card,12px);overflow:hidden;font-size:13px}
.ssb-ladder td{padding:8px 12px;border-top:1px solid var(--line);color:var(--mut)}
.ssb-ladder tr:first-child td{border-top:0}
.ssb-ladder td:last-child{text-align:right;white-space:nowrap}
.ssb-ladder td small{display:inline;font-weight:400;margin:0}
.ssb-ladder em{font-style:normal;font-size:11px;border:1px solid var(--line);border-radius:99px;padding:1px 8px;margin-left:4px}
.ssb-ladder tr.on td{background:var(--tint);color:var(--ink);font-weight:700}
.ssb-ladder tr.on td:last-child{color:var(--c)}
.ssb-ladder p{margin:6px 2px 0;font-size:12px;color:var(--mut)}
.ssb-ladder .ssb-lsub{margin:10px 0 4px}
.ssb-ladder table+small{margin-top:10px}
