/* ============================================================
   KALKULATOR oferty weselnej
   ============================================================ */
.calc-layout{display:grid;grid-template-columns:1fr 380px;gap:44px;align-items:start}

/* ── Kolumna opcji ── */
.calc-group{border:none;margin-bottom:34px}
.calc-group legend{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin-bottom:18px;padding:0}
.calc-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.calc-cards-row{grid-template-columns:repeat(3,1fr)}

.calc-card{position:relative;display:block;cursor:pointer}
.calc-card input{position:absolute;opacity:0;pointer-events:none}
.cc-body{display:flex;flex-direction:column;gap:6px;height:100%;background:#fff;border:1px solid var(--line);
  border-radius:5px;padding:18px 18px 16px;transition:.25s}
.calc-card:hover .cc-body{border-color:var(--gold);box-shadow:var(--shadow)}
.calc-card input:checked + .cc-body{border-color:var(--gold);background:#fff;box-shadow:0 0 0 2px var(--gold) inset}
.cc-title{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--ink)}
.cc-desc{font-size:.86rem;color:var(--ink-soft);flex:1}
.cc-price{font-size:.82rem;letter-spacing:.06em;color:var(--gold-deep);font-weight:500}

/* ── Checkboxy ── */
.calc-checks{display:grid;gap:10px}
.calc-check{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:5px;padding:14px 18px;cursor:pointer;transition:.25s}
.calc-check:hover{border-color:var(--gold)}
.calc-check input{position:absolute;opacity:0;pointer-events:none}
.chk-box{width:20px;height:20px;border:1px solid var(--gold);border-radius:4px;flex-shrink:0;position:relative;transition:.2s}
.calc-check input:checked ~ .chk-box{background:var(--gold)}
.calc-check input:checked ~ .chk-box::after{content:"✓";position:absolute;inset:0;color:#fff;font-size:.8rem;display:flex;align-items:center;justify-content:center}
.chk-label{flex:1;font-size:.98rem;color:var(--ink)}
.chk-price{font-size:.85rem;color:var(--gold-deep);font-weight:500}
.calc-check.is-disabled{opacity:.45;pointer-events:none}

/* ── Blok "w cenie" + licznik rolek (sekcja 2) ── */
.calc-included{margin-top:16px;background:rgba(176,141,87,.07);border:1px solid var(--line);border-radius:6px;padding:18px 20px}
.ci-head{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);font-weight:500;margin-bottom:10px}
.ci-list{list-style:none;margin:0 0 6px;padding:0}
.ci-list li{position:relative;padding:6px 0 6px 26px;font-size:.95rem;color:var(--ink)}
.ci-list li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:600}
.ci-list li em{font-style:normal;font-size:.78rem;letter-spacing:.06em;color:var(--gold-deep);margin-left:6px}

.calc-stepper{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;
  padding-top:14px;border-top:1px solid var(--line)}
.st-info{display:flex;flex-direction:column;gap:2px}
.st-title{font-size:.98rem;color:var(--ink)}
.st-desc{font-size:.82rem;color:var(--ink-soft)}
.st-ctrl{display:flex;align-items:center;gap:14px;flex-shrink:0}
.st-btn{width:34px;height:34px;border:1px solid var(--gold);background:#fff;color:var(--gold-deep);
  border-radius:6px;font-size:1.2rem;line-height:1;cursor:pointer;transition:.2s}
.st-btn:hover{background:var(--gold);color:#fff}
.st-count{min-width:24px;text-align:center;font-family:var(--serif);font-size:1.4rem;color:var(--ink)}

/* ── Podsumowanie (sticky) ── */
.calc-summary{position:sticky;top:96px;background:var(--cream-2);border:1px solid var(--line);
  border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:18px}

.calc-stage{position:relative;background:linear-gradient(160deg,#2a231b,#1a1714);border:1px solid var(--line);border-radius:6px;overflow:hidden;aspect-ratio:16/9}
.stage-img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .45s ease}
.stage-img.is-in{opacity:1}
.stage-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 16px 12px;
  background:linear-gradient(transparent,rgba(26,23,20,.82));color:var(--cream);
  font-family:var(--serif);font-size:1.05rem;text-align:center;letter-spacing:.02em}

.calc-total{text-align:center}
.ct-label{display:block;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep)}
.ct-value{display:block;font-family:var(--serif);font-size:2.8rem;color:var(--ink);line-height:1.1;margin:2px 0 6px}
.ct-note{display:block;font-size:.76rem;color:var(--ink-soft)}

.calc-recap{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.calc-recap li{display:flex;justify-content:space-between;gap:12px;font-size:.86rem;color:var(--ink-soft);
  padding:8px 0;border-bottom:1px solid var(--line)}
.calc-recap li b{color:var(--ink);font-weight:500}
.calc-recap li span{white-space:nowrap;color:var(--gold-deep)}

.calc-send,.calc-mail{width:100%;text-align:center}
.calc-mail{border:none;background:none;color:var(--ink-soft);text-decoration:underline;padding:6px;letter-spacing:normal;text-transform:none;font-size:.85rem}
.calc-mail:hover{background:none;color:var(--gold-deep)}

/* ── Mobile ── */
@media(max-width:980px){
  .calc-layout{grid-template-columns:1fr;gap:30px}
  .calc-summary{position:static;order:-1}
}
@media(max-width:560px){
  .calc-cards,.calc-cards-row{grid-template-columns:1fr}
}
