:root {
    /* Barvy */
    --primary: #000000;       /* Čistá černá pro BETONITE */
    --secondary: #555555;     /* Tmavě šedá */
    --tertiary: #999999;      /* Světlejší šedá */
    --accent: #aaaaaa;        /* Šedý akcent místo původní barvy */
    --accent-hover: #333333;

    --bg-body: #ffffff;
    --bg-light: #f8f9fa;
    --bg-admin: #f3f4f6;
    --bg-card: #ffffff;
    --bg-input: #ffffff;

    --border: #e2e2e2;
    --success: #2ecc71;
    --warning: #f39c12;
    --danger: #e74c3c;
    --info: #3498db;

    /* Efekty */
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.04);
    --shadow-md: 0 8px 24px rgba(0,0,0,0.08);
    --shadow-lg: 0 15px 40px rgba(0,0,0,0.12);
    --radius: 6px;

    /* Typografie */
    --font-heading: 'Playfair Display', serif;
    --font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --header-height: 80px;
}

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

body {
    font-family: var(--font-body);
    color: var(--primary);
    line-height: 1.6;
    background-color: var(--bg-body);
    display: flex; flex-direction: column; min-height: 100vh;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5 {
    font-family: var(--font-heading);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
    color: var(--primary);
}

a { text-decoration: none; color: inherit; transition: 0.3s; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; object-fit: cover; }

/* --- UTILITY (LAYOUT - GLOBÁLNÍ ZMĚNA) --- */

.container {
    width: 100%;
    max-width: 1800px;
    margin: 0 auto;
    padding: 0 40px;
}

.container-fluid {
    width: 100%;
    max-width: 100%;
    padding: 0 40px;
    margin: 0 auto;
}

.section-margin { margin: 6rem 0; }
.section-padding { padding: 6rem 0; }

.text-center { text-align: center; }
.text-right { text-align: right; }
.w-100 { width: 100%; }
.bg-light { background-color: var(--bg-light); }
main { flex: 1; }

/* RESPONZIVITA PRO BASE (MOBIL) */
@media (max-width: 900px) {
    html { font-size: 14px; }

    .container, .container-fluid {
        padding: 0 30px;
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    .section-margin { margin: 3rem 0; }
    .section-padding { padding: 3rem 0; }

    h1 { font-size: 2.2rem; line-height: 1.2; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.4rem; }
}