:root{
    --bg:#050814;
    --bg-soft:#090e20;
    --panel:#0c1329;
    --panel-2:#111a35;
    --text:#f7f5ff;
    --muted:#b9b5cf;
    --line:rgba(178,145,255,.24);
    --accent:#9a73ff;
    --accent-soft:#c9b7ff;
    --container:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit}
img{max-width:100%;display:block}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}

.site-header{position:fixed;inset:0 0 auto;z-index:50;background:linear-gradient(180deg,rgba(4,7,17,.88),rgba(4,7,17,.3));border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.site-header.is-scrolled{background:rgba(4,7,17,.96);border-color:var(--line);box-shadow:0 14px 38px rgba(0,0,0,.28);backdrop-filter:blur(16px)}
.header-inner{min-height:96px;display:flex;align-items:center;justify-content:space-between;gap:40px;transition:min-height .25s ease}
.site-header.is-scrolled .header-inner{min-height:74px}
.logo{text-decoration:none;line-height:1;text-align:left;flex:0 0 auto}
.logo span{display:block;font-size:38px;font-weight:500;letter-spacing:10px}
.logo small{display:block;margin-top:8px;color:var(--accent-soft);font-size:11px;letter-spacing:3px;text-transform:uppercase}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:38px}
.nav a{position:relative;text-decoration:none;text-transform:uppercase;font-size:14px;font-weight:700;letter-spacing:.8px;color:#f1edff;transition:color .2s ease}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:center;transition:transform .2s ease}
.nav a:hover{color:#fff}
.nav a:hover::after{transform:scaleX(1)}

.home-hero{position:relative;min-height:820px;overflow:hidden;background:#060a18}
.home-hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,7,17,.98) 0%,rgba(4,7,17,.9) 25%,rgba(4,7,17,.48) 56%,rgba(4,7,17,.32) 100%),linear-gradient(0deg,rgba(5,8,20,.86) 0%,transparent 35%),url('../img/hero-saara.png') center/cover no-repeat;filter:saturate(1.03)}
.home-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 38%,rgba(120,72,255,.2),transparent 34%);z-index:1;pointer-events:none}
.home-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:210px;background:linear-gradient(transparent,var(--bg));z-index:1;pointer-events:none}
.home-hero-inner{position:relative;z-index:2;min-height:820px;display:flex;align-items:center;padding-top:86px}
.home-hero-text{width:min(760px,100%)}
.eyebrow{margin:0 0 18px;color:var(--accent-soft);font-weight:800;font-size:15px;letter-spacing:2px;text-transform:uppercase}
.home-hero h1{margin:0 0 26px;font-size:clamp(56px,7vw,102px);line-height:.94;letter-spacing:-2px;text-transform:uppercase;text-shadow:0 10px 36px rgba(0,0,0,.5)}
.hero-lead{margin:0;max-width:690px;font-size:21px;line-height:1.65;color:#f1eff9}
.hero-subtext{margin:18px 0 0;max-width:720px;font-size:17px;line-height:1.65;color:#c7c2dc}
.hero-actions{margin-top:34px}
.hero-button{display:inline-flex;align-items:center;gap:14px;padding:16px 23px;border:1px solid rgba(255,255,255,.38);text-decoration:none;text-transform:uppercase;font-weight:800;letter-spacing:.5px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.hero-button.primary{background:linear-gradient(135deg,#fff,#d8ccff);color:#100828;box-shadow:0 18px 46px rgba(137,94,255,.22)}
.hero-button:hover{transform:translateY(-2px);box-shadow:0 22px 52px rgba(137,94,255,.32)}

.section{padding:66px 0}
.home-song-section{position:relative;z-index:4;margin-top:-76px}
.home-section-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin-bottom:34px}
.home-section-title span{height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.home-section-title h2{margin:0;font-size:16px;letter-spacing:1.5px;text-transform:uppercase;text-align:center}
.home-song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.home-song-card{min-width:0;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(17,26,53,.98),rgba(8,13,29,.98));border:1px solid rgba(172,137,255,.58);box-shadow:0 24px 64px rgba(0,0,0,.34);overflow:hidden}
.home-song-image-link{display:block;overflow:hidden;border-bottom:1px solid var(--line)}
.home-song-image{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.home-song-card:hover .home-song-image{transform:scale(1.035);filter:saturate(1.08)}
.home-song-card-content{display:flex;flex-direction:column;flex:1;padding:21px}
.home-song-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}
.home-song-label{display:inline-flex;align-items:center;min-height:29px;padding:6px 10px;border:1px solid rgba(255,255,255,.22);font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.label-newest{background:#315fa8}.label-popular{background:#7c3ea6}.label-random{background:#22736b}
.home-song-icon{color:var(--accent-soft);font-size:24px;line-height:1}
.home-song-card h3{margin:0 0 10px;font-size:27px;line-height:1.15}
.home-song-description{margin:0;color:#d0cce0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.home-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.home-tags span{padding:5px 8px;background:rgba(145,104,255,.13);border:1px solid rgba(145,104,255,.2);color:#cbbcff;font-size:10px;letter-spacing:.5px;text-transform:uppercase}
audio{width:100%;margin:20px 0 13px;accent-color:var(--accent)}
.home-detail-link{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:13px;border-top:1px solid rgba(255,255,255,.08);color:#d5c8ff;text-decoration:none;font-weight:700}
.home-detail-link:hover{color:#fff}
.home-song-card.empty{min-height:440px}

.home-features{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:32px 0 68px;border-top:1px solid var(--line)}
.feature-item{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:12px 24px;border-right:1px solid rgba(255,255,255,.08)}
.feature-item:first-child{padding-left:0}.feature-item:last-child{border-right:0;padding-right:0}
.feature-item>span{color:var(--accent);font-size:28px;line-height:1}
.feature-item strong{display:block;margin-bottom:5px;font-size:13px;letter-spacing:.8px;text-transform:uppercase}
.feature-item p{margin:0;color:#9f9bb6;font-size:14px}

.intro{max-width:780px;color:#cfd4e5;font-size:18px;line-height:1.7}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.song-card,.filter-panel,.song-detail-content,.lyrics{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}
.song-card{padding:18px}.song-card img{width:100%;aspect-ratio:3/2;object-fit:cover}.song-card h3{font-size:24px;margin-bottom:8px}.song-card p{color:#cfd4e5}
.label{color:#aeb8d6!important;text-transform:uppercase;letter-spacing:2px;font-size:12px}.button{display:inline-block;margin-top:10px;padding:11px 16px;background:#fff;color:#111827;text-decoration:none;font-weight:700}
.filter-panel{padding:20px;margin:28px 0}.filter-group{border-top:1px solid rgba(255,255,255,.08);padding-top:16px;margin-top:16px}.filter-buttons,.filters{display:flex;flex-wrap:wrap;gap:10px}.filter,.filter-reset{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;padding:9px 14px;cursor:pointer}.filter.active,.filter:hover,.filter-reset.active,.filter-reset:hover{background:#fff;color:#111827}
.tag-list,.detail-tags span{display:flex;flex-wrap:wrap;gap:8px}.tag-list span,.detail-tags span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);color:#dbe3ff;padding:6px 10px;font-size:13px}.song-detail{display:grid;grid-template-columns:420px 1fr;gap:34px;align-items:start}.song-detail-cover img{width:100%;box-shadow:0 22px 55px rgba(0,0,0,.35)}.song-detail-content{padding:28px}.song-detail-content h1{font-size:clamp(38px,6vw,72px);margin:8px 0 12px}.song-description{color:#cfd4e5;font-size:18px;line-height:1.6}.detail-tags{display:grid;gap:14px;margin:22px 0}.lyrics-box{margin-top:36px}.lyrics{padding:22px;line-height:1.7;color:#e5e7eb}.site-footer{border-top:1px solid var(--line);color:#9ca3af;padding:30px 0;text-align:center;background:#040814}

@media(max-width:1050px){
    .home-song-grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .home-features{grid-template-columns:repeat(2,1fr)}
    .feature-item:nth-child(2){border-right:0}.feature-item:nth-child(n+3){border-top:1px solid rgba(255,255,255,.08);padding-top:24px;margin-top:12px}
    .song-detail{grid-template-columns:1fr}
}
@media(max-width:760px){
    .container{width:min(100% - 28px,var(--container))}
    .site-header{position:sticky;background:rgba(4,7,17,.97);border-color:var(--line)}
    .header-inner,.site-header.is-scrolled .header-inner{min-height:auto;padding:14px 0;flex-direction:column;gap:13px}
    .logo{text-align:center}.logo span{font-size:30px;letter-spacing:8px}.logo small{font-size:10px}
    .nav{justify-content:center;gap:17px;flex-wrap:wrap}.nav a{font-size:12px}.nav a::after{bottom:-6px}
    .home-hero,.home-hero-inner{min-height:680px}.home-hero-inner{padding-top:20px}.home-hero-bg{background-position:62% center}
    .home-hero h1{font-size:50px;letter-spacing:-1px}.hero-lead{font-size:18px}.hero-subtext{font-size:15px}
    .home-song-section{margin-top:-42px}.home-section-title{grid-template-columns:1fr}.home-section-title span{display:none}.home-section-title h2{font-size:14px}
    .home-song-grid,.grid,.home-features{grid-template-columns:1fr}
    .feature-item,.feature-item:first-child,.feature-item:last-child{padding:20px 0;border-right:0;border-top:1px solid rgba(255,255,255,.08);margin:0}.feature-item:first-child{border-top:0}
}

/* ===== SAARA v0.19 - stránka Písně ===== */
.songs-hero{position:relative;min-height:430px;padding-top:96px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(90deg,rgba(4,7,17,.98),rgba(4,7,17,.72)),url('../img/hero-saara.png') center 42%/cover no-repeat;border-bottom:1px solid var(--line)}
.songs-hero::after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(transparent,var(--bg))}
.songs-hero-inner{position:relative;z-index:1;padding:80px 0 72px}
.songs-hero h1{margin:0 0 20px;font-size:clamp(58px,8vw,104px);line-height:.92;letter-spacing:-2px;text-transform:uppercase}
.songs-hero p:last-child{max-width:760px;margin:0;color:#d0cbe0;font-size:19px;line-height:1.7}
.songs-page{padding-top:58px}
.songs-filter-header{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}
.songs-kicker{margin:0 0 8px;color:var(--accent-soft);font-size:12px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.songs-filter-header h2{margin:0;font-size:clamp(30px,4vw,48px);line-height:1.05}
.songs-count-box{display:flex;align-items:baseline;gap:9px;padding:13px 16px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
.songs-count-box strong{font-size:30px;color:#fff}
.songs-count-box span{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.8px}
.songs-filter-panel{padding:24px;margin:0 0 54px;background:linear-gradient(180deg,rgba(17,26,53,.8),rgba(8,13,29,.9));border-color:rgba(172,137,255,.42)}
.filter-reset-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.selected-tags{margin:0;color:#aaa5bf;font-size:14px}
.filter-group{margin-top:22px;padding-top:0;border-top:0}
.filter-group h3{margin:0 0 12px;color:#f1edff;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.filter,.filter-reset{border:1px solid rgba(178,145,255,.26);background:rgba(145,104,255,.08);color:#dcd4f7;padding:9px 13px;font:inherit;font-size:13px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.filter:hover,.filter.active,.filter-reset:hover,.filter-reset.active{background:var(--accent);border-color:var(--accent);color:#0b0619;transform:translateY(-1px)}
.songs-section-title{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin-bottom:34px}
.songs-section-title span{height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}
.songs-section-title h2{margin:0;font-size:16px;letter-spacing:1.5px;text-transform:uppercase}
.songs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:stretch}
.songs-card{min-width:0;padding:0;display:flex;flex-direction:column;overflow:hidden;background:linear-gradient(180deg,rgba(17,26,53,.98),rgba(8,13,29,.98));border:1px solid rgba(172,137,255,.5);box-shadow:0 24px 64px rgba(0,0,0,.28)}
.songs-card-image-link{display:block;overflow:hidden;border-bottom:1px solid var(--line)}
.songs-card-image{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.songs-card:hover .songs-card-image{transform:scale(1.035);filter:saturate(1.08)}
.songs-card-content{display:flex;flex-direction:column;flex:1;padding:21px}
.songs-card-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}
.songs-card-heading h3{margin:0 0 12px;font-size:27px;line-height:1.15}
.songs-card-heading>span{color:var(--accent-soft);font-size:24px}
.songs-card-description{margin:0;color:#d0cce0;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.songs-tag-list{margin-top:16px}
.songs-tag-list span{padding:5px 8px;background:rgba(145,104,255,.13);border:1px solid rgba(145,104,255,.2);color:#cbbcff;font-size:10px;letter-spacing:.5px;text-transform:uppercase}
.songs-card audio{margin-top:auto}
.songs-detail-link{display:flex;justify-content:space-between;align-items:center;margin-top:0;padding-top:13px;border-top:1px solid rgba(255,255,255,.08);color:#d5c8ff;text-decoration:none;font-weight:700}
.songs-detail-link:hover{color:#fff}
@media(max-width:1050px){.songs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.songs-hero{min-height:360px;padding-top:0;background-position:62% center}.songs-hero-inner{padding:70px 0 58px}.songs-hero h1{font-size:58px}.songs-filter-header{align-items:start;flex-direction:column}.filter-reset-row{align-items:flex-start;flex-direction:column}.songs-section-title{grid-template-columns:1fr}.songs-section-title span{display:none}.songs-grid{grid-template-columns:1fr}}

/* ===== SAARA v0.22 - detail textu, navazuje na index.php a songs.php ===== */
.song-page-hero{isolation:isolate}
.song-page-hero-image{position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.9)}
.song-page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,7,17,.98) 0%,rgba(4,7,17,.88) 42%,rgba(4,7,17,.56) 100%)}
.song-page-hero-inner{max-width:1240px}
.song-page-hero-inner h1{max-width:900px}
.song-page-hero-inner p:last-child{max-width:760px}
.song-page-not-found{background:linear-gradient(90deg,rgba(4,7,17,.98),rgba(4,7,17,.72)),url('../img/hero-saara.png') center 42%/cover no-repeat}
.song-page-return{padding-top:54px}
.song-page{padding-top:58px}
.song-page-card{display:grid;grid-template-columns:minmax(300px,460px) minmax(0,1fr);align-items:stretch;overflow:hidden;background:linear-gradient(180deg,rgba(17,26,53,.98),rgba(8,13,29,.98));border:1px solid rgba(172,137,255,.5);box-shadow:0 24px 64px rgba(0,0,0,.28)}
.song-page-cover{min-height:100%;border-right:1px solid var(--line);overflow:hidden}
.song-page-cover img{width:100%;height:100%;min-height:520px;object-fit:cover}
.song-page-content{display:flex;flex-direction:column;min-width:0;padding:34px}
.song-page-heading{margin-bottom:14px}
.song-page-heading h2{margin:0;font-size:clamp(34px,4.5vw,62px);line-height:1.02}
.song-page-heading>span{font-size:32px}
.song-page-description{max-width:760px;margin:0;color:#d0cce0;font-size:18px;line-height:1.7}
.song-page-content audio{margin:28px 0 24px}
.song-page-tags{display:grid;gap:18px;margin:0 0 26px}
.song-page-tag-group strong{display:block;margin-bottom:9px;color:#f1edff;font-size:12px;letter-spacing:1.2px;text-transform:uppercase}
.song-page-tag-group .songs-tag-list{margin-top:0}
.song-page-back{margin-top:auto}
.song-page-section-title{margin-top:64px}
.song-page-lyrics{max-width:920px;margin:0 auto;padding:42px 48px;background:linear-gradient(180deg,rgba(17,26,53,.82),rgba(8,13,29,.92));border:1px solid rgba(172,137,255,.42);box-shadow:0 24px 64px rgba(0,0,0,.22)}
.song-page-lyrics-text{color:#f1eff9;font-size:18px;line-height:1.95;white-space:normal}
.song-page-empty{margin:0;color:var(--muted);text-align:center}

@media(max-width:1050px){
    .song-page-card{grid-template-columns:360px minmax(0,1fr)}
    .song-page-cover img{min-height:480px}
}
@media(max-width:820px){
    .song-page-card{grid-template-columns:1fr}
    .song-page-cover{border-right:0;border-bottom:1px solid var(--line)}
    .song-page-cover img{height:auto;min-height:0;aspect-ratio:16/9}
}
@media(max-width:760px){
    .song-page-hero::before{background:linear-gradient(90deg,rgba(4,7,17,.96),rgba(4,7,17,.72))}
    .song-page-content{padding:24px 20px}
    .song-page-heading h2{font-size:36px}
    .song-page-description{font-size:16px}
    .song-page-section-title{margin-top:44px}
    .song-page-lyrics{padding:28px 22px}
    .song-page-lyrics-text{font-size:16px;line-height:1.8}
}


/* ===== SAARA - pozadí pouze pro song.php ===== */
.song-page-background{
    position:fixed;
    inset:0;
    z-index:0;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    filter:blur(8px) saturate(.95);
    transform:scale(1.06);
    pointer-events:none;
}
.song-page-background::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(5,8,20,.48),rgba(5,8,20,.82));
}
.song-page{
    position:relative;
    z-index:1;
    padding-top:24px;
}
.song-page-card,
.song-page-interest{
    position:relative;
    z-index:1;
}
