/* Local snapshot behavior and audit fixes; captured copy/media stay unchanged. */
html { scroll-behavior: smooth; }
section { scroll-margin-top: 100px; }
[hidden] { display: none !important; }
.swiper-wrapper { transform: none !important; }
.swiper-slide { width: 100% !important; flex-shrink: 0; margin: 0 !important; }
.swiper { overflow: hidden; }
.snapshot-missing { visibility: hidden; }
#preview-notice {
  position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
  padding: 15px 20px; background: #202536; color: white; z-index: 99999;
  border-radius: 8px; width: max-content; max-width: 90vw;
}
.back-to-top { visibility: visible !important; opacity: 1 !important; right: 16px; bottom: 16px; top: auto !important; }
.back-to-top i { display: none; }
.back-to-top:after { content: '↑'; font-size: 26px; line-height: 1; }
.offcanvas.show { visibility: visible !important; transform: none !important; }
#page :is(a,button,[role=button],[tabindex]):focus-visible { outline: 3px solid #125fb6; outline-offset: 4px; }

/* A single filled action family for web entry; the rest stay secondary. */
#page #header .button-link {
  min-height: 44px; height: auto; color: #fff; background: #146dc7;
  border-color: #146dc7; font-weight: 600;
}
#page #banner .contact-item .box {
  min-height: 48px; border: 1px solid #dae7f3; border-radius: 12px;
  transition: background-color .18s, border-color .18s;
}
#page #banner .contact-item:not(:last-of-type)::after { display: none; }
#page #banner .contact-item .box:hover { background-color: #edf5fd; border-color: #8fb9e0; }
#page #banner .contact-item:nth-child(2) .box { background: #146dc7; border-color: #146dc7; }
#page #banner .contact-item:nth-child(2) .box .text { color: #fff; font-weight: 600; }
#page #banner .contact-item:nth-child(2) .box img { filter: brightness(0) invert(1); }
#page #header .button-link:hover,
#page #banner .contact-item:nth-child(2) .box:hover { background-color: #0f579f; border-color: #0f579f; }

/* Readable copy, secondary controls and aligned card actions. */
#page #platform .platform-content { color: #4b5872; text-align: left; }
#page #platform .platform-item { box-shadow: 0 6px 18px rgba(75,101,132,.12); filter: none; }
#page #platform .platform-button {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; height: auto; padding: 9px 20px; color: #1464af;
  border-color: #1464af; background-image: none;
}
#page #platform .platform-item:hover .platform-button { background: #edf5fd; color: #104f8a; }
#page #banner :is(.button-copy,.button-support) {
  min-height: 44px; height: auto; color: #1464af; border-color: #1464af;
}
#page #banner .support-item p { color: #4b5872; }
#page #banner :is(.button-copy,.button-support):hover { background: #edf5fd; color: #104f8a; }
#page #hotGame .hotgame-nav-list li { min-height: 44px; height: auto; }
#page #hotGame .hotgame-nav-list li > div { min-height: 44px; display: flex; align-items: center; justify-content: center; }
#page #footer { color: #cbd5e1; padding-inline: 24px; }
#page #footer :is(.copyright,.credits,p,strong) { color: inherit; }
#page #footer a { color: #9dceff; }

/* Natural game-panel flow avoids overlapping later sections on first load. */
#page #hotGame .hotgame-slider { padding: 16px 0 24px; }
#page #hotGame .hotgame-item { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: center; gap: 24px; }
#page #hotGame .hotgame-img { position: static; margin: 0; overflow: visible; }
#page #hotGame .hotgame-img img { width: 100%; height: auto; object-fit: contain; }
#page #hotGame .hotgame-content-wrap {
  width: auto; height: auto; min-width: 0; border-radius: 24px;
  box-shadow: none; filter: none; border: 0; background: none;
}
#page #hotGame .hotgame-content { width: auto; position: static; padding: 24px; }
#page #hotGame .hotgame-word { height: auto; overflow: visible; padding: 0; }
#page #hotGame .hotgame-word p { color: #4b5872; font-size: 16px; line-height: 1.7; text-align: left; }
#page #hotGame .hotgame-text-only { display: block; }
#page #hotGame .hotgame-text-only .hotgame-img { display: none; }
#page #hotGame .hotgame-text-only .hotgame-content { max-width: 760px; margin-inline: auto; }

@media (max-width: 1199px) {
  #navbarsMenu.show { background: #fff; max-width: 85vw; padding: 60px 20px 25px; overflow: auto; }
  .navbar-toggler { z-index: 1050; }
}
@media (min-width: 576px) and (max-width: 1199px) {
  #page #platform .platform-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
  #page #platform .platform-item { min-width: 0; }
  #page #platform .platform-link { display: block; height: 100%; }
  #page #platform .platform-box { display: flex; flex-direction: column; height: 100%; }
  #page #platform .platform-img { width: 100%; height: 200px; object-fit: contain; }
  #page #platform .platform-content { flex-grow: 1; height: auto; overflow: visible; }
}
@media (max-width: 767px) {
  #page #hotGame .hotgame-item { grid-template-columns: minmax(0,1fr); gap: 12px; }
  #page #hotGame .hotgame-img { max-width: 450px; margin-inline: auto; }
  #page #hotGame .hotgame-content { padding: 16px 8px; }
  #page #hotGame .hotgame-content .text-title { margin-bottom: 16px; }
}
@media (max-width: 575px) {
  .banner-home .left, .banner-home .right { min-width: 0; }
  img { max-width: 100%; height: auto; }
  #page #banner .banner-contact { padding: 20px 16px; border-radius: 20px; }
  #page #banner .contact-list { gap: 10px; padding-bottom: 16px; }
  #page #banner .contact-item .box { padding: 0 14px; }
  #page #banner .contact-item .box > div { min-width: 0; margin-left: 12px; margin-right: 8px; }
  #page #banner .support-list-mobi { padding: 14px; margin-top: 16px; font-size: 13px; line-height: 1.6; }
  #page #banner .support-list-mobi > .d-flex {
    display: flex !important; flex-wrap: wrap !important; align-items: center;
    gap: 8px; width: 100%; min-width: 0;
  }
  #page #banner .support-list-mobi > .d-flex p { flex: 0 0 auto; width: auto; min-width: 0; white-space: nowrap; }
  #page #banner .support-list-mobi > .d-flex img { flex: 0 0 25px; width: 25px; height: 25px; }
  #page #banner .support-list-mobi .button-copy { flex: 0 0 auto; min-width: 64px; margin-left: auto; }

  /* Four complete original cards remain available in a compact swipe row. */
  #page #platform .platform-list {
    display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch;
    gap: 16px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
    scroll-padding-inline: 4px; padding: 8px 4px 24px; scrollbar-width: thin;
    overscroll-behavior-x: contain;
  }
  #page #platform .platform-item {
    flex: 0 0 calc(100% - 36px); min-width: 0; width: calc(100% - 36px);
    padding: 12px 0 20px; scroll-snap-align: start; border-radius: 24px;
    box-shadow: 0 4px 12px rgba(75,101,132,.10);
  }
  #page #platform .platform-link { display: block; height: 100%; }
  #page #platform .platform-box { display: flex; flex-direction: column; height: 100%; }
  #page #platform .platform-img { width: 100%; height: 180px; object-fit: contain; }
  #page #platform .platform-title { font-size: 22px; line-height: 1.35; margin: 16px 0 12px; }
  #page #platform .platform-content { flex-grow: 1; height: auto; overflow: visible; padding-inline: 18px; line-height: 1.6; }
  #page #platform .platform-button { margin-top: 20px; flex-shrink: 0; }
  #page #platform .platform-item:hover { transform: none; }
  #page #hotGame .hotgame-nav-list { flex-wrap: wrap; }
  #page #footer { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  #page * { transition-duration: 0s !important; }
}
