.dashicons-bs-conf-filtros {
    width: 24px;
    height: 24px;
    background: url(icon.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

/* Conferencias · filtros + fichas. Todo scoped a .bs-cf y con clases
   prefijadas (cf-*) para no chocar con el CSS del tema. */
.bs-cf {
	--o1: #F68B29;
	--o2: #D9700F;
	--o3: #A4520A;
	--tint: #FCF1E6;
	--ink: #1a1a1a;
	--line: #E6E4DE;
	--muted: #5c5c5c;
	--soft: #8a8a8a;
	color: var(--ink);
	line-height: 1.5;
}
:where(.bs-cf *) { box-sizing: border-box; margin: 0; padding: 0; }
:where(.bs-cf button) { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; text-align: left; }
:where(.bs-cf a) { color: inherit; text-decoration: none; }

.bs-cf .cf-wrap { width: 100%; max-width: var(--wp--style--global--wide-size, 1380px); margin: 0 auto; }

.bs-cf .cf-pill { display: inline-flex; align-items: center; gap: 8px; background: #000; color: #fff; border-radius: 999px; padding: 12px 22px; font-size: 15px; font-weight: 500; white-space: nowrap; transition: background .2s; }
.bs-cf .cf-pill:hover { background: var(--o2); }
.bs-cf .cf-ib { width: 48px; height: 48px; border-radius: 13px; background: rgba(246, 139, 41, .12); display: grid; place-items: center; flex: none; }
.bs-cf .cf-ib.cf-lg { width: 64px; height: 64px; border-radius: 18px; }
.bs-cf .cf-more { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--o2); flex: none; }
.bs-cf .cf-lbl { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--soft); margin-bottom: 12px; }
.bs-cf .cf-tag { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }

/* ---------- filtros ---------- */
.bs-cf .cf-fq { font-size: 17px; font-weight: 700; }
.bs-cf .cf-filter { display: flex; gap: 10px; margin-top: 10px; flex-wrap: wrap; }
.bs-cf .cf-chip { display: flex; align-items: center; gap: 7px; background: #fff; border: 1px solid #E1DED6; border-radius: 999px; padding: 8px 14px; font-size: 13.5px; white-space: nowrap; transition: .15s; }
.bs-cf .cf-chip i { font-style: normal; font-size: 12px; opacity: .7; }
.bs-cf .cf-chip .cf-dot { width: 8px; height: 8px; border-radius: 50%; }
.bs-cf .cf-chip b { font-weight: 700; }
.bs-cf .cf-chip em { color: #777; font-size: 12.5px; font-style: normal; }
.bs-cf .cf-chip:hover { border-color: var(--o1); }
.bs-cf .cf-chip.cf-on { background: var(--ink); color: #fff; border-color: var(--ink); }
.bs-cf .cf-chip.cf-on em { color: rgba(255, 255, 255, .7); }
.bs-cf .cf-chip.cf-on svg { stroke: #fff; }

/* ---------- tarjetas ---------- */
.bs-cf .cf-grid8 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 20px; }
.bs-cf .cf-tile { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px 26px 20px 30px; min-height: 248px; overflow: hidden; transition: opacity .2s, transform .2s, box-shadow .2s; }
.bs-cf .cf-tile::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--bar); }
.bs-cf .cf-tile:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -18px rgba(0, 0, 0, .3); }
.bs-cf .cf-tile.cf-dim { opacity: .28; }
.bs-cf .cf-tt { display: flex; justify-content: space-between; align-items: center; }
.bs-cf .cf-tn { display: block; font-size: 23px; line-height: 1.15; font-weight: 800; letter-spacing: -.015em; margin-top: 16px; }
.bs-cf .cf-ts { display: block; font-size: 16px; line-height: 1.3; font-weight: 600; color: var(--o2); margin-top: 6px; }
.bs-cf .cf-tg { display: block; font-size: 15px; line-height: 1.45; color: #4a4a4a; margin-top: 12px; max-width: 540px; }
.bs-cf .cf-tf { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: auto; padding-top: 16px; }
.bs-cf .cf-tp { display: block; font-size: 13.5px; color: #666; }
.bs-cf .cf-hint { font-size: 13px; color: var(--soft); margin-top: 12px; }

/* ---------- ficha (dialog) ---------- */
.bs-cf dialog.cf-dlg { position: fixed; inset: 0; margin: auto; height: fit-content; max-height: calc(100vh - 40px); overflow: auto; border: 0; border-radius: 22px; padding: 28px 22px; max-width: 620px; width: calc(100% - 32px); box-shadow: 0 40px 80px -20px rgba(0, 0, 0, .45); color: var(--ink); background: #fff; }
.bs-cf dialog.cf-dlg:not([open]) { display: none; }
.bs-cf .cf-x { position: absolute; right: 16px; top: 16px; padding: 6px; border-radius: 50%; }
.bs-cf .cf-x:hover { background: #F4F4F1; }
.bs-cf .cf-dlg-h { display: flex; gap: 16px; align-items: center; }
.bs-cf dialog h3 { font-size: 28px; line-height: 1.1; font-weight: 800; letter-spacing: -.015em; margin-top: 18px; }
.bs-cf .cf-dsub { font-size: 17px; line-height: 1.3; font-weight: 600; color: var(--o2); margin-top: 6px; }
.bs-cf .cf-dp { font-size: 14px; color: var(--muted); margin-top: 8px; }
.bs-cf .cf-dl { font-size: 17px; color: var(--ink); margin-top: 16px; line-height: 1.45; }
.bs-cf .cf-dul { list-style: none; display: flex; flex-direction: column; gap: 9px; margin-top: 16px; }
.bs-cf .cf-dul li { position: relative; padding-left: 18px; font-size: 16.5px; line-height: 1.45; }
.bs-cf .cf-dul li::before { content: ''; position: absolute; left: 0; top: .6em; width: 7px; height: 7px; border-radius: 50%; background: var(--o1); }
.bs-cf .cf-dsay { margin-top: 20px; background: var(--tint); border-radius: 14px; padding: 14px 18px; }
.bs-cf .cf-dsay .cf-lbl { display: block; margin-bottom: 8px; color: var(--o3); }
.bs-cf .cf-dsay ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.bs-cf .cf-dsay li { font-size: 16px; line-height: 1.35; font-style: italic; font-weight: 600; }
.bs-cf .cf-dfm { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; }
.bs-cf .cf-dfm span { border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; font-size: 13px; }
.bs-cf dialog .cf-pill { margin-top: 22px; }

@media (max-width: 760px) {
	.bs-cf .cf-chip em { display: none; }
	.bs-cf .cf-grid8 { grid-template-columns: 1fr; gap: 12px; }
	.bs-cf .cf-tile { min-height: 0; padding: 18px 18px 16px 22px; }
	.bs-cf .cf-tn { font-size: 20px; }
	.bs-cf .cf-ts { font-size: 15px; }
	.bs-cf .cf-tg { font-size: 14.5px; }
}
