/* ==========================================================================
   Smart Campaigns Pro - baner frontendu
   v1.6.4
   Nawigacja slidera ma dwa tryby kolorystyczne, sterowane klasa na rootcie.

   Zasada zmiennych: kazda wartosc sterowana z panelu jest czytana przez
   var(--x, wartosc-domyslna). Kampania bez wlasnych ustawien renderuje sie
   dokladnie tak jak przed 1.5.0, bo renderer nie emituje wtedy zadnej zmiennej.
   ========================================================================== */

.scp-campaigns{--scp-accent:#176b55;--scp-height:420px;--scp-radius:0px;--scp-content-width:1180px;position:relative;width:100%;overflow:hidden;border-radius:var(--scp-radius);font-family:inherit;background:#eef2ef}
.scp-track{position:relative;width:100%;min-height:var(--scp-height)}
.scp-slide{position:relative;display:none;min-height:var(--scp-height);background-image:var(--scp-desktop-image);background-size:cover;background-position:var(--scp-desktop-position,center);background-repeat:no-repeat;overflow:hidden}
.scp-slide.is-active{display:block}
.scp-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,18,.78) 0%,rgba(8,24,18,.56) 38%,rgba(8,24,18,.05) 75%,rgba(8,24,18,0) 100%)}
.scp-content{position:relative;z-index:2;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:var(--scp-content-align,flex-start);min-height:var(--scp-height);width:min(100%,var(--scp-content-width));margin:0 auto;padding:52px 64px;color:#fff}
.scp-eyebrow{margin:0 0 14px;font-size:var(--scp-eyebrow-size,12px);line-height:1.2;font-weight:var(--scp-eyebrow-weight,700);letter-spacing:.1em;text-transform:uppercase;color:var(--scp-eyebrow-color,inherit)}
.scp-title{max-width:690px;margin:0 0 16px;color:var(--scp-title-color,inherit);font-size:var(--scp-title-size,clamp(34px,4vw,58px));line-height:1.04;font-weight:var(--scp-title-weight,700);letter-spacing:-.03em;overflow-wrap:break-word}
.scp-body{max-width:650px;font-size:var(--scp-body-size,18px);line-height:1.6;color:var(--scp-body-color,rgba(255,255,255,.93));overflow-wrap:break-word}
.scp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;justify-content:var(--scp-content-align,flex-start)}
.scp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid rgba(255,255,255,.8);border-radius:0;text-decoration:none!important;font-size:14px;font-weight:700;transition:transform .18s ease,background-color .18s ease,color .18s ease,border-color .18s ease}
.scp-btn:hover{transform:translateY(-1px)}
.scp-btn-primary{background:var(--scp-cta-bg,var(--scp-accent));border-color:var(--scp-cta-bg,var(--scp-accent));color:var(--scp-cta-color,#fff)!important}
.scp-btn-primary:hover{background:var(--scp-cta-hover-bg,var(--scp-cta-bg,var(--scp-accent)));border-color:var(--scp-cta-hover-bg,var(--scp-cta-bg,var(--scp-accent)));color:var(--scp-cta-hover-color,var(--scp-cta-color,#fff))!important}
.scp-btn-secondary{background:rgba(255,255,255,.95);border-color:#fff;color:#102d25!important}
/* Uklad nawigacji. Dziala w obu trybach kolorystycznych i pozostaje
   po stronie Calendory nawet wtedy, gdy motyw dostaje wplyw na kolory. */
.scp-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;font-size:20px;line-height:1;cursor:pointer;opacity:0;pointer-events:none;transition:opacity 180ms ease,background-color 150ms ease,border-color 150ms ease}
/* Strzalki pojawiaja sie dopiero, gdy uzytkownik wchodzi w baner mysza albo
   klawiatura. Hover nie moze byc jedynym sposobem ujawnienia. */
.scp-campaigns:hover .scp-nav,.scp-campaigns:focus-within .scp-nav,.scp-nav:focus-visible{opacity:1;pointer-events:auto}
.scp-nav:focus-visible{outline:2px solid #fff;outline-offset:2px}
/* ==========================================================================
   Tryb NEUTRALNY (domyslny)
   --------------------------------------------------------------------------
   Motywy stylizuja przyciski regulami w rodzaju `.entry-content button` albo
   `button.wp-element-button`, czyli (0,1,1) i wyzej. Regula `.scp-nav` ma
   (0,1,0) i przegrywa - dlatego w wp-admin, gdzie arkusza motywu nie ma,
   podglad wygladal poprawnie, a front nie.
   Selektor `.scp-campaigns.scp-navigation-neutral .scp-nav` ma (0,3,0),
   wiec wygrywa z typowymi regulami motywu. Krytyczne wlasciwosci dodatkowo
   zabezpieczamy, bo motyw moze uzyc !important - i wtedy sama specyficznosc
   nie wystarczy. Zakres jest ograniczony do wnetrza banera Calendory.
   ========================================================================== */
.scp-campaigns.scp-navigation-neutral .scp-nav{
 background:rgba(17,19,22,.55)!important;
 color:#f5f6f7!important;
 border:1px solid rgba(245,246,247,.5)!important;
 border-radius:2px!important;
 box-shadow:none!important;
 padding:0!important;
 line-height:1!important;
 text-decoration:none!important;
 text-shadow:none!important;
 backdrop-filter:blur(4px)}
.scp-campaigns.scp-navigation-neutral .scp-nav:hover{
 background:rgba(17,19,22,.75)!important;
 border-color:rgba(245,246,247,.8)!important;
 color:#fff!important}
.scp-campaigns.scp-navigation-neutral .scp-nav:focus-visible{
 outline:2px solid #fff!important;outline-offset:2px!important}
.scp-campaigns.scp-navigation-neutral .scp-pause{
 background:rgba(17,19,22,.55)!important;
 color:#f5f6f7!important;
 border:1px solid rgba(245,246,247,.5)!important;
 border-radius:2px!important;
 box-shadow:none!important;
 padding:0!important}
.scp-campaigns.scp-navigation-neutral .scp-pause:hover{
 background:rgba(17,19,22,.75)!important;
 border-color:rgba(245,246,247,.8)!important}
/* Ikona rysuje sie na borderach i currentColor, wiec musi byc chroniona
   osobno - motyw potrafi ustawic `svg{fill:currentColor}` albo wlasny border. */
.scp-campaigns.scp-navigation-neutral .scp-pause .scp-pause-icon{
 background:none!important;
 border-color:currentColor!important;
 border-radius:0!important;
 box-shadow:none!important}
.scp-campaigns.scp-navigation-neutral .scp-dots button{
 border:1px solid #fff!important;
 border-radius:0!important;
 background:rgba(255,255,255,.35)!important;
 box-shadow:none!important;
 padding:0!important}
.scp-campaigns.scp-navigation-neutral .scp-dots button.is-active{background:#fff!important}

/* ==========================================================================
   Tryb KOLORY MOTYWU (opcjonalny)
   --------------------------------------------------------------------------
   Tutaj celowo NIE MA zadnej reguly - i to nie jest przeoczenie.

   W 1.6.1 stal w tym miejscu wlasny zestaw background/color/border przy
   specyficznosci (0,3,0). Wlaczenie opcji nie oddawalo wiec kontrolek
   motywowi: podmienialo tylko jeden narzucony wyglad na drugi, przez co
   strzalki nadal byly szare. Tryb ma robic dokladnie odwrotnie - zdjac
   kolorystyke Calendory, zeby reguly motywu (`.entry-content button`,
   `button.wp-element-button` itp.) w koncu doszly do glosu.

   Uklad, rozmiar, pozycja i dostepnosc zostaja po stronie Calendory: niosa
   je reguly bazowe `.scp-nav`, `.scp-prev`, `.scp-next`, `.scp-pause`
   i `.scp-dots`, ktore nie zawieraja juz zadnej kolorystyki. Ikona pauzy
   rysuje sie na `currentColor`, wiec przejmuje kolor tekstu z motywu.
   ========================================================================== */

.scp-prev{left:14px}.scp-next{right:14px}
/* Pauza rotacji (WCAG 2.2.2). Ten sam jezyk wizualny co strzalki, ale w rogu,
   zeby nie wchodzila w tresc banera. */
.scp-pause{top:auto;bottom:14px;right:14px;transform:none;width:30px;height:30px;font-size:0}
.scp-pause .scp-pause-icon{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
/* Stan zatrzymany: ikona zmienia sie w trojkat "odtworz", a przycisk zostaje
   widoczny bez hovera - inaczej nie dalo by sie wznowic rotacji. */
.scp-pause.is-paused{opacity:1;pointer-events:auto}
.scp-pause.is-paused .scp-pause-icon{width:0;height:0;border:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:3px}
.scp-dots{position:absolute;z-index:5;left:50%;bottom:16px;display:flex;gap:7px;transform:translateX(-50%)}
/* Sama geometria kropek. Kolorystyka nalezy do trybu - w trybie
   neutralnym maluje ja blok wyzej, w trybie motywu nie maluje jej nikt. */
.scp-dots button{width:8px;height:8px;padding:0;cursor:pointer}

/* --- Formatowanie tresci: B, I, U (v1.5.5) -------------------------------- */
/* Przegladarkowy domyslny styl to strong{font-weight:bolder}. "bolder" jest
   WZGLEDNE: przy rodzicu 700 daje 900, wiec pogrubiony fragment naglowka
   trafial na inna odmiane kroju niz tekst wokol. Dlatego waga jest tu jawna.
   Reszta parametrow typografii jest zablokowana na inherit, zeby zaden motyw
   ani Elementor nie zmienil przy okazji kroju, rozmiaru ani swiatla. */
.scp-title strong,.scp-title em,.scp-title u,
.scp-body strong,.scp-body em,.scp-body u{
 font-family:inherit;font-size:inherit;font-stretch:inherit;
 letter-spacing:inherit;line-height:inherit;color:inherit;
 font-variation-settings:inherit;font-feature-settings:inherit}
/* B zmienia wylacznie grubosc. Naglowek ma domyslnie 700, wiec pogrubienie to 800. */
.scp-title strong{font-weight:800;font-style:inherit;text-decoration:inherit}
/* Opis dziedziczy 400, wiec 700 to dokladnie to, co dawala dotad przegladarka. */
.scp-body strong{font-weight:700;font-style:inherit;text-decoration:inherit}
/* I zmienia wylacznie odmiane pochylona. */
.scp-title em,.scp-body em{font-weight:inherit;font-style:italic;text-decoration:inherit}
/* U zmienia wylacznie dekoracje. */
.scp-title u,.scp-body u{font-weight:inherit;font-style:inherit;text-decoration:underline}

/* --- Stopka z kolejnymi imieninami --------------------------------------- */
/* Desktop pokazuje trzy kolejne dni, mobile tylko "Jutro". Sterowane wylacznie
   CSS-em, wiec renderer nie musi wiedziec, na jakim urzadzeniu jest uzytkownik. */
.scp-nameday-foot{display:flex;flex-wrap:wrap;gap:8px 24px;margin:32px 0 0;padding:12px 0 0;border-top:1px solid rgba(255,255,255,.22);list-style:none;max-width:760px;font-weight:400}
.scp-nameday-day{margin:0;color:rgba(255,255,255,.86);font-size:13px;line-height:1.45}
.scp-nameday-label{letter-spacing:.01em}
.scp-nameday-names{color:rgba(255,255,255,.92)}

/* --- Wskaznik trybu testowego, widoczny wylacznie dla administratora ------ */
.scp-test-badge{position:absolute;z-index:6;top:12px;left:12px;padding:6px 10px;border:1px solid rgba(255,255,255,.55);border-radius:4px;background:rgba(17,17,17,.78);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;backdrop-filter:blur(4px)}

/* --- Slider: swipe bez szarpania pionowego przewijania -------------------- */
.scp-campaigns[data-scp-slider]{touch-action:pan-y}

@media(max-width:767px){
 /* v1.5.0: baner mobile jest o ~17% nizszy niz wczesniej (520 -> 430 px),
    zeby nie zabieral calego pierwszego ekranu. */
 .scp-campaigns{--scp-height:430px}
 .scp-slide{background-image:var(--scp-mobile-image,var(--scp-desktop-image));background-position:var(--scp-mobile-position,var(--scp-desktop-position,center))}
 .scp-overlay{background:linear-gradient(0deg,rgba(8,24,18,.88),rgba(8,24,18,.55) 62%,rgba(8,24,18,.18))}
 /* Content nadal kotwiczony do dolu, bo tam overlay jest najciemniejszy.
    Wiekszy padding dolny podnosi caly blok o 48 px, bez transformu. */
 .scp-content{justify-content:flex-end;padding:28px 24px 82px}
 .scp-eyebrow{margin-bottom:10px;font-size:var(--scp-eyebrow-size-m,11px)}
 .scp-title{font-size:var(--scp-title-size-m,32px);line-height:1.1;margin-bottom:12px;max-width:100%}
 .scp-body{font-size:var(--scp-body-size-m,15px);line-height:1.55;max-width:100%}
 .scp-actions{margin-top:18px;gap:10px}
 .scp-btn{min-height:44px;padding:0 18px;font-size:13px}
 /* Strzalki znikaja calkowicie. Nawigacja na telefonie to swipe i kropki. */
 /* Strzalki na telefonie zostaja ukryte (nawigacja gestem), ale pauza NIE:
    autoplay dziala takze na mobile, wiec musi dac sie go zatrzymac. */
 .scp-nav:not(.scp-pause){display:none}
 .scp-pause{opacity:1;pointer-events:auto;width:28px;height:28px;bottom:12px;right:12px}
 /* Stopka nie moze podnosic wysokosci banera, wiec jest zwarta i ma jeden dzien. */
 .scp-nameday-day:not(.is-primary){display:none}
 .scp-nameday-foot{gap:6px;margin-top:18px;padding-top:10px}
 .scp-nameday-day{font-size:12px}
 .scp-dots{bottom:12px}
 .scp-test-badge{top:8px;left:8px;font-size:10px}
}

@media (prefers-reduced-motion: reduce){
 /* Sam brak transition to za malo: rotacje wylacza JavaScript, ktory czyta
    te sama preferencje przez matchMedia. Tutaj usuwamy pozostaly ruch
    i zostawiamy przycisk pauzy widoczny, zeby dalo sie wznowic recznie. */
 .scp-btn,.scp-slide,.scp-nav{transition:none!important}
 .scp-btn:hover{transform:none}
 .scp-pause{opacity:1;pointer-events:auto}
}
