:root {
    --etx-green: #0f9d73;
    --etx-green-dark: #0b7a5a;
    --etx-ink: #12302a;
    --etx-soft: #eefaf5;
}

body {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    color: var(--etx-ink);
    background: #f7faf9;
}

.nav-etx { background: var(--etx-ink); }
.logo-dot {
    display: inline-block; width: 12px; height: 12px; border-radius: 50%;
    background: #3be3ae; margin-right: 8px; box-shadow: 0 0 0 4px rgba(59, 227, 174, .25);
}

.lang-switch { display: flex; gap: .25rem; }
.lang-switch a {
    color: rgba(255, 255, 255, .7); text-decoration: none; font-size: .8rem; font-weight: 700;
    padding: .3rem .65rem; border-radius: 999px; border: 1px solid transparent;
}
.lang-switch a:hover { color: #fff; }
.lang-switch a.active { background: rgba(59, 227, 174, .18); color: #3be3ae; border-color: rgba(59, 227, 174, .35); }

.hero {
    background:
        radial-gradient(1200px 500px at 85% -10%, rgba(59, 227, 174, .35), transparent 60%),
        linear-gradient(135deg, #0b3d31 0%, #0f9d73 100%);
    color: #fff;
    padding: 4.5rem 0 7rem;
}
.hero h1 { font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.hero .lead { opacity: .92; max-width: 34rem; }

.search-card {
    margin-top: -5rem;
    border: 0;
    border-radius: 1.25rem;
    box-shadow: 0 20px 50px rgba(18, 48, 42, .15);
}
.search-card .form-label { font-weight: 600; font-size: .85rem; color: #3d5a53; }
.form-control, .form-select { border-radius: .7rem; padding: .7rem .9rem; border-color: #d4e3de; }
.form-control:focus, .form-select:focus {
    border-color: var(--etx-green); box-shadow: 0 0 0 .2rem rgba(15, 157, 115, .18);
}
.form-control:disabled { background: #f1f5f4; }

.btn-etx {
    background: var(--etx-green); border: 0; color: #fff; font-weight: 700;
    border-radius: .8rem; padding: .85rem 1.4rem;
}
.btn-etx:hover { background: var(--etx-green-dark); color: #fff; }

/* Autocompletado de municipios */
.ac-wrap { position: relative; }
.ac-list {
    position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px);
    max-height: 260px; overflow-y: auto; margin: 0; padding: .25rem; list-style: none;
    background: #fff; border: 1px solid #d4e3de; border-radius: .7rem;
    box-shadow: 0 12px 30px rgba(18, 48, 42, .15); display: none;
}
.ac-list.open { display: block; }
.ac-item { padding: .5rem .7rem; border-radius: .5rem; cursor: pointer; font-size: .95rem; }
.ac-item:hover, .ac-item.active { background: var(--etx-soft); color: var(--etx-green-dark); }
.ac-empty { padding: .6rem .7rem; color: #6b827b; font-size: .9rem; }

.steps .step-num {
    width: 42px; height: 42px; border-radius: 50%; background: var(--etx-soft);
    color: var(--etx-green-dark); font-weight: 800; display: inline-flex;
    align-items: center; justify-content: center;
}

.summary-chip {
    display: inline-block; background: var(--etx-soft); color: var(--etx-green-dark);
    border-radius: 999px; padding: .3rem .8rem; font-size: .85rem; font-weight: 600; margin: 0 .35rem .35rem 0;
}

.prop-card { border: 1px solid #dcebe5; border-radius: 1rem; background: #fff; }
.prop-price { font-size: 1.5rem; font-weight: 800; color: var(--etx-green-dark); text-align: right; line-height: 1.2; }
.prop-desc { color: #3d5a53; font-size: .92rem; }

.footer-etx { color: #5b7770; }
.footer-etx a { color: inherit; }

/* campo trampa anti-bots: fuera de pantalla */
.hp-field { position: absolute; left: -9999px; height: 0; overflow: hidden; }

/* Propuestas: estados */
.prop-off { opacity: .5; filter: grayscale(1); background: #f1f1f1; }
.prop-ok { border-color: var(--etx-green); box-shadow: 0 0 0 2px rgba(15, 157, 115, .2); }

/* Mensajería */
.chat-hilo { display: flex; flex-direction: column; gap: .6rem; margin-bottom: 1.2rem; max-height: 55vh; overflow-y: auto; padding: .25rem; }
.chat-msg { max-width: 82%; padding: .55rem .85rem; border-radius: 1rem; background: #eef2f1; }
.chat-msg.mio { align-self: flex-end; background: var(--etx-soft); border: 1px solid #cfeadf; }
.chat-msg.otro { align-self: flex-start; }
.chat-meta { font-size: .72rem; color: #6b827b; margin-bottom: .1rem; }
.chat-texto { white-space: normal; word-wrap: break-word; overflow-wrap: anywhere; }

/* Enlaces de cuenta en la cabecera (v4) */
.nav-acc { color: rgba(255, 255, 255, .85); text-decoration: none; font-size: .875rem; font-weight: 600; }
.nav-acc:hover { color: #fff; }
