/* ===== MAPA INTERATIVO BARKA II (PALETA 4a ESTRITA) ===== */
.step{padding:32px 0 24px;scroll-margin-top:16px}
.step-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;gap:10px;flex-wrap:wrap}
.step-h h2{font-size:clamp(26px,6vw,32px);color:#1B3B2B;line-height:1.08}
.step-h p{font-size:13px;font-weight:700;color:rgba(27,59,43,.7)}
.step-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.section-sub{font-size:14px;line-height:1.55;color:rgba(27,59,43,.76);margin:0 0 16px}
.back{font-size:13px;font-weight:700;color:#F3F6F0;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:99px;background:#66203C;border:1px solid rgba(27,59,43,.12);box-shadow:0 3px 8px rgba(27,59,43,.14)}

/* Barra e botões Foto do Drone / Mapa Ilustrado, Modelo 3D (Drone) e Vista Plana / Vista 3D */
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;flex-wrap:wrap}
.map-toolbar-title{display:flex;flex-direction:column;gap:2px}
.map-toolbar-title strong{font-family:"Playfair Display",Georgia,serif;font-size:20px;color:#1B3B2B;line-height:1.15}
.map-toolbar-title span{font-size:10px;color:rgba(27,59,43,.72);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.map-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.vista-toggle{display:inline-flex;align-items:center;gap:3px;padding:3px;border-radius:999px;background:rgba(243,246,240,.92);border:1px solid rgba(27,59,43,.22);box-shadow:0 2px 6px rgba(27,59,43,.1);font-size:11px;font-weight:800;color:#1B3B2B}
.vista-toggle .vista-pill{padding:5px 9px;border-radius:999px;color:rgba(27,59,43,.74);transition:background .18s,color .18s,box-shadow .18s}
.vista-toggle .vista-pill.on{background:#1B3B2B;color:#F3F6F0;box-shadow:0 2px 6px rgba(27,59,43,.22)}
.vista-toggle:hover{border-color:#1B3B2B}

/* Slot do terreno 3D do drone (terreno3d.js) */
.drone-3d-slot{position:relative;display:block;width:100%;min-height:360px;height:360px;background:#1B3B2B;color:#F3F6F0;border-radius:14px;overflow:hidden}
.drone-3d-slot[hidden]{display:none}
.drone-3d-slot canvas{display:block;width:100%;height:100%}

/* Moldura do mapa geral de quadras em SVG */
.orientation{background:rgba(169,191,164,.26);background-image:radial-gradient(rgba(27,59,43,.14) 1px,rgba(243,246,240,0) 1px);background-size:14px 14px;border:1px solid rgba(27,59,43,.18);border-radius:22px;padding:15px;margin:0 0 20px;overflow:hidden;box-shadow:inset 0 1px 0 rgba(243,246,240,.8),0 10px 26px rgba(27,59,43,.09)}
.orientation-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:1px 2px 12px;flex-wrap:wrap}
.orientation-head strong{font-family:"Playfair Display",Georgia,serif;font-size:20px;color:#1B3B2B}
.orientation-head span{font-size:10px;color:rgba(27,59,43,.72);font-weight:700;text-transform:uppercase;letter-spacing:.08em}

.map-viewport{perspective:980px;padding-bottom:6px}
.orientation-map{position:relative;border-radius:16px;background:#F3F6F0;border:1px solid rgba(27,59,43,.18);box-shadow:inset 0 1px 0 rgba(243,246,240,.85),0 6px 18px rgba(27,59,43,.1);overflow:hidden;transition:transform .38s cubic-bezier(.22,.8,.28,1),box-shadow .38s,margin-bottom .38s;transform-origin:50% 100%}
.orientation-map.is-3d{transform:perspective(900px) rotateX(20deg);transform-origin:50% 100%;margin-bottom:26px;box-shadow:0 16px 28px rgba(27,59,43,.22),0 6px 0 rgba(27,59,43,.28),inset 0 1px 0 rgba(243,246,240,.75)}

.barka-svg{display:block;width:100%;height:auto;user-select:none;font-family:"Plus Jakarta Sans",system-ui,sans-serif;fill:#1B3B2B}
.barka-svg polygon[data-quadra]{transition:fill .18s,stroke .18s,stroke-width .18s}
.barka-svg polygon[data-tipo="venda"]{cursor:pointer}
.orientation-map.is-foto .barka-svg polygon[data-tipo="venda"]:hover,
.orientation-map.is-foto .barka-svg polygon[data-tipo="venda"]:focus-visible,
.orientation-map.is-foto .barka-svg polygon[data-tipo="venda"]:active{fill:rgba(27,59,43,.52);stroke:#A9BFA4;stroke-width:6px;outline:none}
.orientation-map.is-foto .barka-svg polygon[data-tipo="reservado"]:hover,
.orientation-map.is-foto .barka-svg polygon[data-tipo="sem"]:hover{fill:rgba(169,191,164,.32);stroke:#F3F6F0}
.orientation-map.is-ilustrado .barka-svg polygon[data-tipo="venda"]:hover,
.orientation-map.is-ilustrado .barka-svg polygon[data-tipo="venda"]:focus-visible,
.orientation-map.is-ilustrado .barka-svg polygon[data-tipo="venda"]:active{stroke:#A9BFA4;stroke-width:6px;outline:none}
.barka-svg text{font-family:"Plus Jakarta Sans",system-ui,sans-serif;pointer-events:none}
.barka-svg .q-title{font-family:"Playfair Display",Georgia,serif}

.orientation-note{font-size:11px;color:rgba(27,59,43,.75);line-height:1.45;margin:10px 2px 0}

/* Legenda de tipos de quadra, preços e estados (sem vinho em preços ou lotes 200k) */
.price-key{display:flex;flex-wrap:wrap;gap:9px 14px;align-items:center;margin:14px 2px 0;padding-top:4px;font-size:11px;font-weight:700;color:#1B3B2B;position:relative;z-index:2}
.price-key span{display:inline-flex;align-items:center;gap:6px;color:#1B3B2B}
.price-key i{display:inline-block;width:13px;height:13px;border-radius:3px;background:#1B3B2B;box-shadow:0 1px 0 rgba(27,59,43,.35)}
.price-key i.premium{background:#1B3B2B;border:2px solid #A9BFA4;box-shadow:0 0 0 1px #1B3B2B}
.price-key i.res{background:#A9BFA4;border:1.5px solid #1B3B2B;box-shadow:none}
.price-key i.ven{background:rgba(27,59,43,.16);border:1px solid rgba(27,59,43,.28);box-shadow:none}
.price-key i.sem{background:rgba(243,246,240,.85);border:1.5px dashed rgba(27,59,43,.45);box-shadow:none}
.lot-price-key{margin:12px 2px 0}

/* ===== QUADRA ABERTA: FOTO AÉREA INTEGRADA E VISTA 3D DO DRONE ===== */
.quadra-integrada{margin:10px 0 14px;width:100%}
.quadra-photo{margin:0 0 12px;background:#F3F6F0;border:1px solid rgba(27,59,43,.16);border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(27,59,43,.08)}
.quadra-photo a{display:block;color:#1B3B2B}
.quadra-photo img{display:block;width:100%;height:auto}
.quadra-photo figcaption{padding:11px 14px 13px;color:rgba(27,59,43,.78);font-size:12px;line-height:1.45;background:#F3F6F0}
.quadra-photo strong{display:block;color:#1B3B2B;font-size:13px;margin-bottom:2px}

.quadra-3d-section{width:100%;margin:4px 0 8px}
.quadra-3d-bar{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin:0 0 8px}

.hint{font-size:13px;color:rgba(27,59,43,.78);margin:14px 2px 10px;display:flex;align-items:center;gap:8px}
.hint i{display:inline-block;width:14px;height:14px;border-radius:4px;background:#1B3B2B}

/* Cartões de lotes à venda */
.lots{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:6px}
.lb{background:#F3F6F0;border:1px solid rgba(27,59,43,.18);border-radius:14px;padding:14px;text-align:left;display:flex;flex-direction:column;gap:2px;box-shadow:inset 0 1px 0 rgba(243,246,240,.9),0 2px 0 rgba(27,59,43,.12),0 4px 10px rgba(27,59,43,.06);transition:transform .14s,box-shadow .14s,border-color .14s}
.lb:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(27,59,43,.14);border-color:#1B3B2B}
.lb b{font-family:"Playfair Display",serif;font-size:20px;color:#1B3B2B;display:flex;align-items:center;justify-content:space-between;gap:6px}
.lb .selo-200{font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:999px;background:#A9BFA4;color:#1B3B2B;border:1px solid #1B3B2B}
.lb span{font-weight:700;color:#1B3B2B}
.lb small{font-size:11px;color:rgba(27,59,43,.72);letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.lb small.lot-frente{font-size:11px;line-height:1.4;color:rgba(27,59,43,.82);letter-spacing:0;text-transform:none;margin-top:3px;font-weight:600}
.lb.sel{border-color:#1B3B2B;box-shadow:0 0 0 2px #1B3B2B,0 8px 18px rgba(27,59,43,.16);transform:translateY(-2px)}
.lb.premium{background:rgba(169,191,164,.22);border:1.5px solid #1B3B2B;box-shadow:inset 0 0 0 1.5px #A9BFA4,0 3px 8px rgba(27,59,43,.1)}
.lb.premium span{color:#1B3B2B}
.lb .photo-tag{color:#1B3B2B;font-weight:800;letter-spacing:0;text-transform:none}

/* Galeria Outros ângulos da quadra */
.quadra-gallery-block{margin:18px 0 20px}
.quadra-gallery-block h3{font:700 21px "Playfair Display",Georgia,serif;color:#1B3B2B;margin:0 0 4px}
.quadra-gallery-block p{font-size:12px;color:rgba(27,59,43,.75);margin:0 0 10px}
.quadra-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:0 0 8px;-webkit-overflow-scrolling:touch}
.quadra-gallery figure{flex:0 0 88%;scroll-snap-align:start;margin:0;background:#F3F6F0;border:1px solid rgba(27,59,43,.16);border-radius:15px;overflow:hidden}
.quadra-gallery a{display:block;color:#1B3B2B;text-decoration:none}
.quadra-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:rgba(169,191,164,.2)}
.quadra-gallery figcaption{padding:10px 12px;color:rgba(27,59,43,.78);font-size:12px}
.quadra-gallery figcaption strong{color:#1B3B2B}

/* Painel lateral/inferior do lote */
.scrim{position:fixed;inset:0;background:rgba(27,59,43,.52);opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}
.scrim.on{opacity:1;pointer-events:auto}
.sheet,.sheet:not(.on){position:fixed;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;background:#F3F6F0;border-radius:22px 22px 0 0;padding:10px 22px 30px;visibility:hidden;box-shadow:none;pointer-events:none;transform:translateY(105%);transition:transform .25s,visibility .25s,box-shadow .25s;z-index:11;max-height:88vh;overflow:auto}
.sheet.on{visibility:visible;box-shadow:0 -14px 50px rgba(27,59,43,.18);pointer-events:auto;transform:none}
.grab{width:40px;height:4px;border-radius:2px;background:rgba(27,59,43,.2);margin:0 auto 14px}
.sheet-close{position:absolute;right:18px;top:14px;width:32px;height:32px;border-radius:50%;background:rgba(169,191,164,.35);color:#1B3B2B;font-size:22px;line-height:1}
.sheet .k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:rgba(27,59,43,.72);font-weight:700;padding-right:40px}
.sheet h3{font-size:28px;margin-top:4px;color:#1B3B2B}
.price{font-family:"Playfair Display",serif;font-size:34px;font-weight:700;color:#1B3B2B;margin:8px 0 14px}
.price.premium{color:#1B3B2B}
.price-context{font-size:12px;color:rgba(27,59,43,.75);margin:-7px 0 16px}
.where{background:rgba(169,191,164,.22);border-radius:14px;padding:12px;overflow-x:auto;margin-bottom:14px}
.where .t{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(27,59,43,.75);font-weight:700;margin-bottom:6px}
.sheet-meta{font-size:13px;font-weight:600;color:#1B3B2B;line-height:1.5;margin-top:3px}
.lot-photo{margin:0 0 14px;border:1px solid rgba(27,59,43,.16);border-radius:15px;overflow:hidden;background:rgba(169,191,164,.18)}
.lot-photo-banner{padding:9px 13px;background:#66203C;color:#F3F6F0;font-size:10px;font-weight:800;letter-spacing:.06em}
.lot-photo a{display:block;color:#1B3B2B}
.lot-photo img{display:block;width:100%;height:auto}
.lot-photo-gallery{display:grid;gap:9px;padding:9px}
.lot-photo-gallery a{border-radius:10px;overflow:hidden;color:#1B3B2B}
.lot-photo-gallery span{display:block;padding:6px 2px 2px;color:rgba(27,59,43,.78);font-size:11px;font-weight:700}
.lot-photo figcaption{padding:10px 13px 12px;color:rgba(27,59,43,.78);font-size:12px;line-height:1.45}
.lot-photo strong{display:block;color:#1B3B2B;font-size:12px;margin-bottom:2px}
