/* Identidad y distribución reutilizables para artistas. */
body {font-family:var(--main-font);color:#fff;background:#000;}
h1,.display {font-family:var(--display-font);font-weight:700;letter-spacing:0;}
h2,h3,input,button {font-family:var(--main-font);}
.artist-header {position:absolute;top:0;height:auto;padding:2rem;transform:none;background:transparent;}
.artist-header--home {top:0;transform:none;}
.artist-header .espacio {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;width:100%;}
.artist-header .logo {flex:none;min-height:0;width:min(440px,80vw);max-width:100%;height:auto;text-align:center;}
.artist-header .logo figure {width:100%;height:clamp(80px,16vw,180px);background-size:contain;background-position:center;background-repeat:no-repeat;}
.artist-header .logo h2 {font-family:var(--display-font);font-size:clamp(2.5rem,8vw,6rem);color:#fff;}
.artist-menu ul {display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:0;margin:0;list-style:none;}
.artist-menu a {color:#fff;font:600 1rem var(--main-font);text-transform:uppercase;text-shadow:0 2px 12px #000;}
.artist-menu a:hover,.artist-menu a:focus-visible {color:var(--color-principal);}
.artist-menu li {position:relative;}
.artist-menu .sub-menu {display:none;position:absolute;top:100%;background:#000;padding:1rem;min-width:160px;}
.artist-menu li:hover>.sub-menu,.artist-menu li:focus-within>.sub-menu {display:flex;}
.artist-header.scroll-hidden {transform:none;}
.artist-header--home.scroll-hidden {transform:none;}
main {display:block;padding-top:0;}
section.videos,section.videos .espaciovideo,section.videos .video-autoplay,section.videos .video-autoplay__ratio,
section.videos#reel,section.videos#reel .espaciovideo,section.videos#reel .video-autoplay,section.videos#reel .video-autoplay__ratio {height:100svh;min-height:100svh;padding:0;}
section.videos iframe,section.videos#reel iframe {inset:auto;top:50%;left:50%;width:max(100vw,177.778svh);height:max(100svh,56.25vw);max-width:none;transform:translate(-50%,-50%);pointer-events:none;}
section.videos video,section.videos#reel video {width:100%;height:100%;object-fit:cover;}
.video-sonido,.icono-svg,.nosotros__sticker,.contacto__sticker {display:none;}
.artist-footer,.artist-footer.act,.artist-footer.scroll-visible {position:fixed;inset:auto;transform:none;opacity:1;visibility:visible;height:auto;background:#172c92;color:#fff;padding:4rem clamp(1.25rem,6vw,6rem); bottom: 0}
.artist-footer .espacio {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4rem;width:100%;max-width:1200px;margin:auto;}
.artist-footer h2 {font-size:1.5rem;color:var(--color-principal);font-weight: 700; line-height: 1.6;margin:0 0 .5rem;}
.artist-footer p {line-height:1.6;}
.footer-newsletter form {display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;}
.footer-newsletter label {flex-basis:100%;}
.footer-newsletter input {flex:1;min-width:0;background:#fff;color:#000;border:1px solid #fff;border-radius:0;padding:1rem;}
.footer-newsletter button,.modal-contacto__enviar {background:var(--color-principal);color:var(--color-contraste);border:0;border-radius:0;padding:1rem 1.5rem;cursor:pointer;}
.footer-contacto {display:flex;flex-direction:column;gap:1rem;}
.artist-footer a {color:var(--color-principal);}
.artist-footer .redes {display:flex;flex-wrap:wrap;gap:1.25rem;}
.artist-footer .redes a {font-size:1.5rem; width: auto}
.modal-contacto__dialogo {background:var(--color-contraste);color:#fff;border:1px solid var(--color-principal);}
.modal-contacto__form input:not([type=checkbox]) {background:#fff;color:#000;}
.modal-contacto__privacidad a {color:var(--color-principal);}
.loader__spinner {display:block;width:3rem;height:3rem;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:artist-loading 1s linear infinite;}
@keyframes artist-loading {to {transform:rotate(360deg);}}
@media(max-width:700px) {.artist-footer .espacio {grid-template-columns:1fr;gap:3rem;}.artist-header {padding:1rem;}.artist-menu ul {gap:1rem;}.footer-newsletter button {width:100%;}}
@media(prefers-reduced-motion:reduce) {.loader__spinner {animation:none;}}
section.videos.videos--vertical iframe {width:max(100vw,56.25svh);height:max(100svh,177.778vw);}
.modal-contacto__enviar:disabled {opacity:.5;cursor:not-allowed;}
body:not(.home) main {padding-top:240px;}
.artist-header .artist-menu>ul {display:flex;gap:1.5rem;}
.artist-header .artist-menu>ul>li>a {min-height:0;padding:.5rem;font:600 1rem var(--main-font);color:#fff;}
.modal-contacto__form>label:not(.modal-contacto__privacidad) {font:600 .85rem var(--main-font);}
.modal-contacto__form>input:not([type=hidden]) {padding:.75rem;}
.modal-contacto__form input:focus-visible {outline:2px solid var(--color-principal);outline-offset:3px;}

/* Logo integrado al menú, en el lugar de Inicio. */
.artist-header .artist-menu {width:100%;max-width:100%;background:transparent;}
.artist-header .artist-menu>ul {align-items:center;flex-wrap:nowrap;background:transparent;border-radius:0;}
.artist-header .artist-menu>ul>li {flex:0 1 auto;width:auto;}
.artist-header .artist-menu>ul>li>a.logo {display:block;width:clamp(180px,28vw,440px);padding:0;background:transparent;}
.artist-header .artist-menu>ul>li>a:not(.logo) {background:transparent;border-radius:0;max-width:180px;}
.artist-footer .streaming-icon {display:block;width:1.5rem;height:1.5rem;flex-shrink:0;}
@media(max-width:700px) {
 .artist-header .artist-menu>ul {gap:.5rem;}
 .artist-header .artist-menu>ul>li>a.logo {width:clamp(240px,70vw,270px);}
 .artist-header .artist-menu>ul>li>a:not(.logo) {font-size:.7rem;padding:.4rem;max-width:100px;}
 .artist-header .artist-menu>ul>li>a.logo figure {height:110px;}
}

/* Anula la cápsula heredada y centra el menú respecto al viewport. */
header.artist-header {left:0;right:0;width:100%;box-sizing:border-box;}
header.artist-header .espacio {width:100%;max-width:none;padding:0;flex:none;box-sizing:border-box;}
header.artist-header .espacio nav.artist-menu {display:flex;justify-content:center;width:100%;}
header.artist-header .espacio nav.artist-menu>ul {
 width:min(100%,1000px);margin:0 auto;padding:0;min-height:0;
 display:flex;align-items:center;justify-content:center;gap:clamp(.5rem,3vw,3rem);
 background:none;box-shadow:none;border:0;border-radius:0;
 -webkit-backdrop-filter:none;backdrop-filter:none;
}
header.artist-header .espacio nav.artist-menu>ul>li {flex:1 1 0;align-items:center;justify-content:center;}
header.artist-header .espacio nav.artist-menu>ul>li:has(>a.logo) {flex:0 0 auto;}
header.artist-header .espacio nav.artist-menu>ul>li>a {border-radius:0;background:none;min-height:0;box-shadow:none;}
header.artist-header .espacio nav.artist-menu>ul>li>a.logo figure {height:clamp(110px,16vw,180px);min-height:0;}
@media(max-width:700px) {
 header.artist-header .espacio nav.artist-menu>ul {gap:.5rem;}
 header.artist-header .espacio nav.artist-menu>ul>li>a.logo figure {height:110px;}
}

/* Fondo a pantalla completa, con recorte para las bandas del video original. */
section.videos,
section.videos#reel,
section.videos.videos--vertical,
section.videos.videos--vertical#reel {
 height:100dvh;min-height:100dvh;width:100%;overflow:hidden;
}
section.videos .espaciovideo,
section.videos .video-autoplay,
section.videos .video-autoplay__ratio,
section.videos#reel .espaciovideo,
section.videos#reel .video-autoplay,
section.videos#reel .video-autoplay__ratio {
 height:100%;min-height:100%;padding:0;overflow:hidden;
}
section.videos iframe,
section.videos#reel iframe {
 position:absolute;inset:auto;top:50%;left:50%;
 width:max(100vw,177.778dvh);height:max(100dvh,56.25vw);
 max-width:none;max-height:none;margin:0;border:0;
 transform:translate(-50%,-50%) scale(1.35);
}
section.videos.videos--vertical iframe,
section.videos.videos--vertical#reel iframe {
 width:max(100vw,56.25dvh);height:max(100dvh,177.778vw);
}
header.artist-header--home {top:0;transform:none;}

/* El padding forma parte del ancho del footer, también en móvil. */
footer.artist-footer {width:100%;max-width:100%;box-sizing:border-box;pointer-events:auto;}
footer.artist-footer .espacio {box-sizing:border-box;padding:0;min-width:0;}
footer.artist-footer .espacio>* {min-width:0;}
footer.artist-footer input,footer.artist-footer button {box-sizing:border-box;max-width:100%;}
footer.artist-footer .footer-contacto a,footer.artist-footer p {overflow-wrap:anywhere;}

header.artist-header .espacio nav.artist-menu>ul>li>a:not(.logo) {
 background:transparent;color:#fff;padding:.75rem;font:600 .9rem var(--main-font);
 white-space:nowrap;text-shadow:none;border-radius:0;
}
header.artist-header .espacio nav.artist-menu>ul>li>a.logo figure {height:clamp(60px,8vw,100px);}
.artist-release {
 position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;
 gap:clamp(1.5rem,5vw,6rem);padding:2rem;box-sizing:border-box;pointer-events:none;
}
.artist-release__title {text-align:center;color:#fff;max-width:45%;}
.artist-release__title p {font:600 1rem var(--main-font);letter-spacing:.06em;text-transform:uppercase;}
.artist-release__title h2 {font:700 clamp(3rem,7vw,7rem) var(--display-font);margin:.5rem 0;line-height:1.1;}
.artist-release__button {
 pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;
 background:#d20804;color:#fff;padding:1.25rem 2.25rem;font:500 .85rem var(--main-font);
 letter-spacing:.1em;white-space:nowrap;text-transform:uppercase;line-height:1.25;
}
.artist-release__button:hover,.artist-release__button:focus-visible {background:#b50703;color:#fff;}
footer.artist-footer .footer-contacto nav.redes {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:1.25rem;}
footer.artist-footer .footer-contacto nav.redes a {width: auto; display:inline-flex;flex:0 0 auto;font-size:1.5rem;}
@media(max-width:700px) {
 .artist-release {flex-wrap:wrap;align-content:center;gap:1rem;padding:1rem;}
 .artist-release__title {order:-1;flex:0 0 100%;max-width:100%;}
 .artist-release__button {padding:1rem;font-size:.7rem;}
}

/* Fuente de marcas independiente del subconjunto del kit. */
footer.artist-footer .streaming-brand {font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;display:inline-block;line-height:1;}
footer.artist-footer .streaming-brand--spotify::before {content:"\f1bc";}
footer.artist-footer .streaming-brand--applemusic::before {content:"\f179";}
/* Presentación de la lista de espera dentro del modal del newsletter. */
.modal-contacto {position:fixed;inset:0;z-index:10000;}
.modal-vinil[hidden],.modal-contacto__gracias-vinil[hidden],.modal-contacto__gracias-general[hidden] {display:none;}
.modal-contacto--presentacion .modal-contacto__dialogo {width:min(1100px,calc(100vw - 2rem));padding:0;}
.modal-vinil {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr); background: var(--color-contraste) }
.modal-vinil__contenido {padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center; justify-content: center;}
.modal-vinil__contenido .logo {display:block;width:min(100%,300px);}
.modal-vinil__contenido .logo figure {height:90px;background-size:contain;background-position:center;background-repeat:no-repeat;}
.modal-vinil__contenido h2 {margin:0;font:700 clamp(2rem,4vw,3rem) var(--display-font);}
.modal-vinil__texto {line-height:1.6;overflow-wrap:anywhere;}
.modal-vinil__imagen img {display:block;width:100%;height:100%;object-fit:cover;}
.modal-vinil__unirme {background:var(--color-principal);color:var(--color-contraste);padding:1rem 1.5rem;border:0;cursor:pointer;font:600 .9rem var(--main-font);}
.modal-vinil .modal-contacto__cerrar-exito {background:transparent;border:0;color:var(--color-claro);cursor:pointer;text-decoration:underline; font-weight: 400;}
@media(max-width:700px) {.modal-vinil {grid-template-columns:1fr;}.modal-vinil__imagen {max-height:260px;overflow:hidden;}}
/* La imagen y sus dos líneas de texto comparten el mismo espacio. */
section.image.artist-image {position:relative;min-height:70svh;overflow:hidden;justify-content:center;}
section.image.artist-image figure.imagenfondo {position:absolute;inset:0;width:100%;height:100%;min-height:0;background-size:cover;background-position:center;background-attachment:scroll;}
section.image.artist-image .contenedor {position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;box-sizing:border-box;padding:3rem 1.5rem;gap:.75rem;text-align:center;}
section.image.artist-image .artist-image__subtitle {color:#fff;font:600 1rem var(--main-font);text-transform:uppercase;margin:0;}
section.image.artist-image h2.display {color:#fff;font:700 clamp(3rem,7vw,7rem) var(--display-font);line-height:1.1;margin:0;}
@media(max-width:760px) {
 /* El video móvil usado aquí es horizontal; el iframe también conserva 16:9. */
 section.videos iframe,section.videos#reel iframe,
 section.videos.videos--vertical iframe,section.videos.videos--vertical#reel iframe {
  width:max(100vw,177.778dvh);height:max(100dvh,56.25vw);
  transform:translate(-50%,-50%) scale(1.35);
 }
 section.image.artist-image {min-height:70svh;}
 section.image.artist-image figure.imagenfondo .deg {opacity:.3;}
}

/* Consentimiento compacto con estados claros de selección y foco. */
.modal-contacto__form .modal-contacto__privacidad {
 display:flex;align-items:center;gap:.65rem;min-width:0;
 font-size:clamp(.68rem,2.7vw,.8rem);line-height:1.4;cursor:pointer;
}
.modal-contacto__privacidad span {white-space:nowrap;letter-spacing:0;}
.modal-contacto__form .modal-contacto__privacidad input {
 appearance:none;-webkit-appearance:none;display:grid;place-content:center;
 flex:0 0 1.15rem;width:1.15rem;height:1.15rem;margin:0;padding:0;
 border:1.5px solid var(--color-principal);border-radius:.3rem;
 background:transparent;cursor:pointer;box-sizing:border-box;
}
.modal-contacto__privacidad input::before {
 content:"";width:.5rem;height:.28rem;border-left:2px solid var(--color-contraste);
 border-bottom:2px solid var(--color-contraste);transform:translateY(-.08rem) rotate(-45deg) scale(0);
}
.modal-contacto__form .modal-contacto__privacidad input:checked {background:var(--color-principal);}
.modal-contacto__privacidad input:checked::before {transform:translateY(-.08rem) rotate(-45deg) scale(1);}
.modal-contacto__privacidad input:focus-visible {outline:2px solid var(--color-principal);outline-offset:3px;}
@media(max-width:700px) {
 .modal-contacto__form .modal-contacto__enviar {width:100%;max-width:100%;justify-self:stretch;box-sizing:border-box;margin-inline:0;}
}
@media(forced-colors:active) {
 .modal-contacto__form .modal-contacto__privacidad input {appearance:auto;-webkit-appearance:auto;}
 .modal-contacto__privacidad input::before {display:none;}
}

/* Campos más suaves, integrados al fondo del formulario. */
.modal-contacto .modal-contacto__form>input:not([type=hidden]):not([type=checkbox]) {
 background:transparent;color:var(--color-claro);border:1px solid color-mix(in srgb,var(--color-principal) 45%,transparent);
 border-radius:6px;padding:.85rem 1rem;transition:border-color .2s ease,background-color .2s ease;
 color-scheme:dark;
}
.modal-contacto .modal-contacto__form>input:not([type=hidden]):not([type=checkbox]):focus-visible {
 border-color:var(--color-principal);background:var(--color-principal); color: var(--color-contraste);
}
.modal-contacto .modal-contacto__form>input::placeholder {color:var(--color-claro);opacity:.6;}

/* Restablece también el centrado que el estilo vertical heredado anulaba. */
@media(max-width:760px) {
 main>section.videos.video-responsive {
  height:100dvh;min-height:100dvh;max-height:none;aspect-ratio:auto;
 }
 main>section.videos.video-responsive .video-responsive__contenedor,
 main>section.videos.video-responsive .video-autoplay__ratio {
  position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;
 }
 main>section.videos.video-responsive iframe {
  position:absolute;inset:auto;top:50%;left:50%;
  width:max(100vw,177.778dvh);height:max(100dvh,56.25vw);
  max-width:none;max-height:none;transform:translate(-50%,-50%) scale(1.35);
 }
 main>section.videos.video-responsive.videos--vertical#reel iframe {
  inset:auto;top:50%;left:50%;
  width:max(100vw,177.778dvh);height:max(100dvh,56.25vw);
  transform:translate(-50%,-50%) scale(1.35);
 }
}
section.image.artist-image .boton.lista-espera {margin-top:1rem;}
section.image.artist-image .boton.lista-espera a {display:inline-flex;align-items:center;justify-content:center;background:var(--color-principal);color:var(--color-contraste);padding:1rem 1.5rem;font:600 .9rem var(--main-font);border-radius:4px;}
section.image.artist-image .boton.lista-espera a:focus-visible {outline:2px solid var(--color-claro);outline-offset:4px;}

/* Footer: identidad, newsletter y management. */
footer.artist-footer .espacio {grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);align-items:start;}
.footer-identidad {display:flex;flex-direction:column;align-items:center;gap:0;}
.footer-identidad .logo {display:block;width:100%;}
.footer-identidad .logo figure {width:100%;height:180px;background-size:contain;background-position:left center;background-repeat:no-repeat;}
footer.artist-footer .footer-identidad nav.redes {display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:1.25rem;}
footer.artist-footer .footer-newsletter h2 {font:700 1.35rem var(--main-font);text-transform:uppercase;color:var(--color-principal);}
footer.artist-footer .footer-newsletter form {display:block;margin-top:1.5rem;}
.footer-newsletter__campo {display:flex;width:100%;min-width:0;border:1.5px solid var(--color-principal);border-radius:12px;overflow:hidden;box-sizing:border-box;}
footer.artist-footer .footer-newsletter__campo input {flex:1 1 0;width:0;min-width:0;max-width:100%;margin:0;padding:1rem;background:transparent;color:var(--color-claro);border:0;border-radius:0;font:400 1rem var(--main-font);}
.footer-newsletter__campo input::placeholder {color:var(--color-claro);opacity:.85;}
footer.artist-footer .footer-newsletter__campo button {display:grid;place-items:center;flex:0 0 60px;width:60px;margin:0;padding:1rem;background:var(--color-principal);color:var(--color-contraste);border:0;border-radius:0;}
.footer-newsletter__campo button svg {width:24px;height:24px;}
.footer-newsletter__campo:focus-within {outline:2px solid var(--color-principal);outline-offset:3px;}
@media(max-width:900px) {
 footer.artist-footer .espacio {grid-template-columns:1fr;gap:2.5rem;}
 footer.artist-footer .footer-newsletter__campo button {width:60px;flex-basis:60px;}
}

/* Distribución más ligera: contacto compacto y mayor aire a la izquierda. */
@media(min-width:901px) {
 footer.artist-footer {padding-left:clamp(3rem,9vw,10rem);padding-right:clamp(2rem,5vw,6rem);}
 footer.artist-footer .espacio {
  max-width:1320px;
  grid-template-columns:minmax(200px,260px) minmax(0,1fr) minmax(190px,230px);
  gap:clamp(2rem,4vw,4.5rem);align-items: end;
 }
 footer.artist-footer .footer-contacto {width:100%;max-width:230px;gap:.75rem;}
 footer.artist-footer .footer-contacto p {margin:0;}
}
@media(min-width:901px) and (max-width:1100px) {
 footer.artist-footer .espacio {grid-template-columns:190px minmax(0,1fr) 190px;gap:1.5rem;}
 footer.artist-footer .footer-newsletter h2 {font-size:1.1rem;}
}
.artist-scroll-down {position:absolute;bottom:1.5rem;left:50%;transform:translateX(-50%);z-index:3;background:transparent;color:#fff;border:0;padding:.75rem;cursor:pointer;font-size:1.5rem;}
.artist-scroll-down:focus-visible {outline:2px solid var(--color-principal);outline-offset:3px;}

footer.artist-footer .espacio {transition:none;}

/* Etiquetas dentro del campo, con nombres accesibles conservados. */
.modal-contacto__form>.modal-contacto__label-sr {
 position:absolute;width:1px;height:1px;padding:0;margin:-1px;
 overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;
}
.modal-contacto .modal-contacto__form>input:not([type=hidden]):not([type=checkbox]),
.modal-contacto__fecha {border:1.5px solid var(--color-principal);border-radius:12px;background:transparent;box-sizing:border-box;width:100%;min-width:0;}
.modal-contacto .modal-contacto__form>input::placeholder {opacity:.85;}
.modal-contacto__fecha {position:relative;}
.modal-contacto__fecha label {position:absolute;left:1rem;top:.5rem;font:400 .7rem var(--main-font);color:var(--color-claro);opacity:.85;pointer-events:none;}
.modal-contacto .modal-contacto__fecha input {
 width:100%;min-width:0;box-sizing:border-box;padding:1.65rem 1rem .65rem;
 border:0;border-radius:12px;background:transparent;color:var(--color-claro);
 font:400 1rem var(--main-font);color-scheme:dark;
}
.modal-contacto__fecha:focus-within {outline:2px solid var(--color-principal);outline-offset:2px;}
.modal-contacto .modal-contacto__form .modal-contacto__enviar {
 width:100%;max-width:100%;justify-self:stretch;box-sizing:border-box;margin-inline:0;border-radius:12px;
}
