/* ============================================================
   HECE — CSS Enhancement Layer v2
   Escopo: widgets Elementor nativos no tema Astra
   ============================================================ */

/* --- GLOBAL RESET ASTRA OVERRIDES --- */
body.elementor-page { background:#0E110E!important; color:#F4FDEF; }
body.elementor-page a { color:#F4FDEF; }
body.elementor-page .ast-container { max-width:100%!important; padding:0!important; }
body.elementor-page #content { padding:0!important; }
body.elementor-page .entry-content { margin:0!important; padding:0!important; }

/* --- HEADER --- */
.xpro-theme-builder-header {
  position:sticky!important; top:0; z-index:999;
  background:rgba(14,17,14,.88)!important;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid #262C25!important;
  box-shadow:none!important;
}
.xpro-theme-builder-header .elementor-section { background:transparent!important; }
.xpro-theme-builder-header .elementor-container { align-items:center; min-height:72px; }
.xpro-theme-builder-header .xpro-site-logo img { height:30px; width:auto; }
/* Nav links */
.xpro-elementor-nav-link.menu-link {
  color:#9A9C99!important; font-family:'Satoshi',sans-serif!important;
  font-size:.92rem!important; font-weight:500!important;
  text-decoration:none; transition:color .2s;
}
.xpro-elementor-nav-link.menu-link:hover,
.active > .xpro-elementor-nav-link.menu-link { color:#F4FDEF!important; }
.current-menu-item > .xpro-elementor-nav-link.menu-link { color:#F4FDEF!important; }
/* WhatsApp button in header */
.xpro-theme-builder-header .elementor-button {
  background:#90DD46!important; color:#0E110E!important;
  border-radius:999px!important; font-family:'Satoshi',sans-serif!important;
  font-weight:700!important; font-size:.9rem!important;
  padding:11px 20px!important; transition:.2s!important;
}
.xpro-theme-builder-header .elementor-button:hover {
  box-shadow:0 0 0 4px rgba(144,221,70,.18)!important; transform:translateY(-1px);
}
/* --- SECTIONS DEPTH --- */
.elementor-section { position:relative; }
/* Dark base sections */
.elementor-section[data-settings*='"background_color":"#0E110E"'],
.elementor-top-section { background:#0E110E; }

/* --- HERO SECTION --- */
.elementor-page-238 .elementor-top-section:first-child {
  background:#0E110E!important;
  position:relative; overflow:hidden;
}
/* Atmospheric grid overlay on hero */
.elementor-page-238 .elementor-top-section:first-child::before {
  content:'';
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(#262C25 1px,transparent 1px),linear-gradient(90deg,#262C25 1px,transparent 1px);
  background-size:64px 64px; opacity:.32;
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 20% 40%,#000 20%,transparent 70%);
  mask-image:radial-gradient(ellipse 80% 70% at 20% 40%,#000 20%,transparent 70%);
}
/* Green glow top-right */
.elementor-page-238 .elementor-top-section:first-child::after {
  content:'';
  position:absolute; width:480px; height:480px;
  background:#90DD46; border-radius:50%;
  filter:blur(130px); opacity:.11;
  top:-160px; right:-100px; pointer-events:none; z-index:0;
}
.elementor-page-238 .elementor-top-section:first-child .elementor-container { position:relative; z-index:2; }

/* --- HEADINGS --- */
.elementor-widget-heading .elementor-heading-title {
  font-family:'Satoshi',sans-serif!important;
  color:#F4FDEF!important; letter-spacing:-.02em; line-height:1.06;
}
.elementor-widget-heading h1.elementor-heading-title { font-size:clamp(2.4rem,5vw,4rem)!important; font-weight:700!important; }
.elementor-widget-heading h2.elementor-heading-title { font-size:clamp(1.9rem,4vw,3rem)!important; font-weight:700!important; }
.elementor-widget-heading h3.elementor-heading-title { font-size:1.4rem!important; font-weight:700!important; }
.elementor-widget-heading h4.elementor-heading-title { font-size:1.15rem!important; font-weight:700!important; }
.elementor-widget-heading h5.elementor-heading-title {
  font-size:.68rem!important; font-weight:600!important;
  letter-spacing:.2em!important; text-transform:uppercase!important; color:#9A9C99!important;
}
/* Eyebrow accent line before h6 used as eyebrow */
.elementor-widget-heading h6.elementor-heading-title {
  font-size:.72rem!important; color:#90DD46!important;
  letter-spacing:.22em!important; text-transform:uppercase!important;
  display:inline-flex; align-items:center; gap:10px;
  font-weight:500!important;
}
.elementor-widget-heading h6.elementor-heading-title::before {
  content:''; width:22px; height:1px; background:#90DD46; flex-shrink:0;
}

/* --- TEXT EDITOR --- */
.elementor-widget-text-editor, .elementor-widget-text-editor p {
  font-family:'Satoshi',sans-serif!important; color:#9A9C99; font-size:1rem; line-height:1.65;
}
.elementor-widget-text-editor a { color:#9A9C99; text-decoration:none; transition:color .2s; }
.elementor-widget-text-editor a:hover { color:#90DD46; }
/* --- BUTTONS --- */
.elementor-widget-button .elementor-button {
  font-family:'Satoshi',sans-serif!important; font-weight:700!important;
  border-radius:999px!important; transition:.25s!important;
  letter-spacing:0!important;
}
/* Primary (green) */
.elementor-widget-button .elementor-button[style*='background-color: rgb(144, 221, 70)'],
.elementor-widget-button .elementor-button[style*='background-color: #90DD46'],
.elementor-widget-button .elementor-button[style*='background-color:#90DD46'] {
  background:#90DD46!important; color:#0E110E!important;
}
.elementor-widget-button .elementor-button[style*='background-color: rgb(144, 221, 70)']:hover,
.elementor-widget-button .elementor-button[style*='background-color: #90DD46']:hover {
  box-shadow:0 0 0 4px rgba(144,221,70,.18)!important; transform:translateY(-2px);
}
/* Ghost (transparent + border) */
.elementor-widget-button .elementor-button[style*='background-color: transparent'],
.elementor-widget-button .elementor-button[style*='background-color:transparent'] {
  background:transparent!important; color:#F4FDEF!important;
  border:1px solid #262C25!important;
}
.elementor-widget-button .elementor-button[style*='background-color: transparent']:hover {
  border-color:#90DD46!important; color:#90DD46!important;
}

/* --- COUNTERS --- */
.elementor-widget-counter { text-align:center; }
.elementor-counter-number-wrapper {
  font-family:'Satoshi',sans-serif!important; font-weight:700!important;
  color:#90DD46!important; font-size:2.4rem!important; line-height:1.1;
}
.elementor-counter-number-prefix, .elementor-counter-number-suffix {
  font-size:1.6rem!important; color:#90DD46!important; font-weight:700!important;
}
.elementor-counter-title {
  font-family:'Satoshi',sans-serif!important; color:#9A9C99!important;
  font-size:.7rem!important; letter-spacing:.14em!important;
  text-transform:uppercase!important; margin-top:6px!important;
}
/* Counter strip section background */
.elementor-page-238 .elementor-top-section:nth-child(2) {
  background:#131713!important;
  border-top:1px solid #262C25!important;
  border-bottom:1px solid #262C25!important;
}
/* --- ICON BOX CARDS --- */
.elementor-widget-icon-box .elementor-icon-box-wrapper {
  background:#131713!important;
  border:1px solid #262C25!important;
  border-radius:16px!important;
  padding:32px 28px!important;
  transition:.3s ease!important;
  height:100%;
}
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
  border-color:rgba(144,221,70,.22)!important;
  transform:translateY(-4px);
  box-shadow:0 20px 60px -20px rgba(0,0,0,.6)!important;
}
.elementor-widget-icon-box .elementor-icon {
  background:rgba(144,221,70,.12)!important;
  border-radius:12px!important;
  width:48px!important; height:48px!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  margin-bottom:18px!important;
}
.elementor-widget-icon-box .elementor-icon i {
  color:#90DD46!important; font-size:22px!important;
}
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title * {
  color:#F4FDEF!important; font-family:'Satoshi',sans-serif!important;
  font-size:1.2rem!important; font-weight:700!important; margin-bottom:10px!important;
}
.elementor-widget-icon-box .elementor-icon-box-description {
  color:#9A9C99!important; font-family:'Satoshi',sans-serif!important;
  font-size:.95rem!important; line-height:1.65!important;
}
/* Section with icon-boxes: slightly elevated bg */
.elementor-page-238 .elementor-top-section:nth-child(3) { background:#0E110E!important; }

/* --- TESTIMONIALS (xpro) --- */
.xpro-testimonial-wrapper {
  background:#131713!important;
  border:1px solid #262C25!important;
  border-radius:16px!important;
  padding:30px!important;
  height:100%;
}
.xpro-testimonial-content, .xpro-testimonial-content p {
  color:#F4FDEF!important; font-family:'Satoshi',sans-serif!important;
  font-size:1.05rem!important; line-height:1.5!important; font-style:italic;
}
.xpro-testimonial-name {
  color:#F4FDEF!important; font-family:'Satoshi',sans-serif!important;
  font-weight:700!important; font-size:.95rem!important;
}
.xpro-testimonial-designation {
  color:#9A9C99!important; font-family:'Satoshi',sans-serif!important;
  font-size:.7rem!important; letter-spacing:.08em!important;
}
/* Quote icon */
.xpro-testimonial-quote i { color:#90DD46!important; opacity:.6; }
/* --- FOOTER --- */
.xpro-theme-builder-footer { background:#131713!important; border-top:1px solid #262C25!important; }
.xpro-theme-builder-footer .elementor-section { background:transparent!important; }
.xpro-theme-builder-footer .elementor-widget-text-editor p { font-size:.92rem!important; }
/* Copyright bar */
.xpro-theme-builder-footer .elementor-section:last-child { background:#0E110E!important; border-top:1px solid #262C25; }

/* --- SOCIAL ICONS (xpro) --- */
.xpro-social-icon-list-item a {
  border:1px solid #262C25!important; border-radius:11px!important;
  transition:.25s!important; background:transparent!important;
}
.xpro-social-icon-list-item a:hover {
  border-color:#90DD46!important; color:#90DD46!important; transform:translateY(-3px);
}
.xpro-social-icon-list-item i { font-size:18px; }

/* --- STEP FLOW (como funciona) --- */
.xpro-step-flow-wrapper {
  background:#131713!important; border:1px solid #262C25!important;
  border-radius:14px!important; padding:24px 20px!important;
  height:100%;
}
.xpro-step-flow-badge {
  font-family:'Satoshi',sans-serif!important; color:#90DD46!important;
  font-size:.75rem!important; font-weight:700!important;
  letter-spacing:.14em!important;
}
.xpro-step-flow-title {
  color:#F4FDEF!important; font-family:'Satoshi',sans-serif!important;
  font-size:1.1rem!important; font-weight:700!important;
  margin:12px 0 8px!important;
}
.xpro-step-flow-description, .xpro-step-flow-description p {
  color:#9A9C99!important; font-family:'Satoshi',sans-serif!important; font-size:.9rem!important;
}

/* --- ACCORDION (FAQ) --- */
.elementor-accordion-item {
  background:#131713!important; border:1px solid #262C25!important;
  border-radius:13px!important; margin-bottom:12px!important;
  overflow:hidden!important;
}
.elementor-accordion-item .elementor-tab-title {
  font-family:'Satoshi',sans-serif!important; font-weight:600!important;
  color:#F4FDEF!important; background:#131713!important;
  padding:18px 22px!important; font-size:1rem!important;
}
.elementor-accordion-item .elementor-tab-title:hover { color:#90DD46!important; }
.elementor-accordion-item .elementor-tab-title.elementor-active { color:#90DD46!important; }
.elementor-accordion-item .elementor-accordion-icon { color:#90DD46!important; }
.elementor-accordion-item .elementor-tab-content {
  color:#9A9C99!important; font-family:'Satoshi',sans-serif!important;
  font-size:.97rem!important; padding:0 22px 20px!important; background:#131713!important;
}

/* --- MOBILE --- */
@media(max-width:768px){
  .elementor-widget-heading h1.elementor-heading-title { font-size:clamp(2rem,8vw,2.8rem)!important; }
  .elementor-widget-heading h2.elementor-heading-title { font-size:clamp(1.6rem,7vw,2.2rem)!important; }
  .xpro-elementor-horizontal-menu-toggler { color:#F4FDEF!important; }
  .xpro-elementor-horizontal-navbar-wrapper { background:#131713!important; border-bottom:1px solid #262C25; }
  .xpro-elementor-nav-link.menu-link { padding:14px 0!important; border-bottom:1px solid #262C25; }
}

/* --- SELECTION --- */
::selection { background:#90DD46; color:#0E110E; }

/* --- FINE-TUNE: Hero column vertical centering and padding --- */
.elementor-page-238 .elementor-top-section:first-child .elementor-column { align-self:center; }
.elementor-page-238 .elementor-top-section:first-child .elementor-widget-heading h1 { margin-bottom:18px!important; }

/* Counter section: flex row centered */
.elementor-page-238 .elementor-top-section:nth-child(2) .elementor-container { align-items:center; }
.elementor-page-238 .elementor-top-section:nth-child(2) .elementor-widget-counter { padding:20px 0; }
.elementor-page-238 .elementor-top-section:nth-child(2) .elementor-column + .elementor-column {
  border-left:1px solid #262C25;
}

/* Benefits section alternating */
.elementor-page-238 .elementor-top-section:nth-child(3) { padding:80px 0!important; }
.elementor-page-238 .elementor-top-section:nth-child(3) .elementor-column { padding:0 40px!important; }

/* Testimonials section */
.elementor-page-238 .elementor-top-section:nth-child(4) { padding:80px 0!important; }
.elementor-page-238 .elementor-top-section:nth-child(4) .elementor-column { padding:0 16px!important; }

/* CTA section: centered card look */
.elementor-page-238 .elementor-top-section:last-child {
  background:linear-gradient(135deg,#181D17,#131713)!important;
  border:1px solid #262C25; border-radius:0; margin:0 60px 80px;
  border-radius:24px; overflow:hidden; position:relative;
}
.elementor-page-238 .elementor-top-section:last-child::before {
  content:'';
  position:absolute; width:400px; height:400px;
  background:#90DD46; border-radius:50%; filter:blur(130px); opacity:.1;
  top:-150px; left:50%; transform:translateX(-50%);
  pointer-events:none;
}
.elementor-page-238 .elementor-top-section:last-child .elementor-container { position:relative; z-index:2; }
.elementor-page-238 .elementor-top-section:last-child .elementor-widget-heading .elementor-heading-title { text-align:center!important; }
.elementor-page-238 .elementor-top-section:last-child .elementor-widget-text-editor p { text-align:center!important; }
.elementor-page-238 .elementor-top-section:last-child .elementor-button-wrapper { text-align:center; }

/* General section spacing */
.elementor-top-section + .elementor-top-section { margin-top:0; }

/* Fix: Astra theme sometimes adds unwanted margin to #page */
#page { margin-top:0!important; }
.ast-article-single { padding:0!important; margin:0!important; }

/* Fix: Elementor page title that Astra sometimes injects */
.entry-header, .ast-article-post-format, .ast-single-post-order { display:none!important; }

/* --- LOGO PNG: header e footer --- */
.xpro-site-logo img {
  height:36px!important;
  width:auto!important;
  max-width:160px!important;
  object-fit:contain!important;
  display:block!important;
}
/* Garante que a coluna do logo no header tenha tamanho suficiente */
.xpro-theme-builder-header .elementor-col-20 {
  min-width:180px!important;
  flex:0 0 auto!important;
}
