/* ============================================================
   PRIMESTAKE — Responsive Overrides
   ============================================================ */

/* ── Breakpoints Reference ────────────────────────────────────
   2xl: 1440px+
   xl:  1280px
   lg:  1024px
   md:  768px
   sm:  640px
   xs:  480px
   xxs: 360px
   ─────────────────────────────────────────────────────────── */

/* ── Global overflow guard ────────────────────────────────── */
html { overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
.ps-container { max-width: 100%; }
section { max-width: 100vw; overflow-x: hidden; }

/* ── Mobile reveal — vertical only (prevent horizontal overflow) ── */
@media (max-width: 1024px) {
  .reveal--left,
  .reveal--right {
    transform: translateY(30px);
  }
  .reveal--left.revealed,
  .reveal--right.revealed {
    transform: translateY(0);
  }
}

/* ── 1280px ───────────────────────────────────────────────── */
@media (max-width: 1280px) {
  .ps-container { padding-inline: var(--space-lg); }
  .ps-section    { padding-block: var(--space-4xl); }
  .ps-footer__grid { grid-template-columns: 1.5fr repeat(3, 1fr); }
}

/* ── 1024px (tablet landscape) ───────────────────────────── */
@media (max-width: 1024px) {
  h1 { font-size: clamp(2.25rem, 4.5vw, 3.5rem); }

  /* Homepage game hub */
  .ps-gamehub__tabs { gap: 4px; }
  .ps-gamehub__tab  { padding: 8px 14px; font-size: 0.825rem; }

  /* Homepage sections */
  .ps-stats-grid     { grid-template-columns: repeat(2, 1fr); }
  .ps-features__grid { grid-template-columns: repeat(2, 1fr); }

  /* Blog & single — collapse sidebar (handled in blog.css) */
  .ps-archive__grid  { grid-template-columns: 1fr; }
  .ps-archive__posts { grid-column: 1; }

  /* Casino tabs */
  .ps-casino-tabs { gap: 4px; }
  .ps-casino-tab  { padding: 8px 14px; font-size: 0.8rem; }

  /* Footer */
  .ps-footer__grid { grid-template-columns: 1fr 1fr 1fr; }
  .ps-footer__brand { grid-column: 1 / -1; }

  /* Mega menu */
  .ps-megamenu { min-width: 420px; max-width: calc(100vw - 24px); }
  .ps-megamenu__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── 768px (tablet portrait) ─────────────────────────────── */
@media (max-width: 768px) {
  .ps-container { padding-inline: var(--space-md); }
  .ps-section   { padding-block: var(--space-3xl); }

  h1 { font-size: clamp(2rem, 7vw, 3rem); }
  h2 { font-size: clamp(1.5rem, 5vw, 2.25rem); }

  /* Header — hide desktop nav, login stays hidden */
  .ps-nav      { display: none; }
  .ps-megamenu { display: none !important; }

  /* Sticky subnav adjust (header 64px at 768px) */
  .ps-sports-nav  { top: 64px; }
  .ps-casino-tabs { top: 64px; }

  /* Homepage */
  .ps-gamehub__tabs     { padding: 4px; }
  .ps-gamehub__tab-icon { display: none; }
  .ps-testimonials__grid { grid-template-columns: 1fr; }
  .ps-timeline    { grid-template-columns: 1fr 1fr; }
  .ps-blog-section__grid { grid-template-columns: 1fr; }
  .ps-sports-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
  .ps-promos__track { gap: var(--space-md); }
  .ps-promo-card    { min-width: 290px; }

  /* Casino */
  .ps-casino-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
  .ps-casino-tab  { white-space: nowrap; }
  .ps-casino-games__grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }

  /* Promotions */
  .ps-promo-filter    { gap: 8px; }
  .ps-promo-filter__btn { padding: 7px 14px; font-size: 0.8rem; }
  .ps-promos-page-grid { grid-template-columns: 1fr; }

  /* Blog archive */
  .ps-archive__grid { grid-template-columns: 1fr; }

  /* Page hero — tighter bottom on tablet/mobile */
  .ps-page-hero        { padding: 100px 0 var(--space-xl); }
  .ps-page-hero__title { font-size: clamp(1.75rem, 6vw, 2.5rem); }
  .ps-page-hero__desc  { font-size: 0.95rem; }

  /* Help search hero */
  .ps-help-search { padding: 100px 0 var(--space-xl); }

  /* Inner-page section padding reduction */
  .ps-inner-section,
  .ps-legal-content,
  .ps-vip-tiers,
  .ps-about-story,
  .ps-cta-banner          { padding: var(--space-3xl) 0; }
  .ps-faq,
  .ps-help-cta-section,
  .ps-casino-games,
  .ps-live-matches,
  .ps-help-categories     { padding: var(--space-2xl) 0; }

  /* Sports matches table — scrollable, reduced font */
  .ps-matches-table { font-size: 0.85rem; }
  .ps-matches-table th,
  .ps-matches-table td { padding: 10px 10px; }
  .ps-matches-table th:nth-child(4),
  .ps-matches-table td:nth-child(4) { display: none; }
  .ps-matches-table th:nth-child(6),
  .ps-matches-table td:nth-child(6) { display: none; }

  /* Sports live section header */
  .ps-live-matches > .ps-container > div:first-child { flex-wrap: wrap; gap: var(--space-sm); }

  /* Footer */
  .ps-footer__grid { grid-template-columns: 1fr 1fr; }
  .ps-footer__brand { grid-column: 1 / -1; }
  .ps-footer__mid-inner { flex-direction: column; gap: var(--space-md); align-items: flex-start; }
  .ps-footer__bottom-inner { flex-direction: column; gap: var(--space-lg); text-align: center; }
  .ps-footer__legal-links { justify-content: center; }

  /* VIP tier grid */
  .ps-tier-grid { grid-template-columns: repeat(2, 1fr); }

  /* Promotions heading stack */
  .ps-promos .ps-heading { flex-direction: column !important; align-items: flex-start !important; gap: var(--space-md) !important; }
}

/* ── 640px (large phone) ─────────────────────────────────── */
@media (max-width: 640px) {
  .ps-container { padding-inline: 16px; }

  /* Hero — remove forced full-height, compact padding */
  .ps-hero {
    min-height: auto !important;
    padding-top: 90px !important;
    padding-bottom: var(--space-2xl) !important;
  }
  /* Hide oversized glow rings on mobile */
  .ps-hero__glow-ring { display: none; }

  /* ── Hero Dashboard — smart mobile reveal ─────────────────── */

  /* Force single-column hero layout — minmax(0,1fr) caps track at container width */
  .ps-hero__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    text-align: center;
  }
  /* Grid items must not inflate the track beyond container width */
  .ps-hero__left,
  .ps-hero__right {
    min-width: 0;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
  }
  .ps-hero__eyebrow { justify-content: center; flex-wrap: wrap; }
  .ps-hero__left    { padding-right: 0; overflow: visible; }

  /* Show right panel below the text content */
  .ps-hero__right {
    display: block !important;
    margin-top: var(--space-xl);
    width: 100%;
  }

  /* Visual wrapper: stack dashboard, then float cards side by side */
  .ps-hero__visual {
    max-width: 100%;
    position: static;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
  }

  /* Dashboard: full width, no float animation */
  .ps-hero__dashboard {
    width: 100%;
    order: 1;
    animation: none;
    padding: 14px;
    border-radius: var(--radius-xl);
  }

  /* Winner feed — compact on mobile */
  .ps-hero__feed-wrap { height: 100px; }
  .ps-hero__jackpot-num { font-size: 1.3rem; }
  .ps-hero__jackpot { padding: 10px 12px; }

  /* Dash footer */
  .ps-hero__dash-footer { gap: var(--space-sm); }
  .ps-hero__mini-num    { font-size: 0.95rem; }
  .ps-hero__mini-label  { font-size: 0.6rem; }

  /* Float cards → static, side-by-side row below dashboard */
  .ps-hero__float-card {
    position: static;
    order: 2;
    animation: none;
    flex: 1;
    min-width: 130px;
    padding: 8px 10px;
    border-radius: var(--radius-md);
  }
  .ps-hero__float-win        { font-size: 0.9rem; }
  .ps-hero__float-win-label  { font-size: 0.65rem; }
  .ps-hero__users-num        { font-size: 0.8rem; }
  .ps-hero__users-text       { font-size: 0.68rem; }
  .ps-hero__avatar           { width: 22px; height: 22px; font-size: 0.55rem; }

  /* === GAMEHUB TABS — horizontal scroll with nav arrows === */
  .ps-gamehub { overflow-x: visible; }

  .ps-gamehub__tabs-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: var(--space-3xl);
  }

  .ps-gamehub__tabs-nav {
    display: flex;   /* show on mobile */
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--border-card);
    background: var(--bg-card);
    color: var(--text-primary);
    font-size: 1.2rem;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--transition-base), opacity var(--transition-base);
    padding: 0;
  }
  .ps-gamehub__tabs-nav:hover { background: var(--accent-violet); }
  .ps-gamehub__tabs-nav[disabled] { opacity: 0.3; pointer-events: none; }

  .ps-gamehub__tabs {
    flex: 1;
    flex-wrap: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    scrollbar-width: none;
    margin: 0;                        /* remove auto margin so wrapper controls layout */
    width: auto;
    max-width: 100%;
    justify-content: flex-start;
    border-radius: var(--radius-lg);
  }
  .ps-gamehub__tabs::-webkit-scrollbar { display: none; }
  .ps-gamehub__tab { flex-shrink: 0; }
  .ps-gamehub__tab-icon { display: inline; }

  /* Sports grid — centered 2-col layout */
  .ps-sports-grid    { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-sport-card {
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 12px 8px;
    gap: 8px;
    justify-content: center;
  }
  .ps-sport-card__icon { width: 40px; height: 40px; font-size: 1.2rem; flex-shrink: 0; }
  .ps-sport-card__name { white-space: normal; overflow: visible; text-overflow: clip; font-size: 0.8rem; }
  .ps-sport-card__count { white-space: normal; overflow: visible; text-overflow: clip; font-size: 0.7rem; }

  /* Casino grid */
  .ps-casino-grid    { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ps-casino-card    { min-width: 0; }

  /* Timeline */
  .ps-timeline        { grid-template-columns: 1fr; }
  .ps-timeline::before { display: none; }

  /* Stats */
  .ps-stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-md); }
  .ps-stat       { min-width: 0; }

  /* Features */
  .ps-features__grid { grid-template-columns: 1fr; }
  .ps-feature-card   { min-width: 0; }

  /* Casino */
  .ps-casino-games__grid { grid-template-columns: repeat(2, 1fr); }
  .ps-providers-grid     { gap: 8px; }
  .ps-provider-chip      { font-size: 0.75rem; padding: 6px 12px; }

  /* CTAs */
  .ps-cta-banner__btns    { flex-direction: column; align-items: center; }
  .ps-cta-banner__btns .ps-btn { width: 100%; max-width: 320px; }
  .ps-hero__ctas          { flex-direction: column; align-items: stretch; }
  .ps-hero__ctas .ps-btn  { text-align: center; }
  .ps-page-hero__ctas     { flex-direction: column; align-items: center; }
  .ps-page-hero__ctas .ps-btn { width: 100%; max-width: 300px; }

  /* CTA banner note */
  .ps-cta-banner__note { gap: var(--space-md); font-size: 0.75rem; }

  /* Blog post card */
  .ps-post-card         { grid-template-columns: 1fr; }
  .ps-post-card__img    { aspect-ratio: 16/9; }

  /* Single post related */
  .ps-related-grid { grid-template-columns: 1fr !important; }

  /* Legal & single content */
  .ps-single__content h2    { font-size: 1.15rem; }
  .ps-single__content table { font-size: 0.8rem; overflow-x: auto; display: block; }

  /* Promotions */
  .ps-promos-page-grid { grid-template-columns: 1fr; }
  .ps-promo-card {
    min-width: min(310px, calc(100vw - 64px));
    max-width: calc(100vw - 64px);
  }

  /* VIP */
  .ps-vip-tiers { grid-template-columns: 1fr; }
  .ps-tier-grid { grid-template-columns: 1fr; }

  /* ── Footer — mobile redesign ───────────────────────────── */
  .ps-footer__top { padding: var(--space-3xl) 0 var(--space-xl); }

  /* Brand — centered, full width */
  .ps-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl) var(--space-lg);
  }
  .ps-footer__brand {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-bottom: var(--space-xl);
    border-bottom: 1px solid var(--border-card);
  }
  .ps-footer__tagline { max-width: 100%; }
  .ps-footer__social  { justify-content: center; }
  .ps-footer__badges  { justify-content: center; }

  /* Nav cols — 2-column side by side, centered text */
  .ps-footer__col { text-align: center; }
  .ps-footer__col-title { font-size: 0.72rem; margin-bottom: var(--space-md); }
  .ps-footer__links { gap: 8px; align-items: center; }
  .ps-footer__link  { font-size: 0.8rem; justify-content: center; }
  .ps-footer__link::before { display: none; }

  /* Quick Links spans full width, links in a row */
  .ps-footer__col:last-child {
    grid-column: 1 / -1;
    border-top: 1px solid var(--border-card);
    padding-top: var(--space-lg);
  }
  .ps-footer__col:last-child .ps-footer__links {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px var(--space-lg);
  }

  /* Payments — centered, compact */
  .ps-footer__mid { padding: var(--space-lg) 0; }
  .ps-footer__mid-inner {
    flex-direction: column;
    align-items: center;
    gap: var(--space-md);
  }
  .ps-footer__payments     { justify-content: center; gap: 6px; }
  .ps-footer__payment-chip { font-size: 0.72rem; padding: 4px 10px; }

  /* Bottom — fully centered */
  .ps-footer__bottom-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-md);
  }
  .ps-footer__copy { text-align: center; font-size: 0.75rem; }
  .ps-footer__legal-links {
    justify-content: center;
    flex-wrap: wrap;
    gap: var(--space-sm) var(--space-md);
  }
  .ps-footer__legal-link { white-space: normal; font-size: 0.75rem; }

  /* Pagination */
  .ps-pagination { gap: 4px; }
  .ps-pagination a,
  .ps-pagination span,
  .ps-pagination .page-numbers { width: 34px; height: 34px; font-size: 0.8rem; }
  .ps-pagination .prev,
  .ps-pagination .next { width: auto; padding: 0 10px; }

  /* Heading on mobile */
  .ps-heading { margin-bottom: var(--space-xl); }
  .ps-heading__title { font-size: clamp(1.4rem, 6vw, 2rem); }
  .ps-heading__sub   { font-size: 0.875rem; }

  /* ── Mobile centering — all homepage sections ─────────────── */

  /* Global: center section headings */
  .ps-heading {
    text-align: center;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .ps-heading__title,
  .ps-heading__sub { text-align: center; }

  /* Promotions heading row — stack & center (higher specificity than 768px flex-start rule) */
  .ps-promos .ps-heading--promo-bar {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: var(--space-md) !important;
  }
  .ps-promos .ps-heading--promo-bar > div { text-align: center; }
  .ps-promos .ps-heading--promo-bar .ps-heading__title { text-align: center; }
  .ps-promos .ps-heading--promo-bar .ps-btn { align-self: center; }

  /* Blog heading — stack & center */
  .ps-blog-section .ps-heading--blog-bar {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: var(--space-md) !important;
  }
  .ps-blog-section .ps-heading--blog-bar > div { text-align: center; }
  .ps-blog-section .ps-heading--blog-bar .ps-heading__title { text-align: center; }
  .ps-blog-section .ps-heading--blog-bar .ps-btn { align-self: center; }

  /* Features — center card content */
  .ps-feature-card {
    text-align: center;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .ps-feature-card__icon { margin-inline: auto; }
  .ps-feature-card__title,
  .ps-feature-card__desc { text-align: center; }

  /* How-it-works (timeline) — center each step */
  .ps-timeline__step {
    text-align: center;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .ps-timeline__num-wrap { justify-content: center; }
  .ps-timeline__icon,
  .ps-timeline__title,
  .ps-timeline__desc { text-align: center; }

  /* Stats — center numbers and labels */
  .ps-stat { text-align: center; align-items: center; display: flex; flex-direction: column; }
  .ps-stat__num,
  .ps-stat__label { text-align: center; }

  /* Testimonials — center stars, quote, author */
  .ps-testimonial {
    text-align: center;
    align-items: center;
    display: flex;
    flex-direction: column;
  }
  .ps-testimonial__stars,
  .ps-testimonial__quote { text-align: center; }
  .ps-testimonial__author { justify-content: center; }
  .ps-testimonial__info { text-align: center; }
  .ps-testimonial__name,
  .ps-testimonial__meta { text-align: center; }

  /* Mobile app section — center content side */
  .ps-mobile-app__inner { flex-direction: column; align-items: center; text-align: center; }
  .ps-mobile-app__content { text-align: center; align-items: center; display: flex; flex-direction: column; }
  .ps-mobile-app__content .ps-label { align-self: center; }
  .ps-mobile-app__features { align-items: center; width: 100%; }
  .ps-app-feature { flex-direction: column; align-items: center; text-align: center; }
  .ps-app-feature__icon { margin-inline: auto; }
  .ps-app-feature__title,
  .ps-app-feature__desc { text-align: center; }
  .ps-mobile-app__btns { justify-content: center; }


  /* Section padding tightened */
  .ps-gamehub,
  .ps-promos,
  .ps-howitworks,
  .ps-social-proof,
  .ps-mobile-app,
  .ps-blog-section,
  .ps-cta-banner { padding-top: var(--space-3xl); padding-bottom: var(--space-3xl); }
  .ps-features   { padding: var(--space-3xl) 0; }
  .ps-footer__top { padding-top: var(--space-3xl); padding-bottom: var(--space-xl); }
}

/* ── 480px (phone) ───────────────────────────────────────── */
@media (max-width: 480px) {
  /* Hero — stay compact on all phones */
  .ps-hero {
    min-height: auto !important;
    padding-top: 85px !important;
    padding-bottom: var(--space-xl) !important;
  }

  /* Sport card — ensure centered layout on small phones */
  .ps-sport-card { padding: 10px 6px; gap: 6px; }
  .ps-sport-card__icon { width: 36px; height: 36px; font-size: 1.1rem; }
  .ps-sport-card__name { font-size: 0.75rem; }
  .ps-sport-card__count { font-size: 0.65rem; }

  /* Header */
  .ps-header__nav      { height: 60px; }
  .ps-logo__text       { font-size: 1.1rem; }
  .ps-logo__mark       { width: 30px; height: 30px; font-size: 0.8rem; }
  .ps-header__register { display: none; }

  /* Sticky subnav adjust (header 60px) */
  .ps-sports-nav  { top: 60px; }
  .ps-casino-tabs { top: 60px; }

  /* Page hero */
  .ps-page-hero   { padding-top: 85px; padding-bottom: var(--space-lg); }
  .ps-help-search { padding-top: 85px; padding-bottom: var(--space-lg); }

  /* Inner-page section padding — mobile */
  .ps-inner-section,
  .ps-legal-content,
  .ps-vip-tiers,
  .ps-about-story,
  .ps-cta-banner          { padding: var(--space-2xl) 0; }
  .ps-faq,
  .ps-help-cta-section,
  .ps-casino-games,
  .ps-live-matches,
  .ps-help-categories     { padding: var(--space-xl) 0; }

  /* Hero section */
  .ps-hero {
    padding-top: 80px;
    padding-bottom: var(--space-2xl);
    min-height: 100svh;
  }
  .ps-hero__title { font-size: clamp(1.9rem, 8vw, 2.8rem); }
  .ps-hero__desc  { font-size: 0.9rem; }
  .ps-hero__trust { gap: var(--space-md); flex-wrap: wrap; }
  .ps-hero__trust-item { font-size: 0.75rem; }

  /* Search bar — keep single row on all sizes */
  .ps-search-bar { max-width: 100%; }
  .ps-search-bar__input { padding: 14px 16px; font-size: 0.875rem; }
  .ps-search-bar__btn   { padding: 0 20px; font-size: 0.82rem; }

  /* Stats */
  .ps-stats-grid { grid-template-columns: 1fr 1fr; }
  .ps-stat__num  { font-size: 1.75rem; }

  /* Promo card — nearly full width on small phone, force width to prevent text blowout */
  .ps-promo-card {
    min-width: calc(100vw - 48px);
    max-width: calc(100vw - 48px);
    width: calc(100vw - 48px);
  }
  .ps-promo-card__title,
  .ps-promo-card__amount { overflow-wrap: break-word; word-break: break-word; }

  /* Mobile app */
  .ps-mobile-app__btns { flex-direction: column; gap: var(--space-sm); }
  .ps-store-btn        { width: 100%; }

  /* Casino game cards */
  .ps-game-card__name  { font-size: 0.75rem; }
  .ps-casino-tab       { padding: 7px 10px; font-size: 0.75rem; }

  /* Gamehub casino/slots/crash — 2 cols */
  .ps-casino-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  /* About story */
  .ps-about-story__inner  { grid-template-columns: 1fr; }
  .ps-about-story__visual { margin-bottom: var(--space-2xl); }
  .ps-about-milestones { grid-template-columns: 1fr 1fr !important; }

  /* Sports matches table */
  .ps-matches-table th:nth-child(2),
  .ps-matches-table td:nth-child(2) { display: none; }
  .ps-matches-table th:nth-child(5),
  .ps-matches-table td:nth-child(5) { font-size: 0.75rem; }

  /* Section padding — tightest on small phones */
  .ps-section { padding-block: var(--space-2xl); }
  .ps-gamehub,
  .ps-promos,
  .ps-howitworks,
  .ps-social-proof,
  .ps-mobile-app,
  .ps-blog-section,
  .ps-cta-banner { padding-top: var(--space-2xl); padding-bottom: var(--space-2xl); }
  .ps-features   { padding: var(--space-2xl) 0; }
  .ps-footer__top { padding-top: var(--space-2xl); }

  /* Footer — keep 2-col nav at 480px too, tighten spacing */
  .ps-footer__grid { gap: var(--space-xl) var(--space-md); }
  .ps-footer__link { font-size: 0.75rem; }
  .ps-footer__payment-chip { font-size: 0.68rem; padding: 4px 8px; }

  /* Ticker label */
  .ps-ticker__label { font-size: 0.6rem; }

  /* Gamehub tab — reduce padding */
  .ps-gamehub__tab { padding: 8px 12px; font-size: 0.8rem; }
}

/* ── 360px (small phone) ─────────────────────────────────── */
@media (max-width: 360px) {
  .ps-search-bar__input { padding: 12px 12px; font-size: 0.82rem; }
  .ps-search-bar__btn   { padding: 0 14px; font-size: 0.78rem; }
  .ps-hero__title { font-size: 1.85rem; }
  .ps-gamehub__tab { padding: 7px 10px; font-size: 0.75rem; }
  .ps-casino-grid { grid-template-columns: repeat(2, 1fr); }
  .ps-sports-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ps-casino-games__grid { grid-template-columns: 1fr; }
  .ps-stats-grid  { grid-template-columns: 1fr; }
  .ps-tier-grid   { grid-template-columns: 1fr; }
  .ps-footer__grid { grid-template-columns: 1fr 1fr; }

  /* Sport cards at very small sizes */
  .ps-sport-card { padding: 8px 4px; gap: 5px; }
  .ps-sport-card__name { font-size: 0.7rem; }
  .ps-sport-card__count { font-size: 0.6rem; }

  /* Tightest container padding */
  .ps-container { padding-inline: 12px; }
}

/* ── Print ────────────────────────────────────────────────── */
@media print {
  .ps-header,
  .ps-topbar,
  .ps-ticker,
  .ps-footer,
  #ps-livechat-btn,
  #ps-back-to-top,
  #ps-cookie-banner { display: none !important; }

  body { background: #fff; color: #000; }
  .ps-single__content { border: none; box-shadow: none; }
}

/* ── High Contrast ────────────────────────────────────────── */
@media (prefers-contrast: high) {
  :root {
    --border-card:   rgba(255,255,255,0.25);
    --border-subtle: rgba(108,99,255,0.5);
  }
}

/* ── Reduced Motion ───────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:        0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration:       0.01ms !important;
  }
  .ps-ticker__track  { animation: none; }
  .ps-payments__row  { animation: none; }
  #ps-livechat-btn   { animation: none; }
  .reveal            { opacity: 1 !important; transform: none !important; }
  .reveal.revealed   { opacity: 1; transform: none; }
}
