/* Theme 3 - compat.css: warstwa kompatybilności Bootstrap 4 + stare klasy narzędziowe (Zadanie 3).
   Ładowany PO css/css.css - może korzystać z tokenów var(--...) zdefiniowanych tam (Zadanie 2).
   Cel: współdzielone szablony smarty/templates/{site,S,ext}/** i ext/S/*.php (pisane pod Bootstrap 4
   i stare klasy theme/1) mają wyglądać poprawnie w nowym motywie theme/3, bez ładowania
   pełnego Bootstrapa z CDN.
   Zakres i wartości ustalone na podstawie audytu (scratchpad/klasy-audit.txt, top-100 + klasy >2 wystąpień)
   oraz grep po www/theme/1/css/css.css (wartości px/kolorów klas legacy - nie zgadywane).
   Pełny raport audytu: .superpowers/sdd/task-3-report.md */

/* ======================================================================
   1. SIATKA BOOTSTRAP 4 - tylko warianty realnie występujące w audycie
   ====================================================================== */

.container{width:100%;max-width:var(--container);margin:0 auto;padding-right:15px;padding-left:15px}

.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}
/* gutters BS5-owe używane razem z .row w części szablonów (skala jak spacing: 2=.5rem,3=1rem,4=1.5rem) */
.row.g-2{margin-right:-.25rem;margin-left:-.25rem}
.row.g-2>*{padding-right:.25rem;padding-left:.25rem}
.row.g-3{margin-right:-.5rem;margin-left:-.5rem}
.row.g-3>*{padding-right:.5rem;padding-left:.5rem}
.row.g-4{margin-right:-.75rem;margin-left:-.75rem}
.row.g-4>*{padding-right:.75rem;padding-left:.75rem}
.gap-2{gap:.5rem}
.gap-3{gap:1rem}

/* wspólna baza kolumn (position/width/padding) - tylko klasy z audytu */
.col,.col-auto,.col-1,.col-3,.col-4,.col-5,.col-6,.col-9,.col-12,
.col-sm-4,.col-sm-8,
.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,
.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,
.col-xl-3,.col-xl-4,.col-xl-6,.col-xl-9{position:relative;width:100%;padding-right:15px;padding-left:15px}

/* ułamki szerokości - bez breakpointu (mobile-first, obowiązują też na większych ekranach o ile nie nadpisane) */
.col{flex:1 0 0%;max-width:100%}
.col-auto{flex:0 0 auto;width:auto;max-width:100%}
.col-1{flex:0 0 8.3333%;max-width:8.3333%}
.col-3{flex:0 0 25%;max-width:25%}
.col-4{flex:0 0 33.3333%;max-width:33.3333%}
.col-5{flex:0 0 41.6667%;max-width:41.6667%}
.col-6{flex:0 0 50%;max-width:50%}
.col-9{flex:0 0 75%;max-width:75%}
.col-12{flex:0 0 100%;max-width:100%}

@media(min-width:576px){
 .col-sm-4{flex:0 0 33.3333%;max-width:33.3333%}
 .col-sm-8{flex:0 0 66.6667%;max-width:66.6667%}
}
@media(min-width:768px){
 .col-md-1{flex:0 0 8.3333%;max-width:8.3333%}
 .col-md-2{flex:0 0 16.6667%;max-width:16.6667%}
 .col-md-3{flex:0 0 25%;max-width:25%}
 .col-md-4{flex:0 0 33.3333%;max-width:33.3333%}
 .col-md-5{flex:0 0 41.6667%;max-width:41.6667%}
 .col-md-6{flex:0 0 50%;max-width:50%}
 .col-md-7{flex:0 0 58.3333%;max-width:58.3333%}
 .col-md-8{flex:0 0 66.6667%;max-width:66.6667%}
}
@media(min-width:992px){
 .col-lg-3{flex:0 0 25%;max-width:25%}
 .col-lg-4{flex:0 0 33.3333%;max-width:33.3333%}
 .col-lg-5{flex:0 0 41.6667%;max-width:41.6667%}
 .col-lg-6{flex:0 0 50%;max-width:50%}
 .col-lg-7{flex:0 0 58.3333%;max-width:58.3333%}
 .col-lg-8{flex:0 0 66.6667%;max-width:66.6667%}
 .col-lg-9{flex:0 0 75%;max-width:75%}
}
@media(min-width:1200px){
 .col-xl-3{flex:0 0 25%;max-width:25%}
 .col-xl-4{flex:0 0 33.3333%;max-width:33.3333%}
 .col-xl-6{flex:0 0 50%;max-width:50%}
 .col-xl-9{flex:0 0 75%;max-width:75%}
}

/* ======================================================================
   2. DISPLAY / FLEX
   ====================================================================== */
.d-none{display:none}
.d-block{display:block}
.d-inline{display:inline}
.d-flex{display:flex}
.flex-wrap{flex-wrap:wrap}
.justify-content-center{justify-content:center}
.justify-content-between{justify-content:space-between}
.align-items-center{align-items:center}
.align-items-end{align-items:flex-end}
@media(min-width:768px){.d-md-none{display:none}.d-md-block{display:block}}
@media(min-width:992px){.d-lg-block{display:block}}
@media(min-width:1200px){.d-xl-none{display:none}.d-xl-block{display:block}}

/* ======================================================================
   3. ODSTĘPY (Bootstrap 4 spacing) - skala 0/.25/.5/1/1.5/3rem
   ====================================================================== */
.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}
.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:1rem}.ml-4{margin-left:1.5rem}.ml-5{margin-left:3rem}
.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:1rem}.mr-4{margin-right:1.5rem}.mr-5{margin-right:3rem}
.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:1rem;margin-right:1rem}.mx-4{margin-left:1.5rem;margin-right:1.5rem}.mx-5{margin-left:3rem;margin-right:3rem}
.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:1rem;margin-bottom:1rem}.my-4{margin-top:1.5rem;margin-bottom:1.5rem}.my-5{margin-top:3rem;margin-bottom:3rem}
.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:1rem}.m-4{margin:1.5rem}.m-5{margin:3rem}
.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:1rem}.pt-4{padding-top:1.5rem}.pt-5{padding-top:3rem}
.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:1rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:3rem}
.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:1rem}.pl-4{padding-left:1.5rem}.pl-5{padding-left:3rem}
.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:1rem}.pr-4{padding-right:1.5rem}.pr-5{padding-right:3rem}
.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:1rem;padding-right:1rem}.px-4{padding-left:1.5rem;padding-right:1.5rem}.px-5{padding-left:3rem;padding-right:3rem}
.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:1rem;padding-bottom:1rem}.py-4{padding-top:1.5rem;padding-bottom:1.5rem}.py-5{padding-top:3rem;padding-bottom:3rem}
.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}

/* ======================================================================
   4. LEGACY: klasy padX / marX (litery powtórzone = mnożnik) - wartości z theme/1/css/css.css
   ====================================================================== */
.padA{padding:5px}.padAA{padding:10px}.padAAA{padding:15px}.padAAAA{padding:25px}
.padL{padding-left:5px}.padLL{padding-left:10px}.padLLL{padding-left:15px}.padLLLL{padding-left:25px}
.padR{padding-right:5px}.padRR{padding-right:10px}.padRRR{padding-right:15px}.padRRRR{padding-right:25px}
.padT{padding-top:5px}.padTT{padding-top:10px}.padTTT{padding-top:15px}.padTTTT{padding-top:25px}
.padB{padding-bottom:5px}.padBB{padding-bottom:10px}.padBBB{padding-bottom:15px}.padBBBB{padding-bottom:25px}
.marA{margin:5px}.marAA{margin:10px}.marAAA{margin:15px}.marAAAA{margin:25px}
.marL{margin-left:5px}.marLL{margin-left:10px}.marLLL{margin-left:15px}.marLLLL{margin-left:25px}
.marR{margin-right:5px}.marRR{margin-right:10px}.marRRR{margin-right:15px}.marRRRR{margin-right:25px}
.marT{margin-top:5px}.marTT{margin-top:10px}.marTTT{margin-top:15px}.marTTTT{margin-top:25px}
.marB{margin-bottom:5px}.marBB{margin-bottom:10px}.marBBB{margin-bottom:15px}.marBBBB{margin-bottom:25px}

/* ======================================================================
   5. LEGACY: wyrównanie / dekoracja tekstu / float (wartości z theme/1)
   ====================================================================== */
.fL{float:left}
.fR{float:right}
.alR{text-align:right}
.alL{text-align:left}
.alC{text-align:center}
.alJ{text-align:justify}
.u{text-decoration:underline}
.i{font-style:italic}
.b{font-weight:bold}
.n{font-weight:normal}
.br{clear:both}
.ohide{overflow:hidden}
.bAll{border:1px solid var(--line)}

/* kolory tekstu - legacy (theme/1); c1/cLink pokrywają się z tokenami Zadania 2 */
.cWhite{color:#fff}
.cBlack{color:#000}
.cSzary{color:#aaa}
.cSzaryx{color:#c5c5c5}
.cRed{color:#ff3e3e}
.cLink{color:#226697}
.c1{color:var(--brand)}
.bg_c1{background-color:var(--brand)}

/* ======================================================================
   6. LEGACY: rozmiary czcionek (wartości z theme/1)
   ====================================================================== */
.fsmallx{font-size:10px}
.fsmall{font-size:12px}
.fmedium{font-size:14px}
.fnormal{font-size:18px}
.fbig{font-size:20px}
.fbigx{font-size:22px}
.fbigxx{font-size:24px}
.fbigxxx{font-size:27px}
.fbigxxxx{font-size:32px}
.fUP{text-transform:uppercase}
.ftbig{text-transform:uppercase}

/* ======================================================================
   7. LEGACY: obramowania / tła / layout (wartości z theme/1; kolor obramowań
      zamieniony na var(--line) zgodnie ze specyfikacją Zadania 3 - odpowiednik #ddd z theme/1)
   ====================================================================== */
.bTop{border-top:1px solid var(--line)}
.bBottom{border-bottom:1px solid var(--line)}
.bgSzary{background-color:#eee}
.bgWhite{background:#fff}
.bgNone{background:none}
.bgpodswietl{background:#eee}
tr.podswietl:hover{background:#eee}
.ramka{padding:5px;border:1px solid var(--hair)}
.ramkaOkr{padding:5px;border:1px solid #aaa;border-radius:10px}
.ramkaShadowBR{box-shadow:5px 5px 10px}
/* krag/kragBR - wartość z theme/1 (border-bottom-right-radius:16px, zaokrąglenie tylko jednego rogu) */
.krag{border-radius:16px}
.kragBR{border-bottom-right-radius:16px}
.img100{width:100% !important;height:auto !important}
.min300{min-width:300px}
.posRel{position:relative}
.SGartTop{font-size:20px}
.ikony{margin-right:10px;float:left}

/* layout dwukolumnowy legacy (sidebar 300px) - wartości z theme/1, breakpoint 768px jak w theme/1 */
.tmMainL{float:left;width:970px}
.tmMainR{float:right;width:300px !important;margin:0 0 0 auto}
.autowidthR300{width:calc(100% - 324px) !important}
@media(max-width:768px){
 .tmMainL{clear:both;float:none;width:100% !important}
 .tmMainR{display:none}
 .autowidthR300{width:100%}
}

/* miniatury / podpisy zdjęć (wartości z theme/1) */
.imgMiniKat{position:absolute;background:rgba(255,255,255,.7);padding:2px 5px 0 5px;text-align:center;bottom:0;right:0;float:right;font-size:11px;color:#111}
.imgMiniTitle{position:absolute;background:rgba(0,0,0,.6);padding:2px 5px;text-align:center;bottom:0;right:0;width:100%;font-size:16px;color:#fff}

/* lista artykułów - link odwiedzony (wartość z theme/1) */
a.mem:visited{color:#aaa;text-decoration:none}
a.mem:visited:hover{color:#aaa;text-decoration:underline}

/* tabela rezerwacji/wierszy (wartości z theme/1) */
td.wierszL{text-align:left;padding:5px;background:none !important}
td.wierszC{text-align:center;padding:5px;background:none !important}
td.wierszR{text-align:right;padding:5px;background:none !important}

/* strzałki nawigacji w galerii artykułu (wartości z theme/1) */
.ArtViewGal{position:absolute;top:0;width:120px;height:100%;margin:0 auto 0 0;text-align:center;background-color:rgba(0,0,0,.1)}
.ArtViewGal:hover{background-color:rgba(255,255,255,.3)}
.ArtViewGal.L{left:0}
.ArtViewGal.R{right:0}
.ArtViewGal i{color:#fff;position:absolute;top:40%}
.ArtViewGal:hover i{color:var(--brand)}

/* etykiety pod/nad reklamami (wartości z theme/1; nie mylić z ID reklamaA/reklamaB0/reklamaB1 - patrz wyjątki) */
.reklama{padding:20px 0 3px 0;font-size:9px;color:#c5c5c5;text-align:center}
.reklamaTXT{padding-top:5px;text-align:center;font-size:9px;color:#ddd;text-transform:uppercase}
.reklamaNb{font-size:9px;color:#c5c5c5;text-align:center}
.reklamaBx{margin:0 auto;text-align:center}

/* lazy-load obrazków - theme/3 nie ładuje biblioteki blazy.js (natywny loading="lazy"),
   więc obraz ma być zawsze widoczny zamiast czekać na klasę .b-loaded */
.b-lazy{opacity:1}

/* ======================================================================
   8. BOOTSTRAP 4 - podzbiór komponentów (kolory: stockowa paleta BS4 4.6,
      poza bg/text/btn/alert -primary/-warning/-success, które są nadpisane
      zgodnie ze specyfikacją Zadania 3 na kolory marki)
   ====================================================================== */
.w-100{width:100%}
.position-relative{position:relative}
.border{border:1px solid var(--line)}
.border-danger{border-color:#dc3545}
.img-fluid{max-width:100%;height:auto}
.img-thumbnail{padding:.25rem;background:#fff;border:1px solid var(--line);border-radius:.25rem;max-width:100%;height:auto}

.h1,.h2,.h3,.h4{font-weight:500;line-height:1.2;margin:0 0 .5rem;color:var(--txt-h)}
.h1{font-size:2.5rem}
.h2{font-size:2rem}
.h3{font-size:1.75rem}
.h4{font-size:1.5rem}

.text-center{text-align:center}
.text-end{text-align:right}
.text-justify{text-align:justify}
.text-white{color:#fff}
.text-muted{color:var(--txt-2)}
.text-primary{color:#226697}
.text-danger{color:#dc3545}
.text-success{color:#3f9142}
.text-light{color:#f8f9fa}

.bg-primary{background-color:#226697}
.bg-warning{background-color:#c78a1e}
.bg-success{background-color:#3f9142}
.bg-danger{background-color:#dc3545}
.bg-info{background-color:#17a2b8}
.bg-secondary{background-color:#6c757d}
.bg-light{background-color:var(--band)}
.bg-dark{background-color:var(--dark)}
.bg-white{background-color:#fff}

.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}

.btn{display:inline-block;font-weight:400;text-align:center;vertical-align:middle;user-select:none;background:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;cursor:pointer}
.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}
.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}
.btn-primary{background-color:#226697;border-color:#226697;color:#fff}
.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}
.btn-success{background-color:#3f9142;border-color:#3f9142;color:#fff}
.btn-warning{background-color:#c78a1e;border-color:#c78a1e;color:#fff}
.btn-danger{background-color:#dc3545;border-color:#dc3545;color:#fff}
.btn-link{background:none;border-color:transparent;color:#226697;text-decoration:underline}
.btn-outline-primary{background:transparent;border-color:#226697;color:#226697}
.btn-outline-secondary{background:transparent;border-color:#6c757d;color:#6c757d}
.btn-outline-danger{background:transparent;border-color:#dc3545;color:#dc3545}

.card{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--card-sh)}
.card-body{padding:1.25rem}
.card-title{margin:0 0 .75rem;font-size:1.25rem;font-weight:600;color:var(--txt-h)}

.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}
.alert-primary{color:#173f57;background-color:#d7e6ef;border-color:#b9d4e3}
.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}
.alert-success{color:#245527;background-color:#dcefdd;border-color:#c3e3c5}
.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}
.alert-warning{color:#6b4d10;background-color:#f7ecd3;border-color:#f0ddaf}
.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}

.table{width:100%;margin-bottom:1rem;color:var(--txt);border-collapse:collapse}
.table th,.table td{padding:.75rem;vertical-align:top;border-top:1px solid var(--line)}
.table thead th{vertical-align:bottom;border-bottom:2px solid var(--line)}
.table-bordered,.table-bordered th,.table-bordered td{border:1px solid var(--line)}
.table-hover tbody tr:hover{background-color:var(--band)}
.table-sm th,.table-sm td,.table-condensed th,.table-condensed td{padding:.3rem}
.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:var(--txt);background-color:#fff;border:1px solid var(--line);border-radius:.25rem}
.form-control-sm{padding:.25rem .5rem;font-size:.875rem}
.form-select{display:block;width:100%;padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;color:var(--txt);background-color:#fff;border:1px solid var(--line);border-radius:.25rem}
.form-select-sm{padding:.25rem .5rem;font-size:.875rem}
.form-label{margin-bottom:.5rem;display:inline-block}
.form-group{margin-bottom:1rem}
.form-check{display:block;padding-left:1.25rem}
.form-check-input{margin-left:-1.25rem}
.form-check-label{margin-bottom:0}

.nav-item{list-style:none}
.nav-link{display:block;padding:.5rem 1rem;color:#226697}

.fade{transition:opacity .15s linear;opacity:0}
.fade.show{opacity:1}

.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden}
.modal.show{display:block}
.modal-dialog{position:relative;width:auto;margin:1.75rem auto;max-width:500px}
.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 3.5rem)}
.modal-lg{max-width:800px}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;background:#fff;border-radius:8px;box-shadow:var(--card-sh-h)}
.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--line)}
.modal-title{margin:0;font-size:1.25rem;color:var(--txt-h)}
.modal-body{padding:1rem}
.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid var(--line)}

.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}
.embed-responsive::before{display:block;content:""}
.embed-responsive-16by9::before{padding-top:56.25%}
.embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;width:100%;height:100%;border:0}

/* ======================================================================
   WYJĄTKI - klasy z audytu świadomie pominięte w compat.css (nie generują
   błędu w kroku 3 "brak pokrycia", bo mają inne, udokumentowane pokrycie)
   ======================================================================

   A) Biblioteki zewnętrzne (własny CSS ładowany osobno, poza compat.css):
      - ui-widget-content, ui-corner-all, ui-widget-header, ui-icon, ui-widget,
        ui-icon-check, ui-state-error, ui-state-active, ui-icon-alert,
        ui-icon-comment - motyw jQuery UI (datepicker/tabs), własny plik CSS
        biblioteki (poza zakresem compat.css).
      - fas, far, fab, fa, fa-2x, fa-4x, fa-angle-up, fa-angle-down,
        fa-chevron-circle-left, fa-chevron-circle-right, fa-bus, fa-bed,
        fa-users-cog, fa-star, fa-plus, fa-calendar - Font Awesome, self-hosted
        w www/theme/1/css/fa-all.min.css; theme/3 dołączy analogiczny plik
        w Zadaniu 4 (poza zakresem compat.css).
      - adsbygoogle - Google AdSense (styl wstrzykiwany przez skrypt reklamowy).
      - fb-share-button, fb-xfbml-parse-ignore - Facebook SDK (styl wstrzykiwany
        przez skrypt fb-root/SDK).
      - iconify - web-component biblioteki Iconify (custom element, nie klasa CSS).

   B) ID reklamowe (nienaruszalne, poza zakresem CSS klas) - reklamaA, reklamaB0,
      reklamaB1, #rB1end0, #rB1end1, #reklamaA, #reklamaB0d, #reklamaB1d, sloty
      GPT tmA/tmB0/tmB1 - przenoszone 1:1 zgodnie z ograniczeniami globalnymi,
      obsługa w Zadaniu 4/5 (nie compat.css). ".reklama/.reklamaTXT/.reklamaNb/
      .reklamaBx" (klasy, nie ID) SĄ pokryte wyżej w compat.css.

   C) Style wbudowane bezpośrednio w konkretny szablon (<style> w tym samym
      .tpl, nie wymagają globalnego compat.css):
      - kv, st0 - SVG mapa Polski (koronawirus.tpl, test.tpl) - fill/stroke
        zdefiniowane inline w <style> danego pliku.
      - noclegiTD, noclegiTD0-5, noclegiTDw1-7 - tabela rezerwacji
        (ext/rezerwacje.tpl) - <style> na początku pliku.
      - wpis, logo, logoC, naglowek, dane, przycisk, male - katalog firm
        (ext/kf/katalog.tpl) - <style> na początku pliku.
      - kontaktWiersz, informacjeButton - ext/kf/firma.tpl - <style> lokalny.
      - pogW - ext/pogoda/start.tpl - <style> lokalny.
      - calDayNagl - site/Strony/kalendarz.tpl - <style> lokalny.
      - kragx - ext/fvat/pay.tpl - <style> lokalny (inna wartość niż .kragBR).
      - ocena - ext/wybory2014/sesja.tpl (moduł archiwalny) - <style> lokalny.

   D) Klasa-znacznik dla JS/analityki, bez własnego stylu (state marker):
      - artstat - div z atrybutem dartid do zliczania statystyk artykułu
        (JS), brak deklaracji CSS w theme/1 - celowo bez stylu.

   E) Artefakty regexa audytu (fragmenty warunków Smarty złapane przez
      `grep class="..."` przy niezacytowanych blokach {if}...{/if} wewnątrz
      atrybutu class - NIE są to realne klasy CSS; właściwa klasa bazowa
      (padB, posRel, padA, alL, alC) jest już pokryta wyżej):
      - padB{if, $art.autorUID>0}, posRel{if, padA{if, {if}, cRed{/if},
        {/if}ohide, {/if}ixFoto3{if, padL{/if}, al{if, alL{if,
        bg-success{elseif, bg-danger{/if}, bg-danger{if, pt-4{if,
        d-xl-block{if, d-md-block{elseif, d-lg-block{/if}, d-none d-md-block/
        d-none d-lg-block (paired responsive toggle - klasy bazowe d-none,
        d-md-block, d-lg-block SĄ pokryte wyżej), columna{$prio},
        $art@last}kragBR, $art@last}z{else}s{/if}, $art@index%3==...{/if},
        $art@first, $p.stan==, containerIMGtxt{if.

   F) Literówki w szablonach (inna wielkość liter / brak spacji niż realna
      klasa) - nieczynne w obecnych szablonach, poza zakresem compat.css
      (nie modyfikujemy logiki widgetów ext/S wg ograniczeń globalnych):
      - al_r, alc, fl, fr, btop, FBigx (odpowiedniki alR/alC/fL/fR/bTop/
        fbigx z inną wielkością liter).

   G) Poza top-100 audytu, brak definicji w theme/1 (css.css i cssInc.min.css)
      ani stylu inline w szablonie - moduły niszowe/administracyjne o niskiej
      częstości (<=10 wystąpień), do uzupełnienia dopiero po zgłoszeniu
      realnego problemu wizualnego: frmValRad, frmValSelect, ocenaAll,
      color-table, success-table, tmstyl, eventsData, eventsDataH,
      OgloszeniaBorderRight, OgloszeniaProdukt, OgloszeniaInline,
      OgloszeniaContent, ForumHead, ArtykulyTXT, odp, box, L, R, OR, not, scope.

   H) Pojedyncze litery/skróty będące prawdopodobnie dalszymi artefaktami
      warunków Smarty w atrybutach class (np. wynik {if}L{elseif}R{else}C{/if}
      sklejony bez spacji z klasą bazową) - jeśli w przyszłości potwierdzi się
      realne, samodzielne użycie (np. ".ArtViewGal.L"/".ArtViewGal.R" - TE
      SĄ już pokryte wyżej razem z .ArtViewGal), doprecyzować w kolejnym
      zadaniu.
*/
