/* CasinoMuseumBrasil — estilo monárquico balneário-ampire */
:root{
  --bordo:#6B2338;
  --bordo-escuro:#4A1726;
  --creme:#F3ECD9;
  --dourado:#B08D3B;
  --dourado-claro:#D4B978;
  --texto-escuro:#3A1C24;
  --sombra:0 8px 24px rgba(74,23,38,.22);
}
[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--creme);
  color:var(--texto-escuro);
  font-family:'Source Sans Pro',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  line-height:1.65;
}
h1,h2,h3,h4,.brand{
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  color:var(--bordo-escuro);
  font-weight:700;
  margin:0 0 .5em;
}
a{color:var(--bordo);text-decoration:none}
a:hover{color:var(--dourado);text-decoration:underline}
img,svg{max-width:100%;display:block}

/* ===== Age gate ===== */
#agegate{
  position:fixed;inset:0;z-index:9999;
  background:rgba(58,28,36,.92);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
}
#agegate .agegate-card{
  background:var(--creme);
  border:2px solid var(--dourado);
  border-radius:10px;
  max-width:460px;width:100%;
  padding:32px 28px;
  text-align:center;
  box-shadow:var(--sombra);
}
#agegate h2{margin-top:0}
#agegate p{font-size:.95rem}
.agegate-actions{display:flex;gap:14px;justify-content:center;margin-top:22px;flex-wrap:wrap}
.btn{
  display:inline-block;
  padding:12px 26px;
  border-radius:6px;
  font-weight:600;
  cursor:pointer;
  border:2px solid var(--bordo);
  font-size:1rem;
  font-family:inherit;
}
.btn-primary{background:var(--bordo);color:var(--creme);border-color:var(--bordo)}
.btn-primary:hover{background:var(--dourado);border-color:var(--dourado);color:var(--bordo-escuro)}
.btn-secondary{background:transparent;color:var(--bordo)}
.btn-secondary:hover{background:var(--bordo);color:var(--creme)}

/* ===== Layout ===== */
header.site-header{
  background:var(--bordo);
  color:var(--creme);
  padding:18px 24px;
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;
  border-bottom:4px solid var(--dourado);
}
header.site-header .brand{color:var(--creme);font-size:1.5rem;margin:0}
header.site-header .brand:hover{color:var(--dourado-claro)}
nav.site-nav{display:flex;flex-wrap:wrap;gap:4px 14px}
nav.site-nav a{color:var(--creme);font-size:.9rem}
nav.site-nav a:hover{color:var(--dourado-claro)}
main{max-width:980px;margin:0 auto;padding:36px 20px 60px}
.hero{
  background:linear-gradient(180deg,rgba(74,23,38,.55),rgba(74,23,38,.78)),var(--bordo);
  color:var(--creme);
  padding:50px 24px;
  text-align:center;
}
.hero h1{color:var(--creme);font-size:2.05rem;max-width:800px;margin:0 auto .4em}
.hero p{max-width:680px;margin:0 auto;font-size:1.05rem}
.hero .hero-illustration{max-width:520px;margin:28px auto 0}
.hero figcaption{font-size:.82rem;opacity:.9;margin-top:8px}
section{margin:44px 0}
figure{margin:0;text-align:center}
figcaption{font-size:.85rem;color:#6b4a53;margin-top:8px;font-style:italic}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:20px}
.card{
  background:#fff;
  border:1px solid #e3d6b8;
  border-left:4px solid var(--dourado);
  border-radius:6px;
  padding:18px 20px;
  box-shadow:0 2px 8px rgba(74,23,38,.08);
}
.card h3{font-size:1.05rem;margin-bottom:.4em}
.divider{border:none;border-top:2px solid var(--dourado);width:80px;margin:30px auto}
table.fontes{width:100%;border-collapse:collapse;margin-top:16px}
table.fontes th,table.fontes td{border:1px solid #e3d6b8;padding:10px 12px;text-align:left;font-size:.92rem}
table.fontes th{background:var(--bordo);color:var(--creme)}
.aviso-responsavel{
  background:#fff;border:2px solid var(--bordo);border-radius:8px;
  padding:22px;margin-top:20px;
}
.aviso-responsavel h3{color:var(--bordo)}
.helpline{
  display:inline-block;background:var(--dourado);color:#2c1b10;
  font-weight:700;padding:6px 14px;border-radius:5px;margin-top:8px;
}
footer.site-footer{
  background:var(--bordo-escuro);color:var(--creme);
  padding:30px 20px;text-align:center;font-size:.85rem;
}
footer.site-footer a{color:var(--dourado-claro)}
footer.site-footer nav{margin-top:10px;display:flex;flex-wrap:wrap;gap:4px 14px;justify-content:center}
.breadcrumb{font-size:.82rem;color:#7a5560;margin-bottom:10px}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:20px}
.gallery-grid figure{background:#fff;border:1px solid #e3d6b8;border-radius:8px;padding:14px}
.curio-list{display:grid;gap:16px;margin-top:20px}
.curio-list .card{display:flex;gap:16px;align-items:flex-start}
.form-contato{display:grid;gap:14px;max-width:520px;margin-top:20px}
.form-contato label{font-weight:600;display:block;margin-bottom:4px}
.form-contato input,.form-contato textarea{
  width:100%;padding:10px;border:1px solid #c9a96f;border-radius:5px;font-family:inherit;font-size:1rem;
}
.form-contato button{justify-self:start}
.notfound-wrap{text-align:center;padding:70px 20px}
.notfound-wrap h1{font-size:3rem;color:var(--dourado)}

/* ===== Linha Vertical do Tempo ===== */
.timeline-vertical{position:relative;max-width:720px;margin:30px auto 0;padding-left:28px;border-left:3px solid var(--dourado)}
.tempo-item{
  position:relative;margin-bottom:46px;padding:4px 0 4px 22px;
  opacity:0;transform:translateY(24px);
  transition:opacity .6s ease,transform .6s ease;
}
.tempo-item.visivel{opacity:1;transform:translateY(0)}
.tempo-item::before{
  content:"";position:absolute;left:-39px;top:6px;width:16px;height:16px;border-radius:50%;
  background:var(--creme);border:3px solid var(--bordo);
}
.tempo-item.visivel::before{background:var(--dourado);border-color:var(--bordo)}
.tempo-ano{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--bordo);font-weight:700;margin-bottom:.2em}
.tempo-card{background:#fff;border:1px solid #e3d6b8;border-radius:8px;padding:16px 20px;box-shadow:0 2px 8px rgba(74,23,38,.06)}
@media (max-width:640px){
  .hero h1{font-size:1.6rem}
  main{padding:26px 14px 44px}
  .timeline-vertical{padding-left:20px}
  .tempo-item::before{left:-31px}
}
