 /* --- GRID i równe boxy --- */
   .row.equal-height { display:flex; flex-wrap:wrap; }
   .row.equal-height > [class*="col-"] { display:flex; }
   .row.equal-height .pricing-item { flex:1 1 auto; display:flex; flex-direction:column; }
   /* --- Nagłówek karty --- */
   .pricing-item-header { display:flex; flex-direction:column; }
   .pricing-item-header .header-top{
   display:grid;
   grid-template-columns: 1fr auto; /* lewa elastyczna, prawa = szer. treści */
   align-items:start;
   column-gap:16px;
   width:100%;
   }
   .pricing-item-header .header-desc{ margin-top:6px; color:#6b7280; }


   /* --- Cena w jednej linii --- */
   .price-inline{ display:inline-flex; align-items:baseline; gap:6px; white-space:nowrap; line-height:1; }
   .price-inline .amount{ font-weight:800; }
   .price-inline .suffix{ font-size:.8em; color:#6b7280; }
   /* --- Badge „Promocja” przy tytule --- */
   .h4 .promo-badge, .xl\:h3 .promo-badge { margin-left:8px; vertical-align:middle; }
   /* --- Mobile: układ pod sobą --- */
   @media (max-width: 640px){
   .pricing-item-header .header-top{
   grid-template-columns: 1fr;
   row-gap:8px;
   }
   .header-right{ text-align:left; }
   }
   #priceBreakdown {
   list-style: none;   /* usuwa wszystkie kropki */
   padding-left: 0;    /* wyrównuje do lewej */
   margin-left: 0;
   padding-top: 40px;
   }
   #priceBreakdown li {
   padding-left: 0;
   }
   /* Podsumowanie: przycisk na dole */
	.summary-panel {
	  display: flex;
	  flex-direction: column;
	  height: 100%;
	}
	
	.summary-details {
  /* pozostaw brak marginesów, by sekcje trzymały się razem */
  margin-bottom: 0;
}



   .summary-cta {
   margin-top: auto;   /* spycha CTA na dół panelu */
   }
   #totalPrice {
   font-size: 1.1em;
   }
   .total-price {
   margin-top: 0;
   margin-bottom: 0.5rem;
   font-weight: 600;
   }
   /* Box podsumowania: CTA na dole, brak „dziury” nad łączną ceną */
   .summary-panel{
   display:flex;
   flex-direction:column;
   }
   #priceBreakdown{ margin:0; padding-left:0; list-style:none; } /* lewy align */
/* separator między listą a łączną ceną */
.summary-sep {
  margin: 40px 10px 10px 10px; /* możesz zwiększyć lub zmniejszyć odstęp według własnego uznania */
  width: 85% !important;
}



/* łączna cena */
.summary-total {
  margin: 0 0 8px; /* brak odstępu powyżej, niewielki poniżej */
  font-size: clamp(1.05rem, 1.2vw, 1.25rem);
  font-weight: 600;
  color: #111827;
}
   .summary-cta{ margin-top:auto; }  /* przycisk na dole */

#keywordList { margin-top: 10px; }
#keywordList li{
  display:flex; justify-content:space-between; align-items:center;
  background:#f7f7f7; padding:6px 10px; border-radius:6px; margin-bottom:6px;
}
#keywordList li button{
  background:none; border:none; color:#e11d48; cursor:pointer; font-size:18px; line-height:1;
}

/* Zmniejsz paddingi w boxach */
.pricing-item-header, 
.pricing-item-body {
	
  padding: 0.75rem 1rem !important;  /* zamiast p-3, xl:p-4 */
}

/* Zmniejsz padding dolny w body */
.pricing-item-body {
  padding-bottom: 0.75rem !important;
}

/* Zmniejsz marginesy list i opisów */
#competitorList li, 
#keywordList li {
  margin-bottom: 4px;   /* zamiast 6px */
  padding: 4px 8px;     /* ciaśniej */
}

.pricing-item-header .header-desc,
.pricing-item-body p {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  font-size: 0.9em;     /* trochę mniejsza czcionka */
}

/* pod Twoimi stylami */
.input-hint-error {
  display:block;
  margin-top:4px;
  font-size:0.85em;
  color:#dc2626; /* czerwony */
}
.is-invalid {
  border-color:#dc2626 !important;
  box-shadow:none;
}


.box-same-height > div {

	height: 100% !important;
}

#quick_guide2 {
	padding-top: 80px !important;
}