/* =========================================================================
   DK Κατάλογος Επιχειρήσεων – front-end (scoped under .dkk)
   ========================================================================= */

.dkk {
	--dkk-accent: #0e7c66;
	--dkk-accent2: #ff6b35;
	--dkk-ink: #0f172a;
	--dkk-text: #334155;
	--dkk-muted: #64748b;
	--dkk-line: #e6e8ec;
	--dkk-soft: #f4f6f8;
	--dkk-card: #fff;
	--dkk-ok: #15803d;
	--dkk-warn: #b45309;
	--dkk-bad: #dc2626;
	--dkk-star: #f59e0b;
	--dkk-r: 18px;
	--dkk-r-sm: 12px;
	--dkk-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -12px rgba(15, 23, 42, .14);
	--dkk-shadow-hover: 0 2px 6px rgba(15, 23, 42, .06), 0 24px 44px -20px rgba(15, 23, 42, .3);
	--dkk-ring: 0 0 0 4px color-mix(in srgb, var(--dkk-accent) 18%, transparent);
	color: var(--dkk-text);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
.dkk *, .dkk *::before, .dkk *::after { box-sizing: border-box; }
.dkk [hidden] { display: none !important; }
.dkk img { max-width: 100%; height: auto; display: block; }
.dkk a { color: inherit; text-decoration: none; }
.dkk h1, .dkk h2, .dkk h3, .dkk h4 { color: var(--dkk-ink); letter-spacing: -.02em; text-transform: none; margin: 0; font-weight: 700; line-height: 1.2; }
.dkk p { margin: 0 0 .6em; }
.dkk ul, .dkk ol { margin: 0; padding: 0; list-style: none; }
.dkk table { margin: 0; border: 0; }
.dkk th, .dkk td { border: 0; padding: 0; }
.dkk .ti { line-height: 1; vertical-align: -0.1em; }
.dkk-main { padding: 20px 0 72px; }
.dkk-container { max-width: 1280px; margin: 0 auto; padding: 0 16px; }
.dkk-muted { color: var(--dkk-muted); }
.dkk-small { font-size: 13px; }
.dkk-center { text-align: center; }
.dkk-big-ico { font-size: 40px; color: var(--dkk-accent); display: block; margin: 0 auto 10px; }

/* ---------- Controls ---------- */
.dkk input[type=text], .dkk input[type=email], .dkk input[type=tel], .dkk input[type=number], .dkk input[type=search],
.dkk input[type=url], .dkk input[type=password], .dkk input[type=date], .dkk input[type=time], .dkk select, .dkk textarea {
	width: 100%; min-height: 46px; height: auto; margin: 0; padding: 11px 14px;
	font: inherit; font-size: 15px; color: var(--dkk-ink); background: #fff;
	border: 1.5px solid var(--dkk-line) !important; border-radius: var(--dkk-r-sm) !important;
	box-shadow: none !important; outline: none !important; transition: border-color .15s, box-shadow .15s;
	-webkit-appearance: none; appearance: none;
}
.dkk select { padding-right: 38px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 14px; }
.dkk textarea { min-height: 110px; resize: vertical; line-height: 1.6; }
.dkk input:focus, .dkk select:focus, .dkk textarea:focus { border-color: var(--dkk-accent) !important; box-shadow: var(--dkk-ring) !important; }
.dkk input::placeholder, .dkk textarea::placeholder { color: #94a3b8; }
.dkk .is-invalid { border-color: var(--dkk-bad) !important; box-shadow: 0 0 0 4px rgba(220, 38, 38, .12) !important; }
.dkk label { font-weight: 600; color: var(--dkk-ink); font-size: 14px; }
.dkk fieldset { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; gap: 12px; }
.dkk fieldset[disabled] { opacity: .5; pointer-events: none; }

/* ---------- Buttons (hard reset vs. theme) ---------- */
.dkk .dkk-btn, .dkk button.dkk-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; margin: 0; padding: 10px 20px;
	font: inherit; font-size: 15px; font-weight: 700; line-height: 1.2; text-transform: none; letter-spacing: 0; white-space: nowrap; text-decoration: none;
	color: var(--dkk-ink) !important; background: #fff !important; border: 1.5px solid var(--dkk-line) !important; border-radius: 999px !important;
	cursor: pointer; box-shadow: none; transition: transform .12s, background .15s, border-color .15s, color .15s;
}
.dkk .dkk-btn:hover { background: var(--dkk-soft) !important; border-color: #cbd5e1 !important; }
.dkk .dkk-btn:active { transform: scale(.98); }
.dkk .dkk-btn:focus-visible { outline: none; box-shadow: var(--dkk-ring); }
.dkk .dkk-btn-primary, .dkk button.dkk-btn-primary { background: var(--dkk-accent) !important; border-color: var(--dkk-accent) !important; color: #fff !important; }
.dkk .dkk-btn-primary:hover { background: color-mix(in srgb, var(--dkk-accent) 86%, #000) !important; }
.dkk .dkk-btn-accent2, .dkk button.dkk-btn-accent2 { background: var(--dkk-accent2) !important; border-color: var(--dkk-accent2) !important; color: #fff !important; }
.dkk .dkk-btn-light { background: #fff !important; border-color: #fff !important; }
.dkk .dkk-btn-ghost { border-color: transparent !important; background: transparent !important; }
.dkk .dkk-btn-lg { min-height: 54px; padding: 14px 28px; font-size: 16px; }
.dkk .dkk-btn-sm { min-height: 36px; padding: 7px 14px; font-size: 13px; }
.dkk .dkk-btn-block { width: 100%; }
.dkk .dkk-btn.is-loading { pointer-events: none; opacity: .65; }
.dkk .dkk-btn.is-loading .ti { animation: dkk-spin .8s linear infinite; }
.dkk button.dkk-link { background: none !important; border: 0 !important; padding: 0; margin: 0; min-height: 0; color: var(--dkk-accent) !important; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.dkk button.dkk-link:hover { text-decoration: underline; }
@keyframes dkk-spin { to { transform: rotate(360deg); } }
@keyframes dkk-pop { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---------- Generic ---------- */
.dkk-box { background: var(--dkk-card); border: 1px solid var(--dkk-line); border-radius: var(--dkk-r); padding: 20px; box-shadow: var(--dkk-shadow); }
.dkk-box + .dkk-box { margin-top: 14px; }
.dkk-box h3 { font-size: 16px; display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.dkk-notice { padding: 12px 16px; border-radius: var(--dkk-r-sm); font-weight: 600; margin: 0 0 16px; }
.dkk-notice-ok { background: #ecfdf5; color: #065f46; }
.dkk-notice-bad { background: #fef2f2; color: #991b1b; }
.dkk-notice-wait, .dkk-notice-off { background: var(--dkk-soft); }
.dkk-pill-new { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border-radius: 999px; background: color-mix(in srgb, var(--dkk-accent) 10%, #fff); color: var(--dkk-accent); font-size: 13px; font-weight: 600; }
.dkk-pill-new b { background: var(--dkk-accent); color: #fff; padding: 3px 10px; border-radius: 999px; font-size: 12px; }
.dkk-form-head .dkk-pill-new { padding: 5px 14px; }
.dkk-sec-h { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.dkk-sec-h h2 { font-size: clamp(20px, 2.4vw, 26px); display: flex; align-items: center; gap: 8px; }
.dkk-more { font-weight: 700; color: var(--dkk-accent) !important; white-space: nowrap; font-size: 14px; }
.dkk-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; padding: 5px 12px; border-radius: 999px; background: color-mix(in srgb, var(--dkk-accent) 10%, #fff); color: var(--dkk-accent) !important; }
.dkk-chip-premium { background: color-mix(in srgb, var(--dkk-accent2) 14%, #fff); color: color-mix(in srgb, var(--dkk-accent2) 80%, #000) !important; }
.dkk-chip-soft { background: var(--dkk-soft); color: var(--dkk-text) !important; }
.dkk-verified, .dkk-verified-badge .ti { color: #1d9bf0; }
.dkk-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; padding: 4px 10px; border-radius: 999px; font-style: normal; }
.dkk-badge-premium { background: var(--dkk-accent2); color: #fff; }

/* Stars */
.dkk-stars {
	--r: 0; --s: 15px;
	display: inline-block; width: calc(var(--s) * 5); height: var(--s); vertical-align: -2px;
	background: linear-gradient(90deg, var(--dkk-star) calc(var(--r) / 5 * 100%), #d6d9de 0);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.94 6.1 6.56.75-4.87 4.53 1.3 6.62L12 17.2l-5.93 3.3 1.3-6.62L2.5 9.35l6.56-.75z'/%3E%3C/svg%3E") 0 0 / var(--s) var(--s) repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.94 6.1 6.56.75-4.87 4.53 1.3 6.62L12 17.2l-5.93 3.3 1.3-6.62L2.5 9.35l6.56-.75z'/%3E%3C/svg%3E") 0 0 / var(--s) var(--s) repeat-x;
}
.dkk-stars-lg { --s: 22px; }

/* Open status */
.dkk-open { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--dkk-muted); }
.dkk-open:empty { display: none; }
.dkk-open::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.dkk-open.is-open { color: var(--dkk-ok); }
.dkk-open.is-open::before { box-shadow: 0 0 0 0 color-mix(in srgb, var(--dkk-ok) 60%, transparent); animation: dkk-pulse 2s infinite; }
.dkk-open.is-soon { color: var(--dkk-warn); }
.dkk-open.is-closed { color: var(--dkk-bad); }
@keyframes dkk-pulse { 70% { box-shadow: 0 0 0 6px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }

/* ---------- Breadcrumbs ---------- */
.dkk-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; color: var(--dkk-muted); margin-bottom: 14px; }
.dkk-crumbs a:hover { color: var(--dkk-accent); }
.dkk-crumbs i { opacity: .45; font-style: normal; }
.dkk-crumbs span { color: var(--dkk-ink); font-weight: 600; }

/* ---------- Hero & search ---------- */
.dkk-hero {
	position: relative; padding: 40px 40px 32px; margin-bottom: 18px; border-radius: 28px; border: 1px solid var(--dkk-line);
	background:
		radial-gradient(900px 300px at 100% -10%, color-mix(in srgb, var(--dkk-accent2) 16%, transparent), transparent 60%),
		radial-gradient(700px 320px at -10% 120%, color-mix(in srgb, var(--dkk-accent) 18%, transparent), transparent 60%),
		linear-gradient(180deg, #fbfcfd, #f3f6f8);
}
.dkk-hero h1 { font-size: clamp(28px, 4.4vw, 50px); line-height: 1.06; margin: 14px 0 12px; max-width: 900px; }
.dkk-hero h1 em, .dkk-form-head h2 em {
	font-style: italic; font-family: Georgia, 'Times New Roman', serif; font-weight: 600; color: var(--dkk-accent);
	background: linear-gradient(transparent 62%, color-mix(in srgb, var(--dkk-accent2) 28%, transparent) 62%); padding: 0 4px;
}
.dkk-hero-sub { font-size: 17px; color: var(--dkk-muted); max-width: 680px; margin-bottom: 22px !important; }
.dkk-search {
	position: relative; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto auto; gap: 6px; align-items: center;
	background: #fff; padding: 6px; border-radius: 999px; border: 1px solid var(--dkk-line); box-shadow: 0 12px 32px -14px rgba(15, 23, 42, .28); margin-top: 6px;
}
.dkk-search label { position: relative; display: flex; align-items: center; margin: 0; font-weight: 400; }
.dkk-search label > .ti { position: absolute; left: 16px; font-size: 19px; color: var(--dkk-muted); pointer-events: none; z-index: 1; }
.dkk .dkk-search input, .dkk .dkk-search select { border: 0 !important; border-radius: 999px !important; padding-left: 44px; min-height: 50px; background-color: transparent; box-shadow: none !important; }
.dkk .dkk-search input:focus, .dkk .dkk-search select:focus { background-color: var(--dkk-soft); }
.dkk-search .dkk-search-area { border-left: 1px solid var(--dkk-line); }
.dkk .dkk-search .dkk-btn { min-height: 50px; padding: 0 26px; }
.dkk button.dkk-near { width: 50px; height: 50px; min-height: 0; padding: 0; margin: 0; border-radius: 50% !important; border: 0 !important; background: var(--dkk-soft) !important; color: var(--dkk-accent) !important; font-size: 21px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.dkk button.dkk-near:hover, .dkk button.dkk-near.is-on { background: color-mix(in srgb, var(--dkk-accent) 14%, #fff) !important; }
.dkk-suggest { position: absolute; left: 6px; right: 6px; top: calc(100% + 6px); z-index: 50; background: #fff; border: 1px solid var(--dkk-line); border-radius: 18px; box-shadow: var(--dkk-shadow-hover); padding: 6px; max-height: 360px; overflow: auto; animation: dkk-pop .15s ease; }
.dkk-suggest a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; font-weight: 600; color: var(--dkk-ink); }
.dkk-suggest a:hover, .dkk-suggest a.is-active { background: var(--dkk-soft); }
.dkk-suggest a .ti { color: var(--dkk-accent); font-size: 18px; }
.dkk-suggest small { margin-left: auto; color: var(--dkk-muted); font-weight: 500; }

/* ---------- Pills & filters ---------- */
.dkk-pills { display: flex; gap: 8px; overflow-x: auto; padding: 4px 2px 10px; scrollbar-width: none; }
.dkk-pills::-webkit-scrollbar { display: none; }
.dkk-pill { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px; border: 1.5px solid var(--dkk-line); background: #fff; font-size: 14px; font-weight: 600; color: var(--dkk-ink) !important; transition: all .15s; }
.dkk-pill .ti { font-size: 18px; color: var(--dkk-accent); }
.dkk-pill small { font-size: 11px; color: var(--dkk-muted); background: var(--dkk-soft); padding: 1px 7px; border-radius: 999px; font-weight: 700; }
.dkk-pill:hover { border-color: var(--dkk-accent); transform: translateY(-1px); }
.dkk-pill.is-active { background: var(--dkk-ink); border-color: var(--dkk-ink); color: #fff !important; }
.dkk-pill.is-active .ti { color: #fff; }
.dkk-pill.is-active small { background: rgba(255, 255, 255, .16); color: #fff; }

.dkk-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 2px 0 18px; }
.dkk-fchip { margin: 0; cursor: pointer; }
.dkk-fchip input { position: absolute; opacity: 0; pointer-events: none; }
.dkk-fchip span { display: inline-flex; align-items: center; gap: 6px; padding: 7px 13px; border-radius: 999px; border: 1.5px solid var(--dkk-line); background: #fff; font-size: 13px; font-weight: 600; color: var(--dkk-text); transition: all .15s; white-space: nowrap; }
.dkk-fchip span:hover { border-color: #cbd5e1; }
.dkk-fchip input:checked + span { background: color-mix(in srgb, var(--dkk-accent) 10%, #fff); border-color: var(--dkk-accent); color: var(--dkk-accent); }
.dkk-fchip input:focus-visible + span { box-shadow: var(--dkk-ring); }
.dkk-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dkk-ok); display: inline-block; }
.dkk-fsel { position: relative; display: inline-flex; align-items: center; margin: 0 0 0 auto; font-weight: 500; }
.dkk-fsel .ti { position: absolute; left: 12px; color: var(--dkk-muted); pointer-events: none; }
.dkk .dkk-fsel select { min-height: 36px; padding: 6px 34px 6px 34px; font-size: 13px; font-weight: 600; border-radius: 999px !important; width: auto; }
.dkk-fclear { font-size: 13px; font-weight: 600; color: var(--dkk-bad) !important; display: inline-flex; align-items: center; gap: 4px; }

/* ---------- Results: list + map ---------- */
.dkk-results { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 42%); gap: 22px; align-items: start; }
.dkk-results.is-empty { grid-template-columns: 1fr; }
.dkk-results.is-empty .dkk-results-map { display: none; }
.dkk-results-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; color: var(--dkk-muted); }
.dkk-results-head b { color: var(--dkk-ink); font-size: 18px; }
.dkk .dkk-map-toggle { display: none; }
.dkk-results-map { position: sticky; top: 90px; }
.dkk-map { height: calc(100vh - 130px); min-height: 420px; max-height: 820px; border-radius: 22px; overflow: hidden; background: #e8eef0; border: 1px solid var(--dkk-line); z-index: 0; }
.dkk-map-mini { height: 190px; min-height: 0; border-radius: 14px; margin-bottom: 14px; }
.dkk-map-picker { height: 300px; min-height: 0; border-radius: 16px; }

.dkk-list { display: grid; gap: 14px; }
.dkk-list-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.dkk-card { position: relative; background: var(--dkk-card); border: 1px solid var(--dkk-line); border-radius: var(--dkk-r); overflow: hidden; box-shadow: var(--dkk-shadow); transition: transform .22s cubic-bezier(.2, .8, .2, 1), box-shadow .22s, border-color .2s; animation: dkk-pop .3s ease both; }
.dkk-card:hover, .dkk-card.is-hover { transform: translateY(-3px); box-shadow: var(--dkk-shadow-hover); border-color: color-mix(in srgb, var(--dkk-accent) 35%, var(--dkk-line)); }
.dkk-card-link { position: absolute; inset: 0; z-index: 2; }
.dkk-card-row { display: grid; grid-template-columns: 200px minmax(0, 1fr); }
.dkk-card-img { position: relative; background: var(--dkk-soft); overflow: hidden; }
.dkk-card-row .dkk-card-img { min-height: 170px; }
.dkk-card-grid .dkk-card-img { aspect-ratio: 16 / 10; }
.dkk .dkk-card-img img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
.dkk-card:hover .dkk-card-img img { transform: scale(1.05); }
.dkk-card-ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 44px; color: color-mix(in srgb, var(--dkk-accent) 55%, #fff); background: linear-gradient(135deg, color-mix(in srgb, var(--dkk-accent) 9%, #fff), var(--dkk-soft)); }
.dkk-card-img .dkk-badge { position: absolute; top: 10px; left: 10px; z-index: 3; box-shadow: 0 2px 8px rgba(0, 0, 0, .15); }
.dkk button.dkk-fav { position: absolute; top: 10px; right: 10px; z-index: 4; width: 36px; height: 36px; min-height: 0; padding: 0; margin: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50% !important; border: 0 !important; background: rgba(255, 255, 255, .94) !important; color: var(--dkk-ink) !important; font-size: 18px; cursor: pointer; box-shadow: 0 2px 10px rgba(0, 0, 0, .14); transition: transform .15s; }
.dkk button.dkk-fav:hover { transform: scale(1.08); }
.dkk button.dkk-fav.is-on { color: #e11d48 !important; animation: dkk-beat .35s ease; }
@keyframes dkk-beat { 50% { transform: scale(1.25); } }
.dkk-card-body { padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.dkk-card-top { display: flex; align-items: center; gap: 10px; }
.dkk .dkk-card-logo { width: 40px; height: 40px; border-radius: 10px; object-fit: cover; border: 1px solid var(--dkk-line); flex: 0 0 auto; }
.dkk .dkk-card-title { font-size: 17px; line-height: 1.25; margin: 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dkk-card-title .ti { font-size: 17px; }
.dkk-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 13px; color: var(--dkk-muted); }
.dkk-rate { display: inline-flex; align-items: center; gap: 6px; }
.dkk-rate b { color: var(--dkk-ink); font-size: 14px; }
.dkk-rate small { color: var(--dkk-muted); }
.dkk-rate-new { font-size: 12px; font-weight: 700; color: var(--dkk-accent); background: color-mix(in srgb, var(--dkk-accent) 9%, #fff); padding: 2px 8px; border-radius: 999px; }
.dkk-card-tag { font-size: 14px; color: var(--dkk-text); margin: 0 !important; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.dkk-card-info { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--dkk-muted); }
.dkk-addr { display: inline-flex; gap: 4px; align-items: center; min-width: 0; }
.dkk-dist { font-weight: 700; color: var(--dkk-ink); }
.dkk-dist:empty { display: none; }
.dkk-card-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 6px; position: relative; z-index: 3; }
.dkk-card.is-premium { border-color: color-mix(in srgb, var(--dkk-accent2) 50%, var(--dkk-line)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--dkk-accent2) 25%, transparent), var(--dkk-shadow); }
.dkk-card.is-premium::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--dkk-accent2), #ffd166); z-index: 3; }

/* Map markers */
.dkk-pin div { width: 36px; height: 36px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--dkk-accent, #0e7c66); border: 3px solid #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, .3); display: flex; align-items: center; justify-content: center; transition: transform .15s; }
.dkk-pin div i { transform: rotate(45deg); color: #fff; font-size: 16px; }
.dkk-pin.is-premium div { background: var(--dkk-accent2, #ff6b35); }
.dkk-pin.is-active div { transform: rotate(-45deg) scale(1.25); background: var(--dkk-ink, #0f172a); }
.dkk-me { border-radius: 50%; background: #2563eb; border: 3px solid #fff; box-shadow: 0 0 0 6px rgba(37, 99, 235, .25); }
.dkk .leaflet-popup-content-wrapper { border-radius: 14px; box-shadow: var(--dkk-shadow-hover); }
.dkk .leaflet-popup-content { margin: 12px 14px; font: inherit; font-size: 13px; }
.dkk-pop b { display: block; font-size: 15px; color: var(--dkk-ink); margin-bottom: 2px; }
.dkk-pop a { color: var(--dkk-accent) !important; font-weight: 700; }
.dkk .leaflet-container a.leaflet-popup-close-button { top: 6px; right: 6px; }
.dkk .leaflet-control-attribution { font-size: 10px; }

/* ---------- Pagination, empty, CTA ---------- */
.dkk-pagination { margin: 26px 0 0; }
.dkk-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.dkk-pagination li { margin: 0 !important; }
.dkk-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; border-radius: 999px; border: 1.5px solid var(--dkk-line); background: #fff; font-weight: 700; color: var(--dkk-ink); }
.dkk-pagination .page-numbers.current { background: var(--dkk-ink); border-color: var(--dkk-ink); color: #fff; }
.dkk-empty { text-align: center; padding: 52px 20px; border: 2px dashed var(--dkk-line); border-radius: var(--dkk-r); background: #fff; }
.dkk-empty h3 { margin-bottom: 6px; }
.dkk-empty .dkk-btn { margin: 8px 4px 0; }
.dkk-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 44px; padding: 34px 36px; border-radius: 26px; color: #fff; background: radial-gradient(500px 220px at 90% 0%, color-mix(in srgb, var(--dkk-accent2) 55%, transparent), transparent 70%), var(--dkk-accent); }
.dkk-cta h2 { color: #fff; font-size: clamp(22px, 3vw, 30px); margin-bottom: 6px; }
.dkk-cta p { margin: 0; opacity: .9; }

/* ---------- SEO block ---------- */
.dkk-seo { margin-top: 44px; display: grid; gap: 24px; }
.dkk-seo-intro { max-width: 860px; font-size: 16px; line-height: 1.75; }
.dkk-faq h2 { font-size: 22px; margin-bottom: 12px; }
.dkk-faq details { background: #fff; border: 1px solid var(--dkk-line); border-radius: 14px; margin-bottom: 8px; overflow: hidden; }
.dkk-faq summary { cursor: pointer; padding: 14px 44px 14px 18px; font-weight: 700; color: var(--dkk-ink); list-style: none; position: relative; }
.dkk-faq summary::-webkit-details-marker { display: none; }
.dkk-faq summary::after { content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: var(--dkk-accent); transition: transform .2s; }
.dkk-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.dkk-faq details > div { padding: 0 18px 14px; }
.dkk-faq details a { color: var(--dkk-accent); font-weight: 600; }
.dkk-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.dkk-links h3 { font-size: 16px; margin-bottom: 10px; }
.dkk-links nav { display: flex; flex-wrap: wrap; gap: 6px; }
.dkk-links a { font-size: 13px; padding: 6px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--dkk-line); font-weight: 600; }
.dkk-links a:hover { border-color: var(--dkk-accent); color: var(--dkk-accent); }
.dkk-links small { color: var(--dkk-muted); }

/* ---------- Category grid ---------- */
.dkk-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; margin-top: 18px; }
.dkk-cat-card { background: #fff; border: 1px solid var(--dkk-line); border-radius: var(--dkk-r); padding: 18px; transition: all .2s; box-shadow: var(--dkk-shadow); }
.dkk-cat-card:hover { border-color: var(--dkk-accent); transform: translateY(-3px); box-shadow: var(--dkk-shadow-hover); }
.dkk-cat-main { display: flex; flex-direction: column; gap: 4px; }
.dkk-cat-ico { width: 48px; height: 48px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 25px; color: var(--dkk-accent); background: color-mix(in srgb, var(--dkk-accent) 10%, #fff); margin-bottom: 6px; transition: all .2s; }
.dkk-cat-card:hover .dkk-cat-ico { background: var(--dkk-accent); color: #fff; }
.dkk-cat-main b { color: var(--dkk-ink); font-size: 16px; }
.dkk-cat-main small { color: var(--dkk-muted); font-size: 12px; }
.dkk-cat-card nav { display: flex; flex-wrap: wrap; gap: 4px 10px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--dkk-line); }
.dkk-cat-card nav a { font-size: 13px; color: var(--dkk-muted); }
.dkk-cat-card nav a:hover { color: var(--dkk-accent); }
.dkk-sc-dir, .dkk-sc-cats, .dkk-sc-biz, .dkk-sc-search { margin-bottom: 32px; }

/* ---------- Single ---------- */
.dkk-profile { background: #fff; border: 1px solid var(--dkk-line); border-radius: 26px; overflow: hidden; box-shadow: var(--dkk-shadow); margin-bottom: 14px; }
.dkk-cover { position: relative; height: clamp(170px, 26vw, 320px); background: linear-gradient(135deg, var(--dkk-accent), color-mix(in srgb, var(--dkk-accent) 45%, #0f172a)) center / cover no-repeat; }
.dkk-single.is-premium .dkk-cover { background-color: var(--dkk-accent2); }
.dkk-cover-ico { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 90px; color: rgba(255, 255, 255, .25); }
.dkk-cover .dkk-fav { top: 16px; right: 16px; width: 44px; height: 44px; font-size: 21px; }
.dkk-profile-body { display: flex; gap: 22px; padding: 0 28px; align-items: flex-end; margin-top: -54px; position: relative; }
.dkk-logo { flex: 0 0 auto; width: 120px; height: 120px; border-radius: 26px; background: #fff; border: 4px solid #fff; box-shadow: 0 10px 30px -10px rgba(15, 23, 42, .35); display: flex; align-items: center; justify-content: center; font-size: 36px; font-weight: 800; color: var(--dkk-accent); overflow: hidden; }
.dkk .dkk-logo img { width: 100%; height: 100% !important; object-fit: cover; }
.dkk-profile-main { flex: 1; min-width: 0; padding-top: 64px; }
.dkk-profile-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.dkk .dkk-name { font-size: clamp(26px, 3.6vw, 40px); line-height: 1.1; margin-bottom: 6px; overflow-wrap: anywhere; }
.dkk-verified-badge .ti { font-size: .75em; vertical-align: 0; }
.dkk-tagline { font-size: 17px; color: var(--dkk-muted); margin: 0 0 8px !important; }
.dkk-profile-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: 14px; color: var(--dkk-muted); }
.dkk-profile-meta .dkk-rate { color: var(--dkk-accent); font-weight: 700; }
.dkk-profile-meta .dkk-rate b { font-size: 16px; }
.dkk-profile-meta > span { display: inline-flex; align-items: center; gap: 4px; }
.dkk-actions { display: flex; flex-wrap: wrap; gap: 10px; padding: 20px 28px 24px; }
.dkk .dkk-act, .dkk button.dkk-act { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 92px; min-height: 66px; padding: 10px 14px; margin: 0; border-radius: 16px !important; border: 1.5px solid var(--dkk-line) !important; background: #fff !important; color: var(--dkk-ink) !important; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .15s; }
.dkk .dkk-act .ti { font-size: 22px; color: var(--dkk-accent); }
.dkk .dkk-act:hover { border-color: var(--dkk-accent) !important; transform: translateY(-2px); }
.dkk .dkk-act-primary { background: var(--dkk-accent) !important; border-color: var(--dkk-accent) !important; color: #fff !important; }
.dkk .dkk-act-primary .ti { color: #fff; }
.dkk .dkk-act-wa .ti { color: #25d366; }

.dkk-secnav { position: sticky; top: 0; z-index: 20; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); border: 1px solid var(--dkk-line); border-radius: 999px; padding: 5px; margin: 0 0 18px; box-shadow: var(--dkk-shadow); }
.dkk-secnav::-webkit-scrollbar { display: none; }
.dkk-secnav a { flex: 0 0 auto; padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--dkk-muted); transition: all .15s; }
.dkk-secnav a:hover { color: var(--dkk-ink); }
.dkk-secnav a.is-active { background: var(--dkk-ink); color: #fff; }

.dkk-single-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 22px; align-items: start; }
.dkk-single-side { position: sticky; top: 76px; }
.dkk-sec { background: #fff; border: 1px solid var(--dkk-line); border-radius: var(--dkk-r); padding: 24px; box-shadow: var(--dkk-shadow); margin-bottom: 14px; scroll-margin-top: 80px; }
.dkk-sec > h2 { font-size: 21px; margin-bottom: 14px; }
.dkk-about { font-size: 16px; line-height: 1.75; overflow-wrap: anywhere; }
.dkk-feats { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 6px; }
.dkk-feats li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 12px; background: var(--dkk-soft); font-size: 13px; font-weight: 600; color: var(--dkk-ink); }
.dkk-feats .ti { color: var(--dkk-accent); font-size: 17px; }
.dkk-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 130px; gap: 8px; }
.dkk-gitem { position: relative; border-radius: 12px; overflow: hidden; background: var(--dkk-soft); }
.dkk-gitem.is-big { grid-column: span 2; grid-row: span 2; }
.dkk .dkk-gitem img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .4s; }
.dkk-gitem:hover img { transform: scale(1.06); }
.dkk-video { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; cursor: pointer; }
.dkk .dkk-video img { width: 100%; height: 100% !important; object-fit: cover; opacity: .85; }
.dkk .dkk-video button { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 72px; height: 72px; border-radius: 50% !important; border: 0 !important; background: #fff !important; color: #e11d48 !important; font-size: 30px; cursor: pointer; }
.dkk-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dkk-offers { display: grid; gap: 10px; }
.dkk-offer { display: flex; gap: 14px; padding: 16px; border-radius: 16px; border: 2px dashed color-mix(in srgb, var(--dkk-accent2) 50%, transparent); background: color-mix(in srgb, var(--dkk-accent2) 6%, #fff); }
.dkk-offer > .ti { font-size: 28px; color: var(--dkk-accent2); }
.dkk-offer b { color: var(--dkk-ink); font-size: 16px; }
.dkk-offer p { margin: 2px 0 !important; }
.dkk-offer small { color: var(--dkk-muted); font-weight: 600; }

/* Reviews */
.dkk-rev-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--dkk-line); }
.dkk-rev-score { text-align: center; }
.dkk-rev-score b { display: block; font-size: 48px; line-height: 1; color: var(--dkk-ink); letter-spacing: -.03em; margin-bottom: 6px; }
.dkk-rev-score small { display: block; color: var(--dkk-muted); font-size: 12px; margin-top: 4px; }
.dkk-rev-bars { display: grid; gap: 5px; }
.dkk-rev-bars div { display: grid; grid-template-columns: 12px minmax(0, 1fr) 26px; align-items: center; gap: 8px; font-size: 12px; color: var(--dkk-muted); }
.dkk-rev-bars i { height: 8px; border-radius: 99px; background: var(--dkk-soft); position: relative; overflow: hidden; }
.dkk-rev-bars i::after { content: ""; position: absolute; inset: 0; width: var(--w); background: var(--dkk-star); border-radius: 99px; }
.dkk-rev-cta { text-align: center; }
.dkk-rev-cta p { font-size: 13px; color: var(--dkk-muted); max-width: 180px; }
.dkk-rev-form { display: grid; gap: 10px; padding: 18px 0; border-bottom: 1px solid var(--dkk-line); animation: dkk-pop .2s ease; }
.dkk-rate-input { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: 2px; }
.dkk-rate-input input { position: absolute; opacity: 0; pointer-events: none; }
.dkk-rate-input label { font-size: 36px; line-height: 1; color: #d6d9de; cursor: pointer; transition: color .1s, transform .1s; font-weight: 400; }
.dkk-rate-input label:hover, .dkk-rate-input label:hover ~ label, .dkk-rate-input input:checked ~ label { color: var(--dkk-star); }
.dkk-rate-input label:hover { transform: scale(1.15); }
.dkk-rate-input input:focus-visible + label { outline: 2px solid var(--dkk-accent); border-radius: 4px; }
.dkk-rate-hint { order: -1; margin-left: 12px; font-size: 13px; color: var(--dkk-muted); font-weight: 600; }
.dkk-rate-input.is-invalid { box-shadow: none !important; }
.dkk-rate-input.is-invalid .dkk-rate-hint { color: var(--dkk-bad); }
.dkk-rev-list { display: grid; }
.dkk-rev { padding: 18px 0; border-bottom: 1px solid var(--dkk-line); }
.dkk-rev:last-child { border-bottom: 0; }
.dkk-rev header { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.dkk-rev header > div { flex: 1; min-width: 0; }
.dkk-rev header b { display: block; color: var(--dkk-ink); }
.dkk-rev header small { color: var(--dkk-muted); font-size: 12px; }
.dkk-avatar { width: 42px; height: 42px; border-radius: 50%; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--dkk-accent), var(--dkk-accent2)); font-size: 15px; }
.dkk-rev-text { overflow-wrap: anywhere; }
.dkk-rev-reply { margin: 10px 0 6px 20px; padding: 12px 14px; border-left: 3px solid var(--dkk-accent); background: var(--dkk-soft); border-radius: 0 12px 12px 0; font-size: 14px; }
.dkk-rev-reply b { display: flex; gap: 6px; align-items: center; color: var(--dkk-accent); font-size: 13px; margin-bottom: 4px; }
.dkk-rev-reply p:last-child { margin: 0; }
.dkk button.dkk-helpful { background: none !important; border: 1px solid var(--dkk-line) !important; border-radius: 999px !important; padding: 4px 12px; margin: 0; min-height: 0; font: inherit; font-size: 12px; font-weight: 600; color: var(--dkk-muted) !important; cursor: pointer; display: inline-flex; gap: 5px; align-items: center; }
.dkk button.dkk-helpful.is-done { color: var(--dkk-accent) !important; border-color: var(--dkk-accent) !important; }
.dkk-reply-form { display: grid; gap: 8px; margin-top: 10px; }
.dkk-reply-form .dkk-btn { justify-self: start; }
.dkk-rev-for { font-size: 12px; font-weight: 700; color: var(--dkk-accent); text-transform: uppercase; letter-spacing: .04em; margin-top: 10px; }

/* Side */
.dkk-contact-list { display: grid; gap: 14px; }
.dkk-contact-list li { display: flex; gap: 12px; }
.dkk-contact-list li > .ti { font-size: 20px; color: var(--dkk-accent); margin-top: 2px; flex: 0 0 auto; }
.dkk-contact-list li > div { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.dkk-contact-list b { color: var(--dkk-ink); }
.dkk-contact-list span { color: var(--dkk-muted); font-size: 13px; }
.dkk-contact-list a { color: var(--dkk-accent); font-weight: 600; }
.dkk-contact-list a b { color: var(--dkk-accent); font-size: 17px; }
.dkk-socials { display: flex; gap: 8px; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--dkk-line); }
.dkk-socials a { width: 40px; height: 40px; border-radius: 12px; background: var(--dkk-soft); display: inline-flex; align-items: center; justify-content: center; font-size: 20px; color: var(--dkk-ink); transition: all .15s; }
.dkk-socials a:hover { background: var(--dkk-accent); color: #fff; }
.dkk-hours table { width: 100%; border-collapse: collapse; font-size: 14px; }
.dkk-hours th, .dkk-hours td { padding: 7px 4px; border-bottom: 1px dashed var(--dkk-line); text-align: left; font-weight: 500; }
.dkk-hours td { text-align: right; font-variant-numeric: tabular-nums; }
.dkk-hours tr:last-child th, .dkk-hours tr:last-child td { border-bottom: 0; }
.dkk-hours tr.is-today { font-weight: 800; color: var(--dkk-ink); }
.dkk-hours tr.is-today th, .dkk-hours tr.is-today td { font-weight: 800; }
.dkk-hours tr.is-today th::before { content: "●"; color: var(--dkk-accent); margin-right: 6px; font-size: 10px; vertical-align: 2px; }
.dkk-hours tr.is-off td { color: var(--dkk-muted); }
.dkk-hours h3 .dkk-open { margin-left: auto; font-size: 12px; }
.dkk-claim { background: linear-gradient(135deg, color-mix(in srgb, var(--dkk-accent) 7%, #fff), #fff); }
.dkk-claim-form, .dkk-report-form { display: grid; gap: 8px; margin-top: 12px; animation: dkk-pop .2s ease; }
.dkk-report { padding: 14px 20px; }
.dkk-report .dkk-link { color: var(--dkk-muted) !important; }
.dkk-related { margin-top: 36px; }

.dkk-mbar { display: none; }

.dkk-lightbox { position: fixed; inset: 0; z-index: 999999; background: rgba(2, 6, 23, .95); display: flex; align-items: center; justify-content: center; padding: 20px; animation: dkk-pop .2s ease; }
.dkk .dkk-lightbox img { max-width: 100%; max-height: 100%; height: auto !important; object-fit: contain; border-radius: 8px; }
.dkk .dkk-lightbox button { position: absolute; width: 48px; height: 48px; min-height: 0; margin: 0; padding: 0; border: 0 !important; border-radius: 50% !important; background: rgba(255, 255, 255, .14) !important; color: #fff !important; font-size: 24px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.dkk .dkk-lb-close { top: 16px; right: 16px; }
.dkk .dkk-lb-prev { left: 16px; top: 50%; }
.dkk .dkk-lb-next { right: 16px; top: 50%; }

/* ---------- Registration form ---------- */
.dkk-form-wrap { max-width: 880px; margin: 0 auto; }
.dkk-form { display: grid; gap: 16px; }
.dkk-form-head { text-align: center; padding: 6px 0; }
.dkk-form-head h2 { font-size: clamp(26px, 3.6vw, 38px); margin: 14px 0 8px; }
.dkk-steps-nav { position: sticky; top: 0; z-index: 10; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; background: rgba(255, 255, 255, .94); backdrop-filter: blur(10px); padding: 5px; border-radius: 999px; border: 1px solid var(--dkk-line); }
.dkk-steps-nav a { flex: 0 0 auto; padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--dkk-muted); }
.dkk-steps-nav a:hover, .dkk-steps-nav a.is-active { background: var(--dkk-soft); color: var(--dkk-ink); }
.dkk-step { background: #fff; border: 1px solid var(--dkk-line); border-radius: 22px; padding: 24px; box-shadow: var(--dkk-shadow); display: grid; gap: 14px; scroll-margin-top: 70px; }
.dkk-step-h { display: flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 800; color: var(--dkk-ink); flex-wrap: wrap; }
.dkk-step-h > span { width: 32px; height: 32px; border-radius: 10px; background: var(--dkk-ink); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; }
.dkk-step-h small { font-size: 13px; font-weight: 500; color: var(--dkk-muted); }
.dkk-step.is-locked { background: linear-gradient(180deg, #fff, var(--dkk-soft)); }
.dkk-lock-note { padding: 14px 16px; border-radius: 14px; background: color-mix(in srgb, var(--dkk-accent2) 8%, #fff); color: color-mix(in srgb, var(--dkk-accent2) 70%, #000); font-size: 14px; font-weight: 500; }
.dkk-field { display: grid; gap: 6px; position: relative; }
.dkk-field-end { align-content: end; }
.dkk-count { position: absolute; right: 2px; top: 2px; font-size: 12px; color: var(--dkk-muted); }
.dkk-field-err { color: var(--dkk-bad); font-size: 13px; font-weight: 600; animation: dkk-pop .2s ease; }
.dkk-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.dkk-cat-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(124px, 1fr)); gap: 8px; }
.dkk-cat-tile { margin: 0; cursor: pointer; }
.dkk-cat-tile input { position: absolute; opacity: 0; pointer-events: none; }
.dkk-cat-tile > span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; height: 100%; min-height: 88px; padding: 12px 8px; border-radius: 16px; border: 1.5px solid var(--dkk-line); background: #fff; transition: all .15s; }
.dkk-cat-tile .ti { font-size: 26px; color: var(--dkk-accent); }
.dkk-cat-tile b { font-size: 13px; line-height: 1.25; color: var(--dkk-ink); }
.dkk-cat-tile:hover > span { border-color: color-mix(in srgb, var(--dkk-accent) 50%, var(--dkk-line)); }
.dkk-cat-tile input:checked + span { background: var(--dkk-accent); border-color: var(--dkk-accent); box-shadow: 0 10px 22px -12px var(--dkk-accent); }
.dkk-cat-tile input:checked + span .ti, .dkk-cat-tile input:checked + span b { color: #fff; }
.dkk-seg { display: flex; flex-wrap: wrap; gap: 4px; background: var(--dkk-soft); padding: 4px; border-radius: 14px; }
.dkk-seg label { margin: 0; flex: 1 1 auto; }
.dkk-seg input { position: absolute; opacity: 0; pointer-events: none; }
.dkk-seg span { display: block; text-align: center; padding: 9px 12px; border-radius: 10px; font-size: 14px; font-weight: 600; color: var(--dkk-muted); cursor: pointer; transition: all .15s; white-space: nowrap; }
.dkk-seg input:checked + span { background: #fff; color: var(--dkk-ink); box-shadow: 0 2px 8px rgba(15, 23, 42, .1); }
.dkk-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dkk-chip-check { margin: 0; cursor: pointer; }
.dkk-chip-check input { position: absolute; opacity: 0; pointer-events: none; }
.dkk-chip-check span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border-radius: 999px; border: 1.5px solid var(--dkk-line); font-size: 13px; font-weight: 600; color: var(--dkk-text); transition: all .15s; }
.dkk-chip-check .ti { color: var(--dkk-accent); }
.dkk-chip-check input:checked + span { background: var(--dkk-accent); border-color: var(--dkk-accent); color: #fff; }
.dkk-chip-check input:checked + span .ti { color: #fff; }
.dkk-check { display: inline-flex; align-items: flex-start; gap: 10px; margin: 0; cursor: pointer; font-weight: 500 !important; }
.dkk .dkk-check input[type=checkbox] { width: 20px; height: 20px; min-height: 0; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--dkk-accent); }
.dkk-checks { display: flex; flex-wrap: wrap; gap: 8px; }
.dkk-check-pill { padding: 10px 14px; border: 1.5px solid var(--dkk-line); border-radius: 999px; align-items: center; }
.dkk-check .ti-brand-whatsapp { color: #25d366; }
.dkk-check .ti-brand-viber { color: #7360f2; }
.dkk-terms { padding: 0 4px; font-size: 14px; }
.dkk-terms a { color: var(--dkk-accent); text-decoration: underline; }
.dkk-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Hours editor */
.dkk-hmode { margin-bottom: 12px; }
.dkk-hours-editor { display: grid; gap: 4px; }
.dkk-hrow { display: grid; grid-template-columns: 160px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px dashed var(--dkk-line); }
.dkk-hrow:last-child { border-bottom: 0; }
.dkk-switch { display: inline-flex; align-items: center; gap: 10px; margin: 0; cursor: pointer; }
.dkk-switch input { position: absolute; opacity: 0; pointer-events: none; }
.dkk-switch i { width: 40px; height: 24px; border-radius: 99px; background: #cbd5e1; position: relative; transition: background .2s; flex: 0 0 auto; }
.dkk-switch i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; transition: transform .2s; box-shadow: 0 1px 3px rgba(0, 0, 0, .2); }
.dkk-switch input:checked + i { background: var(--dkk-accent); }
.dkk-switch input:checked + i::after { transform: translateX(16px); }
.dkk-switch input:focus-visible + i { box-shadow: var(--dkk-ring); }
.dkk-slots { display: flex; flex-wrap: wrap; gap: 8px; }
.dkk-slot { display: inline-flex; align-items: center; gap: 6px; }
.dkk .dkk-slot input[type=time] { width: 140px; min-height: 40px; padding: 7px 10px; }
.dkk button.dkk-slot-rm { width: 28px; height: 28px; min-height: 0; padding: 0; margin: 0; border-radius: 50% !important; border: 0 !important; background: var(--dkk-soft) !important; color: var(--dkk-muted) !important; cursor: pointer; font-size: 16px; }
.dkk-closed-l { display: none; color: var(--dkk-muted); font-weight: 600; font-size: 14px; }
.dkk-hrow.is-closed .dkk-slots, .dkk-hrow.is-closed .dkk-hrow-act { display: none; }
.dkk-hrow.is-closed .dkk-closed-l { display: block; }
.dkk-hrow-act { display: flex; gap: 12px; }
.dkk-hours-editor.is-disabled { opacity: .4; pointer-events: none; }

/* Uploads */
.dkk-single-up { position: relative; display: flex; align-items: center; justify-content: center; gap: 6px; width: 120px; height: 120px; border-radius: 22px; border: 2px dashed color-mix(in srgb, var(--dkk-accent) 35%, var(--dkk-line)); background: color-mix(in srgb, var(--dkk-accent) 4%, #fff); cursor: pointer; overflow: hidden; font-size: 13px; font-weight: 600; color: var(--dkk-accent); }
.dkk-single-up-wide { width: 100%; height: 120px; }
.dkk .dkk-up-prev { position: absolute; inset: 0; }
.dkk .dkk-up-prev img { width: 100%; height: 100% !important; object-fit: cover; }
.dkk-single-up.has-img > span { position: absolute; bottom: 6px; right: 6px; background: rgba(15, 23, 42, .7); color: #fff; padding: 3px 10px; border-radius: 99px; font-size: 12px; z-index: 2; }
.dkk-drop { display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; padding: 26px 16px; border: 2px dashed color-mix(in srgb, var(--dkk-accent) 35%, var(--dkk-line)); border-radius: 18px; background: color-mix(in srgb, var(--dkk-accent) 4%, #fff); cursor: pointer; transition: all .15s; }
.dkk-drop:hover, .dkk-drop.is-over { border-color: var(--dkk-accent); background: color-mix(in srgb, var(--dkk-accent) 9%, #fff); }
.dkk-drop b { color: var(--dkk-ink); }
.dkk-drop small { color: var(--dkk-muted); }
.dkk-previews { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
.dkk-prev { position: relative; aspect-ratio: 1; border-radius: 14px; overflow: hidden; background: var(--dkk-soft); cursor: grab; animation: dkk-pop .2s ease; }
.dkk .dkk-prev img { width: 100%; height: 100% !important; object-fit: cover; }
.dkk .dkk-prev button { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; min-height: 0; padding: 0; margin: 0; border-radius: 50% !important; border: 0 !important; background: rgba(15, 23, 42, .7) !important; color: #fff !important; font-size: 14px; cursor: pointer; }
.dkk-prev.is-drag { opacity: .4; }

/* Repeaters */
.dkk-repeater { display: grid; gap: 8px; }
.dkk-rep-row { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr) 150px 32px; gap: 8px; align-items: start; }
.dkk-rep-faq { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) 32px; }
.dkk .dkk-rep-faq textarea { min-height: 46px; }
.dkk button.dkk-rep-rm { width: 32px; height: 46px; min-height: 0; padding: 0; margin: 0; border: 0 !important; background: transparent !important; color: var(--dkk-muted) !important; font-size: 20px; cursor: pointer; }
.dkk-rep-add { justify-self: start; }

.dkk-submit-bar { position: sticky; bottom: 12px; z-index: 5; display: grid; gap: 8px; }
.dkk-form-msg { padding: 12px 16px; border-radius: 12px; font-weight: 600; font-size: 14px; animation: dkk-pop .2s ease; }
.dkk-form-msg.is-error { background: #fef2f2; color: #991b1b; }
.dkk-form-msg.is-ok { background: #ecfdf5; color: #065f46; }
.dkk-form-msg a { text-decoration: underline; }
.dkk-progress { height: 6px; border-radius: 999px; background: var(--dkk-soft); overflow: hidden; }
.dkk-progress > div { height: 100%; width: 0; background: linear-gradient(90deg, var(--dkk-accent), var(--dkk-accent2)); transition: width .2s; }
.dkk-done { padding: 40px 24px; animation: dkk-pop .3s ease; }
.dkk-done-ico { width: 76px; height: 76px; border-radius: 50%; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; font-size: 40px; color: #fff; background: var(--dkk-ok); }
.dkk-done h3 { font-size: 24px; margin-bottom: 8px; }
.dkk-done-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 16px; }

/* ---------- Owner dashboard ---------- */
.dkk-dash { max-width: 980px; margin: 0 auto; }
.dkk-dash-login { max-width: 460px; }
.dkk-dash-login form p { margin-bottom: 12px; }
.dkk-dash-login label { display: block; margin-bottom: 6px; }
.dkk-dash-login .button, .dkk-dash-login input[type=submit] { background: var(--dkk-accent) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 12px 26px !important; font-weight: 700; cursor: pointer; }
.dkk-dash-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
.dkk-dash-head h2 { font-size: 28px; margin-bottom: 4px; }
.dkk-dash-head-act { display: flex; gap: 8px; }
.dkk-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--dkk-soft); margin-bottom: 18px; width: max-content; max-width: 100%; overflow-x: auto; }
.dkk-tabs a { padding: 8px 16px; border-radius: 999px; font-weight: 600; font-size: 14px; color: var(--dkk-muted); display: inline-flex; gap: 6px; align-items: center; }
.dkk-tabs a.is-active { background: #fff; color: var(--dkk-ink); box-shadow: 0 2px 8px rgba(15, 23, 42, .08); }
.dkk-dcard { background: #fff; border: 1px solid var(--dkk-line); border-radius: 22px; padding: 22px; box-shadow: var(--dkk-shadow); margin-bottom: 14px; display: grid; gap: 16px; }
.dkk-dcard header { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.dkk-logo-sm { width: 56px; height: 56px; border-radius: 16px; background: color-mix(in srgb, var(--dkk-accent) 10%, #fff); color: var(--dkk-accent); font-weight: 800; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; flex: 0 0 auto; }
.dkk .dkk-logo-sm img { width: 100%; height: 100% !important; object-fit: cover; }
.dkk-dcard-t { flex: 1; min-width: 200px; }
.dkk-dcard-t h3 { font-size: 19px; margin-bottom: 6px; }
.dkk-dcard-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.dkk-dcard-act { display: flex; gap: 6px; }
.dkk-status { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
.dkk-status-ok { background: #dcfce7; color: #166534; }
.dkk-status-wait { background: #fef9c3; color: #854d0e; }
.dkk-status-bad { background: #fee2e2; color: #991b1b; }
.dkk-status-off { background: var(--dkk-soft); color: var(--dkk-text); }
.dkk-status-premium { background: color-mix(in srgb, var(--dkk-accent2) 15%, #fff); color: color-mix(in srgb, var(--dkk-accent2) 75%, #000); }
.dkk-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.dkk-kpis > div { background: var(--dkk-soft); border-radius: 16px; padding: 14px; display: grid; gap: 2px; }
.dkk-kpis .ti { font-size: 20px; color: var(--dkk-accent); }
.dkk-kpis b { font-size: 26px; color: var(--dkk-ink); line-height: 1.1; }
.dkk-kpis span { font-size: 12px; color: var(--dkk-text); font-weight: 600; }
.dkk-kpis small { font-size: 11px; color: var(--dkk-muted); }
.dkk-spark { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; align-items: end; height: 110px; padding: 10px 4px 0; }
.dkk-spark > div { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; justify-content: flex-end; }
.dkk-spark i { width: 100%; max-width: 46px; height: var(--h); background: linear-gradient(180deg, var(--dkk-accent), color-mix(in srgb, var(--dkk-accent) 60%, #fff)); border-radius: 8px 8px 3px 3px; }
.dkk-spark small { font-size: 11px; color: var(--dkk-muted); }
.dkk-tips { display: grid; gap: 6px; }
.dkk-tips li { display: flex; gap: 8px; font-size: 14px; padding: 10px 14px; border-radius: 12px; background: #fffbeb; color: #78350f; }
.dkk-tips .ti { color: #f59e0b; }
.dkk-upsell { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 18px; border-radius: 16px; background: linear-gradient(135deg, color-mix(in srgb, var(--dkk-accent2) 12%, #fff), #fff); border: 1px solid color-mix(in srgb, var(--dkk-accent2) 30%, transparent); }
.dkk-upsell > div { display: grid; gap: 2px; flex: 1; min-width: 220px; }
.dkk-upsell b { color: var(--dkk-ink); display: flex; gap: 6px; align-items: center; }
.dkk-upsell span { font-size: 13px; color: var(--dkk-text); }
.dkk-rev-owner .dkk-rev { background: #fff; border: 1px solid var(--dkk-line); border-radius: 16px; padding: 16px; margin-bottom: 4px; }

.dkk-loading { height: 140px; border-radius: var(--dkk-r); background: linear-gradient(90deg, var(--dkk-soft), #fff, var(--dkk-soft)); background-size: 200% 100%; animation: dkk-shimmer 1.2s infinite; }
@keyframes dkk-shimmer { to { background-position: -200% 0; } }
.dkk-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px); z-index: 999999; background: #0f172a; color: #fff; padding: 12px 20px; border-radius: 999px; font-weight: 600; font-size: 14px; box-shadow: 0 12px 30px rgba(0, 0, 0, .25); opacity: 0; transition: all .25s; pointer-events: none; max-width: calc(100% - 32px); text-align: center; font-family: inherit; }
.dkk-toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.dkk-single-grid { grid-template-columns: minmax(0, 1fr) 330px; }
	.dkk-card-row { grid-template-columns: 160px minmax(0, 1fr); }
}
@media (max-width: 960px) {
	.dkk-results { grid-template-columns: 1fr; }
	.dkk-results-map { position: fixed; inset: 0; z-index: 99990; padding: 0; display: none; background: #fff; }
	.dkk-results.show-map .dkk-results-map { display: block; }
	.dkk-results-map .dkk-map { height: 100%; max-height: none; border-radius: 0; border: 0; }
	.dkk .dkk-map-toggle { display: inline-flex; }
	.dkk-results.show-map .dkk-map-toggle { position: fixed; z-index: 99999; bottom: 24px; left: 50%; transform: translateX(-50%); box-shadow: 0 10px 30px rgba(0, 0, 0, .3); background: var(--dkk-ink) !important; color: #fff !important; border-color: var(--dkk-ink) !important; min-height: 48px; padding: 0 24px; }
	.dkk-single-grid { grid-template-columns: 1fr; }
	.dkk-single-side { position: static; }
	.dkk-rev-summary { grid-template-columns: auto 1fr; }
	.dkk-rev-cta { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; text-align: left; }
	.dkk-rev-cta p { max-width: none; margin: 0 !important; }
}
@media (max-width: 760px) {
	.dkk-hero { padding: 26px 18px 20px; border-radius: 22px; }
	.dkk-hero-sub { font-size: 15px; }
	.dkk-search { grid-template-columns: minmax(0, 1fr) auto; border-radius: 22px; }
	.dkk-search .dkk-search-q { grid-column: 1 / -1; }
	.dkk-search .dkk-search-area { border-left: 0; background: var(--dkk-soft); border-radius: 999px; }
	.dkk-search .dkk-btn { grid-column: 1 / -1; }
	.dkk-search .dkk-btn span { display: inline; }
	.dkk-filters { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-left: -16px; margin-right: -16px; padding: 0 16px 4px; }
	.dkk-filters::-webkit-scrollbar { display: none; }
	.dkk-fsel { margin-left: 0; }
	.dkk-card-row { grid-template-columns: 112px minmax(0, 1fr); }
	.dkk-card-row .dkk-card-img { min-height: 0; }
	.dkk-card-body { padding: 12px; }
	.dkk .dkk-card-title { font-size: 15px; }
	.dkk-card-tag { display: none !important; }
	.dkk-card-row .dkk-card-actions .dkk-btn:not(.dkk-btn-primary) { display: none; }
	.dkk-card-row .dkk-badge { font-size: 10px; padding: 3px 7px; }
	.dkk-card-row .dkk-fav { width: 30px; height: 30px; font-size: 15px; top: 6px; right: 6px; }
	.dkk-profile { border-radius: 0; margin: 0 -16px 12px; border-left: 0; border-right: 0; }
	.dkk-profile-body { flex-direction: column; align-items: flex-start; gap: 10px; padding: 0 18px; margin-top: -46px; }
	.dkk-logo { width: 92px; height: 92px; border-radius: 22px; font-size: 28px; }
	.dkk-profile-main { padding-top: 0; }
	.dkk-actions { padding: 16px 18px 18px; gap: 8px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.dkk .dkk-act { min-width: 0; padding: 8px 4px; font-size: 12px; }
	.dkk-sec { padding: 18px; border-radius: 16px; }
	.dkk-gallery { grid-template-columns: repeat(3, 1fr); grid-auto-rows: 92px; }
	.dkk-grid-2 { grid-template-columns: 1fr; }
	.dkk-step { padding: 18px; }
	.dkk-hrow { grid-template-columns: 1fr; gap: 6px; }
	.dkk-rep-row, .dkk-rep-faq { grid-template-columns: 1fr 32px; }
	.dkk-rep-row > :not(.dkk-rep-rm) { grid-column: 1; }
	.dkk-rep-row .dkk-rep-rm { grid-column: 2; grid-row: 1; }
	.dkk-kpis { grid-template-columns: 1fr 1fr; }
	.dkk-mbar {
		display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom)); gap: 6px; background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); border-top: 1px solid var(--dkk-line); box-shadow: 0 -8px 24px rgba(15, 23, 42, .08);
	}
	.dkk-mbar a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 4px; border-radius: 14px; font-size: 12px; font-weight: 700; color: var(--dkk-ink); }
	.dkk-mbar a .ti { font-size: 22px; color: var(--dkk-accent); }
	.dkk-mbar a.is-primary { background: var(--dkk-accent); color: #fff; }
	.dkk-mbar a.is-primary .ti { color: #fff; }
	.dkk-single { padding-bottom: 80px; }
	.dkk-cta { padding: 26px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.dkk *, .dkk *::before, .dkk *::after { animation: none !important; transition: none !important; }
}
@media (max-width: 760px) {
	.dkk-card-row .dkk-badge-premium { font-size: 0; padding: 5px 6px; gap: 0; }
	.dkk-card-row .dkk-badge-premium .ti { font-size: 13px; }
	.dkk .dkk-card-row button.dkk-fav { top: auto; bottom: 6px; }
}
