@charset "UTF-8";
@import url('https://cdn.jsdelivr.net/gh/fonts-archive/Paperlogy/subsets/Paperlogy-dynamic-subset.css');

html,
:root {
  --green-color: #009944;
  --main-color: #117ed0;
  --main-light: #22b2e9;
  --main-deep: #254e97;
  --mint-blue: #00c2d5;
  --blue: #1c61a6;
  --main-gra: linear-gradient(to right, #117ed0, #22b2e9);
  --main-gra-rev: linear-gradient(to left, #117ed0, #22b2e9);
  --type1: var(--oc-indigo-9);
  --type2: #00b3b3;
  --type3: #dd00bc;
  --type4: var(--orange);
  --type5: var(--green-color);
}

.gnb .menu li.logo img {
  height: 24px;
}
.cal-huge.ui-widget .ui-body table td {
  position: relative;
}
.list.vertical li .infos h2 {
  line-height: 1.4;
}
.list.vertical.prices.healing > li {
  position: relative;
  cursor: pointer;
}
.list.vertical.prices.healing > li .thumb {
  border-radius: 0.4em;
}
.list.vertical.prices.healing > li::before {
  content: '';
  position: absolute;
  width: calc(100% + 20px);
  height: calc(100% + 40px);
  top: -10px;
  left: -10px;
  background: var(--green-color);
  border-radius: 0.4em;
  display: block;
  opacity: 0;
  transition: 0.3s;
}
.list.vertical.prices.healing > li:hover::before {
  opacity: 0.07;
}
.map-picker.jpg .option.color-var {
  padding: 20px 0 0;
}
.map-picker .option.color-var {
  padding-bottom: 20px;
}
.list.vertical.prices.healing {
  --gap: 20px !important;
}
.list.vertical.prices.healing > li {
  --cell: 3 !important;
}
.list.vertical.prices.healing > li .thumb {
  border-radius: 0.4em;
}
/*.list.vertical.prices.healing > li::before {
  content: '';
  position: absolute;
  width: calc(100% + 20px);
  height: calc(100% + 40px);
  top: -10px;
  left: -10px;
  background: var(--green-color);
  border-radius: 0.4em;
  display: block;
  opacity: 0;
  transition: 0.3s;
} */
.list.vertical.prices.healing > li:hover::before {
  opacity: 0.07;
}
.visual .swiper-slide::before {
  opacity: 0.85;
}
.times li p:first-child::before {
  display: none;
}
.co-name::before {
  content: '여주시';
}
.section .overview .subscript {
  width: 80%;
}
.promotion.banner {
  background-color: #e1eaf8;
}
.list.vertical.prices li > h2 {
  margin-bottom: 20px;
  font-size: 1.6em;
}
.list.vertical.prices li .btns {
  margin-top: 0;
}
.list.vertical.prices li .btns a {
  flex-grow: 1;
  justify-content: center;
  font-size: 0.85em;
}
.list.vertical li .price {
  margin-top: 10px;
}
.list.vertical.prices li .price-multi + .info {
  margin-top: 20px;
}
.list + .ext {
  margin-top: 20px;
  margin-bottom: 40px;
  padding: 30px;
  /* border: 1px solid var(--gray-border); */
  border-radius: 6px;
  background-color: var(--gray-pale);
}
.list + .ext p {
  display: flex;
  gap: 5px;
}
.list + .ext p::before {
  content: '•';
  opacity: 0.5;
}
.list.vertical li .infos .time {
  font-size: 1em;
  margin-bottom: 0.3em;
}
.promotion.banner {
  background-size: auto 55%;
  background-position: right 5% center;
  transition: 0s;
}
.promotion.banner:hover {
  animation: none;
  background-size: auto 55%;
  transition: 0s;
}
.prices.list.horizon > li::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid var(--gray-dark);
  bottom: 0;
  opacity: 0.2;
  transform-origin: left bottom;
  transform: scaleY(0.5);
}
.prices.list.horizon > li:first-child::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  border-bottom: 1px solid var(--gray-dark);
  top: 0;
  opacity: 0.2;
}
.map-picker.jpg .option.color-var {
  position: relative;
}
.scroll-btn {
  display: none;
}
.pignose-calendar-unit-first-active:after,
.pignose-calendar-unit-second-active:after {
  content: '입실일';
}
.pignose-calendar-unit-second-active:after {
  content: '퇴실일';
}
.visual .swiper-slide .all-place > div {
  width: 25%;
}
.section div + .map-picker {
  margin-bottom: 0;
}
.subsect.guidance {
  gap: 0;
}
.subsect.guidance > div:first-child {
  width: calc(33% + 15px);
}
.section .overview {
  margin-top: 0;
}
.sub.full .detail .detail-contents .sect .map-picker .option.color-var {
  bottom: 0;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  bottom: 5px;
  border-radius: 4px;
  padding: 8px;
  max-width: calc(100% - 10px);
  justify-content: center;
  align-items: center;
  row-gap: 8px;
  margin: auto;
  width: fit-content;
  margin-top: -50px;
  margin-bottom: 10px;
}
.sub.full .detail .detail-contents .sect .map-picker .label {
  border-color: #fff;
}
.list.vertical:has(li:first-child:nth-last-child(5), li:first-child:nth-last-child(5) ~ li) li :where(.thumb) {
  --ratio: 4/3;
}
.list.vertical:has(li:first-child:nth-last-child(2), li:first-child:nth-last-child(2) ~ li) li :where(.thumb) {
  --ratio: 4/3;
}
.list.vertical.healing .thumb {
  --ratio: 16/9 !important;
}
ul.notification.card li:first-child {
  width: 33%;
  flex-grow: 1;
}
ul.notification.card li:nth-child(2) {
  width: 30%;
  flex-shrink: 1;
  flex-grow: 0;
}
ul.notification.card li:nth-child(3) {
  width: 30%;
  flex-shrink: 1;
  flex-grow: 0;
}
.pignose-calendar-unit-first-active:after,
.pignose-calendar-unit-second-active:after,
.calendar:not(.single) .pignose-calendar-unit-first-active a:after,
.calendar:not(.single) .pignose-calendar-unit-second-active a:after {
  display: none;
}
.sub .detail .detail-contents .item {
  padding: 10px;
}
.sub.full .detail .detail-contents .item .thumb {
  margin: 0;
}
.sub.full .detail .detail-contents .program.selected-item .item .thumb {
  aspect-ratio: initial;
  height: -webkit-fill-available;
  width: 300px;
}
.full .selected-item > li .thumb + .selected-info {
  margin: 10px;
}
.payment.sub .detail .detail-contents .sub-detail {
  padding-top: 0;
}
.sub.full .detail .detail-contents .item .thumb {
  aspect-ratio: 16/10;
  height: 180px;
  width: auto;
  align-self: center;
  margin-right: 0;
}
.sub.full .detail .detail-contents .program.selected-item .item .thumb {
  aspect-ratio: initial;
  height: -webkit-fill-available;
  width: 300px;
}
.selected-item > li h4:has(.material-symbols-sharp) {
  justify-content: flex-start;
  gap: 5px;
}
.full .selected-item > li .selected-info {
  flex-grow: 1;
}
.full .selected-item > li .selected-info p + p {
  margin-top: -4px;
}
.full .selected-item > li.add .delete {
  margin-right: 10px;
}
.full .selected-item > li .selected-info + .selected-option {
  flex-wrap: wrap;
}
.subinfo > li h6 {
  width: 48px;
  flex-shrink: 0;
}
.list.list.vertical.healing li .infos .info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.subinfo > li h6 {
  width: 48px;
  flex-shrink: 0;
}
.list.list.vertical.healing li .infos .info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.noti-img {
  display: flex;
  gap: 10px;
  margin: 10px 0;
}
.noti-img li {
  border-radius: 8px;
  overflow: hidden;
}
.modal-on .modal.program-detail .dimed {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.program-detail .cancel .material-symbols-sharp {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  color: #fff;
  font-size: 1.5em;
  z-index: 10;
  font-weight: 200;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}
.program-con {
  display: flex;
  max-width: 700px;
  flex-direction: column;
  position: relative;
  z-index: 2;
  background-color: #f4f7e2;
  border-radius: 1em;
  --c-color: #50711a;
  color: var(--c-color);
  overflow-y: auto;
  max-height: calc(100% - 20px);
  .notice {
    font-size: 0.85em;
    background-color: var(--white);
    margin: 0 10px 10px;
    border-radius: 0.5em;
    padding: 20px;
    color: var(--gray-mid);
    display: flex;
    flex-direction: column;
    gap: 3px;
  }
  * {
    font-family: 'Paperlogy', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  }
  .material-symbols-sharp {
    font-family: 'Material Symbols Sharp';
  }
  .thumb {
    width: 100%;

    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    .info {
      display: flex;
      flex-direction: column;
      text-align: center;
      gap: 5px;
      padding: 20px;
      background-color: rgba(0, 0, 0, 0.6);
      width: 100%;
      height: 100%;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      min-height: 240px;
      > .title {
        h2 {
          font-size: 2.3em;
          font-weight: 900;
          color: var(--c-color);
          filter: brightness(2);
        }
      }

      > p {
        margin: 0;
        opacity: 0.5;
        font-size: 1em;
      }
    }
  }
  .infos {
    .subinfo {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 20px;
      border-radius: 0 0 1em 1em;
      font-size: 0.9em;
      > li {
        display: flex;
        gap: 10px;

        h6 {
          background-color: var(--c-color);
          color: #fff;
          height: fit-content;
          padding: 5px 10px;
          border-radius: 5em;
          font-weight: bold;
          width: 70px;
          text-align: center;
          font-size: 0.9em;
        }
        .dest {
          padding-top: 4px;
        }
        p {
          margin: 0;
          font-size: 1em;
        }
      }
      .location-map {
        display: flex;
        img {
          max-width: 320px;
          flex-shrink: 1;
        }
        .text {
          max-width: 320px;
          display: flex;
          flex-direction: column;
          gap: 8px;
          h4 {
            font-size: 1em;
            .material-symbols-sharp {
              font-size: 1.4em;
              vertical-align: text-top;
              font-variation-settings: 'FILL' 1;
            }
          }
        }
      }
    }
  }
}

@media (max-width: 475px) {
  .gnb .menu li.logo img,
  .sub .gnb .menu li.logo img {
    height: 20px;
  }
  .section .overview .subscript {
    width: 100%;
  }
  .prices.list.horizon > li::after {
    transform: scaleY(0.33);
  }
  .sub.full .detail .detail-contents .sect .map-picker .option.color-var {
    padding: 10px;
    width: 100%;
    max-width: calc(100% - 10px);
    bottom: 5px;
    margin: 0;
    position: absolute;
    left: 5px;
  }
  .ui-sect .sect.sight {
    margin-bottom: 0;
  }
  .promotion.banner .ment h2 {
    font-size: 1.4em;
  }
  .promotion.banner .extra {
    display: none;
  }
  .promotion.banner {
    height: 120px;
    background-size: auto 45%;
  }
  .sect.promotion.banner {
    margin: 20px var(--padding);
  }
  .visual .swiper-slide {
    height: 150vw;
  }
  .visual .swiper-slide .all-place > div h2 {
    font-size: 1.7em;
  }
  .visual .swiper-slide .all-place > div {
    width: 100%;
    height: 25%;
  }
  .visual .swiper-slide .all-place .infos {
    padding: 20px;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.6));
  }
  .visual .swiper-slide .all-place .infos .btns {
    margin-top: 10px;
  }
  .visual .swiper-slide .all-place::before {
    height: calc(var(--top-h) + 40px);
  }
  .pause-play-state {
    justify-content: flex-end;
  }
  .list.vertical.prices > li .infos {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
  .list.vertical.prices > li .price-multi {
    width: auto;
    white-space: nowrap;
    text-align: right;
    flex-wrap: nowrap;
  }
  .list.vertical.prices > li .price-multi .price {
    margin-top: 0;
  }
  .times.times-multi {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .times.times-multi > li {
    width: calc(50% - 5px);
  }
  .sect.flex > div .overview.small:has(li:nth-child(4)) {
    justify-content: space-between;
    gap: 0;
  }
  .sect.flex > div .overview.small:has(li:nth-child(4)) li {
    flex-grow: 0;
  }
  .sect.flex > div .overview.small li {
    flex-grow: 1;
  }
  .section h2 br {
    display: none;
  }
  .sect:not(.notice-area) + .sect:not(.shop-info).promotion.banner {
    margin: 10px;
    width: initial;
    padding-left: 0;
    background-color: #e1eaf8;
    border: 0;
  }
  .sub.full .sect.sight .map-area1200 .map,
  .sect.sight .map-area1200 .map,
  .sect.sight .map-area1200 .map > img {
    width: 1024px;
    max-width: 1024px;
    border-radius: 0;
  }
  .list.vertical:has(li:first-child:nth-last-child(5), li:first-child:nth-last-child(5) ~ li) li :where(.thumb) {
    --ratio: 16/9;
  }
  .list.vertical.prices.healing > li .price-multi .price {
    flex-direction: row;
    flex-wrap: nowrap;
    margin-top: 10px;
  }
  .list.vertical.prices.healing > li .price-multi .price dt,
  .list.vertical.prices.healing > li .price-multi .price dd {
    font-size: 1em;
  }

  body:has(.ui-sect) .sect.notifications {
    background-color: var(--gray-pale);
    padding: 0;
    margin: 0;
    padding-bottom: 10px;
  }
  ul.notification.card {
    flex-wrap: wrap;
    gap: 10px;
    row-gap: 10px;
    padding: 0 10px;
  }
  ul.notification.card li:first-child {
    width: 100%;
  }
  ul.notification.card li {
    width: 100%;
    flex-grow: 1;
    background-color: var(--white);
  }
  ul.notification.card li:nth-child(2),
  ul.notification.card li:nth-child(3) {
    width: calc(50% - 5px);
    flex-shrink: 1;
    flex-grow: 0;
  }
   .sub.full .detail .detail-contents .program.selected-item .item .thumb {
      aspect-ratio: 16/9;
      height: auto;
      width: calc(100% + 20px);
      border-radius: 0;
      margin: -10px;
      margin-bottom: 12px;
    }
    .full .selected-item.program > li.add .delete {
      background-color: rgba(0, 0, 0, 0.3);
      backdrop-filter: blur(10px);
      padding: 10px;
      border-radius: 6px;
      top: 0;
      right: 2px;
      margin: 2px;
      color: #fff;
    }
    .full .detail .detail-contents .selected-item.program .item {
      padding: 10px;
    }
    .full .selected-item > li.add .delete {
      top: 0;
      right: 0;
    }
    .sub.full .detail .detail-contents .item .thumb {
      width: 30%;
      height: auto;
    }
    .sect.noti {
      background-color: transparent;
    }
    .location-map {
        flex-direction: column;
      }
      .location-map img {
        max-width: 100%;
        width: 100%;
        height: auto;
      }
}

/* =========================
   GNB
   ========================= */
.gnb {
  .menu {
  	max-width: 1200px;
    margin: auto;
    display: flex;
    align-items: center;
    font-weight: bold;
    height: 80px;
    flex-wrap: nowrap;
    flex-direction: row;
    
    li.logo img {
      height: 24px;
      @media (max-width: 1000px) {
        height: 20px;
      }
    }
    .menus {
      .menu-n {
        margin: 0;
        width: 100%;
        justify-content: flex-end;
        gap: 20px;
        position: static;
        transform: none;
        font-size: 16px;

        @media (max-width: 1000px) {
          font-size: 13px;
          white-space: normal;
          gap: 12px;
        }
        @media (max-width: 1100px) {
          font-size: 15px;
        }

        li {
        position: relative;
          padding: 0;
          color: var(--menu-color);
          height: var(--top-h);
          display: flex;
          align-items: center;
          @media (max-width: 1000px) {
            white-space: normal;
            height: auto;
            font-size: 1.4em;
            padding: 5px 30px;
          }
          > a {
            @media (max-width: 1000px) {
              white-space: normal;
            }
            &.active {
	            &::after {
	              content: '';
	              position: absolute;
	              width: 100%;
	              bottom: 20%;
	              left: 0;
	              border-bottom: 3px solid var(--menu-color);
	              display: block;
	              transition: bottom 0.15s ease-in-out;
	              @media (max-width: 1000px) {
	                left: 0;
	                border-bottom: 0;
	                border-left: 3px solid var(--menu-color);
	                height: 100%;
	              }
	            }
	          }
	          
	          &.cat1 {
            	--menu-color: var(--type2);
	          }
	          &.cat2 {
	            --menu-color: var(--type1);
	          }
	          &.cat3 {
	            --menu-color: var(--gray-mid);
	          }
	          
          }
          a {
          	color: var(--menu-color);
          }
        }
      }
    }
  }
}

.scrolled {
  .gnb {
    .menu {
      .menus {
        .menu-n {
          li {
            &.active {
              &::after {
                bottom: 1px;
              }
            }
          }
        }
      }
    }
  }
}

/* Modal */
.modal-on .modal.program-detail .dimed {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

/* Nonclick DL (read-only) */
.calendar {
  & .district {
    .ctg {
      dl.nonclick {
        padding: 2px;
        .title {
          display: flex;
          flex-direction: column;
          @media (max-width: 812px) {
            flex-direction: row;
          }
        }
        dt {
          margin-bottom: 4px;
          @media (max-width: 812px) {
            width: fit-content;
          }
        }
      }
    }
  }
}

/* =========================
   PROGRAM DETAIL (modal)
   ========================= */
.program-detail {
  .cancel .material-symbols-sharp {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    color: #fff;
    font-size: 1.5em;
    z-index: 10;
    font-weight: 200;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}

.program-con {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
  color: var(--c-color);
  max-width: 700px;
  max-height: calc(100% - 20px);
  overflow-y: auto;
  background-color: #f4f7e2;
  border-radius: 1em;
  --c-color: #50711a;

  .notice {
    font-size: 0.85em;
    background-color: var(--white);
    margin: 0 10px 10px;
    border-radius: 0.5em;
    padding: 20px;
    color: var(--gray-mid);
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  * {
    font-family: 'Paperlogy', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  }
  .material-symbols-sharp {
    font-family: 'Material Symbols Sharp';
    vertical-align: text-bottom;
  }

  .thumb {
    width: 100%;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    .info {
      display: flex;
      flex-direction: column;
      text-align: center;
      gap: 5px;
      padding: 20px;
      background-color: rgba(0, 0, 0, 0.6);
      width: 100%;
      height: 100%;
      color: #fff;
      align-items: center;
      justify-content: center;
      min-height: 240px;
      > .title h2 {
        font-size: 2.3em;
        font-weight: 900;
        color: var(--c-color);
        filter: brightness(2);
      }
      > p {
        margin: 0;
        opacity: 0.5;
        font-size: 1em;
      }
    }
  }

  .infos {
    .subinfo {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 20px;
      border-radius: 0 0 1em 1em;
      font-size: 0.9em;
      > li {
        display: flex;
        gap: 10px;
        h6 {
          background-color: var(--c-color);
          color: #fff;
          height: fit-content;
          padding: 5px 10px;
          border-radius: 5em;
          font-weight: bold;
          width: 70px;
          text-align: center;
          font-size: 0.9em;
        }
        .dest {
          padding-top: 4px;
          &.date {
            position: relative;
            padding-bottom: 20px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            .more {
              max-height: 5em;
              overflow: hidden;
              mask: linear-gradient(to bottom, black 0%, black calc(100% - 20px), transparent 100%);
              transition: max-height 0.15s ease-in-out, overflow 0s 0.15s;
              p {
                display: flex;
                align-items: center;
                gap: 6px;
                flex-wrap: wrap;
                line-height: 2;
              }
            }
            .more a.btn-detail {
              display: inline-flex;
              align-items: center;
              gap: 3px;
              background-color: #e8590c;
              color: #fff;
              padding: 4px 12px 4px 8px;
              border-radius: 5px;
              font-size: 0.88em;
              font-weight: bold;
              text-decoration: none !important;
              white-space: nowrap;
              transition: background-color 0.2s;
              letter-spacing: 0.3px;
              .material-symbols-sharp {
                font-size: 1.25em;
                font-variation-settings: 'FILL' 1;
              }
            }
            .more a.btn-detail:hover {
              background-color: #d9480f;
            }
            .more a.btn-detail.active {
              background-color: #d9480f;
              outline: 3px solid #d9480f;
              outline-offset: 2px;
            }
            input[type='checkbox'] + label:before {
              display: none;
            }
            input[type='checkbox'] + label {
              text-decoration: underline;
              position: absolute;
              bottom: 0;
            }
            &:has(input[type='checkbox']:checked) {
              .more {
                max-height: 100%;
                overflow: visible;
                mask: none;
                transition: max-height 0.15s ease-in-out, overflow 0s 0s;
              }
            }
          }
        }
        p {
          margin: 0;
          font-size: 1em;
        }
      }
      .location-map {
        display: flex;
        img {
          max-width: 320px;
          flex-shrink: 1;
        }
        .text {
          max-width: 320px;
          display: flex;
          flex-direction: column;
          gap: 8px;
          h4 {
            font-size: 1em;
            .material-symbols-sharp {
              font-size: 1.4em;
              vertical-align: text-top;
              font-variation-settings: 'FILL' 1;
            }
          }
        }
      }
    }
  }
}

.program-detail-wrap {
  display: flex;
  flex-direction: row;
  gap: 12px;
  z-index: 2;
  position: relative;
  max-height: calc(100% - 20px);
  align-items: stretch;
}
.program-detail-wrap .program-con {
  z-index: auto;
  flex-shrink: 0;
}

.pamphlet-panel {
  width: 380px;
  flex-shrink: 0;
  background-color: #fff;
  border-radius: 1em;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
  font-family: 'Paperlogy', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}
.pamphlet-panel .pamphlet-panel-top {
  padding: 20px 20px 16px;
  border-bottom: 1px solid #eee;
  position: relative;
  flex-shrink: 0;
}
.pamphlet-panel .pamphlet-panel-top .close-pamphlet {
  position: absolute;
  top: 14px;
  right: 14px;
  color: var(--gray-mid);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  transition: background-color 0.2s;
}
.pamphlet-panel .pamphlet-panel-top .close-pamphlet:hover {
  background-color: #f1f1f1;
  color: var(--gray-dark);
}
.pamphlet-panel .pamphlet-panel-title h5 {
  font-size: 1.1em;
  font-weight: 800;
  color: #333;
  margin: 0 0 6px;
  padding-right: 30px;
  line-height: 1.3;
}
.pamphlet-panel .pamphlet-panel-title p {
  font-size: 0.88em;
  color: #e8590c;
  font-weight: bold;
  margin: 0;
}
.pamphlet-panel .pamphlet-panel-body {
  flex-grow: 1;
  overflow-y: auto;
  padding: 16px;
  text-align: center;
  background-color: #fafafa;
}
.pamphlet-panel .pamphlet-panel-body img {
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

@media (max-width: 900px) {
  .program-detail-wrap {
    flex-direction: column;
    align-items: center;
    overflow-y: auto;
  }
  .program-detail-wrap .program-con {
    flex-shrink: 1;
    max-height: none;
    overflow-y: visible;
  }
  .pamphlet-panel {
    width: 100%;
    max-width: 700px;
    max-height: 60vh;
  }
}

@media (max-width: 414px) {
    .gnb .menu li {
        font-size: 1.08em !important;
    }
}
