/* Shared Laravel controls; existing brand and public page styles remain in their page files. */
body{font-family:'Poppins',sans-serif}body[data-page="home"]{background:#f7f9fc}html[data-theme="dark"] body[data-page="home"]{background:#0b121b}body[data-page="search"]>main,body[data-page="search"] main.container{padding-top:120px}body[data-page="property"] .property-page{padding-top:110px}body[data-page="home"] .hero{background-image:url('/admin/assets/images/building.jpg')}.home-navbar.scrolled .navbar-brand{color:#0d3b66}.home-navbar .navbar-brand,.home-navbar .nav-link{color:#fff!important}.home-navbar.scrolled .navbar-brand,.home-navbar.scrolled .nav-link{color:#334155!important}body[data-page="search"] .property-card,body[data-page="property"] .property-card{display:flex;height:100%;border:1px solid #e8edf4;border-radius:19px;overflow:hidden;background:#fff;flex-direction:column}body[data-page="search"] .property-card .property-title,body[data-page="property"] .property-card .property-title{font-size:17px;min-height:48px;line-height:1.42;color:#0d3b66}body[data-page="search"] .property-card .property-price,body[data-page="property"] .property-card .property-price{font-size:22px;color:#1d5fa7;font-weight:800}body[data-page="search"] .property-card .view-btn,body[data-page="property"] .property-card .view-btn{display:block;text-align:center;text-decoration:none;background:#0d3b66;color:white}.footer{padding-top:50px}.footer a{color:#bfcfe1}.footer a:hover{color:#ffd166}
[hidden]{display:none!important}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #e5b845;outline-offset:3px}.brand-logo{object-fit:contain}.navbar-brand{display:flex;align-items:center;gap:10px}.gallery-thumbnail-button{border:0;background:none;padding:0;flex-shrink:0}.gallery-lightbox:not(.active){display:none}.gallery-lightbox.active{display:flex}.main-image{cursor:zoom-in}.tvr-preserve-lines{white-space:pre-line;overflow-wrap:anywhere}
.tvr-admin-page{padding:28px;max-width:1600px;margin:auto;color:#182d48}.tvr-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.tvr-page-heading h1{font-size:30px;font-weight:750;margin:6px 0}.tvr-page-heading p{color:#65758b;margin:0}.tvr-eyebrow{color:#846315;font-size:11px;font-weight:750;letter-spacing:1.8px}.tvr-panel{background:#fff;border:1px solid #e2e8f0;border-radius:14px;margin-bottom:20px;overflow:hidden}.tvr-panel h2,.tvr-dialog h2{font-size:19px;font-weight:700;margin-bottom:18px}.tvr-panel-head{padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e9edf4}.tvr-panel-head h2{margin:0}.tvr-filter{display:flex;gap:12px;margin-bottom:20px;align-items:center}.tvr-filter input{flex:2}.tvr-filter select{flex:1;max-width:250px}.tvr-filter .btn{white-space:nowrap}.tvr-table{font-size:13px;margin:0}.tvr-table th{padding:15px 20px;background:#f7f9fc;white-space:nowrap;font-size:11px;letter-spacing:.7px;text-transform:uppercase;color:#65758b}.tvr-table td{padding:17px 20px;min-width:100px;max-width:420px;overflow-wrap:anywhere}.tvr-property-cell{display:flex;align-items:center;gap:13px;min-width:220px}.tvr-property-cell img{border-radius:9px;object-fit:cover}.tvr-property-cell small,.tvr-document-item small,.tvr-history small{display:block;color:#6a7a90;margin-top:4px}.tvr-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tvr-badge{display:inline-block;background:#eff3f9;color:#294260;border-radius:7px;padding:5px 9px;font-size:11px;font-weight:650;white-space:nowrap}.tvr-badge.available{background:#e8f5ee;color:#17653e}.tvr-badge.sold{background:#fceeed;color:#983b36}.tvr-badge.reserved{background:#fff6df;color:#8b6416}.tvr-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tvr-form-grid label,.tvr-security-grid label,.tvr-login-card label{display:block;font-size:13px;font-weight:600;color:#304563}.tvr-form-grid input,.tvr-form-grid select,.tvr-form-grid textarea,.tvr-security-grid input,.tvr-login-card input{margin-top:7px}.tvr-form-grid small{font-size:11px;display:block;color:#6a7a90;margin-top:6px;font-weight:400}.tvr-span-2{grid-column:1/-1}.tvr-section-nav{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.tvr-section-nav a{padding:8px 14px;border:1px solid #dbe2eb;border-radius:7px;text-decoration:none;color:#304563;background:#fff;font-size:12px}.tvr-area-row,.tvr-document-row{display:flex;gap:10px;margin:12px 0}.tvr-area-row input{max-width:280px}.tvr-document-row select{max-width:220px}.tvr-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px}.tvr-image-grid img{width:100%;height:130px;object-fit:cover;border-radius:9px}.tvr-image-tile{position:relative}.tvr-image-tile button{position:absolute;bottom:8px;right:8px}.tvr-document-item{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px solid #e2e8f0}.tvr-document-item>div{flex:1}.tvr-dialog{width:min(720px,94vw);max-height:90vh;padding:28px;border:1px solid #dbe2eb;border-radius:16px;color:#182d48}.tvr-dialog::backdrop{background:rgba(9,25,46,.65)}.tvr-dialog-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.tvr-dialog-head h2{margin-bottom:5px}.tvr-dialog-head .btn-close{flex-shrink:0}.tvr-dialog .alert{font-size:12px}.tvr-lead-card header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px;border-bottom:1px solid #e8edf5}.tvr-lead-card h2{margin:5px 0 0}.tvr-lead-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;padding:24px;font-size:13px;overflow-wrap:anywhere}.tvr-referral-note{background:#f6f8fc;border-left:3px solid #d3a537;padding:12px 16px;margin-bottom:18px}.tvr-referral-note small,.tvr-referral-note strong{display:block}.tvr-referral-note small{font-size:10px;letter-spacing:1px;margin-bottom:5px}.tvr-history{padding-left:18px;margin-top:12px}.tvr-history li{margin-bottom:10px}.tvr-security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tvr-security-grid .tvr-panel{margin:0}.tvr-security-grid label+label,.tvr-login-card label+label{margin-top:18px}.premium-admin-app .btn-primary,.tvr-login-card .btn-primary{background:#14365c;border-color:#14365c}.premium-admin-app .form-control,.premium-admin-app .form-select{font-size:14px;min-height:44px}.tvr-login-card{background:white;color:#182d48;border:1px solid #e0e7ef;padding:36px;border-radius:18px;width:100%;max-width:460px;align-self:center}.tvr-login-card h2{font-size:25px;font-weight:750;margin:12px 0}.tvr-login-card p{font-size:13px}.admin-login-page .login-hero{grid-template-columns:1.1fr 1fr;gap:50px}.admin-login-page .brand-mini{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.admin-login-page .brand-mini span{font-size:13px;font-weight:700;letter-spacing:1px}.tvr-login-card .form-control{font-size:16px;min-height:46px}
body[data-page="property"]{padding-top:0}
footer#contact a{overflow-wrap:anywhere}footer#contact .row>div{min-width:0}
body[data-page="login"] .topbar{background:#0d2d4e;color:#fff}body[data-page="login"] .hero-copy h1{color:#133455}body[data-page="login"] .hero-copy p{color:#4f647c}body[data-page="login"] .hero-kicker{color:#876519}body[data-page="login"] .bottom-strip{background:transparent;backdrop-filter:none;color:#61728a}footer#contact a{color:#c9d9ea}footer#contact a:hover{color:#ffd166}.home-navbar .nav-link.nav-cta,.home-navbar.scrolled .nav-link.nav-cta{color:#0d3b66!important}
@media(min-width:992px){.customer-navbar-collapse{display:flex!important}}
@media(max-width:991px){.customer-navbar-collapse:not(.show){display:none!important}.customer-navbar-collapse.show{display:block!important;width:100%;padding:16px 12px}.home-navbar .navbar-brand{font-size:18px}.home-navbar .brand-logo{width:56px;height:44px}.tvr-admin-page{padding:20px 16px}.tvr-page-heading h1{font-size:25px}.tvr-page-heading{align-items:flex-start}.tvr-filter{flex-wrap:wrap}.tvr-filter input{flex-basis:100%}.tvr-filter select{max-width:none;min-width:140px}.tvr-security-grid{grid-template-columns:1fr}.admin-login-page .login-hero{grid-template-columns:1fr;max-width:700px;padding:35px 24px}.admin-login-page .hero-copy{padding:0}.tvr-login-card{max-width:100%}}
@media(max-width:575px){.tvr-page-heading{flex-direction:column}.tvr-form-grid,.tvr-lead-body{grid-template-columns:1fr}.tvr-span-2{grid-column:auto}.tvr-panel.p-4{padding:20px!important}.tvr-dialog{padding:22px}.tvr-document-row{flex-wrap:wrap}.tvr-document-row select{max-width:100%;flex-basis:100%}.tvr-document-row input{width:calc(100% - 48px)}.tvr-document-item{flex-wrap:wrap}.tvr-document-item>div{flex-basis:calc(100% - 65px)}.tvr-login-card{padding:25px}.admin-login-page .topbar{padding:18px}.admin-login-page .brand-mini span{max-width:125px;font-size:10px}.tvr-form-grid .form-control,.tvr-form-grid .form-select,.tvr-lead-body .form-control,.tvr-lead-body .form-select{font-size:16px}.tvr-filter .form-control,.tvr-filter .form-select{font-size:16px}.tvr-lead-body{padding:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* One consistent footer for the public website. */
footer#contact.public-footer {
    padding: 46px 0 22px;
    border-top: 1px solid #30475d;
    background: #0c2541;
    color: #bccbd9;
}
.public-footer-shell { width: min(1248px, calc(100% - 64px)); margin-inline: auto; }
.public-footer-grid { display: grid; grid-template-columns: minmax(240px, 1.35fr) minmax(150px, .7fr) minmax(145px, .7fr) minmax(240px, 1.15fr); gap: 40px; }
.public-footer-grid > * { min-width: 0; }
footer#contact.public-footer a { color: #c4d0dc; text-decoration: none; }
footer#contact.public-footer a:hover { color: #f1d598; }
footer#contact.public-footer .public-footer-brand { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-bottom: 16px; color: #fff; }
.public-footer-brand img { flex: 0 0 44px; width: 44px; height: 44px; object-fit: contain; }
.public-footer-brand span { font-size: 18px; font-weight: 600; line-height: 1.35; letter-spacing: -.35px; }
.public-footer-about > p { max-width: 305px; margin: 0 0 18px; color: #b5c5d4; font-size: 12px; line-height: 1.85; }
.public-footer-socials { display: flex; gap: 9px; }
footer#contact.public-footer .public-footer-socials a { display: grid; width: 38px; height: 38px; padding: 0; place-items: center; border: 1px solid #40566c; border-radius: 6px; color: #d4dfe9; font-size: 14px; transition: border-color .16s, background-color .16s; }
footer#contact.public-footer .public-footer-socials a:hover { border-color: #c4ac77; background: #18364f; color: #f1d598; }
.public-footer-column h2 { margin: 6px 0 16px; color: #e1c68f; font-size: 10px; font-weight: 550; line-height: 1.5; letter-spacing: 1.2px; text-transform: uppercase; }
.public-footer-column ul { margin: 0; padding: 0; list-style: none; }
.public-footer-column li { margin: 0; }
.public-footer-column li > a { display: inline-flex; align-items: center; min-height: 34px; padding: 5px 0; font-size: 12px; line-height: 1.6; }
.public-footer-contact-link { display: flex; align-items: center; gap: 11px; min-height: 48px; padding: 3px 0 8px; font-size: 12px; line-height: 1.65; }
.public-footer-contact-link > i, .public-footer-hours > i { flex: 0 0 15px; width: 15px; color: #c3ac7d; font-size: 13px; text-align: center; }
.public-footer-contact-link > span { min-width: 0; overflow-wrap: anywhere; }
.public-footer-contact-link small { display: block; margin-bottom: 1px; color: #9fb2c4; font-size: 10px; line-height: 1.5; }
.public-footer-hours { display: flex; align-items: flex-start; gap: 11px; margin-top: 7px; }
.public-footer-hours > i { margin-top: 3px; }
.public-footer-hours p { margin: 0; color: #b5c5d4; font-size: 10px; line-height: 1.8; }
.public-footer-hours strong { display: block; margin-bottom: 2px; color: #d5dfe8; font-size: 11px; font-weight: 450; }
.public-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 32px; padding-top: 18px; border-top: 1px solid #30475d; }
.public-footer-bottom p { margin: 0; color: #a8bbcc; font-size: 10px; line-height: 1.8; }
.public-footer-bottom > span { color: #b8c9d7; font-size: 10px; line-height: 1.8; }
.public-footer-contact-us { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; font-size: 10px; }
.public-footer-contact-us i { font-size: 9px; }
body :is(.home-navbar, .home-navbar.scrolled) .nav-link.public-admin-return { display: inline-flex; align-items: center; gap: 7px; padding-inline: 12px !important; border: 1px solid #567189; border-radius: 5px; color: #e6c685 !important; }
body .home-navbar.scrolled:not(.home-reference-navbar) .nav-link.public-admin-return { border-color: #d3dce4; color: #335b7c !important; }
body .home-navbar .nav-link.public-admin-return > i { font-size: 10px; }
html[data-theme="dark"] footer#contact.public-footer { border-color: #293e51; background: #0b2035; }
@media (max-width: 1100px) {
    .public-footer-grid { grid-template-columns: minmax(220px, 1.2fr) minmax(130px, .7fr) minmax(130px, .7fr) minmax(220px, 1.1fr); gap: 26px; }
    .public-footer-brand span { max-width: 155px; font-size: 17px; }
}
@media (max-width: 991px) {
    .public-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
    .public-footer-about { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; align-items: center; column-gap: 28px; }
    footer#contact.public-footer .public-footer-brand { margin-bottom: 12px; }
    .public-footer-brand span { max-width: none; }
    .public-footer-about > p { grid-column: 1; max-width: 360px; margin-bottom: 0; }
    .public-footer-socials { grid-column: 2; grid-row: 1 / 3; justify-self: end; }
    .public-footer-column h2 { margin-top: 0; }
    .public-footer-column li > a { min-height: 44px; }
    footer#contact.public-footer .public-footer-socials a { width: 44px; height: 44px; }
}
@media (max-width: 767px) {
    footer#contact.public-footer, html[data-theme="dark"] footer#contact.public-footer { padding: 40px 0 calc(24px + env(safe-area-inset-bottom)); border-color: #2a3d50; background: #0b1e30; }
    .public-footer-shell { width: calc(100% - 48px); }
    .public-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
    .public-footer-about { display: block; }
    footer#contact.public-footer .public-footer-brand { display: inline-flex; align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 14px; }
    .public-footer-brand img { flex-basis: 64px; width: 64px; height: 64px; }
    .public-footer-brand span { font-size: 23px; font-weight: 600; letter-spacing: -.55px; }
    .public-footer-about > p { max-width: 380px; margin-bottom: 22px; color: #bbc6d1; font-size: 12px; line-height: 1.95; }
    .public-footer-socials { justify-self: start; width: fit-content; }
    footer#contact.public-footer .public-footer-socials a { width: 44px; height: 44px; border-color: #3a4c5e; border-radius: 7px; color: #f2f5f8; font-size: 17px; }
    .public-footer-column h2 { margin-bottom: 14px; color: #ecc574; font-size: 10px; font-weight: 600; letter-spacing: 1.65px; }
    .public-footer-column li > a { min-height: 43px; font-size: 12px; }
    .public-footer-contact { grid-column: 1 / -1; display: block; padding-top: 28px; border-top: 1px solid #2a3d50; }
    .public-footer-contact h2 { margin-bottom: 20px; }
    .public-footer-contact-link { align-items: center; gap: 14px; min-height: 64px; padding: 0; font-size: 13px; }
    .public-footer-contact-link + .public-footer-contact-link { margin-top: 10px; }
    .public-footer-contact-link > i, .public-footer-hours > i { display: grid; flex: 0 0 42px; place-items: center; width: 42px; height: 42px; margin-top: 0; border-radius: 50%; background: #1b3043; color: #edc977; font-size: 17px; }
    .public-footer-contact-link small { margin-bottom: 4px; color: #b0bdca; font-size: 11px; }
    .public-footer-hours { align-items: flex-start; gap: 14px; margin-top: 20px; }
    .public-footer-hours p { font-size: 12px; line-height: 1.85; }
    .public-footer-hours strong { margin-bottom: 4px; color: #b0bdca; font-size: 11px; }
    .public-footer-hours p > span { display: block; }
    .public-footer-bottom { flex-direction: column; align-items: flex-start; gap: 9px; margin-top: 32px; padding-top: 22px; border-color: #2a3d50; }
    .public-footer-bottom p { color: #bbc6d1; font-size: 10px; line-height: 1.9; }
    .public-footer-bottom > span { color: #97a9ba; font-size: 10px; }
    .public-footer-contact-us { margin-top: 2px; color: #d8e0e8; font-size: 11px; }
    body[data-page="home"] .public-footer-bottom { padding-right: 60px; }
}
@media (max-width: 479px) {
    .public-footer-contact-link { font-size: clamp(11px, 3.2vw, 13px); }
}

/* Confirmed property features */
.property-feature-tags { display:flex; flex-wrap:wrap; gap:5px; margin-top:10px; }
.property-feature-tag { display:inline-flex; align-items:center; min-height:23px; max-width:100%; padding:3px 7px; border:1px solid #dce6ed; border-radius:4px; background:#f4f7fa; color:#48647a; font-size:10px; font-weight:500; line-height:1.5; }
.property-feature-more { color:#778c9b; background:transparent; }
.property-feature-filter { grid-column:1 / -1; min-width:0; margin:0; padding:13px 0 0; border:0; border-top:1px solid #e1e8ee; }
.property-feature-filter legend { float:none; width:auto; margin:0 0 6px; padding:0; color:#385570; font-size:11px; font-weight:500; }
.property-feature-filter legend small { margin-left:8px; color:#7a8d9f; font-size:10px; font-weight:400; }
.property-feature-options { display:flex; flex-wrap:wrap; gap:8px; min-width:0; margin:0; padding:4px 0; border:0; }
.property-feature-option { display:inline-flex; align-items:center; gap:8px; min-height:38px; margin:0; padding:8px 11px; border:1px solid #dce6ed; border-radius:5px; background:#fff; color:#4d657a; font-size:11px; font-weight:400; line-height:1.6; cursor:pointer; }
.property-feature-option input { flex:0 0 14px; width:14px; height:14px; margin:0; accent-color:#264e6c; cursor:pointer; }
.property-feature-option:has(input:checked) { border-color:#809db3; background:#edf3f7; color:#244e6b; }
.property-feature-option:has(input:focus-visible) { outline:2px solid #547e9d; outline-offset:3px; }
.property-feature-filter > p { margin:5px 0 2px; color:#7a8d9f; font-size:10px; }
.property-features-section .property-feature-tags { margin-top:0; gap:8px; }
.property-features-section .property-feature-tag { min-height:32px; padding:5px 10px; font-size:11px; }
html[data-theme=dark] body:not([data-page=admin]) :is(.property-feature-tag,.property-feature-option) { border-color:#354e63; background:#192f41; color:#c0d3e2; }
html[data-theme=dark] .property-feature-filter { border-color:#354e63; }
html[data-theme=dark] .property-feature-filter legend { color:#c0d3e2; }
html[data-theme=dark] .property-feature-option:has(input:checked) { border-color:#88a6bd; background:#25445c; color:#e6eff5; }
@media(max-width:575px) { .property-feature-option { min-height:42px; } }
/* Listing categories and per-property price visibility. */
body .property-card .property-price.price-on-request, body .property-detail-price.price-on-request { font-size: 14px; line-height: 1.6; font-weight: 500; letter-spacing: 0; overflow-wrap: anywhere; }
body .property-detail-price.price-on-request { max-width: 280px; font-size: 17px; }
body .property-card .property-info { flex-wrap: wrap; }
body[data-page=admin] .editor-preview-price.price-on-request { font-size: 14px; font-weight: 500; line-height: 1.6; }
body[data-page=admin] .editor-price-visibility { margin-top: 24px; padding: 16px; border: 1px solid #dce5eb; border-radius: 8px; background: #f6f8fa; }
body[data-page=admin] .editor-price-visibility label { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 0; cursor: pointer; }
body[data-page=admin] .editor-price-visibility strong { display: block; color: #354b5d; font-size: 12px; font-weight: 550; }
body[data-page=admin] .editor-price-visibility small { display: block; margin-top: 5px; color: #6b7785; font-size: 11px; line-height: 1.7; font-weight: 400; }
body[data-page=admin] .editor-price-visibility input[role=switch] { appearance: none; position: relative; flex: 0 0 40px; width: 40px; height: 24px; margin: 0; border: 1px solid #b4c0cb; border-radius: 20px; background: #c3cdd6; cursor: pointer; }
body[data-page=admin] .editor-price-visibility input[role=switch]::after { position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; content: ""; }
body[data-page=admin] .editor-price-visibility input[role=switch]:checked { border-color: #173c58; background: #173c58; }
body[data-page=admin] .editor-price-visibility input[role=switch]:checked::after { left: 19px; }
body[data-page=admin] .editor-price-visibility input[role=switch]:focus-visible { outline: 2px solid #96723c; outline-offset: 3px; }
body[data-page=home] .home-brand-copy small { letter-spacing: 1px; }
@media(max-width:575px) { body[data-page=home] .home-brand-copy small { letter-spacing: .5px; } }
