:root {
    --t-accent: #ff5c35;
    --t-dark: #16181d;
    --t-cream: #faf7f2;
}

body.site {
    background: var(--t-cream);
    color: #1d2129;
    font-feature-settings: "ss01";
}

.site .navbar { background: var(--t-cream); }
.site .navbar-brand { font-weight: 800; letter-spacing: .04em; font-size: 1.4rem; }
.site .navbar-brand .dot { color: var(--t-accent); }
.site .nav-link { font-weight: 500; }

.t-hero {
    background: var(--t-dark);
    color: #fff;
    padding: 6rem 0;
    position: relative;
    overflow: hidden;
}
.t-hero h1 { font-size: clamp(2.2rem, 5vw, 3.8rem); font-weight: 800; line-height: 1.1; }
.t-hero .lead { color: #c9cdd4; max-width: 640px; }
.t-hero::after {
    content: '';
    position: absolute; right: -120px; top: -120px;
    width: 380px; height: 380px; border-radius: 50%;
    background: radial-gradient(circle, var(--t-accent), transparent 70%);
    opacity: .35;
}

.btn-accent {
    background: var(--t-accent); color: #fff; font-weight: 600;
    border: none; padding: .65rem 1.5rem; border-radius: 2rem;
}
.btn-accent:hover { background: #e64a24; color: #fff; }
.btn-outline-accent {
    border: 2px solid var(--t-accent); color: var(--t-accent); font-weight: 600;
    padding: .55rem 1.4rem; border-radius: 2rem; background: transparent;
}
.btn-outline-accent:hover { background: var(--t-accent); color: #fff; }

.t-section { padding: 4rem 0; }
.t-section-dark { background: var(--t-dark); color: #fff; }
.t-eyebrow { color: var(--t-accent); text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; font-weight: 700; }

.t-card {
    background: #fff; border-radius: 1rem; overflow: hidden;
    border: 1px solid #ece8e1; height: 100%;
    transition: transform .15s ease, box-shadow .15s ease;
}
.t-card:hover { transform: translateY(-3px); box-shadow: 0 12px 32px rgba(22,24,29,.10); }
.t-card img.cover { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.t-card .body { padding: 1.25rem; }
.t-card h3 { font-size: 1.1rem; font-weight: 700; }
.t-card a { color: inherit; text-decoration: none; }

.t-meta { font-size: .8rem; color: #8a8f98; }
.t-badge { background: #f1ede6; border-radius: 1rem; padding: .15rem .7rem; font-size: .75rem; font-weight: 600; color: #5a5f68; }

.t-prose { max-width: 720px; margin: 0 auto; font-size: 1.06rem; line-height: 1.7; }
.t-prose h2 { margin-top: 2.2rem; font-weight: 700; }
.t-prose h3 { margin-top: 1.8rem; font-weight: 700; font-size: 1.2rem; }
.t-prose img { max-width: 100%; border-radius: .75rem; }
.t-prose blockquote {
    border-left: 4px solid var(--t-accent);
    padding-left: 1.25rem; font-size: 1.2rem; font-style: italic; color: #3c414a;
}

.t-stat { text-align: center; }
.t-stat .value { font-size: 2.6rem; font-weight: 800; color: var(--t-accent); }
.t-stat .label { color: #8a8f98; font-size: .9rem; }

.t-quote { background: #fff; border-radius: 1rem; padding: 2rem; border: 1px solid #ece8e1; }

.t-footer { background: var(--t-dark); color: #b8bcc4; padding: 3rem 0 2rem; }
.t-footer a { color: #e7e9ec; text-decoration: none; }
.t-footer a:hover { color: var(--t-accent); }

.preview-banner {
    background: #ffc107; color: #212529; text-align: center;
    padding: .4rem; font-size: .85rem; font-weight: 600;
}

/* AI chat widget */
[data-ai-chat] { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1050; }
[data-ai-chat] .chat-toggle {
    width: 56px; height: 56px; border-radius: 50%; border: none;
    background: var(--t-accent); color: #fff; font-size: 1.4rem;
    box-shadow: 0 8px 24px rgba(22,24,29,.25);
}
[data-ai-chat] .chat-panel {
    display: none; position: absolute; bottom: 70px; right: 0;
    width: 340px; background: #fff; border-radius: 1rem;
    box-shadow: 0 16px 48px rgba(22,24,29,.25); overflow: hidden;
}
[data-ai-chat] .chat-panel.open { display: flex; flex-direction: column; }
[data-ai-chat] .chat-head { background: var(--t-dark); color: #fff; padding: .75rem 1rem; font-weight: 600; }
[data-ai-chat] .chat-log { height: 280px; overflow-y: auto; padding: .75rem; display: flex; flex-direction: column; gap: .5rem; }
.chat-msg { padding: .45rem .75rem; border-radius: .75rem; max-width: 85%; font-size: .875rem; white-space: pre-wrap; }
.chat-msg.user { background: var(--t-dark); color: #fff; align-self: flex-end; }
.chat-msg.bot { background: #f1ede6; align-self: flex-start; }
[data-ai-chat] form { display: flex; border-top: 1px solid #eee; }
[data-ai-chat] input { border: none; flex-grow: 1; padding: .7rem 1rem; outline: none; }
[data-ai-chat] form button { border: none; background: none; padding: 0 1rem; font-size: 1.1rem; }

/* Přístupnost */
.skip-link { position: absolute; top: .5rem; left: .5rem; z-index: 2000; background: #fff; padding: .4rem .8rem; border-radius: .3rem; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--t-accent); outline-offset: 2px; }

/* Tabulky v obsahu */
.t-prose table { border-collapse: collapse; width: 100%; margin: 1rem 0; font-size: .95rem; }
.t-prose th, .t-prose td { border: 1px solid #e0dcd4; padding: .5rem .75rem; text-align: left; }
.t-prose th { background: #f5f1ea; font-weight: 700; }
.t-prose sub, .t-prose sup { font-size: .75em; }
