@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');

/* Pokročilá ochrana proti výběru textu (ztížení kopírování pro běžné uživatele) */
body {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Custom Fire Cursor CSS */
@media (pointer: fine) {
    * { cursor: none !important; }
}
.cursor-flame {
    position: fixed;
    top: 0; left: 0;
    width: 32px; height: 32px;
    background: radial-gradient(circle, rgba(255,145,0,0.8) 0%, rgba(255,61,0,0.6) 40%, transparent 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 2147483647;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 20px rgba(255,61,0,0.5), 0 0 40px rgba(255,145,0,0.3);
    transition: width 0.2s, height 0.2s, background 0.2s;
    mix-blend-mode: normal;
    will-change: transform, left, top;
}
.cursor-trail {
    position: fixed;
    width: 14px; height: 14px;
    background: #ff3d00;
    border-radius: 50%;
    pointer-events: none;
    z-index: 2147483646;
    opacity: 0.8;
    transform: translate(-50%, -50%);
    animation: burnOut 0.8s forwards;
    mix-blend-mode: normal;
    filter: blur(2px);
}
@keyframes burnOut {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; background: #ff9100; }
    50% { background: #ff3d00; opacity: 0.5; }
    100% { transform: translate(-50%, -100px) scale(0); opacity: 0; background: #1c1e21; filter: blur(4px); }
}

/* Slider */
.slider-container { position: relative; width: 100%; height: 100vh; overflow: hidden; }
.slide { position: absolute; inset: 0; opacity: 0; transition: opacity 2s ease-in-out, transform 8s ease-out; transform: scale(1.05); z-index: 0; }
.slide.active { opacity: 1; transform: scale(1); z-index: 10; }
.slide-bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-attachment: fixed; }
.slide-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(28, 30, 33, 0.7), rgba(28, 30, 33, 0.95)); }

.grill-card {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.grill-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 25px -5px rgba(249, 115, 22, 0.1), 0 10px 10px -5px rgba(249, 115, 22, 0.04);
}

/* Modal animations */
#orderModal[data-state="open"] {
    opacity: 1;
    pointer-events: auto;
}
#orderModal[data-state="closed"] {
    opacity: 0;
    pointer-events: none;
}
#modalContent {
    transition: transform 0.3s ease-out;
    transform: scale(0.95);
}
#orderModal[data-state="open"] #modalContent {
    transform: scale(1);
}

/* Parallax */
.hero-parallax {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

@keyframes flicker {
    0% { opacity: 0.25; transform: scale(1) translateY(0) rotate(0deg); }
    25% { opacity: 0.45; transform: scale(1.05) translateY(-5px) rotate(1deg); }
    50% { opacity: 0.35; transform: scale(0.95) translateY(2px) rotate(-1deg); }
    75% { opacity: 0.55; transform: scale(1.1) translateY(-8px) rotate(2deg); }
    100% { opacity: 0.25; transform: scale(1) translateY(0) rotate(0deg); }
}

@keyframes floatUp {
    0% { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
    15% { opacity: 1; }
    50% { transform: translateY(-300px) translateX(25px) scale(0.8); opacity: 0.8; }
    80% { transform: translateY(-500px) translateX(-15px) scale(0.4); opacity: 0.4; }
    100% { transform: translateY(-800px) translateX(20px) scale(0); opacity: 0; }
}

.spark {
    position: absolute;
    background: #ffbd59;
    border-radius: 50%;
    box-shadow: 0 0 10px #ff5a00, 0 0 20px #ff5a00, 0 0 4px #fff;
    pointer-events: none;
    mix-blend-mode: screen;
    z-index: 5;
}