/*
 * Preguntas frecuentes: buscador, temas y acordeón (mismo estilo que las preguntas de las landings).
 * La base compartida (encabezado, botones, filtros) está en contenido.css.
 */
.ecf-search {
  position: relative;
  display: block;
  max-width: 640px;
  margin-top: 34px;
}
.ecf-search svg { position: absolute; top: 50%; left: 20px; width: 22px; height: 22px; transform: translateY(-50%); fill: none; stroke: var(--brand-blue, #2f6f9f); stroke-width: 1.7; stroke-linecap: round; pointer-events: none; }
.ecf-search input[type="search"] {
  width: 100%;
  height: 62px;
  padding: 0 22px 0 56px;
  border: 1px solid #cedae1;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(20, 54, 77, .08);
  color: var(--brand-ink, #152736);
  font: inherit;
  font-size: 16.5px;
  font-weight: 400;
}
.ecf-search input[type="search"]::placeholder { color: #8a9ba6; }
.ecf-search input[type="search"]:focus { outline: 0; border-color: var(--brand-blue, #2f6f9f); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand-blue, #2f6f9f) 14%, transparent), 0 14px 34px rgba(20, 54, 77, .08); }
.ecf-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.ecf-list { padding: clamp(36px, 5vw, 72px) 0 clamp(64px, 8vw, 110px); background: #fff; }
.ecf-layout { max-width: 920px; }
.ecf-group + .ecf-group { margin-top: 52px; }
.ecf-group__title { display: flex; align-items: center; gap: 12px; margin: 0 0 8px; color: var(--brand-blue, #2f6f9f); font-size: 13px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.ecf-group__title::before { content: ""; width: 24px; height: 2px; background: var(--brand-red, #e31d3b); }
.ecf-group[hidden], .ecf-accordion .accordion-item[hidden] { display: none; }

/* Acordeón */
.ecf-accordion { margin: 0; border-top: 1px solid var(--brand-line, #dce6eb); }
.ecf-accordion .accordion-item { border-bottom: 1px solid var(--brand-line, #dce6eb); }
.ecf-accordion .accordion-title {
  display: flex;
  align-items: center;
  min-height: 78px;
  padding: 22px 52px 22px 0;
  border: 0;
  color: var(--brand-ink, #152736);
  font-size: 17.5px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.4;
  text-decoration: none;
  transition: color .18s ease;
}
.ecf-accordion .accordion-title:hover { color: var(--brand-blue, #2f6f9f); }
.ecf-accordion .accordion-title.active { color: var(--brand-ink, #152736); font-weight: 700; }
.ecf-accordion .accordion-title .toggle {
  top: 50%;
  right: 0;
  left: auto;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  border-radius: 50%;
  background: var(--brand-pale, #eaf4fa);
  color: var(--brand-blue, #2f6f9f);
  opacity: 1;
  transform: translateY(-50%);
  transition: background-color .2s ease, color .2s ease;
}
.ecf-accordion .accordion-title.active .toggle { background: var(--brand-ink, #152736); color: #fff; }
.ecf-accordion .accordion-inner { max-width: 780px; padding: 0 52px 28px 0; color: #4f6473; font-size: 16px; line-height: 1.7; }
.ecf-accordion .accordion-inner p { margin: 0 0 .9em; color: #4f6473; }
.ecf-accordion .accordion-inner p:last-child { margin-bottom: 0; }
.ecf-accordion .accordion-inner a { color: var(--brand-blue, #2f6f9f); text-decoration: underline; text-underline-offset: 3px; }
.ecf-accordion .accordion-inner strong { color: var(--brand-ink, #152736); }
.ecf-accordion mark { padding: 0 2px; border-radius: 3px; background: #fff1b8; color: inherit; }
@media (max-width: 549px) {
  .ecf-accordion .accordion-title { min-height: 70px; padding-right: 48px; font-size: 16px; }
  .ecf-accordion .accordion-inner { padding-right: 0; font-size: 15.5px; }
}
.ecf-empty { padding: 30px 0; color: var(--brand-muted, #5f717e); font-size: 17px; text-align: center; }
