/* =========================================================================
   Denní věštec – kouzelnické noviny hradu hogwarts.cz
   Pergamenový list na sezónním pozadí, tři novinové sloupce.
   ========================================================================= */

:root {
    --ink: #24180c;
    --ink-soft: #4a3a26;
    --muted: #6b5a41;
    --paper: #f1e4c3;
    --paper-light: #f8efd6;
    --paper-dark: #dcc89a;
    --rule: #8a7350;
    --rule-soft: rgba(110, 85, 45, .35);
    --accent: #7a1f1f;
    --gold: #9c7a2b;
    --page-bg: #2a160f;
    --page-bg-image: none;

    --font-text: 'Libre Caslon Text', 'Georgia', 'Times New Roman', serif;
    --font-head: 'Playfair Display', 'Georgia', serif;
    --font-label: 'Cinzel', 'Georgia', serif;

    --step--1: clamp(.875rem, .84rem + .15vw, .95rem);
    --step-0: clamp(1.0625rem, .98rem + .3vw, 1.1875rem);
    --step-1: clamp(1.25rem, 1.12rem + .5vw, 1.45rem);
    --step-2: clamp(1.5rem, 1.25rem + 1vw, 2rem);
    --step-3: clamp(1.9rem, 1.4rem + 2vw, 2.9rem);

    --gap: clamp(1rem, .6rem + 1.6vw, 2.25rem);
    --radius: 3px;
}

*, *::before, *::after { box-sizing: border-box; }

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

body {
    margin: 0;
    min-height: 100vh;
    background-color: var(--page-bg);
    background-image: var(--page-bg-image);
    background-attachment: fixed;
    color: var(--ink);
    font-family: var(--font-text);
    font-size: var(--step-0);
    line-height: 1.65;
    font-kerning: normal;
    font-variant-ligatures: common-ligatures;
}

img, video, iframe { max-width: 100%; }
img { height: auto; vertical-align: middle; }

a { color: var(--ink); text-decoration-color: var(--rule); text-decoration-thickness: 1px; text-underline-offset: .18em; font-weight: 700; }
a:hover { color: var(--accent); text-decoration-color: currentColor; }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 2px; }

h1, h2, h3, h4, h5, h6 { font-family: var(--font-head); line-height: 1.2; color: var(--ink); margin: 1.4em 0 .5em; font-weight: 700; }
h1 { font-size: var(--step-3); }
h2 { font-size: var(--step-2); }
h3 { font-size: var(--step-1); }
h4, h5, h6 { font-size: var(--step-0); }
p { margin: 0 0 1em; }
hr { border: 0; height: 1px; background: var(--rule-soft); margin: 2em 0; }
blockquote { margin: 1.5em 0; padding: .2em 0 .2em 1.25em; border-left: 3px solid var(--rule); font-style: italic; color: var(--ink-soft); }
small { font-size: var(--step--1); }

.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--ink); color: var(--paper); padding: .6rem 1rem; }
.skip-link:focus { top: 1rem; color: var(--paper); }
.muted { color: var(--muted); font-weight: 400; }
[hidden] { display: none !important; }

/* ---------- List novin ---------- */

.sheet {
    width: min(100% - 2rem, 1480px);
    margin: clamp(.5rem, 2vw, 2rem) auto;
    background-color: var(--paper);
    background-image:
        radial-gradient(ellipse at 50% 0%, rgba(255, 252, 240, .7), transparent 60%),
        radial-gradient(ellipse at 0% 100%, rgba(150, 110, 50, .18), transparent 45%),
        radial-gradient(ellipse at 100% 100%, rgba(150, 110, 50, .18), transparent 45%),
        repeating-linear-gradient(93deg, rgba(120, 90, 40, .025) 0 2px, transparent 2px 7px);
    box-shadow: 0 0 0 1px rgba(60, 40, 15, .4), 0 1.5rem 3rem rgba(0, 0, 0, .55), inset 0 0 6rem rgba(120, 85, 35, .28);
    border-radius: var(--radius);
    overflow: hidden;
}

/* ---------- Hlavička ---------- */

.masthead { padding: clamp(.75rem, 2vw, 1.75rem) var(--gap) 0; text-align: center; }
.masthead__logo { display: block; max-width: 1000px; margin: 0 auto; }
.masthead__logo img { width: 100%; }

/* Titul novin vysázený písmem */
.masthead__motto {
    margin: 0 0 .2rem;
    font-family: var(--font-label);
    font-size: clamp(.7rem, .6rem + .3vw, .9rem);
    font-weight: 700;
    letter-spacing: .25em;
    text-transform: uppercase;
    color: var(--ink-soft);
}
.masthead__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: clamp(.75rem, 2vw, 2rem);
}
.nameplate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .12em;
    color: var(--ink);
    font-family: 'Grenze Gotisch', var(--font-head);
    font-size: clamp(3rem, 1.6rem + 6.2vw, 8rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: .01em;
    text-decoration: none;
    white-space: nowrap;
    text-shadow: 0 1px 0 rgba(255, 250, 235, .7), 0 0 1px rgba(36, 24, 12, .6);
    padding: .08em 0 .12em;
}
.nameplate:hover { color: var(--ink); }
.nameplate__quill { width: .62em; height: .62em; fill: currentColor; color: var(--ink); transform: translateY(.04em) rotate(-8deg); transition: transform .6s ease; }
.nameplate:hover .nameplate__quill { transform: translateY(-.04em) rotate(4deg); }
.ear {
    max-width: 13rem;
    padding: .55rem .8rem;
    border: 1px solid var(--ink);
    outline: 1px solid var(--ink);
    outline-offset: 3px;
    font-size: var(--step--1);
    line-height: 1.35;
    text-align: center;
    font-style: italic;
}
.ear strong { display: block; font-family: var(--font-label); font-style: normal; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.ear small { display: block; font-size: .78em; color: var(--muted); }
.ear p { margin: 0; }
.ear:empty { visibility: hidden; }
.ear--left { justify-self: start; }
.ear--right { justify-self: end; }
@media (max-width: 1000px) {
    .masthead__row { grid-template-columns: 1fr; }
    .ear { display: none; }
}

.dateline {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: .25rem 1.5rem;
    margin-top: clamp(.5rem, 1.5vw, 1rem);
    padding: .45rem .25rem;
    border-top: 3px double var(--ink);
    border-bottom: 1px solid var(--ink);
    font-family: var(--font-label);
    font-size: var(--step--1);
    font-weight: 700;
    letter-spacing: .04em;
}
.dateline__issue { font-weight: 500; }
.dateline__tagline { font-weight: 500; font-style: italic; font-family: var(--font-text); letter-spacing: 0; }

.mainnav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1.25rem;
    padding: .35rem 0;
    border-bottom: 3px double var(--ink);
}
.mainnav__toggle { display: none; }
.mainnav__list { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; list-style: none; margin: 0; padding: 0; flex: 1 1 0; min-width: 0; }
.mainnav__list a, .mainnav__user a {
    display: inline-block;
    padding: .35rem 0;
    font-family: var(--font-label);
    font-size: var(--step--1);
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}
.mainnav__list a:hover, .mainnav__user a:hover { text-decoration: underline; }
.mainnav__search { display: flex; }
.mainnav__search input {
    width: 11rem;
    font: inherit;
    font-size: var(--step--1);
    padding: .3rem .6rem;
    border: 1px solid var(--rule);
    border-right: 0;
    background: var(--paper-light);
    border-radius: var(--radius) 0 0 var(--radius);
}
.mainnav__search button {
    border: 1px solid var(--rule);
    background: var(--ink);
    color: var(--paper);
    padding: 0 .7rem;
    font-size: 1.1rem;
    cursor: pointer;
    border-radius: 0 var(--radius) var(--radius) 0;
}
.mainnav__user { display: flex; gap: 1rem; }
.login-link { color: var(--accent); }

/* ---------- Sloupce ---------- */

.columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "main" "right" "left";
    gap: var(--gap);
    padding: var(--gap);
}
.col-main { grid-area: main; min-width: 0; }
.col-left { grid-area: left; min-width: 0; }
.col-right { grid-area: right; min-width: 0; }
.col-main:focus { outline: none; }

@media (min-width: 768px) {
    .columns.has-left, .columns.has-right {
        grid-template-columns: minmax(0, 1fr) clamp(240px, 28vw, 300px);
        grid-template-areas: "main left" "main right";
        grid-template-rows: auto 1fr;
    }
    .columns.has-right:not(.has-left) { grid-template-areas: "main right" "main right"; }
    .columns.has-left:not(.has-right) { grid-template-areas: "main left" "main left"; }
    .columns.has-left .col-main, .columns.has-right .col-main { padding-right: var(--gap); border-right: 1px solid var(--rule-soft); }
}

@media (min-width: 1200px) {
    .columns.has-left.has-right {
        grid-template-columns: 270px minmax(0, 1fr) 300px;
        grid-template-areas: "left main right";
        grid-template-rows: auto;
    }
    .columns.has-left.has-right.is-swapped { grid-template-columns: 300px minmax(0, 1fr) 270px; grid-template-areas: "right main left"; }
    .columns.has-left.has-right .col-main {
        padding: 0 var(--gap);
        border-left: 1px solid var(--rule-soft);
        border-right: 1px solid var(--rule-soft);
    }
    .columns.has-left:not(.has-right) { grid-template-columns: 270px minmax(0, 1fr); grid-template-areas: "left main"; }
    .columns.has-left:not(.has-right) .col-main { border-right: 0; border-left: 1px solid var(--rule-soft); padding: 0 0 0 var(--gap); }
}

/* ---------- Widgety ---------- */

.widget {
    position: relative;
    margin: 0 0 var(--gap);
    padding: 1rem 1.1rem;
    background: rgba(255, 250, 232, .55);
    border: 1px solid var(--rule-soft);
    box-shadow: inset 0 0 0 3px rgba(255, 250, 232, .6), inset 0 0 0 4px var(--rule-soft);
    font-size: var(--step--1);
    line-height: 1.55;
}
.col-main > .widget { background: none; border: 0; box-shadow: none; padding: 0; }
.widget__title {
    display: flex;
    align-items: center;
    gap: .6rem;
    margin: 0 0 .8rem;
    font-family: var(--font-label);
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-align: center;
}
.widget__title::before, .widget__title::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--rule)); }
.widget__title::after { background: linear-gradient(90deg, var(--rule), transparent); }
.widget ul, .widget ol { margin: 0; padding: 0; list-style: none; }
.widget li { position: relative; padding: .3rem 0 .3rem 1.1rem; border-bottom: 1px dotted var(--rule-soft); }
.widget li:last-child { border-bottom: 0; }
.widget li::before { content: "✦"; position: absolute; left: 0; top: .35rem; font-size: .7em; color: var(--gold); }
.widget a { font-weight: 700; }
.widget__more { margin: .6rem 0 0; text-align: right; font-size: .85rem; }
.widget__image, .widget--image { text-align: center; }
.widget--image { padding: .5rem; }
.widget__image img { width: 100%; max-width: 320px; }
.widget__html > :last-child { margin-bottom: 0; }
.widget__html img { max-width: 100%; }
.newslist__date { color: var(--muted); font-size: .8em; white-space: nowrap; }
.ranklist { counter-reset: rank; }
.ranklist li { counter-increment: rank; padding-left: 1.8rem; }
.ranklist li::before { content: counter(rank) "."; font-family: var(--font-head); font-size: 1.1em; top: .2rem; color: var(--accent); }
.catlist .catlist { margin-left: .5rem; }
.widget .commentlist li { font-weight: 400; }
.loginbox { text-align: center; }
.loginbox p { margin: 0 0 .5rem; }

.clipping { margin: 0; padding: .8rem .9rem; background: var(--paper-light); border: 1px dashed var(--rule); transform: rotate(-.6deg); box-shadow: 2px 3px 0 rgba(80, 55, 20, .15); }
.clipping__title { font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; margin-bottom: .4rem; }
.clipping__text p { margin: 0 0 .4em; }

.scroller { height: 14rem; overflow: hidden; position: relative; mask-image: linear-gradient(transparent, #000 12%, #000 88%, transparent); }
.scroller__inner { animation: scroll-up 28s linear infinite; }
.scroller:hover .scroller__inner, .scroller:focus .scroller__inner { animation-play-state: paused; }
.scroller table, .scroller td { border: 0; padding: 0; width: auto; }
@keyframes scroll-up { from { transform: translateY(14rem); } to { transform: translateY(-100%); } }
@media (prefers-reduced-motion: reduce) {
    .scroller { height: auto; max-height: 20rem; overflow: auto; mask-image: none; }
    .scroller__inner { animation: none; }
}

.ticker { display: flex; align-items: stretch; margin-bottom: var(--gap); border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--paper-light); overflow: hidden; }
.ticker__label { flex: none; display: flex; align-items: center; padding: .2rem .8rem; background: var(--accent); color: #fff6e2; font-family: var(--font-label); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ticker__window { flex: 1; overflow: hidden; display: flex; align-items: center; }
.ticker__text { margin: 0; padding: .3rem 0 .3rem 100%; white-space: nowrap; font-style: italic; animation: ticker var(--ticker-duration, 18s) linear infinite; }
.ticker:hover .ticker__text, .ticker:focus-within .ticker__text { animation-play-state: paused; }
@keyframes ticker { to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) { .ticker__text { padding-left: .8rem; white-space: normal; animation: none; } }

.calendar { width: 100%; border-collapse: collapse; font-size: .85rem; text-align: center; }
.calendar caption { font-family: var(--font-label); font-weight: 700; margin-bottom: .3rem; }
.calendar th { font-weight: 700; color: var(--muted); padding: .15rem 0; }
.calendar td { padding: .15rem 0; }
.calendar td a { display: block; border-radius: 50%; background: var(--paper-dark); text-decoration: none; }
.calendar td.is-today { outline: 1px solid var(--accent); }
.calendar__nav { display: flex; justify-content: space-between; margin: .4rem 0 0; font-size: .85rem; }

/* ---------- Výpis článků ---------- */

.archive-header { margin-bottom: var(--gap); padding-bottom: 1rem; border-bottom: 3px double var(--rule); text-align: center; }
.archive-header__title { margin: .1em 0 .3em; }
.archive-header__intro { max-width: 42rem; margin: 0 auto 1rem; color: var(--ink-soft); }
.archive-header__count, .archive-header__parent { color: var(--muted); font-size: var(--step--1); margin: .3rem 0 0; }

.kicker { margin: 0 0 .3rem; font-family: var(--font-label); font-size: .8rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.kicker a { color: inherit; text-decoration: none; }
.kicker a:hover { text-decoration: underline; }

.chips { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; list-style: none; margin: .5rem 0; padding: 0; }
.chips a { display: inline-block; padding: .2rem .7rem; border: 1px solid var(--rule); border-radius: 2rem; font-size: var(--step--1); text-decoration: none; background: var(--paper-light); }

.card { display: flow-root; padding: 0 0 1.6rem; margin: 0 0 1.6rem; border-bottom: 1px solid var(--rule-soft); }
.card__title { margin: 0 0 .3rem; font-size: var(--step-2); line-height: 1.15; }
.card__title a { text-decoration: none; }
.card__title a:hover { text-decoration: underline; }
.card__image { float: right; width: min(40%, 280px); margin: .3rem 0 .8rem 1.25rem; }
.card__image img, .card--lead .card__image img {
    width: 100%;
    border: 1px solid var(--rule);
    padding: 3px;
    background: var(--paper-light);
    filter: sepia(.35) contrast(1.03);
    transition: filter .8s ease, transform .8s ease;
}
.card:hover .card__image img { filter: none; transform: scale(1.015); }
.card__excerpt { color: var(--ink-soft); }
.card__excerpt > :last-child { margin-bottom: .4rem; }
.card__excerpt img { display: none; }
.card__more { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; margin: 0; font-size: var(--step--1); }
.card__comments { font-weight: 400; color: var(--muted); }

.card--lead .card__title { font-size: var(--step-3); font-weight: 900; text-align: center; }
.card--lead .kicker, .card--lead .byline { text-align: center; justify-content: center; }
.card--lead .card__image { float: none; width: auto; margin: 1rem 0; }
.card--lead .card__excerpt { font-size: 1.05em; }
.card--lead .card__excerpt > p:first-child::first-letter { float: left; margin: .05em .12em 0 0; font-family: var(--font-head); font-weight: 900; font-size: 3.4em; line-height: .8; color: var(--accent); }
.ornament { text-align: center; color: var(--gold); font-size: 1.6rem; margin: -1rem 0 1rem; }

.byline { display: flex; flex-wrap: wrap; gap: .2rem 1rem; margin: 0 0 .8rem; font-size: var(--step--1); color: var(--muted); font-style: italic; }
.byline a { font-style: normal; }
.byline__views::before { content: "👁 "; font-style: normal; }

.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .5rem 1rem; margin: 2rem 0 1rem; font-family: var(--font-label); font-size: var(--step--1); }
.pagination ul { display: flex; flex-wrap: wrap; gap: .3rem; list-style: none; margin: 0; padding: 0; }
.pagination a, .pagination span[aria-current] { display: inline-block; min-width: 2.4rem; padding: .35rem .6rem; text-align: center; border: 1px solid var(--rule); text-decoration: none; }
.pagination span[aria-current] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.pagination__gap { padding: .35rem .2rem; }

.empty { padding: 3rem 1rem; text-align: center; font-style: italic; color: var(--muted); }

/* ---------- Článek ---------- */

.article { max-width: 48rem; margin: 0 auto; }
.article__header { text-align: center; margin-bottom: 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--rule-soft); }
.article__title { margin: .2rem 0 .6rem; font-weight: 900; }
.article__header .byline { justify-content: center; }
.edit-link { text-align: right; font-size: var(--step--1); margin: 0; }
.notice { padding: .7rem 1rem; background: #f6dfa8; border: 1px solid var(--gold); }

.entry-content { overflow-wrap: break-word; hyphens: auto; }
.entry-content > p:first-child::first-letter { float: left; margin: .06em .12em 0 0; font-family: var(--font-head); font-weight: 900; font-size: 3.6em; line-height: .8; color: var(--accent); }
.entry-content img { border-radius: 1px; }
.entry-content .alignleft { float: left; margin: .3rem 1.25rem .8rem 0; }
.entry-content .alignright { float: right; margin: .3rem 0 .8rem 1.25rem; }
.entry-content .aligncenter { display: block; margin: 1rem auto; text-align: center; }
.entry-content figure { margin: 1.2rem 0; }
.entry-content figure.aligncenter, .entry-content .wp-caption.alignnone { margin-left: auto; margin-right: auto; }
.entry-content figcaption { font-size: var(--step--1); font-style: italic; color: var(--muted); text-align: center; margin-top: .3rem; }
.entry-content ul, .entry-content ol { padding-left: 1.5rem; }
.entry-content table { width: 100%; border-collapse: collapse; margin: 1.2rem 0; font-size: var(--step--1); }
.entry-content th, .entry-content td { border: 1px solid var(--rule-soft); padding: .4rem .55rem; vertical-align: top; }
.entry-content th { background: rgba(156, 122, 43, .12); }
.entry-content iframe { border: 0; }
.entry-content .embed { position: relative; aspect-ratio: 16 / 9; margin: 1.2rem 0; }
.entry-content .embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.entry-content audio, .entry-content video { width: 100%; margin: 1rem 0; }
.entry-content::after { content: ""; display: table; clear: both; }

.gallery { display: grid; gap: .6rem; margin: 1.2rem 0; grid-template-columns: repeat(var(--cols, 3), minmax(0, 1fr)); }
.gallery-columns-1 { --cols: 1; } .gallery-columns-2 { --cols: 2; } .gallery-columns-3 { --cols: 3; }
.gallery-columns-4 { --cols: 4; } .gallery-columns-5 { --cols: 5; } .gallery-columns-6 { --cols: 6; }
.gallery-item { margin: 0; }
.gallery-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--rule-soft); }
.gallery-columns-1 .gallery-item img { aspect-ratio: auto; }

.article__footer { margin-top: 2rem; }
.tags { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: var(--step--1); }
.tags__label { font-family: var(--font-label); font-weight: 700; margin-right: .3rem; }
.tags a { padding: .1rem .55rem; border: 1px solid var(--rule-soft); border-radius: 2rem; text-decoration: none; font-weight: 400; background: var(--paper-light); }
.author-box { margin: 1.5rem 0; padding: 1rem 1.2rem; border: 1px solid var(--rule-soft); background: rgba(255, 250, 232, .5); font-size: var(--step--1); }
.author-box__name { font-family: var(--font-label); font-weight: 700; margin-bottom: .4rem; }
.author-box__bio > :last-child { margin: 0; }
.prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 2rem 0; padding-top: 1rem; border-top: 3px double var(--rule); }
.prevnext a { text-decoration: none; font-family: var(--font-head); line-height: 1.3; }
.prevnext a span { display: block; font-family: var(--font-label); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); margin-bottom: .2rem; }
.prevnext__next { grid-column: 2; text-align: right; }

/* Barvy jmen podle kolejí (třídy používané ve starých článcích) */
.ravenclaw { color: #1c3fae; }
.slytherin { color: #1f6b2a; }
.gryffindor { color: #b3120f; }
.hufflepuff { color: #9a7400; text-shadow: 0 0 1px rgba(80, 60, 0, .25); }
.professor { color: #7a1fb0; }
.newbie { color: #a0703a; }
.employee { color: #800080; }
.brown { color: #403c1b; }
.ghost { color: #6f6f6f; }

/* ---------- Komentáře ---------- */

.comments { max-width: 48rem; margin: 2.5rem auto 0; }
.comments__title { text-align: center; font-size: var(--step-2); }
.comments__title::after { content: "❧"; display: block; color: var(--gold); font-size: 1.2rem; margin-top: .2rem; }
.comments__list { list-style: none; margin: 0; padding: 0; }
.comments__list--children { margin-left: clamp(.75rem, 3vw, 2rem); border-left: 2px solid var(--rule-soft); padding-left: clamp(.6rem, 2vw, 1.2rem); }
.comment { margin: 0 0 1rem; }
.comment > .comment__meta, .comment > .comment__body { background: rgba(255, 250, 232, .6); }
.comment__meta { display: flex; flex-wrap: wrap; gap: .2rem .8rem; align-items: baseline; padding: .55rem .9rem .1rem; border: 1px solid var(--rule-soft); border-bottom: 0; font-size: var(--step--1); }
.comment__author { font-weight: 700; }
.comment__date { color: var(--muted); font-weight: 400; text-decoration: none; }
.comment__body { padding: .3rem .9rem .6rem; border: 1px solid var(--rule-soft); border-top: 0; }
.comment__body > :last-child { margin-bottom: 0; }
.comment__reply { display: inline-block; margin: .3rem 0 .6rem .9rem; font-size: var(--step--1); }
.badge { display: inline-block; padding: 0 .45rem; border-radius: 1rem; background: var(--accent); color: #fff6e2; font-family: var(--font-label); font-size: .7rem; letter-spacing: .05em; }
.badge--muted { background: var(--muted); }
.comment-form, .comment-login { margin-top: 1.5rem; padding: 1.2rem; border: 1px solid var(--rule); background: rgba(255, 250, 232, .7); }
.comment-login { text-align: center; }
.comment-form textarea { width: 100%; min-height: 8rem; margin: .5rem 0 .8rem; padding: .7rem; font: inherit; border: 1px solid var(--rule); background: #fffaf0; border-radius: var(--radius); }
.comment-form__as { margin: 0; font-size: var(--step--1); }

/* ---------- Formuláře, tlačítka, ankety ---------- */

.button {
    display: inline-block;
    padding: .55rem 1.2rem;
    border: 1px solid var(--ink);
    border-radius: var(--radius);
    background: var(--ink);
    color: var(--paper);
    font-family: var(--font-label);
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    min-height: 44px;
    line-height: 1.9;
}
.button:hover { background: var(--accent); border-color: var(--accent); color: #fff6e2; }
.button--ghost { background: transparent; color: var(--ink); }
.button--small { padding: .3rem .8rem; font-size: .75rem; min-height: 36px; line-height: 1.8; }
.linklike { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; cursor: pointer; font-weight: 700; }
.inline-form { display: inline; }

.search-form { display: flex; gap: .5rem; max-width: 30rem; margin: 1rem auto; }
.search-form input { flex: 1; min-width: 0; padding: .5rem .7rem; font: inherit; border: 1px solid var(--rule); background: #fffaf0; border-radius: var(--radius); }
.search-form--widget { margin: 0; }
.search-form--widget .button { padding: .3rem .7rem; font-size: .7rem; }

.poll__question { font-family: var(--font-head); font-weight: 700; font-size: 1.05rem; margin-bottom: .6rem; }
.poll fieldset { border: 0; margin: 0 0 .6rem; padding: 0; }
.poll__option { display: flex; gap: .5rem; align-items: baseline; padding: .25rem 0; cursor: pointer; }
.poll__hint { font-size: .8rem; color: var(--muted); }
.widget .poll__results li, .poll__results li { padding: .25rem 0; display: grid; grid-template-columns: 1fr auto; gap: 0 .5rem; border: 0; }
.widget .poll__results li::before { content: none; }
.poll__results { list-style: none; padding: 0; margin: 0 0 .5rem; }
.poll__bar { grid-column: 1 / -1; grid-row: 2; height: .45rem; background: var(--paper-dark); border-radius: 1rem; overflow: hidden; }
.poll__bar::before { content: ""; display: block; height: 100%; width: var(--pct); background: linear-gradient(90deg, var(--gold), var(--accent)); }
.poll__pct { font-size: .85em; white-space: nowrap; }
.poll__meta { font-size: .85rem; margin: 0; }
.poll-archive__item { padding: 1rem 0; border-bottom: 1px solid var(--rule-soft); }

.slider { position: relative; margin: 1rem 0; }
.slider__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.slider__track::-webkit-scrollbar { display: none; }
.slider__slide { flex: 0 0 100%; margin: 0; scroll-snap-align: start; text-align: center; }
.slider__slide img { max-height: 32rem; width: auto; margin: 0 auto; }
.slider__slide figcaption { font-style: italic; font-size: var(--step--1); margin-top: .3rem; }
.slider__controls { display: flex; justify-content: center; gap: .5rem; margin-top: .4rem; }
.slider__btn { min-width: 44px; min-height: 36px; border: 1px solid var(--rule); background: var(--paper-light); cursor: pointer; font-size: 1.1rem; border-radius: var(--radius); }

.flash { width: min(100% - 2 * var(--gap), 60rem); margin: 1rem auto 0; padding: .7rem 1rem; border: 1px solid var(--rule); background: var(--paper-light); text-align: center; }
.flash--success { border-color: #3b6b2a; background: #e3ecc9; }
.flash--error { border-color: var(--accent); background: #f3d2c4; }

/* ---------- Ostatní stránky ---------- */

.error-page { max-width: 36rem; margin: 2rem auto; text-align: center; }
.error-page__code { font-family: var(--font-head); font-size: 5rem; font-weight: 900; color: var(--accent); margin: 0; line-height: 1; }
.letters { display: flex; flex-wrap: wrap; gap: .3rem; justify-content: center; margin-bottom: 1rem; font-family: var(--font-label); }
.letters a { padding: .2rem .5rem; border: 1px solid var(--rule-soft); text-decoration: none; }
.letter-heading { border-bottom: 1px solid var(--rule-soft); }
.author-list { columns: 2 16rem; list-style: none; padding: 0; }
.author-list li { break-inside: avoid; padding: .2rem 0; }
.author-list .muted { font-size: var(--step--1); }
.profile { display: grid; grid-template-columns: max-content 1fr; gap: .4rem 1.5rem; }
.profile dt { font-weight: 700; }
.profile dd { margin: 0; }
.my-comments { list-style: none; padding: 0; }
.my-comments li { padding: .6rem 0; border-bottom: 1px dotted var(--rule-soft); }
.my-comments__text { font-size: var(--step--1); color: var(--ink-soft); }

/* ---------- Patička ---------- */

.site-footer { padding: 0 var(--gap) var(--gap); text-align: center; font-size: var(--step--1); }
.site-footer__widgets { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--gap); text-align: left; }
.site-footer__image { display: block; max-width: 1000px; margin: 0 auto; }
.site-footer__image img { width: 100%; }
.site-footer__links { margin: .8rem 0 .3rem; font-family: var(--font-label); }
.site-footer__text { color: var(--muted); margin: 0; }

/* ---------- Mobil ---------- */

@media (max-width: 767px) {
    .sheet { width: 100%; margin: 0; border-radius: 0; }
    .dateline { justify-content: center; text-align: center; }
    .dateline__tagline { flex-basis: 100%; }
    .mainnav { justify-content: space-between; }
    .mainnav__toggle {
        display: inline-flex;
        align-items: center;
        gap: .5rem;
        min-height: 44px;
        padding: 0 .8rem;
        border: 1px solid var(--ink);
        background: transparent;
        font-family: var(--font-label);
        font-weight: 700;
        letter-spacing: .06em;
        text-transform: uppercase;
        cursor: pointer;
    }
    .mainnav__icon, .mainnav__icon::before, .mainnav__icon::after { display: block; width: 18px; height: 2px; background: var(--ink); position: relative; transition: transform .2s; }
    .mainnav__icon::before, .mainnav__icon::after { content: ""; position: absolute; left: 0; }
    .mainnav__icon::before { top: -6px; }
    .mainnav__icon::after { top: 6px; }
    .mainnav__toggle[aria-expanded="true"] .mainnav__icon { background: transparent; }
    .mainnav__toggle[aria-expanded="true"] .mainnav__icon::before { transform: translateY(6px) rotate(45deg); }
    .mainnav__toggle[aria-expanded="true"] .mainnav__icon::after { transform: translateY(-6px) rotate(-45deg); }
    .mainnav__list { display: none; order: 3; flex-basis: 100%; flex-direction: column; gap: 0; }
    .mainnav.is-open .mainnav__list { display: flex; }
    .mainnav__list a { display: block; padding: .7rem 0; border-top: 1px dotted var(--rule-soft); }
    .mainnav__search { order: 4; flex-basis: 100%; }
    .mainnav__search input { flex: 1; width: auto; min-height: 44px; }
    .mainnav:not(.is-open) .mainnav__search { display: none; }
    .mainnav__user a { padding: .6rem 0; }
    .hide-mobile { display: none; }
    .card__image { float: none; width: auto; margin: .6rem 0 .8rem; }
    .entry-content .alignleft, .entry-content .alignright { float: none; display: block; margin: 1rem auto; }
    .entry-content table { display: block; overflow-x: auto; }
    .gallery { --cols: 2 !important; }
    .gallery-columns-1 { --cols: 1 !important; }
    .prevnext { grid-template-columns: 1fr; }
    .prevnext__next { grid-column: 1; }
}

/* Bez JS je menu vždy rozbalené */
.no-js .mainnav__list, .no-js .mainnav__search { display: flex !important; }
.no-js .mainnav__toggle { display: none !important; }

@media print {
    body { background: #fff; font-size: 11pt; }
    .sheet { box-shadow: none; width: auto; margin: 0; background: #fff; }
    .mainnav, .col-left, .col-right, .comments, .prevnext, .site-footer__links, .ticker, .edit-link { display: none !important; }
    .columns { display: block; padding: 0; }
    .col-main { border: 0 !important; padding: 0 !important; }
}

/* Staré články a výstřižky používají inline barvy pro tmavé pozadí – na pergamenu je ztmavíme */
.entry-content [style*="#ffff00" i], .entry-content [style*="color: yellow" i], .clipping [style*="#ffff00" i],
.widget [style*="#ffff00" i], .comment__body [style*="#ffff00" i] { color: #9a7400 !important; }
.entry-content [style*="#ffdead" i], .clipping [style*="#ffdead" i], .entry-content [style*="#ffffff" i]:not([style*="background" i]) { color: #a0703a !important; }
.entry-content [style*="#ff00ff" i], .clipping [style*="#ff00ff" i] { color: #b0129e !important; }
.card__excerpt, .card__excerpt * { text-align: left !important; }
