/* =========================================================
   Congresso Global Cana 2026 — layout público (one-page)
   Classes prefixadas .gc- para não colidir com o CSS legado
   ========================================================= */

@font-face{font-family:'RedHat';src:url('../fonts/RedHatDisplay-Regular.ttf') format('truetype');font-weight:400;font-display:swap;}
@font-face{font-family:'RedHat';src:url('../fonts/RedHatDisplay-Medium.ttf') format('truetype');font-weight:500;font-display:swap;}
@font-face{font-family:'RedHat';src:url('../fonts/RedHatDisplay-Bold.ttf') format('truetype');font-weight:700;font-display:swap;}
@font-face{font-family:'RedHat';src:url('../fonts/RedHatDisplay-Black.ttf') format('truetype');font-weight:900;font-display:swap;}

:root{
  --green:#0f7a3b;
  --green-d:#0a5c2c;
  --green-dd:#08401f;
  --ink:#2b2b2b;
  --muted:#5a5a5a;
  --paper:#eef0e9;
  --gold:#e0a52c;
  --head:'RedHat','secondary',Arial,sans-serif;
  --body:'primary','RedHat',Arial,Helvetica,sans-serif;
  --maxw:1180px;
}

html{scroll-behavior:smooth;}
.gc-page [id]{scroll-margin-top:84px;}
/* corrige position:sticky do header em QUALQUER página. O CSS legado prende a
   altura (html,body{height:100%}) e o wrapper .content tem overflow-y:auto —
   ambos criam contêiner de rolagem e fazem o header sticky "descolar". */
body:has(.gc-header){height:auto !important;min-height:100vh;}
/* header é position:fixed (78px de altura) — compensa o espaço no conteúdo */
.gc-page{padding-top:78px;}
.content:has(.gc-header){overflow:visible !important;height:auto !important;padding-top:78px !important;}
/* submenu admin (.menu4) encosta logo abaixo do header fixo (78px) */
.menu4{top:78px !important;}
/* sticky footer nas páginas internas (têm wrapper .content + rodapé como irmão):
   o conteúdo cresce e empurra o rodapé para o fim da tela, mesmo com pouco conteúdo. */
body:has(.content){min-height:100vh;display:flex;flex-direction:column;margin:0;}
body:has(.content) > .content{flex:1 0 auto;}
body:has(.content) > .gc-footer{flex-shrink:0;}
.gc-page{margin:0;background:var(--paper) !important;background-image:none !important;color:var(--ink);
  font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;
  height:auto !important;min-height:100vh;}
/* imagens de seção (patrocinadores, anos anteriores) em largura total */
.gc-fullimg{display:block;width:100%;height:auto;}
/* texto acessível para SEO/leitores de tela (mesmo conteúdo das imagens) */
.gc-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.gc-page *{box-sizing:border-box;}
.gc-page img{max-width:100%;height:auto;display:block;}
.gc-wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px;}

/* ---------- Header / menu ---------- */
.gc-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--green);color:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.18);}
.gc-header-in{max-width:1320px;margin:0 auto;padding:10px 22px;display:flex;align-items:center;
  justify-content:space-between;gap:16px;}
.gc-logo-chip{display:inline-flex;align-items:center;}
.gc-logo-chip img{height:68px;width:auto;}
.gc-nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:flex-end;}
.gc-nav a,.gc-nav span{color:#fff;text-decoration:none;font-family:var(--head);font-weight:500;
  font-size:16px;cursor:pointer;white-space:nowrap;opacity:.95;transition:opacity .15s,border-color .15s;
  border-bottom:2px solid transparent;padding-bottom:2px;}
.gc-nav a:hover{opacity:1;border-bottom-color:#cdeacd;}
.gc-nav .gc-soon{opacity:.6;cursor:default;}
.gc-nav .gc-soon:hover{border-bottom-color:transparent;}
.gc-nav .gc-cta{background:#fff;color:var(--green-d);border-radius:20px;padding:7px 16px;font-weight:700;}
.gc-nav .gc-cta:hover{border-bottom-color:transparent;background:#eafaef;}
.gc-burger{display:none;font-size:26px;background:none;border:0;color:#fff;cursor:pointer;}

/* ---------- Hero ---------- */
.gc-hero{position:relative;background:#eef0e9 url('../img/2026/wallpaper-rodape.jpg') top center/100% auto repeat-y;}
.gc-banner{display:block;width:100%;height:auto;}

/* banner_top é o fundo (não repete); a wallpaper preenche abaixo dele.
   O banner tem proporção 1360x757 (altura = 55,66% da largura). */
.gc-herobanner{
  background:
    url('../img/2026/banner_top.jpg') top center / 100% auto no-repeat,
    #eef0e9 url('../img/2026/wallpaper-rodape.jpg') top center / 100% auto repeat-y;
}
/* empurra o texto para ~3/4 da altura da imagem (0,75 × 55,66% ≈ 41,5% da largura),
   caindo sobre a faixa inferior esquerda do banner. */
.gc-herobanner-pad{ padding-top:41.5%; }
.gc-herobanner .gc-evento{ padding-top:0; max-width:640px; }
.gc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:center;
  padding:46px 0 30px;}
.gc-hero-info,.gc-hero-art{min-width:0;}
.gc-brand-logo{width:100%;max-width:430px;height:auto;margin-bottom:26px;}
.gc-badges{display:flex;flex-direction:column;gap:14px;max-width:520px;}
.gc-badge{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;
  padding:12px 20px;box-shadow:0 8px 22px rgba(0,0,0,.08);}
.gc-badge i{color:var(--green);font-size:26px;}
.gc-badge .gc-date{font-family:var(--head);font-weight:900;font-size:34px;letter-spacing:1px;color:var(--ink);}
.gc-badge .gc-date b{color:var(--green);font-weight:900;padding:0 4px;}
.gc-badge .gc-place{line-height:1.25;}
.gc-badge .gc-place b{display:block;font-size:19px;letter-spacing:.5px;}
.gc-hero-art{justify-self:center;}
.gc-hero-art img{max-width:560px;width:100%;}

.gc-evento{padding:44px 0 60px;max-width:760px;}
.gc-evento h2{font-family:var(--head);font-weight:900;color:var(--green);font-size:40px;margin:0 0 18px;}
.gc-evento p{margin:0 0 16px;font-size:17.5px;color:#333;}

/* ---------- Section heading (faixa) ---------- */
.gc-section{padding:54px 0;}
.gc-title{font-family:var(--head);font-weight:900;text-align:center;letter-spacing:2px;margin:0 0 38px;}
.gc-title.gc-on-green{color:#fff;font-size:44px;}
.gc-title.gc-on-light{color:var(--green);font-size:38px;display:flex;align-items:center;gap:18px;justify-content:center;}
.gc-title.gc-on-light::before,.gc-title.gc-on-light::after{content:"";height:2px;background:var(--green);flex:1;max-width:180px;opacity:.6;}

/* ---------- Patrocinadores ---------- */
.gc-sponsors{background:var(--green-d) url('../img/2026/bg_green.jpg') center/cover;color:#fff;}
.gc-tier{margin-bottom:34px;text-align:center;}
.gc-tier-name{display:inline-block;background:#fff;color:var(--green);font-family:var(--head);font-weight:900;
  letter-spacing:6px;font-size:26px;padding:8px 34px;border-radius:8px;margin-bottom:26px;}
.gc-sponsor-row{display:flex;flex-wrap:wrap;justify-content:center;gap:30px;}
.gc-sponsor{width:150px;height:150px;border-radius:50%;background:#fff;overflow:hidden;
  box-shadow:0 8px 20px rgba(0,0,0,.25);}
.gc-sponsor img{width:100%;height:100%;object-fit:contain;}

/* ---------- Edições anteriores (timeline) ---------- */
.gc-editions{background:var(--paper);}
.gc-timeline{position:relative;max-width:960px;margin:0 auto;}
.gc-timeline::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--green);
  transform:translateX(-50%);opacity:.45;}
.gc-ed{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;margin-bottom:44px;}
.gc-ed .gc-ed-photo img{border-radius:14px;border:3px solid var(--green);box-shadow:0 10px 24px rgba(0,0,0,.15);}
.gc-ed-info h3{font-family:var(--head);font-weight:900;color:var(--green);font-size:27px;margin:0 0 6px;line-height:1.1;}
.gc-ed-info h3 small{display:block;font-size:15px;font-weight:700;color:var(--muted);letter-spacing:1px;}
.gc-ed-info .gc-meta{color:var(--green-d);font-weight:700;margin:8px 0;font-size:15px;letter-spacing:.5px;}
.gc-part{display:inline-block;background:var(--green);color:#fff;font-family:var(--head);font-weight:700;
  border-radius:20px;padding:7px 18px;font-size:15px;}
.gc-ed.gc-left  .gc-ed-photo{order:1}.gc-ed.gc-left  .gc-ed-info{order:2;text-align:left}
.gc-ed.gc-right .gc-ed-info{order:1;text-align:right}.gc-ed.gc-right .gc-ed-photo{order:2}
.gc-ed-current{display:flex;justify-content:center;margin:6px 0 0;}
.gc-ed-current img{width:250px;height:250px;object-fit:contain;border-radius:50%;border:2px solid var(--green);padding:52px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.10);}

/* ---------- Localização ---------- */
.gc-map iframe{width:100%;height:440px;border:0;display:block;}

/* ---------- Footer ---------- */
.gc-footer{background:#eef0e9 url('../img/2026/wallpaper-rodape.jpg') center/100% 100%;
  border-top:6px solid #00581e;padding:34px 0;color:#00581e;}
.gc-footer-in{display:flex;align-items:center;justify-content:center;gap:40px;flex-wrap:wrap;text-align:center;}
.gc-footer img{height:66px;}
.gc-footer .gc-contact{border-left:2px solid #00581e;padding-left:24px;text-align:left;}
.gc-footer .gc-contact a{color:#00581e;text-decoration:none;font-weight:700;display:block;line-height:1.7;}
.gc-footer .gc-contact a:hover{color:#0a7a3b;}
.gc-footer .gc-copy{color:#00581e;font-size:14px;}

/* ---------- Responsivo ---------- */
@media (max-width:900px){
  .gc-burger{display:block;}
  .gc-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--green-d);
    flex-direction:column;align-items:stretch;gap:0;padding:6px 0;}
  .gc-nav.gc-open{display:flex;}
  .gc-nav a,.gc-nav span{padding:13px 22px;border-bottom:1px solid rgba(255,255,255,.12);}
  .gc-nav .gc-cta{margin:8px 22px;text-align:center;}
  .gc-hero-grid{grid-template-columns:1fr;text-align:center;padding-top:30px;}
  .gc-badges{margin:0 auto;}.gc-brand-logo{margin:0 auto 22px;max-width:300px;}
  .gc-hero-art{margin-top:20px;}
  .gc-evento{margin:0 auto;text-align:center;}
  .gc-title.gc-on-green{font-size:32px;}.gc-title.gc-on-light{font-size:28px;}
  .gc-evento h2{font-size:30px;}
  .gc-ed{grid-template-columns:1fr;gap:14px;text-align:center;}
  .gc-ed .gc-ed-info,.gc-ed.gc-right .gc-ed-info,.gc-ed.gc-left .gc-ed-info{text-align:center;order:2}
  .gc-ed .gc-ed-photo{order:1}
  .gc-timeline::before{display:none;}
  .gc-footer-in{gap:18px;}.gc-footer .gc-contact{border-left:0;padding-left:0;text-align:center;}
}
@media (max-width:520px){
  .gc-badge .gc-date{font-size:27px;}
  .gc-tier-name{letter-spacing:3px;font-size:20px;padding:7px 20px;}
  .gc-sponsor{width:120px;height:120px;}
}
