/* Shared base styles for amit.zone Quarto sites.
 *
 * These rules only CONSUME the --site-* custom properties; each site
 * defines the actual palette in its own styles.css, in two blocks:
 *
 *   :root, body.quarto-light   { --site-...: <light values>; }
 *   html.site-pre-dark,
 *   body.quarto-dark           { --site-...: <dark values>; }
 *
 * html.site-pre-dark is set by includes/dark-mode-head.html before first
 * paint to avoid a light flash; once Quarto adds quarto-light/quarto-dark
 * on body, the body-level values win (custom properties set on body
 * override the inherited ones). Requires Quarto >= 1.7.
 *
 * Required variables: --site-heading-color, --site-link-color,
 * --site-link-hover-color, --site-muted-color, --site-surface-bg,
 * --site-award-color, --site-body-bg, --site-body-pattern.
 */

/* Base styles */
body {
  font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  line-height: 1.6;
  background-color: var(--site-body-bg);
  background-image: var(--site-body-pattern);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--site-heading-color);
  margin-top: 1rem;
  margin-bottom: 0.75rem;
}

/* Navbar customization */
.navbar {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Card-like panels */
.card {
  background: var(--site-surface-bg);
  border-radius: 5px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
  padding: 1.5rem;
  margin-bottom: 1.5rem;
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.card:hover {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

/* Callout customizations */
.callout {
  border-left-width: 5px;
  border-radius: 5px;
}

.callout-note {
  border-left-color: var(--site-link-color);
}

/* Link styling */
a {
  color: var(--site-link-color);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--site-link-hover-color);
  text-decoration: underline;
}

/* Improve spacing for mobile */
@media (max-width: 768px) {
  .g-col-md-4, .g-col-md-6 {
    margin-bottom: 1.5rem;
  }
}

/* Custom container max-width */
.container-xl {
  max-width: 1140px;
}

/* Publication listing (templates/bib-template.ejs) */
.bib-entry {
  margin-bottom: 1em;
}

.bib-entry u {
  text-decoration: underline;
  font-weight: bold;
}

.bib-authors u {
  font-weight: normal; /* Ensures underline is not bold */
  text-decoration: underline; /* Explicitly keep underline */
}

.bib-title {
  font-weight: bold;
}

.bib-links {
  margin-top: 5px;
  font-size: 0.9em;
}

.bib-links a {
  display: inline-block;
  margin-right: 10px;
  text-decoration: none;
  color: var(--site-link-color);
}

.bib-links a:hover {
  text-decoration: underline;
}

.bib-award-text {
  font-style: italic;
  font-weight: bold;
  color: var(--site-award-color);
  margin-left: 5px;
}

/* Individual publication pages (filters/render-publication-links.lua) */
.publication-list {
  padding-left: 2em;
}
.publication-list li {
  margin-bottom: 1.5em;
}
.publication-venue {
  margin-top: -0.5em;
  margin-bottom: 0.25em;
  font-size: 0.95em;
  color: var(--site-muted-color);
}
.publication-links {
  margin-top: 0.5em;
  margin-bottom: 1em;
  font-size: 0.9em;
}
.publication-links a {
  display: inline-block;
  margin-right: 1em;
  text-decoration: none;
  color: var(--site-link-color);
}
.publication-links a:hover {
  text-decoration: underline;
}
.publication-links i {
  margin-right: 0.25em;
}
