/* detail.css — overlay de detalle de propiedad */
.overlay{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;
  background:rgba(8,20,28,.55);backdrop-filter:blur(6px);overflow-y:auto;padding:34px 20px;
  animation:ovin .28s var(--ease);}
@keyframes ovin{from{opacity:0}to{opacity:1}}
.sheet{width:min(1080px,100%);background:var(--bg-2);border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:0 40px 100px -30px rgba(0,0,0,.6);
  animation:sheetin .48s cubic-bezier(.22,.61,.36,1);
  will-change:transform,opacity;}
@keyframes sheetin{from{transform:translateY(64px);opacity:0}to{transform:none;opacity:1}}

/* salida suave */
.overlay.is-closing{animation:ovout .3s var(--ease) forwards;pointer-events:none;}
@keyframes ovout{from{opacity:1}to{opacity:0}}
.overlay.is-closing .sheet{animation:sheetout .28s var(--ease) forwards;}
@keyframes sheetout{from{transform:none;opacity:1}to{transform:translateY(40px);opacity:0}}

@media (prefers-reduced-motion:reduce){
  .overlay,.sheet,.overlay.is-closing,.overlay.is-closing .sheet{animation:none;}
}
.sheet-close{position:fixed;top:24px;right:24px;z-index:110;width:48px;height:48px;border-radius:50%;
  background:var(--surface);color:var(--ink);display:grid;place-items:center;box-shadow:var(--shadow);
  transition:transform .2s var(--ease);}
.sheet-close:hover{transform:rotate(90deg);}

/* gallery */
.gal{position:relative;background:#0b1c28;}
.gal-main{position:relative;aspect-ratio:16/9;overflow:hidden;}
.gal-main .photo{position:absolute;inset:0;height:100%;}
.gal-main .photo img{width:100%;height:100%;object-fit:cover;}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;
  background:rgba(255,255,255,.92);color:#15293A;display:grid;place-items:center;z-index:3;
  box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .18s var(--ease);}
.gal-nav:hover{transform:translateY(-50%) scale(1.08);}
.gal-nav.prev{left:16px;} .gal-nav.next{right:16px;}
.gal-counter{position:absolute;bottom:16px;right:16px;z-index:3;font-family:var(--font-mono);font-size:12.5px;
  background:rgba(11,28,40,.7);color:#fff;padding:6px 12px;border-radius:999px;}
.gal-badges{position:absolute;top:16px;left:16px;z-index:3;display:flex;gap:8px;}
.gal-thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto;background:#0b1c28;}
.gal-thumbs .th{flex:none;width:88px;height:62px;border-radius:8px;overflow:hidden;cursor:pointer;
  opacity:.5;transition:opacity .2s, outline .2s;outline:2px solid transparent;outline-offset:-2px;}
.gal-thumbs .th.on{opacity:1;outline-color:#fff;}
.gal-thumbs .th img{width:100%;height:100%;object-fit:cover;}

/* detail body */
.dbody{display:grid;grid-template-columns:1.7fr 1fr;gap:0;}
.dmain{padding:32px 34px;}
.dmain .dhead{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;}
.dmain h2{font-size:clamp(24px,3vw,33px);font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1.1;max-width:560px;}
.dmain .dloc{display:flex;align-items:center;gap:7px;color:var(--ink-2);font-size:15px;margin-top:12px;}
.dmain .dloc svg{color:var(--brand-slate);}
.dprice{font-family:var(--font-display);font-weight:800;font-size:30px;color:var(--ink);white-space:nowrap;text-align:right;}
.dprice .per{font-size:15px;color:var(--ink-3);font-weight:600;}
.dprice .exp{font-size:13px;color:var(--ink-3);font-weight:500;font-family:var(--font-body);display:block;margin-top:4px;}

.dstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:12px;margin:26px 0;}
.dstat{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:15px;
  display:flex;flex-direction:column;gap:8px;}
.dstat svg{color:var(--brand-slate);}
.dstat b{font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--ink);line-height:1;}
.dstat span{font-size:12px;color:var(--ink-3);}

.dsec-t{font-family:var(--font-display);font-weight:700;font-size:14px;letter-spacing:.04em;color:var(--ink);
  text-transform:uppercase;margin:26px 0 14px;display:flex;align-items:center;gap:9px;}
.dsec-t::before{content:"";width:18px;height:2px;background:var(--brand-slate);}
.ddesc{color:var(--ink-2);font-size:15.5px;line-height:1.7;white-space:pre-line;}
.ddesc-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;
  font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--brand-slate);
  border-bottom:1.5px solid transparent;transition:border-color .2s;}
.ddesc-more:hover{border-bottom-color:var(--brand-slate);}
.ddesc-more svg{flex:none;}
[data-theme="oscuro"] .ddesc-more{color:var(--brand-slate-300);}
.dtags{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px;}.dtag{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-weight:500;}
.dtag svg{color:var(--brand-slate);}

.dvideo{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;
  background:#000;border:1px solid var(--line);}
.dvideo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.dvideo-thumb{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#000;display:block;}
.dvideo-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.dvideo-play{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.38);
  transition:background .2s var(--ease);color:#fff;}
.dvideo-thumb:hover .dvideo-play{background:rgba(0,0,0,.56);}
.dvideo-play svg{width:64px;height:64px;filter:drop-shadow(0 3px 12px rgba(0,0,0,.6));}

/* detail aside */
.daside{padding:32px 30px;background:var(--surface);border-left:1px solid var(--line);
  display:flex;flex-direction:column;gap:16px;position:sticky;top:0;align-self:start;}
.agent{display:flex;align-items:center;gap:13px;}
.agent .av{width:52px;height:52px;border-radius:50%;background:var(--brand-navy);display:grid;place-items:center;flex:none;overflow:hidden;}
.agent .av img{width:62%;height:62%;object-fit:contain;display:block;}
.agent .nm{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink);}
.agent .rl{font-size:13px;color:var(--ink-3);}
.daside .ref{font-family:var(--font-mono);font-size:12px;color:var(--ink-3);padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;}
.daside .btn{width:100%;}

/* formulario de consulta por propiedad */
.inq-form{display:flex;flex-direction:column;gap:10px;}
.inq-title{font-family:var(--font-display);font-weight:700;font-size:15px;letter-spacing:.01em;color:var(--ink);margin-bottom:2px;}
.inq-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:4px;}
.inq-chip{font-family:var(--font-body);font-size:12.5px;font-weight:600;color:var(--ink-2);
  background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:7px 13px;line-height:1;
  transition:all .16s var(--ease);cursor:pointer;}
.inq-chip:hover{border-color:var(--brand-slate);color:var(--ink);}
.inq-chip.on{background:var(--brand-navy);border-color:var(--brand-navy);color:#fff;}
[data-theme="oscuro"] .inq-chip.on{background:var(--brand-slate);border-color:var(--brand-slate);color:#0c1c28;}
.inq-input{width:100%;font-family:var(--font-body);font-size:14.5px;color:var(--ink);
  background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;
  transition:border-color .16s var(--ease), box-shadow .16s var(--ease);}
.inq-input::placeholder{color:var(--ink-3);}
.inq-input:focus{outline:none;border-color:var(--brand-slate);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-slate) 22%,transparent);}
.inq-area{min-height:72px;resize:vertical;line-height:1.5;}
.inq-send{margin-top:2px;}
.inq-note{font-size:12px;line-height:1.5;color:var(--ink-3);margin-top:2px;}
.inq-alt{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:16px;border-top:1px solid var(--line);}
.inq-alt .btn,.inq-alt .share-full{width:100%;}
.inq-alt .share-full{margin:0;}
.inq-done{align-items:flex-start;gap:8px;}
.inq-ok-ic{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,#25D366 16%,transparent);color:#25D366;margin-bottom:4px;}
.inq-ok-t{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--ink);line-height:1.3;}
.inq-ok-s{font-size:13px;line-height:1.5;color:var(--ink-3);margin-bottom:6px;}

@media (max-width:840px){
  .dbody{grid-template-columns:1fr;}
  .daside{border-left:none;border-top:1px solid var(--line);position:static;}
  .overlay{padding:0;align-items:flex-end;overflow:hidden;}
  .sheet{border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:92vh;overflow-y:auto;-webkit-overflow-scrolling:touch;animation:sheetin-mobile .44s cubic-bezier(.22,.61,.36,1);}
  @keyframes sheetin-mobile{from{transform:translateY(100%)}to{transform:none}}
  .overlay.is-closing .sheet{animation:sheetout-mobile .28s var(--ease) forwards;}
  @keyframes sheetout-mobile{from{transform:none}to{transform:translateY(100%)}}
  .sheet-close{top:14px;right:14px;}
  @media (prefers-reduced-motion:reduce){
    .sheet,.overlay.is-closing .sheet{animation:none;}
  }
}
