:root{--blue:#2968e8;--blue2:#184cb7;--ink:#14243a;--muted:#6b7788;--line:#e5eaf1;--bg:#f6f8fb;--dark:#132536;--white:#fff;--yellow:#f3c62d;--radius:14px;--shadow:0 10px 30px rgba(18,35,55,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{background:#162536;color:#e8eef7;font-size:12px}.topbar-inner{height:30px;display:flex;justify-content:space-between;align-items:center}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav{height:72px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:210px}.brand strong{font-size:40px;line-height:1;color:var(--blue);letter-spacing:-2px}.brand span{font-size:10px;font-weight:800;line-height:1.05;color:var(--blue2)}.nav-links{display:flex;gap:16px;align-items:center;flex:1;justify-content:center}.nav-links a{font-size:14px;color:var(--ink);text-decoration:none;font-weight:750;white-space:nowrap}.menu-toggle{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:13px 20px;font-weight:800;font-size:13px;text-decoration:none;border:1px solid transparent;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--blue),#2b58cb);color:#fff;box-shadow:0 8px 18px rgba(41,104,232,.22)}.btn-light{background:#fff;color:var(--blue2);border-color:#9ab4e8}.btn-disabled{background:#e7ebf1;color:#8d98a7;cursor:not-allowed}.hero{position:relative;overflow:hidden;background:linear-gradient(90deg,#f7f9fd 0%,#edf3fa 53%,#1b2a38 53%,#111d28 100%)}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 62% 42%,rgba(247,173,80,.35),transparent 24%),linear-gradient(120deg,transparent 45%,rgba(255,255,255,.12) 46%,transparent 58%)}.hero-grid{position:relative;min-height:455px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center}.hero-copy{padding:66px 0}.eyebrow{font-size:11px;letter-spacing:3px;font-weight:900;color:#3d526b}.eyebrow.blue{color:var(--blue);letter-spacing:1.5px}.hero h1{font-size:48px;line-height:1.03;letter-spacing:-1.6px;margin:14px 0 10px;max-width:690px}.hero-sub{font-size:17px;letter-spacing:2px;font-weight:650;margin:0 0 22px}.hero-actions{display:flex;gap:12px}.microcopy{margin-top:23px;padding-top:16px;border-top:2px solid var(--blue);width:max-content;font-size:10px;letter-spacing:2px;font-weight:850}.hero-visual{height:100%;display:flex;align-items:flex-end;justify-content:flex-end;background:linear-gradient(145deg,rgba(18,36,54,.05),rgba(11,27,41,.45)),radial-gradient(circle at 45% 36%,#e58a35 0 8%,#e15d24 9% 16%,#2a3744 17% 35%,#172635 36% 100%);clip-path:none}.visual-card{margin:0 20px 38px;background:rgba(12,25,36,.72);color:#fff;padding:20px 22px;border-left:3px solid var(--yellow);max-width:250px}.visual-card span{display:block;font-size:10px;letter-spacing:2px;margin-bottom:8px;color:#d8e2ec}.visual-card strong{font-size:18px;line-height:1.35}.trust{border-bottom:1px solid var(--line);background:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid>div{padding:22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px}.trust-grid>div:last-child{border-right:0}.trust b{font-size:14px}.trust span{font-size:11px;color:var(--muted)}.section{padding:62px 0}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.section h2,.center-section h2,.split h2{font-size:31px;letter-spacing:-.7px;margin:5px 0}.section-head>a,.training-card a{color:var(--blue);font-weight:800;font-size:12px;text-decoration:none}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.training-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(14,34,57,.04)}.card-image{height:120px;position:relative;display:flex;align-items:flex-start;padding:10px}.card-image span{background:#fff;border-radius:999px;padding:8px 10px;font-size:10px;font-weight:900;color:var(--blue2);box-shadow:var(--shadow)}.art-1{background:linear-gradient(130deg,#b9c7d5,#4a6175)}.art-2{background:linear-gradient(135deg,#b4d2f2,#e87332 45%,#34475b 70%)}.art-3{background:linear-gradient(140deg,#c8d8e6,#7d95aa 50%,#dce7ef)}.card-body{padding:14px}.card-body h3{font-size:16px;margin:0 0 6px}.card-body p{min-height:48px;font-size:11px;color:var(--muted);line-height:1.45;margin:0 0 10px}.center-section{background:#f1f5f9}.center-grid{display:grid;grid-template-columns:1.1fr 1.1fr .7fr;min-height:340px}.center-copy{padding:48px 34px 48px 0}.center-copy p{color:var(--muted);line-height:1.6}.center-photo{background:linear-gradient(135deg,#9eb0bd,#334c5e 50%,#182b3a);display:flex;align-items:flex-end;padding:28px;color:#fff;letter-spacing:3px;line-height:1.8;font-size:11px}.stats{background:#182b3a;color:#fff;padding:28px;display:flex;flex-direction:column;justify-content:center;gap:30px}.stats div{display:flex;flex-direction:column}.stats strong{font-size:27px}.stats span{font-size:11px;color:#c8d4de}.event-list{display:grid;gap:10px}.event{display:grid;grid-template-columns:1.7fr .55fr .65fr auto;gap:20px;align-items:center;border:1px solid var(--line);padding:18px 20px;border-radius:10px;background:#fff}.event h3{margin:4px 0 0}.event-date{font-size:11px;color:var(--muted)}.event-price{font-weight:900}.places{font-size:12px;font-weight:800;color:#27814b}.places.none{color:#b24444}.split{padding:0 0 58px}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.split article{background:var(--bg);padding:34px;border-radius:12px}.split p{color:var(--muted);line-height:1.55}.reviews{background:#f7f9fc}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-grid blockquote{margin:0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;line-height:1.5;color:#314257}.review-grid footer{margin-top:16px;color:#b48800;font-size:12px;font-weight:800}.cta{background:linear-gradient(90deg,#162636,#253c50);color:#fff}.cta-inner{display:flex;align-items:center;justify-content:space-between;padding:34px 0}.cta h2{margin:0 0 6px;font-size:24px}.cta p{margin:0;color:#cdd7e1}footer{background:#112131;color:#d6e0ea;padding:44px 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:38px}.footer-brand strong{color:#fff}.footer-brand span{color:#b8c6d5}.footer-grid b{color:#fff}.footer-grid p{font-size:12px;line-height:1.9;color:#b8c6d5}@media(max-width:1000px){.nav-links{display:none}.nav-links.open{display:flex;position:absolute;top:102px;left:20px;right:20px;flex-direction:column;background:white;padding:18px;box-shadow:var(--shadow)}.menu-toggle{display:block;margin-left:auto;border:0;background:none;font-size:22px}.nav-cta{display:none}.cards{grid-template-columns:repeat(3,1fr)}.center-grid{grid-template-columns:1fr 1fr}.stats{grid-column:1/-1;flex-direction:row}.hero h1{font-size:40px}}@media(max-width:720px){.topbar-inner{font-size:10px}.topbar-inner>div:last-child{display:none}.brand{min-width:auto}.brand strong{font-size:32px}.brand span{display:none}.hero{background:#f5f8fc}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:46px 0}.hero h1{font-size:37px}.hero-visual{min-height:250px;clip-path:none}.trust-grid{grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr 1fr}.center-grid,.split-grid,.review-grid,.footer-grid{grid-template-columns:1fr}.center-copy{padding-right:0}.event{grid-template-columns:1fr 1fr}.event .btn{grid-column:1/-1}.stats{grid-column:auto;flex-direction:column}.cta-inner{flex-direction:column;align-items:flex-start;gap:18px}}@media(max-width:470px){.cards{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.hero h1{font-size:32px}.hero-actions{flex-direction:column}.event{grid-template-columns:1fr}}
.event-price{min-width:145px}.price-main{font-weight:900;font-size:16px;color:var(--ink)}.price-sub{display:block;margin-top:3px;font-size:10px;color:var(--muted);font-weight:700}.price-options{margin-top:7px}.price-options summary{cursor:pointer;color:var(--blue2);font-size:11px;font-weight:850}.price-options ul{list-style:none;padding:8px 0 0;margin:0;display:grid;gap:5px}.price-options li{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#46566a}.price-options li b{white-space:nowrap;color:var(--ink)}.price-badge{font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:var(--blue2);background:#eef4ff;border-radius:999px;padding:3px 6px;margin-right:5px}.price-empty{font-size:11px;color:var(--muted);font-weight:700}
@media(max-width:720px){.event-price{min-width:0}.price-options{grid-column:1/-1}}
.narrow-wrap{width:min(860px,calc(100% - 32px));margin:0 auto}.registration-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f5f8fc;border:1px solid var(--line);border-radius:12px;padding:22px;margin:22px 0}.registration-summary h2{margin:5px 0 0}.registration-form{display:grid;gap:16px}.registration-form .panel{margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;font-weight:800;color:var(--ink)}.field input,.field select,.field textarea{width:100%;box-sizing:border-box;border:1px solid #cfd9e5;border-radius:8px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit}.option-grid{display:grid;gap:10px}.option-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;background:#fff}.option-card:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 2px rgba(41,104,232,.09)}.option-card.option-disabled{opacity:.48;cursor:not-allowed;background:#f4f6f8}.option-card.option-disabled input{cursor:not-allowed}.option-copy{display:flex;flex-direction:column;gap:3px}.option-copy small{color:var(--muted)}.single-option{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:10px;padding:15px}.single-option>div{display:flex;flex-direction:column;gap:3px}.single-option span{font-size:11px;color:var(--muted)}.reservation-note{display:flex;flex-direction:column;gap:4px;background:#eef5ff;border-left:3px solid var(--blue);padding:15px 17px;border-radius:7px}.reservation-note span{font-size:12px;color:var(--muted)}.btn-large{min-height:48px;padding-left:28px;padding-right:28px}.reservation-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:28px;box-shadow:var(--shadow)}.reservation-price{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px 0;margin:12px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reservation-price b{font-size:22px}.countdown{display:flex;align-items:center;justify-content:space-between;gap:20px;background:#f5f8fc;border-radius:10px;padding:14px 16px;margin:14px 0}.countdown strong{font-size:25px;color:var(--blue2)}
@media(max-width:720px){.registration-summary{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.single-option,.reservation-price,.countdown{align-items:flex-start;flex-direction:column}.option-card{grid-template-columns:auto 1fr}.option-card>strong{grid-column:2}}
.multi-help{margin-top:-4px}.selection-total{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:15px 16px;border-radius:10px;background:#f5f8fc;border:1px solid var(--line)}.selection-total strong{font-size:22px;color:var(--blue2)}.reservation-items{display:grid;gap:8px;margin:18px 0 0}.reservation-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-top:1px solid var(--line)}.reservation-item>div{display:flex;flex-direction:column;gap:2px}.reservation-item span{font-size:11px;color:var(--muted)}.admin-item-list{display:grid;gap:5px}.admin-item-list>div,.admin-total{display:flex;justify-content:space-between;gap:12px}.admin-total{margin-top:7px;padding-top:7px;border-top:1px solid var(--line)}
@media(max-width:720px){.selection-total,.reservation-item{align-items:flex-start;flex-direction:column}}
.participant-count-row{display:grid;grid-template-columns:180px 1fr;gap:20px;align-items:end}.participant-count-info{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:9px;background:#f5f8fc;border:1px solid var(--line)}.participant-count-info span{font-size:12px;color:var(--muted)}.participant-card{border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:12px;background:#fff}.participant-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.participant-card-head span{font-size:10px;font-weight:800;color:var(--blue2);background:#eef4ff;border-radius:999px;padding:5px 8px}.discount-hint{display:block!important;color:#2c6a45!important;font-weight:750;margin-top:4px}.group-price-summary{display:grid;gap:7px;margin-top:16px;padding:16px;border-radius:10px;background:#f5f8fc;border:1px solid var(--line)}.group-price-summary>div{display:flex;justify-content:space-between;gap:20px;align-items:center}.group-price-summary .discount-line{color:#287148}.group-price-summary .total-line{padding-top:10px;margin-top:2px;border-top:1px solid var(--line)}.group-price-summary .total-line>b{font-size:23px;color:var(--blue2)}.reservation-participants{margin:18px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.reservation-participants-head,.reservation-person{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:11px 14px}.reservation-participants-head{background:#f5f8fc}.reservation-person{border-top:1px solid var(--line)}.reservation-person span{font-size:11px;color:var(--muted)}.reservation-totals{display:grid;gap:7px;margin:12px 0 18px}.reservation-totals>div:not(.reservation-price){display:flex;justify-content:space-between;gap:20px;padding:0 0 5px}.reservation-totals .discount{color:#287148}.reservation-totals .reservation-price{margin:3px 0 0}
@media(max-width:720px){.participant-count-row{grid-template-columns:1fr}.reservation-participants-head,.reservation-person{align-items:flex-start;flex-direction:column;gap:4px}.group-price-summary>div{align-items:flex-start}.group-price-summary .total-line{flex-direction:column}}

.calendar-intro{max-width:720px;color:var(--muted);line-height:1.6;margin-bottom:24px}.calendar-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:26px 0 32px}.calendar-category-tile{min-width:0;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:14px;background:#fff;padding:20px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.calendar-category-tile:hover{border-color:#b9caea;box-shadow:0 10px 28px rgba(18,35,55,.08);transform:translateY(-2px)}.calendar-category-tile.is-active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,104,232,.09)}.calendar-category-mark{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:12px;background:#eef4ff;color:var(--blue2);font-size:11px;font-weight:950;letter-spacing:.06em;padding-right:4px}.calendar-category-content{min-width:0;display:flex;flex-direction:column;gap:4px}.calendar-category-content strong{font-size:18px}.calendar-category-content small{color:var(--muted);font-size:11px;line-height:1.35}.calendar-category-meta{margin-top:4px;color:var(--blue2);font-size:10px;font-weight:800}.calendar-category-arrow{color:var(--blue);font-size:22px;font-weight:800}.calendar-results-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:14px 0 18px}.calendar-results-head h2{margin:5px 0 0}.calendar-reset{font-size:12px;color:var(--blue2);font-weight:800;text-decoration:none}.calendar-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;padding:38px 24px;border:1px dashed #cfd9e5;border-radius:12px;background:#fafbfd;color:var(--muted)}.calendar-empty-state strong{color:var(--ink);font-size:17px}.calendar-category-grid-home{margin:0 0 20px}.calendar-category-grid-home .calendar-category-tile{padding:15px}.calendar-category-grid-home .calendar-category-mark{width:44px;height:44px}.calendar-category-grid-home .calendar-category-content strong{font-size:15px}.calendar-home-upcoming{margin:2px 0 12px;font-size:12px;color:var(--muted)}
@media(max-width:1000px){.calendar-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.calendar-category-grid{grid-template-columns:1fr}.calendar-category-tile{padding:16px}.calendar-results-head{align-items:flex-start;flex-direction:column}.calendar-category-grid-home{grid-template-columns:1fr 1fr}.calendar-category-grid-home .calendar-category-tile{grid-template-columns:auto 1fr}.calendar-category-grid-home .calendar-category-arrow{display:none}.calendar-category-grid-home .calendar-category-content small{display:none}}
@media(max-width:430px){.calendar-category-grid-home{grid-template-columns:1fr}}

/* Sprint 2.7 — graficzne, konfigurowalne kategorie kalendarza */
.calendar-category-grid.calendar-category-grid-visual{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:14px}
.calendar-category-card{min-width:0;display:flex;flex-direction:column;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.calendar-category-card:hover{border-color:#b8c9ea;box-shadow:0 12px 30px rgba(18,35,55,.10);transform:translateY(-2px)}
.calendar-category-card.is-active{border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,104,232,.10),0 12px 30px rgba(18,35,55,.08)}
.calendar-category-visual{position:relative;aspect-ratio:16/8.5;background:#dce7f4;overflow:hidden}
.calendar-category-photo{display:block;width:100%;height:100%;object-fit:cover}
.calendar-category-photo-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#cbd9e9,#eef4fb 58%,#b8cadc);color:#254b79;font-weight:950;letter-spacing:.08em;font-size:18px}
.calendar-category-photo-fallback:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 20%,rgba(255,255,255,.45) 100%)}
.calendar-category-icon{position:absolute;left:14px;bottom:-1px;transform:translateY(45%);z-index:2;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e9f1;box-shadow:0 5px 15px rgba(18,35,55,.12);color:var(--blue2);font-weight:950;font-size:10px;letter-spacing:.03em;overflow:hidden;text-align:center;padding:5px}
.calendar-category-icon img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.calendar-category-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:34px 16px 16px;min-height:176px}
.calendar-category-card-body h2,.calendar-category-card-body h3{font-size:18px;margin:0 0 7px;line-height:1.12}.calendar-category-grid-home .calendar-category-card-body h3{font-size:16px}
.calendar-category-card-body p{font-size:12px;line-height:1.45;color:var(--muted);margin:0 0 11px;min-height:35px}
.calendar-category-card-meta{font-size:10px;color:#718096;margin-top:auto;margin-bottom:8px}
.calendar-category-card-link{font-size:11px;color:var(--blue2);font-weight:850}
.calendar-category-grid-home.calendar-category-grid-visual{margin:0 0 22px}
.calendar-category-grid-home .calendar-category-visual{aspect-ratio:16/8}.calendar-category-grid-home .calendar-category-icon{bottom:18px!important;transform:none!important}.calendar-category-grid-home .calendar-category-card-body{padding:14px;min-height:154px}.calendar-category-grid-home .calendar-category-card-body p{font-size:11px}
.calendar-page .calendar-category-icon{bottom:18px!important;transform:none!important}
@media(max-width:1100px){.calendar-category-grid.calendar-category-grid-visual{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.calendar-category-grid.calendar-category-grid-visual{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:470px){.calendar-category-grid.calendar-category-grid-visual{grid-template-columns:1fr}.calendar-category-card-body{min-height:auto}.calendar-category-card-body p{min-height:0}}

/* Sprint 2.10 — podkategorie kalendarza */
.calendar-subcategory-section{margin:34px 0 20px;padding:26px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.calendar-subcategory-section .calendar-results-head{margin-top:0}.calendar-subcategory-grid{margin:16px 0 0!important}.calendar-subcategory-grid.calendar-category-grid-visual{grid-template-columns:repeat(4,minmax(0,1fr))}.calendar-subcategory-grid .calendar-category-card-body{min-height:150px}.footer-link{color:inherit;text-decoration:none}.footer-link:hover{color:#fff}@media(max-width:1100px){.calendar-subcategory-grid.calendar-category-grid-visual{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.calendar-subcategory-section{padding:18px}.calendar-subcategory-grid.calendar-category-grid-visual{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:470px){.calendar-subcategory-grid.calendar-category-grid-visual{grid-template-columns:1fr}}


/* Sprint 2.11 — terminy poszczególnych modułów */
.price-option-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.price-option-copy>span{display:block}
.module-schedule{display:block;margin-top:3px;font-size:10px;font-weight:750;line-height:1.3;color:#48627f}
.module-schedule.is-set{color:#245aa8}
.module-schedule.is-unset{color:#8a6b24}
.option-copy .module-schedule{margin-top:4px}
.single-option .module-schedule{margin-top:5px}


/* Sprint 2.12 — spójny nagłówek/stopka i czytelność podstron */
.btn-return{background:#eef4ff;color:var(--blue2);border-color:#b8cbed;box-shadow:0 4px 12px rgba(41,104,232,.08)}
.btn-return:hover{background:#e2ecff;border-color:#8eace4}
.subpage-actions{display:flex;align-items:center;gap:10px;margin:0 0 22px}
.calendar-page .event-date{font-size:14px;font-weight:850;color:#53647a;letter-spacing:.01em}
.calendar-reset.btn-return{font-size:13px;color:var(--blue2);text-decoration:none;padding:10px 15px;white-space:nowrap}
@media(max-width:1180px) and (min-width:1001px){.nav-links{gap:11px}.nav-links a{font-size:13px}.brand{min-width:190px}.nav{gap:14px}.nav-cta{padding-left:15px;padding-right:15px}}

/* Sprint 2.13 — CMS nagłówka/stopki i strony głównej */
.site-brand-logo{display:block;max-width:190px;max-height:52px;width:auto;height:auto;object-fit:contain}
.footer-brand .site-brand-logo{max-width:190px;max-height:64px}
.nav-links a{font-size:15px}
.btn-calendar-full,.btn-section-link{background:#eef4ff;color:var(--blue2)!important;border:1px solid #b9cbed;border-radius:8px;padding:11px 16px;font-weight:850;text-decoration:none;box-shadow:0 4px 12px rgba(41,104,232,.08)}
.btn-calendar-full:hover,.btn-section-link:hover{background:#e2ecff;border-color:#8eace4}
.home-card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.card-image>span{position:relative;z-index:1}.card-image{overflow:hidden;background-size:cover;background-position:center}
.home-custom-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:36px;align-items:center}.home-custom-subtitle{font-size:18px;color:var(--muted);line-height:1.6}.home-custom-body{color:#475a70;line-height:1.75;margin:14px 0 20px}.home-custom-image img{width:100%;max-height:420px;object-fit:cover;border-radius:14px}.home-custom-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}.home-custom-items .panel{margin:0}.footer-brand{text-decoration:none}
@media(max-width:1180px) and (min-width:1001px){.nav-links a{font-size:14px}}
@media(max-width:820px){.home-custom-grid{grid-template-columns:1fr}.home-custom-items{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.home-custom-items{grid-template-columns:1fr}.btn-calendar-full,.btn-section-link{width:100%;margin-top:10px}}

/* Sprint 2.13.2 — większa data na stronie zapisu */
.registration-summary .event-date{font-size:17px;font-weight:900;color:#425a78;letter-spacing:.015em}
@media(max-width:720px){.registration-summary .event-date{font-size:16px}}

/* Sprint 2.13.3 — notatki przy wariantach / modułach / pakietach */
.price-option-note{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:#66758a;font-weight:600;white-space:normal}
.price-options .price-option-note{max-width:360px}
.option-copy .option-note,.single-option .option-note{display:block;margin-top:5px;font-size:11px;line-height:1.4;color:#5d6d82;font-weight:600;white-space:normal}

/* Sprint 2.13.4 — automatyczne pakiety GWO */
.auto-package-notice{margin:10px 0 14px;padding:10px 12px;border:1px solid #b9d1fb;border-radius:9px;background:#eef5ff;color:#214d95;font-size:12px;font-weight:750}.auto-package-notice[hidden]{display:none}


/* Sprint 2.13.6 — zwijana lista pojedynczych modułów */
.option-grid-primary{margin-bottom:12px}
.module-picker{margin-top:12px;border:1px solid var(--line);border-radius:11px;background:#f8fafc;overflow:hidden}
.module-picker>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;background:#f5f8fc;color:var(--ink);user-select:none}
.module-picker>summary::-webkit-details-marker{display:none}
.module-picker>summary>span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.module-picker>summary b{font-size:13px}
.module-picker>summary small{font-size:11px;color:var(--muted);font-weight:600}
.module-picker>summary:after{content:'+';width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #cfd9e5;color:var(--blue2);font-size:18px;font-weight:700;flex:0 0 auto}
.module-picker[open]>summary:after{content:'−'}
.module-picker-count{margin-left:auto;font-size:11px;font-weight:800;color:var(--blue2);white-space:nowrap}
.module-picker-body{padding:12px;background:#fff;border-top:1px solid var(--line)}
@media(max-width:720px){.module-picker>summary{align-items:flex-start}.module-picker-count{margin-left:0}.module-picker>summary{flex-wrap:wrap}.module-picker>summary:after{margin-left:auto}}

/* Sprint 2.14 — dane uczestników GWO i akceptacje */
.registration-form .field.full-public{grid-column:1/-1}
.winda-info{display:flex;flex-direction:column;gap:5px;margin:12px 0 6px;padding:14px 16px;border:1px solid #b9d1fb;border-radius:10px;background:#eef5ff;color:#274b7d;font-size:12px;line-height:1.5}
.winda-info a,.field-help a,.legal-consent a{color:var(--blue2);font-weight:850;text-decoration:underline;text-underline-offset:2px}
.field-help{font-size:11px;line-height:1.45;color:var(--muted)}
.legal-panel{border-color:#cfdae8!important;background:#fbfcfe}
.legal-consent{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:flex-start;cursor:pointer;font-size:13px;line-height:1.55;color:#33475f}
.legal-consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}
.legal-config-note{margin:12px 0 0;padding:10px 12px;border-radius:8px;background:#fff7e5;color:#795b19;font-size:11px;line-height:1.45}
@media(max-width:720px){.registration-form .form-grid{grid-template-columns:1fr}.registration-form .field.full-public{grid-column:auto}.legal-consent{font-size:12px}}

/* Sprint 2.14.3 — pola kwalifikacji uczestnika */
.binary-choice{display:flex;gap:18px;align-items:center;min-height:46px;padding:10px 12px;border:1px solid var(--line,#d9e0e7);border-radius:10px;background:#fff}
.binary-choice label{display:inline-flex;align-items:center;gap:7px;font-weight:600;cursor:pointer;margin:0}
.binary-choice input[type="radio"]{width:18px;height:18px;margin:0}

/* Sprint 2.14.7 — automatyczne przewinięcie do wyników kalendarza */
.calendar-scroll-target{scroll-margin-top:96px}
@media(max-width:720px){.calendar-scroll-target{scroll-margin-top:88px}}


/* Sprint 2.14.13 - hero z obrazem wtopionym w layout */
.hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#f8faff 0%,#f3f7fc 56%,#edf3f9 100%);
}
.hero-bg{
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 82% 14%,rgba(41,104,232,.13),transparent 25%),
        radial-gradient(circle at 68% 88%,rgba(20,48,76,.06),transparent 30%);
}
.hero-grid{
    position:relative;
    min-height:455px;
    display:grid;
    grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);
    align-items:center;
    column-gap:0;
}
.hero-copy{
    position:relative;
    z-index:3;
    padding:66px 0;
}
.hero-visual{
    position:relative;
    align-self:stretch;
    min-height:455px;
    margin-left:-54px;
    display:block;
    overflow:visible;
    background:none;
    clip-path:none;
}
.hero-photo{
    position:absolute;
    inset:20px -54px 20px 0;
    overflow:hidden;
    border-radius:0 24px 24px 0;
    background:
        linear-gradient(145deg,rgba(29,55,81,.08),rgba(16,39,59,.34)),
        radial-gradient(circle at 44% 38%,#b9c9d8 0 16%,#6c8296 42%,#263b4e 100%);
    background-size:cover;
    background-repeat:no-repeat;
    background-position:center;
    box-shadow:0 20px 48px rgba(18,35,55,.12);
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 7%,#000 24%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.20) 7%,#000 24%,#000 100%);
}
.hero-media-image{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-photo:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(180deg,rgba(11,29,45,.00) 48%,rgba(11,29,45,.17) 100%),
        linear-gradient(90deg,rgba(245,248,252,.08),transparent 34%);
}
.visual-card{
    position:absolute;
    z-index:2;
    right:-26px;
    bottom:38px;
    margin:0;
    max-width:275px;
    padding:18px 20px;
    border-left:3px solid var(--blue);
    border-radius:10px;
    background:rgba(15,32,48,.82);
    color:#fff;
    box-shadow:0 14px 34px rgba(9,24,37,.18);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
}
.visual-card span{
    display:block;
    margin-bottom:7px;
    color:#dce7f2;
    font-size:10px;
    letter-spacing:2px;
}
.visual-card strong{font-size:18px;line-height:1.35}

@media(max-width:1000px) and (min-width:721px){
    .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}
    .hero-visual{margin-left:-38px;min-height:430px}
    .hero-photo{inset:28px -24px 28px 0}
    .visual-card{right:-6px;bottom:42px}
    .hero h1{font-size:39px}
}

@media(max-width:720px){
    .hero{background:linear-gradient(180deg,#f8faff 0%,#eef4fa 100%)}
    .hero-bg{background:radial-gradient(circle at 86% 8%,rgba(41,104,232,.10),transparent 28%)}
    .hero-grid{grid-template-columns:1fr;min-height:0}
    .hero-copy{padding:46px 0 34px}
    .hero-visual{
        width:100%;
        min-height:0;
        aspect-ratio:16/10;
        margin:0 0 30px;
        overflow:hidden;
        border-radius:16px;
        box-shadow:0 14px 34px rgba(18,35,55,.11);
    }
    .hero-photo{
        inset:0;
        border-radius:16px;
        box-shadow:none;
        -webkit-mask-image:none;
        mask-image:none;
    }
    .hero-photo:after{background:linear-gradient(180deg,transparent 46%,rgba(10,27,42,.28) 100%)}
    .visual-card{
        right:12px;
        bottom:12px;
        max-width:min(280px,calc(100% - 24px));
        padding:14px 16px;
    }
    .visual-card strong{font-size:16px}
}

/* Sprint 2.14.14 - wideo jako medium modulow strony glownej */
.hero-media-video,.section-media-video,.home-card-video{display:block;width:100%;height:100%;object-fit:cover}
.hero-media-video{position:absolute;inset:0;z-index:0}
.hero-photo:after{z-index:1}
.center-photo{position:relative;overflow:hidden}
.center-photo .section-media-video{position:absolute;inset:0;z-index:0}
.center-photo:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(30,48,63,.18),rgba(24,43,58,.70));pointer-events:none}
.center-photo>div{position:relative;z-index:2}
.home-custom-image{overflow:hidden;border-radius:14px;background:#e8eef5}
.home-custom-image img,.home-custom-image video{display:block;width:100%;height:100%;max-height:420px;min-height:260px;object-fit:cover;border-radius:14px}
.home-card-video{position:absolute;inset:0;z-index:0}

/* Sprint 2.14.15 - responsywne skalowanie wideo do rozmiaru modulu / ekranu */
.hero-visual,.hero-photo,.center-photo,.home-custom-image,.card-image{min-width:0}
.hero-media-video,.section-media-video,.home-card-video{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:cover;
    object-position:center;
}
.hero-media-video,
.center-photo .section-media-video,
.home-card-video{
    position:absolute;
    inset:0;
}
.home-custom-image{
    position:relative;
    width:100%;
    max-width:100%;
    aspect-ratio:8 / 5;
    max-height:420px;
    overflow:hidden;
}
.home-custom-image img,
.home-custom-image video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    max-width:none;
    max-height:none;
    object-fit:cover;
}
@media(max-width:720px){
    .home-custom-image{
        width:100%;
        aspect-ratio:16 / 10;
        max-height:none;
    }
    .hero-media-video,.section-media-video,.home-card-video{
        max-width:100%;
    }
}

/* Sprint 2.14.16 - przebudowa sekcji Centrum: wideo/obraz dopasowane do layoutu */
.center-section{
    overflow:hidden;
    background:linear-gradient(180deg,#f3f7fb 0%,#eef4f9 100%);
}
.center-grid{
    width:min(1180px,calc(100% - 40px));
    max-width:1180px;
    margin:0 auto;
    padding:56px 0;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(260px,.72fr) minmax(0,1.55fr);
    grid-template-rows:auto auto;
    gap:18px 28px;
    align-items:stretch;
}
.center-copy{
    grid-column:1;
    grid-row:1 / 3;
    min-width:0;
    padding:28px 24px 28px 0;
    align-self:center;
}
.center-copy h2{max-width:330px}
.center-copy p{max-width:330px}
.center-photo{
    grid-column:2;
    grid-row:1;
    position:relative;
    width:100%;
    max-width:100%;
    min-width:0;
    min-height:0;
    aspect-ratio:16 / 9;
    padding:0;
    overflow:hidden;
    border-radius:18px;
    background:#182b3a;
    box-shadow:0 18px 42px rgba(18,35,55,.13);
    isolation:isolate;
}
.center-photo .section-media-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:cover;
    object-position:center;
}
.center-photo:after{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg,transparent 52%,rgba(12,30,45,.42) 100%);
    pointer-events:none;
}
.center-photo>div{
    position:absolute;
    z-index:2;
    left:24px;
    bottom:20px;
    margin:0;
    max-width:70%;
    padding:10px 13px;
    border-left:3px solid var(--blue);
    border-radius:7px;
    background:rgba(14,31,47,.68);
    color:#fff;
    letter-spacing:2px;
    line-height:1.55;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.stats{
    grid-column:2;
    grid-row:2;
    min-width:0;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
    padding:0;
    overflow:hidden;
    border:1px solid #dbe4ed;
    border-radius:13px;
    background:rgba(255,255,255,.84);
    color:var(--ink);
    box-shadow:0 8px 24px rgba(18,35,55,.05);
}
.stats div{
    min-width:0;
    padding:16px 18px;
    border-right:1px solid #e2e9f0;
}
.stats div:last-child{border-right:0}
.stats strong{font-size:21px;color:var(--ink)}
.stats span{font-size:10px;color:var(--muted);line-height:1.45}

@media(max-width:1000px){
    .center-grid{
        grid-template-columns:minmax(230px,.75fr) minmax(0,1.35fr);
        gap:16px 22px;
        padding:44px 0;
    }
    .center-copy{grid-column:1;grid-row:1 / 3;padding:20px 14px 20px 0}
    .center-photo{grid-column:2;grid-row:1;aspect-ratio:16 / 10}
    .stats{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
    .stats div{padding:14px}
    .stats strong{font-size:18px}
}

@media(max-width:720px){
    .center-grid{
        width:min(100% - 28px,1180px);
        grid-template-columns:1fr;
        grid-template-rows:auto;
        gap:18px;
        padding:38px 0;
    }
    .center-copy{
        grid-column:1;
        grid-row:auto;
        padding:0;
    }
    .center-copy h2,.center-copy p{max-width:none}
    .center-photo{
        grid-column:1;
        grid-row:auto;
        aspect-ratio:16 / 10;
        border-radius:14px;
    }
    .center-photo>div{
        left:14px;
        right:14px;
        bottom:14px;
        max-width:none;
        font-size:9px;
    }
    .stats{
        grid-column:1;
        grid-row:auto;
        grid-template-columns:1fr;
    }
    .stats div{
        padding:14px 16px;
        border-right:0;
        border-bottom:1px solid #e2e9f0;
    }
    .stats div:last-child{border-bottom:0}
}


/* Sprint 2.14.18 - sformatowana tresc modulow strony glownej */
.rich-text{line-height:1.68;min-width:0}
.rich-text p{margin:0 0 .8em}.rich-text p:last-child{margin-bottom:0}
.rich-text h2,.rich-text h3,.rich-text h4{color:inherit;line-height:1.18;letter-spacing:-.02em;margin:1em 0 .45em}
.rich-text h2{font-size:1.7em}.rich-text h3{font-size:1.35em}.rich-text h4{font-size:1.12em}
.rich-text ul,.rich-text ol{margin:.7em 0 .9em;padding-left:1.45em}.rich-text li{margin:.22em 0}
.rich-text blockquote{margin:.9em 0;padding:.7em 1em;border-left:3px solid var(--blue);background:rgba(41,104,232,.06)}
.rich-text a{color:var(--blue);font-weight:750;text-decoration:underline;text-underline-offset:2px}
.rich-text hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}
.rich-text-compact{font-size:11px;color:var(--muted);line-height:1.48;margin:0 0 10px;min-height:48px}
.card-body .rich-text h2,.card-body .rich-text h3,.card-body .rich-text h4{font-size:1.05em;margin:.65em 0 .3em}
.trust .rich-text,.swat-center-v2-stats .rich-text{font-size:11px}
.microcopy.rich-text p{margin:0}.microcopy.rich-text ul,.microcopy.rich-text ol{margin:.4em 0;padding-left:1.2em}
.cta .rich-text{color:#cdd7e1}.cta .rich-text a{color:#fff}
.home-custom-body.rich-text{color:#475a70}

.trust .rich-text-compact,.swat-center-v2-stats .rich-text-compact{min-height:0;margin:3px 0 0;color:var(--muted)}

/* Sprint 2.14.19 - rozszerzone formatowanie treści CMS */
.rich-text{overflow-wrap:anywhere}
.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6{color:inherit;line-height:1.18;letter-spacing:-.02em;margin:1em 0 .45em}
.rich-text h1{font-size:2.15em}.rich-text h2{font-size:1.7em}.rich-text h3{font-size:1.35em}.rich-text h4{font-size:1.12em}.rich-text h5{font-size:1em;text-transform:uppercase;letter-spacing:.03em}.rich-text h6{font-size:.88em;text-transform:uppercase;letter-spacing:.05em}
.rich-text sub,.rich-text sup{font-size:.72em}
.rich-text pre{margin:1em 0;padding:15px 17px;border-radius:10px;background:#132536;color:#e7eef5;overflow:auto;white-space:pre-wrap}
.rich-text code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.rich-text .rich-columns{display:grid;gap:26px;margin:1.25em 0;align-items:start}
.rich-text .rich-columns.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.rich-text .rich-columns.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rich-text .rich-column{min-width:0}.rich-text .rich-column> :first-child{margin-top:0}.rich-text .rich-column> :last-child{margin-bottom:0}
.rich-text .rich-media{display:block;clear:both;margin:1.35em auto;max-width:100%}
.rich-text .rich-media.size-50{width:50%}.rich-text .rich-media.size-75{width:75%}.rich-text .rich-media.size-100{width:100%}
.rich-text .rich-media.align-left{margin-left:0;margin-right:auto}.rich-text .rich-media.align-center{margin-left:auto;margin-right:auto}.rich-text .rich-media.align-right{margin-left:auto;margin-right:0}
.rich-text .rich-content-image{display:block;width:100%;height:auto;max-width:100%;border-radius:12px;box-shadow:0 10px 30px rgba(18,35,55,.08)}
.rich-text figcaption{margin-top:7px;text-align:center;color:var(--muted);font-size:.82em;line-height:1.45}
.rich-text .rich-table{width:100%;border-collapse:collapse;margin:1.25em 0;font-size:.94em}
.rich-text .rich-table th,.rich-text .rich-table td{padding:10px 12px;border:1px solid var(--line);vertical-align:top;text-align:left}
.rich-text .rich-table th{background:#eef3f8;font-weight:800;color:var(--ink)}
.article-rich-text{font-size:17px;line-height:1.8}.article-rich-text>p:first-child{margin-top:0}
.card-body .rich-text h1,.card-body .rich-text h2,.card-body .rich-text h3,.card-body .rich-text h4,.card-body .rich-text h5,.card-body .rich-text h6{font-size:1.05em;margin:.65em 0 .3em}
@media(max-width:760px){
  .rich-text .rich-columns.cols-2,.rich-text .rich-columns.cols-3{grid-template-columns:1fr;gap:14px}
  .rich-text .rich-media.size-50,.rich-text .rich-media.size-75{width:100%}
  .rich-text .rich-table{display:block;overflow-x:auto;white-space:nowrap}
}
.rich-text img{max-width:100%;height:auto}


/* Sprint 2.14.24 - niezawodne layouty treści artykułów */
.article-page-wrap{max-width:1040px}
.article-rich-text{font-size:17px;line-height:1.8;min-width:0}
.article-rich-text .rich-columns{display:grid!important;width:100%!important;max-width:100%!important;gap:28px!important;align-items:start!important;margin:1.6em 0!important;clear:both}
.article-rich-text .rich-columns.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.article-rich-text .rich-columns.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.article-rich-text .rich-column{display:block!important;min-width:0!important;max-width:100%;overflow-wrap:anywhere}
.article-rich-text .rich-column> :first-child{margin-top:0}
.article-rich-text .rich-column> :last-child{margin-bottom:0}
@media(max-width:900px){
  .article-rich-text .rich-columns.cols-3{grid-template-columns:1fr!important;gap:16px!important}
}
@media(max-width:680px){
  .article-page-wrap{width:min(100% - 28px,1040px)}
  .article-rich-text .rich-columns.cols-2{grid-template-columns:1fr!important;gap:16px!important}
}


/* Sprint 2.14.26.3 - edytowalna informacja pod stopka */
.footer-extra{background:#0c1824;color:#c8d4df;border-top:1px solid rgba(255,255,255,.08);padding:22px 0 24px}
.footer-extra-content{font-size:12px;line-height:1.65;text-align:center}
.footer-extra-content p{margin:.35em 0}
.footer-extra-content h1,.footer-extra-content h2,.footer-extra-content h3,.footer-extra-content h4,.footer-extra-content h5,.footer-extra-content h6{color:#fff;margin:.55em 0 .35em}
.footer-extra-content a{color:#dbe8ff}
.footer-extra-content .rich-media{max-width:760px}
.footer-extra-content .rich-content-image{box-shadow:none;border-radius:8px}
.footer-extra-content .rich-table th{background:rgba(255,255,255,.08);color:#fff}
.footer-extra-content .rich-table th,.footer-extra-content .rich-table td{border-color:rgba(255,255,255,.15)}
@media(max-width:720px){.footer-extra{padding:18px 0 20px}.footer-extra-content{text-align:left;font-size:11px}}

/* Sprint 2.15 - galeria zdjęć i wideo */
.gallery-hero{padding:58px 0 30px;background:linear-gradient(180deg,#f5f8fb 0%,#fff 100%)}.gallery-hero h1{margin:8px 0 12px;font-size:clamp(36px,5vw,62px);letter-spacing:-.045em;line-height:1.02}.gallery-intro{max-width:760px;color:var(--muted);font-size:16px}.gallery-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}.gallery-filters button{appearance:none;border:1px solid #d5e0ea;border-radius:999px;background:#fff;color:#536a81;padding:9px 14px;font:750 12px/1 system-ui;cursor:pointer}.gallery-filters button:hover,.gallery-filters button.is-active{background:#17324c;border-color:#17324c;color:#fff}.training-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.training-gallery-card{min-width:0;overflow:hidden;border-radius:16px;background:#fff;border:1px solid #e0e7ee;box-shadow:0 10px 28px rgba(17,40,65,.055);cursor:pointer;transition:transform .18s,box-shadow .18s}.training-gallery-card:hover,.training-gallery-card:focus-visible{transform:translateY(-3px);box-shadow:0 18px 38px rgba(17,40,65,.12);outline:none}.training-gallery-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#122334}.training-gallery-media img,.training-gallery-media video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.training-gallery-card:hover .training-gallery-media img,.training-gallery-card:hover .training-gallery-media video{transform:scale(1.025)}.training-gallery-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:rgba(12,31,48,.78);color:#fff;font-size:18px;padding-left:3px;box-shadow:0 8px 24px rgba(0,0,0,.22);backdrop-filter:blur(5px)}.training-gallery-caption{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;padding:14px 15px 15px}.training-gallery-category{display:block;margin:0 0 5px;color:var(--blue);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.training-gallery-caption h3{margin:0;font-size:14px;line-height:1.25}.training-gallery-caption time{flex:0 0 auto;color:var(--muted);font-size:10px}.gallery-public-empty{text-align:center;padding:48px 24px}.gallery-lightbox[hidden]{display:none!important}.gallery-lightbox{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:28px 72px;background:rgba(6,16,26,.94);backdrop-filter:blur(8px)}.gallery-lightbox-dialog{width:min(1180px,100%);max-height:calc(100vh - 56px);display:flex;flex-direction:column;align-items:center}.gallery-lightbox-stage{display:grid;place-items:center;width:100%;min-height:0;flex:1}.gallery-lightbox-stage img,.gallery-lightbox-stage video{display:block;max-width:100%;max-height:calc(100vh - 180px);width:auto;height:auto;border-radius:12px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.gallery-lightbox-stage video{width:min(1100px,100%)}.gallery-lightbox-copy{width:min(900px,100%);padding:15px 4px 0;color:#fff;text-align:center}.gallery-lightbox-copy h2{margin:0 0 5px;font-size:18px}.gallery-lightbox-copy p{margin:0;color:#bdc9d4;font-size:12px;line-height:1.55}.gallery-lightbox-close,.gallery-lightbox-nav{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;backdrop-filter:blur(5px)}.gallery-lightbox-close{right:20px;top:18px;width:42px;height:42px;border-radius:50%;font-size:28px;line-height:1}.gallery-lightbox-nav{top:50%;transform:translateY(-50%);width:44px;height:70px;border-radius:12px;font-size:42px;font-weight:300}.gallery-lightbox-nav.prev{left:16px}.gallery-lightbox-nav.next{right:16px}.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:rgba(255,255,255,.2)}.gallery-modal-open{overflow:hidden}
.home-gallery-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.home-gallery-preview .training-gallery-card{border-radius:14px}.home-gallery-preview .training-gallery-media{aspect-ratio:16/11}
@media(max-width:920px){.training-gallery,.home-gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.gallery-hero{padding:38px 0 20px}.training-gallery,.home-gallery-preview{grid-template-columns:1fr}.gallery-lightbox{padding:58px 14px 18px}.gallery-lightbox-nav{top:auto;bottom:14px;width:54px;height:42px;font-size:30px}.gallery-lightbox-nav.prev{left:14px}.gallery-lightbox-nav.next{right:14px}.gallery-lightbox-close{right:12px;top:10px}.gallery-lightbox-stage img,.gallery-lightbox-stage video{max-height:calc(100vh - 210px)}.gallery-lightbox-copy{padding-bottom:52px}.training-gallery-caption{align-items:flex-start}}
.home-gallery-preview a.training-gallery-card{color:inherit;text-decoration:none}
.home-gallery-intro{max-width:720px;margin-top:8px;color:var(--muted)}

/* Sprint 2.16 - Stripe Checkout */
.stripe-pay-form{margin:18px 0 8px}.stripe-pay-form .btn{width:100%;justify-content:center}.reservation-card .btn-large{min-height:50px;font-size:16px}

/* Sprint 2.17.2 - Google Maps only */
.footer-map-block{margin-top:34px;padding-top:30px;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);gap:26px;align-items:stretch}.footer-map-copy{padding:18px 0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.footer-map-eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:900;color:#7fa8ff;margin-bottom:8px}.footer-map-copy h3{margin:0 0 8px;color:#fff;font-size:22px}.footer-map-copy p{margin:0 0 16px;color:#b8c6d5;font-size:13px}.footer-map-copy a{color:#fff;text-decoration:none;font-size:12px;font-weight:800;border-bottom:1px solid rgba(255,255,255,.32);padding-bottom:3px}.footer-map-frame{min-width:0;aspect-ratio:16/5;overflow:hidden;border-radius:14px;background:#0c1925;box-shadow:0 18px 38px rgba(0,0,0,.2)}.footer-map-frame iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:1000px){.footer-map-block{grid-template-columns:.72fr 1.28fr}.footer-map-frame{aspect-ratio:16/7}}
@media(max-width:720px){.footer-map-block{grid-template-columns:1fr;gap:10px}.footer-map-copy{padding:4px 0 8px}.footer-map-frame{aspect-ratio:16/10}}

.option-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:16px 0 8px}.option-section-heading b{font-size:14px;color:var(--ink)}.option-section-heading small{font-size:11px;color:var(--muted);font-weight:600}.option-grid-packages{margin-top:0}
@media(max-width:720px){.option-section-heading{align-items:flex-start;flex-direction:column;gap:2px}}
/* Sprint 2.17.3.1 — czytelniejsze rozdzielenie modułów i pakietów */
.option-section-heading{justify-content:flex-start;align-items:baseline;column-gap:10px;row-gap:4px}
.option-section-heading small{display:inline-block;margin-left:0}
.option-section-heading-modules{margin:12px 0 8px;padding:10px 12px;border-left:4px solid var(--blue2);border-radius:8px;background:#eef5ff}
.option-section-heading-modules b{font-size:15px;color:var(--blue2)}
.option-section-heading-modules small{font-size:12px;color:#425a78}
@media(max-width:720px){.option-section-heading{align-items:flex-start;flex-direction:column;gap:3px}.option-section-heading small{margin-left:0}}

/* Sprint 2.17.3.3 — dokument sprzedaży: paragon / faktura na firmę */
.billing-panel{border-color:#d7e1ee!important}
.sales-document-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.sales-document-option{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:flex-start;padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
.sales-document-option:has(input:checked){border-color:var(--blue);background:#f7faff;box-shadow:0 0 0 2px rgba(41,104,232,.08)}
.sales-document-option input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--blue)}
.sales-document-option span{display:flex;flex-direction:column;gap:3px}
.sales-document-option b{font-size:13px;color:var(--ink)}
.sales-document-option small{font-size:11px;line-height:1.4;color:var(--muted)}
.invoice-fields{margin-top:14px;padding:16px;border:1px solid #cfe0f8;border-radius:11px;background:#f8fbff}
.invoice-fields[hidden]{display:none!important}
.invoice-fields-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:12px}
.invoice-fields-head b{font-size:14px;color:var(--blue2)}
.invoice-fields-head span{font-size:11px;color:var(--muted)}
@media(max-width:720px){.sales-document-choice{grid-template-columns:1fr}.invoice-fields-head{align-items:flex-start;flex-direction:column;gap:3px}}
.reservation-document{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;align-items:baseline;margin:12px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}.reservation-document>span{font-size:11px;color:var(--muted)}.reservation-document>b{justify-self:end}.reservation-document>small{grid-column:1/-1;color:var(--muted);font-size:11px;line-height:1.4}@media(max-width:720px){.reservation-document{grid-template-columns:1fr}.reservation-document>b{justify-self:start}.reservation-document>small{grid-column:auto}}

/* Sprint 2.17.3.4 — czytelne oddzielenie nagłówków i opisów w formularzu zapisu */
.option-section-heading,
.option-section-heading.option-section-heading-modules,
.option-section-heading.option-section-heading-packages{
  display:block;
  align-items:initial;
  justify-content:initial;
  gap:0;
}
.option-section-heading b,
.option-section-heading .option-section-help{
  display:block;
}
.option-section-heading b{
  margin:0;
  font-size:16px;
  line-height:1.2;
}
.option-section-heading .option-section-help{
  margin-top:6px;
  font-size:12px;
  line-height:1.45;
  font-weight:600;
  color:var(--muted);
}
.option-section-heading-modules{
  margin:14px 0 10px;
  padding:12px 14px;
}
.option-section-heading-modules .option-section-help{
  color:#425a78;
}
.option-section-heading-packages{
  margin:22px 0 10px;
  padding:12px 14px;
  border-left:4px solid #6d7e91;
  border-radius:8px;
  background:#f6f8fa;
}
.option-section-heading-packages b{
  color:var(--ink);
}

.sales-document-option{
  min-height:82px;
  align-items:flex-start;
  padding:16px;
}
.sales-document-option .sales-document-copy{
  display:block;
  min-width:0;
}
.sales-document-option .sales-document-copy b{
  display:block;
  margin:0;
  font-size:15px;
  line-height:1.25;
}
.sales-document-option .sales-document-help{
  display:block;
  margin-top:7px;
  font-size:12px;
  line-height:1.45;
  font-weight:500;
  color:var(--muted);
}
.sales-document-option input{
  margin-top:1px;
}
@media(max-width:720px){
  .option-section-heading,
  .option-section-heading.option-section-heading-modules,
  .option-section-heading.option-section-heading-packages{
    display:block;
  }
  .option-section-heading .option-section-help{
    margin-top:5px;
  }
  .sales-document-option{
    min-height:0;
  }
}


/* Sprint 2.17.3.5 — separacja tekstu niezależna od cache/starego CSS */
.option-section-title{display:block!important}
.option-section-heading .option-section-title + .option-section-help{display:block!important;margin-top:6px!important}
.sales-document-copy{display:flex!important;flex-direction:column!important;gap:6px!important}
.sales-document-title,.sales-document-help{display:block!important}
.sales-document-title{line-height:1.2}
.sales-document-help{margin-top:0!important}

/* Sprint 2.17.3.7 — dostępność miejsc dla pojedynczych modułów */
.module-seats{display:block;margin-top:3px;font-size:10px;font-weight:800;line-height:1.3;color:#315f45}
.module-seats.none{color:#a13c32}
.option-copy .module-seats{margin-top:2px}
.single-option .module-seats{margin-top:2px}
.single-option.option-disabled{opacity:.55;background:#f4f6f8;border-color:#d8dee6}

/* Sprint 2.17.3.12 - GTranslate fixed graphic widget */
body > .swat-gtranslate-widget{position:fixed!important;right:22px!important;bottom:22px!important;left:auto!important;top:auto!important;z-index:25000!important;width:190px;height:58px;display:block!important;border:1px solid rgba(24,76,183,.18);border-radius:17px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,245,255,.98));box-shadow:0 16px 42px rgba(18,35,55,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow:hidden;isolation:isolate}
.swat-gtranslate-face{position:absolute;inset:0;display:grid;grid-template-columns:40px 1fr 20px;align-items:center;gap:9px;padding:8px 12px;pointer-events:none}
.swat-gtranslate-globe{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-size:28px;line-height:1;font-weight:300;box-shadow:0 7px 18px rgba(41,104,232,.28)}
.swat-gtranslate-copy{min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.swat-gtranslate-copy strong{font-size:10px;line-height:1.15;letter-spacing:.08em;text-transform:uppercase;color:#718198}.swat-gtranslate-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;font-weight:850;color:var(--ink)}
.swat-gtranslate-chevron{color:var(--blue2);font-size:17px;font-weight:900;transform:translateY(2px)}
.swat-gtranslate-native,.swat-gtranslate-native .gtranslate_wrapper{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block!important}
.swat-gtranslate-widget .gtranslate_wrapper{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:0!important}
.swat-gtranslate-widget select{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;cursor:pointer!important;z-index:5!important}
.swat-gtranslate-widget:hover{border-color:rgba(41,104,232,.38);box-shadow:0 18px 48px rgba(18,35,55,.27);transform:translateY(-1px)}
.swat-gtranslate-widget:focus-within{outline:3px solid rgba(41,104,232,.18);outline-offset:2px}
@media(max-width:720px){body > .swat-gtranslate-widget{right:12px!important;bottom:12px!important;width:168px;height:54px;border-radius:15px}.swat-gtranslate-face{grid-template-columns:36px 1fr 18px;gap:8px;padding:7px 10px}.swat-gtranslate-globe{width:36px;height:36px;font-size:25px}.swat-gtranslate-copy span{font-size:13px}.swat-gtranslate-copy strong{font-size:9px}}

/* Google Business Profile reviews */
.google-reviews-head{align-items:flex-start}.google-reviews-intro{max-width:720px;color:var(--muted);font-size:14px;line-height:1.55;margin-top:7px}.google-reviews-intro p{margin:0}.google-rating-summary{min-width:170px;display:flex;flex-direction:column;align-items:flex-end;gap:3px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff}.google-rating-summary strong{font-size:28px;line-height:1}.google-rating-summary small{font-size:11px;color:var(--muted)}.google-review-stars{color:#f4b400;letter-spacing:1.5px;font-size:15px;white-space:nowrap}.google-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.google-review-card{display:flex;flex-direction:column;min-height:230px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 20px rgba(20,36,58,.05)}.google-review-card-top{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;margin-bottom:13px}.google-review-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e9f0ff;color:#225ac4;font-weight:900;font-size:16px}.google-review-card-top>div:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.google-review-card-top b{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.google-review-card-top small{font-size:10px;color:var(--muted)}.google-g-mark{font-weight:900;font-size:18px;color:#4285f4}.google-review-card p{margin:12px 0 0;color:#40536a;font-size:13px;line-height:1.62;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}.google-reviews-actions{display:flex;justify-content:center;margin-top:22px}@media(max-width:900px){.google-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.google-reviews-head{gap:16px;align-items:stretch}.google-rating-summary{align-items:flex-start;width:max-content}.google-review-grid{grid-template-columns:1fr}.google-review-card{min-height:0}}

/* Sprint 2.18 - finansowanie */
.financing-hero{padding:62px 0;background:linear-gradient(135deg,#f7f9fd 0%,#eef4fb 62%,#e7eef7 100%);border-bottom:1px solid var(--line)}
.financing-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:44px;align-items:center}.financing-hero h1{font-size:46px;line-height:1.05;letter-spacing:-1.3px;margin:12px 0 18px;max-width:720px}.financing-hero p{max-width:760px;color:var(--muted);font-size:17px;line-height:1.65;margin:0 0 26px}.financing-hero-card{display:grid;gap:11px;padding:28px;border-radius:16px;background:#16293b;color:#fff;box-shadow:0 20px 46px rgba(18,40,62,.16)}.financing-hero-card>span{font-size:10px;letter-spacing:2px;font-weight:900;color:#8fb6ff}.financing-hero-card>b{font-size:16px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12)}.financing-hero-card small{color:#c4d0db;line-height:1.5;margin-top:5px}.financing-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.financing-article-card{display:block;padding:22px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(18,35,55,.05)}.financing-article-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#eaf2ff;color:var(--blue2);font-size:21px;font-weight:950}.financing-article-card h3{margin:1px 0 8px;font-size:18px}.financing-article-card p{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 13px}.financing-article-card a{color:var(--blue2);font-size:12px;font-weight:850;text-decoration:none}.financing-empty{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;padding:28px;border:1px dashed #c8d6e5;border-radius:13px;background:#fafcfe;color:#728296}.financing-empty b{color:var(--ink)}.financing-form-section{background:#f3f6fa}.financing-form-layout{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:38px;align-items:start}.financing-form-intro{position:sticky;top:110px}.financing-form-intro h2{font-size:34px;line-height:1.12;margin:8px 0 14px}.financing-form-intro p{color:var(--muted);line-height:1.65}.financing-data-note{display:flex;flex-direction:column;gap:5px;margin-top:22px;padding:16px;border-left:3px solid var(--blue);background:#fff;border-radius:0 10px 10px 0}.financing-data-note span{font-size:12px;color:var(--muted);line-height:1.5}.financing-form-card{padding:28px;border:1px solid #dfe6ee;border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(18,35,55,.06)}.financing-questionnaire .form-grid{margin-bottom:18px}.financing-questionnaire .field.full{grid-column:1/-1}.financing-consent{display:flex;align-items:flex-start;gap:10px;padding:15px;border:1px solid #e1e7ee;border-radius:10px;background:#fafbfd;font-size:12px;line-height:1.55;color:#55687b}.financing-consent input{margin-top:3px}.financing-consent a{color:var(--blue2);font-weight:800}.financing-submit{margin-top:18px;min-width:230px}.financing-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.financing-article-cta{margin-top:38px;padding:25px;border-radius:14px;background:#f2f6fb;border:1px solid #dce6f1}.financing-article-cta h3{margin:0 0 6px}.financing-article-cta p{color:var(--muted);margin:0 0 15px}
@media(max-width:950px){.financing-hero-grid,.financing-form-layout{grid-template-columns:1fr}.financing-form-intro{position:static}.financing-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.financing-hero{padding:42px 0}.financing-hero h1{font-size:36px}.financing-article-grid{grid-template-columns:1fr}.financing-form-card{padding:20px}.financing-questionnaire .form-grid{grid-template-columns:1fr}.financing-questionnaire .field.full{grid-column:auto}.financing-submit{width:100%}}

/* Sprint 2.18.4 - responsywny Tekst pod stopka */
.footer-extra{overflow-x:hidden}
.footer-extra-content{min-width:0;max-width:100%}
.footer-extra-content img{max-width:100%!important;height:auto!important}
@media(max-width:720px){
  .footer-extra-content{width:100%;max-width:100%;overflow:hidden}
  .footer-extra-content .rich-columns{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important;gap:14px!important}
  .footer-extra-content .rich-column{min-width:0!important;width:100%!important;max-width:100%!important}
  .footer-extra-content .rich-media,
  .footer-extra-content .rich-media.size-50,
  .footer-extra-content .rich-media.size-75,
  .footer-extra-content .rich-media.size-100{width:100%!important;max-width:100%!important;margin-left:0!important;margin-right:0!important}
  .footer-extra-content .rich-media img,
  .footer-extra-content img{display:block!important;width:auto!important;max-width:100%!important;height:auto!important;margin-left:auto!important;margin-right:auto!important;object-fit:contain}
  .footer-extra-content table{max-width:100%}
}

/* Sprint 2.19.2 - twarde zabezpieczenie szerokosci obrazu pod stopka na mobile */
.footer-extra{max-width:100vw;overflow-x:hidden}
.footer-extra>.footer-extra-content{min-width:0;max-width:calc(100vw - 40px);overflow:hidden}
@media(max-width:720px){
  .footer-extra>.footer-extra-content{width:calc(100vw - 40px)!important;max-width:calc(100vw - 40px)!important;min-width:0!important;overflow:hidden!important}
  .footer-extra-content figure,
  .footer-extra-content .rich-media,
  .footer-extra-content .rich-media.size-50,
  .footer-extra-content .rich-media.size-75,
  .footer-extra-content .rich-media.size-100{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
  .footer-extra-content img,
  .footer-extra-content .rich-content-image,
  .footer-extra-content figure img{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin-left:0!important;margin-right:0!important;object-fit:contain!important}
  .footer-extra-content .rich-columns,
  .footer-extra-content .rich-columns.cols-2,
  .footer-extra-content .rich-columns.cols-3{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .footer-extra-content .rich-column{width:100%!important;max-width:100%!important;min-width:0!important}
  .footer-extra-content table,.footer-extra-content .rich-table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important}
}


/* Sprint 2.19.3 - responsywne obrazy w artykulach na mobile */
@media(max-width:680px){
  .article-page-wrap{width:calc(100% - 28px)!important;max-width:calc(100vw - 28px)!important;min-width:0!important;overflow-x:hidden!important;box-sizing:border-box!important}
  .article-rich-text,.article-rich-text *{box-sizing:border-box!important}
  .article-rich-text figure,.article-rich-text .rich-media,.article-rich-text .rich-media.size-50,.article-rich-text .rich-media.size-75,.article-rich-text .rich-media.size-100{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
  .article-rich-text img,.article-rich-text .rich-content-image,.article-rich-text figure img{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;margin-left:0!important;margin-right:0!important;object-fit:contain!important}
  .article-rich-text .rich-columns,.article-rich-text .rich-columns.cols-2,.article-rich-text .rich-columns.cols-3{grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .article-rich-text .rich-column{width:100%!important;max-width:100%!important;min-width:0!important}
  .article-rich-text table,.article-rich-text .rich-table{display:block!important;width:100%!important;max-width:100%!important;overflow-x:auto!important}
  .article-rich-text pre{max-width:100%!important;overflow-x:auto!important}
}

/* Sprint 2.19.6 - utrudnienie pobierania zdjec z galerii */
.gallery-protected-image{pointer-events:none!important;-webkit-user-drag:none!important;-webkit-touch-callout:none!important;user-select:none!important;-webkit-user-select:none!important}
.gallery-image-protected{position:relative;-webkit-touch-callout:none!important;user-select:none!important;-webkit-user-select:none!important}
.gallery-image-protected::after{content:"";position:absolute;inset:0;z-index:5;background:transparent;pointer-events:auto}
.gallery-lightbox-stage.gallery-image-protected::after{cursor:default}

/* Sprint 2.20.3 — wiele kontaktow */
.footer-contact-list{display:grid;gap:14px;margin-top:10px}.footer-contact-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;color:#b8c6d5;font-size:13px;line-height:1.5}.footer-contact-item+.footer-contact-item{padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.footer-contact-label{display:block;color:#fff;font-size:13px;margin-bottom:2px}.footer-contact-name{color:#d9e2eb;font-weight:700}.footer-contact-hours{color:#91a2b2;font-size:12px;margin-top:2px}


/* Sprint 2.20.5 — stopka kontaktowa: czytelny uklad kart */
footer{background:#112131;color:#d6e0ea;padding:46px 0}
footer .footer-grid{display:grid;grid-template-columns:minmax(180px,.95fr) minmax(440px,2.3fr) minmax(150px,.8fr) minmax(150px,.8fr);gap:44px;align-items:start}
.footer-brand{display:flex;align-items:center;min-height:100%;text-decoration:none}
.footer-brand .site-brand-logo{max-width:210px;max-height:74px}
.footer-links-col{min-width:0}
.footer-links-col b,.footer-section-title{display:block;margin:0 0 18px;color:#fff;font-size:17px;line-height:1.2}
.footer-links-col p{margin:0;font-size:13px;line-height:2;color:#b8c6d5}
.footer-link{color:inherit;text-decoration:none}.footer-link:hover{color:#fff}
.footer-contacts{min-width:0}
.footer-contact-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin:0}
.footer-contact-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:18px 18px 16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045);box-shadow:0 10px 24px rgba(0,0,0,.08)}
.footer-contact-label{margin:0;color:#fff;font-size:17px;line-height:1.25;font-weight:800}
.footer-contact-name{margin:0;color:#b8c6d5;font-size:13px;line-height:1.45;font-weight:600}
.footer-contact-rows{display:grid;gap:10px;min-width:0}
.footer-contact-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;align-items:start;min-width:0}
.footer-contact-key{display:block;color:#7f93a7;font-size:11px;line-height:1.45;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding-right:4px}
.footer-contact-value,.footer-contact-value:visited{display:block;min-width:0;color:#e4edf5;font-size:15px;line-height:1.45;text-decoration:none;overflow-wrap:anywhere;word-break:break-word}
a.footer-contact-value:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.footer-map-block{margin-top:32px}
@media(max-width:1180px){
  footer .footer-grid{grid-template-columns:minmax(160px,.85fr) minmax(340px,1.8fr) minmax(130px,.7fr) minmax(130px,.7fr);gap:30px}
  .footer-contact-list{grid-template-columns:1fr}
}
@media(max-width:940px){
  footer .footer-grid{grid-template-columns:1fr 1.3fr;gap:30px 36px}
  .footer-contacts{grid-column:1 / -1}
  .footer-brand{min-height:auto}
  .footer-contact-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
}
@media(max-width:720px){
  footer{padding:36px 0}
  footer .footer-grid{grid-template-columns:1fr;gap:24px}
  .footer-links-col b,.footer-section-title{margin-bottom:14px}
  .footer-contact-list{grid-template-columns:1fr;gap:12px}
  .footer-contact-card{padding:16px}
  .footer-contact-row{grid-template-columns:1fr;gap:2px}
  .footer-contact-key{margin-bottom:2px}
}

/* Sprint 2.20.13 — galeria: kategorie -> albumy -> media */
.gallery-breadcrumbs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px;color:#74869a;font-size:12px}.gallery-breadcrumbs a{color:var(--blue2);font-weight:800;text-decoration:none}.gallery-breadcrumbs b{color:#425970}.gallery-level-intro{max-width:760px;margin:12px 0 0;color:var(--muted);font-size:16px;line-height:1.65}.gallery-date-badge{display:inline-flex;margin-top:6px;padding:8px 12px;border-radius:999px;background:#eaf2ff;color:var(--blue2);font-size:12px;font-weight:850}.gallery-category-grid,.gallery-album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gallery-category-card,.gallery-album-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #dfe7ef;border-radius:16px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 10px 28px rgba(17,40,65,.06);transition:transform .18s,box-shadow .18s}.gallery-category-card:hover,.gallery-album-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(17,40,65,.12)}.gallery-category-cover,.gallery-album-cover{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#132536}.gallery-category-cover>.gallery-image-protected,.gallery-album-cover>.gallery-image-protected,.gallery-category-cover>.gallery-cover-fallback,.gallery-album-cover>.gallery-cover-fallback{position:absolute;inset:0;width:100%;height:100%}.gallery-category-cover img,.gallery-album-cover img{display:block;width:100%;height:100%;object-fit:cover}.gallery-cover-fallback{display:grid;place-items:center;background:linear-gradient(135deg,#1b3349,#0f2030);color:#fff;font-size:22px;font-weight:950;letter-spacing:.14em}.gallery-category-copy,.gallery-album-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:19px 20px 21px}.gallery-category-copy h2,.gallery-album-copy h2{margin:7px 0 10px;font-size:22px;line-height:1.18}.gallery-category-meta{display:flex;gap:8px;flex-wrap:wrap;margin:2px 0 18px}.gallery-category-meta span{padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#64778a;font-size:11px;font-weight:750}.gallery-category-copy strong,.gallery-album-copy>span{margin-top:auto;color:var(--blue);font-size:12px;font-weight:850}.gallery-album-copy time{margin-bottom:2px;color:var(--blue);font-size:11px;font-weight:850}.gallery-album-copy p{margin:0 0 15px;color:var(--muted);font-size:12px;line-height:1.55}.gallery-album-count{position:absolute;right:10px;bottom:10px;z-index:7;padding:6px 9px;border-radius:999px;background:rgba(10,28,44,.84);color:#fff;font-size:10px;font-weight:800;backdrop-filter:blur(5px)}
@media(max-width:980px){.gallery-category-grid,.gallery-album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gallery-category-grid,.gallery-album-grid{grid-template-columns:1fr}.gallery-category-copy,.gallery-album-copy{padding:17px}.gallery-category-copy h2,.gallery-album-copy h2{font-size:20px}}


/* Sprint 2.20.21 — rozdzielenie modułów GWO podstawowych i Refresh */
.gwo-module-group{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}
.gwo-module-group+.gwo-module-group{margin-top:16px}
.gwo-module-group-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--line);background:#f4f8fd}
.gwo-module-group-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.gwo-module-group-head b{font-size:13px;color:var(--ink)}
.gwo-module-group-head small{font-size:11px;line-height:1.4;color:var(--muted);font-weight:600}
.gwo-module-group-head>span{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #d6e1ed;color:#52677e;font-size:10px;font-weight:850;white-space:nowrap}
.gwo-module-group-refresh{border-color:#e5d59d}
.gwo-module-group-refresh .gwo-module-group-head{background:#fff9e8;border-bottom-color:#eadca9}
.gwo-module-group-refresh .gwo-module-group-head b{color:#6f5510}
.gwo-module-group-refresh .gwo-module-group-head>span{border-color:#eadca9;color:#7a6118}
.gwo-module-grid{padding:12px}
@media(max-width:720px){.gwo-module-group-head{align-items:flex-start;flex-direction:column;gap:8px}.gwo-module-group-head>span{align-self:flex-start}.gwo-module-grid{padding:10px}}


/* Sprint 2.20.28 — spojne zakladki wariantow */
.price-option-tabs{display:flex;align-items:center;gap:8px;width:100%;margin:12px 0 10px;padding:3px 0 6px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.price-option-tab{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-height:34px;padding:8px 13px;border:1px solid #d6e1ed;border-radius:999px;background:#f4f7fb;color:#52677e;font-family:inherit;font-size:11px;line-height:1;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}
.price-option-tab:hover{border-color:#9db9e9;background:#eef4ff;color:var(--blue2);transform:translateY(-1px)}
.price-option-tab:focus-visible{outline:3px solid rgba(41,104,232,.22);outline-offset:2px}
.price-option-tab.is-active,.price-option-tab[aria-selected="true"]{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 6px 16px rgba(41,104,232,.22)}
.price-option-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#e3eaf3;color:#52677e;font-size:10px;line-height:20px;font-weight:900}
.price-option-tab.is-active .price-option-tab-count,.price-option-tab[aria-selected="true"] .price-option-tab-count{background:rgba(255,255,255,.22);color:#fff}
.price-option-panels{min-width:0;border-top:1px solid #e8edf3;padding-top:2px}
.price-option-panel{display:none!important}
.price-option-panel.is-active{display:block!important}
.price-option-panel[hidden]{display:none!important}
.price-option-panel>ul{margin-top:0;padding-top:8px}
@media(max-width:720px){.price-option-tabs{gap:7px;margin-top:10px;padding-bottom:8px}.price-option-tab{min-height:36px;padding:9px 12px;font-size:11px}}



/* Sprint 2.20.32 — alternatywa dla niedostepnego pakietu GWO */
.package-option-row{display:grid;gap:8px;min-width:0}
.package-option-row>.option-card{width:100%;min-width:0}
.package-alternative{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border:1px solid #d9e5f5;border-left:3px solid var(--blue);border-radius:9px;background:#f7faff;color:var(--ink)}
.package-alternative>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.package-alternative strong{font-size:12px;line-height:1.35}
.package-alternative span{font-size:11px;line-height:1.45;color:var(--muted)}
.package-alternative-btn{flex:0 0 auto;padding:9px 12px;font-size:11px;white-space:nowrap}
.package-calendar-alternative{display:block;margin-top:4px;max-width:420px;color:#536a82;font-size:10px;line-height:1.4;font-weight:650}
@media(max-width:640px){.package-alternative{align-items:flex-start;flex-direction:column}.package-alternative-btn{width:100%}}


/* Sprint 2.20.51 - niezawodne menu mobilne */
@media(max-width:1000px){
  .site-header{z-index:1000}
  .site-header .nav{position:relative}
  .menu-toggle{position:relative;z-index:1002;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;padding:0;margin-left:auto;border:1px solid #dbe3ec;border-radius:10px;background:#fff;color:var(--ink);font-size:27px;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .menu-toggle:focus-visible{outline:3px solid rgba(41,104,232,.28);outline-offset:2px}
  .menu-toggle.is-open{color:var(--blue2);background:#f5f8fd}
  .nav-links.open{display:flex!important;position:absolute;z-index:1001;top:calc(100% + 1px);left:0;right:0;width:100%;max-height:calc(100vh - 110px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:10px 12px 14px;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;box-shadow:0 18px 38px rgba(17,37,55,.16)}
  .nav-links.open a{display:block;width:100%;padding:13px 12px;border-bottom:1px solid #edf1f5;font-size:15px;line-height:1.25}
  .nav-links.open a:last-child{border-bottom:0}
}

/* Sprint 2.20.52 — privacy / cookies / consent */
.swat-consent[hidden],.swat-consent-modal[hidden]{display:none!important}
.swat-consent{position:fixed;z-index:70000;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto;padding:20px 22px;border:1px solid #d9e3ee;border-radius:18px;background:#fff;color:#172a40;box-shadow:0 24px 80px rgba(7,23,42,.24)}
.swat-consent-copy{max-width:720px}.swat-consent-copy strong{display:block;margin-bottom:4px;font-size:18px}.swat-consent-copy p{margin:0;color:#5b6f84;font-size:13px;line-height:1.55}.swat-consent-copy a{display:inline-block;margin-top:7px;color:#1f63cf;font-size:12px;font-weight:800;text-decoration:none}.swat-consent-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.swat-consent-actions .btn{white-space:nowrap}
.swat-consent-modal{position:fixed;inset:0;z-index:71000;display:grid;place-items:center;padding:18px}.swat-consent-backdrop{position:absolute;inset:0;border:0;background:rgba(8,22,37,.66);backdrop-filter:blur(4px);cursor:pointer}.swat-consent-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;padding:26px;border-radius:18px;background:#fff;box-shadow:0 30px 100px rgba(4,17,32,.38)}.swat-consent-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.swat-consent-head h2{margin:3px 0 0}.swat-consent-x{width:38px;height:38px;border:1px solid #dce5ee;border-radius:50%;background:#fff;color:#40556c;font-size:24px;cursor:pointer}.swat-consent-dialog>p{color:#5d7084;line-height:1.6}.swat-consent-categories{display:grid;gap:10px;margin:18px 0}.swat-consent-category{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 16px;border:1px solid #dfe7ef;border-radius:12px;background:#fbfcfe;cursor:pointer}.swat-consent-category span{display:grid;gap:4px}.swat-consent-category small{color:#697c90;line-height:1.45}.swat-consent-category input{width:22px;height:22px;flex:0 0 auto}.swat-consent-category.is-locked{background:#f3f6f9;cursor:default}.swat-consent-modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.swat-consent-open{overflow:hidden!important}
.consent-external-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;background:#eef3f7;color:#40576f}.consent-external-placeholder[hidden]{display:none!important}.consent-external-placeholder span{font-size:12px;color:#6a7d90}.footer-map-frame[data-consent-functional-frame]{position:relative;min-height:260px}.footer-map-frame[data-consent-functional-frame] iframe{min-height:260px}
.cookie-settings-link{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}
@media(max-width:760px){.swat-consent{left:10px;right:10px;bottom:10px;display:block;padding:17px;border-radius:14px}.swat-consent-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:14px}.swat-consent-actions .btn:last-child{grid-column:1/-1}.swat-consent-dialog{padding:20px}.swat-consent-category{align-items:flex-start}.swat-consent-modal-actions{display:grid;grid-template-columns:1fr}.swat-consent-modal-actions .btn{width:100%}}

/* Sprint 2.20.73 — galeria: responsywny lightbox + gest swipe */
.gallery-lightbox{
  box-sizing:border-box;
  height:100vh;
  height:100dvh;
  overflow:hidden;
}
.gallery-lightbox-dialog{
  height:100%;
  max-height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
}
.gallery-lightbox-stage{
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  overflow:hidden;
  touch-action:pan-y;
  overscroll-behavior:contain;
  user-select:none;
  -webkit-user-select:none;
}
.gallery-lightbox-stage img,
.gallery-lightbox-stage video{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
}
.gallery-lightbox-stage img{
  -webkit-user-drag:none;
}
@media(max-width:900px){
  .gallery-lightbox{
    padding:
      max(52px,calc(env(safe-area-inset-top) + 42px))
      8px
      max(66px,calc(env(safe-area-inset-bottom) + 58px));
  }
  .gallery-lightbox-dialog{
    width:100%;
    max-width:100%;
  }
  .gallery-lightbox-stage img,
  .gallery-lightbox-stage video{
    max-width:calc(100vw - 16px);
    max-height:100%;
    border-radius:9px;
  }
  .gallery-lightbox-copy{
    box-sizing:border-box;
    max-height:24dvh;
    overflow:auto;
    padding:10px 8px 0;
    scrollbar-width:thin;
  }
  .gallery-lightbox-copy h2{font-size:16px}
  .gallery-lightbox-copy p{font-size:11px}
  .gallery-lightbox-nav{
    bottom:max(10px,env(safe-area-inset-bottom));
  }
  .gallery-lightbox-close{
    top:max(8px,env(safe-area-inset-top));
  }
}

/* Sprint 2.20.74 — galeria: blokada przesuwania lightboxa poza viewport */
html.gallery-modal-open,
body.gallery-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
  height:100%!important;
}
.gallery-lightbox{
  overscroll-behavior:none!important;
  touch-action:none;
  -webkit-overflow-scrolling:auto;
}
.gallery-lightbox-dialog{
  overscroll-behavior:none;
}
.gallery-lightbox-stage{
  overscroll-behavior:none!important;
  touch-action:none;
}
.gallery-lightbox-stage.gallery-video-stage{
  touch-action:auto;
}
.gallery-lightbox-copy{
  overscroll-behavior:contain;
  touch-action:pan-y;
}

/* Sprint 2.20.75 - footer map mobile width alignment */
@media(max-width:720px){
  footer{overflow-x:hidden}
  footer>.wrap{min-width:0}
  .footer-map-block{width:100%;max-width:100%;min-width:0;overflow:hidden}
  .footer-map-copy{min-width:0;max-width:100%}
  .footer-map-frame{width:100%;max-width:100%;min-width:0;margin-left:0;margin-right:0;box-shadow:none}
  .footer-map-frame iframe{display:block;width:100%!important;max-width:100%!important;min-width:0!important}
}
