.sec-calc{
  --sec-primary:#fcca32;
  --sec-primary-ink:#111;
  --sec-border:rgba(0,0,0,.08);
  --sec-border-strong:rgba(0,0,0,.18);
  --sec-muted:rgba(0,0,0,.70);
  --sec-bg:#fff;
  --sec-surface:#fff;

  max-width:980px;
  margin:24px auto;
  padding:16px;
  border:1px solid var(--sec-border);
  border-radius:12px;
  background:var(--sec-bg);
}

.sec-calc__header{ margin-bottom:12px; }
.sec-calc__title{ margin:0 0 6px 0; }
.sec-calc__step.is-hidden{ display:none; }

.sec-calc__note{ margin:0; color:var(--sec-muted); line-height:1.5; }
.sec-calc__subnote{ margin:8px 0 0 0; color:var(--sec-muted); line-height:1.45; }

.sec-calc__steps{ margin:14px 0; }
.sec-calc__steps ol{
  list-style:none;
  display:flex;
  gap:10px;
  padding:0;
  margin:0;
  flex-wrap:wrap;
}
.sec-calc__steps li{ margin:0; padding:0; }

.sec-stepBtn{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border:1px solid var(--sec-border);
  border-radius:999px;
  background:var(--sec-surface);
  cursor:pointer;
  opacity:.86;
  color:inherit;
}

.sec-stepBtn span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  border:1px solid var(--sec-border-strong);
  font-size:12px;
}

.sec-stepBtn.is-active{
  background:var(--sec-primary);
  border-color:var(--sec-primary);
  color:#111;
  opacity:1;
}

.sec-stepBtn.is-active span{
  border-color:color-mix(in srgb, var(--sec-primary) 70%, var(--sec-border-strong));
}

.sec-stepBtn:focus-visible{
  outline:2px solid color-mix(in srgb, var(--sec-primary) 55%, #0000);
  outline-offset:2px;
}

.sec-calc__step.is-active{
  opacity:1;
  border-color:color-mix(in srgb, var(--sec-primary) 55%, var(--sec-border-strong));
  background: var(--sec-primary);
}

.sec-calc__step.is-active span{
  border-color:color-mix(in srgb, var(--sec-primary) 70%, var(--sec-border-strong));
}

.sec-calc__step:focus-visible{
  outline:2px solid color-mix(in srgb, var(--sec-primary) 55%, #0000);
  outline-offset:2px;
}

.sec-calc__panel{ display:none; }
.sec-calc__panel.is-active{ display:block; }

.sec-calc__card{
  padding:14px;
  border:1px solid var(--sec-border);
  border-radius:12px;
  background:var(--sec-surface);
}

.sec-calc__fields{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:10px;
}

@media (min-width:680px){
  .sec-calc__fields{ grid-template-columns:1fr; }
}

.sec-calc__fields--wide{ grid-template-columns:1fr; }

.sec-calc__field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.sec-calc__labelRow{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.sec-calc__label{ font-weight:600; }
.sec-calc__help{ color:var(--sec-muted); line-height:1.45; }

.sec-calc__field input[type="number"],
.sec-calc__field input[type="text"],
.sec-calc__field input[type="email"],
.sec-calc__field input[type="tel"],
.sec-calc__field textarea{
  padding:10px;
  border:1px solid var(--sec-border-strong);
  border-radius:10px;
  background:#fff;
  color:#111;
  width:100%;
}

.sec-calc__field textarea,
textarea[name="contact_note"]{ min-height:120px; }

.sec-calc__field input[type="number"]:focus,
.sec-calc__field input[type="text"]:focus,
.sec-calc__field input[type="email"]:focus,
.sec-calc__field input[type="tel"]:focus,
.sec-calc__field textarea:focus{
  outline:2px solid color-mix(in srgb, var(--sec-primary) 55%, #0000);
  outline-offset:2px;
  border-color:color-mix(in srgb, var(--sec-primary) 45%, var(--sec-border-strong));
}

.sec-calc__actions{
  display:flex;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}

.sec-calc__btn{
  padding:10px 14px;
  border-radius:10px;
  border:1px solid color-mix(in srgb, var(--sec-primary) 55%, var(--sec-border-strong));
  background:var(--sec-primary);
  color:var(--sec-primary-ink);
  cursor:pointer;
  font-weight:600;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.sec-calc__btn:hover{ filter:brightness(.98); }

.sec-calc__btn:focus-visible{
  outline:2px solid color-mix(in srgb, var(--sec-primary) 55%, #0000);
  outline-offset:2px;
}

.sec-calc__btn--ghost{
  background:transparent;
  border-color:var(--sec-border-strong);
  color:inherit;
}

.sec-calc__resultPanel{
  margin-top:14px;
  padding:0;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
  overflow:hidden;
}

.sec-calc__summary{
  border:0;
  border-radius:0;
  overflow:hidden;
  background:#fff;
}

.sec-calc__summaryRow{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid rgba(0,0,0,.06);
  background:#fff;
}

.sec-calc__summaryRow:nth-child(odd){ background:#fcfcf9; }
.sec-calc__summaryRow:last-child{ border-bottom:0; }

.sec-calc__summaryRow span{
  font-weight:600;
  color:#2b2b2b;
  line-height:1.4;
}

.sec-calc__summaryRow strong{
  font-weight:700;
  color:#1f1f1f;
  white-space:nowrap;
  text-align:right;
  font-size:1.05rem;
}

.sec-calc__disclaimer{
  display:block;
  margin-top:12px;
  color:var(--sec-muted);
  line-height:1.45;
}

.sec-calc__details{ margin-top:12px; }
.sec-calc__details summary{
  cursor:pointer;
  font-weight:600;
  color:inherit;
}
.sec-calc__details[open] summary{ margin-bottom:10px; }

.sec-calc__miniGrid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  opacity:.98;
}

@media (min-width:860px){
  .sec-calc__miniGrid{ grid-template-columns:1fr; }
}

.sec-calc__miniGrid > div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:10px;
}

.sec-calc__miniGrid span{ color:var(--sec-muted); }
.sec-calc__miniGrid strong{ font-weight:700; }

.sec-tip{
  all:unset;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#ecedef;
  color:#444;
  border:1px solid rgba(0,0,0,.12);
  font-size:12px;
  font-weight:700;
  line-height:1;
  cursor:help;
  position:relative;
}

.sec-tip:focus-visible{
  outline:2px solid rgba(0,0,0,.18);
  outline-offset:2px;
}

.sec-tip::after{
  content:attr(data-tip);
  position:absolute;
  left:50%;
  top:calc(100% + 8px);
  transform:translateX(-50%);
  width:min(360px, 78vw);
  box-sizing:border-box;
  background:#fff;
  color:#111;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  padding:10px 12px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease;
  z-index:999;
  text-align:left;
  font-weight:500;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

.sec-tip:hover::after,
.sec-tip:focus-visible::after,
.sec-tip.is-open::after{
  opacity:1;
  pointer-events:auto;
}

.sec-rating{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.sec-rating__opt{
  display:inline-flex;
  align-items:center;
}

.sec-rating__input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.sec-rating__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:36px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#111;
  font-weight:700;
  cursor:pointer;
  user-select:none;
  transition:background-color .18s ease, border-color .18s ease, color .18s ease, transform .12s ease;
}

.sec-rating__btn:hover{ transform:translateY(-1px); }

.sec-rating__input[value="1"]:checked + .sec-rating__btn{
  background:#ff0000; border-color:#ff0000; color:#fff;
}
.sec-rating__input[value="2"]:checked + .sec-rating__btn{
  background:#ffff00; border-color:#ffff00; color:#111;
}
.sec-rating__input[value="3"]:checked + .sec-rating__btn{
  background:#93d14f; border-color:#93d14f; color:#111;
}
.sec-rating__input[value="4"]:checked + .sec-rating__btn{
  background:#3c7e1f; border-color:#3c7e1f; color:#fff;
}
.sec-rating__input[value="5"]:checked + .sec-rating__btn{
  background:#0072c0; border-color:#0072c0; color:#fff;
}

.sec-rating__input:focus-visible + .sec-rating__btn{
  outline:2px solid rgba(0,0,0,.18);
  outline-offset:2px;
}

.sec-rating__sr{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.sec-calc__status{
  margin-top:12px;
  font-weight:600;
}

@media (max-width:640px){
  .sec-calc__summaryRow{
    grid-template-columns:1fr;
    gap:6px;
    padding:16px;
  }
  .sec-calc__summaryRow strong{ text-align:left; }
}

/* Lille kasse om tal i 5-trins skala */
.sec-scale-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 3px;
  font-size: 0.8em;
  font-weight: bold;
  line-height: 1;
  margin-right: 2px;
  vertical-align: middle;
}
