.ct-service-box:hover p,
.ct-service-box:hover h3,
.ct-service-box:hover .fas {
	color: #fff;
	transition: color .3s;
}

.my-icon .elementor-icon svg{
	fill: #EF7C00;
	stroke: transparent;
}

.box, .step-box {
	box-shadow: 0 4px 12px rgba(39, 86, 87, 0.1);
  border-radius: 15px;
  padding: 40px 30px;
	background:#fff;
	color:var(--theme-text-color);
	border: 1px solid rgba(0, 0, 0, 0.10);
}

.box:hover {
	transform:translatey(-5px);
	
}
.box:hover p{
	color:#585858;
}

.box .box-link{
	display:block;
	margin-top: 20px;
	color:var(--e-global-color-blocksy_palette_1);
	font-size:16px;
	font-weight:500;
}
.step-box:hover .elementor-widget h3, .step-box:hover .elementor-widget p{
	color:#fff;
}
.step-box:hover .elementor-9{
	 backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
	background:#00000045;
}
.hero-info{
	    padding: 60px 50px 55px;
    border-radius: 36px 36px;
  
            background-image: linear-gradient(to right, #232323, rgb(55 54 54 / 50%), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));

}


.hero-info h1 span{
	color:#EF7C00;
	font-size:64px;
	text-shadow: 0px 0px 10px #2f2b2454;
}
.blur-box{
	 backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
	background:#00000045;
	border-radius:10px;
	padding:10px;
}
.elementor-button-icon{
	background:#EF7C00;
	transform: rotate(-45deg);
	padding: 10px;
  border-radius: 100px;
	margin-left:5px;
	line-height: 1.25;
	transition: all .5s ease;
}

.elementor-button-content-wrapper {
    align-items: center;

}
.elementor-button:hover .elementor-button-icon{
		transform: rotate(0deg);

}
.step-box h3{
	margin-top:30px;
	z-index:100;
}
.step-box {
    position: relative; 
    overflow: hidden;
}

.step-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(/wp-content/uploads/2025/08/back4-1.jpg);
    background-size: cover;
    background-position: center;
    transform: scaleX(0.2);
    transform-origin: center;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    opacity: 0;
    
}

.step-box:hover::before {
    transform: scaleX(1);
    opacity: 1;
}

.step-box_number {
    -webkit-text-stroke: 2px var(--e-global-color-blocksy_palette_1);
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 64px;
    line-height: 1em;
    font-weight: 800;
    color: transparent;
}

.step-box > *:not(.step-box_number) {
    position: relative;
    z-index: 1;
}

.step-box:hover .step-box_number{
	color:transparent!important;
	opacity: 0.20;
	-webkit-text-stroke: 2px #fff;
}
.faq h3{
	font-size: 20px!important;
}
.faq .e-closed{
	color:var(--e-global-color-blocksy_palette_1);
}
.faq.elementor-widget-n-accordion .e-n-accordion-item-title{
	padding:15px!important;
	border-radius:25px;
	
}
.faq.elementor-widget-n-accordion .e-n-accordion-item{
	background-color:#f6f6f6;
		border-radius:25px;

}
.faq.elementor-widget-n-accordion .e-n-accordion-item[open]{
  background:#fff;
  border:1px solid #ddd;
}
.faq .elementor-widget-text-editor{
	padding:0px 5px 5px 5px;
}
.faq.elementor-widget-n-accordion .e-n-accordion-item[open] .e-n-accordion-item-title{
	border:none;
}

@media (max-width:738px){
.service-box figure.elementor-image-box-img{
	position:absolute;
	opacity:0.1;
	right:0;
	top:0;
	}
.hero-info h1 span{
	
	font-size:36px;
	
}
	.elementor-kit-753 h2{
		font-size: 42px;
	}
	.hero-info{
		padding: 35px 20px 40px;
	}
	
}
@media (min-width:738px) and (max-width:1400px){
	.step-box h3{
			font-size:22px;
margin-top: 50px;
	}}
/*Formularz*/
.wpcf7-form-control-wrap input, .wpcf7-form-control-wrap select, .wpcf7-form-control-wrap textarea{
  margin-bottom:10px;
	border-radius:25px;
	color:#000;
	border-color:#d5d8dc;
}
.wpcf7-form-control-wrap textarea:focus{
	border-color: var(--theme-form-field-border-focus-color);
}
@media (min-width:768px){
.form-row {
  display: flex;
  gap: 10px;
}

.form-col {
  flex: 1;
}

.form-col > * {
  display: block;
  width: 100%;
  }}
.e-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  gap: 20px; 
}
.elementor-widget-image-gallery img {
  aspect-ratio: 1/1; 
  object-fit: cover;
	
}
.ct-footer h3{
	font-size:16px;
	color:#fff;
	letter-spacing:1px;
}

.gt-cta blockquote p, .gt-cta a {
	font-family:var(--theme-button-font-family, var(--theme-font-family));
	line-height:1.3!important;
	
}

.gt-cta a{
 border:1px solid #fff;
	padding: 10px 25px;
	border-radius:100px;
	display:block;
	text-align:center;
	text-transform:var(--theme-button-text-transform);
	
	
}
.gt-cta a:hover{
	background-color: #fff;
	color: var(--theme-form-field-border-focus-color);
;
}
.elementor-image-gallery .gallery-item a img {
  transition: transform 0.3s ease, filter 0.3s ease;
  transform: scale(1);
}
.elementor-image-gallery .gallery-item img{
	border-radius:15px;
}
.elementor-image-gallery .gallery-item a:hover img {
  transform: scale(1.02);
  filter: brightness(0.9);
}
.elementor-image-gallery .gallery-item a:hover img {
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.hero-info .elementor-heading-title > span {
  display:inline-block;
  white-space:nowrap;
  overflow:hidden;
  width:0;
  border-right:2px solid currentColor;
  animation:
    heroTyping 1.1s steps(9) forwards,   
    heroCaretOff 1ms linear 1.1s forwards; 
}

@keyframes heroTyping {
  to { width: 9ch; } 
}

@keyframes heroCaretOff {
  to { border-right-color: transparent; }
}

@media (prefers-reduced-motion: reduce){
  .hero-info .elementor-heading-title > span {
    width:auto; border-right:0; animation:none;
  }
}

.cta-banner > .elementor-background-overlay{
  --drift: 25%;
  --drift-dur: 10s;
  will-change: background-position;
  animation: ctaBannerDrift var(--drift-dur) linear infinite alternate;
	opacity:0.1!important;
}

@keyframes ctaBannerDrift{
  from { background-position: 0% 50%; }
  to   { background-position: var(--drift) 50%; }
}

@media (prefers-reduced-motion: reduce){
  .cta-banner > .elementor-background-overlay{ animation: none; }
}


.wpcf7 input[type="submit"] {
    background-color: var(--theme-link-initial-color)!important;
    padding: 9px 30px 9px 30px;
}
.floating-contact-bar {
    display: none;
}

@media (max-width: 768px) {
    .floating-contact-bar {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: #fff;
        padding: 15px;
        box-shadow: 0px 4px 12px 0px rgba(39, 86.00000000000001, 87, 0.2);
        z-index: 9999;
    }

    .floating-contact-btn {
        display: block;
        width: 100%;
        background-color: var(--theme-link-initial-color);
        color: #fff;
        text-align: center;
        padding: 14px;
        font-size: 16px;
        font-weight: 600;
        border-radius: 15px;
        text-decoration: none;
		margin-bottom:1px;
    }
	.floating-contact-btn:hover, .floating-contact-btn:focus{
		color:#fff;
	}
    
}
.grecaptcha-badge {
    display: none;
}
