/*
 * University of Arizona Brand Typography
 * Based on UA Brand Guidelines: https://marcom.arizona.edu/brand-guidelines/typography
 *
 * Primary Font: Proxima Nova (via Adobe Fonts/Typekit)
 * Secondary Font: Garamond Premier Pro (via Adobe Fonts/Typekit)
 * Presentation sizing: 24pt minimum for readability
 *
 * NOTE: Adobe Fonts loaded via HTML <link> tag in document header (not @import)
 * to avoid embed-resources issues with external font CDNs
 */

/* Base Typography - Proxima Nova with fallbacks */
.reveal {
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1.8em; /* Presentation-appropriate base size (24pt+) */
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.5;
  box-sizing: border-box;
}

/* Default Text Alignment - Left for Body Content */
.reveal .slides section {
  text-align: left;
}

/* Headings - Proxima Nova (Clean, Modern, Bold) */
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.02em; /* Tighter tracking for headlines per UA guidelines */
  line-height: 1.2;
  text-transform: none; /* Avoid multi-line all-caps per guidelines */
  margin-bottom: 0.5em;
}

/* H1 - Extra Condensed for Large, Impactful Headlines */
.reveal h1 {
  font-family: 'proxima-nova-extra-condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 2.5em; /* Large, impactful headlines */
  font-weight: 700; /* Bold */
  letter-spacing: -0.02em;
  line-height: 1.2;
  text-transform: none;
  margin-bottom: 0.5em;
}

.reveal h2 {
  font-size: 1.8em;
  font-weight: 700;
}

.reveal h3 {
  font-size: 1.4em;
  font-weight: 600;
}

/* Overflow Protection - Prevent text from running off slides */
.reveal h1,
.reveal h2,
.reveal h3 {
  max-width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* Body Text - Maintaining Readability */
.reveal p,
.reveal li {
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.6; /* Ample whitespace per UA best practices */
  margin-bottom: 0.8em;
}

/* Emphasis with Garamond Premier Pro (Secondary Font) */
.reveal em,
.reveal .serif-text {
  font-family: 'garamond-premier-pro', Georgia, 'Times New Roman', serif;
  font-style: italic;
  font-weight: 400;
}

.reveal strong {
  font-weight: 700;
  color: inherit;
}

/* Subheadings and Callouts - Garamond Premier Pro */
.reveal .subtitle,
.reveal blockquote {
  font-family: 'garamond-premier-pro', Georgia, 'Times New Roman', serif;
  font-size: 1.1em;
  font-weight: 400;
  font-style: italic;
  line-height: 1.6;
}

/* Code Blocks - Maintain Monospace */
.reveal code {
  font-family: 'Courier New', Courier, monospace;
  font-size: 0.9em;
}

.reveal pre {
  font-size: 0.75em;
  line-height: 1.4;
}

.reveal pre code {
  font-family: 'Courier New', Courier, monospace;
}

/* Lists - Enhanced Hierarchy */
.reveal ul,
.reveal ol {
  margin-left: 1.5em;
  margin-bottom: 1em;
}

.reveal li {
  margin-bottom: 0.5em;
}

/* Tables - Clean, Readable */
.reveal table {
  font-size: 0.85em;
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

.reveal table th {
  font-weight: 700;
  font-size: 1em;
}

.reveal table td {
  font-weight: 400;
}

/* Speaker Notes - Consistent Typography */
.reveal .notes {
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 1em;
  line-height: 1.6;
}

/* Links - Subtle, Professional */
.reveal a {
  font-weight: 500;
  text-decoration: none;
}

.reveal a:hover {
  text-decoration: underline;
}

/* Title Slide - Extra Impact */
.reveal .title {
  font-family: 'proxima-nova-extra-condensed', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-size: 2.8em;
  letter-spacing: -0.03em;
  line-height: 1.1;
  text-align: center;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.reveal .subtitle {
  font-family: 'garamond-premier-pro', Georgia, 'Times New Roman', serif;
  font-size: 1.4em;
  font-weight: 400;
  font-style: italic;
  margin-top: 0.5em;
}

/* Author and Date - Refined */
.reveal .author,
.reveal .date {
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 0.9em;
  font-weight: 400;
}

/* UA Color Scheme Integration - Optional Enhancement */
.reveal .ua-red {
  color: #AB0520;
}

.reveal .ua-blue {
  color: #0C234B;
}

/* Accent Color - For non-brand highlights */
.reveal .accent-blue {
  color: #1EAEDB;
}

/* Text Size Utilities */
.reveal .small-text {
  font-size: 0.7em;
}

/* UA Background Colors for Section Slides */
.reveal .slide-background.ua-red-bg {
  background-color: #AB0520 !important;
}

.reveal .slide-background.ua-blue-bg {
  background-color: #0C234B !important;
}

/* Large Text Utility - For r-fit-text elements */
.reveal .r-fit-text {
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 700;
  /* Let reveal.js handle auto-scaling - no word-wrap properties */
}

/* Maintain Whitespace - UA Best Practice */
.reveal .slides section {
  padding: 1em;
  box-sizing: border-box;
}

/* Avoid Drop Shadows and Outlines - Per UA Guidelines */
.reveal h1,
.reveal h2,
.reveal h3 {
  text-shadow: none;
  border: none;
  outline: none;
}

/* Blockquotes - Garamond Premier Pro for Classic Feel */
.reveal blockquote {
  font-family: 'garamond-premier-pro', Georgia, 'Times New Roman', serif;
  font-size: 1.2em;
  font-style: italic;
  font-weight: 400;
  padding: 1em 1.5em;
  border-left: 4px solid #AB0520; /* UA Red accent */
  background: rgba(0, 0, 0, 0.02);
}

/* Footer - Consistent Branding */
.reveal .footer {
  font-family: 'proxima-nova', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 0.7em;
  font-weight: 400;
}
