/* listings.css — Estética de los anuncios: tarjeta y ficha, sello "Verificado",
   estrellas de valoración con el logo y paddings. */

/* Tarjeta de anuncio — SOLO la card de resultados (view-block), NO la ficha (view-page). */
a.hp-listing__title, .hp-listing__title a{color:var(--uv-ink)!important;font-family:Montserrat,sans-serif!important;font-weight:800!important;}

/* TODAS las tarjetas con la MISMA altura: la columna estira y la card la rellena en columna flex. */
.hp-listings.hp-grid .hp-grid__item{display:flex!important;}
.hp-listings.hp-grid .hp-grid__item > .hp-listing--view-block{width:100%;}
.hp-listing--view-block{display:flex!important;flex-direction:column;border:1px solid #E9EEF5;border-radius:16px;
  overflow:hidden;transition:box-shadow .25s,transform .25s;background:#fff;}
.hp-listing--view-block:hover{box-shadow:0 18px 40px rgba(37,99,235,.14);transform:translateY(-4px);}
.hp-listing--view-block .hp-listing__content{flex:1 1 auto;}   /* el contenido crece → el pie queda abajo */

/* Imagen: cubre TODO su espacio y con tamaño uniforme (misma proporción en todas las tarjetas) */
.hp-listing--view-block .hp-listing__image{display:block;aspect-ratio:4/3;overflow:hidden;flex:0 0 auto;}
.hp-listing--view-block .hp-listing__image img{width:100%;height:100%;object-fit:cover!important;transition:transform .4s;}
.hp-listing--view-block:hover .hp-listing__image img{transform:scale(1.05);}

/* Pie: localidad + sello "Verificado" JUNTOS (poco hueco) + botón "Llamar" a ancho completo */
.hp-listing--view-block .hp-listing__footer{display:flex!important;flex-direction:column;align-items:stretch;gap:10px;}
.hp-listing--view-block .hp-listing__attributes{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;padding:0!important;width:100%;min-width:0;}
/* Localidad: línea limpia con icono de ubicación (sin caja gris) */
.hp-listing--view-block .hp-listing__attribute--zona{display:flex;align-items:flex-start;gap:7px;background:transparent;
  color:#475569;padding:0;margin:0;font:600 13.5px/1.35 Inter,sans-serif;max-width:100%;}
.hp-listing--view-block .hp-listing__attribute--zona::before{content:"\f3c5";font-family:"Font Awesome 5 Free";font-weight:900;
  color:#2563EB;font-size:13px;flex:0 0 auto;margin-top:2px;}
/* Sello verificado */
.hp-listing--view-block .hp-listing__attribute--verificado{flex:0 0 auto;white-space:nowrap;overflow:visible;min-width:max-content;}
.hp-listing__attribute--verificado::after{white-space:nowrap;}

/* Botón "Llamar" en la tarjeta (contabiliza por anuncio; el texto del teléfono se quita del view_block) */
.uv-call-btn--card{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;
  background:#16A34A;color:#fff!important;text-decoration:none;border-radius:10px;padding:11px 16px;
  font:800 14px Montserrat,sans-serif;transition:background .2s;}
.uv-call-btn--card:hover{background:#15803D;}
.uv-call-btn--card i{font-size:13px;}

/* Botón "WhatsApp" en la tarjeta (mismo tratamiento, verde de marca de WhatsApp) */
.uv-wa-btn--card{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;
  background:#25D366;color:#0B3D20!important;text-decoration:none;border-radius:10px;padding:11px 16px;
  font:800 14px Montserrat,sans-serif;margin-top:8px;transition:background .2s;}
.uv-wa-btn--card:hover{background:#1FBE59;}
.uv-wa-btn--card i{font-size:15px;}

/* Anuncio DESTACADO.
   HivePress marca la tarjeta con .hp-listing--featured pero no trae ningún estilo para esa clase:
   sin esto, pagar por destacar no se notaría en absoluto. */
.hp-listing--featured{position:relative;border:2px solid #F59E0B!important;box-shadow:0 10px 30px rgba(245,158,11,.18)!important;}
.hp-listing--featured::before{content:"\f005 Destacado";font-family:"Font Awesome 5 Free",Montserrat,sans-serif;font-weight:900;
  position:absolute;top:12px;left:12px;z-index:3;background:#F59E0B;color:#0F172A;
  border-radius:999px;padding:5px 12px;font-size:12px;letter-spacing:.2px;box-shadow:0 4px 12px rgba(15,23,42,.18);}

/* Distintivo "Abierto ahora" / "Cerrado ahora".
   En un directorio de urgencias es el dato que más pesa: se pinta con color propio, no como un
   atributo más, para que se lea antes que el resto de la tarjeta. */
.ctop-open-badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 12px;
  font:700 13px Inter,sans-serif;line-height:1.3;}
.ctop-open-badge--si{background:#DCFCE7;color:#15803D;}
.ctop-open-badge--no{background:#F1F5F9;color:#64748B;}
.ctop-open-badge--card{margin-top:8px;}
/* En la ficha ocupa su propia línea, encima del bloque de contacto de la barra lateral. */
.hp-listing--view-page .ctop-open-badge,
.uv-contact + .ctop-open-badge{display:inline-flex;}
.ctop-open-badge i{font-size:12px;}

/* Teléfono en la FICHA: destacado, con icono de teléfono */
.hp-listing--view-page .hp-listing__attribute--telefono{display:inline-flex;align-items:center;gap:10px;
  font:800 22px/1.1 Montserrat,sans-serif;color:var(--uv-navy);letter-spacing:.3px;}
.hp-listing--view-page .hp-listing__attribute--telefono::before{content:"\f095";font-family:"Font Awesome 5 Free";font-weight:900;color:#16A34A;font-size:18px;}

/* ---- Carga continua de anuncios ---- */
.ctop-inf{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 0 8px;}
.ctop-inf-spin{color:#475569;font:600 14.5px Inter,sans-serif;display:flex;align-items:center;gap:10px;}
.ctop-inf-spin i{color:#2563EB;}
.ctop-inf-more{background:#fff;color:#2563EB;border:1.5px solid #2563EB;border-radius:999px;
  padding:12px 26px;font:800 14.5px Montserrat,sans-serif;cursor:pointer;transition:background .15s,color .15s;}
.ctop-inf-more:hover,.ctop-inf-more:focus{background:#2563EB;color:#fff;}
.ctop-inf-end{color:#94A3B8;font:600 14px Inter,sans-serif;margin:0;}
/* La paginación numerada se conserva para quien no tenga JS, pero se oculta cuando hay carga continua. */
.hp-pagination.ctop-inf-hidden{display:none;}

/* Botón "Filtrar" (toggle móvil) con la marca, no en rojo */
.hp-button--listing-filter{color:var(--uv-blue)!important;border:1.5px solid var(--uv-blue)!important;background:#fff!important;
  border-radius:999px!important;font-family:Montserrat,sans-serif!important;font-weight:800!important;}
.hp-button--listing-filter *, .hp-button--listing-filter i{color:var(--uv-blue)!important;}

/* Sello verificado: reemplaza el "Sí/Yes" por un badge verde limpio con icono + "Verificado" */
.hp-listing__attribute--verificado{display:inline-flex;align-items:center;gap:5px;background:#E7F6EC;
  color:#15803D;border:1px solid #B6E3C6;border-radius:8px;padding:4px 10px;font-size:0!important;line-height:1;}
.hp-listing__attribute--verificado::before{content:"\f132";font-family:"Font Awesome 5 Free";font-weight:900;color:#16A34A;font-size:11px;line-height:1;}
.hp-listing__attribute--verificado::after{content:"Verificado";font:800 11.5px/1 Inter,sans-serif;color:#15803D;letter-spacing:.2px;}

/* Estrellas de valoración con el logo de la marca (--uv-logo se define en enqueue.php) */
.hp-rating-stars{display:inline-flex;gap:2px;font-size:0;}
.hp-rating-stars i{width:16px;height:16px;background:#CBD5E1;display:inline-block;
  -webkit-mask:var(--uv-logo) center/contain no-repeat; mask:var(--uv-logo) center/contain no-repeat;}
.hp-rating-stars i::before{content:none!important;}
.hp-rating-stars i.active{background:#F59E0B;}
.hp-rating-stars--large i{width:24px;height:24px;}
.hp-rating__value{font:800 14px Montserrat,sans-serif;color:#0F172A;}
.hp-rating__count{color:#64748B;font:600 13px Inter,sans-serif;}

/* Paddings de la tarjeta (más aire). El contenido crece (flex) y empuja el pie abajo → todas iguales. */
.hp-listing--view-block .hp-listing__content{padding:22px 24px 6px;}
.hp-listing--view-block .hp-listing__footer{padding:12px 24px 20px;}
.hp-listing--view-block .hp-listing__title{margin-bottom:6px;}
/* Solo espaciado vertical: el lateral lo gestionan .hp-page y la rejilla de HivePress. */
.hp-listing--view-page .hp-page__content{padding-top:12px;padding-bottom:40px;}
.hp-listing--view-page .hp-listing__content > *{margin-bottom:18px;}
.hp-listing--view-page .hp-listing__details--primary{margin-bottom:18px;}
.hp-listing--view-page .hp-listing__description{line-height:1.7;}
/* Sin override del padding lateral de las columnas: la rejilla de HivePress usa .hp-row con
   margen negativo (-16px) que la columna compensa con su padding (16px). Al forzar aquí otro valor
   (antes 6px) el contenido quedaba descuadrado respecto a la cabecera; al ponerlo a 0 se salía
   16px fuera de la página. El margen lateral lo define .hp-page y la rejilla se deja en paz. */
