/*
Theme Name: Barbara Winterberg
Author: Barbara Winterberg
Version: 2.0.1
Description: Custom official music website theme.
*/
:root{--bg:#070b12;--panel:#101722;--text:#f6f3ef;--muted:#aaaeb8;--gold:#e0bb75}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 20% 0,#19243a 0,transparent 34rem),linear-gradient(145deg,#060910,#0b1220 55%,#100d18);color:var(--text);font-family:Arial,Helvetica,sans-serif;min-height:100vh}
nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:18px 5vw;background:rgba(5,8,14,.82);backdrop-filter:blur(18px);border-bottom:1px solid #ffffff18}.logo{font-size:1rem;letter-spacing:.22em;color:#fff;text-decoration:none}.links a{color:#e8e8e8;text-decoration:none;margin-left:26px;font-size:.82rem;letter-spacing:.12em}.links a:hover{color:var(--gold)}
.hero-home{min-height:66vh;display:flex;align-items:center;padding:9vh 8vw;position:relative;overflow:hidden}.hero-home:after{content:"";position:absolute;width:50vw;height:50vw;right:-10vw;top:-12vw;border-radius:50%;background:radial-gradient(circle,#e4a45b55,transparent 65%);filter:blur(10px);animation:pulse 7s ease-in-out infinite alternate}@keyframes pulse{to{transform:scale(1.12) translate(-2vw,2vw);opacity:.65}}
.kicker{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-size:.76rem}.hero-home h1{font-size:clamp(3.6rem,9vw,8.6rem);font-weight:400;line-height:.9;letter-spacing:-.04em;margin:.28em 0 .22em;max-width:1000px}.hero-home p{max-width:650px;color:#c9cbd0;font-size:1.08rem;line-height:1.7}.btn{display:inline-block;margin-top:18px;padding:12px 18px;border-radius:999px;border:1px solid #ffffff38;color:#fff;text-decoration:none;background:#ffffff0b}.btn:hover{transform:translateY(-2px);border-color:var(--gold)}
section{padding:72px 7vw}.title{font-size:clamp(2.2rem,5vw,4.6rem);font-weight:400;margin:18px 0 14px}.sub{color:var(--muted);max-width:680px;line-height:1.65;margin-bottom:34px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 26px}.song{text-decoration:none;color:#fff}.song img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:18px;box-shadow:0 20px 50px #0007;transition:.35s transform,.35s box-shadow}.song:hover img{transform:translateY(-7px) scale(1.01);box-shadow:0 28px 65px #000a}.song h3{font-size:1.02rem;font-weight:500;letter-spacing:.06em;margin:15px 2px 5px}.song span{font-size:.8rem;color:#9fa4ad}
.feature{display:grid;grid-template-columns:minmax(280px,520px) 1fr;gap:6vw;align-items:center}.feature img{width:100%;border-radius:24px;box-shadow:0 30px 70px #0009}.feature h1{font-size:clamp(3rem,7vw,6.5rem);font-weight:400;line-height:.92;margin:.42em 0 .24em}.player{margin-top:22px;padding:18px;border:1px solid #ffffff18;background:#ffffff0a;border-radius:18px}audio{width:100%;margin-top:10px}.card{background:#ffffff0a;border:1px solid #ffffff16;border-radius:22px;padding:30px}.lyrics pre{white-space:pre-wrap;font-family:Georgia,'Times New Roman',serif;font-style:italic;line-height:1.85;font-size:1.06rem;color:#f2eee9}.empty{padding:36px;border:1px solid #ffffff18;border-radius:18px;color:var(--muted)}
footer{padding:30px 7vw;border-top:1px solid #ffffff14;color:#90959e;display:flex;justify-content:space-between;gap:18px;font-size:.82rem;flex-wrap:wrap}footer a{color:#aeb3bc;text-decoration:none;letter-spacing:.06em}footer a:hover{color:var(--gold)}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.feature{grid-template-columns:1fr}.hero-home{min-height:58vh}.links a{margin-left:12px}}@media(max-width:560px){.grid{grid-template-columns:1fr}.links{display:none}.hero-home h1{font-size:3.6rem}.feature h1{font-size:clamp(2.5rem,14vw,4.5rem)}}


/* Song page v1.1.0: preserve square cover and keep lyrics on a separate view. */
.song-page-feature{grid-template-columns:minmax(320px,520px) minmax(0,1fr);align-items:center}
.song-cover-frame{width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:24px;box-shadow:0 30px 70px #0009;background:#0b111c}
.feature .song-cover-image{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:0;box-shadow:none}
.song-page-content{min-width:0}
.song-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.song-actions .btn{margin-top:18px}
.lyrics-page{padding-top:88px;padding-bottom:96px}
.lyrics-page-inner{max-width:900px;margin:0 auto}
.lyrics-page-title{font-size:clamp(3rem,7vw,6.4rem);font-weight:400;line-height:.95;letter-spacing:-.035em;margin:.28em 0 .5em}
.lyrics-card{padding:clamp(24px,4vw,46px)}
.lyrics-card pre{margin:0;white-space:pre-wrap;font-family:Georgia,'Times New Roman',serif;font-style:italic;line-height:1.9;font-size:clamp(1rem,1.5vw,1.12rem);color:#f2eee9}
.lyrics-back{margin-top:24px}
@media(max-width:900px){.song-page-feature{grid-template-columns:1fr}.song-cover-frame{max-width:620px}.lyrics-page{padding-top:64px}}


/* v1.2.0: exact square covers everywhere and full featured-song controls on HOME. */
.song-cover-square{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:18px;box-shadow:0 20px 50px #0007;background:#0b111c;transition:.35s transform,.35s box-shadow}
.song-cover-square img,.song-grid-image{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:0!important;box-shadow:none!important;margin:0!important}
.song:hover .song-cover-square{transform:translateY(-7px) scale(1.01);box-shadow:0 28px 65px #000a}
.song-link-label{font-size:.8rem;color:#9fa4ad}
/* Neutralize the old direct-image hover rule for wrapped gallery covers. */
.song > img{display:none}

.home-featured-list{display:grid;gap:42px}
.home-featured-song{display:grid;grid-template-columns:minmax(280px,460px) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(20px,3vw,34px);border:1px solid #ffffff12;background:#ffffff05;border-radius:26px}
.home-featured-cover{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;border-radius:22px;background:#0b111c;box-shadow:0 26px 60px #0008}
.home-featured-cover-image{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;margin:0!important}
.home-featured-content{min-width:0}
.home-featured-content h3{font-size:clamp(2.5rem,5.6vw,5.6rem);font-weight:400;line-height:.94;letter-spacing:-.035em;margin:.35em 0 .24em}
.home-player{max-width:760px}
.home-featured-content .song-actions{margin-top:2px}

@media(max-width:900px){
  .home-featured-song{grid-template-columns:1fr}
  .home-featured-cover{max-width:560px}
}


/* v1.3.0: restore the balanced original featured layout on HOME. */
.home-featured-song{
  align-items:stretch;
}
.home-featured-content{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
  padding:clamp(10px,1.4vw,20px) 0;
}
.home-featured-heading{max-width:100%}
.home-featured-content h3{
  font-size:clamp(2.8rem,4.8vw,5.1rem);
  line-height:.96;
  margin:.32em 0 0;
  max-width:100%;
}
.home-player{
  width:100%;
  max-width:none;
  margin:clamp(24px,4vh,48px) 0;
}
.home-featured-content .song-actions{
  width:100%;
  margin-top:0;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.home-featured-content .song-actions .btn{margin-top:0}
@media(max-width:900px){
  .home-featured-content{padding:8px 0 0;gap:18px}
  .home-player{margin:0}
}

/* v1.4.0: use the full cover height on the single-song page. */
.song-page-feature{align-items:stretch}
.song-page-content{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
  padding:clamp(18px,2vw,28px) 0;
}
.song-page-heading{min-width:0}
.song-page-heading h1{margin:.34em 0 0}
.song-page-player{width:100%;margin:0}
.song-page-actions{width:100%;margin:0}
.song-page-actions .btn{margin-top:0}
@media(max-width:900px){
  .song-page-content{gap:24px;padding:8px 0 0}
}

/* CONTACT page */
.contact-page{padding-top:clamp(72px,8vw,118px);padding-bottom:clamp(82px,10vw,140px)}
.contact-shell{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);gap:clamp(50px,8vw,110px);align-items:start}
.contact-copy h1{font-size:clamp(3.7rem,7vw,7.2rem);font-weight:400;line-height:.9;letter-spacing:-.04em;margin:.28em 0 .26em;white-space:nowrap}
.contact-copy p{max-width:520px;color:#b8bdc7;font-size:1.06rem;line-height:1.75;margin:0}
.contact-form{border:1px solid #ffffff18;background:#ffffff08;border-radius:24px;padding:clamp(24px,3vw,38px)}
.contact-field{display:block;margin-bottom:22px}
.contact-field span{display:block;margin-bottom:9px;color:var(--gold);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.contact-field input,.contact-field textarea{width:100%;border:1px solid #ffffff22;background:#080d16;color:#fff;border-radius:14px;padding:15px 16px;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-field input:focus,.contact-field textarea:focus{border-color:#e0bb7588;box-shadow:0 0 0 3px #e0bb7510}
.contact-field textarea{min-height:190px;resize:vertical}
.contact-submit{margin-top:0;cursor:not-allowed;opacity:.72}
.contact-note{margin:16px 2px 0;color:#858b96;font-size:.84rem;line-height:1.55}
@media(max-width:900px){.contact-shell{grid-template-columns:1fr}.contact-copy h1{white-space:normal}.contact-form{max-width:720px}}


/* v1.5.0: exact vertical distribution on song page and restored CONTACT composition. */
.song-page-content{
  padding:0;
  height:100%;
  align-self:stretch;
}
.song-page-heading{align-self:stretch}
.song-page-player{align-self:stretch}
.song-page-actions{align-self:stretch}

.contact-page{padding-top:clamp(68px,7vw,104px)}
.contact-shell{display:block;max-width:1280px;margin:0 auto}
.contact-copy{max-width:none}
.contact-copy h1{
  font-size:clamp(4.8rem,8.8vw,9rem);
  line-height:.88;
  margin:.22em 0 .18em;
  white-space:nowrap;
}
.contact-body{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(430px,1.22fr);
  gap:clamp(64px,9vw,130px);
  align-items:start;
  margin-top:clamp(70px,8vw,118px);
}
.contact-copy p{max-width:520px}
.contact-form{width:100%}
@media(max-width:900px){
  .song-page-content{height:auto;gap:24px;padding:8px 0 0}
  .contact-copy h1{white-space:normal;font-size:clamp(3.7rem,13vw,6rem)}
  .contact-body{grid-template-columns:1fr;gap:34px;margin-top:48px}
  .contact-form{max-width:720px}
}


/* v1.7.0: HOME returns to the accepted prototype: cover gallery only. */
.home-cover-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:32px 26px;
}
.home-cover-card{
  display:block;
  color:#fff;
  text-decoration:none;
  min-width:0;
}
.home-cover-art{
  width:100%;
  aspect-ratio:1/1;
  overflow:hidden;
  border-radius:18px;
  background:#0b111c;
  box-shadow:0 20px 50px #0007;
  transition:transform .35s ease,box-shadow .35s ease;
}
.home-cover-image{
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  margin:0!important;
}
.home-cover-card:hover .home-cover-art{
  transform:translateY(-7px) scale(1.01);
  box-shadow:0 28px 65px #000a;
}
.home-cover-card h3{
  font-size:1.02rem;
  font-weight:500;
  letter-spacing:.06em;
  margin:15px 2px 5px;
}
.home-cover-card span{
  font-size:.8rem;
  color:#9fa4ad;
}
@media(max-width:900px){.home-cover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.home-cover-grid{grid-template-columns:1fr}}


/* v1.8.0: keep the song preview player visually consistent across every title length. */
.song-page-player{
  width:min(100%, 720px);
  max-width:720px;
  justify-self:start;
  align-self:start;
}
.song-page-player audio{
  width:100%;
  display:block;
}
@media(max-width:900px){
  .song-page-player{width:100%;max-width:720px}
}


/* v1.9.0: mobile header/navigation and HOME hero fit. */
@media(max-width:560px){
  nav{
    position:sticky;
    top:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:17px 18px 14px;
  }
  .logo{
    width:100%;
    text-align:center;
    font-size:.94rem;
    letter-spacing:.20em;
    white-space:nowrap;
  }
  .links{
    display:flex;
    width:100%;
    justify-content:center;
    align-items:center;
    gap:clamp(18px,6vw,32px);
    flex-wrap:nowrap;
  }
  .links a{
    margin-left:0;
    font-size:.72rem;
    letter-spacing:.10em;
    white-space:nowrap;
  }
  .hero-home{
    min-height:0;
    padding:72px 8vw 92px;
  }
  .hero-home > div{width:100%;min-width:0}
  .hero-home h1{
    width:100%;
    max-width:100%;
    font-size:clamp(2.55rem,10.4vw,3.25rem);
    line-height:.94;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
  }
  .hero-home p{font-size:1rem;line-height:1.65}
}
@media(max-width:380px){
  .logo{font-size:.84rem;letter-spacing:.16em}
  .links{gap:14px}
  .links a{font-size:.66rem;letter-spacing:.07em}
  .hero-home h1{font-size:2.35rem}
}


/* v2.0.1: denser MUSIC catalogue only. HOME featured grid is unchanged. */
.post-type-archive-bw_song .grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:28px 20px;
}
.post-type-archive-bw_song .song h3{
  font-size:.92rem;
  margin-top:12px;
}
@media(max-width:1200px){
  .post-type-archive-bw_song .grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:820px){
  .post-type-archive-bw_song .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
  .post-type-archive-bw_song .grid{grid-template-columns:1fr}
}
