/* ==========================================================================
   Cech ajťákov – CMS časti: články, stránky, prihlásenie, účet
   (dopĺňa site.css, používa rovnaké tokeny)
   ========================================================================== */
.nav a[aria-current="page"]{color:var(--ink-text)}
.nav .nav-account{color:var(--amber)}
.head-row{flex-direction:row;justify-content:space-between;align-items:flex-end;max-width:none;flex-wrap:wrap}
.head-row > div{display:flex;flex-direction:column;gap:18px}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-family:var(--font-mono);font-size:13px;color:var(--dim);margin-bottom:28px}
.crumbs a{color:var(--muted);text-decoration:none}
.light .crumbs a{color:var(--muted)}
.crumbs a:hover,.light .crumbs a:hover{color:var(--accent)}
.dark .crumbs{color:var(--ink-dim)}
.dark .crumbs a{color:var(--ink-muted)}

/* Karty článkov ----------------------------------------------------------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{background:var(--stone);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 24px 50px -36px rgba(27,24,21,.5)}
.card-link,.light .card-link,.light .card-link:hover{display:flex;flex-direction:column;height:100%;color:var(--text);text-decoration:none}
.card-img{aspect-ratio:16/10;background:var(--ink-2);overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover}
.card-img-ph{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle at 70% 30%,rgba(224,123,60,.35),rgba(14,13,12,0) 60%),var(--ink-2)}
.card-img-ph svg{width:72px;height:72px;color:var(--copper);opacity:.8}
.card-body{padding:22px 22px 26px;display:flex;flex-direction:column;gap:10px}
.card-body h3{font-size:22px;font-weight:700;line-height:1.18}
.card-body p:last-child{color:var(--muted);font-size:15px}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--dim)}
.tag{--tag:var(--accent);display:inline-block;font-family:var(--font-mono);font-size:12px;color:var(--tag);border:1px solid currentColor;border-radius:6px;padding:2px 8px}

/* Zoznam článkov ---------------------------------------------------------- */
.blog-head{padding-bottom:clamp(28px,4vw,48px)}
.blog-head .head{margin-bottom:28px}
.blog-list{padding-top:clamp(40px,5vw,64px)}
.filters{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.filters a,.light .filters a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--line-2);color:var(--text);text-decoration:none;font-size:15px}
.filters a:hover{border-color:var(--accent)}
.filters a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.filters small{font-family:var(--font-mono);font-size:12px;opacity:.7}
.pager{display:flex;justify-content:space-between;align-items:center;margin-top:44px;font-size:16px}
.pager a{font-weight:600;text-decoration:none}
.empty{max-width:560px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding:32px 0}
.empty h2{font-size:clamp(26px,3vw,36px);font-weight:800}
.empty p{color:var(--muted)}

/* Detail článku ----------------------------------------------------------- */
.post-head{border-bottom:1px solid var(--ink-line)}
.post-head .wrap{max-width:920px;padding-block:clamp(40px,7vw,96px) clamp(36px,5vw,64px);display:flex;flex-direction:column;gap:22px}
.post-head h1{font-weight:800;font-size:clamp(36px,5.4vw,72px);line-height:1;letter-spacing:-.035em}
.post-head .lead{font-size:clamp(18px,1.8vw,22px);max-width:60ch;color:var(--ink-muted)}
.post-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-family:var(--font-mono);font-size:13px;color:var(--ink-dim)}
.post-hero{margin:0;background:var(--ink)}
.post-hero img{width:100%;max-height:72vh;object-fit:cover}
.post-hero figcaption{max-width:920px;margin:0 auto;padding:12px var(--gutter);font-size:14px;color:var(--ink-dim)}
.post-layout{padding-block:clamp(48px,7vw,88px)}
.post-layout .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,760px) minmax(0,1fr);gap:40px}
.post-layout .prose{grid-column:2}
.toc{grid-column:1;grid-row:1;justify-self:end;position:sticky;top:calc(var(--header-h) + 32px);align-self:start;max-width:240px;font-size:14px}
.toc ol{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;border-left:1px solid var(--line)}
.toc li{padding-left:14px}
.toc li.l3{padding-left:28px;font-size:13px}
.toc a,.light .toc a{color:var(--muted);text-decoration:none}
.toc a:hover{color:var(--accent)}

/* Typografia obsahu z CKEditora ------------------------------------------- */
.prose{font-size:clamp(17px,1.4vw,19px);line-height:1.72;color:var(--text)}
.prose > * + *{margin-top:1.1em}
.prose h2{font-size:clamp(26px,2.6vw,34px);font-weight:700;margin-top:1.8em;line-height:1.15;scroll-margin-top:calc(var(--header-h) + 20px)}
.prose h3{font-size:clamp(21px,2vw,25px);font-weight:700;margin-top:1.5em;line-height:1.2;scroll-margin-top:calc(var(--header-h) + 20px)}
.prose h4{font-size:19px;margin-top:1.4em}
.prose p,.prose li{color:var(--muted)}
.prose strong{color:var(--text)}
.prose ul,.prose ol{padding-left:1.4em}
.prose li + li{margin-top:.4em}
.prose li::marker{color:var(--accent)}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:3px solid var(--accent);font-family:var(--font-display);font-size:1.2em;line-height:1.4;color:var(--text)}
.prose blockquote p{color:var(--text)}
.prose code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-3);padding:2px 6px;border-radius:6px}
.prose pre{background:var(--ink);color:var(--ink-text);padding:20px 22px;border-radius:14px;overflow-x:auto;font-size:15px;line-height:1.6}
.prose pre code{background:none;padding:0;color:inherit}
.prose img{border-radius:14px;height:auto}
.prose figure{margin:1.8em 0}
.prose figure.image img{margin:0 auto}
.prose figure.image-style-side{float:right;max-width:45%;margin:.4em 0 1em 1.6em}
.prose figcaption{font-size:14px;color:var(--dim);text-align:center;margin-top:10px}
.prose figure.table{overflow-x:auto}
.prose table{width:100%;border-collapse:collapse;font-size:16px}
.prose th,.prose td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.prose th{font-family:var(--font-display);color:var(--text)}
.prose hr{border:0;border-top:1px dashed var(--line-2);margin:2.4em 0}
.prose figure.media iframe,.prose iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:14px}
.prose mark{background:rgba(242,165,65,.35);padding:0 3px;border-radius:4px}

.cta-box{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap;background:var(--ink);color:var(--ink-text);border-radius:24px;padding:clamp(28px,4vw,48px);background-image:radial-gradient(circle at 90% 20%,rgba(224,123,60,.3),rgba(14,13,12,0) 55%)}
.cta-box h2{font-size:clamp(26px,3vw,38px);font-weight:800}
.cta-box p{color:var(--ink-muted);margin-top:8px;max-width:48ch}
.cta-box .btn{--accent:var(--copper);--on-accent:var(--on-copper)}
.post-cta{padding-block:clamp(48px,6vw,80px)}
.related{padding-top:clamp(48px,6vw,80px)}
.preview-bar{background:var(--amber);color:var(--on-copper);font-size:15px;padding:10px 0}
.preview-bar a{color:var(--on-copper);font-weight:700}
.edit-fab{position:fixed;right:20px;bottom:20px;z-index:45;background:var(--ink);color:var(--amber);border:1px solid var(--ink-line-2);border-radius:999px;padding:10px 18px;font-size:14px;text-decoration:none;box-shadow:0 10px 30px -12px rgba(0,0,0,.6)}
.edit-fab:hover{color:var(--ink-text)}

/* Stránky (zásady…) ------------------------------------------------------- */
.doc-head{display:flex;flex-direction:column;gap:16px}
.doc-date{font-size:13px;color:var(--dim)}
.doc .prose h2{border-top:1px solid var(--line);padding-top:30px}

/* FAQ odpovede s HTML ----------------------------------------------------- */
.faq .faq-a{padding:0 48px 26px 0;color:var(--muted)}
.faq .faq-a p + p{margin-top:.6em}

/* Prihlásenie a účet ------------------------------------------------------ */
.auth .wrap{display:grid;place-items:center;min-height:calc(70vh - var(--header-h))}
.auth-card{width:100%;max-width:480px;background:var(--stone);border:1px solid var(--line-2);border-radius:24px;padding:clamp(26px,4vw,42px);display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 80px -50px rgba(27,24,21,.5)}
.auth-card h1{font-size:clamp(30px,4vw,40px);font-weight:800}
.auth-icon{width:72px;height:72px;color:var(--accent)}
.muted{color:var(--muted)}
.pw-login{border-top:1px solid var(--line);padding-top:14px}
.pw-login summary{cursor:pointer;color:var(--muted);font-size:15px}
.pw-login .form{margin-top:16px}
.account-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:36px}
.account-head > div:first-child{display:flex;flex-direction:column;gap:14px}
.account-actions{display:flex;gap:10px;flex-wrap:wrap}
.account-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start}
.account .side{display:flex;flex-direction:column;gap:24px}
.panel{background:var(--stone);border:1px solid var(--line-2);border-radius:20px;padding:clamp(22px,3vw,34px);display:flex;flex-direction:column;gap:16px}
.panel h2{font-size:24px;font-weight:700}
.panel h2 small{font-family:var(--font-body);font-weight:400;font-size:15px;color:var(--dim)}
.panel.danger{border-color:#E7B4AA}
.panel .form .btn{width:auto;align-self:flex-start;min-height:52px;font-size:17px}
.help{font-size:14px;color:var(--dim)}
.field-error{font-size:14px;color:#9A1C0C}
.flash{border-radius:12px;padding:12px 16px;margin-bottom:20px;font-size:15px}
.flash-success{background:#E5F1E1;color:#1E4D16;border:1px solid #B9D9AF}
.flash-error{background:#FBE9E7;color:#7A1D0F;border:1px solid #F0B7AE}
.input:disabled{opacity:.7}
textarea.input{min-height:120px;resize:vertical;line-height:1.5}
.consent input[type=checkbox]{width:24px;height:24px;margin:1px 0 0;accent-color:var(--copper-deep);flex-shrink:0}

@media (max-width:1080px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .post-layout .wrap{grid-template-columns:minmax(0,1fr)}
  .post-layout .prose{grid-column:1;max-width:760px}
  .toc{display:none}
}
@media (max-width:900px){
  .account-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .cards{grid-template-columns:1fr}
  .prose figure.image-style-side{float:none;max-width:100%;margin:1.4em 0}
  .faq .faq-a{padding-right:24px}
}
