/* global React, Button, Eyebrow, Flower, Icon, GCMark, SectionHead, QuoteBand, ManifestoBand, PageHero, PlainHero, LaunchCTA, TriadGrid, EditorialSplit */
// Espalhe Gardênias — Imprensa / Contato
const { useState: useStateC } = React;

const WRAP_C = { maxWidth: 1280, margin: "0 auto", padding: "clamp(64px,9vw,104px) clamp(24px,5vw,40px)" };

/* ============================================================ IMPRENSA */
function ImprensaScreen({ onNav }) {
  const categorias = [
    { i: "tv", t: "TV", d: "Participações, entrevistas e programas especiais.", b: "Ver matérias", itens: [
      { v: "Camarote da Fofoca | Leo Dias TV", dt: "17.02.26", p: "Entrevista — Musa da Grande Rio", u: "https://www.youtube.com/live/2b4RbD85tYY?si=g-1oIwr_P9DivAJ3" },
      { v: "Camarote da Fofoca | Leo Dias TV — Instagram", dt: "17.02.26", p: "Entrevista — Musa da Grande Rio", u: "https://www.instagram.com/reel/DU33y9FgVBn/" },
      { v: "Portal IG — YouTube", dt: "15.02.26", p: "Entrevista — Carnaval 2026", u: "https://www.youtube.com/shorts/DDbgVMX_sSU" },
      { v: "Portal IG — TikTok", dt: "15.02.26", p: "Entrevista — Carnaval 2026", u: "https://www.tiktok.com/@portal_ig/video/7607686654349888788" },
      { v: "Portal IG — Facebook", dt: "15.02.26", p: "Entrevista — Carnaval 2026", u: "https://www.facebook.com/share/v/1Ddxpeta63/" },
    ] },
    { i: "newspaper", t: "Portais e revistas", d: "Reportagens, artigos e matérias sobre sua trajetória e projetos.", b: "Ver publicações", itens: [
      { v: "Blup Blog Line Up", dt: "19.01.26", p: "Band Verão — Estreia", u: "https://blup.lineup.tv.br/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao/" },
      { v: "Trambicast", dt: "19.01.26", p: "Band Verão — Estreia", u: "https://www.trambicast.com.br/2026/01/gardenia-cavalcanti-reassume-o-band.html" },
      { v: "The Date News", dt: "20.01.26", p: "Band Verão — Estreia", u: "https://thedatenews.com.br/gardenia-cavalcanti-reassume-band-verao-2026-e-amplia-protagonismo-na-emissora/" },
      { v: "Leandro Batista", dt: "20.01.26", p: "Band Verão — Estreia", u: "https://www.leandrobatistarp.com.br/noticias/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao" },
      { v: "Cellebriway", dt: "20.01.26", p: "Band Verão — Estreia", u: "https://cellebriway.com.br/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao/" },
      { v: "Elisangela Ribeiro", dt: "20.01.26", p: "Band Verão — Estreia", u: "https://www.elisangelaribeiro.com.br/news/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao/" },
      { v: "O Universo da TV", dt: "21.01.26", p: "Band Verão — Estreia", u: "https://www.ouniversodatv.com/2026/01/gardenia-cavalcanti-apresenta-nova.html?m=1" },
      { v: "Portal Felipeh Campos", dt: "21.01.26", p: "Band Verão — Estreia", u: "https://felipehcampos.com.br/noticia/9311/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao" },
      { v: "Sou Mais Pop", dt: "22.01.26", p: "Band Verão — Estreia", u: "https://share.google/KpaEC7UUqsjgsRwmH" },
      { v: "Invoga", dt: "23.01.26", p: "Band Verão — Estreia", u: "https://invoga.com.br/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao/" },
      { v: "Portal Leo Dias", dt: "23.01.26", p: "Band Verão — Estreia", u: "https://portalleodias.com/famosos/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao" },
      { v: "Canal dos Famosos", dt: "23.01.26", p: "Band Verão — Estreia", u: "https://portalcaicara.com.br/tv/gardenia-cavalcanti-apresenta-nova-temporada-do-band-verao/" },
      { v: "Yaconews", dt: "23.01.26", p: "Band Verão — Estreia", u: "https://yaconews.com/2026/01/gardenia-cavalcanti-comanda-nova-temporada-do-band-verao/" },
      { v: "Portal da TV", dt: "26.01.26", p: "Band Verão — Estreia", u: "https://portaldatv.com.br/gardenia-cavalcanti-apresenta-nova-temporada-do-band-verao/" },
      { v: "Portal Leo Dias", dt: "30.01.26", p: "Band Verão — 2º dia", u: "https://portalleodias.com/tv/luan-santana-lauana-prado-e-natanzinho-lima-serao-atracoes-do-band-verao-2026" },
      { v: "Blup Blog Line Up", dt: "30.01.26", p: "Band Verão — 2º dia", u: "https://blup.lineup.tv.br/gardenia-cavalcanti-recebe-luan-santana-lauana-prado-e-natanzinho-lima-no-band-verao-desta-sexta-30/" },
      { v: "Alex Ferraz", dt: "30.01.26", p: "Band Verão — 2º dia", u: "https://alexferraz.com.br/2026/01/30/band-verao-recebe-luan-santana-lauana-prado-e-natanzinho/" },
      { v: "Jornal de Brasília", dt: "30.01.26", p: "Band Verão — 2º dia", u: "https://jornaldebrasilia.com.br/entretenimento/katia-flavia/gardenia-cavalcanti-reune-luan-santana-lauana-prado-e-natanzinho-lima-e-transforma-o-band-verao/" },
      { v: "Cidade Cult", dt: "30.01.26", p: "Band Verão — 2º dia", u: "https://cidadecult.com.br/?p=16228" },
      { v: "Universo da TV", dt: "30.01.26", p: "Band Verão — 2º dia", u: "https://www.ouniversodatv.com/2026/01/band-verao-desta-sexta-reune-luan.html" },
      { v: "Universo da TV", dt: "18.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://www.ouniversodatv.com/2026/03/vem-com-gente-recebe-rosamaria-murtinho.html?m=1" },
      { v: "Super Life Brasil", dt: "19.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://superlifebrasil.com.br/noticia/9207/gardenia-cavalcanti-recebe-rosamaria-murtinho-no-lvem-com-a-genter-desta-quarta-18" },
      { v: "Portal Tô na Mídia", dt: "19.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://tonamidia.com.br/gardenia-cavalcanti-recebe-rosamaria-murtinho-no-vem-com-a-gente/" },
      { v: "Portal CL News", dt: "19.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://www.clnews.com.br/2026/03/gardenia-cavalcanti-recebe-rosamaria-murtinho-no-vem-com-a-gente.html?m=1" },
      { v: "Jornal Tudo Aqui", dt: "19.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://jornaltudoaqui.com.br/variedades/gardenia-cavalcanti-recebe-rosamaria-murtinho-no-vem-com-a-gente-desta-quarta-18" },
      { v: "Portal João Brodt", dt: "19.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://portaljoaobrodt.com.br/noticia/511" },
      { v: "Revista Portfolio", dt: "20.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://www.revistaportfolio.com.br/post_ver/na-pauta/2026/03/20/gardenia-cavalcanti-recebeu-rosamaria-murtinho-no-programa-vem-com-a-gente-da-band-rio" },
      { v: "Portal Leandro Batista", dt: "20.03.26", p: "Gardênia recebe Rosamaria Murtinho", u: "https://www.leandrobatistarp.com.br/noticias/gardenia-cavalcanti-recebe-rosamaria-murtinho-no-vem-com-a-gente-desta-quarta-18" },
      { v: "Blog Cultura e Futebol", dt: "20.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://bcfblogculturaefutebol.blogspot.com/2026/03/gardenia-cavalcanti-recebe-larissa-maciel-e-roney-villela-no-vem-com-a-gente.html" },
      { v: "Portal Elisangela Ribeiro", dt: "20.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://www.elisangelaribeiro.com.br/news/gardenia-cavalcanti-recebe-larissa-maciel-e-roney-villela-no-vem-com-a-gente/" },
      { v: "Super Life Brasil", dt: "20.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://superlifebrasil.com.br/noticia/9219/gardenia-cavalcanti-recebe-larissa-maciel-e-roney-villela-no-vem-com-a-gente" },
      { v: "Jornal Tudo Aqui", dt: "20.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://jornaltudoaqui.com.br/variedades/gardenia-cavalcanti-recebe-larissa-maciel-e-roney-villela-no-vem-com-a-gente" },
      { v: "Portal João Brodt", dt: "20.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://portaljoaobrodt.com.br/noticia/515" },
      { v: "O Universo da TV", dt: "22.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://www.ouniversodatv.com/2026/03/vem-com-gente-destaca-espetaculo-fim-de.html" },
      { v: "Tô na Fama", dt: "23.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://tonafama.ig.com.br/gardenia-cavalcanti-recebeu-larissa-maciel-e-roney-villela-no-vem-com-a-gente/" },
      { v: "Portal Leandro Batista", dt: "23.03.26", p: "Gardênia recebe Larissa Maciel e Roney Villela", u: "https://www.leandrobatistarp.com.br/noticias/gardenia-cavalcanti-recebe-larissa-maciel-e-roney-villela-no-vem-com-a-gente" },
    ] },
    { i: "mic", t: "Podcasts e entrevistas", d: "Conversas inspiradoras sobre carreira, propósito, empreendedorismo e vida.", b: "Ver entrevistas", itens: [
      { v: "Fábia Oliveira | Metrópoles", dt: "03.02.26", p: "A mulher por trás da TV — trajetória", u: "https://www.metropoles.com/colunas/fabia-oliveira/a-mulher-por-tras-da-tv-gardenia-cavalcanti-e-sua-trajetoria" },
      { v: "Portal Maltanet", dt: "15.02.26", p: "Entrevista — História de superação", u: "https://www.maltanet.com.br/v2/noticias/2026/02/15/historia-de-superacao-marca-trajetoria-da-santanense--gardenia-cavalcanti-que-sera-homenageada-no-rio" },
      { v: "Portal IG", dt: "17.02.26", p: "Entrevista — Homenagem histórica da Tradição", u: "https://gente.ig.com.br/carnaval/2026-02-17/gardenia-cavalcanti-celebra-homenagem-historica-da-tradicao.html" },
      { v: "Portal Na Telinha (UOL)", dt: "26.03.26", p: "Matéria — perfil", u: "https://natelinha.uol.com.br/espelho-meu/2026/03/26/gardenia-cavalcanti-apresentadora-da-band-rio-transforma-dor-em-forca-e-vira-referencia-239808.php" },
      { v: "Revista Beauté (RJ)", dt: "17.04.26", p: "Empoderamento feminino", u: "https://canva.link/nbkl0ypf8zvjx2n" },
      { v: "Revista Invoga", dt: "22.04.26", p: "Matéria sobre emagrecimento", u: "https://www.instagram.com/invogasaude/p/DXcr8L0CZk1/" },
      { v: "Canal do Vannucci — Revista de Sábado", dt: "Em agendamento", p: "Entrevista", u: null },
    ] },
    { i: "camera", t: "Eventos e coberturas", d: "Presença em lançamentos, premiações, encontros corporativos e eventos de relevância nacional.", b: "Ver coberturas", itens: [
      { v: "Portfolio", dt: "28.01.26", p: "Ensaio da Grande Rio", u: "https://revistaportfolio.com.br/post_ver/na-pauta/2026/01/28/musa-da-grande-rio-gardenia-cavalcanti-mostra-forca-e-samba-no-pe-em-ensaio-na-quadra" },
      { v: "Jornal de Brasília", dt: "28.01.26", p: "Ensaio da Grande Rio", u: "https://jornaldebrasilia.com.br/entretenimento/katia-flavia/gardenia-cavalcanti-pisa-forte-no-ensaio-da-grande-rio-e-transforma-a-quadra-num-capitulo-epico-de-novela-carnavalesca/" },
      { v: "Alex Ferraz", dt: "28.01.26", p: "Ensaio da Grande Rio", u: "https://alexferraz.com.br/2026/01/28/gardenia-cavalcanti-brilha-em-ensaio-da-grande-rio-na-quadra/" },
      { v: "Portal Preta Joia", dt: "28.01.26", p: "Ensaio da Grande Rio", u: "https://www.pretajoia.com/2026/01/musa-da-grande-rio-gardenia-cavalcanti.html?m=1" },
      { v: "Alex Ferraz", dt: "09.02.26", p: "Último ensaio da Grande Rio", u: "https://alexferraz.com.br/2026/02/09/na-chuva-gardenia-brilha-no-ultimo-ensaio-da-grande-rio/" },
      { v: "Portal Preta Joia", dt: "09.02.26", p: "Último ensaio da Grande Rio", u: "https://www.pretajoia.com/2026/02/gardenia-cavalcanti-brilha-na-sapucai.html" },
      { v: "Marramaque", dt: "09.02.26", p: "Último ensaio da Grande Rio", u: "https://marramaque.jor.br/2026/02/gardenia-cavalcanti-brilha-na-sapucai/" },
      { v: "Portal Jornal 1", dt: "09.02.26", p: "Último ensaio da Grande Rio", u: "https://www.jornal1.net/news/gardenia-cavalcanti-brilha-na-sapucai-no-ultimo-ensaio-tecnico-da-grande-rio-sob-chuva-intensa/" },
      { v: "Aurora Cultural", dt: "09.02.26", p: "Último ensaio da Grande Rio", u: "https://auroracultural.com/noticias/eventos/carnaval/sob-chuva-gardenia-cavalcanti-emociona-em-ensaio-da-grande-rio/amp/" },
      { v: "Portal Maltanet", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://www.maltanet.com.br/v2/noticias/2026/02/14/do-sertao-de-alagoas-para-o-carnaval-carioca--gardenia-cavalcanti-e-enredo-pela-tradicao" },
      { v: "Tribuna Hoje", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://tribunahoje.com/noticias/entretenimento/2026/02/14/178171-apresentadora-alagoana-gardenia-cavalcanti-sera-homenageada-no-carnaval-2026" },
      { v: "Correio dos Municípios", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://correiodosmunicipios-al.com.br/geral/2026/02/14/180524-do-sertao-de-alagoas-para-o-carnaval-carioca-gardenia-cavalcanti-e-enredo-pela-tradicao" },
      { v: "Gazeta Web", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://www.gazetaweb.com/noticias/geral/alagoana-de-santana-do-ipanema-vira-enredo-no-carnaval-do-rio-881215" },
      { v: "Agora Alagoas", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://agoraalagoas.com/sertaneja-de-alagoas-e-homenageada-em-desfile-no-rio-de-janeiro/" },
      { v: "Em Tempo Notícias", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://emtemponoticias.com.br/noticias/alagoas/do-sertao-a-avenida-alagoana-vira-enredo-no-carnaval-do-rio/" },
      { v: "Portal O Candeeiro", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://www.jornalocandeeiro.com.br/noticia-50098-gardeniacavalcantieenredodatradicaonocarnaval2026" },
      { v: "Portal Lazcult", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://lazcult.com.br/2026/02/14/enredos-do-carnaval-2026-no-rio-destacam-identidade-cultura-e-representatividade/" },
      { v: "Portal IG", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://gente.ig.com.br/2026-02-14/escola-de-samba-tradicao-homenageia-gardenia-cavalcanti.html" },
      { v: "Portal AL1", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://al1.com.br/noticias/noticias/186828-do-sertao-de-alagoas-para-o-carnaval-carioca-gardenia-cavalcanti-e-enredo-pela-tradicao" },
      { v: "Aurora Cultural", dt: "14.02.26", p: "Desfile da Tradição — pré", u: "https://auroracultural.com/noticias/eventos/carnaval/gardenia-cavalcanti-vira-enredo-de-escola-de-samba-no-rio/" },
      { v: "Tribuna do Agreste", dt: "16.02.26", p: "Desfile da Tradição — pós", u: "https://www.tribunadoagreste.com.br/variedades/2026/02/16/858903-gardenia-cavalcanti-e-homenageada-pela-tradicao-e-leva-santana-do-ipanema-al-ao-carnaval-carioca" },
      { v: "Portal AL1", dt: "16.02.26", p: "Desfile da Tradição — pós", u: "https://al1.com.br/noticias/noticias/186902-gardenia-cavalcanti-e-homenageada-pela-tradicao-e-leva-santana-do-ipanema-al-ao-carnaval-carioca" },
      { v: "Aurora Cultural", dt: "16.02.26", p: "Desfile da Tradição — pós", u: "https://auroracultural.com/noticias/eventos/carnaval/gardenia-cavalcanti-vira-enredo-de-escola-de-samba-no-rio-2/" },
      { v: "Portal Gazeta Web", dt: "16.02.26", p: "Desfile da Tradição — pós", u: "https://www.gazetaweb.com/noticias/brasil/veja-como-foi-a-homenagem-a-alagoana-que-levou-o-nome-de-santana-do-ipanema-ao-carnaval-do-rio-881413" },
      { v: "Portal Rádio Sampaio", dt: "17.02.26", p: "Desfile da Tradição — pós", u: "https://radiosampaio.com.br/alagoana-e-homenageada-no-carnaval-e-leva-nome-de-santana-do-ipanema-a-avenida/" },
      { v: "Portal 7 Segundos", dt: "17.02.26", p: "Desfile da Tradição — pós", u: "https://www.7segundos.com.br/arapiraca/noticias/2026/02/17/294355-alagoana-vira-enredo-e-emociona-publico-ao-ter-historia-contada-em-desfile-no-rio" },
      { v: "Portal Ibotirama", dt: "17.02.26", p: "Desfile da Tradição — pós", u: "https://ibotirama.news/gardenia-cavalcanti-celebra-homenagem-historica-da-tradicao/" },
      { v: "Portal Maltanet", dt: "17.02.26", p: "Desfile da Tradição — pós", u: "https://www.maltanet.com.br/v2/noticias/2026/02/17/gardenia-cavalcanti-e-homenageada-pela-tradicao-e-leva-santana-do-ipanema--al--ao-carnaval-carioca" },
      { v: "Alagoas na Net", dt: "17.02.26", p: "Desfile da Tradição — pós", u: "https://www.alagoasnanet.com.br/noticia/13112/santana-do-ipanema/noticias/veja-como-foi-a-homenagem-a-alagoana-que-levou-o-nome-de-santana-do-ipanema-ao-carnaval-do-rio.html" },
      { v: "Portfolio", dt: "18.02.26", p: "Desfile — Musa da Grande Rio", u: "https://www.revistaportfolio.com.br/post_ver/na-pauta/2026/02/18/gardenia-cavalcanti-brilha-como-musa-da-grande-rio-em-desfile-inspirado-no-manguebeat" },
      { v: "Trambicast", dt: "18.02.26", p: "Desfile — Musa da Grande Rio", u: "https://www.trambicast.com.br/2026/02/gardenia-cavalcanti-desfila-como-musa.html" },
      { v: "Portal Preta Joia", dt: "18.02.26", p: "Desfile — Musa da Grande Rio", u: "https://www.pretajoia.com/2026/02/carnaval-2026-musa-da-grande-rio.html" },
      { v: "Aurora Cultural", dt: "18.02.26", p: "Desfile — Musa da Grande Rio", u: "https://auroracultural.com/espanol/carnaval-espanol/gardenia-cavalcanti-deslumbra-como-musa-de-grande-rio-en-el-manguebeat/" },
      { v: "Portal Show Vip", dt: "18.02.26", p: "Desfile — Musa da Grande Rio", u: null },
      { v: "Portal Afina Menina", dt: "18.02.26", p: "Desfile — Musa da Grande Rio", u: "https://afinamenina.com.br/2026/02/18/musa-da-grande-rio-gardenia-cavalcanti-brilha-no-carnaval-2026-com-desfile-manguebeat/" },
      { v: "Portal da TV", dt: "26.02.26", p: "Pré-estreia do filme A Miss", u: "https://portaldatv.com.br/gardenia-cavalcanti-estreia-nos-cinemas-e-celebra-o-lancamento-do-filme-a-miss/" },
      { v: "Blup Blog Line Up", dt: "26.02.26", p: "Pré-estreia do filme A Miss", u: "https://blup.lineup.tv.br/gardenia-cavalcanti-estreia-no-cinema-em-a-miss/" },
      { v: "Aurora Cultural", dt: "26.02.26", p: "Pré-estreia do filme A Miss", u: "https://auroracultural.com/noticias/cinema/gardenia-cavalcanti-brilha-no-cinema-em-a-miss/" },
      { v: "Portal Lazcult", dt: "26.02.26", p: "Pré-estreia do filme A Miss", u: "https://lazcult.com.br/2026/02/26/a-miss-estreia-nos-cinemas-e-leva-concursos-de-beleza-ao-centro-do-debate/" },
      { v: "Portal Filmes com Batata", dt: "27.02.26", p: "Pré-estreia do filme A Miss", u: "https://filmescombatata.com.br/veja-o-trailer-gardenia-cavalcanti-estreia-no-cinema-em-a-miss/" },
      { v: "Portal JWave", dt: "27.02.26", p: "Pré-estreia do filme A Miss", u: "https://www.jwave.com.br/2026/02/gardenia-cavalcanti-faz-estreia-no-cinema-em-a-miss-novo-filme-brasileiro/" },
    ] },
  ];
  const [aberta, setAberta] = useStateC(null);
  const tabs = [
    { k: "bio", t: "Biografia", d: "A trajetória completa de Gardênia Cavalcanti: das origens no sertão nordestino à consolidação como apresentadora, escritora e referência do protagonismo feminino.", b: "Acessar biografia", img: "assets/gc/p11.jpeg" },
    { k: "kit", t: "Media kit", d: "Materiais oficiais para veículos e parceiros: fotografias em alta resolução, logotipos e informações institucionais da marca.", b: "Baixar media kit", img: "assets/gc/p06.jpeg" },
    { k: "ent", t: "Entrevistas e pautas", d: "Seleção de entrevistas, reportagens e sugestões de pauta sobre a trajetória, o livro e o movimento Espalhe Gardênias.", b: "Ver entrevistas", img: "assets/gc/p02.jpeg" },
    { k: "cti", t: "Contato de imprensa", d: "Canal direto com a assessoria para solicitações de entrevistas, participações em eventos e parcerias institucionais.", b: "Falar com a assessoria", img: "assets/gc/p07.jpeg" },
  ];
  const [tab, setTab] = useStateC("bio");
  const active = tabs.find((x) => x.k === tab) || tabs[0];
  const cards = [
    { i: "user", t: "Biografia", d: "Conheça a trajetória de Gardênia Cavalcanti, sua carreira e principais marcos profissionais." },
    { i: "download", t: "Media kit", d: "Fotos oficiais, informações institucionais, releases e materiais para divulgação." },
    { i: "messages-square", t: "Entrevistas e pautas", d: "Solicitações de entrevistas, participações em programas, podcasts, eventos e reportagens." },
    { i: "mail", t: "Contato de imprensa", d: "Canal exclusivo para jornalistas, produtores e assessorias." },
  ];
  return (
    <div style={{ background: "var(--cream)" }}>
      <section style={{ position: "relative", marginTop: -82, background: "var(--blush)" }}>
        <div style={{ maxWidth: 1280, margin: "0 auto", padding: "clamp(120px,14vw,180px) clamp(24px,5vw,40px) clamp(60px,8vw,96px)" }}>
          <div style={{ maxWidth: 640 }}>
            <Eyebrow>Sala de imprensa</Eyebrow>
            <h1 style={{ fontFamily: "var(--font-serif)", textTransform: "uppercase", color: "var(--vinho)",
              fontSize: "clamp(32px,4.4vw,50px)", lineHeight: 1.06, letterSpacing: ".01em", margin: "22px 0 0" }}>Autoridade pública, organizada</h1>
            <p style={{ fontFamily: "var(--font-body)", fontSize: 16, lineHeight: 1.68, color: "var(--fg2)", marginTop: 22 }}>
              Uma trajetória que inspira, comunica e transforma. Acompanhe algumas das principais participações e aparições na mídia.
            </p>
          </div>
        </div>
      </section>

      {/* CATEGORIAS DE MÍDIA */}
      <section style={{ ...WRAP_C, paddingBottom: "clamp(30px,5vw,48px)" }}>
        <SectionHead align="left" kicker="Categorias de mídia" title="Na mídia" titleSize={36} />
        <div style={{ marginTop: 36 }}>
          {categorias.map((c) => {
            const open = aberta === c.t;
            return (
            <div key={c.t} style={{ borderTop: "1px solid var(--border-faint)" }}>
              <div className="eg-clip" style={{ display: "grid", gridTemplateColumns: "56px 1fr auto", gap: 24, alignItems: "center", padding: "28px 0" }}>
                <Icon name={c.i} size={28} color="var(--terracota)" />
                <div>
                  <h3 style={{ fontFamily: "var(--font-serif)", fontSize: 16, letterSpacing: ".14em", textTransform: "uppercase", color: "var(--fg1)", marginBottom: 8 }}>{c.t}</h3>
                  <p style={{ fontFamily: "var(--font-body)", fontSize: 15, lineHeight: 1.6, color: "var(--fg2)", maxWidth: 620 }}>{c.d}</p>
                </div>
                {c.b && (
                  <Button variant="ghost" size="sm" onClick={() => setAberta(open ? null : c.t)}>
                    {open ? "Fechar" : `${c.b} (${c.itens.length})`}
                  </Button>
                )}
              </div>
              {open && (
                <div style={{ paddingBottom: 30 }}>
                  {c.itens.map((it, idx) => (
                    <div key={idx} style={{ display: "flex", flexWrap: "wrap", alignItems: "baseline", gap: "6px 14px",
                      padding: "13px 0", borderTop: "1px solid var(--border-faint)" }}>
                      <span style={{ fontFamily: "var(--font-display)", fontSize: 12, letterSpacing: ".1em", color: "var(--clay)", minWidth: 76 }}>{it.dt}</span>
                      {it.u ? (
                        <a href={it.u} target="_blank" rel="noopener noreferrer"
                          style={{ fontFamily: "var(--font-display)", fontWeight: 500, fontSize: 15, color: "var(--vinho)", textDecoration: "none", borderBottom: "1px solid var(--terracota)" }}>{it.v}</a>
                      ) : (
                        <span style={{ fontFamily: "var(--font-display)", fontWeight: 500, fontSize: 15, color: "var(--fg1)" }}>{it.v}</span>
                      )}
                      <span style={{ fontFamily: "var(--font-body)", fontSize: 14, color: "var(--fg2)" }}>{it.p}</span>
                    </div>
                  ))}
                </div>
              )}
            </div>
            );
          })}
        </div>

        <p style={{ fontFamily: "var(--font-body)", fontSize: 15, lineHeight: 1.75, color: "var(--fg2)", maxWidth: 720, marginTop: 40 }}>
          Nesta área, jornalistas, produtores e veículos de comunicação encontram informações institucionais, materiais de apoio e canais de contato para entrevistas, participações e solicitações de imprensa.
        </p>
      </section>

      {/* TABS: Materiais & canais */}
      <section style={{ background: "var(--linen)" }}>
        <div style={{ ...WRAP_C }}>
          <SectionHead kicker="Materiais & canais" title="Para a imprensa" />

          <div style={{ marginTop: 48 }}>
            {/* Tab strip */}
            <div className="eg-tabs" style={{ display: "flex", gap: 6, flexWrap: "wrap" }}>
              {tabs.map((x) => {
                const on = x.k === tab;
                return (
                  <button key={x.k} type="button" onClick={(e) => {
                      setTab(x.k);
                      if (window.matchMedia("(max-width: 760px)").matches) {
                        const panel = e.currentTarget.closest("div").nextElementSibling;
                        if (panel) setTimeout(() => panel.scrollIntoView({ behavior: "smooth", block: "start" }), 50);
                      }
                    }}
                    style={{
                      fontFamily: "var(--font-display)", fontSize: 12, letterSpacing: ".16em",
                      textTransform: "uppercase", cursor: "pointer",
                      padding: "16px 28px", border: "none", borderRadius: 0,
                      background: on ? "var(--vinho)" : "#e8d9c9",
                      color: on ? "var(--pessego)" : "var(--clay)",
                      transition: "all .2s",
                    }}>{x.t}</button>
                );
              })}
            </div>

            {/* Tab panel */}
            <div className="eg-tab-panel" style={{
              background: "var(--vinho)", padding: "clamp(48px,6vw,72px) clamp(32px,5vw,64px)",
              display: "grid", gridTemplateColumns: "1fr auto", gap: "clamp(32px,5vw,64px)", alignItems: "center",
            }}>
              <div style={{ maxWidth: 480 }}>
                <h3 style={{
                  fontFamily: "var(--font-serif)", fontSize: "clamp(28px,3.4vw,40px)",
                  color: "var(--pessego)", margin: 0, lineHeight: 1.15,
                  textTransform: "capitalize", letterSpacing: ".01em",
                }}>{active.t}</h3>
                <p style={{
                  fontFamily: "var(--font-body)", fontSize: 15.5, lineHeight: 1.7,
                  color: "#ffffff", margin: "22px 0 32px",
                }}>{active.d}</p>
                <Button variant="outlineLight">{active.b}</Button>
              </div>

              <div style={{
                background: "#fff", padding: "18px 18px 60px", boxShadow: "0 20px 40px rgba(0,0,0,.25)",
                transform: "rotate(3deg)", flexShrink: 0,
              }}>
                <img src={assetURL(active.img)} alt={active.t}
                  style={{ display: "block", width: "clamp(240px,26vw,340px)", height: "clamp(300px,32vw,420px)", objectFit: "cover" }} />
              </div>
            </div>
          </div>
        </div>
      </section>

      {/* CONTATO DE IMPRENSA */}
      <section style={{ background: "var(--vinho)", padding: "clamp(48px,6vw,68px) clamp(24px,5vw,40px)", textAlign: "center" }}>
        <Eyebrow color="#d08a63">Contato de imprensa</Eyebrow>
        <p style={{ fontFamily: "var(--font-display)", fontWeight: 300, fontSize: "clamp(20px,2.6vw,26px)", color: "var(--pessego)", margin: "16px 0 22px" }}>
          imprensa@gardeniacavalcanti.com.br
        </p>
        <Button variant="outlineLight" onClick={() => onNav("contato")}>Falar com a assessoria</Button>
      </section>
    </div>
  );
}

/* ============================================================ CONTATO */
function ContatoScreen({ onNav }) {
  const [sent, setSent] = useStateC(false);
  const assuntos = ["Imprensa", "Palestras", "Parcerias", "Institucional", "Comercial"];
  const [assunto, setAssunto] = useStateC("Palestras");
  const canais = [
    { i: "calendar", t: "Palestras & eventos", d: "agenda@gardeniacavalcanti.com.br" },
    { i: "newspaper", t: "Imprensa & mídia", d: "imprensa@gardeniacavalcanti.com.br" },
    { i: "briefcase", t: "Parcerias & collabs", d: "parcerias@gardeniacavalcanti.com.br" },
  ];
  const faq = [
    ["O movimento é uma ONG?", "Não. É uma plataforma de marca com impacto real: inspiração, capacitação e conexão, sem assistencialismo."],
    ["Já posso comprar produtos?", "A camada comercial está preparada para uma fase futura. Por ora, o foco é autoridade, livro, movimento e palestras."],
    ["Como convido Gardênia para um evento?", "Pelo formulário abaixo, selecionando o assunto “Palestras”. A equipe retorna com formatos, disponibilidade e proposta."],
  ];
  return (
    <div style={{ background: "var(--cream)" }}>
      <PlainHero kicker="Contato" title="Vamos espalhar gardênias"
        intro="Escolha o assunto e fale com a equipe. Respondemos imprensa, palestras, parcerias e oportunidades institucionais e comerciais." />

      <section style={{ ...WRAP_C, paddingTop: "clamp(48px,6vw,64px)" }}>
        <div className="eg-2col" style={{ display: "grid", gridTemplateColumns: "1fr 1.15fr", gap: "clamp(40px,6vw,64px)", alignItems: "start" }}>
          {/* canais */}
          <div>
            {canais.map((r) => (
              <div key={r.t} style={{ display: "flex", gap: 16, padding: "22px 0", borderBottom: "1px solid var(--border-faint)" }}>
                <Icon name={r.i} size={22} color="var(--terracota)" style={{ marginTop: 2, flexShrink: 0 }} />
                <div>
                  <div style={{ fontFamily: "var(--font-display)", fontWeight: 500, fontSize: 16, color: "var(--fg1)" }}>{r.t}</div>
                  <div style={{ fontFamily: "var(--font-body)", fontSize: 14, color: "var(--clay)", marginTop: 5 }}>{r.d}</div>
                </div>
              </div>
            ))}
            <div style={{ display: "flex", gap: 12, marginTop: 26, flexWrap: "wrap" }}>
              <Button variant="ghost" size="sm"><Icon name="message-circle" size={15} /> WhatsApp</Button>
              <Button variant="ghost" size="sm"><Icon name="instagram" size={15} /> Instagram</Button>
            </div>
          </div>

          {/* form segmentado */}
          <form onSubmit={(e) => { e.preventDefault(); setSent(true); }} style={{ background: "var(--linen)", padding: "clamp(32px,4vw,42px)" }}>
            {sent ? (
              <div style={{ textAlign: "center", padding: "40px 0" }}>
                <Flower which={2} simple size={50} style={{ margin: "0 auto 18px" }} />
                <h3 style={{ fontFamily: "var(--font-display)", fontWeight: 500, fontSize: 26, color: "var(--fg1)", marginBottom: 10 }}>Mensagem enviada</h3>
                <p style={{ fontFamily: "var(--font-body)", fontSize: 14.5, color: "var(--fg2)" }}>Obrigada por escrever. Retornaremos em breve.</p>
              </div>
            ) : (
              <>
                <Label>Assunto</Label>
                <div style={{ display: "flex", flexWrap: "wrap", gap: 8, marginBottom: 20 }}>
                  {assuntos.map((a) => (
                    <button type="button" key={a} onClick={() => setAssunto(a)}
                      style={{ fontFamily: "var(--font-display)", fontSize: 11.5, letterSpacing: ".1em", textTransform: "uppercase",
                        padding: "9px 16px", cursor: "pointer", borderRadius: 999, transition: "all .2s",
                        border: `1px solid ${assunto === a ? "var(--terracota)" : "var(--border)"}`,
                        background: assunto === a ? "var(--terracota)" : "transparent",
                        color: assunto === a ? "#fff" : "var(--fg2)" }}>{a}</button>
                  ))}
                </div>
                <div className="eg-2col" style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: 16 }}>
                  <Field label="Nome" ph="Seu nome completo" />
                  <Field label="E-mail" ph="voce@email.com" />
                </div>
                <div style={{ marginTop: 16, marginBottom: 22 }}>
                  <Label>Mensagem</Label>
                  <textarea rows={4} className="eg-input" placeholder="Conte um pouco mais…" style={{ ...inpStyle, resize: "vertical" }} />
                </div>
                <Button variant="dark" full>Enviar mensagem</Button>
              </>
            )}
          </form>
        </div>
      </section>

      {/* FAQ */}
      <section style={{ background: "var(--linen)" }}>
        <div style={{ maxWidth: 880, margin: "0 auto", padding: "clamp(56px,8vw,84px) clamp(24px,5vw,40px)" }}>
          <SectionHead kicker="Dúvidas frequentes" title="Perguntas rápidas" titleSize={32} />
          <div style={{ marginTop: 36 }}>
            {faq.map(([q, a]) => (
              <div key={q} style={{ padding: "26px 0", borderTop: "1px solid var(--border-faint)" }}>
                <h3 style={{ fontFamily: "var(--font-display)", fontWeight: 500, fontSize: 19, color: "var(--fg1)", marginBottom: 10 }}>{q}</h3>
                <p style={{ fontFamily: "var(--font-body)", fontSize: 15, lineHeight: 1.7, color: "var(--fg2)", maxWidth: 680 }}>{a}</p>
              </div>
            ))}
          </div>
        </div>
      </section>
    </div>
  );
}

/* ---- form helpers ---- */
const inpStyle = { width: "100%", boxSizing: "border-box", fontFamily: "var(--font-body)", fontSize: 14, padding: "12px 14px",
  background: "var(--cream)", border: "1px solid var(--border)", borderRadius: 0, color: "var(--fg1)" };
function Label({ children }) {
  return <label style={{ display: "block", fontFamily: "var(--font-display)", fontSize: 11, letterSpacing: ".12em",
    textTransform: "uppercase", color: "var(--fg2)", marginBottom: 7 }}>{children}</label>;
}
function Field({ label, ph }) {
  return (
    <div>
      <Label>{label}</Label>
      <input placeholder={ph} className="eg-input" style={inpStyle} />
    </div>
  );
}

Object.assign(window, { ImprensaScreen, ContatoScreen });
