/* landing.css — Bytšéf veřejné stránky (světlý motiv dle bytsef-pitch.html)
   Načítá se PO shared.css a přebíjí tmavý motiv pro body.landing. */

.landing {
    --brand:#0f4c81; --brand2:#d97706; --accent:#0ea5e9;
    --ink:#10182a; --ink2:#384765; --muted:#6b7689;
    --lp-bg:#eef1f7; --card:#ffffff; --line:#e0e5ee;
    background: var(--lp-bg);
    color: var(--ink);
}
.landing a { color: var(--brand); }

/* Buttons within landing get brand colors */
.landing .btn-primary { background: var(--brand); color:#fff; }
.landing .btn-primary:hover { background:#0b3d68; color:#fff; }
.landing .btn-accent { background: var(--brand2); color:#fff; }
.landing .btn-accent:hover { background:#b45309; color:#fff; }
.landing .btn-secondary { background:#fff; color:var(--ink); border-color:var(--line); }
.landing .btn-ghost { color: var(--ink2); }
.landing .btn-ghost:hover { background:#e7edf5; color:var(--ink); }

/* NAV */
.landing .lp-nav {
    background: rgba(255,255,255,.92); backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--line); padding: 12px 6vw;
}
.landing .lp-nav-logo { color: var(--ink); font-weight:800; }
.landing .lp-nav-logo-icon { background: linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; box-shadow: 0 4px 14px rgba(15,76,129,.28); }

/* Odkazy: barevný hover jako v hlidato/vidito, jen adaptováno na světlý motiv.
   :not(.btn) je záměrné — bez něj by tahle pravidla (2 třídy + element) přebila
   .btn-primary (2 třídy) kvůli vyšší CSS specificitě a text tlačítka by zmizel. */
.landing .lp-nav-links a:not(.btn) {
    color: var(--ink2);
    font-weight: 600;
    font-size: 14px;
    padding: 8px 14px;
    border-radius: 9px;
    transition: all .18s;
}
.landing .lp-nav-links a:not(.btn):hover,
.landing .lp-nav-links a.active:not(.btn) {
    color: var(--brand);
    background: rgba(15,76,129,.09);
}
.landing .btn-primary {
    background: linear-gradient(135deg, var(--brand), #14588f) !important;
    color: #fff !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 16px rgba(15,76,129,.35);
}
.landing .btn-primary:hover {
    background: linear-gradient(135deg, #0b3d68, var(--brand)) !important;
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 22px rgba(15,76,129,.45);
}
.landing .btn-accent {
    box-shadow: 0 4px 16px rgba(217,119,6,.35);
    font-weight: 700 !important;
}
.landing .btn-accent:hover { transform: translateY(-1px); box-shadow: 0 6px 22px rgba(217,119,6,.45); }

.lp-nav-burger { display: none; background: none; border: none; color: var(--ink); padding: 6px; cursor: pointer; }
@media (max-width:820px){
    .lp-nav-burger { display: block; }
    .landing .lp-nav-links {
        position: absolute; top: 100%; left: 0; right: 0;
        background: #fff; border-bottom: 1px solid var(--line);
        flex-direction: column; align-items: stretch; gap: 2px;
        padding: 10px 6vw 16px; display: none;
        box-shadow: 0 12px 28px rgba(16,24,42,.10);
    }
    .landing .lp-nav-links.open { display: flex; }
    .landing .lp-nav-links a:not(.btn) { padding: 12px 10px; }
    .landing .lp-nav-links a.btn { margin-top: 8px; text-align: center; }
}

/* HERO */
.lp-hero-wrap {
    background: radial-gradient(1200px 700px at 15% 10%, #0f4c81 0%, #0b2f52 55%, #08182e 100%);
    color:#fff; padding: 88px 6vw 96px; text-align:center; overflow:hidden; position:relative;
}
.lp-kicker { display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#8fc2ec; margin-bottom:1.1rem; }
.lp-kicker::before { content:""; width:26px; height:2px; background:#8fc2ec; display:inline-block; }
.lp-hero-wrap h1 { font-size: clamp(2.2rem, 5.5vw, 4rem); line-height:1.06; letter-spacing:-.02em; max-width: 20ch; margin: 0 auto 1.1rem; font-weight:800;
    background: linear-gradient(90deg,#ffffff,#fcd9a0); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.lp-hero-wrap p.sub { font-size: clamp(1.05rem,1.8vw,1.4rem); color:#c3d4ea; max-width: 62ch; margin: 0 auto 2rem; line-height:1.5; }
.lp-hero-cta { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.lp-hero-note { margin-top:1.6rem; color:#869bc0; font-size:.9rem; }

/* Hero art — jeden nejhezčí 3D dům, ne řada duplicit */
.lp-hero-art { margin-top: 2.8rem; display:flex; justify-content:center; }
.lp-hero-art img { width: 240px; height:240px; filter: drop-shadow(0 24px 48px rgba(0,0,0,.45)); animation: heroFloat 5s ease-in-out infinite; }
@keyframes heroFloat { 0%,100%{ transform: translateY(0); } 50%{ transform: translateY(-10px); } }
@media (max-width:600px){ .lp-hero-art img { width: 170px; height:170px; } }

/* SECTIONS */
.lp-band { padding: 72px 6vw; max-width: 1160px; margin: 0 auto; }
.lp-band.alt { background: #fff; max-width:none; }
.lp-band.alt > .lp-inner { max-width:1160px; margin:0 auto; }
.lp-eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--brand); margin-bottom:.9rem; }
.lp-eyebrow::before { content:""; width:26px; height:2px; background:var(--brand); display:inline-block; }
.lp-h2 { font-size: clamp(1.6rem,3.4vw,2.5rem); line-height:1.14; letter-spacing:-.01em; margin-bottom:1rem; max-width:22ch; color:var(--ink); font-weight:800; }
.lp-lead { font-size: clamp(1.02rem,1.6vw,1.25rem); color:var(--ink2); max-width:64ch; line-height:1.55; }

/* Problem list */
.lp-list { list-style:none; display:flex; flex-direction:column; gap:1rem; max-width:66ch; margin-top:1.4rem; }
.lp-list li { position:relative; padding-left:1.9rem; font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.45; color:var(--ink2); }
.lp-list li::before { content:""; position:absolute; left:0; top:.55em; width:10px; height:10px; border-radius:3px; background:var(--brand2); }
.lp-list li strong { color:var(--ink); }

/* Feature grid (3D icons) */
.lp-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:22px; margin-top:2.2rem; }
.lp-feat { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:0 10px 30px rgba(16,24,42,.06); transition:transform .18s, box-shadow .18s; }
.lp-feat:hover { transform:translateY(-3px); box-shadow:0 18px 44px rgba(16,24,42,.12); }
.lp-feat img { width:72px; height:72px; margin-bottom:14px; }
.lp-feat h3 { font-size:1.15rem; font-weight:700; margin-bottom:8px; color:var(--ink); }
.lp-feat p { font-size:.98rem; color:var(--muted); line-height:1.55; }

/* Steps */
.lp-steps { counter-reset:s; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:2rem; }
.lp-step { counter-increment:s; background:var(--card); border:1px solid var(--line); border-radius:18px; padding:26px; box-shadow:0 10px 30px rgba(16,24,42,.06); position:relative; }
.lp-step::before { content:counter(s); display:flex; align-items:center; justify-content:center; width:2.6rem; height:2.6rem; border-radius:14px; background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; font-weight:800; font-size:1.2rem; margin-bottom:14px; }
.lp-step h3 { font-size:1.1rem; margin-bottom:8px; color:var(--ink); }
.lp-step p { color:var(--muted); font-size:.98rem; line-height:1.55; }

/* Agent table */
.lp-uc { width:100%; border-collapse:collapse; background:var(--card); border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(16,24,42,.08); margin-top:1.8rem; font-size:clamp(.9rem,1.3vw,1.05rem); }
.lp-uc th { background:#eef2f8; color:var(--muted); text-transform:uppercase; font-size:.72rem; letter-spacing:.06em; padding:.85rem 1.1rem; text-align:left; }
.lp-uc td { padding:.8rem 1.1rem; border-bottom:1px solid var(--line); color:var(--ink2); vertical-align:top; }
.lp-uc td:first-child { font-weight:700; color:var(--ink); white-space:nowrap; }
.lp-uc tr:last-child td { border-bottom:none; }

/* Pricing */
.lp-price-wrap { display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:760px; margin: 2.2rem auto 0; }
.lp-price { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:32px; box-shadow:0 10px 30px rgba(16,24,42,.06); }
.lp-price.hi { border:2px solid var(--brand); box-shadow:0 18px 50px rgba(15,76,129,.18); position:relative; }
.lp-price.hi::after { content:"Doporučeno"; position:absolute; top:-12px; right:22px; background:var(--brand2); color:#fff; font-size:.72rem; font-weight:700; padding:4px 12px; border-radius:12px; }
.lp-price h3 { font-size:1.05rem; color:var(--muted); font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.lp-price .amt { font-size:2.8rem; font-weight:800; color:var(--brand); margin:.4rem 0 .1rem; }
.lp-price .per { color:var(--muted); font-size:.95rem; margin-bottom:1.2rem; }
.lp-price ul { list-style:none; margin-bottom:1.6rem; }
.lp-price li { padding:7px 0; font-size:.98rem; color:var(--ink2); padding-left:1.6rem; position:relative; }
.lp-price li::before { content:"✓"; position:absolute; left:0; color:#0a9d6e; font-weight:800; }
.lp-price .btn { width:100%; }

/* FAQ */
.lp-faq { max-width:760px; margin:2rem auto 0; }
.lp-faq details { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:16px 20px; margin-bottom:12px; box-shadow:0 6px 18px rgba(16,24,42,.05); }
.lp-faq summary { font-weight:700; cursor:pointer; color:var(--ink); list-style:none; display:flex; justify-content:space-between; align-items:center; }
.lp-faq summary::after { content:"+"; color:var(--brand2); font-size:1.4rem; font-weight:400; }
.lp-faq details[open] summary::after { content:"−"; }
.lp-faq p { color:var(--ink2); margin-top:12px; line-height:1.6; }

/* Final CTA */
.lp-final { background: radial-gradient(1000px 600px at 85% 90%, #b45309 0%, #0f4c81 55%, #08182e 100%); color:#fff; text-align:center; padding: 84px 6vw; }
.lp-final h2 { font-size:clamp(1.8rem,4vw,3rem); max-width:22ch; margin:0 auto 1rem; font-weight:800;
    background: linear-gradient(90deg,#fff,#fcd9a0); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.lp-final p { color:#dbe7f5; font-size:1.1rem; max-width:56ch; margin:0 auto 1.8rem; }

/* FOOTER (light) */
.landing .lp-footer { background:#fff; border-top:1px solid var(--line); padding:28px 6vw; }
.landing .lp-footer-copy { color:var(--muted); }
.landing .lp-footer-links a { color:var(--muted); }
.landing .lp-footer-links a:hover { color:var(--brand); }

/* Article / legal / blog pages (light) */
.landing .article-col { max-width:760px; margin:0 auto; padding:56px 6vw 80px; }
.landing .article-col h1 { color:var(--ink); }
.landing .article-col .lead { color:var(--ink2); }
.landing .article-col h2 { color:var(--ink); }
.landing .article-col h3 { color:var(--ink); }
.landing .article-col p, .landing .article-col li { color:var(--ink2); }
.landing .article-col strong { color:var(--ink); }
.landing .article-col a { color:var(--brand); }
.landing .article-col .legal-note { background:#fff; border:1px solid var(--line); border-left:3px solid var(--brand2); color:var(--ink2); }
.landing .article-col .updated { color:var(--muted); border-top:1px solid var(--line); }
.landing .card { background:#fff; border-color:var(--line); color:var(--ink); }

/* Blog list */
.lp-blog-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; margin-top:1.6rem; }
.lp-blog-card { background:var(--card); border:1px solid var(--line); border-radius:16px; padding:24px; box-shadow:0 8px 24px rgba(16,24,42,.06); transition:transform .18s; }
.lp-blog-card:hover { transform:translateY(-3px); }
.lp-blog-card h3 { color:var(--ink); font-size:1.15rem; margin-bottom:8px; }
.lp-blog-card .date { color:var(--muted); font-size:.82rem; }
.lp-blog-card p { color:var(--ink2); font-size:.95rem; margin-top:8px; line-height:1.55; }

@media (max-width:760px){
    .lp-steps { grid-template-columns:1fr; }
    .lp-price-wrap { grid-template-columns:1fr; }
    .lp-uc { display:block; overflow-x:auto; }
}

/* Formuláře na veřejných (světlých) stránkách — shared.css styluje inputy pro tmavou
   appku (--c-bg pozadí), což by v bílé kartě (login/register) vypadalo jako černá díra. */
.landing input[type="text"], .landing input[type="email"], .landing input[type="password"],
.landing input[type="number"], .landing input[type="date"], .landing input[type="tel"],
.landing input[type="url"], .landing select, .landing textarea {
    background: #f8fafc;
    border-color: var(--line);
    color: var(--ink);
}
.landing input:focus, .landing select:focus, .landing textarea:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px rgba(15,76,129,.12);
}
.landing input::placeholder, .landing textarea::placeholder { color: #9aa7bb; }
.landing label { color: var(--ink2); }
.landing .form-hint { color: #9aa7bb; }
.landing .checkbox-group label { color: var(--ink2); }
.landing .alert-info { background: rgba(15,76,129,.08); color: var(--brand); border-color: rgba(15,76,129,.25); }
.landing .alert-success { background: rgba(10,157,110,.10); color: #0a9d6e; border-color: rgba(10,157,110,.3); }
.landing .alert-danger { background: rgba(214,69,93,.10); color: #d6455d; border-color: rgba(214,69,93,.3); }
.landing .alert-warning { background: rgba(217,119,6,.10); color: #b45309; border-color: rgba(217,119,6,.3); }
