/* ============================================================
   Sdílené animace a mikro-interakce (veřejné stránky)
   Extrahováno z duplikovaných inline <style> bloků stránek
   (index, article, archive, contact, page, personalities,
   personality, tag, about) a z public/header.php (mobilní menu).
   ============================================================ */

/* --- Card reveal animation --------------------------------- */
@keyframes cardReveal { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

.article-card { animation: cardReveal 0.5s ease-out both; }
.article-card:nth-child(1) { animation-delay: 0.05s; }
.article-card:nth-child(2) { animation-delay: 0.1s; }
.article-card:nth-child(3) { animation-delay: 0.15s; }
.article-card:nth-child(4) { animation-delay: 0.2s; }
.article-card:nth-child(5) { animation-delay: 0.25s; }
.article-card:nth-child(6) { animation-delay: 0.3s; }
.article-card:nth-child(7) { animation-delay: 0.35s; }
.article-card:nth-child(8) { animation-delay: 0.4s; }
.article-card:nth-child(9) { animation-delay: 0.45s; }
.article-card:nth-child(10) { animation-delay: 0.5s; }
.article-card:nth-child(11) { animation-delay: 0.55s; }
.article-card:nth-child(12) { animation-delay: 0.6s; }

/* Kommentare - diskuze */
.comment-card { animation: cardReveal 0.3s ease; }
.like-btn.liked .like-icon { color: var(--bs-red); }

/* --- Gradient shimmer for loading -------------------------- */
@keyframes shimmer { 0% { background-position: -200% 0; } 100% { background-position: 200% 0; } }

.sidebar-ad-placeholder { position: relative; overflow: hidden; }
.sidebar-ad-placeholder::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); background-size: 200% 100%; animation: shimmer 3s infinite; pointer-events: none; }

/* --- Card hover lift (about, contact) ----------------------- */
.card-hover-lift { transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; }
.card-hover-lift:hover { transform: translateY(-4px); }

/* --- Mobilní navigace (přesunuto z public/header.php) ------- */
@media (max-width: 767px) {
    .nav-desktop { display: none !important; }
    .nav-mobile-btn { display: flex !important; }
}
.nav-mobile-btn { display: none; }
.nav-mobile-overlay {
    position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 100;
    opacity: 0; pointer-events: none; transition: opacity 0.3s;
}
.nav-mobile-overlay.open { opacity: 1; pointer-events: auto; }
.nav-mobile-panel {
    position: fixed; top: 0; right: 0; bottom: 0; width: 280px;
    background: white; z-index: 101; transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex; flex-direction: column; padding: 1.5rem;
}
.nav-mobile-panel.open { transform: translateX(0); }
