/* Step 2: scoped to the property dialog; preserve native cards and full gallery. */
#detail-dialog .detail-main>h1{font-size:clamp(20px,2vw,27px);line-height:1.25;margin-bottom:7px}
#detail-dialog .detail-location{font-size:13px;margin-bottom:12px}
#detail-dialog .detail-decision{padding:14px 16px;background:#f3f7f3;border:1px solid #dbe7df;border-radius:16px;margin:0 0 14px}
#detail-dialog .detail-decision-price{font-size:26px;font-weight:750;line-height:1.2;color:#073e3b}
#detail-dialog .detail-decision-price small{font-size:13px;font-weight:500}
#detail-dialog .detail-decision-facts{font-size:14px;margin:6px 0;color:#273d36}
#detail-dialog .detail-decision-publisher{font-size:12px;color:#63716a}
#detail-dialog .detail-decision-conditions{display:flex;flex-wrap:wrap;gap:7px 22px;border-top:1px solid #dbe7df;padding-top:10px;margin-top:10px;font-size:12px}
#detail-dialog .detail-decision-conditions span{display:flex;gap:5px}
#detail-dialog .detail-decision small{display:block;color:#63716a;font-size:11px;line-height:1.5;margin-top:6px}
#detail-dialog .detail-decision-price small{display:inline;margin:0}
#detail-dialog .detail-financing{font-size:13px;margin:10px 0 0;line-height:1.5}
#detail-dialog .detail-gallery{height:280px;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr));margin-bottom:12px}
#detail-dialog .detail-gallery button:not(.show-all)>img,#detail-dialog .detail-gallery video{height:100%;width:100%;object-fit:cover}
#detail-dialog .detail-gallery .detail-video{min-height:0;height:100%}
#detail-dialog .detail-gallery .detail-video video{object-fit:contain;background:#142b28}
#detail-dialog .detail-index-explainer{border:1px solid #dce6df;border-radius:12px;margin:0 0 16px;overflow:hidden}
#detail-dialog .detail-index-explainer summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:13px;color:#075c55;list-style:none;min-height:44px}
#detail-dialog .detail-index-explainer summary::-webkit-details-marker{display:none}
#detail-dialog .detail-index-toggle{font-size:11px;text-decoration:underline;white-space:nowrap}
#detail-dialog .detail-index-explainer[open] .detail-index-toggle{font-size:0}
#detail-dialog .detail-index-explainer[open] .detail-index-toggle:after{content:'Cerrar detalle';font-size:11px}
#detail-dialog .detail-index-explainer .coco-index{margin:0;border:0;border-radius:0}
#detail-dialog .detail-section{padding-top:18px;padding-bottom:18px}
#detail-dialog .detail-section h2{font-size:19px;margin-bottom:12px}
#detail-dialog .detail-section p{font-size:14px;line-height:1.65;white-space:pre-line}
#detail-dialog .detail-contact-actions [data-contact="original"]{font-size:12px}
@media(max-width:700px){
 #detail-dialog .detail-main>h1{font-size:20px}
 #detail-dialog .detail-decision{padding:12px;margin-bottom:12px;border-radius:13px}
 #detail-dialog .detail-decision-price{font-size:24px}
 #detail-dialog .detail-decision-facts{font-size:13px}
 #detail-dialog .detail-decision-conditions{gap:8px 14px}
 #detail-dialog .detail-gallery{height:210px;min-height:0;max-height:210px}
 #detail-dialog .detail-contact-actions{gap:7px}
 #detail-dialog .detail-contact-actions a{min-height:42px}
 #detail-dialog .detail-contact-actions [data-contact="original"]{font-size:11px}
 #detail-dialog .detail-section h2{font-size:18px}
}

#detail-dialog .detail-index-visible{margin:0 0 20px}
#detail-dialog .detail-index-visible>h2{font-size:18px;margin:0 0 10px;color:#075b53}
#detail-dialog .detail-index-visible .coco-index{margin:0}

/* Step 3: mobile controls, map status, and a useful empty saved list. */
.map-coverage small{line-height:1.5}
.empty-state{max-width:520px;margin:32px auto;padding:30px 22px;text-align:center;border:1px solid #dce6df;border-radius:18px;background:#f7faf7}
.empty-state h2{font-size:22px;line-height:1.3}
.empty-state p{line-height:1.65;color:#62716a}
.empty-state .primary{min-height:44px}
body.saved-empty #map-pane,body.saved-empty .map-switch-dock,body.saved-empty #map-switch,body.saved-empty #quickbar{display:none!important}
body.saved-empty .results-view{grid-template-columns:minmax(0,1fr)}
.map-list-return{display:none}
@media(max-width:700px){
 .map-coverage{padding:12px 16px}
 .map-coverage b{font-size:13px}
 .map-coverage small{font-size:11px}
 body.mobile-map .map-list-return{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 11px;border:1px solid #dce6df;border-radius:12px;background:#f3f7f3;color:#075c55;font-size:12px;margin-right:12px;flex-shrink:0}
 .map-list-return img{width:15px;height:15px}
 .map-auto{max-width:calc(100% - 76px);font-size:11px;padding:9px 11px}
 .search-area{font-size:12px;min-height:40px;max-width:calc(100% - 100px)}
 .map-pane .search-area{top:82px;left:12px;transform:none;max-width:calc(100% - 80px)}
 .map-pane #map-overview{top:82px;margin-top:0}
 .map-pane:has(.search-area:not([hidden])) #map-overview{top:130px}
 .map-controls .round{min-width:40px;min-height:40px}
 .map-featured-ribbon{padding-bottom:7px}
 .empty-state{margin:18px 0;padding:27px 18px}
 .empty-state h2{font-size:20px}
 .map-switch{min-height:42px;font-size:12px}
}

.decision-tools{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 18px}
.decision-tools button{width:auto;flex:0 1 auto;font-size:12px;min-height:38px;padding:8px 11px;border-radius:11px}
.decision-tools button:disabled{opacity:.5;cursor:default}
.decision-compare-toggle{font-size:12px;min-height:36px;border:1px solid #dce6df;border-radius:10px;background:#fff;color:#075c55;padding:7px 11px;margin-top:9px}
.decision-compare-toggle[aria-pressed=true]{background:#e4f1e8;border-color:#075c55;font-weight:650}
body.saved-empty .decision-tools{display:none}
.decision-dialog{width:min(1000px,calc(100vw - 40px));max-height:90dvh;border:1px solid #dce6df;border-radius:20px;padding:0;color:#20372e;box-shadow:0 16px 70px #153b2b33}
.decision-dialog::backdrop{background:#0006}
.decision-dialog>header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e6ece7;gap:12px}
.decision-dialog h2{font-size:22px;margin:0}
.decision-dialog header .round{width:42px;height:42px;flex-shrink:0}
.decision-dialog header .round img{width:18px;height:18px}
.decision-dialog-body{padding:20px;overflow:auto;max-height:calc(90dvh - 80px);overscroll-behavior:contain}
.decision-dialog-body p{font-size:13px;line-height:1.6}
.decision-muted{color:#65746c;margin-top:0}
.decision-dialog-body form{max-width:600px;margin:auto}
.decision-dialog-body label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.decision-dialog-body input{width:100%;box-sizing:border-box;font:inherit;min-height:44px;padding:11px;border:1px solid #becfc3;border-radius:11px}
.decision-saved-search{padding:16px;border:1px solid #dce6df;border-radius:14px;margin:12px 0;background:#f8faf7}
.decision-saved-search h3{font-size:16px;margin:0 0 6px}
.decision-saved-search p{color:#65746c;margin:0 0 14px}
.decision-saved-search>div{display:flex;gap:8px;flex-wrap:wrap}
.decision-saved-search button{width:auto;font-size:12px;min-height:40px}
.decision-table-wrap{overflow:auto;max-width:100%;border:1px solid #dce6df;border-radius:12px;margin:14px 0 18px}
.decision-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:fixed;min-width:650px;font-size:13px}
.decision-table th,.decision-table td{padding:13px 12px;border-right:1px solid #e3ebe5;border-bottom:1px solid #e3ebe5;vertical-align:top;text-align:left;overflow-wrap:anywhere;line-height:1.55}
.decision-table th:first-child{width:130px;background:#f3f7f3;position:sticky;left:0;z-index:1;font-weight:600;overflow-wrap:normal}
.decision-table thead th{font-weight:500;background:#fff}
.decision-table thead img{width:100%;height:110px;object-fit:cover;border-radius:9px;margin-bottom:8px}
.decision-table thead b{display:block;font-size:13px;line-height:1.45;margin-bottom:10px}
.decision-table thead button{font-size:12px;min-height:36px;margin-right:5px}
.decision-table .decision-remove{display:block;font-size:11px;text-decoration:underline;padding:7px 0;color:#68756e;background:none}
.decision-table tr:last-child>*{border-bottom:0}
.decision-table tr>*:last-child{border-right:0}
.decision-empty{padding:20px;text-align:center}
@media(max-width:700px){
 .decision-tools{gap:6px;margin-top:12px}
 .decision-tools button{font-size:11px;min-height:38px;padding:8px 6px}
 .decision-dialog{width:calc(100vw - 16px);max-width:none;max-height:94dvh;border-radius:16px}
 .decision-dialog>header{padding:12px 14px}
 .decision-dialog h2{font-size:19px}
 .decision-dialog-body{padding:14px;max-height:calc(94dvh - 76px)}
 .decision-table{min-width:calc(100px + var(--compare-count,3)*112px);font-size:12px}
 .decision-table th,.decision-table td{padding:10px}
 .decision-table th:first-child{width:100px;font-size:11px}
 .decision-table thead b{font-size:11px}
 .decision-table thead img{height:88px}
 #detail-dialog .detail-top-actions .decision-compare-toggle{font-size:11px;padding:6px 8px;margin:0}
 #detail-dialog .detail-top-actions{gap:5px;flex-wrap:wrap}
}

.card-view-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;margin-top:7px;border:1px solid #0b5a4f;border-radius:10px;background:#075b53;color:#fff;font-size:12px;font-weight:650;line-height:1.25;text-decoration:none;box-sizing:border-box}
.card-view-button img{width:14px;height:14px;filter:brightness(0) invert(1)}
.card-view-button:hover{background:#03463f}
.card-view-button:focus-visible{outline:3px solid #2aab87;outline-offset:3px}

/* Compact discovery cards. Keep the CoCo reference on the first photo. */
#home-lead .shelf-track{grid-auto-columns:calc((100% - 48px)/4);gap:16px}
#home-lead .card-media,#home-rows .shelf .card-media,.results-grid .card-media{aspect-ratio:1.65}
:is(#home-lead,#home-rows,.results-grid) .property-card .coco-photo-index{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 7px;padding:18px 11px 10px;background:linear-gradient(0deg,#023e45f5 0%,#023e45d9 68%,#023e4500 100%)}
:is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-brand{font-size:9px;line-height:1.2;max-width:75px}
:is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-brand b{font-size:11px}
:is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-price{font-size:23px;letter-spacing:-.6px}
:is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-price>small{font-size:9px}
:is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-verdict{grid-column:1/-1;font-size:11px}
:is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-track{grid-column:1/-1;height:4px;margin:3px 0}
:is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-expected{grid-column:1/-1;font-size:9px;line-height:1.25}
:is(#home-lead,#home-rows) .card-content{padding:8px 10px 9px;line-height:1.4}
:is(#home-lead,#home-rows,.results-grid) .photo-empty{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;padding-top:14px;box-sizing:border-box;background:#edf1ee}
:is(#home-lead,#home-rows,.results-grid) .photo-empty img{width:28px;height:28px;opacity:.5}
:is(#home-lead,#home-rows,.results-grid) .photo-empty:after{content:'Sin foto publicada';font-size:11px;color:#52655e}
@media(min-width:701px) and (max-width:1100px){#home-lead .shelf-track{grid-auto-columns:calc((100% - 32px)/3)}}
@media(max-width:700px){
 #home-lead .shelf-track,#home-rows .shelf .shelf-track{grid-auto-columns:76%;gap:12px}
 #home-lead .card-media,#home-rows .shelf .card-media,.results-grid .card-media{aspect-ratio:1.6}
 :is(#home-lead,#home-rows,.results-grid) .property-card .photo-index-price{font-size:22px}
 .results-grid .card-content{padding-top:7px;line-height:1.4}
}
@media(prefers-reduced-motion:reduce){:is(#home-lead,#home-rows) .shelf-track{scroll-behavior:auto}}

/* Identification is readable in full, including long barrio names. */
.property-card .card-title{display:block;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.property-card .card-location{color:#62716a;font-size:11px;line-height:1.35;margin-top:2px}
.property-card .card-publisher{color:#35574a;font-size:11px;line-height:1.35;margin:3px 0;overflow-wrap:anywhere}

/* Every comparable price gets a subtle tint sampled from its index marker. */
:is(#home-lead,#home-rows,.results-grid) .property-card{display:flex;flex-direction:column;align-self:stretch;background:color-mix(in srgb,var(--card-index-color,#fff) 13%,white);border-color:color-mix(in srgb,var(--card-index-color,#fff) 22%,#edf0eb)}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-media{flex-shrink:0}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-content{box-sizing:border-box;display:flex;flex-direction:column;flex:1;min-height:0;background:transparent;padding:8px 12px 10px;color:#173e32}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0;line-height:1.35;color:#173e32}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-location{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.35em;color:#52645a}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-publisher{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#35574a}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-subtitle:not(.card-location){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:0}
:is(#home-lead,#home-rows,.results-grid) .property-card .property-signals{min-height:0;margin:5px 0 7px}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-view-button{align-self:flex-start;margin-top:auto;flex-shrink:0}
:is(#home-lead,#home-rows) .shelf-track{align-items:stretch}

:is(#home-lead,#home-rows,.results-grid) .property-card .card-view-button{margin-top:auto}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-publisher{margin:2px 0}
/* Put views and the action on one compact baseline; retain optional price drops. */
:is(#home-lead,#home-rows,.results-grid) .property-card .card-content{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto auto auto auto 1fr;gap:2px 7px}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-title{grid-column:1/-1;grid-row:1}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-location{grid-column:1/-1;grid-row:2;margin-top:0}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-publisher{grid-column:1/-1;grid-row:3;margin:0}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-subtitle:not(.card-location){grid-column:1/-1;grid-row:4}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-price-line{grid-column:1/-1;grid-row:5;margin:0}
:is(#home-lead,#home-rows,.results-grid) .property-card .property-signals{display:contents}
:is(#home-lead,#home-rows,.results-grid) .property-card .property-price-drop{grid-column:1/-1;grid-row:6;font-size:10px;line-height:1.4;margin:1px 0}
:is(#home-lead,#home-rows,.results-grid) .property-card .property-view-count{grid-column:1;grid-row:7;align-self:end;min-height:36px;font-size:10px}
:is(#home-lead,#home-rows,.results-grid) .property-card .card-view-button{grid-column:2;grid-row:7;align-self:end;justify-self:end;margin:4px 0 0}

.search-recovery{margin:12px 0 20px;padding:15px;border:1px solid #d9e8df;border-radius:16px;background:#f5faf7}
.search-recovery[hidden]{display:none}
.search-recovery h2{margin:0 0 6px;font-size:16px;line-height:1.3;color:#173f32}
.search-recovery p{margin:0 0 12px;font-size:12px;line-height:1.5;color:#52675d}
.search-recovery-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.search-recovery-options button{padding:10px 12px;text-align:left;border:1px solid #cbded2;border-radius:11px;background:#fff;color:#214d3a;display:flex;flex-direction:column;gap:4px;min-height:55px;font-size:12px;line-height:1.35;overflow-wrap:anywhere;cursor:pointer}
.search-recovery-options button b{font-size:11px;font-weight:600;color:#63776c}
.search-recovery-options button:hover{border-color:#075b48;background:#eef8f2}
.search-recovery-options button:focus-visible{outline:3px solid #1a9070;outline-offset:2px}
@media(max-width:420px){.search-recovery{padding:12px}.search-recovery-options{grid-template-columns:1fr}.search-recovery-options button{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:46px}.search-recovery-options button b{flex-shrink:0}}
