/*--------------------------------------------------------------
    Loader
--------------------------------------------------------------*/

.pre-loader {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999991;
  background-color: #fff;
}

.loader-inner {
  padding: 25px;
  position: absolute;
  left: 50%;
  top: 50%;
  text-align: center;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.loader-icon {
font-size: clamp(5rem, 4.4231rem + 2.5641vw, 7.5rem);
color: var(--wdtPrimaryColor);
display: inline-flex;
}

/*--------------------------------------------------------------
  Accents
--------------------------------------------------------------*/

.pre-loader { background-color: var(--wdtBodyBGColor); }

/*--------------------------------------------------------------
  Tachometer Loader Styling
--------------------------------------------------------------*/

.tachometer {
transform-origin: center center;
display: block;
margin: 0 auto;
width: 360px;
height: 360px;
animation: fade-in 0.5s ease forwards;
}

/* Ciferník */
.dial {
fill: none;
stroke: var(--wdtPrimaryColor, #00ff66);
stroke-width: 10;
opacity: 0.8;
}

/* Značky */
.mark {
stroke: var(--wdtPrimaryColor, #00ff66);
stroke-width: 4;
stroke-linecap: round;
opacity: 0.8;
}

.mark-text {
fill: var(--wdtPrimaryColor, #00ff66);
font-size: 10px;
font-weight: 500;
opacity: 0.9;
transform-origin: center;
}

/* Ručička */
.needle {
stroke: var(--wdtPrimaryColor, #00ff66);
stroke-width: 5;
stroke-linecap: round;
transform-origin: 120px 120px;
animation: needle-sweep 3.5s ease-in-out infinite;
}

/* Stred */
.center {
fill: var(--wdtPrimaryColor, #00ff66);
}

/* Ručička – plynulý pohyb s pauzou na maxime */
@keyframes needle-sweep {
0%   { transform: rotate(-120deg); }
40%  { transform: rotate(120deg); }
60%  { transform: rotate(120deg); }  /* krátka pauza */
100% { transform: rotate(-120deg); }
}

/* Fade-in efekt */
@keyframes fade-in {
from { opacity: 0; transform: scale(0.9); }
to   { opacity: 1; transform: scale(1); }
}
