/*MARK: Grid do calendário
*/
.calendars {
	display: flex;
	gap: 16px !important;
}

.calendars > * {
	flex: 1 1 50%;
	max-width: 50%;
	box-sizing: border-box;
}

.simcal-calendar {
	width: 100% !important;
}

/*MARK: Mensagem de eventos vazios
*/
.ecs-no-events {
	flex: 0 0 100% !important;
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
	margin: 20px 0 !important;
	clear: both !important;
}

/*MARK: Dias da semana
*/
.simcal-default-calendar-grid th.simcal-week-day {
	font-size: 0;
	text-align: center;
	vertical-align: middle;
	height: 40px;
	font-family: var(--primary-font);
	color: var(--dark-grey);
	    margin-bottom: var(--spacing-huge) !important;
}

/* Muda a cor do número para azul nos Domingos (0) e Sábados (6) */
.simcal-calendar .simcal-weekday-0 .simcal-day-label.simcal-day-number, 
.simcal-calendar .simcal-weekday-6 .simcal-day-label.simcal-day-number {
	color: var(--grey) !important; 
	background-color: transparent !important; 
}


.simcal-default-calendar-grid th.simcal-week-day::after {
	content: attr(data-screen-small);
	font-size: 18px;
	font-weight: var(--font-weight-large);
	text-transform: uppercase;
	display: inline-block;
	line-height: 40px;
	color: var(--light-grey);
	padding-bottom: var(--spacing-medium);
}

.simcal-default-calendar-grid th.simcal-week-day-6::after,
.simcal-default-calendar-grid th.simcal-week-day-0::after {
	color: var(--pastel-grey)!important;
}


/*Linha divisória*/
.simcal-default-calendar-grid thead.simcal-calendar-head {
	border-bottom: 3px solid var(--pastel-grey)!important;
	border-radius: var(--radius-medium);
	margin-bottom: var(--spacing-small)!important;
}


.simcal-default-calendar-grid thead.simcal-calendar-head {

	border-bottom: none !important; 
	position: relative;
}



.simcal-default-calendar-grid thead.simcal-calendar-head {
	/* Garante um espaço para a linha não colar nas letras */
	padding-bottom: var(--spacing-small) !important;
}

.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-void, 
.simcal-default-calendar-grid.simcal-default-calendar-light .simcal-day-void:hover {
	background-color: var(--pure-white) !important;
}


/*MARK: Botoes de navegação
*/

.simcal-default-calendar-grid .simcal-calendar-head .simcal-nav
{
	    padding: 0px 0;
}

/* Define a linha do cabeçalho como referência para o posicionamento dos botões */
.simcal-calendar-head tr:first-child {
	position: relative !important;
	display: table-row !important;
}

/*Setinhas*/
.simcal-icon-left:before {
	content: "" !important; 
	display: inline-block!important;
	width: 32px!important;   
	height: 32px!important;
	vertical-align: middle!important;
	background-color: var(--dark-grey)!important;  

	/* Injeção do SVG como Máscara */
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M201.4 297.4C188.9 309.9 188.9 330.2 201.4 342.7L361.4 502.7C373.9 515.2 394.2 515.2 406.7 502.7C419.2 490.2 419.2 469.9 406.7 457.4L269.3 320L406.6 182.6C419.1 170.1 419.1 149.8 406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3L201.3 297.3z"/></svg>') no-repeat center;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M201.4 297.4C188.9 309.9 188.9 330.2 201.4 342.7L361.4 502.7C373.9 515.2 394.2 515.2 406.7 502.7C419.2 490.2 419.2 469.9 406.7 457.4L269.3 320L406.6 182.6C419.1 170.1 419.1 149.8 406.6 137.3C394.1 124.8 373.8 124.8 361.3 137.3L201.3 297.3z"/></svg>') no-repeat center;
	mask-size: contain;
	-webkit-mask-size: contain!important;
	transition: transform 0.3s ease !important;
}

.simcal-icon-right:before {
	content: "" !important; 
	display: inline-block!important;
	width: 28px!important;   
	height: 28px!important;
	vertical-align: middle!important;
	background-color: var(--black)!important; 

	/* Injeção do SVG como Máscara */
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z"/></svg>') no-repeat center;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M439.1 297.4C451.6 309.9 451.6 330.2 439.1 342.7L279.1 502.7C266.6 515.2 246.3 515.2 233.8 502.7C221.3 490.2 221.3 469.9 233.8 457.4L371.2 320L233.9 182.6C221.4 170.1 221.4 149.8 233.9 137.3C246.4 124.8 266.7 124.8 279.2 137.3L439.2 297.3z"/></svg>') no-repeat center;
	mask-size: contain;
	-webkit-mask-size: contain!important;
		transition: transform 0.3s ease !important;
}



/* Ajuste de tamanho e cores base para os botões arredondados */
.simcal-nav-button.simcal-month-nav {
	background-color: var(--pure-white) !important;
	border: 1px solid var(--pastel-grey) !important;
	border-radius: var(--radius-rounded) !important;
	width: 42px !important;
	height: 42px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	padding: 0 !important;
	outline: none !important;
	margin: 0 auto !important;
}

/* Transição de cores para o estado de destaque ao passar o mouse */
.simcal-nav-button.simcal-month-nav:hover {
	background-color: var(--secondary-color) !important;
	border-color: var(--secondary-color) !important;
	color: var(--pure-white)!important;
}

/* Modificação da cor do ícone interno para manter visibilidade no fundo colorido */
.simcal-nav-button.simcal-month-nav:hover i {
	color: var(--pure-white) !important;
}

/* Definição de transparência e remoção de interações para botões bloqueados */
.simcal-nav-button.simcal-month-nav[disabled],
.simcal-nav-button.simcal-month-nav[disabled="disabled"] {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
	border: none !important;
	background-color: transparent !important;
	pointer-events: none !important;
}

/* Anulação de qualquer efeito de destaque para o estado desabilitado */
.simcal-nav-button.simcal-month-nav[disabled]:hover {
	background-color: transparent !important;
	border: none !important;
}

/* Ajuste da cor do ícone interno para o estado desabilitado */
.simcal-nav-button.simcal-month-nav[disabled] i {
	color: var(--pastel-grey) !important;
}

/* Deslocamento interno do ícone da esquerda para maior equilíbrio visual */
.simcal-nav-button.simcal-prev i {
	margin-right: 2px !important;
}

/* Deslocamento interno do ícone da direita para maior equilíbrio visual */
.simcal-nav-button.simcal-next i {
	margin-left: 2px !important;
}

/* Centralização do conteúdo dos botões de navegação */
.simcal-nav-button.simcal-month-nav {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

/*Animação da setinha*/

/* 2. Gatilho da animação no Hover do botão (Esquerda) */
.simcal-nav-button.simcal-prev:hover .simcal-icon-left:before {
	transform: translateX(-4px) !important;
	background: var(--pure-white) !important;
}

/* 3. Gatilho da animação no Hover do botão (Direita) */
.simcal-nav-button.simcal-next:hover .simcal-icon-right:before {
	transform: translateX(4px) !important;
	background: var(--pure-white) !important;
}

/*dia de hoje*/

/* aplica a bolinha*/
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number {
	background-color: unset !important;
	color: var(--tertiary-color) !important;
	border: 2px solid var(--tertiary-color) !important;
	font-weight: var(--font-weight-large) ;
	
	width: 36px !important;
	height: 36px !important;
	border-radius: var(--radius-rounded) !important;
	cursor: default !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%);
	padding: 0 !important;
	transition: background-color .18s ease, color .18s ease, transform .12s ease !important;
}

/*Hover*/
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number:hover {
	background-color: var(--tertiary-color) !important;
	color: var(--pure-white) !important;
	
	transform: translate(-50%, -50%) scale(1.06) !important; 
	
}

/* remove o fundo da celula*/
.simcal-default-calendar-grid td.simcal-today > div {
	border: none !important;
	background: transparent !important;
}

/* MARK: Tooltip Hoje
*/

/* 1. Preparação do container (a bolinha) */
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number {
	position: absolute !important; /* Já estava assim, mas reforçamos como âncora */
}

/* 2. Criação da caixa da Tooltip */
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number::after {        
	content: "Hoje";
	position: absolute;
	bottom: 125%; /* Posiciona acima da bolinha */
	left: 50%;
	transform: translateX(-50%) translateY(5px);
	
	/* Estilização visual */
	background-color: var(--tertiary-color);
	color: var(--pure-white);
	padding: 4px 8px;
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	border-radius: 4px;
	white-space: nowrap;
	
	/* Estado inicial (escondido) */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
	pointer-events: none; /* Não atrapalha o clique */
	z-index: 100;
}

/*Triângulo da Tooltip  */
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number::before {
	content: "";
	position: absolute;
	bottom: 110%; 
	left: 50%;
	transform: translateX(-50%) translateY(5px);
	border-width: 8px 8px 0 8px;
	border-style: solid;
	border-color: var(--tertiary-color) transparent transparent transparent;
	cursor: default!important;
	/* Estado inicial (escondido) */
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
	z-index: 100;
}

/* 4. Gatilho de Hover */
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number:hover::after,
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number:hover::before {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

	/* MARK: Tooltip para Dias com Eventos */
/*container da bolinha de evento  */

.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number::after,
.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number::before {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease, transform 0.2s ease;
	pointer-events: none;
	z-index: 100;
}

/* 2. Conteúdo da Tooltip (Caixinha) */
.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number::after {
		content: attr(data-tooltip);
	
	position: absolute;
	bottom: 125%; 
	left: 50%;
	transform: translateX(-50%) translateY(5px);
	
	background-color: var(--secondary-color);
	color: var(--pure-white);
	padding: 4px 8px;
	font-size: 11px;
	font-weight: var(--font-weight-medium);
	border-radius: 4px;
	white-space: nowrap;
	z-index: 10;
}

/* 3. Triângulo da Tooltip (Setinha) */
.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number::before {
	content: "";
	position: absolute;
	bottom: 110%; 
	left: 50%;
	transform: translateX(-50%);
	border-width: 8px 8px 0 8px; 
	border-style: solid;
	border-color:  var(--secondary-color) transparent transparent transparent;
}

/* 4. Gatilho de Hover (Ao passar o mouse, mostra) */
.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number:hover::after {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number:hover::before {
	opacity: 1;
	visibility: visible;
}


/* aplica a bolinha*/
.simcal-default-calendar-grid td.simcal-today .simcal-day-label.simcal-day-number {
	background-color: unset !important;
	color: var(--tertiary-color) !important;
	border: 2px solid var(--tertiary-color) !important;
	font-weight: var(--font-weight-large) ;
	
	width: 36px !important;
	height: 36px !important;
	border-radius: var(--radius-rounded) !important;
	cursor: default !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate(-50%, -50%) !important;
}

/* remove o fundo da celula*/
.simcal-default-calendar-grid td.simcal-today > div {
	border: none !important;
	background: transparent !important;
}


/* MARK: Dias Passados
	*/

/* 1. Altera a cor do número para cinza em qualquer dia que já passou */
.simcal-default-calendar-grid td.simcal-past .simcal-day-label.simcal-day-number {
	color: var(--pastel-grey) !important;
}

/*MARK: Calendario
*/

/*Espaçamento do mes e ano*/
.simcal-nav.simcal-current h3 {
    display: flex !important;
    justify-content: center !important; 
    align-items: center !important;     
    margin: 0 auto !important;          
    width: 100% !important;
    left: 0 !important;                
}
.simcal-default-calendar-grid th.simcal-current {
	text-align: center;
	padding: 0 !important;
}

.simcal-default-calendar-grid th.simcal-current h3 {
	margin: var(--spacing-huge) auto !important;
	font-family: var(--primary-font);
	font-size: var(--font-size-large);
	font-weight: var(--font-weight-large);
	line-height: var(--line-height-large);
	color: var(--black);
	width: auto !important;
	align-items: center !important;	
	gap: var(--spacing-small) !important;
}

.simcal-default-calendar-grid {
	background-color: var(--pure-white);
	border-radius: var(--radius-medium);
	padding: var(--spacing-medium);
	box-shadow: 0 6px 18px rgba(0,0,0,0.06);
	box-sizing: border-box;

}

.simcal-default-calendar-grid td.simcal-day > div {
	min-height: 48px !important;
	padding: var(--spacing-tiny) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	position: relative;
	border: none !important;
	background: transparent !important;
	transition: none !important;
}

.simcal-default-calendar-grid table {
	width: 100%;
	border-collapse: collapse;
}

.simcal-default-calendar-grid .simcal-no-events,
.simcal-default-calendar-grid .simcal-events,
.simcal-default-calendar-grid .simcal-events-dots {
	display: none !important;
}

.simcal-default-calendar-grid .simcal-day-label.simcal-day-number {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 36px !important;
	height: 36px !important;
	max-width: 36px !important;
	max-height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: var(--radius-rounded) !important;
	font-size: var(--font-size-medium);
	font-weight: var(--font-weight-medium);
	z-index: 4;
	cursor: pointer;
	background-color: transparent !important;
	color: var(--black) !important;
	transition: none !important;
	line-height: 1;
}

.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number {
	background-color: var(--primary-color) !important;
	color: var(--pure-white) !important;
	padding: 0 !important;
	transition: background-color .18s ease, color .18s ease, transform .12s ease;
}

.simcal-default-calendar-grid td.simcal-day-has-events .simcal-day-label.simcal-day-number:hover {
	transform: translate(-50%, -50%) scale(1.03);
	background-color: var(--secondary-color) !important;
	cursor: pointer !important;
}

.simcal-default-calendar-grid td.simcal-day:not(.simcal-day-has-events):not(.simcal-today) .simcal-day-label.simcal-day-number {
	background-color: transparent !important;
	color: var(--dark-grey);
	box-shadow: none !important;
	cursor: default !important;
	width: auto !important;
	height: auto !important;
}

.simcal-default-calendar-grid td.simcal-day:hover,
.simcal-default-calendar-grid td.simcal-day > div:hover {
	background: transparent !important;
	transform: none !important;
	box-shadow: none !important;
}

/* Configuração de fundo e posicionamento do popup de eventos */
.simcal-all-events-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.42);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 12000;
}

/* Estilização visual e dimensões da janela modal de eventos */
.simcal-all-events-modal {
	background: var(--white);
	border-radius: var(--radius-medium);
	padding: var(--spacing-large);
	max-width: 520px;
	width: calc(100% - 48px);
	max-height: 84vh;
	overflow-y: auto;
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
	position: relative;
	font-family: var(--primary-font);

	animation: fadeIn 0.2s ease-out forwards;
}


/* 4. A Animação (Keyframes) */
@keyframes fadeIn {
	from {
		opacity: 0;
		visibility: hidden;
	}
	to {
		opacity: 1;
		visibility: visible;
	}
}
/* Estilo e posicionamento do botão de fechar da modal */
.simcal-all-events-modal .close-btn {
	position: absolute;
	top: var(--spacing-small);
	right: var(--spacing-small);
	width: 28px;
	height: 28px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--red);
	border: none;
	border-radius: var(--radius-rounded);
	font-size: 24px;
	font-weight: var(--font-weight-large);
	color: #ffffff;
	cursor: pointer;
	line-height: 1;
	box-shadow: none;
	transition: background 0.2s ease, color 0.2s ease;
}

.simcal-all-events-modal .close-btn {

	color: transparent !important; 

}

.simcal-all-events-modal .close-btn::before {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	background-color: #ffffff; 
	

	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>') no-repeat center;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path d="M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z"/></svg>') no-repeat center;
	
	mask-size: contain;
	-webkit-mask-size: contain;
}

/* Efeito visual ao passar o mouse sobre o botão de fechar */
.simcal-all-events-modal .close-btn:hover {
	background: var(--grey);
	color: var(--white);
}

/* Espaçamento inferior dos blocos de evento na lista */
.simcal-all-events-modal .event-block {
	margin-bottom: var(--spacing-medium);
}

/* Formatação dos títulos dentro dos blocos de evento */
.simcal-all-events-modal .event-block h4 {
	margin: var(--spacing-small) auto !important;
	color: var(--primary-color);
	font-size: var(--font-size-large);
	font-family: var(--primary-font) !important;
}

/* Define a posição relativa para as células de dia do calendário */
.simcal-day {
	position: relative;
}

/* Criação do indicador visual circular para dias com múltiplos eventos */
.simcal-day.has-multiple-events::after {
	content: '';
	position: absolute;
	top: auto;
	bottom: 8px;      
	right: 10%;        
	transform: translateX(-50%); 
	width: 10px;      
	height: 10px;
	background-color: var(--red);
	border-radius: 50%;
	pointer-events: none !important;
	z-index: 4;
	pointer-events: none; 
	box-shadow: 0 0 0 2px #fff; 
}

/* Estilização da exibição de data e hora nos eventos */
.simcal-all-events-modal .event-block .when {
	margin: 2px 0;
	color: var(--grey);
	font-size: var(--font-size-small)!important;
	position: relative;
	padding-left: 0; 
	line-height: 1.2;
	transition: opacity 0.2s ease-in-out, visibility 0.2s !important;
	padding-left: 22px !important;
}

/* Adiciona recuo lateral quando há texto na data para abrir espaço ao ícone */
.simcal-all-events-modal .event-block .when.has-text {
	padding-left: 22px;
}

/* Configuração do ícone de relógio via máscara svg para o campo de data */
.simcal-all-events-modal .event-block .when::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1.5px;
	width: 16px;
	height: 16px;
	background-color: var(--light-grey);
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320C64 178.6 178.6 64 320 64zM296 184L296 320C296 328 300 335.5 306.7 340L402.7 404C413.7 411.4 428.6 408.4 436 397.3C443.4 386.2 440.4 371.4 429.3 364L344 307.2L344 184C344 170.7 333.3 160 320 160C306.7 160 296 170.7 296 184z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320C64 178.6 178.6 64 320 64zM296 184L296 320C296 328 300 335.5 306.7 340L402.7 404C413.7 411.4 428.6 408.4 436 397.3C443.4 386.2 440.4 371.4 429.3 364L344 307.2L344 184C344 170.7 333.3 160 320 160C306.7 160 296 170.7 296 184z"/></svg>');
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.2s ease-in-out, visibility 0.2s !important;
}

/* Torna o ícone de tempo visível quando o elemento possui conteúdo */
.simcal-all-events-modal .event-block .when.has-text::before {
	opacity: 1;
}

/* Estilização da exibição de localização nos eventos */
.simcal-all-events-modal .event-block .loc {
	margin-top: 16px !important;
	color: var(--black);
	font-size: var(--font-size-medium)!important;
	font-weight: var(--font-weight-medium)!important;
	position: relative;
	padding-left: 0;
	line-height: 1.2;
	transition: opacity 0.2s ease-in-out, visibility 0.2s !important;
	padding-left: 22px !important;
}

/* Adiciona recuo lateral quando há texto na localização para abrir espaço ao ícone */
.simcal-all-events-modal .event-block .loc.has-text {
	padding-left: 22px;
}

/* Configuração do ícone de mapa via máscara svg para o campo de localização */
.simcal-all-events-modal .event-block .loc::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 16px;
	height: 16px;
	background-color: var(--dark-grey); 
	-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z"/></svg>');
	mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z"/></svg>');
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.2s ease-in-out, visibility 0.2s !important;
}

/* Torna o ícone de localização visível quando o elemento possui conteúdo */
.simcal-all-events-modal .event-block .loc.has-text::before {
	opacity: 1;
}

/* Centralização do grupo de blocos de calendários */
.wp-block-group.calendars {
	justify-content: center !important;
	text-align: center !important;
	margin-top: var(--spacing-large);
}

/* Regras para forçar a centralização e largura total do aviso de falta de eventos */
.ecs-no-events {
	display: block !important;
	width: 100% !important;
	clear: both !important; 
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
	align-self: center !important;
}

/*Feriados e Pontos facultativos*/


/* Feriado (Vermelho) */
.simcal-default-calendar-grid td.simcal-day-has-events.is-holiday .simcal-day-label.simcal-day-number {
    background-color: var(--light-grey) !important;
    color: var(--pure-white) !important;
}

/* Ponto Facultativo (Cinza) */
.simcal-default-calendar-grid td.simcal-day-has-events.is-ponto-facultativo .simcal-day-label.simcal-day-number {
    background-color: var(--grey) !important;
    color: var(--pure-white) !important;
}

/* tooltips*/

/* --- FERIADOS --- */

.simcal-default-calendar-grid td.simcal-day-has-events.is-holiday .simcal-day-label.simcal-day-number {
    background-color: var(--grey) !important;
    color: var(--pure-white) !important;
}

.simcal-default-calendar-grid td.simcal-day-has-events.is-holiday .simcal-day-label.simcal-day-number:hover {
    background-color: var(--grey) !important;
    filter: brightness(1.2); /* Clareia a cor no hover */
}

.simcal-default-calendar-grid td.simcal-day-has-events.is-holiday .simcal-day-label.simcal-day-number::after {
    background-color: var(--grey) !important;
    color: var(--pure-white) !important;
}

.simcal-default-calendar-grid td.simcal-day-has-events.is-holiday .simcal-day-label.simcal-day-number::before {
    background-color: transparent !important;
    border-top-color: var(--grey) !important;
}

/* --- PONTOS FACULTATIVOS --- */

.simcal-default-calendar-grid td.simcal-day-has-events.is-ponto-facultativo .simcal-day-label.simcal-day-number {
    background-color: var(--grey) !important;
    color: var(--pure-white) !important;
}

.simcal-default-calendar-grid td.simcal-day-has-events.is-ponto-facultativo .simcal-day-label.simcal-day-number:hover {
    background-color: var(--grey) !important;
    filter: brightness(1.2); /* Clareia a cor no hover */
}

.simcal-default-calendar-grid td.simcal-day-has-events.is-ponto-facultativo .simcal-day-label.simcal-day-number::after {
    background-color: var(--grey) !important;
    color: var(--pure-white) !important;
}

.simcal-default-calendar-grid td.simcal-day-has-events.is-ponto-facultativo .simcal-day-label.simcal-day-number::before {
    background-color: transparent !important;
    border-top-color: var(--grey) !important;
}


/*MARK: Posts de Eventos
*/
/* 0. ALINHAMENTO DO CONTAINER PAI (CENTRO TOPO) */
.ecs-event-list {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important; 
	width: 100% !important;
	max-width: 1200px !important; 
	margin: 0 !important; 
}

/* 1. RESET DE LISTA (ASTRA) */
.entry-content ul.ecs-event-list, 
.entry-content ol.ecs-event-list,
ul.ecs-event-list {
	padding: 0 !important;
	padding-left: 0 !important;
	list-style: none !important;
}

/* 2. CONTAINER EM GRID */
.ecs-event {
	display: grid !important;
	/* Colunas padrão: Data (90px) | Conteúdo (Flexível) | Imagem (120px) */
	grid-template-columns: 90px 1fr 120px !important;
	grid-template-rows: auto auto auto !important;
	align-items: center !important;
	
	background: var(--pure-white) !important;
	border-radius: var(--radius-medium) !important;
	padding: var(--spacing-medium) !important;
	gap: 0 var(--spacing-medium) !important;
	box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
	margin-bottom: var(--spacing-medium) !important;
	font-family: var(--secondary-font) !important;

	/* ESSENCIAL PARA O LINK CLICÁVEL EM TUDO */
	position: relative !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease !important;
	
	/* Largura do Card */
	width: 100% !important; 
	max-width: 800px !important; /* Defina uma largura máxima para o card não esticar demais */
}


/*Hover*/

/* Efeito visual ao passar o mouse no card */
.ecs-event:hover {
	background: var(--pure-white) linear-gradient(0deg, rgb(148 211 255 / 11%) 0%, var(--pure-white) 80%) !important;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.24) !important;
	transform: scale(1.04) !important;
	cursor: pointer !important;
}

/* Hover no Titulo card */
.ecs-event:hover .entry-title a {
    color: var(--secondary-color) !important;
}

/* Hover na data */
.ecs-event:hover .dia-grande,
.ecs-event:hover .mes-pequeno {
    color: var(--secondary-color) !important;
}

/* Garante uma transição suave para as cores */
.ecs-event .entry-title a,
.ecs-event .dia-grande,
.ecs-event .mes-pequeno,
.bloco-data-fatiado {
    transition: color 0.3s ease, border-color 0.3s ease !important;
}

/*Se não tiver imagem, remove a 3ª coluna */
.ecs-event:not(:has(img)) {
	grid-template-columns: 90px 1fr !important;
}

/* 3. BLOCO DA ESQUERDA (DATA) */
.bloco-data-fatiado {
	grid-column: 1 !important;
	grid-row: 1 / -1 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	border-right: 2px solid var(--pastel-grey) !important;
	padding-right: 14px !important;
	height: 100% !important;
	z-index: 1 !important;
}

.dia-grande { 
	font-size: 41px !important; 
	font-weight: var(--font-weight-large) !important; 
	color: var(--primary-color) !important; 
	font-family: var(--primary-font) !important;
	line-height: 1 !important; 
}

.mes-pequeno { 
	font-size: var(--font-size-medium) !important; 
	color: var(--primary-color) !important; 
	font-weight: var(--font-weight-medium) !important;
	text-transform: lowercase !important; 
}

/* 4. BLOCO DA DIREITA (IMAGEM) */
.ecs-event img {
	grid-column: 3 !important;
	grid-row: 1 / -1 !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100px !important;
	object-fit: cover !important;
	border-radius: var(--radius-small) !important;
	margin: 0 !important;
	z-index: 1 !important;
}

/* --- 5. BLOCO CENTRAL (ALINHAMENTO À ESQUERDA) --- */

.ecs-event .entry-title,
.ecs-event .duration.time,
.ecs-event .duration.venue {
	text-align: left !important;
	justify-self: start !important;
	width: 100% !important;
	display: block !important;
}

/* Título */
.ecs-event .entry-title {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 0 var(--spacing-tiny) 0 !important;
	align-self: end !important;
}

.ecs-event .entry-title a {
	font-size: var(--font-size-large) !important;
	font-weight: var(--font-weight-large) !important;
	color: var(--primary-color) !important;
	font-family: var(--primary-font) !important;
	text-decoration: none !important;
	line-height: var(--line-height-medium) !important;
	display: block !important;
}

/* EXPANSÃO DO LINK PARA TODO O CARD */
.ecs-event .entry-title a::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	z-index: 2 !important;
}

/* Data e Hora */
.ecs-event .duration.time {
	grid-column: 2 !important;
	grid-row: 2 !important;
	font-size: var(--font-size-small) !important;
	color: var(--dark-grey) !important;
	margin-bottom: var(--spacing-tiny) !important;
}

/* --- LOCALIZAÇÃO --- */
.ecs-event .duration.venue {
	grid-column: 2 !important;
	grid-row: 3 !important;
	font-size: var(--font-size-small) !important;
	font-weight: var(--font-weight-medium) !important;
	color: var(--grey) !important;
	align-self: start !important;
	position: relative !important;
	padding-left: 20px !important;
	line-height: var(--line-height-medium) !important;
}

.ecs-event .duration.venue span {
	display: inline !important;
	font-style: normal !important;
	margin: 0 !important;
}

/*remove o às*/
.duration.venue em {
	display: none;
}


/* Ícone de Localização */
.ecs-event .duration.venue::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 2px !important;
	width: 18px !important;
	height: 18px !important;
	background-color: var(--grey) !important; 
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M128 252.6C128 148.4 214 64 320 64C426 64 512 148.4 512 252.6C512 371.9 391.8 514.9 341.6 569.4C329.8 582.2 310.1 582.2 298.3 569.4C248.1 514.9 127.9 371.9 127.9 252.6zM320 320C355.3 320 384 291.3 384 256C384 220.7 355.3 192 320 192C284.7 192 256 220.7 256 256C256 291.3 284.7 320 320 320z'/%3E%3C/svg%3E") !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
}

/* --- ÍCONE DE TEMPO (RELÓGIO) ALINHADO AO TOPO --- */
.ecs-event .duration.time {
	font-size: var(--font-size-small) !important;
	color: var(--dark-grey) !important;
	margin-bottom: var(--spacing-tiny) !important;
	position: relative !important;
	padding-left: 20px !important; 
	min-height: 20px !important;
	display: block !important;
	line-height: var(--line-height-medium) !important; 
}

.ecs-event .duration.time::before {
	content: "" !important;
	display: inline-block !important;
	position: absolute !important;
	left: 0 !important;
	top: 2px !important; 
	transform: none !important; 
	width: 16px !important; 
	height: 16px !important;
	background-image: none !important; 
	background-color: var(--grey) !important; 
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320C64 178.6 178.6 64 320 64zM296 184L296 320C296 328 300 335.5 306.7 340L402.7 404C413.7 411.4 428.6 408.4 436 397.3C443.4 386.2 440.4 371.4 429.3 364L344 307.2L344 184C344 170.7 333.3 160 320 160C306.7 160 296 170.7 296 184z'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 640'%3E%3Cpath d='M320 64C461.4 64 576 178.6 576 320C576 461.4 461.4 576 320 576C178.6 576 64 461.4 64 320C64 178.6 178.6 64 320 64zM296 184L296 320C296 328 300 335.5 306.7 340L402.7 404C413.7 411.4 428.6 408.4 436 397.3C443.4 386.2 440.4 371.4 429.3 364L344 307.2L344 184C344 170.7 333.3 160 320 160C306.7 160 296 170.7 296 184z'/%3E%3C/svg%3E") !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-size: contain !important;
}
/* Limpeza */
.ecs-excerpt { display: none !important; }

/*MARK:Paginação de eventos*/

/* O Wrapper garante que a lista e paginação fiquem na mesma coluna */
.lista-eventos-coluna-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
}

.ecs-event-list {
    width: 100% !important;
    margin: 0 !important;
    min-height: 480px !important;
}

.ecs-pagination-custom {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: var(--spacing-small) !important;
    padding: 0 !important;
    width: 100% !important;
	margin-bottom: var(--spacing-large) !important;
}
/* Botões Estilo Bolinha (Design Tokens Aplicados) */
.ecs-pagination-custom button {
    /* Estrutura de Círculo */
    width: 44px !important;
    height: 44px !important;
    border-radius: var(--radius-rounded) !important;
    
    /* Centralização Total do Texto */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    line-height: 1 !important;
    
    /* Estado Não Ativo: Outline Primary e Texto Primary */
    background-color: transparent !important;
    border: 2px solid var(--primary-color) !important; 
    color: var(--primary-color) !important;
    
    font-family: var(--primary-font) !important;
    font-size: var(--font-size-medium) !important;
    font-weight: var(--font-weight-large) !important;

    transition: all 0.2s ease !important;
}

/* Estado Ativo: Tertiary Color com Texto Pure White */
.ecs-pagination-custom button.active {
    background-color: var(--tertiary-color) !important;
    border-color: var(--tertiary-color) !important;
    color: var(--pure-white) !important;
	cursor: default !important;
}

/* Hover: Secondary Color */
.ecs-pagination-custom button:hover:not(.active) {
    background-color: var(--secondary-color) !important;
    border-color: var(--secondary-color) !important;
    color: var(--pure-white) !important;
	cursor: pointer !important;
}

/*MARK: Pagina de eventos
*/

.single-tribe_events .entry-header.ast-no-thumbnail {
    display: none !important;
}

/*Pagina de Eventos*/

/* Ajuste específico para o container do tema Astra nas páginas de eventos */
.events-single .site-content .ast-container,
.events-archive .site-content .ast-container,
.post-type-archive-tribe_events .site-content .ast-container {
	max-width: 960px !important;
	padding: 0px !important;
	display: block !important;
	background-color: var(--pure-white)!important;
	border-radius: var(--radius-large) !important;
}

/*Remove Titulo invisivel*/

.tribe-events-single .entry-header,
.events-archive .entry-header {
    display: none !important;
}

#tribe-events-pg-template
{
	padding:32px !important;
	margin-top: var(--spacing-huge) !important;
}

/*Tira a duplicação de titulos*/
.tribe-events-single .tribe-events-event-image {
	display: none !important;
}

/* Estilizar todas as imagens na página de evento individual */
.tribe-events-single img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important; /* Mantém a proporção sem achatar */
	border-radius: var(--radius-large) !important; /* Ajuste o valor conforme desejar */
	display: block !important;
	margin-bottom: 20px !important; /* Espaçamento entre imagens e texto */
}

/* Garante que o container da imagem não limite o tamanho */
.tribe-events-event-image, 
.tribe-events-single-event-description {
	width: 100% !important;

}

/* Remove alinhamentos que podem impedir o 100% de largura */
.tribe-events-single img.alignleft, 
.tribe-events-single img.alignright, 
.tribe-events-single img.aligncenter {
	display: block !important;
	float: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100% !important;
}

/*Esconde somente a imagem destacada*/
.tribe-events-single-event-description img.wp-post-image {
	display: none !important;
}

/*Esconde botoes de mais eventos*/
#tribe-events-footer
{
	display: none !important;
}

.tribe-events-back
{
	display: none !important;
}

/* Quando ganha a classe, aplica o Grid e a Animação */
.ecs-event.is-visible {
    display: grid !important;
    animation: simpleFade 0.4s ease-out forwards;
}

/* Keyframe para o efeito de surgimento */
@keyframes simpleFade {
    from {
        opacity: 0;
        transform: translateY(10px); /* Leve movimento de baixo para cima */
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*MARK: Adiconar a agenda*/
/* ==========================================================================
1. POSICIONAMENTO GLOBAL E ORDEM
========================================================================== */

.tribe-events-event-meta:before, .tribe-events-event-meta~div:not(.tribe-events-event-meta,.event-tickets) {
    border: none !important;
}

#tribe-events-content.tribe-events-single {
    display: flex !important;
    flex-direction: column !important;
}

/* Qubra o conteiner das páginas geradas pela template do plugin */
.tribe-events-pg-template .ast-article-single,
.tribe-events-pg-template [id^="post-"] {
    display: contents !important;
}

.tribe-events-single-event-title { order: 1 !important; margin-top: 0 !important;}
.tribe-events-schedule.tribe-clearfix { order: 2 !important; margin-bottom: 20px !important; }

/* 3. SEÇÃO DE DETALHES (PRIMARY) */
.tribe-events-single-section.tribe-events-event-meta.primary { 
    order: 3 !important; 
    width: 100% !important;
    display: flex !important; /* Alterado para flex para permitir que filhos tenham order própria */
    flex-direction: column !important;
    margin-bottom: var(--spacing-medium) !important;
}

/* 4. O BOTÃO (ENTRE DETALHES E LOCAL) */
.tribe-events.tribe-common { 
    order: 4 !important; 
    margin-bottom: 40px !important;
    display: inline-flex !important;
    width: auto !important;
    position: relative !important;
}

/* 5. SEÇÃO DE LOCAL E MAPA (SECONDARY OU DENTRO DA PRIMARY) */
.tribe-events-single-section.tribe-events-event-meta.secondary,
.tribe-events-meta-group-venue,
.tribe-events-meta-group-gmap { 
    order: 5 !important; 
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
}

.tribe-events-event-image { order: 6 !important; width: 100% !important; }

.tribe-events-single-event-description { 
    order: 7 !important;
    width: 100% !important; 
    margin-top: var(--spacing-huge) !important;
}
/* ==========================================================================
2. ESTRUTURA DE DETALHES (COLUNAS LADO A LADO)
========================================================================== */

.tribe-events-meta-group {
	width: 100% !important;
	max-width: 100% !important;
	display: block !important;
	padding: 0 !important;
}

/* REGRA DIVIDIDA: Detalhes (Primary) */
.primary .tribe-events-meta-list {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: var(--spacing-huge) !important; 
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

/* REGRA DIVIDIDA: Local/Mapa (Secondary) */
.secondary .tribe-events-meta-list {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: var(--spacing-large) !important; 
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	width: 100% !important;
}

	.tribe-country-name
	{
	display: none !important;
	}

.tribe-events-meta-list .tribe-events-meta-item {
	display: flex !important;
	flex-direction: column !important; 
	align-items: flex-start !important;
	width: auto !important;
	flex: 0 1 auto !important;
}

.tribe-events-meta-list .tribe-events-meta-item {
	font-family: var(--secondary-font) !important;
}

.tribe-events-meta-item .tribe-events-meta-label {
	font-weight: var(--font-weight-large) !important;
	margin-bottom: var(--spacing-tiny) !important;
	display: block !important;
}


/*Titulo*/

.tribe-events-meta-group .tribe-events-single-section-title {
margin-top: 0 !important;
text-transform: none !important;
font-size: var(--title-size-tiny) !important;
font-family: var(--primary-font) !important;
font-weight: var(--font-weight-large) !important;
letter-spacing: 0 !important;
}

abbr[title] {
	border-bottom: none !important;
	text-decoration: none !important;
}

/*  título "Sobre" no topo da descrição */
.tribe-events-single-event-description::before {
	content: "Sobre" !important;
	display: block !important;
	font-family: var(--primary-font) !important;
	font-size: var(--title-size-tiny) !important; /* 23px conforme seu token */
	font-weight: var(--font-weight-large) !important;
	color: var(--black) !important;
	margin-bottom: var(--spacing-medium) !important;
	text-transform: none !important;
}

/* ==========================================================================
3. ESTILIZAÇÃO DO BOTÃO E POPUP (DESIGN TOKENS)
========================================================================== */

.tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button {
	background-color: var(--primary-color) !important;
	border: none !important;
	border-radius: var(--radius-large) !important; 
	height: 48px !important; 
	padding: 0 var(--spacing-large) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important; 
	cursor: pointer !important;
	transition: all 0.25s ease !important;
	margin: 0 !important;
	position: relative !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown, 
.tribe-events .tribe-events-c-subscribe-dropdown {
	margin: 0 !important;
}

.tribe-events-c-subscribe-dropdown__button:hover {
	background-color: var(--secondary-color) !important;
	transform: translateY(-2px);
}

button.tribe-events-c-subscribe-dropdown__button-text {
	background: transparent !important;
	border: none !important;
	font-size: 0 !important; 
	font-family: var(--primary-font) !important;
	color: var(--pure-white) !important;
	font-weight: var(--font-weight-medium) !important;
	text-decoration: none !important;
	display: flex !important; 
	align-items: center !important; 
	padding: 0 !important;
	cursor: pointer !important;
	line-height: 1 !important; 
}

button.tribe-events-c-subscribe-dropdown__button-text::before {
	content: "Me Avisar" !important;
	font-size: var(--font-size-medium) !important;
	visibility: visible !important;
	display: block !important;
	line-height: 1 !important;
}

/* Popup Flutuante */
.tribe-events-c-subscribe-dropdown__content {
	position: absolute !important;
	top: 55px !important; 
	left: 0 !important;
	z-index: 99999 !important;
	background-color: var(--pure-white) !important;
	border-radius: var(--radius-medium) !important;
	box-shadow: 0 10px 25px rgba(0,0,0,0.1) !important;
	border: 2px solid var(--pastel-grey) !important;
	width: 240px !important;
	overflow: hidden !important;
}

.tribe-events-c-subscribe-dropdown__list {
	padding-top: 0 !important;
	padding-bottom: var(--spacing-medium) !important;
}

.tribe-events-c-subscribe-dropdown__list-item-link {
	font-family: var(--primary-font) !important;
	color: var(--dark-grey) !important;
	padding: 12px 16px !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	transition: all 0.2s ease !important;
	text-decoration: none !important;
}

.tribe-events-c-subscribe-dropdown__list-item-link:hover {
	background-color: var(--pastel-grey) !important;
	color: var(--primary-color) !important;
	padding-left: 20px !important; 
	border-radius: var(--radius-small)!important;
	font-weight: var(--font-weight-medium);
}

/* ==========================================================================
4. ÍCONES E ANIMAÇÕES
========================================================================== */

.tribe-events-c-subscribe-dropdown__button svg,
.tribe-events-c-subscribe-dropdown__export-icon,
.tribe-events-c-subscribe-dropdown__button-icon {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
}

.tribe-events-c-subscribe-dropdown__button::before {
	content: "" !important;
	display: inline-block !important;
	width: 20px !important;
	height: 20px !important;
	background-color: var(--pure-white) !important;
	-webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 64C302.3 64 288 78.3 288 96L288 99.2C215 114 160 178.6 160 256L160 277.7C160 325.8 143.6 372.5 113.6 410.1L103.8 422.3C98.7 428.6 96 436.4 96 444.5C96 464.1 111.9 480 131.5 480L508.4 480C528 480 543.9 464.1 543.9 444.5C543.9 436.4 541.2 428.6 536.1 422.3L526.3 410.1C496.4 372.5 480 325.8 480 277.7L480 256C480 178.6 425 114 352 99.2L352 96C352 78.3 337.7 64 320 64zM258 528C265.1 555.6 290.2 576 320 576C349.8 576 374.9 555.6 382 528L258 528z"/></svg>') no-repeat center !important;
	mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><path d="M320 64C302.3 64 288 78.3 288 96L288 99.2C215 114 160 178.6 160 256L160 277.7C160 325.8 143.6 372.5 113.6 410.1L103.8 422.3C98.7 428.6 96 436.4 96 444.5C96 464.1 111.9 480 131.5 480L508.4 480C528 480 543.9 464.1 543.9 444.5C543.9 436.4 541.2 428.6 536.1 422.3L526.3 410.1C496.4 372.5 480 325.8 480 277.7L480 256C480 178.6 425 114 352 99.2L352 96C352 78.3 337.7 64 320 64zM258 528C265.1 555.6 290.2 576 320 576C349.8 576 374.9 555.6 382 528L258 528z"/></svg>') no-repeat center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
}

.tribe-events-c-subscribe-dropdown__button:hover::before {
	animation: bellShake 0.5s cubic-bezier(.36,.07,.19,.97) both;
}

.tribe-events-c-subscribe-dropdown__list-item--gcal a::before {
	content: "" !important; display: inline-block !important; width: 18px !important; height: 18px !important;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cg%3E%3Cpolygon fill='%23FFFFFF' points='195,60 60,60 60,195 195,195'/%3E%3Cpolygon fill='%23EA4335' points='195,256 256,195 225,190 195,195 189,223'/%3E%3Cpath d='M0,195 L0,235 C0,246 9,256 20,256 L60,256 L66,225 L60,195 L27,190 L0,195 Z' fill='%23188038'/%3E%3Cpath d='M256,60 L256,20 C256,9 246,0 235,0 L195,0 C191,15 189,26 189,33 C189,40 191,49 195,60 C208,64 218,66 225,66 C232,66 242,64 256,60 Z' fill='%231967D2'/%3E%3Cpolygon fill='%23FBBC04' points='256,60 195,60 195,195 256,195'/%3E%3Cpolygon fill='%2334A853' points='195,195 60,195 60,256 195,256'/%3E%3Cpath d='M195,0 L20,0 C9,0 0,9 0,20 L0,195 L60,195 L60,60 L195,60 L195,0 Z' fill='%234285F4'/%3E%3Cpath d='M88,165 C83,161 79,156 77,150 L89,145 C90,149 92,152 95,154 C97,157 100,158 104,158 C108,158 111,156 114,154 C117,152 118,149 118,145 C118,142 117,139 114,136 C111,134 107,133 103,133 L96,133 L96,121 L102,121 C106,121 109,120 112,118 C114,116 116,113 116,110 C116,107 114,104 112,102 C110,101 107,100 103,100 C100,100 97,100 95,102 C93,104 92,106 91,109 L79,104 C81,100 84,96 88,93 C92,89 97,88 103,88 C108,88 112,89 116,90 C120,92 123,95 125,98 C127,101 128,105 128,109 C128,113 127,117 125,120 C123,122 121,125 118,126 L118,127 C122,128 125,131 127,134 C130,137 131,141 131,146 C131,150 130,155 128,158 C125,162 122,165 118,167 C114,169 109,170 104,170 C98,170 93,168 88,165 Z M160,107 L147,116 L140,106 L163,90 L172,90 L172,168 L160,168 L160,107 Z' fill='%234285F4'/%3E%3C/g%3E%3C/svg%3E") !important;
	background-size: contain !important; background-repeat: no-repeat !important; flex-shrink: 0 !important;
}

.tribe-events-c-subscribe-dropdown__list-item--outlook-365 a::before,
.tribe-events-c-subscribe-dropdown__list-item--outlook-live a::before {
	content: "" !important; display: inline-block !important; width: 18px !important; height: 18px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%2340c4ff' d='M31.323,8.502L7.075,23.872l-2.085-3.29v-2.835c0-1.032,0.523-1.994,1.389-2.556l14.095-9.146 c2.147-1.393,4.914-1.394,7.061-0.001L31.323,8.502z'/%3E%3Cpath fill='%231976d2' d='M27.317,5.911c0.073,0.043,0.145,0.088,0.217,0.135l11,7.136L11.259,30.47l-4.185-6.603 l20.017-12.713C28.988,9.95,29.071,7.241,27.317,5.911z'/%3E%3Cpath fill='%230d47a1' d='M22.142,33.771L11.26,30.47l23.136-14.666c1.949-1.235,1.944-4.08-0.009-5.308l-0.104-0.065 l0.3,0.186l7.041,4.568c0.866,0.562,1.389,1.524,1.389,2.556v2.744L22.142,33.771z'/%3E%3Cpath fill='%2329b6f6' d='M20.886,43h15.523c3.646,0,6.602-2.956,6.602-6.602V17.797c0,1.077-0.554,2.079-1.466,2.652 l-23.09,14.498c-1.246,0.782-2.001,2.15-2.001,3.62C16.454,41.016,18.438,43,20.886,43z'/%3E%3Cpath fill='%2380d8ff' d='M27.198,42.999H11.589c-3.646,0-6.602-2.956-6.602-6.602V17.783c0,1.076,0.552,2.076,1.461,2.649 l23.067,14.543c1.263,0.796,2.029,2.185,2.029,3.678C31.544,41.053,29.598,42.999,27.198,42.999z'/%3E%3Cpath fill='%231565c0' d='M6.453,23h10.094C18.454,23,20,24.546,20,26.453v10.094C20,38.454,18.454,40,16.547,40H6.453 C4.546,40,3,38.454,3,36.547V26.453C3,24.546,4.546,23,6.453,23z'/%3E%3Cpath fill='white' d='M11.453,36.518c-1.4,0-2.55-0.452-3.449-1.355c-0.899-0.903-1.348-2.082-1.348-3.537 c0-1.536,0.456-2.778,1.369-3.726c0.913-0.949,2.107-1.423,3.584-1.423c1.396,0,2.532,0.454,3.408,1.362 c0.881,0.908,1.321,2.105,1.321,3.591c0,1.527-0.456,2.758-1.369,3.692C14.061,36.053,12.889,36.518,11.453,36.518z M11.493,34.601 c0.763,0,1.378-0.269,1.843-0.806c0.465-0.538,0.698-1.285,0.698-2.243c0-0.998-0.226-1.775-0.677-2.331 c-0.452-0.556-1.055-0.833-1.809-0.833c-0.777,0-1.403,0.287-1.877,0.861c-0.474,0.569-0.711,1.323-0.711,2.263 c0,0.953,0.237,1.707,0.711,2.263C10.145,34.326,10.752,34.601,11.493,34.601z'/%3E%3C/svg%3E");
	background-size: contain !important; background-repeat: no-repeat !important; flex-shrink: 0 !important;
}

@keyframes bellShake {
	0% { transform: rotate(0); }
	15% { transform: rotate(15deg); }
	30% { transform: rotate(-15deg); }
	45% { transform: rotate(10deg); }
	60% { transform: rotate(-10deg); }
	75% { transform: rotate(5deg); }
	85% { transform: rotate(-5deg); }
	100% { transform: rotate(0); }
}

/* ==========================================================================
5. ESTRUTURA DE LOCAL E MAPA
========================================================================= */

.tribe-events-single-section.tribe-events-event-meta.secondary .tribe-events-meta-group-venue {
	flex: 1 1 300px !important;
	margin: 0 !important;
}

.tribe-events-single-section.tribe-events-event-meta.secondary .tribe-events-venue-map {
	flex: 1 1 300px !important;
	height: auto !important;
	border-radius: var(--radius-small) !important;
	overflow: hidden !important;
	margin: 0 !important;
	order: 1!important;
}

.tribe-events-venue-map iframe { width: 100% !important; height: 100% !important; border: none !important; }
.tribe-events-meta-group-organizer { display: none !important; }

/* Remove a seção de data e preço que fica logo abaixo do título */
.tribe-events-schedule.tribe-clearfix {
	display: none !important;
}

/*MARK: Mobile
*/
/* Ajusta o layout dos calendários para empilhamento vertical em dispositivos móveis */
@media (max-width: 820px) {
	.wp-block-group.calendars.is-layout-flex {
		display: flex !important;
		flex-direction: column !important; 
		align-items: center !important;
		gap: var(--spacing-large) !important; 
	}

	/* Remove limites de largura e margens laterais no container de calendários mobile */
	.wp-block-group.calendars {
		flex-wrap: wrap !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Força cada elemento interno a ocupar a largura total disponível na tela */
	.wp-block-group.calendars > * {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Define o espaçamento interno mínimo para a seção do calendário no mobile */
	.calendar-section.is-layout-constrained {
		padding-left: 0 !important; 
		padding-right: 0 !important;
		padding-bottom: 0!important;
	}

	/* Garante que a estrutura da tabela do calendário ocupe todo o espaço horizontal */
	.simcal-calendar, 
	.simcal-calendar-grid {
		width: 100% !important;
		min-width: 100% !important;
		display: table !important;
	}

	.simcal-day.has-multiple-events::after {
	bottom: 6px!important;
	right: 4% !important;
	}

	/* Força o grid a ter apenas 2 colunas, eliminando o espaço da imagem */
	.ecs-event {
		grid-template-columns: 90px 1fr !important;
		gap: 0 var(--spacing-medium) !important;
	}

	/* Esconde a imagem e garante que ela não ocupe espaço */
	.ecs-event img {
		display: none !important;
	}
	
	/* Ajusta o título para ocupar a largura total da nova área central */
	.ecs-event .entry-title,
	.ecs-event .duration.time,
	.ecs-event .duration.venue {
		grid-column: 2 !important;
	}


	#tribe-events-pg-template
	{
		padding:var(--spacing-medium) !important;
	}

	/* Remove espaços fantasmas da lista */
	.ecs-event-list {
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}

	.lista-eventos-coluna-wrapper {
		padding: 0 !important;
	}
	
	.ecs-event-list {
		min-height: 0 !important; /* No mobile é melhor deixar a altura fluida para não sobrar buraco */
		gap: 0 !important;
	}

	/* Garante que o item escondido não tenha pseudo-elementos ocupando espaço */
	.ecs-event[style*="display: none"] {
		position: absolute !important;
		pointer-events: none !important;
	}

	.entry-content ul.ecs-event-list, 
	.entry-content ol.ecs-event-list,
	ul.ecs-event-list {

		min-height: 367px !important;
	}

}
@media (max-width: 600px) {
.tribe-events-single-event-title
{
	line-height: var(--line-height-small)!important;
}
}
	/*tira o local duplicado*/
	.tribe-events-address
	{
		display: none !important;
	}