/* 운영 app_v1_web 동일 — 참가·관전·입장·취소 버튼 (btn-ornate · btn-casino) */

/* btn-ornate — multi-room-join-btn.png 프레임 CSS 모사 */
.btn-ornate {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(180deg, #1a1410 0%, #0a0806 50%, #1a1410 100%) padding-box,
    linear-gradient(180deg, #f5dc8c 0%, #d4b16a 22%, #8a6f3f 55%, #c9a96e 78%, #f0d480 100%) border-box;
  border: 3px solid transparent;
  border-radius: 999px;
  color: #fff6d8;
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.95),
    0 2px 4px rgba(0, 0, 0, 0.85),
    0 0 10px rgba(255, 220, 130, 0.45);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    inset 0 -1px 0 rgba(0, 0, 0, 0.4),
    0 3px 10px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  transition: all 0.25s;
  line-height: 1.2;
}

.btn-ornate:hover:not(:disabled) {
  filter: brightness(1.12);
  transform: translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.16),
    inset 0 -1px 0 rgba(0, 0, 0, 0.4),
    0 5px 14px rgba(201, 169, 110, 0.25);
}

.btn-ornate:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.btn-ornate--cancel {
  color: #ffc8b8;
  text-shadow:
    0 1px 0 rgba(0, 0, 0, 0.95),
    0 2px 4px rgba(0, 0, 0, 0.85),
    0 0 10px rgba(255, 120, 100, 0.4);
}

.btn-ornate--cancel:hover:not(:disabled) {
  color: #ffe0d8;
}

/* btn-casino — golden ornate plate PNG (운영 /assets/img/casino-btn.png) */
.btn-casino {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: url(/assets/img/casino-btn.png) no-repeat center / 100% 100%;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: '궁서', 'GungSeo', 'HY궁서', 'Batang', '바탕', serif;
  color: #ffd76a;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.95),
    0 0 8px rgba(0, 0, 0, 0.7),
    0 -1px 0 rgba(255, 235, 180, 0.2);
  width: 100%;
  max-width: 240px;
  aspect-ratio: 600 / 403;
  font-size: 14px;
  transition: transform 0.15s ease, filter 0.15s ease;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.55));
  line-height: 1;
}

.btn-casino > span {
  transform: translateY(-2px);
}

.btn-casino:hover:not(:disabled) {
  transform: translateY(-1px) scale(1.03);
  filter:
    drop-shadow(0 8px 16px rgba(201, 169, 110, 0.45))
    drop-shadow(0 4px 10px rgba(0, 0, 0, 0.55));
  color: #ffe9a8;
}

.btn-casino:active:not(:disabled) {
  transform: translateY(0) scale(0.98);
}

.btn-casino:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  filter: grayscale(0.4) drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4));
}

.btn-casino-sm {
  max-width: 170px;
  font-size: 12px;
  letter-spacing: 0.04em;
}

.btn-casino-cancel > span {
  color: #ffb0a0;
}

/* 카드 하단 — 방별 액션 버튼 (운영 joinL / enterT / spectateT 동일 톤) */
.rsc-card-actions .btn-ornate {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  min-height: 46px;
  padding: 12px 14px;
  font-size: 14px;
  letter-spacing: 0.05em;
}

.rsc-card-actions .btn-ornate > span {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.rsc-card-actions .btn-ornate[hidden],
.rsc-card-actions .btn-casino[hidden] {
  display: none !important;
}

/* 멀티룸 JOIN — 운영 btn-ornate 풀폭 */
.panel--multi .btn-ornate#mjJoinBtn {
  width: 100%;
  min-height: 50px;
  padding: 14px 22px;
  font-size: 16px;
  letter-spacing: 0.08em;
}
