:root{
    --bg:#0e0b10;
    --bg2:#171018;
    --gold:#c9a24b;
    --gold-soft:#e6d6a8;
    --rose:#caa0a8;
    --text:#f4eef0;
    --muted:#a99ca3;
    --card:#1d151f;
    --line:#2c2230;
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family:'Montserrat',system-ui,sans-serif;
    background:radial-gradient(1200px 600px at 50% -10%,#241a26 0%,var(--bg) 60%);
    color:var(--text);
    min-height:100vh;
}

/* ── cabeçalho estilizado ── */
.hero{
    position:relative;
    text-align:center;
    padding:56px 20px 40px;
    border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,rgba(201,162,75,.08),transparent);
}
.hero-inner{max-width:1000px;margin:0 auto}
.evento-titulo{
    font-family:'Cormorant Garamond',serif;
    font-weight:600;
    font-size:clamp(2.2rem,6vw,4rem);
    letter-spacing:.5px;
    margin:0;
    background:linear-gradient(90deg,var(--gold-soft),var(--gold),var(--rose));
    -webkit-background-clip:text;background-clip:text;
    -webkit-text-fill-color:transparent;
    line-height:1.05;
}
.evento-data{
    font-family:'Cormorant Garamond',serif;
    font-style:italic;
    font-size:clamp(1.1rem,3vw,1.6rem);
    color:var(--gold-soft);
    margin-top:8px;
    letter-spacing:2px;
}
.evento-assinatura{
    margin-top:14px;
    font-size:.78rem;
    letter-spacing:3px;
    text-transform:uppercase;
    color:var(--muted);
}
.topnav{
    margin-top:20px;
    display:flex;gap:18px;justify-content:center;
}
.topnav a{
    color:var(--gold-soft);text-decoration:none;font-size:.8rem;
    letter-spacing:1.5px;text-transform:uppercase;
    border:1px solid var(--line);padding:7px 16px;border-radius:999px;
    transition:.2s;
}
.topnav a:hover{border-color:var(--gold);color:#fff}

/* ── flash ── */
.flash{max-width:900px;margin:18px auto 0;padding:0 16px}
.msg{padding:11px 15px;border-radius:10px;margin-bottom:8px;font-size:.9rem}
.msg.success{background:#15301d;color:#bdf0cf;border:1px solid #245c38}
.msg.error{background:#3a1620;color:#f3c2cd;border:1px solid #6e2738}
.msg.warning{background:#3a3216;color:#f0e3bd;border:1px solid #6e5d27}

main{max-width:1180px;margin:0 auto;padding:34px 18px 60px}

/* ── seções e grid ── */
.secao{margin-bottom:46px}
.secao-titulo{
    font-family:'Cormorant Garamond',serif;
    font-size:1.9rem;font-weight:600;color:var(--gold-soft);
    border-bottom:1px solid var(--line);padding-bottom:10px;margin:0 0 22px;
}
.contador{
    font-family:'Montserrat';font-size:.8rem;color:var(--muted);
    vertical-align:middle;margin-left:8px;
}
.grid{
    display:grid;gap:16px;
    grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
}
.grid-video{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.card{
    margin:0;background:var(--card);border:1px solid var(--line);
    border-radius:14px;overflow:hidden;display:flex;flex-direction:column;
    transition:transform .18s,border-color .18s;
}
.card:hover{transform:translateY(-3px);border-color:var(--gold)}
.card img,.card video{
    width:100%;display:block;aspect-ratio:4/3;object-fit:cover;background:#000;
}
.card video{aspect-ratio:16/9}
figcaption{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    padding:10px 12px;
}
.nome{
    font-size:.78rem;color:var(--muted);white-space:nowrap;
    overflow:hidden;text-overflow:ellipsis;max-width:60%;
}
.btn{
    text-decoration:none;font-size:.74rem;letter-spacing:1px;text-transform:uppercase;
    color:#1a1118;background:linear-gradient(90deg,var(--gold-soft),var(--gold));
    padding:7px 13px;border-radius:999px;font-weight:600;white-space:nowrap;
}
.btn:hover{filter:brightness(1.08)}
.empty{text-align:center;color:var(--muted);padding:60px 10px;font-size:1.05rem}

/* ── login / painel ── */
.login-box,.painel{
    max-width:440px;margin:30px auto;background:var(--card);
    border:1px solid var(--line);border-radius:16px;padding:30px 28px;
}
.painel{max-width:560px}
.login-box h2,.painel h2{
    font-family:'Cormorant Garamond',serif;color:var(--gold-soft);
    margin:0 0 6px;font-size:1.7rem;
}
.sub{color:var(--muted);font-size:.9rem;margin:0 0 18px}
label{display:block;margin-bottom:14px;font-size:.85rem;color:var(--gold-soft)}
input[type=email],input[type=password]{
    width:100%;margin-top:6px;padding:11px 12px;border-radius:9px;
    border:1px solid var(--line);background:#120c14;color:var(--text);font-size:1rem;
}
button{
    width:100%;padding:12px;border:none;border-radius:9px;cursor:pointer;
    background:linear-gradient(90deg,var(--gold-soft),var(--gold));
    color:#1a1118;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;
}
button:disabled{opacity:.6;cursor:wait}
.dropzone{
    border:1.5px dashed var(--line);border-radius:12px;padding:26px 16px;
    text-align:center;color:var(--muted);cursor:pointer;display:block;
}
.dropzone:hover{border-color:var(--gold)}
.dropzone input{display:block;margin:0 auto 12px}
.hint{color:var(--muted);font-size:.78rem;margin-top:12px;text-align:center}
.voltar{margin-top:18px;text-align:center}
.voltar a,.sub a{color:var(--gold-soft);text-decoration:none}

.rodape{
    text-align:center;color:var(--muted);font-size:.72rem;letter-spacing:2px;
    text-transform:uppercase;padding:26px 10px;border-top:1px solid var(--line);
}

/* ── lightbox tela cheia ── */
.foto-link{cursor:zoom-in;display:block}
.lightbox{
    display:none;position:fixed;inset:0;z-index:1000;
    width:100vw;height:100vh;
    background:rgba(8,5,9,.96);
    align-items:center;justify-content:center;
}
.lightbox.aberto{display:flex}
.lb-palco{
    margin:0;width:100%;height:100%;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:0;
}
#lb-img{
    max-width:100vw;max-height:100vh;
    width:auto;height:auto;
    object-fit:contain;          /* preenche a tela sem distorcer */
    display:block;
}
.lb-nome{
    position:fixed;bottom:14px;left:0;right:0;text-align:center;
    color:var(--gold-soft);font-size:.8rem;letter-spacing:1px;
    text-shadow:0 1px 4px #000;pointer-events:none;padding:0 16px;
}
.lb-btn{
    position:fixed;z-index:1001;cursor:pointer;border:none;
    background:rgba(20,14,22,.7);color:var(--gold-soft);
    border:1px solid var(--line);border-radius:999px;
    backdrop-filter:blur(4px);transition:.2s;
}
.lb-btn:hover{background:rgba(40,28,44,.9);color:#fff;border-color:var(--gold)}
.lb-voltar{
    top:18px;left:18px;padding:10px 18px;font-size:.85rem;
    letter-spacing:1px;text-transform:uppercase;width:auto;
}
.lb-baixar{
    top:18px;right:18px;padding:10px 18px;font-size:.85rem;
    letter-spacing:1px;text-transform:uppercase;text-decoration:none;
    display:inline-flex;align-items:center;
}
.lb-nav{
    top:50%;transform:translateY(-50%);
    width:54px;height:54px;font-size:2rem;line-height:1;
    display:flex;align-items:center;justify-content:center;padding:0;
}
.lb-prev{left:16px}
.lb-next{right:16px}
@media (max-width:600px){
    .lb-voltar,.lb-baixar{padding:8px 13px;font-size:.72rem}
    .lb-nav{width:44px;height:44px;font-size:1.6rem}
}
