/* Dokiszer kiegészítő stílusok. Tokenek: theme.json (--wp--preset--color--*, --wp--preset--font-family--*). */

:root {
	--dk-radius: 12px;
	--dk-shadow: 0 10px 30px rgba(22, 63, 115, 0.14);
	--dk-phone-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

:where(.wp-site-blocks) > * { margin-block-start: 0; }
.dk-main > .entry-content > *:first-child, .dk-main .wp-block-post-content > *:first-child { margin-block-start: 0; }

/* ---------- Logó ---------- */
.dk-logo {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	text-decoration: none;
	line-height: 1;
	white-space: nowrap;
}
.dk-logo-a { color: var(--wp--preset--color--deep); }
.dk-logo-b { color: var(--wp--preset--color--brand-blue); }
.dk-logo--light .dk-logo-a { color: #fff; }
.dk-logo--light .dk-logo-b { color: #9CC0F7; }

/* ---------- Fejléc ---------- */
.dk-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .dk-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .dk-header { top: 0; position: relative; } }
.dk-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--muted); }
.dk-header .wp-block-navigation a:hover { color: var(--wp--preset--color--deep); }
.dk-header-right { gap: 24px; }
.dk-header .wp-block-navigation__container { flex-wrap: nowrap; }
.dk-header .wp-block-navigation a { white-space: nowrap; }
@media (min-width: 600px) and (max-width: 1140px) {
	.dk-header .wp-block-navigation { --wp--style--block-gap: 14px; font-size: 0.875rem; }
	.dk-header .wp-block-navigation .wp-block-navigation__container { gap: 14px; }
	.dk-header-right { gap: 14px; }
	.dk-header-call .wp-block-button__link { padding: 0.55rem 0.9rem; font-size: 0.9rem; }
}
@media (min-width: 600px) and (max-width: 900px) {
	.dk-header-call { display: none !important; }
}
.dk-header-call .wp-block-button__link { padding: 0.6rem 1.1rem; font-size: 1rem; }
@media (max-width: 781px) {
	.dk-header-call { display: none !important; }
	.dk-lead { font-size: 1.0625rem; }
}

/* ---------- Hívás gomb telefonikonnal ---------- */
.dk-call .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 0.55em; white-space: nowrap; }
.dk-call .wp-block-button__link::before {
	content: "";
	width: 1.05em;
	height: 1.05em;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--dk-phone-icon) center / contain no-repeat;
	mask: var(--dk-phone-icon) center / contain no-repeat;
}
.wp-block-button .wp-block-button__link { text-decoration: none; transition: background-color .15s ease, transform .1s ease; }
.wp-block-button .wp-block-button__link:active { transform: translateY(1px); }

/* ---------- Mobil hívássáv ---------- */
.dk-callbar { display: none; }
@media (max-width: 781px) {
	.dk-callbar {
		display: block;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 60;
		background: var(--wp--preset--color--surface);
		border-top: 1px solid var(--wp--preset--color--line);
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		box-shadow: 0 -6px 20px rgba(19, 32, 51, 0.08);
	}
	.dk-callbar .wp-block-button__link { width: 100%; font-size: 1.0625rem; padding: 0.95rem 1rem; }
	body { padding-bottom: 76px; }
}

/* ---------- Nyitókép (hero) ---------- */
.dk-hero { overflow: visible; }
.dk-hero .dk-hero-cols { align-items: flex-end !important; }
.dk-hero h1 .dk-blue, .dk-blue { color: var(--wp--preset--color--deep); }
.dk-lead { font-size: 1.1875rem; line-height: 1.6; color: var(--wp--preset--color--muted); max-width: 46ch; }
.dk-hero-img { position: relative; margin-bottom: -1px; }
.dk-hero-img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--dk-radius) var(--dk-radius) 0 0; display: block; }
.dk-hero-img.is-rounded img { border-radius: var(--dk-radius); }
.dk-badge {
	position: absolute;
	left: -28px;
	bottom: 36px;
	max-width: 230px;
	background: var(--wp--preset--color--surface);
	border-radius: var(--dk-radius);
	padding: 14px 16px;
	box-shadow: var(--dk-shadow);
	font-size: 0.875rem;
	line-height: 1.4;
	margin: 0 !important;
}
.dk-badge strong { display: block; font-family: var(--wp--preset--font-family--heading); font-size: 1rem; color: var(--wp--preset--color--deep); }
@media (max-width: 781px) {
	.dk-badge { left: 12px; bottom: 12px; }
	.dk-hero-img img { aspect-ratio: 4 / 3; border-radius: var(--dk-radius); }
}

/* Bizalmi sor */
.dk-trust { gap: 32px !important; }
.dk-trust p { margin: 0; font-size: 0.9375rem; color: var(--wp--preset--color--muted); line-height: 1.35; }
.dk-trust strong { display: block; font-family: var(--wp--preset--font-family--heading); font-size: 1.625rem; color: var(--wp--preset--color--ink); line-height: 1.15; }
.dk-star { color: #E39A0E; }
@media (max-width: 600px) { .dk-trust { gap: 20px !important; } .dk-trust strong { font-size: 1.3rem; } }

/* ---------- Szolgáltatás-csempék ---------- */
.dk-tiles { gap: 16px !important; }
.dk-tile {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	border-radius: var(--dk-radius);
	overflow: hidden;
	position: relative;
	transition: transform .15s ease, box-shadow .15s ease;
}
.dk-tile:hover { transform: translateY(-3px); box-shadow: var(--dk-shadow); }
.dk-tiles > .dk-tile { height: 100%; display: flex; flex-direction: column; }
.dk-band .dk-tile h3, .dk-tile h3, .dk-band .dk-tile h3 a { color: var(--wp--preset--color--ink); }
.dk-band .dk-tile p { color: var(--wp--preset--color--muted); }
.dk-band .dk-tile .dk-more { color: var(--wp--preset--color--deep); }
.dk-tile .wp-block-image { margin: 0; }
.dk-tile .wp-block-image img { border-radius: 0; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.dk-tile-body { padding: 16px 18px 20px; }
.dk-tile h3 { margin: 0 0 6px; font-size: 1.25rem; }
.dk-tile h3 a { color: inherit; text-decoration: none; }
.dk-tile h3 a::after { content: ""; position: absolute; inset: 0; }
.dk-tile p { margin: 0; font-size: 0.9375rem; color: var(--wp--preset--color--muted); }
.dk-tile .dk-more { margin-top: 10px; font-weight: 700; color: var(--wp--preset--color--deep); font-size: 0.9375rem; }
@media (prefers-reduced-motion: reduce) { .dk-tile, .dk-tile:hover { transition: none; transform: none; } }

/* ---------- Kék sáv ---------- */
.dk-band h2, .dk-band h3 { color: #fff; }
.dk-band p { color: var(--wp--preset--color--deep-ink); }
.dk-band a:not(.wp-block-button__link) { color: #fff; }

.dk-band .is-style-outline .wp-block-button__link, .dk-on-dark .wp-block-button__link { color: #fff !important; border-color: rgba(255,255,255,.7) !important; background: transparent !important; }
.dk-band .is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1) !important; }

/* Lépések */
.dk-steps { counter-reset: dk-step; gap: 24px !important; }
.dk-step { border-top: 2px solid var(--wp--preset--color--line); padding-top: 18px; counter-increment: dk-step; }
.dk-band .dk-step { border-top-color: rgba(234, 241, 251, 0.25); }
.dk-step h3 { font-size: 1.25rem; margin: 0 0 6px; }
.dk-step h3::before {
	content: counter(dk-step);
	display: inline-grid; place-items: center;
	width: 30px; height: 30px; margin-right: 10px;
	border-radius: 999px;
	background: var(--wp--preset--color--deep); color: #fff;
	font-size: 0.9375rem; vertical-align: 2px;
}
.dk-band .dk-step h3::before { background: #fff; color: var(--wp--preset--color--deep); }
.dk-step p { margin: 0; }

/* Pipás lista */
.dk-checks { list-style: none; padding-left: 0; }
.dk-checks li { position: relative; padding-left: 30px; margin-bottom: 8px; }
.dk-checks li::before {
	content: ""; position: absolute; left: 0; top: 0.3em;
	width: 18px; height: 18px; border-radius: 999px;
	background: var(--wp--preset--color--deep) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 12px no-repeat;
}
.dk-checks.is-two-col { columns: 2; column-gap: 32px; }
.dk-checks.is-two-col li { break-inside: avoid; }
@media (max-width: 600px) { .dk-checks.is-two-col { columns: 1; } }

/* Vélemények */
.dk-review { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: var(--dk-radius); padding: 22px 24px; }
.dk-review p { margin: 0; }

/* GYIK */
.dk-faq .wp-block-details summary { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.1875rem; cursor: pointer; list-style: none; position: relative; padding-right: 36px; }
.dk-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.dk-faq .wp-block-details summary::after { content: "+"; position: absolute; right: 4px; top: -2px; font-size: 1.6rem; font-weight: 400; color: var(--wp--preset--color--deep); }
.dk-faq .wp-block-details[open] summary::after { content: "−"; }
.dk-faq .wp-block-details > *:not(summary) { margin-top: 10px; color: var(--wp--preset--color--muted); }

/* CTA doboz */
.dk-cta { border-radius: 20px; }

/* Galéria */
.dk-gallery.wp-block-gallery img { border-radius: 10px; aspect-ratio: 3 / 4; object-fit: cover; }

/* Aloldal fejléc (breadcrumb jellegű kis címke) */
.dk-kicker { font-size: 0.875rem !important; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--deep); }

/* ---------- Űrlap ---------- */
.dk-form { display: grid; gap: 14px; }
.dk-form label { font-weight: 600; font-size: 0.9375rem; display: block; margin-bottom: 4px; }
.dk-form input[type=text], .dk-form input[type=tel], .dk-form input[type=email], .dk-form textarea, .dk-form select {
	width: 100%; box-sizing: border-box;
	font: inherit; color: var(--wp--preset--color--ink);
	background: #fff;
	border: 1px solid #B9C4D2; border-radius: 10px;
	padding: 12px 14px;
}
.dk-form textarea { min-height: 130px; resize: vertical; }
.dk-form input:focus, .dk-form textarea:focus, .dk-form select:focus { outline: 2px solid var(--wp--preset--color--deep); outline-offset: 1px; border-color: var(--wp--preset--color--deep); }
.dk-form .dk-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 600px) { .dk-form .dk-row { grid-template-columns: 1fr; } }
.dk-form .dk-consent { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.dk-form .dk-consent input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.dk-form button {
	font: 700 1.0625rem/1.2 var(--wp--preset--font-family--body);
	background: var(--wp--preset--color--accent); color: #fff;
	border: 0; border-radius: 999px; padding: 0.95rem 1.6rem; cursor: pointer; justify-self: start;
}
.dk-form button:hover { background: #A93812; }
.dk-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.dk-notice { border-radius: 10px; padding: 14px 16px; font-weight: 600; }
.dk-notice.is-ok { background: #E3F4EA; color: #14532D; }
.dk-notice.is-error { background: var(--wp--preset--color--accent-soft); color: #7A2A10; }

/* Süti-sáv */
.dk-consent {
	position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 80;
	max-width: 560px; margin-left: auto;
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--line); border-radius: 14px;
	box-shadow: 0 12px 36px rgba(19, 32, 51, 0.18);
	padding: 18px 20px; font-size: 0.9375rem; line-height: 1.5;
}
.dk-consent[hidden] { display: none; }
.dk-consent p { margin: 0 0 12px; }
.dk-consent-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.dk-consent button { font: 700 0.9375rem/1.2 var(--wp--preset--font-family--body); border-radius: 999px; padding: 0.7rem 1.2rem; cursor: pointer; }
.dk-consent-yes { background: var(--wp--preset--color--deep); color: #fff; border: 2px solid var(--wp--preset--color--deep); }
.dk-consent-no { background: transparent; color: var(--wp--preset--color--deep); border: 2px solid var(--wp--preset--color--deep); }
@media (max-width: 781px) { .dk-consent { bottom: 88px; left: 10px; right: 10px; } }

/* Lábléc */
.dk-footer h2 { margin-top: 0; }
.dk-footer-list { list-style: none; padding-left: 0; }
.dk-footer-list li { margin-bottom: 6px; }
.dk-footer a { text-decoration: none; }
.dk-footer a:hover { text-decoration: underline; color: #fff; }
.dk-footer-sep { border-color: rgba(234, 241, 251, 0.2) !important; opacity: 1; }
.dk-footer-bottom { color: rgba(234, 241, 251, 0.75); }
.dk-footer .dk-logo { font-size: 1.75rem; }
