#lfpm-root{
  position:relative;
  z-index:999999;
  font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.lfpm-popup{
  position:fixed;
  inset:0;
  z-index:999999;
  pointer-events:none;

  /* localStorage의 '오늘 하루 보지 않기' 확인 전에는 절대 노출하지 않음 */
  visibility:hidden;
  opacity:0;
}

.lfpm-popup.lfpm-ready{
  visibility:visible;
  opacity:1;
}

.lfpm-dim{
  position:absolute;
  inset:0;
  background:rgba(15,15,15,.42);
  pointer-events:auto;
}

.lfpm-panel{
  position:absolute;
  width:min(var(--lfpm-w),calc(100vw - 32px));
  pointer-events:auto;
  background:#fff;
  box-shadow:0 18px 60px rgba(0,0,0,.18);
  overflow:hidden;
  transform:translate(var(--lfpm-x),var(--lfpm-y));
}

.lfpm-rounded .lfpm-panel{
  border-radius:14px;
}

.lfpm-h-left .lfpm-panel{left:24px}
.lfpm-h-center .lfpm-panel{left:50%;transform:translate(calc(-50% + var(--lfpm-x)),var(--lfpm-y))}
.lfpm-h-right .lfpm-panel{right:24px}

.lfpm-v-top .lfpm-panel{top:24px}
.lfpm-v-middle .lfpm-panel{top:50%;transform:translate(var(--lfpm-x),calc(-50% + var(--lfpm-y)))}
.lfpm-h-center.lfpm-v-middle .lfpm-panel{transform:translate(calc(-50% + var(--lfpm-x)),calc(-50% + var(--lfpm-y)))}
.lfpm-v-bottom .lfpm-panel{bottom:24px}

.lfpm-track{
  position:relative;
  overflow:hidden;
  background:#fff;
}

.lfpm-slide{display:none}
.lfpm-slide.is-active{display:block}

.lfpm-slide picture,
.lfpm-slide img,
.lfpm-link{
  display:block;
  width:100%;
}

.lfpm-slide img{
  height:auto;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}

.lfpm-link{
  margin:0!important;
  padding:0!important;
  text-decoration:none!important;
}

/* Slider */
.lfpm-popup[data-mode="slider"] .lfpm-track{
  display:flex;
  overflow:visible;
  will-change:transform;
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  cursor:grab;
}

.lfpm-popup[data-mode="slider"] .lfpm-track.is-animating{
  transition:transform .48s cubic-bezier(.22,.61,.36,1);
}

.lfpm-popup[data-mode="slider"] .lfpm-track.is-dragging{
  transition:none;
  cursor:grabbing;
}

.lfpm-popup[data-mode="slider"] .lfpm-slide{
  display:block;
  flex:0 0 100%;
  min-width:100%;
}

.lfpm-popup[data-mode="slider"] img{
  -webkit-user-drag:none;
  pointer-events:none;
}

.lfpm-popup[data-mode="separate"] .lfpm-track{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.lfpm-popup[data-mode="separate"] .lfpm-slide{display:block}

/* 상단 X 버튼은 v1.3부터 사용하지 않음 */
#lfpm-root .lfpm-x{
  display:none!important;
}

/* Bullets */
.lfpm-dots{
  position:absolute;
  left:50%;
  bottom:54px;
  z-index:6;
  display:flex;
  align-items:center;
  gap:7px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.14);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  transform:translateX(-50%);
}

.lfpm-dots:empty{display:none}

#lfpm-root .lfpm-dots button{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block!important;
  width:6px!important;
  min-width:6px!important;
  height:6px!important;
  min-height:6px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  outline:0!important;
  background:rgba(255,255,255,.58)!important;
  box-shadow:none!important;
  cursor:pointer!important;
  transition:width .22s ease,background .22s ease!important;
}

#lfpm-root .lfpm-dots button.is-active{
  width:18px!important;
  background:#fff!important;
}

/* Bottom actions */
.lfpm-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:46px;
  padding:0 14px;
  border-top:1px solid rgba(0,0,0,.07);
  background:#fff;
  box-sizing:border-box;
}

/* 테마의 전역 button 스타일 완전 차단 */
#lfpm-root .lfpm-panel .lfpm-bottom > button,
#lfpm-root .lfpm-panel .lfpm-bottom > button:hover,
#lfpm-root .lfpm-panel .lfpm-bottom > button:focus,
#lfpm-root .lfpm-panel .lfpm-bottom > button:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:3px 0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  background-image:none!important;
  color:#555!important;
  box-shadow:none!important;
  text-shadow:none!important;
  font-family:"Pretendard",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:12px!important;
  font-weight:500!important;
  line-height:1.4!important;
  letter-spacing:-.02em!important;
  text-decoration:none!important;
  cursor:pointer!important;
  transform:none!important;
  opacity:1!important;
}

#lfpm-root .lfpm-panel .lfpm-bottom > .lfpm-bottom__today{
  color:#777!important;
}

#lfpm-root .lfpm-panel .lfpm-bottom > .lfpm-bottom__close{
  margin-left:auto!important;
  color:#111!important;
  font-weight:600!important;
}

#lfpm-root .lfpm-panel .lfpm-bottom > button:hover{
  color:#000!important;
}

@media(max-width:767px){
  .lfpm-panel{
    width:min(var(--lfpm-mw),calc(100vw - 24px));
  }
  .lfpm-h-left .lfpm-panel{left:12px}
  .lfpm-h-right .lfpm-panel{right:12px}
  .lfpm-v-top .lfpm-panel{top:12px}
  .lfpm-v-bottom .lfpm-panel{bottom:12px}

  .lfpm-bottom{
    min-height:44px;
    padding:0 12px;
  }

  #lfpm-root .lfpm-panel .lfpm-bottom > button,
  #lfpm-root .lfpm-panel .lfpm-bottom > button:hover,
  #lfpm-root .lfpm-panel .lfpm-bottom > button:focus,
  #lfpm-root .lfpm-panel .lfpm-bottom > button:active{
    font-size:11px!important;
  }

  .lfpm-dots{bottom:52px}
}

@media(prefers-reduced-motion:reduce){
  .lfpm-popup[data-mode="slider"] .lfpm-track.is-animating{transition-duration:.01ms}
  .lfpm-dots button{transition:none}
}
