/* ==========================================================
   GAMES PAGE
   FULL STANDALONE STYLESHEET
========================================================== */


/* ==========================================================
   COLORS
========================================================== */

:root {

  --black:
    #080808;

  --black-soft:
    #110f0e;

  --panel:
    #171311;

  --panel-light:
    #241b17;

  --burgundy:
    #421017;

  --burgundy-light:
    #661925;

  --gold:
    #c79a47;

  --gold-light:
    #efd186;

  --cream:
    #efe5d2;

  --muted:
    #aa9c88;

  --border:
    rgba(199, 154, 71, 0.4);

}


/* ==========================================================
   RESET
========================================================== */

* {

  box-sizing:
    border-box;

  margin:
    0;

  padding:
    0;

}


html {

  scroll-behavior:
    smooth;

}


body {

  min-height:
    100vh;

  margin:
    0;

  color:
    var(--cream);

  font-family:
    "Montserrat",
    Arial,
    sans-serif;

  background-image:

    linear-gradient(
      rgba(5, 4, 4, 0.72),
      rgba(5, 4, 4, 0.91)
    ),

    url("images/games-background.jpg");

  background-size:
    cover;

  background-position:
    center;

  background-repeat:
    no-repeat;

  background-attachment:
    fixed;

}


/* ==========================================================
   FILM GRAIN
========================================================== */

body::before {

  content:
    "";

  position:
    fixed;

  inset:
    0;

  z-index:
    9999;

  pointer-events:
    none;

  opacity:
    0.05;

  background-image:

    url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.7'/%3E%3C/svg%3E");

}


/* ==========================================================
   SITE WRAPPER
========================================================== */

.site-wrapper {

  width:
    min(1050px, 92%);

  margin:
    35px auto 60px;

  box-shadow:
    0 30px 80px
    rgba(0, 0, 0, 0.72);

}


/* ==========================================================
   HEADER
========================================================== */

.cinema-header {

  position:
    relative;

  padding:
    42px 30px 36px;

  text-align:
    center;

  overflow:
    hidden;

  color:
    var(--gold-light);

  background:

    radial-gradient(
      circle at center,
      rgba(105, 28, 38, 0.68),
      rgba(24, 9, 11, 0.98) 68%
    );

  border:
    1px solid
    var(--gold);

  border-bottom:
    none;

}


/* inner border */

.cinema-header::before {

  content:
    "";

  position:
    absolute;

  inset:
    9px;

  border:
    1px solid
    rgba(199, 154, 71, 0.42);

  pointer-events:
    none;

}


/* marquee dots */

.cinema-header::after {

  content:
    "•  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •  •";

  position:
    absolute;

  left:
    20px;

  right:
    20px;

  bottom:
    7px;

  overflow:
    hidden;

  white-space:
    nowrap;

  color:
    var(--gold-light);

  font-size:
    11px;

  letter-spacing:
    11px;

  opacity:
    0.72;

}


.header-small {

  margin-bottom:
    6px;

  color:
    var(--gold);

  font-size:
    0.62rem;

  font-weight:
    600;

  letter-spacing:
    5px;

  text-transform:
    uppercase;

}


.cinema-header h1 {

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    clamp(3.3rem, 7vw, 5.6rem);

  font-weight:
    600;

  line-height:
    0.95;

  letter-spacing:
    1px;

  text-shadow:
    0 3px 10px
    rgba(0,0,0,0.8);

}


.header-subtitle {

  margin-top:
    10px;

  color:
    var(--muted);

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    1.1rem;

  font-style:
    italic;

  letter-spacing:
    3px;

}


/* ==========================================================
   NAVIGATION
========================================================== */

.main-nav {

  display:
    grid;

  grid-template-columns:
    repeat(5, 1fr);

  background:
    linear-gradient(
      #251d18,
      #15110f
    );

  border-left:
    1px solid
    var(--gold);

  border-right:
    1px solid
    var(--gold);

  border-bottom:
    1px solid
    var(--gold);

}


.main-nav a {

  position:
    relative;

  display:
    block;

  padding:
    16px 5px;

  color:
    var(--cream);

  text-align:
    center;

  text-decoration:
    none;

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    1.2rem;

  font-weight:
    700;

  letter-spacing:
    1px;

  border-right:
    1px solid
    rgba(199, 154, 71, 0.18);

  transition:
    color 0.2s ease,
    background 0.2s ease;

}


.main-nav a:last-child {

  border-right:
    none;

}


.main-nav a::after {

  content:
    "";

  position:
    absolute;

  bottom:
    7px;

  left:
    50%;

  width:
    0;

  height:
    1px;

  background:
    var(--gold);

  transform:
    translateX(-50%);

  transition:
    width 0.25s ease;

}


.main-nav a:hover {

  color:
    var(--gold-light);

  background:
    rgba(94, 24, 32, 0.28);

}


.main-nav a:hover::after {

  width:
    45%;

}


/* ==========================================================
   MAIN PAGE
========================================================== */

.games-page {

  padding:
    48px 45px 72px;

  background:
    rgba(11, 10, 9, 0.96);

  border-left:
    1px solid
    var(--gold);

  border-right:
    1px solid
    var(--gold);

}


/* ==========================================================
   INTRO
========================================================== */

.games-intro {

  max-width:
    760px;

  margin:
    0 auto 45px;

  text-align:
    center;

}


.games-intro-small {

  margin-bottom:
    7px;

  color:
    var(--gold);

  font-size:
    0.6rem;

  font-weight:
    600;

  letter-spacing:
    4px;

  text-transform:
    uppercase;

}


.games-intro h2 {

  color:
    var(--cream);

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    clamp(2.5rem, 5vw, 4rem);

  font-weight:
    600;

}


.games-intro p {

  color:
    var(--muted);

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    1.2rem;

  line-height:
    1.6;

}


.games-divider {

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    12px;

  width:
    min(420px, 80%);

  margin:
    20px auto;

}


.games-divider::before,
.games-divider::after {

  content:
    "";

  flex:
    1;

  height:
    1px;

  background:
    linear-gradient(
      to right,
      transparent,
      var(--gold)
    );

}


.games-divider::after {

  background:
    linear-gradient(
      to left,
      transparent,
      var(--gold)
    );

}


.games-divider span {

  color:
    var(--gold);

}


/* ==========================================================
   GAME GRID
========================================================== */

.games-grid {

  display:
    grid;

  grid-template-columns:
    repeat(2, 1fr);

  gap:
    22px;

  margin-bottom:
    55px;

}


/* ==========================================================
   GAME CARD
========================================================== */

.game-card {

  display:
    grid;

  grid-template-columns:
    150px 1fr;

  min-height:
    230px;

  overflow:
    hidden;

  color:
    var(--cream);

  text-decoration:
    none;

  background:
    linear-gradient(
      145deg,
      #1d1714,
      #0e0c0b
    );

  border:
    1px solid
    rgba(199, 154, 71, 0.35);

  box-shadow:
    0 15px 35px
    rgba(0, 0, 0, 0.4);

  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;

}


.game-card:hover {

  transform:
    translateY(-5px);

  border-color:
    var(--gold);

  box-shadow:
    0 20px 45px
    rgba(0, 0, 0, 0.55);

}


/* ==========================================================
   GAME POSTER
========================================================== */

.game-poster {

  position:
    relative;

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    230px;

  overflow:
    hidden;

  background:

    radial-gradient(
      circle at center,
      rgba(110, 27, 37, 0.65),
      rgba(31, 10, 13, 0.95)
    );

  border-right:
    1px solid
    rgba(199, 154, 71, 0.28);

}


.game-poster::before {

  content:
    "";

  position:
    absolute;

  inset:
    8px;

  border:
    1px solid
    rgba(199, 154, 71, 0.24);

}


.game-number {

  position:
    absolute;

  top:
    10px;

  right:
    12px;

  color:
    rgba(239, 209, 134, 0.14);

  font-family:
    "Cormorant Garamond",
    serif;

  font-size:
    4.5rem;

  font-weight:
    700;

}


.game-icon {

  position:
    relative;

  z-index:
    2;

  font-size:
    3.2rem;

}


.game-status {

  position:
    absolute;

  left:
    50%;

  bottom:
    18px;

  z-index:
    2;

  transform:
    translateX(-50%);

  white-space:
    nowrap;

  color:
    var(--gold-light);

  font-size:
    0.48rem;

  font-weight:
    600;

  letter-spacing:
    2px;

  text-transform:
    uppercase;

}


/* ==========================================================
   GAME INFO
========================================================== */

.game-info {

  position:
    relative;

  padding:
    30px 28px;

}


.game-category {

  color:
    var(--gold);

  font-size:
    0.5rem;

  font-weight:
    600;

  letter-spacing:
    3px;

  text-transform:
    uppercase;

}


.game-info h3 {

  margin:
    6px 0 10px;

  color:
    var(--gold-light);

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    2.2rem;

  font-weight:
    600;

}


.game-info p {

  color:
    var(--muted);

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    1.05rem;

  line-height:
    1.45;

}


.play-link {

  position:
    absolute;

  left:
    28px;

  bottom:
    22px;

  display:
    flex;

  align-items:
    center;

  gap:
    8px;

  color:
    var(--gold);

  font-size:
    0.55rem;

  font-weight:
    600;

  letter-spacing:
    2px;

  text-transform:
    uppercase;

}


.play-link span {

  transition:
    transform 0.25s ease;

}


.game-card:hover
.play-link span {

  transform:
    translateX(5px);

}


/* ==========================================================
   COMING SOON
========================================================== */

.coming-soon {

  opacity:
    0.7;

}


.coming-soon:hover {

  opacity:
    0.95;

}


/* ==========================================================
   SECTION HEADING
========================================================== */

.section-heading {

  display:
    flex;

  align-items:
    center;

  gap:
    18px;

  margin-bottom:
    24px;

}


.section-heading h2 {

  flex-shrink:
    0;

  color:
    var(--cream);

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    clamp(2rem, 4vw, 2.7rem);

  font-weight:
    600;

}


.heading-line {

  height:
    1px;

  flex:
    1;

  background:
    linear-gradient(
      to right,
      transparent,
      var(--gold),
      transparent
    );

}


/* ==========================================================
   DEVELOPMENT BOARD
========================================================== */

.development-board {

  border:
    1px solid
    rgba(199, 154, 71, 0.3);

  background:
    rgba(25, 20, 17, 0.85);

}


.development-item {

  display:
    grid;

  grid-template-columns:
    100px 1fr 100px;

  align-items:
    center;

  border-bottom:
    1px solid
    rgba(199, 154, 71, 0.17);

}


.development-item:last-child {

  border-bottom:
    none;

}


.development-label {

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  align-self:
    stretch;

  color:
    var(--gold);

  background:
    rgba(64, 16, 23, 0.25);

  border-right:
    1px solid
    rgba(199, 154, 71, 0.17);

  font-size:
    0.5rem;

  font-weight:
    600;

  letter-spacing:
    2px;

  text-transform:
    uppercase;

}


.development-content {

  padding:
    17px 20px;

}


.development-content h3 {

  color:
    var(--cream);

  font-family:
    "Cormorant Garamond",
    serif;

  font-size:
    1.3rem;

}


.development-content p {

  margin-top:
    3px;

  color:
    var(--muted);

  font-family:
    "Cormorant Garamond",
    serif;

  font-size:
    0.98rem;

}


.development-progress {

  padding:
    10px;

  color:
    var(--gold-light);

  text-align:
    center;

  font-size:
    0.5rem;

  letter-spacing:
    1.5px;

  text-transform:
    uppercase;

}


/* ==========================================================
   RETURN LINK
========================================================== */

.return-link {

  margin-top:
    40px;

  text-align:
    center;

}


.return-link a {

  color:
    var(--gold);

  font-size:
    0.6rem;

  font-weight:
    600;

  letter-spacing:
    2px;

  text-decoration:
    none;

  text-transform:
    uppercase;

}


.return-link a:hover {

  color:
    var(--gold-light);

}


/* ==========================================================
   FOOTER
========================================================== */

.site-footer {

  padding:
    22px;

  text-align:
    center;

  background:
    #0d0b0a;

  border:
    1px solid
    var(--gold);

  border-top:
    1px solid
    rgba(199, 154, 71, 0.4);

}


.footer-decoration {

  display:
    flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    10px;

  margin-bottom:
    8px;

  color:
    var(--gold);

}


.footer-decoration span {

  width:
    70px;

  height:
    1px;

  background:
    linear-gradient(
      to right,
      transparent,
      var(--gold)
    );

}


.footer-decoration span:last-child {

  background:
    linear-gradient(
      to left,
      transparent,
      var(--gold)
    );

}


.site-footer p {

  color:
    var(--muted);

  font-family:
    "Cormorant Garamond",
    Georgia,
    serif;

  font-size:
    0.9rem;

  letter-spacing:
    1px;

}


.footer-dot {

  margin:
    0 8px;

  color:
    var(--gold);

  font-size:
    0.5rem;

}


/* ==========================================================
   SCROLLBAR
========================================================== */

::-webkit-scrollbar {

  width:
    8px;

}


::-webkit-scrollbar-track {

  background:
    #0c0a09;

}


::-webkit-scrollbar-thumb {

  background:
    #6d512b;

  border:
    2px solid
    #0c0a09;

}


::-webkit-scrollbar-thumb:hover {

  background:
    var(--gold);

}


/* ==========================================================
   ACCESSIBILITY
========================================================== */

a:focus-visible {

  outline:
    2px solid
    var(--gold-light);

  outline-offset:
    4px;

}


/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 800px) {

  body {

    background-attachment:
      scroll;

  }


  .site-wrapper {

    width:
      95%;

    margin-top:
      20px;

  }


  .cinema-header h1 {

    font-size:
      3rem;

  }


  .main-nav {

    grid-template-columns:
      repeat(5, 1fr);

  }


  .main-nav a {

    padding:
      13px 2px;

    font-size:
      0.9rem;

  }


  .games-page {

    padding:
      35px 20px 55px;

  }


  .games-grid {

    grid-template-columns:
      1fr;

  }

}


@media (max-width: 550px) {

  .game-card {

    grid-template-columns:
      110px 1fr;

    min-height:
      220px;

  }


  .game-poster {

    min-height:
      220px;

  }


  .game-icon {

    font-size:
      2.5rem;

  }


  .game-info {

    padding:
      25px 18px;

  }


  .game-info h3 {

    font-size:
      1.7rem;

  }


  .play-link {

    left:
      18px;

    bottom:
      18px;

  }


  .development-item {

    grid-template-columns:
      70px 1fr;

  }


  .development-progress {

    display:
      none;

  }

}