/*
Theme Name: Pizza World University
Description: Lightweight local pilot theme for Pizza World University.
Version: 0.3.4
Requires at least: 6.8
Requires PHP: 8.1
Text Domain: pwu-university
*/

:root { --pwu-red:#c81717; --pwu-black:#111; --pwu-gray:#f1f1ef; --pwu-white:#fff; }
* { box-sizing: border-box; }
body {
	background-color:#fff;
	background-image:linear-gradient(rgba(255,255,255,.88),rgba(255,255,255,.88)),url("assets/pizza-world-word-cloud-background.jpg");
	background-position:left top,center top;
	background-repeat:repeat,repeat-y;
	background-size:auto,100% auto;
	color:var(--pwu-black);
	font-family:Montserrat,Arial,sans-serif;
	line-height:1.55;
	margin:0;
}
a { color:var(--pwu-red); }
.pwu-site-header { background:var(--pwu-black); border-bottom:5px solid var(--pwu-red); color:#fff; }
.pwu-site-header__inner,.pwu-main,.pwu-site-footer__inner { margin:0 auto; max-width:1180px; padding:20px; }
.pwu-site-header__inner { align-items:center; display:flex; justify-content:space-between; }
.pwu-brand { align-items:center; color:#fff; display:flex; font-size:1.1rem; font-weight:900; gap:14px; text-decoration:none; text-transform:uppercase; }
.pwu-brand img { height:54px; width:auto; }
.pwu-site-header nav a { color:#fff; font-weight:700; margin-left:20px; }
.pwu-main { min-height:70vh; padding-bottom:56px; padding-top:40px; }
.pwu-dashboard { display:grid; gap:24px; }
.pwu-hero-card { background:linear-gradient(135deg,#101010,#292929); border-radius:18px; color:#fff; overflow:hidden; padding:clamp(28px,6vw,64px); position:relative; }
.pwu-hero-card::after { background:var(--pwu-red); border-radius:50%; content:""; height:180px; opacity:.8; position:absolute; right:-70px; top:-70px; width:180px; }
.pwu-hero-card h1 { font-size:clamp(2.5rem,8vw,5.5rem); line-height:.95; margin:.2em 0; text-transform:uppercase; }
.pwu-eyebrow { color:var(--pwu-red); font-size:.78rem; font-weight:900; letter-spacing:.12em; margin:0; text-transform:uppercase; }
.pwu-progress { background:#4b4b4b; border-radius:999px; height:13px; margin:24px 0 10px; overflow:hidden; }
.pwu-progress span { background:var(--pwu-red); display:block; height:100%; }
.pwu-lesson-list { display:grid; gap:14px; }
.pwu-lesson-card,.pwu-card { align-items:center; background:#fff; border-radius:12px; box-shadow:0 4px 18px rgba(0,0,0,.08); gap:18px; padding:22px; }
.pwu-lesson-card { display:grid; grid-template-columns:12px minmax(0,1fr) 150px; }
.pwu-card { display:flex; justify-content:space-between; }
.pwu-lesson-card__content { min-width:0; }
.pwu-lesson-card h2,.pwu-card h2 { margin:.15em 0; }
.pwu-lesson-card p { margin:.25em 0; }
.pwu-lesson-card.is-locked { background:#e5e5e2; color:#666; }
.pwu-status-dot { background:var(--pwu-red); border-radius:50%; flex:0 0 12px; height:12px; width:12px; }
.pwu-button { background:var(--pwu-black); border-radius:999px; color:#fff; display:inline-block; font-weight:900; padding:11px 22px; text-decoration:none; text-transform:uppercase; }
.pwu-button:focus,.pwu-button:hover { background:var(--pwu-red); color:#fff; outline:3px solid #fff; outline-offset:2px; }
.pwu-button--secondary { background:#fff; border:2px solid var(--pwu-black); color:var(--pwu-black); }
.pwu-lesson-card__actions { align-items:stretch; display:flex; flex-direction:column; gap:8px; min-width:150px; }
.pwu-lock { background:#c8c8c4; border-radius:999px; font-weight:800; padding:8px 16px; }
.pwu-notice { border-left:6px solid var(--pwu-red); margin:18px 0; padding:16px 18px; }
.pwu-notice--warning { background:#fff3cd; border-color:#ad7600; }
.pwu-notice--review { background:#fff; }
.pwu-notice--success { background:#eaf8ee; border-color:#217a3c; }
.pwu-muted { color:#666; }
.pwu-login-card > div { flex:1; }
.pwu-preview { background:#fff; border:3px solid var(--pwu-red); border-radius:18px; box-shadow:0 4px 18px rgba(0,0,0,.08); margin-top:24px; padding:clamp(22px,4vw,36px); }
.pwu-preview h2 { font-size:clamp(1.6rem,4vw,2.35rem); margin:.15em 0; }
.pwu-preview__choices { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:22px; }
.pwu-preview__choice { align-items:flex-start; background:var(--pwu-gray); border-radius:12px; display:flex; flex-direction:column; gap:10px; padding:20px; }
.pwu-preview__choice strong { font-size:1.15rem; }
.pwu-preview__choice span { color:#555; flex:1; }
.pwu-site-footer { background:var(--pwu-black); color:#ddd; }
@media (max-width:700px) { .pwu-site-header__inner,.pwu-card { align-items:flex-start; flex-direction:column; } .pwu-lesson-card { align-items:start; grid-template-columns:12px minmax(0,1fr); } .pwu-lesson-card__actions { grid-column:1 / -1; } .pwu-status-dot { margin-top:7px; } .pwu-site-header nav a { margin:0 16px 0 0; } .pwu-button,.pwu-lesson-card__actions { text-align:center; width:100%; } .pwu-preview__choices { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; } }
.pwu-reading-sheet {
	max-width: 760px;
	margin: 0 auto;
	line-height: 1.7;
}

.pwu-reading-sheet h2 {
	margin-top: 2rem;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.pwu-reading-sheet li + li {
	margin-top: .55rem;
}

.pwu-narrated-reading audio {
	display: block;
	margin: 0 0 1.5rem;
	width: 100%;
}

.pwu-narrated-reading img {
	height: auto;
	max-width: 100%;
}

.pwu-reading-ack {
	margin-top: 2rem;
	padding: 1rem 1.1rem;
	border: 2px solid var(--pwu-red, #c62828);
	border-radius: 12px;
	background: #fff7f7;
}

.pwu-video-lesson {
	margin: 0 auto;
	max-width: 980px;
}

.pwu-video-lesson video {
	background: #000;
	border-radius: 14px;
	display: block;
	height: auto;
	max-height: 75vh;
	width: 100%;
}

.pwu-hiring-dashboard { display:grid; gap:24px; }
.pwu-hiring-hero { align-items:flex-end; display:flex; justify-content:space-between; padding:clamp(28px,5vw,52px); }
.pwu-hiring-hero > div:first-child { max-width:720px; position:relative; z-index:1; }
.pwu-hiring-hero h1 { font-size:clamp(2.4rem,7vw,4.75rem); }
.pwu-hiring-hero p:last-child { color:#e4e4e4; font-size:1.05rem; margin-bottom:0; }
.pwu-hiring-count { align-items:center; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); border-radius:16px; display:flex; flex-direction:column; min-width:150px; padding:18px; position:relative; text-align:center; z-index:1; }
.pwu-hiring-count strong { font-size:2.5rem; line-height:1; }
.pwu-hiring-count span { font-size:.75rem; font-weight:900; letter-spacing:.08em; margin-top:6px; text-transform:uppercase; }
.pwu-hiring-layout { align-items:start; display:grid; gap:24px; grid-template-columns:minmax(320px,.85fr) minmax(0,1.3fr); }
.pwu-panel { background:#fff; border-radius:16px; box-shadow:0 4px 18px rgba(0,0,0,.08); padding:clamp(22px,4vw,36px); }
.pwu-panel h2 { font-size:clamp(1.65rem,3vw,2.25rem); line-height:1.1; margin:.2em 0; }
.pwu-panel-intro { color:#595959; margin:0 0 24px; }
.pwu-hiring-form { display:grid; gap:18px; }
.pwu-hiring-form label { display:grid; font-weight:800; gap:6px; }
.pwu-hiring-form input,.pwu-hiring-form select { background:#fff; border:2px solid #b8b8b8; border-radius:9px; color:#111; font:inherit; min-height:48px; padding:10px 12px; width:100%; }
.pwu-hiring-form input:focus,.pwu-hiring-form select:focus { border-color:var(--pwu-red); outline:3px solid rgba(200,23,23,.22); outline-offset:1px; }
.pwu-hiring-form small { color:#666; font-size:.78rem; font-weight:500; }
.pwu-field-row { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.pwu-squad-picker { border:0; display:grid; gap:9px; margin:0; padding:0; }
.pwu-squad-picker legend { font-weight:900; margin-bottom:10px; }
.pwu-squad-picker legend span { color:#666; display:block; font-size:.78rem; font-weight:500; }
.pwu-squad-option { align-items:center; background:#f4f4f2; border:2px solid transparent; border-radius:9px; cursor:pointer; display:flex!important; font-weight:750!important; gap:10px!important; min-height:44px; padding:9px 12px; }
.pwu-squad-option:has(input:checked) { background:#fff0f0; border-color:var(--pwu-red); }
.pwu-squad-option input { accent-color:var(--pwu-red); flex:0 0 auto; height:20px; margin:0; min-height:0; width:20px; }
.pwu-button--red { background:var(--pwu-red); border:0; cursor:pointer; font:inherit; margin-top:4px; min-height:50px; }
.pwu-button--red:hover,.pwu-button--red:focus { background:#9d1010; }
.pwu-button--small { border:0; cursor:pointer; font:inherit; font-size:.78rem; padding:9px 16px; }
.pwu-team-list { display:grid; gap:14px; }
.pwu-team-member { border:1px solid #dededb; border-radius:12px; padding:18px; }
.pwu-team-member__summary { align-items:center; display:flex; gap:13px; }
.pwu-team-member__summary h3 { font-size:1.1rem; line-height:1.2; margin:0; }
.pwu-team-member__summary p { color:#555; font-size:.88rem; margin:2px 0 0; overflow-wrap:anywhere; }
.pwu-member-meta { font-weight:700; }
.pwu-avatar { align-items:center; background:var(--pwu-black); border-radius:50%; color:#fff; display:flex; flex:0 0 46px; font-size:.85rem; font-weight:900; height:46px; justify-content:center; letter-spacing:.04em; width:46px; }
.pwu-squad-tags { display:flex; flex-wrap:wrap; gap:6px; margin:14px 0; }
.pwu-squad-tags span { background:#ececea; border-radius:999px; font-size:.72rem; font-weight:800; padding:5px 9px; }
.pwu-training-editor { border-top:1px solid #e4e4e1; padding-top:12px; }
.pwu-training-editor summary { color:var(--pwu-red); cursor:pointer; font-weight:900; }
.pwu-training-editor form { display:grid; gap:14px; margin-top:14px; }
.pwu-empty-state { background:#f4f4f2; border-radius:12px; padding:24px; text-align:center; }
.pwu-empty-state p { color:#666; margin-bottom:0; }

@media (max-width:900px) {
	.pwu-hiring-layout { grid-template-columns:1fr; }
	.pwu-hiring-hero { align-items:flex-start; flex-direction:column; gap:24px; }
	.pwu-hiring-count { align-items:baseline; flex-direction:row; gap:8px; min-width:0; }
	.pwu-hiring-count strong { font-size:2rem; }
}

@media (max-width:700px) {
	.pwu-field-row { grid-template-columns:1fr; }
	.pwu-hiring-hero h1 { font-size:2.65rem; }
	.pwu-panel { padding:22px 18px; }
	.pwu-team-member { padding:15px; }
	.pwu-site-header nav { display:flex; flex-wrap:wrap; gap:7px 16px; }
	.pwu-site-header nav a { margin:0; }
}
