div.default_container { /*container com os filtros da programação */
	padding-left: var(--global-margin) !important;
	padding-right: var(--global-margin) !important;
	padding-top: calc(0*var(--menu-margin)) !important;
	width: 100%;
	margin-bottom: calc(0.5*var(--menu-margin)) !important;	
	display: flex;
	justify-content: center;  /* Horizontally centers the image */
	align-items: center;      /* Vertically centers the image */
	height: 100%;             /* Ensure the div has a height to center the image vertically */
}



.event_button { /* butões com a tipologia e promotor dos eventos */
    vertical-align: middle;
    display: inline-block;
    margin: 0px;
	font-weight:400;
    /*border: 1px solid black;*/
    font-size: 12px;
    /*box-shadow: 1px 1px black;*/
    line-height: 1; /* Prevent any line-height inheritance issues */
	margin: 0px !important;
	
}

.event_button.tipo:visited {
    color: #000000; /* Keep text black after visiting */
}

.event_button:visited {
    color: inherit; /* Maintain the color from parent */
}

figure.event_icon{ 
	height: 12px;
	width: 12px;
	margin: 0px;	
	display: block;
}
.event_button.date {
    background-color: #ffffff !important;
	border: 1px white solid !important;
	border-radius: 10%;
	padding: 4px 3px; /* Combine padding for simplicity */
	box-shadow: none;
	float: right;
	line-height: 1.7; /* Prevent any line-height inheritance issues */
	border-color: #ffffff;
}
.event_button.hour {
    background-color: #ffffff !important;
	border: 1px white solid !important;
	border-radius: 10%;
	padding: 4px 3px; /* Combine padding for simplicity */
	box-shadow: none;
	float: right;
	line-height: 1.7; /* Prevent any line-height inheritance issues */
	color: #a7a6a5;
	border-color: #ffffff;
}

.event_button.tipo {
    background-color: #ffffff !important;
	color: #000000; /* Set text color to white */
	border-color: #000000;
}



/*.event_date  {
	vertical-align: middle; /* Align with adjacent inline elements like .event_button 
	display:inline;
	padding: 2px;
	margin:0px;
	margin-left:auto;
	font-size:12px;
	line-height:1;
}*/



/*.event_icon_container {
	display:inline-flex;
	align-items: center; /* Center the image vertically 
    justify-content: center; /* Center the image horizontally if needed 
	vertical-align: middle; /* Align with adjacent inline elements like .event_button 
    line-height: 1; /* Prevent any line-height inheritance issues 
	font-size:12px;
	box-shadow: 1px 1px black;
	background-color:#eaea97;
	
	border:1px solid black; 
	border-radius:10%;
	
	padding: 2px; /* Reset padding 
    
    margin: 0; /* Reset margins 
	margin-left:3px;   
}*/

/*figure.continuar {
	float:right;
	width:12%; /*15px
	display:block;
	margin:0px;
	margin-right:5%;
}*/

div.ticket {
	display:inline-flex;
	align-items: center; /* Center the image vertically */
    justify-content: center; /* Center the image horizontally if needed */
	vertical-align: middle; /* Align with adjacent inline elements like .event_button */
    line-height: 1; /* Prevent any line-height inheritance issues */
	font-size:12px;
	box-shadow: 1px 1px black;
	background-color:#eaea97;
	border:1px solid black; 
	border-radius:10%;
	padding: 2px; /* Reset padding */
    margin: 0; /* Reset margins */
	margin-left:3px; 
	margin-right:20px;   

}


	
#schedule-content {
	padding-left: calc(1*var(--global-margin)) !important;
	padding-right: calc(1*var(--global-margin)) !important;
	margin-top: 0 !important;
}


.coluna_eventos {
	display: flex;
    flex-wrap: wrap;
	position:absolute;
	width:33.3%;
}


div.prog_symbols{ /* div with event buttons and date */
	width:100%;
	display:block;
}
div.prog_title{
	width:90%;
	font-size:20px;
	line-height: 1.1;

}
/*div.prog_date{
	width:98%;
	font-size:14px;
	text-align:right;
	line-height: 1; /* Adjust this value to decrease space between lines 
}*/

div.prog_desc{
	width:100%;
	font-size:20px;
    line-height: 1.1; /* Adjust this value to decrease space between lines */
	font-weight:500;
	padding-right:3px;
	/*padding-left:var(--global-margin);*/
}

div.prog_break{
	border-top:var(--global-margin) white solid;
}

div.prog_break_black{
	border-top:var(--global-margin) black solid;
}




#container_filter_program {
	display: flex;
	justify-content: flex-start;
	padding-left: calc(3 * var(--global-margin));  /* Shift buttons right to make space for back button */
}

/* HERE */

.radio-button-group {
  display: flex;
  gap: var(--small-margin) !important;
  padding-left: calc(1 * var(--global-margin));
}

.radio-button-group input[type="radio"] {
  display: none; /* Hide the actual radio button */
}

.radio-button-group label {
  display: inline-flex; /* Hide the actual radio button */
  justify-content: center;
  align-items: center;
  cursor: pointer;
  margin: 0 !important;
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 10px;
  font-weight: 400;
  color: white;
  border: 0;
  background-color: gray;
  aspect-ratio: 1 / 1;
  line-height: unset;
  text-indent:-9999px;
}

/* Checked buttons always stay expanded (open) */
.radio-button-group input[type="radio"]:checked + label {
  aspect-ratio: unset;
  text-indent: 0px;
  width: auto;
}

/* Buttons with hover-expanded class stay expanded (handled by JavaScript) */
.radio-button-group label.hover-expanded {
  aspect-ratio: unset;
  text-indent: 0;
  width: auto;
}

/* Ensure unselected buttons have the ball shape by default */
.radio-button-group input[type="radio"]:not(:checked) + label:not(.hover-expanded) {
  text-indent: -9999px; /* Hide text initially */
  aspect-ratio: 1 / 1; /* Keep them round */
}

/* Dynamic color setup for each button */
#todos + label {
  background-color: #000000;
}
#agra + label {
  background-color: #0672c1;
}
#ed + label {
  background-color: #007351;
}
#rca + label {
  background-color: #e23a19;
}
#nz + label {
  background-color: #f99d1b;
}

.prog_image {
	width:100%;
	display: block;
	position: relative;
	margin: 0px;
}

figure.prog_image {
	margin:0px;
}




/* SCHEDULE PUZZLE SHORTCODE EN ------------------------------------------------------------------------------------------------ */

.schedule-puzzle-grid {
	display: flex;
	gap: calc(1*var(--global-margin)) !important;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
  }
  
  .schedule-puzzle-grid.past-events-grid {
	margin-bottom: calc(5*var(--global-margin)) !important;
  }
  
  .puzzle-column {
	flex: 1;
	display: flex;
	flex-direction: column;
  }
  
  .puzzle-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
  }
  .puzzle-img-container {
	position: relative;
	width: 100%;
	overflow: hidden;
  }
  .puzzle-img {
	width: 100%;
	height: auto;
	display: block;
  }
  .puzzle-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6px;
  }
  .puzzle-type {
	color: #333;
	font-size: 0.85em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 4px 8px;
  }
  .puzzle-description {
	color: #555;
	font-size: 1em;
	line-height: 1.4;
  }
  
  .puzzle-after-img-margin {
	width:100%;
	height: calc(1*var(--global-margin)) !important;
	background-color: #ffffff;
	margin: 0px;
	z-index:800;
  }

  /* Type overlay on image */
  .puzzle-type-overlay {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 12px;
	padding: 4px 13px;
	color: white;
	font-weight: 400;
	background-color: #000; /* Black for all types */
	z-index: 5;
  }
  
  /* Type-specific colors for overlay */
  .puzzle-type-overlay.exhibition {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.music {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.conference {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.workshop {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.visual {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.community {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.concert {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.event {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.market {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.circo {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.festival {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.default {
	background-color: #000 !important; /* Black for any other types */
  }
  
  @media (max-width: 900px) {
	.schedule-puzzle-grid {
	  gap: calc(1*var(--global-margin)) !important;;
	}
	.puzzle-column {
	  gap: calc(1*var(--global-margin)) !important;;
	}
  }
  @media (max-width: 600px) {
	.schedule-puzzle-grid {
	  flex-direction: column;
	  gap: calc(1*var(--global-margin)) !important;;
	}
	.puzzle-column {
	  gap: calc(1*var(--global-margin)) !important;;
	}
  }
  

  /*END OF IT  ---------------------------------------------------------------------------------------------- */



  /*SCHEDULE PUZZLE TYPE  ---------------------------------------------------------------------------------------------- */



  .schedule-puzzle-grid {
	display: flex;
	gap: calc(1*var(--global-margin)) !important;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
  }
  .puzzle-column {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: calc(7*var(--global-margin)) !important;
	margin-bottom: calc(0*var(--global-margin)) !important;
  }
  .puzzle-event {
	position: relative;
	display: block;
	transition: transform 0.3s ease;
	overflow:hidden;
  }
  .puzzle-img-container:hover .puzzle-img {
	/*transform: translateY(-50px);*/
	transform: scale(1.03);
/*	transition: transform .3s ease;*/
  }
  .puzzle-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: inherit;
  }
  .puzzle-img-container {
	position: relative;
	width: 100%;
	overflow: hidden;
  }
  .puzzle-img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform .3s ease;
	transform-origin: center center;
	will-change: transform;
  }
  .puzzle-text-content {
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: calc(1*var(--small-margin)) !important;
	border-top: calc(1*var(--small-margin)) white solid;
	z-index: 800;
  }
  .puzzle-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 6px;
  }
  .puzzle-date {
	color: #333;
	font-size: 16px;
	font-weight: 400;
	text-transform: lowercase;
	letter-spacing: 0.5px;
  }
  .puzzle-type {
	color: #333;
	font-size: 0.85em;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 4px 8px;
  }
  .puzzle-title {
	color: #000;
	font-size: 35px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 6px;
	text-transform: uppercase;
	line-height: 1; /* try 1.0–1.2 */
	margin: 0;        /* ensure no extra outside spacing */  
  }
  .puzzle-description {
	color: #555;
	font-size: 1em;
	line-height: 1.4;
  }
  
  /* Type overlay on image */
  .puzzle-type-overlay {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 12px;
	padding: 4px 13px;
	color: white;
	font-weight: 400;
	background-color: #000; /* Black for all types */
	z-index: 5;
  }
  
  /* Type-specific colors for overlay */
  .puzzle-type-overlay.exhibition {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.music {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.performing {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.conference {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.workshop {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.visual {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.community {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.concert {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.event {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.market {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.circo {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.festival {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.others {
	background-color: #000 !important; /* Black for all types */
  }
  
  .puzzle-type-overlay.default {
	background-color: #000 !important; /* Black for any other types */
  }
  
  @media (max-width: 900px) {
	.schedule-puzzle-grid {
	  gap: calc(1*var(--global-margin)) !important;
	}
	.puzzle-column {
	  gap: calc(1*var(--global-margin)) !important;
	}
	.puzzle-title {
	  font-size: 1.3em;
	}
  }
  
  @media (max-width: 600px) {
	.schedule-puzzle-grid {
	  flex-direction: column;
	  gap: calc(1*var(--global-margin)) !important;
	}
	.puzzle-column {
	  gap: calc(1*var(--global-margin)) !important;
	}
	.puzzle-title {
	  font-size: 1.2em;
	}
  }



  /*END OF IT  ---------------------------------------------------------------------------------------------- */

  /* Keep promoter + type inline */
.puzzle-header .puzzle-type {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 0;
}

/* Promoter: black background, white text */
.promoter-badge {
	background-color: #000;
	text-transform: none;
	color: #fff;
	padding: 4px 8px;
	font-size: 10px;
	font-weight: 400;
	border-radius: 0px;
	display: inline-block;
	line-height: 1;
}

/* Some pages override .promoter-badge; force the schedule cards to stay black */
.schedule-puzzle-grid .promoter-badge {
	background-color: #000 !important;
	color: #fff !important;
	border: 0.5vh solid #000 !important;
	text-transform: uppercase !important;
}

/* Type: white background, black border + text */
.event-type-badge {
    color: #ffffff;
    padding: 3px 0px;
    font-size: 30px;
    font-weight: 400;
    border-radius: 0;
    text-transform: uppercase;
    letter-spacing: .5px;
  }

/* Event type badge puzzle: black border, black text (for schedule puzzle) */
.schedule-puzzle-grid .event-type-badge-puzzle {
    color: #000000 !important;
    border: .5px solid #000000 !important;
    padding: 3px 8px !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    border-radius: 15px !important;
    text-transform: lowercase !important;
    letter-spacing: .5px !important;
    background-color: transparent !important;
    display: inline-block !important;
  }

/* Schedule puzzle: hover behavior for titles */
.schedule-puzzle-grid .puzzle-link:hover { 
	text-decoration: none !important; 
  }
  
  .schedule-puzzle-grid .puzzle-link:hover .puzzle-title {
	color: #504f4f; /* tweak to your preferred shade */
  }


/* Past Events Button Styles - High specificity to override any other styles */
.show-past-events-container {
	text-align: center !important;
	color: black !important;
	margin-top: calc(12*var(--global-margin)) !important;
	margin-bottom: calc(5*var(--global-margin)) !important;
	clear: both !important;
}

button.show-past-events-button,
.show-past-events-container .show-past-events-button,
.schedule-puzzle-grid + .show-past-events-container .show-past-events-button {
	background-color: white !important;
	color: black !important;
	width: 100% !important;
	border: 1px solid black;
	padding: 12px 24px !important;
	font-size: 2vw !important;
	cursor: pointer !important;
	border-radius: 100px !important;
	transition: background-color 0.3s, color 0.3s !important;
	font-family: inherit !important;
	text-transform: none !important;
	box-shadow: none !important;
	margin: 0 !important;
	display: inline-block !important;
	line-height: normal !important;
	font-weight: normal !important;
	text-decoration: none !important;
	vertical-align: middle !important;
}

button.show-past-events-button:hover,
.show-past-events-container .show-past-events-button:hover,
.schedule-puzzle-grid + .show-past-events-container .show-past-events-button:hover {
	background-color: black !important;
	color: white !important;
	border-color: #555 !important;
}

/* Active state: black background when past events are shown */
button.show-past-events-button.active,
.show-past-events-container .show-past-events-button.active,
.schedule-puzzle-grid + .show-past-events-container .show-past-events-button.active {
	background-color: black !important;
	color: white !important;
	border-color: black !important;
	margin-bottom: calc(3*var(--global-margin)) !important;
}