/* Box size calculator — scoped under .ssm-calc-root so it can't collide with theme styles. v3.9.9 */
.ssm-calc-root{
  --blue:#2979ff;
  --blue-dark:#1f5fd4;
  --blue-soft:#eaf1ff;
  --dark:#1a1a1a;
  --bg:#f8f9fa;
  --green:#18a05a;
  --green-soft:#e6f6ee;
  --line:#e6e8ec;
  --muted:#697080;
  --fh:'Bebas Neue', sans-serif;
  --fb:'DM Sans', sans-serif;
  --fl:'Space Mono', monospace;
}
.ssm-calc-root *{box-sizing:border-box;margin:0;padding:0}
.ssm-calc-root{font-family:var(--fb);color:var(--dark);background:var(--bg);line-height:1.5;-webkit-font-smoothing:antialiased}
.ssm-calc-root .con{max-width:1240px;margin:0 auto;padding:0 1.5rem}
.ssm-calc-root a{color:inherit;text-decoration:none}

/* ── eyebrow / labels ── */
.ssm-calc-root .eyebrow{font-family:var(--fl);text-transform:uppercase;letter-spacing:0.14em;font-size:0.72rem;color:var(--blue);font-weight:700}

/* ── page hero ── */
.ssm-calc-root .calc-hero{background:var(--dark);color:#fff;padding:3.25rem 0 2.5rem;position:relative;overflow:hidden}
.ssm-calc-root .calc-hero::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;background:radial-gradient(circle,rgba(41,121,255,0.35),transparent 70%);pointer-events:none}
.ssm-calc-root .calc-hero .eyebrow{color:#7ea8ff}
.ssm-calc-root .calc-hero h1{font-family:var(--fh);font-size:clamp(2.6rem,6vw,4rem);line-height:0.95;letter-spacing:0.01em;margin:0.5rem 0 0.6rem;font-weight:400}
.ssm-calc-root .calc-hero p{max-width:560px;color:rgba(255,255,255,0.72);font-size:1.02rem}

/* ── calculator shell ── */
.ssm-calc-root .calc{padding:2rem 0 3.5rem}
.ssm-calc-root .calc-grid{display:grid;grid-template-columns:260px 1fr 320px;gap:1.25rem;align-items:start}
.ssm-calc-root .panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.4rem}
.ssm-calc-root .panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.ssm-calc-root .panel-head h2{font-family:var(--fb);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted)}

/* ── presets ── */
.ssm-calc-root .preset{width:100%;display:flex;align-items:center;gap:0.85rem;text-align:left;background:#fff;border:1px solid var(--line);border-radius:13px;padding:0.7rem 0.85rem;margin-bottom:0.6rem;cursor:pointer;transition:all .15s ease;font-family:inherit}
.ssm-calc-root .preset:hover{border-color:var(--blue);background:var(--blue-soft);transform:translateX(2px)}
.ssm-calc-root .preset i{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--blue-soft);color:var(--blue);font-size:0.95rem;transition:all .15s ease}
.ssm-calc-root .preset:hover i{background:var(--blue);color:#fff}
.ssm-calc-root .preset .pt{font-weight:700;font-size:0.92rem;display:block}
.ssm-calc-root .preset .ps{font-size:0.74rem;color:var(--muted)}

/* ── middle: summary ── */
.ssm-calc-root .summary{min-height:520px;display:flex;flex-direction:column}
.ssm-calc-root .sum-eyebrow{font-family:var(--fl);text-transform:uppercase;letter-spacing:0.12em;font-size:0.7rem;color:var(--muted);font-weight:700;margin-bottom:0.4rem}
.ssm-calc-root .sum-headline{font-size:1.18rem;font-weight:500;margin-bottom:0.15rem}
.ssm-calc-root .sum-headline b{font-family:var(--fh);font-weight:400;font-size:2.4rem;color:var(--blue);letter-spacing:0.01em;vertical-align:-3px;margin:0 0.15rem;display:inline-block;transition:transform .2s ease}
.ssm-calc-root .sum-headline.pop b{animation:ssmcpop .3s ease}
@keyframes ssmcpop{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}

/* box-fill visual */
.ssm-calc-root .boxwrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem 0}
.ssm-calc-root .boxgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;width:230px;margin:0 auto 1.1rem}
.ssm-calc-root .bx{aspect-ratio:1;border-radius:8px;background:var(--bg);border:1.5px solid var(--line);display:grid;place-items:center;color:#c7ccd6;font-size:0.8rem;transition:all .25s ease;transform:translateY(0)}
.ssm-calc-root .bx.fill{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 14px -6px rgba(41,121,255,0.6);transform:translateY(-1px)}
.ssm-calc-root .bx.fill.over{background:var(--green);border-color:var(--green);box-shadow:0 6px 14px -6px rgba(24,160,90,0.55)}
.ssm-calc-root .boxcap{font-family:var(--fl);font-size:0.72rem;color:var(--muted);letter-spacing:0.06em;text-align:center}
.ssm-calc-root .overbadge{display:inline-block;margin-left:0.4rem;background:var(--green);color:#fff;font-family:var(--fl);font-size:0.7rem;padding:0.1rem 0.5rem;border-radius:20px}

/* breakdown chips */
.ssm-calc-root .chips{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:1.2rem}
.ssm-calc-root .chip{display:inline-flex;align-items:center;gap:0.4rem;background:var(--bg);border:1px solid var(--line);border-radius:30px;padding:0.32rem 0.75rem;font-size:0.8rem;font-weight:600}
.ssm-calc-root .chip b{font-family:var(--fl);color:var(--blue)}
.ssm-calc-root .chip.empty{opacity:0.5}

/* recommendation */
.ssm-calc-root .rec{margin-top:auto}
.ssm-calc-root .rec-lead{font-family:var(--fl);text-transform:uppercase;letter-spacing:0.1em;font-size:0.66rem;color:var(--muted);font-weight:700;margin-bottom:0.6rem}
.ssm-calc-root .rec-lead b{color:var(--blue)}

/* empty placeholder */
.ssm-calc-root .rec-empty{border:1.5px dashed var(--line);background:var(--bg);border-radius:15px;padding:1.1rem 1.2rem;text-align:center}
.ssm-calc-root .rec-empty .rl{font-family:var(--fl);text-transform:uppercase;letter-spacing:0.1em;font-size:0.66rem;color:var(--muted);font-weight:700;margin-bottom:0.3rem}
.ssm-calc-root .rec-empty p{font-size:0.85rem;color:var(--muted)}

/* two pricing options */
.ssm-calc-root .opts{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
.ssm-calc-root .opt{border:1px solid var(--line);border-radius:14px;padding:0.95rem 0.95rem 1rem;background:#fff;position:relative;display:flex;flex-direction:column}
.ssm-calc-root .opt.pop{border:1.5px solid var(--blue);box-shadow:0 12px 26px -18px rgba(41,121,255,0.6)}
.ssm-calc-root .opt .pop-badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-family:var(--fl);font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.18rem 0.6rem;border-radius:20px;white-space:nowrap}
.ssm-calc-root .opt .ol{font-family:var(--fh);font-size:1.05rem;letter-spacing:0.02em;line-height:1;color:var(--dark);margin-bottom:0.15rem}
.ssm-calc-root .opt .ob{font-size:0.74rem;color:var(--muted);margin-bottom:0.55rem}
.ssm-calc-root .opt .op{font-family:var(--fh);font-size:2rem;color:var(--blue);line-height:0.9}
.ssm-calc-root .opt .op small{font-family:var(--fb);font-size:0.7rem;color:var(--muted);font-weight:500;letter-spacing:0;display:block;margin-top:0.15rem}
.ssm-calc-root .opt ul{list-style:none;margin:0.7rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.4rem}
.ssm-calc-root .opt li{font-size:0.76rem;color:#3a4150;display:flex;gap:0.45rem;line-height:1.35}
.ssm-calc-root .opt li i{color:var(--green);font-size:0.72rem;margin-top:0.18rem;flex:none}

/* custom quote callout (over 20 / bulky) */
.ssm-calc-root .quote{border:1.5px solid var(--green);background:var(--green-soft);border-radius:15px;padding:1.2rem;animation:ssmcfade .3s ease}
@keyframes ssmcfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ssm-calc-root .quote .ql{display:flex;align-items:center;gap:0.55rem;font-weight:700;font-size:1rem;margin-bottom:0.4rem}
.ssm-calc-root .quote .ql i{color:var(--green);font-size:1.1rem}
.ssm-calc-root .quote p{font-size:0.86rem;color:#2f4a3b;margin-bottom:0.9rem}
.ssm-calc-root .quote a{display:inline-flex;align-items:center;gap:0.5rem;background:var(--green);color:#fff;font-weight:600;font-size:0.86rem;padding:0.65rem 1.05rem;border-radius:10px;transition:background .15s}
.ssm-calc-root .quote a:hover{background:#13864b}

/* ── right: list ── */
.ssm-calc-root .list-empty{text-align:center;color:var(--muted);font-size:0.88rem;padding:2.5rem 0.5rem}
.ssm-calc-root .list-empty i{font-size:1.6rem;color:var(--line);display:block;margin-bottom:0.6rem}
.ssm-calc-root .litem{display:flex;align-items:center;gap:0.7rem;padding:0.6rem 0;border-bottom:1px solid var(--line)}
.ssm-calc-root .litem:last-of-type{border-bottom:none}
.ssm-calc-root .litem .ic{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--bg);color:var(--blue);font-size:0.85rem}
.ssm-calc-root .litem .ic.bulky{color:var(--green);background:var(--green-soft)}
.ssm-calc-root .litem .nm{flex:1;min-width:0}
.ssm-calc-root .litem .nm b{font-size:0.85rem;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ssm-calc-root .litem .nm span{font-size:0.7rem;color:var(--muted)}
.ssm-calc-root .stepper{display:flex;align-items:center;gap:0.35rem;flex:none}
.ssm-calc-root .stepper button{width:26px;height:26px;border-radius:7px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:0.85rem;color:var(--dark);display:grid;place-items:center;transition:all .12s}
.ssm-calc-root .stepper button:hover{border-color:var(--blue);color:var(--blue)}
.ssm-calc-root .stepper .qv{width:22px;text-align:center;font-weight:700;font-size:0.9rem}
.ssm-calc-root .clearall{font-size:0.74rem;color:var(--muted);background:none;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:0.3rem}
.ssm-calc-root .clearall:hover{color:var(--blue)}
.ssm-calc-root .cta{display:block;width:100%;text-align:center;background:var(--blue);color:#fff;font-weight:700;padding:0.85rem;border-radius:12px;margin-top:1.1rem;font-size:0.95rem;transition:background .15s;border:none;cursor:pointer;font-family:inherit}
.ssm-calc-root .cta:hover{background:var(--blue-dark)}
.ssm-calc-root .cta.disabled{background:var(--line);color:var(--muted);cursor:not-allowed;pointer-events:none}
.ssm-calc-root .foot-note{font-size:0.72rem;color:var(--muted);text-align:center;margin-top:0.7rem}

/* ── catalogue ── */
.ssm-calc-root .cat{margin-top:1.25rem}
.ssm-calc-root .cat-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.1rem}
.ssm-calc-root .cat-head h2{font-family:var(--fh);font-size:1.7rem;letter-spacing:0.01em;font-weight:400}
.ssm-calc-root .cat-head p{font-size:0.85rem;color:var(--muted)}
.ssm-calc-root .search{position:relative;flex:none}
.ssm-calc-root .search i{position:absolute;left:0.85rem;top:50%;transform:translateY(-50%);color:var(--muted);font-size:0.85rem}
.ssm-calc-root .search input{border:1px solid var(--line);border-radius:30px;padding:0.6rem 1rem 0.6rem 2.3rem;font-family:inherit;font-size:0.88rem;width:230px;outline:none;background:#fff;transition:border-color .15s}
.ssm-calc-root .search input:focus{border-color:var(--blue)}
.ssm-calc-root .tabs{display:flex;gap:0.5rem;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.4rem}
.ssm-calc-root .tab{display:inline-flex;align-items:center;gap:0.5rem;border:1px solid var(--line);background:#fff;border-radius:30px;padding:0.5rem 1rem;font-family:inherit;font-size:0.85rem;font-weight:600;cursor:pointer;color:var(--muted);transition:all .15s}
.ssm-calc-root .tab i{font-size:0.8rem}
.ssm-calc-root .tab:hover{border-color:var(--blue);color:var(--blue)}
.ssm-calc-root .tab.active{background:var(--blue);border-color:var(--blue);color:#fff}
.ssm-calc-root .tab-hint{font-size:0.8rem;color:var(--muted);margin-bottom:1.2rem}
.ssm-calc-root .tab-hint b{color:var(--dark)}

.ssm-calc-root .items{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:0.9rem}
.ssm-calc-root .icard{background:#fff;border:1px solid var(--line);border-radius:15px;padding:1.1rem 1rem 0.9rem;text-align:center;transition:all .15s ease;position:relative;opacity:0;animation:ssmcrise .4s ease forwards}
@keyframes ssmcrise{to{opacity:1;transform:none}}
.ssm-calc-root .icard{transform:translateY(8px)}
.ssm-calc-root .icard:hover{border-color:var(--blue);box-shadow:0 10px 24px -14px rgba(26,26,26,0.25)}
.ssm-calc-root .icard.in{border-color:var(--blue);background:var(--blue-soft)}
.ssm-calc-root .icard .icon{width:60px;height:60px;margin:0 auto 0.7rem;border-radius:50%;display:grid;place-items:center;background:var(--bg);color:var(--blue);font-size:1.4rem;transition:all .15s}
.ssm-calc-root .icard.in .icon{background:var(--blue);color:#fff}
.ssm-calc-root .icard.bulky .icon{color:var(--green)}
.ssm-calc-root .icard.bulky.in{background:var(--green-soft);border-color:var(--green)}
.ssm-calc-root .icard.bulky.in .icon{background:var(--green);color:#fff}
.ssm-calc-root .icard .iname{font-weight:600;font-size:0.9rem;margin-bottom:0.15rem}
.ssm-calc-root .icard .isub{font-size:0.72rem;color:var(--muted);min-height:1rem}
.ssm-calc-root .icard .add{margin-top:0.7rem}
.ssm-calc-root .icard .addbtn{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:0.45rem;font-family:inherit;font-size:0.8rem;font-weight:600;cursor:pointer;color:var(--blue);transition:all .12s}
.ssm-calc-root .icard .addbtn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.ssm-calc-root .icard .mini{display:flex;align-items:center;justify-content:center;gap:0.5rem}
.ssm-calc-root .icard .mini button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:0.9rem;color:var(--dark);transition:all .12s}
.ssm-calc-root .icard .mini button:hover{border-color:var(--blue);color:var(--blue)}
.ssm-calc-root .icard .mini .q{font-weight:700;min-width:22px;text-align:center}
.ssm-calc-root .tag{position:absolute;top:0.7rem;right:0.7rem;font-family:var(--fl);font-size:0.6rem;letter-spacing:0.04em;text-transform:uppercase;color:var(--muted);background:var(--bg);border-radius:20px;padding:0.15rem 0.5rem}
.ssm-calc-root .icard.bulky .tag{color:var(--green);background:var(--green-soft)}

/* reassurance strip */
.ssm-calc-root .reassure{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;justify-content:center;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--line)}
.ssm-calc-root .reassure div{display:flex;align-items:center;gap:0.6rem;font-size:0.85rem;font-weight:600;color:#3a4150}
.ssm-calc-root .reassure i{color:var(--blue)}

@media(max-width:1080px){
  .ssm-calc-root .calc-grid{grid-template-columns:1fr 320px}
  .ssm-calc-root .panel.presets{grid-column:1 / -1;display:flex;flex-direction:column}
  .ssm-calc-root .preset{margin-bottom:0}
  .ssm-calc-root .presets .preset-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0.6rem}
}
@media(max-width:760px){
  .ssm-calc-root .calc-grid{grid-template-columns:1fr}
  .ssm-calc-root .summary{min-height:0}
  .ssm-calc-root .search input{width:100%}
  .ssm-calc-root .search{flex:1 1 100%}
  .ssm-calc-root .opts{grid-template-columns:1fr}
}
