:root {
  --psy-purple: #5b3a8e;
  --psy-purple-dark: #3d2760;
  --psy-purple-light: #efe8f7;
  --psy-accent: #e9a23b;
}

body { font-family: 'Inter', system-ui, sans-serif; }
h1, h2, h3, .navbar-brand { font-family: 'Quicksand', 'Inter', system-ui, sans-serif; }

.bg-purple { background-color: var(--psy-purple) !important; }
.bg-purple-dark { background-color: var(--psy-purple-dark) !important; }
.text-purple { color: var(--psy-purple) !important; }
.bg-purple-light { background-color: var(--psy-purple-light) !important; }

.psy-skip-link {
  position: absolute; left: -9999px; top: 0; background: #fff; color: #000;
  padding: .75rem 1rem; z-index: 2000;
}
.psy-skip-link:focus { left: 0; }

.psy-archive-notice {
  background: #fff8e6; color: #6a5217; border-bottom: 1px solid #f0e0b0;
}

.psy-hero {
  background: linear-gradient(135deg, var(--psy-purple) 0%, var(--psy-purple-dark) 100%);
  color: #fff;
}
.psy-hero .lead { color: rgba(255,255,255,.9); }

.psy-channel-tile {
  border: 1px solid #e9e4f2; transition: transform .15s ease, box-shadow .15s ease;
  color: #2b2036;
}
.psy-channel-tile:hover { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(91,58,142,.15); }
.psy-channel-icon { font-size: 1.8rem; color: var(--psy-purple); }

.psy-sidebar-sticky { position: sticky; top: 80px; }

/* Legacy extracted content — re-skin the old Bluepark markup rather than fight it */
.psy-legacy-content { line-height: 1.65; }
.psy-legacy-content table.grid,
.psy-legacy-content table.options,
.psy-legacy-content table.alternate,
.psy-legacy-content table.alternatet { width: 100%; border-collapse: collapse; }
.psy-legacy-content table.grid td { vertical-align: top; padding: 8px; }
.psy-legacy-content img { max-width: 100%; height: auto; border-radius: .4rem; }
.psy-legacy-content .hrd hr { margin: 1.25rem 0; border-top: 1px solid #e9e4f2; }
.psy-legacy-content .footing,
.psy-legacy-content #product_tabs ul { list-style: none; padding-left: 0; }
.psy-legacy-content h2 { font-size: 1.15rem; margin-top: 1.5rem; }
.psy-legacy-content .last, .psy-legacy-content .gap { display: inline-block; }
.psy-legacy-content .psy-download-btn { margin: .5rem 0 1rem; }

/* Category listing grids (gridp) — reflow into a responsive Bootstrap-like grid */
.psy-legacy-content table.gridp { width: 100%; }
.psy-legacy-content table.gridp td { display: inline-block; width: 100%; max-width: 220px; vertical-align: top; padding: 10px; }
.psy-legacy-content table.gridp tr { display: flex; flex-wrap: wrap; }
.psy-legacy-content .prim img { border: 1px solid #f0edf7; padding: 4px; background: #fff; }

/* AdSense containers — reserve real space for filled ads, collapse placeholders to 0 */
.psy-ad { margin: 1rem 0; }
.psy-ad.psy-ad-placeholder { display: none; }
.psy-ad ins.adsbygoogle:empty { display: none; }

.psy-honeypot { position: absolute; left: -9999px; top: -9999px; }

@media (max-width: 767.98px) {
  .psy-sidebar-sticky { position: static; }
}
