.logo-festival {
    max-width: 30% !important;
    padding: 10px;
}

.header__sticky {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    background: #ffffff !important;
    box-shadow: 0px 7px 18px #1810100d !important;
    z-index: 100002 !important;
}
/* header behavior: desktop will hide on scroll down (JS), mobile keeps it fixed */

/* Container dos blocos */
.countdown-wrapper {
    display: flex;
    justify-content: center;
    gap: 20px; /* Espaço entre os blocos */
    flex-wrap: wrap; /* Para não quebrar no celular */
}

/* A caixinha vermelha */
.countdown-box {
    background-color: #890C25; /* Vermelho Japão */
    color: white;
    width: 100px;
    height: 100px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* O número grande */
.countdown-box .number {
    font-size: 36px;
    font-weight: 800;
    line-height: 1;
}

/* O texto pequeno (Dias, Horas...) */
.countdown-box .label {
    font-size: 14px;
    text-transform: uppercase;
    margin-top: 5px;
    opacity: 0.9;
}

/* Ajuste para Celular */
@media (max-width: 768px) {
    .countdown-box {
        width: 70px;
        height: 70px;
    }
    .countdown-box .number {
        font-size: 24px;
    }
    .countdown-box .label {
        font-size: 10px;
    }
}

.description {
    text-align: justify;
}

.rts-section-padding {
    padding: 30px !important;
}

.application-deadline {
    margin-top: 0 !important;
}

.single-brand-logo {
    max-width: 80% !important;
}

.rts-newsletter-box-content {
    text-align: center !important;
    justify-content: center !important;
}

/* --- ESTILO DAS ABAS DA PROGRAMAÇÃO --- */

/* Centraliza os botões */
.nav-pills {
    justify-content: center;
    margin-bottom: 30px;
    border-bottom: none !important;
}

/* O Botão Normal (Inativo) */
.nav-pills .nav-link {
    background-color: #f1f1f1; /* Cinza claro */
    color: #555; /* Texto cinza escuro */
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 5px; /* Bordas levemente arredondadas */
    padding: 12px 25px;
    margin: 0 5px; /* Espacinho entre eles */
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

/* Quando passa o mouse */
.nav-pills .nav-link:hover {
    background-color: #e9e9e9;
    color: #890C25; /* Texto fica vermelho */
}

/* O Botão ATIVO (O dia selecionado) */
.nav-pills .nav-link.active {
    background-color: #890C25 !important; /* VERMELHO DO FESTIVAL */
    color: #ffffff !important; /* Texto Branco */
    box-shadow: 0 4px 10px rgba(204, 0, 0, 0.3); /* Sombra suave vermelha */
}

/* Ajuste na Tabela para ela não grudar nas abas */
.tab-content {
    background: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05); /* Sombra leve na caixa toda */
}

/* Header mobile menu button */
#menu-btn { display: none; background: transparent; border: 0; font-size: 20px; cursor: pointer; color: #222; }
@media screen and (max-width: 1200px) {
  #menu-btn { display: inline-block; }
}

/* Side-bar dropdown overlay styling (mobile) */
#side-bar {
  position: fixed;
  top: 0; /* default, JS will position below header when opened */
  left: 0;
  right: 0;
  background: #ffffff;
  z-index: 100001; /* sit under header (header z-index:100002) */
  display: none;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  padding: 18px 16px;
}
#side-bar.show {
  display: block;
}
#side-bar .close-icon-menu {
  position: absolute;
  top: 8px;
  right: 12px;
  background: transparent;
  border: 0;
  font-size: 22px;
  cursor: pointer;
}
#side-bar .mainmenu { list-style: none; padding: 10px 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
#side-bar .mainmenu a { color: #222; text-decoration: none; font-weight: 600; padding: 12px 8px; display: block; }
#anywhere-home.bgshow { display: block; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 100000; }

/* If custom close cursor image missing, fallback to default cursor to avoid 404 in console */
#anywhere-home {
  cursor: auto !important;
}
/* Workshops cards: no forced sizing so template controls layout */

/* Partners grid image: show original size centered, no repeat */
.single-brand-grid {
    text-align: center;
    padding: 30px 0;
}
.single-brand-grid .partners-grid-image {
    display: inline-block;
    max-width: none;
    width: auto;
    height: auto;
    max-height: 600px;
}

/* Responsive adjustments: reduce partner logos on smaller screens */
@media (max-width: 768px) {
    .single-brand-grid {
        padding: 16px 0;
    }
    .single-brand-grid .partners-grid-image {
        /* limit width to viewport while keeping aspect ratio */
        max-width: 90%;
        width: auto;
        height: auto;
        max-height: 220px;
    }
    /* also reduce static partner logos on mobile */
    .static-partners .static-partner-logo {
        max-width: 120px;
    }
}

/* static partners (no slider) styling */
.static-partners .static-partner-logo {
    max-width: 200px;
    height: auto;
    filter: grayscale(100%) contrast(90%);
    transition: filter 250ms ease, transform 200ms ease, box-shadow 200ms ease;
    opacity: 0.95;
}
.static-partners .static-partner-logo:hover {
    filter: none;
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    opacity: 1;
}

/* Ensure static partners are displayed once and centered */
.static-partners { gap: 2rem !important; }
.static-partners .single-brand-logo { flex: 0 0 auto; }

