/*
 * Punkt7 Accessibility Pass 1.0.0
 * Public-sector-by-design accessibility layer.
 * Targets: WCAG/EN 301 549 aligned presentation and interaction support.
 */

body.p7-accessibility-pass{
  --p7a-navy:#10233f;
  --p7a-navy-2:#173c62;
  --p7a-red:#d91834;
  --p7a-red-dark:#c41424;
  --p7a-blue:#145cb1;
  --p7a-green:#087b42;
  --p7a-text:#172b43;
  --p7a-muted:#52657a;
  --p7a-border:#d7e0ea;
  --p7a-focus:#ffbf2f;
  --p7a-target:44px;
  font-size:16px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

/* Skip link */
.p7-a11y-skip{
  position:fixed!important;
  z-index:999999!important;
  top:8px!important;
  left:8px!important;
  transform:translateY(-160%);
  padding:12px 16px!important;
  border:3px solid #fff!important;
  border-radius:8px!important;
  background:var(--p7a-navy)!important;
  color:#fff!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-decoration:none!important;
  box-shadow:0 0 0 3px var(--p7a-focus),0 8px 24px rgba(0,0,0,.25)!important;
}
.p7-a11y-skip:focus{transform:none!important}

/* Universal keyboard focus for interactive UI. */
body.p7-accessibility-pass :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--p7a-focus)!important;
  outline-offset:3px!important;
  box-shadow:none;
}
body.p7-accessibility-pass :where(a,button,input,select,textarea,summary,[tabindex]){
  scroll-margin:100px 0 80px;
}

/* Base forms: also prevents iOS zoom caused by very small inputs. */
body.p7-accessibility-pass :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea,button){
  font-size:max(1rem,16px);
}
body.p7-accessibility-pass :where(input:not([type="checkbox"]):not([type="radio"]),select,button){
  min-height:var(--p7a-target);
}
body.p7-accessibility-pass textarea{min-height:7rem;line-height:1.5}
body.p7-accessibility-pass img{max-width:100%;height:auto}

/* ColorMag / portal typography – conservative global floor. */
body.p7-accessibility-pass :where(.main-navigation a,#site-navigation a,.cm-primary-nav a,.tg-primary-menu a){
  font-size:14px!important;
  line-height:1.35!important;
}
body.p7-accessibility-pass :where(.entry-content,.cm-entry-summary,.entry-summary,.widget_text,.textwidget){
  font-size:16px;
  line-height:1.6;
}
body.p7-accessibility-pass :where(.entry-meta,.cm-entry-meta,.post-date,.posted-on,.byline,.cat-links){
  font-size:13px!important;
  line-height:1.45!important;
  color:var(--p7a-muted)!important;
}
body.p7-accessibility-pass :where(.widget-title,.cm-widget-title){line-height:1.3}
body.p7-accessibility-pass :where(.footer-widgets-area,.tg-footer-main-widget,.site-footer,.footer-socket-wrapper,.cm-footer){
  font-size:15px;
  line-height:1.55;
}
body.p7-accessibility-pass :where(.footer-widgets-area,.tg-footer-main-widget,.site-footer,.footer-socket-wrapper,.cm-footer) a{
  font-size:14px;
  line-height:1.5;
}

/* Brand red may remain decorative; readable text red gets the accessible variant. */
body.p7-accessibility-pass :where(.p7-local-hub,.p7ch-module,.p7ah-services) a:not([class*="button"]):not(.is-active){
  text-decoration-thickness:.08em;
  text-underline-offset:.18em;
}

/* =========================================================
   Punkt7 Lokalnie – typography, targets, contrast and reflow
   ========================================================= */
.p7-accessibility-pass .p7-local-hub{
  --p7-red:var(--p7a-red)!important;
  --p7-muted:var(--p7a-muted)!important;
  color:var(--p7a-text)!important;
}
.p7-accessibility-pass .p7lh-shell{
  grid-template-columns:minmax(205px,.78fr) minmax(250px,.95fr) minmax(0,2fr)!important;
}
.p7-accessibility-pass .p7lh-hub-head{padding:17px 20px!important}
.p7-accessibility-pass .p7lh-hub-head__brand>div>span{font-size:12px!important;color:var(--p7a-red)!important}
.p7-accessibility-pass .p7lh-hub-head__brand h2{font-size:22px!important;line-height:1.18!important}
.p7-accessibility-pass .p7lh-hub-head__brand p{font-size:14px!important;line-height:1.45!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-current>span{font-size:13px!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-current>strong{font-size:16px!important;color:var(--p7a-red)!important}
.p7-accessibility-pass .p7lh-current>button{min-height:44px!important;padding:0 14px!important;font-size:14px!important}

.p7-accessibility-pass .p7lh-selector{padding:16px 14px 18px!important}
.p7-accessibility-pass .p7lh-selector__label{font-size:12px!important;color:#52657a!important;line-height:1.35!important}
.p7-accessibility-pass .p7lh-area-list{gap:7px!important}
.p7-accessibility-pass .p7lh-area-button{
  min-height:46px!important;
  grid-template-columns:32px minmax(0,1fr) 16px!important;
  gap:9px!important;
  padding:7px 10px!important;
}
.p7-accessibility-pass .p7lh-area-button__icon{width:32px!important;height:32px!important;font-size:13px!important}
.p7-accessibility-pass .p7lh-area-button__icon svg{width:20px!important;height:20px!important}
.p7-accessibility-pass .p7lh-area-button strong{font-size:14px!important;line-height:1.3!important;text-overflow:clip!important}
.p7-accessibility-pass .p7lh-area-button small{font-size:12px!important;line-height:1.3!important;opacity:.85!important}

.p7-accessibility-pass .p7lh-map-tip{font-size:12px!important;line-height:1.3!important;padding:9px 11px!important}
.p7-accessibility-pass .p7lh-legend{font-size:12px!important;color:var(--p7a-muted)!important;gap:14px!important}
.p7-accessibility-pass .p7lh-legend i{width:9px!important;height:9px!important}
.p7-accessibility-pass .p7lh-map__region:focus-visible path{stroke:var(--p7a-focus)!important;stroke-width:12!important}

.p7-accessibility-pass .p7lh-tabs button{
  min-height:48px!important;
  padding:8px 9px!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.p7-accessibility-pass .p7lh-tabs button[data-p7-tab-key="live"]{color:var(--p7a-red)!important}
.p7-accessibility-pass .p7lh-tabs button[data-p7-tab-key="live"].is-active{color:#fff!important;background:var(--p7a-red)!important}
.p7-accessibility-pass .p7lh-panel-footer a{font-size:14px!important;color:var(--p7a-blue)!important}
.p7-accessibility-pass .p7lh-status{font-size:12px!important;color:var(--p7a-muted)!important}

.p7-accessibility-pass .p7lh-badge{min-height:24px!important;padding:2px 8px!important;font-size:11px!important;line-height:1.25!important}
.p7-accessibility-pass .p7lh-badge.is-important{color:#b9152c!important}
.p7-accessibility-pass .p7lh-official__source strong{font-size:13px!important;line-height:1.3!important}
.p7-accessibility-pass .p7lh-official__source time{font-size:12px!important;color:#c0d0df!important}
.p7-accessibility-pass .p7lh-official__featured h3{font-size:21px!important;line-height:1.28!important}
.p7-accessibility-pass .p7lh-official__featured>p{font-size:15px!important;line-height:1.55!important;color:#e2eaf3!important}
.p7-accessibility-pass .p7lh-details summary{min-height:44px!important;padding:10px 12px!important;font-size:14px!important}
.p7-accessibility-pass .p7lh-details>div{font-size:15px!important;line-height:1.6!important;max-height:none!important}

.p7-accessibility-pass .p7lh-official-row{min-height:86px!important;grid-template-columns:5px minmax(0,1fr) 44px!important;padding:10px 9px 10px 0!important}
.p7-accessibility-pass .p7lh-official-row__meta{font-size:12px!important;line-height:1.35!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-official-row__copy strong{font-size:14px!important;line-height:1.35!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.p7-accessibility-pass .p7lh-official-row__copy small{font-size:12px!important;line-height:1.35!important;white-space:normal!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-row-details summary{width:44px!important;height:44px!important;font-size:22px!important}
.p7-accessibility-pass .p7lh-row-details>div{font-size:14px!important;line-height:1.6!important}

.p7-accessibility-pass .p7lh-news-card{grid-template-columns:110px minmax(0,1fr)!important;min-height:145px!important}
.p7-accessibility-pass .p7lh-news-card__copy{padding:12px!important}
.p7-accessibility-pass .p7lh-news-card__copy>span{font-size:11px!important;color:var(--p7a-red)!important}
.p7-accessibility-pass .p7lh-news-card h3{font-size:15px!important;line-height:1.35!important}
.p7-accessibility-pass .p7lh-news-card p{font-size:13px!important;line-height:1.45!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-news-card time{font-size:12px!important;color:var(--p7a-muted)!important}

.p7-accessibility-pass .p7lh-event-card{min-height:82px!important;grid-template-columns:66px minmax(0,1fr) 44px!important}
.p7-accessibility-pass .p7lh-event-card__date span{font-size:15px!important}
.p7-accessibility-pass .p7lh-event-card__date small{font-size:11px!important;margin-top:-5px!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-event-card__copy>span{font-size:11px!important}
.p7-accessibility-pass .p7lh-event-card h3{font-size:15px!important;line-height:1.35!important}
.p7-accessibility-pass .p7lh-event-card p,.p7-accessibility-pass .p7lh-event-card small{font-size:12px!important;line-height:1.4!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-event-card>a{width:44px!important;height:44px!important}

.p7-accessibility-pass .p7lh-empty strong{font-size:16px!important}
.p7-accessibility-pass .p7lh-empty p{font-size:14px!important;color:var(--p7a-muted)!important;line-height:1.5!important}

.p7-accessibility-pass .p7lh-share{padding:13px 15px!important}
.p7-accessibility-pass .p7lh-share__intro strong{font-size:15px!important}
.p7-accessibility-pass .p7lh-share__intro small{font-size:12px!important;line-height:1.4!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7lh-share__actions button{min-height:44px!important;padding:0 13px!important;font-size:13px!important}
.p7-accessibility-pass .p7lh-share__actions .is-whatsapp{background:#12864d!important;border-color:#12864d!important}

/* =========================================================
   Communication Hub – standalone shortcode, if used elsewhere
   ========================================================= */
.p7-accessibility-pass .p7ch-kicker{font-size:12px!important;color:var(--p7a-red)!important}
.p7-accessibility-pass .p7ch-editorial h2{font-size:24px!important;line-height:1.25!important}
.p7-accessibility-pass .p7ch-editorial-title p{font-size:14px!important;line-height:1.5!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7ch-status{font-size:13px!important}
.p7-accessibility-pass .p7ch-status strong{min-width:36px!important;min-height:36px!important;font-size:15px!important}
.p7-accessibility-pass .p7ch-trust-item strong{font-size:13px!important;line-height:1.35!important}
.p7-accessibility-pass .p7ch-trust-item span{font-size:12px!important;line-height:1.4!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7ch-feature-source strong{font-size:13px!important}
.p7-accessibility-pass .p7ch-feature-source time{font-size:12px!important}
.p7-accessibility-pass .p7ch-feature-card h3{font-size:21px!important;line-height:1.3!important}
.p7-accessibility-pass .p7ch-feature-card>p{font-size:15px!important;line-height:1.55!important}
.p7-accessibility-pass .p7ch-feature-valid{font-size:12px!important}
.p7-accessibility-pass .p7ch-feature-details summary{min-height:44px!important;font-size:14px!important}
.p7-accessibility-pass .p7ch-feature-details .p7ch-body{font-size:14px!important;line-height:1.6!important}
.p7-accessibility-pass .p7ch-row-card{min-height:76px!important}
.p7-accessibility-pass .p7ch-row-content{padding:10px 12px!important}
.p7-accessibility-pass .p7ch-row-category{font-size:12px!important}
.p7-accessibility-pass .p7ch-row-title strong{font-size:14px!important;line-height:1.35!important}
.p7-accessibility-pass .p7ch-row-title span{font-size:12px!important;line-height:1.35!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7ch-row-details summary{width:44px!important;min-height:76px!important}
.p7-accessibility-pass .p7ch-row-expanded{font-size:14px!important;line-height:1.6!important}
.p7-accessibility-pass .p7ch-validity{font-size:12px!important}
.p7-accessibility-pass .p7ch-editorial-foot{font-size:12px!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7ch-empty strong{font-size:15px!important}.p7-accessibility-pass .p7ch-empty span{font-size:13px!important;color:var(--p7a-muted)!important}

/* =========================================================
   Alert Hub – Komunikaty służb
   ========================================================= */
.p7-accessibility-pass .p7ah-services{color:var(--p7a-text)!important}
.p7-accessibility-pass .p7ah-services__subtitle{font-size:16px!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7ah-services__header-link{font-size:14px!important;color:var(--p7a-red)!important;min-height:44px;display:inline-flex;align-items:center}
.p7-accessibility-pass .p7ah-filter{min-height:84px!important;font-size:14px!important;line-height:1.3!important}
.p7-accessibility-pass .p7ah-filter:focus-visible{transform:none!important}
.p7-accessibility-pass .p7ah-services__status{font-size:14px!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7ah-alert-card__topline{font-size:13px!important;color:var(--p7a-muted)!important}
.p7-accessibility-pass .p7ah-alert-card__type{color:var(--p7a-red)!important}
.p7-accessibility-pass .p7ah-alert-card__content h3{font-size:20px!important;line-height:1.35!important}
.p7-accessibility-pass .p7ah-alert-card__content p{font-size:16px!important;line-height:1.6!important;color:#344a62!important}
.p7-accessibility-pass .p7ah-alert-card__meta span{font-size:12px!important;line-height:1.25!important;padding:6px 9px!important}
.p7-accessibility-pass .p7ah-alert-card__button{min-height:44px!important;padding:10px 15px!important;font-size:14px!important}
.p7-accessibility-pass .p7ah-services__footer-link{min-height:46px!important;font-size:14px!important}
.p7-accessibility-pass .p7ah-services__empty strong{font-size:17px!important}.p7-accessibility-pass .p7ah-services__empty span{font-size:14px!important;color:var(--p7a-muted)!important}

/* Avoid information conveyed by color only: active controls also use font weight/border. */
.p7-accessibility-pass :where(.p7lh-area-button.is-active,.p7lh-tabs button.is-active,.p7ah-filter.is-active){
  font-weight:850!important;
}

/* Text spacing user styles must not break the layout. */
.p7-accessibility-pass :where(.p7-local-hub,.p7ch-module,.p7ah-services) :where(p,li,span,strong,small,a,button,summary){
  max-height:none;
}

/* Reflow – treat the visual map as the only intrinsically 2D element; list remains the accessible alternative. */
@media(max-width:1100px){
  .p7-accessibility-pass .p7lh-shell{grid-template-columns:minmax(190px,.75fr) minmax(230px,.9fr) minmax(0,1.65fr)!important}
  .p7-accessibility-pass .p7lh-hub-head__brand p{display:block!important}
  .p7-accessibility-pass .p7lh-tabs button{font-size:12px!important}
}
@media(max-width:860px){
  .p7-accessibility-pass .p7lh-shell{display:flex!important;flex-direction:column!important}
  .p7-accessibility-pass .p7lh-hub-head{align-items:flex-start!important;flex-wrap:wrap!important}
  .p7-accessibility-pass .p7lh-hub-head__brand p{display:block!important}
  .p7-accessibility-pass .p7lh-current{width:100%!important;justify-content:space-between!important;flex-wrap:wrap!important;white-space:normal!important}
  .p7-accessibility-pass .p7lh-selector{display:block!important;order:1!important;border-right:0!important;border-bottom:1px solid var(--p7a-border)!important}
  .p7-accessibility-pass .p7lh-area-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .p7-accessibility-pass .p7lh-content{order:2!important}
  .p7-accessibility-pass .p7lh-map-wrap{order:3!important;border-right:0!important;border-top:1px solid var(--p7a-border)!important}
  .p7-accessibility-pass .p7lh-official,.p7-accessibility-pass .p7lh-news-grid{grid-template-columns:1fr!important}
  .p7-accessibility-pass .p7lh-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  .p7-accessibility-pass .p7lh-tabs button{min-width:0!important;flex-direction:row!important;font-size:14px!important}
  .p7-accessibility-pass .p7lh-share{flex-direction:column!important;align-items:stretch!important}
  .p7-accessibility-pass .p7lh-share__intro small{display:block!important}
  .p7-accessibility-pass .p7lh-share__actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .p7-accessibility-pass .p7lh-share__actions button{width:100%!important}
  .p7-accessibility-pass .p7ah-services__filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:560px){
  body.p7-accessibility-pass{font-size:16px}
  .p7-accessibility-pass .p7lh-hub-head{padding:15px!important}
  .p7-accessibility-pass .p7lh-hub-head__brand h2{font-size:20px!important}
  .p7-accessibility-pass .p7lh-current>strong{font-size:15px!important}
  .p7-accessibility-pass .p7lh-area-list{grid-template-columns:1fr!important}
  .p7-accessibility-pass .p7lh-tabs{grid-template-columns:1fr!important}
  .p7-accessibility-pass .p7lh-tabs button{justify-content:flex-start!important;padding-left:14px!important;border-right:0!important;border-bottom:1px solid #e5eaf0!important}
  .p7-accessibility-pass .p7lh-tabs button:last-child{border-bottom:0!important}
  .p7-accessibility-pass .p7lh-news-card{grid-template-columns:92px minmax(0,1fr)!important}
  .p7-accessibility-pass .p7lh-share__actions{grid-template-columns:1fr!important}
  .p7-accessibility-pass .p7lh-share__actions .is-copy,.p7-accessibility-pass .p7lh-share__actions .is-native:not([hidden]){grid-column:auto!important}
  .p7-accessibility-pass .p7ah-services{padding:20px 14px!important}
  .p7-accessibility-pass .p7ah-services__filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible!important}
  .p7-accessibility-pass .p7ah-filter{min-width:0!important;min-height:76px!important}
  .p7-accessibility-pass .p7ah-alert-card__body{grid-template-columns:1fr!important}
  .p7-accessibility-pass .p7ah-alert-card__button{width:100%!important;justify-content:center!important}
  .p7-accessibility-pass .p7ch-trust-panel{grid-template-columns:1fr!important}
}

/* 320 CSS px / 400% zoom safety. */
@media(max-width:360px){
  .p7-accessibility-pass .p7lh-map-wrap{min-height:280px!important;padding-inline:4px!important}
  .p7-accessibility-pass .p7lh-map{max-width:220px!important;height:270px!important}
  .p7-accessibility-pass .p7lh-official__featured{padding:14px!important}
  .p7-accessibility-pass .p7lh-news-card{grid-template-columns:1fr!important}
  .p7-accessibility-pass .p7lh-news-card__image{min-height:150px!important}
  .p7-accessibility-pass .p7lh-event-card{grid-template-columns:58px minmax(0,1fr)!important}
  .p7-accessibility-pass .p7lh-event-card>a{grid-column:1/-1!important;justify-self:stretch!important;width:100%!important;border-radius:8px!important}
  .p7-accessibility-pass .p7ah-services__filters{grid-template-columns:1fr!important}
}

/* Respect reduced motion and forced colors/high-contrast environments. */
@media(prefers-reduced-motion:reduce){
  .p7-accessibility-pass *, .p7-accessibility-pass *::before, .p7-accessibility-pass *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
}
@media(forced-colors:active){
  .p7-accessibility-pass :where(a,button,summary,input,select,textarea){forced-color-adjust:auto}
  .p7-accessibility-pass .p7lh-area-button.is-active,
  .p7-accessibility-pass .p7lh-tabs button.is-active,
  .p7-accessibility-pass .p7ah-filter.is-active{outline:2px solid CanvasText!important}
}

/* Accessibility Pass 1.0.1 — cooperation with Punkt7 Lokalnie Mobile Premium 2.4.2 */
@media(max-width:780px){
  .p7-accessibility-pass .p7-local-hub[data-p7-mobile-layout="premium"] :where(button,a,summary){touch-action:manipulation}
  .p7-accessibility-pass .p7-local-hub[data-p7-mobile-layout="premium"] .p7lh-mobile-sheet-head small,
  .p7-accessibility-pass .p7-local-hub[data-p7-mobile-layout="premium"] .p7lh-mobile-map-dialog__head small{font-size:14px!important;line-height:1.45!important}
  .p7-accessibility-pass .p7-local-hub[data-p7-mobile-layout="premium"] .p7lh-mobile-theme button,
  .p7-accessibility-pass .p7-local-hub[data-p7-mobile-layout="premium"] [data-p7-close-selector],
  .p7-accessibility-pass .p7-local-hub[data-p7-mobile-layout="premium"] [data-p7-close-map]{min-width:44px!important;min-height:44px!important}
  .p7-accessibility-pass .p7-local-hub[data-p7-mobile-layout="premium"] .p7lh-mobile-quick__item{min-width:82px!important;min-height:82px!important}
}
