/* Külső wrapper, hogy biztosan ne húzza maga alá a környező elemeket */
.ap-nyerogep-wrapper{
  clear: both;
  width: 100%;
}

.ap-nyerogep-clear{
  clear: both;
  height: 0;
  line-height: 0;
  font-size: 0;
}

/* Alap konténer */
.ap-nyerogep{
  max-width: 1100px;
  margin: 2rem auto;
  padding: 1.5rem 2.6rem;
  border-radius: 12px;
  border: 1px solid #2e2e2e;
  background: #111;
  color: #f5f5f5;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  position: relative;
  clear: both;
  overflow: hidden; /* fogja a belső floatokat, hogy ne csússzon rá a következő szekció */
}

.ap-nyerogep::after{
  content: "";
  display: block;
  clear: both;
}

/* Fejléc – hátralévő pörgetések */

.ap-nyerogep-header{
  display: flex;
  justify-content: flex-end;
  margin-bottom: .75rem;
  font-size: .85rem;
  color: #ccc;
}

.ap-nyerogep-remaining{
  padding: .25rem .8rem;
  border-radius: 999px;
  background: linear-gradient(135deg,#ffcc33,#ff9f1c);
  border: none;
  color: #222;
  font-weight: 600;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}

/* Űrlap rész */
.ap-nyerogep-form{
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin-bottom: 1rem;
}

.ap-nyerogep-form label{
  font-size: .9rem;
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.ap-nyerogep-code{
  padding: .55rem .7rem;
  border-radius: 6px;
  border: 1px solid #333;
  background: #181818;
  color: #f5f5f5;
  font-size: .95rem;
}

.ap-nyerogep-code:focus{
  outline: none;
  border-color: #e63946;
  box-shadow: 0 0 0 1px rgba(230,57,70,.8);
}


.ap-nyerogep-saved-codes{
  margin-top: .35rem;
  font-size: .8rem;
  color: #bbbbbb;
}

.ap-nyerogep-saved-label{
  margin-bottom: .15rem;
}

.ap-nyerogep-saved-list{
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
}

.ap-nyerogep-saved-code{
  border: 1px solid #444;
  background: #1b1b1b;
  color: #f5f5f5;
  border-radius: 999px;
  padding: .15rem .55rem;
  font-size: .8rem;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, transform .1s ease;
}

.ap-nyerogep-saved-code:hover{
  background: #e63946;
  border-color: #e63946;
  transform: translateY(-1px);
}

.ap-nyerogep-hint{
  font-size: .8rem;
  color: #aaa;
}

/* Tárcsák */
.ap-nyerogep-reels{
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin: 1rem 0 .75rem;
  padding: .75rem;
  border-radius: 10px;
  border: 1px solid #2e2e2e;
  background: radial-gradient(circle at top, #222 0, #101010 55%, #050505 100%);
  transform: scale(1);
  transform-origin: center;
  transition: transform .35s ease-out;
}

.ap-nyerogep-reels--zoom{
  transform: scale(1.5);
}

.ap-nyerogep-reel{
  width: 72px;
  height: 72px;
  border-radius: 10px;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #444;
  box-shadow: 0 6px 14px rgba(0,0,0,.7);
}

.ap-nyerogep-letter{
  font-size: 2.4rem;
  font-weight: 800;
}

/* Gomb + státusz */
.ap-nyerogep-controls{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  margin-top: .35rem;
}

.ap-nyerogep-spin{
  padding: .65rem 1.4rem;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: linear-gradient(135deg,#e63946,#ff6b6b);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,.4);
  transition: transform .12s ease-out, box-shadow .12s ease-out, opacity .12s ease-out;
}

.ap-nyerogep-spin:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,.6);
}

.ap-nyerogep-spin:active{
  transform: translateY(1px);
  box-shadow: 0 2px 8px rgba(0,0,0,.4);
}

.ap-nyerogep-spin:disabled{
  opacity: .6;
  cursor: not-allowed;
}

.ap-nyerogep-status{
  min-height: 1.4rem;
  font-size: .9rem;
  text-align: center;
  color: #ddd;
}

.ap-nyerogep-error{
  color: #ff6b6b;
}

/* AKCIÓ minta sor */
.ap-nyerogep-akcio{
  margin-top: .75rem;
  display: flex;
  justify-content: center;
  gap: .3rem;
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .2em;
  color: #777;
}

.ap-nyerogep-akcio span{
  padding: .1rem .25rem;
  border-radius: 4px;
  border: 1px solid #333;
}

/* Nyereménytábla */
.ap-nyerogep-prizes{
  margin-top: 1.25rem;
}

.ap-nyerogep-prizes-title{
  font-size: 1rem;
  margin: 0 0 .5rem;
}

.ap-nyerogep-prize-table{
  width: 100%;
  border-collapse: collapse;
  font-size: .85rem;
}

.ap-nyerogep-prize-table th,
.ap-nyerogep-prize-table td{
  padding: .4rem .5rem;
  border-bottom: 1px solid #2b2b2b;
}

.ap-nyerogep-prize-table thead th{
  text-align: left;
  font-weight: 600;
  background: #181818;
}

.ap-nyerogep-prize-combo{
  font-weight: 600;
  white-space: nowrap;
}

.ap-nyerogep-prize-row--highlight{
  animation: ap-nyerogep-prize-pulse 1.0s ease-in-out 0s infinite;
  background: rgba(230,57,70,.18);
}

@keyframes ap-nyerogep-prize-pulse{
  0%{
    background: rgba(230,57,70,.12);
  }
  50%{
    background: rgba(230,57,70,.45);
  }
  100%{
    background: rgba(230,57,70,.12);
  }
}


/* Konfetti animáció */
.ap-nyerogep-confetti-container{
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.ap-nyerogep-confetti-side{
  position: absolute;
  top: 0;
  bottom: 0;
  width: 38px;
  overflow: hidden;
}

.ap-nyerogep-confetti-left{
  left: 0;
}

.ap-nyerogep-confetti-right{
  right: 0;
}

.ap-nyerogep-confetti-piece{
  position: absolute;
  width: 8px;
  height: 14px;
  border-radius: 2px;
  animation: ap-nyerogep-confetti-fall 1.6s ease-out forwards;
  opacity: .9;
}

@keyframes ap-nyerogep-confetti-fall{
  0%{
    transform: translateY(0) rotateZ(0deg);
  }
  100%{
    transform: translateY(120%) rotateZ(360deg);
    opacity: 0;
  }
}

/* Mobil */
@media (max-width: 600px){
  .ap-nyerogep{
    padding: 1.1rem;
  }
  .ap-nyerogep-reels{
    gap: .35rem;
  }
  .ap-nyerogep-reel{
    width: 52px;
    height: 52px;
  }
  .ap-nyerogep-letter{
    font-size: 1.7rem;
  }
}


/* Fejléc – hangkikapcsoló gombbal együtt */
.ap-nyerogep-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
}

.ap-nyerogep-sound-toggle{
  border: none;
  background: transparent;
  color: #f5f5f5;
  cursor: pointer;
  font-size: 1.1rem;
  padding: .1rem .4rem;
  border-radius: 999px;
  transition: background .2s ease, transform .2s ease, opacity .2s ease;
}

.ap-nyerogep-sound-toggle:hover{
  background: rgba(255,255,255,.08);
  transform: scale(1.05);
}

.ap-nyerogep--muted .ap-nyerogep-sound-toggle{
  opacity: .6;
}

/* Fő elrendezés: bal/jobb nyereménytábla + középen a gép */
.ap-nyerogep-layout{
  display: grid;
  grid-template-columns: 0.8fr minmax(0, 420px) 0.8fr;
  gap: 1.5rem;
  margin-top: 1rem;
}

.ap-nyerogep-middle{
  display: flex;
  flex-direction: column;
}

/* Nyereménytábla – oszloponként 3 kártya */
.ap-nyerogep-prize-column{
  display: flex;
  flex-direction: column;
  gap: .75rem;
}

.ap-nyerogep-prize-card{
  border-radius: 10px;
  border: 1px solid #2b2b2b;
  background: #151515;
  padding: .5rem;
  font-size: .8rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 220px;
}

.ap-nyerogep-prize-card-top{
  display: flex;
  align-items: center;
  gap: .35rem;
  margin-bottom: .35rem;
  font-weight: 600;
}

.ap-nyerogep-prize-index{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  font-size: .75rem;
}

.ap-nyerogep-prize-card-image{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .35rem;
}

.ap-nyerogep-prize-card-image img{
  max-width: 100%;
  max-height: 120px;
  object-fit: contain;
}

.ap-nyerogep-prize-card-image-placeholder{
  font-size: .75rem;
  color: #777;
  border: 1px dashed #333;
  border-radius: 6px;
  padding: .4rem;
  text-align: center;
  width: 100%;
}

.ap-nyerogep-prize-card-bottom{
  font-size: .78rem;
  color: #ccc;
  text-align: center;
}

/* Nyerő kártya villogása */
.ap-nyerogep-prize-card.ap-nyerogep-prize-row--highlight{
  box-shadow: 0 0 0 2px rgba(230,57,70,.7);
}

/* Audio elemek elrejtése */
.ap-nyerogep-sounds{
  display: none;
}

/* Reszponzív: mobilon a nyeremények le-fel rendezve,
   a gép széltében tölti ki a rendelkezésre álló helyet */
@media (max-width: 900px){
  .ap-nyerogep-layout{
    grid-template-columns: 1fr;
  }

  .ap-nyerogep-prize-column{
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  .ap-nyerogep-prize-card{
    flex: 0 1 calc(50% - .5rem);
  }
}

@media (max-width: 600px){
  .ap-nyerogep-layout{
    gap: .75rem;
  }

  .ap-nyerogep-prize-card{
    flex: 0 1 100%;
  }
}


.ap-nyerogep-prize-card__link{
  display:block;
  width:100%;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.ap-nyerogep-prize-card__link:hover{
  text-decoration:none;
}
