/* Kálóczi Photo — Designrendszer v0.1 · "A · Zsálya és tus"
 * Forrás: kaloczi-design/Kaloczi-Photo-designrendszer (1–5. és 12. fejezet).
 * Szabály: minden szabály a body.kp alatt; oldalankénti Custom CSS üres marad. */

/* ---------- 1. Tokenek ---------- */
:root {
	--kp-paper: #F7F7F5;
	--kp-paper-2: #EFEFEC;
	--kp-card: #FFFFFF;
	--kp-line: #DEDFD9;
	--kp-line-2: #CED2C9;
	--kp-hairline: #E9EAE5;
	--kp-photo-ph: #E3E6E0;

	--kp-ink: #121416;
	--kp-body: #33383A;
	--kp-muted: #5A605C;
	--kp-muted-2: #4E5451;

	--kp-sage: #A4B4A0;
	--kp-sage-text: #4A5C4C;
	--kp-sage-hover: #33422F;

	--kp-dark: #121416;
	--kp-dark-hero: #1C1F21;
	--kp-dark-line: #2A2E30;
	--kp-on-dark: #A6ADA6;
	--kp-on-dark-2: #C4CAC3;
	--kp-on-dark-3: #DCE1DA;

	--kp-ok-bg: #E3EBE2;   --kp-ok-fg: #3F5545;
	--kp-wait-bg: #EFEDE2; --kp-wait-fg: #55523C;
	--kp-later-bg: #EAEBE7; --kp-later-fg: #4E5451;
	--kp-error-bg: #F2E4E1; --kp-error-fg: #7A3E33; --kp-error-line: #A9564A;

	--kp-display: 'Archivo', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--kp-text: 'Assistant', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--kp-tracking-display: -0.018em;
	--kp-tracking-label: 0.34em;
	--kp-tracking-button: 0.16em;
	--kp-margin: 64px;
}
@media (max-width: 767px) { :root { --kp-margin: 24px; } }

/* ---------- 2. Alap ---------- */
body.kp,
body.kp #Wrapper,
body.kp #Content,
body.kp #Content .content_wrapper,
body.kp .mfn-builder-content { background-color: var(--kp-paper); }
body.kp {
	font-family: var(--kp-text);
	font-weight: 300;
	color: var(--kp-body);
	-webkit-font-smoothing: antialiased;
	hyphens: none;
	-webkit-hyphens: none;
}
body.kp p, body.kp li, body.kp td, body.kp label, body.kp .the_content, body.kp .column_column {
	font-family: var(--kp-text);
	font-size: 17px;
	line-height: 1.85;
	font-weight: 300;
	color: var(--kp-body);
	text-align: left;
	hyphens: none;
}
body.kp h1, body.kp h2, body.kp h3, body.kp h4, body.kp h5, body.kp h6,
body.kp h1 a, body.kp h2 a, body.kp h3 a, body.kp h4 a {
	font-family: var(--kp-display);
	color: var(--kp-ink);
	font-weight: 300;
	letter-spacing: var(--kp-tracking-display);
	text-transform: none;
	hyphens: none;
}
body.kp h1 { font-size: clamp(46px, 5.6vw, 72px); line-height: 1.05; }
body.kp h2 { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.12; }
body.kp h3 { font-size: 25px; line-height: 1.2; font-weight: 400; }
body.kp h4 { font-family: var(--kp-text); font-size: 19px; line-height: 1.4; font-weight: 400; letter-spacing: 0; }
body.kp h5, body.kp h6 { font-family: var(--kp-text); font-size: 15px; font-weight: 500; letter-spacing: 0; }
body.kp a { color: var(--kp-sage-text); transition: color .2s ease, border-color .2s ease; }
body.kp a:hover { color: var(--kp-ink); }
body.kp ::selection { background: var(--kp-sage); color: var(--kp-ink); }
body.kp img { image-rendering: auto; }

/* A Betheme oldalcím + morzsa sávja a snippets plugintól rejtve; a hero saját morzsát ad. */

/* Plugin-felületek (galéria, webshop, fotókönyv, vendégkönyv): sosem eshetnek vissza a böngésző talpas alapbetűjére */
body.kp [class*="gallery-"]:not(svg):not(path), body.kp [class*="pe-shop"]:not(svg):not(path), body.kp [class*="photobook"]:not(svg):not(path), body.kp [class*="guestbook"]:not(svg):not(path), body.kp [class*="igw-"]:not(svg):not(path) { font-family: var(--kp-text); }

/* ---------- 3. Felső címke (eyebrow) és segédosztályok ---------- */
body.kp .kp-eyebrow, body.kp .kp-eyebrow p, body.kp .kp-eyebrow h6, body.kp .kp-eyebrow .title {
	font-family: var(--kp-text);
	font-size: 11px;
	line-height: 1.2;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: var(--kp-tracking-label);
	color: var(--kp-sage-text);
	margin-bottom: 14px;
}
body.kp .kp-dark .kp-eyebrow, body.kp .kp-dark .kp-eyebrow p { color: var(--kp-sage); }
body.kp .kp-lead p { font-size: 18px; line-height: 1.75; color: var(--kp-body); max-width: 660px; }
body.kp .kp-narrow { max-width: 660px; }
body.kp .kp-muted, body.kp .kp-muted p { color: var(--kp-muted); }
body.kp .kp-small, body.kp .kp-small p { font-size: 14px; line-height: 1.7; }

/* Szekciók: ritmus a háttérrel */
body.kp .section.kp-alt, body.kp .kp-alt { background-color: var(--kp-paper-2); }
body.kp .section.kp-paper, body.kp .kp-paper { background-color: var(--kp-paper); }
body.kp .section.kp-dark, body.kp .kp-dark { background-color: var(--kp-dark); color: var(--kp-on-dark-3); }
body.kp .kp-dark p, body.kp .kp-dark li, body.kp .kp-dark .column_column { color: var(--kp-on-dark-3); }
body.kp .kp-dark h1, body.kp .kp-dark h2, body.kp .kp-dark h3, body.kp .kp-dark h4, body.kp .kp-dark .title { color: #fff; }
body.kp .kp-dark a:not(.button) { color: var(--kp-sage); }
body.kp .kp-dark a:not(.button):hover { color: #fff; }
body.kp .kp-section-head .title { margin-bottom: 0; }

/* ---------- 4. Gombok (szögletes, nagybetűs, árnyék nélkül) ---------- */
body.kp a.button, body.kp .button, body.kp button:not(.mfn-close):not(.kp-plain):not(:where([class*="gallery-"], [class*="photobook"])), body.kp input[type="submit"],
body.kp input[type="button"], body.kp .mfn-button, body.kp a.action_button {
	font-family: var(--kp-text);
	font-size: 12px;
	line-height: 1.2;
	font-weight: 400;
	letter-spacing: var(--kp-tracking-button);
	text-transform: uppercase;
	border-radius: 0;
	box-shadow: none;
	background: var(--kp-ink);
	background-image: none;
	color: var(--kp-paper);
	border: 1px solid var(--kp-ink);
	padding: 17px 32px;
	min-height: 44px;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
body.kp a.button .button_label, body.kp .button .button_label { color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }
body.kp a.button:hover, body.kp .button:hover, body.kp input[type="submit"]:hover, body.kp button:not(.mfn-close):not(.kp-plain):not(:where([class*="gallery-"], [class*="photobook"])):hover {
	background: var(--kp-body);
	border-color: var(--kp-body);
	color: var(--kp-paper);
}
/* Másodlagos: átlátszó, 1px tinta keret */
body.kp .kp-btn-secondary a.button, body.kp a.button.kp-btn-secondary, body.kp .kp-btn-secondary .button {
	background: transparent; color: var(--kp-ink); border-color: var(--kp-ink);
}
body.kp .kp-btn-secondary a.button:hover, body.kp a.button.kp-btn-secondary:hover {
	background: var(--kp-ink); color: var(--kp-paper); border-color: var(--kp-ink);
}
/* Sötét felületen: elsődleges = papír, másodlagos = keretes világos */
body.kp .kp-dark a.button, body.kp .kp-on-dark a.button {
	background: var(--kp-paper); color: var(--kp-ink); border-color: var(--kp-paper);
}
body.kp .kp-dark a.button:hover, body.kp .kp-on-dark a.button:hover { background: #fff; border-color: #fff; color: var(--kp-ink); }
body.kp .kp-dark .kp-btn-secondary a.button, body.kp .kp-on-dark .kp-btn-secondary a.button {
	background: transparent; color: var(--kp-paper); border-color: rgba(247,247,245,.55);
}
body.kp .kp-dark .kp-btn-secondary a.button:hover, body.kp .kp-on-dark .kp-btn-secondary a.button:hover {
	background: var(--kp-paper); color: var(--kp-ink); border-color: var(--kp-paper);
}
/* Zsálya CTA: csak az ajánlati oldal „Megrendelem" gombja */
body.kp .kp-btn-sage a.button, body.kp a.button.kp-btn-sage { background: var(--kp-sage); border-color: var(--kp-sage); color: var(--kp-ink); }
/* Szöveges link nyíllal */
body.kp .kp-link a, body.kp a.kp-link {
	font-size: 12px; letter-spacing: var(--kp-tracking-button); text-transform: uppercase; color: var(--kp-ink);
	border-bottom: 1px solid var(--kp-sage); padding-bottom: 3px; text-decoration: none;
}
body.kp .kp-link a:hover { color: var(--kp-sage-text); }

/* ---------- 5. Űrlapmezők ---------- */
body.kp input[type="text"], body.kp input[type="email"], body.kp input[type="tel"], body.kp input[type="url"],
body.kp input[type="number"], body.kp input[type="date"], body.kp input[type="password"], body.kp input[type="search"],
body.kp select, body.kp textarea, body.kp .pe-form input, body.kp .pe-form select, body.kp .pe-form textarea {
	font-family: var(--kp-text);
	font-size: 15px;
	font-weight: 300;
	color: var(--kp-ink);
	background: #fff;
	border: 1px solid var(--kp-line-2);
	border-radius: 0;
	box-shadow: none;
	padding: 14px;
	min-height: 50px;
	outline: 0;
	transition: border-color .15s ease;
}
body.kp textarea { min-height: 130px; line-height: 1.6; }
body.kp input:focus, body.kp select:focus, body.kp textarea:focus { border: 2px solid var(--kp-ink); padding: 13px; }
body.kp ::placeholder { color: #8b918c; opacity: 1; }
body.kp label, body.kp .pe-form label {
	font-size: 14px; line-height: 1.5; letter-spacing: normal; text-transform: none; font-weight: 500; color: var(--kp-ink); margin-bottom: 6px; display: block;
}
/* Folyó szöveg és leírás sosem csupa nagybetűs / ritkított: a címkék belső elemei is normál betűsek */
body.kp label *, body.kp .pe-form label * { text-transform: none; letter-spacing: normal; }
body.kp .pe-extra-service-desc, body.kp label small, body.kp label .desc { font-size: 13px; font-weight: 400; color: var(--kp-muted); line-height: 1.55; }
body.kp .error, body.kp .wpcf7-not-valid-tip, body.kp .pe-error { color: var(--kp-error-fg); font-size: 12px; }
body.kp input.error, body.kp .wpcf7-not-valid { border-color: var(--kp-error-line); }

/* ---------- 6. Kártyák ---------- */
body.kp .kp-card, body.kp .kp-cards .mcb-column-inner {
	background: var(--kp-card);
	border: 1px solid var(--kp-line);
	border-radius: 0;
	box-shadow: none;
}
body.kp .kp-card { padding: 30px; }
body.kp .kp-card-flush { padding: 0; }
body.kp .kp-card h3, body.kp .kp-card h4 { margin-bottom: 8px; }

/* Állapot-chipek */
body.kp .kp-chip { display: inline-block; padding: 7px 14px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; border-radius: 0; background: var(--kp-later-bg); color: var(--kp-later-fg); }
body.kp .kp-chip.is-ok { background: var(--kp-ok-bg); color: var(--kp-ok-fg); }
body.kp .kp-chip.is-wait { background: var(--kp-wait-bg); color: var(--kp-wait-fg); }
body.kp .kp-chip.is-error { background: var(--kp-error-bg); color: var(--kp-error-fg); }

/* Vonalak, elválasztók */
body.kp hr, body.kp .hr_narrow, body.kp .divider { border-color: var(--kp-line); background: var(--kp-line); }

/* ---------- 7. Csomag-kártyák (Betheme pricing_item) ---------- */
body.kp .pricing-box { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; padding: 0; text-align: left; }
body.kp .pricing-box .plan-header { background: transparent; border: 0; padding: 30px 30px 6px; text-align: left; }
body.kp .pricing-box .plan-header h2, body.kp .pricing-box .plan-header .title, body.kp .pricing-box h2 {
	font-family: var(--kp-text); font-size: 11px; font-weight: 400; letter-spacing: var(--kp-tracking-label); text-transform: uppercase; color: var(--kp-sage-text);
}
body.kp .pricing-box .plan-price { text-align: left; padding: 0 30px; }
body.kp .pricing-box .plan-price .price, body.kp .pricing-box .plan-price .price span {
	font-family: var(--kp-display); font-weight: 400; font-size: 48px; line-height: 1; color: var(--kp-ink); letter-spacing: var(--kp-tracking-display);
}
body.kp .pricing-box .plan-price .currency, body.kp .pricing-box .plan-price sup { font-size: 14px; color: var(--kp-muted); font-family: var(--kp-text); }
body.kp .pricing-box .plan-inside { padding: 18px 30px 8px; text-align: left; }
body.kp .pricing-box .plan-inside ul { margin: 0; padding: 0; list-style: none; }
body.kp .pricing-box .plan-inside li { font-size: 14.5px; line-height: 1.6; padding: 10px 0; border-bottom: 1px solid var(--kp-hairline); }
body.kp .pricing-box .plan-footer { padding: 18px 30px 30px; }
body.kp .pricing-box .plan-footer .button { width: 100%; text-align: center; justify-content: center; background: transparent; color: var(--kp-ink); border-color: var(--kp-ink); }
body.kp .pricing-box .plan-footer .button:hover { background: var(--kp-ink); color: var(--kp-paper); }
body.kp .pricing-box-featured { border: 2px solid var(--kp-ink); box-shadow: inset 0 0 0 4px var(--kp-sage); position: relative; }
body.kp .pricing-box-featured .plan-footer .button { background: var(--kp-ink); color: var(--kp-paper); }
body.kp .pricing-box-featured .plan-header::before {
	content: attr(data-badge, 'Legnépszerűbb'); position: absolute; top: 0; right: 0; background: var(--kp-sage); color: var(--kp-ink);
	font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 6px 12px; font-weight: 600;
}

/* ---------- 8. Bizalmi sáv (quick_fact) ---------- */
body.kp .kp-trust { background: var(--kp-paper); border-top: 1px solid var(--kp-line); border-bottom: 1px solid var(--kp-line); }
body.kp .kp-trust .quick_fact { text-align: center; }
body.kp .kp-trust .quick_fact .number, body.kp .kp-trust .quick_fact .number-wrapper .label { font-family: var(--kp-display); font-weight: 400; font-size: 22px; color: var(--kp-ink); }
body.kp .kp-trust .quick_fact .title, body.kp .kp-trust .quick_fact p { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-muted); font-family: var(--kp-text); margin-top: 6px; }
body.kp .kp-trust .quick_fact hr, body.kp .kp-trust .quick_fact .hr_narrow { display: none; }

/* ---------- 9. Folyamat (icon_box_2 számozott lépések) ---------- */
body.kp .kp-steps .icon_box .icon-wrapper, body.kp .kp-steps .icon_box_2 .icon-wrapper { display: none; }
body.kp .kp-steps .desc_wrapper .title, body.kp .kp-steps .icon_box .title { font-family: var(--kp-text); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-ink); }
body.kp .kp-steps .desc, body.kp .kp-steps .desc p { font-size: 14.5px; line-height: 1.7; color: var(--kp-muted); }

/* ---------- 10. GYIK ---------- */
body.kp .faq .mfn-acc .question { border-bottom: 1px solid var(--kp-line); background: transparent; }
body.kp .faq .question .title { font-family: var(--kp-text); font-size: 19px; line-height: 1.4; font-weight: 400; color: var(--kp-ink); padding: 22px 40px 22px 0; }
body.kp .faq .question .answer, body.kp .faq .question .answer p { font-size: 16px; color: var(--kp-body); }
body.kp .faq .question .num { display: none; }

/* ---------- 11. Fejléc (Header template) ---------- */
body.kp #mfn-header-template, body.kp .mfn-header-tmpl { background: rgba(247,247,245,.96); border-bottom: 1px solid var(--kp-line); box-shadow: none; }
body.kp .mfn-header-tmpl .mcb-section, body.kp .mfn-header-tmpl .section { background: transparent; }
body.kp .mfn-header-tmpl .mfn-header-menu > li > a, body.kp .mfn-header-tmpl .menu > li > a, body.kp .mfn-header-tmpl .header-menu a {
	font-family: var(--kp-text); font-size: 12px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-ink);
}
body.kp .mfn-header-tmpl .menu > li.current-menu-item > a, body.kp .mfn-header-tmpl .menu > li.current-menu-ancestor > a { border-bottom: 1px solid var(--kp-sage); }
body.kp .kp-wordmark, body.kp .kp-wordmark a { font-family: var(--kp-display); font-weight: 400; font-size: 25px; letter-spacing: .24em; color: var(--kp-ink); line-height: 1; text-decoration: none; }
body.kp .kp-wordmark small { display: block; font-family: var(--kp-text); font-size: 9px; letter-spacing: .4em; font-weight: 400; color: var(--kp-muted); margin-top: 6px; }
body.kp .kp-header-cta a.button { padding: 15px 28px; }
body.kp .kp-header-lock a { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-ink); font-weight: 400; }

/* ---------- 12. Lábléc ---------- */
body.kp #mfn-footer-template, body.kp .mfn-footer-tmpl, body.kp #Footer { background: var(--kp-dark); color: var(--kp-on-dark); }
body.kp .mfn-footer-tmpl .mcb-section, body.kp .mfn-footer-tmpl .section { background: var(--kp-dark); }
body.kp .mfn-footer-tmpl p, body.kp .mfn-footer-tmpl li, body.kp .mfn-footer-tmpl .column_column { color: var(--kp-on-dark); font-size: 14px; line-height: 1.8; }
body.kp .mfn-footer-tmpl h1, body.kp .mfn-footer-tmpl h2, body.kp .mfn-footer-tmpl h3, body.kp .mfn-footer-tmpl h4, body.kp .mfn-footer-tmpl .title { color: #fff; font-family: var(--kp-text); font-size: 11px; letter-spacing: .28em; text-transform: uppercase; font-weight: 500; }
body.kp .mfn-footer-tmpl a { color: var(--kp-on-dark-2); }
body.kp .mfn-footer-tmpl a:hover { color: #fff; }
body.kp .mfn-footer-tmpl .kp-wordmark, body.kp .mfn-footer-tmpl .kp-wordmark a { color: #fff; }
body.kp .mfn-footer-tmpl .kp-wordmark small { color: var(--kp-on-dark); }
body.kp .mfn-footer-tmpl hr, body.kp .mfn-footer-tmpl .divider { border-color: var(--kp-dark-line); background: var(--kp-dark-line); }

/* ---------- 13. Hero ---------- */
body.kp .kp-hero { background-color: var(--kp-dark-hero); color: var(--kp-on-dark-3); }
body.kp .kp-hero h1, body.kp .kp-hero .title { color: #fff; font-size: clamp(46px, 5.7vw, 82px); line-height: 1.06; font-weight: 300; letter-spacing: var(--kp-tracking-display); }
body.kp .kp-hero p, body.kp .kp-hero .column_column { color: var(--kp-on-dark-3); font-size: 18px; line-height: 1.7; }
body.kp .kp-hero .kp-eyebrow, body.kp .kp-hero .kp-eyebrow p { color: var(--kp-on-dark-2); }
body.kp .kp-hero-center, body.kp .kp-hero-center * { text-align: center; }

/* ---------- 14. Mobil ragadós sáv ---------- */
.kp-stickybar { display: none; }
@media (max-width: 767px) {
	body.kp { padding-bottom: 72px; }
	body.kp .kp-stickybar {
		display: flex; align-items: stretch; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
		height: 72px; padding: 12px 16px; background: var(--kp-paper); border-top: 1px solid var(--kp-line);
	}
	body.kp .kp-stickybar__cta { flex: 1; display: flex; align-items: center; justify-content: center; background: var(--kp-ink); color: var(--kp-paper); font-size: 12px; letter-spacing: var(--kp-tracking-button); text-transform: uppercase; text-decoration: none; }
	body.kp .kp-stickybar__icon { width: 48px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--kp-line-2); color: var(--kp-ink); background: #fff; }
	body.kp h1 { font-size: 46px; line-height: 1.08; }
	body.kp h2 { font-size: 30px; line-height: 1.15; }
	body.kp p, body.kp li, body.kp .column_column { font-size: 15px; line-height: 1.7; }
}

/* ---------- 15. Hozzáférhetőség ---------- */
body.kp a:focus-visible, body.kp button:focus-visible, body.kp input:focus-visible { outline: 2px solid var(--kp-ink); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { body.kp * { transition: none !important; animation: none !important; } }

/* =====================================================================
 * 16. Elrendezés — tartalomszélesség, szekciók, rácsok
 * ===================================================================== */
body.kp #Content .section_wrapper,
body.kp #Content .mcb-section-inner { max-width: 1440px; width: 100%; margin-left: auto; margin-right: auto; padding-left: var(--kp-margin); padding-right: var(--kp-margin); box-sizing: border-box; }
body.kp #Content .mcb-section { padding-left: 0; padding-right: 0; }
body.kp .kp-sec { padding: 96px 0; }
@media (max-width: 767px) { body.kp .kp-sec { padding: 56px 0; } }
/* Az elemek belső margóját a rácsok kezelik */
body.kp .mcb-column-inner { margin: 0; }
body.kp .kp-sec .mcb-wrap-inner, body.kp .kp-hero .mcb-wrap-inner { padding: 0; }
body.kp #Content .mcb-wrap { padding: 0; }
body.kp #Content .mcb-section-inner > .mcb-wrap { margin: 0; }

/* Szekció-fej: felül címke, alatta cím, jobbra a link */
body.kp .kp-head > .mcb-wrap-inner { display: grid; grid-template-columns: 1fr auto; column-gap: 24px; align-items: end; margin-bottom: 48px; }
body.kp .kp-head .column { width: auto; max-width: none; margin: 0; }
body.kp .kp-head .kp-eyebrow { grid-column: 1; grid-row: 1; }
body.kp .kp-head .kp-sec-title { grid-column: 1; grid-row: 2; }
body.kp .kp-head .kp-link { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin-bottom: 8px; text-align: right; }
body.kp .kp-head .kp-eyebrow p, body.kp .kp-head .kp-link p { margin: 0; }
body.kp .kp-head .kp-sec-title h1, body.kp .kp-head .kp-sec-title h2 { margin: 0; }
@media (max-width: 767px) { body.kp .kp-head > .mcb-wrap-inner { grid-template-columns: 1fr; margin-bottom: 32px; } body.kp .kp-head .kp-link { grid-column: 1; grid-row: 3; margin-top: 14px; text-align: left; } }

/* Oszlop-rácsok: a Betheme tört-szélességeit felülírjuk, a rács osztja a teret */
body.kp .kp-cols-2 > .mcb-wrap-inner, body.kp .kp-cols-3 > .mcb-wrap-inner, body.kp .kp-cols-4 > .mcb-wrap-inner, body.kp .kp-cols-5 > .mcb-wrap-inner { display: grid; gap: 24px; }
body.kp .kp-cols-2 > .mcb-wrap-inner { grid-template-columns: repeat(2, 1fr); }
body.kp .kp-cols-3 > .mcb-wrap-inner { grid-template-columns: repeat(3, 1fr); }
body.kp .kp-cols-4 > .mcb-wrap-inner { grid-template-columns: repeat(4, 1fr); }
body.kp .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: repeat(5, 1fr); gap: 0; }
body.kp .kp-cols-2 > .mcb-wrap-inner > .column, body.kp .kp-cols-3 > .mcb-wrap-inner > .column, body.kp .kp-cols-4 > .mcb-wrap-inner > .column, body.kp .kp-cols-5 > .mcb-wrap-inner > .column { width: auto; max-width: none; margin: 0; float: none; }
@media (max-width: 1199px) { body.kp .kp-cols-4 > .mcb-wrap-inner { grid-template-columns: repeat(2, 1fr); } body.kp .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 991px) { body.kp .kp-cols-3 > .mcb-wrap-inner { grid-template-columns: 1fr; } }
@media (max-width: 767px) { body.kp .kp-cols-2 > .mcb-wrap-inner { grid-template-columns: 1fr; } body.kp .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: 1fr 1fr 1fr; } }
/* Vízszintesen görgethető kártyacsík mobilon (terv 11. fejezet) */
@media (max-width: 767px) {
	body.kp .kp-scroll-m > .mcb-wrap-inner { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; padding-right: 40px; -webkit-overflow-scrolling: touch; }
	body.kp .kp-scroll-m > .mcb-wrap-inner > .column { flex: 0 0 72%; scroll-snap-align: start; }
}

/* Két hasábos szekciók (fő-oszlop rács a szekció belsején) */
body.kp .kp-intro > .section_wrapper, body.kp .kp-portal > .section_wrapper, body.kp .kp-cta > .section_wrapper { display: grid; column-gap: 64px; align-items: center; }
body.kp .kp-intro > .section_wrapper { grid-template-columns: 2fr 3fr; }
body.kp .kp-portal > .section_wrapper { grid-template-columns: 2fr 3fr; column-gap: 80px; align-items: start; }
body.kp .kp-cta > .section_wrapper { grid-template-columns: 1fr 1fr; align-items: end; }
body.kp .kp-intro > .section_wrapper > .mcb-wrap, body.kp .kp-portal > .section_wrapper > .mcb-wrap, body.kp .kp-cta > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
@media (max-width: 991px) { body.kp .kp-intro > .section_wrapper, body.kp .kp-portal > .section_wrapper, body.kp .kp-cta > .section_wrapper { grid-template-columns: 1fr; row-gap: 32px; } }

/* ---------- Hero ---------- */
body.kp .kp-hero { position: relative; background-size: cover; background-position: center; min-height: 780px; display: flex; align-items: center; }
/* Hero sötétítés: alapértelmezés .55 (--kp-hero-dark). Állítható: (1) a szekció „Egyedi CSS osztály" mezőjébe kp-dim-0 … kp-dim-80 (pl. kp-dim-30 = világosabb),
   vagy (2) a BeBuilder szekció „Háttér átfedés (Background overlay)" színe/átlátszósága — ez felülírja az alapértelmezést (a szabály szándékosan alacsony specificitású). */
:where(body.kp .kp-hero) > .mcb-background-overlay { position: absolute; inset: 0; background: rgba(18, 20, 22, var(--kp-hero-dark, .55)); }
body.kp .kp-hero.kp-dim-0 { --kp-hero-dark: 0; } body.kp .kp-hero.kp-dim-10 { --kp-hero-dark: .1; } body.kp .kp-hero.kp-dim-20 { --kp-hero-dark: .2; }
body.kp .kp-hero.kp-dim-30 { --kp-hero-dark: .3; } body.kp .kp-hero.kp-dim-40 { --kp-hero-dark: .4; } body.kp .kp-hero.kp-dim-50 { --kp-hero-dark: .5; }
body.kp .kp-hero.kp-dim-60 { --kp-hero-dark: .6; } body.kp .kp-hero.kp-dim-70 { --kp-hero-dark: .7; } body.kp .kp-hero.kp-dim-80 { --kp-hero-dark: .8; }
/* Balról-jobbra elhalványuló sötétítés (2026-09-22, user kérés: "bal sötét, jobb átlátszó", hogy a szöveg
   olvasható maradjon, de a kép is érvényesüljön) — opt-in, a szekció „Egyedi CSS osztály" mezőjébe:
   kp-hero-fade-l. A kp-dim-X-szel kombinálható (az adja meg a bal széli csúcs-sötétséget, alapból .55). */
:where(body.kp .kp-hero.kp-hero-fade-l) > .mcb-background-overlay { background: linear-gradient(to right, rgba(18, 20, 22, var(--kp-hero-dark, .55)) 0%, rgba(18, 20, 22, 0) 100%); }
body.kp .kp-hero > .section_wrapper { position: relative; z-index: 2; padding-top: 140px; padding-bottom: 120px; }
body.kp .kp-hero .kp-hero-inner .column { margin-left: auto; margin-right: auto; }
body.kp .kp-hero h1 { max-width: 900px; margin: 0 auto 24px; }
body.kp .kp-hero .kp-lead p { max-width: 640px; margin: 0 auto 36px; text-align: center; }
body.kp .kp-hero .kp-eyebrow p { margin-bottom: 22px; }
body.kp .kp-hero .column_button { display: inline-block; width: auto; margin: 0 6px 12px; }
@media (max-width: 767px) { body.kp .kp-hero { min-height: 520px; } body.kp .kp-hero > .section_wrapper { padding-top: 96px; padding-bottom: 72px; } }

/* ---------- Bizalmi sáv ---------- */
body.kp .kp-trust { padding: 0; }
body.kp .kp-trust .kp-cols-5 > .mcb-wrap-inner { align-items: stretch; min-height: 92px; }
body.kp .kp-trust .kp-trust-item { display: flex; align-items: center; justify-content: center; border-left: 1px solid var(--kp-hairline); }
body.kp .kp-trust .kp-trust-item:first-child { border-left: 0; }
body.kp .kp-trust .kp-trust-item p, body.kp .kp-trust .kp-trust-item .column_attr { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-muted); margin: 0; text-align: center; line-height: 1.5; }
@media (max-width: 767px) { body.kp .kp-trust .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: 1fr 1fr; } body.kp .kp-trust .kp-trust-item { min-height: 64px; border-left: 0; border-top: 1px solid var(--kp-hairline); } }

/* ---------- Bemutatkozás ---------- */
body.kp .kp-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; height: auto; display: block; }
body.kp .kp-intro-txt .kp-eyebrow p { margin-bottom: 8px; }
body.kp .kp-intro-txt .kp-sec-title h2 { margin-bottom: 24px; }

/* ---------- Folyamat (számozott lépések) ---------- */
body.kp .kp-steps > .mcb-wrap-inner { counter-reset: kpstep; }
body.kp .kp-step { counter-increment: kpstep; }
body.kp .kp-step .icon-wrapper, body.kp .kp-step .image_wrapper { display: none; }
body.kp .kp-step .desc-wrapper::before { content: counter(kpstep, decimal-leading-zero); display: block; font-family: var(--kp-display); font-weight: 300; font-size: 34px; line-height: 1; color: var(--kp-sage-text); margin-bottom: 14px; }
body.kp .kp-step .desc-wrapper .title, body.kp .kp-step h4 { font-family: var(--kp-text); font-size: 12px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-ink); margin-bottom: 8px; }
body.kp .kp-step .desc, body.kp .kp-step .desc p { font-size: 14.5px; line-height: 1.7; color: var(--kp-muted); }

/* ---------- Csomagok ---------- */
body.kp .kp-packages > .mcb-wrap-inner { align-items: stretch; }
body.kp .kp-packages .column_pricing_item, body.kp .kp-packages .mcb-column-inner, body.kp .kp-packages .pricing-box { height: 100%; }
body.kp .pricing-box { display: flex; flex-direction: column; }
body.kp .pricing-box .plan-inside { flex: 1; }
body.kp .pricing-box-featured::before { content: 'Legnépszerűbb'; position: absolute; top: 0; right: 0; background: var(--kp-sage); color: var(--kp-ink); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 7px 12px; font-weight: 600; z-index: 2; }
body.kp .pricing-box .plan-header::before { content: none !important; }
body.kp .pricing-box .plan-header .image { margin: 0; }
body.kp .pricing-box .plan-header .image img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
body.kp .pricing-box hr, body.kp .pricing-box .hr_color { display: none; }

/* ---------- Esküvői történetek — aszimmetrikus mozaik ---------- */
body.kp .kp-mosaic > .mcb-wrap-inner { display: grid; grid-template-columns: 1.5fr 1fr 1fr; grid-template-rows: 300px 300px; gap: 16px; }
body.kp .kp-mosaic .column { width: auto; max-width: none; margin: 0; float: none; height: 100%; }
body.kp .kp-mosaic .mcb-column-inner, body.kp .kp-mosaic .image_frame, body.kp .kp-mosaic .image_wrapper, body.kp .kp-mosaic a { display: block; height: 100%; }
body.kp .kp-mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
body.kp .kp-mosaic .column:hover img { transform: scale(1.03); }
body.kp .kp-mosaic .image_frame { overflow: hidden; }
body.kp .kp-mosaic .kp-m1 { grid-column: 1; grid-row: 1 / span 2; }
body.kp .kp-mosaic .kp-m2 { grid-column: 2; grid-row: 1; }
body.kp .kp-mosaic .kp-m3 { grid-column: 3; grid-row: 1; }
body.kp .kp-mosaic .kp-m4 { grid-column: 2; grid-row: 2; }
body.kp .kp-mosaic .kp-m5 { grid-column: 3; grid-row: 2; }
@media (max-width: 767px) { body.kp .kp-mosaic > .mcb-wrap-inner { grid-template-columns: 1fr 1fr; grid-template-rows: 240px 160px 160px; gap: 8px; } body.kp .kp-mosaic .kp-m1 { grid-column: 1 / span 2; grid-row: 1; } body.kp .kp-mosaic .kp-m2 { grid-column: 1; grid-row: 2; } body.kp .kp-mosaic .kp-m3 { grid-column: 2; grid-row: 2; } body.kp .kp-mosaic .kp-m4 { grid-column: 1; grid-row: 3; } body.kp .kp-mosaic .kp-m5 { grid-column: 2; grid-row: 3; } }

/* ---------- Szolgáltatás-/webshop-kártyák ---------- */
body.kp .kp-svc-card .mcb-column-inner { background: var(--kp-card); border: 1px solid var(--kp-line); padding: 28px 26px 24px; min-height: 148px; height: 100%; transition: border-color .2s ease; }
body.kp .kp-svc-card:hover .mcb-column-inner { border-color: var(--kp-ink); }
body.kp .kp-svc-card .icon-wrapper, body.kp .kp-portal-card .icon-wrapper, body.kp .kp-svc-card .image_wrapper { display: none; }
body.kp .kp-svc-card .title, body.kp .kp-svc-card h4 { font-family: var(--kp-display); font-size: 25px; font-weight: 400; line-height: 1.2; letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); margin-bottom: 8px; }
body.kp .kp-svc-card .desc, body.kp .kp-svc-card .desc p { font-size: 14.5px; line-height: 1.65; color: var(--kp-muted); margin: 0; }
body.kp .kp-svc-card a, body.kp .kp-svc-card a:hover { color: inherit; text-decoration: none; }

/* ---------- Kliens zóna sáv ---------- */
body.kp .kp-portal .kp-portal-l h2 { font-size: clamp(30px, 3.2vw, 46px); margin-bottom: 20px; }
body.kp .kp-portal .kp-portal-l .kp-eyebrow p { margin-bottom: 18px; }
body.kp .kp-portal-card .mcb-column-inner { background: var(--kp-dark-hero); border: 1px solid var(--kp-dark-line); padding: 28px 26px; height: 100%; }
body.kp .kp-portal-card .title, body.kp .kp-portal-card h4 { font-family: var(--kp-text); font-size: 17px; font-weight: 400; color: #fff; margin-bottom: 8px; }
body.kp .kp-portal-card .desc, body.kp .kp-portal-card .desc p { font-size: 14px; line-height: 1.65; color: var(--kp-on-dark); margin: 0; }

/* ---------- Vélemények ---------- */
body.kp .kp-reviews { min-height: 40px; }

/* ---------- Záró CTA ---------- */
body.kp .kp-cta .kp-cta-l h2 { margin: 0; font-size: clamp(34px, 3.6vw, 52px); }
body.kp .kp-cta .kp-cta-r p { max-width: 460px; margin-bottom: 24px; }


/* =====================================================================
 * 17. Javítások (icon_box_2 balra zárt, csomagár, véleménykártyák)
 * ===================================================================== */
body.kp .mfn-icon-box { text-align: left; align-items: flex-start; justify-content: flex-start; }
body.kp .mfn-icon-box .desc-wrapper, body.kp .mfn-icon-box .desc-wrapper * { text-align: left; }
body.kp .mfn-icon-box .icon-wrapper:empty { display: none; }
body.kp .kp-step .desc-wrapper { padding-right: 24px; }

body.kp .pricing-box, body.kp .pricing-box * { text-align: left; }
body.kp .pricing-box .plan-header { display: block; }
body.kp .pricing-box .plan-header .title { margin: 0 0 14px; }
body.kp .pricing-box .price, body.kp .pricing-box .price span { color: var(--kp-ink); font-family: var(--kp-display); font-weight: 400; font-size: 52px; line-height: 1; letter-spacing: var(--kp-tracking-display); }
body.kp .pricing-box .price sup.currency { font-family: var(--kp-text); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-muted); margin-left: 8px; vertical-align: baseline; top: 0; }
body.kp .pricing-box .plan-inside li { color: var(--kp-body); }
body.kp .pricing-box-featured, body.kp .pricing-box-featured .plan-header, body.kp .pricing-box-featured .plan-inside { background: var(--kp-card); color: var(--kp-ink); }
body.kp .pricing-box .plan-footer .button { text-align: center; }
body.kp .pricing-box .plan-footer .button span { text-align: center; }

/* Értékelések (Mirapix Értékelések plugin) — a terv szerint: fehér, keretes, szögletes kártyák */
body.kp .kp-reviews .mrv-card, body.kp .kp-reviews .mrv-item, body.kp .kp-reviews .mrv-review { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; padding: 28px; }
body.kp .kp-reviews .mrv-text, body.kp .kp-reviews .mrv-review-text { font-family: var(--kp-display); font-size: 21px; line-height: 1.45; font-weight: 300; color: var(--kp-ink); }

/* =====================================================================
 * 18. Fejléc és lábléc — a terv szerint
 * ===================================================================== */
/* A fejléc a tartalom fölött, nem rajta úszik (a hero a fejléc alatt kezdődik) */
body.kp .mfn-header-tmpl-absolute, body.kp #mfn-header-template { position: relative !important; top: auto; }
body.kp #mfn-header-template { z-index: 900; }
body.kp .mfn-header-tmpl .mcb-header-section > .section_wrapper { max-width: 1440px; width: 100%; margin: 0 auto; padding: 0 var(--kp-margin); min-height: 88px; align-items: center; flex-wrap: nowrap; box-sizing: border-box; }
body.kp .mfn-header-tmpl .mcb-header-section > .section_wrapper > .mcb-wrap { width: auto; }
body.kp .mfn-header-tmpl .mcb-header-section > .section_wrapper > .mcb-wrap:first-child { flex: 1 1 auto; }
body.kp .mfn-header-tmpl .mfn-header-mainmenu .menu-label, body.kp .mfn-header-tmpl .mfn-header-mainmenu > li > a { font-family: var(--kp-text); font-size: 12px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-ink); }
body.kp .mfn-header-tmpl .mfn-header-mainmenu > li > a:hover .menu-label { color: var(--kp-sage-text); }
body.kp .mfn-header-tmpl .mfn-header-mainmenu > li.current-menu-item > a, body.kp .mfn-header-tmpl .mfn-header-mainmenu > li.current-menu-ancestor > a, body.kp .mfn-header-tmpl .mfn-header-mainmenu > li.current_page_item > a { box-shadow: inset 0 -1px 0 var(--kp-sage); }
body.kp .mfn-header-tmpl .mfn-header-mainmenu .menu-sub i { font-size: 8px; opacity: .55; }

/* Kereső: diszkrét, vonalas (nem lebegő buborék és nem kiemelt sáv) */
body.kp .kp-header-search .ai-asszisztens-search { max-width: 210px; }
body.kp .kp-header-search .ai-asszisztens-search-form { position: relative; }
body.kp .kp-header-search input.ai-asszisztens-search-input { border: 0; border-bottom: 1px solid var(--kp-line-2); background: transparent; min-height: 36px; padding: 6px 30px 6px 0; font-size: 13px; }
body.kp .kp-header-search input.ai-asszisztens-search-input:focus { border: 0; border-bottom: 1px solid var(--kp-ink); padding: 6px 30px 6px 0; }
body.kp .kp-header-search .ai-asszisztens-search-btn { position: absolute; right: 0; top: 0; bottom: 0; background: transparent; border: 0; color: var(--kp-ink); padding: 0 4px; min-height: 0; }
body.kp .kp-header-search .ai-asszisztens-search-btn:hover { background: transparent; }
@media (max-width: 1399px) { body.kp .kp-header-search { display: none; } }

/* Kliens zóna link lakattal + Ajánlatkérés gomb */
body.kp .kp-header-lock a { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-ink); text-decoration: none; white-space: nowrap; }
body.kp .kp-header-lock a::before { content: ''; 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='1.6'><rect x='4' y='11' width='16' height='10'/><path d='M8 11V7a4 4 0 0 1 8 0v4'/></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.6'><rect x='4' y='11' width='16' height='10'/><path d='M8 11V7a4 4 0 0 1 8 0v4'/></svg>") center / contain no-repeat; }
body.kp .kp-header-lock p { margin: 0; }
body.kp .kp-header-cta-wrap { margin-left: 20px; }
body.kp .kp-header-cta { padding: 16px 28px; }
@media (max-width: 991px) { body.kp .kp-header-lock, body.kp .kp-header-cta-wrap { display: none; } }

/* Lábléc */
body.kp #mfn-footer-template { background: var(--kp-dark); }
body.kp .kp-footer-main { padding: 88px 0 56px; }
body.kp #mfn-footer-template .kp-footer-main > .section_wrapper { max-width: 1440px; margin: 0 auto; padding: 0 var(--kp-margin); display: grid; grid-template-columns: 2fr repeat(4, 1fr); column-gap: 48px; box-sizing: border-box; }
body.kp #mfn-footer-template .kp-footer-main > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-footer-logo img { width: 190px; height: auto; filter: brightness(0) invert(1); opacity: .95; margin-bottom: 28px; }
body.kp .kp-footer-contact p { font-size: 14px; line-height: 1.8; color: var(--kp-on-dark); margin-bottom: 14px; }
body.kp .kp-footer-contact a { color: var(--kp-on-dark-2); text-decoration: none; }
body.kp .kp-footer-contact a:hover, body.kp .kp-footer-menu a:hover { color: #fff; }
body.kp .kp-footer-contact .kp-social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
body.kp .kp-footer-contact .kp-social a { margin: 0; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--kp-dark-line); color: var(--kp-on-dark-2); transition: color .2s, border-color .2s, background .2s; }
body.kp .kp-footer-contact .kp-social a i { font-size: 20px; line-height: 1; }
body.kp .kp-footer-contact .kp-social a:hover { color: #fff; border-color: var(--kp-on-dark); background: rgba(255,255,255,.06); }
body.kp .kp-footer-title p { font-size: 11px; letter-spacing: .28em; text-transform: uppercase; color: var(--kp-on-dark-2); font-weight: 500; margin: 0 0 18px; }
body.kp .kp-footer-menu ul { list-style: none; margin: 0; padding: 0; }
body.kp .kp-footer-menu li { margin: 0 0 10px; }
body.kp .kp-footer-menu a, body.kp .kp-footer-menu .menu-label { font-family: var(--kp-text); font-size: 14px; font-weight: 300; color: var(--kp-on-dark-2); text-decoration: none; letter-spacing: 0; text-transform: none; }
body.kp .kp-footer-menu .menu-icon, body.kp .kp-footer-menu .menu-sub { display: none; }
body.kp .kp-footer-bar { background: var(--kp-dark); border-top: 1px solid var(--kp-dark-line); padding: 26px 0; }
body.kp #mfn-footer-template .kp-footer-bar > .section_wrapper { max-width: 1440px; margin: 0 auto; padding: 0 var(--kp-margin); display: grid; grid-template-columns: 1fr auto; column-gap: 32px; align-items: center; box-sizing: border-box; }
body.kp #mfn-footer-template .kp-footer-bar > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-footer-copy p, body.kp .kp-footer-legal p { font-size: 12px; line-height: 1.8; color: var(--kp-on-dark); margin: 0; }
body.kp .kp-footer-legal p { text-align: right; }
body.kp .kp-footer-legal a { color: var(--kp-on-dark-2); }
@media (max-width: 991px) { body.kp #mfn-footer-template .kp-footer-main > .section_wrapper { grid-template-columns: 1fr 1fr; row-gap: 40px; } body.kp #mfn-footer-template .kp-footer-main > .section_wrapper > .mcb-wrap:first-child { grid-column: 1 / -1; } body.kp #mfn-footer-template .kp-footer-bar > .section_wrapper { grid-template-columns: 1fr; row-gap: 12px; } body.kp .kp-footer-legal p { text-align: left; } }

/* ---------- 19. Csomagkártya: a Betheme kiemelt-stílusának felülírása ---------- */
body.kp .pricing-box .plan-header .price, body.kp .pricing-box .plan-header .price span,
body.kp .pricing-box-featured .plan-header .price, body.kp .pricing-box-featured .plan-header .price span { color: var(--kp-ink) !important; }
body.kp .pricing-box .plan-header .price sup, body.kp .pricing-box .plan-header .price sup.currency { color: var(--kp-muted) !important; }
body.kp .pricing-box .plan-header .title, body.kp .pricing-box-featured .plan-header .title { color: var(--kp-sage-text) !important; }
body.kp .pricing-box .plan-inside, body.kp .pricing-box .plan-inside ul, body.kp .pricing-box .plan-inside li, body.kp .pricing-box .plan-inside .pi-content { text-align: left !important; }
body.kp .pricing-box .plan-inside li { padding: 10px 0; }
body.kp .pricing-box .plan-inside li:last-child { border-bottom: 0; }
body.kp .pricing-box .plan-header, body.kp .pricing-box .plan-price { text-align: left !important; }

/* =====================================================================
 * 20. Szolgáltatásoldal-sablon (terv 7.3)
 * ===================================================================== */
body.kp .kp-hero-page { min-height: 560px; text-align: left; }
body.kp .kp-hero-page > .section_wrapper { padding-top: 96px; padding-bottom: 96px; }
body.kp .kp-hero-page .kp-hero-inner .column { margin-left: 0; margin-right: 0; }
body.kp .kp-hero-page h1 { max-width: 1000px; margin: 0 0 24px; font-size: clamp(42px, 5vw, 72px); line-height: 1.05; }
body.kp .kp-hero-page .kp-lead p { text-align: left; margin: 0 0 36px; }
body.kp .kp-hero-page, body.kp .kp-hero-page * { text-align: left; }
body.kp .kp-hero-page .kp-hero-inner { text-align: left; }
body.kp .kp-hero-page .column_button { margin-left: 0; margin-right: 12px; }
body.kp .kp-crumbs p { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--kp-on-dark-2); margin: 0 0 28px; }
body.kp .kp-crumbs a { color: var(--kp-on-dark-2); text-decoration: none; }
body.kp .kp-crumbs a:hover { color: #fff; }
body.kp .kp-crumbs span { color: var(--kp-sage); }

body.kp .kp-story > .section_wrapper, body.kp .kp-faqsec > .section_wrapper, body.kp .kp-gift > .section_wrapper { display: grid; column-gap: 80px; align-items: start; }
body.kp .kp-story > .section_wrapper { grid-template-columns: 2fr 3fr; }
body.kp .kp-faqsec > .section_wrapper { grid-template-columns: 2fr 3fr; }
body.kp .kp-gift > .section_wrapper { grid-template-columns: 1fr 1fr; align-items: center; }
body.kp .kp-story > .section_wrapper > .mcb-wrap, body.kp .kp-faqsec > .section_wrapper > .mcb-wrap, body.kp .kp-gift > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
@media (max-width: 991px) { body.kp .kp-story > .section_wrapper, body.kp .kp-faqsec > .section_wrapper, body.kp .kp-gift > .section_wrapper { grid-template-columns: 1fr; row-gap: 32px; } }
body.kp .kp-story .kp-sec-title h2 { margin: 0; }
body.kp .kp-story .kp-narrow p:first-child { margin-top: 0; }

body.kp .kp-ticks { list-style: none; padding: 0; margin: 0 0 28px; }
body.kp .kp-ticks li { position: relative; padding: 9px 0 9px 26px; border-bottom: 1px solid var(--kp-hairline); font-size: 15px; line-height: 1.6; }
body.kp .kp-ticks li::before { content: ''; position: absolute; left: 0; top: 17px; width: 12px; height: 7px; border-left: 1.6px solid var(--kp-sage-text); border-bottom: 1.6px solid var(--kp-sage-text); transform: rotate(-45deg); }
body.kp .kp-gift { background: var(--kp-paper-2); }

body.kp .kp-cols-6 > .mcb-wrap-inner { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
body.kp .kp-cols-6 > .mcb-wrap-inner > .column { width: auto; max-width: none; margin: 0; float: none; }
@media (max-width: 991px) { body.kp .kp-cols-6 > .mcb-wrap-inner { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { body.kp .kp-cols-6 > .mcb-wrap-inner { grid-template-columns: repeat(2, 1fr); } }
body.kp .kp-dress img, body.kp .kp-gal-img img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
body.kp .kp-dress .caption, body.kp .kp-dress figcaption, body.kp .kp-dress .wp-caption-text { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--kp-muted); margin-top: 8px; text-align: left; }
body.kp .kp-gallery .kp-gal-img img { aspect-ratio: 3 / 2; }

/* GYIK (Betheme faq elem) */
body.kp .kp-faq .mfn-acc .question, body.kp .faq .mfn-acc .question { border-bottom: 1px solid var(--kp-line); background: transparent; padding: 0; }
body.kp .kp-faq .question .title, body.kp .faq .question .title { font-family: var(--kp-text); font-size: 19px; line-height: 1.4; font-weight: 400; color: var(--kp-ink); padding: 22px 44px 22px 0; cursor: pointer; }
body.kp .kp-faq .question .answer, body.kp .faq .question .answer { padding: 0 44px 22px 0; }
body.kp .kp-faq .question .answer p, body.kp .faq .question .answer p { font-size: 16px; line-height: 1.75; color: var(--kp-body); margin: 0; }
body.kp .kp-faq .question .num, body.kp .faq .question .num { display: none; }
body.kp .faq .question .title i { right: 0; left: auto; color: var(--kp-ink); }
body.kp .faq .question:first-child { border-top: 1px solid var(--kp-line); }

/* Blog-ajánló, információs sáv */
body.kp .kp-blogsec { padding: 72px 0; }
body.kp .kp-blog h3.kp-blog-title, body.kp .kp-blog .kp-blog-title { font-size: 30px; margin: 0 0 12px; font-family: var(--kp-display); font-weight: 300; }
body.kp .kp-info .kp-narrow p { margin-bottom: 8px; }

/* A popup-host: csak a gomb rejtett, a modál (position:fixed) működik */
body.kp .kp-popup-host .pe-form-popup-trigger { display: none; }
body.kp .kp-popup-host, body.kp .kp-popup-host .column_attr { margin: 0; padding: 0; min-height: 0; }
body.kp .mfn-sticky-mobile-cta { display: none !important; }

/* =====================================================================
 * 21. Esküvői oldal, áttekintő, kapcsolat
 * ===================================================================== */
/* Világos oldalfej */
body.kp .kp-pagehead { padding: 72px 0 56px; }
body.kp .kp-pagehead > .section_wrapper { display: grid; grid-template-columns: 3fr 2fr; column-gap: 64px; align-items: end; }
body.kp .kp-pagehead > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-page-title h1, body.kp .kp-page-title { margin: 0; font-size: clamp(44px, 5.2vw, 72px); line-height: 1.05; }
body.kp .kp-crumbs-light p { color: var(--kp-muted); margin: 0 0 22px; }
body.kp .kp-crumbs-light a { color: var(--kp-muted); }
body.kp .kp-ph-side p { margin: 0 0 8px; max-width: 520px; }
body.kp .kp-hide { display: none; }
@media (max-width: 991px) { body.kp .kp-pagehead > .section_wrapper { grid-template-columns: 1fr; row-gap: 20px; } }

/* Kiemelt (sötét) blokk: kép balra, szöveg jobbra */
body.kp .kp-featured { padding: 0; }
body.kp .kp-featured > .section_wrapper { max-width: 1440px; padding: 0 var(--kp-margin); display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; column-gap: 0; }
body.kp .kp-featured > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-feat-img img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; display: block; }
body.kp .kp-feat-l .mcb-wrap-inner, body.kp .kp-feat-l .column, body.kp .kp-feat-l .mcb-column-inner, body.kp .kp-feat-l .image_frame { height: 100%; }
body.kp .kp-feat-r { padding: 72px 64px; display: flex; align-items: center; background: var(--kp-dark); }
body.kp .kp-feat-r .mcb-wrap-inner { width: 100%; }
body.kp .kp-feat-r h2 { margin: 8px 0 20px; }
body.kp .kp-feat-r .column_button { display: inline-block; width: auto; margin: 12px 8px 0 0; }
@media (max-width: 991px) { body.kp .kp-featured > .section_wrapper { grid-template-columns: 1fr; } body.kp .kp-feat-r { padding: 40px 24px; } }

/* Fotós kártyák (áttekintő, esküvői „egyéb szolgáltatások") */
body.kp .kp-svc-photo .mcb-column-inner { padding: 0; min-height: 0; }
body.kp .kp-svc-photo .mfn-icon-box { display: block; }
body.kp .kp-svc-photo .icon-wrapper { display: block !important; margin: 0; }
body.kp .kp-svc-photo .icon-wrapper img { width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; display: block; max-width: none; }
body.kp .kp-svc-photo .desc-wrapper { padding: 22px 24px 24px; }
body.kp .kp-svc-photo .title, body.kp .kp-svc-photo h4 { font-size: 22px; }
body.kp .kp-tag { font-size: 11px !important; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-sage-text) !important; margin-top: 14px !important; }
body.kp .kp-svc-ask .mcb-column-inner { background: var(--kp-paper-2); border-style: dashed; }
body.kp .kp-blogcard .mcb-column-inner { min-height: 0; }
body.kp .kp-blogcard .kp-link a { font-size: 12px; }

/* Statisztika (2022 óta …) */
body.kp .kp-stats > .mcb-wrap-inner { display: grid; grid-template-columns: repeat(3, 1fr); column-gap: 24px; }
body.kp .kp-stats > .mcb-wrap-inner > .column_column { grid-column: 1 / -1; }
body.kp .kp-stats > .mcb-wrap-inner > .column { width: auto; max-width: none; margin: 0; float: none; }
body.kp .kp-stat .quick_fact { text-align: left; }
body.kp .kp-stat .number-wrapper { display: flex; align-items: baseline; gap: 6px; }
body.kp .kp-stat .number, body.kp .kp-stat .label { font-family: var(--kp-display); font-weight: 300; font-size: 52px; line-height: 1; color: var(--kp-ink); letter-spacing: var(--kp-tracking-display); }
body.kp .kp-stat .label { font-size: 16px; color: var(--kp-muted); font-family: var(--kp-text); letter-spacing: .1em; text-transform: uppercase; }
body.kp .kp-stat .title { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-muted); font-family: var(--kp-text); margin-top: 10px; font-weight: 400; }
body.kp .kp-stat hr, body.kp .kp-stat .hr_narrow { display: none; }

/* Az átadás menete (sötét, három óriás szám) */
body.kp .kp-delivery-item .quick_fact { text-align: left; border-top: 1px solid var(--kp-dark-line); padding-top: 28px; }
body.kp .kp-delivery-item .number-wrapper { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; }
body.kp .kp-delivery-item .number { font-family: var(--kp-display); font-weight: 300; font-size: 72px; line-height: 1; color: #fff; letter-spacing: var(--kp-tracking-display); }
body.kp .kp-delivery-item .label { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--kp-sage); font-family: var(--kp-text); }
body.kp .kp-delivery-item .desc, body.kp .kp-delivery-item .desc p { font-size: 15px; line-height: 1.7; color: var(--kp-on-dark-2); }
body.kp .kp-delivery-item hr, body.kp .kp-delivery-item .hr_narrow { display: none; }

/* Kiemelt vélemény */
body.kp .kp-quotesec { padding: 72px 0; }
body.kp .kp-quote .mrv-quote-text, body.kp .kp-quote blockquote, body.kp .kp-quote .mrv-text { font-family: var(--kp-text); font-weight: 300; font-size: clamp(16px, 1.25vw, 18px); line-height: 1.7; color: var(--kp-ink); text-align: center; }
body.kp .kp-quote .mrv .mrv-quote { max-width: 760px; text-align: center; margin-bottom: 20px; }
body.kp .kp-quote .mrv-quote::before { font-size: 90px; top: -34px; left: -6px; }
body.kp .kp-quote .mrv { text-align: center; }

/* Kapcsolat */
body.kp .kp-contactgrid { padding-top: 0; }
body.kp .kp-contactgrid > .section_wrapper { display: grid; grid-template-columns: 3fr 2fr; column-gap: 24px; align-items: start; }
body.kp .kp-contactgrid > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-form-card { background: var(--kp-card); border: 1px solid var(--kp-line); padding: 44px 48px; }
body.kp .kp-form-title h3 { font-family: var(--kp-display); font-size: 30px; font-weight: 300; margin: 0 0 24px; }
body.kp .kp-form .project-engine-form-field { margin-bottom: 20px; }
body.kp .kp-contact-side > .mcb-wrap-inner { display: flex; flex-direction: column; gap: 16px; }
body.kp .kp-contact-side .column { width: 100%; max-width: none; margin: 0; }
body.kp .kp-contact-dark .mcb-column-inner { background: var(--kp-dark); padding: 34px 34px 30px; }
body.kp .kp-contact-dark h4 { font-family: var(--kp-display); font-size: 26px; font-weight: 300; color: #fff; margin: 0 0 18px; }
body.kp .kp-contact-dark p { font-size: 15px; line-height: 1.7; color: #fff; margin: 0 0 6px; }
body.kp .kp-contact-dark a { color: #fff; text-decoration: none; }
body.kp .kp-contact-dark .kp-dim { color: var(--kp-on-dark); font-size: 14px; margin-top: 12px; }
body.kp .kp-contact-dark .kp-label, body.kp .kp-contact-card .kp-label { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--kp-on-dark); margin: 20px 0 8px; }
body.kp .kp-contact-card .mcb-column-inner { background: var(--kp-card); border: 1px solid var(--kp-line); padding: 22px 26px; }
body.kp .kp-contact-card .kp-label { color: var(--kp-muted); margin-top: 0; }
body.kp .kp-contact-card p { font-size: 15px; line-height: 1.6; margin: 0 0 8px; }
body.kp .kp-contact-dark .kp-social a { margin-right: 18px; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
body.kp .kp-btn-block .button { width: 100%; text-align: center; }
body.kp .kp-contact-side .kp-btn-block { margin-top: -8px; }
@media (max-width: 991px) { body.kp .kp-contactgrid > .section_wrapper { grid-template-columns: 1fr; row-gap: 16px; } body.kp .kp-form-card { padding: 28px 22px; } }

body.kp .kp-map { padding: 0; background: var(--kp-paper-2); }
body.kp .kp-map > .section_wrapper { max-width: none; padding: 0; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
body.kp .kp-map > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-mapframe { position: relative; width: 100%; height: 100%; min-height: 420px; }
body.kp .kp-mapframe iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.35); }
body.kp .kp-map-r { padding: 72px 64px; display: flex; align-items: center; }
body.kp .kp-map-r .mcb-wrap-inner { width: 100%; }
body.kp .kp-map-r h2 { margin: 0 0 16px; }
body.kp .kp-map-r .column_button { display: inline-block; width: auto; margin: 16px 8px 0 0; }
@media (max-width: 991px) { body.kp .kp-map > .section_wrapper { grid-template-columns: 1fr; } body.kp .kp-map-r { padding: 40px 24px; } }
body.kp .kp-before > .section_wrapper { display: grid; grid-template-columns: 1fr 3fr; column-gap: 48px; align-items: start; }
body.kp .kp-before > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
body.kp .kp-miniqa .mcb-column-inner { border-top: 1px solid var(--kp-line); padding-top: 18px; }
body.kp .kp-miniqa .title, body.kp .kp-miniqa h4 { font-size: 15px; font-family: var(--kp-text); font-weight: 500; color: var(--kp-ink); margin-bottom: 6px; }
body.kp .kp-miniqa .desc, body.kp .kp-miniqa .desc p { font-size: 14px; line-height: 1.65; color: var(--kp-muted); }
body.kp .kp-miniqa .icon-wrapper { display: none; }
@media (max-width: 991px) { body.kp .kp-before > .section_wrapper { grid-template-columns: 1fr; row-gap: 24px; } }

/* ---------- 22. Az oldalcím-sáv (#Subheader) az új dizájnban nem kell ---------- */
body.kp #Subheader { display: none !important; height: 0 !important; visibility: hidden; }
body.kp #Content { padding-top: 0; }

/* =====================================================================
 * 23. Speciális szolgáltatásoldalak (QR, selfie box, …)
 * ===================================================================== */
body.kp .kp-split > .section_wrapper { display: grid; grid-template-columns: 2fr 3fr; column-gap: 72px; align-items: center; }
body.kp .kp-split-rev > .section_wrapper { grid-template-columns: 3fr 2fr; }
body.kp .kp-split > .section_wrapper > .mcb-wrap { width: auto; max-width: none; float: none; }
@media (max-width: 991px) { body.kp .kp-split > .section_wrapper, body.kp .kp-split-rev > .section_wrapper { grid-template-columns: 1fr; row-gap: 32px; } }
body.kp .kp-device img { display: block; width: 100%; max-width: 300px; height: auto; margin: 0 auto; border: 1px solid var(--kp-line-2); background: #fff; }
body.kp .kp-features .mcb-column-inner { border-top: 1px solid var(--kp-line); padding-top: 16px; }
body.kp .kp-features .title, body.kp .kp-features h4 { font-size: 15px; font-family: var(--kp-text); font-weight: 500; color: var(--kp-ink); margin: 0; }
body.kp .kp-features .icon-wrapper { display: none; }
body.kp .kp-features-sec { padding: 56px 0; }

/* Rendelő-kártyák (QR csomagok): a Vendégkönyv plugin gombja (.guestbook-order-trigger) működik tovább */
body.kp .kp-orders > .mcb-wrap-inner { align-items: stretch; }
body.kp .kp-order-col, body.kp .kp-order-col .mcb-column-inner, body.kp .kp-order-col .column_attr, body.kp .kp-order { height: 100%; }
body.kp .kp-order { position: relative; background: var(--kp-card); border: 1px solid var(--kp-line); padding: 34px 30px 30px; display: flex; flex-direction: column; }
body.kp .kp-order.is-featured { border: 2px solid var(--kp-ink); box-shadow: inset 0 0 0 4px var(--kp-sage); }
body.kp .kp-order-badge { position: absolute; top: 0; right: 0; background: var(--kp-sage); color: var(--kp-ink); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 7px 12px; font-weight: 600; }
body.kp .kp-order-label { font-size: 11px; letter-spacing: .34em; text-transform: uppercase; color: var(--kp-sage-text); margin-bottom: 14px; }
body.kp .kp-order-price { font-family: var(--kp-display); font-size: 44px; line-height: 1; font-weight: 400; color: var(--kp-ink); letter-spacing: var(--kp-tracking-display); }
body.kp .kp-order-dur { font-size: 13px; color: var(--kp-muted); margin-top: 8px; }
body.kp .kp-order ul { list-style: none; margin: 22px 0 24px; padding: 0; flex: 1; text-align: left; }
body.kp .kp-order li { font-size: 14.5px; line-height: 1.55; padding: 10px 0 10px 24px; border-bottom: 1px solid var(--kp-hairline); position: relative; color: var(--kp-body); }
body.kp .kp-order li::before { content: ''; position: absolute; left: 0; top: 17px; width: 11px; height: 6px; border-left: 1.6px solid var(--kp-sage-text); border-bottom: 1.6px solid var(--kp-sage-text); transform: rotate(-45deg); }
body.kp .kp-order .guestbook-order-trigger { width: 100%; background: transparent; color: var(--kp-ink); border: 1px solid var(--kp-ink); }
body.kp .kp-order.is-featured .guestbook-order-trigger { background: var(--kp-ink); color: var(--kp-paper); }
body.kp .kp-order .guestbook-order-trigger:hover { background: var(--kp-ink); color: var(--kp-paper); }

/* A builderből átemelt, önálló stílusú widgetek (AI-stílus bemutató): a betűk és színek a rendszerhez igazítva */
body.kp .kp-legacy, body.kp .kp-legacy * { font-family: var(--kp-text); }
body.kp .kp-legacy h1, body.kp .kp-legacy h2, body.kp .kp-legacy h3, body.kp .kp-legacy h4 { font-family: var(--kp-display); font-weight: 300; }
body.kp .kp-legacy a.sfb-btn, body.kp .kp-legacy .sfb-btn { border-radius: 0; }
body.kp .kp-legacy-sec .column_html, body.kp .kp-legacy-sec .mfn-html-wrapper { text-align: left; }

/* =====================================================================
 * 24. Pluginok bőre: sütisáv, popup-űrlap, galéria-portfólió, portál, ajánlati oldal
 * (a pluginok saját CSS-ét a kp-design írja felül, így a dev és az éles érintetlen marad)
 * ===================================================================== */
/* Betheme sütisáv */
body.kp #mfn-gdpr { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; padding: 22px 24px; max-width: 360px; font-family: var(--kp-text); text-align: left; }
body.kp #mfn-gdpr .mfn-gdpr-image { display: none; }
body.kp #mfn-gdpr .mfn-gdpr-content { font-size: 14px; line-height: 1.65; color: var(--kp-body); margin: 0 0 12px; text-align: left; }
body.kp #mfn-gdpr .mfn-gdpr-content a { color: var(--kp-sage-text); }
body.kp #mfn-gdpr .mfn-gdpr-readmore { display: inline-block; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-ink); margin: 0 18px 12px 0; }
body.kp #mfn-gdpr .mfn-gdpr-button { background: var(--kp-ink); color: var(--kp-paper); border: 1px solid var(--kp-ink); border-radius: 0; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; padding: 12px 20px; min-height: 0; }

/* PE Forms: popup és mezők */
body.kp .pe-form-popup-overlay { background: rgba(18, 20, 22, .62); }
body.kp .pe-form-popup { background: var(--kp-card); border: 0; border-radius: 0; box-shadow: none; }
body.kp .pe-form-popup-close { background: transparent; color: var(--kp-ink); border: 0; font-size: 28px; padding: 6px 12px; min-height: 0; }
body.kp .pe-form-popup-close:hover { background: transparent; color: var(--kp-sage-text); }
body.kp .project-engine-form h2, body.kp .pe-form-popup h2, body.kp .pe-form-popup h3 { font-family: var(--kp-display); font-weight: 300; font-size: 30px; color: var(--kp-ink); }
body.kp .project-engine-form-field label { font-size: 14px; letter-spacing: normal; text-transform: none; color: var(--kp-ink); font-weight: 500; }
body.kp .project-engine-form-divider-label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--kp-muted); font-weight: 500; }
body.kp .project-engine-form-divider { border-color: var(--kp-line); }
body.kp .project-engine-form-field-note { color: var(--kp-muted); font-size: 13px; }
body.kp .project-engine-form-success { background: var(--kp-ok-bg); color: var(--kp-ok-fg); border: 1px solid var(--kp-ok-bg); border-radius: 0; }

/* Galéria-portfólió (esküvői történetek, ügyfélgalériák) */
body.kp .gallery-portfolio-wrap { max-width: 1440px; margin: 0 auto; padding: 0 var(--kp-margin) 96px; box-sizing: border-box; }
body.kp .gallery-portfolio-intro h1 { display: none; }
body.kp .gallery-portfolio-intro p { max-width: 660px; font-size: 17px; line-height: 1.85; color: var(--kp-body); margin: 0 0 40px; text-align: left; }
body.kp .gallery-portfolio-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 32px; justify-content: flex-start; }
body.kp .gallery-portfolio-filter-btn { background: transparent; color: var(--kp-ink); border: 1px solid var(--kp-line-2); border-radius: 0; padding: 12px 20px; min-height: 0; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
body.kp .gallery-portfolio-filter-btn:hover { border-color: var(--kp-ink); background: transparent; color: var(--kp-ink); }
body.kp .gallery-portfolio-filter-btn.is-active { background: var(--kp-ink); color: var(--kp-paper); border-color: var(--kp-ink); }
body.kp .gallery-portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
body.kp .gallery-portfolio-card { display: block; background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; text-decoration: none; overflow: hidden; }
body.kp .gallery-portfolio-card[hidden] { display: none; }
body.kp .gallery-portfolio-card:hover { border-color: var(--kp-ink); }
body.kp .gallery-portfolio-card-img-wrap { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 0; }
body.kp .gallery-portfolio-card-img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; }
body.kp .gallery-portfolio-card-name { display: block; font-family: var(--kp-display); font-size: 22px; font-weight: 400; color: var(--kp-ink); padding: 18px 22px 20px; text-align: left; letter-spacing: var(--kp-tracking-display); }
body.kp .gallery-portfolio-card-badge { background: var(--kp-ink); color: var(--kp-paper); border-radius: 0; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
body.kp .gallery-portfolio-card-peek-title { font-family: var(--kp-display); font-weight: 300; }
@media (max-width: 991px) { body.kp .gallery-portfolio-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575px) { body.kp .gallery-portfolio-grid { grid-template-columns: 1fr; } }

/* Ügyfélportál */
body.kp .project-engine-portal { max-width: 1312px; padding: 48px var(--kp-margin) 96px !important; font-family: var(--kp-text); }
body.kp .project-engine-portal h1, body.kp .project-engine-portal h2, body.kp .project-engine-portal h3 { font-family: var(--kp-display); font-weight: 300; color: var(--kp-ink); letter-spacing: var(--kp-tracking-display); }
body.kp .project-engine-portal h1 { font-size: clamp(34px, 4vw, 52px); }
body.kp .project-engine-portal-nav { border-bottom: 1px solid var(--kp-line); gap: 4px; }
body.kp .project-engine-portal-nav-link { font-family: var(--kp-text); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-muted); border-radius: 0; background: transparent; padding: 16px 18px; border-bottom: 2px solid transparent; }
body.kp .project-engine-portal-nav-link:hover { color: var(--kp-ink); background: transparent; }
body.kp .project-engine-portal-nav-link.is-active { color: var(--kp-ink); border-bottom-color: var(--kp-ink); background: transparent; box-shadow: none; }
body.kp .project-engine-portal-card, body.kp .project-engine-portal-order-card, body.kp .project-engine-portal-voucher-card, body.kp .project-engine-portal-documents { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; }
body.kp .project-engine-portal-btn, body.kp .project-engine-portal-logout-btn, body.kp .project-engine-portal-line-download-btn, body.kp .project-engine-portal-order-cancel-btn { border-radius: 0; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; box-shadow: none; }
body.kp .project-engine-portal-btn { background: var(--kp-ink); color: var(--kp-paper); border: 1px solid var(--kp-ink); }
body.kp .project-engine-status-badge { border-radius: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; background: var(--kp-later-bg); color: var(--kp-later-fg); padding: 7px 14px; }
body.kp .pe-status-timeline-step, body.kp .pe-task-list, body.kp .pe-menetrend-item { border-radius: 0; }

/* Ajánlati oldal (PE offer) */
body.kp .pe-offer-option-card, body.kp .pe-offer-useful-info-card, body.kp .pe-offer-recap, body.kp .pe-offer-response-form { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; }
body.kp .pe-offer-option-card.is-selected, body.kp .pe-offer-option-card.selected { border: 2px solid var(--kp-ink); box-shadow: inset 0 0 0 4px var(--kp-sage); }
body.kp .pe-offer-option-price { font-family: var(--kp-display); font-weight: 400; color: var(--kp-ink); }
body.kp .pe-offer-greeting, body.kp .pe-offer-thanks h1, body.kp .pe-offer-thanks h2 { font-family: var(--kp-display); font-weight: 300; color: var(--kp-ink); }
body.kp .pe-offer-sticky-footer { background: var(--kp-dark); border-top: 1px solid var(--kp-dark-line); border-radius: 0; box-shadow: none; }
body.kp .pe-offer-sticky-footer, body.kp .pe-offer-sticky-footer * { color: #fff; }
body.kp .pe-offer-extension-notice { border-radius: 0; }
body.kp .pe-offer-flip-card { border-radius: 0; background: var(--kp-card); color: var(--kp-ink); }

/* Vélemények (Mirapix Értékelések) — a 3 kártyás rács */
body.kp .mrv-grid .mrv-card, body.kp .mrv .mrv-card, body.kp .mrv .mrv-item { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; }
body.kp .mrv button, body.kp .mrv .mrv-more, body.kp .mrv a.mrv-btn { border-radius: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
body.kp .kp-reviews .mrv { max-width: none; }

/* AI Asszisztens indító (diszkrét, szögletes) */
body.kp #ai-asszisztens-widget button.ai-asszisztens-launcher, body.kp .ai-asszisztens-launcher { border-radius: 50% !important; background: var(--kp-ink); color: var(--kp-paper); box-shadow: 0 6px 18px rgba(18,20,22,.22); width: 56px; height: 56px; padding: 0; min-height: 0; }

/* ---------- 25. Rólunk ---------- */
body.kp .kp-bigquote blockquote { font-family: var(--kp-display); font-weight: 300; font-size: clamp(24px, 2.6vw, 36px); line-height: 1.4; color: var(--kp-ink); border: 0; padding: 0; margin: 0 auto; max-width: 900px; text-align: center; background: transparent; }
body.kp .kp-team > .mcb-wrap-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
body.kp .kp-team-caps > .mcb-wrap-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 12px; }
body.kp .kp-team > .mcb-wrap-inner > .column, body.kp .kp-team-caps > .mcb-wrap-inner > .column { width: auto; max-width: none; margin: 0; float: none; }
body.kp .kp-team-img img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
body.kp .kp-team-cap p { font-size: 15px; line-height: 1.5; margin: 0; }
body.kp .kp-team-cap strong { font-family: var(--kp-display); font-size: 20px; font-weight: 400; color: var(--kp-ink); }
@media (max-width: 767px) { body.kp .kp-team > .mcb-wrap-inner, body.kp .kp-team-caps > .mcb-wrap-inner { grid-template-columns: 1fr; } }

/* ---------- 26. Mobil: az AI-chat indító a ragadós sáv fölé kerül ---------- */
@media (max-width: 767px) {
	body.kp #mfn-gdpr { left: 12px; right: 12px; bottom: 12px; max-width: none; }
}

/* =====================================================================
 * 27. Betű-ütközés: a site ikon-fontja (kaloczi_icons) minden [class^="kp-"] elemre icomoon !important-ot ír.
 * A kp-osztályú SZÖVEG-elemek visszakapják a rendszer betűit; az <i> ikon-elemek érintetlenek.
 * ===================================================================== */
body.kp [class^="kp-"]:not(i), body.kp [class*=" kp-"]:not(i) { font-family: var(--kp-text) !important; }
body.kp .kp-order-price, body.kp .kp-pkg__price, body.kp .kp-pkg__name, body.kp .kp-menetrend__time, body.kp .kp-pstrip__r strong,
body.kp .kp-hero h1, body.kp .kp-page-title h1, body.kp .kp-sec-title h2 { font-family: var(--kp-display) !important; }
/* Kapi-komponensek címbetűs elemei (404, buborék, köszönő kártya) — a fenti !important kényszer alól kivéve */
body.kp h1.kp-page-title, body.kp span.kp-notfound__code, body.kp div.kp-bubble, body.kp .kp-strip__fr.is-miss span, body.kp .kp-notfound__hint b, body.kp h3.kp-done__title { font-family: var(--kp-display) !important; }

/* =====================================================================
   28. Webshop (Store plugin), jogi/szabályzat oldalak, videók, közös segédek
   ===================================================================== */
body.kp .kp-jump { margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 8px 28px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
body.kp .kp-jump a { color: var(--kp-ink); text-decoration: none; border-bottom: 1px solid var(--kp-ink); padding-bottom: 3px; }
body.kp .kp-jump a:hover { color: var(--kp-sage-text); border-color: var(--kp-sage-text); }

/* Store: kategória-kártyák (kalo-shop-cards) és árlista */
body.kp .kalo-shop-cards { max-width: none; margin: 28px 0 0; gap: 24px; }
body.kp .kalo-shop-card { border: 1px solid var(--kp-line); border-radius: 0; background: var(--kp-card); box-shadow: none; transform: none; }
body.kp .kalo-shop-card:hover { border-color: var(--kp-ink); box-shadow: none; transform: none; }
body.kp .kalo-shop-card-img { aspect-ratio: 4 / 5; background: var(--kp-paper-2); }
body.kp .kalo-shop-card-body { text-align: left; padding: 20px 22px 22px; }
body.kp .kalo-shop-card-name { font-family: var(--kp-display); font-weight: 400; font-size: 22px; letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); }
body.kp .kalo-shop-card-foot { justify-content: space-between; }
body.kp .kalo-shop-price { font-family: var(--kp-text); font-size: 15px; color: var(--kp-ink); }
body.kp .kalo-shop-count { font-family: var(--kp-text); letter-spacing: .14em; color: var(--kp-muted); }
body.kp ul.kalo-shop-pricelist li { border-bottom-color: var(--kp-line); }
body.kp ul.kalo-shop-pricelist a { color: var(--kp-ink); }
body.kp ul.kalo-shop-pricelist a:hover { color: var(--kp-sage-text); }
body.kp .kp-gift-img img { width: 100%; height: auto; display: block; }
body.kp .kp-shop-l .image_frame, body.kp .kp-shop-r .image_frame { margin: 0; }

/* Store: termékrács ([store_shop]) */
body.kp .pe-shop-wrap { text-align: left; padding: 0 0 8px; }
body.kp .pe-shop-products { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 24px; justify-content: stretch; margin-bottom: 0; }
body.kp .pe-shop-product { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; padding: 18px 18px 22px; flex: none; max-width: none; min-width: 0; text-align: left; transition: border-color .2s ease; }
body.kp .pe-shop-product:hover { border-color: var(--kp-ink); }
body.kp .pe-shop-product-image { border-radius: 0; margin-bottom: 16px; background: var(--kp-paper-2); }
body.kp .pe-shop-product h3, body.kp .pe-shop-product-title, body.kp .pe-shop-product .title { font-family: var(--kp-display); font-weight: 400; font-size: 22px; line-height: 1.2; letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); margin: 0 0 6px; }
body.kp .pe-shop-product-desc { color: var(--kp-muted); font-size: 14px; }
body.kp .pe-shop-product-price { font-family: var(--kp-text); font-size: 15px; font-weight: 600; color: var(--kp-ink); margin: 10px 0 18px; }
body.kp .pe-shop-price-original { color: var(--kp-muted); }
body.kp .pe-shop-price-sale { color: var(--kp-sage-text); }
body.kp .pe-shop-btn, body.kp .pe-shop-view-btn, body.kp .pe-shop-add-to-cart-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px; border-radius: 0;
	background: var(--kp-ink); color: #fff; border: 1px solid var(--kp-ink); font-family: var(--kp-display); font-weight: 500;
	font-size: 12px; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; box-shadow: none; transition: background .15s, color .15s;
}
body.kp .pe-shop-btn:hover, body.kp .pe-shop-view-btn:hover, body.kp .pe-shop-add-to-cart-btn:hover { background: transparent; color: var(--kp-ink); border-color: var(--kp-ink); }
body.kp .pe-shop-btn[disabled], body.kp .pe-shop-add-to-cart-btn[disabled] { background: var(--kp-line); border-color: var(--kp-line); color: var(--kp-muted); cursor: not-allowed; }
body.kp .pe-shop-view-btn { width: 100%; }

/* Store: termékoldal, kosár, pénztár, köszönő oldal */
body.kp .pe-shop-detail-wrap, body.kp .pe-shop-detail { color: var(--kp-ink); }
body.kp .pe-shop-detail { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; }
body.kp .pe-shop-detail-back { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--kp-ink); text-decoration: none; }
body.kp .pe-shop-detail-info h1, body.kp .pe-shop-detail-info h2 { font-family: var(--kp-display); font-weight: 400; letter-spacing: var(--kp-tracking-display); }
body.kp .pe-shop-detail-thumb, body.kp .pe-shop-detail-gallery img, body.kp .pe-shop-detail-gallery > * { border-radius: 0; }
body.kp .pe-shop-detail-pill, body.kp .pe-shop-detail-swatch { border-radius: 0; }
body.kp .pe-shop-detail-select, body.kp .pe-shop-wrap input[type="text"], body.kp .pe-shop-wrap input[type="email"], body.kp .pe-shop-wrap input[type="tel"], body.kp .pe-shop-wrap input[type="number"], body.kp .pe-shop-wrap select, body.kp .pe-shop-wrap textarea {
	background: var(--kp-paper); border: 1px solid var(--kp-line); border-radius: 0; color: var(--kp-ink); min-height: 46px; box-shadow: none; font-family: var(--kp-text);
}
body.kp .pe-shop-wrap input:focus, body.kp .pe-shop-wrap select:focus, body.kp .pe-shop-wrap textarea:focus { border-color: var(--kp-ink); outline: 0; box-shadow: 0 0 0 1px var(--kp-ink); }
body.kp .pe-shop-dropzone { border-radius: 0; border-color: var(--kp-line); background: var(--kp-paper); }
body.kp .pe-shop-qty-btn { border-radius: 0; background: var(--kp-ink); color: #fff; border: 1px solid var(--kp-ink); }
body.kp .pe-shop-qty-input { border-radius: 0; }
body.kp .pe-shop-thanks { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; }
body.kp .pe-shop-modal, body.kp .pe-shop-modal-box, body.kp .pe-shop-lightbox-inner { border-radius: 0; }

/* Jogi / szabályzat / tudnivalók (kp-doc): olvasható sortöréssel, a design tokenjeivel */
body.kp .kp-doc { padding-top: 24px; }
body.kp .kp-doc .column_column, body.kp .kp-doc .column_column p, body.kp .kp-doc .column_column li { font-size: 16px; line-height: 1.75; color: var(--kp-ink); }
body.kp .kp-doc .column_column p, body.kp .kp-doc .column_column ul, body.kp .kp-doc .column_column ol { max-width: 76ch; }
body.kp .kp-doc .column_column ul, body.kp .kp-doc .column_column ol { padding-left: 1.2em; }
body.kp .kp-doc h2, body.kp .kp-doc h3, body.kp .kp-doc h4, body.kp .kp-doc .column_heading .title { font-family: var(--kp-display); font-weight: 400; font-size: 22px; line-height: 1.3; letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); margin: 8px 0 12px; }
body.kp .kp-doc h2 { font-size: 26px; }
body.kp .kp-doc .divider_wrapper hr, body.kp .kp-doc hr.hr_color { border-color: var(--kp-line); background: var(--kp-line); }
body.kp .kp-doc a { color: var(--kp-sage-text); text-decoration: underline; text-underline-offset: 3px; }
body.kp .kp-doc .image_frame, body.kp .kp-doc .image_frame img { border-radius: 0; }
body.kp .kp-doc .table_of_contents, body.kp .kp-doc .mfn-toc { font-size: 14px; }
body.kp .kp-doc .table_of_contents a { color: var(--kp-ink); text-decoration: none; }
body.kp .kp-doc .table_of_contents a:hover { color: var(--kp-sage-text); }

/* Videók */
body.kp .kp-videos > .mcb-wrap-inner { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
body.kp .kp-videos .column { width: 100%; max-width: none; margin: 0; }
body.kp .kp-videos iframe, body.kp .kp-videos .mfn-video { aspect-ratio: 16 / 9; width: 100%; height: auto; border: 0; }
@media (max-width: 991px) { body.kp .kp-videos > .mcb-wrap-inner { grid-template-columns: 1fr; } }

/* Ügyfél-oldali közös segéd: a régi (kalo-shop-*, kalo-svc) blokkok tokenjei */
body.kp { --ks-ink: var(--kp-ink); --ks-sage: var(--kp-sage-text); --ks-line: var(--kp-line); --ks-tint: var(--kp-paper-2); --ks-faint: var(--kp-muted); }

/* Partnerek ([kalo_partnerek]): a kártya <button> — a globális gombstílus helyett kártya */
body.kp button.kalo-p-card:not(.mfn-close):not(.kp-plain) { background: var(--kp-card); color: var(--kp-ink); border: 1px solid var(--kp-line); border-radius: 0; height: auto; min-height: 236px; padding: 22px 20px 20px; text-align: left; letter-spacing: 0; text-transform: none; font-family: var(--kp-text); box-shadow: none; display: flex; flex-direction: column; align-items: flex-start; }
body.kp button.kalo-p-card:not(.mfn-close):not(.kp-plain):hover, body.kp button.kalo-p-card:not(.mfn-close):not(.kp-plain):focus-visible { background: var(--kp-card); color: var(--kp-ink); border-color: var(--kp-ink); }
body.kp .kalo-p-card .kalo-p-logo { width: 100%; display: flex; align-items: center; justify-content: flex-start; }
body.kp .kalo-p-card .kalo-p-logo img { max-height: 88px; width: auto; max-width: 100%; object-fit: contain; }
body.kp .kalo-p-name { font-family: var(--kp-display); font-weight: 400; font-size: 20px; letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); margin-top: 14px; }
body.kp .kalo-p-cat { color: var(--kp-muted); text-transform: uppercase; letter-spacing: .14em; font-size: 11px; margin-top: auto; padding-top: 12px; }
body.kp .kalo-p-group-title { font-family: var(--kp-display); font-weight: 400; letter-spacing: var(--kp-tracking-display); }
body.kp .kalo-pm-panel { border-radius: 0; }
body.kp button.kalo-pm-close:not(.mfn-close):not(.kp-plain) { background: transparent; color: var(--kp-ink); border: 0; }

/* =====================================================================
   29. Privát galéria (Gallery plugin megjelenítő) — a terv 6. oldala szerint
   A megjelenítő saját CSS-e (gallery.css) marad az alap; itt a tokenek, a fejléc, a fülsor és a gombok kapnak új bőrt.
   ===================================================================== */
body.kp:has(.gallery-content) { background: var(--kp-paper); }
body.kp:has(.gallery-content) #mfn-header-template, body.kp:has(.gallery-content) #mfn-footer-template, body.kp:has(.gallery-content) .kp-stickybar { display: none !important; }
body.kp .gallery-content { font-family: var(--kp-text); color: var(--kp-ink); background: var(--kp-paper); }
body.kp .gallery-header { background: var(--kp-paper); border-bottom: 1px solid var(--kp-line); padding-top: 14px; padding-bottom: 14px; margin-bottom: 0; }
body.kp .gallery-header.gallery-wrap-flush, body.kp .gallery-header.is-stuck { padding-top: 10px; padding-bottom: 10px; }
body.kp .gallery-header-title h1 { font-family: var(--kp-display); font-weight: 300; font-size: clamp(22px, 2.6vw, 34px); letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); }
body.kp .gallery-header.is-stuck .gallery-header-title h1 { font-size: 18px; }
body.kp .gallery-date { color: var(--kp-muted); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
body.kp .gallery-header-logo img { max-height: 44px; }
body.kp .gallery-header-menu { padding: 6px 0; }
body.kp .gallery-header .gallery-icon-btn { background: transparent; color: var(--kp-ink); border: 1px solid var(--kp-line-2); border-radius: 0; }
@media (hover: hover) { body.kp .gallery-header .gallery-icon-btn:hover { background: var(--kp-ink); color: #fff; border-color: var(--kp-ink); } }
/* Bekapcsolt szűrők/üzemmódok (kedvencek, listák, kijelölés): zöld háttér, fehér ikon — 2026-09-21, user-kérés. A gallery.css sötét kitöltését a fenti átlátszó háttér felülírta, ezért nem látszott a bekapcsolt állapot. */
body.kp .gallery-header .gallery-icon-btn.is-active,
body.kp .gallery-header .gallery-icon-btn[aria-pressed="true"] { background: var(--kp-sage-text); color: #fff; border-color: var(--kp-sage-text); }
@media (hover: hover) { body.kp .gallery-header .gallery-icon-btn.is-active:hover, body.kp .gallery-header .gallery-icon-btn[aria-pressed="true"]:hover { background: var(--kp-sage-hover); border-color: var(--kp-sage-hover); } }
body.kp .gallery-header .gallery-icon-btn svg, body.kp .gallery-header .gallery-icon-btn svg * { stroke: currentColor; }
body.kp .gallery-header-hamburger { background: transparent; color: var(--kp-ink); border: 0; }
body.kp .gallery-badge { background: var(--kp-sage); color: var(--kp-ink); top: -9px; right: -9px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; border-width: 2px; font-size: 13px; font-weight: 700; line-height: 18px; }
body.kp .gallery-header .gallery-icon-btn.gallery-cart-btn { border-radius: 0; min-width: 52px; height: 46px; padding: 0 18px; }
body.kp .gallery-cart-total { color: inherit; font-family: var(--kp-text); }
body.kp .gallery-chapter-nav { background: var(--kp-paper-2); border-bottom: 1px solid var(--kp-line); gap: 4px 32px; }
body.kp .gallery-chapter-nav a { font-family: var(--kp-text); font-weight: 400; font-size: 11px; letter-spacing: .22em; color: var(--kp-ink); padding: 6px 0; border-bottom: 1px solid transparent; text-decoration: none; }
body.kp .gallery-chapter-nav a:hover, body.kp .gallery-chapter-nav a.is-active { color: var(--kp-ink); border-bottom-color: var(--kp-ink); text-decoration: none; }
body.kp .gallery-chapter-title { font-family: var(--kp-display); font-weight: 300; font-size: clamp(24px, 2.6vw, 34px); letter-spacing: var(--kp-tracking-display); text-align: left; margin: 48px 0 20px; }
body.kp .gallery-grid { column-gap: 12px; }
body.kp .gallery-thumb-wrap { margin-bottom: 12px; background: var(--kp-paper-2); border: 1px solid var(--kp-line); }
body.kp .gallery-filter-chip { border-radius: 4px; border-color: var(--kp-line); color: var(--kp-ink); background: var(--kp-card); font-family: var(--kp-text); }
body.kp .gallery-filter-chip.is-active { background: var(--kp-ink); border-color: var(--kp-ink); color: #fff; }
body.kp .gallery-btn, body.kp a.gallery-btn { font-family: var(--kp-text); border-radius: 0; text-transform: uppercase; letter-spacing: var(--kp-tracking-button); font-size: 12px; }
body.kp .gallery-btn.gallery-btn-blue { background: var(--kp-ink); border-color: var(--kp-ink); color: #fff; }
body.kp .gallery-btn.gallery-btn-blue:hover { background: transparent; color: var(--kp-ink); }
body.kp .gallery-btn.gallery-btn-white, body.kp .gallery-btn.gallery-btn-secondary { background: transparent; border: 1px solid var(--kp-ink); color: var(--kp-ink); }
body.kp .gallery-btn.gallery-btn-white:hover, body.kp .gallery-btn.gallery-btn-secondary:hover { background: var(--kp-ink); color: #fff; }
body.kp .gallery-password-form input[type="password"], body.kp .gallery-password-form input[type="text"] { border-radius: 0; }
body.kp .gallery-header { margin-left: -2.5vw; margin-right: -2.5vw; padding-left: 2.5vw; padding-right: 2.5vw; }
body.kp .gallery-header-inner { padding: 0; max-width: none; }

/* 404 — Kapi-terv (kaloczi-design/kabala/404-kapi): filmcsík kimaradt kockával + kereső Kapi */
body.kp .kp-notfound { position: relative; overflow: hidden; padding: clamp(56px, 8vw, 110px) 0 clamp(64px, 9vw, 120px); background: var(--kp-paper); }
body.kp .kp-notfound::before { content: ""; position: absolute; right: -180px; top: -160px; width: 760px; height: 760px; border-radius: 50%; background: radial-gradient(closest-side, rgba(164,180,160,.26), rgba(164,180,160,0)); pointer-events: none; }
body.kp .kp-notfound .section_wrapper { position: relative; display: flex; align-items: center; gap: 60px; max-width: 1380px; }
body.kp .kp-notfound__txt { flex: 0 1 600px; min-width: 0; }
body.kp .kp-notfound .kp-page-title { margin: 18px 0 0; text-align: left; font-size: clamp(44px, 5vw, 72px); line-height: 1.04; }
body.kp .kp-notfound__code { display: block; font-size: clamp(96px, 11vw, 150px); letter-spacing: -.04em; line-height: .92; margin-bottom: 6px; }
body.kp .kp-notfound .kp-lead { max-width: 520px; margin: 22px 0 0; font-size: 19px; line-height: 1.6; }
body.kp .kp-notfound__btns { display: flex; flex-wrap: wrap; gap: 12px; margin: 36px 0 0; }
body.kp .kp-notfound__hint { display: flex; align-items: center; gap: 10px; margin: 34px 0 0; font-size: 15px; line-height: 1.4; color: var(--kp-muted); }
body.kp .kp-notfound__hint b { font-family: var(--kp-display); font-weight: 600; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; background: var(--kp-sage); color: var(--kp-ink); padding: 5px 8px; }
body.kp .kp-notfound__scene { position: relative; flex: 1 1 auto; display: flex; align-items: flex-end; justify-content: center; gap: 34px; padding-bottom: 30px; }
body.kp .kp-strip { flex: none; background: var(--kp-ink); padding: 9px 0; transform: rotate(-3deg); box-shadow: 0 30px 60px rgba(18,20,22,.25); }
body.kp .kp-strip__perf { display: flex; justify-content: space-between; padding: 0 10px; }
body.kp .kp-strip__perf i { display: block; width: 12px; height: 9px; background: var(--kp-paper); }
body.kp .kp-strip__frames { display: flex; flex-direction: column; gap: 9px; padding: 9px 10px; }
body.kp .kp-strip__fr { width: 212px; height: 150px; background: var(--kp-paper-2, #EDEDE9) center 45% / cover no-repeat; }
body.kp .kp-strip__fr.is-miss { background: var(--kp-paper); border: 2px dashed #9AA09B; display: flex; align-items: center; justify-content: center; }
body.kp .kp-strip__fr.is-miss span { font-family: var(--kp-display); font-weight: 300; font-size: 56px; letter-spacing: -.03em; color: #9AA09B; }
body.kp .kp-notfound__kapi { position: relative; flex: none; margin-bottom: -6px; }
body.kp .kp-notfound__kapi img { display: block; width: 300px; height: auto; }
body.kp .kp-bubble { position: absolute; left: -26px; top: -34px; z-index: 1; background: #fff; border: 1px solid var(--kp-line); padding: 12px 16px; font-family: var(--kp-display); font-weight: 300; font-size: 19px; line-height: 1.2; letter-spacing: -.01em; color: var(--kp-ink); white-space: nowrap; }
body.kp .kp-bubble::after { content: ""; position: absolute; left: 34px; bottom: -9px; width: 16px; height: 16px; background: #fff; border-right: 1px solid var(--kp-line); border-bottom: 1px solid var(--kp-line); transform: rotate(45deg); }
body.kp .kp-notfound__shadow { position: absolute; left: 50%; bottom: 22px; width: 300px; height: 14px; margin-left: -150px; background: rgba(18,20,22,.10); filter: blur(6px); }
@media (max-width: 1100px) {
	body.kp .kp-notfound .section_wrapper { flex-direction: column; align-items: flex-start; gap: 48px; }
	body.kp .kp-notfound__txt { flex-basis: auto; }
	body.kp .kp-notfound__scene { width: 100%; }
}
@media (max-width: 640px) {
	body.kp .kp-notfound__scene { gap: 8px; padding-top: 30px; }
	body.kp .kp-strip__fr { width: 128px; height: 90px; }
	body.kp .kp-strip__fr.is-miss span { font-size: 34px; }
	body.kp .kp-strip__perf i { width: 8px; height: 6px; }
	body.kp .kp-notfound__kapi img { width: 170px; }
	body.kp .kp-bubble { left: -10px; top: -30px; font-size: 15px; padding: 8px 12px; }
	body.kp .kp-bubble::after { left: 22px; }
	body.kp .kp-notfound__shadow { width: 220px; margin-left: -110px; }
	body.kp .kp-notfound__btns .button { flex: 1 1 100%; }
}

/* Üres galéria-lista (Gallery: .gallery-portfolio-empty) — Kapi "Tölt" figurával */
body.kp .gallery-portfolio-empty.kp-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; max-width: 560px; margin: 24px auto 40px; padding: 48px 24px 56px; background: var(--kp-card, #fff); border: 1px solid var(--kp-line); }
body.kp .kp-empty__kapi { position: relative; margin-top: 30px; }
body.kp .kp-empty__kapi img { display: block; width: 220px; height: auto; }
body.kp .kp-empty__kapi .kp-bubble { left: -40px; top: -30px; font-size: 17px; padding: 10px 14px; }
body.kp .kp-empty h2 { margin: 24px 0 0; font-size: clamp(26px, 3vw, 34px); line-height: 1.15; }
body.kp .kp-empty p { margin: 12px 0 0; max-width: 42ch; text-wrap: pretty; font-size: 17px; line-height: 1.6; color: var(--kp-muted); }

/* PE Forms köszönő állapot + időpontfoglalás-visszaigazolás — Kapi kártya (kp-design.php: project_engine_forms/success_html) */
body.kp .project-engine-form-success.kp-done { display: flex; flex-direction: column; align-items: center; max-width: 560px; margin: 0 auto; padding: 24px 16px 28px; background: transparent; border: 0; border-radius: 0; color: var(--kp-ink); text-align: center; font-size: inherit; }
body.kp .kp-done__kapi img { display: block; width: 180px; height: auto; }
body.kp .kp-done .kp-done__title { margin: 14px 0 0; font-family: var(--kp-display); font-weight: 300; font-size: clamp(26px, 3vw, 32px); line-height: 1.15; letter-spacing: -.015em; color: var(--kp-ink); }
body.kp .kp-done .kp-done__msg { margin: 10px 0 0; max-width: 44ch; text-wrap: pretty; font-size: 17px; line-height: 1.6; color: var(--kp-body, #33383A); }
body.kp .kp-done__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1px; width: 100%; margin-top: 20px; background: var(--kp-line); border: 1px solid var(--kp-line); text-align: left; }
body.kp .kp-done__facts div { background: var(--kp-paper); padding: 10px 14px; font-size: 15px; line-height: 1.4; }
body.kp .kp-done__facts small { display: block; font-size: 12px; color: var(--kp-muted); }
/* 2026-09-24: "Hozzáadás a naptárhoz" gombok a foglalás-visszaigazoló kártyán */
body.kp .kp-done__cal { width: 100%; margin-top: 18px; text-align: center; }
body.kp .kp-done__cal small { display: block; font-size: 13px; color: var(--kp-muted); margin-bottom: 10px; }
body.kp .kp-done__cal-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
body.kp .kp-done__cal-btns a.button.kp-done__cal-btn { flex: 1 1 220px; max-width: 320px; margin: 0; }
body.kp .kp-done__cal-btns a.button.kp-done__cal-btn--alt { background: transparent; color: var(--kp-ink); }
body.kp .kp-done__cal-btns a.button.kp-done__cal-btn--alt:hover { background: var(--kp-ink); color: var(--kp-paper); }

/* Üres kosár (Store + Gallery) — Kapi "Nincs meg" (kp-design.php: cart_empty_state_html) */
body.kp .gallery-cart-empty:has(.kp-cart-empty) { padding: 24px 0 40px; }
body.kp .kp-cart-empty { display: flex; flex-direction: column; align-items: center; max-width: 640px; margin: 0 auto; padding: 36px 24px 40px; background: var(--kp-card); border: 1px solid var(--kp-line); text-align: center; color: var(--kp-ink); }
body.kp .kp-cart-empty__kapi img { display: block; width: 180px; height: auto; }
body.kp .kp-cart-empty h2 { margin: 16px 0 0; font-size: clamp(26px, 3vw, 32px); line-height: 1.15; }
body.kp .kp-cart-empty p { margin: 10px 0 0; font-size: 17px; line-height: 1.6; color: var(--kp-muted); }
body.kp .kp-cart-empty .kp-cart-empty__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 24px; }
@media (max-width: 640px) {
	body.kp .kp-cart-empty .kp-cart-empty__btns .button { flex: 1 1 100%; }
}

/* =====================================================================
   30. Kosár / pénztár (Gallery + Store: .gallery-cart-*) — tokenek, szögletes gombok
   ===================================================================== */
/* 2026-09-23 (user kérés: "a kosár túl szűk, kicsit lehet szélesebb
   desktopon") — 980px→1100px. Ez a szabály közös a Gallery és a Store
   kosarával (l. fenti szekció-fejléc), a shop.css/gallery.css saját
   .gallery-cart-wrap max-width-jénél nagyobb specificitással (body.kp
   prefix) felülírta azt — a tényleges szélesítéshez ITT kellett módosítani. */
body.kp .gallery-cart-wrap { font-family: var(--kp-text); color: var(--kp-ink); background: var(--kp-paper); max-width: 1100px; }
body.kp .gallery-cart-header h1 { font-family: var(--kp-display); font-weight: 300; font-size: clamp(34px, 4vw, 52px); letter-spacing: var(--kp-tracking-display); margin: 6px 0 0; }
body.kp .gallery-cart-back { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--kp-ink); text-decoration: none; }
body.kp .gallery-cart-back:hover { color: var(--kp-sage-text); }
body.kp .gallery-cart-line, body.kp .gallery-cart-coupon-box, body.kp .gallery-cart-delivery-section, body.kp .gallery-cart-totals { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; }
body.kp .gallery-cart-line-name { font-family: var(--kp-display); font-weight: 400; letter-spacing: var(--kp-tracking-display); }
body.kp .gallery-cart-total-row--grand { font-family: var(--kp-display); font-size: 24px; }
body.kp .gallery-cart-wrap input[type="text"], body.kp .gallery-cart-wrap input[type="email"], body.kp .gallery-cart-wrap input[type="tel"], body.kp .gallery-cart-wrap input[type="number"], body.kp .gallery-cart-wrap select, body.kp .gallery-cart-wrap textarea { background: var(--kp-paper); border: 1px solid var(--kp-line); border-radius: 0; min-height: 46px; box-shadow: none; }
body.kp .gallery-cart-wrap input:focus, body.kp .gallery-cart-wrap select:focus, body.kp .gallery-cart-wrap textarea:focus { border-color: var(--kp-ink); outline: 0; box-shadow: 0 0 0 1px var(--kp-ink); }
body.kp button.gallery-cart-order-btn, body.kp button.gallery-cart-submit, body.kp .gallery-cart-wrap button[type="submit"] { background: var(--kp-ink); color: #fff; border: 1px solid var(--kp-ink); border-radius: 0; min-height: 52px; padding: 0 32px; font-family: var(--kp-display); font-weight: 500; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
body.kp button.gallery-cart-order-btn:hover, body.kp button.gallery-cart-submit:hover { background: transparent; color: var(--kp-ink); }
body.kp .gallery-cart-line-remove, body.kp .gallery-cart-clear { color: var(--kp-muted); background: transparent; border: 0; text-transform: none; letter-spacing: 0; }
body.kp .gallery-cart-thanks { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; }

/* =====================================================================
   31. Fotókönyv-tervező (Photobook plugin front-end): a kék kiemelő szín helyett tinta/zsálya
   ===================================================================== */
body.kp .photobook-wrap { font-family: var(--kp-text); color: var(--kp-ink); }
body.kp .photobook-wrap h1, body.kp .photobook-wrap h2 { font-family: var(--kp-display); font-weight: 300; letter-spacing: var(--kp-tracking-display); }
body.kp button.photobook-btn, body.kp a.photobook-btn { background: var(--kp-ink); color: #fff; border: 1px solid var(--kp-ink); border-radius: 0; min-height: 44px; padding: 0 22px; font-family: var(--kp-display); font-weight: 500; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
body.kp button.photobook-btn:hover, body.kp a.photobook-btn:hover { background: transparent; color: var(--kp-ink); }
body.kp button.photobook-btn-secondary, body.kp a.photobook-btn-secondary { background: transparent; color: var(--kp-ink); border: 1px solid var(--kp-ink); }
body.kp button.photobook-btn-secondary:hover { background: var(--kp-ink); color: #fff; }
body.kp button.photobook-btn-secondary.is-active { background: var(--kp-sage); border-color: var(--kp-sage); color: var(--kp-ink); }
body.kp .photobook-btn-link, body.kp .photobook-back { color: var(--kp-sage-text); }
body.kp .photobook-direct-gate-col { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; padding: 32px; }
body.kp .photobook-direct-gate-inner h1 { font-size: clamp(34px, 4vw, 52px); }
body.kp .photobook-social-login-btn { border-radius: 0 !important; min-height: 48px; font-family: var(--kp-text); font-weight: 600; }
body.kp .photobook-social-login-btn-google { background: #fff !important; color: var(--kp-ink) !important; border: 1px solid var(--kp-line) !important; }
body.kp .photobook-social-login-btn-facebook { background: var(--kp-ink) !important; color: #fff !important; border: 1px solid var(--kp-ink) !important; }
body.kp .photobook-wrap input[type="text"], body.kp .photobook-wrap input[type="email"], body.kp .photobook-wrap input[type="password"], body.kp .photobook-wrap select, body.kp .photobook-wrap textarea { border-radius: 0; border: 1px solid var(--kp-line); background: var(--kp-paper); }
body.kp .photobook-cover-option:has(input:checked), body.kp .photobook-free-el.is-selected, body.kp .photobook-text-layer-item.is-active { border-color: var(--kp-ink); outline-color: var(--kp-ink); box-shadow: 0 0 0 1px var(--kp-ink); }
body.kp .photobook-wizard-group-btn.is-active, body.kp .photobook-wizard-step.is-active, body.kp .photobook-sticker-cat-btn.is-active, body.kp .photobook-layout-cat-btn.is-active, body.kp .photobook-upload-progress-fill { background: var(--kp-ink); border-color: var(--kp-ink); color: #fff; }
body.kp .photobook-filmstrip-thumb.is-active .photobook-spread-unit { border-color: var(--kp-ink); }
body.kp .gallery-header-title { background: var(--kp-paper); }
body.kp .gallery-header-title h1 { color: var(--kp-ink); }

/* Karácsony (intézményi) oldal: lépés-kártyák, oldalsó kártyák */
body.kp .kp-doc .mfn-icon-box { background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0; padding: 36px 20px; text-align: center; transition: background .2s, border-color .2s; }
body.kp .kp-doc .mfn-icon-box:hover, body.kp .kp-doc .kalo-iconbox-reveal.is-active .mfn-icon-box { background: #E4E9E1; border-color: var(--kp-sage); }
body.kp .kp-doc .mfn-icon-box .icon-wrapper i { color: var(--kp-ink); font-size: 56px; }
body.kp .kp-doc .mfn-icon-box h4, body.kp .kp-doc .mfn-icon-box .title { font-family: var(--kp-display); font-weight: 400; font-size: 19px; letter-spacing: var(--kp-tracking-display); margin: 14px 0 6px; }
body.kp .kp-doc .mfn-icon-box .desc, body.kp .kp-doc .mfn-icon-box .desc p { font-size: 14px; line-height: 1.6; color: var(--kp-muted); }
body.kp .kp-doc .column_column .column_attr h3, body.kp .kp-doc .column_heading h2 { text-align: left; }
body.kp .kp-doc .column_button a.button, body.kp .kp-doc a.button { background: var(--kp-ink); color: #fff; }
body.kp .kp-doc a.button:hover { background: transparent; color: var(--kp-ink); }
body.kp .kp-doc .mfn-icon-box, body.kp .kp-doc .kalo-iconbox-reveal .mfn-icon-box { background-color: var(--kp-card) !important; }
body.kp .kp-doc .kalo-iconbox-reveal.is-active .mfn-icon-box, body.kp .kp-doc .kalo-iconbox-reveal .mfn-icon-box:hover, body.kp .kp-doc .mfn-icon-box:hover { background-color: #E4E9E1 !important; }
body.kp .kp-doc .column_column .column_attr > h3:first-child, body.kp .kp-doc .column_heading .title { text-align: left; font-family: var(--kp-display); font-weight: 400; }

/* Termékoldal: kisebb terméknév, nagyobb ár */
body.kp .pe-shop-detail-info h1 { font-size: clamp(26px, 2.6vw, 36px); line-height: 1.15; margin: 0 0 18px; }
body.kp .pe-shop-detail-info .pe-shop-product-price { font-family: var(--kp-display); font-size: clamp(30px, 3vw, 40px); font-weight: 400; line-height: 1.1; letter-spacing: var(--kp-tracking-display); margin: 22px 0 20px; }
body.kp .pe-shop-detail-info .pe-shop-price-original { font-size: .55em; }

/* Instagram galéria: követés gomb az új dizájnban */
body.kp .igw-follow-btn { background: var(--kp-ink) !important; color: #fff !important; border: 1px solid var(--kp-ink) !important; border-radius: 0 !important; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }
body.kp .igw-follow-btn:hover { background: transparent !important; color: var(--kp-ink) !important; }
body.kp .igw-follow-bar { border-radius: 0; border-color: var(--kp-line); }
body.kp .igw-gallery img, body.kp .igw-item { border-radius: 0; }

/* =====================================================================
   32. Galéria: „Termék hozzáadása" panel (product picker) — tokenek, olvasható gombok
   ===================================================================== */
body.kp .gallery-product-picker-panel { font-family: var(--kp-text); color: var(--kp-ink); background: var(--kp-paper); border-radius: 0; }
body.kp .gallery-product-picker-panel h3 { font-family: var(--kp-display); font-weight: 400; font-size: 26px; letter-spacing: var(--kp-tracking-display); }
body.kp .gallery-product-picker-subtitle { color: var(--kp-muted); }
body.kp .gallery-product-picker-category, body.kp .gallery-product-picker-subcategory { border-radius: 0; border-color: var(--kp-line); background: var(--kp-card); }
body.kp .gallery-product-picker-category-header, body.kp .gallery-product-picker-subcategory-header { border-radius: 0; background: var(--kp-card); }
body.kp .gallery-product-picker-category-name, body.kp .gallery-product-picker-subcategory-name, body.kp .gallery-product-picker-item-name { font-family: var(--kp-text); font-weight: 500; color: var(--kp-ink); }
body.kp .gallery-product-picker-category.is-open .gallery-product-picker-category-header, body.kp .gallery-product-picker-subcategory.is-open .gallery-product-picker-subcategory-header { background: var(--kp-ink); }
body.kp .gallery-product-picker-category.is-open .gallery-product-picker-category-name, body.kp .gallery-product-picker-subcategory.is-open .gallery-product-picker-subcategory-name { color: #fff; }
body.kp .gallery-product-picker-category.is-open .gallery-product-picker-item, body.kp .gallery-product-picker-subcategory.is-open .gallery-product-picker-item { background: var(--kp-paper-2); border-radius: 0; }
body.kp .gallery-product-picker-item-badge { background: var(--kp-sage); color: var(--kp-ink); border-radius: 0; }
body.kp .gallery-product-picker-footer { border-top-color: var(--kp-line); }
body.kp .gallery-product-picker-footer-total { font-family: var(--kp-text); font-size: 15px; color: var(--kp-ink); }
body.kp .gallery-product-picker-footer-total span { font-family: var(--kp-text); color: var(--kp-muted); }
body.kp .gallery-product-picker-footer-total strong { font-family: var(--kp-display); font-weight: 400; font-size: 26px; letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); }
body.kp a.gallery-product-picker-goto-cart, body.kp a.gallery-product-picker-goto-cart:visited { background: var(--kp-ink); color: #fff !important; border: 1px solid var(--kp-ink); border-radius: 0; text-decoration: none; font-family: var(--kp-display); font-weight: 500; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; padding: 16px 12px; }
body.kp a.gallery-product-picker-goto-cart:hover { background: transparent; color: var(--kp-ink) !important; }
body.kp .gallery-product-picker-toast { background: #E4E9E1; color: var(--kp-ink); border-radius: 0; }
/* Minden <a class="gallery-btn"> olvasható legyen (a téma linkszíne ne írja felül) */
body.kp a.gallery-btn, body.kp a.gallery-btn:visited { color: #fff; text-decoration: none; }
body.kp a.gallery-btn.gallery-btn-white, body.kp a.gallery-btn.gallery-btn-secondary { color: var(--kp-ink); }
body.kp a.gallery-btn.gallery-btn-white:hover, body.kp a.gallery-btn.gallery-btn-secondary:hover { color: #fff; }

/* Kosár: belső tér a keretek szélétől */
body.kp .gallery-cart-line { padding: 20px 24px; }
body.kp .gallery-cart-delivery-section { padding: 22px 24px; }
body.kp .gallery-cart-delivery-section h3 { margin-top: 0; }
body.kp .gallery-cart-totals { padding: 20px 24px; }
body.kp .gallery-cart-coupon-box { padding: 20px 24px; }
body.kp .gallery-cart-line-thumbs, body.kp .gallery-cart-line-info { padding: 0; }
body.kp .gallery-cart-radio-label, body.kp .gallery-cart-checkbox-label { padding-left: 4px; }

/* Termék hozzáadása: a mennyiség-mező és a „Kosárba" gomb egyforma magas, egy sorban */
body.kp .gallery-product-picker-qty-row { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: nowrap; }
body.kp .gallery-product-picker-qty-row .gallery-product-picker-qty-label { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 13px; font-weight: 500; color: var(--kp-ink); text-transform: none; letter-spacing: normal; }
body.kp .gallery-product-picker-qty-row .gallery-product-picker-qty,
body.kp .gallery-product-picker-qty-row .gallery-product-picker-confirm,
body.kp .gallery-product-picker-qty-row .gallery-product-picker-qty-mobile-btn { height: 46px; min-height: 46px; box-sizing: border-box; margin: 0; }
body.kp .gallery-product-picker-qty-row .gallery-product-picker-qty { width: 64px; padding: 0 8px; text-align: center; border-radius: 0; }
body.kp .gallery-product-picker-qty-row .gallery-product-picker-confirm { padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 0; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; }

/* =====================================================================
   33. Fejléc 2. kör (2026-09-20): sticky, nagyobb menü, négyzetes kereső, Kosár-gomb a Kliens zóna mintájára
   ===================================================================== */
/* Sticky fejléc */
body.kp #mfn-header-template { position: fixed !important; top: 0; left: 0; right: 0; width: 100%; z-index: 9990; }
body.kp.admin-bar #mfn-header-template { top: 32px; }
body.kp #Wrapper { padding-top: var(--kp-hdr-h, 100px); }
html { scroll-padding-top: 96px; }

/* Főmenü: nagyobb gombok, nagyobb mega-menü feliratok */
body.kp #mfn-header-template .column_header_menu .mfn-menu-link,
body.kp #mfn-header-template .column_header_menu .mfn-header-mainmenu > li > a { font-size: 14px !important; letter-spacing: .14em; }
body.kp #mfn-header-template .column_header_menu .mfn-header-menu > li { margin: 0 2px; }
body.kp #mfn-header-template .column_header_menu .mfn-submenu .menu-label,
body.kp #mfn-header-template .column_header_menu .mfn-submenu li > a { font-size: 14px !important; letter-spacing: .1em; }
body.kp #mfn-header-template .column_header_menu .mfn-submenu .column_heading .title,
body.kp #mfn-header-template .column_header_menu .mfn-submenu h3, body.kp #mfn-header-template .column_header_menu .mfn-submenu h4 { font-size: 15px !important; letter-spacing: .12em; }
body.kp #mfn-header-template .column_header_menu .mfn-submenu .column_heading:first-child .title { font-size: 20px !important; }

/* Kereső: sima négyzetes sáv, a nagyító a bal oldalon belül, gépelésre eltűnik, nincs szürke gomb */
body.kp .kp-header-search .ai-asszisztens-search { max-width: 260px; }
body.kp .kp-header-search .ai-asszisztens-search-form { position: relative; display: block !important; }
body.kp .kp-header-search input.ai-asszisztens-search-input {
	width: 100% !important; height: 42px !important; padding: 0 14px 0 40px !important; border: 1px solid var(--kp-line-2) !important; border-right: 1px solid var(--kp-line-2) !important;
	border-radius: 0 !important; background: #fff !important; color: var(--kp-ink) !important; font-size: 14px !important; line-height: 40px !important; transition: padding .15s ease, border-color .15s ease;
}
body.kp .kp-header-search input.ai-asszisztens-search-input:focus { border-color: var(--kp-ink) !important; }
body.kp .kp-header-search input.ai-asszisztens-search-input:not(:placeholder-shown), body.kp .kp-header-search input.ai-asszisztens-search-input:focus { padding-left: 14px !important; }
body.kp .kp-header-search button.ai-asszisztens-search-btn {
	position: absolute !important; left: 0 !important; right: auto !important; top: 0 !important; bottom: 0 !important; width: 40px !important; height: 100% !important; background: transparent !important; border: 0 !important; border-radius: 0 !important;
	color: var(--kp-ink) !important; box-shadow: none !important; transition: opacity .15s ease;
}
body.kp .kp-header-search button.ai-asszisztens-search-btn svg { width: 16px; height: 16px; }
body.kp .kp-header-search input.ai-asszisztens-search-input:not(:placeholder-shown) ~ button.ai-asszisztens-search-btn, body.kp .kp-header-search input.ai-asszisztens-search-input:focus ~ button.ai-asszisztens-search-btn { opacity: 0; pointer-events: none; }

/* Ajánlatkérés gomb a fejlécből kikerült */
body.kp #mfn-header-template .kp-header-cta-wrap { display: none !important; }

/* Kosár: ikon + „Kosár" felirat, tartalommal ikon + összeg, a darabszám fekete badge az ikon jobb felső sarkában */
body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] { display: inline-flex !important; flex-direction: row !important; align-items: center; gap: 9px; position: relative; padding: 0 8px !important; margin: 0 !important; color: var(--kp-ink); text-decoration: none; white-space: nowrap; }
body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] .icon-wrapper { margin: 0 !important; padding: 0 !important; position: static; }
body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] .icon-wrapper i { font-size: 20px !important; color: var(--kp-ink) !important; }
body.kp #mfn-header-template .column_header_icon a[href*="/kosar"]::after { content: 'Kosár'; font-family: var(--kp-text); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--kp-ink); font-weight: 400; }
body.kp #mfn-header-template .column_header_icon a[href*="/kosar"]:has(.store-header-cart-total:not([hidden]))::after { content: none; }
body.kp #mfn-header-template .store-header-cart-total { position: static !important; transform: none !important; margin: 0 !important; font-family: var(--kp-text); font-size: 13px !important; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--kp-ink) !important; }
body.kp #mfn-header-template .store-header-cart-total[hidden], body.kp #mfn-header-template .store-header-cart-badge[hidden] { display: none !important; }
body.kp #mfn-header-template .store-header-cart-badge { position: absolute !important; top: -9px !important; left: 22px !important; right: auto !important; min-width: 17px; height: 17px; padding: 0 4px; box-sizing: border-box; border: 1.5px solid var(--kp-paper); border-radius: 9px; background: var(--kp-ink) !important; color: #fff !important; font-size: 10px; font-weight: 600; line-height: 14px; text-align: center; }
@media (max-width: 991px) { body.kp #mfn-header-template .column_header_icon a[href*="/kosar"]::after { display: none; } body.kp #mfn-header-template .store-header-cart-total { display: none !important; } }
body.kp #mfn-header-template .column_header_menu .mfn-header-menu > li { margin: 0 12px; }
body.kp #mfn-header-template .column_header_menu .mfn-header-menu > li > a { padding-left: 4px; padding-right: 4px; }

/* Fejléc: bal oldalt logó + menü, jobbra a Kliens zóna + Kosár, legszélen jobbra a kereső */
body.kp #mfn-header-template .mcb-header-section > .section_wrapper > .mcb-wrap:not(:has(.kp-header-search)):not(:first-child) { order: 2; flex: 0 0 auto; width: auto; margin-right: 18px; }
body.kp #mfn-header-template .mcb-header-section > .section_wrapper > .mcb-wrap:has(.kp-header-search) { order: 3; flex: 0 0 auto !important; width: auto !important; }
body.kp #mfn-header-template .mcb-header-section > .section_wrapper > .mcb-wrap:first-child { order: 1; }
body.kp #mfn-header-template .kp-header-lock { margin-right: 14px; }
body.kp #mfn-header-template .kp-header-search .ai-asszisztens-search { width: 240px; max-width: 240px; }

/* Értékelések (főoldal, bizalmi sáv): monokróm, nagy szám, alatta kis felirat */
body.kp .kp-trust .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: 1.9fr repeat(4, 1fr); }
body.kp .kp-trust .mrv--mini .mrv-mini { display: flex; justify-content: center; align-items: center; gap: 36px; flex-wrap: wrap; }
body.kp .kp-trust .mrv-mini-item { display: flex !important; flex-direction: row; align-items: center; gap: 12px; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; text-decoration: none; color: var(--kp-ink) !important; }
body.kp .kp-trust .mrv-mini-icon { display: inline-flex; color: var(--kp-ink); filter: grayscale(1); }
body.kp .kp-trust .mrv-mini-icon svg { width: 20px; height: 20px; }
body.kp .kp-trust .mrv-mini-icon svg path { fill: currentColor !important; }
body.kp .kp-trust .mrv-mini-body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
body.kp .kp-trust .mrv-mini-top { display: flex; align-items: center; gap: 10px; }
body.kp .kp-trust .mrv-mini-top strong { font-family: var(--kp-display); font-weight: 300; font-size: 40px; line-height: 1; letter-spacing: var(--kp-tracking-display); color: var(--kp-ink); }
body.kp .kp-trust .mrv-mini .mrv-stars, body.kp .kp-trust .mrv-mini .mrv-stars * { color: var(--kp-ink) !important; fill: currentColor; filter: grayscale(1); }
body.kp .kp-trust .mrv-mini .mrv-stars svg { width: 12px; height: 12px; }
body.kp .kp-trust .mrv-mini-sub { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-muted); line-height: 1.4; white-space: nowrap; }
body.kp .kp-trust .mrv-mini-item:hover .mrv-mini-sub { color: var(--kp-ink); }
@media (max-width: 1199px) { body.kp .kp-trust .mrv-mini-top strong { font-size: 32px; } body.kp .kp-trust .mrv--mini .mrv-mini { gap: 22px; } }
@media (max-width: 767px) { body.kp .kp-trust .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: 1fr 1fr; } body.kp .kp-trust .kp-trust-item:first-child { grid-column: 1 / -1; } }

/* Bizalmi sáv, egységes ritmus: minden cella = egy azonos méretű címsor + kis felirat alatta */
body.kp .kp-trust .kp-trust-item .column_attr { display: flex; flex-direction: column; align-items: center; gap: 6px; }
body.kp .kp-trust .kp-trust-item p.kp-t-head { font-family: var(--kp-display); font-weight: 300; font-size: 26px; line-height: 1; letter-spacing: var(--kp-tracking-display); text-transform: none; color: var(--kp-ink); margin: 0; }
body.kp .kp-trust .kp-trust-item p.kp-t-sub { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-muted); margin: 0; line-height: 1.4; }
body.kp .kp-trust .mrv-mini-top strong, body.kp .kp-trust .mrv-mini-top .kp-num { font-size: 26px; }
body.kp .kp-trust .mrv-mini-top { gap: 8px; }
body.kp .kp-trust .mrv-mini .mrv-stars svg { width: 10px; height: 10px; }
body.kp .kp-trust .mrv-mini-icon svg { width: 18px; height: 18px; }
body.kp .kp-trust .mrv-mini-body { gap: 6px; }
body.kp .kp-trust .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: 1.7fr repeat(4, 1fr); min-height: 96px; }
@media (max-width: 1199px) { body.kp .kp-trust .mrv-mini-top strong, body.kp .kp-trust .mrv-mini-top .kp-num { font-size: 24px; } }

/* Főoldal: a hero + a bizalmi sáv együtt kitölti a képernyő magasságát (a --kp-fill értéket a kp-design.js számolja); mobilon a hero alja a kijelző alja */
body.kp .kp-hero.kp-hero-center { min-height: max(480px, var(--kp-fill, calc(100svh - 200px))); }
body.kp .kp-hero.kp-hero-center > .section_wrapper { padding-top: 48px; padding-bottom: 48px; }
@media (max-width: 767px) {
	body.kp .kp-hero.kp-hero-center { min-height: max(440px, var(--kp-fill, calc(100svh - 134px))); }
	body.kp .kp-hero.kp-hero-center > .section_wrapper { padding-top: 24px; padding-bottom: 104px; }
	body.kp .kp-hero.kp-hero-center .kp-eyebrow p { font-size: 11px; letter-spacing: .2em; margin-bottom: 14px; }
	body.kp .kp-hero.kp-hero-center h1 { font-size: clamp(32px, 9vw, 40px); margin-bottom: 14px; }
	body.kp .kp-hero.kp-hero-center .kp-lead p { font-size: 15px; line-height: 1.55; margin-bottom: 20px; }
	body.kp .kp-hero.kp-hero-center .column_button { display: block; margin: 0 0 10px; }
	body.kp .kp-hero.kp-hero-center .column_button a.button { width: 100%; justify-content: center; text-align: center; min-height: 46px; padding: 14px 16px; }
}
@media (max-width: 767px) {
	body.kp .kp-hero.kp-hero-center .column_button, body.kp .kp-hero.kp-hero-center .column_button .mcb-column-inner, body.kp .kp-hero.kp-hero-center .column_button .button_align { width: 100%; max-width: none; }
	body.kp .kp-hero.kp-hero-center .column_button a.button { display: flex !important; width: 100% !important; box-sizing: border-box; }
}
@media (max-width: 767px) { body.kp .kp-hero.kp-hero-center .kp-hero-inner .column.column_button { display: block !important; width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 0 10px !important; } }

/* Bizalmi sáv: 4 cella (értékelések + 3 tény) */
body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner { display: grid; grid-template-columns: 2fr repeat(3, 1fr); align-items: stretch; min-height: 96px; }
body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner > .column { width: auto; max-width: none; float: none; margin: 0; }
@media (max-width: 767px) {
	body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner { grid-template-columns: 1fr 1fr 1fr; }
	body.kp .kp-trust .kp-cols-4 .kp-trust-item:first-child { grid-column: 1 / -1; padding: 14px 0; }
	body.kp .kp-trust .kp-cols-4 .kp-trust-item { min-height: 72px; border-top: 1px solid var(--kp-hairline); }
	body.kp .kp-trust .kp-cols-4 .kp-trust-item:nth-child(2) { border-left: 0; }
	body.kp .kp-trust .kp-trust-item p.kp-t-head { font-size: 20px; }
	body.kp .kp-trust .kp-trust-item p.kp-t-sub { font-size: 9px; letter-spacing: .12em; }
}

/* Fejléc: azonos felső/alsó tér, minden elem (logó, menü, Kliens zóna, Kosár, kereső) a közös vízszintes középvonalon */
body.kp #mfn-header-template section.mfn-default-section.mcb-header-section { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 16px !important; padding-bottom: 16px !important; }
body.kp #mfn-header-template section.mfn-default-section.mcb-header-section > .section_wrapper { align-items: center !important; min-height: 0; }
body.kp #mfn-header-template section.mfn-default-section.mcb-header-section > .section_wrapper > .mcb-wrap { align-self: center !important; }
body.kp #mfn-header-template section.mfn-default-section.mcb-header-section .mcb-wrap-inner { align-items: center !important; }
body.kp #mfn-header-template .column_header_logo, body.kp #mfn-header-template .kp-header-lock, body.kp #mfn-header-template .column_header_icon, body.kp #mfn-header-template .kp-header-search, body.kp #mfn-header-template .column_header_menu { margin-top: 0 !important; margin-bottom: 0 !important; }
body.kp #mfn-header-template .kp-header-lock .column_attr, body.kp #mfn-header-template .kp-header-lock p { margin: 0; line-height: 1; }
@media (max-width: 991px) { body.kp #mfn-header-template section.mfn-default-section.mcb-header-section { padding-top: 10px !important; padding-bottom: 10px !important; } }

/* Bizalmi sáv: a tartalom függőlegesen középen, levegővel a felette lévő képtől */
body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner { padding: 22px 0 !important; min-height: 112px; align-items: stretch; }
body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner > .column.kp-trust-item { align-self: stretch; height: auto; display: flex; align-items: center; justify-content: center; }
body.kp .kp-trust .kp-trust-item > .mcb-column-inner { width: 100%; display: flex; align-items: center; justify-content: center; }
body.kp .kp-trust .kp-trust-item .column_attr { width: 100%; justify-content: center; }
body.kp .kp-trust .mrv--mini, body.kp .kp-trust .mrv--mini .mrv-mini { align-items: center; }

/* Sticky fejléc: görgetéskor kompakt (kisebb logó, kevesebb tér, kisebb kereső); a hely a lapon nem ugrik (a --kp-hdr-h fix) */
body.kp #mfn-header-template section.mfn-default-section.mcb-header-section, body.kp #mfn-header-template .column_header_logo img, body.kp #mfn-header-template .kp-header-search input.ai-asszisztens-search-input { transition: padding .2s ease, max-height .2s ease, height .2s ease; }
body.kp.kp-scrolled #mfn-header-template section.mfn-default-section.mcb-header-section { padding-top: 7px !important; padding-bottom: 7px !important; box-shadow: 0 1px 0 var(--kp-line); }
body.kp.kp-scrolled #mfn-header-template .column_header_logo img { max-height: 42px !important; width: auto !important; }
body.kp.kp-scrolled #mfn-header-template .kp-header-search input.ai-asszisztens-search-input { height: 36px !important; }
body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-menu-link { font-size: 13px !important; }
/* Mega-menü: a fejléc alján, a képernyőn belül, kompaktabb belső térrel */
body.kp #mfn-header-template .column_header_menu .mfn-submenu { max-height: calc(100vh - var(--kp-hdr-h, 100px) - 16px); overflow-y: auto; }
body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-submenu { padding-top: 6px; padding-bottom: 6px; }
body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-submenu .menu-label, body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-submenu li > a { font-size: 13px !important; }
body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-submenu .column_heading:first-child .title { font-size: 17px !important; }

/* A Betheme saját sticky-szekciója (külön, nagy másolat) helyett mindig ugyanaz a fejléc-szekció marad, kompakt osztállyal */
body.kp #mfn-header-template section.mfn-header-sticky-section { display: none !important; }
body.kp #mfn-header-template section.mfn-default-section.mcb-header-section { display: block !important; visibility: visible !important; opacity: 1 !important; transform: none !important; position: relative !important; }

/* Mobil: nincs alsó ragadós sáv */
body.kp .kp-stickybar { display: none !important; }
@media (max-width: 767px) {
	body.kp .kp-hero.kp-hero-center > .section_wrapper { padding-bottom: 32px; }
	body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; padding: 0 !important; min-height: 0; }
	body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner > .column.kp-trust-item { width: auto !important; max-width: none !important; float: none !important; padding: 16px 4px; }
	body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner > .column.kp-trust-item:first-child { grid-column: 1 / -1; border-left: 0; padding: 20px 0 14px; }
}
@media (max-width: 767px) {
	body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner > .mcb-wrap-background-overlay + .kp-trust-item { grid-column: 1 / -1; border-left: 0; padding: 20px 0 14px; }
	body.kp .kp-trust .mrv-mini-sub { white-space: normal; }
	body.kp .kp-trust .kp-cols-4 > .mcb-wrap-inner > .kp-trust-item { border-left: 0; border-top: 1px solid var(--kp-hairline); }
	body.kp .kp-trust .mrv--mini .mrv-mini { gap: 28px; justify-content: center; }
}

/* Mobil fejléc: a Kliens zóna felhasználó-ikonként a Kosár ikon mellett */
@media (max-width: 991px) {
	body.kp #mfn-header-template .kp-header-lock { display: block !important; margin: 0 4px 0 0 !important; }
	body.kp #mfn-header-template .kp-header-lock a { font-size: 0 !important; letter-spacing: 0; gap: 0; width: 34px; height: 34px; justify-content: center; }
	body.kp #mfn-header-template .kp-header-lock a::before { width: 22px; height: 22px; -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.6'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/></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.6'><circle cx='12' cy='8' r='4'/><path d='M4 21c0-4.4 3.6-8 8-8s8 3.6 8 8'/></svg>") center / contain no-repeat; }
	body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] { padding: 0 4px !important; }
	body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] .icon-wrapper i { font-size: 22px !important; }
}

/* Fejléc menü: a mega-menüs elemek mögötti vízszintes vonal (caret) törölve, nagyobb betűk */
body.kp #mfn-header-template .column_header_menu .menu-sub, body.kp #mfn-header-template .column_header_menu .menu-sub i, body.kp #mfn-header-template .column_header_menu .mfn-menu-link i { display: none !important; }
body.kp #mfn-header-template .column_header_menu .mfn-menu-link, body.kp #mfn-header-template .column_header_menu .mfn-header-mainmenu > li > a { font-size: 15px !important; letter-spacing: .13em; }
body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-menu-link { font-size: 14px !important; }
body.kp #mfn-header-template .column_header_menu .mfn-submenu .menu-label, body.kp #mfn-header-template .column_header_menu .mfn-submenu li > a { font-size: 15px !important; letter-spacing: .09em; }
body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-submenu .menu-label, body.kp.kp-scrolled #mfn-header-template .column_header_menu .mfn-submenu li > a { font-size: 14px !important; }
body.kp #mfn-header-template .column_header_menu .mfn-submenu .column_heading .title, body.kp #mfn-header-template .column_header_menu .mfn-submenu h3, body.kp #mfn-header-template .column_header_menu .mfn-submenu h4 { font-size: 16px !important; }
body.kp #mfn-header-template .column_header_menu .mfn-header-menu > li { margin: 0 14px; }

/* Ajánlatkérő popup: a ruhabérlés/extra kártyák nagyító gombja — kis, világos négyzet, jól látszó ikonnal (nem fekete tömb) */
body.kp button.pe-extra-card-zoom:not(.mfn-close):not(.kp-plain) { width: 32px; height: 32px; min-height: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: rgba(247, 247, 245, .92); color: var(--kp-ink); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; }
body.kp button.pe-extra-card-zoom:not(.mfn-close):not(.kp-plain):hover { background: var(--kp-ink); color: #fff; border-color: var(--kp-ink); }
body.kp button.pe-extra-card-zoom svg { width: 16px; height: 16px; display: block; }

/* GYIK (minden oldalon): a szöveg ne üljön a kérdés-keret bal szélére */
body.kp .mfn-acc .question > .title { padding-left: 22px !important; padding-right: 48px !important; }
body.kp .mfn-acc .question .answer { padding-left: 22px; padding-right: 48px; }
body.kp .mfn-acc .question > .title::after, body.kp .faq .question .title i, body.kp .faq .question .acc-icon { right: 20px; }

/* Mega-menük: a menüelemek felülre igazítva (nem függőlegesen középre) */
body.kp #mfn-header-template section.mfn-default-section.mcb-header-section .mfn-menu-item-megamenu .mcb-wrap-inner { align-items: flex-start !important; align-content: flex-start !important; }
body.kp #mfn-header-template .mfn-menu-item-megamenu .mcb-wrap { align-self: stretch; }

/* iOS/WebKit festési hiba (a hero alatti tartalom fehéren marad hosszú oldalon): a hero és a fix fejléc külön kompozitáló rétegre kerül
   (ugyanaz az elv, mint a dev-oldali statikus hero javítása: transform:translateZ(0) + isolation) */
body.kp .kp-hero { -webkit-transform: translateZ(0); transform: translateZ(0); -webkit-backface-visibility: hidden; backface-visibility: hidden; isolation: isolate; }
/* Mobil/tablet: görgetéskor nem változik a fix fejléc magassága, és nincs átmenet (iOS-en a fix elem méret-animációja a lap festését is összezavarta) */
@media (max-width: 991px) {
	body.kp #mfn-header-template section.mfn-default-section.mcb-header-section, body.kp #mfn-header-template .column_header_logo img, body.kp #mfn-header-template .kp-header-search input.ai-asszisztens-search-input { transition: none !important; }
}

/* SEO: láthatatlan (képernyőolvasó/kereső) linkszöveg, az ikon-linkek SVG-jének korábban beágyazott stílusa, a pontszám span */
body.kp .kp-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
body.kp svg .path { fill: none; stroke: #333; stroke-miterlimit: 10; stroke-width: 1.5px; }
body.kp .mrv-mini-top .kp-num { font-size: 15px; font-weight: 700; letter-spacing: -0.01em; }

/* Rólunk / Kapcsolat mega-menü: a „Galériák" mega-menü másolata (szerkezet + stílus); csak a térkép-pin extra */
body.kp #mfn-header-template .kp-mm-pincol { position: absolute !important; inset: 0; width: 100% !important; height: 100%; margin: 0 !important; padding: 0 !important; }
body.kp #mfn-header-template .kp-mm-pincol .mcb-column-inner, body.kp #mfn-header-template .kp-mm-pincol .column_attr { height: 100%; margin: 0; padding: 0; }
body.kp #mfn-header-template .kp-mm-maplink { position: absolute; inset: 0; display: block; }
body.kp #mfn-header-template .kp-mm-attr { position: absolute; right: 8px; bottom: 6px; font-size: 10px; color: var(--kp-muted); background: rgba(255,255,255,.8); padding: 1px 5px; }
/* elegáns pin: négyzetes címke a logóval + hegy + pont, pontosan a térkép közepén */
body.kp #mfn-header-template .kp-pin { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
body.kp #mfn-header-template .kp-pin__label { position: absolute; left: 0; bottom: 22px; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; width: max-content; padding: 11px 20px; background: #fff; border: 1px solid var(--kp-ink); box-shadow: 0 6px 18px rgba(18,20,22,.18); }
body.kp #mfn-header-template .kp-pin__label img { display: block; height: 30px; width: auto; max-width: none; }
body.kp #mfn-header-template .kp-pin__label::after { content: ''; position: absolute; left: 50%; bottom: -8px; width: 13px; height: 13px; background: #fff; border-right: 1px solid var(--kp-ink); border-bottom: 1px solid var(--kp-ink); transform: translateX(-50%) rotate(45deg); }
body.kp #mfn-header-template .kp-pin__tip { position: absolute; left: -7px; top: -7px; width: 14px; height: 14px; background: var(--kp-ink); border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 6px rgba(164,180,160,.55); }

/* Mega-menü függőleges helye a fejléc aktuális (normál / kompakt) magassága szerint (a --kp-mm-off értéket a kp-design.js számolja) */
body.kp #mfn-header-template .mfn-menu-item-megamenu { top: calc(100% + var(--kp-mm-off, 0px)) !important; }
/* Híd a menüpont alja és a lejjebb tolt mega-menü között (2026-09-24): a --kp-mm-off miatt ~6 px-es rés maradt, amin
   lefelé haladva a :hover megszakadt és a mega-menü eltűnt. A láthatatlan sáv a mega-menü része, így az egér végig "benne" marad. */
body.kp #mfn-header-template .mfn-menu-item-megamenu::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: max(0px, calc(var(--kp-mm-off, 0px) + 6px)); }
/* Rólunk / Kapcsolat mega: címsor és alcím ugyanúgy, mint a Galériák mega-menüben */
body.kp #mfn-header-template .kp-mm-h1 .title { font-family: Raleway, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 40px; line-height: 45px; font-weight: 700; letter-spacing: 0; color: #000; display: block; }
body.kp #mfn-header-template .kp-mm-h2 .title { font-family: Prata, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 22px; line-height: 32px; font-weight: 700; letter-spacing: 0; display: block; }

/* Partnerek: a szolgáltatók logói a kártyán vízszintesen középre */
body.kp .kalo-p-card .kalo-p-logo { display: flex; align-items: center; justify-content: center; width: 100%; }
body.kp .kalo-p-card .kalo-p-logo img { margin: 0 auto; object-position: center; }

/* Diagnosztikai kapcsolók (?kpx=hdr|hero|js|all) — csak hibakereséshez */
body.kp.kp-x-hdr #mfn-header-template { position: relative !important; }
body.kp.kp-x-hdr #Wrapper { padding-top: 0 !important; }
body.kp.kp-x-hero .kp-hero { display: block !important; min-height: 420px !important; transform: none !important; isolation: auto !important; backface-visibility: visible !important; -webkit-backface-visibility: visible !important; }

/* Kapcsolat: a térkép kitölti a teljes bal oldali mezőt (szélig, teljes magasságban), a szöveg körül 64/48 px tér */
body.kp #Content .kp-map { padding: 0 !important; }
body.kp #Content .kp-map > .section_wrapper { max-width: none !important; padding: 0 !important; min-height: 520px; align-items: stretch; }
body.kp #Content .kp-map .kp-map-l, body.kp #Content .kp-map .kp-map-l > .mcb-wrap-inner, body.kp #Content .kp-map .kp-map-l .column, body.kp #Content .kp-map .kp-map-l .mcb-column-inner, body.kp #Content .kp-map .kp-map-l .column_attr { height: 100%; width: 100%; margin: 0; padding: 0; }
body.kp #Content .kp-map .kp-mapframe { min-height: 520px; }
body.kp #Content .kp-map .kp-map-r > .mcb-wrap-inner { padding: 56px 64px !important; align-items: center; align-content: center; }
body.kp #Content .kp-map .kp-map-r .column { margin-left: 0; margin-right: 0; }
@media (max-width: 991px) {
	body.kp #Content .kp-map > .section_wrapper { min-height: 0; }
	body.kp #Content .kp-map .kp-mapframe { min-height: 320px; height: 320px; }
	body.kp #Content .kp-map .kp-map-r > .mcb-wrap-inner { padding: 36px 24px !important; }
}
body.kp #Content .kp-map .kp-map-r .column_button { display: inline-block; width: auto; margin: 16px 12px 0 0; }

/* Időpontfoglaló naptár: a foglalható nap zöld (nem fekete), a kiválasztott sötétzöld, a nem foglalható halvány szürke */
body.kp button.pe-booking-cal-day:not(.mfn-close):not(.kp-plain) { background: var(--kp-hairline); color: #9aa09b; border: 1px solid transparent; border-radius: 0; font-family: var(--kp-text); font-size: 14px; letter-spacing: 0; text-transform: none; min-height: 0; padding: 0; box-shadow: none; }
body.kp button.pe-booking-cal-day.pe-booking-cal-day--empty:not(.mfn-close):not(.kp-plain) { background: none; border: 0; }
body.kp button.pe-booking-cal-day.is-available:not(.mfn-close):not(.kp-plain) { background: var(--kp-ok-bg); color: var(--kp-ok-fg); border-color: var(--kp-sage); font-weight: 600; cursor: pointer; }
body.kp button.pe-booking-cal-day.is-available:not(.mfn-close):not(.kp-plain):hover { background: #d3e0d1; color: var(--kp-sage-hover); }
/* 2026-10-12: naptár — töltöttség-jelzés (alulról sötétedő sáv) és betelt nap (halvány piros, áthúzott) */
body.kp .pe-booking-calendar { --pe-cal-fill: rgba(74, 92, 76, .30); }
body.kp button.pe-booking-cal-day.is-full:not(.mfn-close):not(.kp-plain) { background: #F9DCD8; color: #A63A33; border-color: #EBB9B2; cursor: not-allowed; opacity: 1; }
body.kp .pe-booking-cal-note { margin: 8px 0 0; font-size: 14px; line-height: 1.5; color: #B2403A; }
body.kp button.pe-booking-cal-day.is-selected:not(.mfn-close):not(.kp-plain), body.kp button.pe-booking-cal-day.is-available.is-selected:not(.mfn-close):not(.kp-plain) { background: var(--kp-sage-text); color: #fff; border-color: var(--kp-sage-text); }
body.kp button.pe-booking-slot-btn:not(.mfn-close):not(.kp-plain) { background: var(--kp-ok-bg); color: var(--kp-ok-fg); border: 1px solid var(--kp-sage); border-radius: 0; font-family: var(--kp-text); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; min-height: 0; padding: 8px 14px; box-shadow: none; }
body.kp button.pe-booking-slot-btn:not(.mfn-close):not(.kp-plain):hover { background: #d3e0d1; }
body.kp button.pe-booking-slot-btn.is-selected:not(.mfn-close):not(.kp-plain) { background: var(--kp-sage-text); color: #fff; border-color: var(--kp-sage-text); }
body.kp button.pe-booking-slot-btn.is-own:not(.mfn-close):not(.kp-plain) { background: #fdf3e0; color: #8a6d1a; border-color: #f0dca6; }
body.kp.kp-x-bg .kp-hero { background-image: none !important; background-color: #1c1f21 !important; }
body.kp.kp-x-chat #ai-asszisztens-widget { display: none !important; }
body.kp.kp-x-fix #mfn-header-template, body.kp.kp-x-fix #ai-asszisztens-widget, body.kp.kp-x-fix #mfn-gdpr { position: absolute !important; }

/* iOS/WebKit: a Betheme `html, body { height: 100% }` + `overflow-x: hidden` (body.responsive-overflow-x-mobile) miatt a body magassága a kijelzőnyi maradt,
   és iOS-en a lap többi része (a hero alatt) nem festődött ki (fehér terület). A magasság automatikus, a body nem görgető-tároló. */
html { height: auto !important; min-height: 100%; }
body.kp { height: auto !important; min-height: 100%; overflow-x: visible !important; }

/* Főoldal „Minden alkalomra…": mobilon a fotózás-kártyák egymás alatt, teljes szélességben (nem oldalra görgethető keskeny csempék) */
@media (max-width: 767px) {
	body.kp .kp-svc-grid > .mcb-wrap-inner { display: grid !important; grid-template-columns: 1fr !important; overflow: visible !important; gap: 12px; padding-right: 0 !important; scroll-snap-type: none; }
	body.kp .kp-svc-grid > .mcb-wrap-inner > .column { flex: none; width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; }
	body.kp .kp-svc-card .mcb-column-inner { min-height: 0; padding: 24px 22px 22px; }
	body.kp .kp-svc-card .title, body.kp .kp-svc-card h3 { font-size: 24px; }
}

/* Lábléc — mobil/tablet: rendezett, két oszlopos menük, egy oszlopos elérhetőségek és alsó sáv, nincs túlcsordulás */
@media (max-width: 991px) {
	body.kp #mfn-footer-template, body.kp #mfn-footer-template .mfn-builder-content, body.kp #mfn-footer-template section { max-width: 100%; overflow-x: clip; }
	body.kp #mfn-footer-template .kp-footer-main { padding: 48px 0 28px !important; }
	body.kp #mfn-footer-template .kp-footer-main > .section_wrapper { width: 100%; max-width: 100%; margin: 0; padding: 0 var(--kp-margin) !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; row-gap: 36px; }
	body.kp #mfn-footer-template .kp-footer-main > .section_wrapper > .mcb-wrap { min-width: 0; width: auto !important; margin: 0 !important; padding: 0 !important; }
	body.kp #mfn-footer-template .kp-footer-main .mcb-wrap-inner, body.kp #mfn-footer-template .kp-footer-main .column, body.kp #mfn-footer-template .kp-footer-main .mcb-column-inner { width: 100%; margin: 0; padding: 0; }
	body.kp #mfn-footer-template .kp-footer-logo img { width: 150px; margin: 0 0 20px; display: block; }
	body.kp #mfn-footer-template .kp-footer-contact p { font-size: 15px; line-height: 1.6; margin: 0 0 10px; overflow-wrap: anywhere; }
	body.kp #mfn-footer-template .kp-footer-contact .kp-social { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
	body.kp #mfn-footer-template .kp-footer-contact .kp-social a { margin: 0; display: inline-flex; padding: 0; }
	body.kp #mfn-footer-template .kp-footer-title p { margin: 0 0 14px; }
	body.kp #mfn-footer-template .kp-footer-menu ul, body.kp #mfn-footer-template .kp-footer-menu li { margin: 0; padding: 0; list-style: none; }
	body.kp #mfn-footer-template .kp-footer-menu li { margin-bottom: 4px; }
	body.kp #mfn-footer-template .kp-footer-menu a { display: block; padding: 7px 0 !important; font-size: 15px; line-height: 1.35; overflow-wrap: anywhere; }
	body.kp #mfn-footer-template .kp-footer-bar { padding: 22px 0 28px !important; }
	body.kp #mfn-footer-template .kp-footer-bar > .section_wrapper { width: 100%; max-width: 100%; margin: 0; padding: 0 var(--kp-margin) !important; grid-template-columns: minmax(0, 1fr); row-gap: 10px; }
	body.kp #mfn-footer-template .kp-footer-bar > .section_wrapper > .mcb-wrap { min-width: 0; margin: 0 !important; padding: 0 !important; }
	body.kp #mfn-footer-template .kp-footer-bar .mcb-wrap-inner, body.kp #mfn-footer-template .kp-footer-bar .column, body.kp #mfn-footer-template .kp-footer-bar .mcb-column-inner { width: 100%; margin: 0; padding: 0; }
	body.kp #mfn-footer-template .kp-footer-legal p, body.kp #mfn-footer-template .kp-footer-copy p { text-align: left; font-size: 12.5px; }
	body.kp #mfn-footer-template .kp-footer-legal a { display: inline-block; padding: 4px 0; }
}
@media (max-width: 991px) {
	body.kp #mfn-footer-template .kp-footer-menu a, body.kp #mfn-footer-template .kp-footer-menu .label-wrapper, body.kp #mfn-footer-template .kp-footer-menu .menu-label { white-space: normal !important; display: block; min-width: 0; }
	body.kp #mfn-footer-template .kp-footer-menu .mfn-megamenu-menu, body.kp #mfn-footer-template .kp-footer-menu ul { width: 100%; }
}
/* Mobil: nincs alsó ragadós sáv, így a lap alján sem kell hely neki (a lábléc után ne maradjon üres sáv) */
body.kp { padding-bottom: 0 !important; }

/* Vélemények: a „Tovább" nem fekete gomb, hanem finom, aláhúzott szöveges link */
body.kp button.mrv-more:not(.mfn-close):not(.kp-plain) { display: inline; width: auto; min-height: 0; margin: 0 0 0 4px; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; color: var(--kp-sage-text); font-family: var(--kp-text); font-size: 13.5px; font-weight: 500; letter-spacing: .02em; text-transform: none; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
body.kp button.mrv-more:not(.mfn-close):not(.kp-plain):hover { background: none; color: var(--kp-ink); }
/* a léptető nyilak / pontok (ha egy vélemény-csúszka van): halványak, nem fekete tömbök */
body.kp button.mrv-nav:not(.mfn-close):not(.kp-plain) { background: #fff; color: var(--kp-ink); border: 1px solid var(--kp-line); border-radius: 0; box-shadow: none; padding: 0; min-height: 0; }
body.kp button.mrv-nav:not(.mfn-close):not(.kp-plain):hover { background: var(--kp-paper-2); }
body.kp button.mrv-dot:not(.mfn-close):not(.kp-plain) { min-height: 0; padding: 0; background: #d5d5d5; border: 0; box-shadow: none; }
body.kp button.mrv-dot.is-active:not(.mfn-close):not(.kp-plain) { background: var(--kp-ink); }

/* Lábléc — asztali: az oszlopok ne feszítsék egymást (a hosszú menücímek tördelődnek), az elérhetőség-oszlop kapja a nagyobb helyet, a menük a címhez igazítva */
body.kp #mfn-footer-template .kp-footer-main > .section_wrapper { grid-template-columns: minmax(0, 2fr) repeat(4, minmax(0, 1fr)); }
body.kp #mfn-footer-template .kp-footer-main > .section_wrapper > .mcb-wrap { min-width: 0; }
body.kp #mfn-footer-template .kp-footer-menu a { padding-left: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; white-space: normal; }
body.kp #mfn-footer-template .kp-footer-menu .menu-label, body.kp #mfn-footer-template .kp-footer-menu .label-wrapper { white-space: normal; }
@media (max-width: 991px) { body.kp #mfn-footer-template .kp-footer-main > .section_wrapper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.kp .kp-footer-contact .kp-social { gap: 8px; }
body.kp .kp-footer-contact .kp-social a { width: 38px; height: 38px; }
body.kp .kp-footer-contact .kp-social a i { font-size: 21px; }

/* iPhone 15 Pro keret a vendég-felület képei köré (a kép a "kijelzőn" jelenik meg): képarány 393×852, keret ~4%, képernyő-lekerekítés 14% */
body.kp .kp-device .image_wrapper { position: relative; display: block; width: 100%; max-width: 320px; margin: 0 auto; padding: 12px; box-sizing: border-box; background: #0c0c0d; border-radius: 55px; box-shadow: 0 0 0 2px #3a3b3d; }
body.kp .kp-device .image_wrapper img { display: block; width: 100%; max-width: none; height: auto; margin: 0; border: 0; border-radius: 42px; background: #fff; }
/* oldalsó gombok: némítás/hangerő balra, bekapcsoló jobbra */
body.kp .kp-device .image_wrapper::before { content: ''; position: absolute; left: -7px; top: 17%; width: 3px; height: 92px; background: #2a2b2d; border-radius: 2px 0 0 2px; box-shadow: 0 -34px 0 #2a2b2d; }
body.kp .kp-device .image_wrapper::after { content: ''; position: absolute; right: -7px; top: 23%; width: 3px; height: 74px; background: #2a2b2d; border-radius: 0 2px 2px 0; }

/* QR-galéria hero: 1200 px alatt a szöveg a képre csúszik → sötétítés az olvashatóságért (széles kijelzőn a hero szöveg a bal, üres oldalon van) */
@media (max-width: 1199px) { body.page-id-2067 .kp-hero.kp-dim-0 { --kp-hero-dark: .6; } }


/* Galéria kosár (2026-09-21, user-kérések): egyforma magas mennyiség/egységár, jobb oldali teljes ár, törlés a kártya sarkában, kupon-gomb = mező magassága */
body.kp .gallery-cart-line-remove { position: absolute; top: 10px; right: 12px; width: 32px; height: 32px; padding: 0; display: flex; align-items: center; justify-content: center; font-size: 22px; line-height: 1; }
body.kp .gallery-cart-line-meta-group > * { height: 44px; min-height: 44px; box-sizing: border-box; }
body.kp .gallery-cart-wrap .gallery-cart-line-meta-group input.gallery-cart-line-qty-input { height: 44px; min-height: 44px; width: 56px !important; padding: 0 4px; margin: 0; text-align: center; }
body.kp .gallery-cart-line-meta-group .gallery-cart-line-price { border-radius: 0; font-size: 15px; }
body.kp .gallery-cart-line-total { font-family: var(--kp-display); font-weight: 400; font-size: 24px; color: var(--kp-ink); }
body.kp .gallery-cart-line-bundle-qty { color: var(--kp-ink); }
body.kp .gallery-cart-coupon-row { align-items: stretch; }
body.kp .gallery-cart-coupon-row input[type="text"], body.kp .gallery-cart-wrap .gallery-cart-coupon-row input[type="text"], body.kp .gallery-cart-coupon-row .gallery-btn { height: 52px; min-height: 52px; box-sizing: border-box; margin: 0; }
body.kp .gallery-cart-coupon-row .gallery-btn { padding: 0 28px; display: inline-flex; align-items: center; justify-content: center; }
/* Bundle-kijelölés piros keret a kép fölött */
body.kp .gallery-thumb-wrap.is-bundle-selected { box-shadow: none; }
body.kp .gallery-thumb-wrap.is-bundle-selected::after { content: ""; position: absolute; inset: 0; z-index: 3; box-sizing: border-box; border: 8px solid #d63638; pointer-events: none; }

/* ---------- Szabályzat- és tudnivaló-oldalak: ikonos szabálykártyák (kp-rules) ----------
   Használat: a szekcióra kp-sec kp-rulesec, a kártyák wrapjára kp-cols-3 kp-rules,
   az icon_box_2 elemre kp-rule + kp-ic-<név>. Az ikon CSS-maszk (a tartalomba nem kerül SVG). */
body.kp .kp-rulesec .kp-head > .mcb-wrap-inner { margin-bottom: 36px; }
body.kp .kp-rules > .mcb-wrap-inner { align-items: stretch; }
body.kp .kp-rule .mcb-column-inner { height: 100%; }
body.kp .kp-rule .mfn-icon-box {
	height: 100%; box-sizing: border-box; background: var(--kp-card); border: 1px solid var(--kp-line); border-radius: 0;
	padding: 28px 26px 30px; text-align: left; transition: border-color .2s ease, background-color .2s ease;
}
body.kp .kp-rule .mfn-icon-box:hover { border-color: var(--kp-sage); background-color: #FBFCFA; }
body.kp .kp-rule .icon-wrapper { display: none; }
body.kp .kp-rule .desc-wrapper { text-align: left; }
body.kp .kp-rule .desc-wrapper::before {
	content: ''; display: block; width: 30px; height: 30px; margin-bottom: 18px; background: var(--kp-sage-text);
	-webkit-mask: var(--kp-ic) center / contain no-repeat; mask: var(--kp-ic) center / contain no-repeat;
}
body.kp .kp-rule .desc-wrapper .title, body.kp .kp-rule .mfn-icon-box h3, body.kp .kp-rule .mfn-icon-box h4 {
	font-family: var(--kp-text); font-size: 16px; font-weight: 500; line-height: 1.4; letter-spacing: 0;
	text-transform: none; color: var(--kp-ink); margin: 0 0 10px;
}
body.kp .kp-rule .desc, body.kp .kp-rule .desc p { font-size: 15px; line-height: 1.7; color: var(--kp-muted); margin: 0; }
body.kp .kp-rule .desc a { color: var(--kp-sage-text); text-decoration: underline; text-underline-offset: 3px; }
body.kp .kp-rule .desc a:hover { color: var(--kp-ink); }
/* Kiemelt, teljes szélességű szabály a rács alatt */
body.kp .kp-rule-wide { margin-top: 24px; }
body.kp .kp-rule-wide .mfn-icon-box { border-left: 3px solid var(--kp-sage); padding: 28px 32px 30px; }
body.kp .kp-rule-wide .desc-wrapper .title { font-size: 18px; }
body.kp .kp-rule-wide .desc, body.kp .kp-rule-wide .desc p { max-width: 74ch; }
@media (max-width: 767px) {
	body.kp .kp-rule .mfn-icon-box { padding: 24px 22px 26px; }
	body.kp .kp-rule .desc-wrapper::before { width: 26px; height: 26px; margin-bottom: 14px; }
}
/* Záró sáv: köszönő sor + két gomb, középre zárva */
body.kp .kp-closesec { border-top: 1px solid var(--kp-line); }
body.kp .kp-close-wrap { text-align: center; }
body.kp .kp-close p, body.kp .kp-close { text-align: center; }
body.kp .kp-close .kp-close-big { font-family: var(--kp-display); font-size: 26px; line-height: 1.3; color: var(--kp-ink); margin: 4px 0 0; }
body.kp .kp-close-wrap > .mcb-wrap-inner { display: flex; flex-wrap: wrap; justify-content: center; text-align: center; }
body.kp .kp-close-wrap .kp-close { flex: 0 0 100%; }
body.kp .kp-close-wrap .column_button { display: inline-block; width: auto; max-width: none; float: none; margin: 24px 6px 0; }

/* Maszk-ikonok a szabálykártyákhoz (24-es rács, 1.5 px vonal) */
body.kp .kp-ic-shield { --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='round' stroke-linejoin='round'><path d='M12 3l7.5 3v5.2c0 4.5-3.1 8.4-7.5 9.8-4.4-1.4-7.5-5.3-7.5-9.8V6z'/><path d='M12 8.8v3.6'/><path d='M12 15.6h.01'/></svg>"); }
body.kp .kp-ic-shoe { --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='round' stroke-linejoin='round'><path d='M3 16.6v-5.4h3.4l2.2 1.8c.6.5 1.3.8 2.1.8h3.1c3.3 0 6.2 1.2 6.2 2.9v1.8H3z'/><path d='M6.4 11.2V9'/></svg>"); }
body.kp .kp-ic-clock { --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='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 6.8V12l3.6 2.2'/></svg>"); }
body.kp .kp-ic-paw { --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='round' stroke-linejoin='round'><ellipse cx='7.5' cy='9.6' rx='1.9' ry='2.3'/><ellipse cx='12' cy='7.6' rx='1.9' ry='2.4'/><ellipse cx='16.5' cy='9.6' rx='1.9' ry='2.3'/><path d='M12 12.4c2.6 0 5.2 2.3 5.2 4.6 0 1.7-1.4 2.8-3.1 2.8-1 0-1.6-.4-2.1-.4s-1.1.4-2.1.4c-1.7 0-3.1-1.1-3.1-2.8 0-2.3 2.6-4.6 5.2-4.6z'/></svg>"); }
body.kp .kp-ic-camera { --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='round' stroke-linejoin='round'><path d='M3.2 8.4l14.2-3.8 1.4 5.2L4.6 13.6z'/><path d='M7.4 12.8V16'/><path d='M4.4 19.4h6.6'/><path d='M19.2 8.6l2.4-.7'/></svg>"); }
body.kp .kp-ic-light { --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='round' stroke-linejoin='round'><path d='M5.5 3.4h9.8l2.6 5.2H2.9z'/><path d='M10.4 8.6V20'/><path d='M6.6 20.6h7.6'/></svg>"); }
body.kp .kp-ic-tools { --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='round' stroke-linejoin='round'><path d='M3.6 7.8h3.3l1.5-2.2h7.2l1.5 2.2h3.3v11.4H3.6z'/><circle cx='12' cy='13.3' r='3.4'/></svg>"); }
body.kp .kp-ic-roll { --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='round' stroke-linejoin='round'><rect x='3.6' y='3.4' width='16.8' height='3.6' rx='1.8'/><path d='M6.4 7v13.1c0 .8 2.5 1.4 5.6 1.4s5.6-.6 5.6-1.4V7'/></svg>"); }
body.kp .kp-ic-eye { --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='round' stroke-linejoin='round'><path d='M2.2 12S5.8 6.2 12 6.2 21.8 12 21.8 12 18.2 17.8 12 17.8 2.2 12 2.2 12z'/><circle cx='12' cy='12' r='2.6'/></svg>"); }
body.kp .kp-ic-sparkle { --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='round' stroke-linejoin='round'><path d='M10.2 3.2l1.7 4.6 4.6 1.7-4.6 1.7-1.7 4.6-1.7-4.6L3.9 9.5l4.6-1.7z'/><path d='M17.6 14.2l.9 2.4 2.4.9-2.4.9-.9 2.4-.9-2.4-2.4-.9 2.4-.9z'/></svg>"); }
body.kp .kp-ic-hourglass { --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='round' stroke-linejoin='round'><path d='M7 3.4h10'/><path d='M7 20.6h10'/><path d='M7 3.4c0 4.3 5 6.2 5 6.2s5-1.9 5-6.2'/><path d='M7 20.6c0-4.3 5-6.2 5-6.2s5 1.9 5 6.2'/></svg>"); }
body.kp .kp-ic-time { --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='round' stroke-linejoin='round'><circle cx='12' cy='13.6' r='7.6'/><path d='M12 9.8v3.8l2.6 1.6'/><path d='M9.4 2.6h5.2'/><path d='M12 2.6v3.4'/></svg>"); }

/* =====================================================================
   Rólunk: "Ő itt Kapi." szekció (build/kapi_about.py, natív BeBuilder-elemek)
   ===================================================================== */
body.kp .kp-kapi-sec { background: transparent; }
body.kp .kp-kapi-sec .section_wrapper { align-items: center; }
body.kp .kp-kapi-art .mcb-wrap-inner { display: flex; justify-content: center; }
body.kp .kp-kapi-hero .image_item.image_frame img, body.kp .kp-kapi-hero .image_item.image_frame { display: block; width: 300px; max-width: 100%; height: auto; margin: 0 auto; }
body.kp .kp-kapi-copy .kp-kapi-txt p { max-width: 58ch; }
body.kp .kp-kapi-job { margin-top: 32px; }
body.kp .kp-kapi-job .mcb-wrap-inner { display: flex; flex-direction: column; align-items: center; height: 100%; margin: 0 9px; padding: 18px 14px 20px; background: var(--kp-card); border: 1px solid var(--kp-line); text-align: center; }
body.kp .kp-kapi-job-img .image_item.image_frame img, body.kp .kp-kapi-job-img .image_item.image_frame { display: block; width: 104px; height: auto; margin: 0 auto; }
body.kp .kp-kapi-job-cap p { margin: 6px 0 0; font-size: 14px; line-height: 1.45; color: var(--kp-muted); text-align: center; }
body.kp .kp-kapi-job-cap br { display: none; }
body.kp .kp-kapi-job-cap strong { display: block; font-family: var(--kp-display) !important; font-weight: 400; font-size: 18px; color: var(--kp-ink); }
@media (max-width: 767px) {
	body.kp .kp-kapi-hero .image_item.image_frame img, body.kp .kp-kapi-hero .image_item.image_frame { width: 210px; }
	body.kp .kp-kapi-job { margin-top: 16px; }
	body.kp .kp-kapi-job .mcb-wrap-inner { margin: 0 6px; padding: 14px 10px 16px; }
	body.kp .kp-kapi-job-img .image_item.image_frame img, body.kp .kp-kapi-job-img .image_item.image_frame { width: 84px; }
}

/* AI-chat (ai-asszisztens widget) — Kapi: alcím a név mellett + kis Kapi-fej a bot üzenetei előtt (terv: kapi-rolunk-chat.png).
   A név/avatar/köszönés az ai-asszisztens beállításaiban van; ez csak a megjelenés. */
body.kp .ai-asszisztens-panel-title { font-family: var(--kp-display); font-weight: 500; white-space: nowrap; }
body.kp .ai-asszisztens-panel-title::after { content: "a stúdió kabalája"; margin-left: 8px; font-family: var(--kp-text); font-weight: 400; font-size: 11px; opacity: .65; }
body.kp .ai-asszisztens-message--assistant { position: relative; margin-left: 32px; }
body.kp .ai-asszisztens-message--assistant::before { content: ""; position: absolute; left: -32px; top: 2px; width: 24px; height: 24px; border-radius: 50%; background: url("/wp-content/plugins/kp-design/assets/kapi/kapi-avatar.svg") center / cover no-repeat; }
/* A fejléc ikon-gombjait (előzmények / új / bezár) a body.kp általános gomb-szabálya 84 px szélesre fújta — kis négyzetes gombok. */
body.kp #ai-asszisztens-panel .ai-asszisztens-panel-header button { width: 32px; min-width: 0; height: 32px; min-height: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; letter-spacing: 0; }
body.kp #ai-asszisztens-panel .ai-asszisztens-panel-header button svg { width: 16px; height: 16px; }
body.kp .ai-asszisztens-panel-actions { display: inline-flex; gap: 6px; flex: none; }

/* Galéria: azonnali "letöltés indul" ablak (Gallery 1.10.37 #gallery-dl-wait) — címbetű a kp- betűkényszer ellenére */
body.kp .gallery-dl-wait__title { font-family: var(--kp-display) !important; color: var(--kp-ink); letter-spacing: -.01em; font-size: 26px; line-height: 1.2; font-weight: 300; text-align: center; margin: 12px 0 0; }
body.kp .gallery-dl-wait__text { font-family: var(--kp-text); color: var(--kp-body, #33383A); font-size: 15px; line-height: 1.55; text-align: center; margin: 8px 0 0; max-width: 40ch; }
body.kp .gallery-dl-wait__box .kp-dl-kapi img { width: 170px; height: auto; }

/* Jelszóval védett galéria kapuja (Gallery 1.10.38 .gallery-password-gate) — rendőr Kapi */
body.kp .gallery-protected-gate { padding-top: clamp(40px, 7vw, 80px); padding-bottom: 60px; }
body.kp .kp-gate-kapi { position: relative; display: flex; justify-content: center; margin: 0 auto 6px; }
body.kp .kp-gate-kapi img { display: block; width: 190px; height: auto; }
body.kp .kp-gate-kapi .kp-bubble { left: auto; right: calc(50% + 60px); top: 6px; font-size: 16px; padding: 8px 12px; }
body.kp .kp-gate-kapi .kp-bubble::after { left: auto; right: 22px; }
body.kp .gallery-status-eyebrow { margin: 10px 0 0; font-family: var(--kp-text); font-size: 11px; font-weight: 600; letter-spacing: var(--kp-tracking-label, .3em); text-transform: uppercase; color: var(--kp-sage-text); }
body.kp .gallery-protected-gate h2 { margin: 6px 0 0; font-family: var(--kp-display); font-weight: 300; font-size: clamp(32px, 5vw, 44px); line-height: 1.1; }
body.kp .gallery-protected-gate > p { font-size: 16px; line-height: 1.6; color: var(--kp-body, #33383A); }
body.kp .gallery-protected-gate .gallery-password-error { color: #A33A33; font-weight: 600; }
body.kp .gallery-status-help { margin-top: 18px; font-size: 14px !important; color: var(--kp-muted) !important; }
body.kp .gallery-status-help a { color: var(--kp-sage-text); border-bottom: 1px solid var(--kp-sage); text-decoration: none; }
body.kp .gallery-protected-gate, body.kp .gallery-protected-gate p, body.kp .gallery-protected-gate h2 { text-align: center; }
body.kp .gallery-protected-gate > p:not(.gallery-status-eyebrow):not(.gallery-status-help) { max-width: 44ch; margin-left: auto; margin-right: auto; }

/* AI-kereső: Kapis "nincs találat" és "Kapi gondolkodik…" (ai-asszisztens search.js — emptyHtml / loadingHtml) */
body.kp .ai-asszisztens-search-empty--rich { padding: 14px 16px !important; list-style: none; }
body.kp .kp-search-empty { display: flex; align-items: center; gap: 14px; text-align: left; }
body.kp .kp-search-empty .kp-search-empty__kapi { flex: none; width: 84px; height: auto; }
body.kp .kp-search-empty__txt { display: flex; flex-direction: column; gap: 4px; font-family: var(--kp-text); font-size: 13.5px; line-height: 1.45; color: var(--kp-muted); }
body.kp .kp-search-empty__txt b { font-size: 15px; font-weight: 600; color: var(--kp-ink); }
body.kp a.kp-search-empty__link { align-self: flex-start; margin-top: 4px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-ink); border-bottom: 1px solid var(--kp-sage); text-decoration: none; }
body.kp .kp-search-think { display: flex; align-items: center; gap: 10px; font-family: var(--kp-text); font-size: 13.5px; color: var(--kp-sage-text); }
body.kp .kp-search-think .kp-search-think__kapi { flex: none; width: 60px; height: auto; }

/* Galéria: üres kedvencek / üres lista (Gallery #gallery-filter-empty) — Kapi */
body.kp .gallery-filter-empty { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 560px; margin: 40px auto 60px; padding: 0 16px; }
body.kp .gallery-filter-empty[hidden], body.kp .gallery-filter-empty__variant[hidden] { display: none; }
body.kp .gallery-filter-empty__variant { display: flex; flex-direction: column; align-items: center; }
body.kp .gallery-filter-empty .kp-gate-kapi img { width: 160px; }
body.kp .gallery-filter-empty h3 { margin: 10px 0 0; font-family: var(--kp-display) !important; font-weight: 300; font-size: clamp(24px, 3vw, 30px); line-height: 1.2; color: var(--kp-ink); text-align: center; }
body.kp .gallery-filter-empty p { margin: 8px 0 0; max-width: 46ch; font-size: 15px; line-height: 1.6; color: var(--kp-body, #33383A); text-align: center; }
body.kp .gallery-filter-empty #gallery-filter-empty-reset { margin-top: 20px; }

/* Webshop / galéria-kosár köszönő + fizetés-eredmény oldal — Kapi (shop_result_illustration) */
body.kp .gallery-cart-thanks, body.kp .pe-shop-thanks { text-align: center; }
body.kp .kp-result-kapi { display: flex; justify-content: center; margin: 0 0 6px; }
body.kp .kp-result-kapi img { display: block; width: 170px; height: auto; }
body.kp .gallery-cart-thanks h2, body.kp .pe-shop-thanks h2 { text-align: center; }
body.kp .gallery-cart-thanks p, body.kp .pe-shop-thanks p { text-align: center; max-width: 52ch; margin-left: auto; margin-right: auto; }

/* GYIK: kérdező Kapi (kp-design.js) — szolgáltatásoldalak GYIK bal oszlopa + GYIK-oldal fejléce */
body.kp .kp-faq-kapi { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin-top: 26px; width: 100%; }
body.kp .kp-faq-kapi__bubble { position: relative; margin-left: 70px; background: var(--kp-card, #fff); border: 1px solid var(--kp-line); padding: 10px 14px; font-family: var(--kp-text); font-size: 14px; line-height: 1.4; color: var(--kp-ink); }
body.kp .kp-faq-kapi__bubble::after { content: ""; position: absolute; left: 22px; bottom: -8px; width: 14px; height: 14px; background: var(--kp-card, #fff); border-right: 1px solid var(--kp-line); border-bottom: 1px solid var(--kp-line); transform: rotate(45deg); }
body.kp .kp-faq-kapi__bubble a { display: block; margin-top: 6px; font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--kp-ink); border-bottom: 1px solid var(--kp-sage); text-decoration: none; width: fit-content; }
body.kp img.kp-faq-kapi__img { display: block; width: 120px; height: auto; }
body.kp img.kp-gyik-kapi { display: block; width: 170px; height: auto; margin: 18px 0 0 auto; }
@media (max-width: 991px) {
	body.kp .kp-faq-kapi { flex-direction: row-reverse; justify-content: flex-end; align-items: center; margin-top: 16px; }
	body.kp .kp-faq-kapi__bubble { margin-left: 0; }
	body.kp .kp-faq-kapi__bubble::after { display: none; }
	body.kp img.kp-faq-kapi__img { width: 90px; }
	body.kp img.kp-gyik-kapi { width: 120px; margin: 14px auto 0 0; }
}

/* Rólunk: „Ismerd meg közelebbről” gomb a Kapi-szekcióban (→ /kapi/) */
body.kp .kp-kapi-more { margin: 10px 0 34px; }

/* ---- Mobil főmenü (a jóváhagyott terv szerint): teljes képernyős réteg, nyitható főpontok, alul kliens zóna + elérhetőségek ---- */
body.kp .kp-mm { display: none; }
@media (max-width: 991px) {
	body.kp #mfn-header-template .mfn-header-tmpl-menu-sidebar { width: 100vw !important; max-width: 100vw !important; height: 100vh; height: 100dvh; background: var(--kp-paper) !important; padding: 0 !important; box-shadow: none !important; z-index: 20; }
	body.kp #mfn-header-template .mfn-header-tmpl-menu-sidebar-wrapper { display: flex; flex-direction: column; height: 100%; padding: 0 !important; overflow: hidden !important; }
	body.kp #mfn-header-template .mfn-header-tmpl-menu-sidebar-wrapper > ul#menu-mobil,
	body.kp #mfn-header-template .mfn-header-tmpl-menu-sidebar-wrapper > .mfn-close-icon,
	body.kp #mfn-header-template .mfn-header-tmpl-menu-sidebar-wrapper > .ai-asszisztens-search { display: none !important; }
	body.kp .kp-mm { display: flex; flex-direction: column; width: 100%; margin: 0 !important; padding: 0; height: 100%; min-height: 0; background: var(--kp-paper); color: var(--kp-body); font-family: var(--kp-text); }
	body.kp .kp-mm-head { flex: 0 0 auto; height: 66px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--kp-hairline); }
	body.kp .kp-mm-head img { display: block; width: 132px; height: auto; }
	body.kp .kp-mm button.kp-mm-close { appearance: none; background: none; border: 0; border-radius: 0; box-shadow: none; width: 40px; height: 40px; min-height: 0; padding: 0; margin: 0 -10px 0 0; display: grid; place-items: center; color: var(--kp-ink); cursor: pointer; }
	body.kp .kp-mm button.kp-mm-close:hover { background: none; color: var(--kp-ink); }
	body.kp .kp-mm-close svg, body.kp .kp-mm-cta svg, body.kp .kp-mm-line svg, body.kp .kp-mm-social svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
	body.kp .kp-mm-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; padding: 6px 0 4px; }
	body.kp .kp-mm-search { padding: 12px 20px; border-bottom: 1px solid var(--kp-hairline); }
	body.kp .kp-mm-search .ai-asszisztens-search { display: block !important; }
	body.kp .kp-mm details.kp-mm-row { border-bottom: 1px solid var(--kp-hairline); }
	body.kp .kp-mm details.kp-mm-row > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 20px; font-family: var(--kp-text); font-size: 16px; font-weight: 400; letter-spacing: .15em; text-transform: uppercase; color: var(--kp-ink); cursor: pointer; list-style: none; -webkit-tap-highlight-color: transparent; }
	body.kp .kp-mm details.kp-mm-row > summary::-webkit-details-marker { display: none; }
	body.kp .kp-mm details.kp-mm-row > summary::marker { content: ''; }
	body.kp .kp-mm details[open].kp-mm-row > summary { color: var(--kp-sage-hover); }
	body.kp .kp-mm-sign { position: relative; width: 11px; height: 11px; flex: 0 0 auto; }
	body.kp .kp-mm-sign::before, body.kp .kp-mm-sign::after { content: ''; position: absolute; background: currentColor; transition: transform .3s ease, opacity .3s ease; }
	body.kp .kp-mm-sign::before { left: 0; top: 5px; width: 11px; height: 1px; }
	body.kp .kp-mm-sign::after { top: 0; left: 5px; width: 1px; height: 11px; }
	body.kp .kp-mm details[open] > summary .kp-mm-sign::after { transform: scaleY(0); opacity: 0; }
	body.kp .kp-mm-sub { padding: 2px 20px 20px 40px; display: flex; flex-direction: column; gap: 2px; animation: kp-mm-reveal .32s ease both; }
	@keyframes kp-mm-reveal { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
	body.kp .kp-mm-group { font-size: 13px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--kp-sage-hover); padding: 14px 0 7px; }
	body.kp .kp-mm-group:first-child { padding-top: 4px; }
	body.kp .kp-mm-sub a { display: block; padding: 11px 0; font-size: 19px; font-weight: 400; line-height: 1.35; color: var(--kp-ink); text-decoration: none; border-bottom: 1px solid transparent; -webkit-tap-highlight-color: transparent; }
	body.kp .kp-mm-sub a:focus-visible { color: var(--kp-ink); outline: none; border-bottom-color: var(--kp-sage); }
	body.kp .kp-mm-foot { flex: 0 0 auto; border-top: 1px solid var(--kp-hairline); padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px)); display: flex; flex-direction: column; gap: 14px; background: var(--kp-paper); }
	body.kp .kp-mm a.kp-mm-cta { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px; background: var(--kp-ink); color: var(--kp-paper); font-size: 14px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; text-decoration: none; }
	body.kp .kp-mm a.kp-mm-cta svg { width: 16px; height: 16px; }
	body.kp .kp-mm-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	body.kp .kp-mm a.kp-mm-line { display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; padding: 14px 6px; border: 1px solid var(--kp-line); background: var(--kp-paper); color: var(--kp-ink); font-size: clamp(12.5px, 3.7vw, 15px); font-weight: 400; white-space: nowrap; text-decoration: none; font-variant-numeric: tabular-nums; }
	body.kp .kp-mm a.kp-mm-line svg { width: 16px; height: 16px; flex: 0 0 auto; stroke: var(--kp-sage-text); }
	body.kp .kp-mm a.kp-mm-line { gap: 6px; }
	body.kp .kp-mm-social { display: flex; gap: 30px; align-items: center; justify-content: center; padding-top: 8px; }
	body.kp .kp-mm-social a { color: var(--kp-muted); display: grid; place-items: center; }
	body.kp .kp-mm-social svg { width: 26px; height: 26px; }
}
@media (max-width: 991px) {
	/* zárt állapotban a réteg teljesen a képernyőn kívül (a Betheme -350px-es eltolása 100vw szélességnél kilógott) */
	body.kp #mfn-header-template .mfn-header-tmpl-menu-sidebar { right: -100vw !important; visibility: hidden; transition: right .4s cubic-bezier(.22,.61,.36,1), visibility 0s linear .4s; }
	html.mfn-header-tmpl-burger-sidebar-opened body.kp #mfn-header-template .mfn-header-tmpl-menu-sidebar { right: 0 !important; visibility: visible; transition: right .4s cubic-bezier(.22,.61,.36,1), visibility 0s; }
}
@media (max-width: 991px) {
	html.mfn-header-tmpl-burger-sidebar-opened body.kp .ai-asszisztens-launcher { display: none !important; }
	body.kp.admin-bar #mfn-header-template .mfn-header-tmpl-menu-sidebar { top: 46px !important; height: calc(100dvh - 46px); }
}
@media (max-width: 991px) and (prefers-reduced-motion: reduce) { body.kp .kp-mm-sub { animation: none; } body.kp .kp-mm-sign::before, body.kp .kp-mm-sign::after { transition: none; } }

/* ---- Mobil fejléc (a jóváhagyott terv szerint): bal oldalt logó, jobbra kereső + kosár + hamburger; 66 px magas, vonalas alsó szegély ---- */
body.kp .kp-mh-search { display: none; }
@media (max-width: 991px) {
	body.kp #mfn-header-template section.mfn-default-section.mcb-header-section { height: 66px; margin: 0 !important; width: 100% !important; max-width: none !important; padding: 0 !important; background: var(--kp-paper) !important; border-bottom: 1px solid var(--kp-hairline); }
	body.kp #mfn-header-template section.mcb-header-section > .section_wrapper { height: 66px; max-width: none !important; width: 100%; padding: 0 20px !important; margin: 0; display: flex; align-items: center; flex-wrap: nowrap; }
	body.kp #mfn-header-template section.mcb-header-section > .section_wrapper > .mcb-wrap,
	body.kp #mfn-header-template section.mcb-header-section > .section_wrapper > .mcb-wrap > .mcb-wrap-inner { display: contents !important; }
	body.kp #mfn-header-template section.mcb-header-section .mcb-wrap-background-overlay { display: none; }
	body.kp #mfn-header-template section.mcb-header-section > .section_wrapper > .mcb-wrap:has(.column_header_menu) > .mcb-wrap-inner > .column_header_menu,
	body.kp #mfn-header-template .kp-header-lock { display: none !important; }
	body.kp #mfn-header-template .column_header_logo { order: 1; margin: 0 auto 0 0 !important; padding: 0 !important; width: auto !important; flex: 0 0 auto; }
	body.kp #mfn-header-template .column_header_logo .mcb-column-inner, body.kp #mfn-header-template .column_header_logo a { margin: 0; padding: 0; }
	body.kp #mfn-header-template .column_header_logo img { width: 132px !important; height: auto !important; max-height: none; }
	body.kp #mfn-header-template .kp-mh-search { order: 2; display: grid; place-items: center; appearance: none; background: none; border: 0; border-radius: 0; box-shadow: none; width: 40px; height: 40px; min-height: 0; padding: 0; margin: 0; color: var(--kp-ink); cursor: pointer; }
	body.kp #mfn-header-template .kp-mh-search:hover { background: none; color: var(--kp-ink); }
	body.kp #mfn-header-template .kp-mh-search svg { width: 19px; height: 19px; stroke: currentColor; fill: none; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }
	body.kp #mfn-header-template .column_header_icon { order: 3; margin: 0 !important; padding: 0 !important; width: auto !important; flex: 0 0 auto; }
	body.kp #mfn-header-template .column_header_icon .mcb-column-inner { margin: 0; padding: 0; }
	body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] { position: relative; display: grid !important; place-items: center; width: 40px; height: 40px; padding: 0 !important; }
	body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] .icon-wrapper i { font-size: 20px !important; color: var(--kp-ink); }
	body.kp #mfn-header-template .store-header-cart-badge { top: 5px !important; right: 4px !important; left: auto !important; min-width: 14px; height: 14px; padding: 0 3px; border: 0; border-radius: 0; background: var(--kp-sage-text) !important; font-size: 9px; line-height: 14px; }
	body.kp #mfn-header-template .column_header_burger { order: 4; margin: 0 -10px 0 4px !important; padding: 0 !important; width: 40px !important; flex: 0 0 40px; }
	body.kp #mfn-header-template .column_header_burger .mcb-column-inner { margin: 0; padding: 0; }
	body.kp #mfn-header-template .mfn-header-menu-burger { display: grid !important; place-items: center; width: 40px; height: 40px; padding: 0 !important; margin: 0; }
	body.kp #mfn-header-template .mfn-header-menu-burger .icon-wrapper { display: block; width: 20px; height: 11px; margin: 0; padding: 0;
		background: linear-gradient(var(--kp-ink), var(--kp-ink)) 0 0 / 20px 1px no-repeat, linear-gradient(var(--kp-ink), var(--kp-ink)) 0 5px / 20px 1px no-repeat, linear-gradient(var(--kp-ink), var(--kp-ink)) 100% 10px / 13px 1px no-repeat; }
	body.kp #mfn-header-template .mfn-header-menu-burger .icon-wrapper i { display: none; }
}

@media (max-width: 991px) {
	/* a fejléc-szekció saját átfedő rétege ne nyelje el a kattintásokat (logó, kereső, kosár) */
	body.kp #mfn-header-template section.mcb-header-section > .mcb-background-overlay { pointer-events: none; }
	body.kp #mfn-header-template section.mcb-header-section > .section_wrapper { position: relative; z-index: 1; }
}

/* 2026-10-13 — Android/iOS: vízszintes túllógás (jobb oldali fehér sáv) + „Fontos dátumok” és lépés-kártyák mobilon egymás alatt.
   A rács `1fr` oszlopai a tartalom min-content szélességére nyúltak (auto minimum) — minmax(0,1fr) + min-width:0 ezt megszünteti. */
html, body.kp { overflow-x: clip !important; max-width: 100%; }
body.kp .kp-sec { max-width: 100%; }
body.kp .kp-cols-2 > .mcb-wrap-inner > .column, body.kp .kp-cols-3 > .mcb-wrap-inner > .column, body.kp .kp-cols-4 > .mcb-wrap-inner > .column, body.kp .kp-cols-5 > .mcb-wrap-inner > .column { min-width: 0; }
@media (max-width: 767px) {
	body.kp .kp-sec:not(.kp-trust) .kp-cols-5 > .mcb-wrap-inner { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	body.kp .kp-sec:not(.kp-trust) .kp-cols-5 > .mcb-wrap-inner > .column { width: 100% !important; max-width: 100% !important; }
	body.kp .kp-cols-2 > .mcb-wrap-inner { grid-template-columns: minmax(0, 1fr); }
	body.kp .kp-k-dates .kp-svc-card.kp-k-link { cursor: pointer; }
}
body.kp .kp-k-dates .kp-svc-card.kp-k-link { cursor: pointer; }
body.kp .kp-k-dates .kp-svc-card.kp-k-link:focus-visible { outline: 2px solid #4A5C4C; outline-offset: -2px; }
/* 2026-10-13 — intézményi oldalak (Űrhajós, Napsugár, Kis utcai): nincs csípéses nagyítás (iOS a viewport maximum-scale-t figyelmen kívül hagyja) */
body.page-id-2426, body.page-id-2635, body.page-id-2626 { touch-action: pan-x pan-y; }

/* 2026-10-17 — Mobil fejléc: nagyobb érintési célok (44 px), nagyobb ikonok, több térköz egymás és a képernyő széle között.
   (Korábban 40 px-es dobozok térköz nélkül, a hamburger -10 px-es negatív margóval a szélre tolva.) */
@media (max-width: 991px) {
	body.kp #mfn-header-template section.mcb-header-section > .section_wrapper { padding: 0 14px 0 20px !important; }
	body.kp #mfn-header-template .kp-mh-search { width: 44px; height: 44px; margin: 0 6px 0 0; }
	body.kp #mfn-header-template .kp-mh-search svg { width: 22px; height: 22px; stroke-width: 1.3; }
	body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] { width: 44px; height: 44px; }
	body.kp #mfn-header-template .column_header_icon a[href*="/kosar"] .icon-wrapper i { font-size: 23px !important; }
	body.kp #mfn-header-template .store-header-cart-badge { top: 7px !important; right: 6px !important; }
	body.kp #mfn-header-template .column_header_burger { margin: 0 0 0 6px !important; width: 44px !important; flex: 0 0 44px; }
	body.kp #mfn-header-template .mfn-header-menu-burger { width: 44px; height: 44px; }
	body.kp #mfn-header-template .mfn-header-menu-burger .icon-wrapper { width: 24px; height: 13px;
		background: linear-gradient(var(--kp-ink), var(--kp-ink)) 0 0 / 24px 1.5px no-repeat, linear-gradient(var(--kp-ink), var(--kp-ink)) 0 6px / 24px 1.5px no-repeat, linear-gradient(var(--kp-ink), var(--kp-ink)) 100% 12px / 16px 1.5px no-repeat; }
}

/* 2026-10-17 — Mobil kereső: a billentyűzet felugrásakor kevés a hely. Aktív keresésnél (fókusz a mezőben vagy van találati lista):
   az alsó sáv (kliens zóna / telefon / e-mail / közösségi) és a menüsorok rejtve, a fejléc kompakt, a találati lista teljes magasságban, a beágyazott helyen (nem lebeg a menüsorok fölött). */
@media (max-width: 991px) {
	body.kp .kp-mm:has(.kp-mm-search :focus) .kp-mm-foot,
	body.kp .kp-mm:has(.kp-mm-search .ai-asszisztens-search-results:not([hidden]):not(:empty)) .kp-mm-foot,
	body.kp .kp-mm:has(.kp-mm-search :focus) .kp-mm-row,
	body.kp .kp-mm:has(.kp-mm-search .ai-asszisztens-search-results:not([hidden]):not(:empty)) .kp-mm-row { display: none; }
	body.kp .kp-mm:has(.kp-mm-search :focus) .kp-mm-head,
	body.kp .kp-mm:has(.kp-mm-search .ai-asszisztens-search-results:not([hidden]):not(:empty)) .kp-mm-head { min-height: 0; padding-top: 6px; padding-bottom: 6px; }
	body.kp .kp-mm:has(.kp-mm-search :focus) .kp-mm-head img { max-height: 30px; width: auto; }
	body.kp .kp-mm .kp-mm-search .ai-asszisztens-search-results { position: static !important; max-height: none !important; overflow: visible !important; margin-top: 8px; box-shadow: none !important; }
	body.kp .kp-mm:has(.kp-mm-search :focus) .kp-mm-search { border-bottom: 0; }
}

/* ---------- Lezárt időpontok (2026-11-03): info banner a hero-ban + "Minden időpont foglalt" felirat a csomag-gomb helyén ---------- */
body.kp .kp-sitebar { background: var(--kp-dark-hero); color: #fff; text-align: center; position: relative; z-index: 5; }
body.kp .kp-sitebar-in { max-width: 1100px; margin: 0 auto; padding: 11px var(--kp-margin); font-size: 14.5px; line-height: 1.5; letter-spacing: .01em; }
body.kp .kp-sitebar strong { font-weight: 600; }
body.kp .kp-sitebar a { color: #fff; text-decoration: underline; }
body.kp .kp-packages a[href="#kp-closed"], body.kp .kp-packages .pricing-box-featured a[href="#kp-closed"] { pointer-events: none; cursor: default; background: transparent; border: 1px dashed var(--kp-line); color: var(--kp-muted); box-shadow: none; }
body.kp .kp-packages .pricing-box-featured a[href="#kp-closed"] { border-color: var(--kp-muted); }
