/* ==========================================================================
   CSS ANIMACE (ÚVODNÍ EFEKTY)
   ========================================================================== */

/* --- Definice klíčových snímků (@keyframes) --- */
@keyframes fadeInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.93) translateX(-30px); }
  to { opacity: 1; transform: scale(1) translateX(0); }
}
@keyframes scaleLine {
  from { transform: scaleX(0); transform-origin: left; }
  to { transform: scaleX(1); transform-origin: left; }
}
@keyframes fadeInSimple {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* --- Přiřazení animací prvkům v Sidebaru --- */
.profile-photo-wrapper {
  opacity: 0;
  animation: fadeInLeft 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: 0.1s;
}

@keyframes photoRotate {
  0%   { transform: rotate(-2deg); }
  50%  { transform: rotate(2deg); }
  100% { transform: rotate(-2deg); }
}

.profile-photo {
  animation: photoRotate 6s ease-in-out infinite;
}

.profile-name {
  opacity: 0;
  animation: fadeInScale 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  animation-delay: 0.1;
}

.sidebar-line {
  transform: scaleX(0);
  animation: scaleLine 0.4s ease-out forwards;
  animation-delay: 0.1s;
}

.profile-contacts .contact-link {
  opacity: 0;
  animation: fadeInSimple 1s ease-out forwards;
  animation-delay: 0.5s;
}

/* --- Jemný nástup sekcí při scrollování do pohledu (třídu přidává script.js) --- */
.content-section {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.content-section.in-view {
  opacity: 1;
  transform: translateY(0);
}


/* ==========================================================================
   ANIMOVANÝ PODPIS V PRAVÉM DOLNÍM ROHU (Posun doleva dolů s odhalováním)
   ========================================================================== */

.moving-signature-wrapper {
  position: fixed;
  /* Pozicujeme odspodu a zprava, ale necháme bezpečný manipulační prostor */
  bottom: -10vh;
  right: 10vw;
  z-index: 10;  /* Nad pozadím webu, ale pod lightboxem (9999) */
  pointer-events: none; /* Kliknutí projdou skrz na prvky portfolia */
  overflow: visible;
}

/* Nastavení pro DESKTOP (půlka výšky obrazovky) */
.moving-signature {
  height: 40vh; /* */
  width: auto; /* */
  display: block; /* */
  opacity: 0.15; /* Decentní poloprůhlednost na pozadí */
  filter: none;

  /* Spuštění plynulé animace směrem doleva dolů */
  animation: revealSignature 20s linear infinite alternate;
}
/* Zastavení animace podpisu, když je otevřený lightbox */
.moving-signature.paused {
  animation-play-state: paused !important;
  will-change: auto !important; /* Uvolní paměť na grafické kartě */
}
/* Pohyb pro desktop: Sjíždění šikmo doleva a dolů */
@keyframes revealSignature {
  0% {
    /* Výchozí stav: podpis je z velké části schovaný vpravo nahoře.
       Viditelný je pouze jeho začátek (levá část obrázku). */
    transform: translate(60%, -10%);
  }
  100% {
    /* Plynule sjíždí směrem doleva dolů.
       Tím se do obrazovky vtahuje a odhaluje jeho pravá část (příjmení). */
    transform: translate(35%, 10%);
  }
}

/* ==========================================================================
   RESPONSIVE ÚPRAVA PRO MOBIL
   ========================================================================== */
@media (max-width: 768px), (orientation: landscape) and (max-width: 1000px) {
  .moving-signature-wrapper {
    bottom: -8vh;
    right: 10vw;
  }

  /* Nastavení pro MOBIL (Celá šířka displeje) */
  .moving-signature {
    width: 120vw; /* ZVĚTŠENO: Podpis nyní zabírá 100 % šířky obrazovky */
    height: auto; /* Proporcionální dopočet výšky */
    opacity: 0.12; /* Jemnější průhlednost pro mobily */
    filter: none;

    /* Pomalá, elegantní animace na mobilu */
    animation: revealSignatureMobile 20s linear infinite alternate;
  }

  /* Pohyb pro mobil: Upravený sklon a rozsahy pro nudlovitý displej telefonu */
  @keyframes revealSignatureMobile {
    0% {
      /* Na začátku vykukuje jen levý okraj obřího podpisu */
      transform: translate(40%, -10%);
    }
    100% {
      /* Podpis sjede doleva dolů a odhalí se v celé své monumentální šířce */
      transform: translate(15%, 15%);
    }
  }
}

/* ==========================================================================
   RESPONSIVE ÚPRAVA PRO MOBIL
   ========================================================================== */
@media (max-width: 768px), (orientation: landscape) and (max-width: 1000px) {
  .moving-signature-wrapper {
    bottom: -8vh;
    right: 10vw;
  }

  /* Nastavení pro MOBIL NA VÝŠKU (Portrait) */
  .moving-signature {
    width: 120vw;
    height: auto;
    opacity: 0.12;
    filter: none;

    animation: revealSignatureMobile 20s linear infinite alternate;
  }

  @keyframes revealSignatureMobile {
    0% {
      transform: translate(40%, -10%);
    }
    100% {
      transform: translate(15%, 15%);
    }
  }
}

/* --- Doplňující pravidlo pro MOBIL NA ŠÍŘKU (Landscape) --- */
@media (max-height: 500px) and (orientation: landscape), (max-width: 1000px) and (orientation: landscape) {
  .moving-signature {
    /* Místo 120vw nastavíme velikost závislou na výšce displeje jako u desktopu */
    width: auto !important;
    height: 45vh !important;
    opacity: 0.12;

    /* Použijeme jemnější animaci posunu uzpůsobenou širšímu obrazu */
    animation: revealSignatureLandscape 20s linear infinite alternate !important;
  }

  @keyframes revealSignatureLandscape {
    0% {
      transform: translate(50%, -10%);
    }
    100% {
      transform: translate(20%, 10%);
    }
  }
}