:root {
  font-size: 100px;
  font-family: "Pretendard JP",'Poppins', serif;
  color: #FFFFFF;
}
html {
  transition: font-size 0.3s ease-in-out;
}
body {
  background-color: #192227;
}
a, a:link, a:visited {
  color: #FFFFFF;
}
.text-block {
  white-space: normal;
  word-break: keep-all;
}
.breakpoint {
  display: inline-block; /* 줄바꿈 허용 포인트로 작동 */
}
.apply-period__end {
  white-space: nowrap;   /* 이 span 내부에서는 줄바꿈 금지 */
  display: inline-block; /* inline 상태에서 폭 계산을 안정화 */
}

/* Modal */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
  overflow: hidden;
}
.modal {
  display: flex;
  flex-direction: column;
  background-color: #0E0E0E;
  border-radius: 16px;
  padding: 24px 20px;
  max-width: 574px;
  width: 100%;
  height: 600px;
  overflow: hidden;
  margin: 20px 16px;
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.modal-header > .left {
  width: 18px;
  height: 18px;
}
.modal-header > .center {
  font-size: 0.16rem;
  font-weight: 600;
  line-height: 1.4em;
}
.modal-scroll {
  overflow-y: auto;
  overflow-x: auto;
  margin-top: 32px;
}
.modal-scroll > .region-list-container:not(:first-child) {
  margin-top: 32px;
}
.modal-scroll > .region-list-container > .region {
  font-size: 0.24rem;
  font-weight: 700;
  line-height: 1.4em;
}
.modal-scroll > .region-list-container > .cinema-list {
  margin-top: 16px;
}
.modal-scroll > .region-list-container > .cinema-list .cinema-name {
  font-size: 0.16rem;
  font-weight: 600;
  line-height: 1.4em;
}
.modal-scroll > .region-list-container > .cinema-list .cinema-phone-number,
.modal-scroll > .region-list-container > .cinema-list .cinema-url {
  font-size: 0.14rem;
  font-weight: 500;
  line-height: 1.4em;
  opacity: 0.4;
}
.line-divider {
  border: none;
  height: 1px;
  background-color: #FFFFFF;
  opacity: 0.1;
  margin: 10px 0;
}
.modal-open-btn {
  margin-left: 4px;
  background-color: #192227;
  color: #FFFFFF;
  font-size: 0.20rem;
  font-weight: 600;
  line-height: 1.4em;
  padding: 4px 8px;
  
  display: inline-flex;
  align-items: center;
  gap: 4px;
}


#content {
  padding-top: 0px;
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#content #left {
  position: fixed;
  top: 0;
  left: 0;
  width: 40%;
  height: 100%;
  margin: 0;
  padding: 0;
  background-image: url(/img/bg_edit_2.png);
  background-size: cover;
  background-position-x: center;
  background-position-y: center;
}

#content #right {
  position: relative;
  top: 0;
  left: 40%;
  width: 60%;
  margin: 0;
  background-image: url('/img/bg00_03.png');
  background-color: #192227;
}

#content #right .right-wrapper {
  padding: 50px 0.85rem 100px 0.85rem;
}

#content #right .right-wrapper .section {
  padding: 0;
  margin: 0 0 80px 0;
}

.section > .title {
  font-size: 0.24rem;
  font-weight: 600;
  line-height: 1.4em;
  border: 1px solid #FFFFFF;
  border-radius: 46px;
  padding: 8px 28px;
  width: fit-content;
  margin-bottom: 18px;
}
.section > .items > .item {
  margin-bottom: 40px;
}
.section > .items > .item .item-title {
  font-size: 0.24rem;
  font-weight: 600;
  line-height: 1.3em;
  padding-bottom: 8px;
}
.section > .items > .item .item-notice {
  font-size: 0.16rem;
  font-weight: 400;
  line-height: 1.4em;
}
.section > .items > .item .item-notice .items .item {
  padding-bottom: 4px;
}
.section > .items > .item .item-desc {
  font-size: 0.18rem;
  font-weight: 400;
  line-height: 1.4em;
}
.section > .items > .item .item-desc .items .item {
  padding-bottom: 6px;
}
.section > .items > .item .item-desc .item-label{
  font-weight: 500;
}
.section > .items > .item > .item-more-desc {
   margin-top: 10px;
}
.section > .items > .item > .item-more-desc .item-more-desc-title {
  font-size: 0.16rem;
  font-weight: 600;
  line-height: 1.4em;
  padding-bottom: 4px;
}
.section > .items > .item > .item-more-desc > .items {
   font-size: 0.15rem;
   font-weight: 300;
   line-height: 1.4em;
}
.section > .items > .item > .item-more-desc > .items > .item {
   display: flex;
   gap: 6px;
   padding-bottom: 4px;
}

.section .section-notice {
  font-size: 0.18rem;
  font-weight: 400;
  line-height: 1.6em;
}

#title {
  text-align: center;
}
#title .tour-logo {
  padding: 10px;
}
#title .tour-logo .tour-logo-img {
  width: 36%;
}
#title .tour-title {
  font-family: "Poppins", serif;
  font-size: 0.28rem;
  font-weight: 500;
  line-height: 1.4em;
  color: #FFFFFF;
}
#title .event-title {
  font-family: "Poppins", serif;
  font-size: 0.84rem;
  font-weight: 600;
  line-height: 1.4em;
  color: #FFD369;
  padding-bottom: 10px;
}
#title .event-date {
  font-size: 0.20rem;
  font-weight: 600;
  line-height: 1.4em;
  color: #2D363B;
  background-color: #FFD369;
  border-radius: 128px;
  padding: 8px 28px;
  width: fit-content;
  margin: 0 auto;
}
#title .event-sub-title {
  font-size: 0.56rem;
  font-weight: 100;
  line-height: 1.4em;
  opacity: 0.8;
  padding-top: 45px;
}

#ticket-schedule .detail-release {
  font-size: 0.24rem;
  font-weight: 600;
  line-height: 1.6em;
  background-color: #192227;
  padding: 20px;
  text-align: center;
}

#contact-info .items .item .item-desc {
  opacity: 0.8;
}
#contact-info .section-notice {
  opacity: 0.8;
}
#contact-info .section-notice > .items > .item {
  display: flex;
  gap: 6px;
}

/* Caution */
.caution-container {
  border: 1px solid #FFFFFF;
  padding: 20px 22px;
}
.caution-container > .title {
  font-size: 0.18rem;
  font-weight: 700;
  line-height: 1.6em;
}
.caution-container > .items {
  font-size: 0.15rem;
  font-weight: 300;
  line-height: 1.4em;
  margin-top: 10px;
  opacity: 0.8;
}
.caution-container > .items > .item {
  display: flex;
  gap: 6px;
  padding-bottom: 6px;
}
.caution-more-desc {
  color: #FFD369;
  font-size: 0.15rem;
  font-weight: 300;
  line-height: 1.6em;
  margin-top: 24px;
}
.caution-more-desc > .title {
  padding-bottom: 6px;
}
.caution-more-desc > .items {
  line-height: 1.4em;
}
.caution-more-desc > .items > .item {
  display: flex;
  gap: 6px;
  padding-bottom: 6px;
}

.section-notice > .items {
  line-height: 1.4em;
}
.section-notice > .items > .item {
  padding-bottom: 6px;
}


#footer {
  background-color: #192227;
  color: white;
  font-size: 0.12rem;
  text-align: center;
  padding-top: 40px;
  padding-bottom: 80px;
  position: relative;
  bottom: 0;
  z-index: 10;
  width: 100%;
}

@media (min-width: 1921px) {
  :root {
    font-size: 100px;
  }
}

@media (max-width: 1501px) {
  /* :root {
    font-size: 90px;
  } */
  #content #right .right-wrapper {
    padding: 50px 0.65rem 100px 0.65rem;
  }
}

@media (max-width: 1201px) {
  /* :root {
    font-size: 80px;
  } */
  #title .event-title {
    font-size: 0.64rem;
  }
  #title .event-sub-title {
    font-size: 0.42rem;
  }
  #content #right .right-wrapper {
    padding: 50px 0.45rem 100px 0.45rem;
  }
}

@media (max-width: 981px) {
  #content #left {
    position: relative;
    width: 100%;
    height: auto;
    padding: 125% 0 0 0;
  }
  #content #right {
    left: 0;
    width: 100%;
  }
  #content #right .right-wrapper {
    padding: 45px 15px 20px 15px;
  }
}

@media (max-width: 768px) {
  :root {
    font-size: 95px;
  }
  #title .event-title {
    font-size: 0.64rem;
  }
  #title .event-sub-title {
    font-size: 0.52rem;
  }
  .modal-scroll > .region-list-container > .cinema-list .cinema-url {
    font-size: 11.2px;
  }
  #ticket-schedule .items .item .item-desc .items .item.sale-period {
    font-size: 15px;
  }
}

@media (max-width: 520px) {
  .modal {
    height: 500px;
  }
  #title .tour-title {
    font-size: 0.24rem;
    font-weight: 400;
  }
  #title .event-title {
    font-size: 0.53rem;
  }
  #title .event-date {
    font-size: 0.19rem;
  }
  #title .event-sub-title {
    font-size: 0.35rem;
  }

}
