@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;600;700;800&family=Nunito:wght@400;600;700;800&display=swap');

@font-face {
  font-family: 'CasinoNumFont';
  src: url('./assets/fonts/Casino.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  /* -- Light Theme (Default) -- */
  /* User Specified Base Colors */
  --color-primary: #0088CC;
  --color-secondary: #2C3E50;

  /* Semantic - Dynamic */
  --color-text-on-secondary: #ffffff;


  /* Semantic - Header */
  --color-header-bg: var(--color-primary);
  --color-header-text: #ffffff;
  /* Always white */

  /* Betting / Accents */
  --color-back: #72bbef;
  --color-lay: #faa9ba;
  --color-success: #086f3f;
  --color-highlight: #ffff33;
  --color-danger: #bd1828;
  --color-info: #097c93;

  /* Backgrounds */
  --color-bg-body: #ffffff;
  --color-bg-surface: #ffffff;
  --color-bg-alt: #f7f7f7;
  --color-bg-row: #f2f2f2;
  --color-bg-input: #ffffff;
  --color-bg-input-icon: #e9ecef;
  --color-bg-sidebar: #cccccc;
  --color-overlay-lock: #373636d6;

  /* Text */
  --color-text-main: #333333;
  --color-text-secondary: #ffffff;
  --color-text-muted: #6c757d;
  --color-text-inverse: #ffffff;
  --color-text-black: #000000;
  --color-text-danger: var(--color-danger);
  --color-text-success: var(--color-success);
  --color-text-info: var(--color-info);
  --color-text-highlight: var(--color-highlight);

  /* Borders */
  --color-border: #ced4da;
  --color-border-light: #dbdbdb;

  /* Components specific */
  --gradient-login: linear-gradient(#0088CC, #2C3E50);

  /* Compatibility / Bootstrap Overrides */
  --bs-body-bg: var(--color-bg-body);
  --bs-body-color: var(--color-text-main);

  /* Legacy Mappings */
  --bg-primary: var(--color-primary);
  --bg-secondary: var(--color-secondary);
  --text-primary: var(--color-text-secondary);
  --bg-back: var(--color-back);
  --bg-lay: var(--color-lay);
  --bg-table: var(--color-bg-alt);
  --bg-table-row: var(--color-bg-row);
  --text-table: var(--color-text-main);
  --table-border: var(--color-border);
  --bg-secondary70: #2C3E50B3;
  --bg-secondary85: #163439;
  --input-border: var(--color-border-light);
  --input-border-hover: #b5b5b5;

  /* Sidebar Legacy */
  --bg-sidebar: var(--color-bg-sidebar);
  --text-sidebar: var(--color-text-main);
  --sidebar-menu-link-bg: #bbbbbb;
  --sidebar-menu-link-color: #000000;
  --sidebar-menu-link-border: #9e9e9e;

  /* Status Legacy */
  --text-info: var(--color-info);
  --bg-info: var(--color-info);
  --text-danger: var(--color-danger);
  --bg-danger: var(--color-danger);
  --text-success: var(--color-success);
  --bg-success: var(--color-success);
}

body {
  margin: 0;
  font-family: "Lato", Avenir, Verdana, Nunito, sans-serif !important;
  background-color: var(--color-bg-body);
  color: var(--color-text-main);
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Custom Toast Styles */
.custom-toast {
  border-radius: 50px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
  padding: 8px 16px !important;
  min-height: 48px !important;
  font-family: "Lato", Avenir, Verdana, Nunito, sans-serif !important;
  align-items: center !important;
}

.custom-toast-body {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  color: #333 !important;
  display: flex !important;
  align-items: center !important;
}

/* Customize the default error icon color if needed */
.Toastify__toast-icon.Toastify--animate-icon.Toastify__zoom-enter {
  width: 24px;
  height: 24px;
}

/* Modal Backdrop Styling */
.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1050;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}

.modal-backdrop.fade {
  opacity: 0;
  transition: opacity 0.15s linear;
}

.modal-backdrop.show {
  opacity: 0.5;
}

.modal-content {
  background-color: var(--color-bg-surface);
  /* Updated to variable */
  color: var(--color-text-main);
  /* Updated to variable */
  border: 0;
  border-radius: 0;
}

@media only screen and (max-width: 767px) {
  .modal-dialog {
    margin: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .modal-content {
    border-radius: 0 !important;
  }
}

/* Casino Result Modal Styles */
.casino-result-modal {
  width: 100%;
}

@media (max-width: 768px) {
  .casino-result-modal {
    padding: 0.2rem !important;
  }
}

.casino-result-round-id {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 0.2rem 0;
  font-size: 14px;
}

@media (max-width: 768px) {
  .casino-result-round-id {
    padding: 0.2rem !important;
    font-size: 12px !important;
  }

  .casino-result-round-id span {
    font-size: 12px !important;
  }
}

.casino-result-round-id span {
  display: inline-block;
}

.result-title {
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .result-title {
    font-size: 16px !important;
    text-align: center !important;
  }
}

.casino-result-cards {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .casino-result-cards {
    margin-top: 0px !important;
  }
}

.casino-result-cards img {
  width: auto;
  height: 50px;
  object-fit: contain;
  border-radius: 4px;
}

@media only screen and (max-width: 767px) {
  .casino-result-cards img {
    height: 35px;
  }
}

@keyframes winnerbox {

  0%,
  100% {
    box-shadow: rgba(29, 127, 30, 0.1) 0px 0px 0px 0px;
  }

  50% {
    box-shadow: rgba(29, 127, 30, 0.1) 0px 0px 0px 8.27153px;
  }
}

.casino-winner-icon {
  z-index: 10;
  color: #4caf50;
  font-size: 2rem;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  visibility: visible !important;
  opacity: 1 !important;
  min-width: 32px;
  min-height: 32px;
  width: 32px;
  height: 32px;
  animation: winnerbox 1.5s ease-in-out infinite;
  border-radius: 50%;
}

.casino-winner-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.casino-winner-icon-left {
  margin-right: 0.5rem;
  order: -1;
}

.casino-winner-icon-right {
  margin-left: 0.5rem;
  order: 999;
}

.casino-result-desc {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  padding: 6px;
  box-shadow: 0 0 4px -1px;
  margin-top: 10px;
}

.casino-result-desc-item {
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.casino-result-desc-item>div:first-child {
  margin-right: 2%;
  opacity: 0.6;
  width: 30%;
  text-align: right;
}

@media (max-width: 768px) {
  .casino-result-desc-item>div:first-child {
    font-size: 12px !important;
  }
}

.casino-result-desc-item>div:last-child {
  word-break: break-all;
  width: 60%;
  font-size: 14px !important;
  color: var(--color-text-main) !important;
  /* Updated from hardcoded black */
}

@media (max-width: 768px) {
  .casino-result-desc-item>div:last-child {
    font-size: 12px !important;
  }
}