/* JogosEHistoria — style.v1.css */
:root{
  --indigo:#223E57;
  --lime:#F4F1E9;
  --red:#B5402E;
  --ink:#1B1B1B;
}
*{box-sizing:border-box;}
[hidden]{display:none!important;}
html,body{margin:0;padding:0;}
body{
  font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--lime);
  color:var(--ink);
  line-height:1.6;
}
a{color:var(--indigo);}
a:hover{color:var(--red);}

/* Azulejo decorative border pattern */
.azulejo-rule{
  height:10px;
  background-image:
    linear-gradient(45deg, var(--indigo) 25%, transparent 25%, transparent 75%, var(--indigo) 75%),
    linear-gradient(45deg, var(--indigo) 25%, transparent 25%, transparent 75%, var(--indigo) 75%);
  background-size:14px 14px;
  background-position:0 0, 7px 7px;
  background-color:var(--lime);
  opacity:0.85;
}

/* Age gate */
#agegate{
  position:fixed;inset:0;z-index:999;
  background:var(--indigo);
  color:var(--lime);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
}
#agegate .gate-box{
  max-width:480px;background:var(--lime);color:var(--ink);
  border:4px solid var(--red);border-radius:6px;padding:32px;text-align:center;
}
#agegate h1{color:var(--indigo);font-size:1.4rem;margin-top:0;}
#agegate .gate-actions{display:flex;gap:16px;justify-content:center;margin-top:24px;}
#agegate button{
  font-size:1rem;padding:12px 28px;border-radius:4px;border:none;cursor:pointer;
  font-weight:bold;
}
#gate-yes{background:var(--red);color:#fff;}
#gate-no{background:#ccc;color:var(--ink);}

/* Header / nav */
header.site-header{
  background:var(--indigo);color:var(--lime);padding:20px 5%;
}
header.site-header .brand{
  font-size:1.5rem;font-weight:bold;text-decoration:none;color:var(--lime);
}
nav.site-nav{
  background:#1b3042;padding:10px 5%;
}
nav.site-nav ul{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px;
}
nav.site-nav a{color:var(--lime);text-decoration:none;font-size:0.92rem;}
nav.site-nav a:hover{color:var(--red);text-decoration:underline;}

main{max-width:900px;margin:0 auto;padding:36px 5% 60px;}
main h1{color:var(--indigo);font-size:2rem;border-bottom:3px solid var(--red);padding-bottom:10px;}
main h2{color:var(--indigo);font-size:1.4rem;margin-top:2em;}
figure{margin:28px 0;text-align:center;}
figure img,figure svg{max-width:100%;border:2px solid var(--indigo);border-radius:4px;background:#fff;}
figcaption{font-size:0.9rem;color:#444;margin-top:8px;font-style:italic;}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:24px;}
.card{
  background:#fff;border:1px solid #d8d2bf;border-radius:6px;padding:16px;
  border-top:4px solid var(--red);
}
.card h3{margin-top:0;color:var(--indigo);font-size:1.05rem;}

footer.site-footer{
  background:var(--indigo);color:var(--lime);padding:28px 5%;font-size:0.85rem;
}
footer.site-footer a{color:var(--lime);text-decoration:underline;}

.map-wrap{position:relative;max-width:640px;margin:0 auto;}
.map-point{cursor:pointer;}
.map-point circle{fill:var(--red);stroke:var(--lime);stroke-width:2;}
.map-point:hover circle{fill:var(--indigo);}
.map-point text{fill:var(--lime);font-size:11px;font-weight:bold;pointer-events:none;}

#point-detail{
  margin-top:24px;background:#fff;border:2px solid var(--indigo);border-radius:6px;padding:20px;
}

.notice-box{
  background:#fff;border-left:5px solid var(--red);padding:16px 20px;margin:24px 0;
}

.helpline{
  background:var(--indigo);color:var(--lime);padding:20px;border-radius:6px;text-align:center;margin:24px 0;
}
.helpline .num{font-size:1.8rem;font-weight:bold;color:var(--lime);}

@media (max-width:600px){
  main h1{font-size:1.5rem;}
  #agegate .gate-box{padding:20px;}
}
