/*
Theme Name: PEW Creators
Theme URI: https://pewcreators.com/
Author: PEW Creators
Description: A cinematic editorial learning theme built for Rally Learn.
Version: 2.0.0
Text Domain: pew-creators
*/

:root {
  --pc-night: #070b13;
  --pc-ink: #121722;
  --pc-ivory: #f4eee2;
  --pc-paper: #faf8f2;
  --pc-white: #ffffff;
  --pc-steel: #9ba4b0;
  --pc-brass: #c6a66a;
  --pc-rule: #d6d2c8;
  --pc-focus: #7ca2ff;
  --pc-display: Georgia, "Times New Roman", serif;
  --pc-body: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--pc-paper); color: var(--pc-ink); font: 16px/1.55 var(--pc-body); }
body.admin-bar .pc-header { top: 32px; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button, a, input, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--pc-focus); outline-offset: 3px; }
.pc-shell { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { z-index: 9999; top: 10px; left: 10px; width: auto; height: auto; padding: 10px 14px; margin: 0; clip: auto; background: var(--pc-ivory); color: var(--pc-night); }

.pc-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid #2a303b; background: var(--pc-night); color: var(--pc-white); }
.pc-header-inner { min-height: 82px; display: grid; grid-template-columns: 260px 1fr auto; align-items: center; gap: 34px; }
.pc-brand { min-height: 48px; display: inline-flex; align-items: center; }
.pc-brand img { width: 220px; height: auto; }
.pc-nav { display: flex; align-items: center; justify-content: flex-end; gap: 34px; }
.pc-nav a { min-height: 46px; display: inline-flex; align-items: center; position: relative; color: #d4d7dc; text-decoration: none; font-weight: 700; }
.pc-nav a::after { content: ""; position: absolute; right: 100%; bottom: 5px; left: 0; height: 1px; background: var(--pc-ivory); transition: right .18s ease; }
.pc-nav a:hover, .pc-nav a[aria-current="page"] { color: var(--pc-white); }
.pc-nav a:hover::after, .pc-nav a[aria-current="page"]::after { right: 0; }
.pc-account { min-height: 42px !important; padding: 0 17px; border: 1px solid #5f6671; color: var(--pc-white) !important; }
.pc-account::after { display: none; }
.pc-account:hover { border-color: var(--pc-ivory); background: var(--pc-ivory); color: var(--pc-night) !important; }
.pc-menu-toggle { display: none; width: 48px; height: 48px; padding: 0; border: 1px solid #5f6671; background: transparent; color: var(--pc-white); cursor: pointer; }
.pc-menu-toggle svg { width: 22px; height: 22px; display: block; margin: auto; stroke: currentColor; stroke-width: 1.8; fill: none; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--pc-display); font-weight: 400; }
h1 { font-size: clamp(4.4rem, 8vw, 7.8rem); line-height: .88; letter-spacing: -.06em; }
h2 { font-size: clamp(2.8rem, 5vw, 5rem); line-height: .94; letter-spacing: -.05em; }
h3 { font-size: 1.55rem; line-height: 1.08; }

.pc-hero { min-height: 720px; display: grid; position: relative; align-items: end; overflow: hidden; background: var(--pc-night); color: var(--pc-white); }
.pc-hero-photo, .pc-hero-overlay { position: absolute; inset: 0; }
.pc-hero-photo { background: url("assets/images/podcast.jpg") center 42% / cover no-repeat; transform: scale(1.002); }
.pc-hero-overlay { background: linear-gradient(90deg,rgba(3,7,12,.96) 0%,rgba(3,7,12,.7) 46%,rgba(3,7,12,.16) 78%,rgba(3,7,12,.45) 100%),linear-gradient(0deg,rgba(3,7,12,.78),transparent 58%); }
.pc-hero-inner { min-height: 720px; display: flex; align-items: flex-end; justify-content: space-between; gap: 70px; position: relative; z-index: 2; padding-block: 72px; }
.pc-hero-copy { max-width: 820px; }
.pc-hero h1 { max-width: 820px; margin-bottom: 27px; color: var(--pc-white); }
.pc-hero-lede { max-width: 620px; margin-bottom: 0; color: #e1e4e7; font-size: 1.2rem; }
.pc-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.pc-button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 0 23px; border: 1px solid currentColor; font-weight: 800; text-decoration: none; transition: background .18s ease,color .18s ease,border-color .18s ease; }
.pc-button-primary { border-color: var(--pc-ivory); background: var(--pc-ivory); color: var(--pc-night); }
.pc-button-primary:hover { border-color: var(--pc-white); background: var(--pc-white); }
.pc-button-secondary { background: transparent; color: inherit; }
.pc-hero .pc-button-secondary { border-color: rgba(255,255,255,.7); color: var(--pc-white); }
.pc-hero .pc-button-secondary:hover { border-color: var(--pc-white); background: rgba(255,255,255,.09); }
.pc-button-dark { border-color: var(--pc-night); background: var(--pc-night); color: var(--pc-white); }
.pc-button-dark:hover { background: #252c38; }
.pc-featured-course { width: 300px; flex: 0 0 300px; padding: 22px; border-top: 1px solid rgba(255,255,255,.6); background: rgba(4,7,13,.68); color: var(--pc-white); text-decoration: none; backdrop-filter: blur(10px); transition: background .18s ease; }
.pc-featured-course:hover { background: rgba(4,7,13,.88); }
.pc-featured-course span, .pc-featured-course small { display: block; color: rgba(255,255,255,.68); }
.pc-featured-course strong { display: block; margin: 8px 0 14px; font: 400 1.55rem/1.08 var(--pc-display); }

.pc-topic-strip { min-height: 76px; display: grid; grid-template-columns: repeat(5,1fr); align-items: center; padding-inline: max(32px,calc((100vw - 1240px)/2)); border-top: 1px solid #2a303b; background: var(--pc-night); }
.pc-topic-strip a { min-height: 76px; display: inline-flex; align-items: center; justify-content: center; color: #c5cad1; text-align: center; text-decoration: none; text-transform: uppercase; letter-spacing: .1em; font-size: .72rem; font-weight: 700; }
.pc-topic-strip a:hover { background: #111722; color: var(--pc-white); }

.pc-section { padding-block: 104px; scroll-margin-top: 82px; }
.pc-heading { display: grid; grid-template-columns: 1.25fr .75fr; align-items: end; gap: 70px; margin-bottom: 46px; padding-bottom: 34px; border-bottom: 1px solid var(--pc-ink); }
.pc-heading h2 { margin-bottom: 0; }
.pc-heading p { max-width: 480px; margin-bottom: 3px; color: #535b66; font-size: 1.08rem; line-height: 1.65; }
.pc-filter-bar { display: flex; flex-wrap: wrap; gap: 6px; }
.pc-filter { min-height: 44px; padding: 0 15px; border: 1px solid var(--pc-rule); background: transparent; color: #4d5560; cursor: pointer; font-weight: 700; transition: background .15s ease,border-color .15s ease,color .15s ease; }
.pc-filter:hover { border-color: var(--pc-steel); background: var(--pc-ivory); color: var(--pc-night); }
.pc-filter[aria-pressed="true"] { border-color: var(--pc-night); background: var(--pc-night); color: var(--pc-white); }
.pc-results { margin: 18px 0; color: #686f78; font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pc-course-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.pc-course-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--pc-rule); background: var(--pc-white); transition: border-color .18s ease,transform .18s ease,box-shadow .18s ease; }
.pc-course-card:hover { border-color: var(--pc-steel); transform: translateY(-3px); box-shadow: 0 16px 34px rgba(18,23,34,.1); }
.pc-course-card[hidden] { display: none; }
.pc-course-art { height: 245px; display: block; overflow: hidden; background-position: center; background-size: cover; }
.pc-course-art img { width: 100%; height: 100%; object-fit: cover; }
.pc-art-podcast { background-image: linear-gradient(rgba(7,11,19,.06),rgba(7,11,19,.18)),url("assets/images/podcast.jpg"); }
.pc-art-community { background-image: linear-gradient(rgba(7,11,19,.06),rgba(7,11,19,.18)),url("assets/images/community.jpg"); }
.pc-art-studio { background-image: linear-gradient(rgba(7,11,19,.06),rgba(7,11,19,.18)),url("assets/images/studio.jpg"); }
.pc-art-creator { background-image: linear-gradient(rgba(7,11,19,.06),rgba(7,11,19,.18)),url("assets/images/creator.jpg"); }
.pc-course-body { flex: 1; display: flex; flex-direction: column; padding: 25px; }
.pc-course-category { margin-bottom: 12px; color: #656c76; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pc-course-card h3 { min-height: 3.35rem; margin-bottom: 28px; }
.pc-course-card h3 a { text-decoration: none; }
.pc-course-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.pc-course-meta { display: flex; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--pc-rule); color: #656c76; font-size: .78rem; }
.pc-empty { grid-column: 1/-1; padding: 36px; border: 1px solid var(--pc-rule); background: var(--pc-white); }

.pc-dark { background: var(--pc-night); color: var(--pc-white); }
.pc-dark .pc-heading { border-color: #4b515c; }
.pc-dark .pc-heading p, .pc-path-row p { color: #c4c9d0; }
.pc-paths { border-top: 1px solid rgba(255,255,255,.72); }
.pc-path-row { display: grid; grid-template-columns: 70px 1fr 260px; align-items: center; gap: 34px; padding: 32px 0; border-bottom: 1px solid #414752; }
.pc-path-number { color: var(--pc-brass); font-size: .76rem; font-weight: 800; letter-spacing: .1em; }
.pc-path-row h3 { margin-bottom: 8px; color: var(--pc-white); font-size: clamp(1.7rem,2.5vw,2.5rem); }
.pc-path-row p { max-width: 620px; margin-bottom: 0; }
.pc-path-meta { justify-self: end; max-width: 230px; color: #aeb4bd; text-align: right; font-size: .73rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }

.pc-community { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(52px,8vw,110px); }
.pc-community-photo { min-height: 590px; background: linear-gradient(rgba(7,11,19,.05),rgba(7,11,19,.12)),url("assets/images/community.jpg") center/cover; }
.pc-community-copy h2 { margin-bottom: 28px; }
.pc-community-copy > p { max-width: 640px; color: #505762; font-size: 1.1rem; line-height: 1.7; }
.pc-features { margin: 34px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--pc-ink); }
.pc-features li { padding: 15px 0; border-bottom: 1px solid var(--pc-rule); font-weight: 700; }

.pc-cta { padding-block: 86px; border-top: 1px solid var(--pc-rule); background: var(--pc-ivory); }
.pc-cta-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: end; gap: 80px; }
.pc-cta h2 { margin-bottom: 15px; }
.pc-cta p { max-width: 480px; margin-bottom: 0; color: #525a64; }
.pc-cta-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.pc-content { min-height: 60vh; padding-block: 82px; }
.pc-content > article { max-width: 1040px; margin-inline: auto; }
.pc-entry-header { margin-bottom: 38px; padding-bottom: 28px; border-bottom: 1px solid var(--pc-ink); }
.pc-entry-header h1 { font-size: clamp(3.5rem,7vw,6.8rem); }
.pc-entry-content > * { max-width: 800px; }
.pc-entry-content > .rl-course-wrapper, .pc-entry-content > .rl-lesson-wrapper, .pc-entry-content > .rl-quiz-wrapper { max-width: none; }
.post-type-archive-rl_course .pc-content { max-width: 1240px; }

.site-footer { padding: 44px 0; border-top: 1px solid #2a303b; background: var(--pc-night); color: var(--pc-white); }
.pc-footer-grid { display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 32px; }
.pc-footer-grid img { width: 220px; }
.pc-footer-grid p { margin: 0; color: #aeb4bd; text-align: center; }
.pc-footer-grid a { min-height: 44px; display: inline-flex; align-items: center; color: #d4d7dc; font-weight: 700; text-underline-offset: 4px; }

/* Rally Learn alignment */
.rl-course-wrapper, .rl-lesson-wrapper, .rl-quiz-wrapper, .rl-dashboard-wrapper, .rl-courses-list { --rl-primary: var(--pc-night); --rl-accent: var(--pc-brass); font-family: var(--pc-body); }
.rl-btn, .rl-course-wrapper button, .rl-dashboard-wrapper button { min-height: 46px; border-radius: 0 !important; font-weight: 800; }
.rl-btn-primary, .rl-enroll-btn { border: 1px solid var(--pc-night) !important; background: var(--pc-night) !important; color: var(--pc-white) !important; }
.rl-course-wrapper, .rl-lesson-wrapper, .rl-quiz-wrapper { border-radius: 0 !important; }

@media (max-width: 1000px) {
  body.admin-bar .pc-header { top: 46px; }
  .pc-header-inner { grid-template-columns: 220px 1fr auto; gap: 20px; }
  .pc-nav { gap: 20px; }
  .pc-course-grid { grid-template-columns: repeat(2,1fr); }
  .pc-community { grid-template-columns: .9fr 1.1fr; gap: 50px; }
}

@media (max-width: 800px) {
  .pc-shell { width: min(100% - 40px,1240px); }
  .pc-menu-toggle { display: block; justify-self: end; }
  .pc-header-inner { grid-template-columns: 1fr auto; }
  .pc-nav { display: none; position: absolute; top: 100%; right: 20px; left: 20px; padding: 10px; border: 1px solid #414752; background: var(--pc-night); box-shadow: 0 16px 32px rgba(0,0,0,.28); }
  .pc-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .pc-nav a { min-height: 48px; padding: 0 12px; }
  .pc-nav a::after { display: none; }
  .pc-nav a:hover { background: #111722; }
  .pc-account { margin-top: 8px; justify-content: center; }
  .pc-hero-inner { display: flex; min-height: 680px; padding-block: 58px; }
  .pc-hero-overlay { background: linear-gradient(90deg,rgba(3,7,12,.95),rgba(3,7,12,.5)),linear-gradient(0deg,rgba(3,7,12,.78),transparent 65%); }
  .pc-featured-course { display: none; }
  .pc-topic-strip { overflow-x: auto; grid-template-columns: repeat(5,minmax(150px,1fr)); padding-inline: 0; }
  .pc-heading, .pc-community, .pc-cta-grid { grid-template-columns: 1fr; }
  .pc-heading { gap: 24px; }
  .pc-path-row { grid-template-columns: 50px 1fr; }
  .pc-path-meta { grid-column: 2; justify-self: start; text-align: left; }
  .pc-community-photo { min-height: 470px; }
  .pc-cta-actions { justify-content: flex-start; }
  .pc-footer-grid { grid-template-columns: 220px 1fr; }
  .pc-footer-grid a { grid-column: 1/-1; }
}

@media (max-width: 600px) {
  .pc-shell { width: min(100% - 32px,1240px); }
  .pc-header-inner { min-height: 72px; }
  .pc-brand img { width: 190px; }
  .pc-menu-toggle { width: 44px; height: 44px; }
  .pc-nav { right: 16px; left: 16px; }
  .pc-hero, .pc-hero-inner { min-height: 650px; }
  .pc-hero-photo { background-position: 58% 42%; }
  .pc-hero h1 { font-size: clamp(3.55rem,17vw,5.25rem); }
  .pc-hero-lede { font-size: 1.05rem; }
  .pc-buttons { flex-direction: column; }
  .pc-buttons .pc-button { width: 100%; }
  .pc-section { padding-block: 74px; }
  .pc-heading { margin-bottom: 32px; padding-bottom: 26px; }
  .pc-heading h2 { font-size: clamp(2.8rem,13vw,4rem); }
  .pc-course-grid { grid-template-columns: 1fr; }
  .pc-course-art { height: 230px; }
  .pc-path-row { grid-template-columns: 38px 1fr; gap: 13px; padding-block: 26px; }
  .pc-community { gap: 38px; }
  .pc-community-photo { min-height: 390px; }
  .pc-cta { padding-block: 68px; }
  .pc-cta-actions { flex-direction: column; }
  .pc-cta-actions .pc-button { width: 100%; }
  .pc-footer-grid { grid-template-columns: 1fr; justify-items: start; }
  .pc-footer-grid p { text-align: left; }
  .pc-footer-grid a { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
