/* ============================================================
   PINK / WHITE / BLACK PREMIUM PALETTE
   Final site-wide visual consistency layer.
============================================================ */

:root {
  --pwb-pink: #ff2d8f;
  --pwb-pink-dark: #be125b;
  --pwb-pink-deep: #7b083c;
  --pwb-pink-light: #ff89bc;
  --pwb-pink-pale: #ffe0ee;
  --pwb-blush: #fff3f8;
  --pwb-black: #080808;
  --pwb-black-soft: #111111;
  --pwb-charcoal: #1c1c1c;
  --pwb-white: #ffffff;
  --pwb-off-white: #fafafa;
  --pwb-grey: #ededed;
  --pwb-mid-grey: #7e7e7e;

  --bg: var(--pwb-white);
  --paper: var(--pwb-white);
  --paper-soft: var(--pwb-blush);
  --ink: var(--pwb-black);
  --muted: #565656;
  --line: var(--pwb-grey);
  --brand: var(--pwb-pink-dark);
  --brand-soft: var(--pwb-pink-pale);
  --lux-red: var(--pwb-black-soft);
  --lux-gold: var(--pwb-pink);
  --wx-brand: var(--pwb-black) !important;
  --wx-brand-dark: var(--pwb-black) !important;
  --wx-red: var(--pwb-pink-dark) !important;
  --wx-gold: var(--pwb-pink) !important;
}

html,
body {
  background: var(--pwb-white);
  color: var(--pwb-black);
}

body,
button,
input,
select,
textarea {
  font-family: Roboto, Arial, sans-serif;
}

a {
  color: var(--pwb-pink-dark);
}

a:hover,
a:focus-visible {
  color: var(--pwb-pink-deep);
}

::selection {
  background: var(--pwb-pink);
  color: var(--pwb-white);
}

/* Header */
.site-header.premium-header,
.mobile-premium-header,
.premium-header-inner,
.mobile-top-row,
.mobile-bottom-row {
  background: var(--pwb-black) !important;
  border-color: rgba(255, 45, 143, 0.34) !important;
}

.site-header.premium-header,
.site-header.premium-header a,
.site-header.premium-header button,
.mobile-premium-header,
.mobile-premium-header a,
.mobile-premium-header button,
.laex-site-brand {
  color: var(--pwb-white) !important;
}

.site-header.premium-header a:hover,
.site-header.premium-header a:focus-visible,
.mobile-premium-header a:hover,
.mobile-premium-header a:focus-visible {
  color: var(--pwb-pink-light) !important;
}

.site-header.premium-header .btn-register,
.site-header.premium-header .mobile-login-btn,
.mobile-login-btn,
.fp-primary-btn,
.btn-gold,
.ds-btn-gold,
.ep-btn-gold,
button[type="submit"],
input[type="submit"],
.wp-element-button {
  background: linear-gradient(135deg, var(--pwb-pink) 0%, var(--pwb-pink-dark) 100%) !important;
  border-color: var(--pwb-pink) !important;
  color: var(--pwb-white) !important;
  box-shadow: 0 10px 24px rgba(255, 45, 143, 0.2);
}

.site-header.premium-header .btn-register:hover,
.site-header.premium-header .mobile-login-btn:hover,
.mobile-login-btn:hover,
.fp-primary-btn:hover,
.btn-gold:hover,
.ds-btn-gold:hover,
.ep-btn-gold:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wp-element-button:hover {
  background: var(--pwb-black) !important;
  border-color: var(--pwb-pink) !important;
  color: var(--pwb-pink-light) !important;
}

.header-search input,
.callglin-smart-search-form input,
.mobile-cc-search,
.drawer-search input {
  background: var(--pwb-white) !important;
  border-color: var(--pwb-pink-dark) !important;
  color: var(--pwb-black) !important;
}

.header-search input::placeholder,
.callglin-smart-search-form input::placeholder,
.mobile-cc-search::placeholder,
.drawer-search input::placeholder {
  color: var(--pwb-mid-grey) !important;
}

.header-search button,
.callglin-smart-search-form button,
.mobile-search-icon,
.mobile-menu-btn,
.mobile-cc-toggle,
.lang-current,
.mobile-theme-toggle {
  border-color: var(--pwb-pink) !important;
}

.language-menu,
.mobile-cc-dropdown,
.mobile-menu-drawer,
.mobile-drawer,
.drawer-panel {
  background: var(--pwb-black-soft) !important;
  border-color: rgba(255, 45, 143, 0.35) !important;
  color: var(--pwb-white) !important;
}

.language-menu a,
.mobile-cc-dropdown button,
.mobile-menu-drawer a,
.mobile-drawer a,
.drawer-panel a {
  color: var(--pwb-white) !important;
}

.language-menu a:hover,
.mobile-cc-dropdown button:hover,
.mobile-menu-drawer a:hover,
.mobile-drawer a:hover,
.drawer-panel a:hover {
  background: rgba(255, 45, 143, 0.14) !important;
  color: var(--pwb-pink-light) !important;
}

/* Main surfaces and typography */
main,
.site-main,
.home-main,
.page-content,
.entry-content {
  background-color: var(--pwb-white);
}

.section-heading,
.block-title,
.entry-title,
.page-title,
.fp-seo-content h2,
.fp-seo-content h3 {
  color: var(--pwb-black) !important;
}

.fp-section-kicker,
.sx-accent,
.wx-eyebrow,
.section-kicker,
.eyebrow,
.card-kicker {
  color: var(--pwb-pink-dark) !important;
}

/* Cards, listings and location controls */
.escort-card,
.profile-card,
.agency-card,
.massage-card,
.club-card,
.review-card,
.package-card,
.location-card,
.city-card,
.info-card,
.content-card,
.sidebar-card,
.cc-strip .cc-cities {
  background: var(--pwb-white) !important;
  border-color: rgba(190, 18, 91, 0.2) !important;
  box-shadow: 0 12px 34px rgba(8, 8, 8, 0.08);
}

.escort-card:hover,
.profile-card:hover,
.agency-card:hover,
.massage-card:hover,
.club-card:hover,
.review-card:hover,
.package-card:hover,
.location-card:hover,
.city-card:hover {
  border-color: var(--pwb-pink) !important;
  box-shadow: 0 18px 42px rgba(255, 45, 143, 0.16);
}

.cc-strip,
.location-strip,
.directory-toolbar,
.filter-bar {
  background: var(--pwb-white) !important;
  border-color: var(--pwb-grey) !important;
}

.cc-strip .cc-country-select,
.cc-strip .cc-city,
.location-pill,
.filter-pill,
.chip {
  background: var(--pwb-white) !important;
  border-color: var(--pwb-pink-dark) !important;
  color: var(--pwb-black) !important;
}

.cc-strip .cc-city:hover,
.location-pill:hover,
.filter-pill:hover,
.chip:hover,
.chip.active {
  background: var(--pwb-pink-pale) !important;
  border-color: var(--pwb-pink) !important;
  color: var(--pwb-black) !important;
}

.cc-strip .cc-count,
.badge,
.profile-badge,
.verified-badge,
.featured-badge,
.premium-badge {
  background: var(--pwb-pink) !important;
  color: var(--pwb-white) !important;
  border-color: var(--pwb-pink-dark) !important;
}

/* Forms */
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
select,
textarea {
  background: var(--pwb-white);
  border-color: #bfbfbf;
  color: var(--pwb-black);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):focus,
select:focus,
textarea:focus {
  border-color: var(--pwb-pink) !important;
  box-shadow: 0 0 0 3px rgba(255, 45, 143, 0.14) !important;
  outline: none;
}

input[type="checkbox"],
input[type="radio"] {
  accent-color: var(--pwb-pink);
}

/* Dark dashboard and wizard surfaces */
.ds-root,
.ds-root .ds-main,
.ds-root .ds-content,
.ep-root,
.ep-root .ep-main,
.ep-root .ep-content,
.wizard-page,
.wizard-theme {
  --gold: var(--pwb-pink) !important;
  --gold-light: var(--pwb-pink-light) !important;
  --gold-dim: rgba(255, 45, 143, 0.18) !important;
  --gold-glow: rgba(255, 45, 143, 0.09) !important;
  --bg: var(--pwb-black) !important;
  --bg2: var(--pwb-black-soft) !important;
  --bg3: var(--pwb-charcoal) !important;
  --bg4: #2d2d2d !important;
  --text: var(--pwb-white) !important;
  --text-muted: #bfbfbf !important;
  --text-dim: #7e7e7e !important;
  background: var(--pwb-black) !important;
  color: var(--pwb-white) !important;
}

.ds-root .ds-card,
.ds-root .ds-stat,
.ds-root .ds-detail-item,
.ds-root .ds-photo-thumb,
.ds-root .ds-sidebar,
.ds-root .ds-topbar,
.ep-root .ep-card,
.ep-root .ep-field-card,
.wizard-page .wizard-card,
.wizard-theme .wizard-card {
  background: var(--pwb-black-soft) !important;
  border-color: rgba(255, 45, 143, 0.22) !important;
  color: var(--pwb-white) !important;
}

.ds-root .ds-card-title,
.ds-root .ds-section-title,
.ep-root .ep-card-title,
.ep-root .ep-section-title,
.wizard-page .step-title,
.wizard-theme .step-title {
  color: var(--pwb-pink-light) !important;
}

.ds-root input,
.ds-root select,
.ds-root textarea,
.ep-root input,
.ep-root select,
.ep-root textarea,
.wizard-page input,
.wizard-page select,
.wizard-page textarea,
.wizard-theme input,
.wizard-theme select,
.wizard-theme textarea {
  background: var(--pwb-charcoal) !important;
  border-color: #565656 !important;
  color: var(--pwb-white) !important;
}

/* Footer */
.site-footer.premium-footer,
.compact-premium-footer {
  background: var(--pwb-black) !important;
  border-top: 2px solid var(--pwb-pink) !important;
  color: var(--pwb-white) !important;
}

.site-footer.premium-footer h4,
.compact-premium-footer h4 {
  color: var(--pwb-pink-light) !important;
}

.site-footer.premium-footer p,
.site-footer.premium-footer span,
.compact-premium-footer p,
.compact-premium-footer span {
  color: #bfbfbf !important;
}

.site-footer.premium-footer a,
.compact-premium-footer a {
  color: var(--pwb-white) !important;
}

.site-footer.premium-footer a:hover,
.compact-premium-footer a:hover {
  color: var(--pwb-pink-light) !important;
}

.footer-badges span {
  background: rgba(255, 45, 143, 0.12) !important;
  border-color: rgba(255, 45, 143, 0.32) !important;
  color: var(--pwb-pink-light) !important;
}

.footer-bottom,
.compact-footer-bottom {
  border-color: rgba(255, 255, 255, 0.12) !important;
}

/* Accessible focus treatment */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(255, 45, 143, 0.45);
  outline-offset: 2px;
}

@media (max-width: 782px) {
  .site-header.premium-header,
  .mobile-premium-header {
    box-shadow: 0 8px 24px rgba(8, 8, 8, 0.24);
  }

  .escort-card,
  .profile-card,
  .agency-card,
  .massage-card,
  .club-card,
  .review-card,
  .package-card,
  .location-card,
  .city-card {
    box-shadow: 0 8px 22px rgba(8, 8, 8, 0.08);
  }
}
