/* Preloader overlay + SVG fill animation */

.pine-preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  opacity: 1;
  visibility: visible;
  pointer-events: all;
  transition: opacity 350ms ease, visibility 0ms linear 350ms;
}

.pine-preloader.is-hiding {
  opacity: 0;
  pointer-events: none;
}

.pine-preloader.is-hidden {
  display: none;
}

.pine-preloader .logo-wrapper {
  width: min(520px, 86vw);
  padding: 24px;
}

.pine-preloader svg {
  width: 100%;
  height: auto;
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .pine-preloader {
    transition: none;
  }
}

@keyframes pine-preload-fill {
  0% { fill: transparent; }
  100% { fill: rgb(208, 164, 161); }
}

/* Mapeamento das delays (0.0s a 5.1s) */
.pine-preloader .svg-elem-1  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.0s both; }
.pine-preloader .svg-elem-2  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.1s both; }
.pine-preloader .svg-elem-3  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.2s both; }
.pine-preloader .svg-elem-4  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.3s both; }
.pine-preloader .svg-elem-5  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.4s both; }
.pine-preloader .svg-elem-6  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.5s both; }
.pine-preloader .svg-elem-7  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.6s both; }
.pine-preloader .svg-elem-8  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.7s both; }
.pine-preloader .svg-elem-9  { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.8s both; }
.pine-preloader .svg-elem-10 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 0.9s both; }
.pine-preloader .svg-elem-11 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.0s both; }
.pine-preloader .svg-elem-12 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s both; }
.pine-preloader .svg-elem-13 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s both; }
.pine-preloader .svg-elem-14 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s both; }
.pine-preloader .svg-elem-15 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s both; }
.pine-preloader .svg-elem-16 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both; }
.pine-preloader .svg-elem-17 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both; }
.pine-preloader .svg-elem-18 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both; }
.pine-preloader .svg-elem-19 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both; }
.pine-preloader .svg-elem-20 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s both; }
.pine-preloader .svg-elem-21 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.0s both; }
.pine-preloader .svg-elem-22 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.1s both; }
.pine-preloader .svg-elem-23 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.2s both; }
.pine-preloader .svg-elem-24 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.3s both; }
.pine-preloader .svg-elem-25 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.4s both; }
.pine-preloader .svg-elem-26 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.5s both; }
.pine-preloader .svg-elem-27 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.6s both; }
.pine-preloader .svg-elem-28 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.7s both; }
.pine-preloader .svg-elem-29 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.8s both; }
.pine-preloader .svg-elem-30 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 2.9s both; }
.pine-preloader .svg-elem-31 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.0s both; }
.pine-preloader .svg-elem-32 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.1s both; }
.pine-preloader .svg-elem-33 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.2s both; }
.pine-preloader .svg-elem-34 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.3s both; }
.pine-preloader .svg-elem-35 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.4s both; }
.pine-preloader .svg-elem-36 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.5s both; }
.pine-preloader .svg-elem-37 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.6s both; }
.pine-preloader .svg-elem-38 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.7s both; }
.pine-preloader .svg-elem-39 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.8s both; }
.pine-preloader .svg-elem-40 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 3.9s both; }
.pine-preloader .svg-elem-41 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.0s both; }
.pine-preloader .svg-elem-42 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.1s both; }
.pine-preloader .svg-elem-43 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.2s both; }
.pine-preloader .svg-elem-44 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.3s both; }
.pine-preloader .svg-elem-45 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.4s both; }
.pine-preloader .svg-elem-46 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.5s both; }
.pine-preloader .svg-elem-47 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.6s both; }
.pine-preloader .svg-elem-48 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.7s both; }
.pine-preloader .svg-elem-49 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.8s both; }
.pine-preloader .svg-elem-50 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 4.9s both; }
.pine-preloader .svg-elem-51 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 5.0s both; }
.pine-preloader .svg-elem-52 { animation: pine-preload-fill 0.4s cubic-bezier(0.47, 0, 0.745, 0.715) 5.1s both; }
