/* logok */
.logo-area2,
.logo-area {
    width: 60px;

    padding-bottom: 20px !important;
}

.logo-mobile-menu {
    width: 70px !important;
    padding-top: 15px !important;
}

/* Mobil: kisebb cím a bannerben */
@media (max-width: 575.98px) {
    .banner-content-layout2 h1 {
        font-size: 26px;
        /* finomíts nyugodtan: 24–30px */
        line-height: 1.15;
        letter-spacing: 0;
        /* ha túl szélesnek tűnik */
        word-break: break-word;
    }
}

/* Kis tablet (opcionális finomhangolás) */

@media (min-width: 576px) and (max-width: 767.98px) {
    .banner-content-layout2 h1 {
        font-size: 32px;
        line-height: 1.15;
    }
}


/* slider */
#ensign-nivoslider-3 {
    position: relative;
    width: 100%;
    overflow: hidden;
}

#ensign-nivoslider-3.nivoSlider {
    aspect-ratio: 16/9;
    min-height: 320px;
    /* opcionális, hogy ne legyen túl lapos */
    max-height: 80vh;
}

/* 2) A képek töltsék ki a teret, ne torzuljanak */
#ensign-nivoslider-3.nivoSlider img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 3) Caption 100% overlay legyen, ne tolja le a layoutot */
.slider-direction {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
}

.slider-direction .slider-content {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-direction .slider-btn a {
    pointer-events: auto;
}

/* 4) A sablon alsó díszítő elemeit (ferde sáv) kapcsoljuk ki */
.slider-area.layout1 .bend::before,
.slider-area.layout1 .bend::after,
.slider-area.layout1 .niceties::before,
.slider-area.layout1 .niceties::after {
    content: none !important;
    display: none !important;
    /* background: transparent !important; */
}

/* 5) Mobil tipó */
@media (max-width: 576px) {
    .title-container .big-title {
        font-size: 22px;
        line-height: 1.2;
    }

    .title-container .small-title {
        font-size: 12px;
        letter-spacing: .06em;
    }

    .slider-btn a {
        padding: .55rem 1rem;
        font-size: 14px;
    }
}



/* projects image */
/* Egységes képarány a kártyákon (pl. 16:9) */
.portfolio-layout1 .image-box {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    /* válthatsz 4/3-ra, 3/2-re is */
    overflow: hidden;
    background: #111;
    border-radius: 8px;

}

.portfolio-layout1 .image-box img {
    /* position: absolute; */
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;

    display: block;

}

/* Fallback régi böngészőkre aspect-ratio nélkül */
@supports not (aspect-ratio: 1) {
    .portfolio-layout1 .image-box {
        height: 0;
        padding-top: 56.25%;
    }

    /* 16:9 */
    .portfolio-layout1 .image-box img {
        position: absolute;
        top: 0;
        left: 0;
    }
}


/* contact-map */
.map-embed {
    width: 100%;
    height: 514px;
}

.map-embed iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

/* (ha mobilon alacsonyabb kell) */
@media (max-width: 576px) {
    .map-embed {
        height: 380px;
    }
}

/* Contact details: a linkek NE legyenek kékek */
.contact-info-layout3 .contact-address a,
.contact-info-layout3 .contact-address a:visited {
    color: inherit !important;
    text-decoration: none;
    text-transform: none !important;
}

.contact-info-layout3 .contact-address a:hover,
.contact-info-layout3 .contact-address a:focus {
    color: inherit;
    text-decoration: none;
}


/* padding a services reszbe */
.service-details-area,
.service-contact {
    padding-top: 50px;
}






/* ===== Kiemelt szolgáltatások – egységes kártyamagasság ===== */

/* ===== Featured Services – egyenlő magasság + gutter ===== */
.section-space-less30 .container>.row {
    display: flex;
    /* a col-ok flex itemek lesznek */
    flex-wrap: wrap;
    /* több sorba törhet */
    align-items: stretch;
    /* azonos magasságú oszlopok */
    margin-left: -12px;
    /* gutter negatív margó */
    margin-right: -12px;
}

.service-layout1 {
    transition: transform .2s, box-shadow .2s
}

.service-layout1:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12)
}

.section-space-less30 .row > [class*="col-"]{
/*   padding-left: 12px;
  padding-right: 12px; */
  padding-bottom: 28px; /* <- ez adja a lenti rést */
}

body.home .section-space-less30 .container>.row>[class*="col-"] {
    display: flex;
    flex-wrap: wrap;
}

/* A kártya töltse ki az oszlopot, oszlopirányú belső elrendezéssel */
.section-space-less30 .service-layout1 {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;

}

/* Kép egységes aránnyal (nem nyúlik össze-vissza) */
.section-space-less30 .service-layout1 .image-box {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    /* igény szerint: 16/9 vagy 1/1 */
    margin-bottom: 12px;
}

.section-space-less30 .service-layout1 .image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Tartalom rugalmas – a kártya aljára simul */
.section-space-less30 .service-layout1 .content-box {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
}

.section-space-less30 .service-layout1 .content-box h3 {
    margin-bottom: .35rem;
}

.section-space-less30 .service-layout1 .content-box p {
    margin: 0;
}

/* XS mobilon kicsit szűkebb függőleges rés, ha kell */
@media (max-width: 575.98px) {
    .section-space-less30 .container>.row>[class*="col-"] {
        margin-bottom: 16px;
    }
}









/* Service text blocks – flat style, full width */
.service-details-area .details-layout1 {
    background: transparent;
    box-shadow: none;
    border: 0;
    padding: 0;
    margin: 0 0 24px;
}

.service-details-area .details-layout1 h3 {
    margin: 0 0 8px;
    font-weight: 600;
}

.service-details-area .details-layout1 p {
    margin: 0 0 12px;
}

.service-details-area .details-layout1 ul {
    margin: 0 0 24px 1.25rem;
    padding: 0;
    list-style: disc;
}

.service-details-area .details-layout1 ul li {
    margin: 4px 0;
}

.service-details-area .details-layout1 a {
    text-decoration: none;
}

/* Biztos, ami biztos: minden oszlop teljes szélesség ezen a szakaszon */
.service-details-area .row>[class*="col-"] {
    max-width: 100%;
    flex: 0 0 100%;
}

/* Service details – távolítsuk el az alap bulletet */
.service-details-area .details-layout1 ul {
    list-style: none;
    padding-left: 0;
    margin: 16px 0 0;

}

.service-details-area .details-layout1 ul li {
    margin: 10px 0;
}



/* Mobilon legyen kényelmes belső margó, és szüntessük meg a .row negatív margóját */
@media (max-width: 767px) {
    .service-details-area {
        padding-left: 18px;
        padding-right: 18px;
    }

    .service-details-area .row {
        margin-left: 0;
        margin-right: 0;
    }

    /* Opcionális: kicsit kisebb címek mobilon */
    .service-details-area h3 {
        font-size: 22px;
        line-height: 1.25;
    }

    .service-details-area p {
        font-size: 16px;
        line-height: 1.6;
    }
}

/* ///////////////////////////////////////////////////// */


@media (min-width: 768px) {
    .banner-overlay .cs-center-row {
        display: flex;
        align-items: center;
    }
}

/* Scope: csak a brosúra-blokk */
.banner-overlay .brochure-content-layout1 .wpcf7 form {
    display: grid;
    gap: 12px;
    margin-top: 8px;
    padding-bottom: 80px;
    height: 400px;
    max-width: 380px;
}

/* Inputok egységes kinézete */
.banner-overlay .brochure-content-layout1 .wpcf7 .wpcf7-form-control.cs-input,
.banner-overlay .brochure-content-layout1 .wpcf7 .wpcf7-form-control.cs-textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(0, 0, 0, 0.12);
    /*   border-radius: 12px; */
    padding: 12px 14px;
    font-size: 16px;
    line-height: 1.4;
    color: #333;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02) inset;
}

/* Brochure blokkon belül: fix kezdőmagasság */
/* Csak ebben a blokkban, a konkrét textarea-ra célozunk */
.banner-overlay .brochure-content-layout1 textarea.wpcf7-textarea.cs-textarea[name="your-message"] {
    height: 110px !important;
    /* állítsd amekkorára szeretnéd */
    min-height: 110px !important;
    max-height: 110px !important;
    overflow-y: auto;
    resize: vertical;
    line-height: 1.4;
    padding: 10px 12px;
}

.banner-overlay .brochure-content-layout1 .wpcf7 .wpcf7-form-control::placeholder {
    color: #8c8c8c;
}

/* Fájlmező finomítás */
.banner-overlay .brochure-content-layout1 .wpcf7 input.cs-file[type="file"] {
    width: 100%;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(0, 0, 0, 0.12);
    /*   border-radius: 12px; */
    padding: 10px 12px;
    color: #333;
    font-size: 16px;
}


/*  Submit gomb  Ugyanaz az árnyék mindkét gombon ebben a blokkban */
.banner-overlay .brochure-content-layout1 a.btn-fill-ghost2.cs-btn,
.banner-overlay .brochure-content-layout1 input[type="submit"].btn-fill-ghost2.cs-btn {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: 0 6px 0 rgba(0, 0, 0, .28) !important;
    /* “talp” */
    border-radius: 45px;
    /* egyezzen a felsővel */
    padding: 13px 34px;
    /* egyezzen a felsővel */
    text-transform: uppercase;
    font-weight: 500;
}

/* Visszajelző üzenetek dizájn */
.banner-overlay .brochure-content-layout1 .wpcf7 .wpcf7-response-output {
    margin: 8px 0 0 0;
    border-radius: 10px;
    padding: 10px 12px;
}

.banner-overlay .brochure-content-layout1 .wpcf7 form.sent .wpcf7-response-output {
    background: #eaffef;
    border-color: #b8e6c3;
}

.banner-overlay .brochure-content-layout1 .wpcf7 form.invalid .wpcf7-response-output,
.banner-overlay .brochure-content-layout1 .wpcf7 form.failed .wpcf7-response-output {
    background: #ffe9e9;
    border-color: #f1b5b5;
}

/* Mobil finomhangolás */
@media (max-width: 575.98px) {
    .banner-overlay .brochure-content-layout1 .wpcf7 form {
        max-width: 100%;
    }

}







/* egger slider */
/* EGGER materials slider */
.materials-section .section-title h2 {
    margin-bottom: 8px;
}
/* Materials intro kapja a globális P tipót */
.materials-section .materials-intro {
    margin: 0 auto 20px;
    max-width: 720px;
    text-align: center;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    font-size: var(--wp--preset--font-size--normal, 1rem);
    line-height: 1.7;
    color: #7d8f99;
}

.materials-intro {
    margin: 0 auto 18px;
    max-width: 720px;
}

.material-card {
    position: relative;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .08);
    transition: transform .25s ease, box-shadow .25s ease;
    background: #fff;
}

.material-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
}

.material-img {
    aspect-ratio: 1 / 1;
}

.material-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.material-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 12px 14px;
    color: #fff;
    font-weight: 600;
    letter-spacing: .2px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 100%);
}

.material-caption span {
    text-transform: none;
}

/* Kis margó a karuszel elemek között desktopon */
.materials-carousel .owl-item {
    padding: 2px;
}