
   

  .crumb { color: var(--ink-4); font-size: 13px; margin: 18px 0 0; }
  .crumb a { color: var(--ink-3); }
  @media (hover: hover) { .crumb a:hover { color: var(--accent); } }
  .crumb span { margin: 0 8px; }

  .crumb-cod {
    display: inline-flex; align-items: center; gap: 6px;
    font-size: 12px; color: var(--ink-4);
    padding: 4px 8px; border-radius: 6px;
    transition: background .15s, color .15s;
  }
  .crumb-cod b { font-weight: 600; color: var(--ink-3); letter-spacing: .02em; }
  .crumb-cod .material-icons { font-size: 14px; }
  .midia-barra > .media-tabs:empty + .crumb-cod,
  .midia-barra > .media-tabs:empty + .crumb-cod[hidden] + .crumb-cod { margin-left: -8px; }
  @media (max-width: 560px) {
    .midia-barra > .media-tabs + .crumb-cod,
    .midia-barra > .media-tabs + .crumb-cod[hidden] + .crumb-cod { margin-left: -8px; }
  }
  @media (hover: hover) { .crumb-cod:hover { background: var(--bg-2); color: var(--ink-3); } }
  @media (hover: hover) { .crumb-data:hover { background: none; color: var(--ink-4); } }
  @media (hover: hover) { .crumb-cod:hover b { color: var(--accent); } }
  .crumb-cod.copiado, .crumb-cod.copiado b { color: var(--accent); }

  .prop-head {
    padding: 14px 0 0; display: flex; align-items: flex-end;
    justify-content: space-between; gap: 20px; flex-wrap: wrap;
    max-width: calc(100% - 428px);
  }
  @media (max-width: 1000px) { .prop-head { max-width: 100%; } }
  .prop-head .title-block { flex: 1; min-width: 260px; }
  .prop-head h1 { font-size: clamp(19px, 1.6vw, 22px); line-height: 1.25; letter-spacing: -0.012em; font-weight: 600; margin: 0 0 5px; }
  .prop-addr { color: var(--ink-3); font-size: 14px; display: inline-flex; align-items: center; gap: 6px; }
  .tag {
    font-size: 11px; letter-spacing: 0.06em; font-weight: 600; text-transform: uppercase;
    padding: 5px 10px; border-radius: 6px; background: var(--accent-soft); color: var(--accent);
  }
  .tag.dark { background: var(--ink); color: var(--on-ink); }

  .midia-hero { padding: 0; margin: 0 0 14px; }
  .gallery {
    overflow: hidden;
    position: relative;
    height: clamp(320px, 44vh, 520px);
  }
  .g-strip {
    display: flex; gap: 4px; height: 100%;
    overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .g-strip::-webkit-scrollbar { display: none; }
   
  @media (min-width: 901px) { .g-strip { scroll-behavior: smooth; } }
  @media (prefers-reduced-motion: reduce) { .g-strip { scroll-behavior: auto; } }
  .g-strip .g-img {
    flex: 0 0 auto;
    height: 100%; width: auto;
    aspect-ratio: var(--ratio, 4 / 3);
    min-width: 120px; max-width: 100%;
    scroll-snap-align: start;
  }

   
  .g-strip.arrastavel, .g-strip.arrastavel .g-img { cursor: grab; }
  .g-strip.arrastando, .g-strip.arrastando .g-img { cursor: grabbing; }
  .g-strip.arrastando {
     
    scroll-behavior: auto;
    scroll-snap-type: none;
    user-select: none; -webkit-user-select: none;
  }
   
  .g-strip.arrastando .g-img img { transform: none; }

  .g-seta {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 4;
    width: 40px; height: 40px; border-radius: 50%; border: none; padding: 0;
    background: rgba(255,255,255,.94); color: var(--ink);
    display: grid; place-items: center; cursor: pointer;
    box-shadow: 0 2px 10px rgba(10,12,20,.22);
    opacity: 0; transition: opacity .16s, background .16s, transform .1s;
  }
  @media (hover: hover) { .g-seta:hover { background: #fff; } }
  .g-seta:active { transform: translateY(-50%) scale(.94); }
  .g-seta-prev { left: 14px; }
  .g-seta-next { right: 14px; }
   .g-seta:focus-visible { opacity: 1; }
@media (hover: hover) { .gallery:hover .g-seta { opacity: 1; } }
  .g-seta[disabled] { opacity: 0 !important; pointer-events: none; }
  .gallery.mapa-mode .g-seta, .gallery.video-mode .g-seta { display: none; }
  @media (hover: none) {
    .g-seta { opacity: .92; width: 34px; height: 34px; }
    .g-seta-prev { left: 8px; } .g-seta-next { right: 8px; }
  }
  .gallery .g-img { overflow: hidden; background: var(--line-2); cursor: pointer; position: relative; }
  .gallery .g-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s, opacity .25s ease; }
  .gallery .g-img img[data-pronta="0"], .lb-slide img[data-pronta="0"] { opacity: 0; }
  .lb-slide img { transition: opacity .25s ease; }
  @media (hover: hover) { .gallery .g-img:hover img { transform: scale(1.03); } }
  .gallery .g-main { grid-row: auto; }

  .gallery-mapa { position: absolute; inset: 0; z-index: 2; background: var(--bg-2); }
  .gallery-mapa .map-canvas { position: absolute; inset: 0; z-index: 1; }
  .midia-barra {
    display: flex; align-items: center; gap: 10px 18px; flex-wrap: wrap;
  }
  .media-tabs { display: flex; gap: 8px; flex-wrap: wrap; }
  .media-tabs .pill { display: inline-flex; align-items: center; gap: 7px; }
  .media-tabs .pill .material-icons { font-size: 17px; }
  .media-tabs .pill .n { font-size: 12px; font-weight: 600; opacity: .6; }
   
  .media-tabs .pill.active .n { opacity: 1; }
  @media (max-width: 560px) {
     
    .media-tabs {
      flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
      flex: 1 1 100%; min-width: 0;
      margin-inline: calc(-1 * var(--recuo)); padding-inline: var(--recuo);
      scroll-padding-inline: var(--recuo);
    }
    .media-tabs::-webkit-scrollbar { display: none; }
    .media-tabs .pill { white-space: nowrap; flex: none; }
  }
  .gallery-video { position: absolute; inset: 0; z-index: 2; background: #000; display: none; }
  .gallery-video.show { display: block; }
  .gallery-video iframe { width: 100%; height: 100%; border: 0; }
  .g-conta {
    display: none;
    position: absolute; left: 12px; bottom: 16px; z-index: 3;
    background: rgba(10,12,20,.62); color: #fff;
    padding: 5px 11px; border-radius: 999px;
    font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
    backdrop-filter: blur(6px); pointer-events: none;
  }

  @media (max-width: 900px) {
    .midia-hero { margin-bottom: 12px; }
    .gallery { height: min(75vw, 380px); }  
    .g-strip { gap: 0; }
    .g-strip .g-img {
      flex: 0 0 100%; width: auto; aspect-ratio: auto;
      min-width: 0; max-width: none;
      scroll-snap-align: center;
      scroll-snap-stop: always;
    }
    .gallery .g-img img { transition: opacity .25s ease; }
    @media (hover: hover) { .gallery .g-img:hover img { transform: none; } }
    .g-conta { display: block; }
     
    .gallery.video-mode .g-conta, .gallery.mapa-mode .g-conta { display: none; }
  }

  .lightbox {
    position: fixed; inset: 0; z-index: 120;
    background: rgba(8,10,14,.97);
    display: none;
    grid-template-rows: auto minmax(0, 1fr) auto;
    padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    overscroll-behavior: contain;
  }
  .lightbox.open { display: grid; }
  .lb-track { touch-action: pan-x; }
  .lb-slide img { transform-origin: center; will-change: transform; }
  .lightbox.lb-zoom .lb-track { touch-action: none; overflow-x: hidden; }
  .lightbox.lb-zoom .lb-arrow, .lightbox.lb-zoom .lb-thumbs { opacity: 0; pointer-events: none; }
  .lb-stage.lb-volta { transition: transform .22s ease; }
  .lb-top {
    display: flex; align-items: center; justify-content: center; gap: 10px;
    padding: 14px 64px; color: rgba(255,255,255,.72); font-size: 13px;
    font-variant-numeric: tabular-nums;
  }
  #lb-legenda {
    color: #fff; font-weight: 500; font-variant-numeric: normal;
    max-width: 60vw; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  }
  #lb-legenda[hidden] { display: none; }
  #lb-legenda::before {
    content: ''; display: inline-block; width: 1px; height: 12px;
    background: rgba(255,255,255,.28); margin-right: 10px; vertical-align: -2px;
  }
  .lb-stage {
    min-height: 0; width: 100%; position: relative;
    display: flex; align-items: center; justify-content: center;
    padding: 0 72px;
  }
  .lb-track {
    width: 100%; height: 100%;
    display: flex; overflow-x: auto; overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .lb-track::-webkit-scrollbar { display: none; }
  .lb-slide {
    flex: 0 0 100%; width: 100%; height: 100%;
    scroll-snap-align: center; scroll-snap-stop: always;
    display: flex; align-items: center; justify-content: center;
  }
  .lb-slide img {
    width: 100%; height: 100%;
    object-fit: contain;
    -webkit-user-drag: none; user-select: none;
  }
  @media (max-width: 1000px) {
    .lb-stage { padding: 0; }
    .lb-top { padding: 12px 56px; }
    .lb-prev { left: 8px; } .lb-next { right: 8px; }
    .lb-arrow { background: rgba(8,10,14,.45); }
  }
  .lb-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
    width: 48px; height: 48px; border-radius: 50%;
    background: rgba(255,255,255,.1); color: #fff;
    display: grid; place-items: center;
    backdrop-filter: blur(6px);
    cursor: pointer; transition: background .15s;
  }
  @media (hover: hover) { .lb-arrow:hover { background: rgba(255,255,255,.2); } }
  .lb-arrow .material-icons { font-size: 32px; color: #fff; }
  .lb-close .material-icons { font-size: 24px; color: #fff; }
  .lb-prev { left: 20px; } .lb-next { right: 20px; }
  .lb-thumbs {
    display: flex; gap: 6px; justify-content: center;
    max-width: 100%; overflow-x: auto; padding: 10px 12px 14px;
    scrollbar-width: none; scroll-behavior: smooth;
  }
  @media (prefers-reduced-motion: reduce) { .lb-thumbs { scroll-behavior: auto; } }
  .lb-thumbs::-webkit-scrollbar { display: none; }
  .lb-thumbs img {
    width: 64px; height: 44px; flex: none; object-fit: cover; border-radius: 5px;
    opacity: .45; cursor: pointer; transition: opacity .15s, border-color .15s;
    border: 2px solid transparent;
  }
  .lb-thumbs img.active { opacity: 1; border-color: var(--accent); }
  @media (hover: hover) { .lb-thumbs img:hover { opacity: 1; } }
  .lb-close {
    position: absolute; top: calc(20px + env(safe-area-inset-top)); right: calc(20px + env(safe-area-inset-right)); z-index: 5;
    width: 42px; height: 42px; border-radius: 50%;
    background: rgba(255,255,255,.1); color: #fff;
    display: grid; place-items: center;
    backdrop-filter: blur(6px);
  }

  .prop-grid {
    display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px;
    padding-bottom: 80px;
  }
  @media (max-width: 1000px) { .prop-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; } }

  .price-row {
    display: flex; align-items: baseline; gap: 24px; flex-wrap: wrap;
    padding: 16px 0 20px; border-bottom: 1px solid var(--line);
    margin-bottom: 26px;
  }
  .big-price { font-size: clamp(22px, 1.9vw, 25px); font-weight: 600; letter-spacing: -0.022em; line-height: 1.1; }
  .big-price-linha { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
  .p-queda-selo {
    display: inline-block; padding: 5px 8px; border-radius: 6px;
    background: var(--ok-soft); color: var(--ok);
    font-size: 12px; font-weight: 600; line-height: 1;
  }
  .p-novo-selo {
    display: inline-block; padding: 5px 8px; border-radius: 6px;
    background: var(--novo-soft); color: var(--novo);
    font-size: 12px; font-weight: 600; line-height: 1;
  }
  .p-novo-selo[hidden] { display: none; }
  .p-ex-selo {
    display: inline-block; padding: 5px 8px; border-radius: 6px;
    background: var(--exclusivo-soft); color: var(--exclusivo);
    font-size: 12px; font-weight: 600; line-height: 1;
  }
  .p-ex-selo[hidden] { display: none; }
  .p-perm-selo {
    display: inline-flex; align-items: center; gap: 5px;
    padding: 5px 8px; border-radius: 6px;
    background: var(--permuta-soft); color: var(--permuta);
    font-size: 12px; font-weight: 600; line-height: 1;
  }
  .p-perm-selo[hidden] { display: none; }
  .p-perm-selo .material-icons { font-size: 14px; }
  .p-queda { margin-top: 6px; font-size: 13.5px; color: var(--ink-3); }
  .p-queda s { color: var(--ink-4); text-decoration-thickness: 1px; }
  .price-alt { color: var(--ink-4); font-size: 14px; margin-top: 6px; }
  .price-aviso { margin: 8px 0 0; font-size: 11px; line-height: 1.4; color: var(--ink-4); }
  .price-alt b { color: var(--ink); font-weight: 500; }

  .price-toggle {
    display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 14px;
    background: var(--bg-2); border: 1px solid var(--line); border-radius: 999px;
  }
  .price-toggle[hidden] { display: none; }
  .price-toggle button {
    border: 0; background: transparent; cursor: pointer; font: inherit;
    font-size: 13px; font-weight: 600; color: var(--ink-3);
    padding: 7px 20px; border-radius: 999px;
    display: inline-flex; align-items: center; gap: 6px;
    transition: background .18s ease, color .18s ease, box-shadow .18s ease;
  }
  .price-toggle button .material-icons { font-size: 17px; }
  @media (hover: hover) { .price-toggle button:hover { color: var(--ink); } }
  .price-toggle button.active {
    background: var(--accent-solid); color: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.16);
  }
  @media (hover: hover) { .price-toggle button.active:hover { color: #fff; } }
  .price-hint {
    font-size: 13px; color: var(--ink-3); margin-top: 2px;
  }
  .price-hint b { color: var(--accent); font-weight: 600; }
  .price-troca {
    border: 0; background: none; padding: 0; font: inherit; font-weight: 600; color: var(--accent); cursor: pointer;
    text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--accent) 40%, transparent);
  }
  @media (hover: hover) { .price-troca:hover { text-decoration-color: currentColor; } }
  .price-troca:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 3px; }
  .price-hint .material-icons { font-size: 14px; vertical-align: -2px; }

  .specs {
    display: grid; gap: 12px; margin-bottom: 36px;
    grid-template-columns: repeat(var(--colunas-mob, 3), minmax(0, 1fr));
  }
  @media (min-width: 760px) {
    .specs { grid-template-columns: repeat(var(--colunas, 5), minmax(0, 1fr)); }
  }
  .spec { background: var(--bg-2); border-radius: var(--radius); padding: 14px; text-align: center; }
  .spec-icon { color: var(--accent); margin-bottom: 2px; }
  .spec-icon .material-icons { font-size: 22px; }
  .spec-val { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); margin-top: 4px; }
  .spec-label { font-size: 12px; color: var(--ink-4); }

  .passos-imovel { margin-bottom: 0; }
  .passos-lead {
    margin: -8px 0 20px; color: var(--ink-3); font-size: 15px; line-height: 1.6;
  }
  .passos-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  @media (max-width: 820px) { .passos-grade { grid-template-columns: 1fr; } }

  .passo-card {
    position: relative; display: block; padding: 22px 20px 20px;
    background: var(--bg-2); border: 1px solid var(--line);
    border-radius: var(--radius-lg); text-decoration: none; color: inherit;
    transition: border-color .16s, background .16s, transform .16s, box-shadow .16s;
  }
  @media (hover: hover) { .passo-card:hover {
    border-color: var(--accent); background: var(--bg);
    transform: translateY(-2px); box-shadow: var(--shadow-1);
  } }
  .passo-n {
    position: absolute; top: -10px; left: 18px;
    width: 24px; height: 24px; border-radius: 50%;
    background: var(--accent-solid); color: #fff;
    font-size: 12.5px; font-weight: 700; line-height: 24px; text-align: center;
  }
  .passo-card > .material-icons {
    font-size: 26px; color: var(--accent); margin-bottom: 12px; display: block;
  }
  .passo-card :is(h3, h4), .prop-section .passo-card :is(h3, h4) {
    margin: 0 0 7px; font-size: 16px; font-weight: 600; letter-spacing: -0.01em;
  }
  .passo-card p {
    margin: 0; font-size: 13.6px; line-height: 1.6; color: var(--ink-3);
  }
  .passo-acao {
    display: flex; align-items: center; gap: 6px; margin-top: 14px;
    font-size: 13.4px; font-weight: 600; color: var(--accent);
  }
  .passo-acao .material-icons { font-size: 16px; transition: transform .18s; }
  @media (hover: hover) { .passo-card:hover .passo-acao .material-icons { transform: translateX(3px); } }

  body.ficha-carregando .midia-hero,
  body.ficha-carregando .prop-head,
  body.ficha-carregando .prop-grid,
  body.ficha-carregando .mobile-cta { visibility: hidden; }

  body.ficha-carregando .midia-hero { position: relative; }
  body.ficha-carregando[data-capa] .midia-hero { visibility: visible; }
  body.ficha-carregando[data-capa] .midia-hero::after { content: none; }
  body.ficha-carregando .midia-hero::after {
    content: ""; position: absolute; inset: 0; visibility: visible;
    background: var(--bg-2);
    border-radius: var(--radius-lg);
  }
  @media (prefers-reduced-motion: no-preference) {
    body.ficha-carregando .midia-hero::after {
      background: linear-gradient(100deg, var(--bg-2) 30%, var(--line-2) 50%, var(--bg-2) 70%);
      background-size: 220% 100%;
      animation: ficha-brilho 1.1s linear infinite;
    }
    @keyframes ficha-brilho { from { background-position: 180% 0; } to { background-position: -80% 0; } }
  }

  .imovel-sumiu {
    max-width: 560px; margin: 70px auto 40px; text-align: center;
  }
  .imovel-sumiu .material-icons {
    font-size: 44px; color: var(--ink-4); margin-bottom: 14px;
  }
  .imovel-sumiu h1 {
    font-size: clamp(24px, 3vw, 31px); font-weight: 600; letter-spacing: -0.02em;
    margin: 0 0 12px; text-wrap: balance;
  }
  .imovel-sumiu p { color: var(--ink-3); font-size: 15.5px; line-height: 1.65; margin: 0 0 26px; }
  .imovel-sumiu b { color: var(--ink-2); font-weight: 600; }
  .imovel-sumiu-acoes { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
  .imovel-sumiu-acoes a {
    padding: 13px 22px; border-radius: var(--radius); font-size: 14.5px; font-weight: 600;
    text-decoration: none; transition: all .15s;
  }
  .imovel-sumiu-acoes .btn-primario { background: var(--accent-solid); color: #fff; }
  @media (hover: hover) { .imovel-sumiu-acoes .btn-primario:hover { background: var(--accent-solid-hover); } }
  .imovel-sumiu-acoes .btn-secundario { border: 1px solid var(--line); color: var(--ink-2); }
  @media (hover: hover) { .imovel-sumiu-acoes .btn-secundario:hover { border-color: var(--ink-4); } }

  .prop-section { margin-bottom: 48px; }
  .prop-section :is(h2, h3) {
    font-size: 22px; font-weight: 600; letter-spacing: -0.015em;
    margin: 0 0 16px;
  }
  .desc { color: var(--ink-2); font-size: 15px; line-height: 1.7; }
  .desc p { margin: 0 0 16px; }
  .desc p:last-child { margin-bottom: 0; }
  .desc.collapsed { max-height: 180px; overflow: hidden; position: relative; }
  .desc.collapsed::after {
    content: ""; position: absolute; inset: auto 0 0 0; height: 60px;
    background: linear-gradient(180deg, transparent, var(--bg));
  }
  .desc-more {
    color: var(--accent); font-size: 13px; font-weight: 500;
    margin-top: 12px; display: inline-flex; align-items: center; gap: 4px;
  }
   
  .desc-predio {
    display: flex; align-items: center; gap: 10px; width: fit-content; max-width: 100%;
    margin: 18px 0 0; padding: 10px 16px 10px 12px; border-radius: 12px;
    background: var(--bg-2); font-size: 14px; line-height: 1.45; color: var(--ink-2);
  }
  .desc-predio .material-icons { font-size: 20px; color: var(--accent); flex-shrink: 0; }
  .desc-predio b { color: var(--ink); font-weight: 600; font-variant-numeric: tabular-nums; }

  .features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; list-style: none; margin: 0; padding: 0; }
  @media (max-width: 700px) { .features { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; } }
  .feat-regras { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
  .feat-regras span {
    display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px 7px 10px; border-radius: 999px;
    background: var(--accent-soft); color: var(--accent); font-size: 13.5px; font-weight: 600;
  }
  .feat-regras .material-icons { font-size: 17px; }
  .feat-grupo + .feat-grupo { margin-top: 22px; }
  .feat-grupo h3, .prop-section .feat-grupo h3 {
    display: flex; align-items: center; gap: 8px; margin: 0 0 4px;
    font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--ink-3);
  }
  .feat-grupo h3 span {
    font-size: 11.5px; font-weight: 600; color: var(--ink-4); background: var(--bg-2);
    padding: 1px 7px; border-radius: 999px; font-variant-numeric: tabular-nums;
  }
  .feat-caixa.recolhido [data-extra] { display: none; }
  .feat-mais {
    display: inline-flex; align-items: center; gap: 4px; margin-top: 18px; padding: 10px 16px 10px 18px;
    border: 1px solid var(--line); border-radius: 999px; background: var(--surface);
    font: inherit; font-size: 14px; font-weight: 600; color: var(--ink); cursor: pointer;
  }
  .feat-mais .material-icons { font-size: 20px; transition: transform .2s; }
  .feat-mais[aria-expanded="true"] .material-icons { transform: rotate(180deg); }
  @media (hover: hover) { .feat-mais:hover { border-color: var(--ink-4); } }
  @media (prefers-reduced-motion: reduce) { .feat-mais .material-icons { transition: none; } }
  .ic-quadro {
    flex-shrink: 0; border-radius: 10px;
    display: grid; place-items: center;
    background: var(--bg-2); color: var(--accent);
  }
  .feat { display: flex; align-items: center; gap: 10px; padding: 9px 0; font-size: 14px; color: var(--ink-2); border-bottom: 1px solid var(--line-2); min-width: 0; }
  .feat svg { color: var(--accent); flex-shrink: 0; }
  .feat-ic { width: 32px; height: 32px; }
  .feat-ic .material-icons { font-size: 18px; }
  .feat span { min-width: 0; }
  .spec-icon .material-icons { color: var(--accent); font-size: 28px; }

  .map-canvas { position: absolute; inset: 0; z-index: 1; }
  .map-canvas .leaflet-control-attribution {
    font-size: 10px; background: rgba(255,255,255,.7);
  }
  .map-canvas .leaflet-popup-content-wrapper {
    border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,.12);
  }
  .map-canvas .leaflet-popup-content {
    margin: 8px 36px 8px 14px; font-size: 13px; font-weight: 500; color: var(--ink);
  }
   
  .map-canvas a.leaflet-popup-close-button {
    top: 7px; right: 8px; width: 22px; height: 22px;
    display: grid; place-items: center; font-size: 16px; line-height: 1;
    border-radius: 50%;
  }
  @media (hover: hover) { .map-canvas a.leaflet-popup-close-button:hover { background: var(--bg-2); } }
  .map-canvas .leaflet-popup-content span { color: var(--ink-4); font-size: 12px; margin-left: 6px; }
  .map-pin-marker {
    width: 40px; height: 40px; border-radius: 50% 50% 50% 0;
    background: var(--accent); transform: rotate(-45deg);
    box-shadow: 0 8px 20px rgba(0,87,184,.35);
    position: relative;
  }
  .map-pin-marker::after {
    content: ""; position: absolute; inset: 8px;
    background: #fff; border-radius: 50%;
  }
  .map-pin-marker .pulse {
    position: absolute; inset: -8px; border: 2px solid var(--accent);
    border-radius: 50%; transform: rotate(45deg);
    animation: pinPulse 2s ease-out infinite;
  }
  @keyframes pinPulse { 0% { transform: rotate(45deg) scale(.5); opacity: 1; } 100% { transform: rotate(45deg) scale(2); opacity: 0; } }
  .map-chrome {
    position: absolute; left: 12px; top: 12px;
    display: flex; gap: 4px; z-index: 2;
  }
  .map-chrome button {
    background: var(--surface); padding: 6px 10px; border-radius: 6px;
    font-size: 12px; font-weight: 500; color: var(--ink-3);
    box-shadow: 0 1px 2px rgba(0,0,0,.1); cursor: pointer;
  }
  .map-chrome button.active { color: var(--ink); }

  .prox-pino {
    width: 30px; height: 30px; border-radius: 50% 50% 50% 0;
    background: var(--cor); transform: rotate(-45deg);
    border: 2px solid #fff; box-shadow: 0 3px 8px rgba(10,12,20,.28);
    display: grid; place-items: center;
  }
  .prox-pino .material-icons { transform: rotate(45deg); font-size: 15px; color: #fff; }
  html[data-theme="dark"] .prox-pino { border-color: var(--surface); box-shadow: 0 3px 10px rgba(0,0,0,.6); }
  .prox-legenda {
    position: absolute; left: 12px; right: 12px; bottom: 18px; z-index: 2;
    display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none;
    pointer-events: none;
  }
  @media (max-width: 760px) {
    .prox-legenda {
      left: 0; right: 0; bottom: 30px; padding: 0 12px;
      scroll-padding: 0 12px; pointer-events: auto;
    }
  }
  .prox-legenda::-webkit-scrollbar { display: none; }
  .credito-i {
    display: none; width: 30px; height: 30px; place-items: center;
    border: 0; border-radius: 50%; background: var(--surface); color: var(--ink-3);
    box-shadow: 0 1px 4px rgba(0,0,0,.18); cursor: pointer;
  }
  .credito-i .material-icons { font-size: 18px; }
  .credito-recolhido .credito-i { display: grid; }
  .credito-recolhido .leaflet-control-attribution { display: none; }
  .gallery-mapa .prox-legenda { transition: bottom .25s ease; }
  @media (max-width: 760px) { .credito-recolhido .prox-legenda { bottom: 12px; } }
  .prox-legenda button {
    pointer-events: auto; flex: 0 0 auto;
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--surface); color: var(--ink-2);
    border: 1px solid var(--line); border-radius: 6px;
    padding: 5px 10px 5px 6px; font: inherit; font-size: 12px; font-weight: 500;
    box-shadow: 0 1px 2px rgba(0,0,0,.1); cursor: pointer; white-space: nowrap;
  }
  .prox-legenda button .material-icons {
    width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center;
    background: var(--cor); color: #fff; font-size: 13px;
  }
  .prox-legenda button[aria-pressed="false"] { color: var(--ink-4); }
  .prox-legenda button[aria-pressed="false"] .material-icons { background: var(--line); color: var(--ink-4); }

  .bairro-x {
    --bx1: #0E8A4F; --bx2: #8CCBA5; --bx3: #E6B43C; --bx4: #DC7A2E;
    --bx1-soft: #DDF3E4; --bx2-soft: #EAF6EF; --bx3-soft: #FCF3DC; --bx4-soft: #FCEBDD;
    --bx1-ink: #0B6E3F; --bx2-ink: #2F7A52; --bx3-ink: #8A6510; --bx4-ink: #A4501A;
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    background: var(--surface); padding: 26px 28px 22px; margin: 0 0 var(--gap-sec, 34px);
  }
  html[data-theme="dark"] .bairro-x {
    --bx1: #2FA56B; --bx2: #6FB48D; --bx3: #D9AA36; --bx4: #D2732E;
    --bx1-soft: rgba(47,165,107,.16); --bx2-soft: rgba(111,180,141,.14); --bx3-soft: rgba(217,170,54,.14); --bx4-soft: rgba(210,115,46,.16);
    --bx1-ink: #5CD08F; --bx2-ink: #93D3AE; --bx3-ink: #EBC25E; --bx4-ink: #F09A5A;
  }
  .bx-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px 18px; flex-wrap: wrap; }
  .bairro-x :is(h2, h3) { font-size: 22px; font-weight: 600; letter-spacing: -0.022em; line-height: 1.2; margin: 6px 0 0; }
  .bx-selo {
    flex-shrink: 0; padding: 6px 12px; border-radius: 999px;
    font-size: 13px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums;
    background: var(--bg-2); color: var(--ink-2);
    transition: opacity .34s ease, transform .34s cubic-bezier(.22, .61, .36, 1);
  }
  .bx-selo[data-faixa="1"] { background: var(--bx1-soft); color: var(--bx1-ink); }
  .bx-selo[data-faixa="2"] { background: var(--bx2-soft); color: var(--bx2-ink); }
  .bx-selo[data-faixa="3"] { background: var(--bx3-soft); color: var(--bx3-ink); }
  .bx-selo[data-faixa="4"] { background: var(--bx4-soft); color: var(--bx4-ink); }
  .bx-selo.a-caminho { opacity: 0; transform: translateY(-5px) scale(.94); }

  .bx-term { margin: 58px 0 26px; }
  .bx-trilho { position: relative; display: flex; gap: 4px; height: 10px; }
  .bx-seg { flex: 1; border-radius: 2px; background: var(--bx1); transition: opacity .4s ease; }
  .bx-seg:first-child { border-radius: 999px 2px 2px 999px; }
  .bx-seg:nth-child(4) { border-radius: 2px 999px 999px 2px; }
  .bx-seg[data-faixa="2"] { background: var(--bx2); }
  .bx-seg[data-faixa="3"] { background: var(--bx3); }
  .bx-seg[data-faixa="4"] { background: var(--bx4); }

  .bx-este { position: absolute; bottom: calc(100% + 9px); left: 0; width: 0; z-index: 2; }
  .bx-este b {
    position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
    background: var(--ink); color: var(--on-ink); white-space: nowrap;
    font-size: 14px; font-weight: 600; letter-spacing: -0.01em; font-variant-numeric: tabular-nums;
    padding: 7px 11px; border-radius: 8px; box-shadow: 0 6px 18px rgba(10,12,20,.18);
    box-sizing: border-box; text-align: center;
  }
  .bx-este b small { font-size: 11.5px; font-weight: 500; opacity: .72; margin-left: 1px; }
  .bx-este b::after {
    content: ''; position: absolute; top: 100%; left: var(--seta, 50%); transform: translateX(-50%);
    border: 7px solid transparent; border-top-color: var(--ink); border-bottom-width: 0;
  }

  .bx-eixo { position: relative; height: 18px; margin-top: 10px; }
  .bx-eixo span {
    position: absolute; top: 0; transform: translateX(-50%); white-space: nowrap;
    font-size: 12.5px; font-weight: 600; color: var(--ink-2); font-variant-numeric: tabular-nums;
  }
  .bx-eixo span:nth-child(1) { left: 25%; }
  .bx-eixo span:nth-child(2) { left: 50%; }
  .bx-eixo span:nth-child(3) { left: 75%; }
  .bx-faixas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-top: 8px; }
  .bx-faixas span { font-size: 12px; color: var(--ink-4); text-align: center; transition: color .3s ease; }
  .bx-faixas span.atual { font-weight: 600; }
  .bx-faixas span.atual[data-faixa="1"] { color: var(--bx1-ink); }
  .bx-faixas span.atual[data-faixa="2"] { color: var(--bx2-ink); }
  .bx-faixas span.atual[data-faixa="3"] { color: var(--bx3-ink); }
  .bx-faixas span.atual[data-faixa="4"] { color: var(--bx4-ink); }

  .bx-nums {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--line); padding-top: 18px;
    font-size: 13px; color: var(--ink-3); line-height: 1.35;
  }
  .bx-nums > div { padding: 0 16px; border-left: 1px solid var(--line); min-width: 0; }
  .bx-nums > div:first-child { padding-left: 0; border-left: 0; }
  .bx-nums b { display: block; font-size: 18px; font-weight: 600; color: var(--ink); letter-spacing: -0.015em; margin-bottom: 3px; font-variant-numeric: tabular-nums; }
  .bx-como { margin-top: 16px; }
  .bx-como summary {
    display: inline-flex; align-items: center; gap: 4px; cursor: pointer; list-style: none;
    font-size: 13.5px; font-weight: 500; color: var(--ink-2);
  }
  .bx-como summary span { text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 4px; text-decoration-thickness: 2px; }
  .bx-como summary::-webkit-details-marker { display: none; }
  .bx-como summary::after { content: 'expand_more'; font-family: 'Material Symbols Outlined'; font-size: 18px; transition: transform .2s; }
  .bx-como[open] summary::after { transform: rotate(180deg); }
  .bx-nota { margin: 10px 0 0; font-size: 12.5px; color: var(--ink-4); line-height: 1.6; }
  @media (prefers-reduced-motion: reduce) {
    .bx-selo, .bx-seg, .bx-faixas span, .bx-como summary::after { transition: none; }
  }
  @media (max-width: 700px) {
    .bairro-x { padding: 22px 20px 20px; }
    .bairro-x :is(h2, h3) { font-size: 20px; }
    .bx-nums > div { padding: 0 10px; }
    .bx-nums b { font-size: 16px; }
    .bx-eixo span { font-size: 11.5px; }
  }

  .fin-card {
    display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px;
    background: linear-gradient(135deg, var(--accent-soft) 0%, var(--bg-2) 100%);
    border: 1px solid var(--line); border-radius: var(--radius-lg);
    padding: 28px 30px; margin-bottom: 48px;
  }
  .fin-card :is(h2, h3) { font-size: 21px; font-weight: 600; letter-spacing: -0.02em; margin: 6px 0 12px; }
  .fin-parcela { margin: 0; display: flex; align-items: baseline; gap: 4px; }
  .fin-parcela b {
    font-size: clamp(30px, 3.6vw, 40px); font-weight: 600;
    letter-spacing: -0.03em; color: var(--accent-ink); line-height: 1;
  }
  .fin-parcela span { font-size: 15px; color: var(--ink-3); font-weight: 500; }
  .fin-cond { margin: 8px 0 0; font-size: 13.5px; color: var(--ink-3); }
  .fin-mcmv {
    display: flex; align-items: flex-start; gap: 9px; margin: 14px 0 0;
    padding: 10px 13px; background: var(--surface);
    border: 1px solid var(--line); border-radius: var(--radius);
    font-size: 13px; color: var(--ink-2); max-width: 460px;
  }
  .fin-mcmv .material-icons { font-size: 18px; color: var(--accent); flex-shrink: 0; }
  .fin-mcmv .mcmv-logo { height: 20px; width: auto; flex-shrink: 0; margin-top: 1px; }
  .fin-mcmv b { font-weight: 600; display: block; }
  .fin-mcmv small { color: var(--ink-4); font-size: 12px; }
  .fin-mcmv .mcmv-regra { display: block; margin-top: 4px; color: var(--ink-3); }
  .fin-mcmv { text-decoration: none; transition: border-color .15s, background .15s; }
  .fin-mcmv span { flex: 1; min-width: 0; }
  .fin-mcmv .seta { margin-left: auto; font-size: 16px; color: var(--ink-4); align-self: center; }
  @media (hover: hover) { .fin-mcmv:hover { border-color: var(--accent); background: var(--surface); } }
  @media (hover: hover) { .fin-mcmv:hover .seta { color: var(--accent); } }
  .fin-card .btn-blue { margin-top: 18px; }
  .fin-aviso { margin: 12px 0 0; font-size: 11.5px; line-height: 1.45; color: var(--ink-4); max-width: 440px; }
  .fin-comp {
    width: 300px; flex-shrink: 0; align-self: center;
    padding: 20px 22px; border-radius: var(--radius);
    background: var(--surface); border: 1px solid var(--line);
  }
  .fin-comp-linha { display: flex; justify-content: space-between; gap: 14px; }
  .fin-comp-item { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
  .fin-comp-item.financiado { text-align: right; }
  .fin-comp-item small { font-size: 12px; font-weight: 500; color: var(--ink-3); }
  .fin-comp-item b { font-size: 16px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); white-space: nowrap; }
  .fin-comp-item.entrada b { color: var(--accent-ink); }
  .fin-barra {
    display: flex; height: 10px; margin: 14px 0 6px; border-radius: 999px; overflow: hidden;
    background: var(--accent-soft);
  }
  .fin-barra i { display: block; height: 100%; border-radius: 999px; background: var(--accent); width: 20%; }
  .fin-comp-pct { display: flex; justify-content: space-between; font-size: 12px; color: var(--ink-4); }
  .fin-total {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    margin: 16px 0 0; padding-top: 12px; border-top: 1px solid var(--line);
    font-size: 12.5px; color: var(--ink-3);
  }
  .fin-total b { font-size: 14px; font-weight: 600; color: var(--ink); white-space: nowrap; }
  @media (max-width: 760px) {
     
    .fin-card { grid-template-columns: 1fr; gap: 0; padding: 22px; }
    .fin-txt { display: contents; }
    .fin-comp { width: 100%; order: 1; margin-top: 20px; }
    .fin-aviso { order: 2; margin-top: 14px; }
    .fin-card .btn-blue { justify-self: start; }
  }

  .prox-resumo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 4px 0 22px; }
  .prox-destaque {
    --tinta: color-mix(in srgb, var(--cor) 80%, var(--ink));
    display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; align-items: center;
    padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); min-width: 0;
  }
  .prox-ic {
    grid-row: span 2; width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center;
    background: color-mix(in srgb, var(--cor) 13%, transparent); color: var(--tinta);
  }
  .prox-ic .material-icons { font-size: 20px; }
  .prox-rot { font-size: 12px; color: var(--ink-4); line-height: 1.2; }
  .prox-tempo { display: flex; align-items: baseline; gap: 4px; line-height: 1.2; }
  .prox-tempo b { font-size: 18px; font-weight: 600; color: var(--ink); letter-spacing: -0.015em; font-variant-numeric: tabular-nums; }
  .prox-tempo small { font-size: 12.5px; color: var(--ink-3); }
  .prox-nome {
    grid-column: 1 / -1; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line);
    font-size: 12.5px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }

  .prox-abas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 6px; }
  .prox-abas .pill { padding: 7px 13px 7px 10px; font-size: 13.5px; cursor: pointer; white-space: nowrap; flex: none; }
  .prox-abas .pill .material-icons { font-size: 17px; color: color-mix(in srgb, var(--cor) 80%, var(--ink)); }
  .prox-abas .pill.active { background: var(--accent-solid); border-color: var(--accent-solid); color: #fff; }
  .prox-abas .pill.active .material-icons { color: inherit; }

  .prox-lista { list-style: none; margin: 0; padding: 0; }
  .prox-lista li + li { border-top: 1px solid var(--line); }
  .prox-item {
    display: flex; align-items: center; gap: 14px; width: 100%;
    padding: 13px 0; background: none; border: 0; font: inherit; color: inherit; text-align: left;
  }
  button.prox-item { cursor: pointer; }
  .prox-n { flex: 1; min-width: 0; font-size: 14.5px; color: var(--ink); line-height: 1.35; }
  .prox-d { flex-shrink: 0; text-align: right; font-size: 13.5px; font-weight: 600; color: var(--ink-2); font-variant-numeric: tabular-nums; line-height: 1.3; }
  .prox-d small { display: block; font-size: 12px; font-weight: 400; color: var(--ink-4); }
  .prox-item > .material-icons { flex-shrink: 0; font-size: 18px; color: var(--ink-4); transition: color .15s; }
  @media (hover: hover) {
    button.prox-item:hover .prox-n { color: var(--accent); }
    button.prox-item:hover > .material-icons { color: var(--accent); }
  }
  @media (max-width: 760px) {
    .prox-resumo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .prox-abas {
      flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
      margin-inline: calc(-1 * var(--recuo, 16px)); padding: 0 var(--recuo, 16px) 2px;
      scroll-padding-inline: var(--recuo, 16px);
    }
    .prox-abas::-webkit-scrollbar { display: none; }
  }
  .prox-fonte { margin-top: 16px; font-size: 11px; color: var(--ink-4); }
  .prox-fonte a { color: var(--ink-4); text-decoration: underline; }

  .sidebar {
    position: sticky; top: calc(var(--nav-h) + 12px);
    height: fit-content;
  }
  @media (max-width: 1000px) { .sidebar { position: static; } }
  .side-aceita.p-aceita-topo { display: none; }
  @media (max-width: 1000px) {
    .side-aceita.p-aceita-topo:not([hidden]) { display: flex; margin: 10px 0 0; }
    #p-side-breakdown, #p-side-price-label, #p-side-price, #p-side-perm, #p-side-quick, .side-card #p-aceita { display: none !important; }
    .side-card .agent { padding-bottom: 0; border-bottom: 0; margin-bottom: 0; }
    body:has(#cr-card:not([hidden])) .sidebar > .side-card:has(#p-agent-box) { display: none; }
  }

  @media (min-width: 1180px) {
    .sidebar { margin-top: clamp(-360px, -30vh, -210px); z-index: 5; }
    .sidebar > .side-card:first-child { box-shadow: 0 12px 34px rgba(15,30,60,.16); }
  }

  .side-card {
    background: var(--surface); border: 1px solid var(--line);
    border-radius: var(--radius-lg);
    padding: 24px;
    box-shadow: var(--shadow-1);
    margin-bottom: 16px;
  }
   
  html[data-theme="dark"] :is(.side-card, .crp):not(.super) {
    background: var(--surface-alto); border-color: rgba(255,255,255,.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
  }
  html[data-theme="dark"] .side-card .side-agendar { background: transparent; }
  .agent {
    display: flex; align-items: center; gap: 12px;
    padding-bottom: 16px; border-bottom: 1px solid var(--line-2); margin-bottom: 16px;
  }
  .agent img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
  .agent img.marca {
    width: 56px; height: 56px;
    object-fit: contain;
    background: var(--surface); border: 1px solid var(--line);
  }
  .agent b { display: block; font-size: 14px; font-weight: 600; }
  .agent span { display: block; font-size: 12px; color: var(--ink-4); }

   
  .agent-foto { display: block; flex: none; }
  .agent .agent-ini {
    width: 48px; height: 48px; border-radius: 50%;
    background: var(--accent-soft); color: var(--accent);
    display: grid; place-items: center;
    font-size: 15px; font-weight: 600; letter-spacing: .01em;
  }
  .agent-nome { color: inherit; text-decoration: none; }
  .agent span.agent-nome { display: inline; font-size: inherit; color: inherit; }
  @media (hover: hover) { a.agent-nome:hover { color: var(--accent); } }

  .side-aceita { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 14px; }
  .side-aceita span { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; }
  .side-aceita .material-icons { font-size: 15px; }
  .side-aceita .ok { color: var(--ink-3); }
  .side-aceita .ok .material-icons { color: var(--accent); }
  .side-aceita .nao, .side-aceita .nao .material-icons { color: var(--ink-4); }

  .side-price { font-size: 26px; font-weight: 600; letter-spacing: -0.02em; margin-bottom: 4px; }
  .side-perm2 { font-size: 13px; color: var(--ink-4); }
  #p-side-quick { margin-top: 18px; }

  .side-breakdown { margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
  .side-breakdown .bd-row {
    display: flex; justify-content: space-between; align-items: center; gap: 12px;
    font-size: 14px; color: var(--ink-3); min-height: 36px;
  }
  .side-breakdown .bd-row > span { display: inline-flex; align-items: center; gap: 2px; }
  .side-breakdown .bd-row b { color: var(--ink); font-weight: 500; font-variant-numeric: tabular-nums; text-align: right; }
  .side-breakdown .bd-row b small { display: block; font-size: 11px; font-weight: 400; color: var(--ink-4); margin-top: -1px; }
  .bd-info {
    width: 28px; height: 28px; margin: -4px 0; border: 0; border-radius: 50%; background: none; padding: 0;
    display: inline-grid; place-items: center; color: var(--ink-4); cursor: pointer; transition: color .15s, background .15s;
  }
  .bd-info .material-icons { font-size: 17px; }
  @media (hover: hover) { .bd-info:hover { color: var(--accent); background: var(--bg-2); } }
  .bd-info:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
  .side-total-label {
    font-size: 13px; font-weight: 500; color: var(--ink-3); margin-bottom: 2px;
  }
  .side-price small { font-size: 14px; font-weight: 500; color: var(--ink-3); }
  .side-total:has(#p-side-price-label:not([hidden])) { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
  .side-total:has(#p-side-price-label:not([hidden])) .side-price { margin-bottom: 0; }
  .side-total:has(#p-side-price-label:not([hidden])) .side-total-label { margin-bottom: 0; }
  .side-quick { display: flex; justify-content: space-between; font-size: 13px; color: var(--ink-3); padding: 12px 0; border-top: 1px solid var(--line-2); }
  .side-quick:first-of-type { border-top: 0; padding-top: 0; }
  .side-quick b { color: var(--ink); font-weight: 500; }

  .side-btns { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
  .side-btns .btn-whatsapp {
    justify-content: center; padding: 13px;
    background: var(--wpp); color: #fff;
    border-radius: var(--radius);
    font-size: 14px; font-weight: 500;
    display: inline-flex; align-items: center; gap: 8px;
    transition: background .15s;
    text-decoration: none;
  }
  @media (hover: hover) { .side-btns .btn-whatsapp:hover { background: var(--wpp-ink); } }

  .similar-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
  @media (max-width: 1100px) { .similar-row { grid-template-columns: repeat(3, 1fr); } }
  @media (max-width: 800px) { .similar-row { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 500px) { .similar-row { grid-template-columns: 1fr; } }

  .mobile-cta {
    display: none;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    background: var(--surface); border-top: 1px solid var(--line);
    padding: 12px 16px;
     
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(16px, env(safe-area-inset-right));
    justify-content: space-between; align-items: center; gap: 12px;
    box-shadow: 0 -2px 12px rgba(0,0,0,.06);
  }
  @media (max-width: 1000px) {
    .mobile-cta { display: flex; }
     
    body:has(.mobile-cta) footer.foot { padding-bottom: calc(32px + 70px + env(safe-area-inset-bottom)); }
     
    body:has(.mobile-cta) .fav-aviso { bottom: calc(70px + 14px + env(safe-area-inset-bottom)); }
    body:has(#cr-card:not([hidden])) #p-agent-box { display: none; }
    .side-btns { display: none; }
  }
  .mobile-cta > div:first-child { min-width: 0; flex: 1; }
  .mobile-cta .mc-price { font-size: 18px; font-weight: 600; letter-spacing: -0.01em; }
  .mobile-cta .mc-label { font-size: 11px; color: var(--ink-4); }
  .mobile-cta .btn-whatsapp {
    white-space: nowrap; flex: none;
    padding: 12px 18px;
    background: var(--wpp); color: #fff;
    border-radius: var(--radius);
    font-size: 14px; font-weight: 500;
    display: inline-flex; align-items: center; gap: 8px;
    transition: background .15s;
    text-decoration: none;
  }
  @media (hover: hover) { .mobile-cta .btn-whatsapp:hover { background: var(--wpp-ink); } }
  @media (max-width: 400px) {
    .mobile-cta .btn-whatsapp { padding: 12px 14px; }
  }

.gar-bloco {
  background: var(--accent-soft); border-radius: var(--radius-lg);
  padding: 24px 26px; margin-bottom: 28px;
}
.gar-bloco :is(h2, h3) { margin-top: 0; }
.gar-lead { color: var(--ink-3); font-size: 14.5px; line-height: 1.6; margin: 0 0 18px; max-width: 60ch; }

.gar-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.gar-lista li {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 11px 12px; border-radius: var(--radius);
  transition: background .15s;
}
@media (hover: hover) { .gar-lista li:hover { background: var(--surface); } }
.gar-lista .material-icons {
  font-size: 18px; color: var(--accent); flex: none;
  background: var(--surface); border-radius: 8px; padding: 7px;
}
.gar-lista b { font-size: 14.5px; font-weight: 600; display: block; line-height: 1.35; }
.gar-lista span { font-size: 13.5px; color: var(--ink-3); line-height: 1.5; display: block; margin-top: 2px; }

.gar-link {
  display: inline-flex; align-items: center; gap: 7px; margin-top: 16px;
  font-size: 14.5px; font-weight: 500; color: var(--accent);
}
@media (hover: hover) { .gar-link:hover { text-decoration: underline; } }
.gar-link .material-icons { font-size: 16px; }

#p-guia-bairro { padding: 0; }
.gbx {
  display: grid; grid-template-columns: 240px minmax(0, 1fr); overflow: hidden;
  border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface);
  color: var(--ink); transition: box-shadow .2s, border-color .2s;
}
@media (hover: hover) { .gbx:hover { box-shadow: var(--shadow-2); border-color: transparent; } }
.gbx:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.gbx-foto { position: relative; background: var(--bg-2); overflow: hidden; }
.gbx-foto[hidden] { display: none; }
.gbx-foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
@media (hover: hover) { .gbx:hover .gbx-foto img { transform: scale(1.04); } }
.gbx-txt { padding: 22px 26px; min-width: 0; }
.gbx :is(h2, h3) { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; margin: 6px 0 8px; transition: color .15s; }
@media (hover: hover) { .gbx:hover :is(h2, h3) { color: var(--accent); } }
.gbx p { margin: 0 0 14px; font-size: 14.5px; line-height: 1.6; color: var(--ink-3); }
.gbx-mais { display: inline-flex; align-items: center; gap: 7px; font-size: 14.5px; font-weight: 500; color: var(--accent); }
.gbx-mais .material-icons { font-size: 16px; transition: transform .2s; }
@media (hover: hover) { .gbx:hover .gbx-mais .material-icons { transform: translateX(3px); } }
@media (max-width: 700px) {
  .gbx { grid-template-columns: minmax(0, 1fr); }
  .gbx-foto { aspect-ratio: 16 / 9; }
  .gbx-txt { padding: 18px 20px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .gbx-foto img, .gbx-mais .material-icons { transition: none; }
  @media (hover: hover) { .gbx:hover .gbx-foto img, .gbx:hover .gbx-mais .material-icons { transform: none; } }
}

@media (min-width: 760px) {
  .gar-lista { grid-template-columns: 1fr 1fr; gap: 2px 18px; }
}

.cdp {
  display: block; position: relative;
  border: 1px solid var(--line); border-radius: var(--radius-lg);
  overflow: hidden; background: var(--bg); margin-top: 36px;
  text-decoration: none; color: inherit;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
@media (hover: hover) { .cdp:hover { border-color: var(--accent); box-shadow: 0 12px 30px rgba(28,60,133,.13); transform: translateY(-2px); } }
.cdp-capa { position: relative; height: 250px; overflow: hidden; }
.cdp-fotos {
  height: 250px; overflow: hidden; contain: size;
  display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  gap: 2px; background: var(--line-2);
}
.cdp-fotos img { width: 100%; height: 100%; min-width: 0; min-height: 0; max-height: 100%; object-fit: cover; display: block; }
.cdp-fotos img:first-child { grid-row: span 2; }
.cdp-fotos.uma { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); }
.cdp-fotos.uma img:first-child { grid-row: auto; }
.cdp-capa::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(180deg, rgba(10,14,28,0) 35%, rgba(10,14,28,.78) 100%); pointer-events: none; }
.cdp-texto { position: absolute; left: 26px; right: 26px; bottom: 20px; z-index: 1; color: #fff; }
.cdp-olho { font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.85); }
.cdp :is(h2, h3) { font-size: 24px; font-weight: 600; letter-spacing: -.02em; margin: 5px 0 0; color: #fff; text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.cdp-local { font-size: 13.5px; color: rgba(255,255,255,.85); margin: 3px 0 0; }
.cdp-rodape { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 26px; }
.cdp-nums { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cdp-nums li { font-size: 12.5px; color: var(--ink-2); background: var(--bg-2); border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; }
.cdp-nums li b { font-weight: 600; color: var(--ink); }
.cdp-acao { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: var(--accent); white-space: nowrap; }
.cdp-acao .material-icons { font-size: 17px; transition: transform .18s ease; }
@media (hover: hover) { .cdp:hover .cdp-acao .material-icons { transform: translateX(3px); } }
@media (max-width: 720px) {
  .cdp-capa { height: 210px; }
  .cdp-fotos { height: 210px; }
  .cdp-texto { left: 18px; right: 18px; bottom: 16px; }
  .cdp :is(h2, h3) { font-size: 20px; }
  .cdp-rodape { flex-direction: column; align-items: flex-start; padding: 14px 18px; }


}

.crp {
  display: grid; grid-template-columns: 190px minmax(0, 1fr); align-items: stretch;
  border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden;
  background: var(--bg); margin-top: 40px;
}
.crp-foto { display: block; background: var(--line-2); position: relative; contain: size; min-height: 200px; }
.crp-foto img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.crp-foto .agent-ini { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 40px; font-weight: 600; color: var(--ink-3); }
.crp-corpo { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 22px 24px; }
.crp-corpo :is(h2, h3) { margin: 6px 0 2px; font-size: 21px; font-weight: 600; letter-spacing: -.02em; }
.crp-corpo :is(h2, h3) a { color: inherit; text-decoration: none; }
@media (hover: hover) { .crp-corpo :is(h2, h3) a[href]:hover { color: var(--accent); } }
.crp-sub { margin: 0 0 12px; font-size: 14px; color: var(--ink-3); }
.crp .cdp-olho { color: var(--accent); }
.crp .cdp-nums { margin: 0 0 16px; }
.crp-acoes { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-top: 2px; }
.crp-acoes .btn-whatsapp { display: inline-flex; align-items: center; gap: 8px; padding: 11px 18px; border-radius: 10px; background: #25D366; color: #fff; font-weight: 600; font-size: 14px; text-decoration: none; }
@media (hover: hover) { .crp-acoes .btn-whatsapp:hover { background: #1fbf5b; } }
.crp-perfil { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: var(--accent); text-decoration: none; }
@media (hover: hover) { .crp-perfil:hover { text-decoration: underline; } }
.crp-perfil[hidden] { display: none; }
@media (max-width: 720px) {
  .crp { grid-template-columns: 92px minmax(0, 1fr); column-gap: 14px; row-gap: 0; align-items: start; padding: 18px 16px; }
  .crp-foto { grid-column: 1; grid-row: 1 / 4; width: 92px; height: 92px; min-height: 0; border-radius: 18px; contain: none; }
  .crp-foto img { position: static; width: 92px; height: 92px; border-radius: 18px; }
  .crp-foto .agent-ini { font-size: 28px; }
  .crp-corpo { display: contents; }
  .crp .cdp-olho, .crp-corpo :is(h2, h3), .crp-sub { grid-column: 2; }
  .crp-sub { margin-bottom: 0; }
  .crp .cdp-nums { grid-column: 1 / -1; margin: 14px 0 14px; }
  .crp .cdp-nums li { font-size: 12px; }
  .crp-acoes { grid-column: 1 / -1; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .cdp, .cdp-acao .material-icons { transition: none; }
}

  .dica-fin { gap: 12px; padding: 11px 12px 11px 16px; }
  .dica-fin .material-icons { color: #8FB4FF; }
  .dica-fin.mcmv .material-icons { color: #7BE0A8; }
  .dica-fin span { line-height: 1.45; }
  .dica-fin .dica-fechar {
    background: none; border: 0; padding: 4px; cursor: pointer;
    color: rgba(255,255,255,.55); display: grid; place-items: center;
    border-radius: 50%; flex-shrink: 0;
  }
  @media (hover: hover) { .dica-fin .dica-fechar:hover { color: #fff; background: rgba(255,255,255,.12); } }
  .dica-fin .dica-fechar .material-icons { color: inherit; font-size: 16px; }
  @media (max-width: 560px) {
    .dica-fin { align-items: flex-start; flex-wrap: wrap; border-radius: 14px; }
    .dica-fin span { flex: 1 1 100%; order: 2; }
    .dica-fin .fav-aviso-acao { order: 3; }
    .dica-fin .dica-fechar { margin-left: auto; }
  }
  body:has(.lightbox.open) .fav-aviso { display: none; }

 
html[data-theme="dark"] .g-seta { background: rgba(14,14,14,.88); color: #fff; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 2px 10px rgba(0,0,0,.5); }
@media (hover: hover) { html[data-theme="dark"] .g-seta:hover { background: var(--surface); } }
html[data-theme="dark"] .dica-fin .material-icons { color: var(--accent-solid); }
html[data-theme="dark"] .dica-fin.mcmv .material-icons { color: #0E8A4F; }
html[data-theme="dark"] .agent img.marca { content: url("logo-v-escuro.svg"); background: var(--brand); border-color: var(--brand); filter: none; }

 
.p-super, .crp.super, .side-card.super { --ouro: #8A5A00; --ouro-soft: #FCEFCF; --ouro-fundo: #FFFAEE; --ouro-linha: #EFD9A4; }
html[data-theme="dark"] .p-super, html[data-theme="dark"] .crp.super, html[data-theme="dark"] .side-card.super { --ouro: #F2C46B; --ouro-soft: rgba(242,196,107,.14); --ouro-fundo: #1E1A12; --ouro-linha: rgba(242,196,107,.28); }
.p-super { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; margin: 22px 0 26px; padding: 20px 22px; border: 1px solid var(--ouro-linha); border-radius: var(--radius-lg, 16px); background: var(--ouro-fundo); }
.p-super-selo { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--ouro-soft); color: var(--ouro); }
.p-super-selo .material-icons { font-size: 28px; font-variation-settings: 'FILL' 1; }
.p-super-olho { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro); }
.p-super h2 { margin: 4px 0 4px; font-size: 18px; line-height: 1.3; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.p-super p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--ink-3); }
.p-super-corr { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.p-super-foto { position: relative; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; border: 2px solid var(--ouro-linha); background: var(--line-2); display: block; }
.p-super-foto img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.p-super-foto .agent-ini { display: grid; place-items: center; width: 100%; height: 100%; font-weight: 600; color: var(--ink-3); }
.p-super-wpp { display: inline-flex; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; padding: 10px 15px; border-radius: 10px; background: #25D366; color: #fff; font-weight: 600; font-size: 13.5px; text-decoration: none; }
@media (hover: hover) { .p-super-wpp:hover { background: #1fbf5b; } }
.p-super-wpp .ico-wpp { width: 17px; height: 17px; display: block; flex: none; }
@media (max-width: 700px) {
  .p-super { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: 16px; gap: 12px 14px; margin-top: 16px; }
  .p-super-selo { width: 42px; height: 42px; } .p-super-selo .material-icons { font-size: 23px; }
  .p-super h2 { font-size: 16px; }
  .p-super-corr { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; }
  .p-super-foto { width: 44px; height: 44px; }
  .p-super-wpp { flex: 1; justify-content: center; }
}
.crp.super { border-color: var(--ouro-linha); background: var(--ouro-fundo); }
.crp.super .cdp-olho { display: inline-flex; align-items: center; gap: 5px; color: var(--ouro); }
.crp.super .cdp-olho .material-icons { font-size: 15px; font-variation-settings: 'FILL' 1; }
.side-card.super { border-color: var(--ouro-linha); }
.side-super { display: inline-flex; align-items: center; gap: 5px; margin-bottom: 12px; padding: 4px 10px 4px 7px; border-radius: 6px; background: var(--ouro-soft); color: var(--ouro); font-size: 12px; font-weight: 600; }
.side-super .material-icons { font-size: 15px; font-variation-settings: 'FILL' 1; }

 
 
.prop-head-acoes { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; align-items: center; gap: 8px; }
.prop-head-acoes .fav-linha { justify-content: center; }
.comp-ancora { position: relative; display: flex; }
.comp-ancora > .fav-linha { flex: 1; }
.comp-ancora:not(:has(> .fav-linha:not([hidden]))) { display: none; }
@media (hover: hover) {
  .comp-linha:hover { border-color: var(--ink-3); color: var(--ink); }
}
.comp-linha[aria-expanded="true"] { border-color: var(--ink-3); color: var(--ink); }
.comp-menu {
  position: absolute; top: calc(100% + 8px); right: 0; z-index: 45;
  min-width: 212px; padding: 6px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 12px;
  box-shadow: 0 12px 32px rgba(10,12,20,.16);
  display: flex; flex-direction: column;
}
.comp-menu[hidden] { display: none; }
.comp-menu button {
  display: flex; align-items: center; gap: 11px; width: 100%;
  padding: 10px 12px; border: 0; border-radius: 8px; background: none;
  color: var(--ink-2); font: inherit; font-size: 14px; text-align: left; cursor: pointer;
}
.comp-menu button[hidden] { display: none; }
 .comp-menu button:focus-visible { background: var(--line-2); color: var(--ink); outline: none; }
@media (hover: hover) { .comp-menu button:hover { background: var(--line-2); color: var(--ink); outline: none; } }
.comp-menu .material-icons { font-size: 19px; color: var(--ink-3); }
.comp-menu .ico-wpp { width: 18px; height: 18px; color: #25D366; flex: none; }
@media (max-width: 700px) {
  .prop-head-acoes { width: 100%; }
  .price-row .prop-head-acoes { margin-top: 16px; }
  .price-row > div:has(> .prop-head-acoes) { flex: 1; min-width: 0; }
  .comp-menu { left: 0; right: auto; }
}

 
#ficha-impressa { display: none; }
@media print {
  @page {
    size: A4; margin: 11mm 12mm 13mm;
    @bottom-left { font: 7.5pt "Helvetica Neue", Helvetica, Arial, sans-serif; color: #8A909C; }
    @bottom-right { font: 7.5pt "Helvetica Neue", Helvetica, Arial, sans-serif; color: #8A909C; }
  }
  html, html[data-theme], body { background: #fff !important; color-scheme: light; }
  body > *:not(#ficha-impressa) { display: none !important; }
  #ficha-impressa {
    --fi-tinta: #16181D; --fi-cinza: #5B6170; --fi-claro: #8A909C; --fi-linha: #DDE1E8;
    --fi-azul: #1C3C85; --fi-azul-fundo: #EBEFF8; --fi-verde: #0E8A4F; --fi-verde-fundo: #DDF3E4;
    display: block; padding: 0 .5mm; color: var(--fi-tinta); background: #fff; font-size: 10pt; line-height: 1.45;
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
  #ficha-impressa .material-icons { color: var(--fi-azul); font-variation-settings: 'FILL' 0; line-height: 1; }
  #ficha-impressa a { color: inherit; text-decoration: none; }

  #ficha-impressa section { padding: 0; margin: 0; }
  .fi-capa-pag { break-after: page; }
  .fi-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5mm; }
  .fi-topo img { height: 30px; width: auto; display: block; }
  .fi-topo div { text-align: right; line-height: 1.25; }
  .fi-topo span { display: block; font-size: 7.5pt; letter-spacing: .06em; text-transform: uppercase; color: var(--fi-claro); }
  .fi-topo b { font-size: 11pt; letter-spacing: .02em; }

  .fi-fotos { display: grid; gap: 2mm; margin-bottom: 6mm; }
  .fi-capa { position: relative; height: 84mm; border-radius: 3mm; overflow: hidden; }
  .fi-so-capa .fi-capa { height: 108mm; }
  .fi-fotos img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .fi-minis { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); grid-template-rows: 27mm; gap: 2mm; }
  .fi-minis img { height: 27mm; min-height: 0; border-radius: 2mm; }
  .fi-selo { position: absolute; top: 4mm; left: 4mm; padding: 1.4mm 3mm; border-radius: 1.5mm; background: #fff; color: var(--fi-azul); font-size: 8.5pt; font-weight: 600; }
  .fi-selo-queda { background: var(--fi-verde-fundo); color: var(--fi-verde); }

  .fi-titulo { margin-bottom: 5mm; }
  .fi-olho { display: block; font-size: 8pt; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--fi-azul); margin-bottom: 1.5mm; }
  #ficha-impressa h1 { font-size: 18pt; line-height: 1.18; letter-spacing: -.015em; margin: 0 0 2mm; font-weight: 700; }
  .fi-end { display: flex; align-items: center; gap: 1.5mm; margin: 0; color: var(--fi-cinza); font-size: 10pt; }
  .fi-end .material-icons { font-size: 15px; }

  .fi-destaque { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 8mm; align-items: center; padding: 5mm 6mm; border-radius: 3mm; background: var(--fi-azul-fundo); margin-bottom: 5mm; break-inside: avoid; }
  .fi-destaque:not(:has(.fi-lado)) { grid-template-columns: 1fr; }
  .fi-rot { display: block; font-size: 8pt; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--fi-azul); }
  .fi-valor b { display: block; font-size: 25pt; line-height: 1.1; letter-spacing: -.02em; font-weight: 700; margin: 1mm 0 1mm; }
  .fi-valor b.fi-caiu { color: var(--fi-verde); }
  .fi-antes { display: flex; align-items: center; gap: 2.5mm; margin-bottom: 1mm; font-size: 9.5pt; color: var(--fi-cinza); }
  .fi-antes em { font-style: normal; font-size: 8pt; font-weight: 600; padding: .6mm 2mm; border-radius: 1.2mm; background: var(--fi-verde-fundo); color: var(--fi-verde); }
  .fi-valor small { display: block; font-size: 9pt; color: var(--fi-cinza); }
  .fi-valor b .fi-mes { display: inline; font-size: 13pt; font-weight: 600; letter-spacing: 0; margin-left: 1mm; color: var(--fi-cinza); }
  .fi-valor small b { display: inline; font-size: inherit; font-weight: 600; margin: 0; letter-spacing: 0; color: var(--fi-tinta); }
  .fi-lado { border-left: 1px solid #C9D3EA; padding-left: 8mm; }
  .fi-custo { display: flex; justify-content: space-between; gap: 4mm; padding: 1.6mm 0; border-bottom: 1px solid #D5DDF0; font-size: 9.5pt; }
  .fi-custo span { color: var(--fi-cinza); }
  .fi-total { border-bottom: 0; font-weight: 700; }
  .fi-total span { color: var(--fi-tinta); }
  .fi-aceita { list-style: none; margin: 2.5mm 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 1.5mm 4mm; font-size: 8.5pt; color: var(--fi-cinza); }
  .fi-aceita li { display: flex; align-items: center; gap: 1.2mm; }
  .fi-aceita .material-icons { font-size: 13px; }

  .fi-specs { display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 2.5mm; margin-bottom: 6mm; break-inside: avoid; }
  .fi-specs div { border: 1px solid var(--fi-linha); border-radius: 2.5mm; padding: 3mm 3.5mm; }
  .fi-specs .material-icons { font-size: 17px; display: block; margin-bottom: 1.5mm; }
  .fi-specs b { display: block; font-size: 15pt; line-height: 1.1; letter-spacing: -.01em; font-weight: 700; white-space: nowrap; }
  .fi-specs span { display: block; font-size: 8.5pt; color: var(--fi-cinza); }

  .fi-contato { display: grid; grid-template-columns: auto minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr); gap: 5mm; align-items: center; padding: 4mm 5mm; border: 1px solid var(--fi-linha); border-radius: 3mm; break-inside: avoid; }
  .fi-contato:not(:has(.fi-canal + .fi-canal)) { grid-template-columns: auto minmax(0, 1.5fr) minmax(0, 1fr); }
  .fi-foto { width: 15mm; height: 15mm; border-radius: 50%; object-fit: cover; object-position: center top; display: block; }
  .fi-foto.fi-marca { object-fit: contain; border-radius: 0; padding: 2mm; background: var(--fi-azul-fundo); border-radius: 50%; }
  .fi-contato span { display: block; font-size: 7.5pt; letter-spacing: .06em; text-transform: uppercase; color: var(--fi-claro); }
  .fi-contato b { display: block; font-size: 10.5pt; line-height: 1.3; }
  .fi-quem small { display: block; color: var(--fi-cinza); font-size: 8.5pt; line-height: 1.35; }
  .fi-canal { border-left: 1px solid var(--fi-linha); padding-left: 5mm; }
  .fi-canal b { color: var(--fi-azul); }

  #ficha-impressa h2 { font-size: 13pt; letter-spacing: -.01em; margin: 0 0 3.5mm; padding-bottom: 2mm; border-bottom: 1px solid var(--fi-linha); font-weight: 700; break-after: avoid; }
  .fi-desc { margin-bottom: 8mm; font-size: 9.5pt; line-height: 1.55; color: #2A2E37; }
  .fi-desc.fi-2col { column-count: 2; column-gap: 8mm; }
  .fi-desc p { margin: 0 0 1.8mm; }
  .fi-desc h3 { font-size: 10pt; font-weight: 700; color: var(--fi-tinta); margin: 3.5mm 0 1.5mm; break-after: avoid; }
  .fi-desc h3:first-child { margin-top: 0; }
  .fi-desc ul { margin: 0 0 2mm; padding-left: 4.5mm; }
  .fi-desc li { margin-bottom: .8mm; }
  .fi-feats { list-style: none; margin: 0 0 8mm; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.6mm 6mm; }
  .fi-feats li { display: flex; align-items: center; gap: 2mm; font-size: 9.5pt; break-inside: avoid; }
  .fi-feats .material-icons { font-size: 15px; flex: none; }
  .fi-aviso { margin: 4mm 0 0; font-size: 8pt; color: var(--fi-claro); }
}

@media (max-width: 1000px) {
  body:has(#cr-card:not([hidden])) .sidebar:not(:has(> :not(.side-card))) { display: none; }
  .prop-grid { padding-bottom: 0; }
}
@media (max-width: 560px) {
  .midia-barra { gap: 6px 0; }
  .crumb { margin-top: 14px; }
  .prop-head { padding-top: 8px; }
}


.av-veu {
  position: fixed; inset: 0; z-index: 320; display: flex; align-items: center; justify-content: center;
  background: rgba(10,12,20,.42); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; visibility: hidden; transition: opacity .22s ease, visibility 0s .22s;
  padding: 16px; bottom: auto; height: 100%; touch-action: none; overscroll-behavior: contain;
}
.av-veu.open { opacity: 1; visibility: visible; transition: opacity .22s ease; }
.av-folha {
  position: relative; width: min(440px, 100%); max-height: calc(100% - 0px); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
  touch-action: pan-y;
  background: var(--surface); color: var(--ink); border-radius: 18px; padding: 24px 22px 20px;
  box-shadow: 0 24px 60px rgba(10,12,20,.3); transform: translateY(12px); transition: transform .26s cubic-bezier(.22,1,.36,1);
  --av-op: var(--bg-2); --av-borda: #DCE1E7; --av-off: #E9EDF2; --av-off-ink: #6F7786;
}
html[data-theme="dark"] .av-folha {
  background: #151515; border: 1px solid rgba(255,255,255,.08);
  --av-op: rgba(255,255,255,.05); --av-borda: rgba(255,255,255,.16); --av-off: rgba(255,255,255,.08); --av-off-ink: rgba(255,255,255,.5);
}
.av-veu.open .av-folha { transform: none; }
.av-folha h2 { margin: 0; font-size: 21px; font-weight: 600; letter-spacing: -0.02em; }
.av-folha h2 + h3 { margin-top: 18px; }
.av-folha h3 { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: var(--ink-3); }
.av-x {
  position: absolute; top: 12px; right: 12px; width: 40px; height: 40px; border-radius: 50%; border: 0;
  background: none; color: var(--ink-3); display: grid; place-items: center; cursor: pointer;
}
@media (hover: hover) { .av-x:hover { background: var(--bg-2); } }
.av-dias { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0 -22px 18px; padding: 2px 22px; scroll-padding-inline: 22px; }
.av-dias::-webkit-scrollbar { display: none; }
.av-dias.mais-dir { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 56px), transparent); }
.av-dias.mais-esq { -webkit-mask-image: linear-gradient(to right, transparent, #000 56px); mask-image: linear-gradient(to right, transparent, #000 56px); }
.av-dias.mais-esq.mais-dir { -webkit-mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(to right, transparent, #000 56px, #000 calc(100% - 56px), transparent); }
.av-dias button, .av-periodos button {
  border: 1px solid var(--av-borda); background: var(--av-op); color: var(--ink); border-radius: 12px; cursor: pointer;
  font: inherit; display: flex; flex-direction: column; align-items: center; gap: 2px; transition: border-color .15s, background .15s;
}
.av-dias button { flex: none; min-width: 64px; padding: 9px 10px; }
.av-dias button small, .av-periodos button small { font-size: 11.5px; color: var(--ink-3); }
@media (hover: hover) { .av-dias button:hover, .av-periodos button:hover { border-color: var(--ink-4); } }
.av-dias button small { text-transform: capitalize; }
.av-dias button b { font-size: 15px; font-weight: 600; font-variant-numeric: tabular-nums; }
.av-periodos { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 18px; }
.av-periodos button { padding: 12px 10px; }
.av-periodos button b { font-size: 15px; font-weight: 600; }
.av-dias button[aria-checked="true"], .av-periodos button[aria-checked="true"] { border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.av-dias button[aria-checked="true"] small, .av-periodos button[aria-checked="true"] small { color: var(--accent); }
.av-falta button { animation: av-chama .6s ease; }
@keyframes av-chama { 30% { border-color: var(--accent-solid); } 60% { border-color: var(--line); } 80% { border-color: var(--accent-solid); } }
.av-enviar {
  display: flex; align-items: center; width: 100%; justify-content: center; gap: 9px; min-height: 50px;
  border-radius: 12px; font-size: 15px; font-weight: 600; text-decoration: none;
  background: var(--wpp); color: #fff; transition: background .15s, opacity .15s;
}
@media (hover: hover) { .av-enviar:not([aria-disabled="true"]):hover { background: var(--wpp-ink); } }
.av-enviar[aria-disabled="true"] { background: var(--av-off); color: var(--av-off-ink); cursor: default; }
.av-enviar svg { width: 20px; height: 20px; }
.av-nota { margin: 10px 0 0; font-size: 12.5px; color: var(--ink-4); text-align: center; }
@media (max-width: 560px) {
  .av-veu { align-items: flex-end; padding: 0; }
  .av-folha {
    width: 100%; border-radius: 20px 20px 0 0; max-height: 92%;
    padding: 22px 20px calc(18px + env(safe-area-inset-bottom)); transform: translateY(100%);
  }
}
@media (prefers-reduced-motion: reduce) { .av-veu, .av-folha { transition: none; } .av-falta button { animation: none; } }

.side-btns .side-agendar {
  display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
  padding: 12px; border-radius: var(--radius); border: 1px solid var(--line); background: var(--surface);
  color: var(--ink); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; transition: border-color .15s;
}
.side-btns .side-agendar .material-icons { font-size: 19px; color: var(--accent); }
@media (hover: hover) { .side-btns .side-agendar:hover { border-color: var(--ink-4); } }
.mobile-cta .mc-acoes { display: flex; align-items: stretch; gap: 8px; flex: none; }
.mobile-cta .mc-agendar {
  width: 46px; flex: none; display: grid; place-items: center; cursor: pointer;
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--accent);
}
.mobile-cta .mc-agendar .material-icons { font-size: 22px; }
html.av-aberta .mobile-cta, html.av-aberta .fav-aviso { visibility: hidden; }
.p-vistos { display: flex; align-items: center; justify-content: center; gap: 7px; margin: 14px 0 0; font-size: 13px; color: var(--ink-3); }
.p-vistos[hidden] { display: none; }
.p-vistos .material-icons { font-size: 17px; color: var(--accent); }
.p-vistos b { color: var(--ink); font-weight: 600; }

.mobile-cta .mc-clicavel { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.mobile-cta .mc-clicavel .mc-label { display: flex; align-items: center; gap: 1px; color: var(--ink-3); min-width: 0; }
.mobile-cta .mc-clicavel .mc-label span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-cta .mc-label .material-icons { flex: none; }
.mobile-cta .mc-label .material-icons { font-size: 16px; transform: rotate(180deg); color: var(--accent); }
.cx-info { z-index: 330; }
.cx-info .av-folha { width: min(400px, 100%); padding: 24px 22px 20px; }
.cx-info h2 { padding-right: 36px; }
.cx-texto { margin: 10px 0 20px; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.cx-ok {
  width: 100%; min-height: 48px; border: 0; border-radius: 12px; cursor: pointer;
  background: var(--accent-solid, var(--accent)); color: #fff; font: inherit; font-size: 15px; font-weight: 600;
}
.cx-custos .cx-linhas { margin: 16px 0 14px; }
.cx-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.cx-total span { font-size: 14px; font-weight: 500; color: var(--ink-3); }
.cx-total b { font-size: 24px; font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.cx-total b small { font-size: 14px; font-weight: 500; color: var(--ink-3); }
.cx-custos .av-nota { margin-top: 14px; text-align: left; }
@media (max-width: 560px) {
  .cx-info.av-veu { align-items: center; padding: 16px; }
  .cx-info .av-folha { border-radius: 18px; padding: 22px 20px 18px; transform: translateY(12px); max-height: 90%; }
  .cx-info.open .av-folha { transform: none; }
}
.cx-total[hidden], .cx-aceita[hidden], .cx-simular[hidden] { display: none; }
.cx-custos .cx-aceita { margin: 16px 0 0; }
.cx-simular {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; margin-top: 16px;
  border: 1px solid var(--line); border-radius: 12px; color: var(--ink); font-size: 15px; font-weight: 500; text-decoration: none;
}
.cx-simular .material-icons { font-size: 20px; color: var(--accent); }
@media (hover: hover) { .cx-simular:hover { border-color: var(--ink-4); } }
.cx-custos .cx-simular { justify-content: flex-start; min-height: 44px; margin-top: 10px; border: 0; color: var(--accent); }

.cx-acoes {
  position: sticky; bottom: 0; z-index: 1; display: flex; gap: 8px;
  margin: 18px -22px 0; padding: 12px 22px 20px;
  background: inherit; border-top: 1px solid var(--line);
}
.cx-acoes[hidden], .cx-acoes [hidden] { display: none; }
.cx-custos .av-folha:has(.cx-acoes:not([hidden])) { padding-bottom: 0; }
.cx-acoes > * {
  flex: 1 1 0; min-width: 0; min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 12px; font: inherit; font-size: 15px; font-weight: 600; text-decoration: none; cursor: pointer;
  white-space: nowrap; transition: background .15s, border-color .15s;
}
.cx-agendar { border: 1px solid var(--av-borda); background: transparent; color: var(--ink); }
.cx-agendar .material-icons { font-size: 20px; color: var(--accent); }
.cx-wpp { border: 0; background: var(--wpp); color: #fff; }
.cx-wpp svg { width: 20px; height: 20px; flex: none; }
@media (hover: hover) {
  .cx-agendar:hover { border-color: var(--ink-4); }
  .cx-wpp:hover { background: var(--wpp-ink); }
}
@media (max-width: 560px) {
  .cx-acoes { margin: 18px -20px 0; padding: 12px 20px calc(18px + env(safe-area-inset-bottom)); }
}
@media (max-width: 370px) { .cx-acoes > * { font-size: 14px; gap: 6px; } }
.cx-linhas.cx-venda { border-bottom: 0; padding-bottom: 0; margin-bottom: 0; }
.cx-venda .side-price { margin-bottom: 4px; }
.cx-venda .cx-quick { margin-top: 18px; }
.side-quick:has(.bd-info) { align-items: center; padding: 8px 0; }
.side-quick:has(.bd-info):first-of-type { padding-top: 0; }
.side-quick > span { display: inline-flex; align-items: center; gap: 2px; }

.ef-janela { border: 0; border-radius: var(--radius-lg); padding: 26px 24px 20px; width: min(400px, calc(100% - 32px)); background: var(--surface); color: var(--ink); box-shadow: var(--shadow-2); }
.ef-janela::backdrop { background: rgba(10,12,20,.42); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ef-janela h2 { margin: 0 32px 6px 0; font-size: 20px; font-weight: 600; letter-spacing: -0.01em; }
.ef-estado { margin: 0 0 16px; font-size: 14.5px; line-height: 1.45; color: var(--ink-2); font-variant-numeric: tabular-nums; }
.ef-enviar { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; min-height: 48px; padding: 11px 14px; border: 0; border-radius: var(--radius); background: var(--wpp); color: #fff; font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; }
.ef-enviar .ico-wpp, .ef-enviar svg { width: 19px; height: 19px; }
.ef-enviar:disabled { opacity: .5; cursor: default; }
@media (hover: hover) { .ef-enviar:not(:disabled):hover { background: var(--wpp-ink); } }
.ef-baixar { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; margin-top: 8px; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); font: inherit; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.ef-baixar .material-icons { font-size: 19px; }
.ef-baixar:disabled { opacity: .45; cursor: default; }
@media (hover: hover) { .ef-baixar:not(:disabled):hover { border-color: var(--accent); color: var(--accent); } }
.ef-nota[hidden] { display: none; }
.ef-nota { margin: 14px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--ink-4); }
.ef-fechar { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; color: var(--ink-3); }

.via-satelite #p-agent-box,
.via-satelite .side-btns,
.via-satelite .mc-acoes,
.via-satelite .passos-imovel,
.via-satelite #cr-card,
.via-satelite .p-super-corr { display: none !important; }
