/**
 * NFB cikk-elrendezés (Tudástár / hosszú bejegyzések).
 *
 * Ezt a stíluslapot a téma csak azokon a bejegyzéseken tölti be, amelyek
 * tartalma tartalmazza a `.nfb-article-full` osztályt (lásd functions.php).
 * Így a cikkbe MÁR NEM kell <style> blokkot másolni – elég a HTML-markup
 * egy "Egyéni HTML" (Custom HTML) blokkban.
 *
 * A szabályok szándékosan tartják meg az !important jelöléseket, hogy a
 * bejegyzés-tartalomra alkalmazott általános téma- és szerkesztő-stílusokat
 * biztosan felülírják.
 */

/* ===== NFB ARTICLE RESET ===== */

/* A cikk a teljes tartalomsávot használja, nem a téma 760px-es
   szövegoszlopát: a single.php a bejegyzést egy .content.article-body
   dobozba teszi, ezért ezt kiszélesítjük és középre zárjuk. */
.content.article-body {
    width: 100% !important;
    max-width: none !important;
}

.nfb-article-full {
    width: 100% !important;
    max-width: var(--container-max, 1280px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 30px 20px 90px !important;
    box-sizing: border-box !important;
    color: #263438 !important;
    font-family: inherit !important;
    line-height: 1.7 !important;
}

.nfb-article-full * {
    box-sizing: border-box !important;
}

.nfb-article-full p {
    font-size: 18px !important;
    line-height: 1.75 !important;
    margin: 0 0 22px !important;
}

.nfb-article-full h2 {
    color: #173f47 !important;
    font-size: clamp(34px, 4vw, 52px) !important;
    line-height: 1.08 !important;
    letter-spacing: -1.5px !important;
    margin: 0 0 24px !important;
}

.nfb-article-full h3 {
    color: #173f47 !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
    margin: 0 0 12px !important;
}

.nfb-article-full section {
    margin: 0 auto 95px !important;
}

.nfb-narrow {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.nfb-kicker {
    color: #c98224 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.6px !important;
    margin-bottom: 16px !important;
}

.nfb-intro-title {
    font-size: clamp(44px, 5.5vw, 68px) !important;
    line-height: 1.03 !important;
    letter-spacing: -2px !important;
    margin-bottom: 28px !important;
}

.nfb-gold {
    color: #dfa143 !important;
}

.nfb-lead {
    font-size: 22px !important;
    line-height: 1.65 !important;
    color: #59696d !important;
}

.nfb-highlight {
    background: #edf3f2 !important;
    border-left: 5px solid #dfa143 !important;
    border-radius: 0 22px 22px 0 !important;
    padding: 30px 34px !important;
    margin: 38px 0 !important;
    color: #173f47 !important;
    font-size: 21px !important;
}

.nfb-dark-section {
    background: #173f47 !important;
    color: white !important;
    padding: 55px !important;
    border-radius: 30px !important;
}

.nfb-dark-section h2,
.nfb-dark-section h3 {
    color: white !important;
}

.nfb-dark-section p {
    color: #dbe5e4 !important;
}

.nfb-journey {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 12px !important;
    margin: 35px 0 !important;
}

.nfb-step {
    background: #244d54 !important;
    padding: 22px 14px !important;
    border-radius: 16px !important;
    text-align: center !important;
    color: #fff !important;
}

.nfb-step-number {
    display: block !important;
    color: #dfa143 !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    margin-bottom: 8px !important;
}

.nfb-question {
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 18px !important;
    padding: 28px !important;
    text-align: center !important;
    font-size: 24px !important;
    color: #fff !important;
}

.nfb-image-wrap {
    max-width: 1000px !important;
    margin: 0 auto !important;
    border-radius: 28px !important;
    overflow: hidden !important;
    box-shadow: 0 22px 60px rgba(20,55,60,.18) !important;
    background: #173f47 !important;
}

.nfb-image-wrap img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

.nfb-caption {
    max-width: 760px !important;
    margin: 18px auto 0 !important;
    text-align: center !important;
    color: #748286 !important;
    font-size: 14px !important;
}

.nfb-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
}

.nfb-card {
    border-radius: 24px !important;
    padding: 34px !important;
    min-height: 245px !important;
    background: #edf3f2 !important;
}

.nfb-card-dark {
    background: #173f47 !important;
    color: white !important;
}

.nfb-card-dark h3 {
    color: white !important;
}

.nfb-card-dark p {
    color: #dbe5e4 !important;
}

.nfb-percent {
    display: block !important;
    color: #dfa143 !important;
    font-size: 50px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    margin-bottom: 22px !important;
}

.nfb-center {
    text-align: center !important;
}

.nfb-statement {
    background: #f4f7f6 !important;
    padding: 65px 40px !important;
    border-radius: 30px !important;
    text-align: center !important;
}

.nfb-statement-title {
    max-width: 850px !important;
    margin: 0 auto !important;
    font-size: clamp(34px, 4vw, 52px) !important;
    line-height: 1.15 !important;
    color: #173f47 !important;
    font-weight: 800 !important;
}

.nfb-mini-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 14px !important;
    margin: 34px 0 !important;
}

.nfb-mini {
    background: #edf3f2 !important;
    border-radius: 15px !important;
    padding: 20px !important;
    color: #173f47 !important;
    font-weight: 600 !important;
}

.nfb-summary {
    background: #edf3f2 !important;
    padding: 60px 45px !important;
    border-radius: 30px !important;
    text-align: center !important;
}

.nfb-flow {
    margin-top: 35px !important;
    color: #173f47 !important;
    font-size: 24px !important;
    font-weight: 800 !important;
}

.nfb-cta {
    background: #173f47 !important;
    padding: 60px 45px !important;
    border-radius: 30px !important;
    color: white !important;
    text-align: center !important;
}

.nfb-cta h2 {
    color: white !important;
}

.nfb-cta p {
    color: #dbe5e4 !important;
    max-width: 700px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.nfb-button {
    display: inline-block !important;
    background: #dfa143 !important;
    color: #173037 !important;
    padding: 17px 34px !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 18px !important;
}

.nfb-faq-item {
    border-bottom: 1px solid #dce4e3 !important;
    padding: 25px 0 !important;
}

@media(max-width: 800px) {

    .nfb-article-full {
        width: 100% !important;
        max-width: none !important;
        padding: 20px 12px 70px !important;
    }

    .nfb-grid {
        grid-template-columns: 1fr !important;
    }

    .nfb-journey {
        grid-template-columns: 1fr !important;
    }

    .nfb-mini-grid {
        grid-template-columns: 1fr !important;
    }

    .nfb-dark-section,
    .nfb-summary,
    .nfb-cta,
    .nfb-statement {
        padding: 32px 24px !important;
        border-radius: 20px !important;
    }

    .nfb-card {
        min-height: 0 !important;
    }

}
