/* Vlastní styly pro Web šablonu 7: Barva */
:root {
    --font-family: 'Poppins', sans-serif;
    --color-primary: #111827; /* Tmavě šedá/modrá */
    --color-secondary: #4b5563; /* Středně šedá */
    --color-bg: #f9fafb; /* Velmi světle šedá */
}
body {
    font-family: var(--font-family);
    background-color: var(--color-bg);
    color: var(--color-primary);
}

/* Animované pozadí */
.animated-gradient {
    background: linear-gradient(-45deg, #ef4444, #f97316, #eab308, #84cc16, #22c55e, #14b8a6, #06b6d4, #3b82f6, #8b5cf6, #d946ef);
    background-size: 400% 400%;
    animation: gradient-animation 20s ease infinite;
}
@keyframes gradient-animation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Skleněná navigace */
.glass-nav {
    background: rgba(17, 24, 39, 0.6);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.nav-link { padding: 0.5rem 1rem; color: #d1d5db; font-weight: 600; transition: color 0.3s, background-color 0.3s; border-radius: 9999px; }
.nav-link:hover { color: #ffffff; background-color: rgba(255, 255, 255, 0.1); }
.nav-cta { background-color: #facc15; color: var(--color-primary); padding: 0.5rem 1.5rem; border-radius: 9999px; font-weight: 700; transition: transform 0.3s, background-color 0.3s; }
.nav-cta:hover { background-color: #fde047; transform: scale(1.05); }

/* Mobilní menu */
.glass-nav-mobile { background: rgba(17, 24, 39, 0.95); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.mobile-nav-link { display: block; text-align: center; padding: 1rem; font-size: 1.25rem; color: white; font-weight: 600; }
.mobile-nav-cta { display: block; text-align: center; margin: 1rem; padding: 1rem; background-color: #facc15; color: var(--color-primary); border-radius: 9999px; font-weight: 700; }

/* Obecné styly sekcí */
.section-title {
    font-size: 2.25rem;
    font-weight: 700;
    text-align: center;
    color: var(--color-primary);
}

/* Karty služeb */
.service-card { background-color: white; border-radius: 0.75rem; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); transition: transform 0.3s, box-shadow 0.3s; padding: 2rem; text-align: center; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1); }
.card-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; }
.card-text { color: var(--color-secondary); }

/* Galerie */
.portfolio-item {
    overflow: hidden;
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
    aspect-ratio: 4 / 3;
}
.portfolio-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease-out;
}
.portfolio-item:hover img {
    transform: scale(1.05);
}

/* Ceník */
.pricing-card { background-color: white; border-radius: 0.75rem; overflow: hidden; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05); }
.pricing-title { color: white; font-size: 1.25rem; font-weight: 700; padding: 1rem 1.5rem; }
.pricing-item { display: flex; justify-content: space-between; padding: 1rem 1.5rem; border-bottom: 1px solid #e5e7eb; }
.pricing-item:last-child { border-bottom: none; }
.pricing-item span:first-child { color: var(--color-secondary); }
.pricing-item span:last-child { font-weight: 600; color: var(--color-primary); }
.pricing-card ul li:nth-child(even) { background-color: #f9fafb; }

/* Reference */
.testimonial-card-new { background: white; padding: 2rem; border-radius: 0.75rem; text-align: center; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.07); position: relative; min-height: 280px; display: flex; flex-direction: column; justify-content: center; height: 100%; }
.testimonial-avatar { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; margin: 0 auto 1rem auto; border: 4px solid white; box-shadow: 0 4px 10px rgba(0,0,0,0.1); }
.testimonial-rating { color: #f59e0b; font-size: 1.25rem; margin-bottom: 1rem; }
.testimonial-text-new { font-size: 1.125rem; font-style: italic; color: var(--color-secondary); margin-bottom: 1rem; flex-grow: 1; }
.testimonial-author-new { font-weight: 700; color: var(--color-primary); }
.testimonial-quote-icon { position: absolute; top: 1rem; left: 1rem; font-size: 5rem; line-height: 1; color: #f3f4f6; z-index: 0; }
.swiper-container.testimonial-slider-new { padding-bottom: 3rem; }
.testimonial-slider-new .swiper-slide { height: auto; }

/* ZMĚNA ZDE: Odstraněna třída pro paginaci */

/* Formulář */
.form-input { width: 100%; padding: 0.75rem 1rem; background-color: rgba(255, 255, 255, 0.2); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 0.5rem; color: white; transition: background-color 0.3s, border-color 0.3s; }
.form-input::placeholder { color: #d1d5db; }
.form-input:focus { outline: none; background-color: rgba(255, 255, 255, 0.3); border-color: #facc15; }

/* ZMĚNA ZDE: Nové styly pro plovoucí navigační tlačítka */
.floating-nav-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: white;
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    transition: all 0.3s ease;
    z-index: 50;
    background: linear-gradient(-45deg, #ef4444, #e73c7e, #23a6d5, #23d5ab);
    background-size: 400% 400%;
    animation: gradient-animation 15s ease infinite;
}
.floating-nav-button:hover {
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

/* Responzivita */
@media (max-width: 767px) {
    .section-title { font-size: 1.75rem; }
}