/*
   stylesheet for publist classes - UPDATED VERSION WITH MODERN STYLES
   
   included as part of publist and released under the GPL
   Modernized for better readability and visual appeal
*/

/* Import modern web fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Source+Serif+Pro:wght@400;600&display=swap');

/* Override inline styles and global improvements */
body {
	line-height: 1.6;
	color: #2c3e50 !important;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
	background-color: #ffffff !important; /* Override the inline yellow background */
}

/* Make changes more visible with a subtle gradient background */
body {
	background: linear-gradient(135deg, #f8fafc 0%, #ffffff 50%, #f1f5f9 100%) !important;
	min-height: 100vh;
}

/* Make the main heading very obviously different */
h1 {
	background: linear-gradient(135deg, #3498db, #2980b9) !important;
	color: white !important;
	padding: 20px !important;
	border-radius: 10px !important;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.3) !important;
	margin: 20px 0 !important;
	box-shadow: 0 4px 15px rgba(52, 152, 219, 0.3) !important;
}

.publist {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.publist li {
	padding-bottom: 1.5em;
	margin-bottom: 1.5em;
	border-bottom: 1px solid #e8ecf0;
	transition: all 0.2s ease;
}

.publist li:hover {
	background-color: #f8fafc;
}

.publistheader {
	font-family: 'Source Serif Pro', Georgia, serif;
	font-size: 1.4em;
	font-weight: 600;
	padding-top: 1.5em;
	padding-bottom: 0.5em;
	color: #2c3e50;
	border-bottom: 2px solid #3498db;
	margin-bottom: 1em;
}

.linkheader {
	font-weight: 600;
	color: #2c3e50;
}

.publistcredit {
	font-family: 'Inter', sans-serif;
	font-size: 0.85em;
	color: #7f8c8d;
	margin-top: 2em;
	padding-top: 1em;
	border-top: 1px solid #ecf0f1;
}

.publistcredit A {
	color: #3498db;
	text-decoration: none;
	transition: color 0.2s ease;
}

.publistcredit A:hover {
	color: #2980b9;
	text-decoration: underline;
}

.publinks {
	margin-top: 0.5em;
}

.publinks a {
	display: inline-block;
	padding: 4px 8px;
	margin: 2px 4px 2px 0;
	background: #ecf0f1;
	color: #2c3e50;
	text-decoration: none;
	border-radius: 4px;
	font-size: 0.9em;
	transition: all 0.2s ease;
}

.publinks a:hover {
	background: #3498db;
	color: white;
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(52, 152, 219, 0.3);
}

.newpubmarker {
	float: left;
	margin: 0 0.5em 0.2em 0;
	background: #e74c3c;
	color: white;
	padding: 2px 6px;
	border-radius: 12px;
	font-size: 0.75em;
	font-weight: 500;
	text-transform: uppercase;
}

.publistabstract {
	padding: 1em 2em;
	background: #f8fafc;
	border-left: 3px solid #3498db;
	margin: 1em 0;
	border-radius: 0 4px 4px 0;
	font-style: italic;
	color: #5a6c7d;
}

.publistsorts {
	float: right;
	margin: 0 0 1.5em 1.5em;
	border: 1px solid #bdc3c7;
	background: linear-gradient(135deg, #f8fafc 0%, #ecf0f1 100%);
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
	min-width: 200px;
}
	padding: 0;
}

.publistsorts ul {
	margin: 0;
	padding: 0;
	padding-bottom: 0.5em;
	list-style: none;
}

.publistsorts h3 {
	font-size: 1em;
	font-weight: 600;
	padding: 1em;
	padding-bottom: 0.5em;
	margin: 0;
	color: #2c3e50;
	background: linear-gradient(135deg, #3498db, #2980b9);
	color: white;
	border-radius: 8px 8px 0 0;
}

.publistsorts li {
	margin: 0;
	padding: 0;
}

.publistsorts li a {
	color: #2c3e50;
	display: block;
	margin: 0;
	padding: 0.5em 1em;
	text-decoration: none;
	transition: all 0.2s ease;
	border-left: 3px solid transparent;
}

.publistsorts li a:hover, .publistsorts li a:active {
	color: #2c3e50;
	background: #3498db;
	color: white;
	border-left: 3px solid #2980b9;
	transform: translateX(2px);
}

.publistjumps {
	margin: 1.5em 0;
	padding: 1em;
	background: #f8fafc;
	border-radius: 6px;
	border: 1px solid #e8ecf0;
}

.publistjumps ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
}

.publistjumps li {
	list-style: none;
	display: inline-block;
	margin: 0;
	white-space: nowrap;
}

.publistjumps a {
	color: #3498db;
	text-decoration: none;
	padding: 4px 8px;
	border-radius: 4px;
	transition: all 0.2s ease;
	font-weight: 500;
}

.publistjumps a:hover {
	background: #3498db;
	color: white;
	transform: translateY(-1px);
}

cite.title {
	font-style: normal;
	font-weight: 600;
	color: #2c3e50;
	font-size: 1.05em;
}

address.location {
	display: inline;
	font-style: normal;
	color: #7f8c8d;
	font-weight: 400;
}

details.abstract {
	display: inline;
	color: #27ae60;
	font-weight: 500;
	cursor: pointer;
	transition: color 0.2s ease;
}

details.abstract:hover {
	color: #229954;
}

/* Responsive design improvements */
@media (max-width: 768px) {
	.publist {
		padding: 0 15px;
	}
	
	.publistsorts {
		float: none;
		margin: 0 0 1.5em 0;
		width: 100%;
	}
	
	.publistjumps ul {
		flex-direction: column;
		gap: 0.25em;
	}
	
	.publistabstract {
		padding: 1em;
		margin: 0.5em 0;
	}
}
