/* =====================================================================
   UBICACLICK v3 · Banner discreto de patrocinantes.
   No tapa el buscador, las categorías, la ficha ni los controles del mapa.
   ===================================================================== */
.sponsor-strip {
  position: absolute; z-index: 1050; top: calc(12px + var(--safe-top, 0px)); right: 12px;
  display: flex; align-items: center; gap: 4px; width: 300px; padding: 6px 6px 6px 8px;
  font-family: var(--font, system-ui, sans-serif); color: var(--ink, #1D1B3A);
  background: rgba(255, 255, 255, .96); border: 2px solid var(--ink, #1D1B3A); border-radius: 18px;
  box-shadow: 0 3px 0 var(--ink, #1D1B3A);
  opacity: 0; transform: translateY(-6px); transition: opacity .3s, transform .3s;
}
.sponsor-strip.is-in, .sponsor-strip.is-static { opacity: 1; transform: none; }
.sponsor-strip.is-fading .sponsor-strip__link { opacity: 0; }
.sponsor-strip__link { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; transition: opacity .25s; }
.sponsor-strip img { flex: none; width: 36px; height: 36px; object-fit: contain; background: #fff; border: 1.5px solid #DCE0F0; border-radius: 10px; }
.sponsor-strip__body { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
.sponsor-strip__tag { font-size: 10.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-soft, #55537A); }
.sponsor-strip strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.sponsor-strip__text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12.5px; color: var(--ink-soft, #55537A); }
.sponsor-strip__close { flex: none; align-self: flex-start; width: 26px; height: 26px; padding: 0; font-size: 18px; line-height: 1; color: var(--ink-soft, #55537A); background: none; border: 0; border-radius: 50%; cursor: pointer; }
.sponsor-strip__close:hover, .sponsor-strip__close:focus-visible { background: var(--mist, #F3F6FF); color: var(--ink, #1D1B3A); }
.sponsor-strip__dots { position: absolute; left: 50%; bottom: 3px; display: flex; gap: 3px; transform: translateX(-50%); }
.sponsor-strip__dots i { width: 4px; height: 4px; background: #C9CDE0; border-radius: 50%; }
.sponsor-strip__dots i.on { background: var(--ink, #1D1B3A); }
@media (prefers-reduced-motion: reduce) { .sponsor-strip, .sponsor-strip__link { transition: none; } }

/* Pantallas medianas: debajo de las categorías, a la derecha */
@media (min-width: 761px) and (max-width: 1179px) {
  .sponsor-strip { top: calc(134px + var(--safe-top, 0px)); width: 270px; }
}
/* Móvil: píldora compacta bajo las categorías; sin texto secundario */
@media (max-width: 760px) {
  .sponsor-strip { top: calc(118px + var(--safe-top, 0px)); left: 10px; right: auto; width: auto; max-width: calc(100% - 20px); padding: 3px 4px 3px 4px; border-radius: 999px; box-shadow: 0 2px 0 var(--ink, #1D1B3A); }
  .sponsor-strip img { width: 26px; height: 26px; border-radius: 50%; }
  .sponsor-strip__link { gap: 7px; }
  .sponsor-strip__body { flex-direction: row; align-items: baseline; gap: 6px; }
  .sponsor-strip__text, .sponsor-strip__dots { display: none; }
  .sponsor-strip strong { font-size: 13px; }
  .sponsor-strip__tag { font-size: 9.5px; }
  body:has(#results-pill:not([hidden])) .sponsor-strip { display: none; }
}
/* Nunca encima de la ficha, los filtros, el chat ni el aviso de cookies en móvil */
body.sheet-open .sponsor-strip, body.filters-open .sponsor-strip, body.ucc-open .sponsor-strip { display: none; }
@media (max-width: 760px) { body:has(.cookie-banner:not([hidden])) .sponsor-strip { display: none; } }

/* Vista previa en Administración → Patrocinantes */
.sponsor-previews { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; align-items: start; }
.sponsor-previews figure { margin: 0; }
.sponsor-previews figcaption { margin-bottom: 6px; font-size: 13px; font-weight: 700; color: var(--ink-soft, #55537A); }
.sponsor-frame { position: relative; height: 110px; overflow: hidden; background: #EEF0E8 repeating-linear-gradient(90deg, transparent 0 60px, #fff 60px 64px); border: 2px solid var(--ink, #1D1B3A); border-radius: 16px; }
.sponsor-frame .sponsor-strip { position: absolute; top: 14px; right: 14px; }
.sponsor-frame--mobile { max-width: 300px; }
.sponsor-frame--mobile .sponsor-strip { left: 10px; right: auto; width: auto; max-width: calc(100% - 20px); padding: 3px 4px; border-radius: 999px; }
.sponsor-frame--mobile .sponsor-strip img { width: 26px; height: 26px; border-radius: 50%; }
.sponsor-frame--mobile .sponsor-strip__body { flex-direction: row; align-items: baseline; gap: 6px; }
.sponsor-frame--mobile .sponsor-strip__text { display: none; }
.sponsor-thumb { width: 40px; height: 40px; object-fit: contain; border: 1.5px solid #DCE0F0; border-radius: 10px; background: #fff; }
@media (max-width: 760px) { .sponsor-previews { grid-template-columns: 1fr; } }
