/* EKO-BIO - kalkulatory 1.0.2.
 * Style ograniczone do komponentu, odporne na reguly motywu WordPress.
 * Uklad dopasowany do desktopow, tabletow i telefonow.
 */
.ebc-calculator {
  --ebc-green:#2BB673;
  --ebc-green-dark:#1a8a55;
  --ebc-ink:#1a2421;
  --ebc-muted:#5c6b65;
  --ebc-surface:#ffffff;
  display:block;
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100%;
  height:auto;
  min-width:0;
  clear:both;
  margin:0;
  padding:clamp(48px,6vw,86px) clamp(14px,3vw,32px);
  background:linear-gradient(145deg,#f4faf6,#ffffff 78%);
  color:var(--ebc-ink);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.55;
  text-align:left;
  box-sizing:border-box;
  overflow-wrap:break-word;
}
.ebc-calculator *,
.ebc-calculator *::before,
.ebc-calculator *::after { box-sizing:border-box; }
.ebc-calculator .ebc-container {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  min-width:0;
  max-width:1080px;
  height:auto;
  margin:0 auto;
  padding:0;
  position:relative;
}
/* To DIV zamiast HEADER: motyw uzywa globalnych reguly dla <header>.
   Pozostawienie <header> powodowalo nachodzenie opisu na panel. */
.ebc-calculator .ebc-heading {
  display:block !important;
  position:relative !important;
  inset:auto !important;
  float:none !important;
  transform:none !important;
  flex:none;
  width:100%;
  max-width:820px;
  height:auto !important;
  min-height:0 !important;
  overflow:visible;
  margin:0 auto clamp(28px,3vw,40px) !important;
  padding:0 !important;
  text-align:center;
  background:none;
  border:0;
  box-shadow:none;
}
.ebc-calculator .ebc-eyebrow {
  display:inline-block;
  float:none;
  position:static;
  max-width:100%;
  margin:0;
  padding:8px 17px;
  border-radius:100px;
  background:#e3f7eb;
  color:var(--ebc-green-dark);
  font-size:11px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.12em;
  text-transform:uppercase;
  vertical-align:middle;
}
.ebc-calculator .ebc-heading h2 {
  display:block;
  position:static;
  float:none;
  width:100%;
  max-width:100%;
  height:auto;
  margin:19px 0 12px !important;
  padding:0;
  font-size:clamp(26px,3.5vw,42px);
  font-weight:800;
  line-height:1.18;
  color:var(--ebc-ink);
  letter-spacing:-.035em;
  text-align:center;
  text-transform:none;
  overflow-wrap:break-word;
}
.ebc-calculator .ebc-heading p {
  display:block;
  position:static;
  float:none;
  width:100%;
  max-width:760px;
  height:auto;
  margin:0 auto !important;
  padding:0;
  font-size:clamp(14px,1.4vw,16px);
  line-height:1.7;
  font-weight:400;
  color:var(--ebc-muted);
  text-align:center;
  overflow-wrap:break-word;
}
.ebc-calculator .ebc-panel {
  display:block;
  position:relative;
  clear:both;
  flex:none;
  width:100%;
  max-width:100%;
  min-width:0;
  height:auto;
  margin:0;
  padding:clamp(22px,4vw,46px);
  background:var(--ebc-surface);
  border:1px solid #e3eee7;
  border-radius:28px;
  box-shadow:0 22px 75px rgba(23,62,40,.085);
}
.ebc-calculator .ebc-control-top {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:12px 18px;
  width:100%;
  margin:0 0 26px;
  padding:0;
}
.ebc-calculator .ebc-control-top label {
  display:block;
  position:static;
  width:auto;
  height:auto;
  flex:1 1 145px;
  min-width:0;
  margin:0;
  padding:0;
  font-size:15px;
  font-weight:750;
  line-height:1.4;
  color:var(--ebc-ink);
  text-align:left;
  cursor:pointer;
}
.ebc-calculator .ebc-year {
  display:inline-flex;
  justify-content:center;
  align-items:baseline;
  flex:none;
  gap:5px;
  min-width:110px;
  max-width:100%;
  margin:0;
  padding:8px 15px;
  border:1px solid #c9ecd8;
  border-radius:14px;
  background:#e9f9ef;
  color:var(--ebc-green-dark);
  white-space:nowrap;
  line-height:1.4;
  font-size:15px;
}
.ebc-calculator .ebc-year strong {
  display:inline;
  color:inherit;
  font-size:24px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  line-height:1;
}
.ebc-calculator .ebc-slider-field {
  display:block;
  position:relative;
  width:100%;
  min-width:0;
  padding:7px 0;
}
.ebc-calculator .ebc-tick {
  position:absolute;
  top:0;
  height:24px;
  width:3px;
  margin-left:-1.5px;
  border-radius:9px;
  background:#244f38;
  box-shadow:0 0 0 2px #fff;
  pointer-events:none;
  z-index:0;
}
.ebc-calculator input.ebc-range {
  display:block !important;
  position:relative;
  z-index:1;
  appearance:none;
  -webkit-appearance:none;
  width:100% !important;
  min-width:0;
  max-width:100% !important;
  height:10px !important;
  min-height:10px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:99px;
  background:linear-gradient(to right,var(--ebc-green) 0%,var(--ebc-green) var(--ebc-progress),#e3e9e5 var(--ebc-progress),#e3e9e5 100%);
  box-shadow:none !important;
  cursor:pointer;
  vertical-align:middle;
  accent-color:var(--ebc-green);
}
.ebc-calculator input.ebc-range::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:27px;
  height:27px;
  border:5px solid #fff;
  border-radius:50%;
  background:var(--ebc-green);
  box-shadow:0 1px 0 2px var(--ebc-green),0 5px 16px #24764b40;
  cursor:grab;
}
.ebc-calculator input.ebc-range::-moz-range-thumb {
  width:27px;
  height:27px;
  border:5px solid #fff;
  border-radius:50%;
  background:var(--ebc-green);
  box-shadow:0 1px 0 2px var(--ebc-green),0 5px 16px #24764b40;
  cursor:grab;
}
.ebc-calculator input.ebc-range:focus-visible {
  outline:3px solid #176d4688 !important;
  outline-offset:7px;
}
.ebc-calculator .ebc-range-axis {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  width:100%;
  margin:9px 0 0;
  color:#65756d;
  font-size:12px;
  line-height:1.4;
}
.ebc-calculator .ebc-breakpoint {
  display:block;
  width:100%;
  margin:12px 0 23px !important;
  padding:0;
  color:#238453;
  text-align:center;
  font-size:13px;
  font-weight:700;
  line-height:1.5;
}
.ebc-calculator .ebc-dot {
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:6px;
  border-radius:50%;
  background:var(--ebc-green);
}
.ebc-calculator .ebc-results {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  width:100%;
  margin:20px 0 0;
  padding:0;
}
.ebc-calculator .ebc-cost-card {
  display:block;
  position:relative;
  min-width:0;
  width:100%;
  margin:0;
  padding:clamp(18px,2.5vw,25px);
  border:1px solid #e0ebe3;
  border-radius:18px;
}
.ebc-calculator .ebc-cost-plant { background:#f1faf5; }
.ebc-calculator .ebc-cost-septic { background:#f8f9fa; border-color:#e8eaed; }
.ebc-calculator .ebc-card-label {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  width:100%;
  margin:0 0 13px;
  font-size:14px;
  font-weight:750;
  line-height:1.4;
  color:var(--ebc-ink);
}
.ebc-calculator .ebc-legend { display:inline-block; flex:none; width:11px; height:11px; border-radius:50%; }
.ebc-calculator .ebc-legend-plant { background:var(--ebc-green); }
.ebc-calculator .ebc-legend-septic { background:#83928c; }
.ebc-calculator .ebc-cost-card strong {
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  padding:0;
  color:var(--ebc-ink);
  font-size:clamp(23px,3.1vw,36px);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
  white-space:normal;
  overflow-wrap:break-word;
}
.ebc-calculator .ebc-bar-track {
  display:block;
  width:100%;
  height:9px;
  margin:20px 0 0;
  overflow:hidden;
  border-radius:20px;
  background:#e2e8e4;
}
.ebc-calculator .ebc-bar-plant,
.ebc-calculator .ebc-bar-septic { height:100%; border-radius:20px; width:0; transition:width .2s ease; }
.ebc-calculator .ebc-bar-plant { background:var(--ebc-green); }
.ebc-calculator .ebc-bar-septic { background:#83928c; }
.ebc-calculator .ebc-summary {
  display:block;
  width:100%;
  min-width:0;
  margin:18px 0 0;
  padding:clamp(22px,3vw,29px) 18px;
  border-radius:20px;
  background:#e5f8ec;
  color:#145c36;
  text-align:center;
}
.ebc-calculator .ebc-summary.ebc-pending { background:#fff3e4; color:#80510f; }
.ebc-calculator .ebc-summary > span {
  display:block;
  color:inherit;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
}
.ebc-calculator .ebc-summary strong {
  display:block;
  max-width:100%;
  margin:6px 0;
  padding:0;
  color:inherit;
  font-size:clamp(30px,5vw,52px);
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
  overflow-wrap:break-word;
}
.ebc-calculator .ebc-summary p {
  display:block;
  margin:5px 0 0 !important;
  color:inherit;
  opacity:.84;
  font-size:13px;
  line-height:1.5;
}
.ebc-calculator .ebc-cta-wrap { display:block; margin:26px 0 0; text-align:center; }
.ebc-calculator a.ebc-cta {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  flex-wrap:nowrap;
  gap:8px 12px;
  width:auto;
  max-width:100%;
  min-height:52px;
  margin:0;
  padding:15px 28px;
  border:1px solid transparent;
  border-radius:99px;
  background:var(--ebc-green);
  color:#fff !important;
  font-size:15px;
  font-weight:750;
  line-height:1.5;
  text-align:center;
  text-decoration:none !important;
  white-space:normal;
  overflow-wrap:anywhere;
  transition:background .2s,transform .2s;
}
.ebc-calculator .ebc-cta-text { display:block; min-width:0; flex:0 1 auto; }
.ebc-calculator .ebc-cta-arrow { display:inline-block; flex:0 0 auto; font-size:19px; line-height:1; }
.ebc-calculator a.ebc-cta:hover { background:var(--ebc-green-dark); color:#fff !important; transform:translateY(-2px); }
.ebc-calculator a.ebc-cta:focus-visible { outline:3px solid #176d46; outline-offset:4px; }
.ebc-calculator .ebc-note {
  display:block;
  width:100%;
  max-width:850px;
  margin:20px auto 0 !important;
  padding:0;
  color:var(--ebc-muted);
  text-align:center;
  font-size:13px;
  line-height:1.65;
}
.ebc-calculator .ebc-disclaimer {
  display:block;
  max-width:850px;
  width:100%;
  margin:15px auto 0 !important;
  padding:0;
  color:#6d7a73;
  text-align:center;
  font-size:12px;
  line-height:1.7;
}
@media (max-width: 768px) {
  .ebc-calculator { padding:56px 20px; }
  .ebc-calculator .ebc-heading { margin-bottom:30px !important; }
  .ebc-calculator .ebc-panel { padding:25px; border-radius:22px; }
  .ebc-calculator .ebc-cost-card { padding:20px; }
  .ebc-calculator .ebc-cost-card strong { font-size:clamp(23px,3.6vw,31px); }
}
@media (max-width: 640px) {
  .ebc-calculator { padding:48px 14px; }
  .ebc-calculator .ebc-heading { margin-bottom:25px !important; }
  .ebc-calculator .ebc-heading h2 { font-size:clamp(26px,7vw,34px); line-height:1.2; margin-top:15px !important; }
  .ebc-calculator .ebc-heading p { font-size:14px; line-height:1.65; }
  .ebc-calculator .ebc-panel { padding:22px 18px; border-radius:20px; }
  .ebc-calculator .ebc-control-top { margin-bottom:25px; }
  .ebc-calculator .ebc-control-top label { font-size:14px; }
  .ebc-calculator .ebc-year { min-width:88px; padding:8px 12px; }
  .ebc-calculator .ebc-year strong { font-size:21px; }
  .ebc-calculator .ebc-results { grid-template-columns:minmax(0,1fr); gap:12px; }
  .ebc-calculator .ebc-cost-card { padding:19px; }
  .ebc-calculator .ebc-cost-card strong { font-size:clamp(26px,7vw,33px); }
  .ebc-calculator a.ebc-cta { display:flex; width:100%; padding:15px 16px; }
  .ebc-calculator .ebc-summary strong { font-size:clamp(30px,8vw,42px); }
}
@media (max-width: 390px) {
  .ebc-calculator { padding:40px 12px; }
  .ebc-calculator .ebc-panel { padding:20px 14px; }
  .ebc-calculator .ebc-year { min-width:79px; padding:7px 10px; }
  .ebc-calculator .ebc-control-top { gap:10px; }
  .ebc-calculator .ebc-heading h2 { font-size:26px; }
  .ebc-calculator .ebc-breakpoint { font-size:12px; }
  .ebc-calculator a.ebc-cta { font-size:14px; }
}
@media (prefers-reduced-motion:reduce) {
  .ebc-calculator .ebc-bar-plant,
  .ebc-calculator .ebc-bar-septic,
  .ebc-calculator a.ebc-cta { transition:none; }
}
