:root {
  --cpc-navy: #162343;
  --cpc-blue: #233b73;
  --cpc-red: #c92332;
  --cpc-soft: #f5f7fb;
  --cpc-text: #2b3140;
  --cpc-muted: #6c7484;
  --cpc-card: #ffffff;
}

html { scroll-behavior: smooth; }
body {
  color: var(--cpc-text);
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 42%, #ffffff 100%);
  font-family: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

#header {
  height: 78px;
  background: rgba(255,255,255,.94) !important;
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 30px rgba(22,35,67,.08);
  border-bottom: 1px solid rgba(22,35,67,.08);
}
#header.header-scrolled, #header.header-inner { height: 72px; background: rgba(255,255,255,.98) !important; }
.site-brand {
  color: var(--cpc-navy) !important;
  font-weight: 800;
  letter-spacing: -.04em;
}
.site-brand::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-left: 6px;
  border-radius: 50%;
  background: var(--cpc-red);
}
.navbar a, .navbar a:focus {
  color: var(--cpc-navy);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: .01em;
}
.navbar a:hover, .navbar .active, .navbar .active:focus, .navbar li:hover > a { color: var(--cpc-red); }
.navbar > ul > li > a:before { background-color: var(--cpc-red) !important; }
.mobile-nav-toggle { color: var(--cpc-navy); background: transparent !important; font-size: 30px; }
.btn-cta-header {
  margin-left: 15px;
  border: 0;
  color: #fff !important;
  background: linear-gradient(135deg, var(--cpc-red), #e25561);
  border-radius: 999px;
  padding: .55rem 1rem;
  box-shadow: 0 10px 22px rgba(201,35,50,.22);
}
.btn-cta-header:hover { transform: translateY(-1px); box-shadow: 0 14px 28px rgba(201,35,50,.28); }

.hero-content {
  text-align: left;
  max-width: 760px;
  color: #fff;
  filter: drop-shadow(0 12px 32px rgba(0,0,0,.28));
}
.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .45rem .8rem;
  margin-bottom: 1rem;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-weight: 800;
  font-size: .88rem;
  letter-spacing: .02em;
}
#hero h1 {
  max-width: 720px;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  line-height: .98;
  letter-spacing: -.06em;
  text-transform: none;
  font-weight: 900;
}
#hero p {
  color: rgba(255,255,255,.92);
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 1rem;
}

.event-highlights {
  position: relative;
  z-index: 3;
  margin-top: -58px;
}
.highlight-card {
  min-height: 112px;
  padding: 1.15rem;
  color: var(--cpc-navy);
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(22,35,67,.08);
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(22,35,67,.13);
  text-decoration: none;
  transition: .24s ease;
}
.highlight-card:hover { color: var(--cpc-red); transform: translateY(-4px); box-shadow: 0 22px 55px rgba(22,35,67,.18); }
.highlight-card i {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 54px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, var(--cpc-navy), var(--cpc-blue));
  font-size: 1.55rem;
}
.highlight-card b, .highlight-card small { display:block; }
.highlight-card small { color: var(--cpc-muted); margin-top: .2rem; }

section { scroll-margin-top: 90px; }
.section-with-bg, #about, #org, #speakers2, #inscricao2, #submissao, #inscricao3, #venue, #sponsors {
  position: relative;
}
.section-header { margin-bottom: 34px; }
.section-header::before {
  background: linear-gradient(90deg, transparent, rgba(201,35,50,.85), transparent);
  height: 2px;
}
.section-header h2, .section-header h3 {
  color: var(--cpc-navy);
  font-weight: 900;
  letter-spacing: -.04em;
}
.section-header h2::after {
  content: "";
  display: block;
  width: 54px;
  height: 4px;
  margin: 12px auto 0;
  border-radius: 99px;
  background: var(--cpc-red);
}

#about img, #schedule img, #submissao img, #inscricao2 img, #inscricao3 img, #venue img {
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(22,35,67,.12);
}
.committee, .speaker, #sponsors .col-md-12, #infos .col-md-4 {
  transition: transform .22s ease, box-shadow .22s ease;
}
.committee {
  height: 100%;
  padding: 1rem .75rem;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(22,35,67,.08);
}
.committee:hover, .speaker:hover { transform: translateY(-4px); }
.committee img {
  width: 150px !important;
  height: 150px !important;
  object-fit: cover;
  border: 5px solid #fff !important;
  outline: 3px solid rgba(22,35,67,.14);
  box-shadow: 0 12px 24px rgba(22,35,67,.16);
}
.committee .details small { color: var(--cpc-text); line-height: 1.35; }

#schedule, #submissao { background: var(--cpc-soft) !important; }
#inscricao, #sponsors {
  background: radial-gradient(circle at top left, rgba(255,255,255,.10), transparent 38%), linear-gradient(135deg, var(--cpc-navy), #0d172f) !important;
  color: #fff;
}
#inscricao .section-header h2, #sponsors .section-header h2, #sponsors .section-header h3,
#inscricao h2, #inscricao p { color: #fff !important; }
#inscricao .section-header h2::after, #sponsors .section-header h2::after { background: #fff; opacity: .75; }
#inscricao table {
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.18) !important;
}
#inscricao .btn, .buy-tickets {
  border-radius: 999px !important;
  font-weight: 800;
}

#venue iframe, iframe {
  border-radius: 24px;
  box-shadow: 0 20px 50px rgba(22,35,67,.14);
}
#sponsors img, img[src*="supporters"] {
  max-height: 135px;
  object-fit: contain;
  background: #fff;
  border-radius: 20px;
  padding: .8rem;
  box-shadow: 0 12px 28px rgba(22,35,67,.10);
}
#footer {
  background: #0a1022;
  color: rgba(255,255,255,.85);
  padding: 22px 0;
}
.back-to-top { background: var(--cpc-red); box-shadow: 0 12px 26px rgba(201,35,50,.35); }
.back-to-top:hover { background: var(--cpc-navy); }

@media (max-width: 991px) {
  #header { height: 70px; }
  .btn-cta-header { display: none; }
  .navbar-mobile ul {
    border-radius: 24px;
    box-shadow: 0 24px 65px rgba(0,0,0,.22);
  }
  .event-highlights { margin-top: 0; }
}
@media (max-width: 575px) {
  #main { padding-top: 70px; }
  .d-block.d-sm-none img[src*="bannerInscAbertaRGB"] {
    border-radius: 0 0 28px 28px;
    box-shadow: 0 18px 42px rgba(22,35,67,.14);
  }
  .section-header h2 { font-size: 1.75rem; }
  .highlight-card { min-height: 96px; border-radius: 20px; }
}

/* ===== CPC 2025 - Modernização v2 ===== */
:root{
  --cpc-bg:#f4f7fb;
  --cpc-ink:#111827;
  --cpc-radius:28px;
  --cpc-shadow:0 24px 70px rgba(13,23,47,.14);
}
.cpc-modern-v2{
  background:
    radial-gradient(circle at 8% 12%, rgba(201,35,50,.10), transparent 24rem),
    radial-gradient(circle at 90% 18%, rgba(35,59,115,.12), transparent 28rem),
    linear-gradient(180deg,#fff 0%,#f4f7fb 35%,#fff 100%);
  color:var(--cpc-ink);
}
.cpc-modern-v2 #header{
  height:82px;
  background:rgba(255,255,255,.82)!important;
  backdrop-filter:blur(22px) saturate(170%);
  -webkit-backdrop-filter:blur(22px) saturate(170%);
  border-bottom:1px solid rgba(255,255,255,.55);
  box-shadow:0 18px 60px rgba(13,23,47,.10);
}
.cpc-modern-v2 #header .container-xxl{max-width:1440px;}
.cpc-modern-v2 .site-brand{
  display:inline-flex;align-items:center;gap:.65rem;
  padding:.55rem .85rem;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(22,35,67,.08),rgba(201,35,50,.08));
}
.cpc-modern-v2 .navbar>ul{
  gap:.12rem;
  padding:.35rem;
  border-radius:999px;
  background:rgba(22,35,67,.045);
}
.cpc-modern-v2 .navbar a,
.cpc-modern-v2 .navbar a:focus{
  padding:.72rem .72rem;
  border-radius:999px;
  font-size:12px;
  white-space:nowrap;
}
.cpc-modern-v2 .navbar a:hover,
.cpc-modern-v2 .navbar .active{
  background:#fff;
  box-shadow:0 10px 25px rgba(13,23,47,.08);
}
.cpc-modern-v2 .btn-cta-header{
  padding:.72rem 1.15rem;
  box-shadow:0 16px 35px rgba(201,35,50,.28);
}
.cpc-hero-modern{
  min-height:760px!important;
  height:auto!important;
  position:relative;
  overflow:hidden;
  background:#081126!important;
}
.cpc-hero-modern:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(120deg,rgba(8,17,38,.92),rgba(15,28,62,.64) 44%,rgba(201,35,50,.20)),
    url('../img/bannerInscAbertaRGB.jpg') center top/cover no-repeat;
  transform:scale(1.015);
}
.cpc-hero-modern:after{
  content:"";position:absolute;inset:auto -12% -25% -12%;height:320px;
  background:#f4f7fb;border-radius:50% 50% 0 0/100% 100% 0 0;
}
.cpc-hero-modern .hero-container{
  position:relative!important;top:auto!important;min-height:760px;
  display:flex!important;align-items:center!important;justify-content:flex-start!important;
  background:transparent!important;padding:120px 0 180px!important;
}
.cpc-hero-modern .hero-content{
  text-align:left!important;max-width:840px!important;margin-left:clamp(1rem,7vw,7rem)!important;
  padding:2rem;
  border:1px solid rgba(255,255,255,.20);
  border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.06));
  backdrop-filter:blur(14px);
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}
.cpc-hero-modern .hero-kicker{background:#fff;color:var(--cpc-navy);border:0;box-shadow:0 12px 28px rgba(0,0,0,.18);}
.cpc-hero-modern h1{font-size:clamp(2.55rem,5.8vw,5.8rem)!important;line-height:.92!important;}
.cpc-hero-modern p{font-size:clamp(1.05rem,2vw,1.45rem)!important;}
.cpc-hero-modern .btn{box-shadow:0 16px 35px rgba(0,0,0,.18);}
.event-highlights{margin-top:-112px!important;}
.highlight-card{
  min-height:132px!important;
  border-radius:var(--cpc-radius)!important;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.88))!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:var(--cpc-shadow)!important;
}
.highlight-card i{width:64px!important;height:64px!important;border-radius:22px!important;box-shadow:0 16px 32px rgba(22,35,67,.18);}
.highlight-card b{font-size:1.05rem;}
.cpc-info-strip{position:relative;z-index:2;}
.info-pill{
  height:100%;padding:1.25rem 1rem;border-radius:24px;background:#fff;
  border:1px solid rgba(22,35,67,.08);box-shadow:0 14px 40px rgba(13,23,47,.07);
}
.info-pill strong{display:block;color:var(--cpc-navy);font-size:1.35rem;line-height:1;font-weight:900;letter-spacing:-.04em;}
.info-pill span{display:block;color:var(--cpc-muted);font-size:.9rem;margin-top:.35rem;}
.cpc-modern-v2 main section{padding-top:88px!important;padding-bottom:88px!important;}
.cpc-modern-v2 .section-header h2{font-size:clamp(2rem,3.4vw,3.3rem);}
.cpc-modern-v2 .section-header p{font-size:1.05rem;color:var(--cpc-muted);}
.cpc-modern-v2 .section-with-bg,
.cpc-modern-v2 #submissao{
  background:linear-gradient(180deg,#f6f8fc,#eef3fb)!important;
}
.cpc-modern-v2 #about img,
.cpc-modern-v2 #inscricao2 img,
.cpc-modern-v2 #inscricao3 img{
  width:min(100%,1100px)!important;
  border-radius:34px!important;
  box-shadow:0 28px 80px rgba(13,23,47,.16)!important;
  border:1px solid rgba(255,255,255,.75);
}
.cpc-modern-v2 .committee,
.cpc-modern-v2 .speaker{
  padding:1.35rem 1rem!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
  border:1px solid rgba(22,35,67,.08);
  box-shadow:0 18px 50px rgba(13,23,47,.08)!important;
}
.cpc-modern-v2 .speaker img,
.cpc-modern-v2 .committee img{
  width:168px!important;height:168px!important;border-radius:50%!important;
  border:7px solid #fff!important;outline:3px solid rgba(201,35,50,.16)!important;
}
.cpc-modern-v2 .speaker .details small,
.cpc-modern-v2 .committee .details small{font-size:.92rem;line-height:1.35;color:#1f2937;}
.program-card{
  overflow:hidden;border-radius:34px;background:#fff;box-shadow:var(--cpc-shadow);border:1px solid rgba(22,35,67,.08);
}
.program-card-head{
  padding:1.35rem 1.5rem;color:#fff;background:linear-gradient(135deg,var(--cpc-navy),#243b72 62%,var(--cpc-red));
}
.program-card-head h3{font-weight:900;letter-spacing:-.04em;color:#fff;}
.eyebrow{display:inline-block;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;opacity:.78;margin-bottom:.25rem;}
.program-card iframe{display:block;width:100%;height:min(78vh,980px);border:0;border-radius:0;box-shadow:none;}
.cpc-modern-v2 #submissao .card,
.cpc-modern-v2 #devolucao .card{
  border:0;border-radius:30px;box-shadow:0 24px 70px rgba(13,23,47,.12);overflow:hidden;
}
.cpc-modern-v2 #submissao .card-body{padding:clamp(1.25rem,3vw,2.5rem);font-size:1rem;line-height:1.72;}
.cpc-modern-v2 #submissao h3,.cpc-modern-v2 #submissao h4{color:var(--cpc-navy);letter-spacing:-.03em;}
.cpc-modern-v2 #inscricao{
  position:relative;overflow:hidden;background:linear-gradient(135deg,#081126,#162343 55%,#7d1320)!important;
}
.cpc-modern-v2 #inscricao:before{content:"";position:absolute;inset:-20% auto auto -12%;width:460px;height:460px;border-radius:50%;background:rgba(255,255,255,.10);}
.cpc-modern-v2 #inscricao .container{position:relative;}
.cpc-modern-v2 #inscricao .table-responsive{border-radius:30px;background:rgba(255,255,255,.10);padding:1rem;box-shadow:0 28px 80px rgba(0,0,0,.20);}
.cpc-modern-v2 #inscricao table{margin:0;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff!important;color:#1f2937;border-radius:22px!important;}
.cpc-modern-v2 #inscricao td{color:#1f2937!important;vertical-align:middle;padding:.9rem!important;}
.cpc-modern-v2 #inscricao tbody tr:hover td{background:#fff6f7;}
.cpc-modern-v2 #inscricao thead th{background:var(--cpc-red)!important;color:#fff!important;padding:1rem!important;}
.cpc-modern-v2 #venue .pt-5{padding:88px 1rem!important;background:linear-gradient(180deg,#fff,#f6f8fc);}
.cpc-modern-v2 #venue .row{max-width:1120px;margin-inline:auto;background:#fff;border-radius:34px;padding:1.25rem;box-shadow:var(--cpc-shadow);}
.cpc-modern-v2 #venue img{width:100%!important;max-width:920px;border-radius:28px!important;}
.cpc-modern-v2 #venue iframe{width:100%!important;max-width:980px;height:420px;border-radius:28px!important;}
.cpc-modern-v2 #patrocinio img,
.cpc-modern-v2 #sponsors img,
.cpc-modern-v2 img[src*="supporters"]{
  width:100%!important;max-width:290px;min-height:118px;object-fit:contain;background:#fff;border-radius:24px;padding:1rem!important;
  box-shadow:0 18px 45px rgba(13,23,47,.10)!important;border:1px solid rgba(22,35,67,.08);
}
.floating-actions{position:fixed;right:18px;bottom:18px;z-index:996;gap:.65rem;flex-direction:column;align-items:flex-end;}
.floating-actions a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--cpc-red),#e25763);padding:.78rem 1rem;border-radius:999px;font-weight:900;box-shadow:0 16px 36px rgba(201,35,50,.32);}
.floating-actions a + a{background:linear-gradient(135deg,var(--cpc-navy),#243b72);box-shadow:0 16px 36px rgba(22,35,67,.28);}
@media (max-width:1199px){.cpc-modern-v2 .navbar>ul{background:transparent}.cpc-modern-v2 .navbar a{font-size:11px;padding:.6rem .48rem}.cpc-modern-v2 .btn-cta-header{display:none}}
@media (max-width:991px){
  .cpc-modern-v2 #header{height:72px}.cpc-modern-v2 .navbar-mobile ul{border-radius:26px;background:#fff;padding:1rem}.cpc-modern-v2 .navbar-mobile a{font-size:15px;padding:.75rem 1rem!important}
  .cpc-hero-modern,.cpc-hero-modern .hero-container{min-height:680px!important}.cpc-hero-modern .hero-content{margin:0 1rem!important;padding:1.4rem;border-radius:26px}.event-highlights{margin-top:-72px!important}
}
@media (max-width:575px){
  .cpc-modern-v2 main section{padding-top:62px!important;padding-bottom:62px!important}.cpc-hero-modern,.cpc-hero-modern .hero-container{min-height:620px!important}.cpc-hero-modern .hero-container{padding:92px 0 130px!important}.cpc-hero-modern h1{font-size:2.55rem!important}.cpc-hero-modern .hero-content .d-flex{justify-content:flex-start!important}.cpc-hero-modern .btn{width:100%;}
  .event-highlights{margin-top:-48px!important}.highlight-card{min-height:104px!important}.highlight-card i{width:52px!important;height:52px!important}.program-card iframe{height:620px}.cpc-modern-v2 #inscricao .table-responsive{padding:.55rem;border-radius:22px}.cpc-modern-v2 #inscricao td,.cpc-modern-v2 #inscricao th{font-size:.86rem;padding:.65rem!important}.cpc-modern-v2 #venue iframe{height:330px}.floating-actions{display:none!important}
}
