/* Only property shortcode roots. UX Builder owns surrounding surfaces and spacing. */
.c593-component.c593-property-view,
body.single-inmueble .c593-component.c593-property-view,
.c593-component.c593-property-view__actions,
.c593-component.c593-property-view__pricebar,
.c593-component.c593-property-view__facts,
.c593-component.c593-property-view__description,
.c593-component.c593-property-view__section,
.c593-component.c593-property-view__location-map,
.c593-component.c593-property-view__contact,
.c593-component.c593-advisor,
.c593-component.c593-mortgage {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
  max-width: none;
}
.c593-component.c593-property-view { margin: 0; color: inherit; font-family: inherit; }
/* Preserve the existing page gutter only in the all-in-one fallback template. */
.c593-component.c593-property-view.c593-component--complete,
body.single-inmueble .c593-component.c593-property-view.c593-component--complete { max-width: 1380px; margin: 0 auto; padding: 32px 20px; }
.c593-component.c593-property-view__title { color: inherit; }
.c593-component.c593-property-view__actions { position: static; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; align-items: center; margin: 0; }
.c593-component.c593-property-view__actions button { margin: 0; padding: .55rem .9rem; min-height: 42px; border: 1px solid #E2E8F0; border-radius: .45rem; background: #fff; color: #123D73; box-shadow: none; font-weight: 700; line-height: 1; cursor: pointer; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.c593-component.c593-property-view__actions button:hover { border-color: #123D73; background: #F8FAFC; }
.c593-component.c593-property-view__actions button[aria-pressed="true"] { border-color: #D71920; background: #fff5f6; color: #D71920; }
.c593-component__status:empty { display: none; }
.c593-component__status { flex-basis: 100%; }
.c593-component [data-c593-copy-link] { width: 100%; }
.c593-component.c593-property-view__media-nav { display: flex; flex-wrap: wrap; gap: .35rem 1rem; margin: 0 0 .55rem; border-bottom: 1px solid #E2E8F0; }
.c593-component.c593-property-view__media-nav a { display: inline-flex; align-items: center; gap: .4em; min-height: 40px; padding: 0 .15rem; border-bottom: 2px solid transparent; color: #123D73; font-size: .93em; font-weight: 700; text-decoration: none; }
.c593-component.c593-property-view__media-nav a:first-child { border-color: #123D73; color: #071F41; }
.c593-component.c593-property-view__gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); grid-template-rows: none; grid-auto-rows: auto; gap: .3rem; margin: 0; border: 0; background: transparent; padding: 0; overflow: hidden; }
.c593-component.c593-property-view__gallery figure,
.c593-component.c593-property-view__gallery figure.is-cover { grid-row: auto; grid-column: auto; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.c593-component.c593-property-view__gallery figure:first-child { grid-column: 1 / -1; }
.c593-component.c593-property-view__gallery figure[hidden] { display: none; }
.c593-component.c593-property-view__gallery a { position: relative; display: block; height: 100%; overflow: hidden; background: #F8FAFC; }
.c593-component.c593-property-view__gallery a::after { content: ''; position: absolute; inset: 0; background: #071F41; opacity: 0; transition: opacity .18s ease; pointer-events: none; }
.c593-component.c593-property-view__gallery a:hover::after { opacity: .14; }
.c593-component.c593-property-view__gallery img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0; transition: transform .25s ease; }
.c593-component.c593-property-view__gallery a:hover img { transform: scale(1.025); }
.c593-component.c593-component__gallery--fotos { grid-template-columns: 1fr 1fr; grid-auto-rows: clamp(108px, 19vw, 238px); }
.c593-component.c593-component__gallery--fotos figure:first-child { grid-column: 1 / -1; }
.c593-component.c593-component__gallery--fotos img { height: 100%; aspect-ratio: auto; }
.c593-component.c593-component__gallery--fotos figure:only-child { grid-column: 1 / -1; grid-row: auto; }
.c593-gallery__more { position: absolute; right: .8rem; bottom: .8rem; z-index: 1; display: inline-flex; align-items: center; gap: .5rem; padding: .65rem .85rem; border-radius: .35rem; background: #071F41; color: #fff; font-weight: 800; font-size: .92rem; box-shadow: 0 8px 20px rgb(1 26 60 / 32%); }
.c593-component.c593-component__gallery--planos img { object-fit: contain; }
.c593-component.c593-property-view__pricebar { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem 1rem; margin: 0; }
.c593-component.c593-property-view__pricebar strong { color: inherit; font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.05; letter-spacing: -.035em; }
.c593-component__negotiable { display: inline-flex; padding: .3rem .55rem; border-radius: .25rem; background: #FFDD00; color: #071F41; font-weight: 800; font-size: .8rem; }
.c593-component.c593-property-view__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 0; margin: 0; border-top: 1px solid #E2E8F0; border-left: 1px solid #E2E8F0; }
.c593-component.c593-property-view__facts > div,
.c593-component.c593-property-view__facts > div:nth-child(odd),
.c593-component.c593-property-view__facts > div:nth-child(even),
.c593-component .c593-property-view__specs > div,
.c593-component .c593-property-view__specs > div:nth-child(4n+1),
.c593-component .c593-property-view__specs > div:nth-child(4n+2) { border: 0; padding: 0; background: transparent; box-shadow: none; }
.c593-component.c593-property-view__facts > div { display: grid; place-items: center; gap: .25rem; min-height: 92px; padding: .7rem .45rem; border-right: 1px solid #E2E8F0; border-bottom: 1px solid #E2E8F0; text-align: center; }
.c593-component.c593-property-view__facts dt { display: flex; flex-direction: column; align-items: center; gap: .3rem; margin: 0; font-size: .72rem; font-weight: 700; line-height: 1.3; text-transform: uppercase; }
.c593-component.c593-property-view__facts dt i { color: #123D73; font-size: 1.1rem; }
.c593-component.c593-property-view__facts dd { margin: 0; font-size: 1.28rem; font-weight: 800; order: -1; }
.c593-component .c593-property-view__specs { display: grid; gap: 0; margin: 0; }
.c593-component .c593-property-view__spec-row { display: grid; grid-template-columns: minmax(0, 1fr) max-content minmax(0, 1fr) max-content; column-gap: 1.25rem; align-items: center; border-bottom: 1px solid #E2E8F0; }
.c593-component .c593-property-view__spec-row:nth-child(odd) { background: #F8FAFC; }
.c593-component .c593-property-view__specs dt,
.c593-component .c593-property-view__specs dd { min-width: 0; padding: .7rem .8rem; }
.c593-component .c593-property-view__specs dt { font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.c593-component .c593-property-view__specs dd { margin: 0; font-weight: 800; text-align: right; white-space: nowrap; }
.c593-component .c593-property-view__amenities { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: .25rem .75rem; margin: 0; padding: 0; list-style: none; }
.c593-component .c593-property-view__amenities li { display: flex; align-items: center; gap: .6rem; min-height: 40px; margin: 0; font-weight: 700; }
.c593-component .c593-property-view__amenities li i { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: #F8FAFC; color: #123D73; font-size: .85rem; }
.c593-component.c593-property-view__video video { display: block; width: 100%; height: auto; }
.c593-component.c593-property-view__video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.c593-component.c593-advisor .c593-advisor-photo { display: block; width: 84px; height: 84px; margin: 0 0 .75rem; border-radius: 50%; object-fit: cover; background: #F8FAFC; }
.c593-component.c593-advisor h2 { margin: 0; font-size: 1.25rem; line-height: 1.2; }
.c593-component.c593-advisor > p { margin: .25rem 0 1rem; font-size: .9rem; }
.c593-component.c593-advisor .c593-advisor-channels { display: grid; grid-template-columns: 1fr; gap: .55rem; }
.c593-component.c593-advisor .c593-advisor-channels a { display: inline-flex; justify-content: center; align-items: center; gap: .55em; min-height: 44px; padding: .55rem .75rem; border: 1px solid #E2E8F0; border-radius: .35rem; color: #071F41; font-weight: 800; line-height: 1.2; text-decoration: none; }
.c593-component.c593-advisor .c593-advisor-channels .c593-channel--whatsapp { border-color: #25D366; background: #25D366; color: #073a22; }
.c593-component.c593-advisor .c593-advisor-channels .c593-channel--telegram { border-color: #123D73; background: #123D73; color: #fff; }
.c593-component.c593-advisor .c593-advisor-channels a i { color: var(--c593-channel-color, currentColor); font-size: 1.15em; }
.c593-component.c593-advisor .c593-advisor-channels .c593-channel--whatsapp i,
.c593-component.c593-advisor .c593-advisor-channels .c593-channel--telegram i { color: currentColor; }
.c593-component .c593-mortgage__engine { max-width: none; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.c593-component .c593-mortgage__engine .mag-re-columns > *,
.c593-component .c593-mortgage__engine .mag-re-field,
.c593-component .c593-mortgage__engine .mag-re-input-suffix { min-width: 0; }
.c593-component .c593-mortgage__engine .mag-re-input { min-width: 0; max-width: 100%; }
.c593-component .c593-mortgage__engine .mag-re-input-suffix .mag-re-input { margin-bottom: 0; }
.c593-component.c593-mortgage--one-column .mag-re-columns { display: block; }
.c593-component.c593-mortgage--bare .c593-mortgage__result-list { display: grid; grid-template-columns: minmax(0, 1fr) max-content; margin: .9rem 0 0; border-top: 1px solid #E2E8F0; }
.c593-component.c593-mortgage--bare .c593-mortgage__result-list dt,
.c593-component.c593-mortgage--bare .c593-mortgage__result-list dd { min-width: 0; margin: 0; padding: .65rem .75rem; border-bottom: 1px solid #E2E8F0; }
.c593-component.c593-mortgage--bare .c593-mortgage__result-list dt { color: #64748B; font-size: .72rem; font-weight: 700; line-height: 1.35; text-transform: uppercase; }
.c593-component.c593-mortgage--bare .c593-mortgage__result-list dd { color: #071F41; font-weight: 800; text-align: right; font-variant-numeric: tabular-nums; }
.c593-component.c593-mortgage--bare [data-entrada-cero-nota] { margin: .75rem 0 0; color: #64748B; font-size: .88rem; line-height: 1.5; }
.c593-component .c593-mortgage__results[data-c593-mortgage-empty] [data-hipoteca-no-capacity],
.c593-component .c593-mortgage__results[data-c593-mortgage-empty] [data-hipoteca-resultados],
.c593-component .c593-mortgage__results[data-c593-mortgage-empty] [data-limite-producto-alert] { display: none !important; }
.c593-component--complete > .c593-component + .c593-component { margin-top: 1.25rem; }
.c593-component :is(a, button, input, summary):focus-visible,
a.c593-component:focus-visible,
.c593-component-lightbox button:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.c593-component[id] { scroll-margin-top: 2rem; }
/* Native gallery viewer: transparent stage, image-led presentation. */
.c593-component-lightbox { box-sizing: border-box; width: 100%; max-width: none; max-height: none; margin: auto; padding: 0; border: 0; background: transparent; color: #fff; overflow: visible; }
.c593-component-lightbox::backdrop { background: rgb(0 0 0 / 80%); }
.c593-component-lightbox__panel { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; grid-template-rows: auto auto auto; align-items: center; column-gap: 14px; width: min(1100px, calc(100vw - 40px)); max-height: calc(100vh - 40px); margin: auto; padding: 20px 0 13px; }
.c593-component-lightbox__image { grid-column: 2; grid-row: 2; display: block; width: auto; height: auto; max-width: 100%; max-height: 85vh; object-fit: contain; object-position: center; justify-self: center; }
.c593-component-lightbox button { z-index: 1; width: 44px; height: 44px; min-width: 44px; min-height: 44px; display: grid; place-items: center; margin: 0; padding: 0; border: 1px solid rgb(255 255 255 / 28%); border-radius: 50%; background: rgb(7 31 65 / 38%); color: #fff; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.c593-component-lightbox button:hover { background: rgb(7 31 65 / 70%); transform: scale(1.04); }
.c593-component-lightbox button:focus-visible { outline: 3px solid #ffdd00; outline-offset: 3px; }
.c593-component-lightbox__close { grid-column: 3; grid-row: 1; justify-self: end; }
.c593-component-lightbox__previous { grid-column: 1; grid-row: 2; justify-self: start; }
.c593-component-lightbox__next { grid-column: 3; grid-row: 2; justify-self: end; }
.c593-component-lightbox__caption { grid-column: 1 / -1; grid-row: 3; margin: 10px 0 0; color: rgb(255 255 255 / 88%); font-size: 12px; line-height: 1.35; text-align: center; }
.c593-component-lightbox [hidden] { visibility: hidden; }
@media (max-width: 549px) {
  .c593-component-lightbox__panel { grid-template-columns: 36px minmax(0, 1fr) 36px; grid-template-rows: auto auto auto; column-gap: 6px; width: calc(100vw - 18px); max-height: calc(100vh - 18px); padding: 9px 0 10px; }
  .c593-component-lightbox__image { max-height: 78vh; }
  .c593-component-lightbox button { width: 36px; height: 36px; min-width: 36px; min-height: 36px; font-size: 19px; }
  .c593-component-lightbox__caption { margin-top: 7px; font-size: 11px; }
}
/* New publisher checkboxes only; retain the editor's other existing field styles. */
.c593-property-editor label.c593-form__choice { display: flex; align-items: center; gap: 10px; }
.c593-property-editor .c593-form__choice input[type="checkbox"] { width: 18px; min-height: 18px; height: 18px; margin: 0; flex: 0 0 auto; }
@media (min-width: 700px) {
  .c593-component.c593-component__gallery--fotos { grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, .56fr)); grid-template-rows: repeat(2, clamp(158px, 16vw, 266px)); }
  .c593-component.c593-component__gallery--fotos figure:first-child { grid-column: 1; grid-row: 1 / span 2; }
  .c593-component.c593-component__gallery--fotos figure:nth-child(2) { grid-column: 2; grid-row: 1; }
  .c593-component.c593-component__gallery--fotos figure:nth-child(3) { grid-column: 3; grid-row: 1; }
  .c593-component.c593-component__gallery--fotos figure:nth-child(4) { grid-column: 2; grid-row: 2; }
  .c593-component.c593-component__gallery--fotos figure:nth-child(5) { grid-column: 3; grid-row: 2; }
}
@media (max-width: 549px) {
  .c593-component.c593-property-view__actions { justify-content: flex-start; }
  .c593-component .c593-property-view__spec-row { grid-template-columns: minmax(0, 1fr) max-content; column-gap: .75rem; }
  .c593-component-lightbox { width: calc(100% - .5rem); padding: .5rem; }
  .c593-component-lightbox__panel { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: .25rem; }
}

/* Premium surfaces for individual property shortcodes without styling UX Builder containers. */
.c593-component.c593-property-view__pricebar,
.c593-component.c593-property-view__description,
.c593-component.c593-property-view__section,
.c593-component.c593-property-view__location-map,
.c593-component.c593-property-view__video,
.c593-component.c593-property-view__tour,
.c593-component.c593-property-view__contact,
.c593-component.c593-advisor,
.c593-component.c593-mortgage { margin: 0 0 1.25rem; padding: clamp(18px, 2.5vw, 26px); border: 1px solid #E2E8F0; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgb(7 31 65 / 5%); }
.c593-component.c593-property-view__facts { margin: 0 0 1.25rem; overflow: hidden; border: 1px solid #E2E8F0; border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgb(7 31 65 / 5%); }
.c593-component.c593-property-view__description h2,
.c593-component.c593-property-view__section h2,
.c593-component.c593-property-view__location-map h2,
.c593-component.c593-property-view__video h2,
.c593-component.c593-property-view__tour h2,
.c593-component.c593-property-view__contact h2 { margin: 0 0 1rem; font-size: clamp(1.15rem, 1.7vw, 1.35rem); line-height: 1.25; }
.c593-component.c593-property-view__description > :last-child,
.c593-component.c593-property-view__section > :last-child,
.c593-component.c593-property-view__location-map > :last-child,
.c593-component.c593-property-view__video > :last-child,
.c593-component.c593-property-view__tour > :last-child { margin-bottom: 0; }
.c593-component.c593-property-view__gallery { border: 1px solid #E2E8F0; border-radius: 14px; }
/* Atomic property-view refinements: technical pairs and reusable similar-property cards. */
.c593-component .c593-property-view__specs { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr)); gap:clamp(.75rem,1.8vw,1.25rem); margin:0; padding:clamp(.75rem,1.8vw,1.25rem); overflow:visible; border:1px solid #E2E8F0; border-radius:14px; background:#fff; }
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:.75rem; align-items:start; min-width:0; margin:0; padding:.8rem 1rem; box-sizing:border-box; border:1px solid #E2E8F0; border-radius:10px; background:#fff; }
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dt,
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dd { min-width:0; margin:0; padding:0; box-sizing:border-box; }
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dt { color:#475569; font-size:.77rem; font-weight:750; letter-spacing:.025em; line-height:1.35; text-transform:uppercase; overflow-wrap:anywhere; }
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dd { color:inherit; font-size:.94rem; font-weight:800; line-height:1.4; overflow-wrap:anywhere; text-align:right; white-space:normal; }
.c593-component .c593-property-view__similar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.8rem,1.5vw,1.25rem); margin:0; }
.c593-component .c593-property-view__similar-grid .c593-property-card { display:flex; min-width:0; height:100%; flex-direction:column; overflow:hidden; border:1px solid #E2E8F0; border-radius:14px; background:#fff; box-shadow:0 8px 22px rgb(7 31 65 / 6%); }
.c593-component .c593-property-view__similar-grid .c593-property-card__image { display:block; min-height:0; aspect-ratio:4 / 3; overflow:hidden; background:#F8FAFC; }
.c593-component .c593-property-view__similar-grid .c593-property-card__image img { display:block; width:100%; height:100%; object-fit:cover; }
.c593-component .c593-property-view__similar-grid .c593-property-card__body { display:flex; min-height:0; flex:1; flex-direction:column; gap:.5rem; padding:1rem; }
.c593-component .c593-property-view__similar-grid .c593-property-card__body h2,.c593-component .c593-property-view__similar-grid .c593-property-card__body h3 { display:-webkit-box; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; font-size:1rem; line-height:1.35; }
.c593-component .c593-property-view__similar-grid .c593-property-card__body a { color:inherit; text-decoration:none; }
.c593-component .c593-property-view__similar-grid .c593-property-card__location { display:flex; gap:.4rem; align-items:flex-start; min-height:1.25em; margin:0; color:#475569; font-size:.84rem; line-height:1.35; }
.c593-component .c593-property-view__similar-grid .c593-property-card__location i,.c593-component .c593-property-view__similar-grid .c593-property-card__facts i { color:#123D73; }
.c593-component .c593-property-view__similar-grid .c593-property-card__price { margin:0; color:#123D73; font-size:1.02rem; font-weight:800; font-variant-numeric:tabular-nums; }
.c593-component .c593-property-view__similar-grid .c593-property-card__facts { display:flex; flex-wrap:wrap; gap:.35rem .6rem; margin:auto 0 0; padding:.7rem 0 0; border-top:1px solid #E2E8F0; list-style:none; }
.c593-component .c593-property-view__similar-grid .c593-property-card__facts li { display:inline-flex; align-items:center; gap:.3rem; color:#475569; font-size:.76rem; font-weight:700; line-height:1.3; }
@media (max-width:1024px) { .c593-component .c593-property-view__similar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:549px) { .c593-component .c593-property-view__specs,.c593-component .c593-property-view__similar-grid { grid-template-columns:minmax(0,1fr); } .c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item { grid-template-columns:minmax(0,1fr); gap:.3rem; } .c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dd { text-align:left; } }
/* Project editor and public project detail. Scoped to Casas593 components. */
.c593-project-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}.c593-project-editor label{display:grid;gap:7px;color:var(--c593-navy);font-size:.9rem;font-weight:750}.c593-project-editor input,.c593-project-editor select,.c593-project-editor textarea{width:100%;min-height:44px;border:1px solid var(--c593-line);border-radius:8px;background:#fff;padding:10px 12px;color:inherit}.c593-project-editor textarea{min-height:150px;resize:vertical}.c593-project-editor__description{grid-column:1 / -1}.c593-project-editor button{justify-self:start;border:0;border-radius:8px;background:var(--c593-navy);padding:12px 18px;color:#fff;font-weight:800;cursor:pointer}
.c593-project-view{padding:clamp(28px,4vw,64px) 20px 72px;background:var(--c593-page)}.c593-project-view__inner{max-width:1180px;margin:0 auto}.c593-project-view__header{display:grid;gap:8px;margin:0 0 24px}.c593-project-view__header h1{margin:0;color:var(--c593-navy);font-size:clamp(1.9rem,3vw,3rem);line-height:1.1}.c593-project-view__location,.c593-project-view__price{margin:0}.c593-project-view__location{color:var(--c593-muted);font-weight:700}.c593-project-view__location i{color:var(--c593-blue)}.c593-project-view__price{color:var(--c593-blue);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:850}.c593-project-view__cover{margin:0 0 26px;overflow:hidden;border:1px solid var(--c593-line);border-radius:16px;background:var(--c593-surface)}.c593-project-view__cover img{display:block;width:100%;aspect-ratio:16 / 8;object-fit:cover}
.c593-project-view__layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:28px;align-items:start}.c593-project-view__content{display:grid;gap:28px}.c593-project-view__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;overflow:hidden;border:1px solid var(--c593-line);border-radius:12px;background:var(--c593-line)}.c593-project-view__facts div{display:grid;gap:4px;padding:16px;background:var(--c593-surface)}.c593-project-view__facts dt{color:var(--c593-muted);font-size:.78rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.c593-project-view__facts dd{margin:0;color:var(--c593-navy);font-weight:800}.c593-project-view__description h2,.c593-project-view__gallery h2{margin:0 0 12px;color:var(--c593-navy);font-size:1.3rem}.c593-project-view__description>div{color:var(--c593-text);line-height:1.7}.c593-project-view__gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.c593-project-view__gallery-grid figure{margin:0;overflow:hidden;border-radius:10px;background:var(--c593-surface)}.c593-project-view__gallery-grid img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.c593-project-view__advisor{display:grid;gap:8px;padding:22px;border:1px solid var(--c593-line);border-radius:14px;background:var(--c593-surface)}.c593-project-view__advisor p{margin:0;color:var(--c593-muted);font-size:.85rem}.c593-project-view__advisor strong{color:var(--c593-navy);font-size:1.05rem}.c593-project-view__advisor a{color:var(--c593-blue);font-weight:800;text-decoration:none}
@media(max-width:849px){.c593-project-view__layout{grid-template-columns:1fr}.c593-project-view__advisor{order:-1}.c593-project-view__cover img{aspect-ratio:4 / 3}}@media(max-width:549px){.c593-project-editor{grid-template-columns:1fr;padding:18px}.c593-project-editor__description{grid-column:auto}.c593-project-editor button{width:100%}.c593-project-view{padding-right:15px;padding-left:15px}.c593-project-view__facts,.c593-project-view__gallery-grid{grid-template-columns:1fr}}

/* Editorial property detail: internal shortcode surfaces only. */
.c593-component.c593-property-view__title {
  max-width: 38ch;
  margin: 0 0 .55rem;
  color: #071F41;
  font-size: clamp(1.65rem, 2.45vw, 2.2rem);
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.12;
  text-wrap: balance;
}
.c593-component.c593-property-view__location {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  color: #64748B;
  font-size: .95rem;
  line-height: 1.45;
}
.c593-component.c593-property-view__location i,
.c593-component.c593-property-view__map-link i { color: #123D73; }
.c593-component.c593-property-view__map-link {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: .35rem 0 0 1rem;
  color: #123D73;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.c593-component.c593-property-view__map-link:hover { color: #071F41; text-decoration: underline; text-underline-offset: .2em; }
.c593-component.c593-property-view__actions button {
  min-height: 40px;
  padding: .55rem .85rem;
  border-color: #CBD5E1;
  border-radius: 999px;
  color: #071F41;
  background: #fff;
}
.c593-component.c593-property-view__actions button:hover { border-color: #123D73; background: #F8FAFC; }
.c593-component.c593-property-view__pricebar {
  position: relative;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .5rem 1rem;
  margin: 0 0 1.35rem;
  padding: .9rem 0 1rem;
  border: 0;
  border-top: 1px solid #E2E8F0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.c593-component.c593-property-view__pricebar::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 4.5rem;
  height: 3px;
  border-radius: 999px;
  background: #FFDD00;
  content: '';
}
.c593-component.c593-property-view__pricebar strong {
  color: #071F41;
  font-size: clamp(1.75rem, 3.5vw, 2.45rem);
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1;
}
.c593-component.c593-property-view__pricebar > span:not(.c593-component__negotiable) {
  color: #64748B;
  font-size: .88rem;
  font-weight: 650;
}
.c593-component.c593-property-view__description,
.c593-component.c593-property-view__section,
.c593-component.c593-property-view__location-map,
.c593-component.c593-property-view__video,
.c593-component.c593-property-view__tour {
  margin: 0 0 2rem;
  padding: 1.35rem 0 1.65rem;
  border: 0;
  border-top: 1px solid #E2E8F0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.c593-component.c593-property-view__description h2,
.c593-component.c593-property-view__section h2,
.c593-component.c593-property-view__location-map h2,
.c593-component.c593-property-view__video h2,
.c593-component.c593-property-view__tour h2 {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1rem;
  color: #071F41;
  font-size: clamp(1.2rem, 1.8vw, 1.5rem);
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.2;
}
.c593-component.c593-property-view__description h2::before,
.c593-component.c593-property-view__section h2::before,
.c593-component.c593-property-view__location-map h2::before,
.c593-component.c593-property-view__video h2::before,
.c593-component.c593-property-view__tour h2::before {
  width: .28rem;
  height: 1.25em;
  border-radius: .2rem;
  background: #FFDD00;
  content: '';
}
.c593-component.c593-property-view__description p,
.c593-component.c593-property-view__description li {
  color: #334155;
  font-size: 1rem;
  line-height: 1.72;
}
.c593-component.c593-property-view__description > :last-child,
.c593-component.c593-property-view__section > :last-child,
.c593-component.c593-property-view__location-map > :last-child,
.c593-component.c593-property-view__video > :last-child,
.c593-component.c593-property-view__tour > :last-child { margin-bottom: 0; }
.c593-component.c593-property-view__gallery {
  border: 1px solid #E2E8F0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 28px rgb(7 31 65 / 7%);
}
.c593-component.c593-property-view__section .c593-property-view__specs {
  display: block;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid #E2E8F0;
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
}
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
  gap: 1.5rem;
  align-items: start;
  min-width: 0;
  margin: 0;
  padding: .82rem 1rem;
  border: 0;
  border-bottom: 1px solid #E2E8F0;
  border-radius: 0;
  background: #fff;
}
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item:nth-child(odd) { background: #F8FAFC; }
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item:last-child { border-bottom: 0; }
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dt,
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dd {
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
}
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dt {
  color: #64748B;
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .02em;
  line-height: 1.4;
  text-transform: none;
}
.c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dd {
  color: #071F41;
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.45;
  text-align: right;
  white-space: normal;
}
.c593-component.c593-property-view__section .c593-property-view__amenities {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr));
  gap: .25rem 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c593-component.c593-property-view__section .c593-property-view__amenities li {
  display: flex;
  align-items: center;
  gap: .6rem;
  min-height: 42px;
  margin: 0;
  color: #334155;
  font-weight: 650;
}
.c593-component.c593-property-view__section .c593-property-view__amenities li i {
  display: grid;
  width: 1.85rem;
  height: 1.85rem;
  flex: 0 0 1.85rem;
  place-items: center;
  border-radius: 50%;
  background: #F8FAFC;
  color: #123D73;
}
.c593-component.c593-property-view__location-map .c593-map {
  min-height: 360px;
  overflow: hidden;
  border: 1px solid #E2E8F0;
  border-radius: 14px;
  background: #F8FAFC;
}
.col-inner:has(> .c593-advisor) { height: 100%; }
.c593-component.c593-advisor {
  position: sticky;
  top: 106px;
  align-self: flex-start;
  z-index: 2;
  margin: 0 0 1.5rem;
  padding: 1.2rem;
  border: 1px solid #E2E8F0;
  border-top: 1px solid #E2E8F0;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 14px 32px rgb(7 31 65 / 9%);
}
.c593-component.c593-advisor::before { position: absolute; top: -1px; left: 1.2rem; width: 4.5rem; height: 3px; border-radius: 999px; background: #FFDD00; content: ''; }
.c593-component.c593-advisor .c593-advisor-photo { width: 76px; height: 76px; margin-bottom: .8rem; }
.c593-component.c593-advisor h2 { color: #071F41; font-size: 1.18rem; }
.c593-component.c593-advisor > p { color: #64748B; }
.c593-component.c593-advisor .c593-advisor-channels { gap: .5rem; }
.c593-component.c593-advisor .c593-advisor-channels a { border-radius: 10px; }
.c593-component .c593-property-view__similar-grid { gap: 1rem; }
.c593-component .c593-property-view__similar-grid .c593-property-card { border-radius: 14px; box-shadow: 0 10px 24px rgb(7 31 65 / 6%); }
@media (max-width: 849px) {
  .c593-component.c593-advisor { position: static; top: auto; z-index: auto; }
  .row:has(> .col > .col-inner > .c593-advisor) { display: block; }
  .row:has(> .col > .col-inner > .c593-advisor) > .col { width: 100%; max-width: 100%; flex-basis: 100%; }
}
@media (max-width: 549px) {
  .c593-component.c593-property-view__title { max-width: none; font-size: 1.65rem; }
  .c593-component.c593-property-view__map-link { margin-left: 0; }
  .c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
  .c593-component.c593-property-view__section .c593-property-view__specs .c593-property-view__spec-item dd { text-align: left; }
  .c593-component.c593-property-view__description,
  .c593-component.c593-property-view__section,
  .c593-component.c593-property-view__location-map,
  .c593-component.c593-property-view__video,
  .c593-component.c593-property-view__tour { margin-bottom: 1.5rem; padding-top: 1.1rem; }
  .c593-component.c593-advisor { padding: 1rem; }
}

/* Premium property microinteractions: CSS-only, compositor-friendly, and optional. */
@keyframes c593-property-reveal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .c593-component.c593-property-view__title,
  .c593-component.c593-property-view__location,
  .c593-component.c593-property-view__map-link,
  .c593-component.c593-property-view__actions,
  .c593-component.c593-property-view__gallery,
  .c593-component.c593-property-view__pricebar,
  .c593-component.c593-advisor,
  .c593-component.c593-property-view__description,
  .c593-component.c593-property-view__section,
  .c593-component.c593-property-view__location-map,
  .c593-component.c593-property-view__video,
  .c593-component.c593-property-view__tour {
    animation: c593-property-reveal .48s cubic-bezier(.22, .7, .25, 1) both;
  }
  .c593-component.c593-property-view__location { animation-delay: 40ms; }
  .c593-component.c593-property-view__map-link { animation-delay: 70ms; }
  .c593-component.c593-property-view__actions { animation-delay: 90ms; }
  .c593-component.c593-property-view__gallery { animation-delay: 120ms; }
  .c593-component.c593-property-view__pricebar { animation-delay: 150ms; }
  .c593-component.c593-advisor { animation-delay: 190ms; }
  .c593-component.c593-property-view__description { animation-delay: 230ms; }
  .c593-component.c593-property-view__section { animation-delay: 260ms; }
  .c593-component.c593-property-view__location-map { animation-delay: 300ms; }
  .c593-component.c593-property-view__video,
  .c593-component.c593-property-view__tour { animation-delay: 320ms; }
  .c593-component .c593-property-view__similar-grid .c593-property-card {
    animation: c593-property-reveal .42s cubic-bezier(.22, .7, .25, 1) both;
  }
  .c593-component .c593-property-view__similar-grid .c593-property-card:nth-child(2) { animation-delay: 60ms; }
  .c593-component .c593-property-view__similar-grid .c593-property-card:nth-child(3) { animation-delay: 120ms; }
  .c593-component .c593-property-view__similar-grid .c593-property-card:nth-child(4) { animation-delay: 180ms; }
}
.c593-component.c593-property-view__actions button,
.c593-component.c593-advisor .c593-advisor-channels a,
.c593-component .c593-property-view__similar-grid .c593-property-card,
.c593-component.c593-property-view__gallery a,
.c593-component.c593-property-view__gallery img {
  transition-property: transform, border-color, background-color, box-shadow, color;
  transition-duration: .18s;
  transition-timing-function: ease;
}
.c593-component.c593-property-view__actions button,
.c593-component.c593-advisor .c593-advisor-channels a {
  touch-action: manipulation;
}
.c593-component.c593-property-view__actions button:hover,
.c593-component.c593-property-view__actions button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 5px 14px rgb(7 31 65 / 10%);
}
.c593-component.c593-property-view__actions button:active,
.c593-component.c593-advisor .c593-advisor-channels a:active {
  transform: translateY(0);
}
.c593-component.c593-advisor .c593-advisor-channels a:hover,
.c593-component.c593-advisor .c593-advisor-channels a:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgb(7 31 65 / 12%);
}
.c593-component.c593-property-view__gallery a:focus-visible {
  outline: 3px solid #FFDD00;
  outline-offset: -3px;
}
.c593-component.c593-property-view__gallery a:hover img,
.c593-component.c593-property-view__gallery a:focus-visible img { transform: scale(1.02); }
.c593-component .c593-property-view__similar-grid .c593-property-card:hover,
.c593-component .c593-property-view__similar-grid .c593-property-card:focus-within {
  transform: translateY(-4px);
  border-color: #B8C6D8;
  box-shadow: 0 16px 30px rgb(7 31 65 / 11%);
}
@media (prefers-reduced-motion: reduce), print {
  .c593-component.c593-property-view__title,
  .c593-component.c593-property-view__location,
  .c593-component.c593-property-view__map-link,
  .c593-component.c593-property-view__actions,
  .c593-component.c593-property-view__gallery,
  .c593-component.c593-property-view__pricebar,
  .c593-component.c593-advisor,
  .c593-component.c593-property-view__description,
  .c593-component.c593-property-view__section,
  .c593-component.c593-property-view__location-map,
  .c593-component.c593-property-view__video,
  .c593-component.c593-property-view__tour,
  .c593-component .c593-property-view__similar-grid .c593-property-card {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .c593-component.c593-property-view__actions button,
  .c593-component.c593-advisor .c593-advisor-channels a,
  .c593-component .c593-property-view__similar-grid .c593-property-card,
  .c593-component.c593-property-view__gallery a,
  .c593-component.c593-property-view__gallery img {
    transition: none !important;
  }
}

/* Keep card hover transforms independent from the entry animation. */
@keyframes c593-property-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  .c593-component .c593-property-view__similar-grid .c593-property-card {
    animation-name: c593-property-fade;
  }
}
@media (prefers-reduced-motion: reduce) {
  .c593-component-lightbox button { transition: none !important; }
}
