/*
Theme Name: EscortsWP
Theme URI: https://escortswp.com/
Description: EscortsWP.com
Version: 4.1.0.1
Author: EscortsWP
Author URI: https://escortswp.com/
Text Domain: escortswp
*/

/* ==========================================================================
   BLOQUE 1: MOTOR DE TEMAS, RESET, UTILIDADES Y BOTONES GLOBALES
   ========================================================================== */

/* 1. Theme: Clean Editorial (Estado por defecto) */
:root {
  --bg-color: #FFFFFF;
  --text-color: #1A1A1E;
  --accent-color: #7D1A38;
  --border-color: #E5E5E7;

  /* Variables de apoyo para superficies secundarias y estados */
  --surface-subtle: #F7F7F8;
  --text-muted: #6B6B76;
  --accent-hover: #5E1229;
  --accent-contrast: #FFFFFF;
  --header-bg: #0A0A0C;

  /* Puente de compatibilidad con variables heredadas del theme */
  --primary-color: var(--accent-color);
  --primary-hover: var(--accent-hover);
  --page-bg: var(--bg-color);
  --card-bg: var(--surface-subtle);
  --text-main: var(--text-color);

  /* Variables estructurales */
  --radio-tarjetas: 12px;
  --gap-grid: clamp(12px, 2vw, 20px);
  --font-main: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* 2. Theme: Midnight Luxury (Activado vía JS) */
[data-theme="dark"] {
  --bg-color: #0F0F12;
  --text-color: #F4F4F6;
  --accent-color: #D4AF37;
  --border-color: #26262E;

  --surface-subtle: #16161A;
  --text-muted: #A1A1AA;
  --accent-hover: #E5C349;
  --accent-contrast: #0F0F12; /* Texto oscuro sobre dorado para contraste de lujo */
  --header-bg: #0A0A0C;
}

/* 3. Reset CSS y Tipografía Global */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

ol, ul { list-style: inside; }
:focus { outline: 0; }

body, button, input, select, textarea {
  font-family: var(--font-main);
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
  overflow-x: hidden;
  font-optical-sizing: auto;
  text-rendering: optimizeLegibility;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* 4. Iconos de fuente nativos (escortwp) */
[class^="icon-"]:before, [class*=" icon-"]:before {
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  margin-left: .2em;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
}

/* 5. Clases de utilidad y maquetación */
.clear { clear: both; }
.clear5 { clear: both; height: 5px; }
.clear10 { clear: both; height: 10px; }
.clear15 { clear: both; height: 15px; }
.clear20 { clear: both; height: 20px; }
.clear30 { clear: both; height: 30px; }
.clear40 { clear: both; height: 40px; }
.clear50 { clear: both; height: 50px; }
.hide { display: none !important; }
.center { margin: 0 auto; text-align: center; display: inline-block; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.nopadding { padding: 0 !important; }

.col10 { width: 10% !important; }
.col20 { width: 20% !important; }
.col30 { width: 30% !important; }
.col33 { width: 33% !important; }
.col40 { width: 40% !important; }
.col50 { width: 50% !important; }
.col60 { width: 60% !important; }
.col70 { width: 70% !important; }
.col80 { width: 80% !important; }
.col90 { width: 90% !important; }
.col100 { width: 100% !important; }

.rad3 { border-radius: 3px; }
.rad5 { border-radius: 5px; }
.rad7 { border-radius: 7px; }
.rad15 { border-radius: 15px; }
.rad17 { border-radius: 17px; }
.rad20 { border-radius: 20px; }
.rad25 { border-radius: 25px; }
.rad50 { border-radius: 50%; }

.l { float: left; }
.r { float: right; }
.c { float: center; }

.noselect {
  user-select: none;
  -webkit-user-select: none;
  cursor: default;
}

/* 6. Enlaces Globales */
a {
  color: var(--accent-color);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--accent-hover);
}

/* 7. Mensajes de Alerta / Estado (.err, .ok) */
/* 7. Mensajes de Alerta / Estado (.err, .ok) */
.err {
  color: #FFFFFF;
  background-color: #DC2626;
  text-align: center;
  font-weight: 700;
  line-height: 1.5em;
  font-size: 0.95em;
  margin: 10px 0;
  padding: 8px 12px;
  border-radius: 8px;
}
.err a { color: #FFFFFF !important; text-decoration: underline; }
.err small { line-height: 1.2em; display: block; }

/* Cápsula de Confirmación Editorial (Sin barra verde plana) */
.ok {
  display: block;
  width: 100%;
  box-sizing: border-box;
  background-color: rgba(16, 185, 129, 0.08) !important;
  color: #047857 !important;
  border: 1px solid rgba(16, 185, 129, 0.35) !important;
  border-left: 4px solid #10B981 !important;
  border-radius: var(--radio-tarjetas, 12px) !important;
  padding: 14px 20px !important;
  margin: 15px 0 !important;
  font-family: var(--font-main) !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.01em !important;
  text-align: center;
  text-shadow: none !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="dark"] .ok {
  background-color: rgba(16, 185, 129, 0.12) !important;
  color: #6EE7B7 !important;
  border-color: rgba(16, 185, 129, 0.3) !important;
  border-left-color: #10B981 !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35) !important;
}

.ok a { color: inherit !important; text-decoration: underline; }
.ok small { line-height: 1.2em; display: block; }

.ok2 { 
  border: 1px solid rgba(16, 185, 129, 0.4); 
  background-color: rgba(16, 185, 129, 0.06);
  color: #047857;
  padding: 10px; 
  border-radius: 8px; 
}
[data-theme="dark"] .ok2 { color: #6EE7B7; }
.ok2 .icon-ok { color: #10B981; }

/* 8. Sistema de Botones Globales (Sin código basura IE/Base64) */
.darkredbutton, .blueishbutton, .orangebutton, .graybutton, .brownbutton, .blackbutton, .redbutton, .greenbutton, .skywhitebutton, .whitebutton {
  text-decoration: none !important;
  padding: 6px 18px;
  cursor: pointer;
  border: none;
  font-weight: 700;
  border-radius: 25px;
  display: inline-block;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, opacity 0.2s ease;
}

/* Botones de Acción Principal (Heredan el Acento Borgoña / Oro) */
.darkredbutton, .darkreddegrade,
.orangebutton, .orangedegrade,
.blueishbutton {
  background: var(--accent-color);
  color: var(--accent-contrast);
}
.darkredbutton:hover,
.orangebutton:hover,
.blueishbutton:hover {
  background: var(--accent-hover);
  color: var(--accent-contrast);
}

/* Botones Secundarios / Superficie (Adaptables a Claro/Oscuro) */
.whitebutton, .whitedegrade,
.skywhitebutton, .skywhitedegrade,
.blueishdegrade {
  background: var(--surface-subtle);
  color: var(--text-color);
  border: 1px solid var(--border-color);
}
.whitebutton:hover,
.skywhitebutton:hover {
  border-color: var(--accent-color);
  color: var(--accent-color);
}

/* Botones Neutros Oscuros */
.graybutton, .graydegrade,
.blackbutton, .blackdegrade,
.brownbutton, .browndegrade {
  background: #26262E;
  color: #FFFFFF;
}
.graybutton:hover,
.blackbutton:hover,
.brownbutton:hover {
  background: var(--accent-color);
  color: var(--accent-contrast);
}

/* Botones Semánticos: Unificados al Acento de Marca */
.greenbutton {
  background: var(--accent-color) !important;
  color: var(--accent-contrast, #FFFFFF) !important;
  border: 1px solid var(--accent-color) !important;
}
.greenbutton:hover { 
  background: var(--accent-hover) !important; 
  border-color: var(--accent-hover) !important;
  color: var(--accent-contrast, #FFFFFF) !important;
}

.greendegrade {
  background: rgba(16, 185, 129, 0.15) !important;
  color: #10B981 !important;
  border: 1px solid rgba(16, 185, 129, 0.4) !important;
}
[data-theme="dark"] .greendegrade {
  background: rgba(16, 185, 129, 0.2) !important;
  color: #34D399 !important;
  border-color: rgba(52, 211, 153, 0.4) !important;
}

.redbutton, .reddegrade {
  background: #DC2626;
  color: #FFFFFF;
}
.redbutton:hover { opacity: 0.9; color: #FFFFFF; }

.bluebutton, .bluedegrade {
  background: #2563EB;
  color: #FFFFFF;
}
.bluebutton:hover { opacity: 0.9; color: #FFFFFF; }

.clickbutton {
  background: var(--accent-color);
  color: var(--accent-contrast);
}

input.darkredbutton, input.whitebutton, input.greenbutton, button.greenbutton {
  font-size: 1em;
  line-height: 1.2em;
}

/* 9. Checkboxes y Radios personalizados (Checkator) */
input[type=radio],
input[type=checkbox] {
  margin-bottom: 0;
  width: 18px;
  height: 18px;
  border: 2px solid var(--accent-color);
  accent-color: var(--accent-color);
}

.checkator_source {
  position: relative;
  z-index: 2;
  display: block;
}
.checkator_holder {
  display: inline-block;
  position: relative;
  vertical-align: sub;
}
.checkator_element {
  border: 2px solid var(--border-color);
  background-color: var(--surface-subtle);
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  transition: border-color 0.2s ease;
}
.checkator_source:hover + .checkator_element {
  border-color: var(--accent-color);
}
.checkator_holder.radio .checkator_source:checked + .checkator_element:after {
  border: 2px solid var(--accent-color);
  background-color: var(--accent-color);
  display: block;
  content: ' ';
  inset: 15%;
  position: absolute;
  border-radius: 50%;
}
.checkator_holder.checkbox .checkator_source:checked + .checkator_element {
  border-color: var(--accent-color);
}
.checkator_holder.checkbox .checkator_source:checked + .checkator_element:before {
  content: "\e80e";
  font-family: 'escortwp' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  top: -1px;
  position: absolute;
  left: 0px;
  font-size: 0.9em;
  color: var(--accent-color);
}
.checkator_element.checkbox { border-radius: 5px; }
.checkator_element.radio, .checkator_element.radio:after { border-radius: 50% !important; }

/* ==========================================================================
   BLOQUE 2: ESTRUCTURA PRINCIPAL Y CONTENEDORES (.body, .bodybox)
   ========================================================================== */

.all,
.all-topnav,
.contentwrapper {
  width: 100%;
}

.contentwrapper {
  float: left;
}

.body {
  margin: 0 250px;
  background-color: var(--bg-color);
  border-left: 1px solid var(--border-color);
  border-right: 1px solid var(--border-color);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.bodybox {
  background-color: var(--bg-color);
  color: var(--text-color);
  padding: 24px 20px;
  overflow: hidden;
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.bodybox.registerform h3,
.bodybox.registerform .mandatory {
  text-align: center;
}

.bodybox h3,
.bodybox h4 {
  font-weight: 700;
  color: var(--text-color);
}

.bodybox h3 {
  font-size: 1.5em;
  padding-bottom: 12px;
  position: relative;
  color: var(--text-color);
  text-align: center;
  letter-spacing: -0.01em;
}

.bodybox .settingspagetitle {
  color: var(--accent-color);
  font-size: 1.8em;
  padding-bottom: 30px;
  text-align: center;
  font-weight: 600;
}

.bodybox .pagetitle-menu li {
  padding: 0 2px;
  list-style: none;
  float: left;
  display: block;
  line-height: 2em;
}

.bodybox .pagetitle-menu li a {
  padding: 5px 12px;
  display: inline-block;
  line-height: normal;
}

.bodybox .pagetitle-menu li a:hover {
  border-color: transparent;
}

/* Cabeceras y botones de sección en la Homepage */
.bodybox-homepage .see-all-top {
  padding: 5px 16px;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.bodybox-homepage .see-all-bottom,
.bodybox-homepage .see-more-button {
  margin: 10px 6px 0 6px;
  padding: 8px 24px;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

/* En Desktop (> 768px): ocultamos los botones exclusivos de móvil para no duplicar */
@media (min-width: 769px) {
  .bodybox-homepage .see-all-bottom,
  .bodybox-homepage .see-more-button {
    display: none !important;
  }
}

/* En Móvil (<= 768px): mostramos los botones inferiores centrados y cómodos para el pulgar */
@media (max-width: 768px) {
  .bodybox-homepage .see-all-bottom,
  .bodybox-homepage .see-more-button {
    display: inline-block !important;
  }
}

.bodybox-homepage h3 {
  padding-bottom: 20px;
  color: var(--text-color);
  font-size: 1.65em;
  font-weight: 800;
  letter-spacing: -0.02em;
}

/* Blindaje extra para títulos H1/H2/H3 sueltos o con spans de color en la portada */
.bodybox h1, .bodybox h2, .bodybox h3,
.bodybox h1 span, .bodybox h2 span, .bodybox h3 span {
  color: var(--text-color) !important;
}

/* Textos descriptivos SEO (Home y Categorías) - Estética Editorial y Blindaje Inline */
/* ==========================================================================
   TEXTOS DESCRIPTIVOS SEO (HOME Y CATEGORÍAS) - ESTÉTICA EDITORIAL Y BLINDAJE
   ========================================================================== */

.bodybox .taxonomy-description-box,
.pagedesign {
  padding: 24px 10px;
  color: var(--text-color);
  line-height: 1.75;
  font-size: 0.98rem;
}

/* 1. Títulos H1, H2, H3, H4 dentro de cualquier bloque de contenido */
.bodybox h1, .bodybox h2, .bodybox h3, .bodybox h4,
.bodybox h1 span, .bodybox h2 span, .bodybox h3 span, .bodybox h4 span,
.pagedesign h1, .pagedesign h2, .pagedesign h3, .pagedesign h4,
.taxonomy-description-box h1, .taxonomy-description-box h2, .taxonomy-description-box h3, .taxonomy-description-box h4 {
  color: var(--text-color) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

/* 2. Párrafos y elementos de lista SEO: Contraste óptimo en Claro y Oscuro */
.bodybox p,
.bodybox ul:not(.pagetitle-menu) li,
.pagedesign p,
.pagedesign li,
.taxonomy-description-box p,
.taxonomy-description-box li {
  color: var(--text-muted) !important;
  line-height: 1.75;
  font-size: 0.96rem;
}

/* 3. Negritas (strong / b) dentro del texto SEO: Resaltan en blanco humo / grafito */
.bodybox p strong, .bodybox p b,
.bodybox li strong, .bodybox li b,
.pagedesign strong, .pagedesign b,
.taxonomy-description-box strong, .taxonomy-description-box b {
  color: var(--text-color) !important;
  font-weight: 700 !important;
}

/* 4. Enlaces dentro de párrafos y listas SEO (Madrid, Barcelona, Valencia -> Borgoña / Oro) */
.bodybox p a,
.bodybox p a span,
.bodybox ul:not(.pagetitle-menu) li a,
.bodybox ul:not(.pagetitle-menu) li a span,
.bodybox ul:not(.pagetitle-menu) li a strong,
.pagedesign a,
.taxonomy-description-box a,
.post-edit-link {
  color: var(--accent-color) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}

.bodybox p a:hover,
.bodybox ul:not(.pagetitle-menu) li a:hover,
.pagedesign a:hover,
.taxonomy-description-box a:hover {
  color: var(--accent-hover) !important;
}

/* 5. Neutraliza las barras verticales o cajas con border-left rosa/vino en línea */
.bodybox ul[style*="border"],
.bodybox li[style*="border"],
.bodybox div[style*="border-left"],
.bodybox p[style*="border-left"],
.pagedesign blockquote,
.taxonomy-description-box blockquote {
  border-left-color: var(--accent-color) !important;
}

.pagedesign img {
  max-width: 100%;
  border-radius: var(--radio-tarjetas);
}

/* ==========================================================================
   DOSSIER SEO TAXONOMÍAS Y CIUDADES (HTML5 EXPANDIBLE NO-JS)
   100% Adaptativo: Clean Editorial (Borgoña) & Midnight Luxury (Oro)
   0 KB scripts | Herencia nativa de Plus Jakarta Sans
   ========================================================================== */

/* 1. Caja introductoria principal */
.seo-box-premium {
  margin-bottom: 16px;
  padding: 18px 20px;
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-left: 4px solid var(--accent-color);
  border-radius: var(--radio-tarjetas, 12px);
  color: var(--text-color);
  font-family: var(--font-main);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

/* Titular H2 */
.seo-box-premium h2 {
  color: var(--text-color) !important;
  font-size: 1.22rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.35;
  text-align: left;
}

/* Párrafos del bloque introductorio */
.seo-box-premium p {
  color: var(--text-muted) !important;
  line-height: 1.65;
  font-size: 0.94rem;
  margin-bottom: 10px;
}

.seo-box-premium p strong,
.seo-box-premium p b {
  color: var(--text-color) !important;
  font-weight: 700;
}

.seo-box-premium p:last-child {
  margin-bottom: 0;
}

/* 2. Módulo Desplegable (<details> / <summary>) */
.seo-details {
  margin-top: 10px;
  margin-bottom: 24px;
  font-family: var(--font-main);
}

/* Disparador "+ Leer más sobre..." */
.seo-details summary {
  display: inline-block;
  cursor: pointer;
  color: var(--accent-color) !important;
  font-weight: 700;
  font-size: 0.94rem;
  line-height: 1.5;
  list-style: none;
  user-select: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.seo-details summary::-webkit-details-marker {
  display: none;
}

.seo-details summary:hover {
  color: var(--accent-hover) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Contenido expandido al hacer clic */
.seo-details h3 {
  font-size: 1.15rem;
  color: var(--text-color) !important;
  font-weight: 800;
  letter-spacing: -0.01em;
  margin: 18px 0 10px 0;
  line-height: 1.4;
  text-align: left;
}

.seo-details p {
  color: var(--text-muted) !important;
  line-height: 1.68;
  font-size: 0.93rem;
  margin-bottom: 12px;
  text-align: left; /* Evita 'justify' que genera ríos de espacio en móvil */
}

.seo-details p strong,
.seo-details p b {
  color: var(--text-color) !important;
  font-weight: 700;
}

/* Enlaces SEO internos (por si enlazas distritos o categorías dentro del texto) */
.seo-box-premium a,
.seo-details a {
  color: var(--accent-color) !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}

.seo-box-premium a:hover,
.seo-details a:hover {
  color: var(--accent-hover) !important;
}

/* 📱 Ergonomía móvil (<= 768px) */
@media (max-width: 768px) {
  .seo-box-premium {
    padding: 14px 15px;
    margin-bottom: 14px;
    border-radius: 10px;
  }
  
  .seo-box-premium h2 {
    font-size: 1.08rem;
    line-height: 1.35;
    margin-bottom: 6px;
  }
  
  .seo-box-premium p,
  .seo-details p {
    font-size: 0.88rem;
    line-height: 1.55;
    margin-bottom: 8px;
  }

  .seo-details h3 {
    font-size: 1.02rem;
    margin: 14px 0 8px 0;
  }

  .seo-details summary {
    font-size: 0.88rem;
  }
}


/* ==========================================================================
   BLOQUE 3: HEADER, NAVEGACIÓN Y BOTÓN TOGGLE (.header-top-bar)
   ========================================================================== */

.all .logo h1 a,
.site-logo-container a {
  color: #FFFFFF;
  font-size: 1.3em;
  overflow: hidden;
}

.all .logo h1 a img,
.site-logo-container a img {
  display: block;
}

.all .logo .sitedesc {
  padding-top: 5px;
  color: #A1A1AA;
  font-size: 0.95em;
  font-weight: normal;
}

.header-top-bar {
  width: 100%;
  padding: 14px 20px;
  background-color: var(--header-bg);
  color: #FFFFFF;
  border-bottom: 1px solid #1F1F24;
}

.header-top-bar .logo img {
  font-size: 1rem;
  height: 3.5em;
}

.header-top-bar .header-nav {
  font-size: 0.95rem;
  padding-left: 20px;
  min-height: 3.5em;
}

.header-top-bar .header-nav .header-menu li {
  float: left;
  list-style: none;
  position: relative;
}

.header-top-bar .header-nav .header-menu li a {
  color: #E4E4E7;
  font-weight: 600;
  line-height: 2em;
  display: block;
  float: left;
  padding: 0 13px;
  border-radius: 25px;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.header-top-bar .header-nav .header-menu li a:hover,
.header-top-bar .header-nav .header-menu li.current_page_item a {
  background: rgba(255, 255, 255, 0.1);
  color: var(--accent-color);
}

/* Submenús desplegables (Estilo nocturno coherente con el header) */
.header-top-bar .header-nav .header-menu ul {
  background: #141418;
  border: 1px solid #26262E;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 2em;
  left: 0;
  z-index: 100;
  text-align: left;
  padding: 6px;
  display: none;
  border-radius: 12px;
}

.header-top-bar .header-nav .header-menu ul ul {
  display: none;
  left: 200px;
  top: 0;
  border-left: 1px solid #26262E;
}

.header-top-bar .header-nav .header-menu li:hover ul { display: block; }
.header-top-bar .header-nav .header-menu li:hover ul ul { display: none; }
.header-top-bar .header-nav .header-menu ul li:hover ul { display: block; }
.header-top-bar .header-nav .header-menu ul li:hover ul ul { display: none; }
.header-top-bar .header-nav .header-menu ul ul li:hover ul { display: block; }

.header-top-bar .header-nav .header-menu ul li {
  position: relative;
  float: none;
  margin-right: 0;
  min-width: 200px;
}

.header-top-bar .header-nav .header-menu ul li a,
.header-top-bar .header-nav .header-menu .current_page_item ul li a {
  background: transparent;
  display: block;
  float: none;
  color: #E4E4E7;
  line-height: 2.1em;
  margin: 2px 0;
  border-radius: 8px;
}

.header-top-bar .header-nav .header-menu ul li a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--accent-color);
}

/* Menú secundario derecho (Register, Login, Iconos y Toggle) */
.header-top-bar .subnav-menu-wrapper {
  min-height: 3.5em;
}

.header-top-bar .subnav-menu li {
  float: left;
  display: inline;
  list-style: none;
  padding-left: 6px;
  line-height: 2.2em;
  vertical-align: middle;
}

/* Botón Principal: Register (Foco de conversión con contraste del simulador) */
.header-top-bar .subnav-menu li.subnav-menu-btn a,
.header-top-bar .subnav-menu li.register-btn a {
  vertical-align: middle;
  padding: 0 16px;
  color: var(--accent-contrast);
  background: var(--accent-color);
  font-weight: 700;
  display: block;
  float: left;
  border-radius: 25px;
  border: 1px solid var(--accent-color);
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.header-top-bar .subnav-menu li.register-btn a:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  transform: translateY(-1px);
}

/* Botones Secundarios: Login / Log Out (Estilo Ghost elegante) */
.header-top-bar .subnav-menu li.login-btn a,
.header-top-bar .subnav-menu li.logout-btn a {
  background: rgba(255, 255, 255, 0.06);
  color: #FFFFFF;
  border: 1px solid rgba(255, 255, 255, 0.22);
  padding: 0 16px;
}

.header-top-bar .subnav-menu li.login-btn a:hover,
.header-top-bar .subnav-menu li.logout-btn a:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.4);
}

/* Iconos de utilidad (Búsqueda, Contacto) */
.header-top-bar .subnav-menu li.subnav-menu-icon a {
  border-radius: 50%;
  color: #FFFFFF;
  font-size: 1.35em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  text-align: center;
  vertical-align: middle;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.header-top-bar .subnav-menu li.subnav-menu-icon a:hover {
  background: rgba(255, 255, 255, 0.12);
  color: var(--accent-color);
}

.header-top-bar .subnav-menu li.subnav-menu-icon a span {
  display: block;
  line-height: 1;
}

/* Botón Toggle Claro/Oscuro (Sol/Luna) */
.theme-toggle {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #FFFFFF !important;
  cursor: pointer;
  width: 38px; 
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background-color 0.3s ease, border-color 0.3s ease, transform 0.2s ease;
  padding: 0;
  vertical-align: middle;
}

.theme-toggle:hover {
  background-color: rgba(255, 255, 255, 0.12) !important;
  border-color: var(--accent-color);
  transform: scale(1.05);
}

/* Selector de idioma en cabecera */
.header-top-bar .subnav-menu .header-language-switcher select {
  border: 1px solid rgba(255, 255, 255, 0.22);
  cursor: pointer;
  padding: 0 10px;
  background: rgba(255, 255, 255, 0.06);
  color: #FFFFFF;
  font-weight: 600;
  font-size: 0.9rem;
  border-radius: 25px;
  line-height: 2.2em;
  height: 38px;
}

.header-top-bar .subnav-menu .header-language-switcher select:hover {
  border-color: var(--accent-color);
}

.header-top-bar .subnav-menu .header-language-switcher select option {
  background: #141418;
  color: #FFFFFF;
}

/* Botón Menú Hamburguesa (Móvil) */
header .hamburger-menu {
  display: none;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #FFFFFF;
  line-height: 2.2em;
  padding: 0 14px;
  vertical-align: bottom;
  font-weight: 600;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

header .hamburger-menu:hover {
  background: var(--accent-color);
  color: var(--accent-contrast);
  border-color: var(--accent-color);
}

/* Adaptaciones estructurales de cabecera móvil */
header.header-mobile1 .logo,
header.header-mobile2 .logo {
  width: 100%;
  text-align: center;
  float: none;
}

header.header-mobile1 .logo h1,
header.header-mobile2 .logo h1 {
  float: none;
  width: 100%;
}

header.header-mobile1 .logo h1 a,
header.header-mobile2 .logo h1 a {
  display: inline-block;
}

header.header-mobile1 .header-nav {
  float: none;
  width: 100%;
}

header.header-mobile2 .header-nav {
  padding: 0;
  width: 100%;
  text-align: center;
}

header.header-mobile2 .header-nav .header-menu,
header.header-mobile2 .header-nav .header-menu li {
  float: none;
  display: inline-block;
}

header.header-mobile2 .subnav-menu-wrapper {
  width: 100%;
  display: block;
  text-align: center;
}

header.header-mobile2 .subnav-menu-wrapper .subnav-menu {
  float: none;
  display: inline-block;
  width: 100%;
}

header.header-mobile2 .subnav-menu-wrapper .subnav-menu li {
  display: inline-block;
  float: none;
}

header.header-mobile2 .subnav-menu-wrapper .subnav-menu li a {
  display: inline-block;
  float: none;
  vertical-align: top;
}

/* ==========================================================================
   BLOQUE 4: SLIDER SUPERIOR (.sliderall, .slider, .slide)
   ========================================================================== */

.all.all-header-slider {
  width: 100%;
}

.sliderall {
  position: relative;
  padding: 14px 0;
  background-color: var(--bg-color);
  border-bottom: 1px solid var(--border-color);
  transition: background-color 0.3s ease, border-color 0.3s ease;
}

.slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 6px auto;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .slider { max-width: 420px; }
}

@media (min-width: 768px) {
  .slider { max-width: 1890px; }
}

.slider .slide {
  list-style: none;
  display: inline;
  float: left;
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
}

.slider .slide .girlimg {
  position: relative;
  display: block;
  background-color: var(--surface-subtle);
  border-radius: var(--radio-tarjetas);
  border: 1px solid var(--border-color);
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.3s ease;
}

.slider .slide .girlimg:hover {
  border-color: var(--accent-color);
}

.slider .slide .girlimg img {
  width: 100%;
  display: block;
  border-radius: calc(var(--radio-tarjetas) - 1px);
  transition: transform 0.4s ease;
}

.slider .slide .girlimg:hover img {
  transform: scale(1.03);
}

/* Etiquetas superiores en el Slider (Glassmorphism) */
.slider .slide .labels {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
}

.slider .slide .labels .label {
  background: rgba(15, 15, 18, 0.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #FFFFFF;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.6em;
  padding: 2px 9px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  float: left;
  margin-bottom: 4px;
}

.slider .slide .labels .label.greenbutton {
  border-color: #10B981;
}

.slider .slide .labels .label.orangebutton {
  background: var(--accent-color);
  color: var(--accent-contrast);
  border-color: var(--accent-color);
}

.slider .slide .label-video {
  position: absolute;
  top: 35%;
  width: 100%;
  text-align: center;
}

.slider .slide .label-video img {
  max-width: 100px;
  height: auto;
  display: inline-block;
}

/* Información inferior del Slider (Degradado cinematográfico) */
.slider .slide .girlinfo {
  color: #FFFFFF;
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
}

.slider .slide .girlinfo .modelinfo,
.slider .slide .girlimg:hover .girlinfo .modelinfo {
  padding: 26px 8px 10px 8px;
  display: block;
  width: 100%;
  background: linear-gradient(to top, rgba(10, 10, 12, 0.92) 0%, rgba(10, 10, 12, 0.55) 55%, transparent 100%);
  border-bottom-left-radius: calc(var(--radio-tarjetas) - 1px);
  border-bottom-right-radius: calc(var(--radio-tarjetas) - 1px);
}

.slider .slide .girlimg .girlinfo .clear {
  clear: both;
  display: block;
}

.slider .slide .girlimg .girlinfo .labels {
  display: block;
  padding: 5px;
  width: 100%;
}

.slider .slide .girlimg .girlinfo .labels span {
  display: block;
  float: right;
  padding: 2px 6px;
  margin-top: 3px;
  margin-left: 3px;
  font-size: 0.72rem;
  font-weight: 700;
}

.slider .slide .girlinfo .modelinfo .modelname {
  font-weight: 700;
  font-size: 1.1rem;
  color: #FFFFFF;
  text-align: center;
  display: block;
  margin: 1px 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  transition: color 0.25s ease;
}

.slider .slide .girlimg:hover .girlinfo .modelinfo .modelname {
  color: var(--accent-color);
}

.slider .slide .girlinfo .modelinfo .modelinfo-location {
  display: block;
  font-size: 0.78rem;
  font-weight: 500;
  text-align: center;
  color: #D4D4D8;
  margin-top: 1px;
  margin-bottom: 2px;
}

.slider .slide .girlinfo .modelinfo .modelinfo-location .icon-location {
  color: var(--accent-color);
}

/* Flechas de navegación del Slider */
.slider .owl-nav .owl-prev,
.slider .owl-nav .owl-next {
  position: absolute;
  cursor: pointer;
  top: 50%;
  margin-top: -21px;
  color: #FFFFFF;
  background: rgba(15, 15, 18, 0.6);
  backdrop-filter: blur(4px);
  width: 42px;
  height: 42px;
  line-height: 38px;
  text-align: center;
  border-radius: 50%;
  font-size: 1.8em;
  border: 1px solid rgba(255, 255, 255, 0.2);
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.slider .owl-nav .owl-prev:hover,
.slider .owl-nav .owl-next:hover {
  background: var(--accent-color);
  color: var(--accent-contrast);
  transform: scale(1.08);
}

.slider .owl-nav .owl-prev { left: 10px; }
.slider .owl-nav .owl-next { right: 10px; }

/* Paginación del Slider móvil */
.slider-pagination {
  text-align: center;
  display: none;
}

.mobile-profiles-slider .slider-pagination {
  padding: 10px 0;
}

.slider-pagination a {
  text-decoration: none;
  display: inline-block;
  height: 10px;
  width: 10px;
  line-height: 10px;
  background: var(--border-color);
  border-radius: 50%;
  text-indent: -9999px;
  margin: 0 5px;
}

.slider-pagination a.active {
  background: var(--accent-color);
}


/* ==========================================================================
   BLOQUE 5: SIDEBARS IZQUIERDA Y DERECHA (.sidebar-left, .sidebar-right)
   ========================================================================== */

.sidebar-left,
.sidebar-right {
  width: 250px;
  word-wrap: break-word;
  overflow: hidden;
  padding: 12px 10px;
}

/* --- SIDEBAR IZQUIERDA (Listado de Países y Ciudades) --- */
.sidebar-left {
  margin-left: -100%;
}

.sidebar-left .countries,
.widgetbox-wrapper {
  background-color: var(--bg-color);
  color: var(--text-color);
  padding: 18px;
  margin-bottom: 14px;
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.sidebar-left .countries h4,
.widgetbox h4 {
  color: var(--text-color);
  font-size: 1.05em;
  font-weight: 700;
  line-height: 1.5em;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--border-color);
}

.sidebar-left .countries h4 .icon {
  display: none;
  vertical-align: bottom;
}

.sidebar-left .country-list li {
  list-style: none;
  line-height: 2.2em;
  display: block;
  border-bottom: 1px solid var(--border-color);
}

.sidebar-left .country-list li:last-child,
.sidebar-left .country-list li .children li:last-child {
  border-bottom: none;
}

.sidebar-left .country-list ul {
  padding-left: 16px;
}

.sidebar-left .country-list a {
  color: var(--text-color);
  font-size: 0.95rem;
  font-weight: 500;
  display: inline-block;
  vertical-align: middle;
}

.sidebar-left .country-list a:hover {
  color: var(--accent-color);
}

.sidebar-left .country-list .iconlocation {
  cursor: pointer;
  color: var(--accent-color);
  line-height: 1.5rem;
  display: inline-block;
  vertical-align: middle;
  font-size: 1.15em;
  margin-right: 4px;
}

.sidebar-left .country-list .iconlocation.icon-minus,
.sidebar-left .country-list .iconlocation.icon-minus:hover {
  color: var(--text-muted);
  cursor: default;
  background: none;
}

/* Iconos +/- desplegables de ciudades (Fusionados desde el final del archivo viejo) */
.icon-angle-down:before {
  content: "+" !important;
  background: var(--surface-subtle);
  color: var(--accent-color);
  border: 1px solid var(--border-color);
  border-radius: 4px;
  font-weight: 700;
  padding: 0 3px 2px 3px;
}

.icon-angle-up:before {
  content: "-" !important;
  background: var(--accent-color);
  color: var(--accent-contrast);
  border-radius: 4px;
  font-weight: 700;
  padding: 0 4px 2px 4px;
}

.footer .widgetbox {
  color: var(--text-color);
  padding: 0 10px;
}

.footer .placeholder-widgettext {
  text-align: center;
}

.widgetadbox a,
.addspace a {
  color: var(--accent-color);
  text-decoration: underline;
}

.header-addspace {
  color: var(--text-color);
  padding-top: 10px;
}

.widgetbox li {
  list-style: none;
  line-height: 1.7em;
}

/* --- SIDEBAR DERECHA (Avisos, Quick Search, Admin Links) --- */
.sidebar-right {
  float: left;
  margin-left: -250px;
}

.sidebar-right .sidebar-expire-notice-mobile {
  cursor: pointer;
  padding: 7px 0;
  display: none;
  border-bottom: 1px solid var(--border-color);
  color: var(--text-color);
}

.sidebar-right .sidebar-expire-notice {
  padding: 14px;
  cursor: default;
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  background: var(--surface-subtle);
  line-height: 1.7em;
  color: var(--text-color);
  width: 100%;
  margin-bottom: 14px;
}

.sidebar-right .sidebar-expire-notice small {
  display: block;
  line-height: 1.5em;
  font-size: 0.9em;
  color: var(--text-muted);
}

.sidebar-right .sidebar-expire-notice b {
  font-size: 1.1em;
}

.sidebar-right .sidebar-expire-notice .activation-duration {
  padding: 5px 10px;
  cursor: pointer;
  border: 1px solid var(--border-color);
  background: var(--bg-color);
  color: var(--text-color);
  border-radius: 6px;
}

.sidebar-right .sidebar-expire-notice .activation-duration option {
  padding: 3px 5px;
}

.sidebar-right .sidebar-expire-notice .payment-button,
.sidebar-right .sidebar-expire-notice .activation-button {
  padding: 2px 15px;
  font-size: 1.05em;
  line-height: 1.7em;
  font-weight: 700;
  display: inline-block;
  border-radius: 25px;
}

.sidebar-right .sidebar-expire-notice .payment-button {
  border: 1px solid #10B981;
}

.sidebar-right .sidebar-expire-notice .activation-button {
  border: 1px solid var(--accent-color);
}

.sidebar-right .sidebar-expire-notice .fake-button {
  margin-top: 10px;
  padding: 0 18px;
  background: var(--bg-color);
  color: #DC2626;
  border: 1px solid #DC2626;
  border-radius: 25px;
  line-height: 2.3em;
  font-size: 0.95em;
  display: inline-block;
}

.sidebar-right .sidebar-expire-notice .fake-button:hover {
  background: #DC2626;
  color: #FFFFFF;
}

.sidebar-right .sidebar-expire-notice .sidebar-expire-notice-cancel-subscription-form {
  display: none;
}

.agencyeditbuttons a {
  cursor: pointer;
}

/* ==========================================================================
   MÓDULOS DE COMPRA (BUY PREMIUM & BUY FEATURED) Y PASARELA GLOBAL
   ========================================================================== */

/* 1. Separación clara entre el bloque Premium y el bloque Featured */
.sidebar-right .buypremium,
.sidebar-right .buyfeatured {
  display: block;
  position: relative;
  line-height: 1.6em;
  text-align: center;
  margin-bottom: 22px; /* Aire suficiente para distinguir ambos bloques */
  padding-bottom: 0;
}

/* 2. Cabecera/disparador del bloque (Mantiene el estatus Borgoña / Oro) */
.sidebar-right .buypremium > a,
.sidebar-right .buyfeatured > a,
.sidebar-right .buyfeatured .greendegrade,
.sidebar-right .buypremium .greendegrade {
  display: block;
  position: relative;
  padding: 12px 14px;
  border-radius: var(--radio-tarjetas);
  font-size: 1.02rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, background-color 0.2s ease;
}

/* Pastilla de precio dentro de la cabecera (Adiós al parche verde #10B981) */
.sidebar-right .buypremium .show-price,
.sidebar-right .buyfeatured .show-price {
  background: rgba(0, 0, 0, 0.22) !important;
  color: inherit !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  font-weight: 800;
  padding: 2px 12px;
  font-size: 0.9rem;
  line-height: 1.6em;
  display: inline-block;
  border-radius: 20px;
  margin-top: 4px;
}

/* 3. Caja desplegable de detalles (Conectada visualmente como tarjeta) */
.sidebar-right .buypremium_details,
.sidebar-right .buyfeatured_details {
  display: none;
  margin-top: 6px;
  padding: 28px 14px 16px 14px;
  border: 1px solid var(--border-color);
  background: var(--surface-subtle);
  border-radius: var(--radio-tarjetas);
  position: relative;
  text-align: center;
  color: var(--text-muted);
  font-size: 0.92rem;
  line-height: 1.55em;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  font-weight: 600;
}

/* Botón cerrar (X) más sutil y elegante en la esquina */
.sidebar-right .buyfeatured_details .closebtn_box,
.sidebar-right .buypremium_details .closebtn_box {
  top: 8px;
  right: 8px;
  background: transparent;
  color: var(--text-muted);
  border: 1px solid var(--border-color);
  width: 24px;
  height: 24px;
  line-height: 22px;
  font-size: 1rem;
  transition: all 0.2s ease;
}

.sidebar-right .buyfeatured_details .closebtn_box:hover,
.sidebar-right .buypremium_details .closebtn_box:hover {
  background: #DC2626;
  color: #FFFFFF;
  border-color: #DC2626;
}

/* 4. BOTONES DE PASARELA UNIFICADOS: Azul Fiduciario (#1D72B8) en toda la web */
.payment-button,
.sidebar-right .buypremium_details .payment-button,
.sidebar-right .buyfeatured_details .payment-button,
.sidebar-right .buypremium_details .greenbutton,
.sidebar-right .buyfeatured_details .greenbutton,
.sidebar-right .sidebar-expire-notice .payment-button,
.addedtours .tour .addedbuttons .pb .payment-button,
.girlsingle .lockedsection .payment-button {
  background: #1D72B8 !important;
  color: #FFFFFF !important;
  border: 1px solid #1D72B8 !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(29, 114, 184, 0.25);
  transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
}

/* Tamaño específico de ancho completo para los botones de Premium y Featured */
.sidebar-right .buypremium_details .payment-button,
.sidebar-right .buyfeatured_details .payment-button,
.sidebar-right .buypremium_details .greenbutton,
.sidebar-right .buyfeatured_details .greenbutton {
  display: block;
  width: 100%;
  font-size: 0.98rem !important;
  line-height: 1.35em !important;
  padding: 12px 16px !important;
  margin: 14px 0 8px 0 !important;
}

/* Ajuste de aire para el botón de expiración y desbloqueo VIP */
.sidebar-right .sidebar-expire-notice .payment-button,
.girlsingle .lockedsection .payment-button {
  padding: 6px 18px !important;
  display: inline-block;
}

/* Efecto Hover unificado para todos los disparadores de pago */
.payment-button:hover,
.sidebar-right .buypremium_details .payment-button:hover,
.sidebar-right .buyfeatured_details .payment-button:hover,
.sidebar-right .buypremium_details .greenbutton:hover,
.sidebar-right .buyfeatured_details .greenbutton:hover,
.sidebar-right .sidebar-expire-notice .payment-button:hover,
.sidebar-right .dropdownlinks .needs-payment:hover,
.addedtours .tour .addedbuttons .pb .payment-button:hover,
.girlsingle .lockedsection .payment-button:hover {
  background: #155A96 !important;
  border-color: #155A96 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(29, 114, 184, 0.35);
}

.sidebar-right .upgradeescortbox {
  color: var(--text-color);
  position: relative;
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 12px;
  display: none;
  text-align: center;
  float: left;
  width: 100%;
}

.sidebar-right .upgradeescortbox select {
  padding: 5px 10px;
  cursor: pointer;
}

.sidebar-right .upgradeescortbox .input {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  color: var(--text-color);
  box-sizing: border-box;
  padding: 6px;
  border-radius: 6px;
}

.sidebar-right .upgradeescortbox .ok-button,
.sidebar-right .upgradeescortbox .del-button {
  font-size: 1em;
}

/* Widget Quick Search (Limpio y adaptado al Simulador) */
.sidebar-right .quicksearch {
  background-color: var(--bg-color);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 18px;
  margin-bottom: 14px;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.sidebar-right .quicksearch h4 {
  color: var(--text-color);
  font-weight: 700;
  padding-bottom: 10px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--border-color);
  text-align: center;
}

.sidebar-right .quicksearch .form-input select,
.sidebar-right .quicksearch .select2 .select2-selection.select2-selection--single {
  background-color: var(--surface-subtle);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  cursor: pointer;
  padding: 4px 8px;
  width: 100%;
}

.sidebar-right .quicksearch .select2 {
  width: 100% !important;
}

.sidebar-right .quicksearch .select2-container .select2-selection--single {
  width: 100%;
}

.sidebar-right .quicksearch .form-input select option {
  padding: 2px 4px;
  background-color: var(--bg-color);
  color: var(--text-color);
}

.sidebar-right .quicksearch .formseparator {
  height: 10px;
}

.sidebar-right .quicksearch label {
  cursor: pointer;
  color: var(--text-color);
}

.sidebar-right .quicksearch .adv {
  color: var(--text-muted);
  font-size: 0.9em;
  display: inline-block;
  margin-top: 8px;
}

.sidebar-right .quicksearch .adv:hover {
  text-decoration: underline;
  color: var(--accent-color);
}

.sidebar-right .quicksearch .submit-button {
  background: var(--accent-color);
  color: var(--accent-contrast);
  border: none;
  border-radius: 25px;
  font-size: 0.95em;
  font-weight: 700;
  width: 100%;
  padding: 10px 16px;
  margin-top: 10px;
  cursor: pointer;
}

.sidebar-right .quicksearch .submit-button:hover {
  background: var(--accent-hover);
}

/* Paneles Admin Links y Menús de Usuario (.dropdownlinks) */
.sidebar-right .dropdownlinks {
  padding: 16px;
  cursor: default;
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  background: var(--bg-color);
  color: var(--text-color);
  margin-bottom: 14px;
}

.sidebar-right .dropdownlinks *::selection {
  background-color: var(--accent-color);
  color: var(--accent-contrast);
}

.sidebar-right .dropdownlinks.dropdownlinks-userid {
  color: var(--text-color);
}

.sidebar-right .dropdownlinks.dropdownlinks-userid a.edit-user {
  color: var(--accent-color);
  text-decoration: underline;
  display: inline-block;
  float: none;
}

.sidebar-right .dropdownlinks h4 {
  font-size: 1.05em;
  line-height: 1.5em;
  font-weight: 700;
  color: var(--text-color);
}

.sidebar-right .dropdownlinks-dropdown h4 {
  font-weight: 700;
  margin: -16px;
  padding: 16px;
  cursor: pointer;
  color: var(--text-color);
}

.sidebar-right .dropdownlinks h4 .icon {
  color: var(--accent-color);
  margin-right: 6px;
}

.sidebar-right .dropdownlinks ul {
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  display: none;
  padding: 10px;
  margin-top: 12px;
  float: left;
  width: 100%;
  border-radius: 8px;
}

.sidebar-right .dropdownlinks a {
  line-height: 1.7em;
  float: left;
}

.sidebar-right .dropdownlinks ul a {
  color: var(--text-color);
  line-height: 1.8em;
}

.sidebar-right .dropdownlinks ul a:hover {
  color: var(--accent-color);
}

.sidebar-right .dropdownlinks ul li {
  list-style: none;
  width: 100%;
  padding: 4px 0;
  float: left;
}

.sidebar-right .dropdownlinks ul li a .icon {
  color: var(--accent-color);
  margin-right: 6px;
  border-radius: 50%;
  text-align: center;
  display: block;
  float: left;
  line-height: 1.4em;
  margin-top: 3px;
}

.sidebar-right .dropdownlinks a:hover .icon {
  background-color: var(--accent-color);
  color: var(--accent-contrast);
}

/* Aviso informativo "Other profile links will be shown after payment" (Atrapa li, div, span o clases verdes) */
.sidebar-right .dropdownlinks .needs-payment,
.sidebar-right .dropdownlinks .ok,
.sidebar-right .dropdownlinks li.ok,
.sidebar-right .dropdownlinks ul .ok,
.sidebar-right .dropdownlinks .greenbutton,
.sidebar-right .dropdownlinks .greendegrade {
  background: var(--bg-color) !important;
  background-color: var(--bg-color) !important;
  color: var(--text-muted) !important;
  border: 1px dashed var(--accent-color) !important;
  border-radius: 10px !important;
  padding: 12px 10px !important;
  margin-bottom: 12px !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  line-height: 1.45em !important;
  text-align: center !important;
  box-shadow: none !important;
  display: block !important;
  width: 100% !important;
}

/* Botones de Borrar Perfil / Borrar Cuenta (Estilo Ghost Destructivo: legible y elegante) */
.sidebar-right .dropdownlinks .delete-account-button,
.sidebar-right .dropdownlinks .admin-delete-profile,
.sidebar-right .dropdownlinks .deleteprofile,
.sidebar-right .dropdownlinks .redbutton {
  background: transparent !important;
  color: #EF4444 !important; /* Rojo coral nítido y legible tanto en claro como en oscuro */
  border: 1px solid rgba(239, 68, 68, 0.45) !important;
  border-radius: 25px !important;
  padding: 8px 16px !important;
  margin-top: 8px !important;
  display: inline-block !important;
  float: none !important;
  width: 100%;
  text-align: center;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  line-height: 1.4em !important;
  transition: all 0.2s ease !important;
}

/* Al pasar el ratón por encima del botón de borrar: se enciende en rojo con texto blanco */
.sidebar-right .dropdownlinks .delete-account-button:hover,
.sidebar-right .dropdownlinks .admin-delete-profile:hover,
.sidebar-right .dropdownlinks .deleteprofile:hover,
.sidebar-right .dropdownlinks .redbutton:hover {
  background: #DC2626 !important;
  color: #FFFFFF !important;
  border-color: #DC2626 !important;
}

.sidebar-right .dropdownlinks .member-delete-account-wrapper {
  display: none;
}

.sidebar-right .dropdownlinks .upgradebuttons .upgradebutton,
.sidebar-right .dropdownlinks .upgradebuttons .delbtn,
.sidebar-right .dropdownlinks .mark-as-verified,
.sidebar-right .dropdownlinks .admin-set-to-private {
  line-height: 1.5em;
  font-size: 0.9em;
}

.sidebar-right .blog-categories {
  float: left;
  width: 100%;
}

.sidebar-right .blog-categories a {
  float: none;
  padding: 5px 0;
}

.sidebar-right .blog-categories ul,
.sidebar-right .blog-categories ul li,
.sidebar-right .blog-categories ul ul {
  width: 100%;
  display: block;
  padding: 0;
  margin: 0;
}

.sidebar-right .blog-categories ul {
  padding: 10px 0 10px 10px;
}

.sidebar-right .blog-categories ul li {
  padding: 2px 0;
}

.sidebar-right .blog-categories ul ul {
  padding-left: 20px;
}


/* ==========================================================================
   BLOQUE 6: TARJETAS DE PERFILES (.girl) Y RESEÑAS EN PORTADA
   ========================================================================== */

.girl {
  float: left;
  width: 20%;
  padding: 6px;
  padding-bottom: 18px;
  overflow: hidden;
  position: relative;
}

.girl.tour-thumb {
  width: 14.28%;
}

.girl .thumb {
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  float: left;
  position: relative;
  width: 100%;
  background-color: var(--surface-subtle);
  overflow: hidden;
  transition: border-color 0.3s ease, transform 0.3s ease;
}

.girl .thumb.girlpremium {
  border: 1px solid var(--border-color);
  background-color: var(--surface-subtle);
}

.girl .thumb:hover {
  border-color: var(--accent-color);
}

.girl .thumb .thumbwrapper {
  position: relative;
}

.girl .thumb a {
  float: left;
  position: relative;
  line-height: 0;
  width: 100%;
}

.girl .thumb .thumbwrapper a img {
  width: 100%;
  border-radius: calc(var(--radio-tarjetas) - 1px);
  transition: transform 0.4s ease;
}

.girl .thumb:hover .thumbwrapper a img {
  transform: scale(1.03);
}

/* Blindaje de capas (z-index: 5 mantiene el nombre por encima del zoom de la imagen) */
.girl .model-info,
.girl:hover .model-info,
.girl .thumb:hover .model-info {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 5 !important; /* Crítico: evita que el transform: scale(1.03) de la foto tape el texto */
  line-height: 1.5em;
  width: 100%;
  height: auto !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none; /* Permite hacer clic en la foto a través del degradado sin interrumpir el hover */
}

.girl .desc,
.girl:hover .desc,
.girl a:hover .desc,
.girl .thumb:hover .desc {
  position: relative !important;
  z-index: 5 !important;
  padding: 26px 8px 10px 8px !important;
  background: linear-gradient(to top, rgba(10, 10, 12, 0.92) 0%, rgba(10, 10, 12, 0.55) 55%, transparent 100%) !important;
  text-align: center;
  border-bottom-left-radius: calc(var(--radio-tarjetas) - 1px);
  border-bottom-right-radius: calc(var(--radio-tarjetas) - 1px);
  height: auto !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Aseguramos que las etiquetas VERIFIED/FEATURED también queden por encima del zoom */
.girl .thumb .thumbwrapper .labels {
  padding: 8px;
  display: block !important;
  opacity: 1 !important;
  width: 100%;
  float: left;
  position: relative;
  z-index: 5 !important;
  pointer-events: none;
}

.girl a .desc .girl-name {
  color: #FFFFFF;
  font-size: 1.1rem;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
  font-weight: 700;
  display: block;
  margin-top: 4px;
  margin-bottom: 2px;
  transition: color 0.25s ease;
}

.girl.tour-thumb a .desc .girl-name {
  font-size: 1rem;
}

.girl .thumb:hover a .desc .girl-name {
  color: var(--accent-color);
}

.girl .desc .girl-desc-location {
  font-size: 0.78rem;
  font-weight: 500;
  color: #D4D4D8;
  padding: 1px 0;
  display: block;
  margin-top: 2px;
  margin-bottom: 2px;
}

.girl .desc .girl-desc-location .icon-location {
  color: var(--accent-color);
}

.age-location {
  display: block;
  margin: -8px 5px 2px 5px;
}

.age-location .icon-age {
  margin: -5px 5px 5px 5px;
}

.age-location .icon-location {
  margin: 1px;
}

.girl .tour {
  color: #FFFFFF;
}

/* ==========================================================================
   INSIGNIA PREMIUM UNIFICADA: LUXURY SEAL (SLIDER + GRID)
   0 peticiones HTTP | Vector SVG Tiara Joyería | Cristal Ahumado + Oro #D4AF37
   ========================================================================== */

.premiumlabel,
.slider .slide .girlimg .premiumlabel,
.girl .girlpremium .premiumlabel {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50% !important;

  /* Cápsula de cristal ahumado */
  background: rgba(15, 15, 18, 0.72) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;

  /* Bisel y halo de Oro Champán */
  border: 1px solid rgba(212, 175, 55, 0.55) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5), 
              0 0 10px rgba(212, 175, 55, 0.2) !important;

  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), 
              box-shadow 0.3s ease, 
              border-color 0.3s ease !important;
  pointer-events: auto !important;
}

/* Ocultar cualquier elemento residual o span legado */
.premiumlabel img,
.premiumlabel span {
  display: none !important;
}

/* Tiara Monolineal de Alta Joyería en Oro Champán (#D4AF37) */
.premiumlabel::before,
.slider .slide .girlimg .premiumlabel::before,
.girl .girlpremium .premiumlabel::before {
  content: "" !important;
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18h18l-2-11-4.5 5.5L12 4l-2.5 8.5L5 7 3 18z'/%3E%3Ccircle cx='12' cy='3.5' r='1.2' fill='%23D4AF37'/%3E%3Ccircle cx='4' cy='6.5' r='1' fill='%23D4AF37'/%3E%3Ccircle cx='20' cy='6.5' r='1' fill='%23D4AF37'/%3E%3Cline x1='5' y1='18' x2='19' y2='18' stroke-width='2'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  transition: transform 0.3s ease !important;
}

/* Micro-interacción en hover (tanto al pasar sobre la tarjeta como sobre el sello) */
.slider .slide .girlimg:hover .premiumlabel,
.girl .thumb:hover .premiumlabel,
.premiumlabel:hover {
  transform: scale(1.08) !important;
  border-color: rgba(212, 175, 55, 0.85) !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.6), 
              0 0 14px rgba(212, 175, 55, 0.4) !important;
}

.slider .slide .girlimg:hover .premiumlabel::before,
.girl .thumb:hover .premiumlabel::before,
.premiumlabel:hover::before {
  transform: translateY(-1px) !important;
}

/* Etiquetas VERIFIED / FEATURED / NEW en Tarjetas */
.girl .thumb .thumbwrapper .labels {
  padding: 8px;
  display: block !important;
  opacity: 1 !important;
  width: 100%;
  float: left;
  position: relative;
  z-index: 2;
}

.girl .thumb .thumbwrapper .label {
  background: rgba(15, 15, 18, 0.78);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #FFFFFF;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.6em;
  padding: 2px 9px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  float: left;
  margin-top: 2px;
}

.girl .thumb .thumbwrapper .label.greenbutton {
  border-color: #10B981;
}

.girl .thumb .thumbwrapper .label.orangebutton {
  background: var(--accent-color);
  color: var(--accent-contrast);
  border-color: var(--accent-color);
}

.girl .thumb .thumbwrapper .label-video {
  position: absolute;
  top: 35%;
  width: 100%;
  text-align: center;
}

.girl .thumb .thumbwrapper .label-video img {
  max-width: 100px;
  height: auto;
}

/* Reseñas en Portada (Front Page Reviews) */
.onereviewtext {
  padding: 12px 0;
  border-bottom: 1px solid var(--border-color);
}

.onereviewtext .author {
  color: var(--text-muted);
}

.onereviewtext .author span {
  color: var(--accent-color);
  font-size: 14px;
  font-weight: 600;
}

.onereviewtext .reviewtext a {
  color: var(--accent-color);
}

.label.label-verified,
.label.greendegrade,
.verified.greendegrade,
.slider .slide .verified {
  background-color: #065F46 !important;
  color: #FFFFFF !important;
  border: 1px solid #10B981 !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* ==========================================================================
   BLOQUE 7: FICHA INDIVIDUAL (.girlsingle), FORMULARIOS Y GESTIÓN
   ========================================================================== */

.girlsingle {
  position: relative;
  color: var(--text-color);
}

.girlsingle a {
  color: var(--accent-color);
}

.girlsingle .profile-title {
  color: var(--text-color);
  font-size: 1.6em;
  cursor: default;
  padding-bottom: 4px;
  text-transform: uppercase;
  font-weight: 800;
  display: inline-block;
  margin-top: 2px;
  letter-spacing: -0.02em;
}

.girlsingle .girlsinglelabels {
  text-align: center;
  width: 100%;
  font-size: 0.8em;
  font-weight: 700;
}

/* Contenedor base de las etiquetas bajo el nombre */
.girlsingle .girlsinglelabels span {
  margin: 0 6px 12px 0;
  padding: 4px 14px;
  cursor: default;
  border-radius: 20px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  display: inline-block;
}

/* Etiqueta 1 - PREMIUM (Estatus): Bloque sólido con el color de acento */
.girlsingle .girlsinglelabels span:first-child,
.girlsingle .girlsinglelabels span.orangebutton,
.girlsingle .girlsinglelabels span.orangedegrade,
.girlsingle .girlsinglelabels span.darkredbutton,
.girlsingle .girlsinglelabels span.darkreddegrade {
  background: var(--accent-color) !important;
  background-color: var(--accent-color) !important;
  color: var(--accent-contrast) !important;
  border: 1px solid var(--accent-color) !important;
}

/* Etiqueta 2 - VERIFIED (Confianza): Estilo Ghost / Fondo transparente y borde esmeralda */
.girlsingle .girlsinglelabels span.greenbutton,
.girlsingle .girlsinglelabels span.greendegrade,
.girlsingle .girlsinglelabels span:nth-child(2) {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #10B981 !important;
  border: 1px solid #10B981 !important;
}

.girlsingle .profile-header .profile-header-name-info {
  background: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 12px 10px;
}

.girlsingle .profile-header .phone-box,
.girlsingle .profile-header .available-on {
  padding-top: 15px;
  padding-right: 20px;
  font-weight: 700;
  text-align: center;
}

.girlsingle .profile-header .phone-box .label,
.girlsingle .profile-header .available-on .label {
  font-size: 0.95em;
  font-weight: 500;
  color: var(--text-muted);
  cursor: default;
  line-height: 1em;
}

.girlsingle .profile-header .available-on .label {
  padding-bottom: 7px;
}

.girlsingle .profile-header .phone-box a {
  line-height: 1.7em;
}

.girlsingle .profile-header .phone-box a,
.girlsingle .profile-header .available-on a {
  font-size: 1.6em;
  color: var(--accent-color);
}

.girlsingle .profile-header .phone-box a:hover {
  color: var(--accent-hover);
}

.girlsingle .profile-header .phone-box .icon-phone {
  color: var(--accent-color);
  font-size: 0.85em;
}

.girlsingle .profile-header .available-on .icon {
  font-size: 1.2em;
  padding: 0 5px;
}

.girlsingle .profile-header .profile-header-name-info .section-box {
  float: right;
  text-align: center;
  padding: 0 8px;
}

.girlsingle .profile-header .profile-header-name-info .section-box .valuecolumn {
  color: var(--accent-color);
  font-weight: 800;
  font-size: 1.6em;
  display: block;
  width: 100%;
  line-height: 1.1em;
  letter-spacing: -1px;
}

.girlsingle .profile-header .profile-header-name-info .section-box b {
  display: block;
  width: 100%;
  font-size: 0.85em;
  color: var(--text-muted);
  font-weight: 500;
}

/* Adaptación móvil de cabecera de perfil */
.girlsingle .profile-header.profile-header-mobile1,
.girlsingle .profile-header-mobile2 {
  text-align: center;
}

.girlsingle .profile-header-mobile1 .profile-header-name {
  float: none;
  padding-bottom: 20px;
}

.girlsingle .profile-header-mobile1 .profile-header-name h3 {
  text-align: center;
}

.girlsingle .profile-header-mobile1 .profile-header-name .online-status .online-label {
  display: inline-block;
}

.girlsingle .profile-header-mobile1 .profile-header-name-info,
.girlsingle .profile-header-mobile2 .profile-header-name-info {
  float: none;
  display: inline-block;
  vertical-align: top;
}

.girlsingle .profile-header-mobile1 .profile-header-name-info .section-box {
  float: left;
}

.girlsingle .profile-header-mobile1 .phone-box,
.girlsingle .profile-header-mobile1 .available-on {
  float: none;
  display: inline-block;
  padding: 10px 5px 0 5px;
}

.girlsingle .profile-header-mobile2 .phone-box,
.girlsingle .profile-header-mobile2 .available-on {
  display: inline-block;
  float: none;
  padding-right: 0;
  padding-bottom: 10px;
  width: 100%;
}

/* Subida de medios e imágenes en perfil */
.girlsingle .profile-page-no-media {
  border: 2px dashed var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 14px;
  box-sizing: border-box;
  cursor: pointer;
  color: var(--text-muted);
  vertical-align: middle;
  transition: border-color 0.2s ease;
}

.girlsingle .profile-page-no-media-wrapper {
  box-sizing: border-box;
}

.girlsingle .profile-page-no-media-wrapper-photos { padding-right: 5px; }
.girlsingle .profile-page-no-media-wrapper-videos { padding-left: 5px; }

.girlsingle .profile-page-no-media:hover {
  border-color: var(--accent-color);
}

.girlsingle .profile-page-no-media p {
  font-weight: 700;
  font-size: 1.05em;
  line-height: 2em;
  margin: 0;
  padding: 0;
}

.girlsingle .profile-page-no-media p u,
.girlsingle .profile-page-no-media .icon {
  color: var(--accent-color);
}

.girlsingle .profile-page-no-media .icon {
  font-size: 2.5em;
  float: left;
  padding-right: 20px;
  padding-top: 10px;
  box-sizing: border-box;
}

.girlsingle .profile-page-no-media .icon-film {
  font-size: 3.1em;
}

.girlsingle .max-photos b,
.girlsingle .max-videos b {
  background: var(--accent-color);
  color: var(--accent-contrast);
  padding: 2px 6px;
  border-radius: 4px;
  margin: 0 3px;
}

.girlsingle .image-buttons-legend {
  line-height: 2em;
  width: 100%;
  clear: both;
  text-align: center;
}

.girlsingle .image-buttons-legend div {
  display: inline-block;
  padding: 0 5px;
}

.girlsingle .image-buttons-legend .button-delete { color: #EF4444 !important; font-weight: 700; }
.girlsingle .image-buttons-legend .button-main-image { color: var(--accent-color) !important; font-weight: 700; }

.girlsingle .bigimage {
  max-width: 312px;
  display: inline-block;
  padding: 20px 0;
}

.girlsingle .bigimage img {
  width: 100%;
  border-radius: var(--radio-tarjetas);
}

.girlsingle .thumbs {
  width: 100%;
  text-align: center;
}

.girlsingle .thumbs img {
  float: left;
  border-radius: 8px;
}

/* Secciones bloqueadas y tablas de tarifas */
.girlsingle .lockedsection {
  padding: 14px;
  color: var(--accent-contrast);
  background-color: var(--accent-color);
  border-radius: var(--radio-tarjetas);
  line-height: 2em;
  text-align: center;
}

.girlsingle .lockedsection .icon-lock {
  font-size: 2em;
  padding-right: 10px;
  width: 1em;
  position: absolute;
}

.girlsingle .lockedsection a {
  color: var(--accent-contrast);
  font-weight: 700;
  text-decoration: underline;
}

.girlsingle .lockedsection span.nr {
  float: none !important;
  padding: 0 5px;
  font-weight: 700;
}

.girlsingle .lockedsection .payment-button { font-size: 1.1em; }
.girlsingle .lockedsection small { line-height: 1.5em; display: block; }

.girlsingle .rates-table td {
  width: 33%;
  padding: 4px 0;
  vertical-align: middle;
}

.girlsingle .rates-table th.hide-incall,
.girlsingle .rates-table th.hide-outcall {
  background: var(--surface-subtle);
  color: var(--accent-color);
  border: 1px solid var(--border-color);
  padding: 6px;
}

/* Bloques de información de la modelo (.girlinfo-section, .aboutme) */
.girlsingle .girlinfo {
  width: 50%;
}

.girlsingle .girlinfo.l { padding-right: 6px; }
.girlsingle .girlinfo.r { padding-left: 6px; }

.girlsingle .girlinfo .girlinfo-section,
.girlsingle .aboutme,
.girlsingle .review-wrapper,
.agency-reviews-bodybox .review-wrapper {
  padding: 20px;
  background: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  color: var(--text-color);
  margin-bottom: 12px;
  width: 100%;
}

.girlsingle .girlinfo .girlinfo-section {
  float: left;
}

.girlsingle .girlinfo .text-me-icon {
  font-size: 2.5em;
  margin-right: 10px;
}

a.reviewthegency {
  margin-left: 10px;
  color: var(--accent-color);
}

.girlsingle .aboutme a,
.girlsingle .contact .currently-on-tour-in a {
  color: var(--accent-color);
  text-decoration: underline;
}

.girlsingle .aboutme a:hover,
.girlsingle .contact .currently-on-tour-in a:hover {
  color: var(--accent-hover);
  text-decoration: none;
}

.girlsingle .visitor-counter {
  text-align: center;
  font-weight: 600;
  font-size: 0.9em;
  color: var(--text-muted);
}

.girlsingle .visitor-counter .count {
  color: var(--accent-contrast);
  background: var(--accent-color);
  padding: 2px 8px;
  border-radius: 12px;
  font-weight: 700;
  letter-spacing: 1px;
}

.girlsingle h4,
.girlsingle .aboutme h4,
.clientreviewtext h4,
.agency-reviews-bodybox h4 {
  color: var(--text-color);
  padding-left: 10px;
  margin-bottom: 12px;
  cursor: default;
  border-left: 3px solid var(--accent-color);
  text-transform: uppercase;
  font-size: 1.05em;
  font-weight: 700;
}

.girlsingle .aboutme .currently-on-tour-in,
.girlsingle .contact .currently-on-tour-in {
  padding: 10px;
  color: var(--accent-color);
  font-weight: 700;
  font-size: 1.05em;
  float: left;
  border: 1px solid var(--accent-color);
  border-radius: 8px;
  margin-bottom: 10px;
}

.girlsingle .girlinfo b,
.girlsingle .girlinfo .b {
  width: 50%;
  display: block;
  float: left;
  font-weight: 600;
  line-height: 1.8em;
  color: var(--text-muted);
}

.girlsingle .valuecolumn,
.girlsingle b {
  line-height: 1.8em;
}

.girlsingle .girlinfo .b .b-label {
  vertical-align: middle;
  cursor: default;
}

.girlsingle .girlinfo .b .social-icons-contact-info {
  vertical-align: middle;
  margin-right: 5px;
  float: right;
  margin-top: 4px;
}

/* Armonización de iconos sociales con la paleta editorial */
.social-icons-contact-info img,
.girlsingle .contact img[src*="facebook"],
.girlsingle .contact img[src*="instagram"] {
  width: 22px;
  height: 22px;
  opacity: 0.7;
  filter: grayscale(100%);
  transition: opacity 0.25s ease, filter 0.25s ease, transform 0.25s ease;
}

.social-icons-contact-info img:hover,
.girlsingle .contact img[src*="facebook"]:hover,
.girlsingle .contact img[src*="instagram"]:hover {
  opacity: 1;
  filter: grayscale(0%); /* Vuelven a su color al interactuar */
  transform: translateY(-2px);
}

.girlsingle .valuecolumn {
  width: 50%;
  display: block;
  float: left;
  color: var(--text-color);
}

.girlsingle .girlinfo .section-box {
  width: 50%;
  float: left;
  padding-top: 15px;
}

.girlinfo .section-box b,
.girlinfo .section-box .valuecolumn {
  width: 100%;
}

.girlinfo .section-box b {
  font-size: 0.85em;
  font-weight: 700;
  color: var(--accent-color);
  text-transform: uppercase;
}

.girlsingle .girlinfo .favbutton,
.girlsingle .girlinfo .addreview-button {
  display: inline-block;
  margin: 5px;
}

.girlsingle.agency-profile .addreview {
  margin-right: 10px;
  margin-bottom: 10px;
}

.girlsingle.agency-profile .profile-header {
  width: 100%;
  text-align: center;
}

.girlsingle.agency-profile .profile-header .profile-title {
  color: var(--text-color);
  font-size: 2em;
  cursor: default;
  padding-bottom: 20px;
  display: inline-block;
}

.girlsingle.agency-profile .profile-header .online-status {
  padding: 0;
  margin-top: -20px;
  padding-bottom: 20px;
}

.girlsingle.agency-profile .bigimage {
  padding: 0 20px 0 0;
  max-width: 320px;
  width: 40%;
}

.girlsingle.agency-profile .agencydetails {
  width: 50%;
  float: left;
}

.girlsingle.agency-profile .agencydetails.agencydetails-noimg {
  float: right;
  padding-left: 20px;
  padding-top: 30px;
}

.girlsingle .contact span a {
  color: var(--accent-color);
}

.girlsingle .escortcontact {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 12px;
}

.girlsingle .girlinfo .services {
  clear: both;
}

.girlsingle .girlinfo .services div {
  padding: 4px 0;
}

/* Servicios: Estética Editorial unificada con el tema activo */
.girlsingle .girlinfo .services .icon-ok { 
  color: var(--accent-color) !important; 
}
.girlsingle .girlinfo .services .icon-cancel { 
  color: var(--text-muted) !important; 
  opacity: 0.45 !important; 
}

.girlsingle .review-wrapper .starrating,
.agency-reviews-bodybox .review-wrapper .starrating {
  margin-top: 5px;
}

.review .addedby {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 4px 10px;
  margin-bottom: 6px;
  float: left;
  color: var(--text-muted);
}

.review .addedby b,
.review .addedby a {
  color: var(--text-color);
}

.review .reviewtext p { margin-top: 0; }

.addreviewform textarea {
  margin-bottom: 5px;
  padding: 10px;
  width: 530px;
  height: 100px;
  max-width: 100%;
  background: var(--bg-color);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  border-radius: 8px;
}

.addreviewform .starratingoption {
  width: 572px;
  max-width: 100%;
  margin: 0 auto;
  padding-bottom: 8px;
}

.allreverr,
.girlsingle_all_reviews {
  display: none;
}

.girlsingle_all_reviews #preloader {
  background-color: var(--surface-subtle);
  padding: 10px;
  color: var(--text-color);
}

/* Botón y formulario de reportar perfil */
.report-profile-wrapper {
  width: 100%;
  clear: both;
  padding-top: 20px;
}

.report-profile-wrapper .report-profile-button {
  float: right;
}

.report-profile-wrapper .report-profile-reason-wrapper {
  display: none;
  background: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 15px;
  text-align: center;
}

.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form {
  padding: 15px;
  max-width: 500px;
  display: inline-block;
}

.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form label,
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .form-input {
  padding-bottom: 15px;
}

.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button {
  font-size: 1.05em;
}

.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button .icon {
  font-size: 0.9em;
}

.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button .label-working { display: none; }
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button.working .label-normal { display: none; }
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button.working { background: var(--text-muted); cursor: default; }
.report-profile-wrapper .report-profile-reason-wrapper .report-profile-reason-form .submit-button.working .label-working { display: inherit; }

.image-next-to-review { margin-right: 20px; }

/* Registro completado */
.registrationcomplete {
  text-align: center;
  padding: 20px;
  line-height: 1.7em;
}

.registrationcomplete .registrationcomplete-title {
  font-size: 2em;
  line-height: 1.8em;
  padding: 0 20px;
  font-weight: 700;
  color: #10B981;
}

.registrationcomplete #resendvalidationlink { font-size: 1.2em; }
.registrationcomplete .change-email-address { text-align: center; }

.registrationcomplete .change-email-address .change-email-button {
  display: inline-block;
  font-size: 0.9em;
  line-height: 1.7em;
  padding: 0 10px;
}

.registrationcomplete .change-email-address-form {
  max-width: 600px;
  display: none;
}

/* --- ESTILOS DE FORMULARIOS GLOBALES (.form-styling) --- */
.form-styling .form-label {
  width: 34%;
  float: left;
  color: var(--text-color);
}

.form-styling .form-label.col100 { width: 100%; }
.form-styling .form-label label { display: block; line-height: 40px; }
.form-styling .form-label label.with-help { line-height: 1.4em; }

.form-styling .form-input.available-on label {
  line-height: 2em;
  float: left;
  padding-right: 20px;
  font-weight: 600;
}

.form-styling .form-input.available-on label .icon {
  font-size: 2em;
  vertical-align: middle;
}

.form-styling .form-label small,
.form-styling .form-input small {
  color: var(--text-muted);
  display: block;
}

.form-styling .form-label label i,
.form-styling .mandatory i,
.form-styling .form-label small i,
.form-styling .form-input small i {
  color: #DC2626;
  font-style: normal;
}

.form-styling .form-input {
  width: 64%;
  float: right;
}

.form-styling .form-input.col100 { width: 100%; }

.form-styling .form-input .input,
.form-styling .form-input .textarea,
.form-styling .form-input select,
.ui-datepicker select {
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  color: var(--text-color);
  box-sizing: border-box;
  max-width: 100%;
  transition: border-color 0.2s ease;
}

.form-styling .form-input .input.col100,
.form-styling .form-input .textarea.col100,
.form-styling .form-input select.col100 {
  width: 100%;
}

.form-styling .form-input .longinput { width: 85%; }
.form-styling .form-input .smallinput { width: 100px; }
.form-styling .form-input .longtextarea { width: 100%; resize: vertical; }

.form-styling .form-input .input {
  padding: 0 12px;
  line-height: 40px;
  height: 40px;
  font-size: 1em;
}

.form-styling .form-input .textarea {
  font-size: 1em;
  padding: 10px 12px;
}

.form-styling .form-input .input:focus,
.form-styling .form-input .textarea:focus,
.form-styling .form-input select:hover,
.ui-datepicker select:hover {
  border-color: var(--accent-color);
}

.form-styling .form-input select {
  padding: 8px 10px;
  font-size: 1em;
  cursor: pointer;
}

.form-styling .form-input select option {
  padding: 2px 8px;
  background-color: var(--bg-color);
  color: var(--text-color);
}

.form-styling .form-input select option:disabled {
  color: var(--text-muted);
  background: var(--surface-subtle);
}

.form-styling .form-input-rating label {
  line-height: 2em;
  margin: 2px 0;
  padding-right: 10px;
  display: inline-block;
}

.form-styling .form-input-rating label input { margin-right: 7px; }

.form-styling .formseparator {
  clear: both;
  height: 24px;
}

.form-styling .form-input label,
.form-styling .form-input input[type=radio],
.form-styling .form-input input[type=checkbox] {
  cursor: pointer;
}

.form-styling .fieldset {
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 14px;
  color: var(--text-color);
}

.form-styling .fieldset small { color: var(--text-muted); }

.form-styling .fieldset legend {
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 20px;
  font-size: 0.85em;
  text-transform: uppercase;
  line-height: 1.9em;
  padding: 0 14px;
  font-weight: 700;
  color: var(--accent-color);
}

.form-styling .fieldset a {
  color: var(--accent-color);
  text-decoration: underline;
  font-weight: 600;
}

.edit-payment-link-wrapper a.post-edit-link {
  border-radius: 25px;
  background: var(--surface-subtle);
  border: 1px solid var(--border-color);
  text-decoration: none;
  color: var(--accent-color);
  line-height: 2em;
  display: inline-block;
  padding: 0 15px;
}

.form-styling input[type=submit] {
  font-size: 1.1em;
  line-height: 2.2em;
  padding: 0 24px;
  border-radius: 25px;
  font-weight: 700;
}

.form-styling .form-input .charcount { position: relative; }

.form-styling .form-input #bar {
  float: left;
  background-color: var(--accent-color);
  width: 0px;
  height: 14px;
}

.form-styling .form-input #barbox {
  float: right;
  height: 16px;
  background-color: var(--surface-subtle);
  width: 100px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
  margin-right: 3px;
  overflow: hidden;
}

.form-styling .form-input #count {
  float: right;
  margin-right: 8px;
  font-size: 0.8em;
  font-weight: 600;
}

.form-styling .form-input-accept-tos-err label {
  border: 2px solid #DC2626;
  padding: 5px 8px;
  border-radius: 6px;
}

.form-styling .form-label span.checkusererr { color: #DC2626; }
.form-styling .form-label span.checkuserok { color: #10B981; }

.form-styling .form-input .rates {
  padding-bottom: 10px;
  width: 100%;
}

.form-styling .form-input .rates .rates-label,
.form-styling .form-input .currency-label-text {
  line-height: 40px;
  text-align: right;
  padding-right: 20px;
}

.form-styling .form-input .rates .hide-incall,
.form-styling .form-input .rates .hide-outcall,
.form-styling .form-input .currency-label-dropdown {
  padding-right: 20px;
}

.form-styling .form-input .err,
.form-styling .form-input .ok {
  padding: 4px 10px;
}

.agency-location-form .title-label,
.tours-page .title-label {
  line-height: 2.2em;
  display: inline-block;
  vertical-align: top;
  padding-right: 10px;
}

/* Ajustes de Página de Pagos y Sitios (Admin) */
.payment-settings-page .payment-sandbox-toggle { cursor: pointer; }
.payment-settings-page .payment-sandbox-toggle span { float: left; }
.payment-settings-page .payment-sandbox-toggle .label { font-size: 1.5em; }
.payment-settings-page .payment-sandbox-toggle .toggle { font-size: 2em; padding: 0 8px; display: none; color: var(--accent-color); }
.payment-settings-page .payment-sandbox-toggle-live .icon-toggle-on1,
.payment-settings-page .payment-sandbox-toggle-sandbox .icon-toggle-on2 { display: inherit; }

.payment-settings-page .payment-settings-step {
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 20px;
  margin-bottom: 20px;
}

.payment-settings-page .payment-settings-step .payment-settings-step-title {
  color: var(--accent-color);
  padding-bottom: 10px;
  font-weight: 700;
}

.payment-settings-page .choose-payment-processor-wrapper .choose-payment-processor-content { line-height: 2.6em; }

.payment-settings-page .choose-payment-processor-wrapper .current-payment-processor,
.payment-settings-page .payment-processor-settings-wrapper .selected-payment-processor {
  padding: 2px 15px;
  margin-left: 10px;
  font-size: 1.2em;
  background: var(--accent-color);
  color: var(--accent-contrast);
  border-radius: 20px;
  font-weight: 700;
  cursor: default;
}

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list { padding-top: 20px; }
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor { width: 33.333%; padding: 10px 7px; }

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content {
  position: relative;
  text-align: center;
  cursor: pointer;
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 15px 0;
  background: var(--surface-subtle);
}

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content:hover {
  border-color: var(--accent-color);
}

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo { height: 40px; }
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo span { line-height: 40px; display: block; font-weight: 700; font-size: 1.3em; }
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo span.none { color: #DC2626; }
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo span.other { color: var(--accent-color); }
.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .logo img { height: 40px; }

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .checkmark {
  position: absolute;
  top: -10px;
  right: -7px;
  font-size: 2em;
  color: #10B981;
  display: none;
}

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content-selected {
  border: 1px solid #10B981;
}

.payment-settings-page .choose-payment-processor-wrapper .payment-processors-list .one-payment-processor .one-payment-processor-content-selected .checkmark {
  display: inherit;
}

.payment-settings-page .payment-processor-settings-content .payment-processor-details { line-height: 1.5em; }
.payment-settings-page .payment-processor-settings-content .payment-processor-details h3 { padding-bottom: 5px; }
.payment-settings-page .form-label label { padding-top: 10px; }
.payment-settings-page .form-label label.nopadding { padding-top: 0; }
.payment-settings-page .form-input .longinput { width: 100%; }

/* Lienzo de previsualización de logos y marcas de agua (Canvas de transparencia técnico) */
.site-settings-page .showsitelogo,
.content-settings-page .showwatermarklogo {
  background-color: var(--surface-subtle) !important;
  background-image: 
    linear-gradient(45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%), 
    linear-gradient(-45deg, rgba(0, 0, 0, 0.05) 25%, transparent 25%), 
    linear-gradient(45deg, transparent 75%, rgba(0, 0, 0, 0.05) 75%), 
    linear-gradient(-45deg, transparent 75%, rgba(0, 0, 0, 0.05) 75%) !important;
  background-size: 16px 16px !important;
  background-position: 0 0, 0 8px, 8px -8px, -8px 0 !important;
  border: 1px solid var(--border-color) !important;
  border-radius: var(--radio-tarjetas) !important;
  margin-bottom: 14px !important;
  padding: 30px 20px !important;
  text-align: center !important;
  overflow: hidden !important;
}

[data-theme="dark"] .site-settings-page .showsitelogo,
[data-theme="dark"] .content-settings-page .showwatermarklogo {
  background-color: #121216 !important;
  background-image: 
    linear-gradient(45deg, rgba(255, 255, 255, 0.04) 25%, transparent 25%), 
    linear-gradient(-45deg, rgba(255, 255, 255, 0.04) 25%, transparent 25%), 
    linear-gradient(45deg, transparent 75%, rgba(255, 255, 255, 0.04) 75%), 
    linear-gradient(-45deg, transparent 75%, rgba(255, 255, 255, 0.04) 75%) !important;
  border-color: rgba(212, 175, 55, 0.25) !important;
}

.site-settings-page .showsitelogo img { max-width: 100%; }
.site-settings-page .change-website-design .one-design { padding: 10px; }
.site-settings-page .formseparator { height: 30px; }
.site-settings-page .submit_button_container .loader,
.site-settings-page .delete_demo_data_button_container .loader { display: inline-block; }

.content-settings-page .watermark-position-box label {
  font-size: 0.8em;
  padding: 5px;
  line-height: 1em;
  width: 33.33%;
}
.content-settings-page .watermark-position-box label .checkator_holder { margin-bottom: 3px !important; }

/* Subida de imágenes en registro, City Tours y Blacklist */
.uploadifive-button * { cursor: pointer; }
.uploadifive-button { white-space: nowrap; }
.deletesitelogo { line-height: 30px; }

.uploadifive-queue-item {
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  font-size: 11px;
  margin-top: 5px;
  padding: 10px;
  color: var(--text-color);
  border-radius: 6px;
}

/* Botón cancelar subida: Aspa vectorial SVG (0 peticiones HTTP) */
.uploadifive-queue-item .close {
  display: block;
  float: right;
  width: 16px;
  height: 16px;
  text-indent: -9999px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 14px 14px;
  opacity: 0.75;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.uploadifive-queue-item .close:hover {
  opacity: 1;
  transform: scale(1.15);
}

.uploadifive-queue-item .progress { margin-top: 10px; width: 100%; }
.uploadifive-queue-item .progress-bar { background-color: #10B981; height: 3px; width: 0px; }

.upload_photos_page .girl { margin-right: 5px; width: 100%; text-align: center; }
.upload_photos_page .girl span { padding: 4px; background: var(--surface-subtle); position: relative; display: inline-block; border-radius: 8px; }
.upload_photos_page .girl span.selected { background-color: var(--accent-color); }

/* Micro-cápsulas vectoriales de gestión fotográfica (0 peticiones HTTP) */
.upload_photos_page .girl span i,
.upload_photos_page .girl span em {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: absolute !important;
  width: 34px !important;
  height: 34px !important;
  cursor: pointer !important;
  text-indent: -9999px !important;
  border-radius: 50% !important;
  background-color: rgba(15, 15, 18, 0.78) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.45) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 16px 16px !important;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.upload_photos_page .girl span i:hover,
.upload_photos_page .girl span em:hover {
  transform: scale(1.12) !important;
}

/* Botón Borrar: Aspa Coral con bisel fino */
.upload_photos_page .girl span i { 
  top: 8px !important; 
  right: 8px !important; 
  border: 1px solid rgba(239, 68, 68, 0.5) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important; 
}
.upload_photos_page .girl span i:hover {
  border-color: #EF4444 !important;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.4) !important;
}

/* Botón Portada VIP: Checkmark Oro Champán con bisel fino */
.upload_photos_page .girl span em { 
  top: 8px !important; 
  right: 48px !important; /* Alineado armónicamente al lado del botón de borrar */
  left: auto !important;
  border: 1px solid rgba(212, 175, 55, 0.5) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") !important; 
}
.upload_photos_page .girl span em:hover {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 12px rgba(212, 175, 55, 0.4) !important;
}
.upload_photos_page img { vertical-align: middle; }

.upload_photos_page .image_msg {
  color: #10B981;
  text-align: center;
  display: none;
  font-size: 16px;
  font-weight: 700;
}

.upload_photos_form .image_msg { padding: 0 15px; }
.agency-page .upload_photos_form { text-align: center; }
.agency-page .upload_photos_form .upload_photos_button { display: inline-block; }
.agency-page h4.logo-used { text-align: center; border: none; }

.agency-page .button-delete {
  cursor: pointer;
  background: var(--surface-subtle);
  border: 1px solid var(--border-color);
  font-size: 0.8em;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 6px;
}

.addedtours,
.addedblacklistedclients {
  border-top: 1px solid var(--border-color);
}

.addedtours .tour,
.addedblacklistedclients .blacklistedclients {
  border-bottom: 1px solid var(--border-color);
  float: left;
  display: block;
  width: 100%;
}

.addedtours .tour div,
.addedblacklistedclients .blacklistedclients div {
  display: block;
  float: left;
  line-height: 30px;
}

.addedtours .tour div { height: 30px; overflow: hidden; }
.addedtours .tourhead,
.addedblacklistedclients .clienthead {
  color: var(--accent-color);
  font-weight: 700;
}

.addedtours .tour .addedstart,
.addedtours .tour .addedend,
.addedtours .tour .addedemail { width: 120px; }
.addedtours .tour .addedplace { width: 240px; }
.addedtours .tour .addedphone { width: 140px; }
.addedtours .tour .addedbuttons { width: 55px; float: right; position: relative; overflow: visible; }
.addedtours .tour .addedbuttons .pb { position: absolute; right: 0; top: 2px; }
.addedtours .tour .addedbuttons .pb .payment-button { white-space: nowrap; line-height: 1em; font-size: 1em; display: block; color: #FFF; }
.addedtours .tour-info-mobile,
.addedtours .tour-info-mobile-clear { display: none; }
.addedtours .tour-info-mobile { padding-right: 5px; font-weight: 700; }

.deletemsg {
  color: #10B981;
  text-align: right;
  display: none;
  font-size: 14px;
  font-weight: 700;
}

.addedtours .tour .addedbuttons i,
.addedtours .tour .addedbuttons em,
.addedtours .tour .addedbuttons b {
  display: block;
  width: 20px;
  height: 20px;
  text-indent: -9999px;
  cursor: pointer;
  line-height: 20px;
  margin-top: 5px;
}

.addedtours .tour .addedbuttons i { 
  float: left; 
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 14px 14px !important;
}
/* Botón editar tour: Lápiz monolineal vectorial SVG */
.addedtours .tour .addedbuttons em { 
  float: right; 
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 15px 15px !important;
  transition: transform 0.2s ease !important;
}

.addedtours .tour .addedbuttons em:hover {
  transform: scale(1.15);
}
.addedtours .tour .addedbuttons b { float: right; background: url(i/small-loader.gif) center no-repeat; }

.addedblacklistedclients .blacklistedclients .addedemail,
.addedblacklistedclients .blacklistedclients .addedphone { width: 20%; }
.addedblacklistedclients .blacklistedclients .addednote { width: 60%; }
.addedblacklistedclients .blacklistedclients .addedbuttons { float: right; }
.addedblacklistedclients .blacklistedclients .addedbuttons .icon { float: right; display: block; cursor: pointer; font-size: 1.3em; }
.addedblacklistedclients .blacklistedclients .addedbuttons .button-delete,
.upload_verified_photo .button-delete { color: #DC2626; }
.addedblacklistedclients .blacklistedclients .addedbuttons .button-delete:hover { background-color: #DC2626; color: #FFF; }
.addedblacklistedclients .blacklistedclients .addedbuttons .button-edit { color: var(--accent-color); margin-left: 15px; }
.addedblacklistedclients .blacklistedclients .addedbuttons .button-edit:hover { color: var(--accent-contrast); background-color: var(--accent-color); }

.addnewescortform,
.searchescortform,
.searchescortform label i,
.agency_options_dropdowns {
  display: none;
}

.closebtn { padding: 0 4px 0 8px; font-weight: 700; }
.closebtn .label { line-height: 1.5em; }
.closebtn .icon { line-height: 1.6em; float: right; }

.closebtn_box {
  position: absolute;
  top: -5px;
  right: -3px;
  cursor: pointer;
  color: #FFFFFF;
  font-size: 1.2em;
  background: #DC2626;
  border-radius: 50%;
  line-height: 1.2em;
  width: 1.3em;
  height: 1.3em;
  text-align: center;
}

.closebtn_box .icon { line-height: 1.2em; }
.closebtn_box .icon::before { margin: 0; }
.closebtn_box:hover { background: var(--surface-subtle); color: #DC2626; }

/* Opciones de Agencia y Lightbox en Single Page */
.agency_options_delete .submitbutton { font-size: 1.1em; }

.girlsingle .thumbs .profile-video-thumb-wrapper,
.girlsingle .thumbs .profile-img-thumb-wrapper {
  width: 16.66%;
  padding-right: 6px;
  padding-bottom: 6px;
  display: inline-block;
}

.girlsingle .thumbs .profile-img-thumb { position: relative; }

.girlsingle .thumbs .profile-img-thumb img {
  width: 100%;
  cursor: zoom-in;
  border: 1px solid var(--border-color);
  border-radius: 8px;
}

.agency_options_add_logo .profile-img-thumb { position: relative; }

.agency_options_add_logo .profile-img-thumb .edit-buttons,
.girlsingle .thumbs .profile-img-thumb .edit-buttons,
.girlsingle .thumbs .profile-video-thumb .edit-buttons {
  position: absolute;
  display: block;
  top: 5px;
  right: 5px;
  left: 5px;
  font-size: 1em;
  z-index: 1;
}

.agency_options_add_logo .profile-img-thumb .edit-buttons .icon,
.girlsingle .thumbs .edit-buttons .icon {
  cursor: pointer;
  background-color: var(--bg-color);
  border: 1px solid var(--border-color);
  border-radius: 50%;
  float: right;
  margin-left: 10px;
  width: 33px;
  height: 33px;
  line-height: 32px;
  font-size: 1.3em;
}

.girlsingle .thumbs .profile-video-thumb {
  border: 1px solid var(--border-color);
  border-radius: 8px;
  position: relative;
  width: 100%;
}

.girlsingle .thumbs .profile-video-thumb .video-image-play { width: 100%; padding: 20px; }

.girlsingle .thumbs .profile-video-thumb .video-processing {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #DC2626;
  text-align: center;
  color: #FFFFFF;
  line-height: 1em;
  padding: 3px 0;
}

.fancybox-content { padding: 44px 5px !important; }
.fancybox-container { z-index: 99999 !important; }
.video-player-lightbox { height: 100%; }
.video-player-lightbox .wp-video,
.video-player-lightbox .wp-video .wp-video-shortcode { display: inline-block; overflow: hidden; }

.girlsingle .edit-buttons .button-main-image { 
  color: #D4AF37 !important; 
  border-color: rgba(212, 175, 55, 0.4) !important; 
}
.girlsingle .edit-buttons .button-main-image:hover { 
  color: #0F0F12 !important; 
  background-color: #D4AF37 !important; 
}
.girlsingle .edit-buttons .button-delete { 
  color: #EF4444 !important; 
  border-color: rgba(239, 68, 68, 0.4) !important; 
}
.girlsingle .edit-buttons .button-delete:hover { 
  color: #FFFFFF !important; 
  background-color: #DC2626 !important; 
}

.image_msg_girl_single {
  color: #FFFFFF;
  background-color: #10B981;
  font-weight: 700;
  display: block;
  text-align: center;
  border-radius: 6px;
}

/* ==========================================================================
   LEYENDA DE ESTADOS EN PANEL DE AGENCIA (DASHBOARD VIP)
   0 peticiones HTTP | CSS Puro | Adaptativo a Clean y Midnight
   ========================================================================== */

.agency-status-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 24px;
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  padding: 12px 18px;
  margin: 12px 0 16px 0;
  font-size: 0.88rem;
  color: var(--text-muted);
  box-sizing: border-box;
}

.agency-status-legend .legend-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  color: var(--text-color);
}

/* Indicadores circulares (Réplicas idénticas a los de las fotos) */
.status-dot-indicator {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  box-sizing: border-box;
}

/* Estado Activo: Esmeralda con micro-halo */
.status-dot-indicator.is-active {
  background-color: #10B981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
}

/* Estado Inactivo: Carbón atenuado */
.status-dot-indicator.is-inactive {
  background-color: #6B6B76;
  border-color: rgba(255, 255, 255, 0.15);
}

/* Texto de ayuda explicativo */
.agency-status-legend .legend-hint {
  font-size: 0.82rem;
  color: var(--text-muted);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: auto; /* Empuja el aviso a la derecha en escritorio */
}

.agency-status-legend .legend-hint .icon {
  color: var(--accent-color);
  font-size: 0.95rem;
}

/* Adaptación fluida en móvil */
@media (max-width: 768px) {
  .agency-status-legend {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
  }
  .agency-status-legend .legend-hint {
    margin-left: 0;
    padding-top: 4px;
    border-top: 1px dashed var(--border-color);
    width: 100%;
  }
}

.manage_escorts_page .thumb i {
  display: block;
  position: absolute;
  height: 20px;
  width: 20px;
  cursor: pointer;
  text-indent: -9999px;
  top: 4px;
  left: 4px;
  border: 1px solid var(--border-color);
  border-radius: 4px;
}

/* Indicadores de estado de perfiles en panel de agencias (CSS Puro, 0 KB) */
.manage_escorts_page .thumb i {
  display: block;
  position: absolute;
  top: 6px;
  left: 6px;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  cursor: pointer;
  text-indent: -9999px;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.manage_escorts_page .thumb i:hover {
  transform: scale(1.2);
}

/* Estado Activo: Esmeralda con micro-halo */
.manage_escorts_page .thumb i.girlactive { 
  background-color: #10B981 !important; 
  background-image: none !important;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6) !important;
}

/* Estado Inactivo: Gris carbón atenuado (discreto, no punitivo) */
.manage_escorts_page .thumb i.girlinactive { 
  background-color: #6B6B76 !important; 
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}
.manage_escorts_page .thumb i:hover { border-color: var(--accent-color); }

.manage_escorts_page .thumb i.girlsetinactive,
.manage_escorts_page .thumb i.girlsetactive {
  text-indent: 0;
  background-color: var(--bg-color);
  padding: 3px 6px;
  background-image: none;
  cursor: default;
  white-space: nowrap;
}
.manage_escorts_page .thumb i.girlsetinactive { color: #DC2626; }
.manage_escorts_page .thumb i.girlsetactive { color: #10B981; }
.manage_escorts_page img { vertical-align: bottom; }

/* ==========================================================================
   VALORACIÓN POR ESTRELLAS VECTORIAL (STAR RATING LUXURY SYSTEM)
   0 peticiones HTTP | Sprites SVG Data-URI | Nitidez Retina 4K
   Llenas: Oro Champán (#D4AF37) | Vacías: Sello translúcido (Sin azul cian)
   ========================================================================== */

/* 1. Módulo Estándar / Reseñas (19px × 16px por estrella) */
.starrating {
  height: 16px !important;
  width: 95px !important;
  /* Fondo: Estrellas vacías en vector dorado sutil */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='32' viewBox='0 0 19 32'%3E%3Cpath d='M9.5 1.2 L11.4 5.5 L16.1 5.9 L12.5 9.1 L13.6 13.7 L9.5 11.3 L5.4 13.7 L6.5 9.1 L2.9 5.9 L7.6 5.5 Z' fill='%23D4AF37'/%3E%3Cpath d='M9.5 17.2 L11.4 21.5 L16.1 21.9 L12.5 25.1 L13.6 29.7 L9.5 27.3 L5.4 29.7 L6.5 25.1 L2.9 21.9 L7.6 21.5 Z' fill='rgba(212,175,55,0.08)' stroke='%23D4AF37' stroke-opacity='0.38' stroke-width='1.1'/%3E%3C/svg%3E") bottom left repeat-x !important;
}

.starrating .starrating_stars {
  height: 16px !important;
  /* Capa superior: Estrellas llenas en Oro Champán */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='32' viewBox='0 0 19 32'%3E%3Cpath d='M9.5 1.2 L11.4 5.5 L16.1 5.9 L12.5 9.1 L13.6 13.7 L9.5 11.3 L5.4 13.7 L6.5 9.1 L2.9 5.9 L7.6 5.5 Z' fill='%23D4AF37'/%3E%3Cpath d='M9.5 17.2 L11.4 21.5 L16.1 21.9 L12.5 25.1 L13.6 29.7 L9.5 27.3 L5.4 29.7 L6.5 25.1 L2.9 21.9 L7.6 21.5 Z' fill='rgba(212,175,55,0.08)' stroke='%23D4AF37' stroke-opacity='0.38' stroke-width='1.1'/%3E%3C/svg%3E") top left repeat-x !important;
}

.starrating .star0  { display: none !important; }
.starrating .star1  { width: 19px !important; }
.starrating .star15 { width: 27px !important; }
.starrating .star2  { width: 38px !important; }
.starrating .star25 { width: 46px !important; }
.starrating .star3  { width: 57px !important; }
.starrating .star35 { width: 65px !important; }
.starrating .star4  { width: 76px !important; }
.starrating .star45 { width: 84px !important; }
.starrating .star5  { width: 95px !important; }

/* Calificación negativa / Penalización pequeña (Rojo Coral #EF4444) */
.starrating .star6 {
  width: 19px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='16' viewBox='0 0 19 16'%3E%3Cpath d='M9.5 1.2 L11.4 5.5 L16.1 5.9 L12.5 9.1 L13.6 13.7 L9.5 11.3 L5.4 13.7 L6.5 9.1 L2.9 5.9 L7.6 5.5 Z' fill='%23EF4444'/%3E%3C/svg%3E") center left repeat-x !important;
}

/* 2. Módulo Grande / Ficha de Perfil (42px × 40px por estrella) */
.profilestarrating-wrapper {
  margin: 0 auto;
  text-align: center;
}

.profilestarrating-wrapper .label {
  font-size: 1.1em;
  font-weight: 700;
  color: var(--text-color);
}

.girlsingle .girlinfo .starrating {
  display: inline-block;
}

.profilestarrating-wrapper .starrating {
  height: 40px !important;
  width: 210px !important;
  /* Fondo: Estrellas vacías grandes */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='80' viewBox='0 0 42 80'%3E%3Cpath d='M21 3 L25.6 13.7 L37.2 14.8 L28.4 22.4 L31 33.8 L21 27.8 L11 33.8 L13.6 22.4 L4.8 14.8 L16.4 13.7 Z' fill='%23D4AF37'/%3E%3Cpath d='M21 43 L25.6 53.7 L37.2 54.8 L28.4 62.4 L31 73.8 L21 67.8 L11 73.8 L13.6 62.4 L4.8 54.8 L16.4 53.7 Z' fill='rgba(212,175,55,0.08)' stroke='%23D4AF37' stroke-opacity='0.38' stroke-width='1.5'/%3E%3C/svg%3E") bottom left repeat-x !important;
}

.profilestarrating-wrapper .starrating .starrating_stars {
  height: 40px !important;
  /* Capa superior: Estrellas llenas grandes en Oro Champán */
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='80' viewBox='0 0 42 80'%3E%3Cpath d='M21 3 L25.6 13.7 L37.2 14.8 L28.4 22.4 L31 33.8 L21 27.8 L11 33.8 L13.6 22.4 L4.8 14.8 L16.4 13.7 Z' fill='%23D4AF37'/%3E%3Cpath d='M21 43 L25.6 53.7 L37.2 54.8 L28.4 62.4 L31 73.8 L21 67.8 L11 73.8 L13.6 62.4 L4.8 54.8 L16.4 53.7 Z' fill='rgba(212,175,55,0.08)' stroke='%23D4AF37' stroke-opacity='0.38' stroke-width='1.5'/%3E%3C/svg%3E") top left repeat-x !important;
}

.profilestarrating-wrapper .starrating .star0  { display: none !important; }
.profilestarrating-wrapper .starrating .star1  { width: 42px !important; }
.profilestarrating-wrapper .starrating .star15 { width: 63px !important; }
.profilestarrating-wrapper .starrating .star2  { width: 84px !important; }
.profilestarrating-wrapper .starrating .star25 { width: 105px !important; }
.profilestarrating-wrapper .starrating .star3  { width: 126px !important; }
.profilestarrating-wrapper .starrating .star35 { width: 147px !important; }
.profilestarrating-wrapper .starrating .star4  { width: 168px !important; }
.profilestarrating-wrapper .starrating .star45 { width: 189px !important; }
.profilestarrating-wrapper .starrating .star5  { width: 210px !important; }

/* Calificación negativa grande (Rojo Coral #EF4444) */
.profilestarrating-wrapper .starrating .star6 {
  width: 42px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='40' viewBox='0 0 42 40'%3E%3Cpath d='M21 3 L25.6 13.7 L37.2 14.8 L28.4 22.4 L31 33.8 L21 27.8 L11 33.8 L13.6 22.4 L4.8 14.8 L16.4 13.7 Z' fill='%23EF4444'/%3E%3C/svg%3E") center left repeat-x !important;
}

.onereview .starrating,
.onereview .starrating * {
  display: block;
}


/* ==========================================================================
   BLOQUE 8: TABLAS, BLOG, REGISTRO, FOOTER, POPUP +18, PAGINACIÓN Y LOGIN
   ========================================================================== */

/* Listado de Usuarios y Agencias */
.edit-user-types .tabs .tab {
  color: var(--text-muted);
  background: var(--surface-subtle);
  line-height: 2.2em;
  font-size: 1.1em;
  border-top: 3px solid transparent;
  border-bottom: 1px solid var(--border-color);
  display: block;
  float: left;
  text-align: center;
  width: 33.33%;
}

.edit-user-types .tabs .tab-active,
.edit-user-types .tabs .tab-active:hover {
  background: var(--bg-color);
  color: var(--accent-color);
  border-top: 3px solid var(--accent-color);
  font-weight: 700;
}

.edit-user-types .see-all-users-table,
.listagencies {
  width: 100%;
  border-collapse: collapse;
}

.edit-user-types .see-all-users-table th,
.listagencies .trhead th {
  background: var(--surface-subtle);
  color: var(--text-color);
  padding: 8px;
  border-bottom: 1px solid var(--border-color);
}

.listagencies .trhead th { text-align: left; }

.edit-user-types .see-all-users-table .colored-row,
.listagencies .whiterow {
  background: var(--surface-subtle);
}

.agencytrgray { background-color: var(--bg-color); }

.edit-user-types .see-all-users-table td {
  padding: 8px 4px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid var(--border-color);
}

.edit-user-types .see-all-users-table td .email-not-validated {
  background: #DC2626;
  color: #FFFFFF;
  padding: 2px 6px;
  border-radius: 4px;
  margin: 0 auto;
}

.listagencies .agencytr { border-bottom: 1px solid var(--border-color); }
.listagencies .agencytr td { line-height: 34px; padding: 0 8px; }
.listagencies .agencytr td a { color: var(--accent-color); font-weight: 700; }
.listagencies .agencytr td a:hover { color: var(--accent-hover); text-decoration: underline; }

.agencydetails { width: 57%; line-height: 25px; }
.agencydetails a { color: var(--accent-color); }
.agencydetails b { display: block; width: 40%; float: left; color: var(--text-muted); }
.agencydetails br { clear: both; }
.agencydetails .darkredbutton { line-height: 20px; }

/* Footer y Enlaces Inferiores */
/* ==========================================================================
   FOOTER UNIVERSAL: SISTEMA DE PASTILLAS (TOUCH-FRIENDLY & LUXURY)
   ========================================================================== */

.footer {
  background-color: var(--bg-color);
  color: var(--text-color);
  border-top: 1px solid var(--border-color);
  padding: 40px 20px 20px 20px; /* Más aire y respiración premium */
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

@media (min-width: 640px) {
  .footer {
    max-width: calc(100% - 502px);
    margin: 0 auto;
  }
}

/* Limpieza de contenedores de widgets para alinear las columnas */
.footer .widgetbox {
  margin-bottom: 30px;
}

/* Títulos de las columnas (ENCUENTRA COMPAÑÍA, LEGAL Y SOPORTE, etc.) */
.footer .widgetbox h4 {
  color: var(--text-color);
  font-size: 0.88rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 16px;
  border-bottom: 2px solid var(--surface-subtle);
  padding-bottom: 10px;
}

/* Contenedor Flexbox para transformar listas en nubes de etiquetas */
.footer .widgetbox ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none !important;
}

/* Eliminamos líneas punteadas antiguas, bullets y márgenes sucios */
.footer .widgetbox ul li {
  display: inline-flex;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important; 
}
.footer .widgetbox ul li::before,
.footer .widgetbox ul li::after {
  display: none !important;
}

/* El botón / Pastilla (La magia táctil y visual) */
.footer .widgetbox ul li a {
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  background-color: var(--surface-subtle);
  color: var(--text-muted);
  border: 1px solid var(--border-color);
  border-radius: 25px; /* Aspecto redondeado moderno */
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
  transition: all 0.25s ease;
}

/* Efecto al pasar el ratón (Se ilumina con el color de la marca) */
.footer .widgetbox ul li a:hover {
  background-color: var(--accent-color);
  color: var(--accent-contrast) !important;
  border-color: var(--accent-color);
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* Limpieza de iconos nativos dentro de las pastillas (ej. icono de correo) */
.footer .widgetbox ul li a i,
.footer .widgetbox ul li a .icon,
.footer .widgetbox ul li a img {
  margin-right: 6px;
  font-size: 1.1em;
  opacity: 0.8;
}

/* Sub-footer oscuro (Copyright y cierre de página) */
.underfooter {
  clear: both;
  background-color: var(--header-bg); /* Fondo nocturno profundo siempre */
  color: var(--text-muted);
  text-align: center;
  padding: 16px 20px;
  font-size: 0.85rem;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.underfooter .l {
  float: none; /* Centra el texto del copyright correctamente */
  display: block;
  line-height: 24px;
}

.underfooter a {
  color: #FFFFFF;
  font-weight: 600;
}
.underfooter a:hover {
  color: var(--accent-color);
}

/* ==========================================================================
   POPUP VERIFICACIÓN DE EDAD (+18 - MIDNIGHT LUXURY GATE & MOBILE READY)
   ========================================================================== */

/* Bloqueo de scroll solo cuando el Age Gate está activo */
html.age-gate-active,
html.age-gate-active body {
  overflow: hidden !important;
}

/* 
La Tarjeta Bóveda Central (Hermana gemela del Login) 
(A partir de aquí, el código .tosdisclaimer y el resto hacia abajo queda exactamente igual que lo tenías)
*/

/* Se muestra instantáneamente solo si el visitante no tiene la cookie */
html.age-gate-active #age-verification-overlay {
  display: flex !important;
}

/* La Tarjeta Bóveda Central (Hermana gemela del Login) */
.tosdisclaimer {
  background: rgba(22, 22, 26, 0.95) !important;
  border: 1px solid rgba(212, 175, 55, 0.28) !important;
  border-radius: 18px !important;
  padding: 36px 30px !important;
  max-width: 440px !important;
  width: 100% !important;
  margin: 0 auto !important;
  text-align: center !important;
  position: relative;
  color: #F4F4F6 !important;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.85), 0 0 30px rgba(212, 175, 55, 0.07) !important;
  animation: fadeIn 0.25s ease-out;
  box-sizing: border-box;
}

/* Insignia circular +18 en Dorado */
.tosdisclaimer .age-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.45);
  color: #D4AF37;
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin-bottom: 14px;
}

/* Título principal "AGE VERIFICATION" */
.tosdisclaimer h4 {
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 6px !important;
  color: #F4F4F6 !important;
  background: none !important;
  -webkit-text-fill-color: #F4F4F6 !important;
  text-transform: uppercase;
}

/* Subtítulo de marca debajo del título */
.tosdisclaimer .popup-title {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase;
  color: #D4AF37 !important;
  margin-bottom: 18px !important;
}

/* Contenedor del Logo */
.tosdisclaimer .disclaimer-logo {
  width: 100%;
  text-align: center;
  margin: 6px 0 18px 0;
}

.tosdisclaimer .disclaimer-logo img {
  max-height: 52px !important;
  width: auto !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Párrafos informativos de alta legibilidad */
.tosdisclaimer p {
  font-size: 0.92rem !important;
  line-height: 1.6 !important;
  margin-bottom: 10px !important;
  color: #A1A1AA !important;
}

/* Contenedor de Botones (Ergonomía táctil en móvil y escritorio) */
.tosdisclaimer .tosdisclaimerbuttons {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  margin-top: 24px !important;
}

/* Botón Principal: "I'm 18 or older" (Oro Puro sin rastro de fucsia) */
.tosdisclaimer .entertosdisclaimer {
  flex: 1 1 180px;
  height: 48px !important;
  padding: 0 24px !important;
  background: #D4AF37 !important;
  color: #0F0F12 !important;
  border: 1px solid #D4AF37 !important;
  border-radius: 25px !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.25) !important;
  transition: all 0.2s ease !important;
}

.tosdisclaimer .entertosdisclaimer:hover {
  background: #E5C158 !important;
  border-color: #E5C158 !important;
  color: #0F0F12 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.38) !important;
}

/* Botón Secundario: "Leave" (Estilo Ghost Oscuro) */
.tosdisclaimer .closetosdisclaimer {
  flex: 1 1 120px;
  height: 48px !important;
  padding: 0 22px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 25px !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: #D4D4D8 !important;
  cursor: pointer !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.tosdisclaimer .closetosdisclaimer:hover {
  background: rgba(220, 38, 38, 0.15) !important;
  border-color: #EF4444 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.96); }
  to { opacity: 1; transform: scale(1); }
}

/* Paginación (.escort-pagination) */
.escort-pagination {
  padding-top: 24px;
  padding-bottom: 12px;
  clear: both;
  text-align: center;
  line-height: 18px;
}

.escort-pagination li {
  display: inline-block;
  padding: 0 3px;
  margin-bottom: 15px;
}

.escort-pagination li a {
  background: var(--surface-subtle);
  color: var(--text-color);
  border: 1px solid var(--border-color);
  border-radius: 25px;
  font-weight: 700;
  padding: 6px 13px;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.escort-pagination li a:hover {
  border-color: var(--accent-color);
  color: var(--accent-color);
}

.escort-pagination li span.current {
  background: var(--accent-color);
  color: var(--accent-contrast);
  border: 1px solid var(--accent-color);
  border-radius: 25px;
  font-weight: 700;
  padding: 6px 13px;
  cursor: default;
}

/* Edición de campos de registro (Admin) */
.edit-registration-content .editregfields {
  width: 100%;
  text-align: center;
  border-collapse: collapse;
}

.edit-registration-content .editregfields .tabletop {
  background: var(--surface-subtle);
  color: var(--accent-color);
  cursor: default;
}

.edit-registration-content .editregfields tr.tabletop th { padding: 8px 0; }
.edit-registration-content .editregfields .alignleft { text-align: left; padding-left: 8px; font-weight: 600; }
.edit-registration-content .editregfields td { padding: 14px 0; }
.edit-registration-content .editregfields tr { background-color: var(--surface-subtle); border-bottom: 1px solid var(--border-color); }
.edit-registration-content .editregfields tr.blip { background-color: var(--bg-color); }
.edit-registration-content .editregfields .iPhoneCheckContainer { margin: 0 auto; }
.edit-registration-content .submit-button { font-size: 1.15em; }

.send-validation-email-button-preloader {
  background: url(i/small-loader.gif) center no-repeat;
  height: 16px;
  width: 16px;
  margin: 0 auto;
}

/* ==========================================================================
   PANTALLA DE LOGIN DE MARCA (MIDNIGHT LUXURY VAULT - DESKTOP & MOBILE)
   ========================================================================== */

body.login {
  background: radial-gradient(circle at 50% 20%, #1E1A24 0%, #0F0F12 60%, #08080A 100%) !important;
  color: #F4F4F6 !important;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

body.login::before {
  display: none !important;
}

.login #login {
  position: relative;
  z-index: 1;
  width: 92% !important;
  max-width: 400px !important;
  padding: 20px 0 !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* Cabecera: Logo centrado arriba + Sello "MEMBER ACCESS" debajo */
.login h1 {
  text-align: center !important;
  margin-bottom: 22px !important;
}

.login h1::after {
  content: "MEMBER ACCESS";
  display: block;
  margin-top: 10px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.24em;
  color: #D4AF37;
  text-align: center;
}

.login h1 a {
  margin: 0 auto !important;
  display: block !important;
  box-shadow: none !important;
}

.login h1 a::before {
  content: none !important;
}

/* La Tarjeta Bóveda (Formulario Principal) */
.login form,
.login #loginform,
.login #registerform,
.login #lostpasswordform {
  background: rgba(22, 22, 26, 0.92) !important;
  border: 1px solid rgba(212, 175, 55, 0.25) !important;
  border-radius: 16px !important;
  padding: 32px 28px !important;
  margin-top: 0 !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.75), 0 0 25px rgba(212, 175, 55, 0.06) !important;
}

/* Etiquetas de los campos */
.login label,
.login form .forgetmenot label {
  color: #D4D4D8 !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
}

/* Campos de Texto (Inputs): Oscuros, elegantes y sin zoom en iPhone (16px) */
.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
  background-color: #0F0F12 !important;
  color: #F4F4F6 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  height: 46px !important;
  font-size: 16px !important;
  margin-top: 6px !important;
  margin-bottom: 16px !important;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.5) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus {
  border-color: #D4AF37 !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.18) !important;
  outline: none !important;
}

/* Blindaje contra el fondo azul/blanco de autocompletado de Chrome */
.login input:-webkit-autofill,
.login input:-webkit-autofill:hover,
.login input:-webkit-autofill:focus,
.login input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 40px #0F0F12 inset !important;
  -webkit-text-fill-color: #F4F4F6 !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  caret-color: #F4F4F6 !important;
}

/* Icono del "Ojo" (Mostrar contraseña) */
.login .button.wp-hide-pw {
  color: #D4AF37 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  top: 6px !important;
  height: 46px !important;
}

/* Casilla "Remember Me" */
.login #loginform .forgetmenot {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  margin-bottom: 18px !important;
}

.login input[type="checkbox"] {
  background-color: #0F0F12 !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 4px !important;
}

/* Botón Principal "Acceder / Log In" */
.login #login form p.submit {
  margin: 0 !important;
  padding: 0 !important;
}

.login .button-primary,
.login .darkredbutton,
.login #login form p.submit #wp-submit {
  float: none !important;
  width: 100% !important;
  height: 48px !important;
  line-height: 46px !important;
  padding: 0 24px !important;
  background: #D4AF37 !important;
  color: #0F0F12 !important;
  border: 1px solid #D4AF37 !important;
  border-radius: 25px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.02em !important;
  text-shadow: none !important;
  box-shadow: 0 6px 20px rgba(212, 175, 55, 0.25) !important;
  transition: all 0.2s ease !important;
  cursor: pointer !important;
}

.login .button-primary:hover,
.login .darkredbutton:hover,
.login #login form p.submit #wp-submit:hover {
  background: #E5C158 !important;
  border-color: #E5C158 !important;
  color: #0F0F12 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(212, 175, 55, 0.38) !important;
}

/* Enlaces Inferiores ("Lost your password?" y "← Go to site"): Claros y centrados */
.login #nav,
.login #backtoblog {
  text-align: center !important;
  margin: 14px 0 0 0 !important;
  padding: 0 !important;
}

.login #nav a,
.login #backtoblog a {
  color: #A1A1AA !important;
  background: transparent !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.login #nav a:hover,
.login #backtoblog a:hover {
  color: #D4AF37 !important;
  text-decoration: underline !important;
}

/* Selector de Idioma Inferior en Modo Oscuro */
.login .language-switcher {
  position: relative;
  z-index: 1;
  margin-top: 24px !important;
  text-align: center !important;
}

.login .language-switcher label .dashicons {
  color: #A1A1AA !important;
}

.login .language-switcher select {
  background-color: #16161A !important;
  color: #F4F4F6 !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 8px !important;
  height: 36px !important;
  padding: 0 28px 0 12px !important;
}

.login .language-switcher .button {
  background: transparent !important;
  color: #D4AF37 !important;
  border: 1px solid rgba(212, 175, 55, 0.45) !important;
  border-radius: 20px !important;
  height: 36px !important;
  padding: 0 16px !important;
  font-weight: 600 !important;
}

.login .language-switcher .button:hover {
  background: #D4AF37 !important;
  color: #0F0F12 !important;
}

/* Avisos de error o cierre de sesión en el Login */
.login #login_error,
.login .message,
.login .success {
  background-color: #16161A !important;
  color: #F4F4F6 !important;
  border-left: 4px solid #D4AF37 !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4) !important;
}

/* Clases por defecto de WordPress, Blog y Página de Registro */
img.alignnone, img.alignleft, a img.alignnone, a img.alignleft, .wp-caption.alignnone, .wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}
img.alignleft, a img.alignleft { float: left; }
img.alignright, a img.alignright, .wp-caption.alignright { float: right; margin: 5px 0 20px 20px; }
img.aligncenter, div.aligncenter, a img.aligncenter { display: block; margin: 5px auto; }

.wp-caption {
  background: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  max-width: 96%;
  padding: 6px 4px 10px;
  text-align: center;
  margin-bottom: 1.5em;
}

.wp-caption img { border: 0 none; height: auto; margin: 0; max-width: 98.5%; padding: 0; width: auto; }
.wp-caption p.wp-caption-text { font-size: 11px; line-height: 17px; margin: 0; padding: 4px 4px 0; color: var(--text-muted); }
.entry-content img { margin: 0 0 1.5em 0; }
.gallery dl { margin: 0; }
.gallery-caption { margin: -1.5em 0 0 0; }
blockquote.left { float: left; margin: 0 20px 0 0; text-align: right; width: 33%; }
blockquote.right { float: right; margin: 0 0 0 20px; text-align: left; width: 33%; }

/* Blog */
.theblog .post_title { text-align: center; margin: 20px 0 0 0; padding: 0; }
.theblog .post_title a { font-size: 1.5em; color: var(--text-color); font-weight: 800; }
.theblog .post_title a:hover { color: var(--accent-color); text-decoration: none; }
.theblog .under_the_title { margin: 16px auto; background-color: var(--accent-color); height: 3px; width: 80px; border-radius: 2px; }
.theblog .post { padding-bottom: 40px; }
.theblog img { float: left; margin: 5px 20px 20px 0; border-radius: 8px; }
.theblog .entry { font-size: 15px; line-height: 1.65; color: var(--text-color); }
.theblog .entry h1 { line-height: 1.2em; }
.theblog .entry img { max-width: 100%; }
.theblog .postmetadata { color: var(--text-muted); }
.theblog .postmetadata a:hover { text-decoration: underline; }

.theblog .commentlistall { padding-bottom: 20px; border-bottom: 1px solid var(--border-color); }
.theblog .commentlistall .comment {
  border: 1px solid var(--border-color);
  background: var(--surface-subtle);
  border-radius: var(--radio-tarjetas);
  padding: 0 14px;
  float: right;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 24px;
}
.theblog .commentlistall .comment-info { border-bottom: 1px solid var(--border-color); padding: 10px 0; }
.theblog .commentlistall .commdate { color: var(--text-muted); padding-right: 10px; }
.theblog .commentlistall .depth-2,
.theblog .commentlistall .depth-3,
.theblog .commentlistall .depth-4,
.theblog .commentlistall .depth-5,
.theblog .commentlistall .depth-6,
.theblog .commentlistall .depth-7 { width: 90%; padding-right: 0; }

.theblog .commform .commname,
.theblog .commform .commemail { width: 50%; }

.theblog .commform .commname .comminput,
.theblog .commform .commemail .comminput,
.theblog .commform .commtextarea {
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  color: var(--text-color);
  box-sizing: border-box;
  font-size: 1em;
}
.theblog .commform .commname .comminput,
.theblog .commform .commemail .comminput { width: 90%; padding: 0 12px; line-height: 40px; height: 40px; }
.theblog .commform .commtextarea { width: 100%; height: 180px; padding: 10px 12px; }
.theblog .commform .commsubmitbutton { font-size: 1.1em; padding: 0 22px; line-height: 2.2em; }

/* Tarjetas de Planes en Página de Registro (.registerpage) */
/* Tarjetas de Planes en Página de Registro (.registerpage) */
.registerpage { cursor: default; }
.registerpage .pagetitle { text-align: center; color: var(--text-color); font-weight: 800; line-height: 3em; font-size: 2.2em; }

.registerpage .usertype {
  width: 29%;
  margin: 0 2%;
  background-color: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: var(--radio-tarjetas);
  float: left;
  color: var(--text-color);
  overflow: hidden;
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Efecto levitación premium al pasar el ratón */
.registerpage .usertype:hover {
  transform: translateY(-6px);
  border-color: var(--accent-color);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
}

.registerpage .usertype .usertype-title { 
  padding: 18px 10px; 
  color: var(--accent-contrast); 
  background: var(--accent-color); 
  text-align: center; 
}

/* ==========================================================================
   TARJETAS DE PLANES Y REGISTRO (ICONOS CONCEPTUALES CON SELECTOR DINÁMICO)
   ========================================================================== */

.registerpage .usertype .usertype-title { 
  padding: 26px 10px 18px 10px !important;
  color: var(--accent-contrast) !important; 
  background: var(--accent-color) !important; 
  text-align: center !important;
  position: relative !important;
}

/* 1. Ocultar de raíz los iconos antiguos o rotos del HTML (incluido el cuadrado huérfano) */
.registerpage .usertype .usertype-title i,
.registerpage .usertype .usertype-title .icon,
.registerpage .usertype .usertype-title span[class*="icon"],
.registerpage .usertype .usertype-title::after {
  display: none !important;
}

/* 2. Base del icono: se adapta al color de contraste activo (Blanco en Claro / Oscuro en Dorado) */
.registerpage .usertype .usertype-title::before {
  content: "" !important;
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 auto 12px auto !important;
  background-color: var(--accent-contrast) !important;
  -webkit-mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-size: contain !important;
  mask-repeat: no-repeat !important;
  mask-position: center !important;
  transition: transform 0.3s ease !important;
}

.registerpage .usertype:hover .usertype-title::before {
  transform: translateY(-3px) scale(1.06) !important;
}

/* 1. ESCORT INDEPENDIENTE: Corona / Tiara de Lujo (Icono de perfil premium) */
.registerpage .usertype:has(a[href*="escort"]) .usertype-title::before,
.registerpage .usertype:nth-of-type(1) .usertype-title::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 19h20l-2-12-5 6-3-9-3 9-5-6-2 12z'/%3E%3Ccircle cx='12' cy='4' r='1' fill='currentColor'/%3E%3Ccircle cx='4' cy='8' r='1' fill='currentColor'/%3E%3Ccircle cx='20' cy='8' r='1' fill='currentColor'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 19h20l-2-12-5 6-3-9-3 9-5-6-2 12z'/%3E%3Ccircle cx='12' cy='4' r='1' fill='currentColor'/%3E%3Ccircle cx='4' cy='8' r='1' fill='currentColor'/%3E%3Ccircle cx='20' cy='8' r='1' fill='currentColor'/%3E%3C/svg%3E") !important;
}

/* 2. AGENCIA: Edificio / Boutique Corporativa (Icono de empresa o colectivo) */
.registerpage .usertype:has(a[href*="agency"]) .usertype-title::before,
.registerpage .usertype:nth-of-type(2) .usertype-title::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V7l7-4 7 4v14'/%3E%3Cpath d='M9 10h1'/%3E%3Cpath d='M14 10h1'/%3E%3Cpath d='M9 14h1'/%3E%3Cpath d='M14 14h1'/%3E%3Cpath d='M11 21v-4h2v4'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V7l7-4 7 4v14'/%3E%3Cpath d='M9 10h1'/%3E%3Cpath d='M14 10h1'/%3E%3Cpath d='M9 14h1'/%3E%3Cpath d='M14 14h1'/%3E%3Cpath d='M11 21v-4h2v4'/%3E%3C/svg%3E") !important;
}

/* 3. MIEMBRO: Credencial / Pase VIP de Acceso (Icono de visitante o cliente) */
.registerpage .usertype:has(a[href*="member"]) .usertype-title::before,
.registerpage .usertype:nth-of-type(3) .usertype-title::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v3H9z'/%3E%3Cpath d='M12 6v3'/%3E%3Crect x='5' y='9' width='14' height='12' rx='2'/%3E%3Ccircle cx='12' cy='13.5' r='2'/%3E%3Cpath d='M8.5 19c0-1.4 1.6-2 3.5-2s3.5.6 3.5 2'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v3H9z'/%3E%3Cpath d='M12 6v3'/%3E%3Crect x='5' y='9' width='14' height='12' rx='2'/%3E%3Ccircle cx='12' cy='13.5' r='2'/%3E%3Cpath d='M8.5 19c0-1.4 1.6-2 3.5-2s3.5.6 3.5 2'/%3E%3C/svg%3E") !important;
}

.registerpage .usertype .usertype-title h4 { 
  font-size: 1.3em; 
  font-weight: 800; 
  letter-spacing: -0.01em;
}

.registerpage .usertype .usertype-content { padding: 24px; }

.registerpage .usertype .userlist { 
  list-style: none; 
  padding-bottom: 20px; 
  line-height: 2.2em; 
  color: var(--text-muted); 
}

.registerpage .usertype .userlist .icon { color: var(--accent-color); margin-right: 8px; }

/* Insignias de precio en línea (€30, €50) -> Estilo lujo, no oferta verde */
.registerpage .usertype .userlist .showprice { 
  background-color: transparent; 
  color: var(--accent-color); 
  border: 1px solid var(--accent-color);
  padding: 2px 8px; 
  border-radius: 12px; 
  white-space: nowrap; 
  font-size: 0.85em;
  font-weight: 700;
  margin-left: 6px;
}

/* Contenedor Inferior: PRECIOS GIGANTES Y CLAROS */
.registerpage .usertype .usertype-bottom { 
  border-top: 1px solid var(--border-color); 
  padding: 24px; 
  text-align: center;
  font-size: 2.3rem; /* Escala los precios huérfanos (10€, Free) a tamaño gigante */
  font-weight: 800;
  color: var(--text-color);
  line-height: 1.2;
}

.registerpage .usertype .usertype-bottom .showprice { 
  display: block; 
  font-size: 1em; /* Hereda los 2.3rem del padre */
  font-weight: 800; 
  padding-bottom: 12px; 
  color: var(--text-color); 
}

.registerpage .usertype .usertype-bottom .showprice small { 
  color: var(--text-muted); 
  font-size: 0.4em; 
  font-weight: 500;
  vertical-align: middle;
}

/* Botón de Registro Inferior -> Erradicamos el verde, forzamos estética premium */
.registerpage .usertype .usertype-bottom .registerbutton,
.registerpage .usertype .usertype-bottom .greenbutton { 
  font-size: 1rem !important; /* Reseteamos la medida para que no herede lo gigante */
  font-weight: 800 !important; 
  padding: 14px 24px !important; 
  display: block;
  width: 100%;
  background: var(--accent-color) !important;
  color: var(--accent-contrast) !important;
  border-radius: 25px !important;
  margin-top: 15px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.registerpage .usertype .usertype-bottom .registerbutton:hover,
.registerpage .usertype .usertype-bottom .greenbutton:hover {
  background: var(--accent-hover) !important;
  transform: translateY(-2px) !important;
}


/* ==========================================================================
   BLOQUE 9: SELECT2, ONLINE STATUS, MENÚ MÓVIL Y BANNER SEGURIDAD
   ========================================================================== */

/* Select2 */
.select2-dropdown {
  background-color: var(--bg-color) !important;
  color: var(--text-color) !important;
  border: 1px solid var(--border-color) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
  background: var(--accent-color) !important;
  color: var(--accent-contrast) !important;
}

.select2 .select2-selection__rendered,
.select2 .select2-selection__arrow,
.select2-container .select2-selection--single {
  line-height: 36px !important;
  height: 36px !important;
  color: var(--text-color) !important;
}

.select2 .select2-selection.select2-selection--single {
  background: var(--surface-subtle);
  border: 1px solid var(--border-color);
  border-radius: 8px;
}

.select2-container { max-width: 200px; }
.sidebar-right .select2-container { max-width: 100%; }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 0 8px; }

/* Loader AJAX */
.loader, .loader span { width: 70px; height: 6px; border-radius: 3px; }
.loader { margin: 10px 0; background-color: var(--border-color); position: relative; overflow: hidden; }
.loader span { background-color: #10B981; position: absolute; display: inline-block; }

/* Barra superior de administración de WordPress */
#wpadminbar #wp-admin-bar-wp-escortwp-menu,
#wpadminbar #wp-admin-bar-wp-escortwp-menu div.ab-item,
#wpadminbar #wp-admin-bar-wp-escortwp-menu .ab-sub-wrapper {
  background: var(--accent-color);
  color: var(--accent-contrast);
  font-weight: 600;
}

#wpadminbar #wp-admin-bar-wp-escortwp-menu div.ab-item { cursor: pointer; }
#wpadminbar .quicklinks #wp-admin-bar-wp-escortwp-menu ul li a { color: var(--accent-contrast); font-weight: 600; line-height: normal; height: auto; }
#wpadminbar .quicklinks #wp-admin-bar-wp-escortwp-menu ul li a:hover { background: var(--bg-color); color: var(--accent-color); }

/* Página 404 */
.page404 { color: var(--text-color); text-align: center; padding: 40px 20px; }
.page404 h2 { font-size: 6em; color: var(--accent-color); }
.page404 h3 { font-size: 1.4em; color: var(--text-muted); }

/* Indicador de Estado Online: Cápsula Glassmorphism VIP con Micro-LED */
.online-status {
  position: relative;
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.online-status .online-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background-color: rgba(15, 15, 18, 0.75) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-radius: 20px !important;
  padding: 4px 10px 4px 8px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
}

.online-status .text-label {
  color: #FFFFFF !important;
  font-family: var(--font-main) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: lowercase !important;
  line-height: 1 !important;
}

.online-status .notification-circle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 !important;
}

.online-status .notification-circle-inside {
  width: 7px !important;
  height: 7px !important;
  background-color: #10B981 !important;
  border-radius: 50% !important;
  box-shadow: 0 0 6px #10B981 !important;
  display: block !important;
}

.online-status .notification-circle-outside {
  position: absolute !important;
  inset: -3px !important;
  border-radius: 50% !important;
  background-color: rgba(16, 185, 129, 0.4) !important;
  animation: onlinePulse 2s infinite ease-out !important;
  display: block !important;
}

@keyframes onlinePulse {
  0% { transform: scale(0.6); opacity: 0.9; }
  70% { transform: scale(1.6); opacity: 0; }
  100% { transform: scale(1.6); opacity: 0; }
}

/* Ficha de Perfil Individual */
.girlsingle .online-status { background: none; margin-top: 10px; }

/* Grid de Modelos / Tarjetas: Flotando discretamente a la derecha */
.girl .thumbwrapper .model-info .labels .online-status {
  background: none !important;
  float: right;
  margin-top: 1px;
}

/* Botón Reportar y Selector Flotante Móvil de Países */
.reportbutton {
  background-color: #DC2626;
  border: none;
  border-radius: 25px;
  color: #FFFFFF;
  padding: 12px 28px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 0.95rem;
  font-weight: 700;
  margin: 4px 2px;
  cursor: pointer;
}

.report-profile-button:hover,
.closebtn:hover {
  background: var(--accent-hover);
  color: var(--accent-contrast);
}

.seefromcss,
.countries.slidercountries,
.mobile-menu-div {
  display: none;
}

.close-country {
  float: right;
  font-weight: 700;
  cursor: pointer;
}

@media screen and (max-width: 640px) {
  .mobile-menu-div {
    display: flex;
  }
  .countries.slidercountries {
    width: 94% !important;
    height: 94% !important;
    position: fixed;
    top: 3% !important;
    left: 3%;
    z-index: 999999;
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    border-radius: var(--radio-tarjetas);
    overflow-y: auto !important;
  }
}

/* Banner de Advertencia de Seguridad (Adaptado a Clean Editorial & Midnight Luxury) */
.security-warning-banner {
  background-color: var(--surface-subtle);
  border: 1px solid var(--accent-color);
  color: var(--text-color);
  padding: 16px;
  margin: 20px 0;
  border-radius: var(--radio-tarjetas);
  text-align: center;
  font-size: 0.95rem;
  line-height: 1.5em;
  font-weight: 500;
  width: 100%;
  clear: both;
  box-sizing: border-box;
}

.security-warning-banner strong {
  color: var(--accent-color);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.05em;
  display: block;
  margin-top: 6px;
}

.security-warning-banner i {
  color: var(--accent-color);
  font-size: 1.4em;
  margin-right: 6px;
  vertical-align: middle;
}

/* ==========================================================================
   BLOQUE 10: MOTOR RESPONSIVO UNIFICADO (MOBILE & TABLET LUXURY ENGINE)
   Sustituye por completo a responsive.css / responsive.min.css (0 HTTP requests extra)
   ========================================================================== */

@media all and (max-width: 1700px) {
  .girl.tour-thumb { width: 16.66%; }
}

@media all and (max-width: 1550px) {
  .girlsingle .thumbs .profile-video-thumb-wrapper,
  .girlsingle .thumbs .profile-img-thumb-wrapper { width: 20%; }
}

@media all and (max-width: 1400px) {
  .girl.tour-thumb { width: 20%; }
  .girl { width: 33.33%; }
  .show-separator { display: none; }
  .show3profiles, .show4profiles { display: block; }
}

@media all and (max-width: 1350px) {
  .girlsingle .thumbs .profile-video-thumb-wrapper,
  .girlsingle .thumbs .profile-img-thumb-wrapper { width: 25%; }
}

@media all and (max-width: 1300px) {
  .girlsingle.agency-profile .bigimage { width: 45%; }
  .girlsingle.agency-profile .agencydetails { width: 55%; }
}

@media all and (min-width: 1250px) {
  .show5profiles { display: block; }
}

@media all and (max-width: 1250px) {
  .all, .sliderall { width: 100%; }
  .girl.tour-thumb { width: 25%; }
}

@media all and (max-width: 1200px) {
  .all, .sliderall, .subnav, .top-site-menu { width: 100%; }
  .header-top-bar .header-nav { height: auto; }
  .girlsingle .girlinfo { width: 100%; }
  .girlsingle .girlinfo.l { padding-right: 0; }
  .girlsingle .girlinfo.r { padding-left: 0; }
  .girlsingle.agency-profile .agencydetails.agencydetails-noimg { padding: 0 0 20px 0; }
  .girlsingle.agency-profile .agencydetails-noimg,
  .girlsingle.agency-profile .agency-desc { width: 100% !important; clear: both; float: none; }
  .girlsingle.agency-profile .agencydetails { padding-bottom: 20px; }
}

@media all and (max-width: 1150px) {
  .girl { width: 24%; padding-left: 1%; padding-right: 1%; }
  .girl.tour-thumb,
  .girlsingle .thumbs .profile-video-thumb-wrapper,
  .girlsingle .thumbs .profile-img-thumb-wrapper { width: 33.33%; }
}

@media all and (max-width: 1000px) {
  .profile-page-no-media-wrapper { width: 100% !important; float: none; }
  .girlsingle .profile-page-no-media-wrapper-photos,
  .girlsingle .profile-page-no-media-wrapper-videos { padding: 0; }
  .girlsingle .profile-page-no-media-wrapper-videos { margin-top: -2px; }
}

/* --- PUNTO DE QUIEBRE MAESTRO TABLET / MÓVIL (960px) --- */
@media all and (max-width: 960px) {
  .girlsingle .thumbs .profile-img-thumb img { cursor: default; }

  .all-body {
    display: flex;
    flex-flow: column;
  }

  .sidebar-right {
    width: 100%;
    margin: 0;
    float: none;
    order: -1;
    contain: layout;
  }

  .sidebar-right .dropdownlinks ul li { text-align: center; }
  .sidebar-right .dropdownlinks ul li a { display: inline-block; float: none; line-height: 2em; }

  /* Sidebar Izquierda (Países y Ciudades): Estética Clean Editorial / Midnight Luxury */
  .sidebar-left {
    width: 100%;
    margin: 0;
    float: none;
    background: var(--bg-color);
    padding: 12px 15px;
    border-bottom: 1px solid var(--border-color);
    order: -1;
    contain: layout;
  }

  .contentwrapper {
    float: left;
    width: 100%;
  }

  .sidebar-left .countries {
    padding: 10px 14px;
    background: var(--surface-subtle);
    color: var(--text-color);
    text-align: center;
    border: 1px solid var(--border-color);
    border-radius: var(--radio-tarjetas);
    margin: 0;
  }

  /* Botón desplegable "Escorts country list": Contraste perfecto (Negro sobre Oro / Blanco sobre Borgoña) */
  .sidebar-left .countries h4 {
    background: var(--accent-color);
    color: var(--accent-contrast) !important;
    border: none;
    border-radius: 25px;
    padding: 10px 20px;
    margin: 0;
    line-height: 1.4em;
    font-weight: 800;
    font-size: 1.05rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  }

  .sidebar-left .countries h4 .dots { display: none; }
  .sidebar-left .countries h4 .icon {
    display: inline-block;
    line-height: 1.4em;
    color: var(--accent-contrast) !important;
    margin-left: 6px;
  }

  /* Listado de países desplegado: Superficie limpia sin celdas amarillas ni bordes blancos */
  .sidebar-left .country-list {
    font-size: 1.05em;
    display: none;
    margin-top: 10px;
    border-top: none;
  }

  .sidebar-left .country-list li {
    padding: 4px 0;
    border-bottom: 1px solid var(--border-color);
    background: transparent;
  }

  .sidebar-left .country-list li:last-child {
    border-bottom: none;
  }

  .sidebar-left .country-list a {
    color: var(--text-color);
    font-size: 1.02em;
    font-weight: 600;
    padding: 0 6px;
    line-height: 2.3rem;
    display: inline-block;
    vertical-align: middle;
  }

  .sidebar-left .country-list a:hover {
    color: var(--accent-color);
  }

  .sidebar-left .country-list ul { padding-left: 0; }

  /* Sub-ciudades desplegadas (ej. Buenos Aires): Caja sutil integrada en el tema */
  .sidebar-left .country-list ul.children {
    border-radius: 10px;
    background: var(--bg-color);
    border: 1px solid var(--border-color);
    margin: 6px 8px 8px 8px;
    padding: 4px 10px;
  }

  .sidebar-left .country-list ul.children li {
    border-bottom: 1px solid var(--border-color);
  }

  .sidebar-left .country-list ul.children li:last-child {
    border-bottom: none;
  }

  .sidebar-left .country-list ul.children a {
    color: var(--accent-color);
    font-weight: 600;
    padding: 2px 16px;
    display: block;
    margin: 2px 0;
    border-radius: 20px;
  }

  .sidebar-left .country-list ul.children a:hover {
    background: var(--accent-color);
    color: var(--accent-contrast);
  }

  .sidebar-left .country-list .iconlocation {
    vertical-align: middle;
    color: var(--accent-color);
    line-height: 2.3rem;
    font-size: 1.15em;
    font-weight: 700;
    display: inline-block;
    padding: 0 6px;
  }

  .sidebar-left .country-list .icon-minus,
  .sidebar-left .widgetbox-wrapper { display: none; }

  /* Tarjetas de perfiles en móvil (2 por fila) */
  .girl { width: 50%; box-sizing: border-box; }
  .girl.tour-thumb { width: 25%; }

/* ==========================================================================
     CABECERA MÓVIL SIMÉTRICA + ACORDEÓN DE MENÚ Y SUBMENÚ "ESCORTS"
     ========================================================================== */

  /* 1. Barra superior exclusiva de Administrador (.top-site-menu) */
  .top-site-menu {
    display: flex !important;
    align-items: center;
    justify-content: space-around;
    background-color: #08080A !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding: 6px 10px !important;
    height: auto !important;
  }

  .top-site-menu li {
    float: none !important;
    display: inline-flex !important;
    margin: 0 !important;
  }

  /* 2. Contenedor Maestro de la Cabecera Móvil: 2 Filas + Cajón Desplegable */
  .header-top-bar {
    padding: 12px 14px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px 0 !important;
  }

  /* FILA 1 - Izquierda: Logo (Alineación Flex Estricta para Móvil) */
  header .logo,
  .header-top-bar .logo,
  .all-logo .logo {
    float: none !important;
    width: auto !important;
    max-width: 70% !important; /* Le damos un poco más de aire en móvil */
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    order: 1 !important;
    display: flex !important;
    align-items: center !important; /* Centra el logo verticalmente con la Hamburguesa */
    height: auto !important;
  }

  header .logo a,
  .header-top-bar .logo a,
  .site-logo-container a {
     display: flex !important;
     align-items: center !important;
     height: 100% !important;
  }

  /* Aseguramos que la imagen dentro del enlace no se aplaste en móvil */
  header .logo img.main-site-logo {
     max-height: 50px !important; /* Ligeramente más pequeño para pantallas estrechas */
     width: auto !important;
     object-fit: contain !important;
     display: block !important;
  }

  header .logo h1,
  header .logo a,
  header .logo img {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: 38px !important;
    width: auto !important;
  }

  /* FILA 1 - Derecha: Botón Hamburger Menu (Permanece visible para abrir y cerrar) */
  header .hamburger-menu {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    float: none !important;
    margin: 0 0 0 auto !important;
    padding: 0 16px !important;
    height: 36px !important;
    line-height: 34px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    color: #FFFFFF !important;
    cursor: pointer;
    order: 2 !important;
    transition: all 0.2s ease !important;
  }

  /* Cuando el menú está abierto, el botón "Menu" se ilumina con el color de acento */
  header .hamburger-menu.is-active {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: var(--accent-contrast) !important;
  }

  header .hamburger-menu.is-active span {
    color: var(--accent-contrast) !important;
  }

  /* FILA 2 (Desplegable al tocar Menu): Ocupa el 100% de ancho DEBAJO del logo */
  header .header-nav {
    display: none;
    width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
    clear: both !important;
    order: 3 !important;
    margin: 4px 0 6px 0 !important;
    padding: 12px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
  }

  header .header-nav > ul,
  header .header-nav ul.nav {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important; /* EVITA que "Home" se estire verticalmente */
    justify-content: space-between !important;
    gap: 8px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }

  header .header-nav > ul > li,
  header .header-nav ul.nav > li {
    float: none !important;
    display: flex !important;
    flex-direction: column !important;
    width: calc(50% - 4px) !important; /* 2 columnas simétricas */
    margin: 0 !important;
    position: relative !important;
  }

  /* Al pulsar "Escorts", ocupa toda la fila para desplegar sus subcategorías en 2 columnas */
  header .header-nav > ul > li.submenu-open,
  header .header-nav ul.nav > li.submenu-open {
    width: 100% !important;
  }

  header .header-nav > ul > li > a,
  header .header-nav ul.nav > li > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 10px 8px !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 10px !important;
    color: #F4F4F6 !important;
    font-size: 0.84rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  header .header-nav > ul > li > a:hover,
  header .header-nav > ul > li.current-menu-item > a,
  header .header-nav > ul > li.submenu-open > a {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: var(--accent-contrast) !important;
  }

  /* Submenú de "Escorts" (Female, Male, Couple...): Contenedor con cierre de floats */
  header .header-nav ul ul,
  header .header-nav .sub-menu {
    display: none; /* Controlado por slideDown / slideUp */
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    background: rgba(255, 255, 255, 0.03) !important;
    border: 1px dashed rgba(255, 255, 255, 0.2) !important;
    border-radius: 10px !important;
    padding: 8px !important;
    margin: 8px 0 4px 0 !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Abraza las 2 columnas flotantes sin desbordar */
  }

  /* 2 Columnas exactas de 4 opciones (48% + 48%) anulando cualquier clear antiguo */
  header .header-nav ul ul li,
  header .header-nav .sub-menu li {
    float: left !important;
    clear: none !important;
    display: block !important;
    width: calc(50% - 6px) !important;
    min-width: 0 !important;
    margin: 3px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  header .header-nav ul ul li a,
  header .header-nav .sub-menu li a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 8px 6px !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #D4D4D8 !important;
    background: rgba(0, 0, 0, 0.45) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 8px !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
  }

  /* Efecto Hover / Toque en las subcategorías (Female, Male, Couple...) */
  header .header-nav ul ul li a:hover,
  header .header-nav .sub-menu li a:hover,
  header .header-nav ul ul li a:active {
    background: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: var(--accent-contrast) !important;
  }

/* FILA INFERIOR: Barra de Utilidades (Register/Login/Log Out + Lupa + Sobre + Sol/Luna en 1 sola fila) */
  header .subnav,
  header .subnav-menu-wrapper,
  header.header-mobile2 .subnav-menu-wrapper {
    width: 100% !important;
    flex: 0 0 100% !important;
    float: none !important;
    clear: both !important;
    order: 4 !important;
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    min-height: 0 !important;
  }

  header .subnav-menu-wrapper .subnav-menu {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  header .subnav-menu-wrapper .subnav-menu li {
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Botones de Texto (Register, Login, Log Out) compactos a 36px de alto */
  header .subnav-menu-wrapper .subnav-menu li.subnav-menu-btn a {
    float: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
    line-height: 34px !important;
    padding: 0 14px !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    border-radius: 20px !important;
    white-space: nowrap !important;
  }

  /* Los 3 Iconos Gemelos (Lupa, Sobre y Sol/Luna): Círculos idénticos de 36x36px */
  header .subnav-menu-wrapper .subnav-menu li.subnav-menu-icon a,
  header .subnav-menu-wrapper .subnav-menu li.subnav-menu-icon .theme-toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background-color: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #FFFFFF !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1.05rem !important;
  }

  header .subnav-menu-wrapper .subnav-menu li.subnav-menu-icon a:hover,
  header .subnav-menu-wrapper .subnav-menu li.subnav-menu-icon .theme-toggle:hover {
    border-color: var(--accent-color) !important;
    color: var(--accent-color) !important;
  }

  header .subnav .subnav-menu .subnav-menu-item .icon-search,
  header .subnav .subnav-menu .subnav-menu-item .icon-mail {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0.9rem !important;
  }

  header .subnav .subnav-menu .headerlangselect { margin: 0 !important; float: none !important; }
  header .subnav .subnav-menu .headerlang { padding: 3px 6px; font-size: 0.85em; text-align: center; height: 34px; }
  .header-addspace, .header-addspace img, .quicksearch .select2 { width: 100%; }
  .header-addspace .placeholder-widgettext { text-align: center; }
  .girlsingle .girlinfo, .login #login, header .logo * { max-width: 100%; }
  .bodybox .pagetitle-menu li a { margin-top: 5px; }

  .show-separator,
  .slider .slider-control-prev,
  .slider .slider-control-next,
  .sidebar-right .move-to-mobile-sidebar,
  .right-mobile-sidebar .sidebar-right .show-under-body { display: none; }

  .show2profiles { display: block; }

  /* Ficha individual (.girlsingle) en móvil */
  .girlsingle .thumbs .profile-img-thumb .edit-buttons .image_msg_girl_single { padding: 10px 0; font-size: 1.3em; }
  .girlsingle .thumbs .profile-img-thumb .edit-buttons .icon { font-size: 2em; height: 50px; width: 50px; line-height: 49px; }
  .girlsingle .thumbs .profile-video-thumb-wrapper,
  .girlsingle .thumbs .profile-img-thumb-wrapper { padding-right: 0; }

  .profile-page .thumbs,
  .profile-page .profile-img-thumb,
  .profile-page .profile-img-thumb img,
  .girlsingle .thumbs .profile-img-thumb-wrapper { width: 100%; margin: 0; padding: 0; }
  .profile-page .profile-img-thumb { padding-bottom: 10px; }
  .girlsingle .thumbs .profile-video-thumb-wrapper { width: 50%; }

  .girlsingle .lockedsection { margin: 10px 0 0 0; }
  .girlsingle .lockedsection .icon { line-height: 2em; }

  /* Widgets y Footer en móvil */
  .widgetadbox { text-align: center; }
  .widgetadbox p { text-align: left; }
  .widgetadbox img, .footer .widgetbox img { margin: 0 auto; }
  .footer .widgetbox { padding-right: 0; }

  .right-mobile-sidebar .sidebar-right .move-to-mobile-sidebar { display: block; }

  /* Contenedor central sin el antiguo borde rosa #f8c1cf */
  .bodybox {
    margin-left: 0;
    margin-right: 0;
    border-top: 1px solid var(--border-color);
  }
  .body { margin: 0; }

  /* Formularios adaptables */
  .form-styling .form-label { padding-bottom: 5px; }
  .form-styling .form-label,
  .form-styling .form-input,
  .form-styling .form-input .input,
  .form-styling .form-input .textarea,
  .form-styling .form-input select { width: 100%; }
  .form-styling .form-input .birthday { width: 33%; }

  /* Botones inferiores de la Home en móvil */
  .bodybox-homepage .see-all-top { display: none !important; }
  .bodybox-homepage .see-all-bottom,
  .bodybox-homepage .see-more-button { display: inline-block !important; }

  /* Página de Registro y Planes en móvil */
  .registerpage { padding: 0 10px; }
  .registerpage .usertype { width: 100%; margin: 0 0 30px 0; }
  .registerpage .pagetitle { margin-bottom: 20px; }
  .registerpage .usertype-content { text-align: center; }
  .registerpage .usertype .usertype-bottom .registerbutton { float: none; }

  .slider-pagination { display: block; }

  .addedtours .tour-info-mobile-clear { display: block; }
  .addedtours .tour-info-mobile, .addedtours .tourhead { display: none; }

  .tosdisclaimer { width: 90%; }

  .sidebar-right .sidebar-expire-notice-has-mobile { display: none; }
  .sidebar-right .sidebar-expire-notice-mobile { display: block; }
}

@media all and (max-width: 600px) {
  .girl.tour-thumb { width: 33.33%; }
}

@media all and (max-width: 520px) {
  .girlsingle .lockedsection .icon-lock { display: none; }
}

@media all and (max-width: 500px) {
  .girlsingle.agency-profile .bigimage,
  .girlsingle.agency-profile .agencydetails { width: 100%; }
  .girlsingle.agency-profile .bigimage { max-width: 100%; padding: 0 0 20px 0; text-align: center; }
  .girlsingle.agency-profile .bigimage img { max-width: 300px; max-height: 200px; width: auto; float: none; }
}

@media all and (max-width: 360px) {
  .bodybox { padding: 10px; }
}

/* ==========================================================================
   ANTI-CLS: Reserva de espacio y estructura para cuadrícula de perfiles
   ========================================================================== */
.anti-cls-container {
    /* Mantenemos la proporción geométrica 280x400 para eliminar saltos */
    aspect-ratio: 280 / 400; 
    position: relative;
    overflow: hidden;
    /* Fondo neutral heredado para que el bloque no se vea vacío antes de cargar la foto */
    background-color: var(--bg-card); 
}

/* Evitamos que el enlace y el contenedor colapsen a 0px al hacer la imagen absoluta */
.anti-cls-container .thumbwrapper,
.anti-cls-container .thumbwrapper a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

/* Forzamos que la foto se estire perfectamente y sea VISIBLE */
.anti-cls-container .mobile-ready-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1 !important;
    display: block !important;
}

/* Forzamos que la foto se estire perfectamente sin importar el dispositivo y sea VISIBLE */
.anti-cls-container .mobile-ready-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1 !important; /* Levanta la imagen por encima del fondo del contenedor */
    opacity: 1 !important; /* Fuerza la visibilidad, anulando cualquier lazy load oculto del tema */
    display: block !important;
}

/* ==========================================================================
   LCP HEADER: Restauración de Layout Original (Escritorio)
   ========================================================================== */
/* 1. Liberamos la altura de la cabecera, pero mantenemos su comportamiento original de bloque */
.header-top-bar {
    height: auto !important; 
    min-height: 40px !important; /* REDUCIDO: Altura mínima original más ajustada */
    padding: 8px 14px !important; /* REDUCIDO: Menos "aire" superior e inferior en la barra negra */
    overflow: visible !important; 
    display: block; 
}

/* 2. Aseguramos que el contenedor del logo flote a la izquierda y permita que la imagen crezca */
.header-top-bar .logo,
.site-logo-container {
    height: auto !important; 
    min-height: 35px !important; /* REDUCIDO: Acercamos el contenedor al tamaño del logo */
    overflow: visible !important; 
    float: left !important; 
    display: flex;
    align-items: center; 
}

/* 3. Forzamos la geometría del logo para el LCP (sin alterar el menú adyacente) */
.header-top-bar .logo img.main-site-logo {
    height: auto !important;
    max-height: 42px !important; /* REDUCIDO: Tamaño original del logo, más discreto */
    width: auto !important;
    object-fit: contain !important;
    margin-top: 0px !important; /* Eliminamos el aire extra */
    margin-bottom: 0px !important; 
    display: block;
}

/* 4. Aseguramos que la navegación (Inicio, Escorts, etc.) se quede pegada al logo */
.header-top-bar .header-nav {
    float: left !important; 
    display: block;
}

/* 5. Mantenemos los botones (Register, Login, iconos) anclados a la derecha */
.header-top-bar .subnav-menu-wrapper {
    float: right !important; 
    display: block;
}

/* Limpiamos los floats para que la barra negra los envuelva correctamente */
.header-top-bar::after {
    content: "";
    display: table;
    clear: both;
}

/* 2. Forzamos la geometría y proporción del logo */
.header-top-bar .logo img.main-site-logo {
    height: auto !important;
    max-height: 55px !important; /* Altura óptima visual. Sube a 65px si lo quieres más grande */
    width: auto !important;
    object-fit: contain !important;
    margin-top: 5px; /* Pequeño margen para separarlo del borde superior */
    margin-bottom: 5px;
}