/*
Theme Name: Rosa Performance
Theme URI: https://example.com/rosa-performance
Author: Thiago
Description: Tema WordPress mobile-first para agencia de servicos digitais (Meta Ads, Google Ads, GA4) com area editorial em formato portal de noticias. Areas de anuncio gerenciadas por widgets, com reserva de espaco para evitar CLS.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rosa-performance
Tags: blog, news, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, translation-ready
*/

/* =========================================================
   1. TOKENS
   ========================================================= */
:root{
  /* Marca */
  --rp-rosa:        #D8627A;
  --rp-rosa-soft:   #EFA6B4;
  --rp-rosa-bg:     #FBECEF;
  --rp-rosa-deep:   #B84A62;
  --rp-navy:        #150E3A;
  --rp-navy-soft:   #2E2564;
  --rp-green:       #2E9E74;
  --rp-red:         #C4453F;

  /* Neutros derivados */
  --rp-bg:          #F1F0F4;
  --rp-surface:     #FFFFFF;
  --rp-ink:         #150E3A;
  --rp-ink-2:       #4A4463;
  --rp-ink-3:       #6E6889;
  --rp-line:        #E2E0E9;
  --rp-line-soft:   #EDEBF2;

  /* Tipografia */
  --rp-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --rp-fs-xs:  0.75rem;   /* 12 */
  --rp-fs-sm:  0.8125rem; /* 13 */
  --rp-fs-base:1rem;      /* 16 */
  --rp-fs-md:  1.0625rem; /* 17 */
  --rp-fs-lg:  1.25rem;   /* 20 */
  --rp-fs-xl:  1.5rem;    /* 24 */
  --rp-fs-2xl: 1.875rem;  /* 30 */
  --rp-fs-3xl: 2.25rem;   /* 36 */

  /* Espaco e forma */
  --rp-gap:    1rem;
  --rp-gap-lg: 1.5rem;
  --rp-radius: 10px;
  --rp-radius-sm: 6px;
  --rp-max:    1200px;
  --rp-read:   40rem;

  --rp-shadow:    0 1px 2px rgba(21,14,58,.06), 0 2px 8px rgba(21,14,58,.05);
  --rp-shadow-lg: 0 6px 24px rgba(21,14,58,.10);
}

/* =========================================================
   2. RESET / BASE
   ========================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--rp-bg);
  color:var(--rp-ink);
  font-family:var(--rp-font);
  font-size:var(--rp-fs-base);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video,iframe{ max-width:100%; height:auto; display:block; }
a{ color:var(--rp-rosa-deep); text-decoration:none; }
a:hover{ color:var(--rp-rosa); }
h1,h2,h3,h4,h5{ margin:0 0 .5em; line-height:1.22; font-weight:700; letter-spacing:-0.015em; }
p{ margin:0 0 1em; }
ul,ol{ margin:0 0 1em; padding-left:1.25rem; }
figure{ margin:0; }
button{ font:inherit; }
:focus-visible{ outline:3px solid var(--rp-rosa); outline-offset:2px; border-radius:4px; }
.rp-sr{
  position:absolute!important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.rp-skip{
  position:absolute; left:-9999px; top:0; z-index:999;
  background:var(--rp-navy); color:#fff; padding:.75rem 1rem;
}
.rp-skip:focus{ left:0; }

/* =========================================================
   3. LAYOUT
   ========================================================= */
.rp-wrap{ width:100%; max-width:var(--rp-max); margin-inline:auto; padding-inline:1rem; }
.rp-main{ padding-block:1rem 2.5rem; }
.rp-cols{ display:block; }
.rp-content{ min-width:0; }
.rp-aside{ margin-top:2rem; }

@media (min-width:64rem){
  .rp-wrap{ padding-inline:1.5rem; }
  .rp-cols{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:2.5rem; align-items:start; }
  .rp-aside{ margin-top:0; position:sticky; top:5.5rem; }
}

/* =========================================================
   4. HEADER
   ========================================================= */
.rp-topbar{
  background:var(--rp-navy);
  color:#CFC9E4;
  font-size:var(--rp-fs-xs);
}
.rp-topbar__in{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; min-height:34px; flex-wrap:wrap;
}
.rp-topbar a{ color:#fff; }
.rp-topbar__date::first-letter{ text-transform:uppercase; }

.rp-header{
  background:var(--rp-surface);
  border-bottom:1px solid var(--rp-line);
  position:sticky; top:0; z-index:50;
}
.rp-header__in{
  display:flex; align-items:center; gap:.75rem;
  min-height:60px;
}
.rp-brand{ display:flex; align-items:center; gap:.6rem; margin-right:auto; min-width:0; }
.rp-brand__mark{
  width:34px; height:34px; border-radius:9px; flex:0 0 auto;
  background:linear-gradient(135deg,var(--rp-rosa) 0%,var(--rp-rosa-deep) 100%);
  display:grid; place-items:center; color:#fff; font-weight:800; font-size:1rem;
}
.rp-brand__name{
  font-weight:800; font-size:1.0625rem; color:var(--rp-navy);
  letter-spacing:-.02em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rp-brand__name b{ color:var(--rp-rosa); }
.rp-brand img{ max-height:38px; width:auto; }

.rp-burger{
  border:1px solid var(--rp-line); background:var(--rp-surface);
  width:40px; height:40px; border-radius:var(--rp-radius-sm);
  display:grid; place-items:center; cursor:pointer; color:var(--rp-navy);
}
.rp-burger span{ display:block; width:18px; height:2px; background:currentColor; box-shadow:0 -6px 0 currentColor, 0 6px 0 currentColor; }
.rp-header .rp-header__cta{ display:none; }

.rp-nav{
  display:none; background:var(--rp-surface);
  border-bottom:1px solid var(--rp-line);
}
.rp-nav.is-open{ display:block; }
.rp-nav ul{ list-style:none; margin:0; padding:.25rem 0 .75rem; }
.rp-nav li{ border-bottom:1px solid var(--rp-line-soft); }
.rp-nav li:last-child{ border-bottom:0; }
.rp-nav a{
  display:block; padding:.7rem .25rem; color:var(--rp-navy);
  font-weight:600; font-size:.9375rem;
}
.rp-nav a:hover, .rp-nav .current-menu-item > a{ color:var(--rp-rosa-deep); }

@media (min-width:64rem){
  .rp-burger{ display:none; }
  .rp-header__in{ min-height:68px; gap:1.5rem; }
  .rp-nav{ display:block; border:0; background:transparent; }
  .rp-nav ul{ display:flex; gap:1.25rem; padding:.15rem 0 .5rem; align-items:center; }
  .rp-nav li{ border:0; }
  .rp-nav a{ padding:.35rem 0; position:relative; white-space:nowrap; }
  .rp-nav a::after{
    content:""; position:absolute; left:0; right:0; bottom:-.4rem; height:3px;
    background:var(--rp-rosa); border-radius:3px; transform:scaleX(0);
    transition:transform .18s ease;
  }
  .rp-nav a:hover::after, .rp-nav .current-menu-item > a::after{ transform:scaleX(1); }
  .rp-header .rp-header__cta{
    display:inline-flex; margin-left:auto;
  }
}

/* =========================================================
   5. BOTOES
   ========================================================= */
.rp-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.8rem 1.25rem; border-radius:999px; font-weight:700; font-size:.9375rem;
  border:2px solid transparent; cursor:pointer; text-align:center; line-height:1.2;
  transition:background .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
}
.rp-btn:active{ transform:translateY(1px); }
.rp-btn--primary{ background:var(--rp-rosa); color:#fff; }
.rp-btn--primary:hover{ background:var(--rp-rosa-deep); color:#fff; }
.rp-btn--ghost{ border-color:var(--rp-rosa); color:var(--rp-rosa-deep); background:transparent; }
.rp-btn--ghost:hover{ background:var(--rp-rosa-bg); color:var(--rp-rosa-deep); }
.rp-btn--light{ background:#fff; color:var(--rp-navy); }
.rp-btn--light:hover{ background:var(--rp-rosa-bg); color:var(--rp-navy); }
.rp-btn--sm{ padding:.55rem 1rem; font-size:.875rem; }
.rp-btn--block{ display:flex; width:100%; }

/* =========================================================
   6. ANUNCIOS (widgets)
   ========================================================= */
.rp-ad{
  margin:1.25rem 0;
  text-align:center;
}
.rp-ad__label{
  display:block; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rp-ink-3); margin-bottom:.35rem; font-weight:600;
}
.rp-ad__slot{
  display:flex; align-items:center; justify-content:center; flex-direction:column;
  gap:.75rem;
  background:transparent;
  border-radius:var(--rp-radius);
  overflow:hidden;
}
.rp-ad__slot > *{ max-width:100%; }
.rp-ad__slot .widget{ width:100%; }
.rp-ad__slot .widget-title{ display:none; }
.rp-ad img{ margin-inline:auto; border-radius:var(--rp-radius-sm); }

/* Reserva de altura por formato (anti-CLS) */
.rp-ad--billboard .rp-ad__slot{ min-height:100px; }
.rp-ad--rect .rp-ad__slot{ min-height:250px; }
.rp-ad--inline .rp-ad__slot{ min-height:250px; }
.rp-ad--sidebar .rp-ad__slot{ min-height:250px; }
@media (min-width:64rem){
  .rp-ad--billboard .rp-ad__slot{ min-height:250px; }
  .rp-ad--sidebar .rp-ad__slot{ min-height:600px; }
}

/* Anuncio dentro do texto do post */
.rp-ad--incontent{ margin:1.75rem 0; clear:both; }

/* Placeholder visivel apenas para admin logado */
.rp-ad__placeholder{
  width:100%; padding:1.25rem; color:var(--rp-rosa-deep);
  font-size:var(--rp-fs-sm); font-weight:600;
  border:2px dashed var(--rp-rosa-soft); border-radius:var(--rp-radius);
  background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(216,98,122,.05) 10px,rgba(216,98,122,.05) 20px);
}

/* Banner proprio do widget */
.rp-banner{ display:block; }
.rp-banner img{ width:100%; height:auto; }

/* =========================================================
   7. CHAPEU / TITULOS DE SECAO
   ========================================================= */
.rp-hat{
  display:inline-block; font-size:var(--rp-fs-xs); font-weight:800;
  text-transform:uppercase; letter-spacing:.08em; color:var(--rp-rosa-deep);
}
.rp-section-head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:1rem; margin:2rem 0 1rem; padding-bottom:.5rem;
  border-bottom:3px solid var(--rp-navy);
}
.rp-section-head h2{
  margin:0; font-size:var(--rp-fs-lg); color:var(--rp-navy);
  position:relative; padding-left:.7rem;
}
.rp-section-head h2::before{
  content:""; position:absolute; left:0; top:.15em; bottom:.15em;
  width:4px; border-radius:3px; background:var(--rp-rosa);
}
.rp-section-head a{ font-size:var(--rp-fs-sm); font-weight:700; white-space:nowrap; }

/* =========================================================
   8. DESTAQUES (3 posts)
   ========================================================= */
.rp-featured{ display:grid; gap:1rem; }
.rp-fcard{
  background:var(--rp-surface); border-radius:var(--rp-radius);
  overflow:hidden; box-shadow:var(--rp-shadow);
  display:flex; flex-direction:column;
}
.rp-fcard__media{ position:relative; aspect-ratio:16/9; background:var(--rp-line-soft); }
.rp-fcard__media img{ width:100%; height:100%; object-fit:cover; }
.rp-fcard__body{ padding:.9rem 1rem 1.1rem; }
.rp-fcard__hat{ margin-bottom:.35rem; }
.rp-fcard__title{
  font-size:1.125rem; margin:0 0 .35rem; line-height:1.25;
}
.rp-fcard__title a{ color:var(--rp-navy); }
.rp-fcard__title a:hover{ color:var(--rp-rosa-deep); }
.rp-fcard__excerpt{
  margin:0; color:var(--rp-ink-2); font-size:var(--rp-fs-sm); line-height:1.5;
}
.rp-fcard--lead .rp-fcard__title{ font-size:1.375rem; }

@media (min-width:48rem){
  .rp-featured{ grid-template-columns:repeat(3,1fr); }
}
@media (min-width:64rem){
  .rp-featured{ grid-template-columns:1.6fr 1fr; grid-template-rows:auto auto; gap:1.25rem; }
  .rp-fcard--lead{ grid-row:span 2; }
  .rp-fcard--lead .rp-fcard__title{ font-size:1.75rem; }
  .rp-fcard--lead .rp-fcard__media{ aspect-ratio:auto; flex:1 1 auto; min-height:260px; }
  .rp-fcard--side{ flex-direction:row; }
  .rp-fcard--side .rp-fcard__media{ flex:0 0 40%; aspect-ratio:1/1; }
  .rp-fcard--side .rp-fcard__body{ padding:.85rem .95rem; }
  .rp-fcard--side .rp-fcard__title{
    font-size:1rem; display:-webkit-box; -webkit-line-clamp:4;
    -webkit-box-orient:vertical; overflow:hidden;
  }
  .rp-fcard--side .rp-fcard__excerpt{ display:none; }
}

/* =========================================================
   9. FEED DE POSTS
   ========================================================= */
.rp-feed{ display:flex; flex-direction:column; gap:0; }
.rp-item{
  display:grid; grid-template-columns:108px minmax(0,1fr); gap:.9rem;
  padding:1rem 0; border-bottom:1px solid var(--rp-line);
  align-items:start;
}
.rp-item__media{
  grid-column:1; grid-row:1; border-radius:var(--rp-radius-sm); overflow:hidden;
  aspect-ratio:1/1; background:var(--rp-line-soft);
}
.rp-item__text{ grid-column:2; grid-row:1; min-width:0; }
.rp-item__media img{ width:100%; height:100%; object-fit:cover; }
.rp-item__title{ font-size:1.0625rem; margin:.25rem 0 .35rem; line-height:1.3; }
.rp-item__title a{ color:var(--rp-navy); }
.rp-item__title a:hover{ color:var(--rp-rosa-deep); }
.rp-item__excerpt{ display:none; }
.rp-meta{
  font-size:var(--rp-fs-xs); color:var(--rp-ink-3);
  display:flex; flex-wrap:wrap; gap:.4rem; align-items:center;
}
.rp-meta a{ color:var(--rp-ink-3); }
.rp-meta__dot::before{ content:"\00B7"; margin-right:.4rem; }

@media (min-width:48rem){
  .rp-item{ grid-template-columns:220px minmax(0,1fr); gap:1.25rem; padding:1.35rem 0; }
  .rp-item__media{ aspect-ratio:16/9; }
  .rp-item__title{ font-size:1.25rem; }
  .rp-item__excerpt{
    display:block; margin:0 0 .4rem; color:var(--rp-ink-2);
    font-size:var(--rp-fs-sm); line-height:1.5;
  }
}

/* Paginacao */
.rp-pagination{ margin-top:1.75rem; }
.rp-pagination .nav-links{ display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; }
.rp-pagination .page-numbers{
  display:grid; place-items:center; min-width:40px; height:40px; padding:0 .6rem;
  background:var(--rp-surface); border:1px solid var(--rp-line);
  border-radius:var(--rp-radius-sm); color:var(--rp-navy); font-weight:600; font-size:.875rem;
}
.rp-pagination .page-numbers.current{ background:var(--rp-rosa); border-color:var(--rp-rosa); color:#fff; }
.rp-pagination a.page-numbers:hover{ border-color:var(--rp-rosa); color:var(--rp-rosa-deep); }

/* =========================================================
   10. SIDEBAR / WIDGETS
   ========================================================= */
.rp-widget{
  background:var(--rp-surface); border-radius:var(--rp-radius);
  padding:1.1rem; margin-bottom:1.25rem; box-shadow:var(--rp-shadow);
}
.rp-widget .widget-title, .rp-widget h2{
  font-size:var(--rp-fs-sm); text-transform:uppercase; letter-spacing:.08em;
  color:var(--rp-navy); margin:0 0 .85rem; padding-bottom:.5rem;
  border-bottom:2px solid var(--rp-rosa);
}
.rp-widget ul{ list-style:none; padding:0; margin:0; }
.rp-widget li{ padding:.5rem 0; border-bottom:1px solid var(--rp-line-soft); font-size:.9375rem; }
.rp-widget li:last-child{ border-bottom:0; }
.rp-widget a{ color:var(--rp-navy); }
.rp-widget a:hover{ color:var(--rp-rosa-deep); }
/* Widgets de anuncio nao ganham caixa branca */
.rp-widget.rp-widget--ad{ background:transparent; box-shadow:none; padding:0; }

.rp-searchform{ display:flex; gap:.5rem; }
.rp-searchform input[type="search"]{
  flex:1; min-width:0; padding:.65rem .8rem; font:inherit; font-size:.9375rem;
  border:1px solid var(--rp-line); border-radius:var(--rp-radius-sm); background:#fff; color:var(--rp-ink);
}
.rp-searchform input[type="search"]:focus{ border-color:var(--rp-rosa); outline:none; }
.rp-searchform button{
  background:var(--rp-rosa); color:#fff; border:0; padding:0 1rem;
  border-radius:var(--rp-radius-sm); font-weight:700; cursor:pointer;
}

/* =========================================================
   11. POST (single)
   ========================================================= */
.rp-single{ background:transparent; }
.rp-article{
  background:var(--rp-surface); border-radius:var(--rp-radius);
  padding:1.25rem 1rem 1.75rem; box-shadow:var(--rp-shadow);
}
.rp-breadcrumb{ font-size:var(--rp-fs-xs); color:var(--rp-ink-3); margin-bottom:.75rem; }
.rp-breadcrumb a{ color:var(--rp-ink-3); }
.rp-breadcrumb a:hover{ color:var(--rp-rosa-deep); }
.rp-article__hat{
  display:inline-block; background:var(--rp-rosa); color:#fff;
  font-size:var(--rp-fs-xs); font-weight:800; text-transform:uppercase; letter-spacing:.08em;
  padding:.3rem .6rem; border-radius:4px; margin-bottom:.75rem;
}
.rp-article__title{
  font-size:1.625rem; line-height:1.2; color:var(--rp-navy); margin:0 0 .6rem;
}
.rp-article__sub{
  font-size:var(--rp-fs-md); color:var(--rp-ink-2); line-height:1.5;
  margin:0 0 1rem; font-weight:400;
}
.rp-article__meta{
  display:flex; flex-wrap:wrap; gap:.5rem; align-items:center;
  padding:.75rem 0; border-top:1px solid var(--rp-line);
  border-bottom:1px solid var(--rp-line); font-size:var(--rp-fs-sm); color:var(--rp-ink-3);
}
.rp-article__meta strong{ color:var(--rp-navy); }
.rp-figure{ margin:1.25rem 0; }
.rp-figure img{ width:100%; border-radius:var(--rp-radius-sm); }
.rp-figure figcaption{ font-size:var(--rp-fs-xs); color:var(--rp-ink-3); margin-top:.4rem; }

.rp-prose{ font-size:var(--rp-fs-md); line-height:1.75; color:#2A2440; }
.rp-prose > *{ max-width:var(--rp-read); margin-inline:auto; }
.rp-prose h2{ font-size:1.375rem; color:var(--rp-navy); margin:1.75rem auto .6rem; }
.rp-prose h3{ font-size:1.125rem; color:var(--rp-navy); margin:1.5rem auto .5rem; }
.rp-prose a{ color:var(--rp-rosa-deep); text-decoration:underline; text-underline-offset:2px; }
.rp-prose blockquote{
  margin:1.5rem auto; padding:.75rem 0 .75rem 1.1rem;
  border-left:4px solid var(--rp-rosa); background:var(--rp-rosa-bg);
  border-radius:0 var(--rp-radius-sm) var(--rp-radius-sm) 0;
  font-size:1.0625rem; color:var(--rp-navy);
}
.rp-prose blockquote p:last-child{ margin-bottom:0; }
.rp-prose img, .rp-prose figure, .rp-prose .wp-block-image{ max-width:100%; }
.rp-prose figure img{ border-radius:var(--rp-radius-sm); }
.rp-prose figcaption{ font-size:var(--rp-fs-xs); color:var(--rp-ink-3); text-align:center; }
.rp-prose table{ width:100%; border-collapse:collapse; font-size:var(--rp-fs-sm); display:block; overflow-x:auto; }
.rp-prose th,.rp-prose td{ border:1px solid var(--rp-line); padding:.5rem .65rem; text-align:left; }
.rp-prose th{ background:var(--rp-rosa-bg); color:var(--rp-navy); }
.rp-prose pre{ background:var(--rp-navy); color:#EDEBF6; padding:1rem; border-radius:var(--rp-radius-sm); overflow-x:auto; font-size:.875rem; }
.rp-prose code{ background:var(--rp-rosa-bg); padding:.1em .35em; border-radius:4px; font-size:.9em; }
.rp-prose pre code{ background:transparent; padding:0; }
.rp-prose ul,.rp-prose ol{ padding-left:1.4rem; }
.rp-prose li{ margin-bottom:.4rem; }

.rp-tags{ display:flex; flex-wrap:wrap; gap:.4rem; margin:1.5rem 0 0; }
.rp-tags a{
  font-size:var(--rp-fs-xs); font-weight:600; background:var(--rp-rosa-bg);
  color:var(--rp-rosa-deep); padding:.35rem .7rem; border-radius:999px;
}
.rp-tags a:hover{ background:var(--rp-rosa-soft); color:var(--rp-navy); }

.rp-share{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.25rem; }
.rp-share a{
  font-size:var(--rp-fs-sm); font-weight:600; border:1px solid var(--rp-line);
  padding:.45rem .85rem; border-radius:999px; color:var(--rp-navy); background:#fff;
}
.rp-share a:hover{ border-color:var(--rp-rosa); color:var(--rp-rosa-deep); }

.rp-authorbox{
  display:flex; gap:.9rem; align-items:flex-start; margin-top:1.5rem;
  background:var(--rp-rosa-bg); border-radius:var(--rp-radius); padding:1rem;
}
.rp-authorbox img{ border-radius:50%; flex:0 0 auto; }
.rp-authorbox p{ margin:0; font-size:var(--rp-fs-sm); color:var(--rp-ink-2); }
.rp-authorbox strong{ display:block; color:var(--rp-navy); }

/* CTA de servicos dentro do post */
.rp-inpost-cta{
  margin:1.75rem auto 0; max-width:var(--rp-read);
  background:var(--rp-navy); color:#fff; border-radius:var(--rp-radius);
  padding:1.25rem;
}
.rp-inpost-cta h3{ color:#fff; margin:0 0 .35rem; font-size:1.125rem; }
.rp-inpost-cta p{ color:#CFC9E4; font-size:var(--rp-fs-sm); margin:0 0 .9rem; }

.rp-related{ margin-top:2rem; }
.rp-related__grid{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:48rem){ .rp-related__grid{ grid-template-columns:repeat(3,1fr); } }

@media (min-width:48rem){
  .rp-article{ padding:1.75rem 1.75rem 2rem; }
  .rp-article__title{ font-size:2.125rem; }
  .rp-article__sub{ font-size:1.125rem; }
}

/* =========================================================
   12. HOME DE SERVICOS
   ========================================================= */
.rp-hero{
  background:
    radial-gradient(1000px 500px at 85% -10%, rgba(216,98,122,.45), transparent 60%),
    linear-gradient(160deg, var(--rp-navy) 0%, var(--rp-navy-soft) 100%);
  color:#fff; padding:2.5rem 0 2.75rem;
}
.rp-hero h1{
  font-size:1.875rem; line-height:1.15; color:#fff; margin:0 0 .75rem;
  letter-spacing:-.03em;
}
.rp-hero h1 em{ font-style:normal; color:var(--rp-rosa-soft); }
.rp-hero p{ color:#D5CFE8; font-size:var(--rp-fs-md); max-width:34rem; margin:0 0 1.5rem; }
.rp-hero__badge{
  display:inline-flex; align-items:center; gap:.45rem; margin-bottom:1rem;
  background:rgba(255,255,255,.10); border:1px solid rgba(239,166,180,.35);
  color:var(--rp-rosa-soft); font-size:var(--rp-fs-xs); font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; padding:.35rem .75rem; border-radius:999px;
}
.rp-hero__actions{ display:flex; flex-wrap:wrap; gap:.65rem; }
.rp-hero__kpis{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; margin-top:2rem;
}
.rp-kpi{
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.10);
  border-radius:var(--rp-radius); padding:.85rem .75rem; text-align:center;
}
.rp-kpi b{ display:block; font-size:1.375rem; color:#fff; line-height:1.1; }
.rp-kpi span{ font-size:var(--rp-fs-xs); color:#C3BCDC; }
.rp-kpi--up b{ color:#7FE3BC; }

@media (min-width:64rem){
  .rp-hero{ padding:4.5rem 0 4rem; }
  .rp-hero__in{ display:grid; grid-template-columns:1.15fr .85fr; gap:3rem; align-items:center; }
  .rp-hero h1{ font-size:3rem; }
  .rp-hero__kpis{ margin-top:0; grid-template-columns:1fr; gap:.75rem; }
  .rp-kpi{ text-align:left; display:flex; align-items:baseline; gap:.75rem; padding:1rem 1.1rem; }
  .rp-kpi b{ font-size:1.75rem; }
}

.rp-section{ padding:2.5rem 0; }
.rp-section--tint{ background:var(--rp-rosa-bg); }
.rp-section--navy{ background:var(--rp-navy); color:#fff; }
.rp-section--navy h2, .rp-section--navy h3{ color:#fff; }
.rp-section--navy p{ color:#CFC9E4; }
.rp-section__head{ max-width:38rem; margin:0 0 1.75rem; }
.rp-section__head h2{ font-size:var(--rp-fs-2xl); color:var(--rp-navy); margin:.4rem 0 .5rem; }
.rp-section--navy .rp-section__head h2{ color:#fff; }
.rp-section__head p{ color:var(--rp-ink-2); margin:0; }
@media (min-width:64rem){
  .rp-section{ padding:4rem 0; }
  .rp-section__head h2{ font-size:var(--rp-fs-3xl); }
  .rp-section__head--center{ margin-inline:auto; text-align:center; }
}

.rp-grid{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:48rem){ .rp-grid--2{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:48rem){ .rp-grid--3{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:64rem){ .rp-grid--3{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:64rem){ .rp-grid--4{ grid-template-columns:repeat(4,1fr); } }
@media (min-width:48rem){ .rp-grid--4{ grid-template-columns:repeat(2,1fr); } }

.rp-svc{
  background:var(--rp-surface); border-radius:var(--rp-radius);
  padding:1.25rem; box-shadow:var(--rp-shadow);
  border-top:3px solid var(--rp-rosa);
}
.rp-svc__ico{
  width:42px; height:42px; border-radius:11px; display:grid; place-items:center;
  background:var(--rp-rosa-bg); color:var(--rp-rosa-deep); margin-bottom:.85rem;
}
.rp-svc__ico svg{ width:22px; height:22px; }
.rp-svc h3{ font-size:1.0625rem; color:var(--rp-navy); margin:0 0 .4rem; }
.rp-svc p{ font-size:var(--rp-fs-sm); color:var(--rp-ink-2); margin:0 0 .75rem; line-height:1.55; }
.rp-svc ul{ list-style:none; padding:0; margin:0; }
.rp-svc li{
  font-size:var(--rp-fs-sm); color:var(--rp-ink-2); padding-left:1.1rem;
  position:relative; margin-bottom:.3rem;
}
.rp-svc li::before{
  content:""; position:absolute; left:0; top:.55em; width:6px; height:6px;
  border-radius:50%; background:var(--rp-rosa);
}

.rp-step{ background:var(--rp-surface); border-radius:var(--rp-radius); padding:1.25rem; box-shadow:var(--rp-shadow); }
.rp-step__n{
  display:inline-grid; place-items:center; width:30px; height:30px; border-radius:50%;
  background:var(--rp-navy); color:#fff; font-weight:800; font-size:.875rem; margin-bottom:.75rem;
}
.rp-step h3{ font-size:1rem; color:var(--rp-navy); margin:0 0 .35rem; }
.rp-step p{ font-size:var(--rp-fs-sm); color:var(--rp-ink-2); margin:0; }

.rp-cta{
  background:linear-gradient(135deg,var(--rp-rosa) 0%,var(--rp-rosa-deep) 100%);
  color:#fff; border-radius:var(--rp-radius); padding:1.75rem 1.25rem; text-align:center;
}
.rp-cta h2{ color:#fff; font-size:var(--rp-fs-xl); margin:0 0 .5rem; }
.rp-cta p{ color:rgba(255,255,255,.9); margin:0 0 1.25rem; }
@media (min-width:64rem){
  .rp-cta{ padding:3rem; }
  .rp-cta h2{ font-size:var(--rp-fs-2xl); }
}

.rp-faq details{
  background:var(--rp-surface); border-radius:var(--rp-radius);
  padding:.95rem 1.1rem; margin-bottom:.6rem; box-shadow:var(--rp-shadow);
}
.rp-faq summary{
  cursor:pointer; font-weight:700; color:var(--rp-navy); font-size:.9375rem;
  list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center;
}
.rp-faq summary::-webkit-details-marker{ display:none; }
.rp-faq summary::after{ content:"+"; color:var(--rp-rosa); font-size:1.25rem; font-weight:700; }
.rp-faq details[open] summary::after{ content:"\2013"; }
.rp-faq p{ margin:.65rem 0 0; font-size:var(--rp-fs-sm); color:var(--rp-ink-2); }

/* =========================================================
   13. PAGINAS ESTATICAS / 404 / BUSCA
   ========================================================= */
.rp-page{
  background:var(--rp-surface); border-radius:var(--rp-radius);
  padding:1.5rem 1.1rem 2rem; box-shadow:var(--rp-shadow);
}
.rp-page__title{ font-size:1.75rem; color:var(--rp-navy); }
.rp-archive-head{ margin:1.25rem 0 .5rem; }
.rp-archive-head h1{ font-size:1.5rem; color:var(--rp-navy); margin:0; }
.rp-archive-head p{ color:var(--rp-ink-3); font-size:var(--rp-fs-sm); margin:.25rem 0 0; }
.rp-empty{ background:var(--rp-surface); border-radius:var(--rp-radius); padding:2rem 1.25rem; text-align:center; box-shadow:var(--rp-shadow); }
.rp-404{ text-align:center; padding:3rem 1rem; }
.rp-404 b{ display:block; font-size:4rem; color:var(--rp-rosa); line-height:1; }

/* =========================================================
   14. FOOTER
   ========================================================= */
.rp-footer{ background:var(--rp-navy); color:#BEB7D8; margin-top:2rem; }
.rp-footer a{ color:#fff; }
.rp-footer a:hover{ color:var(--rp-rosa-soft); }
.rp-footer__grid{ display:grid; gap:1.75rem; padding:2.25rem 0; grid-template-columns:1fr; }
.rp-footer h2, .rp-footer .widget-title{
  color:#fff; font-size:var(--rp-fs-sm); text-transform:uppercase; letter-spacing:.08em;
  margin:0 0 .85rem; padding-bottom:.5rem; border-bottom:2px solid var(--rp-rosa);
}
.rp-footer ul{ list-style:none; padding:0; margin:0; }
.rp-footer li{ padding:.3rem 0; font-size:.9375rem; }
.rp-footer__bottom{
  border-top:1px solid rgba(255,255,255,.10); padding:1rem 0 1.5rem;
  font-size:var(--rp-fs-xs); display:flex; flex-wrap:wrap; gap:.75rem;
  justify-content:space-between; align-items:center;
}
@media (min-width:48rem){ .rp-footer__grid{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:64rem){ .rp-footer__grid{ grid-template-columns:1.4fr 1fr 1fr 1fr; padding:3rem 0; } }

/* WhatsApp flutuante */
.rp-wa{
  position:fixed; right:14px; bottom:14px; z-index:60;
  width:52px; height:52px; border-radius:50%; display:grid; place-items:center;
  background:#25D366; color:#fff; box-shadow:var(--rp-shadow-lg);
}
.rp-wa svg{ width:26px; height:26px; }
.rp-wa:hover{ color:#fff; }

/* =========================================================
   15. WP CORE
   ========================================================= */
.alignleft{ float:left; margin:.3rem 1.25rem 1rem 0; }
.alignright{ float:right; margin:.3rem 0 1rem 1.25rem; }
.aligncenter{ margin-inline:auto; display:block; }
.alignwide,.alignfull{ max-width:100%; }
.wp-caption-text,.screen-reader-text{ font-size:var(--rp-fs-xs); }
.sticky .rp-item__title a::before{ content:"\2605 "; color:var(--rp-rosa); }
.wp-block-image{ margin-block:1.25rem; }

.rp-brand__link{ display:flex; align-items:center; gap:.6rem; min-width:0; }
.rp-adwidget__inner{ width:100%; }
.rp-pagelinks{ font-size:var(--rp-fs-sm); margin-top:1rem; }
.rp-pagelinks a{ font-weight:700; }
.rp-fwidget{ margin-bottom:1.25rem; }
.rp-footer__menu{ display:flex; gap:1rem; list-style:none; margin:0; padding:0; flex-wrap:wrap; }
.rp-topbar__menu{ display:flex; gap:1rem; list-style:none; margin:0; padding:0; flex-wrap:wrap; }

/* Controle de exibicao por dispositivo (widget de anuncio) */
.rp-hide-mobile{ display:none; }
@media (min-width:48rem){
  .rp-hide-mobile{ display:block; }
  .rp-hide-desk{ display:none; }
}

/* Comentarios */
.comment-list{ list-style:none; padding:0; }
.comment-body{ background:var(--rp-surface); border-radius:var(--rp-radius); padding:1rem; margin-bottom:.75rem; }
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{
  width:100%; padding:.65rem .8rem; border:1px solid var(--rp-line);
  border-radius:var(--rp-radius-sm); font:inherit; background:#fff;
}
.comment-form .submit{
  background:var(--rp-rosa); color:#fff; border:0; padding:.75rem 1.25rem;
  border-radius:999px; font-weight:700; cursor:pointer;
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print{
  .rp-ad,.rp-aside,.rp-nav,.rp-topbar,.rp-wa,.rp-footer{ display:none!important; }
}
