/* Savi Minis Base Studio — Savi Minis colours (lime #8ECC05, near-black #1C1C1C, orange #F6921D) and fonts (Metamorphous, Roboto).
   Every rule is scoped to .smbs so it can't affect the theme. */
.smbs{
  --smbs-green:#8ECC05; --smbs-green-dark:#77ad00; --smbs-ink:#1C1C1C; --smbs-text:#3d3d3d; --smbs-muted:#6b6b6b;
  --smbs-orange:#F6921D; --smbs-coral:#FE5252; --smbs-line:#e2e2df; --smbs-tint:#f3f8e6; --smbs-panel:#fff;
  --smbs-display:"Metamorphous",Georgia,"Times New Roman",serif; --smbs-body:"Roboto","Open Sans",system-ui,sans-serif;
  container-type:inline-size;
  color:var(--smbs-text); font-family:var(--smbs-body); font-size:15px; line-height:1.45; text-align:left;
  margin:0 auto 24px; max-width:1200px;
}
.smbs.alignwide{width:auto;max-width:var(--wp--style--global--wide-size,1200px)}
.smbs.smbs-full{width:min(1700px,calc(100vw - 48px));max-width:none !important;position:relative;left:50%;margin-left:calc(-1 * min(850px, 50vw - 24px)) !important;margin-right:0 !important}
@media (max-width:640px){.smbs.smbs-full{width:auto;left:auto;margin-left:auto !important}}
.smbs *,.smbs *::before,.smbs *::after{box-sizing:border-box}
.smbs p{margin:0 0 10px;font-size:15px;line-height:1.45;color:inherit}
.smbs h2,.smbs h3{color:inherit;letter-spacing:normal;margin:0}
.smbs [hidden]{display:none !important}

/* banner */
.smbs .smbs-banner{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;
  background:var(--smbs-ink);color:#fff;border-radius:12px;padding:20px 22px;margin:0 0 20px;
  background-image:linear-gradient(135deg,rgba(142,204,5,.16),rgba(142,204,5,0) 45%)}
.smbs .smbs-kicker{font-family:var(--smbs-display);text-transform:uppercase;letter-spacing:.18em;font-size:13px !important;color:var(--smbs-green) !important;margin:0 0 4px !important}
.smbs h2.smbs-title{font-family:var(--smbs-display);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(20px,3.2cqi,30px);line-height:1.15;color:#fff}

/* layout */
.smbs .smbs-grid{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.smbs .smbs-col{display:flex;flex-direction:column;gap:20px;min-width:0}
/* one column (phones, narrow pages): the preview comes first and stays in view while scrolling the settings */
.smbs .smbs-preview-card{order:-1;position:sticky;top:0;z-index:5;box-shadow:0 6px 16px rgba(0,0,0,.12)}
@container (max-width:959px){
  .smbs .smbs-preview-card .smbs-hint,.smbs .smbs-preview-card .smbs-note:empty{display:none}
  .smbs .smbs-preview-card canvas{max-height:32vh;object-fit:contain}
}
@container (min-width:960px){
  .smbs .smbs-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
  .smbs .smbs-preview-card{order:0;top:20px;box-shadow:none}
}
.smbs .smbs-card{background:var(--smbs-panel);border:1px solid var(--smbs-line);border-radius:12px;padding:18px;margin:0}
.smbs h3.smbs-h{font-family:var(--smbs-display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:17px;color:var(--smbs-ink);
  display:flex;align-items:center;gap:10px;margin:0 0 14px}
.smbs .smbs-step{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--smbs-green);color:var(--smbs-ink);
  font-family:var(--smbs-body);font-weight:700;font-size:14px;letter-spacing:0;flex:none}
.smbs .smbs-label{font-size:13px !important;font-weight:700;color:var(--smbs-muted) !important;text-transform:uppercase;letter-spacing:.06em;margin:14px 0 8px !important}

/* segmented choices */
.smbs .smbs-seg{display:grid;gap:0;border:1px solid #cfcfca;border-radius:10px;overflow:hidden}
.smbs .smbs-seg4{grid-template-columns:repeat(4,1fr)}
.smbs .smbs-seg3{grid-template-columns:repeat(3,1fr)}
.smbs .smbs-seg-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  padding:9px 6px;min-height:58px;font-weight:600;font-size:13px;color:var(--smbs-ink);background:#fff;text-align:center;line-height:1.2}
.smbs .smbs-seg-btn + .smbs-seg-btn{border-left:1px solid #cfcfca}
.smbs .smbs-seg-btn:hover{background:var(--smbs-tint)}
.smbs .smbs-seg-btn[aria-checked=true]{background:var(--smbs-ink);color:#fff}
.smbs .smbs-seg-btn[aria-checked=true] svg{color:var(--smbs-green)}
.smbs .smbs-seg-btn:focus-visible{outline:2px solid var(--smbs-green);outline-offset:-4px}
.smbs .smbs-seg-btn svg{display:block}

/* size chips */
.smbs .smbs-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.smbs .smbs-chip{all:unset;box-sizing:border-box;cursor:pointer;padding:6px 12px;border:1px solid #cfcfca;border-radius:999px;background:#fff;
  font-size:14px;font-weight:600;color:var(--smbs-ink);font-variant-numeric:tabular-nums}
.smbs .smbs-chip:hover{border-color:var(--smbs-green-dark);background:var(--smbs-tint)}
.smbs .smbs-chip[aria-checked=true]{background:var(--smbs-green);border-color:var(--smbs-green);color:var(--smbs-ink)}
.smbs .smbs-chip:focus-visible{outline:2px solid var(--smbs-ink);outline-offset:2px}

/* edge tiles */
.smbs .smbs-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0 0 16px}
@container (max-width:460px){ .smbs .smbs-tiles{grid-template-columns:repeat(2,1fr)} }
.smbs .smbs-tile{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;
  padding:10px 6px 8px;border:1px solid var(--smbs-line);border-radius:10px;background:#fff;text-align:center}
.smbs .smbs-tile:hover{background:var(--smbs-tint)}
.smbs .smbs-tile[aria-checked=true]{border-color:var(--smbs-green-dark);box-shadow:0 0 0 2px var(--smbs-green) inset}
.smbs .smbs-tile:focus-visible{outline:2px solid var(--smbs-ink);outline-offset:2px}
.smbs .smbs-tile svg{display:block;width:76px;height:34px}
.smbs .smbs-tile-name{font-size:13px;font-weight:700;color:var(--smbs-ink)}
.smbs .smbs-tile-tag{position:absolute;top:4px;right:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--smbs-ink);background:var(--smbs-tint);border-radius:999px;padding:1px 5px}

/* parameters (slider + number box, with default and Reset) */
.smbs .smbs-param{display:grid;grid-template-columns:1fr 92px;gap:4px 12px;align-items:center;margin-bottom:14px}
.smbs .smbs-param-head{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.smbs .smbs-param-head label{font-size:14px;font-weight:700;margin:0;color:var(--smbs-ink)}
.smbs .smbs-def{font-size:13px;color:var(--smbs-muted)}
.smbs .smbs-reset{all:unset;cursor:pointer;font-size:13px;font-weight:700;color:var(--smbs-green-dark);margin-left:auto;text-decoration:underline;text-underline-offset:2px}
.smbs .smbs-reset:focus-visible{outline:2px solid var(--smbs-ink);outline-offset:2px}
.smbs .smbs-param.is-off{opacity:.45}
.smbs .smbs-param input[type=range]{-webkit-appearance:none;appearance:none;display:block;width:100%;height:22px;margin:0;padding:0;background:transparent;border:0;box-shadow:none;outline:none;cursor:pointer;--smbs-pct:50%}
.smbs .smbs-param input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;border:0;
  background:linear-gradient(to right,var(--smbs-green) 0,var(--smbs-green) var(--smbs-pct),#dcdcd6 var(--smbs-pct),#dcdcd6 100%)}
.smbs .smbs-param input[type=range]::-moz-range-track{height:6px;border-radius:3px;border:0;background:#dcdcd6}
.smbs .smbs-param input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--smbs-green)}
.smbs .smbs-param input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;margin-top:-6px;border-radius:50%;
  background:var(--smbs-ink);border:2px solid var(--smbs-green);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.smbs .smbs-param input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--smbs-ink);border:2px solid var(--smbs-green)}
.smbs .smbs-param input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px rgba(142,204,5,.5)}
.smbs input[type=number],.smbs input.smbs-text,.smbs select{width:100%;height:auto;margin:0;padding:7px 9px;border:1px solid #d5d5d0;border-radius:8px;background:#fff;
  color:var(--smbs-ink);font:inherit;font-size:15px;box-shadow:none;line-height:1.3;min-height:0}
.smbs input[type=number]:focus,.smbs input.smbs-text:focus,.smbs select:focus{outline:none;border-color:var(--smbs-green-dark);box-shadow:0 0 0 3px rgba(142,204,5,.25)}
.smbs input[type=checkbox]{width:auto;height:auto;margin:0;padding:0;accent-color:var(--smbs-green-dark)}
.smbs .smbs-chk{display:flex;gap:6px;align-items:center;font-size:14px;margin:0 0 6px;cursor:pointer}

.smbs .smbs-row{display:grid;gap:6px;margin:14px 0 0}
.smbs .smbs-row > label{font-size:14px;font-weight:700;color:var(--smbs-ink)}
.smbs .smbs-row select{max-width:260px}
.smbs .smbs-hint{font-size:12.5px;color:var(--smbs-muted);display:block}
.smbs p.smbs-hint{margin:10px 0 0}
.smbs .smbs-center{text-align:center}
.smbs .smbs-stepper{display:flex;align-items:stretch;gap:0;max-width:170px}
.smbs .smbs-stepper input{text-align:center;border-radius:0;border-left:0;border-right:0;-moz-appearance:textfield}
.smbs .smbs-stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.smbs .smbs-stepbtn{all:unset;box-sizing:border-box;cursor:pointer;width:42px;display:grid;place-items:center;border:1px solid #d5d5d0;background:var(--smbs-tint);font-size:20px;font-weight:700;color:var(--smbs-ink)}
.smbs .smbs-stepbtn:first-child{border-radius:8px 0 0 8px}
.smbs .smbs-stepbtn:last-child{border-radius:0 8px 8px 0}
.smbs .smbs-stepbtn:hover{background:var(--smbs-green)}
.smbs .smbs-stepbtn:focus-visible{outline:2px solid var(--smbs-ink);outline-offset:1px}

/* terrain */
.smbs .smbs-seedrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:0 0 14px}
.smbs .smbs-btn.smbs-small{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;font-size:13px}
.smbs .smbs-seed{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--smbs-ink)}
.smbs .smbs-seed input{width:110px}
.smbs .smbs-chips.smbs-custom .smbs-chip[aria-checked=true]{background:#fff}

.smbs details.smbs-tgroup{border:1px solid var(--smbs-line);border-radius:10px;padding:0 12px;margin:0 0 10px;background:#fcfdf9}
.smbs details.smbs-tgroup[open]{padding-bottom:4px}
.smbs details.smbs-tgroup summary{cursor:pointer;display:flex;align-items:baseline;gap:10px;padding:10px 0;list-style:none}
.smbs details.smbs-tgroup summary::-webkit-details-marker{display:none}
.smbs details.smbs-tgroup summary::before{content:"";width:8px;height:8px;border-right:2px solid var(--smbs-ink);border-bottom:2px solid var(--smbs-ink);transform:rotate(-45deg);transition:transform .15s;flex:none;align-self:center}
.smbs details.smbs-tgroup[open] summary::before{transform:rotate(45deg)}
.smbs .smbs-tgroup-name{font-family:var(--smbs-display);text-transform:uppercase;letter-spacing:.05em;font-size:14px;color:var(--smbs-ink)}
.smbs .smbs-tgroup-sum{font-size:12.5px;color:var(--smbs-muted);margin-left:auto;text-align:right}
.smbs details.smbs-tgroup > p.smbs-hint{margin:-4px 0 10px}

/* dimensions */
.smbs .smbs-dims{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--smbs-line)}
.smbs .smbs-dim-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--smbs-muted)}
.smbs .smbs-big{font-size:18px;font-weight:700;color:var(--smbs-ink);font-variant-numeric:tabular-nums}
@container (max-width:420px){ .smbs .smbs-dims{grid-template-columns:1fr 1fr} }

/* buttons */
.smbs .smbs-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-block;padding:11px 22px;border-radius:30px;background:var(--smbs-green);color:var(--smbs-ink);
  font-family:var(--smbs-display);text-transform:uppercase;letter-spacing:.06em;font-size:14px;line-height:1.3;text-align:center}
.smbs .smbs-btn:hover{background:var(--smbs-green-dark);color:var(--smbs-ink)}
.smbs .smbs-btn:focus-visible{outline:2px solid var(--smbs-ink);outline-offset:2px}
.smbs .smbs-btn.secondary{background:#fff;color:var(--smbs-ink);box-shadow:inset 0 0 0 2px var(--smbs-ink)}
.smbs .smbs-btn.secondary:hover{background:var(--smbs-tint)}
.smbs .smbs-btn[disabled]{opacity:.5;pointer-events:none}
.smbs .smbs-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.smbs .smbs-actions.smbs-centered{justify-content:center}
.smbs .smbs-actions.smbs-end{justify-content:flex-end}
.smbs .smbs-actions input.smbs-text{flex:1;min-width:180px;width:auto;padding:10px}
.smbs .smbs-msg{font-size:14px;color:#3d7a00;margin-top:8px;min-height:1.2em;font-weight:600}
.smbs .smbs-link{all:unset;cursor:pointer;color:var(--smbs-green-dark);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.smbs .smbs-link-light{color:var(--smbs-green)}
.smbs .smbs-link:focus-visible{outline:2px solid var(--smbs-green);outline-offset:2px}
.smbs .smbs-link.smbs-inline{font-size:inherit}
.smbs .smbs-fine{font-size:12.5px !important;color:var(--smbs-muted) !important;margin:14px 0 0 !important}

/* preview */
.smbs .smbs-preview-card{padding:14px}
.smbs .smbs-preview-tools{display:flex;flex-wrap:wrap;gap:4px 18px;padding:0 4px 8px}
.smbs .smbs-canvas-wrap{width:100%;border-radius:10px;overflow:hidden;background:var(--smbs-ink)}
.smbs canvas{width:100%;display:block;max-width:100%;touch-action:none;cursor:grab}
.smbs canvas.dragging{cursor:grabbing}
.smbs .smbs-preview-card .smbs-hint{margin-top:8px}
.smbs .smbs-note{font-size:13px !important;color:#c0392b !important;text-align:center;min-height:1.2em;margin:4px 0 0 !important;font-weight:600}
.smbs .smbs-credit{text-align:center;font-size:14px;color:var(--smbs-muted);margin-top:20px}
.smbs .smbs-credit a{color:var(--smbs-ink);font-weight:700}

/* popups */
.smbs .smbs-modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:999999}
.smbs .smbs-modal.open{display:flex}
.smbs .smbs-box{background:#fff;color:var(--smbs-text);border-radius:14px;max-width:440px;width:100%;padding:24px;text-align:center;box-shadow:0 10px 40px rgba(0,0,0,.3);border-top:5px solid var(--smbs-green)}
.smbs .smbs-box h3{margin:0 0 8px;font-family:var(--smbs-display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:20px;color:var(--smbs-ink)}
.smbs .smbs-box p{color:var(--smbs-muted);margin:0 0 18px;font-size:15px}
.smbs .smbs-amount{display:flex;align-items:center;justify-content:center;gap:8px;font-size:22px;font-weight:700;margin-bottom:6px;color:var(--smbs-ink)}
.smbs .smbs-amount input[type=number]{width:130px;font-size:22px;text-align:center;padding:8px;border:2px solid var(--smbs-line);border-radius:10px}
.smbs .smbs-amount span:last-child{font-size:15px;color:var(--smbs-muted);font-weight:500}
.smbs .smbs-pay-err{color:#c0392b;font-size:13px;min-height:1.3em;margin-bottom:10px}
.smbs .smbs-about-box{max-width:620px;text-align:left;max-height:90vh;overflow-y:auto}
.smbs .smbs-about-box p{color:var(--smbs-text);margin:0 0 12px}
.smbs .smbs-about-box a{color:var(--smbs-green-dark);font-weight:700}
.smbs .smbs-about-box .smbs-cite{font-style:italic;padding:8px 12px;background:var(--smbs-tint);border-left:3px solid var(--smbs-green);border-radius:4px}
.smbs .smbs-about-box .smbs-copy{font-size:13px;color:var(--smbs-muted)}
html.smbs-lock,html.smbs-lock body{overflow:hidden}

/* footprint shape picker */
.smbs-feet { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: 6px; margin: 4px 0 10px; }
.smbs-feet[hidden] { display: none; }
.smbs-foot { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 6px 4px 5px; border: 1.5px solid #d9d9d2; border-radius: 10px;
  background: #fff; font: 600 11.5px/1.15 Roboto, sans-serif; color: #1C1C1C; cursor: pointer; text-align: center; }
.smbs-foot canvas { width: 48px; height: 48px; border-radius: 6px; }
.smbs-foot:hover { border-color: #8ECC05; }
.smbs-foot[aria-checked="true"] { border-color: #8ECC05; background: #f1f9e0; box-shadow: 0 0 0 1.5px #8ECC05 inset; }
