.pv-visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pv-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;color:var(--gold);line-height:0}
.pv-icon svg{width:1.15em;height:1.15em;display:block}
.pv-figure{margin:0}
.pv-figure>figcaption{font-size:12px;line-height:1.6;color:var(--muted);margin-top:8px;overflow-wrap:anywhere}

.pv-heading{align-items:start}
.pv-actions{min-width:min(100%,260px);gap:8px}
.pv-action-row{display:grid;gap:10px}
.pv-generate{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-align:left;line-height:1.3}
.pv-generate .pv-icon{color:currentColor}
.pv-generate:disabled{cursor:not-allowed;opacity:.55}
.pv-action-note{max-width:none;margin:0;font-size:12px}

.pv-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.pv-fact dt{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.4px;color:var(--muted);margin-bottom:6px;text-transform:uppercase}
.pv-fact dd{margin:0;font-size:15px;overflow-wrap:anywhere}
.pv-stats .pv-fact dt{text-transform:none}

.pv-features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;padding-left:18px}
.pv-amenities{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-amenity{display:flex;align-items:flex-start;gap:12px}
.pv-amenity-icon{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}
.pv-amenity-body{min-width:0}
.pv-amenities .pv-amenity-body p{overflow-wrap:anywhere}

.pv-pois .pv-poi dt{display:flex;align-items:center;gap:8px}
.pv-pois .pv-poi dd{overflow-wrap:anywhere}
.pv-poi-time{display:flex;align-items:flex-start;gap:8px}
.pv-poi-time>.pv-icon{color:var(--muted);padding-top:3px}

.pv-table-scroll{border:1px solid var(--line);border-radius:4px;background:var(--white)}
.pv-table-scroll:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.pv-table{min-width:560px}
.pv-table th,.pv-table td{padding:13px 12px}
.pv-table tbody th{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:0;white-space:nowrap}
.pv-table tbody td{font-size:13px;overflow-wrap:anywhere}
.pv-unit-sold{color:var(--muted)}
.pv-status{display:inline-flex;align-items:center;gap:7px;font-weight:500;white-space:nowrap}
.pv-status-icon{color:var(--muted)}
.pv-status-available .pv-status-icon{color:#3f7355}
.pv-status-reserved .pv-status-icon{color:var(--gold)}
.pv-status-sold .pv-status-icon{color:var(--muted)}
.pv-unit-note td{background:var(--paper);border-bottom:1px solid var(--line);padding:12px;font-size:13px;line-height:1.6}
.pv-note-label{display:block;font-size:10px;letter-spacing:.4px;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.pv-note-text{display:block;white-space:pre-line;overflow-wrap:anywhere;max-width:70ch}
.pv-note-label,.pv-note-text{position:sticky;left:12px;max-width:min(70ch,calc(100vw - 8rem))}

.pv-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.pv-plans{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.pv-gallery img{width:100%}
.pv-public-link{display:inline-flex;align-items:center;gap:6px;max-width:none;margin:0;font-size:13px;color:var(--gold)}

@media(max-width:900px){
  .pv-features{grid-template-columns:1fr}
}
@media(max-width:640px){
  .pv-amenities,.pv-gallery{grid-template-columns:1fr}
  .pv-actions{width:100%}
  .pv-action-row{grid-template-columns:1fr}
  .pv-table{min-width:0}
  .pv-table,.pv-table tbody,.pv-table tr,.pv-table th,.pv-table td{display:block;width:100%}
  .pv-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .pv-table tr.pv-unit{padding:12px 14px 4px;border-bottom:0;margin-top:12px;border-top:1px solid var(--line)}
  .pv-table tr.pv-unit:first-child{margin-top:0;border-top:0}
  .pv-table tbody th,.pv-table tbody td{display:grid;grid-template-columns:minmax(96px,34%) minmax(0,1fr);gap:12px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line);min-width:0;white-space:normal;text-align:left}
  .pv-table tbody th:first-child,.pv-table tbody td:first-child{padding-left:0}
  .pv-table tbody [data-label]::before{content:attr(data-label);font-size:10px;letter-spacing:.4px;text-transform:uppercase;font-weight:500;color:var(--muted)}
  .pv-table tr.pv-unit>:last-child{border-bottom:0}
  .pv-table tr.pv-unit-note{padding:0 14px 12px;margin:0;border-top:0}
  .pv-table tbody tr.pv-unit-note td{display:block;position:static;padding:10px 12px;border:1px solid var(--line);border-radius:4px;font-size:13px;line-height:1.65}
  .pv-note-label,.pv-note-text{position:static;max-width:none}
}
@media(forced-colors:active){
  .pv-status-icon,.pv-amenity-icon{color:CanvasText;border-color:CanvasText}
}
