/* ==========================================================================
   PDIKM — Tombol seragam (pola e-ticket)
   Load AFTER CSS halaman agar override btn-adventure / btn-scan / scan-btn
   ========================================================================== */

.btn-eticket,
.btn-adventure,
.btn-scan,
.scan-btn,
button.btn-eticket,
button.btn-adventure,
button.btn-scan,
a.btn-adventure,
a.btn-scan {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 15px 16px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  font-family: var(--pdikm-font-display);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  color: #fff;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.btn-eticket:active,
.btn-adventure:active,
.btn-scan:active,
.scan-btn:active {
  transform: scale(0.97);
}

/* Gold — primary / submit */
.btn-eticket--gold,
.btn-adventure--gold,
.btn-adventure.finish,
.btn-eticket.finish,
.scan-btn-primary {
  background: linear-gradient(180deg, #ffd54f 0%, #ffca28 100%);
  color: #3e2723;
  border-color: rgba(201, 160, 32, 0.45);
  box-shadow: 0 8px 0 #c9a020;
}

.btn-eticket--gold:active,
.btn-adventure--gold:active,
.btn-adventure.finish:active,
.btn-eticket.finish:active,
.scan-btn-primary:active {
  box-shadow: 0 4px 0 #c9a020;
}

/* Blue */
.btn-eticket--blue,
.btn-scan--blue {
  background: linear-gradient(180deg, #42a5f5 0%, #1976d2 100%);
  color: #fff;
  border-color: rgba(13, 71, 161, 0.45);
  box-shadow: 0 8px 0 #0d47a1;
}

.btn-eticket--blue:active,
.btn-scan--blue:active {
  box-shadow: 0 4px 0 #0d47a1;
}

/* Red — default action */
.btn-eticket--red,
.btn-adventure:not(.btn-adventure--gold):not(.btn-adventure--sm):not(.finish),
.btn-eticket:not(.btn-eticket--gold):not(.btn-eticket--blue):not(.btn-eticket--ghost):not(.btn-eticket--sm):not(.finish),
.btn-scan:not(.btn-scan--back):not(.btn-scan--blue) {
  background: linear-gradient(180deg, #ff5252 0%, #ff3b3b 100%);
  color: #fff;
  border-color: rgba(179, 38, 38, 0.45);
  box-shadow: 0 8px 0 #b32626;
}

.btn-eticket--red:active,
.btn-adventure:not(.btn-adventure--gold):not(.btn-adventure--sm):not(.finish):active,
.btn-eticket:not(.btn-eticket--gold):not(.btn-eticket--blue):not(.btn-eticket--ghost):not(.btn-eticket--sm):not(.finish):active,
.btn-scan:not(.btn-scan--back):not(.btn-scan--blue):active {
  box-shadow: 0 4px 0 #b32626;
}

/* Ghost / secondary */
.btn-eticket--ghost,
.btn-scan--back,
.scan-btn-secondary {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.88);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 8px 0 rgba(0, 0, 0, 0.35);
}

.btn-eticket--ghost:active,
.btn-scan--back:active,
.scan-btn-secondary:active {
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.35);
}

/* Small (form about) */
.btn-adventure--sm,
.btn-eticket--sm {
  padding: 12px 14px;
  font-size: 0.82rem;
  min-height: 44px;
}

/* Scan bar — dua tombol sejajar */
.scan-footer {
  padding: 16px 16px 20px;
  align-items: stretch;
  gap: 10px;
}

.scan-controls {
  gap: 10px;
}

.scan-footer .scan-btn,
.scan-controls .scan-btn {
  flex: 1;
  width: auto;
  min-width: 0;
  font-size: 0.82rem;
  padding: 13px 10px;
}

/* Footer / action area — sama lebar & padding seperti kartu e-ticket */
.game-footer,
.action-area,
.finish-actions,
.referral-actions,
.eticket-actions {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin-top: 8px;
  padding: 0 16px 32px;
}

.game-footer {
  padding-bottom: 40px;
}

.mobile-game-wrapper .game-footer,
.mobile-game-wrapper .action-area,
.mobile-game-wrapper .finish-actions {
  width: 100%;
  max-width: 100%;
}

.eticket-package-body .btn-eticket,
.eticket-form-card .btn-eticket,
.eticket-form-card button.btn-eticket {
  width: 100%;
}

.eticket-actions {
  padding-left: 16px;
  padding-right: 16px;
  margin-top: 8px;
}

.eticket-back {
  display: inline-block;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  font-size: 0.85rem;
  font-weight: 600;
}

.eticket-back-wrap {
  text-align: center;
}

.auth-card .btn-adventure,
.auth-card button.btn-adventure {
  margin-top: 8px;
}

.about-footer .btn-eticket,
.about-footer .btn-adventure {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 380px) {
  .btn-eticket,
  .btn-adventure,
  .btn-scan,
  .scan-btn {
    font-size: 0.88rem;
    padding: 13px 12px;
  }
}
