/*
Theme Name: Assessoria REI RECUPERA
Theme URI: https://reirecupera.com.br/
Author: Assessoria REI RECUPERA
Description: Tema original da Assessoria REI RECUPERA. Inclui página inicial completa, atendimento, WhatsApp e visual responsivo.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: assessoria-rei-recupera
License: GPL-2.0-or-later
*/

#rr-site {
      
      --primary: #61CE70;
      --primary-hover: #4EBD5D;
      --primary-dim: rgba(97, 206, 112, 0.12);

      --bg-body: #050505;
      --bg-surface: #0F1011;
      --bg-surface-2: #161819;

      --border-subtle: rgba(255, 255, 255, 0.08);
      --border-highlight: rgba(255, 255, 255, 0.15);

      --text-main: #FFFFFF;
      --text-secondary: #A0A0A0;
      --text-tertiary: #6C6C6C;

      --container-width: 1180px;
      --radius-lg: 20px;
      --radius-md: 12px;
      --radius-pill: 100px;

      --grad-hero: radial-gradient(circle at 50% 0%, rgba(97, 206, 112, 0.10) 0%, transparent 52%);
      --grad-btn: linear-gradient(180deg, #61CE70 0%, #4DBF5C 100%);

      --shadow-1: 0 10px 40px rgba(0,0,0,0.55);
      --shadow-2: 0 20px 60px rgba(0,0,0,0.60);
    }
#rr-site, #rr-site * { box-sizing: border-box; margin: 0; padding: 0; outline: none; -webkit-tap-highlight-color: transparent; }
#rr-site { scroll-behavior: smooth; font-size: 16px; }
#rr-site {
      background-color: var(--bg-body);
      background-image: var(--grad-hero);
      background-repeat: no-repeat;
      color: var(--text-main);
      font-family: "Inter", sans-serif;
      line-height: 1.6;
      overflow-x: hidden;
    }
#rr-site h1, #rr-site h2, #rr-site h3, #rr-site h4, #rr-site .btn-font { font-family: "Poppins", sans-serif; letter-spacing: -0.02em; }
#rr-site img { max-width: 100%; display: block; height: auto; }
#rr-site a { text-decoration: none; color: inherit; transition: all 0.25s ease; }
#rr-site ul { list-style: none; }
#rr-site .skip-link {
      position: absolute;
      left: -999px;
      top: 10px;
      background: #000;
      color: #fff;
      padding: 10px 14px;
      border-radius: 10px;
      border: 1px solid var(--border-highlight);
      z-index: 3000;
    }
#rr-site .skip-link:focus { left: 10px; }
#rr-site .container {
      width: 100%;
      max-width: var(--container-width);
      margin: 0 auto;
      padding: 0 24px;
    }
#rr-site .section {
      padding: 90px 0;
      border-bottom: 1px solid var(--border-subtle);
    }
#rr-site .section:last-child { border-bottom: none; }
@media  (max-width: 768px) {
#rr-site .section { padding: 60px 0; }
}
#rr-site .header {
      position: fixed;
      top: 0; left: 0;
      width: 100%;
      z-index: 1000;
      background: rgba(5, 5, 5, 0.80);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border-subtle);
      padding: 14px 0;
    }
#rr-site .nav-flex { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
#rr-site .brand { display: flex; align-items: center; gap: 12px; min-width: 220px; }
#rr-site .brand img { width: 36px; height: 36px; border-radius: 10px; }
#rr-site .brand-name { font-weight: 700; font-size: 1rem; color: #fff; line-height: 1.2; }
#rr-site .brand-sub { font-size: 0.75rem; color: var(--text-secondary); font-weight: 400; }
#rr-site .desktop-only { display: none; }
@media  (min-width: 900px) {
#rr-site .desktop-only { display: flex; align-items: center; gap: 10px; }
}
#rr-site .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 14px 28px;
      border-radius: var(--radius-pill);
      font-weight: 600;
      font-size: 0.95rem;
      cursor: pointer;
      transition: transform 0.2s, box-shadow 0.2s, background 0.2s, border-color .2s, opacity .2s;
      white-space: nowrap;
    }
#rr-site .btn-primary {
      background: var(--grad-btn);
      color: #000;
      border: 1px solid transparent;
      box-shadow: 0 6px 22px rgba(97, 206, 112, 0.22);
    }
#rr-site .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 10px 34px rgba(97, 206, 112, 0.32);
      filter: brightness(1.05);
    }
#rr-site .btn-outline {
      background: transparent;
      border: 1px solid var(--border-highlight);
      color: var(--text-main);
    }
#rr-site .btn-outline:hover {
      background: var(--bg-surface-2);
      border-color: var(--text-secondary);
      transform: translateY(-1px);
    }
#rr-site .btn-ghost {
      background: transparent;
      color: var(--text-secondary);
      padding: 10px 16px;
      border-radius: 12px;
      border: 1px solid transparent;
    }
#rr-site .btn-ghost:hover {
      color: var(--text-main);
      border-color: var(--border-subtle);
      background: rgba(255,255,255,0.03);
    }
#rr-site .btn-call {
      background: transparent;
      border: 1px solid rgba(97, 206, 112, 0.45);
      color: var(--primary);
      padding: 10px 16px;
      border-radius: 14px;
      font-weight: 700;
      font-size: 0.9rem;
    }
#rr-site .btn-call:hover {
      background: rgba(97, 206, 112, 0.08);
      border-color: rgba(97, 206, 112, 0.70);
      transform: translateY(-1px);
    }
#rr-site .hero { padding-top: 140px; padding-bottom: 80px; }
#rr-site .hero-grid {
      display: grid;
      grid-template-columns: 1fr 0.95fr;
      gap: 60px;
      align-items: center;
    }
@media  (max-width: 900px) {
#rr-site .hero-grid { grid-template-columns: 1fr; gap: 34px; text-align: center; }
}
#rr-site .display-text {
      font-size: clamp(2.2rem, 5vw, 3.6rem);
      line-height: 1.08;
      font-weight: 700;
      margin-bottom: 18px;
    }
#rr-site .text-highlight { color: var(--primary); }
#rr-site .lead-text {
      font-size: 1.125rem;
      color: var(--text-secondary);
      max-width: 620px;
      margin-bottom: 26px;
      font-weight: 300;
    }
@media  (max-width: 900px) {
#rr-site .lead-text { margin: 0 auto 26px; }
}
#rr-site .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 18px; }
@media  (max-width: 900px) {
#rr-site .hero-actions { justify-content: center; }
}
#rr-site .trust-row {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
      font-size: 0.85rem;
      color: var(--text-tertiary);
    }
@media  (max-width: 900px) {
#rr-site .trust-row { justify-content: center; }
}
#rr-site .dot { width: 4px; height: 4px; background: var(--border-highlight); border-radius: 50%; display: inline-block; }
#rr-site .hero-image-wrap {
      position: relative;
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid var(--border-subtle);
      box-shadow: var(--shadow-2);
      background: #0b0b0b;
      min-height: 320px;
    }
#rr-site .hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; }
#rr-site .hero-image-wrap::after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to bottom, transparent 0%, rgba(5,5,5,0.45) 100%);
      pointer-events: none;
    }
#rr-site .clean-card {
      background: var(--bg-surface);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-lg);
      padding: 40px;
      transition: border-color 0.3s, transform 0.3s;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
#rr-site .clean-card:hover { border-color: var(--border-highlight); transform: translateY(-4px); }
#rr-site .two-col {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 24px;
      align-items: stretch;
    }
@media  (max-width: 900px) {
#rr-site .two-col { grid-template-columns: 1fr; }
}
#rr-site .media-frame {
      height: 100%;
      min-height: 320px;
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid var(--border-subtle);
      background: #0b0b0b;
      box-shadow: var(--shadow-1);
    }
#rr-site .media-frame img { width: 100%; height: 100%; object-fit: cover; }
#rr-site .check-list { margin-top: 18px; }
#rr-site .check-list li {
      display: flex;
      gap: 12px;
      margin-bottom: 12px;
      color: var(--text-secondary);
      font-size: 0.95rem;
    }
#rr-site .check-icon { color: var(--primary); flex-shrink: 0; margin-top: 2px; font-weight: 800; }
#rr-site .mini-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
      margin-top: 18px;
    }
@media  (max-width: 900px) {
#rr-site .mini-grid { grid-template-columns: 1fr; }
}
#rr-site .mini-card {
      background: var(--bg-surface-2);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-md);
      padding: 22px;
      transition: transform .25s ease, border-color .25s ease;
    }
#rr-site .mini-card:hover { transform: translateY(-3px); border-color: var(--border-highlight); }
#rr-site .mini-top { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
#rr-site .badge-icon {
      width: 36px; height: 36px;
      border-radius: 12px;
      background: rgba(97, 206, 112, 0.15);
      border: 1px solid rgba(97, 206, 112, 0.25);
      display: flex; align-items: center; justify-content: center;
      color: var(--primary);
      font-weight: 800;
    }
#rr-site .mini-title { font-weight: 700; color: #fff; }
#rr-site .mini-text { color: var(--text-secondary); font-size: 0.92rem; }
#rr-site .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media  (max-width: 900px) {
#rr-site .grid-3 { grid-template-columns: 1fr; }
}
#rr-site .review-card {
      background: var(--bg-surface-2);
      border: 1px solid var(--border-subtle);
      padding: 24px;
      border-radius: var(--radius-md);
      box-shadow: 0 12px 40px rgba(0,0,0,0.35);
    }
#rr-site .stars { color: #FFD700; font-size: 1rem; margin-bottom: 12px; }
#rr-site .review-text { font-size: 0.92rem; color: var(--text-secondary); margin-bottom: 16px; font-style: italic; }
#rr-site .author-meta { display: flex; align-items: center; gap: 10px; }
#rr-site .author-meta img { width: 34px; height: 34px; border-radius: 50%; background: #333; border: 1px solid var(--border-subtle); }
#rr-site .author-name { font-size: 0.86rem; font-weight: 700; color: #fff; }
#rr-site .faq-item {
      background: var(--bg-surface);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-md);
      padding: 20px;
      margin-bottom: 12px;
    }
#rr-site .faq-item h3 { font-size: 1rem; color: #fff; margin-bottom: 6px; }
#rr-site .faq-item p { color: var(--text-secondary); font-size: 0.92rem; margin: 0; }
#rr-site .note {
      margin-top: 18px;
      padding: 16px 18px;
      border-radius: 14px;
      border: 1px solid var(--border-subtle);
      background: rgba(255,255,255,0.03);
      color: var(--text-secondary);
      font-size: 0.9rem;
    }
#rr-site .note strong { color: #fff; }
#rr-site footer {
      padding: 60px 0 130px;
      background: var(--bg-surface);
      text-align: center;
      border-top: 1px solid var(--border-subtle);
    }
#rr-site .footer-links {
      display: flex;
      justify-content: center;
      gap: 14px;
      margin-bottom: 18px;
      flex-wrap: wrap;
    }
#rr-site .copy { font-size: 0.82rem; color: var(--text-tertiary); }
#rr-site .copy span { opacity: 0.85; }
#rr-site .floating-dock {
      position: fixed;
      bottom: 18px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 2000;
      width: 92%;
      max-width: 560px;
    }
#rr-site .whatsapp-btn {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      background: rgba(16,16,16,0.92);
      border: 1px solid var(--border-highlight);
      padding: 10px 10px 10px 18px;
      border-radius: 100px;
      box-shadow: var(--shadow-1);
      transition: all 0.3s ease;
    }
#rr-site .whatsapp-btn:hover {
      background: rgba(24,24,24,0.95);
      border-color: var(--primary);
      transform: translateX(-50%) translateY(-4px);
    }
#rr-site .wa-text { display: flex; flex-direction: column; }
#rr-site .wa-title { color: #fff; font-weight: 700; font-size: 0.95rem; }
#rr-site .wa-subtitle {
      color: var(--primary);
      font-size: 0.75rem;
      letter-spacing: 0.6px;
      text-transform: uppercase;
      font-weight: 800;
    }
#rr-site .wa-icon-circle {
      width: 44px; height: 44px;
      background: var(--primary);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      color: #000;
      font-size: 1.4rem;
      flex-shrink: 0;
    }
@media  (prefers-reduced-motion: reduce) {
#rr-site, #rr-site * { transition: none !important; scroll-behavior: auto !important; }
#rr-site .whatsapp-btn:hover { transform: translateX(-50%); }
}


/* Correções exclusivamente técnicas de compatibilidade e responsividade. */
html, body { margin:0; padding:0; width:100%; }
#rr-site { min-width:0; width:100%; isolation:isolate; overflow-x:clip; font-size:16px; }
#rr-site * { min-width:0; }
#rr-site .header {position:sticky;top:0;left:auto;width:100%;}
body.admin-bar #rr-site .header {top:32px;}
#rr-site .hero {padding-top:76px;}
#rr-site .brand img {width:64px;height:64px;object-fit:contain;background:#fff;border-radius:11px;flex-shrink:0;}
#rr-site .brand {min-width:0;}
#rr-site .brand-name {overflow-wrap:anywhere;}
#rr-site .hero-grid {grid-template-columns:minmax(0,1fr) minmax(0,.95fr);}
#rr-site .two-col {grid-template-columns:repeat(2,minmax(0,1fr));}
#rr-site .mini-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
#rr-site .grid-3 {grid-template-columns:repeat(3,minmax(0,1fr));}
#rr-site .hero-image-wrap img {object-fit:cover;min-height:320px;}
#rr-site .btn {max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:center;line-height:1.3;}
#rr-site .whatsapp-btn:hover {transform:translateY(-2px);}
#rr-site .skip-link:focus {left:10px;}
#rr-site .floating-dock {pointer-events:none;}
#rr-site .floating-dock a {pointer-events:auto;}
#rr-site .btn:focus-visible, #rr-site .whatsapp-btn:focus-visible {outline:3px solid #fff;outline-offset:3px;}
#rr-site .article-content {max-width:860px;margin:auto;padding:74px 24px 130px;min-height:55vh;}
#rr-site .article-content h1{font-size:clamp(28px,4vw,48px);margin-bottom:22px;}
#rr-site .article-content p{color:#ddd;margin-bottom:18px;}
#rr-site .article-content a{color:var(--primary);text-decoration:underline;}
#rr-site .article-content .wp-block-image img{height:auto;}
@media (max-width:900px) {
 #rr-site .hero-grid, #rr-site .two-col, #rr-site .mini-grid, #rr-site .grid-3 {grid-template-columns:minmax(0,1fr);}
 #rr-site .hero{padding:50px 0 60px;}
 #rr-site .hero-image-wrap img{height:auto;max-height:520px;min-height:210px;object-fit:cover;}
 #rr-site .media-frame{min-height:0;}
 #rr-site .media-frame img{height:auto;min-height:200px;max-height:520px;object-fit:cover;}
 #rr-site .hero-actions,#rr-site .trust-row{justify-content:center;}
 #rr-site .lead-text {margin-left:auto;margin-right:auto;}
 #rr-site .clean-card{padding:28px;}
 #rr-site .floating-dock{left:auto;right:16px;bottom:calc(16px + env(safe-area-inset-bottom, 0px));transform:none;width:58px;max-width:58px;}
 #rr-site .whatsapp-btn{width:58px;height:58px;border-radius:50%;padding:5px;justify-content:center;}
 #rr-site .wa-text{display:none;}
 #rr-site .wa-icon-circle{width:46px;height:46px;}
 #rr-site footer {padding-bottom:90px;}
}
@media (max-width:600px) {
 #rr-site .header{padding:12px 0;}
 #rr-site .container{padding-left:16px;padding-right:16px;}
 #rr-site .brand img{width:54px;height:54px;}
 #rr-site .brand-name{font-size:clamp(14px,4.3vw,17px);line-height:1.27;}
 #rr-site .brand-sub{font-size:11px;}
 #rr-site .hero{padding:42px 0 48px;}
 #rr-site .hero-grid{gap:30px;}
 #rr-site .display-text{font-size:clamp(28px,8.4vw,40px);line-height:1.16;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;}
 #rr-site .lead-text{font-size:15.5px;line-height:1.65;}
 #rr-site .hero-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;}
 #rr-site .hero-actions .btn{width:100%;min-height:49px;}
 #rr-site .trust-row{gap:9px;font-size:12px;}
 #rr-site .section{padding:48px 0;}
 #rr-site .clean-card{padding:22px 18px;}
 #rr-site .mini-card,.grid-3 .review-card{padding:20px;}
 #rr-site .grid-3 {gap:14px;}
 #rr-site h2{line-height:1.25;}
 #rr-site .note{padding:14px;font-size:13px;}
 #rr-site .floating-dock{right:12px;bottom:calc(12px + env(safe-area-inset-bottom, 0px));}
}
@media (max-width:782px) { body.admin-bar #rr-site .header {top:46px;} }
@media (max-width:400px) { #rr-site .trust-row .dot{display:none;} #rr-site .brand {gap:9px;} }
@media (prefers-reduced-motion:reduce) {#rr-site *,#rr-site *::before,#rr-site *::after {transition:none!important;scroll-behavior:auto!important;} }
