:root {
  --ccdv-accent: var(--classicore-accent, var(--kh-accent, #2f6df6));
  --ccdv-text: var(--classicore-text, #1f2937);
  --ccdv-muted: var(--classicore-muted, #7b8794);
  --ccdv-border: var(--classicore-border, #e1e7f0);
  --ccdv-surface: var(--classicore-surface, #ffffff);
  --ccdv-online: #59e45f;
}

.ccdv-shell {
  position: relative;
  width: 100%;
  max-width: 100%;
  color: var(--ccdv-text);
}

.ccdv-tabs {
  display: none;
  align-items: center;
  border-bottom: 1px solid var(--ccdv-border);
  margin: 0 -16px 14px;
  background: var(--ccdv-surface);
}

.ccdv-tab {
  appearance: none;
  flex: 1;
  border: 0;
  background: transparent;
  color: var(--ccdv-muted);
  font-size: 16px;
  font-weight: 800;
  padding: 16px 8px 13px;
  border-bottom: 3px solid transparent;
  cursor: pointer;
}

.ccdv-tab.is-active {
  color: var(--ccdv-accent);
  border-bottom-color: var(--ccdv-accent);
}

.ccdv-filter-chips {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 8px 0 14px;
  margin-bottom: 2px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.ccdv-filter-chips::-webkit-scrollbar { display: none; }

.ccdv-chip {
  appearance: none;
  flex: 0 0 auto;
  border: 1px solid var(--ccdv-border);
  background: var(--ccdv-surface);
  color: #334155;
  border-radius: 999px;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  cursor: pointer;
}

.ccdv-chip-primary {
  border-color: color-mix(in srgb, var(--ccdv-accent) 45%, white);
  color: #24324a;
}

.ccdv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.ccdv-cols-2 .ccdv-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ccdv-tile {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 0;
  aspect-ratio: 1 / 1.12;
  border-radius: 9px;
  background: #202633;
  text-decoration: none !important;
  color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
  isolation: isolate;
}

.ccdv-media,
.ccdv-media img,
.ccdv-placeholder,
.ccdv-shade {
  position: absolute;
  inset: 0;
}

.ccdv-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
}

.ccdv-placeholder {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #242b36, #3d4654);
}

.ccdv-placeholder span {
  width: 52%;
  aspect-ratio: 0.72;
  display: block;
  opacity: 0.55;
  background:
    radial-gradient(circle at 50% 24%, #9aa3af 0 22%, transparent 23%),
    radial-gradient(ellipse at 50% 88%, #9aa3af 0 42%, transparent 43%);
}


.ccdv-proof-badge {
  position: absolute;
  z-index: 5;
  right: 7px;
  top: 7px;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.72);
  color: #fff;
  font-size: 12px;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(0,0,0,.25);
  backdrop-filter: blur(6px);
}

.ccdv-shade {
  z-index: 2;
  background: linear-gradient(to bottom, rgba(0,0,0,0.02) 35%, rgba(0,0,0,0.72) 100%);
}

.ccdv-meta {
  position: absolute;
  z-index: 4;
  left: 8px;
  right: 6px;
  bottom: 8px;
  display: flex;
  align-items: center;
  min-width: 0;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0,0,0,.55);
}

.ccdv-online {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  border-radius: 99px;
  background: var(--ccdv-online);
  box-shadow: 0 0 0 1px rgba(255,255,255,.35);
}

.ccdv-name,
.ccdv-age {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: clamp(13px, 3.2vw, 17px);
  font-weight: 850;
  letter-spacing: -0.02em;
}

.ccdv-age { flex: 0 0 auto; }

.ccdv-verified {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  margin-left: 4px;
  border-radius: 50%;
  background: var(--ccdv-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-shadow: none;
  box-shadow: 0 1px 3px rgba(0,0,0,.22);
}

.ccdv-ribbon {
  position: absolute;
  z-index: 5;
  top: 8px;
  left: 8px;
  border-radius: 5px;
  padding: 4px 7px;
  background: var(--ccdv-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 1px 4px rgba(0,0,0,.18);
}

.ccdv-ribbon-sticky { background: #111827; }

.ccdv-tile.is-highlighted {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ccdv-accent) 70%, white), 0 0 0 1px rgba(47, 109, 246, .12);
}

.ccdv-floating-filter {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: calc(82px + env(safe-area-inset-bottom));
  z-index: 50;
  display: none;
  width: 66px;
  height: 66px;
  border: 0;
  border-radius: 24px;
  background: var(--ccdv-accent);
  color: #fff;
  font-size: 36px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 12px 30px rgba(47, 109, 246, .34);
  cursor: pointer;
}

.ccdv-empty,
.ccdv-notice {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px solid var(--ccdv-border);
  border-radius: 14px;
  background: var(--ccdv-surface);
  color: var(--ccdv-muted);
}

.ccdv-discovery-slot { display: none; }
.ccdv-auto-wrap.ccdv-discovery-default .ccdv-standard-slot { display: none; }
.ccdv-auto-wrap.ccdv-discovery-default .ccdv-discovery-slot { display: block; }

@media (max-width: 782px) {
  .ccdv-tabs { display: flex; }
  .ccdv-floating-filter { display: grid; place-items: center; }

  .ccdv-auto-wrap.ccdv-mobile-discovery .ccdv-standard-slot { display: none; }
  .ccdv-auto-wrap.ccdv-mobile-discovery .ccdv-discovery-slot { display: block; }
  .ccdv-auto-wrap.ccdv-mobile-standard .ccdv-standard-slot { display: block; }
  .ccdv-auto-wrap.ccdv-mobile-standard .ccdv-discovery-slot { display: none; }
}

@media (min-width: 783px) {
  .ccdv-auto-wrap .ccdv-discovery-slot { display: none !important; }
  .ccdv-auto-wrap .ccdv-standard-slot { display: block !important; }
}

/* Automatic ClassiCore mobile/tablet browse replacement. The buyer keeps the
   normal [classicore] shortcode; this add-on switches the browse surface by viewport. */
.ccdv-responsive-switch { width: 100%; }
.ccdv-discovery-responsive { display: none; }
.ccdv-standard-responsive { display: block; }
.ccdv-browse-shell { position: relative; min-height: 60vh; }
.ccdv-browse-header { margin-bottom: 10px; }
.ccdv-search-bar { margin: 0 0 10px; }

@media (max-width: 1024px) {
  .ccdv-responsive-switch .ccdv-standard-responsive { display: none !important; }
  .ccdv-responsive-switch .ccdv-discovery-responsive { display: block !important; }
  .ccdv-browse-shell .ccdv-shell { padding-bottom: 100px; }
  .ccdv-browse-shell .ccdv-floating-filter { display: grid; place-items: center; }
}

@media (min-width: 1025px) {
  .ccdv-responsive-switch .ccdv-standard-responsive { display: block !important; }
  .ccdv-responsive-switch .ccdv-discovery-responsive { display: none !important; }
}

.ccdv-filter-modal[hidden] { display: none !important; }
.ccdv-filter-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.ccdv-filter-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .42);
}
.ccdv-filter-panel {
  position: relative;
  z-index: 1;
  width: min(100%, 560px);
  max-height: min(86vh, 720px);
  overflow: auto;
  border-radius: 26px 26px 0 0;
  padding: 18px;
  background: var(--ccdv-surface);
  box-shadow: 0 -18px 50px rgba(15, 23, 42, .24);
}
.ccdv-filter-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.ccdv-filter-panel-head h3 { margin: 0; font-size: 20px; }
.ccdv-filter-close {
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 999px;
  background: #eef2f7;
  font-size: 26px;
  line-height: 1;
}
.ccdv-filter-panel label {
  display: block;
  margin: 0 0 12px;
  color: var(--ccdv-text);
  font-weight: 700;
}
.ccdv-filter-panel input[type="text"],
.ccdv-filter-panel input[type="number"] {
  width: 100%;
  margin-top: 6px;
  border: 1px solid var(--ccdv-border);
  border-radius: 14px;
  padding: 12px 14px;
  background: #fff;
  color: var(--ccdv-text);
}
.ccdv-filter-two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ccdv-filter-check { display: flex !important; align-items: center; gap: 8px; }
.ccdv-filter-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
}
.ccdv-filter-actions .kh-button { margin: 0; }
.ccdv-filter-open { overflow: hidden; }

/* v1.0.5: no duplicate Discovery filter controls. */
.ccdv-floating-filter{display:none!important;}
.ccdv-chip-primary{display:none!important;}
.ccdv-header-actions:empty{display:none!important;}


/* Discovery sponsored tiles: relaxed ad slots that behave like native profile tiles. */
.ccdv-ad-tile{position:relative;display:block;aspect-ratio:1/1.18;border-radius:8px;overflow:hidden;background:linear-gradient(145deg,rgba(37,99,235,.12),rgba(15,23,42,.07));box-shadow:0 1px 2px rgba(15,23,42,.10);min-width:0;isolation:isolate}
.ccdv-ad-tile .ccdv-ad-badge{position:absolute;left:7px;top:7px;z-index:6;display:inline-flex;align-items:center;border-radius:6px;padding:3px 7px;background:var(--cc-accent,#2563eb);color:#fff;font-size:11px;font-weight:800;line-height:1;box-shadow:0 5px 14px rgba(37,99,235,.25)}
.ccdv-ad-tile .classicore-ad-slot,.ccdv-ad-tile .classicore-ad-unit{margin:0!important;width:100%;height:100%;box-sizing:border-box;border-radius:8px!important}
.ccdv-ad-tile .classicore-ad-unit{position:relative;display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden;color:#fff}
.ccdv-ad-tile .classicore-ad-creative-link,.ccdv-ad-tile .classicore-ad-link{position:relative;width:100%;height:100%;min-height:0;display:block!important;text-decoration:none;color:inherit;box-sizing:border-box;overflow:hidden}
.ccdv-ad-tile .classicore-ad-creative-link::after,.ccdv-ad-tile .classicore-ad-link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:58%;z-index:2;background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.58));pointer-events:none}
.ccdv-ad-tile .classicore-ad-creative-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0!important;display:block}
.ccdv-ad-tile .classicore-ad-unit--fit-contain .classicore-ad-creative-image{object-fit:contain;padding:16px 10px 42px;box-sizing:border-box;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(219,234,254,.92))}
.ccdv-ad-tile .classicore-ad-image-wrap{position:absolute;inset:0;z-index:1;max-width:none!important;width:100%;height:100%!important;display:flex;align-items:center;justify-content:center;padding:16px 8px 42px;box-sizing:border-box;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(219,234,254,.92))}
.ccdv-ad-tile .classicore-ad-image-wrap img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}
.ccdv-ad-tile .classicore-ad-unit--fit-cover .classicore-ad-image-wrap{padding:0;background:transparent}
.ccdv-ad-tile .classicore-ad-unit--fit-cover .classicore-ad-image-wrap img{object-fit:cover;border-radius:0}
.ccdv-ad-tile .classicore-ad-icon{position:absolute;inset:0;z-index:1;width:100%;height:100%;border-radius:0;font-size:22px;background:linear-gradient(145deg,rgba(37,99,235,.18),rgba(15,23,42,.16));color:var(--cc-accent,#2563eb)}
.ccdv-ad-tile .classicore-ad-copy,.ccdv-ad-tile .classicore-ad-discovery-overlay{position:absolute;left:0;right:0;bottom:31px;z-index:4;display:flex;flex-direction:column;gap:3px;padding:0 8px;line-height:1.08;min-width:0;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45)}
.ccdv-ad-tile .classicore-ad-copy strong,.ccdv-ad-tile .classicore-ad-discovery-title{font-size:12px;line-height:1.08;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ccdv-ad-tile .classicore-ad-copy span:not(.classicore-ad-sponsored-label),.ccdv-ad-tile .classicore-ad-discovery-desc{font-size:10.5px;line-height:1.1;color:rgba(255,255,255,.9);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ccdv-ad-tile .classicore-ad-sponsored-label{display:none!important}
.ccdv-ad-tile .classicore-ad-button,.ccdv-ad-tile .classicore-ad-discovery-button{position:absolute;left:50%;bottom:9px;z-index:5;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;margin:0!important;padding:5px 10px;border:1px solid rgba(15,23,42,.92);border-radius:999px;background:rgba(255,255,255,.92);color:#0f172a!important;font-size:10.5px;font-weight:800;line-height:1;white-space:nowrap;text-shadow:none;box-shadow:0 2px 8px rgba(15,23,42,.14)}
.ccdv-ad-tile .classicore-ad-unit--style-full_creative .classicore-ad-discovery-overlay:empty{display:none}
.ccdv-ad-tile .classicore-ad-code{width:100%;height:100%;overflow:hidden}
.ccdv-chip{text-decoration:none!important}

/* Discovery quick tap: profile tiles stay clickable, tap button is a deliberate hold action. */
.ccdv-tile-link {
  position: absolute;
  inset: 0;
  display: block;
  color: #fff !important;
  text-decoration: none !important;
  z-index: 1;
}

.ccdv-tap-hold {
  position: absolute;
  z-index: 8;
  top: 6px;
  right: 7px;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  pointer-events: auto;
}

.ccdv-tap-hold .kh-tap-form,
.ccdv-tap-hold .kh-tap-form--limited {
  display: contents;
  margin: 0;
}

.ccdv-tap-hold .kh-tap-button {
  appearance: none;
  position: relative;
  z-index: 2;
  width: 26px;
  height: 26px;
  min-width: 0;
  min-height: 0;
  display: grid;
  place-items: center;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  color: #fff;
  font-size: 19px;
  line-height: 1;
  box-shadow: none !important;
  text-shadow: 0 1px 3px rgba(0,0,0,.75), 0 0 8px rgba(0,0,0,.35);
  cursor: pointer;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform .16s ease, filter .16s ease, opacity .16s ease;
}

.ccdv-tap-hold .kh-tap-button-icon {
  display: grid;
  place-items: center;
  line-height: 1;
  transform: translateY(-.5px);
}

.ccdv-tap-hold::before {
  content: '';
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 1px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  box-shadow: 0 1px 4px rgba(0,0,0,.28);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left center;
  transition: opacity .12s ease, transform 1s linear;
}

.ccdv-tap-hold::after {
  display: none;
}

.ccdv-tap-hold.is-holding::before {
  opacity: 1;
  transform: scaleX(1);
}

.ccdv-tap-hold.is-holding .kh-tap-button {
  transform: scale(1.18);
  filter: drop-shadow(0 0 7px rgba(255, 153, 0, .75));
}

.ccdv-tap-hold.is-ready .kh-tap-button,
.ccdv-tap-hold.is-sent .kh-tap-button {
  transform: scale(1.2);
  filter: drop-shadow(0 0 8px rgba(47, 109, 246, .85));
}

.ccdv-tap-hold.is-sent .kh-tap-button-icon {
  animation: ccdv-tap-pop .32s ease both;
}

.ccdv-tap-hint {
  position: absolute;
  top: calc(100% + 3px);
  right: -2px;
  max-width: 86px;
  padding: 4px 6px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .86);
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-3px);
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(0,0,0,.22);
  transition: opacity .14s ease, transform .14s ease;
}

.ccdv-tap-hold.is-holding .ccdv-tap-hint,
.ccdv-tap-hold.is-sent .ccdv-tap-hint,
.ccdv-tap-hold.is-nudge .ccdv-tap-hint {
  opacity: 1;
  transform: translateY(0);
}

.ccdv-tap-hold.is-sent .ccdv-tap-hint {
  background: var(--ccdv-accent);
}

.ccdv-tap-hold .kh-tap-button--disabled {
  opacity: .68;
  cursor: not-allowed;
  filter: grayscale(.2);
}

.ccdv-tile.has-verification-image .ccdv-proof-badge {
  top: 38px;
  right: 8px;
}

@keyframes ccdv-tap-pop {
  0% { transform: scale(.76); }
  55% { transform: scale(1.34); }
  100% { transform: scale(1); }
}
  55% { transform: scale(1.24); }
  100% { transform: scale(1); }
}

/* v1.1.0 Premium map search */
.ccdv-search-bar .kh-search-bar-inner {
  gap: 8px;
}

.ccdv-map-search-toggle {
  appearance: none;
  border: 1px solid var(--ccdv-border);
  background: #fff;
  color: var(--ccdv-accent);
  border-radius: 10px;
  padding: 0 10px;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 850;
  font-size: 13px;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(15,23,42,.05);
  cursor: pointer;
}

.ccdv-map-search-toggle .dashicons {
  width: 17px;
  height: 17px;
  font-size: 17px;
}

.ccdv-map-search-panel {
  margin: 10px 0 12px;
  border: 1px solid var(--ccdv-border);
  border-radius: 18px;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(15,23,42,.08);
}

.ccdv-map-search-panel[hidden] { display: none !important; }

.ccdv-map-search-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
}

.ccdv-map-search-head strong {
  display: block;
  font-size: 14px;
  color: var(--ccdv-text);
}

.ccdv-map-search-head span {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: var(--ccdv-muted);
  line-height: 1.25;
}

.ccdv-map-clear {
  flex: 0 0 auto;
  color: var(--ccdv-accent);
  font-weight: 850;
  font-size: 13px;
  text-decoration: none !important;
}

.ccdv-map-wrap {
  position: relative;
  height: min(56vh, 360px);
  min-height: 250px;
  background: #dce6ef;
}

.ccdv-map {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.ccdv-map-center {
  position: absolute;
  z-index: 500;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 34px;
  margin-left: -17px;
  margin-top: -17px;
  pointer-events: none;
  display: grid;
  place-items: center;
}

.ccdv-map-center::before {
  content: "";
  position: absolute;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--ccdv-accent) 16%, transparent);
  animation: ccdvMapPulse 1.8s ease-in-out infinite;
}

.ccdv-map-center span {
  position: relative;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--ccdv-accent);
  border: 3px solid #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,.25);
}

@keyframes ccdvMapPulse {
  0%, 100% { transform: scale(.86); opacity: .6; }
  50% { transform: scale(1.18); opacity: 1; }
}

.ccdv-map-status {
  position: absolute;
  z-index: 501;
  left: 50%;
  bottom: 12px;
  transform: translateX(-50%);
  max-width: calc(100% - 30px);
  border-radius: 999px;
  background: rgba(15,23,42,.82);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 12px;
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  white-space: nowrap;
}

.ccdv-map-status.is-busy::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-left: 8px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.4);
  border-top-color: #fff;
  animation: ccdvSpin .75s linear infinite;
}

@keyframes ccdvSpin { to { transform: rotate(360deg); } }

.ccdv-radius-row {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 10px 12px 12px;
  scrollbar-width: none;
}
.ccdv-radius-row::-webkit-scrollbar { display: none; }

.ccdv-radius-chip {
  appearance: none;
  border: 1px solid var(--ccdv-border);
  background: #fff;
  color: #334155;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.ccdv-radius-chip.is-active {
  border-color: var(--ccdv-accent);
  background: var(--ccdv-accent);
  color: #fff;
}

.ccdv-map-active-bar {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: -2px 0 10px;
  padding: 9px 11px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--ccdv-accent) 9%, white);
  border: 1px solid color-mix(in srgb, var(--ccdv-accent) 24%, white);
  color: #1e3a8a;
  font-size: 13px;
  font-weight: 800;
}

.ccdv-map-active-bar .dashicons {
  width: 16px;
  height: 16px;
  font-size: 16px;
}

.ccdv-map-active-bar a {
  margin-left: auto;
  color: var(--ccdv-accent);
  text-decoration: none !important;
  font-weight: 900;
}

@media (max-width: 430px) {
  .ccdv-map-search-toggle span:not(.dashicons) {
    display: none;
  }
  .ccdv-map-search-toggle {
    width: 38px;
    justify-content: center;
    padding: 0;
  }
}

/* v1.1.1 Grindr-style deliberate map search action */
.ccdv-map-close {
  appearance: none;
  border: 0;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #0f172a;
  color: #fff;
  display: inline-grid;
  place-items: center;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(15,23,42,.22);
}

.ccdv-map-close span {
  display: block;
  transform: translateY(-1px);
}

.ccdv-map-controls {
  display: grid;
  gap: 10px;
  padding: 10px 12px 14px;
  background: #fff;
}

.ccdv-map-controls .ccdv-radius-row {
  padding: 0;
}

.ccdv-map-apply {
  appearance: none;
  border: 0;
  border-radius: 999px;
  min-height: 46px;
  padding: 0 18px;
  background: var(--ccdv-accent);
  color: #fff;
  font-size: 16px;
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--ccdv-accent) 28%, transparent);
}

.ccdv-map-controls .ccdv-map-clear {
  justify-self: center;
  font-size: 12px;
}

html.ccdv-map-view-open #kh-filter-toggle,
html.ccdv-map-view-open [data-classicore-open-filters],
html.ccdv-map-view-open [data-kh-open-filters],
html.ccdv-map-view-open .classicore-filter-button,
html.ccdv-map-view-open .kh-filter-button,
html.ccdv-map-view-open .kh-floating-filter,
html.ccdv-map-view-open .classicore-floating-filter,
html.ccdv-map-view-open .ccdv-floating-filter,
body.ccdv-map-view-open #kh-filter-toggle,
body.ccdv-map-view-open [data-classicore-open-filters],
body.ccdv-map-view-open [data-kh-open-filters],
body.ccdv-map-view-open .classicore-filter-button,
body.ccdv-map-view-open .kh-filter-button,
body.ccdv-map-view-open .kh-floating-filter,
body.ccdv-map-view-open .classicore-floating-filter,
body.ccdv-map-view-open .ccdv-floating-filter {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 782px) {
  html.ccdv-map-view-open,
  body.ccdv-map-view-open {
    overflow: hidden !important;
  }

  .ccdv-map-search-panel.is-open {
    position: fixed;
    inset: 0;
    z-index: 99999;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: #0b1220;
    display: flex;
    flex-direction: column;
    box-shadow: none;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-search-head {
    position: absolute;
    z-index: 503;
    top: calc(14px + env(safe-area-inset-top));
    left: 12px;
    right: 12px;
    padding: 0;
    color: #fff;
    pointer-events: none;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-search-head > div {
    max-width: calc(100% - 58px);
    padding: 9px 12px;
    border-radius: 18px;
    background: rgba(0,0,0,.58);
    backdrop-filter: blur(9px);
    pointer-events: auto;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-search-head strong,
  .ccdv-map-search-panel.is-open .ccdv-map-search-head span {
    color: #fff;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-search-head span {
    opacity: .82;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-close {
    pointer-events: auto;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-wrap {
    flex: 1 1 auto;
    height: auto;
    min-height: 0;
    border-radius: 0;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-controls {
    position: absolute;
    z-index: 503;
    left: 16px;
    right: 16px;
    bottom: calc(18px + env(safe-area-inset-bottom));
    border-radius: 24px;
    background: rgba(0,0,0,.68);
    backdrop-filter: blur(10px);
    box-shadow: 0 18px 40px rgba(0,0,0,.35);
  }

  .ccdv-map-search-panel.is-open .ccdv-radius-chip {
    background: rgba(255,255,255,.92);
    color: #111827;
    border-color: rgba(255,255,255,.78);
  }

  .ccdv-map-search-panel.is-open .ccdv-radius-chip.is-active {
    background: #fff;
    color: var(--ccdv-accent);
    border-color: #fff;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-apply {
    background: #ffcf00;
    color: #111;
    min-height: 54px;
    font-size: 18px;
    box-shadow: 0 12px 24px rgba(0,0,0,.28);
  }

  .ccdv-map-search-panel.is-open .ccdv-map-status {
    bottom: 150px;
  }
}


/* v1.1.2 Discovery map location services */
.ccdv-map-use-location{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;border:0;border-radius:999px;background:rgba(15,23,42,.88);color:#fff;font-weight:800;padding:10px 14px;box-shadow:0 8px 22px rgba(15,23,42,.18);cursor:pointer}
.ccdv-map-use-location .dashicons{width:18px;height:18px;font-size:18px;line-height:18px}
@media (max-width:1024px){.ccdv-map-use-location{width:auto;min-width:148px}}

/* v1.1.4 cleaner map picker + typed location search */
.ccdv-map-search-head-clean {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}

.ccdv-map-location-row {
  display: grid;
  grid-template-columns: minmax(130px, .9fr) minmax(160px, 1.35fr);
  gap: 10px;
  align-items: center;
}

.ccdv-map-location-form {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  padding: 0 7px 0 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(148,163,184,.45);
  box-shadow: 0 8px 22px rgba(15,23,42,.12);
}

.ccdv-map-location-form .dashicons-search {
  color: #64748b;
  width: 18px;
  height: 18px;
  font-size: 18px;
  line-height: 18px;
  flex: 0 0 auto;
}

.ccdv-map-location-input {
  min-width: 0;
  width: 100%;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  color: #0f172a;
  font-size: 14px;
  font-weight: 750;
  padding: 0 !important;
}

.ccdv-map-location-input::placeholder {
  color: #64748b;
  font-weight: 650;
}

.ccdv-map-location-submit {
  appearance: none;
  border: 0;
  border-radius: 999px;
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  background: var(--ccdv-accent);
  color: #fff;
  cursor: pointer;
  flex: 0 0 auto;
}

.ccdv-map-location-submit .dashicons {
  width: 18px;
  height: 18px;
  font-size: 18px;
  line-height: 18px;
}

.ccdv-map-apply,
.ccdv-map-search-panel.is-open .ccdv-map-apply {
  background: linear-gradient(135deg, #2f6df6, #0ea5e9);
  color: #fff;
  box-shadow: 0 12px 24px rgba(47,109,246,.28);
}

@media (max-width: 782px) {
  .ccdv-map-search-panel.is-open .ccdv-map-search-head {
    left: auto;
    right: 12px;
    width: 48px;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-location-row {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-use-location,
  .ccdv-map-search-panel.is-open .ccdv-map-location-form {
    width: 100%;
    min-width: 0;
  }

  .ccdv-map-search-panel.is-open .ccdv-map-location-form {
    min-height: 44px;
    background: rgba(255,255,255,.96);
  }

  .ccdv-map-search-panel.is-open .ccdv-map-status {
    bottom: 198px;
  }
}

/* v1.1.5 collapsible full-map search controls */
.ccdv-map-controls-body {
  display: grid;
  gap: 10px;
}

.ccdv-map-controls-toggle {
  appearance: none;
  border: 0;
  width: 100%;
  min-height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: rgba(15,23,42,.88);
  color: #fff;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 22px rgba(15,23,42,.18);
}

.ccdv-map-controls-toggle .dashicons {
  width: 18px;
  height: 18px;
  font-size: 18px;
  line-height: 18px;
}

.ccdv-map-controls-toggle strong {
  font-size: 13px;
  line-height: 1;
}

.ccdv-map-controls-toggle small {
  font-size: 11px;
  line-height: 1;
  opacity: .72;
  font-weight: 800;
}

.ccdv-map-search-panel.is-controls-collapsed .ccdv-map-controls-body {
  display: none !important;
}

.ccdv-map-search-panel.is-controls-collapsed .ccdv-map-controls {
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  padding: 0;
}

.ccdv-map-search-panel.is-controls-collapsed .ccdv-map-controls-toggle {
  min-height: 44px;
  padding: 0 18px;
  background: rgba(15,23,42,.92);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 34px rgba(0,0,0,.32);
}

@media (max-width: 782px) {
  .ccdv-map-search-panel.is-open .ccdv-map-controls-toggle {
    background: rgba(15,23,42,.88);
    color: #fff;
  }

  .ccdv-map-search-panel.is-open.is-controls-collapsed .ccdv-map-controls {
    left: 50%;
    right: auto;
    bottom: calc(20px + env(safe-area-inset-bottom));
    width: auto;
    min-width: 188px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
    padding: 0;
  }

  .ccdv-map-search-panel.is-open.is-controls-collapsed .ccdv-map-controls-toggle {
    min-height: 48px;
    padding: 0 20px;
  }

  .ccdv-map-search-panel.is-open.is-controls-collapsed .ccdv-map-status {
    bottom: 82px;
  }
}

/* v1.2.0 Live Nearby Me map control */
.ccdv-live-nearby-control {
  margin-top: 8px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15,23,42,.16);
}

.ccdv-live-nearby-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 82px;
  padding: 8px 10px;
  border: 0;
  background: rgba(255,255,255,.96);
  color: #0f172a;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.ccdv-live-nearby-toggle.is-on {
  background: #0f172a;
  color: #fff;
}

.ccdv-live-nearby-label {
  letter-spacing: .01em;
}

.ccdv-live-nearby-state {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(15,23,42,.09);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.ccdv-live-nearby-toggle.is-on .ccdv-live-nearby-state {
  background: rgba(255,255,255,.18);
  color: #fff;
}

.ccdv-live-pin-icon {
  background: transparent;
  border: 0;
}

.ccdv-live-pin {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  padding: 2px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(15,23,42,.22);
}

.ccdv-live-pin.is-self {
  box-shadow: 0 0 0 3px rgba(47,109,246,.18), 0 8px 20px rgba(15,23,42,.24);
}

.ccdv-live-pin-avatar,
.ccdv-live-pin-avatar > * {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}

.ccdv-live-pin-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.ccdv-live-pin-dot {
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #22c55e;
  border: 2px solid #fff;
}

/* v1.2.1 Guest auth overlay for logged-out Discovery users */
.ccdv-guest-auth-overlay {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 84px;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 14px 36px rgba(15,23,42,.16);
  backdrop-filter: blur(12px);
}

.ccdv-guest-auth-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.ccdv-guest-auth-copy strong {
  font-size: 14px;
  line-height: 1.2;
  color: #0f172a;
}

.ccdv-guest-auth-copy span {
  font-size: 12px;
  line-height: 1.35;
  color: #475569;
}

.ccdv-guest-auth-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.ccdv-guest-auth-actions a {
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
  line-height: 1;
  padding: 11px 14px;
  border-radius: 999px;
}

.ccdv-guest-auth-login {
  background: #e8f0ff;
  color: #2157d5;
}

.ccdv-guest-auth-register {
  background: linear-gradient(135deg, #2f6df6 0%, #4f8eff 100%);
  color: #fff;
  box-shadow: 0 10px 22px rgba(47,109,246,.24);
}

@media (min-width: 1025px) {
  .ccdv-guest-auth-overlay {
    display: none;
  }
}

@media (max-width: 520px) {
  .ccdv-guest-auth-overlay {
    flex-direction: column;
    align-items: stretch;
    bottom: 78px;
  }

  .ccdv-guest-auth-actions {
    width: 100%;
  }

  .ccdv-guest-auth-actions a {
    flex: 1 1 0;
    text-align: center;
  }
}

.ccdv-map-view-open .ccdv-guest-auth-overlay {
  display: none;
}


/* Discovery search polish: move search icon inside the field and reserve the old icon space for onboarding help. */
.ccdv-search-bar-inner {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ccdv-search-bar-inner > .kh-icon.dashicons-search {
  display: none !important;
}

.ccdv-search-input {
  background-image: linear-gradient(transparent, transparent), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='16.65' y1='16.65' x2='21' y2='21'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 12px 50%;
  background-size: 17px 17px;
  padding-left: 38px !important;
}

.ccdv-onboarding-help {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  border: 1px solid rgba(148, 163, 184, .35);
  background: var(--cc-surface, #fff);
  color: var(--cc-muted, #64748b);
  box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
}

.ccdv-onboarding-help:hover,
.ccdv-onboarding-help:focus {
  color: var(--cc-accent, #2563eb);
  border-color: color-mix(in srgb, var(--cc-accent, #2563eb) 38%, transparent);
  box-shadow: 0 10px 26px rgba(37, 99, 235, .14);
  outline: none;
}

.ccdv-onboarding-help .dashicons {
  width: 20px;
  height: 20px;
  font-size: 20px;
  line-height: 20px;
}

@media (max-width: 430px) {
  .ccdv-search-bar-inner {
    gap: 6px;
  }

  .ccdv-map-search-toggle span:last-child {
    display: none;
  }

  .ccdv-map-search-toggle,
  .ccdv-onboarding-help {
    width: 42px;
    min-width: 42px;
    padding-left: 0;
    padding-right: 0;
    justify-content: center;
  }
}


/* Compact mobile toolbar: keep Search, Map, and Help visible without pushing the app off-center. */
.ccdv-search-form {
  width: 100%;
  max-width: 100%;
}

.ccdv-search-bar-inner {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.ccdv-search-input {
  flex: 1 1 0;
  min-width: 0 !important;
  max-width: none !important;
}

.ccdv-search-submit {
  flex: 0 0 auto;
}

.ccdv-map-search-toggle {
  flex: 0 0 auto;
}

.ccdv-onboarding-help {
  flex: 0 0 42px;
}

@media (max-width: 520px) {
  .ccdv-search-bar {
    padding-left: 0;
    padding-right: 0;
  }

  .ccdv-search-bar-inner {
    gap: 6px;
  }

  .ccdv-search-input {
    width: auto !important;
    min-width: 92px !important;
    height: 42px;
    font-size: 14px;
    padding-left: 34px !important;
    padding-right: 8px !important;
    background-position: 10px 50%;
    background-size: 16px 16px;
  }

  .ccdv-search-submit {
    width: 36px;
    min-width: 36px;
    height: 42px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .ccdv-map-search-toggle,
  .ccdv-onboarding-help {
    width: 40px;
    min-width: 40px;
    flex-basis: 40px;
    height: 42px;
  }

  .ccdv-map-search-toggle span:last-child {
    display: none !important;
  }
}

@media (max-width: 370px) {
  .ccdv-search-bar-inner {
    gap: 5px;
  }

  .ccdv-search-input {
    min-width: 74px !important;
    font-size: 13px;
  }

  .ccdv-search-submit {
    width: 34px;
    min-width: 34px;
  }

  .ccdv-map-search-toggle,
  .ccdv-onboarding-help {
    width: 38px;
    min-width: 38px;
    flex-basis: 38px;
  }
}
