/* Aba Satélite das páginas de imóvel (website/js/satelite_panel.js). */
.rr-sat { --sat-ink: #17232a; --sat-muted: #5b6770; --sat-line: #e3e7e4; --sat-soft: #f4f6f3; --sat-acc: #1f6b47; }
.rr-sat__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 8px; }
.rr-sat__title { font-size: 1.15rem; font-weight: 700; color: var(--sat-ink); margin: 0 0 4px; }
.rr-sat__title svg { color: var(--sat-acc); margin-right: 4px; vertical-align: -3px; }
.rr-sat__sub { color: var(--sat-muted); font-size: .9rem; margin: 0; max-width: 640px; }
.rr-sat__toggle { display: inline-flex; border: 1px solid var(--sat-line); border-radius: 999px; padding: 3px; background: #fff; }
.rr-sat__toggle button { border: 0; background: transparent; border-radius: 999px; padding: 5px 14px; font-size: .85rem; color: var(--sat-muted); }
.rr-sat__toggle button.is-active { background: var(--sat-acc); color: #fff; }
.rr-sat__bloco { margin-top: 20px; }
.rr-sat__bloco h4 { font-size: .98rem; font-weight: 700; color: var(--sat-ink); margin: 0 0 10px; display: flex; align-items: center; gap: 8px; }
.rr-sat__tag { font-size: .7rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--sat-muted); background: var(--sat-soft); border-radius: 999px; padding: 2px 9px; }
.rr-sat__tag--free { background: #e6f4ec; color: var(--sat-acc); }
.rr-sat__grade { display: grid; gap: 12px; }
.rr-sat__grade--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rr-sat__grade--6 { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
@media (max-width: 720px) { .rr-sat__grade--3 { grid-template-columns: 1fr; } }
.rr-sat__card { margin: 0; }
.rr-sat__card img { width: 100%; aspect-ratio: 4 / 3; object-fit: contain; border-radius: 10px; display: block; background: var(--sat-soft); transition: transform .15s; }
.rr-sat__card a:hover img { transform: scale(1.015); }
.rr-sat__card figcaption { font-size: .78rem; color: var(--sat-muted); margin-top: 5px; line-height: 1.35; }
.rr-sat__card figcaption b { color: var(--sat-ink); text-transform: capitalize; }
.rr-sat__card--p figcaption { font-size: .72rem; }
.rr-sat__skeleton { aspect-ratio: 4 / 3; border-radius: 10px; background: linear-gradient(90deg, #eef1ed 25%, #f7f8f6 50%, #eef1ed 75%); background-size: 200% 100%; animation: rr-sat-shimmer 1.3s infinite; }
@keyframes rr-sat-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
/* Galeria bloqueada: oferta estática + linha do tempo dos 24 meses (nada carrega antes do desbloqueio) */
.rr-sat__oferta { display: grid; grid-template-columns: minmax(260px, 1fr) 1.25fr; gap: 22px; align-items: center; border: 1px solid var(--sat-line); border-radius: 14px; padding: 20px 22px; background: linear-gradient(135deg, #fff 0%, #f3f8f4 100%); }
.rr-sat__oferta-icone { width: 38px; height: 38px; border-radius: 10px; background: #e6f4ec; color: var(--sat-acc); display: grid; place-items: center; margin-bottom: 10px; }
.rr-sat__oferta-titulo { font-weight: 700; color: var(--sat-ink); margin: 0; font-size: 1.02rem; }
.rr-sat__oferta-texto { color: var(--sat-muted); margin: 4px 0 10px; font-size: .86rem; line-height: 1.45; }
.rr-sat__oferta-lista { list-style: none; padding: 0; margin: 0 0 14px; display: grid; gap: 5px; }
.rr-sat__oferta-lista li { display: flex; align-items: center; gap: 7px; font-size: .84rem; color: var(--sat-ink); }
.rr-sat__oferta-lista svg { color: var(--sat-acc); flex: 0 0 auto; }
.rr-sat__linha { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.rr-sat__linha li { aspect-ratio: 4 / 3; border-radius: 8px; border: 1px dashed #cfd8d2; background: rgba(255, 255, 255, .7); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; }
.rr-sat__linha span { font-size: .74rem; font-weight: 600; color: var(--sat-ink); text-transform: capitalize; }
.rr-sat__linha small { font-size: .66rem; color: var(--sat-muted); }
@media (max-width: 900px) { .rr-sat__oferta { grid-template-columns: 1fr; } .rr-sat__linha { grid-template-columns: repeat(6, 1fr); } }
.rr-sat__duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 16px; align-items: start; }
.rr-sat__produto { border: 1px solid var(--sat-line); border-radius: 12px; padding: 16px; background: #fff; }
.rr-sat__texto { font-size: .86rem; color: var(--sat-muted); margin: 0 0 12px; }
.rr-sat__form { display: flex; flex-direction: column; gap: 14px; }
.rr-sat__campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rr-sat__campo-rotulo { font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--sat-muted); }
.rr-sat__campos-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
/* Opções em botões: rádio escondido + caixa clicável */
.rr-sat__seg { display: flex; gap: 0; border: 1px solid var(--sat-line); border-radius: 10px; padding: 3px; background: var(--sat-soft); }
.rr-sat__op { flex: 1 1 0; margin: 0; cursor: pointer; min-width: 0; }
.rr-sat__op input { position: absolute; opacity: 0; pointer-events: none; }
.rr-sat__op-caixa { display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%; padding: 7px 8px; white-space: nowrap; border-radius: 8px; color: var(--sat-muted); font-size: .84rem; transition: background .12s, color .12s, box-shadow .12s; }
.rr-sat__op-texto { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.rr-sat__op-texto b { font-weight: 600; }
.rr-sat__op-texto small { font-size: .72rem; color: var(--sat-muted); font-weight: 400; }
.rr-sat__op:hover .rr-sat__op-caixa { color: var(--sat-ink); }
.rr-sat__op input:checked + .rr-sat__op-caixa { background: #fff; color: var(--sat-ink); box-shadow: 0 1px 3px rgba(15, 28, 34, .12); }
.rr-sat__op input:checked + .rr-sat__op-caixa b { color: var(--sat-acc); }
.rr-sat__op input:focus-visible + .rr-sat__op-caixa { outline: 2px solid var(--sat-acc); outline-offset: 1px; }
.rr-sat__seg--2 .rr-sat__op-caixa { flex-direction: column; gap: 0; padding: 8px 10px; }
.rr-sat__seg--2 .rr-sat__op-texto { align-items: center; }
/* Cartões (visualização e formato) */
.rr-sat__seg--cartoes, .rr-sat__seg--formato { display: grid; gap: 8px; border: 0; padding: 0; background: none; }
.rr-sat__seg--cartoes { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.rr-sat__seg--formato { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.rr-sat__seg--cartoes .rr-sat__op-caixa, .rr-sat__seg--formato .rr-sat__op-caixa { white-space: normal; }
.rr-sat__seg--cartoes .rr-sat__op-caixa, .rr-sat__seg--formato .rr-sat__op-caixa { justify-content: flex-start; border: 1px solid var(--sat-line); background: #fff; padding: 9px 11px; }
.rr-sat__seg--cartoes .rr-sat__op input:checked + .rr-sat__op-caixa,
.rr-sat__seg--formato .rr-sat__op input:checked + .rr-sat__op-caixa { border-color: var(--sat-acc); box-shadow: 0 0 0 1px var(--sat-acc); background: #f3f9f5; }
.rr-sat__seg--formato svg { flex: 0 0 auto; color: var(--sat-acc); }
.rr-sat__amostra { flex: 0 0 22px; height: 22px; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .08); }
.rr-sat__rodape { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid var(--sat-line); padding-top: 12px; }
.rr-sat__estimativa { margin: 0; font-size: .8rem; color: var(--sat-muted); flex: 1 1 200px; }
.rr-sat__estimativa b { color: var(--sat-ink); }
.rr-sat__video { width: 100%; border-radius: 10px; background: #0f1c22; margin-bottom: 6px; }
.rr-sat__meta, .rr-sat__pronto { font-size: .82rem; color: var(--sat-muted); margin: 0 0 12px; }
.rr-sat__pronto { background: #e6f4ec; color: var(--sat-ink); border-radius: 8px; padding: 8px 10px; }
.rr-sat__pronto svg { color: #b71c1c; vertical-align: -2px; }
.rr-sat button svg { vertical-align: -2px; margin-right: 2px; }
.rr-sat__progresso { display: flex; align-items: center; gap: 10px; font-size: .82rem; color: var(--sat-muted); margin-bottom: 10px; }
.rr-sat__barra { flex: 0 0 160px; height: 6px; border-radius: 999px; background: var(--sat-soft); overflow: hidden; }
.rr-sat__barra span { display: block; height: 100%; background: var(--sat-acc); transition: width .4s; }
.rr-sat__vazio, .rr-sat__erro, .rr-sat__loading { font-size: .88rem; color: var(--sat-muted); background: var(--sat-soft); border-radius: 10px; padding: 12px 14px; margin: 0; }
.rr-sat__erro svg { color: #e65100; vertical-align: -3px; }
.rr-sat__link { border: 0; background: none; color: var(--sat-acc); text-decoration: underline; padding: 0; }
.rr-sat__spinner { display: inline-block; width: 14px; height: 14px; border: 2px solid var(--sat-line); border-top-color: var(--sat-acc); border-radius: 50%; animation: rr-sat-spin .8s linear infinite; vertical-align: -2px; margin-right: 6px; }
@keyframes rr-sat-spin { to { transform: rotate(360deg); } }
.rr-sat__fonte { font-size: .72rem; color: var(--sat-muted); margin: 16px 0 0; }
.rr-sat__zoom { position: fixed; inset: 0; background: rgba(10, 16, 20, .88); z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; cursor: zoom-out; }
.rr-sat__zoom figure { margin: 0; max-width: min(1100px, 100%); }
.rr-sat__zoom img { max-width: 100%; max-height: 82vh; border-radius: 10px; display: block; margin: 0 auto; }
.rr-sat__zoom figcaption { color: #e8ecea; text-align: center; margin-top: 10px; font-size: .9rem; }
.rr-sat__zoom button { position: absolute; top: 14px; right: 20px; border: 0; background: none; color: #fff; font-size: 34px; line-height: 1; }
.rr-sat__login { margin-top: 12px; }
/* Cartão de bloqueio e botões próprios: o componente não depende do CSS da página (CAR, SIGEF, INCRA). */
.rr-sat__cartao { display: flex; align-items: center; gap: 14px; border: 1px solid var(--sat-line); border-radius: 12px; padding: 14px 16px; background: repeating-linear-gradient(-45deg, #fff 0, #fff 9px, #f7f8f6 9px, #f7f8f6 18px); }
.rr-sat__cartao-icone { flex: 0 0 34px; height: 34px; border-radius: 50%; border: 1px solid var(--sat-line); background: #fff; display: grid; place-items: center; color: var(--sat-muted); }
.rr-sat__cartao-corpo { flex: 1; min-width: 0; }
.rr-sat__cartao-titulo { font-weight: 600; color: var(--sat-ink); margin: 0; font-size: .95rem; }
.rr-sat__cartao-texto { color: var(--sat-muted); margin: 3px 0 0; font-size: .84rem; line-height: 1.4; }
.rr-sat__btn { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; padding: 6px 13px; border-radius: 999px; border: 1px solid var(--sat-acc); background: #fff; color: var(--sat-acc); font-size: .85rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.rr-sat__btn:hover { background: #eef6f1; color: var(--sat-acc); text-decoration: none; }
.rr-sat__btn--cheio { background: var(--sat-acc); color: #fff; border-radius: 8px; }
.rr-sat__btn--cheio:hover { background: #185a3b; color: #fff; }
.rr-sat__btn[disabled] { opacity: .55; cursor: not-allowed; }
@media (max-width: 720px) { .rr-sat__cartao { flex-wrap: wrap; } }
/* Visualizador da galeria (setas, miniaturas, troca cor natural/NDVI). */
.rr-sat__abrir { margin: 0 0 10px; }
.rr-sat__visor { position: fixed; inset: 0; z-index: 2000; background: rgba(8, 13, 16, .94); display: flex; flex-direction: column; color: #eef2ee; }
.rr-sat__visor-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px; font-size: .9rem; }
.rr-sat__visor-x { border: 0; background: none; color: #fff; font-size: 34px; line-height: 1; padding: 0 6px; }
.rr-sat__toggle--escuro { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .18); }
.rr-sat__toggle--escuro button { color: #cfd8d6; }
.rr-sat__visor-palco { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 0 12px; }
.rr-sat__visor-palco figure { margin: 0; flex: 1; min-width: 0; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.rr-sat__visor-palco img { max-width: 100%; max-height: calc(100vh - 210px); border-radius: 10px; display: block; background: #1a262c; }
.rr-sat__visor-palco figcaption { margin-top: 10px; font-size: .92rem; color: #dde5e3; text-align: center; }
.rr-sat__visor-seta { flex: 0 0 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .25); background: rgba(255, 255, 255, .08); color: #fff; font-size: 30px; line-height: 1; }
.rr-sat__visor-seta:hover { background: rgba(255, 255, 255, .18); }
.rr-sat__visor-tiras { display: flex; gap: 6px; overflow-x: auto; padding: 10px 18px 16px; justify-content: safe center; }
.rr-sat__visor-tiras button { flex: 0 0 auto; border: 2px solid transparent; border-radius: 6px; padding: 0; background: none; opacity: .55; }
.rr-sat__visor-tiras button.is-active { border-color: #6cc79a; opacity: 1; }
.rr-sat__visor-tiras img { width: 76px; height: 57px; object-fit: contain; border-radius: 4px; display: block; background: #1a262c; }
@media (max-width: 720px) { .rr-sat__visor-seta { flex-basis: 40px; height: 40px; font-size: 24px; } .rr-sat__visor-tiras img { width: 60px; height: 45px; } }
/* Galeria liberada só nos últimos 12 meses: oferta de mais 12 meses abaixo das imagens */
.rr-sat__mais { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding: 12px 16px; border: 1px dashed var(--sat-line); border-radius: 12px; background: #f6faf7; font-size: 14px; }
.rr-sat__mais b { color: #1f4035; }
.rr-sat__mais span { color: #5b6b63; }
@media (max-width: 600px) { .rr-sat__mais { flex-direction: column; align-items: flex-start; } }
