/*
 Theme Name:     LTMTF
 Description:    Divi Child Theme
 Template:       Divi
 Version:        1.0.0
*/


:root {
    --dark-green:#264653;
    --green:#2E9D8F;
    --yellow:#DCD17B;
    --orange:#EAB269;
    --red:#E07F4C;
} 

.et_pb_row {
    width:90%;
}

.title h1 {
    font-size:100px;
    line-height:1;
    font-weight:700;
}

.title h2 {
    font-size:50px;
    font-weight:700;
     line-height:1.1;
}

.title.lighter h2 {
     font-weight:600;
    
}

.title h3 {
    font-size:40px;
    font-weight:600;
    line-height:1.1;
}

.title h4 {
    font-size:26px;
    font-weight:500;
    line-height:1.1;
}

.yellow {
    color: var(--yellow);
}

.btn {
    font-size:14px;
    font-weight:600;
    padding:14px 50px 14px 30px;
    border-radius:30px;
    text-decoration:none;
    display: inline-block;
    line-height:20px;
}

.btn::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url('/wp-content/uploads/2025/07/arrow-right2.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    margin-left: 10px;
    vertical-align: middle;
    transition: all 0.3s;
    position: absolute;
}

.btn:hover::after {
    transform: translateX(8px); 
}

.btn.btn-light {
    background-color:var(--yellow);
    color:var(--dark-green);
}

.btn.btn-light:hover {
    background-color:var(--orange);
    /* color:#ffffff; */
}

.btn.btn-transparent {
    background-color:transparent;
    color:#ffffff; 
    border:2px solid #ffffff;
}

.btn.btn-transparent-dark {
    background-color:transparent;
    color:var(--dark-green); 
    border:2px solid var(--dark-green);
}

.btn.btn-transparent::after {
    background-image: url('/wp-content/uploads/2025/07/arrow-right-white.svg');
}

.btn.read-more {
    font-size:16px;
    color:#1a1a1a;
}

.btn.read-more-white {
    font-size:16px;
    color:#ffffff;
}

.btn.read-more-white::after {
    background-image: url('/wp-content/uploads/2025/07/arrow-right-white.svg');
}

.back-yellow {
    background-color:var(--yellow);
}

.back-orange {
    background-color:var(--orange);
}

.back-red {
    background-color:var(--red);
}

.back-green {
    background-color:var(--green);
}

.back-black {
    background-color:#1a1a1a;
}

.centra {
    display:flex;
    flex-direction: column;
    justify-content: center;
}



@media (max-width:1500px) {
    .title h1 {
        font-size:80px;
    }
}

@media (max-width:1240px) {
    .title h1 {
        font-size:60px;
    }
}

@media (max-width:980px) {
      #hero .et_pb_row_1 {
        top: 20%;
        bottom: auto;
        left: 5%;
        right: auto;
    }

    .title h2 {
        font-size: 44px;
       
    }

    .row-reverse {
        display: flex;
        flex-direction: column-reverse;
        
    }
}

@media (max-width:767px) {
    .title h1 {
        font-size:40px; 
    }

    .title h2 {
        font-size: 36px;
       
    }

    .title h3 {
    font-size:30px;
    
}

    #hero .btn {
        font-size:13px;
        padding:12px 40px 12px 20px;
    }

    #hero .et_pb_row_1 {
        top: 34%;
        bottom: auto;
        left: 5%;
        right: auto;
}
}

@media (max-width:479px) {
    .btn {
        padding:12px 40px 12px 20px;
    }
}
 

/* menu */
#main-header .et_mobile_menu {
    background-color: var(--green)!important;
    border-radius:20px;
}


.mobile_menu_bar:before {
    color:#ffffff!important;
}

.container {
    width:90%;
}

.container.et_menu_container {
    max-width: none;
    padding-bottom:10px;
}

#et-top-navigation {
    font-weight: 500;
}

body.et_pb_svg_logo #logo {
    height:94px;
}

.menu-btn a {
    font-size:14px;
    font-weight:500;
    padding:10px 30px!important;
    border-radius:30px;
    text-decoration:none;
    display: inline-block;
    line-height:20px;
    background-color:var(--yellow);
    color:var(--dark-green)!important;
}

#top-menu-nav>ul>li>a:hover {
    opacity:1!important;
    color:var(--yellow);
}

.menu-btn a:hover {
    background-color:var(--orange);
    /* color:#ffffff!important; */
}

.et-fixed-header #top-menu .menu-btn a {
    color:var(--dark-green)!important;
}

@media (max-width:1240px) {
    body.et_pb_svg_logo #logo {
    height:60px;
}
}

@media (max-width:1140px) {
    .menu-btn a {
    font-size: 12px;
    padding:10px 20px!important;
    }
}

/* end menu */

/* home */

.oferta-box {
    border-radius:14px;
    padding:40px;
    font-weight:300;
    /* display: flex;
    flex-direction: column;
    justify-content: space-between; */
}

.oferta-box h3 {
    font-weight:600;
    font-size:40px;
    line-height:1.1;
    color:#1a1a1a;
 
} 

.oferta-box h3 span {
    font-size:20px;
} 


.oferta-box .et_pb_heading {
    height:160px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-bottom:2px solid #1a1a1a;
    padding-bottom:10px;
}

.oferta-box .subtitle {
    font-size:14px;
    font-weight:500;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.oferta-box .content {
    height:70px; 
}

.oferta-dark .oferta-box .et_pb_heading {
    border-bottom:2px solid #ffffff;
}

.podpis h4 {
    font-size:24px;
    font-weight:600;
    line-height:1.1;
    margin-top:15px;
}

.podpis span {
    line-height:1.2;
    font-size:14px;
    color:#999999;
    display: block;
}

.podpis img {
    margin-top:15px;
}

.podpis {
    position: absolute;
}

.podpis.pawel {
    left:0;
    bottom:240px;
}

.podpis.marcin {
    left:260px;
    top:0;
}

.podpis.aga {
    left:640px;
    top: 40px;
}

.podpis.bart {
    right:100px;
    top:0;
} 

#numbers .et_pb_column {
    display: flex;
    justify-content: space-between;
}

#numbers .et_pb_number_counter {
    width:30%;
}


.point {
    width: 20px;
    height: 20px;
    background: red;
    border-radius: 50%;
    position: absolute;
    cursor: pointer;
    box-shadow: 0 0 10px rgba(255,0,0,0.7);
    animation: pulse 1.5s infinite;
    transition: background 0.3s ease;
}

.point.active {
    background: black;
    animation: none;
}

@keyframes pulse {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.5); opacity: 0.6; }
    100% { transform: scale(1); opacity: 1; }
}


.tooltip-container {
    position: absolute;
    top: -500px; 
    left: 50%;
    transform: translateX(-50%);
    z-index: 1000;
}

.tooltip {
    background: #fff;
    padding: 15px 20px;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    min-width: 300px;
    display: none;
    opacity: 0;
    transform: translateY(-20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
    position: relative;
}

.tooltip.show {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.tooltip h4 {
    margin: 0 0 5px;
    font-size: 22px;
    font-weight:600;
}

.tooltip span {
    color: #555;
    font-size: 14px;
    line-height:1.4;
    display: block;
}

.close-btn {
    position: absolute;
    top: 8px;
    right: 10px;
    font-size: 20px;
    color: #999;
    cursor: pointer;
}



@media (max-width:1360px) {
    .oferta-box h3 {
        font-size: 30px;
        
    }

    .podpis h4 {
        font-size: 20px;
        font-weight: 600;
        line-height: 1.1;
        margin-top: 15px;
    }

    .podpis.marcin {
        left:200px;
        top:0;
    }

    .podpis.aga {
        left:540px;
        top: 40px;
    }

    .oferta-box .et_pb_heading {
        height:160px;
    }

    .oferta-box {
        padding:40px 20px;
    }
}

@media (max-width:1240px) {
    #numbers .et_pb_number_counter .percent p {
        font-size:60px;
    }

    .oferta-box .et_pb_heading {
        height:140px;
    }
}

@media (max-width:1140px) {
    
    .oferta-box .content {
        font-size:13px;
        line-height:1.4;
    }

    .content-box {
        font-size:14px;
        line-height:1.5;
    }

    .oferta-box {
        padding:20px;
    }

    .oferta-box h3 {
        font-size:26px;
    }
   
    .podpis.marcin {
        left:100px;
        top:0;
    }

    .podpis.aga {
        left:440px;
        top: 40px;
    }

    .podpis.bart {
        right:50px;
        top:0;
    } 
}


@media (max-width:980px) {
    .oferta-box .et_pb_heading {
        height:100px;
    }

    .point.pawel {
        top:200px;
        left:8%;
    }

    .point.marcin {
        top:192px;
        left:36%;
    }

    .point.aga {
        top:292px;
        left:60%;
    }

    .point.bart {
        top:180px;
        right:10%;
    }
    
}


@media (max-width:767px) {
    #numbers .et_pb_number_counter .percent p {
        font-size:40px;
        line-height:50px;
    }

    #numbers .et_pb_number_counter .percent {
        height:50px;
    }

    #numbers .et_pb_number_counter h3 {
        font-size:14px;
        line-height:1.4;
    }

    .oferta-box .et_pb_heading {
        height:100px;
    }

    .oferta-box h3 {
        font-size: 30px;
        
    }

    .tooltip-container {
        
        top: -300px; 
        
    }
}

@media (max-width:600px) {
     .tooltip-container {
        
        top: -100px; 
        
    }

    .point.pawel {
        top:100px;
       
    }

    .point.marcin {
        top:92px;
       
    }

    .point.aga {
        top:192px;
       
    }

    .point.bart {
        top:80px;
        
    }
}

@media (max-width:479px) {
     .tooltip-container {
        
        top: -30px; 
        
    }

    
}

/* end home */


/* karuzela klientow */

.klient-carousel-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

* Nagłówek karuzeli */
.klient-carousel-header {
    display: flex;
    justify-content: flex-end;
    padding: 10px;
}

/* Nawigacja obok siebie */
.klient-carousel-nav {
    display: flex;
    gap: 30px;
    justify-content: flex-end;
}

.swiper-button-prev,
.swiper-button-next {
    position: relative; 
    inset: unset;
    margin: 0;
    padding: 15px;
    background-color: var(--green);
    border-radius: 30px;
    font-size: 14px;
    cursor: pointer;
    width:60px;
    height:60px;
    color:var(--yellow);
}

.swiper-button-next:after, .swiper-button-prev:after {
    font-size:30px;
}

.klient-swiper {
    width: 100%;
}

.swiper-wrapper {
    display: flex;
}

.swiper-slide.klient-slide {
    width: 400px !important;
    flex-shrink: 0;
    box-sizing: border-box;
    padding-left: 20px;
    padding-right:20px;
    padding-bottom:30px;
    background-color:#27565E;
    border-radius: 20px;
}

.klient-thumbnail {
    height:340px;
    margin-right:-20px;
    margin-left:-20px;
    margin-bottom:20px;
}

.klient-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius:20px;
}

.klient-title {
    margin: 10px 0 5px;
    font-size:26px;
    font-weight:600;
    color:#ffffff;
}

.klient-content {
    font-size: 14px;
    line-height:1.5;
    color:#ffffff;
}

.swiper-pagination {
    text-align: center;
    margin-top: 15px;
    position: relative; /* <- usuwa domyślne absolute Swipera */
    z-index: 1;
}

@media (max-width:980px) {
    .klient-carousel-nav {
        justify-content: center;
        margin-top:20px;
        gap:20px;
    }

    .swiper-slide.klient-slide {
        width: 300px !important;
       padding-bottom:10px;
    }

    .klient-thumbnail {
        height: 240px;
        margin-right: -20px;
        margin-left: -20px;
        margin-bottom: 20px;
    }

 

    
}


/* end karuzela klientow */

/* steps */

#steps .et_pb_column {
    display: flex;
    flex-direction:row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap:2%;

}

#steps .et_pb_blurb {
    padding: 40px;
    text-align: center;
    background-color: #ffffff;
    border-radius: 20px;
    /* box-shadow: 0 0 18px rgba(0, 0, 0, 0.1); */
    border:1px solid #e0e0e0;
    width:31%;
}

/* #steps .et_pb_blurb .et_pb_main_blurb_image img {
    max-width:220px;
} */
 

#steps .et_pb_blurb .et_pb_module_header {
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    
}

#steps .et_pb_blurb .et_pb_blurb_description {
    font-size: 20px;
    line-height: 1.2;
    color: #999999;
}

.arrow1  {
    position: absolute;
    left:40%;
    bottom:0;;
}

.arrow2 {
    position: absolute;
    left:5%;
    bottom:0;;
}
 
.et_pb_image.arrow1 .et_pb_image_wrap img[src*=".svg"],
.et_pb_image.arrow2 .et_pb_image_wrap img[src*=".svg"] {
    width:340px;
}

.steps {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 80%;
  /* max-width: 1100px; */
  margin: auto;
  position: relative;
}

.step {
  flex: 1;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  position: relative;
  line-height: 1em;
  text-transform: uppercase;
  letter-spacing: 2px;
  color:var(--red);
  padding-left:20px;
  padding-right:20px;
  white-space:nowrap;
}


.arrow {
  width: 33%;
  height: 0;
  border-top: 2px dashed var(--green);
  position: relative;
}

.arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: -11px; 
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 16px solid var(--green);
}

@media (max-width:1240px) {
    #steps .et_pb_blurb {
    padding: 30px;
    }

    #steps .et_pb_blurb .et_pb_module_header {
        font-size: 22px;
       
        
    }

#steps .et_pb_blurb .et_pb_blurb_description {
        font-size: 16px;
        
    }
}

@media (max-width:980px) {
    .step {
    
    font-size: 20px;
    }

    #steps.et_pb_row {
        width:980px;
        margin-left:5%;
        overflow-x: auto;
    }
}

/* end steps */


/* newsy */

#news .et_pb_ajax_pagination_container article .post-meta {
    font-size:12px;
    grid-column: 2 / 3; 
    grid-row: 1 / 2; 
    align-self: end;
    line-height: 1;
    padding-bottom: 0;
    margin-bottom: 0;
    padding-right:16px;
    padding-left:24px;
}

#news .et_pb_ajax_pagination_container article .entry-title {
    font-size:24px;
    font-weight:700;
    line-height: 1.2;
    grid-column: 2 / 3; 
    grid-row: 2 / 3; 
    align-self: center;
    padding-right:16px;
    padding-left:24px;
    
}

#news .et_pb_ajax_pagination_container article .post-content {
    grid-column: 2 / 3; 
    grid-row: 3 / 4; 
    align-self: start;
    padding-right:16px;
    padding-left:24px;
}

#news .et_pb_ajax_pagination_container article .post-content p {
    font-size:14px;
    line-height:1.4;
}

#news .et_pb_ajax_pagination_container {
    display:flex;
    flex-wrap:wrap;
    gap:3%;
     
}

#news .et_pb_ajax_pagination_container article {
    width:48.5%;
    margin-bottom:3%;
    display: grid;
    grid-template-columns: 2fr 3fr; 
    background-color: #ffffff;
    align-items: start;
    border-radius:30px;
    padding:14px;
}



#news .et_pb_ajax_pagination_container article .entry-featured-image-url {
    width:100%;
    height:320px;
    margin-bottom: 0;
    grid-column: 1 / 2; 
    grid-row: 1 / span 3;
}

#news .et_pb_ajax_pagination_container article .entry-featured-image-url img {
    width:100%;
    height:100%;
    object-fit: cover;
    border-radius:20px;
}



.et_pb_ajax_pagination_container>div {
    width:100%;
    padding-top:20px;
    text-align: center;
}

.blog-sidebar .et_pb_salvattore_content {
    padding-top:0;
}

.wp-pagenavi {
    padding-top:15px;
}

.wp-pagenavi a, .wp-pagenavi span {
    border:0;
}

.wp-pagenavi span.pages {
    font-size:14px;
    color:#999;
}

.wp-pagenavi span.current {
    font-weight:700;
    border:1px solid #ddd;
    font-weight:700;
    padding:2px 6px;
    width:20px;
}

.wp-pagenavi a {
    color:var(--text-color);
}

@media only screen and (max-width:980px) {
    #news .et_pb_ajax_pagination_container article {
        width:100%;
        margin-bottom:20px;
    }

    #news article:nth-child(4n+3) .entry-featured-image-url, /* Każdy nieparzysty rząd */
#news article:nth-child(4n+4) .entry-featured-image-url {
  grid-column: 1 / 2; /* Obrazek w prawej kolumnie */
}

#news article:nth-child(4n+3) .post-meta,
#news article:nth-child(4n+3) .entry-title,
#news article:nth-child(4n+3) .post-content,
#news article:nth-child(4n+4) .post-meta,
#news article:nth-child(4n+4) .entry-title,
#news article:nth-child(4n+4) .post-content {
  grid-column: 2 / 3; /* Treść w lewej kolumnie */
}

   
}

@media only screen and (max-width:479px) {
    #news .et_pb_ajax_pagination_container article .entry-featured-image-url {
        height:200px;
    }

    #news .et_pb_ajax_pagination_container article {
        width:100%;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    #news .et_pb_ajax_pagination_container article .post-meta {
        align-self: start;
        
    }

    

    #news .et_pb_ajax_pagination_container {
        display:block;
       
        
    }

    .wp-pagenavi span.pages {
       display: block;
    }
}

/* end newsy */

 
/* oferta */

.hero-box .et_pb_module_header {
    font-size:22px;
    font-weight:600;
}

.hero-box .et_pb_blurb_description {
    font-size:14px;
   line-height:1.5;
   opacity:.7;
}

@media only screen and (max-width:767px) {
    .hero-box .et_pb_module_header {
        font-size:18px;
       
    }

    .hero-box .et_pb_blurb_description {
        font-size:13px;
       
    }
}

/* end oferta */


/* footer */

.kontaktowe {
    font-size:26px;
    color:#ffffff;
    line-height:1.4;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
   
}

.kontaktowe a {
    font-weight:600;
    color:#ffffff;
}

.footer-dflex {
    display:flex;
    flex-direction:column;
    justify-content: space-between;
    padding-top:30px;
}

.formularz input:not([type="image" i], [type="range" i], [type="checkbox" i], [type="radio" i]) {
    width:100%;
    border:1px solid #2E9D8F;
    background-color: transparent;
    color: #f7f7f7;
    font-size:14px;
    padding:10px 15px;
    border-radius:30px;
    margin-bottom:15px;
}

.formularz textarea {
    width:100%;
    border:1px solid #2E9D8F;
    background-color: transparent;
    color: #f7f7f7;
    font-size:14px;
    padding:15px;
    border-radius:30px; 
    margin-bottom:15px;
    max-height:150px;
}

.formularz .wpcf7-acceptance {
    color:#ffffff;
    line-height:1.3;
    display:block;
    font-size:14px;
}

.formularz input.wpcf7-submit {
    background-color: var(--yellow);
    padding:14px;
    color:var(--dark-green);
    font-weight:500;
    font-size:16px;
}

 .wpcf7 .formularz input::placeholder,
 .wpcf7 .formularz textarea::placeholder {
    color: #f7f7f7; 
    opacity: 1; 
}

.wpcf7 br {
    display: inline;
    content: "";
}

.formularz .wpcf7-not-valid-tip {
    font-size:14px;
    line-height:1;
    padding:0;
    margin:0;
    position:absolute;
    right:15px;
    top:5px;
}

 
/* end footer */
 