/* ==========================================================================
   Homepage layouty - HP-1 editorial, HP-2 dve cesty, HP-3 galerie
   ========================================================================== */

/* --- HP-1: full-bleed emotivni hero --- */
.hero-editorial {
  position: relative;
  min-height: min(94vh, 900px);
  display: grid;
  align-items: end;
  color: #fff;
  isolation: isolate;
  overflow: hidden;
}
.hero-editorial__bg {
  position: absolute; inset: 0; z-index: -2;
  background:
    radial-gradient(70% 60% at 25% 20%, #6E3760, transparent 60%),
    radial-gradient(60% 60% at 85% 30%, #C98B86, transparent 55%),
    linear-gradient(160deg, #4A2242 0%, #7A4A6C 45%, #C6968E 100%);
}
.hero-editorial__bg::after {
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(40% 40% at 70% 75%, rgba(127,166,107,0.28), transparent 60%),
    radial-gradient(30% 30% at 15% 80%, rgba(201,169,106,0.30), transparent 60%);
}
.hero-editorial__veil {
  position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(0deg, rgba(30,18,28,0.66) 0%, rgba(30,18,28,0.15) 45%, rgba(30,18,28,0.35) 100%);
}
.hero-editorial__inner { padding-block: clamp(6rem, 12vh, 10rem) clamp(3rem, 8vh, 6rem); max-width: 46rem; }
.hero-editorial .eyebrow { color: #F0DFC4; }
.hero-editorial .eyebrow::before { background: var(--c-gold-soft); }
.hero-editorial__title {
  font-size: var(--display);
  color: #fff;
  line-height: var(--lh-tight);
  margin: 0.4rem 0 var(--space-md);
}
.hero-editorial__lead { font-size: var(--step-2); color: #F3E7EF; max-width: 34ch; margin-bottom: var(--space-lg); }
.hero-editorial__scroll {
  position: absolute; left: 50%; bottom: 1.5rem; transform: translateX(-50%);
  color: rgba(255,255,255,0.85); font-size: 0.72rem; letter-spacing: 0.22em; text-transform: uppercase;
  display: grid; justify-items: center; gap: 0.4rem;
}
.hero-editorial__scroll span { width: 1px; height: 34px; background: rgba(255,255,255,0.6); animation: scrollpulse 2.2s var(--ease) infinite; }
@keyframes scrollpulse { 0%,100% { opacity: 0.3; transform: scaleY(0.6); } 50% { opacity: 1; transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { .hero-editorial__scroll span { animation: none; } }

/* Editorial zigzag foto/text */
.zigzag { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.zigzag + .zigzag { margin-top: var(--space-2xl); }
.zigzag--flip .zigzag__media { order: 2; }
.zigzag__media .photo { aspect-ratio: 4 / 5; box-shadow: var(--shadow-soft); }
.zigzag__media { position: relative; }
.zigzag__tagphoto {
  position: absolute; bottom: -1.2rem; right: -1.2rem;
  width: 42%; aspect-ratio: 1;
  box-shadow: var(--shadow-2);
  border: 5px solid var(--c-surface);
  border-radius: var(--radius-lg);
}
.zigzag__body h2 { font-size: var(--display-sm); }
.zigzag__body p { color: var(--c-muted); font-size: var(--step-1); }
@media (max-width: 820px) {
  .zigzag { grid-template-columns: 1fr; gap: var(--space-lg); }
  .zigzag--flip .zigzag__media { order: 0; }
  .zigzag__tagphoto { display: none; }
}

/* --- HP-2: split hero + dve cesty napred --- */
.hero-compact {
  padding-block: clamp(2rem, 4vw, 3.5rem) var(--space-md);
  text-align: center;
}
.hero-compact__title { font-size: var(--display-sm); margin-bottom: var(--space-xs); }
.hero-compact__lead { font-size: var(--step-1); color: var(--c-muted); max-width: 52ch; margin-inline: auto; }
.hero-compact__note { max-width: 58ch; margin: var(--space-md) auto 0; color: var(--c-muted); }

/* Rozsirene "dve cesty" karty pro HP-2 (vetsi) */
.paths--hero .path-card { min-height: 420px; }

/* --- HP-3: nizky hero pruh --- */
.hero-strip {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--space-md);
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--c-border);
}
.hero-strip__title { font-size: var(--display-sm); margin: 0; max-width: 18ch; }
.hero-strip__aside { max-width: 30ch; }
.hero-strip__aside p { color: var(--c-muted); margin-bottom: var(--space-sm); }

/* Full-bleed masonry pro HP-3 */
.gallery-fullbleed { columns: 5 200px; column-gap: 0.6rem; }
.gallery-fullbleed .gallery-item { margin-bottom: 0.6rem; }
@media (max-width: 900px) { .gallery-fullbleed { columns: 3 130px; } }
@media (max-width: 560px) { .gallery-fullbleed { columns: 2 130px; } }

/* Pozn.: .quote-band a .feature-strap jsou nyni v components.css (sdilene) */

/* Zaverecne CTA na poptavku */
.cta-band {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: clamp(2.5rem, 5vw, 4.5rem);
  color: #fff;
  isolation: isolate;
  text-align: center;
}
.cta-band__bg {
  position: absolute; inset: 0; z-index: -1;
  background:
    radial-gradient(60% 80% at 20% 20%, #6E3760, transparent 60%),
    radial-gradient(50% 70% at 85% 80%, #C98B86, transparent 55%),
    linear-gradient(150deg, #4A2242, #5E2A52);
}
.cta-band h2 { color: #fff; font-size: var(--display-sm); margin-bottom: var(--space-sm); }
.cta-band p { color: #F0E4EC; font-size: var(--step-1); max-width: 44ch; margin-inline: auto var(--space-md); margin-inline: auto; margin-bottom: var(--space-md); }
.cta-band .stack-cta { justify-content: center; }

@media (max-width: 700px) {
  .hero-editorial { min-height: 82vh; }
  .zigzag__body p, .hero-editorial__lead { font-size: var(--step-0); }
}
