/* =====================================================================
   CIFP As Mercedes — templates.css
   ÁMBITO      : GLOBAL (templates do Theme Builder: 404, busca, single/archive)
   ENCOLADO EN : functions.php → cifp_custom_css()  [lista GLOBAIS]
   QUE FAI     : afinado dos templates de Elementor que son "só deseño".
                 A estrutura (containers/widgets) ponse no template de Elementor;
                 aquí van os detalles que Elementor non fai ben (overlay do hero,
                 prosa do artigo, buscador).
   ACTUALIZADO : 2026-08-28
   ===================================================================== */

/* ---------------------------------------------------------------------
   PAGE HERO escuro (busca, 404, cabeceira de single/archive)
   Container boxed co fondo azul escuro + un radial suave por ::before.
   O contido vai en .e-con-inner (Elementor mete ese wrapper nos boxed) →
   súbese con z-index para quedar por riba do overlay.
   --------------------------------------------------------------------- */
.cifp-page-hero { position: relative; overflow: hidden; }
.cifp-page-hero::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(820px 460px at 88% -20%, rgba(0, 123, 196, .5), transparent 62%);
}
.cifp-page-hero > .e-con-inner { position: relative; z-index: 1; }

/* Variante con IMAXE DE FONDO (single de entrada): a imaxe destacada ponse
   como fondo dinámico no container en Elementor; aquí vai o degradado escuro
   por riba para que o texto branco se lea. */
.cifp-page-hero--media { background-size: cover !important; background-position: center !important; }
.cifp-page-hero--media::before {
  background:
    linear-gradient(100deg, rgba(0, 43, 74, .94) 0%, rgba(0, 43, 74, .78) 48%, rgba(0, 43, 74, .42) 100%),
    linear-gradient(to top, rgba(0, 43, 74, .78), rgba(0, 43, 74, 0) 55%);
}

/* Fila de metadatos do hero (data · categoría) — chips claros sobre escuro */
.cifp-hero-meta .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: .55rem; }
.cifp-hero-meta .elementor-icon-list-item {
  background: rgba(255, 255, 255, .12); border-radius: 999px; padding: .3rem .8rem !important;
}
.cifp-hero-meta .elementor-icon-list-text,
.cifp-hero-meta .elementor-icon-list-icon i { color: #fff !important; }

/* ---------------------------------------------------------------------
   BUSCADOR (search-form widget) — igualar input e botón ao sistema
   --------------------------------------------------------------------- */
.cifp-search-form .elementor-search-form { max-width: 520px; margin-inline: auto; }
.cifp-search-form .elementor-search-form__input {
  border-radius: 999px 0 0 999px; padding-left: 1.2rem; border: 0;
}
.cifp-search-form .elementor-search-form__submit { border-radius: 0 999px 999px 0; }

/* ---------------------------------------------------------------------
   MIGAS DE PAN (Rank Math breadcrumb) — clase .cifp-breadcrumbs no widget
   de shortcode. Por defecto pensado para o HERO ESCURO (texto claro);
   engade .cifp-breadcrumbs--claro se van sobre fondo claro.
   --------------------------------------------------------------------- */
.cifp-breadcrumbs .rank-math-breadcrumb p { margin: 0; font-size: .82rem; line-height: 1.5; color: #9fc2dc; }
.cifp-breadcrumbs .rank-math-breadcrumb a { color: #cfe0ee; text-decoration: none; transition: color .18s; }
.cifp-breadcrumbs .rank-math-breadcrumb a:hover { color: #fff; }
.cifp-breadcrumbs .rank-math-breadcrumb .separator { color: #6d92ac; margin: 0 .3rem; }
.cifp-breadcrumbs .rank-math-breadcrumb .last { color: #fff; font-weight: 600; }
/* Variante sobre fondo claro */
.cifp-breadcrumbs--claro .rank-math-breadcrumb p { color: var(--e-global-color-cmtextosuave, #5A6B78); }
.cifp-breadcrumbs--claro .rank-math-breadcrumb a { color: var(--e-global-color-cmazul, #007BC4); }
.cifp-breadcrumbs--claro .rank-math-breadcrumb a:hover { color: var(--e-global-color-cmazulescuro, #002B4A); }
.cifp-breadcrumbs--claro .rank-math-breadcrumb .separator { color: var(--e-global-color-cmborde, #b9c6d1); }
.cifp-breadcrumbs--claro .rank-math-breadcrumb .last { color: var(--e-global-color-cmazulescuro, #002B4A); }

/* ---------------------------------------------------------------------
   ALIÑAR ICONA↔TEXTO no widget Dynamic Terms (Categoría do single de entrada)
   Clase .cifp-term-inline NO PROPIO widget de dynamic-terms (07b40b3). O
   dynamic-terms non ten opción de nudge da icona no editor → aquí forzamos
   flex + centrado vertical (a icona queda ao mesmo tamaño ca as do field).
   --------------------------------------------------------------------- */
.cifp-term-inline .jet-listing-dynamic-terms { display: inline-flex !important; align-items: center !important; gap: .45rem; }
.cifp-term-inline .jet-listing-dynamic-terms__icon { display: inline-flex; align-items: center; margin: 0 !important; line-height: 0; }
.cifp-term-inline .jet-listing-dynamic-terms__link { margin: 0 !important; }

/* ---------------------------------------------------------------------
   PAXINACIÓN (JetSmartFilters) — clase .cifp-paxinacion no widget de
   Paxinación. Reutilizable en novas, axenda e futuros archives.
   --------------------------------------------------------------------- */
.cifp-paxinacion .jet-filters-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; }
.cifp-paxinacion .jet-filters-pagination__link {
  min-width: 40px; height: 40px; padding: 0 .6rem; border-radius: 10px;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 600; font-size: .875rem; color: var(--e-global-color-cmazulescuro, #002B4A);
  border: 1.5px solid var(--e-global-color-cmborde, #d9e2ea); background: #fff;
  transition: border-color .18s, color .18s, background .18s;
}
.cifp-paxinacion a { text-decoration: none; }
.cifp-paxinacion a:hover .jet-filters-pagination__link {
  border-color: var(--e-global-color-cmazul25, #a9d3ec); color: var(--e-global-color-cmazul, #007BC4);
}
.cifp-paxinacion .jet-filters-pagination__current .jet-filters-pagination__link {
  background: var(--e-global-color-cmazul, #007BC4); border-color: var(--e-global-color-cmazul, #007BC4); color: #fff;
}
.cifp-paxinacion .jet-filters-pagination__dots {
  min-width: 28px; height: 40px; display: inline-flex; align-items: flex-end; justify-content: center;
  color: var(--e-global-color-cmtextosuave, #5A6B78);
}
/* prev/next (< >) sen negrita — non pesan tanto */
.cifp-paxinacion .prev-next .jet-filters-pagination__link { font-weight: 400; font-size: 1rem; }
/* Móbil: cuadraciños un pouco máis pequenos */
@media (max-width: 767px) {
  .cifp-paxinacion .jet-filters-pagination__link { min-width: 34px; height: 34px; padding: 0 .4rem; font-size: .8rem; border-radius: 8px; }
  .cifp-paxinacion .jet-filters-pagination__dots { min-width: 22px; height: 34px; }
  .cifp-paxinacion .jet-filters-pagination { gap: .3rem; }
}

/* ---------------------------------------------------------------------
   LISTA DE CATEGORÍAS (barra lateral do archive) — clase .cifp-categorias
   no bloque/widget de categorías. (Confírmame o HTML para afinar 100%.)
   --------------------------------------------------------------------- */
.cifp-categorias .widget-title, .cifp-categorias .widgettitle,
.cifp-categorias h2, .cifp-categorias h3, .cifp-categorias h4, .cifp-categorias h5,
.cifp-categorias .wp-block-heading { display: none; }
.cifp-categorias ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.cifp-categorias li { margin: 0; }
.cifp-categorias li a {
  display: flex; justify-content: space-between; align-items: center; gap: .6rem;
  padding: .42rem .7rem; border-radius: 8px; text-decoration: none;
  color: var(--e-global-color-cmazulescuro, #002B4A); font-weight: 500; font-size: .875rem;
  transition: background .15s, color .15s;
}
/* "Todas as entradas" ao final, separada cun fío tenue */
.cifp-categorias li.cat-item-todas { margin-top: .3rem; padding-top: .3rem; border-top: 1px solid var(--e-global-color-cmborde, #e2e9ef); }
.cifp-categorias li a:hover { background: var(--e-global-color-cmazul10, #eaf4fb); color: var(--e-global-color-cmazul, #007BC4); }
.cifp-categorias li.current-cat > a { background: var(--e-global-color-cmazul10, #eaf4fb); color: var(--e-global-color-cmazul, #007BC4); }
.cifp-categorias .post-count, .cifp-categorias li a span { color: var(--e-global-color-cmtextosuave, #5A6B78); font-weight: 400; font-size: .85rem; }

/* ---------------------------------------------------------------------
   TÍTULO DE ARCHIVE (blog/categoría) e single — reforzo tipográfico
   --------------------------------------------------------------------- */
.cifp-archive-title { color: #fff; }

/* ---------------------------------------------------------------------
   SINGLE DE EVENTO (axenda) — tira de datos (data · lugar · categoría)
   Cada "dato" é un widget (JetEngine Dynamic Field ou Heading) nun
   container flex en fila. Iconas en azul, separadores verticais.
   --------------------------------------------------------------------- */
.cifp-evento-info { align-items: center !important; }
.cifp-evento-info > *:not(:last-child) {
  border-right: 1px solid var(--e-global-color-cmborde, #d9e2ea);
  padding-right: 16px;
}
.cifp-evento-info .jet-listing-dynamic-field__content { display: inline-flex; align-items: center; gap: .5rem; }
.cifp-evento-info .jet-listing-dynamic-field__icon { display: inline-flex; }
.cifp-evento-info .jet-listing-dynamic-field__icon svg { width: 1.05em; height: 1.05em; fill: var(--e-global-color-cmazul, #007BC4); }
.cifp-evento-info .jet-listing-dynamic-field__icon i { color: var(--e-global-color-cmazul, #007BC4); }
.cifp-evento-dato { font-weight: 600; color: var(--e-global-color-cmazulescuro, #002B4A); font-size: .95rem; }
/* Categoría como pílula — vale para un Heading OU para o widget Dynamic Terms.
   Ponse a clase .cifp-evento-cat no widget da categoría. */
.cifp-evento-cat .jet-listing-dynamic-terms { display: inline-flex; flex-wrap: wrap; gap: .4rem; }
.cifp-evento-cat .elementor-heading-title,
.cifp-evento-cat .jet-listing-dynamic-terms__link {
  display: inline-block; background: var(--e-global-color-cmazul10, #eaf4fb);
  color: var(--e-global-color-cmazul, #007BC4); padding: .28rem .8rem; border-radius: 999px;
  font-size: .82rem; font-weight: 700; line-height: 1; text-decoration: none;
}

/* ---------------------------------------------------------------------
   ARCHIVE DE EVENTOS (axenda) — tarxeta de evento no Listing Grid.
   .cifp-evento e .cifp-evento-data (caixa 76×76) xa veñen de tarxetas.css;
   aquí só o texto interno (día/mes) e o título/meta da tarxeta de listado.
   --------------------------------------------------------------------- */
.cifp-evento-data { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.cifp-evento-dia .jet-listing-dynamic-field__content,
.cifp-evento-dia { font-size: 1.7rem; font-weight: 800; line-height: 1; color: #fff; }
.cifp-evento-mes .jet-listing-dynamic-field__content,
.cifp-evento-mes { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #fff; margin-top: 2px; }
.cifp-evento-titulo, .cifp-evento-titulo .jet-listing-dynamic-field__content { font-size: 1.15rem; font-weight: 700; color: var(--e-global-color-cmazulescuro, #002B4A); line-height: 1.25; }
.cifp-evento-titulo a { color: inherit; }
.cifp-evento .jet-listing-grid__item:hover .cifp-evento-titulo a,
.cifp-evento-titulo a:hover { color: var(--e-global-color-cmazul, #007BC4); }
.cifp-evento-meta-item, .cifp-evento-meta-item .jet-listing-dynamic-field__content {
  display: inline-flex; align-items: center; gap: .4rem; font-size: .9rem; color: var(--e-global-color-cmtextosuave, #5A6B78);
}
.cifp-evento-meta-item svg { width: 1em; height: 1em; fill: var(--e-global-color-cmazul, #007BC4); }
.cifp-evento-meta-item i { color: var(--e-global-color-cmazul, #007BC4); }

/* ---------------------------------------------------------------------
   TOGGLE DA AXENDA con FILTRO RADIO de JetSmartFilters (Query Builder
   Switcher). Clase .cifp-axenda-toggle no widget do filtro Radio.
   Convírteo nun segmentado tipo pílula (oculta o check, activo en azul).
   --------------------------------------------------------------------- */
.cifp-axenda-toggle .jet-radio-list-wrapper fieldset {
  display: inline-flex; gap: 4px; padding: 4px; margin: 0; border: 0;
  background: var(--e-global-color-cmazul10, #eaf4fb); border-radius: 999px;
}
.cifp-axenda-toggle .jet-radio-list__row { margin: 0 !important; padding: 0 !important; }
.cifp-axenda-toggle .jet-radio-list__item { margin: 0 !important; }
.cifp-axenda-toggle .jet-radio-list__input { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.cifp-axenda-toggle .jet-radio-list__decorator { display: none !important; }
.cifp-axenda-toggle .jet-radio-list__button {
  display: flex; align-items: center; cursor: pointer;
  padding: .5rem 1.15rem; border-radius: 999px; transition: background .18s, color .18s;
}
.cifp-axenda-toggle .jet-radio-list__label {
  font-weight: 700; font-size: .9rem; line-height: 1; color: var(--e-global-color-cmazulescuro, #002B4A);
}
.cifp-axenda-toggle .jet-radio-list__item:hover .jet-radio-list__label { color: var(--e-global-color-cmazul, #007BC4); }
.cifp-axenda-toggle .jet-radio-list__input:checked + .jet-radio-list__button { background: var(--e-global-color-cmazul, #007BC4); }
.cifp-axenda-toggle .jet-radio-list__input:checked + .jet-radio-list__button .jet-radio-list__label { color: #fff; }
/* Fallback: en URL sen filtrar JSF non marca ningún → marcamos o 1º (Próximos),
   que é o que amosa o grid por defecto (query base #15). Ao escoller unha
   opción real, manda o :checked de arriba. */
.cifp-axenda-toggle .jet-radio-list:not(:has(.jet-radio-list__input:checked)) .jet-radio-list__row:first-of-type .jet-radio-list__button { background: var(--e-global-color-cmazul, #007BC4); }
.cifp-axenda-toggle .jet-radio-list:not(:has(.jet-radio-list__input:checked)) .jet-radio-list__row:first-of-type .jet-radio-list__label { color: #fff; }
@media (max-width: 767px) {
  .cifp-axenda-toggle .jet-radio-list__label { font-size: .82rem; }
  .cifp-axenda-toggle .jet-radio-list__button { padding: .45rem 1rem; }
}

/* =========================================================================
   REIXA 2-COLUMNAS xenérica (single de empresa e outros). Poñer no CONTAINER
   pai (Elementor non fai grid nomeado fiable → clase). Fillos = 2 containers.
   ========================================================================= */
.cifp-2col { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 2.5rem; align-items: start; }
@media (max-width: 980px) {
  .cifp-2col { grid-template-columns: 1fr; gap: 1.8rem; }
}

/* ---- Nun vistazo (single de ciclo): lista minimalista / lean (NON usar cifp-of-prose) ---- */
.cifp-vistazo ul{list-style:none;margin:0;padding:0}
.cifp-vistazo li{position:relative;padding-left:.95rem;font-size:.875rem;line-height:1.45;color:var(--e-global-color-cmtxsuave);padding-block:.18rem}
.cifp-vistazo li::before{content:"";position:absolute;left:0;top:.62em;width:4px;height:4px;border-radius:50%;background:var(--e-global-color-cmazul50)}
