/* PABLO PORTILLO — v2.20 REV6. Capa de efectos: no reemplaza estilos anteriores. */
.release-featured-v220{position:relative;isolation:isolate;overflow:hidden;border-color:rgba(236,43,64,.62);box-shadow:0 0 0 1px rgba(245,46,58,.07),0 15px 80px rgba(212,15,43,.08);transition:box-shadow .45s ease,border-color .45s ease}
.release-featured-v220::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;border:1px solid rgba(255,81,93,.35);animation:pp-red-pulse 3.4s ease-in-out infinite}
.release-featured-v220 .release-featured-img{background:radial-gradient(ellipse at 50% 50%,#4b101a 0%,#191116 43%,#0b0b0d 77%);overflow:hidden}
.release-cover-link{width:min(100%,510px);position:relative;display:block;aspect-ratio:1;color:#fff;overflow:hidden;isolation:isolate;box-shadow:0 20px 90px rgba(0,0,0,.66),0 0 31px rgba(252,40,59,.25);transition:transform .4s ease,box-shadow .4s ease}
.release-cover-link img{display:block;width:100%!important;height:100%;object-fit:contain;filter:none!important;transform:none!important}
.release-cover-link:hover,.release-cover-link:focus-visible{transform:translateY(-4px);box-shadow:0 24px 95px rgba(0,0,0,.65),0 0 46px rgba(254,44,75,.54)}
.featured-cover-sheen{position:absolute;z-index:2;inset:0;pointer-events:none;overflow:hidden}
.featured-cover-sheen::before{content:"";position:absolute;inset:-50% -90%;transform:translateX(-105%) rotate(20deg);background:linear-gradient(90deg,transparent 39%,rgba(255,29,56,.055) 47%,rgba(255,241,242,.29) 50%,rgba(248,43,60,.12) 53%,transparent 61%);animation:pp-light-sweep 6s ease-in-out infinite;pointer-events:none}
.release-cover-link:hover .featured-cover-sheen::before,.release-cover-link:focus-visible .featured-cover-sheen::before{animation-duration:1.65s}
.featured-cover-hint{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:30px 15px 16px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:10px;font-weight:900;letter-spacing:.13em;text-align:center;opacity:0;transform:translateY(5px);transition:opacity .22s,transform .22s}
.release-cover-link:hover .featured-cover-hint,.release-cover-link:focus-visible .featured-cover-hint{opacity:1;transform:none}
.pill-v220{display:inline-flex;align-items:center;gap:8px;animation:pp-pill-glow 3s ease-in-out infinite;box-shadow:0 0 24px rgba(252,44,62,.35)}
.pill-led{display:inline-block;background:#fff;width:6px;height:6px;border-radius:50%;box-shadow:0 0 9px #fff;flex-shrink:0}
.release-live-note{font-size:10px;letter-spacing:.14em;font-weight:850;color:#ff7e89;line-height:1.65;margin-top:20px}
.release-live-note span{color:#fff;font-size:14px;margin-right:5px}
.release-ctas{display:flex;flex-wrap:wrap;gap:11px;margin-top:19px;width:100%;align-items:stretch}
.release-ctas .btn{font-size:10px;letter-spacing:.06em;line-height:1.45;min-height:50px;padding:14px 15px;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;transition:transform .25s ease,background .25s ease,box-shadow .25s ease;white-space:normal}
.release-ctas .btn:hover,.release-ctas .btn:focus-visible{transform:translateY(-3px);box-shadow:0 0 23px rgba(255,32,55,.37)}
.release-cta-other{border:1px solid #fa4455!important;background:rgba(14,14,16,.54)!important;color:#fff!important}
.release-cta-other:hover,.release-cta-other:focus-visible{background:rgba(220,32,48,.28)!important}
.release-link-note{font-size:11px;color:#a4a4aa;margin-top:18px;line-height:1.6}
.release-tile figure{overflow:hidden}
.release-tile-cover{display:block;width:100%;height:100%;position:relative;overflow:hidden;cursor:pointer}
.release-tile-cover img{display:block;width:100%;height:100%;object-fit:cover}
.release-tile-cover:focus-visible{outline:3px solid #ff384a;outline-offset:-4px}
.release-tile-actions{display:flex;align-items:flex-start;flex-direction:column;gap:13px;margin-top:auto;padding-top:9px}
.release-tile-actions .release-tile-link{align-self:flex-start;margin-top:0;line-height:1.55;max-width:100%;font-size:9px;letter-spacing:.07em}
.release-tile-actions .release-tile-other{color:#ff7681}
.release-tile-pending{font-size:9px;color:#89898f;line-height:1.6;letter-spacing:.035em;cursor:help}
.release-tile:hover .release-tile-cover img{filter:grayscale(0)}
.release-tile-cover:hover::after,.release-tile-cover:focus-visible::after{content:"";position:absolute;inset:0;pointer-events:none;border:2px solid rgba(244,53,71,.55);box-shadow:inset 0 0 18px rgba(235,33,56,.3)}
/* Fallback: una galería a la vez; imágenes propias de la v2.19, no publicaciones nuevas. */
#instagram-feed-backup[hidden],#instagram-feed-widget[hidden]{display:none!important}
.instagram-feed-backup{padding:0 0 12px}
.ig-backup-heading{border-left:3px solid #f33b4a;padding:8px 18px;margin-bottom:24px}
.ig-backup-heading span{font-weight:900;font-size:11px;letter-spacing:.16em;color:#f76c78}
.ig-backup-heading p{font-size:12px;line-height:1.7;color:#a9a9ae;max-width:680px}
.ig-backup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ig-backup-grid a{display:block;overflow:hidden;aspect-ratio:4/5;position:relative;background:#1b1b1e}
.ig-backup-grid img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .5s,transform .55s}
.ig-backup-grid a:hover img,.ig-backup-grid a:focus-visible img{filter:grayscale(0);transform:scale(1.045)}
.ig-backup-link{display:inline-flex;margin-top:24px;border-bottom:1px solid #e83c4a;font-weight:800;color:#f7f7f7;font-size:10px;letter-spacing:.08em;padding:9px 0}
.gallery-backup-tools{text-align:center;margin:17px 0 0}
.gallery-backup-tools button{background:none;border:none;color:#a5a5aa;padding:10px 15px;font-size:9px;font-weight:800;letter-spacing:.095em;cursor:pointer;transition:color .2s}
.gallery-backup-tools button:hover,.gallery-backup-tools button:focus-visible{color:#fff;text-decoration:underline;text-decoration-color:#fa4855;text-underline-offset:6px}
/* Sonidos optativos: botón pequeño fijo, no interfiere con navegación ni formularios. */
.pp-sounds-toggle{position:fixed;left:16px;bottom:16px;z-index:105;background:rgba(13,13,16,.9);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(246,53,76,.6);padding:10px 12px;display:flex;align-items:center;gap:8px;min-height:40px;font:900 10px/1.2 Montserrat,Arial,sans-serif;letter-spacing:.08em;cursor:pointer;box-shadow:0 5px 26px rgba(0,0,0,.45);transition:background .2s,border-color .2s}
.pp-sounds-toggle:hover,.pp-sounds-toggle:focus-visible{background:#60121f;border-color:#ff3e52}
.pp-sounds-toggle[aria-pressed="true"]{border-color:#fb475a;background:rgba(75,10,22,.93)}
.pp-sound-icon{font-size:14px;color:#ff4857}
/* Animaciones discretas sin flashes ni variaciones extremas de luminancia. */
@keyframes pp-red-pulse{0%,100%{opacity:.34;box-shadow:inset 0 0 11px rgba(218,27,46,.18)}50%{opacity:1;box-shadow:inset 0 0 35px rgba(252,29,55,.16)}}
@keyframes pp-pill-glow{0%,100%{box-shadow:0 0 11px rgba(245,38,59,.25)}50%{box-shadow:0 0 29px rgba(245,38,59,.65)}}
@keyframes pp-light-sweep{0%,15%{transform:translateX(-105%) rotate(20deg)}52%,100%{transform:translateX(105%) rotate(20deg)}}
@media(max-width:880px){.release-ctas{flex-direction:column;align-items:stretch}.release-ctas .btn{width:100%}}
@media(max-width:640px){.release-featured-v220 .release-featured-copy{padding-bottom:34px}.ig-backup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pp-sounds-toggle{left:9px;bottom:9px;min-height:36px;padding:8px;font-size:9px}.featured-cover-hint{opacity:1;transform:none}.release-live-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){.release-featured-v220::after,.pill-v220,.featured-cover-sheen::before{animation:none!important}.release-cover-link,.release-tile-cover img,.ig-backup-grid img,.release-ctas .btn{transition:none!important}}

/* Microinteracciones en los CTA originales, sin alterar dimensiones ni scroll. */
.header-cta,.booking-section .btn,.hero-content .btn,.release-tile-link{transition:color .25s,background .25s,box-shadow .25s,transform .25s}
.header-cta:hover,.booking-section .btn:hover,.hero-content .btn:hover{box-shadow:0 0 24px rgba(235,41,60,.28);transform:translateY(-2px)}
.pp-reveal-pending{opacity:0;transform:translateY(12px)}
.pp-reveal-in{animation:pp-rise .67s cubic-bezier(.2,.7,.2,1) both}
@keyframes pp-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.pp-reveal-pending{opacity:1;transform:none}.pp-reveal-in{animation:none}.header-cta,.booking-section .btn,.hero-content .btn{transform:none!important;transition:none!important}}

/* La prueba local usa deliberadamente fotos de respaldo, nunca consume cuota de Elfsight. */
.gallery-backup-tools button[disabled]{cursor:default;opacity:.85;color:#d1d1d4;text-decoration:none!important}

.youtube-local-notice{position:absolute;z-index:9;left:5%;right:5%;bottom:5%;background:rgba(12,12,13,.96);color:white;font:600 12px/1.55 Montserrat,Arial,sans-serif;padding:14px;border:1px solid #e22b40;box-shadow:0 5px 30px #0008}
.youtube-local-notice[hidden]{display:none!important}
/* v2.20 REV6 — Safari iPhone/iPad: brillo de contorno, nunca máscara roja permanente.
   Evitar :hover pegado tras tocar enlaces y composiciones animadas que tiñen la foto.
   Escritorio conserva íntegra la experiencia A+B. */
@media (hover: none), (pointer: coarse) {
  .release-cover-link,
  .release-tile-cover,
  .ig-backup-grid a { -webkit-tap-highlight-color: transparent; }

  /* El barrido cinematográfico completo se reserva para mouse. En táctil solo borde. */
  .featured-cover-sheen,
  .featured-cover-sheen::before { display: none !important; animation: none !important; }
  .release-featured-v220::after {
    animation: none !important;
    opacity: .3 !important;
    box-shadow: none !important;
    border-color: rgba(249, 68, 86, .35) !important;
  }
  .release-cover-link:hover,
  .release-cover-link:focus-visible {
    transform: none !important;
    box-shadow: 0 20px 90px rgba(0,0,0,.66), 0 0 18px rgba(252,40,59,.20) !important;
  }
  .release-cover-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 3;
    opacity: 0;
    border: 2px solid rgba(255, 92, 104, .82);
    box-shadow: inset 0 0 12px rgba(239, 43, 62, .20);
    pointer-events: none;
    transition: opacity .18s ease;
  }
  .release-cover-link:active::after,
  .release-cover-link.pp-touch-glint::after { opacity: 1; }
  .featured-cover-hint { opacity: 1; transform: none; }

  /* Safari conserva a veces :hover/:focus-within aunque el dedo se haya retirado. */
  .release-tile:hover .release-tile-cover img,
  .release-tile:focus-within .release-tile-cover img,
  .release-tile.is-revealed .release-tile-cover img {
    filter: grayscale(1) !important;
    transform: none !important;
  }
  .release-tile.pp-touch-glint .release-tile-cover img,
  .release-tile:active .release-tile-cover img {
    filter: grayscale(0) !important;
    transform: scale(1.018) !important;
  }
  .release-tile-cover:hover::after,
  .release-tile-cover:focus-visible::after { content: none !important; }
  .release-tile.pp-touch-glint .release-tile-cover::after {
    content: "" !important;
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(245, 67, 83, .62);
    box-shadow: inset 0 0 9px rgba(245, 67, 83, .16);
  }
}
@media (prefers-reduced-motion: reduce) {
  .release-cover-link::after { transition: none !important; }
}


/* REV7 — Refuerzo específico para iPhone (Chrome y Safari utilizan WebKit).
   Corrección estructural: NINGUNA capa de color encima de portadas táctiles.
   Solo contorno exterior y transición blanco/negro a color breve. */
@media (hover: none), (pointer: coarse) {
  .release-cover-link, .release-cover-link *,
  .release-tile-cover, .release-tile-cover * {
    -webkit-tap-highlight-color: transparent !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }
  .release-cover-link::before,
  .release-cover-link::after,
  .release-cover-link .featured-cover-sheen,
  .release-cover-link .featured-cover-sheen::before,
  .release-featured-v220::after,
  .release-tile-cover::before,
  .release-tile-cover::after {
    content: none !important;
    display: none !important;
    animation: none !important;
    opacity: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .release-cover-link,
  .release-cover-link:hover,
  .release-cover-link:active,
  .release-cover-link:focus,
  .release-cover-link:focus-visible {
    background: transparent !important;
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    outline-offset: -2px;
    box-shadow: 0 15px 55px rgba(0,0,0,.6) !important;
  }
  .release-cover-link img,
  .release-cover-link:hover img,
  .release-cover-link:active img,
  .release-cover-link:focus img,
  .release-tile-cover img {
    mix-blend-mode: normal !important;
    opacity: 1 !important;
  }
  .release-cover-link.pp-touch-glint {
    outline: 2px solid rgba(255,75,91,.85) !important;
    box-shadow: 0 0 0 2px rgba(255,75,91,.16),0 15px 55px rgba(0,0,0,.6) !important;
  }
  .release-tile.pp-touch-glint .release-tile-cover {
    outline: 2px solid rgba(255,75,91,.75) !important;
    outline-offset: -2px;
  }
}


/* REV8 — Invitación musical contextual. No aparece hasta comprobar que Spotify
   NO empezó; respeta pausa voluntaria, YouTube y cierre del visitante. */
.pp-music-welcome[hidden]{display:none!important}
.pp-music-welcome{position:fixed;z-index:103;bottom:25px;left:50%;transform:translateX(-50%);width:min(440px,calc(100vw - 32px));max-height:75vh;overflow:auto;background:rgba(9,9,12,.97);color:#fff;border:1px solid rgba(245,63,82,.67);border-radius:19px;padding:23px 22px 20px;text-align:center;box-shadow:0 15px 70px #000c,0 0 28px rgba(242,49,69,.13);font-family:Montserrat,Arial,sans-serif;animation:pp-music-in .28s ease both}
.pp-music-welcome-close{position:absolute;top:5px;right:7px;background:transparent;border:0;color:#ddd;cursor:pointer;font:400 23px/1 Arial,sans-serif;padding:8px 13px;min-width:40px;min-height:40px}
.pp-music-welcome-close:hover,.pp-music-welcome-close:focus-visible{color:#ff515d;outline-offset:-5px}
.pp-music-welcome-kicker{font-size:10px;color:#ff6573;font-weight:800;letter-spacing:.11em;padding:0 24px;margin-bottom:10px}
.pp-music-welcome-title{display:block;font-size:clamp(15px,2vw,20px);line-height:1.24;letter-spacing:-.015em;font-weight:900}
.pp-music-welcome p{color:#c3c3c8;font-size:12px;line-height:1.48;margin:12px 0 14px}
.pp-music-welcome-action{border:none;border-radius:8px;background:#ff404b;color:#0b0b0d;font:900 11px/1.45 Montserrat,Arial,sans-serif;letter-spacing:.02em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:14px 21px;min-height:47px;max-width:100%;transition:background .18s ease,transform .18s ease}
.pp-music-welcome-action:hover,.pp-music-welcome-action:focus-visible{background:#fff;transform:translateY(-1px)}
.pp-music-welcome-action:focus-visible{outline:2px solid white;outline-offset:3px}
@keyframes pp-music-in{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:640px){.pp-music-welcome{bottom:calc(78px + env(safe-area-inset-bottom,0px));border-radius:13px;padding:15px 17px 16px;width:min(385px,calc(100vw - 24px));max-height:46vh}.pp-music-welcome-kicker{font-size:9px;margin-bottom:7px}.pp-music-welcome-title{font-size:16px}.pp-music-welcome p{font-size:11px;margin:7px 0 11px}.pp-music-welcome-action{min-height:42px;font-size:10px;padding:10px 17px}}
@media(prefers-reduced-motion:reduce){.pp-music-welcome{animation:none}.pp-music-welcome-action{transition:none;transform:none!important}}


/* REV11 — corrección de resaltado rojo persistente en Safari/iPhone al volver
   de Spotify a una portada de TRAYECTORIA (p. ej. DEMASIADO, 2004).
   El fix anterior sólo incluía .release-* (lanzamientos recientes), no .archive-card.
   Conserva hover B/N→color y A+B en escritorio. */
@media (hover: none), (pointer: coarse) {
  .trajectory-v2 .archive-card,
  .trajectory-v2 .archive-card *,
  .trajectory-v2 .archive-album-link,
  .trajectory-v2 .archive-album-link * {
    -webkit-tap-highlight-color: transparent !important;
    -webkit-touch-callout: none !important;
    -webkit-user-select: none !important;
    user-select: none !important;
  }
  .trajectory-v2 .archive-card,
  .trajectory-v2 .archive-card:hover,
  .trajectory-v2 .archive-card:active,
  .trajectory-v2 .archive-card:focus {
    background-color: #1d1d21 !important;
    color: #fff !important;
    transform: none !important;
  }
  .trajectory-v2 .archive-card img,
  .trajectory-v2 .archive-card:hover img,
  .trajectory-v2 .archive-card:focus img {
    filter: grayscale(1) !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
  }
  .trajectory-v2 .archive-card:active img { filter: grayscale(0) !important; }
  .trajectory-v2 .archive-card:focus:not(:focus-visible) { outline: none !important; }
}

/* REV12 — enlace a álbum DEMASIADO en otras plataformas, sin modificar la portada. */
.archive-platforms{margin:18px 0 0!important}
.archive-platforms a{display:inline-block;padding:10px 0;border-bottom:1px solid #f34c60;color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;text-decoration:none;line-height:1.5}
.archive-platforms a:hover,.archive-platforms a:focus-visible{color:#ff6777;outline-offset:4px}

/* REV12: crédito explícito del EP «Tu Nuevo Tú» sin alterar otros títulos. */
.release-tile-caption-words{display:flex;flex-direction:column;gap:5px;min-width:0}
.release-tile-caption .release-tile-credit{display:block;color:#d4d4d4;font-size:10px;font-weight:600;line-height:1.45;letter-spacing:0;text-transform:none}
