/* --- ZÁKLADNÉ NASTAVENIA --- */
:root {
    --primary: #00A8CC;
    --primary-dark: #008eb0;
    --dark: #1a1a1a;
    --gray-bg: #f9f9f9;
    --white: #ffffff;
    --transition: all 0.3s ease-in-out;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; line-height: 1.6; color: var(--dark); overflow-x: hidden; background: #fff; }
.container { width: 90%; max-width: 1100px; margin: auto; }

/* --- CENTROVANÉ NADPISY SEKCIÍ --- */
.section-title { 
    text-align: center; 
    margin-bottom: 40px; 
    font-size: 2.5rem; 
    font-family: 'Montserrat', sans-serif; 
    width: 100%;
}

/* --- HEADER (Úplne vycentrovaný celok) --- */
header { padding: 40px 0; background: var(--white); border-bottom: 1px solid #eee; }
.brand-wrapper {
    display: flex;
    flex-direction: column; /* Logo nad textom */
    align-items: center;    /* Horizontálne na stred */
    justify-content: center;
    text-align: center;
    gap: 15px;
}

.logo {
    width: 120px; /* Väčšie logo */
    height: auto;
    max-height: 120px;
    object-fit: contain;
}

.brand-text {
    font-family: 'Montserrat', sans-serif;
    font-size: 2.5rem;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
}
.brand-text .city { color: var(--primary); }

/* --- HERO --- */
.hero { background: var(--primary); color: var(--white); padding: 80px 0; text-align: center; }
.hero h2 { font-size: 2.8rem; margin-bottom: 10px; font-family: 'Montserrat'; }

/* --- SLUŽBY --- */
.services { padding: 80px 0; }
.work-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.work-item {
    background: var(--gray-bg);
    padding: 40px 20px;
    border-radius: 15px;
    text-align: center;
    font-weight: 600;
    border-bottom: 5px solid var(--primary);
    transition: var(--transition);
}
.work-item:hover {
    transform: translateY(-10px);
    background: var(--primary);
    color: var(--white);
}

/* --- GALÉRIA --- */
.gallery-section { padding: 60px 0; }
.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; }
.gallery-item img {
    width: 100%; height: 250px; object-fit: cover;
    border-radius: 20px; transition: var(--transition);
}
.gallery-item img:hover { transform: scale(1.05); }
.empty-msg { text-align: center; width: 100%; color: #999; }

/* --- KONTAKT --- */
.contact { padding: 80px 0; background: var(--gray-bg); }
form { max-width: 600px; margin: auto; text-align: center; }
input, textarea { 
    width: 100%; padding: 15px; margin-bottom: 15px; 
    border: 1px solid #ddd; border-radius: 10px; font-family: inherit;
}
.gdpr-notice { font-size: 0.85rem; color: #777; margin-bottom: 15px; }
.btn { 
    width: 100%; padding: 18px; background: var(--primary); 
    color: white; border: none; border-radius: 10px; font-weight: 700; 
    cursor: pointer; transition: var(--transition);
}
.btn:hover { background: var(--primary-dark); }
.success-msg { text-align: center; background: #d4edda; color: #155724; padding: 15px; border-radius: 10px; margin-bottom: 20px; }

/* --- FOOTER --- */
footer { padding: 60px 0 30px; background: var(--dark); color: #ccc; }
.footer-content { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.footer-info h3, .footer-gdpr h3 { color: var(--white); margin-bottom: 15px; }
.footer-info a { color: var(--primary); text-decoration: none; font-weight: 600; }
.webmail-link { margin-top: 15px; font-size: 0.8rem; opacity: 0.5; }
.footer-copy { grid-column: 1 / -1; text-align: center; border-top: 1px solid #333; padding-top: 20px; margin-top: 30px; font-size: 0.85rem; }

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
    .brand-text { font-size: 1.8rem; }
    .hero h2 { font-size: 2rem; }
    .section-title { font-size: 2rem; }
    .footer-content { grid-template-columns: 1fr; text-align: center; }
}