/* Unified Minimal Clean stylesheet — readable, consistent, accessible */

:root{
  /* Core palette (Minimal Clean / professional) */
  --bg: #f5f7fa;         /* page background */
  --surface: #ffffff;    /* main surface / cards */
  --muted: #6b7b8c;      /* secondary text */
  --text: #0b1726;       /* primary text */
  --accent: #0b84ff;     /* blue accent kept */
  --radius: 10px;
  --container: 1100px;
  --gap: 20px;
  --shadow-1: 0 6px 18px rgba(11,20,30,0.06);
  --shadow-2: 0 10px 30px rgba(11,20,30,0.08);
  --max-width: 1100px;
}

/* Base reset */
*{box-sizing:border-box}
html,body{height:100%;min-height:100vh;margin:0;padding:0;font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;color:var(--text);background:var(--bg);background-repeat:no-repeat;background-attachment:fixed}

.container{max-width:var(--container);margin:0 auto;padding:24px}

/* Typography */
h1,h2,h3{margin:0 0 12px 0;font-weight:700}
p{margin:0 0 12px 0;line-height:1.5;color:var(--text)}

/* Avatar */
.avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;margin-bottom:18px;border:2px solid rgba(11,20,30,0.06);display:block;margin-left:auto;margin-right:auto}

/* Header */
.site-header{padding:28px 0;text-align:center}
.site-title{margin:0;font-size:1.6rem;color:var(--text)}
.site-tag{margin:6px 0 0;color:var(--muted)}

.main-card{padding:28px 24px;background:transparent}
.intro p{margin:0 0 18px 0;color:var(--muted)}

/* Navigation */
.links{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:10px 16px;background:var(--accent);color:#fff;text-decoration:none;border-radius:8px;font-weight:600;border:none}
.btn-outline{display:inline-block;padding:10px 16px;background:transparent;border:1px solid rgba(11,132,255,0.12);color:var(--accent);border-radius:8px;font-weight:600}

/* Ensure links inside .links inherit good contrast */
.links a{display:inline-block}

/* Cards */
.card, .article-card, .video-card, .doc-item{
  background:var(--surface);
  border-radius:var(--radius);
  padding:16px;
  color:var(--text);
  box-shadow: var(--shadow-1);
}
.article-card{margin-bottom:12px}
.section{margin:20px 0}

/* Documents list */
.doc-list{list-style:none;padding-left:0;margin:0}
.doc-item{padding:14px;border-radius:8px;color:var(--text);display:block;border:1px solid rgba(11,20,30,0.04);background:linear-gradient(180deg, #ffffff, #fbfcfe)}
.doc-item + .doc-item{margin-top:12px}
.pdf-link{font-weight:700;color:var(--text);text-decoration:none}
.pdf-dl{margin-left:12px;color:#fff;text-decoration:none;font-weight:700;background:var(--accent);padding:8px 10px;border-radius:8px}
.pdf-dl:hover{opacity:0.95}
.pdf-meta{font-size:0.9rem;color:var(--muted);margin-top:8px}
.pdf-desc{margin-top:6px;color:var(--muted)}

/* Small links */
.small-link{display:inline-block;margin-top:8px;color:var(--accent);text-decoration:underline}

/* Video grid */
.videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.video-card{border-radius:12px;overflow:hidden;box-shadow:var(--shadow-2);background:var(--surface);border:1px solid rgba(11,20,30,0.04)}
.video-card p{padding:12px;text-align:center;color:var(--text);margin:0}
.video-embed{position:relative;width:100%;padding-top:56.25%;overflow:hidden}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* CTA */
.cta{display:inline-flex;align-items:center;gap:10px;margin:18px auto 0 auto;padding:10px 18px;border-radius:10px;background:var(--accent);color:#fff;font-weight:700;border:none;cursor:pointer}
.cta-icon{width:34px;height:34px;border-radius:8px;display:inline-grid;place-items:center;background:rgba(255,255,255,0.08)}

/* Socials */
.socials{display:flex;justify-content:center;gap:12px;margin:12px 0 18px 0;flex-wrap:wrap}
.social-link{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;background:#f1f4f7;color:var(--text);text-decoration:none;font-weight:600;border:1px solid rgba(11,20,30,0.03)}

/* Footer */
.site-footer{padding:18px 0;margin-top:36px;color:var(--muted);font-size:0.95rem;text-align:center}

/* Accessibility */
a:focus, .btn:focus, .cta:focus, .pdf-dl:focus, .social-link:focus{outline:3px solid rgba(11,132,255,0.22);outline-offset:3px}

/* Utilities */
.container-center{text-align:center}

@media (max-width:520px){
  .container{padding:16px}
  .site-title{font-size:1.2rem}
  .videos{grid-template-columns:1fr}
}

/* Theme overrides (kept for future, but defaults are minimal) */
.theme-minimal{ /* present but not required — defaults are minimal */ }

/* Page-specific override: productions page blue theme (restores previous blue gradient)
   This override swaps text/surface variables for good contrast on dark background. */
.productions-blue{
  --bg: linear-gradient(135deg,#0f2a55 0%, #173f7a 45%, #234e8f 100%);
  --text: #eaf2ff;
  --muted: #9fb6d9;
  --surface: rgba(6,18,36,0.45);
  --card: rgba(6,18,36,0.28);
  background: var(--bg);
  color: var(--text);
}

/* Ensure anchor links are visible in minimal theme, but exclude button-style links */
.theme-minimal a:not(.btn):not(.btn-outline){ color:var(--accent); }

/* Ensure download links/buttons remain readable in theme-minimal */
.theme-minimal .pdf-dl{
  background: var(--accent);
  color: #fff;
  border: none;
  box-shadow: 0 6px 16px rgba(11,132,255,0.12);
}
.theme-minimal .pdf-dl:hover{ opacity:0.95 }

/* Ensure .pdf-dl is always visible regardless of other generic link rules */
.doc-item a.pdf-dl, .pdf-dl {
  background: var(--accent) !important;
  color: #fff !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
}

/* Specific visibility fixes for productions page */
.productions-blue .doc-item{
  background: var(--card) !important;
  color: var(--text) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
}
.productions-blue .pdf-link{ color: var(--text); }
.productions-blue .pdf-dl{ background: rgba(11,132,255,0.14); color:#fff }
.productions-blue .social-link{ background: rgba(255,255,255,0.03); color:var(--text); border:1px solid rgba(255,255,255,0.04) }
.productions-blue .small-link{ color: var(--muted) }
.productions-blue .site-footer{ background: transparent; color: var(--muted) }

/* Button contrast fixes specifically for productions (dark) background */
.productions-blue .btn{
  background: var(--accent);
  color: #fff;
  border: none;
  box-shadow: 0 8px 22px rgba(2,10,30,0.35);
}
.productions-blue .btn-outline{
  background: transparent;
  color: var(--text);
  border: 1px solid rgba(255,255,255,0.14);
}
.productions-blue .links a{color:inherit}

/* Ensure the blue background always covers the viewport to avoid white band at bottom */
.productions-blue{
  position:relative;
}
.productions-blue::before{
  content: "";
  position:fixed;
  inset:0;
  z-index:-999;
  background: var(--bg);
  background-repeat:no-repeat;
  background-size:cover;
}

/* Strengthen link visibility on productions page */
.productions-blue a{ color: var(--text); }
.productions-blue .btn, .productions-blue .pdf-dl{ box-shadow: 0 6px 18px rgba(2,10,30,0.25); }

/* Force high-contrast button text to avoid accidental overrides */
.btn, .links a.btn{
  color: #ffffff !important;
}
.btn-outline, .links a.btn-outline{
  color: var(--accent) !important;
}

/* Very specific rule to ensure homepage buttons are visible in theme-minimal */
.theme-minimal .links a.btn{
  background: var(--accent) !important;
  color: #ffffff !important;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.25) !important;
}
.theme-minimal .links a.btn-outline{
  background: transparent !important;
  color: var(--accent) !important;
  border: 1px solid rgba(11,132,255,0.18) !important;
}

