/* Buscador de servicios — estilos (incluye la versión responsive). Desktop 1280 · Tablet 700 · Móvil 320 */
.kc-buscador, .kc-estado, .kc-vacio, .kc-badge, .kc-hit { --kc-fuente: 'Red Hat Display', sans-serif; }
  .kc-buscador, .kc-buscador *, .kc-estado, .kc-vacio, .kc-vacio *, .kc-badge, .kc-hit, .kc-hit *, .kc-buscador .kc-input,
  .kc-buscador button, .kc-buscador input { font-family: var(--kc-fuente) !important; }
  .kc-buscador { --kc-borde: #dbe2fc; --kc-azul: var(--global-palette1, #2563eb); margin: 0 0 24px; }
  .kc-buscador *, .kc-buscador *::before, .kc-buscador *::after { box-sizing: border-box; }
  .kc-buscador [hidden] { display: none !important; }

  .kc-buscador .kc-form { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin: 0; }
  .kc-buscador .kc-campo {
    position: relative; flex: 1 1 320px; display: flex; align-items: center; gap: 4px;
    min-height: 56px; padding: 0 12px 0 20px; background: #f4f4f5;
    border: 2px solid var(--kc-borde); border-radius: 999px;
  }
  .kc-buscador .kc-campo:focus-within { background: #fff; border-color: var(--kc-azul); }
  .kc-buscador .kc-campo svg { flex: none; width: 20px; height: 20px; color: #718096; }
  .kc-buscador .kc-campo .kc-input {
    flex: 1; min-width: 0; margin: 0; padding: 12px; border: 0; border-radius: 0;
    background: transparent; box-shadow: none; outline: 0; color: #1a202c;
    font: inherit; font-size: 16px; -webkit-appearance: none; appearance: none;
  }
  .kc-buscador .kc-campo .kc-input:focus { box-shadow: none; outline: 0; background: transparent; }
  .kc-buscador .kc-input::-webkit-search-cancel-button { display: none; }
  .kc-buscador .kc-limpiar {
    flex: none; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%;
    background: transparent; color: #4a5568; font-size: 22px; line-height: 1; cursor: pointer;
  }
  .kc-buscador .kc-limpiar:hover { background: var(--kc-borde); }
  .kc-buscador .kc-btn {
    flex: none; min-height: 56px; padding: 0 32px; border: 0; border-radius: 999px;
    background: var(--kc-azul); color: #fff; font-size: 17px; font-weight: 600; cursor: pointer;
  }
  .kc-buscador .kc-btn:hover { filter: brightness(1.08); }

  .kc-buscador .kc-chips { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
  .kc-buscador .kc-chip {
    margin: 0; padding: 8px 20px; border: 2px solid var(--kc-borde); border-radius: 30px;
    background: #fff; color: #2d3748; font-size: 13px; line-height: 1.4; cursor: pointer;
  }
  .kc-buscador .kc-chip:hover { background: var(--kc-borde); }
  .kc-buscador .kc-chip[aria-pressed="true"] { background: var(--kc-azul); border-color: var(--kc-azul); color: #fff; }
  .kc-buscador .kc-btn:focus-visible, .kc-buscador .kc-chip:focus-visible, .kc-buscador .kc-limpiar:focus-visible {
    outline: 3px solid #1a202c; outline-offset: 2px;
  }

  /* Estado y "sin resultados" (los crea el script antes de las pestañas) */
  .kc-estado { margin: 0 0 16px; font-size: 14px; color: #4a5568; }
  .kc-vacio { margin: 0 0 24px; padding: 28px 24px; border: 2px dashed #dbe2fc; border-radius: 30px; text-align: center; color: #2d3748; }
  .kc-vacio button {
    margin-top: 12px; padding: 8px 20px; border: 2px solid #dbe2fc; border-radius: 30px;
    background: #fff; color: #2d3748; font-size: 13px; cursor: pointer;
  }
  .kc-estado[hidden], .kc-vacio[hidden] { display: none !important; }

  /* Mientras se busca: se muestran los 3 pabellones a la vez */
  .kc-off { display: none !important; }
  .kt-tabs-wrap.kc-searching .kt-tabs-title-list { display: none !important; }
  .kt-tabs-wrap.kc-searching .kt-tab-inner-content { display: block !important; }
  .kt-tabs-wrap.kc-searching .kt-tab-inner-content.kc-pane-empty { display: none !important; }
  .kt-tabs-wrap.kc-searching .kc-empty-cell { display: none !important; }

  /* Etiqueta de pabellón dentro de cada card (solo visible al buscar) */
  .kc-badge { display: none; }
  .kc-searching .kc-badge {
    display: inline-block; margin: 0 0 8px; padding: 2px 10px; border-radius: 999px;
    background: #e2e8f0; color: #1a202c; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase;
  }
  .kc-badge--azul { background: #dbe9fb !important; color: #1b4f99 !important; }
  .kc-badge--amarillo { background: #fbefd5 !important; color: #8a5a0a !important; }
  .kc-badge--naranja { background: #f8e2d9 !important; color: #8f3f1d !important; }

  mark.kc-mark { background: #dbe2fc; color: inherit; border-radius: 3px; padding: 0 1px; }

  /* Aviso "También en el detalle" (opciones que están dentro del pop-up) */
  .kc-hit { margin: 14px 0 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 13px; color: #4a5568; }
  .kc-hit[hidden] { display: none !important; }
  .kc-hit .kc-hit-chip {
    margin: 0; padding: 4px 12px; border: 2px solid #dbe2fc; border-radius: 30px; background: #fff;
    color: #1f5fd1; font-size: 13px; font-weight: 600; line-height: 1.3; cursor: pointer;
  }
  .kc-hit .kc-hit-chip:hover { background: #eef2ff; }
  .kc-hit .kc-hit-chip:focus-visible { outline: 3px solid #1a202c; outline-offset: 2px; }

  /* Lista de sugerencias (predictivo) */
  .kc-buscador .kc-sug {
    position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0;
    margin: 0; padding: 6px; list-style: none; max-height: 420px; overflow-y: auto;
    background: #fff; border: 2px solid var(--kc-borde); border-radius: 24px;
    box-shadow: 0 12px 32px rgba(26, 32, 44, .14);
  }
  .kc-buscador .kc-sug li { margin: 0; padding: 0; }
  .kc-buscador .kc-sug li::marker { content: none; }
  .kc-buscador .kc-sug-item {
    display: flex; align-items: center; gap: 14px; padding: 10px 12px; border-radius: 16px; cursor: pointer;
  }
  .kc-buscador .kc-sug-item + .kc-sug-item { margin-top: 2px; }
  .kc-buscador .kc-sug-item:hover, .kc-buscador .kc-sug-item[aria-selected="true"] { background: #eef2ff; }
  .kc-buscador .kc-sug-ico {
    flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center;
    background: #eef2ff; color: var(--kc-azul);
  }
  .kc-buscador .kc-sug-ico svg { width: 20px; height: 20px; }
  .kc-buscador .kc-sug-txt { flex: 1; min-width: 0; }
  .kc-buscador .kc-sug-main { display: block; font-size: 16px; font-weight: 600; color: #1a202c; line-height: 1.3; }
  .kc-buscador .kc-sug-sub { display: block; margin-top: 2px; font-size: 13px; color: #4a5568; line-height: 1.3; }
  .kc-buscador .kc-sug-tag {
    flex: none; padding: 3px 12px; border-radius: 999px; border: 2px solid #cbd5e0;
    font-size: 12px; font-weight: 600; color: #2d3748; background: #fff;
  }
  .kc-buscador .kc-sug-tag--azul { border-color: #3382e2; color: #1b4f99; background: #eaf2fd; }
  .kc-buscador .kc-sug-tag--amarillo { border-color: #ecab47; color: #8a5a0a; background: #fdf4e0; }
  .kc-buscador .kc-sug-tag--naranja { border-color: #dc7953; color: #8f3f1d; background: #fbebe4; }
  @media (max-width: 600px) { .kc-buscador .kc-sug-tag { display: none; } }

  
/* =========================================
   Desktop: 1280px
   Tablet: 700px
   Móvil: 320px
========================================= */

/* Evita desbordamientos del componente */
.kc-buscador {
  width: 100%;
  min-width: 0;
}

.kc-buscador .kc-form {
  width: 100%;
  gap: 12px;
}

.kc-buscador .kc-campo {
  min-width: 0;
}

.kc-buscador .kc-campo .kc-input {
  min-width: 0;
  width: 100%;
}

/* Chips: distribución flexible */
.kc-buscador .kc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

.kc-buscador .kc-chip {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* =========================================
   TABLET Y MÓVIL
========================================= */
@media (max-width: 700px) {

  .kc-buscador {
    margin-bottom: 20px;
  }

  .kc-buscador .kc-form {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .kc-buscador .kc-campo {
    flex: 0 0 auto;
    width: 100%;
    min-height: 54px;
    padding: 0 12px 0 16px;
    gap: 6px;
    border-radius: 18px;
  }

  .kc-buscador .kc-campo .kc-input {
    padding: 10px 6px;
    font-size: 15px;
    line-height: 1.4;
  }

  .kc-buscador .kc-campo svg {
    width: 19px;
    height: 19px;
  }

  .kc-buscador .kc-limpiar {
    width: 30px;
    height: 30px;
  }

  .kc-buscador .kc-btn {
    width: 100%;
    min-height: 48px;
    padding: 12px 20px;
    font-size: 15px;
  }

  .kc-buscador .kc-chips {
    gap: 8px;
    margin-top: 12px;
  }

  .kc-buscador .kc-chip {
    padding: 8px 13px;
    border-width: 1px;
    font-size: 12px;
    line-height: 1.35;
  }

  /* Sugerencias predictivas */
  .kc-buscador .kc-sug {
    top: calc(100% + 6px);
    max-height:  min(55vh, 360px);
    padding: 5px;
    border-radius: 16px;
  }

  .kc-buscador .kc-sug-item {
    gap: 10px;
    padding: 10px;
    border-radius: 12px;
  }

  .kc-buscador .kc-sug-ico {
    width: 34px;
    height: 34px;
  }

  .kc-buscador .kc-sug-main {
    font-size: 14px;
  }

  .kc-buscador .kc-sug-sub {
    font-size: 12px;
  }

  .kc-buscador .kc-sug-tag {
    display: none;
  }
}

/* =========================================
   CELULARES PEQUEÑOS: 320–380px
========================================= */
@media (max-width: 380px) {

  .kc-buscador .kc-campo {
    min-height: 50px;
    padding-right: 8px;
    padding-left: 12px;
    gap: 4px;
  }

  .kc-buscador .kc-campo .kc-input {
    padding: 8px 4px;
    font-size: 14px;
  }

  .kc-buscador .kc-campo svg {
    width: 17px;
    height: 17px;
  }

  .kc-buscador .kc-chips {
    gap: 7px;
  }

  .kc-buscador .kc-chip {
    padding: 7px 10px;
    font-size: 11px;
  }
}
