/******************************
 * styles.css - Modern mobile app style for Alcohol Metabolism Tracker PWA
 * Updated to style nav links as browser tabs along the top.
 ******************************/

 /*set variables for colors*/
:root {
	--primary-color: #48b8ea; /* Pastel blue */
	--secondary-color: #FFD700; /* Gold */
	--text-color: #000000; /* Black text */
	--background-color: #ffffff; /* White background */
	--accent-color: #DAA520; /* Darker gold for hover effects */
	--active-color: #fdefa1; /* Lighter yellow for active tab */
	--transparent-bg: rgba(255, 255, 255, 0.4); /* Semi-transparent background */
}


/* Reset and base styles */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	vertical-align: baseline;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
	background-color: var(--primary-color);
	color: #000000; /* Black text */
	line-height: 1.5;
	min-height: 100vh; /* Full viewport height */
	display: flex;
	align-items: center; /* Center content vertically */
	justify-content: flex-start;	
	flex-direction: column;
	
}

/* Typography */
h1, h2  {
	
	color: #000000;
	margin-bottom: 1rem;
	color:var(--secondary-color); 
	-webkit-text-stroke: 1px #000; /* Black outline for better contrast */
	--text-stroke: 1px #000;
	-moz-text-stroke: 1px #000; /* Firefox support */
	-ms-text-stroke: 1px #000; /* Internet Explorer support */
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); /* Subtle shadow for depth */
	font-weight: 600; /* Semi-bold for emphasis */
}

h3 {
	color: #000000; /* Black text */
	margin-bottom: 0.5rem;
	font-weight:bold; 
	font-size:1.2rem; 
}

h4 {
	color:#000; 
	margin-bottom: 0.5rem;
	font-weight:550; /* Medium weight for emphasis */
	font-size: 1rem; /* Normal size */
}

h1 {
	font-family: "Berlin Sans FB", sans-serif; 
	font-size: 2rem;
	text-align: center;
}

h1.title {
	font-size: 3rem;
	text-align: center;
	margin-bottom: 1rem;
}

header h2 {
	font-size:2rem;	
	
}

a, 
a:link, 
a:visited {
	color: #000000; /* Black text */
	text-decoration: none;
	font-weight:unset; /* Normal weight for links */	
	margin:unset;
	padding:unset; 
}

.title a, 
.title a:link, 
.title a:visited {
	color: var(--secondary-color); /* Gold for title links */
	text-decoration: none;	
}

p {
	margin-bottom: 1rem;
}

/* Forms and inputs */
form {
	width: 100%;	
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin:2em 0;
}

input[type=datetime-local],	
input[type=date],
input[type=time],
input[type=text],
input[type=number], 
select, 
textarea {
	padding: 0.75rem;
	border: 1px solid #ccc;
	border-radius: 8px;
	background-color: #ffffff;
	color: #000000;
	font-size: 1rem;	
	margin:4px 0; 
}

input[type=checkbox] {
	display: block;
	transform:scale(2); 
	padding:1rem; 
	margin:1rem auto; /* Center checkbox */
	accent-color:blue; 
}

input:focus, select:focus, textarea:focus {
	outline: none;
	border-color: var(--secondary-color); /* Gold accent */
	box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.2);
}

/* Buttons with gold highlights */
button, 
a.btnLink, 
a.btnLink:link, 
a.btnLink:visited, 
.card a.btnLink,
.card a.btnLink:link,
.card a.btnLink:visited {
	display: inline-block;
	font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;	
	background-color: var(--secondary-color); /* Gold */
	color: #000000; /* Black text for readability */
	border: none;
	padding: 0.75rem 1.5rem;
	font-size: 1rem;
	font-weight: bold;
	border-radius: 8px;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.2s ease;	
	min-width:220px; 
	text-align: center; /* Center text in button */
	margin:0.2rem auto; /* Center button */
	text-decoration: none !important;		
	box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3); /* Subtle shadow for depth */
}

button:hover, 
a.btnLink:hover, 
a.btnLink:link:hover,
a.btnLink:visited:hover {
	background-color: var(--accent-color);; /* Darker gold */
	transform: scale(1.05);
}

button:disabled {
	background-color: #ccc;
	cursor: not-allowed;
}

#log-water-form label,
#edit-drink-form label, 
#log-drink-form label, 
#profile-form label {
	display: flex;
	flex-direction: column;
	font-size: 1rem;
	color: #000000; /* Black text */
	vertical-align: baseline;
	
}

ol {
	margin-left: 1.5rem;
	padding-left: 0.5rem;
}

ol li {
	display: list-item;
	margin-bottom: 0.5rem;
}

ol li span {
	font-weight: bold;
	color: #000000; /* Black text for emphasis */
	margin:0; 
	padding:0; 
}


#imgBtnMenu {	
	position: absolute;
	top: 0;
	right: 0.5rem;
	width: 3rem; /* Icon size */
	height: 3rem; /* Icon size */
	cursor: pointer; /* Pointer cursor for interactivity */
	background-image:url(/images/options.svg);
	background-size: contain; /* Ensure the icon covers the button */
	background-repeat:no-repeat; /* Prevent repeating the icon */
	background-position: center; /* Center the icon */
	margin:0; 
	padding:0; 
	z-index:1001; 
	opacity: 0.6;
}

#imgBtnMenu.open {
	width:4rem;
	height:4rem;
	position: fixed; /* Keep it fixed when nav is open */	
	opacity: 1;
}

#imgBtnMenu:hover,  
#imgBtnMenu:active {
	opacity: 1; /* Full opacity on hover */
}

header {
	margin-top:1rem; /* Space for fixed nav */
	text-align: center;
}

nav {
	position:fixed; 
	display:none; 
	top: 0;
	right:0; 
	width:60vw; 
	height:100vh;
	background-color: #ccc; /* Blue background */
	box-shadow:0 3px 6px rgba(0, 0, 0, 0.3); /* Subtle shadow for depth */
	z-index: 10; /* Ensure it overlays other content */
	opacity:0.95; 	
	overflow:hidden; /* Hide overflow */
}

nav.open {
	display: block; /* Show when open */
	overflow:auto; 
}

nav a, 
nav a:link,
nav a:visited {
	display: block; /* Full width clickable area */
	padding: 0.7rem 1rem;	
	background-color: #e0e0e0; /* Light gray background */		
	text-decoration: none;
	color: #000000; /* Black text for readability */
	font-weight: bold;
	text-align: left; /* Center text in tab */
	padding-left:15vw; 
	font-size: 0.8rem; 
}

nav a:first-child {
	margin-top: 4rem; /* Space from top */
}

nav a:hover {
	background-color: #d0d0d0; /* Hover darker gray */
}

nav a.active {
	background-color: #ffffff; /* Active tab matches content background */
	border-bottom: 1px solid #ffffff; /* Blend with content */
	color: var(--secondary-color); /* Gold text for active */
	font-weight: bold;
	box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.05); /* Subtle inset */
}


.nav-fade-in {
	animation: navFadeIn 0.5s ease-out forwards;
}

@keyframes navFadeIn {
	from {		
		opacity: 0;
		transform: translateX(40px);
	}
	to {
		opacity: 0.95;
		transform: translateX(0);		
	}
}

.nav-fade-out {
	animation: navFadeOut 0.5s ease-in forwards;
}

@keyframes navFadeOut {
	from {
		opacity: 0.95;
		transform: translateX(0);
	}
	to {
		opacity: 0;
		transform: translateX(40px);			
	}
}

main {		
	margin: 0 auto; /* Center main content */	
}


canvas#bac-chart {
	margin:10px auto; 
}

footer {
	display: block;
	padding: 1rem 0;
	text-align: center;
}

.lblPrompt {
    display: inline-block;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.title-icon {
	width: 2.5rem;
	height: 2.5rem;
	vertical-align: middle;
	margin-left: 0.5rem;
}

/* Cards/Sections */
.card {
	background-color: #ffffff;
	border-radius: 12px;
	padding: 5vw;
	margin-bottom: 1.5rem;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	width: 90vw; /* Full width on mobile */
	max-width: 600px; /* Limit width on larger screens */	
	margin:0 auto; /* Center the card */
}

.card div {
	font-size: 1.5rem; /* Bigger text */
	margin: 1.2rem 0; /* Wider vertical margins */
	line-height: 1.6; /* Improved readability */
	font-weight: 500; /* Slightly bolder for prominence */
	text-align: center; /* Center for better focus */
	color: #000000; /* Ensure high contrast */
}

.card h2 {
	font-size: 1.5rem;
	margin-bottom: 0.75rem;
	color: #000; /* White for contrast */
}

.card a, 
.card a:link {
	color: blue; /* Black text */
	text-decoration: underline;	
}

.card a:hover {
	color: #0000ff; /* Darker blue on hover */
	text-decoration: none;
}


.info-link, 
a.info-link:link,
a.info-link:visited
.card a.info-link {
	font-size: 0.8rem; /* Tiny */
	color: #000000; /* Gold */
	text-decoration: none;
	margin-left: 0.5rem;
	cursor: help; /* Hint it's clickable */
}

.info-link:hover {
	color: var(--accent-color);; /* Darker gold on hover */
	text-decoration: underline;
}

/* #bac-display {
	font-size: 2rem;
	font-weight: bold;
	color: var(--secondary-color); 
} */

/* Timer and displays */
.timer {
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
	color: var(--secondary-color); /* Gold highlight */
	margin: 1rem 0;
}


/* Logs and lists */
ul {
	list-style: none;
	width: 100%;	
}

li {
	background-color: #ffffff;
	padding: 1rem;
	margin-bottom: 0.75rem;
	border-radius: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Progress bars or gauges (e.g., for BAC or hydration) */
progress {
	width: 100%;
	height: 10px;
	border-radius: 5px;
	background-color: #ccc;
}

progress::-webkit-progress-bar {
	background-color: #ccc;
	border-radius: 5px;
}

progress::-webkit-progress-value {
	background-color: var(--secondary-color); /* Gold */
	border-radius: 5px;
}

progress::-moz-progress-bar {
	background-color: var(--secondary-color);
	border-radius: 5px;
}

.highlight-flash {
	background-color: #fff3cd; /* Light yellow for subtle highlight */
	color:#000 !important; /* Ensure text remains readable */
	border: 2px solid var(--secondary-color); /* Gold border for emphasis */
	animation: flash 1s ease-in-out; /* Brief flash animation */
}




#dashboard {
	width:95%; 	
	margin:0 auto; 
	text-align: center;
}

#current-time {
	display: block;
	font-size: 1.3rem;
	text-align: center;	
	color: #000000; /* Black text for readability */
}


#tblWrapper {
	display: block;	
	margin: 0.5rem auto;
	height:55vh; 
	overflow-y: auto; /* Scrollable if content overflows */	
	background-color:#fff; 
	border-radius: 12px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);			
	overflow: -moz-scrollbars-none; /* Firefox */
	-ms-overflow-style: none; /* Internet Explorer 10+ */
}

/* hide the tblWarapper scrollbar */
#tblWrapper::-webkit-scrollbar {
	display: none; /* Chrome, Safari, and Opera */
}

#tblWrapper h1 {
	/* position:sticky; 
	top:0; */
	background-color:#fff;
	padding: 0.5rem;
	font-size: 1.5rem;
	text-align: center;
	opacity: 0.9; /* Slightly transparent for effect */
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);	
}

#tblWrapper #scroll-prompt {
	font-size:1.2em;
	text-align: center;	
	position: sticky;
	bottom: 0;
	background-color:#ddd;
	padding:1rem 0; 
	opacity:1; 
}

#tblWrapper #scroll-prompt {
	animation: flash-fade 5s forwards;
}




.dashboard-table {
  width:100%; 
  border-collapse: collapse;
  margin: 1rem auto;
}

.dashboard-table tr:nth-child(even) {
  background-color: #eee; /* Light gray for even rows */
}

.dashboard-table tr:nth-child(odd) {  
  background-color: #ffffff; /* White for odd rows */
}

.dashboard-table th {
  font-weight:bold; 
  max-width: 140px; 
}

.dashboard-table th, 
.dashboard-table td { 
  text-align: left;
  padding: 0.75rem;
  vertical-align: middle;;
}

.high-bac, 
.dehydrated {  
  color:red; /* Black text for readability */
}

.italic {
	font-style:italic; 
	font-weight:500; /* Slightly bolder for emphasis */
}

.hidden {
	display: none !important; /* Hide elements with this class */
}

/* Combobox Wrapper */
.combobox-wrapper {
  position: relative; /* Anchor for absolute dropdown */
  display: inline-block; /* Or flex if needed */
  width: 100%; /* Match form width */
}

.combobox-wrapper input {  
  padding-right: 2rem; /* Prevent text overlap with arrow */
  border: 1px solid #ccc; /* Standard input border */
  border-radius: 8px;
  font-size: 1rem; /* Normal size */
  width:100%; 
}

/* Down Arrow */
.combobox-arrow {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  font-size: 1rem; /* Normal size */
  color: #000000; /* Black */
  user-select: none; /* Prevent selection */
}

/* Custom Combobox Dropdown */
.dropdown {
  background-color: #ffffff;  
  border-radius: 0 0 8px 8px; /* Rounded bottom */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  max-height: 200px;
  overflow-y: auto;  
  position: absolute; 
  margin-top:70px; 
  width:75%;
  border:none;
  outline:none;
  opacity: 0.9;
}

.dropdown ul {
  list-style: none;
  padding: 0;
  margin: 0;
  border:none; 
  outline:none; 
  width:100%; 
}

.dropdown li {
  padding: 0.75rem 1rem;
  cursor: pointer;
  color: #000000;
  font-size: 1rem; /* Normal size, not huge */
  transition: background-color 0.2s ease;
}

.dropdown li:hover,
.dropdown li:focus {
  background-color: var(--secondary-color); /* Gold hover */
  color: #000000;
}

.dropdown li.selected {
  background-color: var(--accent-color);; /* Darker gold */
}

/* Hide scrollbar for cleaner look (optional) */
.dropdown::-webkit-scrollbar {
  display: none;
}


#settings button {
	display: block;
	margin:5px auto; 
}

#data-display {
	position:fixed; 
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width:100vw; 
	height: 100vh;		
	background-color: #fff; /* White background for contrast */
	margin:0 auto; /* Center the display */
	z-index: 1002; /* Ensure it overlays other content */
	border:1px solid #ccc; 
	border-radius: 12px; /* Rounded corners */
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
	padding:1em; 	
	overflow-y: auto; /* Scrollable if content overflows */
}

#data-display .close-btn {
	position: absolute;
	top: 0.5rem;
	right: 1rem;
	font-size: 1.5rem;
	color: #000000; /* Black text for readability */
	cursor: pointer;
	background-color:rgb(163, 34, 34); 
	border:1px solid #000;
	padding:0.1rem 0.6rem;  
	z-index:2002; 
	border-radius:10px; 
}

#data-content {
	font-family: 'Fira Mono', 'Consolas', 'Menlo', 'Monaco', 'Liberation Mono', monospace;
	background-color: #eee;
	color: #000;
	font-size: 0.8rem;
	padding: 1.3em;
	border-radius: 8px;
	overflow-x: auto;
	/* white-space: pre-wrap;
	word-break: break-word; */
	line-height: 1.6;
	box-shadow: 0 2px 8px rgba(0,0,0,0.12);
	margin:10px auto; /* Center the content */
	text-align: left;	
}





#tblCalorieEstimatesWrapper {  
  background-color: #fff; /* White background for contrast */  
  width: 90%; /* Limit width for readability */
  margin: 20px auto; /* Center the table */
  overflow-x: auto; /* Allow horizontal scrolling if needed */
  font-size:0.7em; /* Smaller text for compactness */
}


table#calorie-estimates {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1rem;
}	

table#calorie-estimates tr {
	border-top:1px solid #ccc; 
}

table#calorie-estimates th {	  
  padding: 0.75rem;
  text-align: left;
  font-weight: bold;
  white-space: nowrap; /* Prevent text wrapping */
}

table#calorie-estimates td {
  padding: 0.75rem;
  text-align: left;
}

table#calorie-estimates tr:nth-child(odd) {
  background-color: #f9f9f9; /* Light gray for odd rows */
}

/* Additions to styles/main.css (or a new calendar.css if preferred) */

/* Calendar styles */
#calendar-table {
    width: 82%;
    border-collapse: collapse;
	margin:20px auto; 
	table-layout: fixed; /* Ensure equal column widths */
	border-radius: 12px; /* Rounded corners */

}

#calendar-table th, 
#calendar-table td {
    border: 1px solid #ddd;	
    padding: 8px;
    text-align: center;
	font-size:0.8em; 
	width:45px; 
	height:45px; 
	vertical-align: middle; /* Center content vertically */
}

#calendar-table th {
    background-color: #f2f2f2;
}

.drinking-day {
    background-color: #ffc6c6;
    font-weight: bold;
}

.drinking-day span {
    font-size: 0.7em;
    color: #000; /* Black text for readability */
	font-weight:normal; /* Normal weight for better readability */
}

.beer-day { background-color: var(--secondary-color); color: #000; } /* Yellow */

.wine-day { background-color: #800080; color: #FFF; } /* Purple */

.spirits-day, .liquor-day { background-color: #A52A2A; color: #FFF; } /* Brown */

.other-day { background-color: #808080; color: #FFF; } /* Gray */

.mixed-day { background-color: #FFA500; color: #000; } /* Orange */


#calendar-controls {
    text-align: center;
    margin-bottom: 10px;
}

#calendar-controls #current-month {
	font-size: 1.5em;
	font-weight: bold;
	color: #000000; /* Black text for readability */
}

#calendar-controls button {
    font-size: 0.6em;
    margin: 0 10px;
	min-width:unset;	

}

#summary {
    text-align: center;
    margin-top: 10px;
    font-style: italic;
	width:80vw;
	max-width: 450px; /* Limit width for readability */
}

#booze-log, 
#water-log, 
#calendar, 
#contact-page, 
.page{
	background-color:var(--transparent-bg); 	
	width:85vw;
	max-width:600px;
	padding:1rem;
	border-radius:10px; 
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

#food-log div.tabs {
	display: flex;
	justify-content: center;	
	margin:0; 
	
}

#food-log button.tab-button {
	background-color:rgba(255, 255, 255, 0.8); /* Semi-transparent white */
	border: none;
	border-bottom: none;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	color: #000;
	font-weight: bold;
	padding: 0.7em 2em 0.7em 2em;
	margin: 0 0.2em 0px 0.2em;	
	/* transition: background 0.2s, color 0.2s; */
	min-width:unset; 	
	box-shadow: none;
}

#food-log button.active {
	background-color:rgba(255, 255, 255, 0.5); /* Slightly more opaque for active tab */		
	box-shadow: none;
}


#food-log .tab-content {
	display: none; /* Hide all tab content by default */
	padding: 3rem;
	background-color: var(--transparent-bg); 
	border-radius: 10px; 
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	margin:0; 
	font-size:1em; 
	width:80vw; 	
}

#food-log label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: bold;
	color: #000000; /* Black text for readability */	
	cursor: pointer; /* Pointer cursor for interactivity */
	font-size:0.8em; 
}

#food-log input[type="text"],
#food-log input[type="number"], 
#food-log input[type="datetime-local"] {
	display: block;
	font-size:1.8em; 
	width: 100%;
	padding: 0.5rem;
	border: 1px solid #ccc;
	border-radius: 5px;
	box-sizing: border-box; /* Include padding and border in element's total width */
}

#food-log input[type="radio"] {
	margin-right: 0.5rem; /* Space between radio and label */
	cursor: pointer; /* Pointer cursor for interactivity */
	transform: scale(1.5); /* Larger radio buttons for easier selection */
}

#food-log input[type="datetime-local"] {
	font-size:1.5em; 
}

#food-log .lblPrompt {
	display: block;
	text-align: left; 	
}

input.required {
	border-color: darkred !important; /* Red for required fields */	
}

input.valid {
	border-color: green !important; /* Green for valid fields */
}

input.invalid {
	border-color: red !important; /* Red for invalid fields */
}

#about-page ul li {
	display:list-item !important; /* Ensure list items are displayed */
}
 
#about-page ul li span.bold {
	display: inline;
	font-weight:bold; 
	white-space: unset;
}

#daily-drinks-bar {
	height: 200px;
	width: 100%;
	max-width: 350px; /* Match pie chart width */
	margin: 10px 0; /* Add spacing */
}

/* Add to your <style> block in calendar.html or a linked CSS file */
#calendar-legend {
    margin-top: 20px;
    padding: 10px;    
    border-radius: 5px;  
	margin-left:auto; 
	margin-right:auto;
	width:90%;    
}

#calendar-legend h3 {
    margin-bottom: 10px;
    font-size: 16px;
}

#calendar-legend ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#calendar-legend li {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.legend-color {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 10px;
    border: 1px solid #000; /* Optional: border for visibility on light colors */
}

/* Reuse existing color classes */
.legend-color.beer-day { background-color: var(--secondary-color); }
.legend-color.wine-day { background-color: #800080; }
.legend-color.spirits-day { background-color: #A52A2A; }
.legend-color.other-day { background-color: #808080; }
.legend-color.mixed-day { background-color: #FFA500; }


.receipt {
    font-family: monospace;
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
    padding: 15px;
    border: 1px dashed #333;
    background: #f9f9f9;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-align: left;
}
.receipt h4 {
    text-align: center;
    margin-bottom: 10px;
}
.receipt ul {
    list-style: none;
    padding: 0;
    margin: 0 0 10px;
}
.receipt li {
    /* border-bottom: 1px dotted #ccc; */
    padding: 5px 0;
    display: flex;
    justify-content: space-between;
	background-color:unset;
}
.receipt .total {
    font-weight: bold;
    border-top: 1px solid #333;
    padding-top: 10px;
}
.receipt .metrics {
    margin-top: 10px;
    font-style: italic;
}

.extraSpace {
	display: block;
	margin: 2rem 0; /* Extra space for larger screens */
}


.notification-dialog {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff; /* White background for contrast */
	border-radius: 12px; /* Rounded corners */
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
	padding: 2rem;
	z-index: 1001; /* Ensure it overlays other content */
	width: 90vw; /* Responsive width */
	max-width: 500px; /* Limit max width for readability */
	text-align: center;
}

#charts {
	display: block;
	text-align: center;
}

#charts .chart {
	display: none; /* Hide all charts by default */
	background-color:#fff; /* White background for contrast */
	border-radius: 12px; /* Rounded corners */
	padding: 1rem;
	margin: 1rem auto; /* Center the chart */
	width: 100%; /* Full width on mobile */
	max-width: 600px; /* Limit width on larger screens */
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
}

#charts ul {
	display: flex;
	width: 100%; /* Full width of parent */
	flex-direction: row;
	justify-content: space-evenly; /* Even spacing between items */
	gap: 1rem; /* Increased for better spacing */
	margin: 2rem 0;
	padding: 0;
	list-style: none;
	text-align: center;
}

#charts ul {
	display: flex;
	width:100%; /* Full width of parent */
	flex-direction: row; 
	justify-content:space-evenly;
	gap: 0.4rem;
	margin:2rem 0; 
	text-align: center;	
}

#charts ul li.tab {
	display: flex;
	flex: 1; /* Equal width for all tabs */
	flex-direction: row;
	justify-content: center;
	align-items: center;
	border-radius: 8px;
	margin-bottom: 0.5rem;
	background: var(--secondary-color);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	padding: 1rem;
	cursor: pointer;
	font-size: 0.8em;
	text-align: center;
	font-weight: bold;
	min-width: 100px; /* Optional: prevents tabs from getting too narrow */
}

#charts ul li.active {
	background-color: var(--active-color); /* Lighter yellow for active tab */
}

.btnColumn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.btnColumn .btnLink {
	margin: 0.5rem 0; /* Space between buttons */
}


a.ride-link, 
a.ride-link:link {
	display: block;
	width:100%; 
	padding:1rem; 
}


.imagePreview {
	width: 150px; /* Fixed size for profile image */
	height: 150px; /* Fixed size for profile image */
	border-radius: 50%; /* Circular profile image */
	object-fit: cover; /* Cover the area without distortion */
	margin: 1rem auto; /* Center the image */	
	display: block;
	cursor:pointer; 
}


.dialog {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff; /* White background for contrast */
	border-radius: 12px; /* Rounded corners */
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
	padding: 2rem;
	z-index: 1001; /* Ensure it overlays other content */
	width: 90vw; /* Responsive width */
	max-width: 500px; /* Limit max width for readability */
	text-align: center;
}

/* Mobile tweaks: Larger tap areas, but normal text */
@media (max-width: 768px) {
  .dropdown li {
    padding: 1rem; /* More tap space */
  }
  .combobox-arrow {
    font-size: 1.2rem; /* Slightly larger for touch */
    right: 1.2rem;
  }
}



@keyframes flash {
	0% { opacity: 0.5; }
	50% { opacity: 0.9; }
	100% { opacity: 0.5; }
}

@keyframes flash-fade {
	0% {
		opacity: 0.5;
		background-color: #fff3cd;
		border: 2px solid var(--secondary-color);
	}
	50% {
		opacity: 0.9;
		background-color: #fff3cd;
		border: 2px solid var(--secondary-color);
	}
	80% {
		opacity: 0.5;
		background-color: #fff3cd;
		border: 2px solid var(--secondary-color);
	}
	100% {
		opacity: 0;
		background-color: #ddd;
		border: none;
		display: none; /* Hide after animation */
	}
}