/* Reels Clássicos v4 — CSS responsivo e sem overflow */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; -webkit-text-size-adjust: 100%; }
body{
  margin:0;
  background:#0A0A0A;
  color:#F5F5F0;
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  overflow-wrap:anywhere;
}
a{ color:#F5F5F0; text-decoration:none }
a:hover{ text-decoration:underline }
img{ max-width:100%; height:auto; display:block }

/* Tokens */
:root{
  --rc-black:#0A0A0A;
  --rc-off:#F5F5F0;
  --rc-gold:#C2A873;
  --rc-graphite:#2B2B2B;
  --rc-muted:#CACAC4;

  --rc-radius:20px;
  --rc-shadow:0 8px 30px rgba(0,0,0,0.35);

  --rc-ease:cubic-bezier(0.4,0.0,0.2,1);
  --rc-fast:180ms;
  --rc-speed:240ms;
}

/* Layout */
.rc-container{ max-width:1200px; padding:0 20px; margin:0 auto; }
.rc-header{position:sticky; top:0; background:rgba(10,10,10,0.8); backdrop-filter:saturate(140%) blur(6px); z-index:50; border-bottom:1px solid rgba(194,168,115,0.25)}
.rc-header-inner{display:flex; align-items:center; justify-content:space-between; min-height:64px}
.rc-logo{font-family:"Playfair Display", Georgia, serif; font-weight:700; letter-spacing:.2px}
.rc-head-nav{display:flex; gap:14px}
.rc-link-inline{opacity:.9}
.rc-link-inline:hover{opacity:1}

.rc-hero{padding:72px 0 48px; position:relative}
.rc-hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:32px; align-items:center}
.rc-h1{font-family:"Playfair Display", Georgia, serif; font-size:44px; line-height:1.15; margin:0 0 12px; position:relative; padding-left:16px}
.rc-h1::before{content:""; position:absolute; left:0; top:8px; width:2px; height:64px; background:linear-gradient(180deg, rgba(194,168,115,.9), rgba(194,168,115,.35))}
.rc-mark{background:linear-gradient(90deg, rgba(194,168,115,.25), rgba(194,168,115,0)); padding:0 6px; border-radius:8px}
.rc-subhead{font-size:18px; opacity:.92; margin:0 0 16px}
.rc-chips{display:flex; gap:8px; padding:0; margin:0 0 20px; list-style:none; flex-wrap:wrap}
.rc-chip{border:1px solid rgba(245,245,240,0.4); padding:6px 10px; border-radius:999px; font-size:14px; opacity:0.9}
.rc-cta-row{display:flex; gap:12px; flex-wrap:wrap}

.rc-btn{display:inline-flex; align-items:center; justify-content:center; height:52px; padding:0 24px; border-radius:16px; border:1px solid transparent; font-weight:600; letter-spacing:.2px; transition:all var(--rc-speed) var(--rc-ease); box-shadow:none; color:#0A0A0A; background:#F5F5F0}
.rc-btn:hover{transform:translateY(-1px)}
.rc-btn:active{transform:translateY(0)}
.rc-btn:focus-visible{outline:2px solid var(--rc-gold); outline-offset:2px}
.rc-btn-secondary{background:transparent; border-color:rgba(245,245,240,0.5); color:#F5F5F0}

.rc-hero-image{border-radius:20px; border:1px solid rgba(194,168,115,0.35); box-shadow:var(--rc-shadow)}

.rc-section{padding:64px 0; border-top:1px solid rgba(194,168,115,0.2)}
.rc-section-alt{background:rgba(255,255,255,0.02)}
.rc-h2{font-family:"Playfair Display", Georgia, serif; font-size:36px; line-height:1.2; margin:0 0 12px; position:relative; padding-left:16px}
.rc-h2::before{content:""; position:absolute; left:0; top:8px; width:2px; height:48px; background:linear-gradient(180deg, rgba(194,168,115,.9), rgba(194,168,115,.35))}
.rc-h3{font-size:22px; margin:0 0 6px}
.rc-h4{font-size:18px; margin:0 0 6px}
.rc-lead{font-size:18px; opacity:.9; margin:0 0 20px}

.rc-cards{display:grid; gap:16px}
.rc-cards.rc-3{grid-template-columns:repeat(3,1fr)}
.rc-card{border:1px solid rgba(194,168,115,0.25); border-radius:16px; padding:16px 16px 18px; background:rgba(255,255,255,0.01)}
.rc-card-icon{font-size:24px; margin-bottom:6px; filter:saturate(0.8)}

.rc-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.rc-step{border:1px solid rgba(194,168,115,0.25); border-radius:16px; padding:16px; background:rgba(255,255,255,0.01); position:relative}
.rc-step-num{position:absolute; top:12px; right:12px; color:var(--rc-gold); font-weight:600}

.rc-pilares{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.rc-pilar{border:1px solid rgba(194,168,115,0.25); border-radius:16px; padding:16px; background:rgba(255,255,255,0.01); position:relative}
.rc-badge{position:absolute; top:-12px; left:16px; background:rgba(194,168,115,0.15); color:var(--rc-off); border:1px solid rgba(194,168,115,0.5); padding:4px 8px; border-radius:999px; font-size:13px}

.rc-list{margin:10px 0 0 16px; padding:0; list-style:disc}
.rc-list li{margin:6px 0}

.rc-timeline{display:flex; gap:12px; align-items:center; justify-content:space-between; margin:12px 0 20px}
.rc-tl-node{flex:1; text-align:center; position:relative; padding-top:18px}
.rc-tl-node::before{content:""; position:absolute; left:6%; right:6%; top:8px; height:1px; background:rgba(194,168,115,0.45)}
.rc-tl-node span{background:rgba(255,255,255,0.02); padding:6px 10px; border:1px solid rgba(194,168,115,0.35); border-radius:999px; font-size:14px}

/* Novembro grid */
.rc-nov-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:20px; align-items:start; margin-top:8px}
.rc-nov-figure{margin:0; border:1px solid rgba(194,168,115,0.25); border-radius:16px; overflow:hidden; background:rgba(255,255,255,0.01); box-shadow:var(--rc-shadow)}
.rc-nov-figure figcaption{padding:10px 12px; font-size:14px; color:var(--rc-muted)}
.rc-steps-ol{margin:8px 0 16px 20px}

.rc-benefits{margin:0; padding:0 0 0 18px}
.rc-benefits li{margin:8px 0}
.rc-results-grid{display:grid; grid-template-columns:1fr 0.7fr; gap:16px; align-items:start}
.rc-before-after{border:1px solid rgba(194,168,115,0.25); border-radius:16px; padding:12px; background:rgba(255,255,255,0.01); margin-top:8px}

/* Testimonial Slider */
.rc-slider{position:relative; overflow:hidden}
.rc-slides{display:flex; transition:transform var(--rc-speed) var(--rc-ease); will-change:transform}
.rc-slide{min-width:100%; flex:0 0 100%}
.rc-slider-controls{display:flex; align-items:center; justify-content:center; gap:12px; margin-top:12px}
.rc-prev, .rc-next{background:transparent; border:1px solid rgba(194,168,115,0.5); color:var(--rc-off); width:40px; height:40px; border-radius:50%; cursor:pointer; transition:all var(--rc-speed) var(--rc-ease)}
.rc-prev:hover, .rc-next:hover{background:rgba(255,255,255,0.04)}
.rc-dots{display:flex; gap:8px; align-items:center; justify-content:center}
.rc-dot{width:8px; height:8px; border-radius:50%; background:rgba(245,245,240,0.35); border:none}
.rc-dot.active{background:rgba(194,168,115,0.95)}
.rc-quote{margin:0; border:1px solid rgba(194,168,115,0.25); border-radius:16px; padding:16px; background:rgba(255,255,255,0.01); font-style:italic}
.rc-quote footer{margin-top:8px; color:var(--rc-muted); font-style:normal}

/* Planos */
.rc-plans{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.rc-plan{border:1px solid rgba(194,168,115,0.25); border-radius:16px; padding:16px; background:rgba(255,255,255,0.01); position:relative; display:flex; flex-direction:column; gap:10px; overflow:hidden}
.rc-plan-badge{position:absolute; top:-12px; left:16px; background:rgba(194,168,115,0.18); border:1px solid rgba(194,168,115,0.5); color:var(--rc-off); padding:4px 8px; border-radius:999px; font-size:12px; letter-spacing:.2px}
.rc-ribbon{position:absolute; top:14px; right:-36px; transform:rotate(35deg); background:rgba(194,168,115,0.9); color:#0A0A0A; padding:4px 48px; font-weight:700; box-shadow:0 6px 18px rgba(0,0,0,0.3)}
.rc-price{font-size:28px; font-weight:700; margin:0; font-family:"Playfair Display", Georgia, serif}
.rc-price span{font-size:14px; font-weight:500; margin-left:6px; color:var(--rc-muted)}
.rc-plan-desc{font-size:15px; opacity:.9}
.rc-obs{margin-top:12px; color:var(--rc-muted); font-size:14px}

/* FAQ */
.rc-faq details{border:1px solid rgba(194,168,115,0.25); border-radius:14px; padding:10px 12px; background:rgba(255,255,255,0.01)}
.rc-faq details+details{margin-top:10px}
.rc-faq summary{cursor:pointer; list-style:none; font-weight:600}
.rc-faq summary::-webkit-details-marker{display:none}
.rc-faq-body{margin-top:8px; opacity:.92}

/* CTA Final */
.rc-cta-final{background:linear-gradient(180deg, rgba(194,168,115,0.08), rgba(194,168,115,0.02))}
.rc-cta-final-inner{display:flex; align-items:center; justify-content:space-between; gap:16px}

/* Footer */
.rc-footer{border-top:1px solid rgba(194,168,115,0.25); padding:32px 0 48px}
.rc-footer-grid{display:grid; grid-template-columns:2fr 1fr; gap:16px; align-items:start}
.rc-foot-brand .rc-logo{display:inline-block; font-family:"Playfair Display", Georgia, serif; font-weight:700; margin-bottom:6px}
.rc-foot-copy{margin:6px 0 0; color:var(--rc-muted)}
.rc-foot-links ul{margin:0; padding:0; list-style:none}
.rc-foot-links li+li{margin-top:6px}
.rc-foot-legal{grid-column:1/-1; color:var(--rc-muted); margin-top:12px}

/* Scroll cue */
.rc-scroll-cue{position:absolute; bottom:8px; left:50%; transform:translateX(-50%); opacity:.45}

/* Sticky CTA */
.rc-sticky-cta{position:fixed; left:0; right:0; bottom:-80px; background:rgba(10,10,10,0.9); border-top:1px solid rgba(194,168,115,0.25); backdrop-filter:blur(6px); transition:transform var(--rc-speed) var(--rc-ease); transform:translateY(100%); z-index:60}
.rc-sticky-cta.rc-sticky-show{transform:translateY(0%)}
.rc-sticky-inner{display:flex; align-items:center; justify-content:space-between; min-height:64px}
.rc-sticky-text{font-weight:600}

/* Responsive tweaks */
@media (max-width: 1200px){
  .rc-cards.rc-3{ grid-template-columns: 1fr 1fr; }
  .rc-steps{ grid-template-columns: 1fr 1fr; }
  .rc-pilares{ grid-template-columns: 1fr 1fr; }
  .rc-results-grid{ grid-template-columns: 1fr; }
  .rc-plans{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 980px){
  .rc-hero-grid{ grid-template-columns: 1fr; }
  .rc-nov-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 768px){
  .rc-h1{font-size:32px}
  .rc-h2{font-size:26px}
  .rc-cards.rc-3{ grid-template-columns: 1fr; }
  .rc-steps{ grid-template-columns: 1fr; }
  .rc-pilares{ grid-template-columns: 1fr; }
  .rc-plans{ grid-template-columns: 1fr; }
  .rc-ribbon{ display:none; }
  .rc-cta-final-inner{ flex-direction:column; align-items:flex-start; }
}

/* === Gold CTAs === */
.rc-btn-gold{ background:linear-gradient(0deg, rgba(194,168,115,0.18), rgba(194,168,115,1)); color:#0A0A0A; border-color:rgba(194,168,115,1); box-shadow:0 8px 30px rgba(194,168,115,0.25); }
.rc-btn-gold:hover{ filter:brightness(1.05); box-shadow:0 10px 34px rgba(194,168,115,0.32); }
.rc-btn-gold-outline{ background:transparent; color:var(--rc-gold); border:1px solid var(--rc-gold); }
.rc-btn-gold-outline:hover{ background:rgba(194,168,115,0.1); }

/* === Plan alignment === */
.rc-plan .rc-btn-wide{ margin-top:auto; }
.rc-plan-featured{ border-color:rgba(245,245,240,0.75); background:linear-gradient(180deg, rgba(245,245,240,0.04), rgba(255,255,255,0.01)); box-shadow:0 10px 34px rgba(194,168,115,0.25); transform:translateY(-2px); }
.rc-badge-featured{ position:absolute; top:-12px; right:16px; background:rgba(194,168,115,0.18); border:1px solid rgba(194,168,115,0.5); color:var(--rc-off); padding:4px 8px; border-radius:999px; font-size:12px }
.rc-badge-starter{ position:absolute; top:-12px; left:16px; }

/* === Forms === */
.rc-form{ display:grid; gap:12px; max-width:640px }
.rc-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px }
.rc-form-row{ display:flex; flex-direction:column; gap:6px }
.rc-label{ font-weight:600 }
.rc-input{ background:rgba(255,255,255,0.03); border:1px solid rgba(194,168,115,0.25); color:var(--rc-off); border-radius:12px; padding:12px 14px; outline:none; }
.rc-input:focus{ border-color:var(--rc-gold); box-shadow:0 0 0 2px rgba(194,168,115,0.25) }
.rc-alert{ border-radius:12px; padding:10px 12px; margin:8px 0; }
.rc-alert-ok{ background:rgba(42, 185, 124, .12); border:1px solid rgba(42,185,124,.45); }
.rc-alert-err{ background:rgba(220, 53, 69, .12); border:1px solid rgba(220,53,69,.45); }
@media (max-width:768px){
  .rc-form-grid{ grid-template-columns:1fr }
}

/* ===== Plans: visibility & emphasis ===== */
.rc-price{ font-size:32px; line-height:1.1; }
.rc-plan-starter{ border-color: rgba(194,168,115,0.9); background: linear-gradient(180deg, rgba(194,168,115,0.10), rgba(255,255,255,0.01)); box-shadow: 0 8px 30px rgba(194,168,115,0.18); }
.rc-plan-featured{ border-width:2px; transform: translateY(-3px); }
.rc-plan-save{ margin: -6px 0 6px; font-weight:700; color: var(--rc-gold); font-size:14px; letter-spacing:.2px }
.rc-ribbon{ font-size:14px; padding:6px 56px; }

/* Ensure plan buttons align perfectly across cards */
.rc-plans .rc-plan{ display:flex; flex-direction:column; }
.rc-plans .rc-plan .rc-btn-wide{ margin-top:auto; }

/* Gold badges positioning */
.rc-badge-featured{ top:-12px; right:16px; }
.rc-badge-starter{ top:-12px; left:16px; }

@media (max-width: 768px){
  /* keep a visible save label on mobile even if ribbon is hidden */
  .rc-ribbon{ display:none; }
  .rc-plan-save{ display:block; }
}

/* === v8: Pricing emphasis fixes === */
.rc-plan-starter{ border-color: rgba(194,168,115,0.95); background: linear-gradient(180deg, rgba(194,168,115,0.12), rgba(255,255,255,0.01)); box-shadow: 0 10px 34px rgba(194,168,115,0.22); }
.rc-plan-featured{ border-color: rgba(245,245,240,0.85); background: linear-gradient(180deg, rgba(245,245,240,0.05), rgba(255,255,255,0.01)); box-shadow: 0 14px 40px rgba(194,168,115,0.28); }
.rc-plan-featured .rc-price{ font-size: 36px; }
.rc-plan-starter .rc-price{ font-size: 34px; color: var(--rc-off); }
.rc-plan .rc-h3{ font-weight: 700; }
.rc-plan-save{ display:block; text-transform:uppercase; letter-spacing:.4px; }

/* Make badges more legible */
.rc-badge-featured, .rc-badge-starter{ font-weight:700; letter-spacing:.2px; }

/* v9 fixes: plan text visibility and emphasis */
.rc-plan{ overflow:visible; }
.rc-plan-save{ margin:6px 0 6px; font-weight:700; color: var(--rc-gold); font-size:14px; letter-spacing:.3px; }
.rc-plan-desc{ overflow:visible; font-size:15px; }
.rc-ribbon{ pointer-events:none; } /* avoid layout issues; body already hides overflow-x */
