:root {
  --ge-bg: #f5f0ed;
  --ge-bg-card: #ffffff;
  --ge-bg-input: #faf8f6;
  --ge-text: #2d2d2d;
  --ge-text-secondary: #555;
  --ge-text-muted: #888;
  --ge-text-faint: #ccc;
  --ge-accent: #e8a598;
  --ge-accent-hover: #d9897a;
  --ge-accent-light: rgba(232,165,152,0.12);
  --ge-border: #ede8e5;
  --ge-border-light: #f0ebe8;
  --ge-shadow: rgba(0,0,0,0.07);
  --ge-overlay: rgba(0,0,0,0.45);
}

html.ge-dark {
  --ge-bg: #1a1a1a;
  --ge-bg-card: #242424;
  --ge-bg-input: #2a2a2a;
  --ge-text: #e8e8e8;
  --ge-text-secondary: #bbb;
  --ge-text-muted: #888;
  --ge-text-faint: #555;
  --ge-accent: #e8a598;
  --ge-accent-hover: #f0b5a8;
  --ge-accent-light: rgba(232,165,152,0.15);
  --ge-border: #333;
  --ge-border-light: #2d2d2d;
  --ge-shadow: rgba(0,0,0,0.3);
  --ge-overlay: rgba(0,0,0,0.7);
}

/* ══ DARK THEME OVERRIDES ══ */
html.ge-dark body { background: var(--ge-bg) !important; color: var(--ge-text) !important; }
html.ge-dark .ge-layout { background: var(--ge-bg); }
html.ge-dark .ge-main { background: transparent; }

/* Header */
html.ge-dark header, html.ge-dark [data-id="header"] { background: #1e1e1e !important; border-color: #333 !important; }
html.ge-dark .ct-menu-link { color: var(--ge-text-secondary) !important; }
html.ge-dark .ct-menu-link:hover { color: var(--ge-accent) !important; }

/* Cards */
html.ge-dark .ge-card { background: var(--ge-bg-card); }
html.ge-dark .ge-card-overlay { background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, transparent 100%); }
html.ge-dark .ge-card-wrap { background: var(--ge-bg-card); border-radius: 14px; }

/* Sidebar */
html.ge-dark .ge-sidebar { background: var(--ge-bg-card) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-city-link { color: var(--ge-text-secondary) !important; }
html.ge-dark .ge-city-link:hover, html.ge-dark .ge-city-link.active { color: var(--ge-accent) !important; }
html.ge-dark .ge-country-name { color: var(--ge-text) !important; }

/* Filters */
html.ge-dark .ge-filters, html.ge-dark .ge-filter-bar { background: var(--ge-bg-card) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-filter-select, html.ge-dark .ge-loc-btn, html.ge-dark .ge-filter-services-btn { background: var(--ge-bg-input) !important; border-color: var(--ge-border) !important; color: var(--ge-text) !important; }
html.ge-dark .ge-filter-label { color: var(--ge-text-muted) !important; }

/* Profile/Listing page */
html.ge-dark .ge-profile { background: var(--ge-bg); }
html.ge-dark .ge-profile-info { background: var(--ge-bg-card) !important; }
html.ge-dark .ge-profile-name { color: var(--ge-text) !important; }
html.ge-dark .ge-profile-location a { color: var(--ge-text-secondary) !important; }
html.ge-dark .ge-stat { background: var(--ge-bg-input) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-stat-label { color: var(--ge-text-muted) !important; }
html.ge-dark .ge-stat-value { color: var(--ge-text) !important; }
html.ge-dark .ge-profile-section { color: var(--ge-text-secondary); }
html.ge-dark .ge-section-title { color: var(--ge-text-muted) !important; }
html.ge-dark .ge-rate-row { background: var(--ge-bg-input) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-rate-label { color: var(--ge-text-secondary) !important; }
html.ge-dark .ge-rate-price { color: var(--ge-accent) !important; }
html.ge-dark .ge-service-tag { background: var(--ge-bg-input) !important; border-color: var(--ge-border) !important; color: var(--ge-text-secondary) !important; }
html.ge-dark .ge-avail-badge { background: var(--ge-bg-input) !important; border-color: var(--ge-border) !important; color: var(--ge-text-secondary) !important; }

/* Phone block */
html.ge-dark .ge-profile-phone > div { background: var(--ge-bg-input) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-profile-phone span { color: var(--ge-text) !important; }

/* Fav/Report buttons */
html.ge-dark .ge-fav-btn, html.ge-dark .ge-report-btn { background: var(--ge-bg-input) !important; }

/* Account page */
html.ge-dark .ge-account-wrap { background: var(--ge-bg); }
html.ge-dark .ge-account-nav { background: var(--ge-bg-card) !important; }
html.ge-dark .ge-account-main { background: var(--ge-bg-card) !important; }
html.ge-dark .ge-account-name { color: var(--ge-text) !important; }
html.ge-dark .ge-account-links a { color: var(--ge-text-secondary) !important; }
html.ge-dark .ge-account-links a.active { color: var(--ge-accent) !important; }
html.ge-dark .ge-listing-card { background: var(--ge-bg-card) !important; box-shadow: 0 1px 8px var(--ge-shadow) !important; }
html.ge-dark .ge-listing-name { color: var(--ge-text) !important; }
html.ge-dark .ge-listing-actions a, html.ge-dark .ge-listing-actions button { border-color: var(--ge-border) !important; color: var(--ge-text-secondary) !important; background: var(--ge-bg-input) !important; }

/* Forms */
html.ge-dark .ge-form-group input, html.ge-dark .ge-form-group select, html.ge-dark .ge-form-group textarea, html.ge-dark .ge-custom-select-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: var(--ge-text) !important; }
html.ge-dark .ge-field-filled { background: #2a2a2a !important; border-color: #e8a598 !important; }
html.ge-dark .ge-form-group label { color: var(--ge-text-muted) !important; }
html.ge-dark .ge-form-section-title { color: var(--ge-text-muted) !important; }
html.ge-dark .ge-profile-form { background: transparent; }

/* Auth page */
html.ge-dark .ge-auth-box { background: var(--ge-bg-card) !important; }
html.ge-dark .ge-auth-field input { background: var(--ge-bg-input) !important; border-color: var(--ge-border) !important; color: var(--ge-text) !important; }
html.ge-dark .ge-auth-tab { color: var(--ge-text-muted) !important; }
html.ge-dark .ge-auth-tab.active { color: var(--ge-accent) !important; }

/* Agencies */
html.ge-dark .ge-agencies-wrap { background: var(--ge-bg); }

/* Footer */
html.ge-dark footer, html.ge-dark .ge-footer { background: #1a1a1a !important; color: var(--ge-text-muted) !important; }

/* Offcanvas mobile menu */
html.ge-dark #offcanvas .ct-panel-inner { background: var(--ge-bg-card) !important; }
html.ge-dark #offcanvas .ct-menu-link, html.ge-dark #offcanvas .menu-item a { color: var(--ge-text) !important; }

/* Support/Tickets */
html.ge-dark .ge-support-page-box, html.ge-dark .ge-support-form-box, html.ge-dark .ge-ticket-row { background: var(--ge-bg-card) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-ticket-subj { color: var(--ge-text) !important; }

/* Scrollbar — same width in both themes */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f0edeb; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #aaa; }
html.ge-dark ::-webkit-scrollbar-track { background: var(--ge-bg); }
html.ge-dark ::-webkit-scrollbar-thumb { background: #444; }

/* Map — keep light, no invert */
html.ge-dark .ge-profile-section iframe { filter: brightness(0.85) contrast(1.1); }
html.ge-dark .leaflet-container { filter: none !important; border-color: #3a3a3a !important; }
html.ge-dark .leaflet-container img { filter: none !important; }
html.ge-dark #ge-listing-map { border-color: #3a3a3a !important; }

/* Balance page */
html.ge-dark .ge-bal-hero { background: linear-gradient(135deg, #2a2a2a, #282425) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-bal-section { background: var(--ge-bg-card) !important; border-color: var(--ge-border) !important; }
html.ge-dark .ge-bal-pkg { background: var(--ge-bg-card) !important; border-color: var(--ge-border) !important; }

/* Generic overrides */
html.ge-dark h1, html.ge-dark h2, html.ge-dark h3, html.ge-dark h4 { color: var(--ge-text) !important; }
html.ge-dark a { color: var(--ge-accent); }
html.ge-dark hr { border-color: var(--ge-border); }

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

/* ===== GETESCORTS DESIGN TOKENS ===== */
:root {
    --ge-accent: #e8a598;
    --ge-accent-hover: #d9897a;
    --ge-accent-light: #fff5f3;
    --ge-accent-bg: linear-gradient(180deg, #fef0ec 0%, #fde8e3 100%);
    --ge-text: #2d2d2d;
    --ge-text-secondary: #555;
    --ge-text-muted: #aaa;
    --ge-text-faint: #ccc;
    --ge-border: #ede8e5;
    --ge-border-focus: #e8a598;
    --ge-bg-page: #f0edeb;
    --ge-bg-input: #faf8f6;
    --ge-bg-card: #fff;
    --ge-card-border: 1px solid #e5e0dd;
    --ge-bg-subtle: #f5f0ee;
    --ge-input-padding: 10px 12px;
    --ge-input-radius: 8px;
    --ge-input-border: 1.5px solid var(--ge-border);
    --ge-input-font: 14px;
    --ge-label-size: 11px;
    --ge-label-weight: 700;
    --ge-label-color: #aaa;
    --ge-label-spacing: 0.8px;
    --ge-card-radius: 14px;
    --ge-card-shadow: 0 1px 8px rgba(0,0,0,0.06);
    --ge-card-padding: 24px;
    --ge-btn-radius: 10px;
    --ge-btn-padding: 10px 20px;
    --ge-section-size: 11px;
    --ge-section-color: #aaa;
    --ge-success: #16a34a;
    --ge-warning: #d97706;
    --ge-error: #dc2626;
    --ge-info: #3b82f6;
    --ge-phone-color: #555;
    --ge-wa-color: #25D366;
    --ge-tg-color: #229ED9;
    --theme-font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
    --theme-font-stack-default: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* ===== GETESCORTS GLOBAL ===== */
* { box-sizing: border-box; }
body { background: var(--ge-bg-page); font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; color: var(--ge-text); margin: 0; }
/* White cards — subtle border so they don't blast on gray bg */
.ge-profile-info,
.ge-account-nav,
.ge-profile-form,
.ge-listing-card,
.ge-listing-row,
.ge-auth-box,
.ge-sidebar-box,
.ge-verify-instructions,
.ge-verify-no-listings,
.ge-verify-status-block,
.ge-verify-form,
.ge-filter-bar {
    border: 1px solid #e5e0dd;
}
html.ge-dark .ge-profile-info,
html.ge-dark .ge-account-nav,
html.ge-dark .ge-profile-form,
html.ge-dark .ge-listing-card,
html.ge-dark .ge-listing-row,
html.ge-dark .ge-auth-box,
html.ge-dark .ge-sidebar-box,
html.ge-dark .ge-verify-instructions,
html.ge-dark .ge-verify-no-listings,
html.ge-dark .ge-verify-status-block,
html.ge-dark .ge-verify-form,
html.ge-dark .ge-filter-bar {
    border-color: #333;
}

/* ══ CUSTOM HEADER ══ */
#ge-header {
    background: #1e1e1e;
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 9999;
}
.ge-hdr-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 32px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.ge-hdr-logo {
    font-family: 'Inter', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: #e8e8e8 !important;
    text-decoration: none !important;
    letter-spacing: -0.5px;
    flex-shrink: 0;
}
.ge-hdr-logo span { color: #e8a598; }
.ge-hdr-nav {
    display: flex;
    align-items: center;
    gap: 4px;
}
.ge-hdr-link, .ge-hdr-balance {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #bbb !important;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 0 16px;
    height: 84px;
    display: inline-flex;
    align-items: center;
    border-radius: 0;
    transition: all 0.15s;
    white-space: nowrap;
}
.ge-hdr-link:hover, .ge-hdr-balance:hover {
    background: rgba(232,165,152,0.12);
    color: #e8a598 !important;
}
.ge-hdr-active {
    background: rgba(232,165,152,0.12) !important;
    color: #e8a598 !important;
}
.ge-hdr-balance span { color: #f59e0b !important; font-weight: 700; }
.ge-hdr-add {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #fff !important;
    text-decoration: none !important;
    background: #e8a598;
    padding: 8px 20px;
    border-radius: 24px;
    margin-left: 8px;
    transition: background 0.15s;
    white-space: nowrap;
}
.ge-hdr-add:hover { background: #d9897a; }
.ge-hdr-burger {
    display: none;
    flex-direction: column;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
}
.ge-hdr-burger span {
    display: block;
    width: 22px;
    height: 2px;
    background: #e8a598;
    border-radius: 2px;
}

/* Hide Blocksy header */
header#header, header.ct-header, [data-id="type-1"] { display: none !important; }

/* Mobile */
@media (max-width: 900px) {
    .ge-hdr-nav { display: none; }
    .ge-hdr-burger { display: flex; }
    .ge-hdr-inner { padding: 0 16px; }
}

/* ══ MOBILE MENU — DROPDOWN FROM TOP ══ */
.ge-mobile-menu {
    position: fixed;
    top: 0; left: 0; right: 0;
    width: 100%;
    max-height: 85vh;
    background: #1e1e1e;
    z-index: 10000;
    transform: translateY(-100%);
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0.3s;
    box-shadow: 0 8px 30px rgba(0,0,0,0.25);
    border-radius: 0 0 16px 16px;
    overflow-y: auto;
    visibility: hidden;
}
.ge-mobile-menu.open { transform: translateY(0); visibility: visible; transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s 0s; }
.ge-mm-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #333;
}
.ge-mm-close {
    background: none;
    border: none;
    color: #e8a598;
    font-size: 28px;
    cursor: pointer;
    padding: 0 8px;
}
.ge-mm-nav {
    display: flex;
    flex-direction: column;
    padding: 8px 0;
}
.ge-mm-link {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #ccc !important;
    text-decoration: none !important;
    padding: 14px 24px;
    border-bottom: 1px solid #2a2a2a;
    transition: all 0.15s;
}
.ge-mm-link:hover {
    background: rgba(232,165,152,0.12);
    color: #e8a598 !important;
}
.ge-mm-link.ge-hdr-active {
    background: rgba(232,165,152,0.12);
    color: #e8a598 !important;
    font-weight: 600;
}
.ge-mm-stars { color: #f59e0b !important; font-weight: 700; }
.ge-mm-add {
    font-family: 'Inter', sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #fff !important;
    text-decoration: none !important;
    background: #e8a598;
    margin: 16px 20px;
    padding: 14px;
    border-radius: 12px;
    text-align: center;
    display: block;
}
.ge-mm-add:hover { background: #d9897a; }

/* Dark theme — header stays same */
/* Ensure no Blocksy elements create visual artifacts above content */
.ct-drawer-canvas, #offcanvas, #search-modal { position: fixed; }
html.ge-dark .ge-mobile-menu { background: #1e1e1e; }

/* LAYOUT */
.ge-layout { display: flex; max-width: 1400px; margin: 32px auto; padding: 0 24px; gap: 28px; }

/* SIDEBAR */
.ge-sidebar { width: 220px; flex-shrink: 0; }
.ge-sidebar-title { font-size: 11px; font-weight: 700; color: #aaa; text-transform: uppercase; letter-spacing: 1.2px; margin: 0 0 12px 4px; }
.ge-country { margin-bottom: 6px; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.ge-country-header { display: flex; align-items: center; gap: 8px; padding: 10px 14px; font-size: 13px; font-weight: 600; color: #2d2d2d; }
.ge-flag { font-size: 18px; line-height: 1; }
.ge-cities { padding: 4px 8px 8px; }
.ge-city-link { display: block; padding: 6px 12px; font-size: 13px; color: #555 !important; text-decoration: none !important; border-radius: 6px; transition: all 0.15s; }
.ge-city-link:hover, .ge-city-link.active { background: #fff0ed; color: #e8a598 !important; font-weight: 500; }

/* GRID */
.ge-main { flex: 1; min-width: 0; }
.ge-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

/* CARD */
.ge-card { position: relative; border-radius: 14px; overflow: hidden; aspect-ratio: 3/4; background: #e0d8d4; box-shadow: 0 2px 12px rgba(0,0,0,0.1); transition: transform 0.2s, box-shadow 0.2s; cursor: pointer; text-decoration: none !important; display: block; }
.ge-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.16); }
.ge-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ge-card-overlay { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(to top, rgba(0,0,0,0.72) 0%, transparent 100%); padding: 36px 14px 14px; }
/* Verified badge on card */
.ge-verified-badge { position: absolute; top: 10px; right: 10px; width: 26px; height: 26px; display: block; filter: drop-shadow(0 1px 3px rgba(0,0,0,0.25)); }
.ge-verified-badge svg { width: 100%; height: 100%; display: block; }
/* Verified badge inline (profile name) */
.ge-verified-badge-inline { position: static; display: inline-flex; width: 21px; height: 21px; vertical-align: middle; margin-left: 0px; margin-bottom: 2px; filter: none; }
.ge-card-name { font-size: 16px; font-weight: 600; color: #fff !important; margin: 0 0 2px; }
.ge-card-city { font-size: 12px; color: rgba(255,255,255,0.75) !important; }

/* HIDE WP/GD JUNK */
.geodir-search-form, .gd-search-bar-layout, .geodir-loop-actions, .gd-rating-count, .geodir-post-meta-container { display: none !important; }
.entry-title.page-title, h1.entry-title, .wp-block-post-title { display: none !important; }

/* RESPONSIVE */
@media (max-width: 1024px) { .ge-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
    .ge-layout { flex-direction: column; padding: 0 12px; margin: 16px auto; }
    .ge-sidebar { width: 100%; }
    .ge-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}

/* SIDEBAR TOGGLE */
.ge-country-header { cursor: pointer; user-select: none; justify-content: space-between; }
.ge-arrow { font-size: 16px; color: #ccc; transition: transform 0.2s; margin-left: auto; }
.ge-country.open .ge-arrow { transform: rotate(90deg); color: #e8a598; }
.ge-cities { display: none; }
.ge-country.open .ge-cities { display: block; }

/* SIDEBAR - единый блок */
.ge-sidebar-box {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    overflow: hidden;
}
.ge-country { margin-bottom: 0; border-radius: 0; box-shadow: none; background: transparent; border-bottom: 1px solid #f5f0ee; }
.ge-country:last-child { border-bottom: none; }

/* REGION (continent) toggle */
.ge-region { border-bottom: 1px solid #f5f0ee; }
.ge-region:last-child { border-bottom: none; }
.ge-region-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; cursor: pointer; user-select: none; font-size: 14px; font-weight: 700; color: #2d2d2d; transition: background 0.15s; }
.ge-region-header:hover { background: #fff5f3; }
.ge-region-name { display: flex; align-items: center; gap: 4px; }
.ge-region-count { font-weight: 400; color: #aaa; font-size: 13px; }
.ge-region-body { display: none; padding: 0 4px 8px; }
.ge-region.open .ge-region-body { display: block; }
.ge-region .ge-arrow { font-size: 16px; color: #ccc; transition: transform 0.2s; }
.ge-region.open > .ge-region-header .ge-arrow { transform: rotate(90deg); color: #e8a598; }
/* Countries inside region — no extra borders */
.ge-region .ge-country { border-bottom: none; }
.ge-region .ge-country-header { padding: 8px 14px; font-size: 13px; font-weight: 500; }

/* DARK — regions */
html.ge-dark .ge-region { border-color: #333; }
html.ge-dark .ge-region-header { color: #ccc; }
html.ge-dark .ge-region-header:hover { background: rgba(232,165,152,0.12); }
html.ge-dark .ge-region-count { color: #666; }
html.ge-dark .ge-region.open > .ge-region-header { background: rgba(232,165,152,0.1); }

/* ===== PROFILE PAGE ===== */
.ge-profile {
    display: flex;
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 24px;
    gap: 40px;
    align-items: flex-start;
}

.ge-profile-photo-col {
    width: 360px;
    flex-shrink: 0;
    position: sticky;
    top: 92px;
    align-self: flex-start;
    border-radius: 16px;
    overflow: hidden;
}
html.ge-dark .ge-profile-photo-col {
    background: #242424;
}

.ge-profile-photo {
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    position: relative;
    background: transparent !important;
}
.ge-profile-photo > div,
.ge-profile-photo > div > div { background-color: transparent !important; }
.ge-profile-photo img {
    width: 100%;
    display: block;
    aspect-ratio: 3/4;
    object-fit: cover;
    object-position: top;
    border-radius: 0;
}

/* Slider arrows */
.ge-slider-btn {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    width: 40px; height: 40px;
    border-radius: 50%;
    background: rgba(255,255,255,0.85);
    border: none; cursor: pointer;
    font-size: 24px; line-height: 1;
    color: #2d2d2d;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s, opacity 0.15s;
    z-index: 10;
    opacity: 0;
    padding: 0;
}
.ge-profile-photo:hover .ge-slider-btn { opacity: 1; }
.ge-slider-prev { left: 12px; }
.ge-slider-next { right: 12px; }
.ge-slider-btn:hover { background: #fff; }

/* Dots */
.ge-slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 10px 0;
    margin-top: -30px;
    position: relative;
    z-index: 10;
}
.ge-slider-dot {
    display: inline-block !important;
    margin: 0 3px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(0,0,0,0.25);
    border: 2px solid rgba(255,255,255,0.8);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    vertical-align: middle;
}
.ge-slider-dot.active { background: #fff; border-color: #fff; transform: scale(1.2); }

.ge-profile-nophoto {
    width: 100%;
    aspect-ratio: 3/4;
    background: linear-gradient(135deg, #e8d5d0, #f5e6e2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #aaa;
    font-size: 14px;
}

/* Gallery strip — single row, horizontal scroll */
.ge-gallery-strip {
    display: flex;
    gap: 6px;
    margin-top: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
}
.ge-gallery-strip::-webkit-scrollbar { display: none; }
.ge-gallery-strip .ge-gallery-thumb {
    width: 64px;
    height: 64px;
    min-width: 64px;
    border-radius: 8px;
    object-fit: cover;
    object-position: top;
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s, box-shadow 0.2s;
    border: 2px solid transparent;
}
.ge-gallery-strip .ge-gallery-thumb.active,
.ge-gallery-strip .ge-gallery-thumb:hover {
    opacity: 1;
    border-color: #e8a598;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
}

.ge-profile-info {
    flex: 1;
    min-width: 0;
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
}

.ge-profile-header { margin-bottom: 20px; }

.ge-profile-name {
    font-size: 32px;
    font-weight: 700;
    color: #2d2d2d;
    margin: 0 0 6px;
}

.ge-profile-location-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 6px; margin-bottom: 0; }
.ge-profile-location {
    font-size: 14px;
    color: #888;
}

/* STATS */
.ge-profile-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
    background: #faf8f6;
    border-radius: 12px;
    padding: 1px;
}

.ge-stat {
    background: #f5f0ee;
    border-radius: 20px;
    padding: 6px 14px;
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.ge-stat-label {
    font-size: 10px;
    font-weight: 700;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}

.ge-stat-value {
    font-size: 13px;
    font-weight: 600;
    color: #2d2d2d;
}

/* Incall/Outcall badges */
.ge-avail-badges { display: flex; gap: 6px; }
.ge-avail-badge { font-size: 11px; font-weight: 600; color: #e8a598; background: #fff0ed; padding: 3px 10px; border-radius: 20px; border: 1px solid #f5ddd8; }

/* Reviews */
.ge-review-count { color: #aaa; font-weight: 400; font-size: 11px; }
.ge-reviews-list { display: flex; flex-direction: column; gap: 12px; margin-bottom: 8px; }
.ge-review-item { background: #faf8f6; border-radius: 10px; padding: 12px 16px; border: 1.5px solid #ede8e5; }
.ge-review-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.ge-review-author { font-size: 13px; font-weight: 600; color: #2d2d2d; }
.ge-review-date { font-size: 11px; color: #aaa; }
.ge-review-text { font-size: 13px; color: #555; line-height: 1.6; }
.ge-no-reviews { font-size: 13px; color: #aaa; margin: 0 0 12px; }
.ge-reviews-fullwidth {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 24px 40px;
}
.ge-reviews-section { text-align: left; }
.ge-add-review { text-align: left; }
.ge-review-form { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 10px; }
.ge-review-input { width: 100%; align-self: stretch; padding: 10px 12px; border: 1.5px solid #ede8e5; border-radius: 10px; font-size: 13px; font-family: inherit; color: #2d2d2d; background: #faf8f6; resize: vertical; min-height: 60px; max-height: 120px; }
.ge-review-input:focus { border-color: #e8a598; outline: none; }
.ge-review-submit { align-self: flex-start !important; padding: 9px 22px; background: #e8a598; color: #fff; border: none; border-radius: 20px; font-size: 13px; font-weight: 600; cursor: pointer; transition: background 0.15s; font-family: inherit; }
.ge-review-submit:hover { background: #d9897a; }
.ge-review-login-msg { font-size: 13px; color: #aaa; margin-top: 8px; }
.ge-review-login-msg a { color: #e8a598; text-decoration: none; }

/* SECTIONS */
.ge-profile-section { margin-bottom: 24px; }

.ge-section-title, .ge-form-section-title {
    font-size: var(--ge-section-size);
    font-weight: var(--ge-label-weight);
    color: var(--ge-section-color);
    text-transform: uppercase;
    letter-spacing: var(--ge-label-spacing);
    margin-bottom: 10px;
}
.ge-form-section-title { padding: 18px 0 8px; border-top: 1px solid var(--ge-border); margin-top: 8px; grid-column: 1 / -1; }
.ge-profile-form .ge-form-section-title:first-child { border-top: none; padding-top: 0; }
.ge-contact-top { flex-wrap: wrap; gap: 8px; margin: 12px 0 20px; }

/* PRICES */
.ge-prices {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}

.ge-price-item {
    background: #faf5f3;
    border-radius: 8px;
    padding: 10px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: none;
}

.ge-price-label { font-size: 13px; color: #777; }
.ge-price-val { font-size: 14px; font-weight: 700; color: #e8a598; }

/* SERVICES */
.ge-svc-group-label {
    font-size: 11px;
    font-weight: 700;
    color: #c47a6e;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 8px;
}
.ge-services { display: flex; flex-wrap: wrap; gap: 8px; }

.ge-service-tag {
    background: #fff0ed;
    color: #c47a6e;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid #f0d5d0;
}

/* DESCRIPTION */
.ge-profile-desc { font-size: 15px; color: #555; line-height: 1.7; }

/* BUTTONS */
.ge-btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    margin-right: 10px;
    transition: all 0.2s;
}

.ge-btn-phone {
    background: #e8a598;
    color: #fff !important;
}

.ge-btn-phone:hover { background: #d9897a; }

.ge-btn-wa {
    background: #25d366;
    color: #fff !important;
}

.ge-btn-wa:hover { background: #1ebe5a; }

.ge-btn-contact {
    background: #f0f0f0;
    color: #555 !important;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .ge-profile { flex-direction: column; }
    .ge-profile-photo { width: 100%; position: static; }
    .ge-prices { grid-template-columns: 1fr; }
}

/* REMOVE BLACK TOP BAR */
.ct-topbar-wrapper, #wpadminbar { display: none !important; }
html { margin-top: 0 !important; }

.site-title a::after { content: none; }
.site-title a .escorts-highlight { color: #e8a598; }

/* MOBILE CITY PILLS */
.ge-mobile-cities {
    display: none;
    overflow-x: auto;
    white-space: nowrap;
    padding: 10px 16px;
    gap: 8px;
    background: #fff;
    border-bottom: 1px solid #f0ebe8;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.ge-mobile-cities::-webkit-scrollbar { display: none; }

.ge-pill {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    color: #555 !important;
    text-decoration: none !important;
    background: #f5f0ee;
    margin-right: 6px;
    transition: all 0.15s;
    white-space: nowrap;
}
.ge-pill:hover, .ge-pill.active {
    background: #e8a598;
    color: #fff !important;
}

/* REMOVE GREY BG */
body { background: #faf8f6 !important; }
html body { margin: 0 !important; }

@media (max-width: 768px) {
    .ge-mobile-cities { display: flex; align-items: center; }
    .ge-sidebar { display: none; }
}

/* ===== AUTH PAGE ===== */
.ge-auth-wrap { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding: 40px 16px; }
.ge-auth-box { background: #fff; border-radius: 16px; padding: 40px; width: 100%; max-width: 420px; box-shadow: 0 4px 24px rgba(0,0,0,0.08); }
.ge-auth-logo { display: block; text-align: center; font-size: 26px; font-weight: 800; color: #2d2d2d !important; text-decoration: none !important; margin-bottom: 28px; }
.ge-auth-logo span { color: #e8a598; }
.ge-auth-tabs { display: flex; border-radius: 10px; overflow: hidden; background: #f5f0ee; margin-bottom: 24px; }
.ge-auth-tab { flex: 1; text-align: center; padding: 10px; font-size: 14px; font-weight: 500; color: #888 !important; text-decoration: none !important; transition: all 0.2s; }
.ge-auth-tab.active { background: #e8a598; color: #fff !important; border-radius: 10px; }
.ge-auth-error { background: #fff0ee; color: #c0392b; border-radius: 8px; padding: 10px 14px; font-size: 13px; margin-bottom: 16px; line-height: 1.6; }
.ge-auth-success { background: #eafaf1; color: #27ae60; border-radius: 8px; padding: 10px 14px; font-size: 13px; margin-bottom: 16px; }
.ge-auth-check-email { text-align: center; padding: 10px 0 16px; }
.ge-auth-check-icon { font-size: 48px; margin-bottom: 16px; }
.ge-auth-check-title { font-size: 20px; font-weight: 700; color: #2d2d2d; margin-bottom: 12px; }
.ge-auth-check-email p { font-size: 14px; color: #666; line-height: 1.6; margin: 0 0 6px; }
.ge-auth-form { display: flex; flex-direction: column; gap: 16px; }
.ge-auth-field label { display: block; font-size: 12px; font-weight: 600; color: #aaa; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 6px; }
.ge-auth-field input { width: 100%; padding: 11px 14px; border: 1.5px solid #ede8e5; border-radius: 10px; font-size: 14px; outline: none; transition: border 0.2s; background: #faf8f6; box-sizing: border-box; }
.ge-auth-field input:focus { border-color: #e8a598; }
.ge-auth-submit { background: #e8a598; color: #fff; border: none; border-radius: 25px; padding: 14px; font-size: 15px; font-weight: 600; cursor: pointer; transition: background 0.2s; margin-top: 4px; width: 100%; }
.ge-auth-submit:hover { background: #d9897a; }
.ge-terms-check { margin-bottom: 4px !important; }
.ge-terms-check label { display: flex !important; align-items: center !important; gap: 10px; cursor: pointer; font-size: 13px !important; color: #888 !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 400 !important; line-height: 1.4; }
.ge-terms-check input[type="checkbox"] { width: 18px !important; height: 18px; min-width: 18px; padding: 0 !important; border-radius: 4px !important; accent-color: #e8a598; cursor: pointer; }
.ge-terms-check a { color: #e8a598; text-decoration: none; font-weight: 500; }
.ge-terms-check a:hover { text-decoration: underline; }
.ge-type-picker { display: flex; gap: 10px; align-items: stretch; }
.ge-type-option { flex: 1; cursor: pointer; }
.ge-type-option input { display: none; }
.ge-type-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px; border: 2px solid #ede8e5; border-radius: 12px; transition: all 0.2s; background: #faf8f6; cursor: pointer; height: 100%; }
.ge-type-option input:checked + .ge-type-btn { border-color: #e8a598; background: #fff5f3; }
.ge-type-icon { font-size: 22px; margin-bottom: 6px; }
.ge-type-label { font-size: 12px; font-weight: 600; color: #555; text-align: center; }
.ge-role-card { flex: 1; cursor: pointer; }
.ge-role-card.selected .ge-type-btn { border-color: #e8a598; background: #fff5f3; }
.ge-type-sub { font-size: 11px; color: #aaa; margin-top: 4px; text-align: center; }
.ge-reg-step2 { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, opacity 0.25s ease; opacity: 0; }
.ge-reg-step2.open { max-height: 200px; opacity: 1; margin-top: 10px; }
.ge-step2-label { font-size: 11px; font-weight: 600; color: #aaa; text-transform: uppercase; letter-spacing: 0.6px; text-align: center; margin-bottom: 8px; }

/* ===== ACCOUNT PAGE ===== */
.ge-account-wrap { display: flex; max-width: 1100px; margin: 40px auto; padding: 0 24px; gap: 28px; align-items: flex-start; }
.ge-account-nav { width: 240px; flex-shrink: 0; background: #fff; border-radius: 14px; padding: 20px; box-shadow: 0 1px 8px rgba(0,0,0,0.06); position: sticky; top: 92px; }
.ge-account-user { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #f5f0ee; }
.ge-account-avatar { width: 44px; height: 44px; border-radius: 50%; background: #e8a598; color: #fff; font-size: 18px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ge-account-name { font-size: 14px; font-weight: 600; color: #2d2d2d; }
.ge-account-type { font-size: 11px; color: #aaa; margin-top: 2px; }
.ge-admin-panel-btn { display: block; margin-bottom: 12px; padding: 9px 12px; border-radius: 8px; font-size: 13px; font-weight: 600; color: #3b82f6 !important; background: #eff6ff; text-decoration: none !important; transition: background 0.15s; text-align: center; }
.ge-admin-panel-btn:hover { background: #dbeafe; }
.ge-account-links { display: flex; flex-direction: column; gap: 2px; }
.ge-account-links a { padding: 9px 12px; border-radius: 8px; font-size: 13px; color: #555 !important; text-decoration: none !important; transition: all 0.15s; }
.ge-account-links a:hover, .ge-account-links a.active { background: #fff0ed; color: #e8a598 !important; font-weight: 500; }
.ge-nav-balance { display: flex !important; align-items: center; justify-content: space-between; font-weight: 500; }
.ge-nav-balance:hover { background: #fff8f6 !important; color: #555 !important; }
.ge-balance-stars { font-weight: 700; color: #f59e0b !important; font-size: 14px; }
/* Top nav balance */
.ge-topnav-balance > a { display: flex !important; align-items: center; gap: 4px; font-weight: 500 !important; }
.ge-topnav-balance > a span { font-weight: 700; color: #f59e0b; }
/* Account type switcher */
.ge-account-type-switcher { background: #faf8f6; border-radius: 12px; padding: 14px 16px; margin-bottom: 20px; border: 1.5px dashed #e8d5d0; }
.ge-ats-label { font-size: 11px; font-weight: 700; color: #aaa; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 10px; }
.ge-ats-form { display: flex; gap: 8px; }
.ge-ats-option { flex: 1; cursor: pointer; }
.ge-ats-option input { display: none; }
.ge-ats-option span { display: flex; align-items: center; justify-content: center; padding: 9px 12px; border-radius: 8px; font-size: 13px; font-weight: 500; color: #888; background: #fff; border: 2px solid #ede8e5; transition: all 0.15s; gap: 6px; }
.ge-ats-option.active span, .ge-ats-option input:checked + span { border-color: #e8a598; color: #2d2d2d; font-weight: 600; background: #fff5f3; }
.ge-account-main {
    background: #fdf8f6;
    border-radius: 16px; flex: 1; min-width: 0; }
.ge-account-title { font-size: 22px; font-weight: 700; color: #2d2d2d; margin: 0 0 24px; padding: 16px 0 16px; border-bottom: 1px solid rgba(0,0,0,0.06); text-align: center; }
.ge-listings-list { display: flex; flex-direction: column; gap: 14px; }
/* Card */
.ge-listing-card { background: #fff; border-radius: 14px; display: flex; gap: 0; box-shadow: 0 1px 8px rgba(0,0,0,0.07); overflow: hidden; transition: box-shadow 0.15s; }
.ge-listing-card:hover { box-shadow: 0 4px 18px rgba(0,0,0,0.11); }
.ge-listing-card.ge-listing-draft { opacity: 0.85; }
.ge-listing-card.ge-listing-inactive { opacity: 0.75; }
.ge-btn-activate   { background: #e6f9ee !important; color: #27ae60 !important; border: none; cursor: pointer; }
.ge-btn-deactivate { background: #f5f5f5 !important; color: #888 !important; border: none; cursor: pointer; }
.ge-listing-card-photo { width: 110px; flex-shrink: 0; position: relative; display: block; text-decoration: none; }
.ge-listing-card-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.ge-listing-card-nophoto { width: 100%; height: 100%; min-height: 130px; background: linear-gradient(135deg,#e8d5d0,#f5e6e2); display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 700; color: #e8a598; }
.ge-listing-status-badge { position: absolute; top: 8px; left: 8px; padding: 2px 7px; border-radius: 20px; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }
.ge-badge-pub-overlay { background: #27ae60; color: #fff; }
.ge-badge-draft-overlay { background: rgba(0,0,0,0.45); color: #fff; }
.ge-listing-card-body { flex: 1; padding: 14px 16px; display: flex; flex-direction: column; gap: 8px; }
.ge-listing-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.ge-listing-name { font-size: 16px; font-weight: 700; color: #2d2d2d; }
.ge-listing-location { font-size: 12px; color: #aaa; margin-top: 2px; }
.ge-listing-price { font-size: 18px; font-weight: 700; color: #e8a598; white-space: nowrap; }
.ge-listing-price span { font-size: 12px; font-weight: 400; color: #aaa; }
.ge-listing-card-stats { display: flex; flex-wrap: wrap; gap: 6px; }
.ge-listing-card-stats span { background: #faf5f3; border-radius: 20px; padding: 3px 10px; font-size: 12px; color: #666; }
.ge-listing-card-svcs { display: flex; flex-wrap: wrap; gap: 5px; }
/* old row fallback */
.ge-listing-row { background: #fff; border-radius: 12px; padding: 14px; display: flex; align-items: center; gap: 14px; box-shadow: 0 1px 6px rgba(0,0,0,0.05); }
.ge-listing-row img, .ge-listing-nophoto { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.ge-listing-nophoto { background: #f5ede9; }
.ge-listing-city { font-size: 12px; color: #aaa; margin-top: 2px; }
.ge-listing-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ge-btn-small { padding: 7px 14px; border-radius: 20px; font-size: 12px; font-weight: 600; background: #e8a598; color: #fff !important; text-decoration: none !important; }
.ge-btn-small:hover { background: #d9897a; }
.ge-btn-outline { background: #f5f0ee; color: #555 !important; }
.ge-profile-form { background: #fff; border-radius: 14px; padding: 28px; box-shadow: 0 1px 8px rgba(0,0,0,0.06); }
.ge-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; }
.ge-form-group { min-width: 0; }
.ge-form-group label { display: block; font-size: 11px; font-weight: 700; color: #aaa; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 6px; }
.ge-form-group input, .ge-form-group textarea, .ge-form-group select {
    width: 100%; padding: 10px 12px; border: 1.5px solid #ede8e5; border-radius: 8px;
    font-size: 14px; background: #fff; outline: none; box-sizing: border-box;
    transition: background 0.2s, border-color 0.2s;
}
.ge-form-group input:focus, .ge-form-group textarea:focus, .ge-form-group select:focus { border-color: #e8a598; }
/* Filled — peach (class set by JS on all field types) */
.ge-field-filled { background: #fff5f2 !important; border-color: #f0d5d0 !important; }
.ge-field-filled:focus { background: #fff !important; border-color: #e8a598 !important; }
html.ge-dark .ge-field-filled { background: #2a2a2a !important; border-color: #e8a598 !important; }
html.ge-dark .ge-field-filled:focus { background: #333 !important; border-color: #e8a598 !important; }
.ge-form-group.full { grid-column: 1 / -1; }
.ge-current-photo { width: 80px; height: 80px; object-fit: cover; border-radius: 8px; margin-bottom: 8px; display: block; }
.ge-services-picker { display: flex; flex-wrap: wrap; gap: 8px; }
.ge-service-check { cursor: pointer; }
.ge-service-check input { display: none; }
.ge-service-check span { display: inline-block; padding: 6px 14px; border-radius: 20px; font-size: 12px; font-weight: 500; background: #f5f0ee; color: #555; border: 1.5px solid transparent; transition: all 0.15s; }
.ge-service-check input:checked + span { background: #fff0ed; color: #e8a598; border-color: #e8a598; }
.ge-empty-state { text-align: center; padding: 60px 20px; color: #aaa; }
.ge-empty-state p { margin-bottom: 16px; font-size: 15px; }
.ge-alert-success { background: #f0fff4; color: #27ae60; border-radius: 8px; padding: 12px 16px; margin-bottom: 20px; font-size: 14px; }

/* ===== VERIFICATION PAGE ===== */
.ge-verify-instructions { background: #fff; border-radius: 14px; padding: 24px; box-shadow: 0 1px 8px rgba(0,0,0,0.06); margin-bottom: 24px; }
.ge-verify-instr-title { font-size: 15px; font-weight: 700; color: #2d2d2d; margin-bottom: 18px; }
.ge-verify-steps { display: flex; flex-direction: column; gap: 14px; margin-bottom: 18px; }
.ge-verify-step { display: flex; align-items: flex-start; gap: 14px; }
.ge-verify-step-num { width: 28px; height: 28px; border-radius: 50%; background: #e8a598; color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ge-verify-step-text { font-size: 14px; color: #555; line-height: 1.5; padding-top: 4px; }
.ge-verify-note { font-size: 12px; color: #aaa; background: #faf8f6; border-radius: 8px; padding: 10px 14px; line-height: 1.5; }

.ge-verify-no-listings { background: #fff; border-radius: 12px; padding: 24px; text-align: center; color: #666; font-size: 14px; line-height: 1.7; box-shadow: 0 1px 6px rgba(0,0,0,0.05); margin-bottom: 20px; }

/* Listing picker (agency) */
.ge-verify-picker { margin-bottom: 24px; }
.ge-verify-picker-label { font-size: 12px; font-weight: 700; color: #aaa; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 12px; }
.ge-verify-picker-scroll { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.ge-verify-picker-scroll::-webkit-scrollbar { display: none; }
.ge-verify-pick-card { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none !important; background: #fff; border-radius: 12px; padding: 10px; width: 90px; flex-shrink: 0; box-shadow: 0 1px 6px rgba(0,0,0,0.06); border: 2px solid transparent; transition: border-color 0.15s; }
.ge-verify-pick-card.active { border-color: #e8a598; }
.ge-verify-pick-card img { width: 60px; height: 60px; object-fit: cover; border-radius: 8px; }
.ge-verify-pick-nophoto { width: 60px; height: 60px; border-radius: 8px; background: linear-gradient(135deg,#e8d5d0,#f5e6e2); display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; color: #e8a598; }
.ge-verify-pick-name { font-size: 11px; color: #555; text-align: center; word-break: break-word; }
.ge-verify-badge { font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 20px; }
.ge-vbadge-verified { background: #e6f9ee; color: #27ae60; }
.ge-vbadge-pending  { background: #fff8e1; color: #f59e0b; }

/* Status block */
.ge-verify-status-block { background: #fff; border-radius: 12px; padding: 18px 20px; box-shadow: 0 1px 6px rgba(0,0,0,0.05); margin-bottom: 24px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ge-verify-status-name { font-size: 16px; font-weight: 700; color: #2d2d2d; flex: 1; }
.ge-verify-status { padding: 5px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; }
.ge-vstatus-verified { background: #e6f9ee; color: #27ae60; }
.ge-vstatus-pending  { background: #fff8e1; color: #f59e0b; }
.ge-vstatus-rejected { background: #ffeaea; color: #e74c3c; }
.ge-vstatus-none     { background: #f0f0f0; color: #999; }

/* Upload form */
.ge-verify-form { background: #fff; border-radius: 14px; padding: 24px; box-shadow: 0 1px 8px rgba(0,0,0,0.06); }
.ge-verify-uploads { display: flex; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.ge-verify-upload-box { flex: 1; min-width: 200px; border: 2px dashed #ede8e5; border-radius: 14px; cursor: pointer; transition: border-color 0.2s; }
.ge-verify-upload-box:hover { border-color: #e8a598; }
.ge-verify-upload-inner { padding: 28px 20px; text-align: center; }
.ge-verify-upload-icon { font-size: 32px; margin-bottom: 10px; }
.ge-verify-upload-label { font-size: 14px; font-weight: 700; color: #2d2d2d; margin-bottom: 4px; }
.ge-verify-upload-hint { font-size: 12px; color: #aaa; }
.ge-verify-upload-preview img { width: 100%; max-height: 160px; object-fit: cover; border-radius: 8px; margin-bottom: 8px; }
.ge-verify-upload-ok { font-size: 13px; font-weight: 600; color: #27ae60; }

@media (max-width: 600px) {
    .ge-verify-uploads { flex-direction: column; }
    .ge-verify-status-block { flex-direction: column; align-items: flex-start; gap: 8px; }
}
.ge-alert-error { background: #fff0f0; color: #e74c3c; border-radius: 8px; padding: 12px 16px; margin-bottom: 20px; font-size: 14px; border: 1px solid #ffd5d5; }
@media (max-width: 768px) { .ge-account-wrap { flex-direction: column; } .ge-account-nav { width: 100%; position: static; } .ge-form-grid { grid-template-columns: 1fr; } }


/* ==============================================
   MOBILE OVERRIDES — getescort.org
   ============================================== */

/* -- GLOBAL ------------------------------------ */
@media (max-width: 768px) {
    body { overflow-x: hidden; }
    nav a, .main-navigation a {
        padding: 4px 10px !important;
        font-size: 12px;
        letter-spacing: 0.4px;
    }
}

/* -- HOMEPAGE ---------------------------------- */
@media (max-width: 768px) {
    .ge-mobile-cities { padding: 10px 12px; gap: 0; }
    .ge-pill { padding: 5px 13px; font-size: 12px; margin-right: 5px; }
    .ge-layout { padding: 0 10px; margin: 12px auto; gap: 0; }
    .ge-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .ge-card-name { font-size: 13px; }
    .ge-card-city { font-size: 11px; }
    .ge-card-overlay { padding: 24px 10px 10px; }
}
@media (max-width: 400px) {
    .ge-grid { grid-template-columns: 1fr 1fr; gap: 6px; }
}

/* -- LISTING PAGE ------------------------------ */
@media (max-width: 768px) {
    .ge-profile {
        flex-direction: column;
        margin: 16px auto;
        padding: 0 12px;
        gap: 20px;
    }
    .ge-slider-btn { opacity: 1; width: 34px; height: 34px; font-size: 20px; }
    .ge-profile-photo-col {
        width: 100%;
        position: static;
    }
    .ge-profile-photo {
        width: 100%;
        border-radius: 12px;
        max-height: 70vw;
        overflow: hidden;
    }
    .ge-profile-photo img {
        aspect-ratio: 4/5;
        max-height: 70vw;
        object-fit: cover;
        object-position: top;
    }
    .ge-gallery-strip {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .ge-gallery-strip::-webkit-scrollbar { display: none; }
    .ge-gallery-strip .ge-gallery-thumb { width: 54px; height: 54px; flex-shrink: 0; }
    .ge-profile-name { font-size: 22px; }
    .ge-profile-location { font-size: 13px; }
    .ge-profile-stats { gap: 6px; }
    .ge-stat { padding: 5px 12px; }
    .ge-prices { grid-template-columns: 1fr; gap: 6px; }
    .ge-price-item { padding: 9px 12px; }
    .ge-contact-btns { flex-direction: column; gap: 8px; }
    .ge-btn {
        width: 100%;
        justify-content: center;
        padding: 14px 20px;
        border-radius: 14px;
        font-size: 15px;
        margin-right: 0;
    }
    .ge-service-tag { font-size: 12px; padding: 4px 10px; }
}

/* -- AUTH PAGE --------------------------------- */
@media (max-width: 480px) {
    .ge-auth-wrap { padding: 20px 12px; align-items: flex-start; }
    .ge-auth-box { padding: 24px 18px; border-radius: 12px; }
    .ge-auth-logo { font-size: 22px; margin-bottom: 20px; }
    .ge-auth-submit { padding: 13px; }
}

/* -- ACCOUNT PAGE ------------------------------ */
@media (max-width: 768px) {
    .ge-account-wrap {
        flex-direction: column;
        margin: 0 auto;
        padding: 0;
        gap: 0;
    }
    .ge-account-nav {
        width: 100%;
        position: static;
        border-radius: 0;
        padding: 12px 14px 0;
        box-shadow: none;
        border-bottom: 1px solid #f0ebe8;
    }
    .ge-account-user { margin-bottom: 12px; padding-bottom: 12px; }
    .ge-account-avatar { width: 38px; height: 38px; font-size: 16px; }
    .ge-account-name { font-size: 13px; }
    .ge-account-links {
        flex-direction: row;
        gap: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        margin: 0 -14px;
        padding: 0 14px;
    }
    .ge-account-links::-webkit-scrollbar { display: none; }
    .ge-account-links a {
        padding: 8px 14px;
        border-radius: 0;
        font-size: 13px;
        white-space: nowrap;
        border-bottom: 2px solid transparent;
    }
    .ge-account-links a:hover,
    .ge-account-links a.active {
        background: transparent;
        border-bottom-color: #e8a598;
        color: #e8a598 !important;
        font-weight: 600;
    }
    .ge-account-links .ge-nav-add {
        background: none;
        color: #e8a598 !important;
        border-radius: 0;
        padding: 8px 14px;
        margin-top: 0;
        text-align: left;
        font-weight: 600;
        border-bottom: 2px solid transparent;
    }
    .ge-account-links .ge-nav-add:hover { background: none; border-bottom-color: #e8a598; }
    .ge-account-main { padding: 16px 14px; }
    .ge-account-title { font-size: 18px; margin-bottom: 16px; }
    .ge-account-header-row { flex-wrap: nowrap; gap: 8px; margin-bottom: 16px; }
    .ge-profile-form { padding: 16px; border-radius: 10px; }
    .ge-form-grid { grid-template-columns: 1fr; gap: 12px; margin-bottom: 14px; }
    .ge-form-section-title { padding: 14px 0 6px; }
    .ge-listing-row { gap: 10px; padding: 10px; }
    .ge-listing-row img, .ge-listing-nophoto { width: 50px; height: 50px; }
    .ge-listing-card-photo { width: 90px; }
    .ge-listing-name { font-size: 14px; }
    .ge-listing-price { font-size: 15px; }
    .ge-listing-actions { gap: 6px; }
    .ge-btn-small { padding: 6px 11px; font-size: 11px; }
    .ge-svc-cloud { gap: 6px; padding-bottom: 12px; }
    .ge-svc-chip { padding: 6px 12px; font-size: 12px; }
    .ge-svc-table { border-radius: 10px; }
    .ge-svc-row { padding: 9px 12px; gap: 8px; }
    .ge-svc-row-name { font-size: 13px; }
    .ge-svc-row-price input { width: 90px; padding: 5px 8px; }
    .ge-currency-picker { gap: 6px; flex-wrap: wrap; }
    .ge-currency-opt { padding: 6px 14px; font-size: 12px; }
    .ge-custom-select-list { min-width: 160px; max-width: 90vw; }
    .ge-phone-list { max-height: 200px; }
    .ge-gallery-preview { gap: 6px; }
    .ge-gallery-thumb { width: 68px; height: 68px; }
    .ge-auth-submit { padding: 13px; font-size: 14px; }
    .ge-form-actions { flex-wrap: wrap; }
    .ge-phone-wrap { flex-wrap: nowrap; }
}

/* -- SEARCH PAGE ------------------------------- */
@media (max-width: 768px) {
    /* Search page — mobile */
    .ge-search-wrap { padding: 12px 10px 32px; }

    /* Search bar — stack vertically */
    .ge-search-bar {
        flex-direction: column !important;
        border-radius: 12px !important;
        overflow: visible !important;
    }
    .ge-search-icon { display: none; }
    .ge-search-input {
        padding: 12px 14px !important;
        font-size: 14px !important;
        border-bottom: 1px solid var(--ge-border) !important;
    }
    .ge-search-submit {
        padding: 12px 20px !important;
        font-size: 14px !important;
        border-radius: 0 0 12px 12px !important;
        width: 100%;
    }

    /* Filters — wrap into 2-col grid */
    .ge-filter-bar {
        padding: 12px !important;
        gap: 10px !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        border-radius: 12px !important;
    }
    .ge-filter-group {
        min-width: 0 !important;
    }
    .ge-filter-label {
        font-size: 9px !important;
        letter-spacing: 0.6px !important;
    }
    .ge-filter-select {
        min-width: 0 !important;
        width: 100% !important;
        font-size: 12px !important;
        padding: 9px 28px 9px 10px !important;
    }
    .ge-loc-btn {
        min-width: 0 !important;
        width: 100% !important;
        font-size: 12px !important;
        padding: 9px 28px 9px 10px !important;
    }
    .ge-filter-services-btn {
        min-width: 0 !important;
        max-width: none !important;
        width: 100% !important;
        font-size: 12px !important;
        padding: 9px 28px 9px 10px !important;
    }
    .ge-loc-dropdown {
        min-width: 220px !important;
    }
    .ge-filter-services-list {
        min-width: 200px !important;
    }
    .ge-filter-actions {
        grid-column: 1 / -1;
        margin-left: 0 !important;
    }

    /* Results info */
    .ge-search-results-info { margin-bottom: 12px; }
    .ge-search-count { font-size: 13px; }
}

/* ===== AGENCIES PAGE ===== */
.ge-agencies-wrap {
    max-width: 1100px;
    margin: 40px auto;
    padding: 0 24px;
}
.ge-agencies-title {
    font-size: 28px;
    font-weight: 700;
    color: #2d2d2d;
    margin: 0 0 6px;
}
.ge-agencies-sub {
    font-size: 14px;
    color: #aaa;
    margin: 0 0 32px;
}
.ge-agencies-grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ge-agency-card {
    display: flex;
    gap: 24px;
    background: #fff;
    border-radius: 16px;
    padding: 20px 24px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    align-items: flex-start;
}
.ge-agency-logo {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    background: #f5ede9;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ge-agency-logo img { width: 100%; height: 100%; object-fit: cover; }
.ge-agency-logo-placeholder {
    font-size: 28px;
    font-weight: 800;
    color: #e8a598;
}
.ge-agency-info { flex: 1; min-width: 0; }
.ge-agency-name {
    font-size: 18px;
    font-weight: 700;
    color: #2d2d2d;
    margin-bottom: 4px;
}
.ge-agency-cities {
    font-size: 13px;
    color: #888;
    margin-bottom: 6px;
}
.ge-agency-about {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 10px;
}
.ge-agency-meta { margin-bottom: 12px; }
.ge-agency-count {
    display: inline-block;
    background: #fff0ed;
    color: #e8a598;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 20px;
}
.ge-agency-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ge-agency-btn {
    padding: 8px 18px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none !important;
    background: #e8a598;
    color: #fff !important;
    transition: background 0.15s;
}
.ge-agency-btn:hover { background: #d9897a; }
.ge-agency-btn-outline { background: #f5f0ee; color: #555 !important; }
.ge-agency-btn-outline:hover { background: #ede5e1; }
.ge-agency-btn-tg { background: #229ED9; }
.ge-agency-btn-tg:hover { background: #1a8bbf; }
.ge-agency-btn-phone { background: #2d3748; }
.ge-agency-btn-phone:hover { background: #1a202c; }

@media (max-width: 768px) {
    .ge-agencies-wrap { padding: 0 12px; margin: 20px auto; }
    .ge-agencies-title { font-size: 22px; }
    .ge-agency-card { gap: 14px; padding: 14px 16px; }
    .ge-agency-logo { width: 60px; height: 60px; border-radius: 10px; }
    .ge-agency-logo-placeholder { font-size: 22px; }
    .ge-agency-name { font-size: 16px; }
    .ge-agency-actions { gap: 6px; }
    .ge-agency-btn { padding: 7px 14px; font-size: 12px; }
}

/* ===== FILTERS BAR ===== */
.ge-filters { margin-bottom: 20px; }
.ge-more-filters-btn {
    background: none;
    border: 2px solid #e8a598;
    color: #e8a598;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 24px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s;
    font-family: 'Inter', sans-serif;
}
.ge-more-filters-btn:hover { background: #e8a598; color: #fff; }
html.ge-dark .ge-more-filters-btn { border-color: #e8a598; color: #e8a598; }
html.ge-dark .ge-more-filters-btn:hover { background: #e8a598; color: #fff; }
.ge-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-end;
    background: #fff;
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
}
.ge-filter-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.ge-filter-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #bbb;
}
.ge-filter-range {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    color: #bbb;
}
.ge-filter-input {
    width: 52px;
    padding: 7px 8px;
    border: 1.5px solid #e8e0dc;
    border-radius: 8px;
    font-size: 13px;
    color: #333;
    background: #faf8f6;
    text-align: center;
}
.ge-filter-input:focus { border-color: #e8a598; outline: none; }
.ge-filter-select {
    padding: 8px 10px;
    border: 1.5px solid #e8e0dc;
    border-radius: 8px;
    font-size: 13px;
    color: #333;
    background: #faf8f6;
    cursor: pointer;
    min-width: 110px;
}
.ge-filter-select:focus { border-color: #e8a598; outline: none; }

/* Services dropdown */
.ge-filter-services-wrap { position: relative; }
.ge-filter-services-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border: 1.5px solid #e8e0dc;
    border-radius: 8px;
    font-size: 13px;
    color: #333;
    background: #faf8f6;
    cursor: pointer;
    min-width: 120px;
    white-space: nowrap;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ge-filter-services-btn:hover { border-color: #e8a598; }
.ge-filter-services-list {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: #fff;
    border: 1.5px solid #e8e0dc;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    z-index: 999;
    padding: 8px;
    min-width: 180px;
    max-height: 280px;
    overflow-y: auto;
}
.ge-filter-services-list.open { display: block; }
.ge-svc-check-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-radius: 6px;
    font-size: 13px;
    color: #444;
    cursor: pointer;
    transition: background 0.1s;
}
.ge-svc-check-item:hover { background: #fff5f3; }
.ge-svc-check-item input { accent-color: #e8a598; cursor: pointer; }

/* Filter actions */
.ge-filter-actions {
    flex-direction: row !important;
    align-items: center;
    margin-left: auto;
}
.ge-filter-apply {
    padding: 8px 18px;
    background: #e8a598;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
}
.ge-filter-apply:hover { background: #d9897a; }
.ge-filter-reset {
    font-size: 12px;
    color: #bbb;
    text-decoration: none;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1.5px solid #eee;
    transition: all 0.15s;
    white-space: nowrap;
}
.ge-filter-reset:hover { color: #c0392b; border-color: #f5c6c6; }

@media (max-width: 768px) {
    .ge-filter-input { width: 46px; font-size: 12px; padding: 6px 6px; }
}

/* Agency phone */
.ge-agency-phone-wrap {
    display: flex;
    border: 1.5px solid #ede8e5;
    border-radius: 8px;
    overflow: hidden;
    background: #faf8f6;
}
.ge-agency-phone-wrap:focus-within { border-color: #e8a598; }
.ge-agency-code-select {
    width: 90px;
    flex-shrink: 0;
    border: none;
    border-right: 1.5px solid #ede8e5;
    background: #f5f0ee;
    padding: 10px 6px;
    font-size: 12px;
    color: #555;
    cursor: pointer;
    outline: none;
}
.ge-agency-phone-input {
    flex: 1;
    border: none !important;
    background: transparent;
    padding: 10px 12px !important;
    font-size: 14px;
    outline: none;
}

/* Agency cities tags */
.ge-agency-cities-wrap {
    border: 1.5px solid #ede8e5;
    border-radius: 8px;
    background: #faf8f6;
    padding: 6px 10px;
    min-height: 42px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    transition: border-color 0.15s;
}
.ge-agency-cities-wrap:focus-within { border-color: #e8a598; }
.ge-agency-cities-selected { display: flex; flex-wrap: wrap; gap: 6px; }
.ge-city-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff0ed;
    color: #c47a6e;
    border: 1px solid #f0d5d0;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 13px;
    font-weight: 500;
}
.ge-city-tag-del {
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    opacity: 0.6;
}
.ge-city-tag-del:hover { opacity: 1; }
.ge-agency-city-input {
    border: none !important;
    background: transparent;
    outline: none;
    font-size: 13px;
    padding: 4px 4px !important;
    min-width: 120px;
    flex: 1;
}

.ge-agency-btn-wa { background: #25D366; }
.ge-agency-btn-wa:hover { background: #1ebe5a; }

/* ===== AGENCIES LIST (new card style) ===== */
.ge-agencies-grid-cards {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.ge-agency-card-new {
    display: flex;
    gap: 20px;
    background: #fff;
    border-radius: 16px;
    padding: 18px 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    align-items: flex-start;
    transition: box-shadow 0.2s;
}
.ge-agency-card-new:hover { box-shadow: 0 6px 20px rgba(0,0,0,0.10); }
.ge-agency-card-logo-link { flex-shrink: 0; }
.ge-agency-card-img {
    width: 72px; height: 72px;
    border-radius: 12px;
    object-fit: cover;
    display: block;
}
.ge-agency-card-initials {
    width: 72px; height: 72px;
    border-radius: 12px;
    background: linear-gradient(135deg, #e8d5d0, #f5e6e2);
    display: flex; align-items: center; justify-content: center;
    font-size: 26px; font-weight: 800; color: #e8a598;
}
.ge-agency-card-body { flex: 1; min-width: 0; }
.ge-agency-card-name {
    font-size: 17px; font-weight: 700; color: #2d2d2d;
    text-decoration: none !important;
    display: block; margin-bottom: 4px;
}
.ge-agency-card-name:hover { color: #e8a598; }
.ge-agency-card-loc {
    display: flex; align-items: center; gap: 6px;
    font-size: 13px; color: #888; margin-bottom: 6px;
}
.ge-agency-card-cities { color: #aaa; }
.ge-agency-card-about {
    font-size: 13px; color: #666; line-height: 1.5;
    margin-bottom: 10px;
    display: -webkit-box; -webkit-line-clamp: 2;
    -webkit-box-orient: vertical; overflow: hidden;
}
.ge-agency-card-footer {
    display: flex; align-items: center;
    justify-content: space-between; flex-wrap: wrap; gap: 8px;
}
.ge-agency-card-actions { display: flex; gap: 6px; }

/* ===== AGENCY FULL PROFILE ===== */
.ge-agency-profile-wrap {
    max-width: 1100px; margin: 32px auto; padding: 0 24px;
}
.ge-back-link {
    display: inline-block; font-size: 13px; color: #aaa;
    text-decoration: none; margin-bottom: 20px;
    transition: color 0.15s;
}
.ge-back-link:hover { color: #e8a598; }
.ge-agency-profile-card {
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    border: 1.5px solid #ede8e5;
    margin-bottom: 32px;
}
.ge-agency-profile {
    display: flex; gap: 40px; align-items: flex-start;
}
.ge-agency-profile-left { flex-shrink: 0; width: 240px; }
.ge-agency-profile-logo {
    width: 240px; height: 240px; border-radius: 16px;
    overflow: hidden; background: linear-gradient(135deg,#e8d5d0,#f5e6e2);
    display: flex; align-items: center; justify-content: center;
    margin-bottom: 14px; box-shadow: 0 4px 16px rgba(0,0,0,0.10);
}
.ge-agency-profile-logo img { width: 100%; height: 100%; object-fit: cover; }
.ge-agency-profile-initials { font-size: 72px; font-weight: 800; color: #e8a598; }
.ge-agency-contact-btns { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.ge-agency-contact-btns .ge-btn {
    flex: 1; justify-content: center;
    padding: 8px 12px; font-size: 13px; border-radius: 8px;
}
.ge-agency-contact-info { display: flex; flex-direction: row; flex-wrap: wrap; gap: 20px; margin: 16px 0 8px; align-items: center; }
.ge-aci-row {
    display: flex; align-items: center; gap: 12px;
    text-decoration: none !important; color: #2d2d2d !important;
    transition: opacity 0.15s;
}
.ge-aci-row:hover { opacity: 0.75; }
.ge-aci-icon {
    width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
.ge-aci-icon svg { width: 18px; height: 18px; }
.ge-aci-phone { background: #f0f0f0; color: #555; }
.ge-aci-wa    { background: #25D366; color: #fff; }
.ge-aci-tg    { background: #229ED9; color: #fff; }
.ge-aci-web   { background: #e8a598; color: #fff; }
.ge-aci-text  { font-size: 14px; font-weight: 500; color: #2d2d2d; }
.ge-btn-website { background: #6c757d; color: #fff !important; }
.ge-btn-website:hover { background: #5a6268; }
.ge-agency-profile-right { flex: 1; min-width: 0; }
.ge-agency-escorts-section { margin-top: 8px; }

@media (max-width: 768px) {
    /* Agency profile — mobile */
    .ge-agency-profile-wrap { padding: 0 !important; margin: 0 auto !important; }
    .ge-agency-profile-card {
        border-radius: 0 !important; border: none !important;
        padding: 0 !important; margin-bottom: 20px !important;
    }
    .ge-back-link { margin: 12px 14px !important; }
    .ge-agency-profile { flex-direction: column; gap: 0; padding: 0; }
    .ge-agency-profile-left { width: 100%; display: block; }
    .ge-agency-profile-logo {
        width: 100% !important; height: 50vw !important;
        border-radius: 0 !important; margin-bottom: 0 !important;
        box-shadow: none !important;
    }
    .ge-agency-profile-initials { font-size: 48px; }
    .ge-agency-profile-right { padding: 16px 14px 0 !important; }
    .ge-agency-profile-right .ge-profile-name { font-size: 22px !important; }
    .ge-agency-profile-right .ge-profile-location { font-size: 13px !important; }
    .ge-agency-contact-btns { flex-direction: row; flex-wrap: wrap; }
    .ge-agency-contact-btns .ge-btn { width: auto; }
    .ge-agency-profile-card .ge-profile-section { padding: 0 14px !important; margin-top: 12px !important; }
    .ge-agency-escorts-section { padding: 0 14px !important; }
    .ge-agency-card-new { gap: 12px; padding: 12px 14px; }
    .ge-agency-card-img, .ge-agency-card-initials { width: 56px; height: 56px; }
    .ge-agency-card-name { font-size: 15px; }
}

/* Agency card placeholder (no logo) */
.ge-agency-card-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, #e8d5d0, #f5e6e2);
    font-size: 56px; font-weight: 800; color: #e8a598;
}

/* ── SEARCHABLE CUSTOM SELECT ────────────────────────────────── */
.ge-searchable-list {
    display: none;
    position: absolute;
    top: calc(100% + 4px); left: 0; right: 0;
    background: #fff;
    border: 1.5px solid #ede8e5;
    border-radius: 10px;
    box-shadow: 0 6px 24px rgba(0,0,0,0.12);
    z-index: 999;
    max-height: 260px;
    overflow-y: auto;
    min-width: 200px;
}
.ge-custom-select.open .ge-searchable-list { display: block; }
.ge-csel-search-wrap {
    padding: 8px 10px;
    border-bottom: 1px solid #f0ebe8;
    position: sticky; top: 0;
    background: #fff; z-index: 1;
}
.ge-csel-search {
    width: 100%; padding: 7px 10px;
    border: 1.5px solid #ede8e5; border-radius: 7px;
    font-size: 13px; outline: none;
    background: #faf8f6;
}
.ge-csel-search:focus { border-color: #e8a598; }
.ge-csel-item {
    display: flex; align-items: center; gap: 8px;
    padding: 9px 14px; font-size: 13px; color: #2d2d2d;
    cursor: pointer; transition: background 0.1s;
}
.ge-csel-item:hover { background: #fff5f3; }
.ge-csel-item.active { color: #e8a598; font-weight: 600; }

/* ── PHOTO UPLOAD ZONE ───────────────────────────────────────── */
.ge-photo-zone {
    border: 2px dashed #e0d8d4;
    border-radius: 12px;
    padding: 20px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    min-height: 80px;
    background: #faf8f6;
}
.ge-photo-zone:hover, .ge-photo-zone.drag-over {
    border-color: #e8a598;
    background: #fff5f3;
}
.ge-photo-zone-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    color: #ccc;
    font-size: 13px;
    width: 100%;
    pointer-events: none;
}
.ge-gallery-preview {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
}
.ge-gallery-thumb {
    position: relative;
    width: 88px;
    height: 88px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
}
.ge-gallery-thumb img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.ge-gallery-del {
    position: absolute;
    top: 4px; right: 4px;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: rgba(0,0,0,0.55);
    color: #fff;
    border: none;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    text-decoration: none !important;
    transition: background 0.15s;
    padding: 0;
}
.ge-gallery-del:hover { background: #e74c3c; }

/* ── PHONE ROW (escort listing form) ─────────────────────────── */
.ge-phone-row {
    display: flex;
    align-items: stretch;
    border: 1.5px solid #ede8e5;
    border-radius: 10px;
    background: #faf8f6;
    position: relative; /* needed so dropdown can overflow */
}
.ge-phone-row:focus-within { border-color: #e8a598; }
/* round left corners of first child, right corners of last child */
.ge-phone-row > *:first-child { border-radius: 8px 0 0 8px; }
.ge-phone-row > *:last-child  { border-radius: 0 8px 8px 0; }

/* compact code selector on the left */
.ge-phone-code-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 10px;
    width: 88px;
    flex-shrink: 0;
    background: #f5f0ee;
    border-right: 1.5px solid #ede8e5;
    cursor: pointer;
    user-select: none;
    font-size: 12px;
    color: #555;
    white-space: nowrap;
}
.ge-phone-code-btn .ge-csel-val { flex: 1; font-size: 12px; }
.ge-phone-code-btn .ge-csel-arrow { font-size: 10px; color: #bbb; }

/* big number field on the right */
.ge-phone-number-big {
    flex: 1;
    border: none !important;
    background: transparent;
    padding: 10px 14px !important;
    font-size: 16px;
    font-weight: 500;
    color: #2d2d2d;
    outline: none;
    min-width: 0;
}
.ge-phone-number-big::placeholder { color: #ccc; font-weight: 400; }

/* phone dropdown list width */
.ge-phone-list { min-width: 200px !important; max-height: 240px !important; }

/* ── CONTACT METHOD ICONS ─────────────────────────────────────── */
.ge-contact-icons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 4px;
}
.ge-contact-icon-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    user-select: none;
}
.ge-contact-icon-wrap input[type="checkbox"] { display: none; }
.ge-contact-icon {
    width: 52px; height: 52px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    background: #e8e8e8;
    color: #aaa;
    transition: background 0.2s, color 0.2s, box-shadow 0.2s;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.ge-contact-icon svg { width: 24px; height: 24px; }
.ge-ci-label {
    font-size: 11px;
    color: #aaa;
    font-weight: 500;
    transition: color 0.2s;
}

/* checked state — each icon gets its brand colour */
.ge-contact-icon-wrap.checked .ge-ci-phone { background: #555; color: #fff; }
.ge-contact-icon-wrap.checked .ge-ci-wa    { background: #25D366; color: #fff; }
.ge-contact-icon-wrap.checked .ge-ci-tg    { background: #229ED9; color: #fff; }
.ge-contact-icon-wrap.checked .ge-ci-label { color: #2d2d2d; }

/* JS toggles checked class on the label — add hover hint */
.ge-contact-icon-wrap:hover .ge-contact-icon { box-shadow: 0 2px 8px rgba(0,0,0,0.14); }
.ge-contact-icon-wrap:hover .ge-ci-phone:not(.ge-contact-icon-wrap.checked .ge-ci-phone) { background: #ccc; }
.ge-contact-icon-wrap:hover .ge-ci-wa:not(.ge-contact-icon-wrap.checked .ge-ci-wa) { background: #b2eec8; color: #25D366; }
.ge-contact-icon-wrap:hover .ge-ci-tg:not(.ge-contact-icon-wrap.checked .ge-ci-tg) { background: #b2dff0; color: #229ED9; }


/* ===== ADDRESS AUTOCOMPLETE ===== */
.ge-addr-suggestions { position: absolute; top: 100%; left: 0; right: 0; z-index: 10000; background: #fff; border: 1.5px solid #ede8e5; border-top: none; border-radius: 0 0 12px 12px; box-shadow: 0 8px 24px rgba(0,0,0,0.1); max-height: 280px; overflow-y: auto; display: none; }
.ge-addr-item { padding: 12px 14px; cursor: pointer; border-bottom: 1px solid #f5f0ee; transition: background 0.15s; line-height: 1.4; }
.ge-addr-item:last-child { border-bottom: none; }
.ge-addr-item:hover { background: #fdf5f3; }
.ge-addr-item strong { font-size: 14px; color: #2d2d2d; display: block; margin-bottom: 2px; }
.ge-addr-item span { font-size: 11px; color: #aaa; }
html.ge-dark .ge-addr-suggestions { background: #2a2a2a !important; border-color: #3a3a3a !important; box-shadow: 0 8px 24px rgba(0,0,0,0.4) !important; }
html.ge-dark .ge-addr-item { border-bottom-color: #333 !important; }
html.ge-dark .ge-addr-item:hover { background: #333 !important; }
html.ge-dark .ge-addr-item strong { color: #e8e8e8 !important; }
html.ge-dark .ge-addr-item span { color: #777 !important; }

/* ===== BALANCE PAGE ===== */
.ge-bal-hero { text-align: center; padding: 32px 20px 24px; background: linear-gradient(135deg, #fff8f0, #fff0ed); border-radius: 16px; margin-bottom: 24px; border: 1.5px solid #f5ddd8; }
.ge-bal-hero-icon { font-size: 40px; color: #f59e0b; line-height: 1; margin-bottom: 6px; }
.ge-bal-hero-label { font-size: 12px; font-weight: 600; color: #aaa; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.ge-bal-hero-count { font-size: 36px; font-weight: 700; color: #2d2d2d; }
.ge-bal-section { background: #fff; border-radius: 14px; padding: 22px 24px; margin-bottom: 20px; border: 1px solid #f0e8e5; }
.ge-bal-section-title { font-size: 15px; font-weight: 700; color: #2d2d2d; margin-bottom: 12px; }
.ge-bal-text { font-size: 13px; color: #666; line-height: 1.6; margin: 0 0 16px; }
.ge-bal-note { font-size: 12px; color: #aaa; margin: 14px 0 0; }
.ge-bal-note a { color: #e8a598; }
.ge-bal-verify-note { margin-top: 10px; display: flex; align-items: center; gap: 8px; padding: 10px 14px; background: #faf8f6; border-radius: 10px; border: 1.5px solid #f0e8e5; font-size: 12px; color: #888; line-height: 1.5; }
.ge-bal-verify-note svg circle { fill: #e8a598; }
.ge-bal-verify-note strong { color: #2d2d2d; }
.ge-bal-verify-note a { color: #e8a598; text-decoration: none; font-weight: 600; white-space: nowrap; }
.ge-bal-verify-note a:hover { color: #d9897a; }
/* Tiers */
.ge-bal-tiers { display: flex; flex-direction: column; gap: 8px; }
.ge-bal-tier { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 10px; border: 1.5px solid #f0ece8; background: #faf8f6; }
.ge-tier-gold, .ge-tier-gold-v { border-color: #fcd34d; background: #fffbeb; }
.ge-tier-plus, .ge-tier-plus-v { border-color: #d4b5f5; background: #faf5ff; }
.ge-bal-tier-rank { font-size: 16px; width: 24px; text-align: center; flex-shrink: 0; }
.ge-bal-tier-info { flex: 1; }
.ge-bal-tier-name { font-size: 13px; font-weight: 600; color: #2d2d2d; display: flex; align-items: center; gap: 4px; }
.ge-bal-tier-desc { font-size: 11px; color: #aaa; margin-top: 1px; }
.ge-bal-tier-badge { font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 20px; background: #f0ece8; color: #aaa; white-space: nowrap; }
.ge-tier-badge-blue { background: #eff6ff; color: #3b82f6; }
.ge-tier-badge-plus { background: #f3e8ff; color: #9333ea; }
.ge-tier-badge-gold { background: #fef3c7; color: #d97706; }
/* Star packages */
.ge-bal-packages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 4px; }
.ge-bal-pkg { position: relative; border: 1.5px solid #f0e8e5; border-radius: 14px; padding: 20px 14px 16px; text-align: center; background: #fff; display: flex; flex-direction: column; align-items: center; gap: 6px; }
.ge-bal-pkg-popular { border-color: #e8a598; background: #fff8f6; }
.ge-bal-pkg-elite { border-color: #fcd34d; background: #fffdf5; }
.ge-bal-pkg-badge { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); font-size: 10px; font-weight: 700; padding: 2px 10px; border-radius: 20px; background: #e8a598; color: #fff; white-space: nowrap; }
.ge-bal-pkg-badge-gold { background: #f59e0b; }
.ge-bal-pkg-stars { font-size: 22px; font-weight: 800; color: #f59e0b; }
.ge-bal-pkg-price { font-size: 20px; font-weight: 700; color: #2d2d2d; }
.ge-bal-pkg-val { font-size: 11px; color: #bbb; }
.ge-bal-pkg-btn { margin-top: 8px; display: block; width: 100%; padding: 8px 0; border-radius: 8px; background: #f0ece8; color: #555; font-size: 12px; font-weight: 600; text-decoration: none !important; transition: background 0.15s; }
.ge-bal-pkg-btn:hover { background: #e8a598; color: #fff !important; }
.ge-bal-pkg-btn-gold { background: #fef3c7; color: #d97706; }
.ge-bal-pkg-btn-gold:hover { background: #f59e0b; color: #fff !important; }
@media (max-width: 700px) {
    .ge-bal-packages { grid-template-columns: repeat(2, 1fr); }
}
.ge-bal-pkg-btn { cursor: pointer; border: none; font-family: inherit; }
.ge-bal-alert-cancel { background: #fff3cd; border: 1px solid #ffc107; color: #856404; border-radius: 10px; padding: 12px 16px; font-size: 13px; margin-bottom: 20px; }

/* Mobile filter bar */
.ge-mobile-filter-bar { display: none; padding: 0 16px 12px; }
.ge-mobile-filter-btn {
    display: flex; align-items: center; gap: 6px;
    padding: 10px 20px; border: 1px solid #d1d5db; border-radius: 8px;
    background: #fff; font-size: 14px; font-weight: 500; color: #374151;
    cursor: pointer; width: 100%;  justify-content: center;
}
.ge-mobile-filter-btn:active { background: #f3f4f6; }
.ge-filter-count {
    display: inline-flex; align-items: center; justify-content: center;
    background: #e8a598; color: #fff; font-size: 11px; font-weight: 700;
    width: 18px; height: 18px; border-radius: 50%;
}

/* Mobile sidebar overlay */
.ge-sidebar-overlay { display: contents; }
.ge-sidebar-close { display: none; }

@media (max-width: 768px) {
    .ge-mobile-filter-bar { display: block; }
    .ge-sidebar-overlay {
        display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0;
        background: rgba(0,0,0,.45); z-index: 999;
    }
    .ge-sidebar-overlay.open { display: flex; align-items: center; justify-content: center; }
    .ge-sidebar-overlay .ge-sidebar {
        width: 90%; max-width: 360px; max-height: 70vh; overflow-y: auto;
        background: #fff; border-radius: 16px; box-shadow: 0 8px 40px rgba(0,0,0,.2);
        animation: ge-pop-in .2s ease;
    }
    @keyframes ge-pop-in { from { transform: scale(0.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
    .ge-sidebar-close {
        display: flex; align-items: center; justify-content: center;
        width: 32px; height: 32px; font-size: 22px; color: #999;
        cursor: pointer; position: absolute; top: 12px; right: 12px;
        border-radius: 50%; transition: background 0.15s;
    }
    .ge-sidebar-close:hover { background: rgba(0,0,0,0.06); color: #666; }
    .ge-sidebar-overlay .ge-sidebar { position: relative; padding-top: 0; }
    .ge-sidebar-overlay .ge-sidebar-title {
        padding: 16px 48px 12px 16px !important;
        margin: 0 !important;
        font-size: 12px !important;
    }
    .ge-sidebar-overlay .ge-sidebar-box {
        margin-top: 0 !important;
    }
    .ge-mobile-cities { display: none; }
}


/* Dark theme — mobile location popup */
html.ge-dark .ge-sidebar-overlay .ge-sidebar { background: #242424 !important; }
html.ge-dark .ge-sidebar-overlay .ge-sidebar-close { color: #777; }
html.ge-dark .ge-sidebar-overlay .ge-sidebar-close:hover { background: rgba(255,255,255,0.08); color: #ccc; }
html.ge-dark .ge-sidebar-overlay .ge-sidebar-box { background: #2a2a2a !important; border: 1px solid #3a3a3a !important; }
html.ge-dark .ge-sidebar-overlay .ge-region { border-color: #3a3a3a !important; }
html.ge-dark .ge-sidebar-overlay .ge-country { border-color: #333 !important; }
/* ===== FORCE INTER FONT EVERYWHERE ===== */
body, body *,
.ge-profile *, .ge-layout *,
.ge-aci-text, .ge-aci-row,
.ge-review-text, .ge-review-author, .ge-review-date,
.ge-profile-location, .ge-avail-badge,
.ge-section-title, .ge-stat-label, .ge-stat-value,
.ge-price-label, .ge-price-val,
.ge-service-tag, .ge-profile-desc,
.ge-map-link, .ge-no-reviews, .ge-review-login-msg,
.ge-review-input, .ge-review-submit,
button, input, textarea, select, a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
/* ===== FORCE INTER ON CONTENT AREAS (high specificity) ===== */
html body .ge-profile-desc,
html body .ge-profile-desc p,
html body .ge-profile-desc span,
html body .ge-profile-desc *,
html body .entry-content,
html body .entry-content p,
html body .entry-content *,
html body .ge-review-text,
html body .ge-review-author,
html body .ge-review-date,
html body .comment-body *,
html body .comment-content,
html body .comment-content * {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
html body .ge-review-author { font-size: 13px !important; font-weight: 600 !important; }
html body .ge-review-date { font-size: 11px !important; }
html body .ge-profile-desc p { font-size: 15px !important; color: #555 !important; }


/* ===== SEARCH PAGE ===== */
.ge-search-wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 32px 20px 48px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.ge-search-hero { margin-bottom: 20px; }
.ge-search-bar {
    display: flex; align-items: center; gap: 0;
    background: var(--ge-bg-card); border: none;
    border-radius: 14px; padding: 0;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: box-shadow 0.15s; overflow: hidden;
}
.ge-search-bar:focus-within { box-shadow: 0 2px 16px rgba(232,165,152,0.15); }
.ge-search-icon { flex-shrink: 0; color: var(--ge-text-muted); padding-left: 16px; }
.ge-search-input {
    flex: 1; border: none !important; outline: none !important; box-shadow: none !important; font-size: 15px;
    font-family: inherit; color: var(--ge-text); background: transparent !important; padding: 14px 14px;
    -webkit-appearance: none; appearance: none;
}
.ge-search-input:focus, .ge-search-input:active, .ge-search-input:hover {
    outline: none !important; box-shadow: none !important; border: none !important; background: transparent !important;
}
.ge-search-input::placeholder { color: var(--ge-text-faint); }
.ge-search-submit {
    padding: 14px 32px; background: var(--ge-accent); color: #fff; border: none;
    border-radius: 0 14px 14px 0; font-size: 14px; font-weight: 600; font-family: inherit;
    cursor: pointer; transition: background 0.15s; white-space: nowrap;
}
.ge-search-submit:hover { background: var(--ge-accent-hover); }

.ge-search-filters { margin-bottom: 24px; }
.ge-filter-bar {
    display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end;
    background: var(--ge-bg-card); border: 1.5px solid var(--ge-border);
    border-radius: 14px; padding: 16px 18px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
}
.ge-filter-group { display: flex; flex-direction: column; gap: 5px; }
.ge-filter-label {
    font-size: 10px; font-weight: 700; text-transform: uppercase;
    letter-spacing: 0.8px; color: var(--ge-text-muted); font-family: 'Inter', sans-serif;
}
.ge-filter-select {
    padding: 9px 30px 9px 12px; border: 1.5px solid var(--ge-border); border-radius: 8px;
    font-size: 13px; font-family: 'Inter', sans-serif; color: var(--ge-text);
    background: var(--ge-bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23bbb' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center;
    -webkit-appearance: none; -moz-appearance: none; appearance: none;
    cursor: pointer; min-width: 110px; transition: border-color 0.15s;
}
.ge-filter-select:focus { border-color: var(--ge-accent); outline: none; }
.ge-filter-select:hover { border-color: #d5ccc8; }

.ge-filter-reset {
    font-size: 12px; color: var(--ge-text-muted); text-decoration: none;
    padding: 9px 14px; border-radius: 8px; border: 1.5px solid var(--ge-border);
    transition: all 0.15s; white-space: nowrap; font-family: 'Inter', sans-serif;
}
.ge-filter-reset:hover { color: #c0392b; border-color: #f5c6c6; background: #fef5f5; }

.ge-filter-services-wrap { position: relative; }
.ge-filter-services-btn {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 9px 30px 9px 12px; border: 1.5px solid var(--ge-border); border-radius: 8px;
    font-size: 13px; font-family: 'Inter', sans-serif; color: var(--ge-text);
    background: var(--ge-bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23bbb' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center; cursor: pointer; min-width: 120px;
    white-space: nowrap; max-width: 180px; overflow: hidden; text-overflow: ellipsis;
    transition: border-color 0.15s;
}
.ge-filter-services-btn:hover { border-color: var(--ge-accent); }
.ge-csel-arrow { display: none; }
.ge-filter-services-list {
    display: none; position: absolute; top: calc(100% + 4px); left: 0;
    background: var(--ge-bg-card); border: 1.5px solid var(--ge-border);
    border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,0.10);
    z-index: 999; padding: 8px; min-width: 180px; max-height: 280px; overflow-y: auto;
}
.ge-filter-services-list.open { display: block; }
.ge-svc-check-item {
    display: flex; align-items: center; gap: 8px; padding: 7px 10px;
    border-radius: 6px; font-size: 13px; color: var(--ge-text-secondary);
    cursor: pointer; transition: background 0.1s; font-family: 'Inter', sans-serif;
}
.ge-svc-check-item:hover { background: var(--ge-accent-light); }
.ge-svc-check-item input { accent-color: var(--ge-accent); cursor: pointer; }

.ge-loc-filter { position: relative; }
.ge-loc-select { position: relative; }
.ge-loc-btn {
    display: flex; align-items: center; gap: 8px; padding: 9px 12px;
    border: 1.5px solid var(--ge-border); border-radius: 8px;
    background: var(--ge-bg-input) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23bbb' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center; cursor: pointer; font-size: 13px;
    font-family: 'Inter', sans-serif; color: var(--ge-text);
    min-width: 140px; white-space: nowrap; transition: border-color 0.15s; padding-right: 30px;
}
.ge-loc-btn:hover, .ge-loc-select.open .ge-loc-btn { border-color: var(--ge-accent); }
.ge-loc-arrow { display: none; }
.ge-loc-select.open .ge-loc-arrow { transform: rotate(180deg); color: var(--ge-accent); }
.ge-loc-dropdown {
    display: none; position: absolute; top: calc(100% + 4px); left: 0;
    min-width: 260px; max-height: 340px; overflow-y: auto;
    background: var(--ge-bg-card); border: 1.5px solid var(--ge-border);
    border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,0.12); z-index: 999;
}
.ge-loc-select.open .ge-loc-dropdown { display: block; }
.ge-loc-search-wrap {
    padding: 8px; border-bottom: 1px solid var(--ge-border);
    position: sticky; top: 0; background: var(--ge-bg-card); z-index: 1;
}
.ge-loc-search {
    width: 100%; padding: 8px 10px; border: 1.5px solid var(--ge-border);
    border-radius: 7px; font-size: 12px; font-family: 'Inter', sans-serif;
    outline: none; box-sizing: border-box;
}
.ge-loc-search:focus { border-color: var(--ge-accent); }
.ge-loc-item {
    padding: 9px 14px; font-size: 13px; font-family: 'Inter', sans-serif;
    cursor: pointer; transition: background 0.1s; display: flex; align-items: center; gap: 8px;
}
.ge-loc-item:hover { background: var(--ge-accent-light); }
.ge-loc-item.active { color: var(--ge-accent-hover); font-weight: 600; }
.ge-loc-country-row strong { flex: 1; font-weight: 500; font-size: 13px; }
.ge-loc-expand {
    color: var(--ge-text-faint); font-size: 11px; padding: 2px 6px;
    transition: transform 0.15s, color 0.15s; cursor: pointer;
}
.ge-loc-expand:hover { color: var(--ge-accent); }
.ge-loc-country.open .ge-loc-expand { transform: rotate(90deg); color: var(--ge-accent); }
.ge-loc-cities { display: none; padding-left: 16px; }
.ge-loc-country.open .ge-loc-cities { display: block; }
.ge-loc-city { font-size: 12px; color: var(--ge-text-secondary); padding: 7px 14px; }
.ge-loc-any { font-weight: 500; border-bottom: 1px solid var(--ge-border); }

.ge-search-results-info {
    display: flex; align-items: center; gap: 8px; margin-bottom: 20px;
    font-family: 'Inter', sans-serif;
}
.ge-search-count { font-size: 14px; font-weight: 600; color: var(--ge-text); }
.ge-search-query { font-size: 13px; color: var(--ge-text-muted); }

@media (max-width: 768px) {
    .ge-search-wrap { padding: 16px 12px 32px; }
    .ge-search-bar { gap: 8px; padding: 4px 4px 4px 12px; }
    .ge-search-input { padding: 8px 0; font-size: 14px; }
    .ge-search-submit { padding: 10px 18px; font-size: 13px; }
    .ge-filter-bar { padding: 12px; gap: 8px; }
    .ge-filter-group { width: calc(50% - 4px); }
    .ge-filter-select { min-width: 0; width: 100%; font-size: 12px; padding: 8px 28px 8px 10px; }
    .ge-filter-services-btn { min-width: 0; width: 100%; font-size: 12px; }
    .ge-loc-btn { min-width: 0; width: 100%; font-size: 12px; }
    .ge-filter-services-wrap, .ge-loc-filter { width: calc(50% - 4px); }
}


/* ===== SIDEBAR COUNTRY NAME LINK ===== */
.ge-country-name {
    display: flex; align-items: center; gap: 8px; flex: 1;
    text-decoration: none !important; color: #2d2d2d !important;
    font-size: 13px; font-weight: 600; font-family: 'Inter', sans-serif;
    padding: 0; transition: color 0.15s;
}
.ge-country-name:hover { color: var(--ge-accent) !important; }
.ge-country-name.active { color: #c97060 !important; font-weight: 700; }
.ge-arrow {
    padding: 6px 10px; cursor: pointer; user-select: none; border-radius: 6px; transition: background 0.15s;
}
.ge-arrow:hover { background: #f0ebe8; }

/* All Cities link — outlined when active, no outline when country selected */


/* ===== FILTER FONTS ===== */
.ge-filter-bar,
.ge-filter-select,
.ge-filter-label,
.ge-filter-services-btn,
.ge-filter-reset,
.ge-svc-check-item {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
.ge-sidebar-title,
.ge-country-header,
.ge-city-link,
.ge-all-cities-link {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* ===== ACTIVE MENU HIGHLIGHT ===== */
.ge-active-menu > a,
.ge-active-menu > .ct-menu-link {
    color: var(--ge-accent) !important;
    border-radius: 8px;
    padding: 4px 12px;
    background: var(--ge-accent-light);
}



/* ===== CARD BADGES ===== */

/* Corner ribbon — top right */
.ge-card { position: relative; overflow: hidden; }
.ge-ribbon {
    position: absolute;
    top: 12px;
    left: -32px;
    width: 120px;
    text-align: center;
    transform: rotate(-45deg);
    z-index: 3;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.ge-ribbon span {
    display: block;
    padding: 4px 0;
    font-family: 'Inter', sans-serif;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* Gold ribbon */
.ge-ribbon-gold {
    background: linear-gradient(135deg, #f6d365, #d4a017);
}

/* Plus ribbon */
.ge-ribbon-plus {
    background: linear-gradient(135deg, #f0b0a0, #e8a598);
}

/* Verified check — bottom right, next to name */
.ge-check {
    display: inline-flex;
    align-items: center;
    width: 15px;
    height: 15px;
    flex-shrink: 0;
    vertical-align: middle;
    margin-left: 3px;
    margin-bottom: 1px;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,0.2));
}
.ge-check svg { width: 100%; height: 100%; display: block; }


/* ===== HEADER LOCATION BUTTON (mobile) ===== */
.ge-header-loc-btn {
    display: none; /* hidden on desktop */
}
@media (max-width: 900px) {
    .ge-header-loc-btn {
        display: flex !important;
        align-items: center;
        gap: 6px;
        padding: 7px 14px;
        border: none;
        border-radius: 10px;
        background: #e8a598;
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        font-weight: 600;
        color: #fff;
        cursor: pointer;
        white-space: nowrap;
        max-width: 160px;
        overflow: hidden;
        text-overflow: ellipsis;
        box-shadow: 0 2px 8px rgba(232,165,152,0.35);
        transition: all 0.15s;
        margin-left: auto;
        margin-right: 8px;
    }
    .ge-header-loc-btn svg { color: #fff; flex-shrink: 0; }
    .ge-header-loc-btn span { overflow: hidden; text-overflow: ellipsis; }
    .ge-header-loc-btn:active { background: #d9897a; transform: scale(0.97); }

    /* Dark theme: dark button */
    html.ge-dark .ge-header-loc-btn {
        background: var(--ge-bg-card) !important;
        border: 1.5px solid var(--ge-border) !important;
        color: var(--ge-text) !important;
        box-shadow: none !important;
    }
    html.ge-dark .ge-header-loc-btn svg { color: var(--ge-accent) !important; }
    html.ge-dark .ge-header-loc-btn:active {
        background: var(--ge-bg-input) !important;
    }
}

/* ===== H1 + FILTER BUTTON ROW (mobile) ===== */
.ge-heading-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px;
}
.ge-heading-row h1 {
    margin: 0 !important;
    flex: 1;
    min-width: 0;
}
.ge-heading-filter-btn {
    display: none; /* hidden on desktop */
}
@media (max-width: 768px) {
    .ge-heading-filter-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 8px 10px;
        border: none;
        border-radius: 10px;
        background: var(--ge-accent, #e8a598);
        font-family: 'Inter', sans-serif;
        font-size: 13px;
        font-weight: 600;
        color: #fff;
        cursor: pointer;
        white-space: nowrap;
        box-shadow: 0 2px 8px rgba(232,165,152,0.35);
        flex-shrink: 0;
        transition: all 0.15s;
    }
    .ge-heading-filter-btn svg { color: #fff; flex-shrink: 0; }
    .ge-heading-filter-btn:active { background: var(--ge-accent-hover, #d9897a); transform: scale(0.97); }
    .ge-heading-filter-count {
        background: #fff;
        color: var(--ge-accent);
        font-size: 10px;
        font-weight: 800;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

/* ===== MOBILE TOP BAR ===== */
.ge-mob-bar {
    display: none;
    gap: 8px;
    padding: 0 0 16px;
    font-family: 'Inter', sans-serif;
}
.ge-mob-loc-btn {
    flex: 1 1 0% !important;
    min-width: 0;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 16px;
    border: none;
    border-radius: 12px;
    background: #e8a598;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(232,165,152,0.35);
    transition: all 0.15s;
}
.ge-mob-loc-btn svg:first-child { color: #fff; flex-shrink: 0; }
.ge-mob-loc-btn span { flex: 1; text-align: left; }
.ge-mob-loc-btn svg:last-child { color: rgba(255,255,255,0.7); flex-shrink: 0; }
.ge-mob-loc-btn:active { background: #d9897a; }

.ge-mob-filter-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 12px 16px;
    border: none;
    border-radius: 12px;
    background: var(--ge-accent);
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(232,165,152,0.35);
    transition: all 0.15s;
    flex: 0 0 auto;
}
.ge-mob-filter-btn svg { color: #fff; flex-shrink: 0; }
.ge-mob-filter-btn:active { background: var(--ge-accent-hover); transform: scale(0.97); }

.ge-mob-filter-count {
    background: #fff;
    color: var(--ge-accent);
    font-size: 10px;
    font-weight: 800;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 2px;
}

/* ===== MOBILE LAYOUT ===== */
@media (max-width: 768px) {
    /* Hide old mobile bar — replaced by header loc btn + heading filter btn */
    .ge-mob-bar { display: none !important; }

    /* Hide desktop filters by default */
    .ge-filters { display: none; margin-bottom: 0; }
    .ge-filters.ge-filters-open {
        display: block;
        margin-bottom: 16px;
        animation: ge-fade-in 0.2s ease;
    }
    @keyframes ge-fade-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }

    .ge-filters.ge-filters-open .ge-filter-bar {
        flex-direction: column;
        gap: 10px;
        padding: 16px;
        border-radius: 14px;
        box-shadow: 0 2px 16px rgba(0,0,0,0.08);
    }
    .ge-filters.ge-filters-open .ge-filter-group {
        width: 100%;
    }
    .ge-filters.ge-filters-open .ge-filter-label {
        font-size: 11px;
    }
    .ge-filters.ge-filters-open .ge-filter-select {
        width: 100%;
        min-width: 0;
        padding: 12px 32px 12px 14px;
        font-size: 14px;
        border-radius: 10px;
    }
    .ge-filters.ge-filters-open .ge-filter-services-btn {
        width: 100%;
        max-width: none;
        min-width: 0;
        padding: 12px 14px;
        font-size: 14px;
        border-radius: 10px;
    }
    .ge-filters.ge-filters-open .ge-filter-reset {
        width: 100%;
        text-align: center;
        padding: 12px;
        font-size: 14px;
        border-radius: 10px;
    }

    /* Cards grid — clean 2 columns */
    .ge-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .ge-card {
        border-radius: 12px;
        aspect-ratio: 3/4;
    }
    .ge-card-overlay {
        padding: 24px 10px 10px;
    }
    .ge-card-name {
        font-size: 14px !important;
        font-weight: 600;
    }
    .ge-card-city {
        font-size: 11px !important;
    }

    /* Badges mobile */
    .ge-check {
        width: 11px;
        height: 11px;
        margin-left: 1px;
        margin-bottom: 0;
    }
    .ge-check-visiting {
        width: 11px;
        height: 11px;
    }
    .ge-card-city {
        display: flex;
        align-items: center;
        gap: 2px;
    }
    .ge-card-name .ge-card-fav {
        width: 20px;
        height: 20px;
    }
    .ge-card-fav svg {
        width: 12px;
        height: 12px;
    }
    .ge-ribbon {
        top: 8px;
        left: -34px;
        width: 108px;
    }
    .ge-ribbon span {
        font-size: 8px;
        padding: 3px 0;
        letter-spacing: 1.2px;
    }

    /* Sidebar slide-in */
    .ge-sidebar {
        display: block !important;
        padding: 16px;
    }

    /* Page padding */
    .ge-layout {
        padding: 12px !important;
    }
    .ge-main {
        padding: 0 !important;
    }
}

@media (max-width: 380px) {
    .ge-grid { gap: 6px !important; }
    .ge-card-name { font-size: 13px !important; }
    .ge-card-city { font-size: 10px !important; }
    .ge-mob-loc-btn { padding: 10px 12px; font-size: 13px; }
    .ge-mob-filter-btn { padding: 10px 14px; font-size: 13px; }
}


/* Blocksy offcanvas hidden (custom header used) */
#offcanvas .ct-panel-inner {
    background: #1e1e1e !important;
}

/* Hamburger button — peach color */
[data-device="mobile"] .ct-header-trigger,
.ct-header-trigger {
    --theme-icon-color: #e8a598 !important;
    color: #e8a598 !important;
}
/* Close button — peach */
#offcanvas .ct-toggle-close {
    color: #e8a598 !important;
    --theme-icon-color: #e8a598 !important;
    opacity: 1 !important;
}
#offcanvas .ct-toggle-close:hover {
    color: #d9897a !important;
    --theme-icon-color: #d9897a !important;
}

/* Menu items */
#offcanvas .ct-menu-link,
#offcanvas [data-id="mobile-menu"] a,
#offcanvas .menu-item a {
    color: #ccc !important;
    --theme-link-initial-color: #ccc !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    padding: 14px 20px !important;
    border-radius: 10px;
    margin: 2px 8px;
    transition: all 0.15s !important;
    text-decoration: none !important;
    display: block;
}
#offcanvas .ct-menu-link:hover,
#offcanvas [data-id="mobile-menu"] a:hover,
#offcanvas .menu-item a:hover {
    background: rgba(232,165,152,0.12) !important;
    color: #e8a598 !important;
}

/* Active menu item */
#offcanvas .ge-active-menu > a,
#offcanvas .current-menu-item:not(.ge-nav-favourites) > a {
    background: rgba(232,165,152,0.12) !important;
    color: #e8a598 !important;
    font-weight: 600 !important;
}
/* Favourites active only when ge-nav-active */
#offcanvas .ge-nav-favourites.ge-nav-active > a {
    background: rgba(232,165,152,0.12) !important;
    color: #e8a598 !important;
    font-weight: 600 !important;
}

/* Logo in offcanvas */
#offcanvas .site-title a,
#offcanvas .site-branding a {
    color: #e8e8e8 !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 800 !important;
}
#offcanvas .site-title a span,
#offcanvas .site-branding a span {
    color: #e8a598 !important;
}

/* Add Listing button in mobile menu */
#offcanvas .ge-nav-add-listing a {
    background: #e8a598 !important;
    color: #fff !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    text-align: center !important;
    padding: 14px 20px !important;
    margin: 12px 16px !important;
    box-shadow: 0 2px 8px rgba(232,165,152,0.3);
}
#offcanvas .ge-nav-add-listing a:hover {
    background: #d9897a !important;
}

/* Balance in mobile menu */
#offcanvas .ge-topnav-balance a {
    color: #ccc !important;
    font-weight: 500 !important;
}
#offcanvas .ge-topnav-balance a span {
    color: #f59e0b !important;
    font-weight: 700 !important;
}

/* Dividers between items */
#offcanvas [data-id="mobile-menu"] .menu-item {
    border-bottom: 1px solid #333;
    margin: 0 12px;
}
#offcanvas [data-id="mobile-menu"] .menu-item:last-child {
    border-bottom: none;
}


/* ===== MOBILE PROFILE PAGE FIX ===== */
@media (max-width: 768px) {
    /* Full-width photo, no weird cropping */
    .ge-profile-photo {
        max-height: none !important;
        overflow: visible !important;
        border-radius: 0 !important;
        margin: 0 -12px !important;
        width: calc(100% + 24px) !important;
        box-shadow: none !important;
        position: relative !important;
    }
    .ge-profile-photo img {
        max-height: none !important;
        aspect-ratio: 3/4 !important;
        object-fit: cover !important;
        object-position: top center !important;
        width: 100% !important;
        display: block !important;
    }

    /* Gallery strip — horizontal scroll */
    .ge-gallery-strip {
        margin: 8px 0 0 !important;
        gap: 6px !important;
        padding: 0 !important;
    }

    /* Name — wrap contact icons to new line */
    .ge-profile-name {
        font-size: 24px !important;
        line-height: 1.3 !important;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .ge-contact-icons {
        display: flex !important;
        position: static !important;
        top: auto !important;
        margin-left: 0 !important;
        gap: 8px !important;
    }
    .ge-contact-icons a {
        width: 36px !important;
        height: 36px !important;
    }
    .ge-contact-icons svg {
        width: 16px !important;
        height: 16px !important;
    }

    /* Verified badge inline */
    .ge-verified-badge-inline {
        width: 18px !important;
        height: 18px !important;
        margin-left: 6px !important;
    }
    .ge-verified-badge-inline svg {
        width: 18px !important;
        height: 18px !important;
    }

    /* Location row */
    .ge-profile-location-row {
        flex-wrap: wrap !important;
        gap: 6px !important;
        margin-top: 8px !important;
    }

    /* Phone block */
    .ge-phone-block {
        margin: 12px 0 !important;
        border-radius: 12px !important;
    }

    /* Stats grid */
    .ge-profile-stats {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .ge-stat {
        padding: 10px 8px !important;
        border-radius: 10px !important;
        text-align: center !important;
    }

    /* Profile info spacing */
    .ge-profile-info {
        padding: 20px !important;
    }
    .ge-profile-header {
        margin-bottom: 16px !important;
    }

    /* Sections */
    .ge-profile-section {
        margin-bottom: 20px !important;
    }
    .ge-section-title {
        font-size: 12px !important;
    }

    /* Prices */
    .ge-prices {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    /* Buttons */
    .ge-contact-btns {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .ge-btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 14px 20px !important;
        border-radius: 14px !important;
        font-size: 15px !important;
    }

    /* Avail badges */
    .ge-avail-badge {
        font-size: 11px !important;
        padding: 3px 10px !important;
    }

    /* Overall page */
    .ge-profile {
        margin: 0 auto !important;
        padding: 0 12px !important;
        gap: 16px !important;
    }
}




/* Mobile profile tweaks — location spacing, verified badge */
@media (max-width: 768px) {
    /* Tighten city , country spacing */
    .ge-profile-location a {
        margin: 0 !important;
    }
    .ge-profile-location {
        letter-spacing: -0.3px !important;
        word-spacing: -2px !important;
    }

    /* Verified badge — smaller, superscript style */
    .ge-verified-badge-inline {
        width: 16px !important;
        height: 16px !important;
        vertical-align: middle !important;
        position: relative !important;
        top: -1px !important;
    }
    .ge-verified-badge-inline svg {
        width: 16px !important;
        height: 16px !important;
    }

    /* Contact icons — separate from name, more gap */
    .ge-contact-icons {
        margin-left: 4px !important;
    }
}


/* ===== MOBILE ACCOUNT PAGE OVERHAUL ===== */
@media (max-width: 768px) {
    /* -- Account wrap -- */
    .ge-account-wrap {
        padding: 0 !important;
        gap: 0 !important;
    }

    /* -- Nav -- horizontal scroll tabs -- */
    .ge-account-nav {
        padding: 10px 0 0 !important;
        background: #fff !important;
        border-radius: 0 !important;
        box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
    }
    .ge-account-user {
        padding: 0 14px 10px !important;
        margin-bottom: 8px !important;
    }
    .ge-account-avatar {
        width: 36px !important;
        height: 36px !important;
        font-size: 15px !important;
    }
    .ge-account-name { font-size: 13px !important; }
    .ge-account-type { font-size: 10px !important; }
    .ge-admin-panel-btn {
        margin: 0 14px 8px !important;
        font-size: 12px !important;
        padding: 6px 12px !important;
    }
    .ge-account-links {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        gap: 0 !important;
        padding: 0 10px !important;
        margin: 0 !important;
    }
    .ge-account-links::-webkit-scrollbar { display: none !important; }
    .ge-account-links a {
        padding: 8px 12px !important;
        font-size: 11px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        border-bottom: 2px solid transparent !important;
        border-radius: 0 !important;
        background: none !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        font-weight: 500 !important;
    }
    .ge-account-links a.active {
        border-bottom-color: var(--ge-accent) !important;
        color: var(--ge-accent) !important;
        font-weight: 700 !important;
        background: none !important;
    }
    .ge-account-links .ge-nav-balance {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
    }
    .ge-account-links .ge-balance-stars {
        font-size: 11px !important;
    }
    .ge-account-type-switcher {
        margin: 0 14px 12px !important;
        padding: 10px 14px !important;
    }

    /* -- Main content -- */
    .ge-account-main {
        padding: 14px 12px !important;
    }
    .ge-account-title {
        font-size: 18px !important;
        margin-bottom: 14px !important;
    }

    /* -- Listing cards -- stack photo on top -- */
    .ge-listing-card {
        flex-direction: column !important;
        border-radius: 12px !important;
        overflow: visible !important;
    }
    .ge-listing-card-photo {
        width: 100% !important;
        height: 200px !important;
    }
    .ge-listing-card-photo img {
        object-position: top center !important;
    }
    .ge-listing-status-badge {
        top: 10px !important;
        left: 10px !important;
        font-size: 9px !important;
        padding: 3px 8px !important;
    }
    .ge-listing-card-body {
        padding: 12px 14px !important;
        gap: 8px !important;
        overflow: visible !important;
    }
    .ge-listing-card-top {
        flex-wrap: nowrap !important;
        align-items: center !important;
    }
    .ge-listing-name {
        font-size: 15px !important;
        flex: 1 !important;
        min-width: 0 !important;
    }
    .ge-listing-price {
        font-size: 16px !important;
        flex-shrink: 0 !important;
    }
    .ge-listing-card-stats {
        gap: 4px !important;
    }
    .ge-listing-card-stats span {
        font-size: 11px !important;
        padding: 2px 8px !important;
    }

    /* -- Boost info block on card -- */
    .ge-listing-card [style*="border-radius:10px"][style*="padding:10px"] {
        border-radius: 8px !important;
        padding: 8px 10px !important;
        font-size: 11px !important;
    }

    /* -- Action buttons -- single row, compact -- */
    .ge-listing-actions {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
        padding-top: 10px !important;
        overflow: visible !important;
        align-items: center !important;
    }
    .ge-listing-actions > a,
    .ge-listing-actions > form,
    .ge-listing-actions > button,
    .ge-listing-actions > span {
        flex: 1 1 auto !important;
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        min-width: 0 !important;
    }
    .ge-listing-actions > a,
    .ge-listing-actions > form > button,
    .ge-listing-actions > button {
        padding: 8px 10px !important;
        font-size: 11px !important;
        border-radius: 6px !important;
        white-space: nowrap !important;
        width: 100% !important;
        text-align: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    .ge-listing-actions > form {
        flex: 1 1 auto !important;
    }
    .ge-listing-actions > form > button {
        width: 100% !important;
    }
    /* Boost popup -- centered modal on mobile */
    .ge-listing-actions > div[style*="280px"] {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: calc(100vw - 48px) !important;
        max-width: 320px !important;
        margin-top: 0 !important;
        z-index: 9999 !important;
        border-radius: 14px !important;
        padding: 18px !important;
        box-shadow: 0 12px 40px rgba(0,0,0,0.2) !important;
    }

    /* -- + Add Listing button -- */
    .ge-add-listing-btn,
    a[href*="add-listing"].ge-btn {
        border-radius: 12px !important;
        padding: 14px !important;
        font-size: 14px !important;
        width: 100% !important;
        text-align: center !important;
    }

    /* -- Forms -- */
    .ge-form-grid {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .ge-form-group input,
    .ge-form-group select,
    .ge-form-group textarea {
        font-size: 14px !important;
        padding: 11px 12px !important;
    }

    /* -- Balance page -- */
    .ge-bal-hero {
        padding: 20px 14px 18px !important;
        border-radius: 12px !important;
        margin-bottom: 16px !important;
    }
    .ge-bal-hero-count { font-size: 28px !important; }
    .ge-bal-hero-icon { font-size: 32px !important; }
    .ge-bal-section {
        padding: 14px !important;
        border-radius: 12px !important;
        margin-bottom: 14px !important;
    }
    .ge-bal-section-title { font-size: 14px !important; }
    .ge-bal-tiers { gap: 6px !important; }
    .ge-bal-tier {
        padding: 8px 12px !important;
        border-radius: 8px !important;
        gap: 10px !important;
    }
    .ge-bal-tier-name { font-size: 12px !important; }
    .ge-bal-tier-desc { font-size: 10px !important; }
    .ge-bal-tier-badge { font-size: 10px !important; padding: 2px 6px !important; }
    .ge-bal-packages {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
    .ge-bal-pkg {
        padding: 18px 10px 14px !important;
        border-radius: 12px !important;
    }
    .ge-bal-pkg-stars { font-size: 18px !important; }
    .ge-bal-pkg-price { font-size: 17px !important; }
    .ge-bal-pkg-btn { padding: 8px 0 !important; font-size: 12px !important; border-radius: 8px !important; }
    .ge-bal-pkg-badge { font-size: 9px !important; padding: 2px 8px !important; }
    .ge-bal-verify-note {
        flex-direction: column !important;
        text-align: center !important;
        gap: 6px !important;
        padding: 12px !important;
        font-size: 11px !important;
    }
    .ge-bal-text { font-size: 12px !important; }

    /* -- Settings page -- */
    .ge-settings-section {
        padding: 14px !important;
        border-radius: 12px !important;
    }

    /* -- Verification page -- */
    .ge-verify-instructions {
        padding: 16px !important;
        border-radius: 12px !important;
    }
    .ge-verify-upload-box { min-width: 0 !important; }
    .ge-verify-status-block {
        padding: 14px !important;
        border-radius: 10px !important;
    }

    /* -- Favourites grid -- */
    .ge-fav-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 10px !important;
    }
}


/* ===== AGENCIES PAGE MOBILE ===== */
@media (max-width: 768px) {
    /* Hide old mobile pills on agencies page */
    .ge-mobile-cities {
        display: none !important;
    }
}


/* ===== LISTING EDIT FORM — GLOBAL FIXES ===== */
/* Labels closer to fields */
.ge-form-group label {
    margin-bottom: 3px !important;
    font-family: 'Inter', sans-serif !important;
}

/* All form inputs — Inter font */
.ge-form-group input,
.ge-form-group textarea,
.ge-form-group select,
.ge-custom-select,
.ge-csel-btn {
    font-family: 'Inter', sans-serif !important;
}

/* Native select — custom arrow, consistent alignment */
.ge-form-group select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background: #fff5f2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23bbb' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center !important;
    border-color: #f0d5d0 !important;
    padding-right: 32px !important;
    text-align: left !important;
}

/* Custom select button — consistent with native selects */
.ge-csel-btn {
    text-align: left !important;
    padding-right: 32px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23bbb' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
}

/* Incall/Outcall toggle buttons — proper styling */
.ge-ats-option span {
    font-family: 'Inter', sans-serif !important;
    cursor: pointer !important;
    min-height: 42px !important;
    font-size: 14px !important;
}
.ge-ats-option input:checked + span {
    border-color: var(--ge-accent) !important;
    color: var(--ge-text) !important;
    font-weight: 600 !important;
    background: var(--ge-accent-light) !important;
}

/* ===== LISTING EDIT FORM — MOBILE ===== */
@media (max-width: 768px) {
    /* Form grid single column */
    .ge-form-grid {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    /* Form labels */
    .ge-form-group label {
        font-size: 11px !important;
        margin-bottom: 2px !important;
    }

    /* Inputs bigger for touch */
    .ge-form-group input,
    .ge-form-group select,
    .ge-form-group textarea {
        padding: 12px 14px !important;
        font-size: 15px !important;
        border-radius: 10px !important;
    }
    .ge-form-group select {
        padding-right: 34px !important;
    }

    /* Custom select */
    .ge-csel-btn {
        padding: 12px 34px 12px 14px !important;
        font-size: 15px !important;
        border-radius: 10px !important;
    }

    /* Incall/Outcall — full width toggles */
    .ge-ats-form {
        gap: 8px !important;
    }
    .ge-ats-option span {
        padding: 12px 16px !important;
        border-radius: 10px !important;
        font-size: 14px !important;
        justify-content: center !important;
    }

    /* Section titles */
    .ge-form-section-title {
        font-size: 12px !important;
        padding: 14px 0 4px !important;
        font-family: 'Inter', sans-serif !important;
    }

    /* Account title */
    .ge-account-title {
        font-family: 'Inter', sans-serif !important;
    }

    /* Form actions */
    .ge-form-actions {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .ge-form-actions .ge-btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 14px !important;
        font-size: 15px !important;
        border-radius: 12px !important;
    }
}


/* ===== CUSTOM SELECT BUTTON (country/city dropdowns) ===== */
.ge-custom-select-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 12px;
    border: 1.5px solid #ede8e5;
    border-radius: 8px;
    background: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: var(--ge-text);
    cursor: pointer;
    box-sizing: border-box;
    text-align: left;
    transition: border-color 0.15s;
}
.ge-custom-select-btn:hover { border-color: var(--ge-accent); }
.ge-custom-select-btn .ge-csel-val { flex: 1; text-align: left; }
.ge-custom-select-btn .ge-csel-arrow {
    font-size: 10px; color: #bbb; margin-left: auto; flex-shrink: 0;
}
.ge-custom-select { position: relative; }

/* ===== INCALL / OUTCALL TOGGLE BUTTONS ===== */
.ge-io-toggles {
    display: flex;
    gap: 10px;
    margin-bottom: 8px;
}
button.ge-io-btn {
    flex: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 12px 16px !important;
    border: 2px solid #ede8e5 !important;
    border-radius: 10px !important;
    background: #fff !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #888 !important;
    cursor: pointer !important;
    transition: all 0.15s !important;
    -webkit-appearance: none !important;
    line-height: 1.2 !important;
}
button.ge-io-btn svg { width: 20px; height: 20px; flex-shrink: 0; }
button.ge-io-btn:hover { border-color: #d5ccc8; color: #555; }
button.ge-io-btn.active {
    border-color: var(--ge-accent) !important;
    color: var(--ge-text) !important;
    font-weight: 600 !important;
    background: var(--ge-accent-light) !important;
}

/* ===== MOBILE FORM OVERRIDES ===== */
@media (max-width: 768px) {
    .ge-custom-select-btn {
        padding: 12px 14px !important;
        font-size: 15px !important;
        border-radius: 10px !important;
    }
    .ge-io-btn {
        padding: 14px 12px !important;
        font-size: 14px !important;
        border-radius: 10px !important;
    }
    .ge-io-toggles {
        gap: 8px !important;
    }
}

/* ── Favourites heart button ─────────────────────── */
.ge-fav-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 50%;
    background: #f0ebe8; border: none; cursor: pointer;
    color: #ccc; transition: all 0.2s; flex-shrink: 0; padding: 0;
}
.ge-fav-btn:hover { background: #ffe0db; color: #e8a598; }
.ge-fav-btn.active { background: #ffe0db; color: #e8a598; }
.ge-fav-btn.active svg path { fill: #e8a598; }
.ge-fav-btn svg path { fill: none; stroke: currentColor; stroke-width: 2; transition: all 0.2s; }
.ge-fav-btn.active svg path { fill: #e8a598; stroke: #e8a598; }
/* Heart on card (top-right corner) */
.ge-card-wrap { position: relative; }
.ge-card-fav {
    position: absolute; bottom: 20px; right: 10px; z-index: 10;
    width: 26px; height: 26px; border-radius: 50%;
    background: rgba(255,255,255,0.85); border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    color: #ccc; transition: all 0.2s; padding: 0;
    backdrop-filter: blur(4px);
}
.ge-card-fav:hover { background: #fff; color: #e8a598; }
.ge-card-fav.active { background: #fff; color: #e8a598; }
.ge-card-fav svg path { fill: none; stroke: currentColor; stroke-width: 2.2; transition: all 0.2s; }
.ge-card-fav.active svg path { fill: #e8a598; stroke: #e8a598; }
/* Favourites page */
.ge-fav-empty { text-align: center; padding: 60px 20px; color: #aaa; grid-column: 1/-1; }
.ge-fav-empty svg { display: block; margin: 0 auto 16px; color: #e8a598; opacity: 0.4; }
.ge-fav-empty p { font-size: 15px; }


/* ===== VISITING ADS ===== */
/* Airplane badge on card */
.ge-visiting-badge {
    position: absolute; top: 10px; left: 10px; z-index: 3;
    width: 24px; height: 24px; border-radius: 50%;
    background: rgba(255,255,255,0.9); backdrop-filter: blur(4px);
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 1px 4px rgba(0,0,0,0.15);
}
.ge-visiting-badge svg { width: 14px; height: 14px; color: #3b82f6; }

/* Visiting sub-cards in account */
.ge-visiting-list { margin: -6px 0 16px 0; display: flex; flex-direction: column; gap: 6px; }
.ge-visiting-sub {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 14px; background: #f8f6f4; border-radius: 10px;
    border: 1px solid #ede8e5; border-left: 3px solid #3b82f6;
}
.ge-visiting-sub-icon { font-size: 16px; flex-shrink: 0; }
.ge-visiting-sub-info { flex: 1; min-width: 0; }
.ge-visiting-sub-city { font-size: 13px; font-weight: 600; color: #2d2d2d; }
.ge-visiting-sub-meta { font-size: 11px; color: #aaa; margin-top: 1px; }
.ge-visiting-sub-actions { display: flex; gap: 4px; flex-shrink: 0; }
.ge-visiting-sub-actions a,
.ge-visiting-sub-actions button {
    padding: 5px 10px; font-size: 11px; border-radius: 6px;
    border: 1px solid #d1d5db; background: #fff; color: #374151;
    cursor: pointer; text-decoration: none; font-family: inherit;
    display: inline-flex; align-items: center; white-space: nowrap;
}
.ge-visiting-sub-actions button[style*="dc2626"] { border-color: #fca5a5; color: #dc2626; }

/* + Visiting Ad button */
.ge-visiting-add-btn {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 6px 12px; font-size: 11px; font-weight: 600;
    border: 1.5px dashed #3b82f6; border-radius: 6px;
    color: #3b82f6; background: transparent; cursor: pointer;
    font-family: inherit; transition: all 0.15s;
}
.ge-visiting-add-btn:hover { background: #eff6ff; border-style: solid; }
.ge-visiting-add-btn svg { width: 12px; height: 12px; }

/* Visiting popup */
.ge-visiting-popup {
    display: none; position: absolute; z-index: 10;
    background: #fff; border: 1px solid #e5e7eb; border-radius: 12px;
    padding: 18px; box-shadow: 0 8px 30px rgba(0,0,0,0.12);
    width: 300px; margin-top: 8px;
}
.ge-visiting-popup h4 { font-size: 15px; font-weight: 700; margin: 0 0 4px; }
.ge-visiting-popup p { font-size: 12px; color: #888; margin: 0 0 14px; line-height: 1.5; }
.ge-visiting-popup select {
    width: 100%; padding: 9px 12px; border: 1.5px solid #ede8e5;
    border-radius: 8px; font-size: 13px; font-family: inherit;
    margin-bottom: 10px; background: #faf8f6;
}
.ge-visiting-popup .ge-visiting-price {
    display: flex; align-items: center; justify-content: space-between;
    padding: 8px 12px; background: #fffbeb; border: 1px solid #fcd34d;
    border-radius: 8px; margin-bottom: 12px; font-size: 13px;
}
.ge-visiting-popup .ge-visiting-price span { font-weight: 700; color: #f59e0b; }
.ge-visiting-submit {
    width: 100%; padding: 10px; background: #3b82f6; color: #fff;
    border: none; border-radius: 8px; font-weight: 600; font-size: 13px;
    cursor: pointer; font-family: inherit; transition: background 0.15s;
}
.ge-visiting-submit:hover { background: #2563eb; }
.ge-visiting-limit { font-size: 11px; color: #aaa; text-align: center; margin-top: 6px; }

/* Mobile visiting */
@media (max-width: 768px) {
    .ge-visiting-sub { padding: 8px 10px; gap: 8px; }
    .ge-visiting-sub-city { font-size: 12px; }
    .ge-visiting-sub-actions a,
    .ge-visiting-sub-actions button { padding: 4px 8px; font-size: 10px; }
    .ge-visiting-popup {
        position: fixed !important;
        top: 50% !important; left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: calc(100vw - 40px) !important;
        max-width: 320px !important;
        z-index: 9999 !important;
    }


    /* Visiting +City button on card */
    .ge-listing-actions > button[style*="dashed"] {
        padding: 8px 0 !important;
        font-size: 10px !important;
    }
    /* Visiting until badge */
    .ge-listing-actions > span[style*="eff6ff"] {
        font-size: 9px !important;
        padding: 3px 6px !important;
    }
    /* Visiting label on card name */
    .ge-listing-card-body span[style*="eff6ff"] {
        font-size: 9px !important;
        padding: 1px 6px !important;
    }
}

/* Clickable stat pills & service tags */
a.ge-stat:hover { border-color: #e8a598 !important; background: #fff5f3 !important; }
a.ge-service-tag:hover { background: #e8a598 !important; color: #fff !important; }

.ge-badge-pending-overlay { background: #f59e0b; color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.6px; }


/* ===== MODERATION MOBILE ===== */
@media (max-width: 768px) {
    /* Status badge on card */
    .ge-badge-pending-overlay {
        font-size: 8px !important;
        padding: 2px 6px !important;
    }

    /* Submit for Review button */
    .ge-listing-actions > form > button[style*="4f46e5"] {
        padding: 8px 0 !important;
        font-size: 11px !important;
        width: 100% !important;
    }

    /* Photo disclaimer */
    .ge-listing-card-body div[style*="fff8e1"],
    .ge-form-group div[style*="fff8e1"] {
        font-size: 10px !important;
        padding: 6px 10px !important;
    }

    /* Admin moderation cards */
    .ge-account-main div[style*="display:flex"][style*="gap:14px"] {
        flex-direction: column !important;
        gap: 10px !important;
        padding: 12px !important;
    }
    .ge-account-main div[style*="display:flex"][style*="gap:14px"] img {
        width: 100% !important;
        height: 140px !important;
        border-radius: 10px !important;
    }
    .ge-account-main div[style*="display:flex"][style*="gap:6px"][style*="flex-shrink"] {
        flex-wrap: wrap !important;
        width: 100% !important;
    }
    .ge-account-main div[style*="display:flex"][style*="gap:6px"][style*="flex-shrink"] a {
        flex: 1 !important;
        text-align: center !important;
        padding: 8px 0 !important;
        font-size: 12px !important;
    }

    /* Visiting popup on mobile */
    .ge-visiting-popup {
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: calc(100vw - 40px) !important;
        max-width: 320px !important;
        z-index: 9999 !important;
    }

    /* Admin tabs scroll */
    .gea-tabs {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        flex-wrap: nowrap !important;
    }
    .gea-tabs::-webkit-scrollbar { display: none !important; }
    .gea-tab {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        font-size: 12px !important;
        padding: 8px 12px !important;
    }
}

/* Visiting badge inline (same as verified check) */
.ge-check-visiting {
    color: #e8a598 !important;
    filter: none !important;
}
.ge-check-visiting svg {
    stroke: #e8a598 !important;
    fill: none !important;
}
.ge-check-visiting svg {
    width: 100%;
    height: 100%;
}

/* ══ DARK THEME — additional overrides ══ */

/* Page background */
html.ge-dark, html.ge-dark body { background: #1a1a1a !important; }

/* Header fix */
html.ge-dark [data-id="header"], html.ge-dark .ct-header, html.ge-dark header[data-id] { background: #1e1e1e !important; box-shadow: none !important; }
html.ge-dark .site-title a, html.ge-dark .site-title a span { color: #e8e8e8 !important; }
html.ge-dark .site-title a span { color: #e8a598 !important; }
html.ge-dark .ge-nav-add-listing a { background: #e8a598 !important; color: #fff !important; }
html.ge-dark .ge-topnav-balance a span { color: #f59e0b !important; }

/* Phone block */
html.ge-dark #ge-phone-reveal { background: #2a2a2a !important; border-color: #333 !important; }
html.ge-dark #ge-phone-reveal span { color: #ccc !important; }
html.ge-dark #ge-phone-show { background: #333 !important; border-color: #444 !important; color: #e8a598 !important; }

/* Incall/Outcall badges */
html.ge-dark .ge-avail-badge { background: #2a2a2a !important; border-color: #444 !important; color: #ccc !important; }

/* Agency pill */
html.ge-dark [style*="background:#eff6ff"] { background: #1e2a3a !important; border-color: #2d4a6a !important; }
html.ge-dark [style*="background:#f0fdf4"] { background: #1a2e1a !important; border-color: #2d5a2d !important; }

/* Contact icons */
html.ge-dark [style*="background:#f0ebe8"] { background: #2a2525 !important; }
html.ge-dark [style*="background:#e7f5e9"] { background: #1a2e1a !important; }
html.ge-dark [style*="background:#e8f0fb"] { background: #1e2535 !important; }

/* Fav & Report */
html.ge-dark .ge-fav-btn { background: #2a2a2a !important; color: #888 !important; }
html.ge-dark .ge-report-btn { background: #2a2a2a !important; color: #888 !important; }

/* Stats pills */
html.ge-dark .ge-stat { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-stat-label { color: #777 !important; }
html.ge-dark .ge-stat-value { color: #ddd !important; }

/* Rates */
html.ge-dark .ge-rate-row { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-rate-label { color: #bbb !important; }

/* Services */
html.ge-dark .ge-service-tag { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-svc-group-label { color: #e8a598 !important; }

/* About text */
html.ge-dark .ge-profile-section { color: #bbb; }
html.ge-dark .ge-section-title { color: #888 !important; }

/* Location text */
html.ge-dark .ge-profile-location a { color: #bbb !important; }

/* Gallery thumbnails */
html.ge-dark .ge-gallery-strip img { border-color: #333 !important; }

/* H1 heading */
html.ge-dark h1 { color: #e8e8e8 !important; }
html.ge-dark h1 span[style*="color:#888"] { color: #999 !important; }

/* Reviews */
html.ge-dark .ge-reviews-section { background: var(--ge-bg-card) !important; }

/* Dropdown menus */
html.ge-dark .ge-loc-dropdown, html.ge-dark .ge-filter-services-list, html.ge-dark .ge-custom-select-list { background: #2a2a2a !important; border-color: #444 !important; }
html.ge-dark .ge-csel-item { color: #ccc !important; }
html.ge-dark .ge-csel-item:hover { background: #333 !important; }
html.ge-dark .ge-csel-search { background: #222 !important; border-color: #444 !important; color: #ccc !important; }

/* Search bar */
html.ge-dark .ge-search-bar { background: #242424 !important; }
html.ge-dark .ge-search-input { color: #e8e8e8 !important; }

/* Mobile offcanvas */
html.ge-dark #offcanvas .ct-panel-inner { background: #1e1e1e !important; }
html.ge-dark #offcanvas .menu-item { border-color: #333 !important; }

/* Account nav */
html.ge-dark .ge-account-nav { background: #242424 !important; }
html.ge-dark .ge-account-main { background: #1e1e1e !important; }
html.ge-dark .ge-account-avatar { background: #333 !important; }
html.ge-dark .ge-account-type { color: #888 !important; }

/* Listing cards in account */
html.ge-dark .ge-listing-card { background: #242424 !important; }
html.ge-dark .ge-listing-location { color: #888 !important; }
html.ge-dark .ge-listing-card-stats span { background: #333 !important; color: #aaa !important; }

/* Forms */
html.ge-dark .ge-auth-wrap { background: #1a1a1a !important; }
html.ge-dark .ge-auth-box { background: #242424 !important; box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important; }
html.ge-dark .ge-auth-field input { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #e8e8e8 !important; }
html.ge-dark .ge-auth-field label { color: #888 !important; }
html.ge-dark .ge-role-card { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }

/* Alerts */
html.ge-dark .ge-alert-success { background: #1a2e1a !important; border-color: #2d5a2d !important; color: #6ee06e !important; }
html.ge-dark .ge-alert-error { background: #2e1a1a !important; border-color: #5a2d2d !important; color: #e06e6e !important; }

/* Balance */
html.ge-dark .ge-bal-hero { background: linear-gradient(135deg, #2a2a2a, #282425) !important; }
html.ge-dark .ge-bal-tier { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-bal-pkg { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-bal-pkg-btn { background: #333 !important; color: #ccc !important; }

/* Verification page */
html.ge-dark [style*="background:linear-gradient(180deg,#fef0ec"] { background: linear-gradient(180deg, #2a2a2a, #282425) !important; }
html.ge-dark [style*="background:#f0fdf4"] { background: #1a2e1a !important; }
html.ge-dark [style*="background:#fffbeb"] { background: #2e2a1a !important; }
html.ge-dark [style*="background:#faf5ff"] { background: #2a1e35 !important; }

/* Support */
html.ge-dark .ge-support-form-box { background: #242424 !important; }
html.ge-dark .ge-msg-bubble { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-msg-support { background: #1e2535 !important; border-color: #2d4a6a !important; }

/* Banner requirement box */
html.ge-dark [style*="background:#fff8f6"] { background: #2a2220 !important; }

/* Visiting sub-cards */
html.ge-dark .ge-visiting-sub { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-visiting-add-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }

/* Card fav heart on hover */
html.ge-dark .ge-card-fav { background: rgba(0,0,0,0.6) !important; }

/* Incall location text */
html.ge-dark .ge-profile-section p, html.ge-dark .ge-profile-section div { color: #bbb; }

/* ══ DARK THEME — fix remaining white elements ══ */

/* Rates rows — inline styles override */
html.ge-dark .ge-rate-row, html.ge-dark [class*="ge-rate"] { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-rate-row * { color: #bbb !important; }
html.ge-dark .ge-rate-price, html.ge-dark .ge-rate-row .ge-rate-price { color: #e8a598 !important; }

/* Stats — force dark on inline styled elements */
html.ge-dark .ge-profile-stats .ge-stat, html.ge-dark .ge-profile-stats a.ge-stat { background: #2a2a2a !important; border-color: #3a3a3a !important; }

/* Outcall fee row */
html.ge-dark .ge-outcall-fee { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #bbb !important; }

/* Review textarea */
html.ge-dark textarea, html.ge-dark input[type="text"], html.ge-dark input[type="email"], html.ge-dark input[type="tel"], html.ge-dark input[type="url"], html.ge-dark input[type="password"], html.ge-dark select { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #e8e8e8 !important; }
html.ge-dark textarea::placeholder, html.ge-dark input::placeholder { color: #666 !important; }

/* Review section */
html.ge-dark .ge-reviews-section, html.ge-dark .ge-profile-section { background: transparent !important; }
html.ge-dark .comment-form textarea { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #e8e8e8 !important; }

/* Photo section background */
html.ge-dark .ge-profile-photo { background: transparent; }
html.ge-dark .ge-gallery-strip img { border-color: #333 !important; background: #2a2a2a; }

/* Generic white boxes */
html.ge-dark [style*="background:#fff"], html.ge-dark [style*="background: #fff"], html.ge-dark [style*="background:#ffffff"], html.ge-dark [style*="background: #ffffff"] { background: #242424 !important; }
html.ge-dark [style*="background:#faf8f6"], html.ge-dark [style*="background: #faf8f6"] { background: #2a2a2a !important; }
html.ge-dark [style*="background:#fafafa"] { background: #2a2a2a !important; }

/* Service price badge */
html.ge-dark .ge-svc-price-badge { background: #3a2a2a !important; color: #e8a598 !important; }

/* Extra services tag with price */
html.ge-dark .ge-service-tag-price { background: #2a2a2a !important; border-color: #3a3a3a !important; }

/* Phone show button */
html.ge-dark [id="ge-phone-show"] { background: #333 !important; border-color: #444 !important; }

/* Independent / Agency inline pill in h1 */
html.ge-dark h1 span[style*="background:#f0fdf4"], html.ge-dark h1 [style*="background:#f0fdf4"] { background: #1a2e1a !important; border-color: #2d5a2d !important; }
html.ge-dark h1 a[style*="background:#eff6ff"], html.ge-dark h1 [style*="background:#eff6ff"] { background: #1e2a3a !important; border-color: #2d4a6a !important; }

/* Footer */
html.ge-dark footer { background: #141414 !important; }
html.ge-dark footer * { color: #777 !important; }
html.ge-dark footer a { color: #999 !important; }
html.ge-dark footer a:hover { color: #e8a598 !important; }
html.ge-dark .ge-footer-logo { color: #fff !important; }
html.ge-dark .ge-footer-logo span { color: #e8a598 !important; }
html.ge-dark footer .ge-footer-badges * { color: #666 !important; }

/* ══ DARK THEME — NUCLEAR FIX ══ */

/* HEADER — force dark */
html.ge-dark [data-id="header"],
html.ge-dark header,
html.ge-dark .ct-header,
html.ge-dark [class*="ct-header"],
html.ge-dark [data-id="header"] > *,
html.ge-dark [data-id="header"] [data-row] { background: #1e1e1e !important; }

/* All white/light backgrounds → dark */
html.ge-dark [style*="background:#fff"],
html.ge-dark [style*="background: #fff"],
html.ge-dark [style*="background:#ffffff"],
html.ge-dark [style*="background: #ffffff"],
html.ge-dark [style*="background: white"],
html.ge-dark [style*="background:#faf8f6"],
html.ge-dark [style*="background: #faf8f6"],
html.ge-dark [style*="background:#fafafa"],
html.ge-dark [style*="background:#f5f0ed"],
html.ge-dark [style*="background:#f0ebe8"],
html.ge-dark [style*="background: #f0ebe8"],
html.ge-dark [style*="background:#fff0ed"],
html.ge-dark [style*="background:#fff8f6"],
html.ge-dark [style*="background:#eff6ff"],
html.ge-dark [style*="background:#f0fdf4"] { background: #2a2a2a !important; }

/* All light borders → dark */
html.ge-dark [style*="border:1px solid #ede8e5"],
html.ge-dark [style*="border:1.5px solid #ede8e5"],
html.ge-dark [style*="border:1px solid #f0e8e5"],
html.ge-dark [style*="border:1px solid #f5ddd8"],
html.ge-dark [style*="border:1px solid #e5e7eb"],
html.ge-dark [style*="border-color:#ede8e5"],
html.ge-dark [style*="border:1px solid #d1d5db"],
html.ge-dark [style*="border:1.5px solid #f5ddd8"],
html.ge-dark [style*="border:1px solid #bbf7d0"],
html.ge-dark [style*="border:1px solid #bfdbfe"],
html.ge-dark [style*="border:1px solid #fde68a"] { border-color: #3a3a3a !important; }

/* Stats/Rate/Service pills — any with inline bg white */
html.ge-dark .ge-stat,
html.ge-dark a.ge-stat,
html.ge-dark .ge-rate-row,
html.ge-dark .ge-service-tag,
html.ge-dark .ge-avail-badge,
html.ge-dark .ge-svc-price-badge { background: #2a2a2a !important; border-color: #3a3a3a !important; }

/* Text colors */
html.ge-dark .ge-stat-value { color: #ddd !important; }
html.ge-dark .ge-stat-label { color: #777 !important; }
html.ge-dark .ge-rate-row span:first-child,
html.ge-dark .ge-rate-label { color: #bbb !important; }
html.ge-dark .ge-section-title { color: #888 !important; }
html.ge-dark .ge-svc-group-label { color: #e8a598 !important; }
html.ge-dark .ge-service-tag { color: #ccc !important; }

/* About text */
html.ge-dark .ge-profile-section p,
html.ge-dark .ge-profile-section > div:not([class]) { color: #bbb !important; }

/* Incall location */
html.ge-dark .ge-profile-section address,
html.ge-dark [style*="color:#555"],
html.ge-dark [style*="color: #555"] { color: #bbb !important; }
html.ge-dark [style*="color:#2d2d2d"],
html.ge-dark [style*="color: #2d2d2d"] { color: #e8e8e8 !important; }
html.ge-dark [style*="color:#666"],
html.ge-dark [style*="color: #666"] { color: #999 !important; }
html.ge-dark [style*="color:#888"],
html.ge-dark [style*="color: #888"] { color: #777 !important; }
html.ge-dark [style*="color:#aaa"],
html.ge-dark [style*="color: #aaa"] { color: #666 !important; }

/* Agency/Independent pill */
html.ge-dark [style*="background:#eff6ff"] { background: #1e2a3a !important; }
html.ge-dark [style*="border:1px solid #bfdbfe"] { border-color: #2d4a6a !important; }
html.ge-dark [style*="background:#f0fdf4"] { background: #1a2e1a !important; }
html.ge-dark [style*="border:1px solid #bbf7d0"] { border-color: #2d5a2d !important; }

/* Phone block */
html.ge-dark #ge-phone-reveal { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark #ge-phone-show { background: #333 !important; border-color: #444 !important; }

/* Outcall fee */
html.ge-dark .ge-outcall-fee { background: #2a2a2a !important; border-color: #3a3a3a !important; }

/* Review form */
html.ge-dark textarea { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }

/* Map — no invert, keep light */

/* Swiper dots */
html.ge-dark .swiper-pagination-bullet { background: #666 !important; }
html.ge-dark .swiper-pagination-bullet-active { background: #e8a598 !important; }

/* Verification/Balance page inline styles */
html.ge-dark [style*="background:linear-gradient(180deg,#fef0ec"] { background: linear-gradient(180deg, #2a2a2a, #282425) !important; }
html.ge-dark [style*="background:linear-gradient(135deg,#fef0ec"] { background: linear-gradient(135deg, #2a2a2a, #282425) !important; }
html.ge-dark [style*="background:#fffbeb"] { background: #2e2a1a !important; }
html.ge-dark [style*="background:#faf5ff"] { background: #2a1e35 !important; }
html.ge-dark [style*="background:#f0f4ff"] { background: #1e2030 !important; }
html.ge-dark [style*="background:#fef9ee"] { background: #2e2a1a !important; }
html.ge-dark [style*="background:#f5f0ff"] { background: #2a1e35 !important; }

/* Generic strong/bold in dark */
html.ge-dark strong { color: #ddd; }

/* ══ DARK — stats container + price items ══ */
html.ge-dark .ge-profile-stats { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .ge-price-item { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-price-item span { color: #bbb !important; }
html.ge-dark .ge-price-item .ge-rate-price, html.ge-dark .ge-price-item span:last-child { color: #e8a598 !important; }
html.ge-dark .ge-rates-grid { background: transparent !important; }

/* Force ALL bg:#fdf8f6 and #faf5f3 dark */
html.ge-dark .ge-avail-badge { background: #2a2525 !important; border-color: #443535 !important; color: #e8a598 !important; }

/* Force all stats */
html.ge-dark .ge-stat { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark a.ge-stat { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-stat .ge-stat-label { color: #777 !important; }
html.ge-dark .ge-stat .ge-stat-value { color: #ddd !important; }

/* ══ DARK — info block + header FINAL ══ */

/* Right info block on listing page */
html.ge-dark .ge-profile-info,
html.ge-dark .ge-profile > div:last-child {
    background: #242424 !important;
    border-color: #333 !important;
}

/* HEADER — nuclear force */
html.ge-dark [data-id="header"],
html.ge-dark [data-id="header"] [data-row],
html.ge-dark [data-id="header"] [data-column],
html.ge-dark .ct-header,
html.ge-dark header[data-id],
html.ge-dark [data-id="header"] > div,
html.ge-dark [data-id="header"] > div > div,
html.ge-dark [data-id="header"] [data-row="middle"] {
    background: #1e1e1e !important;
    --headerBackground: #1e1e1e !important;
}
html.ge-dark [data-id="header"] [data-row]::before,
html.ge-dark [data-id="header"] [data-row]::after {
    background: #1e1e1e !important;
}

/* Header menu text */
html.ge-dark [data-id="header"] a.ct-menu-link,
html.ge-dark [data-id="header"] .ct-menu-link,
html.ge-dark header .ct-menu-link {
    color: #bbb !important;
}
html.ge-dark [data-id="header"] a.ct-menu-link:hover,
html.ge-dark [data-id="header"] .ge-active-menu > a {
    color: #e8a598 !important;
}

/* Balance text */
html.ge-dark [data-id="header"] .ge-topnav-balance a,
html.ge-dark .ge-topnav-balance a span:first-child {
    color: #bbb !important;
}

/* Logo */
html.ge-dark .site-title a {
    color: #e8e8e8 !important;
}

/* Header bottom border */
html.ge-dark [data-id="header"] {
    box-shadow: 0 1px 0 #333 !important;
}

/* Profile info block — light mode nice styling */
.ge-profile > div:last-child {
    background: #fff;
    border-radius: 16px;
    padding: 24px;
    border: 1px solid #f0e8e5;
}

/* ══ DARK — HEADER via Blocksy variable ══ */
html.ge-dark [data-header*="type-1"] .ct-header [data-row*="middle"] {
    --theme-palette-color-8: #1e1e1e !important;
    background-color: #1e1e1e !important;
}

/* Header all text */
html.ge-dark [data-row*="middle"] .ct-menu-link,
html.ge-dark [data-row*="middle"] a {
    color: #bbb !important;
    --theme-link-initial-color: #bbb !important;
}
html.ge-dark [data-row*="middle"] .ct-menu-link:hover,
html.ge-dark [data-row*="middle"] .ge-active-menu > a.ct-menu-link {
    color: #e8a598 !important;
}

/* Logo in dark */
html.ge-dark [data-row*="middle"] .site-title a {
    color: #e8e8e8 !important;
}
html.ge-dark [data-row*="middle"] .site-title a span {
    color: #e8a598 !important;
}

/* Balance stars */
html.ge-dark [data-row*="middle"] .ge-balance-stars {
    color: #f59e0b !important;
}
html.ge-dark [data-row*="middle"] .ge-topnav-balance a {
    color: #bbb !important;
}

/* ADD LISTING button */
html.ge-dark [data-row*="middle"] .ge-nav-add-listing a {
    background: #e8a598 !important;
    color: #fff !important;
}

/* Favourites active */
html.ge-dark .ge-nav-active > a.ct-menu-link {
    color: #e8a598 !important;
    background: rgba(232,165,152,0.12) !important;
}

/* Balance yellow in dark header */
html.ge-dark [data-row*="middle"] .ge-topnav-balance a span {
    color: #f59e0b !important;
}

/* ══ DARK — Sidebar location browser ══ */
html.ge-dark .ge-sidebar {
    background: #242424 !important;
    border-color: #333 !important;
}
html.ge-dark .ge-sidebar-title {
    color: #999 !important;
}
html.ge-dark .ge-city-link {
    color: #bbb !important;
    border-color: #333 !important;
}
html.ge-dark .ge-city-link:hover {
    background: #2a2a2a !important;
    color: #e8a598 !important;
}
html.ge-dark .ge-city-link.active {
    background: rgba(232,165,152,0.12) !important;
    color: #e8a598 !important;
}
html.ge-dark .ge-all-cities-link {
    color: #bbb !important;
    border-color: #333 !important;
}
html.ge-dark .ge-all-cities-link.active {
    background: rgba(232,165,152,0.12) !important;
    color: #e8a598 !important;
}
html.ge-dark .ge-country-name {
    color: #ddd !important;
}
html.ge-dark .ge-country-row {
    border-color: #333 !important;
}
html.ge-dark .ge-country-toggle {
    color: #777 !important;
}

/* ══ DARK — sidebar-box + filter-bar DIRECT ══ */
html.ge-dark .ge-sidebar-box { background: #242424 !important; box-shadow: 0 1px 4px rgba(0,0,0,0.3) !important; }
html.ge-dark .ge-country { border-color: #333 !important; }
html.ge-dark .ge-filter-bar { background: #242424 !important; box-shadow: 0 1px 8px rgba(0,0,0,0.3) !important; }
html.ge-dark .ge-mob-loc-btn { background: #2a2a2a !important; border: 1.5px solid #3a3a3a !important; color: #ccc !important; box-shadow: none !important; }
html.ge-dark .ge-mob-loc-btn svg:first-child { color: var(--ge-accent) !important; }
html.ge-dark .ge-mob-loc-btn svg:last-child { color: #666 !important; }
html.ge-dark .ge-mob-loc-btn:active { background: #333 !important; }
html.ge-dark .ge-mob-filter-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-filter-count { background: #e8a598 !important; }

/* Dark — country expand highlight */
html.ge-dark .ge-country.open { background: rgba(232,165,152,0.1) !important; }
html.ge-dark .ge-country-header { background: transparent !important; }
html.ge-dark .ge-country.open .ge-country-header { background: rgba(232,165,152,0.1) !important; }

/* Dark — country/city hover orange */
html.ge-dark .ge-country-header:hover { background: rgba(232,165,152,0.15) !important; }
html.ge-dark .ge-city-link:hover { background: rgba(232,165,152,0.15) !important; color: #e8a598 !important; }
html.ge-dark .ge-all-cities-link:hover { background: rgba(232,165,152,0.15) !important; color: #e8a598 !important; }
html.ge-dark .ge-country-name:hover { color: #e8a598 !important; }

/* Dark city/country active + hover — same as Paris style */
html.ge-dark .ge-city-link.active { background: rgba(232,165,152,0.15) !important; color: #e8a598 !important; }
html.ge-dark .ge-all-cities-link.active { background: rgba(232,165,152,0.15) !important; color: #e8a598 !important; }

/* ══ DARK — COUNTRY ROW + SIDEBAR BORDER FINAL FIX ══ */
html.ge-dark .ge-country { background: transparent !important; border-color: #333 !important; }
html.ge-dark .ge-country-header { background: transparent !important; color: #ccc !important; }
html.ge-dark .ge-country-header:hover { background: rgba(232,165,152,0.12) !important; }
html.ge-dark .ge-country-name { color: #ccc !important; }
html.ge-dark .ge-country-name:hover { color: #e8a598 !important; }
html.ge-dark .ge-country-name.active { color: #e8a598 !important; }
html.ge-dark .ge-country-count { color: #777 !important; }
html.ge-dark .ge-country-toggle { color: #666 !important; }

/* Remove sidebar-box border/outline */
html.ge-dark .ge-sidebar-box { border: none !important; box-shadow: none !important; }
html.ge-dark .ge-sidebar { border: none !important; box-shadow: none !important; }

/* Dark — arrow hover + country-name focus/active outline */
html.ge-dark .ge-arrow:hover { background: #333 !important; }
html.ge-dark .ge-country-name:focus,
html.ge-dark .ge-country-name:active,
html.ge-dark .ge-country-name:visited { color: #ccc !important; outline: none !important; background: transparent !important; }
html.ge-dark .ge-country-name:hover { background: transparent !important; }
html.ge-dark .ge-country-header:focus-within { background: transparent !important; }
html.ge-dark a:focus { outline: none !important; }

/* ══════════════════════════════════════════════════ */
/* ══ DARK THEME — MASSIVE CLEANUP 2 ══════════════ */
/* ══════════════════════════════════════════════════ */

/* ── Account settings: type switcher cards ── */
html.ge-dark .ge-ats-option { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-ats-option.active { border-color: #e8a598 !important; background: rgba(232,165,152,0.1) !important; color: #e8a598 !important; }
html.ge-dark .ge-ats-label { color: #777 !important; }
html.ge-dark .ge-account-type-switcher { background: #242424 !important; border-color: #333 !important; }

/* ── Account nav sidebar ── */
html.ge-dark .ge-account-nav { background: #1e1e1e !important; border-color: #333 !important; }
html.ge-dark .ge-admin-panel-btn { background: transparent !important; border-color: #e8a598 !important; color: #e8a598 !important; }
html.ge-dark .ge-nav-logout { color: #888 !important; }

/* ── Filter bar text light + arrows ── */
html.ge-dark .ge-filter-label { color: #999 !important; }
html.ge-dark .ge-filter-select { color: #ccc !important; background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-loc-btn { color: #ccc !important; background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-filter-services-btn { color: #ccc !important; background: #2a2a2a !important; border-color: #3a3a3a !important; }

/* ── Agency profile page — inner content ── */
html.ge-dark .ge-agencies-wrap { background: #1a1a1a !important; }
html.ge-dark .ge-profile-agency-info { background: #242424 !important; }

/* Agency card + profile white boxes */
html.ge-dark .ge-agency-card-placeholder { background: #333 !important; color: #888 !important; }

/* ── Footer — dark gray separator ── */
html.ge-dark footer,
html.ge-dark .ge-footer,
html.ge-dark [class*="ct-footer"],
html.ge-dark .ct-footer { background: #141414 !important; border-top: 1px solid #2a2a2a !important; }
html.ge-dark footer a { color: #888 !important; }
html.ge-dark footer strong { color: #999 !important; }
html.ge-dark footer p { color: #666 !important; }

/* ── Balance page — nicer gradient ── */
html.ge-dark .ge-bal-hero { background: linear-gradient(135deg, #2a2a2a, #282425) !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-bal-hero-count { color: #f5c542 !important; }
html.ge-dark .ge-bal-hero-label { color: #888 !important; }
html.ge-dark .ge-bal-section { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .ge-bal-section-title { color: #ccc !important; }
html.ge-dark .ge-bal-text { color: #999 !important; }
html.ge-dark .ge-bal-tier { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-tier-gold, html.ge-dark .ge-tier-gold-v { border-color: #5a4a1a !important; background: #2a2518 !important; }
html.ge-dark .ge-tier-plus, html.ge-dark .ge-tier-plus-v { border-color: #4a2a6a !important; background: #251a30 !important; }
html.ge-dark .ge-bal-pkg { background: #242424 !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-bal-pkg-popular { border-color: #5a3a30 !important; background: #2a2220 !important; }
html.ge-dark .ge-bal-pkg-elite { border-color: #5a4a1a !important; background: #2a2518 !important; }
html.ge-dark .ge-bal-pkg-btn { background: #333 !important; color: #ccc !important; }
html.ge-dark .ge-bal-pkg-btn:hover { background: #e8a598 !important; color: #fff !important; }

/* ── Verification page — nicer colors ── */
html.ge-dark [style*="background:linear-gradient(180deg,#fef0ec"],
html.ge-dark [style*="background:linear-gradient(135deg,#fef0ec"] { background: linear-gradient(180deg, #2a2a2a, #282425) !important; }

/* Verification boxes */
html.ge-dark [style*="background:#faf5ff"] { background: #251a30 !important; border-color: #4a2a6a !important; }
html.ge-dark [style*="border:1px solid #e9d5ff"] { border-color: #4a2a6a !important; }
html.ge-dark [style*="background:#fffbeb"] { background: #2a2518 !important; border-color: #5a4a1a !important; }
html.ge-dark [style*="border:1px solid #fde68a"] { border-color: #5a4a1a !important; }

/* ── Auth page — tab text fix ── */
html.ge-dark .ge-auth-tab { color: #888 !important; }
html.ge-dark .ge-auth-tab.active { color: #e8a598 !important; border-color: #e8a598 !important; }
html.ge-dark .ge-auth-logo { color: #e8e8e8 !important; }
html.ge-dark .ge-auth-logo span { color: #e8a598 !important; }
html.ge-dark .ge-auth-error { background: #2e1a1a !important; border-color: #5a2d2d !important; color: #e06e6e !important; }

/* Role picker cards */
html.ge-dark .ge-role-card { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-role-card.selected { border-color: #e8a598 !important; background: rgba(232,165,152,0.1) !important; }
html.ge-dark .ge-role-card h3 { color: #ddd !important; }
html.ge-dark .ge-role-card p { color: #999 !important; }
html.ge-dark .ge-role-icon { color: #888 !important; }

/* ── Auth form text ── */
html.ge-dark .ge-auth-form label { color: #999 !important; }
html.ge-dark .ge-auth-field label { color: #999 !important; }

/* ── Listing card — visiting sub-cards ── */
html.ge-dark .ge-visiting-sub { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-visiting-sub-city { color: #ccc !important; }
html.ge-dark .ge-visiting-sub-meta { color: #777 !important; }
html.ge-dark .ge-visiting-add-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #999 !important; }

/* ── Support page ── */
html.ge-dark .ge-support-wrap { background: transparent !important; }
html.ge-dark .ge-ticket-row { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .ge-ticket-subj { color: #ddd !important; }
html.ge-dark .ge-ticket-meta, html.ge-dark .ge-ticket-meta-small { color: #666 !important; }
html.ge-dark .ge-chat-form textarea { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }

/* ── Generic inline style overrides ── */
html.ge-dark [style*="color:#374151"] { color: #ccc !important; }
html.ge-dark [style*="color:#111"] { color: #ddd !important; }
html.ge-dark [style*="color:#333"] { color: #ccc !important; }
html.ge-dark [style*="background:#f3f4f6"] { background: #2a2a2a !important; }

/* ── Report modal ── */
html.ge-dark #ge-report-modal > div { background: #242424 !important; }
html.ge-dark #ge-report-modal h3 { color: #ddd !important; }
html.ge-dark #ge-report-modal select { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }

/* ── Boost popup ── */
html.ge-dark .ge-listing-actions > div[style*="background:#fff"] { background: #242424 !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-tier-opt { background: #2a2a2a !important; border-color: #3a3a3a !important; }

/* ── Map ── */
html.ge-dark .leaflet-container { border-radius: 12px; }

/* DARK listing buttons + boost */
html.ge-dark .ge-listing-actions a, html.ge-dark .ge-listing-actions form button { background: #333 !important; border-color: #444 !important; color: #ccc !important; }
html.ge-dark .ge-listing-actions a:hover, html.ge-dark .ge-listing-actions form button:hover { background: #3a3a3a !important; }
html.ge-dark .ge-listing-actions form button[style*='dc2626'], html.ge-dark .ge-listing-actions form button[style*='fca5a5'] { background: #2e1a1a !important; border-color: #5a2d2d !important; color: #e06e6e !important; }
html.ge-dark .ge-listing-actions button[style*='gradient'] { background: linear-gradient(135deg,#f59e0b,#f97316) !important; color: #fff !important; border: none !important; }
html.ge-dark [style*='border:1px dashed'] { border-color: #555 !important; color: #999 !important; }
html.ge-dark .ge-listing-actions > div[style*='position:absolute'] { background: #242424 !important; border-color: #3a3a3a !important; }
html.ge-dark [style*='background:#fef9ee'] { background: #2a2518 !important; }
html.ge-dark [style*='border:1px solid #f5d77a'] { border-color: #5a4a1a !important; }
html.ge-dark [style*='background:#f5f0ff'] { background: #251a30 !important; }
html.ge-dark [style*='border:1px solid #d8b4fe'] { border-color: #4a2a6a !important; }

/* DARK — boost popup styled */
html.ge-dark .ge-tier-opt { background: #2a2a2a !important; border-color: #444 !important; }
html.ge-dark .ge-tier-opt[data-tier='plus'] { border-color: #7c3aed !important; background: #1e1530 !important; }
html.ge-dark .ge-tier-opt[data-tier='gold'] { border-color: #d97706 !important; background: #2a2010 !important; }
html.ge-dark .ge-tier-opt span { color: #ccc !important; }
html.ge-dark .ge-tier-opt div { color: #888 !important; }
html.ge-dark .ge-tier-opt span[style*='color:#9333ea'] { color: #a855f7 !important; }
html.ge-dark .ge-tier-opt span[style*='color:#d97706'] { color: #f59e0b !important; }
html.ge-dark .ge-tier-opt span[style*='float:right'] { color: inherit !important; }
html.ge-dark .ge-boost-dur-wrap span { color: #999 !important; }
html.ge-dark .ge-boost-dur-sel { background: #333 !important; border-color: #444 !important; color: #ccc !important; }
html.ge-dark [style*='font-size:10px'][style*='color:#aaa'][style*='text-align:center'] { color: #f59e0b !important; }
html.ge-dark [style*='font-weight:700'][style*='margin-bottom:12px'] { color: #ddd !important; }

/* DARK — boost popup black bg + gold tier */
html.ge-dark .ge-listing-actions > div[style*='position:absolute'] { background: #1a1a1a !important; border-color: #333 !important; }
html.ge-dark .ge-tier-opt[data-tier='gold'] { border-color: #f59e0b !important; background: #1a1508 !important; }
html.ge-dark .ge-tier-opt[data-tier='gold'] span[style*='font-weight:600'] { color: #f5c542 !important; }
html.ge-dark .ge-tier-opt[data-tier='gold'] span[style*='float:right'] { color: #f59e0b !important; }

/* DARK boost — final fix inline overrides */
html.ge-dark div[style*='z-index:10'][style*='border-radius:12px'] { background: #1a1a1a !important; border-color: #333 !important; }
html.ge-dark div[style*='z-index:10'][style*='border-radius:12px'] > div[style*='font-weight:700'] { color: #fff !important; }
html.ge-dark .ge-tier-opt[data-tier='gold'] { border-color: #d97706 !important; background: #1a1508 !important; }
html.ge-dark .ge-tier-opt[data-tier='gold'] span { color: #f5c542 !important; }
html.ge-dark .ge-tier-opt[data-tier='gold'] div { color: #b8942a !important; }

/* Labels closer to fields in forms */
.ge-profile-form .ge-form-group label, .ge-profile-form label, #agency-form .ge-form-group label, #agency-form label { margin-bottom: 4px !important; padding-bottom: 0 !important; }
.ge-profile-form .ge-form-group, #agency-form .ge-form-group { margin-bottom: 14px; gap: 3px !important; }

/* ══ DARK — form fields final cleanup ══ */
/* Phone code button white bg fix */
html.ge-dark .ge-phone-code-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-phone-code-btn img { filter: none !important; }
html.ge-dark .ge-phone-wrap { border-color: #3a3a3a !important; }
html.ge-dark .ge-phone-wrap input { background: #2a2a2a !important; color: #ddd !important; }
/* Contact method icons — selected state visible */
html.ge-dark .ge-contact-check { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #999 !important; }
html.ge-dark .ge-contact-check.active { border-color: #e8a598 !important; background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; }
html.ge-dark .ge-contact-check svg { color: inherit !important; }
/* Contact icon circles — dark mode */
html.ge-dark .ge-contact-icon { background: #3a3a3a !important; color: #888 !important; }
html.ge-dark .ge-ci-label { color: #888 !important; }
html.ge-dark .ge-contact-icon-wrap.checked .ge-ci-phone { background: #666 !important; color: #fff !important; }
html.ge-dark .ge-contact-icon-wrap.checked .ge-ci-wa { background: #25D366 !important; color: #fff !important; }
html.ge-dark .ge-contact-icon-wrap.checked .ge-ci-tg { background: #229ED9 !important; color: #fff !important; }
html.ge-dark .ge-contact-icon-wrap.checked .ge-ci-label { color: #e8e8e8 !important; }
/* Incall/Outcall toggle buttons */
html.ge-dark .ge-io-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #888 !important; }
html.ge-dark .ge-io-btn.active { background: rgba(232,165,152,0.15) !important; border-color: #e8a598 !important; color: #e8a598 !important; }
/* Photo upload zones */
html.ge-dark .ge-photo-zone { background: #2a2a2a !important; border-color: #444 !important; }
html.ge-dark .ge-photo-zone:hover { border-color: #e8a598 !important; }
html.ge-dark .ge-photo-zone-placeholder { color: #666 !important; }
html.ge-dark .ge-photo-zone-placeholder span { color: #666 !important; }
/* Gallery existing photos */
html.ge-dark .ge-gallery-item { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-gallery-remove { background: #333 !important; color: #e06e6e !important; }
/* Custom select dropdowns */
html.ge-dark .ge-custom-select-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-custom-select-list { background: #242424 !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-csel-item { color: #ccc !important; }
html.ge-dark .ge-csel-item:hover, html.ge-dark .ge-csel-item.active { background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; }
html.ge-dark .ge-csel-search { background: #1e1e1e !important; border-color: #3a3a3a !important; color: #ccc !important; }
/* Service checkboxes */
html.ge-dark .ge-svc-check { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-svc-check.checked { border-color: #e8a598 !important; background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; }
html.ge-dark .ge-svc-check input[type='checkbox'] { accent-color: #e8a598 !important; }
/* Service price inputs */
html.ge-dark .ge-svc-price-input { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
/* Back button same height as Save */
.ge-btn-small.ge-btn-outline { padding: 12px 24px !important; font-size: 14px !important; line-height: 1.4 !important; display: inline-flex !important; align-items: center !important; }
html.ge-dark .ge-btn-small.ge-btn-outline { background: #333 !important; border-color: #444 !important; color: #ccc !important; }
/* Form section titles in dark */
html.ge-dark .ge-form-section-title { color: #999 !important; border-color: #333 !important; }
/* Disclaimer boxes */
html.ge-dark .ge-photo-disclaimer { background: #2a2518 !important; border-color: #5a4a1a !important; color: #ccc !important; }
/* All remaining white form elements */
html.ge-dark .ge-form-group .ge-phone-wrap { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark #agency-form input, html.ge-dark #agency-form select, html.ge-dark #agency-form textarea { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark #ge-listing-form input, html.ge-dark #ge-listing-form select, html.ge-dark #ge-listing-form textarea { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }

/* Favourites hover — visible on both themes */
.ge-nav-favourites > a.ct-menu-link:hover { background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; border-radius: 8px; }
html.ge-dark .ge-nav-favourites > a.ct-menu-link:hover { background: rgba(232,165,152,0.15) !important; color: #e8a598 !important; }
html.ge-dark .ge-nav-active > a.ct-menu-link { background: rgba(232,165,152,0.15) !important; color: #e8a598 !important; }

/* ══ DARK — listing form: services, table, disclaimer ══ */

/* Service pills — selected darker bg, white text */
html.ge-dark .ge-svc-pill { background: #333 !important; border-color: #444 !important; color: #999 !important; }
html.ge-dark .ge-svc-pill.active, html.ge-dark .ge-svc-pill.checked, html.ge-dark .ge-svc-pill:checked { background: #e8a598 !important; border-color: #e8a598 !important; color: #fff !important; }

/* Service tag buttons in edit form */
html.ge-dark .ge-svc-tag { background: #333 !important; border-color: #444 !important; color: #999 !important; }
html.ge-dark .ge-svc-tag.selected { background: #e8a598 !important; border-color: #e8a598 !important; color: #fff !important; }

/* Service price table */
html.ge-dark .ge-svc-table { border-color: #3a3a3a !important; }
html.ge-dark .ge-svc-table th { background: #242424 !important; border-color: #3a3a3a !important; color: #e8a598 !important; }
html.ge-dark .ge-svc-table td { background: #1e1e1e !important; border-color: #333 !important; color: #ccc !important; }
html.ge-dark .ge-svc-table input { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }

/* Generic table in forms */
html.ge-dark table { border-color: #3a3a3a !important; }
html.ge-dark table th { background: #242424 !important; border-color: #3a3a3a !important; color: #e8a598 !important; }
html.ge-dark table td { border-color: #333 !important; color: #ccc !important; }

/* Photo disclaimer — better readability */
html.ge-dark [style*='background:#fffbeb'] { background: #2a2518 !important; }
html.ge-dark [style*='background:#fef3c7'] { background: #2a2518 !important; }
html.ge-dark .ge-photo-disclaimer, html.ge-dark [style*='border:1.5px solid #f5d77a'] { border-color: #8a7a3a !important; }
html.ge-dark .ge-photo-disclaimer span, html.ge-dark .ge-photo-disclaimer strong, html.ge-dark .ge-photo-disclaimer b { color: #f5c542 !important; }
html.ge-dark .ge-photo-disclaimer, html.ge-dark [style*='border-radius:10px'][style*='padding:10px'] { color: #ccc !important; }
html.ge-dark [style*='color:#b45309'] { color: #f5c542 !important; }
html.ge-dark [style*='color:#92400e'] { color: #dda530 !important; }
html.ge-dark [style*='color:#dc2626'] { color: #f06060 !important; }


/* ══ DARK — REAL service classes fix ══ */

/* Service chips — unselected = dark gray, white text */
html.ge-dark .ge-svc-chip { background: #333 !important; border-color: #444 !important; color: #ddd !important; }
html.ge-dark .ge-svc-chip.selected { background: #e8a598 !important; border-color: #e8a598 !important; color: #fff !important; }

/* Service table header — dark */
html.ge-dark .ge-svc-table-header { background: #242424 !important; border-color: #3a3a3a !important; color: #e8a598 !important; }
html.ge-dark .ge-svc-table-header span { color: #e8a598 !important; }

/* Service table rows — light text */
html.ge-dark .ge-svc-row { background: #1e1e1e !important; border-color: #333 !important; }
html.ge-dark .ge-svc-row-name { color: #ccc !important; }
html.ge-dark .ge-svc-row-price { color: #999 !important; }
html.ge-dark .ge-svc-row-price span { color: #888 !important; }
html.ge-dark .ge-svc-row-price input { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark .ge-svc-row-price input::placeholder { color: #666 !important; }

/* Service table wrapper */
html.ge-dark .ge-svc-table { border-color: #333 !important; }
html.ge-dark .ge-svc-cloud { background: transparent !important; }


/* ══ DARK — extra rate spinner, currency, phone border, rates ══ */

/* Remove number spinner arrows on extra rate inputs */
.ge-svc-row-price input[type='number'] { -moz-appearance: textfield !important; }
.ge-svc-row-price input[type='number']::-webkit-outer-spin-button, .ge-svc-row-price input[type='number']::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; }

/* Currency selector dark */
html.ge-dark .ge-cur-select, html.ge-dark #ge_cur_select .ge-custom-select-btn { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark #ge_cur_select .ge-custom-select-list { background: #242424 !important; }

/* Rate fields dark */
html.ge-dark .ge-rate-field, html.ge-dark .ge-rate-input { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark .ge-rate-grid input { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark .ge-rate-grid label { color: #999 !important; }

/* Phone field — orange focus border in dark */
html.ge-dark .ge-phone-wrap { border-color: #3a3a3a !important; }
html.ge-dark .ge-phone-wrap:focus-within { border-color: #e8a598 !important; }
html.ge-dark input:focus, html.ge-dark select:focus, html.ge-dark textarea:focus { border-color: #e8a598 !important; outline: none !important; }

/* Phone code button inner white bg */
html.ge-dark .ge-phone-code-btn { background: #333 !important; border-color: #444 !important; border-right-color: #444 !important; }


/* ══ DARK — rate inputs + phone + currency dropdown ══ */

/* Rate input wrapper (£ symbol + input) */
html.ge-dark .ge-input-prefix-wrap { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-input-sym { background: #333 !important; color: #e8a598 !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-input-with-sym { background: #2a2a2a !important; color: #ddd !important; border: none !important; }

/* Currency dropdown text */
html.ge-dark .ge-csel-item { color: #ccc !important; }
html.ge-dark .ge-csel-item.active { color: #e8a598 !important; }

/* Phone row — remove white border/bg */
html.ge-dark .ge-phone-row { background: transparent !important; border: none !important; }
html.ge-dark .ge-phone-row > .ge-custom-select-phone { background: #333 !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-phone-row input[type='tel'] { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark .ge-custom-select-phone .ge-custom-select-btn { background: #333 !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-phone-list { background: #242424 !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-phone-list li { color: #ccc !important; }
html.ge-dark .ge-phone-list li:hover, html.ge-dark .ge-phone-list li.active { background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; }


/* ══ DARK — dropdowns: white text, dark search bg ══ */

/* All dropdown items — white text */
html.ge-dark .ge-csel-item { color: #ddd !important; }
html.ge-dark .ge-custom-select-list li { color: #ddd !important; }
html.ge-dark .ge-phone-list li { color: #ddd !important; }

/* Search inputs inside dropdowns — dark bg */
html.ge-dark .ge-csel-search-wrap { background: #242424 !important; }
html.ge-dark .ge-csel-search-wrap input { background: #1e1e1e !important; border-color: #444 !important; color: #ddd !important; }
html.ge-dark .ge-searchable-list .ge-csel-search-wrap { background: #242424 !important; border: none !important; }
html.ge-dark .ge-searchable-list input[type="text"] { background: #1e1e1e !important; border-color: #444 !important; color: #ddd !important; }

/* Filter dropdowns on home — white text */
html.ge-dark .ge-filter-select option { background: #2a2a2a !important; color: #ddd !important; }
html.ge-dark .ge-filter-select { color: #ddd !important; }
html.ge-dark .ge-loc-btn span { color: #ddd !important; }
html.ge-dark .ge-loc-dropdown { background: #242424 !important; }
html.ge-dark .ge-loc-search { background: #1e1e1e !important; border-color: #444 !important; color: #ddd !important; }
html.ge-dark .ge-loc-country { border-color: #333 !important; }
html.ge-dark .ge-loc-city { color: #ddd !important; }
html.ge-dark .ge-loc-city:hover { background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; }
html.ge-dark .ge-svc-check-item { color: #ddd !important; }


/* ══ DARK — Support page fixes ══ */
/* Policy notice — darker */
html.ge-dark .ge-support-policy { background: #2a2518 !important; border-color: #5a4a1a !important; color: #ccc !important; }
html.ge-dark .ge-support-policy strong { color: #f5c542 !important; }

/* Ticket replies count — no bg highlight, just peach text */
html.ge-dark .ge-ticket-row a[style*="background"] { background: transparent !important; color: #e8a598 !important; }
html.ge-dark .ge-ticket-row a { color: #e8a598 !important; background: transparent !important; }

/* Support wrap */
html.ge-dark .ge-support-page-box { background: #242424 !important; border-color: #333 !important; }


/* ══ DARK — Ticket chat messages ══ */
html.ge-dark .ge-msg-bubble { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-msg-support { background: #1e2535 !important; border-color: #2d4a6a !important; color: #ddd !important; }
html.ge-dark .ge-msg-meta { color: #777 !important; }
html.ge-dark .ge-ticket-header h2 { color: #ddd !important; }
html.ge-dark .ge-ticket-meta { color: #888 !important; }
html.ge-dark .ge-ticket-meta strong { color: #ccc !important; }
html.ge-dark .ge-chat-form textarea { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark .ge-chat-form textarea::placeholder { color: #666 !important; }

/* Replies link — no bg, peach text */
.ge-ticket-row a[href*='ticket'] { background: transparent !important; }
html.ge-dark .ge-ticket-row a[href*='ticket'] { color: #e8a598 !important; background: transparent !important; }


/* ══ DARK — Chat messages + Favourites menu ══ */

/* Chat user message */
html.ge-dark .ge-msg-user { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-msg-user .ge-msg-body { color: #ccc !important; }
html.ge-dark .ge-msg-user .ge-msg-meta { color: #777 !important; }

/* Chat support message */
html.ge-dark .ge-msg-support { background: #1e2535 !important; border-color: #2d4a6a !important; }
html.ge-dark .ge-msg-support .ge-msg-body { color: #ddd !important; }
html.ge-dark .ge-msg-support .ge-msg-meta { color: #6699cc !important; }

/* Chat container */
html.ge-dark .ge-chat-box { background: transparent !important; }
html.ge-dark .ge-msg { border-radius: 10px; }

/* Favourites header hover — same as other menu items */
html.ge-dark .ge-nav-favourites > a.ct-menu-link { color: #bbb !important; }
html.ge-dark .ge-nav-favourites > a.ct-menu-link:hover { color: #e8a598 !important; background: rgba(232,165,152,0.12) !important; }
html.ge-dark .ge-nav-favourites.ge-nav-active > a.ct-menu-link { color: #e8a598 !important; background: rgba(232,165,152,0.12) !important; }


/* ══ DARK — Auth tabs text visible ══ */
html.ge-dark .ge-auth-tab { color: #999 !important; background: transparent !important; }
html.ge-dark .ge-auth-tab.active { color: #e8a598 !important; border-bottom-color: #e8a598 !important; background: transparent !important; }
html.ge-dark .ge-auth-tab:hover { color: #ddd !important; }


/* DARK auth tabs — active keeps white text on peach, inactive visible */
html.ge-dark .ge-auth-tabs { background: #333 !important; }
html.ge-dark .ge-auth-tab { color: #bbb !important; }
html.ge-dark .ge-auth-tab.active { background: #e8a598 !important; color: #fff !important; }

/* Mobile phone block — no wrap */
@media (max-width: 768px) {
    .ge-profile-phone { flex-wrap: nowrap !important; }
    .ge-profile-phone > div { white-space: nowrap !important; overflow: hidden !important; }
    #ge-phone-reveal { white-space: nowrap !important; overflow: hidden !important; flex-shrink: 1 !important; min-width: 0 !important; }
    #ge-phone-reveal span { white-space: nowrap !important; }
}

/* ══════════════════════════════════════════ */
/* ══ DARK THEME — ADMIN PANEL ══════════════ */
/* ══════════════════════════════════════════ */

/* Admin page wrap */
html.ge-dark .gea-wrap { background: #1a1a1a !important; color: #ddd !important; }

/* Tabs */
html.ge-dark .gea-tabs { border-color: #333 !important; }
html.ge-dark .gea-tab { color: #888 !important; }
html.ge-dark .gea-tab.active, html.ge-dark .gea-tab:hover { color: #e8a598 !important; border-color: #e8a598 !important; }
html.ge-dark .gea-tab-badge { background: #e8a598 !important; }

/* Stats cards */
html.ge-dark .gea-stat { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .gea-stat-num { color: #ddd !important; }
html.ge-dark .gea-stat-label { color: #888 !important; }
html.ge-dark .gea-stat-alert { border-color: #f59e0b !important; }

/* Tables */
html.ge-dark .gea-table-wrap { background: #242424 !important; box-shadow: 0 1px 8px rgba(0,0,0,0.3) !important; }
html.ge-dark .gea-table th { background: #1e1e1e !important; border-color: #333 !important; color: #999 !important; }
html.ge-dark .gea-table td { border-color: #2a2a2a !important; color: #ccc !important; }
html.ge-dark .gea-table tr:hover td { background: #2a2a2a !important; }
html.ge-dark .gea-table a { color: #e8a598 !important; }

/* Thumbnails */
html.ge-dark .gea-thumb { border-color: #333 !important; }
html.ge-dark .gea-thumb-placeholder { background: #333 !important; color: #888 !important; }

/* Badges */
html.ge-dark .gea-badge-pub { background: #1a3a1a !important; color: #4ade80 !important; }
html.ge-dark .gea-badge-draft { background: #3a3020 !important; color: #f5c542 !important; }

/* Buttons */
html.ge-dark .gea-btn { background: #333 !important; border-color: #444 !important; color: #ccc !important; }
html.ge-dark .gea-btn:hover { background: #3a3a3a !important; }
html.ge-dark .gea-btn-gray { background: #333 !important; color: #ccc !important; }
html.ge-dark .gea-btn-red { background: #2e1a1a !important; border-color: #5a2d2d !important; color: #e06e6e !important; }

/* Dropdown menus */
html.ge-dark .gea-dropdown-menu { background: #242424 !important; border-color: #3a3a3a !important; box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important; }
html.ge-dark .gea-dropdown-menu a { color: #ccc !important; }
html.ge-dark .gea-dropdown-menu a:hover { background: #2a2a2a !important; }

/* Moderation cards */
html.ge-dark .gea-wrap div[style*='background:#fff'] { background: #242424 !important; }
html.ge-dark .gea-wrap div[style*='border:1px solid #ede8e5'] { border-color: #3a3a3a !important; }

/* Verification cards */
html.ge-dark .gea-ver-card { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .gea-ver-filter-btn { background: #333 !important; border-color: #444 !important; color: #ccc !important; }
html.ge-dark .gea-ver-filter-btn.active { border-color: #e8a598 !important; color: #e8a598 !important; }
html.ge-dark .gea-vf-pending.active { background: #3a3020 !important; border-color: #f59e0b !important; color: #f5c542 !important; }
html.ge-dark .gea-vf-count { color: inherit !important; }

/* Search input in admin */
html.ge-dark .gea-wrap input[type='text'], html.ge-dark .gea-wrap input[type='search'] { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }

/* Support tickets in admin */
html.ge-dark .gea-wrap .ge-ticket-row { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .gea-wrap .ge-ticket-subj { color: #ddd !important; }

/* Admin headings */
html.ge-dark .gea-wrap h3 { color: #ddd !important; }

/* Backlink check text */
html.ge-dark .gea-wrap div[style*='font-size:11px'] { color: inherit; }


/* Sidebar — title no bg, box rounded bottom */
.ge-sidebar-title { background: transparent !important; padding-left: 0 !important; }
.ge-sidebar-box { border-radius: 12px !important; overflow: hidden; }
.ge-sidebar-box .ge-country:last-child { border-bottom: none !important; border-radius: 0 0 12px 12px !important; }
.ge-sidebar-box .ge-all-cities-link { border-radius: 12px 12px 0 0 !important; }

/* Dark sidebar title standalone */
html.ge-dark .ge-sidebar-title { color: #888 !important; background: transparent !important; }


/* Account header row — centered, nice spacing */
.ge-account-header-row { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 20px !important; padding: 16px 0 !important; }
.ge-account-header-row .ge-account-title { margin: 0 !important; text-align: left !important; border-bottom: none !important; padding-bottom: 0 !important; }
.ge-account-header-row { margin-bottom: 24px !important; }

/* DARK — all header menu hover = peach */
html.ge-dark [data-row*="middle"] .menu-item > a:hover { color: #e8a598 !important; }
html.ge-dark [data-row*="middle"] .ct-menu-link:hover { color: #e8a598 !important; }
html.ge-dark [data-row*="middle"] li:hover > a { color: #e8a598 !important; }

/* ══ DARK — Mobile offcanvas menu ══ */
html.ge-dark #offcanvas .ct-panel-inner { background: #1e1e1e !important; }
html.ge-dark #offcanvas .ct-menu-link, html.ge-dark #offcanvas .menu-item a { color: #ccc !important; }
html.ge-dark #offcanvas .ct-menu-link:hover, html.ge-dark #offcanvas .menu-item a:hover { background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; }
html.ge-dark #offcanvas .ge-active-menu > a, html.ge-dark #offcanvas .current-menu-item > a { background: rgba(232,165,152,0.12) !important; color: #e8a598 !important; }
html.ge-dark #offcanvas .menu-item { border-color: #333 !important; }
html.ge-dark #offcanvas .ge-nav-add-listing a { background: #e8a598 !important; color: #fff !important; }
html.ge-dark #offcanvas .ge-topnav-balance a span { color: #f59e0b !important; }
html.ge-dark #offcanvas .ct-toggle-close { color: #e8a598 !important; --theme-icon-color: #e8a598 !important; }

/* Dark mode toggle in header — inline with menu */
#ge-dark-toggle { transition: all 0.2s; }
#ge-dark-toggle:hover { opacity: 1 !important; }

/* Hide floating toggle (we move it to header) */
button#ge-dark-toggle[style*='position:fixed'] { display: none !important; }

/* Dark toggle in offcanvas */
.ge-dark-toggle-mobile { display: flex; align-items: center; gap: 8px; padding: 14px 20px; margin: 2px 8px; border-radius: 10px; cursor: pointer; border: none; background: transparent; color: inherit; font-family: inherit; font-size: 16px; font-weight: 500; width: calc(100% - 16px); text-align: left; }
html.ge-dark .ge-dark-toggle-mobile { color: #ccc !important; }
.ge-dark-toggle-mobile:hover { background: rgba(232,165,152,0.12); color: #e8a598; }


/* Sidebar — fully transparent bg behind title */
html.ge-dark .ge-layout .ge-sidebar { background: transparent !important; }
html.ge-dark .ge-sidebar-overlay .ge-sidebar { background: #242424 !important; border-radius: 16px !important; }
html.ge-dark .ge-sidebar-title { background: transparent !important; color: #777 !important; }

/* Toggle button — ensure visible in header */
[data-id="header"] .ge-theme-icon { display: inline-flex !important; }
[data-id="header"] .ge-theme-icon svg { width: 16px; height: 16px; }

/* Mobile: toggle next to hamburger */
@media (max-width: 768px) {
    .ct-header .menu-item:has(> button .ge-theme-icon) { display: flex !important; align-items: center; }
}

/* Dark — inline code/kbd elements */
html.ge-dark code, html.ge-dark kbd { background: #333 !important; color: #e8a598 !important; border-color: #444 !important; }

/* ══ DARK — Agency page ══ */
html.ge-dark .ge-agencies-wrap { background: #1a1a1a !important; }
html.ge-dark .ge-agencies-title { color: #e8e8e8 !important; }
html.ge-dark .ge-card { background: #242424 !important; }
html.ge-dark .ge-agency-card-placeholder { background: #333 !important; color: #666 !important; }
html.ge-dark .ge-badge-agency { background: rgba(232,165,152,0.9) !important; }

/* Agency profile page */
html.ge-dark .ge-profile { background: #1a1a1a !important; }
html.ge-dark .ge-profile > div { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .ge-profile-name { color: #e8e8e8 !important; }
html.ge-dark .ge-profile-location { color: #999 !important; }
html.ge-dark .ge-profile-about { color: #bbb !important; }

/* Agency info blocks */
html.ge-dark .ge-agency-info { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .ge-agency-stat { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-agency-stat-label { color: #888 !important; }
html.ge-dark .ge-agency-stat-value { color: #ddd !important; }

/* Agency escort grid */
html.ge-dark .ge-card-wrap { background: #242424 !important; border-radius: 14px; }

/* Country filter on agencies page */
html.ge-dark .ge-agencies-filter { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .ge-agencies-filter a { color: #bbb !important; }
html.ge-dark .ge-agencies-filter a.active { color: #e8a598 !important; background: rgba(232,165,152,0.12) !important; }

/* DARK — agency profile card */
html.ge-dark .ge-agency-profile-card { background: #242424 !important; border-color: #333 !important; }
html.ge-dark .ge-agency-profile-name { color: #e8e8e8 !important; }
html.ge-dark .ge-agency-profile-loc { color: #999 !important; }
html.ge-dark .ge-agency-profile-card .ge-section-title { color: #888 !important; }
html.ge-dark .ge-agency-profile-card .ge-profile-section { color: #bbb !important; }
html.ge-dark .ge-agency-profile-card #ge-phone-reveal { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-agency-profile-card #ge-phone-show { background: #333 !important; border-color: #444 !important; }
html.ge-dark .ge-agency-profile-card .ge-agency-website { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ccc !important; }
html.ge-dark .ge-back-link { color: #e8a598 !important; }

/* ALL menu items hover — peach bg like Favourites */
html.ge-dark [data-row*="middle"] .menu-item > a.ct-menu-link:hover { color: #e8a598 !important; background: rgba(232,165,152,0.12) !important; border-radius: 8px; }
html.ge-dark [data-row*="middle"] .ct-menu-link:hover { color: #e8a598 !important; background: rgba(232,165,152,0.12) !important; border-radius: 8px; }

/* DARK — Add Listing button hover text visible */
html.ge-dark [data-row*="middle"] a[href*="add-listing"] { color: #fff !important; }
html.ge-dark [data-row*="middle"] a[href*="add-listing"]:hover { color: #fff !important; background: #d9897a !important; }


/* =====================================================
   GETESCORT BLOG STYLES
   ===================================================== */

/* Blog listing wrap */
.ge-blog-wrap {
    max-width: 1100px;
    margin: 0 auto;
    padding: 48px 24px 80px;
}

.ge-blog-header {
    text-align: center;
    margin-bottom: 48px;
}

.ge-blog-title {
    font-size: 2.4rem;
    font-weight: 700;
    color: #e8e8e8;
    margin: 0 0 8px;
    letter-spacing: -0.02em;
}

.ge-blog-subtitle {
    font-size: 1.05rem;
    color: #999;
    margin: 0;
}

/* Blog grid */
.ge-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

@media (max-width: 900px) {
    .ge-blog-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 580px) {
    .ge-blog-grid {
        grid-template-columns: 1fr;
    }
}

/* Blog card */
.ge-blog-card {
    background: #242424;
    border: 1px solid #333;
    border-radius: 14px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 12px rgba(0,0,0,0.3);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.ge-blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 28px rgba(0,0,0,0.45);
}

/* Card image */
.ge-blog-card-img-link {
    display: block;
    text-decoration: none;
}

.ge-blog-card-img {
    height: 180px;
    overflow: hidden;
    background: #1a1a1a;
    position: relative;
}

.ge-blog-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}

.ge-blog-card:hover .ge-blog-card-img img {
    transform: scale(1.05);
}

.ge-blog-card-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
}

/* Card body */
.ge-blog-card-body {
    padding: 20px 22px 22px;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.ge-blog-card-meta {
    font-size: 0.78rem;
    color: #888;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.ge-blog-card-cat {
    color: #d4a04a;
    text-decoration: none;
    font-weight: 500;
}

.ge-blog-card-cat:hover {
    color: #e8b860;
}

.ge-blog-card-sep {
    color: #555;
}

.ge-blog-card-title {
    font-size: 1.02rem;
    font-weight: 600;
    line-height: 1.4;
    margin: 0 0 10px;
}

.ge-blog-card-title a {
    color: #e8e8e8;
    text-decoration: none;
    transition: color 0.2s;
}

.ge-blog-card-title a:hover {
    color: #d4a04a;
}

.ge-blog-card-excerpt {
    font-size: 0.88rem;
    color: #999;
    line-height: 1.6;
    margin: 0 0 16px;
    flex: 1;
}

.ge-blog-read-more {
    font-size: 0.85rem;
    font-weight: 600;
    color: #d4a04a;
    text-decoration: none;
    transition: color 0.2s;
    margin-top: auto;
}

.ge-blog-read-more:hover {
    color: #e8b860;
}

/* Pagination — listings */
.ge-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin: 32px 0 16px;
    flex-wrap: wrap;
}
.ge-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    font-family: 'Inter', sans-serif;
    text-decoration: none;
    color: #666;
    background: #f5f5f5;
    border: 1px solid #e5e5e5;
    transition: all 0.15s;
    cursor: pointer;
}
.ge-page-btn:hover { background: #fff5f3; color: #e8a598; border-color: #e8a598; }
.ge-page-active {
    background: #e8a598 !important;
    color: #fff !important;
    border-color: #e8a598 !important;
    cursor: default;
    font-weight: 600;
}
.ge-page-dots { color: #aaa; font-size: 16px; padding: 0 4px; display: inline-flex; align-items: center; }
html.ge-dark .ge-page-dots { color: #666; }
html.ge-dark .ge-page-btn { background: #2a2a2a; border-color: #3a3a3a; color: #bbb; }
html.ge-dark .ge-page-btn:hover { background: rgba(232,165,152,0.12); color: #e8a598; border-color: #e8a598; }
html.ge-dark .ge-page-active { background: #e8a598 !important; color: #fff !important; }

/* Pagination — blog */
.ge-blog-pagination {
    margin-top: 60px;
    display: flex;
    justify-content: center;
}

.ge-blog-pagination .page-numbers {
    display: inline-flex;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    justify-content: center;
}

.ge-blog-pagination .page-numbers li {
    margin: 0;
}

.ge-blog-pagination .page-numbers a,
.ge-blog-pagination .page-numbers span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: #333;
    color: #bbb;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 500;
    transition: background 0.2s, color 0.2s;
}

.ge-blog-pagination .page-numbers a:hover {
    background: #d4a04a;
    color: #fff;
}

.ge-blog-pagination .page-numbers .current {
    background: #d4a04a;
    color: #fff;
}

.ge-blog-empty {
    text-align: center;
    padding: 80px 20px;
    color: #888;
    font-size: 1rem;
}

/* =====================================================
   SINGLE ARTICLE STYLES
   ===================================================== */

.ge-article-outer {
    max-width: 760px;
    margin: 0 auto;
    padding: 40px 24px 80px;
}

.ge-article-back {
    margin-bottom: 32px;
}

.ge-back-link {
    font-size: 0.88rem;
    color: #888;
    text-decoration: none;
    transition: color 0.2s;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.ge-back-link:hover {
    color: #d4a04a;
}

/* Article header */
.ge-article-header {
    margin-bottom: 32px;
}

.ge-article-meta {
    font-size: 0.82rem;
    color: #888;
    margin-bottom: 14px;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
}

.ge-article-cat {
    color: #d4a04a;
    text-decoration: none;
    font-weight: 500;
}

.ge-article-cat:hover {
    color: #e8b860;
}

.ge-article-sep {
    color: #555;
}

.ge-article-read-time {
    color: #777;
}

.ge-article-title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.3;
    color: #e8e8e8;
    margin: 0;
    letter-spacing: -0.02em;
}

@media (max-width: 580px) {
    .ge-article-title {
        font-size: 1.5rem;
    }
}

/* Hero image */
.ge-article-hero {
    margin-bottom: 36px;
    border-radius: 12px;
    overflow: hidden;
}

.ge-article-hero-img {
    width: 100%;
    height: auto;
    display: block;
}

/* Article content typography */
.ge-article-wrap {
    max-width: 720px;
    margin: 0 auto;
}

.ge-article-content {
    font-size: 1rem;
    line-height: 1.8;
    color: #bbb;
}

.ge-article-content p {
    margin: 0 0 1.4em;
    color: #bbb;
}

.ge-article-content h2 {
    font-size: 1.45rem;
    font-weight: 700;
    color: #ddd;
    margin: 2em 0 0.75em;
    line-height: 1.3;
}

.ge-article-content h3 {
    font-size: 1.2rem;
    font-weight: 600;
    color: #ccc;
    margin: 1.7em 0 0.6em;
}

.ge-article-content a {
    color: #d4a04a;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.ge-article-content a:hover {
    color: #e8b860;
}

.ge-article-content ul,
.ge-article-content ol {
    margin: 0 0 1.4em 1.5em;
    padding: 0;
    color: #bbb;
}

.ge-article-content ul li,
.ge-article-content ol li {
    margin-bottom: 0.5em;
    line-height: 1.7;
}

.ge-article-content blockquote {
    margin: 2em 0;
    padding: 20px 24px;
    background: #2a2a2a;
    border-left: 4px solid #d4a04a;
    border-radius: 0 8px 8px 0;
    color: #ccc;
    font-style: italic;
    font-size: 1.05rem;
}

.ge-article-content blockquote p {
    margin: 0;
    color: #ccc;
}

.ge-article-content strong {
    color: #ddd;
    font-weight: 600;
}

.ge-article-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin: 1.5em 0;
}

/* Tags */
.ge-article-tags {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 40px;
    padding-top: 28px;
    border-top: 1px solid #333;
}

.ge-tags-label {
    font-size: 0.82rem;
    color: #777;
    font-weight: 500;
}

.ge-tag-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #333;
    border-radius: 20px;
    font-size: 0.8rem;
    color: #bbb;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.ge-tag-pill:hover {
    background: #d4a04a;
    color: #fff;
}

/* Prev / Next navigation */
.ge-article-nav {
    margin-top: 60px;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.ge-article-nav-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 580px) {
    .ge-article-nav-inner {
        grid-template-columns: 1fr;
    }
}

.ge-nav-card {
    display: flex;
    flex-direction: column;
    padding: 18px 20px;
    background: #242424;
    border: 1px solid #333;
    border-radius: 12px;
    text-decoration: none;
    transition: border-color 0.2s, transform 0.2s;
}

.ge-nav-card:hover {
    border-color: #d4a04a;
    transform: translateY(-2px);
}

.ge-nav-next {
    text-align: right;
}

.ge-nav-label {
    font-size: 0.78rem;
    color: #777;
    font-weight: 500;
    margin-bottom: 6px;
}

.ge-nav-title {
    font-size: 0.92rem;
    font-weight: 600;
    color: #ccc;
    line-height: 1.4;
}

/* City autocomplete */
.ge-city-autocomplete { position: relative; }
.ge-city-input { width: 100%; padding: 10px 12px; border: 1.5px solid #ede8e5; border-radius: 8px; font-size: 14px; font-weight: 600; background: #faf8f6; outline: none; box-sizing: border-box; }
.ge-city-input:focus { border-color: #e8a598; }
.ge-city-suggestions { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border: 1.5px solid #ede8e5; border-top: none; border-radius: 0 0 8px 8px; max-height: 220px; overflow-y: auto; z-index: 100; box-shadow: 0 6px 24px rgba(0,0,0,0.08); }
.ge-city-sug-item { padding: 10px 14px; font-size: 14px; cursor: pointer; color: #2d2d2d; }
.ge-city-sug-item:hover { background: #fff5f3; color: #e8a598; }
html.ge-dark .ge-city-input { background: #2a2a2a !important; border-color: #3a3a3a !important; color: #ddd !important; }
html.ge-dark .ge-city-input:focus { border-color: #e8a598 !important; }
html.ge-dark .ge-city-suggestions { background: #2a2a2a !important; border-color: #3a3a3a !important; }
html.ge-dark .ge-city-sug-item { color: #ccc; }
html.ge-dark .ge-city-sug-item:hover { background: #333; color: #e8a598; }


/* ══════════════════════════════════════════════════
   JOIN / LANDING PAGE
   ══════════════════════════════════════════════════ */

.ge-join-wrap {
    min-height: 100vh;
}

/* ── Hero ── */
.ge-join-hero {
    background: linear-gradient(135deg, var(--ge-bg-card) 0%, var(--ge-accent-light) 100%);
    padding: 80px 24px 72px;
    text-align: center;
}
html.ge-dark .ge-join-hero {
    background: linear-gradient(135deg, #1e1e1e 0%, rgba(232,165,152,0.08) 100%);
}
.ge-join-hero-inner {
    max-width: 720px;
    margin: 0 auto;
}
.ge-join-hero-badge {
    display: inline-block;
    padding: 6px 18px;
    border-radius: 100px;
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--ge-accent);
    background: var(--ge-accent-light);
    border: 1px solid var(--ge-accent);
    margin-bottom: 28px;
}
.ge-join-hero-title {
    font-size: 3rem;
    font-weight: 800;
    line-height: 1.15;
    color: var(--ge-text);
    margin: 0 0 20px;
    letter-spacing: -0.02em;
}
.ge-join-hero-sub {
    font-size: 1.12rem;
    line-height: 1.7;
    color: var(--ge-text-secondary);
    margin: 0 0 36px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}
.ge-join-hero-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 32px;
}
.ge-join-hero-trust {
    display: flex;
    gap: 24px;
    justify-content: center;
    flex-wrap: wrap;
}
.ge-join-hero-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--ge-text-muted);
}
.ge-join-hero-trust-item svg {
    color: var(--ge-accent);
    flex-shrink: 0;
}

/* ── Buttons ── */
.ge-join-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: all 0.2s;
}
.ge-join-btn-primary {
    background: var(--ge-accent);
    color: #fff;
}
.ge-join-btn-primary:hover {
    background: var(--ge-accent-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(232,165,152,0.35);
}
.ge-join-btn-outline {
    background: transparent;
    color: var(--ge-text);
    border: 1.5px solid var(--ge-border);
}
.ge-join-btn-outline:hover {
    border-color: var(--ge-accent);
    color: var(--ge-accent);
}
.ge-join-btn-lg {
    padding: 18px 44px;
    font-size: 1.05rem;
    border-radius: 12px;
}

/* ── Sections ── */
.ge-join-section {
    padding: 72px 24px;
}
.ge-join-section-alt {
    background: var(--ge-bg);
}
.ge-join-section-inner {
    max-width: 1100px;
    margin: 0 auto;
}
.ge-join-section-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--ge-text);
    text-align: center;
    margin: 0 0 10px;
}
.ge-join-section-sub {
    font-size: 1.05rem;
    color: var(--ge-text-muted);
    text-align: center;
    margin: 0 0 48px;
}

/* ── Benefits ── */
.ge-join-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
.ge-join-benefit {
    background: var(--ge-bg-card);
    border: 1px solid var(--ge-border);
    border-radius: 14px;
    padding: 32px 28px;
    transition: border-color 0.2s, transform 0.2s;
}
.ge-join-benefit:hover {
    border-color: var(--ge-accent);
    transform: translateY(-3px);
}
.ge-join-benefit-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ge-accent-light);
    border-radius: 12px;
    color: var(--ge-accent);
    margin-bottom: 18px;
}
.ge-join-benefit h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ge-text);
    margin: 0 0 10px;
}
.ge-join-benefit p {
    font-size: 0.92rem;
    color: var(--ge-text-secondary);
    line-height: 1.6;
    margin: 0;
}

/* ── Steps ── */
.ge-join-steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    margin-bottom: 40px;
}
.ge-join-step {
    flex: 1;
    max-width: 280px;
    text-align: center;
    background: var(--ge-bg-card);
    border: 1px solid var(--ge-border);
    border-radius: 14px;
    padding: 32px 24px;
}
.ge-join-step-num {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ge-accent);
    color: #fff;
    font-size: 1.15rem;
    font-weight: 700;
    border-radius: 50%;
    margin: 0 auto 16px;
}
.ge-join-step h3 {
    font-size: 1.02rem;
    font-weight: 700;
    color: var(--ge-text);
    margin: 0 0 10px;
}
.ge-join-step p {
    font-size: 0.9rem;
    color: var(--ge-text-secondary);
    line-height: 1.6;
    margin: 0;
}
.ge-join-step-arrow {
    display: flex;
    align-items: center;
    padding-top: 48px;
    color: var(--ge-text-muted);
}
.ge-join-steps-cta {
    text-align: center;
}

/* ── Stats ── */
.ge-join-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    text-align: center;
}
.ge-join-stat {
    padding: 28px 16px;
    background: var(--ge-bg-card);
    border: 1px solid var(--ge-border);
    border-radius: 14px;
}
.ge-join-stat-num {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--ge-accent);
    margin-bottom: 6px;
}
.ge-join-stat-label {
    font-size: 0.88rem;
    font-weight: 500;
    color: var(--ge-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Geo Grid ── */
.ge-join-geo-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 24px;
}
.ge-join-geo-card {
    background: var(--ge-bg-card);
    border: 1px solid var(--ge-border);
    border-radius: 12px;
    padding: 18px 20px;
    transition: border-color 0.2s;
}
.ge-join-geo-card:hover {
    border-color: var(--ge-accent);
}
.ge-join-geo-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}
.ge-join-geo-header .ge-flag-img {
    width: 20px;
    height: 15px;
    border-radius: 2px;
    flex-shrink: 0;
}
.ge-join-geo-country {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ge-text);
    flex: 1;
}
.ge-join-geo-count {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--ge-accent);
    background: var(--ge-accent-light);
    padding: 2px 8px;
    border-radius: 100px;
}
.ge-join-geo-cities {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.ge-join-geo-city {
    font-size: 0.82rem;
    color: var(--ge-text-secondary);
}
.ge-join-geo-city em {
    font-style: normal;
    color: var(--ge-text-muted);
    font-size: 0.78rem;
}
.ge-join-geo-note {
    text-align: center;
    font-size: 0.92rem;
    color: var(--ge-text-muted);
    margin: 0;
}

/* ── FAQ ── */
.ge-join-faq {
    max-width: 740px;
    margin: 0 auto;
}
.ge-join-faq-item {
    border-bottom: 1px solid var(--ge-border);
}
.ge-join-faq-item:first-child {
    border-top: 1px solid var(--ge-border);
}
.ge-join-faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 20px 0;
    background: none;
    border: none;
    font-size: 1rem;
    font-weight: 600;
    color: var(--ge-text);
    cursor: pointer;
    text-align: left;
    font-family: inherit;
}
.ge-join-faq-q svg {
    color: var(--ge-text-muted);
    transition: transform 0.2s;
    flex-shrink: 0;
    margin-left: 16px;
}
.ge-join-faq-item.open .ge-join-faq-q svg {
    transform: rotate(180deg);
}
.ge-join-faq-a {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.ge-join-faq-item.open .ge-join-faq-a {
    max-height: 300px;
}
.ge-join-faq-a p {
    padding: 0 0 20px;
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.7;
    color: var(--ge-text-secondary);
}

/* ── Final CTA ── */
.ge-join-cta {
    padding: 80px 24px;
    text-align: center;
    background: linear-gradient(135deg, var(--ge-accent-light) 0%, var(--ge-bg-card) 100%);
}
html.ge-dark .ge-join-cta {
    background: linear-gradient(135deg, rgba(232,165,152,0.1) 0%, #1e1e1e 100%);
}
.ge-join-cta-title {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--ge-text);
    margin: 0 0 14px;
}
.ge-join-cta-sub {
    font-size: 1.08rem;
    color: var(--ge-text-secondary);
    margin: 0 0 36px;
}

/* ── Join Page Responsive ── */
@media (max-width: 1024px) {
    .ge-join-benefits {
        grid-template-columns: repeat(2, 1fr);
    }
    .ge-join-geo-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .ge-join-hero {
        padding: 56px 20px 48px;
    }
    .ge-join-hero-title {
        font-size: 2.2rem;
    }
    .ge-join-hero-sub {
        font-size: 1rem;
    }
    .ge-join-section {
        padding: 48px 20px;
    }
    .ge-join-section-title {
        font-size: 1.6rem;
    }
    .ge-join-benefits {
        grid-template-columns: 1fr;
    }
    .ge-join-steps {
        flex-direction: column;
        align-items: center;
    }
    .ge-join-step {
        max-width: 100%;
        width: 100%;
    }
    .ge-join-step-arrow {
        transform: rotate(90deg);
        padding-top: 0;
    }
    .ge-join-stats {
        grid-template-columns: repeat(2, 1fr);
    }
    .ge-join-geo-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .ge-join-cta-title {
        font-size: 1.7rem;
    }
}
@media (max-width: 480px) {
    .ge-join-hero-title {
        font-size: 1.8rem;
    }
    .ge-join-hero-trust {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .ge-join-geo-grid {
        grid-template-columns: 1fr;
    }
    .ge-join-stats {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
}
