[hidden] { display: none !important; }
.pa-program-section { padding: 72px 0 !important; background: #f7f5ef; }
.pa-program { width: min(1120px, calc(100% - 40px)); margin: 0 auto; color: #192f34; }
.pa-program-heading { max-width: 680px; margin: 0 auto 36px; text-align: center; }
.pa-program-heading h2 { margin: 8px 0 12px; font-size: clamp(30px, 4vw, 46px); }
.pa-program-heading > p:last-child { color: #637275; }
.pa-eyebrow,.pa-day-number { color: #d07732; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pa-days { display: grid; gap: 18px; }
.pa-day-card { display: grid; grid-template-columns: 1fr minmax(240px, 38%); min-height: 230px; overflow: hidden; border-radius: 10px; background: white; box-shadow: 0 8px 28px #19323812; }
.pa-day-card[hidden] { display: none; }
/* Галерея дня справа от текста — слайдер как в обычной программе (site/_includes/program.njk);
 * слайдер не влияет на высоту карточки: её задаёт текст, а фото заполняет место с обрезкой. */
.pa-day-gallery { position: relative; min-width: 0; min-height: 230px; overflow: hidden; }
.pa-day-gallery .swiper.day-pic { display: block; position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0; max-height: none; overflow: hidden; }
.pa-day-gallery .swiper-wrapper { height: 100%; }
.pa-day-gallery .day-slide-wrap { height: 100%; }
.pa-day-gallery .day-slide-wrap a { display: block; width: 100%; height: 100%; }
.pa-gallery-img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pa-day-gallery .photo-lost { width: 100%; height: 100%; min-height: 230px; border-radius: 0; }
.pa-day-gallery > .photo-lost { position: absolute; inset: 0; }
@media(max-width:991px) {
  /* На узком экране карточка — колонкой: текст, под ним лента фото, которая листается свайпом. */
  .pa-day-card { grid-template-columns: 1fr; }
  .pa-day-gallery { min-height: 150px; height: 150px; }
  .pa-day-gallery .swiper.day-pic { position: static; }
  .pa-day-gallery .day-slide-wrap { width: 240px; max-width: none; height: 150px; min-height: 0; max-height: none; border-radius: 0; }
  .pa-day-gallery .photo-lost { min-height: 150px; }
}
.pa-day-copy { align-self: center; padding: 26px clamp(20px, 4vw, 42px); }
.pa-day-copy h3 { margin: 8px 0 10px; font-size: clamp(21px, 2.5vw, 28px); }
.pa-day-copy p { margin: 0 0 12px; color: var(--_colors---primary); font-size: 16px; font-weight: 400; line-height: 130%; } /* как текст дня в обычной программе */
.pa-day-copy p:last-child { margin-bottom: 0; }
.pa-show-days { display: block; margin: 28px auto 0; padding: 14px 22px; border: 1px solid #17353a; border-radius: 4px; background: transparent; color: #17353a; font: inherit; font-weight: 700; cursor: pointer; }
.pa-show-days:hover { background: #17353a; color: white; }
@media(max-width:700px) { .pa-program-section { padding: 48px 0 !important; } .pa-program { width: min(100% - 28px, 520px); } .pa-day-copy { padding: 20px; } }

.catalogue-card {
  position: relative;
  z-index: 0;
  border-radius: 8px;
  transition: transform 280ms ease, box-shadow 280ms ease;
}
.catalogue-card:hover,
.catalogue-card:focus-within {
  z-index: 2;
  transform: translateY(-7px) scale(1.015);
  outline: 2px solid rgb(208 119 50 / 48%);
  outline-offset: 2px;
  box-shadow: 0 16px 34px rgb(18 43 48 / 22%);
}
.catalogue-card .image-22 {
  transition: transform 500ms cubic-bezier(.2, .7, .2, 1);
}
.catalogue-card:hover .image-22,
.catalogue-card:focus-within .image-22 {
  transform: scale(1.055);
}

@media (prefers-reduced-motion: reduce) {
  .catalogue-card,
  .catalogue-card .image-22 {
    transition: none !important;
  }
}

.tab-buttons-wrapper {
  flex-wrap: wrap;
}
.tab-buttons-wrapper .tab-button {
  flex: 1 1 calc(33.333% - 8px);
  min-width: 0;
}
.dates-content { flex-wrap: wrap; }
@media(max-width:767px) {
  .tab-buttons-wrapper .tab-button { flex-basis: calc(50% - 8px); }
}
