/*
Theme Name: Rossetti Inmobiliaria
Theme URI: https://paolarossetti.com.ar
Author: Ad Marketing
Description: Tema a medida para Paola S. Rossetti — Estudio Inmobiliario. Diseñado para convivir con el plugin WP Real Estate (listados de propiedades) y Contact Form 7.
Version: 1.1.5
Requires PHP: 7.4
Text Domain: rossetti
*/

:root{
  --ink:#15181b;
  --ink-soft:#22262a;
  --charcoal:#3a3a3a;
  --paper:#f6f4f0;
  --paper-dim:#efece6;
  --white:#ffffff;
  --line:#ddd7cb;
  --line-soft:#e8e3d9;
  --brass:#a17f45;
  --brass-dark:#7d5f31;
  --brass-light:#c9a877;
  --text-dim:#8b8f93;
  --shadow: 0 24px 60px -20px rgba(21,24,27,.35);
  --ff-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --ff-body:'Poppins', -apple-system, Segoe UI, sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-padding-top:90px;}
body{
  font-family:var(--ff-body);
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
button{font-family:inherit; cursor:pointer;}
.wrap{max-width:1200px; margin:0 auto; padding:0 32px;}
.eyebrow{
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  color:var(--brass); font-weight:600; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--brass);}
h1,h2,h3{font-family:var(--ff-display); font-weight:600; line-height:1.08; letter-spacing:-.01em;}
h2{font-size:clamp(1.9rem,3.2vw,2.7rem); margin-top:14px;}
.lede{color:var(--charcoal); font-size:1.02rem; line-height:1.7; max-width:52ch;}
:focus-visible{outline:2px solid var(--brass); outline-offset:3px;}
.screen-reader-text{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.brackets{position:relative;}
.brackets::before,.brackets::after{
  content:''; position:absolute; width:22px; height:22px;
  border:1.5px solid var(--brass); opacity:.9;
}
.brackets::before{top:-10px; left:-10px; border-right:none; border-bottom:none;}
.brackets::after{bottom:-10px; right:-10px; border-left:none; border-top:none;}

/* ---------- Header ---------- */
header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:22px 0; transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
}
header .wrap{display:flex; align-items:center; justify-content:space-between; gap:24px;}
header.solid{background:rgba(21,24,27,.96); padding:14px 0; box-shadow:0 8px 30px -12px rgba(0,0,0,.4); backdrop-filter:blur(6px);}
.logo{display:flex; flex-direction:column; line-height:1.05;}
.logo strong{font-family:var(--ff-display); font-size:1.2rem; letter-spacing:.02em; color:var(--white);}
.logo span{font-size:.62rem; letter-spacing:.24em; color:var(--brass-light); text-transform:uppercase; margin-top:4px;}

nav.primary ul{display:flex; align-items:center; gap:36px;}
nav.primary a{
  font-size:.86rem; color:var(--white); opacity:.88; position:relative; padding:6px 0; display:inline-block;
}
nav.primary li.current-menu-item > a{opacity:1;}
nav.primary li.current-menu-item > a::after{content:''; position:absolute; left:0; bottom:0; width:100%; height:1px; background:var(--brass-light);}
nav.primary a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--brass-light);
  transition:width .25s ease;
}
nav.primary a:hover::after, nav.primary a:focus-visible::after{width:100%;}

.header-cta{
  display:flex; align-items:center; gap:10px; border:1px solid rgba(255,255,255,.3);
  padding:9px 18px; border-radius:2px; font-size:.82rem; color:var(--white); white-space:nowrap;
  transition:border-color .2s ease, background .2s ease;
}
.header-wa-icon{width:18px; height:18px; flex:0 0 18px; color:#25d366;}
.header-cta:hover{border-color:var(--brass-light); background:rgba(161,127,69,.15);}
.burger{display:none; width:26px; height:20px; position:relative; background:none; border:0;}
.burger span,.burger span::before,.burger span::after{
  content:''; position:absolute; left:0; width:100%; height:1.5px; background:var(--white); transition:.25s;
}
.burger span{top:9px;}
.burger span::before{top:-8px;}
.burger span::after{top:8px;}
.burger.open span{background:transparent;}
.burger.open span::before{transform:translateY(8px) rotate(45deg);}
.burger.open span::after{transform:translateY(-8px) rotate(-45deg);}

/* ---------- Hero / slider (home) ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden;
  background:var(--ink);
}
.slide{
  position:absolute; inset:0; opacity:0; transition:opacity 1.4s ease;
}
.slide.active{opacity:1;}
.slide .art{position:absolute; inset:0;}
.slide-image{width:100%; height:100%; object-fit:cover; object-position:center;}
.slide .scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,17,19,.55) 0%, rgba(15,17,19,.35) 32%, rgba(15,17,19,.88) 100%);
}
.hero-inner{position:relative; z-index:2; width:100%; padding-bottom:150px; padding-top:180px;}
.hero-inner .eyebrow{color:var(--brass-light);}
.hero-inner .eyebrow::before{background:var(--brass-light);}
.hero h1{
  color:var(--white); font-size:clamp(2.4rem,5.4vw,4.4rem); max-width:14ch; margin-top:18px;
}
.hero h1 em{color:var(--brass-light); font-style:italic;}
.hero p.lede{color:rgba(255,255,255,.82); margin-top:20px; max-width:46ch;}
.trust-line{
  margin-top:26px; display:flex; flex-wrap:wrap; gap:10px 22px; font-size:.78rem;
  color:rgba(255,255,255,.65); letter-spacing:.03em;
}
.trust-line span{position:relative; padding-left:16px;}
.trust-line span::before{content:'—'; position:absolute; left:0; color:var(--brass-light);}

.slide-dots{
  position:absolute; right:32px; bottom:150px; z-index:3; display:flex; flex-direction:column; gap:12px;
}
.slide-dots button{
  width:9px; height:9px; border-radius:50%; border:1px solid rgba(255,255,255,.6); background:transparent; padding:0;
}
.slide-dots button.active{background:var(--brass-light); border-color:var(--brass-light);}
.slide-arrows{position:absolute; right:32px; top:50%; transform:translateY(-50%); z-index:3; display:flex; flex-direction:column; gap:14px;}
.slide-arrows button{
  width:42px; height:42px; border:1px solid rgba(255,255,255,.35); background:rgba(255,255,255,.06); color:var(--white);
  border-radius:50%; font-size:1rem;
}
.slide-arrows button:hover{background:rgba(161,127,69,.35); border-color:var(--brass-light);}

/* ---------- Page hero (subpages) ---------- */
.page-hero{
  position:relative; min-height:52vh; display:flex; align-items:flex-end; overflow:hidden; background:var(--ink);
}
.page-hero .art{position:absolute; inset:0;}
.page-hero .scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(15,17,19,.45) 0%, rgba(15,17,19,.9) 100%);}
.page-hero-inner{position:relative; z-index:2; width:100%; padding:170px 0 60px;}
.page-hero-inner .eyebrow{color:var(--brass-light);}
.page-hero-inner .eyebrow::before{background:var(--brass-light);}
.page-hero h1{color:var(--white); font-size:clamp(2.1rem,4.4vw,3.4rem); margin-top:16px; max-width:20ch;}
.page-hero p.lede{color:rgba(255,255,255,.8); margin-top:16px; max-width:52ch;}

/* floating search card + standalone filter bar */
.search-card{
  position:relative; z-index:5;
  background:var(--white); box-shadow:var(--shadow); border-radius:2px;
  padding:26px 30px;
}
.search-card.floating{margin-top:-64px;}
.search-tabs{display:flex; gap:6px; margin-bottom:20px;}
.search-tabs button{
  background:none; border:none; font-size:.82rem; letter-spacing:.03em; padding:8px 4px;
  color:var(--text-dim); border-bottom:2px solid transparent; font-weight:500;
}
.search-tabs button.active{color:var(--ink); border-color:var(--brass);}
.search-grid{display:grid; grid-template-columns:2fr 1.1fr 1.1fr auto; gap:16px; align-items:end;}
.search-grid.wide{grid-template-columns:1.6fr 1fr 1fr 1fr auto;}
.field{display:flex; flex-direction:column; gap:6px;}
.field label{font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim);}
.field select,.field input{
  border:1px solid var(--line); padding:12px 12px; font-family:inherit; font-size:.88rem; color:var(--ink);
  background:var(--white); border-radius:1px;
}
.field select:focus,.field input:focus{border-color:var(--brass);}
.btn-search{
  background:var(--ink); color:var(--white); border:none; padding:13px 30px; font-size:.84rem;
  letter-spacing:.04em; white-space:nowrap; transition:background .2s ease; display:inline-flex; align-items:center; justify-content:center;
}
.btn-search:hover{background:var(--brass-dark);}

/* ---------- Stats strip ---------- */
.stats{padding:70px 0 40px;}
.stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:40px;}
.stat{padding:18px 10px 0; border-top:1px solid var(--line);}
.stat b{display:block; font-family:var(--ff-display); font-size:2.1rem; font-weight:600; color:var(--ink);}
.stat span{font-size:.76rem; color:var(--text-dim); letter-spacing:.03em;}

/* ---------- Section shell ---------- */
section{padding:90px 0;}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:52px; flex-wrap:wrap;}
.section-head .lede{margin-top:14px;}
.link-more{
  font-size:.82rem; color:var(--ink); border-bottom:1px solid var(--brass); padding-bottom:3px; white-space:nowrap;
}

/* ---------- Property cards (usados en la home para destacar 3 propiedades) ---------- */
.grid-props{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.prop-card{background:var(--white); border:1px solid var(--line-soft); transition:transform .3s ease, box-shadow .3s ease;}
.prop-card:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
.prop-media{display:block; position:relative; width:100%; aspect-ratio:4/3; overflow:hidden; background:var(--ink-soft);}
.prop-media img,.prop-media svg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.prop-placeholder{position:absolute; inset:0; background:linear-gradient(145deg,var(--ink-soft),var(--ink));}
.badge{
  position:absolute; top:14px; left:14px; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 12px; background:var(--white); color:var(--ink); font-weight:600;
}
.badge.reservado{background:var(--ink); color:var(--white);}
.prop-body{padding:22px 22px 24px;}
.prop-price{font-family:var(--ff-display); font-size:1.4rem; font-weight:600;}
.prop-title{font-family:var(--ff-body); font-size:.94rem; line-height:1.45; letter-spacing:0; margin-top:9px;}
.prop-title a:hover{text-decoration:underline; text-decoration-color:var(--brass); text-underline-offset:3px;}
.prop-addr{font-size:.85rem; color:var(--charcoal); margin-top:6px;}
.prop-loc{font-size:.74rem; color:var(--text-dim); margin-top:2px;}
.prop-meta{display:flex; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line-soft); font-size:.78rem; color:var(--charcoal);}
.prop-meta span{display:flex; align-items:center; gap:6px;}
.prop-cta{
  display:flex; justify-content:space-between; align-items:center; margin-top:18px; font-size:.78rem;
  color:var(--brass-dark); letter-spacing:.03em; font-weight:600;
}
.prop-cta::after{content:'→'; transition:transform .2s ease;}
.prop-card:hover .prop-cta::after{transform:translateX(4px);}

/* ---------- Archivo de propiedades propio del tema ---------- */
.properties-hero{min-height:48vh;}
.properties-hero-art{
  position:absolute; inset:0;
  background:
    linear-gradient(120deg,rgba(161,127,69,.17),transparent 48%),
    radial-gradient(circle at 78% 30%,rgba(201,168,119,.12),transparent 24%),
    var(--ink);
}
.properties-main{padding:0 0 96px;}
.properties-search{
  position:relative; z-index:5; margin-top:-56px; padding:26px 30px 30px;
  background:var(--white); box-shadow:var(--shadow); border:1px solid var(--line-soft);
}
.search-purpose{display:flex; gap:8px; border:0; margin:0 0 20px; padding:0;}
.search-purpose label{cursor:pointer;}
.search-purpose input{position:absolute; opacity:0; pointer-events:none;}
.search-purpose span{
  display:block; padding:8px 14px; border-bottom:2px solid transparent;
  color:var(--text-dim); font-size:.82rem; font-weight:500;
}
.search-purpose input:checked + span{color:var(--ink); border-color:var(--brass);}
.search-purpose input:focus-visible + span{outline:2px solid var(--brass); outline-offset:2px;}
.properties-toolbar{
  display:flex; justify-content:space-between; align-items:center; gap:20px;
  margin:52px 0 28px; padding-bottom:18px; border-bottom:1px solid var(--line);
}
.properties-toolbar p{font-size:.9rem; color:var(--charcoal);}
.properties-toolbar form{display:flex; align-items:center; gap:10px;}
.properties-toolbar label{font-size:.75rem; color:var(--text-dim);}
.properties-toolbar select{border:1px solid var(--line); background:var(--white); padding:9px 12px; font:inherit; font-size:.82rem;}
.properties-grid .prop-card{display:flex; flex-direction:column;}
.properties-grid .prop-body{display:flex; flex:1; flex-direction:column;}
.properties-grid .prop-cta{margin-top:auto; padding-top:18px;}
.properties-empty{text-align:center; padding:80px 24px; background:var(--paper-dim); border:1px solid var(--line);}
.properties-empty h2{margin-top:0;}
.properties-empty p{max-width:55ch; margin:16px auto 0; color:var(--charcoal); line-height:1.7;}
.properties-pagination{margin-top:56px;}
.properties-pagination .page-numbers{display:flex; justify-content:center; flex-wrap:wrap; gap:8px; list-style:none;}
.properties-pagination a,.properties-pagination span{
  min-width:42px; height:42px; display:flex; align-items:center; justify-content:center;
  padding:0 13px; border:1px solid var(--line); font-size:.82rem; background:var(--white);
}
.properties-pagination .current{background:var(--ink); color:var(--white); border-color:var(--ink);}
.properties-pagination a:hover{border-color:var(--brass);}

/* ---------- Nosotros split ---------- */
.about{background:var(--paper-dim);}
.about-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:70px; align-items:center;}
.about-media{aspect-ratio:3/4; position:relative; margin:14px;}
.about-media svg,.about-media img{width:100%; height:100%; object-fit:cover;}
.about-quote{
  position:absolute; left:-14px; bottom:-30px; background:var(--ink); color:var(--white);
  padding:22px 26px; max-width:260px; box-shadow:var(--shadow);
}
.about-quote p{font-family:var(--ff-display); font-style:italic; font-size:1.02rem; line-height:1.5;}
.about-quote span{display:block; margin-top:12px; font-size:.7rem; letter-spacing:.08em; color:var(--brass-light); text-transform:uppercase;}
.values{margin-top:28px; display:grid; gap:14px;}
.values li{display:flex; gap:14px; align-items:flex-start; font-size:.92rem; color:var(--charcoal);}
.values li::before{content:''; width:6px; height:6px; margin-top:8px; background:var(--brass); flex:none;}
.btn-outline{
  display:inline-block; margin-top:34px; border:1px solid var(--ink); padding:13px 28px; font-size:.82rem; letter-spacing:.03em;
  transition:background .2s ease, color .2s ease;
}
.btn-outline:hover{background:var(--ink); color:var(--white);}

/* ---------- Servicios / grid de 4 columnas reutilizable ---------- */
.grid-services{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line);}
.service{background:var(--paper); padding:38px 30px; transition:background .25s ease;}
.service:hover{background:var(--white);}
.service .icon{width:38px; height:38px; margin-bottom:22px;}
.service h3{font-size:1.08rem; font-weight:600;}
.service p{font-size:.85rem; color:var(--charcoal); margin-top:10px; line-height:1.6;}

/* ---------- Trust band ---------- */
.trust{background:var(--ink); color:var(--white);}
.trust .eyebrow{color:var(--brass-light);}
.trust .eyebrow::before{background:var(--brass-light);}
.trust h2{color:var(--white);}
.trust-grid{display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:50px; margin-top:50px; align-items:start;}
.quote-block blockquote{font-family:var(--ff-display); font-size:1.5rem; font-style:italic; line-height:1.45; color:var(--white);}
.quote-block cite{display:block; margin-top:18px; font-size:.76rem; letter-spacing:.06em; color:var(--brass-light); font-style:normal;}
.trust-col h4{font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brass-light); margin-bottom:14px;}
.trust-col p{font-size:.88rem; color:rgba(255,255,255,.72); line-height:1.7;}

/* ---------- Contacto ---------- */
.contact{background:var(--paper-dim);}
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px;}
.contact-info dl{display:grid; grid-template-columns:auto 1fr; gap:16px 18px; margin-top:30px;}
.contact-info dt{font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); padding-top:2px;}
.contact-info dd{font-size:.94rem; color:var(--ink);}
.contact-info a{border-bottom:1px solid var(--brass);}
.contact-form{background:var(--white); padding:36px; border:1px solid var(--line-soft);}
.contact-form .field{margin-bottom:18px;}
.contact-form textarea{
  border:1px solid var(--line); padding:12px; font-family:inherit; font-size:.88rem; resize:vertical; min-height:110px;
}
.contact-form .btn-search{width:100%; padding:15px;}
.form-note{font-size:.72rem; color:var(--text-dim); margin-top:12px; line-height:1.5;}
.map-frame{
  margin-top:60px; aspect-ratio:16/6; background:var(--ink-soft); position:relative; overflow:hidden;
}
.map-frame svg,.map-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.map-pin{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-100%); text-align:center; color:var(--white);
}
.map-pin span{display:block; font-size:.72rem; letter-spacing:.04em; margin-top:6px; background:var(--ink); padding:6px 12px;}

/* Reskin del formulario de Contact Form 7 para que combine con el diseño */
.contact-form .wpcf7-form p{margin-bottom:18px;}
.contact-form .wpcf7-form label{font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); display:block; margin-bottom:6px;}
.contact-form .wpcf7-form input:not([type=submit]),
.contact-form .wpcf7-form textarea{
  width:100%; border:1px solid var(--line); padding:12px; font-family:inherit; font-size:.88rem; background:var(--white); border-radius:1px;
}
.contact-form .wpcf7-form textarea{min-height:110px; resize:vertical;}
.contact-form .wpcf7-form input[type=submit]{
  background:var(--ink); color:var(--white); border:none; padding:13px 30px; font-size:.84rem; letter-spacing:.04em; width:100%; cursor:pointer;
}
.contact-form .wpcf7-form input[type=submit]:hover{background:var(--brass-dark);}
.contact-form .wpcf7-response-output{margin-top:16px; padding:12px 14px; border:1px solid var(--line); font-size:.82rem;}

/* ---------- Footer ---------- */
footer{background:var(--ink); color:rgba(255,255,255,.7); padding:60px 0 26px;}
.footer-top{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:50px; padding-bottom:40px; border-bottom:1px solid rgba(255,255,255,.12);}
.footer-logo strong{font-family:var(--ff-display); color:var(--white); font-size:1.2rem;}
.footer-logo p{font-size:.82rem; margin-top:14px; line-height:1.7; max-width:32ch;}
.footer-social{display:flex; gap:12px; margin-top:20px;}
.footer-social a{width:36px; height:36px; border:1px solid rgba(255,255,255,.25); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.footer-social a:hover{border-color:var(--brass-light); color:var(--brass-light);}
.footer-col h4{font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--brass-light); margin-bottom:16px;}
.footer-col li{margin-bottom:10px; font-size:.86rem;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:.76rem; flex-wrap:wrap; gap:10px;}
.footer-bottom a{color:var(--brass-light);}

/* ---------- WhatsApp float ---------- */
.wa-float{
  position:fixed; right:24px; bottom:24px; z-index:200; width:58px; height:58px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -8px rgba(0,0,0,.5);
  transition:transform .2s ease;
}
.wa-float:hover{transform:scale(1.08);}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:none;}

/* ---------- Mobile menu ---------- */
.mobile-nav{
  position:fixed; inset:0 0 0 auto; width:min(320px,84vw); background:var(--ink); z-index:150;
  transform:translateX(100%); transition:transform .35s ease; padding:100px 32px 32px; overflow-y:auto;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav ul{display:flex; flex-direction:column; gap:26px;}
.mobile-nav a{color:var(--white); font-size:1.05rem; display:inline-block;}
.mobile-nav li.current-menu-item > a{color:var(--brass-light);}
.scrim-menu{position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:140; opacity:0; pointer-events:none; transition:opacity .3s ease;}
.scrim-menu.open{opacity:1; pointer-events:auto;}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
  .slide{transition:opacity .2s linear;}
}

/* =========================================================
   Reskin del plugin WP Real Estate (no se tocan sus plantillas
   PHP, solo se sobrescribe el CSS para que combine con el resto
   del sitio). Selectores tomados del HTML real del sitio actual.
   ========================================================= */

/* Buscador de propiedades (archivo de listados) */
.wre-search-form{
  display:flex; flex-wrap:wrap; gap:16px; align-items:flex-end; background:var(--white);
  box-shadow:var(--shadow); padding:26px 30px; border-radius:2px; margin:40px 0;
}
.wre-search-form .form-group{display:flex; flex-wrap:wrap; gap:16px; flex:1 1 auto;}
.wre-search-form select,
.wre-search-form input[type="text"]{
  border:1px solid var(--line); padding:12px; font-family:inherit; font-size:.88rem; color:var(--ink);
  background:var(--white); border-radius:1px; min-width:160px;
}
.wre-search-form select:focus,
.wre-search-form input[type="text"]:focus{border-color:var(--brass);}
.wre-search-form .search-text-wrap{flex:1 1 220px;}
.wre-search-form input.search-button{
  background:var(--ink); color:var(--white); border:none; padding:13px 30px; font-size:.84rem;
  letter-spacing:.04em; cursor:pointer; transition:background .2s ease;
}
.wre-search-form input.search-button:hover{background:var(--brass-dark);}

.wre-ordering{margin:0 0 30px; display:flex; justify-content:flex-end;}
.wre-ordering select{border:1px solid var(--line); padding:10px 12px; font-family:inherit; font-size:.84rem; background:var(--white);}

/* Grilla de propiedades */
ul.wre-items.grid-view{
  display:grid; grid-template-columns:repeat(3,1fr); gap:30px; list-style:none;
}
ul.wre-items li.listing{
  background:var(--white); border:1px solid var(--line-soft); transition:transform .3s ease, box-shadow .3s ease;
}
ul.wre-items li.listing:hover{transform:translateY(-6px); box-shadow:var(--shadow);}
ul.wre-items .inner-container{height:100%;}
ul.wre-items .image{position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--ink-soft);}
ul.wre-items .image img{width:100%; height:100%; object-fit:cover;}
ul.wre-items .image .status{
  position:absolute; top:14px; left:14px; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 12px; background:var(--white); color:var(--ink); font-weight:600; display:flex; align-items:center; gap:6px;
}
ul.wre-items .image .status.reservado{background:var(--ink); color:var(--white);}
ul.wre-items .summary{padding:22px;}
ul.wre-items .title.entry-title{font-family:var(--ff-display); font-size:1.05rem; font-weight:600; margin:0 0 8px;}
ul.wre-items .price{font-family:var(--ff-display); font-size:1.4rem; font-weight:600; color:var(--ink);}
ul.wre-items .address{font-size:.85rem; color:var(--charcoal); margin-top:6px;}
ul.wre-items .glance{display:flex; gap:16px; margin-top:16px; padding-top:16px; border-top:1px solid var(--line-soft); font-size:.78rem; color:var(--charcoal);}
ul.wre-items .glance > div{display:flex; align-items:center; gap:6px;}
ul.wre-items .description{font-size:.82rem; color:var(--text-dim); margin-top:12px; line-height:1.6;}
ul.wre-items .compare-wrapper{margin-top:14px; font-size:.72rem; color:var(--brass-dark);}

/* Paginación */
.wre-pagination{margin-top:60px;}
.wre-pagination ul.page-numbers{display:flex; align-items:center; justify-content:center; gap:10px; list-style:none;}
.wre-pagination .page-numbers{
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  font-size:.84rem; border:1px solid var(--line); color:var(--charcoal);
}
.wre-pagination a.page-numbers:hover{border-color:var(--brass); color:var(--ink);}
.wre-pagination .page-numbers.current{background:var(--ink); color:var(--white); border-color:var(--ink);}
.wre-pagination .next{width:auto; padding:0 16px;}

/* Ficha individual de propiedad */
.single-listing section{padding-top:135px!important;}
.single-listing section > .wrap,
.single-listing article.listing,
.single-listing article.listing .container,
.single-listing article.listing .main-content,
.single-listing .wre-single{
  display:flow-root;
  width:100%;
  max-width:none;
}
.single-listing section > .wrap{max-width:1100px;}
.single-listing article.listing{margin-bottom:0!important;}
.single-listing article.listing > h1{
  max-width:38ch; margin:0 0 20px; font-size:clamp(1.55rem,2.35vw,2.05rem); line-height:1.08;
}
.single-listing .wre-single .main-wrap{
  float:none!important; width:100%!important; margin-right:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);
  grid-template-areas:
    "gallery summary"
    "gallery content";
  column-gap:30px;
  align-items:start;
}
.single-listing .wre-single .image-gallery{
  grid-area:gallery; width:100%; min-width:0;
}
.single-listing .wre-single .summary{
  grid-area:summary; width:100%; min-width:0;
}
.single-listing .wre-single .content{
  grid-area:content; display:block!important; width:100%; min-width:0;
}
.single-listing footer{clear:both;}
.wre-single.listing .summary{padding:4px 0 10px;}
.wre-single .title.entry-title{font-family:var(--ff-display); font-size:clamp(1.6rem,3vw,2.2rem);}
.wre-single .price{font-family:var(--ff-display); font-size:1.45rem; color:var(--brass-dark); margin-top:4px;}
.wre-single .address{font-size:.9rem; color:var(--charcoal); margin-top:6px;}
.wre-single .glance{display:flex; gap:18px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line);}
.wre-single .glance > div{display:flex; align-items:center; gap:6px; font-size:.82rem; color:var(--charcoal);}
.wre-single .content{padding:18px 0 0; border-top:1px solid var(--line); margin-top:12px;}
.wre-single .tagline{font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--brass); margin-bottom:14px;}
.wre-single .description p{font-size:.9rem; color:var(--charcoal); line-height:1.55; margin-bottom:7px;}
.wre-single .lSSlideOuter{border:1px solid var(--line-soft);}
.single-listing .image-gallery .lSSlideWrapper,
.single-listing .image-gallery ul.lightSlider,
.single-listing .image-gallery ul.lightSlider > li{
  height:clamp(310px,31vw,390px)!important;
}
.single-listing .image-gallery ul.lightSlider > li img{
  display:block; width:100%!important; height:100%!important; object-fit:cover;
}
.single-listing .image-gallery .lSPager.lSGallery li,
.single-listing .image-gallery .lSPager.lSGallery li a,
.single-listing .image-gallery .lSPager.lSGallery li img{
  height:62px!important;
}
.single-listing .image-gallery .lSPager.lSGallery li img{
  width:100%!important; object-fit:cover;
}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .about-grid{grid-template-columns:1fr; gap:56px;}
  .about-media{max-width:420px; margin:14px auto 60px;}
  .trust-grid{grid-template-columns:1fr; gap:40px;}
  .grid-services{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr; gap:50px;}
  ul.wre-items.grid-view{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  nav.primary{display:none;}
  .burger{display:block;}
  .header-cta span.label{display:none;}
  .header-cta{
    width:42px; height:42px; padding:0; justify-content:center; border-radius:50%;
  }
  .header-wa-icon{width:22px; height:22px; flex-basis:22px;}
  .search-grid,.search-grid.wide{grid-template-columns:1fr 1fr;}
  .btn-search{grid-column:1/-1;}
  .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:34px;}
  .grid-props{grid-template-columns:1fr; gap:24px;}
  .grid-services{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr; gap:36px;}
  section{padding:64px 0;}
  .hero-inner{padding-top:150px; padding-bottom:120px;}
  .slide-arrows{display:none;}
  ul.wre-items.grid-view{grid-template-columns:1fr;}
  .wre-search-form{flex-direction:column; align-items:stretch;}
  .properties-search{padding:22px;}
  .properties-toolbar{align-items:flex-start; flex-direction:column;}
  .single-listing section{padding-top:125px!important;}
  .single-listing article.listing > h1{
    max-width:none; margin-bottom:18px; font-size:clamp(1.45rem,7vw,2rem);
  }
  .single-listing .wre-single .main-wrap{display:block!important;}
  .single-listing .image-gallery .lSSlideWrapper,
  .single-listing .image-gallery ul.lightSlider,
  .single-listing .image-gallery ul.lightSlider > li{
    height:clamp(250px,68vw,360px)!important;
  }
  .wre-single.listing .summary{padding:18px 0 8px;}
  .wre-single .content{padding-top:18px; margin-top:8px;}
}
@media (max-width:520px){
  .wrap{padding:0 20px;}
  .search-card.floating{padding:20px 18px; margin-top:-46px;}
  .search-grid,.search-grid.wide{grid-template-columns:1fr;}
  .search-tabs{overflow-x:auto;}
  .hero h1{font-size:2.1rem;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .footer-bottom{flex-direction:column;}
  .slide-dots{right:16px; bottom:200px;}
  .page-hero-inner{padding:150px 0 50px;}
  .properties-hero{min-height:50vh;}
  .properties-main{padding-bottom:64px;}
  .properties-search{margin-top:-34px; padding:18px;}
  .properties-toolbar form{width:100%; flex-direction:column; align-items:stretch;}
}
