/* Gene Loves Jezebel — Tributo — sistema de diseño compartido */
:root{
  --ink:#0c0d18;
  --ink2:#14162a;
  --paper:#f2efe6;
  --magenta:#ff2f92;
  --cyan:#00d8e0;
  --amber:#ffb238;
  --violet:#7c5cff;
  --line: rgba(242,239,230,0.14);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:"Space Grotesk", sans-serif;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:"Playfair Display", serif;
  text-transform:none;
  font-weight:700;
  letter-spacing:-0.02em;
  line-height:1.05;
  margin:0;
}
.courgette-regular {
  font-family: "Courgette", cursive;
  font-weight: 400;
  font-style: normal;
}
a{color:inherit;}
img{max-width:100%;display:block;}

.colourbar{display:flex;height:8px;width:100%;}
.colourbar span{flex:1;}
.colourbar .c1{background:var(--magenta);}
.colourbar .c2{background:var(--amber);}
.colourbar .c3{background:var(--cyan);}
.colourbar .c4{background:var(--violet);}

header.site{
  position:sticky;top:0;z-index:50;
  background:rgba(12,13,24,0.86);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  max-width:1180px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 24px;
}
.nav-inner .wordmark{font-size:20px;letter-spacing:0.03em;text-decoration:none;}
nav.links{display:flex;gap:24px;font-size:14px;letter-spacing:0.03em;}
nav.links a{text-decoration:none;opacity:0.75;transition:opacity .2s;}
nav.links a:hover, nav.links a.current{opacity:1;}
#langToggle{
  background:transparent;border:1px solid var(--line);color:var(--paper);
  font-family:"Space Grotesk",sans-serif;font-size:13px;letter-spacing:0.05em;
  padding:8px 14px;border-radius:999px;cursor:pointer;
}
#langToggle:hover{border-color:var(--paper);}
#langToggle:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;}

section{max-width:1180px;margin:0 auto;padding:64px 24px;}
.eyebrow{
  font-size:13px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--cyan);margin-bottom:10px;font-weight:600;
}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap;}
.section-head h1, .section-head h2{font-size:clamp(32px,5vw,54px);}
.section-head p{max-width:420px;font-size:15px;line-height:1.55;opacity:0.7;margin:0;}

footer{
  border-top:1px solid var(--line);
  padding:40px 24px 60px;
  text-align:center;font-size:13px;opacity:0.6;
}

body.lang-en [data-es]{display:none !important;}
body.lang-es [data-en]{display:none !important;}

/* ---- Letras: índice A-Z ---- */
.letter-jump{
  display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px;
}
.letter-jump a{
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--line);border-radius:50%;text-decoration:none;font-size:13px;
  opacity:0.6;
}
.letter-jump a:hover{opacity:1;border-color:var(--cyan);}
.search-wrap{margin-bottom:48px;}
.search-wrap input{
  width:100%;max-width:420px;
  background:var(--ink2);border:1px solid var(--line);color:var(--paper);
  padding:12px 16px;border-radius:999px;font-family:inherit;font-size:14px;
}
.letter-group{margin-bottom:36px;}
.letter-group h3{
  font-size:34px;color:var(--amber);margin-bottom:14px;
}
.song-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 24px;}
.song-list li{border-bottom:1px solid var(--line);}
.song-list a{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  text-decoration:none;padding:12px 0;font-size:15px;
}
.song-list a:hover{color:var(--magenta);}
.song-list .flag{font-size:11px;letter-spacing:0.06em;text-transform:uppercase;opacity:0.45;flex:none;}
.song-list li.hidden{display:none;}

/* ---- Letras: página de canción ---- */
.song-hero{
  max-width:1180px;margin:0 auto;padding:56px 24px 0;
}
.song-hero .eyebrow a{text-decoration:none;}
.song-hero h1{font-size:clamp(36px,7vw,84px);}
.lyric-columns{
  display:grid;grid-template-columns:1fr;gap:0;
  background:var(--ink2);border-radius:4px;overflow:hidden;
}
.lyric-columns.has-es{grid-template-columns:1fr 1fr;}
.lyric-col{padding:40px;}
.lyric-col + .lyric-col{border-top:1px solid var(--line);}
@media (min-width:760px){
  .lyric-columns.has-es .lyric-col + .lyric-col{border-top:none;border-left:1px solid var(--line);}
}
.lyric-col .lang-label{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:18px;}
.lyric-col pre{
  font-family:"Space Grotesk", sans-serif;
  white-space:pre-wrap;
  font-size:16px;line-height:1.75;margin:0;
}
.no-translation{
  padding:40px;font-size:14px;opacity:0.55;display:flex;align-items:center;justify-content:center;text-align:center;
}
.song-nav{display:flex;justify-content:space-between;margin-top:28px;font-size:14px;}
.song-nav a{text-decoration:none;opacity:0.7;}
.song-nav a:hover{opacity:1;}

@media (max-width:820px){
  nav.links{display:none;}
}
