/*
Theme Name: Junta Festival
Description: Tema leve do Junta Festival, sem Elementor nem JetEngine. Um WordPress para todas as edições: o visual de cada ano fica em /edicoes/ANO/.
Version: 2.0
Text Domain: junta
*/

/* ---------- Fontes (arquivos em wp-content/uploads) ---------- */
@font-face{font-family:'Namu 1930';src:url('../../uploads/2024/09/NAMU-1930.ttf') format('truetype');font-display:swap}
@font-face{font-family:'TT Firs Neue Thin';src:url('../../uploads/2025/10/TT-Firs-Neue-Thin.ttf') format('truetype');font-display:swap}
@font-face{font-family:'TT Firs Neue Light';src:url('../../uploads/2025/10/TT-Firs-Neue-Light.ttf') format('truetype');font-display:swap}
@font-face{font-family:'TT Firs Neue Regular';src:url('../../uploads/2025/10/TT-Firs-Neue-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:'TT Firs Neue Normal';src:url('../../uploads/2025/10/TT-Firs-Neue-Normal.ttf') format('truetype');font-display:swap}
@font-face{font-family:'TT Firs Neue Bold';src:url('../../uploads/2025/10/TT-Firs-Neue-Bold.ttf') format('truetype');font-display:swap}
@font-face{font-family:'TT Firs Neue Extra Bold';src:url('../../uploads/2025/10/TT-Firs-Neue-ExtraBold.ttf') format('truetype');font-display:swap}
/* No site original, "TT Firs Neue Black" aponta para o arquivo NAMU-1990 */
@font-face{font-family:'TT Firs Neue Black';src:url('../../uploads/2024/09/NAMU-1990.ttf') format('truetype');font-display:swap}

:root{
  --primary:#5D4EA1; --secondary:#64C294; --text:#7A7A7A; --accent:#FFFFFF;
  --link:#CC3366; --body:#333333; --box:1140px;
}

/* ---------- Base (equivalente ao Hello Elementor + kit) ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--body);font-family:Namu,sans-serif;font-weight:100;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
p{margin:0 0 .9rem}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:500;line-height:1.2}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.box{width:100%;max-width:var(--box);margin:0 auto}

/* ---------- Cabeçalho ---------- */
.admin-bar .site-header{top:32px}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:20;min-height:74px;padding:0 10px;background:transparent}
.site-header .box{display:flex;gap:20px;padding:10px 0;align-items:stretch}
.site-header .h-left{width:80%;display:flex;align-items:stretch}
.site-header .h-right{width:20%;display:flex;flex-direction:column;justify-content:center}
.site-logo{display:block;line-height:0}
.site-logo img,.site-logo svg{height:70px;width:auto;display:block}
.main-nav{align-self:center;padding-left:40px}
.main-nav ul{list-style:none;margin:0;padding:0}
.main-nav>ul{display:flex;flex-wrap:wrap}
.main-nav li{position:relative}
.main-nav>ul>li>a{display:flex;position:relative;padding:7px 20px;font-family:'TT Firs Neue Black',sans-serif;font-size:12px;font-weight:100;line-height:20px;color:#fff}
.main-nav>ul>li>a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#fff;opacity:0;transition:opacity .3s}
.main-nav>ul>li>a:hover::after,.main-nav>ul>li.current-menu-item:not(.menu-item-type-custom)>a::after,.main-nav>ul>li.current_page_item>a::after{opacity:1}
.main-nav .sub-menu{position:absolute;top:100%;left:0;min-width:200px;background:#fff;box-shadow:0 0 8px rgba(0,0,0,.08);opacity:0;visibility:hidden;transition:opacity .2s;z-index:5}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{opacity:1;visibility:visible}
.main-nav .sub-menu a{display:block;padding:13px 20px;font-family:Roboto,sans-serif;font-weight:500;font-size:14px;color:var(--text);line-height:1.3}
.main-nav .sub-menu a:hover{background:#3f444b;color:#fff}
.social{display:flex;justify-content:flex-end;gap:5px}
.social a{display:inline-flex;align-items:center;justify-content:center;width:31.5px;height:31.5px;border-radius:50%;color:#fff}
.social svg{width:21px;height:21px;fill:#fff}

/* ---------- Rodapé ---------- */
.site-footer{padding:10px}
.site-footer .inner{margin-top:159px;padding:10px;text-align:center}
.site-footer img{width:100%;height:auto}


/* ---------- Carrossel genérico ---------- */
.carousel{position:relative;overflow:hidden}
.carousel .track{display:flex;transition:transform .5s ease}
.carousel .track>*{flex:0 0 auto}
.c-arrow{position:absolute;top:40%;z-index:3;width:50px;height:50px;margin-top:-25px;border:0;background:#111;color:#fff;font-size:30px;line-height:50px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.c-arrow:hover{background:#fff;color:#000}
.c-arrow svg{width:20px;height:20px;fill:currentColor}
.c-prev{left:-10px}.c-next{right:-10px}
.dots{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:5px}
.dots button{width:6px;height:6px;border-radius:50%;border:0;padding:0;background:#000;opacity:.2;cursor:pointer}
.dots button.on{opacity:1}

/* ---------- Galeria em alvenaria + lightbox ---------- */
.masonry{display:flex;gap:10px;align-items:flex-start}
.masonry .m-col{flex:1;min-width:0}
.masonry a{display:block;margin:0 0 10px;position:relative;overflow:hidden}
.masonry a::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity .8s}
.masonry a:hover::after{opacity:1}
.masonry img{width:100%;display:block}
.lb{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center}
.lb.on{display:flex}
.lb img{max-width:92vw;max-height:88vh}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;padding:20px;line-height:1}
.lb .x{top:0;right:0}.lb .p{left:0;top:50%;transform:translateY(-50%)}.lb .n{right:0;top:50%;transform:translateY(-50%)}

/* ---------- Responsivo (cabeçalho) ---------- */
@media (max-width:1024px){
  .main-nav{padding-left:20px}
  .main-nav>ul>li>a{padding:7px 6px}
}
@media (max-width:767px){
  .site-header .box{flex-direction:column;flex-wrap:wrap}
  .site-header .h-left,.site-header .h-right{width:100%}
  .site-header .h-left{flex-direction:column;align-items:center}
  .main-nav{display:none}
  .social{justify-content:center}
}
