/* ==========================================================================
   RTA — sistema de design para páginas de produto
   Mesma arquitetura do sistema usado na Eko's: tokens em :root e classes
   utilitárias aplicadas aos módulos do Divi. A identidade é a da RTA:
   vermelho #CC1F26, texto #333, corpo #6D6E71, Inter.
   Prefixo rta- em tudo, para não colidir com o Divi nem com o tema.
   ========================================================================== */

:root{
  /* escala da marca */
  --rta-red-50:#FDEEEF;  --rta-red-100:#FAD5D7; --rta-red-200:#F1A3A7;
  --rta-red-300:#E56B71;  --rta-red-400:#D9414A; --rta-red-500:#CC1F26;
  --rta-red-600:#A9151C;  --rta-red-700:#830F15;

  /* neutros */
  --rta-n-0:#FFFFFF; --rta-n-25:#FBFBFC; --rta-n-50:#F5F6F7; --rta-n-100:#ECEEF0;
  --rta-n-200:#DFE2E5; --rta-n-300:#C4C8CD; --rta-n-400:#9BA1A8;
  --rta-n-500:#6D6E71; --rta-n-700:#4A4B4E; --rta-n-900:#333333; --rta-n-950:#1C1D1F;

  --rta-ok:#1F8A4C; --rta-wa:#25D366; --rta-wa-dark:#1DA851;

  /* papéis */
  --rta-primary:var(--rta-red-500);
  --rta-primary-hover:var(--rta-red-600);
  --rta-primary-press:var(--rta-red-700);
  --rta-page:var(--rta-n-25);
  --rta-card:var(--rta-n-0);
  --rta-strong:var(--rta-n-900);
  --rta-body:var(--rta-n-500);
  --rta-muted:var(--rta-n-400);
  --rta-accent:var(--rta-red-600);
  --rta-border:var(--rta-n-100);
  --rta-border-2:var(--rta-n-200);

  --rta-wash:radial-gradient(120% 90% at 80% 10%, #FAD5D7 0%, rgba(250,213,215,0) 55%), #FBFBFC;
  --rta-cta-grad:linear-gradient(120deg,#D9414A 0%,#CC1F26 48%,#A9151C 100%);

  --rta-r-sm:6px; --rta-r-md:10px; --rta-r-lg:14px; --rta-r-pill:999px;
  --rta-sh-sm:0 1px 3px rgba(28,29,31,.08), 0 1px 2px rgba(28,29,31,.06);
  --rta-sh-md:0 4px 12px rgba(28,29,31,.08), 0 2px 4px rgba(28,29,31,.05);
  --rta-sh-lg:0 12px 28px rgba(28,29,31,.12), 0 4px 8px rgba(28,29,31,.06);
  --rta-sh-red:0 10px 26px rgba(204,31,38,.28);
  --rta-ring:0 0 0 3px rgba(204,31,38,.28);

  --rta-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --rta-ease:cubic-bezier(.22,1,.36,1);
  --rta-t:200ms;
  --rta-container:1180px; --rta-pad:32px; --rta-sec-y:72px;

  /* ícones como máscara, na cor da marca e em branco */
  --rta-ico-check:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M20 6 9 17l-5-5'/></svg>");
  --rta-ico-arrow:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>");
  --rta-ico-wa:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231DA851'><path d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.08-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.18.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.91-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.03 1.02-1.03 2.48 0 1.46 1.06 2.87 1.21 3.07.15.2 2.1 3.2 5.08 4.49.7.3 1.26.49 1.69.62.71.23 1.36.2 1.87.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.18-1.42-.08-.12-.28-.2-.57-.35M12.05 21.8a9.87 9.87 0 0 1-5.03-1.38l-.36-.22-3.74.99 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26C2.17 6.45 6.6 2.01 12.05 2.01c2.64 0 5.12 1.03 6.99 2.9a9.83 9.83 0 0 1 2.89 6.99c0 5.45-4.44 9.89-9.88 9.89m8.41-18.3A11.82 11.82 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.88 11.88 0 0 0 5.69 1.45c6.55 0 11.89-5.34 11.89-11.89 0-3.18-1.24-6.17-3.48-8.42Z'/></svg>");
  --rta-ico-chev:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");
}

/* ---------- estrutura de seção ---------- */
.rta-sec.et_pb_section{ padding:var(--rta-sec-y) 0; background:var(--rta-n-0); }
.rta-sec--paper.et_pb_section{ background:var(--rta-page); }
.rta-sec--wash.et_pb_section{ background:var(--rta-wash); }
.rta-sec--dark.et_pb_section{ background:var(--rta-n-950); }
.rta-sec > .et_pb_row{
  width:100% !important;
  max-width:calc(var(--rta-container) + var(--rta-pad)*2) !important;
  padding-left:var(--rta-pad) !important; padding-right:var(--rta-pad) !important;
  margin-left:auto !important; margin-right:auto !important;
}
/* remove o clearfix SÓ das linhas que viram grade ou flex — tirar de todas
   colapsa a seção, porque as colunas do Divi são flutuantes */
.rta-grid.et_pb_row::before,.rta-grid.et_pb_row::after,
.rta-cols.et_pb_row::before,.rta-cols.et_pb_row::after,
.rta-grid > .et_pb_column::after,.rta-cols > .et_pb_column::after{ content:none !important; display:none !important; }
/* as linhas viram flex/grid, então não precisam de float nas colunas */
.rta-grid.et_pb_row,.rta-cols.et_pb_row{ display:flex; }
.rta-grid > .et_pb_column,.rta-cols > .et_pb_column{ float:none !important; flex-shrink:0; min-height:auto; }
.rta-sec h1,.rta-sec h2,.rta-sec h3,.rta-sec h4{ padding-bottom:0 !important; font-family:var(--rta-sans); }
.rta-sec p,.rta-sec li,.rta-sec .et_pb_text_inner{ font-family:var(--rta-sans); }

/* ---------- tipografia ---------- */
.rta-eyebrow,.rta-eyebrow .et_pb_text_inner{
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rta-accent); line-height:1.5; margin:0;
}
.rta-h1 h1,.rta-h1 h2,.rta-h1 .et_pb_text_inner{ font-size:41px; line-height:1.12; letter-spacing:-.03em; margin:0; color:var(--rta-strong); font-weight:800; }
.rta-h2 h2{ font-size:34px; line-height:1.2; letter-spacing:-.02em; margin:0 0 14px; color:var(--rta-strong); font-weight:800; }
.rta-h3 h3,.rta-card h3{ font-size:18px; line-height:1.35; margin:0 0 8px; color:var(--rta-strong); font-weight:700; }
.rta-accent{ color:var(--rta-primary); }
.rta-lead .et_pb_text_inner,.rta-lead p{ font-size:17px; line-height:1.6; color:var(--rta-body); margin:0; }
.rta-lead--xl .et_pb_text_inner,.rta-lead--xl p{ font-size:18.5px; max-width:600px; }

.rta-head.et_pb_row{ margin-bottom:36px !important; }
.rta-head > .et_pb_column{ max-width:720px; width:100% !important; margin:0 !important; }
.rta-head > .et_pb_column > .et_pb_module{ margin-bottom:12px !important; }
.rta-head > .et_pb_column > .et_pb_module:last-child{ margin-bottom:0 !important; }
.rta-head--center > .et_pb_column{ max-width:660px; float:none !important; margin:0 auto !important; text-align:center; }
.rta-head--center h2,.rta-head--center p,.rta-head--center .et_pb_text_inner{ text-align:center !important; }

/* ---------- grades ---------- */
.rta-grid > .et_pb_column{ display:grid; gap:18px; width:100% !important; margin:0 !important; }
.rta-grid--2 > .et_pb_column{ grid-template-columns:repeat(2,1fr); }
.rta-grid--3 > .et_pb_column{ grid-template-columns:repeat(3,1fr); }
.rta-grid--4 > .et_pb_column{ grid-template-columns:repeat(4,1fr); gap:14px; }
.rta-grid > .et_pb_column > .et_pb_module{ margin-bottom:0 !important; }
.rta-cols.et_pb_row{ display:flex; gap:28px; align-items:flex-start; }
.rta-cols > .et_pb_column{ flex:1 1 0; width:auto !important; margin:0 !important; }
.rta-cols--form > .et_pb_column:first-child{ flex:1.15 1 0; }
.rta-cols--form > .et_pb_column:last-child{ flex:.85 1 0; }

/* ---------- botões ---------- */
.rta-btn,a.rta-btn{
  display:inline-flex !important; align-items:center; justify-content:center; gap:9px;
  height:48px; padding:0 26px !important; border-radius:var(--rta-r-pill) !important;
  background:var(--rta-primary) !important; color:#fff !important;
  font-family:var(--rta-sans) !important; font-size:15px !important; font-weight:700 !important;
  line-height:1 !important; text-decoration:none !important; border:none !important; white-space:nowrap;
  transition:background var(--rta-t) var(--rta-ease),transform var(--rta-t) var(--rta-ease),box-shadow var(--rta-t) var(--rta-ease);
}
.rta-btn:hover{ background:var(--rta-primary-hover) !important; color:#fff !important; transform:translateY(-1px); box-shadow:var(--rta-sh-red); }
.rta-btn:active{ transform:translateY(0); background:var(--rta-primary-press) !important; }
.rta-btn::after{ content:"" !important; width:17px; height:17px; background:var(--rta-ico-arrow) center/contain no-repeat; margin:0 !important; opacity:.9; }
.rta-btn--ghost,a.rta-btn--ghost{ background:transparent !important; color:var(--rta-accent) !important; border:1.5px solid var(--rta-border-2) !important; }
.rta-btn--ghost:hover{ background:var(--rta-red-50) !important; color:var(--rta-primary-hover) !important; border-color:var(--rta-red-200) !important; box-shadow:none; }
.rta-btn--wa,a.rta-btn--wa{ background:#fff !important; color:var(--rta-wa-dark) !important; border:1.5px solid rgba(37,211,102,.45) !important; }
.rta-btn--wa:hover{ background:#F0FBF4 !important; color:var(--rta-wa-dark) !important; box-shadow:none; }
.rta-btn--wa::after{ display:none !important; }
.rta-btn--wa::before{ content:""; width:18px; height:18px; background:var(--rta-ico-wa) center/contain no-repeat; }
.rta-btn--lg{ height:54px; font-size:16px !important; padding:0 32px !important; }
.rta-btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }

/* ---------- cartões ---------- */
.rta-card{
  background:var(--rta-card); border:1px solid var(--rta-border); border-radius:var(--rta-r-lg);
  padding:24px; transition:box-shadow var(--rta-t) var(--rta-ease),transform var(--rta-t) var(--rta-ease);
}
.rta-card:hover{ box-shadow:var(--rta-sh-md); transform:translateY(-2px); }
.rta-card p{ font-size:15px; line-height:1.6; color:var(--rta-body); margin:0; }
.rta-card__ico{ width:38px; height:38px; border-radius:var(--rta-r-md); background:var(--rta-red-50);
  display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.rta-card__ico::before{ content:""; width:20px; height:20px; background:var(--rta-ico-check) center/contain no-repeat; }

/* ---------- números ---------- */
.rta-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin:26px 0 0;
  padding:22px 0; border-top:1px solid var(--rta-border); border-bottom:1px solid var(--rta-border); }
.rta-stat__num{ display:block; font-size:30px; font-weight:800; letter-spacing:-.03em; line-height:1;
  color:var(--rta-primary); margin-bottom:5px; }
.rta-stat__lab{ font-size:12.5px; line-height:1.4; color:var(--rta-muted); }

/* ---------- lista com marca ---------- */
.rta-check{ list-style:none !important; margin:20px 0 0 !important; padding:0 !important; display:grid; gap:11px; }
.rta-check li{ position:relative; padding-left:28px !important; font-size:15.5px; line-height:1.55; color:var(--rta-body); list-style:none !important; }
.rta-check li::before{ content:""; position:absolute; left:0; top:3px; width:17px; height:17px;
  background:var(--rta-ico-check) center/contain no-repeat; }
.rta-check strong{ color:var(--rta-strong); }

/* ---------- passos ---------- */
.rta-steps{ counter-reset:rtastep; list-style:none !important; margin:0 !important; padding:0 !important;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.rta-steps li{ counter-increment:rtastep; list-style:none !important; padding:24px 20px !important;
  background:var(--rta-card); border:1px solid var(--rta-border); border-radius:var(--rta-r-lg); position:relative; }
.rta-steps li::before{ content:counter(rtastep); display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%; background:var(--rta-primary); color:#fff;
  font-size:15px; font-weight:800; margin-bottom:14px; font-family:var(--rta-sans); }
.rta-steps b{ display:block; font-size:16px; color:var(--rta-strong); margin-bottom:6px; font-weight:700; }
.rta-steps li{ font-size:14.5px; line-height:1.6; color:var(--rta-body); }

/* ---------- cartão do formulário ---------- */
.rta-formcard{ background:var(--rta-card); border:1px solid var(--rta-border); border-radius:var(--rta-r-lg);
  padding:28px; box-shadow:var(--rta-sh-lg); }
.rta-formcard__t{ font-size:21px; font-weight:800; color:var(--rta-strong); margin:0 0 4px; letter-spacing:-.02em; }
.rta-formcard__s{ font-size:14px; color:var(--rta-muted); margin:0 0 18px; }
.rta-formcard .gform_wrapper{ margin:0 !important; }
.rta-formcard .gform_wrapper .gfield_label{ font-size:13.5px !important; font-weight:600 !important; color:var(--rta-n-700) !important; margin-bottom:5px !important; }
.rta-formcard .gform_wrapper input[type=text],.rta-formcard .gform_wrapper input[type=email],
.rta-formcard .gform_wrapper input[type=tel],.rta-formcard .gform_wrapper select,
.rta-formcard .gform_wrapper textarea{
  width:100% !important; border:1px solid var(--rta-border-2) !important; border-radius:var(--rta-r-md) !important;
  padding:11px 13px !important; font-size:14.5px !important; font-family:var(--rta-sans) !important;
  color:var(--rta-strong) !important; background:#fff !important; transition:border-color var(--rta-t),box-shadow var(--rta-t);
}
.rta-formcard .gform_wrapper input:focus,.rta-formcard .gform_wrapper select:focus,.rta-formcard .gform_wrapper textarea:focus{
  border-color:var(--rta-primary) !important; box-shadow:var(--rta-ring) !important; outline:none !important; }
.rta-formcard .gform_wrapper textarea{ min-height:96px !important; }
.rta-formcard .gform_wrapper .gform_footer input[type=submit],
.rta-formcard .gform_wrapper .gform_button{
  width:100% !important; height:50px !important; border:none !important; border-radius:var(--rta-r-pill) !important;
  background:var(--rta-cta-grad) !important; color:#fff !important; font-family:var(--rta-sans) !important;
  font-size:16px !important; font-weight:700 !important; cursor:pointer;
  transition:transform var(--rta-t) var(--rta-ease),box-shadow var(--rta-t) var(--rta-ease); }
.rta-formcard .gform_wrapper .gform_footer input[type=submit]:hover{ transform:translateY(-1px); box-shadow:var(--rta-sh-red); }
.rta-formcard .gform_wrapper .gform_footer{ padding:8px 0 0 !important; margin:0 !important; }

/* ---------- FAQ sobre o toggle do Divi ---------- */
.rta-faq .et_pb_toggle{
  background:var(--rta-card) !important; border:1px solid var(--rta-border) !important;
  border-radius:var(--rta-r-lg) !important; padding:0 !important; margin-bottom:12px !important;
  transition:box-shadow var(--rta-t) var(--rta-ease); }
.rta-faq .et_pb_toggle:hover{ box-shadow:var(--rta-sh-sm); }
.rta-faq .et_pb_toggle_title{
  font-family:var(--rta-sans) !important; font-size:17px !important; font-weight:700 !important;
  color:var(--rta-strong) !important; padding:20px 56px 20px 24px !important; margin:0 !important; line-height:1.4 !important; }
.rta-faq .et_pb_toggle_content{ padding:0 24px 22px !important; font-family:var(--rta-sans) !important;
  font-size:15.5px !important; line-height:1.68 !important; color:var(--rta-body) !important; }
.rta-faq .et_pb_toggle_content p{ margin-bottom:12px; }
.rta-faq .et_pb_toggle_content p:last-child{ margin-bottom:0; }
.rta-faq .et_pb_toggle_title::before{
  content:"" !important; width:20px !important; height:20px !important; right:24px !important; top:22px !important;
  background:var(--rta-ico-chev) center/contain no-repeat !important; transition:transform var(--rta-t) var(--rta-ease); }
.rta-faq .et_pb_toggle_open .et_pb_toggle_title::before{ transform:rotate(180deg); }
.rta-faq .et_pb_toggle_open{ border-color:var(--rta-red-200) !important; box-shadow:var(--rta-sh-sm); }

/* ---------- faixa de fecho ---------- */
.rta-cta.et_pb_section{ background:var(--rta-cta-grad); padding:64px 0; }
.rta-cta h2{ color:#fff !important; font-size:32px; margin:0 0 12px; }
.rta-cta p{ color:rgba(255,255,255,.9) !important; font-size:17px; max-width:620px; }
.rta-cta .rta-btn{ background:#fff !important; color:var(--rta-primary) !important; }
.rta-cta .rta-btn:hover{ background:var(--rta-red-50) !important; color:var(--rta-primary-press) !important; }
.rta-cta .rta-btn::after{ background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23CC1F26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>") center/contain no-repeat; }
.rta-cta .rta-btn--ghost{ background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.5) !important; }
.rta-cta .rta-btn--ghost:hover{ background:rgba(255,255,255,.12) !important; color:#fff !important; }
.rta-contato{ display:flex; flex-wrap:wrap; gap:10px 32px; margin-top:26px; font-size:14.5px; color:rgba(255,255,255,.88); }
.rta-contato a{ color:#fff !important; text-decoration:none; font-weight:600; }
.rta-contato a:hover{ text-decoration:underline; }

/* ---------- responsivo ---------- */
@media (max-width:1100px){
  :root{ --rta-sec-y:56px; --rta-pad:24px; }
  .rta-h1 h1,.rta-h1 h2,.rta-h1 .et_pb_text_inner{ font-size:38px; }
  .rta-h2 h2{ font-size:28px; }
  .rta-steps{ grid-template-columns:repeat(2,1fr); }
  .rta-grid--4 > .et_pb_column{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:980px){
  /* no celular o empilhamento natural do bloco basta, e evita coluna
     encolhendo abaixo do conteúdo por ser item flex */
  .rta-cols.et_pb_row{ display:block; }
  .rta-cols > .et_pb_column{ width:100% !important; margin:0 0 28px !important; }
  .rta-cols > .et_pb_column:last-child{ margin-bottom:0 !important; }
  .rta-grid--3 > .et_pb_column{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  :root{ --rta-sec-y:44px; --rta-pad:18px; }
  .rta-h1 h1,.rta-h1 h2,.rta-h1 .et_pb_text_inner{ font-size:31px; }
  .rta-h2 h2{ font-size:24px; }
  .rta-stats{ grid-template-columns:repeat(2,1fr); gap:18px 14px; }
  .rta-stat__num{ font-size:25px; }
  .rta-steps,.rta-grid--2 > .et_pb_column,.rta-grid--3 > .et_pb_column,.rta-grid--4 > .et_pb_column{ grid-template-columns:1fr; }
  .rta-formcard{ padding:20px; }
  .rta-btns .rta-btn{ width:100%; }
  .rta-cta h2{ font-size:25px; }
}

/* o cartão do formulário é a própria coluna, para envolver título e campos */
.rta-cols > .et_pb_column.rta-formcard{ padding:28px !important; }
.rta-cols > .et_pb_column.rta-formcard > .et_pb_module{ margin-bottom:0 !important; }
.rta-formcard .gform_wrapper .gform_fields{ row-gap:14px !important; }
.rta-formcard .gform_wrapper .gfield{ padding:0 !important; }

/* faixa de fecho: o padding vem do Divi, então força aqui */
.rta-cta.et_pb_section{ padding:60px 0 !important; }
.rta-cta > .et_pb_row{ width:100% !important; max-width:calc(var(--rta-container) + var(--rta-pad)*2) !important;
  padding-left:var(--rta-pad) !important; padding-right:var(--rta-pad) !important; margin:0 auto !important; }
.rta-cta .et_pb_column{ width:100% !important; margin:0 !important; }
.rta-cta .rta-btns{ margin-top:22px; }
