.elementor-9871 .elementor-element.elementor-element-c1c3f56{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-9871 .elementor-element.elementor-element-e625f3a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:10px 10px 10px 10px;}.elementor-9871 .elementor-element.elementor-element-e625f3a:not(.elementor-motion-effects-element-type-background), .elementor-9871 .elementor-element.elementor-element-e625f3a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-9871 .elementor-element.elementor-element-0d738d3.elementor-element{--align-self:center;}.elementor-9871 .elementor-element.elementor-element-3043b64{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-between;}.elementor-9871 .elementor-element.elementor-element-3043b64:not(.elementor-motion-effects-element-type-background), .elementor-9871 .elementor-element.elementor-element-3043b64 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}body:not(.rtl) .elementor-9871 .elementor-element.elementor-element-b221ceb{left:0px;}body.rtl .elementor-9871 .elementor-element.elementor-element-b221ceb{right:0px;}.elementor-9871 .elementor-element.elementor-element-b221ceb{top:-47px;}.elementor-9871 .elementor-element.elementor-element-cb57d40 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-9871 .elementor-element.elementor-element-cb57d40{column-gap:0px;text-align:justify;font-size:14px;}.elementor-9871 .elementor-element.elementor-element-cb57d40 p{margin-block-end:0px;}.elementor-9871 .elementor-element.elementor-element-c21dc8c{--display:flex;}:root{--page-title-display:none;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(min-width:768px){.elementor-9871 .elementor-element.elementor-element-e625f3a{--width:50%;}.elementor-9871 .elementor-element.elementor-element-3043b64{--width:50%;}}/* Start custom CSS *//* --- General Form Styling --- */
.calc-body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  font-size: 16px;
  color: #333;
  background-color: #fafafa;
  line-height: 1.6;
  margin: 20px;
}

/* --- Input Fields (Slightly Narrower) --- */
.elementor-widget-container input[type="text"],
.elementor-widget-container input[type="number"],
.elementor-widget-container input[type="tel"],
.elementor-widget-container input[type="email"],
.elementor-widget-container input[type="search"] {
  max-width: 300px; /* Limit width for a cleaner look */
  width: 100%;
  box-sizing: border-box;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
  transition: border-color 0.3s;
}

.elementor-widget-container input[type="text"]:focus,
.elementor-widget-container input[type="number"]:focus {
  border-color: #007acc; /* Blue focus outline */
  outline: none;
}

/* --- Blueish Radio Buttons --- */

/* --- Blueish Radio Buttons (Fixed) --- */
.radio-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 1em;
}

.radio-labels input[type="radio"] {
  display: none; /* Hide the default radio button */
}

/* Unchecked state */
.radio-labels label {
  display: inline-block;
  padding: 0.5em 1em;
  border: 2px solid #ccc;
  border-radius: 6px;
  background-color: #fff;
  cursor: pointer;
  font-weight: 500;
  transition: background-color 0.3s, border-color 0.3s, color 0.3s;
}

/* ✅ Checked state - Ensures visual change */
.radio-labels input[type="radio"]:checked + label {
  background-color: #007acc !important;  /* Blue fill */
  border-color: #005999 !important;      /* Darker blue border */
  color: white !important;               /* White text */
  font-weight: 700;
  box-shadow: 0 0 5px rgba(0, 122, 204, 0.6); /* Subtle glow effect */
}

/* Hover effect */
.radio-labels label:hover {
  background-color: #e0efff;
  border-color: #007acc;
}


/* --- Hide Results Section Until Calculation --- */
.calc-results {

  padding: 1em;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.05);
}

/* --- Styled Oblicz Button --- */
#ppk-calc-submit .elementor-button {
  background-color: #007acc;
  color: #fff !important;
  border-radius: 6px;
  padding: 12px 20px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease-in-out, transform 0.1s;
  display: inline-block;
  text-align: center;
}

#ppk-calc-submit .elementor-button:hover {
  background-color: #005999;
}

#ppk-calc-submit .elementor-button:active {
  transform: scale(0.98);
}

/* --- Blue-Themed Sliders --- */
input[type="range"] {
  -webkit-appearance: none;
  width: 50%;
  height: 6px;
  background: #b3d7ff; /* Light blue track */
  border-radius: 3px;
  outline: none;
  margin: 0.5em 0;
  transition: background 0.3s;
}

/* Track hover effect */
input[type="range"]:hover {
  background: #99ccff; /* Slightly darker blue */
}

/* Webkit (Chrome, Safari) slider thumb */
input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  background: #007acc; /* Blue thumb */
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid white;
  transition: background 0.3s, transform 0.2s, box-shadow 0.2s;
  margin-top: -6px;
}

/* Hover effect for the thumb */
input[type="range"]::-webkit-slider-thumb:hover {
  background: #005999;
  transform: scale(1.2);
  box-shadow: 0 0 10px rgba(0, 122, 204, 0.5);
}

/* Active state (when dragging) */
input[type="range"]::-webkit-slider-thumb:active {
  background: #004477;
}

/* Mozilla (Firefox) slider thumb */
input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  background: #007acc;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid white;
  transition: background 0.3s, transform 0.2s;
}

input[type="range"]::-moz-range-thumb:hover {
  background: #005999;
  transform: scale(1.2);
  box-shadow: 0 0 10px rgba(0, 122, 204, 0.5);
}

input[type="range"]::-moz-range-thumb:active {
  background: #004477;
}

/* Track for Firefox */
input[type="range"]::-moz-range-track {
  height: 6px;
  background: #b3d7ff;
  border-radius: 3px;
}

/* Edge/IE styles */
input[type="range"]::-ms-thumb {
  width: 18px;
  height: 18px;
  background: #007acc;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid white;
  transition: background
}

.calc-section-odd{

    border-radius: 8px;
    padding: 5px
}

.calc-section-even{
    background-color: #ededed;
    border-radius: 8px;
    padding: 5px
}
.summary-section {
  max-width: 400px;
  margin: 0 auto; /* Wyśrodkowanie (opcjonalne) */
  font-family: Arial, sans-serif; /* Przykładowa rodzina fontu */
}

/* Nagłówek sekcji (opcjonalne) */
.summary-section h2 {
  text-align: left;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

/* Lista – usuwamy domyślne kropki i dodajemy odstęp */
.summary-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Pojedynczy wiersz – używamy flexboxa, aby wszystko ładnie ułożyć */
.summary-list li {
  display: flex;
  align-items: center; /* Wyrównanie wertykalne do środka */
  justify-content: space-between; /* Rozsunięcie etykiety i kwoty na boki */
  margin-bottom: 0.5rem;
}

/* Opcjonalnie, jeśli chcemy, aby etykieta i kwota nie były maksymalnie rozciągnięte */
.summary-list li .text-label {
  flex: 1; /* Etykieta zajmuje dostępne miejsce */
  margin-left: 0.5rem;
}

/* Kolorowy kwadracik */
.color-box {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.5rem;
  border-radius: 2px; /* zaokrąglenie rogów, jeśli chcesz */
}

/* Konkretny kolor dla każdego rodzaju wpisu */
.color-blue {
  background-color: #5b9bd5; /* przykład niebieskiego */
}
.color-navy {
  background-color: #002060; /* ciemniejszy niebieski / granatowy */
}
.color-gray {
  background-color: #a5a5a5;
}
.color-red {
  background-color: #ff0000; /* przykładowy czerwony */
}

/* Kwoty wyrównane do prawej strony, aby wyglądały czytelniej */
.amount {
  min-width: 120px; /* minimalna szerokość, aby kolumna kwot się nie „rozsypywała” */
  text-align: right;
}

.ppk-calc-underscore{
    border-color:blue;
    width: 40%;
    margin-right: 100;
}
.calc-section-flat{
    display: flex;
    justify-content: space-between;
    padding: 5px;
    font-size: 18px;
}
.calc-results h2{
    font-size: 24px;
    color:#1E78B8;
    font-weight: 500;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);;
}
#szo{
 position: relative;
 font-size: 32px
}
#szo::after {
  content: "";
  position: absolute;
  bottom: -10px;             /* align the pseudo-element to the bottom of the parent span */
  left: 50%;            /* start from the center so we can shift it properly */
  transform: translateX(-50%); /* move its origin back to the center */
  width: 75%;           /* adjust this to make the border narrower or wider */
  border-bottom: 2px solid #000; /* customize thickness/color as you like */
}

#mdde, #js{
    text-wrap: nowrap;
}
.graph-section{
    display: none;
}/* End custom CSS */