/*
Theme Name: MKŻ Mosina
Description: Blokowy motyw Mosińskiego Klubu Żeglarskiego.
Version: 0.1.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: mkz
*/

/* Layout */
.mkz-header { position: sticky; top: 0; z-index: 50; height: 64px; box-sizing: border-box; padding: 0 clamp(1rem, 4vw, 3rem); color: #fff; }
.mkz-header a { color: #fff; text-decoration: none; }
.mkz-header .wp-block-site-title { font-size: 1.15rem; font-weight: 700; letter-spacing: .02em; }
.mkz-header .wp-block-navigation { font-size: .95rem; }
.mkz-header .wp-block-navigation__responsive-container.is-menu-open { background: #0B2545; color: #fff; }
:root { --mkz-header: 64px; }
.mkz-btn { display: inline-block; padding: .85rem 1.6rem; border-radius: 999px; background: var(--wp--preset--color--omega); color: #fff; font-weight: 600; text-decoration: none; transition: transform .2s, background .2s; }
.mkz-btn:hover { background: #2a82f0; transform: translateY(-2px); }
.mkz-btn--ghost { background: transparent; box-shadow: inset 0 0 0 2px #fff; margin-left: .75rem; }
.mkz-btn--ghost:hover { background: rgba(255,255,255,.15); }

/* Hero: wideo sterowane scrollem. Wysokość kontenera = długość animacji. */
.mkz-hero { position: relative; height: 240vh; margin: 0; background: #0B2545; }
.mkz-hero__stage { position: sticky; top: var(--mkz-header); height: calc(100vh - var(--mkz-header)); height: calc(100svh - var(--mkz-header)); overflow: hidden; color: #fff; }
.mkz-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: var(--poster) center/cover; }
.mkz-hero__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,37,69,.78) 0%, rgba(11,37,69,.3) 45%, rgba(11,37,69,0) 70%); }
.mkz-hero__content { position: absolute; left: max(1.5rem, calc((100vw - 1280px) / 2)); top: 50%; max-width: 30rem; transform: translateY(calc(-50% - var(--p, 0) * 60px)); opacity: calc(1 - var(--p, 0) * 2.6); }
.mkz-hero__eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .85rem; color: var(--wp--preset--color--sky); margin: 0; }
.mkz-hero__title { font-size: clamp(2.2rem, 4.6vw, 4.2rem); line-height: 1.05; margin: .3em 0; color: #fff; }
.mkz-hero__lead { font-size: 1.2rem; margin: 0 0 1.6rem; }
.mkz-hero__cue { position: absolute; left: 50%; bottom: 1.5rem; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: .5rem; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; opacity: calc(1 - var(--p, 0) * 6); }
.mkz-hero__cue i { width: 1px; height: 40px; background: linear-gradient(#fff, transparent); animation: mkz-cue 1.8s ease-in-out infinite; }
@keyframes mkz-cue { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }
.mkz-hero.is-static { height: auto; }
.mkz-hero.is-static .mkz-hero__stage { position: relative; height: min(92vh, 860px); }
@media (max-width: 768px) {
	.mkz-hero { height: 220vh; }
	.mkz-hero__content { left: 1.25rem; right: 1.25rem; top: auto; bottom: 4.5rem; transform: translateY(calc(var(--p, 0) * -40px)); }
	.mkz-hero__shade { background: linear-gradient(0deg, rgba(11,37,69,.85) 0%, rgba(11,37,69,.2) 55%, rgba(11,37,69,0) 100%); }
	.mkz-btn--ghost { margin-left: 0; margin-top: .5rem; }
}

/* Sekcje */
.mkz-section { padding: clamp(3.5rem, 8vw, 7rem) clamp(1.25rem, 4vw, 3rem); }
.mkz-section--navy { background: var(--wp--preset--color--navy); color: #fff; }
.mkz-section--navy a { color: var(--wp--preset--color--sky); }
.mkz-kicker { text-transform: uppercase; letter-spacing: .18em; font-size: .8rem; font-weight: 600; color: var(--wp--preset--color--omega); margin: 0 0 .5rem; }
.mkz-section--navy .mkz-kicker { color: var(--wp--preset--color--sky); }
.mkz-section h2 { font-size: clamp(1.8rem, 3.6vw, 3rem); line-height: 1.1; margin-top: 0; }
.mkz-cards { gap: 2rem; margin-top: 2.5rem; }
.mkz-cards .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.mkz-cards h3 { margin-top: 1rem; }
.mkz-cards--tiles .wp-block-column { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 14px; padding: 1.75rem; }
.mkz-news h3 a { text-decoration: none; }
.mkz-cta { background: var(--wp--preset--color--sky); text-align: center; }
.mkz-footer { background: #071a31; color: #cfdcec; padding: 3.5rem clamp(1.25rem, 4vw, 3rem) 2rem; }
.mkz-footer a { color: #fff; }
.mkz-footer h3 { color: #fff; font-size: 1.05rem; }
.mkz-footer__copy { margin-top: 2rem; font-size: .85rem; opacity: .7; }
.mkz-header .wp-block-navigation__container { gap: 1.2rem; }
.mkz-cards .wp-block-image img { aspect-ratio: 1 / 1; }
.mkz-cards .wp-block-column:nth-child(2) .wp-block-image img { object-position: 72% center; }
.mkz-cards .wp-block-column:nth-child(1) .wp-block-image img { object-position: center 40%; }
.mkz-news { margin-top: 2.5rem; gap: 2.5rem; }
.mkz-news .wp-block-post-title { margin: .4rem 0 .6rem; font-size: 1.35rem; }
.mkz-news .wp-block-post-title a { color: var(--wp--preset--color--navy); }
.mkz-news .wp-block-post-title a:hover { color: var(--wp--preset--color--omega); }
.mkz-news .wp-block-post-excerpt { margin: 0; }
.mkz-cards p, .mkz-news p { font-size: 1rem; }
.mkz-cards--tiles h3 { margin-top: 0; font-size: 1.25rem; }

/* Podstrony */
.mkz-pagehead { background: linear-gradient(135deg, var(--wp--preset--color--navy) 0%, #14407a 100%); color: #fff; padding: clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 4vw, 3rem); }
.mkz-pagehead h1, .mkz-pagehead .wp-block-post-title { color: #fff; font-size: clamp(2rem, 4.4vw, 3.6rem); line-height: 1.1; margin: 0; }
.mkz-pagehead .mkz-kicker { color: var(--wp--preset--color--sky); }
.mkz-page { padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem); }
.mkz-page h2 { margin-top: 2.2em; font-size: 1.6rem; }
.mkz-page h2:first-child { margin-top: 0; }
.mkz-page a { color: var(--wp--preset--color--omega); }
.mkz-page .wp-block-post-featured-image img { border-radius: 14px; }
.mkz-page { font-size: 1.0625rem; }
.mkz-page :where(p, ul, ol) { margin-block: 0 1.1em; }
.mkz-page :where(h2, h3) { margin-block-end: .6em; }

/* Design: marka, typografia, detale */
body { font-feature-settings: "kern", "liga"; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.mkz-brand { display: inline-flex; align-items: center; gap: .7rem; color: #fff; text-decoration: none; }
.mkz-brand img { display: block; }
.mkz-brand__t { display: flex; flex-direction: column; line-height: 1.05; }
.mkz-brand__t b { font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; letter-spacing: .01em; }
.mkz-brand__t small { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; opacity: .7; margin-top: .15rem; }
@media (max-width: 480px) { .mkz-brand__t small { display: none; } }
.mkz-header .wp-block-navigation-item a { position: relative; padding-block: .3rem; }
.mkz-header .wp-block-navigation-item a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--wp--preset--color--sun); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.mkz-header .wp-block-navigation-item a:hover::after, .mkz-header .current-menu-item a::after { transform: scaleX(1); }
.mkz-hero__title { font-weight: 800; letter-spacing: -.02em; }
.mkz-kicker, .mkz-hero__eyebrow { font-family: var(--wp--preset--font-family--display); }
.mkz-kicker::before { content: ""; display: inline-block; width: 1.6rem; height: 2px; background: var(--wp--preset--color--sun); vertical-align: middle; margin-right: .6rem; }
.mkz-btn { font-family: var(--wp--preset--font-family--display); box-shadow: 0 6px 20px rgba(30,111,217,.35); }
.wp-block-button__link { border-radius: 999px; font-family: var(--wp--preset--font-family--display); padding: .85rem 1.6rem; background: var(--wp--preset--color--omega); color: #fff; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: inherit; border: 2px solid currentColor; }
.mkz-cta .wp-block-button__link { background: var(--wp--preset--color--navy); }
.mkz-cta .is-style-outline .wp-block-button__link { color: var(--wp--preset--color--navy); }
.mkz-cards .wp-block-image img { box-shadow: 0 18px 40px rgba(11,37,69,.18); transition: transform .5s; }
.mkz-cards .wp-block-column:hover .wp-block-image img { transform: scale(1.02); }
.mkz-cards--tiles .wp-block-column { transition: transform .25s, background .25s; }
.mkz-cards--tiles .wp-block-column:hover { transform: translateY(-4px); background: rgba(255,255,255,.11); }
.mkz-section--navy { background: radial-gradient(1200px 500px at 85% 0%, #17508f 0%, rgba(23,80,143,0) 60%), var(--wp--preset--color--navy); }
.mkz-news .wp-block-post-title { font-family: var(--wp--preset--font-family--display); }
:focus-visible { outline: 3px solid var(--wp--preset--color--sun); outline-offset: 3px; border-radius: 4px; }
/* Pojawianie się sekcji przy scrollu */
@media (prefers-reduced-motion: no-preference) {
	.mkz-reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
	.mkz-reveal.is-in { opacity: 1; transform: none; }
}
.mkz-btn--ghost { background: transparent; box-shadow: inset 0 0 0 2px #fff; }
.mkz-btn--ghost:hover { background: rgba(255,255,255,.15); box-shadow: inset 0 0 0 2px #fff; }
.mkz-footer .wp-block-columns { gap: 2rem; }
.mkz-footer p { margin-block: 0 .5rem; line-height: 1.7; }

/* Galeria */
.mkz-gallery { gap: 12px !important; margin-bottom: 3rem; }
.mkz-gallery .wp-block-image img { border-radius: 10px; transition: transform .35s, filter .35s; }
.mkz-gallery .wp-block-image:hover img { transform: scale(1.03); filter: brightness(1.05); }
.mkz-gallery .wp-block-image { overflow: hidden; border-radius: 10px; }
.mkz-page .mkz-gallery { max-width: 1280px; }
.mkz-gallery.wp-block-gallery { display: grid; grid-template-columns: repeat(3, 1fr); }
.mkz-gallery.wp-block-gallery > figure.wp-block-image { width: 100% !important; margin: 0 !important; flex: none; }
.mkz-gallery .wp-block-image img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 900px) { .mkz-gallery.wp-block-gallery { grid-template-columns: repeat(2, 1fr); } }

/* Liczby */
.mkz-facts { background: var(--wp--preset--color--white); padding-block: clamp(2.5rem, 5vw, 4rem); }
.mkz-facts__list { list-style: none; margin: 0 auto; padding: 0; max-width: 1280px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.mkz-facts__list li { border-left: 3px solid var(--wp--preset--color--sun); padding-left: 1.2rem; }
.mkz-facts__list b { display: block; font-family: var(--wp--preset--font-family--display); font-size: clamp(2.4rem, 4.5vw, 3.8rem); line-height: 1; color: var(--wp--preset--color--omega); font-variant-numeric: tabular-nums; }
.mkz-facts__list span { display: block; margin-top: .5rem; font-size: .95rem; color: #3b5470; }
@media (max-width: 900px) { .mkz-facts__list { grid-template-columns: repeat(2, 1fr); } }
/* Dojazd */
.mkz-visit { display: grid; grid-template-columns: 1fr 1.3fr; gap: 2rem; margin-top: 2.5rem; max-width: 1280px; margin-inline: auto; }
.mkz-visit__cards { display: grid; gap: 1.25rem; align-content: start; }
.mkz-visit__cards article { background: #fff; border-radius: 14px; padding: 1.6rem; box-shadow: 0 10px 30px rgba(11,37,69,.08); }
.mkz-visit__cards h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.mkz-visit__cards p { margin: 0 0 1.1rem; line-height: 1.6; }
.mkz-info { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; margin-top: 2.5rem; max-width: 1280px; margin-inline: auto; }
.mkz-info article { background: #fff; border-radius: 14px; padding: 1.6rem; box-shadow: 0 10px 30px rgba(11,37,69,.08); }
.mkz-info h3 { margin: 0 0 .5rem; font-size: 1.25rem; }
.mkz-info p { margin: 0; line-height: 1.6; }
@media (max-width: 700px) { .mkz-info { grid-template-columns: 1fr; } }
.mkz-visit .mkz-btn { color: #fff; text-decoration: none; }
.mkz-btn--dark { background: var(--wp--preset--color--navy); box-shadow: none; }
.mkz-btn--dark:hover { background: #17508f; }
.mkz-visit__map { position: relative; min-height: 380px; border-radius: 14px; overflow: hidden; background: linear-gradient(135deg, #cfe3f7, #8FC1F0); display: grid; place-content: center; text-align: center; gap: .8rem; }
.mkz-visit__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 900px) { .mkz-visit { grid-template-columns: 1fr; } .mkz-visit__map { min-height: 300px; } }
.mkz-section .wp-block-query { margin-top: 2.5rem; }

/* Mobile: nagłówek bez backdrop-filter na kontenerze (psuje position:fixed menu), rozmycie na pseudo-elemencie */
.mkz-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(11,37,69,.92); backdrop-filter: blur(8px); }
.mkz-header .wp-block-navigation__responsive-container.is-menu-open { background: #0B2545 !important; color: #fff !important; padding: 1.5rem; }
.mkz-header .wp-block-navigation__responsive-container.is-menu-open a { color: #fff; font-size: 1.4rem; font-family: var(--wp--preset--font-family--display); padding-block: .5rem; }
.mkz-header .wp-block-navigation__responsive-container-open, .mkz-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; color: #fff; }
@media (max-width: 599px) { .mkz-header .wp-block-navigation__responsive-container-open { display: inline-flex; } }
.mkz-header .wp-block-navigation { align-self: center; }
.mkz-header .wp-block-navigation__responsive-container-open svg, .mkz-header .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
.mkz-cards a, .mkz-news .wp-block-post-title a { display: inline-block; padding-block: .55rem; }
@media (max-width: 768px) { .mkz-hero__cue { display: none; } .mkz-hero__content { bottom: 2.5rem; } }
.mkz-header .is-menu-open .wp-block-navigation__container, .mkz-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; justify-content: flex-start; gap: .4rem; }
.mkz-header .is-menu-open .wp-block-navigation__container, .mkz-header .is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; align-items: stretch; }
.mkz-header .is-menu-open .wp-block-navigation-item { width: 100%; justify-content: flex-start; text-align: left; }
.mkz-header .is-menu-open, .mkz-header .is-menu-open * { text-align: left !important; }
.mkz-header .is-menu-open .wp-block-navigation__container, .mkz-header .is-menu-open .wp-block-navigation__responsive-container-content, .mkz-header .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; }

/* Mapa przystani */
.mkz-section--map { background: var(--wp--preset--color--white); }
.mkz-map__lead { margin-top: .8rem; color: #3b5470; }
.mkz-map { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.5rem; max-width: 1280px; margin: 2rem auto; align-items: start; }
.mkz-map__stage { position: relative; aspect-ratio: 1666 / 1262; border-radius: 14px; overflow: hidden; background: #2f7fdc; box-shadow: 0 18px 40px rgba(11,37,69,.18); }
.mkz-map__svg { display: block; width: 100%; height: 100%; font-family: var(--wp--preset--font-family--body); touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.mkz-map.is-zoomed .mkz-map__svg { touch-action: none; cursor: grab; }
.mkz-map__labels text { font-family: var(--wp--preset--font-family--display); }
.mkz-map__hit { fill: transparent; stroke: transparent; stroke-width: 5; stroke-linejoin: round; cursor: pointer; transition: fill .2s, stroke .2s; }
.mkz-map__hit:hover, .mkz-map__hit.is-hover { fill: rgba(242,166,90,.3); stroke: #fff; }
.mkz-map__hit.is-active { fill: rgba(242,166,90,.45); stroke: var(--wp--preset--color--sun); }
.mkz-map__pin { cursor: pointer; outline: none; }
.mkz-map__pin-in { transform: scale(var(--mkz-pin, 1)); filter: drop-shadow(0 2px 2px rgba(0,0,0,.35)); transition: transform .15s; }
.mkz-map__pin path, .mkz-map__pin rect { fill: var(--wp--preset--color--navy); transition: fill .2s; }
.mkz-map__pin rect { stroke: #fff; stroke-width: 2; }
.mkz-map__pin text { fill: #fff; font-weight: 800; pointer-events: none; }
.mkz-map__pin:hover .mkz-map__pin-in, .mkz-map__pin.is-hover .mkz-map__pin-in, .mkz-map__pin.is-active .mkz-map__pin-in { transform: scale(calc(var(--mkz-pin, 1) * 1.25)); }
.mkz-map__pin:hover path, .mkz-map__pin:hover rect, .mkz-map__pin.is-hover path, .mkz-map__pin.is-hover rect { fill: var(--wp--preset--color--omega); }
.mkz-map__pin.is-active path, .mkz-map__pin.is-active rect { fill: #d9534f; }
.mkz-map__pin--sign rect, .mkz-map__pin--sign:hover rect, .mkz-map__pin--sign.is-hover rect { fill: var(--wp--preset--color--omega); }
.mkz-map__list i.mkz-map__sign { background: var(--wp--preset--color--omega); border-radius: 6px; }
.mkz-map__pin:focus-visible rect { stroke: var(--wp--preset--color--sun); stroke-width: 4; }
.mkz-map__zoom { position: absolute; top: 12px; right: 12px; display: grid; gap: 6px; }
.mkz-map__zoom[hidden], .mkz-map__card[hidden] { display: none; }
.mkz-map__zoom button { width: 44px; height: 44px; border: 0; border-radius: 12px; background: #fff; color: var(--wp--preset--color--navy); font-size: 1.4rem; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(11,37,69,.25); }
.mkz-map__zoom button:hover { background: var(--wp--preset--color--foam); }
.mkz-map__card { position: absolute; left: 12px; top: 12px; max-width: min(380px, calc(100% - 80px)); display: flex; gap: .8rem; align-items: flex-start; background: #fff; border-radius: 14px; padding: .9rem 2.6rem .9rem .9rem; box-shadow: 0 10px 30px rgba(11,37,69,.3); }
.mkz-map__card--bottom { top: auto; bottom: 12px; }
.mkz-map__card i, .mkz-map__list i { flex: none; width: 28px; height: 28px; border-radius: 9px; background: var(--wp--preset--color--navy); color: #fff; font: 800 .85rem/28px var(--wp--preset--font-family--body); text-align: center; font-style: normal; }
.mkz-map__card i { background: #d9534f; }
.mkz-map__card b { font-family: var(--wp--preset--font-family--display); font-size: 1.1rem; }
.mkz-map__card p { margin: .2rem 0 0; font-size: .92rem; line-height: 1.45; color: #3b5470; }
.mkz-map__card button { position: absolute; top: 2px; right: 2px; width: 44px; height: 44px; border: 0; background: none; font-size: 1.5rem; line-height: 1; cursor: pointer; color: #3b5470; }
.mkz-map__list { list-style: none; margin: 0; padding: 0 4px 0 0; display: grid; gap: 6px; }
.mkz-map.is-ready .mkz-map__list { overflow-y: auto; }
.mkz-map__list button { width: 100%; display: flex; gap: .7rem; align-items: flex-start; text-align: left; padding: .6rem .7rem; border: 1px solid #e2eaf2; border-radius: 12px; background: var(--wp--preset--color--foam); color: inherit; font: inherit; cursor: pointer; transition: background .2s, border-color .2s; }
.mkz-map__list button:hover { border-color: var(--wp--preset--color--sky); background: #fff; }
.mkz-map__list button.is-active { border-color: #d9534f; background: #fff; box-shadow: 0 4px 14px rgba(11,37,69,.1); }
.mkz-map__list button.is-active i { background: #d9534f; }
.mkz-map__list b { display: block; font-size: .95rem; }
.mkz-map__list small { display: block; margin-top: 2px; font-size: .8rem; line-height: 1.4; color: #3b5470; }
.mkz-map:not(.is-ready) .mkz-map__list { grid-column: 1 / -1; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.mkz-map:not(.is-ready) { grid-template-columns: 1fr; }
@media (max-width: 900px) {
	.mkz-map { grid-template-columns: 1fr; }
	.mkz-map__stage { aspect-ratio: 1 / 1.05; }
	.mkz-map__list small { display: none; }
	.mkz-map__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mkz-map__list button { align-items: center; min-height: 48px; }
}
@media (prefers-reduced-motion: reduce) { .mkz-map__pin-in, .mkz-map__hit { transition: none; } }

/* Zarząd klubu */
.mkz-people { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem 1.5rem; margin: 2rem 0 3rem; }
.mkz-person { box-sizing: border-box; flex: 0 0 calc((100% - 4.5rem - 1px) / 4); }
@media (max-width: 900px) { .mkz-person { flex-basis: calc((100% - 1.5rem) / 2); } }
@media (max-width: 480px) { .mkz-person { flex-basis: 100%; } }
.mkz-person { margin: 0; text-align: center; background: #fff; border-radius: 14px; padding: 1.5rem 1rem; box-shadow: 0 10px 30px rgba(11,37,69,.08); transition: transform .25s; }
.mkz-person:hover { transform: translateY(-4px); }
.mkz-person img { width: 100%; max-width: 180px; height: auto; aspect-ratio: 1 / 1; border-radius: 0; }
.mkz-person figcaption { margin-top: 1rem; }
.mkz-person span { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: .75rem; font-weight: 600; color: var(--wp--preset--color--omega); }
.mkz-person strong { display: block; margin-top: .25rem; font-size: 1.15rem; color: var(--wp--preset--color--navy); }
.mkz-people--row { margin-block: 2rem; }
.mkz-people--row + .mkz-people--row { margin-top: -1rem; }

/* Historia klubu: opowieść w rozdziałach */
.mkz-story p { line-height: 1.75; }
.mkz-story__lead { font-size: 1.3rem; line-height: 1.6; color: var(--wp--preset--color--navy); margin-bottom: 1.5em; }
.mkz-story .mkz-kicker { margin: 3.5rem 0 .3rem; }
.mkz-page .mkz-story h2 { margin-top: 0; font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.15; }
.mkz-story .wp-block-quote { margin: 2.2rem 0; padding: .2rem 0 .2rem 1.5rem; border-left: 4px solid var(--wp--preset--color--sun); }
.mkz-story .wp-block-quote p { margin: 0; font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; line-height: 1.45; color: var(--wp--preset--color--navy); }
.mkz-story .wp-block-quote cite { display: block; margin-top: .7rem; font-size: .9rem; font-style: normal; color: #3b5470; }
.mkz-story__dates { list-style: none; padding: 0; }
.mkz-story__dates li { padding: .55rem 0; border-bottom: 1px solid #dfe8f1; }
.mkz-story__dates strong { color: var(--wp--preset--color--omega); font-variant-numeric: tabular-nums; }
.mkz-story__source { margin-top: 2.5rem; font-size: .9rem; color: #3b5470; }
.mkz-story__float { margin: .35rem 0 1rem; width: 170px; }
.mkz-story__float--left { float: left; margin-right: 1.75rem; }
.mkz-story__float--right { float: right; margin-left: 1.75rem; }
.mkz-story__float img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 14px; box-shadow: 0 10px 30px rgba(11,37,69,.14); }
.mkz-story__float figcaption { margin: .7rem 0 0; font-size: .9rem; line-height: 1.4; color: #3b5470; text-align: left; }
.mkz-story__float figcaption strong { display: block; font-size: 1rem; color: var(--wp--preset--color--navy); }
.mkz-story__float--doc { width: 320px; }
.mkz-story__float--doc img { aspect-ratio: auto; border-radius: 6px; border: 1px solid #e3dccb; }
.mkz-story__float--photo { width: 300px; }
.mkz-story__float--photo img { aspect-ratio: auto; }
.mkz-story__float--wide { width: 648px; }
.mkz-story .mkz-kicker, .mkz-story .mkz-profile, .mkz-story__dates, .mkz-story__source { clear: both; }
@media (max-width: 640px) {
	.mkz-story__float { width: 116px; float: right; clear: right; margin: .3rem 0 .8rem 1rem; }
	.mkz-story__float figcaption { font-size: .8rem; }
	.mkz-story__float figcaption strong { font-size: .88rem; }
	.mkz-story__float--doc, .mkz-story__float--photo { float: none; width: 100%; max-width: 420px; margin: 1.25rem 0; }
}
.mkz-story__term { margin-bottom: .8em; font-size: .9rem; font-weight: 600; color: var(--wp--preset--color--omega); }
.mkz-profile { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 2rem; align-items: start; margin-top: 2.5rem; }
.mkz-profile .wp-block-image { margin: .3rem 0 0; }
.mkz-profile .wp-block-image img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 14px; box-shadow: 0 10px 30px rgba(11,37,69,.14); }
.mkz-profile h3 { margin: 0 0 .15rem; font-size: 1.3rem; }
@media (max-width: 640px) { .mkz-profile { grid-template-columns: 1fr; gap: 1rem; } .mkz-profile .wp-block-image { max-width: 160px; } }
.mkz-instructors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.mkz-instructor { display: grid; grid-template-columns: 115px minmax(0, 1fr); gap: 1rem; align-items: start; margin: 0; background: #fff; border-radius: 14px; padding: 1.4rem; box-shadow: 0 10px 30px rgba(11,37,69,.08); }
.mkz-instructor .wp-block-image { margin: 0; }
.mkz-instructor .wp-block-image img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.mkz-instructor h3 { margin: 0 0 .15rem; font-size: 1.15rem; }
.mkz-instructor p:last-child { margin-bottom: 0; font-size: .95rem; line-height: 1.6; min-height: 6.4em; }
@media (max-width: 800px) { .mkz-instructors { grid-template-columns: 1fr; } }
.mkz-patent { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 2.5rem; align-items: center; }
.mkz-patent .wp-block-image { margin: 0; }
.mkz-patent .wp-block-image img { display: block; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 18px 40px rgba(11,37,69,.2); transform: rotate(-2deg); }
.mkz-patent figcaption { margin-top: 1.1rem; font-size: .82rem; line-height: 1.45; color: #3b5470; text-align: center; }
@media (max-width: 900px) { .mkz-patent { grid-template-columns: 1fr; gap: 1.5rem; } .mkz-patent .wp-block-image { max-width: 420px; } }
/* Zdjęcia w ramce z wiosłami, jak na stronie Zarządu */
.mkz-instructor .is-style-rounded, .mkz-profile .is-style-rounded { aspect-ratio: 1 / 1; display: grid; place-items: center; background: url(assets/img/zarzad/ramka.svg) center / 100% 100% no-repeat; }
.mkz-instructor .is-style-rounded img, .mkz-profile .is-style-rounded img { width: 83.2%; border-radius: 50%; box-shadow: none; }
.mkz-profile--lg { grid-template-columns: 306px minmax(0, 1fr); gap: 2.5rem; }
@media (max-width: 640px) { .mkz-profile--lg { grid-template-columns: 1fr; gap: 1rem; } .mkz-profile--lg .wp-block-image { max-width: 272px; } }

/* Galeria wydarzeń (shortcode [mkz_galeria]) */
.mkz-gal { max-width: 1280px; margin-inline: auto; }
.mkz-gal__years { display: flex; gap: .5rem; margin-bottom: 2rem; }
.mkz-gal__years a, .mkz-gal__chips a { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .9rem; border-radius: 999px; background: var(--wp--preset--color--foam); border: 1px solid #d9e4f0; color: var(--wp--preset--color--navy); font-size: .9rem; font-weight: 600; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.mkz-gal__years a:hover, .mkz-gal__chips a:hover, .mkz-gal__chips a.is-active { background: var(--wp--preset--color--omega); border-color: var(--wp--preset--color--omega); color: #fff; }
.mkz-gal__chips { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
.mkz-gal__chips span { font-weight: 500; font-size: .8rem; opacity: .65; font-variant-numeric: tabular-nums; }
.mkz-gal__yearhead { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-bottom: 2px solid var(--wp--preset--color--sun); padding-bottom: .6rem; margin-bottom: 1.75rem; }
.mkz-page .mkz-gal__yearhead h2 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.2rem); }
.mkz-gal__yearhead p { margin: 0; color: #3b5470; font-size: .95rem; }
.mkz-gal__year + .mkz-gal__year { margin-top: 4rem; }
.mkz-gal__events { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem 1.5rem; }
.mkz-gal__event { display: flex; flex-direction: column; gap: .75rem; min-width: 0; }
.mkz-gal__cover { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: var(--wp--preset--color--navy); color: #fff !important; text-decoration: none; box-shadow: 0 10px 30px rgba(11,37,69,.12); }
.mkz-gal__cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.mkz-gal__cover:hover img { transform: scale(1.05); }
.mkz-gal__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,37,69,0) 35%, rgba(11,37,69,.88) 100%); }
.mkz-gal__info { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 1.1rem 1.2rem; display: grid; gap: .2rem; }
.mkz-gal__info time { font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--sun); }
.mkz-gal__info strong { font-family: var(--wp--preset--font-family--display); font-size: 1.3rem; line-height: 1.15; }
.mkz-gal__info small { font-size: .85rem; opacity: .85; }
.mkz-gal__badge { position: absolute; z-index: 1; top: .8rem; right: .8rem; padding: .25rem .7rem; border-radius: 999px; background: rgba(11,37,69,.7); backdrop-filter: blur(6px); font-size: .78rem; font-weight: 600; }
.mkz-gal__event.is-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.55fr 1fr; grid-template-rows: auto 1fr; gap: 1rem 1.5rem; }
.mkz-gal__event.is-featured .mkz-gal__cover { grid-row: 1 / -1; aspect-ratio: 16 / 10; }
.mkz-gal__event.is-featured .mkz-gal__info { padding: 1.6rem 1.8rem; }
.mkz-gal__event.is-featured .mkz-gal__info strong { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.mkz-gal__strip { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 1fr; gap: .5rem; min-height: 0; }
.mkz-gal__strip img { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 10px; display: block; }
.mkz-gal__archive { margin-top: 4.5rem !important; border-bottom: 2px solid var(--wp--preset--color--sun); padding-bottom: .6rem; }

.mkz-gal__back { margin: 0 0 1.25rem; font-size: .95rem; font-weight: 600; }
.mkz-gal__back a { text-decoration: none; }
.mkz-gal__meta { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.25rem; padding: 0; }
.mkz-gal__meta li { padding: .35rem .9rem; border-radius: 999px; background: var(--wp--preset--color--foam); border: 1px solid #d9e4f0; font-size: .9rem; font-weight: 600; color: var(--wp--preset--color--navy); }
.mkz-gal__meta li:first-child { background: var(--wp--preset--color--navy); border-color: var(--wp--preset--color--navy); color: #fff; }
.mkz-gal__lead { max-width: 62ch; font-size: 1.15rem; line-height: 1.6; color: #2c4460; }
.mkz-gal__nav { position: sticky; top: var(--mkz-header); z-index: 5; margin: 1.5rem -.5rem 0; padding: .7rem .5rem; background: rgba(245,248,251,.92); backdrop-filter: blur(8px); }
.mkz-gal__nav .mkz-gal__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.mkz-gal__nav .mkz-gal__chips a { white-space: nowrap; }
.mkz-gal__part { margin-top: 2.5rem; scroll-margin-top: calc(var(--mkz-header) + 4.5rem); }
.mkz-gal__parthead { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.mkz-page .mkz-gal__parthead h2 { margin: 0; font-size: 1.7rem; }
.mkz-gal__parthead p { margin: 0; color: #3b5470; font-size: .95rem; }
.mkz-gal__partlead { max-width: 62ch; color: #2c4460; }
/* rzędy o równej wysokości: szerokość kafla proporcjonalna do proporcji zdjęcia */
.mkz-gal__grid { --row: 230px; display: flex; flex-wrap: wrap; gap: 8px; }
.mkz-gal__grid::after { content: ""; flex-grow: 10; }
.mkz-gal__grid a { flex: var(--r) 1 calc(var(--r) * var(--row)); max-width: calc(var(--r) * var(--row) * 1.6); aspect-ratio: var(--r); border-radius: 8px; overflow: hidden; background: #dfe8f2; }
.mkz-gal__grid a[hidden] { display: none; }
.mkz-gal__grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s, filter .35s; }
.mkz-gal__grid a:hover img { transform: scale(1.04); filter: brightness(1.06); }
.mkz-gal__more { display: block; margin: 1.25rem auto 0; padding: .7rem 1.5rem; border: 2px solid var(--wp--preset--color--omega); border-radius: 999px; background: transparent; color: var(--wp--preset--color--omega); font: 600 .95rem var(--wp--preset--font-family--display); cursor: pointer; transition: background .2s, color .2s; }
.mkz-gal__more:hover { background: var(--wp--preset--color--omega); color: #fff; }
.mkz-gal__pager { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid #d9e4f0; }
.mkz-gal__pager a { display: flex; align-items: center; gap: 1rem; padding: .6rem; border-radius: 14px; background: var(--wp--preset--color--foam); color: var(--wp--preset--color--navy); text-decoration: none; transition: background .2s; }
.mkz-gal__pager a:hover { background: #e6eef7; }
.mkz-gal__pager a.is-next { flex-direction: row-reverse; text-align: right; }
.mkz-gal__pager img { width: 96px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; flex: none; }
.mkz-gal__pager span { display: grid; gap: .15rem; min-width: 0; }
.mkz-gal__pager small { font-size: .78rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--omega); }
.mkz-gal__pager strong { font-family: var(--wp--preset--font-family--display); line-height: 1.2; }

.mkz-lightbox { width: 100vw; height: 100vh; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(6,20,38,.96); color: #fff; }
.mkz-lightbox::backdrop { background: rgba(6,20,38,.96); }
.mkz-lightbox[open] { display: grid; grid-template-columns: auto 1fr auto; align-items: center; }
.mkz-lightbox figure { grid-column: 2; margin: 0; height: 100%; min-width: 0; display: grid; grid-template-rows: 1fr auto; justify-items: center; align-items: center; padding: 3.25rem 0 0; box-sizing: border-box; }
.mkz-lightbox img { max-width: 100%; max-height: calc(100dvh - 7rem); width: auto; height: auto; object-fit: contain; border-radius: 6px; transition: opacity .2s; }
.mkz-lightbox img.is-loading { opacity: .35; }
.mkz-lightbox figcaption { padding: .9rem 1rem 1.1rem; font-size: .9rem; color: #c9d8ea; text-align: center; font-variant-numeric: tabular-nums; }
.mkz-lightbox button { border: 0; background: transparent; color: #fff; cursor: pointer; font-size: 3rem; line-height: 1; padding: 1rem 1.25rem; opacity: .75; transition: opacity .2s; }
.mkz-lightbox button:hover { opacity: 1; }
.mkz-lightbox__close { position: absolute; top: 0; right: 0; z-index: 1; font-size: 2.4rem !important; }
@media (max-width: 900px) {
	.mkz-gal__events { grid-template-columns: repeat(2, 1fr); }
	.mkz-gal__event.is-featured { display: flex; }
	.mkz-gal__strip { display: none; }
	.mkz-gal__grid { --row: 150px; gap: 5px; }
	.mkz-lightbox button { padding: .75rem .5rem; font-size: 2.2rem; }
}
@media (max-width: 600px) {
	.mkz-gal__events { grid-template-columns: 1fr; }
	.mkz-gal__pager { grid-template-columns: 1fr; }
	.mkz-lightbox[open] { grid-template-columns: 1fr; }
	.mkz-lightbox figure { grid-column: 1; grid-row: 1; }
	.mkz-lightbox__prev, .mkz-lightbox__next { position: absolute; bottom: 2.6rem; z-index: 1; }
	.mkz-lightbox__prev { left: 0; } .mkz-lightbox__next { right: 0; }
}

/* Wpis w Aktualnościach: wąska kolumna tekstu wyrównana do tytułu */
.single-post .mkz-page .wp-block-post-content { max-width: 1280px; margin-inline: auto; }
.single-post .mkz-page .wp-block-post-content > * { max-width: 780px; margin-left: 0 !important; margin-right: auto !important; }
.single-post .mkz-page .wp-block-post-content > .mkz-newsimg { max-width: 960px; margin-bottom: 1.75rem; }
.mkz-newsimg img { width: 100%; height: auto; border-radius: 14px; display: block; }
.single-post .mkz-page .wp-block-post-content h3 { margin-top: 1.8em; font-size: 1.2rem; }
.single-post .mkz-page .wp-block-post-content .wp-block-buttons { margin-block: 1.75rem; }
.single-post .mkz-page > .mkz-newsback { max-width: 1280px; margin-inline: auto; margin-top: 2.5rem; font-weight: 600; }
.mkz-newsback a { text-decoration: none; }
.mkz-page .wp-block-button:not(.is-style-outline) .wp-block-button__link { color: #fff; text-decoration: none; }
/* Aktualności: przełącznik lat (jeden rok na stronie) */
.mkz-newsyears { max-width: 1280px; margin: 0 auto 2.5rem; }
.mkz-newsyears + .wp-block-query .mkz-news { margin-top: 0; }
.mkz-newsyears ul { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; }
.mkz-newsyears a { display: inline-flex; align-items: center; gap: .45rem; padding: .4rem .9rem; border-radius: 999px; background: var(--wp--preset--color--foam); border: 1px solid #d9e4f0; color: var(--wp--preset--color--navy); font-size: .9rem; font-weight: 600; text-decoration: none; transition: background .2s, color .2s, border-color .2s; }
.mkz-newsyears a:hover, .mkz-newsyears a.is-active { background: var(--wp--preset--color--omega); border-color: var(--wp--preset--color--omega); color: #fff; }
.mkz-newsyears span { font-weight: 500; font-size: .8rem; opacity: .65; font-variant-numeric: tabular-nums; }
.mkz-newsmeta { font-size: .95rem; color: #3b5470; }
/* Aktualności: miniatura wpisu nad datą i tytułem */
.mkz-news__thumb { display: block; overflow: hidden; border-radius: 14px; aspect-ratio: 4 / 3; background: var(--wp--preset--color--foam); }
.mkz-news__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.mkz-news li:hover .mkz-news__thumb img, .mkz-news__thumb:hover img { transform: scale(1.04); }
.mkz-news .mkz-kicker { margin-top: 1rem; }

/* Nasza flota */
.mkz-fleet-cards { margin-top: 2rem; gap: 2rem; }
.mkz-fleet-cards .wp-block-column .wp-block-image img { aspect-ratio: 4 / 3; object-position: center; }
.mkz-fleet-cards h3 a { color: var(--wp--preset--color--navy); text-decoration: none; }
.mkz-fleet-cards h3 a:hover { color: var(--wp--preset--color--omega); }
.mkz-fleet-cards p { font-size: 1rem; }
@media (max-width: 781px) { .mkz-fleet-cards .wp-block-column:empty { display: none; } }
.mkz-fleet-table table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.mkz-fleet-table th, .mkz-fleet-table td { text-align: left; padding: .6rem .75rem; border-bottom: 1px solid #dfe8f1; vertical-align: top; }
.mkz-fleet-table th { color: var(--wp--preset--color--navy); border-bottom: 2px solid var(--wp--preset--color--sun); }
.mkz-fleet-table td:first-child { font-weight: 600; color: var(--wp--preset--color--navy); }
.mkz-story__float.mkz-fleet__photo { width: 460px; }
.mkz-story__float.mkz-fleet__photo img { aspect-ratio: 4 / 3; object-fit: cover; object-position: center 40%; }

/* Partnerzy */
.mkz-partners { background: var(--wp--preset--color--white); padding-block: clamp(2.5rem, 5vw, 4rem); }
.mkz-partners h2 { font-size: clamp(1.4rem, 2.4vw, 2rem); }
.mkz-partners__list { list-style: none; margin: 2rem 0 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2rem clamp(1.5rem, 5vw, 4rem); }
.mkz-partners__list img { display: block; height: 80px; width: auto; filter: grayscale(1); opacity: .75; transition: filter .2s, opacity .2s; }
.mkz-partners__list a:hover img { filter: none; opacity: 1; }
