:root {
    --primary: #0056b3;
    --secondary: #ffc107;
    --dark: #212529;
    --light: #f8f9fa;
    --white: #ffffff;
    --gray-blue: #4a627a;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body { 
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    line-height: 1.6; 
    color: var(--dark); 
    scroll-behavior: smooth; 
}

/* Zvětšení kontejneru pro 4 sloupce */
.container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 20px; 
}

/* Oprava kotev pro fixní menu */
section[id] {
    scroll-margin-top: 100px;
}

/* --- HEADER --- */
header { 
    background: var(--gray-blue); 
    color: var(--white); 
    padding: 10px 0; 
    position: sticky; 
    top: 0; 
    z-index: 1000; 
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.header-content { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

.logo img { 
    height: 70px; 
    width: auto;
    display: block;
}

nav a { 
    color: var(--white); 
    text-decoration: none; 
    margin-left: 25px; 
    font-weight: 600; 
    text-transform: uppercase;
    transition: 0.3s;
    position: relative;
}

nav a:hover { color: var(--secondary); }

nav a::after {
    content: '';
    position: absolute;
    width: 0; height: 2px;
    bottom: -5px; left: 0;
    background-color: var(--secondary);
    transition: width 0.3s;
}

nav a:hover::after { width: 100%; }

/* --- HERO --- */
.hero { 
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); 
    padding: 80px 0; 
}

.hero-grid { 
    display: grid; 
    grid-template-columns: 1.2fr 0.8fr; 
    gap: 40px; 
    align-items: center; 
}

.hero-text h1 { font-size: 2.8rem; color: var(--primary); margin-bottom: 25px; line-height: 1.1; }

.hero-img img { 
    width: 100%; 
    max-width: 280px; 
    border-radius: 50%; 
    border: 8px solid white; 
    box-shadow: 0 10px 25px rgba(0,0,0,0.1); 
}

/* --- SLUŽBY - OPRAVENO NA 4 SLOUPCE --- */
.section-title { 
    text-align: center; 
    margin: 50px 0 40px; 
    font-size: 2.3rem; 
    color: var(--primary); 
}

.services { padding-bottom: 80px; }

.services-grid { 
    display: grid; 
    grid-template-columns: repeat(4, 1fr); /* Toto zajistí 4 sloupce */
    gap: 20px; 
}

.service-card { 
    background: var(--white); 
    padding: 25px 15px; 
    border-radius: 10px; 
    text-align: center; 
    transition: 0.3s;
    border: 1px solid #eee;
}

.service-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 8px 20px rgba(0,0,0,0.08); 
}

.service-card i { 
    font-size: 2.2rem; 
    color: var(--primary); 
    margin-bottom: 15px; 
}

.service-card h3 {
    margin-bottom: 10px;
    font-size: 1.1rem;
    color: var(--dark);
}

.service-card p {
    font-size: 0.85rem;
    color: #666;
    line-height: 1.4;
}

/* --- OSTATNÍ SEKCE --- */
.pricing { background: var(--light); padding: 80px 0; }
.table-wrapper { overflow-x: auto; background: white; border-radius: 15px; box-shadow: 0 5px 20px rgba(0,0,0,0.05); }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 15px 20px; border-bottom: 1px solid #eee; text-align: left; }
th { background: var(--primary); color: white; }

.references { padding: 80px 0; text-align: center; }
.ref-box { padding: 50px 30px; background: #f0f4f8; border-radius: 20px; max-width: 800px; margin: 0 auto; }
.btn-insta { display: inline-block; padding: 15px 30px; background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); color: white; text-decoration: none; border-radius: 50px; font-weight: bold; margin-top: 20px; transition: 0.3s; }
.btn-insta:hover { transform: scale(1.05); }

.contact { padding: 80px 0; background: var(--light); }
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.contact-info a { color: var(--primary); text-decoration: none; font-weight: bold; }
.work-hours { background: var(--white); padding: 25px; border-radius: 12px; }
.alert { background: #fff3cd; padding: 15px; border-left: 5px solid var(--secondary); margin-top: 15px; font-size: 0.9rem; }

footer { background: var(--dark); color: rgba(255,255,255,0.6); text-align: center; padding: 30px 0; font-size: 0.85rem; }

/* --- RESPONZIVITA --- */
@media (max-width: 1100px) {
    .services-grid { grid-template-columns: repeat(3, 1fr); } /* 3 na menším desktopu */
}

@media (max-width: 850px) {
    .services-grid { grid-template-columns: repeat(2, 1fr); } /* 2 na tabletu */
}

@media (max-width: 768px) {
    .header-content { flex-direction: column; gap: 10px; }
    .logo img { height: 55px; }
    nav a { margin: 0 8px; font-size: 0.8rem; }
    .hero-grid, .contact-grid { grid-template-columns: 1fr; text-align: center; }
    .hero-img { order: -1; }
    .hero-text h1 { font-size: 2rem; }
}

@media (max-width: 500px) {
    .services-grid { grid-template-columns: 1fr; } /* 1 na mobilu */
}