/* br-lancamento-extras.css — blocos do padrão Porto Belo ausentes no template do brianreis (simulador, vídeos, barra CTA mobile, consultoria na lateral) — 23/10/2026 */
.video-section{margin-bottom:64px}
.video-wrapper{position:relative;padding-bottom:56.25%;border-radius:var(--radius-lg);overflow:hidden;background:#111}
.video-wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.mais-grid-props-4 { margin-top: 32px; }
@media(max-width:1024px){ .mais-grid-props-4.prop-grid { grid-template-columns: repeat(2, 1fr); }}
@media(max-width:600px){ .mais-grid-props-4.prop-grid { grid-template-columns: 1fr; }}
.prop-badge-cyan   { background: rgba(20,150,190,0.55); border-color: rgba(20,150,190,0.4); }
.mais-grid-props .prop-grid { display: contents; }
.video-section-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px}
.video-card{position:relative;padding:0;border:0;background:#1A1A18;border-radius:var(--radius-lg,12px);
 overflow:hidden;cursor:pointer;aspect-ratio:9/16;display:block;width:100%;font:inherit;text-align:left}
.video-card img{width:100%;height:100%;object-fit:cover;display:block;opacity:.86;transition:opacity .3s,transform .5s}
.video-card:hover img{opacity:1;transform:scale(1.04)}
.video-card:focus-visible{outline:2px solid var(--accent,#A88B4A);outline-offset:3px}
.video-card-hidden{display:none}
.video-play{position:absolute;inset:0;margin:auto;width:46px;height:46px;border-radius:50%;
 background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;pointer-events:none;
 box-shadow:0 4px 18px rgba(0,0,0,.3)}
.video-play svg{margin-left:3px}
.video-cap{position:absolute;left:0;right:0;bottom:0;padding:22px 10px 9px;pointer-events:none;
 background:linear-gradient(to top,rgba(0,0,0,.78),transparent);color:#fff;
 font-family:var(--label-font,'Inter',sans-serif);font-size:.62rem;line-height:1.3;letter-spacing:.02em}
.btn-video-more{margin-top:14px;background:none;border:1px solid var(--border,#E8E4DB);border-radius:30px;
 padding:9px 20px;font-family:var(--label-font,'Inter',sans-serif);font-size:.66rem;letter-spacing:.09em;
 text-transform:uppercase;color:var(--text-muted,#9E9487);cursor:pointer;transition:.25s}
.btn-video-more:hover{border-color:var(--accent,#A88B4A);color:var(--accent,#A88B4A)}
.vlb{position:fixed;inset:0;z-index:9999;background:rgba(10,10,9,.96);display:none;
 align-items:center;justify-content:center;padding:24px}
.vlb.vlb-open{display:flex}
.vlb video{max-width:100%;max-height:86vh;width:auto;height:auto;object-fit:contain;background:#000;
 border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.6)}
.vlb-nav{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;
 border:0;background:rgba(255,255,255,.16);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;z-index:3}
.vlb-nav:hover{background:rgba(255,255,255,.3)}
.vlb-p{left:18px}
.vlb-n{right:18px}
.vlb-dica{position:absolute;left:0;right:0;bottom:64px;text-align:center;color:rgba(255,255,255,.65);
 font-family:var(--label-font,'Inter',sans-serif);font-size:.62rem;letter-spacing:.07em;pointer-events:none;
 transition:opacity .5s;z-index:3}
.vlb-dica svg{display:block;margin:4px auto 0;animation:vlbSeta 1.6s ease-in-out infinite}
@media(max-width:700px){.vlb-nav{display:none}}
@media(min-width:701px){.vlb-dica .mob{display:none}}
@media(max-width:700px){.vlb-dica .desk{display:none}}
@media(prefers-reduced-motion:reduce){.vlb-dica svg{animation:none}}
.vlb-close{position:absolute;top:18px;right:20px;width:42px;height:42px;border-radius:50%;border:0;
 background:rgba(255,255,255,.12);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.vlb-close:hover{background:rgba(255,255,255,.22)}
.vlb-tit{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);
 font-family:var(--label-font,'Inter',sans-serif);font-size:.7rem;letter-spacing:.08em;padding:0 24px}
@media(max-width:600px){.video-section-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}}
.simc{margin-top:14px;border:1px solid var(--border,#E8E4DB);border-radius:10px;overflow:hidden}
.simc-h{background:#0000FF;padding:10px 14px;color:#fff}
.simc-h .t{font-family:var(--label-font,'Inter',sans-serif);font-size:.74rem;line-height:1.3;
 font-weight:600;color:#fff;letter-spacing:.01em}
.simc-b{padding:12px 14px;background:#fff}
.simc-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:start}
.simc-cta{width:100%;background:#0000FF;color:#fff;border:0;border-radius:8px;padding:13px;
 font-family:var(--label-font,'Inter',sans-serif);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;
 font-weight:600;cursor:pointer;transition:.25s}
.simc-cta:hover{background:#0000cc}
.simc-mini{font-family:var(--label-font,'Inter',sans-serif);font-size:.76rem;color:#3a3a3a;
 line-height:1.5;margin-top:11px;text-align:center;font-weight:500}
.simc-f label{display:block;font-family:var(--label-font,'Inter',sans-serif);font-size:.55rem;letter-spacing:.09em;
 text-transform:uppercase;color:var(--text-muted,#7A7368);margin-bottom:5px}
.simc-f input,.simc-f select{width:100%;border:1px solid var(--border,#E8E4DB);border-radius:7px;padding:9px 10px;
 font-family:var(--label-font,'Inter',sans-serif);font-size:16px;background:#fff;color:#1A1A18}
.simc-f input:focus,.simc-f select:focus{outline:none;border-color:#0000FF}
.simc-f .row{margin-bottom:8px}
.simc-f .tel{display:grid;grid-template-columns:92px 1fr;gap:6px}
.simc-erro{color:#c0392b;font-family:var(--label-font,'Inter',sans-serif);font-size:.58rem;margin-top:5px;display:none}
.simc-modo{display:flex;background:#F2EFE9;border-radius:7px;padding:2px;margin-bottom:8px}
.simc-modo button{flex:1;border:0;background:none;border-radius:6px;padding:7px 4px;cursor:pointer;
 font-family:var(--label-font,'Inter',sans-serif);font-size:.57rem;letter-spacing:.02em;color:var(--text-muted,#7A7368);transition:.2s}
.simc-modo button.on{background:#0000FF;color:#fff;box-shadow:0 1px 4px rgba(0,0,255,.25)}
.simc-sub{font-family:var(--label-font,'Inter',sans-serif);font-size:.66rem;color:#0000FF;margin-top:5px;min-height:14px}
.simc-res{border-top:1px solid var(--border,#E8E4DB);margin-top:8px;padding-top:8px}
.simc-lin{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px}
.simc-lin .a{font-family:var(--label-font,'Inter',sans-serif);font-size:.6rem;color:var(--text-muted,#7A7368)}
.simc-lin .b{font-family:var(--serif,'Cormorant Garamond',serif);font-size:1.12rem;color:#1A1A18}
.simc-nota{font-family:var(--label-font,'Inter',sans-serif);font-size:.55rem;line-height:1.5;
 color:var(--text-muted,#7A7368);margin-top:8px}
.simc-nota b{color:#1A1A18;font-weight:500}
.simc-legal{font-family:var(--label-font,'Inter',sans-serif);font-size:.52rem;line-height:1.45;
 color:var(--text-muted,#7A7368);opacity:.75;margin-top:8px}
input[type=range].simc-rg{padding:0;border:0;accent-color:#0000FF;margin-top:7px}
.simc-details{margin-top:8px}
.simc-details summary{cursor:pointer;font-family:var(--label-font,'Inter',sans-serif);font-size:.58rem;letter-spacing:.04em;color:var(--text-muted,#7A7368);text-transform:uppercase;list-style:none;display:flex;align-items:center;gap:4px}
.simc-details summary::-webkit-details-marker{display:none}
.simc-details summary::before{content:'+';font-weight:600}
.simc-details[open] summary::before{content:'–'}
.simc-details .simc-nota:first-of-type{margin-top:8px}
.rel-lb-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:5000;flex-direction:column;opacity:0;transition:opacity .3s}
.rel-lb-modal.lb-open{display:flex}
.rel-lb-modal.lb-visible{opacity:1}
.rel-lb-modal .lb-top{display:flex;align-items:center;padding:16px 20px;color:#fff}
.rel-lb-modal .lb-close{background:none;border:none;color:#fff;cursor:pointer;width:32px;height:32px}
.rel-lb-modal .lb-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;min-height:0}
.rel-lb-modal .lb-main img{max-width:90%;max-height:80vh;object-fit:contain}
.rel-lb-modal .lb-arrow{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.12);border:none;color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rel-lb-modal .lb-arrow:hover{background:rgba(255,255,255,.25)}
.rel-lb-modal .lb-prev{left:16px}
.rel-lb-modal .lb-next{right:16px}
.rel-lb-modal .lb-thumbs{display:flex;gap:6px;padding:12px 20px;overflow-x:auto}
.rel-lb-modal .lb-thumb{flex-shrink:0;width:56px;height:40px;border-radius:4px;overflow:hidden;cursor:pointer;opacity:.5;border:2px solid transparent}
.rel-lb-modal .lb-thumb.active{opacity:1;border-color:var(--accent,#A88B4A)}
.rel-lb-modal .lb-thumb img{width:100%;height:100%;object-fit:cover}
.ck-row{display:flex;align-items:center;gap:16px}
.ck-ico{flex:0 0 38px;height:38px;border-radius:50%;background:rgba(168,139,74,.14);color:#A88B4A;display:flex;align-items:center;justify-content:center}
.ck-body{flex:1;min-width:0}
.ck-title{display:block;font-size:.84rem;font-weight:600;letter-spacing:.01em;margin-bottom:2px}
.ck-text{margin:0;font-size:.78rem;line-height:1.5;color:#5B5548}
.ck-text a{color:#A88B4A;text-decoration:underline;text-underline-offset:2px}
.ck-btns{display:flex;gap:8px;flex:0 0 auto}
.ck-btns button{font-family:inherit;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:11px 22px;border-radius:10px;cursor:pointer;white-space:nowrap;transition:background-color .2s,border-color .2s,transform .2s}
.ck-ok{background:#25D366;color:#fff;border:1px solid #25D366}
.ck-ok:hover{background:#1ebe5a;border-color:#1ebe5a;transform:translateY(-1px)}
.ck-no{background:transparent;color:#5B5548;border:1px solid rgba(91,85,72,.28)}
.ck-no:hover{border-color:#5B5548}
@media(max-width:700px){.ck-row{flex-wrap:wrap;gap:10px}.ck-ico{display:none}.ck-body{flex:1 1 100%}.ck-btns{flex:1 1 100%}.ck-btns button{flex:1}}
@media (max-width:860px){
  .mcta{position:fixed;left:0;right:0;bottom:0;z-index:99500;display:flex;align-items:center;gap:10px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(250,250,248,.97);
    backdrop-filter:blur(12px);border-top:1px solid var(--border,#e4e0d8);
    box-shadow:0 -6px 28px rgba(0,0,0,.10);transform:translateY(110%);
    transition:transform .32s cubic-bezier(.25,.46,.45,.94)}
  .mcta.on{transform:translateY(0)}
  .mcta-price{flex:1 1 auto;min-width:0;line-height:1.15}
  .mcta-label{font-family:var(--label-font,Inter,sans-serif);font-size:.52rem;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted,#7A7368)}
  .mcta-val{font-family:var(--heading-font,"Cormorant Garamond",Georgia,serif);font-size:1.18rem;
    color:var(--accent,#A88B4A);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .mcta-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;background:#25D366;color:#fff;
    border:none;padding:13px 18px;border-radius:10px;font-family:var(--label-font,Inter,sans-serif);
    font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
  .mcta-btn svg{width:16px;height:16px;fill:currentColor}
  body.mcta-on .wa-float{display:none!important}   
  body.mcta-on{padding-bottom:64px}}
@media (min-width:861px){.mcta{display:none}}
.sidebar-cons{display:flex;align-items:center;gap:12px;padding:12px 0}
.sidebar-cons-logo{flex:0 0 64px;width:64px;height:64px;border-radius:10px;background:#fff;
  border:1px solid rgba(168,139,74,.18);display:flex;align-items:center;justify-content:center;
  overflow:hidden;padding:6px}
.sidebar-cons-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.sidebar-cons-ini{display:none;font-family:var(--heading-font);font-size:1.35rem;font-weight:400;
  color:var(--accent);letter-spacing:.04em}
.sidebar-cons-txt{flex:1;min-width:0}
.sidebar-cons-lbl{font-family:var(--label-font);font-size:.55rem;font-weight:500;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:3px}
.sidebar-cons-nome{font-size:.9rem;color:var(--text-primary);line-height:1.3;margin-bottom:6px}
.sidebar-cons-btn{display:inline-flex;align-items:center;gap:5px;
  font-family:var(--label-font);font-size:.58rem;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent);text-decoration:none;white-space:nowrap;
  border:1px solid rgba(168,139,74,.35);border-radius:14px;padding:4px 10px;transition:.2s}
.sidebar-cons-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-wa-linha{font-size:.62rem;letter-spacing:.05em;white-space:nowrap;padding:13px 10px;margin-top:14px}
.btn-wa-linha svg{width:16px;height:16px;flex:0 0 16px}
.simc .simc-h{padding:10px 14px}
.simc .simc-h .t{font-size:.82rem;line-height:1.3}
.simc .simc-b{padding:12px 14px}
.simc .simc-cta{padding:10px 14px;font-size:.7rem}
@media(max-width:900px){.sidebar-cons-nome{font-size:.85rem}}
@media (max-width: 768px){
  .mais-grid-props-4.prop-grid { grid-template-columns: 1fr; gap: 10px; }
  .mais-grid-props-4 .prop-card { flex-direction: row; align-items: stretch; border-radius: 12px; }
  .mais-grid-props-4 .prop-thumb { flex: 0 0 34%; width: 34%; aspect-ratio: auto; }
  .mais-grid-props-4 .prop-body { flex: 1; min-width: 0; padding: 9px 10px 8px; }
  .mais-grid-props-4 .prop-construtora { font-size: .46rem; letter-spacing: .12em; margin-bottom: 2px; }
  .mais-grid-props-4 .prop-name { font-size: .86rem; margin-bottom: 1px; line-height: 1.15; }
  .mais-grid-props-4 .prop-location { font-size: .58rem; margin-bottom: 4px; }
  .mais-grid-props-4 .prop-registro { display: none; }
  .mais-grid-props-4 .prop-specs { margin-bottom: 6px; border-top: none; border-bottom: none; gap: 6px; }
  .mais-grid-props-4 .prop-spec { padding: 0; flex: 0 0 auto; text-align: left; }
  .mais-grid-props-4 .prop-spec:not(:last-child)::after { display: none; }
  .mais-grid-props-4 .spec-val { font-size: .62rem; }
  .mais-grid-props-4 .spec-lbl { font-size: .38rem; }
  .mais-grid-props-4 .prop-details { display: none; }
  .mais-grid-props-4 .prop-price-cta-row { flex-wrap: wrap; gap: 4px 8px; padding-top: 4px; }
  .mais-grid-props-4 .prop-price-label { font-size: .46rem; }
  .mais-grid-props-4 .prop-price { font-size: .68rem; }
  .mais-grid-props-4 .prop-btn-primary { font-size: .5rem; padding: 6px 7px; }
  .mais-grid-props-4 .prop-btn-wa { width: 26px; height: 26px; }
  .mais-grid-props-4 .prop-btn-wa svg { width: 13px; height: 13px; }
  .mais-grid-props-4 .prop-badge { font-size: .44rem; padding: 3px 6px; top: 6px; left: 6px; white-space: nowrap; letter-spacing: .03em; }
  .mais-grid-props-4 .prop-badge-entrega { font-size: .4rem; padding: 2px 5px; top: 23px; left: 6px; white-space: nowrap; }
  .mais-grid-props-4 .fav-btn { width: 24px; height: 24px; top: 5px; right: 5px; }
  .mais-grid-props-4 .fav-btn svg { width: 12px; height: 12px; }
  .mais-grid-props-4 .photos-btn { font-size: .46rem; padding: 3px 6px; bottom: 5px; right: 5px; gap: 3px; }
  .mais-grid-props-4 .photos-btn svg { width: 10px; height: 10px; }
  .mais-grid-props-4 .prop-badge-ribbon { width: 90px; bottom: 6px; left: -20px; font-size: .4rem; padding: 3px 0; }}

/* card lateral do PB: chip, linha de preço e aviso legal */
.sidebar-legal{margin-top:10px}
.sidebar-legal>summary{font-size:.62rem;color:var(--text-muted);line-height:1.5;cursor:pointer;
  list-style:none;display:block}
.sidebar-legal>summary::-webkit-details-marker{display:none}
.sidebar-legal>summary b{color:var(--accent);font-weight:500;white-space:nowrap}
.sidebar-legal>summary b::before{content:"ver aviso legal"}
.sidebar-legal>summary b::after{content:" \25BE"}
.sidebar-legal[open]>summary b::before{content:"ocultar aviso legal"}
.sidebar-legal[open]>summary b::after{content:" \25B4"}
.sidebar-legal[open] .sidebar-legal-curto{display:none}
.sidebar-legal-full{font-size:.64rem;color:var(--text-muted);line-height:1.5;margin-top:8px}
.sidebar-chip{display:inline-flex;align-items:center;background:rgba(200,140,40,.12);
  border:1px solid rgba(200,140,40,.35);border-radius:20px;padding:3px 10px;
  font-family:var(--label-font);font-size:.55rem;font-weight:500;letter-spacing:.06em;color:#a8802a}
.sidebar-price-line{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
