/*
Theme Name: wp_teatrkalisz
Theme URI: https://qualitypixels.pl
Author: Quality Pixels
Author URI: https://qualitypixels.pl
Description: Wordpress Template made by Quality Pixels
Version: 1.1
Tags:  kalisz teatr
Text Domain: wp_teatrkalisz
*/

.image-partner {
  object-fit: contain;
}

.swiper-button-lock {
  display: none !important;
}

.swiper-slide.news-3-col, .swiper-slide.spectacles-3-col {
  height: auto;
}

.swiper-slide .news-item, .swiper-slide .spectacle-item {
  height: 100%;
}

.button.sand-bg-hero {
  border: none;
}

.heading_smaller2 .a-post-link{
  text-decoration: none;
  padding-bottom: 7px;
  display: inline;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 5 C5 1 15 1 20 5 C25 9 35 9 40 5' fill='none' stroke='%2395264c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: 0 100%;
  background-size: 40px 0px; /* szerokość fali stała */
  transition: background-size 300ms ease;
}

.heading_smaller2:hover .a-post-link{
  background-size: 40px 10px;
}

a.cast-item {
  transition: opacity 0.2s ease;
}

a.cast-item:hover {
  opacity: 0.8;
}

.button.is-rep-button.is-disabled:hover {
  border-color: transparent;
  background-color: #0000;
  color: var(--black);
  cursor: not-allowed;
}

.button.is-rep-button.is-disabled {
  border-color: transparent;
}

.button.team-arrow-button {
  color: var(--black);
}

.w-richtext figcaption {
  font-size: 0.75rem;
  line-height: 1.2;
  text-align: left;
  color: #4A5565;
  margin-top: 1rem;
}

.w-richtext .wp-block-embed iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
}

.wp-embed-aspect-16-9 iframe {
  aspect-ratio: 16 / 9;
  height: auto;
}

.w-richtext figure {
  max-width: 100%;
  margin-bottom: 2rem;
}

.w-richtext figure img {
  border-radius: 0.5rem;
}

.swiper-gallery .swiper-wrapper {
  height: auto;
}

.swiper-gallery {
  width:100%;
}

.text-meta-info.location-link {
  text-decoration: none;
}

.news-swiper-3cols {
  overflow: hidden;
}

.swiper-slide.news-3-col {
  width: 33.33%;
}

.navlink.dropdown-navlink .dropdown_toggle {
    text-transform: uppercase;
}

.nav_topbar {
    display: block;
}

img {
  height: auto;
}

html.topbar-closed .nav_topbar {
    display: none;
  }


  * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .festival-event-item:last-child, .timeline-item-festival:last-child {
      border-bottom-width: 0px;
  }
  .info-table-item:first-child, .pricing-item-table:first-child {
      border-top-width: 1px;
  }
  .ticket-contact-item:last-child {
      border-right-width: 0px;
  }
  .builder-box .section:last-child {
      padding-bottom: 6rem;
  }
  .margin-top-1p5:first-child, .margin-top-xlarge:first-child, .margin-top-medium:first-child, .margin-top-regular-medium:first-child {
      margin-top: 0px;
  }
  .text-infobox-label:before {
      content: '';
    display: inline-block;
    width: 0.438rem;
    height: 0.438rem;
    background-color: var(--main-red);
    margin-right: 0.5rem;
    position: relative;
    top: -1px;
  }
  .spectacle-item:last-child {
      border-bottom-width: 0px;
  }
  .navbar.is-nav-scrolled .festival-box-brand-mobile {
      transform: translateY(-100%);
    opacity: 0;
  }
  .spectacle-loop:nth-child(3n+1):nth-last-child(-n+3),
  .spectacle-loop:nth-child(3n+1):nth-last-child(-n+3) ~ .spectacle-loop,
  .news-item:nth-child(3n+1):nth-last-child(-n+3),
  .news-item:nth-child(3n+1):nth-last-child(-n+3) ~ .news-item {
      border-bottom-width: 0px;
  }
  /*
  .rep-item:last-child {
      padding-bottom: 1.5rem;
  }
  .heading_section:after {
      display: inline-block;
    content: '';
    width: 10px;
    height: 10px;
    background-color: red;
  }
  */
  .link-topbar-item:hover .icon-arrow-topbar {
      transform: translateX(0.15rem);
  }
  .link-topbar-item:hover .icon-arrow-topbar path, .a-accessibility-icon:hover path {
      stroke: var(--footer-red);
  }
  .close-topbar:hover .icon-close-topbar path {
      fill: var(--footer-red);
  }
  
  /* WCAG: Reset dla button close-topbar */
  button.close-topbar {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
  }
  
  button.close-topbar:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }
  .icon-arrow-topbar path, .a-accessibility-icon path {
      transition: stroke 0.2s ease;
  }
  .close-topbar .icon-close-topbar path {
      transition: fill 0.2s ease;
  }
  .button.is-rep-button:not(.is-disabled) svg path {
      transition: fill 0.2s ease;
  }
  .button.is-rep-button:not(.is-disabled):hover svg path {
      fill: var(--white);
  }
  .simple-text :last-child, .info-simple-text :last-child, .simple-text-post :last-child {
      margin-bottom: 0rem;
  }

  .admin-bar .header {
      top: 32px;
  }

  .admin-bar main {
    margin-top: 32px;
}

.text-tag-spectacle {
  text-decoration: none;
}

.is-topbar-visible.admin-bar main {
  margin-top: calc(32px + 44px);
}

.is-topbar-visible main {
  margin-top: 44px;
}

/* WCAG: Screen reader only - ukryty wizualnie, widoczny dla czytników */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sr-only-focusable:focus,
.sr-only-focusable:active {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 10000;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.625rem 0.875rem;
  overflow: visible;
  clip: auto;
  white-space: normal;
}

.skip-link {
  background-color: var(--white, #fff);
  color: var(--black, #000);
  border: 2px solid var(--black, #000);
  border-radius: 0.25rem;
  text-decoration: none;
}

/* WCAG: Reset dla button w dropdown */
button.dropdown_toggle {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  cursor: pointer;
  text-align: left;
  width: 100%;
}

button.dropdown_toggle:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}

.dropdown_toggle.w-dropdown-toggle.w--current {
  color: var(--main-red);
}

/* WCAG: Focus visible dla linków w dropdown */
.dropdown-link:focus-visible {
  outline: 2px solid var(--black);
}

/* WCAG: Focus visible dla wszystkich linków w nawigacji */
.navlink.w-nav-link:focus-visible,
.a-accessibility-icon:focus-visible {
  outline: 2px solid var(--black);
}

button.a-accessibility-icon,
button.menu-button {
  background: none;
  border: 0;
  padding: 0;
}

  a {
      color: inherit;
  }
  [overflow="hidden"] {
      overflow: hidden;
  }
  [position="relative"] {
      position: relative;
  }
  @media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
      animation-duration: 0.01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
  @media only screen and (max-width: 991px) {
      .ticket-contact-item:last-child {
        border-bottom-width: 0px;
    }
    }
    @media only screen and (max-width: 767px) {
        .is-festival-visible .main-content {
        padding-top: 10rem;
      }
      .is-festival-visible .main-content.is-page-home {
        padding-top: 8rem;
      }
      .news-main-wrapper .news-item:last-child, .spectacle-loop:last-child  {
              border-bottom-width: 0px;
      }
      .builder-box .section:last-child {
        padding-bottom: 3rem;
      }
      .timeline-line-left {
        bottom: calc((100% - (var(--timeline-gaps) * 2rem)) / var(--timeline-items));
      }
    }
    @media only screen and (max-width: 480px) {
      .timeline-line-left {
        top: 1rem;
      }
    }
  /* Hero slider - desktop/mobile images */
  .hero-slide-image--mobile {
    display: none;
  }
  .hero-slide-image--desktop {
    display: block;
  }
  .hero-slide-image-rel.is-mobile-photo {
    display: none;
  }
  .hero-slide-image-rel.is-desktop-photo {
    display: block;
  }
  @media only screen and (max-width: 767px) {
    .hero-slide-image--desktop {
      display: none;
    }
    .hero-slide-image--mobile {
      display: block;
    }
    .hero-slide-image-rel.is-desktop-photo {
      display: none;
    }
    .hero-slide-image-rel.is-mobile-photo {
      display: block;
    }
  }
  
  /* Slide jako link */
  a.slide-link {
    display: block;
    text-decoration: none;
    color: inherit;
  }

   html { font-size: 1rem; }
    @media screen and (max-width:1920px) { html { font-size: 1rem; } }
    @media screen and (max-width:1440px) { html { font-size: calc(0.39866369710467703rem + 0.6681514476614699vw); } }
    @media screen and (max-width:991px) { html { font-size: calc(0.758056640625rem + 0.390625vw); } }
    @media screen and (max-width:479px) { html { font-size: calc(0.5742154811715481rem + 1.2552301255230125vw); } }

/* Paginacja */
.pagination-wrapper {
  display: flex;
  justify-content: center;
}

.pagination-wrapper ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 0.5rem;
  align-items: center;
}

.pagination-wrapper li {
  margin: 0;
}

.pagination-wrapper a,
.pagination-wrapper span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border: 1px solid var(--gray200, #e5e5e5);
  background-color: var(--white, #fff);
  color: var(--black, #000);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 500;
  transition: all 0.2s ease;
}

.pagination-wrapper a:hover {
  background-color: var(--gray100, #f5f5f5);
  border-color: var(--gray300, #d4d4d4);
}

.pagination-wrapper .current {
  background-color: var(--main-red, #c41e3a);
  border-color: var(--main-red, #c41e3a);
  color: var(--white, #fff);
}

.pagination-wrapper a:focus-visible {
  outline: 2px solid var(--black);
  outline-offset: 2px;
}

.pagination-wrapper .prev,
.pagination-wrapper .next {
  padding: 0 0.5rem;
}

.pagination-wrapper .dots {
  border: none;
  background: none;
  padding: 0 0.25rem;
}

/* Spectacle description - expand/collapse */
.spectacle-description-wrapper.is-collapsible .spectacle-description-full {
  display: none;
}

.spectacle-description-wrapper.is-collapsible.is-expanded .spectacle-description-short {
  display: none;
}

.spectacle-description-wrapper.is-collapsible.is-expanded .spectacle-description-full {
  display: block;
}

/* Inline toggle "Rozwiń" / "Zwiń" */
.spectacle-toggle {
  background: none;
  border: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 0;
  white-space: nowrap;
}

.spectacle-toggle:hover {
  text-decoration: underline;
}

.spectacle-toggle:focus-visible {
  outline: 2px solid var(--main-red, #c41e3a);
  outline-offset: 2px;
}

button.swiper-arrow-prev,
button.swiper-arrow-next {
  background: none;
  border: 0;
  padding: 0;
}

button.faq-question-box {
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
  width: 100%;
}

/* Video embed wrapper - aspect ratio 16/9 */
.video-embed-wrapper {
  position: relative;
  width: 100%;
}

.video-embed-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Newsletter form messages (custom, independent from Webflow classes) */
.newsletter-form-message {
  display: none;
  margin-top: 0.75rem;
  padding: 0.875rem 1rem;
  border: 1px solid transparent;
  border-radius: 0.5rem;
  font-size: 0.95rem;
  line-height: 1.4;
}

.newsletter-form-message.is-success {
  background-color: #edf9f1;
  border-color: #8ad0a0;
  color: #155724;
}

.newsletter-form-message.is-error {
  background-color: #fff1f1;
  border-color: #e09a9a;
  color: #7f1d1d;
}

.newsletter-form-message:focus-visible {
  outline: 2px solid var(--black, #000);
  outline-offset: 2px;
}

/* WCAG 2.4.7: focus-visible overrides for Webflow components.css outline:0 */
.w-input:focus-visible,
.w-select:focus-visible {
  outline: 2px solid var(--black, #000);
  outline-offset: 2px;
}

.w-slider-arrow-left:focus-visible,
.w-slider-arrow-right:focus-visible {
  outline: 2px solid var(--black, #000);
  outline-offset: 2px;
}

.w-dropdown-link:focus-visible {
  outline: 2px solid var(--black, #000);
}

.w-nav-button:focus-visible {
  outline: 2px solid var(--black, #000);
  outline-offset: 2px;
}

.w-tab-link:focus-visible {
  outline: 2px solid var(--black, #000);
  outline-offset: 2px;
}

.button.is-gray-more:focus-visible {
  outline: 2px solid var(--black, #000);
  outline-offset: 2px;
}

/* Modul 15 - dynamic pricing columns */
.pricing-wrapper.pricing-wrapper--dynamic {
  overflow-x: auto;
}

.pricing-item-table.pricing-item-table--dynamic {
  grid-template-columns: minmax(16rem, 1.6fr) repeat(var(--pricing-columns-count, 3), minmax(7rem, 1fr));
  min-width: calc(16rem + (var(--pricing-columns-count, 3) * 7rem));
}

.pricing-item-table.pricing-item-table--dynamic .pricing-item-col:first-child {
  text-align: left;
}