.symbols { position: absolute; }
.latest, .card__title, .tab { text-decoration: none; }
.card__title { color: inherit; }
.search-submit { border: 0; background: none; color: var(--blue-head); font-size: .86rem; font-weight: 600; padding: .55rem .12rem; }
/*
 * Pages of the web (owner's request of 12 November 2026): the background of the section Příspěvky on the home page,
 * the content itself on a white sheet with the edge and shadow of the cards. Listings of cards (/aktuality/,
 * /fotogalerie/, /stranky/) use the section Příspěvky itself (.posts--page). On a phone the sheet runs edge to edge.
 */
main:has(> .content-page) { background: linear-gradient(180deg, #fff, var(--sky-2) 35%); padding-block: calc(clamp(1.5rem, 4vw, 3rem) * var(--density)) var(--section); }
.content-page { width: calc(100% - 2 * clamp(1rem, 4vw, 2rem)); max-width: calc(var(--wrap) - 4rem); padding: calc(clamp(2rem, 4.5vw, 3.5rem) * var(--density)) clamp(1.25rem, 5vw, 3.5rem);
  background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 12px 30px -24px #0b355862; }
.posts--page .title { font-size: clamp(1.7rem, 4vw, 2.6rem); }
.posts--page .posts__heading { margin-bottom: calc(var(--space-5) * var(--density)); }
.posts__found { margin: 0 0 var(--space-4); color: var(--text-2); }
.posts__found + .posts__found { margin-top: calc(-1 * var(--space-3)); }
.posts__empty { margin: var(--space-5) 0 0; }
/* A picture with its own settings (12 November 2026): centred, 80 % by default; another ratio crops the picture
   (object-fit: cover keeps its proportions), "original" shows it whole. On phones always the full width. */
.article-image { width: 80%; margin-inline: auto !important; }
.article-image--narrow { width: 50%; }
.article-image--full { width: 100%; }
.article-image img { display: block; width: 100%; height: auto; border-radius: var(--r); background: var(--sky); }
.article-image--r16-9 img { aspect-ratio: 16 / 9; object-fit: cover; }
.article-image--r16-8 img { aspect-ratio: 2 / 1; object-fit: cover; }
.article-image--r3-2 img { aspect-ratio: 3 / 2; object-fit: cover; }
.article-image--r4-3 img { aspect-ratio: 4 / 3; object-fit: cover; }
.article-image--r1-1 img { aspect-ratio: 1; object-fit: cover; }
.article-image--r3-4 img { aspect-ratio: 3 / 4; object-fit: cover; }
.article-image--top img { object-position: center top; }
.article-image--bottom img { object-position: center bottom; }
.article-image__link { display: block; border-radius: var(--r); overflow: hidden; }
.article-image__link img { transition: transform .3s ease; }
.article-image__link:is(:hover, :focus-visible) img { transform: scale(1.015); }
.article-image figcaption { margin-top: .55rem; font-size: .88rem; color: var(--text-2); text-align: center; }
@media (max-width: 600px) {
  .article-image, .article-image--narrow { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .article-image__link img { transition: none; }
}
/* A map in a text (12 November 2026): centred, 80 % of the text by default (half or full width by choice), the picture
   made on this web; a click opens the interactive map. On phones always the full width. */
.article-map { width: 80%; margin-inline: auto !important; }
.article-map--narrow { width: 50%; }
.article-map--full { width: 100%; }
.article-map__frame { position: relative; display: block; overflow: hidden; border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 12px 30px -24px #0b355862; background: var(--sky); }
.article-map__frame img { display: block; width: 100%; height: auto; transition: transform .3s ease; }
.article-map__frame:is(:hover, :focus-visible) img { transform: scale(1.015); }
.article-map__open { position: absolute; right: .7rem; bottom: .7rem; padding: .35rem .8rem; border-radius: 999px; background: #fff; color: var(--blue-head); font-size: .82rem; font-weight: 600; box-shadow: 0 6px 16px -8px #0b3558a0; }
.article-map figcaption { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; margin-top: .55rem; font-size: .86rem; color: var(--text-2); }
.article-map__label { font-weight: 600; color: var(--navy); }
@media (max-width: 600px) {
  .article-map, .article-map--narrow { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .article-map__frame img { transition: none; }
}
/* Pro členy → Dokumenty (13 November 2026): the managed documents as rows with an icon, title, description and button. */
.documents { list-style: none; padding: 0; display: grid; gap: var(--space-3); }
.document { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: var(--space-2) var(--space-4); padding: var(--space-4);
  border: 1px solid var(--line); border-radius: var(--r); background: #fff; box-shadow: 0 12px 30px -26px #0b355862; }
.document__icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .7rem; background: var(--sky); color: var(--blue-head); }
.document__icon .i { width: 1.4rem; height: 1.4rem; }
.document__title { margin: 0; font-size: 1.08rem; line-height: 1.35; }
.document__title a { color: var(--navy); text-decoration-color: color-mix(in srgb, var(--blue) 40%, transparent); }
.document__body p { margin: .35rem 0 0; color: var(--text-2); font-size: .94rem; overflow-wrap: anywhere; }
.document__open { align-self: center; white-space: nowrap; }
.documents-lead { color: var(--text-2); }
@media (max-width: 600px) {
  .document { grid-template-columns: auto minmax(0, 1fr); }
  .document__open { grid-column: 2; justify-self: start; }
}
/* Back to the listing as a button, and the category pill of an article as a link to its category (12 November 2026). */
.btn--back .i { transform: scaleX(-1); }
a.pill--link { text-decoration: none; transition: background .15s, color .15s; }
a.pill--link:is(:hover, :focus-visible) { background: var(--blue-head); color: #fff; }
@media (max-width: 600px) {
  main:has(> .content-page) { padding-block: 0; }
  .content-page { width: 100%; max-width: none; padding-inline: clamp(1rem, 4vw, 2rem); border-inline: 0; border-radius: 0; box-shadow: none; }
}
.content-page h1 { color: var(--navy); font-size: clamp(1.7rem, 4vw, 2.85rem); overflow-wrap: anywhere; }
.article-page { max-width: 900px; }
.article-cover { width: auto; max-height: 32rem; border-radius: var(--r); margin-block: 1.4rem; }
.filters, .entry-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-4); }
.filters label, .entry-form label { display: grid; gap: var(--space-2); font-weight: 600; }
.filters label:first-child { flex: 1 1 16rem; }
.entry-form { display: grid; justify-items: start; max-width: 620px; }
.entry-form label { width: 100%; }
.entry-form .form-check { display: flex; align-items: flex-start; gap: var(--space-3); font-weight: 400; }
.entry-form .form-check input { flex: none; width: 1.25rem; height: 1.25rem; min-height: 0; margin: .15rem 0 0; padding: 0; accent-color: var(--blue); }
.form-check small { display: block; color: var(--text-2); }
.filters input, .filters select, .entry-form :is(input,select,textarea) {
  min-height: 44px;
  width: 100%;
  color: var(--text);
  border: 1px solid #8197ab;
  background: #fff;
  border-radius: 8px;
  padding: .45rem .65rem;
  font: inherit;
  font-weight: 400;
}
.member-panel { max-width: 760px; }
.member-links, .pagination { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-4); }
.profile { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: .6rem; max-width: 700px; }
.profile dt { font-weight: 600; }
.profile dd { margin: 0; overflow-wrap: anywhere; }
.form-error { padding: .65rem .8rem; border-left: 4px solid #963233; background: #fff1f1; color: #761918; }
@media (max-width: 510px) {
  .filters { display: grid; }
  .filters .btn { justify-self: start; }
  .profile { grid-template-columns: minmax(0, 1fr); gap: .2rem; }
  .profile dd { margin-bottom: .65rem; }
}
.article-blocks { overflow-wrap: anywhere; }
.article-blocks h2 { font-size: clamp(1.25rem, 2.4vw, 1.6rem); color: var(--navy); }
.article-blocks h3 { font-size: clamp(1.1rem, 2vw, 1.3rem); color: var(--navy); }
.article-blocks blockquote { margin-inline: 0; padding: var(--space-4) var(--space-5); background: var(--sky); border-left: 3px solid var(--blue); }
.article-attachments > * + * { margin-top: var(--space-4); }
.article-attachments h2 { font-size: 1.25rem; color: var(--navy); }
/* Photos of articles and galleries: three per row; a click opens the photo viewer. */
.article-photos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); list-style: none; padding: 0; }
.article-photos a { display: block; overflow: hidden; border-radius: .65rem; background: var(--sky); }
.article-photos img { display: block; width: 100%; height: auto; transition: transform .25s ease; }
.article-photos a:is(:hover, :focus-visible) img { transform: scale(1.04); }
@media (max-width: 510px) {
  .article-photos { gap: var(--space-2); }
  .article-photos a { border-radius: .4rem; }
}
@media (prefers-reduced-motion: reduce) {
  .article-photos img { transition: none; }
}
.article-inline-image { margin-inline: 0; }
.article-inline-image img { display: block; max-width: 100%; height: auto; border-radius: .65rem; }
.private-site { min-height: 100vh; display: grid; place-items: center; padding: 1.2rem; background: #f1f6fb; }
.private-site-panel { max-width: 590px; padding: clamp(1.5rem, 5vw, 3rem); background: #fff; border: 1px solid #d5e0eb; border-radius: 18px; }
.private-site-panel h1 { color: var(--navy); font-size: clamp(1.8rem, 5vw, 2.6rem); }
.private-site-name { color: var(--blue-head); font-weight: 700; margin: 1rem 0 .4rem; }
.private-site-panel .btn { margin-top: 1rem; }
.private-site-banner { padding: .7rem 1rem; background: #e1effd; color: #0a365e; text-align: center; }
.private-site-banner a { margin-left: .5rem; font-weight: 700; text-decoration: underline; }
/* Numbered pagination like the current site: bold, yellow current page. */
.pagination--numbers { align-items: center; gap: var(--space-2); margin-block: calc(var(--space-6) * var(--density)) 0; font-weight: 700; }
.pagination--numbers a, .pagination__current { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .6rem; border-radius: 8px; text-decoration: none; }
.pagination--numbers a { color: var(--blue-head); border: 1px solid var(--line); background: #fff; }
.pagination--numbers a:hover { border-color: var(--yellow); color: var(--navy); }
.pagination__current { background: var(--yellow); color: var(--navy); }
.pagination__info { margin-right: .5rem; color: var(--text-2); font-weight: 600; }
.pagination__gap { padding: 0 .2rem; color: var(--text-2); }
.hint { color: var(--text-2); font-size: .9rem; }
.locked-panel { padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--line); border-left: 4px solid var(--yellow); border-radius: var(--r); background: var(--sky-2); }
.locked-panel h2 { display: flex; align-items: center; gap: var(--space-2); color: var(--navy); font-size: 1.25rem; }
.locked-panel > * { margin-block: 0; }
.locked-panel > * + * { margin-top: var(--space-4); }
.locked-panel h2 .i { width: 22px; height: 22px; color: var(--blue-head); }
.locked-panel .entry-form { margin-top: var(--space-5); }
@media (max-width: 510px) {
  .pagination__info { flex-basis: 100%; }
  .pagination--numbers a, .pagination__current { min-width: 40px; min-height: 40px; padding: 0 .45rem; }
}
.choice { display: grid; gap: .5rem; margin: 0; padding: 0; border: 0; }
.choice legend { font-weight: 600; margin-bottom: .4rem; }
.choice label { display: flex; align-items: center; gap: .55rem; font-weight: 400; min-height: 44px; }
.choice input { width: 1.15rem; height: 1.15rem; min-height: 0; }
.member-panel h2 { color: var(--navy); font-size: 1.25rem; }
/* Members-only discussion. */
.discussion__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem 1.2rem; }
.topics, .discussion-posts { list-style: none; margin: 1.2rem 0 0; padding: 0; }
.topic { display: flex; gap: .85rem; align-items: flex-start; padding: .95rem 0; border-bottom: 1px solid var(--line); }
.topic__title { font-weight: 650; color: var(--blue-head); margin-right: .4rem; overflow-wrap: anywhere; }
.topic__meta { margin: .2rem 0 0; color: var(--text-2); font-size: .86rem; }
.discussion-post { padding: 1.05rem 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.discussion-post__head { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .65rem; }
.discussion-post__head time, .discussion-post__edited { color: var(--text-2); font-size: .84rem; }
.discussion-post__body { margin: .55rem 0 0 calc(34px + .65rem); overflow-wrap: anywhere; }
.discussion-post__removed { margin: .55rem 0 0 calc(34px + .65rem); color: var(--text-2); font-style: italic; }
.discussion-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem 1rem; margin: .5rem 0 0 calc(34px + .65rem); font-size: .88rem; }
.discussion-actions form { margin: 0; }
.discussion-form { max-width: none; }
.discussion-form textarea { min-height: 7rem; resize: vertical; }
.discussion-post .discussion-form { margin: .6rem 0 0 calc(34px + .65rem); }
.discussion-reply { margin-top: 2rem; }
.link-button { padding: 0; border: 0; background: none; color: var(--blue-head); font: inherit; text-decoration: underline; cursor: pointer; min-height: 44px; }
@media (max-width: 510px) {
  .discussion-post__body, .discussion-post__removed, .discussion-actions, .discussion-post .discussion-form { margin-left: 0; }
}
/* Photo grid of articles and galleries: equal tiles; the photo viewer shows the whole picture. */
.article-photos img { aspect-ratio: 4 / 3; object-fit: cover; }

/* Vertical rhythm of content pages (phase 7b): every block keeps its distance from the previous one. */
.content-page > * { margin-block: 0; }
.content-page > * + * { margin-top: calc(var(--space-5) * var(--density)); }
.content-page > * + :is(h2, section, .locked-panel, .discussion-reply, .article-attachments) { margin-top: calc(var(--space-7) * var(--density)); }
.content-page > .card__meta + h1 { margin-top: var(--space-3); }
.content-page > h1 + :is(.hint, .notice) { margin-top: var(--space-4); }
.article-blocks > * { margin-block: 0; }
.article-blocks > * + * { margin-top: calc(var(--space-4) * var(--density)); }
.article-blocks > * + h2 { margin-top: calc(var(--space-7) * var(--density)); }
.article-blocks > * + h3 { margin-top: calc(var(--space-6) * var(--density)); }
.article-blocks > * + .article-gallery { margin-top: calc(var(--space-7) * var(--density)); }
.article-gallery > h2 + .article-photos { margin-top: var(--space-4); }
.article-blocks ul:not([class]), .content-page > ul:not([class]) { list-style: disc; padding-left: 1.4em; }
.article-blocks ol { list-style: decimal; padding-left: 1.6em; }
.article-blocks :is(ul, ol):not([class]) li + li, .content-page > ul:not([class]) li + li { margin-top: var(--space-2); }
.discussion-post .discussion-post__body p { margin: 0 0 var(--space-3); }
/* Šichtovník (phase 8). */
.shifts__month { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.shifts__month h2 { color: var(--navy); font-size: clamp(1.2rem, 2.6vw, 1.5rem); text-transform: capitalize; }
.shift-calendar { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: var(--space-2); list-style: none; padding: 0; }
.shift-calendar__head { padding: var(--space-1) var(--space-2); color: var(--text-2); font-size: .82rem; font-weight: 600; text-align: center; }
.shift-day { display: flex; flex-direction: column; gap: var(--space-1); min-height: 6.2rem; padding: var(--space-2); border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.shift-day.is-today { border-color: var(--blue); box-shadow: 0 0 0 2px var(--blue); }
.shift-day.is-changed { background: #fffaf0; }
.shift-day__date { font-weight: 600; font-size: .88rem; }
.shift-day__weekday { display: none; color: var(--text-2); font-weight: 500; }
.shift-day__note { color: var(--text-2); font-size: .78rem; line-height: 1.3; }
.shift-chip { align-self: flex-start; padding: .1rem .5rem; border-radius: 999px; font-size: .82rem; font-weight: 600; line-height: 1.5; }
.shift-chip strong { font-weight: 700; }
.shift-chip--d { background: #fff1c2; color: #5c4300; }
.shift-chip--n { background: #0b3558; color: #fff; }
.shift-chip--r { background: #def3e4; color: #1d5a2c; }
.shift-chip--o { background: #e7e5fb; color: #3c3586; }
.shift-chip--off { background: var(--sky); color: var(--text-2); }
@media (max-width: 720px) {
  .shift-calendar { grid-template-columns: minmax(0, 1fr); }
  .shift-calendar__head, .shift-calendar__blank { display: none; }
  .shift-day { flex-direction: row; flex-wrap: wrap; align-items: center; min-height: 0; }
  .shift-day__date { min-width: 6.5rem; }
  .shift-day__weekday { display: inline; }
}

/* Jídelní lístek */
.canteen-order { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-4) var(--space-5); border-radius: var(--r); background: var(--sky); }
.canteen-order .i { margin-top: .15rem; color: var(--blue-head); }
.canteen-order p { margin: 0; }
.canteen-days { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: var(--space-4); list-style: none; padding: 0; }
.canteen-day { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.canteen-day.is-today { border-color: var(--blue); box-shadow: 0 0 0 2px var(--blue); }
.canteen-day h2 { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); color: var(--navy); font-size: 1.15rem; }
.canteen-day h2 time span { color: var(--text-2); font-weight: 500; }
.canteen-day__today { padding: .05rem .55rem; border-radius: 999px; background: var(--blue); color: #fff; font-size: .75rem; font-weight: 600; }
.canteen-day__note { color: var(--blue-head); font-size: .82rem; font-weight: 600; letter-spacing: .02em; }
.canteen-day p { margin: 0; }
.canteen-label { display: block; color: var(--text-2); font-size: .75rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.canteen-meals { display: grid; gap: var(--space-3); list-style: none; padding: var(--space-3) 0 0; margin: 0; border-top: 1px solid var(--line); }
.canteen-allergens { color: var(--text-2); font-size: .78rem; white-space: nowrap; }
.canteen-allergen-list ol { columns: 2 18rem; column-gap: var(--space-7); padding-left: 1.6em; list-style: decimal; }
.canteen-allergen-list li { break-inside: avoid; margin-bottom: var(--space-2); }
.canteen-allergen-list h2 { color: var(--navy); font-size: clamp(1.2rem, 2.6vw, 1.5rem); }
.canteen-allergen-list h2 + ol { margin-top: var(--space-4); }
/* Own photo in the member settings (phase 9f). */
.member-photo { display: flex; flex-wrap: wrap; align-items: flex-start; gap: var(--space-4) var(--space-5); margin-bottom: var(--space-5); }
.member-photo > div { flex: 1 1 18rem; min-width: 0; }
.member-photo__picture { display: inline-grid; place-items: end center; flex: none; width: 112px; height: 112px; border-radius: 50%; overflow: hidden; object-fit: cover; background: var(--sky); color: var(--blue-head); }
.member-photo__picture svg { width: 80%; height: 80%; fill: currentColor; opacity: .6; }
.member-photo form + form { margin-top: var(--space-3); }
/*
 * The works committee in a text, e.g. O nás (phase 9f; cards since the owner's request of 12 November 2026): separate
 * cards with the edge and shadow of the post cards, three per row, two on phones; the photo sits on a light band and
 * the function is a pill (yellow for the chair).
 */
.committee { margin-block: var(--space-6); }
.committee h2 span { display: block; margin-top: .25rem; font-size: .95rem; font-weight: 500; color: var(--text-2); }
.committee__grid { list-style: none; margin: var(--space-5) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(.75rem, 2vw, 1.25rem); }
.committee__card { position: relative; isolation: isolate; display: grid; align-content: start; justify-items: center; gap: .35rem; overflow: hidden;
  padding: clamp(1.1rem, 2.6vw, 1.6rem) clamp(.6rem, 2vw, 1.1rem) clamp(1.1rem, 2.6vw, 1.5rem); background: #fff; border: 1px solid var(--line);
  border-radius: var(--r); box-shadow: 0 12px 30px -24px #0b355862; text-align: center; }
.committee__card::before { content: ""; position: absolute; z-index: -1; inset: 0 0 auto; height: clamp(3.6rem, 9vw, 5.2rem); background: var(--sky); }
.committee__photo { display: block; width: min(100%, 140px); aspect-ratio: 1; margin: 0 auto .5rem; object-fit: cover; border-radius: 50%; background: var(--sky);
  border: 4px solid #fff; box-shadow: 0 0 0 1px var(--line), 0 12px 24px -18px #0b355899; }
.committee__photo--person { display: grid; place-items: end center; overflow: hidden; color: var(--blue-head); }
.committee__photo--person svg { width: 80%; height: 80%; fill: currentColor; opacity: .45; }
.committee__card strong { color: var(--navy); font-size: 1.02rem; line-height: 1.3; overflow-wrap: anywhere; }
.committee__role { padding: .1rem .65rem; border-radius: 999px; background: var(--sky); font-size: .82rem; font-weight: 600; color: var(--blue-head); }
.committee__card--chair .committee__role { background: var(--yellow); color: var(--navy); }
.committee__job { font-size: .85rem; line-height: 1.35; color: var(--text-2); }
@media (max-width: 640px) {
  .committee__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .committee__photo { width: min(100%, 112px); }
}
