/* Il Caffè di Pavia — dark coffee theme */
:root{
  --bg:#1e1b18;
  --ink:#f5f5dc;
  --muted:#d6bca6;
  --brand:#c49a6c;
  --alt:#2c2a28;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.6;
}
img{max-width:100%;height:auto;border-radius:16px}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}
.section{padding:64px 0}
.section.alt{background:var(--alt)}
.narrow{max-width:760px}

.hero{
  padding:96px 0;
  background: url('https://images.unsplash.com/photo-1511920170033-f8396924c348?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwxMTI3N3wwfDF8c2VhcmNofDJ8fGNvZmZlZXxlbnwwfHx8fDE2OTMyOTc2Mzc&ixlib=rb-4.0.3&q=80&w=1400')
              center/cover no-repeat;
  color:#f5f5dc;
  text-align:center;
}
.hero .lead{color:var(--muted)}
.hero .actions{margin-top:1rem}

.grid{display:grid;gap:24px}
.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.grid.two,.grid.three{grid-template-columns:1fr}}

.site-header{
  position:sticky;
  top:0;
  background:#2c2a28d9;
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid #3a3937;
  z-index:50;
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:800;text-decoration:none;color:var(--ink)}
nav a{margin-left:16px;text-decoration:none;color:var(--ink)}
nav a:hover{color:var(--brand)}
#nav-toggle{display:none}
.burger{display:none;cursor:pointer;font-size:28px}
@media(max-width:720px){
  nav{display:none}
  .burger{display:block}
  #nav-toggle:checked ~ nav{
    display:block;
    position:absolute;
    top:64px;left:0;right:0;
    background:var(--alt);
    padding:12px 16px;
    border-bottom:1px solid #3a3937
  }
  nav a{display:block;margin:8px 0}
}

.site-footer{border-top:1px solid #3a3937;padding:48px 0;background:var(--alt)}

.btn{
  display:inline-block;
  background:var(--brand);
  color:#111111;
  text-decoration:none;
  padding:12px 18px;
  border-radius:999px;
  font-weight:600;
  border:none;
  cursor:pointer;
}
.btn:hover{opacity:.9}
.btn.alt{background:#111111;color:#fff}
.btn.small{padding:8px 14px;font-size:.9rem}

.shadow{box-shadow:0 10px 30px rgba(0,0,0,.5)}

.menu-list{list-style:none;padding:0;margin:12px 0}
.menu-item{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px dashed #3a3937}
.menu-item .muted{display:block}
.price{font-weight:700}

.hours{width:100%;border-collapse:collapse}
.hours td{padding:6px 8px;border-bottom:1px solid #3a3937}
.muted{color:var(--muted)}
.small{font-size:.9rem}
.card{border:1px solid #3a3937;border-radius:16px;padding:16px;background:#2c2a28}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:900px){.cards{grid-template-columns:1fr}}

.content p{margin:0 0 1rem}
.cta .cta-box{
  border-radius:20px;
  padding:28px;
  background:var(--brand);
  color:#111;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap
}
.form input,.form textarea,.form select{
  width:100%;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid #3a3937;
  background:#2c2a28;
  color:var(--ink);
}
.form label{font-weight:600;display:block;margin-bottom:12px}
.map iframe{border-radius:16px}

a{color:#ffffff;text-decoration:none;font-weight:normal}
a:hover{opacity:.8}
