body {
  font-family: Inter, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  color: #5E6278;
  line-height: 1.6;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh !important;
}

a {
  color: #624de3;
  text-decoration: none;
}

a:hover {
  color: #5341c1;
  text-decoration: none;
}

h6,
.h6,
h5,
.h5,
h4,
.h4,
h2,
.h2,
h1,
.h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 900;
  line-height: 1.2;
  color: rgb(233 233 233);
}

h3 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1;
  color: rgb(227, 227, 227);
  font-size: 20px;
}

h4,
.h4 {
  font-size: 1.1rem;
  margin-bottom: 20px;
}

.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl,
.container-xxl {
  max-width: 2480px;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  width: 100%;
  padding-right: var(--bs-gutter-x, 1rem);
  padding-left: var(--bs-gutter-x, 1rem);
  margin-right: auto;
  margin-left: auto;
}

.navbar {
  margin-bottom: 1rem;
  z-index: 1050;

}

.category-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.category-btn a {
  background-color: rgb(68, 69, 69);
  padding: 10px 25px;
  border-radius: 100px;
  font-weight: normal;
  color: #dfdfdf;
  font-size: 0.875rem;
  margin: 0 0.35rem 0.35rem;
  display: block;
  transition: all 0.2s;
  white-space: nowrap;
}

.category-btn a:hover {
  background-color: #96949c;
  transform: translateY(5px);
  color: #fff;
}

.social-button {
  display: inline-block;
  margin: 10px;
  position: relative;
  overflow: hidden;
}

.social-button img {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease-in-out;
  border: 1px black;
}

.social-button:hover img {
  transform: scale(1.1);
}

.form-search {
  background-color: rgb(68, 69, 69);
  padding: 8px 15px;
  border-radius: 100px;
}

@media (min-width: 1400px) {
  .form-search {
    width: 300px;
  }
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}

.form-search .form-control {
  color: #cfcfd3;
  font-size: 0.875rem;
}

.form-search svg {
  width: 18px;
  height: 18px;
  color: #A1A5B7;
}

.form-search .form-control::placeholder {
  color: #A1A5B7;
}

.navbar .nav-link svg {
  width: 20px;
  height: 20px;
}

/* layout main */
.card-masonry {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  grid-gap: 20px;
  grid-auto-rows: minmax(120px, auto);
  grid-auto-flow: dense;
}

.card-masonry .card {
  border: 0;
  border-radius: 1rem;
  background-color: transparent;
  position: relative;
  overflow: hidden;
  border: 2px solid white;
}

.card-masonry .card-collection {
  grid-column-end: span 2;
  grid-row-end: span 1;
}

.card-masonry .card-collection .card-collection-body {
  background-color: var(--bs-gray-200);
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.card-masonry .card-collection .card-img {
  flex: 0 0 auto;
  width: 50%;
  padding-right: 10px;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.5rem - 1px);
  border-top-right-radius: calc(0.5rem - 1px);
}

.card-masonry .card picture {
  position: relative;
}

.card-masonry .card picture img {
  position: relative;
  z-index: 1;
}

.card-masonry .card-collection .card-img img {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.card-masonry .card-collection .card-text {
  padding: 10px 30px 10px 10px;
  flex: 0 0 auto;
  width: 50%;
}

.text-white-50 {
  color: rgba(0, 0, 0, 0.8) !important;
}

.fs-xs {
  font-size: 0.75rem !important;
}

.card-masonry .card.large {
  grid-column-end: span 2;
  grid-row-end: span 2;
}

.card-masonry .card img {
  width: 100%;
  height: 100%;
}

.card-body {
  flex: 1 1 auto;
  padding: 1.5rem 1.5rem;
  color: #5E6278;
}

.card-masonry .card .card-body {
  position: absolute;
  inset: 0 0 -2rem 0;
  text-align: center;
  padding: 1rem 0.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 10;
  opacity: 0;
  transition: 0.25s;
}

.card-masonry .card .card-body {
  opacity: 1;
  bottom: 0;
}

.card-masonry .card h3,
.card-masonry .card .h3 {
  font-size: 0.70rem;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 300;
  color: #000;
  background-color: rgba(243, 237, 237, 90%);
  text-align: left;
  border-radius: 0px 6px 6px 0px;
  border-right: black;
  text-transform: uppercase;
  position: absolute;
  width: 96px;
  height: 22px;
  top: 105px;
  left: 0px;
}

.card-masonry .card.large h3,
.card-masonry .card.large .h3 {
  font-size: 1.1rem;
  top: 200px;
  height: 24px;
  width: 150px;
}

.heading h3 {
  font-weight: 600;
  font-size: 1.25rem;
  margin-bottom: 2rem;
}

.layout-text {
  color: #A1A5B7;
}

/* footer */
.footer {
  background-color: rgba(0, 0, 0, 0.8) !important;
  position: relative;
  color: #A1A5B7;
  box-shadow: rgb(194, 192, 192) 0px 0px 6px;
}


.footer .nav-link {
  font-size: 0.75rem;
  color: #dfdfdf;
}

@media (max-width: 767px) {
  .footer .nav-item:first-child .nav-link {
    padding-left: 0;
  }
}

.footer .nav-link:hover {
  color: white;
}

/* detail */

@media (min-width: 992px) {
  .w-lg-200 {
    width: 200px !important;
  }
}

.card-category a {
  color: #a1a5b7;
  font-size: 0.875rem;
  position: relative;
  transition: all 0.3s;
}

.card-category a:hover {
  text-decoration: underline;
  color: white;
}

.fw-semibold {
  font-weight: 500 !important;
}

.game-player {
  background-color: #dedede;
  color: white;
  border-radius: 10px;
}

.game-iframe-container {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 0.75rem;
  box-shadow: 0 0 12px rgb(251 243 243);
  border: 2px solid white;
}

.game-iframe-container:fullscreen {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.game-iframe-container:-webkit-full-screen {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.game-iframe-container:-moz-full-screen {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}


.game-iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.rating-star svg {
  margin-right: 0.125rem;
  color: #fa9e25;
}

.btn-square {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.875rem;
  height: 2.875rem;
  padding: 0;
  background: #EFF2F5;
}

.btn-ghost:hover {
  background: #96949c;
  color: white;
}

.fs-sm {
  font-size: 0.875rem !important;
  color: rgb(223, 223, 223);
}

.progress {
  display: flex;
  height: 1rem;
  overflow: hidden;
  font-size: 0.75rem;
  background-color: #EFF2F5;
  border-radius: 0.375rem;
  height: 6px;
}

.bg-theme {
  background: #fa9e25;
  width: 100%;
}

.btn-square.btn-sm,
.btn-group-sm>.btn-square.btn {
  width: 2.25rem;
  height: 2.25rem;
}

.reaction.btn-square {
  background: transparent !important;
}

.reaction svg {
  width: 20px;
  height: 20px;
  color: rgb(223, 223, 223);
}

.reaction svg:hover {
  color: white;
  font-weight: 600;
}

.like-count,
.dislike-count {
  color: rgb(223, 223, 223);
  font-size: 0.65rem !important;
}

* {
  --bs-tooltip-bg: #eff2f5;
  --bs-tooltip-color: #5E6278;
  --bs-tooltip-opacity: 0.9;
}

.custom-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  grid-gap: 20px;
  grid-auto-rows: minmax(300px, auto);
  grid-auto-flow: dense;
}

.custom-grid .card {
  border: 0;
  border-radius: 1rem;
  background-color: transparent;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  border: 2px solid white;
}

.custom-grid .card-collection {
  grid-column-end: span 2;
  grid-row-end: span 1;
}

.custom-grid .card-collection .card-collection-body {
  background-color: var(--bs-gray-200);
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}

.custom-grid .card-collection .card-img {
  flex: 0 0 auto;
  width: 50%;
  padding-right: 10px;
}

.card-img,
.card-img-top {
  border-top-left-radius: calc(0.5rem - 1px);
  border-top-right-radius: calc(0.5rem - 1px);
}

.custom-grid .card picture {
  position: relative;
}

.custom-grid .card picture img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-grid .card-collection .card-img img {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.custom-grid .card-collection .card-text {
  padding: 10px 30px 10px 10px;
  flex: 0 0 auto;
  width: 50%;
}

.text-white-50 {
  color: rgba(0, 0, 0, 0.8) !important;
}

.fs-xs {
  font-size: 0.75rem !important;
}

.custom-grid .card.large {
  grid-column-end: span 2;
  grid-row-end: span 2;
}

.card-body {
  flex: 1 1 auto;
  padding: 1.5rem 1.5rem;
  color: #5E6278;
}

.custom-grid .card .card-body {
  position: absolute;
  inset: 0 0 -2rem 0;
  text-align: center;
  padding: 1rem 0.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.custom-grid .card:hover .card-body,
.custom-grid .card .card-body {
  opacity: 1;
  bottom: 0;
}

.custom-grid .card.large h3,
.custom-grid .card.large .h3 {
  font-size: 1.1rem;
  top: 200px;
  height: 24px;
  width: 150px;
}

.layout-text {
  color: #A1A5B7;
}

.description p,
.description li,
.description ol li,
.description ul li {
  margin-bottom: 1rem;
  line-height: 1.6;
}

.description ol,
.description ul {
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.intro-box {
  border-left: 4px solid #ff6b35;
  background-color: #c5d7f2;
  padding: 15px 20px;
  margin-bottom: 20px;
  color: #1a202c;
  border-radius: 6px;
  font-size: 1rem;
}

.features-container {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.feature-box {
  flex: 1;
  background: #fff;
  border-radius: 8px;
  padding: 15px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
  min-width: 250px;
}

.feature-combat {
  border-top: 4px solid #e74c3c;
  ;
}

.feature-treasure {
  border-top: 4px solid #f39c12;
}

.feature-boss {
  border-top: 4px solid #27ae60;
}

.feature-box h5 {
  margin-top: 0;
  margin-bottom: 10px;
  font-weight: 700;
}

.feature-combat h5 {
  color: #e74c3c;
}

.feature-treasure h5 {
  color: #f39c12;
}

.feature-boss h5 {
  color: #27ae60;
}

.game-info {
  background-color: #2c3e50;
  color: white;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 0.9rem;
  justify-content: space-between;
}

.game-info span {
  white-space: nowrap;
}

.controls-box {
  background-color: #3498db;
  color: white;
  padding: 20px;
  border-radius: 10px;
  margin-bottom: 20px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.controls-box h5 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #111;
}

.controls-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px 40px;
  justify-items: center;
  align-items: start;
}

.control-item {
  background-color: rgba(255, 255, 255, 0.1);
  padding: 10px;
  border-radius: 6px;
  font-weight: 600;
  color: #fff;
  text-align: left;
  width: 100%;
}

.pro-tips {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 20px;
}

.pro-tips h5 {
  margin-top: 0;
  margin-bottom: 10px;
}

.pro-tips ul {
  padding-left: 1rem;
  margin: 0;
}

.pro-tips ul li {
  margin-bottom: 8px;
  font-weight: 600;
}

.why-love {
  background: #e8f5e8;
  border-left: 4px solid #27ae60;
  padding: 15px;
  border-radius: 8px;
}

.why-love h5 {
  color: #27ae60;
  margin-top: 0;
  margin-bottom: 10px;
}

.why-love ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.why-love ul li {
  margin-bottom: 8px;
  font-weight: 600;
  display: flex;
  align-items: center;
}

.highlight-banner {
  background: linear-gradient(135deg, #ff6b6b, #ffd93d);
  color: #3f3f46;
  padding: 15px;
  border-radius: 8px;
  margin: 15px 0;
  text-align: center;
  font-weight: 700;
  font-size: 20px;
}

.combat-list {
  list-style-type: disc;
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
  color: #2d3748;
  font-weight: 600;
}

.pro-tips-container {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.tip {
  flex: 1;
  min-width: 250px;
  border-radius: 8px;
  padding: 15px;
}

.combat-mastery {
  background-color: #dcfce7;
  border-left: 4px solid #28a745;
}

.exploration-rewards {
  background-color: #fff3cd;
  border-left: 4px solid #ffc107;
}

.upgrade-strategy {
  background-color: #d1ecf1;
  border-left: 4px solid #17a2b8;
}

.why-love-papa3 {
  background: linear-gradient(135deg, #667eea, #764ba2);
  color: white;
  border-radius: 8px;
  padding: 15px;
  text-align: center;
  font-weight: 700;
  margin-bottom: 20px;
}

.love-stats {
  display: flex;
  justify-content: space-around;
  margin-top: 10px;
  flex-wrap: wrap;
}

.love-stats>div {
  min-width: 80px;
}

.game-features ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.game-features .feature {
  flex: 1;
  min-width: 220px;
  font-weight: 600;
}

.action-gameplay strong {
  color: #dc3545;
}

.character-variety strong {
  color: #28a745;
}

.no-download strong {
  color: #007bff;
}

.cross-platform strong {
  color: #6f42c1;
}

.game-features p {
  font-weight: 400;
  margin-top: 0.25rem;
  color: #4a5568;
}

.tips-highlight ul {
  padding: 1rem 1rem;
  border-radius: 8px;
  list-style: inside disc;
  margin-bottom: 0;
  color: #334155;
}

.tips-highlight ul li {
  margin-bottom: 0.5rem;
}

.about.pb-2 {
  font-size: 1.1rem;
  margin-bottom: 1rem;
  color: #1a202c;
  margin-top: 1.5rem;
}

.about.pb-2 .emoji {
  margin-right: 0.3rem;
  font-size: 1.5rem;
  vertical-align: text-bottom;
}

.about.pb-2 strong {
  font-weight: 700;
  font-size: 1.3rem;
}

.description.pb-2 {
  color: #d6d6d6;
  font-size: 1rem;
  line-height: 1.6;
}

.section-title {
  font-weight: 700;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  color: #1a202c;
  font-size: 50px;
}

.tips-block {
  background-color: #f7fafc;
  border-radius: 8px;
  padding: 1rem 1.5rem;
  margin-bottom: 1.5rem;
}

.tips-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  color: #2d3748;
}

.tips-list li {
  margin-bottom: 0.7rem;
  font-weight: 600;
}

.tips-list li .icon {
  margin-right: 0.5rem;
  font-size: 1.2rem;
  vertical-align: middle;
}

.pro-tips li {
  font-weight: 500;
}

.why-players-love {
  background: linear-gradient(90deg, #fb7185, #f59e0b);
  color: white;
  border-radius: 8px;
  font-weight: 700;
  text-align: center;
  padding: 30px 0;
}

.why-players-love h5 {
  margin: 0;
  padding-bottom: 12px;
}

.why-players-love .love-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
  font-weight: 500;
  padding-bottom: 2px;
}

.why-players-love .love-list li {
  margin-bottom: 0.3rem;
}

.description.pb-2 h4,
.description.pb-2 h5 {
  font-weight: 700;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  color: rgb(234, 234, 234);
}

.site-logo {
  position: relative;
  display: inline-block;
  overflow: hidden;
}


@keyframes sweep {
  0% {
    left: -100%;
  }

  100% {
    left: 100%;
  }
}

@media screen and (min-width: 300px) and (max-width: 600px) {
  .section-title {
    font-weight: 700;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    color: #1a202c;
    font-size: 30px;
  }
}

@media screen and (min-width: 600px) and (max-width: 800px) {
  .section-title {
    font-weight: 700;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    color: #1a202c;
    font-size: 50px;
  }
}

.ltn__section-title-2 p {
  padding: 0 0 0 30px;
  border-width: 0 0 0 2px;
  border-style: solid;
  border-color: rgb(128, 189, 37);
}

p {
  line-height: 2.3;
}

h3 {
  margin-bottom: 1rem;
}

.about-us-info-wrap ul li {
  line-height: 2.3;
  margin-bottom: 0.4em;
}

.about-us-info-wrap ol li {
  line-height: 2.3;
  margin-bottom: 0.4em;
}

.section-title-a {
  margin-bottom: 5px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2
}

@media screen and (min-width: 600px) and (max-width: 800px) {
  .section-title {
    font-weight: 700;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    color: #1a202c;
    font-size: 50px;
  }
}

.card {
  position: relative;
  display: inline-block;
  overflow: hidden;
  text-decoration: none;
}

.card-img-wrapper {
  position: relative;
  display: block;
}

.card-img-wrapper picture,
.card-img-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}

.overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.game-title {
  font-size: 25px;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  color: white;
  opacity: 0;
  z-index: 2;
  transition: opacity 0.3s ease;
  pointer-events: none;
  white-space: normal;
  text-align: center;
  width: 90%;
  line-height: 1.2;
}

.card:hover .overlay {
  opacity: 1;
}

.card:hover .game-title {
  opacity: 1;
}

.card-similar {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  grid-gap: 20px;
  grid-auto-rows: minmax(140px, auto);
  grid-auto-flow: dense;
}

.card-si {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  border: 2px solid white;
}

.img-fluid-si {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 12px;
}

.card-si:hover .overlay {
  opacity: 1;
}

.card-body-si {
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  padding: 8px;
  z-index: 2;
}

.card-body-si h3 {
  font-size: 18px;
  color: white;
  opacity: 0;
  margin: 0;
  transition: opacity 0.3s ease;
}

.card-si:hover .card-body-si h3 {
  opacity: 1;
  font-size: 18px;
}

.container-fluid-game {
  max-width: 1580px;
  padding-right: var(--bs-gutter-x, 1rem);
  padding-left: var(--bs-gutter-x, 1rem);
  margin-right: auto;
  margin-left: auto;
}

@media screen and (min-width: 1900px) and (max-width: 1920px) {
  .w-lg-300 {
    width: 400px !important;
  }

  .card-masonry {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    grid-gap: 20px;
    grid-auto-rows: minmax(150px, auto);
    grid-auto-flow: dense;
  }
}

@media (min-width:1930px) {

  h1 {
    font-size: 2rem !important;
  }

  .w-lg-300 {
    width: 500px !important;
  }

  .card-masonry {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    grid-gap: 20px;
    grid-auto-rows: minmax(190px, auto);
    grid-auto-flow: dense;
  }

  .container-fluid {
    --bs-gutter-x: 4.5rem;
  }
}



@media screen and (min-width: 1300px) and (max-width: 1400px) {
  .w-lg-300 {
    width: 300px !important;
  }
}

.game-logo img {
  width: 90px;
  height: 90px;
  border-radius: 16px;
  object-fit: cover;
}