
/* Reveal & invalid styles */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity .45s ease, transform .45s ease; }
.reveal.is-visible { opacity: 1 !important; transform: none !important; }

/* Input invalid state + hint */
.input-invalid {
  border: 1px solid #e53935 !important;
  outline: none;
}
.field-hint { font-size: .875rem; line-height: 1.3; margin-top: 6px; display: none; }
.field-hint.error { color: #e53935; display: block; }

/* Safety for popular slider containers to stay visible */
.swiper, .slick-slider, .owl-carousel { opacity: 1 !important; visibility: visible !important; }


/* --- Fancy error bubble under input --- */
.field-hint {
  display: none;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #e57373;
  background: #ffefef;
  color: #c62828;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.25;
  box-shadow: 0 2px 6px rgba(0,0,0,.06);
  position: relative;
  text-align: left;
}
.field-hint.error {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.field-hint.error::before {
  content: "⚠️";
  display: inline-block;
  line-height: 1;
  margin-top: 1px;
}
/* Tail pointer */
.field-hint.error::after {
  content: "";
  position: absolute;
  top: -7px;
  left: 18px;
  width: 12px;
  height: 12px;
  background: #ffefef;
  border-left: 1px solid #e57373;
  border-top: 1px solid #e57373;
  transform: rotate(45deg);
  box-shadow: -2px -2px 2px rgba(0,0,0,.02);
}
/* Red border on invalid input */
.input-invalid {
  border: 1px solid #e53935 !important;
  outline: none;
}


/* Neutralize native :invalid visuals until user interacts */
.no-invalid-ui input:invalid {
  border-color: var(--input-border, #ccc) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Центр тексту таймера всередині кружка */
.swiper .autoplay-progress{
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 20;
  width: 48px;
  height: 48px;
}
.swiper .autoplay-progress svg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.swiper .autoplay-progress span{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  font-weight: 700;
  line-height: 1;
}
/* === Prices block === */
.pnl-prices{
  display:flex; align-items:baseline; gap:12px; margin-top:10px;
  flex-wrap:wrap;
}
.pnl-price-old{
  color:#9ca3af; text-decoration:line-through; font-weight:600;
  font-size:16px;
}
.pnl-price-new{
  font-weight:800; font-size:22px; line-height:1;
  color:#0ea5e9; /* синій акцент */
}
.pnl-price-save{
  font-size:12px; line-height:1; padding:6px 10px; border-radius:999px;
  background:#dcfce7; color:#065f46; border:1px solid #86efac;
}

/* компактніше на мобільних */
@media (max-width:480px){
  .pnl-price-old{font-size:15px}
  .pnl-price-new{font-size:20px}
}

