:root {
  --curitiba-brand-orange: #f27a4c;
  --curitiba-brand-orange-strong: #f7571a;
  --curitiba-brand-ink: #01050e;
  --curitiba-brand-green: #25d366;
}

/* Carrossel Kadence: mantém as imagens e o ritmo observados, com scroll-snap acessível. */
.kt-blocks-carousel.splide {
  position: relative;
}
.kt-blocks-carousel.splide .splide__track {
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
  scroll-behavior: smooth;
  overscroll-behavior-x: contain;
}
.kt-blocks-carousel.splide .splide__track::-webkit-scrollbar { display: none; }
.kt-blocks-carousel.splide .splide__list {
  display: flex !important;
  transform: none !important;
  transition: none !important;
}
.kt-blocks-carousel.splide .splide__slide {
  scroll-snap-align: center;
  transition: opacity .4s ease, transform .4s ease;
}
.kt-blocks-carousel.splide .splide__slide:not(.curitiba-slide-active) { opacity: .88; }
.kt-blocks-carousel.splide .splide__slide.curitiba-slide-active { opacity: 1; }
.curitiba-carousel-arrows { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.curitiba-carousel-arrow {
  position: absolute;
  top: 50%;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: rgba(1, 5, 14, .78);
  font: 32px/1 Arial, sans-serif;
  cursor: pointer;
  pointer-events: auto;
  transform: translateY(-50%);
}
.curitiba-carousel-arrow:hover { background: var(--curitiba-brand-orange-strong); }
.curitiba-carousel-arrow--prev { left: 10px; }
.curitiba-carousel-arrow--next { right: 10px; }
.curitiba-carousel-dots { display: flex; justify-content: center; gap: 9px; padding: 12px 8px 3px; }
.curitiba-carousel-dot {
  width: 11px;
  height: 11px;
  padding: 0;
  border: 1px solid var(--curitiba-brand-ink);
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.curitiba-carousel-dot.is-active { border-color: var(--curitiba-brand-orange-strong); background: var(--curitiba-brand-orange-strong); }
.curitiba-carousel-arrow:focus-visible,
.curitiba-carousel-dot:focus-visible,
.curitiba-whatsapp-float:focus-visible,
.curitiba-review-form :focus-visible { outline: 3px solid #1159af; outline-offset: 3px; }

/* Botão flutuante com a mesma chamada direta para orçamento do site. */
.curitiba-whatsapp-float {
  position: fixed;
  z-index: 9999;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 17px;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff !important;
  background: var(--curitiba-brand-green);
  box-shadow: 0 4px 18px rgba(0, 0, 0, .23);
  font: 700 15px/1.2 inherit;
  text-decoration: none !important;
}
.curitiba-whatsapp-float:hover { background: #1faf58; color: #fff !important; transform: translateY(-1px); }
.curitiba-whatsapp-float svg { width: 25px; height: 25px; flex: 0 0 25px; fill: currentColor; }

/* O envio do depoimento é voluntário e vai ao WhatsApp; não há armazenamento do site. */
.curitiba-review-form-wrap { margin: 2rem 0; padding: clamp(18px, 3vw, 30px); border: 1px solid rgba(1, 5, 14, .16); border-radius: 8px; background: #faf7f0; }
.curitiba-review-form-wrap h2 { margin-top: 0; color: var(--curitiba-brand-ink); }
.curitiba-review-form-wrap > p { max-width: 70ch; }
.curitiba-review-form { display: grid; gap: 10px; max-width: 720px; }
.curitiba-review-form > label,
.curitiba-review-rating legend { color: var(--curitiba-brand-ink); font-weight: 700; }
.curitiba-review-form input:not([type="radio"]),
.curitiba-review-form textarea {
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 8px;
  padding: 12px 13px;
  border: 1px solid #747575;
  border-radius: 4px;
  background: #fff;
  color: var(--curitiba-brand-ink);
  font: inherit;
}
.curitiba-review-form textarea { resize: vertical; }
.curitiba-review-rating { margin: 4px 0 12px; padding: 0; border: 0; }
.curitiba-review-rating legend { margin-bottom: 9px; }
.curitiba-rating-options { display: flex; flex-wrap: wrap; gap: 8px; }
.curitiba-rating-options label { display: inline-flex; min-height: 36px; align-items: center; gap: 5px; padding: 5px 9px; border: 1px solid #d3cec7; border-radius: 4px; background: #fff; cursor: pointer; }
.curitiba-review-form button[type="submit"] { justify-self: start; min-height: 44px; padding: 11px 18px; border: 0; border-radius: 4px; color: #fff; background: var(--curitiba-brand-orange-strong); font: inherit; font-weight: 700; cursor: pointer; }
.curitiba-review-form button[type="submit"]:hover { background: var(--curitiba-brand-ink); }
.curitiba-not-found { max-width: 760px; margin: 12vh auto; padding: 24px; }
.curitiba-not-found__whatsapp { margin-left: 1rem; color: var(--curitiba-brand-orange-strong); }

@media (max-width: 600px) {
  .curitiba-carousel-arrow { width: 38px; height: 38px; font-size: 28px; }
  .curitiba-carousel-arrow--prev { left: 6px; }
  .curitiba-carousel-arrow--next { right: 6px; }
  .curitiba-whatsapp-float { right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); min-height: 50px; padding: 9px 14px; }
  .curitiba-review-form-wrap { padding: 16px; }
  .curitiba-rating-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .curitiba-not-found { margin: 8vh auto; }
}

@media (prefers-reduced-motion: reduce) {
  .kt-blocks-carousel.splide .splide__track { scroll-behavior: auto; }
  .kt-blocks-carousel.splide .splide__slide,
  .curitiba-whatsapp-float { transition: none !important; }
}
