/* =====================================================================
   PAEDZ v2 0.5 — A2.1 skin for PAEDZ Core public pages
   (game profile, hubs: games / upcoming / Arabic support / Arab games / free games,
   entity pages). Presentation only; Core markup and data unchanged.
   Minimum text size 12px; theme fonts, colours, radii and chips.
   ===================================================================== */
.paedz-game-page, .paedz-hub-page, .paedz-entity-page {
  --paedz-bg: var(--bg); --hub-bg: var(--bg);
  --paedz-surface: #0d0f10; --hub-surface: #0d0f10; --paedz-surface-soft: #111416; --hub-surface-2: #111416;
  --paedz-border: var(--card-bd, rgba(255,255,255,.085)); --hub-border: var(--card-bd, rgba(255,255,255,.085));
  --paedz-border-strong: var(--card-bd-h, rgba(255,255,255,.2));
  --paedz-muted: var(--fg-3); --hub-muted: var(--fg-3);
  --paedz-text: var(--fg); --hub-text: var(--fg);
  --paedz-accent: var(--red); --hub-accent: var(--red);
  font-family: var(--f-body);
  background: var(--bg) !important;
}
.paedz-game-page :is(h1, h2, h3), .paedz-hub-page :is(h1, h2, h3), .paedz-entity-page :is(h1, h2, h3) { font-family: var(--f-head); }
.paedz-hub-container, .paedz-game-main { width: min(var(--wrap), calc(100% - var(--gutter) - var(--gutter-r))) !important; }

/* ---------- hubs ---------- */
.paedz-hub-hero { background: radial-gradient(70% 120% at 85% 0%, rgba(240,52,34,.08), transparent 60%), linear-gradient(180deg, #0a0c0d, #000) !important; border-bottom: 1px solid var(--line) !important; }
.paedz-hub-hero .paedz-hub-container { padding: 40px 0 22px !important; }
.paedz-hub-hero h1 { font-size: clamp(1.9rem, 1.3rem + 1.8vw, 2.8rem) !important; font-weight: 800 !important; line-height: 1.3 !important; }
.paedz-hub-hero p { font-size: var(--t-16) !important; color: var(--fg-2) !important; }
.paedz-hub-tabs { gap: 4px !important; margin-top: 20px !important; border-bottom: 1px solid var(--line); }
.paedz-hub-tabs a { min-height: 44px !important; padding: 0 14px !important; border: 0 !important; border-bottom: 3px solid transparent !important; border-radius: 0 !important; background: none !important; color: var(--fg-3) !important; font-family: var(--f-head); font-size: var(--t-15) !important; font-weight: 800 !important; }
.paedz-hub-tabs a:hover { color: var(--fg) !important; }
.paedz-hub-tabs a.is-active { color: var(--fg) !important; border-bottom-color: var(--red) !important; }
.paedz-hub-filters { padding: 14px !important; border-radius: var(--r-card, 12px) !important; background: #0d0f10 !important; gap: 10px !important; }
.paedz-hub-filters label > span { font-size: 12px !important; color: var(--fg-3) !important; font-weight: 700 !important; }
.paedz-hub-filters input, .paedz-hub-filters select { min-height: 44px !important; font-size: var(--t-14) !important; border-radius: 8px !important; background: #070809 !important; border-color: var(--line-2) !important; }
.paedz-hub-filters button, .paedz-hub-reset { min-height: 44px !important; border-radius: 999px !important; font-family: var(--f-head); font-size: var(--t-15) !important; padding-inline: 18px !important; }
.paedz-hub-filters button { background: var(--fg) !important; color: var(--bg) !important; border-color: var(--fg) !important; }
.paedz-hub-result-head { padding-right: 0 !important; margin: 28px 0 14px !important; }
.paedz-hub-result-head::before { display: none !important; }
.paedz-hub-result-head h2 { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.7rem) !important; font-weight: 900 !important; }
.paedz-hub-result-head h2 b { font-family: var(--f-num); font-weight: 400 !important; font-size: 1.1rem !important; min-width: 30px !important; height: 30px !important; }
.paedz-hub-games-grid { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important; gap: 18px !important; }
.paedz-hub-game-card, .paedz-free-card { border-radius: var(--r-card, 12px) !important; border-color: var(--card-bd) !important; background: #0d0f10 !important; transition: border-color .15s; }
.paedz-hub-game-card:hover, .paedz-free-card:hover { border-color: var(--card-bd-h) !important; }
.paedz-hub-game-copy { padding: 12px 14px 14px !important; }
.paedz-hub-game-copy :is(h2, h3) { font-size: var(--t-16) !important; line-height: 1.5 !important; font-weight: 800 !important; }
.paedz-hub-game-card a:hover :is(h2, h3), .paedz-free-card a:hover h2 { color: var(--title-h, #fff); }
.paedz-hub-game-release, .paedz-free-meta { font-size: 12px !important; color: var(--fg-3) !important; }
.paedz-hub-mini-chips span, .paedz-hub-special-row span { font-size: 12px !important; min-height: 24px !important; padding: 2px 8px !important; border-radius: 6px !important; }
.paedz-hub-editor-status, .paedz-free-cover > b { font-size: 12px !important; }
.paedz-hub-game-cover > span, .paedz-free-cover > span { font-size: 12px !important; }
.paedz-free-type { font-size: 12px !important; color: var(--green) !important; }
.paedz-free-copy h2 { font-size: var(--t-16) !important; }
.paedz-free-claim { min-height: 44px !important; border-radius: 999px !important; background: var(--green) !important; color: #031207 !important; font-size: var(--t-15) !important; font-family: var(--f-head); padding-inline: 18px !important; }
.paedz-hub-empty { border-radius: var(--r-card, 12px) !important; padding: 32px !important; }
.paedz-hub-empty strong { font-size: var(--t-18) !important; font-family: var(--f-head); }
.paedz-hub-empty span { font-size: var(--t-15) !important; color: var(--fg-2) !important; }
.paedz-hub-pagination .page-numbers { min-width: 44px !important; height: 44px !important; border-radius: 10px !important; font-family: var(--f-num); font-size: 1.2rem; }
.paedz-hub-pagination .current { background: var(--fg) !important; color: var(--bg) !important; border-color: var(--fg) !important; }

/* ---------- game profile ---------- */
.paedz-game-hero { min-height: 440px !important; }
.paedz-game-hero.has-hero { background-position: center 30% !important; }
.paedz-game-hero-overlay { background: linear-gradient(270deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,.15) 100%), linear-gradient(180deg, transparent 45%, rgba(0,0,0,.85) 85%, #000 100%) !important; }
.paedz-game-hero-inner { width: min(var(--wrap), calc(100% - var(--gutter) - var(--gutter-r))) !important; grid-template-columns: 220px minmax(0, 1fr) !important; gap: 32px !important; padding: 64px 0 32px !important; }
.paedz-game-cover-wrap { width: 220px !important; }
.paedz-game-cover { border-radius: 12px !important; border: 1px solid rgba(255,255,255,.14) !important; box-shadow: 0 24px 60px -20px rgba(0,0,0,.8) !important; }
.paedz-game-identity h1 { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.2rem) !important; font-weight: 900 !important; line-height: 1.2 !important; letter-spacing: 0 !important; }
.paedz-game-official-logo { max-height: 130px !important; max-width: min(460px, 80%) !important; margin-bottom: 4px; filter: drop-shadow(0 6px 18px rgba(0,0,0,.6)); }
.paedz-game-excerpt { font-size: var(--t-16) !important; color: var(--fg-2) !important; }
.paedz-game-status, .paedz-game-release { font-size: 13px !important; min-height: 32px !important; padding: 4px 12px !important; font-family: var(--f-head); }
.paedz-game-release { border-color: rgba(226,160,58,.4) !important; color: var(--amber); }
.paedz-game-platforms { gap: 6px !important; margin-top: 12px !important; }
.paedz-game-platform-chip, .paedz-platform-chip, .paedz-game-chip, .paedz-connected-chip { font-size: 12px !important; min-height: 26px !important; padding: 2px 9px !important; border-radius: 6px !important; font-weight: 800 !important; }
.paedz-game-body { padding: 32px 0 72px !important; }
.paedz-game-info-grid { border-radius: var(--r-card, 12px) !important; }
.paedz-game-info-card { min-height: 0 !important; padding: 14px 18px !important; }
.paedz-game-info-card > span { font-size: 12px !important; color: var(--fg-3) !important; font-weight: 700 !important; }
.paedz-game-info-card strong { font-size: var(--t-15) !important; }
.paedz-game-section-head { padding-right: 0 !important; margin-bottom: 14px !important; }
.paedz-game-section-head::before { display: none !important; }
.paedz-game-section-head h2 { position: relative; font-size: clamp(1.25rem, 1.1rem + .5vw, 1.55rem) !important; font-weight: 900 !important; padding-bottom: 10px; }
.paedz-game-section-head h2::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 32px; height: 3px; border-radius: 3px; background: var(--red); }
.paedz-game-support span { font-size: var(--t-15) !important; }
.paedz-game-support small { font-size: 12px !important; }
.paedz-game-support b { width: 30px !important; height: 30px !important; font-size: 13px !important; }
.paedz-game-country-list a, .paedz-game-country-list > span { font-size: 13px !important; min-height: 34px !important; }
.paedz-game-description, .paedz-game-trailer, .paedz-game-gallery { border-radius: var(--r-card, 12px) !important; padding: 18px !important; }
.paedz-game-richtext { font-size: var(--t-16) !important; color: #e6e6e1 !important; }
.paedz-game-gallery-grid { gap: 8px !important; }
.paedz-game-gallery-grid a { border-radius: 10px !important; }
.paedz-game-gallery-grid a:first-child { grid-column: span 2; grid-row: span 2; aspect-ratio: auto !important; }
.paedz-game-page .paedz-related-coverage { border-radius: var(--r-card, 12px) !important; border: 1px solid var(--card-bd); }
.paedz-game-page .paedz-related-coverage-head h2 { font-size: var(--t-18) !important; }
.paedz-game-page .paedz-coverage-item h3 { font-size: var(--t-15) !important; line-height: 1.6; }
.paedz-coverage-meta, .paedz-coverage-status, .paedz-content-type-badge { font-size: 12px !important; }
.paedz-game-offers { margin-top: 26px; }
.paedz-game-offer-item { border-radius: 10px; }
.paedz-game-offer-details, .paedz-game-offer-state { font-size: 13px !important; }
.paedz-game-offer-claim { min-height: 40px; border-radius: 999px !important; font-size: 14px !important; }

/* ---------- entity pages (company, series, platform…) ---------- */
.paedz-entity-hero { background: linear-gradient(180deg, #0a0c0d, #000) !important; border-bottom: 1px solid var(--line); }
.paedz-entity-hero h1 { font-family: var(--f-head); font-weight: 800 !important; }
.paedz-entity-stats, .paedz-entity-game-meta, .paedz-entity-coverage-date, .paedz-entity-coverage-topics, .paedz-entity-editor-status { font-size: 12px !important; }
.paedz-entity-game-card { border-radius: var(--r-card, 12px) !important; }

@media (max-width: 900px) {
  .paedz-game-hero-inner { grid-template-columns: 170px minmax(0, 1fr) !important; }
  .paedz-game-cover-wrap { width: 170px !important; }
}
@media (max-width: 680px) {
  .paedz-game-hero { min-height: 0 !important; }
  .paedz-game-hero-inner { grid-template-columns: 112px minmax(0, 1fr) !important; gap: 16px !important; align-items: end; padding: 120px 0 20px !important; width: calc(100% - 32px) !important; }
  .paedz-game-cover-wrap { width: 112px !important; }
  .paedz-game-identity h1 { font-size: 1.6rem !important; }
  .paedz-game-official-logo { max-height: 72px !important; }
  .paedz-game-excerpt { display: none; }
  .paedz-hub-container, .paedz-game-main { width: calc(100% - 32px) !important; }
  .paedz-hub-games-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  .paedz-game-gallery-grid a:first-child { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 16 / 10 !important; }
  .paedz-hub-tabs { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; }
  .paedz-hub-tabs a { white-space: nowrap; }
}
.paedz-hub-game-copy :is(h2, h3) a, .paedz-free-copy h2 a { display: inline-block; padding-block: 4px; }
