.test-class {
	font-size: 2rem;
}

.text-sm {
	font-size: 12px;
}

.elementor-nav-menu--main .elementor-nav-menu--dropdown {
	max-width: 100vw !important;
	width: 100vw !important;
	column-count: 2;
	-moz-column-count: 2;
	-webkit-column-count: 2;
}

.services .elementor-post__thumbnail__link {
	position: absolute !important;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

.services .elementor-post__thumbnail__link img {
	z-index: -3;
}

.services .elementor-post__thumbnail__link .elementor-post__thumbnail::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('https://eko-partner.com.pl/wp-content/uploads/2025/03/gradient_box-1.svg');
	background-size: cover;
	opacity 1;
	z-index: -1;
	pointer-events: none;
}

.services .elementor-posts .elementor-post {
	position: relative;
}

.post-type-archive-usluga .offer {
	background: rgba(255, 255, 255, 0.3);
	z-index: -3;
}

.services .elementor-post:hover .elementor-post__title a,
.services .elementor-post:hover .elementor-post__excerpt p,
.services .elementor-post:hover a.elementor-post__read-more {
	color: white !important;
}

/* meble CPT posts — override white-on-hover from .services/.offer */
.elementor-post.type-meble:hover .elementor-post__title a,
.elementor-post.type-meble:hover .elementor-post__excerpt p,
.elementor-post.type-meble:hover a.elementor-post__read-more {
	color: #164824 !important;
}

.services .elementor-post:hover .elementor-post__thumbnail__link {
	opacity: 1;
	visibility: visible;
}

@media (min-width: 768px) {
	.services .elementor-post:nth-of-type(odd) {
		border-right: none !important;
		border-left: none !important;
	}

	.services .elementor-post:nth-of-type(even) {
		border-right: none !important;
	}
}

.offer .elementor-post__thumbnail__link {
	position: absolute !important;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

.offer .elementor-post__thumbnail {
	width: 100%;
	height: 100%;
}

.offer .elementor-post__thumbnail__link img {
	z-index: -3;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.offer .elementor-post__text {
	display: flex !important;
	justify-content: end;
	margin-bottom: 25px;
	transition: transform 0.4s ease-in-out;
}

@media (max-width: 767px) {
	.offer .elementor-post__text {
		margin-bottom: 30px;
	}
}

.offer .elementor-post__thumbnail__link .elementor-post__thumbnail::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(180deg, rgba(151, 191, 20, 0.6) 0%, rgba(176, 255, 198, 0) 100%);
	opacity: 0.9;
	z-index: -1;
	pointer-events: none;
}

.offer .elementor-posts .elementor-post {
	position: relative;
	min-height: 400px;
}

.offer .elementor-post:hover .elementor-post__title a,
.offer .elementor-post:hover .elementor-post__excerpt p {
	color: white !important;
}

.offer .elementor-post:hover .elementor-post__text {
	transform: translatey(-25px);
}

.offer .elementor-post:hover .elementor-post__thumbnail__link {
	opacity: 1;
	visibility: visible;
}

.offer a.elementor-post__read-more {
	font-family: "stolzl", Sans-serif !important;
	font-size: 14px;
	color: white;
	background-color: #97BF14;
	padding: 15px 36px 15px 36px;
	border-radius: 25px;
	margin-top: 16px;
	transition: background-color 0.4s ease-in-out, color 0.4s ease-in-out;
}

.offer a.elementor-post__read-more:hover {
	background-color: #164824;
}

@media (max-width: 767px) {
	.cta-slider .swiper-pagination {
		display: none !important;
	}
}

@media (min-width: 768px) {
	.opinions .swiper-pagination {
		width: auto !important;
		position: absolute;
		/* right: 0 !important; */
		/* left: unset !important; */
		left: calc(100% - clamp(8rem, -30.9455rem + 49.4545vw, 28.4rem)) !important;
	}

	.opinions .swiper-slide:nth-of-type(odd),
	.swiper.swipper-testimonials .swiper-slide:nth-of-type(odd) {
		margin-top: 60px;
	}

	.opinions .swiper-slide:nth-of-type(even),
	.swiper.swipper-testimonials .swiper-slide:nth-of-type(even) {
		margin-bottom: 60px;
	}
}

@media (min-width: 768px) and (max-width: 1024.98px) {
	.opinions .swiper-pagination {
		left: calc(100% - 8.5rem) !important;
		top: -65px !important;
	}
}

@media (min-width: 1025px){
	.opinions .swiper-pagination {
		left: calc(100% - clamp(8rem, -30.9455rem + 49.4545vw, 28.4rem)) !important;
		top: -120px !important;
	}
}
.opinions .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	background-color: transparent !important;
	border: 2px solid white;
}

.cta-slider .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	background-color: transparent !important;
	border: 2px solid white;
}

.cta-slider .swiper-pagination {
	width: auto !important;
	height: auto !important;
	position: absolute;
	top: 50% !important;
	right: 70px !important;
	left: unset !important;
	display: flex;
	flex-direction: column;
	gap: 20px;
	transform: translatey(-15%);
}

.cta-slider .elementor-button {
	font-size: 14px;
	font-family: "stolzl", Sans-serif !important;
	font-weight: 500 !important;
	padding: 15px 36px 15px 26px !important;
}

.cta-slider .elementor-button:hover {
	background-color: #164824 !important;
	color: white !important;
}

header {
	position: relative;
	z-index: 200;
}

.cta-slider .elementor-slide-heading::before {
	content: "";
	position: relative;
	display: block;
	width: 112px;
	height: 46px;
	margin-bottom: 16px;
	background-image: url("https://eko-partner.com.pl/wp-content/uploads/2025/03/logo_w-1.png");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.home-slider .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	background-color: transparent !important;
	border: 2px solid white;
}

.home-slider .swiper-pagination {
	width: auto !important;
	left: calc((100vw - 1250px - 24px) / 2) !important;
	bottom: 25px !important;
}

.home-slider .elementor-swiper-button-next {
	display: none !important;
}

.home-slider .elementor-button {
	font-size: 14px;
	font-family: "stolzl", Sans-serif !important;
	font-weight: 500 !important;
	padding: 15px 36px 15px 26px !important;
}

.home-slider .elementor-button:hover {
	background-color: #164824 !important;
	color: white !important;
}

.home-slider .elementor-swiper-button-prev svg {
	display: none !important;
}

.home-slider .elementor-swiper-button-prev {
	background-image: url('https://eko-partner.com.pl/wp-content/uploads/2025/03/Group-13696.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	width: 40px;
	height: 40px;
	top: 190px !important;
	left: calc((100vw - 1250px - 200px) / 2) !important;
}

@media (max-width: 767px) {
	.home-slider .elementor-swiper-button-prev {
		display: none !important;
	}

	.home-slider .swiper-slide-inner {
		padding: 0 !important;
		align-items: end !important;
	}

	.home-slider .swiper-slide-contents {
		background-color: #164824 !important;
		width: 100% !important;
		padding: 30px 20px !important;
	}

	.home-slider .swiper-pagination {
		left: 50% !important;
		top: 43% !important;
		transform: translateX(-50%);
	}
}

@media (min-width: 1025px) {
	.home-slider .swiper-slide-inner {
		padding-left: calc((100vw - 1250px - 12px) / 2) !important;
	}
}

@media (min-width: 1025px) {

	.offer .elementor-post:nth-child(2),
	.offer .elementor-post:nth-child(5) {
		border-left: none !important;
		border-right: none !important;
	}

	.offer .elementor-post:nth-child(1),
	.offer .elementor-post:nth-child(4) {
		border-left: none !important;
	}

	.offer .elementor-post:nth-child(3),
	.offer .elementor-post:nth-child(6) {
		border-right: none !important;
	}
}

.blog-posts .elementor-post__text {
	display: flex !important;
	justify-content: end !important;
}

.blog-posts .elementor-post__thumbnail {
	position: relative;
	overflow: hidden;
}

.blog-posts .elementor-post__thumbnail::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(151, 191, 20, 0.6);
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	z-index: 1;
}

.blog-posts .elementor-post__thumbnail__link:hover .elementor-post__thumbnail::before {
	opacity: 1;
}

.blog-posts .elementor-post__title a {
	transition: color 0.5s ease-in-out;
}

.blog-posts .elementor-post__title a:hover {
	color: #97BF14 !important;
}

.blog-posts .elementor-post__read-more {
	font-family: "stolzl", Sans-serif !important;
	transition: color 0.5s ease-in-out;
}

.blog-posts .elementor-post__read-more:hover {
	color: #164824 !important;
}

.footer-logo svg {
	width: 73px !important;
	height: auto;
}

.footer-menu .elementor-nav-menu a {
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: inline-flex;
	transition: color 0.3s ease-in !important;
}

.footer-menu .elementor-nav-menu--main .elementor-nav-menu a:hover {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.quote-form .elementor-field-group .elementor-field-textual:focus {
	border: 1px solid #97BF14;
	outline: 0;
	box-shadow: 0 0 5px rgba(151, 191, 20, 1);
}

.quote-form .elementor-field-group .elementor-field-textual {
	padding-top: 14.5px;
	padding-bottom: 14.5px;
	color: #164824;
	font: 300 16px/20px "Stolzl";
}

@media (max-width: 767px) {
	footer .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
	background-color: transparent;
	}

	footer .elementor-nav-menu {
		display: flex;
		flex-direction: column;
		gap: 16px;
	}
	
	.quote-form .elementor-field-group .elementor-field-textual {
		padding-left: 7px;
		padding-top: 18px;
		padding-bottom: 18px;
	}
	
	.quote-form .elementor-button {
		width: 100%;
	}
}

.quote-form .elementor-field-type-acceptance .elementor-field-option {
	display: flex;
	gap: 18px;
	align-items: start;
}

.quote-form .elementor-field-type-acceptance .elementor-field-option input[type="checkbox"] {
	appearance: none !important;
	background-color: #fff !important;
	cursor: pointer;
	display: inline-block;
	position: relative;
	border: 2px solid #164824 !important;
	top: 3px;
}

.quote-form .elementor-field-type-acceptance .elementor-field-option input[type="checkbox"]:checked {
	border: 2px solid #97BF14 !important;
}

.quote-form .elementor-field-type-acceptance .elementor-field-option input[type="checkbox"]:not([type="button"]):not([type="submit"]) {
	padding: 14px;
}

.quote-form .elementor-field-type-acceptance .elementor-field-option input[type="checkbox"]:not([type="button"]):not([type="submit"]):checked {
	border: 2px solid #97BF14;
}

.quote-form .elementor-field-type-acceptance .elementor-field-option input:before {
	content: "";
	position: absolute;
	margin: auto;
	top: -3px;
	left: -13px;
	right: 0;
	bottom: 0;
	overflow: hidden;
	width: 8px;
	height: 16px;
	transform: translateX(7px) translateY(-1px) rotate(45deg);
	border-bottom: 2px solid #97BF14;
	border-right: 2px solid #97BF14;
	opacity: 0;
}

.elementor-field-type-acceptance .elementor-field-option input:checked:before {
	opacity: 1;
}

.select-caret-down-wrapper {
	position: relative;
	width: 24px;
	height: 24px;
}

.quote-form .select-caret-down-wrapper svg {
	display: none !important;
}

.select-caret-down-wrapper::before {
	content: "";
	position: absolute;
	top: 50%;
	width: 100%;
	height: 100%;
	background-image: url('https://eko-partner.com.pl/wp-content/uploads/2025/03/icon-arrow-down.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transform: translate(-50%, -50%);
}

.elementor-widget-theme-post-content .elementor-widget-container h2.wp-block-heading {
	font-size: 40px;
	line-height: 40px;
	margin-bottom: 40px;
	margin-top: 80px;
}

.elementor-widget-theme-post-content .elementor-widget-container h3.wp-block-heading {
	font-size: 22px;
	line-height: 26px;
	margin-top: 30px;
	margin-bottom: 30px;
}

.elementor-widget-theme-post-content .elementor-widget-container p {
	font-size: 18px;
	line-height: 25px;
	max-width: 905px
}

.elementor-widget-theme-post-content .elementor-widget-container .wp-block-list {
	font-size: 18px;
	line-height: 25px;
	max-width: 860px;
	list-style-type: none;
	padding-left: 20px;
	margin: 0;
}

.elementor-widget-theme-post-content .elementor-widget-container .wp-block-list li {
	position: relative;
	margin-top: 10px;
	padding-left: 12px;
}

.elementor-widget-theme-post-content .elementor-widget-container .wp-block-list li:before {
	content: '';
	position: absolute;
	top: 4px;
	left: -20px;
	width: 23px;
	height: 20px;
	background-image: url("https://eko-partner.com.pl/wp-content/uploads/2025/03/Group-13705.svg");
}

.elementor-widget-theme-post-content .elementor-widget-container :is(h1, h2):first-of-type {
	margin-top: 0;
}

.elementor-widget-theme-post-content .elementor-widget-container p span {
	display: block;
	font-family: "stolzl", Sans-serif !important;
	font-size: 16px;
	line-height: 20px;
	margin-bottom: 26px;
	font-weight: 300;
	color: #164824;
}

.files-section {
	margin-top: 40px;
}

.files-section ul {
	font-size: 18px;
	line-height: 25px;
	list-style-type: none;
	padding-left: 20px;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.files-section ul li {
	font: normal normal 600 18px/25px 'Degular';
	position: relative;
	margin-top: 10px;
	padding-left: 8px;
	display: flex;
	justify-items: center;
	align-items: center;
	gap: 14px;
}

.files-section ul li:before {
	content: '';
	position: absolute;
	top: 18px;
	left: -20px;
	width: 17px;
	height: 20px;
	background-image: url("https://eko-partner.com.pl/wp-content/uploads/2025/03/Group-13712.svg");
}

.files-section ul li a {
	color: white;
	background-color: #97BF14;
	padding: 16px 36px 16px 36px;
	border-radius: 40px;
	transition: background-color 0.3s ease-in;
}

.files-section ul li a:hover {
	color: white;
	background-color: #164824;
}

@media (max-width: 767px) {
	.files-section {
		padding-left: 20px;
		padding-right: 20px;
	}
	
	.files-section ul li {
		flex-direction: column;
		align-items: start;
	}
	
	.files-section ul li:before {
		top: 3px;
	}
}

/* Opinie */
.swiper.swipper-testimonials.swiper-initialized {
	background-color: #164824 !important;
	padding-bottom: 80px;
}

.swiper.swipper-testimonials .swiper-pagination-bullet {
	width: 16px;
	height: 16px;
	border: 2px solid #FFFFFF;
	background: transparent;
	margin: 0 4px;
	opacity: 1;
}

.swiper.swipper-testimonials .swiper-pagination-bullet-active {
	background: #97BF14;
	border: 2px solid #97BF14;
}

body .elementor-widget-theme-post-content .elementor-widget-container h2.lh-h1 {
	font-size: 60px;
	line-height: 64px;
}


@media (max-width: 767px) {
	body .elementor-widget-theme-post-content .elementor-widget-container h2.lh-h1 {
		font-size: 40px;
		line-height: 44px;
	}
}

/* Single meble */
.single-meble {
	background: linear-gradient(180deg, #ebefeb 0%, #ffffff 55%);
	color: #164824;
}

.single-meble .mebel__section {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 90px 0;
	position: relative;
}

.single-meble .mebel__section-inner {
	max-width: 1250px;
	margin: 0 auto;
	padding: 0 20px;
}

.single-meble .mebel {
	max-width: none;
	margin: 0;
	padding: 0;
}

.single-meble .mebel__section--light {
	background: #ffffff;
}

.single-meble .mebel__section--gradient {
	background: linear-gradient(180deg, #ebefeb 0%, rgba(235, 239, 235, 0) 100%);
}

.single-meble .mebel__section--dark {
	background: #164824;
	color: #ffffff;
}

.single-meble .mebel__section--dark a {
	color: #ffffff;
}

.single-meble .mebel__hero {
	padding: 55px 0 32px;
}

.single-meble .mebel__kicker {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #97bf14;
	margin: 0 0 12px;
}

.single-meble .mebel__kicker--light {
	color: rgba(255, 255, 255, 0.55);
}

/* kicker jako link (np. powrót do strony nadrzędnej) */
.single-meble .mebel__kicker a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #164824;
	background: rgba(22, 72, 36, 0.07);
	border: 1px solid rgba(22, 72, 36, 0.18);
	text-decoration: none;
	padding: 4px 12px 4px 9px;
	border-radius: 20px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.single-meble .mebel__kicker a::before {
	content: "←";
	font-size: 11px;
	line-height: 1;
}

.single-meble .mebel__kicker a:hover {
	background: rgba(22, 72, 36, 0.12);
	border-color: rgba(22, 72, 36, 0.28);
}

.single-meble .mebel__hero-title {
	font-family: "stolzl", Sans-serif;
	font-size: 52px;
	line-height: 58px;
	font-weight: 500;
	color: #164824;
	margin: 0 0 16px;
}

.single-meble .mebel__hero-text {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 28px;
	color: #164824;
	max-width: 720px;
	margin: 0;
}

.single-meble .mebel__breadcrumbs {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(22, 72, 36, 0.7);
	padding: 0 20px;
}

.single-meble .mebel__breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.single-meble .mebel__hero .elementor-widget-container {
	padding: 0 20px;
}

.single-meble .mebel__hero .elementor-widget-text-editor {
	font-family: "stolzl", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 20px;
	color: #97bf14;
}

.single-meble .mebel__hero .elementor-widget-heading .elementor-heading-title {
	font-family: "stolzl", Sans-serif;
	font-size: 60px;
	font-weight: 500;
	line-height: 64px;
	color: #164824;
	margin: 12px 0 0;
}

.single-meble .mebel__hero .elementor-widget-text-editor p {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 25px;
	color: #164824;
	max-width: 832px;
	margin-top: 40px;
}

.single-meble .mebel__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	gap: 48px;
	align-items: center;
	padding: 0 20px;
}

.single-meble .mebel__hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.single-meble .mebel__hero-media {
	display: flex;
	justify-content: flex-end;
}

.single-meble .mebel__hero-image {
	width: 100%;
	min-height: 420px;
	border-radius: 10px;
	background-size: cover;
	background-position: center;
	box-shadow: 0 20px 40px rgba(22, 72, 36, 0.15);
}

.single-meble .mebel__title {
	font-family: "stolzl", Sans-serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 44px;
	margin: 30px 0 10px;
	color: #164824;
	padding: 0 20px;
}

.single-meble .mebel__subtitle {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 25px;
	padding: 0 20px;
	max-width: 832px;
	color: #164824;
}

.single-meble .mebel__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 0 20px;
	margin-top: 16px;
}

.single-meble .mebel__badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 14px;
	border-radius: 999px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	background: #164824;
	color: #ffffff;
	text-decoration: none;
}

.single-meble .mebel__badge--term {
	background: #97bf14;
	color: #ffffff;
}

.single-meble .mebel__section--gallery {
	padding-top: 40px;
}

.single-meble .mebel__section-head {
	max-width: 832px;
	margin-bottom: 32px;
}

.single-meble .mebel__section-kicker {
	font-family: "stolzl", Sans-serif;
	font-size: 16px;
	line-height: 20px;
	color: #97bf14;
	margin-bottom: 12px;
}

.single-meble .mebel__section-title {
	font-family: "stolzl", Sans-serif;
	font-size: 48px;
	line-height: 56px;
	font-weight: 500;
	color: #164824;
	margin-bottom: 16px;
}

.single-meble .mebel__section-text {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 25px;
	color: #164824;
}

.single-meble .mebel__section--dark .mebel__section-title,
.single-meble .mebel__section--dark .mebel__section-text,
.single-meble .mebel__section--dark .mebel__section-kicker {
	color: #ffffff;
}

.single-meble .mebel__section-body {
	display: grid;
	gap: 30px;
}

.single-meble .mebel__card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 20px;
}

.single-meble .mebel__card {
	background: #ffffff;
	border: 1px solid #e1e5e1;
	border-radius: 12px;
	padding: 20px;
	display: grid;
	gap: 12px;
	box-shadow: 0 12px 30px rgba(22, 72, 36, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.single-meble .mebel__card img {
	width: 100%;
	border-radius: 10px;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.single-meble .mebel__card h3 {
	font-family: "stolzl", Sans-serif;
	font-size: 20px;
	line-height: 26px;
	margin: 0;
	color: #164824;
}

.single-meble .mebel__card p {
	font-family: "degular", Sans-serif;
	font-size: 16px;
	line-height: 24px;
	color: rgba(22, 72, 36, 0.75);
	margin: 0;
}

.single-meble .mebel__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(22, 72, 36, 0.12);
}

.single-meble .mebel__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #164824;
	text-decoration: none;
}

.single-meble .mebel__gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.single-meble .mebel__gallery-tile {
	min-height: 220px;
	border-radius: 10px;
	background-size: cover;
	background-position: center;
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
	cursor: pointer;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.single-meble .mebel__gallery-tile:nth-child(1) {
	grid-column: span 2;
	min-height: 320px;
}

.single-meble .mebel__gallery-tile::after {
	content: "Powieksz";
	position: absolute;
	right: 14px;
	bottom: 14px;
	background: rgba(22, 72, 36, 0.8);
	color: #ffffff;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.single-meble .mebel__gallery-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(22, 72, 36, 0.18);
}

.single-meble .mebel__gallery-tile:hover::after {
	opacity: 1;
	transform: translateY(0);
}

.single-meble .mebel__details {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.single-meble .mebel__pricing {
	display: flex;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 12px;
}

.single-meble .mebel__price-old {
	text-decoration: line-through;
	color: rgba(22, 72, 36, 0.6);
}

.single-meble .mebel__price-current {
	font-family: "stolzl", Sans-serif;
	font-size: 28px;
	color: #164824;
	font-weight: 600;
}

.single-meble .mebel__lead {
	border: 1px solid #d5d9d5;
	padding: 22px 24px;
	border-radius: 12px;
	background: #f6f8f4;
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 26px;
	margin-top: 32px;
	margin-bottom: 0;
}

.single-meble .mebel__content {
	max-width: 880px;
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 28px;
	color: #164824;
	margin-top: 32px;
	margin-bottom: 0;
}

.single-meble .mebel__content p {
	margin: 0 0 18px;
}

.single-meble .mebel__content h2,
.single-meble .mebel__content h3 {
	font-family: "stolzl", Sans-serif;
	color: #164824;
	margin: 28px 0 12px;
}

.single-meble .mebel__content ul,
.single-meble .mebel__content ol {
	margin: 0 0 18px;
	padding-left: 22px;
}

.single-meble .mebel__features-grid,
.single-meble .mebel__benefits,
.single-meble .mebel__specs-list,
.single-meble .mebel__files,
.single-meble .mebel__process,
.single-meble .mebel__packages,
.single-meble .mebel__faq {
	border: 1px solid #d5d9d5;
	padding: 24px;
	background: #ffffff;
	margin-top: 40px;
	border-radius: 12px;
	margin-top: 30px;
}

.single-meble .mebel__description h2,
.single-meble .mebel__features h2,
.single-meble .mebel__benefits h2,
.single-meble .mebel__specs h2,
.single-meble .mebel__files h2,
.single-meble .mebel__process h2,
.single-meble .mebel__packages h2,
.single-meble .mebel__faq h2,
.single-meble .mebel__care h2,
.single-meble .mebel__related h2 {
	font-family: "stolzl", Sans-serif;
	font-size: 30px;
	font-weight: 500;
	line-height: 40px;
	margin-bottom: 20px;
	color: #164824;
}

.single-meble .mebel__features-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}

.single-meble .mebel__feature-item {
	border: 1px solid #e1e5e1;
	padding: 18px 20px;
	border-radius: 10px;
	background: #f9faf8;
}

.single-meble .mebel__benefits {
	list-style: none;
	margin: 30px 0px;
	display: grid;
	gap: 10px;
}

.single-meble .mebel__benefits li {
	padding-left: 20px;
	position: relative;
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 25px;
	margin-bottom: 10px;
}

.single-meble .mebel__benefits li:before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #97bf14;
}

.single-meble .mebel__specs-list {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 10px 16px;
}

.single-meble .mebel__specs-list dt {
	font-family: "stolzl", Sans-serif;
	font-weight: 500;
	color: #164824;
}

.single-meble .mebel__files {
	list-style: none;
	margin: 0;
	display: grid;
	gap: 10px;
}

.single-meble .mebel__files a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #97bf14;
	color: #ffffff;
	padding: 12px 28px;
	border-radius: 25px;
	text-decoration: none;
	font-family: "stolzl", Sans-serif;
	font-size: 14px;
	font-weight: 500;
}

.single-meble .mebel__process {
	list-style: none;
	margin: 0;
	display: grid;
	gap: 14px;
	counter-reset: steps;
}

.single-meble .mebel__process li {
	position: relative;
	padding-left: 42px;
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 25px;
}

.single-meble .mebel__process li:before {
	counter-increment: steps;
	content: counter(steps);
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #97bf14;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
}

.single-meble .mebel__packages {
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	font-size: 18px;
	padding: 0;
}

.single-meble .mebel__packages th,
.single-meble .mebel__packages td {
	text-align: left;
	padding: 14px 10px;
	border-bottom: 1px solid #bbb8b8;
}

.single-meble .mebel__faq details {
	border: 1px solid #bbb8b8;
	padding: 12px 16px;
	margin-bottom: 12px;
	background: #ffffff;
	border-radius: 10px;
}

.single-meble .mebel__faq summary {
	cursor: pointer;
	font-weight: 600;
	color: #164824;
}

.single-meble .mebel__cta {
	margin-top: 0;
	background: rgba(255, 255, 255, 0.06);
	color: #ffffff;
	padding: 60px 40px;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.single-meble .mebel__cta h2 {
	color: #ffffff;
}

.single-meble .mebel__cta-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.single-meble .mebel__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 26px;
	border-radius: 25px;
	text-decoration: none;
	font-weight: 500;
	font-family: "stolzl", Sans-serif;
	font-size: 14px;
}

.single-meble .mebel__btn--primary {
	background: #97bf14;
	color: #ffffff;
}

.single-meble .mebel__btn--primary:hover,
.single-meble .mebel__btn--primary:focus {
	background: #85aa0f;
	color: #ffffff !important;
}

.single-meble .mebel__btn--ghost {
	border: 1px solid rgba(255, 255, 255, 0.6);
	color: #ffffff;
}

.single-meble .mebel__section--light .mebel__btn--ghost {
	border-color: rgba(22, 72, 36, 0.4);
	color: #164824;
}

.single-meble .mebel__section--light .mebel__btn--ghost:hover {
	background: rgba(22, 72, 36, 0.06);
}

.single-meble .mebel__lightbox {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
}

.single-meble .mebel__lightbox.is-open {
	display: flex;
}

.single-meble .mebel__lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(11, 20, 12, 0.72);
}

.single-meble .mebel__lightbox-dialog {
	position: relative;
	z-index: 1;
	max-width: 980px;
	width: min(92vw, 980px);
	background: #0f1f14;
	border-radius: 14px;
	padding: 22px;
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	align-items: center;
	gap: 12px;
}

.single-meble .mebel__lightbox-image {
	width: 100%;
	height: min(70vh, 640px);
	object-fit: contain;
	border-radius: 10px;
	background: #142318;
}

.single-meble .mebel__lightbox-nav,
.single-meble .mebel__lightbox-close {
	border: 0;
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	cursor: pointer;
	font-size: 20px;
}

.single-meble .mebel__lightbox-close {
	position: absolute;
	right: 16px;
	top: 16px;
}

.single-meble .mebel__lightbox-count {
	grid-column: 1 / -1;
	text-align: center;
	color: rgba(255, 255, 255, 0.8);
	font-size: 14px;
}

.single-meble .mebel__related {
	margin-top: 0;
	padding: 0 20px;
}

.single-meble .elementor-posts.elementor-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
}

.single-meble .elementor-post {
	border-style: solid;
	border-width: 0 1px 1px 1px;
	border-color: #bbb8b8;
	padding: 40px;
}

.single-meble .elementor-post__thumbnail,
.single-meble .elementor-post__thumbnail__link {
	width: 100%;
	display: block;
}

.single-meble .elementor-post__thumbnail {
	position: relative;
	padding-bottom: 66%;
	overflow: hidden;
}

.single-meble .elementor-post__thumbnail img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-meble .elementor-post__thumbnail--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #e8e6df;
	color: rgba(22, 72, 36, 0.7);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 12px;
	min-height: 200px;
}

.single-meble .elementor-post__title,
.single-meble .elementor-post__title a {
	color: #164824;
	font-family: "stolzl", Sans-serif;
	font-size: 28px;
	font-weight: 500;
}

.single-meble .elementor-post__excerpt p {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 25px;
	color: #164824;
}

@media (max-width: 1024px) {
	.single-meble .mebel__hero-grid {
		grid-template-columns: 1fr;
	}

	.single-meble .mebel__hero-title {
		font-size: 44px;
		line-height: 50px;
	}

	.single-meble .mebel__section-title {
		font-size: 40px;
		line-height: 46px;
	}

	.single-meble .mebel__section {
		padding: 70px 0;
	}

	.single-meble .elementor-posts.elementor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.single-meble .mebel__gallery-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.single-meble .mebel {
		padding: 20px 0 60px;
	}

	.single-meble .mebel__hero .elementor-widget-container,
	.single-meble .mebel__breadcrumbs {
		padding: 0 20px;
	}

	.single-meble .mebel__hero .elementor-widget-heading .elementor-heading-title {
		font-size: 40px;
		line-height: 40px;
	}

	.single-meble .mebel__hero-title {
		font-size: 34px;
		line-height: 40px;
	}

	.single-meble .mebel__layout {
		padding: 0 20px;
	}

	.single-meble .mebel__hero-grid {
		gap: 24px;
	}

	.single-meble .mebel__hero-image {
		min-height: 260px;
	}

	.single-meble .mebel__section-title {
		font-size: 32px;
		line-height: 38px;
	}

	.single-meble .mebel__section {
		padding: 55px 0;
	}

	.single-meble .mebel__cta {
		padding: 40px 20px;
	}

	.single-meble .mebel__gallery-grid {
		grid-template-columns: 1fr;
	}

	.single-meble .mebel__gallery-tile:nth-child(1) {
		grid-column: auto;
	}

	.single-meble .mebel__specs-list {
		grid-template-columns: 1fr;
	}

	.single-meble .elementor-posts.elementor-grid {
		grid-template-columns: 1fr;
	}

	.single-meble .elementor-post {
		padding: 20px;
		border-width: 0 0 1px 0;
	}

	.single-meble .mebel__lightbox-dialog {
		grid-template-columns: 1fr;
		padding: 18px;
	}

	.single-meble .mebel__lightbox-nav {
		display: none;
	}

	.single-meble .mebel__lightbox-image {
		height: min(60vh, 480px);
	}
}

/* ── Opis i specyfikacja: info-bar ───────────────────────────── */
.single-meble .mebel__info-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 24px;
}

.single-meble .mebel__info-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 1px solid #d5d9d5;
	border-radius: 999px;
	font-family: "degular", Sans-serif;
	font-size: 14px;
	color: #164824;
	background: #f6f8f4;
}

.single-meble .mebel__info-chip strong {
	font-family: "stolzl", Sans-serif;
	font-weight: 500;
	color: #97bf14;
	margin-right: 2px;
}

.single-meble .mebel__info-chip--sku {
	font-family: "stolzl", Sans-serif;
	letter-spacing: 0.04em;
}

/* ── Wideo ──────────────────────────────────────────────────── */
.single-meble .mebel__video-wrap {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	border-radius: 12px;
	overflow: hidden;
	margin-top: 30px;
	margin-bottom: 30px;
	box-shadow: 0 8px 30px rgba(22, 72, 36, 0.12);
}

.single-meble .mebel__video-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ── Notatka projektanta ────────────────────────────────────── */
.single-meble .mebel__designer-note {
	border-left: 4px solid #97bf14;
	padding: 20px 24px;
	background: #f6f8f4;
	border-radius: 0 12px 12px 0;
	font-family: "degular", Sans-serif;
	font-size: 17px;
	line-height: 26px;
	color: #164824;
	margin-top: 30px;
}

.single-meble .mebel__designer-note-label {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #97bf14;
	margin: 0 0 10px;
}

.single-meble .mebel__designer-note p:last-child {
	margin-bottom: 0;
}

/* ── Pielegnacja ────────────────────────────────────────────── */
.single-meble .mebel__care-tips {
	border: 1px solid #d5d9d5;
	padding: 24px;
	background: #ffffff;
	border-radius: 12px;
	margin-top: 30px;
	font-family: "degular", Sans-serif;
	font-size: 17px;
	line-height: 26px;
	color: #164824;
}

.single-meble .mebel__care-tips h3 {
	font-family: "stolzl", Sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #164824;
	margin: 0 0 14px;
}

.single-meble .mebel__care-tips p:last-child {
	margin-bottom: 0;
}

/* ── Specs: naglowek ────────────────────────────────────────── */
.single-meble .mebel__specs-head {
	grid-column: 1 / -1;
	margin-bottom: 6px;
}

.single-meble .mebel__specs-head h3 {
	font-family: "stolzl", Sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #164824;
	margin: 0;
}

/* ── Process: naglowek ──────────────────────────────────────── */
.single-meble .mebel__process-head {
	grid-column: 1 / -1;
	margin-bottom: 6px;
}

.single-meble .mebel__process-head h3 {
	font-family: "stolzl", Sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #164824;
	margin: 0;
}

/* ── Packages: caption + cena ───────────────────────────────── */
.single-meble .mebel__packages-caption {
	font-family: "stolzl", Sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #164824;
	text-align: left;
	padding: 16px 10px 6px;
	caption-side: top;
}

.single-meble .mebel__packages-price {
	font-family: "stolzl", Sans-serif;
	font-weight: 600;
	color: #97bf14;
	white-space: nowrap;
}

/* ── FAQ: naglowek + toggle ─────────────────────────────────── */
.single-meble .mebel__faq-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.single-meble .mebel__faq-header h3 {
	font-family: "stolzl", Sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #164824;
	margin: 0;
}

.single-meble .mebel__faq-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 8px;
	background: #97bf14;
	color: #ffffff;
	border-radius: 999px;
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	font-weight: 500;
}

.single-meble .mebel__faq details {
	border: 1px solid #bbb8b8;
	padding: 14px 18px;
	margin-bottom: 10px;
	background: #ffffff;
	border-radius: 10px;
}

.single-meble .mebel__faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	cursor: pointer;
	font-weight: 600;
	font-family: "stolzl", Sans-serif;
	font-size: 16px;
	color: #164824;
	gap: 12px;
}

.single-meble .mebel__faq summary::-webkit-details-marker,
.single-meble .mebel__faq summary::marker {
	display: none;
}

.single-meble .mebel__faq summary::after {
	content: "+";
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #f0f4ee;
	border: 1px solid #d5d9d5;
	color: #164824;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 300;
	line-height: 1;
	transition: background 0.2s ease, color 0.2s ease;
}

.single-meble .mebel__faq details[open] summary::after {
	content: "\2212";
	background: #97bf14;
	border-color: #97bf14;
	color: #ffffff;
}

.single-meble .mebel__faq-answer {
	padding: 12px 0 4px;
	font-family: "degular", Sans-serif;
	font-size: 16px;
	line-height: 25px;
	color: rgba(22, 72, 36, 0.85);
}

.single-meble .mebel__faq-answer p:last-child {
	margin-bottom: 0;
}

/* ── Zobacz podobne realizacje ──────────────────────────────── */
.single-meble .mebel__related-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 32px;
}

.single-meble .mebel__related-item {
	background: #ffffff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(22, 72, 36, 0.07);
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.single-meble .mebel__related-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 18px 44px rgba(22, 72, 36, 0.14);
}

.single-meble .mebel__related-thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.single-meble .mebel__related-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.single-meble .mebel__related-item:hover .mebel__related-thumb img {
	transform: scale(1.04);
}

.single-meble .mebel__related-thumb--empty {
	aspect-ratio: 4 / 3;
	background: #ebefeb;
}

.single-meble .mebel__related-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.single-meble .mebel__related-badge {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(151, 191, 20, 0.12);
	color: #5a7a0a;
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	width: fit-content;
}

.single-meble .mebel__related-title {
	font-family: "stolzl", Sans-serif;
	font-size: 19px;
	line-height: 25px;
	font-weight: 500;
	margin: 0;
}

.single-meble .mebel__related-title a {
	color: #164824;
	text-decoration: none;
}

.single-meble .mebel__related-title a:hover {
	color: #97bf14;
}

.single-meble .mebel__related-excerpt {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	line-height: 22px;
	color: rgba(22, 72, 36, 0.65);
	margin: 0;
	flex: 1;
}

.single-meble .mebel__related-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	letter-spacing: 0.06em;
	color: #97bf14;
	text-decoration: none;
	margin-top: auto;
	transition: color 0.2s ease;
}

.single-meble .mebel__related-link:hover {
	color: #164824;
}

.single-meble .mebel__related-footer {
	text-align: center;
	margin-top: 40px;
}

/* ── Responsive: nowe elementy ──────────────────────────────── */
@media (max-width: 1024px) {
	.single-meble .mebel__related-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.single-meble .mebel__related-grid {
		grid-template-columns: 1fr;
	}

	.single-meble .mebel__info-bar {
		gap: 8px;
	}

	.single-meble .mebel__info-chip {
		font-size: 13px;
		padding: 7px 13px;
	}

	.single-meble .mebel__faq-header {
		flex-wrap: wrap;
		gap: 8px;
	}

	.single-meble .mebel__designer-note {
		padding: 16px 18px;
	}
}

/* ── Parent back-link bar ────────────────────────────────────── */
.single-meble .mebel__parent-bar {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: #f0f4ec;
	padding: 8px 0;
}

.single-meble .mebel__parent-bar .mebel__section-inner {
	padding-top: 0;
	padding-bottom: 0;
}

.single-meble .mebel__parent-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 500;
	font-family: "stolzl", Sans-serif;
	color: #164824;
	text-decoration: none;
	opacity: 0.8;
	transition: opacity 0.15s;
}

.single-meble .mebel__parent-link:hover {
	opacity: 1;
	color: #164824;
}

/* ── Meble tiles (strona główna [services_menu]) ─────────────── */
.meble-tiles {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 14px;
}

.meble-tiles__link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding: 18px 22px;
	background: #f0f4ec;
	border: 1px solid rgba(22, 72, 36, 0.12);
	border-radius: 10px;
	text-decoration: none;
	color: #164824;
	font-family: "stolzl", Sans-serif;
	font-weight: 500;
	font-size: 15px;
	transition: background 0.18s, border-color 0.18s, color 0.18s;
}

.meble-tiles__link:hover {
	background: #97bf14;
	border-color: #97bf14;
	color: #ffffff;
}

.meble-tiles__title {
	flex: 1;
}

.meble-tiles__arrow {
	flex-shrink: 0;
	transition: transform 0.18s;
}

.meble-tiles__link:hover .meble-tiles__arrow {
	transform: translateX(3px);
}

/* ── Breadcrumbs ─────────────────────────────────────────────── */
.single-meble .mebel__breadcrumb-wrap {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: #f6f8f4;
	border-bottom: 1px solid #e8ebe8;
	padding: 11px 0;
}

.single-meble .mebel__breadcrumb-wrap .mebel__section-inner {
	padding-top: 0;
	padding-bottom: 0;
}

.single-meble ol.mebel__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: rgba(22, 72, 36, 0.55);
	line-height: 1.4;
}

.single-meble ol.mebel__breadcrumb li + li::before {
	content: "/";
	margin: 0 7px;
	color: rgba(22, 72, 36, 0.3);
}

.single-meble ol.mebel__breadcrumb a {
	color: rgba(22, 72, 36, 0.55);
	text-decoration: none;
	transition: color 0.2s ease;
}

.single-meble ol.mebel__breadcrumb a:hover {
	color: #97bf14;
}

.single-meble ol.mebel__breadcrumb li[aria-current="page"] {
	color: #164824;
	font-weight: 500;
}

@media (max-width: 767px) {
	.single-meble .mebel__breadcrumb-wrap {
		padding: 9px 0;
	}

	.single-meble ol.mebel__breadcrumb {
		font-size: 10px;
	}
}

/* ── Nawigacja footer prev/next ─────────────────────────────── */
.single-meble .mebel__footer {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background: #f6f8f4;
	border-top: 1px solid #d5d9d5;
}

.single-meble .mebel__nav {
	max-width: 1250px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.single-meble .mebel__nav-card {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 30px 28px;
	text-decoration: none;
	color: #164824;
	transition: background 0.2s ease;
}

.single-meble .mebel__nav-card:hover {
	background: rgba(151, 191, 20, 0.07);
	color: #164824;
}

.single-meble .mebel__nav-card--prev {
	border-right: 1px solid #d5d9d5;
}

.single-meble .mebel__nav-card--next {
	justify-content: flex-end;
}

.single-meble .mebel__nav-thumb {
	width: 76px;
	height: 76px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
}

.single-meble .mebel__nav-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.single-meble .mebel__nav-info {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.single-meble .mebel__nav-info--right {
	text-align: right;
}

.single-meble .mebel__nav-dir {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #97bf14;
}

.single-meble .mebel__nav-title {
	font-family: "stolzl", Sans-serif;
	font-size: 17px;
	font-weight: 500;
	color: #164824;
	line-height: 22px;
}

.single-meble .mebel__nav-term {
	font-family: "degular", Sans-serif;
	font-size: 13px;
	color: rgba(22, 72, 36, 0.55);
}

.single-meble .mebel__nav-empty {
	border-right: 1px solid #d5d9d5;
}

@media (max-width: 767px) {
	.single-meble .mebel__nav {
		grid-template-columns: 1fr;
	}

	.single-meble .mebel__nav-card--prev {
		border-right: none;
		border-bottom: 1px solid #d5d9d5;
	}

	.single-meble .mebel__nav-card--next {
		justify-content: flex-start;
	}

	.single-meble .mebel__nav-info--right {
		text-align: left;
	}

	.single-meble .mebel__nav-empty {
		display: none;
	}

	.single-meble .mebel__nav-card {
		padding: 22px 20px;
	}
}

/* ── Parent page: children grid ─────────────────────────────── */
.single-meble .mebel__children-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
	margin-top: 40px;
}

.single-meble .mebel__child-card {
	background: #ffffff;
	border: 1px solid #d5d9d5;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.single-meble .mebel__child-card:hover {
	box-shadow: 0 8px 28px rgba(22, 72, 36, 0.12);
	transform: translateY(-3px);
}

.single-meble .mebel__child-thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.single-meble .mebel__child-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.single-meble .mebel__child-card:hover .mebel__child-thumb img {
	transform: scale(1.04);
}

.single-meble .mebel__child-thumb--empty {
	aspect-ratio: 4 / 3;
	background: #e8ebe8;
}

.single-meble .mebel__child-body {
	padding: 22px 24px 24px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.single-meble .mebel__child-title {
	font-family: "stolzl", Sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	margin: 0;
}

.single-meble .mebel__child-title a {
	color: #164824;
	text-decoration: none;
}

.single-meble .mebel__child-title a:hover {
	color: #97bf14;
}

.single-meble .mebel__child-excerpt {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	color: rgba(22, 72, 36, 0.65);
	margin: 0;
	line-height: 1.55;
}

.single-meble .mebel__child-price {
	font-family: "stolzl", Sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #97bf14;
	margin: 0;
	letter-spacing: 0.03em;
}

.single-meble .mebel__child-link {
	font-family: "stolzl", Sans-serif;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #164824;
	text-decoration: none;
	margin-top: auto;
	padding-top: 4px;
	transition: color 0.2s ease;
}

.single-meble .mebel__child-link:hover {
	color: #97bf14;
}

@media (max-width: 1024px) {
	.single-meble .mebel__children-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 600px) {
	.single-meble .mebel__children-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Parent page: map section ───────────────────────────────── */
.single-meble .mebel__section--map {
	overflow: hidden;
}

.single-meble .mebel__map-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.single-meble .mebel__map-text h2 {
	font-family: "stolzl", Sans-serif;
	font-size: 36px;
	font-weight: 500;
	color: #ffffff;
	line-height: 1.2;
	margin: 0 0 16px;
}

.single-meble .mebel__map-text > p {
	font-family: "degular", Sans-serif;
	font-size: 16px;
	color: rgba(255, 255, 255, 0.65);
	line-height: 1.6;
	margin: 0 0 24px;
}

.single-meble .mebel__map-cities {
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.single-meble .mebel__map-cities li {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
	border: 1px solid rgba(255, 255, 255, 0.2);
	padding: 4px 12px;
	border-radius: 20px;
}

/* ── Poland SVG map ─────────────────────────────────────────── */
.single-meble .mebel__map-visual {
	display: flex;
	justify-content: center;
	align-items: center;
}

.single-meble .mebel__poland-svg {
	width: 100%;
	max-width: 420px;
	height: auto;
	filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.35));
}

/* Path z pliku mapa-polski.svg — w układzie 1280×1280 (SVG viewBox) */
.single-meble .mebel__poland-outline {
	fill: rgba(255, 255, 255, 0.08);
	stroke: rgba(255, 255, 255, 0.3);
	stroke-width: 18; /* ~2px po przeskalowaniu do ~400px */
	stroke-linejoin: round;
}

/* Pulsujący krąg wokół Bydgoszczy */
.single-meble .mebel__poland-pulse {
	fill: rgba(151, 191, 20, 0.2);
	animation: mapPulse 2.6s ease-out infinite;
}

/* r animowane jako SVG geometry property (obsługiwane w nowoczesnych przeglądarkach) */
@keyframes mapPulse {
	0%   { r: 30px; opacity: 0.9; }
	100% { r: 62px; opacity: 0;   }
}

.single-meble .mebel__poland-dot {
	fill: #97bf14;
}

.single-meble .mebel__poland-dot-sm {
	fill: rgba(255, 255, 255, 0.55);
}

.single-meble .mebel__poland-dot-sm--ref {
	fill: rgba(255, 255, 255, 0.3);
}

/* font-size ustawiany inline jako atrybut SVG (skaluje się z viewBox) */
.single-meble .mebel__poland-city-label {
	font-family: "stolzl", Sans-serif;
	font-weight: 500;
	fill: #97bf14;
	letter-spacing: 0.04em;
}

.single-meble .mebel__poland-small-label {
	font-family: "degular", Sans-serif;
	fill: rgba(255, 255, 255, 0.65);
}

.single-meble .mebel__poland-small-label--ref {
	fill: rgba(255, 255, 255, 0.35);
}

/* Ścieżka z potrace — override fill z <g> */
.single-meble .mebel__poland-g path {
	fill: rgba(255, 255, 255, 0.08) !important;
}

@media (max-width: 900px) {
	.single-meble .mebel__map-wrap {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.single-meble .mebel__map-visual {
		order: -1;
	}

	.single-meble .mebel__poland-svg {
		max-width: 340px;
	}
}

/* ═══════════════════════════════════════════════════════════════
   TAXONOMY: pomieszczenie — pom-archive__*
   ═══════════════════════════════════════════════════════════════ */

/* ── Base & layout ───────────────────────────────────────────── */
.pom-archive {
	max-width: none;
	margin: 0;
	padding: 0;
}

.pom-archive__section {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 80px 0;
	position: relative;
}

.pom-archive__section-inner {
	max-width: 1250px;
	margin: 0 auto;
	padding: 0 20px;
}

.pom-archive__section--light {
	background: #f6f8f4;
}

.pom-archive__section--white {
	background: #ffffff;
}

.pom-archive__section--dark {
	background: #164824;
	color: #ffffff;
}

.pom-archive__section--dark a {
	color: #ffffff;
}

/* ── Breadcrumb ──────────────────────────────────────────────── */
.pom-archive__breadcrumb-wrap {
	background: #ffffff;
	border-bottom: 1px solid rgba(22, 72, 36, 0.1);
}

.pom-archive__breadcrumb-wrap .pom-archive__section-inner {
	padding-top: 14px;
	padding-bottom: 14px;
}

ol.pom-archive__breadcrumb {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 0;
	font-family: "stolzl", Sans-serif;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(22, 72, 36, 0.65);
}

ol.pom-archive__breadcrumb li + li::before {
	content: "/";
	margin: 0 8px;
	opacity: 0.4;
}

ol.pom-archive__breadcrumb a {
	color: inherit;
	text-decoration: none;
}

ol.pom-archive__breadcrumb a:hover {
	color: #164824;
}

ol.pom-archive__breadcrumb li[aria-current="page"] {
	color: #164824;
	font-weight: 500;
}

/* ── Kicker ──────────────────────────────────────────────────── */
.pom-archive__kicker {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #97bf14;
	margin: 0 0 12px;
}

.pom-archive__kicker--dark {
	color: #97bf14;
}

.pom-archive__kicker--light {
	color: rgba(255, 255, 255, 0.55);
}

/* ── Section title ───────────────────────────────────────────── */
.pom-archive__section-title {
	font-family: "stolzl", Sans-serif;
	font-size: 38px;
	line-height: 44px;
	font-weight: 500;
	color: #164824;
	margin: 0 0 36px;
}

.pom-archive__section--dark .pom-archive__section-title {
	color: #ffffff;
}

/* ── Hero ────────────────────────────────────────────────────── */
.pom-archive__hero {
	position: relative;
	min-height: 540px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.pom-archive__hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.04);
	transition: transform 8s ease;
}

.pom-archive__hero:hover .pom-archive__hero-bg {
	transform: scale(1);
}

.pom-archive__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(11, 28, 14, 0.82) 0%,
		rgba(11, 28, 14, 0.38) 60%,
		rgba(11, 28, 14, 0.18) 100%
	);
}

.pom-archive__hero-inner {
	position: relative;
	z-index: 1;
	padding-top: 80px;
	padding-bottom: 64px;
	width: 100%;
}

.pom-archive__hero-title {
	font-family: "stolzl", Sans-serif;
	font-size: 56px;
	line-height: 62px;
	font-weight: 500;
	color: #ffffff !important;
	margin: 0 0 16px;
}

.pom-archive__hero-text {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 28px;
	color: rgba(255, 255, 255, 0.8) !important;
	max-width: 640px;
	margin: 0 0 28px;
}

/* Hero: wszystkie nagłówki i teksty są na ciemnym tle — zawsze białe */
.pom-archive__hero h1,
.pom-archive__hero h2,
.pom-archive__hero h3,
.pom-archive__hero p {
	color: #ffffff !important;
}

.pom-archive__hero .pom-archive__kicker {
	color: rgba(255, 255, 255, 0.6) !important;
}

.pom-archive__hero-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
}

.pom-archive__hero-count {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.25);
	padding: 5px 14px;
	border-radius: 20px;
}

/* ── Buttons ─────────────────────────────────────────────────── */
.pom-archive__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 26px;
	border-radius: 25px;
	text-decoration: none;
	font-weight: 500;
	font-family: "stolzl", Sans-serif;
	font-size: 14px;
	transition: opacity 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.pom-archive__btn--primary {
	background: #97bf14;
	color: #ffffff;
}

.pom-archive__btn--primary:hover {
	opacity: 0.88;
	color: #ffffff;
}

.pom-archive__btn--ghost {
	border: 1px solid rgba(255, 255, 255, 0.6);
	color: #ffffff;
}

.pom-archive__btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
}

/* ── Grid header + sort ──────────────────────────────────────── */
.pom-archive__grid-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 36px;
}

.pom-archive__grid-header .pom-archive__section-title {
	margin-bottom: 0;
}

.pom-archive__sort-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}

.pom-archive__sort-label {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	color: rgba(22, 72, 36, 0.65);
	white-space: nowrap;
}

.pom-archive__sort-select {
	font-family: "degular", Sans-serif;
	font-size: 14px;
	color: #164824;
	background: #ffffff;
	border: 1px solid rgba(22, 72, 36, 0.25);
	border-radius: 8px;
	padding: 8px 14px;
	cursor: pointer;
	outline: none;
}

.pom-archive__sort-select:focus {
	border-color: #97bf14;
}

/* ── Posts grid ──────────────────────────────────────────────── */
.pom-archive__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 28px;
}

.pom-archive__card {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(22, 72, 36, 0.07);
	display: flex;
	flex-direction: column;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.pom-archive__card:hover {
	box-shadow: 0 8px 28px rgba(22, 72, 36, 0.13);
	transform: translateY(-3px);
}

.pom-archive__card-thumb {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.pom-archive__card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.pom-archive__card:hover .pom-archive__card-thumb img {
	transform: scale(1.05);
}

.pom-archive__card-thumb--empty {
	background: #ebefeb;
	aspect-ratio: 4 / 3;
}

.pom-archive__card-body {
	padding: 20px 22px 22px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.pom-archive__card-parent,
.pom-archive__card-kicker {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #97bf14;
	margin-bottom: 6px;
	display: block;
}

.pom-archive__card-title {
	font-family: "stolzl", Sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 24px;
	margin: 0 0 10px;
}

.pom-archive__card-title a {
	color: #164824;
	text-decoration: none;
}

.pom-archive__card-title a:hover {
	color: #97bf14;
}

.pom-archive__card-excerpt {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	line-height: 22px;
	color: rgba(22, 72, 36, 0.7);
	margin: 0 0 16px;
	flex: 1;
}

.pom-archive__card-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 14px;
	border-top: 1px solid rgba(22, 72, 36, 0.08);
}

.pom-archive__card-price {
	font-family: "stolzl", Sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: #164824;
}

.pom-archive__card-link {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #97bf14;
	text-decoration: none;
	letter-spacing: 0.03em;
}

.pom-archive__card-link:hover {
	color: #164824;
}

/* ── Description section (2-col) ─────────────────────────────── */
.pom-archive__desc-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 64px;
	align-items: center;
}

.pom-archive__desc-text .pom-archive__section-title {
	margin-bottom: 20px;
}

.pom-archive__desc-content {
	font-family: "degular", Sans-serif;
	font-size: 16px;
	line-height: 26px;
	color: rgba(22, 72, 36, 0.8);
}

.pom-archive__desc-content p {
	margin: 0 0 16px;
}

.pom-archive__desc-image {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 12px 36px rgba(22, 72, 36, 0.12);
}

.pom-archive__desc-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ── CTA ─────────────────────────────────────────────────────── */
.pom-archive__cta {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

.pom-archive__cta h2 {
	font-family: "stolzl", Sans-serif;
	font-size: 38px;
	font-weight: 500;
	color: #ffffff;
	margin: 0;
}

.pom-archive__cta p {
	font-family: "degular", Sans-serif;
	font-size: 17px;
	line-height: 26px;
	color: rgba(255, 255, 255, 0.75);
	max-width: 560px;
	margin: 0;
}

.pom-archive__cta-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}

/* ── Other terms grid ────────────────────────────────────────── */
.pom-archive__terms-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 8px;
}

.pom-archive__term-card {
	position: relative;
	display: block;
	aspect-ratio: 3 / 2;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	background: #164824;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pom-archive__term-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(22, 72, 36, 0.2);
}

.pom-archive__term-card-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.4s ease;
}

.pom-archive__term-card:hover .pom-archive__term-card-bg {
	transform: scale(1.06);
}

.pom-archive__term-card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(11, 28, 14, 0.75) 0%,
		rgba(11, 28, 14, 0.1) 100%
	);
}

.pom-archive__term-card-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.pom-archive__term-card-name {
	font-family: "stolzl", Sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #ffffff;
	line-height: 1.2;
}

.pom-archive__term-card-count {
	font-family: "degular", Sans-serif;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}

/* ── Stats strip ─────────────────────────────────────────────── */
.pom-archive__stats-strip {
	background: #164824;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 36px 0;
}

.pom-archive__stats {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}

.pom-archive__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 12px 20px;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.pom-archive__stat:last-child {
	border-right: none;
}

.pom-archive__stat-value {
	font-family: "stolzl", Sans-serif;
	font-size: 38px;
	font-weight: 500;
	color: #97bf14;
	line-height: 1;
	margin-bottom: 6px;
}

.pom-archive__stat-label {
	font-family: "degular", Sans-serif;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.3;
}

/* ── Features grid ───────────────────────────────────────────── */
.pom-archive__features-head {
	margin-bottom: 40px;
}

.pom-archive__features-head .pom-archive__section-title {
	margin-bottom: 0;
}

.pom-archive__features-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.pom-archive__feature-card {
	background: #f6f8f4;
	border-radius: 14px;
	padding: 28px 24px;
	border: 1px solid rgba(22, 72, 36, 0.07);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pom-archive__feature-card:hover {
	border-color: rgba(151, 191, 20, 0.35);
	box-shadow: 0 4px 20px rgba(22, 72, 36, 0.08);
}

.pom-archive__feature-icon {
	font-size: 32px;
	line-height: 1;
	margin-bottom: 16px;
}

.pom-archive__feature-title {
	font-family: "stolzl", Sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #164824;
	margin: 0 0 10px;
}

.pom-archive__feature-desc {
	font-family: "degular", Sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: rgba(22, 72, 36, 0.7);
	margin: 0;
}

/* ── Gallery ─────────────────────────────────────────────────── */
.pom-archive__gallery {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 220px;
	gap: 12px;
	margin-top: 8px;
}

.pom-archive__gallery-item {
	position: relative;
	display: block;
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
}

/* Make first item span 2 cols & 2 rows for masonry feel */
.pom-archive__gallery-item:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

.pom-archive__gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
	display: block;
}

.pom-archive__gallery-item:hover img {
	transform: scale(1.06);
}

.pom-archive__gallery-label {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 28px 14px 12px;
	background: linear-gradient(to top, rgba(11,28,14,0.7) 0%, transparent 100%);
	font-family: "stolzl", Sans-serif;
	font-size: 12px;
	font-weight: 500;
	color: rgba(255,255,255,0.9);
	letter-spacing: 0.04em;
	opacity: 0;
	transition: opacity 0.25s ease;
}

.pom-archive__gallery-item:hover .pom-archive__gallery-label {
	opacity: 1;
}

/* ── Process ─────────────────────────────────────────────────── */
.pom-archive__process-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 48px;
}

.pom-archive__process-head .pom-archive__section-title {
	margin-bottom: 0;
}

.pom-archive__btn--outline {
	border: 1.5px solid rgba(22, 72, 36, 0.35);
	color: #164824;
	background: transparent;
	padding: 11px 24px;
	border-radius: 25px;
	font-family: "stolzl", Sans-serif;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease;
	white-space: nowrap;
	align-self: center;
}

.pom-archive__btn--outline:hover {
	background: rgba(22, 72, 36, 0.06);
	border-color: rgba(22, 72, 36, 0.55);
	color: #164824;
}

ol.pom-archive__process {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	counter-reset: none;
}

.pom-archive__process-step {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px 28px 28px 0;
	border-right: 1px solid rgba(22, 72, 36, 0.1);
	padding-right: 28px;
}

.pom-archive__process-step:first-child {
	padding-left: 0;
}

.pom-archive__process-step:last-child {
	border-right: none;
}

.pom-archive__process-step + .pom-archive__process-step {
	padding-left: 28px;
}

.pom-archive__process-num {
	font-family: "stolzl", Sans-serif;
	font-size: 40px;
	font-weight: 500;
	color: rgba(22, 72, 36, 0.12);
	line-height: 1;
}

.pom-archive__process-title {
	font-family: "stolzl", Sans-serif;
	font-size: 17px;
	font-weight: 500;
	color: #164824;
	margin: 0;
}

.pom-archive__process-desc {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	line-height: 23px;
	color: rgba(22, 72, 36, 0.7);
	margin: 0;
}

/* ── FAQ ─────────────────────────────────────────────────────── */
.pom-archive__faq-wrap {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 72px;
	align-items: start;
}

.pom-archive__faq-intro .pom-archive__section-title {
	margin-bottom: 16px;
}

.pom-archive__faq-subtext {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	line-height: 23px;
	color: rgba(22, 72, 36, 0.65);
	margin: 0;
}

.pom-archive__faq-subtext a {
	color: #164824;
	font-weight: 500;
}

.pom-archive__faq-list {
	display: flex;
	flex-direction: column;
}

.pom-archive__faq-item {
	border-bottom: 1px solid rgba(22, 72, 36, 0.1);
}

.pom-archive__faq-item:first-child {
	border-top: 1px solid rgba(22, 72, 36, 0.1);
}

.pom-archive__faq-question {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 20px 0;
	cursor: pointer;
	font-family: "stolzl", Sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #164824;
	user-select: none;
}

.pom-archive__faq-question::-webkit-details-marker {
	display: none;
}

.pom-archive__faq-question span {
	flex: 1;
}

.pom-archive__faq-chevron {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	color: rgba(22, 72, 36, 0.45);
	transition: transform 0.25s ease;
}

.pom-archive__faq-item[open] .pom-archive__faq-chevron {
	transform: rotate(180deg);
}

.pom-archive__faq-answer {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	line-height: 24px;
	color: rgba(22, 72, 36, 0.75);
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.3s ease;
	padding-bottom: 0;
}

.pom-archive__faq-item[open] .pom-archive__faq-answer {
	padding-bottom: 39px;
}

.pom-archive__faq-answer p {
	margin: 0 0 12px;
}

.pom-archive__faq-answer p:last-child {
	margin-bottom: 0;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.pom-archive__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.pom-archive__terms-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.pom-archive__features-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.pom-archive__gallery {
		grid-template-columns: repeat(3, 1fr);
	}

	.pom-archive__faq-wrap {
		grid-template-columns: 280px 1fr;
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.pom-archive__hero {
		min-height: 420px;
	}

	.pom-archive__hero-title {
		font-size: 40px;
		line-height: 46px;
	}

	.pom-archive__section-title {
		font-size: 30px;
		line-height: 36px;
	}

	.pom-archive__cta h2 {
		font-size: 30px;
	}

	.pom-archive__desc-wrap {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.pom-archive__terms-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.pom-archive__stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.pom-archive__stat {
		border-right: none;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		padding: 20px;
	}

	.pom-archive__stat:nth-child(2n) {
		border-left: 1px solid rgba(255, 255, 255, 0.12);
	}

	.pom-archive__stat:nth-last-child(-n+2) {
		border-bottom: none;
	}

	ol.pom-archive__process {
		grid-template-columns: 1fr 1fr;
	}

	.pom-archive__process-step {
		border-right: none;
		border-bottom: 1px solid rgba(22, 72, 36, 0.1);
		padding: 24px 0;
	}

	.pom-archive__process-step + .pom-archive__process-step {
		padding-left: 0;
	}

	.pom-archive__process-step:nth-child(odd) {
		padding-right: 24px;
		border-right: 1px solid rgba(22, 72, 36, 0.1);
	}

	.pom-archive__faq-wrap {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.pom-archive__gallery {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 680px) {
	.pom-archive__section {
		padding: 56px 0;
	}

	.pom-archive__hero {
		min-height: 360px;
	}

	.pom-archive__hero-title {
		font-size: 32px;
		line-height: 38px;
	}

	.pom-archive__hero-inner {
		padding-top: 60px;
		padding-bottom: 44px;
	}

	.pom-archive__grid {
		grid-template-columns: 1fr;
	}

	.pom-archive__grid-header {
		flex-direction: column;
		align-items: flex-start;
	}

	.pom-archive__terms-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.pom-archive__desc-image {
		max-height: 280px;
	}

	.pom-archive__cta h2 {
		font-size: 26px;
	}

	.pom-archive__stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.pom-archive__stat-value {
		font-size: 30px;
	}

	.pom-archive__features-grid {
		grid-template-columns: 1fr 1fr;
		gap: 14px;
	}

	.pom-archive__feature-card {
		padding: 20px 16px;
	}

	ol.pom-archive__process {
		grid-template-columns: 1fr;
	}

	.pom-archive__process-step {
		border-right: none;
	}

	.pom-archive__process-step:nth-child(odd) {
		border-right: none;
		padding-right: 0;
	}

	.pom-archive__process-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.pom-archive__gallery {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 160px;
	}

	.pom-archive__faq-question {
		font-size: 15px;
	}
}

/* ═══════════════════════════════════════════════════════════════
   ARCHIVE: meble — meble-arc__*
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ────────────────────────────────────────────────────── */
.meble-archive {
	max-width: none;
	margin: 0;
	padding: 0;
}

.meble-arc__hero {
	position: relative;
	min-height: 640px;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.meble-arc__hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1.04);
	transition: transform 10s ease;
}

.meble-arc__hero:hover .meble-arc__hero-bg {
	transform: scale(1);
}

.meble-arc__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		105deg,
		rgba(11, 28, 14, 0.90) 0%,
		rgba(11, 28, 14, 0.55) 60%,
		rgba(11, 28, 14, 0.25) 100%
	);
}

.meble-arc__hero-inner {
	position: relative;
	z-index: 1;
	padding-top: 80px;
	padding-bottom: 80px;
	width: 100%;
}

.meble-arc__hero-kicker {
	color: rgba(255, 255, 255, 0.55) !important;
}

.meble-arc__hero-title {
	font-family: "stolzl", Sans-serif;
	font-size: 68px;
	line-height: 74px;
	font-weight: 500;
	color: #ffffff !important;
	margin: 0 0 20px;
}

.meble-arc__hero-subtitle {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 28px;
	color: rgba(255, 255, 255, 0.78);
	margin: 0 0 28px;
	max-width: 580px;
}

.meble-arc__hero-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 32px;
}

.meble-arc__chip {
	font-family: "stolzl", Sans-serif;
	font-size: 12px;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.85);
	border: 1px solid rgba(255, 255, 255, 0.22);
	background: rgba(255, 255, 255, 0.07);
	padding: 6px 14px;
	border-radius: 20px;
}

.meble-arc__hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* ── Count badge next to section title ───────────────────────── */
.meble-arc__count-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(22, 72, 36, 0.1);
	color: #164824;
	font-family: "stolzl", Sans-serif;
	font-size: 14px;
	font-weight: 500;
	border-radius: 20px;
	padding: 3px 12px;
	margin-left: 10px;
	vertical-align: middle;
	letter-spacing: 0;
}

/* ── Filter bar ──────────────────────────────────────────────── */
.meble-arc__filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 32px;
}

.meble-arc__filter-btn {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: rgba(22, 72, 36, 0.7);
	background: transparent;
	border: 1.5px solid rgba(22, 72, 36, 0.2);
	padding: 8px 18px;
	border-radius: 24px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.meble-arc__filter-btn:hover {
	border-color: rgba(22, 72, 36, 0.45);
	color: #164824;
	background: rgba(22, 72, 36, 0.04);
}

.meble-arc__filter-btn.is-active {
	background: #164824;
	border-color: #164824;
	color: #ffffff;
}

/* ── No results message ──────────────────────────────────────── */
.meble-arc__no-results {
	font-family: "degular", Sans-serif;
	font-size: 16px;
	color: rgba(22, 72, 36, 0.55);
	text-align: center;
	padding: 48px 0;
}

/* ── Per-term section header ─────────────────────────────────── */
.meble-arc__term-section-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 36px;
}

.meble-arc__term-section-header .pom-archive__section-title {
	margin-bottom: 0;
}

/* ── Dlaczego my / why section ───────────────────────────────── */
.meble-arc__why-wrap {
	display: grid;
	grid-template-columns: 1fr 420px;
	gap: 80px;
	align-items: start;
}

.meble-arc__why-text .pom-archive__section-title {
	margin-bottom: 16px;
}

.meble-arc__why-desc {
	font-family: "degular", Sans-serif;
	font-size: 16px;
	line-height: 26px;
	color: rgba(22, 72, 36, 0.75);
	margin: 0 0 24px;
}

.meble-arc__usp-list {
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.meble-arc__usp-list li {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	color: rgba(22, 72, 36, 0.85);
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.meble-arc__usp-icon {
	color: #97bf14;
	font-size: 13px;
	flex-shrink: 0;
}

.meble-arc__why-visual {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.meble-arc__why-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.meble-arc__why-stat {
	background: #f6f8f4;
	border-radius: 12px;
	padding: 20px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	border: 1px solid rgba(22, 72, 36, 0.07);
}

.meble-arc__why-stat strong {
	font-family: "stolzl", Sans-serif;
	font-size: 32px;
	font-weight: 500;
	color: #164824;
	line-height: 1;
}

.meble-arc__why-stat span {
	font-family: "degular", Sans-serif;
	font-size: 13px;
	color: rgba(22, 72, 36, 0.6);
}

.meble-arc__why-area {
	background: #164824;
	border-radius: 12px;
	padding: 20px 22px;
}

.meble-arc__why-area-label {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #97bf14;
	margin: 0 0 6px;
}

.meble-arc__why-area-text {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
	line-height: 1.5;
}

/* ── Responsive ──────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.meble-arc__why-wrap {
		grid-template-columns: 1fr 340px;
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.meble-arc__hero {
		min-height: 500px;
	}

	.meble-arc__hero-title {
		font-size: 48px;
		line-height: 54px;
	}

	.meble-arc__why-wrap {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.meble-arc__why-stats {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 680px) {
	.meble-arc__hero {
		min-height: 400px;
		align-items: flex-end;
	}

	.meble-arc__hero-inner {
		padding-top: 60px;
		padding-bottom: 52px;
	}

	.meble-arc__hero-title {
		font-size: 36px;
		line-height: 42px;
	}

	.meble-arc__hero-subtitle {
		font-size: 16px;
	}

	.meble-arc__hero-chips {
		display: none;
	}

	.meble-arc__why-stats {
		grid-template-columns: 1fr 1fr;
	}

	.meble-arc__filter-bar {
		gap: 6px;
	}

	.meble-arc__filter-btn {
		font-size: 12px;
		padding: 7px 14px;
	}
}

/* ═══════════════════════════════════════════════════════════════
   PAGE: pomieszczenia — pom-hub__*
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero ────────────────────────────────────────────────────── */
.pom-hub {
	max-width: none;
	margin: 0;
	padding: 0;
}

.pom-hub__hero {
	position: relative;
	min-height: 600px;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	align-items: center;
	overflow: hidden;
}

/* Mozaikowe tlo z miniatur termow */
.pom-hub__hero-bg {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(2, 1fr);
	gap: 0;
}

/* Jedno zdjecie zamiast mozaiki */
.pom-hub__hero-bg--single {
	display: block;
	background-size: cover;
	background-position: center;
	transform: scale(1.04);
	transition: transform 10s ease;
}

.pom-hub__hero:hover .pom-hub__hero-bg--single {
	transform: scale(1);
}

.pom-hub__hero-tile {
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	transition: transform 8s ease;
}

.pom-hub__hero-tile:nth-child(odd) {
	transform: scale(1.06);
}

.pom-hub__hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(11, 28, 14, 0.78);
}

.pom-hub__hero-inner {
	position: relative;
	z-index: 1;
	padding-top: 80px;
	padding-bottom: 80px;
	width: 100%;
}

.pom-hub__hero-kicker {
	color: rgba(255, 255, 255, 0.55) \!important;
}

.pom-hub__hero-title {
	font-family: "stolzl", Sans-serif;
	font-size: 72px;
	line-height: 78px;
	font-weight: 500;
	color: #ffffff;
	margin: 0 0 24px;
	letter-spacing: -0.01em;
}

.pom-hub__hero-text {
	font-family: "degular", Sans-serif;
	font-size: 18px;
	line-height: 28px;
	color: rgba(255, 255, 255, 0.75);
	margin: 0 0 32px;
	max-width: 520px;
}

.pom-hub__hero-text strong {
	color: #97bf14;
	font-weight: 600;
}

.pom-hub__hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* ── Siatka kart termow ─────────────────────────────────────── */
.pom-hub__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: 8px;
}

.pom-hub__card {
	position: relative;
	display: block;
	text-decoration: none;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: #1a3d24;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pom-hub__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 48px rgba(22, 72, 36, 0.22);
}

.pom-hub__card--empty {
	opacity: 0.55;
	cursor: default;
	pointer-events: none;
}

.pom-hub__card-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

.pom-hub__card:hover .pom-hub__card-bg {
	transform: scale(1.07);
}

.pom-hub__card-bg--placeholder {
	background: linear-gradient(135deg, #1a3d24 0%, #2d6340 100%);
}

.pom-hub__card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(11, 28, 14, 0.88) 0%,
		rgba(11, 28, 14, 0.30) 55%,
		rgba(11, 28, 14, 0.10) 100%
	);
	transition: background 0.3s ease;
}

.pom-hub__card:hover .pom-hub__card-overlay {
	background: linear-gradient(
		to top,
		rgba(11, 28, 14, 0.92) 0%,
		rgba(11, 28, 14, 0.45) 55%,
		rgba(11, 28, 14, 0.15) 100%
	);
}

.pom-hub__card-body {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 28px 26px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pom-hub__card-count {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #97bf14;
}

.pom-hub__card-badge {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255,255,255,0.45);
	border: 1px solid rgba(255,255,255,0.2);
	padding: 3px 10px;
	border-radius: 12px;
	width: fit-content;
}

.pom-hub__card-title {
	font-family: "stolzl", Sans-serif;
	font-size: 26px;
	font-weight: 500;
	color: #ffffff;
	margin: 0;
	line-height: 1.15;
}

.pom-hub__card-desc {
	font-family: "degular", Sans-serif;
	font-size: 14px;
	line-height: 21px;
	color: rgba(255, 255, 255, 0.65);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pom-hub__card-link {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #97bf14;
	letter-spacing: 0.04em;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.pom-hub__card:hover .pom-hub__card-link {
	opacity: 1;
	transform: translateY(0);
}

/* ── Jak dzialamy sekcja ─────────────────────────────────────── */
.pom-hub__how-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: start;
}

.pom-hub__how-text .pom-archive__section-title {
	margin-bottom: 16px;
}

.pom-hub__how-desc {
	font-family: "degular", Sans-serif;
	font-size: 16px;
	line-height: 26px;
	color: rgba(22, 72, 36, 0.75);
	margin: 0 0 28px;
}

.pom-hub__how-steps {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.pom-hub__step {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 24px 0;
	border-bottom: 1px solid rgba(22, 72, 36, 0.1);
}

.pom-hub__step:first-child {
	padding-top: 0;
}

.pom-hub__step:last-child {
	border-bottom: none;
}

.pom-hub__step-num {
	font-family: "stolzl", Sans-serif;
	font-size: 36px;
	font-weight: 500;
	color: rgba(22, 72, 36, 0.12);
	line-height: 1;
	flex-shrink: 0;
	width: 52px;
}

.pom-hub__step strong {
	display: block;
	font-family: "stolzl", Sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #164824;
	margin-bottom: 6px;
}

.pom-hub__step p {
	font-family: "degular", Sans-serif;
	font-size: 14px;
	line-height: 22px;
	color: rgba(22, 72, 36, 0.65);
	margin: 0;
}

/* ── Responsive ─────────────────────────────────────────────── */
@media (max-width: 1100px) {
	.pom-hub__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.pom-hub__how-wrap {
		gap: 48px;
	}
}

@media (max-width: 900px) {
	.pom-hub__hero-title {
		font-size: 52px;
		line-height: 58px;
	}

	.pom-hub__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.pom-hub__how-wrap {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.pom-hub__hero-bg {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 680px) {
	.pom-hub__hero {
		min-height: 480px;
	}

	.pom-hub__hero-title {
		font-size: 38px;
		line-height: 44px;
	}

	.pom-hub__hero-text {
		font-size: 16px;
	}

	.pom-hub__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.pom-hub__card {
		aspect-ratio: 2 / 3;
	}

	.pom-hub__card-title {
		font-size: 20px;
	}

	.pom-hub__card-desc {
		display: none;
	}

	.pom-hub__hero-bg {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, 1fr);
	}
}

/* ── pom-archive: parent card + group ───────────────────────── */
.pom-archive__group {
	margin-bottom: 56px;
}

.pom-archive__group:last-child {
	margin-bottom: 0;
}

.pom-archive__parent-card {
	position: relative;
	display: flex;
	align-items: flex-end;
	height: 260px;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	background: #164824;
	margin-bottom: 20px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.pom-archive__parent-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 36px rgba(22, 72, 36, 0.2);
}

.pom-archive__parent-card-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.5s ease;
}

.pom-archive__parent-card:hover .pom-archive__parent-card-bg {
	transform: scale(1.04);
}

.pom-archive__parent-card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		100deg,
		rgba(11, 28, 14, 0.90) 0%,
		rgba(11, 28, 14, 0.50) 55%,
		rgba(11, 28, 14, 0.15) 100%
	);
}

.pom-archive__parent-card-body {
	position: relative;
	z-index: 1;
	padding: 28px 36px;
	max-width: 580px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pom-archive__parent-card-kicker {
	font-family: "stolzl", Sans-serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #97bf14;
}

.pom-archive__parent-card-title {
	font-family: "stolzl", Sans-serif;
	font-size: 28px;
	font-weight: 500;
	color: #ffffff;
	margin: 0;
	line-height: 1.2;
}

.pom-archive__parent-card-desc {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	line-height: 22px;
	color: rgba(255, 255, 255, 0.65);
	margin: 0;
}

.pom-archive__parent-card-link {
	font-family: "stolzl", Sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: #97bf14;
	letter-spacing: 0.03em;
	margin-top: 4px;
}

.pom-archive__group-children {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

@media (max-width: 900px) {
	.pom-archive__group-children {
		grid-template-columns: repeat(2, 1fr);
	}

	.pom-archive__parent-card {
		height: 220px;
	}

	.pom-archive__parent-card-title {
		font-size: 22px;
	}
}

@media (max-width: 680px) {
	.pom-archive__group-children {
		grid-template-columns: 1fr;
	}

	.pom-archive__parent-card {
		height: 200px;
	}

	.pom-archive__parent-card-body {
		padding: 20px 22px;
	}

	.pom-archive__parent-card-desc {
		display: none;
	}
}

/* ── SEO text block ─────────────────────────────────────────── */
.pom-archive__section--seo {
	border-top: 1px solid rgba(22, 72, 36, 0.08);
}

.pom-seo__wrap {
	max-width: 860px;
}

.pom-seo__title {
	font-family: "stolzl", Sans-serif;
	font-size: 26px;
	font-weight: 500;
	color: #164824;
	margin: 0 0 24px;
	line-height: 1.35;
}

.pom-seo__heading {
	font-family: "stolzl", Sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #164824;
	margin: 36px 0 12px;
}

.pom-seo__wrap p {
	font-family: "degular", Sans-serif;
	font-size: 15px;
	line-height: 26px;
	color: rgba(22, 72, 36, 0.7);
	margin: 0 0 16px;
}

.pom-seo__wrap p:last-child {
	margin-bottom: 0;
}

/* ══════════════════════════════════════════════════════════════
   Pomieszczenia hub – button & heading color overrides
   Zabezpieczenie przed globalnymi stylami linka z tematu
   ══════════════════════════════════════════════════════════════ */

/* ── Primary button: zawsze biały tekst ─────────────────────── */
.pom-archive__btn--primary,
.pom-archive__btn--primary:hover,
.pom-archive__btn--primary:focus,
.pom-archive__btn--primary:visited,
.pom-archive__btn--primary:active {
	color: #ffffff !important;
}

/* ── Ghost button: zawsze biały tekst + border ───────────────── */
.pom-archive__btn--ghost,
.pom-archive__btn--ghost:hover,
.pom-archive__btn--ghost:focus,
.pom-archive__btn--ghost:visited,
.pom-archive__btn--ghost:active {
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.6);
}

.pom-archive__btn--ghost:hover,
.pom-archive__btn--ghost:focus {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.85);
}

/* ── Ciemne sekcje: wszystkie nagłówki białe ─────────────────── */
.pom-archive__section--dark h1,
.pom-archive__section--dark h2,
.pom-archive__section--dark h3,
.pom-archive__section--dark h4,
.pom-archive__section--dark h5,
.pom-archive__section--dark h6 {
	color: #ffffff !important;
}

/* ── Hub hero: nagłówki białe (ciemna mozaika z overlayem) ───── */
.pom-hub__hero h1,
.pom-hub__hero h2,
.pom-hub__hero h3 {
	color: #ffffff !important;
}

/* ── Karty pomieszczenia: nagłówki białe (ciemny overlay) ─────── */
.pom-hub__card h1,
.pom-hub__card h2,
.pom-hub__card h3,
.pom-hub__card-title {
	color: #ffffff !important;
}

/* ── Karta rodzica w archiwum: nagłówki białe ────────────────── */
.pom-archive__parent-card h1,
.pom-archive__parent-card h2,
.pom-archive__parent-card h3,
.pom-archive__parent-card-title {
	color: #ffffff !important;
}

/* ── Outline button (używany w single-meble) ──────────────────── */
.pom-archive__btn--outline,
.pom-archive__btn--outline:hover,
.pom-archive__btn--outline:focus,
.pom-archive__btn--outline:visited,
.pom-archive__btn--outline:active {
	color: #164824 !important;
}

.pom-archive__section--dark .pom-archive__btn--outline,
.pom-archive__section--dark .pom-archive__btn--outline:hover,
.pom-archive__section--dark .pom-archive__btn--outline:focus,
.pom-archive__section--dark .pom-archive__btn--outline:visited {
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.5);
}
