/* Corrections from the October 2026 accessibility audit. */
:root {
  --pptp-accessible-pink: #ba0b59;
  --pptp-accessible-cyan: #007da8;
}

.hero-split__heading em { color: var(--pptp-accessible-cyan); }
.hero-header .title { color: var(--pptp-accessible-cyan); }
.pptp-history-button--primary,
.pptp-2026-accordion__item.is-open .pptp-2026-accordion__number {
  background: var(--pptp-accessible-pink);
  color: #fff;
}
.pptp-history-button--primary:hover, .pptp-history-button--primary:focus-visible {
  background: #990846;
  color: #fff;
}
.company-story-page .company-breadcrumbs [aria-current="page"] { color: #003e7e; }
.elementor-accordion .pptp-legacy-accordion-heading { margin: 0; font: inherit; }
.elementor-accordion button.elementor-tab-title { display: block; width: 100%; border: 0; background: transparent; text-align: left; font-family: inherit; font-weight: 700; }
.elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title { color: var(--pptp-accessible-pink) !important; }
#site-header .navbar-nav .nav-link:hover,
#site-header .navbar-nav .nav-link:focus-visible { color: var(--pptp-accessible-pink); }
.why-label, .offer-label, .cta-new__label, .brand-popup-eyebrow, .conference-promo-badge,
.news-card__category, .news-hero__eyebrow { color: var(--pptp-accessible-pink); }
.cta-new__btn--primary, .hero-btn--primary, .why-banner__btn, .news-card__badge, .footer-new__newsletter-btn {
  background: var(--pptp-accessible-pink);
  border-color: var(--pptp-accessible-pink);
  color: #fff;
}
.cta-new__btn--primary:hover, .hero-btn--primary:hover, .footer-new__newsletter-btn:hover {
  background: #990846;
  border-color: #990846;
  color: #fff;
}
.footer-new { --footer-dim: #b1c6dc; --footer-pink: #ff79b2; }
#area-search-wrapper, .single-area-wrapper { --area-pink: var(--pptp-accessible-pink); --area-muted: #53697d; }
#area-search-wrapper .area-range-field > label,
#area-search-wrapper .area-card-facts dt { color: #53697d; }

/* The same contrast correction also applies to the informational templates. */
body.elementor-kit-779 { --e-global-color-text: #53697d; }
body.pptp-company-2026 { --companies-pink: #ba0b59; --companies-cyan: #007da8; }
.company-story-journey h3, .company-story-eyebrow, .company-breadcrumbs [aria-current="page"],
.company-story-website:hover, .company-story-website:focus-visible { color: #003e7e; }
.pptp-incubator-eyebrow,
.pptp-2026-values .pptp-2026-eyebrow { color: var(--pptp-accessible-pink); }
.pptp-incubator-button--pink,
.pptp-2026-button--pink,
.pptp-2026-button--primary,
.pptp-history-event:nth-child(2n) .pptp-history-event__year {
  background: var(--pptp-accessible-pink);
  border-color: var(--pptp-accessible-pink);
  color: #fff;
}
.pptp-2026-breadcrumbs [aria-current="page"] { color: #53697d; }
body.page-id-3249 .pptp-2026-accordion__item.is-open .pptp-2026-accordion__question {
  color: var(--pptp-accessible-pink);
}
.pptp-2026-about-v2-cta__primary {
  background: var(--pptp-accessible-cyan);
  border-color: var(--pptp-accessible-cyan);
  color: #fff;
}
.pptp-2026-about-v2-cta__primary:hover,
.pptp-2026-about-v2-cta__primary:focus-visible {
  background: #0057a8;
  border-color: #0057a8;
  color: #fff;
}
.location-map-card a { color: #0057a8; text-decoration: underline; }
.location-contact-cta__button {
  background: var(--pptp-accessible-cyan);
  border-color: var(--pptp-accessible-cyan);
}
.location-contact-cta__contact:hover,
.location-contact-cta__button:hover {
  background: var(--pptp-accessible-pink);
  border-color: var(--pptp-accessible-pink);
}
body.page-id-5523 .elementor .elementor-widget-button a.elementor-button {
  background: var(--pptp-accessible-pink);
  color: #fff;
}
body.page-id-5523 .elementor .elementor-widget-button a.elementor-button:hover,
body.page-id-5523 .elementor .elementor-widget-button a.elementor-button:focus-visible {
  background: #990846;
  color: #fff;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #003e7e !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff !important;
}
.pptp-text-page p a, .area-details__content p a, .elementor-widget-text-editor p a,
.contact-form__consent a, .brand-popup-contact-list a, .leaflet-control-attribution a, .opis-rodo a {
  text-decoration: underline;
  text-underline-offset: .18em;
}
.opis-rodo a { color: #003e7e; }
body.page-id-169 .wpcf7-form .opis-rodo a { color: #003e7e !important; text-decoration: underline !important; }
body.page-id-169 .elementor-widget-text-editor { color: #53697d; }
.pptp-form-feedback, .pptp-guard-status { grid-column: 1 / -1; color: #17304f; }
.pptp-form-feedback__message:empty, .pptp-guard-status:empty { min-height: 0; margin: 0; padding: 0; }
.pptp-form-feedback__retry { padding: .5rem 1rem; border: 2px solid #003e7e; border-radius: 4px; background: #fff; color: #003e7e; }
.pptp-form-feedback__retry[hidden] { display: none; }
.wpcf7 .wpcf7-response-output[hidden] { display: none !important; }
.pptp-form-required { font-weight: 400; }
.pptp-legacy-page .foto img, .pptp-legacy-page img { max-width: 100%; height: auto; }
.pptp-elementor-legacy-page img { max-width: 100%; height: auto; }
.pptp-elementor-legacy-page .elementor-widget-image a { max-width: 100%; }
.pptp-elementor-legacy-page { overflow-wrap: anywhere; }
@media (prefers-reduced-motion: reduce) {
  .timeline-section .timeline-item { opacity: 1 !important; transform: none !important; }
}
.elementor-lightbox .elementor-slideshow__header, .elementor-lightbox .elementor-slideshow__footer { background: rgba(0, 0, 0, .85) !important; }
.elementor-lightbox:focus-within .elementor-slideshow--ui-hidden .elementor-slideshow__header,
.elementor-lightbox:focus-within .elementor-slideshow--ui-hidden .elementor-slideshow__footer { opacity: 1 !important; pointer-events: auto !important; }
.elementor-lightbox:focus-within .elementor-slideshow--ui-hidden:not(.elementor-slideshow--zoom-mode):not(.elementor-slideshow--share-mode) .elementor-swiper-button { opacity: 1 !important; }
.elementor-lightbox .elementor-swiper-button { background: #17304f; color: #fff; border-radius: 50%; padding: 8px; }
.pptp-legacy-page .wp-video { width: 100% !important; max-width: 100%; }
.pptp-legacy-page video { width: 100%; height: auto; max-width: 100%; }
.pptp-legacy-page { overflow-wrap: anywhere; }
.pptp-video-alternatives { margin-block: 1rem 2rem; padding: 1rem; border: 1px solid #53697d; color: #17304f; background: #fff; }
.pptp-video-alternatives summary { cursor: pointer; padding: .75rem 0; color: #003e7e; font-weight: 700; }
.pptp-video-alternatives video { display: block; max-width: 100%; width: 100%; height: auto; }
.pptp-graphic-information { margin-block: 2rem; padding: 1rem; border: 1px solid #53697d; background: #fff; color: #17304f; overflow-wrap: anywhere; }
.pptp-graphic-information table { width: 100%; table-layout: fixed; border-collapse: collapse; margin-block: 1rem; color: #17304f; }
.pptp-graphic-information caption { caption-side: top; text-align: left; font-weight: 700; color: #17304f; }
.pptp-graphic-information th, .pptp-graphic-information td { padding: .65rem; border: 1px solid #53697d; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.pptp-graphic-information thead th { background: #e8f5fa; }
.pptp-legacy-page .wpcf7-form label { display: block; }
.pptp-legacy-page .wpcf7-form input:not([type="checkbox"]):not([type="radio"]), .pptp-legacy-page .wpcf7-form textarea { max-width: 100%; width: 100%; box-sizing: border-box; }
.page-id-3223 .elementor-button, .page-id-2058 .elementor-button { background: #ba0b59 !important; }
.page-id-3223 .elementor-button:hover, .page-id-3223 .elementor-button:focus-visible, .page-id-2058 .elementor-button:hover, .page-id-2058 .elementor-button:focus-visible { background: #003e7e !important; }
body.page-id-2163 .elementor .elementor-button, body.page-id-2300 .elementor .elementor-button,
body.page-id-2276 .elementor .elementor-button, body.page-id-4369 .elementor .elementor-button { background: #ba0b59 !important; color: #fff !important; }
body.page-id-2163 .elementor .elementor-button:hover, body.page-id-2163 .elementor .elementor-button:focus-visible,
body.page-id-2300 .elementor .elementor-button:hover, body.page-id-2300 .elementor .elementor-button:focus-visible,
body.page-id-2276 .elementor .elementor-button:hover, body.page-id-2276 .elementor .elementor-button:focus-visible,
body.page-id-4369 .elementor .elementor-button:hover, body.page-id-4369 .elementor .elementor-button:focus-visible { background: #003e7e !important; }
body.page-id-4369 .elementor-element-fc6428e .elementor-column > .elementor-widget-wrap,
body.page-id-4369 .elementor-element-ea91841 .elementor-button,
body.page-id-4369 .elementor-element-dce4e4d .elementor-button { background: #007da8 !important; }
@media (max-width: 767px) {
  body.page-id-4369 .elementor-button { padding: 16px 22px !important; max-width: 100%; white-space: normal; transform: none !important; }
  body.page-id-4369 .elementor-button-content-wrapper, body.page-id-4369 .elementor-button-text { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
}
.pptp-sitemap-2026__group a:hover, .pptp-sitemap-2026__group a:focus { color: #ba0b59 !important; }
.pptp-sitemap-2026__eyebrow { color: #ff9ac4 !important; }

.room-price { margin-block: 64px; scroll-margin-top: 120px; color: #17304f; }
.room-price p, .room-price li { font-size: 1rem; line-height: 1.65; }
.room-price a { color: #003e7e; text-decoration: underline; text-underline-offset: .18em; overflow-wrap: anywhere; }
.room-price h3 { margin: 1.5rem 0 .75rem; font-size: 1.25rem; }
.room-price table { width: 100%; margin-block: 1.5rem; border-collapse: collapse; font-size: 1rem; }
.room-price__table { max-width: 100%; overflow-x: auto; margin-block: 1.5rem; }
.room-price__table table { min-width: 640px; margin-block: 0; }
.room-price caption { caption-side: top; text-align: left; color: #17304f; font-weight: 700; }
.room-price th, .room-price td { padding: .75rem; border: 1px solid #53697d; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.room-price thead th { background: #e8f5fa; color: #17304f; }
@media (max-width: 680px) {
  .room-price table { font-size: .875rem; }
  .room-price th, .room-price td { padding: .4rem; }
}

html.pptp-dialog-open { overflow: hidden; }
.pptp-focus-guard {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
}
.pptp-offer-card-item { min-width: 0; }
.pptp-offer-card-item > .pptp-offer-card { height: 100%; }
.news-card__event { color: #17304f; font-size: 1rem; font-weight: 700; line-height: 1.5; }

/* A semantic description list, retaining the existing two-line card layout. */
.area-parameter { display: block; position: relative; padding-left: 72px; }
.area-parameter .area-icon { position: absolute; left: 15px; top: 50%; transform: translateY(-50%); }

.sale-hero { height: auto; overflow: visible; }
.sale-hero__visual { overflow: hidden; }
.sale-hero__visual img { position: absolute; inset: 0; }
.sale-hero__actions { flex-wrap: wrap; }
.sale-hero .hero-btn--primary { background: #0057a8; border-color: #0057a8; color: #fff; }
.sale-hero .hero-btn--outline { color: #0057a8; border-color: #0057a8; }
.sale-hero .hero-btn--primary:hover, .sale-hero .hero-btn--primary:focus-visible,
.sale-hero .hero-btn--outline:hover, .sale-hero .hero-btn--outline:focus-visible {
  background: #003e7e; border-color: #003e7e; color: #fff;
}

.navbar-nav .nav-item.dropdown.pptp-dropdown-dismissed > .dropdown-menu {
  display: none !important;
  opacity: 0;
  visibility: hidden;
}

.conference-promo-card { max-height: calc(100dvh - 40px); overflow-y: auto; }
.conference-promo-dismiss { color: #53697d; }
.conference-promo-badge { color: #a4084b; }
.conference-promo-stat strong { color: #a6e9ff; }
.conference-promo-btn { background: #003e7e; }
.conference-promo-btn:hover { background: #ba0b59; }
.brand-popup .wpcf7-submit:hover { background: #ba0b59; }
.brand-popup-contact-list a:hover { color: #ba0b59; }
@media (max-width: 680px) {
  .conference-promo-popup { padding: 12px; }
  .conference-promo-card { max-height: calc(100dvh - 24px); }
  .conference-promo-visual__content { flex-direction: column; align-items: stretch; padding: 20px 18px; }
  .conference-promo-visual__label { align-self: flex-start; margin-right: 42px; }
  .conference-promo-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); flex: auto; }
  .conference-promo-stat { min-width: 0; overflow-wrap: anywhere; }
  .conference-promo-stat:last-child { grid-column: 1 / -1; }
  .conference-promo-body { min-width: 0; }
}
@media (max-width: 991px) {
  .sale-hero__visual img { position: static; }
}
