/* Planta interativa (views/partials/planta-interativa.ejs) */
.pi-tipos{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.pi-tipo{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:99px;padding:10px 18px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:.2s}
.pi-tipo[aria-pressed="true"]{background:var(--green-ink);color:#fff;border-color:var(--green-ink)}
.pi-palco{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:stretch}
@media(max-width:1100px){.pi-palco{grid-template-columns:1fr}}
.pi-quadro{position:relative;width:100%;align-self:start;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 30px 60px -34px rgba(0,0,0,.3);overflow:hidden;aspect-ratio:1266/760}
.pi-mundo{position:absolute;left:0;top:0;width:100%;transform-origin:0 0;transition:transform .9s cubic-bezier(.65,0,.2,1);will-change:transform}
.pi-mundo img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none;transition:opacity .35s}
.pi-mundo svg{position:absolute;inset:0;width:100%;height:100%}
.pi-cm{fill:rgba(255,255,255,0);stroke:transparent;stroke-width:3;cursor:pointer;transition:fill .25s,stroke .25s;outline:none}
.pi-cm:hover,.pi-cm:focus-visible{fill:color-mix(in srgb,var(--orange) 26%,transparent);stroke:var(--orange)}
.pi-mundo.zoom .pi-cm:not(.ativo){fill:rgba(10,16,24,.55);stroke:rgba(10,16,24,.55);stroke-width:14}
.pi-cm.ativo{fill:rgba(255,255,255,0);stroke:var(--orange);stroke-width:2.5}
.pi-pino{pointer-events:none;transition:opacity .3s}
.pi-pino circle{fill:var(--green-ink)}
.pi-pino text{fill:#fff;font:700 16px var(--font-body,sans-serif)}
.pi-mundo.zoom .pi-pino{opacity:0}
.pi-dica{position:absolute;left:14px;bottom:14px;z-index:3;background:rgba(10,16,24,.86);color:#fff;font-size:12px;padding:8px 13px;border-radius:99px;display:flex;align-items:center;gap:8px;transition:opacity .3s}
.pi-dica .pt{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:piPulsa 1.6s infinite}
@keyframes piPulsa{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--orange) 70%,transparent)}50%{box-shadow:0 0 0 7px transparent}}
.pi-acoes{position:absolute;right:12px;top:12px;z-index:3;display:flex;gap:8px}
.pi-acoes button{display:inline-flex;align-items:center;white-space:nowrap;border:0;background:rgba(255,255,255,.95);color:var(--ink);border-radius:99px;padding:9px 14px;font:inherit;font-size:12px;font-weight:700;box-shadow:0 6px 18px rgba(0,0,0,.14);cursor:pointer}
.pi-acoes button[hidden]{display:none}
@media(max-width:640px){.pi-acoes{right:8px;top:8px;gap:6px}.pi-acoes button{padding:7px 11px;font-size:11px}.pi-dica{display:none}}
.pi-rotulo{position:absolute;z-index:3;pointer-events:none;background:var(--green-ink);color:#fff;font-size:12px;font-weight:700;padding:6px 11px;border-radius:8px;transform:translate(-50%,calc(-100% - 12px));opacity:0;transition:opacity .15s;white-space:nowrap}
.pi-rotulo.on{opacity:1}
.pi-ficha{background:var(--green-ink);color:#fff;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;height:0;min-height:100%}
@media(max-width:1100px){.pi-ficha{height:auto;min-height:300px}}
.pi-ficha .n{position:absolute;right:18px;top:0;font:italic 700 104px/1 Georgia,serif;color:rgba(255,255,255,.07)}
.pi-ficha .k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.pi-ficha h3{margin:0;font-size:26px;font-weight:720;color:#fff}
.pi-ficha .ar{display:flex;align-items:baseline;gap:8px}
.pi-ficha .ar b{font-size:38px;font-weight:300;color:var(--orange);letter-spacing:-.02em}
.pi-ficha .ar span{font-size:12px;opacity:.7}
.pi-ficha p{margin:0;font-size:14px;line-height:1.55;opacity:.9;display:-webkit-box;-webkit-line-clamp:4;flex:none;-webkit-box-orient:vertical;overflow:hidden}
.pi-chips{display:flex;flex-wrap:wrap;gap:6px}
.pi-chips span{font-size:11.5px;padding:6px 10px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15)}
.pi-acoes svg{width:15px;height:15px;vertical-align:-3px;margin-right:4px;color:var(--orange)}
/* foto do decorado aberta por cima da planta */
.pi-fotov{position:absolute;inset:0;z-index:4;background:#0b0f14;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s}
.pi-fotov.on{opacity:1;visibility:visible}
.pi-fotov img{width:100%;height:100%;object-fit:cover}
.pi-fotov.on img{animation:piKb 16s ease-in-out infinite alternate}
@keyframes piKb{from{transform:scale(1.02)}to{transform:scale(1.12) translate(-2%,-1%)}}
.pi-fotov small{position:absolute;left:14px;bottom:14px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:rgba(0,0,0,.5);padding:6px 10px;border-radius:8px}
.pi-fotov button{position:absolute;right:12px;top:12px;border:0;background:rgba(255,255,255,.95);color:var(--ink);border-radius:99px;padding:9px 14px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.2)}
.pi-nav{display:flex;gap:8px;margin-top:auto}
.pi-nav button{flex:1;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;border-radius:12px;padding:12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pi-nav button:hover{background:rgba(255,255,255,.08)}
.pi-lista{display:flex;gap:6px 14px;flex-wrap:wrap;margin-top:14px}
.pi-lista button{border:0;background:none;color:var(--soft);font:inherit;font-size:13px;padding:6px 2px;border-bottom:2px solid transparent;cursor:pointer}
.pi-lista button.ativo{color:var(--ink);border-color:var(--orange);font-weight:700}
.pi-nota{margin-top:14px;font-size:12px;color:var(--soft)}
.pi-entra{animation:piEntra .45s ease both}
@keyframes piEntra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Filme de fundo na abertura */
.hero .bg .hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}
.hero .bg .hero-vid.on{opacity:1}
.hero .bg.com-video::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,rgba(6,20,12,.88) 0%,rgba(6,20,12,.5) 42%,rgba(6,20,12,.15) 100%),linear-gradient(0deg,rgba(0,0,0,.35),transparent 40%)}
@media(prefers-reduced-motion:reduce){.pi-mundo,.pi-fotov img,.pi-dica .pt{transition:none;animation:none}}
/* Vídeo em tela cheia: ocupa a tela toda, no formato do aparelho */
.fm-ov{position:fixed;inset:0;z-index:9998;background:#000;display:grid;place-items:center;animation:fmEntra .35s ease}
.fm-ov[hidden]{display:none}
.fm-ov video{width:100vw;height:100vh;height:100dvh;object-fit:contain;background:#000}
.fm-ov.vert video{object-fit:cover}
.fm-x{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.45);color:#fff;font-size:28px;line-height:1;cursor:pointer;backdrop-filter:blur(6px)}
.fm-x:hover{background:rgba(0,0,0,.65)}
.fm-cta{position:absolute;left:50%;bottom:calc(90px + env(safe-area-inset-bottom));transform:translate(-50%,20px);display:flex;align-items:center;gap:16px;color:#fff;font-weight:600;opacity:0;pointer-events:none;transition:.4s;white-space:nowrap;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.fm-ov.fim .fm-cta{opacity:1;transform:translate(-50%,0);pointer-events:auto}
@media(max-width:640px){.fm-cta{flex-direction:column;gap:10px}}
@keyframes fmEntra{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-filme .pl::after{animation:none}}
/* "Quero esta planta" */
.pi-quero{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:12px;background:var(--wa,#25D366);color:#fff;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;box-shadow:0 10px 24px -12px rgba(37,211,102,.8);transition:transform .15s}
.pi-quero:hover{transform:translateY(-2px)}
.pi-quero svg{width:17px;height:17px;flex:none}
.pi-nav2{flex-wrap:wrap}
.pi-nav2 .pi-quero.cheio{flex-basis:100%}
.pi-comparar{margin-left:auto;border:1px dashed color-mix(in srgb,var(--ink) 30%,transparent);background:transparent;color:var(--ink);border-radius:99px;padding:10px 18px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer}
.pi-comparar:hover{background:#fff;border-style:solid}
@media(max-width:640px){.pi-comparar{margin-left:0}}
/* Comparar plantas */
.pi-cmp{position:fixed;inset:0;z-index:9997;background:rgba(8,14,10,.6);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;animation:fmEntra .25s ease}
.pi-cmp[hidden]{display:none}
.pi-cmp-box{position:relative;background:#fff;color:var(--ink);border-radius:22px;padding:28px;width:min(1180px,100%);max-height:calc(100vh - 32px);overflow:auto;box-shadow:0 40px 90px -30px rgba(0,0,0,.5)}
.pi-cmp-box .k{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.pi-cmp-box h3{margin:6px 0 20px;font-size:28px}
.pi-cmp-x{position:absolute;top:14px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:#f1f3f2;font-size:26px;line-height:1;cursor:pointer;color:var(--ink)}
.pi-cmp-grade{display:grid;grid-template-columns:repeat(var(--n),minmax(210px,1fr));gap:14px;overflow-x:auto}
.pi-cmp-grade .col{border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:8px}
.pi-cmp-grade .th{aspect-ratio:4/3;border-radius:10px;background:#f6f7f6;display:grid;place-items:center;overflow:hidden}
.pi-cmp-grade .th img{width:100%;height:100%;object-fit:contain}
.pi-cmp-grade .tt{font-size:16px;margin:4px 0}
.pi-cmp-grade .ln{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 0;border-top:1px solid var(--line)}
.pi-cmp-grade .ln span{color:var(--soft)}
.pi-cmp-grade .ex{margin-top:6px;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:12px;padding:11px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pi-cmp-grade .ex:hover{background:var(--ink);color:#fff}
.pi-cmp-box .nota{margin:14px 0 0;font-size:12px;color:var(--soft)}
@media(max-width:700px){.pi-cmp-box{padding:20px 14px}.pi-cmp-grade{grid-template-columns:repeat(var(--n),78vw);scroll-snap-type:x mandatory}.pi-cmp-grade .col{scroll-snap-align:start}}
/* Controles próprios do vídeo (sem os controles do sistema por cima) */
.fm-ov video{cursor:pointer}
.fm-ic{position:absolute;left:50%;top:50%;width:76px;height:76px;margin:-38px 0 0 -38px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;display:grid;place-items:center;opacity:0;pointer-events:none;backdrop-filter:blur(6px)}
.fm-ic svg{width:30px;height:30px}
.fm-ic.on{animation:fmIc .7s ease}
@keyframes fmIc{0%{opacity:0;transform:scale(.8)}25%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}
.fm-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:12px;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(0,0,0,.5),transparent)}
.fm-som{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px)}
.fm-som svg{width:20px;height:20px}
.fm-trilho{flex:1;height:18px;display:flex;align-items:center;cursor:pointer;position:relative}
.fm-trilho::before{content:'';position:absolute;left:0;right:0;height:3px;border-radius:3px;background:rgba(255,255,255,.3)}
.fm-trilho span{position:relative;height:3px;width:0;border-radius:3px;background:#fff}
