/* co-je-ems.cz – minimalist SEO-optimized theme */
:root {
  --primary: #0284c7;
  --primary-dark: #0369a1;
  --text: #1e293b;
  --muted: #64748b;
  --bg: #fff;
  --bg-alt: #f8fafc;
  --border: #e2e8f0;
  --radius: 10px;
  --max-w: 780px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',system-ui,-apple-system,sans-serif; color:var(--text); background:var(--bg); line-height:1.7; font-size:1rem; }
a { color:var(--primary); text-decoration:none; }
a:hover { color:var(--primary-dark); text-decoration:underline; }
img { max-width:100%; height:auto; }

/* Nav */
.nav { background:var(--bg); border-bottom:1px solid var(--border); padding:14px 5%; position:sticky; top:0; z-index:100; }
.nav-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { font-weight:800; font-size:1.1rem; color:var(--text); text-decoration:none; }
.nav-logo span { color:var(--primary); }
.nav-links { display:flex; gap:24px; align-items:center; font-size:.9rem; }
.nav-links a { color:var(--muted); font-weight:500; }
.nav-links a:hover { color:var(--primary); text-decoration:none; }
.nav-cta { background:var(--primary); color:#fff !important; padding:8px 18px; border-radius:var(--radius); font-weight:600; }
.nav-cta:hover { background:var(--primary-dark); text-decoration:none; }

/* Hero */
.hero { background:linear-gradient(135deg,#0c4a6e 0%,#0284c7 50%,#06b6d4 100%); color:#fff; padding:80px 5% 60px; text-align:center; }
.hero h1 { font-size:2.4rem; font-weight:800; margin-bottom:16px; line-height:1.2; }
.hero p { font-size:1.15rem; max-width:600px; margin:0 auto 28px; opacity:.9; }
.hero .btn { display:inline-block; background:#fff; color:var(--primary-dark); padding:14px 32px; border-radius:var(--radius); font-weight:700; font-size:1rem; }
.hero .btn:hover { background:#f0f9ff; text-decoration:none; }

/* Content */
.content { max-width:var(--max-w); margin:0 auto; padding:48px 5%; }
.content h2 { font-size:1.6rem; font-weight:700; margin:2.5rem 0 1rem; color:var(--text); }
.content h3 { font-size:1.2rem; font-weight:600; margin:2rem 0 .75rem; }
.content p { margin-bottom:1rem; }
.content ul, .content ol { margin:0 0 1rem 1.5rem; }
.content li { margin-bottom:.5rem; }
.content blockquote { border-left:4px solid var(--primary); padding:16px 20px; margin:1.5rem 0; background:var(--bg-alt); border-radius:0 var(--radius) var(--radius) 0; font-style:italic; color:var(--muted); }

/* Cards grid */
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin:2rem 0; }
.card { background:var(--bg-alt); border-radius:var(--radius); padding:24px; border:1px solid var(--border); }
.card h3 { margin:0 0 8px; font-size:1.05rem; }
.card p { margin:0; font-size:.9rem; color:var(--muted); }
.card a { display:inline-block; margin-top:12px; font-size:.9rem; font-weight:600; }

/* FAQ */
.faq { max-width:var(--max-w); margin:0 auto; padding:0 5% 48px; }
.faq h2 { font-size:1.6rem; font-weight:700; margin-bottom:24px; }
.faq-item { border-bottom:1px solid var(--border); padding:16px 0; }
.faq-q { font-weight:600; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.faq-q::after { content:'+'; font-size:1.3rem; color:var(--muted); }
.faq-item.open .faq-q::after { content:'−'; }
.faq-a { display:none; padding-top:12px; color:var(--muted); font-size:.95rem; line-height:1.7; }
.faq-item.open .faq-a { display:block; }

/* CTA section */
.cta-section { background:var(--bg-alt); padding:48px 5%; text-align:center; }
.cta-section h2 { font-size:1.5rem; margin-bottom:12px; }
.cta-section p { color:var(--muted); margin-bottom:24px; max-width:500px; margin-left:auto; margin-right:auto; }
.cta-btn { display:inline-block; background:var(--primary); color:#fff; padding:14px 32px; border-radius:var(--radius); font-weight:700; font-size:1rem; }
.cta-btn:hover { background:var(--primary-dark); text-decoration:none; }

/* Footer */
.footer { background:#0f172a; color:rgba(255,255,255,.7); padding:40px 5%; text-align:center; font-size:.85rem; }
.footer a { color:rgba(255,255,255,.8); }
.footer-links { margin-bottom:16px; display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }

/* Blog listing */
.blog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:24px; margin:2rem 0; }
.blog-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; text-decoration:none; color:inherit; display:block; }
.blog-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.08); text-decoration:none; }
.blog-card-body { padding:20px; }
.blog-card-title { font-weight:600; font-size:1.05rem; margin-bottom:8px; color:var(--text); }
.blog-card-excerpt { font-size:.9rem; color:var(--muted); margin-bottom:12px; }
.blog-card-date { font-size:.8rem; color:var(--muted); }

/* Responsive */
@media (max-width:768px) {
  .hero h1 { font-size:1.7rem; }
  .hero { padding:60px 5% 40px; }
  .nav-links { display:none; }
  .content { padding:32px 5%; }
}
