/* ==========================================================================
   Propietarios Vendiendo — Theme 2026
   Basado en propuesta index_prueba.html + adaptación Bootstrap 4.6
   Paleta: --primary #0A2540 / --gold #C9A961 / --bg #FAFAF7
   Tipografías: Fraunces (títulos) + Inter (body/tablas)
   ========================================================================== */

:root{
  --primary:#0A2540;
  --primary-dark:#061A33;
  --primary-light:#1E3A5F;
  --gold:#C9A961;
  --gold-dark:#A88A48;
  --accent:#2E5BFA;
  --bg:#FAFAF7;
  --bg-alt:#F1EFE9;
  --white:#FFFFFF;
  --text:#1A1A1A;
  --text-muted:#6B7280;
  --text-light:#9CA3AF;
  --border:#E5E7EB;
  --border-dark:#D1D5DB;
  --success:#059669;
  --shadow-sm:0 1px 2px rgba(10,37,64,.04);
  --shadow:0 4px 20px rgba(10,37,64,.06);
  --shadow-lg:0 20px 40px rgba(10,37,64,.1);
  --shadow-xl:0 30px 60px rgba(10,37,64,.15);
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
  --transition:all .35s cubic-bezier(.4,0,.2,1);
}

/* Base */
*{font-variant-ligatures:common-ligatures}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
  color:var(--text);
  background:var(--bg);
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:'Fraunces',serif !important; font-weight:500; line-height:1.2; letter-spacing:-.02em; color:var(--primary)}
h1 em, h2 em{font-style:italic; color:var(--gold); font-weight:400}
a{transition:var(--transition)}

/* Bootstrap overrides */
.btn{font-family:'Inter',sans-serif; font-weight:600; letter-spacing:-.01em; border-radius:100px; padding:10px 22px; transition:var(--transition)}
.btn-primary{background:var(--primary) !important; border-color:var(--primary) !important; color:var(--white) !important}
.btn-primary:hover{background:var(--primary-dark) !important; border-color:var(--primary-dark) !important; transform:translateY(-2px); box-shadow:var(--shadow-lg)}
.btn-success{background:var(--gold) !important; border-color:var(--gold) !important; color:var(--primary) !important}
.btn-success:hover{background:var(--gold-dark) !important; border-color:var(--gold-dark) !important; color:var(--white) !important; transform:translateY(-2px)}
.btn-outline-primary{color:var(--primary) !important; border-color:var(--primary) !important; background:transparent !important}
.btn-outline-primary:hover{background:var(--primary) !important; color:var(--white) !important}
.btn-outline-dark{color:var(--primary) !important; border-color:rgba(10,37,64,.15) !important}
.btn-outline-dark:hover{background:var(--primary) !important; color:var(--white) !important; border-color:var(--primary) !important}
.btn-gold{background:var(--gold); color:var(--primary); border:none}
.btn-gold:hover{background:var(--gold-dark); color:var(--white); transform:translateY(-2px); box-shadow:var(--shadow-lg)}
.card{border:1px solid var(--border) !important; border-radius:var(--radius-lg) !important; overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition)}
.card:hover{box-shadow:var(--shadow)}
.badge-light{background:var(--bg-alt) !important; color:var(--primary) !important; border:1px solid var(--border); font-weight:600; border-radius:100px; padding:5px 10px}
.badge-primary{background:var(--primary) !important}
.form-control, .custom-select{border-radius:10px !important; border:1.5px solid var(--border) !important; font-family:'Inter',sans-serif; font-size:15px; transition:var(--transition)}
.form-control:focus, .custom-select:focus{border-color:var(--gold) !important; box-shadow:0 0 0 3px rgba(201,169,97,.15) !important}
.alert{border-radius:var(--radius) !important; border:none; box-shadow:var(--shadow-sm)}
.table{font-family:'Inter',sans-serif; font-variant-numeric:tabular-nums; font-size:14px; color:var(--text); background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm)}
.table thead th{font-family:'Inter',sans-serif; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.8); background:var(--primary); border:none; padding:14px 12px; white-space:nowrap}
.table tbody td{vertical-align:middle; padding:12px; border-top:1px solid var(--border)}
.table-striped tbody tr:nth-of-type(odd){background:var(--bg)}
.table a{color:var(--primary); font-weight:500}
.table a:hover{color:var(--gold)}
.rounded{border-radius:var(--radius-sm) !important}
.rounded-lg{border-radius:var(--radius) !important}

/* Navbar — adaptación BS4 de index_prueba .nav */
.navbar{background:rgba(255,255,255,.92) !important; backdrop-filter:saturate(180%) blur(16px); -webkit-backdrop-filter:saturate(180%) blur(16px); box-shadow:0 1px 0 rgba(10,37,64,.06) !important; padding:14px 1rem !important; transition:var(--transition)}
.navbar.scrolled{box-shadow:0 4px 24px rgba(10,37,64,.08) !important}
.navbar-brand{font-family:'Fraunces',serif; font-weight:600; font-size:22px; color:var(--primary) !important; letter-spacing:-.02em; display:flex; align-items:center; gap:10px}
.navbar-brand span{color:var(--gold); font-style:italic}
.logo-mark{width:38px; height:38px; background:var(--primary); border-radius:10px; display:inline-flex; align-items:center; justify-content:center; color:var(--gold); position:relative; overflow:hidden; flex-shrink:0}
.logo-mark::before{content:""; position:absolute; inset:0; background:linear-gradient(135deg,transparent 40%,rgba(201,169,97,.2) 50%,transparent 60%)}
.nav-link{font-family:'Inter',sans-serif; font-size:14.5px; font-weight:500; color:var(--text) !important; position:relative; margin-left:8px}
.nav-link::after{content:""; position:absolute; left:8px; right:8px; bottom:4px; height:1.5px; background:var(--gold); transform:scaleX(0); transition:transform .3s}
.nav-link:hover::after{transform:scaleX(1)}
.dropdown-menu{border-radius:var(--radius) !important; border:1px solid var(--border) !important; box-shadow:var(--shadow-lg) !important; padding:8px; margin-top:8px}
.dropdown-item{border-radius:8px; font-size:14.5px; padding:10px 12px; font-family:'Inter',sans-serif}
.dropdown-item:hover{background:var(--bg-alt); color:var(--primary)}
.btn-publicar{background:var(--gold) !important; color:var(--primary) !important; border-radius:100px !important; padding:8px 22px !important; font-weight:700 !important; border:none !important}
.btn-publicar:hover{background:var(--gold-dark) !important; color:var(--white) !important; transform:translateY(-2px); box-shadow:var(--shadow)}

/* Hero — adaptación BS4 */
.hero-section{position:relative; overflow:hidden; background:linear-gradient(180deg,var(--bg) 0%,var(--bg-alt) 100%); padding:140px 0 80px; border-bottom:1px solid var(--border)}
.hero-section::before{content:""; position:absolute; top:10%; right:-150px; width:500px; height:500px; background:radial-gradient(circle,rgba(201,169,97,.12) 0%,transparent 70%); pointer-events:none}
.hero-grid{display:grid; grid-template-columns:1.08fr 1fr; gap:60px; align-items:center}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr; gap:40px}}
.hero-badge{display:inline-flex; align-items:center; gap:8px; padding:7px 14px; background:var(--white); border:1px solid var(--border); border-radius:100px; font-size:13px; font-weight:500; color:var(--text-muted); margin-bottom:20px; box-shadow:var(--shadow-sm)}
.hero-badge-dot{width:6px; height:6px; background:var(--success); border-radius:50%; box-shadow:0 0 0 4px rgba(5,150,105,.15)}
.hero-title{font-size:clamp(36px,5vw,56px); line-height:1.05; letter-spacing:-.03em; margin-bottom:18px}
.hero-title em{position:relative}
.hero-title em::after{content:""; position:absolute; left:0; right:0; bottom:2px; height:8px; background:rgba(201,169,97,.2); border-radius:4px; z-index:-1}
.hero-sub{font-size:17px; color:var(--text-muted); line-height:1.7; max-width:560px; margin-bottom:28px}
.hero-ctas{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px}
.trust-row{display:flex; flex-wrap:wrap; gap:20px}
.trust-item{display:flex; align-items:center; gap:8px; font-size:13.5px; font-weight:500; color:var(--text-muted)}
.trust-item i{color:var(--gold)}
.search-overlay-card{background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:14px; box-shadow:var(--shadow-lg); display:grid; grid-template-columns:1.2fr 1fr 1fr auto; gap:0; align-items:center; margin-top:32px}
@media(max-width:960px){.search-overlay-card{grid-template-columns:1fr; padding:16px}}
.search-field{padding:8px 18px; border-right:1px solid var(--border); min-height:60px; display:flex; flex-direction:column; justify-content:center}
.search-field:last-of-type{border-right:none}
@media(max-width:960px){.search-field{border-right:none; border-bottom:1px solid var(--border); padding:12px 4px} .search-field:last-of-type{border-bottom:none}}
.search-field label{font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted); margin-bottom:4px}

/* Cards propiedad — reemplazo de .propiedad-card */
.p-card{background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; transition:var(--transition); height:100%}
.p-card:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg)}
.p-img{position:relative; aspect-ratio:4/3; overflow:hidden; background:linear-gradient(135deg,#1E3A5F 0%,#0A2540 100%)}
.p-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.4,0,.2,1)}
.p-card:hover .p-img img{transform:scale(1.06)}
.p-badge{position:absolute; top:12px; left:12px; padding:5px 11px; border-radius:100px; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.96); color:var(--primary); backdrop-filter:blur(8px)}
.p-badge.sale{background:var(--primary); color:var(--white)}
.p-badge.rent{background:var(--gold); color:var(--primary)}
.p-price-tag{position:absolute; bottom:12px; left:12px; background:rgba(10,37,64,.82); backdrop-filter:blur(8px); color:var(--white); padding:6px 12px; border-radius:100px; font-family:'Fraunces',serif; font-size:15px; font-weight:600}
.p-body{padding:18px}
.p-location{font-size:13px; color:var(--text-muted); display:flex; align-items:center; gap:5px; margin-bottom:6px}
.p-card h3,.p-card h6{font-family:'Fraunces',serif; font-size:18px; font-weight:500; line-height:1.3; margin-bottom:10px}
.p-features{display:flex; gap:14px; font-size:13px; color:var(--text-muted); padding-top:12px; border-top:1px solid var(--border); margin-bottom:12px}
.p-features span{display:flex; align-items:center; gap:4px}
.p-foot{display:flex; justify-content:space-between; align-items:center; gap:10px}

/* Sections genéricas */
.section{padding:80px 0}
@media(max-width:768px){.section{padding:56px 0}}
.section-head{text-align:center; max-width:720px; margin:0 auto 48px}
.eyebrow{display:inline-block; font-family:'Inter',sans-serif; font-size:11px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-bottom:16px; padding:6px 14px; background:rgba(201,169,97,.1); border-radius:100px}
.section-title{font-size:clamp(28px,4vw,44px); margin-bottom:14px}
.section-sub{font-size:17px; color:var(--text-muted); line-height:1.7}
.steps-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px}
@media(max-width:768px){.steps-grid{grid-template-columns:1fr}}
.step{padding:28px; background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); transition:var(--transition)}
.step:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg)}
.step-num{font-family:'Fraunces',serif; font-size:13px; font-weight:600; color:var(--gold); letter-spacing:.1em; margin-bottom:18px; display:flex; align-items:center; gap:10px}
.step-num::after{content:""; flex:1; height:1px; background:linear-gradient(to right,var(--gold),transparent)}
.step-icon{width:48px; height:48px; border-radius:12px; background:rgba(10,37,64,.06); display:flex; align-items:center; justify-content:center; color:var(--primary); margin-bottom:18px}
.stats-band{background:var(--primary); color:var(--white); padding:60px 0; position:relative; overflow:hidden}
.stats-band::before{content:""; position:absolute; top:0; left:50%; width:500px; height:500px; background:radial-gradient(circle,rgba(201,169,97,.12) 0%,transparent 70%); transform:translateX(-50%)}
.stat-block{text-align:center}
.stat-block h3{font-family:'Fraunces',serif; font-size:42px; font-weight:500; color:var(--gold); line-height:1; margin-bottom:8px}
.stat-block p{color:rgba(255,255,255,.7); font-size:13px; font-weight:500}
.features-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px}
@media(max-width:560px){.features-grid{grid-template-columns:1fr}}
.f-card{padding:22px; border-radius:var(--radius-lg); background:var(--bg); border:1px solid var(--border); transition:var(--transition)}
.f-card:hover{border-color:var(--gold); transform:translateY(-3px)}
.f-card-icon{width:42px; height:42px; border-radius:10px; background:var(--primary); color:var(--gold); display:flex; align-items:center; justify-content:center; margin-bottom:14px}
.faq-item{border-bottom:1px solid var(--border); padding:18px 0}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-q{display:flex; justify-content:space-between; align-items:center; gap:16px; cursor:pointer; width:100%; text-align:left; background:none; border:none; padding:0}
.faq-q h3{font-size:18px; flex:1; margin:0; transition:var(--transition)}
.faq-q:hover h3{color:var(--gold)}
.faq-icon{flex-shrink:0; width:34px; height:34px; border-radius:50%; border:1.5px solid var(--border); display:flex; align-items:center; justify-content:center; transition:var(--transition)}
.faq-item.active .faq-icon{background:var(--primary); border-color:var(--primary); color:var(--gold); transform:rotate(45deg)}
.faq-a{max-height:0; overflow:hidden; transition:max-height .4s ease, padding .3s}
.faq-item.active .faq-a{max-height:400px; padding-top:12px}
.faq-a p{color:var(--text-muted); font-size:15px; line-height:1.7}
.cta-card{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%); border-radius:24px; padding:56px 40px; text-align:center; color:var(--white); position:relative; overflow:hidden}
.cta-card::before{content:""; position:absolute; top:-50%; right:-20%; width:500px; height:500px; background:radial-gradient(circle,rgba(201,169,97,.18) 0%,transparent 70%)}
.cta-card h2{color:var(--white); font-size:clamp(28px,4vw,42px)}
.cta-card h2 em{color:var(--gold)}
.cta-card p{color:rgba(255,255,255,.8); font-size:17px}
.footer-modern{background:var(--primary-dark) !important; color:rgba(255,255,255,.7) !important}
.footer-modern h5{font-family:'Fraunces',serif; color:var(--white); font-weight:500}
.footer-modern a{color:rgba(255,255,255,.7); transition:var(--transition)}
.footer-modern a:hover{color:var(--gold) !important; padding-left:3px}
.whatsapp-float{position:fixed; bottom:20px; right:20px; background:#25d366; color:var(--white); padding:12px 18px; border-radius:100px; display:flex; align-items:center; gap:10px; font-weight:600; font-size:14px; box-shadow:var(--shadow-lg); z-index:999; text-decoration:none}
.whatsapp-float:hover{background:#128c7e; color:var(--white); transform:translateY(-2px)}
.reveal{opacity:0; transform:translateY(20px); transition:opacity .7s cubic-bezier(.4,0,.2,1), transform .7s cubic-bezier(.4,0,.2,1)}
.reveal.visible{opacity:1; transform:translateY(0)}
/* Detail page */
.detail-gallery{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); background:var(--white); border:1px solid var(--border)}
.detail-gallery .carousel-item img{height:460px; object-fit:cover}
@media(max-width:768px){.detail-gallery .carousel-item img{height:320px}}
.detail-sticky{position:sticky; top:90px}
.spec-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media(max-width:768px){.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.spec-grid{grid-template-columns:1fr}}
.spec-card{padding:18px; border-radius:var(--radius); background:var(--white); border:1px solid var(--border); text-align:center; transition:var(--transition)}
.spec-card:hover{border-color:var(--gold); transform:translateY(-3px); box-shadow:var(--shadow)}
.spec-card small{font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-muted)}
.spec-card strong{font-family:'Fraunces',serif; font-size:22px; color:var(--primary); display:block; margin-top:4px}
.amenity-cloud{display:flex; flex-wrap:wrap; gap:8px}
.amenity-pill{display:inline-flex; align-items:center; gap:6px; padding:7px 12px; border-radius:100px; background:var(--white); border:1px solid var(--border); font-size:13px; font-weight:500; color:var(--text)}
.amenity-pill i{color:var(--gold)}
.map-card{border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow); background:var(--white)}
.map-card iframe{display:block; border:0}
.price-hero{font-family:'Fraunces',serif; font-size:32px; font-weight:600; color:var(--primary); line-height:1}
.price-hero small{font-family:'Inter',sans-serif; font-size:13px; font-weight:400; color:var(--text-muted)}
/* Compat: limpia clears legacy pero los respeta */
.clear_1{clear:both; padding-top:15px}
.clear_2{clear:both; padding-top:30px}
.fondo-buscador{background:var(--primary) !important}
.jumbotron{background:var(--primary) !important; border-radius:var(--radius-lg) !important}
