/* Scoped presentation only: no changes to backend filters, auth or billing. */
body.site-page {
  --bg: var(--pv-bg); --surface: var(--pv-surface); --card: var(--pv-surface);
  --border: var(--pv-border); --gold: var(--pv-accent); --gold-dim: #4fc3f714;
  --text: var(--pv-text); --muted: var(--pv-text-muted); --muted2: var(--pv-text-muted);
  font-family: var(--pv-font-body); background: var(--pv-bg); color: var(--pv-text);
}
.site-page *, .site-page *::before, .site-page *::after { letter-spacing: 0 !important; }
.site-page::before, .site-page::after, .site-page .bg-image, .site-page .bg-overlay { display: none; }
.site-page :is(button, input, select) { font-family: var(--pv-font-body); }
.site-page :is(input[type='text'], input[type='search'], input[type='email'], input[type='password'], select) { min-height: 44px; font-size: 16px; }
.site-page :is(.main, .shell, .page-top) { position: relative; z-index: auto; }
.site-page footer { background: var(--pv-bg); border-top-color: var(--pv-border); }
.site-page footer a { display: inline-flex; align-items: center; min-height: 44px; }
.site-page-title { font: 700 28px/1.2 var(--pv-font-body); color: var(--pv-text-strong); margin: 0 0 20px; }
.site-page .section-title { font-family: var(--pv-font-body); font-size: 18px; font-weight: 700; }
.site-page :is(.section-sub, .row-sub, .nav-link-sub) { font-size: 13px; line-height: 1.6; }
.site-page :is(.btn, .btn-toggle, .btn-push, .lang-btn, .bar-select, .set-filter-btn, .store-filter-btn) { min-height: 44px; border-radius: 8px; }
.site-page :is(.btn-gold, .btn-primary) { background: var(--pv-accent); color: var(--pv-on-accent); border-color: var(--pv-accent); }
.site-page :is(.btn-gold, .btn-primary):hover { background: #82d6fb; }
.site-page :is(.section, .guide-banner) { box-shadow: none; }

/* Catalogue: compact filters above inspectable, evenly sized products. */
.site-products .catalog-heading { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 20px; padding-top: 26px; padding-bottom: 16px; }
.site-products .catalog-heading h1 { margin: 0; }
.site-products .catalog-heading p { color: var(--muted); font-size: 14px; }
.site-products .catalog-heading a { margin-left: auto; color: var(--pv-accent); min-height: 44px; display: inline-flex; align-items: center; }
.site-products .bar { padding: 16px 20px; background: var(--pv-surface); z-index: 10; }
.site-products .bar-inner, .site-products .main { max-width: 1180px; }
.site-products .catalog-links a { display: inline-flex; align-items: center; min-height: 44px; }
.site-products .catalog-links nav { padding-top: 0 !important; padding-bottom: 10px !important; gap: 0 20px !important; }
.site-products .language-filters { display: flex; gap: 6px; }
.site-products .lang-btn.active, .site-products .sp-chip.active { background: #4fc3f714; border-color: #4fc3f766; }
.site-products .btn-push { background: #4fc3f714; border-color: #4fc3f766; }
.site-products .main { padding: 24px 20px 56px; }
.site-products .search-wrap { min-width: 0; flex: 1 0 100%; }
.site-products .search-input { padding: 12px 14px 12px 38px; background: var(--pv-bg); }
.site-products :is(.bar-select, .store-filter-btn, .set-filter-btn) { background: var(--pv-bg); color: var(--pv-text); font-size: 14px; }
.site-products .lang-btn { min-width: 44px; font-size: 13px; }
.site-products .grid { gap: 16px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.site-products .card { border-radius: 8px; background: var(--pv-surface); animation: none; }
.site-products .card:hover { transform: none; box-shadow: none; border-color: var(--pv-border-strong); }
.site-products .card-img, .site-products .card-img-placeholder { background: var(--pv-light-tile); aspect-ratio: 4 / 3; object-fit: contain; }
.site-products .card-img-placeholder { color: #53647a; }
.site-products .card-img-placeholder svg { opacity: 1; }
.site-products .card-body { min-height: 100px; padding: 14px 14px 52px; position: relative; }
.site-products .card-name { display: block; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; margin: 0; }
.site-products .watch-btn { top: auto; bottom: 6px; right: 10px; width: 44px; height: 44px; }
.site-products .price-history-btn { top: auto; bottom: 6px; right: 62px; width: 44px; height: 44px; }
.site-products .store-rows { margin-top: auto; }
.site-products .store-row { min-height: 48px; flex-wrap: wrap; background: var(--pv-bg); }
.site-products .store-row-name { font-size: 12px; text-transform: none; flex: 1 1 100%; }
.site-products .store-row-price { font-family: var(--pv-font-body); font-size: 16px; font-weight: 700; }
.site-products .store-row-badge { font-size: 11px; }
.site-products .store-row-tomt { opacity: 1; }
.site-products .store-row-tomt .store-row-name { color: var(--pv-text-muted); flex-basis: auto; }
.site-products .watch-btn { border-color: var(--pv-border-strong); }
.site-products .sp-chip-name { font-size: 12px; text-transform: none; }
.site-products :is(.sp-close, .sl-close) { min-width: 44px; min-height: 44px; }
@media (max-width: 540px) {
  .site-products .bar { padding: 12px; }
  .site-products .bar-inner { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .site-products .bar-inner > * { min-width: 0; width: 100%; }
  .site-products .bar-inner > :is(.search-wrap, .language-filters, .result-count, #pushBtn, #pushHint) { grid-column: 1 / -1; }
  .site-products .language-filters { margin-top: 4px; }
  .site-products .language-filters button { flex: 1; }
  .site-products .result-count { margin-top: 4px; }
  .site-products .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .site-products .main { padding: 20px 12px 40px; }
  .site-products .card-body { padding: 12px 10px 52px; }
  .site-products .card-name { font-size: 14px; }
  .site-products .store-rows { padding: 0 8px 10px; }
  .site-products .store-row { gap: 6px; padding: 10px 8px; }
  .site-products .store-row-name { flex-basis: 100%; }
}
@media (max-width: 359px) { .site-products .grid { grid-template-columns: minmax(0, 1fr); } }

/* Detail keeps the original comparison/history workflow. */
.site-product .product-search-band { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding-top: 18px; }
.site-product .global-search { flex: 0 1 420px; max-width: 100%; }
.site-product .product-hero { background: transparent; border: 0; border-radius: 0; }
.site-product .image-panel { background: var(--pv-light-tile); border: 1px solid var(--pv-border); border-radius: 8px; }
.site-product .image-panel::before, .site-product .image-panel::after { display: none; }
.site-product .image-placeholder { color: #53647a; }
.site-product .detail-panel { background: transparent; }
.site-product .detail-panel h1 { font: 700 30px/1.25 var(--pv-font-body); }
.site-product .product-subtitle { font-size: 15px; line-height: 1.65; }
.site-product { --gold-bright: var(--pv-accent); }
.site-product :is(.metric-note, .alert-note, footer) { color: var(--pv-text-muted); font-size: 12px; }
.site-product .metric-label { font-size: 11px; }
.site-product .primary-btn:not(.active) { background: var(--pv-accent); color: var(--pv-on-accent); border-color: var(--pv-accent); }
.site-product .panel-title { font: 700 18px/1.3 var(--pv-font-body); }
.site-product .offer-price { font: 700 18px/1.3 var(--pv-font-body); }
.site-product .offer-row.best { border-color: #4fc3f766; background: #4fc3f70a; border-radius: 8px; }
.site-product :is(.offers-panel, .history-panel) { border-radius: 8px; }
.site-product .metric-value { font-family: var(--pv-font-body); font-size: 24px; font-weight: 700; }
@media (max-width: 640px) { .site-product .detail-panel h1 { font-size: 24px; } }

/* Feed and account pages remain work-focused, not landing pages. */
.site-feed .page-title { font: 700 28px/1.2 var(--pv-font-body); }
.site-feed .page-sub { font-size: 14px; }
.site-feed .feed-item { border-radius: 8px; background: var(--pv-surface); }
.site-feed .feed-item-img { background: var(--pv-light-tile); border-radius: 6px; }
.site-feed .feed-game-tabs { scrollbar-width: thin; }
.site-feed .feed-game-tab.active { border-color: #4fc3f766; background: #4fc3f714; }
.site-feed .feed-premium-note { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 16px; padding: 14px 18px; border: 1px solid var(--pv-border-strong); border-radius: 8px; background: var(--pv-surface); text-decoration: none; }
.site-feed .feed-premium-note > div { flex: 1 1 200px; font-size: 13px; color: var(--pv-text-muted); }
.site-feed .feed-premium-note strong { display: block; color: var(--pv-text); margin-bottom: 4px; }
.site-feed .feed-premium-note > span { color: var(--pv-accent); font-size: 14px; }
.site-settings .main, .site-notifications .main { padding: 28px 20px 56px; }
.site-settings .section { background: transparent; border: 0; border-bottom: 1px solid var(--pv-border); border-radius: 0; padding: 24px 0; }
.site-settings .section-row { align-items: flex-start; flex-wrap: wrap; gap: 16px; }
.site-settings .section-row > div:first-child { min-width: 0; flex: 1 1 220px; }
.site-settings .section-row > button { flex-shrink: 0; }
.site-settings .section-row .btn { white-space: normal; }
.site-settings .row-label { font-size: 15px; }
.site-settings .main > div:first-of-type { overflow-wrap: anywhere; }
.site-notifications .accordion-section { border-radius: 8px; }
.site-notifications .guide-banner { border-radius: 0; border-width: 0 0 1px; background: transparent; padding: 0 0 20px; }
.site-notifications .accordion-summary { padding: 20px; }

/* Keep the full trial terms and ordinary paid options intact. */
.site-premium .hero { padding: 12px 0 32px; }
.site-premium .hero h1 { font: 700 36px/1.2 var(--pv-font-body); }
.site-premium .plan { border-radius: 8px; background: var(--pv-surface); }
.site-premium .plan.featured { border-color: var(--pv-accent); box-shadow: none; }
.site-premium .plan-name { font: 700 22px/1.3 var(--pv-font-body); }
.site-premium .plan-price .amount { font-family: var(--pv-font-body); font-size: 42px; }
.site-login { display: block; padding: 0; }
.site-login .box { margin: 36px auto; max-width: 440px; width: calc(100% - 32px); border-radius: 8px; padding: 28px; }
.site-login .box .logo { font: 700 26px/1.3 var(--pv-font-body); color: var(--pv-text); }
.site-login :is(.tab, .btn, .back) { min-height: 44px; font-size: 15px; }
.site-login .box label { text-transform: none; font-size: 14px; }
.site-login .box .subtitle { font-size: 14px; }
.site-login .legal { font-size: 13px; }
