/*
 * Property Gallery page template (page-property-gallery.php).
 * Generated from new-designs/Lansdowne_Harvey_Gallery_Mockup_v2.html and scoped to .pg
 * so it doesn't leak into, or get overridden by, the theme's global styles.
 */
.pg{--ink:#2b2928;--charcoal:#272525;--copper:#8e4c3d;--copper-mid:#af7664;--linen:#f7f4ef;--pearl:#fdfcf9;--line:#dfd9d2;--muted:#6d6a66;--serif:'Playfair Display',Georgia,serif;--sans:'Nunito Sans',Arial,sans-serif;--max:1350px}
.pg,.pg *{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--pg-sticky,0px) + 75px)}
.pg{margin:0;background:var(--pearl);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
body.pg-lock{overflow:hidden}
.pg a{color:inherit!important;text-decoration:none}
.pg button,.pg select{font:inherit}
.pg button{cursor:pointer}
.pg img{max-width:100%;display:block}
.pg h1,.pg h2,.pg h3,.pg p{margin:0}
.pg button:focus-visible,.pg a:focus-visible,.pg select:focus-visible{outline:3px solid #b8785e;outline-offset:4px}
.pg .frame{width:min(var(--max),calc(100% - 112px));margin:auto}
.pg .eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.71rem;font-weight:700;color:var(--copper)}
.pg .serif{font-family:var(--serif);font-weight:400}
.pg .btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:700;padding:16px 22px;min-height:49px;border:1px solid transparent;transition:background .25s,color .25s,border-color .25s}
.pg .btn-dark{background:var(--ink);color:white!important}
.pg .btn-dark:hover{background:var(--copper)}
.pg .btn-copper{background:var(--copper);color:#fff!important}
.pg .btn-copper:hover{background:#703a30}
.pg .btn-light{background:white;color:var(--ink)!important}
.pg .btn-outline{border-color:#bbb3a9;background:transparent;color:var(--ink)!important}
.pg .btn-outline:hover{border-color:var(--copper);color:var(--copper)!important}
.pg .btn-outline-white{border-color:#f5e9df;color:white!important;background:transparent}
.pg .btn-outline-white:hover{background:white;color:var(--ink)!important}
.pg .hero{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:var(--linen)}
.pg .hero-copy{padding:clamp(68px,6vw,125px) 7% 70px max(56px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.pg .hero h1{font:400 clamp(3rem,5vw,5.55rem)/1.14 var(--serif)!important;letter-spacing:-.045em;margin:27px 0 23px;max-width:670px}
.pg .hero h1 em{font-style:italic;color:var(--copper)}
.pg .hero p{color:#5e5955;max-width:520px;font-size:1.05rem;line-height:1.85}
.pg .hero-actions{display:flex;gap:11px;margin-top:34px;flex-wrap:wrap}
.pg .hero-photo{position:relative;overflow:hidden;min-height:540px}
.pg .hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.pg .hero-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#1f1c1b90)}
.pg .hero-photo-caption{position:absolute;z-index:1;left:35px;bottom:32px;color:#fff;text-transform:uppercase;letter-spacing:.16em;font-size:.69rem}
.pg .filter-shell{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-block:1px solid var(--line);backdrop-filter:blur(12px);box-shadow:0 8px 18px #352e260b}
.pg .filters-inner{display:flex;align-items:center;gap:8px;padding-block:15px}
.pg .filter-scroll{display:flex;gap:7px;flex:1;overflow:auto;scrollbar-width:none}
.pg .filter-scroll::-webkit-scrollbar{display:none}
.pg .filter-tab{flex:none;border:1px solid transparent;background:transparent;color:#595550;font-size:.69rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;padding:12px 17px;white-space:nowrap}
.pg .filter-tab:hover{color:var(--copper)}
.pg .filter-tab[aria-pressed=true]{color:white;background:var(--ink)}
.pg .filter-util{display:flex;align-items:center;gap:8px;margin-left:auto}
.pg .filter-advanced{background:none;border:1px solid #c8c1b8;font-size:.7rem;letter-spacing:.07em;padding:11px 13px;white-space:nowrap}
.pg .filter-advanced[aria-expanded=true]{border-color:var(--copper);color:var(--copper)}
.pg .filter-count{font-size:.75rem;color:var(--muted);white-space:nowrap}
.pg .advanced{border-top:1px solid var(--line);background:#f9f7f3}
.pg .advanced-inner{display:flex;align-items:end;gap:18px;padding-block:20px;flex-wrap:wrap}
.pg .field{display:flex;flex-direction:column;gap:5px;min-width:210px}
.pg .field label{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:#77716c;font-weight:700}
.pg .field select{padding:12px 34px 12px 12px;background:#fff;border:1px solid #d3cbc4;border-radius:0;color:#34302f;font-size:.87rem}
.pg .filter-reset{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:.75rem;letter-spacing:.04em;color:var(--copper);padding:12px}
.pg .filter-help{font-size:.76rem;color:#77716b;max-width:430px;margin-left:auto;align-self:center}
.pg .gallery-zone{padding:45px 0 85px}
.pg .result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}
.pg .result-header strong{font:400 1.32rem/1.4 var(--serif)}
.pg .result-header span{color:var(--muted);font-size:.8rem}
.pg .gallery-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;align-items:start}
.pg .tile{grid-column:span 4;position:relative;aspect-ratio:1.1;background:#e8e2dc;overflow:hidden;border:0;padding:0;text-align:left;display:block;isolation:isolate;cursor:zoom-in}
.pg .tile.wide{grid-column:span 8;aspect-ratio:2.05}
.pg .tile.landscape{grid-column:span 6;aspect-ratio:1.58}
.pg .tile.full{grid-column:span 12;aspect-ratio:2.65}
.pg .tile img{height:100%;width:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.2,1)}
.pg .tile:hover img{transform:scale(1.035)}
.pg .tile.floorplan{background:#edeae5}
.pg .tile.floorplan img{object-fit:contain;padding:18px}
.pg .tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 44%,#191817b9 100%);pointer-events:none}
.pg .tile.floorplan:after{background:linear-gradient(180deg,transparent 58%,#151412a4 100%)}
.pg .tile-label{position:absolute;bottom:23px;left:26px;right:23px;z-index:2;color:#fff;display:flex;gap:10px;justify-content:space-between;align-items:end}
.pg .tile-title{font:400 clamp(1.2rem,1.7vw,1.9rem)/1.25 var(--serif)}
.pg .tile-tag{font-size:.57rem;text-transform:uppercase;letter-spacing:.14em;color:#f6e1d6;font-weight:700;margin-bottom:8px}
.pg .tile-action{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}
.pg .film-tile{cursor:pointer}
.pg .film-tile img{filter:brightness(.73)}
.pg .film-tile .play-disc{width:80px;height:80px;border:1px solid #fff9;border-radius:100%;display:grid;place-items:center;background:#0003;position:absolute;inset:0;margin:auto;z-index:3;color:#fff;font-size:28px;transition:transform .2s}
.pg .film-tile:hover .play-disc{transform:scale(1.08)}
.pg .empty-state{padding:90px 25px;text-align:center;background:var(--linen);border:1px solid var(--line)}
.pg .empty-state h3{font:400 2rem/1.25 var(--serif)!important;margin-bottom:12px}
.pg .empty-state p{color:var(--muted);max-width:560px;margin:auto auto 24px}
.pg .gallery-more{display:flex;justify-content:center;margin-top:42px}
.pg .copper{background:var(--copper);text-align:center;color:white;padding:92px 25px 100px;position:relative;overflow:hidden}
.pg .copper:before{content:'';position:absolute;width:460px;height:460px;border:1px solid #ffffff33;border-radius:100%;top:-240px;left:-100px;pointer-events:none}
.pg .copper .eyebrow{color:#e7c7b7}
.pg .copper h2{font:400 clamp(2.4rem,4.5vw,4.45rem)/1.25 var(--serif)!important;margin:16px 0 15px;letter-spacing:-.03em}
.pg .copper p{color:#f3ded2;max-width:620px;margin:0 auto 27px}
.pg .viewer{position:fixed;inset:0;background:#151413f7;z-index:200;display:none;flex-direction:column;color:#fff}
.pg .viewer.open{display:flex}
.pg .viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 32px;min-height:74px;border-bottom:1px solid #ffffff30}
.pg .viewer-label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#d4b3a2}
.pg .viewer-buttons{display:flex;gap:6px}
.pg .viewer button{background:transparent;border:1px solid #ffffff47;color:#fff;min-height:42px;min-width:42px;padding:7px 13px;cursor:pointer}
.pg .viewer button:hover{background:#ffffff20}
.pg .viewer-stage{flex:1;display:flex;justify-content:center;align-items:center;gap:15px;min-height:0;padding:18px 28px}
.pg .viewer-media{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;max-height:100%;height:100%;overflow:auto;touch-action:pan-y}
.pg .viewer-media img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}
.pg .viewer-media.zoom img{max-height:none;max-width:none;width:155%;cursor:zoom-out}
.pg .viewer-media iframe{width:min(1200px,100%);aspect-ratio:16/9;border:0;background:#000}
.pg .viewer-arrow{font-size:25px;font-weight:300;flex:none}
.pg .viewer-foot{padding:18px 32px 21px;border-top:1px solid #ffffff2c;display:flex;justify-content:space-between;gap:24px;align-items:center}
.pg .viewer-foot h3{font:400 1.65rem/1.25 var(--serif)!important;margin-bottom:5px}
.pg .viewer-foot p{font-size:.78rem;line-height:1.5;color:#c8c2ba}
.pg .viewer-count{font-size:.8rem;letter-spacing:.14em;color:#d0c4bb;white-space:nowrap}
.pg .viewer-media .video-fallback{display:flex;flex-direction:column;gap:18px;text-align:center;color:#ded2c7}
@media(max-width:1200px){.pg .frame{width:calc(100% - 70px)}
.pg .hero-copy{padding-left:42px}}
@media(max-width:930px){.pg .hero{grid-template-columns:1.15fr .85fr}
.pg .hero-copy{padding:70px 35px}
.pg .hero h1{font-size:clamp(2.5rem,5vw,4rem)!important}
.pg .filter-count{display:none}
.pg .tile{grid-column:span 6}
.pg .tile.wide{grid-column:span 12;aspect-ratio:2.3}
.pg .tile.full{aspect-ratio:2.1}
.pg .tile.landscape{grid-column:span 6;aspect-ratio:1.2}}
@media(max-width:680px){html{scroll-padding-top:calc(var(--pg-sticky,0px) + 52px)}
.pg .frame{width:calc(100% - 40px)}
.pg .hero{display:flex;flex-direction:column-reverse}
.pg .hero-photo{height:330px;min-height:330px}
.pg .hero-copy{padding:47px 23px 56px}
.pg .hero h1{font-size:clamp(2.62rem,10vw,3.8rem)!important;margin-top:15px}
.pg .hero p{font-size:.95rem}
.pg .hero-actions{width:100%}
.pg .hero-actions .btn{width:100%}
.pg .filters-inner{gap:7px;padding-block:10px}
.pg .filter-tab{font-size:.63rem;padding:10px 12px}
.pg .filter-advanced{font-size:.64rem;padding:10px 9px}
.pg .advanced-inner{gap:12px}
.pg .field{min-width:100%;width:100%}
.pg .filter-help{margin:0}
.pg .gallery-zone{padding:25px 0 64px}
.pg .result-header{align-items:flex-start}
.pg .result-header strong{font-size:1.14rem}
.pg .result-header span{font-size:.72rem}
.pg .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.pg .tile,.pg .tile.landscape{grid-column:span 1;aspect-ratio: .85}
.pg .tile.wide,.pg .tile.full{grid-column:span 2;aspect-ratio:1.55}
.pg .tile-label{left:13px;bottom:15px;right:9px}
.pg .tile-title{font-size:1.04rem}
.pg .tile-tag{font-size:.53rem}
.pg .tile-action{display:none}
.pg .film-tile .play-disc{width:63px;height:63px}
.pg .copper{padding:75px 20px}
.pg .copper h2{font-size:2.6rem!important}
.pg .viewer-bar{padding:11px 15px;min-height:65px}
.pg .viewer-label{font-size:.56rem}
.pg .viewer-stage{padding:10px 5px;gap:3px}
.pg .viewer-arrow{min-width:35px!important;padding:7px!important}
.pg .viewer-foot{padding:16px 20px;display:block}
.pg .viewer-foot h3{font-size:1.2rem!important}
.pg .viewer-foot p{font-size:.7rem}
.pg .viewer-count{display:block;margin-top:7px}
.pg .viewer-media.zoom img{width:250%}}
@media(prefers-reduced-motion:reduce){.pg,.pg *,.pg::before,.pg *::before,.pg::after,.pg *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.pg .hero-copy{padding-top:90px;padding-bottom:92px}
.pg .hero{min-height:545px}
.pg .hero h1{margin-top:19px}
.pg .gallery-zone{padding-top:42px}
.pg .filter-shell{z-index:50}
.pg .filters-inner{padding-block:13px}
.pg .advanced.always{display:block!important}
.pg .advanced-inner{padding-block:16px;align-items:end}
.pg .field{min-width:260px}
.pg .field select{min-width:260px;min-height:49px}
.pg .filter-help{font-size:.75rem;max-width:490px}
.pg .filter-reset{white-space:nowrap}
.pg .filter-scroll{min-width:0}
.pg .filter-tab{padding:11px 13px;letter-spacing:.07em}
.pg .filter-tab[aria-pressed=true]{background:#292827}
.pg .tile .staging-badge{position:absolute;top:18px;left:18px;z-index:3;background:#f8f5f0ef;color:#513d35;padding:6px 11px;font:700 .58rem/1.1 var(--sans);letter-spacing:.13em;text-transform:uppercase;border:1px solid #ffffff95}
.pg .tile.preview-unavailable .staging-badge{background:#e8e0d8}
.pg .tile .tile-tag{text-shadow:0 1px 3px #0008}
.pg .plan-download{display:table;margin:24px auto 0!important}
.pg .plan-download[hidden]{display:none!important}
.pg .viewer-actions{display:flex;align-items:center;gap:26px}
.pg .viewer-actions a{font-size:.73rem;color:#e7c1b0!important;text-decoration:underline;text-underline-offset:3px}
.pg .viewer-actions a[hidden]{display:none!important}
.pg .viewer-buttons button[hidden],.pg .viewer-arrow[hidden]{display:none!important}
@media(max-width:680px){html{scroll-padding-top:calc(var(--pg-sticky,0px) + 153px)}
.pg .hero-copy{padding:45px 24px 54px}
.pg .hero{min-height:0}
.pg .hero-photo{height:310px;min-height:310px}
.pg .filters-inner{padding-block:8px}
.pg .advanced-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding-block:12px}
.pg .field{min-width:0;width:100%}
.pg .field select{min-width:0;width:100%;min-height:46px;font-size:.84rem}
.pg .filter-reset{padding:11px 5px;font-size:.69rem}
.pg .filter-help{grid-column:1/-1;margin:0;max-width:none;font-size:.67rem}
.pg .filter-tab{padding:10px 12px}
.pg .tile .staging-badge{top:8px;left:8px;font-size:.49rem;padding:5px 7px}
.pg .viewer-actions{gap:10px;flex-wrap:wrap}
.pg .viewer-actions a{font-size:.65rem}}

/* Theme overrides: style_lp_31.css forces a:link colour and heading sizes with !important */
.pg a{color:inherit!important;text-decoration:none}
.pg .btn{border-radius:0;line-height:1.2;white-space:normal;text-decoration:none!important}
.pg .btn:focus{box-shadow:none}
.pg .filter-shell{top:var(--pg-sticky,0px)}
.pg .hero h1 em{font-style:italic}
/* script-lp-14.js wraps every <select> in .styled-select, which forces uppercase and a clipped 40px height */
.pg .styled-select{height:auto!important;overflow:visible;background:none;width:100%;text-transform:none!important;font-size:inherit!important}
.pg .field select{width:100%;height:auto!important;line-height:1.3;text-transform:none!important;font-size:.87rem!important;background:#fff;border:1px solid #d3cbc4;padding:12px 34px 12px 12px;-webkit-appearance:menulist!important;appearance:menulist!important}
/* Sit above the theme's sticky header (z-index 1020) and the admin bar */
.pg .viewer{z-index:100001}
/* Keep hero text clear of the image */
.pg .hero-copy>*{padding-right:15px}
