/* Villancicos Populares — marca Música y Maestro */
@font-face{font-family:"Playfair Display";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/playfair-700.woff2) format("woff2")}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/jakarta.woff2) format("woff2")}
:root{--vp-brand:#DB0934;--vp-brand-600:#B6072B;--vp-brand-50:#FEEEF1;--vp-ink:#121213;--vp-ink-2:#4A4A50;--vp-ink-3:#76767C;--vp-line:#E6E6E9;--vp-soft:#F6F6F7;--vp-black:#030304;--vp-blue:#1E4E8C;--vp-amber-50:#FEF4E2;--vp-amber-900:#7A4E04;--vp-display:"Playfair Display",Georgia,serif;--vp-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--vp-w:760px;--vp-wide:1120px}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--vp-ink);font-family:var(--vp-sans);font-size:17px;line-height:1.65;margin:0;-webkit-font-smoothing:antialiased}
a{color:var(--vp-ink);text-decoration:underline;text-decoration-color:#C9C9CE;text-underline-offset:3px}
a:hover{text-decoration-color:var(--vp-brand);color:var(--vp-ink)}
img{max-width:100%;height:auto}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;background:#fff;padding:8px 12px;z-index:99}
/* Cabecera */
.vp-header{border-bottom:1px solid var(--vp-line);background:#fff;position:sticky;top:0;z-index:20}
.vp-header-in{max-width:var(--vp-wide);margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.vp-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--vp-ink);font-weight:700;font-size:19px;letter-spacing:-.01em}
.vp-brand img{width:32px;height:32px}
.vp-brand small{display:block;font-weight:500;font-size:12px;color:var(--vp-ink-3);letter-spacing:0}
.vp-nav{margin-left:auto}
.vp-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px 18px;flex-wrap:wrap}
.vp-nav a{text-decoration:none;font-weight:500;font-size:15px;color:var(--vp-ink-2);padding:6px 0;display:inline-block}
.vp-nav a:hover,.vp-nav a[aria-current]{color:var(--vp-ink);box-shadow:inset 0 -2px 0 var(--vp-ink)}
@media (max-width:760px){.vp-header{position:static}.vp-nav{margin-left:0;width:100%;overflow-x:auto}.vp-nav ul{flex-wrap:nowrap;white-space:nowrap}}
/* Contenido */
.site-main,main#content{max-width:var(--vp-w);margin:0 auto;padding:24px 16px 48px}
.home .site-main,.home main#content{max-width:var(--vp-wide)}
.home .page-content>*:not(.vp-hero):not(.vp-books):not(.vp-videos):not(.vp-grid30){max-width:var(--vp-w)}
.page-header{display:none}
.page-content p,.page-content li{color:var(--vp-ink)}
.page-content h1,.vp-head h1,.vp-hero h1{font-family:var(--vp-display);font-weight:700;font-size:44px;line-height:1.1;letter-spacing:-.01em;margin:4px 0 8px;color:var(--vp-ink)}
.page-content h2{font-family:var(--vp-sans);font-weight:700;font-size:24px;line-height:1.3;margin:44px 0 12px;scroll-margin-top:90px}
.page-content h3{font-family:var(--vp-sans);font-weight:700;font-size:19px;line-height:1.4;margin:28px 0 6px}
.page-content h3 a{text-decoration:none}
@media (max-width:600px){.page-content h1,.vp-head h1,.vp-hero h1{font-size:34px}.page-content h2{font-size:21px}}
.vp-kicker{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--vp-ink-3);margin:0}
.vp-sub{font-size:19px;color:var(--vp-ink-2);margin:0}
.vp-head{margin:8px 0 20px}
.vp-crumbs{font-size:14px;color:var(--vp-ink-3);margin-bottom:8px}
.vp-crumbs a{color:var(--vp-ink-3)}.vp-crumbs .sep{margin:0 4px}
.vp-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--vp-line);border:1px solid var(--vp-line);border-radius:12px;overflow:hidden;margin:0 0 24px}
.vp-facts div{background:#fff;padding:10px 14px}
.vp-facts dt{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--vp-ink-3)}
.vp-facts dd{margin:2px 0 0;font-size:15px;font-weight:500;line-height:1.4}
.vp-score{margin:28px 0;border:1px solid var(--vp-line);border-radius:12px;overflow:hidden;background:#fff}
.vp-score img{display:block;width:100%}
.vp-score figcaption{font-size:14px;color:var(--vp-ink-2);padding:10px 16px;border-top:1px solid var(--vp-line);background:var(--vp-soft)}
/* Vídeo */
.vp-video{position:relative;aspect-ratio:16/9;background:var(--vp-black);border-radius:12px;overflow:hidden}
.vp-video-btn{all:unset;cursor:pointer;display:block;width:100%;height:100%;position:relative}
.vp-video-btn img{width:100%;height:100%;object-fit:cover;display:block;opacity:.9}
.vp-play{position:absolute;left:50%;top:50%;width:68px;height:48px;margin:-24px 0 0 -34px;background:rgba(3,3,4,.82);border-radius:12px}
.vp-play:after{content:"";position:absolute;left:28px;top:14px;border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent #fff}
.vp-video-btn:hover .vp-play,.vp-video-btn:focus-visible .vp-play{background:var(--vp-black);outline:2px solid #fff}
.vp-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vp-videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:16px 0}
.vp-vcard p{margin:8px 0 0;font-weight:700}.vp-vcard a{text-decoration:none}
@media (max-width:860px){.vp-videos{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.vp-videos{grid-template-columns:1fr}}
/* Acordes */
.vp-chords{list-style:none;padding:0;margin:12px 0;display:flex;flex-wrap:wrap;gap:10px}
.vp-chords li{border:1px solid var(--vp-line);border-radius:10px;padding:8px 14px;min-width:84px;margin:0}
.vp-chords strong{display:block;font-size:20px;line-height:1.2}
.vp-chords span{font-size:13px;color:var(--vp-ink-2)}
.vp-tip{background:var(--vp-amber-50);border-radius:12px;padding:14px 18px;margin:20px 0}
.vp-tip p{margin:0;color:var(--vp-amber-900)}.vp-tip .vp-tip-title{font-weight:700;margin-bottom:4px}
/* Letra */
.vp-lyrics{columns:2 300px;column-gap:40px;margin:12px 0}
.vp-lyrics p{break-inside:avoid;margin:0 0 18px;font-size:17px;line-height:1.6}
.vp-note{font-size:15px;color:var(--vp-ink-2);border-left:3px solid var(--vp-line);padding-left:12px}
/* Libros */
.vp-books{display:grid;gap:20px;margin:16px 0}
.vp-books-2{grid-template-columns:repeat(2,1fr)}.vp-books-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.vp-books-3{grid-template-columns:1fr}}
@media (max-width:600px){.vp-books-2{grid-template-columns:1fr}}
.vp-book{border:1px solid var(--vp-line);border-radius:14px;padding:16px;display:flex;gap:16px;align-items:flex-start;background:#fff}
.vp-book-cover{flex:0 0 96px}.vp-book-cover img{display:block;width:96px;height:auto;border-radius:4px;box-shadow:0 4px 14px rgba(3,3,4,.14)}
.vp-books-3 .vp-book{flex-direction:column}.vp-books-3 .vp-book-cover{flex-basis:auto;align-self:center}.vp-books-3 .vp-book-cover img{width:170px}
.vp-book-body{flex:1;min-width:0}
.vp-book-title{font-family:var(--vp-sans)!important;font-size:17px!important;line-height:1.35!important;margin:0 0 4px!important}
.vp-book-title a{text-decoration:none}
.vp-book-pitch{font-size:14px;color:var(--vp-ink-2);margin:0 0 6px}
.vp-book-price{font-size:22px;font-weight:700;margin:0 0 10px}
.vp-btn{display:inline-block;font-family:var(--vp-sans);font-weight:700;font-size:15px;line-height:1.2;padding:12px 18px;border-radius:10px;text-decoration:none;text-align:center;transition:background .15s}
.vp-btn-primary{background:var(--vp-brand);color:#fff!important}.vp-btn-primary:hover{background:var(--vp-brand-600);color:#fff}
.vp-btn-secondary{background:var(--vp-black);color:#fff!important}.vp-btn-secondary:hover{background:#2A2A2E;color:#fff}
.vp-btn-ghost{border:1.5px solid var(--vp-ink);color:var(--vp-ink)!important}.vp-btn-ghost:hover{background:var(--vp-soft)}
.vp-bookhero{display:flex;gap:28px;align-items:flex-start;margin:8px 0 24px}
.vp-bookhero img{width:220px;border-radius:6px;box-shadow:0 8px 24px rgba(3,3,4,.18)}
.vp-bookhero p{margin:0 0 8px}.vp-small{font-size:13px;color:var(--vp-ink-3);margin-top:8px!important}
@media (max-width:600px){.vp-bookhero{flex-direction:column}.vp-bookhero img{width:180px}}
/* Listas */
.vp-list{list-style:none;padding:0;margin:12px 0;border-top:1px solid var(--vp-line)}
.vp-list li{border-bottom:1px solid var(--vp-line);padding:10px 0;margin:0;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.vp-list a{font-weight:700;text-decoration:none}.vp-list a:hover{text-decoration:underline}
.vp-li-meta{font-size:14px;color:var(--vp-ink-3)}
.vp-list-num{list-style:decimal inside}
.vp-list-num li{display:list-item}.vp-list-num li::marker{color:var(--vp-ink-3);font-size:14px}
.vp-list-num .vp-li-meta{display:block;margin-left:22px}
.vp-grid30{columns:3 220px;column-gap:28px;padding-left:22px;margin:8px 0 20px}
.vp-grid30 li{margin:0 0 6px;break-inside:avoid}.vp-grid30 li::marker{color:var(--vp-ink-3)}
.vp-grid30 a{text-decoration:none;font-weight:500}.vp-grid30 a:hover{text-decoration:underline}
.vp-related{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.vp-related a{display:inline-block;border:1px solid var(--vp-line);border-radius:999px;padding:8px 16px;text-decoration:none;font-weight:500}
.vp-related a:hover{border-color:var(--vp-ink)}
.vp-pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px 0 8px}
.vp-pn a{border:1px solid var(--vp-line);border-radius:12px;padding:12px 16px;text-decoration:none;font-weight:700}
.vp-pn a span{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--vp-ink-3)}
.vp-pn .next{text-align:right}
.vp-all{font-size:15px;text-align:center}
/* Portada */
.vp-hero{padding:40px 0 16px;max-width:820px}
.vp-hero h1{font-size:52px}
@media (max-width:600px){.vp-hero{padding-top:16px}.vp-hero h1{font-size:36px}}
.vp-lead{font-size:19px;color:var(--vp-ink-2);max-width:680px}
.vp-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.vp-teachers{background:var(--vp-soft);border-radius:14px;padding:20px 24px}
.vp-teachers ul{margin:8px 0 16px}
/* Tabla y FAQ */
.vp-table-wrap{overflow-x:auto}
.vp-table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
.vp-table th,.vp-table td{border-bottom:1px solid var(--vp-line);padding:10px 12px;text-align:left;vertical-align:top}
.vp-table thead th{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--vp-ink-3)}
.vp-faq details{border-bottom:1px solid var(--vp-line);padding:12px 0}
.vp-faq summary{font-weight:700;cursor:pointer}
.vp-faq p{margin:8px 0 0}
/* Pie */
.vp-footer{background:var(--vp-black);color:#D6D6DA;margin-top:40px}
.vp-footer-in{max-width:var(--vp-wide);margin:0 auto;padding:36px 16px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:28px}
.vp-footer a{color:#fff;text-decoration-color:#55555C}.vp-footer a:hover{text-decoration-color:#ED3157;color:#fff}
.vp-footer h2{font-family:var(--vp-sans);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#9A9AA2;margin:0 0 10px}
.vp-footer ul{list-style:none;margin:0;padding:0}.vp-footer li{margin:0 0 6px;font-size:15px}
.vp-footer p{font-size:14px;margin:0 0 10px;color:#BDBDC3}
.vp-footer-logo{width:180px;height:auto;margin-bottom:12px}
.vp-footer-bottom{border-top:1px solid #222226;max-width:var(--vp-wide);margin:0 auto;padding:16px;font-size:13px;color:#9A9AA2}
@media (max-width:760px){.vp-footer-in{grid-template-columns:1fr}}
/* Ajustes tras revisión en móvil */
.vp-btn,.vp-btn:hover{text-decoration:none!important}
.vp-nav{scrollbar-width:none}.vp-nav::-webkit-scrollbar{display:none}
@media (max-width:600px){.vp-facts{grid-template-columns:1fr 1fr}.vp-facts div:last-child:nth-child(odd){grid-column:1/-1}}
