/* ====== Base & Tokens ====== */
:root{ --purple-900:#2B0B3F; --purple-800:#40205F; --purple-700:#4E2772; --violet:#7F2FA3; --orange:#FF6B35; --gold:#FFC300; --white:#FFFFFF; --shadow:0 10px 30px rgba(0,0,0,.18); --radius:18px; }
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color:var(--white);
  background:
    radial-gradient(1400px 900px at 10% 5%, rgba(240,141,67,.50) 0%, rgba(240,141,67,0) 55%),
    radial-gradient(1200px 700px at 85% 20%, rgba(255,195,0,.26) 0%, rgba(255,195,0,0) 60%),
    radial-gradient(1000px 800px at 40% 80%, rgba(110,46,155,.35) 0%, rgba(110,46,155,0) 60%),
    linear-gradient(135deg, var(--purple-900) 0%, #3B0E58 45%, #5B2378 100%);
  background-attachment: fixed, fixed, fixed, fixed;
}
.container{width:min(1120px, 94%); margin:0 auto}
.site-header{position:sticky; top:0; z-index:50; backdrop-filter: blur(8px); background: rgba(17,10,26,.35); border-bottom:1px solid rgba(255,255,255,.07)}
.nav{display:flex; align-items:center; justify-content:space-between; padding:.8rem 0}
.brand{display:flex; flex-direction:column; line-height:1}
.brand-mark{font-family:Cinzel, serif; font-weight:700; letter-spacing:.08em}
.brand-sub{font-size:.8rem; opacity:.8}
.nav-links a{color:var(--white); text-decoration:none; margin-left:1rem; font-weight:600; opacity:.95}
.nav-links a.btn{margin-left:1rem}
.btn{display:inline-block; padding:.8rem 1.2rem; border-radius:999px; text-decoration:none; font-weight:700; box-shadow:var(--shadow); border:2px solid transparent}
.btn--lg{padding:1rem 1.5rem; font-size:1.05rem}
.btn--sm{padding:.5rem .9rem; font-size:.9rem}
.btn--primary{background:var(--gold); color:#241A00}
.btn--primary:hover{filter:brightness(.95)}
.btn--ghost{background:transparent; border-color:rgba(255,255,255,.35); color:var(--white)}
.btn--ghost:hover{background:rgba(255,255,255,.1)}
.hero{padding:5rem 0 3rem; position:relative; overflow:hidden}
.hero-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:2rem; align-items:center}
.hero h1{font-family:Cinzel, serif; font-size: clamp(2rem, 4vw, 3.2rem); margin:.2rem 0 .6rem}
.hero h1 span{font-weight:500; color:var(--gold)}
.subtitle{font-size:1.1rem; opacity:.92; margin:0 0 .4rem}
.lead{opacity:.95; max-width:60ch}
.cta-row{display:flex; gap:1rem; flex-wrap:wrap; margin-top:1rem}
.aura-wrap{position: relative; display: grid; place-items: center;}
.orb-img{width: min(360px, 70%); height:auto; border-radius: 50%; display:block; filter: drop-shadow(0 10px 30px rgba(255,195,0,.25));}
.aura-wrap::before,.aura-wrap::after{content:""; position:absolute; width:110%; height:110%; border-radius:50%; z-index:-1; pointer-events:none;}
.aura-wrap::before{background: radial-gradient(55% 55% at 50% 50%, rgba(255,195,0,.20), rgba(255,195,0,0) 70%); animation: slow-rotate 22s linear infinite;}
.aura-wrap::after{background: radial-gradient(70% 70% at 50% 50%, rgba(127,47,163,.18), rgba(127,47,163,0) 75%); animation: breathe 6s ease-in-out infinite;}
.auramotion{animation: floaty 8s ease-in-out infinite, pulse 5.5s ease-in-out infinite; will-change: transform, filter;}
@keyframes floaty{0%,100%{transform: translateY(0)}50%{transform: translateY(-8px)}}
@keyframes pulse{0%,100%{filter: drop-shadow(0 10px 30px rgba(255,195,0,.22))}50%{filter: drop-shadow(0 12px 44px rgba(255,195,0,.42))}}
@keyframes slow-rotate{0%{transform: rotate(0deg)}100%{transform: rotate(360deg)}}
@keyframes breathe{0%,100%{opacity:.55; transform: scale(1)}50%{opacity:.9; transform: scale(1.05)}}
.section{padding:3.5rem 0}
h2{font-family:Cinzel, serif; text-align:center; font-size: clamp(1.6rem, 3vw, 2.2rem); margin:0 0 2rem}
h3{margin:.2rem 0 .5rem}
p{line-height:1.6}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem}
.card{background:rgba(255,255,255,.95); color:#211; border-radius:var(--radius); padding:1.2rem; box-shadow:var(--shadow); min-height: 180px}
.card .icon{font-size:1.6rem; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--gold); color:#241A00; box-shadow:0 6px 18px rgba(0,0,0,.16); margin-bottom:.6rem}
.instructor-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:2rem; align-items:center}
.instructor .ticks{margin:.6rem 0 0; padding:0 1rem}
.ticks li{margin:.4rem 0}
.badge{width:min(280px, 70%); aspect-ratio:1/1; border-radius:50%; display:grid; place-items:center; background: radial-gradient(circle at 50% 35%, rgba(255,255,255,.12), rgba(0,0,0,.3)), linear-gradient(160deg, var(--purple-700), var(--violet)); border:2px solid var(--gold); box-shadow:0 25px 60px rgba(0,0,0,.35)}
.badge span{font-family:Cinzel, serif; font-size:2rem; letter-spacing:.12em; color:var(--gold)}
.details{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
.detail{background:rgba(255,255,255,.95); color:#211; border-radius:var(--radius); padding:1rem; display:flex; gap:.8rem; align-items:flex-start; box-shadow:var(--shadow)}
.d-ic{font-size:1.4rem; background:var(--gold); color:#241A00; width:36px; height:36px; border-radius:999px; display:grid; place-items:center; margin-top:.2rem}
.detail h4{margin:.1rem 0 .2rem}
.quote blockquote{font-size: clamp(1.1rem, 2.6vw, 1.4rem); text-align:center; margin:0}
.quote cite{display:block; text-align:center; opacity:.8; margin-top:.6rem}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:start}
.form{background:rgba(255,255,255,.96); color:#211; border-radius:var(--radius); padding:1.2rem; box-shadow:var(--shadow)}
.form h3{margin-top:0}
.form label{font-weight:600; font-size:.9rem; margin-top:.6rem; display:block}
.form input,.form textarea{width:100%; margin-top:.3rem; padding:.8rem .9rem; border-radius:12px; border:1px solid rgba(0,0,0,.12); outline:none; font:inherit; background:#fff; color:#211}
.form input:focus,.form textarea:focus{border-color:#8A5BC2; box-shadow:0 0 0 4px rgba(138,91,194,.15)}
.form-note{display:block; margin-top:.6rem; opacity:.7}
.site-footer{margin-top:2rem; background:#1B0A2A; border-top:1px solid rgba(255,255,255,.06);}
.foot-grid{display:flex; align-items:flex-start; justify-content:space-between; gap:2rem; padding:2rem 0}
.foot-cols{display:flex; gap:2rem}
.site-footer h5{margin:.1rem 0 .4rem}
.site-footer ul{list-style:none; margin:0; padding:0}
.site-footer a{color:#fff}
.copy{text-align:center; font-size:.85rem; opacity:.7; padding:.8rem 0; border-top:1px solid rgba(255,255,255,.06)}
@media (prefers-reduced-motion: reduce){ .auramotion, .aura-wrap::before, .aura-wrap::after{ animation: none !important; } }
@media (max-width: 1024px){ .hero-grid{grid-template-columns:1fr} .instructor-grid{grid-template-columns:1fr} }
@media (max-width: 900px){ .cards{grid-template-columns:1fr 1fr} .details{grid-template-columns:1fr 1fr} .form-grid{grid-template-columns:1fr} }
@media (max-width: 560px){ .cards{grid-template-columns:1fr} .nav-links a{margin-left:.6rem} }



.logo {
  height: 150px; /* ajusta conforme necessário */
  width: auto;
  display: block;
}


.badge {
  width: min(280px, 70%);
  aspect-ratio: 1/1;
  border-radius: 50%;
  overflow: hidden; /* faz a imagem ficar recortada */
  border: 2px solid var(--gold);
  box-shadow: 0 25px 60px rgba(0,0,0,.35);
}

.badge img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* preenche sem distorcer */
}

.price-badge {
  display: inline-block;
  background: linear-gradient(135deg, #FFC300, #FFB100);
  color: #241A00;
  font-weight: 700;
  padding: 0.3rem 0.7rem;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  margin: 0 4px;
  font-size: 1.1rem;
}


.logo-footer {
  height: 60px;   /* ajusta conforme preferires */
  width: auto;
  display: block;
}

/* ===== Footer Clean ===== */
.site-footer.clean {
  background: rgba(17,10,26,.35); /* igual ao header */
  backdrop-filter: blur(6px);
  border-top: 1px solid rgba(255,255,255,.07);
  text-align:center;
  padding:2rem 0 1rem;
}

.foot-clean img.logo-footer {
  height:100px;
  width:auto;
  margin:0 auto 1rem;
}
.foot-clean .foot-org {
  font-weight:600;
  opacity:.9;
  margin:.3rem 0 1rem;
}
.foot-clean .copy {
  font-size:.85rem;
  opacity:.7;
}


/* Cards centralizados e responsivos */
.cards-centered{
  grid-template-columns: repeat(auto-fit, minmax(280px, 360px));
  justify-content: center;
  gap: 1.5rem;
}

/* Estilo dos cards da inscrição */
.card-landing{
  display:flex;
  flex-direction:column;
  gap:.6rem;
  text-align:left;
  padding-top:1rem;
  min-height: 330px; /* opcional: equaliza alturas */
}

/* Bandeira grande centralizada no topo */
.flag-emoji{
  font-size:2.2rem;
  line-height:1;
  text-align:center;
  width:100%;
  margin: .2rem 0 .4rem;
}

/* Garantia de consistência nos botões (amarelos) */
.card-landing .btn{ align-self:stretch; }


.flag-img {
  text-align: center;
  margin-bottom: 0.6rem;
}
.flag-img img {
  height: 36px;   /* ajusta o tamanho conforme a imagem */
  width: auto;
  display: inline-block;
}

.nav-links .btn--primary {
  color: #000 !important;   /* só o do menu vai ficar preto */
}
