.skip-link {
  position: fixed;
  inset: 0 auto auto 1rem;
  z-index: 999;
  transform: translateY(-140%);
  background: var(--color-dark);
  color: #fff;
  padding: 0.8rem 1.15rem;
  transition: transform var(--motion-fast) ease;
}
.skip-link:focus { transform: translateY(0.75rem); }
.ui-icon {
  width: var(--icon-inline);
  height: var(--icon-inline);
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: var(--icon-stroke);
  stroke-linecap: round;
  stroke-linejoin: round;
}
.icon-button .ui-icon { width: var(--icon-control); height: var(--icon-control); }
.action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--touch-min);
  color: inherit;
  font: 600 0.78rem/1.25 var(--font-sans);
  text-decoration: none;
  transition: color var(--duration-ui) var(--ease-ui), background var(--duration-ui) var(--ease-ui), border-color var(--duration-ui) var(--ease-ui), transform var(--duration-ui) var(--ease-ui);
}
.action .ui-icon { flex: 0 0 var(--icon-inline); }
.action--primary,
.action--secondary { padding: 0.7rem 1rem; border: 1px solid var(--color-dark); }
.action--primary { background: var(--color-dark); color: #fff; }
.action--primary:hover { background: var(--color-accent); border-color: var(--color-accent); }
.action--secondary { background: transparent; color: var(--color-ink); }
.action--secondary:hover { background: var(--color-dark); color: #fff; }
.action--text,
.action--external { justify-content: flex-start; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.35em; }
.action--primary.action--external { justify-content: center; text-decoration: none; }
.action--text:hover,
.action--external:hover { color: var(--color-accent); }
.action:active { transform: translateY(1px); }
.action[aria-disabled="true"],
.action:disabled { cursor: not-allowed; opacity: 0.52; transform: none; }
.site-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 100;
  height: auto;
  min-height: var(--header-height);
  display: grid;
  grid-template-columns: minmax(12rem, 1fr) auto minmax(12rem, 1fr);
  align-items: center;
  gap: var(--space-3);
  padding-inline: var(--gutter);
  border-bottom: 1px solid var(--color-line);
  background: rgba(250, 248, 244, 0.97);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.wordmark {
  display: inline-flex;
  width: max-content;
  color: var(--color-ink);
  font-family: var(--font-serif);
  text-decoration: none;
}
.wordmark .wordmark-name {
  display: flex;
  flex-direction: column;
  font: 400 1.55rem/0.9 var(--font-serif);
  letter-spacing: -0.045em;
  text-transform: uppercase;
}
.wordmark .wordmark-name span { color: inherit; }
.desktop-nav { display: flex; align-items: stretch; justify-content: center; gap: clamp(1rem, 2vw, 2rem); min-width: 0; }
.desktop-nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: var(--header-height);
  padding-block: 0.25rem;
  border: 0;
  font-size: 0.76rem;
  white-space: nowrap;
  text-decoration: none;
}
.desktop-nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--motion-fast) ease;
}
.desktop-nav a:hover::after,
.desktop-nav a.is-active::after,
.desktop-nav a[aria-current="page"]::after { transform: scaleX(1); }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 0.45rem; }
.icon-button {
  width: var(--touch-min);
  height: var(--touch-min);
  min-width: var(--touch-min);
  min-height: var(--touch-min);
  border: 0;
  background: transparent;
  color: var(--color-ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.icon-button:hover { background: rgba(34, 31, 27, 0.06); }
.heart {
  width: var(--touch-min);
  height: var(--touch-min);
  min-width: var(--touch-min);
  min-height: var(--touch-min);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.heart .ui-icon { width: var(--icon-control); height: var(--icon-control); }
.heart.active .ui-icon { fill: currentColor; }
.support-card.dark .action--secondary { color: #fff; border-color: #e9dfd1; }
.support-card.dark .action--secondary:hover { background: #fff; color: var(--color-dark); }
.header-donate {
  margin-left: var(--space-1);
}
.mobile-menu-button { display: none; }
.mobile-menu-button .icon-close { display: none; }
.mobile-menu-button[aria-expanded="true"] .icon-menu { display: none; }
.mobile-menu-button[aria-expanded="true"] .icon-close { display: block; }
.mobile-nav {
  position: fixed;
  inset: var(--header-height) 0 0;
  z-index: 99;
  height: calc(100vh - var(--header-height));
  min-height: 0;
  max-height: none;
  overflow: visible;
  padding: 0;
  border: 0;
  box-shadow: none;
  display: grid;
  grid-template-columns: 1fr minmax(17.5rem, 32rem);
  background: rgba(29, 27, 25, 0.42);
}
.mobile-nav-backdrop { grid-column: 1; grid-row: 1; border: 0; background: transparent; }
.mobile-nav-panel {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: var(--space-6) var(--gutter) calc(var(--space-6) + env(safe-area-inset-bottom));
  border-left: 1px solid var(--color-line);
  background: var(--color-paper-soft);
}
.mobile-nav-primary,
.mobile-nav-secondary { display: flex; flex-direction: column; }
.mobile-nav-primary a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: var(--touch-min);
  padding: var(--space-3) var(--space-8) var(--space-3) 0;
  border-bottom: 1px solid var(--color-line);
  color: var(--color-ink);
  font: 400 clamp(1.35rem, 4.8vw, 2rem)/1.2 var(--font-serif);
  text-decoration: none;
}
.mobile-nav-primary a[aria-current="page"]::after {
  content: "";
  position: absolute;
  right: 0;
  width: 1.1rem;
  height: 2px;
  background: currentColor;
}
.mobile-nav-primary a:hover { color: var(--color-accent); }
.mobile-nav-secondary {
  gap: var(--space-2);
  margin-top: var(--space-8);
  padding-top: var(--space-4);
  border-top: 1px solid var(--color-line);
}
.mobile-nav-secondary strong { margin-bottom: var(--space-2); color: var(--color-muted); font-size: 0.66rem; letter-spacing: 0.16em; text-transform: uppercase; }
.mobile-nav-secondary a { width: fit-content; }
@supports (height: 100dvh) {
  .mobile-nav { height: calc(100dvh - var(--header-height)); }
}
.site-footer {
  flex: 0 0 auto;
  padding: var(--space-10) var(--gutter) calc(var(--space-6) + env(safe-area-inset-bottom));
  border-top: 1px solid var(--color-line);
  background: var(--color-paper-soft);
  color: var(--color-ink);
}
.footer-main {
  width: min(100%, var(--container));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.25fr;
  gap: var(--space-10);
  padding-bottom: var(--space-10);
}
.site-footer a:not(.wordmark):hover { color: var(--color-accent); }
.footer-logo .wordmark-name { font-size: 1.75rem; }
.footer-identity p { margin-top: var(--space-4); color: var(--color-muted); font: 400 1.3rem/1.35 var(--font-serif); white-space: pre-line; }
.footer-links, .footer-address { display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem; font-size: 0.77rem; }
.footer-links strong, .footer-address strong { margin-bottom: 0.25rem; color: var(--color-muted); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; }
.footer-address span { color: var(--color-muted); }
.footer-bottom { width: min(100%, var(--container)); margin-inline: auto; display: flex; justify-content: space-between; gap: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--color-line); color: var(--color-muted); font-size: 0.68rem; }
.modal-close {
  width: var(--touch-min);
  height: var(--touch-min);
  min-width: var(--touch-min);
  min-height: var(--touch-min);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: var(--color-ink);
}
.modal-close .ui-icon { width: var(--icon-control); height: var(--icon-control); }
@media (max-width: 1100px) {
  .site-header { grid-template-columns: minmax(10rem, 1fr) auto; }
  .desktop-nav { display: none; }
  .mobile-menu-button { display: inline-flex; }
}
@media (max-width: 650px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto; gap: 0.5rem; padding-top: env(safe-area-inset-top); }
  .wordmark .wordmark-name { font-size: 1.28rem; }
  .header-actions { gap: 0.1rem; }
  .header-donate { display: none; }
  .mobile-nav { grid-template-columns: 1fr; }
  .mobile-nav-backdrop { display: none; }
  .mobile-nav-panel { grid-column: 1; border-left: 0; padding-inline: var(--gutter); }
  .footer-main { grid-template-columns: 1fr 1fr; gap: var(--space-8) var(--space-6); padding-bottom: var(--space-8); }
  .footer-identity { grid-column: 1 / -1; }
  .footer-address { grid-column: 1 / -1; }
  .footer-bottom { flex-direction: column; gap: 0.35rem; }
}
@media (max-width: 360px) {
  .footer-main { grid-template-columns: 1fr; gap: var(--space-6); }
  .footer-identity,
  .footer-address { grid-column: 1; }
}

/* Oryginalna identyfikacja Fundacji i Kopalni (30.10.2026) */
.brand-logo--fundacja{display:block;width:min(100%,172px);height:auto;object-fit:contain;}
.site-header .wordmark{max-width:180px;align-items:center;justify-content:center;}
.site-footer .footer-logo{display:inline-flex;padding:9px 12px;background:#fff;border-radius:4px;max-width:220px;}
.site-footer .footer-logo .brand-logo{width:190px;}
@media(max-width:650px){.site-header .brand-logo--fundacja{width:135px;}}

.opening-hours strong{font-weight:600;letter-spacing:0;text-transform:none;font-size:inherit;color:inherit}
