/* Tip na výlet — rozvržení: hlavička, patička, sekce, výpisy, stránky. */

/* ---------------------------------------------------------------- */
/* Hlavička (sticky)                                                 */
/* ---------------------------------------------------------------- */
.wp-site-blocks > header.wp-block-template-part {
  position: sticky;
  top: 0;
  z-index: 50;
}

.admin-bar .wp-site-blocks > header.wp-block-template-part {
  top: var(--wp-admin--admin-bar--height, 32px);
}

.tnv-header {
  padding-block: 0.75rem;
  background: color-mix(in srgb, var(--wp--preset--color--sand) 88%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}

.tnv-header.is-scrolled {
  border-bottom-color: var(--wp--preset--color--line);
}

.tnv-header__bar {
  gap: 1.5rem;
}

.tnv-header__actions {
  gap: clamp(0.75rem, 2vw, 1.5rem);
}

.tnv-header .wp-block-site-logo img {
  display: block;
  height: auto;
}

.tnv-header .wp-block-navigation {
  gap: 1.5rem;
}

.tnv-header .wp-block-navigation a:hover {
  color: var(--wp--preset--color--terracotta);
}

.tnv-header .wp-block-navigation__submenu-container {
  padding: 0.5rem;
  border: 1px solid var(--wp--preset--color--line) !important;
  border-radius: 14px;
  box-shadow: var(--wp--preset--shadow--raised);
}

.tnv-header .wp-block-navigation__responsive-container.is-menu-open {
  padding: 1.5rem;
  background: var(--wp--preset--color--sand);
}

.tnv-header__search .wp-block-search__button {
  padding: 0.55rem;
  border-radius: 10px;
  background: transparent;
  color: var(--wp--preset--color--forest);
}

.tnv-header__search .wp-block-search__button:hover {
  background: var(--wp--preset--color--sand-deep);
}

.tnv-header__search .wp-block-search__input {
  border: 1px solid var(--wp--preset--color--line);
  border-radius: 10px;
  background: var(--wp--preset--color--paper);
}

.tnv-header__cta .wp-block-button__link {
  padding: 0.55rem 1rem;
  font-size: var(--wp--preset--font-size--small);
}

@media (max-width: 781px) {
  /* Specifičtěji než .is-layout-flex bloku Buttons. */
  .tnv-header .wp-block-buttons.tnv-header__cta {
    display: none;
  }
}

/* ---------------------------------------------------------------- */
/* Sekce a hlavní obsah                                              */
/* ---------------------------------------------------------------- */
main.tnv-home,
main.tnv-listing,
main.tnv-single,
main.tnv-page,
main.tnv-404 {
  padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--80);
}

.tnv-home > * + *,
.tnv-single > * + * {
  margin-block-start: var(--wp--preset--spacing--70);
}

.tnv-section__head {
  margin-bottom: var(--wp--preset--spacing--50);
}

.tnv-section__title {
  margin: 0;
}

.tnv-section__more {
  margin: 0;
  font-weight: 600;
}

.tnv-section__more a {
  text-decoration: none;
}

/* ---------------------------------------------------------------- */
/* Výpisy (kategorie, všechny výlety, hledání)                        */
/* ---------------------------------------------------------------- */
.tnv-listing__head {
  padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
}

.tnv-listing__head h1 {
  margin: 0;
}

.tnv-listing__lead {
  margin-top: 0.75rem;
  color: var(--wp--preset--color--forest-soft);
  font-size: var(--wp--preset--font-size--large);
}

.tnv-listing > .tnv-ad {
  margin-block: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
}

.tnv-pagination {
  margin-top: var(--wp--preset--spacing--60);
  gap: 0.35rem;
  font-weight: 600;
}

.tnv-pagination a,
.tnv-pagination .page-numbers {
  display: inline-grid;
  place-items: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding-inline: 0.75rem;
  border-radius: 10px;
  text-decoration: none;
}

.tnv-pagination a:hover {
  background: var(--wp--preset--color--sand-deep);
  color: var(--wp--preset--color--forest);
}

.tnv-pagination .page-numbers.current {
  background: var(--wp--preset--color--forest);
  color: var(--wp--preset--color--sand);
}

/* ---------------------------------------------------------------- */
/* 404                                                               */
/* ---------------------------------------------------------------- */
.tnv-404 {
  text-align: center;
}

.tnv-404__code {
  margin: 0;
  font-family: var(--wp--preset--font-family--heading);
  font-size: clamp(4rem, 14vw, 8rem);
  font-weight: 700;
  line-height: 1;
  color: var(--wp--preset--color--terracotta);
}

.tnv-404 .wp-block-buttons {
  justify-content: center;
}

/* ---------------------------------------------------------------- */
/* Patička                                                           */
/* ---------------------------------------------------------------- */
.tnv-footer {
  padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
}

.tnv-footer a {
  color: inherit;
  text-decoration: none;
}

.tnv-footer a:hover {
  color: var(--wp--preset--color--terracotta);
}

.tnv-footer__columns {
  gap: var(--wp--preset--spacing--60);
}

.tnv-footer__brand {
  margin: 0;
  font-family: var(--wp--preset--font-family--heading);
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.tnv-footer__brand span {
  color: var(--wp--preset--color--terracotta);
}

.tnv-footer__lead {
  max-width: 34ch;
  opacity: 0.8;
  font-size: var(--wp--preset--font-size--small);
}

.tnv-footer__title {
  margin: 0 0 0.75rem;
  font-family: var(--wp--preset--font-family--body);
  font-size: var(--wp--preset--font-size--x-small);
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.6;
}

.tnv-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: var(--wp--preset--font-size--small);
  line-height: 2.1;
}

.tnv-footer__legal {
  margin-top: var(--wp--preset--spacing--60);
  padding-top: var(--wp--preset--spacing--50);
  border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--sand) 18%, transparent);
  font-size: var(--wp--preset--font-size--x-small);
  opacity: 0.7;
}
