h1, h2, h3, h4, h5, h6 {
    font-family: 'Poppins' !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    color: #020E4F !important;
}

h1 {
    font-size: 40px !important;
    line-height: 40px !important;
    text-transform: uppercase;
}

h2 {
    font-size: 35px !important;
    line-height: 35px !important;
}

h3 {
    font-size: 30px !important;
    line-height: 42px !important;
}

h4 {
    font-size: 22px !important;
    line-height: 32px !important;
}


.text a, .text a:visited, .text a:active{
    color: var(--custom-yellow) !important;
}

.text a:hover {
    color: var(--custom-blue) !important;
}

.text-based-content p {
    margin-bottom: 1rem;
    font-size: 16px;
    line-height: 24px;
}

.sweet-alert button {
    background-color: var(--custom-yellow) !important;
}

.sweet-alert button.cancel {
    background-color: var(--custom-blue) !important;
}

.main-header .main-menu__logo img {
    width: 168px;
}
.stricky-header.stricky-fixed .main-menu__logo img {
    width: 7rem;
}

.stricky-header.stricky-fixed .main-menu__list>li {
    padding-top: 20px;
    padding-bottom: 20px;
}

.stricky-header.stricky-fixed .main-menu__call-btn-box {
    padding: 0;
}

.services-page {
    padding: 120px 0 100px;
}

@media screen and (max-width: 768px) {
    .about-company, .about-one {
        padding: 20px 0;
    }
    .services-two {
        padding: 310px 0 50px;
    }
    .project-one {
        padding: 40px 0 30px;
    }
    .testimonial-one {
        padding: 40px 0;
    }
    .site-footer__middle {
        padding-top: 0;
    }
    .service-details, .final-result {
        padding: 20px 0 40px;
    }
    .final-result img {
        margin-bottom: 10px;
    }
    .about-three__img {
        margin-bottom: 20px;
    }
    .handle-preloader .animation-preloader .txt-loading .letters-loading {
        font-size: 20px;
    }
    .contact-page {
        padding: 40px 0;
    }
    .contact-page-google-map__inner {
        padding-bottom: 0;
    }
}

.trust-one {
    background-color: #F3F4F8;
}

.trust-one:after {
    content: " ";
    display: block;
    background-color: #EFBD2F;
    height: 100px;
    width: 100%;
    position: relative;
    z-index: 0;
    bottom: 65px;
}

.trust-one .card {
    border-radius: 15px;
    position: relative;
    z-index: 1;
}
.trust-one .card:first-of-type {
    margin-left: 0;
}

.row-flex {
    display: flex;
    flex-wrap: wrap;
}

.trust-one .card img {
    height: 83px;
}

@media screen and (min-width: 769px) {
    .main-slider__wrap {
        padding: 180px 0 200px !important;
    }
}

.btn-svsz {
    text-transform: uppercase;
    text-decoration: underline;
    color: var(--endreox-black) !important;
    font-size: 16px !important;
    font-weight: 700;
    padding-left: 0;
    position: relative;
    letter-spacing: 0.1em;

    /*font-family: 'icomoon' !important;*/
    font-family: 'icomoon' !important;
    speak: never;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.btn-svsz:hover {
    text-decoration: underline !important;
}

.btn-svsz:before {
    font-family: 'icomoon' !important;
    position: absolute;
    right: -30px;
    top: 3px;
    content: "\e928";
    font-size: 22px;
    z-index: 2;
}

.btn-svsz:after {
    content: " ";
    margin-left: 5px;
    background-color: #EFBD30;
    border-radius: 50px;
    border-color: #EFBD30;
    display: inline-block;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 3px;
    z-index: 1;
}

@media screen and (min-width: 1001px) {
    .main-slider__bg {
        background-size: cover !important;
    }
}

.about-one {
    padding: 20px 0 40px;
}

.about-one .section-title {
    margin-bottom: 0;
}

.services-two__single img {
    width: auto !important;
    margin: 0 auto !important;
}

.services-two__title a {
    color: var(--endreox-black) !important;
}

.service-page-img {
    max-height: 20rem;
    width: auto !important;
    display: inline-block;
    vertical-align: bottom;
}

.service-page-title {
    display: inline-block;
    vertical-align: middle;
    padding-left: 10px;
}

.service-details__content {
    margin-top: 15px;
}

.has-p-tags-mt-4 p {
    margin-top: 1.5rem !important;
}

.service-text-wrapper {
    text-align: left;
}

@media screen and (min-width: 992px) {
    .service-text-wrapper img {
        width: 60% !important;
        height: auto !important;
    }
}

@media screen and (max-width: 991px) {
    .service-text-wrapper img {
        width: 75% !important;
        height: auto !important;
    }
}


@media screen and (max-width: 768px) {
    .service-text-wrapper img {
        width: 80% !important;
        height: auto !important;
    }
}


@media screen and (max-width: 500px) {
    .service-text-wrapper img {
        width: 100% !important;
        height: auto !important;
    }
}

/* --------------------------------------------------
   CTA gombsáv (szolgáltatás aloldalak + blogcikkek)
   -------------------------------------------------- */
.cta-sav {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 35px;
}

.cta-sav .thm-btn {
    text-align: center;
}

/* A szöveg fölötti példány: a szöveg előtt áll, ezért alul kell a térköz. */
.cta-sav.cta-sav--top {
    margin-top: 0;
    margin-bottom: 30px;
}

@media screen and (max-width: 575px) {
    .cta-sav .thm-btn {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
    }
}


/* --------------------------------------------------
   Blog listaoldal (/blog)
   -------------------------------------------------- */
.article-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 30px;
    padding: 25px 25px 30px;
    text-align: left;
}

.article-card__img {
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 8px;
}

.article-card__img a,
.article-card__img picture,
.blog-details__img picture {
    display: block;
}

/* A szolgáltatás-kártyák `.services-two__single img { width: auto !important }`
   szabálya a blog kártyaképre is ráhúzódna — a borítókép viszont teljes
   szélességű, ezért itt felül kell írni. */
.article-card .article-card__img img {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 8px;
    transition: all 500ms ease;
}

.article-card:hover .article-card__img img {
    transform: scale(1.05);
}

.article-card .services-two__title {
    margin-top: 20px;
}

.article-card .services-two__text {
    margin-bottom: 0;
}

.article-card__read-more {
    margin-top: auto;
    padding-top: 18px;
}

.article-card .blog-page__date {
    left: 15px;
    bottom: 15px;
    height: 68px;
    width: 68px;
    border-radius: 6px;
}

.article-card .blog-page__date p {
    font-size: 26px;
    line-height: 26px;
}

.article-card .blog-page__date span {
    font-size: 13px;
    line-height: 16px;
    letter-spacing: 0.05em;
}


/* --------------------------------------------------
   Blog lapozó
   -------------------------------------------------- */
.blog-page__pagination {
    padding-top: 30px;
}

.blog-page__pagination .pg-pagination {
    margin: 0;
    padding: 0;
}

.blog-page__pagination .pg-pagination li.active a,
.blog-page__pagination .pg-pagination li a:hover {
    background-color: var(--endreox-base) !important;
    color: var(--endreox-black) !important;
    border-color: var(--endreox-base) !important;
}

.blog-page__pagination .pg-pagination li.disabled a {
    opacity: .45;
    pointer-events: none;
}


/* --------------------------------------------------
   Blog cikkoldal (/blog/{slug})
   -------------------------------------------------- */
.blog-details__img {
    overflow: hidden;
    border-radius: 8px;
}

.blog-details__img img {
    width: 100%;
    border-radius: 8px;
}

.blog-details__meta li span {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 18px;
    font-weight: 500;
    color: #50658f;
}

.blog-details__meta li span i {
    font-size: 21px;
    color: var(--endreox-black) !important;
    margin-right: 12px;
}

@media screen and (max-width: 575px) {
    .blog-details__meta {
        justify-content: flex-start;
    }

    .blog-details__meta li + li {
        margin-left: 30px;
    }

    .blog-details__meta li span {
        font-size: 16px;
    }
}

/* A cikk címe: a globális h1 (40px, nagybetűs) egy hosszú blogcímnél
   olvashatatlanul erős — a szolgáltatás aloldalak címméretét vesszük át. */
.blog-details__title-1 {
    font-size: 30px !important;
    line-height: 40px !important;
    text-transform: none;
    margin-bottom: 20px;
}

/* Cikktörzs: a WYSIWYG-ből jövő alcímek és bekezdések hosszú szöveghez
   igazítva (a globális h2 35px/35px display-méret, nem folyó szöveghez való). */
.blog-details .text-based-content h2 {
    font-size: 24px !important;
    line-height: 34px !important;
    margin-top: 36px;
    margin-bottom: 12px;
}

.blog-details .text-based-content h3 {
    font-size: 20px !important;
    line-height: 30px !important;
    margin-top: 28px;
    margin-bottom: 10px;
}

.blog-details .text-based-content p {
    font-size: 17px;
    line-height: 29px;
}

.blog-details .text-based-content ul,
.blog-details .text-based-content ol {
    margin-bottom: 1rem;
    padding-left: 1.25rem;
}

.blog-details .text-based-content li {
    font-size: 17px;
    line-height: 29px;
}

/* 7 menüpont (GYIK + Blog) mellett a téma menüközei 1200–1399px között
   kitolnák a telefonszámot a fejléc második sorába. A téma !important-tal
   állítja a közt, ezért itt is az kell. Sávonként mért értékek
   (a legnagyobb köz, ami még kifér, némi ráhagyással). */
@media only screen and (min-width: 1200px) and (max-width: 1239px) {
    .main-menu .main-menu__list > li + li,
    .stricky-header .main-menu__list > li + li {
        margin-left: 12px !important;
    }
}

@media only screen and (min-width: 1240px) and (max-width: 1339px) {
    .main-menu .main-menu__list > li + li,
    .stricky-header .main-menu__list > li + li {
        margin-left: 20px !important;
    }
}

@media only screen and (min-width: 1340px) and (max-width: 1399px) {
    .main-menu .main-menu__list > li + li,
    .stricky-header .main-menu__list > li + li {
        margin-left: 35px !important;
    }
}

/* AEO rövid válasz doboz — a főcím alatt, jól elkülönítve (SEO panel
   "Rövid válasz (AEO)" mezője). A következő szekció saját felső térközét
   megtartjuk, ezért itt csak felül van padding. */
.aeo-answer-section {
    padding-top: 60px;
}

.aeo-answer {
    background: #f6f7fb;
    border-left: 5px solid var(--custom-yellow);
    border-radius: 4px;
    color: var(--custom-black);
    font-size: 18px;
    line-height: 30px;
    padding: 24px 28px;
}

.blog-details .aeo-answer {
    margin: 10px 0 30px;
}

@media only screen and (max-width: 767px) {
    .aeo-answer-section {
        padding-top: 40px;
    }

    .aeo-answer {
        font-size: 16px;
        line-height: 27px;
        padding: 18px 20px;
    }
}

/* Fejléc főcím: a page-header címe H1 lett (cikkoldalon div, mert ott a
   cikk címe a H1). A korábbi H2 megjelenését tartja: a globális h1 szabály
   (40px, nagybetűs) itt nem kell, a téma .page-header__inner h2 szabálya
   pedig csak h2-re vonatkozik. */
.page-header__inner h1,
.page-header__inner .page-header__title {
    font-family: 'Poppins' !important;
    font-size: 35px !important;
    line-height: 35px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    text-transform: none;
    color: var(--endreox-white) !important;
    margin-bottom: 7px;
}

/* --------------------------------------------------
   Gyakori kérdések oldal (/gyakori-kerdesek)
   A téma accordion-ja (.faq-one-accrodion) h4 címre van stílusozva, itt a
   kérdés H2 (oldalszerkezet) — ugyanazt a megjelenést kapja. A globális
   h2 szabály !important, ezért itt is az kell.
   -------------------------------------------------- */
.faq-page .faq-one-accrodion .accrodion {
    background: #f6f7fb;
    border-radius: 4px;
}

.faq-page .faq-one-accrodion .accrodion-title {
    padding-top: 16px;
    padding-bottom: 16px;
}

.faq-page .faq-one-accrodion .accrodion-title h2 {
    margin: 0;
    font-size: 20px !important;
    line-height: 28px !important;
    color: var(--custom-blue) !important;
    position: relative;
}

.faq-page .faq-one-accrodion .accrodion-title h2::before {
    content: "\f067";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 15px;
    color: var(--custom-black);
    position: absolute;
    top: 50%;
    left: -38px;
    transform: translateY(-50%);
}

.faq-page .faq-one-accrodion .accrodion.active .accrodion-title h2::before {
    content: "\f068";
}

.faq-page .faq-one-accrodion .accrodion-content {
    padding-bottom: 20px;
}

.faq-page .faq-one-accrodion .accrodion-content p {
    font-size: 17px;
    line-height: 29px;
}

.faq-page .cta-sav {
    margin-top: 40px;
}

@media only screen and (max-width: 767px) {
    .faq-page .faq-one-accrodion .accrodion-title h2 {
        font-size: 18px !important;
        line-height: 26px !important;
    }
}
