/* Tema y tipografía */
:root{--blue:#0A0A3C;--gold:#D4AF37;--bg:#F9FAFB;--muted:#6b7280;--card:#ffffff;--border:#e7e9f2;--text:#111827;--shadow:0 10px 25px rgba(2,6,23,.08)}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg)}
h1,h2,h3,h4{font-family:Poppins,Inter,system-ui,sans-serif}
.container{max-width:1200px;margin:0 auto;padding:16px}
.flex{display:flex}
.between{justify-content:space-between}
.center{align-items:center}

/* Header */
.am-header{background:#fff;color:#0b1220;position:sticky;top:0;z-index:20;box-shadow:0 6px 20px rgba(2,6,23,.06)}
.am-header .logo{color:#0b1220;text-decoration:none;font-weight:800;letter-spacing:.3px}
.nav a{color:#0b1220;margin:0 12px;text-decoration:none;opacity:.85;position:relative}
.nav a:hover{opacity:1}
.nav a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:transparent;transition:background .15s ease}
.nav a:hover:after{background:var(--gold)}
.nav .btn{padding:10px 14px;border-radius:10px}
#nav-toggle{display:none;background:transparent;border:0;color:#0b1220;font-size:22px}

/* Botones */
.btn{display:inline-block;background:var(--gold);color:#000;text-decoration:none;padding:12px 16px;border-radius:12px;font-weight:700;box-shadow:var(--shadow);border:0;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn.secondary{background:#eef2ff;color:#0b1220;box-shadow:none}

/* Formularios */
input,select,textarea{width:100%;padding:12px 12px;border:1px solid var(--border);border-radius:10px;background:#fff}
label{font-weight:700;margin:8px 0 6px;display:block}

/* Grid utilitaria */
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}

/* Tarjetas de propiedades */
.card{border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--card);box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .15s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 35px rgba(2,6,23,.12)}
.card .media{position:relative;background:#f6f7fb}
.card .media img{width:100%;height:220px;object-fit:cover;display:block}
.card .ribbon{position:absolute;left:12px;top:12px}
.card .price-tag{position:absolute;left:12px;bottom:12px;background:#000c25;color:#fff;padding:6px 10px;border-radius:10px;font-weight:800}
.card .body{padding:16px}
.card h3{margin:6px 0 6px;font-size:16px}
.meta{color:var(--muted);font-size:13px}
.price{font-weight:800;font-size:18px}
.badge{padding:4px 10px;border-radius:999px;background:#eef2ff;color:#334155;font-weight:700;font-size:12px}
.badge.featured{background:#fff1e6;color:#8a3b00;border:1px solid #ffd2a8}

/* Hero con buscador */
.hero{padding:64px 0;background:linear-gradient(120deg,#e6ecff 0%,#f7faff 100%);color:#0b1220;position:relative}
.hero:after{content:"";position:absolute;inset:auto 0 -1px 0;height:48px;background:radial-gradient(110% 70% at 50% 0, rgba(10,10,60,.08), rgba(255,255,255,0));pointer-events:none}
.hero h1{margin:0 0 12px;font-size:28px}
.search-bar{background:#ffffff;border:1px solid var(--border);padding:16px;border-radius:16px;box-shadow:var(--shadow)}
.search-grid{display:grid;grid-template-columns:2fr repeat(4,1fr) 1fr;gap:12px}

/* Top search estilo referencia */
.search-top{display:grid;grid-template-columns:1.8fr 1fr .8fr .8fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--border);border-radius:16px;padding:12px;box-shadow:var(--shadow)}
.input-icon{position:relative}
.input-icon input{padding-left:42px}
.input-icon .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#64748b}
.btn-outline{background:transparent;border:1px solid #dbe0ea;color:#0b1220;padding:12px 16px;border-radius:12px;font-weight:700}
.btn-ghost{background:transparent;border:0;color:#0b1220;font-weight:700;display:flex;gap:8px;align-items:center}
.circle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#eef2ff}
.btn-search{padding:14px 18px;border-radius:12px;font-size:16px}
.advanced-filters{margin-top:12px}

/* Listas */
.list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.section-title{display:flex;align-items:center;gap:10px;margin:28px 0 12px}
.section-title h2{margin:0;font-size:22px}
.section-title .line{height:2px;background:var(--gold);flex:1;border-radius:2px}

/* Footer */
.am-footer{background:var(--blue);color:#fff;margin-top:48px}
.am-footer a{color:var(--gold);text-decoration:none}
.am-footer .ft-title{color:#fff;margin:0 0 6px;font-weight:700}
.am-footer .ft-logo{color:#fff;margin:0 0 6px}
.am-footer .ft-text{opacity:.85}
.am-footer .ft-bottom{border-top:1px solid rgba(255,255,255,.1);padding:10px 0;text-align:center;opacity:.8}

/* Carrusel premium - scroll snap */
.slider{position:relative}
.slider .track{display:flex;gap:16px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.slider .track>*{flex:0 0 85%;scroll-snap-align:start}
@media(min-width:768px){.slider .track>*{flex-basis:48%}}
@media(min-width:1024px){.slider .track>*{flex-basis:31%}}
.slider .nav{position:absolute;inset:auto 0 -14px 0;display:flex;justify-content:flex-end;gap:8px}
.icon-btn{width:36px;height:36px;border-radius:999px;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;cursor:pointer}

/* Dark mode */
body.dark{--bg:#0b1220;--card:#0f172a;--text:#e5e7eb;--border:#243041}
body.dark .am-header{background:#0A0A3C;color:#fff}
body.dark .am-header .logo, body.dark .nav a, body.dark #nav-toggle{color:#fff}
.toast{position:fixed;right:16px;bottom:16px;background:#222;color:#fff;padding:10px 14px;border-radius:8px}

/* Responsive */
@media(max-width:1024px){
  .list{grid-template-columns:repeat(2,1fr)}
  .search-grid{grid-template-columns:1.5fr repeat(3,1fr)}
  .search-top{grid-template-columns:1.5fr 1fr .8fr;}
}
@media(max-width:720px){
  #nav-toggle{display:block}
  .nav{position:fixed;inset:64px 0 auto 0;background:var(--blue);padding:16px;display:none}
  .nav.open{display:block}
  .nav a{display:block;margin:10px 0}
  .list{grid-template-columns:1fr}
  .search-grid{grid-template-columns:1fr 1fr;}
  .search-top{grid-template-columns:1fr;}
}

