/* ------------------------------------------------------------------
   Card deck · shared game engine
   Scoped to .card-deck-page so multiple deck-based drinking games
   (Waterfall, Kings, …) can all use it inside the Jekyll site chrome.
------------------------------------------------------------------ */

.card-deck-page {
  --deck-bg: #324E5B;
  --deck-text: #f1f7ee;
  --deck-accent: #ff2959;
  --deck-accent-hover: #e32751;
  font-family: 'Crete Round', serif;
}

/* Deck area: fills the viewport below the site header, no page scroll while playing. */
.card-deck {
  position: relative;
  width: 100%;
  height: calc(100vh - 64px);
  min-height: 520px;
  overflow: hidden;
  touch-action: manipulation;
  background: var(--deck-bg);
}

.card-deck #non-clickable-bg {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 9999;
  background-color: rgba(60, 60, 60, .85);
}

.card-deck #title {
  z-index: 10000;
  color: var(--deck-text);
  position: absolute;
  top: 50%; left: 50%;
  transform: translateX(-50%) translateY(-240%);
  font-weight: 400;
  font-size: 58px;
  margin: 0;
  font-family: 'Crete Round', serif;
}

.card-deck .button {
  width: 200px;
  height: 60px;
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background-color: var(--deck-accent);
  color: var(--deck-text);
  font-family: "Crete Round", serif;
  font-size: 24px;
  border-radius: 7px;
  border: 10px solid transparent;
  cursor: pointer;
  transition: all 0.2s;
}
.card-deck #start-button { z-index: 10000; }
.card-deck #rules-button { z-index: 10000; transform: translate(-50%, 100%); }
.card-deck #restart { display: none; }

.card-deck .button:hover {
  background-color: var(--deck-accent-hover);
  color: #ccc;
}

.card-deck .card {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;

  -webkit-transform: translate3d(0, 0, 0);
  -webkit-perspective: 1000;
  max-width: 500px;
  width: 82%;
  height: auto;

  position: absolute;
  left: 50%; top: 50%;
  transform: translateX(-50%) translateY(-50%);
  transform-origin: 0px 0px;

  box-shadow: 2px 2px 5px rgba(60, 60, 60, .65);
  border-radius: 30px;
  transition: transform .5s ease;

  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.card-deck .back { transform: rotateY(180deg) rotateZ(11deg); }

/* Rules section below the deck */
.card-deck-rules {
  padding: 48px 0 32px;
  background: var(--deck-bg);
  color: var(--deck-text);
}
.card-deck-rules h2 {
  font-family: 'Crete Round', serif;
  font-weight: 400;
  font-size: 36px;
  text-align: center;
  color: var(--deck-text);
  margin: 0 0 32px;
}

.card-deck-rules-grid {
  display: grid;
  gap: 28px 24px;
  grid-template-columns: repeat(3, 1fr);
}
.card-deck-rules-grid .card-rule {
  display: flex;
  gap: 16px;
  color: var(--deck-text);
}
.card-deck-rules-grid .card-rule img {
  width: 96px;
  flex-shrink: 0;
  align-self: flex-start;
}
.card-deck-rules-grid .card-rule h3 {
  margin: 0 0 8px;
  padding: 0;
  font-family: 'Crete Round', serif;
  font-weight: 400;
  font-size: 22px;
  color: var(--deck-text);
}
.card-deck-rules-grid .card-rule p {
  margin: 0;
  padding: 0;
  color: var(--deck-text);
  font-family: 'Crete Round', serif;
  opacity: 0.92;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .card-deck-rules-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .card-deck-rules-grid { grid-template-columns: 1fr; }
  .card-deck-rules-grid .card-rule { margin-bottom: 10px; }
}
