/* Diseño de búsqueda (publico_buscar.php). Portada, tarjetas y columna de ayuda vienen de publico_activas_diseno.css. */
.search-page .pa-results > * + * { margin-top:14px; }
.search-page .pa-results > .pa-alert + * { margin-top:0; }

/* ---------- Portada con buscador ---------- */
.pb-hero h1 { overflow-wrap:anywhere; }
.pb-form { position:relative; display:flex; align-items:center; max-width:500px; margin-top:16px; padding:5px; border:1px solid #d8e1ec; border-radius:999px; background:#fff; box-shadow:0 6px 18px #17324d14; }
.pb-form:focus-within { border-color:#ed0021; box-shadow:0 6px 18px #ed00211f; }
.pb-form > i { position:absolute; left:18px; color:#8a9ab0; font-size:13px; pointer-events:none; }
.pb-form input { flex:1; min-width:0; height:38px; padding:0 12px 0 38px; border:0; background:transparent; color:#0f1b2d; font:inherit; font-size:13px; outline:0; }
.pb-form input::placeholder { color:#8a9ab0; }
.pb-form button { flex-shrink:0; height:38px; padding:0 20px; border:0; border-radius:999px; background:#ed0021; color:#fff; font:inherit; font-size:12px; font-weight:800; cursor:pointer; transition:background .15s; }
.pb-form button:hover { background:#c9001c; }
.pb-form button:focus-visible { outline:2px solid #ffb400; outline-offset:2px; }
.pb-suggest { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:12px; color:#6b7c95; font-size:11px; }
.pb-suggest span { margin-right:2px; }
.pb-suggest a { padding:4px 10px; border:1px solid #e1e8f1; border-radius:999px; background:#f7fafd; color:#2b3a52; font-weight:600; transition:border-color .15s,color .15s; }
.pb-suggest a:hover { border-color:#ed0021; color:#ed0021; }
.pb-suggest a:focus-visible { outline:2px solid #ffb400; outline-offset:2px; }
.pb-suggest a b { margin-left:3px; color:#8a9ab0; font-weight:700; }
.pb-suggest a.is-active { border-color:#ed0021; background:#ed0021; color:#fff; }
.pb-suggest a.is-active b { color:#ffffffcc; }

/* ---------- Barra de resultados ---------- */
.pb-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 16px; margin-bottom:14px; }
.pb-toolbar h2 { display:flex; align-items:center; gap:10px; color:#0f1b2d; font-size:clamp(15px,1.1vw,19px); font-weight:900; letter-spacing:-.2px; text-transform:uppercase; }
.pb-toolbar h2 i { width:24px; color:#ed0021; font-size:1.1em; text-align:center; }
.pb-toolbar h2 span { color:#6b7c95; font-weight:700; }
.pb-order label { display:flex; align-items:center; gap:7px; color:#4f607a; font-size:11px; font-weight:700; white-space:nowrap; }
.pb-order select { padding:7px 8px; border:1px solid #dce5ef; border-radius:4px; background:#f8fbff; color:#2b3a52; font:inherit; font-size:11px; font-weight:600; }
.pb-order select:focus-visible { outline:2px solid #ffb400; outline-offset:2px; }
.pb-order button { margin-left:6px; padding:7px 10px; border:0; border-radius:4px; background:#ed0021; color:#fff; font:inherit; font-size:11px; font-weight:800; }
.pb-tabs { grid-column:1/-1; display:flex; gap:6px; overflow-x:auto; padding-bottom:2px; scrollbar-width:thin; }
.pb-tabs a { display:inline-flex; flex-shrink:0; align-items:center; gap:6px; padding:6px 12px; border:1px solid #e1e8f1; border-radius:999px; background:#fff; color:#4f607a; font-size:11px; font-weight:700; white-space:nowrap; transition:border-color .15s,color .15s; }
.pb-tabs a span { min-width:18px; padding:1px 6px; border-radius:999px; background:#eef3f9; color:#4f607a; font-size:10px; text-align:center; }
.pb-tabs a:hover { border-color:#ed0021; color:#ed0021; }
.pb-tabs a.is-active { border-color:#ed0021; background:#ed0021; color:#fff; }
.pb-tabs a.is-active span { background:#ffffff33; color:#fff; }
.pb-tabs a:focus-visible { outline:2px solid #ffb400; outline-offset:2px; }
.pb-tabs a.pb-chip { border-color:#f3c2c9; background:#fff3f5; color:#b8001a; }
.pb-tabs a.pb-chip:hover { border-color:#ed0021; }

/* ---------- Cuadrícula ---------- */
.pb-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(205px,1fr)); gap:12px; }
.pb-recent .pb-grid { margin-bottom:4px; }
.pb-none { padding:26px 12px; color:#5f708a; font-size:12px; text-align:center; }
.pb-none a { color:#ed0021; font-weight:700; }
.pb-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding:16px 0 6px; color:#586d8a; font-size:11px; }
.pb-pagination nav { display:flex; gap:5px; }
.pb-pagination a { display:grid; place-items:center; min-width:30px; height:30px; padding-inline:6px; border:1px solid #dfe7f1; border-radius:4px; background:#fff; }
.pb-pagination a:hover { border-color:#ed0021; color:#ed0021; }
.pb-pagination a[aria-current=page] { border-color:#ed0021; background:#ed0021; color:#fff; }
.pb-unavailable span { flex:1; }

/* ---------- Teléfonos ---------- */
@media (max-width:760px) {
 .pb-form { max-width:none; }
 .pb-form input { font-size:15px; }
 .pb-toolbar { grid-template-columns:minmax(0,1fr); }
 .pb-toolbar h2 { font-size:16px; }
 .pb-order label { justify-content:space-between; }
 .pb-order select { min-height:36px; font-size:13px; }
 .pb-tabs a { padding:8px 12px; font-size:12px; }
 .pb-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
}
@media (max-width:360px) { .pb-grid { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { .pb-form button,.pb-suggest a,.pb-tabs a { transition:none; } }
