/*!
 * karacsonyfawebshop.hu – DB-ben tárolt (CKEditor) termék- és kategórialeírások stílusa (2026-11)
 * Hatókör: .kfw-rt (leírás-tartalom), .kfw-cat-head / .kfw-cat-lead (kategória fejléc).
 * A kfw-2026.css után töltődik; annak tokenjeit (--kfw-*) használja, saját fallbackkel.
 */
.kfw-rt, .kfw-cat-head {
    --rt-green: var(--kfw-green-800, #006600);
    --rt-green-dark: var(--kfw-green-900, #003d00);
    --rt-green-soft: var(--kfw-green-50, #eef7ea);
    --rt-ink: var(--kfw-ink, #1d2a17);
    --rt-muted: var(--kfw-muted, #5b6b52);
    --rt-line: var(--kfw-line, #cfd8ca);
    --rt-radius: var(--kfw-radius, 10px);
}

/* ---------- alap tipográfia ------------------------------------------ */
.kfw-rt { color: var(--rt-ink); font-size: 16px; line-height: 1.65; max-width: 920px; }
.kfw-rt p { margin: 0 0 14px; }
.kfw-rt a { color: var(--rt-green); text-decoration: underline; text-underline-offset: 2px; }
.kfw-rt a:hover { color: var(--rt-green-dark); }
.kfw-rt h2, .kfw-rt h3 {
    color: var(--rt-green-dark); font-weight: 700; line-height: 1.25;
    margin: 34px 0 14px; padding: 0; border: 0; text-transform: none; letter-spacing: 0;
}
.kfw-rt h2 { font-size: 24px; }
.kfw-rt h3 { font-size: 20px; }
.kfw-rt h4 { font-size: 16px; font-weight: 700; margin: 0 0 6px; color: var(--rt-ink); }
.kfw-rt > h2:first-child, .kfw-rt > h3:first-child { margin-top: 0; }
.kfw-rt ul, .kfw-rt ol { margin: 0 0 18px; padding: 0; list-style: none; }
.kfw-rt img { max-width: 100%; height: auto; display: block; border-radius: var(--rt-radius); }
.kfw-rt-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- bevezető: szöveg + kép ------------------------------------ */
.kfw-rt-intro { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: start; margin: 0 0 8px; }
.kfw-rt-intro .kfw-rt-intro__text > h2:first-child { margin-top: 0; }
.kfw-rt-lead { font-size: 18px; line-height: 1.55; }
.kfw-rt-figure { margin: 0; }
.kfw-rt-figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 0 6px 20px rgba(0, 61, 0, .12); }
.kfw-rt-caption { margin: 8px 2px 0 !important; font-size: 13px; color: var(--rt-muted); line-height: 1.4; }
.kfw-rt--category .kfw-rt-intro { margin-top: 34px; }

/* ---------- méret-adatlap --------------------------------------------- */
.kfw-rt-specs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.kfw-rt-specs li {
    background: var(--rt-green-soft); border-radius: var(--rt-radius); padding: 12px 14px;
    display: flex; flex-direction: column; gap: 2px; min-width: 0;
}
.kfw-rt-spec__k { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--rt-muted); }
.kfw-rt-spec__v { font-size: 16px; color: var(--rt-green-dark); line-height: 1.3; }
.kfw-rt-note { font-size: 14px; color: var(--rt-muted); }

/* ---------- "kinek ajánljuk" kártyák ---------------------------------- */
.kfw-rt-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kfw-rt-cards li {
    border: 1px solid var(--rt-line); border-radius: var(--rt-radius); padding: 14px 16px 14px 48px;
    position: relative; background: #fff;
}
.kfw-rt-cards li::before {
    content: "\f1bb"; font-family: FontAwesome; position: absolute; left: 16px; top: 14px;
    color: var(--rt-green); font-size: 18px; line-height: 1.4;
}
.kfw-rt-cards strong { display: block; color: var(--rt-green-dark); margin-bottom: 2px; }
.kfw-rt-cards span { display: block; font-size: 15px; color: var(--rt-muted); line-height: 1.5; }

/* ---------- pipás lista, tippek --------------------------------------- */
.kfw-rt-checks li, .kfw-rt-tips li { position: relative; padding-left: 30px; margin-bottom: 9px; }
.kfw-rt-checks li::before {
    content: "\f00c"; font-family: FontAwesome; position: absolute; left: 0; top: 2px;
    width: 20px; height: 20px; border-radius: 50%; background: var(--rt-green); color: #fff;
    font-size: 11px; line-height: 20px; text-align: center;
}
.kfw-rt-tips li::before { content: "\f0eb"; font-family: FontAwesome; position: absolute; left: 4px; top: 1px; color: #d39b00; }

/* ---------- lépések ---------------------------------------------------- */
.kfw-rt-steps { counter-reset: kfwstep; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kfw-rt-steps li {
    counter-increment: kfwstep; background: var(--rt-green-soft); border-radius: var(--rt-radius);
    padding: 52px 14px 14px; position: relative;
}
.kfw-rt-steps li::before {
    content: counter(kfwstep); position: absolute; left: 14px; top: 14px; width: 28px; height: 28px;
    border-radius: 50%; background: var(--rt-green); color: #fff; font-weight: 700; text-align: center; line-height: 28px;
}
.kfw-rt-steps strong { display: block; color: var(--rt-green-dark); margin-bottom: 4px; }
.kfw-rt-steps span { display: block; font-size: 14px; line-height: 1.5; color: var(--rt-ink); }
.kfw-rt-cta-note {
    border-left: 4px solid var(--rt-green); background: #fff; padding: 10px 14px; border-radius: 0 var(--rt-radius) var(--rt-radius) 0;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .06); font-size: 15px;
}

/* ---------- GYIK ------------------------------------------------------- */
.kfw-rt-faq { border-top: 1px solid var(--rt-line); margin-bottom: 18px; }
.kfw-rt-faq__item { border-bottom: 1px solid var(--rt-line); padding: 14px 0; }
.kfw-rt-faq__item p { margin: 0; color: var(--rt-muted); font-size: 15px; }

/* ---------- kapcsolódó linkek ----------------------------------------- */
.kfw-rt-related { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.kfw-rt-related a, .kfw-rt-otherlinks a {
    display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 16px;
    border: 1px solid var(--rt-green); border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 15px;
}
.kfw-rt-related a:hover, .kfw-rt-otherlinks a:hover { background: var(--rt-green); color: #fff; }
.kfw-rt-otherlinks { display: flex; flex-wrap: wrap; gap: 8px; }
.kfw-rt-otherlinks span { font-weight: 400; opacity: .8; }

/* ---------- méret-táblázat (kategória) -------------------------------- */
.kfw-rt-table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0 0 10px; border: 1px solid var(--rt-line); border-radius: var(--rt-radius); overflow: hidden; }
.kfw-rt-table th, .kfw-rt-table td { padding: 12px 14px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--rt-line); }
.kfw-rt-table thead th { background: var(--rt-green-soft); color: var(--rt-green-dark); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.kfw-rt-table tbody tr:last-child td { border-bottom: 0; }
.kfw-rt-table__cta { text-align: right !important; }
.kfw-rt-table__cta a {
    display: inline-block; padding: 8px 16px; border-radius: 999px; background: var(--rt-green); color: #fff !important;
    text-decoration: none; font-weight: 600; white-space: nowrap;
}
.kfw-rt-table__cta a:hover { background: var(--rt-green-dark); }

/* ---------- kategória fejléc (H1 + lead a terméklista felett) --------- */
.kfw-cat-head { margin: 4px 0 18px; }
.kfw-cat-lead p { font-size: 17px; line-height: 1.55; color: var(--rt-ink); margin: 0 0 12px; max-width: 760px; }
.kfw-cat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.kfw-cat-chips li {
    background: var(--rt-green-soft); color: var(--rt-green-dark); border-radius: 999px; padding: 6px 12px;
    font-size: 14px; font-weight: 600; line-height: 1.3;
}
.kfw-cat-chips li::before { content: "\f00c"; font-family: FontAwesome; margin-right: 6px; font-size: 12px; }
.kfw-catdesc { margin-top: 28px; background: #fff; border-radius: var(--kfw-radius, 10px); padding: 24px; box-shadow: 0 0 3px rgba(72, 94, 55, .3); }
.kfw-catdesc .kfw-video { position: relative; padding-bottom: 56.25%; height: 0; margin: 10px 0 4px; border-radius: 12px; overflow: hidden; }
.kfw-catdesc .kfw-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }

/* ---------- tablet ----------------------------------------------------- */
@media (max-width: 991px) {
    .kfw-rt-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kfw-rt-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- mobil ------------------------------------------------------ */
@media (max-width: 767px) {
    .kfw-rt { font-size: 15px; }
    .kfw-rt h2 { font-size: 21px; margin-top: 28px; }
    .kfw-rt h3 { font-size: 18px; margin-top: 28px; }
    .kfw-rt-lead { font-size: 16.5px; }
    .kfw-rt-intro { grid-template-columns: 1fr; gap: 16px; }
    .kfw-rt-figure { order: -1; }
    .kfw-rt--product .kfw-rt-figure { order: 0; }
    .kfw-rt-figure img { aspect-ratio: 16 / 10; }
    .kfw-rt-cards { grid-template-columns: 1fr; gap: 10px; }
    .kfw-rt-steps li { padding: 14px 14px 14px 54px; }
    .kfw-rt-steps { grid-template-columns: 1fr; gap: 8px; }
    .kfw-rt-related a, .kfw-rt-otherlinks a { flex: 1 1 100%; justify-content: center; }

    /* táblázat -> kártyák */
    .kfw-rt-table, .kfw-rt-table tbody, .kfw-rt-table tr, .kfw-rt-table td { display: block; width: 100%; }
    .kfw-rt-table { border: 0; overflow: visible; }
    .kfw-rt-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .kfw-rt-table tr { border: 1px solid var(--rt-line); border-radius: var(--rt-radius); margin-bottom: 10px; padding: 6px 0; background: #fff; }
    .kfw-rt-table td { border: 0; padding: 6px 14px; display: flex; justify-content: space-between; gap: 12px; }
    .kfw-rt-table td::before { content: attr(data-label); color: var(--rt-muted); font-size: 13px; }
    .kfw-rt-table td.kfw-rt-table__cta { display: block; padding-top: 8px; }
    .kfw-rt-table__cta a { display: block; text-align: center; min-height: 44px; line-height: 28px; }

    .kfw-cat-lead p { font-size: 15.5px; }
    .kfw-catdesc { padding: 16px; margin-left: -5px; margin-right: -5px; }
}

/* videó cím a kategórialeírás alján */
.kfw-catdesc__video-title { font-size: 20px; color: var(--kfw-green-900, #003d00); font-weight: 700; margin: 34px 0 12px; }
.kfw-catdesc .kfw-rt { max-width: none; }

/* sortörés: a .kfw-richtext "anywhere" szabálya szavak közepén törne */
.kfw-rt, .kfw-cat-head { overflow-wrap: break-word; word-break: normal; hyphens: manual; }
.kfw-rt-nowrap { white-space: nowrap; }
/* kategória: keskenyebb hasáb (sidebar mellett) */
.kfw-rt--category .kfw-rt-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.kfw-rt--category .kfw-rt-intro { grid-template-columns: 1fr; gap: 16px; }
.kfw-rt--category .kfw-rt-figure { order: -1; }
.kfw-rt--category .kfw-rt-figure img { aspect-ratio: 21 / 9; }
.kfw-rt--category .kfw-rt-intro__text h3 { margin-top: 22px; }
@media (max-width: 767px) {
    .kfw-rt--category .kfw-rt-steps { grid-template-columns: 1fr; }
    .kfw-rt--category .kfw-rt-figure img { aspect-ratio: 16 / 9; }
    .kfw-cat-chips li { padding: 5px 10px; font-size: 13px; }
}

/* ---------- kategória terméklista: kompakt mobil kártya (2026-11) ----- */
@media (max-width: 767px) {
    .product-list .product-item { border-radius: var(--kfw-radius, 10px); margin-bottom: 10px; }
    .product-list .product-item .panel-body {
        display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 14px; row-gap: 4px;
        grid-template-areas: "img title" "img perk1" "img perk2" "img price" "img cta";
        align-items: center; padding: 12px;
    }
    .product-list .product-item .panel-body > ul { grid-area: title; float: none; display: block; margin: 0; }
    .product-list .product-item .panel-body > ul li { display: block; }
    .product-list .product-item .panel-body ul .title { padding: 0; }
    .product-list .product-item .panel-body ul .title h2 { font-size: 16px; line-height: 1.25; }
    .product-list .product-item .panel-body ul .title h2 a .text-nowrap { display: block; font-size: 14px; color: var(--kfw-muted, #5b6b52); margin-top: 2px; }
    .product-list .product-item .panel-body .img { grid-area: img; padding: 0; margin: 0; align-self: stretch; display: flex; align-items: center; }
    .product-list .product-item .panel-body .img img { max-height: 150px; width: auto; margin: 0 auto; }
    .product-list .product-item .panel-body .comment { text-align: left; padding: 0; font-size: 12.5px; line-height: 1.3; }
    .product-list .product-item .panel-body .comment:nth-of-type(1) { grid-area: perk1; }
    .product-list .product-item .panel-body .comment:nth-of-type(2) { grid-area: perk2; }
    .product-list .product-item .panel-body .comment.price { grid-area: price; text-align: left !important; padding: 4px 0 0; font-size: 12.5px; }
    .product-list .product-item .panel-body .comment.price br { display: inline; }
    .product-list .product-item .panel-body .comment.price span { font-size: 20px; color: var(--kfw-green-800, #006600); }
    .product-list .product-item .panel-body .form { grid-area: cta; text-align: left !important; margin: 4px 0 0; padding: 0; }
    .product-list .product-item .panel-body .form .btn { width: 100%; min-height: 44px; padding: 10px 12px; font-size: 15px; }
    .kfw-cat-head { margin-bottom: 12px; }
}

/* ---------- méret-kártyák ikonokkal (kategória, 2026-11) -------------- */
.kfw-rt .kfw-size-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 0 0 10px; }
.kfw-size-card { margin: 0; }
.kfw-rt a.kfw-size-card__link {
    display: flex; flex-direction: column; height: 100%; padding: 16px 16px 14px; text-decoration: none; color: var(--rt-ink);
    background: #fff; border: 1px solid var(--rt-line); border-radius: 14px; box-shadow: 0 2px 8px rgba(0, 61, 0, .06);
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.kfw-rt a.kfw-size-card__link:hover, .kfw-rt a.kfw-size-card__link:focus-visible {
    border-color: var(--kfw-green-500, #3dbd04); box-shadow: 0 8px 20px rgba(61, 189, 4, .18); transform: translateY(-2px); color: var(--rt-ink);
}
.kfw-size-card__eyebrow { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--rt-muted); }
.kfw-size-card__h { display: flex; align-items: center; gap: 8px; font-size: 26px; line-height: 1.15; color: var(--rt-green-dark); margin: 2px 0 12px; }
.kfw-size-card__h::before {
    content: "\f07d"; font-family: FontAwesome; font-size: 18px; width: 34px; height: 34px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; background: var(--rt-green-soft); color: var(--kfw-green-600, #3a9b02);
}
.kfw-size-card__row {
    display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 8px; align-items: baseline;
    padding: 7px 0; border-top: 1px dashed var(--rt-line); font-size: 13px; color: var(--rt-muted); line-height: 1.3;
}
.kfw-size-card__row::before { font-family: FontAwesome; color: var(--kfw-green-600, #3a9b02); font-size: 16px; text-align: center; grid-row: span 2; align-self: center; }
.kfw-size-card__row b { grid-column: 2; font-size: 15px; color: var(--rt-ink); font-weight: 700; }
.kfw-ico-width::before { content: "\f07e"; }   /* fa-arrows-h */
.kfw-ico-room::before  { content: "\f015"; }   /* fa-home */
.kfw-ico-stand::before { content: "\f13d"; }   /* fa-anchor – stabil talp */
.kfw-size-card__cta {
    margin-top: auto; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px;
    background: var(--kfw-green-500, #3dbd04); color: #fff; border-radius: 12px; font-weight: 700; font-size: 15px;
    box-shadow: 0 6px 16px rgba(61, 189, 4, .28);
}
.kfw-size-card__row:last-of-type { margin-bottom: 12px; }
.kfw-size-card__cta::after { content: "\f105"; font-family: FontAwesome; font-size: 16px; }
.kfw-rt a.kfw-size-card__link:hover .kfw-size-card__cta { background: var(--kfw-green-600, #3a9b02); }
@media (max-width: 767px) {
    .kfw-rt .kfw-size-cards { grid-template-columns: 1fr; }
    .kfw-size-card__h { font-size: 24px; }
}

/* terméklista ár: a szám soha ne törjön, a címke külön sorban (minden méretben) */
.product-list .product-item .panel-body .comment.price span { white-space: nowrap; }
.product-list .product-item .panel-body .comment.price br.hidden-md,
.product-list .product-item .panel-body .comment.price br.hidden-lg { display: inline !important; }

/* ---------- mobil bizalmi csempék (usp_bar.php, 2026-11) -------------- */
.kfw-usp2 {
    list-style: none; margin: 8px 0 12px; padding: 0;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px;
}
.kfw-usp2 li {
    display: flex; flex-direction: column; align-items: center; gap: 5px; text-align: center;
    background: var(--kfw-green-50, #eef7ea); border-radius: 12px; padding: 9px 4px 8px; min-width: 0;
}
.kfw-usp2 .fa {
    width: 30px; height: 30px; border-radius: 50%; background: #fff; color: var(--kfw-green-600, #3a9b02);
    display: inline-flex; align-items: center; justify-content: center; font-size: 15px;
    box-shadow: 0 1px 3px rgba(0, 61, 0, .12);
}
.kfw-usp2 span { font-size: 11.5px; line-height: 1.2; color: var(--kfw-muted, #5b6b52); }
.kfw-usp2 strong { display: block; font-size: 12px; color: var(--kfw-green-900, #003d00); }
.kfw-page-product .kfw-usp2 { display: none !important; }
@media (max-width: 339px) { .kfw-usp2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- lépéssáv: mobilon a böngésző oldalakon nem kell ------------ */
@media (max-width: 767px) {
    .kfw-page-category .steps-bar { display: none !important; }
    .kfw-page-category .phone.mobile { margin-bottom: 0; }
}

/* ---------- terméklista: méret mint főcím + embermagasság ábra --------- */
.product-list .product-item .panel-body ul .title {
    display: flex !important; align-items: flex-end; justify-content: space-between; gap: 10px; width: 100%;
}
.product-list .product-item .panel-body ul .title h2 { min-width: 0; }
.product-list .panel-body .title h2 a { display: block; color: var(--kfw-ink, #1d2a17); text-decoration: none; }
.kfw-li-name {
    display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em;
    color: var(--kfw-muted, #5b6b52); font-family: "GothamMedium", sans-serif; margin-bottom: 2px;
}
.kfw-li-size { display: inline-flex; align-items: baseline; gap: 4px; white-space: nowrap; color: var(--kfw-green-900, #003d00); }
.kfw-li-size__num { font-size: 30px; line-height: 1.05; font-weight: 700; font-family: "GothamMedium", sans-serif; letter-spacing: -.01em; }
.kfw-li-size__unit { font-size: 16px; font-weight: 700; color: var(--kfw-green-600, #3a9b02); }
.product-list .panel-body .title h2 a:hover .kfw-li-size { color: var(--kfw-green-600, #3a9b02); }
.kfw-li-scale { flex: 0 0 auto; display: block; overflow: visible; }
.kfw-li-scale__ground { stroke: var(--kfw-line, #cfd8ca); stroke-width: 1.5; }
.kfw-li-scale__tree { fill: var(--kfw-green-600, #3a9b02); }
.kfw-li-scale__trunk { fill: #7a5a3a; }
.kfw-li-scale__person { fill: #6f7f69; }
.kfw-li-scale__label { font-size: 7.5px; font-weight: 700; fill: #6f7f69; font-family: "GothamMedium", sans-serif; }
@media (min-width: 768px) {
    .product-list .product-item .panel-body > ul { margin-bottom: 6px; }
    .product-list .product-item .panel-body ul .title { padding: 0 18px !important; }
}
@media (max-width: 767px) {
    .kfw-li-size__num { font-size: 25px; }
    .kfw-li-scale { width: 40px; height: 42px; }
    .product-list .product-item .panel-body ul .title h2 a .text-nowrap { display: none; }
}
@media (max-width: 767px) {
    ul.kfw-usp2.visible-xs { display: grid !important; }
    .kfw-li-name { font-size: 11px; letter-spacing: .02em; }
}

/* =====================================================================
 * Egységes oldal-fejléc (kategória = termékoldal) + képbadge-ek (2026-11)
 * ===================================================================== */
.kfw-headcard {
    background: #fff; border-radius: 16px; padding: 16px 16px 18px; margin: 0 0 14px;
    box-shadow: 0 0 3px rgba(72, 94, 55, .3);
}
.kfw-headcard .breadcrumb { text-align: left; margin: 0 0 8px; padding: 0; font-size: 13px; background: none; }
.kfw-headcard .breadcrumb > li + li::before { padding: 0 6px; color: #b3bdae; }
.kfw-headcard .breadcrumb a { color: var(--kfw-muted, #5b6b52); }
.kfw-headcard .breadcrumb .active { color: var(--kfw-green-800, #006600); }
.kfw-headcard .kfw-pdp__title { margin-bottom: 8px !important; }
.kfw-headcard .kfw-cat-lead p { margin: 0; font-size: 16px; color: var(--kfw-ink, #1d2a17); }
@media (min-width: 768px) {
    .kfw-headcard { padding: 22px 26px 24px; }
    .kfw-headcard .kfw-pdp__title { font-size: 28px !important; }
}

/* képbadge-ek */
.kfw-pdp__media { position: relative; }
.kfw-badges { position: absolute; top: 10px; right: 10px; z-index: 2; margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.kfw-badge {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px;
    background: rgba(255, 255, 255, .94); color: var(--kfw-green-900, #003d00); border: 1px solid #dfe8d9;
    font-family: "GothamMedium", sans-serif; font-size: 13px; line-height: 1.2; white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0, 61, 0, .12);
}
.kfw-badge .fa { color: #d39b00; }
.kfw-badge--fresh { background: var(--kfw-green-800, #006600); color: #fff; border-color: transparent; }
.kfw-badge--fresh .fa { color: #b8f08f; }
.product-list .product-item .panel-body .img { position: relative; }
.kfw-badge--card { position: absolute; top: 0; right: 12px; z-index: 2; font-size: 12px; padding: 5px 10px; }
@media (max-width: 767px) {
    .kfw-pdp__media img { max-width: 260px !important; }
    .kfw-badges { top: 4px; right: 4px; }
    .kfw-badge { font-size: 12px; padding: 5px 10px; }
    .kfw-headcard .kfw-pdp__title { font-size: 22px !important; }
    /* listakártya: kis kép mellett csak ikon + rövid felirat, a kép bal alsó sarkában */
    .kfw-badge--card { top: auto; bottom: 0; left: 0; right: auto; font-size: 10.5px; padding: 3px 7px; gap: 4px; box-shadow: none; }
}

/* =====================================================================
 * Rendelési lépéssáv – kattintható stepper (_sitemenu.php, 2026-11)
 * ===================================================================== */
.steps-bar.kfw-stepper {
    display: flex; align-items: stretch; gap: 8px; padding: 10px !important; margin-bottom: 24px;
    background: #334529; border-radius: 14px; color: #fff;
}
.kfw-stepper__intro {
    flex: 0 0 170px; margin: 0; padding: 6px 12px; display: flex; flex-direction: column; justify-content: center;
    font-size: 15px; line-height: 1.25; color: #c9d6c1; border-right: 1px solid #4d6340;
}
.kfw-stepper__intro strong { font-family: "GothamBold", "GothamMedium", sans-serif; font-size: 19px; color: #fff; }
.kfw-stepper__list { flex: 1 1 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.kfw-step { margin: 0; min-width: 0; }
.kfw-step__inner {
    position: relative; display: flex; align-items: center; gap: 12px; height: 100%; padding: 10px 34px 10px 12px;
    border-radius: 10px; color: #98ab8d; text-decoration: none !important; transition: background .15s ease, color .15s ease;
}
.kfw-step__num {
    flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
    border: 2px solid #5f7752; color: #98ab8d; font-family: "GothamBold", "GothamMedium", sans-serif; font-size: 16px;
}
.kfw-step__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.kfw-step__title { font-family: "GothamBold", "GothamMedium", sans-serif; font-size: 16px; line-height: 1.2; color: inherit; }
.kfw-step__short { display: none; }
.kfw-step__hint { font-size: 12.5px; line-height: 1.3; color: #a9b9a0; }
.kfw-step__arrow { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); font-size: 20px; opacity: .8; }

/* állapotok */
.kfw-step--done .kfw-step__inner { color: #e7f3df; }
.kfw-step--done .kfw-step__num { background: var(--kfw-green-500, #3dbd04); border-color: var(--kfw-green-500, #3dbd04); color: #fff; }
.kfw-step--current .kfw-step__inner { background: rgba(255, 255, 255, .1); color: #c6f59c; box-shadow: inset 0 0 0 1px rgba(198, 245, 156, .35); }
.kfw-step--current .kfw-step__num { background: #c6f59c; border-color: #c6f59c; color: #22331a; }
.kfw-step--current .kfw-step__hint { color: #e7f3df; }
.kfw-step--todo .kfw-step__inner[aria-disabled="true"] { cursor: default; opacity: .75; }
.kfw-step--todo.kfw-step--link .kfw-step__inner { color: #fff; }
.kfw-step--todo.kfw-step--link .kfw-step__num { border-color: #c6f59c; color: #c6f59c; }
a.kfw-step__inner:hover, a.kfw-step__inner:focus-visible { background: rgba(255, 255, 255, .14); color: #fff; }
a.kfw-step__inner:hover .kfw-step__arrow { opacity: 1; }
a.kfw-step__inner:focus-visible { outline: 2px solid #c6f59c; outline-offset: 2px; }

/* "Tovább" gomb kiemelése, ha a 3. lépésre kattintanak */
@keyframes kfwPulse { 0% { box-shadow: 0 0 0 0 rgba(61, 189, 4, .6); } 100% { box-shadow: 0 0 0 16px rgba(61, 189, 4, 0); } }
.kfw-pulse { animation: kfwPulse .8s ease-out 2; }

@media (max-width: 991px) {
    .kfw-stepper__intro { display: none; }
    .kfw-step__hint { font-size: 12px; }
}
@media (max-width: 767px) {
    .steps-bar.kfw-stepper { padding: 10px 6px 8px !important; margin: 4px 0 14px; border-radius: 14px; }
    .kfw-stepper__list { gap: 0; position: relative; }
    .kfw-step { position: relative; }
    /* összekötő vonal a körök között */
    .kfw-step + .kfw-step::before {
        content: ""; position: absolute; top: 21px; left: -50%; right: 50%; height: 2px; background: #5f7752; z-index: 0;
        margin: 0 22px;
    }
    .kfw-step--done + .kfw-step::before, .kfw-step--current + .kfw-step--current::before { background: var(--kfw-green-500, #3dbd04); }
    .kfw-step__inner { flex-direction: column; gap: 5px; padding: 4px 4px 6px; text-align: center; min-height: 64px; justify-content: flex-start; }
    .kfw-step__num { position: relative; z-index: 1; flex: 0 0 30px; width: 30px; height: 30px; font-size: 14px; background: #334529; }
    .kfw-step--done .kfw-step__num { background: var(--kfw-green-500, #3dbd04); }
    .kfw-step--current .kfw-step__num { background: #c6f59c; }
    .kfw-step__long, .kfw-step__hint, .kfw-step__arrow { display: none; }
    .kfw-step__short { display: inline; }
    .kfw-step__title { font-size: 13px; }
    .kfw-step--current .kfw-step__inner { background: none; box-shadow: none; }
    a.kfw-step__inner::after {   /* érintési cél jelzése: kis aláhúzás */
        content: ""; display: block; width: 26px; height: 2px; border-radius: 2px; background: currentColor; opacity: .55; margin-top: 1px;
    }
}

/* --- stepper: az AKTUÁLIS lépés legyen a legerősebb (2026-11 fix) --- */
.kfw-step--done .kfw-step__num { background: rgba(61, 189, 4, .22); border-color: #5fae3a; color: #b8f08f; }
.kfw-step--done .kfw-step__inner { color: #b9c9b0; }
.kfw-step--current .kfw-step__inner { background: rgba(255, 255, 255, .14); color: #fff; box-shadow: inset 0 0 0 2px #c6f59c; }
.kfw-step--current .kfw-step__num { background: #fff; border-color: #fff; color: #22331a; box-shadow: 0 0 0 4px rgba(198, 245, 156, .45); }
.kfw-step--current .kfw-step__title { color: #fff; }
.kfw-step--todo .kfw-step__inner { color: #8fa384; }
.kfw-step--todo.kfw-step--link .kfw-step__inner { color: #d5e2cd; }
.kfw-step--todo.kfw-step--link .kfw-step__num { border-color: #8fa384; color: #d5e2cd; }
@media (max-width: 767px) {
    .kfw-step--done .kfw-step__num { background: #3f5a33; }
    .kfw-step--current .kfw-step__num { width: 36px; height: 36px; flex-basis: 36px; margin-top: -3px; font-size: 16px; background: #fff; }
    .kfw-step--current .kfw-step__title { font-size: 14px; }
    .kfw-step--current .kfw-step__inner::after {
        content: "Itt tart"; display: inline-block; width: auto; height: auto; margin-top: 2px; padding: 1px 8px;
        border-radius: 999px; background: #c6f59c; color: #22331a; opacity: 1;
        font-size: 10.5px; font-family: "GothamMedium", sans-serif; letter-spacing: .02em;
    }
    .kfw-step--current .kfw-step__inner { box-shadow: none; background: none; }
    .kfw-step--todo .kfw-step__title, .kfw-step--done .kfw-step__title { font-weight: 400; }
}
@media (max-width: 767px) {
    .kfw-step:not(.kfw-step--current) a.kfw-step__inner::after { display: none; }
}
@media (hover: none) {
    .kfw-step:not(.kfw-step--current) a.kfw-step__inner:hover { background: none; }
}

/* =====================================================================
 * Javítások (2026-11, felhasználói kérésre):
 * - breadcrumb: mindig egy sorban, "›" elválasztó, az utolsó elem "…"-tal rövidül
 * - lépésjelző: mobilon nincs "Itt tart" címke
 * ===================================================================== */
.kfw-headcard .breadcrumb, .kfw-pdp .breadcrumb {
    display: flex; flex-wrap: nowrap; align-items: center; min-width: 0;
    overflow: hidden; white-space: nowrap; line-height: 1.4;
}
.kfw-headcard .breadcrumb > li, .kfw-pdp .breadcrumb > li { flex: 0 0 auto; margin: 0; }
.kfw-headcard .breadcrumb > li:last-child, .kfw-pdp .breadcrumb > li:last-child {
    flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis;
}
.kfw-headcard .breadcrumb > li + li::before, .kfw-pdp .breadcrumb > li + li::before {
    content: "\f105"; font-family: FontAwesome; padding: 0 8px; color: #b3bdae; font-size: 13px;
}
@media (max-width: 767px) {
    .kfw-step--current .kfw-step__inner::after { content: none !important; display: none !important; }
}
