:root{
  --ink:#161616;
  --paper:#fff8e7;
  --red:#e84118;
  --blue:#0984e3;
  --yellow:#fdcb6e;
  --green:#00b894;
  --purple:#6c5ce7;
  --line:#161616;
  --muted:#555;
  --max:1120px;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--paper);
  color:var(--ink);
}

a{text-decoration:none;color:inherit}

.container{
  width:min(var(--max),92vw);
  margin:0 auto;
}

.site-header{
  background:#161616;
  color:white;
  border-bottom:6px solid var(--yellow);
}

.nav{
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.logo{
  font-weight:900;
  font-size:1.6rem;
  color:var(--yellow);
}

nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

nav a{
  padding:10px 12px;
  font-weight:800;
}

nav a:hover,
nav a.active{
  background:var(--yellow);
  color:#111;
}

h1,h2,h3{line-height:1.05}
p{color:var(--muted);line-height:1.65}

.btn{
  display:inline-flex;
  padding:13px 18px;
  border:3px solid var(--line);
  background:white;
  box-shadow:5px 5px 0 var(--line);
  font-weight:900;
}

.btn.primary{background:var(--yellow)}

.site-footer{
  margin-top:50px;
  padding:28px 0;
  background:#161616;
  color:white;
  border-top:6px solid var(--red);
}

.footer-grid{
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}

.footer-grid p,
.footer-grid a{color:#ddd}

.footer-grid a{
  display:block;
  margin:6px 0;
  font-weight:700;
}

@media(max-width:760px){
  .nav{
    flex-direction:column;
    align-items:flex-start;
    padding:16px 0;
  }
}

.nav-room-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#2ed573;
  color:#111 !important;
  border:2px solid var(--line);
  border-radius:999px;
  box-shadow:3px 3px 0 var(--line);
  padding:7px 10px;
  font-weight:900;
  text-decoration:none;
}

.nav-room-link[hidden]{
  display:none !important;
}

.nav-room-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:#2ed573;
  color:#111 !important;
  border:2px solid var(--line);
  border-radius:999px;
  box-shadow:3px 3px 0 var(--line);
  padding:7px 10px;
  font-weight:900;
  text-decoration:none;
}

.nav-room-link[hidden]{
  display:none !important;
}

.floating-room-join{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#2ed573;
  color:#111 !important;
  border:3px solid var(--line);
  border-radius:999px;
  box-shadow:5px 5px 0 var(--line);
  padding:12px 16px;
  font-weight:900;
  text-decoration:none;
}

.floating-room-join span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  background:#ff4757;
  color:#fff;
  border:2px solid var(--line);
  border-radius:999px;
  font-size:.8rem;
}

.floating-room-join[hidden]{
  display:none !important;
}

@media(max-width:760px){
  .floating-room-join{
    left:14px;
    right:14px;
    bottom:78px;
    justify-content:center;
    border-radius:16px;
  }
}

/* Marque ChillGame */
.brand-logo {
  display: inline-flex;
  align-items: center;
  height: 58px;
  min-width: 180px;
  text-decoration: none;
}

.brand-logo img {
  display: block;
  height: 54px;
  width: auto;
  max-width: 230px;
  object-fit: contain;
  filter: drop-shadow(3px 3px 0 #111827);
}

.brand-logo:hover img {
  transform: translate(1px, 1px);
  filter: drop-shadow(2px 2px 0 #111827);
}

@media (max-width: 760px) {
  .brand-logo {
    height: 48px;
    min-width: 140px;
  }

  .brand-logo img {
    height: 44px;
    max-width: 180px;
  }
}


/* Ajustement taille logo ChillGame */
.brand-logo {
  height: 72px;
  min-width: 240px;
}

.brand-logo img {
  height: 68px;
  max-width: 310px;
}

@media (max-width: 760px) {
  .brand-logo {
    height: 58px;
    min-width: 190px;
  }

  .brand-logo img {
    height: 54px;
    max-width: 240px;
  }
}
