/* Lanzamiento (lanzamiento.js): Planes y Buscador IA. Variables del tema de app.css. */
.lz { display: grid; gap: 14px; }
.lz-pending { padding: 18px; }
.lz-pending h2 { margin-top: 0; }
.lz-status { margin: 0; font-size: 14px; color: var(--text-2); }
.lz-status b { color: var(--text); }
.lz-sim { margin: 0; padding: 8px 12px; border-radius: 10px; background: rgba(242, 153, 74, .14); border: 1px solid rgba(242, 153, 74, .45); font-size: 13px; font-weight: 700; }
.lz-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lz-card { position: relative; padding: 18px 16px 16px; display: flex; flex-direction: column; gap: 10px; }
.lz-card.lz-cur { border-color: var(--accent); }
.lz-card h3 { margin: 0; font-size: 16px; }
.lz-price { margin: 0; }
.lz-price b { font-size: 26px; font-family: var(--font-num); }
.lz-price span { color: var(--text-2); font-size: 13px; }
.lz-card ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; font-size: 13px; color: var(--text-2); flex: 1; }
.lz-badge { align-self: flex-start; padding: 2px 9px; border-radius: 10px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 800; }
.lz-wide { width: 100%; height: 42px; justify-content: center; }
.lz-table-wrap { overflow-x: auto; }
.lz-table { width: 100%; min-width: 520px; font-size: 13px; }
.lz-table th, .lz-table td { padding: 8px 10px; text-align: left; vertical-align: top; }
.lz-table thead th { color: var(--text-2); font-size: 12px; }
.lz-faq details { border-bottom: 1px solid var(--line); padding: 10px 2px; }
.lz-faq summary { cursor: pointer; font-weight: 700; font-size: 14px; }
.lz-faq p { margin: 8px 0 2px; color: var(--text-2); font-size: 13px; line-height: 1.5; }
.lz-sub { padding: 14px 16px; display: grid; gap: 6px; }
.lz-sub h3 { margin: 0; font-size: 15px; }
.lz-sub .lz-row { margin-top: 4px; }
.lz-buys { margin: 0; padding-left: 18px; font-size: 13px; color: var(--text-2); display: grid; gap: 4px; }
.lz-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pr-more { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
@media (max-width: 860px) {
  .bottombar.lz-bar { grid-template-columns: repeat(6, 1fr); }
  .bottombar.lz-bar button { font-size: 10px; }
}
@media (max-width: 760px) { .lz-cards { grid-template-columns: 1fr; } }

/* Buscador IA (buscador.js) */
.bz { display: grid; gap: 14px; }
.bz-form { display: grid; gap: 16px; padding: 18px; }
.bz-row { display: grid; gap: 8px; }
.bz-two { grid-template-columns: auto 1fr; gap: 18px; }
.bz-two > div { display: grid; gap: 8px; align-content: start; }
.bz-lab { color: var(--text-2); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.bz-lab small { text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--text-3); }
.bz-hint { color: var(--text-3); font-size: 12px; }
.bz-seg { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 12px; background: var(--surface-2); border: 1px solid var(--line); justify-self: start; }
.bz-seg button { padding: 7px 14px; border-radius: 9px; font-size: 13px; font-weight: 700; color: var(--text-2); }
.bz-seg button[aria-checked="true"] { background: var(--accent); color: #fff; }
.bz-seg:has([data-bz="perfil"]) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); justify-self: stretch; }
.bz-seg [data-bz="perfil"] { padding: 8px 5px; font-size: 12px; min-width: 0; }
.bz[aria-busy="true"] .bz-form [data-bz]:not(.bz-go) { opacity: .65; pointer-events: none; }
.bz-loading { min-height: 250px; padding: 32px 24px; display: grid; place-content: center; justify-items: center; gap: 14px; text-align: center; }
.bz-loading h2 { margin: 0; font-size: 20px; }
.bz-loading p { margin: 0; max-width: 330px; color: var(--text-3); line-height: 1.6; font-size: 14px; }
.bz-spinner { width: 32px; height: 32px; border: 2px solid var(--line); border-top-color: var(--accent); border-radius: 50%; animation: bz-spin .8s linear infinite; }
@keyframes bz-spin { to { transform: rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .bz-spinner { animation: none; } }
.bz-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.bz-count { display: inline-flex; gap: 6px; }
.bz-count button { width: 40px; height: 38px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface-2); font-family: var(--font-num); font-size: 18px; font-weight: 700; color: var(--text-2); }
.bz-count button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-weak); color: var(--text); }
.bz-odd input { max-width: 160px; height: 40px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); font: 600 15px var(--font); }
.bz-go { height: 46px; justify-content: center; font-size: 15px; }
.bz-legal, .bz-note, .bz-cov { margin: 0; color: var(--text-3); font-size: 12.5px; line-height: 1.5; }
.bz-cov b { color: var(--text); }
.bz-res { display: grid; gap: 10px; }
.bz-result-head { margin-bottom: 4px; }
.bz-result-head h2 { font-size: 23px; letter-spacing: -.4px; margin: 7px 0; }
.bz-result-head p { margin: 0; color: var(--text-3); line-height: 1.6; font-size: 13px; }
.bz-profile-hint { color: var(--text-3); font-size: 12px; line-height: 1.5; margin: -6px 0 0; }
.bz-price { justify-self: start; color: var(--text-2); border: 1px solid var(--line); background: var(--surface-2); border-radius: 7px; padding: 4px 8px; font-size: 11px; margin: 2px 0 4px; }
.bz-total { padding: 14px 16px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; color: var(--text-2); font-size: 13px; }
.bz-total b { font-family: var(--font-num); font-size: 24px; color: var(--text); }
.bz-adjust { border: 1px solid #b48b3e77; background: #b48b3e12; border-radius: 12px; padding: 16px; color: var(--text-2); line-height: 1.55; }
.bz-adjust b { display: block; color: #f4cf88; font-size: 15px; }
.bz-adjust p { margin: 6px 0; font-size: 13px; }
.bz-adjust small { display: block; color: var(--text-3); font-size: 12px; }
.bz-origin { color: var(--text-3); font-size: 11px; }
.bz-card { display: grid; grid-template-columns: auto 1fr; gap: 14px; padding: 16px; }
.bz-n { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--accent); color: #fff; font-size: 18px; font-weight: 700; }
.bz-body { display: grid; gap: 4px; min-width: 0; }
.bz-meta { color: var(--text-3); font-size: 12px; font-weight: 700; }
.bz-match { color: var(--text-2); font-size: 14px; font-weight: 700; }
.bz-bet { font-size: 17px; font-weight: 800; }
.bz-why { margin: 6px 0 0; padding-left: 18px; color: var(--text-2); font-size: 13px; display: grid; gap: 3px; }
.bz-risk { margin: 6px 0 0; font-size: 12.5px; color: var(--text-2); }
.bz-risk b { color: var(--warn); }
@media (max-width: 560px) { .bz-two { grid-template-columns: 1fr; } .bz-seg { justify-self: stretch; } .bz-seg button { flex: 1; } }

/* Planes (28/10): etiqueta del plan, renovación bajo el precio y Premium destacado */
.lz-tag { align-self: flex-start; padding: 2px 9px; border-radius: 10px; background: var(--surface-3); color: var(--text-2); font-size: 11px; font-weight: 800; }
.lz-premium { border-color: var(--accent-line); background: linear-gradient(180deg, rgba(248, 72, 56, .10), var(--surface) 42%); }
.lz-premium .lz-tag { background: var(--accent); color: #fff; }
.lz-renew { margin: -6px 0 0; color: var(--text-3); font-size: 12px; font-weight: 650; }
.lz-card ul li::marker { color: var(--accent); }

/* Planes, segunda versión (28/10): título corto, precio grande, botón arriba y beneficios con ✓ / ✗ */
.lz-hero { text-align: center; padding: 6px 0 2px; }
.lz-hero h2 { margin: 0; font-size: 26px; font-weight: 800; letter-spacing: -.4px; }
.lz-hero p { margin: 6px 0 0; color: var(--text-2); font-size: 14px; }
.lz-card { gap: 14px; padding: 20px 18px; }
.lz-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.lz-top h3 { font-size: 18px; font-weight: 800; }
.lz-top .lz-badge, .lz-top .lz-tag { align-self: auto; }
.lz-price b { font-size: 36px; line-height: 1; }
.lz-price span { margin-left: 2px; color: var(--text-2); font-size: 14px; font-weight: 700; }
.lz-feats { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.lz-feats li { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 650; color: var(--text); }
.lz-feats li.n { color: var(--text-3); }
.lz-feats svg, .lz-table svg { width: 18px; height: 18px; flex: none; fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.lz-feats li.y svg, .lz-table td.y svg { stroke: var(--win); }
.lz-feats li.n svg, .lz-table td.n svg { stroke: var(--text-3); }
.lz-table td, .lz-table th { text-align: center; } .lz-table th[scope="row"] { text-align: left; }
.lz-table td.y svg, .lz-table td.n svg { display: inline-block; vertical-align: middle; }
.lz-premium { box-shadow: 0 0 0 1px var(--accent-line), 0 18px 40px rgba(248, 72, 56, .08); }

/* En celular las tarjetas ya comparan con ✓ y ✗: la tabla se oculta. */
@media (max-width: 760px) { .lz-compare { display: none; } .lz-hero { margin: -4px 0 0; } }
p.lz-hero { margin: -8px 0 0; padding: 0; text-align: left; color: var(--text-2); font-size: 14px; }
.lz-soon { display: grid; gap: 10px; justify-items: start; padding: 18px; }
.lz-soon p { margin: 0; color: var(--text-2); font-size: 14px; line-height: 1.5; }

/* 30/10/2026: pago pendiente en una línea (Planes y Mi cuenta); sin cuadro permanente de QR vencido */
.lz-pend { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin: 0 0 14px; padding: 10px 12px;
  border-radius: var(--r-2); background: var(--surface-2); border: 1px solid var(--line); color: var(--text-2); font-size: 13px; }
.lz-pend b { color: var(--text); }
.lz-pend-acts { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.btn.sm { height: 32px; padding: 0 12px; font-size: 12.5px; }
.cu-plan .lz-status { margin: 6px 0 0; color: var(--text-2); font-size: 13px; }
.cu-plan .lz-pend { margin: 10px 0 0; }
.lz-hist-note { margin: 4px 0 14px; color: var(--text-3); font-size: 12.5px; }
.lz-link { color: var(--info); font-weight: 750; font-size: 12.5px; padding: 2px 0; }
.lz-link:hover { text-decoration: underline; }
.lz-line { margin: -4px 0 14px; color: var(--text-2); font-size: 13px; line-height: 1.4; min-height: 18px; }

/* ------------------------------------------------------------------ BetDemon 31/10: tarjetas de selección */
.bz-cov2 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 10px 0 6px; }
.bz-cov-n { display: grid; gap: 2px; padding: 10px 12px; border-radius: var(--r-2); background: var(--surface); border: 1px solid var(--line); }
.bz-cov-n b { font-size: 22px; line-height: 1; color: var(--text); }
.bz-cov-n span { color: var(--text-3); font-size: 11.5px; font-weight: 700; }
.bz-cov-why { margin: 0 0 14px; color: var(--text-3); font-size: 12px; }
.bz-cards { display: grid; gap: 14px; }
.bz-card2 { display: grid; gap: 12px; padding: 16px 18px; }
.bz-c-head { display: flex; align-items: center; gap: 10px; color: var(--text-3); font-size: 12px; font-weight: 700; }
.bz-c-n { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: var(--surface-3); color: var(--text-2); font-size: 14px; }
.bz-c-meta b { color: var(--text); font-size: 14px; }
.bz-c-teams { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; font-size: 15px; font-weight: 750; }
.bz-c-team { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.bz-c-team .crest { width: 22px; height: 22px; }
.bz-c-vs { color: var(--text-3); font-size: 12px; font-weight: 700; }
.bz-c-pick { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border-radius: var(--r-2);
  background: linear-gradient(180deg, var(--accent-weak), rgba(248, 72, 56, .04)); border: 1px solid var(--accent-line); }
.bz-c-mk { display: block; color: var(--accent-2); font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bz-c-bet { display: block; font-size: 18px; font-weight: 800; line-height: 1.25; color: var(--text); }
.bz-ref { display: grid; justify-items: end; gap: 1px; padding: 6px 10px; border-radius: 10px; background: var(--surface-2); border: 1px dashed var(--line-2); cursor: help; white-space: nowrap; }
.bz-ref small { color: var(--text-3); font-size: 10.5px; font-weight: 700; }
.bz-ref b { font-size: 18px; color: var(--text); }
.bz-table-wrap { overflow-x: auto; }
.bz-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.bz-table th, .bz-table td { padding: 7px 8px; border-bottom: 1px solid var(--line); text-align: left; }
.bz-table thead th { color: var(--text-2); font-size: 12px; font-weight: 800; }
.bz-table tbody th { color: var(--text-2); font-weight: 650; }
.bz-table tbody th small { display: block; color: var(--text-3); font-size: 11px; font-weight: 600; }
.bz-table td { width: 26%; color: var(--text); font-size: 15px; font-weight: 700; }
.bz-table tbody tr:first-child td, .bz-table tbody tr:first-child th { color: var(--text); }
.bz-c-concl { margin: 0; padding-left: 10px; border-left: 2px solid var(--line-2); color: var(--text-2); font-size: 13px; }
.bz-c-risk { margin: 0; color: var(--text-2); font-size: 13px; }
.bz-c-risk span { display: inline-block; margin-right: 8px; padding: 1px 8px; border-radius: 6px; background: rgba(244, 183, 64, .12); color: var(--warn); font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.bz-combo { margin-top: 14px; padding: 16px 18px; }
.bz-combo h3 { margin: 0 0 10px; font-size: 16px; }
.bz-combo ol { margin: 0 0 10px; padding-left: 20px; display: grid; gap: 6px; }
.bz-combo li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; align-items: baseline; color: var(--text-2); font-size: 13px; }
.bz-combo li b { color: var(--text); } .bz-combo li em { font-style: normal; color: var(--text); font-size: 15px; }
.bz-combo-tot { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding-top: 10px; border-top: 1px solid var(--line); }
.bz-combo-tot b { font-size: 22px; }
@media (max-width: 560px) { .bz-cov2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .bz-c-pick { flex-wrap: wrap; } .bz-ref { justify-items: start; } .bz-combo li { grid-template-columns: 1fr auto; } .bz-combo li span { grid-column: 1 / -1; } }

/* ------------------------------------------------------------------ BetDemon v2 (31/10) */
.bd-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.bd-saved-btn { white-space: nowrap; flex: none; display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border-radius: 10px; background: var(--surface); border: 1px solid var(--line-2); color: var(--text); font-weight: 750; font-size: 13px; }
.bd-saved-btn .n { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--accent); color: #fff; font-size: 11.5px; display: inline-grid; place-items: center; }
.bd-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 18px; align-items: start; }
.bd-form { position: sticky; top: 16px; display: grid; gap: 14px; padding: 16px; border-radius: var(--r-3); }
.bd-f { display: grid; gap: 7px; }
.bd-lab { color: var(--text-3); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.bd-lab small { text-transform: none; letter-spacing: 0; font-weight: 600; }
.bd-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; padding: 3px; border-radius: 10px; background: var(--surface-2); border: 1px solid var(--line); }
.bd-seg button { height: 32px; border-radius: 8px; font-size: 12.5px; font-weight: 750; color: var(--text-2); }
.bd-seg button[aria-pressed="true"] { background: var(--accent); color: #fff; }
.bd-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.bd-chips button { height: 30px; padding: 0 11px; border-radius: 15px; border: 1px solid var(--line); background: var(--surface); color: var(--text-2); font-size: 12px; font-weight: 700; }
.bd-chips button[aria-pressed="true"] { background: var(--text); color: var(--bg); border-color: var(--text); }
.bd-nums { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; }
.bd-nums button { height: 34px; border-radius: 9px; border: 1px solid var(--line); background: var(--surface-2); font-family: var(--font-num); font-size: 17px; font-weight: 700; color: var(--text-2); }
.bd-nums button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-weak); color: var(--text); }
.bd-odd { display: flex; align-items: center; gap: 8px; }
.bd-odd input { width: 110px; height: 34px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--line); background: var(--surface-2); color: var(--text); font: 600 14px var(--font); }
.bd-odd small { color: var(--text-3); font-size: 11.5px; line-height: 1.35; }
.bd-go { height: 42px; justify-content: center; font-size: 14px; width: 100%; }
.bd-fine { margin: 0; color: var(--text-3); font-size: 11.5px; line-height: 1.45; }

.bd-sum { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; margin: 0 0 12px; }
.bd-sum h2 { margin: 0; font-size: 17px; }
.bd-sum p { margin: 0; color: var(--text-3); font-size: 12px; }
.bd-list { display: grid; gap: 12px; }

/* Tarjeta individual compacta */
.bd-card { padding: 14px 16px; border-radius: var(--r-3); display: grid; gap: 10px; }
.bd-c-top { display: flex; align-items: center; gap: 8px; color: var(--text-3); font-size: 12px; font-weight: 700; }
.bd-c-top .n { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; background: var(--surface-3); color: var(--text-2); font-family: var(--font-num); font-size: 14px; }
.bd-c-top b { color: var(--text); font-family: var(--font-num); font-size: 14px; }
.bd-c-match { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 15px; font-weight: 750; }
.bd-c-match em { font-style: normal; color: var(--text-3); font-size: 12px; }
.bd-dot { width: 18px; height: 18px; border-radius: 50%; background: var(--surface-3); border: 1px solid var(--line-2); display: inline-block; vertical-align: -3px; margin-right: 6px; }
.bd-pick { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 12px;
  background: linear-gradient(180deg, var(--accent-weak), rgba(248,72,56,.03)); border: 1px solid var(--accent-line); }
.bd-pick .mk { display: block; color: var(--accent-2); font-size: 10.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.bd-pick .bet { display: block; font-size: 17px; font-weight: 800; line-height: 1.2; }
.bd-odds { text-align: right; } .bd-odds small { display: block; color: var(--text-3); font-size: 10.5px; font-weight: 700; } .bd-odds b { font-family: var(--font-num); font-size: 20px; }
.bd-why { margin: 0; padding: 0; list-style: none; display: grid; gap: 5px; font-size: 13px; color: var(--text-2); }
.bd-why li { display: grid; grid-template-columns: 14px 1fr; gap: 6px; }
.bd-why li::before { content: ''; width: 6px; height: 6px; margin-top: 7px; border-radius: 50%; background: var(--win); }
.bd-risk { margin: 0; font-size: 12.5px; color: var(--text-2); }
.bd-risk span { margin-right: 6px; padding: 1px 7px; border-radius: 6px; background: rgba(244,183,64,.12); color: var(--warn); font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.bd-more summary { cursor: pointer; color: var(--text-3); font-size: 12px; font-weight: 750; list-style: none; }
.bd-more summary::-webkit-details-marker { display: none; }
.bd-more[open] summary { margin-bottom: 8px; }
.bd-mini { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.bd-mini th, .bd-mini td { padding: 5px 6px; border-bottom: 1px solid var(--line); text-align: left; }
.bd-mini td { font-family: var(--font-num); font-size: 14px; font-weight: 700; color: var(--text); }
.bd-mini th { color: var(--text-2); font-weight: 650; }
.bd-acts { display: flex; gap: 8px; flex-wrap: wrap; }
.bd-acts .btn { height: 34px; font-size: 12.5px; }
.bd-acts .btn.saved { background: rgba(47,208,122,.12); color: var(--win); }

/* Boleto combinado */
.bd-ticket { border-radius: var(--r-3); overflow: hidden; }
.bd-t-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; background: var(--surface-2); border-bottom: 1px dashed var(--line-2); }
.bd-t-head h3 { margin: 0; font-size: 16px; } .bd-t-head span { color: var(--text-3); font-size: 12px; font-weight: 700; }
.bd-leg { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 4px 10px; align-items: center; padding: 12px 16px; border-bottom: 1px dashed var(--line); }
.bd-leg .n { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-3); font-family: var(--font-num); font-size: 13px; color: var(--text-2); }
.bd-leg .meta { color: var(--text-3); font-size: 11.5px; font-weight: 700; }
.bd-leg .match { font-size: 13.5px; font-weight: 700; }
.bd-leg .bet { color: var(--text); font-size: 15px; font-weight: 800; }
.bd-leg .o { font-family: var(--font-num); font-size: 17px; font-weight: 700; color: var(--text-2); }
.bd-leg .st { grid-column: 2 / -1; }
.bd-t-foot { display: grid; gap: 10px; padding: 14px 16px; }
.bd-t-total { display: flex; align-items: baseline; justify-content: space-between; }
.bd-t-total span { color: var(--text-2); font-size: 13px; font-weight: 700; } .bd-t-total b { font-family: var(--font-num); font-size: 26px; }

/* Bets guardadas */
.bd-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); margin-bottom: 12px; }
.bd-tabs button { height: 32px; padding: 0 12px; border-radius: 9px; color: var(--text-2); font-weight: 750; font-size: 12.5px; }
.bd-tabs button[aria-pressed="true"] { background: var(--surface-3); color: var(--text); }
.bd-saved { padding: 12px 14px; border-radius: var(--r-2); display: grid; gap: 8px; }
.bd-s-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--text-3); font-size: 11.5px; font-weight: 700; }
.st { display: inline-flex; align-items: center; gap: 5px; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 800; background: var(--surface-3); color: var(--text-2); }
.st.ok { background: rgba(47,208,122,.13); color: var(--win); } .st.ko { background: var(--accent-weak); color: var(--accent-2); } .st.void { color: var(--text-3); }
.bd-s-legs { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; font-size: 13px; }
.bd-s-legs li { display: flex; justify-content: space-between; gap: 8px; } .bd-s-legs b { color: var(--text); }
.bd-s-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; color: var(--text-3); font-size: 11.5px; }
.bd-link { color: var(--text-3); font-size: 12px; font-weight: 750; } .bd-link:hover { color: var(--text); }
.bd-notice { padding: 10px 12px; border-radius: var(--r-2); background: var(--surface-2); border: 1px solid var(--line); color: var(--text-2); font-size: 12.5px; }

@media (max-width: 860px) {
  .demo-page { padding: 12px 12px 90px; }
  .bd-layout { grid-template-columns: 1fr; gap: 12px; }
  .bd-form { position: static; padding: 12px; gap: 10px; }
  .bd-collapsed .bd-f-extra { display: none; }
    .bd-pick .bet { font-size: 16px; }
  .bd-s-legs li { flex-direction: column; gap: 1px; padding: 6px 0; border-bottom: 1px dashed var(--line); }
  .bd-s-legs li:last-child { border-bottom: 0; }
  /* Con resultados, en celular el formulario se pliega en una línea con «Cambiar». */
  .bd-has-res .bd-form { display: none; }
  .bd-bar { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-radius: var(--r-2); background: var(--surface); border: 1px solid var(--line); font-size: 12.5px; color: var(--text-2); }
  .bd-bar b { color: var(--text); }
}
@media (min-width: 861px) { .bd-bar { display: none; } }

/* BetDemon 31/10 (aprobado): ajustes de integración */
.bd { display: grid; gap: 0; }
.bd-head { margin: -6px 0 14px; } .bd-sub { margin: 0; color: var(--text-2); font-size: 13.5px; }
.bd-hint { color: var(--text-3); font-size: 11.5px; line-height: 1.4; }
.bd-team { display: inline-flex; align-items: center; gap: 6px; } .bd-team .crest { width: 20px; height: 20px; }
.bd-results { min-width: 0; }
.bd-empty { display: grid; gap: 4px; padding: 22px 18px; border-radius: var(--r-2); background: var(--surface); border: 1px dashed var(--line-2); color: var(--text-2); font-size: 13px; }
.bd-empty b { color: var(--text); }
.bd-cardnote { margin: 0; padding: 8px 10px; border-radius: 9px; background: var(--surface-2); color: var(--text-2); font-size: 12.5px; }
.bd-acts .btn.bd-saved { background: rgba(47,208,122,.12); color: var(--win); opacity: 1; }
.bd-leg .why { margin-top: 2px; color: var(--text-3); font-size: 12px; }
.bd-card[aria-busy="true"] { opacity: .6; }
.bd .bz-cov2 { margin-top: 16px; } .bd .bz-cov-n b { font-size: 18px; }
.bd-bar { margin-bottom: 12px; }
@media (min-width: 861px) { .bd-bar { display: none; } .bd-folded { display: grid; } }
@media (max-width: 860px) { .bd-has-res .bd-form { display: none; } .bd-head { margin-top: -2px; } }
body.sec-buscador #list { max-width: 1200px; }
/* La clase heredada .bz-card (rejilla de la versión anterior) no debe deformar las tarjetas nuevas. */
.bz-card.bd-card { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.bz-card.bd-leg { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; padding: 12px 16px; border-radius: 0; background: none; border: 0; border-bottom: 1px dashed var(--line); box-shadow: none; }

/* Planes (02/11/2026): condiciones bajo el precio, línea base «Todo lo incluido…» y listas alineadas en escritorio. */
.lz-terms { margin: -6px 0 0; color: var(--text-2); font-size: 12px; font-weight: 650; letter-spacing: .01em; }
.lz-feats li { align-items: flex-start; line-height: 1.35; }
.lz-feats li svg { margin-top: 1px; }
.lz-feats li.base { color: var(--text-2); font-weight: 750; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.lz-cards { align-items: stretch; }
@media (max-width: 760px) { .lz-feats li { font-size: 13.5px; } }
.lz-card .lz-feats { align-content: start; }

/* BetDemon sin sesión (02/11/2026): cómo funciona y un boleto de ejemplo, claramente marcado como ilustración. */
.bd-anon-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 14px; }
.bd-anon-how, .bd-anon-demo { padding: 18px; margin: 0; }
.bd-anon-how h2 { margin: 0 0 12px; font-size: 16px; }
.bd-anon-how ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.bd-anon-how li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; }
.bd-anon-how li p { margin: 3px 0 0; color: var(--text-2); font-size: 13px; line-height: 1.45; }
.bd-step-n { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--accent-weak); color: var(--accent-2, var(--accent)); font-weight: 800; }
.bd-anon-demo figcaption { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--text-3); font-size: 12px; margin-bottom: 12px; }
.bd-anon-demo ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.bd-anon-demo li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 10px; background: var(--surface-2); border: 1px dashed var(--line-2, var(--line)); }
.bd-anon-demo li b { display: block; font-size: 13.5px; }
.bd-anon-demo li small { color: var(--text-3); font-size: 12px; }
.bd-anon-demo li .num { font-size: 17px; font-weight: 800; }
.bd-anon-total { display: flex; justify-content: space-between; align-items: baseline; margin: 12px 2px 8px; color: var(--text-2); font-weight: 700; }
.bd-anon-total b { font-size: 20px; color: var(--text); }
.bd-anon-fine { margin: 0; color: var(--text-3); font-size: 11.5px; line-height: 1.45; }
@media (max-width: 720px) { .bd-anon-grid { grid-template-columns: minmax(0, 1fr); } }
