/* ============ RENTABILITY · INTERIOR PAGES ============ */

/* ---- PAGE HERO (interior) ---- */
.page-hero{position:relative;padding:170px 0 90px;overflow:hidden;background:var(--night);}
.ph-bg{position:absolute;inset:0;z-index:0;}
.ph-img{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover;opacity:.9;will-change:transform;animation:kbslow 24s ease-in-out infinite alternate;}
@keyframes kbslow{0%{transform:scale(1.06) translate(0,0);}100%{transform:scale(1.16) translate(-2%,-1.5%);}}
.ph-ov{position:absolute;inset:0;background:linear-gradient(105deg,rgba(10,8,24,.95) 0%,rgba(20,16,42,.8) 45%,rgba(83,43,131,.45) 80%,rgba(187,31,125,.25) 100%);}
.ph-mesh{position:absolute;inset:-20%;background:radial-gradient(40% 50% at 85% 25%,rgba(187,31,125,.4),transparent 60%),radial-gradient(36% 44% at 8% 80%,rgba(83,43,131,.4),transparent 60%);filter:blur(8px);mix-blend-mode:screen;animation:meshmove 18s ease-in-out infinite alternate;}
.ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 90% 80% at 35% 50%,black,transparent 75%);}
.ph-vig{position:absolute;inset:0;box-shadow:inset 0 0 180px 40px rgba(6,5,16,.7);pointer-events:none;}
.page-hero .container{position:relative;z-index:2;}
.page-hero h1{color:#fff;margin-bottom:16px;font-size:clamp(2.4rem,5vw,4.2rem);text-shadow:0 6px 36px rgba(0,0,0,.45);}
.page-hero h1 em{font-style:normal;background:var(--g2);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.page-hero p{color:rgba(255,255,255,.78);font-size:1.12rem;max-width:60ch;line-height:1.8;}
.breadcrumb{display:flex;gap:9px;align-items:center;font-size:.8rem;color:rgba(255,255,255,.5);margin-bottom:20px;}
.breadcrumb a{color:rgba(255,255,255,.55);transition:color .2s;}
.breadcrumb a:hover{color:#fff;}
.bcsep{opacity:.4;}

/* ---- FORM FIELDS ---- */
label{display:block;font-size:.78rem;font-weight:700;color:var(--dk);margin-bottom:8px;letter-spacing:.01em;}
input,select,textarea{width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;font-family:'Open Sans',sans-serif;font-size:.92rem;color:var(--dk);background:#fff;transition:all .25s var(--ease);outline:none;}
input::placeholder,textarea::placeholder{color:#b3b1c4;}
input:focus,select:focus,textarea:focus{border-color:var(--p);box-shadow:0 0 0 4px rgba(187,31,125,.1);}
textarea{resize:vertical;}
.fg{margin-bottom:18px;}

/* ---- FILTERS (catálogo) ---- */
.filters{background:#fff;border:1px solid var(--line);border-radius:var(--rl);padding:28px;box-shadow:var(--sh);margin-bottom:36px;}
.filters-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:20px;}
.fbtns{display:flex;gap:12px;flex-wrap:wrap;}
.result-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;flex-wrap:wrap;gap:14px;}
.result-bar span{font-size:.9rem;color:var(--muted);}
.result-bar select{width:auto;}
.bsm{padding:11px 16px;font-size:.8rem;}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;}
.pagination a,.pagination span{padding:10px 16px;border:1px solid var(--line);border-radius:11px;font-size:.84rem;font-weight:700;color:var(--dk);transition:all .25s var(--ease);}
.pagination a:hover{border-color:var(--p);color:var(--p);}
.pagination a.act{background:var(--g);color:#fff;border-color:transparent;box-shadow:0 6px 18px rgba(187,31,125,.35);}
.pagination span{cursor:default;}
.pagination .disabled{color:#b8b5c8;background:#f7f6fb;}
.pagination .dots{border-color:transparent;padding-left:8px;padding-right:8px;}
.brsv{background:rgba(74,222,128,.12);color:#16a34a;}

/* ---- TWO-COLUMN GENERIC ---- */
.tc{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.tc-3{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start;}
.tc img{width:100%;border-radius:var(--rl);box-shadow:var(--shlg);}
.stat-row{display:flex;gap:36px;margin-top:34px;flex-wrap:wrap;}
.stat-row .num{font-family:'Roboto',sans-serif;font-size:2.5rem;font-weight:900;color:var(--p);line-height:1;}
.stat-row .lbl{font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-top:4px;}

/* ---- VALUE CARDS ---- */
.val-card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--rl);padding:28px;box-shadow:0 4px 18px rgba(43,40,74,.05);transition:all .4s var(--ease);}
.val-card:hover{transform:translateY(-6px);box-shadow:var(--shlg);}
.val-ico{width:56px;height:56px;border-radius:15px;flex-shrink:0;background:var(--g);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(187,31,125,.3);}
.val-ico svg{width:26px;height:26px;stroke:#fff;}

/* ---- TEAM ---- */
.team-avatar{width:84px;height:84px;border-radius:50%;background:var(--g);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:1.5rem;font-family:'Roboto',sans-serif;margin:0 auto 18px;box-shadow:0 12px 30px rgba(187,31,125,.32);transition:transform .5s var(--bounce);}
.card:hover .team-avatar{transform:scale(1.08) rotate(-4deg);}
.role{font-size:.8rem;color:var(--p);font-weight:800;margin-bottom:10px;}

/* ---- TIMELINE (cómo funciona) ---- */
.timeline{position:relative;padding-left:8px;}
.tl-step{display:flex;gap:24px;position:relative;padding-bottom:38px;}
.tl-step::before{content:'';position:absolute;left:23px;top:52px;bottom:-4px;width:2px;background:linear-gradient(var(--p),rgba(187,31,125,.1));}
.tl-step:last-child::before{display:none;}
.tl-num{width:48px;height:48px;border-radius:50%;background:var(--g);color:#fff;font-family:'Roboto',sans-serif;font-weight:900;font-size:1.15rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 8px 22px rgba(187,31,125,.35);z-index:1;transition:transform .5s var(--bounce);}
.tl-step:hover .tl-num{transform:scale(1.12);}
.tl-cont h3{margin-bottom:8px;font-size:1.25rem;}
.timeline-card{background:#fff;border:1px solid var(--line);border-radius:var(--rl);padding:30px;box-shadow:var(--sh);}
.tl-row{display:flex;justify-content:space-between;align-items:center;padding:13px 16px;background:#f4f2fa;border-radius:12px;margin-bottom:10px;}
.tl-row span:first-child{font-size:.88rem;font-weight:600;color:var(--dk);}
.tl-pill{background:rgba(187,31,125,.1);color:var(--p);padding:5px 13px;border-radius:99px;font-size:.72rem;font-weight:800;white-space:nowrap;}
.tl-row.total{background:var(--g);}
.tl-row.total span:first-child{color:#fff;font-weight:800;}
.tl-row.total .tl-pill{background:rgba(255,255,255,.22);color:#fff;}

/* ---- COMPARISON ---- */
.comp{border-radius:var(--rl);padding:38px 32px;}
.comp-old{background:#fff;border:1px solid var(--line);box-shadow:0 4px 18px rgba(43,40,74,.05);}
.comp-new{background:linear-gradient(170deg,#1a1430,#2B284A 70%,#3a2058);color:#fff;box-shadow:var(--shlg);}
.comp h3{margin-bottom:24px;}
.comp-new h3{color:#fff;}
.comp-row{display:flex;gap:13px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);font-size:.92rem;color:#3a384e;}
.comp-new .comp-row{border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.85);}
.comp-row:last-child{border-bottom:none;}
.comp-row .ci{width:22px;height:22px;flex-shrink:0;}
.comp-old .ci{color:#e2536b;}
.comp-new .ci{color:#4ade80;}

/* ---- FAQ ACCORDION ---- */
.faq-wrap{max-width:820px;margin:0 auto;}
.faq-cat{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.13em;color:var(--p);margin:46px 0 18px;display:flex;align-items:center;gap:10px;}
.faq-cat:first-child{margin-top:0;}
.acc-item{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:14px;overflow:hidden;transition:box-shadow .3s,border-color .3s;}
.acc-item.open{box-shadow:var(--sh);border-color:rgba(187,31,125,.3);}
.acc-hdr{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 26px;cursor:pointer;}
.acc-hdr h3{font-size:1.05rem;margin:0;transition:color .25s;}
.acc-item.open .acc-hdr h3{color:var(--p);}
.acc-ico{width:30px;height:30px;flex-shrink:0;border-radius:50%;background:rgba(187,31,125,.1);color:var(--p);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:400;transition:transform .35s var(--ease),background .3s;}
.acc-item.open .acc-ico{transform:rotate(45deg);background:var(--g);color:#fff;}
.acc-body{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.acc-inner{padding:0 26px 24px;color:var(--muted);line-height:1.8;font-size:.95rem;}
.faq-cta{background:linear-gradient(135deg,rgba(83,43,131,.07),rgba(187,31,125,.07));border:1px solid rgba(187,31,125,.18);border-radius:var(--rl);padding:36px;text-align:center;margin-top:44px;}

/* ---- CONTACT ---- */
.ci-item{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px;}
.ci-ico{width:50px;height:50px;border-radius:14px;flex-shrink:0;background:rgba(187,31,125,.09);display:flex;align-items:center;justify-content:center;transition:all .35s var(--bounce);}
.ci-ico svg{width:23px;height:23px;stroke:var(--p);}
.ci-item:hover .ci-ico{background:var(--g);}
.ci-item:hover .ci-ico svg{stroke:#fff;}
.ci-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700;margin-bottom:3px;}
.ci-val{font-weight:700;color:var(--dk);font-size:.96rem;line-height:1.5;}
.contact-note{margin-top:24px;padding:22px 24px;background:rgba(187,31,125,.06);border:1px solid rgba(187,31,125,.16);border-radius:var(--rl);}
.contact-note h4{margin-bottom:6px;}
.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.contact-status{min-height:1.4em;margin:14px 0 0;font-size:.9rem;font-weight:700;text-align:center;}
.contact-status.is-success{color:#15803d;}
.contact-status.is-error{color:#b91c1c;}
#contact-form button[disabled]{cursor:wait;opacity:.72;}

/* ---- PROPERTY DETAIL ---- */
.det-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:start;}
.gallery{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:36px;}
.gallery .g-main{grid-row:span 2;border-radius:var(--rl);overflow:hidden;height:430px;}
.gallery .g-sub{border-radius:16px;overflow:hidden;height:209px;}
.gallery img,.gallery video{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}
.gallery video{background:#08061a;}
.gallery .g-cell:hover img,.gallery .g-cell:hover video{transform:scale(1.07);}
.g-cell{overflow:hidden;position:relative;cursor:pointer;}
.g-cell:focus-visible,.media-thumb:focus-visible{outline:3px solid rgba(187,31,125,.45);outline-offset:4px;}
.g-type{position:absolute;left:14px;bottom:14px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);color:var(--p);font-size:1.05rem;font-weight:900;box-shadow:0 10px 24px rgba(12,10,28,.22);z-index:2;}
.g-more{position:absolute;inset:0;background:rgba(12,10,28,.55);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-family:'Roboto',sans-serif;font-size:1.1rem;backdrop-filter:blur(2px);}
/* Miniaturas adicionales: dejan visibles todos los medios cargados, no solo los tres destacados. */
.media-strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:-20px 0 36px;}
.media-strip:empty{display:none;}
.media-thumb{height:104px;border-radius:14px;overflow:hidden;background:#08061a;border:1px solid var(--line);position:relative;cursor:pointer;}
.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover;display:block;}
.media-thumb .g-type{width:32px;height:32px;left:10px;bottom:10px;font-size:.82rem;}
.lightbox-open{overflow:hidden;}
.media-lightbox{position:fixed;inset:0;z-index:3000;display:none;align-items:center;justify-content:center;background:rgba(8,6,26,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:34px 92px;}
.media-lightbox.open{display:flex;}
.ml-stage{width:min(1120px,100%);height:min(78vh,760px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.ml-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.ml-media img,.ml-media video{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.45);background:#08061a;}
.ml-media video{width:100%;height:100%;object-fit:contain;}
.ml-count{color:rgba(255,255,255,.74);font-weight:800;font-size:.84rem;letter-spacing:.06em;}
.ml-close,.ml-nav{position:absolute;border:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:all .25s var(--ease);}
.ml-close:hover,.ml-nav:hover{background:#fff;color:var(--dk);transform:scale(1.04);}
.ml-close:focus-visible,.ml-nav:focus-visible{outline:3px solid rgba(255,255,255,.45);outline-offset:4px;}
.ml-close{top:24px;right:28px;width:46px;height:46px;border-radius:50%;font-size:2rem;line-height:1;}
.ml-nav{top:50%;transform:translateY(-50%);width:56px;height:72px;border-radius:18px;font-size:3rem;font-family:'Roboto',sans-serif;}
.ml-nav:hover{transform:translateY(-50%) scale(1.04);}
.ml-prev{left:24px;}
.ml-next{right:24px;}
.det-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:8px;}
.det-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:30px 0;}
.det-spec{background:#f6f4fb;border:1px solid var(--line);border-radius:16px;padding:20px 16px;text-align:center;transition:all .35s var(--ease);}
.det-spec:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:rgba(187,31,125,.25);}
.det-spec .dv{font-family:'Roboto',sans-serif;font-weight:900;font-size:1.3rem;color:var(--dk);}
.det-spec .dl{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-top:4px;}
.det-block{margin:40px 0;}
.det-block h3{margin-bottom:16px;}
.fin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.fin-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#fff;border:1px solid var(--line);border-radius:14px;}
.fin-row .fl{font-size:.86rem;color:var(--muted);font-weight:600;}
.fin-row .fv{font-family:'Roboto',sans-serif;font-weight:900;color:var(--dk);font-size:1.1rem;}
.fin-row.hl{background:var(--g);border-color:transparent;}
.fin-row.hl .fl,.fin-row.hl .fv{color:#fff;}
.amen{display:flex;flex-wrap:wrap;gap:10px;}
.amen span{display:inline-flex;align-items:center;gap:8px;background:#f6f4fb;border:1px solid var(--line);border-radius:99px;padding:9px 16px;font-size:.85rem;font-weight:600;color:var(--dk);}
.amen svg{width:16px;height:16px;stroke:var(--p);}
.buy-card{background:#fff;border:1px solid var(--line);border-radius:var(--rl);padding:30px;box-shadow:var(--shlg);position:sticky;top:100px;}
.buy-price{font-family:'Roboto',sans-serif;font-size:2.4rem;font-weight:900;color:var(--dk);line-height:1;}
.buy-cap{display:inline-block;background:var(--g);color:#fff;padding:6px 15px;border-radius:99px;font-weight:800;font-size:.85rem;margin-top:12px;box-shadow:0 6px 16px rgba(187,31,125,.3);}
.buy-card .btn{width:100%;margin-top:12px;}
.buy-divider{height:1px;background:var(--line);margin:24px 0;}
.buy-mini{display:flex;justify-content:space-between;font-size:.86rem;padding:8px 0;}
.buy-mini span:first-child{color:var(--muted);}
.buy-mini span:last-child{font-weight:700;color:var(--dk);}

@media(max-width:980px){
  .tc,.tc-3{grid-template-columns:1fr;gap:44px;}
  .filters-grid{grid-template-columns:repeat(2,1fr);}
  .tc-3 .timeline-card{position:static!important;}
  .det-grid{grid-template-columns:1fr;gap:36px;}
  .buy-card{position:static;}
  .det-specs{grid-template-columns:repeat(2,1fr);}
  .media-lightbox{padding:70px 20px 28px;}
  .ml-stage{height:72vh;}
  .ml-nav{width:46px;height:54px;border-radius:14px;font-size:2.4rem;top:auto;bottom:18px;transform:none;}
  .ml-nav:hover{transform:scale(1.04);}
  .ml-prev{left:20px;}
  .ml-next{right:20px;}
}
@media(max-width:560px){
  .filters-grid{grid-template-columns:1fr;}
  .page-hero{padding:140px 0 64px;}
  .gallery{grid-template-columns:1fr;gap:10px;margin-bottom:24px;}
  .gallery .g-main,.gallery .g-sub{height:230px;border-radius:18px;grid-row:auto;}
  .media-strip{grid-template-columns:repeat(2,1fr);margin:-10px 0 30px;}
  .ml-stage{height:64vh;}
  .ml-close{top:16px;right:16px;}
}
