/*
Theme Name: Sims Archives Dream
Theme URI: https://www.thesims.com
Author: Sims Archives
Description: A fast, modern, SEO-friendly Sims archive theme with a default dark blue storefront design inspired by game store discovery layouts.
Version: 0.5.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: sims-archives-dream
*/

:root {
  --sad-bg: #f5f8ff;
  --sad-surface: #ffffff;
  --sad-surface-soft: #eef5ff;
  --sad-text: #102035;
  --sad-muted: #65758b;
  --sad-border: rgba(66, 98, 145, .16);
  --sad-blue: #2764ff;
  --sad-cyan: #34d4ff;
  --sad-green: #28d68a;
  --sad-purple: #8f5bff;
  --sad-shadow: 0 24px 70px rgba(27, 52, 93, .14);
  --sad-radius-xl: 34px;
  --sad-radius-lg: 24px;
  --sad-radius-md: 18px;
  --sad-max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at top left, rgba(52, 212, 255, .22), transparent 34rem),
    radial-gradient(circle at top right, rgba(143, 91, 255, .18), transparent 30rem),
    var(--sad-bg);
  color: var(--sad-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}

a { color: inherit; text-decoration: none; }
a:hover { color: var(--sad-blue); }
img { max-width: 100%; height: auto; display: block; }

.sad-site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(245, 248, 255, .82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--sad-border);
}

body.admin-bar .sad-site-header { top: 32px; }

.sad-header-inner,
.sad-container {
  width: min(calc(100% - 36px), var(--sad-max));
  margin-inline: auto;
}

.sad-header-inner {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.sad-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-weight: 900;
  letter-spacing: -.04em;
  font-size: 22px;
}

.sad-brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(135deg, var(--sad-green), var(--sad-blue));
  box-shadow: 0 12px 30px rgba(39, 100, 255, .28);
}

.sad-nav ul {
  display: flex;
  align-items: center;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
  color: var(--sad-muted);
  font-weight: 750;
}

.sad-nav a { padding: 10px 0; }
.sad-header-tools {
  display: flex;
  align-items: center;
  gap: 16px;
}

.sad-language-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.sad-language-switcher label {
  font-size: 12px;
  font-weight: 900;
  color: var(--sad-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.sad-language-switcher select {
  min-width: 150px;
  border: 1px solid var(--sad-border);
  border-radius: 999px;
  background: rgba(255,255,255,.82);
  color: var(--sad-text);
  padding: 10px 36px 10px 14px;
  font-weight: 800;
}


.sad-main { min-height: 70vh; }

.sad-hero {
  padding: 72px 0 44px;
}

.sad-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
  gap: 28px;
  align-items: stretch;
  padding: clamp(24px, 4vw, 44px);
  border-radius: var(--sad-radius-xl);
  background:
    linear-gradient(135deg, rgba(16, 32, 53, .92), rgba(39, 100, 255, .86)),
    var(--sad-blue);
  color: #fff;
  overflow: hidden;
  box-shadow: var(--sad-shadow);
  position: relative;
}

.sad-hero-card::after {
  content: '';
  position: absolute;
  inset: auto -12% -50% 38%;
  height: 320px;
  border-radius: 999px;
  background: rgba(52, 212, 255, .22);
  filter: blur(20px);
}

.sad-hero-copy,
.sad-hero-visual { position: relative; z-index: 1; }
.sad-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  color: rgba(255,255,255,.76);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 12px;
  font-weight: 850;
}

.sad-hero h1,
.sad-page-title {
  margin: 0;
  letter-spacing: -.06em;
  line-height: .95;
  font-size: clamp(44px, 8vw, 86px);
}

.sad-hero p {
  max-width: 650px;
  margin: 20px 0 0;
  font-size: clamp(16px, 2vw, 20px);
  color: rgba(255,255,255,.82);
}

.sad-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.sad-button,
.sad-store-link,
.wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 12px 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--sad-blue);
  border: 1px solid rgba(255,255,255,.28);
  font-weight: 850;
  box-shadow: 0 14px 32px rgba(16, 32, 53, .16);
}

.sad-button.secondary {
  background: rgba(255,255,255,.14);
  color: #fff;
}

.sad-button:hover,
.sad-store-link:hover { transform: translateY(-1px); color: var(--sad-blue); }

.sad-hero-visual {
  display: grid;
  min-height: 330px;
}

.sad-hero-poster {
  align-self: end;
  justify-self: center;
  width: min(100%, 330px);
  aspect-ratio: 3 / 4;
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,.15);
  box-shadow: 0 30px 80px rgba(0,0,0,.28);
  transform: rotate(3deg);
}

.sad-hero-poster img { width: 100%; height: 100%; object-fit: cover; }

.sad-section {
  padding: 34px 0;
}

.sad-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.sad-section-head h2 {
  margin: 0;
  font-size: clamp(28px, 4vw, 46px);
  letter-spacing: -.05em;
}

.sad-muted { color: var(--sad-muted); }

.sad-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sad-game-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--sad-radius-lg);
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  box-shadow: 0 18px 44px rgba(27, 52, 93, .08);
  transition: transform .18s ease, box-shadow .18s ease;
}

.sad-game-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sad-shadow);
}

.sad-card-cover {
  aspect-ratio: 16 / 10;
  background: linear-gradient(135deg, rgba(39,100,255,.16), rgba(40,214,138,.16));
}

.sad-card-cover img { width: 100%; height: 100%; object-fit: cover; }

.sad-card-body { padding: 18px; }
.sad-card-logo { max-width: 160px; max-height: 76px; object-fit: contain; margin-bottom: 14px; }
.sad-card-title { margin: 0; font-size: 24px; line-height: 1.1; letter-spacing: -.04em; }
.sad-card-title a:hover { color: var(--sad-blue); }
.sad-card-excerpt { margin: 12px 0 0; color: var(--sad-muted); }

.sad-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.sad-badge {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--sad-surface-soft);
  color: #315172;
  border: 1px solid rgba(49,81,114,.08);
  font-size: 12px;
  font-weight: 850;
}

.sad-single-hero {
  padding: 44px 0 28px;
}

.sad-single-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
  gap: clamp(24px, 5vw, 54px);
  align-items: end;
  min-height: 520px;
  padding: clamp(24px, 5vw, 52px);
  border-radius: var(--sad-radius-xl);
  background: #102035;
  color: #fff;
  box-shadow: var(--sad-shadow);
}

.sad-single-bg {
  position: absolute;
  inset: 0;
  opacity: .32;
  filter: blur(2px);
}

.sad-single-bg img { width: 100%; height: 100%; object-fit: cover; }
.sad-single-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16,32,53,.92), rgba(16,32,53,.62), rgba(16,32,53,.78));
}

.sad-single-poster,
.sad-single-copy { position: relative; z-index: 1; }
.sad-single-poster {
  overflow: hidden;
  border-radius: 30px;
  background: rgba(255,255,255,.14);
  box-shadow: 0 30px 90px rgba(0,0,0,.34);
}

.sad-single-poster img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.sad-single-logo { max-width: min(300px, 80%); max-height: 140px; margin-bottom: 22px; object-fit: contain; }
.sad-single-title { margin: 0; font-size: clamp(42px, 7vw, 82px); line-height: .92; letter-spacing: -.07em; }
.sad-single-excerpt { max-width: 680px; margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 18px; }

.sad-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 28px;
  align-items: start;
}

.sad-panel {
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  border-radius: var(--sad-radius-lg);
  padding: clamp(20px, 3vw, 30px);
  box-shadow: 0 18px 44px rgba(27, 52, 93, .08);
}

.sad-panel h2,
.sad-panel h3 {
  margin-top: 0;
  letter-spacing: -.04em;
}

.sad-prose { font-size: 17px; }
.sad-prose > *:first-child { margin-top: 0; }
.sad-prose > *:last-child { margin-bottom: 0; }

.sad-details {
  display: grid;
  gap: 14px;
  margin: 0;
}

.sad-details div {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--sad-border);
}
.sad-details div:last-child { border-bottom: 0; padding-bottom: 0; }
.sad-details dt { color: var(--sad-muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.sad-details dd { margin: 4px 0 0; font-weight: 800; }

.sad-release-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.sad-release-item {
  padding: 14px;
  border-radius: 18px;
  background: var(--sad-surface-soft);
}
.sad-release-item span { display: block; color: var(--sad-muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.sad-release-item strong { display: block; margin-top: 4px; }

.sad-store-grid {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.sad-store-link {
  width: 100%;
  background: linear-gradient(135deg, var(--sad-blue), var(--sad-purple));
  color: #fff;
  box-shadow: 0 16px 34px rgba(39, 100, 255, .18);
}
.sad-store-link:hover { color: #fff; }

.sad-unavailable {
  margin: 12px 0 0;
  padding: 14px;
  border-radius: 18px;
  background: #f3f6fb;
  color: var(--sad-muted);
  font-weight: 800;
}

.sad-features-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.sad-feature-card {
  overflow: hidden;
  border-radius: 24px;
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  box-shadow: 0 12px 30px rgba(27, 52, 93, .08);
}

.sad-feature-card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.sad-feature-card div { padding: 18px; }
.sad-feature-card h3 { margin: 0; letter-spacing: -.03em; }
.sad-feature-card p { margin: 10px 0 0; color: var(--sad-muted); }

.sad-empty {
  padding: 46px;
  text-align: center;
  background: var(--sad-surface);
  border: 1px dashed var(--sad-border);
  border-radius: var(--sad-radius-lg);
}

.sad-site-footer {
  margin-top: 48px;
  padding: 32px 0;
  color: var(--sad-muted);
  border-top: 1px solid var(--sad-border);
}

@media (max-width: 960px) {
  .sad-hero-card,
  .sad-single-card,
  .sad-content-grid { grid-template-columns: 1fr; }
  .sad-grid,
  .sad-features-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sad-single-card { min-height: auto; }
}

@media (max-width: 680px) {
  body.admin-bar .sad-site-header { top: 0; }
  .sad-header-inner { align-items: flex-start; flex-direction: column; padding: 16px 0; }
  .sad-header-tools { width: 100%; align-items: flex-start; flex-direction: column; }
  .sad-nav ul { flex-wrap: wrap; gap: 12px; }
  .sad-grid,
  .sad-features-grid,
  .sad-release-list { grid-template-columns: 1fr; }
  .sad-hero { padding-top: 36px; }
  .sad-hero-card,
  .sad-single-card { border-radius: 24px; }
}


.sad-requirements-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 18px;
}

.sad-requirement-card {
  padding: 22px;
  border-radius: 24px;
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  box-shadow: 0 12px 30px rgba(27, 52, 93, .08);
}

.sad-requirement-card h3 {
  margin: 0 0 16px;
  letter-spacing: -.03em;
}

.sad-requirements-list {
  display: grid;
  gap: 10px;
  margin: 0;
}

.sad-requirements-list div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  padding: 10px 0;
  border-top: 1px solid var(--sad-border);
}

.sad-requirements-list div:first-child {
  border-top: 0;
}

.sad-requirements-list dt {
  color: var(--sad-muted);
  font-weight: 800;
}

.sad-requirements-list dd {
  margin: 0;
  white-space: pre-line;
}

@media (max-width: 780px) {
  .sad-requirements-grid,
  .sad-requirements-list div {
    grid-template-columns: 1fr;
  }
}

.sad-card-kicker {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sad-muted);
}

/* v0.1.5 responsive refinements */
.sad-container,
.sad-header-inner,
.sad-panel,
.sad-single-card,
.sad-game-card,
.sad-feature-card,
.sad-requirement-card {
  max-width: 100%;
  box-sizing: border-box;
}

.sad-prose,
.sad-card-excerpt,
.sad-feature-card p,
.sad-requirements-list dd {
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .sad-content-grid {
    grid-template-columns: 1fr;
  }

  .sad-single-card {
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  }
}

@media (max-width: 820px) {
  .sad-single-card,
  .sad-hero-card,
  .sad-requirements-grid {
    grid-template-columns: 1fr;
  }

  .sad-single-poster {
    max-width: 360px;
  }

  .sad-store-link,
  .sad-button {
    width: 100%;
  }
}

@media (max-width: 520px) {
  .sad-header-inner,
  .sad-container {
    width: min(calc(100% - 24px), var(--sad-max));
  }

  .sad-site-header {
    position: relative;
  }

  .sad-header-tools,
  .sad-language-switcher,
  .sad-language-switcher select {
    width: 100%;
  }

  .sad-language-switcher {
    display: grid;
  }

  .sad-panel,
  .sad-requirement-card {
    padding: 18px;
    border-radius: 20px;
  }

  .sad-single-title,
  .sad-page-title,
  .sad-hero h1 {
    letter-spacing: -.045em;
  }
}

/* v0.1.6 trailers library */
.sad-video-archive-hero .sad-page-title {
  margin-top: 6px;
}

.sad-video-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 28px;
}

.sad-video-filter {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  color: var(--sad-muted);
  font-weight: 850;
}

.sad-video-filter.is-active,
.sad-video-filter:hover {
  background: linear-gradient(135deg, var(--sad-blue), var(--sad-purple));
  color: #fff;
}

.sad-video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.sad-video-card {
  overflow: hidden;
  border-radius: var(--sad-radius-lg);
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  box-shadow: 0 18px 44px rgba(27, 52, 93, .08);
  transition: transform .18s ease, box-shadow .18s ease;
}

.sad-video-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--sad-shadow);
}

.sad-video-thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(39,100,255,.16), rgba(143,91,255,.18));
}

.sad-video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .22s ease;
}

.sad-video-card:hover .sad-video-thumb img {
  transform: scale(1.04);
}

.sad-play-badge {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--sad-blue);
  font-weight: 900;
  box-shadow: 0 18px 42px rgba(16,32,53,.22);
}

.sad-duration-badge {
  position: absolute;
  right: 10px;
  bottom: 10px;
  padding: 5px 8px;
  border-radius: 10px;
  background: rgba(16,32,53,.88);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.sad-video-flags {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  max-width: calc(100% - 90px);
}

.sad-video-flags span {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(255,255,255,.5);
  box-shadow: 0 10px 28px rgba(16,32,53,.18);
  font-size: 15px;
}

.sad-video-card-body {
  padding: 18px;
}

.sad-video-card-body h2 {
  margin: 0;
  font-size: 22px;
  line-height: 1.12;
  letter-spacing: -.04em;
}

.sad-video-card-body p {
  margin: 10px 0 0;
  color: var(--sad-muted);
}

.sad-video-single-hero {
  padding-top: 44px;
}

.sad-video-single-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
  gap: 28px;
  align-items: stretch;
  padding: clamp(18px, 3vw, 28px);
  border-radius: var(--sad-radius-xl);
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  box-shadow: var(--sad-shadow);
}

.sad-video-player {
  overflow: hidden;
  border-radius: 26px;
  background: #102035;
  aspect-ratio: 16 / 9;
}

.sad-video-player iframe,
.sad-video-player img {
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.sad-video-single-copy {
  padding: 8px;
  align-self: center;
}

.sad-video-single-copy h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  line-height: .96;
  letter-spacing: -.06em;
}

.sad-video-single-copy p {
  margin: 16px 0 0;
  color: var(--sad-muted);
  font-size: 17px;
}

.sad-video-meta-row,
.sad-video-language-list,
.sad-video-language-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.sad-video-meta-row span,
.sad-video-language-list span span,
.sad-video-language-grid span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border-radius: 999px;
  background: var(--sad-surface-soft);
  color: #315172;
  font-weight: 850;
}

.sad-video-language-list {
  display: grid;
  gap: 8px;
}

.sad-video-language-list strong {
  color: var(--sad-muted);
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sad-video-language-grid {
  display: grid;
}

@media (max-width: 960px) {
  .sad-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sad-video-single-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .sad-video-grid {
    grid-template-columns: 1fr;
  }

  .sad-video-single-card {
    border-radius: 24px;
  }

  .sad-video-player {
    border-radius: 20px;
  }
}

/* v0.1.7 faster trailer playback: YouTube loads only after click */
.sad-video-facade {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  padding: 0;
  border: 0;
  cursor: pointer;
  overflow: hidden;
  background: #102035;
}
.sad-video-facade img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.sad-play-badge.large {
  width: 76px;
  height: 76px;
  font-size: 25px;
}
.sad-video-facade:hover img {
  transform: scale(1.025);
  transition: transform .2s ease;
}


.sad-status-badge {
  position: absolute;
  top: .85rem;
  left: .85rem;
  z-index: 3;
  border-radius: 999px;
  padding: .35rem .7rem;
  background: rgba(16, 32, 53, .82);
  color: #fff;
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.sad-admin-note {
  border: 1px solid var(--sad-border);
  background: var(--sad-surface-soft);
  border-radius: 18px;
  padding: 1rem 1.15rem;
  color: var(--sad-muted);
  margin: 1rem 0 1.35rem;
}

/* Media library */
.sad-media-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.35rem;
}
.sad-media-card {
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--sad-shadow);
}
.sad-media-thumb {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: var(--sad-surface-soft);
}
.sad-media-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .2s ease;
}
.sad-media-card:hover .sad-media-thumb img { transform: scale(1.025); }
.sad-media-language-badge {
  position: absolute;
  top: .75rem;
  right: .75rem;
  min-width: 2.2rem;
  height: 2.2rem;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 28px rgba(16,32,53,.18);
  font-size: 1.1rem;
}
.sad-media-language-badge.large {
  min-width: 2.8rem;
  height: 2.8rem;
  font-size: 1.35rem;
}
.sad-media-card-body {
  padding: 1rem;
}
.sad-media-card-body h2 {
  font-size: 1rem;
  line-height: 1.3;
  margin: 0 0 .6rem;
}
.sad-media-card-body h2 a { color: inherit; text-decoration: none; }
.sad-media-single-card {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(300px, .8fr);
  gap: 1.5rem;
  align-items: start;
}
.sad-media-single-image {
  position: relative;
  margin: 0;
  border-radius: 28px;
  overflow: hidden;
  background: var(--sad-surface-soft);
  border: 1px solid var(--sad-border);
  box-shadow: var(--sad-shadow);
}
.sad-media-single-image img {
  width: 100%;
  height: auto;
  display: block;
}
.sad-media-single-copy {
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  border-radius: 28px;
  padding: 1.35rem;
  box-shadow: var(--sad-shadow);
}
@media (max-width: 1080px) {
  .sad-media-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .sad-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sad-media-single-card { grid-template-columns: 1fr; }
}
@media (max-width: 540px) {
  .sad-media-grid { grid-template-columns: 1fr; }
}

/* v0.2.4 image gallery */
.sad-game-gallery-section {
  position: relative;
}
.sad-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.sad-gallery-card {
  overflow: hidden;
  border: 1px solid var(--sad-border);
  border-radius: var(--sad-radius-lg);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 48px rgba(27, 52, 93, .10);
}
.sad-gallery-thumb {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--sad-surface-soft);
  color: inherit;
  text-decoration: none;
}
.sad-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .24s ease, filter .24s ease;
}
.sad-gallery-card:hover .sad-gallery-thumb img {
  transform: scale(1.035);
  filter: saturate(1.06);
}
.sad-gallery-open {
  position: absolute;
  right: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(16, 32, 53, .78);
  color: #fff;
  font-size: .78rem;
  font-weight: 800;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease;
}
.sad-gallery-card:hover .sad-gallery-open {
  opacity: 1;
  transform: translateY(0);
}
.sad-gallery-card-body {
  padding: 14px 16px 16px;
}
.sad-gallery-card-body h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.2;
}
.sad-gallery-card-body h3 a {
  color: inherit;
  text-decoration: none;
}
.sad-gallery-card-body p {
  margin: 8px 0 0;
  color: var(--sad-muted);
  font-size: .9rem;
}
.sad-gallery-badges {
  margin-top: 10px;
}
.sad-gallery-filters {
  margin-bottom: 20px;
}
@media (max-width: 1080px) {
  .sad-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 780px) {
  .sad-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .sad-gallery-grid { grid-template-columns: 1fr; }
}


/* v0.2.5 richer image gallery */
.sad-media-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: end;
  margin: 22px 0 26px;
  padding: 16px;
  background: var(--sad-surface);
  border: 1px solid var(--sad-border);
  border-radius: var(--sad-radius-md);
  box-shadow: 0 12px 34px rgba(27,52,93,.08);
}
.sad-media-toolbar label {
  display: grid;
  gap: 6px;
  color: var(--sad-muted);
  font-size: 12px;
  font-weight: 700;
}
.sad-media-toolbar select,
.sad-media-toolbar input {
  min-width: 180px;
  border: 1px solid var(--sad-border);
  border-radius: 14px;
  padding: 10px 12px;
  background: #fff;
  color: var(--sad-text);
}
.sad-gallery-thumb[data-sad-lightbox] { cursor: zoom-in; }
.sad-gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  background: rgba(5, 13, 26, .88);
}
.sad-gallery-lightbox.is-open { display: flex; }
.sad-gallery-lightbox img {
  max-width: min(1200px, 96vw);
  max-height: 88vh;
  border-radius: 20px;
  box-shadow: 0 24px 90px rgba(0,0,0,.45);
  background: #fff;
}
.sad-gallery-lightbox button {
  position: absolute;
  top: 18px;
  right: 20px;
  border: 0;
  border-radius: 999px;
  padding: 10px 14px;
  background: #fff;
  color: #102035;
  cursor: pointer;
  font-weight: 800;
}
@media (max-width: 680px) {
  .sad-media-toolbar { align-items: stretch; }
  .sad-media-toolbar label, .sad-media-toolbar select, .sad-media-toolbar input { width: 100%; min-width: 0; }
}


/* Gallery creator v0.2.6 */
.sad-gallery-collections-grid{align-items:stretch}.sad-gallery-collection-card .sad-gallery-thumb{position:relative}.sad-gallery-count-badge{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(16,32,53,.82);color:#fff;font-weight:800;font-size:.82rem;backdrop-filter:blur(8px)}.sad-gallery-image-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sad-gallery-image-item .sad-gallery-thumb img{aspect-ratio:4/3;object-fit:cover}.sad-gallery-single-hero .sad-page-title{max-width:840px}.sad-gallery-meta{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.sad-gallery-meta span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--sad-surface-soft);font-weight:800;color:var(--sad-text)}.sad-gallery-single-description{max-width:820px;color:var(--sad-muted);font-size:1.05rem;line-height:1.7}.sad-gallery-filter-form{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.sad-gallery-filter-form label{display:grid;gap:6px;font-weight:800}.sad-gallery-filter-form select{min-width:180px;padding:11px 14px;border:1px solid var(--sad-border);border-radius:14px;background:#fff}.sad-gallery-archive-hero{padding-top:42px}@media(max-width:720px){.sad-gallery-image-grid{grid-template-columns:1fr 1fr}.sad-gallery-filter-form{display:grid}.sad-gallery-filter-form select{width:100%}}@media(max-width:480px){.sad-gallery-image-grid{grid-template-columns:1fr}}


/* v0.3.0 - Sims Archives modern light template refresh
   Palette sampled from the provided design board:
   deep navy #080649, electric blue #0634c8/#0628a0, lime #a3e42b, violet #8b3dff.
*/
:root {
  --sad-bg: #f6f8ff;
  --sad-bg-2: #edf3ff;
  --sad-surface: #ffffff;
  --sad-surface-soft: #f0f6ff;
  --sad-text: #080b28;
  --sad-muted: #66718b;
  --sad-border: rgba(8, 6, 73, .11);
  --sad-blue: #0634c8;
  --sad-cyan: #36d8ff;
  --sad-green: #a3e42b;
  --sad-purple: #8b3dff;
  --sad-navy: #080649;
  --sad-navy-2: #061c89;
  --sad-shadow: 0 18px 50px rgba(8, 6, 73, .11);
  --sad-shadow-strong: 0 30px 90px rgba(8, 6, 73, .18);
  --sad-radius-xl: 32px;
  --sad-radius-lg: 24px;
  --sad-radius-md: 16px;
  --sad-max: 1220px;
}

body {
  background:
    radial-gradient(circle at 8% -8%, rgba(163, 228, 43, .18), transparent 28rem),
    radial-gradient(circle at 88% 4%, rgba(6, 52, 200, .12), transparent 34rem),
    linear-gradient(180deg, #fbfdff 0%, var(--sad-bg) 44%, #ffffff 100%);
  color: var(--sad-text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .42;
  background-image:
    radial-gradient(circle at 18% 20%, rgba(6, 52, 200, .08) 0 22px, transparent 23px),
    radial-gradient(circle at 72% 14%, rgba(8, 6, 73, .07) 0 34px, transparent 35px),
    radial-gradient(circle at 88% 46%, rgba(6, 52, 200, .06) 0 26px, transparent 27px),
    radial-gradient(circle at 14% 76%, rgba(8, 6, 73, .05) 0 18px, transparent 19px);
  background-size: 330px 330px, 420px 420px, 380px 380px, 300px 300px;
}

a { transition: color .16s ease, background .16s ease, border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
:focus-visible { outline: 3px solid rgba(163, 228, 43, .9); outline-offset: 4px; border-radius: 12px; }

.sad-site-header {
  background: rgba(255, 255, 255, .86);
  border-bottom: 1px solid rgba(8, 6, 73, .08);
  box-shadow: 0 10px 36px rgba(8, 6, 73, .055);
}
@supports (backdrop-filter: blur(16px)) {
  .sad-site-header { backdrop-filter: saturate(150%) blur(18px); }
}
.sad-header-inner { min-height: 72px; }
.sad-brand { color: var(--sad-navy); font-size: 20px; letter-spacing: -.035em; }
.sad-brand .custom-logo { max-height: 44px; width: auto; object-fit: contain; }
.sad-brand-mark {
  color: var(--sad-navy);
  background: var(--sad-green);
  box-shadow: 0 12px 26px rgba(163, 228, 43, .28);
}
.sad-nav ul { gap: 8px; }
.sad-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #243150;
}
.sad-nav a:hover,
.sad-nav .current-menu-item > a {
  color: #fff;
  background: var(--sad-navy);
}
.sad-language-switcher select {
  background: #fff;
  border-color: rgba(8, 6, 73, .13);
  box-shadow: 0 8px 20px rgba(8, 6, 73, .06);
}

.sad-main { overflow: clip; }
.sad-hero { padding: clamp(34px, 6vw, 76px) 0 clamp(26px, 4vw, 44px); }
.sad-hero-card,
.sad-single-card {
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(circle at 23% 12%, rgba(54, 216, 255, .24), transparent 21rem),
    radial-gradient(circle at 68% 28%, rgba(6, 52, 200, .36), transparent 22rem),
    linear-gradient(135deg, var(--sad-navy) 0%, #081875 48%, #0634c8 100%);
}
.sad-hero-card::before,
.sad-single-card::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .32;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.15) 0 25px, transparent 26px),
    radial-gradient(circle, rgba(255,255,255,.08) 0 38px, transparent 39px);
  background-position: 0 0, 92px 62px;
  background-size: 160px 160px, 230px 230px;
}
.sad-hero-card::after {
  content: '';
  position: absolute;
  right: -22px;
  top: -26px;
  width: min(26vw, 190px);
  height: min(26vw, 190px);
  border-radius: 0 0 0 36px;
  background: var(--sad-green);
  filter: none;
  opacity: 1;
  box-shadow: -20px 28px 55px rgba(0,0,0,.14);
}
.sad-single-card::after { z-index: 0; }
.sad-single-card::before { z-index: 0; }
.sad-single-poster,
.sad-single-copy { z-index: 1; }
.sad-kicker {
  color: rgba(255,255,255,.78);
  font-size: 11px;
  font-weight: 950;
}
.sad-kicker.sad-muted {
  color: var(--sad-blue);
  background: rgba(6, 52, 200, .07);
  border: 1px solid rgba(6, 52, 200, .10);
  border-radius: 999px;
  padding: 7px 10px;
}
.sad-hero h1,
.sad-page-title,
.sad-single-title {
  letter-spacing: -.075em;
}
.sad-hero p,
.sad-single-excerpt { color: rgba(255,255,255,.83); }
.sad-hero-poster,
.sad-single-poster {
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 34px 80px rgba(0,0,0,.32);
}
.sad-hero-poster { transform: rotate(2deg) translateY(4px); }

.sad-button,
.sad-store-link,
.wp-block-button__link {
  min-height: 44px;
  border: 0;
  background: var(--sad-green);
  color: var(--sad-navy);
  font-weight: 950;
  box-shadow: 0 16px 32px rgba(163, 228, 43, .22);
}
.sad-button.secondary {
  background: rgba(255,255,255,.14);
  color: #fff;
  border: 1px solid rgba(255,255,255,.24);
  box-shadow: none;
}
.sad-section-head > a:not(.sad-button) {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--sad-border);
  color: var(--sad-blue);
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(8, 6, 73, .06);
}
.sad-button:hover,
.wp-block-button__link:hover,
.sad-section-head > a:hover {
  transform: translateY(-2px);
  color: var(--sad-navy);
  box-shadow: 0 20px 42px rgba(8, 6, 73, .14);
}
.sad-store-link {
  background: linear-gradient(135deg, var(--sad-navy), var(--sad-blue));
  color: #fff;
  box-shadow: 0 18px 40px rgba(6, 52, 200, .20);
}
.sad-store-link:hover { color: #fff; }

.sad-section { padding: clamp(26px, 5vw, 54px) 0; }
.sad-section-head h2 { font-size: clamp(30px, 4vw, 52px); color: var(--sad-navy); }
.sad-panel,
.sad-game-card,
.sad-feature-card,
.sad-requirement-card,
.sad-video-card,
.sad-media-card,
.sad-gallery-card,
.sad-media-single-copy {
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(8, 6, 73, .10);
  box-shadow: 0 16px 48px rgba(8, 6, 73, .08);
}
.sad-panel:hover,
.sad-game-card:hover,
.sad-feature-card:hover,
.sad-video-card:hover,
.sad-gallery-card:hover,
.sad-media-card:hover {
  box-shadow: 0 24px 68px rgba(8, 6, 73, .13);
}
.sad-grid,
.sad-video-grid,
.sad-gallery-grid,
.sad-media-grid {
  gap: clamp(16px, 2vw, 24px);
}
.sad-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); }
.sad-video-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.sad-gallery-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.sad-media-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }

.sad-card-cover,
.sad-video-thumb,
.sad-gallery-thumb,
.sad-media-thumb {
  background:
    radial-gradient(circle at 30% 20%, rgba(163, 228, 43, .18), transparent 8rem),
    linear-gradient(135deg, rgba(6, 52, 200, .10), rgba(8, 6, 73, .10));
}
.sad-card-title,
.sad-video-card-body h2,
.sad-gallery-card-body h3,
.sad-media-card-body h2 {
  color: var(--sad-navy);
  letter-spacing: -.035em;
}
.sad-card-excerpt,
.sad-gallery-card-body p,
.sad-media-card-body p,
.sad-video-date { color: var(--sad-muted); }
.sad-badge,
.sad-video-filter {
  border-color: rgba(8,6,73,.10);
  background: #fff;
  color: #223257;
  box-shadow: 0 8px 22px rgba(8,6,73,.05);
}
.sad-badge:hover,
.sad-video-filter:hover,
.sad-video-filter.is-active {
  background: var(--sad-navy);
  color: #fff;
}
.sad-video-filter.is-active { border-color: var(--sad-navy); }
.sad-play-badge,
.sad-duration-badge,
.sad-gallery-count-badge,
.sad-gallery-open {
  background: rgba(8, 6, 73, .88);
  color: #fff;
}
.sad-media-language-badge {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(8,6,73,.08);
}

.sad-content-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); }
.sad-details dt,
.sad-release-item span { color: #5c6985; }
.sad-release-item,
.sad-unavailable,
.sad-gallery-meta span {
  background: var(--sad-surface-soft);
  border: 1px solid rgba(8,6,73,.07);
}
.sad-requirements-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)); }
.sad-features-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.sad-gallery-filter-form,
.sad-media-toolbar {
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(8,6,73,.10);
  box-shadow: 0 14px 40px rgba(8,6,73,.07);
}
.sad-gallery-filter-form select,
.sad-media-toolbar select,
.sad-media-toolbar input {
  background: #fff;
  border-color: rgba(8,6,73,.13);
}
.sad-empty {
  background: rgba(255,255,255,.88);
  border-color: rgba(6,52,200,.18);
}
.sad-pagination,
.navigation.pagination {
  margin-top: 28px;
  display: flex;
  justify-content: center;
  gap: 8px;
}
.sad-pagination .page-numbers,
.navigation.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--sad-border);
  color: var(--sad-navy);
  font-weight: 900;
}
.sad-pagination .current,
.navigation.pagination .current {
  background: var(--sad-green);
  border-color: var(--sad-green);
}
.sad-site-footer {
  margin-top: 64px;
  background:
    radial-gradient(circle at top right, rgba(163, 228, 43, .20), transparent 18rem),
    linear-gradient(135deg, var(--sad-navy), #061c89);
  color: rgba(255,255,255,.78);
  border-top: 0;
}

@media (max-width: 960px) {
  .sad-hero-card::after { width: 130px; height: 130px; }
}
@media (max-width: 680px) {
  .sad-header-inner { gap: 12px; }
  .sad-nav ul { gap: 6px; }
  .sad-nav a { min-height: 34px; padding: 7px 10px; font-size: 14px; }
  .sad-hero-card,
  .sad-single-card { padding: 22px; }
  .sad-hero h1,
  .sad-page-title,
  .sad-single-title { letter-spacing: -.055em; }
  .sad-section-head { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

/* v0.3.0 small contrast fix for secondary buttons on light pages */
.sad-button.secondary {
  background: #fff;
  color: var(--sad-navy);
  border: 1px solid var(--sad-border);
  box-shadow: 0 12px 28px rgba(8, 6, 73, .07);
}
.sad-hero-card .sad-button.secondary,
.sad-single-card .sad-button.secondary {
  background: rgba(255,255,255,.14);
  color: #fff;
  border-color: rgba(255,255,255,.24);
  box-shadow: none;
}


/* ==========================================================
   Sims Archives Visual Refresh v0.4.0
   A bolder, faster, light theme direction inspired by the blue
   bubble artwork: deep navy, electric blue, lime and violet.
   ========================================================== */
:root{
  --sad-bg:#f4f7ff;
  --sad-surface:#ffffff;
  --sad-surface-soft:#eef4ff;
  --sad-ink:#080b38;
  --sad-text:#11183f;
  --sad-muted:#5d6784;
  --sad-navy:#07085f;
  --sad-navy-2:#0a0f80;
  --sad-blue:#0657ff;
  --sad-blue-2:#00a5ff;
  --sad-lime:#a8ef18;
  --sad-lime-dark:#7fd600;
  --sad-purple:#7d32ff;
  --sad-pink:#b43cff;
  --sad-border:rgba(9,16,63,.12);
  --sad-shadow:0 24px 70px rgba(7,8,95,.13);
  --sad-shadow-strong:0 38px 110px rgba(7,8,95,.24);
  --sad-radius-xl:38px;
  --sad-radius-lg:26px;
  --sad-radius-md:18px;
  --sad-max:1220px;
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(circle at 8% 4%, rgba(168,239,24,.28), transparent 18rem),
    radial-gradient(circle at 92% 0%, rgba(0,165,255,.25), transparent 22rem),
    linear-gradient(180deg,#fbfdff 0%,#f4f7ff 44%,#eef3ff 100%);
  color:var(--sad-text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:radial-gradient(circle, rgba(6,87,255,.08) 0 1px, transparent 2px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.65), transparent 52%);
}
.sad-container,.sad-header-inner{width:min(calc(100% - 40px),var(--sad-max));}
.sad-site-header{
  background:rgba(255,255,255,.76);
  border-bottom:1px solid rgba(7,8,95,.09);
  box-shadow:0 12px 32px rgba(7,8,95,.06);
}
.sad-header-inner{min-height:86px;}
.sad-brand{font-size:22px;color:var(--sad-navy);}
.sad-brand img,.custom-logo{max-height:48px;width:auto;}
.sad-brand-mark{
  background:linear-gradient(135deg,var(--sad-lime),var(--sad-blue));
  color:var(--sad-navy);
  font-weight:950;
  box-shadow:0 18px 38px rgba(6,87,255,.22);
}
.sad-nav ul{
  gap:6px;
  padding:6px;
  border:1px solid rgba(7,8,95,.08);
  border-radius:999px;
  background:rgba(255,255,255,.72);
}
.sad-nav a{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:8px 14px;
  border-radius:999px;
  color:#2d365e;
}
.sad-nav a:hover,.sad-nav .current-menu-item>a{
  color:#fff;
  background:linear-gradient(135deg,var(--sad-navy),var(--sad-blue));
}
.sad-language-switcher select{
  min-height:42px;
  border:1px solid rgba(7,8,95,.11);
  box-shadow:0 10px 24px rgba(7,8,95,.06);
}
.sad-main{overflow:hidden;}
.sad-hero{padding:clamp(32px,5vw,74px) 0 clamp(28px,4vw,54px);}
.sad-hero-card{
  min-height:min(76vh,720px);
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:clamp(28px,4vw,56px);
  align-items:center;
  padding:clamp(28px,5vw,66px);
  border-radius:46px;
  isolation:isolate;
  background:
    radial-gradient(circle at 24% 14%, rgba(51,106,255,.72), transparent 18rem),
    radial-gradient(circle at 67% 26%, rgba(0,165,255,.34), transparent 20rem),
    radial-gradient(circle at 88% 88%, rgba(125,50,255,.24), transparent 21rem),
    linear-gradient(135deg,#07085f 0%,#0a147f 45%,#07115f 100%);
  box-shadow:var(--sad-shadow-strong);
  border:1px solid rgba(255,255,255,.12);
}
.sad-hero-card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:
    radial-gradient(circle at 15% 18%, rgba(255,255,255,.12) 0 18px, transparent 19px),
    radial-gradient(circle at 22% 44%, rgba(255,255,255,.10) 0 30px, transparent 31px),
    radial-gradient(circle at 35% 22%, rgba(255,255,255,.08) 0 42px, transparent 43px),
    radial-gradient(circle at 52% 30%, rgba(255,255,255,.10) 0 28px, transparent 29px),
    radial-gradient(circle at 72% 22%, rgba(255,255,255,.10) 0 42px, transparent 43px),
    radial-gradient(circle at 82% 58%, rgba(255,255,255,.07) 0 56px, transparent 57px),
    radial-gradient(circle at 44% 66%, rgba(255,255,255,.09) 0 52px, transparent 53px);
  opacity:.9;
  z-index:0;
}
.sad-hero-card::after{
  inset:-1px -1px auto auto;
  width:clamp(120px,18vw,220px);
  height:clamp(120px,18vw,220px);
  border-radius:0 46px 0 54px;
  background:linear-gradient(135deg,var(--sad-lime),#baff2b);
  filter:none;
  box-shadow:-30px 34px 0 rgba(125,50,255,.32);
  z-index:0;
}
.sad-hero-copy,.sad-hero-visual{z-index:2;}
.sad-kicker{
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:#dce9ff;
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);
}
.sad-kicker::before{content:'✦';color:var(--sad-lime);}
.sad-kicker.sad-muted{
  background:rgba(6,87,255,.08);
  border-color:rgba(6,87,255,.12);
  color:var(--sad-blue);
}
.sad-hero h1,.sad-page-title{
  max-width:900px;
  font-size:clamp(48px,8.5vw,108px);
  letter-spacing:-.085em;
  line-height:.86;
  text-wrap:balance;
}
.sad-hero h1{
  text-shadow:0 18px 54px rgba(0,0,0,.28);
}
.sad-hero p{
  max-width:720px;
  font-size:clamp(17px,2vw,22px);
  line-height:1.55;
  color:rgba(255,255,255,.84);
}
.sad-actions{gap:14px;margin-top:34px;}
.sad-button,.sad-store-link,.wp-block-button__link{
  min-height:52px;
  padding:14px 22px;
  border-radius:18px;
  font-weight:950;
  letter-spacing:-.02em;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.sad-button:first-child,.wp-block-button__link{
  background:linear-gradient(135deg,var(--sad-lime),#caff3a);
  color:var(--sad-navy);
  box-shadow:0 18px 44px rgba(168,239,24,.25);
}
.sad-button.secondary{
  background:rgba(255,255,255,.13);
  color:#fff;
  border-color:rgba(255,255,255,.22);
  backdrop-filter:blur(14px);
}
.sad-button:hover,.sad-store-link:hover,.wp-block-button__link:hover{transform:translateY(-3px);}
.sad-hero-visual{min-height:420px;display:grid;place-items:center;}
.sad-hero-poster{
  width:min(100%,390px);
  border-radius:34px;
  border:8px solid rgba(255,255,255,.15);
  box-shadow:0 40px 90px rgba(0,0,0,.42), 34px 34px 0 rgba(168,239,24,.18), -26px -26px 0 rgba(125,50,255,.18);
  transform:rotate(4deg) translateY(8px);
}
.sad-section{padding:clamp(40px,6vw,78px) 0;}
.sad-section-head{
  align-items:center;
  margin-bottom:28px;
}
.sad-section-head h2{
  font-size:clamp(34px,5vw,62px);
  letter-spacing:-.075em;
  color:var(--sad-navy);
}
.sad-section-head>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border-radius:999px;
  background:#fff;
  color:var(--sad-blue);
  border:1px solid rgba(6,87,255,.12);
  font-weight:900;
  box-shadow:0 12px 28px rgba(7,8,95,.07);
}
.sad-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px;}
.sad-game-card,.sad-video-card,.sad-gallery-card,.sad-panel,.sad-feature-card,.sad-requirement-card{
  border:1px solid rgba(7,8,95,.1);
  background:rgba(255,255,255,.86);
  box-shadow:0 20px 52px rgba(7,8,95,.09);
  backdrop-filter:blur(10px);
}
.sad-game-card{
  border-radius:30px;
  overflow:hidden;
}
.sad-game-card::after{
  content:'';
  position:absolute;
  inset:auto 18px 18px auto;
  width:42px;height:42px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--sad-lime),var(--sad-blue-2));
  opacity:.9;
}
.sad-game-card:hover,.sad-video-card:hover,.sad-gallery-card:hover{
  transform:translateY(-7px);
  box-shadow:0 32px 90px rgba(7,8,95,.17);
}
.sad-card-cover{aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,#eaf1ff,#f9ffee);}
.sad-card-cover img{height:100%;object-fit:cover;transition:transform .35s ease;}
.sad-game-card:hover .sad-card-cover img{transform:scale(1.055);}
.sad-card-body{padding:22px 22px 26px;}
.sad-card-logo{max-width:180px;margin-top:-58px;position:relative;z-index:1;padding:10px;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:0 18px 40px rgba(7,8,95,.12);}
.sad-card-title{font-size:clamp(24px,3vw,32px);letter-spacing:-.055em;color:var(--sad-navy);}
.sad-card-excerpt{font-size:15px;color:var(--sad-muted);}
.sad-badge,.sad-video-filter,.sad-gallery-filter-form select,.sad-gallery-meta span{
  border-radius:999px;
  background:rgba(6,87,255,.08);
  color:#153a92;
  border:1px solid rgba(6,87,255,.1);
  font-weight:900;
}
.sad-badge:nth-child(2n),.sad-video-filter:nth-child(2n){background:rgba(168,239,24,.16);color:#385a00;}
.sad-badge:nth-child(3n),.sad-video-filter:nth-child(3n){background:rgba(125,50,255,.1);color:#4313a1;}
.sad-single-card,.sad-video-single-card{
  border-radius:44px;
  background:
    radial-gradient(circle at 20% 20%, rgba(6,87,255,.38), transparent 22rem),
    radial-gradient(circle at 88% 10%, rgba(168,239,24,.22), transparent 14rem),
    linear-gradient(135deg,var(--sad-navy),#0c1376 58%,#090845);
  min-height:560px;
  border:1px solid rgba(255,255,255,.12);
}
.sad-single-card::after,.sad-video-single-card::after{
  content:'';
  position:absolute;
  right:-30px;top:-30px;
  width:180px;height:180px;
  background:var(--sad-lime);
  border-radius:0 44px 0 70px;
  opacity:.95;
}
.sad-single-card::before{
  background:linear-gradient(90deg, rgba(7,8,95,.94), rgba(7,8,95,.68), rgba(7,8,95,.8));
}
.sad-single-title{font-size:clamp(50px,7vw,96px);letter-spacing:-.085em;}
.sad-single-excerpt{font-size:clamp(17px,2vw,21px);}
.sad-single-poster{border:8px solid rgba(255,255,255,.14);box-shadow:0 40px 100px rgba(0,0,0,.42);}
.sad-content-grid{gap:32px;}
.sad-panel{border-radius:30px;}
.sad-panel h2,.sad-panel h3{color:var(--sad-navy);font-size:clamp(26px,3vw,40px);}
.sad-details dt{color:var(--sad-blue);}
.sad-release-item{background:linear-gradient(135deg,#f0f5ff,#fbfff0);border:1px solid rgba(7,8,95,.07);}
.sad-store-link{background:linear-gradient(135deg,var(--sad-navy),var(--sad-blue));border-radius:16px;}
.sad-store-link:nth-child(2n){background:linear-gradient(135deg,var(--sad-purple),var(--sad-blue));}
.sad-features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;}
.sad-feature-card{border-radius:30px;}
.sad-feature-card img{aspect-ratio:16/11;}
.sad-empty{background:rgba(255,255,255,.78);border-radius:30px;}
.sad-video-grid,.sad-gallery-grid{gap:24px;}
.sad-video-card,.sad-gallery-card{border-radius:30px;overflow:hidden;}
.sad-video-thumb,.sad-gallery-thumb{background:#07105f;}
.sad-video-thumb img,.sad-gallery-thumb img{transition:transform .35s ease;}
.sad-video-card:hover .sad-video-thumb img,.sad-gallery-card:hover .sad-gallery-thumb img{transform:scale(1.06);}
.sad-video-card-body h2,.sad-gallery-card-body h3{color:var(--sad-navy);letter-spacing:-.045em;}
.sad-video-duration,.sad-gallery-count-badge{
  background:linear-gradient(135deg,var(--sad-navy),var(--sad-blue));
  color:#fff;
  box-shadow:0 12px 28px rgba(7,8,95,.22);
}
.sad-video-play,.sad-gallery-open{background:var(--sad-lime);color:var(--sad-navy);}
.sad-gallery-lightbox{background:rgba(7,8,47,.84);backdrop-filter:blur(10px);}
.sad-site-footer{
  margin-top:70px;
  padding:54px 0;
  background:linear-gradient(135deg,var(--sad-navy),#0a147f);
  color:rgba(255,255,255,.76);
  border:0;
}
.sad-site-footer a{color:#fff;}
@media (max-width:960px){
  .sad-hero-card,.sad-single-card,.sad-content-grid,.sad-video-single-card{grid-template-columns:1fr;}
  .sad-hero-card{min-height:auto;}
  .sad-hero-visual{min-height:260px;}
  .sad-single-card,.sad-video-single-card{min-height:auto;}
}
@media (max-width:720px){
  .sad-container,.sad-header-inner{width:min(calc(100% - 28px),var(--sad-max));}
  .sad-header-inner{min-height:auto;padding:14px 0;gap:14px;}
  .sad-header-tools{gap:12px;}
  .sad-nav{width:100%;overflow-x:auto;padding-bottom:4px;}
  .sad-nav ul{width:max-content;min-width:100%;}
  .sad-hero-card{padding:26px;border-radius:30px;}
  .sad-hero-card::after{width:92px;height:92px;border-radius:0 30px 0 38px;}
  .sad-hero h1,.sad-page-title{font-size:clamp(42px,14vw,66px);}
  .sad-section-head{align-items:flex-start;flex-direction:column;}
  .sad-card-logo{margin-top:-34px;}
}

/* Home-specific visual blocks */
.sad-home-hero .sad-hero-copy{max-width:780px;}
.sad-hero-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:34px;
  max-width:640px;
}
.sad-hero-stats div{
  padding:16px 18px;
  border-radius:22px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(14px);
}
.sad-hero-stats strong{
  display:block;
  font-size:clamp(28px,4vw,44px);
  line-height:1;
  letter-spacing:-.06em;
  color:#fff;
}
.sad-hero-stats span{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.74);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
.sad-hero-orbit{
  position:absolute;
  width:min(75%,430px);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle at center, rgba(168,239,24,.22), transparent 48%),
    conic-gradient(from 90deg, rgba(168,239,24,.8), rgba(0,165,255,.2), rgba(125,50,255,.45), rgba(168,239,24,.8));
  opacity:.75;
  filter:blur(.2px);
  animation:sadFloat 6s ease-in-out infinite;
}
@keyframes sadFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-12px) rotate(3deg)}}
.sad-mini-rail{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:-26px;
  position:relative;
  z-index:3;
}
.sad-mini-rail a{
  min-height:86px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px 20px;
  border-radius:26px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(7,8,95,.1);
  box-shadow:0 22px 54px rgba(7,8,95,.11);
  font-size:20px;
  font-weight:950;
  color:var(--sad-navy);
}
.sad-mini-rail a span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,var(--sad-navy),var(--sad-blue));
  color:#fff;
}
.sad-mini-rail a:nth-child(2) span{background:linear-gradient(135deg,var(--sad-purple),var(--sad-blue));}
.sad-mini-rail a:nth-child(3) span{background:linear-gradient(135deg,var(--sad-lime),#d4ff3d);color:var(--sad-navy);}
.sad-featured-strip{padding-top:0;padding-bottom:20px;}
.sad-blue-section{
  margin:clamp(28px,4vw,56px) 0;
  position:relative;
  background:
    radial-gradient(circle at 12% 18%, rgba(168,239,24,.18), transparent 16rem),
    radial-gradient(circle at 90% 10%, rgba(0,165,255,.16), transparent 20rem),
    linear-gradient(135deg,rgba(7,8,95,.06),rgba(6,87,255,.05));
}
.sad-blue-section::before,
.sad-blue-section::after{
  content:'';
  position:absolute;
  left:0;right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(7,8,95,.12),transparent);
}
.sad-blue-section::before{top:0}.sad-blue-section::after{bottom:0}
@media(max-width:760px){
  .sad-hero-stats,.sad-mini-rail{grid-template-columns:1fr;}
  .sad-mini-rail{margin-top:0;}
}

/* v0.5.0 - Default dark blue storefront redesign */
:root {
  color-scheme: dark;
  --sad-bg: #05062d;
  --sad-bg-2: #080b52;
  --sad-surface: rgba(13, 18, 72, .88);
  --sad-surface-soft: rgba(22, 34, 104, .82);
  --sad-surface-lift: rgba(255, 255, 255, .075);
  --sad-text: #f5f8ff;
  --sad-muted: #a9b8e8;
  --sad-border: rgba(146, 172, 255, .18);
  --sad-blue: #2f70ff;
  --sad-cyan: #19d2ff;
  --sad-green: #a5f21d;
  --sad-purple: #8e4cff;
  --sad-shadow: 0 24px 80px rgba(0, 0, 0, .34);
  --sad-shadow-soft: 0 16px 44px rgba(0, 0, 0, .22);
  --sad-radius-xl: 30px;
  --sad-radius-lg: 22px;
  --sad-radius-md: 16px;
  --sad-max: 1280px;
}

body {
  background:
    radial-gradient(circle at 23% -8%, rgba(48, 112, 255, .48), transparent 34rem),
    radial-gradient(circle at 68% 4%, rgba(25, 210, 255, .18), transparent 30rem),
    radial-gradient(circle at 96% 0%, rgba(165, 242, 29, .24), transparent 16rem),
    linear-gradient(135deg, #05052d 0%, #070a49 39%, #07115d 62%, #040522 100%);
  color: var(--sad-text);
  min-height: 100vh;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .38;
  background-image:
    radial-gradient(circle, rgba(73, 119, 255, .28) 0 22px, transparent 23px),
    radial-gradient(circle, rgba(5, 12, 74, .38) 0 30px, transparent 31px),
    radial-gradient(circle, rgba(255, 255, 255, .06) 0 13px, transparent 14px);
  background-size: 170px 170px, 230px 230px, 116px 116px;
  background-position: 4% 1%, 47% 5%, 88% 12%;
}

body::after {
  content: '';
  position: fixed;
  inset: auto 0 0 0;
  z-index: -1;
  height: 34vh;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(5, 6, 45, .92));
}

a:hover { color: var(--sad-green); }

.sad-site-header {
  background: rgba(5, 6, 45, .78);
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  box-shadow: 0 10px 40px rgba(0, 0, 0, .16);
}

.sad-header-inner {
  min-height: 76px;
  display: grid;
  grid-template-columns: auto minmax(220px, 420px) auto;
  gap: 22px;
}

.sad-brand { color: #fff; letter-spacing: -.035em; }
.sad-brand img, .custom-logo { max-height: 46px; width: auto; }
.sad-brand-mark {
  background: linear-gradient(135deg, var(--sad-green), var(--sad-cyan) 48%, var(--sad-blue));
  color: #071047;
  box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 18px 42px rgba(47, 112, 255, .28);
}

.sad-header-search {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: var(--sad-muted);
}

.sad-header-search input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-weight: 700;
}

.sad-header-search input::placeholder { color: rgba(214, 225, 255, .58); }

.sad-header-tools { justify-content: end; }
.sad-nav ul { gap: 8px; color: var(--sad-muted); }
.sad-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--sad-muted);
}
.sad-nav a:hover,
.sad-nav .current-menu-item > a {
  background: rgba(255,255,255,.08);
  color: #fff;
}

.sad-language-switcher select {
  min-width: 132px;
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: #fff;
}
.sad-language-switcher select option { color: #101627; }

.sad-main { min-height: 72vh; }
.sad-container, .sad-header-inner { width: min(calc(100% - 44px), var(--sad-max)); }

.sad-storefront { padding: 30px 0 22px; }
.sad-store-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 22px;
  overflow-x: auto;
  scrollbar-width: none;
}
.sad-store-tabs::-webkit-scrollbar { display: none; }
.sad-store-tabs a {
  flex: 0 0 auto;
  padding: 10px 14px;
  border-radius: 999px;
  color: var(--sad-muted);
  font-weight: 900;
}
.sad-store-tabs a.is-active,
.sad-store-tabs a:hover {
  color: #071047;
  background: var(--sad-green);
}

.sad-discover-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 24px;
  align-items: stretch;
}

.sad-spotlight-card {
  position: relative;
  min-height: clamp(520px, 60vw, 680px);
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
  gap: clamp(22px, 3vw, 44px);
  align-items: end;
  padding: clamp(26px, 5vw, 58px);
  border-radius: var(--sad-radius-xl);
  background:
    linear-gradient(135deg, rgba(5, 6, 45, .78), rgba(9, 38, 149, .74) 48%, rgba(3, 5, 35, .92)),
    #0b1f7a;
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: var(--sad-shadow);
}

.sad-spotlight-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  opacity: .8;
  background:
    radial-gradient(circle at 18% 18%, rgba(52, 112, 255, .72), transparent 20rem),
    radial-gradient(circle at 70% 8%, rgba(165, 242, 29, .34), transparent 14rem),
    linear-gradient(145deg, rgba(4, 4, 58, .3), rgba(15, 76, 210, .22));
}

.sad-spotlight-card::after {
  content: '';
  position: absolute;
  top: -84px;
  right: -70px;
  width: 210px;
  height: 250px;
  border-radius: 0 0 0 54px;
  background: linear-gradient(180deg, #a5f21d, #71e71a);
  box-shadow: 0 24px 80px rgba(165, 242, 29, .22);
}

.sad-spotlight-bg {
  position: absolute;
  inset: 0;
  opacity: .18;
  filter: blur(1px) saturate(1.16);
}
.sad-spotlight-bg img { width: 100%; height: 100%; object-fit: cover; }
.sad-spotlight-copy,
.sad-spotlight-art { position: relative; z-index: 1; }

.sad-kicker {
  color: var(--sad-green);
  letter-spacing: .16em;
}
.sad-muted { color: var(--sad-muted); }

.sad-spotlight-copy h1,
.sad-hero h1,
.sad-page-title {
  max-width: 760px;
  font-size: clamp(44px, 7vw, 92px);
  line-height: .9;
  letter-spacing: -.074em;
  text-wrap: balance;
}
.sad-spotlight-copy p:not(.sad-kicker) {
  max-width: 700px;
  color: rgba(235, 241, 255, .82);
  font-size: clamp(16px, 1.65vw, 20px);
}

.sad-spotlight-art {
  justify-self: end;
  align-self: end;
  width: min(100%, 340px);
  aspect-ratio: 3/4;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255,255,255,.12);
  box-shadow: 0 26px 70px rgba(0,0,0,.42);
  transform: rotate(1.5deg);
}
.sad-spotlight-art img { width: 100%; height: 100%; object-fit: cover; }

.sad-actions { gap: 12px; }
.sad-button,
.sad-store-link,
.wp-block-button__link,
.sad-see-all {
  border: 1px solid rgba(255,255,255,.14);
  background: var(--sad-green);
  color: #071047;
  box-shadow: 0 16px 34px rgba(165, 242, 29, .16);
}
.sad-button.secondary,
.sad-see-all {
  background: rgba(255,255,255,.09);
  color: #fff;
  box-shadow: none;
}
.sad-button:hover,
.sad-store-link:hover,
.sad-see-all:hover {
  transform: translateY(-1px);
  color: #071047;
  background: #bdff3c;
}

.sad-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}
.sad-hero-stats div {
  min-width: 126px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.075);
  backdrop-filter: blur(10px);
}
.sad-hero-stats strong { display: block; color: #fff; font-size: 25px; line-height: 1; }
.sad-hero-stats span { display: block; margin-top: 6px; color: var(--sad-muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }

.sad-feature-rail {
  padding: 18px;
  border-radius: var(--sad-radius-xl);
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  box-shadow: var(--sad-shadow-soft);
  backdrop-filter: blur(14px);
}
.sad-feature-rail h2 {
  margin: 4px 4px 16px;
  font-size: 18px;
  letter-spacing: -.02em;
}
.sad-rail-item {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 94px;
  padding: 10px;
  border-radius: 18px;
  color: #fff;
}
.sad-rail-item + .sad-rail-item { margin-top: 6px; }
.sad-rail-item:hover,
.sad-rail-item:focus-visible {
  background: rgba(255,255,255,.09);
  color: #fff;
}
.sad-rail-thumb {
  display: block;
  width: 78px;
  aspect-ratio: 16/10;
  overflow: hidden;
  border-radius: 14px;
  background: rgba(255,255,255,.08);
}
.sad-rail-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sad-rail-copy strong {
  display: block;
  line-height: 1.15;
  letter-spacing: -.025em;
}
.sad-rail-copy small { display: block; margin-top: 5px; color: var(--sad-muted); font-weight: 800; }
.sad-rail-empty { color: var(--sad-muted); }

.sad-section { padding: 36px 0; }
.sad-store-row { position: relative; }
.sad-section-head h2 {
  color: #fff;
  font-size: clamp(26px, 3vw, 42px);
  letter-spacing: -.054em;
}
.sad-section-head > a:not(.sad-button), .sad-see-all { font-weight: 900; }

.sad-grid, .sad-video-grid, .sad-gallery-grid, .sad-media-grid {
  gap: 20px;
}
.sad-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sad-video-grid, .sad-gallery-collections-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.sad-game-card,
.sad-video-card,
.sad-gallery-card,
.sad-media-card,
.sad-panel,
.sad-requirement-card,
.sad-video-single-card,
.sad-media-single-copy {
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--sad-shadow-soft);
  color: #fff;
}
.sad-game-card:hover,
.sad-video-card:hover,
.sad-gallery-card:hover,
.sad-media-card:hover,
.sad-feature-card:hover {
  transform: translateY(-5px);
  border-color: rgba(165, 242, 29, .4);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .32);
}
.sad-card-cover,
.sad-video-thumb,
.sad-gallery-thumb,
.sad-media-thumb {
  background: linear-gradient(135deg, rgba(47,112,255,.28), rgba(165,242,29,.12));
}
.sad-card-cover { aspect-ratio: 3 / 4; }
.sad-card-cover img { width: 100%; height: 100%; object-fit: cover; }
.sad-card-body,
.sad-video-card-body,
.sad-gallery-card-body,
.sad-media-card-body { padding: 16px; }
.sad-card-title { font-size: 19px; }
.sad-card-title a:hover,
.sad-video-card-body h2 a:hover,
.sad-gallery-card-body h3 a:hover { color: var(--sad-green); }
.sad-card-excerpt,
.sad-video-card-body p,
.sad-gallery-card-body p,
.sad-media-card-body p { color: var(--sad-muted); }
.sad-badge,
.sad-video-meta-row span,
.sad-video-language-list span span,
.sad-video-language-grid span {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.11);
  color: #dce6ff;
}

.sad-single-card,
.sad-hero-card {
  background:
    linear-gradient(135deg, rgba(4, 6, 38, .86), rgba(15, 71, 194, .58)),
    #071047;
  border: 1px solid rgba(255,255,255,.12);
}
.sad-single-card::before {
  background: linear-gradient(90deg, rgba(5,6,45,.96), rgba(5,6,45,.7), rgba(5,6,45,.92));
}
.sad-single-excerpt { color: rgba(235,241,255,.78); }
.sad-prose { color: #eaf0ff; }
.sad-prose a { color: var(--sad-green); }
.sad-details dt, .sad-requirements-list dt { color: var(--sad-muted); }
.sad-details dd, .sad-requirements-list dd { color: #fff; }
.sad-release-item,
.sad-unavailable,
.sad-admin-note,
.sad-empty {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.13);
  color: var(--sad-muted);
}
.sad-store-link {
  background: linear-gradient(135deg, var(--sad-blue), var(--sad-purple));
  color: #fff;
}
.sad-store-link:hover { background: var(--sad-green); color: #071047; }

.sad-video-filter {
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.13);
  color: var(--sad-muted);
}
.sad-video-filter.is-active,
.sad-video-filter:hover {
  background: var(--sad-green);
  color: #071047;
}

.sad-gallery-filter-form,
.sad-media-filter-form {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 22px;
  background: rgba(255,255,255,.055);
}
.sad-gallery-filter-form select,
.sad-gallery-filter-form input,
.sad-media-filter-form select,
.sad-media-filter-form input {
  background: rgba(255,255,255,.09);
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  border-radius: 12px;
}
.sad-gallery-filter-form option,
.sad-media-filter-form option { color: #101627; }

.sad-site-footer {
  background: rgba(0,0,0,.12);
  border-top: 1px solid rgba(255,255,255,.1);
  color: var(--sad-muted);
}

.navigation.pagination,
.sad-pagination {
  margin: 30px 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.page-numbers {
  display: inline-flex;
  min-width: 40px;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  font-weight: 900;
}
.page-numbers.current,
.page-numbers:hover {
  background: var(--sad-green);
  color: #071047;
}

@media (max-width: 1180px) {
  .sad-header-inner { grid-template-columns: auto minmax(180px, 1fr); }
  .sad-header-search { order: 3; grid-column: 1 / -1; }
  .sad-discover-grid { grid-template-columns: 1fr; }
  .sad-feature-rail {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .sad-feature-rail h2 { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
  .sad-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sad-video-grid, .sad-gallery-collections-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sad-spotlight-card { grid-template-columns: 1fr; min-height: auto; }
  .sad-spotlight-art { justify-self: start; max-width: 260px; }
}

@media (max-width: 760px) {
  .sad-header-inner { display: flex; align-items: stretch; }
  .sad-header-search { width: 100%; order: 2; }
  .sad-header-tools { order: 3; }
  .sad-nav ul { gap: 6px; }
  .sad-nav a { padding: 8px 10px; }
  .sad-grid, .sad-video-grid, .sad-gallery-collections-grid, .sad-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sad-feature-rail { grid-template-columns: 1fr; }
  .sad-spotlight-card { padding: 24px; border-radius: 24px; }
  .sad-spotlight-copy h1, .sad-hero h1, .sad-page-title { font-size: clamp(38px, 12vw, 58px); }
}

@media (max-width: 540px) {
  .sad-container, .sad-header-inner { width: min(calc(100% - 24px), var(--sad-max)); }
  .sad-grid, .sad-video-grid, .sad-gallery-collections-grid, .sad-media-grid { grid-template-columns: 1fr; }
  .sad-store-tabs { margin-inline: -4px; }
  .sad-hero-stats div { width: 100%; }
}


/* v0.5.1 — Epic-style Games Browse page */
.sad-browse-hero { padding-top: 38px; padding-bottom: 10px; }
.sad-browse-hero-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 28px;
  min-height: 210px;
  padding: clamp(24px, 4vw, 44px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 10% 10%, rgba(47, 112, 255, .34), transparent 28rem),
    radial-gradient(circle at 80% 20%, rgba(165, 242, 29, .16), transparent 18rem),
    radial-gradient(circle at 40% 100%, rgba(125, 50, 255, .18), transparent 22rem),
    linear-gradient(135deg, #05072d 0%, #061268 50%, #123fb8 100%);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 32px 90px rgba(0,0,0,.28);
}
.sad-browse-hero-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.08) 0 16px, transparent 17px);
  background-size: 96px 96px;
  opacity: .26;
  pointer-events: none;
}
.sad-browse-hero-card::after {
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 140px;
  height: 140px;
  border-radius: 0 0 0 48px;
  background: var(--sad-green);
  opacity: .96;
}
.sad-browse-hero-card > * { position: relative; z-index: 1; }
.sad-browse-hero-card .sad-page-title { color: #fff; }
.sad-browse-hero-card p:not(.sad-kicker) {
  max-width: 720px;
  margin: 16px 0 0;
  color: rgba(232,238,255,.78);
  font-size: 17px;
}
.sad-browse-hero-meta {
  min-width: 180px;
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(16px);
  color: #fff;
  text-align: center;
}
.sad-browse-hero-meta strong { display: block; font-size: 44px; line-height: 1; letter-spacing: -.06em; }
.sad-browse-hero-meta span { color: var(--sad-muted); font-weight: 900; font-size: 13px; }
.sad-browse-section { padding-top: 20px; }
.sad-browse-shell {
  display: grid;
  grid-template-columns: minmax(210px, 250px) minmax(0, 1fr);
  gap: 30px;
  align-items: start;
}
.sad-browse-sidebar {
  position: sticky;
  top: 110px;
  padding: 6px 4px 18px;
  color: #fff;
}
body.admin-bar .sad-browse-sidebar { top: 142px; }
.sad-browse-sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.sad-browse-sidebar h2,
.sad-browse-filter-group h3 {
  margin: 0;
  color: #fff;
  font-size: 15px;
  letter-spacing: -.015em;
}
.sad-browse-sidebar-head a,
.sad-browse-reset {
  color: var(--sad-muted);
  font-size: 13px;
  font-weight: 900;
}
.sad-browse-sidebar-head a:hover,
.sad-browse-reset:hover { color: var(--sad-green); }
.sad-browse-filter-group { padding: 18px 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.sad-browse-filter-group h3 { margin-bottom: 12px; color: rgba(255,255,255,.92); }
.sad-browse-checks { display: grid; gap: 8px; }
.sad-browse-check {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 34px;
  color: var(--sad-muted);
  font-size: 14px;
  font-weight: 750;
}
.sad-browse-check span {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.05);
  box-shadow: inset 0 0 0 3px transparent;
}
.sad-browse-check:hover { color: #fff; }
.sad-browse-check.is-active { color: #fff; }
.sad-browse-check.is-active span {
  background: var(--sad-green);
  border-color: var(--sad-green);
  box-shadow: inset 0 0 0 4px #081046;
}
.sad-browse-main { min-width: 0; }
.sad-browse-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 240px) auto;
  gap: 12px;
  align-items: end;
  margin-bottom: 22px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
}
.sad-browse-toolbar label { display: grid; gap: 7px; }
.sad-browse-toolbar label span {
  color: var(--sad-muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.sad-browse-toolbar input,
.sad-browse-toolbar select {
  width: 100%;
  min-height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.13);
  background: rgba(255,255,255,.08);
  color: #fff;
  padding: 0 14px;
  outline: 0;
  font: inherit;
  font-weight: 750;
}
.sad-browse-toolbar input::placeholder { color: rgba(232,238,255,.42); }
.sad-browse-toolbar select option { color: #101627; }
.sad-browse-toolbar input:focus,
.sad-browse-toolbar select:focus { border-color: rgba(165,242,29,.62); box-shadow: 0 0 0 4px rgba(165,242,29,.08); }
.sad-browse-submit {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  padding: 0 18px;
  background: var(--sad-green);
  color: #071047;
  font-weight: 950;
  cursor: pointer;
}
.sad-browse-result-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.sad-browse-result-head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(26px, 3vw, 40px);
  letter-spacing: -.055em;
}
.sad-browse-result-head .sad-kicker { margin-bottom: 6px; }
.sad-browse-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 26px 18px;
}
.sad-browse-game-card { min-width: 0; color: #fff; }
.sad-browse-game-cover {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(47,112,255,.28), rgba(165,242,29,.08));
  box-shadow: 0 18px 42px rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.09);
}
.sad-browse-game-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .24s ease, filter .24s ease;
}
.sad-browse-game-card:hover .sad-browse-game-cover img { transform: scale(1.045); filter: brightness(1.08); }
.sad-browse-placeholder {
  display: grid;
  place-items: center;
  min-height: 100%;
  padding: 18px;
  text-align: center;
  color: rgba(255,255,255,.62);
  font-weight: 950;
}
.sad-browse-game-body { padding: 13px 2px 0; }
.sad-browse-card-kicker {
  margin: 0 0 4px;
  color: var(--sad-muted);
  font-size: 12px;
  font-weight: 900;
}
.sad-browse-game-body h2 {
  margin: 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.sad-browse-game-body h2 a:hover { color: var(--sad-green); }
.sad-browse-release,
.sad-browse-card-meta,
.sad-browse-availability {
  margin: 7px 0 0;
  color: rgba(232,238,255,.68);
  font-size: 13px;
  line-height: 1.35;
}
.sad-browse-card-meta { color: rgba(232,238,255,.52); }
.sad-browse-availability { color: #fff; font-weight: 900; }
.sad-browse-availability.muted { color: rgba(232,238,255,.45); }
.sad-browse-pagination { justify-content: center; }
@media (max-width: 1180px) {
  .sad-browse-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  .sad-browse-shell { grid-template-columns: 1fr; }
  .sad-browse-sidebar { position: static; padding: 16px; border-radius: 22px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.1); }
  .sad-browse-filter-group { border-bottom: 0; padding: 12px 0; }
  .sad-browse-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sad-browse-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .sad-browse-hero-card { grid-template-columns: 1fr; }
  .sad-browse-hero-card::after { width: 90px; height: 90px; }
  .sad-browse-toolbar { grid-template-columns: 1fr; }
  .sad-browse-result-head { align-items: flex-start; flex-direction: column; }
  .sad-browse-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 14px; }
}
@media (max-width: 440px) {
  .sad-browse-checks { grid-template-columns: 1fr; }
  .sad-browse-grid { grid-template-columns: 1fr; }
}
