/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Mar 17 2026 | 17:58:28 */
/* =========================================
SINGLE POST
========================================= */

.de-single-page{
	padding:8% 0 !important;
}

/* wrapper */

.de-single-wrap{
	width:calc(100% - 80px);
	max-width:1680px;
	margin:0 auto;
}

/* hero */

.de-single-hero{
	margin-bottom:54px;
}

/* breadcrumbs */

.de-breadcrumbs{
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	margin-bottom:26px;
	font-size:14px;
	line-height:1.5;
	color:#767676;
}

.de-breadcrumbs a{
	color:#767676;
	text-decoration:none;
}

.de-breadcrumbs a:hover{
	color:#111;
}

/* category */

.de-single-category{
	margin-bottom:14px;
}

.de-single-category a{
	color:#2b487b;
	text-decoration:none;
	font-weight:600;
	font-size:16px;
}

/* title */

.de-single-title{
	margin:0 0 20px;
	font-size:clamp(42px,5vw,70px);
	line-height:.98;
	letter-spacing:-.03em;
	color:#111;
	max-width:1040px;
}

/* meta */

.de-single-meta{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:14px;
	margin-bottom:34px;
	font-size:15px;
	line-height:1.5;
	color:#333;
}

.de-single-meta__author{
	display:inline-flex;
	align-items:center;
	gap:10px;
	color:#111;
	text-decoration:none;
	font-weight:600;
}

.de-single-meta__author:hover{
	opacity:.8;
}

.de-single-meta__avatar{
	width:32px;
	height:32px;
	border-radius:999px;
	display:block;
}

.de-single-meta__sep{
	color:#8d8d8d;
}

.de-single-meta__item{
	color:#333;
}

/* =========================================
LAYOUT
========================================= */

.de-single-layout{
	display:grid;
	grid-template-columns:220px minmax(0,1220px);
	justify-content:center;
	column-gap:48px;
	align-items:start;
	width:100%;
}

.de-single-main{
	min-width:0;
	width:100%;
}

/* image on top of content */

.de-single-featured-image{
	margin:0 0 40px;
}

.de-single-featured-image__img{
	display:block;
	width:100%;
	max-width:1100px;
	height:auto;
	border-radius:25px;
	margin:0;
}

/* row below image: content + cta */

.de-single-main__content-row{
	display:grid;
	grid-template-columns:minmax(0,1fr) 280px;
	column-gap:48px;
	align-items:start;
}

.de-single-content{
	min-width:0;
	width:100%;
}

/* cards */

.de-single-box{
	background:#fff;
	border:1px solid rgba(17,17,17,.06);
	box-shadow:0 8px 24px rgba(0,0,0,.05);
	border-radius:18px;
}

.de-single-box__title{
	margin:0 0 18px;
	font-size:18px;
	line-height:1.2;
	color:#111;
}

/* =========================================
TOC DESKTOP
========================================= */

.de-single-toc{
	position:sticky;
	top:150px;
	align-self:start;
}

.de-single-toc__box{
	padding:26px 24px;
}

.de-single-toc__list{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:2px;
}

.de-single-toc__item a{
	display:block;
	text-decoration:none;
	color:#111;
	font-size:16px;
	line-height:1.45;
	transition:color .2s ease, transform .2s ease, opacity .2s ease;
}

.de-single-toc__item a:hover{
	color:#2b487b;
}

.de-single-toc__item.is-active > a{
	color:#2b487b;
	font-weight:700;
	transform:translateX(2px);
}

.de-single-toc__item--level-3{
	padding-left:14px;
}

.de-single-toc__item--level-3 a{
	font-size:15px;
	color:#555;
}

.de-single-toc__item--level-3.is-active > a{
	color:#2b487b;
}

/* =========================================
TOC MOBILE
========================================= */

.de-single-toc-mobile{
	display:none;
	margin:0 0 28px;
	position:relative;
	overflow:hidden;
}

.de-single-toc-mobile__inner{
	position:relative;
	padding:22px 20px 18px;
}

.de-single-toc-mobile__list{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:10px;
}

.de-single-toc-mobile__item a{
	display:block;
	text-decoration:none;
	color:#111 !important;
	font-size:16px;
	line-height:1.4;
	-webkit-tap-highlight-color: transparent;
	outline:none;
	box-shadow:none;
}

.de-single-toc-mobile__item a:hover,
.de-single-toc-mobile__item a:focus,
.de-single-toc-mobile__item a:active,
.de-single-toc-mobile__item a:visited{
	color:#111 !important;
	text-decoration:none;
	outline:none;
	box-shadow:none;
	background:transparent;
}

.de-single-toc-mobile__item--level-3{
	padding-left:12px;
}

.de-single-toc-mobile__item--level-3 a{
	font-size:15px;
	color:#555 !important;
}

.de-single-toc-mobile__item--level-3 a:hover,
.de-single-toc-mobile__item--level-3 a:focus,
.de-single-toc-mobile__item--level-3 a:active,
.de-single-toc-mobile__item--level-3 a:visited{
	color:#555 !important;
}

.de-single-toc-mobile__item.is-hidden-item{
	display:none;
}

.de-single-toc-mobile.is-expanded .de-single-toc-mobile__item.is-hidden-item{
	display:block;
}

/* mgła tylko jeśli faktycznie są ukryte elementy */
.de-single-toc-mobile.has-more:not(.is-expanded)::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:52px;
	height:60px;
	background:linear-gradient(to bottom, rgba(255,255,255,0), #fff);
	pointer-events:none;
	z-index:2;
}

/* wrapper przycisku */
.de-single-toc-mobile__actions{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	margin-top:6px;
	position:relative;
	z-index:3;
}

/* przycisk */
.de-single-toc-mobile__toggle{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:140px;
	height:36px;
	padding:0 16px;
	border:1px solid rgba(17,17,17,.10);
	border-radius:999px;
	background:rgba(255,255,255,.96);
	color:#111;
	font-size:13px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	box-shadow:0 8px 20px rgba(0,0,0,.06);
	transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
	-webkit-tap-highlight-color: transparent;
	margin:0;
}

.de-single-toc-mobile__toggle:hover,
.de-single-toc-mobile__toggle:focus,
.de-single-toc-mobile__toggle:active{
	background:#fff;
	color:#111;
	transform:translateY(-1px);
	box-shadow:0 10px 24px rgba(0,0,0,.08);
	outline:none;
}

/* =========================================
CONTENT
========================================= */

.de-entry-content{
	font-size:20px;
	line-height:1.8;
	color:#1f1f1f;
}

.de-entry-content > *:first-child{
	margin-top:0;
}

.de-entry-content p{
	margin:0 0 28px;
}

.de-entry-content h2{
	margin:56px 0 18px;
	font-size:clamp(34px,4vw,54px);
	line-height:1.02;
	letter-spacing:-.03em;
	color:#111;
}

.de-entry-content h3{
	margin:36px 0 16px;
	font-size:clamp(24px,3vw,34px);
	line-height:1.1;
	letter-spacing:-.02em;
	color:#111;
}

.de-entry-content ul,
.de-entry-content ol{
	margin:0 0 28px 26px;
	padding:0;
}

.de-entry-content li{
	margin-bottom:12px;
}

.de-entry-content strong{
	font-weight:700;
	color:#111;
}

.de-entry-content a{
	color:#2b487b;
	text-decoration:none;
}

.de-entry-content a:hover{
	text-decoration:underline;
}

.de-entry-content img{
	max-width:100%;
	height:auto;
	border-radius:18px;
	display:block;
	margin:24px 0;
}

.de-entry-content blockquote{
	margin:32px 0;
	padding:24px 28px;
	border-left:4px solid #111;
	background:rgba(0,0,0,.03);
	border-radius:14px;
}

.de-entry-content table{
	width:100%;
	border-collapse:collapse;
	margin:28px 0;
	font-size:16px;
}

.de-entry-content table th,
.de-entry-content table td{
	border:1px solid rgba(17,17,17,.08);
	padding:14px 16px;
	text-align:left;
}

/* =========================================
SIDEBAR CTA (CF7)
========================================= */

.de-single-sidebar{
	position:sticky;
	top:150px;
	align-self:start;
}

.de-single-cta{
	padding:22px 18px;
	margin-bottom:0 !important;
}

/* title */

.de-single-cta__title{
	margin:0 0 12px;
	font-size:22px;
	line-height:1.1;
	letter-spacing:-.02em;
	color:#111;
}

/* form layout */

.de-single-cta .wpcf7-form{
	margin:0;
}

.de-single-cta__form{
	display:flex;
	flex-direction:column;
	gap:8px;
}

.de-single-cta__field{
	display:flex;
	flex-direction:column;
	gap:4px;
}

.de-single-cta__field label{
	font-size:14px;
	font-weight:600;
	color:#111;
	line-height:1.4;
}

/* cf7 wrappers */

.de-single-cta .wpcf7-form-control-wrap{
	display:block;
	width:100%;
}

/* inputs */

.de-single-cta__input,
.de-single-cta input[type="email"],
.de-single-cta input[type="tel"],
.de-single-cta input[type="text"]{
	width:100%;
	height:32px;
	padding:0;
	border:none;
	border-bottom:1px solid rgba(17,17,17,.18);
	border-radius:0;
	background:transparent;
	box-shadow:none;
	outline:none;
	box-sizing:border-box;
	color:#111;
	font-size:15px;
	line-height:1.4;
	transition:border-color .2s ease, color .2s ease;
}

.de-single-cta__input::placeholder,
.de-single-cta input[type="email"]::placeholder,
.de-single-cta input[type="tel"]::placeholder,
.de-single-cta input[type="text"]::placeholder{
	color:rgba(17,17,17,.38);
}

.de-single-cta__input:focus,
.de-single-cta input[type="email"]:focus,
.de-single-cta input[type="tel"]:focus,
.de-single-cta input[type="text"]:focus{
	border-bottom-color:rgba(17,17,17,.42);
	outline:none;
}

/* submit */

.de-single-cta__button,
.de-single-cta input[type="submit"]{
	width:100%;
	height:42px;
	padding:0 18px;
	border:none;
	border-radius:999px;
	background:#111;
	color:#fff;
	font-size:16px;
	font-weight:700;
	line-height:1;
	cursor:pointer;
	box-sizing:border-box;
	transition:background .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease, transform .2s ease;
}

.de-single-cta__button:hover,
.de-single-cta input[type="submit"]:hover{
	background:#fff;
	color:#000;
	border:2px solid #000;
	opacity:.92;
}

/* submit paragraph reset for CF7 */

.de-single-cta__submit p{
	margin-bottom:0 !important;
}

/* note */

.de-single-cta__note{
	margin:0;
	font-size:11px;
	line-height:1.5;
	color:#000;
}

.de-single-cta__note a{
	color:#fca311;
	text-decoration:none;
}

.de-single-cta__note a:hover{
	text-decoration:underline;
}

/* cf7 states */

.de-single-cta .wpcf7-spinner{
	display:none;
}

.de-single-cta .wpcf7-not-valid-tip{
	margin-top:6px;
	font-size:12px;
	line-height:1.4;
	color:#c0392b;
}

.de-single-cta .wpcf7-response-output{
	margin:16px 0 0 !important;
	padding:0 !important;
	border:none !important;
	font-size:13px;
	line-height:1.5;
	color:#666;
}

/* =========================================
RELATED
========================================= */

.de-related-posts{
	margin-top:90px;
}

/* =========================================
RESPONSIVE
========================================= */

@media(max-width:1360px){

	.de-single-wrap{
		width:min(100%, calc(100% - 40px));
	}

	.de-single-layout{
		grid-template-columns:200px minmax(0,1fr);
		column-gap:32px;
	}

	.de-single-main__content-row{
		grid-template-columns:minmax(0,1fr) 250px;
		column-gap:32px;
	}

}

@media(max-width:1180px){

	.de-single-layout{
		grid-template-columns:200px minmax(0,1fr);
		column-gap:32px;
	}

	.de-single-main__content-row{
		grid-template-columns:1fr;
		row-gap:32px;
	}

	.de-single-sidebar{
		position:static;
	}

	.de-single-cta{
		max-width:420px;
	}

}

@media(max-width:900px){

	.de-single-layout{
		grid-template-columns:1fr;
	}

	.de-single-toc{
		display:none;
	}

	.de-single-toc-mobile{
		display:block;
	}

	.de-single-toc-mobile__item.is-hidden-item{
		display:none;
	}

	.de-single-toc-mobile.is-expanded .de-single-toc-mobile__item.is-hidden-item{
		display:block;
	}

	.de-single-main{
		order:2;
	}

	.de-single-main__content-row{
		grid-template-columns:1fr;
		row-gap:28px;
	}

	.de-single-sidebar{
		position:static;
	}

}

@media(max-width:767px){

	.de-single-page{
		padding:32% 0 18% !important;
	}

	.de-single-wrap{
		width:min(100%, calc(100% - 20px));
	}

	.de-single-title{
		font-size:36px;
	}

	.de-single-meta{
		gap:10px;
		font-size:11px;
		margin-bottom:24px;
	}

	.de-entry-content{
		font-size:18px;
		line-height:1.75;
	}

	.de-entry-content h2{
		font-size:34px;
		margin:42px 0 16px;
	}

	.de-entry-content h3{
		font-size:24px;
	}

	.de-single-box,
	.de-single-featured-image__img,
	.de-entry-content img{
		border-radius:16px;
	}

	.de-breadcrumbs{
		font-size:11px;
	}

	.de-single-cta{
		padding:22px 18px;
	}

	.de-single-cta__title{
		margin-bottom:22px;
		font-size:24px;
	}

	.de-single-cta__field label{
		font-size:13px;
	}

	.de-single-cta__input,
	.de-single-cta input[type="email"],
	.de-single-cta input[type="tel"],
	.de-single-cta input[type="text"]{
		height:44px;
		font-size:14px;
	}

	.de-single-cta__button,
	.de-single-cta input[type="submit"]{
		height:48px;
		font-size:15px;
	}

}

/* offset scroll */

.de-entry-content h2{
	scroll-margin-top:120px;
}

.de-entry-content h3{
	scroll-margin-top:110px;
}