/* V19 Property page — scoped, compact premium public design */
.property-v19 {
    --pv-green:#123d31;
    --pv-green-2:#1a5644;
    --pv-gold:#c8a45c;
    --pv-cream:#f7f4ed;
    --pv-ink:#17231f;
    --pv-muted:#65726d;
    --pv-border:#e3e6e1;
    background:#fff;
    color:var(--pv-ink);
    padding-top:0!important
}

.property-v19 * {
    box-sizing:border-box
}

.property-v19-hero {
    position:relative;
    overflow:hidden;
    background:linear-gradient(115deg,#10372d 0%,#174c3c 62%,#1d5a46 100%);
    color:#fff;
    padding-bottom:68px
}

.property-v19-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 80% 20%,rgba(200,164,92,.22),transparent 34%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
    background-size:auto,54px 54px;
    pointer-events:none
}

.property-v19-hero-grid {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) 310px;
    gap:54px;
    align-items:end
}

.property-v19-breadcrumb {
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:22px;
    color:rgba(255,255,255,.65);
    font-size:12px
}

.property-v19-breadcrumb a {
    color:rgba(255,255,255,.78);
    text-decoration:none
}

.property-v19-breadcrumb a:hover {
    color:#fff
}

.property-v19-eyebrow,.property-v19-section-kicker {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--pv-gold);
    font-size:11px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase
}

.property-v19-hero h1 {
    max-width:850px;
    margin:15px 0 12px;
    font-size:clamp(34px,4vw,58px);
    line-height:1.05;
    letter-spacing:-.04em;
    color:#fff
}

.property-v19-address {
    display:flex;
    align-items:flex-start;
    gap:8px;
    max-width:720px;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:15px;
    line-height:1.6
}

.property-v19-address i {
    color:var(--pv-gold);
    margin-top:3px
}

.property-v19-quick-facts {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:26px
}

.property-v19-quick-facts span {
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 11px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:10px;
    background:rgba(255,255,255,.07);
    font-size:12px;
    color:rgba(255,255,255,.77);
    backdrop-filter:blur(8px)
}

.property-v19-quick-facts i {
    color:var(--pv-gold)
}

.property-v19-quick-facts strong {
    color:#fff
}

.property-v19-hero-price {
    padding:25px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:rgba(7,35,27,.38);
    box-shadow:0 20px 55px rgba(0,0,0,.16);
    backdrop-filter:blur(14px)
}

.property-v19-hero-price>span,.property-v19-hero-price>small {
    display:block;
    color:rgba(255,255,255,.68);
    font-size:12px
}

.property-v19-hero-price>strong {
    display:block;
    margin:5px 0 3px;
    font-size:31px;
    line-height:1.1;
    color:#fff
}

.property-v19-hero-price .btn {
    margin-top:18px;
    width:100%
}

.property-v19-gallery-section {
    padding:34px 0 0;
    background:#fff
}

.property-v19-gallery {
    display:grid;
    grid-template-columns:1.65fr .825fr .825fr;
    grid-template-rows:210px 210px;
    gap:10px;
    overflow:hidden;
    border-radius:22px;
    background:#e7e8e5;
    box-shadow:0 18px 55px rgba(17,44,35,.12)
}

.property-v19-gallery-item {
    position:relative;
    overflow:hidden;
    border:0;
    padding:0;
    background:#e9ece9;
    cursor:pointer
}

.property-v19-gallery-item-1 {
    grid-row:1/3
}

.property-v19-gallery-item img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease,filter .3s ease
}

.property-v19-gallery-item:hover img {
    transform:scale(1.035);
    filter:brightness(.9)
}

.property-v19-gallery-placeholder {
    opacity:.72
}

.property-v19-gallery-more {
    position:absolute;
    right:14px;
    bottom:14px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:9px 12px;
    border-radius:10px;
    background:rgba(12,34,27,.88);
    color:#fff;
    font-size:12px;
    font-weight:700
}

.property-v19-main-section {
    padding:34px 0 82px
}

.property-v19-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 370px;
    gap:38px;
    align-items:start
}

.property-v19-content {
    min-width:0
}

.property-v19-overview-card {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:25px;
    padding-bottom:25px;
    border-bottom:1px solid var(--pv-border)
}

.property-v19-overview-card h2,.property-v19-card h2,.property-v19-section-head h2 {
    margin:8px 0 0;
    font-size:clamp(25px,3vw,36px);
    line-height:1.16;
    letter-spacing:-.025em;
    color:var(--pv-ink)
}

.property-v19-availability {
    display:inline-flex;
    align-items:center;
    gap:7px;
    white-space:nowrap;
    color:#268354;
    font-size:12px;
    font-weight:700
}

.property-v19-availability i {
    font-size:7px
}

.property-v19-feature-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:12px;
    margin:18px 0 22px
}

.property-v19-feature-grid article {
    display:grid;
    grid-template-columns:38px 1fr;
    column-gap:10px;
    align-items:center;
    padding:16px;
    border:1px solid var(--pv-border);
    border-radius:15px;
    background:#fff
}

.property-v19-feature-grid i {
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:11px;
    background:#edf4f1;
    color:var(--pv-green-2);
    font-size:16px
}

.property-v19-feature-grid span {
    font-size:10px;
    color:var(--pv-muted);
    text-transform:uppercase;
    letter-spacing:.07em
}

.property-v19-feature-grid strong {
    font-size:16px;
    color:var(--pv-ink)
}


.property-v19-about-card {
    margin-top:0
}

.property-v19-about-card .property-v19-description {
    margin-top:16px
}
.property-v19-card {
    margin-top:20px;
    padding:29px;
    border:1px solid var(--pv-border);
    border-radius:20px;
    background:#fff;
    box-shadow:0 14px 45px rgba(22,53,44,.055)
}

.property-v19-description {
    margin-top:18px;
    color:#53615c;
    font-size:14px;
    line-height:1.9
}

.property-v19-cost-table {
    margin-top:20px;
    border:1px solid var(--pv-border);
    border-radius:14px;
    overflow:hidden
}

.property-v19-cost-table>div {
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:14px 16px;
    border-bottom:1px solid var(--pv-border);
    font-size:13px
}

.property-v19-cost-table>div:last-child {
    border-bottom:0
}

.property-v19-cost-table span {
    color:var(--pv-muted)
}

.property-v19-cost-total {
    background:var(--pv-cream)
}

.property-v19-cost-total strong {
    color:var(--pv-green);
    font-size:16px
}

.property-v19-note {
    display:flex;
    gap:9px;
    margin:16px 0 0;
    padding:12px 14px;
    border-radius:12px;
    background:#eff5f2;
    color:#52645e;
    font-size:12px;
    line-height:1.6
}

.property-v19-note i {
    color:var(--pv-green-2);
    margin-top:2px
}

.property-v19-verification-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:20px
}

.property-v19-verification-grid>div {
    display:grid;
    grid-template-columns:42px 1fr;
    column-gap:12px;
    padding:16px;
    border-radius:14px;
    background:#f7f8f6
}

.property-v19-verification-grid i {
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:12px;
    background:#e7f0ec;
    color:var(--pv-green-2)
}

.property-v19-verification-grid strong {
    font-size:13px
}

.property-v19-verification-grid span {
    margin-top:4px;
    color:var(--pv-muted);
    font-size:11px;
    line-height:1.55
}

.property-v19-location-card {
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:20px;
    padding:17px;
    border:1px solid var(--pv-border);
    border-radius:14px;
    background:var(--pv-cream)
}

.property-v19-location-icon {
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    flex:none;
    border-radius:13px;
    background:var(--pv-green);
    color:#fff;
    font-size:20px
}

.property-v19-location-card strong,.property-v19-location-card span {
    display:block
}

.property-v19-location-card strong {
    font-size:14px
}

.property-v19-location-card span {
    margin-top:2px;
    color:var(--pv-muted);
    font-size:12px
}

.property-v19-location-copy {
    margin:14px 0 0;
    color:var(--pv-muted);
    font-size:12px;
    line-height:1.7
}

.property-v19-documents-card {
    display:grid;
    grid-template-columns:1fr 220px;
    gap:25px;
    align-items:center
}

.property-v19-documents-card p {
    margin:12px 0 0;
    color:var(--pv-muted);
    font-size:13px;
    line-height:1.75
}

.property-v19-document-list {
    display:grid;
    gap:8px
}

.property-v19-document-list span {
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 12px;
    border-radius:10px;
    background:#f3f5f2;
    color:#3d4e48;
    font-size:12px;
    font-weight:700
}

.property-v19-document-list i {
    color:var(--pv-gold)
}

.property-v19-sidebar {
    position:sticky;
    top:98px
}

.property-v19-application-card {
    overflow:hidden;
    border:1px solid #dce2dd;
    border-radius:21px;
    background:#fff;
    box-shadow:0 20px 65px rgba(13,45,35,.13)
}

.property-v19-application-head {
    padding:23px 24px;
    background:var(--pv-green);
    color:#fff
}

.property-v19-application-head span,.property-v19-application-head small {
    display:block;
    color:rgba(255,255,255,.67);
    font-size:11px
}

.property-v19-application-head strong {
    display:block;
    margin:4px 0;
    font-size:29px
}

.property-v19-application-card>.btn,.property-v19-application-card>.alert,.property-v19-application-card>.property-v19-application-message,.property-v19-application-card>.property-v19-status-message {
    margin-left:22px!important;
    margin-right:22px!important
}

.property-v19-application-card>.property-v19-application-message,.property-v19-application-card>.property-v19-status-message {
    margin-top:22px
}

.property-v19-application-card>.btn:last-child {
    margin-bottom:22px
}

.property-v19-application-message,.property-v19-status-message {
    display:flex;
    gap:12px;
    padding:14px;
    border-radius:13px;
    background:#f3f6f4
}

.property-v19-application-message>i,.property-v19-status-message>i {
    font-size:20px;
    color:var(--pv-green-2)
}

.property-v19-application-message strong,.property-v19-application-message span,.property-v19-status-message strong,.property-v19-status-message span {
    display:block
}

.property-v19-application-message strong,.property-v19-status-message strong {
    font-size:12px
}

.property-v19-application-message span,.property-v19-status-message span {
    margin-top:3px;
    color:var(--pv-muted);
    font-size:11px;
    line-height:1.55
}

.property-v19-status-message.is-success {
    background:#edf8f1
}

.property-v19-status-message.is-warning {
    background:#fff8e8
}

.property-v19-status-message.is-info {
    background:#edf5f8
}

.property-v19-form {
    padding:20px 22px 22px
}

.property-v19-no-payment {
    display:flex;
    gap:10px;
    margin:20px 22px 0;
    padding:12px;
    border-radius:12px;
    background:#edf5f1;
    color:#486057
}

.property-v19-no-payment i {
    font-size:18px;
    color:var(--pv-green-2)
}

.property-v19-no-payment span,.property-v19-no-payment strong {
    display:block
}

.property-v19-no-payment span {
    font-size:10px;
    line-height:1.5
}

.property-v19-no-payment strong {
    margin-bottom:2px;
    color:var(--pv-ink);
    font-size:11px
}

.property-v19-form .form-label,.property-v19-form legend {
    margin-bottom:7px;
    color:#283b34;
    font-size:11px;
    font-weight:800
}

.property-v19-form .form-control {
    min-height:45px;
    border-color:#dce2dd;
    border-radius:11px;
    font-size:12px
}

.property-v19-form fieldset {
    margin:18px 0 16px
}

.property-v19-form legend {
    float:none;
    width:auto
}

.property-v19-inspection-options {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px
}

.property-v19-inspection-options label {
    cursor:pointer
}

.property-v19-inspection-options input {
    position:absolute;
    opacity:0;
    pointer-events:none
}

.property-v19-inspection-options span {
    display:block;
    padding:10px;
    border:1px solid #dfe4e0;
    border-radius:10px;
    background:#fff;
    transition:.2s
}

.property-v19-inspection-options strong,.property-v19-inspection-options small {
    display:block
}

.property-v19-inspection-options strong {
    font-size:10px
}

.property-v19-inspection-options small {
    margin-top:2px;
    color:var(--pv-muted);
    font-size:10px
}

.property-v19-inspection-options input:checked+span {
    border-color:var(--pv-gold);
    background:#fbf7ec;
    box-shadow:0 0 0 2px rgba(200,164,92,.12)
}

.property-v19-form-footnote {
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:6px;
    margin:11px 0 0;
    color:#7a8581;
    font-size:9px;
    line-height:1.5;
    text-align:center
}

.property-v19-help-card {
    display:flex;
    gap:12px;
    margin-top:14px;
    padding:17px;
    border-radius:15px;
    background:#f3f5f2
}

.property-v19-help-card>i {
    display:grid;
    place-items:center;
    width:37px;
    height:37px;
    flex:none;
    border-radius:11px;
    background:#fff;
    color:var(--pv-green-2)
}

.property-v19-help-card strong,.property-v19-help-card span,.property-v19-help-card a {
    display:block
}

.property-v19-help-card strong {
    font-size:12px
}

.property-v19-help-card span {
    margin:4px 0 8px;
    color:var(--pv-muted);
    font-size:10px;
    line-height:1.55
}

.property-v19-help-card a {
    color:var(--pv-green-2);
    font-size:9px;
    font-weight:800;
    text-decoration:none
}

.property-v19-similar-section {
    padding:76px 0;
    background:var(--pv-cream)
}

.property-v19-section-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:25px;
    margin-bottom:28px
}

.property-v19-section-head>a {
    color:var(--pv-green-2);
    font-size:12px;
    font-weight:800;
    text-decoration:none
}

.property-v19-similar-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.property-v19-similar-card {
    overflow:hidden;
    border:1px solid #e2e3df;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 38px rgba(30,49,42,.06)
}

.property-v19-similar-image {
    position:relative;
    display:block;
    height:205px;
    overflow:hidden
}

.property-v19-similar-image img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s
}

.property-v19-similar-card:hover img {
    transform:scale(1.04)
}

.property-v19-similar-image>span {
    position:absolute;
    top:12px;
    left:12px;
    padding:6px 9px;
    border-radius:8px;
    background:#fff;
    color:#26744e;
    font-size:9px;
    font-weight:800;
    text-transform:uppercase
}

.property-v19-similar-body {
    padding:17px
}

.property-v19-similar-body>p {
    margin:0 0 7px;
    color:var(--pv-muted);
    font-size:10px
}

.property-v19-similar-body h3 {
    margin:0;
    font-size:17px;
    line-height:1.3
}

.property-v19-similar-body h3 a {
    color:var(--pv-ink);
    text-decoration:none
}

.property-v19-similar-body>div {
    display:flex;
    gap:12px;
    margin:13px 0;
    color:var(--pv-muted);
    font-size:10px
}

.property-v19-similar-footer {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    width:100%;
    box-sizing:border-box;
    padding:13px 12px 0;
    border-top:1px solid var(--pv-border)
}

.property-v19-similar-price {
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
    padding-left:0
}

.property-v19-similar-price strong {
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:4px;
    color:var(--pv-green);
    font-size:15px;
    line-height:1.15;
    white-space:nowrap
}

.property-v19-similar-price small {
    color:var(--pv-muted);
    font-size:8px;
    font-weight:600
}

.property-v19-similar-link {
    display:inline-flex;
    max-width:100%;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:31px;
    padding:7px 10px;
    border:1px solid #cfe0d7;
    border-radius:8px;
    background:#f7fbf8;
    color:var(--pv-green-2);
    font-size:10px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    white-space:nowrap;
    transition:background .2s,border-color .2s,transform .2s
}

.property-v19-similar-link i {
    font-size:10px;
    transition:transform .2s
}

.property-v19-similar-link:hover {
    border-color:#a9cdb8;
    background:#eef7f1;
    color:var(--pv-green);
    transform:translateY(-1px)
}

.property-v19-similar-link:hover i {
    transform:translateX(2px)
}

.property-v19-final-cta {
    padding:72px 0;
    background:#fff
}

.property-v19-final-cta-inner {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:35px;
    padding:42px;
    border-radius:23px;
    background:linear-gradient(120deg,#123d31,#1a5844);
    color:#fff
}

.property-v19-final-cta-inner span {
    color:var(--pv-gold);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.13em
}

.property-v19-final-cta-inner h2 {
    margin:7px 0;
    font-size:31px;
    color:#fff
}

.property-v19-final-cta-inner p {
    max-width:700px;
    margin:0;
    color:rgba(255,255,255,.7);
    font-size:12px;
    line-height:1.7
}

.property-v19-final-cta-inner>div:last-child {
    display:flex;
    gap:9px;
    flex:none
}

.property-v19-lightbox {
    position:fixed;
    inset:0;
    z-index:100000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:35px;
    background:rgba(5,14,11,.96)
}

.property-v19-lightbox.is-open {
    display:flex
}

.property-v19-lightbox figure {
    display:flex;
    flex-direction:column;
    align-items:center;
    max-width:calc(100vw - 170px);
    max-height:calc(100vh - 70px);
    margin:0
}

.property-v19-lightbox figure img {
    max-width:100%;
    max-height:calc(100vh - 110px);
    object-fit:contain;
    border-radius:8px
}

.property-v19-lightbox figcaption {
    margin-top:10px;
    color:rgba(255,255,255,.7);
    font-size:11px
}

.property-v19-lightbox-close,.property-v19-lightbox-nav {
    position:absolute;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff
}

.property-v19-lightbox-close {
    top:22px;
    right:22px;
    width:43px;
    height:43px
}

.property-v19-lightbox-nav {
    top:50%;
    width:50px;
    height:50px;
    transform:translateY(-50%)
}

.property-v19-lightbox-nav.is-prev {
    left:28px
}

.property-v19-lightbox-nav.is-next {
    right:28px
}

.property-lightbox-open {
    overflow:hidden
}

@media(max-width:1199.98px) {
    .property-v19-layout {
        grid-template-columns:minmax(0,1fr) 340px;
        gap:28px
    }

    .property-v19-feature-grid {
        grid-template-columns:1fr 1fr
    }
}

@media(max-width:991.98px) {
    .property-v19-hero-grid,.property-v19-layout {
        grid-template-columns:1fr
    }

    .property-v19-hero-price {
        max-width:420px
    }

    .property-v19-gallery {
        grid-template-columns:1.4fr .7fr;
        grid-template-rows:190px 190px
    }

    .property-v19-gallery-item-4,.property-v19-gallery-item-5 {
        display:none
    }

    .property-v19-sidebar {
        position:static
    }

    .property-v19-similar-grid {
        grid-template-columns:1fr 1fr
    }

    .property-v19-final-cta-inner {
        align-items:flex-start;
        flex-direction:column
    }

    .property-v19-documents-card {
        grid-template-columns:1fr
    }

    .property-v19-document-list {
        grid-template-columns:repeat(3,1fr)
    }
}

@media(max-width:767.98px) {
    .property-v19-hero {
        padding-bottom:45px
    }

    .property-v19-hero-grid {
        gap:28px
    }

    .property-v19-hero h1 {
        font-size:36px
    }

    .property-v19-gallery-section {
        padding-top:20px
    }

    .property-v19-gallery {
        grid-template-columns:1fr;
        grid-template-rows:330px
    }

    .property-v19-gallery-item {
        display:none
    }

    .property-v19-gallery-item-1 {
        display:block;
        grid-row:auto
    }

    .property-v19-gallery-item-1:after {
        content:"View all photos";
        position:absolute;
        right:12px;
        bottom:12px;
        padding:8px 11px;
        border-radius:9px;
        background:rgba(10,33,26,.86);
        color:#fff;
        font-size:10px;
        font-weight:800
    }

    .property-v19-main-section {
        padding:38px 0 58px
    }

    .property-v19-overview-card {
        align-items:flex-start;
        flex-direction:column
    }

    .property-v19-feature-grid,.property-v19-verification-grid {
        grid-template-columns:1fr 1fr
    }

    .property-v19-card {
        padding:22px
    }

    .property-v19-similar-footer {
        grid-template-columns:minmax(0,1fr) auto;
        padding-left:10px;
        padding-right:10px
    }

    .property-v19-similar-link {
        width:auto;
        min-height:30px
    }

    .property-v19-similar-price strong {
        font-size:13px
    }

    .property-v19-similar-grid {
        grid-template-columns:1fr
    }

    .property-v19-section-head {
        align-items:flex-start;
        flex-direction:column
    }

    .property-v19-final-cta {
        padding:45px 0
    }

    .property-v19-final-cta-inner {
        padding:27px
    }

    .property-v19-final-cta-inner>div:last-child {
        width:100%;
        flex-direction:column
    }

    .property-v19-final-cta-inner .btn {
        width:100%
    }

    .property-v19-document-list {
        grid-template-columns:1fr
    }

    .property-v19-lightbox {
        padding:20px
    }

    .property-v19-lightbox figure {
        max-width:100%
    }

    .property-v19-lightbox-nav {
        width:42px;
        height:42px
    }

    .property-v19-lightbox-nav.is-prev {
        left:10px
    }

    .property-v19-lightbox-nav.is-next {
        right:10px
    }
}

@media(max-width:479.98px) {
    .property-v19-quick-facts {
        display:grid;
        grid-template-columns:1fr 1fr
    }

    .property-v19-quick-facts span {
        justify-content:flex-start
    }

    .property-v19-hero-price {
        padding:20px
    }

    .property-v19-gallery {
        grid-template-rows:255px
    }

    .property-v19-feature-grid,.property-v19-verification-grid {
        grid-template-columns:1fr
    }

    .property-v19-inspection-options {
        grid-template-columns:1fr 1fr
    }

    .property-v19-card {
        padding:19px
    }

    .property-v19-final-cta-inner h2 {
        font-size:25px
    }
}

/* V19 Property polish: elegant actions and single movable mobile booking card */
.property-v19-hero-price {
    padding:21px 23px;
    border-radius:17px;
    background:rgba(8,31,25,.28);
    box-shadow:none
}

.property-v19-hero-price>strong {
    font-size:29px
}

.property-v19-mobile-booking-slot {
    display:none
}

#propertyDesktopBookingSlot {
    display:contents
}

.property-v19-btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:47px;
    padding:12px 18px;
    border:1px solid transparent;
    border-radius:12px;
    font-size:12px;
    font-weight:800;
    line-height:1;
    text-decoration:none;
    letter-spacing:.01em;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,color .18s ease
}

.property-v19-btn:hover {
    transform:translateY(-1px)
}

.property-v19-btn-primary {
    background:linear-gradient(135deg,#153f33,#1b5845);
    color:#fff;
    border-color:#153f33;
    box-shadow:0 9px 22px rgba(18,61,49,.18)
}

.property-v19-btn-primary:hover {
    color:#fff;
    box-shadow:0 12px 28px rgba(18,61,49,.23)
}

.property-v19-btn-secondary {
    background:#fff;
    color:#183d32;
    border-color:#d8dfda;
    box-shadow:0 5px 15px rgba(18,61,49,.05)
}

.property-v19-btn-secondary:hover {
    color:#183d32;
    border-color:#c9a75f;
    background:#fbf8f0
}

.property-v19-application-card>.property-v19-btn {
    margin-left:22px!important;
    margin-right:22px!important;
    width:calc(100% - 44px)!important
}

.property-v19-application-card>.property-v19-btn:last-child {
    margin-bottom:22px
}

.property-v19-form .property-v19-btn {
    margin-top:3px
}

.property-v19-application-head {
    padding:21px 23px;
    background:linear-gradient(135deg,#123d31,#1a5644)
}

.property-v19-application-head strong {
    font-size:27px
}

.property-v19-application-message {
    margin-bottom:17px
}

.property-v19-application-card>.property-v19-btn+.property-v19-btn {
    margin-top:9px!important
}

@media(max-width:767.98px) {
    .property-v19-mobile-booking-slot {
        display:block;
        padding:18px 12px 0;
        background:#fff
    }

    .property-v19-mobile-booking-slot .property-v19-sidebar {
        width:min(100%,540px);
        margin:0 auto;
        position:static
    }

    .property-v19-mobile-booking-slot .property-v19-help-card {
        display:none
    }

    .property-v19-gallery-section {
        padding-top:22px
    }

    .property-v19-hero-price {
        max-width:none;
        width:100%;
        padding:16px 18px;
        border-radius:14px
    }

    .property-v19-hero-price>strong {
        font-size:25px
    }

    .property-v19-application-card {
        border-radius:17px;
        box-shadow:0 14px 38px rgba(13,45,35,.11)
    }

    .property-v19-application-head {
        padding:18px 19px
    }

    .property-v19-application-head strong {
        font-size:25px
    }

    .property-v19-application-card>.property-v19-btn {
        margin-left:18px!important;
        margin-right:18px!important;
        width:calc(100% - 36px)!important
    }

    .property-v19-application-card>.property-v19-application-message,.property-v19-application-card>.property-v19-status-message {
        margin-left:18px!important;
        margin-right:18px!important
    }

    .property-v19-form {
        padding:18px
    }

    .property-v19-no-payment {
        margin:18px 18px 0
    }
}

/* Consistent spacing between application status notices and action buttons. */
.property-v19-application-card > .property-v19-status-message {
    margin-bottom: 14px !important;
}

@media (max-width: 767.98px) {
    .property-v19-application-card > .property-v19-status-message {
        margin-bottom: 12px !important;
    }
}

/* Workflow consistency audit: equal breathing room for every application state. */
.property-v19-application-card > .property-v19-status-message + .btn, .property-v19-application-card > .property-v19-application-message + .btn {
    margin-top: 18px;
}

.property-v19-application-card > .property-v19-status-message:last-child, .property-v19-application-card > .property-v19-application-message:last-child {
    margin-bottom: 22px;
}

@media(max-width:767px) {
    .property-v19-status-message,.property-v19-application-message {
        align-items:flex-start;
    }
}

/* Refined listing presentation: price removed from hero */
.property-v19-hero-grid {
    grid-template-columns:minmax(0,1fr);
    max-width:980px;
}

.property-v19-hero .v19-unified-hero-copy {
    max-width:940px;
}

.property-v19-summary-section {
    position:relative;
    z-index:3;
    padding:18px 0 0;
    background:#fff;
}

.property-v19-summary-bar {
    display:grid;
    grid-template-columns:repeat(3,minmax(135px,1fr)) minmax(240px,1.35fr);
    align-items:stretch;
    overflow:hidden;
    border:1px solid var(--pv-border);
    border-radius:18px;
    background:#fff;
    box-shadow:0 16px 45px rgba(18,61,49,.08);
}

.property-v19-summary-item {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:92px;
    padding:18px 22px;
    border-right:1px solid var(--pv-border);
}

.property-v19-summary-item span {
    margin-bottom:5px;
    color:var(--pv-muted);
    font-size:10px;
    font-weight:800;
    letter-spacing:.09em;
    text-transform:uppercase;
}

.property-v19-summary-item strong {
    color:var(--pv-ink);
    font-size:20px;
    line-height:1.2;
}

.property-v19-summary-status {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:9px;
    min-height:92px;
    padding:17px 22px;
    background:linear-gradient(135deg,#f5f8f6,#edf4f1);
}

.property-v19-summary-status>span {
    display:flex;
    align-items:center;
    gap:8px;
    color:#267651;
    font-size:12px;
    font-weight:800;
}

.property-v19-summary-status>span i {
    font-size:13px;
}

.property-v19-summary-status>a {
    display:inline-flex;
    align-items:center;
    gap:7px;
    width:max-content;
    color:var(--pv-green);
    font-size:12px;
    font-weight:800;
    text-decoration:none;
}

.property-v19-summary-status>a:hover {
    color:var(--pv-green-2);
}

.property-v19-main-section {
    padding-top:42px;
}

@media (max-width:991.98px) {
    .property-v19-summary-bar {
        grid-template-columns:repeat(3,1fr);
    }

    .property-v19-summary-status {
        grid-column:1/-1;
        flex-direction:row;
        justify-content:space-between;
        align-items:center;
        min-height:auto;
    }

    .property-v19-summary-item:nth-child(3) {
        border-right:0;
    }
}

@media (max-width:767.98px) {
    .property-v19-hero {
        padding-bottom:42px;
    }

    .property-v19-summary-section {
        padding-top:12px;
    }

    .property-v19-summary-bar {
        grid-template-columns:1fr 1fr;
        border-radius:15px;
    }

    .property-v19-summary-item {
        min-height:78px;
        padding:14px 15px;
    }

    .property-v19-summary-item:nth-child(2) {
        border-right:0;
    }

    .property-v19-summary-item:nth-child(3) {
        grid-column:1/-1;
        border-top:1px solid var(--pv-border);
        border-right:0;
        min-height:70px;
    }

    .property-v19-summary-item strong {
        font-size:17px;
    }

    .property-v19-summary-status {
        flex-direction:column;
        align-items:flex-start;
        gap:7px;
        padding:14px 15px;
    }

    .property-v19-main-section {
        padding-top:32px;
    }
}

/* Match the property page content width to the public navigation alignment. */
@media (min-width: 1200px) {
    .property-v19 > section > .container,
    .property-v19 > .property-v19-mobile-booking-slot + section > .container {
        max-width: 1180px;
    }
}


/* Property details and booking card share the same desktop start line. */
@media (min-width: 992px) {
    #propertyDesktopBookingSlot {
        align-self: start;
        min-width: 0;
    }

    #propertyDesktopBookingSlot .property-v19-sidebar {
        margin-top: 0;
    }

    .property-v19-content > .property-v19-about-card:first-child {
        margin-top: 0;
    }

    .property-v19-feature-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .property-v19-feature-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
}

@media(max-width:379.98px) {
    .property-v19-similar-footer {
        grid-template-columns:1fr;
        padding-left:6px;
        padding-right:6px;
    }

    .property-v19-similar-link {
        width:100%;
    }
}

/* Premium calendar layout for move-in selection */
.property-v19-calendar-card {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid #e4e7e2;
    border-radius: 16px;
    background: linear-gradient(180deg, #ffffff 0%, #fcfbf7 100%);
    box-shadow: 0 10px 26px rgba(16, 48, 38, 0.06);
}

.property-v19-calendar-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
}

.property-v19-calendar-kicker {
    display: inline-block;
    margin-bottom: 5px;
    color: var(--pv-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.property-v19-calendar-top h3 {
    margin: 0;
    color: #20352d;
    font-size: 15px;
    font-weight: 800;
}

.property-v19-calendar-top p {
    margin: 6px 0 0;
    color: #6d7a75;
    font-size: 11px;
    line-height: 1.6;
}

.property-v19-calendar-selected {
    min-width: 165px;
    padding: 11px 12px;
    border-radius: 12px;
    background: #153d35;
    color: #fff;
    text-align: left;
    box-shadow: 0 10px 18px rgba(16, 48, 38, 0.18);
}

.property-v19-calendar-selected span,
.property-v19-calendar-selected strong,
.property-v19-calendar-selected small {
    display: block;
}

.property-v19-calendar-selected span {
    font-size: 9px;
    letter-spacing: .1em;
    opacity: .72;
    text-transform: uppercase;
}

.property-v19-calendar-selected strong {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.45;
}

.property-v19-calendar-selected small {
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .82);
}

.property-v19-calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.property-v19-calendar-caption {
    flex: 1;
    text-align: center;
    color: #20352d;
    font-size: 13px;
    font-weight: 800;
}

.property-v19-calendar-nav {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid #d6ddd8;
    border-radius: 11px;
    background: #fff;
    color: #173f34;
    transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}

.property-v19-calendar-nav:hover:not(:disabled),
.property-v19-calendar-nav:focus-visible:not(:disabled) {
    background: #f8f4e9;
    border-color: var(--pv-gold);
    color: #173f34;
    transform: translateY(-1px);
}

.property-v19-calendar-nav:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.property-v19-calendar-shell {
    padding: 12px;
    border: 1px solid #edf0ec;
    border-radius: 14px;
    background: #fff;
}

.property-v19-calendar-weekdays,
.property-v19-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 6px;
}

.property-v19-calendar-weekdays {
    margin-bottom: 8px;
}

.property-v19-calendar-weekdays span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    color: #75817c;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.property-v19-calendar-filler {
    min-height: 44px;
}

.property-v19-calendar-day {
    min-height: 44px;
    padding: 0;
    border: 1px solid #e3e7e3;
    border-radius: 12px;
    background: #fff;
    color: #20352d;
    font-size: 12px;
    font-weight: 700;
    transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}

.property-v19-calendar-day:hover:not(:disabled),
.property-v19-calendar-day:focus-visible:not(:disabled) {
    border-color: var(--pv-gold);
    background: #fcf8ee;
    box-shadow: 0 0 0 3px rgba(200, 164, 92, 0.12);
    transform: translateY(-1px);
}

.property-v19-calendar-day.is-today {
    border-color: #c9d6cf;
    background: #f3f7f4;
}

.property-v19-calendar-day.is-selected {
    border-color: var(--pv-gold);
    background: linear-gradient(180deg, #fbf5e8 0%, #f4ead2 100%);
    color: #173f34;
    box-shadow: 0 0 0 3px rgba(200, 164, 92, 0.15);
}

.property-v19-calendar-day.is-disabled,
.property-v19-calendar-day:disabled {
    opacity: .38;
    cursor: not-allowed;
    background: #f7f8f7;
    color: #9ca7a2;
    box-shadow: none;
    transform: none;
}

.property-v19-inspection-fieldset {
    margin: 0 0 12px;
    padding: 14px;
    border: 1px solid #e4e7e2;
    border-radius: 16px;
    background: #fff;
}

.property-v19-inspection-caption {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #6d7a75;
    font-size: 10px;
    line-height: 1.5;
}

.property-v19-inspection-caption i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 10px;
    background: #f6f8f5;
    color: #1d5344;
    font-size: 13px;
}

.property-v19-inspection-options {
    gap: 10px;
}

.property-v19-inspection-options label {
    display: block;
}

.property-v19-inspection-options span {
    position: relative;
    display: block;
    padding: 13px 14px 13px 42px;
    border: 1px solid #dfe4e0;
    border-radius: 13px;
    background: #fff;
    transition: .2s;
}

.property-v19-inspection-options span::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 50%;
    width: 16px;
    height: 16px;
    border: 2px solid #c8cfcb;
    border-radius: 50%;
    transform: translateY(-50%);
    transition: .18s ease;
}

.property-v19-inspection-options strong {
    font-size: 11px;
    font-weight: 800;
    color: #20352d;
}

.property-v19-inspection-options small {
    margin-top: 4px;
    color: #6d7a75;
    font-size: 10px;
}

.property-v19-inspection-options label:hover span,
.property-v19-inspection-options input:focus-visible + span {
    border-color: var(--pv-gold);
    background: #fcf8ee;
}

.property-v19-inspection-options input:checked + span {
    border-color: var(--pv-gold);
    background: #fbf7ec;
    box-shadow: 0 0 0 3px rgba(200,164,92,.12);
}

.property-v19-inspection-options input:checked + span::before {
    border-color: var(--pv-gold);
    background: radial-gradient(circle at center, var(--pv-gold) 0 4px, #fff 5px);
}

@media (max-width: 767.98px) {
    .property-v19-calendar-card,
    .property-v19-inspection-fieldset {
        padding: 14px;
        border-radius: 15px;
    }

    .property-v19-calendar-top {
        flex-direction: column;
    }

    .property-v19-calendar-selected {
        width: 100%;
        min-width: 0;
    }

    .property-v19-calendar-toolbar {
        gap: 8px;
    }

    .property-v19-calendar-shell {
        padding: 10px;
    }

    .property-v19-calendar-weekdays span {
        min-height: 26px;
        font-size: 8px;
    }

    .property-v19-calendar-filler,
    .property-v19-calendar-day {
        min-height: 40px;
    }

    .property-v19-inspection-options {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 479.98px) {
    .property-v19-calendar-card {
        padding: 12px;
    }

    .property-v19-calendar-top h3 {
        font-size: 14px;
    }

    .property-v19-calendar-top p {
        font-size: 10px;
    }

    .property-v19-calendar-caption {
        font-size: 12px;
    }

    .property-v19-calendar-nav {
        width: 34px;
        height: 34px;
    }

    .property-v19-calendar-shell {
        padding: 8px;
    }

    .property-v19-calendar-weekdays,
    .property-v19-calendar-grid {
        gap: 4px;
    }

    .property-v19-calendar-filler,
    .property-v19-calendar-day {
        min-height: 36px;
        border-radius: 10px;
        font-size: 11px;
    }

    .property-v19-inspection-fieldset {
        padding: 12px;
    }

    .property-v19-inspection-options span {
        padding: 12px 12px 12px 40px;
    }
}

/* Collapsible move-in calendar */
.property-v19-calendar-picker {
    position: relative;
    margin-bottom: 18px;
}

.property-v19-calendar-trigger {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 58px;
    padding: 10px 12px;
    border: 1px solid #dce2dd;
    border-radius: 13px;
    background: #fff;
    color: #20352d;
    text-align: left;
    box-shadow: 0 5px 15px rgba(18, 61, 49, .04);
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.property-v19-calendar-trigger:hover,
.property-v19-calendar-trigger:focus-visible,
.property-v19-calendar-trigger[aria-expanded="true"] {
    border-color: var(--pv-gold);
    background: #fffdf8;
    box-shadow: 0 0 0 3px rgba(200, 164, 92, .10);
}

.property-v19-calendar-trigger.has-error {
    border-color: #b94747;
    box-shadow: 0 0 0 3px rgba(185, 71, 71, .10);
}

.property-v19-calendar-trigger-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex: none;
    border-radius: 11px;
    background: #f4f7f4;
    color: #1c5142;
    font-size: 16px;
}

.property-v19-calendar-trigger.has-value .property-v19-calendar-trigger-icon {
    background: #f8f1df;
    color: #8d6e2e;
}

.property-v19-calendar-trigger-copy {
    display: block;
    min-width: 0;
    flex: 1;
    padding: 0 12px;
}

.property-v19-calendar-trigger-copy small,
.property-v19-calendar-trigger-copy strong {
    display: block;
}

.property-v19-calendar-trigger-copy small {
    margin-bottom: 3px;
    color: #78847f;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.property-v19-calendar-trigger-copy strong {
    overflow: hidden;
    color: #263b33;
    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.property-v19-calendar-trigger-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    flex: none;
    color: #75817c;
    transition: transform .18s ease;
}

.property-v19-calendar-trigger[aria-expanded="true"] .property-v19-calendar-trigger-arrow {
    transform: rotate(180deg);
}

.property-v19-calendar-card {
    display: none;
    margin: 10px 0 0;
    animation: propertyCalendarOpen .18s ease both;
}

.property-v19-calendar-card.is-open {
    display: block;
}

@keyframes propertyCalendarOpen {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

.property-v19-calendar-top {
    align-items: flex-start;
    margin-bottom: 11px;
}

.property-v19-calendar-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: none;
    border: 1px solid #e0e5e1;
    border-radius: 10px;
    background: #fff;
    color: #53635d;
}

.property-v19-calendar-close:hover,
.property-v19-calendar-close:focus-visible {
    border-color: var(--pv-gold);
    color: #173f34;
}

.property-v19-calendar-selected {
    width: 100%;
    min-width: 0;
    margin-bottom: 13px;
}

@media (max-width: 767.98px) {
    .property-v19-calendar-picker {
        margin-bottom: 16px;
    }

    .property-v19-calendar-trigger {
        min-height: 56px;
        border-radius: 12px;
    }

    .property-v19-calendar-card {
        margin-top: 8px;
    }

    .property-v19-calendar-top {
        flex-direction: row;
    }
}

@media (max-width: 479.98px) {
    .property-v19-calendar-trigger-copy strong {
        font-size: 11px;
    }

    .property-v19-calendar-trigger-icon {
        width: 36px;
        height: 36px;
    }
}
