@import url('https://fonts.googleapis.com/css2?family=PT+Sans:wght@400;700&family=Merriweather:wght@400;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'PT Sans',sans-serif;color:#333333;background:#fff;font-size:16px;line-height:1.65;}

/* ── NAV ── */
.site-nav{
  background:#3d4930;
  display:flex;flex-wrap:wrap;align-items:center;
  padding:0 20px;gap:2px;
  position:sticky;top:0;z-index:1000;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
}
.site-nav .brand{
  display:flex;align-items:center;gap:8px;
  color:#fff;font-weight:700;font-size:15px;
  text-decoration:none;
  padding:8px 14px 8px 0;margin-right:6px;
  border-right:1px solid rgba(255,255,255,.25);
  white-space:nowrap;
}
.site-nav .brand img{
  height:38px;width:auto;
  object-fit:contain;
  border-radius:2px;
  background:#fff;
}

/* item de nível 1 */
.site-nav .nav-item{position:relative;}
.site-nav .nav-item>a{
  color:rgba(255,255,255,.9);text-decoration:none;
  font-size:13px;padding:13px 10px;
  border-radius:3px;white-space:nowrap;
  display:block;
  transition:background .15s,color .15s;
}
.site-nav .nav-item>a:hover,
.site-nav .nav-item>a.active,
.site-nav .nav-item.open>a{
  background:rgba(255,255,255,.18);color:#fff;
}
/* seta indicando submenu */
.site-nav .nav-item.has-sub>a::after{
  content:'▾';font-size:10px;margin-left:4px;opacity:.7;
}

/* dropdown */
.site-nav .sub-menu{
  display:none;
  position:absolute;top:100%;left:0;
  background:#3d4930;
  border-top:2px solid rgba(255,255,255,.2);
  border-radius:0 0 4px 4px;
  box-shadow:0 6px 16px rgba(0,0,0,.35);
  min-width:200px;
  z-index:1100;
}
.site-nav .nav-item:hover>.sub-menu,
.site-nav .nav-item.open>.sub-menu{display:block;}
.site-nav .sub-menu a{
  display:block;padding:10px 16px;
  color:rgba(255,255,255,.85);text-decoration:none;
  font-size:12.5px;white-space:nowrap;
  transition:background .12s;
}
.site-nav .sub-menu a:hover,
.site-nav .sub-menu a.active{
  background:rgba(255,255,255,.15);color:#fff;
}

/* ── NAV LINKS (desktop) ── */
.nav-links{
  display:flex;flex-direction:row;align-items:center;
  flex:1;flex-wrap:wrap;gap:2px;
}

/* ── HAMBURGER (mobile) ── */
.nav-toggle{
  display:none;margin-left:auto;
  background:none;border:none;cursor:pointer;
  padding:10px;
}
.nav-toggle span{
  display:block;width:22px;height:2px;
  background:#fff;margin:5px 0;border-radius:2px;
  transition:transform .25s,opacity .25s;
}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* ── MOBILE NAV ── */
@media(max-width:860px){
  .nav-toggle{display:block;}
  .nav-links{
    display:none;flex-direction:column;
    width:100%;padding-bottom:8px;gap:0;
  }
  .nav-links.open{display:flex;}
  .site-nav .nav-item{width:100%;}
  .site-nav .nav-item>a{padding:10px 12px;border-radius:0;}
  .site-nav .nav-item.has-sub>a::after{float:right;}
  .site-nav .sub-menu{
    position:static;box-shadow:none;border-top:none;
    border-left:3px solid rgba(255,255,255,.2);
    margin-left:16px;border-radius:0;
    display:none;
  }
  .site-nav .nav-item.open>.sub-menu{display:block;}
  .site-nav .sub-menu a{padding:8px 16px;font-size:12px;}
}

/* ── HERO (index) ── */
.site-hero{
  background-color:#3d4930;
  background-image:url('images/simple-header-blended-small.png');
  background-size:cover;
  background-position:center;
  background-blend-mode:overlay;
  color:#fff;text-align:center;
  padding:60px 20px 110px;
  clip-path:polygon(0 0,100% 0,100% 82%,0 100%);
  min-height:300px;
}
.site-hero img{max-width:380px;width:100%;height:auto;margin-bottom:16px;}
.site-hero p{font-size:1.05rem;opacity:.88;margin-bottom:6px;}

/* ── HEADER INTERNO ── */
.site-page-header{
  background-color:#3d4930;
  background-image:url('images/simple-header-blended-small.png');
  background-size:cover;
  background-position:center;
  background-blend-mode:overlay;
  color:#fff;text-align:center;
  padding:40px 20px 80px;
  clip-path:polygon(0 0,100% 0,100% 78%,0 100%);
  min-height:170px;
}
.site-page-header h1{font-family:'Merriweather',serif;font-size:1.7rem;}

/* ── MAIN ── */
.site-main{
  max-width:980px;margin:-36px auto 60px;
  padding:40px 28px;
  background:#fff;border-radius:4px;
  box-shadow:0 2px 10px rgba(0,0,0,.09);
  position:relative;
}

/* ── TIPOGRAFIA ── */
.site-main h2{
  font-family:'Merriweather',serif;color:#5a7a3a;
  text-align:center;margin:36px 0 16px;font-size:1.35rem;
}
.site-main h3{font-size:1.1rem;color:#3d4930;margin:22px 0 8px;}
.site-main p{margin-bottom:14px;}
.site-main a{color:#3d4930;text-decoration:underline;}
.site-main a:hover{opacity:.75;}
.site-main ul,.site-main ol{padding-left:24px;margin-bottom:14px;}
.site-main li{margin-bottom:4px;}
.site-main img{max-width:100%;height:auto;display:block;margin:12px auto;border-radius:3px;}
.site-main hr{border:none;border-top:1px solid #dde;margin:28px 0;}
.site-main blockquote{border-left:4px solid #5a7a3a;padding:8px 16px;color:#555;margin:16px 0;}

/* ── TABELAS ── */
.site-main table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.93rem;}
.site-main th{background:#3d4930;color:#fff;padding:10px 12px;text-align:left;font-weight:700;}
.site-main td{padding:9px 12px;border-bottom:1px solid #e0e5da;vertical-align:top;}
.site-main tr:nth-child(even) td{background:#f4f7f1;}
.site-main tr:hover td{background:#e8ede3;}
.site-main td.time{white-space:nowrap;font-weight:600;color:#3d4930;width:90px;}
.site-main td.room{white-space:nowrap;width:80px;color:#555;}
.site-main .talk-title{font-weight:600;}
.site-main .talk-speaker{color:#555;font-size:.88rem;}
.site-main .talk-title,
.site-main .talk-speaker {margin: 0;line-height: 1.5;}
.site-main .talk-speaker {margin-bottom: 10px; /* espaço entre apresentações */}
.linha-fina {
  border: none;
  border-top: 1px solid #ccc;
  margin-top: 8px;
  margin-bottom: 8px;
}
/* session-header: !important para sobrescrever o stripe par/impar */
.site-main tr.session-header td{
  background:#5a7a3a!important;
  color:#fff!important;
  font-weight:700;font-style:italic;
}

/* ── GRID DE LOGOS ── */
.logo-grid{
  display:flex;flex-wrap:wrap;gap:28px;
  align-items:center;justify-content:center;margin:20px 0 32px;
}
.logo-grid img{max-height:112px;max-width:240px;object-fit:contain;}

/* ── PARTICIPANTES ── */
.participant-section{margin-bottom:28px;}
.participant-section h3{color:#5a7a3a;font-family:'Merriweather',serif;font-size:1.1rem;border-bottom:2px solid #5a7a3a;padding-bottom:6px;margin-bottom:14px;}
.participant-cols{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:4px 24px;margin-bottom:20px;
}
.participant-cols p{margin:2px 0;font-size:.92rem;}

/* ── PROGRAMA: ABAS ── */
.day-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.day-tab{
  display:inline-block;padding:8px 20px;
  background:#3d4930;color:#fff!important;text-decoration:none!important;
  border-radius:4px;font-size:.9rem;font-weight:700;
  transition:background .15s;opacity:1!important;
}
.day-tab:hover{background:#5a7a3a;color:#fff!important;opacity:1!important;}

/* ── COMITÊ ── */
.committee-list{list-style:none;padding:0;margin:16px 0 28px;}
.committee-list li{padding:10px 16px;border-left:4px solid #5a7a3a;margin-bottom:10px;background:#fafaf8;}
.committee-list li strong{display:block;color:#3d4930;}
.committee-list li span{font-size:.9rem;color:#555;}

/* ── RODAPÉ ── */
.site-footer{
  background:#3d4930;color:rgba(255,255,255,.65);
  text-align:center;padding:18px 20px;font-size:13px;
}

/* ── RESPONSIVO ── */
@media(max-width:900px){
  .site-main{margin:-28px 16px 40px;}
  .logo-grid{gap:16px;}
  .logo-grid img{max-height:90px;max-width:195px;}
}
@media(max-width:860px){
  .site-nav{padding:0 16px;flex-wrap:wrap;align-items:center;}
  .site-nav .brand{padding:12px 14px 12px 0;}
  .site-hero{padding:40px 16px 90px;clip-path:polygon(0 0,100% 0,100% 88%,0 100%);}
  .site-hero img{max-width:280px;}
  .site-page-header{padding:28px 16px 70px;}
  .site-page-header h1{font-size:1.4rem;}
}
@media(max-width:640px){
  .site-nav{padding:0 8px;}
  .site-nav .brand{font-size:13px;}
  .site-main{padding:20px 14px;margin:-24px 8px 32px;}
  .site-main table{font-size:.82rem;display:block;overflow-x:auto;}
  .participant-cols{grid-template-columns:1fr;}
  .site-main h2{font-size:1.15rem;}
  .day-tabs{gap:4px;}
  .day-tab{padding:6px 14px;font-size:.82rem;}
}