/* 
	font-family: 'GeneralSans-Variable', sans-serif;
    font-family: 'Matter', sans-serif;
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
*{
	box-sizing: border-box;
}
body{
	overflow-x: hidden !important;
}
html {
	scroll-behavior: smooth;
    overflow-x: hidden !important;
}
p, h1, h2, h3, h4, h5, h6{
	cursor: default !important;
    font-family: 'Matter', sans-serif !important;
}
a, em, p, h1, h2, h3, h4, h5, h6{
	margin-block-end: 0 !important;
	margin-block-start: 0 !important;
}
a, div{
    font-family: 'Matter', sans-serif !important;
}
/* inne */
html body.wp-child-theme-kermi .ff-general,
html body.wp-child-theme-kermi .ff-general *{
    font-family: 'GeneralSans-Variable', sans-serif !important;
}
.elementor-icon-wrapper{
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	border-image-width: 0 !important;
}
.elementor-icon{
	border-image-width: 0 !important;
}
em{
	font-style: italic !important;
}
strong{
	font-weight: 600 !important;
}
:root {
    --cub1: cubic-bezier(0.358, 0.028, 0.159, 1.5);
    --efect: linear(0, 0.011 0.6%, 0.048 1.3%, 0.187 2.7%, 0.905 7.4%, 1.143 9.3%, 1.287 11.1%, 1.328 12%, 1.349 13%, 1.341 14.4%, 1.295 15.9%, 1.03 20.9%, 0.947 22.8%, 0.9 24.5%, 0.878 26.3%, 0.878 27.5%, 0.89 28.8%, 1.012 35.7%, 1.034 37.7%, 1.043 39.7%, 1.038 42.3%, 0.996 49.1%, 0.985 53%, 1.005 66.2%, 0.998 79.4%, 1);
}
.ff-matter *{
    font-family: 'Matter', sans-serif !important;
}
.forminator-edit-module{
    display: none !important;
}
ul{
    padding-left: 20px !important;
}
/* btn */
.btn-hover .elementor-button{
    position: relative !important;
    overflow: hidden !important;
}
.btn-hover .elementor-button::before {
    content: "" !important;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 20px;
    background: rgba(0,0,0,0.05);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.45s ease-out;
    z-index: 25;
}
.btn-hover .elementor-button:hover::before {
    transform: translate(-50%, -50%) scale(50);
}
.btn-hover .elementor-button span{
    z-index: 30 !important;
}
html body .btn-shadow span{
    font-family: 'GeneralSans-Variable', sans-serif !important;
}
html body .btn-shadow a{
    font-family: 'GeneralSans-Variable', sans-serif !important;
    box-shadow: 0 138px 39px 0 rgba(172, 206, 41, 0.00), 0 88px 35px 0 rgba(172, 206, 41, 0.01), 0 50px 30px 0 rgba(172, 206, 41, 0.05), 0 22px 22px 0 rgba(172, 206, 41, 0.09), 0 6px 12px 0 rgba(172, 206, 41, 0.10) !important;
}

/* PC HEADER */
.pc-header{
    transition: 500ms ease !important;
}
.pc-link{
    transition: 500ms var(--efect) !important;
}
/* header sticky */
.pc-header.shrink{
  min-height: 120px !important;
  height: 120px !important;
}
.elementor-location-header .pc-header .elementor-element.elementor-widget-theme-site-logo img{
  transition: 500ms ease !important;
}
@media (max-width:1366px){
  .pc-header.shrink{
      min-height: 100px !important;
      height: 100px !important;
  }
}
@media (max-width:1025px){
  .pc-header.shrink{
      min-height: 80px !important;
      height: 80px !important;
  }
  .pc-header .elementor-nav-menu{
    padding: 30px 30px 50px !important;
    background: linear-gradient(135deg, rgba(240, 244, 248, 0.00) 70%, rgba(173, 206, 41, 0.2) 100%);
  }
}
@media (max-width:768px){
  .pc-header .elementor-nav-menu .menu-item:nth-last-child(1) a{
    background-color: #ADCE29 !important;
    width: min-content !important;
    display: block !important;
    white-space: nowrap !important;
    padding: 20px 40px !important;
    border-radius: 20px !important;
    margin-top: 20px !important;
  }
  .pc-header .elementor-nav-menu .menu-item:nth-last-child(1) a::before {
    content: "" !important;
    display: inline-block;
    width: 17px;
    height: 18px;
    background-image: url('/wp-content/uploads/2025/11/Group.svg');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 18px;
    vertical-align: middle !important;
    position: relative;
    fill: #000 !important;
    color: #000 !important;
    opacity: 1 !important;
}
   .pc-header .elementor-nav-menu .menu-item:nth-last-child(1) a:hover{
    color: #000 !important;
  }
}


/* intro */
.intro-nakładka{
    height: 100% !important;
}
/* formularz rezerwacja */
.form-rezerwacja form{
    margin: 0 !important;
    padding: 0 !important;
}
.form-rezerwacja .forminator-required{
    display: none !important;
}
.form-rezerwacja .forminator-label{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    padding-bottom: 6px !important;
}
.form-rezerwacja span.forminator-label{
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 400 !important;
    color: #FFF !important;
}
.form-rezerwacja label{
    color: #FFF !important;
}
.form-rezerwacja .forminator-row{
    margin-bottom: 12px !important;
}
.forminator-input{
  border-radius: 10px !important;
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important;
  padding: 12px 16px !important;
  box-shadow: 0 20px 30px 0 rgba(0, 0, 0, 0.03) !important;
  color: #000 !important;
}
.forminator-input:focus{
  border: none !important;
  outline: none !important;
}
.form-rezerwacja .iti__selected-country .iti__selected-country-primary{
    padding: 0 16px 0 0 !important;
}
/* województwa */
.form-rezerwacja .forminator-select .select2-selection__placeholder,
.form-rezerwacja .select2-selection__rendered{
    color: #000 !important;
    line-height: 24px !important;
}
.form-rezerwacja .forminator-select .selection .select2-selection--single{
    border-radius: 10px !important;
}
.form-rezerwacja .forminator-select .selection .select2-selection__rendered{
    padding: 12px 16px !important;
}
.forminator-select-dropdown-container--open .select2-results__options{
    padding: 0 10px !important;
}
.forminator-select-dropdown-container--open .select2-results__options li{
    color: #000 !important;
    border-color: #ADCE29 !important;
}
.form-rezerwacja .select2-selection__arrow{
    width: 44px !important;
}


.form-rezerwacja .opcje-tematy{
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
.form-rezerwacja .opcje-tematy .forminator-field{
    display: flex !important;
    flex-direction: row !important;
    gap: 16px !important;
    flex-wrap: wrap;
} 
.form-rezerwacja .opcje-tematy .forminator-label{
    font-size: 18px !important;
    line-height: 22px !important;
    font-weight: 500 !important;
    color: #ADCE29 !important;
    padding-bottom: 8px !important;
    width: 100%;
}
.form-rezerwacja .opcje-tematy .forminator-checkbox{
    margin: 0 !important;
    width: 30%;
}
.form-rezerwacja .opcje-tematy .forminator-checkbox .forminator-checkbox-label{
    margin-left: 10px  !important;
    white-space: nowrap !important;
    font-family: 'GeneralSans-Variable', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
}
.form-rezerwacja .opcje-tematy .forminator-checkbox-box{
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
}
.form-rezerwacja .opcje-tematy .forminator-checkbox-box::before{
    color: #566615 !important;
}
.form-rezerwacja .forminator-field-consent{
    padding: 21px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5) !important;
}
.form-rezerwacja .forminator-field-consent .forminator-checkbox-box{
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
}
.form-rezerwacja .forminator-field-consent .forminator-checkbox-box::before{
    color: #566615 !important;
}
.form-rezerwacja .forminator-field-consent .forminator-checkbox__label p{
    font-family: 'GeneralSans-Variable', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    color: #FFF !important;
}
.form-rezerwacja .forminator-field-consent .forminator-checkbox__label a{
    color: #FFF !important;
    text-decoration: underline !important;
    font-family: 'GeneralSans-Variable', sans-serif !important;
}
.form-rezerwacja .forminator-field-consent .forminator-checkbox__label a:hover{
    color: #ADCE29 !important;
}
.form-rezerwacja .forminator-field-html span{
    font-family: 'GeneralSans-Variable', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
}
.form-rezerwacja .forminator-field-html p{
    font-family: 'GeneralSans-Variable', sans-serif !important;
    font-size: 14px !important;
    line-height: 20px !important;
    font-weight: 400 !important;
    color: #FFF !important;
}
.form-rezerwacja .forminator-row-last{
    margin: 0 !important;
    padding-top: 29px !important;
    margin-bottom: -32px !important;
}
.form-rezerwacja .forminator-row-last .forminator-field{
    display: flex !important;
    justify-content: end !important;
}
.form-rezerwacja .forminator-row-last .forminator-button{
    border-radius: 20px !important;
    background: linear-gradient(180deg, #ADCE29 -25%, #7A8D2F 128.13%) !important;
    font-family: 'GeneralSans-Variable', sans-serif !important;
    font-size: 16px !important;
    line-height: 24px !important;
    font-weight: 500 !important;
    color: #FFF !important;
    padding: 20px 42px !important;
    position: relative  !important;
    overflow: hidden !important;
    z-index: 25;
}

/* IKONKA — warstwa 2 (bo musi być przed tekstem) */
.form-rezerwacja .forminator-button.forminator-button-submit::before {
    content: "" !important;
    display: inline-block;
    width: 17px;
    height: 18px;
    background-image: url('/wp-content/uploads/2025/11/Group-4.svg');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 18px;
    vertical-align: middle !important;
    position: relative;
    z-index: 25; /* ikona też na wierzchu */
}

/* KOŁO — najniżej */
.form-rezerwacja .forminator-row-last .forminator-button::after {
    content: "" !important;
    position: absolute !important;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 20px;
    background: rgba(0,0,0,0.05);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.45s ease-out;
    z-index: 24; /* poniżej tekstu i ikonki */
}

.form-rezerwacja .forminator-row-last .forminator-button:hover::after {
    transform: translate(-50%, -50%) scale(50);
}
.form-rezerwacja .forminator-button:hover{
  box-shadow: none !important;
}
@media (max-width:782px){
    .form-rezerwacja .forminator-row-last .forminator-field{
        justify-content: center !important;
    }
    .form-rezerwacja .forminator-row-last .forminator-button{
        width: 261px !important;
    }
    .form-rezerwacja .opcje-tematy .forminator-checkbox{
        width: 45%;
    }
}

/* intro dom */
.dom-makieta{
    z-index: 11 !important;
}
.dom-item{
    cursor: pointer !important;
}
.dom-item img{
  display: inline-block !important;
  animation: pulse 2s ease-in-out infinite;
  transform-origin: center center;
}
.dom-item.open img {
    animation-play-state: paused;
    transform: scale(1.6) !important;
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.6);
  }
  100% {
    transform: scale(1);
  }
}
html body .dom-makieta .dom-inner{
    z-index: 20 !important;
    width: min-content !important;
    cursor: default  !important;
    transform: scale(0);
    transition: 600ms var(--cub1) !important;
}
.dom-inner-tekst{
    white-space: nowrap !important;
    background: linear-gradient(180deg, #ADCE29 -25%, #7A8D2F 128.13%) !important;
    filter: drop-shadow(0 4px 10px rgba(81, 92, 40, 0.10)) drop-shadow(0 17px 17px rgba(81, 92, 40, 0.09)) drop-shadow(0 39px 23px rgba(81, 92, 40, 0.05)) drop-shadow(0 70px 28px rgba(81, 92, 40, 0.01)) drop-shadow(0 109px 30px rgba(81, 92, 40, 0.00)) !important;
}
.dom-inner.open {
    transform: scale(1) !important;
}
@media (max-width:1366px){
    .dom-tekst{
        width: 28% !important;
    }
}
@media (max-width:1025px){
    .dom-tekst{
        width: 45% !important;
    }
}
@media (max-width:768px){
    .dom-tekst{
        width: 100% !important;
    }
    .dom-item{
        display: none !important;
    }
}


/* sekcja 3 */
.blur-element{
    backdrop-filter: invert(5%) blur(2px) !important;
     -webkit-backdrop-filter: invert(5%)  blur(2px)!important;
      box-shadow: 
      0 4px 20px rgba(0,0,0,0.08),        /* zewnętrzny cień */
      inset 0 0 25px rgba(255,255,255,0.8) !important; /* lekki „połysk” */
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
}
/* kalendarz */
.blur-item{
    backdrop-filter:  blur(10px) !important;
    -webkit-backdrop-filter:  blur(10px)!important;
    border-top: 1px solid rgba(255, 255, 255, 0.4);
    border-left: 1px solid rgba(255, 255, 255, 0.4);
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.move-item {
    transition: transform 0.25s ease-out;
    transform-style: preserve-3d;
    will-change: transform;
    transform-origin: center;
}
.parent-3d-wrapper {
    perspective: 800px;
}
@media (max-width: 1025px) {
    .parent-3d-wrapper {
        perspective: none;
    }
    .move-item {
        transform: none !important;
        transition: none !important;
    }
}

/* bubble */
.img-bubble {
    transition: transform 0.6s var(--efect) !important;
}

.img-bubble:hover {
    transform: scale(1.1) !important;
}



/* galeria */
/* slider zjęcia */
.zs-slider-zdjecia .elementor-swiper-button{
    display: none !important;
}
.zs-slider-zdjecia .swiper{
    overflow: visible !important;
}
.zs-slider-zdjecia .swiper-slide{
    padding: 0 30px !important;
    pointer-events: fill !important;
}
.zs-slider-zdjecia .swiper-slide figure{
    height: 670px !important;
    overflow: hidden !important;
}
.zs-slider-zdjecia .swiper-slide figure img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
@media screen and (width < 1366px) {
    .zs-slider-zdjecia .swiper-slide{
        padding: 0 10px !important;
    }
}
@media screen and (width < 1025px) {
    .zs-slider-zdjecia .swiper-slide figure{
        height: 500px !important;
    }
}
@media screen and (width < 768px) {
    .zs-slider-zdjecia .swiper-slide figure{
        height: 250px !important;
    }
    .zs-slider-zdjecia .swiper-slide{
        padding: 0 10px !important;
    }
}

/* karuzela */
.partnerzy {
    position: relative !important;
    overflow: hidden !important;
}
.partnerzy .swiper-wrapper{
    transition-timing-function: linear !important;
    max-height: 100px !important;
    height: 100px !important;
    height: auto !important;
}
.partnerzy .swiper-slide-inner{
    height: 100px !important;
}
.partnerzy .swiper-slide-inner img{
    height: 100% !important;
    width: 100% !important;
    object-fit: contain !important;
}
@media screen and (width < 768px) {
    .partnerzy .swiper-slide-inner{
        height: 70px !important;
    }
}

/* stopka + news */
.social-ikon a{
    transition: 500ms var(--efect) !important;
}






/* newsletter */
.zs-news #forminator-module-1147 {
	display: grid;
	grid-template-columns: 1fr 140px;
	grid-template-rows: auto auto;
	row-gap: 0px;
	margin: 0 !important;
}
/* mail */
.zs-news #forminator-module-1147 .forminator-row:nth-of-type(2) {	
	grid-column: 1;
  	grid-row: 1;
	height: auto !important;
	min-height: 0 !important;
    margin-bottom: 36px !important;
}
.zs-news #forminator-module-1147 .forminator-row .forminator-field input{
	border-radius: 50px 0 0 50px !important;
	padding: 22px 22px 22px 53px !important;
	font-size: 16px !important;
	line-height: 24px !important;
	font-weight: 400 !important;
	color: #000 !important;
    background-color: rgba(0,0,0,0.1) !important;
}
.zs-news #forminator-module-1147 .forminator-row .forminator-field input::placeholder{
	color: #000 !important;
}
.zs-news #forminator-module-1147 .forminator-row .forminator-field input:focus{
	outline: none !important;
}
/* przycisk */
.zs-news #forminator-module-1147 .forminator-row-last{
	grid-column: 2;
	grid-row: 1;
	height: auto !important;
	min-height: 0 !important;
    margin-bottom: 36px !important;
}
.zs-news #forminator-module-1147 .forminator-row-last .forminator-button{
	border-radius: 0px 50px 50px 0px!important;
	padding: 22px 48px 22px 49px !important;
	font-size: 16px !important;
	line-height: 24px !important;
	font-weight: 400 !important;
	overflow: hidden !important;
}
.zs-news #forminator-module-1147 .forminator-row-last .forminator-button:checked,
.zs-news #forminator-module-1147 .forminator-row-last .forminator-button:focus,
.zs-news #forminator-module-1147 .forminator-row-last .forminator-button:hover{
	box-shadow: none !important;
	border-width: 0 !important;
	outline: none !important;
}

/* zgoda */
.zs-news #forminator-module-1147 .forminator-row:nth-of-type(3) {
	grid-column: 1 / 3;
	grid-row: 2;
	height: auto !important;
	min-height: 0 !important;
}
.zs-news #forminator-module-1147 .forminator-row .zgoda .forminator-checkbox__wrapper{
    display: flex;
    justify-content: center !important;
    align-items: center;
    gap: 22px !important;
}
.zs-news #forminator-module-1147 .forminator-row .zgoda .forminator-checkbox-box{
	flex: 0 0 16px !important;
	width: 16px !important;
	height: 16px !important;
	border: 1px solid #000 !important;
    background-color: transparent !important;
}
.zs-news #forminator-module-1147 .forminator-row .zgoda .forminator-checkbox-box:hover{
	border-color: #000 !important;
}
.zs-news #forminator-module-1147 .forminator-row .zgoda .forminator-consent__label{
    margin: 0 !important;
}
.zs-news #forminator-module-1147 .forminator-row .zgoda p{
	font-size: 14px !important;
	line-height: 20px !important;
	font-weight: 400;
    color: #000 !important;
    font-family: 'GeneralSans-Variable', sans-serif !important;
}
.zs-news #forminator-module-1147 .forminator-row .zgoda p a{
    text-decoration: underline !important;
    color: #000 !important;
    font-family: 'GeneralSans-Variable', sans-serif !important;
}
@media screen and (width < 783px) {
	.zs-news #forminator-module-1147 .forminator-row:nth-of-type(2),
	.zs-news #forminator-module-1147 .forminator-row-last,
	.zs-news #forminator-module-1147 .forminator-row:nth-of-type(3) {
		height: auto !important;
		min-height: 0 !important;
	}
}
@media screen and (width < 501px) {
	.zs-news #forminator-module-1147 {
		grid-template-columns: 1fr 130px;
	}
    .zs-news #forminator-module-1147 .forminator-row .forminator-field input{
        border-radius: 30px 0 0 30px !important;
        padding: 20px 28px 20px 28px !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }
	.zs-news #forminator-module-1147 .forminator-row-last .forminator-button{
        border-radius: 0px 30px 30px 0px!important;
        padding: 20px 28px 20px 28px !important;
        font-size: 14px !important;
        line-height: 20px !important;
	}
}
@media screen and (width < 401px) {
	.zs-news #forminator-module-1147 {
		grid-template-columns: 1fr 100px;
	}
	.zs-news #forminator-module-1147 .forminator-row .forminator-field input{
        padding: 16px 0 16px 16px!important;
    }
	.zs-news #forminator-module-1147 .forminator-row-last .forminator-button{
        padding: 16px !important;
	}
}









