/* public/assets/css/base.css */

/* 1. PROMĚNNÉ A ZÁKLADNÍ NASTAVENÍ */
:root {
    /* Barvy - Brand */
    --fl-green-primary: #009B3A;
    --fl-green-dark: #007a2d;
    --fl-green-accent: #00c853;
    --fl-orange-alert: #ff9800;
    --fl-red-danger: #dc3545;

    /* Gradienty */
    --fl-green-rich-gradient: linear-gradient(135deg, var(--fl-green-primary) 0%, var(--fl-green-accent) 100%);
    --fl-bg-gradient-soft: radial-gradient(circle at 50% 0%, #e6f5ea 0%, #f8fafc 100%);
    
    /* Barvy - Neutrální */
    --fl-dark-deep: #050811;
    --fl-dark-panel: #131c33;
    --fl-text-dark: #1a1f2c;
    --fl-heading: #3C3939;
    --fl-heading-accent: #16A34A;
    --fl-button: #009B3A;
    --fl-text-muted: #64748b;
    --fl-border-light: #e2e8f0;
    --fl-white-mute: #f8fafc;
    
    /* Barvy - Doprava */
    --metro-c-color: #cf003d;
    --metro-b-color: #fecb00;
    --tram-color: #a22c29;
    
    /* Efekty */
    --shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 25px 50px -12px rgba(0, 155, 58, 0.15);
    --shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    --card-hover: translateY(-8px) scale(1.01);
    
    /* Fonty */
    --font-tech: 'Rajdhani', sans-serif;
    --font-base: 'Inter', sans-serif;
    --font-heading: 'Montserrat', sans-serif;
    
    /* Rozměry */
    --header-height: 76px; /* Navbar SED layout. Topbar ticker dočasně vypnutý (~36). */
}

/* 2. GLOBAL RESET A HTML */
html {
    scroll-behavior: smooth;
    /* Offset pro kotvy (odkazy s #) */
    scroll-padding-top: calc(var(--header-height) + 20px);
    overflow-x: clip;
}

body {
    font-family: var(--font-base);
    color: var(--fl-text-dark);
    background: #fff;
    overflow-x: clip;
    line-height: 1.6;
    min-height: 100vh;
    
    /* DŮLEŽITÉ: Odsazení obsahu odshora, aby nebyl schovaný pod menu */
    padding-top: var(--header-height); 
}

/* 3. TYPOGRAFIE */
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
    font-family: var(--font-heading);
    font-weight: 800;
    letter-spacing: -0.5px;
    color: var(--fl-text-dark);
}

.font-tech { font-family: var(--font-tech); letter-spacing: 0.5px; }
.ls-1 { letter-spacing: 1px; }
.opacity-50 { opacity: 0.6; }

/* 4. ANIMACE (Scroll Reveal) */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .reveal,
    .reveal.active {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* 5. UTILITY TŘÍDY */
.text-brand-green { color: var(--fl-green-primary) !important; }
.bg-light { background-color: #f8fafc !important; }

/* 6. FIX PRO KOTVY (včetně aside Wi-Fi, article, formulářů) */
section[id],
div[id],
aside[id],
article[id],
form[id],
h2[id],
h3[id] {
    scroll-margin-top: calc(var(--header-height) + 20px);
}

/* 7. Jasné textové odkazy v obsahu (ne tlačítka / karty / navigace / patička) */
.service-page p a:not(.btn):not(.sp-btn):not(.stretched-link),
.service-page li a:not(.btn):not(.sp-btn):not(.stretched-link),
.service-page .wifi-panel-help a,
.contact-page p a:not(.btn):not(.sp-btn):not(.contact-entry-link):not(.quick-contact-card),
.page-content-shell p a:not(.btn):not(.sp-btn):not(.stretched-link) {
    color: var(--fl-green-primary);
    text-decoration: underline;
    text-underline-offset: 0.18em;
    text-decoration-thickness: 1px;
}

.service-page p a:not(.btn):not(.sp-btn):not(.stretched-link):hover,
.service-page li a:not(.btn):not(.sp-btn):not(.stretched-link):hover,
.service-page .wifi-panel-help a:hover,
.contact-page p a:not(.btn):not(.sp-btn):not(.contact-entry-link):not(.quick-contact-card):hover,
.page-content-shell p a:not(.btn):not(.sp-btn):not(.stretched-link):hover {
    color: var(--fl-green-dark);
    text-decoration-thickness: 2px;
}

.site-footer-premium .footer-links a,
.site-footer-premium .footer-bottom-links a {
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
}

.site-footer-premium .footer-links a:hover,
.site-footer-premium .footer-bottom-links a:hover {
    color: #fff;
    text-decoration: none;
}

/* 8. Grid overflow: děti nesmí roztahovat layout */
.bento-grid,
.home-section-head,
.contact-form-layout,
.cr-job-list,
.news-grid {
    min-width: 0;
}

.bento-grid > *,
.contact-form-layout > *,
.news-grid > * {
    min-width: 0;
}