/* =========================================================
   REBRAC · tema
   Paleta provisória (docs da diretoria, 21/10/2026): ajustar ao logo final.
   ========================================================= */

@font-face { font-family: 'Lora'; src: url('../fonts/lora-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lora'; src: url('../fonts/lora-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: 'Lora'; src: url('../fonts/lora-latin-600-italic.woff2') format('woff2'); font-weight: 600; font-style: italic; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/source-sans-3-latin-400-normal.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/source-sans-3-latin-400-italic.woff2') format('woff2'); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/source-sans-3-latin-600-normal.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: 'Source Sans 3'; src: url('../fonts/source-sans-3-latin-700-normal.woff2') format('woff2'); font-weight: 700; font-style: normal; font-display: swap; }

:root {
    /* principais */
    --carmim: #981F3D;
    --vinho: #74172F;
    --chumbo: #45464C;
    /* secundárias */
    --rose: #C68B94;
    --rosa-nevoa: #F1E3E5;
    --areia: #E8D9C9;
    --areia-clara: #F3EBE2;
    --salvia: #B7C5BC;
    --salvia-clara: #E4EBE6;
    --azul: #B9CAD2;
    --azul-claro: #E3EBEF;
    --cinza-nevoa: #E9E7E7;
    /* neutras */
    --offwhite: #F7F5F2;
    --branco: #FFFFFF;
    --cinza-texto: #65676B;

    --titulo: 'Lora', Georgia, 'Times New Roman', serif;
    --corpo: 'Source Sans 3', 'Segoe UI', system-ui, -apple-system, sans-serif;
    --raio: 14px;
    --sombra: 0 10px 30px rgba(69, 70, 76, .08);
    --largura: 1180px;
    --texto-largura: 760px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    margin: 0;
    font-family: var(--corpo);
    font-size: 1.0625rem;
    line-height: 1.65;
    color: var(--chumbo);
    background: var(--offwhite);
    -webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; height: auto; }
a { color: var(--carmim); text-underline-offset: 3px; }
a:hover { color: var(--vinho); }
:focus-visible { outline: 3px solid var(--carmim); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3, h4 { font-family: var(--titulo); font-weight: 600; color: var(--vinho); line-height: 1.22; margin: 0 0 .6em; }
h3 { color: var(--chumbo); }
p { margin: 0 0 1em; }

.container { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 24px; }
.container-texto { max-width: var(--texto-largura); }
@media (max-width: 640px) { .container { padding: 0 16px; } }

.pular { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--vinho); color: #fff; padding: 10px 16px; border-radius: 8px; }
.pular:focus { left: 8px; color: #fff; }

/* ---------- Botões e links ---------- */
.botao, .rb-botao {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--corpo); font-weight: 600; font-size: 1rem; line-height: 1.2;
    padding: 13px 24px; border-radius: 999px; border: 2px solid var(--carmim);
    background: var(--carmim); color: #fff; text-decoration: none; cursor: pointer;
    transition: background .2s, border-color .2s, color .2s, transform .2s;
}
.botao:hover, .rb-botao:hover { background: var(--vinho); border-color: var(--vinho); color: #fff; }
.botao:active, .rb-botao:active { transform: scale(.98); }
.botao-contorno { background: transparent; color: var(--carmim); }
.botao-contorno:hover { background: var(--carmim); color: #fff; }
.botao-claro { background: #fff; border-color: #fff; color: var(--vinho); }
.botao-claro:hover { background: var(--rosa-nevoa); border-color: var(--rosa-nevoa); color: var(--vinho); }
.rb-botao[disabled] { opacity: .65; cursor: wait; }
.rb-botao-off { background: var(--cinza-nevoa); border-color: var(--cinza-nevoa); color: var(--cinza-texto); cursor: default; }
.rb-botao-off:hover { background: var(--cinza-nevoa); border-color: var(--cinza-nevoa); color: var(--cinza-texto); }
.botoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.link-seta { font-weight: 600; text-decoration: none; color: var(--carmim); display: inline-flex; align-items: center; gap: 6px; }
.link-seta::after { content: '→'; transition: transform .2s; }
.link-seta:hover::after { transform: translateX(4px); }
.link-voltar::after { content: none; }
.link-voltar::before { content: '←'; }

.sobretitulo { font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--carmim); margin-bottom: 10px; }
.sobretitulo a { color: inherit; text-decoration: none; }
.sobretitulo a:hover { text-decoration: underline; }
.centro { text-align: center; }
.titulo-secao { font-size: clamp(1.6rem, 3vw, 2.2rem); }

/* ---------- Topo ---------- */
.topo { background: var(--branco); position: relative; z-index: 20; box-shadow: 0 1px 0 var(--cinza-nevoa); }
.topo-marca { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 18px; padding-bottom: 18px; }
.marca-texto { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.marca-sigla { font-family: var(--titulo); font-weight: 700; font-size: 1.9rem; letter-spacing: .04em; color: var(--carmim); line-height: 1; }
.marca-nome { font-size: .95rem; line-height: 1.25; color: var(--chumbo); max-width: 15em; border-left: 1px solid var(--rose); padding-left: 14px; }
.custom-logo-link { display: block; line-height: 0; }
.custom-logo-link img { height: 104px; width: auto; display: block; margin: -10px 0; }

.topo-menu { background: var(--vinho); }
.topo-menu .container { display: flex; align-items: center; justify-content: center; }
.topo-menu .menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; }
.topo-menu .menu > li { position: relative; display: flex; align-items: center; }
.topo-menu .menu a { display: block; color: #fff; text-decoration: none; padding: 15px 14px; font-weight: 600; font-size: .95rem; letter-spacing: .01em; }
.topo-menu .menu > li > a { box-shadow: inset 0 -3px 0 transparent; transition: box-shadow .2s, background .2s; }
.topo-menu .menu > li > a:hover,
.topo-menu .menu > .current-menu-item > a,
.topo-menu .menu > .current-menu-ancestor > a,
.topo-menu .menu > .current-page-ancestor > a { box-shadow: inset 0 -3px 0 var(--rose); background: rgba(255,255,255,.06); }
.submenu-abrir { background: none; border: 0; color: #fff; width: 28px; height: 28px; margin-left: -10px; margin-right: 4px; cursor: pointer; border-radius: 6px; }
.submenu-abrir::before { content: ''; display: block; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); margin: -3px auto 0; transition: transform .2s; }
.sub-aberto > .submenu-abrir::before { transform: rotate(-135deg); margin-top: 3px; }
.topo-menu .sub-menu {
    list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: 0; min-width: 250px;
    background: var(--branco); border-radius: 0 0 12px 12px; box-shadow: var(--sombra);
    opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s;
}
.topo-menu .sub-menu a { color: var(--chumbo); font-weight: 400; padding: 9px 20px; }
.topo-menu .sub-menu a:hover, .topo-menu .sub-menu .current-menu-item > a { background: var(--rosa-nevoa); color: var(--vinho); }
@media (hover: hover) and (min-width: 1081px) {
    .topo-menu .menu > li:hover > .sub-menu { opacity: 1; visibility: visible; transform: none; }
}
.topo-menu .sub-aberto > .sub-menu, .topo-menu .menu > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.botao-membro-menu, .menu-abrir { display: none; }

@media (max-width: 1080px) {
    .topo-marca { padding-top: 12px; padding-bottom: 12px; }
    .topo-marca .botao-membro { display: none; }
    .menu-abrir {
        display: inline-flex; align-items: center; gap: 10px; background: none; border: 1px solid var(--cinza-nevoa);
        border-radius: 999px; padding: 9px 16px; font: 600 .95rem var(--corpo); color: var(--chumbo); cursor: pointer;
    }
    .menu-icone, .menu-icone::before, .menu-icone::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; position: relative; transition: transform .25s, background .25s; }
    .menu-icone::before, .menu-icone::after { content: ''; position: absolute; left: 0; }
    .menu-icone::before { top: -6px; } .menu-icone::after { top: 6px; }
    .menu-abrir[aria-expanded="true"] .menu-icone { background: transparent; }
    .menu-abrir[aria-expanded="true"] .menu-icone::before { transform: translateY(6px) rotate(45deg); }
    .menu-abrir[aria-expanded="true"] .menu-icone::after { transform: translateY(-6px) rotate(-45deg); }

    .topo-menu { display: none; max-height: calc(100vh - 70px); overflow-y: auto; }
    .topo-menu.aberto { display: block; }
    .topo-menu .container { flex-direction: column; align-items: stretch; padding-top: 8px; padding-bottom: 20px; }
    .topo-menu .menu { flex-direction: column; }
    .topo-menu .menu > li { flex-wrap: wrap; border-bottom: 1px solid rgba(255,255,255,.12); }
    .topo-menu .menu > li > a { flex: 1; padding: 14px 4px; }
    .submenu-abrir { width: 44px; height: 44px; margin: 0; }
    .topo-menu .sub-menu { position: static; width: 100%; box-shadow: none; background: rgba(255,255,255,.06); border-radius: 8px; display: none; opacity: 1; visibility: visible; transform: none; margin-bottom: 10px; }
    .topo-menu .sub-aberto > .sub-menu { display: block; }
    .topo-menu .sub-menu a { color: #fff; }
    .topo-menu .sub-menu a:hover { background: rgba(255,255,255,.1); color: #fff; }
    .botao-membro-menu { display: inline-flex; margin-top: 18px; background: #fff; border-color: #fff; color: var(--vinho); }
    .marca-nome { font-size: .85rem; }
    .custom-logo-link img { height: 84px; margin: -8px 0; }
}
@media (max-width: 480px) {
    .marca-sigla { font-size: 1.5rem; }
    .marca-nome { font-size: .78rem; max-width: 11em; padding-left: 10px; }
    .menu-rotulo { display: none; }
    .menu-abrir { padding: 12px; }
    .custom-logo-link img { height: 64px; margin: -5px 0; }
}

/* ---------- Seções ---------- */
.secao { padding: clamp(56px, 8vw, 96px) 0; }
.secao-branca { background: var(--branco); }
.secao-areia { background: var(--areia-clara); }
.cabeca-secao { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 32px; flex-wrap: wrap; }
.cabeca-secao .titulo-secao { margin: 0; }

/* Banner */
.hero { background: linear-gradient(180deg, var(--branco) 0%, var(--offwhite) 100%); padding: clamp(48px, 7vw, 96px) 0; overflow: hidden; }
.hero-grade { display: grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items: center; }
.hero h1 { font-size: clamp(2rem, 4.2vw, 3.2rem); color: var(--vinho); margin-bottom: 20px; }
.hero-sub { font-size: clamp(1.05rem, 1.6vw, 1.25rem); color: var(--chumbo); max-width: 36em; }
.hero-arte { position: relative; }
.hero-arte img { border-radius: 24px; box-shadow: var(--sombra); }
.mapa-arte { width: 100%; display: block; }
.mapa-arte path { fill: var(--rosa-nevoa); stroke: var(--rose); stroke-width: .9; transition: fill .4s; }
.hero .mapa-arte path:nth-child(5n+1) { fill: #EBD3D7; }
.hero .mapa-arte path:nth-child(7n+3) { fill: var(--areia-clara); }
@media (max-width: 860px) {
    .hero-grade { grid-template-columns: 1fr; }
    .hero-arte { max-width: 340px; margin: 0 auto; order: -1; }
    .hero:not(.hero-com-imagem) .hero-arte { max-width: 220px; }
}

/* Banners do painel (carrossel) */
.banners { position: relative; background: var(--vinho); }
.banners-trilho { display: grid; }
.banner { grid-area: 1 / 1; position: relative; display: flex; flex-direction: column; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility 0s linear .7s; }
.banner.ativo { opacity: 1; visibility: visible; transition: opacity .7s ease; z-index: 1; }
.banner picture, .banner-link { display: block; }
.banner-img { display: block; width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: cover; }
.banner-texto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(58, 12, 25, .78) 0%, rgba(58, 12, 25, .45) 45%, rgba(58, 12, 25, 0) 75%); pointer-events: none; }
.banner-conteudo { position: absolute; inset: 0; display: flex; align-items: center; z-index: 1; }
.banner-caixa { max-width: 34em; color: #fff; }
.banner-caixa h2 { color: #fff; font-size: clamp(1.7rem, 3.6vw, 3rem); line-height: 1.15; margin-bottom: 14px; text-wrap: balance; }
.banner-caixa p { font-size: clamp(1.02rem, 1.5vw, 1.25rem); margin-bottom: 22px; }
.banners-controles { position: absolute; left: 0; right: 0; bottom: 14px; z-index: 2; pointer-events: none; }
.banners-controles .container { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.banners-controles button { pointer-events: auto; border: 0; cursor: pointer; }
.banners-seta, .banners-pausa { width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--vinho); font-size: 1.4rem; line-height: 1; display: grid; place-items: center; }
.banners-pausa { font-size: .7rem; letter-spacing: -1px; }
.banners-seta:hover, .banners-pausa:hover { background: #fff; }
.banners-pontos { display: flex; gap: 8px; padding: 0 4px; }
.banners-pontos button { width: 11px; height: 11px; padding: 0; border-radius: 50%; background: rgba(255, 255, 255, .55); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.banners-pontos button[aria-current="true"] { background: #fff; width: 26px; border-radius: 999px; }
.banners-controles button:focus-visible { outline: 3px solid var(--rose); outline-offset: 2px; }
@media (max-width: 700px) {
    .banner-texto .banner-img, .banner-com-celular .banner-img { aspect-ratio: 4 / 5; max-height: 78vh; }
    .banner-texto::after { background: linear-gradient(0deg, rgba(58, 12, 25, .85) 0%, rgba(58, 12, 25, .5) 45%, rgba(58, 12, 25, 0) 75%); }
    .banner-conteudo { align-items: flex-end; padding-bottom: 64px; }
    .banners-controles .container { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .banner, .banner.ativo { transition: none; } }

/* Apresentação */
.apresentacao { font-size: 1.15rem; }
.apresentacao > .sobretitulo + p { font-family: var(--titulo); font-size: clamp(1.3rem, 2.2vw, 1.6rem); line-height: 1.45; color: var(--vinho); }

/* Públicos */
.publicos { display: grid; grid-template-columns: repeat(2, 1fr); max-width: 880px; margin-left: auto; margin-right: auto; gap: 20px; margin-top: 40px; }
.publico {
    display: flex; flex-direction: column; padding: 32px 28px; border-radius: var(--raio); text-decoration: none; color: var(--chumbo);
    border: 1px solid transparent; transition: transform .25s, box-shadow .25s;
}
.publico:hover { transform: translateY(-4px); box-shadow: var(--sombra); color: var(--chumbo); }
.publico h3 { font-size: 1.4rem; color: var(--vinho); }
.publico p { flex: 1; }
.publico-icone { display: grid; place-items: center; width: 96px; height: 96px; border-radius: 50%; background: rgba(255,255,255,.75); color: var(--carmim); margin-bottom: 18px; }
.publico-icone svg { width: 76px; height: 76px; }
.publico-profissionais .publico-icone { color: #4E6B5B; }
.publico-selo { align-self: flex-start; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.7); margin-bottom: 18px; }
.publico-pacientes { background: var(--rosa-nevoa); }
.publico-profissionais { background: var(--salvia-clara); border-color: var(--salvia); }
.publico-gestores { background: var(--azul-claro); border-color: var(--azul); }
@media (max-width: 860px) { .publicos { grid-template-columns: 1fr; } }

/* Destaque do mapa */
.destaque-mapa { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.destaque-mapa p { font-size: 1.15rem; max-width: 30em; }
.destaque-mapa-arte { display: block; max-width: 420px; justify-self: center; }
.destaque-mapa-arte .mapa-arte path { fill: #fff; stroke: var(--rose); }
.destaque-mapa-arte:hover .mapa-arte path:nth-child(3n) { fill: var(--rosa-nevoa); }
@media (max-width: 860px) { .destaque-mapa { grid-template-columns: 1fr; } .destaque-mapa-arte { max-width: 280px; } }

/* Faixa Seja membro (única área com vermelho forte) */
.faixa-membro { background: var(--vinho); color: #fff; padding: clamp(44px, 6vw, 64px) 0; }
.faixa-membro-grade { display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.faixa-membro h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2rem); }
.faixa-membro p { max-width: 42em; margin: 0; color: #F4E6E9; }

/* Cards de notícias */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.card { background: var(--branco); border-radius: var(--raio); overflow: hidden; border: 1px solid var(--cinza-nevoa); display: flex; flex-direction: column; transition: box-shadow .25s, transform .25s; }
.card:hover { box-shadow: var(--sombra); transform: translateY(-3px); }
.card-imagem { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--areia-clara); }
.card-imagem img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; display: block; }
.card-sem-imagem { display: grid; place-items: center; height: 100%; font-family: var(--titulo); font-weight: 700; letter-spacing: .1em; color: var(--rose); font-size: 1.4rem; }
.card-corpo { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }
.card-corpo > p:not(.card-meta) { flex: 1; }
.card-leia { align-self: flex-start; margin-top: 4px; font-weight: 600; }
.card-meta { font-size: .85rem; color: var(--cinza-texto); margin-bottom: 8px; }
.card h3 { font-size: 1.2rem; }
.card h3 a { color: var(--chumbo); text-decoration: none; }
.card h3 a:hover { color: var(--carmim); }
@media (max-width: 960px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cards { grid-template-columns: 1fr; } }

/* ---------- Páginas internas ---------- */
.cabecalho { background: var(--areia-clara); padding: clamp(40px, 6vw, 64px) 0; border-bottom: 1px solid var(--areia); }
.cabecalho h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); margin: 0; }
.cabecalho-sub { margin: 10px 0 0; color: var(--cinza-texto); }
.cabecalho-pacientes { background: var(--rosa-nevoa); border-color: #E8CFD3; }
.cabecalho-profissionais { background: var(--salvia-clara); border-color: var(--salvia); }
.cabecalho-gestores { background: var(--azul-claro); border-color: var(--azul); }

.pagina { padding-top: clamp(40px, 6vw, 64px); padding-bottom: clamp(56px, 8vw, 96px); }
.pagina .texto { max-width: var(--texto-largura); }
.pagina-larga .texto { max-width: none; }
.texto h2 { font-size: 1.6rem; margin-top: 1.6em; }
.texto h3 { font-size: 1.25rem; margin-top: 1.4em; }
.texto ul, .texto ol { padding-left: 1.3em; }
.texto li { margin-bottom: .4em; }
.texto blockquote { margin: 1.5em 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--rose); font-family: var(--titulo); font-size: 1.2rem; color: var(--vinho); }
.texto .aviso-validacao, .aviso-validacao {
    background: #FFF8E6; border: 1px solid #F1D79A; color: #6B4E0E; border-radius: 10px; padding: 12px 16px; font-size: .95rem;
}
.destaque-post { margin: 0 0 32px; max-width: var(--texto-largura); }
.destaque-post img { border-radius: var(--raio); display: block; width: auto; max-width: 100%; height: auto; max-height: 460px; }
@media (max-width: 560px) { .destaque-post img { max-height: 360px; } }
.voltar { margin-top: 48px; }

.subpaginas { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 18px; margin-top: 40px; }
.subpagina { display: flex; flex-direction: column; background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); padding: 24px; text-decoration: none; color: var(--chumbo); transition: border-color .2s, box-shadow .2s, transform .2s; }
.subpagina:hover { border-color: var(--rose); box-shadow: var(--sombra); transform: translateY(-2px); color: var(--chumbo); }
.subpagina h2 { font-size: 1.2rem; color: var(--vinho); margin-bottom: 8px; }
.subpagina p { font-size: .97rem; color: var(--cinza-texto); flex: 1; }

.filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.filtros a { text-decoration: none; padding: 7px 16px; border-radius: 999px; border: 1px solid var(--cinza-nevoa); background: #fff; color: var(--chumbo); font-weight: 600; font-size: .95rem; }
.filtros a[aria-current="page"], .filtros a:hover { background: var(--vinho); border-color: var(--vinho); color: #fff; }
.paginacao { margin-top: 40px; }
.paginacao .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.paginacao .page-numbers { padding: 6px 12px; border-radius: 8px; text-decoration: none; background: #fff; border: 1px solid var(--cinza-nevoa); }
.paginacao .current { background: var(--vinho); color: #fff; border-color: var(--vinho); }

.rb-vazio { background: var(--branco); border: 1px dashed var(--rose); border-radius: var(--raio); padding: 22px 24px; color: var(--cinza-texto); }
.rb-nota { font-size: .9rem; color: var(--cinza-texto); }

/* ---------- Linha do tempo (horizontal: trilho com setas, um cartão por marco sobre o eixo) ---------- */
.rb-galeria.rb-linha-h { max-width: none; margin-top: 24px; }
.rb-linha-h .rb-galeria-trilho { scroll-padding: 0 2px; outline-offset: 4px; }
.rb-linha { display: flex; align-items: stretch; gap: 18px; list-style: none; margin: 0; padding: 0 2px 14px; width: max-content; position: relative; }
.texto .rb-linha { padding: 0 2px 14px; }
.texto .rb-linha > li { margin: 0; }
.rb-linha::before { content: ''; position: absolute; left: 0; right: 0; top: 15px; height: 2px; background: linear-gradient(90deg, var(--rose), var(--cinza-nevoa)); }
.rb-marco { width: 272px; flex: none; scroll-snap-align: start; display: flex; flex-direction: column; position: relative; }
.rb-marco-eixo { height: 32px; display: flex; align-items: center; gap: 10px; margin-bottom: 14px; position: relative; }
.rb-ano { font-family: var(--titulo); font-weight: 700; font-size: 1rem; color: #fff; background: var(--vinho); padding: 3px 12px; border-radius: 999px; position: relative; }
.rb-marco-ponto { width: 14px; height: 14px; border-radius: 50%; background: var(--carmim); box-shadow: 0 0 0 4px var(--offwhite), 0 0 0 5px var(--rose); position: relative; flex: none; }
.rb-ano + .rb-marco-ponto { display: none; }
.rb-marco > :not(.rb-marco-eixo) { position: relative; }
.rb-marco::after { content: ''; position: absolute; inset: 46px 0 0; background: var(--branco); border: 1px solid var(--cinza-nevoa); border-top: 4px solid var(--carmim); border-radius: var(--raio); z-index: 0; }
.rb-marco > p, .rb-marco > h3, .rb-marco > div:not(.rb-marco-eixo), .rb-marco > figure { z-index: 1; margin-left: 18px; margin-right: 18px; }
.rb-marco-data { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-weight: 700; color: var(--carmim); font-size: .9rem; margin: 18px 18px 10px; }
.rb-marco-selo { font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--vinho); background: var(--rosa-nevoa); padding: 3px 9px; border-radius: 999px; }
.rb-marco-foto { margin-top: 0; margin-bottom: 12px; }
.rb-marco-foto .rb-galeria-foto { width: 100%; aspect-ratio: 4 / 3; }
.rb-marco-foto .rb-galeria-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; }
.rb-marco-foto figcaption { font-size: .78rem; line-height: 1.35; color: var(--cinza-texto); margin-top: 6px; }
.rb-marco h3 { font-size: 1.08rem; line-height: 1.3; margin-top: 0; margin-bottom: 6px; color: var(--vinho); }
.rb-marco-local { color: var(--cinza-texto); font-size: .9rem; margin-bottom: 18px; }
.rb-marco-desc { font-size: .92rem; margin-bottom: 18px; }
.rb-marco-desc p:last-child { margin-bottom: 0; }
.rb-marco > :last-child { margin-bottom: 18px; }
.rb-marco-institucional::after { background: var(--rosa-nevoa); border-color: var(--rose); border-top-color: var(--vinho); }
.rb-marco-aula::after { background: var(--offwhite); border-top-color: var(--rose); }
.rb-marco-aula .rb-marco-ponto { background: var(--rose); }
@media (max-width: 640px) {
    .rb-marco { width: min(78vw, 272px); }
}

/* Visualizador de foto */
.rb-visualizador { border: 0; padding: 0; background: transparent; max-width: min(1100px, 94vw); max-height: 92vh; overflow: visible; }
.rb-visualizador::backdrop { background: rgba(30, 20, 24, .82); }
.rb-visualizador figure { margin: 0; text-align: center; }
.rb-visualizador img { max-height: 80vh; width: auto; border-radius: 10px; display: block; margin: 0 auto; }
.rb-visualizador figcaption { color: #fff; margin-top: 12px; font-size: 1rem; }
.rb-fechar { position: absolute; top: -14px; right: -14px; width: 42px; height: 42px; border-radius: 50%; border: 0; background: #fff; color: var(--vinho); font-size: 26px; line-height: 1; cursor: pointer; box-shadow: var(--sombra); }

/* Dentro do texto das páginas, a lista do mapa não herda o recuo de lista comum */
.texto .rb-mapa-pessoas { padding-left: 0; }
.texto .rb-mapa-pessoas li { margin-bottom: 0; }

/* ---------- Mapa ---------- */
.rb-mapa { display: grid; grid-template-columns: 1.25fr 1fr; gap: 40px; align-items: start; background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); padding: clamp(18px, 3vw, 36px); }
.rebrac-mapa-svg { width: 100%; display: block; }
.rebrac-mapa-svg path { fill: var(--cinza-nevoa); stroke: #fff; stroke-width: 1; cursor: pointer; transition: fill .2s; outline: none; }
.rebrac-mapa-svg path:hover, .rebrac-mapa-svg path:focus-visible { fill: #D9A9B0; }
.rebrac-mapa-svg path.ativo { fill: var(--vinho) !important; }
.rebrac-mapa-svg path:focus-visible { stroke: var(--chumbo); stroke-width: 2; }
.rb-mapa-escolha { display: block; font-weight: 600; margin-bottom: 20px; }
.rb-mapa-escolha select { display: block; width: 100%; margin-top: 6px; }
.rb-mapa-resultado h3 { color: var(--vinho); font-size: 1.4rem; }
.rb-mapa-dica { color: var(--cinza-texto); }
.rb-mapa-pessoas { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; max-height: 520px; overflow-y: auto; }
.rb-mapa-pessoas > li { padding: 16px 18px; border-radius: 10px; background: var(--offwhite); }
.rb-local h4 { font-size: 1rem; line-height: 1.35; margin: 0; color: var(--chumbo); }
.rb-local summary { cursor: pointer; list-style: none; position: relative; padding-right: 28px; }
.rb-local summary::-webkit-details-marker { display: none; }
.rb-local summary::after { content: ''; position: absolute; right: 4px; top: 6px; width: 9px; height: 9px; border-right: 2px solid var(--carmim); border-bottom: 2px solid var(--carmim); transform: rotate(45deg); transition: transform .2s; }
.rb-local details[open] > summary::after { transform: rotate(-135deg); top: 10px; }
.rb-mapa-conta { display: inline-block; margin-top: 6px; font-size: .8rem; font-weight: 700; color: var(--carmim); }
.rb-mapa-onde { color: var(--cinza-texto); font-size: .9rem; margin: 2px 0 0; }
.rb-local ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.rb-mapa-pessoas .rb-local li { display: flex; flex-direction: column; padding-top: 8px; border-top: 1px solid var(--cinza-nevoa); }
.rb-mapa-pessoas .rb-local span { font-size: .92rem; color: var(--cinza-texto); }
.rb-mapa-lista { margin-top: 24px; background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); padding: 0 24px; }
.rb-mapa-lista summary { cursor: pointer; font-weight: 600; padding: 18px 0; color: var(--vinho); }
.rb-mapa-lista[open] { padding-bottom: 20px; }
.rb-mapa-todos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 12px; }
.texto .rb-mapa-todos li { margin: 0; }
.rb-mapa-todos li { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 10px; background: var(--offwhite); border-left: 3px solid var(--rose); }
.rb-mapa-nome { color: var(--vinho); font-size: 1.02rem; }
.rb-mapa-funcao { font-size: .92rem; }
.rb-mapa-hospital { font-size: .88rem; color: var(--cinza-texto); }
@media (max-width: 860px) { .rb-mapa { grid-template-columns: 1fr; } }

/* ---------- Protocolos ---------- */
.rb-protocolos { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.rb-protocolo { display: flex; flex-direction: column; gap: 16px; background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); padding: 24px; }
.secao-branca .rb-protocolo { background: var(--offwhite); }
.rb-protocolo-icone { width: 46px; height: 54px; border-radius: 6px 14px 6px 6px; background: var(--rosa-nevoa); color: var(--carmim); font-weight: 700; font-size: .78rem; display: grid; place-items: end center; padding-bottom: 8px; }
.rb-protocolo-corpo { flex: 1; }
.rb-protocolo h3 { font-size: 1.15rem; margin-bottom: 6px; }
.rb-protocolo p { font-size: .97rem; margin-bottom: 8px; }
.rb-protocolo .rb-botao { align-self: flex-start; }
.rb-protocolo-detalhe { color: var(--carmim); font-weight: 600; font-size: .92rem !important; }
.rb-protocolo-video .rb-protocolo-icone { background: var(--salvia-clara); color: #3F5A4B; }
.rb-protocolo-aviso { font-size: .82rem !important; color: var(--cinza-texto); margin: -6px 0 0 !important; }
.rb-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.rb-tag { font-size: .75rem; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--cinza-nevoa); }
.rb-tag-profissionais { background: var(--salvia-clara); }
.rb-tag-gestores { background: var(--azul-claro); }
.rb-tag-pacientes { background: var(--rosa-nevoa); }

/* ---------- Formulários ---------- */
.rb-form label { display: block; font-weight: 600; font-size: .95rem; }
.rb-form input[type=text], .rb-form input[type=email], .rb-form input[type=tel], .rb-form select, .rb-form textarea, .rb-mapa select {
    width: 100%; margin-top: 6px; font: inherit; font-weight: 400; color: var(--chumbo); background: #fff;
    border: 1px solid #CFCBCB; border-radius: 10px; padding: 11px 13px; transition: border-color .2s, box-shadow .2s;
}
.rb-form input:focus, .rb-form select:focus, .rb-form textarea:focus, .rb-mapa select:focus { outline: none; border-color: var(--carmim); box-shadow: 0 0 0 3px rgba(152, 31, 61, .15); }
.rb-campos { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; }
.rb-largo { grid-column: 1 / -1; }
.rb-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; margin-bottom: 10px; }
.rb-check input { margin-top: 5px; accent-color: var(--carmim); width: 18px; height: 18px; flex: 0 0 auto; }
.rb-erro { color: #A3122D; font-weight: 600; min-height: 1.2em; margin: 8px 0; }
.rb-ok { color: #2E6B47; font-weight: 600; margin-top: 12px; }
.rb-isca { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rb-contato { max-width: 680px; background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); padding: clamp(20px, 3vw, 32px); }
@media (max-width: 560px) { .rb-campos { grid-template-columns: 1fr; } }

.rb-modal { border: 0; border-radius: 18px; padding: 0; width: min(620px, 94vw); max-height: 92vh; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.rb-modal::backdrop { background: rgba(30, 20, 24, .6); }
.rb-modal .rb-form { padding: clamp(22px, 4vw, 36px); position: relative; }
.rb-modal h2 { font-size: 1.5rem; margin-right: 40px; }
.rb-modal-sub { font-weight: 600; color: var(--carmim); margin-top: -6px; }
.rb-modal .rb-fechar { top: 14px; right: 14px; box-shadow: none; background: var(--offwhite); }


/* ---------- Diretoria ---------- */
/* Grade de 8 colunas (cada cartão ocupa 2): 4 por linha; a última linha incompleta fica centralizada.
   As classes rb-rN-X (sobra X com N por linha) vêm do shortcode. */
.rb-pessoas { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 24px; margin-top: 16px; align-items: stretch; }
.rb-pessoas > .rb-pessoa { grid-column: span 2; }
.rb-r4-3 > :nth-last-child(3) { grid-column: 2 / span 2; }
.rb-r4-2 > :nth-last-child(2) { grid-column: 3 / span 2; }
.rb-r4-1 > :nth-last-child(1) { grid-column: 4 / span 2; }
@media (max-width: 1020px) {
    .rb-pessoas { grid-template-columns: repeat(6, minmax(0, 1fr)); }
    .rb-pessoas > .rb-pessoa:nth-child(n) { grid-column: span 2; }
    .rb-r3-2 > :nth-last-child(2) { grid-column: 2 / span 2 !important; }
    .rb-r3-1 > :nth-last-child(1) { grid-column: 3 / span 2 !important; }
}
@media (max-width: 700px) {
    .rb-pessoas { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
    .rb-pessoas > .rb-pessoa:nth-child(n) { grid-column: span 2 !important; }
    .rb-r2-1 > :nth-last-child(1) { grid-column: 2 / span 2 !important; }
}
@media (max-width: 460px) {
    .rb-pessoas { grid-template-columns: 1fr; }
    .rb-pessoas > .rb-pessoa:nth-child(n) { grid-column: auto !important; }
}
.rb-pessoa { background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); padding: 24px; text-align: center; }
.rb-pessoa img, .rb-pessoa-sem-foto { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; margin: 0 auto 16px; display: block; }
.rb-pessoa-sem-foto { display: grid; place-items: center; background: var(--rosa-nevoa); color: var(--carmim); font-family: var(--titulo); font-size: 2.6rem; }
.rb-pessoa h3 { font-size: 1.1rem; margin-bottom: 4px; }
.rb-pessoa-cargo { color: var(--carmim); font-weight: 600; margin-bottom: 4px; line-height: 1.4; min-height: 4.2em; }
.rb-pessoa h3 { min-height: 2.6em; display: flex; align-items: center; justify-content: center; }
.rb-pessoa-links { margin-top: auto !important; padding-top: 10px; }
.rb-pessoa:not(:has(.rb-pessoa-links)) .rb-pessoa-mini { margin-top: auto; }
.pagina-larga .texto > p, .pagina-larga .texto > h2, .pagina-larga .texto > h3 { max-width: var(--texto-largura); }
.rb-pessoa-id { font-size: .9rem; color: var(--cinza-texto); margin: 0; }
.rb-pessoa { display: flex; flex-direction: column; }
.rb-pessoa img { object-position: 50% 18%; }
.rb-pessoa-mini { margin-top: 14px; text-align: left; font-size: .9rem; border-top: 1px solid var(--cinza-nevoa); padding-top: 10px; }
.rb-pessoa-mini summary { cursor: pointer; font-weight: 600; color: var(--vinho); text-align: center; list-style-position: inside; }
.rb-pessoa-mini[open] summary { margin-bottom: 10px; }
.rb-pessoa-mini p { margin-bottom: .7em; line-height: 1.5; }
.rb-pessoa-lattes { margin: 10px 0 0; font-size: .9rem; }
.rb-pessoa-links { display: flex; justify-content: center; gap: 8px; margin: 10px 0 0; }
.rb-pessoa-links a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--vinho); background: var(--rosa-nevoa); transition: background .2s, color .2s; }
.rb-pessoa-links a:hover, .rb-pessoa-links a:focus-visible { background: var(--carmim); color: #fff; }
.texto .rb-pessoas-lista { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; margin-top: 12px; }
.texto .rb-pessoas-lista li { margin: 0; background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: 10px; padding: 12px 16px; font-weight: 600; }
/* Perguntas frequentes */
.texto .rb-faq { border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); background: var(--branco); margin-bottom: 12px; padding: 0 22px; }
.texto .rb-faq summary { cursor: pointer; font-family: var(--titulo); font-weight: 700; font-size: 1.12rem; color: var(--vinho); padding: 18px 0; }
.texto .rb-faq[open] { padding-bottom: 8px; }

/* ---------- Rodapé ---------- */
.rodape { background: #3A3B40; color: #D9D6D6; margin-top: 0; }
.rodape a { color: #fff; text-decoration: none; }
.rodape a:hover { color: var(--rose); }
.rodape .botao-claro, .rodape .botao-claro:hover { color: var(--vinho); }
.rodape-grade { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 40px; padding-top: 56px; padding-bottom: 44px; }
.rodape .marca-sigla { color: #fff; }
.rodape .marca-nome { color: #D9D6D6; border-color: var(--rose); }
.marca-imagem { display: inline-block; line-height: 0; margin: -6px 0 6px -6px; }
.marca-imagem img { width: 260px; max-width: 100%; height: auto; }
.rodape-sobre p { margin-top: 18px; font-size: .95rem; }
.rodape-titulo { font-family: var(--corpo); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rose); margin-bottom: 14px; }
.rodape-links { list-style: none; margin: 0; padding: 0; }
.rodape-links li { margin-bottom: 8px; }
.rodape-redes { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; }
.rodape-membro p { font-size: .95rem; }
.rodape-mantenedor { border-top: 1px solid rgba(255,255,255,.1); }
.rodape-mantenedor .container { display: flex; align-items: center; justify-content: center; gap: 12px 20px; flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; }
.rodape-mantenedor-logo { display: inline-flex; background: #fff; border-radius: 10px; padding: 8px 14px; }
.rodape-mantenedor img { height: 46px; width: auto; display: block; }
.rodape-mantenedor p { margin: 0; font-size: .92rem; }
.rodape-mantenedor p a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 560px) { .rodape-mantenedor .container { flex-direction: column; text-align: center; } }
.rodape-base { border-top: 1px solid rgba(255,255,255,.1); font-size: .85rem; }
.rodape-base .container { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 18px; padding-bottom: 18px; }
.rodape-base p { margin: 0; }
@media (max-width: 960px) { .rodape-grade { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .rodape-grade { grid-template-columns: 1fr; gap: 28px; } }

/* WordPress */
.alignwide { max-width: none; }
.wp-block-image img { border-radius: 10px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* ---------- Contato: assessoria de imprensa ---------- */
.rb-imprensa { margin-top: 32px; padding: 20px 24px; background: var(--areia-clara); border-radius: var(--raio); }
.rb-imprensa h2 { font-size: 1.15rem; margin-bottom: 6px; }
.rb-imprensa p { margin: 0; }

/* ---------- Biblioteca de referências e documentos técnicos ---------- */
.rb-tema { background: var(--branco); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); margin-bottom: 14px; }
.rb-tema > summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 16px; padding: 18px 22px; }
.rb-tema > summary::-webkit-details-marker { display: none; }
.texto .rb-tema > summary h2 { margin: 0; font-size: 1.2rem; flex: 1; }
.rb-tema > summary::after { content: ''; flex: 0 0 auto; width: 10px; height: 10px; border-right: 2px solid var(--carmim); border-bottom: 2px solid var(--carmim); transform: rotate(45deg); transition: transform .2s; margin-right: 4px; }
.rb-tema[open] > summary::after { transform: rotate(-135deg); }
.rb-tema-conta { margin-left: auto; font-size: .85rem; font-weight: 600; color: var(--cinza-texto); white-space: nowrap; }
.rb-tema-corpo { padding: 0 22px 20px; display: grid; gap: 14px; }
.rb-tema-desc { color: var(--cinza-texto); margin: 0; }
.rb-referencia { background: var(--offwhite); border-radius: 10px; border-left: 3px solid var(--rose); padding: 16px 18px; }
.rb-referencia h3 { font-size: 1.05rem; line-height: 1.4; margin-bottom: 6px; color: var(--vinho); }
.rb-referencia-fonte { color: var(--chumbo); font-weight: 600; font-size: .9rem; margin-bottom: 6px; }
.rb-referencia-resumo { color: var(--cinza-texto); font-size: .95rem; margin-bottom: 10px; }
.rb-referencia p:last-child { margin-bottom: 0; }
.rb-referencia .link-seta { font-size: .95rem; }
.texto .rb-nota-final { font-size: .85rem; color: var(--cinza-texto); margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--cinza-nevoa); }

/* ---------- Aviso de cookies ---------- */
.rb-cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 60; max-width: 760px; margin: 0 auto; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; background: var(--branco); color: var(--chumbo); border: 1px solid var(--cinza-nevoa); border-radius: var(--raio); box-shadow: 0 10px 30px rgba(0,0,0,.15); padding: 16px 20px; }
.rb-cookies[hidden] { display: none; }
.rb-cookies p { flex: 1 1 280px; margin: 0; font-size: .95rem; }
.rb-cookies-botoes { display: flex; gap: 10px; flex-wrap: wrap; }
.rb-cookies .rb-botao { padding: 10px 18px; font-size: .95rem; }
.rb-botao-contorno { background: transparent; color: var(--carmim); }
.rb-botao-contorno:hover { color: #fff; }

/* ---------- Notícias ---------- */
.linha-fina { font-size: 1.12rem; line-height: 1.55; color: var(--cinza-texto); max-width: var(--texto-largura); margin-bottom: 28px; padding-left: 16px; border-left: 3px solid var(--rose); }

/* Galeria no fim da notícia: carrossel sem corte (altura fixa, largura de cada foto livre) */
.rb-galeria { max-width: var(--texto-largura); margin-top: 48px; }
.rb-galeria h2 { font-size: 1.4rem; }
.rb-galeria-trilho { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.rb-galeria-trilho ul { display: flex; gap: 12px; list-style: none; margin: 0; padding: 0 0 8px; }
.rb-galeria-trilho li { flex: none; scroll-snap-align: start; }
.rb-galeria-foto { display: block; padding: 0; border: 0; background: var(--areia-clara); border-radius: 10px; overflow: hidden; cursor: zoom-in; }
.rb-galeria-foto img { display: block; height: 240px; width: auto; max-width: none; transition: transform .3s; }
.rb-galeria-foto:hover img, .rb-galeria-foto:focus-visible img { transform: scale(1.03); }
.rb-galeria-setas { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.rb-galeria-cabe .rb-galeria-setas { display: none; }
.rb-galeria-seta, .rb-viz-seta { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--cinza-nevoa); background: var(--branco); color: var(--vinho); font-size: 28px; line-height: 1; cursor: pointer; }
.rb-galeria-seta:hover:not(:disabled) { background: var(--carmim); border-color: var(--carmim); color: #fff; }
.rb-galeria-seta:disabled { opacity: .35; cursor: default; }
.rb-viz-seta { position: absolute; top: 50%; transform: translateY(-50%); border: 0; box-shadow: var(--sombra); }
.rb-viz-anterior { left: -21px; }
.rb-viz-proxima { right: -21px; }
@media (max-width: 640px) {
    .rb-galeria-foto img { height: 200px; }
    .rb-viz-anterior { left: 4px; }
    .rb-viz-proxima { right: 4px; }
}

/* ---------- Imagens educativas nas páginas ---------- */
.texto .rb-figura { margin: 32px 0; }
.texto .rb-figura img { height: auto; border-radius: var(--raio); display: block; max-height: 440px; width: auto; max-width: 100%; margin: 0 auto; }
@media (max-width: 560px) { .texto .rb-figura img { max-height: 340px; } }

