/* MDVIP: componente de agenda de la llamada de diagnóstico (PMD-027 F3).
   Sección desplegable dentro de cada página; usa los tokens de mdvip.css. */
.mdvip-agenda-cta { margin: 3rem 0 1rem; padding: 1.8rem 1.6rem; border-radius: var(--mdvip-radius); background: var(--mdvip-navy); color: #fff; text-align: center; }   /* centrado como .mdvip-next (JOH 15/10/2026) */
.mdvip-agenda-cta .mdvip-eyebrow { color: var(--mdvip-gold); }
.mdvip-agenda-cta h2 { color: #fff; margin: .2rem 0 .6rem; }
.mdvip-agenda-cta p { color: #E4E0F5; }
.mdvip-agenda-cta__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem 1.2rem; list-style: none; padding: 0; margin: 0 0 1.3rem; font-size: .95rem; color: #E4E0F5; }
.mdvip-agenda-cta__facts li::before { content: "✓ "; color: var(--mdvip-gold); font-weight: 700; }
.mdvip-agenda-cta .mdvip-btn--primary:hover { background: var(--mdvip-yellow); color: var(--mdvip-navy); }

.mdvip-agenda { margin: 1rem 0 2rem; padding: 1.6rem; border: 1px solid var(--mdvip-line); border-radius: var(--mdvip-radius);
  background: #fff; box-shadow: var(--mdvip-shadow); scroll-margin-top: 1rem; }
.mdvip-agenda[hidden] { display: none; }
/* Los display de la plantilla (.mdvip-btn inline-flex, barras flex) anulan el atributo hidden: se fuerza. */
.mdvip-agenda [hidden] { display: none !important; }
.mdvip-agenda__progress { font-family: var(--mdvip-font-display); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--mdvip-muted); margin: 0 0 .5rem; }
.mdvip-agenda__bar { height: 6px; border-radius: 99px; background: var(--mdvip-navy-soft); margin-bottom: 1.4rem; overflow: hidden; }
.mdvip-agenda__bar span { display: block; height: 100%; width: 33%; background: var(--mdvip-coral); transition: width .3s; }
.mdvip-agenda fieldset { border: 0; padding: 0; margin: 0 0 1.4rem; }
.mdvip-agenda legend, .mdvip-agenda__label { display: block; font-family: var(--mdvip-font-display); font-weight: 700; color: var(--mdvip-navy); font-size: 1.05rem; margin-bottom: .3rem; }
.mdvip-agenda__hint { display: block; font-size: .9rem; color: var(--mdvip-muted); margin: 0 0 .6rem; }
.mdvip-agenda__opt { display: flex; gap: .65rem; align-items: flex-start; padding: .7rem .85rem; margin-bottom: .45rem; border: 1px solid var(--mdvip-line);
  border-radius: var(--mdvip-radius-sm); cursor: pointer; line-height: 1.4; }
.mdvip-agenda__opt:hover { border-color: var(--mdvip-navy); }
.mdvip-agenda__opt input { margin-top: .2rem; accent-color: var(--mdvip-coral); flex: none; width: 1.1rem; height: 1.1rem; }
.mdvip-agenda__opt:has(input:checked) { border-color: var(--mdvip-coral); background: var(--mdvip-coral-soft); }
.mdvip-agenda__field { margin-bottom: 1rem; }
.mdvip-agenda__field input { display: block; width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; padding: .75rem .85rem;
  border: 1px solid #CFCADF; border-radius: var(--mdvip-radius-sm); background: #fff; color: var(--mdvip-text); }
.mdvip-agenda__field input:focus, .mdvip-agenda__opt input:focus-visible { outline: 3px solid var(--mdvip-yellow-mark); outline-offset: 1px; border-color: var(--mdvip-navy); }
.mdvip-agenda .is-err input, .mdvip-agenda fieldset.is-err .mdvip-agenda__opt { border-color: var(--mdvip-coral-ink); }
.mdvip-agenda__ferr { display: block; color: var(--mdvip-coral-ink); font-size: .88rem; margin-top: .3rem; }
.mdvip-agenda__ferr:empty { display: none; }
.mdvip-agenda__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mdvip-agenda__nav { display: flex; gap: .8rem; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-top: .4rem; }
.mdvip-agenda__nav .mdvip-btn--primary { margin-left: auto; }
.mdvip-agenda__legal { font-size: .85rem; color: var(--mdvip-muted); margin: 1rem 0 0; }
.mdvip-agenda__msg { margin: 1rem 0 0; padding: .8rem 1rem; border-radius: var(--mdvip-radius-sm); background: #FFF8E6; border-left: 4px solid var(--mdvip-gold); font-size: .95rem; }
.mdvip-agenda__msg:empty { display: none; }
.mdvip-agenda__msg.is-ok { background: #EAF6EF; border-left-color: var(--mdvip-success); }
.mdvip-agenda h3 { font-size: 1.3rem; margin: 0 0 .4rem; }
.mdvip-agenda__focus { color: var(--mdvip-muted); margin: 0 0 1.1rem; }
.mdvip-agenda__days { display: flex; gap: .45rem; overflow-x: auto; padding-bottom: .4rem; margin-bottom: .9rem; }
.mdvip-agenda__day, .mdvip-agenda__time { font: inherit; cursor: pointer; border: 1px solid var(--mdvip-line); background: #fff; color: var(--mdvip-text);
  border-radius: var(--mdvip-radius-sm); padding: .55rem .75rem; }
.mdvip-agenda__day { flex: none; text-align: center; line-height: 1.25; min-width: 4.4rem; }
.mdvip-agenda__day strong { display: block; font-family: var(--mdvip-font-display); color: var(--mdvip-navy); }
.mdvip-agenda__times { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr)); gap: .45rem; margin-bottom: .4rem; }
.mdvip-agenda__day[aria-pressed="true"], .mdvip-agenda__time[aria-pressed="true"] { border-color: var(--mdvip-coral); background: var(--mdvip-coral); color: #fff; }
.mdvip-agenda__day[aria-pressed="true"] strong { color: #fff; }
.mdvip-agenda__tz { font-size: .85rem; color: var(--mdvip-muted); margin: 0 0 1rem; }
.mdvip-agenda__pin input { max-width: 11rem; letter-spacing: .3em; font-size: 1.2rem; text-align: center; }
.mdvip-agenda__link { font: inherit; background: none; border: 0; padding: 0; color: var(--mdvip-navy); text-decoration: underline; cursor: pointer; }
.mdvip-agenda__link:disabled { color: var(--mdvip-muted); cursor: default; text-decoration: none; }
.mdvip-agenda__done { text-align: center; padding: 1rem 0; }
.mdvip-agenda__done h3 { color: var(--mdvip-success); }
@media (prefers-reduced-motion: reduce) { .mdvip-agenda__bar span { transition: none; } }
