/* 주렁주렁 키오스크 공용 스타일 */
* { -webkit-tap-highlight-color: transparent; }
html, body { height: 100%; overscroll-behavior: none; }

.kiosk-screen {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* 큰 버튼 그리드 (메인화면) */
.main-menu-btn {
  transition: transform .15s ease, box-shadow .15s ease;
  touch-action: manipulation;
}
.main-menu-btn:active {
  transform: scale(0.96);
}

/* 서브메뉴 좌측 고정 네비게이션 아이템 (흰 필 카드 + 활성 시 오렌지 테두리) */
.side-nav-item {
  transition: box-shadow .15s ease, border-color .15s ease;
  border: 2px solid transparent;
}
.side-nav-item.active {
  border-color: #FF7A50;
  box-shadow: 0 4px 12px rgba(255, 122, 80, 0.25);
}

/* 카드 공통 */
.zoolung-card {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 6px 18px rgba(31, 77, 54, 0.12);
}

/* 스크롤바 숨김 (키오스크 터치 UX) */
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* 관리자 인라인 편집 하이라이트 */
[data-editable]:hover {
  outline: 2px dashed #FF7A50;
  outline-offset: 2px;
  cursor: pointer;
}
[data-editable-img]:hover {
  outline: 3px dashed #FF7A50;
  outline-offset: 2px;
  cursor: pointer;
}

/* NEXT 프로그램 강조 애니메이션 */
@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255, 122, 80, 0.5); }
  50% { box-shadow: 0 0 0 16px rgba(255, 122, 80, 0); }
}
.next-program-pulse {
  animation: pulse-glow 2s infinite;
}

/* 지도 핀 */
.map-pin {
  transform: translate(-50%, -100%);
}
