/* ==========================================================================
   KlepeTo — home.css
   Sekce specifické pro úvodní stránku. Sdílené prvky jsou v global.css.
   ========================================================================== */

/* --- 1. Hero ------------------------------------------------------------ */
.hero {
  position: relative;
  min-height: 78svh;
  display: flex;
  align-items: flex-end;
  padding-block: clamp(4rem, 8vw, 8rem);
  overflow: hidden;
}
.hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* tmavý gradient zdola kvůli čitelnosti karty */
.hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(30, 30, 28, 0.15) 0%,
    rgba(30, 30, 28, 0.05) 40%,
    rgba(30, 30, 28, 0.55) 100%
  );
}
.hero__card {
  position: relative;
  z-index: 1;
  max-width: 60rem;
  background: rgba(30, 30, 28, 0.42);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-hero);
  padding: clamp(2.8rem, 4vw, 4rem);
  color: #fff;
}
.hero__eyebrow {
  color: #fff;
}
.hero__eyebrow::before {
  background: var(--color-primary);
}
.hero h1 {
  color: #fff;
  font-size: clamp(4.1rem, 5.4vw, 6.4rem);
  margin-bottom: 1.6rem;
}
.hero__lead {
  color: rgba(255, 255, 255, 0.9);
  font-size: var(--fs-lead);
  line-height: 1.5;
  max-width: 46ch;
}
.hero__lead strong {
  color: #fff;
  font-weight: 600;
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: var(--action-offset);
}
/* --- 2. Dostupnost ------------------------------------------------------ */
.access__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(2rem, 3vw, 3.2rem);
}
.access-card {
  display: flex;
  gap: 1.8rem;
  align-items: flex-start;
  background: var(--color-paper);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  padding: 2.4rem;
}
.access-card h3 {
  margin-bottom: 0.8rem;
}
.access-card p {
  color: var(--color-ink-soft);
  font-size: var(--font-size-base);
  line-height: 1.5;
}
.access-card p + p {
  margin-top: 0.8rem;
}
@media (max-width: 680px) {
  .access__grid {
    grid-template-columns: 1fr;
  }
}

/* --- 3. Filozofie (teaser): číslované karty ----------------------------- */
.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(24rem, 1fr));
  gap: clamp(1.6rem, 2.4vw, 2.4rem);
}
.teaser-intro {
  margin-bottom: clamp(2.8rem, 4vw, 4rem);
}

/* V úvodu sekce „Kdo jsme“ patří oba editovatelné textové bloky těsně
   k sobě; běžný odstup hlavičky by mezi nimi vytvářel zbytečně velkou mezeru. */
#filozofie .section__head {
  margin-bottom: clamp(1.6rem, 2.5vw, 2.2rem);
}

/* --- 4. Průběh dne (teaser): velké bloby s ikonami ---------------------
   Rytmus nenese spojnice, ale sama sada blobů (různá velikost a tvar).
   Bloby sedí v pevně vysokém slotu, aby nadpisy držely jednu linku
   i při rozdílné velikosti blobu. */
.day-blobs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.6rem, 3vw, 3.2rem);
  align-items: start;
}
.day-blob {
  text-align: center;
}
.day-blob__media {
  display: grid;
  place-items: center;
  /* výška pojme i největší blob a časový štítek přesahující pod něj */
  height: 12rem;
  margin-bottom: 1.8rem;
}
.day-blob__shape {
  position: relative;
  display: grid;
  place-items: center;
  width: var(--blob-size, 9.6rem);
  height: var(--blob-size, 9.6rem);
  border-radius: var(--blob);
  background: var(--blob-tint, var(--tint-sage));
}
.day-blob:nth-child(even) .day-blob__shape {
  border-radius: var(--blob-alt);
}
/* ikona 56px dle DESIGN.md, menší velikost tenhle styl neunese */
.day-blob__shape svg {
  width: 5.6rem;
  height: 5.6rem;
  color: var(--color-ink);
}
.day-blob__shape img {
  width: 5.6rem;
  height: 5.6rem;
  object-fit: contain;
}
.day-blob h3 {
  margin-bottom: 0.6rem;
}
.day-blob__desc {
  color: var(--color-ink-soft);
  font-size: var(--font-size-base);
  line-height: 1.5;
}
/* jen světlé tinty, aby na nich černá ikona spolehlivě čitelně sedla */
.day-blob:nth-child(1) { --blob-size: 9.8rem;  --blob-tint: var(--tint-sage); }
.day-blob:nth-child(2) { --blob-size: 10.2rem; --blob-tint: var(--tint-sky); }
.day-blob:nth-child(3) { --blob-size: 9.6rem;  --blob-tint: var(--tint-sun); }
.day-blob:nth-child(4) { --blob-size: 10rem;  --blob-tint: var(--tint-gold); }

/* Týdenní rytmus navazuje stejným vizuálním jazykem jako běžný den:
   organický blob, ikona a frekvenční štítek zavěšený na jeho hraně. */
.week-rhythm {
  margin-top: clamp(4.8rem, 7vw, 6.8rem);
  padding-top: clamp(3.2rem, 5vw, 4.4rem);
  border-top: 1px solid var(--color-line-strong);
}
.week-rhythm__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.1rem;
  margin-bottom: clamp(3.2rem, 4.5vw, 4.4rem);
  font-size: 1.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.week-rhythm__label::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  flex: none;
  border-radius: var(--blob);
  background: var(--color-primary);
}
.week-rhythm__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(20rem, 1fr));
  gap: clamp(4rem, 8vw, 9rem);
  max-width: 68rem;
  margin-inline: auto;
}
.week-rhythm__item {
  text-align: center;
}
.week-rhythm__media {
  display: grid;
  place-items: center;
  height: 10.8rem;
  margin-bottom: 2rem;
}
.week-rhythm__shape {
  position: relative;
  display: grid;
  place-items: center;
  width: 8.7rem;
  height: 8.7rem;
  border-radius: var(--blob);
  background: #f2cbd3;
  background: color-mix(in srgb, var(--tint-rose) 45%, white);
}
.week-rhythm__item:nth-child(2) .week-rhythm__shape {
  width: 9rem;
  height: 9rem;
  border-radius: var(--blob-alt);
  background: #d8d4e5;
  background: color-mix(in srgb, var(--tint-violet) 28%, white);
}
.week-rhythm__shape svg,
.week-rhythm__shape img {
  width: 4.7rem;
  height: 4.7rem;
  color: var(--color-ink);
}
.week-rhythm__freq {
  position: absolute;
  bottom: -0.9rem;
  left: 50%;
  transform: translateX(-50%);
  min-width: max-content;
  padding: 0.4rem 1.3rem;
  border: 1px solid var(--color-line);
  border-radius: var(--radius-pill);
  background: var(--color-paper);
  color: var(--color-ink);
  font-size: var(--fs-small);
  font-weight: 600;
  white-space: nowrap;
}
.week-rhythm__item h3 {
  margin-bottom: 0.6rem;
}
.week-rhythm__item > p {
  max-width: 27ch;
  margin-inline: auto;
  color: var(--color-ink-soft);
  font-size: var(--font-size-base);
  line-height: 1.5;
}
@media (max-width: 620px) {
  .week-rhythm__list {
    grid-template-columns: 1fr;
    gap: 3.6rem;
  }
  .week-rhythm__label {
    font-size: 1.6rem;
  }
}

@media (max-width: 860px) {
  .day-blobs {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(2.4rem, 4vw, 3.2rem);
  }
}
@media (max-width: 520px) {
  .day-blobs {
    grid-template-columns: 1fr;
  }
}

/* --- 5. Tým (teaser): řada portrétů, celá sekce vystředěná -------------- */
.team-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.6rem, 3vw, 3.2rem);
  max-width: 74rem;
  margin-inline: auto;
}
.team-member {
  text-align: center;
}
.team-member__photo {
  position: relative;
  aspect-ratio: 1;
  border-radius: var(--radius-photo);
  overflow: hidden;
  margin-bottom: 1.4rem;
  box-shadow: var(--shadow-card);
}
.team-member__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* iniciála v tintovém blobu místo chybějící fotky */
.team-member__initial {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: var(--member-tint, var(--tint-sky));
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: clamp(4rem, 8vw, 6rem);
  color: var(--color-ink);
}
.team-member h3 {
  margin-bottom: 0.2rem;
}
.team-member p {
  color: var(--color-ink-soft);
  font-size: var(--font-size-base);
}
@media (max-width: 620px) {
  .team-row {
    grid-template-columns: 1fr;
    max-width: 28rem;
    gap: 3.2rem;
  }
}

/* --- 6. Zázemí (teaser): fotka + výčet vedle sebe ----------------------- */
.facility {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: clamp(2.4rem, 4vw, 4.8rem);
  align-items: center;
}
.facility__media img {
  width: 100%;
  border-radius: var(--radius-photo);
  box-shadow: var(--shadow-photo);
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.facility__list {
  display: grid;
  gap: 1.4rem;
}
.facility__list li {
  display: flex;
  gap: 1.2rem;
  align-items: baseline;
  font-size: var(--font-size-base);
  line-height: 1.5;
}
.facility__list li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border-radius: var(--blob);
  background: var(--li-tint, var(--tint-gold));
  flex: none;
  transform: translateY(0.2rem);
}
.facility__list strong {
  font-weight: 600;
}
.facility__intro {
  margin-bottom: 2.4rem;
}
@media (max-width: 780px) {
  .facility {
    grid-template-columns: 1fr;
  }
}

/* --- 7. FAQ teaser: dekorační otazníky ---------------------------------- */
.faq-teaser {
  position: relative;
}
.faq-mark {
  position: absolute;
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1;
  opacity: 0.5;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}

/* --- 8. Finální CTA ----------------------------------------------------- */
.final-cta .btn {
  min-width: 24rem;
}

/* Modifikátory .section-cta--center a --end jsou v global.css, používá je
   i 404. Pozice tlačítka pod teaserem se sekci od sekce mění. */

/* --- Barvy tintů přes pořadí (bez inline stylů) ------------------------- */
/* číslované karty filozofie */
.feature-grid .card:nth-child(4n + 1) .card__marker { --marker-tint: var(--tint-sage); }
.feature-grid .card:nth-child(4n + 2) .card__marker { --marker-tint: var(--tint-sky); }
.feature-grid .card:nth-child(4n + 3) .card__marker { --marker-tint: var(--tint-gold); }
.feature-grid .card:nth-child(4n + 4) .card__marker { --marker-tint: var(--tint-violet); }

/* odrážky zázemí */
.facility__list li:nth-child(5n + 1)::before { --li-tint: var(--tint-sage); }
.facility__list li:nth-child(5n + 2)::before { --li-tint: var(--tint-sky); }
.facility__list li:nth-child(5n + 3)::before { --li-tint: var(--tint-gold); }
.facility__list li:nth-child(5n + 4)::before { --li-tint: var(--tint-rose); }
.facility__list li:nth-child(5n + 5)::before { --li-tint: var(--tint-violet); }

/* iniciály v týmu */
.team-member__initial--sage { --member-tint: var(--tint-sage); }
.team-member__initial--rose { --member-tint: var(--tint-rose); }

/* FAQ vystředěná — accordion i tlačítko drží stejnou osu jako nadpis */
.faq-teaser .accordion--center {
  margin-inline: auto;
}

/* dekorační otazníky v FAQ — rozeseté v okrajích kolem vystředěného
   accordionu, nikdy pod ním (accordion má max-width 760px uprostřed,
   otazníky zůstávají v pruzích vlevo a vpravo od něj). Svisle vždy
   uvnitř sekce (%), aby se neuřízly na švu mezi sekcemi. */
.faq-mark--a {
  top: 4%;
  right: 5%;
  font-size: clamp(6rem, 11vw, 11rem);
  color: var(--tint-sun);
}
.faq-mark--b {
  bottom: 6%;
  left: 4%;
  font-size: clamp(5rem, 8vw, 8.5rem);
  color: var(--tint-sky);
}
.faq-mark--c {
  top: 32%;
  left: 10%;
  font-size: clamp(3rem, 5vw, 4.6rem);
  color: var(--tint-rose);
  opacity: 0.45;
}
.faq-mark--d {
  bottom: 4%;
  right: 6%;
  font-size: clamp(2.6rem, 4.2vw, 4.2rem);
  color: var(--tint-sage);
  opacity: 0.5;
}
.faq-mark--e {
  top: 22%;
  right: 10%;
  font-size: clamp(2.4rem, 3.6vw, 3.6rem);
  color: var(--tint-gold);
  opacity: 0.4;
}
.faq-mark--f {
  bottom: 20%;
  right: 13%;
  font-size: clamp(2rem, 3vw, 3rem);
  color: var(--tint-violet);
  opacity: 0.4;
}
.faq-mark--g {
  top: 46%;
  right: 3%;
  font-size: clamp(3.4rem, 5vw, 5rem);
  color: var(--tint-sky);
  opacity: 0.35;
}
.faq-mark--h {
  top: 56%;
  left: 5%;
  font-size: clamp(2rem, 3vw, 3rem);
  color: var(--tint-gold);
  opacity: 0.4;
}
.faq-mark--i {
  bottom: 28%;
  left: 12%;
  font-size: clamp(1.8rem, 2.6vw, 2.6rem);
  color: var(--tint-rose);
  opacity: 0.35;
}
@media (max-width: 620px) {
  .faq-mark {
    opacity: 0.3;
  }
  .faq-mark--a { font-size: 7rem; right: 2%; }
  .faq-mark--b { font-size: 5rem; left: 2%; }
  .faq-mark--c,
  .faq-mark--d,
  .faq-mark--e,
  .faq-mark--f,
  .faq-mark--g,
  .faq-mark--h,
  .faq-mark--i { display: none; }
}
