/* Styles extraídos del diseño original (mediterráneo) */
:root{
  --bg:#fcfbf8;
  --sand:#f2e7d9;
  --turquoise:#1fb6c6;
  --deep:#0b6b6b;
  --muted:#6b6b6b;
  --card:#ffffff;
  --accent:#ffb84d;
  --radius:14px;
  --shadow:0 8px 24px rgba(11,107,107,0.08);
  font-family: 'Segoe UI', Roboto, "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:linear-gradient(180deg,var(--bg) 0%, #f7fbfb 100%);
  color:#0b3030;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  padding-bottom:40px;
}
.container{max-width:1100px;margin:28px auto;padding:20px}
header{display:flex;align-items:center;gap:18px}
.logo-placeholder{
  width:84px;height:84px;background:linear-gradient(135deg,var(--sand),#fff);border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);
  font-weight:700;color:var(--deep);font-size:12px;text-align:center;padding:8px
}
h1{font-size:28px;margin:0}
p.lead{color:var(--muted);margin:6px 0 0}
nav{margin-top:18px;display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;border:0;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--turquoise);color:white;box-shadow:0 6px 18px rgba(31,182,198,0.18)}
.btn-ghost{background:transparent;border:1px solid rgba(11,107,107,0.08);color:var(--deep)}
.hero{display:grid;grid-template-columns:1fr 380px;gap:20px;margin-top:22px}
.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
.about{padding:22px}
.about h2{margin-top:0}
.apartments{margin-top:22px}
.apt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.apt{overflow:hidden;border-radius:12px}
.apt .media{position:relative;height:220px;background:#e9f9f9}
.apt .media img{width:100%;height:100%;object-fit:cover;display:block}
.apt .body{padding:14px}
.apt .title{display:flex;justify-content:space-between;align-items:center}
.apt .title h3{margin:0;font-size:18px}
.tags{display:flex;gap:8px;margin-top:8px}
.tag{background:var(--sand);padding:6px 8px;border-radius:999px;font-size:12px;color:var(--deep)}
.price{font-weight:700;color:var(--deep)}
.modal-backdrop{position:fixed;inset:0;background:rgba(6,20,20,0.45);display:none;align-items:center;justify-content:center;padding:20px}
.modal{width:100%;max-width:680px;background:white;border-radius:16px;padding:18px;box-shadow:0 20px 50px rgba(2,36,36,0.35)}
.modal h3{margin-top:0}
.form-row{display:flex;gap:12px}
.form-row .col{flex:1}
input,textarea,select{width:100%;padding:10px;border-radius:8px;border:1px solid #e6e6e6}
.small{font-size:13px;color:var(--muted)}
footer{margin-top:34px}
.contact{display:flex;gap:20px;align-items:center;justify-content:space-between}
.contact .left{max-width:640px}
.muted{color:var(--muted)}
.flex{display:flex;gap:8px;align-items:center}
.map{height:220px;border-radius:12px;overflow:hidden}
.link{color:var(--deep);text-decoration:none}
.thumbs{display:flex;gap:8px;margin-top:10px}
.thumbs img{width:64px;height:48px;object-fit:cover;border-radius:8px;cursor:pointer}
@media(max-width:980px){
  .hero{grid-template-columns:1fr}
  .apt-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .logo-placeholder{width:64px;height:64px;font-size:11px}
  h1{font-size:20px}
  .modal{padding:12px}
}
