/* ----- ZÁKLADNÍ FONT ----- */
body {
    font-family: 'Inter', Arial, Helvetica, sans-serif;
}

/* ----- MOBILNÍ MENU ----- */
.mobile-menu-link {
    display: block; 
    padding: 0.75rem 1.5rem; 
    font-size: 1rem; 
    font-weight: 500; 
    color: #374151; 
    transition: background-color 0.2s; 
}
.mobile-menu-link:hover {
    background-color: #f3f4f6;
}

/* ----- Taby v ceníku ----- */
.tab-button {
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    color: #6b7280;
    border-bottom: 3px solid transparent;
    transition: all 0.2s ease-in-out;
    background: none;
}
.tab-button:hover { color: #111827; }
.tab-button.active[data-tab="offline"] { color: #10B981; border-bottom-color: #10B981; }
.tab-button.active[data-tab="cloud"] { color: #3B82F6; border-bottom-color: #3B82F6; }

/* ----- Výstražný blok ----- */
section.bg-red-50 {
    border-bottom: 2px solid #e53e3e;
    font-size: 1.05rem;
    letter-spacing: 0.01em;
}

/* ----- Scénáře: jemné stínování a hover ----- */
#use-cases .rounded-lg {
    border: 1.5px solid #e2e8f0;
    transition: box-shadow 0.25s, transform 0.15s;
}
#use-cases .rounded-lg:hover {
    box-shadow: 0 6px 30px -4px rgba(16,185,129,0.15), 0 2px 8px -1px rgba(52, 211, 153, 0.11);
    transform: translateY(-3px) scale(1.035);
}

/* ----- Testimonials slider ----- */
.testimonial-slider-container {
    overflow: hidden; 
    position: relative; 
    padding: 0 40px;
    margin-bottom: 24px;
}
.testimonial-track {
    display: flex;
    transition: transform 0.5s cubic-bezier(.7,.2,.35,1);
    gap: 1.5rem;
}
.testimonial-card {
    flex: 0 0 calc((100% - 3rem) / 3);
    min-width: 0;
}
.testimonial-card > div {
    background: linear-gradient(105deg, #f9fafb 60%, #e0f2fe 100%);
    padding: 2rem;
    border-radius: 0.75rem;
    box-shadow: 0 4px 14px -3px rgba(0,0,0,0.09), 0 1.5px 6px -1px rgba(16,185,129,0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
}
.testimonial-card p.italic {
    flex-grow: 1;
    font-size: 1.05rem;
}
.slider-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: white;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    border: 1px solid #e5e7eb;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.11);
    cursor: pointer;
    color: #333;
    z-index: 10;
    transition: all 0.18s;
}
.slider-btn:disabled {
    opacity: 0.4; 
    cursor: not-allowed;
}
.slider-btn:not(:disabled):hover {
    background-color: #f0f0f0; 
    transform: translateY(-50%) scale(1.11);
}

/* ----- Why-us & requirements cards (větší ikony, jemný hover) ----- */
.why-us-card, .requirements-card, .cooperation-card {
    position: relative;
    overflow: hidden;
    padding: 1.5rem;
    min-height: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    border-radius: 0.8rem;
    transition: box-shadow 0.25s, background 0.25s;
    background: #fff;
    border: 1.5px solid #e2e8f0;
}
.why-us-card i, .requirements-card i, .cooperation-card i {
    transition: transform 0.3s, color 0.3s;
    margin-bottom: 1rem;
    font-size: 3.5rem;
}
.why-us-card:hover i, .requirements-card:hover i, .cooperation-card:hover i {
    transform: scale(1.13) rotate(-5deg);
    color: #059669;
}
.why-us-card:hover, .requirements-card:hover, .cooperation-card:hover {
    background: linear-gradient(120deg, #f0fff4 0%, #ffffff 100%);
    box-shadow: 0 8px 24px -5px rgba(16,185,129,0.10), 0 2px 8px -1px rgba(16,185,129,0.08);
}

/* --- Speciální styly pro sekci Požadavky a Spolupráce --- */
.requirements-list {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
    margin-bottom: 3rem;
}
.requirements-card {
    max-width: 300px;
    margin: 0 auto;
}
@media (max-width: 900px) {
    .requirements-list { flex-direction: column; gap: 1.2rem;}
    .requirements-card { max-width: 100%; }
}
.cooperation-card {
    max-width: 550px;
    margin: 0 auto 2rem auto;
    background: #f6fff4;
    border-left: 4px solid #10B981;
    text-align: left;
}
.cooperation-card h3 {
    color: #059669;
    font-size: 1.22rem;
    font-weight: bold;
    margin-bottom: 1rem;
}
.cooperation-card ol {
    margin: 0 0 0 1.3em;
    padding: 0;
    color: #333;
}
.cooperation-card ol li {
    margin-bottom: 0.7em;
    font-size: 1.07rem;
    line-height: 1.5;
}

@media (max-width: 1024px) {
    .testimonial-card { flex: 0 0 calc((100% - 1.5rem) / 2); }
}
@media (max-width: 767px) {
    .testimonial-slider-container { padding: 0 14px; }
    .testimonial-card { flex: 0 0 100%; }
    .slider-btn { width: 32px; height: 32px; }
    .testimonial-card > div { padding: 1.2rem; }
    .why-us-card, .requirements-card, .cooperation-card { padding: 1rem; min-height: auto; }
    .why-us-card i, .requirements-card i, .cooperation-card i { font-size: 2.3rem; }
    .tab-button { padding: 0.5rem 1rem; font-size: 0.98rem; }
    .cooperation-card { max-width: 100%; }
}

/* ----- Ceník: boxy, štítky ----- */
.tabs .tab-button {
    border-bottom: 2px solid #e5e7eb;
    background: none;
}
.tab-content { transition: opacity 0.2s; }
.tab-content.hidden { display: none; opacity: 0; }

.bg-green-500, .text-green-600, .hover\:text-green-600:hover {
    transition: background .22s, color .22s;
}

/* ----- Formuláře: lepší kontrast focusu ----- */
input[type="text"]:focus, input[type="email"]:focus, textarea:focus, select:focus {
    outline: none !important;
    border-color: #10B981;
    box-shadow: 0 0 0 2px rgba(16,185,129,.15);
}

/* ----- Footer kontrast ----- */
footer {
    letter-spacing: 0.01em;
    font-size: 1.05rem;
}

/* ----- Odstíny zvýraznění scénářů ----- */
.bg-green-50 { background: #f0fdf4 !important; }
.bg-blue-50 { background: #eff6ff !important; }
.bg-yellow-50 { background: #fefce8 !important; }

/* FAQ sekce */
.faq-section {
    background: #f9fafb;
    padding: 60px 0 30px 0;
}

.faq-container {
    max-width: 800px;
    margin: 0 auto;
    background: #fff;
    border-radius: 0.8rem;
    box-shadow: 0 4px 24px -6px rgba(16,185,129,0.08);
    padding: 36px 24px;
}

.faq-item {
    border-bottom: 1px solid #e5e7eb;
    padding: 22px 0 12px 0;
    cursor: pointer;
    transition: background 0.15s;
}

.faq-item:last-child {
    border-bottom: none;
}

.faq-question {
    font-size: 1.17rem;
    font-weight: 600;
    color: #059669;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
    transition: color .15s;
}
.faq-arrow {
    transition: transform .22s;
    margin-left: 8px;
    font-size: 1.25em;
    color: #10b981;
}
.faq-item.active .faq-arrow {
    transform: rotate(90deg);
}
.faq-answer {
    max-height: 0;
    overflow: hidden;
    font-size: 1.03rem;
    color: #444;
    line-height: 1.7;
    transition: max-height 0.35s cubic-bezier(.7,.2,.35,1);
    padding-left: 2px;
}
.faq-item.active .faq-answer {
    max-height: 320px;
    margin-top: 12px;
}

/* Responsivita pro FAQ */
@media (max-width: 600px) {
    .faq-container {
        padding: 18px 5px;
    }
    .faq-question {
        font-size: 1.05rem;
    }
    .faq-answer {
        font-size: 0.97rem;
    }
}
