:root {
    --primary-blue: #003366; /* Tmavě modrá z loga */
    --light-blue: #f0f7ff;
    --silver: #bdc3c7;
    --white: #ffffff;
    --text: #333;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Roboto', sans-serif; line-height: 1.6; color: var(--text); scroll-behavior: smooth; }
.container { max-width: 1100px; margin: auto; padding: 0 20px; }

/* Navigace */
.navbar { background: var(--white); padding: 20px 0; position: sticky; top: 0; z-index: 1000; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.navbar .container { display: flex; justify-content: space-between; align-items: center; }
.logo-text { font-weight: bold; font-size: 1.5rem; color: var(--primary-blue); letter-spacing: 2px; }
.nav-links { display: flex; list-style: none; }
.nav-links li { margin-left: 20px; }
.nav-links a { text-decoration: none; color: var(--primary-blue); font-weight: bold; transition: 0.3s; }
.nav-links a:hover { color: var(--silver); }

/* Hamburger menu */
.hamburger { display: none; flex-direction: column; background: none; border: none; cursor: pointer; padding: 5px; }
.hamburger span { width: 25px; height: 3px; background: var(--primary-blue); margin: 3px 0; transition: 0.3s; }
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translate(8px, 8px); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translate(8px, -8px); }

/* Kontaktní lišta */
.contact-bar { background: rgba(0,0,0,0.3); padding: 10px 0; }
.contact-icons { display: flex; justify-content: flex-end; gap: 25px; align-items: center; flex-wrap: wrap; }
.contact-icons a { color: white; text-decoration: none; display: flex; align-items: center; gap: 8px; transition: 0.3s; font-size: 0.95rem; }
.contact-icons a:hover { color: var(--silver); transform: scale(1.05); }
.contact-icons i { font-size: 1.2rem; }

/* Hero Sekce */
.hero { background: linear-gradient(135deg, #003366 0%, #2980b9 100%); background-size: cover; background-position: center; height: 80vh; display: flex; flex-direction: column; justify-content: center; text-align: center; color: white; }
.hero-content { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.main-logo { max-width: 600px; margin-bottom: 20px; filter: drop-shadow(0 0 10px white); }
.hero h1 { font-size: 3rem; margin-bottom: 10px; }
.btn { background: var(--white); color: var(--primary-blue); padding: 12px 30px; text-decoration: none; border-radius: 5px; font-weight: bold; display: inline-block; margin-top: 20px; transition: 0.3s; border: none; cursor: pointer; }
.btn:hover { background: var(--silver); }

/* Sekce */
section { padding: 80px 0; }
.section-title { text-align: center; margin-bottom: 40px; color: var(--primary-blue); font-size: 2rem; position: relative; }
.section-title::after { content: ''; width: 50px; height: 3px; background: var(--primary-blue); position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); }

/* Mřížka vlastností */
.grid-3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }
.feature-card { text-align: center; padding: 30px; background: var(--light-blue); border-radius: 10px; border-bottom: 4px solid var(--primary-blue); }

/* Reference Před/Po */
.ref-grid { display: flex; flex-direction: row; flex-wrap: wrap; gap: 40px; justify-content: center; }
.ref-item { flex: 0 1 45%; min-width: 300px; }
.comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.compare-box { position: relative; }
.compare-box img { width: 100%; border-radius: 5px; border: 1px solid var(--silver); }
.label { position: absolute; top: 10px; left: 10px; background: rgba(0,0,0,0.6); color: white; padding: 5px 10px; font-size: 0.8rem; border-radius: 3px; z-index: 5; }
.label.success { background: #27ae60; }
.ref-desc { text-align: center; margin-top: 10px; font-style: italic; color: #888 !important; }

/* Hover efekt pro přepínání obrázků */
.comparison-hover { display: flex; justify-content: center; }
.image-hover-box { position: relative; width: 75%; max-width: 600px; cursor: pointer; }
.image-hover-box img { width: 100%; border-radius: 5px; border: 1px solid var(--silver); transition: opacity 0.3s ease; }
.image-hover-box .img-after { position: relative; z-index: 2; }
.image-hover-box .img-before { position: absolute; top: 0; left: 0; opacity: 0; z-index: 1; }
.image-hover-box:hover .img-after { opacity: 0; }
.image-hover-box:hover .img-before { opacity: 1; }

/* Certifikáty */
.cert-gallery { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; }
.cert-gallery img { height: 200px; border: 1px solid var(--silver); padding: 5px; transition: transform 0.3s ease; cursor: pointer; }
.cert-gallery img:hover { transform: scale(2.5); z-index: 10; }

/* Kontakt */
.contact-wrapper { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; }
form { display: flex; flex-direction: column; gap: 15px; }
form input, form textarea { padding: 12px; border: 1px solid var(--silver); border-radius: 5px; width: 100%; }
.captcha-box { background: var(--light-blue); padding: 15px; border-radius: 5px; display: flex; align-items: center; gap: 10px; }

/* O firmě */
.about-company { background: var(--light-blue); }
.about-content { max-width: 800px; margin: 0 auto; text-align: justify; line-height: 1.8; }
.about-content p { margin-bottom: 20px; }
.about-content .signature { text-align: right; margin-top: 30px; font-style: italic; }

footer { background: var(--primary-blue); color: white; text-align: center; padding: 20px 0; }

/* Responzivita */
@media (max-width: 768px) {
    .hamburger { display: flex; }
    .nav-links { 
        display: none; 
        flex-direction: column; 
        position: absolute; 
        top: 70px; 
        left: 0; 
        width: 100%; 
        background: var(--white); 
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        padding: 20px 0;
    }
    .nav-links.active { display: flex; }
    .nav-links li { margin: 10px 0; text-align: center; }
    .logo-text { font-size: 1rem; max-width: 60%; }
    .comparison { grid-template-columns: 1fr; }
    .contact-wrapper { grid-template-columns: 1fr; }
    .hero h1 { font-size: 2rem; }
    .contact-icons { justify-content: center; font-size: 0.85rem; gap: 15px; }
    .contact-icons a { font-size: 0.8rem; }
    .main-logo { max-width: 90%; }
}