/* Design refresh v1 — moderní vrstva nad tokens + téma */

:root {
  --font-display: "Plus Jakarta Sans", var(--font-sans);
  --elevation-1: 0 1px 2px rgb(15 23 42 / 4%), 0 4px 16px rgb(15 23 42 / 6%);
  --elevation-2: 0 2px 4px rgb(15 23 42 / 5%), 0 12px 32px rgb(15 23 42 / 10%);
  --radius-xl: 1rem;
  --color-primary-hover: color-mix(in srgb, var(--color-primary) 88%, #000);
  --color-link: var(--color-brand);
  --color-link-hover: color-mix(in srgb, var(--color-brand) 78%, #000);
  --surface-glass: color-mix(in srgb, var(--color-surface) 90%, transparent);
  --surface-glass-desktop: rgb(255 255 255 / calc(var(--glass-panel-pct, 40) * 1%));
}

a:not(.btn):hover {
  color: var(--color-link-hover);
}

/* Fotka pozadí musí prosvítat na všech stránkách (domů i /kategorie/*) — téma jinak přepíše neprůhlednou vrstvou */
.site-body {
  background: transparent !important;
}

.site-bg:has(.site-bg-desktop-photo) .site-bg-fallback,
.site-bg:has(.site-bg-desktop-photo) .site-bg-mobile-fallback {
  display: none !important;
}

body {
  font-family: var(--font-display);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 639px) {
  html {
    font-size: 17px;
  }
}

/* ——— Pozadí ——— */

body {
  --site-bg-overlay: var(--site-bg-overlay-mobile, 0.45);
  --site-bg-blur: var(--site-bg-blur-mobile, 0px);
  --site-bg-brightness: var(--site-bg-brightness-mobile, 1);
  --site-bg-saturation: var(--site-bg-saturation-mobile, 1);
  --site-bg-object-position: var(--site-bg-object-position-mobile, center);
}

@media (min-width: 768px) {
  body {
    --site-bg-overlay: var(--site-bg-overlay-desktop, var(--site-bg-overlay-mobile, 0.45));
    --site-bg-blur: var(--site-bg-blur-desktop, var(--site-bg-blur-mobile, 0px));
    --site-bg-brightness: var(--site-bg-brightness-desktop, var(--site-bg-brightness-mobile, 1));
    --site-bg-saturation: var(--site-bg-saturation-desktop, var(--site-bg-saturation-mobile, 1));
    --site-bg-object-position: var(--site-bg-object-position-desktop, var(--site-bg-object-position-mobile, center));
  }
}

.site-bg-overlay {
  z-index: 2;
  background: linear-gradient(
    165deg,
    rgb(8 20 38 / calc(var(--site-bg-overlay, 0.45) * 0.85)),
    rgb(15 39 68 / calc(var(--site-bg-overlay, 0.45) * 0.65))
  );
  opacity: 1;
}

.site-bg-image,
.site-bg-video,
.site-bg-solid {
  filter: blur(var(--site-bg-blur, 0px)) brightness(var(--site-bg-brightness, 1))
    saturate(var(--site-bg-saturation, 1));
}

/* ——— Hlavička & navigace (červená jako spodní lišta) ——— */

/* Komunitní lišta nad hlavní hlavičkou (desktop) */
.site-community-nav {
  background: #1a4a72;
  border-bottom: 1px solid color-mix(in srgb, #1a4a72 72%, #000);
}

.site-community-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  max-width: var(--content-max-wide, 960px);
  margin: 0 auto;
  min-height: var(--community-nav-h, 28px);
  padding: 0.22rem var(--space-4);
}

/* Desktop: modrý pruh jen na šířku obsahu (jako header-inner), ne přes celý displej */
@media (min-width: 768px) {
  .site-community-nav {
    background: transparent;
    border-bottom: none;
  }

  .site-community-nav-inner {
    background: #1a4a72;
    border-bottom: 1px solid color-mix(in srgb, #1a4a72 72%, #000);
    box-shadow: 0 2px 8px rgb(0 0 0 / 12%);
  }

  .site-community-nav--glass .site-community-nav-inner {
    background: rgb(255 255 255 / calc(var(--glass-panel-pct, 40) * 1%));
    border: 1px solid color-mix(in srgb, var(--color-border) 45%, transparent);
    border-bottom: 1px solid color-mix(in srgb, var(--color-border) 45%, transparent);
    box-shadow: var(--elevation-1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .site-community-nav--glass .site-community-nav-link {
    color: var(--color-brand);
  }

  .site-community-nav--glass .site-community-nav-link:hover,
  .site-community-nav--glass .site-community-nav-link:focus-visible,
  .site-community-nav--glass .site-community-nav-link--active {
    color: color-mix(in srgb, var(--color-brand) 78%, #000);
  }

  .site-community-nav--glass .site-community-nav-sep {
    color: color-mix(in srgb, var(--color-brand) 42%, transparent);
  }

  .site-community-nav--glass .site-community-nav-pwa {
    color: var(--color-brand);
  }

  .site-community-nav--glass .site-community-nav-pwa:hover,
  .site-community-nav--glass .site-community-nav-pwa:focus-visible {
    color: color-mix(in srgb, var(--color-brand) 78%, #000);
  }
}

.site-community-nav-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.45rem;
  min-width: 0;
}

.site-community-nav-link {
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  color: #f1f5f9;
  text-decoration: none;
  transition: color var(--transition);
}

.site-community-nav-link:hover,
.site-community-nav-link:focus-visible {
  color: #fff;
  text-decoration: none;
}

.site-community-nav-link--active {
  color: #fff;
}

.site-community-nav-sep {
  color: rgb(241 245 249 / 45%);
  font-size: 0.8125rem;
  line-height: 1;
  user-select: none;
}

.site-community-nav-aside {
  flex-shrink: 0;
}

.site-community-nav-pwa {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.25;
  color: #f1f5f9;
  cursor: pointer;
  transition: color var(--transition);
}

.site-community-nav-pwa:hover,
.site-community-nav-pwa:focus-visible {
  color: #fff;
}

button.site-community-nav-pwa[hidden] {
  display: none;
}

/* Mobil: horní komunitní lišta + fixní chrome (rolije se jen obsah) */
@media (max-width: 767px) {
  body.site-community-nav-mobile {
    --community-nav-h: 30px;
  }

  body.site-community-nav-mobile .site-chrome {
    position: sticky;
    top: 0;
  }

  body.site-community-nav-mobile .site-header {
    position: static;
    top: auto;
  }

  /* Aplikace Pernink — jen v patičce */
  body.site-community-nav-mobile .site-community-nav-aside {
    display: none;
  }

  body.site-community-nav-mobile .site-community-nav-inner {
    justify-content: center;
    padding: 0.28rem var(--space-3);
  }

  body.site-community-nav-mobile .site-community-nav-links {
    justify-content: center;
    flex-wrap: wrap;
  }

  body.site-community-nav-mobile.site-scenic .site-community-nav--glass .site-community-nav-inner,
  body.site-community-nav-mobile .site-community-nav--glass .site-community-nav-inner {
    background: rgb(255 255 255 / calc(var(--glass-panel-pct, 40) * 1%));
    border: 1px solid color-mix(in srgb, var(--color-border) 45%, transparent);
    box-shadow: var(--elevation-1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  body.site-community-nav-mobile .site-community-nav--glass .site-community-nav-link {
    color: var(--color-brand);
  }

  body.site-community-nav-mobile .site-community-nav--glass .site-community-nav-link:hover,
  body.site-community-nav-mobile .site-community-nav--glass .site-community-nav-link:focus-visible,
  body.site-community-nav-mobile .site-community-nav--glass .site-community-nav-link--active {
    color: color-mix(in srgb, var(--color-brand) 78%, #000);
  }

  body.site-community-nav-mobile .site-community-nav--glass .site-community-nav-sep {
    color: color-mix(in srgb, var(--color-brand) 42%, transparent);
  }
}

.site-header {
  background: var(--color-brand);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid color-mix(in srgb, var(--color-brand) 78%, #000);
  box-shadow: 0 2px 8px rgb(0 0 0 / 12%);
}

/* Desktop: červený pruh jen na šířku obsahu (logo → menu účtu), ne přes celý displej */
@media (min-width: 768px) {
  .site-header {
    background: transparent;
    border-bottom: none;
    box-shadow: none;
  }

  .header-inner {
    background: var(--color-brand);
    border-bottom: 1px solid color-mix(in srgb, var(--color-brand) 78%, #000);
    box-shadow: 0 2px 8px rgb(0 0 0 / 12%);
  }
}

.site-header .site-logo-text {
  color: #fff;
}

.site-header .user-menu-trigger {
  border-color: rgb(255 255 255 / 45%);
  background: rgb(255 255 255 / 10%);
}

.site-header .user-menu-trigger:hover,
.site-header .header-dropdown[open] > summary.user-menu-trigger {
  border-color: #fff;
}

.site-header .user-menu-chevron {
  background: rgb(255 255 255 / 22%);
  color: #fff;
}

.site-header .site-nav-account .btn-secondary.btn-sm {
  border-color: rgb(255 255 255 / 65%);
  color: #fff;
  background: transparent;
}

.site-header .site-nav-account .btn-secondary.btn-sm:hover,
.site-header .site-nav-account .btn-secondary.btn-sm:focus-visible {
  border-color: #fff;
  color: #fff;
  background: rgb(255 255 255 / 14%);
}

.site-header .header-login-btn {
  border: 1px solid #fff;
  background: #fff;
  color: var(--color-brand);
  font-weight: 600;
}

.site-header .header-login-btn:hover,
.site-header .header-login-btn:focus-visible {
  background: rgb(255 255 255 / 92%);
  border-color: #fff;
  color: color-mix(in srgb, var(--color-brand) 82%, #000);
}

.site-logo-text {
  font-size: calc(1.05rem * 0.75);
  letter-spacing: -0.02em;
}

.nav-link {
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  color: var(--color-text-muted);
  transition:
    background var(--transition),
    color var(--transition);
}

.nav-link:hover,
.nav-link:focus-visible {
  color: var(--color-primary);
  background: var(--color-primary-soft);
  text-decoration: none;
}

.nav-link-active {
  color: var(--color-primary);
  background: var(--color-primary-soft);
}

/* ——— Menu účtu — chevron v červeném kroužku (barva loga) ——— */

.user-menu-trigger {
  background: transparent;
  border-color: color-mix(in srgb, var(--color-border) 45%, transparent);
  padding: 0.12rem 0.12rem 0.12rem 0.15rem;
}

.user-menu-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 50%;
  background: var(--color-brand);
  color: #fff;
  font-size: 0.72rem;
  line-height: 1;
  margin-right: 0;
  flex-shrink: 0;
}

/* ——— Desktop: ikony v horní navigaci (bílé jako spodní lišta) ——— */

@media (min-width: 768px) {
  .site-nav-main .bottom-nav-item,
  .site-nav-main .bottom-nav-create-trigger {
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .site-nav-main .bottom-nav-item:hover,
  .site-nav-main .bottom-nav-item:focus-visible,
  .site-nav-main .bottom-nav-create-trigger:hover,
  .site-nav-main .bottom-nav-create-trigger:focus-visible {
    color: #fff;
    opacity: 0.92;
  }

  .site-nav-main .bottom-nav-item-active {
    color: #fff;
  }

  .site-nav-main .bottom-nav-item-active .bottom-nav-icon {
    background: rgb(255 255 255 / 22%);
    border-radius: var(--radius-sm);
  }

  .site-nav-main .bottom-nav-icon {
    width: 1.5rem;
    height: 1.5rem;
  }

  .site-nav-main .bottom-nav-icon svg {
    width: 1.35rem;
    height: 1.35rem;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .site-nav-main .bottom-nav-cta,
  .site-nav-main .create-menu--header > summary.bottom-nav-cta,
  .site-nav-main .create-menu--header > summary.bottom-nav-cta .bottom-nav-label {
    color: #fff;
    opacity: 1;
  }

  .site-nav-main .bottom-nav-cta .bottom-nav-icon {
    background: var(--color-create-bg, #fff);
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    box-shadow: 0 1px 3px rgb(0 0 0 / 20%);
  }

  .site-nav-main .bottom-nav-cta .bottom-nav-icon svg {
    width: 1rem;
    height: 1rem;
    stroke: var(--color-brand);
    fill: none;
    stroke-width: 2.5;
    stroke-linecap: round;
  }
}

/* ——— Panely & karty ——— */

.panel {
  background: rgb(255 255 255 / calc(var(--glass-panel-pct, 40) * 1%));
  border: 1px solid color-mix(in srgb, var(--color-border) 45%, transparent);
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-1);
  --color-text-muted: #141414;
  color: #0f0f0f;
}

.panel :is(h1, h2, h3, h4, h5, h6, .post-title, .poll-detail-question, .comments-heading) {
  color: var(--color-brand);
}

.panel a:not(.btn):not(.post-card-link):not(.category-link):not(.tag-link):not(.account-subnav-link):not(.org-directory-filter):not(.calendar-event-chip):not(.calendar-day-row-event):not(.calendar-upcoming-item) {
  color: var(--color-brand);
}

.author-link {
  color: var(--color-brand);
}

.post-link:hover {
  color: var(--color-link-hover);
}

.card {
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-1);
}

.feed-grid .post-card.panel,
.feed-grid .poll-card.panel,
.vzkaz-card.panel,
.vzkazy-compose.panel {
  background: rgb(255 255 255 / calc(var(--glass-card-pct, 45) * 1%));
  border: 1px solid color-mix(in srgb, var(--color-border) 40%, transparent);
  border-radius: var(--radius-lg);
  box-shadow: var(--elevation-1);
  transition:
    box-shadow var(--transition),
    transform var(--transition);
}

.feed-grid .post-card.panel:hover,
.feed-grid .poll-card.panel:hover,
.poll-card-link:focus-visible .poll-card {
  box-shadow: var(--elevation-2);
  transform: translateY(-2px);
}

.feed-grid .post-title,
.feed-grid .poll-card-question {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.35;
}

.feed-grid .post-excerpt {
  font-size: 0.9375rem;
  line-height: 1.5;
}

.feed-grid .post-cover-feed-link {
  margin: calc(var(--space-4) * -1) calc(var(--space-4) * -1) var(--space-3);
  width: calc(100% + var(--space-4) * 2);
  max-width: none;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
}

.feed-grid .post-cover-img {
  border-radius: 0;
  margin: 0;
}

.post-detail-title,
.poll-detail-question {
  letter-spacing: -0.02em;
}

/* ——— Tlačítka ——— */

.btn {
  border-radius: var(--radius-md);
  font-weight: 600;
  letter-spacing: -0.01em;
}

.btn-primary:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.btn-secondary:hover {
  background: color-mix(in srgb, var(--color-primary-soft) 80%, var(--color-primary));
}

/* ——— Kategorie & štítky ——— */

.category-nav {
  padding: var(--space-1);
  background: rgb(255 255 255 / calc(var(--glass-panel-pct, 40) * 1%));
  border: 1px solid rgb(255 255 255 / 35%);
  border-radius: var(--radius-lg);
}

.category-link {
  border-radius: var(--radius-md);
  font-size: 0.8125rem;
  color: var(--color-brand);
  background: color-mix(in srgb, var(--color-brand) 12%, white);
}

.category-link-active,
.panel .category-link-active {
  background: var(--color-brand);
  color: #fff;
  box-shadow: var(--elevation-1);
}

.tag-link {
  border-radius: var(--radius-md);
}

/* ——— Spodní lišta (mobil) ——— */

.bottom-nav {
  height: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom, 0px));
  padding-bottom: env(safe-area-inset-bottom, 0px);
  background: var(--color-brand);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-top: 1px solid color-mix(in srgb, var(--color-brand) 78%, #000);
  box-shadow: 0 -4px 16px rgb(0 0 0 / 14%);
}

.bottom-nav .bottom-nav-item,
.bottom-nav .bottom-nav-create-details > summary.bottom-nav-create-trigger {
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.bottom-nav .bottom-nav-item {
  flex-direction: column;
  gap: 0.12rem;
  padding: 0.28rem 0.05rem;
  min-width: 0;
  font-size: 0.5625rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #fff;
  transition:
    color var(--transition),
    opacity var(--transition);
}

.bottom-nav .bottom-nav-item:hover,
.bottom-nav .bottom-nav-item:focus-visible {
  color: #fff;
  opacity: 0.92;
}

.bottom-nav .bottom-nav-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
}

.bottom-nav .bottom-nav-icon svg {
  width: 1.1rem;
  height: 1.1rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bottom-nav .bottom-nav-item-active {
  color: #fff;
}

.bottom-nav .bottom-nav-item-active .bottom-nav-icon {
  background: rgb(255 255 255 / 22%);
  border-radius: var(--radius-sm);
}

.bottom-nav .bottom-nav-cta {
  color: #fff;
  opacity: 1;
}

.bottom-nav .bottom-nav-cta .bottom-nav-label,
.bottom-nav .bottom-nav-create-details > summary.bottom-nav-create-trigger,
.bottom-nav .bottom-nav-create-details > summary.bottom-nav-create-trigger .bottom-nav-label {
  color: #fff;
  font-weight: 600;
  opacity: 1;
}

.bottom-nav .bottom-nav-cta .bottom-nav-icon {
  background: var(--color-create-bg, #fff);
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  box-shadow: 0 1px 3px rgb(0 0 0 / 20%);
}

.bottom-nav .bottom-nav-label {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: inherit;
}

.bottom-nav .bottom-nav-cta .bottom-nav-icon svg {
  width: 0.85rem;
  height: 0.85rem;
  stroke: var(--color-brand);
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
}

/* ——— Odkazy a štítky na volném pozadí (mimo panel) ———
   Vzor: správa firmy nad hero. Každý odkaz mimo .panel = scenic-chip--link.
   Pravidlo: viz .cursor/rules/pernink-ui-design.mdc */

.scenic-chip-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  line-height: 1;
}

.role-manage-back,
.profile-manage-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 var(--space-3, 1rem);
  line-height: 1;
}

.scenic-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.48rem;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  border-radius: var(--radius-sm, 6px);
  box-shadow: 0 1px 3px rgb(15 23 42 / 14%);
  transition:
    background var(--transition, 0.15s ease),
    box-shadow var(--transition, 0.15s ease),
    border-color var(--transition, 0.15s ease);
}

.scenic-chip--link,
.scenic-chip-row > a:not(.btn),
.scenic-chip-row > button.scenic-chip--link:not(.btn),
.role-manage-back > a,
.profile-manage-nav > a,
.site-footer-links > a,
button.site-footer-pwa-install {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.22rem 0.48rem;
  font-size: 0.82rem;
  font-weight: 600;
  line-height: 1.25;
  white-space: nowrap;
  border-radius: var(--radius-sm, 6px);
  box-shadow: 0 1px 3px rgb(15 23 42 / 14%);
  text-decoration: none;
  color: var(--color-brand, var(--color-primary));
  background: rgb(255 255 255 / 94%);
  border: 1px solid rgb(255 255 255 / 72%);
  cursor: pointer;
  font-family: inherit;
  transition:
    background var(--transition, 0.15s ease),
    box-shadow var(--transition, 0.15s ease),
    border-color var(--transition, 0.15s ease);
}

.scenic-chip--link:hover,
.scenic-chip-row > a:not(.btn):hover,
.scenic-chip-row > button.scenic-chip--link:not(.btn):hover,
.role-manage-back > a:hover,
.profile-manage-nav > a:hover,
.site-footer-links > a:hover,
button.site-footer-pwa-install:hover {
  text-decoration: none;
  background: #fff;
  border-color: rgb(255 255 255 / 92%);
  box-shadow: 0 2px 6px rgb(15 23 42 / 18%);
}

.scenic-chip--link:focus-visible,
.scenic-chip-row > a:not(.btn):focus-visible,
.scenic-chip-row > button.scenic-chip--link:not(.btn):focus-visible,
.role-manage-back > a:focus-visible,
.profile-manage-nav > a:focus-visible,
.site-footer-links > a:focus-visible,
button.site-footer-pwa-install:focus-visible {
  outline: 2px solid var(--color-brand, var(--color-primary));
  outline-offset: 2px;
}

.scenic-chip--brand {
  color: #fff;
  background: var(--color-brand, var(--color-primary));
  border: 1px solid color-mix(in srgb, var(--color-brand, var(--color-primary)) 78%, #000);
  text-shadow:
    0 0 1px rgb(0 0 0 / 90%),
    0 1px 2px rgb(0 0 0 / 60%);
}

/* ——— Patička ——— */

.site-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8125rem;
}

.site-footer-tagline {
  margin: 0;
}

.site-footer-community-mobile {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;
}

.site-footer-community-mobile:empty {
  display: none;
}

@media (min-width: 768px) {
  .site-footer-community-mobile {
    display: none !important;
  }
}

.site-footer-links {
  margin: 0;
}

.site-footer .scenic-chip-row {
  justify-content: center;
  width: 100%;
}

button.site-footer-pwa-install[hidden] {
  display: none;
}

/* ——— Formuláře ——— */

.form input[type="text"],
.form input[type="email"],
.form input[type="password"],
.form input[type="tel"],
.form input[type="url"],
.form input[type="datetime-local"],
.form input[type="number"],
.form select,
.form textarea {
  border-radius: var(--radius-md);
  border-color: color-mix(in srgb, var(--color-border) 80%, transparent);
  transition:
    border-color var(--transition),
    box-shadow var(--transition);
}

.form input:focus-visible,
.form select:focus-visible,
.form textarea:focus-visible {
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  .feed-grid .post-card.panel:hover,
  .feed-grid .poll-card.panel:hover {
    transform: none;
  }
}

/* ——— Desktop: video místo fotky (volba v adminu) ——— */

@media (min-width: 768px) {
  body[data-bg-desktop-video="1"] .site-bg-video {
    display: block;
  }

  body[data-bg-desktop-video="1"] .site-bg-desktop-photo {
    display: none !important;
  }

  body:not([data-bg-desktop-video="1"]) .site-bg-video {
    display: none !important;
  }
}

/* ——— Přihlášení / registrace: čitelný text přímo na pozadí ——— */

.auth-card {
  --auth-readable-shadow:
    0 0 1px rgb(0 0 0 / 100%),
    0 0 8px rgb(0 0 0 / 85%),
    0 1px 2px rgb(0 0 0 / 90%),
    1px 0 0 rgb(0 0 0 / 75%),
    -1px 0 0 rgb(0 0 0 / 75%),
    0 1px 0 rgb(0 0 0 / 75%),
    0 -1px 0 rgb(0 0 0 / 75%);
}

.auth-card h1 {
  color: #fff;
  text-align: center;
  text-shadow: var(--auth-readable-shadow);
  -webkit-text-stroke: 0.35px rgb(0 0 0 / 70%);
}

.auth-card .form > label,
.auth-card .form fieldset legend,
.auth-card .form fieldset label,
.auth-card .hint,
.auth-card .auth-footer {
  color: #fff;
  text-shadow: var(--auth-readable-shadow);
  -webkit-text-stroke: 0.25px rgb(0 0 0 / 65%);
}

.auth-card .form input,
.auth-card .form select,
.auth-card .form textarea {
  color: var(--color-text);
  text-shadow: none;
  -webkit-text-stroke: 0;
  background: rgb(255 255 255 / 92%);
  border-color: rgb(255 255 255 / 55%);
  box-shadow: 0 2px 12px rgb(0 0 0 / 18%);
}

.auth-card .form fieldset {
  border-color: rgb(255 255 255 / 40%);
  background: rgb(0 0 0 / 12%);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.auth-card .auth-footer a {
  color: #fff;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.auth-card .form-error {
  text-shadow: none;
  -webkit-text-stroke: 0;
}

/* Panel přihlášení — sklo, text jako u ostatních panelů */

.auth-login-panel.panel {
  background: var(--auth-panel-bg, rgb(255 255 255 / 55%)) !important;
  backdrop-filter: blur(14px) saturate(1.15);
  -webkit-backdrop-filter: blur(14px) saturate(1.15);
  border-color: rgb(255 255 255 / 35%);
}

.auth-login-panel h1 {
  text-align: center;
}

.auth-login-panel .auth-footer {
  text-align: center;
  font-size: 0.9rem;
  color: var(--color-text-muted);
}

.auth-forgot-footer {
  margin-top: calc(var(--space-2) * -1);
}

/* ——— Domů: režim jen pozadí (logo přepínač) ——— */

.site-scenic .site-main {
  flex: 1 1 auto;
}

.home-scenic {
  min-height: min(50vh, 24rem);
}
