/* Kálóczi Photo — Webshop bőr (terv: kaloczi-design/webshop, 2026-09-24)
 * 7 oldal: bolt, vászonkép/termékoldal, utalvány, kosár, üres kosár, megrendelés, köszönjük.
 * Minden szabály a body.kp alatt; a Store plugin saját shop.css-e marad az alap (JS-kontraktus),
 * itt csak a terv szerinti megjelenés jön rá. Tokenek: kp-design.css :root. */

/* ---------- 0. Közös segédek ---------- */
body.kp .kp-crumbs-line { font-family: var(--kp-text); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--kp-muted); margin: 0 0 30px; }
body.kp .kp-crumbs-line a { color: var(--kp-muted); text-decoration: none; }
body.kp .kp-crumbs-line a:hover { color: var(--kp-ink); }
body.kp .kp-crumbs-line i { font-style: normal; margin: 0 8px; color: var(--kp-line-2); }
body.kp .kp-shop-ic { display: inline-block; width: 22px; height: 22px; background: currentColor; -webkit-mask: var(--kp-ic) center / contain no-repeat; mask: var(--kp-ic) center / contain no-repeat; vertical-align: middle; flex: none; }
body.kp .kp-ic-cart { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M3 4h2.5l2.2 11h10.6l2.2-8H7.2'/><circle cx='9.5' cy='19' r='1.4'/><circle cx='17.5' cy='19' r='1.4'/></svg>"); }
body.kp .kp-ic-arr { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M5 12h13M13 7l5 5-5 5'/></svg>"); }
body.kp .kp-ic-check { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'><path d='M5 12.5l4.2 4.2L19 7'/></svg>"); }
body.kp .kp-ic-x { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='square'><path d='M6 6l12 12M18 6 6 18'/></svg>"); }
body.kp .kp-ic-truck { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M3 6h11v10H3zM14 10h4l3 3v3h-7z'/><circle cx='7' cy='18' r='1.6'/><circle cx='17' cy='18' r='1.6'/></svg>"); }
body.kp .kp-ic-hand { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M8 12V6a1.5 1.5 0 0 1 3 0v5M11 11V5a1.5 1.5 0 0 1 3 0v6M14 11V7a1.5 1.5 0 0 1 3 0v8a5 5 0 0 1-5 5h-1a5 5 0 0 1-4.2-2.3L4.5 13a1.4 1.4 0 0 1 2.3-1.6L8 12.8'/></svg>"); }
body.kp .kp-ic-shield2 { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M12 3.5 20 6v6c0 4.5-3.4 7.6-8 8.5C7.4 19.6 4 16.5 4 12V6z'/><path d='M8.5 12l2.5 2.5 4.5-5'/></svg>"); }
body.kp .kp-ic-gift { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M4 10h16v10H4zM3 6.5h18V10H3zM12 6.5V20'/></svg>"); }
body.kp .kp-ic-book { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M12 6.5C10 5 7 4.5 4 5v13.5c3-.5 6 0 8 1.5 2-1.5 5-2 8-1.5V5c-3-.5-6 0-8 1.5zM12 6.5V20'/></svg>"); }
body.kp .kp-ic-grid { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><rect x='4' y='4' width='6.5' height='6.5'/><rect x='13.5' y='4' width='6.5' height='6.5'/><rect x='4' y='13.5' width='6.5' height='6.5'/><rect x='13.5' y='13.5' width='6.5' height='6.5'/></svg>"); }
body.kp .kp-ic-lock { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><rect x='5' y='10.5' width='14' height='10'/><path d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/></svg>"); }
body.kp .kp-ic-card { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><rect x='3' y='5.5' width='18' height='13' rx='1'/><path d='M3 10h18M7 14.5h4'/></svg>"); }
body.kp .kp-ic-plus { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='square'><path d='M12 5v14M5 12h14'/></svg>"); }
body.kp .kp-ic-minus { --kp-ic: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='square'><path d='M5 12h14'/></svg>"); }

/* Bolt-gomb (terv .btn): szögletes, 54px, nagybetűs, ikonnal */
body.kp .kp-shop-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; font-family: var(--kp-display); font-weight: 600; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; border: 1px solid var(--kp-ink); background: var(--kp-ink); color: #fff; text-decoration: none; cursor: pointer; box-shadow: none; border-radius: 0; transition: background .15s, color .15s, border-color .15s; white-space: nowrap; }
body.kp .kp-shop-btn:hover { background: var(--kp-body); border-color: var(--kp-body); color: #fff; }
body.kp .kp-shop-btn--light { background: #fff; color: var(--kp-ink); }
body.kp .kp-shop-btn--light:hover { background: var(--kp-ink); color: #fff; }
body.kp .kp-shop-btn--block { display: flex; width: 100%; }
body.kp .kp-shop-btn[disabled] { background: var(--kp-line); border-color: var(--kp-line); color: var(--kp-muted); cursor: not-allowed; }
body.kp .kp-shop-btn .kp-shop-ic { width: 18px; height: 18px; }
body.kp .kp-fine { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--kp-muted); margin: 14px 0 0; line-height: 1.45; }
body.kp .kp-fine .kp-shop-ic { width: 14px; height: 14px; }
body.kp .kp-hint { font-size: 13px; color: var(--kp-muted); margin: 10px 0 0; line-height: 1.5; }

/* Fizetési logók (Barion + kártyák) */
body.kp .kp-paylogos { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: 14px; }
body.kp .kp-paylogos img { height: 18px; width: auto; display: block; opacity: .85; }
body.kp .kp-paylogos img.kp-paylogos__barion { height: 22px; }
body.kp .kp-paylogos img.kp-paylogos__amex { height: 20px; }
body.kp .kp-paylogos--inline { margin: 0; gap: 8px; }
body.kp .kp-paylogos--inline img { height: 16px; }
body.kp .kp-paylogos--inline img.kp-paylogos__barion { height: 20px; }
body.kp .kp-paylogos__word { font-family: var(--kp-display); font-weight: 600; font-size: 12px; letter-spacing: .08em; color: var(--kp-ink); display: inline-flex; align-items: center; gap: 6px; }

/* ---------- 1. Bolt-főoldal (BeBuilder-szekciók) ---------- */
body.kp .kp-shop-hero { padding: 0; }
body.kp .kp-shop-hero > .section_wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; align-items: center; padding-top: 80px; padding-bottom: 96px; }
body.kp .kp-shop-hero > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-shop-hero h1 { color: #fff; font-size: clamp(40px, 4.6vw, 58px); line-height: 1.08; margin: 18px 0 0; max-width: 560px; }
body.kp .kp-shop-hero .kp-lead p { font-size: 18px; line-height: 1.65; color: var(--kp-on-dark-2); margin: 22px 0 0; max-width: 520px; }
body.kp .kp-shop-hero .kp-eyebrow p { color: var(--kp-sage); margin: 0; }
body.kp .kp-shop-hero .column_button { display: inline-block; width: auto; margin: 32px 12px 0 0; }
body.kp .kp-shop-hero .column_button + .column_button { margin-top: 12px; }
body.kp .kp-shop-hero .kp-btn-secondary a.button { border-color: #5A605C; color: #fff; background: transparent; }
body.kp .kp-shop-hero .kp-btn-secondary a.button:hover { background: var(--kp-paper); color: var(--kp-ink); border-color: var(--kp-paper); }
body.kp .kp-wall { position: relative; height: 420px; background: #1E2224; border: 1px solid var(--kp-dark-line); }
body.kp .kp-wall img { position: absolute; object-fit: cover; box-shadow: 0 30px 60px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.12); margin: 0; }
body.kp .kp-wall img.kp-wall__big { left: 11%; top: 13%; width: 55%; height: 57%; }
body.kp .kp-wall img.kp-wall__small { left: 71%; top: 30%; width: 24%; height: 48%; }
body.kp .kp-kapi-tip { position: relative; margin: -30px 0 0 24px; display: inline-flex; align-items: center; gap: 10px; background: var(--kp-paper); color: var(--kp-ink); padding: 10px 18px 10px 8px; font-size: 14.5px; line-height: 1.4; max-width: 440px; border: 1px solid var(--kp-line); z-index: 2; }
body.kp .kp-kapi-tip img { width: 72px; height: auto; flex: none; margin: 0; }
body.kp .kp-kapi-tip a { color: var(--kp-sage-text); text-decoration: underline; text-underline-offset: 3px; }
body.kp .kp-kapi-tip p.kp-kapi-tip__chat { margin: 0; padding-left: 12px; border-left: 1px solid var(--kp-line); font-size: 13px; line-height: 1.3; white-space: nowrap; }
body.kp .kp-shop-hero .kp-shop-hero__vis .column { margin-bottom: 0; }

/* Kategória-kártyák (3 oszlop) */
body.kp .kp-shopcats { padding: 80px 0 0; }
body.kp .kp-shopcats > .section_wrapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
body.kp .kp-shopcats > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; background: var(--kp-card); border: 1px solid var(--kp-line); transition: border-color .2s; }
body.kp .kp-shopcats > .section_wrapper > .mcb-wrap:hover { border-color: var(--kp-ink); }
body.kp .kp-shopcat .mcb-wrap-inner { padding: 0; }
body.kp .kp-shopcat .column { margin: 0; width: 100%; }
body.kp .kp-shopcat .image_frame, body.kp .kp-shopcat .image_wrapper { border: 0; border-radius: 0; margin: 0; }
body.kp .kp-shopcat .image_frame img { width: 100%; height: 230px; object-fit: cover; display: block; }
body.kp .kp-shopcat__voucher { height: 230px; background: var(--kp-paper-2); display: flex; align-items: center; justify-content: center; overflow: hidden; }
body.kp .kp-shopcat__body { padding: 22px 24px 24px; color: var(--kp-sage-text); }
body.kp .kp-shopcat__body .kp-shop-ic { color: var(--kp-sage-text); }
body.kp .kp-shopcat__body b { display: block; font-family: var(--kp-display); font-weight: 400; font-size: 24px; color: var(--kp-ink); margin: 10px 0 6px; letter-spacing: -.012em; }
body.kp .kp-shopcat__body p { font-size: 15px; line-height: 1.55; color: var(--kp-muted); margin: 0; }
body.kp .kp-shopcat__body a.kp-shopcat__more { display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; font-size: 14px; color: var(--kp-ink); border-bottom: 1px solid var(--kp-ink); text-decoration: none; }
body.kp .kp-shopcat__body a.kp-shopcat__more .kp-shop-ic { width: 14px; height: 14px; color: var(--kp-ink); }
body.kp .kp-shopcat__body a.kp-shopcat__more:hover { color: var(--kp-sage-text); border-color: var(--kp-sage-text); }

/* Termékrács (terv .grid4/.grid3 + .prod) — Store: kp-prods (bolt-főoldal, kategória-lista, [store_shop]) */
body.kp .kp-shop-sec { padding: 64px 0 0; }
body.kp .kp-shop-sec.kp-shop-sec--last { padding-bottom: 72px; }
body.kp .kp-shop-sec .kp-head > .mcb-wrap-inner { margin-bottom: 28px; }
body.kp .kp-prods { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0; }
body.kp .kp-prods--3 { grid-template-columns: repeat(3, 1fr); }
body.kp .kp-prods--2 { grid-template-columns: repeat(2, 1fr); }
body.kp a.kp-prod, body.kp .kp-prod { position: relative; background: var(--kp-card); border: 1px solid var(--kp-line); padding: 22px; display: flex; flex-direction: column; text-decoration: none; color: var(--kp-ink); transition: border-color .2s; min-width: 0; }
body.kp a.kp-prod:hover { border-color: var(--kp-ink); color: var(--kp-ink); }
body.kp .kp-prod__img { height: 220px; background: var(--kp-paper-2); display: flex; align-items: center; justify-content: center; margin-bottom: 18px; overflow: hidden; }
body.kp .kp-prod__img img { width: 64%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; display: block; box-shadow: 6px 6px 0 rgba(18,20,22,.14), 0 18px 34px rgba(18,20,22,.18); }
body.kp .kp-prod__img--plain img { width: 100%; height: 100%; aspect-ratio: auto; box-shadow: none; object-fit: cover; }
body.kp .kp-prod__img--voucher .kp-dv { --s: .46; }
body.kp .kp-prod b { font-family: var(--kp-display); font-weight: 400; font-size: 17px; line-height: 1.3; }
body.kp .kp-prod em { font-style: normal; font-size: 13.5px; color: var(--kp-muted); margin-top: 2px; }
body.kp .kp-prod .kp-prod__price { font-family: var(--kp-display); font-weight: 500; font-size: 15px; margin-top: 8px; color: var(--kp-ink); }
body.kp .kp-prod .kp-prod__price s { font-family: var(--kp-display); font-weight: 400; font-size: 13px; color: #9AA09B; margin-left: 8px; }
body.kp .kp-prod .kp-prod__price small { font-weight: 400; font-size: 13px; color: var(--kp-muted); }
body.kp .kp-badge { position: absolute; left: 14px; top: 14px; z-index: 1; background: var(--kp-sage); color: var(--kp-ink); font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .14em; padding: 6px 9px; }
body.kp .kp-shop-empty { font-size: 15px; color: var(--kp-muted); }

/* Sötét utalványkártya-előnézet (terv .dv): 520 × 300 alap, --s skálával */
body.kp .kp-dv { width: calc(520px * var(--s, 1)); height: calc(300px * var(--s, 1)); position: relative; flex: none; margin: 0 auto; }
body.kp .kp-dv__in { position: absolute; left: 0; top: 0; width: 520px; height: 300px; transform: scale(var(--s, 1)); transform-origin: 0 0; display: grid; grid-template-columns: 1fr 150px; background: #1B1E20; border: 1px solid var(--kp-dark-line); box-shadow: 0 24px 48px rgba(18,20,22,.22); }
body.kp .kp-dv__main { padding: 30px 32px 26px; color: #fff; display: flex; flex-direction: column; text-align: left; }
body.kp .kp-dv__main img { height: 30px; width: auto; display: block; margin: 0 0 20px; align-self: flex-start; }
body.kp .kp-dv__eb { font-family: var(--kp-display); font-weight: 600; font-size: 9.5px; letter-spacing: .34em; text-transform: uppercase; color: var(--kp-sage); }
body.kp .kp-dv h3, body.kp .kp-dv .kp-dv__title { font-family: var(--kp-display) !important; font-weight: 300; font-size: 28px; line-height: 1.1; letter-spacing: -.02em; color: #fff; margin: 8px 0 0; }
body.kp .kp-dv__meta { display: flex; gap: 26px; margin-top: auto; }
body.kp .kp-dv__meta span { display: block; font-family: var(--kp-display); font-weight: 600; font-size: 8.5px; letter-spacing: .24em; text-transform: uppercase; color: #8A908B; margin-bottom: 3px; }
body.kp .kp-dv__meta b { font-weight: 400; font-size: 13px; color: #fff; white-space: nowrap; }
body.kp .kp-dv__qr { background: var(--kp-paper); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 18px; }
body.kp .kp-dv__qr img { width: 100px; height: 100px; display: block; margin: 0; }
body.kp .kp-dv__qr span { font-family: var(--kp-display); font-weight: 600; font-size: 8.5px; letter-spacing: .22em; line-height: 1.5; text-align: center; text-transform: uppercase; color: var(--kp-sage-text); }

/* Fotókönyv-sáv (sötét) */
body.kp .kp-bookband-sec { padding: 64px 0 0; }
body.kp .kp-bookband-sec > .section_wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; align-items: center; background: var(--kp-ink); color: #fff; padding: 56px 56px; }
body.kp .kp-bookband-sec > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-bookband-sec h2 { color: #fff; margin: 10px 0 0; font-size: clamp(28px, 3vw, 34px); }
body.kp .kp-bookband-sec .kp-eyebrow p { color: var(--kp-sage); margin: 0; }
body.kp .kp-bookband-sec p { font-size: 16.5px; line-height: 1.65; color: var(--kp-on-dark-2); margin: 18px 0 0; max-width: 480px; }
body.kp .kp-bookband-sec .column_button { margin: 26px 0 0; }
body.kp .kp-bookvis { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 20px; }
body.kp .kp-book { display: flex; width: 100%; max-width: 420px; height: 210px; box-shadow: 0 30px 60px rgba(0,0,0,.5); }
body.kp .kp-book img { flex: 1; width: 50%; height: 100%; object-fit: cover; display: block; margin: 0; }
body.kp .kp-book img + img { border-left: 2px solid rgba(0,0,0,.35); }
body.kp .kp-bookvis > img { width: 150px; height: auto; flex: none; margin: 0; }
body.kp .kp-bookband-sec .column { margin-bottom: 0; }

/* Bizalmi sáv + SEO-szöveg */
body.kp .kp-trust-sec { padding: 64px 0 72px; }
body.kp .kp-trust > .mcb-wrap-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; border-top: 1px solid var(--kp-line); padding-top: 40px; }
body.kp .kp-trust .column { margin: 0; width: 100%; max-width: none; float: none; }
body.kp .kp-trust .column_attr { padding: 0; }
body.kp .kp-shopcat__voucher, body.kp .kp-shopcat__voucher .mcb-column-inner, body.kp .kp-shopcat__voucher .column_attr { display: flex; align-items: center; justify-content: center; width: 100%; height: 230px; padding: 0; margin: 0; }
body.kp .kp-shopcat__voucher .column_attr { background: var(--kp-paper-2); overflow: hidden; }
body.kp .kp-shopcat__voucher p { margin: 0; line-height: 0; }
body.kp .kp-catpage { padding: 26px 0 64px; text-align: left; max-width: none; margin: 0; }
body.kp .kp-catpage .kalo-shop-intro { text-align: left; max-width: none; margin: 0 0 36px; padding: 0; }
body.kp .kp-catpage .kalo-shop-eyebrow { margin: 0; }
body.kp .kp-catpage .kp-cart-head { margin-bottom: 36px; }
body.kp .kp-catpage .kalo-shop-title { font-family: var(--kp-display); font-weight: 300; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.022em; margin: 10px 0 0; line-height: 1.06; }
body.kp .kp-seo .column { margin-bottom: 0; }
body.kp .kp-seo .column_attr { padding: 0; }
body.kp .kp-seo .kp-sec-title h2, body.kp .kp-seo h2 { font-size: 28px; margin: 10px 0 18px; }
body.kp .kp-trust__item { display: flex; flex-direction: column; color: var(--kp-sage-text); }
body.kp .kp-trust__item .kp-shop-ic { width: 24px; height: 24px; }
body.kp .kp-trust__item b { font-family: var(--kp-display); font-weight: 500; font-size: 17px; color: var(--kp-ink); margin: 12px 0 4px; }
body.kp .kp-trust__item span { font-size: 14.5px; color: var(--kp-muted); line-height: 1.5; }
body.kp .kp-seo { margin-top: 64px; border-top: 1px solid var(--kp-line); padding-top: 40px; }
body.kp .kp-seo h2 { font-size: 28px; margin: 10px 0 18px; }
body.kp .kp-seo .kp-eyebrow p { margin: 0; }
body.kp .kp-seo-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
body.kp .kp-seo-cols p, body.kp .kp-seo p { font-size: 15px; line-height: 1.7; color: var(--kp-muted); margin: 0; }
body.kp .kp-seo-cols .column { margin: 0; width: 100%; }

/* A régi kalo-shop-cards / pe-shop-products rács már nem használt: a Store kp-prods-ot ad. */

/* ---------- 2. Termékoldal (Store: render_product_detail) ---------- */
body.kp .kp-pd-wrap { padding: 26px 0 80px; text-align: left; }
/* 2026-11-02 (user): a termékoldal tartalma ne érjen a képernyő széléig — a 1100 px-es tároló alatt oldalsó térköz */
@media (max-width: 1148px) { body.kp .kp-pd-wrap { padding-left: 24px; padding-right: 24px; box-sizing: border-box; } }
body.kp .kp-pd-wrap .pe-shop-detail-back { display: none; }
body.kp .kp-pd { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: start; background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
body.kp .kp-pd__vis { position: sticky; top: 120px; flex: none; width: auto; max-width: none; }
body.kp .kp-pd__stage { position: relative; background: var(--kp-paper-2); border: 1px solid var(--kp-line); min-height: 420px; display: flex; align-items: center; justify-content: center; padding: 56px; overflow: hidden; }
body.kp .kp-pd__stage img { max-width: 100%; max-height: 560px; width: auto; height: auto; display: block; cursor: zoom-in; box-shadow: 8px 8px 0 rgba(18,20,22,.14), 0 30px 60px rgba(18,20,22,.22); border-radius: 0; margin: 0; }
body.kp .kp-pd__stage .kp-badge { left: 20px; top: 20px; padding: 8px 12px; font-size: 12px; }
body.kp .kp-pd__stage .kp-dv { --s: .78; }
/* 2026-10-11: az utalvány-előnézet (HTML-kártya) képei NEM termékképek — a fenti „.kp-pd__stage img” (nagyítás, árnyék, max-méret, height:auto) óriásira fújta a logót. */
body.kp .kp-pd__stage .kp-dv img, body.kp .pe-shop-lightbox-inner .kp-dv img { max-width: none; max-height: none; aspect-ratio: auto; object-fit: contain; box-shadow: none; cursor: inherit; border-radius: 0; }
body.kp .kp-pd__stage .kp-dv__main img, body.kp .pe-shop-lightbox-inner .kp-dv__main img { height: 30px; width: auto; margin: 0 0 20px; }
body.kp .kp-pd__stage .kp-dv__qr img, body.kp .pe-shop-lightbox-inner .kp-dv__qr img { width: 100px; height: 100px; margin: 0; }
body.kp .kp-pd__stage .kp-dv[data-zoom] { cursor: zoom-in; }
body.kp .kp-pd__stage .kp-dv[data-zoom]:focus-visible { outline: 2px solid var(--kp-sage); outline-offset: 6px; }
body.kp .pe-shop-lightbox-inner .kp-dv { display: block; margin: 0; }
/* 2026-10-11: saját alkalom-felirat mezője, karakterszámlálóval */
body.kp .kp-occasion-custom { margin-top: 10px; }
body.kp .kp-occasion-custom[hidden] { display: none !important; }
body.kp .kp-occasion-count { display: flex; justify-content: space-between; gap: 12px; }
body.kp .kp-occasion-count b { font-weight: 500; font-variant-numeric: tabular-nums; color: var(--kp-muted); white-space: nowrap; }
body.kp .kp-occasion-count b.is-full { color: var(--kp-ink); }
/* 2026-10-11: választott utalvány-dizájn (illusztrált háttér) az előnézeten — sötét szöveg áttetsző fehér mezőn, mint a PDF-en. */
body.kp .kp-dv--art .kp-dv__in { background: #fff var(--kp-dv-bg) top center / 100% auto no-repeat; } /* mint a PDF felső harmada: a kép teteje, teljes szélességben */
body.kp .kp-dv--art .kp-dv__main { color: var(--kp-ink); background: rgba(255,255,255,.74); margin: 26px 8px 26px 26px; padding: 16px 18px 12px; }
body.kp .kp-dv--art .kp-dv__eb { color: var(--kp-sage-text); }
body.kp .kp-dv--art .kp-dv__title, body.kp .kp-dv--art .kp-dv h3 { color: var(--kp-ink); }
body.kp .kp-dv--art .kp-dv__meta span { color: #6A706B; }
body.kp .kp-dv--art .kp-dv__meta b { color: var(--kp-ink); }
body.kp .kp-dv--art .kp-dv__qr { background: rgba(255,255,255,.9); margin: 26px 26px 26px 8px; padding: 12px; }
body.kp .kp-dv--art .kp-dv__qr img { width: 84px; height: 84px; }
/* a dizájn-választék kis képei alatt a dizájn neve */
body.kp .kp-pd__info [data-kp-design] .pe-shop-detail-thumb { aspect-ratio: auto; overflow: visible; background: none; display: flex !important; flex-direction: column; border-width: 0; } /* a shop.css „.pe-shop-detail-thumb { display: block !important }” ellen */
body.kp .kp-pd__info [data-kp-design] .pe-shop-detail-thumb img { aspect-ratio: 1; height: auto; border: 2px solid transparent; }
body.kp .kp-pd__info [data-kp-design] .pe-shop-detail-thumb:has(input:checked) img { border-color: var(--kp-ink); }
body.kp .kp-pd__info [data-kp-design] .pe-shop-detail-thumb::before { content: attr(title); order: 2; display: block; margin-top: 5px; font-size: 12px; line-height: 1.3; text-align: center; color: var(--kp-muted); }
body.kp .kp-pd__info [data-kp-design] .pe-shop-detail-thumb:has(input:checked)::before { color: var(--kp-ink); }
/* 2026-10-11: postai utalványnál a fehér plasztikkártya az előnézeten (bankkártya-arány 85,6 × 54). */
body.kp .kp-pd__stage .kp-pcard { position: absolute; right: 9%; bottom: 9%; z-index: 2; width: 34%; max-width: 190px; aspect-ratio: 85.6 / 54; background: #fff; border-radius: 6px; display: flex; align-items: center; justify-content: center; box-shadow: 0 14px 30px rgba(18,20,22,.28), 0 2px 4px rgba(18,20,22,.12); transform: rotate(-5deg); pointer-events: none; }
body.kp .kp-pd__stage .kp-pcard[hidden] { display: none !important; }
body.kp .kp-pd__stage .kp-pcard img { width: 46%; height: auto; max-width: none; max-height: none; aspect-ratio: auto; object-fit: contain; box-shadow: none; cursor: default; margin: 0; }
body.kp .kp-pd__caption { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--kp-muted); margin: 12px 0 0; }
body.kp .kp-pd__info { flex: none; width: auto; max-width: none; counter-reset: kpfld; }
body.kp .kp-pd__info .kp-eyebrow p { margin: 0; }
body.kp .kp-pd__info h1 { font-size: clamp(30px, 3.2vw, 40px); line-height: 1.1; margin: 12px 0 0; font-weight: 300; }
body.kp .kp-pd__info .pe-shop-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 14px; margin: 18px 0 30px; font-family: var(--kp-display); font-weight: 300; font-size: 36px; letter-spacing: -.02em; color: var(--kp-ink); }
body.kp .kp-pd__info .pe-shop-product-price .pe-shop-price-original, body.kp .kp-pd__info .pe-shop-product-price s { font-family: var(--kp-display); font-weight: 300; font-size: 22px; color: #9AA09B; text-decoration: line-through; }
body.kp .kp-pd__info .pe-shop-product-price .pe-shop-price-sale { color: var(--kp-ink); font-weight: 300; }
body.kp .kp-pd__info .pe-shop-product-price .pe-shop-price-from { font-family: var(--kp-text); font-size: 14px; color: var(--kp-muted); font-weight: 300; }
body.kp .kp-pd__save { width: 100%; font-size: 13.5px; color: var(--kp-sage-text); font-weight: 600; margin: -18px 0 26px; }
body.kp .pe-shop-detail-validity { font-size: 14px; color: var(--kp-muted); margin: -12px 0 24px; }
body.kp .kp-pd__info .pe-shop-detail-group { margin: 0 0 26px; }
body.kp .kp-pd__info .pe-shop-detail-group[hidden] { display: none; }
body.kp .kp-pd__info .pe-shop-variant-label { display: block; font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--kp-muted); margin: 0 0 12px; }
body.kp .kp-pd__info .pe-shop-detail-group:not([hidden]) .pe-shop-variant-label::before { counter-increment: kpfld; content: counter(kpfld) " · "; }
body.kp .kp-pd__info .pe-shop-detail-select { width: 100%; height: 52px; min-height: 52px; border: 1px solid var(--kp-ink); background: #fff; padding: 0 14px; font-size: 15.5px; font-weight: 400; color: var(--kp-ink); border-radius: 0; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A605C' stroke-width='1.5'><path d='M12 5v13M7 13l5 5 5-5'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; background-size: 16px; }
body.kp .kp-pd__info .pe-shop-detail-pills { display: flex; flex-wrap: wrap; gap: 8px; }
body.kp .kp-pd__info .pe-shop-detail-pill { border: 1px solid var(--kp-line); background: #fff; padding: 11px 18px; font-size: 14px; color: var(--kp-ink); border-radius: 0; cursor: pointer; margin: 0; transition: background .15s, border-color .15s, color .15s; }
body.kp .kp-pd__info .pe-shop-detail-pill span::before { display: none; }
body.kp .kp-pd__info .pe-shop-detail-pill:hover { border-color: var(--kp-ink); }
body.kp .kp-pd__info .pe-shop-detail-pill:has(input:checked) { border-color: var(--kp-ink); background: var(--kp-ink); color: #fff; }
body.kp .kp-pd__info .pe-shop-detail-pill small { color: inherit; opacity: .75; }
body.kp .kp-pd__info .pe-shop-detail-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
body.kp .kp-pd__info .pe-shop-detail-thumb { aspect-ratio: 1; border: 2px solid transparent; border-radius: 0; margin: 0; overflow: hidden; background: var(--kp-paper-2); position: relative; cursor: pointer; }
body.kp .kp-pd__info .pe-shop-detail-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.kp .kp-pd__info .pe-shop-detail-thumb:has(input:checked) { border-color: var(--kp-ink); }
body.kp .kp-pd__info .pe-shop-detail-thumb:has(input:checked)::after { content: ""; position: absolute; right: 6px; top: 6px; width: 12px; height: 12px; background: var(--kp-sage); border: 2px solid #fff; }
body.kp .kp-pd__info .pe-shop-detail-swatch { border-radius: 0; }
body.kp .kp-pd__info .pe-shop-detail-swatch-dot { border-radius: 0; }
body.kp .kp-pd__info .pe-shop-dropzone { display: flex; flex-direction: column; gap: 4px; border: 1px dashed #9AA09B; background: #fff; padding: 18px 16px; border-radius: 0; cursor: pointer; text-align: left; }
body.kp .kp-pd__info .pe-shop-dropzone p { margin: 0; font-size: 15px; font-weight: 600; color: var(--kp-ink); }
body.kp .kp-pd__info .pe-shop-dropzone p.description { font-size: 13px; font-weight: 300; color: var(--kp-muted); }
body.kp .kp-pd__info .pe-shop-dropzone--dragover { border-color: var(--kp-ink); background: var(--kp-paper-2); }
body.kp .kp-pd__info .pe-shop-uploaded-files { list-style: none; padding: 0; margin: 10px 0 0; }
body.kp .kp-pd__info .pe-shop-uploaded-file { display: flex; align-items: center; gap: 12px; border: 1px solid var(--kp-line); background: #fff; padding: 10px 14px; font-size: 14px; margin: 0 0 6px; }
body.kp .kp-pd__info .pe-shop-uploaded-file-remove { margin-left: auto; background: transparent; color: var(--kp-muted); border: 0; padding: 0; min-height: 0; font-size: 13px; letter-spacing: 0; text-transform: none; }
body.kp .kp-pd__info .pe-shop-detail-custom-text { width: 100%; max-width: none; }
body.kp .kp-pd__info .pe-shop-detail-char-count { font-size: 12px; color: var(--kp-muted); margin: 6px 0 0; }
body.kp .kp-pd__info .pe-shop-wants-card-label { display: flex; align-items: center; gap: 10px; border: 1px solid var(--kp-line); background: #fff; padding: 14px 16px; font-size: 15px; font-weight: 400; margin: 0 0 26px; cursor: pointer; }
body.kp .kp-pd__info .pe-shop-wants-card-label input { width: 18px; height: 18px; margin: 0; accent-color: var(--kp-ink); }
body.kp .kp-pd__info .pe-shop-product#pe-shop-detail-cart-wrap { background: transparent; border: 0; padding: 0; margin: 0; max-width: none; display: block; text-align: left; }
body.kp .kp-pd__cta { display: flex; align-items: stretch; gap: 10px; margin: 6px 0 0; }
body.kp .kp-pd__cta .pe-shop-qty-stepper { flex: 0 0 auto; width: auto; max-width: none; height: 54px; border: 1px solid var(--kp-ink); margin: 0; display: inline-flex; }
body.kp .kp-pd__cta .pe-shop-qty-stepper button.pe-shop-qty-btn { width: 44px; height: 52px; min-height: 52px; flex: none; }
body.kp .kp-pd__cta .pe-shop-qty-stepper { align-items: center; }
body.kp .kp-pd__cta .pe-shop-qty-stepper input.pe-shop-qty-input, body.kp .kp-pd__cta .pe-shop-qty-stepper input.pe-shop-qty-input:focus { width: 52px !important; flex: none; box-sizing: border-box; height: 52px; min-height: 0; max-height: 52px; line-height: 52px; margin: 0; background: transparent; border: 0 !important; box-shadow: none; outline: 0; padding: 0 !important; text-align: center; font-family: var(--kp-display); font-weight: 500; font-size: 15px; color: var(--kp-ink); border-radius: 0; -moz-appearance: textfield; appearance: textfield; }
body.kp .kp-pd__cta .pe-shop-qty-stepper input.pe-shop-qty-input::-webkit-inner-spin-button, body.kp .kp-pd__cta .pe-shop-qty-stepper input.pe-shop-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.kp .kp-pd__cta button.pe-shop-add-to-cart-btn { flex: 1 1 auto; width: auto; min-width: 0; margin: 0; }
body.kp .kp-pd__info .pe-shop-detail-select { max-width: none; }
body.kp .kp-pd__qty { display: flex; align-items: center; justify-content: space-between; margin: 0 0 26px; }
body.kp .kp-pd__qty > span { font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--kp-muted); }
body.kp .kp-qty, body.kp .pe-shop-qty-stepper { display: inline-flex; align-items: center; border: 1px solid var(--kp-line); background: #fff; margin: 0; }
body.kp .kp-qty button, body.kp .pe-shop-qty-stepper button.pe-shop-qty-btn { width: 40px; height: 44px; min-height: 44px; padding: 0; background: #fff; color: var(--kp-ink); border: 0; border-radius: 0; font-size: 18px; line-height: 1; font-weight: 300; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
body.kp .kp-qty button:hover, body.kp .pe-shop-qty-stepper button.pe-shop-qty-btn:hover { background: var(--kp-paper-2); color: var(--kp-ink); }
body.kp .kp-qty input, body.kp .pe-shop-qty-input { width: 44px; height: 44px; min-height: 44px; border: 0; border-left: 1px solid var(--kp-line); border-right: 1px solid var(--kp-line); text-align: center; font-family: var(--kp-display); font-weight: 500; font-size: 15px; padding: 0; background: #fff; border-radius: 0; -moz-appearance: textfield; }
body.kp .kp-qty input::-webkit-inner-spin-button, body.kp .kp-qty input::-webkit-outer-spin-button, body.kp .pe-shop-qty-input::-webkit-inner-spin-button, body.kp .pe-shop-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.kp .kp-qty input:focus, body.kp .pe-shop-qty-input:focus { border-width: 0 1px; padding: 0; }
body.kp .kp-pd__info button.pe-shop-add-to-cart-btn { display: flex; align-items: center; justify-content: center; padding: 0 26px; width: 100%; min-height: 54px; gap: 10px; font-family: var(--kp-display); font-weight: 600; font-size: 12px; letter-spacing: .16em; }
body.kp .kp-pd__info button.pe-shop-add-to-cart-btn::before { content: ""; display: inline-block; width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M3 4h2.5l2.2 11h10.6l2.2-8H7.2'/><circle cx='9.5' cy='19' r='1.4'/><circle cx='17.5' cy='19' r='1.4'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='square' stroke-linejoin='miter'><path d='M3 4h2.5l2.2 11h10.6l2.2-8H7.2'/><circle cx='9.5' cy='19' r='1.4'/><circle cx='17.5' cy='19' r='1.4'/></svg>") center / contain no-repeat; }
body.kp .kp-pd__info .pe-shop-detail-required-hint { font-size: 13px; color: var(--kp-muted); margin: 10px 0 0; }
body.kp .kp-pd__info .pe-shop-detail-required-hint[hidden] { display: none; }
body.kp .kp-pd__info .pe-shop-detail-upload-error { color: var(--kp-error-fg); font-size: 13px; }
body.kp .kp-pd__tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 64px; border-top: 1px solid var(--kp-line); padding-top: 36px; }
body.kp .kp-pd__tabs > div > b { display: block; font-family: var(--kp-display); font-weight: 500; font-size: 17px; margin-bottom: 8px; color: var(--kp-ink); }
body.kp .kp-pd__tabs p, body.kp .kp-pd__tabs li { font-size: 14.5px; line-height: 1.6; color: var(--kp-muted); margin: 0; }
body.kp .kp-pd__tabs .pe-shop-detail-properties { margin: 0; }
body.kp .kp-pd__tabs .pe-shop-detail-property-row { display: flex; align-items: baseline; gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--kp-hairline); font-size: 14.5px; }
body.kp .kp-pd__tabs .pe-shop-detail-property-label { color: var(--kp-muted); }
body.kp .kp-pd__tabs .pe-shop-detail-property-filler { flex: 1; border-bottom: 1px dotted var(--kp-line-2); min-width: 16px; }
body.kp .kp-pd__tabs .pe-shop-detail-property-value { color: var(--kp-ink); font-weight: 400; }
body.kp .kp-pd__tabs .pe-shop-detail-bundle-contents-heading { display: none; }
body.kp .kp-pd__desc { margin-top: 64px; border-top: 1px solid var(--kp-line); padding-top: 40px; }
body.kp .kp-pd__desc .kp-eyebrow { margin: 0 0 10px; }
body.kp .kp-pd__desc .pe-shop-detail-long-description { columns: 2; column-gap: 28px; font-size: 15px; line-height: 1.7; color: var(--kp-muted); }
body.kp .kp-pd__desc .pe-shop-detail-long-description p { font-size: 15px; line-height: 1.7; color: var(--kp-muted); break-inside: avoid; }
body.kp .kp-pd__desc .pe-shop-detail-long-description h2, body.kp .kp-pd__desc .pe-shop-detail-long-description h3 { column-span: all; font-size: 28px; margin: 0 0 18px; font-weight: 300; }
body.kp .kp-pd__desc .pe-shop-detail-long-description { padding: 0; margin: 0; border: 0; background: transparent; box-shadow: none; max-width: none; }
body.kp .kp-pd__seo .kp-eyebrow { margin: 0 0 10px; }
body.kp .kp-pd__seo > h2 { font-size: 28px; margin: 0 0 18px; font-weight: 300; }
body.kp .kp-pd__tabs > div > p { margin: 0 0 8px; }
body.kp .kp-pd__tabs > div > .pe-shop-detail-properties { margin-top: 6px; }
/* Terv 02: szoba-előnézet a feltöltött képpel (méretarányos, kanapé fölött) */
body.kp .kp-pd__stage:has(.kp-room:not([hidden])) { padding: 0; background: #E9E8E2; align-items: stretch; }
body.kp .kp-pd__stage img[hidden], body.kp .kp-room[hidden] { display: none !important; }
body.kp .kp-room { position: relative; width: 100%; min-height: 560px; background: #E9E8E2; overflow: hidden; }
body.kp .kp-room::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 120px; background: #DAD8D0; }
body.kp .kp-room__sofa { position: absolute; left: 20%; right: 20%; bottom: 80px; height: 96px; background: #C9C6BC; border-radius: 6px 6px 0 0; z-index: 1; }
body.kp .kp-room__sofa::before { content: ""; position: absolute; left: -26px; right: -26px; bottom: -8px; height: 44px; background: #BFBCB1; }
body.kp .kp-room__wall { position: absolute; left: 0; right: 0; top: 0; bottom: 200px; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 24px; }
body.kp .kp-room__canvas { position: relative; width: 250px; height: 340px; box-shadow: 8px 8px 0 rgba(18,20,22,.14), 0 30px 60px rgba(18,20,22,.22); background: var(--kp-paper-2); transition: width .25s ease, height .25s ease; }
body.kp .kp-room__canvas img { width: 100%; height: 100%; object-fit: cover; display: block; box-shadow: none; cursor: default; margin: 0; max-height: none; }
body.kp .kp-room__canvas.is-shaped, body.kp .kp-room__canvas.is-mosaic { box-shadow: none; background: transparent; }
body.kp .kp-room__canvas.is-shaped { filter: drop-shadow(8px 8px 0 rgba(18,20,22,.14)) drop-shadow(0 24px 40px rgba(18,20,22,.22)); }
body.kp .kp-room__canvas.is-mosaic img { display: none; }
body.kp .kp-piece { position: absolute; display: block; filter: drop-shadow(6px 6px 0 rgba(18,20,22,.14)) drop-shadow(0 18px 30px rgba(18,20,22,.2)); }
body.kp .kp-piece__in { position: absolute; inset: 0; display: block; background-repeat: no-repeat; background-color: var(--kp-paper-2); }
body.kp .kp-room[data-shape="triangle"] .kp-room__canvas { box-shadow: none; filter: drop-shadow(8px 8px 0 rgba(18,20,22,.14)) drop-shadow(0 24px 40px rgba(18,20,22,.22)); }
body.kp .kp-room[data-shape="triangle"] .kp-room__canvas img { clip-path: polygon(50% 0, 100% 100%, 0 100%); }
body.kp .kp-room[data-shape="hexagon"] .kp-room__canvas { box-shadow: none; filter: drop-shadow(8px 8px 0 rgba(18,20,22,.14)) drop-shadow(0 24px 40px rgba(18,20,22,.22)); }
body.kp .kp-room[data-shape="hexagon"] .kp-room__canvas img { clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); }
body.kp .kp-room[data-shape="octagon"] .kp-room__canvas { box-shadow: none; filter: drop-shadow(8px 8px 0 rgba(18,20,22,.14)) drop-shadow(0 24px 40px rgba(18,20,22,.22)); }
body.kp .kp-room[data-shape="octagon"] .kp-room__canvas img { clip-path: polygon(30% 0, 70% 0, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0 70%, 0 30%); }
body.kp .kp-pd__scale { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--kp-muted); margin: 12px 0 0; }
body.kp .kp-pd__scale em { font-style: normal; }
body.kp .kp-pd__scale[hidden] { display: none; }
/* Terv 02: feltöltött kép doboza (kis előnézet, név, felbontás, „Másik kép") */
body.kp .kp-pd__info .pe-shop-uploaded-file.kp-drop { display: flex; gap: 16px; align-items: center; border: 1px solid var(--kp-line); background: #fff; padding: 14px; margin: 0 0 6px; }
body.kp .kp-drop__prev { width: 110px; height: 82px; flex: none; background-size: cover; background-position: center; background-color: var(--kp-paper-2); }
body.kp .kp-drop__t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
body.kp .kp-drop__t b { font-weight: 600; font-size: 15px; color: var(--kp-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.kp .kp-drop__meta { font-size: 13.5px; color: var(--kp-sage-text); }
body.kp .kp-drop__meta i { font-style: normal; }
body.kp .kp-drop__meta i.kp-drop__ok::before { content: "✓ "; }
body.kp .kp-drop__meta i.kp-drop__warn { color: var(--kp-error-fg); }
body.kp .kp-drop__meta i.kp-drop__warn::before { content: "! "; }
body.kp .kp-pd__info button.pe-shop-uploaded-file-remove.kp-drop__again { align-self: flex-start; margin: 6px 0 0; padding: 0 0 2px; font-size: 13px; color: var(--kp-ink); border: 0; border-bottom: 1px solid var(--kp-ink); background: transparent; border-radius: 0; min-height: 0; line-height: 1.3; letter-spacing: 0; text-transform: none; }
body.kp .kp-pd__info .pe-shop-dropzone[hidden] { display: none; }
/* Terv 02: saját lenyíló (érték | ár) — a natív select rejtve, de él */
body.kp .kp-pd__info select.kp-dd__native { position: absolute; width: 1px; height: 1px; min-height: 0; opacity: 0; pointer-events: none; margin: 0; padding: 0; border: 0; }
body.kp .kp-dd { position: relative; }
body.kp .kp-dd button.kp-dd__h { display: flex; align-items: center; gap: 12px; width: 100%; height: 52px; min-height: 52px; border: 1px solid var(--kp-ink); background: #fff; padding: 0 14px; font-family: var(--kp-text); font-size: 15.5px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--kp-ink); border-radius: 0; text-align: left; cursor: pointer; }
body.kp .kp-dd button.kp-dd__h.is-empty span { color: var(--kp-muted); }
body.kp .kp-dd button.kp-dd__h em { font-style: normal; margin-left: auto; color: var(--kp-muted); }
body.kp .kp-dd button.kp-dd__h .kp-shop-ic { width: 16px; height: 16px; transform: rotate(90deg); color: var(--kp-muted); }
body.kp .kp-dd button.kp-dd__h[aria-expanded="true"] .kp-shop-ic { transform: rotate(-90deg); }
body.kp .kp-dd__list { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; border: 1px solid var(--kp-line); border-top: 0; background: #fff; max-height: 264px; overflow: auto; box-shadow: 0 18px 34px rgba(18,20,22,.12); }
body.kp .kp-dd__list[hidden] { display: none; }
body.kp .kp-dd__o { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; font-size: 14.5px; border-bottom: 1px solid var(--kp-line); cursor: pointer; color: var(--kp-ink); }
body.kp .kp-dd__o:last-child { border-bottom: 0; }
body.kp .kp-dd__o em { font-style: normal; color: var(--kp-muted); }
body.kp .kp-dd__o:hover { background: var(--kp-paper); }
body.kp .kp-dd__o.is-on { background: var(--kp-paper-2); font-weight: 600; }
body.kp .kp-dd__o.is-on em { color: var(--kp-ink); }
/* Terv 03: ajándékutalvány-termékoldal */
body.kp .kp-pd__info .kp-fld { margin: 0 0 26px; }
body.kp .kp-pd__info .kp-fld .pe-shop-variant-label::before { counter-increment: kpfld; content: counter(kpfld) " · "; }
body.kp .kp-hint--center { text-align: center; }
body.kp .kp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
body.kp .kp-pd__info label.kp-chip { position: relative; display: inline-block; margin: 0; padding: 0; background: transparent; border: 0; cursor: pointer; font-size: 14px; line-height: 1.2; }
body.kp .kp-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
body.kp .kp-chip span { display: inline-block; border: 1px solid var(--kp-line); background: #fff; padding: 11px 18px; font-size: 14px; color: var(--kp-ink); transition: background .15s, border-color .15s, color .15s; }
body.kp .kp-chip:hover span { border-color: var(--kp-ink); }
body.kp .kp-chip input:checked + span { border-color: var(--kp-ink); background: var(--kp-ink); color: #fff; }
body.kp .kp-chip input:focus-visible + span { outline: 2px solid var(--kp-sage); outline-offset: 2px; }
body.kp .kp-pd__info input.kp-inp { width: 100%; height: 50px; min-height: 50px; border: 1px solid var(--kp-line); background: #fff; padding: 0 14px; font-size: 15.5px; font-weight: 300; color: var(--kp-ink); border-radius: 0; box-sizing: border-box; }
body.kp .kp-pd__info input.kp-inp:focus { border: 1px solid var(--kp-ink); box-shadow: 0 0 0 1px var(--kp-ink); padding: 0 14px; }
/* csomag-választó kártyák (ár-csoport) */
body.kp .kp-pd--voucher .pe-shop-detail-group[data-price-group] .pe-shop-detail-pills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
body.kp .kp-pd--voucher .pe-shop-detail-group[data-price-group] .pe-shop-detail-pill { padding: 12px 12px; }
body.kp .kp-pd--voucher .pe-shop-detail-group[data-price-group] .pe-shop-detail-pill span { display: flex; flex-direction: column; gap: 3px; font-family: var(--kp-display); font-weight: 500; font-size: 14.5px; }
body.kp .kp-pd--voucher .pe-shop-detail-group[data-price-group] .pe-shop-detail-pill small.kp-opt__price { font-family: var(--kp-text); font-weight: 300; font-size: 12.5px; color: var(--kp-muted); }
body.kp .kp-pd--voucher .pe-shop-detail-group[data-price-group] .pe-shop-detail-pill:has(input:checked) { background: #fff; color: var(--kp-ink); border-color: var(--kp-ink); box-shadow: inset 0 0 0 1px var(--kp-ink); }
body.kp .kp-pd--voucher .pe-shop-detail-group[data-price-group] .pe-shop-detail-pill:has(input:checked) small.kp-opt__price { color: var(--kp-ink); }
body.kp .kp-pd .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill small.kp-opt__price { display: none; }
/* átvétel-választó (digitális / plasztik) rádió-kártyák */
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pills { flex-direction: column; }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill { display: flex; align-items: center; gap: 14px; padding: 14px 16px; }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill span { display: flex; flex-direction: column; font-family: var(--kp-display); font-weight: 500; font-size: 15px; }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill span small { font-family: var(--kp-text); font-weight: 300; font-size: 13px; color: var(--kp-muted); }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill span::before { content: ""; display: block; position: absolute; left: 16px; top: 50%; width: 18px; height: 18px; margin-top: -9px; border: 1px solid var(--kp-ink); background: #fff; }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill { position: relative; padding-left: 48px; }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill:has(input:checked) { background: #fff; color: var(--kp-ink); border-color: var(--kp-ink); }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill:has(input:checked) span::after { content: ""; position: absolute; left: 21px; top: 50%; width: 8px; height: 8px; margin-top: -4px; background: var(--kp-ink); }
body.kp .kp-pd--voucher .pe-shop-detail-group:not([data-price-group]) .pe-shop-detail-pill:has(input:checked) small { color: var(--kp-muted); }
body.kp .kp-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0; padding: 0; border: 0; }
body.kp .kp-pd__info .kp-radios--card label.kp-radio { display: flex; align-items: center; gap: 14px; border: 1px solid var(--kp-line); background: #fff; padding: 14px 16px; margin: 0; cursor: pointer; position: relative; }
body.kp .kp-pd__info .kp-radios--card label.kp-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
body.kp .kp-pd__info .kp-radios--card label.kp-radio i { width: 18px; height: 18px; border: 1px solid var(--kp-ink); flex: none; position: relative; display: block; }
body.kp .kp-pd__info .kp-radios--card label.kp-radio:has(input:checked) { border-color: var(--kp-ink); }
body.kp .kp-pd__info .kp-radios--card label.kp-radio:has(input:checked) i::after { content: ""; position: absolute; inset: 4px; background: var(--kp-ink); }
body.kp .kp-pd__info .kp-radios--card label.kp-radio > div { display: flex; flex-direction: column; }
body.kp .kp-pd__info .kp-radios--card label.kp-radio b { font-family: var(--kp-display); font-weight: 500; font-size: 15px; color: var(--kp-ink); }
body.kp .kp-pd__info .kp-radios--card label.kp-radio span { font-size: 13px; color: var(--kp-muted); margin-top: 2px; }
/* felhasználás lépései a Kosárba gomb alatt */
body.kp .kp-vsteps { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid var(--kp-line); }
body.kp .kp-vsteps--wide { margin-top: 56px; padding-top: 40px; }
body.kp .kp-vsteps--wide ol { grid-template-columns: repeat(4, 1fr); gap: 12px; }
body.kp .kp-vsteps--wide .kp-eyebrow { margin: 0 0 16px; }
body.kp .kp-vsteps .kp-vsteps__label { margin-bottom: 12px; }
body.kp .kp-vsteps ol { list-style: none; counter-reset: kpstep; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
body.kp .kp-vsteps ol li { counter-increment: kpstep; background: var(--kp-card); border: 1px solid var(--kp-line); padding: 14px 14px 14px 14px; font-size: 14px; line-height: 1.5; color: var(--kp-body); }
body.kp .kp-vsteps ol li::before { content: "0" counter(kpstep); display: block; font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .3em; color: var(--kp-sage-text); margin-bottom: 6px; }
body.kp .kp-vsteps ol li strong { font-weight: 600; color: var(--kp-ink); }
/* 2026-10-11 (user): az utalvány „Így működik” blokkja vízszintes idővonal — számozott csomópontok, köztük vonal; mobilon függőleges. */
body.kp .kp-vsteps--wide ol { grid-template-columns: repeat(4, 1fr); gap: 0 28px; }
body.kp .kp-vsteps--wide ol li { position: relative; background: transparent; border: 0; padding: 60px 0 0; font-size: 14.5px; line-height: 1.6; color: var(--kp-muted); }
body.kp .kp-vsteps--wide ol li::before { content: counter(kpstep, decimal-leading-zero); position: absolute; left: 0; top: 0; z-index: 1; width: 40px; height: 40px; margin: 0; display: flex; align-items: center; justify-content: center; background: var(--kp-ink); color: #fff; font-size: 12px; letter-spacing: .08em; }
body.kp .kp-vsteps--wide ol li::after { content: ""; position: absolute; top: 20px; left: 52px; right: -16px; height: 1px; background: var(--kp-line-2); }
body.kp .kp-vsteps--wide ol li:last-child::after { display: none; }
body.kp .kp-vsteps--wide ol li:last-child::before { background: var(--kp-sage); color: var(--kp-ink); }
body.kp .kp-vsteps--wide ol li strong { display: block; font-family: var(--kp-display); font-weight: 500; font-size: 17px; line-height: 1.3; color: var(--kp-ink); margin: 0 0 6px; }
/* Egyetlen „Tulajdonságok” hasáb (utalvány): ne szoruljon a 3 hasábos rács harmadába. */
body.kp .kp-pd__tabs > div:only-child { grid-column: 1 / -1; max-width: 760px; }
body.kp .kp-kapiband { display: flex; align-items: center; gap: 22px; background: var(--kp-paper-2); padding: 22px 28px; margin-top: 56px; }
body.kp .kp-kapiband img { width: 120px; height: auto; flex: none; margin: 0; }
body.kp .kp-kapiband b { display: block; font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--kp-sage-text); margin-bottom: 6px; }
body.kp .kp-kapiband p { font-size: 15.5px; line-height: 1.55; color: var(--kp-body); margin: 0; }
body.kp .pe-shop-lightbox-overlay { position: fixed; inset: 0; background: rgba(18,20,22,.86); z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 24px; }
body.kp .pe-shop-lightbox-overlay[hidden] { display: none; }
body.kp .pe-shop-lightbox-inner { position: relative; max-width: 92vw; max-height: 92vh; }
body.kp .pe-shop-lightbox-inner img { max-width: 92vw; max-height: 88vh; display: block; }
body.kp .pe-shop-modal-close { position: absolute; right: -8px; top: -44px; background: transparent; color: #fff; border: 0; font-size: 30px; padding: 0; min-height: 0; line-height: 1; }

/* ---------- 3. Kosár + megrendelés (Store: CartPageController) ---------- */
body.kp .gallery-cart-wrap.kp-cart-wrap { max-width: 1280px; width: 100%; padding: 26px var(--kp-margin) 80px; margin: 0 auto; min-height: 0; display: block; justify-content: flex-start; font-family: var(--kp-text); color: var(--kp-ink); background: var(--kp-paper); box-sizing: border-box; }
body.kp .kp-cart-wrap .kp-cart-head { margin: 0 0 30px; display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
body.kp .kp-cart-wrap .kp-cart-head a.kp-cart-back { margin-bottom: 8px; }
body.kp .kp-cart-wrap .kp-cart-head .kp-eyebrow { margin: 0; }
body.kp .kp-cart-wrap .kp-cart-head h1 { font-family: var(--kp-display); font-weight: 300; font-size: clamp(34px, 4vw, 44px); letter-spacing: -.022em; margin: 10px 0 0; line-height: 1.08; }
body.kp .kp-cart-wrap .kp-cart-head[hidden], body.kp .kp-cart-wrap [hidden] { display: none !important; }
body.kp .kp-steps { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 4px 0 28px; font-family: var(--kp-display); font-weight: 500; font-size: 11.5px; letter-spacing: .18em; text-transform: uppercase; color: #9AA09B; }
body.kp .kp-steps span { display: inline-flex; align-items: center; gap: 6px; }
body.kp .kp-steps span.is-on { color: var(--kp-ink); }
body.kp .kp-steps span.is-done { color: var(--kp-sage-text); }
body.kp .kp-steps span.is-done::before { content: ""; display: inline-block; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'><path d='M5 12.5l4.2 4.2L19 7'/></svg>") center / contain no-repeat; mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'><path d='M5 12.5l4.2 4.2L19 7'/></svg>") center / contain no-repeat; }
body.kp .kp-steps a { color: inherit; text-decoration: none; }
body.kp .kp-steps i { width: 40px; height: 1px; background: var(--kp-line); }
body.kp .kp-cart-grid { display: grid; grid-template-columns: 1fr 380px; gap: 24px; align-items: start; }
body.kp .kp-cart-main { min-width: 0; }
body.kp .kp-cart-main .gallery-cart-content { display: block; }
body.kp .kp-cart-main .gallery-cart-lines { display: block; }
/* Kosár-sor (terv .ci) */
body.kp .kp-cart-wrap .gallery-cart-line { display: grid; grid-template-columns: 120px 1fr auto 130px; gap: 22px; align-items: center; background: var(--kp-card); border: 1px solid var(--kp-line); padding: 22px 24px; margin: 0 0 12px; position: relative; }
body.kp .kp-cline__img { height: 100px; background: var(--kp-paper-2); display: flex; align-items: center; justify-content: center; overflow: hidden; }
body.kp .kp-cline__img img { width: 74px; height: auto; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 4px 4px 0 rgba(18,20,22,.14), 0 12px 24px rgba(18,20,22,.16); display: block; margin: 0; }
body.kp .kp-cline__img .kp-dv { --s: .2; }
body.kp .kp-cline__img .gallery-cart-line-thumbs { display: flex; gap: 4px; flex-wrap: wrap; justify-content: center; padding: 8px; }
body.kp .kp-cline__img .gallery-cart-line-thumbs img { width: 40px; height: 40px; aspect-ratio: 1; box-shadow: none; }
body.kp .kp-cline__img .gallery-cart-line-thumbs-more { font-size: 12px; color: var(--kp-muted); align-self: center; }
body.kp .kp-cart-wrap .gallery-cart-line-info { min-width: 0; }
body.kp .kp-cart-wrap .gallery-cart-line-name { font-family: var(--kp-display); font-weight: 400; font-size: 18px; line-height: 1.3; color: var(--kp-ink); }
body.kp .kp-cart-wrap .gallery-cart-line-options { font-size: 13.5px; color: var(--kp-muted); margin-top: 4px; line-height: 1.5; }
body.kp .kp-cart-wrap .gallery-cart-line-bundle-contents { list-style: none; padding: 0; margin: 6px 0 0; font-size: 13px; color: var(--kp-muted); }
body.kp .kp-cart-wrap .gallery-cart-line-bundle-contents li { display: flex; justify-content: space-between; gap: 12px; padding: 2px 0; font-size: 13px; }
body.kp .kp-cart-wrap .gallery-cart-line-remove { position: static; width: auto; height: auto; line-height: 1.4; overflow: visible; z-index: auto; border-radius: 0; display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--kp-muted); margin-top: 10px; background: transparent; border: 0; padding: 0; min-height: 0; letter-spacing: 0; text-transform: none; font-family: var(--kp-text); cursor: pointer; }
body.kp .kp-cart-wrap .gallery-cart-line-remove:hover { color: var(--kp-ink); background: transparent; }
body.kp .kp-cart-wrap .gallery-cart-line-remove .kp-shop-ic { width: 12px; height: 12px; }
body.kp .kp-cart-wrap .gallery-cart-line-meta { display: contents; }
body.kp .kp-cart-wrap .gallery-cart-line-meta-group { display: flex; align-items: center; justify-content: flex-end; }
body.kp .kp-cart-wrap .gallery-cart-line-price { display: none; }
body.kp .kp-cart-wrap .gallery-cart-line-total { font-family: var(--kp-display); font-weight: 400; font-size: 18px; text-align: right; color: var(--kp-ink); }
body.kp .kp-cart-wrap .gallery-cart-line-total s { display: block; font-size: 13px; color: #9AA09B; font-weight: 400; }
body.kp .kp-cart-wrap .kp-cline__pkgqty { font-size: 13px; color: var(--kp-muted); }
body.kp .kp-cart-kapihint { display: flex; align-items: center; gap: 16px; padding: 12px 18px; color: var(--kp-body); font-size: 15px; line-height: 1.5; }
body.kp .kp-cart-kapihint img { width: 96px; height: auto; flex: none; margin: 0; }
body.kp .kp-cart-kapihint b { color: var(--kp-sage-text); font-weight: 600; }
/* Összesítő (terv .csum) */
body.kp .kp-cart-aside { position: sticky; top: 110px; }
body.kp .kp-csum { background: var(--kp-card); border: 1px solid var(--kp-line); padding: 26px 26px 28px; }
body.kp .kp-csum h3 { font-family: var(--kp-display); font-weight: 500; font-size: 19px; letter-spacing: -.005em; margin: 0 0 18px; }
body.kp .kp-csum .gallery-cart-totals { margin: 0; padding: 0; border: 0; background: transparent; }
body.kp .kp-csum .gallery-cart-total-row { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--kp-line); font-size: 15px; color: var(--kp-ink); margin: 0; }
body.kp .kp-csum .gallery-cart-total-row span:last-child { font-weight: 400; text-align: right; }
body.kp .kp-csum .gallery-cart-total-row--info { color: var(--kp-muted); font-size: 13.5px; }
body.kp .kp-csum .gallery-cart-total-row--grand { border-bottom: 0; padding-top: 16px; margin-bottom: 14px; }
body.kp .kp-csum .gallery-cart-total-row--grand span:last-child { font-family: var(--kp-display); font-weight: 400; font-size: 24px; }
body.kp .kp-csum .gallery-cart-coupon-box { margin: 4px 0 4px; padding: 0; border: 0; background: transparent; }
body.kp .kp-csum .gallery-cart-coupon-box > label { display: none; }
body.kp .kp-csum .gallery-cart-coupon-row { display: flex; gap: 8px; }
body.kp .kp-csum .gallery-cart-coupon-row input { flex: 1; min-width: 0; height: 46px; min-height: 46px; padding: 0 14px; font-size: 14.5px; }
body.kp .kp-csum .gallery-cart-coupon-row input:focus { padding: 0 13px; }
body.kp .kp-csum .gallery-cart-coupon-row .gallery-btn { height: 46px; min-height: 46px; padding: 0 18px; background: #fff; color: var(--kp-ink); border: 1px solid var(--kp-ink); border-radius: 0; font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
body.kp .kp-csum .gallery-cart-coupon-row .gallery-btn:hover { background: var(--kp-ink); color: #fff; }
body.kp .kp-csum .gallery-cart-coupon-message { font-size: 13px; margin: 8px 0 0; }
body.kp .kp-csum .gallery-cart-coupon-message--error { color: var(--kp-error-fg); }
body.kp .kp-csum .gallery-cart-coupon-message--success { color: var(--kp-sage-text); }
body.kp .kp-csum .kp-shop-btn { margin-top: 4px; }
body.kp .kp-csum .kp-fine { margin-top: 14px; }
body.kp .kp-minis { margin: 0 0 4px; }
body.kp .kp-mini { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--kp-line); }
body.kp .kp-mini__img { width: 64px; height: 48px; flex: none; background: var(--kp-paper-2); display: flex; align-items: center; justify-content: center; overflow: hidden; }
body.kp .kp-mini__img img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
body.kp .kp-mini__img .kp-dv { --s: .12; }
body.kp .kp-mini div { flex: 1; display: flex; flex-direction: column; min-width: 0; }
body.kp .kp-mini b { font-weight: 600; font-size: 14px; color: var(--kp-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.kp .kp-mini span { font-size: 12.5px; color: var(--kp-muted); }
body.kp .kp-mini em { font-style: normal; font-size: 14px; color: var(--kp-ink); white-space: nowrap; }
body.kp .kp-kapi-mini { display: flex; align-items: center; gap: 10px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--kp-line); font-size: 13.5px; color: var(--kp-muted); line-height: 1.45; }
body.kp .kp-kapi-mini img { width: 64px; height: auto; flex: none; margin: 0; }
/* Megrendelés-kártyák (terv .card) */
body.kp .kp-cart-wrap #store-checkout-wizard { display: block; max-width: none; width: 100%; margin: 0; }
body.kp .kp-cart-wrap .gallery-wizard-step-indicator { position: absolute; left: -9999px; }
body.kp .kp-cart-wrap .gallery-wizard-step { background: var(--kp-card); border: 1px solid var(--kp-line); padding: 26px 28px 28px; margin: 0 0 16px; }
body.kp .kp-cart-wrap .gallery-wizard-step h3 { font-family: var(--kp-display); font-weight: 500; font-size: 19px; letter-spacing: -.005em; margin: 0 0 18px; }
body.kp .kp-cart-wrap .gallery-wizard-step .pe-shop-hint { font-size: 14px; color: var(--kp-muted); margin: -8px 0 16px; line-height: 1.5; }
body.kp .kp-cart-wrap .gallery-cart-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 0 12px; }
body.kp .kp-cart-wrap .gallery-cart-field-row label, body.kp .kp-cart-wrap .gallery-cart-field-full { display: block; font-family: var(--kp-display); font-weight: 600; font-size: 10.5px; letter-spacing: .22em; text-transform: uppercase; color: var(--kp-muted); margin: 0 0 12px; }
body.kp .kp-cart-wrap .gallery-cart-field-row label input, body.kp .kp-cart-wrap .gallery-cart-field-full input, body.kp .kp-cart-wrap .gallery-cart-field-full select, body.kp .kp-cart-wrap .gallery-cart-field-full textarea { display: block; width: 100%; margin-top: 6px; height: 50px; min-height: 50px; padding: 0 14px; font-family: var(--kp-text); font-size: 15.5px; font-weight: 300; letter-spacing: 0; text-transform: none; color: var(--kp-ink); background: #fff; border: 1px solid var(--kp-line); border-radius: 0; box-sizing: border-box; }
body.kp .kp-cart-wrap .gallery-cart-field-full textarea { height: auto; min-height: 96px; padding: 12px 14px; line-height: 1.5; }
body.kp .kp-cart-wrap .gallery-cart-field-row label input:focus, body.kp .kp-cart-wrap .gallery-cart-field-full input:focus, body.kp .kp-cart-wrap .gallery-cart-field-full textarea:focus, body.kp .kp-cart-wrap .gallery-cart-field-full select:focus { border: 1px solid var(--kp-ink); box-shadow: 0 0 0 1px var(--kp-ink); padding: 0 14px; }
body.kp .kp-cart-wrap .gallery-cart-field-full textarea:focus { padding: 12px 14px; }
body.kp .kp-cart-wrap input[readonly] { background: var(--kp-paper-2); color: var(--kp-muted); }
body.kp .kp-cart-wrap .gallery-cart-checkbox-label { display: flex; align-items: flex-start; gap: 10px; font-family: var(--kp-text); font-size: 14px; letter-spacing: 0; text-transform: none; font-weight: 300; color: var(--kp-body); margin: 14px 0 0; line-height: 1.5; cursor: pointer; }
body.kp .kp-cart-wrap .gallery-cart-checkbox-label input { width: 20px; height: 20px; min-height: 0; margin: 2px 0 0; flex: none; accent-color: var(--kp-ink); }
body.kp .kp-cart-wrap .gallery-cart-checkbox-label a { color: var(--kp-ink); text-decoration: underline; text-underline-offset: 3px; }
/* Átvétel / fizetés választó (terv .radio) */
body.kp .kp-radios { display: flex; flex-direction: column; gap: 8px; }
body.kp .kp-cart-wrap .gallery-cart-delivery-section { margin: 0; padding: 0; border: 0; background: transparent; }
body.kp .kp-cart-wrap .gallery-cart-delivery-section > h3 { display: none; }
body.kp .kp-cart-wrap .gallery-cart-delivery-methods { display: flex; flex-direction: column; gap: 8px; }
body.kp .kp-cart-wrap label.kp-radio { display: flex; align-items: center; gap: 14px; border: 1px solid var(--kp-line); background: #fff; padding: 14px 16px; margin: 0; cursor: pointer; font-family: var(--kp-text); letter-spacing: 0; text-transform: none; font-weight: 300; color: var(--kp-ink); transition: border-color .15s; }
body.kp .kp-cart-wrap label.kp-radio:hover { border-color: var(--kp-line-2); }
body.kp .kp-cart-wrap label.kp-radio:has(input:checked) { border-color: var(--kp-ink); }
body.kp .kp-cart-wrap label.kp-radio input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
body.kp .kp-cart-wrap label.kp-radio i { width: 18px; height: 18px; border: 1px solid var(--kp-ink); flex: none; position: relative; display: block; }
body.kp .kp-cart-wrap label.kp-radio:has(input:checked) i::after { content: ""; position: absolute; inset: 4px; background: var(--kp-ink); }
body.kp .kp-cart-wrap label.kp-radio > div { flex: 1; display: flex; flex-direction: column; min-width: 0; }
body.kp .kp-cart-wrap label.kp-radio b { font-family: var(--kp-display); font-weight: 500; font-size: 15px; color: var(--kp-ink); }
body.kp .kp-cart-wrap label.kp-radio span { font-size: 13px; color: var(--kp-muted); margin-top: 2px; }
body.kp .kp-cart-wrap label.kp-radio .kp-shop-ic { color: var(--kp-ink); flex: none; }
body.kp .kp-cart-wrap label.kp-radio .kp-paylogos { margin-top: 8px; }
body.kp .kp-cart-wrap label.kp-radio > div { flex: 1 1 auto; }
body.kp .kp-cart-wrap .pe-shop-personal-info { display: block; font-size: 13.5px; color: var(--kp-muted); margin: 12px 0 0; }
body.kp .kp-cart-wrap .pe-shop-personal-info a { color: var(--kp-ink); }
body.kp .kp-cart-wrap #store-pickup-point-section, body.kp .kp-cart-wrap #store-shipping-address-section { margin-top: 18px; }
body.kp .kp-cart-wrap #store-shipping-address-section .gallery-cart-checkbox-label { margin: 0 0 14px; }
body.kp .kp-cart-wrap .pe-shop-payment-method { margin: 0 0 18px; }
body.kp .kp-cart-wrap .pe-shop-payment-method > p { display: none; }
body.kp .kp-cart-wrap .gallery-wizard-summary { border: 1px solid var(--kp-line); background: var(--kp-paper); padding: 14px 16px; margin: 0 0 18px; }
body.kp .kp-cart-wrap .gallery-wizard-summary p { font-size: 14px; line-height: 1.6; margin: 0; color: var(--kp-body); }
body.kp .kp-cart-wrap .gallery-wizard-summary p strong { color: var(--kp-ink); font-weight: 600; }
body.kp .kp-cart-wrap .gallery-manufacturing-disclaimer { border: 1px solid var(--kp-line); background: var(--kp-paper); padding: 14px 16px; margin: 18px 0 0; }
body.kp .kp-cart-wrap .gallery-manufacturing-disclaimer-text, body.kp .kp-cart-wrap .gallery-manufacturing-disclaimer-text p { font-size: 13.5px; line-height: 1.55; color: var(--kp-body); }
body.kp .kp-cart-wrap .gallery-manufacturing-disclaimer .gallery-cart-checkbox-label { margin-top: 10px; }
body.kp .kp-cart-wrap .gallery-wizard-nav { display: flex; gap: 10px; margin: 0; justify-content: space-between; align-items: stretch; }
body.kp .kp-cart-wrap .gallery-wizard-nav .kp-shop-btn { min-height: 54px; }
body.kp .kp-cart-wrap .gallery-wizard-nav .gallery-btn:not(.kp-shop-btn) { display: inline-flex; align-items: center; min-height: 54px; padding: 0 22px; background: transparent; color: var(--kp-ink); border: 1px solid var(--kp-ink); border-radius: 0; font-family: var(--kp-display); font-weight: 600; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
body.kp .kp-cart-wrap .gallery-wizard-nav .gallery-btn:not(.kp-shop-btn):hover { background: var(--kp-ink); color: #fff; }
body.kp .kp-cart-wrap .gallery-cart-fallback-notice { border: 1px solid var(--kp-error-line); background: var(--kp-error-bg); color: var(--kp-error-fg); padding: 14px 16px; font-size: 14px; line-height: 1.55; margin: 18px 0 0; }
/* Üres kosár (a kp-design.php cart_empty_state_html szűrője adja a Kapi-kártyát) */
body.kp .kp-cart-wrap .gallery-cart-empty { padding: 0; }
body.kp .kp-cart-wrap .kp-cart-empty { border: 0; background: transparent; padding: 10px 0 40px; max-width: 640px; }
body.kp .kp-cart-wrap .kp-cart-empty__kapi img { width: 260px; }
body.kp .kp-cart-wrap .kp-cart-empty h2 { font-size: clamp(32px, 4vw, 52px); margin: 6px 0 14px; }
body.kp .kp-cart-wrap .kp-cart-empty p { font-size: 17px; color: var(--kp-body); }

/* ---------- 4. Köszönő / fizetés-eredmény oldal ---------- */
body.kp .gallery-cart-wrap.kp-thanks-wrap { max-width: none; width: 100%; min-height: 0; display: flex; justify-content: center; padding: 70px var(--kp-margin) 110px; background: var(--kp-paper); }
body.kp .kp-thanks { max-width: 640px; width: 100%; text-align: center; display: flex; flex-direction: column; align-items: center; background: transparent; border: 0; padding: 0; box-shadow: none; }
body.kp .kp-thanks .kp-result-kapi img { width: 220px; height: auto; }
body.kp .kp-thanks .kp-eyebrow { margin: 6px 0 0; }
body.kp .kp-thanks h1, body.kp .kp-thanks h2 { font-family: var(--kp-display); font-weight: 300; font-size: clamp(34px, 4.6vw, 52px); line-height: 1.08; letter-spacing: -.022em; margin: 14px 0 18px; color: var(--kp-ink); }
body.kp .kp-thanks p { font-size: 17px; line-height: 1.65; color: var(--kp-body); text-align: center; margin: 0 0 12px; }
body.kp .kp-thanks .kp-next { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 22px 0 30px; width: 100%; }
body.kp .kp-thanks .kp-next div { background: var(--kp-card); border: 1px solid var(--kp-line); padding: 18px 16px; display: flex; flex-direction: column; gap: 8px; text-align: left; }
body.kp .kp-thanks .kp-next b { font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .3em; color: var(--kp-sage-text); }
body.kp .kp-thanks .kp-next span { font-size: 14px; line-height: 1.5; color: var(--kp-body); }
body.kp .kp-thanks .kp-thanks__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 10px; }
body.kp .kp-thanks .gallery-cart-fallback-notice { border: 1px solid var(--kp-error-line); background: var(--kp-error-bg); color: var(--kp-error-fg); padding: 14px 16px; font-size: 14px; line-height: 1.55; margin: 0 0 18px; text-align: left; }

/* ---------- 5. Sötét fejléc a webshop oldalain (terv: minden bolt-oldal fejléce tinta; body.kp-shop-ot a Store adja) ---------- */
body.kp.kp-shop #mfn-header-template, body.kp.kp-shop .mfn-header-tmpl { background: var(--kp-ink) !important; border-bottom: 1px solid var(--kp-dark-line); }
/* A kp-design.css a builder-tartalomnak papír-hátteret ad (body.kp .mfn-builder-content) — a fejlécben ez fedte el a sötétet. */
body.kp.kp-shop #mfn-header-template > .mfn-builder-content, body.kp.kp-shop #mfn-header-template > .mfn-builder-content > .mcb-section, body.kp.kp-shop #mfn-header-template > .mfn-builder-content > .mcb-section > .section_wrapper > .mcb-wrap, body.kp.kp-shop #mfn-header-template > .mfn-builder-content > .mcb-section > .section_wrapper > .mcb-wrap > .mcb-wrap-background-overlay, body.kp.kp-shop #mfn-header-template > .mfn-builder-content > .mcb-section > .mcb-section-background-overlay { background: transparent !important; }
/* A mega menü panelje (a fejléc-sablonon BELÜL él) világos marad — csak a fejléc sávja sötét. */
/* A panel külső doboza (.mfn-menu-item-megamenu / .mfn-megamenu-tmpl-builder) a szekció 24 px-es felső margóját is
   festi — a sötét sávon ez látszott „rácsúszásnak”, sticky módban a menüszövegbe lógott. A papír-háttér csak a szekción. */
body.kp.kp-shop #mfn-header-template .mfn-menu-item-megamenu, body.kp.kp-shop #mfn-header-template .mfn-megamenu-tmpl-builder { background: transparent !important; box-shadow: none; }
body.kp.kp-shop #mfn-header-template .mfn-megamenu-tmpl-builder > section, body.kp.kp-shop #mfn-header-template ul.sub-menu.mfn-submenu { background: var(--kp-paper) !important; }
body.kp.kp-shop .mfn-header-tmpl .mfn-header-menu > li > a, body.kp.kp-shop .mfn-header-tmpl .menu > li > a, body.kp.kp-shop .mfn-header-tmpl .header-menu a { color: var(--kp-on-dark-2); }
/* A Betheme dinamikus CSS-e a főmenü linkjeit feketére állítja (#mfn-header-template … .mfn-menu-link) — a sötét fejlécen világos kell. */
body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li > a.mfn-menu-link, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li > a.mfn-menu-link * { color: var(--kp-on-dark-2) !important; }
/* A Betheme a menüfelirat belső span-jainak (menu-item-helper / label-wrapper / menu-label) fehér hátteret ad — a sötét sávon fehér doboz lett belőle. */
body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li > a.mfn-menu-link, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li > a.mfn-menu-link .menu-item-helper, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li > a.mfn-menu-link .label-wrapper, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li > a.mfn-menu-link .menu-label, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li > a.mfn-menu-link .menu-sub { background: transparent !important; background-color: transparent !important; box-shadow: none !important; }
body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li:hover > a.mfn-menu-link, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li.current-menu-item > a.mfn-menu-link, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li.current-menu-ancestor > a.mfn-menu-link, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li:hover > a.mfn-menu-link *, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li.current-menu-item > a.mfn-menu-link *, body.kp.kp-shop #mfn-header-template ul.mfn-header-menu > li.current-menu-ancestor > a.mfn-menu-link * { color: #fff !important; }
body.kp.kp-shop .mfn-header-tmpl .mfn-header-menu > li > a:hover, body.kp.kp-shop .mfn-header-tmpl .menu > li > a:hover, body.kp.kp-shop .mfn-header-tmpl .menu > li.current-menu-item > a, body.kp.kp-shop .mfn-header-tmpl .menu > li.current-menu-ancestor > a, body.kp.kp-shop .mfn-header-tmpl .menu > li.current_page_item > a { color: #fff; }
body.kp.kp-shop #mfn-header-template .column_header_logo img { filter: brightness(0) invert(1); }
body.kp.kp-shop .kp-header-lock a, body.kp.kp-shop #mfn-header-template .column_header_icon a, body.kp.kp-shop #mfn-header-template .column_header_icon a i, body.kp.kp-shop #mfn-header-template .column_header_icon a svg { color: #fff !important; fill: currentColor; }
body.kp.kp-shop #mfn-header-template .column_header_icon a[href*="/kosar"], body.kp.kp-shop #mfn-header-template .column_header_icon a[href*="/kosar"]::after, body.kp.kp-shop #mfn-header-template .column_header_icon a[href*="/kosar"] .icon-wrapper i, body.kp.kp-shop #mfn-header-template .store-header-cart-total { color: #fff !important; }
body.kp.kp-shop #mfn-header-template .store-header-cart-badge { background: var(--kp-sage) !important; color: var(--kp-ink) !important; border-color: var(--kp-ink); }
body.kp.kp-shop .kp-header-search input.ai-asszisztens-search-input { color: #fff; border-bottom-color: rgba(247,247,245,.35); }
body.kp.kp-shop .kp-header-search input.ai-asszisztens-search-input:focus { border-bottom-color: #fff !important; }
body.kp.kp-shop .kp-header-search input.ai-asszisztens-search-input::placeholder { color: rgba(247,247,245,.6); }
body.kp.kp-shop .kp-header-search .ai-asszisztens-search-btn { color: #fff; }
body.kp.kp-shop #mfn-header-template .column_header_burger a, body.kp.kp-shop #mfn-header-template .column_header_burger i, body.kp.kp-shop #mfn-header-template .column_header_burger svg, body.kp.kp-shop #mfn-header-template .mfn-header-burger, body.kp.kp-shop #mfn-header-template .header_burger a { color: #fff !important; }
body.kp.kp-shop #mfn-header-template .column_header_burger span, body.kp.kp-shop #mfn-header-template .column_header_burger .mfn-burger-icon span, body.kp.kp-shop #mfn-header-template .column_header_burger .burger-icon > *, body.kp.kp-shop #mfn-header-template .column_header_burger .icon-line { background-color: #fff !important; }
body.kp.kp-shop.kp-scrolled #mfn-header-template { background: var(--kp-ink); }

/* ---------- 6. Reszponzív ---------- */
@media (max-width: 1100px) {
	body.kp .kp-cart-grid { grid-template-columns: 1fr 340px; }
	body.kp .kp-prods { grid-template-columns: repeat(3, 1fr); }
	body.kp .kp-shop-hero > .section_wrapper { column-gap: 24px; }
}
@media (max-width: 959px) {
	body.kp .kp-pd { grid-template-columns: minmax(0, 1fr); gap: 26px; } /* minmax(0,…): a tartalom min-szélessége ne tolja ki az oszlopot a képernyő széléig */
	body.kp .kp-pd__stage, body.kp .kp-pd__info { min-width: 0; }
	body.kp .kp-pd__vis { position: static; }
	body.kp .kp-cart-grid { grid-template-columns: 1fr; gap: 16px; }
	body.kp .kp-cart-aside { position: static; }
	body.kp .kp-shop-hero > .section_wrapper { grid-template-columns: 1fr; row-gap: 26px; padding-top: 48px; padding-bottom: 56px; }
	body.kp .kp-shopcats > .section_wrapper { grid-template-columns: 1fr; gap: 12px; }
	body.kp .kp-bookband-sec > .section_wrapper { grid-template-columns: 1fr; padding: 30px 22px; row-gap: 22px; }
	body.kp .kp-trust > .mcb-wrap-inner { grid-template-columns: 1fr; gap: 18px; padding-top: 28px; }
	body.kp .kp-seo-cols { grid-template-columns: 1fr; gap: 12px; }
	body.kp .kp-pd__tabs { grid-template-columns: 1fr; gap: 18px; margin-top: 36px; padding-top: 24px; }
	body.kp .kp-pd__desc .pe-shop-detail-long-description { columns: 1; }
	body.kp .kp-thanks .kp-next { grid-template-columns: 1fr; gap: 8px; }
}
@media (max-width: 700px) {
	body.kp .kp-prods, body.kp .kp-prods--3, body.kp .kp-prods--2 { grid-template-columns: 1fr 1fr; gap: 10px; }
	body.kp a.kp-prod, body.kp .kp-prod { padding: 12px 12px 14px; }
	body.kp .kp-prod__img { height: 140px; margin-bottom: 12px; }
	body.kp .kp-prod b { font-size: 14px; } body.kp .kp-prod .kp-prod__price { font-size: 14px; } body.kp .kp-prod em { font-size: 12px; }
	body.kp .kp-prod .kp-prod__price s { display: block; margin: 2px 0 0; }
	body.kp .kp-prod__img--voucher .kp-dv { --s: .27; }
	body.kp .kp-shopcat__voucher .kp-dv { --s: .55; }
	body.kp .kp-shop-hero h1 { font-size: 38px; margin-top: 12px; } body.kp .kp-shop-hero .kp-lead p { font-size: 16px; margin-top: 14px; }
	body.kp .kp-shop-hero .column_button { display: block; width: 100%; margin: 12px 0 0; }
	body.kp .kp-shop-hero .column_button a.button { width: 100%; text-align: center; }
	body.kp .kp-wall { height: 250px; }
	body.kp .kp-kapi-tip { margin: 12px 0 0; max-width: none; font-size: 13.5px; display: flex; }
	body.kp .kp-shopcat .image_frame img, body.kp .kp-shopcat__voucher { height: 180px; }
	body.kp .kp-shopcat__body b { font-size: 21px; }
	body.kp .kp-shopcats { padding-top: 40px; }
	body.kp .kp-shop-sec { padding-top: 36px; }
	body.kp .kp-book { height: 150px; } body.kp .kp-bookvis { flex-direction: column; gap: 0; } body.kp .kp-bookvis > img { width: 110px; margin-top: -12px; }
	body.kp .kp-trust-sec { padding: 40px 0 48px; } body.kp .kp-seo { margin-top: 40px; padding-top: 28px; } body.kp .kp-seo h2 { font-size: 22px; }
	body.kp .kp-pd-wrap { padding: 18px 20px 48px; box-sizing: border-box; }
	body.kp .kp-crumbs-line { padding: 0; margin-bottom: 20px; font-size: 10px; letter-spacing: .16em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	body.kp .kp-pd__stage { min-height: 300px; padding: 28px; }
	body.kp .kp-room { min-height: 330px; } body.kp .kp-room::after { height: 70px; } body.kp .kp-room__sofa { left: 12%; right: 12%; bottom: 46px; height: 58px; } body.kp .kp-room__wall { bottom: 110px; padding-bottom: 14px; }
	body.kp .kp-drop__prev { width: 84px; height: 64px; } body.kp .kp-drop__t b { font-size: 13.5px; white-space: normal; word-break: break-all; } body.kp .kp-pd__stage img { max-height: 340px; } body.kp .kp-pd__stage .kp-dv { --s: .55; }
	body.kp .kp-pd__caption { flex-direction: column; gap: 2px; font-size: 12px; }
	body.kp .kp-pd__info h1 { font-size: 28px; } body.kp .kp-pd__info .pe-shop-product-price { margin: 12px 0 22px; font-size: 30px; } body.kp .kp-pd__info .pe-shop-product-price s { font-size: 18px; }
	body.kp .kp-pd__info .pe-shop-detail-thumbs { grid-template-columns: repeat(4, 1fr); }
	body.kp .kp-pd__info .pe-shop-detail-group { margin-bottom: 20px; }
	body.kp .kp-pd--voucher .pe-shop-detail-group[data-price-group] .pe-shop-detail-pills { grid-template-columns: 1fr 1fr; }
	body.kp .kp-vsteps ol, body.kp .kp-vsteps--wide ol { grid-template-columns: 1fr; }
	body.kp .kp-kapiband { flex-direction: column; text-align: center; padding: 20px; margin-top: 32px; }
	body.kp .kp-pd__qty .pe-shop-qty-stepper { flex: none; width: auto; }
	body.kp .kp-pd__qty .pe-shop-qty-input { width: 52px; flex: none; }
	body.kp .kp-pd__qty .pe-shop-qty-stepper button.pe-shop-qty-btn { width: 40px; flex: none; }
	body.kp .gallery-cart-wrap.kp-cart-wrap { padding: 18px var(--kp-margin) 48px; }
	body.kp .kp-cart-wrap .kp-cart-head h1 { font-size: 32px; margin: 6px 0 0; } body.kp .kp-cart-wrap .kp-cart-head { margin-bottom: 18px; }
	body.kp .kp-cart-wrap .gallery-cart-line { grid-template-columns: 84px 1fr; gap: 12px 14px; padding: 14px; }
	body.kp .kp-cline__img { height: 74px; } body.kp .kp-cline__img img { width: 54px; } body.kp .kp-cline__img .kp-dv { --s: .15; }
	body.kp .kp-cart-wrap .gallery-cart-line-name { font-size: 15.5px; } body.kp .kp-cart-wrap .gallery-cart-line-options { font-size: 12.5px; }
	body.kp .kp-cart-wrap .gallery-cart-line-meta-group { grid-column: 2; justify-content: flex-start; }
	body.kp .kp-cart-wrap .gallery-cart-line-total { grid-column: 2; text-align: left; font-size: 16px; }
	body.kp .kp-cart-kapihint { padding: 8px 4px; font-size: 14px; } body.kp .kp-cart-kapihint img { width: 72px; }
	body.kp .kp-csum { padding: 20px 18px 22px; }
	body.kp .kp-steps { font-size: 10px; letter-spacing: .12em; gap: 8px; padding: 0 0 18px; } body.kp .kp-steps i { width: 16px; }
	body.kp .kp-cart-wrap .gallery-wizard-step { padding: 20px 18px 20px; }
	body.kp .kp-cart-wrap .gallery-cart-field-row { grid-template-columns: 1fr; }
	body.kp .kp-cart-wrap label.kp-radio { padding: 12px; } body.kp .kp-cart-wrap label.kp-radio span { font-size: 12.5px; }
	body.kp .kp-cart-wrap .gallery-cart-checkbox-label { font-size: 13px; }
	body.kp .gallery-cart-wrap.kp-thanks-wrap { padding: 30px var(--kp-margin) 60px; }
	body.kp .kp-thanks .kp-result-kapi img { width: 170px; } body.kp .kp-thanks h1, body.kp .kp-thanks h2 { font-size: 32px; } body.kp .kp-thanks p { font-size: 15px; }
	body.kp .kp-thanks .kp-thanks__btns { width: 100%; } body.kp .kp-thanks .kp-thanks__btns .kp-shop-btn { flex: 1 1 100%; }
	body.kp .kp-cart-wrap .kp-cart-empty__kapi img { width: 200px; } body.kp .kp-cart-wrap .kp-cart-empty h2 { font-size: 30px; }
}

/* ---------- 7. Mobil fejléc a sötét webshop-sávon (a világos fejléc terve, tinta háttérrel és világos ikonokkal) ---------- */
@media (max-width: 991px) {
	body.kp.kp-shop #mfn-header-template section.mfn-default-section.mcb-header-section { background: transparent !important; border-bottom: 0; }
	body.kp.kp-shop #mfn-header-template .kp-mh-search, body.kp.kp-shop #mfn-header-template .kp-mh-search:hover { color: #fff; }
	body.kp.kp-shop #mfn-header-template .mfn-header-menu-burger .icon-wrapper {
		background: linear-gradient(#fff, #fff) 0 0 / 20px 1px no-repeat, linear-gradient(#fff, #fff) 0 5px / 20px 1px no-repeat, linear-gradient(#fff, #fff) 100% 10px / 13px 1px no-repeat; }
	body.kp.kp-shop #mfn-header-template .store-header-cart-badge { top: 5px !important; right: 4px !important; left: auto !important; border: 0; border-radius: 0; }
}

@media (max-width: 700px) {
	body.kp .kp-vsteps--wide ol { grid-template-columns: 1fr; gap: 0; }
	body.kp .kp-vsteps--wide ol li { padding: 8px 0 26px 58px; min-height: 40px; }
	body.kp .kp-vsteps--wide ol li:last-child { padding-bottom: 0; }
	body.kp .kp-vsteps--wide ol li::after { top: 46px; bottom: 4px; left: 20px; right: auto; width: 1px; height: auto; }
}

/* 2026-10-11 (user): „Hozzáadva a kosaradhoz” felugró értesítés (kb. 3 mp) a webshop kosár-gombjához. */
body.kp .store-added-toast { position: fixed; top: 96px; right: 24px; z-index: 100020; display: flex; align-items: center; gap: 14px; max-width: 380px; padding: 14px 14px 14px 16px; background: var(--kp-ink); color: #fff; box-shadow: 0 18px 40px rgba(18,20,22,.28); opacity: 0; transform: translateY(-10px); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
body.kp .store-added-toast.is-visible { opacity: 1; transform: none; pointer-events: auto; }
body.kp .store-added-toast__ic { flex: none; width: 30px; height: 30px; background: var(--kp-sage); position: relative; }
body.kp .store-added-toast__ic::after { content: ""; position: absolute; left: 11px; top: 6px; width: 7px; height: 13px; border: solid var(--kp-ink); border-width: 0 2px 2px 0; transform: rotate(45deg); }
body.kp .store-added-toast__txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
body.kp .store-added-toast__txt b { font-family: var(--kp-display); font-weight: 500; font-size: 15px; color: #fff; }
body.kp .store-added-toast__txt span { font-size: 13px; color: #B9BFB8; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.kp .store-added-toast__btn { flex: none; padding: 8px 12px; border: 1px solid rgba(255,255,255,.35); color: #fff !important; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
body.kp .store-added-toast__btn:hover, body.kp .store-added-toast__btn:focus-visible { background: #fff; color: var(--kp-ink) !important; }
@media (max-width: 700px) {
	body.kp .store-added-toast { top: auto; bottom: 16px; left: 12px; right: 12px; max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
	body.kp .store-added-toast { transition: opacity .2s ease; transform: none; }
}

/* 2026-10-11 (user): a teljes A4-es utalványlap a nagyításban (ShopVisuals::voucher_sheet_html(), a PDF elrendezése;
   1 mm = 2,8346 px, A4 = 595 × 842 px; --s méretez). .is-postal = kártyás nyomat, .is-art = választott grafika. */
body.kp .kp-vs-wrap { display: block; position: relative; width: calc(595px * var(--s, 1)); height: calc(842px * var(--s, 1)); box-shadow: 0 30px 70px rgba(0,0,0,.45); }
body.kp .kp-vs { position: absolute; left: 0; top: 0; width: 595px; height: 842px; transform: scale(var(--s, 1)); transform-origin: 0 0; overflow: hidden; background: #fff; color: #121416; font-family: var(--kp-body, inherit); text-align: left; line-height: 1.25; }
body.kp .kp-vs > *, body.kp .kp-vs__postal > *, body.kp .kp-vs__digital > * { position: absolute; display: block; margin: 0; }
body.kp .kp-vs img { max-width: none; max-height: none; height: auto; box-shadow: none; border-radius: 0; cursor: inherit; aspect-ratio: auto; object-fit: contain; }
body.kp .kp-vs__postal, body.kp .kp-vs__digital { left: 0; top: 0; width: 100%; height: 100%; }
body.kp .kp-vs__top { left: 0; top: 0; width: 595px; height: 280.6px; background: #121416; }
body.kp .kp-vs__mid { left: 0; top: 280px; width: 595px; height: 281.3px; background: #EFEFEC; } /* 0,6 px átfedés: ne legyen hajszálcsík a két harmad között */
body.kp .kp-vs.is-postal .kp-vs__mid { background: #121416; }
body.kp .kp-vs__qrcol { background: #F7F7F5; }
body.kp .kp-vs__art { display: none; left: 0; top: 0; width: 595px; height: 561.3px; background: #fff var(--vs-bg) 0 0 / 100% 100% no-repeat; }
body.kp .kp-vs.is-art .kp-vs__art { display: block; }
body.kp .kp-vs.is-art .kp-vs__top, body.kp .kp-vs.is-art .kp-vs__mid, body.kp .kp-vs.is-art .kp-vs__qrcol { display: none; }
body.kp .kp-vs__panel { display: none; border-radius: 8.5px; }
body.kp .kp-vs.is-art .kp-vs__panel--text { display: block; background: rgba(255,255,255,.82); }
body.kp .kp-vs.is-art .kp-vs__panel--qr { display: block; background: rgba(255,255,255,.94); }
body.kp .kp-vs.is-art .kp-vs__digital .kp-vs__panel--mid { display: block; background: rgba(255,255,255,.94); }
body.kp .kp-vs__postal { display: none; }
body.kp .kp-vs.is-postal .kp-vs__postal { display: block; }
body.kp .kp-vs.is-postal .kp-vs__digital { display: none; }
body.kp .kp-vs__tag { font-size: 5.6px; letter-spacing: 2.5px; color: #7C827E; }
body.kp .kp-vs__label { font-size: 7px; font-weight: 700; letter-spacing: 3.4px; color: #A4B4A0; }
body.kp .kp-vs__title { display: block; font-size: 23px; line-height: 1.1; color: #F7F7F5; font-weight: 400; }
body.kp .kp-vs__product { display: block; margin-top: 3px; font-size: 9px; color: #F7F7F5; }
body.kp .kp-vs__rule { background: #A4B4A0; }
body.kp .kp-vs__meta i { display: block; font-style: normal; font-size: 6.4px; letter-spacing: 2.3px; color: #7C827E; margin-bottom: 4px; }
body.kp .kp-vs__meta b { display: block; font-weight: 400; font-size: 10px; color: #DCE1DA; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.kp .kp-vs__meta b[data-vs-owner] { font-size: 11px; color: #F7F7F5; }
body.kp .kp-vs.is-art .kp-vs__label { color: #4A5C4C; }
body.kp .kp-vs.is-art .kp-vs__title, body.kp .kp-vs.is-art .kp-vs__product, body.kp .kp-vs.is-art .kp-vs__meta b { color: #121416; }
body.kp .kp-vs.is-art .kp-vs__meta b:not([data-vs-owner]) { color: #33383A; }
body.kp .kp-vs.is-art .kp-vs__meta i, body.kp .kp-vs.is-art .kp-vs__tag { color: #8B918C; }
body.kp .kp-vs__qrlabel { font-size: 6.4px; letter-spacing: 2px; color: #4A5C4C; text-align: center; }
body.kp .kp-vs__code { font-family: ui-monospace, Menlo, monospace; font-size: 11px; color: #121416; text-align: center; }
body.kp .kp-vs__qrhint { font-size: 7.2px; line-height: 1.35; color: #5A605C; text-align: center; }
body.kp .kp-vs__qrlink { font-size: 8px; color: #121416; text-align: center; }
body.kp .kp-vs__mark { border: 0 solid #7C827E; }
body.kp .kp-vs.is-art .kp-vs__mark { border-color: #6E7470; }
body.kp .kp-vs__mark--tl { border-top-width: .85px; border-left-width: .85px; }
body.kp .kp-vs__mark--tr { border-top-width: .85px; border-right-width: .85px; }
body.kp .kp-vs__mark--bl { border-bottom-width: .85px; border-left-width: .85px; }
body.kp .kp-vs__mark--br { border-bottom-width: .85px; border-right-width: .85px; }
body.kp .kp-vs__card { background: #fff; border-radius: 9px; display: flex !important; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(0,0,0,.25); }
body.kp .kp-vs__card img { width: 96px; position: static !important; }
body.kp .kp-vs__small { font-size: 6.4px; letter-spacing: 2.5px; color: #4A5C4C; }
body.kp .kp-vs__mtitle { font-size: 15px; color: #121416; }
body.kp .kp-vs__content { font-size: 9px; line-height: 1.6; color: #33383A; max-height: 79px; overflow: hidden; }
body.kp .kp-vs__divider { background: #A4B4A0; }
body.kp .kp-vs__facts span { display: block; position: relative; padding-left: 11px; margin-bottom: 7px; font-size: 8.2px; line-height: 1.5; color: #33383A; }
body.kp .kp-vs__facts span::before { content: ""; position: absolute; left: 0; top: 4px; width: 4.5px; height: 4.5px; background: #A4B4A0; }
body.kp .kp-vs__h2 { font-size: 15px; color: #121416; }
body.kp .kp-vs__step em { display: block; font-style: normal; font-size: 15px; color: #A4B4A0; margin-bottom: 6px; }
body.kp .kp-vs__step b { display: block; font-weight: 400; font-size: 9.2px; color: #121416; margin-bottom: 4px; }
body.kp .kp-vs__step span { display: block; font-size: 8.2px; line-height: 1.55; color: #5A605C; }
body.kp .kp-vs__kapi { background: #F4F6F2; }
body.kp .kp-vs__tip { font-size: 8.4px; line-height: 1.5; color: #33383A; }
body.kp .kp-vs__tip b { display: block; color: #121416; }
body.kp .kp-vs__line { background: #DEDFD9; }
body.kp .kp-vs__biz { font-size: 8.2px; line-height: 1.6; color: #33383A; }
body.kp .kp-vs__biz b { display: block; font-size: 8.4px; }
body.kp .kp-vs__terms { font-size: 7px; line-height: 1.5; color: #8B918C; text-align: right; }


/* 2026-10-17 — Webshopban a mobil menü (kp-mm) szövegei a sötét fejléc "fehér szöveg" szabályait örökölték → olvashatatlan fehér a világos lenyíló panelen.
   A panelen belül mindenhol a normál (sötét) színek; a fejléc maga fekete/fehér marad. */
body.kp.kp-shop #mfn-header-template .kp-mm a.kp-mm-line,
body.kp.kp-shop #mfn-header-template .kp-mm .kp-mm-sub a,
body.kp.kp-shop #mfn-header-template .kp-mm .kp-mm-row a { color: var(--kp-ink) !important; }
body.kp.kp-shop #mfn-header-template .kp-mm .kp-mm-social a { color: var(--kp-muted) !important; }
body.kp.kp-shop #mfn-header-template .kp-mm a.kp-mm-cta { color: var(--kp-paper) !important; }
body.kp.kp-shop #mfn-header-template .kp-mm a svg { color: inherit !important; }
/* 2026-10-17 — a mobil menü keresési találatai (kp-mm) a webshopban ugyanúgy fehérek voltak */
body.kp.kp-shop #mfn-header-template .kp-mm .ai-asszisztens-search-results a,
body.kp.kp-shop #mfn-header-template .kp-mm .ai-asszisztens-search-results a * { color: var(--kp-ink) !important; }

/* 2026-10-17 — termékoldal „Tulajdonságok”: a hosszú érték (flex-shrink:0) mobilon kilógott jobbra; most törik, a sor szükség esetén két sorba tör */
body.kp .pe-shop-detail-property-row { flex-wrap: wrap; min-width: 0; }
body.kp .pe-shop-detail-property-value { flex: 0 1 auto; min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 600px) {
	body.kp .pe-shop-detail-property-filler { display: none; }
	body.kp .pe-shop-detail-property-value { margin-left: auto; text-align: right; }
}
