/* =====================================================================
   CIMA Convenios — estilos
   Tamaño y color del título: Convenios > Ajustes (o en el shortcode:
   [cima_convenios tamano_titulo="16" color_titulo="#194fbc"]).
   Todo lo demás se ajusta con variables en Apariencia > Personalizar > CSS adicional:
   .cima-cv { --cv-radius: 16px; --cv-border: #cfd8ea; }
   Los selectores empiezan por .cima-cv para ganarle a los estilos del tema.
   ===================================================================== */
.cima-cv {
	--cv-radius: 30px; --cv-border: #e1e7f5; --cv-border-w: 3px; --cv-bg: #fff;
	--cv-card-min: 190px; --cv-card-h: 128px; --cv-gap: 22px;
	--cv-field-h: 56px; --cv-field-bg: #E2E8F0; --cv-field-border: #E2E8F0; --cv-icon: #EEF1FD; --cv-input-size: 15px;
	--cv-btn-h: 46px; --cv-btn-bg: linear-gradient(135deg, #194FBC 0%, #3382E2 100%); --cv-btn-text: #fff;
	--cv-chip-bg: #fff; --cv-chip-text: #16264A; --cv-chip-border: #E2E8F0; --cv-chip-active: #123F99;
	--cv-text: #16264A; --cv-muted: #5b6876; --cv-focus: #123F99;
	--cv-title-size: 14px; --cv-title-color: #4f5b6b; --cv-logo-h: 56px;
	font-family: var(--cv-font, inherit); color: var(--cv-text); box-sizing: border-box; line-height: 1.4;
}
.cima-cv *, .cima-cv *::before, .cima-cv *::after { box-sizing: border-box; }
.cima-cv [hidden] { display: none !important; }
.cima-cv :focus-visible { outline: 3px solid var(--cv-focus); outline-offset: 2px; }
.cima-cv button, .cima-cv input { font-family: inherit; box-shadow: none; text-shadow: none; }

.cima-cv .cv-bar { display: flex; gap: 16px; align-items: center; margin: 0 0 20px; padding: 0; }
.cima-cv .cv-search { position: relative; flex: 1 1 auto; min-width: 0; margin: 0; }
.cima-cv .cv-input { display: block; width: 100%; max-width: none; height: var(--cv-field-h); margin: 0; padding: 0 1.3em 0 3.4em; border: 3px solid var(--cv-field-border); border-radius: 999px; background: var(--cv-field-bg); color: var(--cv-text); font-size: var(--cv-input-size); font-weight: 400; line-height: 1.2; -webkit-appearance: none; appearance: none; }
.cima-cv .cv-input::-webkit-search-decoration, .cima-cv .cv-input::-webkit-search-cancel-button { -webkit-appearance: none; }
.cima-cv .cv-input::placeholder { color: var(--cv-muted); opacity: 1; }
.cima-cv .cv-ico { position: absolute; top: 0; bottom: 0; left: 20px; z-index: 1; display: flex; align-items: center; color: var(--cv-icon); pointer-events: none; }
.cima-cv .cv-ico svg { display: block; width: 22px; height: 22px; }
.cima-cv .cv-go { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; height: var(--cv-btn-h); min-height: 0; margin: 0; padding: 0 2.2em; border: 0; border-radius: 999px; background: var(--cv-btn-bg); color: var(--cv-btn-text); font-size: 1.05rem; font-weight: 700; line-height: 1; text-transform: none; letter-spacing: normal; cursor: pointer; transition: filter .15s; }
.cima-cv .cv-go:hover, .cima-cv .cv-go:focus { background: var(--cv-btn-bg); color: var(--cv-btn-text); filter: brightness(1.1); }

.cima-cv .cv-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px; }
.cima-cv .cv-chip { display: inline-flex; align-items: center; gap: .4em; height: 40px; margin: 0; padding: 0 20px; border: 2px solid var(--cv-chip-border); border-radius: 999px; background: var(--cv-chip-bg); color: var(--cv-chip-text); font-size: .95rem; font-weight: 500; line-height: 1; text-transform: none; letter-spacing: normal; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.cima-cv .cv-chip:hover, .cima-cv .cv-chip:focus { background: #e9f0ff; color: var(--cv-chip-text); }
.cima-cv .cv-chip.is-active, .cima-cv .cv-chip.is-active:hover, .cima-cv .cv-chip.is-active:focus { background: var(--cv-chip-active); border-color: var(--cv-chip-active); color: #fff; }
.cima-cv .cv-chip.is-active::before { content: "\2713"; }

.cima-cv .cv-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, var(--cv-card-min)), 1fr)); gap: var(--cv-gap); margin: 0; padding: 0; }
.cima-cv .cv-card { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: var(--cv-card-h); margin: 0; padding: 18px 16px; border: var(--cv-border-w) solid var(--cv-border); border-radius: var(--cv-radius); background: var(--cv-bg); text-align: center; }
.cima-cv .cv-logo { display: flex; align-items: center; justify-content: center; width: 100%; height: var(--cv-logo-h); margin: 0; padding: 0; }
.cima-cv .cv-img { display: block; width: auto; height: auto; max-width: 100%; max-height: var(--cv-logo-h); margin: 0 auto; object-fit: contain; border: 0; border-radius: 0; box-shadow: none; }
.cima-cv .cv-name { margin: 0; padding: 0; font-size: var(--cv-title-size); font-weight: 500; line-height: 1.3; color: var(--cv-title-color); text-transform: none; letter-spacing: normal; overflow-wrap: anywhere; }
.cima-cv .cv-cat { margin: -6px 0 0; padding: 0; font-size: max(12px, calc(var(--cv-title-size) - 2px)); line-height: 1.3; color: var(--cv-muted); text-transform: none; letter-spacing: normal; }
.cima-cv .cv-empty { margin: 28px 0; color: var(--cv-muted); }
.cima-cv .cv-sr { position: absolute !important; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 520px) {
	.cima-cv { --cv-radius: 22px; --cv-card-min: 140px; --cv-gap: 14px; --cv-card-h: 112px; --cv-field-h: 54px; }
	.cima-cv .cv-bar { flex-wrap: wrap; }
	.cima-cv .cv-go { flex: 1 1 100%; }
	.cima-cv .cv-card { padding: 14px 10px; }
	.cima-cv .cv-chip { height: 38px; padding: 0 15px; font-size: .88rem; }
}
