/* Landing Místopříběh — emotivní vizuál v barvách loga */

.pribehy-landing {
  --mp-red: #8b1a2b;
  --mp-navy: #1a4366;
  --mp-red-soft: rgb(139 26 43 / 12%);
  --mp-navy-soft: rgb(26 67 102 / 10%);
  --pribehy-feed-columns: 3;
  --pribehy-feed-gap: var(--space-4);
  --pribehy-hero-featured-scale: 0.8;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 52rem;
  margin: 0 auto;
}

.pribehy-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 2.5rem);
  border: 1px solid color-mix(in srgb, var(--mp-navy) 18%, var(--color-border));
}

.pribehy-hero-glow {
  position: absolute;
  inset: -30% -10% auto;
  height: 70%;
  background:
    radial-gradient(ellipse at 30% 20%, var(--mp-red-soft), transparent 55%),
    radial-gradient(ellipse at 80% 10%, var(--mp-navy-soft), transparent 50%);
  pointer-events: none;
}

.pribehy-hero-layout {
  position: relative;
}

.pribehy-hero-main {
  text-align: center;
}

.pribehy-hero-featured {
  display: none;
}

.pribehy-logo-wrap {
  margin-bottom: var(--space-4);
}

.pribehy-logo-link {
  display: inline-block;
  border-radius: var(--radius-sm);
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.pribehy-logo-link:hover {
  opacity: 0.92;
  transform: scale(1.02);
}

.pribehy-logo-link:focus-visible {
  outline: 2px solid var(--mp-navy);
  outline-offset: 4px;
}

.pribehy-logo {
  max-width: min(100%, 20rem);
  height: auto;
  margin: 0 auto;
  display: block;
  filter: drop-shadow(0 8px 24px rgb(26 67 102 / 12%));
}

.pribehy-title {
  margin: 0 0 var(--space-3);
  font-size: clamp(1.65rem, 4.5vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--mp-navy);
}

.pribehy-lead {
  margin: 0 auto;
  max-width: 38rem;
  font-size: clamp(1.05rem, 2.5vw, 1.2rem);
  line-height: 1.65;
  color: var(--color-text);
  font-weight: 500;
}

.pribehy-body {
  padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.25rem);
}

.pribehy-prose {
  font-size: 1.05rem;
  line-height: 1.75;
  color: var(--color-text);
}

.pribehy-prose .cms-md-p {
  margin: 0 0 1.1rem;
}

.pribehy-prose .cms-md-h2,
.pribehy-prose .cms-md-h3,
.pribehy-prose .cms-md-h4 {
  color: var(--mp-navy);
  margin: 1.75rem 0 0.75rem;
  line-height: 1.25;
}

.pribehy-prose .cms-md-h2 {
  font-size: 1.45rem;
  font-weight: 800;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid var(--mp-red-soft);
}

.pribehy-prose .cms-md-h3 {
  font-size: 1.2rem;
  font-weight: 700;
}

.pribehy-prose .cms-md-ul {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
}

.pribehy-prose .cms-md-ul li {
  margin-bottom: 0.5rem;
}

.pribehy-prose .cms-md-ul li::marker {
  color: var(--mp-red);
}

.pribehy-prose .cms-block-quote {
  margin: 1.75rem 0;
  padding: 1.25rem 1.35rem 1.25rem 1.5rem;
  border-left: 4px solid var(--mp-red);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  background: linear-gradient(90deg, var(--mp-red-soft), transparent 85%);
}

.pribehy-prose .cms-block-quote p {
  margin: 0;
  font-size: clamp(1.1rem, 2.5vw, 1.35rem);
  font-weight: 700;
  font-style: italic;
  line-height: 1.5;
  color: var(--mp-navy);
}

.pribehy-prose .cms-block-image {
  margin: 1.5rem 0;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--elevation-2);
}

.pribehy-prose .cms-block-image img {
  display: block;
  width: 100%;
  height: auto;
}

.pribehy-prose .cms-block-image figcaption {
  padding: 0.5rem 0.75rem;
  font-size: 0.85rem;
  color: var(--color-text-muted);
  background: var(--color-bg);
}

.pribehy-prose .cms-md-arrow {
  font-weight: 600;
  color: var(--mp-navy);
}

.pribehy-action {
  text-align: center;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border: 1px solid color-mix(in srgb, var(--mp-red) 15%, var(--color-border));
}

.pribehy-action-intro {
  margin: 0 0 var(--space-4);
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--mp-navy);
}

.pribehy-cta-row {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  align-items: stretch;
  max-width: 22rem;
  margin: 0 auto var(--space-3);
}

.pribehy-btn-misto {
  background: linear-gradient(135deg, var(--mp-red) 0%, #6d1522 100%);
  color: #fff;
  border: none;
  font-weight: 700;
  font-size: 1.05rem;
  padding: 0.85rem 1.25rem;
  box-shadow: 0 8px 24px rgb(139 26 43 / 28%);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.pribehy-btn-misto:hover,
.pribehy-btn-misto:focus-visible {
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgb(139 26 43 / 32%);
}

.pribehy-btn-outline {
  border: 2px solid var(--mp-navy);
  color: var(--mp-navy);
  font-weight: 700;
  padding: 0.8rem 1.25rem;
}

.pribehy-btn-outline:hover,
.pribehy-btn-outline:focus-visible {
  background: var(--mp-navy-soft);
  color: var(--mp-navy);
}

.pribehy-footer-note {
  margin: var(--space-3) 0 0;
  font-size: 0.82rem;
  color: var(--color-text-muted);
}

.pribehy-action.pribehy-action-highlight {
  animation: pribehyPulse 1.2s ease 2;
}

@keyframes pribehyPulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgb(139 26 43 / 0%);
  }
  50% {
    box-shadow: 0 0 0 6px rgb(139 26 43 / 18%);
  }
}

/* Všechny tři panely — stejná bílá vrstva dle adminu (Panely a kategorie %), bez rozmazání pozadí */
.pribehy-landing .panel {
  background: rgb(255 255 255 / calc(var(--glass-panel-pct, 40) * 1%));
}

@media (min-width: 640px) {
  .pribehy-cta-row {
    flex-direction: row;
    max-width: none;
    justify-content: center;
    flex-wrap: wrap;
  }

  .pribehy-cta-row .btn {
    min-width: 14rem;
  }
}

/* Feed příběhů z Místopříběhu — 3 karty v řadě, stejný vzhled jako příspěvky */
.pribehy-stories-section {
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.pribehy-stories-heading {
  align-self: center;
  margin: 0 0 var(--space-4);
  padding: var(--space-3) clamp(1rem, 4vw, 1.75rem);
  font-size: clamp(1.35rem, 3vw, 1.65rem);
  font-weight: 800;
  color: var(--mp-navy);
  text-align: center;
  max-width: min(100%, 28rem);
}

.pribehy-stories-heading.panel {
  background: rgb(255 255 255 / calc(var(--glass-panel-pct, 40) * 1%));
  border: 1px solid color-mix(in srgb, var(--mp-navy) 16%, var(--color-border));
  box-shadow: var(--elevation-1);
  color: var(--mp-navy);
}

.pribehy-stories-grid {
  --feed-columns: var(--pribehy-feed-columns);
}

@media (min-width: 901px) {
  .pribehy-landing {
    max-width: min(100%, 72rem);
  }

  .pribehy-hero {
    padding: 0 0 0 clamp(1.25rem, 2.5vw, 2rem);
    overflow: visible;
  }

  .pribehy-hero-glow {
    height: 100%;
    inset: -20% -5%;
  }

  .pribehy-hero-layout {
    --pribehy-hero-feed-col: calc(
      (100% - (var(--pribehy-feed-columns) - 1) * var(--pribehy-feed-gap))
      / var(--pribehy-feed-columns)
    );
    --pribehy-hero-featured-visual: calc(var(--pribehy-hero-feed-col) * var(--pribehy-hero-featured-scale));
    --pribehy-hero-featured-pad: calc(var(--pribehy-hero-featured-visual) * 0.05);

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, var(--pribehy-hero-feed-col));
    gap: var(--pribehy-feed-gap);
    align-items: center;
    padding-top: var(--pribehy-hero-featured-pad);
    padding-bottom: var(--pribehy-hero-featured-pad);
    padding-right: var(--pribehy-hero-featured-pad);
  }

  .pribehy-hero-main {
    min-width: 0;
  }

  .pribehy-hero-featured {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    min-width: 0;
    overflow: visible;
    align-self: center;
  }

  /* zoom 0.8 zmenší celou kartu včetně layoutu — bez širokého 125% obalu, který se ořezával */
  .pribehy-hero-featured-scale {
    width: 100%;
    zoom: var(--pribehy-hero-featured-scale);
  }

  @supports not (zoom: 1) {
    .pribehy-hero-featured-scale {
      transform: scale(var(--pribehy-hero-featured-scale));
      transform-origin: top left;
      width: 100%;
    }
  }

  .pribehy-hero-featured .pribehy-story-card {
    margin: 0;
    min-width: 0;
    overflow: visible;
  }

  .pribehy-hero-featured .post-excerpt {
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
  }
}

.pribehy-story-card .post-header {
  margin-bottom: var(--space-2);
}

.pribehy-story-card .post-title a {
  color: inherit;
  text-decoration: none;
}

.pribehy-story-card .post-title a:hover,
.pribehy-story-card .post-title a:focus-visible {
  color: var(--mp-navy);
  text-decoration: underline;
}

.pribehy-story-card .post-cover-link {
  aspect-ratio: 16 / 10;
  max-height: none;
  margin: calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) var(--space-3);
  background: color-mix(in srgb, var(--mp-navy) 6%, #eef2f6);
  overflow: hidden;
}

.pribehy-stories-grid .pribehy-story-card .post-cover-link:not(.pribehy-story-cover--fallback) .post-cover-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 10rem;
  max-height: none;
  object-fit: cover;
  object-position: center;
}

.pribehy-stories-grid .pribehy-story-card .post-cover-link.pribehy-story-cover--map {
  display: block;
  padding: 0;
  background: #1a2332;
}

.pribehy-stories-grid .pribehy-story-card .pribehy-story-map-wrap {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.pribehy-stories-grid .pribehy-story-card .pribehy-story-map-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  object-position: center;
}

.pribehy-stories-grid .pribehy-story-card .post-cover-link.pribehy-story-cover--fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

/* Vlastní třída — mimo .post-cover-img (globálně object-fit: cover, width 100 %) */
.pribehy-stories-grid .pribehy-story-card .pribehy-story-cover-icon-img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: auto;
  max-width: min(5.5rem, 46%);
  max-height: min(5.5rem, 78%);
  object-fit: contain;
  object-position: center;
}
