/* =========================
   Global Theme Refresh
   ========================= */

:root {
  --site-navy: #1f3a5f;
  --site-teal: #1f8a8a;
  --site-gold: #f2b134;
  --site-cream: #fffef8;
  --site-slate: #2f2f46;
}

body {
  background:
    radial-gradient(circle at 0% 0%, rgba(31, 138, 138, 0.12), transparent 42%),
    radial-gradient(circle at 95% 8%, rgba(242, 177, 52, 0.12), transparent 38%),
    linear-gradient(180deg, #f8fbff 0%, var(--site-cream) 100%);
}

main.content {
  background: #ffffff;
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(31, 58, 95, 0.08);
  padding: 1.2rem 1.4rem;
}

h2 {
  margin-top: 1.3rem;
  padding: 0.45rem 0.75rem;
  border-left: 6px solid var(--site-teal);
  background: linear-gradient(90deg, rgba(31, 138, 138, 0.12), rgba(31, 138, 138, 0.03));
  border-radius: 8px;
}

h3 {
  color: var(--site-navy);
}

hr {
  border: 0;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--site-teal), var(--site-gold));
  opacity: 0.95;
}

a {
  text-underline-offset: 0.18em;
}

/* Hide author in title blocks and bylines everywhere */
.quarto-title-meta-author,
.quarto-title-author,
.byline,
.article-meta .author {
  display: none !important;
}

/* =========================
   Banner & Navbar
   ========================= */
.home-banner {
  background-image: url("images/cover1.jpg");
  background-size: cover;
  background-position: center;
  height: 300px;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  padding-top: 60px; /* adjusts for navbar height */
}

/* Remove default page title block */
.page-title {
  display: none !important;
  margin-top: 0;
  padding-top: 0;
}

/* Remove spacing between navbar and content */
main.content {
  /* Note: negative padding has no effect; margin handles spacing */
  margin-top: 0;
}

/* Overlay navbar on banner */
header.navbar {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 10;
  border: none;
  box-shadow: none;
  background: linear-gradient(90deg, rgba(31, 58, 95, 0.84), rgba(31, 138, 138, 0.72));
}


/* =========================
   Follow.it Subscription Form
   ========================= */

/* Layout + card look */
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f] .form-preview {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  margin-top: 30px !important;
  padding: clamp(17px, 5%, 40px) clamp(17px, 7%, 50px) !important;
  border-radius: 6px !important;
  box-shadow: 0 5px 25px rgba(34, 60, 47, 0.25) !important;
  box-sizing: border-box !important;
}

/* Ensure all inner elements use border-box */
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f] .form-preview * {
  box-sizing: border-box !important;
}

/* Heading spacing */
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f] .form-preview .preview-heading {
  width: 100% !important;
}
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f] .form-preview .preview-heading h5 {
  margin: 0 !important;
}

/* Input wrapper */
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f] .form-preview .preview-input-field {
  margin-top: 20px !important;
  width: 100% !important;
}

/* Email input (purple bg, white bold text, centered) */
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f]
.form-preview .preview-input-field input {
  width: 100% !important;
  height: 40px !important;
  border-radius: 6px !important;
  background-color: #593196 !important;  /* Pulse purple */
  border: 2px solid #ffffff !important;  /* white border for contrast */
  outline: none !important;

  color: #ffffff !important;            /* typed text */
  font-weight: bold !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 20px !important;
  text-align: center !important;
}

/* Placeholder (white, bold, same font) */
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f]
.form-preview .preview-input-field input::placeholder {
  color: #ffffff !important;
  font-weight: bold !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;
  opacity: 1 !important;
}

/* Submit button container (center the button) */
.followit--follow-form-container .preview-submit-button {
  display: flex !important;
  justify-content: center !important;
  margin-top: 10px !important;
  width: 100% !important;
}

/* Subscribe button (blue with white text) */
.followit--follow-form-container .preview-submit-button button {
  background-color: #007BFF !important; /* blue */
  color: #ffffff !important;            /* white text */
  font-weight: bold !important;
  font-family: Arial, sans-serif !important;
  font-size: 16px !important;

  border: none !important;
  border-radius: 6px !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  width: auto !important;               /* shrink to fit */
  text-align: center !important;
}

/* Hover state */
.followit--follow-form-container .preview-submit-button button:hover {
  background-color: #0056b3 !important; /* darker blue on hover */
}

/* Powered-by line */
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f] .powered-by-line {
  color: #231f20 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 25px !important;
  text-align: center !important;
  text-decoration: none !important;
  display: flex !important;
  width: 100% !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 10px !important;
}
.followit--follow-form-container[attr-a][attr-b][attr-c][attr-d][attr-e][attr-f] .powered-by-line img {
  margin-left: 10px !important;
  height: 1.13em !important;
  max-height: 1.13em !important;
}


/* =========================
   Homepage
   ========================= */

.home-headshot {
  width: 100%;
  max-width: 260px;
  border-radius: 16px;
  display: block;
  margin: 0 auto 1rem auto;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.about-headshot {
  max-width: 230px;
}

/* =========================
   Blog/Series Listing Cards
   ========================= */

.quarto-listing .quarto-post {
  background: linear-gradient(180deg, #ffffff 0%, #f5fbff 100%);
  border: 1px solid rgba(31, 58, 95, 0.18);
  border-left: 7px solid var(--site-teal);
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(31, 58, 95, 0.08);
  padding: 0.8rem 0.95rem;
  margin-bottom: 1rem;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.quarto-listing .quarto-post:hover {
  transform: translateY(-2px);
  border-color: rgba(31, 58, 95, 0.32);
  box-shadow: 0 14px 22px rgba(31, 58, 95, 0.14);
}

.quarto-listing .listing-title a {
  text-decoration: none;
  color: var(--site-navy);
}

.quarto-listing .listing-title a:hover {
  color: var(--site-teal);
}

.quarto-listing-category .category {
  background: rgba(31, 138, 138, 0.1);
  border: 1px solid rgba(31, 138, 138, 0.32);
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
}

@media (max-width: 768px) {
  .home-banner {
    height: 220px;
  }

  main.content {
    border-radius: 14px;
    padding: 1rem;
  }

  .home-headshot {
    max-width: 220px;
  }
}


/* =========================
   MOUD Dashboard
   ========================= */

.dashboard-grid {
  background: rgba(31, 58, 95, 0.04);
  border: 1px solid rgba(31, 58, 95, 0.15);
  border-radius: 12px;
  padding: 0.8rem;
  margin-bottom: 1rem;
}

.dashboard-card {
  background: #ffffff;
  border: 1px solid rgba(31, 58, 95, 0.18);
  border-left: 5px solid var(--site-teal);
  border-radius: 12px;
  padding: 0.9rem 1rem;
  box-shadow: 0 8px 20px rgba(31, 58, 95, 0.08);
}

.dashboard-card h3 {
  margin-top: 0;
}

.dashboard-card.compact {
  padding: 0.6rem 0.8rem;
}

.dashboard-card .muted {
  color: #556070;
  margin-bottom: 0;
}

.control-panel-dark {
  background: linear-gradient(180deg, #10253f 0%, #0b1a2d 100%);
  border-color: rgba(133, 171, 214, 0.45);
  color: #e8f1ff;
}

.control-panel-dark h3 {
  color: #f4f8ff;
}

.control-panel-dark .cell {
  margin-bottom: 0.55rem;
}

.control-panel-dark label {
  color: #dbe9ff !important;
  font-weight: 600;
}

.control-panel-dark select,
.control-panel-dark input,
.control-panel-dark button,
.control-panel-dark textarea {
  background-color: #122b49 !important;
  color: #f3f8ff !important;
  border: 1px solid #5e7fa6 !important;
}

.control-panel-dark option {
  background-color: #122b49;
  color: #f3f8ff;
}

.control-panel-dark .muted {
  color: #b6cae8;
}


