/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Alpine.js: ukryj elementy z x-cloak przed inicjalizacją */
[x-cloak] { display: none !important; }

/* Honeytrap: ukryty div z inputem — niewidoczny dla człowieka, bot go wypełni */
.nice { display: none !important; }

/* Turbo Frame: spinner podczas ładowania (aria-busy ustawiany automatycznie przez Turbo) */
turbo-frame[aria-busy] {
  position: relative;
  min-height: 2rem;
  opacity: 0.7;
  transition: opacity 0.15s ease;
}

turbo-frame[aria-busy]::after {
  content: '';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 1rem;
  pointer-events: none;
}

/* Formularz podczas wysyłania — lekkie przyciemnienie */
form[data-turbo-submitting] button[type="submit"],
form[data-turbo-submitting] input[type="submit"] {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.ambient:before {
  content: "";
  z-index: 0;
  pointer-events: none;
  opacity: .04;
  background-image: url(data:image/svg+xml;charset=utf-8;base64,PHN2ZyB2aWV3Qm94PScwIDAgMjAwIDIwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nMC44JyBudW1PY3RhdmVzPSczJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoI24pJy8+PC9zdmc+)
  position: absolute;
  inset: 0;
}
