/* OSK Zbyszek — aktualizacja wizualna 2026-10-10. Styl publiczny, bez panelu i testów. */
:root{--muted:#526176;--shadow:0 8px 24px rgba(11,45,91,.065)}
body{font-size:16px}
main :is(p,li){overflow-wrap:break-word}
:where(main,footer) :is(article,section,div){min-width:0}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #1767ac;outline-offset:4px}
:where([id]){scroll-margin-top:100px}
.section,.content{padding-block:44px}.section-tight{padding-block:32px}
.section-head{margin-bottom:24px}.section-head h2{font-size:clamp(28px,3vw,38px);line-height:1.2}
.section-head p,.page-hero p{font-size:16px;line-height:1.65}
.page-hero{padding-block:36px}.page-hero h1{font-size:clamp(30px,3.5vw,44px);line-height:1.16}
.crumb{font-size:13px}.section-kicker{font-size:12px}
.btn,.btn-small{font-size:14px;min-height:46px;line-height:1.4;text-align:center}
.btn{box-shadow:none}.btn-primary{box-shadow:0 6px 16px #ffc92822}
.text-link{font-size:14px;white-space:normal;line-height:1.55;display:inline-flex;align-items:center;min-height:44px}
.menu{font-size:13px;gap:19px}.menu-btn{min-width:46px;min-height:46px}
/* Czytelność treści i kart */
.checks li,.course-card .sub,.catalog-sub,.feature p,.review p,.info-card p,.info-card li,.qualification-card p,.license-step p,.b17-card p,.b17-card li,.document-card p,.contact-card p,.form-head p,.fleet-card span,.course-empty-state p{font-size:15px;line-height:1.7;color:#526176}
.course-card h3,.catalog-public-card h2,.qualification-card h2{font-size:21px;line-height:1.35;overflow-wrap:break-word}
.feature h3,.license-step h3{font-size:18px;line-height:1.4}.note,.empty-state,.public-alert{font-size:15px}
.qualification-hours span,.qualification-price span,.badge,.date-label,.staff-role,.osk-office-type{font-size:12px;letter-spacing:.035em}
.qualification-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.qualification-card h2{min-height:3.9em;margin-block:16px}.qualification-card p{margin-block:16px 24px}
.qualification-card .btn{margin-top:auto}.qualification-price strong{font-size:28px}
.catalog-public-card{padding:24px;min-height:280px}.catalog-public-card.featured{padding:23px}
.catalog-sub{min-height:0;margin:8px 0 16px}.catalog-sub:empty{display:none}
.catalog-price{margin-top:18px;font-size:32px}.checks{margin-block:16px 24px}
.course-card{padding:22px;min-height:0}.course-card.featured{padding:21px}
.price-list li{font-size:15px;padding:14px 0;align-items:baseline}.price-list strong{color:#0b2d5b;font-size:17px}
.faq-list summary,.seo-faq summary{font-size:16px;line-height:1.55;min-height:52px}.faq-list details p{font-size:16px;line-height:1.75}
.fleet-card img{height:180px;aspect-ratio:4/3}.fleet-card b{font-size:16px}.fleet-card div{padding:16px}
.staff-body h2{font-size:21px;line-height:1.35}.staff-tags span{font-size:13px;padding:6px 10px}.staff-body p{font-size:15px;line-height:1.7}
.staff-actions .text-link{font-size:15px}.staff-photo-wrap{height:270px}.staff-card.no-photo{display:block}
/* Naprawa formularzy: radio/checkbox nie dziedziczy width:100% z pól tekstowych. */
.review-public-form .star-picker{position:relative;max-width:100%;width:max-content;gap:2px}
.review-public-form .star-picker input[type=radio]{position:absolute;width:1px!important;height:1px!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;clip-path:inset(50%);overflow:hidden;top:0;left:0}
.review-public-form .star-picker label{display:grid;place-items:center;width:44px;min-width:44px;height:48px;font-size:36px!important}
.star-picker input:focus-visible+label{outline:3px solid #1767ac;outline-offset:0;border-radius:8px}
.review-public-form .field .review-consent{display:flex!important;align-items:flex-start;gap:12px;font-size:15px;line-height:1.65;white-space:normal}
.review-consent input[type=checkbox],.consent input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;flex:0 0 20px!important;padding:0!important;margin:3px 0 0!important;accent-color:#0b2d5b}
.review-consent span{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.65}
.field label,.review-public-form .field label{font-size:14px;line-height:1.5}
.field input:not([type=radio]):not([type=checkbox]),.field select,.field textarea,.review-public-form select,.review-public-form textarea,.review-public-form input[type=text]{font-size:16px;min-width:0;max-width:100%}
.field-hint,.review-form-note,.contact-form-public small,.review-form-grid small{font-size:13px!important;line-height:1.6}
.review-top{flex-wrap:wrap;gap:10px}.review-person b{font-size:15px}.review-person small,.review-meta{font-size:13px}.stars{font-size:16px}
.review-public-form .btn[type=submit]{margin-top:18px}.review-summary-section{padding-block:28px}
.osk-office-detail p{font-size:15px;line-height:1.65}.osk-office-card .btn,.osk-office-select{font-size:14px}.osk-office-select{min-height:44px;display:flex;align-items:center;justify-content:center}
.osk-office-card h3{min-height:2.6em}.osk-office-phone{font-size:25px}.osk-office-card{padding:24px}
.contact-captcha-refresh.btn{background:#eef3f9;color:#0b2d5b;border:1px solid #cbd5e1;box-shadow:none}
.paybox p,.paybox small{font-size:14px}.contact-common-card p{font-size:15px}
.osk-office-address{display:block;font-size:14px;line-height:1.6;color:#526176;margin-top:8px}
.osk-form-jump{margin-top:18px}.contact-form-public{scroll-margin-top:100px}
/* Terminy: liczba kolumn zależna od zawartości, opis zachowany pod rozwinięciem. */
.date-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.date-card{padding:24px;min-height:0}.date-card.highlight{padding:23px}
.date-top{align-items:flex-start;flex-wrap:wrap}.date-top strong{font-size:19px;line-height:1.35}
.date-card h3{font-size:20px;line-height:1.4}.date-meta{font-size:15px;line-height:1.65;display:grid;gap:4px;margin-bottom:14px}
.date-card .term-announcement{font-size:15px;padding:16px;margin:12px 0 0;line-height:1.7}
.osk-term-details{margin:0 0 18px}.osk-term-details summary{font-size:14px;color:#155b97;cursor:pointer;padding-block:10px;font-weight:700;min-height:44px}
.date-card>.btn{margin-top:auto}
.osk-home-enhanced .hero-benefits-exact{display:none}
.osk-home-enhanced .hero-facts{grid-template-columns:1fr 1.4fr;border:1px solid #dfe7f2;border-radius:18px;background:#f4f7fb;color:#0b2d5b;margin:16px 0 0;padding:18px 22px;max-width:none;gap:20px}
.osk-home-enhanced .hero-facts>div{padding:0;border:0}.osk-home-enhanced .hero-facts b{font-size:17px;color:#0b2d5b}.osk-home-enhanced .hero-facts small{font-size:14px;color:#526176}.osk-home-enhanced .hero-facts>div:last-child{display:none}
.license-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.license-step{min-height:0;padding:22px}.license-step-no{font-size:14px}
.tests-home-card,.minors-home-card{padding:22px;gap:18px}.tests-home-section,.minors-home-section{padding-block:22px}
.tests-home-copy h2,.minors-home-copy h2{font-size:23px}.tests-home-tags{display:none}
.minors-home-copy p,.tests-home-copy p{font-size:15px;line-height:1.65}
.seo-local{padding-block:40px}.seo-link-grid{gap:14px;margin-top:20px}.seo-link-card{padding:18px}.seo-link-card h3{font-size:17px}.seo-link-card p{font-size:14px}.seo-local .seo-intro p{font-size:16px;line-height:1.75}
.footer-grid{grid-template-columns:1.2fr 1fr 1.2fr 1fr;gap:24px}.footer h3{font-size:16px}.footer-brand p,.footer-grid>div>a:not(.brand){font-size:14px;line-height:1.6;color:#c4d0e1}.footer-contact-label{font-size:12px;color:#b9c9df}.footer-bottom{font-size:12px;color:#b6c6dc}.footer a{overflow-wrap:anywhere}
.osk-footer-more summary{font-size:14px;cursor:pointer;padding:12px 0;color:#ffdb67}.osk-footer-more a{display:block;font-size:14px;line-height:1.6;color:#c4d0e1;margin:8px 0}
.osk-course-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.osk-course-nav a{display:inline-flex;align-items:center;min-height:46px;padding:10px 16px;border:1px solid #ccd8e7;border-radius:999px;font-size:14px;font-weight:700;color:#0b2d5b;background:#f5f8fc}.osk-course-nav a:hover{background:#ffedac}
.osk-category-heading{font-size:25px;color:#0b2d5b;margin:34px 0 18px;scroll-margin-top:100px}.osk-category-subtitle{font-size:15px;color:#526176;line-height:1.6;margin-top:8px}
.osk-price-cta{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}.osk-symbol{width:28px;height:28px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;color:#18558c}
.osk-home-fleet .fleet{grid-template-columns:repeat(4,minmax(0,1fr))}.osk-home-fleet .section-head{max-width:none}
.osk-home-offices .osk-office-section{margin:0}.osk-home-offices .section-head{max-width:none}
@media(min-width:781px) and (max-width:1250px){.topbar .menu{font-size:16px}.topbar .menu a{min-height:46px}}
@media(max-width:1050px){.qualification-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.osk-home-fleet .fleet{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){
 body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.container{width:calc(100% - 32px)}
 .section,.content{padding-block:32px}.section-head h2{font-size:28px}.page-hero{padding-block:28px}
 .topbar .menu{font-size:16px;max-height:calc(100dvh - 145px)}.topbar .menu a{min-height:46px}
 .brand{min-width:0}.brand span{font-size:11px}.nav{gap:14px}
 .osk-home-enhanced .hero-facts{grid-template-columns:1fr;padding:16px;gap:14px}
 .date-grid-3,.qualification-grid,.license-steps,.catalog-public-grid,.home-courses,.staff-grid,.review-grid,.content-grid,.content-grid.two,.pricing-layout,.contact-public-grid,.review-form-grid,.review-summary-grid,.review-form-wrap{grid-template-columns:minmax(0,1fr)}
 .qualification-card h2{min-height:0}.date-card,.date-card.highlight{padding:20px}.date-card>.btn{width:100%}
 .catalog-public-card,.catalog-public-card.featured{padding:22px;min-height:0}.course-card,.course-card.featured{padding:22px}
 .staff-card.has-photo{display:block}.staff-photo-wrap{height:290px}.staff-body p{display:block}
 .osk-office-card h3{min-height:0}.osk-office-actions{grid-template-columns:1fr 1fr}.osk-office-card .btn{font-size:14px}
 .contact-form-public{padding:22px 18px}.contact-public-grid-clean .contact-form-public{grid-row:1}
 .review-form-card{padding:22px 18px}.review-public-form .field.full{grid-column:1/-1}
 .review-consent span{font-size:14px}.review-public-form .btn[type=submit]{width:100%}
 .price-list li{flex-wrap:wrap;gap:6px}.price-list li>span{flex:1 1 200px}
 .footer-grid{grid-template-columns:1fr}.footer-brand{grid-column:auto}.footer{padding-bottom:24px}
 .b17-lead-card h2{font-size:25px}.b17-card .b17-note{font-size:14px}.b17-cta p{font-size:15px}
 .seo-link-grid{grid-template-columns:1fr}.cta-buttons{width:100%}.cta-buttons .btn{flex:1 1 180px}
 .text-link{white-space:normal}.osk-home-fleet .fleet{grid-template-columns:1fr 1fr}.osk-home-fleet .fleet-card img{height:140px}
 .mobile-cta a{min-height:60px;font-size:16px}.tests-home-section,.minors-home-section{padding-block:18px}
}
@media(max-width:390px){.osk-office-actions,.osk-home-fleet .fleet{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}

.osk-home-benefits{padding-block:18px}.osk-benefits-details{border:1px solid #dfe7f2;border-radius:18px;padding:8px 20px;background:#f7f9fc}.osk-benefits-details summary{font-size:18px;color:#0b2d5b;font-weight:700;cursor:pointer;padding:14px 0}.osk-benefits-details .feature-grid{padding:16px 0}
@media (max-width:780px) {
}
