/* ============================================================
   SIMONS Goldrechner
   Alles unter .simons-rechner gekapselt, damit nichts
   mit dem Theme oder Elementor kollidiert.
   ============================================================ */

.simons-rechner {
  --slate:#2B373D; --slate-2:#222C31;
  --soft:#F7F5F0; --soft-2:#EFE9DD;
  --gold:#8A754C; --gold-2:#A3884E;
  --ink:#1E1B16; --text:#3B362D; --muted:#736B5C; --muted-d:#9BA6AA;
  --line:#E7E1D5;
  --maxw:1320px;
  --ease:cubic-bezier(.4,.05,.1,1);
  font-family:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  color:var(--text);
  line-height:1.6;
}

.simons-rechner *,
.simons-rechner *::before,
.simons-rechner *::after { box-sizing:border-box; }

.simons-rechner .section { padding:70px 0; }
.simons-rechner .wrap { max-width:var(--maxw); margin:0 auto; padding:0 26px; }

.simons-rechner h2,
.simons-rechner h3 { margin:0; line-height:1.15; color:var(--ink); }

.simons-rechner a { color:inherit; }

/* ---------- Kopfzeilen ---------- */
.simons-rechner .eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--gold-2)}
.simons-rechner .two-tone span{color:var(--gold)}
.simons-rechner .sec-head{margin-bottom:34px}
.simons-rechner .sec-head .eyebrow{display:block;margin-bottom:.7rem}
.simons-rechner .sec-head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800}
.simons-rechner .sec-head p{margin:.9rem 0 0;color:var(--muted);max-width:46em}

/* ---------- Buttons ---------- */
.simons-rechner .btn{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap;font-weight:700;font-size:.95rem;padding:.85em 1.5em;border-radius:6px;cursor:pointer;border:1.5px solid transparent;text-decoration:none;transition:transform .2s var(--ease),background .2s,color .2s,border-color .2s}
.simons-rechner .btn-slate{background:var(--slate);color:#fff}
.simons-rechner .btn-slate:hover{background:var(--slate-2);transform:translateY(-2px)}
.simons-rechner .btn-gold{background:var(--gold);color:#fff}
.simons-rechner .btn-gold:hover{background:var(--gold-2);transform:translateY(-2px)}
.simons-rechner .btn-gold[disabled]{opacity:.6;cursor:default;transform:none}
.simons-rechner .btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.simons-rechner .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

/* ---------- Rechner ---------- */
.simons-rechner .calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.simons-rechner .calc-col{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.simons-rechner .calc-col h3{background:var(--soft-2);color:var(--ink);font-size:.95rem;font-weight:800;letter-spacing:.02em;padding:13px 18px;text-transform:uppercase}

.simons-rechner table.rech{width:100%;border-collapse:collapse;font-size:.92rem;table-layout:fixed;margin:0}
.simons-rechner table.rech th:nth-child(1){width:36%}
.simons-rechner table.rech th:nth-child(2){width:22%}
.simons-rechner table.rech th:nth-child(3){width:20%}
.simons-rechner table.rech th:nth-child(4){width:22%}
.simons-rechner table.rech th{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;text-align:right;padding:10px 18px;border-bottom:1px solid var(--line);background:none}
.simons-rechner table.rech th:first-child{text-align:left}
.simons-rechner table.rech td{padding:9px 18px;border-bottom:1px solid var(--line);background:none}
.simons-rechner table.rech tr:last-child td{border-bottom:0}
.simons-rechner table.rech .lbl{font-weight:600;color:var(--ink)}
.simons-rechner table.rech .rate{text-align:right;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
.simons-rechner table.rech td.incell{text-align:right}
.simons-rechner table.rech .gin{width:100%;max-width:74px;box-sizing:border-box;text-align:right;border:1px solid var(--line);border-radius:5px;padding:.4em .5em;font-family:inherit;font-size:.9rem;font-variant-numeric:tabular-nums;background:#fff}
.simons-rechner table.rech .gin:focus{outline:none;border-color:var(--gold)}
.simons-rechner table.rech .sum{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold);white-space:nowrap}

.simons-rechner .calc-total{margin-top:22px;background:var(--slate);color:#fff;border-radius:10px;padding:20px 26px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.simons-rechner .calc-total .tl{font-weight:700;letter-spacing:.02em}
.simons-rechner .calc-total .tv{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums}

.simons-rechner .disclaimer{margin-top:16px;display:flex;gap:.7rem;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:14px 18px;font-size:.86rem;color:var(--text)}
.simons-rechner .disclaimer svg{color:var(--gold);flex:none;margin-top:2px}
.simons-rechner .disclaimer b{color:var(--ink)}

.simons-rechner .calc-cta{margin-top:18px;display:flex;gap:.8rem;flex-wrap:wrap}

/* ---------- Anfrageformular ---------- */
.simons-rechner .anfrage-form{max-width:820px}
.simons-rechner .af-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:16px}
.simons-rechner .anfrage-form label{display:block;font-size:.82rem;font-weight:700;letter-spacing:.01em;color:var(--ink);margin-bottom:16px}
.simons-rechner .anfrage-form input,
.simons-rechner .anfrage-form textarea{display:block;width:100%;margin-top:7px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;font:inherit;font-weight:400;color:var(--ink);background:#fff}
.simons-rechner .anfrage-form input:focus,
.simons-rechner .anfrage-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(138,117,76,.14)}
.simons-rechner .anfrage-form textarea{resize:vertical}
.simons-rechner .anfrage-form textarea[readonly]{background:var(--soft);color:var(--muted);white-space:pre}
.simons-rechner .af-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.simons-rechner .af-note{font-size:.82rem;color:var(--muted)}

.simons-rechner .af-status{margin-top:14px;font-size:.9rem;font-weight:600}
.simons-rechner .af-status.ok{color:#2F6B4F}
.simons-rechner .af-status.err{color:#A33A2A}

/* ---------- Mobil ---------- */
@media(max-width:900px){
  .simons-rechner .calc-wrap{grid-template-columns:1fr;gap:20px}
  .simons-rechner .af-grid{grid-template-columns:1fr}
  .simons-rechner .section{padding:52px 0}
  .simons-rechner .calc-total .tv{font-size:1.6rem}
}
