:root{
  --primary:#154B4A;   /* verde */
  --cta:#F26A3D;       /* naranja */
  --white:#fff;
  --bg:#f5f7f7;
  --card:#fff;
  --shadow: 0 10px 30px rgba(0,0,0,.08);
  --shadow2: 0 18px 46px rgba(0,0,0,.12);
  --radius:16px;
  --radius-lg:22px;
  --max:1200px;
}

/* =========================
   RESET (solo clínicas)
========================= */
body.post-type-archive-clinica *,
body.single-clinica *{ box-sizing:border-box; }

body.post-type-archive-clinica img,
body.single-clinica img{ max-width:100%; height:auto; display:block; }

body.post-type-archive-clinica a,
body.single-clinica a{ text-decoration:none; color:inherit; }

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 16px;
}

/* =========================
   HERO
========================= */
.vet-hero{
  position:relative;
  padding:72px 0 54px;
  color:var(--white);
  background:
    radial-gradient(1200px 520px at 50% -10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.18)),
    var(--primary);
}
.vet-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(900px 380px at 50% 0%, rgba(242,106,61,.18), transparent 60%);
  pointer-events:none;
}
.vet-hero .container{ position:relative; z-index:1; }

.vet-hero .title{
  margin:0 0 10px;
  font-size:clamp(28px, 3.2vw, 48px);
  font-weight:900;
  text-align:center;
  letter-spacing:-.02em;
  line-height:1.08;
  color:#fff;
}
.vet-hero .subtitle{
  margin:0 auto 22px;
  max-width:860px;
  text-align:center;
  color:rgba(255,255,255,.90);
  font-size:clamp(14px, 1.2vw, 18px);
  line-height:1.6;
}

/* Search */
.vet-search{
  max-width:860px;
  margin:0 auto;
  background:rgba(255,255,255,.92);
  border-radius:999px;
  padding:10px;
  display:flex;
  gap:10px;
  align-items:center;
  box-shadow:var(--shadow2);
  border:1px solid rgba(255,255,255,.25);
  backdrop-filter: blur(8px);
}
.vet-search .icon{
  width:44px;
  height:44px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:rgba(0,0,0,.55);
  background:rgba(0,0,0,.03);
}
.vet-search input{
  border:0;
  outline:0;
  flex:1;
  font-size:15px;
  padding:12px 8px;
  background:transparent;
  color:#111;
}
.vet-search input::placeholder{ color:rgba(0,0,0,.42); }
.vet-search button{
  border:0;
  background:linear-gradient(135deg, #154B4A, #0b3c3b);
  color:#fff;
  padding:12px 18px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
  transition: transform .15s ease, filter .15s ease;
  box-shadow:0 14px 24px rgba(0,0,0,.12);
}
.vet-search button:hover{
  transform: translateY(-1px);
  filter: brightness(1.04);
}
.vet-hint{
  text-align:center;
  margin-top:12px;
  color:rgba(255,255,255,.70);
  font-size:13px;
}

/* Responsive hero */
@media (max-width: 768px){
  .vet-hero{ padding:56px 0 40px; }
  .vet-search{ border-radius:20px; padding:10px; }
  .vet-search .icon{ width:42px; height:42px; }
  .vet-search button{ padding:12px 16px; }
}
@media (max-width: 480px){
  .vet-search{ border-radius:18px; flex-wrap:wrap; gap:8px; }
  .vet-search input{ width:calc(100% - 52px); min-width:160px; }
  .vet-search button{ width:100%; }
}

/* =========================
   FILTROS
========================= */
.vet-filters-wrap{ margin:18px 0 0; }

.vet-filters{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
}

.vet-pills{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
}

.vet-pill,
.vet-pill:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:42px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.35);
  background:transparent;
  color:#fff !important;
  font-weight:900;
  letter-spacing:.01em;
  transition: transform .15s ease, background .15s ease, border-color .15s ease, filter .15s ease;
}
.vet-pill:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.55);
  filter: brightness(1.02);
}
.vet-pill.is-active,
.vet-pill.is-active:visited,
.vet-pill.is-active:hover{
  background: var(--cta) !important;
  border-color: var(--cta) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* selector ciudad + flecha */
.vet-city{ position:relative; }
.vet-city::after{
  content:"▾";
  position:absolute;
  right:14px;
  top:50%;
  transform: translateY(-50%);
  color:#fff;
  font-size:14px;
  pointer-events:none;
  opacity:.95;
}
.vet-city select{
  height:42px;
  min-width:220px;
  padding:0 38px 0 14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.08);
  color:#fff;
  font-weight:900;
  outline:none;
  appearance:none;
}
.vet-city select:hover{
  border-color: rgba(255,255,255,.55);
  filter: brightness(1.02);
}
.vet-city select:focus{
  border-color: rgba(242,106,61,.75);
  box-shadow: 0 0 0 3px rgba(242,106,61,.20);
}
.vet-city select option{ color:#111; background:#fff; }

@media (max-width: 720px){
  .vet-city{ width:100%; }
  .vet-city select{ width:100%; }
}

/* =========================
   SECCIONES
========================= */
.section{ padding:28px 0 44px; background:transparent; }

.section-title{
  margin:0 auto 8px;
  text-align:center;
  font-size:clamp(20px, 2vw, 28px);
  font-weight:900;
  letter-spacing:-.01em;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.section-title .star{
  color:var(--cta) !important;
  font-size:18px;
  transform: translateY(-1px);
}
.lead{
  text-align:center;
  margin:0 auto 22px;
  color:rgba(0,0,0,.60);
  max-width:760px;
  font-size:14px;
}

/* Featured premium background */
.section-featured-premium{
  position:relative;
  padding:34px 0 52px;
  background:
    radial-gradient(1200px 420px at 50% 0%, rgba(242,106,61,.22), transparent 62%),
    linear-gradient(180deg, rgba(242,106,61,.10), rgba(255,255,255,0) 70%),
    #fff6f3;
  border-top:1px solid rgba(0,0,0,.06);
  border-bottom:1px solid rgba(0,0,0,.06);
}

/* =========================
   GRID
========================= */
.grid{ display:grid; gap:18px; grid-template-columns:1fr; }
@media (min-width: 720px){  .grid.grid-main{ grid-template-columns:repeat(2,1fr); } }
@media (min-width: 1024px){ .grid.grid-main{ grid-template-columns:repeat(3,1fr); } }

.grid.grid-featured{ grid-template-columns:1fr; gap:18px; }
@media (min-width: 720px){  .grid.grid-featured{ grid-template-columns:repeat(2, minmax(280px, 1fr)); gap:20px; } }
@media (min-width: 1024px){ .grid.grid-featured{ grid-template-columns:repeat(3, minmax(300px, 1fr)); gap:22px; } }

/* =========================
   CARDS (archive)
========================= */
.card{
  background:var(--card);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card:hover{
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.10);
}
.card .media{ position:relative; }
.card .img{ width:100%; aspect-ratio:16/10; object-fit:cover; }
.img-placeholder{ width:100%; aspect-ratio:16/10; background:linear-gradient(135deg,#e9eeee,#f6f8f8); }

.badge{
  position:absolute;
  top:12px;
  left:12px;
  background:var(--cta);
  color:#fff;
  font-weight:900;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  box-shadow:0 10px 18px rgba(0,0,0,.18);
}
.badge-right{ left:auto; right:12px; }
.badge-featured{ box-shadow:0 12px 22px rgba(242,106,61,.35); }

.card-featured{
  border:2px solid rgba(242,106,61,.35);
  box-shadow: 0 18px 46px rgba(0,0,0,.12);
}
.card-featured:hover{ border-color: rgba(242,106,61,.55); }

.card .body{ padding:14px 14px 12px; }

.stars{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.score{ margin-left:auto; font-weight:900; color:#0b3c3b; }

.card h3{
  margin:0 0 10px;
  font-size:16px;
  font-weight:900;
  line-height:1.25;
}

.meta{
  display:grid;
  gap:7px;
  color:#444;
  font-size:13.5px;
}
.meta .row{ display:flex; gap:10px; align-items:flex-start; }
.meta .row .micon{ width:18px; opacity:.75; margin-top:1px; }

/* estrellas parciales */
.vet-stars{
  position: relative;
  display:inline-block;
  line-height:1;
  font-size:14px;
  letter-spacing:1px;
}
.vet-stars-bg{ color:#d9d9d9; }
.vet-stars-fill{
  position:absolute;
  left:0; top:0;
  overflow:hidden;
  white-space:nowrap;
  color: var(--cta);
}

/* acciones */
.actions{
  margin-top:auto;
  padding:12px 14px 14px;
  display:grid;
  grid-template-columns:1fr 46px;
  gap:10px;
  align-items:stretch;
  border-top:1px solid rgba(0,0,0,.06);
}

.btn{
  border:0;
  border-radius:12px;
  padding:12px 14px;
  font-weight:900;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  transition: transform .15s ease, filter .15s ease;
}
.btn:hover{ transform: translateY(-1px); }

.btn-primary{
  background:linear-gradient(135deg, #154B4A, #0b3c3b) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow: 0 14px 24px rgba(0,0,0,.12);
}
.btn-primary:hover{ filter: brightness(1.04); }

.btn-icon{
  width:46px;
  height:46px;
  border-radius:12px;
  background:var(--cta);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:0;
  font-size:18px;
  box-shadow: 0 14px 24px rgba(242,106,61,.25);
}

/* =========================
   PAGINACIÓN
========================= */
.pagination-wrap{ margin-top:22px; }
.pagination-wrap .page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.12);
  margin:0 6px 6px 0;
  background:#fff;
  font-weight:900;
}
.pagination-wrap .page-numbers.current{
  background: var(--primary);
  border-color: var(--primary);
  color:#fff;
}

/* =========================
   SINGLE CLÍNICA
========================= */
body.single-clinica .vet-card{
  display:grid;
  grid-template-columns: minmax(280px, 48%) 1fr;
  gap:32px;
  padding:28px;
  background:#fff;
  border-radius:22px;
  box-shadow:0 18px 46px rgba(0,0,0,.12);
  align-items:center;
}
@media (max-width: 900px){
  body.single-clinica .vet-card{
    grid-template-columns:1fr;
    gap:22px;
    padding:20px;
  }
}

body.single-clinica .vet-card__media{
  position:relative;
  border-radius:18px;
  overflow:hidden;
}
body.single-clinica .vet-card__media img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:cover;
}

body.single-clinica .vet-card__media .badge{
  position:absolute;
  top:14px;
  left:14px;
  background:var(--cta);
  color:#fff;
  font-weight:900;
  padding:8px 14px;
  border-radius:999px;
  font-size:13px;
  box-shadow:0 10px 22px rgba(242,106,61,.35);
  z-index:2;
}

body.single-clinica .vet-card__content{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Evita duplicado de estrellas en single:
   (deja activo el que uses en .vet-rating / .vet-stars y apaga el otro) */
body.single-clinica .vet-card__content .stars{ display:none; }

body.single-clinica .vet-rating{
  display:flex;
  align-items:center;
  gap:10px;
}
body.single-clinica .vet-score{
  font-weight:900;
  color:#0b3c3b;
}

body.single-clinica .vet-title{
  margin:0;
  font-size:clamp(22px, 2.4vw, 32px);
  font-weight:900;
  line-height:1.15;
}

/* Grid info */
body.single-clinica .vet-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 24px;
}
@media (max-width: 600px){
  body.single-clinica .vet-grid{ grid-template-columns:1fr; gap:14px; }
}

body.single-clinica .vet-block{
  font-size:14.8px;
  color:#222;
  line-height:1.45;
}

body.single-clinica .vet-label{
  font-weight:900;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:6px;
  color:#0b3c3b; /* cabecera clara */
  font-size:15px;
}

/* Valores */
body.single-clinica .vet-value,
body.single-clinica .vet-value a{
  color:#222 !important;
  font-weight:500;
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Teléfono (bloque): NEGRO, sin estilo botón */
body.single-clinica .vet-block--phone .vet-value,
body.single-clinica .vet-block--phone a[href^="tel:"]{
  color:#111 !important;
  font-weight:600 !important;
  background:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  display:inline !important;
}

/* Servicios */
body.single-clinica .vet-tags{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap; /* móvil */
}
@media (min-width: 901px){
  body.single-clinica .vet-tags{
    flex-wrap:nowrap;            /* desktop una línea */
    overflow:hidden;
  }
}

body.single-clinica .vet-tag{
  background:rgba(242,106,61,.12);
  border:1px solid rgba(242,106,61,.35);
  color:#c94f28;
  padding:6px 12px;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
  white-space:nowrap;
}

/* Botones (solo aquí son botones) */
body.single-clinica .vet-actions{
  display:flex;
  gap:14px;
  margin-top:10px;
  flex-wrap:wrap;
}

/* Llamar ahora (solo dentro de vet-actions) */
body.single-clinica .vet-actions a[href^="tel:"]{
  background: linear-gradient(135deg, #154B4A, #0b3c3b) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  padding:14px 22px !important;
  border-radius:999px !important;
  font-weight:900 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  box-shadow:0 14px 24px rgba(0,0,0,.14) !important;
  transition: transform .15s ease, filter .15s ease !important;
}
body.single-clinica .vet-actions a[href^="tel:"]:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.05) !important;
}

/* Cómo llegar */
body.single-clinica .vet-actions a[href*="google"]{
  background:#fff !important;
  color:#333 !important;
  padding:14px 22px !important;
  border-radius:999px !important;
  font-weight:700 !important;
  border:1px solid rgba(0,0,0,.15) !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
}
body.single-clinica .vet-actions a[href*="google"]:hover{
  border-color: rgba(242,106,61,.55) !important;
}

/* Link web subrayado (clic claro) */
body.single-clinica .vet-link{
  text-decoration: underline;
  font-weight:800;
}

/* =========================
   OTRAS CLÍNICAS (single)
========================= */
body.single-clinica .vet-related{ margin-top:48px; }

body.single-clinica .vet-related-grid{
  display:grid;
  gap:18px;
}
@media (min-width: 720px){
  body.single-clinica .vet-related-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width: 1024px){
  body.single-clinica .vet-related-grid{ grid-template-columns:repeat(3,1fr); }
}

body.single-clinica .vet-related .section-title{
  justify-content:flex-start;
  text-align:left;
  margin-left:0;
  margin-right:auto;
}

/* =========================
   BOTÓN VOLVER ARRIBA
========================= */
.vet-scroll-top{
  position:fixed;
  right:18px;
  bottom:18px;
  width:46px;
  height:46px;
  border-radius:50%;
  background:var(--cta);
  color:#fff;
  font-size:20px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 12px 26px rgba(0,0,0,.25);
  z-index:9999;
}
.vet-scroll-top:hover{ filter:brightness(1.05); }

/* FIX overflow horizontal */
html, body{ max-width:100%; overflow-x:hidden; }
/* Back link arriba (single) */
body.single-clinica .vet-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  color:rgba(0,0,0,.55);
  font-weight:700;
  position:relative;
  z-index:5;
}
body.single-clinica .vet-back:hover{
  color:rgba(0,0,0,.75);
  text-decoration:underline;
}
/* =========================================
   FIX DEFINITIVO – SINGLE CLÍNICA (layout)
   Pegar AL FINAL del vet-directory.css
========================================= */

/* Tarjeta grande */
body.single-clinica .vet-card{
  display:grid !important;
  grid-template-columns: minmax(280px, 48%) 1fr !important;
  gap:32px !important;
  padding:28px !important;
  background:#fff !important;
  border-radius:22px !important;
  box-shadow:0 18px 46px rgba(0,0,0,.12) !important;
  align-items:center !important;
}

@media (max-width: 900px){
  body.single-clinica .vet-card{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:18px !important;
  }
}

/* Media + badge dentro de la foto */
body.single-clinica .vet-card__media{
  position:relative !important;
  border-radius:18px !important;
  overflow:hidden !important;
}

body.single-clinica .vet-card__media img,
body.single-clinica .vet-img{
  width:100% !important;
  aspect-ratio:16/10 !important;
  object-fit:cover !important;
  display:block !important;
}

/* Badge naranja sobre imagen */
body.single-clinica .vet-card__media .badge,
body.single-clinica .vet-card__media .vet-badge{
  position:absolute !important;
  top:14px !important;
  left:14px !important;
  z-index:5 !important;
  background: var(--cta) !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  box-shadow:0 10px 22px rgba(242,106,61,.35) !important;
}

/* Contenido */
body.single-clinica .vet-card__content{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}

/* Rating */
body.single-clinica .vet-rating{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

body.single-clinica .vet-score{
  font-weight:900 !important;
  color:#0b3c3b !important;
}

/* Título */
body.single-clinica .vet-title{
  margin:0 !important;
  font-size:clamp(22px, 2.4vw, 32px) !important;
  font-weight:900 !important;
  line-height:1.15 !important;
}

/* GRID de datos: 2 columnas desktop, 1 móvil */
body.single-clinica .vet-grid{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px 24px !important;
  align-items:start !important;
}

@media (max-width: 600px){
  body.single-clinica .vet-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
}

/* Cada bloque: etiqueta arriba, valor abajo */
body.single-clinica .vet-block{
  display:block !important;
  font-size:14.5px !important;
  color:#333 !important;
}

body.single-clinica .vet-label{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-bottom:6px !important;
  font-weight:900 !important;
  color: var(--primary) !important;
  font-size:14.5px !important;
}

body.single-clinica .vet-value{
  display:block !important;
  font-size:15px !important;
  color:#222 !important;
  line-height:1.45 !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* Teléfono: NEGRO como el resto */
body.single-clinica .vet-block--phone .vet-phone-link,
body.single-clinica .vet-block--phone .vet-value a{
  color:#111 !important;
  font-weight:600 !important;
}

/* Servicios: en una línea en PC si caben, wrap bonito */
body.single-clinica .vet-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  justify-content:flex-start !important;
  align-items:center !important;
}

body.single-clinica .vet-tag{
  display:inline-flex !important;
  align-items:center !important;
  white-space:nowrap !important;
  background:rgba(242,106,61,.12) !important;
  border:1px solid rgba(242,106,61,.35) !important;
  color:#c94f28 !important;
  padding:6px 12px !important;
  border-radius:999px !important;
  font-weight:700 !important;
  font-size:13px !important;
}

/* Botones (manteniendo SOLO llamar ahora si ya quitaste cómo llegar) */
body.single-clinica .vet-actions{
  display:flex !important;
  gap:14px !important;
  flex-wrap:wrap !important;
  margin-top:12px !important;
}
/* Orden visual limpio y botón final */
body.single-clinica .vet-actions--single{
  margin-top:14px;
}

body.single-clinica .vet-actions--single .vet-btn--primary{
  width: fit-content;
  max-width: 100%;
  white-space: normal;
  line-height: 1.2;
}

@media (max-width: 600px){
  body.single-clinica .vet-actions--single .vet-btn--primary{
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}
/* =========================================
   HEADER: links del menú en BLANCO
   SOLO en Clínicas (archive + single)
========================================= */
body.post-type-archive-clinica .ct-header a,
body.single-clinica .ct-header a,
body.post-type-archive-clinica header a,
body.single-clinica header a,
body.post-type-archive-clinica .ct-menu-link,
body.single-clinica .ct-menu-link,
body.post-type-archive-clinica .menu a,
body.single-clinica .menu a,
body.post-type-archive-clinica nav a,
body.single-clinica nav a{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

/* Hover/activo */
body.post-type-archive-clinica .ct-header a:hover,
body.single-clinica .ct-header a:hover,
body.post-type-archive-clinica .ct-menu-link:hover,
body.single-clinica .ct-menu-link:hover{
  color:#fff !important;
  opacity:1 !important;
}

/* Si Blocksy está bajando opacidad a items no activos */
body.post-type-archive-clinica .ct-header [class*="menu"] a,
body.single-clinica .ct-header [class*="menu"] a{
  opacity:1 !important;
}
/* Sticky / estado scrolled */
body.post-type-archive-clinica .ct-header [data-sticky*="yes"] a,
body.single-clinica .ct-header [data-sticky*="yes"] a,
body.post-type-archive-clinica .ct-header.is-sticky a,
body.single-clinica .ct-header.is-sticky a{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}
/* =====================================================
   FIX: OTRAS CLÍNICAS no gigantes (solo en single)
===================================================== */

/* 1) El contenedor del related NO debe estirar cosas raras */
body.single-clinica .vet-related{
  max-width: var(--max);
  margin-left:auto;
  margin-right:auto;
}

/* 2) Grid correcto y estable */
body.single-clinica .vet-related-grid{
  display:grid !important;
  gap:18px !important;
  grid-template-columns: 1fr !important;
  align-items:stretch !important;
}

@media (min-width: 720px){
  body.single-clinica .vet-related-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (min-width: 1024px){
  body.single-clinica .vet-related-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* 3) Cada card NO debe ocupar todo el ancho ni crecer por contenido */
body.single-clinica .vet-related-grid > .card{
  width:100% !important;
  max-width: 420px !important;   /* evita “gigantes” en pantallas raras */
  justify-self: stretch !important;
}

/* en grid de 2/3 columnas, que llenen la columna */
@media (min-width: 720px){
  body.single-clinica .vet-related-grid > .card{
    max-width:none !important;
  }
}

/* 4) Imagen siempre controlada */
body.single-clinica .vet-related .card .img,
body.single-clinica .vet-related .card img.img{
  width:100% !important;
  height:auto !important;
  aspect-ratio: 16/10 !important;
  object-fit: cover !important;
  display:block !important;
}

/* 5) Texto y paddings normales (por si quedaron “enormes”) */
body.single-clinica .vet-related .card h3{ font-size:16px !important; }
body.single-clinica .vet-related .meta{ font-size:13.5px !important; }
body.single-clinica .vet-related .body{ padding:14px 14px 12px !important; }
body.single-clinica .vet-related .actions{ padding:12px 14px 14px !important; }
/* =====================================================
   FIX DEFINITIVO SINGLE: orden + back link clickeable
   (pegar al FINAL del vet-directory.css)
===================================================== */

/* 1) Back link SIEMPRE clickeable */
body.single-clinica .vet-back{
  position:relative !important;
  z-index:99999 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 14px !important;
  padding:6px 0 !important;
  color:#6b7280 !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-decoration:none !important;
  pointer-events:auto !important;
}

body.single-clinica .vet-back:hover{
  color:#0b3c3b !important;
}

body.single-clinica .vet-back-ico{
  font-size:18px !important;
  line-height:1 !important;
}

/* Si algo “tapa” el link (overlays/pseudo-elementos), lo neutralizamos */
body.single-clinica .vet-single,
body.single-clinica .container{
  position:relative !important;
  z-index:1 !important;
}

/* 2) Forzar layout vertical correcto */
body.single-clinica .vet-card__content{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}

/* 3) Orden forzado: Título -> Estrellas -> Grid -> Botón */
body.single-clinica .vet-title{ order:1 !important; }
body.single-clinica .vet-rating{ order:2 !important; margin-top:6px !important; }
body.single-clinica .vet-grid{ order:3 !important; }
body.single-clinica .vet-actions{ order:4 !important; }

/* 4) Asegurar que el rating NO se pegue al título en línea */
body.single-clinica .vet-rating{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

/* 5) Badge dentro de la imagen SIEMPRE */
body.single-clinica .vet-card__media{
  position:relative !important;
}

body.single-clinica .vet-card__media .badge,
body.single-clinica .vet-card__media .vet-badge{
  position:absolute !important;
  top:14px !important;
  left:14px !important;
  z-index:5 !important;
  background: var(--cta) !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  font-size:13px !important;
  box-shadow:0 10px 22px rgba(242,106,61,.35) !important;
}
/* =========================================
   FIX DEFINITIVO – SINGLE CLÍNICA
   Orden: Título > Estrellas > Datos > Botón
========================================= */

body.single-clinica .vet-card__content{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
}

/* Título SIEMPRE en su línea */
body.single-clinica .vet-title{
  display:block !important;
  width:100% !important;
  margin:0 0 10px !important;
}

/* Estrellas SIEMPRE debajo del título */
body.single-clinica .vet-rating{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:100% !important;
  margin:0 0 14px !important;
}

/* Evita que se “suban” a la derecha */
body.single-clinica .vet-rating,
body.single-clinica .vet-stars,
body.single-clinica .vet-score{
  float:none !important;
  position:static !important;
}

/* Grid de datos ordenado */
body.single-clinica .vet-grid{
  width:100% !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:16px 24px !important;
}

@media (max-width: 700px){
  body.single-clinica .vet-grid{
    grid-template-columns:1fr !important;
  }
}

/* Servicios en 1 línea en PC si caben, y wrap bonito */
body.single-clinica .vet-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  justify-content:flex-start !important;
}

/* Botón llamar abajo */
body.single-clinica .vet-actions{
  width:100% !important;
  margin-top:14px !important;
  display:flex !important;
  gap:14px !important;
  flex-wrap:wrap !important;
}
/* Header links blancos SOLO en el directorio */
body.post-type-archive-clinica header,
body.single-clinica header{
  color:#fff !important;
}

body.post-type-archive-clinica header a,
body.single-clinica header a{
  color:#fff !important;
  opacity:1 !important;
}

body.post-type-archive-clinica header a:hover,
body.single-clinica header a:hover{
  color:#fff !important;
}
/* =========================================
   SINGLE – Grid estable (sin huecos)
========================================= */

/* Fuerza 2 columnas en desktop */
body.single-clinica .vet-grid{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 24px !important;
  align-items:start !important;
}

/* En móvil 1 columna */
@media (max-width: 700px){
  body.single-clinica .vet-grid{
    grid-template-columns: 1fr !important;
  }
}

/* Si NO muestras Teléfono en el grid, haz que "Página web" ocupe el hueco derecho
   (así no queda un vacío visual). */
body.single-clinica .vet-block--web{
  grid-column: 2 / 3 !important;
}

@media (max-width: 700px){
  body.single-clinica .vet-block--web{
    grid-column: auto !important;
  }
}

/* Servicios a ancho completo */
body.single-clinica .vet-block--full{
  grid-column: 1 / -1 !important;
}
/* =========================================
   PATCH SINGLE: orden + alineación (sin huecos)
   - rating centrado bajo título
   - web izquierda y servicios debajo
   - botón llamar centrado
========================================= */

/* 1) Quita cualquier grid raro heredado del theme */
body.single-clinica .vet-card__content{
  display:block !important;
}

/* 2) Título normal */
body.single-clinica .vet-title{
  margin:0 0 10px !important;
}

/* 3) Estrellas: debajo del título, centradas */
body.single-clinica .vet-rating{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  margin:0 0 18px !important;
  width:100% !important;
  text-align:center !important;
}

/* asegura que no queden pegadas a la izquierda por estilos previos */
body.single-clinica .vet-stars,
body.single-clinica .vet-score{
  margin:0 !important;
}

/* 4) Grid de datos SIN HUECOS: 2 columnas reales */
body.single-clinica .vet-grid{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap:16px 24px !important;
  align-items:start !important;
}

/* móvil: 1 columna */
@media (max-width: 900px){
  body.single-clinica .vet-grid{
    grid-template-columns: 1fr !important;
  }
}

/* 5) Reubicar: Página web en izquierda (col 1) */
body.single-clinica .vet-block--web{
  grid-column: 1 / 2 !important;
}

/* 6) Servicios debajo de la web (misma columna izquierda) */
body.single-clinica .vet-block--full{
  grid-column: 1 / 2 !important; /* en desktop: izquierda */
}

/* en móvil: servicios ocupa ancho completo */
@media (max-width: 900px){
  body.single-clinica .vet-block--full{
    grid-column: 1 / -1 !important;
  }
}

/* 7) Servicios: en una línea si caben, y responsive */
body.single-clinica .vet-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  justify-content:flex-start !important;
}

/* 8) Botón llamar: centrado */
body.single-clinica .vet-actions--single{
  display:flex !important;
  justify-content:center !important;
  margin-top:18px !important;
}

/* evita que el botón se pegue a un lado */
body.single-clinica .vet-actions--single .vet-btn{
  width:fit-content !important;
  min-width:280px;
}

/* 9) Si el theme mete márgenes raros al contenedor */
body.single-clinica .vet-card{
  align-items:stretch !important;
}
/* ================================
   SINGLE: Rating correcto (grande, debajo del título)
   + apagar rating duplicado del theme
================================== */

/* 1) Asegura orden: Título primero, luego rating */
body.single-clinica .vet-card__content{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
}

/* El rating SIEMPRE debajo del título */
body.single-clinica .vet-title{ order:1 !important; }
body.single-clinica .vet-rating{ order:2 !important; }
body.single-clinica .vet-grid{ order:3 !important; }
body.single-clinica .vet-actions--single{ order:4 !important; }

/* 2) Rating más grande y visible */
body.single-clinica .vet-rating{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important; /* queda “natural” bajo el título */
  gap:12px !important;
  margin-top:2px !important;
  margin-bottom:6px !important;
}

/* Tamaño estrellas */
body.single-clinica .vet-stars{
  font-size:18px !important;   /* antes estaba muy pequeño */
  letter-spacing:2px !important;
}

/* El número 4.6 más presente */
body.single-clinica .vet-score{
  font-size:16px !important;
  font-weight:900 !important;
  color: var(--primary) !important;
}

/* 3) Si el theme está metiendo estrellas grises extra, las ocultamos dentro de la tarjeta */
body.single-clinica .vet-card .ct-star-rating,
body.single-clinica .vet-card .star-rating,
body.single-clinica .vet-card [class*="star-rating"],
body.single-clinica .vet-card [class*="rating"] .star-rating{
  display:none !important;
}

/* 4) En móvil: un pelín más grande para lectura */
@media (max-width: 600px){
  body.single-clinica .vet-stars{ font-size:19px !important; }
  body.single-clinica .vet-score{ font-size:16px !important; }
}
body.single-clinica .vet-rating{
  display:flex;
  align-items:center;
  gap:10px;
  margin:10px 0 16px;
}

body.single-clinica .vet-stars{
  font-size:18px;
  letter-spacing:2px;
}

body.single-clinica .vet-score{
  font-size:16px;
  font-weight:800;
  color:#0b3c3b;
}

/* Web a la izquierda y servicios debajo (misma columna) */
body.single-clinica .vet-block--web{ grid-column: 1; }
body.single-clinica .vet-block--services{ grid-column: 1; }

/* En móvil, 1 columna */
@media (max-width:600px){
  body.single-clinica .vet-block--web,
  body.single-clinica .vet-block--services{
    grid-column: 1 / -1;
  }
}

/* Botón centrado */
body.single-clinica .vet-actions--single{
  display:flex;
  justify-content:center;
}
/* =========================
   FIX DEFINITIVO ESTRELLAS (SINGLE CLINICA)
   ========================= */
body.single-clinica .vet-card__content .vet-rating{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:10px 0 16px !important;
  position:relative !important;
  z-index:2 !important;
}

body.single-clinica .vet-card__content .vet-stars{
  position:relative !important;
  display:inline-block !important;
  line-height:1 !important;
  font-size:20px !important;      /* más grandes */
  letter-spacing:2px !important;
  height:1em !important;
  width:max-content !important;
}

body.single-clinica .vet-card__content .vet-stars-bg{
  position:relative !important;
  display:block !important;
  color:#d0d0d0 !important;        /* gris claro visible */
}

body.single-clinica .vet-card__content .vet-stars-fill{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  display:block !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  color:#ec642c !important;        /* naranja */
  height:1em !important;
}

body.single-clinica .vet-card__content .vet-score{
  font-size:16px !important;
  font-weight:800 !important;
  color:#0b3c3b !important;
}
/* Quitar estrellas “fantasma” arriba-izquierda (solo fuera de la tarjeta) */
body.single-clinica .vet-single > .container > .vet-stars,
body.single-clinica .vet-single > .container > .vet-rating,
body.single-clinica .vet-single > .container > .stars,
body.single-clinica .vet-single > .container > .star-rating{
  display:none !important;
}

/* Asegurar que las estrellas dentro de la tarjeta SIEMPRE se vean */
body.single-clinica .vet-card__content .vet-rating,
body.single-clinica .vet-card__content .vet-stars{
  display:flex !important;
}
body.single-clinica .vet-card__content .vet-stars{
  display:inline-block !important;
}
body.single-clinica .vet-single > .container::before,
body.single-clinica .vet-single > .container::after{
  content:none !important;
}
body.single-clinica .vet-single > .container::before,
body.single-clinica .vet-single > .container::after{
  content:none !important;
}
/* 1) Encierra el componente de estrellas dentro de su bloque (single + related) */
.vet-rating .vet-stars,
.vet-related .stars .vet-stars{
  position: relative !important;
  display: inline-block !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  z-index: 1 !important; /* evita z-index gigantes que las saquen arriba */
}

/* 2) Las capas internas van absolutas PERO respecto a .vet-stars (no al body) */
.vet-rating .vet-stars .vet-stars-bg,
.vet-rating .vet-stars .vet-stars-fill,
.vet-related .stars .vet-stars .vet-stars-bg,
.vet-related .stars .vet-stars .vet-stars-fill{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  line-height: 1 !important;
}

/* 3) Recorte del relleno */
.vet-rating .vet-stars .vet-stars-fill,
.vet-related .stars .vet-stars .vet-stars-fill{
  overflow: hidden !important;
}

/* 4) Asegura que el contenedor “stars” no sea el culpable del desplazamiento */
.vet-related .stars,
.vet-rating{
  position: relative !important;
  z-index: 1 !important;
}
/* =========================
   SELECCIÓN PREMIUM (badge tipo botón)
   ========================= */

.section-featured-premium .premium-badge{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;

  background: #EC642C !important;  /* naranja */
  color: #fff !important;

  padding: 10px 16px !important;
  border-radius: 999px !important;

  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1 !important;

  width: auto !important;
  max-width: fit-content !important;

  box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
}

/* Centrar el “botón” en la franja */
.section-featured-premium .container{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Por si algo lo empuja a la izquierda */
.section-featured-premium .premium-badge{
  margin: 0 auto 14px !important;
  text-align: center !important;
  float: none !important;
}
/* =========================================================
   FIX ESTRELLAS "OTRAS CLÍNICAS" (relleno visible)
   ========================================================= */

.vet-related .body .stars .vet-stars{
  position: relative !important;
  display: inline-block !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  font-size: 16px !important;
}

.vet-related .body .stars .vet-stars-bg{
  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;
  color: #e0e0e0 !important;
  line-height: 1 !important;
}

.vet-related .body .stars .vet-stars-fill{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 2 !important;

  overflow: hidden !important;
  white-space: nowrap !important;
  line-height: 1 !important;

  color: #ff6a3d !important;
}

/* opcional: numerito 4.7 */
.vet-related .body .stars .score{
  color: #0f4c45 !important;
  font-weight: 600 !important;
}
/* =================================================
   FIX: Servicios en una sola fila (SOLO PC) – SINGLE
   ================================================= */
@media (min-width: 1024px){

  /* Contenedor de tags */
  .vet-single .vet-card__content .vet-block--full .vet-tags{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
  }

  /* Cada “pill” */
  .vet-single .vet-card__content .vet-block--full .vet-tags .vet-tag{
    display: inline-flex !important;
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
  }
}
/* =========================================================
   FIX 1: Servicios en una sola fila en PC (dar más ancho)
   ========================================================= */
@media (min-width: 1024px){
  /* tu bloque real en el HTML es: .vet-block--services */
  .vet-single .vet-grid .vet-block--services{
    grid-column: 1 / -1 !important; /* ocupa las 2 columnas */
  }

  .vet-single .vet-grid .vet-block--services .vet-tags{
    display: flex !important;
    flex-wrap: wrap !important;   /* por si hay 10 tags, que no reviente */
    gap: 10px !important;
  }

  .vet-single .vet-grid .vet-block--services .vet-tag{
    white-space: nowrap !important;
    width: auto !important;
    margin: 0 !important;
  }
}

/* =========================================================
   FIX 2: Estrellas con relleno real (4.5 = 90% visible)
   ========================================================= */
.vet-rating .vet-stars,
.vet-related .vet-stars{
  position: relative !important;
  display: inline-block !important;
  line-height: 1 !important;
}

.vet-rating .vet-stars-bg,
.vet-related .vet-stars-bg{
  display: block !important;
  color: #d9d9d9 !important;
}

.vet-rating .vet-stars-fill,
.vet-related .vet-stars-fill{
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  height: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  color: #ff6a3d !important;
}