/*
Theme Name: Escort Theme Premium
Theme URI: https://wwww.proyectodigital.es
Author: Escort Theme
Author URI: https://www.proyectodigital.es
Description: Tema premium limpio para fichas Escort con control total de estilos.
Version: 1.0
Template: hello-elementor
Text Domain: escort-theme-premium
*/

/* =========================
   BASE VISUAL – Escort Theme Premium
   ========================= */

body{ background:#f4f4f4; }

/* Tarjetas base */
.bb-card,
.bb-dispo,
.bb-tar{
  background:#dfaf61;
  border:1px solid #ededed;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,0.10);
  margin:18px 0;
  color:#000;
  font-weight:500;
  font-size:14px;
  line-height:1.65;
}

/* Cabeceras */
.bb-card__head,
.bb-dispo__head,
.bb-tar__title{
  padding:16px 18px;
  border-bottom:1px solid #f0f0f0;
  font-weight:700;
  font-size:15px;
  background:#88172A;
  color:#dfaf61;
}

/* Cuerpos */
.bb-card__body{ padding:16px 18px 18px; }
.bb-dispo__body{ padding:10px 18px 16px; }

/* Acerca de mí */
.bb-about--texto{
  font-size:14px;
  line-height:1.7;
  color:#2b2b2b;
}
.bb-about--texto p{ margin:0 0 10px 0; }
.bb-about--texto p:last-child{ margin-bottom:0; }

/* Servicios dentro de Acerca de mí */
.bb-services{ margin-top:14px; }
.bb-services__title{
  font-weight:700;
  margin:0 0 10px 0;
  font-size:14px;
  color:#111;
}
.bb-services__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:8px 22px;
}
.bb-services__item{
  position:relative;
  padding-left:18px;
  font-size:14px;
  line-height:1.6;
  color:#2b2b2b;
}
.bb-services__item:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:#D2042D;
  font-weight:700;
}
@media (max-width: 767px){
  .bb-services__list{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width: 480px){
  .bb-services__list{ grid-template-columns:1fr; }
}

/* Nota/Aviso */
.bb-note{
  margin-top:12px;
  border:1px solid #f1f1f1;
  background:#88172A;
  border-radius:12px;
  padding:12px 14px;
}
.bb-note__title{
  font-weight:700;
  margin-bottom:6px;
  font-size:13px;
  color:#dfaf61;
}

/* =========================
   Insignias estilo "botón" (rectangular + icono)
   ========================= */

.bb-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}

/* Alineaciones (si las usas con el shortcode) */
.bb-badges--align-left{ justify-content:flex-start; }
.bb-badges--align-center{ justify-content:center; }
.bb-badges--align-right{ justify-content:flex-end; }

.bb-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:8px;
  font-weight:800;
  font-size:14px;
  line-height:1;
  border:1px solid rgba(0,0,0,0.12);
  box-shadow:0 2px 0 rgba(0,0,0,0.18);
  user-select:none;
  white-space:nowrap;
}

/* Icono (pseudo-elemento) */
.bb-badge::before{
  content:"";
  width:16px;
  height:16px;
  display:inline-block;
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
}

/* VERIFICADA (verde + check) */
.bb-badge--verificada{
  background:#26a65b;
  color:#fff;
  border-color:rgba(0,0,0,0.18);
}
.bb-badge--verificada::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9.0 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E");
}

/* NUEVA = "Gold" (amarillo + estrella) */
.bb-badge--nueva{
  background:#f1c40f;
  color:#111;
  border-color:rgba(0,0,0,0.18);
}
.bb-badge--nueva::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23111' d='M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E");
}

/* VIP = "Awesome" (azul + carita) */
.bb-badge--vip{
  background:#2d6cdf;
  color:#fff;
  border-color:rgba(0,0,0,0.18);
}
.bb-badge--vip::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm-3.2 8.2a1.2 1.2 0 1 1 0-2.4 1.2 1.2 0 0 1 0 2.4zm6.4 0a1.2 1.2 0 1 1 0-2.4 1.2 1.2 0 0 1 0 2.4zM12 18a6 6 0 0 1-5.2-3h10.4A6 6 0 0 1 12 18z'/%3E%3C/svg%3E");
}

/* Disponibilidad */
.bb-dispo__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid #f2f2f2;
}
.bb-dispo__row:last-child{ border-bottom:0; }
.bb-dispo__day{ font-weight:600; color:#111; }
.bb-dispo__time{ font-weight:600; color:#111; }

/* Badge Ocupado (mismo formato que insignias) */
.bb-dispo__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:8px;
  background:#FFC5D3;
  color:#000;
  font-weight:800;
  font-size:14px;
  line-height:1;
  border:1px solid rgba(0,0,0,0.12);
  box-shadow:0 2px 0 rgba(0,0,0,0.18);
  white-space:nowrap;
}


/* Texto disponibilidad (ACF textarea) */
.bb-dispo__text{
  font-size:14px;
  line-height:1.7;
  color:#2b2b2b;
}
.bb-dispo__text p{ margin:0 0 10px 0; }
.bb-dispo__text p:last-child{ margin-bottom:0; }

/* Tarifas */
.bb-tar__table{ padding:0 18px 10px; }
.bb-tar__head,
.bb-tar__row{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
  padding:12px 0;
}
.bb-tar__head{ border-bottom:1px solid #eee; }
.bb-tar__row{ border-bottom:1px solid #f2f2f2; }
.bb-tar__cell--h{ font-weight:700; color:#111; }
.bb-tar__cell--right{ text-align:right; }

/* Contacto (ESCRITORIO) – Botones */
.bb-contacto--desktop{
  margin:18px 0;
}
.bb-contacto__body{
  display:grid;
  gap:14px;
}
.bb-contacto__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px;
  border-radius:6px;
  background:#88172A;
  color:#fff;
  font-weight:700;
  font-size:16px;
  text-decoration:none;
  transition:all .2s ease;
}
.bb-contacto__btn:hover{
  background:#FFD700;
  color:#000;
}
.bb-contacto__icon{
  width:20px;
  height:20px;
  display:inline-flex;
}
.bb-contacto__icon svg{
  width:20px;
  height:20px;
  display:block;
  color:currentColor;
}

/* =========================
   Galería tipo producto
   - Desktop: imagen principal + miniaturas (2 filas x 3 columnas, hasta 9)
   - Móvil/Tablet: slider deslizable (altura se adapta a cada imagen)
   ========================= */

.bb-pgal{ margin:18px 0; }

/* Desktop: principal */
.bb-pgal__main{
  background:#fff;
  border:1px solid #ededed;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,0.10);
}
.bb-pgal__mainimg{
  width:100%;
  height:auto;
  display:block;
}

/* Desktop: miniaturas */
.bb-pgal__thumbs{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}
.bb-pgal__thumb{
  border:1px solid #ededed;
  background:#fff;
  border-radius:12px;
  padding:0;
  overflow:hidden;
  cursor:pointer;
  display:block;
}
.bb-pgal__thumbimg{
  width:100%;
  height:110px;
  object-fit:cover;
  display:block;
}
.bb-pgal__thumb.is-active{
  border-color:#88172A;
  box-shadow:0 10px 24px rgba(0,0,0,0.14);
}

/* Móvil/Tablet: slider */
.bb-pgal__slider{ display:none; }

@media (max-width: 1024px){
  /* En móvil/tablet: ocultamos desktop (principal+thumbs) y mostramos slider */
  .bb-pgal__main,
  .bb-pgal__thumbs{ display:none; }

  .bb-pgal__slider{ display:block; }

  .bb-pgal__slides{
    display:flex;
    gap:10px;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;

    /* Evita “cajas” con altura igualada */
    align-items:flex-start;
  }

  .bb-pgal__slide{
    flex:0 0 100%;
    scroll-snap-align:center;
    background:#fff;
    border:1px solid #ededed;
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 10px 28px rgba(0,0,0,0.10);

    /* La altura del contenedor queda determinada por la imagen */
    align-self:flex-start;
    line-height:0;
  }

  .bb-pgal__slideimg{
    width:100%;
    height:auto;
    display:block;
  }
}

/* (Opcional) Galería simple genérica si la usas en otro lado */
.bb-gal{ display:grid; gap:10px; margin:18px 0; }
.bb-gal--cols-2{ grid-template-columns:repeat(2,1fr); }
.bb-gal--cols-3{ grid-template-columns:repeat(3,1fr); }
.bb-gal--cols-4{ grid-template-columns:repeat(4,1fr); }
.bb-gal__img{ width:100%; height:auto; display:block; border-radius:12px; }

/* Hábitos */
.bb-hab__row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid #f2f2f2;
}
.bb-hab__row:last-child{ border-bottom:0; }
.bb-hab__label{ font-weight:600; color:#111; }
.bb-hab__value{ text-align:right; color:#2b2b2b; }

/* =========================================================
   Descripción (ficha)
   - Ya existían estilos bb-desc__*
   - Se añaden selectores equivalentes bb-descripcion__*
     para el nuevo shortcode sin duplicar reglas.
   ========================================================= */

/* Contenedor grid */
.bb-desc__grid,
.bb-descripcion__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}

/* Fila antigua (bb-desc__row) y nuevo item (bb-descripcion__item) */
.bb-desc__row,
.bb-descripcion__item{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid #f2f2f2;
}

/* Quitar borde inferior del último elemento */
.bb-desc__row:last-child,
.bb-descripcion__item:last-child{ border-bottom:0; }

/* Labels/values */
.bb-desc__label,
.bb-descripcion__label{ font-weight:600; color:#111; }

.bb-desc__value,
.bb-descripcion__value{ text-align:right; color:#2b2b2b; }

@media (max-width: 480px){
  .bb-desc__row,
  .bb-descripcion__item{ grid-template-columns:1fr; }

  .bb-desc__value,
  .bb-descripcion__value{ text-align:left; }
}

/* Ubicación */
.bb-ubi__row{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid #f2f2f2;
}
.bb-ubi__row:last-child{ border-bottom:0; }
.bb-ubi__label{
  font-weight:700;
  color:#111;
}
.bb-ubi__value{
  text-align:right;
  color:#2b2b2b;
}
@media (max-width: 480px){
  .bb-ubi__row{ flex-direction:column; }
  .bb-ubi__value{ text-align:left; }
}
.bb-ubi__map{
  margin-top:14px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid #ededed;
}
.bb-ubi__map iframe{
  width:100%;
  height:260px;
  border:0;
  display:block;
}

/* =========================
   Barra fija de contacto en móvil
   ========================= */

/* Por defecto (escritorio): ocultar barra móvil */
.bb-mbar{ display:none; }

@media (max-width: 1024px){

  /* Ocultar contacto de escritorio */
  .bb-contacto--desktop{ display:none !important; }

  /* Mostrar barra fija */
  .bb-mbar{
    display:grid;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:99999;
    gap:10px;
    padding:12px;
    background:transparent;
    pointer-events:none;

    /* 2 botones en una sola línea */
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  @supports (padding: max(0px)){
    .bb-mbar{ padding-bottom: max(12px, env(safe-area-inset-bottom)); }
  }

  .bb-mbar__btn{
    pointer-events:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:14px 10px;
    border-radius:10px;
    background:#88172A;
    color:#fff;
    font-weight:800;
    font-size:16px;
    text-decoration:none;
    box-shadow:0 10px 24px rgba(0,0,0,0.18);
    min-width:0;
    white-space:nowrap;
  }

  /* Si solo hay 1 botón, que ocupe el ancho completo */
  .bb-mbar__btn:only-child{
    grid-column: 1 / -1;
  }

  /* Colores por tipo */
  .bb-mbar__btn--phone{
    background:#B79036;
    color:#000;
  }
  .bb-mbar__btn--wa{
    background:#D2042D;
    color:#000;
  }

  /* Hover suave (sin cambiar paleta de colores) */
  .bb-mbar__btn:hover{
    filter: brightness(0.95);
  }

  /* Iconos SVG barra móvil: teléfono SIEMPRE blanco */
  .bb-mbar__icon svg{
    width:22px;
    height:22px;
    display:block;
    color:#fff;
  }
  .bb-mbar__btn:hover .bb-mbar__icon svg{
    color:#fff;
  }

  /* WhatsApp: icono oficial (verde) */
  .bb-mbar__btn--wa .bb-mbar__icon svg{
    color:#25D366;
  }
  .bb-mbar__btn--wa:hover .bb-mbar__icon svg{
    color:#25D366;
  }

  /* Evitar que tape el contenido */
  body{ padding-bottom: 150px; }
}

/* Botón abrir Google Maps */
.bb-ubi__actions{
  margin-top:14px;
}

.bb-ubi__btn{
  display:block;
  text-align:center;
  padding:14px 16px;
  border-radius:10px;
  background:#88172A;
  color:#dfaf61;
  font-weight:800;
  text-decoration:none;
  transition:all .2s ease;
}

.bb-ubi__btn:hover{
  background:#000;
  color:#dfaf61;
}

/* =========================================================
   Shortcodes atómicos (sin caja / fondo transparente)
   - [escort_direccion]
   - [escort_localidad]
   - [escort_google_maps]
   ========================================================= */

.escort-direccion,
.escort-localidad{
  display:inline;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  color:#dfaf61;
}

.escort-localidad__link{
  color:#dfaf61;
  text-decoration:none;
}

.escort-localidad__link:hover{
  color:#88172A;
  text-decoration:none;
}
.elementor-shortcode b {
color:	#88172A;
}
.escort-google-maps-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  padding:0;
  margin:0;
  color:#dfaf61;
  font-weight:800;
  text-decoration:none;
}

.escort-google-maps-link:hover{
  text-decoration:underline;
}

/* =========================
   NOMBRE ESCORT (restaurar estilo)
   ========================= */

.elementor .bb-escort-name,
.bb-escort-name{
  margin: 18px 0 0;
  text-align: left;
  font-weight: 700;
  color: #dfaf61;
  line-height: 1.05;
  font-size: 35px;
}

/* Si en algún punto lo quieres centrado, añade class bb-escort-name--center al widget */
.bb-escort-name--center{ text-align:center; }

@media (max-width: 1024px){
  .elementor .bb-escort-name,
  .bb-escort-name{ font-size: 36px; }
}

@media (max-width: 480px){
  .elementor .bb-escort-name,
  .bb-escort-name{ font-size: 32px; }
}
/* =========================================================
   Contacto (ESCRITORIO) – NUEVO RENDER .bb-contact + .bb-btn
   (mantiene compatibilidad con estilos antiguos .bb-contacto__*)
   ========================================================= */

.bb-contact--desktop{
  margin:18px 0;
  display:grid;
  gap:14px;
}

/* Botón base */
.bb-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:16px;
  border-radius:6px;
  background:#88172A;
  color:#dfaf61;
  font-weight:700;
  font-size:16px;
  text-decoration:none !important;
  transition:all .2s ease;
}

/* Hover */
.bb-btn:hover{
  background:#dfaf61;
  color:#000;
}

/* Icono */
.bb-btn__icon{
  width:20px;
  height:20px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 20px;
}

.bb-btn__icon svg{
  width:20px;
  height:20px;
  display:block;
  color:currentColor;
}

/* Texto */
.bb-btn__text{
  line-height:1;
}
/* Refuerzo: iframe del mapa dentro de la caja de ubicación */
.bb-ubi__map iframe{
  width:100% !important;
  height:260px;
  border:0 !important;
  display:block;
}
/* =========================
   Shortcode: Tarjetas de taxonomías (categorías escorts)
   [escort_taxonomias]
   ========================= */

.bb-taxcards{
  margin: 18px 0;
}

.bb-taxcards__group{
  margin: 18px 0;
  background:#dfaf61;
  border:1px solid #ededed;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,0.10);
}

.bb-taxcards__head{
  padding:16px 18px;
  border-bottom:1px solid #f0f0f0;
  font-weight:700;
  font-size:15px;
  background:#88172A;
  color:#dfaf61;
}

.bb-taxcards__body{
  padding:16px 18px 18px;
}

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

@media (max-width: 1024px){
  .bb-taxcards__grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px){
  .bb-taxcards__grid{ grid-template-columns:1fr; }
}

.bb-taxcard{
  display:block;
  text-decoration:none !important;
  color:#dfaf61;
  border:1px solid #dfaf61;
  border-radius:14px;
  overflow:hidden;
  background:#88172A;
  box-shadow:0 10px 22px rgba(0,0,0,0.10);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.bb-taxcard:hover{
  transform: translateY(-2px);
  border-color:#88172A;
  box-shadow:0 14px 26px rgba(0,0,0,0.16);
}

.bb-taxcard__img{
  width:100%;
  height:140px;
  object-fit:cover;
  display:block;
  background:#f6f6f6;
}

.bb-taxcard__name{
  padding:12px 14px;
  font-weight:800;
  font-size:14px;
  line-height:1.2;
  color:#dfaf61;
}
/* Mostrar solo 4 items por bloque y desplegar con botón */
.bb-taxcard--hidden{
  display:none;
}

.bb-taxcards__group.is-expanded .bb-taxcard--hidden{
  display:block;
}

.bb-taxcards__more{
  margin-top:14px;
  text-align:center;
}

.bb-taxcards__toggle{
  display:inline-block;
  border:1px solid #dfaf61;
  color:#dfaf61;
  background: #88172A;
  padding:10px 14px;
  border-radius:12px;
  font-weight:800;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}

.bb-taxcards__toggle:hover{
  background:#88172A;
  color:#fff;
  box-shadow:0 10px 22px rgba(0,0,0,0.14);
  transform: translateY(-1px);
}
/* Shortcode ACF resumen (forzar estilos del extracto) */
.escort-acf-resumen{
  margin: 10px 0 14px !important;
}

.escort-acf-resumen .escort-subtitulo{
  display:block;
  font-weight: 800 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  margin: 0 0 6px 0 !important;
}

.escort-acf-resumen .escort-extracto{
  display:block;
  font-size: 14px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  opacity: .95 !important;
}

/* Si el tema aplica estilos a párrafos dentro, prevenimos efectos raros */
.escort-acf-resumen .escort-extracto p{
  margin: 0 !important;
}
/* Subtítulo + extracto (mismo estilo) */
.escort-subtitulo{
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
  color:#dfaf61 !important;
}
/* =========================
   grid de tarjetas
   Shortcode: [escort_grid]
   ========================= */

.bb-escort-block{ margin: 18px 0; }

.bb-escort-controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.bb-escort-controls a{
  display:inline-block;
  padding:10px 12px;
  border:1px solid #ededed;
  border-radius:12px;
  text-decoration:none !important;
  font-weight:700;
}

.bb-escort-controls a.is-active{
  border-color:#88172A;
}

.bb-escort-controls a{
  color:#BC2F5E !important;
}
.bb-escort-controls a:hover{
  color:#dfaf61 !important;
}
.bb-escort-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

@media (max-width: 1024px){
  .bb-escort-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .bb-escort-grid{ grid-template-columns:1fr; }
}

.bb-escort-card{
  display:block;
  border:1px solid #ededed;
  border-radius:14px;
  overflow:hidden;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(0,0,0,0.10);
  background:#dfaf61;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.bb-escort-card:hover{
  transform: translateY(-2px);
  border-color:#88172A;
  box-shadow:0 14px 26px rgba(0,0,0,0.16);
}

.bb-escort-card img{
  width:100%;
  height:400px;
  object-fit:cover;
  display:block;
  background:#f6f6f6;
}

.bb-escort-card__title{
  font-weight:800;
  font-size:15px;
  line-height:1.2;
  margin:0;
}

.bb-escort-card__meta{
  margin-top:6px;
  font-size:13px;
  opacity:.9;
}

.bb-escort-hidden{ display:none; }

.bb-escort-more{
  margin-top:14px;
  text-align:center;
}

.bb-escort-more button{
  display:inline-block;
  border:1px solid #88172A;
  background:#fff;
  color:#88172A;
  padding:10px 14px;
  border-radius:12px;
  font-weight:800;
  cursor:pointer;
}
.bb-escort-more button:hover{
  background:#88172A;
  color:#fff;
}
/* =========================
   [escort_grid] - Card estilo "overlay + datos + botón + badges"
   ========================= */

.bb-escort-card{
  position: relative;
}

/* Enlaces internos de la tarjeta (evita que el botón WhatsApp quede dentro del enlace) */
.bb-escort-card__link{
  display:block;
  color:inherit;
  text-decoration:none !important;
}

.bb-escort-card__media{
  position: relative;
  overflow: hidden;
}

.bb-escort-card__img{
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
  background: #f6f6f6;
}

/* Overlay oscuro (hover) */
.bb-escort-card__overlay{
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
  opacity: 0;
  transition: opacity .18s ease;
  display: flex;
  align-items: flex-end;
  padding: 18px;
}

.bb-escort-card:hover .bb-escort-card__overlay,
.bb-escort-card:focus-within .bb-escort-card__overlay{
  opacity: 1;
}

/* Datos dentro del overlay */
.bb-escort-card__stats{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
  color: #fff;
}

.bb-escort-card__stat{
  text-align: left;
}

.bb-escort-card__stat .label{
  font-size: 12px;
  opacity: .9;
  display:block;
  margin-bottom: 2px;
}

.bb-escort-card__stat .value{
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  display:block;
}

/* Botón VER FICHA */
.bb-escort-card__cta{
  display: inline-block;
  background: #dfaf61;
  color: #111;
  border: 1px solid #88172A;
  padding: 10px 14px;
  border-radius: 4px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* Footer con nombre y subtítulo debajo de la imagen */
.bb-escort-card__body{
  padding: 14px 9px 0px;
}

.bb-escort-card__title{
  font-weight: 900;
  font-size: 24px;
  letter-spacing: .5px;
  margin: 0;
  text-transform: uppercase;
  color:#111;
}

.bb-escort-card__subtitle{
  margin-top: 6px;
  font-size: 14px;
  font-style: italic;
  letter-spacing: .6px;
  text-transform: uppercase;
  color:#111;
  opacity:.85;
}

/* Insignias (arriba) */
.bb-escort-badges{
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  gap: 8px;
  z-index: 3;
}

.bb-escort-badge{
  background:#fff;
  color:#111;
  border:2px solid #111;
  padding: 6px 10px;
  font-weight: 900;
  font-size: 13px;
  text-transform: uppercase;
}

/* Responsive altura de imagen */
@media (max-width: 520px){
  .bb-escort-card__img{ height: 240px; }
}
/* =========================
   [escort_grid] Ajustes finos solicitados
   ========================= */

/* Imagen el doble de alta (se recorta con cover y queda uniforme aunque sea 16:9 o 9:16) */
.bb-escort-card__img{
  height: 560px;
  object-fit: cover;
}

/* Nombre debajo de imagen */
.bb-escort-card__title{
  font-size: 18px;
  font-weight: 700;
}

/* Subtítulo: padding 2% */
.bb-escort-card__subtitle{
  padding: 2%;
}

/* En móvil bajamos un poco la altura para no romper la UX */
@media (max-width: 520px){
  .bb-escort-card__img{
    height: 420px;
  }
}

/* Insignias: reutilizar las tuyas (bb-badges / bb-badge) pero posicionadas arriba */
.bb-escort-badges{
  position:absolute;
  top:14px;
  right:14px;
  z-index:3;
  margin:0;
}

.bb-escort-badges.bb-badges{
  margin-top:0; /* anula el margin-top del bloque de insignias de ficha */
}

.bb-escort-badges .bb-badge{
  font-size: 13px;
  padding: 6px 10px;
  border-radius: 8px;
  box-shadow: 0 2px 0 rgba(0,0,0,0.18);
}
/* Padding izquierdo para el nombre en cards */
.bb-escort-card__title{
  padding-left: 2%;
}
/* =========================
   [escort_grid] - Vista listado
   ========================= */

.bb-escort-view{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.bb-escort-view a{
  display:inline-block;
  padding:10px 12px;
  border:1px solid #ededed;
  border-radius:12px;
  text-decoration:none !important;
  font-weight:700;
}

.bb-escort-view a.is-active{
  border-color:#88172A;
}

.bb-escort-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.bb-escort-row{
  display:flex;
  gap:16px;
  align-items:flex-start;
  border-bottom:1px solid #ededed;
  padding-bottom:14px;
}

.bb-escort-row__thumb{
  flex:0 0 120px;
  width:120px;

  /* Proporción vertical 9:16 (como en móvil) */
  aspect-ratio: 9 / 16;
  height:auto;

  overflow:hidden;
  border-radius:10px;
  background:#f6f6f6;
}

.bb-escort-row__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bb-escort-row__content{
  flex:1;
  min-width:0;
}

.bb-escort-row__content a{
    background-color: transparent !important;
    color: #c36 !important;
    text-decoration: none !important;
}

.bb-escort-row__content a:hover{
    background-color: transparent !important;
    color: #dfaf61 !important;
    text-decoration: none !important;
}

.bb-escort-row__badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:2px 0 6px;
}

.bb-escort-row__badges a{
  font-weight:800;
  font-size:12px;
  text-decoration:none !important;
  padding:4px 8px;
  border-radius:8px;
  border:1px solid #ededed;
}

.bb-escort-row__title{
  margin:0;
  font-size:18px;
  font-weight:800;
  line-height:1.25;
}

.bb-escort-row__subtitle{
  margin-top:4px;
  font-size:14px;
  font-style:italic;
   font-weight:600;
}

.bb-escort-row__meta{
  margin-top:8px;
  font-size:14px;
  opacity:.92;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

.bb-escort-row__meta .item{
  white-space:nowrap;
}

.bb-escort-row__meta .item a{
  text-decoration:none !important;
}

@media (max-width: 520px){
  .bb-escort-row{
    gap:12px;
  }
  .bb-escort-row__thumb{
    flex:0 0 90px;
    width:90px;

    /* Proporción vertical 9:16 en móvil */
    aspect-ratio: 9 / 16;
    height:auto;
  }
}
/* =========================
   [escort_grid] Controles en una sola línea
   ========================= */

.bb-escort-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.bb-escort-controls,
.bb-escort-view{
  margin:0 !important;
}

/* Cuadrícula/Listado: negro, hover rojo */
.bb-escort-view a{
  color:#dfaf61 !important;
}

.bb-escort-view a:hover{
  color:#88172A !important;
}

/* Subtítulo listado a 18px */
.bb-escort-row__subtitle{
  font-size:18px;
}

/* Labels y valores en listado */
.bb-escort-row__meta .item{
  display:flex;
  gap:6px;
  align-items:baseline;
}

.bb-escort-row__meta .label{
  color:#cc3366;
  font-weight:700;
}

.bb-escort-row__meta .value,
.bb-escort-row__meta .value a{
  color:#dfaf61 !important;
  text-decoration:none !important;
}

.bb-escort-row__meta .value a:hover{
  color:#88172A !important;
}
/* =========================
   Carrusel VIP: [escort_vips_carousel]
   ========================= */

.bb-vips{
  margin: 18px 0;
}

.bb-vips__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}

.bb-vips__title{
  color:#D2042D;
  font-size:18px;
  font-weight:600;
  margin:0;
}

.bb-vips__all{
  color:#D2042D;
  font-size:14px;
  font-weight:600;
  text-decoration:none !important;
}

.bb-vips__all:hover{
  text-decoration:none !important;
  color: #dfaf61 !important;
}

.bb-vips__track{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:6px 2px 10px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling: touch;
}

.bb-vips__track::-webkit-scrollbar{
  height:8px;
}
.bb-vips__track::-webkit-scrollbar-thumb{
  background:#e5e5e5;
  border-radius:999px;
}

.bb-vip{
  flex:0 0 auto;
  width:92px;
  text-align:center;
  scroll-snap-align:start;
  text-decoration:none !important;
  color:#dfaf61;
}

.bb-vip__avatar{
  width:82px;
  height:82px;
  border-radius:999px;
  overflow:hidden;
  border:3px solid #e6e6e6;
  background:#f6f6f6;
  margin:0 auto 8px;
}

.bb-vip__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bb-vip__name{
  font-size:12px;
  font-weight:700;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.bb-vips__track a:hover{
    color: #88172A !important;
}
/* =========================
   FIX carrusel VIP: imagen circular + sin barra visible
   ========================= */

.bb-vips__track{
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;      /* Firefox */
  -ms-overflow-style: none;   /* IE/Edge antiguo */
}
.bb-vips__track::-webkit-scrollbar{
  display:none;               /* Chrome/Safari */
}

/* Forzar tamaño fijo del item */
.bb-vip{
  width: 92px;
}

/* El círculo debe ser el "mask" real */
.bb-vip__avatar{
  width: 82px !important;
  height: 82px !important;
  border-radius: 9999px !important;
  overflow: hidden !important;
  display: block;
  margin: 0 auto 8px;
}

/* Forzar que la imagen sea cuadrada dentro del círculo (aunque el theme meta reglas globales) */
.bb-vip__avatar img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 9999px !important;
  display: block !important;
}
/* =========================
   Caja (estilo modulo) para categorias dentro de ficha
   Aplica a [escort_datos_categorias]
   ========================= */

.escort-mod--categorias{
  border: 1px solid #ededed;
  border-radius: 16px;
  background: #dfaf61;
  overflow: hidden;
  margin: 14px 0;
}

.escort-mod--categorias .escort-mod__title{
  padding: 14px 16px;
  font-weight: 700;
  border-bottom: 1px solid #ededed;
  margin: 0;
}

.escort-mod--categorias .escort-mod__list{
  padding: 14px 16px;
}

.escort-mod--categorias .escort-mod__row{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 6px 0;
}

.escort-mod--categorias .escort-mod__label{
  color: #88172A;
  font-weight: 700;
}

.escort-mod--categorias .escort-mod__value,
.escort-mod--categorias .escort-mod__value a{
  color: #000;
  text-decoration: none !important;
}

.escort-mod--categorias .escort-mod__value a:hover{
  color: #88172A;
}

/* =========================================================
   Cards escorts: imagen 240x360 (2:3)
   - Mantiene recorte vertical consistente
   - Evita alturas antiguas (560/420/etc.)
   ========================================================= */

.bb-escort-card__media{
  aspect-ratio: 2 / 3;
}

.bb-escort-card__media img,
.bb-escort-card__img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* =========================================================
   [escort_relacionadas]
   - Desktop: grid
   - Móvil/Tablet: slider (1 item visible)
   ========================================================= */

.bb-rel{
  margin: 18px 0;
  background:#dfaf61;
  border:2px solid #ededed;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,0.10);
}

.bb-rel__head{
  border-bottom:1px solid #f0f0f0;
}

.bb-rel__grid{
  padding:16px 18px 18px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}

@media (max-width: 1024px){
  .bb-rel__grid{ display:none; }
  .bb-rel__slider{ display:block; }
}

@media (min-width: 1025px){
  .bb-rel__slider{ display:none; }
}

.bb-rel__track{
  display:flex;
  gap:14px;
  overflow-x:auto;
  padding:16px 18px 18px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  -ms-overflow-style:none;
  margin-left: 4%;
}

.bb-rel__track::-webkit-scrollbar{ display:none; }

.bb-rel__slide{
  flex:0 0 100%;
  scroll-snap-align:start;
  text-decoration:none !important;
  color:#111;
}

.bb-rel__slide .bb-escort-card__media{
  border-radius:12px 12px 0px 0px;
  overflow:hidden;
}
/* =========================================================
   [escort_relacionadas] - Ajuste móvil
   Espacio izquierdo 2% en imagen
   ========================================================= */
@media (max-width: 1024px){

  .bb-rel__slide{
    padding-left: 0;
    box-sizing: border-box;
  }

  .bb-rel__slide img{
    display: block;
    width: 100%;
    height: auto;
  }

}
/* HERO categoría */
.sfx-cat-hero{
  width:100%;
  height:200px;
  position:relative;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  overflow:hidden;
}

.sfx-cat-hero__overlay{
  position:absolute;
  inset:0;
  background:#808080; /* gris */
  opacity:.6;
  pointer-events:none;
}

.sfx-cat-hero__inner{
  position:relative;
  z-index:2;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  text-align:center;
}

.sfx-cat-hero__title{
  margin:0;
  color:#fff;
  font-size:28px;
  line-height:1.2;
  font-weight:700;
}

/* CONTROLES (mismo concepto que portada) */
.sfx-cat-controls{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin:18px 0 14px;
  flex-wrap:wrap;
}

.sfx-cat-controls__orders,
.sfx-cat-controls__views{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.sfx-cat-controls__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  text-decoration:none;
  line-height:1;
  transition:all .2s ease;
}

.sfx-cat-controls__btn.is-active{
  border-color:rgba(255,255,255,.45);
}

/* GRID */
.sfx-cat-grid{
  display:grid;
  gap:14px;
}

/* columnas configurables via data-cols */
.sfx-cat-grid[data-cols="1"]{ grid-template-columns:repeat(1,minmax(0,1fr)); }
.sfx-cat-grid[data-cols="2"]{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.sfx-cat-grid[data-cols="3"]{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.sfx-cat-grid[data-cols="4"]{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.sfx-cat-grid[data-cols="5"]{ grid-template-columns:repeat(5,minmax(0,1fr)); }

/* CARD (misma base visual que [escort_grid]) */
.sfx-cat-grid{ align-items:stretch; }

.sfx-escort-card{
  display:block;
  border:1px solid #ededed;
  border-radius:14px;
  overflow:hidden;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(0,0,0,0.10);
  background:#fff;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
  height:100%;
}

.sfx-escort-card:hover{
  transform: translateY(-2px);
  border-color:#88172A;
  box-shadow:0 14px 26px rgba(0,0,0,0.16);
}

.sfx-escort-card__link{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none !important;
  color:inherit;
}

/* Imagen consistente (mismo recorte que [escort_grid]) */
.sfx-escort-card__media{
  position:relative;
  overflow:hidden;
  aspect-ratio: 2 / 3; /* 240x360 */
  background:#f6f6f6;
}

.sfx-escort-card__img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display:block !important;
}

/* Cuerpo (altura estable + CTA abajo) */
.sfx-escort-card__body{
  padding: 14px 0 0;
  display:flex;
  flex-direction:column;
  flex:1;
}

.sfx-escort-card__name{
  font-weight:700;
  font-size:18px;
  margin:0;
  padding-left:2%;
  line-height:1.2;
}

.sfx-escort-card__meta{
  margin-top:6px;
  padding:0 2%;
  font-size:13px;
  opacity:.9;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.sfx-escort-card__meta-item{ white-space:nowrap; }

.sfx-escort-card__cta{
  margin-top:auto;
  display:block;
  width:100%;
  text-align:center;
  padding: 12px 14px;
  border-top:1px solid #ededed;
  font-weight:800;
  text-transform: uppercase;
  letter-spacing: .5px;
  color:#111;
}

/* LISTADO */
.sfx-cat-grid[data-view="list"]{
  grid-template-columns:1fr;
}

.sfx-cat-grid[data-view="list"] .sfx-escort-card__link{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:14px;
  align-items:stretch;
}

.sfx-cat-grid[data-view="list"] .sfx-escort-card__media{
  /* Proporción vertical 9:16 en listado (PC) */
  aspect-ratio: 9 / 16;
  height:auto;
}

@media (max-width: 900px){
  .sfx-cat-grid[data-view="list"] .sfx-escort-card__link{
    grid-template-columns:1fr;
    height:auto;
  }
  .sfx-cat-grid[data-view="list"] .sfx-escort-card__media{
    aspect-ratio: 2 / 3;
    height:auto;
  }
}


/* =========================================================
   BOTON "Escríbeme WhatsApp" (TODOS LOS GRIDS)
   - Se perdió este bloque y por eso el SVG se veía enorme.
   - Incluye: estilo del botón + posicionamiento en cards
   ========================================================= */

/* Botón */
.bb-wa-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;

  background:#D2042D;
  color:#ffffff;

  padding:10px 14px;
  border-radius:999px;

  font-weight:800;
  font-size:14px;
  line-height:1;

  text-decoration:none !important;
  border:0;
  cursor:pointer;

  transition:background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}

.bb-wa-btn:hover{
  background:#FFD700;
  color:#000000;
}

.bb-wa-btn:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(210,4,45,.25);
}

/* Icono SVG: si no limitamos tamaño, el navegador usa 300x150 por defecto */
.bb-wa-btn__ico{
  width:18px;
  height:18px;
  display:block;
  flex:0 0 18px;
  color:currentColor;
}

.bb-wa-btn__text{ line-height:1; }

/* ===== Posicionamiento en tarjetas (grid) ===== */
.bb-escort-card,
.sfx-escort-card{
  position:relative;
  padding-bottom:54px; /* reserva espacio para el botón */
}

.bb-card-actions{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:6;

  display:flex;
  justify-content:flex-end;
  align-items:center;

  margin:0;
  width:auto;
}

/* ===== Excepción: vista listado (no queremos absolute porque rompe el layout) ===== */
.bb-escort-row .bb-card-actions,
.sfx-cat-grid[data-view="list"] .bb-card-actions{
  position:static;
  right:auto;
  bottom:auto;
  width:100%;
  margin-top:10px;
  justify-content:flex-end;
}

/* ===== [escort_relacionadas] (centrado + aire inferior) ===== */
.bb-relacionadas .bb-escort-card{
  padding-bottom:78px; /* más altura para que el botón no pegue al borde */
}

.bb-relacionadas .bb-card-actions{
  left:0;
  right:0;
  bottom:22px; /* margen claro al borde inferior */
  width:100%;
  justify-content:center;
}

/* =========================================================
   PASO 2: Vista LISTADO (PC + MOVIL) - layout como referencias
   - PC: imagen izquierda, contenido centro, botón WhatsApp derecha
   - Móvil: thumb 9:16, líneas meta más compactas, botón arriba derecha
   ========================================================= */

/* LISTADO: estructura en 3 columnas */
.bb-escort-list{ display:flex; flex-direction:column; gap:0; }

.bb-escort-row{
  display:grid;
  grid-template-columns: 120px 1fr auto;
  gap:16px;
  align-items:start;
  border-bottom:1px solid #ededed;
  padding:14px 0;
}

.bb-escort-row__thumb{
  width:120px;
  height:90px;
  border-radius:12px;
  overflow:hidden;
  background:#f6f6f6;
}

.bb-escort-row__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.bb-escort-row__content{ min-width:0; }

.bb-escort-row__actions{
  align-self:center;
  justify-self:end;
}

/* Botón en listado: asegurar que no se haga absoluto */
.bb-escort-row .bb-card-actions{ position:static !important; }

/* Meta: compacto (menos altura) */
.bb-escort-row__meta{
  margin-top:6px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:6px 12px;
  font-size:13px;
  line-height:1.25;
}

.bb-escort-row__meta .item{ white-space:normal; }
.bb-escort-row__meta .item--localidad,
.bb-escort-row__meta .item--origen{
  grid-column: 1 / -1;
}

/* Subtítulo con menos altura */
.bb-escort-row__subtitle{
  font-size:16px;
  line-height:1.25;
  margin-top:4px;
  color: #dfaf61;
}

/* ===== MÓVIL: thumb 9:16 + botón arriba derecha + texto corto ===== */
@media (max-width: 520px){
  .bb-escort-row{
    grid-template-columns: 110px 1fr auto;
    gap:12px;
    padding:12px 0;
  }

  .bb-escort-row__thumb{
    width:110px;
    height:196px; /* 9:16 aprox */
    border-radius:12px;
  }

  .bb-escort-row__actions{
    align-self:start;
    margin-top:4px;
  }

  /* Botón más compacto y texto corto */
  .bb-wa-btn{
    padding:8px 12px;
    font-size:13px;
  }

  .bb-wa-btn__text--full{ display:none; }
  .bb-wa-btn__text--short{ display:inline; }
}

@media (min-width: 521px){
  .bb-wa-btn__text--full{ display:inline; }
  .bb-wa-btn__text--short{ display:none; }
}



/* =========================================================
   AJUSTE LISTADO MÓVIL: aprovechar ancho del lado derecho
   - Fila 1 (2 columnas): insignias (izq) + botón WhatsApp (der)
   - Fila 2 (ancho completo): título + descripción
   - Fila 3 (ancho completo): meta (Localidad / País / Edad / Sexo) compacto
   - No rompe el diseño de escritorio ni de la vista cuadrícula
   ========================================================= */
@media (max-width: 520px){

  /* En móvil quitamos la 3ª columna (acciones) para que el contenido no quede encasillado */
  .bb-escort-row{
    grid-template-columns: 110px 1fr !important;
    grid-auto-rows: auto;
    align-items: start;
  }

  /* La imagen ocupa toda la altura del bloque derecho (4 filas) */
  .bb-escort-row__thumb{
    grid-column: 1 !important;
    grid-row: 1 / span 5 !important;
    width: 110px;
    height: 196px; /* 9:16 aprox */
  }

  /* “Liberamos” los hijos de content para colocarlos como items directos del grid */
  .bb-escort-row__content{
    display: contents !important;
  }

  /* Fila superior: insignias a la izquierda */
  .bb-escort-row__badges{
    grid-column: 2 !important;
    grid-row: 3 !important;
    align-self: start;
    justify-self: start;
    margin: 0 0 6px 0 !important;
  }

  /* Fila superior: botón a la derecha */
  .bb-escort-row__actions{
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start;
    justify-self: end;
    margin: 0 !important;
  }

  /* Título + descripción ocupan el ancho completo del lado derecho */
  .bb-escort-row__title{
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    line-height: 1.15;
  }

  .bb-escort-row__subtitle{
    grid-column: 2 !important;
    grid-row: 4 !important;
    margin: 4px 0 0 0 !important;
    line-height: 1.2;
  }

  /* Meta compacto, usando todo el ancho */
  .bb-escort-row__meta{
    grid-column: 2 !important;
    grid-row: 5 !important;

    margin-top: 6px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4px 10px !important;

    font-size: 13px !important;
    line-height: 1.15 !important;
  }

  /* Localidad y País Origen en filas completas para evitar columnas demasiado estrechas */
  .bb-escort-row__meta .item--localidad,
  .bb-escort-row__meta .item--origen{
    grid-column: 1 / -1 !important;
  }

  /* Ajuste extra para que “País Origen” no rompa línea rara */
  .bb-escort-row__meta .label{
    line-height: 1.15 !important;
  }

  /* En móvil: el botón ya va arriba, no queremos margen-top heredado */
  .bb-escort-row .bb-card-actions{
    margin-top: 0 !important;
  }
}


/* =========================================
   LISTADOS: separador más oscuro
========================================= */
.bb-escort-row{ border-bottom-color:#D2042D !important; }

/* LISTADO MÓVIL: insignias debajo del nombre (evita que queden ocultas) */
@media (max-width: 520px){
  .bb-escort-row__badges{ max-width:100%; }
  .bb-escort-row__badges a{ display:inline-flex; }
}


/* =========================================================
   LISTADO (PC) – 9:16 + meta más compacta
   - Aplica a TODOS los listados (home, single, categorías)
   ========================================================= */
@media (min-width: 521px){
  /* Meta en línea, sin separación excesiva (Edad / Sexo quedan juntos) */
  .bb-escort-row__meta{
    display:flex !important;
    flex-wrap:wrap;
    gap:8px 14px;
    align-items:baseline;
  }

  /* Localidad y País Origen en filas completas */
  .bb-escort-row__meta .item--localidad,
  .bb-escort-row__meta .item--origen{
    flex-basis:100%;
  }
}

/* FIX: LISTADO PC miniaturas 9:16 (anula height fijo) */
@media (min-width: 521px){
  .bb-escort-row__thumb{
    height:auto !important;
    aspect-ratio: 9 / 16 !important;
  }
  .bb-escort-row__thumb img{
    height:100% !important;
  }
}

/* FIX: Categorías (sfx) en vista listado: miniatura 9:16 */
.sfx-cat-grid[data-view="list"] .sfx-escort-card__link{
  height:auto !important;
}

.sfx-cat-grid[data-view="list"] .sfx-escort-card__media{
  aspect-ratio: 9 / 16 !important;
  height:auto !important;
}

/* =========================================
   TAGS debajo de descripción en grids (Localidad / Edad / Sexo)
   - Enlaces a taxonomías
   - Color #88172A | weight 500 | size 14px
   ========================================= */

.bb-escort-tags{
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding:5%;
}

.bb-escort-tag{
  color: #88172A;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  line-height: 2;
}

.bb-escort-tag:hover{
  text-decoration: underline;
}
/* Completar perfil (page-id-917): evitar scrolls internos y cajas comprimidas */
.page-id-917 .eo-onboarding {
  max-width: 900px;
}

.page-id-917 .eo-onboarding .acf-fields,
.page-id-917 .eo-onboarding .acf-form {
  width: 100%;
}

/* Tabs ACF: que no generen contenedores raros */
.page-id-917 .eo-onboarding .acf-tab-wrap {
  overflow: visible;
}

/* GALERÍA: quitar alto fijo y scroll interno */
.page-id-917 .eo-onboarding .acf-gallery {
  height: auto !important;              /* pisa el inline height:400px */
  min-height: 260px;
}

.page-id-917 .eo-onboarding .acf-gallery-main,
.page-id-917 .eo-onboarding .acf-gallery-side,
.page-id-917 .eo-onboarding .acf-gallery-side-inner {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Adjuntos: que se adapten y no creen barras */
.page-id-917 .eo-onboarding .acf-gallery-attachments {
  overflow: visible !important;
  max-height: none !important;
}

/* En móvil: apilar panel lateral de la galería debajo */
@media (max-width: 767px) {
  .page-id-917 .eo-onboarding .acf-gallery {
    display: block;
  }
  .page-id-917 .eo-onboarding .acf-gallery-main,
  .page-id-917 .eo-onboarding .acf-gallery-side {
    width: 100% !important;
    float: none !important;
  }
}
