.elementor-kit-6{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#8C5D00;--e-global-color-kadence1:#da9408;--e-global-color-kadence2:#8d6209;--e-global-color-kadence3:#222222;--e-global-color-kadence4:#353535;--e-global-color-kadence5:#454545;--e-global-color-kadence6:#676767;--e-global-color-kadence7:#f1e0be;--e-global-color-kadence8:#f3f0ef;--e-global-color-kadence9:#ffffff;--e-global-color-32ca588:#F1E0BE7A;--e-global-color-43320ed:#f1e0be;--e-global-color-7921f2b:#FFF7E67A;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-de42823-font-size:16px;--e-global-typography-de42823-font-weight:300;--e-global-typography-de42823-line-height:25px;--e-global-typography-aca42b2-font-size:16px;--e-global-typography-aca42b2-font-weight:500;--e-global-typography-aca42b2-line-height:22px;--e-global-typography-aca42b2-letter-spacing:0.5px;--e-global-typography-40db813-font-size:50px;--e-global-typography-40db813-font-weight:700;--e-global-typography-40db813-line-height:51px;--e-global-typography-8b1a4d2-font-size:17px;--e-global-typography-8b1a4d2-font-weight:400;--e-global-typography-8b1a4d2-line-height:14px;--e-global-typography-844183b-font-size:17px;--e-global-typography-844183b-font-weight:400;--e-global-typography-844183b-line-height:18px;--e-global-typography-844183b-letter-spacing:-0.3px;--e-global-typography-088f0c3-font-size:16px;--e-global-typography-088f0c3-font-weight:500;--e-global-typography-088f0c3-text-transform:none;--e-global-typography-1ac4f21-font-size:30px;--e-global-typography-1ac4f21-font-weight:700;--e-global-typography-1ac4f21-line-height:1.1em;--e-global-typography-dd1c73f-font-size:16px;--e-global-typography-dd1c73f-line-height:22px;--e-global-typography-dd1c73f-letter-spacing:0.5px;--e-global-typography-b45c538-font-size:16px;--e-global-typography-b45c538-font-weight:400;--e-global-typography-b45c538-line-height:20px;color:#3D3E3F;font-size:16px;}.elementor-kit-6.el-is-editing{--global-palette1:#da9408;--global-palette2:#8d6209;--global-palette3:#222222;--global-palette4:#353535;--global-palette5:#454545;--global-palette6:#676767;--global-palette7:#f1e0be;--global-palette8:#f3f0ef;--global-palette9:#ffffff;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:1em;}.elementor-kit-6 h1{color:var( --e-global-color-accent );font-size:30px;font-weight:700;line-height:1.1em;}.elementor-kit-6 h2{color:var( --e-global-color-secondary );font-size:25px;font-weight:500;}.elementor-kit-6 h3{color:var( --e-global-color-secondary );font-size:21px;font-weight:500;line-height:24px;}.elementor-kit-6 h4{font-size:17px;}.elementor-kit-6 h5{color:var( --e-global-color-kadence2 );}.elementor-kit-6 h6{font-size:15px;font-weight:700;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1080px;}.e-con{--container-max-width:1080px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1500px){.elementor-kit-6{--e-global-typography-de42823-font-size:19px;--e-global-typography-de42823-line-height:23px;--e-global-typography-aca42b2-font-size:16px;--e-global-typography-aca42b2-line-height:23px;--e-global-typography-40db813-font-size:45px;--e-global-typography-8b1a4d2-font-size:16px;--e-global-typography-844183b-font-size:16px;--e-global-typography-844183b-letter-spacing:-0.2px;--e-global-typography-088f0c3-font-size:16px;--e-global-typography-088f0c3-letter-spacing:-0.2px;--e-global-typography-088f0c3-word-spacing:2px;--e-global-typography-1ac4f21-font-size:28px;--e-global-typography-dd1c73f-font-size:15px;--e-global-typography-b45c538-font-size:15px;--e-global-typography-b45c538-line-height:23px;}.elementor-kit-6 h1{font-size:28px;}.elementor-kit-6 h4{font-size:16px;}}@media(max-width:1200px){.elementor-kit-6{--e-global-typography-de42823-font-size:19px;--e-global-typography-de42823-line-height:26px;--e-global-typography-aca42b2-font-size:15px;--e-global-typography-40db813-font-size:34px;--e-global-typography-8b1a4d2-font-size:16px;--e-global-typography-844183b-font-size:16px;--e-global-typography-088f0c3-font-size:16px;--e-global-typography-dd1c73f-font-size:14px;--e-global-typography-b45c538-font-size:13px;--e-global-typography-b45c538-line-height:20px;}.elementor-kit-6 h1{font-size:26px;}}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-de42823-font-size:18px;--e-global-typography-de42823-line-height:1.5em;--e-global-typography-aca42b2-font-size:16px;--e-global-typography-40db813-font-size:32px;--e-global-typography-8b1a4d2-font-size:15px;--e-global-typography-8b1a4d2-line-height:1.2em;--e-global-typography-844183b-font-size:15px;--e-global-typography-844183b-line-height:1.2em;--e-global-typography-1ac4f21-font-size:23px;--e-global-typography-dd1c73f-font-size:15px;--e-global-typography-b45c538-font-size:13px;--e-global-typography-b45c538-line-height:1.3em;font-size:15px;line-height:1.4em;}.elementor-kit-6 h1{font-size:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:700px;}.e-con{--container-max-width:700px;}}@media(max-width:950px){.elementor-kit-6{--e-global-typography-de42823-font-size:18px;--e-global-typography-aca42b2-font-size:15px;--e-global-typography-40db813-font-size:33px;--e-global-typography-8b1a4d2-font-size:15px;--e-global-typography-844183b-font-size:15px;--e-global-typography-1ac4f21-font-size:19px;--e-global-typography-dd1c73f-font-size:14px;--e-global-typography-b45c538-font-size:13px;}.elementor-kit-6 h1{font-size:20px;}}@media(max-width:790px){.elementor-kit-6{--e-global-typography-de42823-font-size:17px;--e-global-typography-de42823-line-height:1.8em;--e-global-typography-aca42b2-font-size:15px;--e-global-typography-40db813-font-size:25px;--e-global-typography-1ac4f21-font-size:19px;--e-global-typography-dd1c73f-font-size:15px;--e-global-typography-b45c538-font-size:14px;--e-global-typography-b45c538-line-height:1.2em;font-size:14px;line-height:1.4em;}.elementor-kit-6 h1{font-size:21px;}.elementor-kit-6 h2{font-size:19px;line-height:1.4em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ================================================================
   TRAMWAJE ŚLĄSKIE — CSS globalny
   Formularze Elementor Pro (WCAG 2.1 AA) + listy + tabele
   Podmienia całą poprzednią zawartość "Dodatkowy CSS".
   ================================================================ */

:root {
	--ts-gold: #7a5200;
	--ts-gold-dark: #5e3f00;
	--ts-focus: #005fcc;
	--ts-error: #b00020;
	--ts-text: #1a1a1a;
	--ts-muted: #595959;
	--ts-line: #767676;
}

/* ================================================================
   1. KLAUZULA RODO
   ================================================================ */

.ts-rodo-info,
.ts-rodo-info p,
.ts-rodo-info li {
	font-size: 15px;
	line-height: 1.6;
	color: #333;
}

.ts-rodo-info a,
.ts-form-rodo a,
.elementor-popup-modal .elementor-widget-text-editor a {
	color: var(--ts-gold-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}

.ts-rodo-info a:hover,
.ts-form-rodo a:hover,
.elementor-popup-modal .elementor-widget-text-editor a:hover {
	text-decoration-thickness: 2px;
}

/* ================================================================
   2. POLA FORMULARZA
   ================================================================ */

.elementor-widget-form .elementor-field-group {
	position: relative;
	margin-bottom: 26px;
}

.elementor-widget-form .elementor-field-textual {
	width: 100%;
	padding: 22px 14px 8px;
	font-size: 16px;
	line-height: 1.4;
	color: var(--ts-text);
	background: #fff;
	border: 1px solid var(--ts-line);
	border-radius: 4px;
	box-shadow: none;
	transition: border-color .15s ease;
}

.elementor-widget-form textarea.elementor-field-textual {
	padding-top: 26px;
	min-height: 140px;
	resize: vertical;
}

.elementor-widget-form .elementor-field-textual::placeholder {
	color: transparent;
}

.elementor-widget-form .elementor-field-textual:hover {
	border-color: var(--ts-gold);
}

/* ---------- etykieta pływająca ---------- */

.elementor-widget-form .elementor-field-group > label.elementor-field-label {
	position: absolute;
	top: 18px;
	left: 12px;
	margin: 0;
	padding: 0 4px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--ts-muted);
	background: transparent;
	pointer-events: none;
	transform-origin: left top;
	transition: transform .15s ease, font-size .15s ease, color .15s ease, background .15s ease;
	z-index: 2;
}

.elementor-widget-form .elementor-field-group:has(.elementor-field-textual:focus) > label.elementor-field-label,
.elementor-widget-form .elementor-field-group:has(.elementor-field-textual:not(:placeholder-shown)) > label.elementor-field-label,
.elementor-widget-form .elementor-field-group:has(select.elementor-field-textual) > label.elementor-field-label {
	transform: translateY(-27px);
	font-size: 13px;
	font-weight: 600;
	color: var(--ts-text);
	background: #fff;
}

/* ---------- focus ---------- */

.elementor-widget-form .elementor-field-textual:focus,
.elementor-widget-form .elementor-field-textual:focus-visible,
.elementor-widget-form .elementor-button:focus-visible,
.elementor-widget-form .e-form__buttons__wrapper button:focus-visible,
.elementor-widget-form input[type="file"]:focus-visible,
.elementor-widget-form input[type="checkbox"]:focus-visible,
.elementor-widget-form input[type="radio"]:focus-visible,
.elementor-popup-modal .dialog-close-button:focus-visible {
	border-color: var(--ts-focus);
	outline: 3px solid var(--ts-focus);
	outline-offset: 2px;
}

/* ---------- pola wymagane ---------- */

.elementor-widget-form .elementor-field-required > label.elementor-field-label:after {
	content: " *";
	color: var(--ts-error);
	font-weight: 700;
}

.elementor-widget-form .elementor-mark-required {
	color: var(--ts-error);
}

.ts-form-legend {
	display: block;
	margin: 0 0 18px;
	font-size: 15px;
	color: var(--ts-muted);
}

.ts-form-legend b {
	color: var(--ts-error);
}

/* ---------- pola bez etykiety pływającej ---------- */

.elementor-widget-form .elementor-field-type-upload > label.elementor-field-label,
.elementor-widget-form .elementor-field-type-acceptance > label.elementor-field-label,
.elementor-widget-form .elementor-field-type-checkbox > label.elementor-field-label,
.elementor-widget-form .elementor-field-type-radio > label.elementor-field-label {
	position: static;
	transform: none;
	display: block;
	margin-bottom: 8px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ts-text);
	background: transparent;
	pointer-events: auto;
}

.elementor-widget-form .elementor-field-type-acceptance .elementor-field-option label,
.elementor-widget-form .elementor-field-subgroup label {
	font-size: 16px;
	line-height: 1.5;
	color: var(--ts-text);
}

.elementor-widget-form input[type="checkbox"],
.elementor-widget-form input[type="radio"] {
	width: 20px;
	height: 20px;
	margin-right: 8px;
}

.elementor-widget-form .elementor-field-type-upload .elementor-field {
	font-size: 16px;
	color: var(--ts-text);
	padding: 10px 0;
}

.ts-upload-hint,
.ts-form-counter {
	font-size: 14px;
	color: var(--ts-muted);
	margin: 6px 0 0;
}

/* ---------- wskaźnik kroków ---------- */

.elementor-widget-form .e-form__indicators {
	margin-bottom: 30px;
}

.elementor-widget-form .e-form__indicators__indicator__number {
	border: 2px solid var(--ts-gold);
	color: var(--ts-gold);
	background: #fff;
	font-weight: 700;
}

.elementor-widget-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number,
.elementor-widget-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number {
	background-color: var(--ts-gold) !important;
	border-color: var(--ts-gold) !important;
	color: #ffffff !important;
}

.elementor-widget-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__number *,
.elementor-widget-form .e-form__indicators__indicator--state-completed .e-form__indicators__indicator__number * {
	color: #ffffff !important;
	fill: #ffffff !important;
}

.elementor-widget-form .e-form__indicators__indicator__label {
	font-size: 14px;
	font-weight: 600;
	color: var(--ts-muted);
}

.elementor-widget-form .e-form__indicators__indicator--state-active .e-form__indicators__indicator__label {
	color: var(--ts-gold-dark);
	font-weight: 700;
}

.elementor-widget-form .e-form__indicators__indicator__separator {
	background-color: var(--ts-line);
}

/* ---------- przyciski formularza ---------- */

.elementor-widget-form .elementor-button,
.elementor-widget-form .e-form__buttons__wrapper button {
	padding: 15px 28px;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	background-color: var(--ts-gold);
	border: 2px solid var(--ts-gold);
	border-radius: 4px;
	text-decoration: none;
}
.ts-form-legend {
    margin-bottom: 30px!important;
}
.elementor-widget-form .elementor-button:hover,
.elementor-widget-form .e-form__buttons__wrapper button:hover {
	background-color: var(--ts-gold-dark);
	border-color: var(--ts-gold-dark);
	color: #fff;
}

.elementor-widget-form .e-form__buttons__wrapper__button-previous {
	background-color: #fff;
	color: var(--ts-gold-dark);
	border: 2px solid var(--ts-gold-dark);
}

.elementor-widget-form .e-form__buttons__wrapper__button-previous:hover {
	background-color: #f3ece0;
	color: var(--ts-gold-dark);
}

/* ---------- błędy i komunikaty ---------- */

.elementor-widget-form .elementor-field-group.elementor-error .elementor-field-textual {
	border: 2px solid var(--ts-error);
	background: #fff5f5;
}

.elementor-widget-form .elementor-error .elementor-error-message,
.elementor-widget-form .elementor-message-danger {
	display: block;
	margin-top: 6px;
	font-size: 15px;
	font-weight: 600;
	color: var(--ts-error);
}

.elementor-widget-form .elementor-message-success {
	font-size: 16px;
	font-weight: 600;
	color: #14532d;
}

/* ---------- popup ---------- */

.elementor-popup-modal .dialog-close-button {
	color: var(--ts-text);
	opacity: 1;
}

.ts-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ================================================================
   3. LISTY (ol/ul) — BLIŻEJ LEWEJ KRAWĘDZI
   ================================================================ */

.elementor ol,
.elementor ul,
.entry-content ol,
.entry-content ul {
	padding-left: 18px !important;
	margin-left: 0 !important;
	list-style-position: outside !important;
}

.elementor ol li,
.elementor ul li,
.entry-content ol li,
.entry-content ul li {
	padding-left: 0 !important;
	margin-left: 0 !important;
}

.elementor ol ul,
.elementor ul ul,
.elementor ol ol,
.entry-content ol ul,
.entry-content ul ul,
.entry-content ol ol {
	padding-left: 16px !important;
	margin-left: 0 !important;
}

.elementor li,
.entry-content li {
	margin-bottom: 8px !important;
}

/* wyjątki — nie ruszamy list w menu, formularzach i widżetach */
.elementor-widget-form ul,
.elementor-widget-form ol,
.elementor nav ul,
.elementor nav ol,
.mega-menu ul,
.mega-menu ol,
.elementor-nav-menu,
.elementor-icon-list-items,
.elementor-tabs-wrapper,
.elementor-pagination,
.elementor-breadcrumbs ol,
.elementor-breadcrumbs ul {
	padding-left: 0 !important;
	margin-bottom: 0 !important;
}

.elementor-nav-menu li,
.elementor-icon-list-items li,
.mega-menu li {
	margin-bottom: 0 !important;
}

/* ================================================================
   4. TABELE W TREŚCI
   ================================================================ */

.elementor table,
.entry-content table {
	width: 100% !important;
	max-width: 100% !important;
	table-layout: fixed !important;
	border-collapse: collapse !important;
	margin: 20px 0 !important;
}

.elementor table td,
.elementor table th,
.entry-content table td,
.entry-content table th {
	padding: 12px 14px !important;
	vertical-align: middle !important;
	word-wrap: break-word !important;
	overflow-wrap: break-word !important;
	hyphens: none !important;
}

.elementor table td:first-child,
.elementor table th:first-child,
.entry-content table td:first-child,
.entry-content table th:first-child {
	width: 26% !important;
	white-space: nowrap !important;
	font-weight: 700 !important;
}

.elementor table td:last-child,
.entry-content table td:last-child {
	width: auto !important;
}

/* ================================================================
   5. TABLET (do 1024px)
   ================================================================ */

@media (max-width: 1024px) {
	.elementor ol,
	.elementor ul,
	.entry-content ol,
	.entry-content ul {
		padding-left: 15px !important;
	}

	.elementor ol ul,
	.elementor ul ul,
	.elementor ol ol,
	.entry-content ol ul,
	.entry-content ul ul,
	.entry-content ol ol {
		padding-left: 13px !important;
	}

	.elementor table td:first-child,
	.entry-content table td:first-child {
		width: 32% !important;
	}
}

/* ================================================================
   6. MOBILE (do 767px)
   ================================================================ */

@media (max-width: 767px) {
	.elementor ol,
	.elementor ul,
	.entry-content ol,
	.entry-content ul {
		padding-left: 12px !important;
	}

	.elementor ol ul,
	.elementor ul ul,
	.elementor ol ol,
	.entry-content ol ul,
	.entry-content ul ul,
	.entry-content ol ol {
		padding-left: 10px !important;
	}

	.elementor li,
	.entry-content li {
		margin-bottom: 6px !important;
	}

	.elementor .elementor-widget-text-editor,
	.elementor .elementor-widget-theme-post-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* tabela -> bloki, bez ucinania i bez przewijania w bok */
	.elementor .elementor-widget-container,
	.entry-content {
		overflow-x: visible !important;
	}

	.elementor table,
	.entry-content table {
		display: block !important;
		width: 100% !important;
		table-layout: auto !important;
		overflow-x: visible !important;
		white-space: normal !important;
		border: none !important;
	}

	.elementor table thead,
	.entry-content table thead {
		display: none !important;
	}

	.elementor table tbody,
	.elementor table tr,
	.entry-content table tbody,
	.entry-content table tr {
		display: block !important;
		width: 100% !important;
	}

	.elementor table tr,
	.entry-content table tr {
		border: 1px solid #d9d9d9 !important;
		border-radius: 4px !important;
		margin-bottom: 10px !important;
		padding: 10px 12px !important;
		background: #fafafa !important;
	}

	.elementor table td,
	.entry-content table td {
		display: block !important;
		width: 100% !important;
		border: none !important;
		padding: 2px 0 !important;
		white-space: normal !important;
		word-break: break-word !important;
	}

	.elementor table td:first-child,
	.entry-content table td:first-child {
		width: 100% !important;
		white-space: nowrap !important;
		font-weight: 700 !important;
		font-size: 1.05em !important;
		margin-bottom: 4px !important;
	}
}

/* ================================================================
   7. MOBILE MAŁE (do 480px)
   ================================================================ */

@media (max-width: 480px) {
	.elementor ol,
	.elementor ul,
	.entry-content ol,
	.entry-content ul {
		padding-left: 10px !important;
	}

	.elementor ol ul,
	.elementor ul ul,
	.elementor ol ol,
	.entry-content ol ul,
	.entry-content ul ul,
	.entry-content ol ol {
		padding-left: 8px !important;
	}
}




/* ===== LIGHTBOX ELEMENTOR (galeria grid) – duże zamykanie ===== */
.elementor-lightbox,
.elementor-lightbox .dialog-widget-content {
	z-index: 999999 !important;
}

.elementor-lightbox .elementor-slideshow__header {
	padding: 18px 20px !important;
	z-index: 1000000 !important;
}

.elementor-lightbox .elementor-slideshow__exit,
.elementor-lightbox .elementor-slideshow__zoom,
.elementor-lightbox .dialog-lightbox-close-button {
	width: 56px !important;
	height: 56px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: rgba(0, 0, 0, .6) !important;
	border-radius: 50% !important;
	color: #fff !important;
	opacity: 1 !important;
	cursor: pointer !important;
	margin-left: 10px !important;
}

.elementor-lightbox .elementor-slideshow__exit i,
.elementor-lightbox .elementor-slideshow__zoom i,
.elementor-lightbox .dialog-lightbox-close-button i,
.elementor-lightbox .eicon-close {
	font-size: 30px !important;
	line-height: 1 !important;
}

.elementor-lightbox .elementor-swiper-button {
	width: 56px !important;
	height: 56px !important;
	background: rgba(0, 0, 0, .6) !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 26px !important;
	opacity: 1 !important;
}

body.elementor-lightbox-opened .djacc__openbtn {
	display: none !important;
}/* End custom CSS */