/* =====================================================================
   PROGRAMA — XV Campeonato Nacional Charro "Los 3 Toños"
   ===================================================================== */
body.qvd-prog-page {
  background: linear-gradient(180deg, rgba(34,4,6,.82), rgba(34,4,6,.92)), url('https://ppv.mx/quevedeno/images/evento/tela-punto-cruz.jpg') center top / 1400px auto repeat fixed, #2a0507 !important;
}
body.qvd-prog-page #sp-main-body, body.qvd-prog-page .sppb-section { background: transparent !important; padding-top: 0 !important; padding-bottom: 0 !important; }
body.qvd-prog-page #sp-title, body.qvd-prog-page .sp-page-title { display: none !important; }
.qvd-prog { max-width: 1080px; margin: 0 auto; padding: 56px 20px 80px; font-family: 'Inter', system-ui, sans-serif; color: #f6f1e4; }
.qvd-prog-head { text-align: center; margin-bottom: 40px; }
.qvd-prog-head img { width: 80px; height: 80px; display: block; margin: 0 auto 16px; }
.qvd-prog-eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: #e3ab81; }
.qvd-prog-title { margin: 10px 0 12px !important; font-family: 'Libre Baskerville', Baskerville, serif !important; font-weight: 700 !important; font-size: clamp(2.4rem, 6vw, 3.6rem) !important; line-height: 1 !important; text-transform: uppercase; color: #f6f1e4 !important; }
.qvd-prog-lead { margin: 0 auto; max-width: 520px; font-size: 15px; line-height: 1.6; color: #d9cbbd; }

.qvd-prog-days { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.qvd-prog-day {
  position: relative; padding: 30px 28px 26px; border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02)), rgba(28,3,5,.6);
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(18px) saturate(150%); -webkit-backdrop-filter: blur(18px) saturate(150%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 26px 50px rgba(0,0,0,.4);
}
.qvd-prog-day::before { content: ''; position: absolute; inset: 9px; border-radius: 17px; border: 1.5px dashed rgba(227,171,129,.3); pointer-events: none; }
.qvd-prog-day > * { position: relative; }
.qvd-prog-date { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; margin-bottom: 8px; border-bottom: 1px solid rgba(191,186,150,.2); }
.qvd-prog-date b { font-family: 'Libre Baskerville', Baskerville, serif; font-size: 3.4rem; line-height: 1; color: #e3ab81; }
.qvd-prog-date span { font-family: 'Libre Baskerville', Baskerville, serif; font-weight: 700; font-size: 1.35rem; text-transform: uppercase; letter-spacing: .04em; line-height: 1.1; }
.qvd-prog-date small { display: block; margin-top: 4px; font-family: 'Inter', sans-serif; font-weight: 600; font-size: 11px; letter-spacing: .22em; color: #bfba96; }

.qvd-prog-list { list-style: none; margin: 0; padding: 0; }
.qvd-prog-list li { display: grid; grid-template-columns: 112px 1fr; align-items: center; gap: 14px; padding: 13px 0; border-bottom: 1px dashed rgba(191,186,150,.16); }
.qvd-prog-list li:last-child { border-bottom: 0; }
.qvd-prog-list time { font-family: 'Libre Baskerville', Baskerville, serif; font-weight: 700; font-size: 1.05rem; color: #f6f1e4; white-space: nowrap; }
.qvd-prog-list time small { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #bfba96; }
.qvd-prog-list span { font-size: 15.5px; color: #e9ddd0; }
.qvd-prog-list li.is-special span { color: #e3ab81; font-weight: 600; }
.qvd-prog-list li.is-special time { color: #e3ab81; }
.qvd-prog-list li > span::before { content: '✦'; margin-right: 10px; font-size: 10px; color: #b7703a; vertical-align: 2px; }

.qvd-prog-cta { margin-top: 40px; text-align: center; }
.qvd-prog-cta p { margin: 0 0 16px; font-size: 15px; color: #d9cbbd; }
.qvd-prog-cta strong { color: #e3ab81; font-family: 'Libre Baskerville', Baskerville, serif; }
.qvd-prog-btn {
  display: inline-block; margin: 6px; padding: 15px 28px; border-radius: 999px; background: #e3ab81; color: #1a0304 !important;
  font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; border: 1.5px solid #e3ab81; transition: background .2s, color .2s;
}
.qvd-prog-btn:hover { background: #f6f1e4; border-color: #f6f1e4; }
.qvd-prog-btn.is-ghost { background: transparent; color: #f6f1e4 !important; border-color: rgba(227,171,129,.6); }
.qvd-prog-btn.is-ghost:hover { background: rgba(227,171,129,.15); }

@media (max-width: 860px) { .qvd-prog-days { grid-template-columns: 1fr; } }
@media (max-width: 480px) {
  .qvd-prog { padding: 40px 16px 60px; }
  .qvd-prog-day { padding: 24px 18px 20px; }
  .qvd-prog-list li { grid-template-columns: 92px 1fr; gap: 10px; }
  .qvd-prog-list time { font-size: .95rem; }
  .qvd-prog-list span { font-size: 14.5px; }
}

/* programa oficial: equipos y notas (12-nov-2026) */
.qvd-prog-list > li { align-items: start; }
.qvd-prog-list > li > time { padding-top: 1px; }
.qvd-prog-list > li > div > span { font-size: 15.5px; font-weight: 600; color: #f6f1e4; }
.qvd-prog-list li.is-special > div > span { color: #e3ab81; }
.qvd-prog-list li > div > span::before { content: '✦'; margin-right: 10px; font-size: 10px; color: #b7703a; vertical-align: 2px; }
.qvd-prog-list li > span::before { content: none; }
.qvd-prog-teams { list-style: none; margin: 6px 0 0 20px; padding: 0; }
.qvd-prog-teams li { display: block; padding: 2px 0; border: 0 !important; font-size: 13.5px; color: #d9cbbd; }
.qvd-prog-teams li::before { content: '—'; margin-right: 8px; color: #8a4f2a; }
.qvd-prog-sub { margin: 4px 0 0 20px; font-size: 13px; line-height: 1.45; color: #c9b6a6; }
