/* ==========================================================================
   psy.css — Content type: Psy (kakac.sk)
   Vychádza z tura.css, zjednodušená verzia bez stats baru a účastníkov.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Šírka stránky — 6 krokov (main má Bootstrap "col offset-md-1" priamo)
   -------------------------------------------------------------------------- */

#navbar-main,
div#main {
  width: 100%;
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
  --bs-gutter-x: 0;
}

/* Krok 1: container */
body.page-node-type-psy #main,
body.page-node-type-psy .container,
body.page-node-type-psy .container-xxl { max-width: 100% !important; padding: 0 !important; }

/* Krok 2: Bootstrap @media override */
@media (min-width: 1400px) {
  body.page-node-type-psy .container,
  body.page-node-type-psy .container-xxl { max-width: 100% !important; }
}

/* Krok 3+4: Barrio main-content offset + gutter */
body.page-node-type-psy .main-content {
  margin-left: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}
body.page-node-type-psy div#main { width: 100%; max-width: 100%; margin: 0; }
body.page-node-type-psy main#content { --bs-gutter-x: 0; }

/* Krok 5: Bootstrap "col" flex-basis + "offset-md-1" margin (priamo na <main>) */
body.page-node-type-psy main#content.col {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}
@media (min-width: 768px) {
  body.page-node-type-psy main#content.offset-md-1 {
    margin-left: 0 !important;
  }
}

/* --------------------------------------------------------------------------
   2. Hero
   -------------------------------------------------------------------------- */
.psy-hero {
  width: 100%;
  height: 400px;
  background-color: #1a1a18;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: flex;
  align-items: flex-end;
}

.psy-hero__overlay {
  width: 100%;
  padding: 2rem 2.5rem;
  background: linear-gradient(to top, rgba(0,0,0,0.68) 0%, transparent 100%);
}

.psy-hero__title {
  font-family: 'Lora', serif;
  font-size: 2rem;
  font-weight: 400;
  color: #fff;
  line-height: 1.2;
  margin: 0 0 0.4rem;
}

.psy-hero__date {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  color: rgba(255,255,255,0.6);
  letter-spacing: 1.5px;
  display: block;
}

/* --------------------------------------------------------------------------
   3. Layout grid (main + sidebar)
   -------------------------------------------------------------------------- */
.psy-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  align-items: start;
  background: #faf9f6;
}

/* --------------------------------------------------------------------------
   4. Main
   -------------------------------------------------------------------------- */
.psy-main {
  min-width: 0;
  padding: 2rem 2.5rem;
}

.psy-section {
  margin-bottom: 2.5rem;
}

.psy-section--body {
  font-family: 'Lora', serif;
  font-size: 16px;
  line-height: 1.75;
  color: #1a1a18;
  max-width: 68ch;
}

/* --------------------------------------------------------------------------
   5. Galéria — Juicebox (rovnaký pattern ako tura)
   -------------------------------------------------------------------------- */
.psy-section--galeria .juicebox-parent {
  height: 42vw;
  min-height: 320px;
  max-height: 820px;
}

/* --------------------------------------------------------------------------
   6. Video
   -------------------------------------------------------------------------- */
.psy-video__wrap {
  position: relative;
  padding-top: 56.25%;
  border-radius: 4px;
  overflow: hidden;
}

.psy-video__wrap iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}

.psy-video__note {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  color: #7a7870;
  margin-top: 0.75rem;
  text-align: right;
}

.psy-video__note a {
  color: #7a7870;
  text-decoration: none;
}

.psy-video__note a:hover {
  color: #1a1a18;
}

/* --------------------------------------------------------------------------
   7. Sidebar
   -------------------------------------------------------------------------- */
.psy-side {
  background: #f4f3f0;
  border-left: 1px solid #e8e4dc;
  min-height: 100%;
  padding: 2rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.psy-side__section {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e8e4dc;
}

.psy-side__section:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* --------------------------------------------------------------------------
   8. Typografia sidebaru — rovnaký štýl ako tura
   -------------------------------------------------------------------------- */
.psy-lbl {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  color: #7a7870;
  letter-spacing: 2px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 0.75rem;
}

.psy-meta {
  margin: 0;
}

.psy-meta__row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.35rem 0;
  border-bottom: 1px solid #e8e4dc;
}

.psy-meta__row:last-child {
  border-bottom: none;
}

.psy-meta__row dt {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #7a7870;
  font-weight: 400;
}

.psy-meta__row dd {
  font-family: 'Inter', sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #1a1a18;
  margin: 0;
}

/* --------------------------------------------------------------------------
   9. Hodnotenie — Fivestar (rovnaký fix ako tura)
   -------------------------------------------------------------------------- */
.psy-hodnotenie [class*="col-"] {
  padding: 0;
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}

.psy-hodnotenie .social,
.psy-hodnotenie .addtoany_list,
.psy-hodnotenie .a2a_kit { display: none !important; }

.psy-rating__score {
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 500;
  color: #1a1a18;
  margin-bottom: 0.25rem;
}

/* ==========================================================================
   LISTING stránka — /psy
   Zrkadlo tury-listing.css
   ========================================================================== */

/* Skryť h1.title na listing stránke */
.path-psy .block-page-title-block,
.path-psy #block-kakac-page-title {
  display: none !important;
}

/* ---- GRID ---- */
.psy-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 14px;
  padding: 0;
}

/* ---- KARTA ---- */
.psy-karta {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
}

/* ---- OBRÁZOK (3:2) ---- */
.psy-karta__img {
  position: relative;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  border-radius: 6px;
  margin-bottom: 7px;
}

/* background-image prístup */
.psy-karta__img-link {
  display: block;
  position: absolute;
  inset: 0;
  border-radius: 6px;
  overflow: hidden;
}

.psy-karta__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #e8e4dc;
  transition: transform 0.35s ease;
}

.psy-karta:hover .psy-karta__bg {
  transform: scale(1.07);
}

/* fallback <img> prístup */
.psy-karta__img-wrap {
  position: absolute;
  inset: 0;
}

.psy-karta__img-wrap a,
.psy-karta__img-wrap img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
  border-radius: 6px;
}

.psy-karta:hover .psy-karta__img-wrap img {
  transform: scale(1.07);
}

/* ---- TELO KARTY ---- */
.psy-karta__body {
  padding: 0 4px 4px;
}

.psy-karta__title {
  font-family: 'Lora', serif;
  font-size: 12px;
  line-height: 1.4;
  color: #1a1a18;
  margin: 0 0 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(12px * 1.4 * 2);
}

.psy-karta__title a {
  color: #1a1a18;
  text-decoration: none;
}

.psy-karta__title a:hover {
  text-decoration: underline;
}

/* ---- PÄTA KARTY ---- */
.psy-karta__datum {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  color: #b0aca4;
  white-space: nowrap;
  line-height: 1;
}

.psy-karta__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin-top: 3px;
  min-height: 14px;
  line-height: 1;
}

/* ---- FIVESTAR — identický štýl ako tura-karta__stars ---- */
.psy-karta__stars {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1;
  vertical-align: middle;
}

.psy-karta__stars form {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.psy-karta__stars .clearfix,
.psy-karta__stars .fivestar-average-stars,
.psy-karta__stars .fivestar-form-item,
.psy-karta__stars .fivestar-basic,
.psy-karta__stars .mb-3,
.psy-karta__stars .js-form-item,
.psy-karta__stars .form-item,
.psy-karta__stars .js-form-type-fivestar,
.psy-karta__stars .js-form-type-select,
.psy-karta__stars .form-type-fivestar,
.psy-karta__stars .form-type-select {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.psy-karta__stars .clearfix::before,
.psy-karta__stars .clearfix::after {
  display: none !important;
  content: none !important;
}

.psy-karta__stars small,
.psy-karta__stars noscript,
.psy-karta__stars .fivestar-summary,
.psy-karta__stars .description,
.psy-karta__stars input,
.psy-karta__stars select {
  display: none !important;
}

.psy-karta__stars button {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.psy-karta__stars .fivestar-widget {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 9px;
  line-height: 1;
}

.psy-karta__stars .fivestar-widget .star {
  display: inline-block !important;
  width: 14px;
  height: 14px;
  line-height: 1;
}

.psy-karta__stars .fivestar-widget .star a {
  display: block !important;
  font-size: 9px;
  line-height: 1;
}

.psy-karta__stars .fivestar-widget .star a span {
  display: none !important;
}

/* ---- ANIMÁCIA — identická ako tura-karta ---- */
@keyframes psy-karta-vstup {
  from { opacity: 0; transform: translateY(18px) scale(0.98); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}

.psy-karta {
  animation: psy-karta-vstup 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.psy-karta:nth-child(1)  { animation-delay: 0.05s; }
.psy-karta:nth-child(2)  { animation-delay: 0.10s; }
.psy-karta:nth-child(3)  { animation-delay: 0.15s; }
.psy-karta:nth-child(4)  { animation-delay: 0.20s; }
.psy-karta:nth-child(5)  { animation-delay: 0.25s; }
.psy-karta:nth-child(6)  { animation-delay: 0.30s; }
.psy-karta:nth-child(7)  { animation-delay: 0.35s; }
.psy-karta:nth-child(8)  { animation-delay: 0.40s; }
.psy-karta:nth-child(9)  { animation-delay: 0.45s; }
.psy-karta:nth-child(10) { animation-delay: 0.50s; }
.psy-karta:nth-child(11) { animation-delay: 0.55s; }
.psy-karta:nth-child(12) { animation-delay: 0.60s; }

@media (prefers-reduced-motion: reduce) {
  .psy-karta { animation: none; }
}

/* ---- PAGE HEADER ---- */
.psy-page-header {
  margin-bottom: 0;
}

.psy-page-header__title {
  font-family: 'Lora', serif;
  color: #1a1a18;
  font-size: 28px;
  font-weight: 500;
  letter-spacing: -0.8px;
  line-height: 1;
  margin: 0;
}

.psy-page-header__meta {
  font-family: 'Inter', sans-serif;
  color: #a09c96;
  font-size: 12px;
  margin: 4px 0 0;
}

/* ---- TOOLBAR (Rok filter) ---- */
.psy-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
  border-top: 0.5px solid #e8e4dc;
  border-bottom: 0.5px solid #e8e4dc;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

/* Facets blok v toolbar oblasti */
.psy-toolbar .facets-widget-links ul,
.psy-toolbar .facets-widget-checkbox ul {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.psy-toolbar .facet-item a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border-radius: 16px;
  padding: 5px 13px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 500;
  color: #3a3a38;
  background: transparent;
  border: 0.5px solid #a09c96;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.psy-toolbar .facet-item a:hover,
.psy-toolbar .facet-item--active a,
.psy-toolbar .facet-item a.is-active {
  background: #3a3a38;
  color: #fff;
  border-color: #3a3a38;
}

.psy-toolbar .facet-item__count {
  font-size: 10px;
  opacity: 0.55;
}

.psy-toolbar .block__title {
  display: none !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1200px) {
  .psy-grid { grid-template-columns: repeat(4, 1fr); gap: 12px; }
}

@media (max-width: 768px) {
  .psy-hero { height: 280px; }
  .psy-hero__title { font-size: 1.4rem; }
  .psy-hero__overlay { padding: 1.5rem; }

  .psy-layout {
    display: flex !important;
    flex-direction: column !important;
  }

  .psy-side { order: 0; border-left: none; border-bottom: 1px solid #e8e4dc; }
  .psy-main { order: 1; padding: 1.5rem; }

  .psy-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .psy-karta__title { font-size: 11px; }
}

@media (max-width: 480px) {
  .psy-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
}
