:root {
    --neon: #39FF14;
    --dark: #000;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: #0d0d0d;
    background-image: linear-gradient(rgba(0,0,0,0.85), rgba(0,0,0,0.85)), url('IMG_5490.jpg');
    background-size: cover;
    background-attachment: fixed;
    color: #fff;
    font-family: 'Inter', sans-serif;
    min-height: 100vh;
}

h1, h2, h3, .btn, .price, .since-text {
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* --- NAVIGÁCIA --- */
nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 40px 10%;
    background: transparent;
    width: 100%;
    z-index: 1000;
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

body:not(.subpage) nav {
    position: absolute;
    top: 0;
}

body.subpage nav {
    position: relative;
    padding: 30px 10%;
}

.logo-link {
    display: inline-block;
    transition: transform 0.3s ease;
    text-decoration: none;
}

.logo-link:hover {
    transform: scale(1.05);
}

.nav-logo { 
    height: 50px; 
    border-radius: 10px; 
}

.since-text { 
    color: var(--neon); 
    font-size: 0.8rem; 
    letter-spacing: 2px; 
}

/* --- HLAVNÁ STRÁNKA --- */
.hero {
    text-align: center;
    padding: 250px 20px 100px 20px;
}

h1 { font-size: clamp(2.2rem, 8vw, 4.5rem); line-height: 1; margin-bottom: 25px; }
.highlight { color: var(--neon); text-shadow: 0 0 25px rgba(57,255,20,0.5); }

.hero-subtext { 
    color: #666;
    margin-bottom: 45px; 
    text-transform: uppercase; 
    font-weight: 700; 
}

/* PRESS SECTION */
.press-section {
    padding: 40px 10%;
    text-align: center;
    background: rgba(255, 255, 255, 0.02);
}

.section-tag {
    color: #444;
    font-size: 0.7rem;
    letter-spacing: 3px;
    font-weight: 900;
    margin-bottom: 30px;
    text-transform: uppercase;
}

.press-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 50px;
    flex-wrap: wrap;
}

.press-item {
    text-decoration: none;
    transition: 0.3s ease;
}

.press-logo {
    color: #666;
    font-weight: 900;
    font-size: 1.2rem;
    letter-spacing: 2px;
}

.press-item:hover .press-logo {
    color: var(--neon);
    text-shadow: 0 0 15px var(--neon);
}

/* SLUŽBY / PROGRAMY */
.services { padding: 60px 10%; text-align: center; }

.grid { 
    display: flex; 
    flex-direction: column; 
    gap: 15px; 
    max-width: 800px; 
    margin: 0 auto; 
}

.card {
    background: rgba(20, 20, 20, 0.9);
    border: 1px solid #222;
    padding: 30px 45px;
    border-radius: 20px;
    text-decoration: none;
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: 0.3s ease;
}

.card:hover { 
    transform: scale(1.02); 
    border-color: var(--neon); 
}

.price { color: var(--neon); font-size: 1.8rem; }

.validity { 
    margin-top: 100px; 
    color: #666; 
    font-size: 0.7rem; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
}

/* INSTAGRAM */
.insta-section { padding: 60px 10%; text-align: center; }

/* PODSTRÁNKY */
.subpage .detail-container {
    max-width: 900px;
    margin: 40px auto;
    padding: 0 10%;
}

.subpage .price-tag {
    font-size: 1.8rem;
    font-weight: 900;
    color: #444;
    margin-bottom: 30px;
}

.subpage .description-box { line-height: 1.8; }
.subpage .description-box p { font-size: 1.1rem; color: #ccc; margin-bottom: 30px; }
.subpage .check-list { list-style: none; margin: 30px 0 50px 0; }
.subpage .check-list li { font-size: 1.1rem; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }

/* TLAČIDLO */
.btn {
    background: var(--neon);
    color: #000;
    padding: 25px 70px;
    text-decoration: none;
    border-radius: 50px;
    display: inline-block;
    font-size: 1.2rem;
    transition: 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 0 20px rgba(57, 255, 20, 0.5);
    animation: pulseNeon 2s infinite;
}

.btn:hover { transform: scale(1.1) translateY(-5px); box-shadow: 0 0 45px var(--neon); }

@keyframes pulseNeon {
    0% { box-shadow: 0 0 15px rgba(57, 255, 20, 0.3); }
    50% { box-shadow: 0 0 35px rgba(57, 255, 20, 0.7); }
    100% { box-shadow: 0 0 15px rgba(57, 255, 20, 0.3); }
}

footer { padding: 80px 20px; text-align: center; color: #1a1a1a; font-size: 0.8rem; }

@media (max-width: 600px) {
    .press-grid { gap: 30px; }
    .press-logo { font-size: 1rem; }
}