:root {
  --ux-brand: #9d2820;
  --ux-brand-dark: #7f1f18;
  --ux-brand-soft: #ba4e4d;
  --ux-dark: #111;
  --ux-text: #666;
  --ux-heading: #1f2328;
  --ux-border: #e7e1dc;
  --ux-border-strong: #d8cdc5;
  --ux-shadow: 0 20px 45px rgba(17,17,17,0.08);
  --ux-shadow-soft: 0 10px 28px rgba(17,17,17,0.06);
  --ux-radius: 18px;
}
html { scroll-behavior: smooth; }
body { font-family: 'Raleway', sans-serif !important; color: var(--ux-text); background: linear-gradient(180deg, #fff 0%, #faf8f6 100%); }
body,p,li,a,span,input,select,textarea,button { font-family: 'Raleway', sans-serif !important; }
h1,h2,h3,h4,h5,h6,.widget-title,.page-title h1,.property-thumb-info-content h3,.property-info h2,.property-info h4 { font-family: 'Raleway', sans-serif !important; color: var(--ux-heading); letter-spacing: -.02em; }
.container { max-width: 1240px; }
section,.pgl-featured,.pgl-properties,.pgl-advanced-search,.pgl-agents { position: relative; }

/* Buttons */
.btn,.btn-primary,.btn-submit,button,input[type=submit] { border-radius: 999px !important; font-weight: 700 !important; letter-spacing: .01em; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn-primary,.btn-submit,input[type=submit].btn,button.btn-primary { background: linear-gradient(135deg, var(--ux-brand-soft), var(--ux-brand)) !important; border-color: var(--ux-brand) !important; color: #fff !important; box-shadow: 0 12px 24px rgba(157,40,32,0.22); }
.btn-primary:hover,.btn-submit:hover,input[type=submit].btn:hover { transform: translateY(-1px); box-shadow: 0 16px 30px rgba(157,40,32,0.28); background: linear-gradient(135deg, #c15f58, var(--ux-brand-dark)) !important; }

/* Forms */
.form-control,.select,input[type=text],input[type=email],input[type=password],input[type=search],select,textarea { min-height: 52px; border-radius: 14px !important; border: 1px solid var(--ux-border-strong) !important; box-shadow: none !important; background: #fff !important; color: #333 !important; }
.form-control:focus,.select:focus,input:focus,select:focus,textarea:focus { border-color: var(--ux-brand) !important; box-shadow: 0 0 0 4px rgba(157,40,32,0.10) !important; }

/* Top bar */
#top { background: #111 !important; padding: 10px 0; }
#top .userPanel { display: flex; align-items: center; gap: 8px; }
#top .userPanel > li > a,#top .userPanel a { color: rgba(255,255,255,.92) !important; }

/* Nav */
.pgl-navbar-main,.navbar-default,#header { backdrop-filter: blur(18px); }
.navbar-default,.pgl-navbar-main { background: rgba(255,255,255,.96) !important; border: 0 !important; box-shadow: 0 14px 40px rgba(17,17,17,.08); }
.logo { width: 250px; height: 128px; min-height: 128px; top: -32px; border-radius: 0 0 24px 24px; box-shadow: 0 18px 40px rgba(157,40,32,.28); overflow: hidden; }
.logo img { max-height: 132px; margin-top: -2px; }
.navbar-default .navbar-nav > li > a,#mainMenu nav > ul > li > a,#mainMenu nav ul li a { color: #2d3136 !important; font-weight: 700 !important; font-size: 14px !important; text-transform: none !important; border-radius: 999px; padding: 12px 18px !important; }
.navbar-default .navbar-nav > li > a:hover,.navbar-default .navbar-nav > .active > a,#mainMenu nav > ul > li:hover > a,#mainMenu nav > ul > li > a:hover { color: var(--ux-brand) !important; background: rgba(157,40,32,.08) !important; }
.dropdown-menu,.p-dropdown-content { border: 1px solid var(--ux-border) !important; border-radius: 16px !important; background: rgba(17,17,17,.96) !important; box-shadow: var(--ux-shadow) !important; padding: 10px !important; }
.dropdown-menu > li > a,.p-dropdown-content li a { border-radius: 10px; }
.header-extras .btn,.header-extras a.btn { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 10px 18px !important; }

/* Hero / Listing of Month */
.item { min-height: 680px !important; }
.item:before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, rgba(17,17,17,.72) 0%, rgba(17,17,17,.42) 42%, rgba(157,40,32,.25) 100%); z-index: 1; }
.item .item-caption,.item .container,.item .property-info { position: relative; z-index: 2; }
.property-info { max-width: 660px; background: rgba(255,255,255,.93); border: 1px solid rgba(255,255,255,.55); box-shadow: var(--ux-shadow); backdrop-filter: blur(12px); border-radius: 28px; padding: 34px 34px 28px !important; }
.property-info h2,.property-info h2 a { color: #1f2328 !important; font-size: 42px !important; line-height: 1.05; margin-bottom: 8px !important; }
.property-info h4 { color: var(--ux-brand) !important; text-transform: uppercase; font-size: 14px !important; letter-spacing: .12em; margin-bottom: 14px !important; }
.property-info .stats,.property-info p { color: #4d5560 !important; font-size: 16px; line-height: 1.7; }

/* Labels / Badges */
.property-thumb-info-label { display: flex; flex-wrap: wrap; gap: 8px; }
.label,.badge { border-radius: 999px !important; padding: 8px 14px !important; font-size: 11px !important; text-transform: uppercase; letter-spacing: .08em; font-weight: 800 !important; }
.label.price { background: linear-gradient(135deg, var(--ux-brand-soft), var(--ux-brand)) !important; color: #fff !important; }
.label.forsold { background: #272a2f !important; color: #fff !important; }

/* Agent logos */
.agentLogo,.agentLogo2 { background: #fff; border: 1px solid var(--ux-border); border-radius: 16px; padding: 12px 16px; margin: 18px 0 4px; box-shadow: var(--ux-shadow-soft); }
.agent_logo { max-height: 52px; width: auto; }

/* Search section */
.pgl-advanced-search { background: linear-gradient(180deg, #f7f4f2 0%, #fff 100%) !important; padding: 72px 0 40px !important; }
.MangementRightsSearch { background: #fff; border: 1px solid var(--ux-border); border-radius: 26px; padding: 26px 24px 8px; box-shadow: var(--ux-shadow); margin-top: -92px; position: relative; z-index: 20; }
.MangementRightsSearch:before { content: "Search listings across management rights, hospitality, rentals and investment property"; display: block; color: #2b3138; font-size: 24px; line-height: 1.2; font-weight: 800; letter-spacing: -.03em; margin-bottom: 18px; }
.MangementRightsSearch .form-group { margin-bottom: 16px; }
#searchHeader { min-height: 52px; }

/* Callouts */
.homeCallouts { margin-top: 20px; }
.homeCallouts .callouts { text-decoration: none !important; }
.homeCallouts .offer-item { min-height: 210px; padding: 0; overflow: hidden; }
.homeCallouts .offer-item-inner { padding: 30px 26px; }
.homeCallouts .offer-item p { color: var(--ux-brand) !important; font-weight: 800; }
.homeCallouts .offer-item h3 { font-size: 22px; line-height: 1.25; margin-top: 10px; }

/* Universal border-radius */
.offer-item,.card,.panel,.well,.property-info,.pgl-property,.post-item,.employmentPanel,blockquote.welcome,.footer-content,.pgl-upper-foot,#search .card { border-radius: var(--ux-radius) !important; }
.offer-item,.card,.panel,.well,.post-item,.employmentPanel,blockquote.welcome,#search .card { border: 1px solid var(--ux-border) !important; box-shadow: var(--ux-shadow-soft) !important; background: #fff; }

/* Cards */
.card { padding: 0 !important; overflow: hidden; }
.card .card-title { margin: 0 !important; padding: 24px 26px !important; background: linear-gradient(135deg, #f7f1ef, #efe6e1) !important; color: #1f2328 !important; font-size: 22px !important; font-weight: 800 !important; border-bottom: 1px solid var(--ux-border); }
.card .card-title[style*="#9e2820"],.card .card-title[style*="#9d2820"] { color: #fff !important; background: linear-gradient(135deg, var(--ux-brand-soft), var(--ux-brand)) !important; }
.card .card-body,.panel-body { padding: 26px !important; }
.card ul,.description ul,.property-thumb-info-content ul { padding-left: 18px; }

/* Blog / Events */
#blog .post-item,#events .post-item,.grid-layout .post-item { padding: 0 !important; overflow: hidden; }
#blog .post-item .post-item-wrap,#events .post-item .post-item-wrap,.grid-layout .post-item .post-item-wrap { border: 0 !important; box-shadow: none !important; padding: 0 !important; border-radius: inherit !important; }
#blog .post-item .post-item-description,#events .post-item .post-item-description,.grid-layout .post-item .post-item-description { padding: 24px !important; }

/* Sections */
.pgl-featured,.pgl-properties,.genContent,.mainSite { background: transparent !important; }
.pgl-featured,.pgl-properties,.pgl-agents,section.dark,section.pgl-bg-grey,section.mainSite { padding: 72px 0 !important; }
.pgl-bg-grey,.pgl-bg-light,section.dark,section.mainSite,.genContent { background: linear-gradient(180deg, #faf7f5 0%, #fff 100%) !important; }
section.dark { color: var(--ux-text) !important; }
section.dark h2,section.dark h3,section.dark h4,section.dark p,section.dark li { color: inherit !important; }

/* Property cards */
.pgl-property { border: 1px solid var(--ux-border) !important; box-shadow: var(--ux-shadow-soft) !important; overflow: hidden; background: #fff !important; transition: transform .22s ease, box-shadow .22s ease; }
.pgl-property:hover { transform: translateY(-4px); box-shadow: 0 24px 40px rgba(17,17,17,.12) !important; }
.pgl-property .row { margin-left: 0; margin-right: 0; }
.pgl-property [class*="col-"] { padding-left: 0; padding-right: 0; }
.property-thumb-info-image { overflow: hidden; background: #eee; position: relative; }
.property-thumb-info-image img,.heroList,.heroSmall { width: 100%; height: auto; transition: transform .4s ease; }
.pgl-property:hover .property-thumb-info-image img { transform: scale(1.04); }
.property-thumb-info-content { padding: 24px 24px 18px !important; }
.property-thumb-info-content h3 { font-size: 24px !important; margin-bottom: 10px !important; line-height: 1.2 !important; }
.property-thumb-info-content h4 { font-size: 15px !important; color: var(--ux-brand) !important; margin-bottom: 12px !important; }
.property-thumb-info-content address { display: inline-flex; align-items: center; gap: 8px; color: #7b5c56 !important; font-size: 14px; font-weight: 700; margin-bottom: 14px; }
.property-thumb-info-content address:before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--ux-brand); display: inline-block; }
.description { color: #56606c; }
.description ul { list-style: none; padding: 0; margin: 0; }
.description ul li,.amenities li { padding: 8px 0; border-bottom: 1px solid #f0ebe7; font-size: 14px; }
.description ul li:last-child,.amenities li:last-child { border-bottom: 0; }

/* Section headings */
.LOTM { margin-bottom: 38px; }
.LOTM > h2,.featuredMRs > h2,.featuredMRXs > h2,.genContent h2,.pgl-agents h4,blockquote.welcome h2,section .container > h2 { font-size: 34px !important; line-height: 1.1; margin-bottom: 18px !important; color: #1f2328 !important; }
.featuredMRs > h3,.genContent h3,section .container > h3 { color: #6e6460 !important; line-height: 1.6; }

/* Category tabs */
.nav-tabs.pgl-pro-tabs,.pgl-pro-tabs { display: flex; flex-wrap: wrap; gap: 10px; border: 0 !important; margin-bottom: 26px; }
.nav-tabs.pgl-pro-tabs > li,.pgl-pro-tabs > li,.pgl-pro-tabs .nav-item { float: none !important; margin: 0 !important; }
.nav-tabs.pgl-pro-tabs > li > a,.pgl-pro-tabs > li > a,.pgl-pro-tabs .nav-link { border: 1px solid var(--ux-border) !important; background: #fff !important; border-radius: 999px !important; padding: 12px 18px !important; color: #473d39 !important; font-weight: 700 !important; }
.nav-tabs.pgl-pro-tabs > li > a:hover,.pgl-pro-tabs > li > a:hover,.pgl-pro-tabs .nav-link:hover { border-color: var(--ux-brand) !important; color: var(--ux-brand) !important; }

/* Blockquote */
blockquote.welcome { padding: 38px 42px !important; background: linear-gradient(135deg, #fff, #f7f1ee) !important; border-left: 6px solid var(--ux-brand) !important; }
blockquote.welcome p { font-size: 18px; line-height: 1.8; color: #4d5560; }

/* Employment */
.employmentPanel { padding: 30px; }
.employmentPanel .employment .btn { width: 100%; }

/* Shortlist panel */
#sidePanel a { background: linear-gradient(135deg, var(--ux-brand-soft), var(--ux-brand)); color: #fff !important; border-radius: 16px 16px 0 0; box-shadow: 0 12px 24px rgba(157,40,32,0.24); }

/* Broker logos */
.pgl-agents { padding-top: 20px !important; }
.pgl-agents .logoSplitter { list-style: none; }
.logosBigger { margin-bottom: 18px; }
.logosBigger a { min-height: 120px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--ux-border); border-radius: 18px; background: #fff; box-shadow: var(--ux-shadow-soft); padding: 18px; }
.logosBigger img { max-width: 100%; max-height: 72px; }

/* Footer */
#footer,.pgl-footer,footer.pgl-footer { background: linear-gradient(180deg, #1b1b1d 0%, #111 100%) !important; color: rgba(255,255,255,.78) !important; padding-top: 70px !important; }
#footer h2,.pgl-footer h2 { color: #fff !important; font-size: 20px !important; margin-bottom: 18px !important; }
#footer p,#footer li,#footer address,#footer a,.pgl-footer p,.pgl-footer li,.pgl-footer address,.pgl-footer a,.pgl-footer sub,.pgl-footer h5 { color: rgba(255,255,255,.76) !important; }
#footer a:hover,.pgl-footer a:hover { color: #fff !important; }
#footer .pgl-upper-foot .row > div,.pgl-footer .row > div { margin-bottom: 28px; }
#footer .list-unstyled li,.pgl-footer .list-unstyled li { margin-bottom: 10px; }
#footer .copyright-content,.pgl-copyrights,.copyright-content { border-top: 1px solid rgba(255,255,255,.12) !important; margin-top: 16px; padding: 18px 0 0 !important; color: rgba(255,255,255,.58) !important; }

/* Login overlay */
#search { background: rgba(17,17,17,.76); }
#search .card { max-width: 460px; margin: 0 auto; }

/* Staging banner */
.staging-banner { background: linear-gradient(135deg, #111, var(--ux-brand)) !important; color: #fff; text-align: center; padding: 10px 16px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; }

/* Responsive */
@media (max-width: 1199px) { .logo { width: 220px; } .property-info h2,.property-info h2 a { font-size: 34px !important; } }
@media (max-width: 991px) { .logo { position: relative; top: 0; width: auto; height: auto; min-height: 0; border-radius: 18px; margin: 12px 0; padding: 10px 18px; } .logo img { max-height: 72px; } .MangementRightsSearch { margin-top: 0; padding-top: 22px; } .MangementRightsSearch:before { font-size: 20px; } .item { min-height: 560px !important; } .property-info { padding: 24px !important; } .property-info h2,.property-info h2 a,.LOTM > h2,.featuredMRs > h2,.genContent h2,section .container > h2 { font-size: 28px !important; } .navbar-default .navbar-collapse,#mainMenu { background: #fff !important; border-top: 1px solid var(--ux-border) !important; border-radius: 0 0 20px 20px; box-shadow: 0 16px 36px rgba(17,17,17,.08); } }
@media (max-width: 767px) { .container { padding-left: 18px !important; padding-right: 18px !important; } .item { min-height: 500px !important; } .property-info { max-width: 100%; padding: 22px 18px !important; border-radius: 22px; } .property-info h2,.property-info h2 a { font-size: 28px !important; } .property-thumb-info-content { padding: 18px !important; } .homeCallouts .offer-item-inner,.employmentPanel,blockquote.welcome,.card .card-body,.panel-body { padding: 20px !important; } .card .card-title { padding: 20px !important; font-size: 18px !important; } .MangementRightsSearch:before { font-size: 18px; } #top .userPanel { justify-content: center; flex-wrap: wrap; } }
