/*
Theme Name: Sardegna
Theme URI: https://sardegna.gtwagencia.com.br
Author: GTW Agência
Author URI: https://www.gtwagencia.com.br
Description: Tema sob medida para a landing do Sardegna Condomínio Club, da Engepar, no Villa Toscana em Dourados/MS. Vídeo no topo, implantação com legenda interativa, plantas em abas, galerias ampliáveis e painel no Personalizar (WhatsApp, área de lazer, aviso legal e SEO).
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sardegna
Tags: landing-page, one-column, translation-ready
*/
/* Layout: mesma espinha do Altos do Horto (hero escuro → faixas alternando
   mar profundo, areia e sol), trocando a "linha de testada" pelas listras
   do sol sobre o mar da marca Sardegna. Visual único, escuro por escolha. */
:root{
  --deep:   #033F4A;  /* azul-petróleo da marca, fundo dominante */
  --deep-2: #022C34;
  --sea:    #0E5A66;
  --sun:    #F4B728;  /* dourado do sol da marca */
  --sun-hi: #FFCD52;
  --coral:  #E2614A;  /* pôr do sol dos renders */
  --sand:   #F5F0E4;
  --sand-2: #E8E0CC;
  --ink:    #04262D;
  --line:   rgba(245,240,228,.16);

  --display: "Fraunces", Georgia, "Times New Roman", serif;
  --body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;

  --t-hero: clamp(2.6rem, 6vw, 5.2rem);
  --t-h2:   clamp(1.95rem, 4.1vw, 3.3rem);
  --t-h3:   clamp(1.12rem, 1.6vw, 1.35rem);
  --t-lead: clamp(1.02rem, 1.3vw, 1.17rem);

  --gut:  clamp(1rem, 4vw, 2.5rem);
  --sect: clamp(4.25rem, 9vw, 8rem);
  --wrap: 1220px;
  --ease: cubic-bezier(.22,.61,.36,1);
  color-scheme: dark;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--deep); color:var(--sand);
  font-family:var(--body); font-size:clamp(1rem,1.05vw,1.06rem); line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
[hidden]{ display:none !important; }
h1,h2,h3{ margin:0; font-weight:400; line-height:1.06; letter-spacing:-.015em; }
p{ margin:0; }
ul,ol,dl,dd{ margin:0; padding:0; list-style:none; }
a{ color:inherit; }
figure{ margin:0; }
:where(a,button,[tabindex]):focus-visible{ outline:2px solid var(--sun-hi); outline-offset:3px; border-radius:2px; }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{ animation:none !important; transition-duration:.01ms !important; } html{ scroll-behavior:auto; } }

.wrap{ width:min(100%, var(--wrap)); margin-inline:auto; }
.wrap--narrow{ max-width:860px; }

/* ---------- device: listras do sol sobre o mar ---------- */
.eyebrow{
  display:flex; align-items:center; gap:.75rem;
  font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--sun); margin:0 0 1.35rem;
}
.eyebrow::after{
  content:""; flex:1; max-width:150px; height:9px; opacity:.7;
  background:
    linear-gradient(currentColor,currentColor) left 0    /100% 1.5px no-repeat,
    linear-gradient(currentColor,currentColor) left 3.75px/72% 1.5px no-repeat,
    linear-gradient(currentColor,currentColor) left 7.5px /44% 1.5px no-repeat;
}
.on-sand .eyebrow{ color:var(--sea); }
.on-sun .eyebrow{ color:var(--ink); }
.eyebrow--center{ justify-content:center; }
.eyebrow--center::after{ display:none; }

/* ---------- botões ---------- */
.btn{
  --bg:var(--sun); --fg:var(--ink); --bd:var(--sun);
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.85rem 1.6rem; border-radius:100px; border:1px solid var(--bd);
  background:var(--bg); color:var(--fg);
  font:600 .95rem/1.2 var(--body); text-decoration:none; cursor:pointer;
  transition:transform .25s var(--ease), background-color .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);
}
.btn:hover{ transform:translateY(-2px); --bg:var(--sun-hi); --bd:var(--sun-hi); }
.btn--ghost{ --bg:transparent; --fg:var(--sand); --bd:rgba(245,240,228,.42); }
.btn--ghost:hover{ --bg:rgba(245,240,228,.1); --bd:var(--sand); }
.btn--deep{ --bg:var(--deep); --fg:var(--sand); --bd:var(--deep); }
.btn--deep:hover{ --bg:var(--sea); --bd:var(--sea); }
.btn--lg{ padding:1.02rem 2rem; font-size:1rem; }
.btn svg{ flex:none; }
.cta-row{ display:flex; flex-wrap:wrap; align-items:center; gap:.85rem 1.25rem; margin-top:clamp(2.25rem,5vw,3.5rem); }
.cta-row--center{ justify-content:center; text-align:center; flex-direction:column; }
.cta-row__note{ font-size:.9rem; opacity:.72; max-width:40ch; }

/* ---------- topo ---------- */
.topbar{
  position:fixed; inset:0 0 auto 0; z-index:100;
  padding-top:env(safe-area-inset-top,0px);
  transition:background-color .35s var(--ease), box-shadow .35s var(--ease);
}
.topbar.is-stuck, .topbar.is-open{ background:rgba(2,44,52,.94); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--line); }
.topbar__inner{
  width:min(100% - var(--gut)*2, var(--wrap)); margin-inline:auto;
  display:flex; align-items:center; gap:2rem; padding:.9rem 0;
}
.topbar__brand img{ height:46px; width:auto; }
.topbar__nav{ display:flex; gap:1.8rem; margin-left:auto; }
.topbar__nav a{ font-size:.86rem; font-weight:500; text-decoration:none; color:rgba(245,240,228,.82); position:relative; padding-block:.25rem; }
.topbar__nav a::after{ content:""; position:absolute; inset:auto 0 0 0; height:1px; background:var(--sun); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease); }
.topbar__nav a:hover{ color:var(--sand); }
.topbar__nav a:hover::after{ transform:scaleX(1); }
.topbar__cta{ padding:.6rem 1.2rem; font-size:.86rem; }
.topbar__toggle{
  display:none; margin-left:auto; width:44px; height:44px; padding:0; position:relative;
  background:none; border:1px solid rgba(245,240,228,.3); border-radius:50%; cursor:pointer;
}
.topbar__toggle span{ position:absolute; left:13px; width:18px; height:1.5px; background:var(--sand); transition:transform .3s var(--ease); }
.topbar__toggle span:nth-child(1){ top:19px; }
.topbar__toggle span:nth-child(2){ top:25px; }
.topbar__toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(3px) rotate(45deg); }
.topbar__toggle[aria-expanded="true"] span:nth-child(2){ transform:translateY(-3px) rotate(-45deg); }
.menu-mobile{ display:flex; flex-direction:column; padding:.5rem var(--gut) 1.5rem; border-top:1px solid var(--line); }
.menu-mobile a{ text-decoration:none; padding:.85rem 0; font-size:1.05rem; border-bottom:1px solid rgba(245,240,228,.09); }
.menu-mobile a.btn{ margin-top:1rem; border-bottom:1px solid var(--sun); }
@media (max-width:1000px){ .topbar__nav{ gap:1.2rem; } .topbar__nav a{ font-size:.8rem; } }
@media (max-width:880px){
  .topbar__nav, .topbar__cta{ display:none; }
  .topbar__toggle{ display:block; }
  .topbar__brand img{ height:40px; }
}
@media (min-width:881px){ .menu-mobile{ display:none !important; } }

/* ---------- hero ---------- */
.hero{
  position:relative; isolation:isolate;
  padding:clamp(8rem,17vh,11rem) var(--gut) clamp(2.75rem,5vw,4rem);
}
.hero__bg{ position:absolute; inset:0; z-index:-2; }
.hero__bg img, .hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
/* A foto fica por baixo; o vídeo só aparece quando começa a tocar. */
.hero__video{ opacity:0; transition:opacity 1.2s var(--ease); }
.hero__video.is-on{ opacity:1; }
.hero::after{
  content:""; position:absolute; inset:0; z-index:-1;
  background:
    linear-gradient(180deg, rgba(2,30,36,.78) 0%, rgba(2,30,36,.2) 34%, rgba(3,63,74,.7) 72%, var(--deep) 100%),
    linear-gradient(100deg, rgba(2,30,36,.72) 0%, rgba(2,30,36,.12) 60%, rgba(2,30,36,0) 100%);
}
.hero__inner{ width:min(100%, var(--wrap)); margin-inline:auto; }
.hero__name{
  display:flex; flex-wrap:wrap; align-items:center; gap:.2rem .6rem; margin:0 0 1.35rem;
  font-family:var(--body); font-size:.78rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  line-height:1.5; color:var(--sun);
}
.hero__name span{ font-weight:600; color:rgba(245,240,228,.78); }
.hero__title{
  font-family:var(--display); font-size:var(--t-hero);
  font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 144; font-weight:360;
  letter-spacing:-.03em; line-height:1.04; margin-bottom:1.4rem; text-wrap:balance; max-width:13ch;
}
.hero__title em{ font-style:italic; color:var(--sun); font-weight:420; }
.hero__lead{ font-size:var(--t-lead); max-width:52ch; color:rgba(245,240,228,.9); }
.hero .cta-row{ margin-top:2rem; }
.hero__facts{
  margin-top:clamp(3rem,7vw,5.5rem);
  display:grid; grid-template-columns:repeat(4,minmax(0,auto)); justify-content:start;
  border-top:1px solid rgba(245,240,228,.26); padding-top:1.1rem;
}
.hero__fact{ position:relative; padding-inline:clamp(1rem,2.6vw,2.2rem); }
.hero__fact:first-child{ padding-left:0; }
.hero__fact + .hero__fact::before{ content:""; position:absolute; left:0; top:-1.1rem; width:1px; height:10px; background:var(--sun); }
.hero__fact dt{ font-size:.66rem; font-weight:600; letter-spacing:.13em; text-transform:uppercase; color:rgba(245,240,228,.64); margin-bottom:.3rem; }
.hero__fact dd{ font-family:var(--display); font-size:clamp(1.3rem,2.2vw,1.9rem); font-variation-settings:"SOFT" 100,"opsz" 90; font-weight:380; line-height:1; font-variant-numeric:tabular-nums; }
.hero__fact dd span{ font-family:var(--body); font-size:.55em; font-weight:500; color:var(--sun); margin-left:.15em; }
@media (max-width:640px){
  .hero__facts{ grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:1.4rem; }
  .hero__fact{ padding-inline:0 .75rem; }
  .hero__fact:nth-child(even){ padding-left:1rem; }
  .hero__fact:nth-child(3)::before{ display:none; }
  .hero__fact:nth-child(4)::before{ top:0; height:100%; opacity:.4; }
}

/* ---------- manifesto ---------- */
.manifesto{ padding:clamp(3.5rem,7vw,6rem) var(--gut) var(--sect); }
.manifesto__open{
  font-family:var(--display); font-size:clamp(1.35rem,2.5vw,2rem);
  font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 100; font-weight:330;
  line-height:1.38; letter-spacing:-.012em; text-wrap:pretty; color:rgba(245,240,228,.95);
}
.claims{ margin-top:clamp(2.75rem,6vw,4rem); }
.claim{
  display:grid; grid-template-columns:minmax(0,84px) 1fr; align-items:center; gap:clamp(1rem,3vw,2.25rem);
  padding:clamp(1.1rem,2.4vw,1.55rem) 0; border-bottom:1px solid var(--line);
}
.claim:first-child{ border-top:1px solid var(--line); }
.claim__rule{
  height:12px; opacity:.85;
  background:
    linear-gradient(var(--sun),var(--sun)) left 0    /100% 2px no-repeat,
    linear-gradient(var(--sun),var(--sun)) left 5px  /70% 2px no-repeat,
    linear-gradient(var(--sun),var(--sun)) left 10px /40% 2px no-repeat;
}
.claim__text{ font-family:var(--display); font-size:clamp(1.35rem,3.2vw,2.35rem); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 110; font-weight:330; line-height:1.15; letter-spacing:-.02em; }
.claim__text em{ font-style:italic; color:var(--sun); font-weight:400; }

/* ---------- seções ---------- */
.section{ padding:var(--sect) var(--gut); }
.section--dark{ background:var(--deep-2); }
.section--deep{ background:var(--deep); }
.on-sand{ background:var(--sand); color:var(--ink); }
.on-sun{ background:var(--sun); color:var(--ink); }
.section__head{ max-width:760px; margin-bottom:clamp(2.5rem,5.5vw,4.25rem); }
.section__head--center{ margin-inline:auto; text-align:center; }
.section__title{ font-family:var(--display); font-size:var(--t-h2); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 130; font-weight:350; letter-spacing:-.025em; text-wrap:balance; }
.section__title em{ font-style:italic; color:var(--sun); font-weight:420; }
.on-sand .section__title em{ color:var(--coral); }
.on-sun .section__title em{ color:var(--deep); }
.section__lead{ font-size:var(--t-lead); max-width:58ch; margin-top:1.3rem; color:rgba(245,240,228,.8); }
.section__head--center .section__lead{ margin-inline:auto; }
.on-sand .section__lead{ color:rgba(4,38,45,.74); }
.on-sun .section__lead{ color:rgba(4,38,45,.82); }
.figlabel{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sun); margin-bottom:.35rem; }
.nota{ margin-top:1.1rem; font-size:.8rem; line-height:1.55; color:rgba(245,240,228,.55); }
.on-sand .nota{ color:rgba(4,38,45,.58); }

/* ---------- números ---------- */
.numeros{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); }
.numero{ padding:1.6rem clamp(1rem,2.4vw,2rem) 1.8rem 0; border-bottom:1px solid var(--line); min-width:0; }
.numero + .numero{ padding-left:clamp(1rem,2.4vw,2rem); border-left:1px solid var(--line); }
.numero__valor{ font-family:var(--display); font-size:clamp(2.2rem,4.4vw,3.6rem); font-variation-settings:"SOFT" 100,"opsz" 144; font-weight:340; line-height:1; color:var(--sun); font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.numero__valor small{ font-size:.42em; font-family:var(--body); font-weight:500; margin-left:.15em; letter-spacing:0; }
.numero__rot{ display:block; margin-top:.7rem; font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.numero p{ margin-top:.45rem; font-size:.92rem; line-height:1.5; color:rgba(245,240,228,.72); }
@media (max-width:900px){
  .numeros{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .numero:nth-child(3){ padding-left:0; border-left:0; }
}
@media (max-width:460px){
  .numeros{ grid-template-columns:1fr; }
  .numero, .numero + .numero{ padding-left:0; border-left:0; }
}

.tipos{ margin-top:clamp(3rem,6vw,5rem); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.25rem,3vw,2.5rem); }
.tipo{ min-width:0; }
.tipo__img{ overflow:clip; border-radius:3px; }
.tipo__img img{ width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .7s var(--ease); }
.tipo:hover .tipo__img img{ transform:scale(1.03); }
.tipo:nth-child(2){ margin-top:clamp(0rem,5vw,4rem); }
.tipo h3{ font-family:var(--display); font-size:clamp(1.4rem,2.4vw,1.9rem); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 60; font-weight:400; margin-top:1.2rem; }
.tipo p{ margin-top:.55rem; color:rgba(245,240,228,.78); max-width:46ch; }
.tipo__tags{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1rem; }
.tipo__tags li{ font-size:.78rem; font-weight:500; padding:.3rem .75rem; border:1px solid rgba(244,183,40,.45); border-radius:100px; color:var(--sun-hi); }
@media (max-width:720px){ .tipos{ grid-template-columns:1fr; } .tipo:nth-child(2){ margin-top:0; } }

/* ---------- diferenciais ---------- */
.reasons{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(4,38,45,.28); }
.reason{ padding:clamp(1.75rem,3.2vw,2.6rem) clamp(1.25rem,2.6vw,2.25rem) clamp(1.75rem,3.2vw,2.6rem) 0; border-bottom:1px solid rgba(4,38,45,.28); position:relative; min-width:0; }
.reason:not(:nth-child(3n+1)){ padding-left:clamp(1.25rem,2.6vw,2.25rem); border-left:1px solid rgba(4,38,45,.28); }
.reason::before{ content:""; position:absolute; top:-1px; left:0; width:34px; height:3px; background:var(--deep); }
.reason:not(:nth-child(3n+1))::before{ left:clamp(1.25rem,2.6vw,2.25rem); }
.reason h3{ font-family:var(--display); font-size:var(--t-h3); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 40; font-weight:520; margin-bottom:.6rem; }
.reason p{ font-size:.98rem; color:rgba(4,38,45,.84); max-width:36ch; }
@media (max-width:900px){
  .reasons{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .reason, .reason:not(:nth-child(3n+1)){ padding-left:0; border-left:0; }
  .reason::before, .reason:not(:nth-child(3n+1))::before{ left:0; }
  .reason:nth-child(even){ padding-left:clamp(1.25rem,2.6vw,2.25rem); border-left:1px solid rgba(4,38,45,.28); }
  .reason:nth-child(even)::before{ left:clamp(1.25rem,2.6vw,2.25rem); }
}
@media (max-width:600px){
  .reasons{ grid-template-columns:1fr; }
  .reason:nth-child(even){ padding-left:0; border-left:0; }
  .reason:nth-child(even)::before{ left:0; }
}

/* ---------- lazer ---------- */
.icones{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(1.25rem,2.5vw,2rem) clamp(.75rem,2vw,1.5rem); }
.icone{ display:grid; justify-items:center; gap:.7rem; text-align:center; min-width:0; }
.icone img{ width:clamp(62px,7vw,84px); height:auto; transition:transform .35s var(--ease); }
.icone:hover img{ transform:translateY(-4px) rotate(-3deg); }
.icone span{ font-size:.72rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; line-height:1.35; color:rgba(245,240,228,.86); }
@media (max-width:760px){ .icones{ grid-template-columns:repeat(3,minmax(0,1fr)); } }

.fotos{ margin-top:clamp(3rem,6vw,4.5rem); display:grid; gap:clamp(.55rem,1.3vw,1rem); grid-template-columns:repeat(4,minmax(0,1fr)); }
.fotos__item{ min-width:0; }
.fotos__item--wide{ grid-column:span 2; grid-row:span 2; }
.fotos__item a{ position:relative; display:block; height:100%; aspect-ratio:16/10; border-radius:3px; overflow:hidden; color:var(--sand); text-decoration:none; cursor:zoom-in; }
.fotos__item--wide a{ aspect-ratio:auto; min-height:100%; }
.fotos__item img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.fotos__item a:hover img{ transform:scale(1.04); }
.fotos__item a::after{ content:""; position:absolute; inset:auto 0 0 0; height:55%; background:linear-gradient(to top, rgba(2,30,36,.78), rgba(2,30,36,0)); pointer-events:none; }
.fotos__legenda{ position:absolute; left:.9rem; right:.9rem; bottom:.7rem; z-index:1; font-size:.84rem; font-weight:600; line-height:1.3; }
@media (max-width:820px){
  .fotos{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fotos__item--wide{ grid-row:auto; }
  .fotos__item--wide a{ aspect-ratio:16/9; }
}

/* ---------- implantação ---------- */
.implanta{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:clamp(1.75rem,4vw,3.5rem); align-items:start; }
.implanta__mapa{ position:relative; border-radius:4px; overflow:hidden; background:var(--sand-2); border:1px solid rgba(4,38,45,.16); }
.implanta__mapa img{ width:100%; }
.marco{
  position:absolute; left:var(--x); top:var(--y); transform:translate(-50%,-50%);
  width:clamp(20px,2.4vw,26px); aspect-ratio:1; border-radius:50%; padding:0;
  display:grid; place-items:center;
  background:var(--deep); color:var(--sun); border:2px solid var(--sun);
  font:700 clamp(.6rem,1vw,.72rem)/1 var(--body); cursor:pointer;
  box-shadow:0 2px 6px rgba(0,0,0,.35);
  transition:transform .25s var(--ease), background-color .25s var(--ease), color .25s var(--ease);
}
.marco.is-on, .marco:hover{ transform:translate(-50%,-50%) scale(1.35); background:var(--sun); color:var(--ink); z-index:2; }
.legenda{ display:grid; grid-template-columns:1fr; border-top:1px solid rgba(4,38,45,.18); }
.legenda button{
  all:unset; box-sizing:border-box; width:100%; cursor:pointer;
  display:grid; grid-template-columns:2rem 1fr; align-items:center; gap:.6rem;
  padding:.62rem .5rem .62rem 0; border-bottom:1px solid rgba(4,38,45,.12);
  font-size:.95rem; transition:background-color .2s var(--ease), padding .2s var(--ease);
}
.legenda button b{ font-family:var(--display); font-weight:500; font-size:1.05rem; color:var(--sea); }
.legenda button:hover, .legenda button.is-on{ background:rgba(14,90,102,.08); padding-left:.5rem; }
.legenda button:focus-visible{ outline:2px solid var(--sea); outline-offset:-2px; }
.implanta__ruas{ margin-top:1.5rem; font-size:.88rem; color:rgba(4,38,45,.66); }
@media (max-width:860px){
  .implanta{ grid-template-columns:1fr; }
  .legenda{ grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:1rem; }
}
@media (max-width:420px){ .legenda button{ font-size:.86rem; } }

/* ---------- plantas ---------- */
.abas{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:clamp(1.5rem,3vw,2.25rem); }
.aba{
  font:600 .88rem/1 var(--body); padding:.75rem 1.15rem; border-radius:100px; cursor:pointer;
  background:transparent; color:var(--ink); border:1px solid rgba(4,38,45,.28);
  transition:background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
}
.aba:hover{ border-color:var(--ink); }
.aba[aria-selected="true"]{ background:var(--deep); color:var(--sand); border-color:var(--deep); }
.planta{ display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(1.75rem,4vw,3.5rem); align-items:center; }
.planta__img{ background:#fff; border:1px solid rgba(4,38,45,.14); border-radius:4px; padding:clamp(.75rem,2vw,1.5rem); display:grid; place-items:center; }
.planta__img img{ max-height:560px; width:auto; cursor:zoom-in; }
.planta__txt h3{ font-family:var(--display); font-size:clamp(1.6rem,3vw,2.3rem); font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 90; font-weight:380; letter-spacing:-.02em; }
.planta__txt > p{ margin-top:.8rem; color:rgba(4,38,45,.76); max-width:44ch; }
.ficha{ margin-top:1.5rem; border-top:1px solid rgba(4,38,45,.18); }
.ficha div{ display:flex; justify-content:space-between; gap:1rem; padding:.7rem 0; border-bottom:1px solid rgba(4,38,45,.12); font-size:.95rem; }
.ficha dt{ color:rgba(4,38,45,.66); }
.ficha dd{ font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
@media (max-width:820px){ .planta{ grid-template-columns:1fr; } .planta__img img{ max-height:440px; } }

/* ---------- por dentro ---------- */
.dentro{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(.6rem,1.4vw,1.1rem); }
.dentro .fotos__item a{ aspect-ratio:4/5; width:100%; height:auto; }
.dentro .fotos__item:nth-child(even){ margin-top:clamp(0rem,3vw,2.5rem); }
@media (max-width:820px){ .dentro{ grid-template-columns:repeat(2,minmax(0,1fr)); } .dentro .fotos__item:nth-child(even){ margin-top:0; } }

/* ---------- localização ---------- */
.local{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
.local__lista{ margin-top:1.75rem; border-top:1px solid rgba(4,38,45,.18); }
.local__lista div{ padding:1rem 0; border-bottom:1px solid rgba(4,38,45,.12); }
.local__lista dt{ font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--sea); margin-bottom:.25rem; }
.local__lista dd{ font-size:.98rem; color:rgba(4,38,45,.84); }
.local__media img{ width:100%; border-radius:3px; cursor:zoom-in; }
.local__media figcaption{ margin-top:.6rem; font-size:.8rem; color:rgba(4,38,45,.58); }
.local__media figure + figure{ margin-top:1.25rem; }
@media (max-width:860px){ .local{ grid-template-columns:1fr; } }

/* ---------- fechamento ---------- */
.fecho{ position:relative; isolation:isolate; overflow:hidden; text-align:center; }
.fecho__bg{ position:absolute; inset:0; z-index:-2; }
.fecho__bg img{ width:100%; height:100%; object-fit:cover; }
.fecho::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, var(--deep-2) 0%, rgba(2,44,52,.82) 40%, rgba(2,44,52,.9) 100%); }
.fecho__tel{ font-size:.9rem; color:rgba(245,240,228,.72); }
.fecho__tel strong{ color:var(--sand); font-weight:600; font-variant-numeric:tabular-nums; user-select:all; }
.fecho__engepar{ display:inline-grid; gap:.35rem; margin-top:2.25rem; font-size:.9rem; color:rgba(245,240,228,.78); }
.fecho__engepar strong{ font-family:var(--display); font-size:clamp(1.25rem,2.4vw,1.7rem); font-weight:400; color:var(--sun); font-variation-settings:"SOFT" 100,"opsz" 60; }

/* ---------- rodapé ---------- */
.footer{ background:var(--deep-2); padding:clamp(3.5rem,7vw,5rem) var(--gut) 2.5rem; border-top:1px solid var(--line); }
.footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:clamp(2rem,4vw,3.5rem); }
.footer__brand img{ height:58px; width:auto; margin-bottom:1.2rem; }
.footer__brand p{ font-size:.92rem; color:rgba(245,240,228,.68); max-width:34ch; }
.footer h3{ font-family:var(--body); font-size:.7rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--sun); margin-bottom:.9rem; }
.footer__col p{ font-size:.93rem; color:rgba(245,240,228,.76); }
.footer__col img{ height:34px; width:auto; margin-bottom:.9rem; }
.footer__legal{ margin-top:clamp(2.5rem,5vw,3.5rem); padding-top:1.5rem; border-top:1px solid var(--line); font-size:.74rem; line-height:1.7; letter-spacing:.02em; color:rgba(245,240,228,.55); }
.footer__base{ margin-top:1.25rem; display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 2rem; font-size:.78rem; color:rgba(245,240,228,.5); }
.footer__base a{ color:rgba(245,240,228,.75); text-decoration:none; border-bottom:1px solid rgba(244,183,40,.45); }
.footer__base a:hover{ color:var(--sun); }
@media (max-width:820px){ .footer__grid{ grid-template-columns:1fr 1fr; } .footer__brand{ grid-column:1/-1; } }
@media (max-width:480px){ .footer__grid{ grid-template-columns:1fr; } }

/* ---------- WhatsApp flutuante ---------- */
.wpp-float{
  position:fixed; right:clamp(1rem,3vw,1.75rem); bottom:calc(clamp(1rem,3vw,1.75rem) + env(safe-area-inset-bottom,0px)); z-index:90;
  width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
  background:#25A65B; color:#fff; box-shadow:0 8px 24px rgba(0,0,0,.3); transition:transform .25s var(--ease);
}
.wpp-float:hover{ transform:scale(1.08); }

/* ---------- lightbox ---------- */
.lightbox{ width:100%; height:100%; max-width:none; max-height:none; margin:0; padding:clamp(4rem,7vw,4.5rem) clamp(.75rem,7vw,5.5rem); border:0; background:transparent; color:var(--sand); overflow:hidden; }
.lightbox[open]{ display:grid; place-items:center; }
.lightbox::backdrop{ background:rgba(2,30,36,.95); }
.lightbox__fig{ display:grid; gap:.9rem; justify-items:center; max-width:100%; }
.lightbox__img{ width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 10rem); border-radius:3px; background:#fff; }
.lightbox__cap{ font-size:.92rem; text-align:center; color:rgba(245,240,228,.86); }
.lightbox__conta{ margin-left:.6rem; font-size:.72rem; font-weight:700; letter-spacing:.12em; color:var(--sun); }
.lightbox__btn{ position:absolute; width:48px; height:48px; padding:0; border-radius:50%; display:grid; place-items:center; background:rgba(245,240,228,.08); color:var(--sand); border:1px solid rgba(245,240,228,.3); cursor:pointer; }
.lightbox__btn:hover{ background:rgba(245,240,228,.18); }
.lightbox__fechar{ top:clamp(.75rem,2vw,1.25rem); right:clamp(.75rem,2vw,1.25rem); }
.lightbox__ant, .lightbox__prox{ top:50%; transform:translateY(-50%); }
.lightbox__ant{ left:clamp(.75rem,2vw,1.5rem); }
.lightbox__prox{ right:clamp(.75rem,2vw,1.5rem); }
@media (max-width:700px){
  .lightbox{ padding-bottom:5.5rem; }
  .lightbox__ant, .lightbox__prox{ top:auto; bottom:1.25rem; transform:none; }
  .lightbox__ant{ left:calc(50% - 60px); }
  .lightbox__prox{ right:calc(50% - 60px); }
}


/* =========================================================
   AJUSTES DO WORDPRESS
   ========================================================= */

/* barra de administração fixa não pode cobrir o topo do site */
.admin-bar .topbar{ top:32px; }
@media screen and (max-width:782px){ .admin-bar .topbar{ top:46px; } }

/* texto só para leitores de tela */
.screen-reader-text{
  border:0; clip-path:inset(50%); height:1px; width:1px;
  margin:-1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap;
}
.screen-reader-text:focus{
  clip-path:none; height:auto; width:auto; z-index:200;
  background:var(--sun); color:var(--ink);
  padding:.75rem 1.25rem; font-weight:600; left:0; top:0;
}

/* menu gerado pelo WordPress dentro da barra de navegação */
.topbar__nav .menu{ display:flex; gap:2rem; margin:0; padding:0; list-style:none; }
.menu-mobile .menu{ display:flex; flex-direction:column; margin:0; padding:0; list-style:none; }
.menu-mobile .menu a{ display:block; }

/* páginas internas (política de privacidade, 404) */
.pagina{ padding:calc(var(--sect) + 4rem) var(--gut) var(--sect); background:var(--sand); color:var(--ink); }
.pagina__inner{ width:min(100%, 760px); margin-inline:auto; }
.pagina h1{ font-family:var(--display); font-weight:400; font-size:var(--t-h2); line-height:1.08; margin-bottom:1.75rem; text-wrap:balance; color:var(--deep); }
.pagina h2{ font-family:var(--display); font-weight:400; font-size:1.6rem; margin:2.5rem 0 .85rem; }
.pagina p, .pagina li{ color:rgba(4,38,45,.8); margin-bottom:1rem; }
.pagina ul{ list-style:disc; padding-left:1.25rem; margin-bottom:1.5rem; }
.pagina a:not(.btn){ color:var(--sea); }
.pagina .btn{ margin-top:1.5rem; }

/* alinhamentos do editor de blocos */
.pagina img{ border-radius:3px; }
.alignleft{ float:left; margin:.4rem 1.5rem 1rem 0; }
.alignright{ float:right; margin:.4rem 0 1rem 1.5rem; }
.aligncenter{ margin-inline:auto; }
.wp-caption-text{ font-size:.85rem; color:rgba(4,38,45,.8); }

/* aviso para o administrador quando falta o WhatsApp */
.aviso-admin{ margin:2rem auto 0; max-width:52ch; padding:.9rem 1.1rem; border:1px dashed var(--sun); border-radius:4px; font-size:.9rem; color:var(--sun-hi); }
