@import "light-mode.less";
@import "dark-mode.less";
@import "login.less";

/* Provide default (light) variables so the site works even if light-mode.less fails */
:root {
  --background-image: url('/assets/images/img.png');
  --color: #212529; /* Bootstrap body text default */

  /* Bootstrap variable overrides for light mode */
  --bs-body-color: var(--color) !important;
  --bs-link-color: #0d6efd !important;
  --bs-link-hover-color: #0a58ca !important;
  --bs-border-color: rgba(0, 0, 0, 0.125) !important;
  --bs-heading-color: var(--color) !important;
}
@background-color: var(--background-color);
@highlightcolor: var(--highlightscolor);
@background-image: var(--background-image);
@color: var(--color);
@keyframes slideIn {
  0% { transform: translateX(-100vw); }
  100% { transform: translateX(0); }
}

.game-field-background {
    background-image: @background-image;
    max-width: 1400px;
    margin: 0 auto;
    min-height: 100vh;
}
.lobby-background {
    background-color: @background-color;
    width: 100%;
    height: 100vh;
}

.navbar-header{
    text-align:center;
}

.navbar-toggle {
    float: none;
    margin-right:0;
}
.handcard :hover {
  box-shadow: 3px 3px 3px @highlightcolor;
}

.bottom-div {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 1400px;
  width: 100%;
  margin: 0;
  text-align: center;
  padding: 10px;
}

/* Ensure body text color follows theme variable and works with Bootstrap */
body {
    color: @color;
}

.footer {
    width: 100%;
    text-align: center;
    font-size: 12px;
    color: @color;
    padding: 0.5rem 0;
    flex-grow: 1; /* fill remaining vertical space as visual footer background */
}

.game-field {
    position: fixed;
    inset: 0;
    overflow: auto;
}

.navbar-drop-shadow {
    box-shadow: 0 1px 15px 0 #000000
}

#sessions {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    text-align: center;
    h1 {
        animation: slideIn 0.5s ease-out forwards;
        animation-fill-mode: backwards;
    }
}
#textanimation {
        animation: slideIn 0.5s ease-out forwards;
        animation-fill-mode: backwards;
        animation-delay: 1s;
}

#sessions a, #sessions h1, #sessions p {
    color: @color;
    font-size: 40px;
    font-family: Arial, serif;
}
#ingame {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}
#ingame a, #ingame h1, #ingame p {
    color: @color;
    font-size: 40px;
    font-family: Arial, serif;
}
#playercards {
    display: flex;
    flex-direction: row;
    justify-content: center;
    height: 20%;
    img {
        animation: slideIn 0.5s ease-out forwards;
        animation-fill-mode: backwards;
        &:nth-child(1) { animation-delay: 0.5s; }
        &:nth-child(2) { animation-delay: 1s; }
        &:nth-child(3) { animation-delay: 1.5s; }
        &:nth-child(4) { animation-delay: 2s; }
        &:nth-child(5) { animation-delay: 2.5s; }
        &:nth-child(6) { animation-delay: 3s; }
        &:nth-child(7) { animation-delay: 3.5s; }
    }
}
#card-slide {
    div {
        animation: slideIn 0.5s ease-out forwards;
        animation-fill-mode: backwards;
        &:nth-child(1) { animation-delay: 0.5s; }
        &:nth-child(2) { animation-delay: 1s; }
        &:nth-child(3) { animation-delay: 1.5s; }
        &:nth-child(4) { animation-delay: 2s; }
        &:nth-child(5) { animation-delay: 2.5s; }
        &:nth-child(6) { animation-delay: 3s; }
        &:nth-child(7) { animation-delay: 3.5s; }
    }


}

#cardsplayed {
    display: flex;
    flex-direction: row;
    height: 10%;
    min-height: 10%
}
#playedcardplayer {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
#playedcardplayer p {
    font-size: 12px;
    height: 4%;
}
#playedcardplayer img {
    height: 90%;
}

#firstCard {
    display: flex;
    flex-direction: row;
    height: 20%;
    width: 100%;
    justify-content: space-between;
}
#firstCardObject {
    display: flex;
    flex-direction: column;
    margin-right: 4%;
}
#firstCardObject img{
    height: 90%;
}
#firstCardObject p{
    height: 10%;
    font-size: 20px;

}
#nextPlayers {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 0;
    p {
        margin-top: 0;
        margin-bottom: 0;
    }
}
#invisible {
    visibility: hidden;
}
#selecttrumpsuit {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
}
#rules {
    color: @color;
    font-size: 1.5em;
    font-family: Arial, serif;
}
.score-table {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 20px;
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.score-header {
    font-weight: bold;
    color: #000000;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.score-row {
    color: #000000;
}

/* In-game centered stage and blurred sides overlay */
.ingame-stage {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

/* Wrapper that adds a backdrop blur to the background outside the centered card */
.blur-sides {
  position: relative;
}

/* Create an overlay that blurs everything behind it, except the central content area */
.blur-sides::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  /* fallback: subtle vignette if backdrop-filter unsupported */
  background: radial-gradient(ellipse at center, rgba(0,0,0,0) 30%, rgba(0,0,0,0.35) 100%);
}

@supports ((-webkit-backdrop-filter: blur(8px)) or (backdrop-filter: blur(8px))) {
  .blur-sides::before {
    background: rgba(0,0,0,0.08);
    -webkit-backdrop-filter: blur(10px) saturate(110%);
    backdrop-filter: blur(10px) saturate(110%);
  }
}
