/* AncientFortune — layout.css : page structure */
.site-header{
  background:var(--surface);
  border-bottom:1px solid rgba(176,140,62,0.4);
  padding:1em 1.2em;
}
.header-inner{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:0.8em;
}
.brand{
  display:flex;
  align-items:center;
  gap:0.6em;
  font-family:var(--font-head);
  font-size:1.5rem;
  color:var(--text-on-dark);
  text-decoration:none;
}
.brand:hover{text-decoration:none;}
.brand svg{flex-shrink:0;}

.main-nav ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:1.2em;
  margin:0;
  padding:0;
}
.main-nav a{
  color:var(--text-on-dark);
  text-decoration:none;
  font-weight:600;
  font-size:0.95rem;
}
.main-nav a:hover,.main-nav a:focus,.main-nav a[aria-current="page"]{
  color:var(--accent);
  text-decoration:underline;
}

.age-banner{
  background:var(--warn);
  color:var(--text-on-dark);
  text-align:center;
  font-size:0.85rem;
  padding:0.4em 1em;
}

main{
  max-width:960px;
  margin:0 auto;
  padding:2.2em 1.2em 3em;
}

.hero{
  max-width:960px;
  margin:0 auto;
  padding:3em 1.2em 1.5em;
  text-align:left;
}
.hero p.lede{
  font-size:1.25rem;
  font-family:var(--font-head);
  color:var(--text-on-dark);
}

.breadcrumb{
  max-width:960px;
  margin:0 auto;
  padding:1em 1.2em 0;
  font-size:0.85rem;
  opacity:0.85;
}
.breadcrumb ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:0.4em;
  padding:0;
  margin:0;
}
.breadcrumb li:not(:last-child)::after{
  content:"›";
  margin-left:0.4em;
  color:var(--accent);
}

section{margin-bottom:2.4em;}

.ornament-divider{
  display:flex;
  justify-content:center;
  margin:2.2em 0;
  opacity:0.8;
}

.site-footer{
  background:var(--surface);
  border-top:1px solid rgba(176,140,62,0.4);
  padding:2.4em 1.2em 2em;
  margin-top:3em;
}
.footer-inner{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:2em;
}
.footer-inner h2{font-size:1.05rem;color:var(--text-on-dark);}
.footer-inner nav ul{list-style:none;padding:0;margin:0;}
.footer-inner nav li{margin-bottom:0.4em;}
.footer-inner a{color:var(--text-on-dark);}
.footer-bottom{
  max-width:1100px;
  margin:2em auto 0;
  font-size:0.8rem;
  opacity:0.75;
  border-top:1px solid rgba(176,140,62,0.25);
  padding-top:1.2em;
}

@media (max-width:700px){
  .footer-inner{grid-template-columns:1fr;}
  .hero h1{font-size:1.9rem;}
}

.halls-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:1em;
  margin:1.6em 0;
}
