:root {
    --gold: #C9A84C;
    --gold-light: #E8C97A;
    --gold-dark: #9A7535;
    --obsidian: #0A0A0B;
    --charcoal: #111113;
    --ink: #1A1A1D;
    --steel: #242428;
    --mist: #8A8A96;
    --fog: #56565E;
}

* { 
    box-sizing: border-box; 
}

body {
    background-color: var(--obsidian);
    color: #D0D0D8;
    font-family: 'Jost', sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content:''; 
    position:fixed; 
    inset:0;
    background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
    opacity:0.025; 
    pointer-events:none; 
    z-index:9999;
}

/* Header Navbar */
.gs-header {
    background:rgba(10,10,11,0.93);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(201,168,76,0.12);
}

.logo-golden { 
    color:var(--gold); 
    font-family:'Cormorant Garamond',serif; 
    font-weight:300; 
    letter-spacing:0.25em; 
}

.logo-state { 
    color:#FFF; 
    font-family:'Jost',sans-serif; 
    font-weight:600; 
    letter-spacing:0.05em; 
}

/* Barra de Filtros Superior */
.filter-bar {
    background:var(--charcoal);
    border-bottom:1px solid rgba(201,168,76,0.1);
}

.filter-select, .filter-input {
    background:var(--ink);
    border:1px solid rgba(201,168,76,0.12);
    color:#C0C0C8;
    font-family:'Jost',sans-serif; 
    font-size:0.8rem;
    padding:0.625rem 1rem;
    letter-spacing:0.04em;
    outline:none; 
    appearance:none; 
    -webkit-appearance:none;
    width:100%;
    transition:border-color 0.2s, color 0.2s;
}

.filter-select:focus, .filter-input:focus { 
    border-color:var(--gold); 
    color:#fff; 
}

.filter-select option { 
    background:#1A1A1D; 
}

.filter-input::placeholder { 
    color:var(--fog); 
}

.filter-btn {
    background:linear-gradient(135deg,var(--gold),var(--gold-dark));
    color:var(--obsidian);
    font-family:'Jost',sans-serif; 
    font-weight:600; 
    font-size:0.7rem;
    letter-spacing:0.2em; 
    text-transform:uppercase;
    padding:0.625rem 1.75rem; 
    border:none; 
    cursor:pointer;
    transition:opacity 0.2s;
    white-space:nowrap;
}

.filter-btn:hover { 
    opacity:0.88; 
}

.clear-btn {
    font-size:0.68rem; 
    letter-spacing:0.12em; 
    text-transform:uppercase;
    color:var(--fog); 
    text-decoration:none;
    transition:color 0.2s; 
    white-space:nowrap;
}

.clear-btn:hover { 
    color:var(--gold); 
}

/* Filtros Activos */
.filter-pill {
    display:inline-flex; 
    align-items:center; 
    gap:0.4rem;
    background:rgba(201,168,76,0.08); 
    border:1px solid rgba(201,168,76,0.2);
    color:var(--gold-light); 
    font-size:0.65rem; 
    letter-spacing:0.15em;
    text-transform:uppercase; 
    padding:0.3rem 0.75rem;
}

/* Tarjeta Propiedad - Modo Grilla */
.prop-card {
    background:var(--ink);
    border:1px solid rgba(201,168,76,0.07);
    transition:border-color 0.3s, transform 0.3s, box-shadow 0.3s;
    overflow:hidden;
}

.prop-card:hover {
    border-color:rgba(201,168,76,0.3);
    transform:translateY(-4px);
    box-shadow:0 20px 48px rgba(0,0,0,0.45), 0 0 0 1px rgba(201,168,76,0.08);
}

.prop-card .img-wrap { 
    overflow:hidden; 
}

.prop-card img { 
    transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); 
    width:100%; 
    height:100%; 
    object-fit:cover; 
    opacity:0.82; 
}

.prop-card:hover img { 
    transform:scale(1.06); 
}

.badge-op {
    background:rgba(10,10,11,0.88); 
    border:1px solid rgba(201,168,76,0.25);
    color:var(--gold-light); 
    font-family:'Jost',sans-serif;
    font-size:0.58rem; 
    font-weight:500; 
    letter-spacing:0.2em; 
    text-transform:uppercase;
    padding:0.3rem 0.8rem;
}

.price-tag { 
    font-family:'Cormorant Garamond',serif; 
    font-weight:300; 
    color:var(--gold-light); 
    font-size:1.55rem; 
    line-height:1; 
}

.stat-pill { 
    font-size:0.7rem; 
    letter-spacing:0.05em; 
    color:var(--mist); 
}

.stat-pill strong { 
    color:#D0D0D8; 
    font-weight:500; 
}

.card-cta {
    display:block; 
    text-align:center;
    font-family:'Jost',sans-serif; 
    font-size:0.65rem; 
    font-weight:500;
    letter-spacing:0.2em; 
    text-transform:uppercase;
    color:var(--gold); 
    border:1px solid rgba(201,168,76,0.2);
    padding:0.65rem; 
    text-decoration:none;
    transition:background 0.25s, color 0.25s, border-color 0.25s;
}

.card-cta:hover { 
    background:var(--gold); 
    color:var(--obsidian); 
    border-color:var(--gold); 
}

/* Encabezados */
.section-eyebrow { 
    font-size:0.62rem; 
    letter-spacing:0.3em; 
    text-transform:uppercase; 
    color:var(--gold); 
    font-weight:500; 
}

.section-title { 
    font-family:'Cormorant Garamond',serif; 
    font-weight:300; 
    color:#F0EDE8; 
    font-size:clamp(1.6rem,3vw,2.2rem); 
    line-height:1.2; 
}

/* Paginación */
.page-btn {
    display:inline-flex; 
    align-items:center; 
    justify-content:center;
    width:36px; 
    height:36px;
    border:1px solid rgba(201,168,76,0.15);
    font-size:0.75rem; 
    text-decoration:none; 
    color:var(--mist);
    transition:border-color 0.2s, color 0.2s, background 0.2s;
}

.page-btn:hover, .page-btn.active { 
    border-color:var(--gold); 
    color:var(--gold); 
    background:rgba(201,168,76,0.06); 
}

.page-btn.active { 
    font-weight:600; 
}

.result-count { 
    font-size:0.72rem; 
    letter-spacing:0.08em; 
    color:var(--mist); 
}

.result-count strong { 
    color:var(--gold-light); 
    font-weight:500; 
}

/* Estado Vacío */
.empty-state { 
    border:1px dashed rgba(201,168,76,0.12); 
}

/* Footer */
.gs-footer { 
    background:var(--charcoal); 
    border-top:1px solid rgba(201,168,76,0.1); 
}

.gold-rule { 
    width:40px; 
    height:1px; 
    background:linear-gradient(90deg,var(--gold),transparent); 
}

/* Alternador de Vistas */
.view-btn {
    padding:0.45rem 0.6rem; 
    border:1px solid rgba(201,168,76,0.12);
    cursor:pointer; 
    transition:border-color 0.2s, background 0.2s;
    background:transparent; 
    color:var(--mist);
}

.view-btn:hover, .view-btn.active { 
    border-color:var(--gold); 
    color:var(--gold); 
    background:rgba(201,168,76,0.06); 
}

/* Tarjeta Propiedad - Modo Lista */
.prop-card-list {
    background:var(--ink); 
    border:1px solid rgba(201,168,76,0.07);
    transition:border-color 0.3s, box-shadow 0.3s;
    overflow:hidden;
}

.prop-card-list:hover { 
    border-color:rgba(201,168,76,0.28); 
    box-shadow:0 8px 32px rgba(0,0,0,0.35); 
}

.prop-card-list img { 
    transition:transform 0.5s ease; 
    width:100%; 
    height:100%; 
    object-fit:cover; 
}

.prop-card-list:hover img { 
    transform:scale(1.04); 
}

/* Animaciones de reveal */
.reveal { 
    opacity:0; 
    transform:translateY(14px); 
    transition:opacity 0.55s ease, transform 0.55s ease; 
}

.reveal.visible { 
    opacity:1; 
    transform:none; 
}

@media (max-width:640px) {
    .filter-select, .filter-input { font-size:0.9rem; }
}