/* Nadpisania kolorow i typografii Elementora — marka Tuszynski Transport */

/* Naglowki: granat zamiast globalnego niebieskiego */
.elementor-widget-heading .elementor-heading-title { color: #0B1A31; }
.t-eyebrow .elementor-heading-title { color: #1B4FC8 !important; }
.t-eyebrow.t-amber .elementor-heading-title { color: #F2B01E !important; }
.t-dark .elementor-widget-heading .elementor-heading-title { color: #ffffff; }
.t-dark .t-eyebrow .elementor-heading-title { color: #F2B01E !important; }
.t-footer .elementor-widget-heading .elementor-heading-title { color: #ffffff; }

/* Linki w ciemnych sekcjach */
.t-dark a, .t-dark .elementor-widget-text-editor a { color: #8FB4FF; }
.t-dark a:hover { color: #ffffff; }

/* Karty oferty — tresc do lewej */
.elementor-widget-icon-box.elementor-position-top .elementor-icon-box-wrapper,
.elementor-widget-icon-box .elementor-icon-box-wrapper { text-align: left; }
.elementor-widget-icon-box .elementor-icon-box-icon { margin-bottom: 18px; margin-inline: 0; }
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title a { color: #0B1A31; }
.elementor-widget-icon-box .elementor-icon-box-description { color: #5A6B84; font-size: 16px; }

/* Listy z ptaszkami */
.t-checks .elementor-icon-list-item { align-items: flex-start; }
.t-checks .elementor-icon-list-icon { padding-top: 4px; }

/* Tekst w ciemnych sekcjach */
.t-dark .elementor-widget-text-editor { color: #C6D5EC; }
.t-dark .t-mono, .t-dark .t-mono p { color: #8FB4FF; }

/* Stopka */
.t-footer .elementor-widget-text-editor { color: #A8BDDC; }
.t-legal, .t-legal p { color: #7E98BE; font-size: 13.5px; }

/* Naglowek podstrony */
.t-page-head { position: relative; }
.t-page-head::before {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(100deg, rgba(6,16,32,.94) 0%, rgba(6,16,32,.78) 55%, rgba(6,16,32,.45) 100%);
}
.t-page-head > .e-con-inner, .t-page-head > .elementor-widget-wrap { position: relative; z-index: 2; }

/* Formularze */
.elementor-form .elementor-field-group { margin-bottom: 4px; }
.elementor-form .elementor-button { width: auto; }
.elementor-message.elementor-message-success { color: #1B4FC8; font-weight: 600; }

/* Tresc tekstowa (np. polityka prywatnosci) */
.t-prose h2 { font-size: clamp(24px, 2.4vw, 32px); margin-top: 34px; }
.t-prose h3 { margin-top: 26px; }
.t-prose p, .t-prose li { color: #33415C; }
.t-prose ul { padding-left: 20px; }
.t-prose li { margin-bottom: 6px; }

/* Obrazy */
.elementor-widget-image img { display: block; }

/* ==========================================================================
   LOGO W NAGLOWKU
   Plik PNG ma ok. 31% pustego marginesu u gory i u dolu — sama grafika zajmuje
   tylko srodkowe ~38% wysokosci obrazka. Przycinamy ten pusty obszar przez
   object-fit, dzieki czemu pasek naglowka jest niski, a logo zostaje tej samej
   wielkosci.

   Wysokosc wycinka MUSI byc proporcjonalna do szerokosci, inaczej przy innej
   szerokosci przycina sie za malo (widac pustke) albo za duzo (obcina grafike).
   Dlatego zamiast sztywnych pikseli uzywamy aspect-ratio 4.08:1 — to daje ok.
   1.3% szerokosci zapasu nad i pod grafika przy KAZDEJ szerokosci logo
   (ok. 5 px przy 380 px, ok. 4 px przy 290 px).

   Szerokosc na desktopie i tablecie ustawia widget Obraz w szablonie naglowka
   (Theme Builder). Na mobile logo jest plynne — zajmuje cale miejsce, ktore
   zostaje po hamburgerze (patrz blok MOBILE nizej).

   Jesli logo zostanie kiedys wyeksportowane bez pustych marginesow,
   te reguly nalezy usunac.
   ========================================================================== */
.t-nav .elementor-widget-image { flex: 0 0 auto; }   /* bez tego flex sciska logo */
.t-nav .elementor-widget-image img {
	aspect-ratio: 4.08 / 1;
	height: auto;
	object-fit: cover;
	object-position: center;
}

/* ===== MOBILE ===== */
@media (max-width: 767px) {
	.t-topbar { font-size: 11px; }
	.t-topbar .elementor-element-hdr002 { display: none; }
	.t-topbar > .e-con-inner { justify-content: center; }
	.t-nav > .e-con-inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px !important;
	}
	.t-nav .elementor-widget-button { display: none; }

	/* Logo plynne: bierze cala wolna szerokosc obok hamburgera, wiec jest tak
	   duze, jak sie da, i nigdy nie wychodzi poza ekran — takze na waskich
	   telefonach (360 px). !important, bo Elementor generuje wlasna regule
	   o wyzszej specyficznosci z wartoscia w pikselach. */
	.t-nav .elementor-widget-image { flex: 1 1 auto !important; min-width: 0; }
	.t-nav .elementor-widget-image img { width: 100% !important; max-width: 340px !important; }

	/* HAMBURGER — do prawej krawedzi i wysrodkowany w pionie.
	   Widget menu to flex w kolumnie: [menu desktop (display:none)]
	   [przycisk] [rozwijane menu]. Rozwijane menu bylo w normalnym ukladzie,
	   wiec to ONO nadawalo widgetowi 184 px szerokosci i 71 px wysokosci —
	   stad przycisk 121 px od prawej krawedzi i 19 px nad srodkiem paska.
	   Wyjmujemy je z ukladu (position:absolute wzgledem calego paska .t-nav),
	   dzieki czemu widget ma dokladnie rozmiar przycisku. */
	.t-nav { position: relative; }
	.t-nav .elementor-widget-nav-menu {
		position: static !important;
		flex: 0 0 auto !important;
		width: auto !important;
		align-self: center;
		margin-left: auto;
	}
	.t-nav .elementor-menu-toggle { margin: 0 0 0 auto !important; }
	.t-nav .elementor-nav-menu--dropdown {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		width: auto;
		z-index: 100;
		background: #ffffff;
		box-shadow: 0 16px 32px rgba(11,26,49,.14);
	}

	#t-cookie { padding: 16px 16px 18px; gap: 10px; }
	#t-cookie p { font-size: 13px; line-height: 1.5; flex: 1 1 100%; }
	#t-cookie button { font-size: 14px; padding: 10px 16px; flex: 1 1 auto; }
	.elementor-widget-icon-box .elementor-icon-box-description { font-size: 15.5px; }
}
