/* Coal UP - Brand Layer (Tailwind via CDN provides layout/spacing)
   This file overrides some utility colors and adds texture/glow to match
   the Coal UP logo (carvão + brilho verde suave).
*/

:root{
  /* Brand palette tuned to the logo */
  --coal:#07080A;
  --coal2:#0D0F13;
  --coal3:#12151B;
  --coal4:#171B23;

  --green:#7CFF00;
  --green2:#B9FF4A; /* highlight */
  --greenHover:#66D900;
  --greenActive:#4FA600;

  --textMain:#F3F4F6;
  --textSub:#D4D7DD;
  --textMuted:#9AA3B2;

  --border:#1D2330;
  --border2:#243042;
  --shadow: 0 18px 55px rgba(0,0,0,.55);
  --glow: 0 0 36px rgba(124,255,0,.18);
}

html{
  scroll-behavior:smooth;
}

/* Prevent horizontal scroll on mobile (often caused by sliders/absolute glows) */
html, body{
  width: 100%;
  overflow-x: hidden;
}

*, *::before, *::after{ box-sizing: border-box; }
img, video, iframe{ max-width: 100%; }

/* --- Global background texture + soft green halo (logo-like) --- */
body{
  background-color: var(--coal) !important;
  color: var(--textSub) !important;
}

/* Noise overlay (SVG fractal noise as data URI). Cheap, no assets needed. */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .12;
  mix-blend-mode: overlay;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E");
  background-size: 260px 260px;
}

/* Radial green halos similar to logo glow */
body::after{
  content:"";
  position: fixed;
  inset: -20vh -20vw;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(45% 35% at 78% 18%, rgba(124,255,0,.14) 0%, rgba(124,255,0,0) 60%),
    radial-gradient(40% 35% at 22% 38%, rgba(124,255,0,.10) 0%, rgba(124,255,0,0) 62%),
    radial-gradient(34% 30% at 65% 75%, rgba(124,255,0,.09) 0%, rgba(124,255,0,0) 65%);
  filter: blur(0px);
}

.hero-bg{
  background-image: url("../img/img/hero-bg.png") ;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: filter 0.3s ease;

}
.hero-overlay {
  background: linear-gradient(
    90deg,
    rgba(10,10,10,0.85) 0%,
    rgba(10,10,10,0.75) 35%,
    rgba(10,10,10,0.45) 60%,
    rgba(10,10,10,0.15) 100%
  );
}
.hero-title,
.hero-text {
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}
.hero-highlight {
  color: #66D900; /* em vez de #7CFF00 */
}
@media (max-width: 768px) {

  }

  .hero-bg {
    filter: brightness(1) contrast(1.1);
  }

  .hero-title {
    font-size: 2rem;
    line-height: 1.2;
  }


/* Ensure main content sits above background layers */
header, main, footer{ position: relative; z-index: 1; }

::selection{
  background: rgba(124,255,0,0.25);
}

/* --- Override Tailwind utility colors to match logo palette --- */
.bg-coal{ background-color: var(--coal) !important; }
.bg-coal2{ background-color: var(--coal2) !important; }
.bg-coal3{ background-color: var(--coal3) !important; }
.text-textMain{ color: var(--textMain) !important; }
.text-textSub{ color: var(--textSub) !important; }
.text-textMuted{ color: var(--textMuted) !important; }
.text-green{ color: var(--green) !important; }
.bg-green{ background-color: var(--green) !important; }
.hover\:bg-greenHover:hover{ background-color: var(--greenHover) !important; }

/* -----------------------------
   Reveal animations (mobile-safe)
   - Without JS, content is visible.
   - With JS, we animate in via .is-visible.
------------------------------ */
[data-reveal]{ opacity: 1; transform: none; }
.js [data-reveal]{ opacity: 0; transform: translateY(10px); }
.js [data-reveal].is-visible{ opacity: 1; transform: none; transition: opacity .35s ease, transform .35s ease; will-change: opacity, transform; }

@media (max-width: 768px){
  .js [data-reveal]{ transform: translateY(6px); }
  .js [data-reveal].is-visible{ transition-duration: .22s; }

  /* Mobile performance: disable heavy parallax layer */
  [data-hero-parallax]{ display: none; }
}

@media (prefers-reduced-motion: reduce){
  .js [data-reveal]{ opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Swiper: keep default sizing (Swiper sets widths inline). Only clip inside the viewport. */
.swiper{ overflow: hidden; }
.swiper-wrapper{ align-items: stretch; }
.swiper-slide{ height: auto; }

/* --- Cards: denser carvão + subtle bevel --- */
.coalup-card{
  background: linear-gradient(180deg, rgba(18,21,27,.92) 0%, rgba(10,12,16,.92) 100%);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}

/* Apply card styling to existing Tailwind cards (bg-coal3 + border) */
.bg-coal3.border, .bg-coal3.border-\[\#222\], .bg-coal3.border-\[\#1f1f1f\]{
  background: linear-gradient(180deg, rgba(18,21,27,.92) 0%, rgba(10,12,16,.92) 100%) !important;
  border-color: var(--border) !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.55);
}
.bg-coal3.border:hover, .bg-coal3.border-\[\#222\]:hover{
  border-color: rgba(124,255,0,.28) !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.55), var(--glow);
}

/* Apply to common card patterns (Tailwind classes present in HTML) */
.border\[\#222\], .border-\[\#222\]{ border-color: var(--border) !important; }
.border-\[\#1f1f1f\]{ border-color: rgba(29,35,48,.8) !important; }

/* Soft bevel + glow on hover for interactive cards */
a:hover .coalup-card, .coalup-card:hover{
  border-color: rgba(124,255,0,.28);
  box-shadow: var(--shadow), var(--glow);
}

/* --- Buttons: gradient + shine (logo-like energy) --- */
.coalup-btn-primary{
  background: linear-gradient(135deg, var(--green2) 0%, var(--green) 45%, var(--greenHover) 100%) !important;
  color: #060708 !important;
  box-shadow: 0 0 0 1px rgba(124,255,0,.25) inset, 0 16px 40px rgba(0,0,0,.35), 0 0 28px rgba(124,255,0,.22);
  position: relative;
  overflow: hidden;
}
.coalup-btn-primary::after{
  content:"";
  position:absolute;
  inset:-40% 0 auto 0;
  height:120%;
  background: radial-gradient(60% 55% at 35% 35%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 60%);
  transform: rotate(10deg);
  opacity:.55;
  pointer-events:none;
}
.coalup-btn-primary:hover{
  filter: saturate(1.05);
  box-shadow: 0 0 0 1px rgba(124,255,0,.35) inset, 0 18px 46px rgba(0,0,0,.4), 0 0 34px rgba(124,255,0,.28);
}

/* Automatically apply primary styling to existing Tailwind buttons */
a.bg-green, button.bg-green{
  background: linear-gradient(135deg, var(--green2) 0%, var(--green) 45%, var(--greenHover) 100%) !important;
  color: #060708 !important;
  box-shadow: 0 0 0 1px rgba(124,255,0,.25) inset, 0 16px 40px rgba(0,0,0,.35), 0 0 28px rgba(124,255,0,.22) !important;
  position: relative;
  overflow: hidden;
  transition: transform .22s cubic-bezier(.2,.9,.2,1), box-shadow .22s cubic-bezier(.2,.9,.2,1), filter .22s cubic-bezier(.2,.9,.2,1);
}
a.bg-green::after, button.bg-green::after{
  content:"";
  position:absolute;
  inset:-40% 0 auto 0;
  height:120%;
  background: radial-gradient(60% 55% at 35% 35%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 60%);
  transform: rotate(10deg);
  opacity:.55;
  pointer-events:none;
}

/* Shine sweep (mid-term premium) */
a.bg-green::before, button.bg-green::before{
  content:"";
  position:absolute;
  top:-40%;
  left:-60%;
  width:55%;
  height:180%;
  background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.22) 40%, rgba(255,255,255,0) 75%);
  transform: rotate(12deg) translateX(0);
  opacity: 0;
  pointer-events:none;
}
a.bg-green:hover::before, button.bg-green:hover::before{
  opacity: .85;
  animation: coalupShine .9s cubic-bezier(.2,.9,.2,1) 1;
}
a.bg-green:hover, button.bg-green:hover{
  filter: saturate(1.05);
  box-shadow: 0 0 0 1px rgba(124,255,0,.35) inset, 0 18px 46px rgba(0,0,0,.4), 0 0 34px rgba(124,255,0,.28) !important;
  transform: translateY(-2px);
}

a.bg-green:active, button.bg-green:active{
  transform: translateY(0px);
  box-shadow: 0 0 0 1px rgba(124,255,0,.22) inset, 0 12px 30px rgba(0,0,0,.38), 0 0 22px rgba(124,255,0,.18) !important;
}

.coalup-btn-secondary{
  background: rgba(13,15,19,.55) !important;
  border-color: var(--border2) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
}
.coalup-btn-secondary:hover{
  border-color: rgba(124,255,0,.35) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.35), 0 0 26px rgba(124,255,0,.10);
}

/* Automatically apply secondary styling to outlined CTA buttons */
a.border-\[\#222\], button.border-\[\#222\]{
  background: rgba(13,15,19,.45) !important;
  border-color: var(--border2) !important;
  transition: transform .22s cubic-bezier(.2,.9,.2,1), box-shadow .22s cubic-bezier(.2,.9,.2,1), border-color .22s cubic-bezier(.2,.9,.2,1);
}
a.border-\[\#222\]:hover, button.border-\[\#222\]:hover{
  border-color: rgba(124,255,0,.35) !important;
  transform: translateY(-2px);
  box-shadow: 0 14px 40px rgba(0,0,0,.35), 0 0 26px rgba(124,255,0,.10);
}

/* Cards: mid-term premium hover */
.bg-coal3.border, .bg-coal3.border-\[\#222\], .bg-coal3.border-\[\#1f1f1f\],
.bg-coal2.border, .bg-coal2.border-\[\#222\],
.bg-coal2.border-\[\#222\]{
  transition: transform .24s cubic-bezier(.2,.9,.2,1), box-shadow .24s cubic-bezier(.2,.9,.2,1), border-color .24s cubic-bezier(.2,.9,.2,1);
}
.bg-coal3.border:hover, .bg-coal3.border-\[\#222\]:hover, .bg-coal3.border-\[\#1f1f1f\]:hover,
.bg-coal2.border:hover, .bg-coal2.border-\[\#222\]:hover{
  transform: translateY(-4px);
}

@keyframes coalupShine{
  0%{ transform: rotate(12deg) translateX(0); opacity:0; }
  10%{ opacity:.85; }
  100%{ transform: rotate(12deg) translateX(260%); opacity:0; }
}

/* Scroll progress bar */
#coalup-scroll-progress{
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 100vw;
  transform-origin: 0 50%;
  transform: scaleX(0);
  background: linear-gradient(90deg, rgba(124,255,0,0.0) 0%, rgba(124,255,0,0.95) 40%, rgba(185,255,74,0.95) 60%, rgba(124,255,0,0.0) 100%);
  box-shadow: 0 0 18px rgba(124,255,0,.18);
  z-index: 60;
}

/* Floating WhatsApp bubble */
.coalup-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  background: rgba(13,15,19,.72);
  border: 1px solid rgba(36,48,66,.85);
  color: var(--textMain);
  box-shadow: 0 16px 40px rgba(0,0,0,.45), 0 0 26px rgba(124,255,0,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  text-decoration: none;
  transition: transform .22s cubic-bezier(.2,.9,.2,1), box-shadow .22s cubic-bezier(.2,.9,.2,1), border-color .22s cubic-bezier(.2,.9,.2,1), opacity .22s ease;
  z-index: 70;
}
.coalup-fab.is-visible{ opacity: 1 !important; transform: translateY(0) !important; }
.coalup-fab:hover{
  transform: translateY(-3px);
  border-color: rgba(124,255,0,.35);
  box-shadow: 0 18px 46px rgba(0,0,0,.55), 0 0 34px rgba(124,255,0,.18);
}
.coalup-fab__icon{
  width: 18px;
  height: 18px;
  border-radius: 6px;
  background: radial-gradient(60% 70% at 30% 30%, rgba(185,255,74,.95) 0%, rgba(124,255,0,.95) 45%, rgba(102,217,0,.95) 100%);
  box-shadow: 0 0 18px rgba(124,255,0,.25);
  position: relative;
}
.coalup-fab__icon::after{
  content:"";
  position:absolute;
  inset: 3px;
  background: rgba(6,7,8,.7);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.52 3.48A11.79 11.79 0 0 0 12 0 12 12 0 0 0 1.62 18.38L0 24l5.78-1.52A12 12 0 0 0 24 12a11.79 11.79 0 0 0-3.48-8.52ZM12 22a10 10 0 0 1-5.12-1.41l-.37-.22-3.42.9.91-3.33-.24-.39A10 10 0 1 1 22 12a10 10 0 0 1-10 10Zm5.58-7.42c-.3-.15-1.77-.87-2.05-.97s-.48-.15-.68.15-.78.97-.96 1.17-.35.22-.65.07a8.2 8.2 0 0 1-2.41-1.49 9 9 0 0 1-1.66-2.06c-.17-.3 0-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5s.05-.37-.02-.52-.68-1.64-.93-2.25c-.24-.58-.49-.5-.68-.5h-.58a1.1 1.1 0 0 0-.8.37 3.33 3.33 0 0 0-1.04 2.48 5.8 5.8 0 0 0 1.22 3.1 13.2 13.2 0 0 0 5.06 4.6 5.9 5.9 0 0 0 3.24.94 2.76 2.76 0 0 0 1.81-1.28 2.25 2.25 0 0 0 .16-1.28c-.07-.12-.27-.2-.57-.35Z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.52 3.48A11.79 11.79 0 0 0 12 0 12 12 0 0 0 1.62 18.38L0 24l5.78-1.52A12 12 0 0 0 24 12a11.79 11.79 0 0 0-3.48-8.52ZM12 22a10 10 0 0 1-5.12-1.41l-.37-.22-3.42.9.91-3.33-.24-.39A10 10 0 1 1 22 12a10 10 0 0 1-10 10Zm5.58-7.42c-.3-.15-1.77-.87-2.05-.97s-.48-.15-.68.15-.78.97-.96 1.17-.35.22-.65.07a8.2 8.2 0 0 1-2.41-1.49 9 9 0 0 1-1.66-2.06c-.17-.3 0-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5s.05-.37-.02-.52-.68-1.64-.93-2.25c-.24-.58-.49-.5-.68-.5h-.58a1.1 1.1 0 0 0-.8.37 3.33 3.33 0 0 0-1.04 2.48 5.8 5.8 0 0 0 1.22 3.1 13.2 13.2 0 0 0 5.06 4.6 5.9 5.9 0 0 0 3.24.94 2.76 2.76 0 0 0 1.81-1.28 2.25 2.25 0 0 0 .16-1.28c-.07-.12-.27-.2-.57-.35Z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.coalup-fab__text{ font-weight: 600; font-size: 13px; }


/* Subtle glow utility for non-tailwind contexts */
.coalup-glow{
  box-shadow: 0 0 35px rgba(124,255,0,0.18);
}

/* Sticky header: darker glass */
header[data-sticky]{
  background: rgba(7,8,10,.72) !important;
  border-bottom-color: rgba(29,35,48,.65) !important;
}

/* Swiper tweaks */
.swiper-pagination-bullet{
  background: rgba(242,242,242,0.35) !important;
  opacity: 1 !important;
}
.swiper-pagination-bullet-active{
  background: rgba(124,255,0,0.95) !important;
}

/* Modal surface */
.coalup-modal-surface{
  background: linear-gradient(180deg, rgba(18,21,27,.96) 0%, rgba(10,12,16,.96) 100%);
  border: 1px solid rgba(36,48,66,.8);
  box-shadow: 0 30px 90px rgba(0,0,0,.75), 0 0 50px rgba(124,255,0,.10);
}

/* Hide elements until JS reveals them (prevents flicker) */
.reveal{opacity:0; transform: translateY(12px);}

/* Modal backdrop blur support */
.coalup-backdrop{
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1; transform:none;}
}
/* ===========================
   Prova Social (cards claros)
   =========================== */
.social-proof{
  position: relative;
}
.review-card{
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem; /* 2xl */
  padding: 1.5rem;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 12px 40px rgba(0,0,0,.22);
  transform: translateY(0);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.review-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(600px circle at 20% 20%, rgba(124,255,0,.10), transparent 45%);
  opacity:.0;
  transition: opacity .22s ease;
  pointer-events:none;
}
.review-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 70px rgba(0,0,0,.28);
  border-color: rgba(124,255,0,.35);
}
.review-card:hover::before{opacity:1;}
.review-stars{
  display:flex;
  gap:.25rem;
  margin-bottom: .75rem;
  font-size: 1rem;
  line-height: 1;
}
.review-stars span{
  color: #F59E0B; /* amber */
  filter: drop-shadow(0 2px 8px rgba(245,158,11,.15));
}
.review-text{
  color:#111827; /* gray-900 */
  font-size: .95rem;
  line-height: 1.6;
}
.review-author{
  margin-top: 1rem;
  color:#475569; /* slate-600 */
  font-size: .8rem;
  font-weight: 600;
}
@media (max-width: 480px){
  .review-card{padding:1.25rem;}
  .review-text{font-size:.95rem;}
}


/* =========================================================
   COAL UP — Botão animado "FAQ completa" (laranja/glow)
   ========================================================= */
.coalup-faq-btn{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(900px circle at 20% 20%, rgba(255,122,24,.18), transparent 38%),
    radial-gradient(700px circle at 90% 10%, rgba(255,190,90,.14), transparent 36%),
    linear-gradient(180deg, rgba(24,24,24,.92), rgba(10,10,10,.92));
  color:#F2F2F2;
  box-shadow:
    0 18px 55px rgba(0,0,0,.55),
    0 0 0 1px rgba(255,122,24,.08) inset,
    0 0 38px rgba(255,122,24,.22);
  overflow:hidden;
  text-decoration:none;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease;
}
.coalup-faq-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(255,122,24,.35);
  box-shadow:
    0 22px 70px rgba(0,0,0,.60),
    0 0 0 1px rgba(255,122,24,.10) inset,
    0 0 52px rgba(255,122,24,.34);
}
.coalup-faq-btn:active{
  transform: translateY(0px) scale(.99);
}
.coalup-faq-btn__content{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.coalup-faq-btn__title{
  font-weight:700;
  letter-spacing:-.01em;
  font-size:16px;
  line-height:1.2;
  color:#F6F6F6;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.coalup-faq-btn__meta{
  font-size:12px;
  line-height:1.2;
  color: rgba(242,242,242,.70);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.coalup-faq-btn__icon{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.35);
  display:grid;
  place-items:center;
  box-shadow: 0 10px 30px rgba(0,0,0,.35);
  color: rgba(255,190,90,.95);
}
.coalup-faq-btn__icon svg{
  width:22px;
  height:22px;
}

/* Shine (faixa de brilho) */
.coalup-faq-btn__shine{
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(500px circle at 15% 20%, rgba(255,190,90,.22), transparent 38%),
    linear-gradient(110deg, transparent 0%, rgba(255,255,255,.10) 42%, transparent 55%);
  opacity:.65;
  filter: blur(0.2px);
  transform: translateX(-35%);
  animation: coalupShine 3.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes coalupShine{
  0%{ transform: translateX(-45%); opacity:.45; }
  40%{ opacity:.75; }
  100%{ transform: translateX(45%); opacity:.40; }
}

/* Bubbles (bolhas flutuantes) */
.coalup-faq-btn__bubbles{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.9;
  mix-blend-mode:screen;
}
.coalup-faq-btn__bubbles .b{
  position:absolute;
  bottom:-18px;
  width:14px;
  height:14px;
  border-radius:999px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.55), rgba(255,190,90,.45) 45%, rgba(255,122,24,.18) 70%, rgba(255,122,24,0) 72%);
  filter: blur(.2px);
  animation: coalupBubble 4.8s linear infinite;
  opacity:.75;
}
.coalup-faq-btn__bubbles .b1{ left: 10%; animation-duration: 5.6s; animation-delay: .1s; transform: scale(.9); }
.coalup-faq-btn__bubbles .b2{ left: 22%; animation-duration: 4.9s; animation-delay: 1.1s; transform: scale(1.15); }
.coalup-faq-btn__bubbles .b3{ left: 38%; animation-duration: 6.2s; animation-delay: .6s; transform: scale(.75); }
.coalup-faq-btn__bubbles .b4{ left: 62%; animation-duration: 5.1s; animation-delay: 1.6s; transform: scale(1.05); }
.coalup-faq-btn__bubbles .b5{ left: 78%; animation-duration: 6.8s; animation-delay: .3s; transform: scale(.85); }
.coalup-faq-btn__bubbles .b6{ left: 90%; animation-duration: 5.9s; animation-delay: 1.9s; transform: scale(1.25); }

@keyframes coalupBubble{
  0%{ transform: translateY(0) scale(var(--s,1)); opacity:.0; }
  10%{ opacity:.65; }
  100%{ transform: translateY(-120px) scale(var(--s,1)); opacity:0; }
}

/* Responsivo */
@media (max-width: 480px){
  .coalup-faq-btn{ padding:14px 14px; border-radius:16px; }
  .coalup-faq-btn__title{ font-size:15px; }
  .coalup-faq-btn__icon{ width:42px; height:42px; border-radius:14px; }
}

/* Acessibilidade: respeitar redução de movimento */
@media (prefers-reduced-motion: reduce){
  .coalup-faq-btn, .coalup-faq-btn *{ animation: none !important; transition: none !important; }
}



/* === CoalUP Visual Upgrade (micro-interactions + polish) === */
:root{
  --coalup-green: #7CFF00;
  --coalup-green-hover: #66D900;
  --coalup-green-active: #4FA600;
}

/* Prevent accidental horizontal scroll on mobile */
html, body { overflow-x: clip; }
body { overscroll-behavior-x: none; }

/* Universal focus ring for accessibility */
:where(a, button, input, textarea, select):focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(124,255,0,0.22);
  border-color: rgba(124,255,0,0.6) !important;
}

/* Primary CTA (green) with shine + lift */
.btn-primary{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transform: translateZ(0);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn-primary::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  background: radial-gradient(700px circle at 30% 20%, rgba(255,255,255,0.30), transparent 45%),
              radial-gradient(650px circle at 70% 80%, rgba(124,255,0,0.22), transparent 55%);
  opacity: .65;
  z-index: 0;
  pointer-events:none;
}
.btn-primary::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-40%;
  width: 60%;
  height: 220%;
  transform: rotate(22deg) translateX(-120%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.55), transparent);
  opacity: .0;
  z-index: 1;
  pointer-events:none;
}
.btn-primary > *{ position: relative; z-index: 2; }
.btn-primary:hover{
  transform: translateY(-1px);
  filter: saturate(1.05);
  box-shadow: 0 18px 55px rgba(124,255,0,0.12), 0 0 0 1px rgba(124,255,0,0.25) inset;
}
.btn-primary:hover::after{
  opacity: .9;
  transform: rotate(22deg) translateX(260%);
  transition: transform .85s cubic-bezier(.2,.9,.2,1), opacity .25s ease;
}
.btn-primary:active{
  transform: translateY(0px) scale(.99);
  filter: saturate(1.0);
}

/* Secondary button (border) with subtle glow */
.btn-ghost{
  position: relative;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn-ghost:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 55px rgba(0,0,0,0.35);
  border-color: rgba(124,255,0,0.35) !important;
}

/* Card hover polish */
.coalup-card{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.coalup-card:hover{
  transform: translateY(-2px);
  border-color: rgba(124,255,0,0.22) !important;
  box-shadow: 0 26px 80px rgba(0,0,0,0.40);
}

/* Subtle animated background glow helper */
.coalup-ambient{
  position:absolute;
  inset:-1px;
  pointer-events:none;
  z-index:0;
  background: radial-gradient(900px circle at 20% 10%, rgba(124,255,0,0.12), transparent 40%),
              radial-gradient(900px circle at 80% 85%, rgba(255,255,255,0.06), transparent 45%);
  opacity:.85;
}

@media (prefers-reduced-motion: reduce){
  .btn-primary, .btn-ghost, .coalup-card{ transition:none !important; }
  .btn-primary::after{ display:none !important; }
}


/* Header Blog button (green, subtle animated shine) */
.nav-blog-btn{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  color: #000;
  background: linear-gradient(135deg, var(--green), var(--greenHover));
  box-shadow: 0 0 22px rgba(124,255,0,.22);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  overflow: hidden;
}
.nav-blog-btn::before{
  content:"";
  position:absolute;
  inset:-40% -30%;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,.35), transparent 55%);
  transform: rotate(18deg) translateX(-30%);
  opacity:.55;
  filter: blur(4px);
  animation: coalupShine 3.2s ease-in-out infinite;
}
.nav-blog-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 0 34px rgba(124,255,0,.35);
  filter: saturate(1.05);
}
@keyframes coalupShine{
  0%,100%{ transform: rotate(18deg) translateX(-30%); opacity:.45; }
  50%{ transform: rotate(18deg) translateX(12%); opacity:.7; }
}

/* -------------------------------------------
   Oferta (Ads) — Ajuste de embed do YouTube
   - Shorts (9:16) dentro de container com aspect-ratio
   - Garante preenchimento total do iframe (sem ficar “mini”)
-------------------------------------------- */
.hero-video-wrapper{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.hero-video{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
