/* Qrsor — strona na telefonie jak aplikacja (ładowane tylko do 991 px).
   Ciemny granat Qrsor, poziome rzędy, dolny pasek zakładek. */
:root{
  --app-bg:#050e33;--app-bg-2:#071444;--app-surface:#0d1d58;--app-surface-2:#132a75;--app-line:rgba(148,190,255,.14);
  --app-text:#eef4ff;--app-muted:#a9bde3;--app-dim:#7f95c4;--app-blue:#006ef7;--app-sky:#5cc8ff;--app-gold:#ffc94d;
  --app-bar-h:56px;--app-tabs-h:62px;--app-safe:env(safe-area-inset-bottom,0px)
}
html{background:var(--app-bg)}
html.m-lock,html.m-lock body{overflow:hidden}
body.app-ui{background:var(--app-bg)!important;color:var(--app-text);padding-bottom:calc(var(--app-tabs-h) + var(--app-safe));-webkit-tap-highlight-color:transparent}
body.app-ui .main-nav{display:none!important}

/* ---------- Pasek górny ---------- */
.m-bar{display:block;position:sticky;top:0;z-index:1040;background:rgba(5,14,51,.92);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--app-line)}
.m-bar.is-over{position:fixed;left:0;right:0;background:linear-gradient(180deg,rgba(5,14,51,.85),rgba(5,14,51,0));border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .25s ease}
.m-bar.is-over.is-solid{background:rgba(5,14,51,.94);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom-color:var(--app-line)}
.m-bar-row{display:flex;align-items:center;gap:10px;height:var(--app-bar-h);padding:0 14px}
.m-bar-grow{flex:1}
.m-logo{font-family:var(--site-font-heading,'Nunito Sans',sans-serif);font-weight:900;font-size:26px;letter-spacing:-.02em;color:#fff!important;text-decoration:none;line-height:1}
.m-logo span{color:var(--app-sky)}
.m-bar-back,.m-bar-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff!important;font-size:20px;text-decoration:none}
.m-bar-back{margin-left:-8px}
.m-bar-back:active,.m-bar-icon:active{background:rgba(255,255,255,.12)}
.m-bar-cta{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;background:var(--app-blue);color:#fff!important;font-weight:800;font-size:14px;text-decoration:none;box-shadow:0 6px 18px rgba(47,140,255,.35)}
.m-chips{display:flex;gap:8px;overflow-x:auto;padding:0 14px 10px;scrollbar-width:none}
.m-chips::-webkit-scrollbar{display:none}
.m-chips a{flex:0 0 auto;padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:#fff!important;font-size:14px;font-weight:700;text-decoration:none;background:rgba(5,14,51,.25)}
.m-chips a:active{background:rgba(255,255,255,.18)}

/* ---------- Dolny pasek zakładek ---------- */
.m-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1045;height:calc(var(--app-tabs-h) + var(--app-safe));padding-bottom:var(--app-safe);background:rgba(4,11,40,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--app-line)}
.m-tabs a,.m-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;color:var(--app-dim)!important;font:700 11px/1.1 var(--site-font-body,Manrope,Arial,sans-serif);text-decoration:none;position:relative;transition:color .15s}
.m-tabs i{font-size:21px;line-height:1;transition:transform .15s}
.m-tabs .is-active{color:#fff!important}
.m-tabs .is-active::before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 3px 3px;background:var(--app-sky)}
.m-tabs a:active i,.m-tabs button:active i{transform:scale(.88)}

/* ---------- Arkusz „Więcej” ---------- */
.m-sheet{display:block;position:fixed;inset:0;z-index:1060}
.m-sheet[hidden]{display:none!important}
.m-sheet-backdrop{position:absolute;inset:0;background:rgba(0,4,20,.6);opacity:0;transition:opacity .25s}
.m-sheet-panel{position:absolute;left:0;right:0;bottom:0;max-height:86vh;overflow:auto;background:var(--app-bg-2);border-radius:22px 22px 0 0;padding:8px 18px calc(18px + var(--app-safe));transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);border-top:1px solid var(--app-line)}
.m-sheet.is-open .m-sheet-backdrop{opacity:1}
.m-sheet.is-open .m-sheet-panel{transform:none}
.m-sheet-handle{width:42px;height:5px;border-radius:5px;background:rgba(255,255,255,.25);margin:4px auto 10px}
.m-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.m-sheet-x{width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:#fff;font-size:16px}
.m-sheet-links a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--app-line);color:var(--app-text)!important;font-weight:700;font-size:17px;text-decoration:none}
.m-sheet-links a i{color:var(--app-dim);font-size:14px}
.m-sheet-contact{display:grid;gap:8px;margin-top:16px}
.m-sheet-contact a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:var(--app-surface);color:var(--app-text)!important;text-decoration:none;font-weight:700}
.m-sheet-contact i{color:var(--app-sky);font-size:18px}
.m-sheet-social{display:flex;gap:10px;margin-top:14px}
.m-sheet-social a{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--app-surface);color:#fff!important;font-size:19px}

/* ---------- Messenger ---------- */
.m-msg{bottom:calc(var(--app-tabs-h) + var(--app-safe) + 14px)!important;right:14px!important}
.m-msg span{display:none}
.m-msg{width:54px;height:54px;padding:0!important;justify-content:center}

/* ---------- Przyciski ---------- */
.m-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:10px;font-weight:800;font-size:15px;text-decoration:none;transition:transform .12s,filter .12s}
.m-btn:active{transform:scale(.97)}
.m-btn-play{background:#fff;color:var(--app-bg)!important}
.m-btn-info{background:rgba(255,255,255,.18);color:#fff!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.m-q{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:var(--app-blue);color:#fff;font:900 13px/1 var(--site-font-heading,'Nunito Sans',sans-serif)}

/* ---------- Strona główna: baner ---------- */
.m-app{display:block}
body.app-home main.desk-home{display:none}
body.app-home footer{display:none}
.m-hero{position:relative;min-height:min(92vh,760px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--app-bg)}
.m-hero-img{position:absolute;inset:0 0 auto 0;width:100%;height:78%;object-fit:cover;object-position:center 30%}
.m-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,14,51,.55) 0%,rgba(5,14,51,0) 22%,rgba(5,14,51,0) 42%,rgba(5,14,51,.82) 66%,var(--app-bg) 80%);pointer-events:none}
.m-hero-copy{position:relative;z-index:2;padding:0 18px 18px;text-align:center}
.m-hero-badge{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#d9e6ff}
.m-hero-title{margin:.4em 0 .25em;font-family:var(--site-font-heading,'Nunito Sans',sans-serif);font-weight:900;font-size:clamp(30px,9vw,44px);line-height:1.02;letter-spacing:-.02em;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.35)}
.m-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 16px;color:#dbe6ff;font-size:14px;font-weight:700}
.m-tags i{color:var(--app-sky);font-style:normal}
.m-hero-actions{display:flex;gap:10px}
.m-stats{display:flex;justify-content:center;gap:18px;margin-top:16px;color:var(--app-muted);font-size:12.5px;font-weight:700}
.m-stats span{display:flex;flex-direction:column;align-items:center;line-height:1.2}
.m-stats b{color:#fff;font-size:17px;font-weight:900}

/* ---------- Rzędy ---------- */
.m-row{padding:18px 0 4px}
.m-js .m-row{opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}
.m-js .m-row.is-in{opacity:1;transform:none}
.m-row-head{display:flex;align-items:baseline;justify-content:space-between;padding:0 16px 10px}
.m-row-head h2{margin:0;font-size:18px;font-weight:900;color:#fff;letter-spacing:-.01em}
.m-row-head a{color:var(--app-muted)!important;font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}
.m-scroll{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;padding:2px 16px 12px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.m-scroll::-webkit-scrollbar{display:none}
.m-card{flex:0 0 auto;scroll-snap-align:start;color:var(--app-text)!important;text-decoration:none;transition:transform .15s}
.m-card:active{transform:scale(.97)}

/* Okładki kursów: grafika kursu 7:3 (albo ilustracja) + kategoria i tytuł pod spodem. */
.tone-blue{--g1:#0b5fcf;--g2:#06205f}.tone-sky{--g1:#1aa3ff;--g2:#0a3a8f}.tone-indigo{--g1:#4b47d6;--g2:#12145e}
.tone-ocean{--g1:#0e8fb8;--g2:#062f5c}.tone-royal{--g1:#2563eb;--g2:#0a1a52}.tone-night{--g1:#1f3d99;--g2:#050e33}
.m-course{width:72vw;max-width:300px;position:relative}
.m-course.is-numbered{width:auto;display:flex;align-items:flex-end}
.m-num{font:900 92px/0.8 var(--site-font-heading,'Nunito Sans',sans-serif);color:var(--app-bg);-webkit-text-stroke:3px #7fa8ff;letter-spacing:-.03em;margin-right:-10px;position:relative;z-index:1;padding-bottom:30px}
.m-course.is-numbered .m-poster{width:58vw;max-width:240px}
.m-course.is-numbered .m-meta{display:none}
.m-poster{position:relative;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:radial-gradient(120% 90% at 100% 100%,rgba(255,255,255,.16),transparent 55%),linear-gradient(145deg,var(--g1),var(--g2));box-shadow:0 10px 26px rgba(0,0,0,.35)}
.m-poster::after{content:"";position:absolute;right:-22%;bottom:-48%;width:62%;aspect-ratio:1;border-radius:50%;border:16px solid rgba(255,255,255,.07);pointer-events:none}
.m-poster .m-q{position:absolute;top:8px;left:8px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.m-art{position:relative;display:grid;place-items:center;aspect-ratio:7/3;overflow:hidden;background:radial-gradient(90% 120% at 85% 0%,rgba(255,255,255,.28),transparent 60%),linear-gradient(135deg,var(--g1),var(--g2))}
.m-art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m-art:not(.is-icon)::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 62%,rgba(5,14,51,.45));pointer-events:none}
.m-art.is-icon::before{content:"";position:absolute;left:-12%;top:-55%;width:58%;aspect-ratio:1;border-radius:50%;border:14px solid rgba(255,255,255,.09)}
.m-art.is-icon i{position:relative;font-size:46px;line-height:1;color:#fff;opacity:.92;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));transform:rotate(-8deg)}
.m-txt{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-start;gap:3px;padding:10px 12px 12px;min-height:76px}
.m-poster small{font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-poster strong{font-family:var(--site-font-heading,'Nunito Sans',sans-serif);font-weight:900;font-size:16.5px;line-height:1.15;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.m-promo{position:absolute;top:10px;right:10px;z-index:1;background:var(--app-gold);color:#3b2a00;font-style:normal;font-weight:900;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px}
.m-meta{display:flex;gap:8px;align-items:baseline;padding:7px 2px 0;font-size:13px;color:var(--app-muted)}
.m-meta b{color:#fff;font-size:14px}

/* Kategorie. */
.m-cat{width:44vw;max-width:190px;border-radius:12px;display:flex;flex-direction:column;background:linear-gradient(160deg,var(--g1),var(--g2));position:relative;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.m-cat::before{content:"";position:absolute;left:-20%;bottom:-45%;width:90%;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.08);pointer-events:none}
.m-cat .m-art{aspect-ratio:16/10}
.m-cat .m-art.is-icon i{font-size:40px}
.m-cat .m-txt{min-height:64px;gap:2px}
.m-cat strong{font-weight:900;font-size:16px;line-height:1.15;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.m-cat small{color:rgba(255,255,255,.75);font-weight:700;font-size:13px}

/* Przedmioty. */
.m-subject{width:30vw;max-width:130px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.m-subject-icon{width:100%;aspect-ratio:1;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(150deg,color-mix(in srgb,var(--a) 70%,#fff 0%),color-mix(in srgb,var(--a) 35%,#050e33));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.m-subject-icon svg,.m-subject-icon i{width:38%;height:38%;stroke-width:1.8}
.m-subject strong{font-size:14px;font-weight:800;line-height:1.2;color:var(--app-text)}

/* Kadra. */
.m-person{width:36vw;max-width:160px;position:relative;border-radius:12px;overflow:hidden;background:var(--app-surface)}
.m-person img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;filter:saturate(1.05)}
.m-person span{position:absolute;left:0;right:0;bottom:0;padding:24px 10px 9px;background:linear-gradient(180deg,transparent,rgba(5,14,51,.95))}
.m-person strong{display:block;font-size:14px;font-weight:900;line-height:1.15;color:#fff}
.m-person small{display:block;font-size:12.5px;color:var(--app-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Aleja Sław — okrągłe profile. */
.m-star{width:26vw;max-width:112px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.m-star-ring{width:100%;aspect-ratio:1;border-radius:50%;padding:3px;background:conic-gradient(from 200deg,var(--app-sky),var(--app-blue),#8a7dff,var(--app-sky))}
.m-star-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--app-bg)}
.m-star strong{font-size:13px;font-weight:800;line-height:1.15;color:#fff}
.m-star small{font-size:11.5px;color:var(--app-muted);line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Opinie. */
.m-quote{width:80vw;max-width:330px;margin:0;padding:16px;border-radius:14px;background:linear-gradient(160deg,var(--app-surface-2),var(--app-surface));border:1px solid var(--app-line);display:flex;flex-direction:column;justify-content:space-between}
.m-quote blockquote{margin:0 0 12px;font-size:14px;line-height:1.45;color:#fff;font-weight:600;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
.m-quote figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:13px;color:var(--app-muted)}
.m-quote figcaption b{color:#fff}
.m-quote em{margin-left:auto;color:var(--app-gold);font-style:normal;letter-spacing:1px}

/* Aktualności. */
.m-post{width:68vw;max-width:290px;aspect-ratio:16/9;border-radius:10px;padding:12px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(150deg,var(--g1),var(--g2))}
.m-post small{font-size:12.5px;font-weight:800;color:rgba(255,255,255,.75)}
.m-post strong{font-size:15px;font-weight:900;line-height:1.2;color:#fff;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Zachęta. */
.m-cta{margin:22px 16px 8px;padding:22px 18px;border-radius:18px;text-align:center;background:radial-gradient(120% 80% at 50% 0%,rgba(92,200,255,.35),transparent 60%),linear-gradient(160deg,#0b5fcf,#0a1a52);border:1px solid rgba(255,255,255,.12)}
.m-cta h2{margin:10px 0 6px;font-size:22px;font-weight:900;color:#fff}
.m-cta p{margin:0 0 16px;color:#d8e6ff;font-size:14px}

/* ---------- Pozostałe strony: ciemny motyw ---------- */
body.app-ui:not(.app-home) main,body.app-ui:not(.app-home) main section:not(.page-hero),body.app-ui:not(.app-home) .section-pad:not(.page-hero){background:transparent!important}
body.app-ui:not(.app-home) main :is(h1,h2,h3,h4,h5,h6){color:#fff}
body.app-ui:not(.app-home) main :is(h1,h2,h3) span{color:var(--app-sky)!important}
body.app-ui:not(.app-home) main :is(p,li,.lead,dd,dt,label,td,th,figcaption){color:var(--app-muted)}
body.app-ui:not(.app-home) main :is(strong,b){color:var(--app-text)}
body.app-ui:not(.app-home) main a:not(.btn):not(.m-card){color:var(--app-sky)}
body.app-ui:not(.app-home) .crumb,body.app-ui:not(.app-home) .crumb a{color:var(--app-dim)!important;font-size:13px}
body.app-ui .eyebrow,body.app-ui .badge-pill{background:rgba(92,200,255,.12)!important;color:var(--app-sky)!important;border-color:transparent!important}
body.app-ui:not(.app-home) main :is(.subject-card,.feature-card,.teacher-card,.alumni-card,.course-card,.story-card,.contact-panel,.proof-tile,.testimonial-list article,.insta-card,.home-teacher-card,.home-alumni-chip,.subject-info-card,.subject-detail-panel,.subject-testimonial,.page-ad-zone,.page-mid-promo,.facebook-rail,.instagram-zone,.subject-highlight-strip,.cms-public-empty,.card,.accordion-item,.list-group-item){background:var(--app-surface)!important;border-color:var(--app-line)!important;color:var(--app-text)!important;box-shadow:0 10px 26px rgba(0,0,0,.25)!important;border-radius:14px}
body.app-ui:not(.app-home) main .light{background:var(--app-surface)!important}
body.app-ui:not(.app-home) main :is(.accordion-button){background:var(--app-surface)!important;color:#fff!important;box-shadow:none!important}
body.app-ui:not(.app-home) main .accordion-button::after{filter:invert(1)}
body.app-ui:not(.app-home) main :is(.accordion-body){color:var(--app-muted)}
body.app-ui:not(.app-home) main .filter-bar button{background:var(--app-surface)!important;color:var(--app-text)!important;border-color:var(--app-line)!important}
body.app-ui:not(.app-home) main .filter-bar button.active{background:var(--app-blue)!important;color:#fff!important}
body.app-ui:not(.app-home) main img{border-radius:12px}
body.app-ui:not(.app-home) main .btn-primary{background:var(--app-blue)!important;border-color:var(--app-blue)!important;color:#fff!important}
body.app-ui:not(.app-home) main :is(.btn-outline-primary,.btn-light){background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.25)!important;color:#fff!important}
body.app-ui:not(.app-home) main :is(.form-control,.form-select,input[type=text],input[type=email],input[type=tel],input[type=date],textarea,select){background:var(--app-bg-2)!important;border-color:rgba(148,190,255,.28)!important;color:#fff!important}
body.app-ui:not(.app-home) main :is(.form-control,textarea)::placeholder{color:var(--app-dim)!important}
body.app-ui:not(.app-home) main .form-check-label{color:var(--app-muted)}
body.app-ui:not(.app-home) main .cta-block{border-radius:18px}
body.app-ui:not(.app-home) main .cta-block :is(h2,p,div){color:#fff}
body.app-ui:not(.app-home) main hr{border-color:var(--app-line);opacity:1}
body.app-ui:not(.app-home) main .text-muted{color:var(--app-dim)!important}
body.app-ui:not(.app-home) main .page-hero h1{font-size:clamp(28px,8vw,38px);font-weight:900;letter-spacing:-.02em}

/* Nagłówek podstron: tytuł na granacie, grafika strony jako zaokrąglona karta pod tytułem. */
body.app-ui:not(.app-home) .page-hero{min-height:0!important;display:block!important;padding:0!important;background-color:transparent!important;background-size:0 0!important;position:relative}
body.app-ui:not(.app-home) .page-hero::before{display:none!important}
body.app-ui:not(.app-home) .page-hero .container{padding:18px 16px 6px!important}
body.app-ui:not(.app-home) .page-hero::after{content:"";display:block;margin:10px 16px 6px;aspect-ratio:16/8;border-radius:14px;background-image:inherit;background-size:cover;background-position:center;background-repeat:no-repeat;box-shadow:0 14px 30px rgba(0,0,0,.35);border:1px solid var(--app-line)}
body.app-ui.page-course-detail .page-hero::after,body.app-ui.page-category-detail .page-hero::after,body.app-ui.page-post-detail .page-hero::after{display:none}
body.app-ui:not(.app-home) .page-hero p{color:var(--app-muted)!important;max-width:none}
body.app-ui:not(.app-home) .page-hero .btn{margin-top:4px}
/* Wyróżnione bloki na podstronach. */
body.app-ui:not(.app-home) main .top-promo-copy{background:radial-gradient(120% 90% at 100% 0%,rgba(92,200,255,.22),transparent 55%),linear-gradient(150deg,var(--app-surface-2),var(--app-surface))!important;border-color:var(--app-line)!important}
body.app-ui:not(.app-home) main .top-promo-copy :is(h2){color:#fff!important}
body.app-ui:not(.app-home) main .top-promo-copy :is(p,div){color:var(--app-muted)!important}
body.app-ui:not(.app-home) :is(.page-ad-zone,.page-mid-promo){background:transparent!important}
body.app-ui:not(.app-home) main .horizontal-promo,body.app-ui:not(.app-home) main .vertical-promo{border-radius:14px}

/* Białe „pigułki” w banerach zostają z niebieskim tekstem. */
body.app-ui:not(.app-home) main :is(.horizontal-promo>b,.home-image-banner em,.home-image-banner-cta){color:#0b5fcf!important}

body.app-ui:not(.app-home) main :is(.horizontal-promo,.vertical-promo,.home-image-banner,.home-alumni-chip,.course-card,.subject-card){text-decoration:none}
body.app-ui footer a{text-decoration:none}

/* Stopka — skromna, ciemna. */
body.app-ui footer{background:var(--app-bg-2)!important;color:var(--app-muted);border-top:1px solid var(--app-line)}
body.app-ui footer :is(b,.wordmark){color:#fff!important}
body.app-ui footer a{color:var(--app-muted)!important}
body.app-ui footer .site-logo{filter:brightness(0) invert(1)}
body.app-ui footer .footer-bottom{background:transparent!important;color:var(--app-dim);border-top:1px solid var(--app-line)}

@media (prefers-reduced-motion:reduce){.m-js .m-row{opacity:1;transform:none;transition:none}.m-card,.m-btn,.m-sheet-panel,.m-sheet-backdrop{transition:none}}
/* Wyróżniona oferta z grafiką z panelu: zdjęcie widoczne pod ciemną nakładką (białe napisy czytelne) */
body.app-ui:not(.app-home) main .top-promo-copy[style*="--cms-desktop-bg"]{background:linear-gradient(150deg,rgba(13,29,88,.92),rgba(19,42,117,.66)),var(--cms-mobile-bg,var(--cms-desktop-bg)) center/cover no-repeat!important}
/* Napisy wyłączone w panelu: grafika z własnymi napisami bez ciemnej nakładki */
body.app-ui:not(.app-home) main .top-promo-copy:is(.is-text-none,.is-text-buttons)[style*="--cms-desktop-bg"]{background:var(--cms-mobile-bg,var(--cms-desktop-bg)) center/cover no-repeat!important;min-height:220px}
body.app-ui:not(.app-home) .page-hero:is(.is-text-none,.is-text-buttons){aspect-ratio:auto!important}
body.app-ui:not(.app-home) .page-hero:is(.is-text-none,.is-text-buttons)::after{aspect-ratio:var(--banner-mobile-ratio,var(--banner-ratio,16/8))}
body.app-ui:not(.app-home) .page-hero.is-text-none .container{padding:0!important}
.m-hero-art{position:relative;background:var(--app-bg);padding:0 0 6px}
.m-hero-art>a{display:block}
.m-hero-art-img{display:block;width:100%;height:auto}
.m-hero-art .m-hero-actions{padding:14px 18px 6px}
/* Nasza kadra w ciemnym widoku aplikacji */
body.app-ui:not(.app-home) main .staff-card{background:var(--app-surface)!important;border-color:var(--app-line)!important;box-shadow:none}
body.app-ui:not(.app-home) main .staff-chip{background:var(--app-surface);border-color:var(--app-line);color:var(--app-text)}
body.app-ui:not(.app-home) main .staff-chip span{background:rgba(255,255,255,.12);color:var(--app-sky)}
body.app-ui:not(.app-home) main .staff-chip[aria-pressed=true]{background:#fff;border-color:#fff;color:var(--app-bg)}
body.app-ui:not(.app-home) main .staff-chip[aria-pressed=true] span{background:#e8f4ff;color:#0069e3}
body.app-ui:not(.app-home) main .staff-courses a{background:rgba(255,255,255,.07);color:var(--app-text)!important}
body.app-ui:not(.app-home) main .staff-courses a :is(.bi-mortarboard,.staff-go){color:var(--app-sky)}
body.app-ui:not(.app-home) main .staff-label{color:var(--app-dim)}
body.app-ui:not(.app-home) main .staff-bio{color:var(--app-muted)}
body.app-ui:not(.app-home) main .staff-id p{color:#cfe6ff}
@media (max-width:575.98px){body.app-ui:not(.app-home) main .staff-id h3{color:#fff}body.app-ui:not(.app-home) main .staff-id p{color:var(--app-sky)}}
/* Baner kategorii oferty: grafika jako karta pod tytułem (jak na podstronach) */
body.app-ui.page-category-detail .page-hero[style*="--cms-desktop-bg"]::after{display:block}
body.app-ui:not(.app-home) main .staff-badges{color:var(--app-sky)}
/* Oferta: przełącznik i karty w ciemnym widoku aplikacji */
body.app-ui:not(.app-home) main .offer-switch{background:var(--app-surface);border-color:var(--app-line)}
body.app-ui:not(.app-home) main .offer-tab{color:var(--app-text)}
body.app-ui:not(.app-home) main .offer-tab-icon{background:rgba(255,255,255,.08);color:var(--app-sky);box-shadow:none}
body.app-ui:not(.app-home) main .offer-tab small{color:var(--app-dim)}
body.app-ui:not(.app-home) main .offer-tab[aria-selected=true]{background:#fff;color:var(--app-bg)}
body.app-ui:not(.app-home) main .offer-tab[aria-selected=true] :is(b,small){color:var(--app-bg)}
body.app-ui:not(.app-home) main .offer-tab[aria-selected=true] .offer-tab-icon{background:#087bff;color:#fff}
body.app-ui:not(.app-home) main :is(.offer-card,.offer-subject){background:var(--app-surface)!important;border-color:var(--app-line)!important;color:var(--app-text)!important;box-shadow:none}
body.app-ui:not(.app-home) main .offer-card-text,body.app-ui:not(.app-home) main .offer-subject-text small{color:var(--app-muted)}
body.app-ui:not(.app-home) main .offer-count{background:rgba(255,255,255,.1);color:var(--app-sky)}
body.app-ui:not(.app-home) main :is(.offer-go,.offer-subject-icon){color:var(--app-sky)}
body.app-ui:not(.app-home) main .offer-subject-icon{background:rgba(255,255,255,.08)}
body.app-ui:not(.app-home) main .offer-panel-title{color:#fff}
/* Czytelność na telefonie: podpisy na kartach i w dolnym menu */
body.app-ui .m-card small,body.app-ui .m-promo{font-size:12.5px}
body.app-ui .m-tabs a span{font-size:12px}
.m-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;font-size:12px}
.m-stats span{text-align:center}
.m-logo-img{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:4px 8px;line-height:0}.m-logo-img img{display:block;height:24px;width:auto;max-width:130px}

/* SEO lokalne (telefon): linijka w nagłówku, sekcja „Siedlce i okolice”, wersja ciemna sekcji w kontakcie. */
.m-local{display:flex;justify-content:center;align-items:center;gap:6px;margin:-6px 0 16px;color:#fff;font-size:14px;font-weight:800}
.m-local i{color:var(--app-sky)}
body.app-ui .local-area{background:transparent!important;padding:8px 0 24px!important}
body.app-ui .local-card{background:var(--app-surface)!important;border:1px solid var(--app-line)!important;box-shadow:none;padding:20px 18px;border-radius:18px;margin:0 2px}
body.app-ui .local-intro h2{color:#fff;font-size:22px;margin:.6rem 0 .5rem}
body.app-ui .local-intro h2 span{color:var(--app-sky)}
body.app-ui .local-intro p{color:var(--app-muted)}
body.app-ui .local-intro strong,body.app-ui .local-hours{color:var(--app-text)}
body.app-ui .local-actions .btn-primary{background:var(--app-blue)!important;border-color:var(--app-blue)!important;color:#fff!important}
body.app-ui .local-actions .btn-outline-primary{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.25)!important;color:#fff!important}
body.app-ui .local-actions{width:100%}
body.app-ui .local-actions .btn{flex:1 1 auto}

/* Wirtualny spacer (telefon, ciemny wygląd) */
body.app-ui .tour-hero{background:transparent!important;padding:18px 0 4px}
body.app-ui .tour-hero h1{color:#fff;font-size:clamp(28px,8vw,36px)}
body.app-ui .tour-hero h1 span{color:var(--app-sky)}
body.app-ui .tour-facts li{background:var(--app-surface);border-color:var(--app-line);color:var(--app-text)}
body.app-ui .tour-facts b{color:var(--app-sky)}
body.app-ui .tour-clip-screen{border-color:#1b2b63;background:#1b2b63;box-shadow:0 22px 50px rgba(0,0,0,.45)}
body.app-ui .tour-clip::before{background:radial-gradient(closest-side,rgba(64,160,255,.35),transparent)}
body.app-ui .tour.section-pad{padding-top:10px!important}
body.app-ui :is(.tour-info,.tour-plan){background:var(--app-surface)!important;border-color:var(--app-line)!important}
body.app-ui .tour-step{color:var(--app-sky)}
body.app-ui .tour-route button{background:var(--app-surface);border-color:var(--app-line)}
body.app-ui .tour-route button[aria-current="true"]{background:var(--app-surface-2);border-color:var(--app-blue);box-shadow:inset 3px 0 0 var(--app-sky)}
body.app-ui .tour-route b{color:#fff}
body.app-ui .tour-route small{color:var(--app-dim)}
body.app-ui .tour-side h3{color:#fff}
body.app-ui .story-note{background:rgba(255,196,64,.14)!important;color:#ffd77a!important}
body.app-ui .story-note i{color:#ffc940}
body.app-ui .story-photo,body.app-ui .story-photo.is-lowres{background:var(--app-surface-2)}

/* Strona przedmiotu na telefonie (ciemny wygląd aplikacji): nauczyciele */
body.app-ui:not(.app-home) main .subject-teacher-pill{background:rgba(255,255,255,.07);border-color:var(--app-line);box-shadow:none;color:var(--app-text)}
body.app-ui:not(.app-home) main .stp-text small{color:var(--app-muted)}
body.app-ui:not(.app-home) main .subject-teacher-pill>.bi{color:var(--app-sky)}
body.app-ui:not(.app-home) main .t-face{border-color:var(--app-surface);background:#173273;color:var(--app-sky)}
body.app-ui:not(.app-home) main .subject-teacher-pill .t-face{border-color:var(--app-bg)}
body.app-ui:not(.app-home) main .st-head h2{color:#fff}
body.app-ui:not(.app-home) main .st-head p,body.app-ui:not(.app-home) main .st-subjects,body.app-ui:not(.app-home) main .st-attr{color:var(--app-muted)}
body.app-ui:not(.app-home) main .st-card{background:var(--app-surface);border-color:var(--app-line);box-shadow:none}
body.app-ui:not(.app-home) main .st-photo{background:linear-gradient(150deg,#173273,#0d1d58)}
body.app-ui:not(.app-home) main .st-name a{color:#fff!important}
body.app-ui:not(.app-home) main .st-bio{color:var(--app-text)}
body.app-ui:not(.app-home) main .st-subjects a{color:var(--app-text)!important;border-color:var(--app-line)}
body.app-ui:not(.app-home) main :is(.st-more,.st-name a:hover,.st-attr .bi){color:var(--app-sky)!important}
body.app-ui:not(.app-home) main .st-all a{color:var(--app-muted)!important}
body.app-ui:not(.app-home) main .st-initials{color:var(--app-sky)}
body.app-ui:not(.app-home) main .panel-teachers a{color:var(--app-text)}
body.app-ui:not(.app-home) main .panel-teachers a:hover{background:rgba(255,255,255,.06)}
body.app-ui:not(.app-home) main .panel-teachers small,body.app-ui:not(.app-home) main .subject-course-teachers small{color:var(--app-muted)}
body.app-ui:not(.app-home) main .subject-course-teachers{background:rgba(255,255,255,.06)}
body.app-ui:not(.app-home) main .subject-course-teachers b{color:var(--app-text)}

/* Polityka prywatności (telefon, ciemny wygląd) */
body.app-ui .legal-hero{background:transparent!important;padding:18px 0 4px}
body.app-ui .legal-hero h1,body.app-ui .legal-body h2,body.app-ui .legal-h3,body.app-ui .legal-card h3,body.app-ui .legal-toc b{color:#fff}
body.app-ui :is(.legal-short li,.legal-card,.legal-toc){background:var(--app-surface);border-color:var(--app-line);color:var(--app-text);box-shadow:none}
body.app-ui .legal-short i{background:rgba(255,255,255,.08);color:var(--app-sky)}
body.app-ui .legal-card h3 i{color:var(--app-sky)}
body.app-ui .legal-body,body.app-ui .legal-card dd{color:var(--app-text)}
body.app-ui .legal-card dt{color:var(--app-muted)}
body.app-ui .legal-toc a{color:var(--app-sky)!important}
body.app-ui .legal-cookie code{background:rgba(255,255,255,.08);color:#fff}
body.app-ui .form-privacy{color:var(--app-muted)}
.m-sheet-legal{display:flex;align-items:center;gap:10px;margin-top:12px;padding:6px 4px;color:var(--app-muted)!important;font-size:13.5px;font-weight:700;text-decoration:none}
.m-sheet-legal i{color:var(--app-sky)}

/* Harmonogram kursu (telefon, ciemny wygląd) */
body.app-ui :is(.course-when,.cs-item){background:var(--app-surface-2,rgba(255,255,255,.06))!important;border-color:var(--app-line)!important;box-shadow:none!important;color:var(--app-text)}
body.app-ui .course-when b,body.app-ui .cs-text b,body.app-ui .course-schedule .cs-head h2{color:#fff}
body.app-ui :is(.course-when small,.cs-text small,.cs-note,.course-schedule .cs-head p){color:var(--app-muted)}
body.app-ui :is(.course-when>.bi,.cs-text small .bi,.course-schedule .cs-head p .bi){color:var(--app-sky)}
body.app-ui .cs-ico{background:rgba(255,255,255,.08);color:var(--app-sky)}
/* Kurs egzaminacyjny (telefon, ciemny wygląd) */
body.app-ui :is(.cp-list li,.exam-facts li){background:var(--app-surface-2)!important;border-color:var(--app-line)!important;box-shadow:none!important;color:var(--app-text)}
body.app-ui :is(.cp-list li strong,.exam-facts b,.oke-note b,.course-exam .course-card h2){color:#fff}
body.app-ui :is(.exam-card-sub,.course-program .section-heading p){color:var(--app-muted)!important}
body.app-ui .exam-facts .bi{background:rgba(255,255,255,.08);color:var(--app-sky)}
body.app-ui .oke-note{background:var(--app-surface)!important;border-color:var(--app-line)!important;color:var(--app-text)}
body.app-ui .course-filter-label,body.app-ui .course-block-title{color:#fff}
body.app-ui .ct-box{background:var(--app-surface)!important;border-color:var(--app-line)!important}
body.app-ui .ct-label{color:var(--app-muted)}
body.app-ui .ct-label .bi,body.app-ui .ct-person>.bi{color:var(--app-sky)}
body.app-ui .ct-person{background:var(--app-surface-2)!important;border-color:var(--app-line)!important;color:#fff!important}
body.app-ui .ct-text small{color:var(--app-muted)}
body.app-ui .course-block-title::after{background:var(--app-line)}
body.app-ui .course-levels{color:var(--app-sky)}
body.app-ui .oke-links a{background:rgba(255,255,255,.06);border-color:var(--app-line);color:var(--app-sky)}
body.app-ui .cs-time{color:var(--app-sky)}
body.app-ui .cs-state{background:rgba(255,196,64,.16);color:#ffd77a}
/* Kontrast (WCAG AA): niebieski tekst Bootstrapa na granatowym tle — jaśniejszy */
body.app-ui:not(.app-home) main .text-primary{color:#6fb1ff!important}
/* Kontrast na ciemnym tle telefonu: hasło w stopce, fakty i podpisy na stronach przedmiotów, uczelnie w Alei Sław */
body.app-ui .site-footer .footer-copy,body.app-ui footer .footer-copy{color:#5aa5ff}
body.app-ui:not(.app-home) main .subject-hero-facts{color:#9fbbe3}
body.app-ui:not(.app-home) main :is(.subject-highlight-grid span,.story-university small){color:#a3b8d8}
body.app-ui:not(.app-home) main .subject-course-card>small{color:#6fb1ff}
