/* v0.4.3 live: Elementor page normalisation, pricing table, quiz hub. Drafted by free coder model, reviewed. */
html body.elementor-page { background: var(--paper); color: var(--ink); }
html body.elementor-page .elementor-heading-title {
  color: var(--ink);
  font-family: "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;
  letter-spacing: -0.01em;
}
html body.elementor-page .elementor-widget-text-editor {
  color: var(--ink2);
  font: 16px/1.65 var(--body);
}
html body.elementor-page img { max-width: 100%; height: auto; }
html body.elementor-page .elementor-button {
  padding: 12px 24px;
  border: 2px solid var(--ink);
  border-radius: var(--pill);
  background: var(--red);
  box-shadow: var(--sh1);
  color: #fff;
  font: 700 15px var(--body);
  text-decoration: none;
}
html body.elementor-page .elementor-button:hover { background: var(--red-dk); }

html body .pricing-plans {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  width: min(100%, 820px);
  margin-inline: auto;
}
html body .pricing-box {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 28px 24px;
  border: 2px solid var(--line) !important;
  border-radius: var(--r);
  background: var(--card) !important;
  box-shadow: var(--sh);
  color: var(--ink);
  text-align: left;
}
html body .pricing-box h2,
html body .pricing-box h3 { color: var(--ink); font: 700 22px "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif; }
html body .pricing-box del,
html body .pricing-box s,
html body .pricing-box strike { color: var(--muted); }
html body .pricing-box .price { color: var(--red); font: 700 36px "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif; }
html body .pricing-box ul { padding: 0; list-style: none; }
html body .pricing-box li { margin: 8px 0; }
html body .pricing-box a,
html body .pricing-box button {
  align-self: stretch;
  margin-top: auto;
  padding: 12px 24px;
  border: 2px solid var(--ink) !important;
  border-radius: var(--pill);
  background: var(--red) !important;
  box-shadow: var(--sh1);
  color: #fff !important;
  font: 700 15px var(--body);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
html body .pricing-box a:hover,
html body .pricing-box button:hover { background: var(--red-dk) !important; }

html body:has(.ca-quiz-hub) {
  background: var(--paper) !important;
  color: var(--ink) !important;
  font-family: var(--body) !important;
}
html body .ca-quiz-hub {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  width: min(100%, 1180px);
  margin-inline: auto;
}
html body .ca-quiz-hero,
html body .ca-quiz-featured { grid-column: 1 / -1; }
html body .ca-quiz-hero h1 {
  color: var(--ink);
  font: 800 clamp(2rem, 5vw, 3.25rem)/1.1 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;
}
html body .ca-quiz-hero p { color: var(--muted); font: 18px/1.55 var(--body); }
html body a.ca-quiz-featured {
  display: flex;
  flex-direction: column;
  padding: 32px;
  border: 2px solid var(--ink);
  border-radius: var(--r);
  background: var(--ink);
  box-shadow: var(--sh);
  color: #fff;
  text-decoration: none;
}
html body .ca-quiz-featured h2 { color: #fff; font: 700 28px/1.2 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif; }
html body .ca-quiz-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 20px;
  border: 2px solid var(--line);
  border-radius: var(--r);
  background: var(--card);
  box-shadow: var(--sh);
  color: var(--ink);
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease;
}
html body .ca-quiz-card:hover,
html body .ca-quiz-featured:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--ink);
}
html body .ca-quiz-card h3 { color: var(--ink); font: 700 18px/1.3 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif; }
html body .ca-quiz-desc,
html body .ca-featured-desc {
  display: -webkit-box;
  overflow: hidden;
  color: var(--muted);
  font: 15px/1.5 var(--body);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
html body .ca-quiz-desc *,
html body .ca-featured-desc * { display: none !important; }
html body .ca-quiz-content,
html body .ca-featured-overlay { display: flex; flex: 1; flex-direction: column; }
html body .ca-quiz-card span,
html body .ca-quiz-featured span {
  align-self: flex-start;
  margin-top: auto;
  padding: 7px 12px;
  border: 2px solid var(--ink);
  border-radius: var(--pill);
  background: var(--red);
  color: #fff;
  font: 700 12px var(--body);
}
@media (min-width: 640px) {
  html body .ca-quiz-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 720px) {
  html body .pricing-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1000px) {
  html body .ca-quiz-hub { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* --- pass 2 fixes (after-screenshot review) --- */
html body main.page-full{padding-top:24px}
html body.elementor-page .elementor-heading-title,
html body .pricing-box h1,html body .pricing-box h2,html body .pricing-box h3,
html body .ca-quiz-hub h1,html body .ca-quiz-hub h2,html body .ca-quiz-hub h3{font-family:"Bricolage Grotesque","Space Grotesk",system-ui,sans-serif!important;letter-spacing:-.01em}
html body.elementor-page .elementor-widget-text-editor,html body .pricing-box,html body .pricing-box p,html body .pricing-box li,
html body .ca-quiz-hub p,html body .ca-quiz-hub span{font-family:var(--body)!important}
html body .pricing-box [class*="price"],html body .pricing-box .amount{font-family:"Bricolage Grotesque","Space Grotesk",system-ui,sans-serif!important;color:var(--ink)!important}
html body.elementor-page .elementor-widget-button{margin-top:20px!important}
html body .ca-quiz-content>:not(h3):not(.ca-quiz-desc):not(span){display:none!important}
html body .ca-quiz-card{align-self:start}
/* Newsy big-grid modules: same compact card as the rest */
html body .ak-block .ak-module-grid-big .ak-module-title,html body .ak-block .ak-module-grid-big .ak-module-title a,
html body .ak-block .ak-module-title,html body .ak-block .ak-module-title a{font-size:16px!important;line-height:1.25!important}
html body .ca-quiz-desc *{display:none!important}
html body .ca-quiz-card .ca-quiz-content{display:flex;flex-direction:column;gap:8px}
/* pass 3 */
html body .ca-quiz-card>:not(.ca-quiz-content):not(.ca-quiz-media):not(span:last-child){display:none!important}
html body .ca-quiz-card>span:last-child{align-self:flex-start;margin:8px 0 0}
html body.elementor-page .elementor-widget-text-editor,html body.elementor-page .elementor-widget-text-editor :is(p,span,strong,em,b,li,a,div){font-family:"Inter",system-ui,-apple-system,sans-serif!important}
html body .pricing-box{min-height:0!important;font-family:"Inter",system-ui,sans-serif!important}
html body .pricing-box div[style*="font-size: 2em"]{color:var(--red)!important;font-family:"Bricolage Grotesque","Space Grotesk",system-ui,sans-serif!important;font-weight:800!important}
html body .pricing-box div[style*="height: 3px"]{background:var(--red)!important}
html body .pricing-box ul{list-style:none!important;padding-left:0!important}
html body.elementor-page main.page-full .elementor-widget-text-editor{max-width:900px;margin-inline:auto;padding-inline:16px;box-sizing:border-box}
/* Digital editions shortcode (no plugin CSS present) */
html body .ca-editions-wrapper{max-width:1280px;margin:0 auto;padding:8px 16px 32px}
html body .ca-filter-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin:0 0 20px}
html body .ca-filter-left,html body .ca-filter-right{display:flex;flex-wrap:wrap;gap:8px}
html body .ca-pill{font:700 13px/1 "Inter",system-ui,sans-serif!important;padding:9px 16px!important;border:2px solid var(--ink)!important;border-radius:999px!important;background:var(--card)!important;color:var(--ink)!important;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}
html body .ca-pill.active,html body .ca-pill:hover{background:var(--red)!important;color:#fff!important}
html body .ca-editions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media(min-width:760px){html body .ca-editions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){html body .ca-editions-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
html body .ca-edition-item{display:block;color:var(--ink)!important;text-decoration:none!important}
html body .ca-cover-wrap{background:var(--card);border:2px solid var(--ink);border-radius:var(--r-sm);box-shadow:4px 4px 0 var(--ink);overflow:hidden;transition:transform .15s}
html body .ca-edition-item:hover .ca-cover-wrap{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
html body .ca-cover-wrap img{display:block;width:100%!important;height:auto!important;aspect-ratio:3/4.15;object-fit:cover}
html body .ca-label{padding:8px 10px;font:700 14px/1.3 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
html body .ca-current-badge{background:var(--red);color:#fff;font:700 10px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:4px 7px;border-radius:999px}
/* Quiz hub v2: uniform cards + featured career quiz (quiz pages have no featured images -> brand fallback panel, no photos) */
html body .ca-quiz-hub{align-items:stretch}
html body a.ca-quiz-card{padding:0!important;overflow:hidden;align-self:stretch!important;height:100%;display:flex;flex-direction:column;background:var(--card)}
html body .ca-quiz-media{position:relative;aspect-ratio:16/9;width:100%;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:8px;padding:16px;box-sizing:border-box;background:#0E0E0E repeating-linear-gradient(135deg,rgba(197,27,28,.0) 0 22px,rgba(197,27,28,.22) 22px 26px);border-bottom:2px solid var(--ink);color:#fff;overflow:hidden}
html body .ca-quiz-media img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
html body .ca-quiz-media b{font:800 clamp(18px,2vw,24px)/1 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;letter-spacing:-.01em;color:#fff}
html body .ca-quiz-media i{font:700 10px/1 "Inter",system-ui,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.08em;background:var(--red);color:#fff;padding:5px 9px;border-radius:999px}
html body a.ca-quiz-card .ca-quiz-content{padding:16px 18px 18px!important;flex:1 1 auto;display:flex;flex-direction:column;gap:8px}
html body a.ca-quiz-card h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;line-height:1.25!important;font-size:17px!important;margin:0!important}
html body a.ca-quiz-card .ca-quiz-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.1em;margin:0!important}
html body a.ca-quiz-card .ca-quiz-content>span,html body a.ca-quiz-card>span:last-child{margin-top:auto!important;align-self:flex-start}
html body a.ca-quiz-featured{padding:0!important;overflow:hidden;background:var(--card)!important;color:var(--ink)!important;display:flex!important;flex-direction:column!important}
html body a.ca-quiz-featured .ca-quiz-media{border-bottom:2px solid var(--ink)}
html body a.ca-quiz-featured .ca-quiz-media b{font-size:clamp(26px,4vw,44px)}
html body a.ca-quiz-featured .ca-featured-overlay{background:transparent!important;color:var(--ink)!important;padding:24px!important;display:flex;flex-direction:column;justify-content:center;gap:12px;position:static!important}
html body a.ca-quiz-featured h2{color:var(--ink)!important;font-size:clamp(22px,2.6vw,32px)!important;line-height:1.15!important;margin:0!important}
html body a.ca-quiz-featured .ca-featured-desc{color:var(--muted)!important;margin:0!important}
html body a.ca-quiz-featured .ca-featured-overlay>span{align-self:flex-start}
@media(min-width:760px){html body a.ca-quiz-featured{flex-direction:row!important}html body a.ca-quiz-featured .ca-quiz-media{flex:0 0 52%;border-bottom:0;border-right:2px solid var(--ink)}html body a.ca-quiz-featured .ca-featured-overlay{padding:32px 36px!important}}
/* Games hub (page-games.php) */
html body .games-page{padding-bottom:48px}
html body .games-dek{margin:0;color:var(--muted);font-size:17px}
html body .game-feature{display:grid;grid-template-columns:1fr;background:var(--card);border:2px solid var(--ink);border-radius:var(--r);box-shadow:var(--sh2,7px 7px 0 #0E0E0E);overflow:hidden}
html body .game-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:clamp(28px,5vw,56px) 16px;background:#0E0E0E repeating-linear-gradient(135deg,transparent 0 22px,rgba(197,27,28,.18) 22px 26px);border-bottom:2px solid var(--ink);text-decoration:none!important}
html body .games-page .tile-row{display:flex;gap:clamp(5px,1vw,10px)}
html body .games-page .tile{width:clamp(40px,7.4vw,72px);aspect-ratio:1;display:grid;place-items:center;font:800 clamp(20px,3.6vw,38px)/1 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;color:#fff;border:2px solid #fff;border-radius:8px;background:transparent;box-shadow:3px 3px 0 rgba(255,255,255,.18)}
html body .games-page .tile.g{background:#2E9E4F;border-color:#2E9E4F}
html body .games-page .tile.o{background:#E08A00;border-color:#E08A00}
html body .games-page .tile.x{background:#6B6B6B;border-color:#6B6B6B}
html body .games-page .tile-row.faint .tile{border-color:rgba(255,255,255,.28);box-shadow:none}
html body .game-body{padding:clamp(22px,3.5vw,40px);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
html body .game-kicker{font:700 11px/1 "Inter",system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--red)}
html body .game-title{margin:0!important;font:800 clamp(32px,4.4vw,56px)/1 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif!important;color:var(--ink);letter-spacing:-.02em}
html body .game-desc{margin:0;font-size:17px;line-height:1.55;color:var(--ink2);max-width:46ch}
html body .game-play{display:inline-flex;align-items:center;gap:10px;margin-top:8px;padding:16px 28px;min-height:52px;background:var(--red);color:#fff!important;font:800 18px/1 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;border:2px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--ink);text-decoration:none!important;transition:transform .12s,box-shadow .12s}
html body .game-play:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink);background:var(--red-dk)}
html body .game-how{margin-top:40px}
html body .game-how-title{margin:0 0 16px!important;font:800 clamp(24px,2.6vw,32px)/1.1 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif!important;color:var(--ink)}
html body .game-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:16px;counter-reset:st}
html body .game-steps li{counter-increment:st;position:relative;background:var(--card);border:2px solid var(--ink);border-radius:var(--r-sm);box-shadow:var(--sh);padding:20px 18px 18px 64px;display:flex;flex-direction:column;gap:6px}
html body .game-steps li::before{content:counter(st);position:absolute;left:18px;top:18px;width:32px;height:32px;border-radius:999px;background:var(--ink);color:#fff;display:grid;place-items:center;font:800 16px/1 "Bricolage Grotesque",system-ui,sans-serif}
html body .game-steps b{font:800 18px/1.2 "Bricolage Grotesque","Space Grotesk",system-ui,sans-serif;color:var(--ink)}
html body .game-steps span{color:var(--ink2);font-size:15px;line-height:1.55}
html body .dot{display:inline-block;width:11px;height:11px;border-radius:3px;margin:0 5px 0 2px;vertical-align:-1px}
html body .dot.g{background:#2E9E4F}html body .dot.o{background:#E08A00}html body .dot.x{background:#6B6B6B}
html body .games-soon{margin:32px 0 0;color:var(--muted);font-size:14px;text-align:center;letter-spacing:.02em}
@media(min-width:900px){html body .game-feature{grid-template-columns:1.1fr 1fr}html body .game-visual{border-bottom:0;border-right:2px solid var(--ink)}html body .game-steps{grid-template-columns:repeat(3,1fr)}}

/* Careerdle (page 9567): centre the embedded game; games-hub .tile rules are now scoped to .games-page so they no longer whiten the board tiles. */
body.page-id-9567 #container{margin-inline:auto}
body.page-id-9567 .elementor-widget-html{width:100%}
body.page-id-9567 .msub{display:none!important} /* sticky subscribe bar covered the bottom keyboard row on mobile */
