/* ==========================================================================
   Tira Vento × Elementor
   Strony budowane w Elementorze dostają wygląd motywu. Własne ustawienia
   widżetów (Styl w panelu Elementora) zawsze mają pierwszeństwo.

   Klasy do wpisania w Elementorze: Zaawansowane → Klasy CSS
   Kontenery (sekcje):
     tv-e-sec      odstępy sekcji jak w motywie (dodaj do każdej sekcji)
     tv-e-tight    mniejsze odstępy sekcji
     tv-dark       ciemne tło          tv-light   jasne tło (domyślne)
     tv-white      białe tło           tv-e-band  pas ze zdjęciem w tle
     tv-e-head     nagłówek sekcji: tytuł po lewej, opis po prawej
     tv-e-card     karta z tłem i odstępem
     tv-e-stats    pasek parametrów (etykieta + duża wartość)
     tv-e-timeline oś czasu (wiersze: rok + opis)
   Widżety:
     tv-e-pre      nadtytuł (mały, w kolorze akcentu)
     tv-e-lead     większy, przygaszony tekst wstępu
     tv-e-mut      przygaszony tekst
     tv-e-hi       tekst w kolorze akcentu
     tv-e-year     duża liczba (rok, cena)
     tv-e-warn     ramka ostrzeżenia
     tv-e-portrait / tv-e-landscape / tv-e-square   kadr zdjęcia
     tv-e-btn-outline  przycisk obrysowany
   ========================================================================== */

/* --- układ --- */
.tv-el-content{display:flow-root}
/* Elementor ustawia te zmienne na każdym kontenerze (Ustawienia witryny), stąd podwójna klasa. */
.tv-el-content .e-con.e-con{
  --container-max-width:var(--tv-wrap);
  --container-default-padding-top:0px;--container-default-padding-right:0px;
  --container-default-padding-bottom:0px;--container-default-padding-left:0px;
}
.tv-el-content .elementor-element.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px}
.tv-el-content .e-con.tv-e-sec{
  --padding-top:120px;--padding-bottom:120px;--padding-left:var(--tv-gut);--padding-right:var(--tv-gut);
  --gap:56px 56px;--row-gap:56px;--column-gap:56px;
}
.tv-el-content .e-con.tv-e-sec.tv-e-tight{--padding-top:84px;--padding-bottom:84px}
@media (max-width:900px){
  .tv-el-content .e-con.tv-e-sec{--padding-top:76px;--padding-bottom:76px;--gap:40px 40px;--row-gap:40px;--column-gap:40px}
  .tv-el-content .e-con.tv-e-sec.tv-e-tight{--padding-top:56px;--padding-bottom:56px}
}
.tv-el-content .e-con.tv-light,.tv-el-content .e-con.tv-dark,.tv-el-content .e-con.tv-white{background-color:var(--bgc)}
.tv-el-content .e-con.tv-dark,.tv-el-content .e-con.tv-e-band{color:var(--fg)}

/* nagłówek sekcji */
.tv-el-content .e-con.tv-e-head{--row-gap:18px}
.tv-el-content .e-con.e-grid.tv-e-head{--align-items:end;--row-gap:24px}
.tv-el-content .e-con.tv-e-head>.e-con{--row-gap:18px}

/* karta */
.tv-el-content .e-con.e-con.tv-e-card{
  background-color:var(--card);
  --padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;--row-gap:14px;
}
@media (max-width:700px){.tv-el-content .e-con.e-con.tv-e-card{--padding-top:24px;--padding-bottom:24px;--padding-left:22px;--padding-right:22px}}

/* pasek parametrów */
.tv-el-content .e-con.tv-e-stats{border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);--row-gap:0px;--column-gap:0px}
.tv-el-content .e-con.tv-e-stats>.e-con{--padding-top:28px;--padding-bottom:28px;--padding-right:24px;--row-gap:8px}
.tv-el-content .e-con.tv-e-stats>.e-con+.e-con{border-left:1px solid var(--ln);--padding-left:24px}
.tv-el-content .tv-e-stats .elementor-widget-heading:first-child .elementor-heading-title{font:500 14px/1.3 var(--tv-sans);color:var(--mut);letter-spacing:0}
.tv-el-content .tv-e-stats .elementor-widget-heading:last-child .elementor-heading-title{font:600 clamp(26px,2.4vw,36px)/1.05 var(--tv-serif);color:var(--fg)}
@media (max-width:767px){
  .tv-el-content .e-con.tv-e-stats>.e-con+.e-con{border-left:0;border-top:1px solid var(--ln);--padding-left:0px}
  .tv-el-content .e-con.tv-e-stats>.e-con{--padding-top:18px;--padding-bottom:18px}
}

/* oś czasu */
.tv-el-content .e-con.tv-e-timeline{border-top:1px solid var(--ln);--row-gap:0px}
.tv-el-content .e-con.tv-e-timeline>.e-con{border-bottom:1px solid var(--ln);--padding-top:36px;--padding-bottom:36px;--row-gap:10px;--column-gap:40px}

/* pas ze zdjęciem w tle (zdjęcie: Styl → Tło) */
.tv-el-content .e-con.e-con.tv-e-band{background-color:var(--tv-dark);background-size:cover;background-position:center;overflow:hidden}
.tv-el-content .e-con.e-con.tv-e-band::before{content:"";inset:0;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.6) 55%,rgba(0,0,0,.22));z-index:0}
.tv-el-content .e-con.tv-e-band>.e-con-inner,.tv-el-content .e-con.tv-e-band>.elementor-element{position:relative;z-index:1}
.tv-el-content .e-con.tv-e-band>.e-con-inner>*{max-width:640px}
.tv-el-content .e-con.tv-e-band.tv-e-sec{--padding-top:140px;--padding-bottom:140px}
@media (max-width:900px){.tv-el-content .e-con.tv-e-band.tv-e-sec{--padding-top:84px;--padding-bottom:84px}}

/* --- typografia --- */
.tv-el-content .elementor-widget-heading .elementor-heading-title{font-family:var(--tv-serif);font-weight:600;letter-spacing:-.01em;line-height:1.05;color:inherit;text-wrap:balance}
.tv-el-content .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(46px,7vw,112px);line-height:.95}
.tv-el-content .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(36px,4.4vw,64px);max-width:18ch}
.tv-el-content .elementor-widget-heading h3.elementor-heading-title{font-size:clamp(25px,2.1vw,31px);line-height:1.1}
.tv-el-content .elementor-widget-heading h4.elementor-heading-title{font-size:22px}
.tv-el-content .elementor-widget-heading :is(p,div,span).elementor-heading-title{font-family:var(--tv-sans);font-weight:400;font-size:17px;line-height:1.6;letter-spacing:0}

.tv-el-content .elementor-widget-text-editor{font-family:var(--tv-sans);font-size:17px;line-height:1.65;color:inherit}
.tv-el-content .elementor-widget-text-editor :is(p,ul,ol){margin:0}
.tv-el-content .elementor-widget-text-editor>*>*+*,.tv-el-content .elementor-widget-text-editor>*+*{margin-top:1em}
.tv-el-content .elementor-widget-text-editor :is(ul,ol):not([class]){padding-left:1.2em}
.tv-el-content .elementor-widget-text-editor a{color:inherit;text-underline-offset:3px}
.tv-el-content .elementor-widget-text-editor h3{font-size:clamp(22px,1.8vw,27px);margin-top:1.4em}

/* klasy pomocnicze widżetów */
.tv-el-content .elementor-widget.tv-e-pre .elementor-heading-title,
.tv-el-content .elementor-widget-text-editor.tv-e-pre{font:600 15px/1.4 var(--tv-sans);letter-spacing:0;color:var(--hi)}
.tv-el-content .elementor-widget.tv-e-lead,.tv-el-content .elementor-widget.tv-e-lead .elementor-heading-title{font-size:clamp(18px,1.45vw,21px);line-height:1.6;color:var(--mut)}
.tv-el-content .elementor-widget.tv-e-mut,.tv-el-content .elementor-widget.tv-e-mut .elementor-heading-title{color:var(--mut)}
.tv-el-content .elementor-widget.tv-e-hi,.tv-el-content .elementor-widget.tv-e-hi .elementor-heading-title{color:var(--hi);font-weight:600}
.tv-el-content .elementor-widget.tv-e-year .elementor-heading-title{font:600 clamp(44px,4.4vw,64px)/1 var(--tv-serif);color:var(--hi)}
.tv-el-content .elementor-widget.tv-e-warn{background:var(--card);border-left:3px solid var(--tv-accent-2);padding:24px 26px}
.tv-el-content .tv-dark .elementor-widget.tv-e-warn{background:var(--tv-dark-2)}

/* --- zdjęcia --- */
.tv-el-content .elementor-widget-image img{display:block;width:100%;height:auto}
.tv-el-content .elementor-widget-image.tv-e-portrait img{aspect-ratio:4/5;object-fit:cover}
.tv-el-content .elementor-widget-image.tv-e-landscape img{aspect-ratio:4/3;object-fit:cover}
.tv-el-content .elementor-widget-image.tv-e-square img{aspect-ratio:1;object-fit:cover}
.tv-el-content .elementor-widget-image.tv-e-wide img{aspect-ratio:16/9;object-fit:cover}
.tv-el-content .elementor-widget-image .widget-image-caption{font-size:14px;color:var(--mut);margin-top:10px}

/* --- przyciski --- */
.tv-el-content .elementor-widget-button .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;
  border-radius:var(--tv-r);font:600 16px/1.2 var(--tv-sans);letter-spacing:0;text-transform:none;
  background-color:var(--tv-accent);color:var(--tv-on-accent);border:1px solid transparent;
  fill:var(--tv-on-accent);transition:background-color .2s,color .2s,border-color .2s
}
.tv-el-content .elementor-widget-button .elementor-button:hover,.tv-el-content .elementor-widget-button .elementor-button:focus{background-color:color-mix(in srgb,var(--tv-accent) 82%,#000);color:var(--tv-on-accent)}
.tv-el-content .elementor-widget-button.tv-e-btn-outline .elementor-button{background-color:transparent;color:inherit;border-color:currentColor}
.tv-el-content .elementor-widget-button.tv-e-btn-outline .elementor-button:hover{background-color:color-mix(in srgb,currentColor 10%,transparent);color:inherit}
.tv-el-content .elementor-widget-button .elementor-button-text{color:inherit}

/* --- pytania (widżet Przełącznik / Toggle) --- */
.tv-el-content .elementor-widget-toggle .elementor-toggle-item{border-bottom:1px solid var(--ln)}
.tv-el-content .elementor-widget-toggle .elementor-toggle-item:first-child{border-top:1px solid var(--ln)}
.tv-el-content .elementor-widget-toggle .elementor-tab-title{border:0;padding:24px 50px 24px 0;position:relative;font:600 18px/1.4 var(--tv-sans);color:inherit;background:none}
.tv-el-content .elementor-widget-toggle .elementor-toggle-title{color:inherit;text-decoration:none;font:inherit}
.tv-el-content .elementor-widget-toggle .elementor-tab-title::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 14px no-repeat;transform:translateY(-50%);transition:transform .2s}
.tv-el-content .elementor-widget-toggle .elementor-tab-title.elementor-active::after{transform:translateY(-50%) rotate(45deg)}
.tv-el-content .elementor-widget-toggle .elementor-tab-content{border:0;padding:0 0 22px;color:var(--mut);font-size:17px;line-height:1.65}

/* --- mapa --- */
.tv-el-content .elementor-widget-google_maps iframe{display:block;width:100%;filter:grayscale(.35)}

/* --- wyniki shortcode’ów motywu w Elementorze --- */
.tv-el-content .elementor-widget-shortcode{width:100%}

/* --- telefon / tablet: kolumny w siatkach --- */
@media (max-width:767px){
  .tv-el-content .elementor-widget-heading h2.elementor-heading-title{max-width:none}
}

/* --- nagłówek strony zbudowany w Elementorze (wariant „Bez nagłówka”) --- */
.tv-el-content .e-con.tv-e-intro{--padding-top:72px;--padding-bottom:110px}
@media (max-width:900px){.tv-el-content .e-con.tv-e-intro{--padding-top:40px;--padding-bottom:84px}}
.tv-el-content .tv-e-intro .tv-crumbs{color:var(--mut);margin-bottom:0}
.tv-el-content .tv-e-intro .tv-crumbs a{text-decoration:none}
.tv-el-content .tv-e-intro .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(56px,7vw,104px)}
.tv-el-content .e-con.tv-e-intro .tv-e-grid-mid{--align-items:center}

/* zdjęcie w łuku + plakietka */
.tv-el-content .elementor-widget-image.tv-e-arch img{aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px var(--tv-r) var(--tv-r);outline:1px solid color-mix(in srgb,var(--hi) 55%,transparent);outline-offset:10px}
.tv-el-content .e-con.e-con.tv-e-media{max-width:520px;justify-self:end;margin-inline:auto 0}
.tv-el-content .e-con.e-con.tv-e-badge{
  --position:absolute;--width:auto;--padding-top:16px;--padding-bottom:16px;--padding-left:22px;--padding-right:24px;--column-gap:14px;--row-gap:0px;
  left:-32px;bottom:56px;z-index:2;box-shadow:0 18px 40px rgba(0,0,0,.28);max-width:280px
}
.tv-el-content .tv-e-badge .tv-e-year .elementor-heading-title{font-size:46px}
.tv-el-content .tv-e-badge .elementor-widget-heading:last-child .elementor-heading-title{font-size:14px;line-height:1.35}
@media (max-width:1024px){.tv-el-content .e-con.e-con.tv-e-media{justify-self:start;margin-inline:0 auto}.tv-el-content .e-con.e-con.tv-e-badge{left:12px;bottom:24px}}

/* klikalne karty (kontener z linkiem) */
.tv-el-content .e-con.e-con.tv-e-link-card{text-decoration:none;color:inherit;border:1px solid var(--ln);transition:transform .2s,border-color .2s,box-shadow .2s;--padding-bottom:64px}
.tv-el-content .e-con.e-con.tv-e-link-card::after{content:"→";position:absolute;left:32px;bottom:24px;font:600 20px/1 var(--tv-sans);color:var(--hi);transition:transform .2s}
.tv-el-content .e-con.e-con.tv-e-link-card:hover{border-color:color-mix(in srgb,var(--hi) 60%,transparent);transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.08)}
.tv-el-content .e-con.e-con.tv-e-link-card:hover::after{transform:translateX(4px)}
.tv-el-content .tv-e-link-card .tv-e-year .elementor-heading-title{font-size:40px}
@media (prefers-reduced-motion:reduce){.tv-el-content .e-con.e-con.tv-e-link-card,.tv-el-content .e-con.e-con.tv-e-link-card::after{transition:none}}
