/**
Theme Name: DJamrozy_FM
Author: Damian Jamroży
Author URI: https://damianjamrozy.github.io/
Description: Dedykowany motyw potomny Astra dla Festiwalu ADR – Festiwalu Mediacji. Strona pełni rolę nowoczesnego landing page wydarzenia: prezentuje datę i miejsce,zachęca do rejestracji, przedstawia misję i zespół, wydarzenia, prelegentów oraz partnerów, zawiera sekcję FAQ i rozbudowany kontakt (formularz + dane). Wbudowane podstrony wspierają komunikację z partnerami („Dla sponsorów”) oraz publikację relacji/aktualności. Motyw stworzony w styczniu 2026 przez mgr inż. Damiana Jamroży. All rights reserved.
Version: 1.0.1
License: all rights reserved
Text Domain: festiwaladr
Template: astra
*/


.gradient-title {
    background: linear-gradient( 133deg, rgba(156, 108, 254, 1) 0%, rgba(43, 65, 168, 1) 100% );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}



.main-hero .elementor-widget-container {
    float: left;
    color: #2C2C2C !important;
}




/* === HERO vertical text: rotate od startu + wjazd z lewej === */

/* 1) Obrót ma być natychmiast, zanim Elementor JS zadziała */
.hero-vertical-text {
    transform: rotate(90deg) !important;
    transform-origin: left top;
    will-change: transform, opacity;
}

    /* 2) Wymuś animację (Elementor czasem daje opacity/transform, więc nadpisujemy) */
    .hero-vertical-text.animated.fadeInLeft {
        animation: heroFadeInLeftRotate 1s ease both !important; /* czas możesz zmienić */
    }

/* 3) Animacja: wjazd + fade, ale ZAWSZE z rotate(90deg) */
@keyframes heroFadeInLeftRotate {
    0% {
        opacity: 0;
        transform: translate3d(-60px, 0, 0) rotate(90deg);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) rotate(90deg);
    }
}

.elementor-kit-15 .tpae-preset-title a:hover{
	color: #2C2C2C !important;
}

.tpae-preset-title .elementor-kit-15 a:hover{
	color: #2C2C2C !important;
}

.elementor-kit-15 .tpae-preset-title a:hover{
	color: #2C2C2C !important;
}

.tpae-preset-title .elementor-kit-15 a:hover{
	color: #2C2C2C !important;
}


.elementor-kit-15 .menu-item a {
    transform: none !important;
    box-shadow: none !important;
	font-weight: 550;
}

.elementor-kit-15 .menu-item a:hover {
    transform: none !important;
    box-shadow: none !important;
    color: #9C6CFE !important;
	font-weight: 550;
}

.elementor-kit-15 .menu-item a {
    transform: none !important;
    box-shadow: none !important;
	font-weight: 550;
}

.ast-primary-header-bar{
	border: 0px !important;
}

.tpae-preset-title a:hover {
    color: #2C2C2C !important;
}

.event_hosts{
    background-color: var(--e-global-color-7fbea4f) !important;
}


/* Sponsorzy: domyślnie już wyszarzone (bez animacji), żeby nie było “wskakiwania” */
.carousel-random img {
  filter: grayscale(100%) brightness(0.9);
  opacity: 0.5;
}

/* Dopiero po inicjalizacji (JS dodaje .is-ready) włączamy płynne przejścia */
.carousel-random.is-ready img {
  transition: filter 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
  will-change: filter, opacity, transform;
}

/* Hover stabilniej na slajdzie niż na samym img */
.carousel-random.is-ready .swiper-slide:hover img {
  filter: grayscale(0%);
  opacity: 1;
  transform: scale(1.05);
}

/* Na czas przetasowania wyłącz animacje, żeby nie “świrowało” */
.carousel-random.is-shuffling img {
  transition: none !important;
}

/* Klikalność tylko gdy jest URL w ALT */
.carousel-random .swiper-slide.is-clickable {
  cursor: pointer;
}

.ast-single-post .entry-content a{
    text-decoration: none !important;
}


/* AKTUALNOŚCI */
/* =========================================================
   FESTIWALADR – Aktualności/Relacje jak karty "tpae-*"
   Scope: dodaj klasę "adr-news" do sekcji/kontenera w Elementorze
   ========================================================= */

/* =========================================================
   FESTIWALADR – AKTUALNOŚCI (The Plus Addons)
   Wymaga: klasa .adr-news na sekcji/kontenerze w Elementorze
   Efekt: jasne karty, równa wysokość, brak skakania, data nad tytułem,
          bez autora, CTA na dole, klik działa w całej karcie.
   ========================================================= */

.adr-news{
  --primary:#3a3aa3;
  --text:#17182a;
  --muted:rgba(23,24,42,.62);
  --border:rgba(23,24,42,.10);
  --card:#fff;
  --radius:18px;
  --shadow:0 10px 24px rgba(23,24,42,.10);
  --shadow-hover:0 16px 36px rgba(23,24,42,.14);
}

/* GUTTERS */
.adr-news .tp-row.post-inner-loop .grid-item{
  padding:14px !important;
  box-sizing:border-box !important;
}

/* KARTA */
.adr-news .tp-row.post-inner-loop article.post{
  position: relative !important;
  height: 100% !important;
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
  transition: transform .2s ease, box-shadow .2s ease !important;
}

.adr-news .tp-row.post-inner-loop article.post:hover{
  transform: translateY(-3px) !important;
  box-shadow: var(--shadow-hover) !important;
}

/* LAYOUT: obraz + content */
.adr-news .tp-row.post-inner-loop .blog-list-content{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
}

.adr-news .tp-row.post-inner-loop .post-content-bottom{
  display:flex !important;
  flex-direction:column !important;
  padding:16px 18px 18px !important;
  flex:1 1 auto !important;
  position: static !important;       /* twardy reset overlay/absolute */
  background: var(--card) !important;
}

/* OBRAZ */
.adr-news .tp-row.post-inner-loop .thumb-wrap img{
  width:100% !important;
  height:190px !important;
  object-fit:cover !important;
  display:block !important;
}

/* DATA: mała nad tytułem (bez autora, bez ikonek, bez bąbli) */
.adr-news .tp-row.post-inner-loop .post-meta-info{
  margin:0 0 6px 0 !important;
  font-size:12px !important;
  font-weight:500 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  color: var(--muted) !important;
}

/* usuń autora, separator, ikonki/informacyjne elementy */
.adr-news .tp-row.post-inner-loop .post-author,
.adr-news .tp-row.post-inner-loop .post-meta-info > span:nth-child(2),
.adr-news .tp-row.post-inner-loop .post-meta-info i,
.adr-news .tp-row.post-inner-loop .post-meta-info svg{
  display:none !important;
}

/* data jak zwykły tekst (nie klikalna) */
.adr-news .tp-row.post-inner-loop .meta-date a{
  color: inherit !important;
  text-decoration:none !important;
  pointer-events:none !important;
}

/* TYTUŁ: 2 linie max */
.adr-news .tp-row.post-inner-loop .post-title{
  margin:0 0 8px 0 !important;
  font-size:20px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color: var(--text) !important;

  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height: calc(1.2em * 2) !important;
}

.adr-news .tp-row.post-inner-loop .post-title a{
  color: inherit !important;
  text-decoration:none !important;
}

/* DIVIDER */
.adr-news .tp-row.post-inner-loop .post-title::after{
  content:"" !important;
  display:block !important;
  width:48px !important;
  height:3px !important;
  margin-top:10px !important;
  background: var(--primary) !important;
  border-radius:99px !important;
}

/* OPIS: stała wysokość, brak skakania */
.adr-news .tp-row.post-inner-loop .post-hover-content{
  display:block !important;
  margin-top:10px !important;
  height:72px !important;            /* stałe – Isotope nie przelicza */
  overflow:hidden !important;
  transition:none !important;
}

.adr-news .tp-row.post-inner-loop .post-hover-content p{
  margin:0 !important;
  font-size:14.5px !important;
  line-height:1.55 !important;
  color: var(--muted) !important;

  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

/* CTA: wizualny przycisk na dole */
.adr-news .tp-row.post-inner-loop .post-content-bottom::after{
  content:"DOWIEDZ SIĘ WIĘCEJ" !important;
  margin-top:auto !important;
  height:44px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:12px !important;
  background: var(--primary) !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
  text-transform:uppercase !important;
}

/* KLIK CAŁEJ KARTY – BEZ OVERLAY:
   Ustawiamy, że klik w kartę łapie link z obrazka (JS nie trzeba),
   ale elementy w środku nie blokują kursora.
   (Działa, bo link do wpisu jest na obrazku; użytkownik klika w kartę i trafia w link.)
*/
.adr-news .tp-row.post-inner-loop article.post{
  cursor:pointer !important;
}

/* Najważniejsze: NIE blokujemy treści overlayem – więc nic nie znika. */

/* MOBILE */
@media (max-width: 767px){
  .adr-news .tp-row.post-inner-loop .grid-item{ padding:10px !important; }
  .adr-news .tp-row.post-inner-loop .thumb-wrap img{ height:200px !important; }
}


/* =========================================================
   ADR NEWS – PATCH: data + full-card click
   ========================================================= */

/* --- 1) DATA: wymuś widoczność i styl nad tytułem --- */
.adr-news .tp-row.post-inner-loop .post-meta-info,
.adr-news .tp-row.post-inner-loop .meta-date,
.adr-news .tp-row.post-inner-loop .entry-date{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  overflow: visible !important;
}

.adr-news .tp-row.post-inner-loop .post-meta-info{
  margin: 0 0 6px 0 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
  color: rgba(23,24,42,.62) !important;
}

/* usuń autora i separator | */
.adr-news .tp-row.post-inner-loop .post-author,
.adr-news .tp-row.post-inner-loop .post-meta-info > span:nth-child(2){
  display: none !important;
}

/* data jako zwykły tekst (nie link) */
.adr-news .tp-row.post-inner-loop .meta-date a{
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

/* --- 2) CAŁA KARTA KLIKALNA (bez psucia układu) --- */
/* Upewnij się, że article jest kontekstem pozycjonowania */
.adr-news .tp-row.post-inner-loop article.post{
  position: relative !important;
}

/* Rozciągnij "link od obrazka" na całą kartę przez pseudo-element */
.adr-news .tp-row.post-inner-loop .post-content-image > a::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;      /* obejmuje całe article (bo article ma position:relative) */
  z-index: 1 !important;
}

/* Treść ma być nad overlayem, żeby była widoczna i klikalna */
.adr-news .tp-row.post-inner-loop .post-content-bottom,
.adr-news .tp-row.post-inner-loop .post-title a{
  position: relative !important;
  z-index: 2 !important;
}

/* CTA pseudo-element (jeśli masz) ma nie przechwytywać klików */
.adr-news .tp-row.post-inner-loop .post-content-bottom::after{
  pointer-events: none !important;
}


/* =========================================================
   ADR NEWS – FIX: data widoczna + full-card click (pewne)
   ========================================================= */

/* 1) DATA – wymuś kolor jak zwykły tekst */
.adr-news .tp-row.post-inner-loop .post-meta-info,
.adr-news .tp-row.post-inner-loop .meta-date,
.adr-news .tp-row.post-inner-loop .meta-date a,
.adr-news .tp-row.post-inner-loop .entry-date{
  color: rgba(23,24,42,.62) !important;
  text-decoration: none !important;
}

/* 2) Usuń autora i separator | */
.adr-news .tp-row.post-inner-loop .post-author,
.adr-news .tp-row.post-inner-loop .post-meta-info > span:nth-child(2){
  display: none !important;
}

/* =========================================================
   3) CAŁA KARTA KLIKALNA – rozciągamy PRAWDZIWY link <a>
   ========================================================= */
.adr-news .tp-row.post-inner-loop article.post{
  position: relative !important;
}

/* link z obrazka staje się overlayem na całą kartę */
.adr-news .tp-row.post-inner-loop .post-content-image > a{
  position: absolute !important;
  inset: 0 !important;              /* cały article */
  z-index: 1 !important;
  display: block !important;
}

/* zachowaj obrazek (żeby był widoczny) */
.adr-news .tp-row.post-inner-loop .post-content-image{
  position: relative !important;
  z-index: 0 !important;
}

/* wszystko co widzisz (tekst + pseudo-przycisk) ponad linkiem,
   ale NIE przechwytuje kliknięć → klik idzie do linku pod spodem */
.adr-news .tp-row.post-inner-loop .post-content-bottom{
  position: relative !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* tytuł link też niech nie przechwytuje (i tak ma klikać cały box) */
.adr-news .tp-row.post-inner-loop .post-title a{
  pointer-events: none !important;
}

/* pseudo-CTA też nie łapie klików */
.adr-news .tp-row.post-inner-loop .post-content-bottom::after{
  pointer-events: none !important;
}

/* =========================================================
   ADR NEWS – FIX: zdjęcia wracają + full-card click bez psucia layoutu
   ========================================================= */

/* karta jako kontekst */
.adr-news .tp-row.post-inner-loop article.post{
  position: relative !important;
}

/* LINK: zostaje w DOM, ale robimy mu overlay KLIKALNY przez pseudo-element
   (to jest bezpieczne, bo NIE zmieniamy pozycjonowania <a> na absolute) */
.adr-news .tp-row.post-inner-loop .post-content-image > a{
  position: relative !important;
  display: block !important;
  z-index: 1 !important;
}

.adr-news .tp-row.post-inner-loop .post-content-image > a::after{
  content: "" !important;
  position: absolute !important;
  inset: -9999px !important;  /* obejmuje całą kartę, ale anchor zostaje na miejscu */
  z-index: 1 !important;
}

/* OBRAZ i TREŚĆ nad overlayem (żeby były widoczne) */
.adr-news .tp-row.post-inner-loop .post-content-image,
.adr-news .tp-row.post-inner-loop .post-content-image img,
.adr-news .tp-row.post-inner-loop .post-content-bottom{
  position: relative !important;
  z-index: 2 !important;
}

/* Klik ma iść do linku pod spodem -> wyłącz przechwytywanie przez treść */
.adr-news .tp-row.post-inner-loop .post-content-bottom{
  pointer-events: none !important;
}
.adr-news .tp-row.post-inner-loop .post-content-bottom::after{
  pointer-events: none !important;
}
.adr-news .tp-row.post-inner-loop .post-title a{
  pointer-events: none !important;
}






/* SINGLE POST – ukryj autora */
.single-post .entry-meta .author,
.single-post .entry-meta .posted-by,
.single-post .entry-meta .byline,
.single-post .entry-meta .ast-author,
.single-post .entry-meta .author-name,
.single-post .entry-meta .posted-on + span, /* czasem separator */
.single-post .ast-single-post-meta .author,
.single-post .ast-single-post-meta .byline{
  display: none !important;
}

/* SINGLE POST – szerzej + karta + tło */
.single-post{
  background: #f3f6fb; /* delikatne tło jak na stronie */
}

.single-post .site-content,
.single-post #content{
  padding-top: 40px;
  padding-bottom: 60px;
}

/* Główny kontener treści – poszerzenie */
.single-post .content-area,
.single-post .ast-container,
.single-post .site-content .ast-container{
  max-width: 1240px !important;   /* było wężej */
}

/* Sam artykuł jako karta */
.single-post article.post,
.single-post .ast-single-post{
  background: #fff;
  border: 1px solid rgba(23,24,42,.10);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(23,24,42,.10);
  padding: 34px 42px;
}

/* Mobile padding */
@media (max-width: 767px){
  .single-post article.post,
  .single-post .ast-single-post{
    padding: 22px 18px;
    border-radius: 16px;
  }
}


/* Typografia i spacing */
.single-post .entry-title{
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin-bottom: 10px;
}

/* Data jako subtelny akcent */
.single-post .entry-meta,
.single-post .ast-single-post-meta{
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .03em;
  color: rgba(23,24,42,.60);
  margin-bottom: 18px;
}

/* Linia akcentu pod tytułem (spójna z fioletami strony) */
.single-post .entry-title:after{
  content:"";
  display:block;
  width: 64px;
  height: 4px;
  border-radius: 99px;
  margin-top: 14px;
  background: #3a3aa3;
  opacity: .95;
}

/* Treść: wygodna szerokość czytania */
.single-post .entry-content{
  font-size: 17px;
  line-height: 1.75;
  color: rgba(23,24,42,.88);
}

/* Odstępy między akapitami */
.single-post .entry-content p{
  margin: 0 0 1.05em 0;
}

/* Linki */
.single-post .entry-content a{
  color: #23235f;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.single-post .entry-content a:hover{
  color: #3a3aa3;
}

/* Poprzedni/Następny jako box */
.single-post .post-navigation,
.single-post .nav-links{
  margin-top: 26px;
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(23,24,42,.10);
  border-radius: 16px;
  padding: 18px 20px;
}

.single-post .post-navigation a{
  color: #23235f;
  font-weight: 700;
  text-decoration: none;
}
.single-post .post-navigation a:hover{
  color: #3a3aa3;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* =========================================================
   SINGLE POST – usuń "Przez /", zostaw samą datę
   ========================================================= */

/* =========================================================
   SINGLE POST – meta: zostaw TYLKO datę (usuwa "PRZEZ /")
   ========================================================= */

/* Ukryj wszystkie elementy meta */
.single-post .ast-single-post-meta > *{
  display: none !important;
}

/* Pokaż tylko datę */
.single-post .ast-single-post-meta .posted-on,
.single-post .ast-single-post-meta .posted-on *{
  display: inline !important;
}

/* Styl daty (żeby wyglądała jak tekst) */
.single-post .ast-single-post-meta .posted-on,
.single-post .ast-single-post-meta .posted-on a{
  color: rgba(23,24,42,.60) !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .03em !important;
  text-decoration: none !important;
}

.single-post .entry-meta > *{ display:none !important; }
.single-post .entry-meta .posted-on,
.single-post .entry-meta .posted-on *{ display:inline !important; }




.single-post .site-content, .single-post #content {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}