/* NSDTR Puppy Weight Calculator — all rules scoped under .nsdtr-calc-wrap
   so this never leaks into the theme, admin, or other plugins' styles. */

.nsdtr-calc-wrap{
  --nsdtr-bg:#efeae0;
  --nsdtr-surface:#faf6ee;
  --nsdtr-ink:#23201b;
  --nsdtr-ink-soft:#5b564c;
  --nsdtr-copper:#bc4e2c;
  --nsdtr-copper-deep:#9a3d21;
  --nsdtr-marsh:#2f4a45;
  --nsdtr-marsh-deep:#213431;
  --nsdtr-gold:#d3a23e;
  --nsdtr-line:#d8cfbe;
  --nsdtr-radius:14px;

  box-sizing:border-box;
  background:var(--nsdtr-bg);
  color:var(--nsdtr-ink);
  font-family:'Inter',sans-serif;
  line-height:1.5;
  padding:2rem 1.25rem 3rem;
  border-radius:var(--nsdtr-radius);
  max-width:920px;
  margin:0 auto;
}
.nsdtr-calc-wrap *,
.nsdtr-calc-wrap *::before,
.nsdtr-calc-wrap *::after{
  box-sizing:border-box;
}

/* ---- Hero ---- */
.nsdtr-calc-wrap .nsdtr-hero{
  display:flex;
  flex-wrap:wrap;
  gap:1.5rem;
  align-items:flex-end;
  justify-content:space-between;
  padding-bottom:1.75rem;
  border-bottom:1px solid var(--nsdtr-line);
  margin-bottom:2rem;
}
.nsdtr-calc-wrap .nsdtr-eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--nsdtr-copper-deep);
  margin:0 0 0.6rem;
}
.nsdtr-calc-wrap .nsdtr-h1{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:clamp(1.5rem,4vw,2.3rem);
  line-height:1.1;
  margin:0 0 0.5rem;
  color:var(--nsdtr-marsh-deep);
}
.nsdtr-calc-wrap .nsdtr-sub{
  max-width:38ch;
  margin:0;
  color:var(--nsdtr-ink-soft);
  font-size:0.98rem;
}
.nsdtr-calc-wrap .nsdtr-tide-mark{
  flex-shrink:0;
  width:110px;
  height:64px;
}

/* ---- Layout ---- */
.nsdtr-calc-wrap .nsdtr-grid{
  display:grid;
  grid-template-columns:340px 1fr;
  gap:1.5rem;
}
@media (max-width:760px){
  .nsdtr-calc-wrap .nsdtr-grid{grid-template-columns:1fr;}
}
.nsdtr-calc-wrap .nsdtr-card{
  background:var(--nsdtr-surface);
  border:1px solid var(--nsdtr-line);
  border-radius:var(--nsdtr-radius);
  padding:1.5rem;
}

/* ---- Form ---- */
.nsdtr-calc-wrap fieldset.nsdtr-fieldset{border:none;margin:0 0 1.25rem;padding:0;}
.nsdtr-calc-wrap .nsdtr-legend{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.7rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--nsdtr-marsh);
  margin-bottom:0.6rem;
  padding:0;
}
.nsdtr-calc-wrap .nsdtr-field{margin-bottom:1.1rem;}
.nsdtr-calc-wrap .nsdtr-row{display:flex;gap:0.5rem;}
.nsdtr-calc-wrap input[type=number].nsdtr-input{
  width:100%;
  padding:0.6rem 0.7rem;
  border:1.5px solid var(--nsdtr-line);
  border-radius:9px;
  font-family:'IBM Plex Mono',monospace;
  font-size:1rem;
  background:#fff;
  color:var(--nsdtr-ink);
}
.nsdtr-calc-wrap input.nsdtr-input:focus-visible,
.nsdtr-calc-wrap .nsdtr-toggle button:focus-visible,
.nsdtr-calc-wrap .nsdtr-seg button:focus-visible{
  outline:2.5px solid var(--nsdtr-copper);
  outline-offset:2px;
}
.nsdtr-calc-wrap .nsdtr-toggle{
  display:flex;
  border:1.5px solid var(--nsdtr-line);
  border-radius:9px;
  overflow:hidden;
  flex-shrink:0;
}
.nsdtr-calc-wrap .nsdtr-toggle button{
  border:none;
  background:#fff;
  color:var(--nsdtr-ink-soft);
  font-family:'IBM Plex Mono',monospace;
  font-size:0.82rem;
  padding:0 0.75rem;
  cursor:pointer;
}
.nsdtr-calc-wrap .nsdtr-toggle button.nsdtr-active{background:var(--nsdtr-marsh);color:#fff;}
.nsdtr-calc-wrap .nsdtr-seg{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  border:1.5px solid var(--nsdtr-line);
  border-radius:9px;
  overflow:hidden;
}
.nsdtr-calc-wrap .nsdtr-seg button{
  border:none;
  background:#fff;
  color:var(--nsdtr-ink-soft);
  font-size:0.85rem;
  font-weight:600;
  padding:0.55rem 0.4rem;
  cursor:pointer;
  border-left:1.5px solid var(--nsdtr-line);
}
.nsdtr-calc-wrap .nsdtr-seg button:first-child{border-left:none;}
.nsdtr-calc-wrap .nsdtr-seg button.nsdtr-active{background:var(--nsdtr-copper);color:#fff;}
.nsdtr-calc-wrap .nsdtr-hint{
  font-size:0.78rem;
  color:var(--nsdtr-ink-soft);
  margin-top:0.4rem;
}

/* ---- Results ---- */
.nsdtr-calc-wrap .nsdtr-result-figure{
  font-family:'Fraunces',serif;
  font-weight:600;
  font-size:2.4rem;
  color:var(--nsdtr-copper-deep);
  line-height:1;
  margin:0.2rem 0 0.15rem;
}
.nsdtr-calc-wrap .nsdtr-result-range{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.88rem;
  color:var(--nsdtr-marsh);
  margin:0;
}
.nsdtr-calc-wrap .nsdtr-result-label{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--nsdtr-ink-soft);
  margin:0;
}
.nsdtr-calc-wrap .nsdtr-result-note{
  font-size:0.86rem;
  color:var(--nsdtr-ink-soft);
  margin-top:0.75rem;
  border-top:1px solid var(--nsdtr-line);
  padding-top:0.75rem;
}

.nsdtr-calc-wrap svg text{font-family:'IBM Plex Mono',monospace;}
.nsdtr-calc-wrap .nsdtr-curve-wrap{margin-top:1.4rem;}
.nsdtr-calc-wrap .nsdtr-curve-title{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.72rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:var(--nsdtr-ink-soft);
  margin-bottom:0.5rem;
}

.nsdtr-calc-wrap table.nsdtr-table{
  width:100%;
  border-collapse:collapse;
  margin-top:1rem;
  font-size:0.88rem;
}
.nsdtr-calc-wrap table.nsdtr-table th,
.nsdtr-calc-wrap table.nsdtr-table td{
  text-align:left;
  padding:0.55rem 0.4rem;
  border-bottom:1px solid var(--nsdtr-line);
}
.nsdtr-calc-wrap table.nsdtr-table th{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.68rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--nsdtr-marsh);
  font-weight:600;
}
.nsdtr-calc-wrap table.nsdtr-table td.nsdtr-num{font-family:'IBM Plex Mono',monospace;}
.nsdtr-calc-wrap table.nsdtr-table tr.nsdtr-current-row td{background:#f3e6d8;font-weight:600;}

.nsdtr-calc-wrap .nsdtr-footer{
  margin-top:2rem;
  font-size:0.78rem;
  color:var(--nsdtr-ink-soft);
  max-width:70ch;
}
