/* Domova v13: the original cream, ink and gold palette, with clearer hierarchy. */
:root{--domova-paper:#F6F1E3;--domova-raised:#FBF8EF;--domova-ink:#2B2B2B;--domova-gold:#BFA46F;--domova-action:#756033}
:focus-visible{outline:3px solid var(--domova-action);outline-offset:4px}
.scroll-progress{width:100%;transform:scaleX(0);transform-origin:left}
.property-summary-facts{display:flex;gap:8px 20px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 16px;font-size:.9rem;color:#625b4c}
html{scroll-padding-top:calc(var(--header-height,90px) + 24px)}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit}
button{cursor:pointer}button:disabled{cursor:default;opacity:.55}
.safe-form-fields{border:0;margin:0;padding:0;min-width:0;width:100%;display:grid;gap:18px}
.safe-form-fields:disabled{opacity:.6}
.safe-form-fields .form-status{overflow-wrap:anywhere}
.property-heading{padding:8px 0 28px;max-width:1000px}
.property-heading h1{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.1;margin:12px 0 16px;text-wrap:balance;max-width:26ch}
.property-heading .listing-price{font-size:clamp(1.5rem,2.5vw,2rem);margin-bottom:18px}
.property-reference{display:flex;gap:20px;flex-wrap:wrap;font-size:.85rem;color:#625b4c;margin:0}
.property-reference span{font-family:'Work Sans',sans-serif}
.property-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.save-property,.share-property{border:1px solid #b9a579;color:#514224;background:var(--domova-raised);border-radius:4px;padding:10px 16px;min-height:44px;font-weight:500}
.save-property[aria-pressed=true]{background:#e7ddc4;border-color:#756033;color:#42351c}
.save-property:hover,.share-property:hover{background:#eae1cf}
.listing-body>.save-property{margin-top:14px;width:100%}
.listing{transition:box-shadow .18s ease}
.listing:focus-within{box-shadow:0 0 0 2px #b9a579}
.listing-facts{min-height:0}
.listing-media{aspect-ratio:4/3;background:#e9e2d3}
.listing-media img{width:100%;height:100%;object-fit:cover}
.photo-pending{display:grid;place-content:center;min-height:200px;color:#655d4d}
.aside-price{font-size:1.55rem;font-weight:600;color:var(--domova-ink)}
.aside-price small{display:block;font-size:.8rem;font-weight:400}
.property-carousel .gallery-stage{height:clamp(340px,37vw,520px);background:#e8e1d4;display:flex;justify-content:center;overflow:hidden}
.property-layout>.property-carousel{padding-top:0;padding-bottom:0}
.property-carousel .gallery-stage:not(.is-rail) .gallery-image-link{position:relative;inset:auto;width:100%;height:100%;display:block}
.property-carousel #foto-principal{width:100%!important;height:100%!important;object-fit:contain!important;max-height:none!important}
.property-carousel .gallery-backdrop{display:none}
.gallery-stage{touch-action:pan-y pinch-zoom}
.gallery-viewer-open{overflow:hidden}
.property-viewer img[data-viewer-photo]{object-fit:contain}
.gallery-thumbnails{scrollbar-width:thin}
.gallery-thumbnails .detail-thumb:focus-visible{outline-offset:-4px}
.form-reordered{grid-template-areas:'intro form' 'support form';align-items:start;row-gap:24px}
.form-reordered>.brand-form-intro{grid-area:intro}
.form-reordered>.inquiry-form{grid-area:form}
.form-reordered>.form-support{grid-area:support}
.form-reordered .brand-form-intro h1{margin-top:0!important}
.form-reordered .brand-form-intro .eyebrow{display:none}
.form-support .brand-photo{max-height:420px;overflow:hidden}
.form-support img{object-fit:cover;max-height:420px}
.catalog-layout>.catalog-assistance{grid-column:1/-1;margin-top:24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:24px 30px}
.catalog-assistance h3,.catalog-assistance p{margin:0}
.catalog-assistance a{margin-left:auto}
.search-suggestions{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.search-suggestions button{background:var(--domova-raised);border:1px solid #b9a579;border-radius:4px;padding:12px 16px;min-height:44px;text-align:left}
.filter-shortcut{display:none}
.selection-nav [data-saved-count]{font-size:.75em;display:inline-grid;place-content:center;min-width:20px;height:20px;background:#e7ddc4;color:#42351c;border-radius:50%;margin-left:3px}
.selection-page{padding-top:42px;padding-bottom:80px;min-height:65vh}
.selection-heading{max-width:700px;margin-bottom:30px}
.selection-heading h1{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.08;max-width:20ch;margin:0 0 18px}
.selection-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;position:sticky;top:var(--header-height,90px);background:var(--domova-paper);padding:16px 0;z-index:10}
#selection-status{margin:10px 0 24px;color:#625b4c}
.compare-choice{display:flex;align-items:center;gap:10px;min-height:44px;padding-top:10px;cursor:pointer}
.compare-choice input{width:20px;height:20px;accent-color:var(--domova-action)}
.compare-dialog,.privacy-dialog{color:var(--domova-ink);background:var(--domova-paper);border:1px solid #b9a579;border-radius:8px;padding:28px;max-height:85dvh;box-shadow:0 20px 80px #0004}
.compare-dialog{width:min(1100px,94vw);max-width:94vw}
.privacy-dialog{width:min(520px,92vw);max-width:92vw}
dialog::backdrop{background:#15130fd0}
.compare-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
.compare-dialog h2,.privacy-dialog h2{font-family:'Spectral',serif;font-size:1.8rem;line-height:1.15;margin:0 0 12px}
.privacy-dialog p,.compare-dialog p{line-height:1.6}
.privacy-actions{display:flex;gap:10px;flex-wrap:wrap}
.privacy-dialog textarea{width:100%;margin:10px 0 20px;resize:vertical;padding:10px}
.comparison-scroll{overflow:auto;overscroll-behavior-x:contain;margin-top:20px}
#comparison-table{border-collapse:collapse;width:100%;font-size:.9rem;text-align:left}
#comparison-table caption{text-align:left;padding:0 0 14px;color:#625b4c}
#comparison-table th,#comparison-table td{padding:14px 18px;min-width:180px;border-bottom:1px solid #d4c8b0;vertical-align:top}
#comparison-table th:first-child{min-width:130px;background:var(--domova-raised);position:sticky;left:0}
#comparison-table thead th{background:#e7ddc4;color:#42351c}
#comparison-table a{text-decoration:underline;text-underline-offset:3px}
.site-notice{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:100;background:#2b2b2b;color:#fff;padding:14px 20px;border-radius:6px;max-width:min(560px,calc(100vw - 32px));width:max-content;box-shadow:0 6px 24px #0003;pointer-events:none}
.browser-privacy{padding-bottom:48px;max-width:900px}
body:has(.inquiry-form)>.contact-float{display:none}
@media(min-width:1101px){.nav-row{gap:18px}.navlinks{gap:18px}.navlinks a{font-size:.83rem}.nav-row>.btn{font-size:.78rem;padding:12px 14px}}
@media(max-width:1100px){.nav-row .navlinks,.nav-row>.btn{display:none}.nav-toggle{display:flex}.mobile-menu.is-open{display:flex;flex-direction:column}.mobile-menu{max-height:calc(100dvh - var(--header-height,90px));overflow:auto}}
@media(max-width:780px){
 .catalog-heading{padding-top:24px;padding-bottom:20px}.catalog-heading h1{font-size:2.25rem;margin-bottom:12px}.catalog-heading p{margin-bottom:0}
 .catalog-heading .eyebrow{display:none}.catalog-heading p{font-size:.95rem}
 .catalog-layout:has(.filter-shortcut:not([hidden])) #filter-panel:not([open]){display:none}
 .catalog-layout{gap:14px}.catalog-toolbar{gap:10px;flex-wrap:wrap;position:sticky;top:var(--header-height,90px);z-index:12;background:var(--domova-paper);padding:12px 0;border-bottom:1px solid #d4c8b0}
 .catalog-toolbar>p{width:100%;margin:0}.catalog-toolbar>div{margin-left:auto}.catalog-toolbar select{max-width:180px;min-height:44px}
 .catalog-toolbar>p{order:0}.catalog-toolbar>.filter-shortcut{order:1}.catalog-toolbar>div{order:2}
 .filter-shortcut:not([hidden]){display:inline-flex;font-size:.85rem;padding:8px 12px;min-height:44px}
 .catalog-layout>.catalog-assistance{display:block;margin-top:30px;padding:24px}.catalog-assistance p{margin:10px 0}.catalog-assistance a{margin:0}
 .property-heading{padding:4px 0 20px}.property-heading h1{font-size:2rem;line-height:1.1;margin:10px 0 14px}.property-heading .listing-price{font-size:1.55rem;margin:0 0 16px}.property-heading .listing-price small{font-size:.75rem}
 .property-actions{gap:8px}.property-actions button{font-size:.85rem;padding:8px 12px}.property-actions>.text-link{font-size:.85rem}
 .property-carousel .gallery-stage{height:290px}.gallery-heading{padding-top:0}.gallery-heading span{font-size:.75rem}
 .has-carousel .detail-aside{position:static}.property-layout{gap:24px}
 .property-contact-sticky{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));text-align:center;border-radius:6px;justify-content:center}
 body:has(.property-contact-sticky){padding-bottom:80px}
 .site-notice{bottom:90px;font-size:.85rem}
 .form-reordered{grid-template-areas:'intro' 'form' 'support';grid-template-columns:1fr;gap:24px}.form-reordered .brand-form-intro h1{font-size:2rem!important;max-width:22ch}.form-reordered .brand-form-intro p{margin-bottom:0}
 .selection-page{padding-top:26px}.selection-toolbar{gap:8px}.selection-toolbar .btn{font-size:.85rem;padding:10px 12px}.selection-toolbar a{width:100%;font-size:.85rem}.selection-heading{margin-bottom:18px}
 .compare-dialog,.privacy-dialog{padding:20px}.compare-dialog-heading{align-items:start}.compare-dialog h2{font-size:1.5rem}.compare-dialog p{font-size:.85rem}
 #comparison-table th,#comparison-table td{padding:12px;min-width:160px}#comparison-table th:first-child{min-width:110px;font-size:.8rem}
 .contact-float{bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Animaciones v13.1: entradas breves y respuesta a la interacción. */
@keyframes domova-open{from{opacity:.25;translate:0 -8px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:no-preference){
 .mobile-menu.is-open{animation:domova-open .22s ease-out}
 .privacy-dialog[open],.compare-dialog[open]{animation:domova-open .2s ease-out}
 .btn,.save-property,.share-property,.cinema-submit{transition:background-color .18s ease,color .18s ease,box-shadow .2s ease,translate .2s ease}
 .listing-media img{transition:transform .35s cubic-bezier(.2,.7,.3,1)}
 .navlink{transition:color .18s ease}
 .field input,.field select,.field textarea{transition:border-color .18s ease,box-shadow .18s ease}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .btn:hover,.save-property:hover,.share-property:hover,.cinema-submit:hover{translate:0 -2px}
 .btn:active,.save-property:active,.share-property:active,.cinema-submit:active{translate:0 0}
 .listing:hover .listing-media img{transform:scale(1.025)}
}
