/* Tramontana — Buscador de Propiedades */
/* Todo acotado a .trl- */

.trl-sec,
.trl-sec *,
.trl-sec *::before,
.trl-sec *::after { box-sizing: border-box; }

.trl-sec {
  --trl-deep: #0b4f8a;
  --trl-blue: #0f71c4;
  --trl-gold: #f4c955;
  --trl-ink: #122238;
  --trl-soft: #6d7d92;
  --trl-line: #e2e9f1;
  width: 100%;
  font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
}

.trl-sec a { text-decoration: none; }
.trl-sec h3 { margin: 0; }
.trl-sec ul { margin: 0; padding: 0; list-style: none; }
.trl-i { width: 15px; height: 15px; flex: 0 0 auto; }

/* cabecera de resultados */
.trl-sec .trl-res {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
  gap: 16px 24px;
  margin-bottom: 28px;
}

/* orden y vista van juntos al extremo derecho */
.trl-res__acciones {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-left: auto;
}

.trl-sec p.trl-res__n { margin: 0; font-size: 15px; color: #4f5f73; }
.trl-sec p.trl-res__n b { color: var(--trl-ink); font-weight: 800; }
.trl-sec .trl-res__c { display: flex; align-items: center; gap: 12px; margin: 0; }
.trl-sec .trl-res__lbl { font-size: 12px; font-weight: 700; color: var(--trl-soft); white-space: nowrap; }

.trl-sec .trl-res__c select {
  padding: 11px 14px;
  border: 1px solid var(--trl-line);
  border-radius: 6px;
  background: #fff;
  color: var(--trl-ink);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  outline: 0;
  cursor: pointer;
}

/* cuadrícula */
.trl-grid {
  --trl-cols: 3;
  display: grid;
  grid-template-columns: repeat(var(--trl-cols), minmax(0, 1fr));
  gap: 26px;
}

/* tarjeta */
.trl-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--trl-line);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow .28s ease, border-color .28s ease;
}

.trl-card:hover { box-shadow: 0 20px 44px rgba(6, 26, 46, .14); border-color: #cddeee; }

.trl-media { position: relative; display: block; height: 255px; overflow: hidden; background: #eef2f6; }
.trl-ph { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .7s cubic-bezier(.2,.7,.3,1); }
.trl-card:hover .trl-ph { transform: scale(1.06); }

.trl-count {
  position: absolute; right: 16px; bottom: 18px; z-index: 2;
  display: inline-flex; align-items: center; gap: 6px;
  color: #fff; font-size: 12px; font-weight: 600;
  text-shadow: 0 1px 6px rgba(0,0,0,.5);
}

.trl-fav {
  position: absolute; top: 13px; right: 14px; z-index: 3;
  width: 38px; height: 38px; border: 0; border-radius: 50%;
  background: rgba(255,255,255,.92); color: var(--trl-ink);
  display: grid; place-items: center; cursor: pointer; transition: .2s;
}
.trl-fav:hover { background: #fff; color: #d94a3d; }

.trl-body { padding: 20px 22px; flex: 1; display: flex; flex-direction: column; }

.trl-meta {
  display: block; margin-bottom: 9px;
  color: var(--trl-blue); font-size: 11px; font-weight: 800;
  letter-spacing: 1.1px; text-transform: uppercase;
}

.trl-sec .trl-body h3 {
  margin: 0 0 9px;
  font-size: 17px; font-weight: 700; line-height: 1.42;
  letter-spacing: -.2px; text-transform: none;
}
.trl-sec .trl-body h3 a { color: var(--trl-ink); }
.trl-sec .trl-body h3 a:hover { color: var(--trl-deep); }

.trl-addr {
  display: flex; align-items: flex-start; gap: 7px;
  font-size: 13.5px; color: var(--trl-soft); line-height: 1.45;
}
.trl-addr .trl-i { margin-top: 2px; }

.trl-f { display: flex; flex-wrap: wrap; gap: 7px 18px; }
.trl-f li { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: #4a5c72; }
.trl-f .trl-i { color: var(--trl-blue); }

/* etiquetas */
.trl-tag {
  display: inline-flex; align-items: center;
  padding: 7px 14px; border-radius: 999px;
  font-size: 11px; font-weight: 800; letter-spacing: .9px;
  text-transform: uppercase; line-height: 1;
  color: #fff; background: var(--trl-deep);
}
.trl-tag--rent { background: #128a5e; }
.trl-tag--feat { background: var(--trl-gold); color: #16233a; }

/* las dos etiquetas viven en una fila: se separan solas
   sin importar cuánto mida el texto de cada una */
.trl-tags {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  max-width: calc(100% - 70px);
}

.trl-tags .trl-tag {
  flex: 0 0 auto;
}

/* estilo 1 */
.trl-card--1 .trl-media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(4,18,34,.78) 0%, rgba(4,18,34,.12) 40%, transparent 62%);
}
.trl-card--1 .trl-price {
  position: absolute; left: 18px; bottom: 16px; z-index: 2;
  color: #fff; font-size: 23px; font-weight: 800; letter-spacing: -.6px;
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}
.trl-card--1 .trl-price small { font-size: 13px; font-weight: 600; opacity: .85; }
.trl-card--1 .trl-addr { margin-bottom: 18px; }
.trl-card--1 .trl-f { margin-top: auto; padding-top: 15px; border-top: 1px solid var(--trl-line); }

/* estilo 2 */
.trl-card--2 .trl-labels { position: absolute; top: 0; left: 0; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; }
.trl-card--2 .trl-label { padding: 7px 14px; font-size: 11px; font-weight: 700; letter-spacing: .4px; line-height: 1.3; color: #fff; background: var(--trl-deep); }
.trl-card--2 .trl-label--feat { background: var(--trl-gold); color: #16233a; }
.trl-card--2 .trl-media { height: 230px; }
.trl-card--2 .trl-addr { margin-bottom: 14px; }
.trl-card--2 .trl-price--abajo { margin-top: auto; font-size: 20px; font-weight: 800; color: var(--trl-deep); letter-spacing: -.4px; }
.trl-card--2 .trl-price--abajo small { font-size: 13px; font-weight: 600; color: var(--trl-soft); }
.trl-card--2 .trl-f { display: flex; border-top: 1px solid var(--trl-line); gap: 0; }
.trl-card--2 .trl-f li { flex: 1; justify-content: center; flex-direction: column; gap: 5px; padding: 14px 6px; border-right: 1px solid var(--trl-line); font-size: 12.5px; text-align: center; }
.trl-card--2 .trl-f li:last-child { border-right: 0; }

/* estilo 3 */
.trl-card--3 { border: 0; }
.trl-card--3 .trl-media { height: 420px; }
.trl-card--3 .trl-media::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(4,18,34,.92) 0%, rgba(4,18,34,.35) 48%, rgba(4,18,34,.05) 100%);
}
.trl-card--3 .trl-labels { position: absolute; top: 16px; left: 16px; z-index: 3; display: flex; gap: 8px; }
.trl-card--3 .trl-tag, .trl-card--3 .trl-tag--feat { flex: 0 0 auto; }
.trl-card--3 .trl-overlay { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; display: block; padding: 26px; color: #fff; }
.trl-card--3 .trl-addr { color: rgba(255,255,255,.8); margin-bottom: 8px; }
.trl-sec .trl-card--3 h3 { font-family: Georgia, "Times New Roman", serif; font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -.5px; margin-bottom: 14px; color: #fff; }
.trl-card--3 .trl-f { margin-bottom: 14px; }
.trl-card--3 .trl-f li { color: rgba(255,255,255,.88); }
.trl-card--3 .trl-f .trl-i { color: var(--trl-gold); }
.trl-card--3 .trl-price { display: block; font-size: 22px; font-weight: 800; color: var(--trl-gold); letter-spacing: -.5px; }

/* sin resultados */
.trl-vacio { padding: 60px 30px; text-align: center; border: 1px dashed #d6e0ea; border-radius: 10px; background: #fbfcfe; }
.trl-sec .trl-vacio h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 24px; font-weight: 700; color: var(--trl-ink); }
.trl-sec .trl-vacio p { margin: 0; font-size: 15px; color: var(--trl-soft); }

/* paginación */
.trl-pag { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 52px; }

.trl-sec .trl-pag .page-numbers {
  min-width: 46px; height: 46px; padding: 0 14px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--trl-line); border-radius: 6px; background: #fff;
  color: #4f5f73; font-size: 14px; font-weight: 700; text-decoration: none;
  transition: border-color .2s ease, color .2s ease;
}
.trl-sec .trl-pag a.page-numbers:hover { border-color: var(--trl-deep); color: var(--trl-deep); }
.trl-sec .trl-pag .current { background: var(--trl-deep); border-color: var(--trl-deep); color: #fff; }
.trl-sec .trl-pag .dots { border: 0; background: transparent; min-width: 24px; padding: 0; }

/* responsive */
@media (max-width: 1180px) {
  .trl-grid { --trl-cols: 2; }
}

@media (max-width: 767px) {
  .trl-grid { --trl-cols: 1; gap: 16px; }
  .trl-media { height: 220px; }
  .trl-card--3 .trl-media { height: 340px; }
  .trl-sec .trl-res { margin-bottom: 20px; }
  .trl-sec .trl-res__c { width: 100%; }
  .trl-sec .trl-res__c select { flex: 1; }
  .trl-pag { margin-top: 36px; gap: 6px; }
  .trl-sec .trl-pag .page-numbers { min-width: 42px; height: 42px; font-size: 13px; }
}


/* ---------- buscador ---------- */

.trl-bus-sec,
.trl-bus-sec *,
.trl-bus-sec *::before,
.trl-bus-sec *::after { box-sizing: border-box; }

/* La tarjeta blanca es la sección: así los filtros activos
   quedan dentro, separados por una línea, como en el diseño. */
.trl-bus-sec {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--trl-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(6, 26, 46, .12);
  font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
  container-type: inline-size;
  container-name: trl-bus;
}

.trl-bus {
  display: grid;
  grid-template-columns: repeat(var(--trl-bus-cols, auto-fit), minmax(180px, 1fr));
  gap: 12px;
  align-items: end;
  width: 100%;
  min-width: 0;
}

.trl-bus__f {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
  margin: 0;
}

.trl-bus__f--ancho { grid-column: span 2; min-width: 220px; }
.trl-bus__f--corto { max-width: 150px; }

.trl-bus__lbl {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: #6d7d92;
}

.trl-bus input[type="text"],
.trl-bus input[type="number"],
.trl-bus select {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-width: none;
  padding: 13px 14px;
  margin: 0;
  border: 1px solid #e2e9f1;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: none;
  color: #122238;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.3;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}

/* quitar flechas del number nativo (si queda alguno) */
.trl-bus input[type="number"]::-webkit-outer-spin-button,
.trl-bus input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.trl-bus input[type="number"] { -moz-appearance: textfield; }

/* segmentos estilo Plusval, acento Tramontana */
.trl-bus__f--segs { min-width: 0; }

.trl-bus__segs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
}

.trl-bus__seg {
  flex: 1 1 auto;
  min-width: 56px;
  min-height: 42px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #e2e9f1;
  border-radius: 8px;
  background-color: #fff;
  color: #4f5f73;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.trl-bus__seg:hover {
  background-color: #f3f7fb;
  border-color: #0b4f8a;
  color: #0b4f8a;
}

.trl-bus__seg.is-on {
  background-color: #0b4f8a;
  border-color: #0b4f8a;
  color: #fff;
}

.trl-bus__seg.is-on:hover {
  background-color: #083c70;
  border-color: #083c70;
  color: #fff;
}

.trl-bus select {
  cursor: pointer;
  padding-right: 34px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b4f8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 16px 16px;
}

.trl-bus input:focus,
.trl-bus select:focus {
  border-color: #0f71c4;
  box-shadow: 0 0 0 3px rgba(15, 113, 196, .1);
}

.trl-bus input::placeholder { color: #8a94a2; opacity: 1; }

.trl-bus__btn {
  justify-self: stretch;
  min-height: 47px;
  padding: 0 28px;
  border: 0;
  border-radius: 6px;
  background: #0b4f8a;
  color: #fff;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  cursor: pointer;
  transition: filter .2s ease, transform .2s ease;
}

.trl-bus__btn:hover { filter: brightness(1.12); transform: translateY(-1px); }

/* fila desplegable con los filtros extra */
.trl-bus__extra {
  display: none;
  grid-column: 1 / -1;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid var(--trl-line);
}

.trl-bus__extra.is-on { display: grid; }

.trl-bus__extra .trl-bus__f--segs { grid-column: span 1; }

@media (min-width: 900px) {
  .trl-bus__extra .trl-bus__f--segs:last-child {
    grid-column: 1 / -1;
  }
}

.trl-bus-sec button.trl-bus__mas {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 16px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--trl-deep);
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: color .2s ease;
}

.trl-bus-sec button.trl-bus__mas:hover { color: #083c70; }
.trl-bus__mas svg { width: 15px; height: 15px; }
.trl-bus__mas[aria-expanded="true"] svg { color: var(--trl-gold); }


/* filtros activos: fila propia, separada por una línea */
.trl-bus__chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--trl-line);
}

.trl-bus__chips::before {
  content: "Filtros activos";
  margin-right: 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  color: var(--trl-soft);
}

.trl-bus-sec a.trl-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #f3f7fb;
  color: #122238;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

.trl-bus-sec a.trl-chip span { color: #8a94a2; font-weight: 800; }
.trl-bus-sec a.trl-chip:hover { background: #e4edf6; }
.trl-bus-sec a.trl-chip:hover span { color: #d94a3d; }

.trl-bus-sec a.trl-chip--limpiar {
  background: transparent;
  color: #6d7d92;
  text-decoration: underline;
}

.trl-bus-sec a.trl-chip--limpiar:hover { background: transparent; color: #0b4f8a; }

/* 1366×768 y laptops: el buscador Completo no cabe en una sola fila apretada */
@container trl-bus (max-width: 1200px) {
  .trl-bus {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .trl-bus__f--ancho { grid-column: span 3; min-width: 0; }
  .trl-bus__f--corto { max-width: none; }
  .trl-bus__btn { grid-column: span 3; width: 100%; }
}

@container trl-bus (max-width: 720px) {
  .trl-bus { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trl-bus__f--ancho { grid-column: span 2; }
  .trl-bus__btn { grid-column: span 2; }
}

@media (max-width: 1400px) {
  .trl-bus { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
  .trl-bus__f--corto { max-width: none; }
}

@media (max-width: 1100px) {
  .trl-bus { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 18px; }
  .trl-bus__f--ancho { grid-column: span 3; min-width: 0; }
  .trl-bus__f--corto { max-width: none; }
  .trl-bus__btn { grid-column: span 3; width: 100%; }
}

@media (max-width: 991px) {
  .trl-bus { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); padding: 18px; }
  .trl-bus__f--ancho { grid-column: span 2; min-width: 0; }
  .trl-bus__btn { grid-column: auto; width: auto; }
}

@media (max-width: 640px) {
  .trl-bus-sec { padding: 16px; }
  .trl-bus { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .trl-bus__f--ancho,
  .trl-bus__btn { grid-column: auto; }
  .trl-bus__chips::before { width: 100%; margin-bottom: 2px; }
  .trl-bus__f--corto { max-width: none; }
  .trl-bus__btn { width: 100%; }
}


/* ---------- buscador estilo 2 · Hero (home) ---------- */

.tramontana-search-wrap {
  width: 100%;
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  container-type: inline-size;
  container-name: tramontana-search;
}

.tramontana-search,
.tramontana-search *,
.tramontana-search *::before,
.tramontana-search *::after { box-sizing: border-box; }

.tramontana-search {
  position: relative;
  z-index: 3;
  width: 100%;
  margin: 0;
  padding: 24px;
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1.05fr)
    minmax(0, 1.25fr)
    minmax(0, 1.05fr)
    minmax(150px, .85fr);
  gap: 16px;
  background: rgba(255, 255, 255, .98);
  border-radius: 14px;
  box-shadow: 0 18px 55px rgba(6, 26, 46, .22);
  font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.4;
  overflow: visible;
}

.tramontana-search__field {
  width: 100%;
  min-width: 0;
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 16px;
  margin: 0;
  border: 1px solid #dde4eb;
  border-radius: 7px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.tramontana-search__field:focus-within {
  border-color: #174c78;
  box-shadow: 0 0 0 3px rgba(23, 76, 120, .1);
}

.tramontana-search__icon {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  color: #123f70;
}

.tramontana-search__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.tramontana-search__content {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 5px;
}

.tramontana-search__content > span {
  color: #3d4d62;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .35px;
  text-transform: uppercase;
}

.tramontana-search select,
.tramontana-search input[type="text"] {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  height: auto;
  min-height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  background-color: transparent;
  box-shadow: none;
  color: #1e2d40;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.tramontana-search select {
  cursor: pointer;
  padding-right: 24px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23123f70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 16px 16px;
}

.tramontana-search input::placeholder { color: #8a94a2; opacity: 1; }

.tramontana-search__submit {
  width: 100%;
  min-width: 0;
  min-height: 72px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 0 22px;
  margin: 0;
  border: 0;
  border-radius: 7px;
  background: linear-gradient(135deg, #174c78, #0d3a68);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .35px;
  text-transform: uppercase;
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.tramontana-search__submit:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
  box-shadow: 0 12px 26px rgba(13, 58, 104, .22);
}

.tramontana-search__submit svg {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
}

/* Precio: popover min–max (estilo Plusval, colores Tramontana) */
.trl-bus-sec,
.trl-bus { overflow: visible; }

.tramontana-search__field--precio {
  position: relative;
  z-index: 4;
  overflow: visible;
  cursor: pointer;
}

.tramontana-search__field--precio.is-precio-on {
  z-index: 60;
}

.tramontana-search__precio-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #1e2d40;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
}

.tramontana-search__chev {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  color: #123f70;
  transition: transform .2s ease;
}

.tramontana-search__field--precio.is-precio-on .tramontana-search__chev {
  transform: rotate(180deg);
}

.tramontana-search__precio-panel {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  z-index: 70;
  width: min(380px, calc(100vw - 32px));
  padding: 16px;
  border: 1px solid #e2e9f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 18px 40px rgba(6, 26, 46, .18);
  overflow: visible;
}

.tramontana-search__precio-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.tramontana-search__precio-head strong {
  color: #122238;
  font-size: 15px;
  font-weight: 800;
}

.tramontana-search__curr {
  display: inline-flex;
  padding: 3px;
  border: 1px solid #d8e2ec;
  border-radius: 999px;
  background: #f5f8fb;
}

.tramontana-search__curr-btn {
  min-width: 48px;
  margin: 0;
  padding: 6px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #174c78;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.tramontana-search__curr-btn.is-on {
  background: #174c78;
  color: #fff;
}

.tramontana-search__precio-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: start;
}

.tramontana-search__precio-guion {
  padding-top: 14px;
  color: #8a94a2;
  font-weight: 700;
}

.tramontana-search__precio-box {
  position: relative;
  min-width: 0;
}

.tramontana-search__precio-sel {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #d8e2ec;
  border-radius: 10px;
  background: #fff;
  color: #1e2d40;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.tramontana-search__precio-sel:hover,
.tramontana-search__precio-sel.is-open {
  border-color: #174c78;
  box-shadow: 0 0 0 3px rgba(23, 76, 120, .1);
}

.tramontana-search__precio-sel svg {
  width: 14px;
  height: 14px;
  margin-left: auto;
  color: #174c78;
}

.tramontana-search__precio-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #eaf2f9;
  color: #174c78;
  font-size: 12px;
  font-weight: 800;
}

.tramontana-search__precio-lista {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  z-index: 45;
  max-height: 220px;
  margin: 0;
  padding: 6px;
  overflow: auto;
  list-style: none;
  border: 1px solid #d8e2ec;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(6, 26, 46, .14);
}

.tramontana-search__precio-lista button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #3d4d62;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.tramontana-search__precio-lista button:hover {
  background: #eef4fa;
  color: #174c78;
}

.tramontana-search__precio-lista button.is-on {
  background: #174c78;
  color: #fff;
}

@media (max-width: 640px) {
  .tramontana-search__precio-panel {
    left: 0;
    right: 0;
    width: auto;
  }
}


/*
 * Anchos intermedios: 2×2 + botón a todo el ancho.
 * Antes usábamos 3 columnas con ubicación span 2 y el botón
 * quedaba en 1 celda (hueco vacío a la derecha).
 */
@container tramontana-search (max-width: 1200px) {
  .tramontana-search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 20px;
  }
  .tramontana-search__field--location { grid-column: auto; }
  .tramontana-search__submit { grid-column: 1 / -1; }
}

@media (max-width: 1400px) {
  .tramontana-search {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 20px;
  }
  .tramontana-search__field--location { grid-column: auto; }
  .tramontana-search__submit { grid-column: 1 / -1; }
}

/* Hero móvil simplificado: oculto en desktop */
.tramontana-search__ops,
.tramontana-search__more,
.tramontana-search__submit-txt-simple {
  display: none;
}

@media (max-width: 640px) {
  .tramontana-search {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px;
    border-radius: 10px;
  }
  .tramontana-search__field,
  .tramontana-search__field--location,
  .tramontana-search__submit {
    grid-column: auto;
    min-height: 66px;
  }
  .tramontana-search__field { gap: 12px; padding: 10px 13px; }
  .tramontana-search__icon { width: 25px; height: 25px; flex-basis: 25px; }
  .tramontana-search__content > span { font-size: 10px; }
  .tramontana-search select,
  .tramontana-search input[type="text"] { font-size: 14px; }

  /* Compacto tipo Plusval, colores Tramontana */
  .tramontana-search--simple-mobile {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }
  .tramontana-search--simple-mobile .tramontana-search__ops {
    display: flex;
    width: 100%;
    padding: 3px;
    border: 1px solid #dde4eb;
    border-radius: 999px;
    background: #f4f7fa;
    gap: 0;
  }
  .tramontana-search--simple-mobile .tramontana-search__op {
    flex: 1;
    margin: 0;
    padding: 11px 12px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #174c78;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .4px;
    line-height: 1;
    text-transform: uppercase;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease;
  }
  .tramontana-search--simple-mobile .tramontana-search__op.is-on {
    background: linear-gradient(135deg, #174c78, #0d3a68);
    color: #fff;
    box-shadow: 0 6px 14px rgba(13, 58, 104, .2);
  }
  .tramontana-search--simple-mobile .tramontana-search__field--estado {
    display: none !important;
  }
  .tramontana-search--simple-mobile:not(.is-more-on) .tramontana-search__field--extra {
    display: none !important;
  }
  .tramontana-search--simple-mobile .tramontana-search__field--location {
    min-height: 54px;
  }
  .tramontana-search--simple-mobile .tramontana-search__loc-lbl {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
  .tramontana-search--simple-mobile .tramontana-search__field--location .tramontana-search__content {
    display: block;
  }
  .tramontana-search--simple-mobile .tramontana-search__more {
    display: inline-flex;
    align-self: center;
    margin: 0;
    padding: 4px 8px;
    border: 0;
    background: none;
    color: #174c78;
    cursor: pointer;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .2px;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  .tramontana-search--simple-mobile .tramontana-search__submit {
    min-height: 52px;
    gap: 10px;
  }
  .tramontana-search--simple-mobile .tramontana-search__submit-txt-full {
    display: none;
  }
  .tramontana-search--simple-mobile .tramontana-search__submit-txt-simple {
    display: inline;
  }
}


/* ---------- alerta de búsqueda ---------- */

.trl-alerta,
.trl-alerta *,
.trl-alerta *::before,
.trl-alerta *::after { box-sizing: border-box; }

.trl-alerta {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 50px;
  align-items: center;
  padding: 48px;
  border: 1px solid #e2e9f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 20px 50px rgba(6, 26, 46, .08);
  font-family: Montserrat, -apple-system, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
}

.trl-alerta__txt { min-width: 0; }

.trl-alerta span.trl-alerta__eb {
  display: block;
  margin: 0 0 14px;
  color: #0b4f8a;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.trl-alerta h2.trl-alerta__h2 {
  margin: 0 0 12px;
  padding: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -1px;
  text-transform: none;
  color: #122238;
}

.trl-alerta p.trl-alerta__p {
  margin: 0;
  padding: 0;
  font-size: 15.5px;
  font-weight: 400;
  line-height: 1.68;
  text-transform: none;
  color: #4f5f73;
}

.trl-alerta__form { min-width: 0; }

.trl-alerta__f {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.trl-alerta__f input[type="text"],
.trl-alerta__f input[type="email"],
.trl-alerta__f input[type="tel"] {
  flex: 1;
  min-width: 190px;
  height: auto;
  min-height: 0;
  max-width: none;
  padding: 16px;
  margin: 0;
  border: 1px solid #e2e9f1;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
  color: #122238;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  outline: 0;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.trl-alerta__f input:focus {
  border-color: #0f71c4;
  box-shadow: 0 0 0 3px rgba(15, 113, 196, .1);
}

.trl-alerta__f input::placeholder { color: #8a94a2; opacity: 1; }

.trl-alerta__f button {
  min-height: 54px;
  padding: 0 28px;
  border: 0;
  border-radius: 6px;
  background: #0b4f8a;
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .35px;
  text-transform: uppercase;
  cursor: pointer;
  transition: filter .2s ease, transform .2s ease;
}

.trl-alerta__f button:hover { filter: brightness(1.12); transform: translateY(-1px); }
.trl-alerta__f button[disabled] { opacity: .6; cursor: default; transform: none; }

/* trampa antispam */
.trl-trampa {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.trl-alerta p.trl-alerta__msg {
  margin: 14px 0 0;
  padding: 14px 16px;
  border-radius: 6px;
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.5;
}

.trl-alerta p.trl-alerta__msg.is-ok { background: #eaf7f0; color: #0f7048; }
.trl-alerta p.trl-alerta__msg.is-error { background: #fdeeee; color: #b4342a; }
.trl-alerta p.trl-alerta__msg[hidden] { display: none; }

.trl-alerta p.trl-alerta__nota {
  margin: 12px 0 0;
  padding: 0;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.55;
  color: #6d7d92;
}

@media (max-width: 991px) {
  .trl-alerta { grid-template-columns: 1fr; gap: 30px; padding: 34px; }
  .trl-alerta h2.trl-alerta__h2 { font-size: 27px; }
}

@media (max-width: 640px) {
  .trl-alerta { padding: 26px; }
  .trl-alerta h2.trl-alerta__h2 { font-size: 24px; letter-spacing: -.6px; }
  .trl-alerta__f { flex-direction: column; }
  .trl-alerta__f input { min-width: 0; width: 100%; }
  .trl-alerta__f button { width: 100%; }
}


/* ---------- cambio de vista ---------- */

.trl-vista {
  display: inline-flex;
  border: 1px solid var(--trl-line);
  border-radius: 6px;
  overflow: hidden;
}

.trl-sec .trl-vista a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--trl-soft);
  text-decoration: none;
  transition: background .2s ease, color .2s ease;
}

.trl-sec .trl-vista a + a { border-left: 1px solid var(--trl-line); }
.trl-sec .trl-vista a:hover { color: var(--trl-deep); }

.trl-sec .trl-vista a.is-on {
  background: var(--trl-deep);
  color: #fff;
}

.trl-vista svg { width: 16px; height: 16px; }


/* ---------- VISTA LISTA ---------- */
/* La tarjeta se acuesta: foto a la izquierda, datos a la derecha */

.trl-grid--lista {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px;
}

.trl-grid--lista .trl-card {
  display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr);
  align-items: stretch;
}

.trl-grid--lista .trl-media {
  height: 100%;
  min-height: 235px;
}

.trl-grid--lista .trl-body {
  padding: 24px 26px;
  justify-content: center;
}

.trl-grid--lista .trl-meta { margin-bottom: 8px; }

.trl-sec .trl-grid--lista .trl-body h3 {
  font-size: 19px;
  line-height: 1.35;
  margin-bottom: 10px;
}

.trl-grid--lista .trl-addr {
  font-size: 14px;
  margin-bottom: 0;
}

.trl-grid--lista .trl-f {
  margin-top: 18px;
  padding-top: 16px;
  gap: 10px 26px;
}

.trl-grid--lista .trl-f li { font-size: 13.5px; }

/* el precio se lee mejor un poco más grande en horizontal */
.trl-grid--lista .trl-card--1 .trl-price { font-size: 25px; }

/* el corazón no debe tapar la esquina de la foto */
.trl-grid--lista .trl-fav { top: 14px; right: auto; left: calc(340px - 52px); }


@media (max-width: 991px) {
  .trl-grid--lista .trl-card { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); }
  .trl-grid--lista .trl-media { min-height: 200px; }
  .trl-grid--lista .trl-body { padding: 20px 22px; }
  .trl-grid--lista .trl-fav { left: calc(260px - 50px); }
}

@media (max-width: 640px) {
  /* en móvil la lista vuelve a ser vertical: no hay ancho para dos columnas */
  .trl-grid--lista .trl-card { grid-template-columns: minmax(0, 1fr); }
  .trl-grid--lista .trl-media { min-height: 0; height: 220px; }
  .trl-grid--lista .trl-body { padding: 18px 18px; }
  .trl-grid--lista .trl-fav { left: auto; right: 13px; }
  .trl-sec .trl-grid--lista .trl-body h3 { font-size: 17px; }
  .trl-grid--lista .trl-card--1 .trl-price { font-size: 21px; }
}


/* ---------- la cuadrícula respeta sus columnas ---------- */

.trl-grid--cuadricula {
  grid-template-columns: repeat(var(--trl-cols), minmax(0, 1fr));
}
