/* AncientFortune — base.css : reset, tokens, typography */
:root{
  --bg:#3B2A1E;
  --surface:#4A3626;
  --accent:#B08C3E;
  --bg-light:#F5EFE2;
  --text-on-light:#211A12;
  --text-on-dark:#F1E9D8;
  --warn:#9C4A22;
  --success:#3E6E4E;
  --font-head:'Cormorant', serif;
  --font-body:'Karla', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important;}
}

[hidden]{display:none!important;}

body{
  margin:0;
  background:var(--bg);
  color:var(--text-on-dark);
  font-family:var(--font-body);
  line-height:1.65;
  font-size:1.05rem;
}

h1,h2,h3,h4{
  font-family:var(--font-head);
  font-weight:600;
  line-height:1.2;
  color:var(--accent);
  margin:0 0 0.6em;
}
h1{font-size:2.4rem;}
h2{font-size:1.85rem;}
h3{font-size:1.4rem;}

p{margin:0 0 1.1em;}

a{color:var(--accent);text-decoration-thickness:1px;}
a:hover,a:focus{text-decoration:underline;}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:2px;
}

img{max-width:100%;display:block;}

ul,ol{padding-left:1.4em;}

.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  background:var(--bg-light);
  color:var(--text-on-light);
  padding:0.8em 1.2em;
  z-index:1000;
  border-radius:0 0 6px 0;
}
.skip-link:focus{
  left:0;
  top:0;
}

.on-light{
  background:var(--bg-light);
  color:var(--text-on-light);
}

.warn-box{
  border:1px solid var(--warn);
  background:rgba(156,74,34,0.15);
  color:var(--text-on-dark);
  padding:1em 1.2em;
  border-radius:6px;
  margin:1.4em 0;
}
.warn-box strong{color:var(--warn);}

.success-box{
  border:1px solid var(--success);
  background:rgba(62,110,78,0.15);
  padding:1em 1.2em;
  border-radius:6px;
  margin:1.4em 0;
}

.small-note{
  font-size:0.85rem;
  opacity:0.8;
}

.age-gate-overlay{
  position:fixed;
  inset:0;
  background:rgba(20,14,9,0.92);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2000;
  padding:1em;
}
.age-gate-box{
  background:var(--bg-light);
  color:var(--text-on-light);
  max-width:480px;
  width:100%;
  padding:2em;
  border-radius:10px;
  border:2px solid var(--accent);
  text-align:center;
}
.age-gate-box h2{color:var(--warn);}
.age-gate-actions{
  display:flex;
  gap:1em;
  justify-content:center;
  margin-top:1.4em;
  flex-wrap:wrap;
}
.age-btn{
  font-family:var(--font-body);
  font-weight:600;
  font-size:1rem;
  padding:0.7em 2em;
  border-radius:6px;
  border:2px solid var(--accent);
  cursor:pointer;
  background:var(--accent);
  color:var(--text-on-light);
}
.age-btn.secondary{
  background:transparent;
  color:var(--text-on-light);
}
