/* PÁGINAS DE SOLUÇÕES DE SMS (12/11/2026, dono: «sim, publica, e faz 1, 2 e 3»): sms-marketing, sms-api e sms-otp.
   Regras rp-* copiadas da sms.php e da api.php (desenho da casa), num só ficheiro para as 3 páginas.
   As do #sms-steps passaram a .rp-compacto. Botões só vermelhos ou pretos (dono, 05/11/2026). */
.rp-sec { clear: both; padding: 10px 0 60px; }
.rp-cinza { background: #f3f4f5; }
.rp-branco { background: #fff; }
.rp-sec .section-title p { max-width: 860px !important; width: auto !important; padding-left: 0 !important; padding-right: 0 !important;
  margin-left: auto; margin-right: auto; font-size: 17px; line-height: 28px; text-align: justify; text-align-last: center; }
.rp-grelha { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 10px 0 28px; padding: 0; list-style: none; }
.rp-grelha-fim { margin-bottom: 0; }
.rp-cartao { border: 1px solid #e3e7ec; border-radius: 14px; padding: 26px 22px; background: #fff;
  box-shadow: 0 6px 18px rgba(29,39,51,.06); min-width: 0; transition: border-color .25s, box-shadow .25s, transform .25s; }
.rp-ico { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px;
  border-radius: 50%; background: #fdecef; color: #d60037; font-size: 28px; margin-bottom: 14px; transition: background .25s, color .25s; }
.rp-cartao h3 { font-size: 18px; line-height: 24px; font-weight: 700; color: #1d2733; margin: 0 0 8px; }
.rp-cartao p { font-size: 15px; line-height: 23px; color: #4a5562; margin: 0; text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.rp-cartao a { color: #d60037; font-weight: 600; }
.rp-cartao:hover { border-color: #d60037; box-shadow: 0 14px 30px rgba(214,0,55,.14); }
.rp-cartao:hover .rp-ico { background: #d60037; color: #fff; }
@media (prefers-reduced-motion: no-preference) { .rp-cartao:hover { transform: translateY(-4px); } }
.rp-faixa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 22px;
  background: linear-gradient(110deg, #fff 0%, #fff 55%, #fdecef 100%); border: 1px solid #e3e7ec; border-left: 4px solid #d60037;
  border-radius: 14px; padding: 24px 28px; box-shadow: 0 6px 18px rgba(29,39,51,.06); }
.rp-faixa-ico { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px;
  border-radius: 50%; background: #d60037; color: #fff; font-size: 30px; }
.rp-faixa-txt h3 { margin: 0 0 4px; font-size: 19px; line-height: 26px; font-weight: 700; color: #1d2733; }
.rp-faixa-txt p { margin: 0; font-size: 15.5px; line-height: 24px; color: #4a5562; text-align: justify; }
.rp-btns { display: flex; flex-direction: column; gap: 10px; }
.rp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #d60037; color: #fff; font-weight: 700;
  font-size: 15px; padding: 12px 22px; border-radius: 8px; text-decoration: none; white-space: nowrap; border: 2px solid #d60037;
  transition: background .2s, color .2s, border-color .2s; }
.rp-btn:hover, .rp-btn:focus { background: #af2835; border-color: #af2835; color: #fff; text-decoration: none; }
.rp-btn-2 { background: #1d2733; border-color: #1d2733; }
.rp-btn-2:hover, .rp-btn-2:focus { background: #000; border-color: #000; }
/* PREÇOS: tabela dos escalões ao lado da calculadora */
.rp-precos { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; align-items: start; margin-top: 10px; }
.rp-tabela { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid #e3e7ec; border-radius: 14px; overflow: hidden;
  box-shadow: 0 6px 18px rgba(29,39,51,.06); background: #fff; font-size: 16px; }
.rp-tabela th { background: #1d2733; color: #fff; font-weight: 700; text-align: left; padding: 14px 20px; font-size: 15px; }
.rp-tabela td { padding: 13px 20px; border-top: 1px solid #eef1f4; color: #1d2733; }
.rp-tabela th:last-child, .rp-tabela td:last-child { text-align: right; white-space: nowrap; }
.rp-tabela tr.rp-agora td { background: #fdecef; font-weight: 700; }
.rp-tabela td strong { color: #d60037; }
.rp-calc { border: 1px solid #e3e7ec; border-radius: 14px; background: #fff; padding: 26px 26px 24px; box-shadow: 0 6px 18px rgba(29,39,51,.06); }
.rp-calc h3 { margin: 0 0 6px; font-size: 20px; line-height: 26px; font-weight: 700; color: #1d2733; }
.rp-calc > p { margin: 0 0 16px; font-size: 15px; line-height: 23px; color: #4a5562; }
.rp-calc label { display: block; font-size: 14px; font-weight: 700; color: #1d2733; margin-bottom: 6px; }
.rp-calc input { width: 100%; box-sizing: border-box; height: 50px; border: 1px solid #cfd6de; border-radius: 8px; padding: 0 14px;
  font: 400 18px Ubuntu, arial, sans-serif; color: #1d2733; background: #fff; }
.rp-calc input:focus { outline: none; border-color: #d60037; box-shadow: 0 0 0 3px rgba(214,0,55,.12); }
.rp-res { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0 18px; }
.rp-res div { background: #f3f4f5; border-radius: 10px; padding: 12px 14px; min-width: 0; }
.rp-res span { display: block; font-size: 13px; color: #4a5562; }
.rp-res strong { display: block; font-size: 21px; line-height: 28px; color: #1d2733; white-space: nowrap; }
.rp-res .rp-total strong { color: #d60037; }
.rp-calc .rp-btn { width: 100%; box-sizing: border-box; }
.rp-nota { margin: 14px 0 0; font-size: 14px; line-height: 21px; color: #4a5562; }
.rp-erro { display: none; margin: 8px 0 0; font-size: 14px; color: #d60037; }
/* SENDER ID: foto ao lado do texto, sem véu (dono, 05/11/2026) */
.rp-lado { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 36px; align-items: center; margin-top: 10px; }
.rp-foto { width: 100%; height: auto; display: block; border-radius: 16px; box-shadow: 0 8px 22px rgba(29,39,51,.10); }
.rp-passos { list-style: none; margin: 0 0 20px; padding: 0; counter-reset: rp; }
.rp-passos li { position: relative; padding: 0 0 18px 58px; counter-increment: rp; }
.rp-passos li::before { content: counter(rp); position: absolute; left: 0; top: 0; width: 40px; height: 40px; border-radius: 50%;
  background: #d60037; color: #fff; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; }
.rp-passos h3 { margin: 0 0 4px; font-size: 18px; line-height: 24px; font-weight: 700; color: #1d2733; }
.rp-passos p { margin: 0; font-size: 15.5px; line-height: 24px; color: #4a5562; text-align: justify; }
.rp-aviso { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid #e3e7ec; border-left: 4px solid #1d2733;
  border-radius: 12px; padding: 16px 18px; margin: 0 0 22px; }
.rp-aviso span { color: #1d2733; font-size: 24px; line-height: 24px; }
.rp-aviso p { margin: 0; font-size: 15px; line-height: 23px; color: #4a5562; text-align: justify; }
.rp-lado .rp-btns { flex-direction: row; flex-wrap: wrap; }
@media (min-width: 992px) and (max-width: 1199px) { .rp-cartao { padding-left: 18px; padding-right: 18px; } .rp-cartao h3 { font-size: 16px; } }
@media (max-width: 991px) { .rp-grelha { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-faixa { grid-template-columns: auto minmax(0, 1fr); } .rp-faixa .rp-btns { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
  .rp-precos, .rp-lado { grid-template-columns: minmax(0, 1fr); }
  .rp-foto { max-width: 420px; margin: 0 auto; } }
@media (max-width: 575px) { .rp-grelha { grid-template-columns: minmax(0, 1fr); }
  .rp-faixa { grid-template-columns: minmax(0, 1fr); padding: 22px 20px; } .rp-faixa-ico { width: 52px; height: 52px; font-size: 26px; }
  .rp-faixa .rp-btns, .rp-lado .rp-btns { flex-direction: column; } .rp-btn { white-space: normal; width: 100%; box-sizing: border-box; }
  .rp-tabela th, .rp-tabela td { padding-left: 14px; padding-right: 14px; } .rp-calc { padding: 22px 18px; }
  .rp-res strong { font-size: 19px; } }
/* PREÇO DO SENDER ID no formato dos planos (span.price-value, sup, sub.suffix, supcurrencytype); as regras
   .cp_plan-cards .price ficam presas aos cartões dos planos, por isso repete-se aqui o aspecto (10/11/2026) */
.rp-preco { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; background: #fff;
  border: 1px solid #e3e7ec; border-left: 4px solid #d60037; border-radius: 14px; padding: 18px 24px 14px; margin: 0 0 26px; box-shadow: 0 6px 18px rgba(29,39,51,.06); }
.rp-preco-de { display: block; font: 300 12px Ubuntu, arial, sans-serif; text-transform: uppercase; letter-spacing: .6px; color: #000; margin-bottom: 3px; }
.rp-preco-txt strong { display: block; font-size: 17px; line-height: 23px; font-weight: 700; color: #1d2733; }
.rp-preco .value p { position: relative; display: inline-block; margin: 0; padding: 0 28px 22px 0; line-height: 50px; white-space: nowrap; }
.rp-preco .price-value { font-family: Ubuntu, arial, sans-serif; font-size: 50px; font-weight: 900; line-height: 50px; color: #d60037; }
.rp-preco .price-value sup { font-size: 35%; margin-left: 8px; margin-right: -8px; }
.rp-preco sub.suffix { position: absolute; left: auto; right: 0; bottom: 0; text-align: right; white-space: nowrap; font-size: 14px; font-weight: 400; line-height: 18px; color: #333; }
.rp-preco supcurrencytype:first-child + .price-value { margin-left: 12px; }
@media (max-width: 575px) { .rp-preco { padding: 16px 18px 12px; } .rp-preco .price-value { font-size: 44px; } .rp-preco sub.suffix { left: 0; right: auto; text-align: left; } }
.rp-usos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 10px 0 0; padding: 0; list-style: none; }
.rp-usos-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rp-uso { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid #e3e7ec; border-radius: 14px; overflow: hidden;
  box-shadow: 0 6px 18px rgba(29,39,51,.06); transition: border-color .25s, box-shadow .25s, transform .25s; }
.rp-uso:hover { border-color: #d60037; box-shadow: 0 14px 30px rgba(214,0,55,.14); }
@media (prefers-reduced-motion: no-preference) { .rp-uso:hover { transform: translateY(-4px); } }
.rp-uso img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.rp-uso-txt { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 20px 20px 22px; }
.rp-uso h3 { margin: 0; font-size: 18px; line-height: 24px; font-weight: 700; color: #1d2733; }
.rp-uso p { margin: 0; font-size: 15px; line-height: 23px; color: #4a5562; text-align: left; }
.rp-uso p a { color: #d60037; font-weight: 600; }
.rp-bolha { margin-top: auto; background: #f3f4f5; border-radius: 14px 14px 14px 4px; padding: 10px 14px 11px; font-size: 14px; line-height: 20px; color: #1d2733; }
.rp-bolha b { display: block; margin-bottom: 3px; font-size: 11.5px; line-height: 16px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: #d60037; }
.rp-rotas { margin: auto 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.rp-rotas li { background: #f3f4f5; border-radius: 8px; padding: 7px 10px; font: 400 13.5px/20px "Ubuntu Mono", Ubuntu, monospace; color: #1d2733; overflow-wrap: anywhere; }
.rp-rotas b { margin-right: 6px; font-weight: 700; color: #d60037; }
.rp-escuro { clear: both; background: #1d2733; color: #fff; padding: 10px 0 64px; }
.rp-escuro .section-title h2 { color: #fff; }
.rp-escuro.rp-sec .section-title p, .rp-escuro .section-title p { color: rgba(255,255,255,.80) !important; }
.rp-numeros { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 10px 0 44px; padding: 0; list-style: none;
  border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.rp-numeros li { min-width: 0; padding: 24px 12px; text-align: center; }
.rp-numeros li + li { border-left: 1px solid rgba(255,255,255,.14); }
.rp-numeros strong { display: block; font: 900 42px/1.1 Ubuntu, arial, sans-serif; color: #fff; white-space: nowrap; }
.rp-numeros strong small { margin-left: 4px; font-size: 45%; font-weight: 700; color: #d60037; }
.rp-numeros span { display: block; margin-top: 6px; font-size: 14.5px; line-height: 21px; color: rgba(255,255,255,.75); }
.rp-linha { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; counter-reset: rl; }
.rp-linha::before { content: ""; position: absolute; top: 23px; left: 12.5%; right: 12.5%; height: 2px; background: rgba(255,255,255,.2); }
.rp-linha li { position: relative; min-width: 0; padding-top: 66px; text-align: center; counter-increment: rl; }
.rp-linha li::before { content: counter(rl); position: absolute; top: 0; left: 50%; margin-left: -24px; width: 48px; height: 48px; border-radius: 50%;
  background: #d60037; color: #fff; font-weight: 700; font-size: 19px; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 6px #1d2733; }
.rp-linha h3 { margin: 0 0 6px; font-size: 18px; line-height: 24px; font-weight: 700; color: #fff; }
.rp-linha p { margin: 0; font-size: 15px; line-height: 23px; color: rgba(255,255,255,.78); }
.rp-centro { margin-top: 40px; text-align: center; }
.rp-centro .rp-btn { min-width: 220px; }
.rp-duas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.rp-escuro .rp-lista li { color: rgba(255,255,255,.82); text-align: left; }
.rp-escuro .rp-lista strong { color: #fff; }
.rp-escuro code, .rp-linha code { background: rgba(255,255,255,.10); color: #fff; border-radius: 4px; padding: 1px 6px; font: 400 14px "Ubuntu Mono", Ubuntu, monospace; }
.rp-json { margin: 0; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 18px 20px; overflow-x: auto;
  font: 400 14px/23px "Ubuntu Mono", Ubuntu, monospace; color: rgba(255,255,255,.88); white-space: pre; }
.rp-json b { font-weight: 700; color: #fff; }
.rp-json i { font-style: normal; color: rgba(255,255,255,.55); }
.rp-op-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 920px; margin: 10px auto 0; }
.rp-op { display: flex; flex-direction: column; min-width: 0; background: #fff; border: 1px solid #e3e7ec; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(29,39,51,.06); }
.rp-op-top { padding: 22px 24px 18px; background: #f3f4f5; border-bottom: 1px solid #e3e7ec; }
.rp-op-escuro .rp-op-top { background: #1d2733; border-bottom-color: #1d2733; }
.rp-op-top h3 { margin: 0; font-size: 22px; line-height: 28px; font-weight: 700; color: #1d2733; }
.rp-op-escuro .rp-op-top h3 { color: #fff; }
.rp-op-top .rp-preco-de { display: block; margin-bottom: 3px; font: 300 12px Ubuntu, arial, sans-serif; text-transform: uppercase; letter-spacing: .6px; color: #4a5562; }
.rp-op-escuro .rp-op-top .rp-preco-de { color: rgba(255,255,255,.75); }
.rp-op-gratis { display: block; margin-top: 10px; min-height: 72px; font: 900 44px/50px Ubuntu, arial, sans-serif; color: #1d2733; }
.rp-op .value { margin-top: 10px; min-height: 72px; }
.rp-op .value p { position: relative; display: inline-block; margin: 0; padding: 0 28px 22px 0; line-height: 50px; white-space: nowrap; color: #fff; }
.rp-op .price-value { font-family: Ubuntu, arial, sans-serif; font-size: 50px; font-weight: 900; line-height: 50px; color: #d60037; }
.rp-op .price-value sup { font-size: 35%; margin-left: 8px; margin-right: -8px; }
.rp-op sub.suffix { position: absolute; left: 0; bottom: 0; font-size: 14px; font-weight: 400; line-height: 18px; color: rgba(255,255,255,.85); white-space: nowrap; }
.rp-op supcurrencytype:first-child + .price-value { margin-left: 12px; }
.rp-op-lista { flex: 1; margin: 0; padding: 20px 24px 6px; list-style: none; }
.rp-op-lista li { position: relative; padding: 0 0 12px 32px; font-size: 15.5px; line-height: 23px; color: #4a5562; }
.rp-op-lista li::before { content: ""; position: absolute; left: 0; top: 1px; width: 21px; height: 21px; border-radius: 50%; background: #d60037; }
.rp-op-lista li::after { content: ""; position: absolute; left: 8px; top: 5px; width: 5px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.rp-op-lista li.rp-nao { color: #7a8591; }
.rp-op-lista li.rp-nao::before { background: #cfd6de; }
.rp-op-lista li.rp-nao::after { left: 6px; top: 11px; width: 9px; height: 2px; border: 0; background: #fff; transform: none; }
.rp-op-pe { padding: 6px 24px 24px; }
.rp-op-pe .rp-btn { width: 100%; box-sizing: border-box; }
.rp-comp { width: 100%; max-width: 960px; margin: 10px auto 0; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid #e3e7ec;
  border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(29,39,51,.06); font-size: 15.5px; line-height: 23px; }
.rp-comp th, .rp-comp td { padding: 14px 20px; text-align: left; vertical-align: top; border-top: 1px solid #eef1f4; color: #1d2733; }
.rp-comp thead th { border-top: 0; padding-top: 20px; padding-bottom: 16px; font-size: 18px; font-weight: 700; }
.rp-comp thead th span { display: inline-block; margin-left: 8px; padding: 2px 10px; border-radius: 20px; background: #fdecef; color: #d60037;
  font: 400 14px/20px "Ubuntu Mono", Ubuntu, monospace; vertical-align: 2px; }
.rp-comp thead th + th + th span { background: #1d2733; color: #fff; }
.rp-comp tbody th { width: 32%; background: #f3f4f5; font-weight: 700; }
.rp-comp td { color: #4a5562; }
.rp-comp code { background: #f3f4f5; color: #1d2733; border-radius: 4px; padding: 1px 6px; font: 400 14px "Ubuntu Mono", Ubuntu, monospace; overflow-wrap: anywhere; }
@media (max-width: 991px) { .rp-usos, .rp-usos-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rp-numeros li:nth-child(3) { border-left: 0; }
  .rp-numeros li:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.14); }
  .rp-linha { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; } .rp-linha::before { display: none; }
  .rp-duas { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 575px) { .rp-usos, .rp-usos-3, .rp-op-duo { grid-template-columns: minmax(0, 1fr); }
  .rp-numeros strong { font-size: 34px; } .rp-numeros li { padding: 18px 8px; }
  .rp-linha { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .rp-linha::before { display: block; top: 0; bottom: 0; left: 23px; right: auto; width: 2px; height: auto; }
  .rp-linha li { min-height: 48px; padding: 2px 0 0 68px; text-align: left; } .rp-linha li::before { left: 0; margin-left: 0; }
  .rp-json { font-size: 13px; line-height: 21px; padding: 16px 14px; }
  .rp-comp thead { display: none; } .rp-comp tr { display: block; padding: 12px 16px; border-top: 1px solid #eef1f4; }
  .rp-comp tbody tr:first-child { border-top: 0; } .rp-comp th, .rp-comp td { display: block; width: auto; padding: 2px 0; border: 0; }
  .rp-comp tbody th { background: none; margin-bottom: 2px; } .rp-comp td::before { content: attr(data-l) ": "; font-weight: 700; color: #d60037; } }
/* FUNDOS DOS 4 CARTÕES DA PRIMEIRA SECÇÃO (10/11/2026, dono): foto da galeria com uma camada clara por cima, mais
   forte onde está o texto, para o texto escuro continuar legível */
.rp-cartao.rp-fundo { position: relative; background-color: #fff; background-size: cover; background-position: center top;
  background-image: linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.90) 42%, rgba(255,255,255,.96) 100%), var(--rp-foto); }
.rp-cartao.rp-fundo .rp-ico { background: #fff; box-shadow: 0 4px 12px rgba(29,39,51,.12); }
.rp-cartao.rp-fundo:hover .rp-ico { background: #d60037; }
.rp-cartao.rp-fundo p { color: #2f3a46; text-align: left; }
/* FOTOS NOS CARTÕES DA COMPARAÇÃO (10/11/2026, dono): a foto fica no topo de cada cartão, com um gradiente
   das cores da casa por cima (vermelho no NETMSG, escuro no Sender ID) e o texto em branco */
.rp-op-top.rp-op-foto { padding-top: 34px; padding-bottom: 22px; background-size: cover; background-position: center; border-bottom: 0; }
.rp-op .rp-op-top.rp-op-foto { background-image: linear-gradient(135deg, rgba(214,0,55,.94) 0%, rgba(175,40,53,.86) 100%), var(--rp-foto); }
.rp-op-escuro .rp-op-top.rp-op-foto { background-image: linear-gradient(135deg, rgba(29,39,51,.95) 0%, rgba(29,39,51,.86) 100%), var(--rp-foto); }
.rp-op-top.rp-op-foto h3, .rp-op-top.rp-op-foto .rp-op-gratis { color: #fff; }
.rp-op-top.rp-op-foto .rp-preco-de { color: rgba(255,255,255,.88); }
/* 10/11/2026, dono: os dois cartões da comparação com o topo da mesma altura. Subgrid alinha topo, lista e botão dos dois; sem subgrid, altura mínima igual */
@media (min-width: 576px) {
  .rp-op-duo { grid-template-rows: auto 1fr auto; }
  .rp-op { display: grid; grid-row: span 3; grid-template-rows: subgrid; }
  @supports not (grid-template-rows: subgrid) { .rp-op-top.rp-op-foto { min-height: 230px; } }
}
/* «TUDO O QUE PRECISA» COM FOTO NA SECÇÃO INTEIRA E CARTÕES EM VIDRO (10/11/2026, dono): camada escura que passa ao
   vermelho da casa por cima da foto; cartões translúcidos com o texto em branco */
.rp-vidro { position: relative; background-color: #1d2733; background-size: cover; background-position: center;
  background-image: linear-gradient(135deg, rgba(29,39,51,.94) 0%, rgba(29,39,51,.88) 55%, rgba(214,0,55,.80) 100%), var(--rp-foto); }
.rp-vidro .section-title h2 { color: #fff; }
.rp-vidro.rp-sec .section-title p, .rp-vidro .section-title p { color: rgba(255,255,255,.85) !important; }
.rp-vidro .rp-cartao { background: rgba(255,255,255,.10); border-color: rgba(255,255,255,.24); box-shadow: 0 10px 28px rgba(0,0,0,.22);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.rp-vidro .rp-cartao h3 { color: #fff; }
.rp-vidro .rp-cartao p { color: rgba(255,255,255,.88); text-align: left; }
.rp-vidro .rp-cartao a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.rp-vidro .rp-ico { background: #d60037; color: #fff; }
.rp-vidro .rp-cartao:hover { border-color: #fff; background: rgba(255,255,255,.16); box-shadow: 0 14px 30px rgba(0,0,0,.30); }
.rp-vidro .rp-cartao:hover .rp-ico { background: #fff; color: #d60037; }
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) { .rp-vidro .rp-cartao { background: rgba(29,39,51,.62); } }
/* «DO REGISTO AO ENVIO» MAIS BAIXO E COM FOTO (10/11/2026, dono): menos espaço, passos compactos, 4 numa linha no
   computador; camada escura da casa por cima da foto para o texto branco se ler */
.rp-compacto.rp-escuro { padding: 0 0 34px; background-color: #1d2733; background-size: cover; background-position: center 30%;
  background-image: linear-gradient(180deg, rgba(29,39,51,.90) 0%, rgba(29,39,51,.80) 50%, rgba(29,39,51,.92) 100%), var(--rp-foto); }
.rp-compacto .section-title { margin-top: 30px !important; margin-bottom: 18px; }
.rp-compacto .section-title h2 { margin-bottom: 6px; }
.rp-compacto .section-title p { margin-top: 6px; margin-bottom: 0; }
.rp-compacto .rp-numeros { margin: 4px 0 24px; }
.rp-compacto .rp-numeros li { padding: 12px 10px; }
.rp-compacto .rp-numeros strong { font-size: 30px; }
.rp-compacto .rp-numeros span { margin-top: 2px; font-size: 13.5px; line-height: 19px; }
.rp-compacto .rp-linha { gap: 18px; }
.rp-compacto .rp-linha::before { top: 19px; }
.rp-compacto .rp-linha li { padding-top: 52px; }
.rp-compacto .rp-linha li::before { width: 40px; height: 40px; margin-left: -20px; font-size: 17px; box-shadow: 0 0 0 5px rgba(29,39,51,.95); }
.rp-compacto .rp-linha h3 { margin-bottom: 4px; font-size: 16.5px; line-height: 22px; }
.rp-compacto .rp-linha p { font-size: 14px; line-height: 21px; }
.rp-compacto .rp-centro { margin-top: 24px; }
@media (min-width: 768px) and (max-width: 991px) { .rp-compacto .rp-linha { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
  .rp-compacto .rp-linha::before { display: block; } .rp-compacto .rp-linha h3 { font-size: 15px; } .rp-compacto .rp-linha p { font-size: 13.5px; }
  .rp-compacto .rp-numeros { grid-template-columns: repeat(4, minmax(0, 1fr)); } .rp-compacto .rp-numeros li:nth-child(3) { border-left: 1px solid rgba(255,255,255,.14); }
  .rp-compacto .rp-numeros li:nth-child(n+3) { border-top: 0; } .rp-compacto .rp-numeros strong { font-size: 26px; } }
@media (max-width: 575px) { .rp-compacto .rp-linha { gap: 14px; } .rp-compacto .rp-linha::before { left: 19px; top: 0; }
  .rp-compacto .rp-linha li { padding: 0 0 0 56px; min-height: 40px; } .rp-compacto .rp-linha li::before { margin-left: 0; }
  .rp-compacto .rp-numeros strong { font-size: 26px; } }
/* Só da página da API: a grelha das áreas, a lista da segurança e o bloco de código. */
.rp-areas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 10px 0 0; padding: 0; list-style: none; }
.rp-area { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 4px 14px; align-items: start; border: 1px solid #e3e7ec; border-radius: 12px;
  background: #fff; padding: 18px 18px; box-shadow: 0 6px 18px rgba(29,39,51,.06); min-width: 0; transition: border-color .25s, box-shadow .25s; }
.rp-area .rp-ico { width: 46px; height: 46px; font-size: 24px; margin: 0; grid-row: span 2; }
.rp-area h3 { margin: 2px 0 0; font-size: 17px; line-height: 22px; font-weight: 700; color: #1d2733; }
.rp-area p { margin: 0; font-size: 14.5px; line-height: 21px; color: #4a5562; }
.rp-area:hover { border-color: #d60037; box-shadow: 0 14px 30px rgba(214,0,55,.14); }
.rp-area:hover .rp-ico { background: #d60037; color: #fff; }
.rp-lista { list-style: none; margin: 0 0 22px; padding: 0; }
.rp-lista li { position: relative; padding: 0 0 14px 34px; font-size: 15.5px; line-height: 24px; color: #4a5562; text-align: justify; }
.rp-lista li::before { content: ""; position: absolute; left: 0; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: #d60037; }
.rp-lista li::after { content: ""; position: absolute; left: 8px; top: 6px; width: 6px; height: 11px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.rp-lista strong { color: #1d2733; }
.rp-inicio { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 32px; align-items: start; margin-top: 10px; }
.rp-codigo { margin: 0; background: #f3f4f5; border: 1px solid #e3e7ec; border-left: 4px solid #1d2733; border-radius: 12px; padding: 18px 20px;
  overflow-x: auto; font: 400 14px/23px "Ubuntu Mono", Ubuntu, monospace; color: #1d2733; white-space: pre; }
.rp-codigo b { color: #d60037; font-weight: 400; }
.rp-codigo-leg { margin: 10px 0 18px; font-size: 14px; line-height: 21px; color: #4a5562; }
.rp-fichas { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.rp-fichas li { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid #e3e7ec; border-radius: 30px; padding: 8px 14px;
  font-size: 14px; color: #1d2733; }
.rp-fichas li span { color: #d60037; font-size: 17px; }
.rp-fichas code { font: 400 14px "Ubuntu Mono", Ubuntu, monospace; background: none; color: #1d2733; padding: 0; }
/* RLX-API-LINHA (dono 10/11): legenda do exemplo numa linha e as 3 fichas lado a lado nos ecrãs largos */
@media (min-width: 1400px) { .rp-inicio { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); gap: 28px; } .rp-passos p { text-align: left; } .rp-passos h3 { white-space: nowrap; } .rp-codigo-leg { font-size: 12.5px; white-space: nowrap; letter-spacing: -0.45px; } }
@media (min-width: 992px) { .rp-fichas { flex-wrap: nowrap; gap: 8px; } .rp-fichas li { white-space: nowrap; font-size: 13px; padding: 7px 11px; gap: 6px; } .rp-fichas li span { font-size: 15px; } .rp-fichas code { font-size: 13px; } }
@media (min-width: 992px) and (max-width: 1199px) { .rp-area { padding: 16px 14px; gap: 4px 12px; } .rp-area h3 { font-size: 16px; } }
@media (max-width: 991px) { .rp-areas { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rp-inicio { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 575px) { .rp-areas { grid-template-columns: minmax(0, 1fr); } .rp-codigo { font-size: 13px; line-height: 21px; padding: 16px 14px; } }
/* NOVO NAS PÁGINAS DE SOLUÇÕES (12/11/2026) */
.rp-codigo-tit { display: inline-block; margin: 0 0 8px; padding: 3px 12px; border-radius: 20px; background: #1d2733; color: #fff; font: 700 12.5px/20px Ubuntu, arial, sans-serif; letter-spacing: .4px; text-transform: uppercase; }
.rp-codigo + .rp-codigo-tit { margin-top: 18px; }
.rp-codigo i { font-style: normal; color: #7a8591; }
.rp-escuro .rp-codigo-tit { background: #d60037; }
.rp-antes-depois { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin: 0 0 22px; }
.rp-antes-depois .rp-bolha { margin: 0; background: #fff; border: 1px solid #e3e7ec; }
.rp-antes-depois .rp-bolha code { font: 400 13.5px "Ubuntu Mono", Ubuntu, monospace; color: #d60037; }
.rp-tel { max-width: 300px; margin: 0 auto; background: #1d2733; border-radius: 34px; padding: 14px; box-shadow: 0 18px 40px rgba(29,39,51,.25); }
.rp-tel-ecra { background: #f3f4f5; border-radius: 24px; padding: 18px 14px 22px; min-height: 360px; }
.rp-tel-de { text-align: center; font: 700 14px/20px Ubuntu, arial, sans-serif; color: #1d2733; margin: 0 0 4px; }
.rp-tel-hora { text-align: center; font-size: 12px; color: #7a8591; margin: 0 0 16px; }
.rp-tel .rp-bolha { background: #fff; margin: 0 0 10px; box-shadow: 0 2px 6px rgba(29,39,51,.06); }
.rp-tel-codigo { display: flex; justify-content: center; gap: 6px; margin: 18px 0 8px; }
.rp-tel-codigo span { width: 32px; height: 40px; border-radius: 8px; background: #fff; border: 2px solid #d60037; display: flex; align-items: center; justify-content: center; font: 700 19px Ubuntu, arial, sans-serif; color: #1d2733; }
.rp-tel-ok { text-align: center; font: 700 13px/18px Ubuntu, arial, sans-serif; color: #1d2733; }
.rp-tel-ok b { color: #d60037; }
@media (max-width: 575px) { .rp-antes-depois { grid-template-columns: minmax(0, 1fr); } }

/* ===== V2 (12/11/2026, dono: «não tenha costume de usar mesmo estilo de uma página noutra ... goste de usar nossas imagens nos fundos»).
   Componentes próprios de cada página; cores, letra e botões da casa. Fundos com fotos da galeria em --rp-foto. ===== */
.rp-sec .section-title.rp-esq { text-align: left; }
.rp-sec .section-title.rp-esq p { margin-left: 0; text-align: left; text-align-last: left; }
.rp-sec .section-title.rp-esq .section-mozout { margin-left: 0; }
/* fundo com foto: escuro que passa ao vermelho da casa */
.rp-ff { position: relative; clear: both; color: #fff; background-color: #1d2733; background-size: cover; background-position: center;
  background-image: linear-gradient(100deg, rgba(29,39,51,.95) 0%, rgba(29,39,51,.86) 50%, rgba(175,40,53,.80) 100%), var(--rp-foto); }
.rp-ff .section-title h2, .rp-ff h2, .rp-ff h3 { color: #fff; }
.rp-ff .section-title p, .rp-ff.rp-sec .section-title p { color: rgba(255,255,255,.84) !important; }
.rp-ff code { background: rgba(255,255,255,.12); color: #fff; border-radius: 4px; padding: 1px 6px; font: 400 14px "Ubuntu Mono", Ubuntu, monospace; }
/* fundo com foto claro (texto escuro) */
.rp-fc { position: relative; clear: both; background-color: #f3f4f5; background-size: cover; background-position: center;
  background-image: linear-gradient(90deg, rgba(243,244,245,.97) 0%, rgba(243,244,245,.93) 55%, rgba(243,244,245,.72) 100%), var(--rp-foto); }
/* MARKETING: abertura com a pilha de mensagens */
.rp-abre { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 40px; align-items: center; padding: 56px 0 60px; }
.rp-abre h2 { margin: 0 0 14px; font: 700 34px/42px Ubuntu, arial, sans-serif; color: #fff; }
.rp-abre h2 span { color: #ff7d9b; }
.rp-abre > div > p { margin: 0 0 20px; font-size: 17px; line-height: 28px; color: rgba(255,255,255,.86); }
.rp-ticks { list-style: none; margin: 0 0 26px; padding: 0; }
.rp-ticks li { position: relative; padding: 0 0 10px 30px; font-size: 16px; line-height: 24px; color: #fff; }
.rp-ticks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #d60037; }
.rp-ticks li::after { content: ""; position: absolute; left: 6px; top: 6px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.rp-abre .rp-btns { flex-direction: row; flex-wrap: wrap; }
.rp-abre .rp-btn-2 { background: #fff; border-color: #fff; color: #1d2733; }
.rp-abre .rp-btn-2:hover { background: #f3f4f5; border-color: #f3f4f5; color: #000; }
.rp-pilha { position: relative; max-width: 380px; margin: 0 auto; padding: 10px 0; }
.rp-msg { position: relative; background: #fff; color: #1d2733; border-radius: 16px 16px 16px 4px; padding: 14px 16px 14px 62px; margin: 0 0 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,.28); font-size: 14.5px; line-height: 21px; }
.rp-msg:nth-child(2) { margin-left: 34px; }
.rp-msg:nth-child(3) { margin-left: 12px; }
.rp-msg b { display: block; font-size: 12px; letter-spacing: .5px; text-transform: uppercase; color: #d60037; margin-bottom: 2px; }
.rp-msg i { position: absolute; left: 14px; top: 14px; width: 36px; height: 36px; border-radius: 50%; background: #1d2733; color: #fff; font: 700 15px/36px Ubuntu, arial, sans-serif; font-style: normal; text-align: center; }
.rp-msg em { font-style: normal; background: #fdecef; color: #d60037; border-radius: 4px; padding: 0 4px; }
@media (prefers-reduced-motion: no-preference) { .rp-msg { animation: rp-sobe .7s ease both; } .rp-msg:nth-child(2) { animation-delay: .15s; } .rp-msg:nth-child(3) { animation-delay: .3s; }
  @keyframes rp-sobe { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } } }
/* faixa de números clara, em linha */
.rp-tira { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; background: #fff; border-bottom: 1px solid #e3e7ec; }
.rp-tira li { padding: 26px 16px; text-align: center; min-width: 0; }
.rp-tira li + li { border-left: 1px solid #e3e7ec; }
.rp-tira strong { display: block; font: 900 36px/1.1 Ubuntu, arial, sans-serif; color: #d60037; white-space: nowrap; }
.rp-tira span { display: block; margin-top: 4px; font-size: 14.5px; line-height: 20px; color: #4a5562; }
/* separadores (tabs) */
.rp-tabs-bar { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 6px 0 26px; padding: 0; list-style: none; }
.rp-tab { appearance: none; border: 2px solid #1d2733; background: #fff; color: #1d2733; border-radius: 30px; padding: 10px 20px; font: 700 15px Ubuntu, arial, sans-serif; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.rp-tab:hover { border-color: #d60037; color: #d60037; }
.rp-tab[aria-selected="true"] { background: #d60037; border-color: #d60037; color: #fff; }
.rp-tab:focus-visible { outline: 3px solid rgba(214,0,55,.3); outline-offset: 2px; }
.rp-painel { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 14px 36px rgba(29,39,51,.10); border: 1px solid #e3e7ec; }
.rp-painel[hidden] { display: none; }
.rp-painel img { display: block; width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.rp-painel-txt { padding: 34px 36px; display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.rp-painel-txt h3 { margin: 0; font-size: 24px; line-height: 30px; font-weight: 700; color: #1d2733; }
.rp-painel-txt p { margin: 0; font-size: 16px; line-height: 25px; color: #4a5562; }
.rp-painel-txt .rp-bolha { margin: 4px 0 0; font-size: 15px; line-height: 22px; }
.rp-dica { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 22px; color: #1d2733; border-top: 1px dashed #cfd6de; padding-top: 14px; }
.rp-dica > span:first-child { color: #d60037; font-size: 20px; line-height: 22px; }
/* personalização interactiva sobre a foto */
.rp-perso { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.rp-perso-form { background: #fff; border: 1px solid #e3e7ec; border-radius: 16px; padding: 26px; box-shadow: 0 8px 22px rgba(29,39,51,.08); }
.rp-perso-form label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 700; color: #1d2733; }
.rp-perso-form input, .rp-perso-form select { width: 100%; box-sizing: border-box; height: 48px; margin: 0 0 16px; border: 1px solid #cfd6de; border-radius: 8px; padding: 0 14px; font: 400 16px Ubuntu, arial, sans-serif; color: #1d2733; background: #fff; }
.rp-perso-form input:focus, .rp-perso-form select:focus { outline: none; border-color: #d60037; box-shadow: 0 0 0 3px rgba(214,0,55,.12); }
.rp-perso-form .rp-codigo { white-space: pre-wrap; font-size: 14px; margin: 0 0 12px; }
.rp-perso-conta { font-size: 13.5px; color: #4a5562; margin: 0; }
.rp-perso-conta b { color: #d60037; }
.rp-perso-foto { position: relative; border-radius: 18px; overflow: hidden; box-shadow: 0 14px 34px rgba(29,39,51,.16); }
.rp-perso-foto img { display: block; width: 100%; height: auto; }
.rp-perso-foto .rp-msg { position: absolute; left: 18px; right: 18px; bottom: 18px; margin: 0; }
/* linha do tempo em zigue-zague */
.rp-zig { position: relative; list-style: none; margin: 10px auto 0; padding: 0; max-width: 980px; counter-reset: rz; }
.rp-zig::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: rgba(29,39,51,.18); }
.rp-zig li { position: relative; width: 50%; box-sizing: border-box; padding: 0 44px 26px 0; counter-increment: rz; }
.rp-zig li:nth-child(even) { margin-left: 50%; padding: 0 0 26px 44px; }
.rp-zig li::before { content: counter(rz); position: absolute; top: 6px; right: -21px; width: 42px; height: 42px; border-radius: 50%; background: #d60037; color: #fff; font: 700 18px/42px Ubuntu, arial, sans-serif; text-align: center; box-shadow: 0 0 0 6px #f3f4f5; z-index: 1; }
.rp-zig li:nth-child(even)::before { right: auto; left: -21px; }
.rp-zig-c { background: #fff; border: 1px solid #e3e7ec; border-radius: 14px; padding: 20px 22px; box-shadow: 0 6px 18px rgba(29,39,51,.06); }
.rp-zig-c h3 { margin: 0 0 6px; font-size: 18px; line-height: 24px; font-weight: 700; color: #1d2733; }
.rp-zig-c p { margin: 0; font-size: 15px; line-height: 23px; color: #4a5562; }
/* lista de duas colunas com ícone, sem cartões */
.rp-lista-ico { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 40px; margin: 10px 0 0; padding: 0; list-style: none; }
.rp-lista-ico li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 2px 16px; align-items: start; padding-bottom: 20px; border-bottom: 1px solid #eef1f4; }
.rp-lista-ico span { grid-row: span 2; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: #1d2733; color: #fff; font-size: 22px; }
.rp-lista-ico h3 { margin: 0; font-size: 17px; line-height: 24px; font-weight: 700; color: #1d2733; }
.rp-lista-ico p { margin: 0; font-size: 15px; line-height: 23px; color: #4a5562; }
/* faça / evite */
.rp-faca { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
.rp-faca > div { border-radius: 16px; padding: 26px 28px; }
.rp-faca-sim { background: #1d2733; color: #fff; }
.rp-faca-nao { background: #fff; border: 2px solid #d60037; }
.rp-faca h3 { margin: 0 0 14px; font-size: 20px; line-height: 26px; font-weight: 700; }
.rp-faca-sim h3 { color: #fff; } .rp-faca-nao h3 { color: #d60037; }
.rp-faca ul { list-style: none; margin: 0; padding: 0; }
.rp-faca li { position: relative; padding: 0 0 12px 30px; font-size: 15.5px; line-height: 23px; }
.rp-faca-sim li { color: rgba(255,255,255,.88); } .rp-faca-nao li { color: #4a5562; }
.rp-faca li::before { position: absolute; left: 0; top: 0; font: 700 17px/23px Ubuntu, arial, sans-serif; }
.rp-faca-sim li::before { content: "\2713"; color: #ff7d9b; } .rp-faca-nao li::before { content: "\2715"; color: #d60037; }
/* calculadora de campanha */
.rp-camp { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 28px; align-items: stretch; }
.rp-camp-f { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.rp-camp-f label { grid-column: span 1; }
.rp-camp select { width: 100%; box-sizing: border-box; height: 50px; border: 1px solid #cfd6de; border-radius: 8px; padding: 0 12px; font: 400 17px Ubuntu, arial, sans-serif; color: #1d2733; background: #fff; }
.rp-camp-res { background: #1d2733; color: #fff; border-radius: 14px; padding: 26px; display: flex; flex-direction: column; gap: 12px; justify-content: center; }
.rp-camp-res span { display: block; font-size: 13.5px; color: rgba(255,255,255,.72); }
.rp-camp-res strong { display: block; font: 700 24px/30px Ubuntu, arial, sans-serif; color: #fff; }
.rp-camp-res .rp-camp-total strong { font-size: 32px; line-height: 38px; color: #ff7d9b; }
.rp-escal-mini { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; list-style: none; }
.rp-escal-mini li { font-size: 13px; line-height: 18px; background: #f3f4f5; border-radius: 20px; padding: 6px 12px; color: #1d2733; }
.rp-escal-mini li.rp-agora { background: #d60037; color: #fff; }
/* API: janela de terminal com separadores */
.rp-api-abre { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 36px; align-items: center; padding: 50px 0 56px; }
.rp-api-abre h2 { margin: 0 0 12px; font: 700 32px/40px Ubuntu, arial, sans-serif; color: #fff; }
.rp-api-abre h2 span { color: #ff7d9b; }
.rp-api-abre > div > p { margin: 0 0 18px; font-size: 16.5px; line-height: 26px; color: rgba(255,255,255,.84); }
.rp-api-passos { list-style: none; margin: 0 0 22px; padding: 0; counter-reset: ra; }
.rp-api-passos li { position: relative; padding: 0 0 14px 44px; counter-increment: ra; font-size: 15.5px; line-height: 23px; color: rgba(255,255,255,.86); }
.rp-api-passos li::before { content: counter(ra); position: absolute; left: 0; top: -2px; width: 30px; height: 30px; border-radius: 8px; background: #d60037; color: #fff; font: 700 15px/30px Ubuntu, arial, sans-serif; text-align: center; }
.rp-api-passos b { color: #fff; }
.rp-term { background: #0f151d; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; overflow: hidden; box-shadow: 0 20px 44px rgba(0,0,0,.35); min-width: 0; }
.rp-term-topo { display: flex; align-items: center; gap: 6px; padding: 10px 12px; background: #19212c; border-bottom: 1px solid rgba(255,255,255,.08); flex-wrap: wrap; }
.rp-term-topo i { width: 11px; height: 11px; border-radius: 50%; background: #3a4452; }
.rp-term-topo i:first-child { background: #d60037; }
.rp-term-tabs { display: flex; gap: 4px; margin-left: 10px; flex-wrap: wrap; }
.rp-term-tabs button { appearance: none; border: 0; background: transparent; color: rgba(255,255,255,.65); padding: 5px 10px; border-radius: 6px; font: 700 13px Ubuntu, arial, sans-serif; cursor: pointer; }
.rp-term-tabs button[aria-selected="true"] { background: #d60037; color: #fff; }
.rp-term pre { margin: 0; padding: 18px 20px; overflow-x: auto; font: 400 13.5px/22px "Ubuntu Mono", Ubuntu, monospace; color: rgba(255,255,255,.90); white-space: pre; background: transparent; border: 0; }
.rp-term pre[hidden] { display: none; }
.rp-term pre b { color: #ff7d9b; font-weight: 400; }
.rp-term pre i { color: rgba(255,255,255,.45); font-style: normal; }
/* fluxo horizontal */
.rp-fluxo { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 10px 0 30px; padding: 0; list-style: none; }
.rp-fluxo li { position: relative; text-align: center; padding: 0 14px; min-width: 0; }
.rp-fluxo li + li::before { content: ""; position: absolute; left: -14%; right: 86%; top: 36px; height: 2px; background: #d60037; }
.rp-fluxo li + li::after { content: ""; position: absolute; left: calc(86% - 2px - 100%); top: 31px; }
.rp-fluxo-ico { display: inline-flex; align-items: center; justify-content: center; width: 74px; height: 74px; border-radius: 22px; background: #fff; border: 2px solid #1d2733; color: #1d2733; font-size: 32px; margin-bottom: 12px; }
.rp-fluxo li:nth-child(2) .rp-fluxo-ico { background: #d60037; border-color: #d60037; color: #fff; }
.rp-fluxo h3 { margin: 0 0 4px; font-size: 17px; line-height: 23px; font-weight: 700; color: #1d2733; }
.rp-fluxo p { margin: 0; font-size: 14.5px; line-height: 21px; color: #4a5562; }
.rp-estados { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.rp-estados li { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; color: #4a5562; }
.rp-estados code { background: #1d2733; color: #fff; border-radius: 20px; padding: 4px 12px; font: 400 13.5px "Ubuntu Mono", Ubuntu, monospace; }
.rp-estados li.rp-mau code { background: #fff; color: #d60037; border: 1px solid #d60037; }
.rp-estados li + li::before { content: "\203A"; color: #cfd6de; font-size: 20px; margin-right: 4px; }
.rp-estados li.rp-sep::before { content: "|"; }
/* explorador de operações */
.rp-endp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 10px 0 0; padding: 0; list-style: none; }
.rp-endp > li { background: #fff; border: 1px solid #e3e7ec; border-top: 4px solid #1d2733; border-radius: 12px; padding: 18px 18px 8px; box-shadow: 0 6px 18px rgba(29,39,51,.05); min-width: 0; }
.rp-endp h3 { margin: 0 0 10px; font-size: 16.5px; line-height: 22px; font-weight: 700; color: #1d2733; }
.rp-endp ul { list-style: none; margin: 0; padding: 0; }
.rp-endp ul li { display: flex; gap: 8px; align-items: baseline; padding: 0 0 9px; font: 400 13.5px/20px "Ubuntu Mono", Ubuntu, monospace; color: #1d2733; overflow-wrap: anywhere; }
.rp-m { flex: 0 0 auto; min-width: 50px; text-align: center; border-radius: 5px; padding: 1px 6px; font: 700 11.5px/18px Ubuntu, arial, sans-serif; letter-spacing: .3px; }
.rp-m-get { background: #1d2733; color: #fff; } .rp-m-post { background: #d60037; color: #fff; } .rp-m-patch { background: #e3e7ec; color: #1d2733; } .rp-m-del { background: #fff; color: #d60037; border: 1px solid #d60037; }
/* telhas com foto e texto por cima */
.rp-telhas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 10px 0 0; padding: 0; list-style: none; }
.rp-telha { position: relative; min-height: 380px; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; color: #fff;
  background-size: cover; background-position: center; background-image: linear-gradient(180deg, rgba(29,39,51,0) 20%, rgba(29,39,51,.92) 72%), var(--rp-foto); box-shadow: 0 10px 28px rgba(29,39,51,.18); }
.rp-telha-txt { padding: 22px 22px 24px; }
.rp-telha h3 { margin: 0 0 6px; font-size: 20px; line-height: 26px; font-weight: 700; color: #fff; }
.rp-telha p { margin: 0 0 12px; font-size: 15px; line-height: 22px; color: rgba(255,255,255,.88); }
.rp-telha .rp-bolha { background: rgba(255,255,255,.95); }
/* interruptor Sandbox / Produção */
.rp-inter { max-width: 900px; margin: 0 auto; background: #fff; border: 1px solid #e3e7ec; border-radius: 18px; box-shadow: 0 10px 28px rgba(29,39,51,.08); overflow: hidden; }
.rp-inter-bar { display: flex; justify-content: center; gap: 0; padding: 18px; background: #f3f4f5; border-bottom: 1px solid #e3e7ec; }
.rp-inter-bar button { appearance: none; border: 2px solid #1d2733; background: #fff; color: #1d2733; padding: 10px 26px; font: 700 15px Ubuntu, arial, sans-serif; cursor: pointer; }
.rp-inter-bar button:first-child { border-radius: 30px 0 0 30px; } .rp-inter-bar button:last-child { border-radius: 0 30px 30px 0; border-left: 0; }
.rp-inter-bar button[aria-pressed="true"] { background: #1d2733; color: #fff; }
.rp-inter-bar button.rp-prod[aria-pressed="true"] { background: #d60037; border-color: #d60037; }
.rp-inter dl { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); margin: 0; }
.rp-inter dt, .rp-inter dd { margin: 0; padding: 14px 24px; border-top: 1px solid #eef1f4; font-size: 15.5px; line-height: 23px; }
.rp-inter dt { font-weight: 700; color: #1d2733; background: #fafbfc; }
.rp-inter dd { color: #4a5562; }
.rp-inter dd code, .rp-inter dt code { background: #f3f4f5; border-radius: 4px; padding: 1px 6px; font: 400 14px "Ubuntu Mono", Ubuntu, monospace; color: #1d2733; }
.rp-inter [data-modo][hidden] { display: none; }
/* lista em vidro sobre a foto */
.rp-vidro-l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 10px 0 0; padding: 0; list-style: none; }
.rp-vidro-l li { background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.22); border-radius: 14px; padding: 18px 20px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.rp-vidro-l h3 { margin: 0 0 6px; font-size: 17px; line-height: 23px; font-weight: 700; color: #fff; }
.rp-vidro-l p { margin: 0; font-size: 14.5px; line-height: 22px; color: rgba(255,255,255,.86); }
@supports not ((backdrop-filter: blur(2px)) or (-webkit-backdrop-filter: blur(2px))) { .rp-vidro-l li { background: rgba(29,39,51,.62); } }
/* escalões em fichas */
.rp-escal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; margin: 10px 0 22px; padding: 0; list-style: none; }
.rp-escal li { background: #fff; border: 1px solid #e3e7ec; border-radius: 12px; padding: 16px 8px; text-align: center; min-width: 0; box-shadow: 0 4px 12px rgba(29,39,51,.05); }
.rp-escal li:last-child { background: #1d2733; border-color: #1d2733; }
.rp-escal span { display: block; font-size: 12.5px; line-height: 17px; color: #4a5562; min-height: 34px; }
.rp-escal strong { display: block; margin-top: 6px; font: 700 18px/24px Ubuntu, arial, sans-serif; color: #d60037; white-space: nowrap; }
.rp-escal li:last-child span { color: rgba(255,255,255,.75); } .rp-escal li:last-child strong { color: #fff; }
.rp-linha-calc { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 18px; background: #fff; border: 1px solid #e3e7ec; border-radius: 14px; padding: 18px 22px; box-shadow: 0 6px 18px rgba(29,39,51,.06); }
.rp-linha-calc label { font-weight: 700; color: #1d2733; font-size: 15px; }
.rp-linha-calc input { width: 160px; height: 46px; border: 1px solid #cfd6de; border-radius: 8px; padding: 0 12px; font: 400 17px Ubuntu, arial, sans-serif; color: #1d2733; }
.rp-linha-calc output { font: 700 20px Ubuntu, arial, sans-serif; color: #1d2733; }
.rp-linha-calc output b { color: #d60037; }
/* OTP: demonstração */
.rp-demo { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 44px; align-items: center; padding: 10px 0 0; }
.rp-demo-tel { max-width: 320px; margin: 0 auto; background: #1d2733; border-radius: 36px; padding: 14px; box-shadow: 0 22px 46px rgba(29,39,51,.30); }
.rp-demo-ecra { background: #fff; border-radius: 26px; padding: 20px 16px 22px; min-height: 420px; display: flex; flex-direction: column; gap: 12px; }
.rp-demo-ecra h3 { margin: 0; text-align: center; font-size: 17px; line-height: 23px; font-weight: 700; color: #1d2733; }
.rp-demo-ecra p { margin: 0; text-align: center; font-size: 13.5px; line-height: 19px; color: #4a5562; }
.rp-demo-sms { min-height: 64px; }
.rp-demo-sms .rp-bolha { margin: 0; }
.rp-demo-ecra input { height: 52px; border: 2px solid #cfd6de; border-radius: 10px; text-align: center; letter-spacing: 8px; font: 700 24px Ubuntu, arial, sans-serif; color: #1d2733; width: 100%; box-sizing: border-box; }
.rp-demo-ecra input:focus { outline: none; border-color: #d60037; }
.rp-demo-ecra .rp-btn { width: 100%; box-sizing: border-box; cursor: pointer; }
.rp-demo-ecra .rp-btn[disabled] { opacity: .5; cursor: default; }
.rp-demo-est { text-align: center; font: 700 14px/20px Ubuntu, arial, sans-serif; color: #1d2733; min-height: 20px; }
.rp-demo-est code { background: #1d2733; color: #fff; border-radius: 20px; padding: 2px 10px; font: 400 13px "Ubuntu Mono", Ubuntu, monospace; }
.rp-demo-est.rp-mau code { background: #d60037; }
.rp-demo-json { margin: 0; background: #0f151d; color: rgba(255,255,255,.88); border-radius: 14px; padding: 18px 20px; font: 400 13.5px/22px "Ubuntu Mono", Ubuntu, monospace; white-space: pre; overflow-x: auto; min-height: 200px; }
.rp-demo-json b { color: #ff7d9b; font-weight: 400; }
.rp-demo-nota { margin: 10px 0 0; font-size: 13.5px; line-height: 20px; color: #4a5562; }
/* linha do tempo vertical com o pedido de cada passo */
.rp-tempo { list-style: none; margin: 0; padding: 0 0 0 34px; border-left: 2px solid rgba(255,255,255,.25); counter-reset: rt; }
.rp-tempo li { position: relative; padding: 0 0 26px 22px; counter-increment: rt; }
.rp-tempo li::before { content: counter(rt); position: absolute; left: -56px; top: -2px; width: 40px; height: 40px; border-radius: 50%; background: #d60037; color: #fff; font: 700 17px/40px Ubuntu, arial, sans-serif; text-align: center; box-shadow: 0 0 0 6px rgba(29,39,51,.9); }
.rp-tempo h3 { margin: 0 0 4px; font-size: 18px; line-height: 24px; font-weight: 700; color: #fff; }
.rp-tempo p { margin: 0; font-size: 15px; line-height: 23px; color: rgba(255,255,255,.84); }
.rp-tempo-g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; padding-bottom: 10px; }
/* lista numerada com barra */
.rp-barra { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; margin: 10px 0 0; padding: 0; list-style: none; counter-reset: rb; }
.rp-barra li { position: relative; background: #fff; border-radius: 12px; padding: 18px 20px 18px 74px; border-left: 5px solid #d60037; box-shadow: 0 6px 18px rgba(29,39,51,.06); counter-increment: rb; min-width: 0; }
.rp-barra li::before { content: counter(rb, decimal-leading-zero); position: absolute; left: 20px; top: 16px; font: 900 28px/1 Ubuntu, arial, sans-serif; color: #e3e7ec; }
.rp-barra h3 { margin: 0 0 4px; font-size: 17px; line-height: 23px; font-weight: 700; color: #1d2733; }
.rp-barra p { margin: 0; font-size: 15px; line-height: 23px; color: #4a5562; }
/* linhas em zigue-zague, foto e texto */
.rp-zz { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 28px; }
.rp-zz li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; align-items: stretch; background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 28px rgba(29,39,51,.08); }
.rp-zz li:nth-child(even) img { order: 2; }
.rp-zz img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.rp-zz-txt { padding: 30px 34px; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.rp-zz-txt h3 { margin: 0; font-size: 22px; line-height: 28px; font-weight: 700; color: #1d2733; }
.rp-zz-txt p { margin: 0; font-size: 16px; line-height: 25px; color: #4a5562; }
.rp-zz-txt .rp-bolha { margin: 0; max-width: 420px; }
/* o atributo hidden ganha sempre aos botões da casa (display:inline-flex) */
.rp-demo [hidden], .rp-term [hidden], .rp-inter [hidden] { display: none !important; }
.rp-fluxo li + li::after { display: none; }
/* RESPONSIVO V2 */
@media (max-width: 991px) {
  .rp-abre, .rp-api-abre, .rp-perso, .rp-demo, .rp-tempo-g, .rp-camp { grid-template-columns: minmax(0, 1fr); }
  .rp-painel, .rp-zz li { grid-template-columns: minmax(0, 1fr); } .rp-zz li:nth-child(even) img { order: 0; }
  .rp-painel img, .rp-zz img { min-height: 240px; max-height: 320px; }
  .rp-tira { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rp-tira li:nth-child(3) { border-left: 0; } .rp-tira li:nth-child(n+3) { border-top: 1px solid #e3e7ec; }
  .rp-endp, .rp-telhas, .rp-vidro-l { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-escal { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rp-fluxo { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 26px; } .rp-fluxo li + li::before { display: none; }
}
@media (max-width: 767px) {
  .rp-zig::before { left: 21px; } .rp-zig li, .rp-zig li:nth-child(even) { width: auto; margin-left: 0; padding: 0 0 22px 62px; }
  .rp-zig li::before, .rp-zig li:nth-child(even)::before { left: 0; right: auto; }
  .rp-lista-ico, .rp-faca, .rp-barra { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575px) {
  .rp-abre h2, .rp-api-abre h2 { font-size: 27px; line-height: 34px; }
  .rp-endp, .rp-telhas, .rp-vidro-l, .rp-camp-f { grid-template-columns: minmax(0, 1fr); }
  .rp-escal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rp-tira strong { font-size: 28px; }
  .rp-painel-txt, .rp-zz-txt { padding: 24px 20px; }
  .rp-inter dl { grid-template-columns: minmax(0, 1fr); } .rp-inter dt { border-top: 1px solid #e3e7ec; padding-bottom: 4px; } .rp-inter dd { border-top: 0; padding-top: 0; }
  .rp-msg:nth-child(2), .rp-msg:nth-child(3) { margin-left: 0; }
}
