/* tools.css — kalkulator służebności, kafelek narzędzia, powiadomienie o planie ogólnym */
.calc-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--d-gap); align-items: start; }
@media (min-width: 900px) { .calc-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); } .calc-result-col { position: sticky; top: 6rem; } }
.calc-form { padding: 2rem; }
.calc-field { display: block; margin-top: 1.25rem; }
.calc-form .calc-field:first-child { margin-top: 0; }
.calc-hint { display: block; margin-top: 0.375rem; font-size: 0.8125rem; color: var(--text-muted); line-height: 1.5; }
.calc-two { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
@media (max-width: 460px) { .calc-two { grid-template-columns: 1fr; } }
.calc-seg { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 0.5rem; }
.calc-seg label { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.625rem 1rem; border: 1px solid var(--slate-200); border-radius: 999px; cursor: pointer; font-weight: 600; font-size: 0.9375rem; color: var(--text-main); background: #fff; }
.calc-seg label.is-on { border-color: var(--brand-primary); background: var(--brand-primary-light); color: var(--brand-primary); }
.calc-seg input { accent-color: var(--brand-primary); margin: 0; }
.calc-result { padding: 2rem; border-color: var(--brand-primary); box-shadow: var(--shadow-card); }
.calc-total-label { display: block; font-size: 0.875rem; color: var(--text-muted); }
.calc-total-num { display: block; font-weight: 800; font-size: clamp(1.6rem, 1rem + 2vw, 2.4rem); letter-spacing: -0.02em; color: var(--text-main); line-height: 1.1; margin-top: 0.25rem; text-wrap: balance; }
.calc-rows { margin: 0; display: grid; gap: 0.75rem; }
.calc-rows > div { display: flex; justify-content: space-between; gap: 1rem; padding-top: 0.75rem; border-top: 1px solid var(--slate-100); flex-wrap: wrap; }
.calc-rows dt { color: var(--text-body); font-size: 0.9375rem; flex: 1 1 12rem; }
.calc-rows dd { margin: 0; font-weight: 700; color: var(--text-main); white-space: nowrap; }
.calc-note { color: var(--text-body); line-height: 1.55; padding: 0.875rem 1rem; background: var(--slate-50); border-radius: var(--radius-md); }
.calc-assume summary { cursor: pointer; font-weight: 600; color: var(--brand-primary); font-size: 0.9375rem; }
.calc-assume ul { margin: 0.75rem 0 0; padding-left: 1.25rem; color: var(--text-body); font-size: 0.9375rem; line-height: 1.6; }
.calc-disclaimer { color: var(--text-muted); line-height: 1.55; }
.calc-empty { padding: 2.5rem 2rem; border: 1px dashed var(--slate-200); border-radius: var(--radius-lg); text-align: center; }
.calc-empty .icon-tile { margin: 0 auto 1rem; }
.calc-how { display: grid; gap: var(--d-gap); grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.tool-teaser { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.5rem 2rem; align-items: center; padding: 2rem; border: 1px solid var(--slate-100); border-radius: var(--radius-lg); background: var(--slate-50); }
@media (max-width: 760px) { .tool-teaser { grid-template-columns: 1fr; } }
.tool-teaser-ic { width: 64px; height: 64px; border-radius: var(--radius-md); background: var(--brand-primary-light); color: var(--brand-primary); display: inline-flex; align-items: center; justify-content: center; }
.plan-alert { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--d-gap); align-items: center; position: relative; z-index: 2; }
@media (min-width: 900px) { .plan-alert { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); } }
.plan-alert-form { background: #fff; border-radius: var(--radius-lg); padding: 2rem; color: var(--text-main); }
.plan-alert-note { color: var(--text-muted); line-height: 1.5; margin-top: 0.75rem; }
.plan-alert-note a, .plan-alert-form .input-err a { color: var(--brand-primary); text-decoration: underline; text-underline-offset: 2px; }
.plan-alert-done { display: flex; gap: 1rem; align-items: flex-start; }

/* Pływające skróty — telefon + WhatsApp */
.quick-contact { position: fixed; right: 24px; bottom: 24px; z-index: 60; display: flex; flex-direction: column; gap: 12px; }
.qc-btn { position: relative; width: 56px; height: 56px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff; box-shadow: 0 6px 18px rgba(15, 23, 42, 0.22); transition: transform .15s ease, box-shadow .15s ease; text-decoration: none; }
.qc-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(15, 23, 42, 0.28); color: #fff; }
.qc-btn:focus-visible { outline: 3px solid var(--brand-primary-light); outline-offset: 3px; }
.qc-btn--wa { background: #25D366; }
.qc-btn--tel { background: var(--brand-primary); }
.qc-tip { position: absolute; right: calc(100% + 12px); top: 50%; transform: translateY(-50%); white-space: nowrap; background: var(--text-main, #0f172a); color: #fff; font-size: 0.875rem; font-weight: 600; padding: 0.4rem 0.75rem; border-radius: 8px; opacity: 0; pointer-events: none; transition: opacity .15s ease; }
.qc-btn:hover .qc-tip, .qc-btn:focus-visible .qc-tip { opacity: 1; }
body.has-cookie-banner .quick-contact { opacity: 0; pointer-events: none; }
@media (max-width: 780px) {
  .quick-contact { right: 16px; bottom: 88px; gap: 10px; }
  .qc-btn { width: 50px; height: 50px; }
  .qc-tip { display: none; }
}
@media (prefers-reduced-motion: reduce) { .qc-btn { transition: none; } }
