/* =========================================
   PROJECT PAGE — standalone case study
   Každá stránka si v <head> přepíše --accent na barvu své značky.
   ========================================= */
.project-page {
    background: #050505;
    color: var(--white);
}

/* Globální `section` je skrytá dokud ji nezviditelní IntersectionObserver.
   Stránka projektu žádný takový skript nemá, takže reveal vypínáme. */
.project-page section {
    opacity: 1;
    transform: none;
    max-width: none;
    margin: 0;
    padding: 0;
}

/* ---- Header ---- */
.pp-header {
    position: fixed;
    top: 0; left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem clamp(1.2rem, 4vw, 3rem);
    background: linear-gradient(to bottom, rgba(5, 5, 5, 0.92), rgba(5, 5, 5, 0));
    backdrop-filter: blur(6px);
}

.pp-logo {
    display: block;
    line-height: 0;
}

.pp-logo img {
    width: 58px;
    height: auto;
}

.pp-back {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #999;
    transition: color var(--transition-base);
}

.pp-back:hover { color: var(--accent); }

/* Přepínač jazyka. Vypadá jako `.pp-back`, jen s rámečkem, aby bylo poznat,
   že to není odkaz pryč ze stránky. */
.pp-header-right {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.pp-lang {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #999;
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 4px;
    padding: 0.35rem 0.6rem;
    transition: color var(--transition-base), border-color var(--transition-base);
}

.pp-lang:hover {
    color: var(--accent);
    border-color: var(--accent);
}

/* ---- Hero ---- */
.pp-hero {
    padding: 10rem clamp(1.2rem, 4vw, 3rem) 4rem !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

.pp-eyebrow {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 1.25rem;
}

.pp-title {
    font-family: var(--font-heading);
    font-size: clamp(3rem, 11vw, 8rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.03em;
    margin-bottom: 2rem;
}

.pp-lead {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    line-height: 1.65;
    color: #bbb;
    max-width: 46ch;
    margin-bottom: 3.5rem;
}

.pp-meta {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 2rem;
    padding: 2rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.pp-meta-item {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.pp-meta-label {
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #666;
}

.pp-meta-value {
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 700;
    color: var(--white);
}

.pp-hero-image {
    margin-top: 4rem;
}

.pp-hero-image img {
    width: 100%;
    height: auto;
    border-radius: 16px;
}

/* ---- Body ---- */
.pp-body {
    padding: 6rem clamp(1.2rem, 4vw, 3rem) !important;
}

/* ---- Pixel art ----
   Sprity věží jsou 128×64. Bez tohohle je prohlížeč při zvětšení
   rozmaže do bláta — přesně to, co u pixel artu nechceš. */
.pp-pixel {
    image-rendering: crisp-edges;
    image-rendering: pixelated; /* poslední = vyhrává; širší podpora než crisp-edges */
    width: 100%;
    height: auto;
    background: rgba(255, 255, 255, 0.04);
    padding: 1.5rem;
}

.pp-towers {
    align-items: start;
}

/* ---- Downloads ---- */
.pp-downloads {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-bottom: 2rem;
}

.pp-downloads .pd-btn {
    margin-top: 0;
}

/* Řádek pod tlačítky — nese číslo verze, kterou návštěvník za odkazem uvidí,
   aby case study a živá aplikace nesplyývaly v jedno. */
.pp-downloads-note {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    color: #888;
    text-align: center;
    margin-bottom: 2rem;
}

/* ---- Footer ---- */
.pp-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 4rem clamp(1.2rem, 4vw, 3rem);
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    align-items: center;
    justify-content: space-between;
}

.pp-footer-copy {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    color: #666;
}

.pp-footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.pp-footer-links a {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #999;
    transition: color var(--transition-base);
}

.pp-footer-links a:hover { color: var(--accent); }

@media (max-width: 768px) {
    .pp-hero { padding-top: 7rem !important; }
    .pp-body { padding-top: 3rem !important; padding-bottom: 3rem !important; }
    .pp-meta { gap: 1.25rem; }

    /* Stránka projektu záměrně nelinkuje responsive.css (je psaný pro index),
       takže si mobilní pravidla pro pd-* a lightbox nese sama. */
    .pd-grid-2,
    .comparison-wrapper { grid-template-columns: 1fr; gap: 2rem; }
    .pd-title { font-size: 1.5rem; }
    .pd-section { margin-bottom: 3rem; }

    /* Screenshoty z desktopu jsou na telefonu drobné tak jako tak, ať aspoň
       využijí celou šířku. Zbytek dořeší pinch zoom — viewport ho nezakazuje. */
    .lightbox img { max-width: 100%; max-height: 88vh; border-radius: 0; }
    .lb-arrow { width: 44px; height: 44px; font-size: 1.2rem; }
    .lightbox-controls { padding: 0 0.6rem; }

    /* Dotykové cíle — prst není kurzor, chce to aspoň ~44 px. */
    .pp-header { padding: 0.9rem 1.2rem; }
    .pp-back { padding: 0.85rem 0; }
    .pp-header-right { gap: 0.8rem; }
    .pp-lang { padding: 0.85rem 0.7rem; }
    .pp-logo { padding: 0.6rem 0; }
    .pp-footer { padding: 2.5rem 1.2rem; }
    .pp-footer-links { gap: 0 !important; flex-wrap: wrap; justify-content: center; }
    .pp-footer-links a { padding: 0.85rem 0.9rem; }
    .pd-btn, .pd-next-btn { width: 100%; justify-content: center; text-align: center; }
}
