/* PREVENDE public components: contained styles, inherited typography and no remote assets. */
.pv-public{--pv-ink:#243641;--pv-muted:#526772;--pv-primary:#0f766e;--pv-primary-hover:#115e59;--pv-line:#dbe4e8;--pv-soft:#f4f7f9;--pv-tint:#edf7f5;--pv-error:#9d271b;--pv-radius:12px;--pv-shadow:0 3px 16px #24364108;color:var(--pv-ink);font-family:inherit;font-size:1rem;line-height:1.6;max-width:1240px;container-type:inline-size;container-name:prevende;margin:28px auto;isolation:isolate}
.pv-public *,.pv-public *::before,.pv-public *::after{box-sizing:border-box}
.pv-public [hidden]{display:none!important}
.pv-public a{color:var(--pv-primary);text-underline-offset:3px}
.pv-public a:hover{color:var(--pv-primary-hover);text-decoration:underline}
.pv-public h1,.pv-public h2,.pv-public h3,.pv-public p{margin:0 0 12px;font-family:inherit;line-height:inherit}
.pv-public h1{font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.2;letter-spacing:-.025em}
.pv-public h2{font-size:1.35rem;line-height:1.35;letter-spacing:-.015em}
.pv-public h3{font-size:1.1rem;line-height:1.4;letter-spacing:-.01em}
.pv-public :where(h1,h2,h3,.pv-card-location,.pv-inline-status){overflow-wrap:anywhere}
.pv-public button,.pv-public input,.pv-public select,.pv-public textarea{font:inherit;letter-spacing:normal}
.pv-public :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--pv-primary);outline-offset:3px}
.pv-public .pv-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 19px;border:1px solid var(--pv-primary);border-radius:8px;background:var(--pv-primary);color:#fff;font-weight:600;text-align:center;text-decoration:none;cursor:pointer;line-height:1.35;box-shadow:0 1px 2px #2436410a;transition:background .15s,border-color .15s,box-shadow .15s}
.pv-public .pv-button:hover{background:var(--pv-primary-hover);border-color:var(--pv-primary-hover);color:#fff;text-decoration:none;box-shadow:0 3px 8px #24364112}
.pv-public .pv-button-secondary{background:#fff;color:var(--pv-primary-hover);border-color:#adc5c3;box-shadow:none}
.pv-public .pv-button-secondary:hover{background:var(--pv-tint);color:var(--pv-primary-hover);border-color:var(--pv-primary)}
.pv-public button:disabled{opacity:.65;cursor:wait;box-shadow:none}
.pv-public .pv-button[aria-disabled=true]{cursor:wait}

/* Search and filters. */
.pv-public .pv-search-form{padding:26px;background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);box-shadow:var(--pv-shadow)}
.pv-public .pv-search-main,.pv-public .pv-filter-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pv-public .pv-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 0}
.pv-public .pv-field{display:flex;flex-direction:column;gap:7px;font-size:.875rem;font-weight:600;margin:0;min-width:0}
.pv-public .pv-field input,.pv-public .pv-field select,.pv-public .pv-field textarea{display:block;width:100%;min-height:46px;border:1px solid #7c929e;background:#fff;border-radius:8px;padding:11px 12px;color:var(--pv-ink);font-weight:400;box-shadow:none;max-width:none;margin:0;line-height:1.4;transition:border-color .15s,box-shadow .15s}
.pv-public .pv-field :is(input,select,textarea):hover{border-color:#718e9a}
.pv-public .pv-field :is(input,select,textarea):focus{border-color:var(--pv-primary);box-shadow:0 0 0 1px var(--pv-primary)}
.pv-public .pv-field textarea{resize:vertical;min-height:125px}
.pv-public .pv-filters{margin-top:20px;border-top:1px solid var(--pv-line);padding-top:10px}
.pv-public .pv-filters summary{min-height:44px;padding:9px 0;cursor:pointer;font-weight:600;color:var(--pv-primary-hover);display:list-item;list-style:disclosure-closed inside}
.pv-public .pv-filters[open] summary{list-style-type:disclosure-open}
.pv-public .pv-features{display:flex;flex-wrap:wrap;gap:8px 24px;padding:0;border:0;margin:0}
.pv-public .pv-features legend{font-size:.875rem;font-weight:600;padding:0;margin:0 0 8px}
.pv-public .pv-features label{display:flex;gap:8px;align-items:center;min-height:44px;padding:3px 0;font-size:.875rem;cursor:pointer}
.pv-public input[type=checkbox]{accent-color:var(--pv-primary);width:18px;height:18px;flex-shrink:0;margin:0}
.pv-public .pv-search-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:22px}
.pv-public .pv-search-actions .pv-field{min-width:180px;margin-right:auto}
.pv-public .pv-reset{padding:11px 6px;font-size:.875rem;line-height:1.5}
.pv-public .pv-help{font-size:.85rem;color:var(--pv-muted);margin:10px 0 0;line-height:1.6}
.pv-public .pv-region-error{color:var(--pv-error);font-weight:600}

/* Results, photographs and prices. */
.pv-public .pv-results-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:32px 0 20px}
.pv-public .pv-results-heading h2,.pv-public .pv-results-heading p{margin:0}
.pv-public .pv-results-heading p{color:var(--pv-muted);font-size:.9rem;white-space:normal}
.pv-public .pv-property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pv-public .pv-property-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--pv-line);border-radius:var(--pv-radius);overflow:hidden;background:#fff;box-shadow:var(--pv-shadow);transition:border-color .15s,box-shadow .15s}
.pv-public .pv-property-card:hover{border-color:#acc8c5;box-shadow:0 8px 24px #24364112}
.pv-public .pv-property-card:focus-within{border-color:var(--pv-primary)}
.pv-public .pv-card-photo{display:block;position:relative;aspect-ratio:4/3;background:var(--pv-soft);text-decoration:none;overflow:hidden}
.pv-public .pv-card-photo img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border:0;border-radius:0}
.pv-public .pv-no-photo{display:flex;height:100%;align-items:center;justify-content:center;color:var(--pv-muted);padding:24px;text-align:center;font-size:.875rem}
.pv-public .pv-status{position:absolute;top:14px;left:14px;max-width:calc(100% - 28px);padding:5px 11px;border:1px solid #ffffffb3;border-radius:6px;background:#fff;color:var(--pv-ink);font-weight:600;font-size:.75rem;line-height:1.4;box-shadow:0 2px 8px #24364112;overflow-wrap:anywhere}
.pv-public .pv-card-body{padding:21px;display:flex;flex-direction:column;flex:1;min-width:0}
.pv-public .pv-card-body h3{margin-bottom:12px}
.pv-public .pv-card-body h3 a{color:var(--pv-ink);text-decoration:none}
.pv-public .pv-card-body h3 a:hover{color:var(--pv-primary-hover);text-decoration:underline}
.pv-public .pv-card-location{color:var(--pv-muted);font-size:.875rem;margin-bottom:8px}
.pv-public .pv-price{color:var(--pv-primary-hover);font-weight:700;font-size:1.1rem;line-height:1.55;letter-spacing:-.015em;overflow-wrap:anywhere}
.pv-public .pv-facts{font-size:.93rem}
.pv-public .pv-reference{font-size:.78rem;color:var(--pv-muted);margin:0}
.pv-public .pv-card-body>.pv-reference{margin-top:auto;padding-top:3px}
.pv-public .pv-empty,.pv-public .pv-notice{padding:30px;background:var(--pv-soft);border:1px solid var(--pv-line);border-radius:var(--pv-radius)}
.pv-public .pv-empty{text-align:center;margin:24px 0}
.pv-public .pv-empty .pv-button{margin-top:8px}
.pv-public .pv-pagination{margin:32px 0}
.pv-public .pv-pagination ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;list-style:none;padding:0;margin:0}
.pv-public .pv-pagination li{margin:0;padding:0}
.pv-public .pv-pagination a,.pv-public .pv-pagination .current,.pv-public .pv-pagination .dots{display:block;padding:9px 14px;min-width:44px;min-height:44px;text-align:center;border:1px solid var(--pv-line);border-radius:8px;text-decoration:none;background:#fff;font-size:.9rem}
.pv-public .pv-pagination a:hover{background:var(--pv-tint);border-color:#adc5c3;color:var(--pv-primary-hover)}
.pv-public .pv-pagination .current{background:var(--pv-primary);color:#fff;border-color:var(--pv-primary);font-weight:600}
.pv-public .pv-pagination .dots{background:transparent;border-color:transparent}

/* Map and its native Leaflet controls remain usable independently of the theme. */
.pv-public .pv-map-panel{margin:0 0 24px;border:1px solid var(--pv-line);border-radius:var(--pv-radius);overflow:hidden;background:#fff}
.pv-public .pv-map-intro{padding:24px;background:var(--pv-soft)}
.pv-public .pv-map-intro .pv-button{min-width:150px;margin-top:15px}
.pv-public .pv-map{height:480px;min-height:300px;z-index:0}
.pv-public .pv-map:focus-visible{outline:3px solid var(--pv-primary);outline-offset:-4px}
.pv-public .pv-map-panel>.pv-help:not(:empty){padding:12px 18px;margin:0}
.pv-public .leaflet-container,.pv-public .leaflet-popup-content-wrapper,.pv-public .leaflet-control-attribution,.pv-public .leaflet-control-zoom a{font-family:inherit}
.pv-public .leaflet-control-attribution{font-size:11px;line-height:1.4}
.pv-public .leaflet-control-attribution a{color:#163d63}
.pv-public .pv-map-marker{border:3px solid white;border-radius:50%;background:var(--pv-primary);color:white;box-shadow:0 2px 8px #24364140;display:flex;align-items:center;justify-content:center;font-size:11px}
.pv-public .pv-map-popup p{font-size:.86rem;margin:8px 0}

/* Property detail and contact. */
.pv-public .pv-back{display:inline-flex;align-items:center;min-height:44px;margin-bottom:18px;font-size:.875rem;font-weight:500}
.pv-public .pv-detail-heading{margin-bottom:28px;padding-bottom:26px;border-bottom:1px solid var(--pv-line)}
.pv-public .pv-detail-heading .pv-price{font-size:1.5rem;margin-top:16px}
.pv-public .pv-inline-status{display:inline-block;padding:5px 11px;background:var(--pv-tint);color:var(--pv-primary-hover);border:1px solid #c9dedb;border-radius:6px;font-size:.8rem;font-weight:600}
.pv-public .pv-contact-link{display:flex;width:fit-content;max-width:100%;margin-top:18px}
.pv-public .pv-gallery-help{margin-bottom:12px}
.pv-public .pv-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 32px}
.pv-public .pv-gallery a{aspect-ratio:4/3;display:block;overflow:hidden;border:1px solid var(--pv-line);border-radius:10px;background:var(--pv-soft)}
.pv-public .pv-gallery a:first-child{grid-column:span 2;grid-row:span 2}
.pv-public .pv-gallery img{width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0}
.pv-public .pv-detail-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,350px);gap:36px;align-items:start}
.pv-public .pv-detail-columns>*{min-width:0}
.pv-public .pv-detail-columns section{margin-bottom:30px}
.pv-public .pv-detail-columns section>h2{margin-bottom:16px}
.pv-public .pv-description{overflow-wrap:anywhere}
.pv-public .pv-description p{margin-bottom:16px}
.pv-public .pv-description ul,.pv-public .pv-description ol{padding-inline-start:24px;margin:0 0 16px}
.pv-public .pv-description ul{list-style:disc}
.pv-public .pv-description ol{list-style:decimal}
.pv-public .pv-description li{margin-bottom:6px}
.pv-public .pv-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 24px;padding-left:20px;margin:16px 0}
.pv-public .pv-inquiry-panel{background:var(--pv-soft);border:1px solid var(--pv-line);border-radius:var(--pv-radius);padding:24px;box-shadow:var(--pv-shadow);scroll-margin-top:100px}
.pv-public .pv-inquiry-panel>h2{font-size:1.2rem}
.pv-public .pv-inquiry-panel:focus-visible{outline:3px solid var(--pv-primary);outline-offset:3px}
.pv-public .pv-inquiry-form{display:grid;gap:17px;margin-top:20px}
.pv-public .pv-consent{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;line-height:1.6;min-height:44px;cursor:pointer;overflow-wrap:anywhere}
.pv-public .pv-consent input{margin-top:4px}
.pv-public .pv-consent a{text-decoration:underline}
.pv-public .pv-honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.pv-public .pv-form-errors{padding:16px;border:2px solid var(--pv-error);border-radius:8px;background:#fff6f3;color:#702017;font-size:.9rem;overflow-wrap:anywhere}
.pv-public .pv-form-errors p{margin-bottom:8px}
.pv-public .pv-form-errors ul{padding-left:20px;margin:0}
.pv-public .pv-form-errors:focus{outline:3px solid var(--pv-primary);outline-offset:3px}
.pv-public .pv-field-error{display:block;color:var(--pv-error);font-size:.85rem;font-weight:400;margin-top:5px}
.pv-public [aria-invalid="true"],.pv-public .pv-field [aria-invalid="true"]{border-color:var(--pv-error)}
.pv-public .pv-field [aria-invalid="true"]:focus{box-shadow:0 0 0 1px var(--pv-error)}
.pv-public.pv-thanks{text-align:center;max-width:640px;padding:48px 30px;background:#fff;border:1px solid var(--pv-line);border-radius:var(--pv-radius);box-shadow:var(--pv-shadow)}
.pv-public .pv-thanks-mark{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border:1px solid #c9dedb;border-radius:50%;background:var(--pv-tint);color:var(--pv-primary-hover);font-size:26px;margin-bottom:22px}
.pv-public.pv-thanks p{margin:16px 0 24px}

/* Original decorative inline icons accompany visible attribute labels. */
.pv-public .pv-line-icon{display:block;width:24px;height:24px;flex:none;color:currentColor;overflow:visible}
.pv-public .pv-attribute-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;margin:20px 0 24px;max-width:760px}
.pv-public .pv-attribute-stat{position:relative;min-width:0;min-height:84px;padding:16px 14px 14px 66px;background:var(--pv-soft);border:1px solid var(--pv-line);border-radius:10px;display:flex;flex-direction:column-reverse;justify-content:center;gap:4px}
.pv-public .pv-attribute-label{margin:0;color:var(--pv-muted);font-size:.8rem;font-weight:400;line-height:1.35;overflow-wrap:anywhere}
.pv-public .pv-attribute-value{margin:0;color:var(--pv-ink);font-size:1.3rem;font-weight:650;line-height:1.25;letter-spacing:-.02em}
.pv-public .pv-stat-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#e1efec;color:var(--pv-primary-hover)}
.pv-public .pv-attribute-stats-compact{gap:8px;margin:16px 0;padding:14px 0;border-block:1px solid var(--pv-line)}
.pv-public .pv-attribute-stats-compact .pv-attribute-stat{min-height:42px;padding:0 0 0 26px;border:0;border-radius:0;background:none;gap:4px}
.pv-public .pv-attribute-stats-compact .pv-stat-icon{left:0;width:20px;height:20px;background:none;border-radius:0}
.pv-public .pv-attribute-stats-compact .pv-line-icon{width:20px;height:20px;stroke-width:1.6}
.pv-public .pv-attribute-stats-compact .pv-attribute-value{font-size:.94rem;font-weight:650}
.pv-public .pv-attribute-stats-compact .pv-attribute-label{font-size:.7rem;line-height:1.3;hyphens:auto}
.pv-public .pv-amenities{list-style:none;padding:0;margin:16px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px}
.pv-public .pv-amenities li{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--pv-line);border-radius:10px;min-height:72px;margin:0;background:#fff;font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}
.pv-public .pv-amenity-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;background:var(--pv-tint);color:var(--pv-primary-hover);border-radius:9px}
.pv-public .pv-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Viewport fallbacks plus container rules support narrow columns in any theme. */
@media(max-width:960px){.pv-public .pv-search-main,.pv-public .pv-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-public .pv-detail-columns{gap:24px;grid-template-columns:minmax(0,1fr) minmax(260px,320px)}}
@media(max-width:640px){.pv-public{margin:20px auto}.pv-public .pv-search-form,.pv-public .pv-inquiry-panel{padding:18px}.pv-public .pv-search-main,.pv-public .pv-filter-fields,.pv-public .pv-property-grid,.pv-public .pv-detail-columns,.pv-public .pv-feature-list{grid-template-columns:1fr}.pv-public .pv-search-actions{align-items:stretch}.pv-public .pv-search-actions .pv-field{width:100%;margin:0}.pv-public .pv-search-actions .pv-button{flex:1;min-width:140px}.pv-public .pv-results-heading{align-items:flex-start;margin-top:26px}.pv-public .pv-results-heading h2{font-size:1.2rem}.pv-public .pv-card-body{padding:18px}.pv-public .pv-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pv-public .pv-gallery a:first-child{grid-row:auto}.pv-public .pv-map{height:360px}.pv-public .pv-detail-columns{gap:20px}.pv-public .pv-empty,.pv-public .pv-notice{padding:22px}.pv-public.pv-thanks{padding:32px 20px}}
@container prevende (max-width:900px){.pv-public .pv-search-main,.pv-public .pv-property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-public .pv-detail-columns{grid-template-columns:1fr}}
@container prevende (max-width:560px){.pv-public .pv-search-main,.pv-public .pv-filter-fields,.pv-public .pv-property-grid,.pv-public .pv-feature-list{grid-template-columns:1fr}.pv-public .pv-search-actions .pv-field{width:100%;margin:0}.pv-public .pv-search-actions .pv-button{flex:auto;width:100%;min-width:0}.pv-public .pv-attribute-stats:not(.pv-attribute-stats-compact){gap:8px}.pv-public .pv-attribute-stats:not(.pv-attribute-stats-compact) .pv-attribute-stat{padding:44px 8px 14px;min-height:110px;align-items:center;text-align:center;gap:6px}.pv-public .pv-attribute-stats:not(.pv-attribute-stats-compact) .pv-stat-icon{left:50%;top:13px;transform:translateX(-50%);background:none;width:24px;height:24px}.pv-public .pv-attribute-stats:not(.pv-attribute-stats-compact) .pv-attribute-label{font-size:.75rem}.pv-public .pv-attribute-stats:not(.pv-attribute-stats-compact) .pv-attribute-value{font-size:1.12rem}.pv-public .pv-amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pv-public .pv-amenities li{padding:12px 10px;gap:9px;font-size:.84rem}.pv-public .pv-amenity-icon{width:30px;height:34px;background:none}.pv-public .pv-amenities .pv-line-icon{width:24px;height:24px}}
@container prevende (max-width:300px){.pv-public .pv-amenities{grid-template-columns:1fr}.pv-public .pv-attribute-stats-compact .pv-attribute-stat{padding-left:0}.pv-public .pv-attribute-stats-compact .pv-stat-icon{display:none}}
@media(prefers-reduced-motion:reduce){.pv-public *{transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.pv-public .pv-button,.pv-public .pv-property-card,.pv-public .pv-attribute-stat,.pv-public .pv-amenities li,.pv-public .pv-inline-status{border-color:CanvasText}.pv-public .pv-button,.pv-public .pv-pagination .current{background:ButtonFace;color:ButtonText;box-shadow:none}.pv-public .pv-pagination .current{outline:2px solid Highlight}.pv-public :where(a,button,input,select,textarea,summary):focus-visible,.pv-public .pv-form-errors:focus,.pv-public .pv-map:focus-visible,.pv-public .pv-inquiry-panel:focus-visible{outline-color:Highlight}}
