* {
  font-family: "Space Grotesk", sans-serif !important;
}

body{
  font-family: "Space Grotesk", sans-serif;
}
.svg-rect {
  cursor: pointer;
  transition: opacity 0.3s ease, filter 0.3s ease;
}

/* === ORIENTATION OVERLAY === */

@keyframes phoneRotatePortraitToLandscape {
  0% {
    transform: rotateZ(0deg);
  }
  50% {
    transform: rotateZ(-45deg);
  }
  100% {
    transform: rotateZ(-90deg);
  }
}

.orientation-overlay {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
  opacity: 1;
  transition: opacity 0.5s ease-out;
  pointer-events: all;
}

.orientation-overlay.hidden {
  display: none !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease-out;
}

.phone-rotation {
  animation: phoneRotatePortraitToLandscape 2.5s ease-in-out infinite;
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.2));
}

.svg-rect:hover {
  opacity: 0.8;
  filter: brightness(1.1);
}

/* Klikalne koła SVG */
.svg-circle {
  cursor: pointer;
  transition: opacity 0.0s ease;
}

/* .svg-circle:hover {
  filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.8));
} */

/* Floating Box - transforms from circle */
.floating-box {
  position: fixed;
  will-change: transform, opacity;
  pointer-events: none;
}

.floating-box.active {
  pointer-events: all;
}

/* Overlay with blur */
#overlay {
  /* backdrop-filter: blur(3px); */
}

/* Przycisk Garden z animacją */
#gardenBtn {
  transition: all 0.4s ease;
}

/* HTML Circle Elements */
.html-circle {
  position: fixed;
  border-radius: 50%;
  /* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
  /* box-shadow: 0 4px 20px rgba(102, 126, 234, 0.4); */
  color: white;
  font-weight: bold;
  font-size: 12px;
  text-align: center;
  padding: 8px;
  cursor: pointer;
  pointer-events: all;
  will-change: transform, width, height, border-radius;
}

/* SVG Viewport */
svg {
  will-change: attr(viewBox);
}

/* Animacja pojawiania się modala */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-fade-in {
  animation: fadeIn 0.3s ease;
}

/* === ANIMACJE MIĘDZY SEKCJAMI === */

/* Animacja wychodzenia sekcji (fade out + slide) */
@keyframes sectionExit {
  from {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  to {
    opacity: 0;
    transform: translateY(50px) scale(0.95);
  }
}

/* Animacja wchodzenia sekcji (fade in + slide) */
@keyframes sectionEnter {
  from {
    opacity: 0;
    transform: translateY(50px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Alternatywna animacja: slide z boku */
@keyframes slideOutLeft {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(-100%);
  }
}

@keyframes slideInRight {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Klasy animacyjne dla sekcji */
section.section-exit {
  animation: sectionExit 0.5s ease-out forwards;
}

section.section-enter {
  animation: sectionEnter 0.5s ease-out forwards;
}

section.slide-exit {
  animation: slideOutLeft 0.5s ease-out forwards;
}

section.slide-enter {
  animation: slideInRight 0.5s ease-out forwards;
}

/* Floating Box - Fixed positioning */
#floatingBox {
  max-height: 80vh;
  bottom: 20px;
}

/* Slider left */
#splideLeft {
height: 100%;
}
#splideLeft .splide__pagination__page {
background: white;
border: 1px solid black;
height: 7.5px;
width: 7.5px;
}
#splideLeft .splide__pagination__page.is-active {
background: #b4003d;
height: 7.5px;
width: 7.5px;
border: none;
transform: scale(1);
opacity: 1;
}
#splideLeft .splide__slide{
  justify-content: space-around;
}
/* Slider right - Vertical */
#splideRight {
  height: 100%;
}

#splideRight .splide__track,
#splideRight .splide__list {
  height: 100%;
}

#splideRight .splide__slide {
  height: auto;
}
#splideRight-track {
transform: translateY(-1rem);
}

/* ===== FULLSCREEN ANIMATION MODAL (LANDSCAPE) ===== */

.animation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 150;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
  pointer-events: all;
}

.animation.hidden {
  display: none !important;
  pointer-events: none;
}

.animation.active {
  opacity: 1;
}

.animation .animation-content {
  background: white;
  border-radius: 20px;
  padding: 3rem;
  width: 90%;
  max-width: 800px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  max-height: 85vh;
  overflow-y: auto;
  animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animation-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

/* Jeśli animation zawiera video - fullscreen */
.animation.active > .animation-video {
  position: absolute;
  inset: 0;
  z-index: 1;
}

@media screen and (min-width: 1024px) {
  #splideLeft .splide__pagination__page {
    height: 20px;
    width: 20px;
  }
  #splideLeft .splide__pagination__page.is-active {
    height: 20px;
    width: 20px;
  }
}

.grecaptcha-badge {
    visibility: hidden !important;
}
