/* Základní nastavení těla pro Tailwind Theme */
body {
    background-color: #0a0502;
    color: #f8fafc;
    -webkit-font-smoothing: antialiased;
}

/* Hero pozadí s Fallbackem na složku img/ */
.hero-bg {
    background-image: linear-gradient(to bottom, rgba(10, 5, 2, 0.5), rgba(10, 5, 2, 0.95)), url('img/pozadi.jpg');
    background-size: cover;
    background-position: left;
    background-attachment: scroll; 
}
@media (min-width: 1024px) {
    .hero-bg {
        background-attachment: fixed;
    }
}

/* Skleněné karty vylepšené UX */
.glass-card {
    background: rgba(20, 10, 5, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid #29150a;
    box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.8);
    transition: all 0.4s ease;
    cursor: pointer;
}
.glass-card:hover {
    background: rgba(30, 15, 8, 0.9);
    border-color: rgba(249, 115, 22, 0.4);
    transform: translateY(-4px);
    box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.9), 0 0 30px rgba(249, 115, 22, 0.15);
}
.glass-card:active {
    background: rgba(40, 20, 10, 0.95);
    border-color: rgba(249, 115, 22, 0.8);
    transform: scale(0.98);
    transition: all 0.1s ease;
}

/* Reveal animace při scrollování */
.reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

/* Custom Scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0a0502; }
::-webkit-scrollbar-thumb { background: #29150a; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #f97316; }

/* Mobilní menu animace */
#mobile-menu {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}
#mobile-menu.open {
    max-height: 300px;
    opacity: 1;
    border-bottom: 1px solid #29150a;
}

/* Custom checkboxy pro konfigurátor */
.config-checkbox {
    appearance: none;
    width: 1.75rem; 
    height: 1.75rem; 
    border: 2px solid #29150a;
    border-radius: 0.375rem;
    background-color: #0a0502;
    position: relative;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
}
.config-checkbox:hover:not(:disabled) {
    border-color: #10b981;
    box-shadow: 0 0 10px rgba(16, 185, 129, 0.2);
}
.config-checkbox:checked {
    background-color: #140a05;
    border-color: #10b981;
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.2); 
}
.config-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 40%;
    width: 6px;
    height: 14px;
    border: solid #10b981;
    border-width: 0 3px 3px 0; 
    transform: translate(-50%, -50%) rotate(45deg);
}
.config-checkbox:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: #0a0502;
    border-color: #4b5563;
    box-shadow: none;
}
.config-checkbox:disabled:checked::after {
    border-color: #9ca3af;
}

/* Animace pro Modaly */
.modal-overlay {
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    backdrop-filter: blur(5px);
}
.modal-overlay.open {
    opacity: 1;
    visibility: visible;
}
.modal-content {
    transform: scale(0.95) translateY(20px);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal-overlay.open .modal-content {
    transform: scale(1) translateY(0);
    opacity: 1;
}