.mdv-tarjeta, .mdv-chips, .mdv-migas, .mdv-faq, .mdv-datos, .mdv-revisado, .mdv-barra-contacto {
font-family: var(--mdv-f-texto); line-height: 1.6; color: var(--mdv-c-tinta); -webkit-font-smoothing: antialiased;
}
.mdv-tarjeta *, .mdv-chips *, .mdv-migas *, .mdv-faq *, .mdv-datos *, .mdv-revisado *, .mdv-barra-contacto * { box-sizing: border-box; }
.mdv-tarjeta a:focus-visible, .mdv-chips a:focus-visible, .mdv-migas a:focus-visible, .mdv-faq summary:focus-visible,
.mdv-datos a:focus-visible, .mdv-barra-contacto a:focus-visible { outline: 3px solid var(--mdv-c-acento); outline-offset: 2px; border-radius: 4px; } .mdv-btn--contorno { background: transparent; border-color: var(--mdv-c-primario); color: var(--mdv-c-primario); }
.mdv-btn--contorno:hover, .mdv-btn--contorno:focus { background: var(--mdv-c-primario); color: #fff; }
.mdv-btn--acento { background: var(--mdv-c-acento); color: #1A202C; }
.mdv-btn--acento:hover, .mdv-btn--acento:focus { background: var(--mdv-c-acento); filter: brightness(.95); color: #1A202C; } .mdv-tarjeta {
display: flex; flex-direction: column; gap: var(--mdv-esp-4); padding: var(--mdv-esp-5);
background: var(--mdv-c-superficie); border: var(--mdv-tarjeta-borde); border-radius: var(--mdv-r-tarjeta); box-shadow: var(--mdv-sombra);
transition: transform .2s, box-shadow .2s;
}
.mdv-tarjeta:hover { transform: translateY(-3px); box-shadow: 0 4px 6px #161A2308, 0 20px 44px #161A2318; }
.mdv-tarjeta__cab { display: flex; gap: var(--mdv-esp-4); align-items: center; }
.mdv-avatar {
flex: none; width: 64px; height: 64px; border-radius: var(--mdv-r-avatar); overflow: hidden; display: grid; place-items: center;
background: var(--mdv-c-avatar-fondo); color: var(--mdv-c-avatar-texto); font: var(--mdv-peso-titulo) 1.5rem var(--mdv-f-titulo);
}
.mdv-avatar__img { width: 100%; height: 100%; object-fit: cover; }
.mdv-tarjeta__nombre { margin: 0; font: var(--mdv-peso-titulo) 1.25rem/1.2 var(--mdv-f-titulo); letter-spacing: var(--mdv-tracking-titulo); }
.mdv-tarjeta__nombre a { color: var(--mdv-c-titulo); text-decoration: none; }
.mdv-tarjeta__nombre a:hover { color: var(--mdv-c-primario); }
.mdv-tarjeta__lugar { margin: 0; color: var(--mdv-c-tinta-2); font-size: .9375rem; }
.mdv-tarjeta__acciones { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: auto; }
.mdv-tarjeta .mdv-btn { flex: 1 1 130px; border-radius: var(--mdv-r-btn-tarjeta); text-transform: none; letter-spacing: 0; font-size: .9375rem; } .mdv-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.mdv-chip {
display: inline-flex; align-items: center; min-height: 40px; padding: .35rem 1rem;
background: var(--mdv-c-chip-fondo); color: var(--mdv-c-chip-texto); border: 1px solid var(--mdv-c-chip-borde); border-radius: var(--mdv-r-chip);
font-size: .9375rem; font-weight: 600; text-decoration: none; transition: background .15s, color .15s, border-color .15s;
}
a.mdv-chip:hover { background: var(--mdv-c-primario); color: #fff; border-color: var(--mdv-c-primario); }
.mdv-chip--pequeno { min-height: 28px; padding: .1rem .75rem; font-size: .8125rem; font-weight: 500; }
.mdv-tarjeta .mdv-chip { border-radius: var(--mdv-r-chip-tarjeta); background: #F3EFE7; border-color: transparent; } .mdv-migas { font-size: .875rem; }
.mdv-migas ol { list-style: none; display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin: 0; padding: 0; }
.mdv-migas li + li::before { content: "›"; margin-right: .5rem; opacity: .6; }
.mdv-migas a { color: inherit; text-underline-offset: 3px; }
.mdv-migas a:hover { color: var(--mdv-c-primario); } .mdv-faq details { border-bottom: 1px solid var(--mdv-c-borde); }
.mdv-faq details:first-child { border-top: 1px solid var(--mdv-c-borde); }
.mdv-faq summary { cursor: pointer; list-style: none; position: relative; padding: var(--mdv-esp-4) 2rem var(--mdv-esp-4) 0; font-weight: 700; font-size: 1.0625rem; }
.mdv-faq summary::-webkit-details-marker { display: none; }
.mdv-faq summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; color: var(--mdv-c-primario); }
.mdv-faq details[open] summary::after { content: "–"; }
.mdv-faq__respuesta { padding-bottom: var(--mdv-esp-4); color: var(--mdv-c-tinta-2); }
.mdv-faq__respuesta > :last-child { margin-bottom: 0; } .mdv-datos { border: 1px solid var(--mdv-c-borde); border-radius: var(--mdv-r-lg); overflow: hidden; background: var(--mdv-c-superficie); }
.mdv-datos dl { margin: 0; }
.mdv-datos__fila { display: grid; gap: .25rem; padding: var(--mdv-esp-4) var(--mdv-esp-5); border-top: 1px solid var(--mdv-c-borde); }
.mdv-datos__fila:first-child { border-top: 0; }
.mdv-datos dt { font-weight: 700; }
.mdv-datos dd { margin: 0; }
.mdv-datos__fuente { font-size: .8125rem; color: var(--mdv-c-tinta-2); }
.mdv-pendiente { display: inline-block; padding: .1rem .55rem; border-radius: 4px; background: #FEF3C7; color: #78350F; font-weight: 700; font-size: .8125rem; letter-spacing: .04em; }
@media (min-width: 640px) { .mdv-datos__fila { grid-template-columns: 14rem 1fr; gap: var(--mdv-esp-5); } } .mdv-revisado {
display: flex; gap: var(--mdv-esp-4); align-items: flex-start; padding: var(--mdv-esp-5);
background: var(--mdv-c-revisado-fondo); border: 1px solid var(--mdv-c-revisado-borde); border-radius: var(--mdv-r-lg);
}
.mdv-revisado svg { flex: none; width: 36px; height: 36px; color: var(--mdv-c-primario); }
.mdv-revisado p { margin: 0; font-size: .9375rem; color: var(--mdv-c-tinta-2); }
.mdv-revisado strong { color: var(--mdv-c-tinta); }
.mdv-revisado--pendiente { background: #FEF3C7; border-color: #F0D58A; }
.mdv-revisado--pendiente svg { color: #92400E; } .mdv-barra-contacto {
position: fixed; inset: auto 0 0 0; z-index: 60; display: grid; grid-template-columns: repeat(var(--mdv-medios, 3), 1fr); gap: 1px;
background: var(--mdv-c-borde); border-top: 1px solid var(--mdv-c-borde); box-shadow: 0 -6px 20px #0002;
}
.mdv-barra-contacto a {
display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .15rem; min-height: 56px; padding: .6rem .25rem;
background: #fff; color: var(--mdv-c-tinta); font-size: .75rem; font-weight: 700; text-decoration: none;
}
.mdv-barra-contacto a:first-child { background: var(--mdv-c-primario); color: #fff; }
.mdv-barra-contacto svg { width: 22px; height: 22px; }
@media (min-width: 960px) { .mdv-barra-contacto { display: none; } }
@media (prefers-reduced-motion: reduce) { .mdv-tarjeta, .mdv-chip { transition: none; } .mdv-tarjeta:hover { transform: none; } }