:root{
  --navy:#061a34;--navy2:#0a2c56;--blue:#0c5cac;--orange:#ff7a1a;
  --white:#fff;--bg:#f5f7fb;--text:#18314d;--muted:#6e8197;--line:#e3e9f1;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);padding-bottom:98px}
a{color:inherit}
.header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{max-width:1320px;margin:auto;height:98px;padding:0 28px;display:flex;align-items:center;gap:28px}
.logo-wrap{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:315px}
.logo-wrap img{width:76px;height:76px;object-fit:cover;border-radius:15px;box-shadow:0 6px 18px #00152f2e;flex:0 0 auto}
.logo-text b{display:block;font-size:20px;color:var(--navy);line-height:1.05;letter-spacing:.2px} .logo-text span{display:block;margin-top:5px;font-size:9px;letter-spacing:1.25px;color:#536c87;font-weight:900;white-space:nowrap}
.nav{margin-left:auto;display:flex;align-items:center;gap:21px;font-size:13px;font-weight:800}
.nav a{text-decoration:none} .nav a:hover{color:var(--orange)} .nav .listen{background:var(--navy);color:#fff;padding:12px 16px;border-radius:999px;border:2px solid var(--orange)}

.hero{max-width:1320px;margin:22px auto 0;padding:0 28px}
.hero-bg{height:465px;border-radius:26px;overflow:hidden;position:relative;background-image:url('./site-assets/pai_com_a_filha%20(1).png');background-size:cover;background-position:center 52%;box-shadow:0 18px 48px #0624472a}
.hero-bg:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,20,40,.68),rgba(4,20,40,.48) 48%,rgba(4,20,40,.28));}
.hero-content{position:relative;z-index:2;height:100%;display:flex;align-items:center;padding:54px}
.hero-copy{color:#fff;max-width:720px}
.hero-copy h1{font-size:54px;line-height:1;margin:0 0 14px;text-shadow:0 3px 14px #0008}
.hero-copy h1 em{font-style:normal;color:#fff} .hero-copy h1 span{color:#fff}
.hero-copy h2{font-size:22px;letter-spacing:2px;margin:0 0 30px;color:#f4f8ff}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;font-weight:900;border-radius:11px;padding:14px 19px}
.btn-orange{background:var(--orange);color:#fff} .btn-outline{color:#fff;border:1px solid #ffffffa3;background:#ffffff12}
.hero-verse{position:absolute;right:44px;top:34px;z-index:3;color:#fff;text-align:right;font-family:Georgia,serif;font-size:20px;font-style:italic;text-shadow:0 2px 12px #000b}
.hero-verse span{display:block;font:800 12px Arial,Helvetica,sans-serif;letter-spacing:1px;margin-top:6px}

.section{max-width:1240px;margin:54px auto;padding:0 28px}
.kicker{font-size:11px;letter-spacing:1.8px;font-weight:900;color:var(--orange);text-transform:uppercase}
.section h3{font-size:32px;margin:7px 0 9px;color:var(--navy)} .section .lead{margin:0;color:var(--muted);line-height:1.6}
.program-actions{margin-top:22px;display:flex;gap:16px;align-items:stretch;flex-wrap:wrap}
.program-main,.program-list-button{border:0;cursor:pointer;font:inherit}
.program-main{width:255px;min-height:148px;background:linear-gradient(145deg,#082143,#0b3970);border:1px solid rgba(255,255,255,.08);border-radius:22px;color:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;box-shadow:0 12px 35px #0821432c;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.program-main:hover{transform:translateY(-3px);box-shadow:0 17px 42px #08214338;border-color:rgba(255,122,26,.6)}
.program-main:focus-visible{outline:3px solid rgba(255,122,26,.35);outline-offset:4px}
.program-icon{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--orange);background:#061a34;flex:0 0 auto;box-shadow:0 0 0 6px rgba(255,122,26,.07),0 10px 24px rgba(0,0,0,.22)}
.program-icon svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.program-copy{flex:0 0 auto}.program-copy h4{font-size:20px;margin:0;color:#fff}.program-copy p{display:none}.program-copy small{display:block;margin-top:5px;color:#ffb985;font-weight:900;letter-spacing:.8px;font-size:10px}
.program-list-button{border-radius:22px;background:#fff;border:1px solid var(--line);padding:24px 20px;color:var(--navy);box-shadow:0 8px 24px #09264a12;display:flex;flex-direction:column;justify-content:center;gap:8px;transition:transform .2s ease,border-color .2s ease}
.program-list-button:hover{transform:translateY(-2px);border-color:#ff7a1a80}.program-list-button b{font-size:19px}.program-list-button span{color:var(--orange);font-weight:900;font-size:13px}
.program-panel,.program-list-panel{display:none;margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 30px #08214314;overflow:hidden}
.program-panel.open,.program-list-panel.open{display:block;animation:programReveal .24s ease-out}
@keyframes programReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
.program-panel-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.program-panel-head h4{margin:0;color:var(--navy);font-size:21px}.program-panel-head p{margin:5px 0 0;color:var(--muted);font-size:13px}.program-close{border:0;background:#f1f4f8;color:var(--navy);width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;flex:0 0 auto}
.program-cards{padding:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.program-art-card{margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#061a34;box-shadow:0 8px 22px rgba(8,33,67,.12);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.program-art-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(8,33,67,.18);border-color:rgba(255,122,26,.45)}
.program-art-card .art-wrap{aspect-ratio:1/1;display:grid;place-items:center;background:linear-gradient(145deg,#061a34,#0a2b56);overflow:hidden}
.program-art-card img{width:100%;height:100%;object-fit:contain;display:block;background:#061a34}
.program-art-card figcaption{background:#fff;padding:12px 14px 13px;border-top:3px solid var(--orange)}
.program-art-card figcaption b{display:block;color:var(--navy);font-size:14px;line-height:1.2}
.program-art-card figcaption span{display:block;margin-top:5px;color:var(--muted);font-size:11px;line-height:1.35}
.program-gallery-note{padding:0 20px 20px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}
.program-list-wrap{padding:18px 20px 22px}.program-day{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:14px}.program-day:first-child{margin-top:0}.program-day-title{background:#081f40;color:#fff;padding:12px 15px;font-weight:900;border-left:5px solid var(--orange)}.program-row{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:11px 15px;border-top:1px solid var(--line);font-size:13px;align-items:center}.program-row:first-of-type{border-top:0}.program-row b{color:var(--blue)}.program-row span{color:var(--navy);font-weight:800}.program-note{margin:14px 0 0;padding:12px 14px;background:#fff7ef;border-left:4px solid var(--orange);border-radius:10px;color:#75411f;font-size:12px;line-height:1.5}

.plugin-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;margin-top:22px}
.plugin{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 7px 24px #09264a12}
.plugin-head{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.plugin-head h4{margin:0;color:var(--navy);font-size:20px} .badge{font-size:10px;font-weight:900;color:var(--orange);letter-spacing:1px}
.news-list{padding:4px 22px 20px}
.news-item{padding:16px 0;border-bottom:1px solid var(--line)} .news-item:last-child{border-bottom:0}
.news-item b{display:block;color:var(--navy);margin-bottom:4px} .news-item span{font-size:13px;color:var(--muted);line-height:1.45}
.plugin-action{display:inline-block;margin-top:10px;color:var(--blue);font-weight:900;text-decoration:none;font-size:13px}
.church-card{padding:26px 24px;background:linear-gradient(150deg,#fff,#f7fbff);height:100%}
.church-logo{width:72px;height:72px;border-radius:16px;object-fit:cover;margin-bottom:16px}
.church-card h4{font-size:21px;margin:0 0 9px;color:var(--navy)} .church-card p{color:var(--muted);line-height:1.55;font-size:14px}
.church-card a{display:inline-block;background:var(--navy);border-left:5px solid var(--orange);color:#fff;text-decoration:none;font-weight:900;padding:12px 15px;border-radius:8px;margin-top:9px}

.services{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.service{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;min-height:150px}
.service .ico{font-size:26px} .service h4{margin:9px 0 7px;color:var(--navy)} .service p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.service a{display:inline-block;margin-top:12px;text-decoration:none;color:var(--blue);font-weight:900;font-size:12px}

.about{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.about h4{font-size:24px;color:var(--navy);margin:0 0 10px} .about p{margin:0;color:var(--muted);line-height:1.7}
.about-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}
.stat{background:#f7f9fc;border-radius:13px;padding:17px;border-left:4px solid var(--orange)} .stat b{display:block;color:var(--navy);font-size:17px} .stat span{font-size:12px;color:var(--muted)}

.footer{background:linear-gradient(180deg,#061b36,#04142a);color:#d5e0ec;margin-top:64px;border-top:4px solid var(--orange);padding:48px 28px 138px;position:relative;overflow:hidden}
.footer:after{content:"";position:absolute;left:-10%;right:-10%;bottom:85px;height:1px;background:linear-gradient(90deg,transparent,#ff7a1a66,transparent)}
.footer-grid{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.35fr 1fr 1.1fr 1fr;gap:28px}
.footer-brand img{width:88px;height:88px;object-fit:cover;border-radius:16px;margin-bottom:12px}
.footer h5{font-size:13px;letter-spacing:1.5px;color:#fff;margin:0 0 13px;text-transform:uppercase} .footer h5:after{content:"";display:block;width:34px;height:3px;background:var(--orange);margin-top:8px;border-radius:10px}
.footer p,.footer a{font-size:13px;line-height:1.8;color:#c9d6e5;text-decoration:none} .footer a:hover{color:var(--orange)}
.footer-bottom{max-width:1240px;margin:30px auto 0;padding-top:18px;border-top:1px solid #ffffff1f;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#9db0c6}

.backtop{position:fixed;right:24px;bottom:118px;width:48px;height:48px;border-radius:50%;border:2px solid var(--orange);background:var(--navy);color:#fff;font-size:23px;display:none;place-items:center;z-index:60;cursor:pointer;box-shadow:0 9px 25px #001a3555}
.backtop.show{display:grid}

.player{position:fixed;left:0;right:0;bottom:0;height:98px;background:rgba(4,18,39,.96);backdrop-filter:blur(16px);z-index:55;color:#fff;border-top:1px solid #ffffff14;box-shadow:0 -12px 32px #00152f52}
.player:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--orange),#1d79d8 55%,#6bc843)}
.player-inner{height:100%;max-width:1320px;margin:auto;display:flex;align-items:center;gap:14px;padding:0 28px}
.player-logo{width:62px;height:62px;border-radius:12px;object-fit:cover;box-shadow:0 4px 15px #0008}
.track{min-width:310px} .label{font-size:10px;letter-spacing:1.4px;color:#ffb071;font-weight:900;margin-bottom:4px} .track b{font-size:15px;display:block} .track span{font-size:12px;color:#aabed4}
.play{width:52px;height:52px;border:0;border-radius:50%;background:var(--orange);color:#fff;font-size:19px;cursor:pointer}
.eq{margin-left:auto;height:40px;display:flex;align-items:flex-end;gap:5px}
.eq i{width:4px;height:7px;border-radius:5px 5px 2px 2px;background:#5a9cff;box-shadow:0 0 5px rgba(90,156,255,.28);transform-origin:bottom;transition:height .16s ease-out,background .24s ease,box-shadow .24s ease,opacity .22s ease}
.eq.paused i{height:7px!important;background:#5a9cff!important;box-shadow:0 0 5px rgba(90,156,255,.20)!important;opacity:.48}
.eq.fallback i{animation:ledFallback 1.7s ease-in-out infinite alternate;background:#5a9cff!important;box-shadow:0 0 6px rgba(90,156,255,.26)!important}
.eq.fallback i:nth-child(2),.eq.fallback i:nth-child(4){animation-delay:.24s}
.eq.fallback i:nth-child(3){animation-delay:.42s}
@keyframes ledFallback{from{height:7px;opacity:.42}to{height:13px;opacity:.68}}
.volume{display:flex;align-items:center;gap:7px} .volume input{width:110px;accent-color:var(--orange)} .live{font-size:10px;font-weight:900;border:1px solid #ffffff28;padding:7px 9px;border-radius:999px}

@media(max-width:980px){
 .nav{display:none} .header-inner{height:86px} .hero-bg{height:430px} .hero-content{padding:34px} .hero-copy h1{font-size:40px}
 .hero-verse{right:24px;top:22px;font-size:16px} .plugin-grid,.about{grid-template-columns:1fr} .services{grid-template-columns:1fr 1fr} .program-actions{grid-template-columns:1fr} .program-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footer-grid{grid-template-columns:1fr 1fr} .player .eq,.live{display:none} .track{min-width:0;flex:1}
}

/* Ajuste visual dos ícones dos cards */
.service .ico,
#serviceSelector .service-btn .ico,
.service-detail-icon{
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 14px;
  background: linear-gradient(180deg,#f4f8ff,#eef5ff);
  border: 1px solid rgba(11,99,206,.12);
  color: #0b63ce;
  font-size: 25px;
  line-height: 1;
  box-shadow: 0 8px 18px rgba(11,99,206,.08);
}
#serviceSelector .service-btn:hover .ico{
  background: linear-gradient(180deg,#edf5ff,#e5f1ff);
}
.service-detail-icon{
  margin-bottom: 0;
}

@media(max-width:650px){
 .header-inner{height:82px;padding:0 14px}
 .logo-wrap{min-width:0;gap:10px}
 .logo-wrap img{width:62px;height:62px;border-radius:12px}
 .logo-text b{font-size:16px}
 .logo-text span{font-size:7.5px;letter-spacing:.8px;white-space:normal}

 .hero{padding:0 12px} .hero-bg{height:440px;border-radius:18px} .hero-copy h1{font-size:32px} .hero-copy h2{font-size:16px}
 .hero-verse{max-width:190px} .program-main{width:100%;min-height:135px;padding:18px} .program-icon{width:62px;height:62px} .program-cards{grid-template-columns:1fr} .program-row{grid-template-columns:96px 1fr} .program-list-button{padding:20px 18px}
 .services{grid-template-columns:1fr} .footer-grid{grid-template-columns:1fr} .footer-bottom{flex-direction:column}
 .player-inner{padding:0 12px} .player-logo{width:52px;height:52px} .track span{max-width:170px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .volume input{width:65px}
}


.program-art-card{cursor:pointer;outline:none}
.program-art-card:focus-visible{box-shadow:0 0 0 4px rgba(255,122,26,.28),0 15px 32px rgba(8,33,67,.18);border-color:var(--orange)}
.program-card-cta{display:block;margin-top:8px;color:var(--orange);font-size:10px;font-weight:900;letter-spacing:.65px}
.program-detail-panel{display:none;margin:22px 20px 20px;padding:26px 28px;border-radius:18px;background:linear-gradient(145deg,#071d3c,#0a3467);color:#fff;box-shadow:0 14px 34px rgba(7,29,60,.22);border:1px solid rgba(255,255,255,.08)}
.program-detail-panel.open{display:block;animation:programReveal .24s ease-out}
.program-detail-panel .kicker{color:#ff9b54}
.program-detail-panel h4{font-size:28px;margin:4px 0 8px;color:#fff}
.program-detail-time{display:block;color:#ffb985;font-weight:900;font-size:12px;margin-bottom:13px}
.program-detail-panel p{margin:0;color:#d9e6f5;font-size:15px;line-height:1.65;max-width:820px}
.program-detail-back{border:0;background:#fff;color:#082143;font-weight:900;border-radius:10px;padding:10px 13px;cursor:pointer;margin-bottom:18px}
.program-detail-back:hover{background:#fff3e8}

/* PROGRAMAÇÃO: bloco único, visualmente isolado do restante do site */
.section.program-section-block{
  max-width:1184px;
  margin:34px auto 42px;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 18px 46px rgba(8,33,67,.10);
  position:relative;
  overflow:hidden;
}
.section.program-section-block:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:5px;
  background:linear-gradient(90deg,var(--orange),#1f78d1 58%,#69c84a);
}
.section.program-section-block > .kicker,
.section.program-section-block > h3{
  position:relative;
  z-index:1;
}
.section.program-section-block .program-actions{
  padding-bottom:4px;
}
.section.program-section-block .program-panel,
.section.program-section-block .program-list-panel{
  box-shadow:none;
  border-color:#dce5ef;
  background:#f9fbfe;
}
.section.program-section-block .program-detail-panel{
  margin-bottom:0;
}

/* GALERIA: bloco independente depois da programação */
.photo-carousel-section{
  max-width:1240px;
  margin:42px auto 54px;
  padding:0 28px;
}
.photo-carousel{
  position:relative;
  margin-top:20px;
  height:520px;
  overflow:hidden;
  border-radius:24px;
  background:#061a34;
  box-shadow:0 18px 44px rgba(8,33,67,.16);
}
.photo-track,.photo-slide{
  width:100%;
  height:100%;
}
.photo-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.012);
  transition:opacity .65s ease,transform .8s ease;
  pointer-events:none;
}
.photo-slide.active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.photo-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.photo-carousel:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 65%,rgba(2,15,31,.22));
  pointer-events:none;
}
.photo-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(4,24,48,.68);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(7px);
}
.photo-arrow.prev{left:18px}
.photo-arrow.next{right:18px}
.photo-dots{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  z-index:5;
  display:flex;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(4,24,48,.42);
  backdrop-filter:blur(6px);
}
.photo-dot{
  width:9px;height:9px;
  border-radius:50%;
  border:0;
  padding:0;
  background:rgba(255,255,255,.52);
  cursor:pointer;
}
.photo-dot.active{
  width:24px;
  border-radius:999px;
  background:var(--orange);
}
@media(max-width:980px){
  .section.program-section-block{margin-left:20px;margin-right:20px;padding:24px}
  .photo-carousel{height:430px}
}
@media(max-width:650px){
  .section.program-section-block{margin:24px 12px 32px;padding:20px 14px;border-radius:20px}
  .section.program-section-block h3{font-size:28px}
  .photo-carousel-section{padding:0 12px;margin-top:32px}
  .photo-carousel{height:390px;border-radius:18px}
  .photo-arrow{width:42px;height:42px;font-size:30px}
  .photo-arrow.prev{left:10px}.photo-arrow.next{right:10px}
}

/* CONTEÚDOS E SERVIÇOS: cada modalidade abre isoladamente */
.service-btn{
  appearance:none;
  width:100%;
  text-align:left;
  font:inherit;
  cursor:pointer;
  background:#fff;
  color:inherit;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.service-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(8,33,67,.11);
  border-color:rgba(21,94,171,.28);
}
.service-btn:focus-visible{
  outline:3px solid rgba(255,122,26,.28);
  outline-offset:3px;
}
.service-open{
  display:inline-block;
  margin-top:12px;
  color:#075aa8;
  font-size:12px;
  font-weight:900;
  letter-spacing:.2px;
}
.service-detail{
  margin-top:22px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f8fbff);
  box-shadow:0 14px 36px rgba(8,33,67,.09);
  animation:serviceReveal .22s ease-out;
}
.service-detail[hidden]{display:none!important}
@keyframes serviceReveal{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.service-back{
  border:0;
  background:#edf3f9;
  color:var(--navy);
  border-radius:10px;
  padding:10px 13px;
  font-weight:900;
  font-size:11px;
  cursor:pointer;
  margin-bottom:22px;
}
.service-detail-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:15px;
}
.service-detail-icon{
  width:58px;
  height:58px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#082143;
  color:#fff;
  font-size:28px;
  box-shadow:0 8px 20px rgba(8,33,67,.18);
}
.service-detail h4{
  margin:3px 0 0;
  color:var(--navy);
  font-size:27px;
}
.service-detail p{
  margin:0;
  color:var(--muted);
  line-height:1.7;
  max-width:880px;
}
.service-detail-extra{
  margin-top:18px;
}
.service-detail-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  padding:12px 16px;
  border-radius:10px;
  background:var(--orange);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.service-info-box{
  margin-top:12px;
  padding:14px 16px;
  background:#eef5fb;
  border-left:4px solid #1d79d8;
  border-radius:10px;
  color:#34516f;
  font-size:13px;
  line-height:1.6;
}
@media(max-width:650px){
  .service-detail{padding:20px 16px}
  .service-detail h4{font-size:23px}
  .service-detail-icon{width:52px;height:52px;font-size:24px}
}

/* MODO FOCO: ao abrir o resumo de um programa, nada abaixo se mistura com o subtópico */
body.program-detail-focus #galeria,
body.program-detail-focus #conteudos,
body.program-detail-focus #radio,
body.program-detail-focus .footer{
  display:none !important;
}
#programacao.program-detail-mode .program-actions,
#programacao.program-detail-mode #programPanel > .program-panel-head,
#programacao.program-detail-mode #programPanel > .program-cards,
#programacao.program-detail-mode #programPanel > .program-gallery-note,
#programacao.program-detail-mode #programListPanel{
  display:none !important;
}
#programacao.program-detail-mode{
  min-height:520px;
}
#programacao.program-detail-mode #programPanel{
  display:block !important;
  margin-top:18px;
}
#programacao.program-detail-mode .program-detail-panel{
  margin:0;
  min-height:300px;
}
@media(max-width:650px){
  #programacao.program-detail-mode{min-height:430px}
  #programacao.program-detail-mode .program-detail-panel{min-height:260px}
}

/* MODO FOCO — CONTEÚDOS
   Ao entrar por Conteúdos no menu, somente este bloco permanece visível
   entre o cabeçalho e o player inferior. */
body.contents-focus{
  overflow:hidden;
}
body.contents-focus .hero,
body.contents-focus #programacao,
body.contents-focus #galeria,
body.contents-focus #radio,
body.contents-focus .footer,
body.contents-focus .backtop{
  display:none !important;
}
body.contents-focus main{
  min-height:0;
}
body.contents-focus #conteudos{
  display:block !important;
  width:min(1240px,calc(100% - 40px));
  height:calc(100dvh - 196px);
  min-height:420px;
  margin:0 auto;
  padding:28px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:#fff;
  border:1px solid var(--line);
  border-radius:0 0 24px 24px;
  box-shadow:0 14px 36px rgba(8,33,67,.09);
  scrollbar-gutter:stable;
}
body.contents-focus #conteudos > .kicker,
body.contents-focus #conteudos > h3{
  position:sticky;
  top:-28px;
  z-index:5;
  background:#fff;
}
body.contents-focus #conteudos > .kicker{
  padding-top:18px;
}
body.contents-focus #conteudos > h3{
  top:-4px;
  margin-bottom:14px;
  padding-bottom:8px;
}
body.contents-focus .nav a[href="#conteudos"]{
  color:var(--orange);
}
@media(max-width:980px){
  body.contents-focus #conteudos{
    width:calc(100% - 24px);
    height:calc(100dvh - 184px);
    padding:22px 18px;
  }
}
@media(max-width:650px){
  body.contents-focus #conteudos{
    width:calc(100% - 16px);
    height:calc(100dvh - 180px);
    min-height:360px;
    padding:18px 12px;
    border-radius:0 0 18px 18px;
  }
}

/* REPORTAGENS — INFORMAÇÕES EVANGÉLICAS */
.evangelical-feed{display:grid;gap:22px}
.evangelical-article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(8,33,67,.08);
}
.evangelical-article .article-cover{
  width:100%;
  max-height:430px;
  object-fit:cover;
  display:block;
  background:#edf3f9;
}
.evangelical-article .article-content{padding:24px}
.article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-bottom:10px;
  color:#61768d;
  font-size:11px;
  font-weight:800;
  letter-spacing:.45px;
  text-transform:uppercase;
}
.evangelical-article h5{
  margin:0 0 10px;
  color:var(--navy);
  font-size:30px;
  line-height:1.12;
}
.article-lead{
  margin:0 0 18px!important;
  color:#34516f!important;
  font-size:16px;
  font-weight:700;
  line-height:1.6!important;
  max-width:none!important;
}
.article-body{max-width:900px}
.article-body p{
  margin:0 0 16px!important;
  color:#40566d!important;
  line-height:1.78!important;
  max-width:none!important;
}
.article-body .article-image{
  width:100%;
  max-height:520px;
  object-fit:cover;
  display:block;
  margin:22px 0;
  border-radius:14px;
  border:1px solid #dce6ef;
}
.article-credit{
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid #e1e8f0;
  color:#667b90;
  font-size:12px;
  line-height:1.6;
}
@media(max-width:650px){
  .evangelical-article .article-content{padding:18px 14px}
  .evangelical-article h5{font-size:25px}
  .article-lead{font-size:15px}
}

/* CONTEÚDOS — cartões independentes */
#serviceSelector.service-selector{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
#serviceSelector .service-btn{
  width:100%;
  min-height:176px;
  text-align:left;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
}
#serviceSelector .service-btn .service-open{
  margin-top:auto;
}
@media(max-width:900px){
  #serviceSelector.service-selector{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  #serviceSelector.service-selector{grid-template-columns:1fr;}
}

/* SUBTÓPICOS DE CONTEÚDOS — mídia, formulários e clima */
.media-reserved-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}
.media-slot{
  min-height:190px;
  border:1.5px dashed #b9c9d9;
  border-radius:16px;
  background:#f8fbfe;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px;
  color:#48647e;
}
.media-slot .media-slot-icon{font-size:34px;margin-bottom:8px}
.media-slot strong{color:var(--navy);font-size:15px}
.media-slot small{display:block;margin-top:6px;line-height:1.5}
.radio-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.radio-form .form-wide{grid-column:1/-1}
.radio-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:var(--navy);
  font-size:12px;
  font-weight:800;
}
.radio-form input,
.radio-form textarea,
.radio-form select{
  width:100%;
  border:1px solid #cdd9e5;
  border-radius:11px;
  padding:12px 13px;
  font:inherit;
  color:#173552;
  background:#fff;
  outline:none;
}
.radio-form input:focus,
.radio-form textarea:focus,
.radio-form select:focus{
  border-color:#2c73ba;
  box-shadow:0 0 0 3px rgba(44,115,186,.10);
}
.radio-form textarea{min-height:120px;resize:vertical}
.radio-form button{
  grid-column:1/-1;
  justify-self:start;
  border:0;
  border-radius:11px;
  padding:13px 18px;
  background:var(--orange);
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.weather-link-box{
  margin-top:18px;
  padding:22px;
  border:1px solid #d9e4ef;
  border-radius:16px;
  background:#f7fbff;
}
.weather-link-box h5{margin:0 0 8px;color:var(--navy);font-size:21px}
.weather-link-box p{margin:0 0 15px!important}
.weather-link-box a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  text-decoration:none;
  font-weight:900;
  color:#fff;
  background:#1268ad;
  padding:12px 16px;
  border-radius:10px;
}
@media(max-width:700px){
  .media-reserved-grid,.radio-form{grid-template-columns:1fr}
  .radio-form .form-wide,.radio-form button{grid-column:auto}
}

/* === ISOLAMENTO FINAL DOS BLOCOS: PROGRAMAÇÃO E CONTEÚDOS === */

/* hidden sempre deve ocultar, mesmo quando o elemento também é uma grid */
#serviceSelector[hidden],
#serviceDetail[hidden]{
  display:none !important;
}

/* PROGRAMACAO: somente header + bloco + player */
body.programacao-isolada{
  overflow:hidden !important;
}
body.programacao-isolada .hero,
body.programacao-isolada #conteudos,
body.programacao-isolada #radio,
body.programacao-isolada .footer,
body.programacao-isolada .backtop{
  display:none !important;
}
body.programacao-isolada main{
  min-height:0 !important;
}
body.programacao-isolada #programacao{
  display:block !important;
  width:min(1240px,calc(100% - 40px)) !important;
  max-width:1240px !important;
  height:calc(100dvh - 196px) !important;
  min-height:420px !important;
  margin:0 auto !important;
  padding:28px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable;
  border-radius:0 0 24px 24px !important;
}
body.programacao-isolada .nav a[href="#programacao"]{
  color:var(--orange) !important;
}

/* CONTEUDOS: somente header + bloco + player */
body.conteudos-isolados{
  overflow:hidden !important;
}
body.conteudos-isolados .hero,
body.conteudos-isolados #programacao,
body.conteudos-isolados #galeria,
body.conteudos-isolados #radio,
body.conteudos-isolados .footer,
body.conteudos-isolados .backtop{
  display:none !important;
}
body.conteudos-isolados main{
  min-height:0 !important;
}
body.conteudos-isolados #conteudos{
  display:block !important;
  width:min(1240px,calc(100% - 40px)) !important;
  max-width:1240px !important;
  height:calc(100dvh - 196px) !important;
  min-height:420px !important;
  margin:0 auto !important;
  padding:28px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable;
  border-radius:0 0 24px 24px !important;
}
body.conteudos-isolados .nav a[href="#conteudos"]{
  color:var(--orange) !important;
}

/* Subtopico aberto: a grade principal realmente some */
body.conteudos-isolados #serviceSelector[hidden]{
  display:none !important;
}
body.conteudos-isolados #serviceDetail:not([hidden]){
  display:block !important;
}

/* Responsividade mantendo o bloco preso entre header e player */
@media(max-width:980px){
  body.programacao-isolada #programacao,
  body.conteudos-isolados #conteudos{
    width:calc(100% - 24px) !important;
    height:calc(100dvh - 184px) !important;
    padding:22px 18px !important;
  }
}
@media(max-width:650px){
  body.programacao-isolada #programacao,
  body.conteudos-isolados #conteudos{
    width:calc(100% - 16px) !important;
    height:calc(100dvh - 180px) !important;
    min-height:360px !important;
    padding:18px 12px !important;
    border-radius:0 0 18px 18px !important;
  }
}

/* === CORREÇÃO FINAL: FOTOS NÃO SE MISTURAM + VOLTAR AO TOPO GLOBAL === */

/* O botão de subir fica disponível em todas as áreas do site. */
.backtop,
body.programacao-isolada .backtop,
body.conteudos-isolados .backtop,
body.program-focus .backtop,
body.contents-focus .backtop{
  display:grid !important;
  position:fixed !important;
  right:22px !important;
  bottom:118px !important;
  z-index:9999 !important;
  width:48px !important;
  height:48px !important;
  border-radius:50% !important;
  border:2px solid var(--orange) !important;
  background:var(--navy) !important;
  color:#fff !important;
  cursor:pointer !important;
  box-shadow:0 9px 25px rgba(0,26,53,.35) !important;
}

/* Quando Conteúdos está ativo, Galeria/Fotos nunca aparece junto. */
body.conteudos-isolados #galeria,
body.contents-focus #galeria,
body.subtopico-conteudo-aberto #galeria{
  display:none !important;
  visibility:hidden !important;
}

/* Também garante que outros grandes blocos não entrem no subtópico. */
body.subtopico-conteudo-aberto #programacao,
body.subtopico-conteudo-aberto #galeria,
body.subtopico-conteudo-aberto #radio,
body.subtopico-conteudo-aberto .hero,
body.subtopico-conteudo-aberto .footer{
  display:none !important;
}

/* O subtópico fica inteiramente dentro do bloco Conteúdos. */
body.subtopico-conteudo-aberto #conteudos{
  display:block !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
}

/* === GALERIA COMPACTA AO LADO DE PROGRAMAÇÕES === */
.section.program-section-block .program-actions{
  display:grid !important;
  grid-template-columns:255px 255px minmax(320px,1fr) !important;
  gap:16px !important;
  align-items:stretch !important;
}
.section.program-section-block .program-list-button{
  width:255px !important;
  min-height:148px !important;
}
.mini-gallery-block{
  position:relative;
  min-width:0;
  height:148px;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(9,38,74,.12);
  border:1px solid var(--line);
  background:#061a34;
}
.mini-gallery-label{
  position:absolute;
  left:14px;
  top:12px;
  z-index:8;
  display:flex;
  flex-direction:column;
  gap:1px;
  padding:6px 9px;
  border-radius:9px;
  background:rgba(4,24,48,.68);
  backdrop-filter:blur(6px);
  color:#fff;
  pointer-events:none;
}
.mini-gallery-label span{
  font-size:8px;
  font-weight:900;
  letter-spacing:1.5px;
  color:#ff9b54;
}
.mini-gallery-label strong{
  font-size:14px;
  line-height:1.1;
}
.mini-gallery-block .photo-carousel{
  position:relative;
  width:100%;
  height:100% !important;
  margin:0 !important;
  border-radius:22px !important;
  overflow:hidden;
  background:#061a34;
  box-shadow:none !important;
}
.mini-gallery-block .photo-track,
.mini-gallery-block .photo-slide{
  width:100%;
  height:100%;
}
.mini-gallery-block .photo-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.018);
  transition:opacity 1.05s ease,transform 1.25s ease !important;
  pointer-events:none;
}
.mini-gallery-block .photo-slide.active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.mini-gallery-block .photo-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}
.mini-gallery-block .photo-carousel:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(2,15,31,.03) 45%,rgba(2,15,31,.32));
  pointer-events:none;
}
.mini-gallery-block .photo-arrow{
  width:34px !important;
  height:34px !important;
  font-size:24px !important;
  border-radius:50%;
}
.mini-gallery-block .photo-arrow.prev{left:9px !important}
.mini-gallery-block .photo-arrow.next{right:9px !important}
.mini-gallery-block .photo-dots{
  bottom:7px !important;
  gap:6px !important;
  padding:5px 7px !important;
}
.mini-gallery-block .photo-dot{
  width:7px !important;
  height:7px !important;
}
.mini-gallery-block .photo-dot.active{
  width:19px !important;
}

/* A galeria agora faz parte da área visual de Programação,
   portanto não deve ser escondida no modo isolado da Programação. */
body.programacao-isolada #galeria{
  display:block !important;
}

/* Em subtópicos internos de uma programação, o foco continua só no resumo. */
body.program-detail-focus #galeria{
  display:none !important;
}

@media(max-width:1100px){
  .section.program-section-block .program-actions{
    grid-template-columns:1fr 1fr !important;
  }
  .section.program-section-block .program-main,
  .section.program-section-block .program-list-button{
    width:100% !important;
  }
  .mini-gallery-block{
    grid-column:1 / -1;
    height:190px;
  }
}
@media(max-width:650px){
  .section.program-section-block .program-actions{
    grid-template-columns:1fr !important;
  }
  .mini-gallery-block{
    grid-column:auto;
    height:185px;
  }
}

/* === PODCASTS: MODELO DE VÍDEO 16:9 === */
.podcast-video-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:20px;
}
.podcast-video-card{
  overflow:hidden;
  border:1px solid #d8e3ee;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(8,33,67,.08);
}
.podcast-video-frame{
  position:relative;
  aspect-ratio:16/9;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 45%,rgba(26,103,180,.18),transparent 34%),
    linear-gradient(145deg,#071d39,#0e3764);
}
.podcast-video-frame:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,transparent 49%,rgba(255,255,255,.04) 50%,transparent 51%),
    linear-gradient(0deg,transparent 49%,rgba(255,255,255,.04) 50%,transparent 51%);
  background-size:38px 38px;
}
.podcast-play{
  position:relative;
  z-index:2;
  width:58px;
  height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#ff7a1a;
  color:#fff;
  font-size:25px;
  padding-left:4px;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.podcast-video-info{
  padding:14px 15px 16px;
}
.podcast-video-info strong{
  display:block;
  color:var(--navy);
  font-size:15px;
  margin-bottom:5px;
}
.podcast-video-info span{
  display:block;
  color:#637990;
  font-size:12px;
  line-height:1.5;
}
.podcast-slot-badge{
  position:absolute;
  left:10px;
  top:10px;
  z-index:3;
  padding:5px 8px;
  border-radius:7px;
  background:rgba(255,255,255,.92);
  color:#0b3158;
  font-size:9px;
  font-weight:900;
  letter-spacing:.6px;
}
@media(max-width:720px){
  .podcast-video-grid{grid-template-columns:1fr}
}

/* === ATUALIZAÇÕES APROVADAS — PRÉVIA  === */
/* removed crest rules */
.logo-wrap .church-crest-header{
  width:74px;
  height:74px;
  object-fit:contain;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  filter:drop-shadow(0 5px 10px rgba(5,48,91,.10));
  transition:transform .28s ease, filter .28s ease;
}
.logo-wrap:hover .church-crest-header{
  transform:scale(1.045);
  filter:drop-shadow(0 8px 16px rgba(5,48,91,.15));
}

/* Efeito moderno nos blocos de Conteúdos e Serviços */
#serviceSelector .service-btn{
  position:relative;
  overflow:hidden;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
}
#serviceSelector .service-btn::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:0;
  background:linear-gradient(180deg,#0b63ce,#18a06f);
  transition:height .28s ease;
}
#serviceSelector .service-btn:hover{
  transform:translateY(-5px);
  box-shadow:0 15px 32px rgba(8,33,67,.12);
  border-color:rgba(11,99,206,.34);
  background:#fff;
}
#serviceSelector .service-btn:hover::before{
  height:100%;
}
#serviceSelector .service-btn .ico{
  transform-origin:center;
  transition:transform .28s ease, filter .28s ease;
}
#serviceSelector .service-btn:hover .ico{
  transform:scale(1.10) translateY(-1px);
  filter:drop-shadow(0 3px 7px rgba(11,99,206,.12));
}
#serviceSelector .service-btn h4{
  transition:color .28s ease, transform .28s ease;
}
#serviceSelector .service-btn:hover h4{
  color:#075aa8;
  transform:translateX(2px);
}
#serviceSelector .service-btn p{
  transition:color .28s ease;
}
#serviceSelector .service-btn:hover p{
  color:#526a84;
}
#serviceSelector .service-open{
  position:relative;
  transition:color .25s ease, letter-spacing .25s ease, transform .25s ease;
}
#serviceSelector .service-btn:hover .service-open{
  color:#078151;
  letter-spacing:.35px;
  transform:translateX(3px);
}

/* Botão Ouvir ao vivo */
.nav .listen{
  display:inline-flex;
  align-items:center;
  gap:6px;
  transition:
    transform .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}
.nav .listen:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(3,48,91,.18);
}

/* Destaque temporário do player quando o usuário clicar em Ouvir ao vivo */
.player.player-highlight{
  animation:playerAttention 1.15s ease 2;
}
@keyframes playerAttention{
  0%,100%{
    box-shadow:0 -12px 32px #00152f52;
  }
  50%{
    box-shadow:
      0 -12px 36px rgba(0,65,130,.58),
      0 0 0 3px rgba(255,122,26,.58);
  }
}

@media(max-width:650px){
  /* removed crest rules */
.logo-wrap .church-crest-header{
    width:58px;
    height:58px;
  }
}

/* Ajustes profissionais aprovados - setembro de 2026 */
.hero-verse {
  position: absolute;
  right: 34px;
  top: 30px;
  z-index: 4;
  max-width: 360px;
  padding: 14px 18px 13px 22px;
  color: #fff;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 20px;
  font-style: italic;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .1px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .65);
  background: linear-gradient(90deg, rgba(5, 24, 49, .62), rgba(5, 24, 49, .18));
  border-radius: 12px;
  backdrop-filter: blur(2px);
}

.hero-verse::before {
  content: '';
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 3px;
  background: #f28a22;
}

.hero-verse span {
  display: block;
  margin-top: 7px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 1.35px;
  text-transform: uppercase;
  color: #fff;
}

.institution-band {
  width: min(1240px, calc(100% - 40px));
  margin: 18px auto 4px;
}

.institution-card {
  display: grid;
  grid-template-columns: minmax(280px, 42%) 1fr;
  gap: 26px;
  align-items: stretch;
  padding: 18px;
  background: linear-gradient(135deg, #f8fbff 0%, #eef6ff 100%);
  border: 1px solid rgba(7, 59, 104, .12);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(4, 35, 64, .08);
}

.institution-photo {
  min-height: 210px;
  overflow: hidden;
  border-radius: 15px;
  background: #dfeaf4;
}

.institution-photo img {
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
  display: block;
}

.institution-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 12px 10px;
}

.institution-copy h3 {
  margin: 5px 0 10px;
  color: #092f55;
  font-size: clamp(24px, 3vw, 34px);
}

.institution-copy p {
  margin: 0 0 12px;
  max-width: 680px;
  color: #50657b;
  line-height: 1.65;
}

.institution-place {
  font-weight: 800;
  color: #17578c;
  margin-bottom: 14px;
}

.institution-link,
.official-social-links a {
  color: #0b65a6;
  font-weight: 800;
  text-decoration: none;
}

.official-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 12px;
}

.gallery-all-button {
  margin-left: auto;
  border: 0;
  border-radius: 999px;
  padding: 8px 12px;
  background: #0a477b;
  color: #fff;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .7px;
  cursor: pointer;
}

.gallery-all-dialog,
.legal-overlay {
  position: fixed;
  inset: 0;
  z-index: 10020;
  background: rgba(2, 15, 29, .72);
  backdrop-filter: blur(5px);
}

.gallery-all-dialog[hidden],
.legal-overlay[hidden] {
  display: none !important;
}

.gallery-all-shell {
  width: min(1120px, calc(100% - 28px));
  max-height: calc(100vh - 40px);
  margin: 20px auto;
  overflow: auto;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}

.gallery-all-head,
.legal-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  padding: 20px 22px;
  border-bottom: 1px solid #e5edf4;
}

.gallery-all-head span,
.legal-head span {
  color: #e66d18;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.gallery-all-head h3,
.legal-head h2 {
  margin: 4px 0 0;
  color: #092f55;
}

.gallery-all-close,
.legal-close {
  border: 0;
  background: #edf3f8;
  color: #173b5c;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
}

.gallery-all-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  padding: 20px;
}

.gallery-all-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  background: #e8eef4;
}

.legal-overlay {
  z-index: 10030;
}

.legal-dialog {
  display: none;
  position: fixed;
  z-index: 10031;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(860px, calc(100% - 28px));
  max-height: calc(100vh - 40px);
  overflow: auto;
  padding: 0 22px 24px;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}

.legal-dialog.active {
  display: block;
}

.legal-dialog .legal-head {
  position: sticky;
  top: 0;
  z-index: 1;
  margin: 0 -22px 18px;
  background: #fff;
}

.legal-dialog .legal-intro,
.legal-dialog section p,
.legal-references {
  color: #52657a;
  line-height: 1.7;
}

.legal-dialog section h4 {
  margin: 18px 0 5px;
  color: #0b3f6d;
}

.legal-dialog a {
  color: #0a659f;
}

body.modal-open {
  overflow: hidden;
}

.adbrag-live-card {
  width: min(1240px, calc(100% - 40px));
  margin: 18px auto 4px;
  min-height: 118px;
  display: grid;
  grid-template-columns: 8px 1fr auto;
  align-items: center;
  gap: 22px;
  padding: 22px 26px;
  background: linear-gradient(135deg, #061a34 0%, #0b2c54 62%, #0c365f 100%);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 20px;
  box-shadow: 0 14px 34px rgba(4, 23, 45, .18);
  color: #fff;
  overflow: hidden;
}

.adbrag-live-accent {
  width: 8px;
  align-self: stretch;
  border-radius: 99px;
  background: linear-gradient(#ff9636, #ff6e1d);
  box-shadow: 0 0 18px rgba(255, 126, 35, .3);
}

.adbrag-live-kicker {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  color: #ffab61;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.55px;
  text-transform: uppercase;
}

.adbrag-live-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff8b2b;
  box-shadow: 0 0 0 5px rgba(255, 139, 43, .1);
}

.adbrag-live-title {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.25px;
}

.adbrag-live-subtitle {
  margin-top: 7px;
  color: #c6d6e8;
  font-size: 13px;
  font-weight: 650;
}

.adbrag-live-badge {
  justify-self: end;
  padding: 9px 13px;
  border-radius: 99px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  color: #eaf3ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.1px;
  text-transform: uppercase;
}

.adbrag-live-content {
  transition: opacity .28s ease, transform .28s ease;
}

.adbrag-live-content.is-changing {
  opacity: 0;
  transform: translateY(4px);
}

@media (max-width: 760px) {
  .institution-band {
    width: calc(100% - 20px);
  }

  .institution-card {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 12px;
  }

  .institution-photo,
  .institution-photo img {
    min-height: 190px;
  }

  .institution-copy {
    padding: 8px 6px 10px;
  }

  .gallery-all-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 12px;
  }

  .legal-dialog {
    padding: 0 16px 18px;
  }

  .legal-dialog .legal-head {
    margin: 0 -16px 14px;
  }
}

@media (max-width: 650px) {
  .hero-verse {
    right: 14px;
    top: 16px;
    max-width: calc(100% - 28px);
    font-size: 16px;
    padding: 11px 14px 10px 18px;
  }

  .hero-verse span {
    font-size: 10px;
    letter-spacing: 1.05px;
  }

  .adbrag-live-card {
    width: calc(100% - 20px);
    grid-template-columns: 6px 1fr;
    gap: 14px;
    padding: 17px 16px;
    min-height: 104px;
    border-radius: 16px;
  }

  .adbrag-live-badge {
    display: none;
  }

  .adbrag-live-title {
    font-size: 19px;
  }

  .adbrag-live-subtitle {
    font-size: 12px;
  }
}

/* Identidade visual oficial aprovada - 15/09/2026 */
:root {
  --brand-dark: #081729;
  --brand-news-red: #E53935;
  --brand-slogan: #C7D0DA;
}

.header {
  background: rgba(8, 23, 41, .98) !important;
  border-bottom-color: rgba(255, 255, 255, .10) !important;
}

.logo-text b,
.logo-text .brand-name-base,
.hero-copy .brand-name-base,
.footer-brand .brand-name-base {
  color: #FFFFFF !important;
}

.brand-news {
  color: #E53935 !important;
}

.logo-text span.brand-slogan,
.hero-copy h2.brand-slogan,
.footer-brand .brand-slogan {
  color: #C7D0DA !important;
}

.header .nav a {
  color: #FFFFFF;
}

.header .nav a:hover {
  color: #ff7a1a;
}

.header .nav .listen {
  background: #0c5cac;
  color: #FFFFFF;
}

.hero-bg::before {
  background: linear-gradient(90deg, rgba(8, 23, 41, .82), rgba(8, 23, 41, .55) 48%, rgba(8, 23, 41, .30)) !important;
}

.header .nav .media-menu { position:relative; display:inline-flex; align-items:center; }
.header .nav .media-menu-toggle { border:0; background:transparent; color:#fff; font:inherit; font-weight:700; cursor:pointer; padding:10px 8px; }
.header .nav .media-menu-toggle:hover, .header .nav .media-menu-toggle:focus-visible { color:#ff7a1a; outline:2px solid #ff7a1a; outline-offset:2px; border-radius:7px; }
.header .nav .media-menu-links { position:absolute; top:100%; left:0; z-index:30; min-width:150px; padding:7px; border-radius:11px; background:#081729; box-shadow:0 14px 28px #0005; }
.header .nav .media-menu-links[hidden] { display:none !important; }
.header .nav .media-menu-links a { display:block; padding:9px 12px; border-radius:7px; }
.header .nav .media-menu-links a:focus-visible { outline:2px solid #ff7a1a; }
.hero-bg { background-image:url('./site-assets/pai_com_a_filha%20(1).png') !important; background-position:center 42% !important; }
.hero-bg::before { background:linear-gradient(0deg,rgba(8,23,41,.84),rgba(8,23,41,.08) 68%) !important; }
.hero-content { align-items:flex-end !important; padding-bottom:38px !important; }
@media (max-width:760px) {
  .hero-bg { background-position:center center !important; }
  .hero-content { padding:24px !important; padding-bottom:30px !important; }
}

.footer {
  background: #081729 !important;
}

.footer-brand h5 {
  color: #FFFFFF !important;
}

#galeria .mini-gallery-label {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.gallery-entry-card {
  width: 154px;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 16px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 18px;
  background: #07111b;
  color: #fff;
  box-shadow: 0 12px 30px rgba(3, 17, 31, .28);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}

.gallery-entry-card:hover,
.gallery-entry-card:focus-visible {
  background: #0b1b2b;
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(3, 17, 31, .34);
  outline: none;
}

.gallery-entry-card svg {
  width: 48px;
  height: 48px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gallery-entry-card span {
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .1px;
}

.gallery-subblock[hidden] {
  display: none !important;
}

.gallery-subblock {
  width: min(1180px, calc(100% - 32px));
  margin: 34px auto 70px;
  padding: 0;
  background: #fff;
  border: 1px solid #dce6ef;
  border-radius: 22px;
  box-shadow: 0 18px 46px rgba(4, 35, 64, .12);
  overflow: hidden;
}

.gallery-subblock-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px;
  background: #081729;
  color: #fff;
}

.gallery-subblock-head span {
  color: #f28a22;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.3px;
}

.gallery-subblock-head h2 {
  margin: 4px 0 5px;
  color: #fff;
  font-size: clamp(26px, 4vw, 38px);
}

.gallery-subblock-head p {
  margin: 0;
  color: #c7d0da;
}

.gallery-subblock-back {
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.gallery-subblock-back:hover,
.gallery-subblock-back:focus-visible {
  background: #fff;
  color: #081729;
  outline: none;
}

.gallery-subblock-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  padding: 22px;
}

.gallery-subblock-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  border-radius: 14px;
  background: #e8eef4;
}

@media (max-width: 650px) {
  .gallery-entry-card {
    width: 128px;
    min-height: 112px;
    border-radius: 16px;
  }

  .gallery-entry-card svg {
    width: 42px;
    height: 42px;
  }

  .gallery-subblock {
    width: calc(100% - 20px);
    margin-top: 18px;
  }

  .gallery-subblock-head {
    align-items: flex-start;
    flex-direction: column;
    padding: 20px 18px;
  }

  .gallery-subblock-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
  }
}

.footer-professional {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding: 38px 0 105px;
}

.footer-pro-grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr 1.15fr 1.05fr;
  gap: 42px;
  align-items: start;
}

.footer-pro-brand img {
  width: 88px;
  height: 88px;
  object-fit: contain;
  border-radius: 14px;
  margin-bottom: 14px;
}

.footer-pro-brand h5,
.footer-pro-column h5 {
  margin: 0 0 14px;
  color: #FFFFFF;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.footer-pro-brand h5 {
  font-size: 15px;
  letter-spacing: .9px;
}

.footer-pro-brand .brand-slogan {
  margin: 8px 0 7px;
  color: #C7D0DA !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .4px;
}

.footer-pro-motto {
  margin: 0;
  color: #DCE6EF;
  font-size: 12px;
}

.footer-pro-motto b {
  color: #F28A22;
}

.footer-pro-column nav {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.footer-pro-column a,
.footer-phone {
  color: #EAF1F7;
  text-decoration: none;
  font-size: 13px;
  line-height: 1.45;
  transition: color .18s ease, transform .18s ease;
}

.footer-pro-column a:hover,
.footer-phone:hover {
  color: #64B5F6;
}

.footer-phone {
  display: inline-block;
  margin-bottom: 15px;
  font-weight: 800;
}

.footer-social-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.footer-social-icon {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.05);
}

.footer-social-icon:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.10);
}

.footer-social-icon svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  flex: 0 0 auto;
}

.footer-social-icon span {
  font-size: 11px;
  font-weight: 800;
}

.footer-address {
  margin: 18px 0 0;
  color: #AFC0CF;
  font-size: 11px;
  line-height: 1.65;
}

.footer-institutions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  margin-top: 34px;
  padding: 24px 0;
  border-top: 1px solid rgba(255,255,255,.13);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.footer-institution-copy {
  min-width: 230px;
}

.footer-institution-copy span {
  display: block;
  margin-bottom: 6px;
  color: #F28A22;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.footer-institution-copy strong {
  color: #EAF1F7;
  font-size: 12px;
  line-height: 1.5;
}

.footer-institution-logos {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 28px;
  flex-wrap: wrap;
}

.footer-institution-logos a {
  display: grid;
  place-items: center;
  min-width: 105px;
  min-height: 76px;
  padding: 4px;
  border-radius: 10px;
  transition: transform .18s ease, background .18s ease;
}

.footer-institution-logos a:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.06);
}

.footer-institution-logos img {
  display: block;
  max-width: 135px;
  max-height: 72px;
  object-fit: contain;
}

.footer-institution-logos a:first-child img {
  max-width: 72px;
  max-height: 72px;
}

.footer-pro-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-top: 17px;
  color: #8FA4B7;
  font-size: 10px;
  letter-spacing: .25px;
}

@media (max-width: 980px) {
  .footer-pro-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-institutions {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-institution-logos {
    justify-content: flex-start;
  }
}

@media (max-width: 650px) {
  .footer-professional {
    width: calc(100% - 28px);
    padding-top: 28px;
  }

  .footer-pro-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-social-list {
    grid-template-columns: 1fr 1fr;
  }

  .footer-institution-logos {
    width: 100%;
    gap: 12px;
  }

  .footer-institution-logos a {
    min-width: calc(33.333% - 8px);
  }

  .footer-institution-logos img {
    max-width: 100px;
    max-height: 62px;
  }

  .footer-pro-bottom {
    flex-direction: column;
    gap: 6px;
  }
}

/* Galeria limpa e rodapé conforme referência enviada - 15/09/2026 */
#galeria .mini-gallery-label[hidden] {
  display: none !important;
}

.gallery-action-row {
  width: min(1180px, calc(100% - 32px));
  margin: 12px auto 0;
  display: flex;
  justify-content: flex-start;
}

.gallery-clean-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 16px;
  border: 1px solid #cbd8e4;
  border-radius: 12px;
  background: #fff;
  color: #0b4776;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
  box-shadow: 0 7px 18px rgba(5, 43, 77, .08);
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.gallery-clean-button:hover,
.gallery-clean-button:focus-visible {
  border-color: #0b65a6;
  box-shadow: 0 10px 22px rgba(5, 43, 77, .14);
  transform: translateY(-1px);
  outline: none;
}

.gallery-clean-button svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.gallery-clean-button b {
  color: #f28a22;
  font-size: 18px;
}

.gallery-subblock-v2[hidden] {
  display: none !important;
}

.gallery-subblock-v2 {
  width: min(1180px, calc(100% - 32px));
  margin: 26px auto 70px;
  background: #fff;
  border: 1px solid #dbe5ed;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 42px rgba(6, 37, 65, .12);
}

.gallery-subblock-v2 header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 24px 26px;
  background: #081729;
  color: #fff;
}

.gallery-subblock-v2 header span {
  color: #f28a22;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.1px;
}

.gallery-subblock-v2 header h2 {
  margin: 4px 0 5px;
  color: #fff;
  font-size: 34px;
}

.gallery-subblock-v2 header p {
  margin: 0;
  color: #c7d0da;
}

.gallery-subblock-v2-back {
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 999px;
  padding: 10px 16px;
  background: rgba(255,255,255,.08);
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.gallery-subblock-v2-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  padding: 20px;
}

.gallery-subblock-v2-grid img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 12px;
  background: #e8eef4;
}

.footer-reference {
  width: min(1215px, calc(100% - 48px));
  margin: 0 auto;
  padding: 24px 0 100px;
}

.footer-ref-grid {
  display: grid;
  grid-template-columns: 1.05fr .9fr .9fr .9fr;
  gap: 44px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.footer-ref-grid h5,
.footer-ref-affiliation h5 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .4px;
  text-transform: uppercase;
}

.footer-ref-grid p,
.footer-ref-grid a,
.footer-ref-affiliation p {
  color: #fff;
  font-size: 11px;
  line-height: 1.65;
  text-decoration: none;
}

.footer-ref-grid a:hover,
.footer-ref-bottom a:hover {
  color: #72baff;
}

.footer-ref-socials {
  display: flex;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.footer-ref-social {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.23);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: #fff;
  transition: transform .18s ease, background .18s ease;
}

.footer-ref-social:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.14);
}

.footer-ref-social svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.footer-ref-x span {
  font-size: 17px;
  font-weight: 700;
}

.footer-ref-address {
  display: inline-block;
}

.footer-ref-affiliation {
  padding: 16px 0 22px;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.16);
}

.footer-ref-affiliation p {
  margin: -3px 0 16px;
  color: #d3deea;
}

.footer-ref-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(70px, 12vw, 145px);
  min-height: 126px;
}

.footer-ref-logos a {
  display: grid;
  place-items: center;
  min-width: 115px;
  min-height: 100px;
  transition: transform .18s ease;
}

.footer-ref-logos a:hover {
  transform: translateY(-3px);
}

.footer-ref-logos img {
  display: block;
  max-width: 130px;
  max-height: 105px;
  object-fit: contain;
}

.footer-ref-logos a:first-child img {
  max-width: 96px;
  max-height: 96px;
}

.footer-ref-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 12px;
  color: #d0dce7;
  font-size: 10px;
}

.footer-ref-bottom nav {
  display: flex;
  gap: 14px;
}

.footer-ref-bottom a {
  color: #d0dce7;
  text-decoration: none;
}

@media (max-width: 900px) {
  .footer-ref-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-ref-logos {
    gap: 38px;
  }
}

/* Rodapé institucional aprovado - tipografia ampliada e logos sem fundo */
.footer-reference {
  width: min(1260px, calc(100% - 56px));
}
.footer-ref-grid {
  gap: 52px;
  padding-bottom: 34px;
}
.footer-ref-grid h5,
.footer-ref-affiliation h5 {
  font-size: 18px;
  letter-spacing: .55px;
}
.footer-ref-grid p,
.footer-ref-grid a,
.footer-ref-affiliation p {
  font-size: 14px;
  line-height: 1.7;
}
.footer-ref-socials {
  gap: 12px;
  margin-top: 14px;
}
.footer-ref-social {
  width: 52px;
  height: 52px;
  border: 1px solid rgba(150, 203, 245, .58);
  background: linear-gradient(145deg, #123b63 0%, #082744 48%, #061b30 100%);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 8px 22px rgba(0,0,0,.2);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.footer-ref-social:hover,
.footer-ref-social:focus-visible {
  transform: translateY(-3px) scale(1.04);
  border-color: #ff7a1a;
  background: linear-gradient(145deg, #174d7f 0%, #0b3154 50%, #08213a 100%);
  box-shadow: 0 0 0 3px rgba(255,122,26,.13), 0 10px 26px rgba(0,0,0,.28);
  outline: none;
}
.footer-ref-social svg {
  width: 24px;
  height: 24px;
  fill: currentColor;
}
.footer-ref-social-x svg {
  width: 22px;
  height: 22px;
}
.footer-ref-affiliation {
  padding: 28px 0 34px;
}
.footer-ref-affiliation h5 {
  font-size: 25px;
  margin-bottom: 14px;
}
.footer-ref-affiliation p {
  margin: 0 0 24px;
  color: #d8e4ef;
}
.footer-ref-logos {
  gap: clamp(64px, 10vw, 130px);
  min-height: 170px;
}
.footer-ref-logos a {
  min-width: 160px;
  min-height: 130px;
  background: transparent !important;
}
.footer-ref-logos img,
.footer-ref-logos a:first-child img {
  max-width: 165px;
  max-height: 130px;
  object-fit: contain;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.footer-ref-bottom {
  padding-top: 20px;
  font-size: 13px;
}

@media (max-width: 650px) {
  .gallery-action-row,
  .gallery-subblock-v2,
  .footer-reference {
    width: calc(100% - 24px);
  }

  .gallery-clean-button {
    width: 100%;
    justify-content: center;
  }

  .gallery-subblock-v2 header {
    flex-direction: column;
    align-items: flex-start;
    padding: 19px 18px;
  }

  .gallery-subblock-v2-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
  }

  .footer-ref-grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .footer-ref-logos {
    gap: 12px;
    justify-content: space-between;
  }

  .footer-ref-logos a {
    min-width: calc(33.333% - 8px);
  }

  .footer-ref-logos img {
    max-width: 92px;
    max-height: 72px;
  }

  .footer-ref-bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* Responsividade desktop reforçada — 15/09/2026 */
html,
body {
  width: 100%;
  max-width: 100%;
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: clip;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img,
video,
iframe,
canvas,
svg {
  max-width: 100%;
}

.header,
.hero,
main,
.footer,
#player {
  max-width: 100%;
}

.header-inner,
.hero-content,
.section,
.institution-band,
.adbrag-live-card,
.program-panel,
.program-list-panel,
.gallery-action-row,
.gallery-subblock,
.gallery-subblock-v2,
.footer-professional,
.footer-reference {
  min-width: 0;
}

.header-inner > *,
.program-actions > *,
.program-cards > *,
.footer-pro-grid > *,
.footer-ref-grid > *,
.footer-ref-logos > *,
.institution-card > * {
  min-width: 0;
}

.header-inner {
  width: min(1240px, calc(100% - 32px)) !important;
  margin-inline: auto !important;
  gap: clamp(12px, 2vw, 32px);
}

.logo-wrap,
.logo-text {
  min-width: 0;
}

.header .nav {
  min-width: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: clamp(6px, .9vw, 14px);
}

.header .nav a {
  white-space: nowrap;
}

.hero-content,
.section {
  width: min(1240px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.program-actions,
.program-cards,
.services-grid,
.service-selector,
.footer-pro-grid,
.footer-ref-grid,
.footer-ref-logos {
  max-width: 100%;
}

.program-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)) !important;
}

.footer-ref-grid p,
.footer-ref-grid a,
.footer-ref-grid strong,
.footer-pro-grid p,
.footer-pro-grid a,
.institution-copy,
.program-copy {
  overflow-wrap: anywhere;
}

#player,
#player > * {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}

@media (max-width: 1280px) {
  .header-inner,
  .hero-content,
  .section,
  .institution-band,
  .adbrag-live-card,
  .footer-professional,
  .footer-reference {
    width: calc(100% - 28px) !important;
  }

  .header .nav a {
    font-size: 13px;
  }

  .footer-ref-grid,
  .footer-pro-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
  }

  .footer-ref-logos {
    flex-wrap: wrap;
    gap: clamp(18px, 4vw, 48px);
  }
}

@media (max-width: 1080px) {
  .header-inner {
    flex-wrap: wrap;
    justify-content: center;
  }

  .logo-wrap {
    flex: 1 1 420px;
  }

  .header .nav {
    flex: 1 1 100%;
    width: 100%;
    justify-content: center;
  }

  .program-actions {
    grid-template-columns: 1fr !important;
  }

  .footer-ref-logos a,
  .footer-institution-logos a {
    min-width: 0;
  }
}

@media (max-width: 760px) {
  .header-inner,
  .hero-content,
  .section,
  .institution-band,
  .adbrag-live-card,
  .footer-professional,
  .footer-reference {
    width: calc(100% - 20px) !important;
  }

  .header .nav {
    gap: 6px 10px;
  }

  .header .nav a {
    white-space: normal;
    text-align: center;
  }
}

.adbrag-volume-legacy-icon {
  display: none !important;
}

#player .adbrag-mute-button {
  min-width: 72px;
  height: 28px;
  padding: 0 10px;
  flex: 0 0 auto;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  color: #eaf3ff;
  font: 800 10px/1 system-ui, sans-serif;
  letter-spacing: .35px;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

#player .adbrag-mute-button:hover,
#player .adbrag-mute-button:focus-visible {
  background: rgba(255,122,26,.16);
  border-color: #ff7a1a;
  transform: translateY(-1px);
  outline: none;
}

#player .adbrag-mute-button svg {
  width: 19px;
  height: 19px;
  fill: currentColor;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header .nav .adbrag-share-control {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 14px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.header .nav .adbrag-share-control:hover,
.header .nav .adbrag-share-control:focus-visible {
  border-color: #ff7a1a;
  background: rgba(255,122,26,.13);
  transform: translateY(-1px);
  outline: none;
}

.adbrag-share-control svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.adbrag-share-overlay[hidden] {
  display: none !important;
}

.adbrag-share-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(3, 15, 28, .72);
  backdrop-filter: blur(5px);
}

.adbrag-share-open {
  overflow: hidden;
}

.adbrag-share-panel {
  width: min(480px, 100%);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: #0b1d31;
  color: #fff;
  box-shadow: 0 28px 80px rgba(0,0,0,.42);
  overflow: hidden;
}

.adbrag-share-panel header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 22px 15px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.adbrag-share-panel header span {
  display: block;
  margin-bottom: 5px;
  color: #ff8a2a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.2px;
}

.adbrag-share-panel h2 {
  margin: 0;
  color: #fff;
  font-size: 24px;
}

.adbrag-share-panel > p {
  margin: 0;
  padding: 16px 22px 5px;
  color: #c8d5e2;
  line-height: 1.55;
}

.adbrag-share-close {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}

.adbrag-share-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px 22px 22px;
}

.adbrag-share-grid a,
.adbrag-share-grid button {
  min-width: 0;
  min-height: 58px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2px;
  padding: 11px 14px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.055);
  color: #fff;
  text-decoration: none;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.adbrag-share-grid a:hover,
.adbrag-share-grid a:focus-visible,
.adbrag-share-grid button:hover,
.adbrag-share-grid button:focus-visible {
  border-color: #ff7a1a;
  background: rgba(255,122,26,.12);
  transform: translateY(-1px);
  outline: none;
}

.adbrag-copy-link small {
  color: #aebed0;
  font-size: 11px;
  font-weight: 600;
}

.adbrag-share-status {
  min-height: 22px;
  padding: 0 22px 18px;
  color: #9fd2ff;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 560px) {
  .header .nav .adbrag-share-control span {
    display: none;
  }

  .header .nav .adbrag-share-control {
    width: 42px;
    min-width: 42px;
    padding: 9px;
  }

  .adbrag-share-grid {
    grid-template-columns: 1fr;
  }

  .adbrag-share-panel h2 {
    font-size: 21px;
  }
}

/* Rodapé compacto e referências legais — 16/09/2026 */
.footer-reference {
  width: min(1220px, calc(100% - 48px));
  padding: 16px 0 88px;
}

.footer-ref-grid {
  gap: 28px;
  padding-bottom: 16px;
}

.footer-ref-grid h5,
.footer-ref-affiliation h5 {
  margin: 0 0 7px;
  font-size: 15px;
  letter-spacing: .45px;
}

.footer-ref-grid p,
.footer-ref-grid a,
.footer-ref-affiliation p {
  font-size: 12px;
  line-height: 1.5;
}

.footer-ref-socials {
  gap: 8px;
  margin-top: 8px;
}

.footer-ref-social {
  width: 40px;
  height: 40px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 5px 14px rgba(0,0,0,.16);
}

.footer-ref-social svg,
.footer-ref-social-x svg {
  width: 18px;
  height: 18px;
}

.footer-ref-affiliation {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(0, 1.4fr);
  align-items: center;
  gap: 24px;
  padding: 12px 0;
  text-align: left;
}

.footer-ref-affiliation h5 {
  margin-bottom: 3px;
  font-size: 16px;
}

.footer-ref-affiliation p {
  margin: 0;
  color: #c8d6e4;
  font-size: 11px;
}

.footer-ref-logos {
  justify-content: flex-end;
  gap: 26px;
  min-height: 56px;
}

.footer-ref-logos a {
  min-width: 72px;
  min-height: 54px;
}

.footer-ref-logos img,
.footer-ref-logos a:first-child img {
  max-width: 76px;
  max-height: 52px;
}

.footer-ref-legal {
  padding: 11px 0 9px;
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: #b9c8d8;
  font-size: 10.5px;
  line-height: 1.4;
}

.footer-ref-legal-title {
  display: block;
  margin-bottom: 7px;
  color: #f4f7fa;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .25px;
  text-transform: uppercase;
}

.footer-ref-law-list {
  display: grid;
  gap: 5px;
}

.footer-ref-law {
  display: grid;
  grid-template-columns: minmax(235px, .95fr) minmax(0, 2fr);
  gap: 14px;
  align-items: start;
  padding: 6px 9px;
  border-left: 2px solid rgba(255,122,26,.72);
  background: rgba(255,255,255,.025);
  color: #d4e1ed;
  text-decoration: none;
}

.footer-ref-law b {
  color: #f0f5fa;
  font-size: 10.5px;
}

.footer-ref-law span {
  color: #b9c8d8;
}

.footer-ref-law:hover,
.footer-ref-law:focus-visible {
  border-left-color: #72baff;
  background: rgba(114,186,255,.07);
  outline: none;
}

.footer-ref-law:hover b,
.footer-ref-law:focus-visible b {
  color: #72baff;
}

.footer-ref-bottom {
  gap: 16px;
  padding-top: 8px;
  font-size: 10.5px;
}

.footer-ref-bottom nav {
  gap: 10px;
}

@media (max-width: 760px) {
  .footer-reference {
    width: calc(100% - 20px) !important;
    padding: 14px 0 82px;
  }

  .footer-ref-grid {
    gap: 18px;
    padding-bottom: 14px;
  }

  .footer-ref-affiliation {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 12px 0;
    text-align: center;
  }

  .footer-ref-logos {
    justify-content: center;
    gap: 18px;
  }

  .footer-ref-legal {
    padding: 9px 0;
  }

  .footer-ref-law {
    grid-template-columns: 1fr;
    gap: 3px;
    padding: 7px 8px;
  }

  .footer-ref-bottom {
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 650px) {
  .footer-ref-grid {
    grid-template-columns: 1fr;
  }

  .footer-ref-bottom {
    flex-direction: column;
    gap: 6px;
  }
}

/* Padrão oficial 2026 — bloco Instituições */
.footer-ref-affiliation {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 20px 0 24px;
  text-align: center;
}

.footer-ref-affiliation-copy {
  width: 100%;
  text-align: center;
}

.footer-ref-affiliation-copy h5 {
  margin: 0;
  font-size: 18px;
  letter-spacing: .5px;
  text-align: center;
}

.footer-ref-logos {
  width: 100%;
  min-height: 112px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(32px, 5vw, 56px);
}

.footer-ref-logos a {
  min-width: 130px;
  min-height: 104px;
  display: grid;
  place-items: center;
  background: transparent !important;
}

.footer-ref-logos img,
.footer-ref-logos a:first-child img {
  display: block;
  width: auto;
  height: 100px;
  max-width: 185px;
  max-height: 100px;
  object-fit: contain;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.footer-ref-logos a:nth-child(3) {
  width: 180px;
  min-width: 180px;
  height: 104px;
  overflow: hidden;
}

.footer-ref-logos a:nth-child(3) img {
  width: 100px;
  height: 100px;
  max-width: none;
  max-height: none;
  transform: scale(2.05);
  transform-origin: center;
}

@media (max-width: 650px) {
  .footer-ref-affiliation {
    gap: 10px;
    padding: 16px 0 20px;
  }

  .footer-ref-logos {
    gap: 20px;
    min-height: 84px;
  }

  .footer-ref-logos a {
    min-width: 96px;
    min-height: 78px;
  }

  .footer-ref-logos img,
  .footer-ref-logos a:first-child img {
    height: 72px;
    max-width: 132px;
    max-height: 72px;
  }

  .footer-ref-logos a:nth-child(3) {
    width: 132px;
    min-width: 132px;
    height: 78px;
  }

  .footer-ref-logos a:nth-child(3) img {
    width: 72px;
    height: 72px;
    transform: scale(2.05);
  }
}

/* Ajuste de leitura e fundo suave — 16/09/2026 */
.header {
  background: linear-gradient(90deg, #173047 0%, #1b3a52 100%) !important;
  border-bottom-color: rgba(255,255,255,.14) !important;
}

.footer {
  background: linear-gradient(180deg, #18344b 0%, #163047 58%, #12293d 100%) !important;
}

.footer-ref-affiliation {
  background: linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.055));
  border-radius: 18px;
  padding-left: 18px;
  padding-right: 18px;
}

.logo-text b {
  font-size: 16px !important;
  line-height: 1.15;
}

.logo-text > span.brand-slogan {
  font-size: 11px !important;
  line-height: 1.35;
  letter-spacing: 1px;
}

.header .nav a {
  font-size: 16px !important;
  font-weight: 800;
}

.header .nav .adbrag-share-control {
  font-size: 14px !important;
}

.footer-ref-grid h5,
.footer-ref-affiliation h5 {
  font-size: 17px !important;
}

.footer-ref-grid p,
.footer-ref-grid a {
  font-size: 14px !important;
  line-height: 1.62;
}

.footer-ref-affiliation-copy h5 {
  font-size: 22px !important;
}

.footer-ref-bottom,
.footer-ref-bottom a {
  font-size: 12px !important;
}

@media (max-width: 760px) {
  .header .nav a {
    font-size: 14px !important;
  }

  .footer-ref-grid p,
  .footer-ref-grid a {
    font-size: 13px !important;
  }

  .footer-ref-affiliation-copy h5 {
    font-size: 20px !important;
  }
}

/* Acabamento final da rádio — faixa multicolorida sem onda longa no rodapé */
.footer {
  position: relative;
  overflow: hidden;
}



.adbrag-mini-equalizer-v2 {
  width: 48px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  flex: 0 0 auto;
  margin-left: 10px;
  opacity: .9;
}

.adbrag-mini-equalizer-v2 span {
  width: 3px;
  height: 8px;
  border-radius: 99px;
  background: currentColor;
  transform-origin: center;
  animation: adbragMiniEqV2 1.05s ease-in-out infinite alternate;
}

.adbrag-mini-equalizer-v2 span:nth-child(2),
.adbrag-mini-equalizer-v2 span:nth-child(6) { animation-delay: -.42s; }
.adbrag-mini-equalizer-v2 span:nth-child(3),
.adbrag-mini-equalizer-v2 span:nth-child(5) { animation-delay: -.71s; }
.adbrag-mini-equalizer-v2 span:nth-child(4) { animation-delay: -.22s; }
.adbrag-mini-equalizer-v2 span:nth-child(7) { animation-delay: -.58s; }

@keyframes adbragMiniEqV2 {
  0% { transform: scaleY(.45); opacity: .55; }
  55% { transform: scaleY(1.9); opacity: 1; }
  100% { transform: scaleY(.8); opacity: .78; }
}

@media (prefers-reduced-motion: reduce) {
  .adbrag-mini-equalizer-v2 span,
  .programacao-live-label i,
  .programacao-live-eq b { animation: none; }
}

/* Programação 2026: destaque dinâmico -> cards -> grade completa */
.programacao-novo-2026 { width:min(1180px,calc(100% - 40px)); margin:36px auto 42px; scroll-margin-top:90px; }
.programacao-etapa-base { width:100%; overflow:hidden; border-radius:18px; box-shadow:0 14px 34px rgba(5,54,91,.14); background:#fff; }
.programacao-etapa-base img { display:block; width:100%; height:auto; }
.programacao-etapa-conteudo-oculto { display:none !important; }
.programacao-modelo-codigo { position:relative; width:100%; overflow:hidden; padding:0 0 22px; border-radius:22px; background:linear-gradient(180deg,#f8fbff 0%,#fff 58%,#f4f9fe 100%); box-shadow:0 18px 42px rgba(4,47,87,.14); }
.programacao-modelo-final-bg { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:top center; opacity:.22; pointer-events:none; }
.programacao-modelo-final-funcoes { position:relative; z-index:2; }
.programacao-modelo-final .programacao-destaque-2026 { background:linear-gradient(105deg,rgba(248,252,255,.94),rgba(231,246,255,.91)); }
.programacao-modelo-final .programacao-destaque-live { box-shadow:0 12px 28px rgba(1,28,50,.22); }
.programacao-modelo-final .programacao-completa-card { border-radius:18px; box-shadow:0 12px 26px rgba(4,47,87,.16); }
.programacao-modelo-codigo .programacao-destaque-2026 { margin:0 0 24px; border-radius:22px 22px 0 0; }
.programacao-modelo-codigo .programacao-nossos-head,.programacao-modelo-codigo .programacao-novos-cards,.programacao-modelo-codigo .programacao-completa-card { width:calc(100% - 44px); margin-left:auto; margin-right:auto; }
.programacao-modelo-codigo .programacao-destaque-live { background-color:rgba(2,40,66,.96); }
.programacao-modelo-codigo .programacao-card-interativo { position:relative; transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease; }
.programacao-modelo-codigo .programacao-card-interativo:hover { transform:translateY(-7px); box-shadow:0 18px 30px rgba(3,50,90,.2); }
.programacao-modelo-codigo .programacao-card-interativo.is-on-air { outline:3px solid #ff7a00; outline-offset:-3px; }
.programacao-modelo-codigo .programacao-card-interativo.is-on-air::after { content:'NO AR AGORA'; position:absolute; top:8px; right:8px; padding:5px 9px; border-radius:999px; background:#ff6b16; color:#fff; font-size:10px; font-weight:900; letter-spacing:.05em; animation:programacaoOnAirBlink .9s ease-in-out infinite; }
.programacao-modelo-codigo .programacao-card-interativo.is-next { outline:3px solid #12b98a; outline-offset:-3px; }
.programacao-modelo-codigo .programacao-card-interativo.is-next::after { content:'A SEGUIR'; position:absolute; top:8px; right:8px; padding:5px 9px; border-radius:999px; background:#0aa778; color:#fff; font-size:10px; font-weight:900; letter-spacing:.05em; box-shadow:0 4px 12px rgba(0,96,70,.22); }
.programacao-card-sem-imagem { width:100%; aspect-ratio:1; background:linear-gradient(145deg,#eaf5ff,#d9ebf8); }
.programacao-nossos-head { display:flex; align-items:end; justify-content:space-between; gap:18px; margin:24px 2px 14px; }
.programacao-nossos-head span { color:#ef651d; font-size:11px; font-weight:900; letter-spacing:1.4px; }
.programacao-nossos-head h3 { margin:4px 0 0; color:#071f3b; font-size:27px; }
.programacao-nossos-head button { border:1px solid #d9e5f1; border-radius:999px; padding:9px 14px; background:#fff; color:#0b477d; font-weight:800; cursor:pointer; }
.programacao-novos-cards { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:20px; overflow:visible; }
@media (min-width: 761px) {
  #programacaoNovo2026 .programacao-nossos-head,
  #programacaoNovo2026 .programacao-novos-cards {
    width:calc(100% - 44px);
    margin-left:auto;
    margin-right:auto;
  }
}
.programacao-novos-cards > * { min-width:0; }
.programacao-placeholder-card { min-height:128px; display:flex; flex-direction:column; justify-content:end; padding:16px; border:1px solid #a9cfee; border-left:4px solid #168be8; border-radius:15px; background:linear-gradient(145deg,#edf6ff,#fff); box-shadow:0 8px 20px rgba(5,43,80,.07); }
.programacao-card-interativo { transition:transform .26s ease, box-shadow .26s ease, border-color .26s ease; }
.programacao-card-interativo:hover { transform:translateY(-7px); box-shadow:0 16px 30px rgba(5,43,80,.15); border-left-color:#19ae73; }
.programacao-card-interativo.is-on-air { border-color:#ff8b2b; box-shadow:0 0 0 2px rgba(255,139,43,.12),0 14px 28px rgba(5,43,80,.12); }
.programacao-placeholder-card strong { color:#082e55; font-size:15px; }
.programacao-placeholder-card span { margin-top:5px; color:#63768a; font-size:11px; }
.programacao-card-interativo { width:100%; overflow:hidden; padding:0; border:1px solid #a9cfee; border-left:4px solid #168be8; border-radius:15px; background:#fff; box-shadow:0 8px 20px rgba(5,43,80,.07); color:inherit; font:inherit; text-align:left; appearance:none; cursor:pointer; }
.programacao-card-interativo:focus-visible { outline:3px solid rgba(22,139,232,.34); outline-offset:3px; }
.programacao-card-interativo img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }
.programacao-card-interativo > div { display:flex; min-height:72px; flex-direction:column; justify-content:center; padding:12px 14px; }
.programacao-card-interativo strong { color:#082e55; font-size:15px; line-height:1.25; }
.programacao-card-interativo span { margin-top:5px; color:#63768a; font-size:11px; }
.programacao-subbloco { width:calc(100% - 44px); margin:18px auto 24px; padding:22px; border:1px solid #b9d7ef; border-radius:18px; background:rgba(255,255,255,.97); box-shadow:0 14px 32px rgba(4,47,87,.13); scroll-margin-top:100px; }
.programacao-subbloco[hidden] { display:none !important; }
.programacao-subbloco-cabecalho { margin-bottom:18px; }
.programacao-subbloco-cabecalho span { color:#ef651d; font-size:11px; font-weight:900; letter-spacing:1.3px; }
.programacao-subbloco-cabecalho h3 { margin:5px 0 0; color:#071f3b; font-size:clamp(24px,3vw,32px); }
.programacao-todos-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.programacao-grade-conteudo { display:grid; gap:18px; }
.programacao-grade-conteudo .program-day { overflow:hidden; border:1px solid #d7e6f3; border-radius:15px; background:#f8fbff; }
.programacao-grade-conteudo .program-day-title { padding:14px 16px; background:#0b4f8a; color:#fff; font-weight:900; }
.programacao-grade-conteudo .program-row { display:grid; grid-template-columns:120px 1fr; gap:14px; padding:11px 16px; border-top:1px solid #e1ebf4; color:#17364d; }
.programacao-grade-conteudo .program-row b { color:#0b4f8a; }
.programacao-grade-conteudo .program-note,.programacao-grade-vazia { margin:0; padding:16px; border-radius:12px; background:#edf6ff; color:#526173; line-height:1.6; }

.programacao-destaque-2026 { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(330px,.95fr); gap: 22px; width: 100%; margin: 4px auto 28px; padding: 26px; border: 1px solid #9cc7ef; border-left: 4px solid #168be8; border-radius: 24px; background: linear-gradient(135deg,#f8fbff 0%,#eef6fd 100%); box-shadow: 0 16px 38px rgba(4,35,70,.09); overflow: hidden; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.programacao-destaque-2026:hover { transform: translateY(-7px); box-shadow: 0 22px 44px rgba(4,35,70,.15); border-left-color: #19ae73; }
.programacao-destaque-copy { align-self: center; }
.programacao-destaque-brand { display: flex; align-items: center; gap: 14px; }
.programacao-destaque-brand img { width: 62px; height: 62px; object-fit: contain; flex: 0 0 auto; }
.programacao-destaque-brand span { display: block; margin-bottom: 5px; color: #ef651d; font: 900 12px/1.2 system-ui,sans-serif; letter-spacing: 1.5px; }
.programacao-destaque-brand h3 { margin: 0; color: #071f3b; font-size: clamp(28px,4vw,48px); line-height: 1.02; }
.programacao-destaque-copy > p { margin: 15px 0 18px; color: #526173; font-size: 16px; line-height: 1.55; }
.programacao-destaque-pontos { display: flex; flex-wrap: wrap; gap: 9px 16px; color: #123d69; font: 800 12px/1.3 system-ui,sans-serif; }
.programacao-destaque-live { position: relative; display: flex; flex-direction: column; justify-content: center; min-height: 218px; padding: 28px 34% 28px 28px; border: 2px solid rgba(45,235,184,.7); border-left: 4px solid #20d99b; border-radius: 20px; background: radial-gradient(circle at 78% 32%,rgba(52,208,117,.34),transparent 23%),radial-gradient(circle at 54% 10%,rgba(18,139,211,.35),transparent 35%),linear-gradient(135deg,#06392f 0%,#064b59 42%,#083b73 100%); color: #fff; box-shadow: 0 15px 30px rgba(2,45,55,.22),inset 0 0 34px rgba(42,210,183,.08); overflow: hidden; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.programacao-destaque-live:hover { transform: translateY(-7px); box-shadow: 0 22px 40px rgba(2,62,68,.3); border-left-color: #36e1b0; }
.programacao-live-dinamico { min-height: 238px; padding: 25px 43% 24px 25px; isolation: isolate; background: radial-gradient(circle at 78% 32%,rgba(38,211,113,.34),transparent 22%),radial-gradient(circle at 58% 8%,rgba(15,148,204,.34),transparent 36%),linear-gradient(125deg,#052f2e 0%,#064a4d 43%,#075f55 68%,#06396d 100%); }
.programacao-live-modelo-novo { aspect-ratio: 2.05 / 1; overflow: hidden; background: #032c49; }
.programacao-live-modelo-bg { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .48; filter: saturate(1.12) contrast(1.06); pointer-events: none; }
.programacao-live-modelo-novo .programacao-live-atmosfera { z-index: 1; background: linear-gradient(90deg,rgba(1,34,48,.82) 0%,rgba(2,44,63,.56) 46%,rgba(1,35,54,.18) 100%); }
.programacao-live-modelo-novo .programacao-live-conteudo,.programacao-live-modelo-novo .programacao-live-mic-pro,.programacao-live-modelo-novo .programacao-live-slogan-pro { z-index: 4; }
.programacao-live-dinamico::after { content: ''; position: absolute; z-index: 0; inset: 0; display: block; opacity: .22; background: repeating-linear-gradient(112deg,transparent 0 42px,rgba(49,231,180,.16) 43px 45px,transparent 46px 72px); transform: none; filter: none; pointer-events: none; }
.programacao-live-atmosfera { position: absolute; z-index: 0; inset: 0; background: radial-gradient(ellipse at 54% 56%,rgba(41,228,172,.26),transparent 32%),linear-gradient(100deg,transparent 45%,rgba(12,77,105,.2) 46%,transparent 70%); pointer-events: none; }
.programacao-live-conteudo { position: relative; z-index: 4; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.programacao-live-dinamico .programacao-live-label { position: relative; display: inline-flex; align-items: center; gap: 4px; padding: 8px 13px; border-radius: 9px; background: linear-gradient(135deg,#ff9a19,#f06422); color: #fff; box-shadow: 0 6px 18px rgba(240,100,34,.28); }
.programacao-live-dinamico .programacao-live-label i { margin-right: 1px; background: #f31d24; box-shadow: 0 0 0 3px rgba(255,255,255,.2),0 0 10px rgba(243,29,36,.8); animation: programacaoOnAirBlink .9s ease-in-out infinite; }
.programacao-live-dinamico #novoProgramaAtual { margin-top: 12px; max-width: 100%; color: #fff; font: 900 clamp(21px,2.2vw,31px)/1.05 system-ui,sans-serif; letter-spacing: -.6px; text-shadow: 0 2px 10px rgba(0,0,0,.2); }
.programacao-live-dinamico #novoProgramaHorario { margin-top: 5px; color: #d7f5ef; font: 700 12px/1.35 system-ui,sans-serif; }
.programacao-live-dinamico .programacao-live-eq { position: relative; z-index: 4; display: flex; align-items: flex-end; gap: 4px; width: 145px; height: 36px; margin: 13px 0 10px; }
.programacao-live-dinamico .programacao-live-eq b { flex: 1 1 0; min-width: 3px; height: 7px; border-radius: 4px 4px 1px 1px; background: linear-gradient(180deg,#63efff,#12ced3); box-shadow: 0 0 8px rgba(37,226,224,.35); animation: programacaoEqPro .68s ease-in-out infinite alternate; }
.programacao-live-dinamico .programacao-live-eq b:nth-child(2n) { animation-duration: .46s; }
.programacao-live-dinamico .programacao-live-eq b:nth-child(3n) { animation-duration: .86s; animation-delay: -.2s; }
.programacao-live-dinamico .programacao-live-next { position: relative; z-index: 4; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; margin: 0; color: #e8fbf7; font-size: 12px; }
.programacao-live-dinamico .programacao-live-next small { color: #62f0d4; }
.programacao-live-mic-pro { position: absolute; z-index: 3; right: 18%; top: 24px; width: 112px; height: 180px; transform: rotate(-4deg); filter: drop-shadow(0 14px 18px rgba(0,0,0,.3)); pointer-events: none; }
.programacao-live-mic-head { position: absolute; left: 27px; top: 0; width: 64px; height: 112px; border: 4px solid #172b37; border-radius: 31px 31px 22px 22px; background: repeating-linear-gradient(90deg,#162d38 0 4px,#55727a 4px 5px,#203b44 5px 8px); box-shadow: inset 0 0 15px rgba(76,229,215,.28),0 0 18px rgba(30,220,183,.18); }
.programacao-live-mic-head::after { content: ''; position: absolute; left: -17px; right: -17px; bottom: 8px; height: 48px; border: 5px solid #17313d; border-top: 0; border-radius: 0 0 38px 38px; }
.programacao-live-mic-arm { position: absolute; left: 57px; top: 109px; width: 6px; height: 58px; border-radius: 5px; background: #17313d; }
.programacao-live-mic-arm::after { content: ''; position: absolute; left: -31px; bottom: 0; width: 68px; height: 6px; border-radius: 5px; background: #17313d; }
.programacao-live-slogan-pro { position: absolute; z-index: 4; right: 2.8%; top: 30%; width: 125px; color: #fff; font: 800 18px/1.08 system-ui,sans-serif; font-style: italic; text-shadow: 0 2px 12px rgba(0,0,0,.22); pointer-events: none; }
.programacao-live-slogan-pro em { color: #5df1dd; font-style: italic; font-size: 23px; }
@keyframes programacaoOnAirBlink { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .28; transform: scale(.72); } }
@keyframes programacaoEqPro { 0% { height: 6px; opacity: .6; } 50% { height: 31px; opacity: 1; } 100% { height: 15px; opacity: .88; } }
@media (max-width:760px) { .programacao-live-dinamico { padding: 20px 36% 20px 18px; min-height: 220px; } .programacao-live-mic-pro { right: 7%; transform: scale(.82) rotate(-4deg); transform-origin: top right; } .programacao-live-slogan-pro { display: none; } .programacao-live-dinamico .programacao-live-eq { width: 115px; } }

.programacao-live-substituto {
  display: block;
  min-height: 0;
  padding: 14px;
  border: 0;
  border-radius: 24px;
  aspect-ratio: auto;
  background: rgba(246, 253, 255, .98);
  box-shadow: 0 16px 38px rgba(4, 47, 87, .16);
  overflow: hidden;
}

.programacao-live-substituto:hover {
  border-left-color: transparent;
}

.programacao-live-substituto::after {
  display: none;
}

.programacao-live-substituto .programacao-card-compacto-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  align-items: center;
  gap: 28px;
  min-height: 260px;
  padding: 30px 34px;
  border: 1px solid #28c7ed;
  border-radius: 22px;
  background: linear-gradient(120deg, #052949 0%, #062746 58%, #03213b 100%);
  color: #fff;
  box-shadow: inset 0 0 28px rgba(30, 198, 235, .09);
}

.programacao-card-compacto-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.programacao-card-compacto-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: #57f2bf;
  font: 900 14px/1 system-ui, sans-serif;
  letter-spacing: 1.4px;
}

.programacao-card-compacto-label i {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #57f2bf;
  box-shadow: 0 0 12px rgba(87, 242, 191, .8);
  animation: programacaoOnAirBlink .9s ease-in-out infinite;
}

.programacao-card-compacto-copy > strong {
  max-width: 100%;
  margin-bottom: 18px;
  color: #fff;
  font: 900 clamp(30px, 4.2vw, 50px)/1.03 system-ui, sans-serif;
  letter-spacing: -.7px;
  overflow-wrap: anywhere;
}

.programacao-card-compacto-copy > span:not(.programacao-card-compacto-label) {
  margin-top: 7px;
  color: #d9e7f3;
  font: 500 15px/1.35 system-ui, sans-serif;
}

.programacao-card-compacto-copy > span b {
  color: #fff;
  font-weight: 850;
}

.programacao-card-compacto-inner > img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .3);
}

.programacao-card-compacto-eq {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 78px;
  height: 34px;
  margin-top: 20px;
}

.programacao-card-compacto-eq b {
  width: 5px;
  height: 8px;
  border-radius: 8px;
  background: #45dcff;
  box-shadow: 0 0 9px rgba(69, 220, 255, .62);
  animation: programacaoEqPro .7s ease-in-out infinite alternate;
}

.programacao-card-compacto-eq b:nth-child(2n) { animation-duration: .48s; }
.programacao-card-compacto-eq b:nth-child(3n) { animation-delay: -.25s; }

@media (max-width: 650px) {
  .programacao-live-substituto {
    padding: 9px;
    border-radius: 20px;
  }

  .programacao-card-compacto-inner {
    grid-template-columns: 1fr;
    gap: 22px;
    min-height: 0;
    padding: 24px 20px;
  }

  .programacao-card-compacto-copy > strong {
    font-size: clamp(28px, 10vw, 40px);
  }

  .programacao-card-compacto-inner > img {
    width: min(100%, 230px);
    justify-self: center;
  }
}

.programacao-destaque-live::after { content: ''; position: absolute; left: 28%; right: -8%; bottom: 26%; height: 46px; opacity: .45; border-radius: 50%; background: linear-gradient(90deg,transparent,#22d9a0 40%,#4ed78d 68%,transparent); transform: skewY(-8deg); filter: blur(5px); pointer-events: none; }
.programacao-live-label { position: relative; z-index: 3; align-self: flex-start; padding: 8px 12px; border-radius: 9px; background: #f06422; font: 900 11px/1 system-ui,sans-serif; letter-spacing: .8px; box-shadow: 0 5px 14px rgba(240,100,34,.24); }
.programacao-live-label i { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #fff; animation: programacaoPulse 1.2s ease-in-out infinite; }
.programacao-destaque-live strong { position: relative; z-index: 3; margin: 14px 0 5px; font-size: clamp(25px,3vw,36px); line-height: 1.05; text-shadow: 0 2px 10px rgba(0,0,0,.22); }
.programacao-destaque-live > span:not(.programacao-live-label) { position: relative; z-index: 1; opacity: .9; font-size: 14px; }
.programacao-live-eq { position: relative; z-index: 1; display: flex; align-items: end; gap: 3px; width: 52px; height: 22px; margin-top: 14px; }
.programacao-live-eq b { width: 4px; height: 8px; border-radius: 9px; background: linear-gradient(180deg,#38e6c1,#49bfff); animation: programacaoEq .85s ease-in-out infinite alternate; }
.programacao-live-eq b:nth-child(2),.programacao-live-eq b:nth-child(5){animation-delay:-.3s}.programacao-live-eq b:nth-child(3){animation-delay:-.55s}.programacao-live-eq b:nth-child(4){animation-delay:-.15s}.programacao-live-eq b:nth-child(6){animation-delay:-.7s}
.programacao-live-next { position: relative; z-index: 3; display: flex; gap: 8px; align-items: baseline; margin-top: 15px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.38); font-size: 12px; }
.programacao-live-next small { color: #48e2c2; font-weight: 900; letter-spacing: .8px; }
.programacao-live-next span { font-weight: 800; }
.programacao-live-slogan { position:absolute; z-index:3; top:20px; right:15%; width:110px; color:#fff; font:700 15px/1.05 Georgia,serif; text-align:center; transform:rotate(-4deg); text-shadow:0 2px 8px rgba(0,0,0,.28); }
.programacao-live-slogan em { display:block; color:#35e0df; font-size:23px; font-style:italic; }
.programacao-studio-glow { position:absolute; inset:0; z-index:0; background:linear-gradient(115deg,transparent 52%,rgba(26,173,214,.14) 53%,transparent 72%); pointer-events:none; }
.programacao-mic { position:absolute; z-index:2; right:5%; top:18%; width:58px; height:112px; border:4px solid rgba(75,228,217,.72); border-radius:30px 30px 18px 18px; background:repeating-linear-gradient(90deg,rgba(7,28,49,.92) 0 4px,rgba(52,195,208,.42) 4px 6px); box-shadow:0 0 18px rgba(53,223,201,.38); transform:rotate(-5deg); }
.programacao-mic::before { content:''; position:absolute; left:50%; bottom:-38px; width:4px; height:40px; background:#17364d; transform:translateX(-50%); }
.programacao-mic::after { content:''; position:absolute; left:50%; bottom:-42px; width:62px; height:4px; border-radius:4px; background:#17364d; transform:translateX(-50%); }
.programacao-mic span { position:absolute; left:-13px; right:-13px; bottom:12px; height:40px; border:4px solid #17364d; border-top:0; border-radius:0 0 32px 32px; }
@keyframes programacaoPulse { 50% { opacity: .35; transform: scale(.75); } }
@keyframes programacaoEq { from { height: 5px; opacity: .55; } to { height: 21px; opacity: 1; } }

.programacao-completa-principal {
  width: 100%;
  margin: 28px auto 0;
}

.programacao-completa-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 24px 28px;
  border: 1px solid rgba(10, 69, 128, .16);
  border-radius: 22px;
  background: linear-gradient(135deg, #f7fbff 0%, #eef7ff 100%);
  box-shadow: 0 14px 34px rgba(4, 35, 70, .08);
}

.programacao-completa-copy { min-width: 0; }
.programacao-completa-copy > span { display: block; margin-bottom: 6px; color: #14705a; font: 800 11px/1.2 system-ui, sans-serif; letter-spacing: 1.1px; }
.programacao-completa-copy h3 { margin: 0 0 8px; color: #071f3b; font-size: clamp(22px, 2.5vw, 30px); line-height: 1.1; }
.programacao-completa-copy p { max-width: 720px; margin: 0; color: #526173; font-size: 15px; line-height: 1.6; }
.programacao-completa-button { flex: 0 0 auto; min-height: 48px; padding: 0 20px; border: 0; border-radius: 14px; background: #0b4f8a; color: #fff; font: 800 14px/1 system-ui, sans-serif; cursor: pointer; box-shadow: 0 9px 20px rgba(11,79,138,.18); transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.programacao-completa-button:hover, .programacao-completa-button:focus-visible { background: #083f70; transform: translateY(-2px); box-shadow: 0 12px 24px rgba(11,79,138,.24); outline: none; }
.programacao-completa-button b { margin-left: 8px; }

.programacao-subbloco-voltar { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; margin: 0 0 18px; padding: 0 18px; border: 1px solid rgba(11,79,138,.18); border-radius: 12px; background: #fff; color: #0b4f8a; font: 800 14px/1 system-ui, sans-serif; cursor: pointer; box-shadow: 0 6px 16px rgba(4,35,70,.08); transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.programacao-subbloco-voltar:hover, .programacao-subbloco-voltar:focus-visible { background: #eef7ff; border-color: #0b4f8a; transform: translateY(-1px); outline: none; }
.programacao-detalhe-conteudo { display:grid; grid-template-columns:minmax(220px,330px) minmax(0,1fr); gap:28px; align-items:center; }
.programacao-detalhe-conteudo > img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:16px; box-shadow:0 12px 28px rgba(4,47,87,.17); }
.programacao-detalhe-copy > span { color:#ef651d; font-size:11px; font-weight:900; letter-spacing:1.3px; }
.programacao-detalhe-copy h3 { margin:7px 0 13px; color:#071f3b; font-size:clamp(27px,4vw,40px); line-height:1.08; }
.programacao-detalhe-copy p { margin:0; color:#29465e; font-size:clamp(17px,2vw,20px); line-height:1.65; }
.programacao-detalhe-copy small { display:block; margin-top:18px; color:#6a7c8e; font-size:12px; }

@media (max-width: 760px) {
  .programacao-novo-2026 { width:min(100% - 24px,1180px); margin:24px auto 32px; }
  .programacao-novos-cards { grid-template-columns:repeat(2,minmax(0,1fr)); overflow-x:visible; }
  .programacao-nossos-head { align-items:flex-start; flex-direction:column; }
  .programacao-subbloco { width:calc(100% - 24px); padding:16px; }
  .programacao-todos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .programacao-grade-conteudo .program-row { grid-template-columns:1fr; gap:4px; }
  .programacao-card-interativo > div { min-height:66px; padding:10px; }
  .programacao-detalhe-conteudo { grid-template-columns:1fr; gap:18px; }
  .programacao-detalhe-conteudo > img { width:min(100%,320px); margin:0 auto; }
  .programacao-destaque-2026 { grid-template-columns: 1fr; padding: 16px; gap: 16px; }
  .programacao-destaque-brand img { width: 50px; height: 50px; }
  .programacao-destaque-live { min-height: 210px; padding: 21px 30% 21px 21px; }
  .programacao-live-slogan { right:10%; top:18px; font-size:12px; width:86px; }
  .programacao-live-slogan em { font-size:18px; }
  .programacao-mic { right:4%; top:30%; width:42px; height:82px; }
  .programacao-destaque-pontos { flex-direction: column; gap: 7px; }
  .programacao-completa-card { align-items: stretch; flex-direction: column; padding: 20px; }
  .programacao-completa-button { width: 100%; }
}

.conteudos-voltar-site {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0 0 22px;
  padding: 0 18px;
  border: 1px solid rgba(11,79,138,.22);
  border-radius: 12px;
  background: #fff;
  color: #0b4f8a;
  font: 800 14px/1 system-ui, sans-serif;
  cursor: pointer;
  box-shadow: 0 7px 18px rgba(4,35,70,.10);
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.conteudos-voltar-site:hover,
.conteudos-voltar-site:focus-visible {
  background: #eef7ff;
  border-color: #0b4f8a;
  transform: translateY(-1px);
  outline: none;
}
body.conteudos-isolados .conteudos-voltar-site,
body.contents-focus .conteudos-voltar-site,
body.subtopico-conteudo-aberto .conteudos-voltar-site {
  display: inline-flex;
}
@media (max-width: 760px) {
  .conteudos-voltar-site {
    width: 100%;
  }
}


.adbrag-news-feed {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 20px;
  margin-top: 22px;
}

.adbrag-news-card {
  display: flex;
  min-width: 0;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(8, 65, 105, .14);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(2, 38, 65, .09);
}

.adbrag-news-cover {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.adbrag-news-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 18px;
}

.adbrag-news-meta {
  margin: 0 0 8px;
  color: #607589;
  font: 700 12px/1.35 system-ui, sans-serif;
}

.adbrag-news-meta span {
  color: #ff6b19;
  font-weight: 900;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.adbrag-news-content h3,
.adbrag-news-article h2 {
  margin: 0;
  color: #052b52;
  font: 850 22px/1.16 system-ui, sans-serif;
}

.adbrag-news-excerpt {
  margin: 10px 0 18px;
  color: #4d647c;
  font: 500 15px/1.55 system-ui, sans-serif;
}

.adbrag-news-read,
.adbrag-news-back {
  border: 0;
  border-radius: 10px;
  background: #eaf2fa;
  color: #052b52;
  cursor: pointer;
  font: 850 12px/1 system-ui, sans-serif;
  letter-spacing: .15px;
}

.adbrag-news-read {
  margin-top: auto;
  padding: 12px 14px;
}

.adbrag-news-back {
  justify-self: start;
  padding: 12px 15px;
}

.adbrag-news-read:hover,
.adbrag-news-back:hover {
  background: #dbeafd;
}

.adbrag-news-state {
  grid-column: 1 / -1;
  margin: 0;
  padding: 18px;
  border-radius: 12px;
  background: #eef5fb;
  color: #375570;
}

.adbrag-news-error {
  border-left: 4px solid #e24a3b;
}

.adbrag-news-detail {
  display: block;
}

.adbrag-news-detail-cover {
  display: block;
  width: 100%;
  max-height: 480px;
  margin-top: 18px;
  object-fit: cover;
  border-radius: 16px;
}

.adbrag-news-article {
  max-width: 860px;
  margin: 24px auto 0;
}

.adbrag-news-article h2 {
  font-size: clamp(28px, 4vw, 44px);
}

.adbrag-news-lead {
  margin: 14px 0 24px;
  color: #4d647c;
  font: 650 18px/1.55 system-ui, sans-serif;
}

.adbrag-news-paragraph {
  margin: 0 0 17px;
  color: #263f57;
  font: 450 17px/1.72 system-ui, sans-serif;
}

.adbrag-news-byline {
  margin: 26px 0 8px;
  color: #052b52;
  font: 750 14px/1.4 system-ui, sans-serif;
}

.adbrag-news-source {
  color: #087cc0;
  font: 700 14px/1.4 system-ui, sans-serif;
}

@media (max-width: 760px) {
  .adbrag-news-feed {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 18px;
  }

  .adbrag-news-cover {
    height: 190px;
  }

  .adbrag-news-content {
    padding: 16px;
  }

  .adbrag-news-detail-cover {
    max-height: 300px;
    border-radius: 12px;
  }

  .adbrag-news-article {
    margin-top: 20px;
  }

  .adbrag-news-article h2 {
    font-size: 29px;
  }

  .adbrag-news-lead {
    font-size: 17px;
  }

  .adbrag-news-paragraph {
    font-size: 16px;
  }
}


/* The existing next-program card is mounted inside the current live panel. */
#programacaoNovo2026 .adbrag-next-card {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 8px 14px;
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid rgba(69, 220, 255, .3);
  color: #fff;
  min-width: 0;
}
#programacaoNovo2026 .adbrag-next-label {
  grid-column: 1 / -1;
  color: #57f2bf;
  font: 850 14px/1.3 system-ui, sans-serif;
  letter-spacing: 1px;
}
#programacaoNovo2026 #adbragNextImage {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: contain;
  border-radius: 10px;
}
#programacaoNovo2026 .adbrag-next-info {
  min-width: 0;
  overflow-wrap: anywhere;
}
#programacaoNovo2026 #adbragNextTitle {
  display: block;
  margin: 0 0 5px;
  font: 850 18px/1.25 system-ui, sans-serif;
}
#programacaoNovo2026 #adbragNextTime,
#programacaoNovo2026 #adbragNextPresenter {
  display: block;
  margin-top: 4px;
  color: #d9e7f3;
  font: 500 14px/1.35 system-ui, sans-serif;
}
#programacaoNovo2026 [hidden] { display: none !important; }
@media (max-width: 650px) {
  #programacaoNovo2026 .programacao-live-substituto { padding: 9px; }
  #programacaoNovo2026 .programacao-card-compacto-inner {
    grid-template-columns: minmax(0, 1fr) 96px;
    padding: 18px 14px;
    gap: 16px 12px;
    min-height: 0;
  }
  #programacaoNovo2026 .programacao-card-compacto-copy > strong {
    font-size: clamp(22px, 6vw, 30px);
  }
  #programacaoNovo2026 .programacao-card-compacto-inner > img { width: 96px; }
  #programacaoNovo2026 .adbrag-next-card { gap: 8px 12px; }
}

/* Bloco principal de programação mais compacto — desktop e celular */
#programacaoNovo2026 .programacao-destaque-2026 {
  width: min(100%, 1040px);
  margin: 0 auto 20px;
  padding: 18px 20px;
  grid-template-columns: minmax(0, .95fr) minmax(320px, .82fr);
  gap: 18px;
  border-radius: 18px;
}
#programacaoNovo2026 .programacao-destaque-brand { gap: 11px; }
#programacaoNovo2026 .programacao-destaque-brand img { width: 50px; height: 50px; }
#programacaoNovo2026 .programacao-destaque-brand span { margin-bottom: 3px; font-size: 10px; }
#programacaoNovo2026 .programacao-destaque-brand h3 { font-size: clamp(25px, 3.2vw, 38px); }
#programacaoNovo2026 .programacao-destaque-copy > p { margin: 10px 0 12px; font-size: 14px; line-height: 1.4; }
#programacaoNovo2026 .programacao-destaque-pontos { gap: 7px 12px; font-size: 10px; }
#programacaoNovo2026 .programacao-live-substituto { padding: 8px; border-radius: 18px; }
#programacaoNovo2026 .programacao-live-substituto .programacao-card-compacto-inner {
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 16px;
  min-height: 205px;
  padding: 18px 20px;
  border-radius: 16px;
}
#programacaoNovo2026 .programacao-card-compacto-label { gap: 7px; margin-bottom: 10px; font-size: 11px; }
#programacaoNovo2026 .programacao-card-compacto-label i { width: 8px; height: 8px; }
#programacaoNovo2026 .programacao-card-compacto-copy > strong { margin-bottom: 9px; font-size: clamp(24px, 3vw, 36px); line-height: 1.04; }
#programacaoNovo2026 .programacao-card-compacto-copy > span:not(.programacao-card-compacto-label) { margin-top: 4px; font-size: 13px; }
#programacaoNovo2026 .programacao-card-compacto-inner > img { width: 150px; border-radius: 12px; }
#programacaoNovo2026 .programacao-card-compacto-eq { width: 62px; height: 25px; margin-top: 11px; gap: 4px; }
#programacaoNovo2026 .programacao-card-compacto-eq b { width: 4px; }
#programacaoNovo2026 .adbrag-next-card { grid-template-columns: 54px minmax(0, 1fr); gap: 6px 10px; margin-top: 2px; padding-top: 10px; }
#programacaoNovo2026 .adbrag-next-label { font-size: 11px; }
#programacaoNovo2026 #adbragNextImage { width: 54px; height: 54px; border-radius: 8px; }
#programacaoNovo2026 #adbragNextTitle { margin-bottom: 3px; font-size: 15px; }
#programacaoNovo2026 #adbragNextTime,
#programacaoNovo2026 #adbragNextPresenter { margin-top: 2px; font-size: 12px; }

@media (max-width: 760px) {
  #programacaoNovo2026.programacao-novo-2026 { width: min(100% - 16px, 1040px); margin-top: 16px; margin-bottom: 22px; }
  #programacaoNovo2026 .programacao-destaque-2026 {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 10px;
    border-radius: 15px;
  }
  #programacaoNovo2026 .programacao-destaque-brand img { width: 40px; height: 40px; }
  #programacaoNovo2026 .programacao-destaque-brand span { font-size: 9px; letter-spacing: 1.1px; }
  #programacaoNovo2026 .programacao-destaque-brand h3 { font-size: clamp(24px, 7vw, 31px); }
  #programacaoNovo2026 .programacao-destaque-copy > p { margin: 7px 0 9px; font-size: 13px; line-height: 1.35; }
  #programacaoNovo2026 .programacao-destaque-pontos { flex-direction: row; gap: 5px 9px; font-size: 9px; }
  #programacaoNovo2026 .programacao-live-substituto { padding: 5px; border-radius: 14px; }
  #programacaoNovo2026 .programacao-live-substituto .programacao-card-compacto-inner {
    grid-template-columns: minmax(0, 1fr) 78px;
    gap: 9px 10px;
    min-height: 0;
    padding: 12px;
    border-radius: 12px;
  }
  #programacaoNovo2026 .programacao-card-compacto-label { margin-bottom: 7px; font-size: 10px; }
  #programacaoNovo2026 .programacao-card-compacto-copy > strong { margin-bottom: 6px; font-size: clamp(20px, 6vw, 26px); }
  #programacaoNovo2026 .programacao-card-compacto-copy > span:not(.programacao-card-compacto-label) { margin-top: 2px; font-size: 11px; }
  #programacaoNovo2026 .programacao-card-compacto-inner > img { width: 78px; border-radius: 9px; }
  #programacaoNovo2026 .programacao-card-compacto-eq { width: 52px; height: 20px; margin-top: 7px; gap: 3px; }
  #programacaoNovo2026 .adbrag-next-card { grid-template-columns: 44px minmax(0, 1fr); gap: 5px 8px; padding-top: 8px; }
  #programacaoNovo2026 .adbrag-next-label { font-size: 10px; }
  #programacaoNovo2026 #adbragNextImage { width: 44px; height: 44px; }
  #programacaoNovo2026 #adbragNextTitle { font-size: 13px; line-height: 1.18; }
  #programacaoNovo2026 #adbragNextTime,
  #programacaoNovo2026 #adbragNextPresenter { font-size: 10px; line-height: 1.25; }
}

@media (min-width:761px) and (max-width:1100px) { .programacao-novos-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Cloudflare migration: preserve v91 local hero asset and preview visual fixes */
.hero-bg{background-image:url('./site-assets/pai_com_a_filha%20(1).png')!important;background-position:center top!important}.programacao-modelo-final-bg{display:none!important}@media(min-width:761px){.hero-bg{height:560px!important}}@media(max-width:760px){.header,.header-inner{height:auto!important}.header-inner{min-height:86px!important;padding:12px 0 14px!important}.header .nav{position:relative!important;width:100%!important;margin:0!important;padding-top:8px!important;justify-content:center!important;gap:4px 8px!important}.header .nav a{font-size:12px!important;padding:6px 7px!important}.header .nav .media-menu-toggle{font-size:12px!important;padding:6px 7px!important}.hero{margin-top:0!important}.hero-bg{background-image:url('./site-assets/pai_com_a_filha%20(1).png')!important;background-position:center center!important}.hero-verse{top:12px!important;right:12px!important;max-width:160px!important;font-size:14px!important}}

/* Requested effects are restricted to the program badges. */
#novoProgramasCards button.program-card-enter {
  animation: featuredCardEnter .45s ease-out both !important;
}
#novoProgramasCards button[data-live-status="current"] {
  animation: featuredOnAirPulse 2.4s ease-in-out infinite !important;
}
#novoProgramasCards button[data-live-status="current"].program-card-enter {
  animation: featuredCardEnter .45s ease-out both, featuredOnAirPulse 2.4s ease-in-out .45s infinite !important;
}
#novoProgramasCards button[data-live-status="current"]::after { animation:adbragBadgePulse 2.6s ease-in-out infinite !important; }
#novoProgramasCards button[data-live-status="next"]::after {
  background-image:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.38) 50%,transparent 70%) !important;
  background-size:250% 100% !important;
  animation:adbragBadgeShine 3.5s ease-in-out infinite !important;
}
@keyframes adbragBadgePulse { 0%,100% { opacity:1; box-shadow:0 2px 9px #001a3588; } 50% { opacity:.82; box-shadow:0 0 12px #008c8280; } }
@keyframes adbragBadgeShine { 0%,25% { background-position:150% 0; } 75%,100% { background-position:-150% 0; } }
.hero-media { position:absolute; inset:0; z-index:0; pointer-events:none; }
.hero-media-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:0; transition:opacity 1s ease; }
.hero-media-slide.is-visible { opacity:1; z-index:1; }
.hero-media-slide.is-entering { opacity:1; z-index:2; }

.hero-bg::before { z-index:1; pointer-events:none; }
#weatherWidget form { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
#weatherWidget label { flex-basis:100%; font-weight:700; }
#weatherWidget input { flex:1 1 180px; min-width:0; padding:12px; border:1px solid #b9c9d9; border-radius:8px; font:inherit; }
#weatherWidget button { padding:12px 16px; border:0; border-radius:8px; background:#0b4f8a; color:#fff; font:inherit; cursor:pointer; }
#weatherWidget [data-weather-results] { display:grid; gap:8px; }
#weatherWidget :focus-visible { outline:3px solid #ff9e21; outline-offset:3px; }
/* Empty service introductions remain hidden even after legacy panel updates. */
#serviceDetailText:empty { display:none !important; }

/* Fade confined to the lower edge; text and links remain above it. */
.hero-bg::after { content:""; position:absolute; inset:auto 0 0; height:clamp(18px,4vw,48px); z-index:1; pointer-events:none; background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.3) 46%,#fff); }
.hero-bg .hero-media-slide { object-fit:cover; object-position:center 42%; }
.hero-bg .hero-media-slide:nth-child(1) { object-position:center 32%; }
.hero-bg .hero-media-slide:nth-child(4) { object-position:65% 42%; }
@media (max-width:760px) {
  .hero-bg .hero-media-slide:nth-child(1) { object-position:58% center; }
  .hero-bg .hero-media-slide:nth-child(2) { object-position:74% center; }
  .hero-bg .hero-media-slide:nth-child(4) { object-position:85% center; }
}
:root { --vlibras-btn-focus-visible-outline:3px solid #ff9e21; }

/* Only the video slide: full original frame over a blurred copy of itself. */
.hero-video-slide { overflow:hidden; }
.hero-video-slide video { position:absolute; width:100%; height:100%; inset:0; object-position:center; }
.hero-video-slide .hero-video-backdrop { object-fit:cover; filter:blur(20px); transform:scale(1.08); }
.hero-video-slide .hero-video-main { object-fit:contain; }
@media (max-width:760px) {
  .hero-video-slide .hero-video-backdrop { filter:blur(12px); transform:scale(1.06); }
  .hero-video-slide .hero-video-main { object-fit:contain; object-position:center center; }
}

/* Second photo: preserve the complete frame over its own blurred background. */
.hero-photo-full { overflow:hidden; }
.hero-photo-full img { position:absolute; inset:0; width:100%; height:100%; object-position:center; }
.hero-photo-full .hero-photo-backdrop { object-fit:cover; filter:blur(20px); transform:scale(1.08); }
.hero-photo-full .hero-photo-main { object-fit:contain; }
@media (max-width:760px) {
  .hero-photo-full .hero-photo-backdrop { filter:blur(12px); transform:scale(1.06); }
}

/* Contribution card beside the contact card. */
#serviceSelector [data-service="contato"] { grid-column:1; }
#serviceSelector .contribution-card { grid-column:span 2; }
#serviceSelector .contribution-card h4 { font-size:clamp(20px,2.1vw,26px); line-height:1.25; }
#serviceSelector .contribution-card p { font-size:18px; line-height:1.6; max-width:65ch; }
#serviceSelector .contribution-card .service-open { font-size:17px; }
.radio-contribution-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,350px); gap:28px; align-items:center; padding:24px; background:#fff; border:1px solid #dce5ef; border-radius:16px; }
.radio-contribution-panel h5 { font-size:24px; margin:0 0 16px; }
.radio-contribution-panel p,.radio-contribution-panel figcaption { font-size:18px; line-height:1.6; }
.radio-contribution-panel figure { margin:0; text-align:center; }
.radio-contribution-panel img { width:100%; max-width:330px; height:auto; display:block; margin:auto; }
@media(max-width:980px) { #serviceSelector .contribution-card { grid-column:1 / -1; } }
@media(max-width:760px) { .radio-contribution-panel { grid-template-columns:1fr; padding:16px; } }

/* Blend the complete family photo into the banner background. */
.hero-bg .hero-media-slide:first-child.hero-photo-full .hero-photo-main {
 inset:auto; top:0; left:50%; width:auto; max-width:100%; height:100%; transform:translateX(-50%); object-fit:contain;
 -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 17%,#000 94%,transparent 100%);
 mask-image:linear-gradient(to right,transparent 0%,#000 17%,#000 94%,transparent 100%);
}
.hero-bg::before { background:linear-gradient(90deg,rgba(3,37,59,.9) 0%,rgba(3,37,59,.76) 22%,rgba(3,37,59,.48) 40%,rgba(3,37,59,.15) 58%,rgba(3,37,59,0) 76%) !important; }

/* Complete mission artwork with a working contribution action. */
#serviceSelector .contribution-card {
 position:relative; display:block; padding:0; height:auto; min-height:0;
 overflow:hidden; background:#edf5ff; isolation:isolate;
}
#serviceSelector .contribution-card::after { content:none; }
#serviceSelector .contribution-card .contribution-art {
 display:block; position:static; width:100%; height:auto;
 object-fit:contain; transform:none;
}
#serviceSelector .contribution-card .contribution-copy {
 position:absolute; inset:0; width:100%; height:100%; overflow:visible; clip-path:none;
}
#serviceSelector .contribution-card .contribution-copy .ico,
#serviceSelector .contribution-card .contribution-copy h4,
#serviceSelector .contribution-card .contribution-copy p {
 position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%);
}
#serviceSelector .contribution-card .service-open {
 position:absolute; left:8.1%; top:74.6%; width:49.7%; height:12.3%;
 display:flex; align-items:center; justify-content:center; box-sizing:border-box;
 padding:0 4px; margin:0; border:2px solid #ffb03e; border-radius:clamp(10px,3vw,24px);
 background:linear-gradient(135deg,#ff9200,#ff6500); color:#fff;
 font-size:clamp(12px,2.1vw,26px); font-weight:800; white-space:nowrap;
}
#serviceSelector .contribution-card:focus-visible { outline:3px solid #ff7800; outline-offset:4px; }
@media(min-width:761px) { #serviceSelector .service-btn { min-height:190px; } #serviceSelector .contribution-card { min-height:0; } }

/* Compact donation details while keeping the QR code readable. */
.radio-contribution-panel { max-width:760px; margin:16px auto 0; grid-template-columns:minmax(0,1fr) 220px; gap:20px; padding:18px; }
.radio-contribution-panel h5 { font-size:21px; margin-bottom:10px; }
.radio-contribution-panel p { font-size:16px; line-height:1.45; margin:8px 0; }
.radio-contribution-panel img { width:220px; max-width:100%; }
.radio-contribution-panel figcaption { font-size:14px; line-height:1.4; margin-top:8px; }
@media(max-width:600px) { .radio-contribution-panel { grid-template-columns:1fr; max-width:400px; } }

/* Uploaded video gallery */
.media-slot video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#07182a;border-radius:12px;margin-bottom:12px}

/* Smaller complete mission card, with the action aligned to its artwork. */
#serviceSelector .contribution-card { align-self:start; background:#edf5ff; }
#serviceSelector .contribution-card .contribution-art { width:100%; max-width:480px; margin:0 auto; }
#serviceSelector .contribution-card .contribution-copy { inset:0; max-width:480px; margin:0 auto; }
#serviceSelector .contribution-card .service-open { font-size:clamp(12px,1.6vw,18px); }

/* Hide the legacy white equalizer; keep the current colored visualizer. */
.adbrag-mini-equalizer-v2 { display:none !important; }
