*,*::before,*::after{box-sizing:border-box}
:root{--zwh-surface:#fff;--zwh-line:rgba(66,47,51,.12);--zwh-shadow:0 14px 38px rgba(54,34,39,.06)}
html{scroll-behavior:smooth}
body{min-height:100vh;margin:0;display:flex;flex-direction:column;background:var(--zwh-page-bg);color:var(--zwh-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}button,input,select,textarea{font:inherit}
a{color:var(--zwh-brand);text-underline-offset:.18em}a:hover,a:focus{color:var(--zwh-heading)}
h1,h2,h3,h4,h5,h6{margin:0 0 .75em;color:var(--zwh-heading);font-weight:750;line-height:1.18}
h1{font-size:clamp(2rem,3.4vw,3.35rem)}h2{font-size:clamp(1.55rem,2.4vw,2.35rem)}h3{font-size:clamp(1.2rem,1.65vw,1.55rem)}
p,ul,ol{margin-top:0}.zwh-container{width:min(calc(100% - 48px),var(--zwh-container));margin-inline:auto}
.zwh-skip{position:fixed;left:1rem;top:-5rem;z-index:9999;padding:.75rem 1rem;background:#fff;color:#111;border-radius:.5rem;box-shadow:0 8px 30px rgba(0,0,0,.18)}.zwh-skip:focus{top:1rem}
.zwh-topbar{padding:.35rem 0;background:var(--zwh-heading);color:#fff}.zwh-topbar p{margin:0}
.zwh-header{position:relative;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--zwh-line);backdrop-filter:blur(12px)}.has-sticky-header .zwh-header{position:sticky;top:0}
.zwh-header__inner{display:flex;align-items:center;gap:clamp(1rem,2vw,2rem);min-height:var(--zwh-header-height)}
.zwh-brand{display:block;flex:0 0 auto;line-height:0}.zwh-brand img{display:block;width:auto;max-width:var(--zwh-logo-width);max-height:calc(var(--zwh-header-height) - 22px)}
.zwh-primary-menu{margin-left:auto}.zwh-primary-menu ul.mod-menu{display:flex;align-items:center;gap:clamp(1rem,2.1vw,2rem);margin:0;padding:0;list-style:none}.zwh-primary-menu a{display:block;padding:.9rem 0;color:var(--zwh-heading);font-weight:700;text-decoration:none;white-space:nowrap}.zwh-primary-menu .active>a,.zwh-primary-menu a[aria-current="page"],.zwh-primary-menu a:hover,.zwh-primary-menu a:focus{color:var(--zwh-brand);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.42rem}
.zwh-header-tools,.zwh-login-link{display:flex;align-items:center;gap:.6rem}.zwh-login-link a{display:inline-flex;align-items:center;min-height:40px;padding:.5rem .85rem;border:1px solid color-mix(in srgb,var(--zwh-brand) 35%,transparent);border-radius:999px;color:var(--zwh-brand);font-weight:700;text-decoration:none}
.zwh-menu-toggle{display:none;width:44px;height:44px;margin-left:auto;padding:9px;border:0;background:transparent;cursor:pointer}.zwh-menu-toggle span:not(.visually-hidden){display:block;height:2px;margin:6px 0;background:var(--zwh-heading);transition:transform .2s ease,opacity .2s ease}.zwh-menu-toggle[aria-expanded="true"] span:nth-of-type(2){transform:translateY(8px) rotate(45deg)}.zwh-menu-toggle[aria-expanded="true"] span:nth-of-type(3){opacity:0}.zwh-menu-toggle[aria-expanded="true"] span:nth-of-type(4){transform:translateY(-8px) rotate(-45deg)}
.zwh-position--hero{overflow:hidden}.zwh-section{padding:var(--zwh-section-space) 0}.zwh-section:nth-of-type(even){background:#fff}
.zwh-main{flex:1;padding:clamp(2.5rem,5vw,4.75rem) 0}.zwh-main.is-component-hidden{padding:0}
.zwh-breadcrumbs{margin:0 0 1.8rem;color:var(--zwh-muted);font-size:.9rem}.zwh-breadcrumbs ol,.zwh-breadcrumbs ul{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.zwh-breadcrumbs li{display:flex;align-items:center;gap:.45rem}.zwh-breadcrumbs li+li::before{content:"/";color:color-mix(in srgb,var(--zwh-muted) 55%,transparent)}
.zwh-main-top{margin-bottom:2rem}.zwh-main-bottom{margin-top:2rem}
.zwh-content-layout{display:block}.zwh-component{width:100%;max-width:1040px;min-width:0;margin:0 auto}.zwh-component>article,.zwh-component .item-page,.zwh-component .blog{width:100%}
.zwh-component .page-header{margin-bottom:2rem}.zwh-component .article-info{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;margin:0 0 1.5rem;padding:0;color:var(--zwh-muted);font-size:.88rem;list-style:none}.zwh-component .article-info dd{margin:0}
.zwh-component table{width:100%;border-collapse:collapse}.zwh-component th,.zwh-component td{padding:.75rem;border-bottom:1px solid var(--zwh-line);text-align:left;vertical-align:top}
.card{padding:1.25rem;background:#fff;border:1px solid var(--zwh-line);border-radius:16px;box-shadow:var(--zwh-shadow)}
.btn,button[type="submit"],input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.65rem 1rem;border:1px solid var(--zwh-brand);border-radius:999px;background:var(--zwh-brand);color:#fff;font-weight:700;text-decoration:none;cursor:pointer}.btn:hover,.btn:focus,button[type="submit"]:hover,button[type="submit"]:focus,input[type="submit"]:hover,input[type="submit"]:focus{background:var(--zwh-heading);border-color:var(--zwh-heading);color:#fff}
.form-control,input[type="text"],input[type="email"],input[type="password"],textarea,select{max-width:100%;padding:.65rem .75rem;border:1px solid rgba(0,0,0,.22);border-radius:.5rem;background:#fff;color:var(--zwh-text)}
.alert{margin-bottom:1.5rem;padding:1rem 1.1rem;border-radius:.75rem;background:#fff;border-left:4px solid var(--zwh-brand);box-shadow:0 6px 20px rgba(0,0,0,.05)}
.zwh-footer{position:relative;overflow:hidden;background:var(--zwh-heading);color:#fff}.zwh-footer__top{padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.zwh-footer__main{padding:1.7rem 0}.zwh-footer__inner{position:relative;display:flex;align-items:center;min-height:54px}.zwh-footer__content{position:relative;z-index:1;max-width:850px}.zwh-footer__content>:last-child,.zwh-footer__copyright{margin-bottom:0}.zwh-footer__copyright{font-size:.9rem;color:rgba(255,255,255,.82)}.zwh-footer a{color:#fff}.zwh-footer__symbol{position:absolute;right:-20px;bottom:-82px;width:210px;opacity:.08;filter:brightness(0) invert(1);pointer-events:none}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1050px){.zwh-header__inner{min-height:max(74px,calc(var(--zwh-header-height) - 14px))}.zwh-menu-toggle{display:block}.zwh-primary-menu{display:none;position:absolute;left:24px;right:24px;top:calc(100% + 1px);margin:0;padding:1rem;background:#fff;border:1px solid var(--zwh-line);box-shadow:0 18px 40px rgba(0,0,0,.15);border-radius:14px}.zwh-primary-menu.is-open{display:block}.zwh-primary-menu ul.mod-menu{display:block}.zwh-primary-menu a{padding:.7rem}.zwh-header-tools,.zwh-login-link{margin-left:0}}
@media(max-width:640px){.zwh-container{width:min(calc(100% - 28px),var(--zwh-container))}.zwh-header__inner{gap:.65rem}.zwh-brand img{max-width:min(var(--zwh-logo-width),165px);max-height:58px}.zwh-header-tools{display:none}.zwh-login-link a{padding:.45rem .65rem;font-size:.85rem}.zwh-primary-menu{left:14px;right:14px}.zwh-footer__symbol{width:170px}.zwh-component h1{overflow-wrap:anywhere}.zwh-component .article-info{display:block}.zwh-component .article-info dd{margin-bottom:.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* RC1.0.3 — refined structural layout */
.zwh-header__inner{justify-content:space-between}
.zwh-brand img{max-height:calc(var(--zwh-header-height) - 14px)}
.zwh-primary-menu{display:flex;align-items:center;align-self:stretch}
.zwh-primary-menu ul.mod-menu{height:100%}
.zwh-primary-menu a{display:flex;align-items:center;height:100%;padding:0 .15rem}
.zwh-main{padding:clamp(2rem,4vw,3.75rem) 0 clamp(4rem,8vw,7rem)}
.zwh-breadcrumbs{margin-bottom:1.35rem}
.zwh-component{max-width:1120px;margin-left:0;margin-right:auto}
.zwh-component .page-header{margin-bottom:1.5rem}
.zwh-position--hero{min-height:clamp(320px,48vw,680px);background:linear-gradient(135deg,color-mix(in srgb,var(--zwh-brand) 84%,#000),color-mix(in srgb,var(--zwh-brand) 58%,#fff));display:flex;align-items:stretch}
.zwh-position--hero:empty{display:none}
.zwh-position--hero>.moduletable,.zwh-position--hero>.mod-custom{width:100%}
.zwh-footer__main{position:relative;padding:clamp(2.5rem,5vw,4.5rem) 0 1.4rem}
.zwh-footer__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:clamp(2rem,5vw,5rem);min-height:120px}
.zwh-footer__column h2,.zwh-footer__column h3,.zwh-footer__column h4{color:#fff}
.zwh-footer__column ul{margin:0;padding:0;list-style:none}
.zwh-footer__column li+li{margin-top:.45rem}
.zwh-footer__column--center{text-align:center}
.zwh-footer__column--right{text-align:right}
.zwh-footer__bottom{position:relative;z-index:1;margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.16)}
.zwh-footer__symbol{right:-32px;bottom:-110px;width:270px;opacity:.075}
@media(max-width:1050px){.zwh-primary-menu{display:none;align-self:auto}.zwh-primary-menu.is-open{display:block}.zwh-primary-menu ul.mod-menu{height:auto}.zwh-primary-menu a{display:block;height:auto;padding:.7rem}.zwh-component{max-width:100%}}
@media(max-width:760px){.zwh-footer__grid{grid-template-columns:1fr;gap:1.75rem}.zwh-footer__column--center,.zwh-footer__column--right{text-align:left}.zwh-position--hero{min-height:300px}}


/* RC1.1.0 — header rebuild */
.zwh-header{background:#fff;box-shadow:0 1px 0 var(--zwh-line)}
.zwh-header__inner{min-height:var(--zwh-header-height);gap:clamp(2rem,4vw,5rem)}
.zwh-brand{display:flex;align-items:center;align-self:stretch;padding-block:10px}
.zwh-brand img{width:var(--zwh-logo-width);max-width:var(--zwh-logo-width);max-height:none}
.zwh-primary-menu{height:var(--zwh-header-height);margin-left:auto}
.zwh-primary-menu ul.mod-menu{height:100%;gap:clamp(1.5rem,2.6vw,2.75rem)}
.zwh-primary-menu li{height:100%}
.zwh-primary-menu a{position:relative;height:100%;padding:0;color:#4b232a;font-size:1rem;font-weight:700;text-decoration:none}
.zwh-primary-menu .active>a,.zwh-primary-menu a[aria-current="page"],.zwh-primary-menu a:hover,.zwh-primary-menu a:focus{text-decoration:none}
.zwh-primary-menu a::after{content:"";position:absolute;left:0;right:0;bottom:24px;height:2px;background:var(--zwh-brand);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.zwh-primary-menu .active>a::after,.zwh-primary-menu a[aria-current="page"]::after,.zwh-primary-menu a:hover::after,.zwh-primary-menu a:focus::after{transform:scaleX(1)}
@media(max-width:1050px){
  .zwh-header__inner{min-height:88px}
  .zwh-brand{padding-block:9px}
  .zwh-brand img{width:min(var(--zwh-logo-width),235px);max-width:min(var(--zwh-logo-width),235px)}
  .zwh-primary-menu{height:auto}
  .zwh-primary-menu li{height:auto}
  .zwh-primary-menu a{height:auto;padding:.75rem .8rem}
  .zwh-primary-menu a::after{display:none}
}
@media(max-width:640px){
  .zwh-header__inner{min-height:76px}
  .zwh-brand img{width:min(var(--zwh-logo-width),190px);max-width:min(var(--zwh-logo-width),190px);max-height:none}
}

/* RC1.2.0 — complete homepage structure */
.is-home .zwh-main.is-component-hidden{display:none}
.zwh-home-hero{position:relative;height:var(--zwh-hero-height);min-height:360px;display:flex;align-items:flex-end;overflow:hidden;background:var(--zwh-hero-bg);color:#fff;border-radius:var(--zwh-hero-radius)}
.zwh-home-hero--contained{width:min(calc(100% - 48px),var(--zwh-hero-width));margin:clamp(1.25rem,2.5vw,2.5rem) auto 0}
.zwh-home-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--zwh-hero-fit);object-position:var(--zwh-hero-pos-x) var(--zwh-hero-pos-y)}
.zwh-home-hero__shade{position:absolute;inset:0;opacity:var(--zwh-hero-overlay);background:linear-gradient(90deg,rgba(30,8,12,.72) 0%,rgba(30,8,12,.4) 42%,rgba(30,8,12,.08) 75%),linear-gradient(0deg,rgba(30,8,12,.48),transparent 55%)}
.zwh-home-hero__content{position:relative;z-index:2;padding-bottom:clamp(4rem,8vw,7.5rem)}
.zwh-home-hero__content h1{max-width:760px;margin:0 0 1rem;color:#fff;font-size:clamp(3rem,6vw,6.2rem);line-height:.96;letter-spacing:-.045em}
.zwh-home-hero__content>p:last-child{max-width:650px;margin:0;color:rgba(255,255,255,.9);font-size:clamp(1.05rem,1.7vw,1.35rem)}
.zwh-home-hero__eyebrow,.zwh-kicker{margin:0 0 .8rem;color:var(--zwh-brand);font-size:.82rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.zwh-home-hero__eyebrow{color:#fff}
.zwh-home-hero__caption{position:absolute;right:max(24px,calc((100% - var(--zwh-container))/2));bottom:18px;z-index:2;margin:0;color:rgba(255,255,255,.75);font-size:.78rem}
.zwh-section{padding:var(--zwh-section-space) 0}
.zwh-section--intro{background:#fff}
.zwh-home-intro{max-width:920px;text-align:center}
.zwh-home-intro h2,.zwh-section-heading h2{margin:.1rem 0 1.1rem;color:var(--zwh-heading);font-size:clamp(2.1rem,4vw,4rem);line-height:1.05;letter-spacing:-.035em}
.zwh-home-intro__lead{margin:0 auto;max-width:800px;font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.65;color:var(--zwh-text)}
.zwh-section--choirs{background:var(--zwh-page-bg)}
.zwh-section-heading{margin-bottom:clamp(2rem,4vw,3.2rem)}
.zwh-section-heading--row{display:flex;align-items:end;justify-content:space-between;gap:2rem}
.zwh-choir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3vw,3rem)}
.zwh-choir-card{overflow:visible}
.zwh-choir-card__media{display:block;overflow:hidden;aspect-ratio:16/10;border-radius:22px;background:#ddd;box-shadow:0 18px 45px rgba(42,16,21,.12)}
.zwh-choir-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.zwh-choir-card:hover .zwh-choir-card__media img{transform:scale(1.025)}
.zwh-choir-card__body{position:relative;margin:-46px 22px 0;padding:66px 26px 28px;min-height:195px;border-radius:20px;background:rgba(255,255,255,.88);box-shadow:0 18px 40px rgba(42,16,21,.12);backdrop-filter:blur(14px)}
.zwh-choir-card__badge{position:absolute;left:24px;top:-45px;width:92px;height:92px;object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.zwh-choir-card h2,.zwh-choir-card h3{margin:0 0 .65rem;color:var(--zwh-heading);font-size:clamp(1.35rem,2vw,1.8rem)}
.zwh-choir-card p{margin:0;color:var(--zwh-muted);line-height:1.6}
.zwh-section--news{background:#fff}
.zwh-text-link{margin-bottom:.75rem;color:var(--zwh-brand);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.zwh-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2.2vw,2rem)}
.zwh-news-card{overflow:hidden;border:1px solid var(--zwh-line);border-radius:18px;background:#fff;box-shadow:0 12px 35px rgba(42,16,21,.07)}
.zwh-news-card>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.zwh-news-card>div{padding:1.35rem 1.35rem 1.55rem}
.zwh-news-card__meta{margin:0 0 .55rem;color:var(--zwh-brand);font-size:.76rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.zwh-news-card h3{margin:0 0 .7rem;color:var(--zwh-heading);font-size:1.35rem;line-height:1.2}
.zwh-news-card p:last-child{margin:0;color:var(--zwh-muted);line-height:1.55}
@media(max-width:900px){.zwh-choir-grid,.zwh-news-grid{grid-template-columns:1fr}.zwh-news-card{display:grid;grid-template-columns:minmax(180px,38%) 1fr}.zwh-news-card>img{height:100%;aspect-ratio:auto}.zwh-section-heading--row{align-items:flex-start}}
@media(max-width:640px){.zwh-home-hero{height:max(460px,min(var(--zwh-hero-height),620px));min-height:460px}.zwh-home-hero--contained{width:calc(100% - 28px);margin-top:14px}.zwh-home-hero__image{object-position:var(--zwh-hero-pos-x) var(--zwh-hero-pos-y)}.zwh-home-hero__shade{background:linear-gradient(0deg,rgba(30,8,12,.82),rgba(30,8,12,.12) 72%)}.zwh-home-hero__content{padding-bottom:4.2rem}.zwh-home-hero__caption{right:14px}.zwh-choir-card__body{margin:-34px 12px 0;padding:58px 20px 24px}.zwh-choir-card__badge{width:78px;height:78px;top:-38px}.zwh-section-heading--row{display:block}.zwh-news-card{display:block}.zwh-news-card>img{aspect-ratio:16/10}}

/* RC1.3.0 — configurable Hero frame and image scaling */

/* RC1.6.0 — news populated from Joomla articles */
.zwh-news-grid--1{grid-template-columns:minmax(0,520px)}
.zwh-news-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.zwh-news-card__image{display:block;overflow:hidden;background:#ece7e5;text-decoration:none}
.zwh-news-card__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .35s ease}
.zwh-news-card:hover .zwh-news-card__image img{transform:scale(1.025)}
.zwh-news-card__placeholder{display:block;aspect-ratio:4/3;background:linear-gradient(135deg,#eee8e6,#ddd2cf)}
.zwh-news-card h3 a{color:inherit;text-decoration:none}
.zwh-news-card h3 a:hover,.zwh-news-card h3 a:focus{color:var(--zwh-brand)}
.zwh-news-card__more{display:inline-block;margin-top:1rem;color:var(--zwh-brand);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.zwh-news-empty{margin:0;padding:1.4rem 1.5rem;border:1px solid var(--zwh-line);border-radius:16px;background:var(--zwh-page-bg);color:var(--zwh-muted)}
@media(max-width:900px){.zwh-news-grid--2{grid-template-columns:1fr}}

/* RC1.7.0 — article links, configurable news, compact footer */
.zwh-home-hero{margin-bottom:var(--zwh-hero-gap)}
.zwh-section--choirs{position:relative;margin-top:calc(-1 * var(--zwh-choir-overlap));z-index:2}
.zwh-news-card{height:100%}
.zwh-news-card__link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.zwh-news-card__link:hover,.zwh-news-card__link:focus{color:inherit;text-decoration:none}
.zwh-news-card__body{display:flex;flex:1;flex-direction:column;padding:1.35rem 1.35rem 1.55rem}
.zwh-news-card__meta{display:block;margin:0 0 .55rem}
.zwh-news-card__title{display:block;margin:0 0 .7rem;color:var(--zwh-heading);font-size:1.35rem;font-weight:800;line-height:1.2}
.zwh-news-card__author{display:block;margin:-.2rem 0 .7rem;color:var(--zwh-muted);font-size:.86rem}
.zwh-news-card__intro{display:block;color:var(--zwh-muted);line-height:1.55}
.zwh-news-card__more{margin-top:auto;padding-top:1rem;align-self:flex-start}
.zwh-news-card__link:hover .zwh-news-card__title,.zwh-news-card__link:focus .zwh-news-card__title{color:var(--zwh-brand)}
.zwh-footer--compact .zwh-footer__main{padding:1.5rem 0 1rem}
.zwh-footer--compact .zwh-footer__grid{min-height:0;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:2rem}
.zwh-footer--compact .zwh-footer__bottom{margin-top:1rem;padding-top:.85rem}
.zwh-footer__logo{display:block;width:min(230px,100%);max-height:72px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.96}
.zwh-footer__name{margin:0;color:#fff;font-weight:700}
.zwh-footer__social{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:.6rem 1rem}
.zwh-footer__social a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.zwh-footer__social a:hover,.zwh-footer__social a:focus{border-color:#fff}
.zwh-footer--compact .zwh-footer__symbol{width:170px;right:-24px;bottom:-76px}
@media(max-width:760px){
  .zwh-footer--compact .zwh-footer__grid{grid-template-columns:1fr;gap:1rem;text-align:left}
  .zwh-footer__social{justify-content:flex-start}
  .zwh-footer__logo{width:190px}
}

/* RC1.7.1: poprawki stopki */
.zwh-footer__logo{background:transparent;filter:none;object-fit:contain}
.zwh-footer__symbol{filter:none;opacity:.10}
.zwh-footer__column--left .moduletable{margin-top:.75rem}


/* RC1.7.2 — minimalna, jednopoziomowa stopka */
.zwh-footer--minimal .zwh-footer__main{padding:0}
.zwh-footer__minimal-inner{position:relative;display:flex;align-items:center;min-height:96px;padding:1.35rem 0;overflow:hidden}
.zwh-footer--minimal .zwh-footer__content{position:relative;z-index:2}
.zwh-footer--minimal .zwh-footer__copyright{margin:0;color:#fff;font-size:.92rem}
.zwh-footer--minimal .zwh-footer__symbol{position:absolute;z-index:1;right:-24px;bottom:-54px;width:150px;height:auto;opacity:.12;filter:none;pointer-events:none}
@media(max-width:640px){.zwh-footer__minimal-inner{min-height:84px;padding:1.15rem 0}.zwh-footer--minimal .zwh-footer__symbol{right:-34px;bottom:-48px;width:132px}}


/* RC1.8.0 — układ strony głównej, karty chórów, aktualności i stopka */
.zwh-home-sections{display:flex;flex-direction:column}
.zwh-home-sections--hero-mission-choirs-news .zwh-home-hero,.zwh-home-sections--hero-mission-choirs-news .zwh-position--hero{order:1}
.zwh-home-sections--hero-mission-choirs-news .zwh-section--intro{order:2}.zwh-home-sections--hero-mission-choirs-news .zwh-section--choirs{order:3}.zwh-home-sections--hero-mission-choirs-news .zwh-section--news{order:4}
.zwh-home-sections--hero-choirs-mission-news .zwh-home-hero,.zwh-home-sections--hero-choirs-mission-news .zwh-position--hero{order:1}.zwh-home-sections--hero-choirs-mission-news .zwh-section--choirs{order:2}.zwh-home-sections--hero-choirs-mission-news .zwh-section--intro{order:3}.zwh-home-sections--hero-choirs-mission-news .zwh-section--news{order:4}
.zwh-home-sections--hero-mission-news-choirs .zwh-home-hero,.zwh-home-sections--hero-mission-news-choirs .zwh-position--hero{order:1}.zwh-home-sections--hero-mission-news-choirs .zwh-section--intro{order:2}.zwh-home-sections--hero-mission-news-choirs .zwh-section--news{order:3}.zwh-home-sections--hero-mission-news-choirs .zwh-section--choirs{order:4}
.zwh-home-sections--mission-hero-choirs-news .zwh-section--intro{order:1}.zwh-home-sections--mission-hero-choirs-news .zwh-home-hero,.zwh-home-sections--mission-hero-choirs-news .zwh-position--hero{order:2}.zwh-home-sections--mission-hero-choirs-news .zwh-section--choirs{order:3}.zwh-home-sections--mission-hero-choirs-news .zwh-section--news{order:4}
.zwh-choir-card__badge{width:var(--zwh-choir-logo-size);height:var(--zwh-choir-logo-size);top:calc(var(--zwh-choir-logo-size) * -.49)}
.zwh-choir-card__button{display:inline-block;margin-top:1rem;color:var(--zwh-brand);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
.zwh-footer__minimal-inner{min-height:var(--zwh-footer-height)}
.zwh-footer--minimal .zwh-footer__symbol{opacity:var(--zwh-footer-symbol-opacity)}
.zwh-footer--separator{border-top:1px solid rgba(255,255,255,.25)}


/* RC2.0.0 — strona Fundacja */
.is-foundation .zwh-main.is-component-hidden{display:none}
.zwh-foundation-hero{position:relative;min-height:clamp(420px,54vw,680px);display:flex;align-items:flex-end;overflow:hidden;background:#351017;color:#fff}
.zwh-foundation-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.zwh-foundation-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,8,12,.82),rgba(30,8,12,.34) 54%,rgba(30,8,12,.08));opacity:var(--zwh-foundation-overlay)}
.zwh-foundation-hero__content{position:relative;z-index:1;padding-bottom:clamp(3.5rem,7vw,7rem)}
.zwh-foundation-hero .zwh-kicker{color:#fff}
.zwh-foundation-hero h1{max-width:880px;margin:0 0 1.1rem;color:#fff;font-size:clamp(3rem,6vw,6.4rem);line-height:.96;letter-spacing:-.045em}
.zwh-foundation-hero__content>p:last-child{max-width:720px;margin:0;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.55;color:rgba(255,255,255,.92)}
.zwh-foundation-split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
.zwh-foundation-split__text h2,.zwh-foundation-goals h2,.zwh-foundation-board h2,.zwh-foundation-cta h2{margin:.15rem 0 1.2rem;color:var(--zwh-heading);font-size:clamp(2.2rem,4vw,4.3rem);line-height:1.04;letter-spacing:-.035em}
.zwh-foundation-lead{font-size:clamp(1.15rem,1.7vw,1.42rem);line-height:1.62;color:var(--zwh-heading)}
.zwh-foundation-split__text>p:last-child{color:var(--zwh-muted);line-height:1.75}
.zwh-foundation-split__media{overflow:hidden;border-radius:24px;box-shadow:0 22px 55px rgba(42,16,21,.13)}
.zwh-foundation-split__media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.zwh-foundation-goals{background:var(--zwh-page-bg)}
.zwh-foundation-goals__grid{display:grid;gap:1.35rem}
.zwh-foundation-goals__grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
.zwh-foundation-goals__grid--5,.zwh-foundation-goals__grid--6{grid-template-columns:repeat(6,minmax(0,1fr))}
.zwh-foundation-goals__grid--5 .zwh-foundation-goal,.zwh-foundation-goals__grid--6 .zwh-foundation-goal{grid-column:span 2}
.zwh-foundation-goals__grid--5 .zwh-foundation-goal:nth-last-child(-n+2){grid-column:span 3}
.zwh-foundation-goals__grid--1{grid-template-columns:minmax(0,1fr)}
.zwh-foundation-goals__grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.zwh-foundation-goals__grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.zwh-foundation-goal{padding:2rem;border:1px solid var(--zwh-line);border-radius:20px;background:#fff;box-shadow:0 12px 35px rgba(42,16,21,.05)}
.zwh-foundation-goal>span{display:block;margin-bottom:1.4rem;color:var(--zwh-brand);font-weight:800;letter-spacing:.12em}
.zwh-foundation-goal h3{margin:0 0 .65rem;color:var(--zwh-heading);font-size:1.35rem}
.zwh-foundation-goal p{margin:0;color:var(--zwh-muted);line-height:1.62}

.zwh-foundation-statute{background:#fff}
.zwh-foundation-statute__box{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(1.25rem,3vw,2.4rem);padding:clamp(1.8rem,4vw,3.2rem);border:1px solid color-mix(in srgb,var(--zwh-brand) 20%,var(--zwh-line));border-left:4px solid var(--zwh-brand);border-radius:18px;background:color-mix(in srgb,var(--zwh-brand) 4%,#fff)}
.zwh-foundation-statute__marker{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--zwh-brand) 10%,#fff);color:var(--zwh-brand);font-size:1.5rem;font-weight:800}
.zwh-foundation-statute h2{margin:0 0 1rem;color:var(--zwh-heading);font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.025em}
.zwh-foundation-statute__intro,.zwh-foundation-statute__closing{max-width:900px;color:var(--zwh-muted);line-height:1.72}
.zwh-foundation-statute ul{max-width:940px;margin:1.25rem 0;padding-left:1.25rem;color:var(--zwh-muted)}
.zwh-foundation-statute li{margin:.55rem 0;padding-left:.25rem;line-height:1.6}
.zwh-foundation-statute__closing{margin-bottom:.8rem}
.zwh-foundation-statute__link{display:inline-flex;align-items:center;gap:.4rem;color:var(--zwh-brand);font-weight:800;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--zwh-brand) 35%,transparent)}
.zwh-foundation-statute__link:hover,.zwh-foundation-statute__link:focus{text-decoration:none;border-bottom-color:var(--zwh-brand)}
.zwh-foundation-board{background:#fff}
.zwh-foundation-board__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.zwh-foundation-person{overflow:hidden;border:1px solid var(--zwh-line);border-radius:20px;background:#fff}
.zwh-foundation-person>img,.zwh-foundation-person__placeholder{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,#eee8e6,#ddd2cf)}
.zwh-foundation-person>div:last-child{padding:1.4rem}
.zwh-foundation-person h3{margin:0 0 .3rem;color:var(--zwh-heading);font-size:1.35rem}
.zwh-foundation-person__role{margin:0 0 .8rem;color:var(--zwh-brand);font-weight:800}
.zwh-foundation-person p:last-child{margin-bottom:0;color:var(--zwh-muted);line-height:1.55}
.zwh-foundation-cta{background:var(--zwh-page-bg)}
.zwh-foundation-cta__box{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2rem,5vw,4.5rem);border-radius:26px;background:var(--zwh-brand);color:#fff}
.zwh-foundation-cta h2{margin:0 0 .7rem;color:#fff}
.zwh-foundation-cta p{max-width:760px;margin:0;color:rgba(255,255,255,.86);font-size:1.08rem;line-height:1.6}
.zwh-foundation-cta .zwh-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.35rem;border-radius:999px;background:#fff;color:var(--zwh-brand);font-weight:800;text-decoration:none}
@media(max-width:960px){.zwh-foundation-split{grid-template-columns:1fr}.zwh-foundation-goals__grid--1,.zwh-foundation-goals__grid--2,.zwh-foundation-goals__grid--3,.zwh-foundation-goals__grid--4,.zwh-foundation-goals__grid--5,.zwh-foundation-goals__grid--6,.zwh-foundation-board__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.zwh-foundation-goals__grid .zwh-foundation-goal{grid-column:auto}.zwh-foundation-cta__box{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.zwh-foundation-hero{min-height:500px}.zwh-foundation-hero__shade{background:linear-gradient(0deg,rgba(30,8,12,.88),rgba(30,8,12,.12) 78%)}.zwh-foundation-goals__grid--1,.zwh-foundation-goals__grid--2,.zwh-foundation-goals__grid--3,.zwh-foundation-goals__grid--4,.zwh-foundation-goals__grid--5,.zwh-foundation-goals__grid--6,.zwh-foundation-board__grid{grid-template-columns:1fr}.zwh-foundation-split__media{border-radius:18px}.zwh-foundation-statute__box{grid-template-columns:1fr}.zwh-foundation-statute__marker{width:40px;height:40px}}


/* RC2.1.0 — strona Chóry */
.is-choirs-page .zwh-main.is-component-hidden{display:none}
.zwh-choirs-page__intro{padding:clamp(4.5rem,9vw,8.5rem) 0 clamp(3rem,6vw,5.5rem);background:#fff}
.zwh-choirs-page__intro h1{max-width:900px;margin:.15rem 0 1.2rem;color:var(--zwh-heading);font-size:clamp(3.4rem,7vw,7.4rem);line-height:.92;letter-spacing:-.055em}
.zwh-choirs-page__lead{max-width:880px;margin:0 0 1.35rem;color:var(--zwh-heading);font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.5}
.zwh-choirs-page__text{max-width:760px;margin:0;color:var(--zwh-muted);font-size:1.05rem;line-height:1.75}
.zwh-choirs-page__cards{padding-top:0;background:var(--zwh-page-bg)}
@media(max-width:860px){.zwh-choirs-page__intro h1{font-size:clamp(3.3rem,13vw,6rem)}}


/* RC2.2.0 — proste strony zespołów */
.is-choir-profile .zwh-main.is-component-hidden{display:none}
.zwh-profile-hero{position:relative;display:flex;align-items:flex-end;min-height:clamp(500px,62vw,760px);overflow:hidden;background:#351017;color:#fff}
.zwh-profile-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.zwh-profile-hero__shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(27,7,12,.88),rgba(27,7,12,.06) 74%)}
.zwh-profile-hero__content{position:relative;z-index:1;padding-bottom:clamp(3rem,7vw,6.5rem)}
.zwh-profile-hero .zwh-kicker{color:#fff}.zwh-profile-hero__title-row{display:flex;align-items:center;gap:1.5rem}
.zwh-profile-hero__logo{flex:0 0 auto;width:clamp(84px,10vw,128px);height:clamp(84px,10vw,128px);object-fit:contain;border-radius:50%;background:#fff;box-shadow:0 15px 35px rgba(0,0,0,.25)}
.zwh-profile-hero h1{margin:0 0 .7rem;color:#fff;font-size:clamp(2.8rem,6vw,6rem);line-height:.96;letter-spacing:-.045em}
.zwh-profile-hero__title-row p{max-width:760px;margin:0;color:rgba(255,255,255,.92);font-size:clamp(1.05rem,1.7vw,1.4rem);line-height:1.55}
.zwh-profile-about__grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.zwh-profile-about h2,.zwh-profile-conductor h2,.zwh-profile-rehearsals h2,.zwh-profile-gallery h2,.zwh-profile-recording h2,.zwh-profile-cta h2{margin:.15rem 0 1rem;color:var(--zwh-heading);font-size:clamp(2.2rem,4vw,4.3rem);line-height:1.04;letter-spacing:-.035em}
.zwh-profile-richtext{color:var(--zwh-muted);font-size:1.08rem;line-height:1.8}
.zwh-profile-conductor{background:var(--zwh-page-bg)}.zwh-profile-conductor__grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.zwh-profile-conductor__image{overflow:hidden;border-radius:24px;box-shadow:0 20px 50px rgba(42,16,21,.12)}.zwh-profile-conductor__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.zwh-profile-conductor h3{margin:0 0 1rem;color:var(--zwh-brand);font-size:1.45rem}.zwh-profile-conductor p{color:var(--zwh-muted);line-height:1.72}
.zwh-profile-rehearsals{background:#fff}.zwh-profile-rehearsals__box{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.25fr);gap:2rem;padding:clamp(2rem,5vw,4rem);border-radius:26px;background:var(--zwh-brand);color:#fff}.zwh-profile-rehearsals h2{color:#fff}.zwh-profile-rehearsals .zwh-kicker{color:#fff}.zwh-profile-rehearsals__box>p{margin:0;color:rgba(255,255,255,.9);font-size:1.08rem;line-height:1.7}
.zwh-profile-gallery{background:var(--zwh-page-bg)}.zwh-profile-gallery__intro{max-width:820px;margin:.75rem 0 1.5rem;color:var(--zwh-muted);font-size:1.05rem;line-height:1.7}.zwh-profile-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.zwh-profile-gallery__grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;box-shadow:0 12px 30px rgba(42,16,21,.08)}
.zwh-profile-recording{background:#fff}.zwh-profile-recording__box{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(1.5rem,4vw,3.6rem);align-items:center;padding:clamp(1.65rem,3vw,2.7rem) clamp(2rem,5vw,4.5rem);border:1px solid var(--zwh-line);border-radius:26px}.zwh-profile-recording__box--no-kicker{padding-top:clamp(1.35rem,2.4vw,2.15rem);padding-bottom:clamp(1.35rem,2.4vw,2.15rem)}.zwh-profile-recording h2{margin-top:0;margin-bottom:.65rem}.zwh-profile-recording p{margin:0;color:var(--zwh-muted);line-height:1.5}.zwh-profile-recording__label{margin:0 0 .18rem!important;color:#746b6e!important;font-size:.92rem;font-weight:500}.zwh-profile-recording__track-title{margin:0 0 .16rem!important;color:var(--zwh-brand)!important;font-size:1.08rem;font-weight:750;line-height:1.35!important}.zwh-profile-recording__description{font-size:.94rem;line-height:1.45!important}.zwh-profile-recording__player{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.8rem}.zwh-profile-recording audio{width:100%}.zwh-profile-recording .zwh-button{align-self:flex-start;display:inline-flex;padding:.78rem 1.1rem;border-radius:999px;background:var(--zwh-brand);color:#fff;font-weight:800;text-decoration:none}
.zwh-profile-cta{background:var(--zwh-page-bg)}.zwh-profile-cta__box{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(2rem,5vw,4.5rem);border-radius:26px;background:#fff;box-shadow:0 15px 45px rgba(42,16,21,.08)}.zwh-profile-cta h2{margin:0 0 .7rem}.zwh-profile-cta p{max-width:720px;margin:0;color:var(--zwh-muted);line-height:1.65}.zwh-profile-cta .zwh-button{flex:0 0 auto;display:inline-flex;padding:.95rem 1.35rem;border-radius:999px;background:var(--zwh-brand);color:#fff;font-weight:800;text-decoration:none}
@media(max-width:860px){.zwh-contact-quickcall{align-items:flex-start;flex-direction:column;gap:.75rem}.zwh-profile-about__grid,.zwh-profile-conductor__grid,.zwh-profile-rehearsals__box,.zwh-profile-recording__box{grid-template-columns:1fr}.zwh-profile-gallery__grid{grid-template-columns:1fr 1fr}.zwh-profile-cta__box{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.zwh-profile-hero__title-row{align-items:flex-start;flex-direction:column}.zwh-profile-hero__logo{width:84px;height:84px}.zwh-profile-gallery__grid{grid-template-columns:1fr}.zwh-profile-conductor__image{border-radius:18px}}

/* RC2.3.0 — wielopoziomowe menu główne */
.zwh-primary-menu ul.mod-menu > li{position:relative;display:flex;align-items:center}
.zwh-primary-menu .zwh-submenu{position:absolute;z-index:1000;top:calc(100% - 16px);left:-1rem;display:block;min-width:250px;margin:0;padding:.65rem;list-style:none;background:#fff;border:1px solid var(--zwh-line);border-radius:14px;box-shadow:0 18px 44px rgba(42,16,21,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.zwh-primary-menu .zwh-submenu .zwh-submenu{top:-.65rem;left:calc(100% + .45rem)}
.zwh-primary-menu .zwh-has-submenu.is-submenu-open > .zwh-submenu,.zwh-primary-menu .zwh-has-submenu:focus-within > .zwh-submenu{opacity:1;visibility:visible;transform:translateY(0)}
.zwh-primary-menu .zwh-submenu li{position:relative;display:flex;height:auto;min-height:0;align-items:center}
.zwh-primary-menu .zwh-submenu a{display:block;width:100%;height:auto;padding:.7rem 2.3rem .7rem .85rem;border-radius:9px;color:var(--zwh-heading);font-size:.94rem;line-height:1.35;white-space:normal}
.zwh-primary-menu .zwh-submenu a::after{display:none}
.zwh-primary-menu .zwh-submenu .active > a,.zwh-primary-menu .zwh-submenu a[aria-current="page"],.zwh-primary-menu .zwh-submenu a:hover,.zwh-primary-menu .zwh-submenu a:focus{background:color-mix(in srgb,var(--zwh-brand) 8%,#fff);color:var(--zwh-brand);text-decoration:none}
.zwh-submenu-toggle{position:relative;flex:0 0 28px;width:28px;height:36px;margin-left:-.1rem;padding:0;border:0;background:transparent;color:var(--zwh-heading);cursor:pointer}
.zwh-submenu-toggle span::before{content:"";position:absolute;top:50%;left:50%;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-68%) rotate(45deg);transition:transform .16s ease}
.zwh-submenu .zwh-submenu-toggle{position:absolute;right:.3rem;top:50%;transform:translateY(-50%)}
.zwh-submenu .zwh-submenu-toggle span::before{transform:translate(-65%,-50%) rotate(-45deg)}
.zwh-has-submenu.is-submenu-open > .zwh-submenu-toggle span::before{transform:translate(-50%,-30%) rotate(225deg)}
.zwh-submenu .zwh-has-submenu.is-submenu-open > .zwh-submenu-toggle span::before{transform:translate(-35%,-50%) rotate(135deg)}
.zwh-primary-menu li.active-parent > a,.zwh-primary-menu li.active > a{color:var(--zwh-brand)}

@media(max-width:1050px){
  .zwh-primary-menu ul.mod-menu > li,.zwh-primary-menu .zwh-submenu li{display:flex;flex-wrap:wrap;align-items:center;height:auto}
  .zwh-primary-menu ul.mod-menu > li > a{flex:1 1 auto;width:auto}
  .zwh-primary-menu .zwh-submenu{position:static;flex:0 0 100%;width:100%;min-width:0;margin:0;padding:0 0 0 .9rem;border:0;border-left:2px solid color-mix(in srgb,var(--zwh-brand) 18%,transparent);border-radius:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none;transition:none}
  .zwh-primary-menu .zwh-has-submenu.is-submenu-open > .zwh-submenu{display:block}
  .zwh-primary-menu .zwh-submenu .zwh-submenu{margin-left:.45rem}
  .zwh-primary-menu .zwh-submenu a{padding:.62rem .7rem;font-size:.92rem}
  .zwh-submenu-toggle{position:static;flex:0 0 42px;width:42px;height:42px;margin:0}
  .zwh-submenu .zwh-submenu-toggle{position:static;transform:none}
  .zwh-submenu .zwh-submenu-toggle span::before{transform:translate(-50%,-68%) rotate(45deg)}
  .zwh-submenu .zwh-has-submenu.is-submenu-open > .zwh-submenu-toggle span::before{transform:translate(-50%,-30%) rotate(225deg)}
}

/* Nagrania: archiwum koncertów i uniwersalne odtwarzacze */
.zwh-recordings-intro{padding:72px 0 28px;background:linear-gradient(180deg,#faf7f7 0%,#fff 100%)}
.zwh-recordings-intro h1{margin:.15em 0 .25em;font-size:clamp(2.4rem,5vw,4.8rem);line-height:1;color:var(--zwh-burgundy,#65131d)}
.zwh-recordings-intro__lead{max-width:760px;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.65;color:#5d5558}
.zwh-recordings-featured{padding-top:34px}
.zwh-recordings-featured__grid{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(380px,1.2fr);gap:46px;align-items:center;padding:34px;border:1px solid rgba(101,19,29,.12);border-radius:22px;background:#fff;box-shadow:0 18px 48px rgba(61,19,26,.08)}
.zwh-recordings-featured__grid h2{margin:.2em 0 .45em;font-size:clamp(1.8rem,3vw,3rem);color:var(--zwh-burgundy,#65131d)}
.zwh-recordings-featured__media{min-width:0}
.zwh-recordings-archive-heading{padding:58px 0 18px}
.zwh-recordings-archive-heading h2{margin:.2em 0 .35em;font-size:clamp(1.8rem,3vw,2.8rem);color:var(--zwh-burgundy,#65131d)}
.zwh-recordings-archive-heading p:last-child{max-width:780px;color:#655d60}
.zwh-media-embed{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:16px;background:#1d1215;box-shadow:0 12px 30px rgba(44,13,19,.14)}
.zwh-media-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.zwh-media-audio{display:block;width:100%;min-width:240px}
.zwh-media-video,.zwh-recording-item video,.is-recordings-page .item-page video{display:block;width:100%;max-height:680px;border-radius:16px;background:#171014}
.is-recordings-page .zwh-main{padding-top:0}
.is-recordings-page .zwh-component>.blog,.is-recordings-page .zwh-component>.blog-featured{padding-bottom:70px}
.is-recordings-page .blog-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.is-recordings-page .blog-item{margin:0!important;padding:24px!important;border:1px solid rgba(101,19,29,.12);border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(61,19,26,.07)}
.is-recordings-page .blog-item h2,.is-recordings-page .blog-item .item-title{font-size:1.35rem;line-height:1.25;color:var(--zwh-burgundy,#65131d)}
.is-recordings-page .blog-item .zwh-recording-card__title-link{color:inherit;text-decoration:none}
.is-recordings-page .blog-item .zwh-recording-card__title-link:hover,.is-recordings-page .blog-item .zwh-recording-card__title-link:focus-visible{text-decoration:underline;text-underline-offset:.18em}
.is-recordings-page .blog-item img{border-radius:12px}
.is-recordings-page .blog-item .zwh-recording-card__image-link{display:block;border-radius:12px;overflow:hidden;text-decoration:none}
.is-recordings-page .blog-item .zwh-recording-card__image-link img{display:block;width:100%;transition:transform .18s ease,filter .18s ease}
.is-recordings-page .blog-item .zwh-recording-card__image-link:hover img{transform:scale(1.015);filter:brightness(.96)}
.is-recordings-page .blog-item .zwh-recording-card__image-link:focus-visible{outline:2px solid var(--zwh-burgundy,#65131d);outline-offset:3px}
.is-recordings-page .blog-item .readmore a{display:inline-flex;margin-top:10px;font-weight:700;color:var(--zwh-burgundy,#65131d)}
.is-recordings-page .item-page audio,.zwh-recording-list audio{display:block;width:100%;margin:.75rem 0 1.25rem}
.is-recordings-page .item-page iframe,.zwh-recording-list iframe{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:16px}
.zwh-recording-list{display:grid;gap:18px;margin:2rem 0}
.zwh-recording-item{padding:22px;border:1px solid rgba(101,19,29,.12);border-radius:16px;background:#fff;box-shadow:0 10px 26px rgba(61,19,26,.06)}
.zwh-recording-item h3{margin:0 0 .35rem;color:var(--zwh-burgundy,#65131d)}
.zwh-recording-meta{margin:0 0 .85rem;color:#756c70;font-size:.95rem}
@media(max-width:900px){.zwh-recordings-featured__grid{grid-template-columns:1fr;gap:24px;padding:24px}.is-recordings-page .blog-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.zwh-recordings-intro{padding-top:46px}.is-recordings-page .blog-items{grid-template-columns:1fr}.zwh-recordings-featured__grid{border-radius:16px}.zwh-media-embed{border-radius:12px}}

/* Recording-set article players */
.is-recording-article .zwh-component>.item-page{max-width:980px;margin:0 auto;padding:14px 0 70px}
.is-recording-article .zwh-component>.item-page>h1,
.is-recording-article .zwh-component>.item-page .page-header h1,
.is-recording-article .zwh-component>.item-page .page-header h2{color:var(--zwh-burgundy,#65131d)}
.is-recording-article .zwh-recording-list{display:block;margin:2rem 0}
.is-recording-article .zwh-recording-item{padding:1.15rem 0 1.35rem;border:0;border-bottom:1px solid rgba(101,19,29,.14);border-radius:0;background:transparent;box-shadow:none}
.is-recording-article .zwh-recording-item:first-child{padding-top:.35rem}
.is-recording-article .zwh-recording-item:last-child{border-bottom:0}
.is-recording-article .zwh-recording-item h3{margin:0 0 .2rem;font-size:clamp(1.18rem,1.8vw,1.45rem);line-height:1.25;color:var(--zwh-burgundy,#65131d)}
.is-recording-article .zwh-recording-meta{margin:0 0 .45rem;color:#756c70;font-size:.94rem;font-weight:650}
.is-recording-article .zwh-recording-description{margin:.1rem 0 .65rem;color:#655d60;line-height:1.5}
.is-recording-article .zwh-recording-item audio{display:block;width:min(100%,620px);margin:.55rem 0 0;accent-color:var(--zwh-burgundy,#65131d)}
.is-recording-article .zwh-recording-item video{display:block;width:100%;max-height:680px;margin-top:.65rem;border-radius:12px;background:#171014}
.is-recording-article .zwh-recording-item .zwh-media-embed{margin-top:.65rem}


.is-recording-article .zwh-recording-item + .zwh-recording-item{margin-top:.25rem}
.is-recording-article .zwh-recording-item{max-width:820px}
.is-recording-article .zwh-recording-item .zwh-media-embed{max-width:820px}

/* Compact, non-technical preview of recording sets in category cards */
.is-recordings-page:not(.is-recording-article) .zwh-recording-preview__label{margin:.9rem 0 .45rem;padding-top:.8rem;border-top:1px solid rgba(101,19,29,.12);color:#756c70;font-size:.86rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em}
.is-recordings-page:not(.is-recording-article) .zwh-recording-preview__track{position:relative;margin:.24rem 0!important;padding-left:1rem!important;color:#4f484b;line-height:1.35}
.is-recordings-page:not(.is-recording-article) .zwh-recording-preview__track::before{content:'♪';position:absolute;left:0;color:var(--zwh-burgundy,#65131d);font-size:.82em}

/* Chorister song library generated from [song ...] folder shortcodes */
.zwh-song-card{margin:1.5rem 0 2rem;padding:1.35rem 1.45rem;border:1px solid rgba(101,19,29,.13);border-radius:16px;background:#fff;box-shadow:0 9px 26px rgba(61,19,26,.055)}
.zwh-song-card__header{margin-bottom:.85rem}
.zwh-song-card__header h3{margin:0 0 .25rem;color:var(--zwh-burgundy,#65131d);font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.2}
.zwh-song-card__meta{margin:.15rem 0;color:#756c70;font-size:.94rem;font-weight:700}
.zwh-song-card__note{margin:.45rem 0 0;color:#5e5659;line-height:1.5}
.zwh-song-card__files{display:grid;gap:.72rem}
.zwh-song-file{padding-top:.72rem;border-top:1px solid rgba(101,19,29,.11)}
.zwh-song-file:first-child{padding-top:0;border-top:0}
.zwh-song-file__heading{margin:0 0 .35rem;color:#4c4548;font-size:.94rem;font-weight:750}
.zwh-song-file audio{display:block;width:100%;height:38px}
.zwh-song-file video{display:block;width:100%;max-height:600px;border-radius:10px;background:#171014}
.zwh-song-score-link{display:inline-flex;align-items:center;min-height:38px;padding:.55rem .9rem;border:1px solid rgba(101,19,29,.28);border-radius:999px;color:var(--zwh-burgundy,#65131d);font-weight:800;text-decoration:none}
.zwh-song-score-link:hover{background:var(--zwh-burgundy,#65131d);color:#fff}
.zwh-song-card__status{margin:.2rem 0;color:#756c70;font-style:italic}
.zwh-song-card__error{margin:.2rem 0;color:#9b1c2d;font-weight:700}
.zwh-song-preview{margin:1rem 0 .45rem;padding-top:.85rem;border-top:1px solid rgba(101,19,29,.12)}
.zwh-song-preview__label{margin:0 0 .45rem;color:#756c70;font-size:.86rem;font-weight:750;text-transform:uppercase;letter-spacing:.055em}
.zwh-song-preview ul{margin:0;padding:0;list-style:none}
.zwh-song-preview li{position:relative;margin:.24rem 0;padding-left:1rem;color:#4f484b;line-height:1.35}
.zwh-song-preview li::before{content:'♪';position:absolute;left:0;color:var(--zwh-burgundy,#65131d);font-size:.82em}
@media(max-width:620px){.zwh-song-card{padding:1.05rem 1rem;border-radius:13px}.zwh-song-file audio{height:36px}}


/* Chorister area 2.6 */
.zwh-auth-controls{gap:.5rem;white-space:nowrap}.zwh-logout-form{display:inline-flex;margin:0}.zwh-auth-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.5rem .9rem;border:1px solid color-mix(in srgb,var(--zwh-brand) 35%,transparent);border-radius:999px;background:transparent;color:var(--zwh-brand);font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.zwh-auth-button:hover{background:var(--zwh-brand);color:#fff}.zwh-auth-button--quiet{border-color:transparent;padding-inline:.55rem;font-weight:650}
.zwh-chorister-hero{padding:clamp(2.4rem,5vw,4.6rem) 0 2rem;background:linear-gradient(135deg,#fff 0%,color-mix(in srgb,var(--zwh-brand) 5%,#fff) 100%)}.zwh-chorister-hero h1{margin:.2rem 0 .65rem;font-size:clamp(2.2rem,5vw,4.4rem)}.zwh-chorister-hero p:not(.zwh-kicker){max-width:760px;font-size:1.08rem}.zwh-chorister-user{margin-top:1rem;color:var(--zwh-muted);font-size:.92rem}
.zwh-chorister-dashboard{padding-top:1.5rem}.zwh-chorister-dashboard__grid{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}.zwh-chorister-board{position:sticky;top:calc(var(--zwh-header-height) + 1.5rem)}.zwh-chorister-board .card,.zwh-chorister-placeholder{padding:1.35rem;border:1px solid var(--zwh-line);border-radius:16px;background:#fff;box-shadow:0 10px 28px rgba(61,19,26,.055)}.zwh-chorister-board .card+.card{margin-top:1rem}.zwh-chorister-board h2,.zwh-chorister-board h3{margin-top:0}.zwh-chorister-main{min-width:0}.zwh-chorister-links{margin-bottom:1.5rem}.zwh-chorister-materials>h2{margin:.15rem 0 1rem}.zwh-chorister-materials .zwh-component{padding:0;background:transparent}.zwh-chorister-organizational{margin-top:2rem}.zwh-chorister-organizational .card{padding:1.3rem;border:1px solid var(--zwh-line);border-radius:16px;background:#fff}
.is-chorister-page .zwh-main{display:none}.is-chorister-page .zwh-breadcrumbs{display:none}
@media(max-width:900px){.zwh-chorister-dashboard__grid{grid-template-columns:1fr}.zwh-chorister-board{position:static}.zwh-auth-button--quiet{display:none}}
@media(max-width:640px){.zwh-auth-controls{margin-left:auto}.zwh-auth-button{min-height:36px;padding:.42rem .65rem;font-size:.82rem}.zwh-chorister-hero{padding-top:2rem}}


/* ZWH login modal */
body.zwh-modal-open{overflow:hidden}
.zwh-login-modal[hidden]{display:none}
.zwh-login-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem}
.zwh-login-modal__backdrop{position:absolute;inset:0;background:rgba(23,25,28,.62);backdrop-filter:blur(3px)}
.zwh-login-modal__dialog{position:relative;z-index:1;width:min(100%,430px);max-height:calc(100vh - 2rem);overflow:auto;padding:2rem;background:#fff;border:1px solid var(--zwh-line);border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.3);outline:none}
.zwh-login-modal__dialog h2{margin:.15rem 0 .55rem;font-size:clamp(1.65rem,4vw,2.15rem);color:var(--zwh-brand)}
.zwh-login-modal__intro{margin:0 0 1.35rem;color:var(--zwh-text-muted,#5e6268);line-height:1.55}
.zwh-login-modal__close{position:absolute;top:.8rem;right:.85rem;width:38px;height:38px;border:0;border-radius:50%;background:transparent;color:#5c6066;font-size:1.85rem;line-height:1;cursor:pointer}
.zwh-login-modal__close:hover,.zwh-login-modal__close:focus-visible{background:#f2f2f2;color:var(--zwh-brand)}
.zwh-login-modal__form{display:grid;gap:1rem}
.zwh-password-wrap{position:relative;display:flex;align-items:center}.zwh-password-wrap input{width:100%;padding-right:5.3rem}.zwh-password-toggle{position:absolute;right:.42rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--zwh-brand);font:inherit;font-size:.88rem;font-weight:700;padding:.38rem .48rem;border-radius:.4rem;cursor:pointer}.zwh-password-toggle:hover,.zwh-password-toggle:focus-visible{background:var(--zwh-brand-soft,#f7f2f3);outline:2px solid transparent}
.zwh-login-field{display:grid;gap:.4rem}
.zwh-login-field label{font-weight:750;color:var(--zwh-text,#31343a)}
.zwh-login-field input{width:100%;min-height:48px;padding:.72rem .85rem;border:1px solid #cfd2d6;border-radius:10px;background:#fff;color:var(--zwh-text,#31343a);font:inherit}
.zwh-login-field input:focus{border-color:var(--zwh-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--zwh-brand) 16%,transparent);outline:0}
.zwh-login-remember{display:flex;align-items:center;gap:.55rem;font-size:.94rem;cursor:pointer}
.zwh-login-remember input{width:18px;height:18px;accent-color:var(--zwh-brand)}
.zwh-login-submit{min-height:48px;border:1px solid var(--zwh-brand);border-radius:999px;background:var(--zwh-brand);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.zwh-login-submit:hover,.zwh-login-submit:focus-visible{filter:brightness(.92)}
.zwh-login-modal__links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid var(--zwh-line);font-size:.9rem}
.zwh-login-modal__links a{color:var(--zwh-brand);text-decoration:none}
.zwh-login-modal__links a:hover{text-decoration:underline}
@media(max-width:520px){.zwh-login-modal{padding:.65rem}.zwh-login-modal__dialog{padding:1.5rem 1.15rem;border-radius:16px}.zwh-login-modal__links{display:grid}}

/* RC 2.6.2: keep header compact and suppress Joomla frontend module-edit badges/tooltips in navigation. */
.zwh-header .jmodedit,.zwh-header .jmodedit-icon{display:none!important}
.zwh-header [data-jmodtip]::before,.zwh-header [data-jmodtip]::after{display:none!important;content:none!important}

/* RC 2.6.3: compact chorister zone and stronger suppression of frontend module editing labels. */
.zwh-header .jmodedit,
.zwh-header .jmodedit-icon,
.zwh-header a[href*="option=com_modules"],
.zwh-header [data-joomla-edit-module],
.zwh-header .mod-edit,
.zwh-header .module-edit,
.zwh-header .btn.jmodedit,
.zwh-header .icons {display:none!important}
.zwh-header [data-jmodtip],
.zwh-header [data-jmodtip] * {font-size:0!important;line-height:0!important;max-width:0!important;max-height:0!important;overflow:hidden!important}

.is-chorister-page .zwh-chorister-dashboard{padding:1.15rem 0 2.5rem}
.is-chorister-page .zwh-chorister-dashboard__grid{grid-template-columns:minmax(220px,290px) minmax(0,1fr);gap:clamp(1rem,2.2vw,2rem)}
.is-chorister-page .zwh-chorister-board .card,
.is-chorister-page .zwh-chorister-placeholder{padding:1rem;border-radius:13px;box-shadow:0 6px 18px rgba(61,19,26,.045)}
.is-chorister-page .zwh-chorister-board .card+.card{margin-top:.75rem}
.is-chorister-page .zwh-chorister-materials .item-page,
.is-chorister-page .zwh-chorister-materials article{display:flex;flex-direction:column}
.is-chorister-page .zwh-chorister-materials .page-header{margin:0 0 .55rem}
.is-chorister-page .zwh-chorister-materials h1,
.is-chorister-page .zwh-chorister-materials h2{margin-top:0}
.is-chorister-page .zwh-chorister-materials .article-info{order:90;margin:1rem 0 0;padding-top:.65rem;border-top:1px solid var(--zwh-line);font-size:.78rem;opacity:.72}
.is-chorister-page .zwh-chorister-materials .icons{order:91}

.is-chorister-page .zwh-song-card{margin:.65rem 0;padding:.72rem .85rem;border-radius:12px;box-shadow:0 4px 14px rgba(61,19,26,.04)}
.is-chorister-page .zwh-song-card__header{display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .6rem;margin-bottom:.45rem}
.is-chorister-page .zwh-song-card__header h3{margin:0;font-size:1.08rem;line-height:1.25}
.is-chorister-page .zwh-song-card__meta{margin:0;font-size:.82rem;font-weight:700}
.is-chorister-page .zwh-song-card__meta::before{content:'— ';font-weight:400}
.is-chorister-page .zwh-song-card__note{margin:0;font-size:.82rem;line-height:1.35;color:#5e5659}
.is-chorister-page .zwh-song-card__note::before{content:'· ';font-weight:700}
.is-chorister-page .zwh-song-card__files{gap:.45rem}
.is-chorister-page .zwh-song-file{padding-top:.45rem}
.is-chorister-page .zwh-song-file__heading{margin:0 0 .2rem;font-size:.82rem}
.is-chorister-page .zwh-song-card__status,
.is-chorister-page .zwh-song-card__error{margin:.1rem 0;font-size:.82rem}
@media(max-width:900px){.is-chorister-page .zwh-chorister-dashboard__grid{grid-template-columns:1fr}}

/* RC 2.6.4: dense two-column chorister library. */
.is-chorister-page .zwh-chorister-materials .article-info,
.is-chorister-page .zwh-chorister-materials .article-info-term,
.is-chorister-page .zwh-chorister-materials .icons,
.is-chorister-page .zwh-chorister-materials .published,
.is-chorister-page .zwh-chorister-materials .createdby,
.is-chorister-page .zwh-chorister-materials .category-name,
.is-chorister-page .zwh-chorister-materials .hits,
.is-chorister-page .zwh-chorister-materials .modified,
.is-chorister-page .zwh-chorister-materials .parent-category-name{display:none!important}
.is-chorister-page .zwh-chorister-materials .blog-items,
.is-chorister-page .zwh-chorister-materials .items-leading,
.is-chorister-page .zwh-chorister-materials .items-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.15rem;align-items:start}
.is-chorister-page .zwh-chorister-materials .items-row{margin:0}
.is-chorister-page .zwh-chorister-materials .blog-item,
.is-chorister-page .zwh-chorister-materials .items-leading>div,
.is-chorister-page .zwh-chorister-materials .items-row>div,
.is-chorister-page .zwh-chorister-materials article{min-width:0;margin:0;padding:0}
.is-chorister-page .zwh-chorister-materials .page-header{margin:0 0 .4rem;padding:0 0 .3rem;border-bottom:1px solid rgba(101,19,29,.16)}
.is-chorister-page .zwh-chorister-materials .page-header h1,
.is-chorister-page .zwh-chorister-materials .page-header h2,
.is-chorister-page .zwh-chorister-materials h1,
.is-chorister-page .zwh-chorister-materials h2{margin:0;font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.12}
.is-chorister-page .zwh-song-card{margin:.38rem 0;padding:.48rem .62rem;border-radius:9px;box-shadow:0 2px 8px rgba(61,19,26,.035)}
.is-chorister-page .zwh-song-card__header{gap:.08rem .38rem;margin:0}
.is-chorister-page .zwh-song-card__header h3{font-size:.94rem;line-height:1.18}
.is-chorister-page .zwh-song-card__meta,
.is-chorister-page .zwh-song-card__note{font-size:.75rem;line-height:1.22}
.is-chorister-page .zwh-song-card__files{margin-top:.32rem;gap:.28rem}
.is-chorister-page .zwh-song-file{padding-top:.3rem}
.is-chorister-page .zwh-song-file__heading{margin:0 0 .12rem;font-size:.74rem}
.is-chorister-page .zwh-song-file audio{height:30px}
.is-chorister-page .zwh-song-score-link{min-height:30px;padding:.3rem .62rem;font-size:.76rem}
.is-chorister-page .zwh-song-card__status,
.is-chorister-page .zwh-song-card__error{margin:.2rem 0 0;font-size:.74rem;line-height:1.25}
@media(max-width:1050px){
  .is-chorister-page .zwh-chorister-materials .blog-items,
  .is-chorister-page .zwh-chorister-materials .items-leading,
  .is-chorister-page .zwh-chorister-materials .items-row{grid-template-columns:1fr}
}


/* RC 2.6.5: robust two-column wrapper and compact module boards. */
.is-chorister-page .zwh-chorister-articles-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.15rem;align-items:start}
.is-chorister-page .zwh-chorister-articles-grid>*,
.is-chorister-page .zwh-chorister-articles-grid article{min-width:0;margin:0!important;padding:0!important}
.is-chorister-page .zwh-chorister-board .card{overflow:hidden}
@media(max-width:1050px){.is-chorister-page .zwh-chorister-articles-grid{grid-template-columns:1fr}}

/* RC 2.6.6: compact song list, on-demand player modal and reliable article grid. */
.is-chorister-page .zwh-chorister-articles-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.1rem 1.4rem;align-items:start;width:100%}
.is-chorister-page .zwh-chorister-articles-grid>*{min-width:0!important;width:auto!important;max-width:none!important}
.is-chorister-page .zwh-song-card--trigger{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;align-items:baseline;gap:.25rem .5rem;width:100%;margin:.22rem 0;padding:.38rem .55rem;border:1px solid rgba(101,19,29,.13);border-radius:8px;background:#fff;color:inherit;text-align:left;cursor:pointer;box-shadow:none}
.is-chorister-page .zwh-song-card--trigger:hover,.is-chorister-page .zwh-song-card--trigger:focus-visible{border-color:rgba(101,19,29,.42);background:rgba(101,19,29,.035);outline:none}
.is-chorister-page .zwh-song-card__title{font-size:.91rem;font-weight:800;line-height:1.2;color:var(--zwh-brand)}
.is-chorister-page .zwh-song-card__details{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;line-height:1.2;color:#62585b}
.is-chorister-page .zwh-song-card__arrow{font-size:1.2rem;line-height:1;color:var(--zwh-brand)}
.zwh-song-modal[hidden]{display:none!important}
.zwh-song-modal{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:1rem}
.zwh-song-modal__backdrop{position:absolute;inset:0;background:rgba(27,17,20,.62);backdrop-filter:blur(2px)}
.zwh-song-modal__dialog{position:relative;z-index:1;width:min(680px,calc(100vw - 2rem));max-height:min(82vh,760px);overflow:auto;padding:1.35rem 1.45rem 1.5rem;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.zwh-song-modal__dialog h2{margin:0 2rem .2rem 0;color:var(--zwh-brand);font-size:1.45rem;line-height:1.15}
.zwh-song-modal__meta{margin:0 2rem .9rem 0;color:#675d60;font-size:.86rem}
.zwh-song-modal__close{position:absolute;top:.75rem;right:.8rem;width:36px;height:36px;border:0;border-radius:50%;background:rgba(101,19,29,.08);color:var(--zwh-brand);font-size:1.55rem;line-height:1;cursor:pointer}
.zwh-song-modal__content{display:grid;gap:.5rem}
.zwh-song-modal__content .zwh-song-file{padding-top:.45rem;border-top:1px solid rgba(101,19,29,.12)}
.zwh-song-modal__content .zwh-song-file:first-child{padding-top:0;border-top:0}
.zwh-song-modal__content .zwh-song-file__heading{margin:0 0 .2rem;font-size:.82rem;font-weight:800}
.zwh-song-modal__content audio,.zwh-song-modal__content video{width:100%;max-height:42px}
.zwh-song-modal-open{overflow:hidden}
@media(max-width:900px){.is-chorister-page .zwh-chorister-articles-grid{grid-template-columns:1fr!important}}
@media(max-width:560px){.is-chorister-page .zwh-song-card--trigger{grid-template-columns:minmax(0,1fr) auto}.is-chorister-page .zwh-song-card__details{grid-column:1/2;white-space:normal}.zwh-song-modal__dialog{padding:1.15rem 1rem 1.25rem}}


/* RC 2.6.7: reusable special-information strip above the footer. */
.zwh-prefooter{position:relative;padding:clamp(.9rem,1.7vw,1.35rem) 0;background:var(--zwh-page-bg,#f7f5f4);border-top:1px solid rgba(101,19,29,.08)}
.zwh-prefooter .moduletable,
.zwh-prefooter .mod-custom{margin:0}
.zwh-prefooter .zwh-prefooter-panel,
.zwh-prefooter .moduletable>div,
.zwh-prefooter .mod-custom{display:flex;align-items:center;justify-content:center;gap:clamp(1rem,2.5vw,2.4rem);min-height:112px;padding:clamp(.85rem,1.5vw,1.2rem) clamp(1rem,2vw,1.8rem);border:1px solid rgba(101,19,29,.14);border-radius:18px;background:#fff;box-shadow:0 6px 22px rgba(61,19,26,.045)}
.zwh-prefooter .zwh-prefooter-copy{flex:1 1 320px;max-width:520px;font-size:clamp(.98rem,1.2vw,1.15rem);line-height:1.45;color:var(--zwh-text,#36383b)}
.zwh-prefooter .zwh-prefooter-copy p{margin:0}
.zwh-prefooter .zwh-prefooter-logos{display:flex;flex:2 1 640px;align-items:center;justify-content:space-evenly;gap:clamp(1rem,2vw,2rem);min-width:0}
.zwh-prefooter .zwh-prefooter-logos img{display:block;width:auto;max-width:min(190px,22%);max-height:72px;object-fit:contain}
.zwh-prefooter img{height:auto}
.zwh-prefooter a{color:inherit}

/* Per-module size variants: add one class in Advanced > Module Class. */
.zwh-prefooter .zwh-prefooter--compact,
.zwh-prefooter .zwh-prefooter--compact.mod-custom,
.zwh-prefooter .moduletable.zwh-prefooter--compact>div{min-height:86px;padding:.65rem 1rem}
.zwh-prefooter .zwh-prefooter--compact .zwh-prefooter-logos img{max-height:56px}
.zwh-prefooter .zwh-prefooter--medium,
.zwh-prefooter .zwh-prefooter--medium.mod-custom,
.zwh-prefooter .moduletable.zwh-prefooter--medium>div{min-height:112px}
.zwh-prefooter .zwh-prefooter--large,
.zwh-prefooter .zwh-prefooter--large.mod-custom,
.zwh-prefooter .moduletable.zwh-prefooter--large>div{min-height:150px;padding:1.2rem 1.6rem}
.zwh-prefooter .zwh-prefooter--large .zwh-prefooter-logos img{max-height:92px}
.zwh-prefooter .zwh-prefooter--borderless,
.zwh-prefooter .zwh-prefooter--borderless.mod-custom,
.zwh-prefooter .moduletable.zwh-prefooter--borderless>div{border-color:transparent;box-shadow:none}

@media(max-width:900px){
  .zwh-prefooter .zwh-prefooter-panel,
  .zwh-prefooter .moduletable>div,
  .zwh-prefooter .mod-custom{flex-direction:column;text-align:center;gap:1rem}
  .zwh-prefooter .zwh-prefooter-copy{flex:0 1 auto;max-width:none}
  .zwh-prefooter .zwh-prefooter-logos{flex:0 1 auto;width:100%;flex-wrap:wrap}
  .zwh-prefooter .zwh-prefooter-logos img{max-width:42%;max-height:64px}
}
@media(max-width:520px){
  .zwh-prefooter{padding:.7rem 0}
  .zwh-prefooter .zwh-prefooter-panel,
  .zwh-prefooter .moduletable>div,
  .zwh-prefooter .mod-custom{border-radius:14px;padding:.85rem}
  .zwh-prefooter .zwh-prefooter-logos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center}
  .zwh-prefooter .zwh-prefooter-logos img{max-width:100%;max-height:58px}
}


/* RC 2.6.8: spacing controls, Education page and configurable dedicated headings. */
.is-home .zwh-section{padding:var(--zwh-home-section-space) 0}
.is-foundation .zwh-section,.is-choirs-page .zwh-section,.is-choir-profile .zwh-section{padding:var(--zwh-special-section-space) 0}
.zwh-choirs-page__cards--no-intro{padding-top:var(--zwh-special-section-space)}
.zwh-education-intro{padding:clamp(3.2rem,6vw,var(--zwh-special-section-space)) 0 2.2rem;background:#fff}
.zwh-education-intro h1{max-width:900px;margin:.15rem 0 1rem;color:var(--zwh-heading);font-size:clamp(2.8rem,6vw,5.8rem);line-height:.96;letter-spacing:-.045em}
.zwh-education-intro__lead{max-width:900px;margin:0 0 .9rem;color:var(--zwh-heading);font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.55}
.zwh-education-intro__text{max-width:820px;margin:0;color:var(--zwh-muted);line-height:1.7}
.is-education-page .zwh-main{padding-top:2rem}
.is-education-page .zwh-component>.blog>.page-header,.is-education-page .zwh-component>.blog>h1:first-child{display:none}
.is-education-page .blog-items{display:grid;grid-template-columns:repeat(var(--zwh-education-columns),minmax(0,1fr));gap:1.35rem;align-items:stretch}
.is-education-page .blog-item{height:100%;padding:1.45rem;border:1px solid var(--zwh-line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(42,16,21,.055)}
.is-education-page .blog-item .page-header{margin:0 0 .65rem}
.is-education-page .blog-item h2{margin:0;color:var(--zwh-heading);font-size:1.4rem;line-height:1.18}
.is-education-page .blog-item h2 a{color:inherit;text-decoration:none}
.is-education-page .blog-item h2 a:hover{color:var(--zwh-brand)}
.is-education-page .blog-item .article-info{display:none}
.is-education-page .blog-item p{color:var(--zwh-muted);line-height:1.6}
.is-education-page .blog-item .readmore{margin-top:1rem}
.is-education-page .blog-item .readmore a{color:var(--zwh-brand);font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}
@media(max-width:1050px){.is-education-page .blog-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.is-education-page .blog-items{grid-template-columns:1fr}.zwh-education-intro{padding-top:2.5rem}}

/* RC1 Color Pack B and complete configurable footer */
.zwh-button,.zwh-login-submit,.zwh-auth-button{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.zwh-button:hover,.zwh-button:focus-visible,.zwh-login-submit:hover,.zwh-login-submit:focus-visible,.zwh-auth-button:hover,.zwh-auth-button:focus-visible{background:var(--zwh-brand-hover);border-color:var(--zwh-brand-hover);filter:none}
.zwh-footer--minimal .zwh-footer__main{background:var(--zwh-heading)}
.zwh-footer__minimal-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(1.25rem,3vw,3rem);overflow:hidden}
.zwh-footer__content{min-width:max-content}
.zwh-footer__links{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem clamp(1rem,2.4vw,2.3rem)}
.zwh-footer__links a{font-size:.9rem;font-weight:650;text-decoration:none;text-underline-offset:4px}
.zwh-footer__links a:hover,.zwh-footer__links a:focus-visible{text-decoration:underline}
.zwh-footer__icons{position:relative;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding-right:clamp(1.3rem,3.6vw,3.7rem)}
.zwh-footer__icons a{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.zwh-footer__icons a:hover,.zwh-footer__icons a:focus-visible{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.7);transform:translateY(-1px)}
.zwh-footer__icons svg{display:block;width:18px;height:18px;fill:currentColor}
.zwh-footer--minimal .zwh-footer__symbol{right:0;bottom:-38px;width:172px;transform:translateX(52%);opacity:var(--zwh-footer-symbol-opacity)}
@media(max-width:980px){.zwh-footer__minimal-inner{grid-template-columns:1fr auto}.zwh-footer__links{grid-column:1/-1;grid-row:2;justify-content:flex-start}.zwh-footer__icons{padding-right:2.8rem}}
@media(max-width:640px){.zwh-footer__minimal-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1rem;padding-right:2.7rem}.zwh-footer__content{min-width:0;flex:1 1 100%}.zwh-footer__links{justify-content:flex-start;gap:.45rem 1rem}.zwh-footer__links a{font-size:.82rem}.zwh-footer__icons{justify-content:flex-start;padding-right:0}.zwh-footer__icons a{width:34px;height:34px}.zwh-footer--minimal .zwh-footer__symbol{right:0;bottom:-30px;width:146px;transform:translateX(58%)}}

/* Education grid normalization: includes Joomla leading items. */
.is-education-page .zwh-education-grid{
  display:grid;
  grid-template-columns:repeat(var(--zwh-education-columns),minmax(0,1fr));
  gap:1.35rem;
  align-items:stretch;
}
.is-education-page .zwh-education-grid>*,
.is-education-page .zwh-education-grid .blog-item{
  min-width:0;
  height:100%;
  margin:0!important;
  padding:1.45rem;
  border:1px solid var(--zwh-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(42,16,21,.055);
}
.is-education-page .zwh-education-grid .blog-item{padding:0;border:0;box-shadow:none;background:transparent}
.is-education-page .zwh-education-grid .page-header{margin:0 0 .65rem}
.is-education-page .zwh-education-grid h2{margin:0;color:var(--zwh-heading);font-size:1.4rem;line-height:1.18}
.is-education-page .zwh-education-grid h2 a{color:inherit;text-decoration:none}
.is-education-page .zwh-education-grid .article-info{display:none}
@media(max-width:1050px){.is-education-page .zwh-education-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.is-education-page .zwh-education-grid{grid-template-columns:1fr}}

/* RC1 Layout Cleanup — shared width system and reliable responsive grids. */
:root{
  --zwh-gutter:clamp(18px,3vw,48px);
  --zwh-grid-gap:clamp(1rem,2vw,1.5rem);
  --zwh-card-radius:18px;
}

/* One horizontal alignment system for header, content, special sections and footer. */
.zwh-container{
  width:min(calc(100% - (2 * var(--zwh-gutter))),var(--zwh-container));
  margin-inline:auto;
}
.zwh-content-layout,
.zwh-component{
  width:100%;
  max-width:none;
  min-width:0;
  margin-inline:auto;
}

/* Keep long-form standalone articles readable, while category/blog grids use full width. */
.zwh-component>.item-page,
.zwh-component>article:not(.blog-item){
  max-width:1080px;
}
.zwh-component>.blog,
.zwh-component>.category-list,
.zwh-component>.categories-list{
  max-width:none;
}

/* Education: Joomla may split articles into leading items, rows and regular items.
   Treat all those wrappers as transparent so every article belongs to one grid. */
.is-education-page .zwh-component{
  max-width:none!important;
}
.is-education-page .zwh-component>.blog{
  display:grid!important;
  grid-template-columns:repeat(var(--zwh-education-columns),minmax(0,1fr))!important;
  gap:var(--zwh-grid-gap)!important;
  align-items:stretch;
  width:100%;
}
.is-education-page .zwh-component>.blog>.items-leading,
.is-education-page .zwh-component>.blog>.blog-items,
.is-education-page .zwh-component>.blog>.items-row,
.is-education-page .zwh-component>.blog>.zwh-education-grid{
  display:contents!important;
}
.is-education-page .zwh-component>.blog .blog-item,
.is-education-page .zwh-component>.blog>.items-leading>div,
.is-education-page .zwh-component>.blog>.items-row>div{
  min-width:0!important;
  width:auto!important;
  height:100%;
  margin:0!important;
  padding:1.45rem!important;
  border:1px solid var(--zwh-line)!important;
  border-radius:var(--zwh-card-radius)!important;
  background:#fff!important;
  box-shadow:0 10px 28px rgba(42,16,21,.055)!important;
}
.is-education-page .zwh-component>.blog .blog-item .blog-item,
.is-education-page .zwh-component>.blog>.items-leading>div .blog-item,
.is-education-page .zwh-component>.blog>.items-row>div .blog-item{
  height:auto;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Shared grid breakpoints: three columns only when cards have enough real width. */
@media(max-width:1180px){
  .is-education-page .zwh-component>.blog{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:720px){
  .is-education-page .zwh-component>.blog{
    grid-template-columns:1fr!important;
  }
}

/* Chorister area uses the same width and breakpoint logic. */
@media(min-width:1380px){
  .is-chorister-page .zwh-chorister-articles-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(min-width:901px) and (max-width:1379px){
  .is-chorister-page .zwh-chorister-articles-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Prevent legacy fixed widths from narrowing grids or shifting alignment. */
.is-education-page .zwh-main .zwh-container,
.is-recordings-page .zwh-main .zwh-container,
.is-chorister-page .zwh-main .zwh-container{
  width:min(calc(100% - (2 * var(--zwh-gutter))),var(--zwh-container));
}

/* RC 2.6.14 — mobile navigation, footer crop and article navigation fixes. */
@media (max-width: 1050px) {
  .zwh-header__inner{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:.55rem;
  }
  .zwh-brand{min-width:0;overflow:hidden}
  .zwh-brand img{display:block;width:min(100%,235px);max-width:235px;height:auto}
  .zwh-menu-toggle{display:block;grid-column:2;margin:0;z-index:3}
  .zwh-auth-controls{grid-column:3;margin:0;min-width:0;z-index:3}
  .zwh-primary-menu{grid-column:1/-1;width:auto;z-index:20}
}
@media (max-width: 640px) {
  .zwh-header__inner{grid-template-columns:minmax(0,1fr) 42px auto;gap:.35rem;min-height:82px}
  .zwh-brand{padding-block:8px}
  .zwh-brand img{width:min(100%,190px);max-width:190px;max-height:64px;object-fit:contain;object-position:left center}
  .zwh-menu-toggle{width:40px;height:40px;padding:8px}
  .zwh-auth-button{min-height:38px;max-width:92px;padding:.42rem .62rem;font-size:.78rem;white-space:nowrap}
  .zwh-primary-menu{left:14px;right:14px;top:100%;max-height:calc(100vh - 96px);overflow:auto}
  .zwh-footer__minimal-inner{padding-right:4.5rem}
  .zwh-footer--minimal .zwh-footer__symbol{
    right:-14px;
    bottom:-40px;
    width:210px;
    transform:translateX(34%);
  }
  .pagenavigation .pagination,
  .pager,
  ul.pagenav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    align-items:stretch;
    gap:.65rem;
    width:100%;
    margin:1.25rem 0 0;
    padding:0;
    list-style:none;
  }
  .pagenavigation .pagination li,
  .pager li,
  ul.pagenav li{display:flex!important;min-width:0;margin:0!important}
  .pagenavigation .pagination a,
  .pager a,
  ul.pagenav a,
  .pagenavigation .pagination span,
  .pager span,
  ul.pagenav span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:48px;
    padding:.65rem .75rem;
    text-align:center;
    white-space:normal;
  }
}

/* RC1 2.6.15 — pre-footer controls, viewport-cropped footer symbol and editable Contact page */
.zwh-prefooter .zwh-prefooter-panel{
  --zwh-prefooter-copy-width:35%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(1rem,2.4vw,2.2rem);
  border:1px solid rgba(127,36,53,.22)!important;
  background:#fff!important;
}
.zwh-prefooter .zwh-prefooter--framed{
  border-color:rgba(127,36,53,.24)!important;
  box-shadow:0 12px 34px rgba(61,19,26,.12)!important;
}
.zwh-prefooter .zwh-prefooter--border{
  border-color:rgba(127,36,53,.28)!important;
  box-shadow:none!important;
}
.zwh-prefooter .zwh-prefooter--plain{
  border-color:transparent!important;
  box-shadow:none!important;
  background:transparent!important;
}
.zwh-prefooter .zwh-prefooter-copy{
  flex:0 1 var(--zwh-prefooter-copy-width);
  max-width:var(--zwh-prefooter-copy-width);
  min-width:0;
}
.zwh-prefooter .zwh-prefooter-logos{flex:1 1 auto}
.zwh-prefooter .zwh-prefooter-text--small .zwh-prefooter-copy{font-size:.88rem}
.zwh-prefooter .zwh-prefooter-text--standard .zwh-prefooter-copy{font-size:1rem}
.zwh-prefooter .zwh-prefooter-text--large .zwh-prefooter-copy{font-size:1.15rem}

.zwh-footer__main{position:relative;overflow:hidden}
.zwh-footer__minimal-inner{position:static!important;overflow:visible!important}
.zwh-footer--minimal .zwh-footer__symbol{
  position:absolute!important;
  right:calc(-1 * var(--zwh-footer-symbol-offset-x))!important;
  bottom:calc(-1 * var(--zwh-footer-symbol-offset-y))!important;
  width:var(--zwh-footer-symbol-size)!important;
  max-width:none!important;
  transform:none!important;
}

.zwh-contact-page{padding:clamp(1rem,2vw,1.6rem) 0;background:var(--zwh-page-bg)}
.zwh-contact-header{max-width:900px;margin:0 0 1rem}
.zwh-contact-header h1{margin:0 0 .35rem;color:var(--zwh-heading);font-size:clamp(2rem,3.3vw,3.2rem);line-height:1;letter-spacing:-.035em}
.zwh-contact-header p{margin:0;color:var(--zwh-muted);font-size:1rem;line-height:1.45}
.zwh-contact-top-grid,.zwh-contact-support-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:.85rem;margin-bottom:.85rem;align-items:stretch}
.zwh-contact-top-grid.is-single,.zwh-contact-support-grid.is-transfer-only{grid-template-columns:1fr}
.zwh-contact-quickcall,.zwh-contact-card{min-width:0;height:150px;padding:1rem 1.15rem;border:1px solid var(--zwh-line);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(42,16,21,.04)}
.zwh-contact-quickcall{display:flex;flex-direction:column;justify-content:center;margin:0;border-left:3px solid var(--zwh-brand)}
.zwh-contact-quickcall h2,.zwh-contact-card h2{margin:0 0 .45rem;color:var(--zwh-heading);font-size:1.18rem;line-height:1.18}
.zwh-contact-quickcall p,.zwh-contact-card p{margin:.25rem 0;color:var(--zwh-text);line-height:1.4}
.zwh-contact-quickcall__phone{display:inline-flex;align-items:center;gap:.45rem;width:max-content;margin-top:.55rem;color:var(--zwh-brand);font-size:clamp(1.35rem,2vw,1.7rem);font-weight:850;text-decoration:none;white-space:nowrap}
.zwh-contact-phone-icon{font-size:.9em;line-height:1}
.zwh-contact-quickcall__phone:hover,.zwh-contact-card a:not(.zwh-button):hover{text-decoration:underline;text-underline-offset:3px}
.zwh-contact-card a:not(.zwh-button){color:var(--zwh-brand);text-underline-offset:3px}
.zwh-contact-card--details{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'name .' 'copy register';grid-template-rows:auto 1fr;column-gap:1rem;align-items:start}
.zwh-contact-card--details .zwh-contact-name{grid-area:name;margin:0 0 .3rem;font-size:1.18rem;font-weight:800;color:var(--zwh-heading)!important}
.zwh-contact-details-copy{grid-area:copy;min-width:0;align-self:end}
.zwh-contact-details-copy p{margin:.18rem 0}
.zwh-contact-register{grid-area:register;align-self:end;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;width:100%;margin:0;padding:.65rem .8rem;border-radius:12px;background:var(--zwh-page-bg)}
.zwh-contact-register div{display:grid;grid-template-columns:auto;gap:.05rem;min-width:0;padding:0;text-align:center}
.zwh-contact-register dt{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--zwh-muted)}
.zwh-contact-register dd{margin:0;font-weight:750;color:var(--zwh-heading);font-size:.9rem;white-space:nowrap}
.zwh-contact-card--blik,.zwh-contact-card--transfer{display:flex;flex-direction:column;justify-content:flex-start;height:150px;padding-top:1rem}
.zwh-contact-blik__phone{display:inline-block;width:max-content;margin:auto 0 0;color:var(--zwh-brand)!important;font-size:clamp(1.35rem,2vw,1.65rem);font-weight:850;text-decoration:none}
.zwh-contact-account-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;column-gap:1rem;margin:auto 0 .3rem}
.zwh-contact-account-left{display:flex;align-items:center;gap:.55rem;min-width:0;padding:.58rem .7rem;border-radius:10px;background:var(--zwh-page-bg)}
.zwh-contact-bank{flex:0 0 auto;margin:0!important;font-weight:400;color:var(--zwh-text)!important;white-space:nowrap}
.zwh-contact-account{display:flex;align-items:center;min-width:0;margin:0!important;padding:0;background:transparent;font-size:clamp(.9rem,1.1vw,1rem);font-weight:800;letter-spacing:.01em;color:var(--zwh-heading)!important;white-space:nowrap}
.zwh-contact-copy{justify-self:center;width:auto;min-width:74px;margin:0!important;padding:.42rem .7rem!important;min-height:0!important;font-size:.9rem}
.zwh-contact-donation-note{margin:.35rem 0 0!important;font-size:.88rem;line-height:1.3!important;color:var(--zwh-muted)!important}
.zwh-contact-form{margin-top:.9rem}
.is-contact-page .zwh-main{padding-top:0;background:var(--zwh-page-bg)}
.is-contact-page .zwh-contact-article-content{max-width:1000px;margin:0 auto 1.5rem}
.is-contact-page .zwh-contact-article-content .page-header,
.is-contact-page .zwh-contact-article-content .article-info,
.is-contact-page .zwh-contact-article-content .pagenavigation,
.is-contact-page .zwh-contact-article-content .pager,
.is-contact-page .zwh-contact-article-content .pagination{display:none!important}
.is-contact-page .zwh-contact-article-content .item-page{padding:1rem;border:1px solid var(--zwh-line);border-radius:16px;background:#fff}

@media(max-width:850px){
  .zwh-prefooter .zwh-prefooter-copy{flex-basis:100%;max-width:none}
  .zwh-contact-top-grid,.zwh-contact-support-grid{grid-template-columns:1fr}
  .zwh-contact-quickcall,.zwh-contact-card{height:auto}
}
@media(max-width:640px){
  .zwh-prefooter .zwh-prefooter-panel{gap:.85rem}
  .zwh-prefooter .zwh-prefooter-copy{font-size:.92rem}
  .zwh-footer--minimal .zwh-footer__symbol{width:calc(var(--zwh-footer-symbol-size) * .86)!important;right:calc(-1 * var(--zwh-footer-symbol-offset-x))!important;bottom:calc(-1 * var(--zwh-footer-symbol-offset-y))!important}
  .zwh-contact-page{padding:1rem 0}
  .zwh-contact-card--details{grid-template-columns:1fr;grid-template-areas:'name' 'copy' 'register';align-items:start}
  .zwh-contact-register{grid-template-columns:1fr;width:100%;margin-top:.55rem;gap:.35rem;padding:.6rem .75rem}.zwh-contact-register div{grid-template-columns:4.2rem 1fr;align-items:baseline;text-align:left}.zwh-contact-register dd{text-align:right}
  .zwh-contact-account-row{grid-template-columns:1fr;row-gap:.55rem}.zwh-contact-account-left{flex-wrap:wrap;gap:.25rem .55rem}
  .zwh-contact-copy{width:auto;min-width:0}
  .zwh-contact-account{white-space:normal}
  .zwh-contact-card{border-radius:14px}
}


/* RC 2.6.16 — wide three-column chorister library and Media Manager defaults. */
.is-chorister-page .zwh-chorister-dashboard>.zwh-container{
  width:min(calc(100% - 32px),1520px)!important;
  max-width:1520px!important;
}
.is-chorister-page .zwh-chorister-dashboard__grid{
  grid-template-columns:minmax(230px,280px) minmax(0,1fr)!important;
  gap:clamp(1rem,2vw,2rem)!important;
}
.is-chorister-page .zwh-chorister-main,
.is-chorister-page .zwh-chorister-materials,
.is-chorister-page .zwh-chorister-materials .zwh-component,
.is-chorister-page .zwh-chorister-materials .blog{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.is-chorister-page .zwh-chorister-articles-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(.9rem,1.35vw,1.25rem)!important;
  width:100%!important;
  max-width:none!important;
}
.is-chorister-page .zwh-chorister-articles-grid>*{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
}
.is-chorister-page .zwh-chorister-articles-grid .page-header h1,
.is-chorister-page .zwh-chorister-articles-grid .page-header h2{
  font-size:clamp(1.25rem,1.6vw,1.7rem)!important;
  overflow-wrap:anywhere;
}
@media(max-width:1199px){
  .is-chorister-page .zwh-chorister-articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .is-chorister-page .zwh-chorister-dashboard__grid{grid-template-columns:1fr!important}
  .is-chorister-page .zwh-chorister-articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .is-chorister-page .zwh-chorister-dashboard>.zwh-container{width:min(calc(100% - 24px),1520px)!important}
  .is-chorister-page .zwh-chorister-articles-grid{grid-template-columns:1fr!important}
}


/* RC 2.6.17 — stable full-width chorister grid. */
.is-chorister-page .zwh-chorister-dashboard>.zwh-container{
  width:calc(100% - 32px)!important;
  max-width:1600px!important;
}
.is-chorister-page .zwh-chorister-dashboard__grid{
  grid-template-columns:minmax(210px,260px) minmax(0,1fr)!important;
}
.is-chorister-page .zwh-chorister-main,
.is-chorister-page .zwh-chorister-materials,
.is-chorister-page .zwh-chorister-materials>.zwh-component,
.is-chorister-page .zwh-chorister-articles-grid{
  width:100%!important;max-width:none!important;min-width:0!important;
}
.is-chorister-page .zwh-chorister-articles-grid{
  grid-template-columns:repeat(3,minmax(220px,1fr))!important;
}
.is-chorister-page .zwh-chorister-articles-grid>.blog-item,
.is-chorister-page .zwh-chorister-articles-grid>article,
.is-chorister-page .zwh-chorister-articles-grid>[class*=leading-],
.is-chorister-page .zwh-chorister-articles-grid>.item{
  width:100%!important;max-width:none!important;flex:0 0 auto!important;
}
@media(max-width:1180px){
  .is-chorister-page .zwh-chorister-articles-grid{grid-template-columns:repeat(2,minmax(220px,1fr))!important}
}
@media(max-width:900px){
  .is-chorister-page .zwh-chorister-dashboard>.zwh-container{width:calc(100% - 24px)!important}
}
@media(max-width:640px){
  .is-chorister-page .zwh-chorister-articles-grid{grid-template-columns:1fr!important}
}

/* RC 2.6.18 — mobile hero: keep copy over the selected image. */
@media(max-width:640px){
  .zwh-home-hero{
    position:relative;
    height:clamp(520px,150vw,680px);
    min-height:520px;
    align-items:stretch;
  }
  .zwh-home-hero__image{
    object-fit:cover!important;
    object-position:var(--zwh-hero-pos-x) var(--zwh-hero-pos-y)!important;
  }
  .zwh-home-hero__shade{
    inset:0;
    opacity:1;
    background:linear-gradient(0deg,rgba(30,8,12,.92) 0%,rgba(30,8,12,.68) 42%,rgba(30,8,12,.12) 78%,rgba(30,8,12,.05) 100%);
  }
  .zwh-home-hero__content{
    position:absolute;
    inset:0;
    width:100%;
    max-width:none;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:2rem 1.5rem 4.75rem;
  }
  .zwh-home-hero__content h1{
    max-width:100%;
    margin-bottom:.85rem;
    font-size:clamp(3rem,14vw,4.6rem);
    line-height:.96;
  }
  .zwh-home-hero__content>p:last-child{
    max-width:100%;
    font-size:clamp(1.05rem,5vw,1.35rem);
    line-height:1.45;
  }
  .zwh-home-hero__caption{
    left:1.5rem;
    right:1.5rem;
    bottom:1.15rem;
    text-align:left;
  }
}


/* RC 2.6.22 — hide Joomla previous/next article navigation on standalone articles. */
.is-content-article .zwh-component .pagenavigation,
.is-content-article .zwh-component nav.pagenavigation,
.is-content-article .zwh-component .pager,
.is-content-article .zwh-component ul.pagenav{display:none!important}

/* RC 2.6.31: chorister area - responsive category/song accordion. */
.is-chorister-page .zwh-chorister-category-accordion{display:grid!important;grid-template-columns:1fr!important;gap:.5rem;width:100%;min-width:0}
.is-chorister-page .zwh-chorister-category{width:100%;min-width:0;margin:0;border:1px solid rgba(101,19,29,.14);border-radius:10px;background:#fff;overflow:hidden;box-shadow:0 2px 8px rgba(61,19,26,.025)}
.is-chorister-page .zwh-chorister-category__summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;padding:.62rem .8rem;color:var(--zwh-brand);font-size:1rem;font-weight:750;line-height:1.25;cursor:pointer;list-style:none;background:rgba(101,19,29,.025)}
.is-chorister-page .zwh-chorister-category__summary::-webkit-details-marker{display:none}
.is-chorister-page .zwh-chorister-category__summary:hover,.is-chorister-page .zwh-chorister-category__summary:focus-visible{background:rgba(101,19,29,.055);outline:none}
.is-chorister-page .zwh-chorister-category__arrow{flex:0 0 auto;font-size:1.35rem;line-height:1;transition:transform .18s ease}
.is-chorister-page .zwh-chorister-category[open]>.zwh-chorister-category__summary .zwh-chorister-category__arrow{transform:rotate(90deg)}
.is-chorister-page .zwh-chorister-category__panel{padding:.55rem .7rem .7rem;border-top:1px solid rgba(101,19,29,.1)}
.is-chorister-page .zwh-chorister-category__panel>.blog-item,
.is-chorister-page .zwh-chorister-category__panel>.item,
.is-chorister-page .zwh-chorister-category__panel>article,
.is-chorister-page .zwh-chorister-category__panel>.item-page{margin:0!important;padding:0!important;width:100%!important;max-width:none!important}
.is-chorister-page .zwh-song-accordion-item{width:100%;min-width:0}
.is-chorister-page .zwh-song-card--trigger{margin:.22rem 0;width:100%}
.is-chorister-page .zwh-song-card--trigger[aria-expanded="true"]{border-color:rgba(101,19,29,.34);background:rgba(101,19,29,.035)}
.is-chorister-page .zwh-song-card--trigger[aria-expanded="true"] .zwh-song-card__arrow{transform:rotate(90deg)}
.is-chorister-page .zwh-song-card__arrow{transition:transform .18s ease}
.is-chorister-page .zwh-song-inline-panel{display:grid;gap:.45rem;margin:.1rem 0 .55rem;padding:.55rem .65rem;border-left:2px solid rgba(101,19,29,.18);background:rgba(101,19,29,.018)}
.is-chorister-page .zwh-song-inline-panel[hidden]{display:none!important}
.is-chorister-page .zwh-song-inline-panel .zwh-song-file{padding-top:.4rem;border-top:1px solid rgba(101,19,29,.1)}
.is-chorister-page .zwh-song-inline-panel .zwh-song-file:first-child{padding-top:0;border-top:0}
.is-chorister-page .zwh-song-inline-panel audio,
.is-chorister-page .zwh-song-inline-panel video{display:block;width:100%;max-width:100%}

@media(max-width:1050px){
  .is-chorister-page .zwh-chorister-dashboard__grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:1rem!important;width:100%!important}
  .is-chorister-page .zwh-chorister-board,
  .is-chorister-page .zwh-chorister-main{position:static!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .is-chorister-page .zwh-chorister-board .card,
  .is-chorister-page .zwh-chorister-placeholder{width:100%!important;max-width:100%!important;min-width:0!important;overflow-wrap:anywhere}
  .is-chorister-page .zwh-chorister-articles-grid{display:block!important;width:100%!important}
  .is-chorister-page .zwh-chorister-materials,
  .is-chorister-page .zwh-chorister-materials .zwh-component{width:100%!important;max-width:100%!important;min-width:0!important}
}
@media(max-width:640px){
  .is-chorister-page .zwh-chorister-dashboard{padding-top:.85rem}
  .is-chorister-page .zwh-chorister-category-accordion{gap:.4rem}
  .is-chorister-page .zwh-chorister-category__summary{min-height:42px;padding:.58rem .7rem;font-size:.98rem}
  .is-chorister-page .zwh-chorister-category__panel{padding:.45rem .5rem .55rem}
  .is-chorister-page .zwh-song-card--trigger{grid-template-columns:minmax(0,1fr) auto;padding:.5rem .58rem}
  .is-chorister-page .zwh-song-card__details{grid-column:1/2;white-space:normal}
  .is-chorister-page .zwh-song-inline-panel{margin:.08rem 0 .45rem;padding:.5rem}
}

/* RC 2.6.36: compact category bars with song counts. */
.is-chorister-page .zwh-chorister-category__heading{display:flex;align-items:baseline;gap:.35rem;min-width:0}
.is-chorister-page .zwh-chorister-category__count{font-size:.82em;font-weight:650;color:#76686c;white-space:nowrap}


/* RC 2.6.37: chorister cleanup — standard site margins and no duplicate Joomla 'items more' list. */
.is-chorister-page .zwh-chorister-dashboard>.zwh-container{
  width:min(calc(100% - (2 * var(--zwh-gutter))),var(--zwh-container))!important;
  max-width:var(--zwh-container)!important;
  margin-inline:auto!important;
}
.is-chorister-page .zwh-chorister-dashboard__grid{
  grid-template-columns:minmax(220px,290px) minmax(0,1fr)!important;
  gap:clamp(1rem,2.2vw,2rem)!important;
}
.is-chorister-page .items-more,
.is-chorister-page .com-content-category-blog__items-more,
.is-chorister-page .blog-items-more{display:none!important}
@media(max-width:900px){
  .is-chorister-page .zwh-chorister-dashboard>.zwh-container{
    width:min(calc(100% - (2 * var(--zwh-gutter))),var(--zwh-container))!important;
  }
}

/* RC2.6.38 — wspolne kadrowanie zdjec z podgladem w zapleczu */
.zwh-croppable{
  object-fit:var(--zwh-crop-fit-d,cover)!important;
  object-position:var(--zwh-crop-x-d,50%) var(--zwh-crop-y-d,42%)!important;
  transform:scale(var(--zwh-crop-zoom-d,1));
  transform-origin:var(--zwh-crop-x-d,50%) var(--zwh-crop-y-d,42%);
}
@media(max-width:1024px){.zwh-croppable{object-fit:var(--zwh-crop-fit-t,var(--zwh-crop-fit-d,cover))!important;object-position:var(--zwh-crop-x-t,var(--zwh-crop-x-d,50%)) var(--zwh-crop-y-t,var(--zwh-crop-y-d,42%))!important;transform:scale(var(--zwh-crop-zoom-t,var(--zwh-crop-zoom-d,1)));transform-origin:var(--zwh-crop-x-t,var(--zwh-crop-x-d,50%)) var(--zwh-crop-y-t,var(--zwh-crop-y-d,42%))}}
@media(max-width:640px){.zwh-croppable{object-fit:var(--zwh-crop-fit-m,var(--zwh-crop-fit-t,cover))!important;object-position:var(--zwh-crop-x-m,var(--zwh-crop-x-t,50%)) var(--zwh-crop-y-m,var(--zwh-crop-y-t,42%))!important;transform:scale(var(--zwh-crop-zoom-m,var(--zwh-crop-zoom-t,1)));transform-origin:var(--zwh-crop-x-m,var(--zwh-crop-x-t,50%)) var(--zwh-crop-y-m,var(--zwh-crop-y-t,42%))}}


/* RC2.6.39 — rozszerzone kadrowanie: skala 50–200% + adaptacyjna ramka */
.zwh-crop-frame{position:relative;overflow:hidden;aspect-ratio:4/3}
.zwh-crop-frame>.zwh-croppable{display:block!important;width:100%!important;height:100%!important;max-width:none!important;aspect-ratio:auto!important}
.zwh-foundation-split__media.zwh-crop-frame{width:100%}
.zwh-foundation-person>.zwh-crop-frame{width:100%;background:linear-gradient(135deg,#eee8e6,#ddd2cf)}
.zwh-foundation-person>.zwh-crop-frame+.zwh-foundation-person__placeholder{display:none}


/* RC2.6.40 — wspólne kadrowanie wszystkich ramek zdjęciowych kontrolowanych przez szablon */
.zwh-choir-card__media.zwh-crop-frame{display:block;width:100%;aspect-ratio:16/10;border-radius:22px}
.zwh-choir-card__media.zwh-crop-frame>.zwh-croppable{transition:transform .25s ease}
.zwh-choir-card:hover .zwh-choir-card__media.zwh-crop-frame>.zwh-croppable{transform:scale(var(--zwh-crop-zoom-d,1))}
.zwh-foundation-hero>.zwh-foundation-hero__crop,.zwh-profile-hero>.zwh-profile-hero__crop{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.zwh-foundation-hero>.zwh-foundation-hero__crop>.zwh-croppable,.zwh-profile-hero>.zwh-profile-hero__crop>.zwh-croppable{position:absolute;inset:0;width:100%!important;height:100%!important}
.zwh-profile-gallery__crop{width:100%;border-radius:20px;box-shadow:0 12px 30px rgba(42,16,21,.08)}
.zwh-profile-gallery__crop>.zwh-croppable{border-radius:inherit}
.zwh-profile-conductor__image.zwh-crop-frame{width:100%;aspect-ratio:4/3}
@media(max-width:640px){.zwh-profile-gallery__crop{border-radius:16px}}

/* RC 2.6.43 — mobile chorister stacking + standard Joomla password reveal styling. */
@media (max-width:900px){
  .is-chorister-page .zwh-chorister-dashboard__grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:1rem!important;
  }
  .is-chorister-page .zwh-chorister-board,
  .is-chorister-page .zwh-chorister-main,
  .is-chorister-page .zwh-chorister-materials,
  .is-chorister-page .zwh-chorister-materials .zwh-component{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    transform:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* Joomla fallback/login form: use a readable text reveal control instead of a large pseudo-icon button. */
.input-group:has(input[type="password"]) .input-password-toggle,
.input-group:has(input[type="text"]) .input-password-toggle,
button.input-password-toggle{
  width:auto!important;
  min-width:4.6rem!important;
  min-height:2.5rem!important;
  padding:.42rem .7rem!important;
  margin-left:.4rem!important;
  border:1px solid rgba(101,19,29,.22)!important;
  border-radius:.55rem!important;
  background:#fff!important;
  color:var(--zwh-brand)!important;
  box-shadow:none!important;
  font:inherit!important;
  font-size:.88rem!important;
  font-weight:700!important;
  line-height:1!important;
}
button.input-password-toggle:hover,
button.input-password-toggle:focus-visible{
  background:var(--zwh-brand-soft,#f7f2f3)!important;
  outline:2px solid rgba(101,19,29,.18)!important;
  outline-offset:2px;
}


/* RC1 2.6.44: pre-launch layout polish. */
.zwh-choirs-page__intro--no-kicker{padding-top:clamp(2.75rem,5.5vw,5rem)}
.zwh-profile-conductor__grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:2rem}
.zwh-profile-conductor__image.zwh-crop-frame{max-width:100%}
.zwh-contact-copy{position:relative;display:inline-grid;place-items:center;justify-self:center;width:42px;height:42px;min-width:42px;margin:0;padding:0;border:1px solid var(--zwh-brand);border-radius:11px;background:var(--zwh-brand);color:#fff;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}
.zwh-contact-copy:hover{transform:translateY(-1px);background:var(--zwh-heading);box-shadow:0 7px 18px rgba(101,19,29,.18)}
.zwh-contact-copy:focus-visible{outline:3px solid color-mix(in srgb,var(--zwh-brand) 28%,transparent);outline-offset:3px}
.zwh-contact-copy__icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.zwh-contact-copy__icon--check{display:none}
.zwh-contact-copy.is-copied .zwh-contact-copy__icon--copy{display:none}
.zwh-contact-copy.is-copied .zwh-contact-copy__icon--check{display:block}
.zwh-contact-copy.is-copied{background:#fff;color:var(--zwh-brand)}
@media(max-width:860px){.zwh-profile-conductor__grid{grid-template-columns:1fr}.zwh-profile-conductor__image.zwh-crop-frame{max-width:520px}}
@media(max-width:620px){.zwh-choirs-page__intro--no-kicker{padding-top:2.25rem}}


/* RC 2.6.50 — balanced final publication Hero proportions. */
.zwh-home-hero__caption{
  padding:.36rem .58rem;
  border-radius:.45rem;
  background:linear-gradient(90deg,rgba(35,7,13,.72),rgba(35,7,13,.52) 72%,rgba(35,7,13,.12));
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
@media (min-width:641px){
  .has-compact-heroes .zwh-home-hero{height:415px;min-height:415px;}
  .has-compact-heroes .zwh-foundation-hero{height:415px;min-height:415px;}
  .has-compact-heroes .zwh-profile-hero{height:460px;min-height:460px;}
  .has-compact-heroes .zwh-home-hero__content{padding-bottom:clamp(2.4rem,4vw,4rem);}
  .has-compact-heroes .zwh-foundation-hero__content,
  .has-compact-heroes .zwh-profile-hero__content{padding-bottom:clamp(2.2rem,4vw,3.8rem);}
}
@media (max-width:640px){
  .has-compact-heroes .zwh-home-hero{height:400px;min-height:400px;}
  .has-compact-heroes .zwh-foundation-hero{height:400px;min-height:400px;}
  .has-compact-heroes .zwh-profile-hero{height:380px;min-height:380px;}
  .zwh-home-hero__caption{left:1rem;right:auto;max-width:calc(100% - 2rem);}
}


/* RC 2.6.52 — final hero typography and choir page spacing polish. */
/* Slightly smaller hero copy keeps people visible after the balanced height changes. */
.zwh-home-hero__content h1{font-size:clamp(2.8rem,5.3vw,5.45rem);}
.zwh-foundation-hero h1{font-size:clamp(2.8rem,5.2vw,5.55rem);}
.zwh-profile-hero h1{font-size:clamp(2.65rem,5.15vw,5.25rem);}
.zwh-home-hero__content>p:last-child,
.zwh-foundation-hero__content>p:last-child,
.zwh-profile-hero__title-row p{font-size:clamp(1rem,1.45vw,1.28rem);}

/* Bring the choir cards closer to the page heading. */
.zwh-choirs-page__intro{padding-bottom:clamp(2rem,3.5vw,3.25rem);}

@media(max-width:640px){
  .zwh-home-hero__content h1{font-size:clamp(2.45rem,11.5vw,3.55rem);line-height:.98;}
  .zwh-foundation-hero h1{font-size:clamp(2.45rem,11.5vw,3.55rem);line-height:.98;}
  .zwh-profile-hero h1{font-size:clamp(2.35rem,10.8vw,3.25rem);line-height:.98;letter-spacing:-.035em;}
  .zwh-profile-hero__title-row p{font-size:clamp(.98rem,4.6vw,1.15rem);line-height:1.45;}
  .zwh-profile-hero__logo{width:78px;height:78px;}
  .zwh-choirs-page__intro{padding-bottom:1.65rem;}

  /* Mobile profile heroes are composed individually so the names avoid faces. */
  .is-choir-profile .zwh-profile-hero{align-items:stretch;}
  .is-choir-profile .zwh-profile-hero__content{
    position:absolute;inset:0;width:100%;max-width:none;
    display:flex;flex-direction:column;
    padding-left:1.4rem;padding-right:1.4rem;padding-bottom:1.55rem;
  }
  .is-choir-profile .zwh-profile-hero__title-row{gap:.85rem;}
  .is-choir1-profile .zwh-profile-hero__content{justify-content:flex-start;padding-top:4.8rem;}
  .is-choir2-profile .zwh-profile-hero__content{justify-content:flex-start;padding-top:3.9rem;}
  .is-choir1-profile .zwh-profile-hero__title-row,
  .is-choir2-profile .zwh-profile-hero__title-row{max-width:94%;}
  .is-choir1-profile .zwh-profile-hero__shade{
    background:linear-gradient(180deg,rgba(27,7,12,.68) 0%,rgba(27,7,12,.24) 47%,rgba(27,7,12,.62) 100%);
  }
  .is-choir2-profile .zwh-profile-hero__shade{
    background:linear-gradient(180deg,rgba(27,7,12,.58) 0%,rgba(27,7,12,.12) 43%,rgba(27,7,12,.64) 100%);
  }
}

/* RC 2.6.53 — mobile choir Hero: keep the faces in a clear middle band. */
@media(max-width:640px){
  .is-choir-profile .zwh-profile-hero__content{
    display:block;
    padding:0 1.4rem;
  }
  .is-choir-profile .zwh-profile-hero__title-row{
    display:block;
    max-width:none;
  }
  .is-choir-profile .zwh-profile-hero__logo{
    position:absolute;
    left:1.4rem;
    z-index:2;
  }
  .is-choir-profile .zwh-profile-hero__title-row>div{
    position:absolute;
    left:1.4rem;
    right:1.4rem;
    bottom:1.45rem;
    z-index:2;
  }
  /* Gdynia: logo high, copy low; the choir faces remain unobstructed. */
  .is-choir1-profile .zwh-profile-hero__logo{top:1.55rem;}
  .is-choir1-profile .zwh-profile-hero__title-row>div{bottom:1.55rem;}
  /* Reda: retain the badge above the heads and move the copy to the floor area. */
  .is-choir2-profile .zwh-profile-hero__logo{top:1.75rem;}
  .is-choir2-profile .zwh-profile-hero__title-row>div{bottom:1.35rem;}
}

/* ZWH 2.6.62 — Aktualnosci: editorial category grid and wider article view. */
.is-news-page .zwh-main{padding-top:clamp(2rem,4vw,3.5rem)}
.is-news-page .zwh-main .zwh-container,
.is-news-article .zwh-main .zwh-container{width:min(calc(100% - (2 * var(--zwh-gutter))),var(--zwh-container))}
.is-news-page .zwh-component{max-width:none}
.is-news-page .zwh-component>.blog,
.is-news-page .zwh-component>.com-content-category-blog{max-width:none}
.zwh-news-index-heading{margin:0 0 clamp(1.5rem,3vw,2.4rem)}
.zwh-news-index-heading h1{margin:0;color:var(--zwh-heading);font-size:clamp(2.35rem,4vw,4rem);line-height:1.02;letter-spacing:-.035em}
.zwh-news-index-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.25rem,2.5vw,2rem);align-items:stretch}
.zwh-news-index-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--zwh-line);border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(42,16,21,.06)}
.zwh-news-index-card__media{display:block;overflow:hidden;aspect-ratio:16/9;background:color-mix(in srgb,var(--zwh-page-bg) 88%,#fff);text-decoration:none}
.zwh-news-index-card__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .18s ease,filter .18s ease}
.zwh-news-index-card__media:hover img{transform:scale(1.015);filter:brightness(.965)}
.zwh-news-index-card__media:focus-visible{outline:2px solid var(--zwh-brand);outline-offset:-3px}
.zwh-news-index-card__body{display:flex;flex:1;flex-direction:column;padding:clamp(1.15rem,2vw,1.5rem)}
.zwh-news-index-card__date{margin:0 0 .55rem;color:var(--zwh-muted);font-size:.84rem;font-weight:650}
.zwh-news-index-card h2{margin:0 0 .75rem;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.16;color:var(--zwh-heading)}
.zwh-news-index-card h2 a{color:inherit;text-decoration:none}
.zwh-news-index-card h2 a:hover,.zwh-news-index-card h2 a:focus-visible{text-decoration:underline;text-underline-offset:.18em}
.zwh-news-index-card__intro{margin:0;color:var(--zwh-text);line-height:1.58}
.zwh-news-index-card__more{align-self:flex-start;margin-top:auto;padding-top:1rem;color:var(--zwh-brand);font-weight:750;text-decoration:none;border-bottom:1px solid currentColor}

/* Long-form news articles: wider than before, but still readable. */
.is-news-article .zwh-component{max-width:1040px;margin-inline:auto}
.is-news-article .zwh-component>.item-page,
.is-news-article .zwh-component>article:not(.blog-item){max-width:1040px;margin-inline:auto}
.is-news-article .zwh-component .page-header{margin-bottom:1.15rem}
.is-news-article .zwh-component .page-header h1,
.is-news-article .zwh-component .page-header h2{color:var(--zwh-heading)}
.is-news-article .zwh-component .article-info{margin-bottom:1.1rem}
.is-news-article .zwh-recording-item{max-width:none}
.is-news-article .zwh-component iframe{max-width:100%}

/* One extra top-level item still fits comfortably before the mobile breakpoint. */
@media(min-width:1051px){.zwh-primary-menu ul.mod-menu{gap:clamp(1.1rem,2vw,2.15rem)}}
@media(max-width:820px){.zwh-news-index-grid{grid-template-columns:1fr}}
