/* Keep icon fonts visible even with global font overrides */
.bi::before {
  font-family: "bootstrap-icons" !important;
}

.fa,
.fas,
.far,
.fab,
.fa-solid,
.fa-regular {
  font-family: "Font Awesome 6 Free" !important;
}

.fa-brands,
.fab {
  font-family: "Font Awesome 6 Brands" !important;
}

.fa::before,
.fas::before,
.far::before,
.fab::before,
.fa-solid::before,
.fa-regular::before,
.fa-brands::before {
  font-family: inherit !important;
}

/* Game Hub - Complete Responsive CSS */

      /* Base Styles */
      * {
        font-family: "AbdoMaster", sans-serif !important;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        border-radius: 0 !important;
      }

      body {
        background-size: cover;
        display: flex;
        flex-direction: column;
        background-repeat: no-repeat;
        background-position: center center;
        background-attachment: fixed;
        transition: background-image 1s ease-in-out;
        min-height: 100vh;
        width: 100%;
        overflow-x: hidden;
      }

      /* Game Selection Container */
      .game-selection-container {
        max-width: 1400px;
        margin: 0 auto;
        padding: 20px;
        width: 100%;
      }

      /* Game Cards */
      .game-card {
        background: rgba(255, 255, 255, 0.95);
        border-radius: 0px;
        padding: 30px;
        margin: 20px 0;
        /*border: 3px solid #20bb58;*/
        box-shadow: -8px -8px 0 rgba(0, 0, 0, 0.8);
        transition: all 0.3s ease;
        height: 100%;
        display: flex;
        flex-direction: column;
        background-color: rgba(0, 0, 0, 0.5); /* 50% black */
       
      }

      .game-card:hover {
        transform: translateY(-5px);
        box-shadow: -12px -12px 0 rgba(0, 0, 0, 0.8);
      }

      .game-card .text-center {
        flex: 1;
        display: flex;
        flex-direction: column;
      }

      /* Game Icons */
      .game-icon {
        font-size: 4rem;
        margin-bottom: 20px;
        color: #20bb58;
      }

      .game-icon i {
        line-height: 1;
      }

      /* Game Titles */
      .game-title {
        font-size: clamp(1.8rem, 5vw, 2.5rem);
        color: #fff;
        font-family: "AbdoMaster";
        margin-bottom: 15px;
        word-wrap: break-word;
      }

      /* Game Description */
      .game-description {
        font-size: clamp(0.9rem, 3vw, 1.1rem);
        color: #666;
        margin-bottom: 25px;
        line-height: 1.6;
        word-wrap: break-word;
      }

      /* Game Features List */
      .game-features {
        list-style: none;
        padding: 0;
        margin-bottom: 25px;
        flex: 1;
      }

      .game-features li {
        padding: 8px 0;
        font-size: clamp(0.9rem, 2.5vw, 1rem);
        color: #555;
        display: flex;
        align-items: center;
        gap: 10px;
      }

      .game-features li i {
        color: #20bb58;
        font-size: 1.1rem;
        flex-shrink: 0;
      }

      /* Game Buttons */
      .btn-game-select {
        background-color: #20bb58;
        color: white;
        border: 2px solid white;
        padding: 15px 20px;
        font-size: clamp(1rem, 4vw, 1.3rem);
        font-weight: bold;
        font-family: "AbdoMaster";
        box-shadow: -6px -6px 0 rgba(0, 0, 0, 0.8);
        transition: all 0.3s ease;
        width: 100%;
        border-radius: 0px;
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        TEXT-DECORATION: NONE
      }

      .btn-game-select:hover {
        background-color: #1a9c4a;
        transform: translateY(-3px);
        box-shadow: -8px -8px 0 rgba(0, 0, 0, 0.8);
        color: white;
      }

      .btn-game-select i {
        font-size: 1.2em;
      }

      /* Header Title */
      .header-title {
        text-align: center;
        margin: 40px 20px;
        padding: 0 15px;
      }

      .header-title h1 {
        font-size: clamp(2rem, 8vw, 3.5rem);
        color: white;
        font-family: "AbdoMaster";
        text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
        margin-bottom: 15px;
        word-wrap: break-word;
      }

      .header-title p {
        font-size: clamp(1rem, 4vw, 1.2rem);
        color: white;
        opacity: 0.9;
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
      }

      /* Language Switcher */
      .language-switcher-container {
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 2000;
        width: auto;
        max-width: 200px;
      }

      .language-switcher {
        position: relative;
        width: 100%;
      }

      .language-toggle {
        background-color: #20bb58;
        color: white;
        font-weight: bold;
        border: 1px solid #fff;
        padding: 12px 20px;
        font-size: clamp(0.9rem, 3vw, 1.2rem);
        cursor: pointer;
        transition: all 0.3s ease;
        font-family: "AbdoMaster";
        box-shadow: -4px -4px 0 rgb(0 0 0);
        border-radius: 0px;
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        background: linear-gradient(135deg, #20bb58, #1a9c4a);
      }

      .language-toggle:hover {
        background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
        transform: translateY(-2px);
      }

      .language-flag {
        margin-right: 5px;
        font-size: 1rem;
        display: inline-flex;
        align-items: center;
      }

      .language-name {
        flex: 1;
        text-align: left;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }

      .dropdown-arrow {
        transition: transform 0.3s ease;
        font-size: 0.8rem;
      }

      .language-switcher.open .dropdown-arrow {
        transform: rotate(180deg);
      }

      .language-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: white;
        border-radius: 0px;
        margin-top: 5px;
        box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: all 0.3s ease;
        z-index: 2001;
        overflow: hidden;
        width: 100%;
      }

      .language-switcher.open .language-dropdown {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
      }

      .language-option {
        background: linear-gradient(135deg, #20bb58, #1a9c4a);
        color: white;
        font-weight: bold;
        border: none;
        padding: 12px 20px;
        font-size: clamp(0.9rem, 3vw, 1.2rem);
        cursor: pointer;
        transition: all 0.3s ease;
        font-family: "AbdoMaster";
        display: flex;
        align-items: center;
        gap: 8px;
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      }

      .language-option:last-child {
        border-bottom: none;
      }

      .language-option:hover {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
      }

      .language-option.active {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
      }

      /* Container and Row Overrides */
      .container {
        width: 100%;
        max-width: 1400px;
        margin: 0 auto;
        padding: 0 15px;
      }

      .row {
        display: flex;
        flex-wrap: wrap;
        margin: -15px;
      }

      [class*="col-"] {
        padding: 0px;
      }

      /* Responsive Breakpoints */

      /* Extra Large Devices (1200px and up) */
      @media (min-width: 1200px) {
        .game-selection-container {
          max-width: 1140px;
        }

        .game-card {
          padding: 35px;
        }
      }

      /* Large Devices (992px to 1199px) */
      @media (min-width: 992px) and (max-width: 1199px) {
        .game-selection-container {
          max-width: 960px;
        }

        .game-card {
          padding: 30px 25px;
        }

        .game-title {
          font-size: 2.2rem;
        }
      }

      /* Medium Devices (768px to 991px) */
      @media (min-width: 768px) and (max-width: 991px) {
        .game-selection-container {
          max-width: 720px;
        }

        .game-card {
          padding: 25px 20px;
        }

        .game-title {
          font-size: 2rem;
        }

        .game-icon {
          font-size: 3.5rem;
        }

        .language-switcher-container {
          top: 15px;
          right: 15px;
          max-width: 160px;
        }

        .language-toggle,
        .language-option {
          padding: 10px 15px;
        }
      }

      /* Small Devices (576px to 767px) */
      @media (min-width: 576px) and (max-width: 767px) {
        .game-selection-container {
          max-width: 540px;
          padding: 15px;
        }

        .game-card {
          padding: 25px 20px;
          margin: 10px 0;
        }

        .game-title {
          font-size: 1.8rem;
        }

        .game-icon {
          font-size: 3rem;
        }

        .game-description {
          margin-bottom: 20px;
        }

        .game-features li {
          padding: 6px 0;
        }

        .header-title {
          margin: 30px 15px;
        }

        .language-switcher-container {
          top: 10px;
          right: 10px;
          max-width: 140px;
        }

        .language-toggle,
        .language-option {
          padding: 8px 12px;
          font-size: 0.9rem;
        }

        .language-toggle {
          box-shadow: -3px -3px 0 rgb(0 0 0);
        }

        .btn-game-select {
          padding: 12px 15px;
        }
      }

      /* Extra Small Devices (575px and down) */
      @media (max-width: 575px) {
        .game-selection-container {
          padding: 10px;
        }

        .game-card {
          padding: 20px 15px;
          margin: 10px 0;
          border-width: 2px;
          /*box-shadow: -5px -5px 0 rgba(0, 0, 0, 0.8);*/
        }

        .game-card:hover {
          box-shadow: -8px -8px 0 rgba(0, 0, 0, 0.8);
        }

        .game-title {
          font-size: 1.6rem;
          margin-bottom: 12px;
        }

        .game-icon {
          font-size: 2.5rem;
          margin-bottom: 15px;
        }

        .game-description {
          font-size: 0.9rem;
          margin-bottom: 20px;
          line-height: 1.5;
        }

        .game-features {
          margin-bottom: 20px;
        }

        .game-features li {
          padding: 5px 0;
          font-size: 0.85rem;
        }

        .game-features li i {
          font-size: 0.9rem;
        }

        .btn-game-select {
          padding: 10px 15px;
          font-size: 1rem;
          border-width: 1px;
          box-shadow: -4px -4px 0 rgba(0, 0, 0, 0.8);
        }

        .btn-game-select i {
          font-size: 1rem;
        }

        .header-title {
          margin: 20px 10px;
        }

        .header-title h1 {
          font-size: 1.8rem;
          margin-bottom: 10px;
        }

        .header-title p {
          font-size: 0.9rem;
        }

        .language-switcher-container {
          position: fixed;
          top: 10px;
          right: 10px;
          max-width: 130px;
        }

        .language-toggle,
        .language-option {
          padding: 6px 10px;
          font-size: 0.8rem;
          border-width: 1px;
          box-shadow: -2px -2px 0 rgb(0 0 0);
        }

        .language-toggle {
          padding: 8px 12px;
        }

        .language-flag {
          font-size: 0.8rem;
        }

        .dropdown-arrow {
          font-size: 0.7rem;
        }

        .language-name {
          white-space: normal;
        }
      }

      /* Very Small Devices (375px and down) */
      @media (max-width: 375px) {
        .game-card {
          padding: 15px 12px;
        }

        .game-title {
          font-size: 1.4rem;
        }

        .game-icon {
          font-size: 2rem;
        }

        .game-description {
          font-size: 0.8rem;
        }

        .game-features li {
          font-size: 0.75rem;
        }

        .btn-game-select {
          font-size: 0.9rem;
          padding: 8px 12px;
        }

        .header-title h1 {
          font-size: 1.5rem;
        }

        .language-switcher-container {
          max-width: 110px;
        }

        .language-toggle,
        .language-option {
          padding: 5px 8px;
          font-size: 0.7rem;
        }

        .language-flag {
          font-size: 0.7rem;
        }

        .language-name {
          font-size: 0.7rem;
        }

        .dropdown-arrow {
          font-size: 0.6rem;
        }
      }

      /* Landscape Mode for Mobile */
      @media (max-height: 500px) and (orientation: landscape) {
        .header-title {
          margin: 15px 0;
        }

        .header-title h1 {
          font-size: 1.5rem;
          margin-bottom: 5px;
        }

        .header-title p {
          font-size: 0.9rem;
        }

        .game-card {
          padding: 15px;
        }

        .game-icon {
          font-size: 2rem;
          margin-bottom: 10px;
        }

        .game-title {
          font-size: 1.3rem;
          margin-bottom: 8px;
        }

        .game-features {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 5px;
        }

        .game-features li {
          padding: 3px 0;
        }

        .language-switcher-container {
          top: 5px;
          right: 5px;
        }
      }

      /* Tablet Landscape Mode */
      @media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
        .game-features {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          gap: 10px;
        }
      }

      /* High Resolution Screens */
      @media (min-width: 1400px) {
        .game-selection-container {
          max-width: 1320px;
        }

        .game-card {
          padding: 40px;
        }

        .game-title {
          font-size: 2.8rem;
        }

        .game-description {
          font-size: 1.2rem;
        }

        .game-features li {
          font-size: 1.1rem;
        }
      }

      /* Print Styles */
      @media print {
        body {
          background: white;
        }

        .language-switcher-container,
        .btn-game-select {
          display: none;
        }

        .game-card {
          break-inside: avoid;
          border: 1px solid #000;
          box-shadow: none;
        }
      }

      /* Accessibility */
      @media (prefers-reduced-motion: reduce) {
        *,
        *::before,
        *::after {
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.01ms !important;
          scroll-behavior: auto !important;
        }
      }

      /* Touch Device Optimizations */
      @media (hover: none) and (pointer: coarse) {
        .game-card:hover {
          transform: none;
        }

        .btn-game-select:hover {
          transform: none;
        }

        .language-toggle:hover {
          transform: none;
        }

        .game-card {
          transform: none !important;
        }

        .btn-game-select {
          -webkit-tap-highlight-color: transparent;
        }

        .btn-game-select:active {
          transform: translateY(-2px);
          transition: transform 0.1s;
        }
      }

      /* Bootstrap Grid Fallback for Very Old Browsers */
      @supports not (display: grid) {
        .row::after {
          content: "";
          clear: both;
          display: table;
        }

        [class*="col-"] {
          float: left;
          width: 100%;
        }

        @media (min-width: 768px) {
          .col-md-6 {
            width: 50%;
          }
        }
      }

      /* Custom Scrollbar */
      ::-webkit-scrollbar {
        width: 10px;
      }

      ::-webkit-scrollbar-track {
        background: #f1f1f1;
      }

      ::-webkit-scrollbar-thumb {
        background: #20bb58;
        border-radius: 0px;
      }

      ::-webkit-scrollbar-thumb:hover {
        background: #1a9c4a;
      }

      /* Focus States for Accessibility */
      .btn-game-select:focus,
      .language-toggle:focus,
      .language-option:focus {
        outline: 3px solid rgba(32, 187, 88, 0.5);
        outline-offset: 2px;
      }

      /* Loading State (if needed) */
      .loading {
        opacity: 0.5;
        pointer-events: none;
      }

      /* Language Selection Popup */
      .alert-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.7);
        backdrop-filter: blur(10px);
        z-index: 99999;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
        animation: alertFadeIn 0.3s ease;
      }

      @keyframes alertFadeIn {
        from {
          opacity: 0;
        }
        to {
          opacity: 1;
        }
      }

      .alert-container {
        background: #20bb58;
        padding: 0;
        max-width: 460px;
        width: 100%;
        box-shadow: -6px -6px 0 rgba(0, 0, 0, 0.8);
        border: 2px solid white;
        overflow: hidden;
      }

      .alert-header {
        background: rgba(255, 255, 255, 0.1);
        padding: 25px 30px 15px;
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      }

      .alert-icon {
        font-size: 54px;
        margin-bottom: 15px;
        display: block;
        color: white;
      }

      .alert-title {
        color: white;
        font-size: clamp(1.4rem, 4vw, 1.8rem);
        font-weight: 700;
        margin: 0;
        line-height: 1.2;
      }

      .alert-body {
        padding: 30px;
        text-align: center;
        background: rgba(255, 255, 255, 0.05);
      }

      .alert-message {
        color: white;
        font-size: clamp(0.95rem, 3vw, 1.1rem);
        line-height: 1.6;
        margin: 0;
        font-weight: 500;
      }

      .alert-footer {
        padding: 20px 24px 24px;
        display: flex;
        justify-content: center;
        gap: 12px;
        background: rgba(0, 0, 0, 0.1);
        flex-wrap: wrap;
      }

      .alert-btn {
        padding: 12px 24px;
        border: 2px solid white;
        font-weight: 700;
        cursor: pointer;
        min-width: 140px;
        font-size: clamp(0.95rem, 3vw, 1.1rem);
        box-shadow: -4px -4px 0 rgba(0, 0, 0, 0.8);
        transition: all 0.2s ease;
      }

      .alert-btn:hover {
        transform: translateY(-2px);
        box-shadow: -6px -6px 0 rgba(0, 0, 0, 0.8);
      }

      .alert-btn-primary {
        background: #20bb58;
        color: white;
      }

      .alert-btn-primary:hover {
        background: #1a9c4a;
      }

      .alert-btn-secondary {
        background: rgba(255, 255, 255, 0.2);
        color: white;
      }

      .alert-btn-secondary:hover {
        background: rgba(255, 255, 255, 0.3);
      }

      .language-popup-actions {
        flex-direction: row;
      }

      @media (max-width: 576px) {
        .alert-overlay {
          padding: 14px;
        }

        .alert-header {
          padding: 20px 16px 12px;
        }

        .alert-body {
          padding: 20px 16px;
        }

        .alert-footer {
          padding: 16px;
          gap: 10px;
        }

        .language-popup-actions {
          flex-direction: column;
          align-items: stretch;
        }

        .alert-btn {
          width: 100%;
          min-width: 0;
        }
      }
      
      .game-icon-top {
  display: flex;
  justify-content: flex-start; /* move left safely */
  padding-right: 15px;          /* small spacing from edge */
}

.game-logo {
        
  max-width: 300px;   /* controls width */
  height: auto;      /* keeps ratio */
  object-fit: contain;
  
}
.game-logo2 {
    max-width: 300px;
    height: auto;
    object-fit: contain;
      display: flex;
  justify-content: flex-start; /* move left safely */
  padding-left: 10px; 
}

.game-logo3 {
    max-width: 300px;
    height: auto;
    object-fit: contain;
      display: flex;
  justify-content: flex-start; /* move left safely */
  padding-left: 10px;}
    
.game-icon-top {
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;  /* prevents overflow */
}

.game-card {
  padding: 15px !important;
}

.game-icon-top {
  margin-bottom: 5px !important;
}

.game-title {
  margin-bottom: 5px !important;
  letter-spacing: 2px;
}

.btn-game-select {
  margin-top: 5px !important;
}

.game-title2 {
  margin-bottom: 5px !important;
  letter-spacing: 3px;
        font-size: clamp(1.8rem, 5vw, 2.5rem);
        color: #fff;
        font-family: "AbdoMaster";
        margin-bottom: 15px;
        word-wrap: break-word;
}

