/*
Theme Name: Telhal 12
Description: Tema dedicado ao imóvel Telhal 12, com conteúdo editável no WordPress.
Version: 1.0
Requires at least: 6.0
Text Domain: telhal12
*/

:root{--bg:#f7f6f2;--ink:#232723;--muted:#6e736e;--line:#d7d8d1;--sage:#e5e9e1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:rgba(247,246,242,.97);border-bottom:1px solid var(--line)}.logo{font-size:21px;letter-spacing:-.09em;font-weight:500;text-decoration:none}.logo small{font-size:9px;letter-spacing:.23em;margin-left:14px;font-weight:400}.nav{display:flex;gap:29px;align-items:center}.nav a,.lang{font-size:10px;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;border:0;background:none;cursor:pointer}.lang{padding:10px;border:1px solid var(--line)}.hero{height:min(830px,88vh);min-height:540px;position:relative;background:#b9b7ac}.hero img{position:absolute;inset:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,15,12,.62),transparent 62%)}.hero-text{position:absolute;z-index:2;bottom:10%;left:7%;color:white}.eyebrow{font-size:11px;letter-spacing:.25em;text-transform:uppercase}.hero h1{font-family:Manrope,sans-serif;font-size:clamp(66px,10vw,160px);font-weight:200;line-height:.98;letter-spacing:-.085em;margin:18px 0}.hero p{font-size:14px;letter-spacing:.12em}.wrap{width:min(1280px,88%);margin:auto}.section{padding:110px 0}.section-head{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:19px;margin-bottom:50px;font-size:10px;letter-spacing:.18em;text-transform:uppercase}.intro{display:grid;grid-template-columns:1fr .95fr;gap:12%}h2{font:300 clamp(38px,5vw,76px)/1.12 Manrope,sans-serif;letter-spacing:-.06em;margin:0 0 35px}.copy{font-size:15px;line-height:1.95;color:#50564f}.copy p{margin:0 0 18px}.facts{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:75px;padding:32px 0}.fact{padding:0 18px;border-right:1px solid var(--line)}.fact:first-child{padding-left:0}.fact:last-child{border:0}.fact b{display:block;font-size:28px;font-weight:300}.fact span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:9px}.gallery{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:330px 330px;gap:15px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#ddd}.gallery figure:first-child{grid-row:span 2}.gallery img{transition:transform .6s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{position:absolute;bottom:18px;left:20px;color:white;text-shadow:0 1px 8px #333;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.gallery-more{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.gallery-more img{height:290px}.tone{background:#e9eae4}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split .visual{height:580px}.split.reverse .visual{order:-1}.specs{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;margin-top:35px}.spec{border-bottom:1px solid var(--line);padding:0 0 15px}.spec span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:8px}.spec strong{font-size:14px;font-weight:400}.plan{background:#e8e8e2;padding:55px;text-align:center}.plan img{height:auto;max-height:730px;object-fit:contain}.caption{font-size:11px;color:var(--muted);line-height:1.7;margin-top:12px}.neighborhood{display:grid;grid-template-columns:1fr 1fr;gap:22px}.neighborhood article img{height:370px;object-fit:cover}.neighborhood article{min-width:0}.neighborhood .copy{max-width:580px}.neighborhood article h3{font:300 34px Manrope,sans-serif;letter-spacing:-.05em;margin:26px 0 14px}.neighborhood article p{max-width:540px}.map{display:grid;grid-template-columns:1.1fr .9fr;gap:9%;align-items:center}.map img{height:auto}.outline{display:inline-block;border-bottom:1px solid var(--ink);text-decoration:none;padding:12px 0;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.cta{background:#28322c;color:#fff;text-align:center;padding:125px 20px}.cta h2{max-width:900px;margin:22px auto}.cta p{color:#d6ded6;line-height:1.8}.button{display:inline-block;border:1px solid #fff;padding:20px 32px;margin-top:25px;text-decoration:none;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.button:hover{background:#fff;color:#28322c}footer{padding:45px 6%;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#777;line-height:1.9}.pt,.en{display:inline}body.en .pt,body:not(.en) .en{display:none}@media(max-width:850px){header{height:68px}.nav{gap:8px}.nav a{display:none}.logo small{display:none}.hero{height:74vh;min-height:520px}.section{padding:70px 0}.intro,.split,.map,.neighborhood{grid-template-columns:1fr;gap:30px}.facts{grid-template-columns:repeat(2,1fr);gap:25px 0}.fact:nth-child(2n){border:0}.gallery{grid-template-columns:1fr;grid-template-rows:440px 270px 270px}.gallery figure:first-child{grid-row:auto}.gallery-more{grid-template-columns:1fr 1fr}.gallery-more img{height:210px}.split .visual{height:420px}.split.reverse .visual{order:0}.plan{padding:15px}.neighborhood article img{height:310px}footer{display:block}}

/* WordPress admin bar spacing */
body.admin-bar header{top:32px}
@media(max-width:782px){body.admin-bar header{top:46px}}

/* Additional property photographs */
.gallery-added{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 15px;margin-top:26px}.gallery-added figure{margin:0;min-width:0}.photo-open{display:block;padding:0;border:0;background:#e9eae4;width:100%;height:320px;cursor:zoom-in;overflow:hidden}.photo-open img{object-fit:contain;transition:transform .4s}.photo-open:hover img{transform:scale(1.025)}.gallery-added figcaption{font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding-top:12px;color:var(--muted)}#photo-viewer{border:0;padding:36px;background:var(--bg);width:min(1400px,96vw);max-width:96vw;max-height:94vh}#photo-viewer::backdrop{background:rgba(10,15,12,.88)}#full-photo{height:auto;max-height:82vh;object-fit:contain}#close-photo{position:absolute;right:6px;top:0;border:0;background:none;font-size:32px;cursor:pointer;color:var(--ink)}body.photo-is-open{overflow:hidden}@media(max-width:850px){.gallery-added{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-open{height:260px}}@media(max-width:520px){.gallery-added{grid-template-columns:1fr}.photo-open{height:340px}#photo-viewer{padding:30px 10px 10px}}

.plan{background:transparent}.floorplan-vertical{display:block;width:100%;height:auto;max-height:730px;margin:auto}

#floorplan .floorplan-layout{display:block}#floorplan .plan{padding:0;margin-top:45px;width:100%;background:transparent}.floorplan-wide{display:block;width:100%;height:auto;margin:0;max-height:none}

/* Live location map */
.live-map{position:relative;display:block;min-height:580px;padding:35px;background:#e9eae4;isolation:isolate}.google-map{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:-1}.map-info{position:relative;width:min(38%,430px);padding:32px;background:rgba(247,246,242,.97);box-shadow:0 8px 30px rgba(35,39,35,.08)}.map-info h2{font-size:clamp(32px,3.5vw,50px)}.map-info .copy{font-size:14px}@media(max-width:850px){.live-map{padding:0;min-height:0;display:flex;flex-direction:column;background:transparent;gap:25px}.map-info{width:100%;padding:0;background:transparent;box-shadow:none}.google-map{position:relative;inset:auto;z-index:auto;display:block;height:420px;width:100%}}

.live-map .map-info{background:#f7f6f2;box-shadow:0 8px 30px rgba(35,39,35,.12)}
@media(max-width:850px){.live-map .map-info{padding:28px;box-sizing:border-box;box-shadow:none}}

/* Clip the embedded address card while retaining the map footer. */
.live-map .map-viewport{position:absolute;inset:0;overflow:hidden;z-index:-1}.live-map .google-map{position:absolute;top:-180px;left:0;width:100%;height:calc(100% + 180px);z-index:auto}@media(max-width:850px){.live-map .map-viewport{position:relative;inset:auto;width:100%;height:420px;z-index:0;flex-shrink:0}.live-map .google-map{position:absolute;top:-180px;height:600px}}

.nav a.nav-visit{display:inline-flex;align-items:center;justify-content:center;background:#28322c;color:#fff;padding:14px 19px;border:1px solid #28322c;border-radius:3px;font-weight:600;transition:background .2s}.nav a.nav-visit:hover{background:#465448}.nav a.nav-visit:focus-visible{outline:2px solid #28322c;outline-offset:4px}@media(max-width:850px){.nav a.nav-visit{display:inline-flex;padding:11px 12px;font-size:9px;letter-spacing:.08em}}

/* Emphasize the asking price while retaining the editorial style. */
#apartment .section-head{align-items:center;gap:20px;flex-wrap:wrap}
#apartment .property-price{font-family:Manrope,sans-serif;font-size:clamp(24px,3vw,38px);font-weight:500;line-height:1.2;letter-spacing:-.035em;color:var(--ink);white-space:nowrap}

/* Keep apartment paragraphs separated in the active language. */
body:not(.en) #apartment .copy p.pt,body.en #apartment .copy p.en{display:block}

/* Gallery navigation and consistent separation between apartment paragraphs. */
#photo-viewer{padding:44px 64px 38px}
.photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:54px;border:0;border-radius:4px;background:rgba(40,50,44,.85);color:white;font:300 42px/1 sans-serif;cursor:pointer;z-index:2}
#previous-photo{left:10px}#next-photo{right:10px}
.photo-nav:hover{background:#28322c}.photo-nav:focus-visible{outline:3px solid #bca780;outline-offset:3px}
#photo-counter{text-align:center;font-size:12px;letter-spacing:.12em;padding-top:12px;color:var(--ink)}
#full-photo{display:block;width:100%;height:calc(88dvh - 110px);max-height:78vh;object-fit:contain;touch-action:pan-y pinch-zoom}
body:not(.en) #apartment .copy p.pt,body.en #apartment .copy p.en{display:block;margin:0 0 22px}
@media(max-width:600px){#photo-viewer{padding:40px 8px 12px}.photo-nav{width:40px;height:48px;background:rgba(40,50,44,.75)}#previous-photo{left:8px}#next-photo{right:8px}#full-photo{height:calc(82dvh - 80px)}}

/* Preserve the bright cover photograph with a subtle shade only behind the title. */
.hero:after{background:linear-gradient(0deg,rgba(8,15,12,.22),rgba(8,15,12,.04) 26%,transparent 48%)}
.hero-text{text-shadow:0 2px 14px rgba(0,0,0,.65),0 1px 3px rgba(0,0,0,.65)}

/* Show the supplied cover photograph without a colour overlay or image effects. */
.hero:after{display:none}
.hero img{filter:none;opacity:1;transform:none}
.hero-text{text-shadow:0 1px 3px rgba(0,0,0,.85)}
