/* Reference the active Blocksy palette; fall back to Propzilla colors. */
.pzi{
--pzi-accent:var(--theme-palette-color-1,var(--paletteColor1,#ff6b4a));
--pzi-accent-hover:var(--theme-palette-color-2,var(--paletteColor2,#e85a38));
--pzi-text:var(--theme-text-color,var(--theme-palette-color-3,#3a4f66));
--pzi-heading:var(--theme-heading-color,var(--theme-palette-color-4,#192a3d));
--pzi-muted:var(--theme-palette-color-3,#3a4f66);
--pzi-line:var(--theme-border-color,var(--theme-palette-color-5,#e1e8ed));
--pzi-surface:var(--theme-palette-color-6,#f2f5f7);
--pzi-panel:var(--theme-palette-color-8,#fff);
--pzi-button-text:var(--theme-button-text-initial-color,#fff);
--pzi-button-text-hover:var(--theme-button-text-hover-color,var(--pzi-button-text));
--pzi-accent-soft:var(--pzi-surface);
--pzi-accent-border:var(--pzi-line);
color:var(--pzi-text);font-family:inherit;font-size:1rem;line-height:1.6
}
@supports(color:color-mix(in srgb,red,white)){
.pzi{--pzi-accent-soft:color-mix(in srgb,var(--pzi-accent) 8%,var(--pzi-panel));--pzi-accent-border:color-mix(in srgb,var(--pzi-accent) 28%,var(--pzi-panel))}
}
.pzi *{box-sizing:border-box}.pzi a{color:inherit}.pzi h1,.pzi h2,.pzi h3{color:var(--theme-heading-color,var(--pzi-heading))}.pzi p{color:inherit}.pzi a:focus-visible,.pzi button:focus-visible,.pzi input:focus-visible,.pzi select:focus-visible{outline:3px solid var(--pzi-accent);outline-offset:4px}
.pzi-page{max-width:1200px;margin:0 auto;padding:38px 24px 70px}.pzi-grid{display:grid;gap:24px}.pzi-cols-1{grid-template-columns:1fr}.pzi-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pzi-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pzi-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pzi-card{overflow:hidden;background:var(--pzi-panel);border:1px solid var(--pzi-line);border-radius:14px;height:100%;transition:box-shadow .18s,transform .18s}.pzi-card:hover{box-shadow:0 12px 28px rgb(28 39 56 / 10%);transform:translateY(-2px)}.pzi-card-link{display:flex;flex-direction:column;text-decoration:none!important;height:100%}.pzi-card-media{position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--pzi-surface)}.pzi-card-image,.pzi-card-media img{width:100%;height:100%;object-fit:cover;display:block}.pzi-placeholder{display:grid;place-items:center;height:100%;background:linear-gradient(135deg,var(--pzi-surface),var(--pzi-line));font-weight:700;font-size:1.4rem;color:var(--pzi-muted)}
.pzi-badge{position:absolute;top:12px;left:12px;background:var(--pzi-panel);color:var(--pzi-accent);padding:4px 11px;border-radius:20px;font-size:.78rem;font-weight:700}.pzi-card-body{padding:20px;display:flex;flex-direction:column;flex:1}.pzi-eyebrow{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px!important;color:var(--pzi-accent)!important}.pzi-card-title{font-size:1.18rem;line-height:1.35;margin:0 0 8px!important;overflow-wrap:anywhere}.pzi-location{color:var(--pzi-muted)!important;font-size:.92rem;margin:0 0 12px!important}.pzi-price{font-size:1.2rem;font-weight:750;margin:0 0 12px!important;overflow-wrap:anywhere}.pzi-facts{font-size:.86rem;color:var(--pzi-muted)!important;margin:0 0 20px!important}.pzi-card-cta{color:var(--pzi-accent);font-weight:650;font-size:.88rem;margin-top:auto}
.pzi-search{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;background:var(--pzi-surface);border:1px solid var(--pzi-line);padding:20px;border-radius:14px;margin:0 0 30px}.pzi-search label{font-size:.8rem;font-weight:650;flex:1 1 140px;display:block}.pzi-search input,.pzi-search select{display:block;width:100%;height:44px;margin-top:6px;border:1px solid var(--pzi-line);border-radius:6px;background:var(--pzi-panel);padding:8px 10px;font:inherit;color:var(--pzi-text)}.pzi .pzi-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;background:var(--pzi-accent);color:var(--pzi-button-text);border:1px solid var(--pzi-accent);padding:10px 18px;border-radius:7px;cursor:pointer;text-decoration:none;font:inherit;font-size:.9rem;font-weight:650;text-align:center}.pzi .pzi-button-secondary{color:var(--pzi-accent);background:var(--pzi-panel)}
.pzi-breadcrumb{font-size:.88rem;color:var(--pzi-muted);margin-bottom:28px}.pzi-single-header{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:22px}.pzi-single-header h1,.pzi-archive-header h1{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.18;margin:0 0 12px}.pzi-price-large{font-size:1.7rem;flex-shrink:0;max-width:40%}.pzi-main-image{border-radius:16px;overflow:hidden;margin-bottom:32px;max-height:560px;background:var(--pzi-surface)}.pzi-main-image img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover}.pzi-single-body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:34px}.pzi-description{overflow-wrap:anywhere}.pzi-description p{margin:0 0 18px}.pzi-info{border:1px solid var(--pzi-line);border-radius:14px;padding:24px;align-self:start}.pzi-info h2,.pzi-gallery-section h2{font-size:1.25rem;margin:0 0 20px}.pzi-details{margin:0 0 24px}.pzi-details>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--pzi-line);padding:10px 0;font-size:.86rem}.pzi-details dt{color:var(--pzi-muted)}.pzi-details dd{margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere}.pzi-contact{display:grid;gap:10px}.pzi-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pzi-gallery img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:8px;display:block}.pzi-gallery-section{margin-top:30px}.pzi-empty{padding:24px;background:var(--pzi-surface);border-radius:10px}.pzi-pagination{margin-top:30px}.pzi-pagination .nav-links{display:flex;flex-wrap:wrap;gap:10px}.pzi-pagination .page-numbers{padding:7px 13px;border:1px solid var(--pzi-line);border-radius:5px;text-decoration:none}.pzi-pagination .current{background:var(--pzi-accent);color:#fff}
@media(max-width:1000px){.pzi-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.pzi-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.pzi-single-body{grid-template-columns:1fr}.pzi-single-header{flex-direction:column;gap:4px}.pzi-price-large{max-width:100%}}@media(max-width:540px){.pzi-page{padding:24px 16px 48px}.pzi-grid{gap:18px}.pzi-cols-2,.pzi-cols-3,.pzi-cols-4{grid-template-columns:1fr}.pzi-search{padding:16px}.pzi-search label{flex-basis:100%}.pzi-search .pzi-button{width:100%}.pzi-gallery{grid-template-columns:1fr}.pzi-info{padding:20px}}@media(prefers-reduced-motion:reduce){.pzi-card{transition:none}.pzi-card:hover{transform:none}}

/* Compact cards are the shortcode default; full catalogs retain their layout. */
.pzi-grid-compact{gap:18px}
.pzi-grid-compact .pzi-card{width:100%;max-width:330px;border-radius:12px}
.pzi-grid-compact .pzi-card-media{aspect-ratio:16/10}
.pzi-grid-compact .pzi-card-body{padding:14px}
.pzi-grid-compact .pzi-card-title{font-size:1rem;margin-bottom:6px!important}
.pzi-grid-compact .pzi-eyebrow{font-size:.7rem;margin-bottom:6px!important}
.pzi-grid-compact .pzi-location{font-size:.83rem;margin-bottom:8px!important}
.pzi-grid-compact .pzi-price{font-size:1.06rem;margin-bottom:8px!important}
.pzi-grid-compact .pzi-facts{font-size:.78rem;margin-bottom:12px!important}
.pzi-grid-compact .pzi-card-cta{font-size:.8rem}
.pzi-grid-compact .pzi-badge{font-size:.7rem;padding:3px 9px;top:10px;left:10px}

/* One main photo, a horizontal thumbnail strip and a native modal viewer. */
.pzi-gallery-shell{max-width:960px;margin:0 auto 30px;min-width:0}
.pzi-gallery-stage{position:relative;height:clamp(210px,45vw,440px);background:var(--pzi-surface);border-radius:14px;overflow:hidden;touch-action:pan-y}
.pzi .pzi-gallery-open{display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;background:transparent;cursor:zoom-in;color:#fff;font:inherit}
.pzi-gallery-open img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
.pzi-gallery-expand{position:absolute;bottom:14px;right:14px;background:rgb(12 22 35 / 75%);color:#fff;padding:5px 10px;border-radius:6px;font-size:.75rem}
.pzi-gallery-count{position:absolute;bottom:14px;left:14px;background:rgb(12 22 35 / 75%);color:#fff;padding:5px 10px;border-radius:6px;font-size:.75rem;pointer-events:none}
.pzi .pzi-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:rgb(12 22 35 / 75%);color:#fff;font-size:30px;line-height:1;cursor:pointer;z-index:1}
.pzi .pzi-gallery-arrow:hover{background:var(--pzi-accent)}
.pzi-gallery-prev{left:12px}.pzi-gallery-next{right:12px}
.pzi-gallery-thumbs{display:flex;gap:9px;overflow-x:auto;max-width:100%;padding:10px 3px 7px;scrollbar-width:thin;position:relative}
.pzi .pzi-gallery-thumb{flex:0 0 86px;width:86px;height:64px;padding:2px;border:2px solid transparent;border-radius:8px;background:var(--pzi-surface);cursor:pointer}
.pzi .pzi-gallery-thumb[aria-pressed=true]{border-color:var(--pzi-accent)}
.pzi-gallery-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:4px}
.pzi .pzi-lightbox{padding:0;border:0;border-radius:12px;width:min(1100px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);color:#fff;background:#111a25;overflow:hidden}
.pzi-lightbox[open]{display:flex;flex-direction:column}
.pzi-lightbox::backdrop{background:rgb(0 0 0 / 85%)}
.pzi-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;flex-shrink:0}
.pzi-lightbox-bar h2{font-size:1rem;line-height:1.4;margin:0;overflow-wrap:anywhere}
.pzi .pzi-lightbox-close{flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:50%;font-size:30px;line-height:1;background:#223045;color:#fff;cursor:pointer}
.pzi-lightbox-stage{position:relative;height:min(70dvh,740px);min-height:0;flex:1 1 auto;background:#070f19;touch-action:pan-y}
.pzi-lightbox-stage img{display:block;width:100%;height:100%;object-fit:contain}
.pzi-lightbox-caption{text-align:center;font-size:.85rem;margin:0!important;padding:10px 16px;flex-shrink:0}

.pzi-amenities,.pzi-mortgage{margin-top:28px}
.pzi-amenities h2,.pzi-mortgage h2{font-size:1.25rem;line-height:1.4;margin:0 0 14px}
.pzi-amenity-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.pzi-amenity-list li{border:1px solid var(--pzi-line);border-radius:20px;background:var(--pzi-surface);padding:6px 12px;font-size:.85rem;overflow-wrap:anywhere}
.pzi-mortgage{padding:22px;border:1px solid var(--pzi-line);border-radius:14px;background:var(--pzi-panel)}
.pzi-mortgage-intro{font-size:.88rem;color:var(--pzi-muted)!important;margin:0 0 18px!important}
.pzi-mortgage-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px;align-items:end}
.pzi-mortgage-inputs label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:650;min-width:0}
.pzi-mortgage-inputs input{width:100%;height:44px;border:1px solid var(--pzi-line);border-radius:6px;background:var(--pzi-panel);padding:8px 10px;font:inherit;color:var(--pzi-text)}
.pzi-mortgage-result{padding:18px;margin-top:18px;background:var(--pzi-surface);border-radius:9px;overflow-wrap:anywhere}
.pzi-mortgage-result>p{font-size:.83rem;margin:0 0 14px!important}
.pzi-mortgage-result strong{display:block;font-size:1.65rem;color:var(--pzi-accent);line-height:1.4}
.pzi-mortgage-result dl{margin:0}
.pzi-mortgage-result dl>div{display:flex;justify-content:space-between;gap:12px;font-size:.82rem;padding:7px 0;border-top:1px solid var(--pzi-line)}
.pzi-mortgage-result dt{color:var(--pzi-muted)}
.pzi-mortgage-result dd{margin:0;text-align:right;font-weight:650}
.pzi-mortgage-note{font-size:.76rem;color:var(--pzi-muted)!important;line-height:1.6;margin:14px 0 0!important}
.pzi-mortgage-error{color:#a82323!important;font-size:.85rem;margin:12px 0 0!important}
.pzi [hidden]{display:none!important}
@media(max-width:540px){.pzi-gallery-thumb{flex-basis:76px!important;width:76px!important;height:58px!important}.pzi .pzi-gallery-arrow{width:38px;height:38px}.pzi-gallery-prev{left:8px}.pzi-gallery-next{right:8px}.pzi-mortgage{padding:18px}.pzi-lightbox-bar{padding:8px 12px}.pzi-lightbox-bar h2{font-size:.85rem}.pzi .pzi-lightbox{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.pzi-lightbox-stage{height:65dvh}}
@media(max-width:360px){.pzi-mortgage-inputs{grid-template-columns:1fr}}

/* Two independent columns: description/gallery and characteristics/calculator. */
.pzi-content-column,.pzi-sidebar{min-width:0}
.pzi-sidebar{display:flex;flex-direction:column;gap:20px;align-self:start}
.pzi-sidebar .pzi-info,.pzi-sidebar .pzi-mortgage{width:100%;margin:0}
.pzi-content-column .pzi-gallery-shell{max-width:100%;margin:26px 0 0}
.pzi-content-column .pzi-gallery-stage{height:clamp(210px,30vw,360px)}
.pzi-gallery-heading{font-size:1.25rem;line-height:1.4;margin:0 0 14px!important}
.pzi .pzi-currency-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px;font-size:.8rem;color:var(--pzi-muted)}
.pzi-currency-choice{display:flex;align-items:center;gap:8px}
.pzi-currency-choice>span{font-size:.8rem;font-weight:650;color:var(--pzi-muted)}
.pzi-currency-choice>span.is-active{color:var(--pzi-accent)}
.pzi .pzi-currency-switch{position:relative;width:48px;height:28px;min-height:28px;flex:0 0 48px;padding:0;border:1px solid var(--pzi-accent);border-radius:18px;background:var(--pzi-accent);cursor:pointer}
.pzi-currency-switch>span{position:absolute;left:3px;top:3px;width:20px;height:20px;background:var(--pzi-panel);border-radius:50%;transition:transform .16s}
.pzi-currency-switch[aria-checked=true]>span{transform:translateX(20px)}
.pzi .pzi-currency-switch:disabled{opacity:.45;cursor:not-allowed}
.pzi-uf-reference{font-size:.75rem;color:var(--pzi-muted)!important;line-height:1.6;margin:12px 0 0!important}
@media(prefers-reduced-motion:reduce){.pzi-currency-switch>span{transition:none}}

/* Keep initial, hover and keyboard-focus states in the same palette. */
.pzi .pzi-button:is(:hover,:focus-visible){background:var(--pzi-accent-hover);border-color:var(--pzi-accent-hover);color:var(--pzi-button-text-hover)}
.pzi .pzi-button-secondary:is(:hover,:focus-visible){background:var(--pzi-accent-soft);border-color:var(--pzi-accent-hover);color:var(--pzi-accent-hover)}
.pzi .pzi-currency-switch:enabled:is(:hover,:focus-visible){background:var(--pzi-accent-hover);border-color:var(--pzi-accent-hover)}
.pzi .pzi-gallery-arrow:hover{background:var(--pzi-accent-hover)}
.pzi-breadcrumb a:is(:hover,:focus-visible),.pzi-pagination a:is(:hover,:focus-visible){color:var(--pzi-accent-hover)}
.pzi-card-link:is(:hover,:focus-visible) .pzi-card-cta{color:var(--pzi-accent-hover)}
