body {
  margin: 0;
  font-family: system-ui, sans-serif;
  background: #f9fafb;
  color: #333;
}

.hero {
  text-align: center;
  padding: 4rem 2rem;
  background: linear-gradient(135deg, #4caf50, #81c784);
  color: white;
}

.logo {
  width: 80px;
  margin-bottom: 1rem;
}

.features {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
  padding: 3rem 1rem;
  background: white;
}

.feature {
  max-width: 250px;
  text-align: center;
}

.feature .icon {
  font-size: 2rem;
  display: block;
  margin-bottom: .5rem;
}

.cta {
  padding: 3rem 1rem;
  text-align: center;
  background: #f0fdf4;
}

.form {
  display: grid;
  gap: 1rem;
  max-width: 400px;
  margin: 1.5rem auto;
}

.form input, .form textarea {
  padding: .8rem;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.form button {
  padding: .8rem;
  background: #4caf50;
  color: white;
  border: none;
  border-radius: 6px;
  cursor: pointer;
}

.form button:hover {
  background: #43a047;
}

footer {
  text-align: center;
  padding: 1rem;
  font-size: .9rem;
  background: #eee;
}
.hero.small {
  height: 40vh;
  background: url('https://source.unsplash.com/1600x600/?rome,apartment') center/cover no-repeat;
}

.listing-preview {
  padding: 2rem;
  text-align: center;
  background: #fff;
}

.listing-card {
  display: flex;
  max-width: 800px;
  margin: 1.5rem auto;
  background: #f9fafb;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.listing-card img {
  width: 40%;
  object-fit: cover;
}

.listing-info {
  padding: 1rem;
  text-align: left;
}

.annuncio {
  max-width: 1000px;
  margin: auto;
  padding: 2rem;
  background: white;
}

.gallery {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  margin-bottom: 2rem;
}

.gallery img {
  width: 100%;
  max-width: 300px;
  border-radius: 8px;
}

.details ul {
  list-style: none;
  padding: 0;
}

.details ul li {
  margin: .5rem 0;
}

.map {
  margin-top: 2rem;    
}
/* hero small per la pagina annuncio */
.hero.small { height: 40vh; background: #333 url('https://source.unsplash.com/1600x600/?rome') center/cover no-repeat; }
.hero.small .overlay { background: rgba(0,0,0,.45); }

/* anteprima annuncio in home */
.listing-preview { padding: 2rem; text-align: center; background: #fff; }
.listing-card { display:flex; max-width: 900px; margin: 1.5rem auto; background:#f9fafb;
  border-radius:12px; overflow:hidden; box-shadow:0 2px 6px rgba(0,0,0,.08); }
.listing-card img { width: 40%; object-fit: cover; }
.listing-info { padding: 1rem 1.2rem; text-align: left; }
.btn.ghost { background: transparent; color:#0f172a; border:1px solid #0f172a; }
.btn.ghost:hover { background:#0f172a; color:#fff; }

/* pagina annuncio */
.annuncio { max-width: 1080px; margin: 0 auto; padding: 2rem 1rem; background:#fff; }
.gallery { display:flex; gap: 12px; flex-wrap: wrap; margin-bottom: 1.2rem; }
.gallery img { width: calc(33.333% - 8px); min-width: 240px; flex: 1; border-radius: 8px; object-fit: cover; }
.details ul { list-style: none; padding-left: 0; }
.details ul li { margin: .45rem 0; }
.map { margin-top: 1.5rem; }
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #eee;background:#fff;position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#111}
.btn{padding:10px 14px;border-radius:10px;border:1px solid #0f172a;background:#0f172a;color:#fff;text-decoration:none;cursor:pointer}
.btn.small{padding:6px 10px;font-size:.9rem}
.btn:hover{opacity:.9}
.muted{color:#666}.small{font-size:.9rem}

.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin:16px 0}
.gallery-grid img{width:100%;height:240px;object-fit:cover;border-radius:10px}
@media(max-width:900px){.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:220px}}

.listing-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:8px 0 16px}
.pricebox{display:flex;align-items:center;gap:12px;font-size:1.6rem}
.card{background:#fff;border:1px solid #e9ebf0;border-radius:12px;padding:16px;margin:12px 0}
.card.nested{margin:10px 0}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:800px){.facts-grid{grid-template-columns:repeat(2,1fr)}}

.desc-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px}
@media(max-width:900px){.desc-grid{grid-template-columns:1fr}}

.nearby{padding:18px 0}
.nearby-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.nearby-card{display:flex;gap:10px;background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;text-decoration:none;color:#111}
.nearby-card img{width:38%;height:120px;object-fit:cover}
.nb-title{font-weight:700}
.nb-city{margin-top:2px}
