/* animextreme-widgets.css - VERSÃO FINAL 25 ANOS (PERFECCIONISTA) */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700&family=Montserrat:wght@700;800;900&display=swap');

:root { 
    --ax-red: #E60012;
    --ax-blue: #00AEEF;
    --ax-yellow: #FFCB05;
    --ax-green: #27ae60;  
    --ax-orange: #F39C12;
    --ax-purple: #5833b0;	
    --ax-dark: #111111;
}

/* Títulos Seção Principal */
.ax-main-title { 
    font-family: 'Montserrat', sans-serif !important; 
    font-weight: 800 !important;
    font-size: clamp(28px, 6vw, 42px) !important; 
    text-transform: uppercase !important; 
    color: var(--ax-dark) !important;
    text-align: center !important; 
    margin: 40px auto 15px !important;
}

/* Bloco de Destaques (Index) */
/* Container do card com a nova transição elástica */
/* Bloco de Destaques (Index) - Corrigido para Lado a Lado */
.ax-highlights-container { 
    display: flex !important; 
    flex-wrap: wrap !important; 
    justify-content: center !important; /* Centraliza os cards */
    gap: 30px 50px; 
    max-width: 1200px !important; 
    margin: 0 auto 40px !important; 
}

.ax-high-card { 
    flex: 0 1 calc(25% - 20px) !important; /* Força 4 por linha no Desktop */
    min-width: 180px; 
    max-width: 240px; 
    text-align: center; 
    cursor: pointer; 
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); 
}
/* TRAVA DE TAMANHO MANTIDA: A imagem continua quadrada e cobrindo o espaço */
.ax-high-card img { 
    width: 100%; 
    aspect-ratio: 1/1; /* Garante que a imagem seja SEMPRE quadrada */
    object-fit: cover; /* Faz a imagem preencher o quadrado sem distorcer */
    border-radius: 40px 0 40px 0;
    border: none !important; 
    box-shadow: 10px 10px 0 var(--ax-dark) !important; /* Cor padrão caso o ciclo falhe */
    /* Transição sutil para a sombra e borda */
    transition: all 0.3s ease; 
}	
	/* CICLO DE 6 CORES PARA OS DESTAQUES */

/* 1º, 7º, 13º... (Vermelho) */
.ax-high-card:nth-child(6n+1) img { box-shadow: 10px 10px 0 var(--ax-red) !important; }
/* 2º, 8º, 14º... (Azul) */
.ax-high-card:nth-child(6n+2) img { box-shadow: 10px 10px 0 var(--ax-blue) !important; }
/* 3º, 9º, 15º... (Amarelo) */
.ax-high-card:nth-child(6n+3) img { box-shadow: 10px 10px 0 var(--ax-yellow) !important; }
/* 4º, 10º, 16º... (Verde) */
.ax-high-card:nth-child(6n+4) img { box-shadow: 10px 10px 0 var(--ax-green) !important; }
/* 5º, 11º, 17º... (Laranja) */
.ax-high-card:nth-child(6n+5) img { box-shadow: 10px 10px 0 var(--ax-orange) !important; }
/* 6º, 12º, 18º... (Roxo) */
.ax-high-card:nth-child(6n+6) img { box-shadow: 10px 10px 0 var(--ax-purple) !important; }


/* --- EFEITOS DE HOVER --- */

/* O card sobe e cresce levemente */
.ax-high-card:hover { 
    transform: translateY(-12px) scale(1.03); 
}

/* A sombra e a borda da imagem mudam de cor no hover */
.ax-high-card:hover img { 
    box-shadow: 15px 15px 0 var(--ax-yellow) !important; 
    border-color: var(--ax-red) !important;
}
.ax-high-card p { font-family: 'Montserrat', sans-serif !important; font-weight: 700 !important; font-size: 18px !important; margin-top: 15px !important; color: var(--ax-dark) !important; text-transform: uppercase; }

/* Cronograma Desktop */
.ax-schedule-wrapper { width: 100%; background: #fff; text-align: center; padding: 0; margin: 0; }
#ax-schedule-svg { display: block !important; margin: 0 auto !important; max-width: 100%; height: auto; }

/* LISTA MOBILE SLIM (Otimizada) */
.ax-mobile-list { display: none; font-family: 'Manrope', sans-serif !important; padding: 10px; width: 100%; box-sizing: border-box; }
.ax-day-title { 
    font-family: 'Montserrat' !important; font-weight: 800 !important; font-size: 24px !important; 
    background: var(--ax-dark) !important; color: #fff !important; 
    padding: 10px !important; border-radius: 15px 0 15px 0 !important; 
    margin: 20px 0 10px !important; text-align: center; text-transform: uppercase;
}
.stage-header { font-family: 'Montserrat', sans-serif !important; font-weight: 700; margin: 10px 0 5px; padding: 5px; border-radius: 4px; color: #fff; font-size: 12px; text-align: center; text-transform: uppercase; }

.ax-mobile-item { 
    display: flex !important; align-items: center !important; background: #fff; border-left: 6px solid #333;
    padding: 10px 15px !important; margin-bottom: 6px !important; 
    box-shadow: 0 2px 8px rgba(0,0,0,0.05); cursor: pointer; border-radius: 0 10px 10px 0; gap: 20px;
}
.ax-mobile-time { 
    font-family: 'Montserrat', sans-serif !important; 
    font-weight: 800; 
    color: var(--ax-red); 
    font-size: 14px; 
    min-width: 65px; /* <--- MEXA AQUI (ex: 65px ou 70px) para empurrar o nome mais para a direita */
    text-align: right;
}

.ax-mobile-info { 
    font-family: 'Manrope', sans-serif !important; 
    font-size: 14px; 
    font-weight: 700; 
    color: var(--ax-dark); 
    line-height: 1.2;
    flex: 1; /* Isso garante que o nome ocupe o resto da linha, mas comece após o gap */
    text-align: left; /* Garante que o nome não corra para o centro */
}

/* MODAIS: EDITORIAL PREMIUM */
.ax-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.85); z-index: 100000; justify-content: center; align-items: center; backdrop-filter: blur(8px); }
.ax-modal-content { background: #fff; padding: 0; border-radius: 20px; width: 95%; max-width: 850px; max-height: 90vh; overflow-y: auto; position: relative; overflow-x: hidden; }
.ax-close-modal { position: absolute; top: 15px; right: 20px; font-size: 40px; font-weight: bold; cursor: pointer; color: #fff; z-index: 20; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }

.ax-info-strip { padding: 25px 40px; color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 800; text-transform: uppercase; font-size: 16px; letter-spacing: 1px; text-align: center; }
.modal-body-padding { padding: 40px; }

/* Nome do Artista: Impacto Máximo solicitado */
.guest-text-container h2 { 
    font-family: 'Montserrat', sans-serif !important; font-weight: 900 !important; 
    font-size: clamp(36px, 6vw, 54px) !important; /* Ficou gigante e lindo */
    margin-bottom: 15px; color: var(--ax-red); 
    text-transform: uppercase; line-height: 0.85; letter-spacing: -2px;
}

.guest-editorial-row { display: flex; gap: 40px; margin-bottom: 40px; align-items: flex-start; }
.guest-photo-container { flex-shrink: 0; }
.guest-photo-container img { 
    width: 250px !important; 
    height: 250px !important; 
    object-fit: cover; 
    /* Aumentado para 40px para seguir o padrão dos destaques */
    border-radius: 40px 0 40px 0; 
    border: none !important; /* Borda preta de 4px removida */
    box-shadow: 10px 10px 0 var(--ax-yellow); 
}

.guest-text-container .bio { font-family: 'Manrope', sans-serif !important; font-size: 16px !important; line-height: 1.8 !important; color: #444 !important; }

/* Agenda Organizada no Modal */
.guest-schedule-box { background: #f0f0f0; padding: 25px; border-radius: 15px; margin-top: 15px; border: 1px solid #eee; }
.guest-schedule-box h4 { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 16px; margin-bottom: 20px; color: var(--ax-dark); border-bottom: 3px solid var(--ax-yellow); display: inline-block; text-transform: uppercase; }
.day-group-header { font-family: 'Montserrat', sans-serif; font-weight: 900; font-size: 13px; color: var(--ax-red); text-transform: uppercase; margin-top: 20px; margin-bottom: 8px; border-left: 4px solid var(--ax-red); padding-left: 10px; }
.day-group-header:first-of-type { margin-top: 0; }
.schedule-entry { 
    display: flex; 
    justify-content: space-between; 
    font-family: 'Manrope', sans-serif; 
    font-size: 14px; 
    /* Diminuído de 10px para 5px para apertar a lista */
    padding: 5px 0; 
    color: #444; 
}

/* Rodapé e Nota Legal */
.ax-schedule-footer { margin: 10px auto 40px !important; font-family: 'Manrope', sans-serif !important; font-size: 11px; color: #999; text-align: center; padding: 0 15px; }
.modal-legal-note { font-family: 'Manrope', sans-serif; font-size: 10px; color: #aaa; margin-top: 15px; display: block; font-style: italic; text-align: left; }

@media (max-width: 850px) { 
    #ax-schedule-svg { display: none !important; }
    .ax-mobile-list { display: block !important; visibility: visible !important; }
    .ax-high-card { 
        flex: 0 1 calc(50% - 20px) !important; /* Garante 2 por linha no Mobile */
        max-width: 180px; /* Ajuste para não quebrar em telas pequenas */
    }
    .guest-editorial-row { flex-direction: column !important; align-items: center; text-align: center; }
    .guest-photo-container img { width: 220px !important; height: 220px !important; }
    .modal-body-padding { padding: 30px 20px; }
}
/* Efeito de destaque nos balões do cronograma desktop */
.ax-activity { transition: all 0.2s ease; }
.ax-activity:hover { 
    filter: brightness(1.2) drop-shadow(0px 5px 8px rgba(0,0,0,0.4));
    transform: translateY(-3px); 
}