body { background-color: #ffffff; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
h1, h2, h3 { font-family: '-apple-system', 'SF Pro Display', sans-serif; letter-spacing: -0.02em; }
p, li { font-family: '-apple-system', 'SF Pro Text', sans-serif; letter-spacing: -0.01em; }

.bento-card {
    background-color: #f5f5f7; border-radius: 32px; overflow: hidden;
    transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); position: relative;
}
.bento-card:hover { transform: scale(1.02); background-color: #ffffff; box-shadow: 0 20px 40px -10px rgba(0,0,0,0.08); }

.pricing-card { transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1); }
.pricing-card:hover { transform: translateY(-8px); box-shadow: 0 30px 60px -15px rgba(0,0,0,0.1); }

.floating-nav {
    background: rgba(255, 255, 255, 0.7); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(0,0,0,0.05);
}

.fade-in { animation: fadeIn 0.8s ease-out forwards; opacity: 0; transform: translateY(20px); }
.fade-in-delay-1 { animation-delay: 0.2s; }
@keyframes fadeIn { to { opacity: 1; transform: translateY(0); } }

/* Animace plovoucích karet v Hero sekci */
@keyframes floatCard {
    0%, 100% { transform: translateY(0) rotate(var(--rot)); }
    50% { transform: translateY(-12px) rotate(var(--rot)); }
}
.float-1 { --rot: -4deg; animation: floatCard 6s ease-in-out infinite; }
.float-2 { --rot: 3deg; animation: floatCard 7s ease-in-out infinite 1s; }
.float-3 { --rot: 6deg; animation: floatCard 8s ease-in-out infinite 2s; }

/* Efekt skenování přes obrázek */
@keyframes scan {
    0% { top: -20%; opacity: 0; }
    10% { opacity: 1; }
    90% { opacity: 1; }
    100% { top: 100%; opacity: 0; }
}
.animate-scan {
    animation: scan 3s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.modal-active { overflow: hidden; }
.anim-transition { transition: opacity 0.5s ease-in-out; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
