/*
 * CégemOne – aloldalak (cikkek, céloldalak, árak, jogi dokumentumok).
 * A cegemone.css után töltődik. A régi oldalak tartalmi osztályait (article-*,
 * glass card, pg-* stb.) igazítja az új arculathoz, így a szövegekhez nem kellett nyúlni.
 * Minden szabály a body osztályára szűkítve, hogy ne ütközzön a főoldal elemeivel.
 */

/* ---------- Cikkek (body.article-page) ---------- */

.article-shell {
    width: 100%;
    max-width: calc(760px + var(--gut) * 2);
    margin: 0 auto;
    padding: clamp(40px, 6vw, 80px) var(--gut) var(--section);
}

.article-back { font-size: 15px; margin-bottom: clamp(28px, 4vw, 44px); }
.article-back a { color: var(--ink-2); text-decoration: none; }
.article-back a:hover { color: var(--ink); }

.article-title,
.content-hub > h1 {
    font-size: clamp(34px, 4.4vw, 54px);
    line-height: 1.06;
    letter-spacing: -.034em;
    font-weight: 650;
    text-wrap: balance;
}

.article-meta { margin-top: 18px; font-size: 15px; color: var(--ink-3); }

.article-body {
    margin-top: clamp(32px, 4vw, 48px);
    font-size: 18px;
    line-height: 1.7;
    color: #24304a;
}
.article-body > * + * { margin-top: 1.1em; }
.article-body h2 {
    margin-top: 2.1em;
    font-size: clamp(24px, 2.4vw, 30px);
    line-height: 1.2;
    letter-spacing: -.024em;
    font-weight: 640;
    color: var(--ink);
    text-wrap: balance;
}
.article-body h3 {
    margin-top: 1.7em;
    font-size: 21px;
    line-height: 1.3;
    letter-spacing: -.014em;
    font-weight: 630;
    color: var(--ink);
}
.article-body h2 + *, .article-body h3 + * { margin-top: .6em; }
.article-body ul, .article-body ol { padding-left: 1.25em; }
.article-body ul { list-style: disc; }
.article-body ol { list-style: decimal; }
.article-body li + li { margin-top: .45em; }
.article-body li::marker { color: var(--ink-3); }
.article-body a, .content-hub a {
    color: var(--cobalt);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.article-body a:hover { color: var(--cobalt-2); }
.article-body strong { color: var(--ink); }
.article-body img { border-radius: 12px; box-shadow: var(--shadow-paper); }

.article-body table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
    line-height: 1.5;
    display: block;
    overflow-x: auto;
}
.article-body th, .article-body td {
    padding: 12px 16px 12px 0;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}
.article-body th { font-size: 14px; font-weight: 600; color: var(--ink-3); border-bottom-color: var(--line-2); }

.article-body .proof {
    margin: 1.8em 0;
    padding: 22px 24px;
    border-radius: 14px;
    background: var(--mist);
    font-size: 17px;
}
.article-body .proof p:first-child { font-weight: 620; color: var(--ink); font-size: 16px; }
.article-body .proof p + p { margin-top: 6px; }

.article-resource-links {
    margin-top: 2.6em !important;
    padding-top: 20px;
    border-top: 1px solid var(--line);
    font-size: 15px;
    color: var(--ink-3);
}
.article-body .article-resource-links a { color: var(--ink); text-decoration: none; font-weight: 560; }
.article-body .article-resource-links a:hover { color: var(--cobalt); }

.article-cta-wrap {
    margin-top: 28px !important;
    padding: 28px;
    border-radius: 16px;
    background: var(--ink);
}
.article-body .article-cta-wrap a.btn {
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    white-space: normal;
    height: auto;
    min-height: 50px;
    padding: 13px 22px;
    line-height: 1.35;
    text-align: center;
    box-shadow: none;
}
.article-body .article-cta-wrap a.btn:hover { background: #e9edf5; }

/* Cikk-gyűjtő (content/) */
.content-hub { max-width: calc(860px + var(--gut) * 2); }
.hub-lead { margin-top: 18px; font-size: 18px; color: var(--ink-2); max-width: 40em; }
.content-hub-section { margin-top: clamp(48px, 6vw, 72px); }
.content-hub-h2 {
    font-size: clamp(22px, 2.2vw, 26px);
    line-height: 1.2;
    letter-spacing: -.02em;
    font-weight: 640;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--ink);
}
.content-hub-section .hub-lead { font-size: 16px; margin-top: 12px; }
.content-hub-list { margin-top: 6px; }
.content-hub-list li { border-bottom: 1px solid var(--line); }
.content-hub .content-hub-list a {
    display: block;
    padding: 15px 0;
    font-size: 17px;
    font-weight: 560;
    color: var(--ink);
    text-decoration: none;
}
.content-hub .content-hub-list a:hover { color: var(--cobalt); }

/* ---------- Céloldalak régi elemkészlettel (body.lp) ---------- */

body.lp .wrap {
    width: 100%;
    max-width: calc(var(--max) + var(--gut) * 2);
    margin: 0 auto;
    padding: 0 var(--gut);
}
body.lp main.wrap, body.lp > .wrap { padding-bottom: var(--section); }

body.lp .hero { padding: clamp(48px, 7vw, 96px) 0 0; }
body.lp .heroGrid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 40px clamp(40px, 5vw, 80px);
    align-items: start;
}
body.lp .hero h1 {
    font-size: clamp(36px, 4.6vw, 58px);
    line-height: 1.04;
    letter-spacing: -.034em;
    font-weight: 650;
    text-wrap: balance;
}
body.lp .hi { color: inherit; background: none; -webkit-text-fill-color: currentColor; }
body.lp .hero .lead, body.lp .bevezeto {
    margin-top: 24px;
    font-size: clamp(18px, 1.5vw, 20px);
    line-height: 1.55;
    color: var(--ink-2);
    max-width: 36em;
}
body.lp .eyebrow { margin-bottom: 18px; font-size: 15px; font-weight: 500; color: var(--ink-3); }
body.lp .eyebrow .dot { display: none; }

body.lp .pillStack { margin-top: 24px; }
body.lp .pillStack .pill {
    display: inline-block;
    height: auto;
    padding: 9px 14px;
    border-radius: 9px;
    background: var(--mist);
    color: var(--ink-2);
    font-size: 15px;
    font-weight: 560;
    line-height: 1.45;
    white-space: normal;
}
body.lp .pillStack .pill::before { display: none; }

body.lp .cta, body.lp .heroCtas {
    margin-top: 30px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
body.lp .heroContact { margin-top: 18px; font-size: 15px; color: var(--ink-3); }
body.lp .heroContact a { color: var(--ink); text-decoration: none; font-weight: 560; }

body.lp .glass.panel, body.lp aside.card {
    box-shadow: none;
    background: var(--mist);
    border-radius: 20px;
    padding: clamp(24px, 3vw, 36px);
}
body.lp .chip.brand { font-size: 15px; font-weight: 600; color: var(--ink); }
body.lp .glass.panel .chip.brand + div { margin-top: 10px; color: var(--ink-2); line-height: 1.6; }
body.lp aside.card h2 { font-size: 20px; line-height: 1.3; letter-spacing: -.015em; font-weight: 630; }

body.lp .kpis {
    margin-top: 22px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1px;
    background: var(--line);
    border: 1px solid var(--line);
    border-radius: 12px;
    overflow: hidden;
}
body.lp .kpi { background: #fff; padding: 14px 16px 15px; }
body.lp .kpi .t { font-size: 13px; color: var(--ink-3); }
body.lp .kpi .v { margin-top: 2px; font-size: 15px; font-weight: 600; line-height: 1.4; }

body.lp .section { padding: clamp(64px, 8vw, 112px) 0 0; }
body.lp .h2, body.lp .section .card > h2 {
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.08;
    letter-spacing: -.03em;
    font-weight: 640;
    text-wrap: balance;
    max-width: 22em;
}
body.lp .desc, body.lp .text {
    margin-top: 16px;
    font-size: 18px;
    line-height: 1.6;
    color: var(--ink-2);
    max-width: 44em;
}
body.lp .desc a, body.lp .text a, body.lp .faqBody a { color: var(--cobalt); text-decoration: underline; text-underline-offset: 3px; }

body.lp .grid2, body.lp .grid3 {
    margin-top: 36px;
    display: grid;
    gap: 16px;
}
body.lp .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body.lp .grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.lp aside .grid3 { grid-template-columns: minmax(0, 1fr); margin-top: 18px; gap: 10px; }
body.lp div[style*="height"] { height: 16px !important; }

body.lp .glass.card, body.lp .box {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 26px 26px 28px;
    box-shadow: none;
}
body.lp .glass.card .icon { display: none; }
body.lp .ftag { font-size: 14px; font-weight: 500; color: var(--ink-3); }
body.lp .glass.card h3 { margin-top: 4px; font-size: 20px; line-height: 1.25; letter-spacing: -.015em; font-weight: 630; }
body.lp .glass.card p { margin-top: 10px; font-size: 16px; color: var(--ink-2); }
body.lp .box b { display: block; font-size: 17px; font-weight: 630; letter-spacing: -.01em; }
body.lp .box p { margin-top: 6px; font-size: 16px; color: var(--ink-2); }
body.lp .stepNo { display: block; margin-bottom: 12px; font-size: 15px; font-weight: 600; color: var(--cobalt); }

body.lp .list { margin-top: 4px; display: grid; gap: 10px; }
body.lp .list li { display: flex; gap: 12px; font-size: 16px; }
body.lp .tick { color: var(--cobalt); font-weight: 700; flex: none; }
body.lp .divider { height: 1px; background: var(--line-2); margin: 22px 0; }

body.lp .proof {
    margin-top: 28px;
    padding: 24px 26px;
    border-radius: 16px;
    background: var(--mist);
}
body.lp .proof b { display: block; font-weight: 620; }
body.lp .proof p { margin-top: 8px; color: var(--ink-2); }

body.lp .card:not(aside):not(.glass) { background: none; padding: 0; box-shadow: none; border-radius: 0; }

/* GYIK (régi homeFaq / faq) */
body.lp details.homeFaq, body.lp details.faq, details.pg-faq { border-bottom: 1px solid var(--line-2); }
body.lp details.homeFaq:first-of-type, body.lp details.faq:first-of-type, details.pg-faq:first-of-type { border-top: 1px solid var(--line-2); margin-top: 28px; }
body.lp details.homeFaq summary, body.lp details.faq summary, details.pg-faq summary {
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 20px 0;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -.012em;
    cursor: pointer;
}
body.lp details summary::-webkit-details-marker { display: none; }
body.lp details.homeFaq summary::after, body.lp details.faq summary::after, details.pg-faq summary::after {
    content: "";
    flex: none;
    width: 14px; height: 14px;
    background:
        linear-gradient(var(--ink), var(--ink)) center / 14px 1.75px no-repeat,
        linear-gradient(var(--ink), var(--ink)) center / 1.75px 14px no-repeat;
    transition: transform .2s ease;
}
body.lp details[open] summary::after { transform: rotate(45deg); }
body.lp details.faq .plus { display: none; }
body.lp details.homeFaq p, body.lp .faqBody, .pg-faq-body { padding: 0 48px 22px 0; color: var(--ink-2); max-width: 46em; }

/* ---------- Részletes árak (olcso-crm, pg-*) ---------- */

.pg-main { padding-top: clamp(48px, 7vw, 96px); }
.pg-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 40px clamp(40px, 5vw, 80px);
    align-items: start;
}
.pg-hero-kicker { font-size: 15px; font-weight: 500; color: var(--ink-3); }
.pg-price-tag {
    display: inline-block;
    margin-top: 14px;
    padding: 7px 12px;
    border-radius: 9px;
    background: var(--mist);
    font-size: 14.5px;
    font-weight: 560;
    color: var(--ink-2);
}
.pg-h1 {
    margin-top: 22px;
    font-size: clamp(36px, 4.6vw, 58px);
    line-height: 1.04;
    letter-spacing: -.034em;
    font-weight: 650;
    text-wrap: balance;
}
.pg-lead { margin-top: 22px; font-size: clamp(18px, 1.5vw, 20px); line-height: 1.55; color: var(--ink-2); max-width: 36em; }
.pg-lead-note { margin-top: 12px; font-size: 16px; color: var(--ink-3); max-width: 40em; }
.pg-cta-row { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 12px; }
.pg-cta-next { margin-top: 16px; font-size: 15px; color: var(--ink-3); max-width: 40em; }

.pg-surface {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: clamp(26px, 3.4vw, 40px);
}
.pg-focus { border-color: transparent; box-shadow: var(--shadow-paper); }
.pg-amount { font-size: clamp(52px, 5.6vw, 72px); line-height: .95; font-weight: 660; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.pg-amount-sub { margin-top: 10px; font-size: 16px; color: var(--ink-2); }
.pg-aside-divider { height: 1px; background: var(--line); margin: 22px 0; }
.pg-aside-facts { display: grid; gap: 10px; font-size: 15.5px; color: var(--ink-2); }
.pg-aside-facts strong { color: var(--ink); }
.pg-aside-mini { margin-top: 18px; font-size: 14px; color: var(--ink-3); }

.pg-section { margin-top: clamp(48px, 6vw, 80px); }
#bizalom.pg-section { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.pg-proof { background: var(--mist); border-radius: 18px; padding: clamp(24px, 3vw, 32px); }
.pg-proof h3, .pg-next h3, .pg-choice-title { font-size: 18px; font-weight: 630; letter-spacing: -.012em; }
.pg-proof p { margin-top: 10px; color: var(--ink-2); }
.pg-checks, .pg-list { margin-top: 16px; display: grid; gap: 10px; }
.pg-checks li, .pg-list li { position: relative; padding-left: 26px; font-size: 16px; }
.pg-checks li::before, .pg-list li::before {
    content: "";
    position: absolute;
    left: 3px; top: .55em;
    width: 10px; height: 5px;
    border-left: 1.75px solid var(--cobalt);
    border-bottom: 1.75px solid var(--cobalt);
    transform: rotate(-45deg);
}
.pg-h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.1; letter-spacing: -.03em; font-weight: 640; text-wrap: balance; }
.pg-prose { margin-top: 12px; font-size: 17px; color: var(--ink-2); max-width: 46em; }
.pg-inline { color: var(--cobalt); text-decoration: underline; text-underline-offset: 3px; }

.pg-table-wrap { margin-top: 22px; overflow-x: auto; }
.pg-table { width: 100%; border-collapse: collapse; font-size: 16px; }
.pg-table th { text-align: left; font-size: 14px; font-weight: 500; color: var(--ink-3); padding: 0 0 10px; border-bottom: 1px solid var(--line-2); }
.pg-table td { padding: 14px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.pg-table th:last-child, .pg-table td:last-child { text-align: right; padding-left: 24px; white-space: nowrap; font-variant-numeric: tabular-nums; }

.pg-choice { margin-top: 24px; padding: 22px 24px; border-radius: 14px; background: var(--mist); }
.pg-choice p { margin-top: 8px; color: var(--ink-2); }
.pg-not-for ul { margin-top: 14px; padding-left: 1.25em; list-style: disc; color: var(--ink-2); }
.pg-not-for li + li { margin-top: 6px; }

#gyik.pg-section > .pg-h2 { margin-bottom: 4px; }

.pg-form { margin-top: 26px; }
.pg-form-grid { display: grid; gap: 16px; }
.pg-form-grid.cols-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.pg-form label { display: block; font-size: 14.5px; font-weight: 600; margin-bottom: 7px; }
.pg-form input, .pg-form textarea {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--line-2);
    border-radius: 10px;
    background: #fff;
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
}
.pg-form textarea { height: auto; min-height: 120px; padding: 12px 14px; resize: vertical; line-height: 1.5; }
.pg-form input:focus, .pg-form textarea:focus { outline: none; border-color: var(--cobalt); box-shadow: 0 0 0 3px rgba(42, 67, 210, .14); }
.pg-form-actions { margin-top: 20px; }
.pg-form #cegemone-webform-msg { margin-top: 14px; font-weight: 600; }
.pg-next { margin-top: 32px; padding-top: 26px; border-top: 1px solid var(--line); }
.pg-next ol { margin-top: 12px; padding-left: 1.25em; list-style: decimal; color: var(--ink-2); }
.pg-next li + li { margin-top: 6px; }
.pg-footer-mini { display: none; }

/* ---------- Jogi dokumentumok (body.legal) ---------- */

body.legal .wrap {
    width: 100%;
    max-width: calc(800px + var(--gut) * 2);
    margin: 0 auto;
    padding: clamp(40px, 6vw, 80px) var(--gut) var(--section);
}
body.legal .card { font-size: 17px; line-height: 1.7; color: #24304a; background: none; box-shadow: none; padding: 0; border-radius: 0; }
body.legal h1 {
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -.032em;
    font-weight: 650;
    color: var(--ink);
    text-wrap: balance;
}
body.legal h2 {
    margin: 2.2em 0 .6em;
    font-size: 23px;
    line-height: 1.25;
    letter-spacing: -.018em;
    font-weight: 640;
    color: var(--ink);
}
body.legal h3 { margin: 1.6em 0 .4em; font-size: 18px; font-weight: 630; color: var(--ink); }
body.legal p + p, body.legal p + ul, body.legal ul + p, body.legal p + ol, body.legal ol + p { margin-top: .9em; }
body.legal ul, body.legal ol { margin-top: .6em; padding-left: 1.25em; }
body.legal ul { list-style: disc; }
body.legal ol { list-style: decimal; }
body.legal li + li { margin-top: .4em; }
body.legal li::marker { color: var(--ink-3); }
body.legal .card a { color: var(--cobalt); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.legal strong { color: var(--ink); }
body.legal .muted { font-size: 15px; color: var(--ink-3); }
body.legal h1 + .muted { margin-top: 14px; }
body.legal .back-wrap { display: none; }
body.legal .toplinks { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 15px; }
body.legal .hr { height: 1px; background: var(--line-2); margin: 32px 0; }
body.legal .kbox { margin-top: 14px; padding: 20px 22px; border-radius: 14px; background: var(--mist); }
body.legal .toc { margin-top: 12px; }
body.legal code { font-size: .9em; background: var(--mist); padding: 2px 6px; border-radius: 6px; }
body.legal table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 15.5px; line-height: 1.5; display: block; overflow-x: auto; }
body.legal th, body.legal td { padding: 10px 14px 10px 0; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
body.legal th { font-weight: 600; color: var(--ink); border-bottom-color: var(--line-2); }

/* ---------- Reszponzív ---------- */

@media (max-width: 960px) {
    body.lp .heroGrid, .pg-hero-grid, #bizalom.pg-section { grid-template-columns: minmax(0, 1fr); }
    body.lp .grid3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}

@media (max-width: 640px) {
    .article-body { font-size: 17px; }
    body.lp .grid2, body.lp .grid3, .pg-form-grid.cols-2 { grid-template-columns: minmax(0, 1fr); }
    body.lp .kpis { grid-template-columns: minmax(0, 1fr); }
    body.lp .cta .btn, body.lp .heroCtas .btn, .pg-cta-row .btn { flex: 1 1 auto; white-space: normal; height: auto; min-height: 50px; padding: 12px 18px; text-align: center; line-height: 1.3; }
    body.lp details.homeFaq p, body.lp .faqBody, .pg-faq-body { padding-right: 0; }
    .article-cta-wrap { padding: 20px; }
}

/* Cikk-bevezető közvetlenül a cím alatt (néhány cikkben) */
.article-card > p:not(.article-meta) {
    margin-top: 20px;
    font-size: clamp(18px, 1.6vw, 20px);
    line-height: 1.55;
    color: var(--ink-2);
}
