/*
Quick.Cms.Lite (demo) – skórka dla Quick.Cms, developed by grafiQa
Ciemny hero ze sliderem, jasna kolumna treści, ciemna stopka z menu.
*/

:root {
  --color-text: #1b1a18;
  --color-muted: #6f6a62;
  --color-bg: #ffffff;
  --color-soft: #f4f1ec;
  --color-divider: #e4dfd6;
  --color-accent: #9a7b4f;
  --color-accent-dark: #7a5f3a;
  --color-dark: #0e0e0e;
  --color-dark-2: #181818;
  --color-on-dark: #f2efe9;
  --color-on-dark-muted: #9b978f;
  --color-white: #fff;
  --font: "Plus Jakarta Sans", "Helvetica Neue", Arial, sans-serif;
  --gutter: clamp(1rem, 4vw, 3rem);
  --measure: 44rem;
}

/* GLOBAL */
body, body *, body *:before, body *:after{margin:0;padding:0;border:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body, table{color:var(--color-text);font-family:var(--font);font-size:1.0625rem;}
body{background:var(--color-bg);line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:var(--color-accent-dark);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;}
a:hover{color:var(--color-text);}
strong{font-weight:600;}
.msg.error h1{padding:4rem 0;text-align:center;}
.wai{position:absolute;width:1px;height:1px;clip:rect(1px,1px,1px,1px);overflow:hidden;}

#container{position:relative;}

/* SKIP LINKS */
#skiplinks{position:absolute;top:0;left:0;}
#skiplinks a{position:absolute;top:-500px;left:0;z-index:100;min-width:200px;padding:10px;color:var(--color-white);}
#skiplinks a:focus{top:0;background:#000;}

/* HEADER / NAVIGATION */
.header__navigation{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem var(--gutter);color:var(--color-on-dark);transition:background .35s ease, padding .35s ease, box-shadow .35s ease;}
.header__navigation.is-solid, .is-sub .header__navigation{background:rgba(14,14,14,.94);padding-top:.75rem;padding-bottom:.75rem;box-shadow:0 1px 0 rgba(255,255,255,.06);}
@supports (backdrop-filter: blur(8px)){
  .header__navigation.is-solid, .is-sub .header__navigation{background:rgba(14,14,14,.82);backdrop-filter:blur(10px);}
}

#logo #title a{color:var(--color-on-dark);font-size:.95rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;white-space:nowrap;}
#logo #title a strong{font-weight:700;}

.header__menu .level-0-menu{display:flex;flex-flow:row wrap;list-style:none;gap:.25rem 1.6rem;}
.header__menu .menu__link{position:relative;display:block;padding:.35rem 0;color:var(--color-on-dark);font-size:.78rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;opacity:.78;transition:opacity .25s ease;}
.header__menu .menu__link:after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .3s ease;}
.header__menu .menu__link:hover, .header__menu .selected > .menu__link{opacity:1;}
.header__menu .menu__link:hover:after, .header__menu .selected > .menu__link:after{width:100%;}

/* menu mobilne ( przycisk Menu + wysuwany panel ) wlacza core/common.js klasa html.menu-collapsed -
   wtedy, gdy menu nie miesci sie w jednej linii obok logo, a nie od stalej szerokosci ekranu */
button.hamburger{display:none;align-items:center;gap:.6rem;background:none;color:var(--color-on-dark);cursor:pointer;font:inherit;}
html.menu-collapsed button.hamburger{display:flex;}
html.menu-collapsed .header__menu .menu-top{display:none;}
button.hamburger .hamburger-label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;}
button.hamburger .hamburger-box{position:relative;display:block;width:22px;height:14px;}
button.hamburger .hamburger-inner, button.hamburger .hamburger-inner:before, button.hamburger .hamburger-inner:after{position:absolute;left:0;display:block;width:22px;height:1.5px;background:currentColor;content:"";}
button.hamburger .hamburger-inner{top:6px;}
button.hamburger .hamburger-inner:before{top:-6px;}
button.hamburger .hamburger-inner:after{top:6px;}
/* mobile menu (mmenu-light) */
.mm-ocd .menu__link{display:block;padding:.9rem 1.25rem;color:var(--color-text);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;font-size:.9rem;}
.mm-ocd .selected > .menu__link{color:var(--color-accent-dark);}
.mm-ocd .level-0-menu{list-style:none;}

/* HERO (start page) */
#hero{position:relative;height:100vh;height:100svh;min-height:520px;background:var(--color-dark);color:var(--color-on-dark);overflow:hidden;}
#hero.no-slider{background:
  radial-gradient(ellipse 60% 55% at 72% 38%, rgba(154,123,79,.28), transparent 70%),
  radial-gradient(ellipse 50% 60% at 15% 90%, rgba(255,255,255,.06), transparent 70%),
  var(--color-dark);}
#hero #slider, #hero .quick-slider{position:absolute !important;inset:0;width:100% !important;height:100% !important;}
#hero .quick-slider ul, #hero #slider > ul{height:100%;list-style:none;}
#hero .quick-slider-slide, #hero #slider li{height:100% !important;width:100%;}
#hero #slider li.img img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 30%;}
#hero:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 22%, rgba(0,0,0,0) 45%, rgba(0,0,0,.72) 100%);}
#hero .quick-slider-slide .description{z-index:3;position:absolute;top:auto;right:var(--gutter);bottom:2rem;left:auto;width:auto;max-width:22rem;min-width:0;padding:0;background:none;font-size:.8rem;line-height:1.5;color:var(--color-on-dark-muted);text-align:right;}
#hero .quick-slider-nav-arrows{display:none;}
#hero .quick-slider-nav-dots-wrapper{z-index:4;bottom:2.2rem;left:auto;right:var(--gutter);width:auto;text-align:right;}
#hero .quick-slider-nav-dots{width:28px;height:2px;margin:0 0 0 8px;background:rgba(255,255,255,.35);border:0;vertical-align:middle;}
#hero .quick-slider-nav-dots.active, #hero .quick-slider-nav-dots:hover{background:var(--color-white);}
#hero div[id^="slider-"] > ul > li{display:none;}

.hero__text{position:absolute;z-index:3;left:var(--gutter);right:var(--gutter);bottom:clamp(3rem, 10vh, 6rem);}
.hero__eyebrow{margin-bottom:1rem;color:var(--color-on-dark-muted);font-size:.8rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;}
.hero__name{font-size:clamp(3rem, 11vw, 9.5rem);font-weight:300;line-height:.92;letter-spacing:-.035em;}
.hero__name strong{display:inline;font-weight:700;} /* pogrubienie nie lamie linii - nowa linia to osobny <br> ( Enter / przycisk w edytorze nazwy ) */
.hero__down{position:absolute;right:0;bottom:.4rem;display:block;width:44px;height:44px;border:1px solid rgba(255,255,255,.35);border-radius:50%;transition:border-color .25s ease;}
.hero__down span{position:absolute;left:50%;top:44%;width:9px;height:9px;border-right:1.5px solid var(--color-white);border-bottom:1.5px solid var(--color-white);transform:translate(-50%,-50%) rotate(45deg);}
.hero__down:hover{border-color:var(--color-white);}
.has-slider .hero__down{display:none;}

/* BODY */
#body{clear:both;}
#body .container{padding:0 var(--gutter);}
.is-sub #body{padding-top:4.5rem;}

/* PAGE */
#page{max-width:var(--measure);margin:0 auto;padding:clamp(3rem, 8vw, 6rem) 0 clamp(3rem, 8vw, 5rem);}
#page h1{margin:0 0 2.2rem;font-size:var(--h1-size, clamp(2.2rem, 6vw, 3.6rem));color:var(--h1-color, inherit);font-weight:300;line-height:1.05;letter-spacing:-.03em;}
/* strona glowna: H1 jako maly napis nad trescia - wielkosc i kolor z ustawien ( belka administratora ) tez tu dzialaja */
.is-start #page h1{font-size:var(--h1-size, .8rem);font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--h1-color, var(--color-accent));margin-bottom:1.6rem;}

.breadcrumb{margin-bottom:1.25rem;font-size:.85rem;color:var(--color-muted);}
.breadcrumb ol{list-style:none;}
.breadcrumb li{display:inline-block;}
.breadcrumb li:not(:first-child)::before{content:"\203A";padding:0 .5em;}

#page div.content > p{padding-bottom:1.1em;}
#page div.content > p.lead{padding-bottom:1.4em;font-size:clamp(1.25rem, 2.6vw, 1.55rem);font-weight:300;line-height:1.5;letter-spacing:-.01em;}
#page div.content > h2{margin:2.8em 0 1em;padding-top:1.4em;border-top:1px solid var(--color-divider);color:var(--h2-color, var(--color-accent));font-size:var(--h2-size, .78rem);font-weight:600;letter-spacing:.22em;text-transform:uppercase;}
#page div.content > h2:first-child{margin-top:0;padding-top:0;border-top:0;}
#page div.content > h3{margin:1.6em 0 .6em;color:var(--h3-color, inherit);font-size:var(--h3-size, 1.15rem);font-weight:600;}
#page div.content > ul, #page div.content > ol{margin:0 0 1.4em;padding:0;list-style:none;}
#page div.content > ul > li{position:relative;margin:0;padding:.75em 0 .75em 1.6em;border-bottom:1px solid var(--color-divider);}
#page div.content > ul > li:before{content:"";position:absolute;left:0;top:1.45em;width:.7em;height:1px;background:var(--color-accent);}
/* punktor wybierany w ustawieniach ( belka administratora ): <html data-bullet="..."> - domyslnie kreska */
html[data-bullet="dot"] #page div.content > ul > li:before, html[data-bullet="square"] #page div.content > ul > li:before{top:1.26em;width:.38em;height:.38em;}
html[data-bullet="dot"] #page div.content > ul > li:before{border-radius:50%;}
html[data-bullet="arrow"] #page div.content > ul > li:before, html[data-bullet="check"] #page div.content > ul > li:before{top:.75em;width:auto;height:auto;background:none;color:var(--color-accent);font-weight:600;line-height:inherit;}
html[data-bullet="arrow"] #page div.content > ul > li:before{content:"\203A";}
html[data-bullet="check"] #page div.content > ul > li:before{content:"\2713";}
html[data-bullet="none"] #page div.content > ul > li{padding-left:0;}
html[data-bullet="none"] #page div.content > ul > li:before{display:none;}
#page div.content > ol{list-style:decimal;padding-left:1.4em;}
#page div.content > ol > li{margin:.5em 0;}

/* IMAGES */
ul[class*='images-']{list-style:none;}
ul[class*='images-'] li{margin:0 0 1rem 0;}
ul[class*='images-'] p{margin-top:.4rem;color:var(--color-muted);font-size:.85rem;}
ul[class*="images-"] img{display:block;max-width:100%;height:auto;}
ul[class*="images-"] a:hover img{opacity:.88;}
.images-1{clear:left;float:left;max-width:45%;margin:.4rem 1.8rem 1rem 0;}
.images-2{clear:right;float:right;max-width:45%;margin:.4rem 0 1rem 1.8rem;}
.images-3{clear:both;display:grid;grid-template-columns:repeat(auto-fill, minmax(12rem, 1fr));gap:1rem;margin-top:2rem;}
@media screen and (max-width:600px){
  .images-1, .images-2{float:none;max-width:100%;margin:0 0 1.5rem;}
}

/* FILES LIST */
.files-list{clear:both;margin:2rem 0 .5rem;list-style:none;font-size:.95rem;}
.files-list li{padding:.7rem 0 .7rem 2rem;border-bottom:1px solid var(--color-divider);background:url('img/files-ext.gif') no-repeat 0 calc(.7rem + 2px);}
.files-list p{display:inline;color:var(--color-muted);}
.files-list p:before{content:" – ";}

/* SUBPAGES LIST */
.pages-list{clear:both;margin:2rem 0;}
.pages-list .page{padding:1.4rem 0;border-top:1px solid var(--color-divider);}
.pages-list .page:after{content:"";display:table;clear:both;}
.pages-list .image{float:left;max-width:30%;margin:0 1.4rem .5rem 0;}
.pages-list .image img{max-width:100%;}
.pages-list .title{font-size:1.3rem;font-weight:600;}
.pages-list .title a{color:var(--color-text);text-decoration:none;}
.pages-list .title a:hover{color:var(--color-accent-dark);}
.pages-list div.description{color:var(--color-muted);}

/* FOOTER */
/* kolor stopki z ustawien ( --foot-bg; kolory napisow dobiera core/site-style.php ) */
#foot{--color-on-dark:var(--foot-text, #f2efe9);--color-on-dark-muted:var(--foot-text-muted, #9b978f);background:var(--foot-bg, var(--color-dark));color:var(--color-on-dark-muted);font-size:.9rem;}
#foot .container{padding:0 var(--gutter);}
.foot__cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem;padding-top:clamp(3rem, 7vw, 5rem) !important;padding-bottom:clamp(2.5rem, 6vw, 4rem) !important;}
@media screen and (max-width:760px){
  .foot__cols{grid-template-columns:1fr 1fr;}
  .foot__about{grid-column:1 / -1;}
}
@media screen and (max-width:420px){
  .foot__cols{grid-template-columns:1fr;}
}
.foot__name{color:var(--color-on-dark);font-size:clamp(1.6rem, 3.5vw, 2.4rem);font-weight:300;line-height:1.1;letter-spacing:-.02em;}
.foot__name strong{font-weight:700;}
.foot__slogan{margin-top:.8rem;font-size:.9rem;}
.foot__head{margin-bottom:1rem;color:var(--color-accent);font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;}
.menu-foot .level-0-menu{list-style:none;}
.menu-foot .menu__link{display:inline-block;padding:.3rem 0;color:var(--color-on-dark);text-decoration:none;opacity:.75;transition:opacity .2s ease;}
.menu-foot .menu__link:hover, .menu-foot .selected > .menu__link{opacity:1;}
.menu-foot .menu__link[target="_blank"]:after{content:" \2197";font-size:.8em;opacity:.6;}
.foot__bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.4rem !important;padding-bottom:1.4rem !important;border-top:1px solid var(--foot-line, rgba(255,255,255,.08));font-size:.8rem;}
#powered a{color:var(--color-on-dark-muted);font-size:.75rem;letter-spacing:.06em;text-decoration:none;opacity:.7;transition:opacity .2s ease;}
#powered a strong{font-weight:600;}
#powered a:hover{opacity:1;color:var(--color-on-dark);}

.icon{display:inline-block;flex-shrink:0;width:1.5rem;height:1.5rem;fill:currentColor;}

@media print{
  *{color:#000 !important;background:#fff !important;}
  .header__navigation{position:static;}
  #menu-main, #hero, .foot__cols, #powered{display:none !important;}
  #page{padding:0;max-width:none;}
}

/* FORMS */
input[type="text"], input[type="email"], select, textarea{padding:.5rem .7rem;border:1px solid var(--color-divider);font-family:var(--font);font-size:1rem;}
input[type="submit"]{padding:.6rem 1.2rem;background:var(--color-dark);color:var(--color-white);font-family:var(--font);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
input[type="submit"]:hover{background:var(--color-accent-dark);}
label{font-weight:600;}

/* QUICK.BOX (image lightbox) */
#quick-box{position:fixed;width:100%;height:100%;left:0;top:0;background:rgba(0,0,0,.88);z-index:200;}
#quick-box .background{height:100%;}
#quick-box .quick-box-container{position:absolute;padding:0;}
#quick-box .image-wrapper{position:relative;line-height:0;}
#quick-box .navigation{position:absolute;bottom:0;width:100%;padding:.5em 0;text-align:center;font-size:.9rem;color:var(--color-white);line-height:normal;background:rgba(0,0,0,.3);}
#quick-box .navigation__sep{padding:0 3px;}
#quick-box .full-size{display:none;}
#quick-box .description{margin:0;padding:.6em 0;text-align:center;font-size:.85rem;color:#ddd;background:rgba(0,0,0,.8);max-height:66px;overflow:hidden;}
#quick-box .arrow{position:absolute;display:block;width:50%;top:15%;height:70%;z-index:100;opacity:.5;text-decoration:none;}
#quick-box .arrow:before{content:"";display:block;position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;margin:0 10px;background:url('img/arrows.png') no-repeat 0 0;}
#quick-box .arrow.prev:before{background-position:0 -32px;}
#quick-box .arrow.next:before{right:0;}
#quick-box .arrow:hover{opacity:.9;}
#quick-box .prev{left:0;}
#quick-box .next{right:0;}
#quick-box .close{position:absolute;top:0;right:0;padding:.2em .5em;background:#000;color:var(--color-white);font-weight:bold;text-decoration:none;z-index:100;line-height:normal;}
#quick-box .loading{display:block;padding:40px 35px;color:white;line-height:1em;}

/* SMALL SCREENS */
@media screen and (max-width:600px){
  #logo #title a{font-size:.8rem;letter-spacing:.14em;}
  .hero__down{display:none;}
  .hero__eyebrow{font-size:.7rem;letter-spacing:.18em;}
}

/* ==========================================================================
   EDYCJA NA STRONIE ( zalogowany administrator ) - core/front-edit.php / .js
   wzorowane na serwisie andrzejlichota
   ========================================================================== */
:root{--color-user-action:#c0392b;}

/* belka zalogowanego */
.front-user-bar{position:fixed;top:0;left:0;right:0;z-index:9998;display:flex;align-items:center;gap:1em;height:40px;padding:0 1rem;
  background:var(--color-user-action);color:#fff;font-family:var(--font);font-size:.78rem;letter-spacing:.02em;line-height:1.2;}
.front-user-bar-who{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.front-user-bar-who strong{font-weight:600;}
.front-user-bar-msg{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.9;}
.front-user-bar-msg.is-error{font-weight:600;opacity:1;}
.front-user-bar-link, .front-gadgets-toggle{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5em;padding:.35em .8em;
  border:1px solid rgba(255,255,255,.55);border-radius:6px;background:transparent;color:#fff;font-family:inherit;font-size:.7rem;
  letter-spacing:.04em;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
.front-user-bar-link:hover, .front-gadgets-toggle:hover{background:rgba(255,255,255,.18);border-color:#fff;color:#fff;}
html.has-user-bar body{padding-top:40px;}
html.has-user-bar .header__navigation{top:40px;}
html.has-user-bar #hero{height:calc(100vh - 40px);height:calc(100svh - 40px);}
@media screen and (max-width:600px){
  .front-user-bar{gap:.5em;padding:0 .6rem;font-size:.68rem;}
  .front-user-bar-who, .front-user-bar-msg{display:none;}
  .front-user-bar-link{margin-right:auto;}
}

/* ukrycie narzedzi - podglad strony oczami goscia */
html.front-gadgets-hidden .front-edit,
html.front-gadgets-hidden .front-add-images-button,
html.front-gadgets-hidden .front-slider-edit{display:none !important;}

/* olowek przy edytowalnym polu */
.front-edit{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;margin:0 0 0 .5em;padding:0;
  border:1px solid var(--color-user-action);border-radius:3px;background:transparent;color:var(--color-user-action);
  cursor:pointer;vertical-align:middle;opacity:.75;transition:opacity .2s ease, background .2s ease, color .2s ease;font-family:var(--font);}
.front-edit:hover{opacity:1;background:var(--color-user-action);color:#fff;}
.front-edit svg{width:.9rem;height:.9rem;fill:currentColor;}
#page h1 .front-edit{position:relative;top:-.15em;}
#page .content > .front-edit.is-block{display:flex;margin:1rem 0 0;}
.front-edit.is-empty, .front-add-images-button{display:inline-flex;align-items:center;gap:.5em;width:auto;height:auto;margin:1rem 0 0;padding:.5em .95em;
  border:1px dashed var(--color-user-action);border-radius:6px;background:transparent;color:var(--color-user-action);
  font-family:var(--font);font-size:.8rem;letter-spacing:.02em;line-height:1.4;opacity:1;cursor:pointer;transition:background .2s ease,color .2s ease;}
.front-edit.is-empty:hover, .front-add-images-button:hover{background:var(--color-user-action);border-style:solid;color:#fff;}
.front-add-images-button svg, .front-edit.is-empty svg{width:1rem;height:1rem;fill:currentColor;}
.front-add-images-button{display:flex;clear:both;}

/* link na sliderze */
.front-slider-edit{position:absolute;z-index:6;top:5.5rem;right:var(--gutter);display:inline-flex;align-items:center;gap:.5em;padding:.5em .95em;
  border:1px solid var(--color-user-action);border-radius:6px;background:rgba(192,57,43,.9);color:#fff;font-size:.8rem;letter-spacing:.02em;text-decoration:none;}
.front-slider-edit:hover{background:var(--color-user-action);color:#fff;}
.front-slider-edit svg{width:.9rem;height:.9rem;fill:currentColor;}

/* okno edycji - ciemny modal na srodku ekranu */
/* tlo pod oknem edycji - kolor, krycie i rozmycie z ustawien ( --edit-overlay, --edit-overlay-blur; core/site-style.php ) */
.front-edit-overlay{position:fixed;inset:0;z-index:9990;background:var(--edit-overlay, rgba(10,10,10,.62));backdrop-filter:blur(var(--edit-overlay-blur, 3px));-webkit-backdrop-filter:blur(var(--edit-overlay-blur, 3px));animation:frontEditFade .18s ease;}
.front-edit-box{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;display:flex;flex-direction:column;
  width:min(680px,94vw);max-width:98vw;max-height:94vh;min-width:300px;min-height:200px;overflow:hidden;resize:both;
  background:#141414;color:#f4f4f4;border:1px solid #2b2b2b;border-radius:14px;box-shadow:0 24px 70px rgba(0,0,0,.55);
  font-family:var(--font);font-size:.9rem;line-height:1.5;text-align:left;animation:frontEditIn .2s cubic-bezier(.2,.8,.3,1);color-scheme:dark;}
.front-edit-box.is-wysiwyg{width:min(860px,96vw);}
.front-edit-box.is-images{width:min(820px,96vw);}
@keyframes frontEditFade{from{opacity:0}to{opacity:1}}
@keyframes frontEditIn{from{opacity:0;transform:translate(-50%,-46%) scale(.98)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.front-edit-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.2rem;border-bottom:1px solid #262626;}
.front-edit-title{font-size:1rem;font-weight:400;letter-spacing:.02em;color:#fff;}
.front-edit-title strong{font-weight:600;}
.front-edit-close{width:2rem;height:2rem;padding:0;border:0;border-radius:50%;background:transparent;color:#8a8a8a;font-size:1.5rem;line-height:1;cursor:pointer;}
.front-edit-close:hover{background:#242424;color:#fff;}
.front-edit-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:1.2rem;overflow-y:auto;overflow-x:hidden;}
.front-edit-box .front-edit-field{display:block;width:100%;padding:.75em .9em;background:#1c1c1c;border:1px solid #333;border-radius:8px;
  color:#f4f4f4;font-family:inherit;font-size:1rem;line-height:1.6;outline:none;transition:border-color .2s ease;}
.front-edit-box .front-edit-field:focus{border-color:#6a6a6a;}
.front-edit-box textarea.front-edit-field{flex:1 1 auto;resize:none;min-height:180px;}
.front-edit-buttons{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;padding:.9rem 1.2rem;border-top:1px solid #262626;background:#101010;}
.front-edit-buttons button{padding:.55em 1.4em;border-radius:8px;border:1px solid #3a3a3a;background:transparent;color:#e6e6e6;
  font-family:inherit;font-size:.9rem;letter-spacing:.04em;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease;}
.front-edit-buttons .front-edit-cancel:hover{background:#242424;border-color:#4d4d4d;}
.front-edit-buttons .front-edit-save{border-color:var(--color-user-action);color:#ff8a7d;font-weight:500;}
.front-edit-buttons .front-edit-save:hover{background:var(--color-user-action);color:#fff;}
.front-edit-buttons button:disabled{opacity:.5;cursor:wait;}
.front-edit-msg{margin-right:auto;font-size:.82rem;color:#9a9a9a;}
.front-edit-msg.error{color:#ff8080;}
.front-edit-loading{padding:2rem 1.2rem;text-align:center;color:#9a9a9a;}

/* TinyMCE w ciemnej kolorystyce okna */
.front-edit-box .mce-tinymce{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;border:1px solid #333 !important;border-radius:8px;overflow:hidden;box-shadow:none !important;}
.front-edit-box .mce-tinymce > .mce-container-body{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;}
.front-edit-box .mce-edit-area{flex:1 1 auto;min-height:0;border:0 !important;}
.front-edit-box .mce-edit-area iframe{height:100% !important;}
.front-edit-box .mce-panel{background:#1c1c1c !important;border-color:#333 !important;}
.front-edit-box .mce-btn{background:transparent !important;border-color:transparent !important;}
.front-edit-box .mce-btn:hover{background:#2e2e2e !important;}
.front-edit-box .mce-ico{color:#dcdcdc !important;}
.front-edit-box .mce-btn.mce-active, .front-edit-box .mce-btn:active{background:#3a3a3a !important;}
.front-edit-box .mce-toolbar-grp{border-bottom:1px solid #333 !important;}

/* okno zdjec */
.front-images-drop{display:flex;flex-direction:column;align-items:center;gap:.3em;padding:1.4rem 1rem;border:1px dashed #444;border-radius:10px;
  color:#cfcfcf;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease;}
.front-images-drop strong{color:#fff;font-weight:600;}
.front-images-drop small{color:#8a8a8a;font-size:.78rem;}
.front-images-drop:hover, .front-images-drop.is-drop{border-color:#f4f4f4;border-style:solid;background:#1c1c1c;}
/* pasek stanu wgrywania ( core/front-edit.js: frontUploadStatus ) */
.front-images-progress{margin:.9rem 0 0;padding:.7rem .8rem;border:1px solid #2f2f2f;border-radius:8px;background:#1c1c1c;}
.front-images-progress[hidden]{display:none;}
.front-images-progress-label{margin:0 0 .5rem;color:#f4f4f4;font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.front-images-progress-track{height:10px;border-radius:5px;background:#333;overflow:hidden;}
.front-images-progress-bar{height:100%;width:0;border-radius:5px;background:var(--h1-color, #e05a7f);transition:width .25s ease;}
.front-images-progress.is-processing .front-images-progress-bar{background-image:linear-gradient(45deg, rgba(255,255,255,.28) 25%, transparent 25%, transparent 50%, rgba(255,255,255,.28) 50%, rgba(255,255,255,.28) 75%, transparent 75%, transparent);background-size:20px 20px;animation:front-upload-stripes .7s linear infinite;}
.front-images-progress.is-done .front-images-progress-bar{background:#2fa36b;}
.front-images-progress.has-errors .front-images-progress-bar{background:#d9620b;}
@keyframes front-upload-stripes{from{background-position:0 0;}to{background-position:20px 0;}}
@media (prefers-reduced-motion: reduce){ .front-images-progress.is-processing .front-images-progress-bar{animation:none;} }
.front-images-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.9rem;margin:1.1rem 0 0;padding:0;list-style:none;}
.front-images-empty{grid-column:1 / -1;padding:1rem 0;color:#8a8a8a;text-align:center;}
.front-images-item{position:relative;display:flex;flex-direction:column;gap:.4rem;padding:.4rem;border:1px solid #2b2b2b;border-radius:8px;background:#1a1a1a;cursor:grab;}
.front-images-item.is-dragged{opacity:.4;cursor:grabbing;}
.front-images-item.is-busy{opacity:.4;pointer-events:none;}
.front-images-item img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px;background:#222;pointer-events:none;}
.front-images-item .front-edit-field{padding:.45em .6em;font-size:.8rem;}
.front-images-remove{position:absolute;top:.7rem;right:.7rem;width:1.8rem;height:1.8rem;padding:0;border:0;border-radius:50%;
  background:rgba(0,0,0,.7);color:#fff;font-size:1.2rem;line-height:1;cursor:pointer;}
.front-images-remove:hover{background:#c00;}
.front-images-hint{margin:.9rem 0 0;color:#8a8a8a;font-size:.8rem;}

@media print{
  .front-user-bar, .front-edit, .front-add-images-button, .front-slider-edit{display:none !important;}
  html.has-user-bar body{padding-top:0;}
}

/* ==========================================================================
   UKLAD NAPISU I SLOGANU NA SLIDERZE ( ustawiany w oknie slidera, bin: hero_layout )
   Pozycja = punkt zaczepienia w % slidera; wyrownanie mowi, ktora krawedz elementu
   lezy w tym punkcie. Ta sama regula dziala dla #hero i dla podgladu w oknie.
   Na telefonie ( < 768px ) zostaje uklad domyslny - tekst nie wyjdzie poza ekran.
   ========================================================================== */
@media screen and (min-width:768px){
  .hero-layout[data-layout="custom"] .hero__text{position:static;}
  .hero-layout[data-layout="custom"] .hero__eyebrow,
  .hero-layout[data-layout="custom"] .hero__name{position:absolute;z-index:3;margin:0;--tx:0%;}
  .hero-layout[data-layout="custom"] .hero__eyebrow{left:var(--slogan-x);top:var(--slogan-y);font-size:var(--slogan-size);white-space:nowrap;transform:translate(var(--tx),-50%);}
  .hero-layout[data-layout="custom"] .hero__name{left:var(--name-x);top:var(--name-y);font-size:max(2.4rem, var(--name-size));white-space:nowrap;transform:translate(var(--tx),-50%);}
  .hero-layout[data-slogan-align="center"] .hero__eyebrow, .hero-layout[data-name-align="center"] .hero__name{--tx:-50%;text-align:center;}
  .hero-layout[data-slogan-align="right"] .hero__eyebrow, .hero-layout[data-name-align="right"] .hero__name{--tx:-100%;text-align:right;}
  .hero-layout[data-layout="custom"] .hero__down{right:var(--gutter);bottom:2rem;}
}
.hero-layout[data-color="dark"] .hero__name{color:#111;}
.hero-layout[data-color="dark"] .hero__eyebrow{color:#333;}
.hero-layout[data-color="dark"]:after{background:linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 20%);}

/* okno slidera */
.front-edit-box.is-slider{width:min(1000px,96vw);}
.front-slider-section{margin:0 0 1.4rem;}
.front-slider-section:last-child{margin-bottom:0;}
.front-slider-section h3{margin:0 0 .7rem;color:#c9c9c9;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.front-slider-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 .7rem;}
.front-slider-seg{display:inline-flex;border:1px solid #3a3a3a;border-radius:8px;overflow:hidden;}
.front-slider-seg button{padding:.45em .85em;border:0;background:transparent;color:#cfcfcf;font-family:inherit;font-size:.8rem;cursor:pointer;}
.front-slider-seg button + button{border-left:1px solid #3a3a3a;}
.front-slider-seg button.is-on{background:#f4f4f4;color:#111;}
.front-slider-seg button.is-name.is-on{background:#ff8a7d;color:#111;}
.front-slider-seg button.is-slogan.is-on{background:#7dc4ff;color:#111;}
.front-slider-range{display:inline-flex;align-items:center;gap:.5rem;color:#9a9a9a;font-size:.78rem;}
.front-slider-range input{width:120px;accent-color:var(--color-user-action);}
.front-slider-range output{min-width:3.5em;color:#ddd;}
.front-slider-stage{position:relative;width:100%;overflow:hidden;border:1px solid #333;border-radius:8px;background:#0e0e0e;cursor:crosshair;user-select:none;-webkit-user-select:none;}
.front-slider-replica{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none;overflow:hidden;background:#0e0e0e center 30% / cover no-repeat;}
.front-slider-replica:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 22%, rgba(0,0,0,0) 45%, rgba(0,0,0,.72) 100%);}
.front-slider-replica[data-color="dark"]:after{background:linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 20%);}
.front-slider-replica .hero__text{color:var(--color-on-dark);}
.front-slider-marker{position:absolute;z-index:5;width:22px;height:22px;margin:-11px 0 0 -11px;border:2px solid #fff;border-radius:50%;
  box-shadow:0 0 0 2px rgba(0,0,0,.6);cursor:grab;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#111;}
.front-slider-marker.is-name{background:#ff8a7d;}
.front-slider-marker.is-slogan{background:#7dc4ff;}
.front-slider-marker.is-active{transform:scale(1.25);}
.front-slider-readout{margin:.5rem 0 0;color:#8a8a8a;font-size:.78rem;}
.front-slider-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;margin:.9rem 0 0;padding:0;list-style:none;}
.front-slider-list .front-images-item img{cursor:pointer;pointer-events:auto;}
.front-slider-list .front-images-item.is-preview{border-color:#f4f4f4;}
.front-slider-reset{padding:.45em .85em;border:1px solid #3a3a3a;border-radius:8px;background:transparent;color:#9a9a9a;font-family:inherit;font-size:.78rem;cursor:pointer;}
.front-slider-reset:hover{border-color:#6a6a6a;color:#fff;}
button.front-slider-edit{font-family:var(--font);cursor:pointer;}
.front-edit-panel-link{color:#8a8a8a;font-size:.82rem;text-decoration:none;margin-right:.4rem;}
.front-edit-panel-link:hover{color:#fff;}

/* wlasne kolory napisow z okna slidera ( --name-color / --slogan-color ) */
.hero-layout .hero__name{color:var(--name-color, inherit);}
.hero-layout .hero__eyebrow{color:var(--slogan-color, var(--color-on-dark-muted));}
.hero-layout[data-color="dark"] .hero__name{color:var(--name-color, #111);}
.hero-layout[data-color="dark"] .hero__eyebrow{color:var(--slogan-color, #333);}
.front-slider-colorpick{display:inline-flex;align-items:center;gap:.4rem;color:#9a9a9a;font-size:.78rem;}
.front-slider-colorpick input[type="color"]{width:2.2rem;height:1.7rem;padding:0;border:1px solid #3a3a3a;border-radius:6px;background:transparent;cursor:pointer;}
.front-slider-colorpick button{padding:.2em .5em;border:1px solid #3a3a3a;border-radius:6px;background:transparent;color:#9a9a9a;font-family:inherit;font-size:.72rem;cursor:pointer;}
.front-slider-colorpick button:hover{color:#fff;border-color:#6a6a6a;}
.front-slider-colorpick.is-auto input[type="color"]{opacity:.35;}
/* kolor blendy slajdu - osobna klasa, bo .front-slider-colorpick obsluguje kolory napisow ( aLayout ) */
.front-slider-blendcolor{display:inline-flex;align-items:center;gap:.4rem;color:#9a9a9a;font-size:.78rem;}
.front-slider-blendcolor input[type="color"]{width:2.2rem;height:1.7rem;padding:0;border:1px solid #3a3a3a;border-radius:6px;background:transparent;cursor:pointer;}
.front-slider-blendcolor input[type="color"]:disabled{opacity:.35;cursor:default;}
.front-slider-blendcolor button{padding:.2em .5em;border:1px solid #3a3a3a;border-radius:6px;background:transparent;color:#9a9a9a;font-family:inherit;font-size:.72rem;cursor:pointer;}
.front-slider-blendcolor button:hover{color:#fff;border-color:#6a6a6a;}

/* blenda: kazdy slajd ma wlasny gradient ( span.slide-blend, styl z core/front-edit.php ).
   Po zapisaniu ukladu w oknie slidera stary wspolny gradient znika - na zdjeciu zostaje tylko blenda slajdu.
   Selektory z #hero, bo #hero:after wyzej ma wyzsza wage */
#hero[data-layout="custom"]:after, .front-slider-replica:after,
#hero[data-layout="custom"][data-color="dark"]:after, .front-slider-replica[data-color="dark"]:after{background:none;}
.slide-blend, .front-slider-replica-blend{position:absolute;inset:0;z-index:1;pointer-events:none;}
.front-slider-replica .hero__text{z-index:3;}
.front-slider-marker.is-blend{background:#ffd166;}
.front-slider-seg button.is-blend.is-on{background:#ffd166;color:#111;}
.front-slider-blendtools[hidden]{display:none;}
.front-slider-blendtools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 .7rem;padding:.6rem .7rem;border:1px solid #2b2b2b;border-radius:8px;background:#181818;}
.front-slider-blendtools .front-slider-label{color:#ffd166;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;}
/* bez blendy menu stoi na samym zdjeciu - delikatny cien, zeby dalo sie je przeczytac na jasnym tle */
.is-start .header__navigation:not(.is-solid){text-shadow:0 1px 10px rgba(0,0,0,.45);}

/* przenikanie slajdow bez przyciemnienia ( skrypt w footer.php ) */
#hero .quick-slider-slide.is-leaving{opacity:1 !important;z-index:1;}
#hero .quick-slider-slide.is-entering{z-index:2;}

/* przed pierwsza zmiana slajdu widoczny jest tylko pierwszy - bez tego wszystkie slajdy
   lezaly na sobie i na wierzchu byl ostatni ( z jego blenda ) */
#hero .quick-slider-slide{position:absolute;top:0;left:0;display:none;}
#hero .quick-slider-slide:first-child{display:block;}
#hero #slider > ul > li:not(:first-child){display:none;}

/* ==========================================================================
   NAGLOWEK: bez przewiniecia - bez paska ( przezroczysty ), po przewinieciu - bialy pasek.
   Napisy zawsze czarne, bez cieni. Klase is-solid dokłada skrypt w footer.php
   ========================================================================== */
:root{--head-h:60px;}
.header__navigation,
.is-sub .header__navigation,
.is-start .header__navigation:not(.is-solid){height:var(--head-h);padding:0 var(--gutter);background:transparent;color:#111;
  box-shadow:none;text-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .25s ease;}
.header__navigation.is-solid, .is-sub .header__navigation.is-solid{background:#fff;}
#logo #title a, .header__menu .menu__link, button.hamburger{color:#111;text-shadow:none;}
.header__menu .menu__link{opacity:.7;}
.header__menu .menu__link:hover, .header__menu .selected > .menu__link{opacity:1;}
.is-sub #body{padding-top:var(--head-h);}

/* galeria "justified" - wtyczka justifiedGallery ( plugins/, jak w serwisie andrzejlichota ).
   Wtyczka stylizuje tylko a / div / figure, a galeria Quick.Cms to ul > li - te same reguly dla li.
   Bez JS ( zanim wtyczka ulozy rzedy ) zdjecia stoja obok siebie w naturalnej wielkosci */
.images-3{display:flex;flex-wrap:wrap;gap:var(--gallery-gap, 6px);margin-top:2rem;}
.images-3 li{position:relative;margin:0;overflow:hidden;}
.images-3 img{display:block;max-width:100%;height:auto;}
.images-3.justified-gallery{display:block;}
.justified-gallery > li{position:absolute;display:inline-block;overflow:hidden;opacity:.1;margin:0;padding:0;background:var(--color-soft);}
.justified-gallery > li > a{display:block;width:100%;height:100%;}
.justified-gallery > li > a > img, .justified-gallery > li > img{position:absolute;top:50%;left:50%;max-width:none;margin:0;padding:0;border:none;opacity:0;}
.justified-gallery > li.jg-entry-visible{opacity:1;background:none;}
.justified-gallery > li.jg-entry-visible > a > img, .justified-gallery > li.jg-entry-visible > img{opacity:1;transition:opacity .5s ease-in, transform .5s ease;}
.justified-gallery > li > a:hover > img{transform:scale(1.03);}
.images-3 p{position:absolute;left:0;right:0;bottom:0;z-index:2;max-width:none;margin:0;padding:1.6rem .7rem .5rem;
  background:linear-gradient(transparent, rgba(0,0,0,.6));color:#fff;font-size:.78rem;line-height:1.35;pointer-events:none;
  opacity:0;transition:opacity .25s ease;}
.images-3 li:hover p{opacity:1;}
@media screen and (max-width:600px){ .images-3 p{opacity:1;} }
/* zdjecia z lewej / prawej: szerokosc miniatury ( bez limitu 45% ), najwyzej cala kolumna */
.images-1, .images-2{max-width:100%;}
.images-1 img, .images-2 img{width:auto;max-width:100%;height:auto;}
/* listy, linie i sródtytuly z kreska omijaja zdjecie z lewej / prawej ( obramowania i punktory nie wchodza pod obrazek );
   gdy obok zdjecia zostaje mniej niz 22rem, schodza pod nie zamiast tworzyc waska kolumne */
#page div.content > ul, #page div.content > ol, #page div.content > h2, #page div.content > h3,
#page div.content > hr, #page div.content > table, #page div.content > blockquote{display:flow-root;min-width:min(100%, 22rem);}

/* stopka: powered by + designed by w jednej linii */
#powered{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;}
#powered .powered__sep{color:var(--color-on-dark-muted);opacity:.5;font-size:.75rem;}

/* formularz logowania do edycji ( core/front-login.php ) - bez obramowan i cieni */
.front-login{max-width:26rem;margin:2rem 0 0;}
.front-login label{display:block;margin:0 0 .35rem;color:var(--color-muted);font-size:.85rem;font-weight:500;}
.front-login input[type=email], .front-login input[type=password], .front-login input[type=text]{display:block;width:100%;margin:0 0 1rem;padding:.8em .95em;
  background:var(--color-soft);border:0;border-radius:6px;box-shadow:none;color:var(--color-text);font:inherit;outline:none;}
.front-login input:focus{background:#ebe6dc;}
.front-login .front-login__code{font-size:1.8rem;letter-spacing:.5em;text-align:center;padding:.4em .2em .4em .7em;}
.front-login__step{margin:0 0 1rem;color:var(--color-accent);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.front-login__buttons{display:flex;flex-wrap:wrap;gap:.6rem;margin:.2rem 0 0;}
.front-login button, .front-login__button{display:inline-block;padding:.7em 1.5em;border:0;border-radius:6px;box-shadow:none;background:var(--color-dark);color:#fff;
  font:inherit;font-size:.9rem;text-decoration:none;cursor:pointer;transition:background .2s ease;}
.front-login button:hover, .front-login__button:hover{background:var(--color-accent-dark);color:#fff;}
.front-login button.is-ghost, .front-login__button.is-ghost{background:var(--color-soft);color:var(--color-text);}
.front-login button.is-ghost:hover, .front-login__button.is-ghost:hover{background:#e4ded2;color:var(--color-text);}
.front-login__msg{margin:0 0 1.2rem;padding:.8rem 1rem;border:0;border-radius:6px;background:#e9f2e6;color:#2f5a2a;font-size:.9rem;}
.front-login__msg.is-error{background:#f7e4e1;color:#8a2a1e;}
.front-login__hint{margin:1rem 0 0;color:var(--color-muted);font-size:.8rem;}
.front-login__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* punkt srodka slajdu na telefonie ( okno slidera -> Telefon; --fx / --fy z core/front-edit.php ) */
@media screen and (max-width:767px){
  #hero #slider li.img img{object-position:var(--fx,50%) var(--fy,30%);}
}
/* telefon: slogan i nazwa wysrodkowane w poziomie, w pionie jak bylo ( przy dole zdjecia ) - polozenie z okna slidera dziala od 768 px */
@media screen and (max-width:767px){
  #hero .hero__text{left:var(--gutter);right:var(--gutter);text-align:center;}
  #hero .hero__eyebrow, #hero .hero__name{margin-left:auto;margin-right:auto;white-space:normal;}
  /* slogan pod nazwa ( w kodzie stoi nad nia - kolejnosc odwracamy tylko na telefonie ) */
  #hero .hero__text{display:flex;flex-direction:column;}
  #hero .hero__name{order:1;}
  #hero .hero__eyebrow{order:2;margin-top:.9rem;margin-bottom:0;}
}
/* okno slidera: ustawienie telefonu */
.front-slider-seg button.is-phone.is-on{background:#9be38d;color:#111;}
.front-slider-phonetools[hidden]{display:none;}
.front-slider-phonetools{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1rem;margin:0 0 .7rem;padding:.8rem;border-radius:8px;background:#181818;}
.front-slider-phone-image{position:relative;flex:1 1 320px;max-width:560px;cursor:crosshair;user-select:none;-webkit-user-select:none;line-height:0;}
.front-slider-phone-image img{display:block;width:100%;height:auto;border-radius:4px;pointer-events:none;}
.front-slider-phone-image .front-slider-marker{background:#9be38d;}
.front-slider-phone-image .front-slider-phone-empty{display:block;padding:2rem 1rem;color:#8a8a8a;font-size:.85rem;line-height:1.4;}
.front-slider-phone{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#9a9a9a;font-size:.75rem;}
.front-slider-phone-screen{position:relative;width:140px;height:290px;border-radius:18px;background:#000 50% 30% / cover no-repeat;outline:6px solid #2b2b2b;overflow:hidden;}
.front-slider-phone-screen .front-slider-phone-blend{position:absolute;inset:0;}
.front-slider-phone-hint{flex:1 1 100%;margin:0;color:#8a8a8a;font-size:.78rem;}

.front-images-zoom{display:flex;align-items:center;gap:.45rem;padding:.15rem .1rem;color:#cfcfcf;font-size:.78rem;cursor:pointer;}
.front-images-zoom input{width:1rem;height:1rem;accent-color:var(--color-user-action);cursor:pointer;}

/* kropki slidera: na dole, wyrownane do srodka, jednakowej wielkosci, bez cieni i obramowan;
   zaznaczona biala, niezaznaczone ciemne */
#hero .quick-slider-nav-dots-wrapper{position:absolute;z-index:5;left:0;right:0;bottom:1.4rem;width:auto;display:flex;justify-content:center;gap:.2rem;margin:0;padding:0;list-style:none;text-align:center;mix-blend-mode:normal;}
#hero .quick-slider-nav-dots-wrapper li{display:block;width:auto !important;height:auto !important;margin:0;padding:0;} /* regula slajdow ( #hero #slider li 100% ) nie dotyczy kropek */
#hero .quick-slider-nav-dots{display:block;box-sizing:content-box;width:10px;height:10px;margin:0;padding:0;border:8px solid transparent;border-radius:50%;
  background:rgba(17,17,17,.55);background-clip:content-box;box-shadow:none;font-size:0;line-height:0;color:transparent;overflow:hidden;cursor:pointer;
  transform:none;transition:background-color .25s ease;}
#hero .quick-slider-nav-dots:hover{background-color:rgba(17,17,17,.85);}
#hero .quick-slider-nav-dots.active{background-color:#fff;transform:none;}

/* strona ze statystykami bez dostepu ( core/front-login.php: displayFrontStats ) */
.front-stats__denied{margin:1.5rem 0 0;padding:1.1rem 1.3rem;border-radius:6px;background:var(--color-soft);}
.front-stats__denied p{margin:0;padding:0;}
.front-stats__denied p + p{margin-top:1rem;}

/* stopka: "Powered by Quick.Cms.Lite" - Quick.Cms -> opensolution.org, .Lite -> grafiqa.pl */
#powered .powered__by{color:var(--color-on-dark-muted);font-size:.75rem;letter-spacing:.06em;opacity:.7;}
#powered .powered__by a{opacity:1;}
#powered .powered__by:hover{opacity:1;}

/* przelacznik wersji jezykowej w naglowku ( core/translations.php, displayLanguageSwitcher ) */
.header__menu:has(.lang-switch){display:flex;align-items:center;gap:1.6rem;}
.lang-switch{display:flex;gap:.7rem;margin:0;padding:0;list-style:none;font-size:.72rem;font-weight:600;letter-spacing:.16em;}
.lang-switch li{margin:0;}
.lang-switch a, .lang-switch span{display:block;padding:.35rem 0;color:inherit;text-decoration:none;}
.lang-switch a{opacity:.55;transition:opacity .25s ease;}
.lang-switch a:hover{opacity:1;}
.lang-switch .is-current span{border-bottom:1px solid currentColor;}

/* zrodlo materialu ( pages.sSource / sSourceLink, core/page-sources.php ) - jak media w andrzejlichota */
.page-source{margin:.45rem 0 0;color:var(--color-muted);font-size:.78rem;letter-spacing:.02em;}
.page-source__label{text-transform:lowercase;}
.page-source a{color:var(--color-text);text-decoration:underline;text-underline-offset:2px;}
.page-source a:hover{color:var(--color-accent-dark);}
#page > .page-source{margin:1.2rem 0 0;}

/* "dodaj kolejną" pod lista podstron i edycja zrodla - tylko dla zalogowanego redaktora */
.front-add-subpage-button, .front-source-edit{display:inline-flex;align-items:center;gap:.5em;margin:1rem 0 0;padding:.5em .95em;
  border:1px dashed var(--color-user-action);border-radius:6px;background:transparent;color:var(--color-user-action);
  font-family:var(--font);font-size:.8rem;letter-spacing:.02em;line-height:1.4;cursor:pointer;transition:background .2s ease,color .2s ease;}
.front-add-subpage-button:hover, .front-source-edit:hover{background:var(--color-user-action);border-style:solid;color:#fff;}
.front-add-subpage-button svg, .front-source-edit svg{width:1rem;height:1rem;fill:currentColor;}
.front-add-subpage-button{display:flex;}
html.front-gadgets-hidden .front-add-subpage-button, html.front-gadgets-hidden .front-source-edit{display:none !important;}
@media print{ .front-add-subpage-button, .front-source-edit{display:none !important;} }
.front-edit-box.is-fields .front-edit-label{display:block;margin:1rem 0 .4rem;color:#9a9a9a;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;}
.front-edit-box.is-fields .front-edit-label:first-child{margin-top:0;}
.front-edit-box.is-fields .mce-tinymce{flex:0 0 auto;}

/* zdjecie w polozeniu "Tło" ( core/page-background.php ): osobna kolumna obok tresci - tekst na nie nie wchodzi.
   do lewej / do prawej = kolumna z tej strony, srodek = pod trescia; #container ma wybrany kolor tla.
   Zdjecie w oryginalnej wielkosci, zmniejszane tylko gdy nie miesci sie w kolumnie. */
.page-bg-layout{display:flex;align-items:flex-start;justify-content:center;gap:clamp(2rem, 5vw, 4.5rem);}
.page-bg-layout > #page{flex:1 1 var(--measure);min-width:0;margin:0;}
.page-bg-image{flex:0 1 auto;min-width:0;margin:0;padding:clamp(3rem, 8vw, 6rem) 0 clamp(3rem, 8vw, 5rem);}
.page-bg-image img{display:block;max-width:100%;height:auto;}
.page-bg-layout.is-left .page-bg-image{order:-1;}
.page-bg-layout.is-center{flex-direction:column;align-items:center;gap:0;}
.page-bg-layout.is-center > #page{flex:0 0 auto;width:100%;max-width:var(--measure);}
.page-bg-layout.is-center .page-bg-image{padding-top:0;}
@media screen and (max-width:860px){
  /* telefon i waski ekran: tytul, tekst, pod spodem zdjecie */
  .page-bg-layout, .page-bg-layout.is-left, .page-bg-layout.is-right{flex-direction:column;align-items:stretch;gap:0;}
  .page-bg-layout > #page{flex:0 0 auto;width:100%;margin:0 auto;}
  .page-bg-layout .page-bg-image, .page-bg-layout.is-left .page-bg-image{order:0;padding-top:0;align-self:center;}
}
/* okno zdjec: opcje tla ( polozenie "Tło" ) */
.front-images-bg{display:flex;flex-direction:column;gap:.4rem;}
.front-images-bg[hidden]{display:none;}
.front-images-bgpos{display:flex;}
.front-images-bgpos button{flex:1 1 0;padding:.35em .3em;font-size:.72rem;}
.front-images-bgcolor{display:flex;align-items:center;justify-content:space-between;gap:.4rem;color:#9a9a9a;font-size:.75rem;}
.front-images-bgcolor input{width:2.2rem;height:1.6rem;padding:0;border:1px solid #3a3a3a;border-radius:6px;background:transparent;cursor:pointer;}

/* okno ustawien wygladu ( belka administratora -> ustawienia, core/site-style.php ) - z boku, strona widoczna obok */
.front-edit-overlay.is-light{background:rgba(10,10,10,.12);backdrop-filter:none;-webkit-backdrop-filter:none;}
.front-edit-box.is-settings{top:56px;right:1rem;left:auto;transform:none;width:min(460px,94vw);max-height:calc(100vh - 72px);resize:none;animation:frontEditFade .18s ease;}
.front-settings-section{margin:0 0 1.2rem;}
.front-settings-section h3{margin:0 0 .6rem;color:#c9c9c9;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;}
.front-settings-row{display:grid;grid-template-columns:8.5rem 1fr auto;align-items:center;gap:.3rem .7rem;padding:.35rem 0;color:#9a9a9a;font-size:.8rem;}
.front-settings-row input[type="range"]{width:100%;accent-color:var(--color-user-action);}
.front-settings-row input[type="color"]{width:2.4rem;height:1.7rem;padding:0;border:1px solid #3a3a3a;border-radius:6px;background:transparent;cursor:pointer;}
.front-settings-row output{grid-column:2;color:#ddd;font-size:.75rem;}
.front-settings-row.is-default output{color:#7a7a7a;}
.front-settings-row .front-settings-reset{grid-column:3;grid-row:1;padding:.2em .6em;border:1px solid #3a3a3a;border-radius:6px;background:transparent;color:#9a9a9a;font-family:inherit;font-size:.72rem;cursor:pointer;}
.front-settings-row .front-settings-reset:hover{color:#fff;border-color:#6a6a6a;}
.front-settings-row.is-default .front-settings-reset{visibility:hidden;}
.front-settings-row .front-settings-bullets{grid-column:2 / -1;flex-wrap:wrap;}
.front-settings-bullets button{font-size:.75rem;}
.front-settings-hint{margin:.3rem 0 0;color:#7a7a7a;font-size:.75rem;}
.front-settings-select{width:100%;padding:.35em .5em;border:1px solid #3a3a3a;border-radius:6px;background:#1c1c1c;color:#eee;font-family:inherit;font-size:.8rem;}
/* probka kroju - w kroju strony ( --font ), nie okna */
.front-settings-row .front-settings-sample{grid-column:1 / -1;padding:.4rem .6rem;border:1px solid #2b2b2b;border-radius:6px;color:#eee;font-family:var(--font);font-size:1.05rem;}
@media screen and (max-width:600px){
  .front-edit-box.is-settings{right:3vw;top:48px;}
  .front-settings-row{grid-template-columns:1fr auto;}
  .front-settings-row .front-settings-name{grid-column:1 / -1;}
  .front-settings-row output{grid-column:1;}
  .front-settings-row .front-settings-reset{grid-column:2;grid-row:auto;}
}

/* okno slidera: napisy na zdjeciu ( core/site-texts.php ) */
.front-slider-text{display:inline-flex;align-items:center;gap:.5rem;color:#9a9a9a;font-size:.78rem;}
.front-slider-text .front-edit-field{width:min(320px,60vw);padding:.45em .6em;font-size:.85rem;}
.front-slider-texteditor{display:inline-flex;align-items:stretch;border:1px solid #333;border-radius:8px;background:#1c1c1c;overflow:hidden;}
.front-slider-bold{flex:0 0 2rem;border:0;border-right:1px solid #333;background:#232323;color:#f4f4f4;cursor:pointer;}
.front-slider-bold:hover{background:var(--color-user-action);}
.front-slider-break{flex:0 0 2rem;border:0;border-right:1px solid #333;background:#232323;color:#f4f4f4;font-size:1rem;cursor:pointer;}
.front-slider-break:hover{background:var(--color-user-action);}
.front-slider-name{display:block;min-width:min(260px,50vw);padding:.45em .6em;color:#f4f4f4;font-size:.85rem;white-space:nowrap;outline:none;}
.front-slider-hint{margin:.2rem 0 0;color:#7a7a7a;font-size:.75rem;}
/* okno ustawien: wersja demo ( database/demo.php ) */
.front-settings-row.front-settings-demo{cursor:pointer;}
.front-settings-demo input{grid-column:2;justify-self:start;width:1.1rem;height:1.1rem;accent-color:var(--color-user-action);}
/* belka: wersja demo bez zapisu ( core/site-style.php, checkSiteDemoReadOnly ) */
.front-user-bar-demo{flex:0 0 auto;padding:.25em .7em;border-radius:6px;background:#ffd166;color:#111;font-size:.7rem;font-weight:600;letter-spacing:.03em;white-space:nowrap;}
@media screen and (max-width:600px){ .front-user-bar-demo{display:none;} }
/* okno zdjec: ustawienia naraz dla wszystkich zdjec strony ( core/front-edit.js, applyToAll ) */
.front-images-all{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin:.9rem 0 0;padding:.7rem .8rem;border:1px solid #2b2b2b;border-radius:8px;background:#181818;}
.front-images-all-label{flex:1 1 100%;color:#c9c9c9;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
.front-images-all .front-edit-field{width:auto;flex:1 1 11rem;padding:.45em .6em;font-size:.82rem;}

/* ============================================================
   ROADSHOW ( core/roadshow.php ): formularz zgloszenia, mapa, statystyki, lista zgloszen
   ============================================================ */
:root{--rs-brand:var(--h1-color, #791a3e);--rs-pending:#a16207;--rs-pending-bg:#fef3c7;--rs-accepted:#15803d;--rs-accepted-bg:#dcfce7;--rs-waiting:#1d4ed8;--rs-waiting-bg:#dbeafe;--rs-planned:#2563eb;--rs-ongoing:#c26d00;--rs-done:#16a34a;}
.rs-wrap{width:min(78rem, calc(100vw - 2 * var(--gutter)));margin:2.5rem 0 0 calc(50% - min(39rem, 50vw - var(--gutter)));}
.rs-wrap .wai{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);}
.rs-section{margin:0 0 3rem;}
.rs-section > h2, .rs-schedule > h2{margin:0 0 1.1rem;color:var(--h2-color, var(--rs-brand));font-size:var(--h2-size, .8rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase;}
.rs-section > h2 small{color:var(--color-muted);letter-spacing:0;}
.rs-hint{margin:-.4rem 0 1rem;color:var(--color-muted);font-size:.92rem;line-height:1.55;}
.rs-button{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.85em 1.6em;border-radius:999px;background:var(--rs-brand);color:#fff !important;font:inherit;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:filter .2s ease, transform .2s ease;}
.rs-button:hover{filter:brightness(1.12);}
.rs-button:active{transform:translateY(1px);}
.rs-button:disabled{opacity:.55;cursor:wait;}
.rs-button.is-small{padding:.55em 1.1em;font-size:.85rem;}
.rs-button:focus-visible, .rs-wrap button:focus-visible, .rs-wrap input:focus-visible, .rs-wrap select:focus-visible, .rs-wrap textarea:focus-visible, .rs-dialog :focus-visible{outline:2px solid var(--rs-brand);outline-offset:2px;}
.rs-link{color:var(--rs-brand);font-size:.9rem;}
.rs-cta{margin:2rem 0 0;text-align:center;}

/* menu: "Zglos udzial" jako przycisk */
.header__menu .menu-cta > .menu__link{padding:.45rem 1.05rem;border:1px solid currentColor;border-radius:999px;opacity:1;}
.header__menu .menu-cta > .menu__link:after{display:none;}
.header__menu .menu-cta > .menu__link:hover, .header__menu .menu-cta.selected > .menu__link{background:var(--color-on-dark);color:var(--color-dark);}

/* statystyki */
.rs-stats{display:grid;grid-template-columns:repeat(auto-fill, minmax(11rem, 1fr));gap:.75rem;}
.rs-stat{display:flex;flex-direction:column;gap:.15rem;padding:1.1rem 1.15rem;border-radius:14px;background:var(--color-soft);border-top:3px solid var(--rs-brand);line-height:1.3;}
.rs-stat strong{font-size:clamp(1.7rem, 3vw, 2.2rem);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.rs-stat span{font-size:.88rem;}
.rs-stat small{color:var(--color-muted);font-size:.78rem;}
.rs-stat.is-planned{border-top-color:var(--rs-planned);}
.rs-stat.is-ongoing{border-top-color:var(--rs-ongoing);}
.rs-stat.is-done{border-top-color:var(--rs-done);}
.rs-stats-extra{display:flex;flex-direction:column;gap:.35rem;margin:1rem 0 0;font-size:.92rem;}
.rs-stats-extra b{font-weight:600;}

/* odznaki statusow */
.rs-badge{display:inline-block;padding:.12em .65em;border-radius:999px;font-size:.78rem;font-style:normal;font-weight:600;white-space:nowrap;background:#eee;color:#333;}
.rs-badge.is-pending{background:var(--rs-pending-bg);color:var(--rs-pending);}
.rs-badge.is-accepted{background:var(--rs-accepted-bg);color:var(--rs-accepted);}
.rs-badge.is-waiting{background:var(--rs-waiting-bg);color:var(--rs-waiting);}
.rs-badge.is-planned{background:#dbeafe;color:#1d4ed8;}
.rs-badge.is-ongoing{background:#ffedd5;color:#9a4d00;}
.rs-badge.is-done{background:#dcfce7;color:#15803d;}

/* mapa */
.rs-map-box{border:1px solid var(--color-divider);border-radius:16px;overflow:hidden;background:#fff;}
.rs-map-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.2rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-divider);font-size:.88rem;}
.rs-map-tools label{display:inline-flex;align-items:center;gap:.4em;cursor:pointer;}
.rs-map-tools select{padding:.3em .5em;border:1px solid var(--color-divider);border-radius:8px;font:inherit;background:#fff;}
.rs-map{height:clamp(360px, 62vh, 560px);background:#eef0f2;}
.rs-map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;padding:.7rem 1rem;border-top:1px solid var(--color-divider);font-size:.82rem;color:var(--color-muted);}
.rs-map-legend span{display:inline-flex;align-items:center;gap:.35em;}
.rs-map-legend .rs-leg-title{color:var(--color-text);font-weight:600;}
.rs-leg-dot{display:inline-block;width:.9em;height:.9em;border-radius:50%;border:1px solid rgba(0,0,0,.15);}
.rs-leg-pin{display:inline-block;width:.75em;height:.75em;border-radius:50% 50% 50% 0;transform:rotate(-45deg);}
.rs-pin-app{background:none;border:0;}
.rs-pin-app span{display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.25);font:600 13px/1 var(--font);opacity:.93;transition:transform .15s ease;}
.rs-pin-app:hover span{transform:scale(1.08);opacity:1;}
.rs-pin-event{background:none;border:0;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3));}
.leaflet-popup-content{font-family:var(--font);font-size:.88rem;line-height:1.45;}
.rs-pop-list{margin:.5em 0 0;padding:0;list-style:none;max-height:180px;overflow:auto;}
.rs-pop-list li{padding:.2em 0 .2em .7em;border-left:3px solid #ccc;margin:.2em 0;}
.rs-pop-list li.is-pending{border-color:#f59e0b;}
.rs-pop-list li.is-accepted{border-color:#16a34a;}
.rs-pop-list li.is-waiting{border-color:#2563eb;}

/* harmonogram i tabele */
.rs-schedule{margin:0 0 3rem;}
.rs-table{width:100%;border-collapse:collapse;font-size:.92rem;}
.rs-table th{padding:.6rem .7rem;border-bottom:2px solid var(--color-divider);text-align:left;font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap;}
.rs-table td{padding:.65rem .7rem;border-bottom:1px solid var(--color-divider);vertical-align:top;line-height:1.4;}
.rs-table td small{display:block;color:var(--color-muted);font-size:.8rem;}
.rs-table td b{font-weight:600;}
.rs-table-events tr.is-done td{color:var(--color-muted);}
.rs-apply-link{display:inline-block;margin-left:.4em;font-size:.82rem;color:var(--rs-brand);}
.rs-table th button{display:inline-flex;align-items:center;gap:.3em;padding:0;background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;}
.rs-table th button:after{content:"\2195";opacity:.35;font-size:.9em;}
.rs-table th[aria-sort="ascending"] button:after{content:"\2191";opacity:1;}
.rs-table th[aria-sort="descending"] button:after{content:"\2193";opacity:1;}
.rs-table th[aria-sort="ascending"], .rs-table th[aria-sort="descending"]{color:var(--rs-brand);}
.rs-table-wrap{overflow-x:auto;border:1px solid var(--color-divider);border-radius:14px;}
.rs-table-apps td, .rs-table-apps th{padding-left:.55rem;padding-right:.55rem;}
.rs-table-apps tbody tr:hover{background:var(--color-soft);}
.rs-table-apps .rs-check{width:2rem;text-align:center;}
.rs-table-apps input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--rs-brand);cursor:pointer;}
.rs-view-link{padding:0;background:none;border:0;font:inherit;font-weight:600;color:var(--color-text);text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:var(--color-divider);text-underline-offset:.2em;}
.rs-view-link:hover{color:var(--rs-brand);}
.rs-view{padding:.35em .8em;border:1px solid var(--color-divider);border-radius:999px;background:#fff;font:inherit;font-size:.8rem;cursor:pointer;}
.rs-view:hover{border-color:var(--rs-brand);color:var(--rs-brand);}
.rs-status{padding:.3em .5em;border-radius:8px;border:1px solid transparent;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;}
.rs-status.is-pending{background:var(--rs-pending-bg);color:var(--rs-pending);}
.rs-status.is-accepted{background:var(--rs-accepted-bg);color:var(--rs-accepted);}
.rs-status.is-waiting{background:var(--rs-waiting-bg);color:var(--rs-waiting);}
.rs-warn{color:#b45309 !important;}
.rs-empty, .rs-denied{padding:2rem;border-radius:14px;background:var(--color-soft);text-align:center;}
.rs-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .8rem;}
.rs-toolbar .rs-search{flex:1 1 16rem;}
.rs-toolbar input, .rs-toolbar select, .rs-bulk select{padding:.55em .8em;border:1px solid var(--color-divider);border-radius:10px;font:inherit;font-size:.9rem;background:#fff;}
.rs-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .8rem;padding:.6rem .8rem;border-radius:12px;background:#fdf2f6;border:1px solid #f3c7d6;}
.rs-bulk[hidden]{display:none;}
.rs-bulk-count{font-weight:600;font-size:.9rem;}

/* formularz */
.rs-form{max-width:52rem;}
.rs-form fieldset{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem 1.2rem;margin:0 0 1.8rem;padding:1.4rem;border:1px solid var(--color-divider);border-radius:16px;}
.rs-form legend{padding:0 .5rem;margin-left:-.5rem;color:var(--h2-color, var(--rs-brand));font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;}
.rs-field{display:flex;flex-direction:column;gap:.3rem;min-width:0;}
.rs-field.is-wide, .rs-form fieldset > .rs-total, .rs-form fieldset > .rs-hint{grid-column:1 / -1;}
.rs-field label{font-size:.88rem;font-weight:500;}
.rs-field label i{color:var(--rs-brand);font-style:normal;}
.rs-field input:not([type=checkbox]):not([type=radio]), .rs-field select, .rs-field textarea{width:100%;padding:.7em .85em;border:1px solid #cfc8bd;border-radius:10px;background:#fff;font:inherit;font-size:1rem;color:var(--color-text);transition:border-color .2s ease, box-shadow .2s ease;}
.rs-field input:focus, .rs-field select:focus, .rs-field textarea:focus{border-color:var(--rs-brand);box-shadow:0 0 0 3px rgba(121,26,62,.12);outline:none;}
.rs-field small{color:var(--color-muted);font-size:.8rem;line-height:1.4;}
.rs-field.has-error input, .rs-field.has-error select, .rs-field.has-error textarea{border-color:#c2410c;background:#fff7ed;}
.rs-error{color:#c2410c;font-size:.82rem;font-weight:500;}
.rs-alert{margin:0 0 1.4rem;padding:.9rem 1.1rem;border-radius:12px;background:#fff7ed;border:1px solid #fdba74;color:#9a3412;}
.rs-total{margin:0;padding:.7rem 1rem;border-radius:10px;background:var(--color-soft);font-size:.95rem;}
.rs-total b{font-size:1.15rem;}
.rs-events-choice{grid-template-columns:1fr !important;gap:.55rem !important;}
.rs-events-choice .rs-hint{margin:0 0 .4rem;}
.rs-event-option{display:flex;align-items:flex-start;gap:.75rem;padding:.8rem 1rem;border:1px solid var(--color-divider);border-radius:12px;cursor:pointer;transition:border-color .2s ease, background .2s ease;}
.rs-event-option:hover{border-color:var(--rs-brand);}
.rs-event-option:has(input:checked){border-color:var(--rs-brand);background:#fdf2f6;}
.rs-event-option input{margin-top:.3em;accent-color:var(--rs-brand);}
.rs-event-option small{display:block;color:var(--color-muted);font-size:.85rem;}
.rs-consent{margin:0 0 1.4rem;}
.rs-consent label{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;line-height:1.5;font-weight:400;cursor:pointer;}
.rs-consent input{margin-top:.3em;flex:none;width:1.05rem;height:1.05rem;accent-color:var(--rs-brand);}
.rs-submit{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:0;}
.rs-submit small{color:var(--color-muted);font-size:.82rem;}
.rs-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden;}
.rs-success{padding:2.2rem;border-radius:16px;background:var(--rs-accepted-bg);color:#14532d;}
.rs-success h2{margin:0 0 .6rem;font-size:1.4rem;font-weight:600;}
.rs-success p{margin:0 0 .6rem;}

/* okna: podglad zgloszenia i powiadomienie */
.rs-dialog{width:min(40rem, calc(100vw - 2rem));max-height:calc(100vh - 2rem);margin:auto;padding:1.6rem 1.6rem 1.4rem;border:0;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:var(--color-text);font-family:var(--font);}
.rs-dialog::backdrop{background:rgba(14,14,14,.55);}
.rs-dialog h2{margin:0 2rem 1.1rem 0;font-size:1.25rem;font-weight:600;}
.rs-dialog-close{position:absolute;top:.8rem;right:.8rem;}
.rs-dialog-close button{width:2.2rem;height:2.2rem;border:0;border-radius:50%;background:var(--color-soft);font-size:1.4rem;line-height:1;cursor:pointer;}
.rs-dialog .rs-field{margin:0 0 .9rem;}
.rs-dialog .rs-inline{display:flex;gap:.5rem;align-items:center;font-weight:400;}
.rs-dl{display:grid;grid-template-columns:9.5rem 1fr;gap:.45rem 1rem;margin:0 0 1.2rem;font-size:.93rem;}
.rs-dl dt{color:var(--color-muted);}
.rs-dl dd{margin:0;word-break:break-word;}
.rs-notify-to{margin:0 0 1rem;font-size:.92rem;}
.rs-notify-to small{display:block;color:var(--color-muted);}
.rs-notify-msg{font-size:.9rem;}

@media screen and (max-width:760px){
  .rs-form fieldset{grid-template-columns:1fr;padding:1.1rem;}
  .rs-dl{grid-template-columns:1fr;gap:.1rem;}
  .rs-dl dd{margin-bottom:.5rem;}
  .rs-table-events thead{display:none;}
  .rs-table-events tr{display:block;padding:.6rem 0;border-bottom:1px solid var(--color-divider);}
  .rs-table-events td{display:block;padding:.15rem 0;border:0;}
  .rs-table-apps{min-width:56rem;}
}

.rs-picker .leaflet-tile-pane{filter:grayscale(.75) contrast(.92) brightness(1.06);}

/* plaska mapa ( jak w statystykach ): tlo = morze / poza krajem */
.rs-map{background:#f3f5f7 !important;}
.rs-map .leaflet-interactive:focus{outline:none;}
.rs-voiv-tip{font-size:.82rem;}

/* plaska mapa: poza Polska bialo, podpisy miast */
.rs-map{background:#ffffff !important;}
.rs-city{background:none;border:0;white-space:nowrap;}
.rs-city i{position:absolute;left:0;top:0;width:6px;height:6px;border-radius:50%;background:#9a9ca1;}
.rs-city span{position:absolute;left:9px;top:-7px;font:500 11px/1.2 var(--font, Arial, sans-serif);color:#6b6e74;text-shadow:0 0 2px #fff, 0 0 2px #fff, 0 0 3px #fff;}
.rs-city.is-app i{background:#1d1d1f;}
.rs-city.is-app span{top:-8px;font-size:12px;font-weight:700;color:#1d1d1f;}

/* duze wezwanie "Zglos chec udzialu" ( strona glowna ) - wielkosc jak H1 podstron */
.rs-cta-big{margin:0 0 3rem;}
.rs-cta-big.is-bottom{margin:1rem 0 0;padding-top:2.5rem;border-top:1px solid var(--color-divider);}
.rs-cta-big a{display:inline-block;font-size:var(--h1-size, clamp(2.2rem, 6vw, 3.6rem));font-weight:300;line-height:1.08;letter-spacing:-.03em;color:var(--h1-color, var(--rs-brand));text-decoration:none;transition:opacity .2s ease;}
.rs-cta-big a span{display:inline-block;transition:transform .25s ease;}
.rs-cta-big a:hover{opacity:.85;}
.rs-cta-big a:hover span{transform:translateX(.18em);}
.rs-stat.is-custom{border-top-color:var(--color-text);}

/* wczesniejsze edycje ( archiwum ) */
.rs-badge.is-archive{background:#eceef0;color:#5f6368;}
.rs-stat.is-archive{border-top-color:#8e9196;}
.rs-archive{margin:1.4rem 0 0;}
.rs-archive summary{cursor:pointer;font-weight:600;font-size:.95rem;color:var(--color-muted);padding:.4rem 0;}
.rs-archive summary:hover{color:var(--color-text);}
.rs-archive .rs-table td{color:var(--color-muted);}

/* "Road Show w liczbach" na stronie: bez ramek i tla, wysrodkowane */
.rs-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem 1rem;}
.rs-stats > .rs-stat{flex:0 1 13rem;}
.rs-stat, .rs-stat.is-planned, .rs-stat.is-ongoing, .rs-stat.is-done, .rs-stat.is-custom, .rs-stat.is-archive{padding:.4rem .5rem;border:0;border-radius:0;background:none;align-items:center;text-align:center;}
.rs-stat strong{font-size:clamp(2rem, 4vw, 2.8rem);font-weight:300;letter-spacing:-.03em;line-height:1.1;}
.rs-stats-extra{align-items:center;text-align:center;}
.rs-section:has(> .rs-stats) > h2, .rs-section:has(> .rs-stats-extra) > h2{text-align:center;}

/* formularz zgloszenia: dokladnie w szerokosci bloku tekstu ( mapa i listy zostaja szersze ) */
.rs-wrap.is-form{width:auto;margin:2.5rem 0 0;}
.rs-wrap.is-form .rs-form{max-width:none;}

/* Roadshow: strona glowna ( wezwanie, liczby, mapa, harmonogram ) i formularz w szerokosci kolumny tekstu,
   tylko lista zgloszen dla zalogowanych ( szeroka tabela ) wychodzi poza kolumne */
.rs-wrap{width:auto;margin:2.5rem 0 0;}
.rs-wrap.is-wide{width:min(78rem, calc(100vw - 2 * var(--gutter)));margin:2.5rem 0 0 calc(50% - min(39rem, 50vw - var(--gutter)));}

/* gorny pasek nad sliderem: biale napisy, gdy aktywny slajd ma ustawione "pasek: biale napisy" ( footer.php ).
   Po przewinieciu ( is-solid - biale tlo ) zostaja czarne */
.is-start .header__navigation.head-light:not(.is-solid),
.is-start .header__navigation.head-light:not(.is-solid) #logo #title a,
.is-start .header__navigation.head-light:not(.is-solid) .header__menu .menu__link,
.is-start .header__navigation.head-light:not(.is-solid) button.hamburger,
.is-start .header__navigation.head-light:not(.is-solid) .lang-switch a,
.is-start .header__navigation.head-light:not(.is-solid) .lang-switch span{color:#fff;}
.is-start .header__navigation.head-light:not(.is-solid) .menu-cta > .menu__link:hover{background:#fff;color:#111;}
.header__navigation #logo #title a, .header__navigation .menu__link, .header__navigation button.hamburger{transition:color .4s ease, opacity .25s ease, background .25s ease;}

/* statusy zgloszen: pelne tlo, bialy napis - oczekujacy pomaranczowy, przyjety zielony, czeka na termin niebieski */
:root{--rs-pending:#d9620b;--rs-accepted:#15803d;--rs-waiting:#1d4ed8;}
.rs-badge.is-pending, .rs-status.is-pending{background:var(--rs-pending);color:#fff;}
.rs-badge.is-accepted, .rs-status.is-accepted{background:var(--rs-accepted);color:#fff;}
.rs-badge.is-waiting, .rs-status.is-waiting{background:var(--rs-waiting);color:#fff;}
.rs-status option{background:#fff;color:#1b1a18;}
.rs-pop-list li.is-pending{border-color:var(--rs-pending);}
.rs-pop-list li.is-accepted{border-color:var(--rs-accepted);}
.rs-pop-list li.is-waiting{border-color:var(--rs-waiting);}
/* lista zgloszen w kolumnie tekstu: tabela przewija sie w poziomie */
.rs-table-wrap{max-width:100%;}

/* ==========================================================================
   ROADSHOW: strona glowna, strona mapy, galerie
   ========================================================================== */
/* "Zglos chec udzialu" i "Road Show w liczbach" - wieksze odstepy */
.rs-cta-big{margin:clamp(2rem, 6vw, 4.5rem) 0;}
.rs-section.rs-numbers{margin:clamp(3rem, 8vw, 6rem) 0;}
.rs-more{margin:1rem 0 0;text-align:right;font-size:.95rem;}
.rs-more a{color:var(--h2-color, var(--rs-brand));}

/* przelaczniki nad mapa: zgloszenia | Edycja II: ... | Edycja I */
.rs-map-tools{gap:.5rem 1.6rem;}
.rs-map-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.3rem .9rem;}
.rs-map-group + .rs-map-group{padding-left:1.4rem;border-left:1px solid var(--color-divider);}
.rs-map-group b{font-weight:600;}
.rs-map-group small{color:var(--color-muted);}

/* lad w kolorze naglowkow ( ciemny ): podpisy miast biale */
.rs-map.is-dark-land .rs-city span{color:rgba(255,255,255,.9);text-shadow:0 0 3px rgba(0,0,0,.45), 0 0 6px rgba(0,0,0,.25);}
.rs-map.is-dark-land .rs-city i{background:rgba(255,255,255,.85);}
.rs-map.is-dark-land .rs-city.is-app span{color:#fff;}
.rs-map.is-dark-land .rs-city.is-app i{background:#fff;}

/* strona mapy: mapa i listy na cala szerokosc strony */
.rs-wrap.is-full{width:calc(100vw - 2 * var(--gutter));max-width:none;margin:2rem 0 0 calc(50% - 50vw + var(--gutter));}
.rs-map-page .rs-map{height:clamp(420px, 75vh, 820px);}
.rs-map-page-lists{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:2.5rem 4rem;margin:3rem 0 0;}
@media screen and (max-width:1150px){ .rs-map-page-lists{grid-template-columns:1fr;} }
.rs-interest-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 1rem;font-size:.9rem;}
.rs-interest-tools button{padding:.35em .9em;border:1px solid var(--color-divider);border-radius:999px;background:#fff;font:inherit;font-size:.85rem;cursor:pointer;}
.rs-interest-tools button.is-on{background:var(--h2-color, var(--rs-brand));border-color:transparent;color:#fff;}
.rs-sortable th button{display:inline-flex;align-items:center;gap:.3em;padding:0;background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;}
.rs-sortable th button:after{content:"\2195";opacity:.35;font-size:.9em;}
.rs-sortable th[aria-sort="ascending"] button:after{content:"\2191";opacity:1;}
.rs-sortable th[aria-sort="descending"] button:after{content:"\2193";opacity:1;}
.rs-interest td:first-child{color:var(--color-muted);width:3rem;}
.rs-map-page-lists .rs-table-wrap{border:0;border-radius:0;}

/* galerie: miniatury w rzedach ( justified gallery jak zdjecia stron ), nazwa galerii na dole po najechaniu */
.rs-galleries li a{display:block;}
.rs-galleries p{font-size:.95rem;font-weight:600;padding:2.2rem .9rem .8rem;}
.rs-gallery-empty{display:flex;align-items:center;justify-content:center;min-height:200px;padding:1rem;background:var(--color-soft);color:var(--color-muted);text-align:center;}

/* ==========================================================================
   PARTNERZY ( core/partners.php ): pas logotypow nad stopka, na cala szerokosc strony
   ========================================================================== */
.partners{padding:clamp(2rem, 5vw, 3.5rem) var(--gutter);border-top:1px solid var(--color-divider);background:var(--color-bg);}
.partners__title{margin:0 0 1.6rem;text-align:center;color:var(--h2-color, var(--color-accent));font-size:var(--h2-size, .8rem);font-weight:600;letter-spacing:.2em;text-transform:uppercase;}
.partners__viewport{overflow:hidden;}
.partners__track{display:flex;margin:0;padding:0;list-style:none;will-change:transform;}
.partners.is-static .partners__track{justify-content:center;flex-wrap:wrap;}
.partners__item{flex:0 0 calc(100% / var(--partners-view, 5));display:flex;align-items:center;justify-content:center;min-width:0;margin:0;padding:.5rem clamp(.8rem, 2.5vw, 2rem);}
.partners__item a, .partners__item span{display:flex;align-items:center;justify-content:center;width:100%;}
.partners__item img{display:block;width:auto;max-width:100%;height:auto;max-height:clamp(48px, 7vw, 90px);object-fit:contain;transition:filter .3s ease, opacity .3s ease;}
/* logotypy zawsze w odcieniach szarosci ( desaturacja ); opcjonalnie kolor po najechaniu */
.partners .partners__item img{filter:grayscale(1);opacity:.75;}
.partners .partners__item a:hover img, .partners .partners__item a:focus-visible img{opacity:1;}
.partners.is-hover-color .partners__item a:hover img, .partners.is-hover-color .partners__item a:focus-visible img{filter:none;}
.partners__item a:focus-visible{outline:2px solid var(--h2-color, var(--color-accent));outline-offset:4px;}
/* telefon: najwyzej 2 logotypy naraz, tablet: najwyzej 3 */
@media screen and (max-width:900px){ .partners__item{flex-basis:calc(100% / min(var(--partners-view, 5), 3));} }
@media screen and (max-width:560px){ .partners__item{flex-basis:calc(100% / min(var(--partners-view, 5), 2));} }

/* "Zglos chec udzialu Twojej szkoly" jako przycisk: obramowanie w kolorze tekstu, zaokraglone, wysrodkowany */
.rs-cta-big{text-align:center;}
.rs-cta-big a{padding:.35em .9em .4em;border:2px solid currentColor;border-radius:999px;transition:background .25s ease, color .25s ease, opacity .2s ease;}
.rs-cta-big a:hover, .rs-cta-big a:focus-visible{background:var(--h1-color, var(--rs-brand));border-color:var(--h1-color, var(--rs-brand));color:#fff;opacity:1;}
.rs-cta-big a:focus-visible{outline:2px solid var(--h1-color, var(--rs-brand));outline-offset:4px;}
@media screen and (max-width:600px){ .rs-cta-big a{font-size:clamp(1.4rem, 7vw, 2.2rem);border-radius:1.2em;} }

/* strona mapy: bez obramowan, przelaczniki ( naglowek ) i legenda ( stopka ) wysrodkowane */
.rs-map-page .rs-map-box{border:0;border-radius:0;}
.rs-map-page .rs-map-tools{justify-content:center;border-bottom:0;}
.rs-map-page .rs-map-legend{justify-content:center;border-top:0;}
.rs-map-page .rs-map-group + .rs-map-group{border-left:0;padding-left:.6rem;}

/* gorny pasek zalogowanego: "zgloszenia" z liczba oczekujacych ( core/roadshow.php: rsUserBarLink ) */
.front-user-bar-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;height:1.5em;margin-left:.3em;padding:0 .35em;border-radius:999px;background:#d9620b;color:#fff;font-size:.85em;font-weight:700;line-height:1;}

/* ==========================================================================
   USTAWIENIA STRONY ( core/page-settings.php / .js ): przycisk i okno
   ========================================================================== */
.front-page-settings-button{display:flex;align-items:center;gap:.5em;clear:both;width:auto;margin:1rem 0 0;padding:.5em .95em;
  border:1px dashed var(--color-user-action);border-radius:6px;background:transparent;color:var(--color-user-action);
  font-family:var(--font);font-size:.8rem;letter-spacing:.02em;line-height:1.4;cursor:pointer;transition:background .2s ease,color .2s ease;}
.front-page-settings-button:hover{background:var(--color-user-action);border-style:solid;color:#fff;}
.front-page-settings-button svg{width:1rem;height:1rem;fill:currentColor;}
html.front-gadgets-hidden .front-page-settings-button{display:none !important;}
@media print{ .front-page-settings-button{display:none !important;} }
.front-edit-box.is-page-settings{width:min(560px,94vw);resize:none;}
.page-settings-section{margin:0 0 1.3rem;}
.page-settings-section:last-child{margin-bottom:0;}
.page-settings-section h3{margin:0 0 .6rem;color:#8a8a8a;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;}
.page-settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;}
.page-settings-row input[type=range]{flex:1 1 12rem;accent-color:var(--h1-color, #e05a7f);}
.page-settings-row output{min-width:4.5em;font-variant-numeric:tabular-nums;color:#fff;}
.page-settings-reset{padding:.3em .7em;border:1px solid #333;border-radius:6px;background:#1c1c1c;color:#cfcfcf;font:inherit;font-size:.8rem;cursor:pointer;}
.page-settings-reset:hover{border-color:#6a6a6a;color:#fff;}
.page-settings-check{display:flex;align-items:center;gap:.6rem;padding:.35rem 0;cursor:pointer;}
.page-settings-check input{width:1.05rem;height:1.05rem;accent-color:var(--h1-color, #e05a7f);}
.page-settings-check small{color:#8a8a8a;}
.page-settings-children{display:flex;flex-direction:column;max-height:16rem;overflow-y:auto;padding:.2rem .6rem;border:1px solid #2b2b2b;border-radius:8px;background:#1a1a1a;}
.page-settings-hint{margin:.5rem 0 0;color:#8a8a8a;font-size:.8rem;line-height:1.45;}
.page-settings-hint a{color:#d9b98a;}

/* "Road Show w liczbach": liczby pogrubione ( 700 ) */
.rs-stat strong{font-weight:700;}

/* ==========================================================================
   PARALAKSY ( core/parallax.php ): pas pod menu ( podstrony ) i nad stopka, na cala szerokosc.
   Zdjecie jest wyzsze od pasa o "speed" z kazdej strony i przesuwa sie przy przewijaniu;
   punkt ostrosci ( object-position ) zostaje widoczny przy kazdej szerokosci okna
   ========================================================================== */
.parallax{position:relative;height:var(--parallax-h, 45vh);min-height:180px;max-height:900px;overflow:hidden;background:var(--color-dark);}
.parallax img{position:absolute;left:0;top:calc(-100% * var(--parallax-speed, .25));display:block;width:100%;max-width:none;height:calc(100% * (1 + 2 * var(--parallax-speed, .25)));object-fit:cover;will-change:transform;}
/* pod stalym menu: pas zaczyna sie pod paskiem, a tresc strony juz nie potrzebuje odstepu na menu */
.parallax--top{margin-top:var(--head-h, 60px);}
.is-sub:has(.parallax--top) #body{padding-top:0;}
@media (prefers-reduced-motion: reduce){ .parallax img{top:0;height:100%;transform:none !important;} }
@media print{ .parallax{display:none;} }

/* partnerzy: logotypy do 130 px wysokosci ( na telefonie 80 px, zeby dwa zmiescily sie obok siebie ) */
.partners__item img{max-height:130px;}
@media screen and (max-width:560px){ .partners__item img{max-height:80px;} }

/* formularz zgloszenia: lista wyboru ( wojewodztwo ) z tymi samymi odstepami i wysokoscia co pola tekstowe -
   bez systemowego wygladu ( na Macu ignoruje padding ), wlasna strzalka */
.rs-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:calc(2.85em + 2px);padding:.7em 2.6em .7em .85em;line-height:1.4;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236f6a62' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9em center;background-size:.75em auto;cursor:pointer;}
.rs-field select::-ms-expand{display:none;}
.rs-field input:not([type=checkbox]):not([type=radio]){min-height:calc(2.85em + 2px);line-height:1.4;}
.rs-field.has-error select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23c2410c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9em center;background-size:.75em auto;}

/* strona mapy: ranking i harmonogramy jeden pod drugim, na cala szerokosc */
.rs-map-page-lists{display:block;}
.rs-map-page-lists > section{margin:0 0 3.5rem;}
.rs-schedule-archive{margin-top:3.5rem;}
.rs-schedule-archive .rs-table td{color:var(--color-muted);}
.rs-source{color:var(--h2-color, var(--rs-brand));font-size:.85rem;word-break:break-word;}

/* strona glowna: mapa na cala szerokosc strony ( jak na stronie mapy ), naglowki sekcji wysrodkowane */
.rs-full-bleed{width:calc(100vw - 2 * var(--gutter));margin-left:calc(50% - 50vw + var(--gutter));}
.rs-public .rs-section > h2, .rs-public .rs-more{text-align:center;}
.rs-home-map .rs-map-box{border:0;border-radius:0;}
.rs-home-map .rs-map-tools{justify-content:center;border-bottom:0;}
.rs-home-map .rs-map-legend{justify-content:center;border-top:0;}
.rs-home-map .rs-map-group + .rs-map-group{border-left:0;padding-left:.6rem;}
.rs-home-map .rs-map{height:clamp(420px, 70vh, 760px);}

/* strona glowna: mapa od krawedzi do krawedzi okna ( bez bocznych marginesow ) */
.rs-home-map .rs-full-bleed{width:100vw;margin-left:calc(50% - 50vw);}
.rs-home-map .rs-map-tools, .rs-home-map .rs-map-legend{padding-left:var(--gutter);padding-right:var(--gutter);}
/* 100vw obejmuje pasek przewijania - bez tego strona przewijalaby sie w poziomie o jego szerokosc */
#container{overflow-x:clip;}

/* strona mapy: mapa od krawedzi do krawedzi okna ( jak na glownej ), przelaczniki i legenda z marginesem strony */
.rs-map-page .rs-full-bleed{width:100vw;margin-left:calc(50% - 50vw);}
.rs-map-page .rs-map-tools, .rs-map-page .rs-map-legend{padding-left:var(--gutter);padding-right:var(--gutter);}

/* znaczek "Zrealizowane" szary ( wydarzenie zakonczone ) */
.rs-badge.is-done{background:#e9eaec;color:#55585e;}

/* zrealizowane wydarzenia szare ( jak znaczek i pinezka na mapie ) */
:root{--rs-done:#5f6368;}

/* mapa: zrealizowane wydarzenia jako kolka ( Edycja II zielone, Edycja I szare ), zgloszenia - biale kolka */
.rs-pin-done{background:none;border:0;}
.rs-pin-done span{display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 6px rgba(0,0,0,.35);color:#fff;font:700 12px/1 Arial, sans-serif;opacity:.95;transition:transform .15s ease;}
.rs-pin-done:hover span{transform:scale(1.1);opacity:1;}
.rs-pin-app span{border-style:solid;border-width:2px;}
.rs-leg-dot.is-app{background:#fff;border:2px solid #1d1d1f;}

/* mapa: kolka bez obwodek - jeden jednolity element ( bez kropki podpisu miasta w srodku ) */
.rs-pin-done span, .rs-pin-app span{border:0 !important;box-shadow:0 1px 4px rgba(0,0,0,.25);}
.rs-leg-dot{border:0;}
.rs-leg-dot.is-app{background:#fff;border:0;box-shadow:0 0 0 1px rgba(0,0,0,.25);}
.rs-city i{display:none;}
.rs-city span{left:14px;top:-8px;} /* podpis obok kolka ( bez kropki ) */

/* mapa: kolka przezroczystosc .9, nazwy miejscowosci o 20% mniejsze ( 11 -> 8.8 px, 12 -> 9.6 px ) */
.rs-pin-done span, .rs-pin-app span{opacity:.9;}
.rs-pin-done:hover span, .rs-pin-app:hover span{opacity:1;}
.rs-city span{font-size:8.8px;top:-6px;}
.rs-city.is-app span{font-size:9.6px;top:-6px;}

/* dymki mapy: liczba zgloszen wyrozniona kolorem ( tylko admin / redaktor ) */
.rs-pop-apps{display:inline-block;margin-top:.25em;padding:.1em .55em;border-radius:999px;background:#fde68a;color:#78350f;font-weight:700;font-size:.85em;}

/* "Road Show w liczbach": liczby w kolorze naglowkow H2 ( ustawienia wygladu ) */
.rs-stat strong{color:var(--h2-color, var(--rs-brand));}

/* kolejnosc podstron - przeciaganie za uchwyt ( zalogowany redaktor, core/front-edit.js: initPagesSort ) */
/* galeria justified ( galerie ) ustawia pozycje sama - position:absolute zostaje */
.front-sortable:not(.justified-gallery) > [data-page]{position:relative;}
.front-sort-handle{position:absolute;top:.5rem;left:.5rem;z-index:5;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;
  border:1px solid rgba(0,0,0,.15);border-radius:6px;background:rgba(255,255,255,.92);color:var(--color-user-action,#1d1d1f);cursor:grab;touch-action:none;
  box-shadow:0 1px 4px rgba(0,0,0,.15);opacity:.8;transition:opacity .15s,background .15s;}
.front-sort-handle svg{width:1.1rem;height:1.1rem;fill:currentColor;}
.front-sortable > [data-page]:hover > .front-sort-handle, .front-sort-handle:focus-visible{opacity:1;}
.front-sort-handle:hover, .front-sort-handle:focus-visible{background:var(--color-user-action,#1d1d1f);color:#fff;}
.pages-list.front-sortable > .page{padding-left:2.8rem;}
.pages-list.front-sortable > .page > .front-sort-handle{top:1.4rem;left:0;}
.front-sortable > .is-dragged{opacity:.45;outline:2px dashed var(--color-user-action,#1d1d1f);outline-offset:2px;}
.front-sortable.is-saving{opacity:.7;pointer-events:none;}
html.front-sorting, html.front-sorting *{cursor:grabbing !important;user-select:none;}
html.front-gadgets-hidden .front-sort-handle{display:none !important;}
html.front-gadgets-hidden .pages-list.front-sortable > .page{padding-left:0;}
@media (pointer:fine){ .front-sortable > [data-page]{cursor:grab;} .front-sortable > [data-page] a{cursor:pointer;} }
.front-sort-ghost{position:fixed;top:0;left:0;z-index:10000;display:flex;align-items:center;gap:.6rem;max-width:260px;padding:.4rem .7rem .4rem .4rem;border-radius:8px;
  background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:.85rem;font-weight:600;line-height:1.25;pointer-events:none;}
.front-sort-ghost img{width:64px;height:44px;object-fit:cover;border-radius:5px;flex:0 0 auto;}
.front-sort-ghost span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.front-sort-marker{position:fixed;z-index:9999;width:4px;border-radius:2px;background:var(--color-user-action,#1d1d1f);box-shadow:0 0 0 2px #fff;pointer-events:none;}
.front-sort-marker.is-row{width:auto;height:4px;}

/* data strony ( pages.iTime, core/page-sources.php: displayPageDate ) - np. data wydarzenia w Aktualnosciach */
.page-date{display:block;margin:0 0 .35rem;color:var(--color-muted);font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
.page-date.is-page{margin:-.4rem 0 1.2rem;}

/* lista podstron: przycisk "pokaz kolejne" ( core/pages.php, core/pages-more.js ) */
.pages-list > [hidden]{display:none !important;}
.pages-more-wrap{margin:1.5rem 0 2rem;text-align:center;}
.pages-more{display:inline-flex;align-items:center;gap:.5em;padding:.75em 1.6em;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--color-text);font:inherit;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s;}
.pages-more:hover, .pages-more:focus-visible{background:var(--color-text);color:#fff;}
.pages-more small{font-size:.8em;font-weight:400;letter-spacing:.02em;text-transform:none;opacity:.75;}
