/* OrsoIA Directory — base + variantes por sitio (footprint) */
.oid-wrap{max-width:860px;margin:0 auto;padding:0 16px}
.oid-ancho{max-width:1280px} /* listados: todo el ancho */
/* v1.18.1: ficha de negocio más ancha (info densa: dirección, mapa, horario, reseñas → menos scroll,
   y deja de verse estrecha frente al header). El texto descriptivo se mantiene a ancho LEGIBLE dentro. */
.oid-wrap.oid-ficha{max-width:1280px} /* = ancho del header y los listados */
.oid-ficha .oid-texto{max-width:820px}
/* rejilla de tarjetas con columnas fijas por breakpoint (robusto ante el contenedor del tema) */
.oid-ancho .oid-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1040px){.oid-ancho .oid-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.oid-ancho .oid-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.oid-ancho .oid-grid{grid-template-columns:1fr}}
.oid-migas{font-size:.85em;color:#666;margin:12px 0}
.oid-cabecera h1{margin-bottom:4px}
.oid-meta{color:#555}
.oid-rating{font-weight:700;color:var(--oid-acento,#1a7f5a)}
.oid-nres{color:#888;font-size:.9em}
.oid-cerrado{background:#c0392b;color:#fff;border-radius:4px;padding:2px 8px;font-size:.8em;margin-left:8px}
.oid-datos{background:var(--oid-suave,#f2f7f5);border-radius:10px;padding:16px 20px;margin:16px 0}
.oid-datos p{margin:6px 0}
/* 2 columnas: datos a la izq + foto de contexto a la der (rellena el hueco y rompe el texto) */
.oid-datos-2col{display:flex;gap:24px;align-items:stretch}
.oid-datos-2col .oid-datos-info{flex:1 1 56%;min-width:0}
.oid-datos-foto{flex:0 0 40%;align-self:stretch;min-height:200px}
.oid-datos-foto img{width:100%;height:100%;min-height:200px;max-height:300px;object-fit:cover;border-radius:10px;display:block}
@media(max-width:640px){.oid-datos-2col{flex-direction:column}.oid-datos-foto{flex-basis:auto}.oid-datos-foto img{max-height:200px}}
.oid-btn{display:inline-block;background:var(--oid-acento,#1a7f5a);color:#fff !important;border-radius:8px;padding:8px 16px;text-decoration:none;font-weight:600}
.oid-btn-sec{background:transparent;color:var(--oid-acento,#1a7f5a) !important;border:2px solid var(--oid-acento,#1a7f5a)}
.oid-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:16px 0}
.oid-card{border:1px solid #e3e3e3;border-radius:10px;padding:14px 16px}
.oid-card h3{font-size:1.02em;margin:0 0 6px}
.oid-card .oid-dir{font-size:.85em;color:#777}
.oid-intro{margin:12px 0 20px}
.oid-ciudades{columns:2;list-style:none;padding:0}
.oid-ciudades li{margin:4px 0}
.oid-horario{list-style:none;padding:0}
/* v1.19: reservar altura del hueco AdSense → evita CLS (salto de layout) al cargar el anuncio */
.oid-ad{margin:20px 0;min-height:100px}
.oid-intro-fondo{margin-top:36px}
.oid-serv-img{margin:18px 0}
.oid-serv-img img{width:100%;height:auto;border-radius:10px;display:block}
.oid-ad-listado{min-height:280px}
@media(max-width:640px){.oid-ad-listado{min-height:250px}}
.oid-abierto{font-weight:700;margin-left:10px;font-size:.9em}
.oid-abierto-si{color:#1a7f5a}
.oid-abierto-no{color:#b03a2e}
.oid-chips{margin:6px 0 0}
.oid-chip{display:inline-block;background:var(--oid-suave,#f0f7f4);color:var(--oid-acento,#1a7f5a);
  border-radius:999px;padding:2px 12px;font-size:.78em;font-weight:600;margin:0 6px 6px 0}
.oid-btn-wa{background:#25d366;color:#fff !important;border:0;margin-left:8px}
.oid-pie-ficha{margin-top:28px;padding-top:12px;border-top:1px solid #eee;font-size:.8em;color:#999}
.oid-pie-ficha a{color:#888}
.oid-mapa-embed{margin:16px 0}
.oid-mapa-embed iframe{width:100%;height:340px;border:0;border-radius:10px}
.oid-opiniones{margin:8px 0 20px}
.oid-cita{border-left:3px solid var(--oid-acento,#1a7f5a);margin:10px 0;padding:6px 14px;font-style:italic;color:#555}
.oid-fuente{font-size:.78em;color:#999}
.oid-resena{border-top:1px solid #eee;padding:10px 0 2px}
.oid-resena p{margin:4px 0 8px;font-size:.92em;color:#444}
.oid-mas-resenas summary{cursor:pointer;color:var(--oid-acento,#1a7f5a);font-weight:600;margin:8px 0}
.oid-paginacion{margin:24px 0}
@media(max-width:600px){.oid-ciudades{columns:1}}

/* El footer (copyright + enlaces legales) lo rellena el filtro generate_copyright del plugin.
 * Ocultamos solo la atribución "Proudly powered by" de GeneratePress, no toda la barra. */
.site-info .generate-back-to-top ~ *,.copyright a{color:inherit}
.footer-bar,.inside-site-info a[href*="generatepress"]{display:none}

/* Logo del header (selectores de GeneratePress) a tamaño sensato + sin título duplicado al lado */
.site-logo img,.header-image,img.is-logo-image,.site-header .custom-logo{max-height:52px !important;width:auto !important}
.site-logo{padding:10px 0}
body.wp-custom-logo .main-title,body.wp-custom-logo .site-description{display:none}
.main-navigation .menu{display:flex;flex-wrap:wrap;align-items:center}

/* Buscador */
.oid-buscador{display:flex;gap:8px;max-width:560px;margin:18px auto 6px;flex-wrap:wrap}
.oid-buscador input[type=search]{flex:1;min-width:0;padding:12px 16px;border-radius:10px;border:1px solid #ddd;font-size:1em}
.oid-buscador .oid-btn{white-space:nowrap}
.oid-hero .oid-buscador input[type=search]{border:0}
@media(max-width:520px){.oid-buscador input[type=search],.oid-buscador .oid-btn{width:100%;flex:none}}

/* Buscador-filtro de localidades (página Mapa del directorio) */
.oid-filtra-ciudades{width:100%;max-width:520px;display:block;margin:0 auto 18px;padding:13px 16px;
  border:1px solid #ddd;border-radius:10px;font-size:1em}
.oid-chips-mapa{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.oid-chips-mapa{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.oid-chips-mapa{grid-template-columns:repeat(2,1fr)}}

/* Botones-chip de ciudad (mapa del directorio, listas de localidades) */
.oid-chips-grid{list-style:none;padding:0;margin:8px 0 22px;display:grid;gap:8px;
  grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}
.oid-chips-grid li{margin:0}
.oid-chips-grid a{display:flex;justify-content:space-between;align-items:center;gap:6px;
  background:var(--oid-suave,#f0f7f4);border:1px solid rgba(0,0,0,.06);border-radius:10px;
  padding:11px 14px;text-decoration:none;color:var(--oid-acento,#1a7f5a);font-weight:600;line-height:1.2}
.oid-chips-grid a:hover{background:var(--oid-acento,#1a7f5a);color:#fff}
.oid-chips-grid a small{opacity:.65;font-weight:400}
@media(max-width:560px){.oid-chips-grid{grid-template-columns:1fr}} /* móvil: 1 columna, sin corte a la derecha */

/* El listado "mejor valorados" se colapsa a 20 fichas (5 filas × 4) + botón "ver más":
   así la sección de servicios y la FAQ quedan accesibles sin scroll infinito por 100 fichas.
   El filtro "abierto ahora" (JS) expande el listado para ver TODOS los abiertos de la página. */
.oid-listado.oid-colapsado>.oid-card:nth-child(n+21){display:none}
@media(max-width:760px){.oid-listado.oid-colapsado>.oid-card:nth-child(n+9){display:none}}
.oid-vermas{display:block;width:100%;margin:2px 0 22px;padding:12px 18px;font-size:1em;font-weight:600;
  cursor:pointer;background:var(--oid-suave,#f0f7f4);color:var(--oid-acento,#1a7f5a);
  border:1px solid rgba(0,0,0,.08);border-radius:10px}
.oid-vermas:hover{background:var(--oid-acento,#1a7f5a);color:#fff}
.oid-vermas[hidden]{display:none}

/* Hero de portada + CTA */
.oid-hero{background:linear-gradient(135deg,var(--oid-acento,#1a7f5a),#123830);border-radius:14px;
  padding:56px 32px;text-align:center;color:#fff;margin:8px 0 28px}
.oid-hero h1{color:#fff;font-size:2.1em;margin:0 0 10px}
.oid-hero p{color:rgba(255,255,255,.92);max-width:640px;margin:0 auto 20px}
.oid-cta-abiertos{display:inline-block;background:#fff;color:var(--oid-acento,#1a7f5a) !important;
  font-weight:800;font-size:1.05em;border-radius:999px;padding:14px 28px;text-decoration:none;
  box-shadow:0 3px 10px rgba(0,0,0,.25)}
.oid-cta-abiertos:hover{transform:scale(1.04)}
.oid-abierto-mini{font-size:.8em;font-weight:700}
.oid-filtro-on{background:var(--oid-acento,#1a7f5a);color:#fff !important}
.oid-cerca-app{margin:16px 0}

/* Tarjetas de ciudades destacadas (home) — 3 columnas con foto */
.oid-ciudades-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.oid-ciudad-card{position:relative;display:flex;align-items:flex-end;aspect-ratio:16/10;border-radius:12px;
  overflow:hidden;background-size:cover;background-position:center;text-decoration:none;
  box-shadow:0 1px 4px rgba(0,0,0,.12);transition:transform .15s}
.oid-ciudad-card:hover{transform:translateY(-3px)}
/* degradado con el COLOR DE MARCA (--oid-acento-rgb por variante) — automático en cada vertical.
 * Garantiza texto legible sobre cualquier foto y da identidad de color sin ensuciar la imagen. */
.oid-ciudad-card::after{content:"";position:absolute;inset:0;z-index:1;transition:background .2s;
  background:linear-gradient(to top,rgb(var(--oid-acento-rgb,20 20 20) / .9) 0%,rgb(15 15 20 / .4) 42%,rgb(0 0 0 / 0) 78%)}
.oid-ciudad-card:not(.oid-ciudad-sinfoto):hover::after{
  background:linear-gradient(to top,rgb(var(--oid-acento-rgb,20 20 20) / .96) 0%,rgb(15 15 20 / .45) 45%,rgb(var(--oid-acento-rgb,20 20 20) / .12) 100%)}
.oid-ciudad-sinfoto{background:linear-gradient(135deg,var(--oid-acento,#1a7f5a),var(--oid-suave,#f0f7f4))}
.oid-ciudad-inicial{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:3.2em;font-weight:800;color:rgba(255,255,255,.5)}
.oid-ciudad-nombre{position:relative;z-index:2;color:#fff;font-weight:700;padding:12px 14px;font-size:.98em;line-height:1.25}
.oid-ciudad-nombre small{font-weight:400;opacity:.85}
@media(max-width:760px){.oid-ciudades-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.oid-ciudades-grid{grid-template-columns:1fr}}

/* Mapa-mosaico de provincias */
.oid-mapa-es{display:grid;grid-template-columns:repeat(11,1fr);gap:4px;max-width:min(720px,100%);margin:20px auto;overflow:hidden}
@media(max-width:640px){.oid-mapa-es{display:none}} /* móvil: casillas ilegibles → manda la lista de provincias */
.oid-prov{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border-radius:6px;
  background:var(--oid-suave,#f0f7f4);color:var(--oid-acento,#1a7f5a);font-size:.5em;font-weight:700;
  text-decoration:none;letter-spacing:0;transition:transform .12s;text-align:center;line-height:1.15;
  padding:3px;text-transform:uppercase;overflow-wrap:break-word;word-break:normal;hyphens:auto}
a.oid-prov:hover{background:var(--oid-acento,#1a7f5a);color:#fff;transform:scale(1.08)}
.oid-prov-vacia{background:#f3f3f3;color:#bbb;cursor:default}
@media(max-width:520px){.oid-prov{font-size:.45em;border-radius:4px}}

/* Variantes visuales por sitio — definir OID_TEMA_VARIANTE en wp-config */
body.oid-variante-e{--oid-acento:#c62828;--oid-suave:#fdf1f0;--oid-acento-rgb:198 40 40}   /* rojo motor (guiatalleres) */
body.oid-variante-e .oid-hero{background:linear-gradient(135deg,#c62828,#22262b)}
/* gradient ROJO de marca al pie de las tarjetas de ciudad (por defecto, no solo hover) */
body.oid-variante-a{--oid-acento:#1a7f5a;--oid-suave:#f0f7f4;--oid-acento-rgb:26 127 90}   /* verde  (autoescuelas/fahrschule) */
body.oid-variante-b{--oid-acento:#1f5a8a;--oid-suave:#eff5fa;--oid-acento-rgb:31 90 138}  /* azul   (fontaneros) */
body.oid-variante-c{--oid-acento:#8a4b1f;--oid-suave:#faf4ef;--oid-acento-rgb:138 75 31}  /* teja   (veterinarios) */
body.oid-variante-d{--oid-acento:#5a1f7f;--oid-suave:#f6effa;--oid-acento-rgb:90 31 127}  /* morado (electricistas) */
body.oid-variante-b .oid-card{border-radius:4px}
body.oid-variante-c .oid-btn{border-radius:999px}
body.oid-variante-d .oid-datos{border-left:4px solid var(--oid-acento);border-radius:4px}

/* --- Sobre nosotros: foto de confianza + banda de estadísticas reales (E-E-A-T) --- */
.oid-sobre-foto{margin:0 0 1.4rem}
.oid-sobre-foto img{width:100%;height:auto;border-radius:12px;object-fit:cover;max-height:380px}
.oid-stats{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1.6rem 0;padding:0}
.oid-stats li{background:var(--oid-suave,#f6f7f9);border:1px solid rgb(var(--oid-acento-rgb,20 20 20)/.12);border-radius:12px;padding:1rem .5rem;text-align:center;display:flex;flex-direction:column;gap:.2rem}
.oid-stats li strong{font-size:1.6rem;line-height:1.1;color:rgb(var(--oid-acento-rgb,20 20 20)/1)}
.oid-stats li span{font-size:.82rem;color:#555;line-height:1.2}
@media(max-width:640px){.oid-stats{grid-template-columns:repeat(2,1fr)}}

/* --- Servicio×ciudad: jerarquía clara (cabecera de servicio vs filas de empresa) --- */
.oid-serv-ciudad{margin:0 0 1.1rem;border:1px solid rgb(var(--oid-acento-rgb,20 20 20)/.14);border-radius:14px;overflow:hidden;background:#fff}
.oid-serv-head{background:var(--oid-suave,#f6f7f9);border-left:5px solid rgb(var(--oid-acento-rgb,20 20 20)/1);padding:.85rem 1.1rem}
.oid-serv-head h3{margin:0;font-size:1.25rem;color:rgb(var(--oid-acento-rgb,20 20 20)/1);line-height:1.2}
.oid-serv-desc{margin:.35rem 0 .4rem;font-size:.95rem;color:#333;line-height:1.4}
.oid-serv-meta{margin:0;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;font-size:.9rem}
.oid-serv-precio{font-weight:700;color:rgb(var(--oid-acento-rgb,20 20 20)/1)}
.oid-serv-mas{font-weight:600;text-decoration:none;color:rgb(var(--oid-acento-rgb,20 20 20)/1);white-space:nowrap}
.oid-serv-label{margin:.7rem 1.1rem .2rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#8a8a8a}
.oid-serv-lista{list-style:none;margin:0;padding:0 1.1rem .6rem}
.oid-serv-lista li{padding:.6rem 0;border-top:1px solid rgb(var(--oid-acento-rgb,20 20 20)/.09)}
.oid-serv-lista li:first-child{border-top:none}
.oid-serv-row{display:flex;align-items:center;gap:.6rem;justify-content:space-between}
.oid-serv-nom{font-size:1rem;font-weight:600;text-decoration:none;color:#1a1a1a;line-height:1.3}
.oid-serv-nom:hover{color:rgb(var(--oid-acento-rgb,20 20 20)/1)}
.oid-serv-estrella{flex:none;font-size:.82rem;font-weight:700;color:#b8860b;background:#fff8e6;border:1px solid #f0e0b0;border-radius:999px;padding:.1rem .5rem;white-space:nowrap}
.oid-serv-cita{display:block;margin-top:.25rem;font-size:.86rem;color:#666;font-style:italic;line-height:1.35}

/* --- Banner de cookies propio (i18n) --- */
.oid-cookie{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:9999;max-width:640px;margin:0 auto;background:#fff;border:1px solid rgb(var(--oid-acento-rgb,20 20 20)/.18);border-radius:14px;box-shadow:0 8px 30px rgba(0,0,0,.18);padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.7rem}
.oid-cookie[hidden]{display:none}
.oid-cookie p{margin:0;font-size:.9rem;line-height:1.45;color:#333}
.oid-cookie a{color:rgb(var(--oid-acento-rgb,20 20 20)/1);font-weight:600}
.oid-cookie-btns{display:flex;gap:.6rem;justify-content:flex-end;flex-wrap:wrap}
.oid-cookie-btns .oid-btn{padding:.5rem 1.1rem;font-size:.9rem}

/* --- Blog/Guías en GRID de tarjetas (Medium-style), no lista full-width con imágenes gigantes --- */
body.blog .site-main, body.category .site-main {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.6rem; align-items: stretch;
}
body.blog .site-main > *:not(article), body.category .site-main > *:not(article) { grid-column: 1 / -1; }
body.blog .site-main > article, body.category .site-main > article {
  margin: 0; padding: 0 0 1rem; border: 1px solid rgb(var(--oid-acento-rgb,20 20 20)/.12);
  border-radius: 14px; overflow: hidden; background: #fff; display: flex; flex-direction: column;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
body.blog .site-main > article .post-image, body.category .site-main > article .post-image { margin: 0 }
body.blog .site-main > article .wp-post-image, body.category .site-main > article .wp-post-image,
body.blog .site-main > article .post-image img, body.category .site-main > article .post-image img {
  width: 100%; height: 175px; object-fit: cover; display: block; margin: 0; border-radius: 0;
}
body.blog .site-main > article .entry-header, body.category .site-main > article .entry-header,
body.blog .site-main > article .entry-summary, body.category .site-main > article .entry-summary,
body.blog .site-main > article .entry-content, body.category .site-main > article .entry-content,
body.blog .site-main > article .entry-meta, body.category .site-main > article .entry-meta { padding: 0 1.1rem }
body.blog .site-main > article .entry-title, body.category .site-main > article .entry-title {
  font-size: 1.15rem; line-height: 1.32; margin: .9rem 0 .3rem;
}
body.blog .site-main > article .entry-title a, body.category .site-main > article .entry-title a { color: #1a1a1a }
/* recorta el contenido/excerpt a ~4 líneas (funciona aunque el tema muestre el contenido completo) */
body.blog .site-main > article .entry-summary, body.category .site-main > article .entry-summary,
body.blog .site-main > article .entry-content, body.category .site-main > article .entry-content {
  max-height: 6.4em; overflow: hidden; position: relative; font-size: .92rem; color: #555; line-height: 1.5; flex: 1;
}
body.blog .site-main > article .entry-content h2, body.category .site-main > article .entry-content h2,
body.blog .site-main > article .entry-content h3, body.category .site-main > article .entry-content h3 { font-size: 1rem; margin: .3rem 0 }
body.blog .site-main > article .entry-meta { font-size: .8rem; color: #999; margin-top: .5rem }
@media(max-width:640px){ body.blog .site-main, body.category .site-main { grid-template-columns: 1fr } 
  body.blog .site-main > article .wp-post-image, body.category .site-main > article .wp-post-image { height: 200px } }

/* Blog/Guías: SIN sidebar (ancho completo → 3 columnas) + título de tarjeta más grande */
body.blog #right-sidebar, body.category #right-sidebar,
body.blog #left-sidebar, body.category #left-sidebar { display: none !important }
body.blog .content-area, body.category .content-area { width: 100% !important; float: none !important }
body.blog .site-main > article .entry-title, body.category .site-main > article .entry-title {
  font-size: 1.32rem !important; line-height: 1.28 !important; font-weight: 700;
}

/* Sello de frescura (recencia + confianza): fecha de última revisión */
.oid-frescura{margin:18px 0 4px;font-size:.9em;color:var(--oid-tenue,#6b7280);font-weight:500}

/* Banner "anúnciate / destaca tu negocio" (venta directa · solo landings de ciudad/provincia).
   Estilo CONTENIDO (no imita un anuncio) → AdSense-safe. Coherente con --oid-acento de cada vertical. */
.oid-anunciate{margin:26px 0;padding:22px 24px;border-radius:14px;text-align:center;
  background:var(--oid-suave,#f0f7f4);border:1px solid rgb(var(--oid-acento-rgb,26 127 90) / .22)}
.oid-anunciate h2{margin:0 0 6px;font-size:1.15rem;border:0;padding:0}
.oid-anunciate p{margin:0 auto 14px;max-width:52ch;color:#444}
.oid-anunciate .oid-btn{padding:10px 22px}
/* CTA slim "anúnciate" arriba (bajo el H1) — una línea, visible sin scroll, no imita anuncio. */
.oid-anunciate-top{margin:2px 0 16px;font-size:.92rem;color:#666}
.oid-anunciate-top a{color:var(--oid-acento,#1a7f5a);font-weight:700;text-decoration:none;white-space:nowrap}
.oid-anunciate-top a:hover{text-decoration:underline}
/* Formulario de contacto (propio, sin plugin externo) */
.oid-form{display:flex;flex-direction:column;gap:12px;max-width:560px;margin:18px 0}
.oid-form label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:.94rem}
.oid-form input,.oid-form textarea{font:inherit;padding:10px 12px;border:1px solid #ccc;border-radius:8px;background:#fff}
.oid-form input:focus,.oid-form textarea:focus{outline:2px solid var(--oid-acento,#1a7f5a);border-color:transparent}
.oid-form textarea{resize:vertical}
.oid-form-rgpd{flex-direction:row!important;align-items:flex-start;gap:8px;font-weight:400;font-size:.86rem;color:#555}
.oid-form-rgpd input{width:auto;margin-top:2px}
.oid-form .oid-btn{align-self:flex-start;border:0;cursor:pointer}
.oid-form .oid-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.oid-form-msg{padding:11px 14px;border-radius:8px;font-weight:600}
.oid-form-msg.oid-ok{background:#e6f6ee;color:#0f7a4d}
.oid-form-msg.oid-err{background:#fdeaea;color:#c0392b}
/* Ficha DESTACADA (venta directa): borde+realce dorado y badge. Se fija arriba de su ciudad. */
.oid-card-dest{border:1.5px solid #e6b800;box-shadow:0 2px 14px rgb(230 184 0 / .18);position:relative}
.oid-badge-dest{display:inline-block;background:linear-gradient(90deg,#f5c518,#e6a800);color:#3a2c00;
  font-weight:800;font-size:11px;letter-spacing:.02em;padding:3px 10px;border-radius:99px;margin-bottom:7px}
/* Card GRANDE del negocio PATROCINADO (de pago) en el slot del banner de la ciudad */
.oid-patro{margin:22px 0;padding:22px 24px;border-radius:14px;background:var(--oid-suave,#f0f7f4);
  border:1.5px solid #e6b800;box-shadow:0 3px 18px rgb(230 184 0 / .18)}
.oid-patro .oid-badge-dest{margin-bottom:9px}
.oid-patro-nom{margin:.1em 0 .2em;font-size:1.45rem;border:0;padding:0}
.oid-patro-nom a{text-decoration:none;color:inherit}
.oid-patro .oid-dir{color:#555;margin:.2em 0 .6em}
.oid-patro-cta{margin:.7em 0 0;display:flex;gap:10px;flex-wrap:wrap}

/* v1.17: zona superior 2 columnas (form de leads + espacio destacado), misma altura, sin hueco muerto */
.oid-topzona{display:flex;gap:16px;align-items:stretch;flex-wrap:wrap;margin:22px 0}
.oid-topcol{flex:1 1 340px;display:flex}
.oid-topcol>*{width:100%;margin:0}
/* form pide-presupuesto (columna izquierda) */
.oid-presu{padding:1.3em 1.4em;border:2px solid var(--oid-acento,#1a7f5a);border-radius:14px;
  background:var(--oid-suave,#f0f7f4);display:flex;flex-direction:column}
.oid-presu h2{margin:0 0 .2em;font-size:1.22em;border:0;padding:0}
.oid-presu-p{margin:0 0 .7em;opacity:.82;font-size:.95em}
.oid-presu .oid-form{margin:0;gap:9px;max-width:none}
.oid-presu .oid-form label{font-size:.9rem;gap:3px}
.oid-presu .oid-form textarea{min-height:64px}
/* banner "SE ALQUILA": borde discontinuo = espacio disponible, centrado para llenar su mitad */
.oid-anunciate-slot{margin:0;border-style:solid;border-width:2px;
  border-color:rgb(var(--oid-acento-rgb,26 127 90) / .55);display:flex;flex-direction:column;
  justify-content:center;align-items:center;position:relative}
/* v1.18: badge "ANÚNCIATE AQUÍ" bien visible (accent sólido, no etiqueta pequeña) */
.oid-slot-tag{display:inline-block;font-size:1rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;
  color:#fff;background:var(--oid-acento,#1a7f5a);border:0;
  border-radius:999px;padding:7px 18px;margin-bottom:12px;
  box-shadow:0 2px 10px rgb(var(--oid-acento-rgb,26 127 90) / .35)}
.oid-anunciate-slot h2{font-size:1.3rem}
/* CTA "reclama tu ficha" en la ficha de negocio */
.oid-reclama{margin:30px auto 10px;max-width:640px}
@media(max-width:720px){.oid-topzona{flex-direction:column}}

/* v1.17.2: form inline de anunciante dentro del banner "espacio destacado" */
.oid-anunciate-slot .oid-form{margin:6px 0 0;gap:8px;max-width:420px;width:100%;text-align:left}
.oid-anunciate-slot .oid-form label{font-size:.88rem;gap:3px}
.oid-anunciate-slot .oid-form-rgpd{font-size:.8rem;font-weight:400}
.oid-anunciate-slot p{margin-bottom:6px}

/* v1.17.3: form presupuesto dentro de la ficha */
.oid-presu-ficha{margin:2em 0}
.oid-presu-ficha .oid-form{max-width:520px}

/* v1.19.14 · dúo presupuesto + reclama en la ficha, 50/50 (Toni 16-ago). Con un solo hijo (ficha
 * sin email → sin formulario) el que queda ocupa todo el ancho. En móvil se apilan. */
.oid-cta-duo{display:flex;gap:20px;align-items:stretch;flex-wrap:wrap;margin:26px 0}
.oid-cta-duo>*{flex:1 1 320px;min-width:290px;margin:0 !important}
.oid-cta-duo .oid-anunciate{display:flex;flex-direction:column;justify-content:center}
/* v1.20.0 · botón de compra del destacado (venta automática, sin llamada comercial) */
.oid-btn-pago{background:#c8951b;font-size:1.05em;padding:12px 22px}
.oid-btn-pago:hover{background:#a87a12}
/* lista de beneficios SIN topos: el punto de lista ensuciaba el bloque (Toni, 23-ago).
   El ✓ va como ::before para que no se copie al seleccionar el texto ni lo lea el lector de pantalla. */
.oid-oferta-lista{margin:10px 0 14px;padding:0;list-style:none;line-height:1.7}
.oid-oferta-lista li{margin-bottom:6px;padding-left:22px;position:relative}
.oid-oferta-lista li::before{content:"\2713";position:absolute;left:0;top:0;color:#c8951b;font-weight:700}

/* v1.20.5 · ficha sin email del negocio: el teléfono es el CTA principal, porque es lo único
   que de verdad le llega al negocio. El formulario se queda debajo, con texto honesto. */
.oid-presu-sinmail .oid-presu-llamar{margin:0 0 14px}
.oid-btn-llamar{display:inline-block;background:#1a7f5a;color:#fff!important;font-weight:700;
  border-radius:8px;padding:14px 26px;min-height:48px;line-height:20px;box-sizing:border-box;
  text-decoration:none;font-size:1.05em}
.oid-btn-llamar:hover{background:#14664799}
@media(max-width:600px){.oid-btn-llamar{display:block;text-align:center}}

.oid-pago-anual{margin:.4rem 0 0;font-size:.85rem;text-align:center}
.oid-pago-anual a{color:inherit;opacity:.75;text-decoration:underline}

/* v1.21.5 · marca de publicidad (LSSI) + lista de espera bajo el patrocinador */
.oid-badge-pub{display:inline-block;margin-left:8px;padding:2px 9px;border:1px solid #c9d2dd;
  border-radius:10px;color:#5b6472;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.oid-espera{margin:10px 0 22px}
.oid-espera summary{cursor:pointer;color:#5b6472;font-size:.92rem;text-decoration:underline}
.oid-espera[open]{background:#fff;border:1px solid #dde3ec;border-radius:12px;padding:14px 18px}

/* v1.21.8 · la prueba de contactos, antes del bloque de oferta */
.oid-prueba{background:#eef7ee;border-left:3px solid #2e7d32;padding:8px 12px;margin:0 0 10px;font-size:.92rem;color:#1b4d20;border-radius:4px}
