/*
 * JBEscort69 3.1 — Night Black + Ice Mint
 * Final frontend color layer and full-width location discovery section.
 */

:root {
  color-scheme: dark;
  --jb-night: #090c10;
  --jb-carbon: #10151c;
  --jb-slate: #172029;
  --jb-mint: #72cdbb;
  --jb-frost: #9ac7e8;
  --jb-white: #f2f7f6;
  --jb-silver: #aab6bc;
  --jb-line: rgba(114, 205, 187, .22);
  --jb-glow: rgba(114, 205, 187, .16);
}

html,
body,
body.custom-background,
#page,
.site,
.site-content,
.home-main,
.location-main,
.city-main,
.country-main {
  background: var(--jb-night) !important;
  color: var(--jb-white) !important;
}

body,
button,
input,
select,
textarea {
  color: var(--jb-white);
}

body p,
body li,
body dd,
body label,
body .meta,
body .muted,
body .subtext,
body .description {
  color: var(--jb-silver);
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body strong {
  color: var(--jb-white);
}

body a {
  color: var(--jb-frost);
}

body a:hover,
body a:focus-visible {
  color: var(--jb-mint);
}

.site-header,
.premium-header,
.premium-header-inner,
.premium-header-top,
.premium-header-bottom,
.mobile-premium-header,
.site-footer,
.premium-footer,
.compact-premium-footer {
  background: var(--jb-carbon) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

.site-header {
  box-shadow: 0 12px 36px rgba(0, 0, 0, .42), 0 1px 0 var(--jb-line) !important;
}

.lp10-wordmark .lp10-wordmark-accent,
.site-header .lp10-wordmark .lp10-wordmark-accent {
  color: var(--jb-mint) !important;
  text-shadow: 0 0 20px rgba(114, 205, 187, .32) !important;
}

.site-header .nav-menu a,
.site-header .header-nav a,
.site-header .mobile-top-link,
.site-footer a,
.site-footer h4,
.site-footer p,
.site-footer li,
.site-footer span {
  color: var(--jb-white) !important;
}

.site-header .nav-menu a:hover,
.site-header .header-nav a:hover,
.site-footer a:hover {
  color: var(--jb-mint) !important;
}

.footer-glow {
  background: radial-gradient(circle, rgba(114, 205, 187, .22), transparent 68%) !important;
}

.escort-card,
.escort-card-wrapper,
.profile-card,
.listing-card,
.content-card,
.location-content,
.sidebar-section,
.widget,
.home-right > section,
.home-right > div,
.city-sidebar > *,
.country-sidebar > *,
.no-results,
.dashboard-card,
.ds-card,
.ep-card,
.account-card,
.form-card,
.premium-card,
.package-card,
.agency-card,
.review-card {
  background-color: var(--jb-slate) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .28) !important;
}

body .ds-root,
body .ep-root,
body .dashboard-shell,
body .account-shell {
  --bg: var(--jb-night) !important;
  --surface: var(--jb-slate) !important;
  --card: var(--jb-slate) !important;
  --text: var(--jb-white) !important;
  --text-muted: var(--jb-silver) !important;
  --muted: var(--jb-silver) !important;
  --primary: var(--jb-mint) !important;
  --accent: var(--jb-frost) !important;
  --border: var(--jb-line) !important;
  background: var(--jb-night) !important;
  color: var(--jb-white) !important;
}

body .ds-root .ds-main,
body .ds-root .ds-content,
body .ep-root main,
body .dashboard-content {
  background: var(--jb-night) !important;
  color: var(--jb-white) !important;
}

button,
.button,
.btn,
.btn-auth,
.btn-register,
.btn-primary,
input[type="submit"],
input[type="button"],
.pagination .current,
.page-numbers.current {
  background: var(--jb-mint) !important;
  border-color: var(--jb-mint) !important;
  color: var(--jb-night) !important;
  box-shadow: 0 8px 24px rgba(114, 205, 187, .18) !important;
}

button:hover,
.button:hover,
.btn:hover,
.btn-auth:hover,
input[type="submit"]:hover {
  background: var(--jb-frost) !important;
  border-color: var(--jb-frost) !important;
  color: var(--jb-night) !important;
}

input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
select,
textarea,
.header-search input,
.mobile-cc-search {
  background: #0d1319 !important;
  border-color: rgba(154, 199, 232, .28) !important;
  color: var(--jb-white) !important;
}

input::placeholder,
textarea::placeholder {
  color: var(--jb-silver) !important;
  opacity: .78;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--jb-mint) !important;
  box-shadow: 0 0 0 3px rgba(114, 205, 187, .14) !important;
  outline: 0;
}

.section-heading,
.block-title,
.location-content-kicker,
.badge,
.profile-badge,
.verified-badge,
.city-pill,
.tag,
.chip {
  border-color: var(--jb-line) !important;
}

.location-content-kicker,
.section-icon,
.verified-badge,
.profile-badge,
.rating,
.price,
.accent-text {
  color: var(--jb-mint) !important;
}

.city-pill,
.tag,
.chip,
.pagination a,
.page-numbers {
  background: rgba(154, 199, 232, .08) !important;
  color: var(--jb-frost) !important;
}

.jb69-location-discovery {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin: 0;
  padding: clamp(24px, 4vw, 52px) clamp(16px, 4vw, 64px);
  box-sizing: border-box;
  overflow: hidden;
  color: var(--jb-white);
  background:
    radial-gradient(circle at 8% 5%, rgba(114, 205, 187, .15), transparent 32%),
    radial-gradient(circle at 92% 88%, rgba(154, 199, 232, .12), transparent 34%),
    var(--jb-night);
  border-block: 1px solid var(--jb-line);
}

.jb69-location-discovery::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-image: linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(to bottom, black, transparent 85%);
}

.jb69-location-discovery__inner {
  width: min(1480px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(16px, 2vw, 28px);
  align-items: start;
}

.jb69-location-faq,
.jb69-location-tags {
  min-width: 0;
  padding: clamp(18px, 2.4vw, 30px);
  border: 1px solid var(--jb-line);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(23, 32, 41, .98), rgba(16, 21, 28, .98));
  box-shadow: 0 20px 54px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .035);
}

.jb69-section-kicker {
  display: block;
  margin: 0 0 7px;
  color: var(--jb-mint);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.jb69-location-discovery h2 {
  margin: 0 0 15px;
  color: var(--jb-white) !important;
  font-size: clamp(22px, 2.2vw, 32px);
  line-height: 1.15;
}

.jb69-faq-list {
  display: grid;
  gap: 8px;
}

.jb69-faq-item {
  border: 1px solid rgba(154, 199, 232, .14);
  border-radius: 12px;
  background: rgba(9, 12, 16, .58);
  overflow: hidden;
}

.jb69-faq-item[open] {
  border-color: rgba(114, 205, 187, .42);
  box-shadow: 0 0 24px rgba(114, 205, 187, .06);
}

.jb69-faq-item summary {
  position: relative;
  cursor: pointer;
  list-style: none;
  padding: 14px 44px 14px 16px;
  color: var(--jb-white);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.35;
}

.jb69-faq-item summary::-webkit-details-marker { display: none; }

.jb69-faq-item summary::after {
  content: "+";
  position: absolute;
  right: 16px;
  top: 50%;
  translate: 0 -50%;
  color: var(--jb-mint);
  font-size: 22px;
  font-weight: 400;
}

.jb69-faq-item[open] summary::after { content: "−"; }

.jb69-faq-item p {
  margin: 0;
  padding: 0 16px 15px;
  color: var(--jb-silver) !important;
  font-size: 13.5px;
  line-height: 1.62;
}

.jb69-tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.jb69-tag-cloud span {
  display: inline-flex;
  padding: 8px 11px;
  border: 1px solid rgba(114, 205, 187, .25);
  border-radius: 999px;
  background: rgba(114, 205, 187, .075);
  color: var(--jb-white);
  font-size: 12px;
  line-height: 1.25;
}

.jb69-tag-cloud span:nth-child(3n+2) {
  border-color: rgba(154, 199, 232, .26);
  background: rgba(154, 199, 232, .075);
}

@media (max-width: 900px) {
  .jb69-location-discovery__inner { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .jb69-location-discovery { padding: 18px 12px; }
  .jb69-location-faq,
  .jb69-location-tags { padding: 16px; border-radius: 14px; }
  .jb69-faq-item summary { padding-block: 12px; font-size: 13px; }
  .jb69-tag-cloud { gap: 6px; }
  .jb69-tag-cloud span { padding: 7px 9px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  .jb69-location-discovery *,
  .jb69-location-discovery *::before,
  .jb69-location-discovery *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* ==========================================================
   COMPLETE TEMPLATE COVERAGE
   One final palette for every public page, dashboard, form,
   directory, single profile, checkout and information route.
========================================================== */

body.page,
body.single,
body.archive,
body.blog,
body.search,
body.error404 {
  background: var(--jb-night) !important;
  color: var(--jb-white) !important;
}

.blog-main,
.wx-info-page,
.loc-page,
.verification-page,
.premium-login-wrap,
.sx-checkout,
.sx-packages,
.page-wrap,
.registration-page,
.agency-thankyou-page,
.bsr-reviews-page,
.tour-directory-main,
.trans-directory-main,
.single-profile,
.mt-profile-page,
.sd-premium-page,
.wizard-page,
.wizard-wrap,
.ep-root,
.te-page,
.tr-page,
.dash-layout,
.ds-root,
.nu-page,
.agency-public,
.escort-public,
.strip-club-public,
.country-page,
.city-page,
body > .container {
  background-color: var(--jb-night) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

.wizard-page,
.ep-root,
.te-page,
.tr-page,
.dash-layout,
.ds-root,
.nu-page,
.sx-checkout,
.sx-packages,
.bsr-reviews-page,
.single-profile,
.mt-profile-page,
.sd-premium-page,
.wx-info-page {
  --primary: var(--jb-mint) !important;
  --primary-color: var(--jb-mint) !important;
  --accent: var(--jb-frost) !important;
  --accent-color: var(--jb-frost) !important;
  --gold: var(--jb-mint) !important;
  --pink: var(--jb-mint) !important;
  --red: var(--jb-mint) !important;
  --danger: #e58f9b !important;
  --bg: var(--jb-night) !important;
  --background: var(--jb-night) !important;
  --surface: var(--jb-slate) !important;
  --surface-2: var(--jb-carbon) !important;
  --card: var(--jb-slate) !important;
  --card-bg: var(--jb-slate) !important;
  --text: var(--jb-white) !important;
  --heading: var(--jb-white) !important;
  --muted: var(--jb-silver) !important;
  --text-muted: var(--jb-silver) !important;
  --border: var(--jb-line) !important;
  --line: var(--jb-line) !important;
}

.wizard-card,
.ep-card,
.ds-card,
.sd-card,
.ae-card,
.nu-card,
.mt-card,
.panel,
.postbox,
.account-card,
.account-info,
.account-features,
.verify-card,
.verification-card,
.login-card,
.premium-login-card,
.sx-card,
.sx-summary,
.sx-package-card,
.bsr-review-card,
.bsr-review-form,
.wx-info-container,
.wx-info-section,
.wx-info-side-card,
.fp-commercial-card,
.agency-dashboard-review-notice,
.ds-wide-panel,
.sd-wide-panel,
.te-section,
.tr-section,
.ae-section,
.trans-section,
.form-section,
.form-panel,
.content-panel,
.info-box,
.notice-box,
.cred-info,
.terms-row,
.service-card,
.feature-item {
  background: linear-gradient(145deg, rgba(23, 32, 41, .99), rgba(16, 21, 28, .99)) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .26) !important;
}

.ds-card-head,
.ep-header,
.ae-card-head,
.nu-card-head,
.panel-title,
.postbox-header,
.sp-title-bar,
.sd-section-head,
.mt-section-head,
.block-head,
.modal-header,
.dialog-header,
.form-header {
  background: var(--jb-carbon) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

.ds-card-body,
.ae-card-body,
.vb-doc-card-body,
.nu-profile-body,
.modal-body,
.dialog-body,
.form-body {
  background: var(--jb-slate) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

.wizard-title,
.ep-title,
.ds-card-title,
.ae-card-title,
.nu-card-head,
.panel-title,
.sp-main-title,
.sd-name,
.sp-section-title,
.te-section-title,
.tr-section-title,
.vb-section-title,
.sidebar-title,
.form-title,
.page-title,
.entry-title {
  color: var(--jb-white) !important;
}

.wizard-sub,
.ep-subtitle,
.ae-section-sub,
.ep-hint,
.ae-hint,
.hint,
.ds-stat-label,
.ds-detail-key,
.sd-defkey,
.sp-subline,
.entry-meta,
.posted-on,
.byline {
  color: var(--jb-silver) !important;
}

.field,
.form-field,
.wx-field,
.ep-field,
.ae-field,
.te-field,
.tr-field,
.trans-field,
.form-row,
.ep-form-row,
.ae-form-row,
.wx-form-row,
.form-grid,
.te-grid,
.tr-grid,
.services-grid,
.preview-grid {
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

.form-label,
.ep-label,
.ae-label,
.te-label,
.tr-label,
.label,
.section-label,
.form-table th,
table th {
  color: var(--jb-white) !important;
}

.form-input,
.form-select,
.ep-input,
.ep-select,
.ae-input,
.ae-select,
.regular-text,
.widefat,
.file-box,
.select2-container .select2-selection,
.select2-dropdown,
.select2-search__field {
  background: #0d1319 !important;
  color: var(--jb-white) !important;
  border-color: rgba(154, 199, 232, .28) !important;
}

.select2-results__option,
.dropdown-menu,
.mobile-cc-dropdown,
.submenu,
.sub-menu,
.popover,
.modal-content,
.dialog-content {
  background: var(--jb-carbon) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .42) !important;
}

.select2-results__option--highlighted,
.dropdown-menu a:hover,
.sub-menu a:hover {
  background: rgba(114, 205, 187, .14) !important;
  color: var(--jb-white) !important;
}

table,
.form-table,
.widefat,
.wp-list-table {
  background: var(--jb-slate) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

table thead,
table tfoot,
.widefat thead,
.widefat tfoot {
  background: var(--jb-carbon) !important;
}

table td,
table th,
.widefat td,
.widefat th {
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

table tbody tr:nth-child(even),
.widefat tbody tr:nth-child(even) {
  background: rgba(154, 199, 232, .035) !important;
}

.notice,
.notice-success,
.ds-success-banner,
.wx-contact-alert,
.status-banner,
.ds-status-banner {
  background: rgba(114, 205, 187, .10) !important;
  color: var(--jb-white) !important;
  border-color: rgba(114, 205, 187, .38) !important;
}

.notice-error,
.error,
.alert-error {
  background: rgba(229, 143, 155, .10) !important;
  color: #ffdce1 !important;
  border-color: rgba(229, 143, 155, .45) !important;
}

.notice-warning,
.pending,
.alert-warning {
  background: rgba(154, 199, 232, .10) !important;
  color: var(--jb-white) !important;
  border-color: rgba(154, 199, 232, .38) !important;
}

.ds-nav-item,
.ds-sidebar-section,
.tab-link,
.tabs a,
.progress-dots,
.ds-step,
.next-step,
.prev-step {
  color: var(--jb-silver) !important;
  border-color: var(--jb-line) !important;
}

.ds-nav-item.active,
.ds-nav-item:hover,
.tab-link.active,
.tabs a.active,
.ds-step.active,
.progress-dots .active {
  background: rgba(114, 205, 187, .12) !important;
  color: var(--jb-mint) !important;
  border-color: rgba(114, 205, 187, .42) !important;
}

.ds-stat,
.ds-detail-item,
.ds-package-row,
.sd-defrow,
.sd-gallery-card,
.sd-gallery-thumb,
.ds-photo-thumb,
.preview-item,
.gallery-item {
  background: rgba(9, 12, 16, .58) !important;
  color: var(--jb-white) !important;
  border-color: var(--jb-line) !important;
}

.ds-stat-value,
.ds-detail-val,
.sd-defval,
.value {
  color: var(--jb-white) !important;
}

.ds-tag,
.trans-pill,
.sd-meeting-badge,
.footer-badges span,
.profile-tag,
.category-tag {
  background: rgba(114, 205, 187, .09) !important;
  color: var(--jb-mint) !important;
  border-color: rgba(114, 205, 187, .30) !important;
}

.ds-btn,
.ep-btn,
.ae-btn,
.sx-btn,
.sd-cta-btn,
.account-btn,
.fp-primary-btn,
.button-primary,
.btn-gold,
.ds-btn-gold,
.ep-btn-gold,
.ae-btn-gold {
  background: var(--jb-mint) !important;
  color: var(--jb-night) !important;
  border-color: var(--jb-mint) !important;
  box-shadow: 0 9px 26px rgba(114, 205, 187, .18) !important;
}

.ds-btn-ghost,
.ep-btn-ghost,
.btn-ghost,
.fp-secondary-btn,
.button-secondary {
  background: transparent !important;
  color: var(--jb-frost) !important;
  border-color: rgba(154, 199, 232, .42) !important;
}

.ds-btn:hover,
.ep-btn:hover,
.ae-btn:hover,
.sx-btn:hover,
.sd-cta-btn:hover,
.account-btn:hover,
.fp-primary-btn:hover,
.button-primary:hover,
.btn-gold:hover {
  background: var(--jb-frost) !important;
  color: var(--jb-night) !important;
  border-color: var(--jb-frost) !important;
}

.entry-content blockquote,
.location-prose blockquote,
blockquote {
  background: rgba(154, 199, 232, .07) !important;
  color: var(--jb-silver) !important;
  border-color: var(--jb-mint) !important;
}

hr,
.divider,
.ds-divider {
  border-color: var(--jb-line) !important;
  background: var(--jb-line) !important;
}

code,
pre,
kbd {
  background: #0d1319 !important;
  color: var(--jb-frost) !important;
  border-color: var(--jb-line) !important;
}

/* Neutralize old white/red/gold inline presentation colors in public UI. */
body [style*="background:#fff"],
body [style*="background: #fff"],
body [style*="background:#ffffff"],
body [style*="background: #ffffff"],
body [style*="background-color:#fff"],
body [style*="background-color: #fff"] {
  background: var(--jb-slate) !important;
}

body [style*="color:#212529"],
body [style*="color: #212529"],
body [style*="color:#111"],
body [style*="color: #111"],
body [style*="color:#000"],
body [style*="color: #000"] {
  color: var(--jb-white) !important;
}

body [style*="color:#6c757d"],
body [style*="color: #6c757d"],
body [style*="color:#777"],
body [style*="color: #777"],
body [style*="color:#555"],
body [style*="color: #555"] {
  color: var(--jb-silver) !important;
}

body [style*="background:#dc3545"],
body [style*="background: #dc3545"],
body [style*="background:#ef6470"],
body [style*="background: #ef6470"] {
  background: var(--jb-mint) !important;
  color: var(--jb-night) !important;
}

@media (max-width: 782px) {
  .wizard-card,
  .ep-card,
  .ds-card,
  .ae-card,
  .nu-card,
  .panel,
  .account-card,
  .wx-info-container {
    border-radius: 14px !important;
  }

  .dash-layout,
  .ds-content-grid,
  .sd-page-grid,
  .wx-info-container {
    gap: 14px !important;
  }
}
