/*
Theme Name: D2M TwojNowyDom
Theme URI: https://d2m.pl
Author: D2M
Author URI: https://d2m.pl
Description: TwojNowyDom.com
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twojnowydom
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */

body {
    --wp--style--root--padding-right: 1.5rem;
    --wp--style--root--padding-left: 1.5rem;
}

a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}



/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

a, button, a:hover, button:hover, a:focus, button:focus
{
	outline: none !important;
	transition: all .3s;
}


/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

header.wp-block-template-part
{
	position: fixed;
    z-index: 10;
    width: 100%;
	top: 0;
}

.hero
{
	min-height: 700px;
    background-position: 50% 50%;
    background-size: auto;
	display: flex;
    align-content: center;
    align-items: center;	
}
.hero-caption-container
{
	width: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
	display: flex;
    justify-content: flex-end;
}
.hero-caption-container .hero-caption
{
	width: 42%;
}
@media(max-width: 900px)
{
	.hero-caption-container .wp-block-heading
	{
		margin-top: 0;
	}
	.hero-caption-container .wp-block-heading
	{
		font-size: 2rem !important;
	}
	.hero-caption-container .hero-caption p
	{
		padding: 1.5rem;
		border-radius: 15px;
		background: #fff;
	}
	
.hero-caption-container .hero-caption
	{
		width: 100%;
		padding: 2rem;
		backdrop-filter: blur(5px) !important;
		background: 

	}
}


/* Kontener listy postów */
.post-list-default {
  display: flex;
  flex-wrap: wrap;
  margin-left: -.5rem;
  margin-right: -.5rem;
  justify-content: center;
}

/* Pojedynczy element */
.post-list-default .post-item {
  width: 100%;
  box-sizing: border-box;
  padding-left: .5rem;
  padding-right: .5rem;
  margin-bottom: 1rem;
}

.post-list-default .post-link .entry-title
{
  transition: all .3s ease;
}
.post-list-default .post-link:hover .entry-title
{
	color: var(--wp--preset--color--accent-1);
}


.post-list-default .post-item .post-link {
  display: block;
  text-decoration: none !important;
  color: inherit; /* zachowuje kolor tekstu */
  height: 100%;
}
.post-list-default .post-item .post-link:hover, .post-list-default .post-item .post-link:focus, .post-list-default .post-item .post-link *
{
	text-decoration: none !important;
}

.post-list-default .post-item .post-card {
  height: 100%;
  transition: all .3s ease;
}

.post-list-default .post-item .post-link:hover .post-card {
}
.post-list-default .post-item img
{
	width: 100% !important;
	height: auto !important;
}
/* ≥576px: col-sm-12 (czyli wciąż 100%) */
@media (min-width: 576px) {
  .post-list-default .post-item {
    width: 100%;
  }
}

/* ≥768px: col-md-6 (czyli 2 kolumny) */
@media (min-width: 768px) {
  .post-list-default .post-item {
    width: 50%;
  }
}

/* ≥992px: col-lg-4 (czyli 3 kolumny) */
@media (min-width: 992px) {
  .post-list-default .post-item {
    width: 33.3333%;
  }
}


.dotacja-list .post-link
{
	border-radius: 20px;
	overflow: hidden;
	background: #EFEFEF;
}
.dotacja-list .post-link:hover
{
	background: #fff;
}
.dotacja-list .post-link .caption
{
	padding: 2rem 1.5rem 2.5rem 1.5rem;
	text-align: center;
}
.dotacja-list .post-link .entry-title
{
	margin: 0 0 1rem 0;
	font-weight: bold;
}
.dotacja-list .post-link .post-thumb
{
	height: 200px;
	overflow: hidden;
}
.dotacja-list .post-link img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: .3s all;
}
.dotacja-list .post-link:hover img
{
	transform: scale(1.2);
}
.usluga-list .entry-title
{
	font-size: 20px;
	font-weight: bold;
}
.usluga-list .entry-excerpt
{
	display: none;
}
.usluga-list .caption
{
	padding: 1rem;
}
.usluga-list .post-link .post-thumb
{
	border-radius: 20px;
	background: #fff;
	overflow: hidden;
}
.usluga-list .post-link .post-thumb img
{
	height: 220px !important;
	width: auto !important;
	transition: .3s all;
}
.usluga-list .post-link:hover .post-thumb img
{
	transform: scale(1.2);
}
.usluga-list .post-link .post-thumb
{
	text-align: center;
}

.realizacja-list .post-thumb
{
	height: 220px;
	border-radius: 20px;
	overflow: hidden;
}
.realizacja-list .post-link .post-thumb img
{
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
	transition: .3s all;
}
.realizacja-list .post-link:hover .post-thumb img
{
	transform: scale(1.2);
}
.realizacja-list .post-link .entry-title
{
	font-weight: normal;
	font-size: 1.1rem;
	line-height: 1.4;
}

.post-list .post-link
{
	position: relative;
	border-radius: 20px;
	overflow: hidden;
}
.post-list .post-link .post-thumb
{
	height: 390px;
	overflow: hidden;
}
.post-list .post-link .post-thumb img
{
	height: 100% !important;
	width: 100% !important;
	object-fit: cover;
	transition: .3s all;
}
.post-list .post-link:hover .post-thumb img
{
	transform: scale(1.2);
}

.post-list .post-link .caption
{
	position: absolute;
	top: 0;
	display: flex;
	flex-direction: column;
    justify-content: flex-end;
	bottom: 0;
	color: #fff;
	padding: 20px;
	background: rgba(0,0,0,.6);
	background: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 40%);
	background: -o-linear-gradient(bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 40%);
	background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 40%);
}
.post-list .post-link .caption .entry-title
{
	font-weight: bold;
}

.oferta-pracy-list .post-link
{
	background: #fff;
	padding: 2rem;
	border-radius: 20px;
}
.oferta-pracy-list .post-link:hover
{
	transform: scale(1.02);
}
.oferta-pracy-list .post-link:hover .entry-title
{
	color: var(--wp--preset--color--accent-1);;
}

.yoast-breadcrumbs a
{
	color: var(--wp--preset--color--accent-1);
	text-decoration: none;
}
.yoast-breadcrumbs a:hover
{
	text-decoration: underline;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-input
{
	border: none !important;
	background: #fff !important;
	border-radius: 10px; 
	padding: 1rem;
}
.forminator-floating--input
{
	position: relative;
	z-index: 10;
	padding: 0 10px;
}
.forminator-row
{
	margin-bottom: .5rem !important;
}
.forminator-textarea
{
	padding: 1rem !important;
	border: none !important;
	border-radius: 10px !important; 
}
.forminator-floating--textarea
{
	padding-top: 2.5rem !important;
}
.forminator-ui.forminator-custom-form[data-design=material] .forminator-is_active .forminator-floating--textarea, .forminator-ui.forminator-custom-form[data-design=material] .forminator-is_filled .forminator-floating--textarea
{
	padding-top: 5px !important;
}
.forminator-button-submit 
{
	background-color: var(--wp--preset--color--accent-1);
    padding-top: var(--wp--preset--spacing--20);
    padding-right: 32px;
    padding-bottom: var(--wp--preset--spacing--20);
    padding-left: 32px;
	    border-width: 0;
    color: var(--wp--preset--color--base);
    font-family: inherit;
    font-size: var(--wp--preset--font-size--medium);
    line-height: inherit;
	    border-radius: 9999px !important;
	float: right;
	margin-top: 1rem !important;
}

header .wp-block-pages-list__item__link, header .wp-block-navigation-item__content
{
	  position: relative;
  color: inherit; 
  text-decoration: none;
	display: block;
	padding: .5rem 1rem;
}
header .wp-block-pages-list__item__link:hover, header .wp-block-navigation-item__content:hover
{
	text-decoration: none;
}
header .wp-block-pages-list__item__link::after, header .wp-block-navigation-item__content::after
{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--wp--preset--color--accent-1);
  transition: width 0.3s ease;
  margin: 0 1rem;
}
header .wp-block-pages-list__item__link:hover::after, header .wp-block-navigation-item__content:hover::after
{
  width: calc(100% - 2rem);
}
header .current-menu-item .wp-block-pages-list__item__link::after, header .current-menu-item .wp-block-navigation-item__content::after
{
	opacity: 0 !important;
}
header .current-menu-item .wp-block-pages-list__item__link, header .current-menu-item .wp-block-navigation-item__content
{
	opacity: .3;
	cursor: default;
}

footer .wp-block-navigation-item__content
{
  position: relative;
  color: inherit; 
  text-decoration: none;
}
footer .wp-block-navigation-item__content:hover
{
	text-decoration: none;
}
footer .wp-block-navigation-item__content::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: var(--wp--preset--color--accent-1);
  transition: width 0.3s ease;
}
footer .wp-block-navigation-item__content:hover::after {
  width: 100%;
}

footer
{
	opacity: 0;
	transition: all 2s ease;
}
footer.is-visible
{
	opacity: 1;
}

main {
  opacity: 0;
/* transform: translateY(-120px); */
  transition: all 1.2s ease;
}

main.is-visible {
  /* transform: translateY(0); */
  opacity: 1;
}
.wp-block-button__link:hover, .wp-block-button__link:focus
{
	transform: scale(1.1);
}
.is-style-outline .wp-block-button__link:hover
{
	background: #000;
}



.lzb-sec {
--lzb-gap-x: 1.5rem;
--lzb-gap-y: 1.5rem;
}


.lzb-sec__inner {
max-width: var(--lzb-max);
margin-inline: auto;
}


.lzb-sec__row {
display: flex;
flex-wrap: wrap;
gap: var(--lzb-gap-y) var(--lzb-gap-x);
}


.lzb-sec__col {
box-sizing: border-box;
flex: 1 1 100%;
min-width: 0;
display: flex;
flex-direction: column;
}


.lzb-sec__figure { margin: 0; }
.lzb-sec__img { display: block; width: 100%; height: auto; border-radius: 8px; }
.lzb-sec__content
{
	max-width: 640px !important;
	margin: 0 auto;
}

.lzb-sec__content > :first-child { margin-top: 0; }
.lzb-sec__content > :last-child { margin-bottom: 0; }


/* Vertical alignment */
.lzb-sec[data-img-align="start"] .lzb-sec__col--image { justify-content: flex-start; }
.lzb-sec[data-img-align="center"] .lzb-sec__col--image { justify-content: center; padding-top:3rem; padding-bottom:3rem; }
.lzb-sec[data-img-align="end"] .lzb-sec__col--image { justify-content: flex-end; }


.lzb-sec[data-content-align="start"] .lzb-sec__col--content { justify-content: flex-start; }
.lzb-sec[data-content-align="center"] .lzb-sec__col--content { justify-content: center; padding-top:3rem; padding-bottom:3rem; }
.lzb-sec[data-content-align="end"] .lzb-sec__col--content { justify-content: flex-end; }


/* Ordering on mobile */
.lzb-sec[data-img-row="start"] .lzb-sec__col--image { order: 1; }
.lzb-sec[data-img-row="start"] .lzb-sec__col--content { order: 2; }
.lzb-sec[data-img-row="end"] .lzb-sec__col--image { order: 2; }
.lzb-sec[data-img-row="end"] .lzb-sec__col--content { order: 1; }


@media (min-width: 1000px) {
.lzb-sec__col { flex: 0 0 calc((100% - var(--lzb-gap-x)) / 2); }


/* W trybie desktop – zawsze kolumny obok siebie, więc nadpisujemy order */
.lzb-sec[data-img-side="left"] .lzb-sec__col--image { order: 1; }
.lzb-sec[data-img-side="left"] .lzb-sec__col--content { order: 2; }


.lzb-sec[data-img-side="right"] .lzb-sec__col--image { order: 2; }
.lzb-sec[data-img-side="right"] .lzb-sec__col--content { order: 1; }
}


.lzb-sec.alignfull { width: 100%; max-width: none; }
.lzb-sec.alignwide { width: 100%; }
.lzb-sec.alignwide .lzb-sec__inner { max-width: min(1400px, 92vw); }


.lzb-mb-0 { margin-bottom: 0 !important; }


/* Root */
.icolist { --ico-size: 60px; --ico-gap: 0.5rem; }
.icolist.alignfull { width: 100%; max-width: none; }
.icolist.alignwide { width: 100%; }


/* Spójny wrapper */
.icolist__inner { padding: 1rem; }


/* Element listy */
.icolist__item { min-height: var(--ico-size); padding: 2rem 1.4rem; background: #fff; border-radius: 15px; }
.icolist__icon { display: inline-flex; flex: 0 0 auto; width: var(--ico-size); height: var(--ico-size); align-items: center; justify-content: center; }
.icolist__icon-img { max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; }
.icolist__text { min-width: 0; font-size: .9rem; }
.icolist__text ul
{
	padding: 0 1rem;
}
.icolist__text li {
	padding: .3rem 0;
}
.icolist__text > :first-child { margin-top: 0; }
.icolist__text > :last-child { margin-bottom: 0; }


/* Wariant wierszowy (stack) */
.icolist-rows .icolist__list { margin: 0; padding: 0; list-style: none; }
.icolist-rows .icolist__li + .icolist__li { margin-top: 0.75rem; }


/* Drobne dopasowania pod siatkę kolumnową */
.icolist-columns .icolist__col { display: flex; }
.icolist-columns .icolist__item { width: 100%; }
.icolist__title h3
{
font-size: clamp(0.9rem, 0.9rem + ((1vw - 0.16rem) * 0.314), 1.1rem);
	line-height: 1.4;
	font-weight: bold;
}

/* Opcjonalnie: większe ikony na ≥992px */
@media (min-width: 992px) {
.icolist { --ico-size: 80px; }
}

.wp-block-twojns-realizacja-meta figure
{
	flex: 1;
	
	
}
.wp-block-twojns-realizacja-meta figure a
{
	width: 100%;
}

.wp-block-twojns-realizacja-meta figure img
{
	width: 100%;
	height: auto;
	overflow: hidden;
	object-fit: contain;
}
.wp-block-twojns-realizacja-meta
{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 1rem;
}
.slb_viewer_overlay
{
    background-color: rgba(255, 255, 255, .9) !important;

}
.slb_container
{
	background: none !important;
}
#slb_viewer_wrap .slb_theme_slb_black .slb_data_title
{
	color: #000;
}
#slb_viewer_wrap, #slb_viewer_wrap *
{
	font-family: var(--wp--preset--font-family--inter) !important;
}
#slb_viewer_wrap .slb_theme_slb_black .slb_data_title {
    color: #000 !important;
	padding: .4rem 0 !important;
	font-size: 1rem !important;
}
#slb_viewer_wrap .slb_theme_slb_default .slb_content
{
	border-radius: 15px !important;
	overflow: hidden;
}
#slb_viewer_wrap .slb_theme_slb_black .slb_container
{
	border-radius: 20px !important;
	overflow: hidden;
}
.realizacja-nav__item
{
	width: 400px;
	max-width: 100%;
	transition: all .3s;
	position: relative;
}
.realizacja-nav__item .sign
{
	margin-bottom: .5rem; color: var(--wp--preset--color--accent-1);
	position: absolute;
	top: -1rem;
	width: calc(100% - 1rem);
	padding: 1rem .5rem;
	font-size: .8rem;
}
.realizacja-nav__item .sign small
{
	background: #fff;
	padding: 4px 9px;
	border-radius: 100px;
	font-weight: bold;
}
.realizacja-nav__item .sign-older
{
	text-align: right;
}
.realizacja-nav__item:hover, .realizacja-nav__item:focus
{
	transform: scale(1.05);
	color: var(--wp--preset--color--accent-1);
}
@media(max-width: 900px)
{
	.wp-block-twojns-realizacja-meta
	{
		flex-direction: column;
	}
	.wp-block-twojns-realizacja-meta figure
	{
		width: 100%;
		height: auto;
	}
}

/* Poniżej 900px – pokaż przycisk, ukryj menu dopóki nie jest otwarte */
@media (max-width: 900px) {
  /* pokaż ikonę hamburgera */
  .wp-block-navigation__responsive-container-open {
    display: inline-flex !important;
  }

  /* ukryj kontener TYLKO gdy nie ma klasy is-menu-open */
  .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }

  /* gdy otwarte – pokaż (wymuś nad wcześniejszymi regułami) */
  .wp-block-navigation__responsive-container.is-menu-open {
    display: flex !important; /* ważne, jeśli wcześniej dawałeś display:none */
  }

  /* opcjonalnie: zadbaj o nakładanie się na treść */
  .wp-block-navigation__responsive-container.is-menu-open {
    z-index: 9999 !important;
  }
}

/* Od 901px wzwyż – standardowe menu, bez hamburgera */
@media (min-width: 901px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }
  .wp-block-navigation__responsive-container {
    display: flex !important;
  }
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list
{
	width: 100%;
	align-items: stretch;
	font-size: 1.2rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content
{
	display: block;
	padding: .5rem 1rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list
{
	font-size: 1.4rem;
}
header.wp-block-template-part>div.wp-block-group>div.wp-block-group
{
	backdrop-filter: blur(15px) brightness(1.2) !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
	border: 2px solid rgba(70, 70, 70, .08);
	transition: background-color .3s;
}
header.wp-block-template-part>div.wp-block-group>div.wp-block-group:hover, header.wp-block-template-part>div.wp-block-group>div.wp-block-group:focus
{
	background-color: rgba(255, 255, 255, 1) !important;
	backdrop-filter: none !important;
}
footer.wp-block-template-part
{
	margin-top: 2px;
}


/* anim */

/* Dla .post-list-default */
.post-list-default .post-item {
  opacity: 0;
  transform: translateY(150px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-in-out;
}

.post-list-default.is-visible .post-item {
  opacity: 1;
  transform: translateY(0);
}

/* Dla .icolist__grid */
.icolist__grid .icolist__col {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.5s ease-out, transform 0.5s ease-in-out;
}

.icolist__grid.is-visible .icolist__col {
  opacity: 1;
  transform: scale(1);
}

/* opcjonalnie: redukcja ruchu */
@media (prefers-reduced-motion: reduce) {
  .post-list-default .post-item,
  .icolist__grid .icolist__col {
    transition: none;
    transform: none;
    opacity: 1;
  }
}

.wp-block-post-title
{
	transform: translateY(-300px);
	transition: all .8s;
}

main.is-visible .wp-block-post-title
{
	transform: translateY(0);
}

.hero-caption
{
	transform: translateX(300px);
	transition: all .8s;
}
main.is-visible .hero-caption
{
	transform: translateX(0);
}

.realizacja-nav__newer {
	transform: translateX(-70vw);
	transition: all 1.4s ease-in-out;
}
.realizacja-nav__older {
	transform: translateX(70vw);
	transition: all 1.4s ease-in-out;
}


.realizacja-nav.is-visible .realizacja-nav__newer, .realizacja-nav.is-visible .realizacja-nav__older {
  	opacity: 1;
	transform: translateX(0);
}

.forminator-file-upload 
{
	background: #fff;
    border-radius: 10px;
    border: 5px solid #fff;
}
.forminator-button-upload
{
	background: var(--wp--preset--color--accent-1);
	border-radius: 6px !important;
	color: #fff;
}
.forminator-field-checkbox
{
	margin: 1rem !important;
}
.swiper-slide .term-card .term-card-thumb img
{
	transition: .3s all;
}
.swiper-slide .term-card:hover .term-card-thumb img
{
	transform: scale(1.2);
}
.swiper-slide .term-card:hover
{
	color: var(--wp--preset--color--accent-1) !important;
}

.swiper-button-next, .swiper-button-prev
{
	width: 20px;
    height: 20px;
    padding: .5rem;
    background: #fff;
    outline: none;
    color: #f00;
	border-radius: 5px;
}

.slb_template_tag.slb_template_tag_item.slb_template_tag_item_content img
{
	border-radius: 10px;
	overflow: hidden;
}
.slb_loading
{
	border-radius: 10px;
	overflow: hidden;
}
.slb_template_tag_ui_loading
{
	border-radius: 10px;
	overflow: hidden;
}