/* I-Materac: koszyk, kasa i Moje konto, dopelnienie regul wycietych z Favou (css/favou-zakup.css). Pisane recznie. */

/* Moje konto, rejestracja: informacja "mozesz zarejestrowac sie podczas zakupu" (w Favou stylami w znaczniku) */
.im-konto-info { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 10px; padding: 16px 18px; border: 1px solid #e8b978; border-radius: 12px; background: #fbf6ef; font-family: -apple-system, "Segoe UI", Roboto, Arial, sans-serif; }
.im-konto-info__ikona { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 2px; }
.im-konto-info__ikona svg { display: block; width: 20px; height: 20px; }
.im-konto-info__tekst { color: #2b2320; }
.im-konto-info .im-konto-info__tekst p { margin: 0; font-size: 14px; line-height: 1.45; color: #4a413a; }
.im-konto-info .im-konto-info__tekst p.im-konto-info__tytul { margin: 0 0 4px; font-size: 15px; line-height: 27px; font-weight: 700; color: #1f1a17; }
.im-konto-pulapka { position: absolute; left: -999em; }

/* Bramki platnosci: reguly z "Dodatkowego CSS" Favou (Wyglad > Dostosuj; przypisany do motywu Favou, w nowym motywie nie dziala).
   Na stagingu PayU i Stripe sa wylaczone, wiec wycinanie stylow tych elementow nie zlapalo (zgloszenie Konrada 19-10-2026, po przenosinach).
   Tresc przepisana bez zmian. */

/* PayU "Szybki przelew i inne metody": kafle bankow */
.payment-method-list ul li.payu-bank {
    max-width: 80px;
}

.payment-method-list ul li.payu-bank label {
    min-width: auto;
    text-align: center;
}

.payment-method-list ul li.payu-bank label img {
    position: initial;
    max-height: 70px !important;
}

/* PayU: tekst o zleceniu platnosci i administratorze danych schowany, tak jak w Favou */
.payu-accept-conditions {
    display: none;
}
.payu-conditions-description {
    display: none;
}

.wc-stripe-gateway-desc {
    margin-top: 0 !important;
}

/* PayU "Karta platnicza": formularz karty */
#payu-card-container {
  all: initial; /* twardy reset dziedziczonych/kolidujących stylów */
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  width: 100%;
  box-sizing: border-box;
}

#payu-card-container * {
  box-sizing: border-box;
}

#payu-card-container label {
  display: block !important;
  position: static !important; /* wyłącza floating-label absolute */
  font-size: 14px;
  font-weight: 500;
  color: #1a1a1a;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
  transform: none !important;
}

/* Numer karty - pełna szerokość, osobny wiersz */
#payu-card-number {
  flex: 1 1 100%;
  order: 1;
}

/* Reset kontenera z datą/CVV - bez floatów, bez clearfix trików */
.card-details {
  display: flex !important;
  flex-wrap: wrap;
  gap: 16px;
  flex: 1 1 100%;
  order: 2;
  float: none !important;
  width: auto !important;
}
.card-details::after,
.card-details::before {
  content: none !important; /* usuwa stary clearfix */
}

.expiration,
.cvv {
  flex: 1 1 160px;
  position: relative !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  top: auto !important;
  left: auto !important;
}

/* Wspólny styl kafelków wokół pól iframe */
#payu-card-container .payu-card-form {
  border: 1px solid #d9d9d9 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  padding: 12px 14px !important;
  min-height: 44px !important;
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#payu-card-container .payu-card-form:focus-within {
  border-color: #6b7cff !important;
  box-shadow: 0 0 0 3px rgba(107, 124, 255, 0.15);
}

.payu-secure-form-iframe {
  width: 100% !important;
  height: 21px !important;
  border: none !important;
  position: static !important;
  float: none !important;
  margin: 0 !important;
}

.payu-sf-technical-error {
  display: none;
  color: #d32f2f;
  font-size: 13px;
  margin-bottom: 12px;
}
.payu-sf-technical-error.show {
  display: block;
}

.payu-sf-validation-error {
  color: #d32f2f;
  font-size: 12px;
  margin-top: 6px;
  min-height: 14px;
}

@media (max-width: 640px) {
  .expiration,
  .cvv {
    flex: 1 1 100%;
  }
}
