/* ===== CPC 2025 - Acabamento elegante v3 ===== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Playfair+Display:wght@700;800&display=swap');

:root{
  --elegant-ink:#0f172a;
  --elegant-muted:#667085;
  --elegant-navy:#111b36;
  --elegant-blue:#1d315f;
  --elegant-red:#ba1e2d;
  --elegant-red-2:#e0525d;
  --elegant-cream:#fbf7f2;
  --elegant-line:rgba(15,23,42,.09);
  --elegant-shadow:0 26px 70px rgba(15,23,42,.12);
  --elegant-shadow-soft:0 16px 45px rgba(15,23,42,.08);
}

body.cpc-elegant-v3{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:
    radial-gradient(circle at 10% -5%,rgba(186,30,45,.10),transparent 30rem),
    radial-gradient(circle at 90% 10%,rgba(29,49,95,.13),transparent 34rem),
    linear-gradient(180deg,#fff 0%,#f7f9fc 46%,#fff 100%);
  color:var(--elegant-ink);
  letter-spacing:-.01em;
}

.cpc-elegant-v3 #header{
  height:78px!important;
  background:rgba(255,255,255,.78)!important;
  border-bottom:1px solid rgba(255,255,255,.72)!important;
  box-shadow:0 14px 50px rgba(15,23,42,.08)!important;
}
.cpc-elegant-v3 #header.header-scrolled{
  height:70px!important;
  background:rgba(255,255,255,.92)!important;
}
.cpc-elegant-v3 .site-brand{
  gap:.75rem!important;
  padding:.5rem .85rem .5rem .55rem!important;
  background:transparent!important;
  color:var(--elegant-navy)!important;
}
.cpc-elegant-v3 .site-brand:before{
  content:"";
  width:42px;height:42px;border-radius:16px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.35),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--elegant-red),var(--elegant-blue));
  box-shadow:0 12px 30px rgba(186,30,45,.24);
}
.cpc-elegant-v3 .site-brand:after{display:none!important;}
.cpc-elegant-v3 .site-brand span{display:block;font-weight:900;letter-spacing:-.06em;line-height:1;}
.cpc-elegant-v3 .site-brand small{display:block;margin-top:.15rem;font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--elegant-muted);font-weight:800;}
.cpc-elegant-v3 .navbar>ul{
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(255,255,255,.68);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 10px 30px rgba(15,23,42,.05);
}
.cpc-elegant-v3 .navbar a,
.cpc-elegant-v3 .navbar a:focus{
  color:#24304a!important;
  font-size:11.5px!important;
  font-weight:800!important;
  letter-spacing:-.015em!important;
}
.cpc-elegant-v3 .navbar a:hover,
.cpc-elegant-v3 .navbar .active{
  color:var(--elegant-red)!important;
  background:#fff!important;
}
.cpc-elegant-v3 .btn-cta-header{
  background:linear-gradient(135deg,var(--elegant-red),#d93745)!important;
  box-shadow:0 16px 34px rgba(186,30,45,.24)!important;
}

.cpc-elegant-v3 .cpc-hero-modern{min-height:790px!important;background:#0a1226!important;}
.cpc-elegant-v3 .cpc-hero-modern:before{
  background:
    radial-gradient(circle at 72% 32%,rgba(224,82,93,.20),transparent 25rem),
    linear-gradient(110deg,rgba(8,15,33,.96) 0%,rgba(13,25,55,.82) 42%,rgba(13,25,55,.28) 72%),
    url('../img/bannerInscAbertaRGB.jpg') center top/cover no-repeat!important;
  filter:saturate(1.03) contrast(1.03);
}
.cpc-elegant-v3 .cpc-hero-modern:after{
  height:230px!important;
  background:linear-gradient(180deg,rgba(247,249,252,0),#f7f9fc 55%)!important;
  border-radius:0!important;
  inset:auto 0 0 0!important;
}
.cpc-elegant-v3 .cpc-hero-modern .hero-container{
  min-height:790px!important;
  padding:130px 0 170px!important;
}
.cpc-elegant-v3 .cpc-hero-modern .hero-content{
  max-width:760px!important;
  margin-left:clamp(1rem,8vw,8rem)!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
  filter:none!important;
}
.cpc-elegant-v3 .hero-kicker{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px);
}
.cpc-elegant-v3 #hero h1{
  font-family:'Playfair Display',Georgia,serif!important;
  max-width:760px!important;
  font-size:clamp(3.1rem,6vw,6.4rem)!important;
  line-height:.94!important;
  letter-spacing:-.065em!important;
  text-transform:none!important;
  color:#fff!important;
  text-shadow:0 18px 50px rgba(0,0,0,.28);
}
.cpc-elegant-v3 #hero p{
  max-width:650px;
  color:rgba(255,255,255,.84)!important;
  font-size:clamp(1.08rem,1.8vw,1.35rem)!important;
  line-height:1.55!important;
  font-weight:500!important;
}
.cpc-elegant-v3 .hero-meta span{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.62rem .86rem;border-radius:999px;
  color:#fff;background:rgba(255,255,255,.105);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);font-weight:800;font-size:.9rem;
}
.cpc-elegant-v3 .btn-hero-primary{
  background:linear-gradient(135deg,var(--elegant-red),var(--elegant-red-2))!important;
  border:0!important;
  font-weight:900!important;
  padding:.9rem 1.55rem!important;
  box-shadow:0 18px 42px rgba(186,30,45,.34)!important;
}
.cpc-elegant-v3 .btn-hero-secondary{
  background:rgba(255,255,255,.10)!important;
  border-color:rgba(255,255,255,.32)!important;
  font-weight:900!important;
  padding:.9rem 1.55rem!important;
  backdrop-filter:blur(12px);
}

.cpc-elegant-v3 .event-highlights{margin-top:-125px!important;}
.cpc-elegant-v3 .highlight-card{
  min-height:126px!important;
  padding:1.2rem!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(255,255,255,.84)!important;
  backdrop-filter:blur(18px);
  box-shadow:var(--elegant-shadow)!important;
}
.cpc-elegant-v3 .highlight-card i{
  border-radius:20px!important;
  background:linear-gradient(135deg,var(--elegant-navy),var(--elegant-blue))!important;
}
.cpc-elegant-v3 .highlight-card:hover{transform:translateY(-6px)!important;}
.cpc-elegant-v3 .info-pill{
  background:#fff!important;border:1px solid var(--elegant-line)!important;border-radius:22px!important;
  box-shadow:var(--elegant-shadow-soft)!important;
}
.cpc-elegant-v3 .info-pill strong{font-family:'Playfair Display',Georgia,serif;color:var(--elegant-navy)!important;letter-spacing:-.05em;}

.cpc-elegant-v3 main section{position:relative;}
.cpc-elegant-v3 .section-header{margin-bottom:42px!important;}
.cpc-elegant-v3 .section-header:before{display:none!important;}
.cpc-elegant-v3 .section-header h2,
.cpc-elegant-v3 .section-header h3{
  font-family:'Playfair Display',Georgia,serif!important;
  color:var(--elegant-navy)!important;
  letter-spacing:-.055em!important;
}
.cpc-elegant-v3 .section-header h2:after{
  width:84px!important;height:3px!important;margin-top:16px!important;
  background:linear-gradient(90deg,var(--elegant-red),rgba(186,30,45,.15))!important;
}
.cpc-elegant-v3 #about .section-header h2:before,
.cpc-elegant-v3 #org .section-header h2:before,
.cpc-elegant-v3 #speakers2 .section-header h2:before,
.cpc-elegant-v3 #schedule .section-header h2:before,
.cpc-elegant-v3 #inscricao .section-header h2:before{
  content:"";display:block;width:38px;height:38px;margin:0 auto 12px;border-radius:15px;
  background:linear-gradient(135deg,rgba(186,30,45,.12),rgba(29,49,95,.12));
}

.cpc-elegant-v3 #about img,
.cpc-elegant-v3 #inscricao2 img,
.cpc-elegant-v3 #inscricao3 img,
.cpc-elegant-v3 #venue img{
  border-radius:30px!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 30px 85px rgba(15,23,42,.13)!important;
}
.cpc-elegant-v3 #about .row + .row{padding-top:2.2rem!important;}
.cpc-elegant-v3 .elegant-text-card{
  padding:clamp(1.3rem,3vw,2.3rem);
  border-radius:28px;
  background:#fff;
  border:1px solid var(--elegant-line);
  box-shadow:var(--elegant-shadow-soft);
}
.cpc-elegant-v3 .elegant-text-card p{font-size:1.03rem;line-height:1.75;color:#344054;}

.cpc-elegant-v3 .committee,
.cpc-elegant-v3 .speaker{
  background:#fff!important;
  border:1px solid rgba(15,23,42,.08)!important;
  border-radius:24px!important;
  box-shadow:0 14px 40px rgba(15,23,42,.07)!important;
}
.cpc-elegant-v3 .committee:hover,
.cpc-elegant-v3 .speaker:hover{box-shadow:0 22px 60px rgba(15,23,42,.12)!important;}
.cpc-elegant-v3 .speaker img,
.cpc-elegant-v3 .committee img{
  width:156px!important;height:156px!important;
  outline:1px solid rgba(186,30,45,.18)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.12)!important;
}

.cpc-elegant-v3 .program-card{
  border-radius:32px!important;
  border:1px solid rgba(255,255,255,.88)!important;
  box-shadow:0 34px 90px rgba(15,23,42,.15)!important;
}
.cpc-elegant-v3 .program-card-head{
  background:linear-gradient(135deg,#101b35,#1d315f 58%,#9f1c2a)!important;
  padding:1.55rem 1.7rem!important;
}
.cpc-elegant-v3 .program-card-head h3{font-family:'Playfair Display',Georgia,serif!important;font-size:1.65rem;}
.cpc-elegant-v3 .eyebrow{letter-spacing:.16em!important;color:rgba(255,255,255,.76)!important;}

.cpc-elegant-v3 #submissao .card{
  border-radius:32px!important;
  border:1px solid rgba(15,23,42,.07)!important;
  box-shadow:0 28px 80px rgba(15,23,42,.11)!important;
}
.cpc-elegant-v3 #submissao .card-body{color:#344054;}
.cpc-elegant-v3 #submissao .text-danger{
  padding:1rem 1.15rem;border-radius:18px;background:#fff1f3;border:1px solid #ffd8de;color:#a51625!important;
}

.cpc-elegant-v3 #inscricao{
  background:
    radial-gradient(circle at 16% 10%,rgba(255,255,255,.16),transparent 18rem),
    linear-gradient(135deg,#091226,#111b36 48%,#8b1623)!important;
}
.cpc-elegant-v3 #inscricao .section-header h2,
.cpc-elegant-v3 #inscricao .section-header p{color:#fff!important;}
.cpc-elegant-v3 #inscricao .section-header h2:after{background:rgba(255,255,255,.75)!important;}
.cpc-elegant-v3 #inscricao .table-responsive{
  max-width:1060px!important;
  background:rgba(255,255,255,.13)!important;
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(14px);
}
.cpc-elegant-v3 #inscricao table{box-shadow:0 18px 55px rgba(0,0,0,.16);}
.cpc-elegant-v3 #inscricao h2{font-family:'Playfair Display',Georgia,serif!important;color:#fff!important;}

.cpc-elegant-v3 #venue .row{
  border-radius:32px!important;
  border:1px solid rgba(15,23,42,.07)!important;
  box-shadow:0 30px 90px rgba(15,23,42,.12)!important;
}
.cpc-elegant-v3 #sponsors{background:#0a1226!important;}
.cpc-elegant-v3 #sponsors .section-header h3{color:#fff!important;}
.cpc-elegant-v3 #sponsors .section-header h3:after{background:rgba(255,255,255,.45)!important;}
.cpc-elegant-v3 #infos .col-md-4{
  padding:1.4rem!important;
  border-radius:28px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}
.cpc-elegant-v3 #infos b{color:#fff;}
.cpc-elegant-v3 #footer{background:#070d1d!important;}

@media (max-width:1199px){
  .cpc-elegant-v3 .navbar>ul{border:0;box-shadow:none;background:transparent!important;}
}
@media (max-width:991px){
  .cpc-elegant-v3 .site-brand small{display:none;}
  .cpc-elegant-v3 .cpc-hero-modern,
  .cpc-elegant-v3 .cpc-hero-modern .hero-container{min-height:700px!important;}
  .cpc-elegant-v3 .cpc-hero-modern .hero-content{margin:0 1.25rem!important;}
  .cpc-elegant-v3 .event-highlights{margin-top:-86px!important;}
}
@media (max-width:575px){
  .cpc-elegant-v3 #header{height:68px!important;}
  .cpc-elegant-v3 .site-brand:before{width:38px;height:38px;border-radius:14px;}
  .cpc-elegant-v3 #hero h1{font-size:3rem!important;}
  .cpc-elegant-v3 #hero p{font-size:1rem!important;}
  .cpc-elegant-v3 .hero-meta span{font-size:.82rem;padding:.52rem .72rem;}
  .cpc-elegant-v3 .event-highlights{margin-top:-60px!important;}
  .cpc-elegant-v3 .highlight-card{border-radius:22px!important;}
  .cpc-elegant-v3 .section-header h2{font-size:2.2rem!important;}
  .cpc-elegant-v3 .program-card-head{padding:1.1rem!important;}
}

/* ===== CPC - Banner oficial totalmente visível no cabeçalho ===== */
body.cpc-banner-header{
  background:#f7f9fc;
  padding-top:0!important;
}
body.cpc-banner-header .cpc-official-banner{
  width:100%;
  margin:0;
  padding:0;
  background:#090909;
  line-height:0;
  overflow:hidden;
}
body.cpc-banner-header .cpc-official-banner img{
  display:block;
  width:100%;
  max-width:none;
  height:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
}
body.cpc-banner-header #header,
body.cpc-banner-header #header.header-scrolled,
body.cpc-banner-header #header.header-inner{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  height:auto!important;
  min-height:86px!important;
  padding:0!important;
  background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid rgba(15,23,42,.08)!important;
  box-shadow:0 18px 45px rgba(15,23,42,.08)!important;
  backdrop-filter:blur(18px);
}
body.cpc-banner-header #header .container-xxl{
  min-height:86px;
}
body.cpc-banner-header .site-brand{
  display:flex!important;
  align-items:center!important;
  gap:.8rem!important;
}
body.cpc-banner-header .site-brand:before{
  content:"\f32e"!important;
  font-family:"bootstrap-icons"!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#c5162e!important;
  font-size:2rem!important;
  width:54px!important;
  height:54px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid rgba(197,22,46,.18)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.08)!important;
}
body.cpc-banner-header .site-brand span{
  font-size:1.05rem!important;
  letter-spacing:-.03em!important;
  color:#0b2a5b!important;
}
body.cpc-banner-header .site-brand small{
  font-size:1.35rem!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  text-transform:uppercase!important;
  color:#0b2a5b!important;
}
body.cpc-banner-header .navbar>ul{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.cpc-banner-header .navbar a,
body.cpc-banner-header .navbar a:focus{
  color:#0b1f46!important;
  font-size:.78rem!important;
  font-weight:900!important;
  text-transform:uppercase;
}
body.cpc-banner-header .navbar a:hover,
body.cpc-banner-header .navbar .active{
  color:#0b63ce!important;
  background:transparent!important;
}
body.cpc-banner-header .navbar .active:after{
  content:"";
  display:block;
  width:26px;
  height:2px;
  margin:.45rem auto 0;
  border-radius:999px;
  background:#0b63ce;
}
body.cpc-banner-header .btn-cta-header{
  background:linear-gradient(135deg,#0b4aa2,#0a2f70)!important;
  border:0!important;
  border-radius:9px!important;
  padding:.85rem 1.25rem!important;
  box-shadow:0 14px 32px rgba(11,74,162,.22)!important;
}
body.cpc-banner-header .cpc-welcome-hero{
  position:relative;
  overflow:hidden;
  padding:76px 0 86px;
  background:
    radial-gradient(circle at 8% 42%,rgba(13,110,253,.25),transparent 18rem),
    radial-gradient(circle at 92% 40%,rgba(13,110,253,.16),transparent 20rem),
    linear-gradient(135deg,#051735 0%,#06285d 52%,#03112a 100%);
  color:#fff;
}
body.cpc-banner-header .cpc-welcome-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 0% 72%,rgba(0,112,255,.22),transparent 20rem),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:auto,80px 80px,80px 80px;
  opacity:.75;
  pointer-events:none;
}
body.cpc-banner-header .cpc-welcome-hero .container{position:relative;z-index:1;}
body.cpc-banner-header .cpc-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-bottom:1rem;
  padding:.55rem .9rem;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
body.cpc-banner-header .cpc-welcome-heading h1{
  max-width:860px;
  margin:0 auto .9rem;
  font-size:clamp(2rem,4vw,3.25rem);
  line-height:1.05;
  color:#fff;
  font-weight:900;
  letter-spacing:-.055em;
}
body.cpc-banner-header .cpc-welcome-heading p{
  max-width:820px;
  margin:0 auto;
  color:rgba(255,255,255,.86);
  font-size:clamp(1rem,1.55vw,1.22rem);
  line-height:1.7;
}
body.cpc-banner-header .cpc-heart-divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin:1.35rem auto 2.2rem;
  color:#ff4d2e;
  font-size:1.55rem;
}
body.cpc-banner-header .cpc-heart-divider:before,
body.cpc-banner-header .cpc-heart-divider:after{
  content:"";
  width:92px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ff4d2e);
}
body.cpc-banner-header .cpc-heart-divider:after{
  background:linear-gradient(90deg,#ff4d2e,transparent);
}
body.cpc-banner-header .cpc-welcome-card{
  height:100%;
  min-height:154px;
  display:flex;
  align-items:center;
  gap:1.1rem;
  padding:1.45rem;
  border-radius:20px;
  background:rgba(7,39,88,.74);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 24px 50px rgba(0,0,0,.16);
  backdrop-filter:blur(12px);
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
body.cpc-banner-header .cpc-welcome-card:hover{
  transform:translateY(-5px);
  border-color:rgba(255,112,45,.65);
  background:rgba(8,47,105,.86);
}
body.cpc-banner-header .cpc-welcome-card i{
  flex:0 0 auto;
  font-size:2.35rem;
  color:#ff7a2c;
}
body.cpc-banner-header .cpc-welcome-card strong{
  display:block;
  color:#fff;
  font-size:1.02rem;
  line-height:1.35;
  font-weight:900;
}
body.cpc-banner-header .cpc-welcome-card span{
  display:block;
  margin-top:.5rem;
  color:rgba(255,255,255,.82);
  line-height:1.55;
}
body.cpc-banner-header .event-highlights,
body.cpc-banner-header .cpc-info-strip{
  display:none!important;
}
@media (max-width:1199.98px){
  body.cpc-banner-header #header,
  body.cpc-banner-header #header.header-scrolled{
    min-height:74px!important;
  }
  body.cpc-banner-header #header .container-xxl{min-height:74px;}
  body.cpc-banner-header .btn-cta-header{display:none;}
  body.cpc-banner-header .site-brand small{font-size:1.05rem!important;}
}
@media (max-width:767.98px){
  body.cpc-banner-header .cpc-official-banner img{
    width:100%;
    height:auto!important;
  }
  body.cpc-banner-header .site-brand:before{width:46px!important;height:46px!important;font-size:1.65rem!important;}
  body.cpc-banner-header .site-brand span{font-size:.85rem!important;}
  body.cpc-banner-header .site-brand small{font-size:.95rem!important;}
  body.cpc-banner-header .cpc-welcome-hero{padding:54px 0 62px;}
  body.cpc-banner-header .cpc-welcome-card{min-height:auto;}
}

/* ===== CPC v7 - Menu refinado e boas-vindas premium ===== */
body.cpc-banner-header #header,
body.cpc-banner-header #header.header-scrolled,
body.cpc-banner-header #header.header-inner{
  min-height:82px!important;
  background:rgba(255,255,255,.975)!important;
  box-shadow:0 16px 42px rgba(5,23,53,.09)!important;
}
body.cpc-banner-header #header .container-xxl{
  min-height:82px;
  gap:1.25rem;
}
body.cpc-banner-header .site-brand-link{text-decoration:none!important;}
body.cpc-banner-header .site-brand{
  min-width:215px;
  padding:0!important;
}
body.cpc-banner-header .site-brand:before{
  width:50px!important;
  height:50px!important;
  border-radius:17px!important;
  background:linear-gradient(180deg,#fff,#f8fbff)!important;
  color:#c5162e!important;
  box-shadow:0 14px 30px rgba(8,34,78,.10)!important;
}
body.cpc-banner-header .site-brand span{
  display:block;
  font-size:.82rem!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-transform:uppercase!important;
  color:#20345f!important;
}
body.cpc-banner-header .site-brand small{
  display:block;
  margin-top:.12rem;
  font-size:1.35rem!important;
  line-height:.95!important;
  font-weight:950!important;
  letter-spacing:-.055em!important;
  color:#071f4f!important;
}
body.cpc-banner-header .navbar{
  padding:0!important;
}
body.cpc-banner-header .navbar>ul{
  align-items:center;
  gap:.18rem;
  padding:.38rem!important;
  border-radius:999px!important;
  background:#f4f7fb!important;
  border:1px solid rgba(7,31,79,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92)!important;
}
body.cpc-banner-header .navbar li{position:relative;}
body.cpc-banner-header .navbar a,
body.cpc-banner-header .navbar a:focus{
  display:flex!important;
  align-items:center!important;
  gap:.35rem!important;
  padding:.72rem .82rem!important;
  border-radius:999px!important;
  color:#21355f!important;
  font-size:.72rem!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  text-transform:uppercase!important;
  white-space:nowrap;
  transition:all .2s ease!important;
}
body.cpc-banner-header .navbar a:hover,
body.cpc-banner-header .navbar .active,
body.cpc-banner-header .navbar li:hover>a{
  color:#fff!important;
  background:linear-gradient(135deg,#0b4aa2,#071f4f)!important;
  box-shadow:0 10px 22px rgba(7,31,79,.16)!important;
}
body.cpc-banner-header .navbar .active:after{display:none!important;}
body.cpc-banner-header .navbar .dropdown ul{
  border:1px solid rgba(7,31,79,.08)!important;
  border-radius:18px!important;
  padding:.55rem!important;
  box-shadow:0 22px 55px rgba(5,23,53,.14)!important;
}
body.cpc-banner-header .navbar .dropdown ul a{
  border-radius:12px!important;
  color:#21355f!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:.74rem!important;
  padding:.72rem .85rem!important;
}
body.cpc-banner-header .navbar .dropdown ul a:hover{
  color:#0b4aa2!important;
  background:#eef5ff!important;
}
body.cpc-banner-header .mobile-nav-toggle{
  margin-left:.65rem;
  width:46px;
  height:46px;
  display:none;
  align-items:center;
  justify-content:center;
  border-radius:15px;
  color:#071f4f!important;
  background:#f4f7fb!important;
  border:1px solid rgba(7,31,79,.09);
}
body.cpc-banner-header .btn-cta-header{
  display:inline-flex!important;
  align-items:center;
  gap:.35rem;
  flex:0 0 auto;
  border-radius:999px!important;
  padding:.82rem 1.12rem!important;
  font-size:.78rem!important;
  font-weight:900!important;
  text-transform:uppercase;
  letter-spacing:.02em;
  background:linear-gradient(135deg,#c5162e,#ff6b35)!important;
  box-shadow:0 16px 34px rgba(197,22,46,.22)!important;
}
body.cpc-banner-header .btn-cta-header:hover{transform:translateY(-2px);}

body.cpc-banner-header .cpc-welcome-hero{
  padding:86px 0 78px!important;
  background:
    radial-gradient(circle at 13% 28%,rgba(255,107,53,.20),transparent 18rem),
    radial-gradient(circle at 84% 20%,rgba(13,110,253,.20),transparent 22rem),
    linear-gradient(135deg,#041229 0%,#08275a 54%,#020b1c 100%)!important;
}
body.cpc-banner-header .cpc-welcome-hero:before{
  background:
    url('../img/banner-cpc-2026.jpg') center center/cover no-repeat,
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.035) 1px,transparent 1px)!important;
  background-size:cover,90px 90px,90px 90px!important;
  opacity:.08!important;
  filter:saturate(.7);
}
body.cpc-banner-header .cpc-welcome-hero:after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-1px;
  height:120px;
  background:linear-gradient(180deg,rgba(247,249,252,0),#f7f9fc 95%);
  pointer-events:none;
}
body.cpc-banner-header .cpc-welcome-heading{position:relative;z-index:2;}
body.cpc-banner-header .cpc-kicker{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.20)!important;
  color:#fff;
}
body.cpc-banner-header .cpc-welcome-heading h1{
  max-width:790px!important;
  margin:0 0 1rem!important;
  font-family:'Inter',system-ui,sans-serif!important;
  font-size:clamp(2.45rem,5vw,4.8rem)!important;
  line-height:.98!important;
  letter-spacing:-.07em!important;
  text-wrap:balance;
}
body.cpc-banner-header .cpc-welcome-heading p{
  max-width:690px!important;
  margin:0!important;
  color:rgba(255,255,255,.83)!important;
  font-size:clamp(1rem,1.35vw,1.2rem)!important;
}
body.cpc-banner-header .cpc-welcome-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:1.7rem;
}
body.cpc-banner-header .btn-welcome-primary,
body.cpc-banner-header .btn-welcome-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  border-radius:999px;
  padding:.9rem 1.25rem;
  font-weight:900;
  text-decoration:none;
  transition:all .2s ease;
}
body.cpc-banner-header .btn-welcome-primary{
  color:#fff;
  background:linear-gradient(135deg,#c5162e,#ff7a2c);
  box-shadow:0 18px 36px rgba(197,22,46,.27);
}
body.cpc-banner-header .btn-welcome-secondary{
  color:#fff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
  backdrop-filter:blur(12px);
}
body.cpc-banner-header .btn-welcome-primary:hover,
body.cpc-banner-header .btn-welcome-secondary:hover{
  color:#fff;
  transform:translateY(-2px);
}
body.cpc-banner-header .cpc-event-panel{
  position:relative;
  z-index:2;
  padding:2rem;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 34px 90px rgba(0,0,0,.26);
  backdrop-filter:blur(18px);
  overflow:hidden;
}
body.cpc-banner-header .cpc-event-panel:before{
  content:"";
  position:absolute;
  inset:-1px;
  background:radial-gradient(circle at 90% 0%,rgba(255,122,44,.28),transparent 12rem);
  pointer-events:none;
}
body.cpc-banner-header .cpc-event-panel>*{position:relative;z-index:1;}
body.cpc-banner-header .panel-badge{
  display:inline-flex;
  padding:.48rem .78rem;
  border-radius:999px;
  background:#fff;
  color:#c5162e;
  font-size:.78rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
}
body.cpc-banner-header .cpc-event-panel h2{
  margin:1.15rem 0 .75rem;
  color:#fff;
  font-size:clamp(1.85rem,3vw,2.55rem);
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.055em;
}
body.cpc-banner-header .cpc-event-panel p{
  color:rgba(255,255,255,.84);
  line-height:1.65;
  margin:0;
}
body.cpc-banner-header .panel-divider{
  height:1px;
  margin:1.45rem 0;
  background:linear-gradient(90deg,rgba(255,255,255,.28),transparent);
}
body.cpc-banner-header .panel-list{
  display:grid;
  gap:.85rem;
}
body.cpc-banner-header .panel-list span{
  display:flex;
  align-items:center;
  gap:.7rem;
  color:#fff;
  font-weight:750;
}
body.cpc-banner-header .panel-list i{
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:#ff7a2c;
  background:rgba(255,255,255,.10);
}
body.cpc-banner-header .cpc-welcome-cards{
  position:relative;
  z-index:3;
  margin-top:3.5rem;
}
body.cpc-banner-header .cpc-welcome-card{
  min-height:148px!important;
  padding:1.35rem!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.96)!important;
  color:#071f4f!important;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:0 24px 58px rgba(5,23,53,.18)!important;
  backdrop-filter:blur(10px);
}
body.cpc-banner-header .cpc-welcome-card i{
  width:54px;
  height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  font-size:1.65rem!important;
  color:#fff!important;
  background:linear-gradient(135deg,#c5162e,#ff7a2c);
  box-shadow:0 14px 28px rgba(197,22,46,.18);
}
body.cpc-banner-header .cpc-welcome-card strong{
  color:#071f4f!important;
  font-size:1rem!important;
}
body.cpc-banner-header .cpc-welcome-card span{
  color:#667085!important;
  font-size:.94rem;
}
body.cpc-banner-header .cpc-welcome-card:hover{
  background:#fff!important;
  transform:translateY(-6px)!important;
  border-color:rgba(197,22,46,.16)!important;
}

@media (max-width:1399.98px){
  body.cpc-banner-header .navbar a,
  body.cpc-banner-header .navbar a:focus{font-size:.68rem!important;padding:.68rem .65rem!important;}
  body.cpc-banner-header .site-brand{min-width:185px;}
}
@media (max-width:1199.98px){
  body.cpc-banner-header .navbar>ul{
    align-items:flex-start;
    gap:0;
    padding:1rem!important;
    border-radius:0!important;
    background:#fff!important;
  }
  body.cpc-banner-header .navbar a,
  body.cpc-banner-header .navbar a:focus{
    width:100%;
    justify-content:flex-start;
    border-radius:12px!important;
    padding:.82rem 1rem!important;
    font-size:.84rem!important;
  }
  body.cpc-banner-header .mobile-nav-toggle{display:inline-flex;}
  body.cpc-banner-header .btn-cta-header{display:inline-flex!important;}
}
@media (max-width:767.98px){
  body.cpc-banner-header #header .container-xxl{gap:.7rem;}
  body.cpc-banner-header .site-brand{min-width:0;}
  body.cpc-banner-header .site-brand span{display:none!important;}
  body.cpc-banner-header .site-brand small{font-size:1.05rem!important;}
  body.cpc-banner-header .btn-cta-header{padding:.68rem .82rem!important;font-size:.70rem!important;}
  body.cpc-banner-header .btn-cta-header span{display:none;}
  body.cpc-banner-header .cpc-welcome-hero{padding:58px 0 56px!important;}
  body.cpc-banner-header .cpc-welcome-heading h1{margin-inline:auto!important;text-align:center;}
  body.cpc-banner-header .cpc-welcome-heading p{margin-inline:auto!important;text-align:center;}
  body.cpc-banner-header .cpc-event-panel{padding:1.45rem;border-radius:24px;}
  body.cpc-banner-header .cpc-welcome-cards{margin-top:2rem;}
}

/* Ajuste v8: a seção de boas-vindas não deve ter altura fixa herdada do template original */
body.cpc-banner-header #hero.cpc-welcome-hero{
  height:auto!important;
  min-height:unset!important;
  max-height:none!important;
  overflow:visible!important;
  display:block!important;
}
body.cpc-banner-header #hero.cpc-welcome-hero > .container{
  position:relative!important;
  z-index:2!important;
}
body.cpc-banner-header #hero.cpc-welcome-hero:before,
body.cpc-banner-header #hero.cpc-welcome-hero:after{
  pointer-events:none!important;
}
@media (max-width:991.98px){
  body.cpc-banner-header #hero.cpc-welcome-hero{
    padding-top:48px!important;
    padding-bottom:58px!important;
  }
}


/* CPC 2026 - tabela moderna de inscrições */
.cpc-pricing-section { position: relative; overflow: hidden; background: linear-gradient(180deg, #fff8f1 0%, #ffffff 42%, #f7f9fc 100%); }
.cpc-pricing-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 8% 12%, rgba(220, 53, 69, .12), transparent 32%), radial-gradient(circle at 92% 8%, rgba(255, 193, 7, .12), transparent 28%); pointer-events: none; }
.cpc-pricing-section .container { position: relative; z-index: 1; }
.cpc-section-header-modern .cpc-eyebrow { display: inline-flex; align-items: center; justify-content: center; padding: .45rem .9rem; margin-bottom: .75rem; border-radius: 999px; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #b22b33; background: rgba(220, 53, 69, .09); }
.cpc-deadline-card { padding: 1.25rem 1.35rem; border-radius: 22px; background: rgba(255, 255, 255, .88); border: 1px solid rgba(22, 35, 67, .10); box-shadow: 0 18px 45px rgba(22, 35, 67, .08); text-align: center; }
.cpc-deadline-card span { display: block; color: #dc3545; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; font-size: .78rem; margin-bottom: .4rem; }
.cpc-deadline-card strong { color: #162343; font-size: 1.08rem; }
.cpc-pricing-note { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.2rem; border-radius: 20px; color: #162343; background: #fff3cd; border: 1px solid rgba(255, 193, 7, .35); box-shadow: 0 14px 36px rgba(22, 35, 67, .07); }
.cpc-pricing-note i { font-size: 1.35rem; color: #b58100; }
.cpc-price-tabs { gap: .65rem; }
.cpc-price-tabs .nav-link { border-radius: 999px; padding: .72rem 1.15rem; font-weight: 800; color: #162343; background: #fff; border: 1px solid rgba(22, 35, 67, .12); box-shadow: 0 10px 25px rgba(22, 35, 67, .06); }
.cpc-price-tabs .nav-link.active { background: linear-gradient(135deg, #dc3545, #b22b33); color: #fff; border-color: transparent; }
.cpc-price-table-card { overflow: hidden; border-radius: 26px; background: #fff; border: 1px solid rgba(22, 35, 67, .10); box-shadow: 0 24px 70px rgba(22, 35, 67, .12); }
.cpc-price-table-title { padding: 1.25rem 1.5rem; color: #fff; background: linear-gradient(135deg, #162343, #26395f); }
.cpc-price-table-title h3 { margin: 0 0 .25rem; font-size: 1.28rem; font-weight: 900; }
.cpc-price-table-title p { margin: 0; opacity: .82; }
.cpc-price-table { --bs-table-bg: #fff; color: #263238; }
.cpc-price-table thead th { position: sticky; top: 0; z-index: 2; padding: 1rem; color: #162343; background: #f8fafc; border-bottom: 1px solid rgba(22, 35, 67, .12); font-size: .86rem; text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.cpc-price-table tbody td { padding: 1rem; border-color: rgba(22, 35, 67, .08); vertical-align: middle; }
.cpc-price-table tbody tr:not(.cpc-table-group):hover td { background: #fff8f1; }
.cpc-price-table tbody td:first-child { min-width: 280px; font-weight: 700; color: #162343; }
.cpc-price-table tbody td:not(:first-child) { font-weight: 800; text-align: center; color: #b22b33; white-space: nowrap; }
.cpc-price-table .cpc-isento { color: #0f766e !important; }
.cpc-table-group td { color: #fff !important; text-align: center !important; font-weight: 900 !important; letter-spacing: .04em; text-transform: uppercase; background: linear-gradient(135deg, #dc3545, #b22b33) !important; }
.btn-cpc-register { border: 0; border-radius: 999px; padding: .9rem 2rem; color: #fff !important; font-weight: 900; background: linear-gradient(135deg, #dc3545, #b22b33); box-shadow: 0 18px 42px rgba(220, 53, 69, .28); }
.btn-cpc-register:hover { transform: translateY(-1px); box-shadow: 0 22px 52px rgba(220, 53, 69, .34); }
@media (max-width: 767.98px) { .cpc-pricing-section { padding-top: 3rem !important; } .cpc-pricing-note { align-items: flex-start; } .cpc-price-tabs { justify-content: stretch !important; } .cpc-price-tabs .nav-item { width: 100%; } .cpc-price-tabs .nav-link { width: 100%; } .cpc-price-table-title { padding: 1rem; } .cpc-price-table thead th, .cpc-price-table tbody td { padding: .85rem; } .cpc-price-table tbody td:first-child { min-width: 230px; } }


/* CPC 2026 - responsividade total das tabelas de valores por categoria */
.cpc-price-table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cpc-price-table {
  width: 100%;
  min-width: 760px;
  margin-bottom: 0;
}
#precos-combo .cpc-price-table {
  min-width: 620px;
}
.cpc-price-table-card {
  max-width: 100%;
}

@media (max-width: 575.98px) {
  .cpc-pricing-section .tab-content {
    max-width: 100% !important;
  }
  .cpc-price-table-card {
    overflow: visible;
    border-radius: 20px !important;
  }
  .cpc-price-table-responsive {
    overflow: visible;
  }
  .cpc-price-table {
    min-width: 0 !important;
    border-collapse: separate;
    border-spacing: 0 .85rem;
  }
  .cpc-price-table thead {
    display: none;
  }
  .cpc-price-table,
  .cpc-price-table tbody,
  .cpc-price-table tr,
  .cpc-price-table td {
    display: block;
    width: 100% !important;
  }
  .cpc-price-table tbody tr:not(.cpc-table-group) {
    overflow: hidden;
    border: 1px solid rgba(22, 35, 67, .10);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(22, 35, 67, .08);
  }
  .cpc-price-table tbody tr:not(.cpc-table-group) td {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    min-width: 0 !important;
    padding: .78rem .95rem !important;
    border: 0;
    border-bottom: 1px solid rgba(22, 35, 67, .08);
    text-align: right !important;
    white-space: normal !important;
  }
  .cpc-price-table tbody tr:not(.cpc-table-group) td:last-child {
    border-bottom: 0;
  }
  .cpc-price-table tbody tr:not(.cpc-table-group) td:first-child {
    display: block;
    padding: .95rem !important;
    color: #fff !important;
    text-align: left !important;
    font-weight: 900;
    background: linear-gradient(135deg, #162343, #26395f);
  }
  .cpc-price-table tbody tr:not(.cpc-table-group) td:not(:first-child)::before {
    flex: 0 0 auto;
    color: #162343;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .04em;
    text-align: left;
    text-transform: uppercase;
  }
  .cpc-price-table tbody tr:not(.cpc-table-group) td:nth-child(2)::before { content: "1º lote"; }
  .cpc-price-table tbody tr:not(.cpc-table-group) td:nth-child(3)::before { content: "2º lote"; }
  .cpc-price-table tbody tr:not(.cpc-table-group) td:nth-child(4)::before { content: "3º lote e no local"; }
  .cpc-table-group td {
    display: block !important;
    padding: .85rem .95rem !important;
    border-radius: 16px;
    font-size: .78rem;
  }
}


/* Hero como imagem real, sem background, para evitar margens no mobile */
#hero.cpc-image-hero{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  margin: 8rem 0 0 0 !important;
  overflow:visible!important;
  background:none!important;
  line-height:0!important;
}
#hero.cpc-image-hero:before,
#hero.cpc-image-hero:after{
  content:none!important;
  display:none!important;
}
#hero.cpc-image-hero .hero-container{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  background:none!important;
  text-align:center!important;
  line-height:0!important;
}
#hero.cpc-image-hero .hero-banner-img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
}
#about img.img-fluid{
  display:block;
  width:100%;
  height:auto;
}
@media (max-width:575px){
  #main{padding-top:0!important;}
  #about{padding-top:2rem!important;}
  #about .row + .row{padding-top:1.5rem!important;}
}
