/* 이벤트 공통 */
.event_contents {
  overflow: hidden;
  padding-bottom: 32px;
  margin: 0 auto;
  width: 100%;
  max-width: 800px;
}
.event_contents img {
  display: block;
  margin: 0 auto;
}
.blind {
  overflow: hidden !important;
  position: absolute !important;
  clip: rect(0, 0, 0, 0) !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
}
.section .section_title {
  margin: 0 auto;
}
:root {
  --baseWidth: 360;
}

/* 이벤트 내용 */
.key_visual {
  overflow: hidden;
  position: relative;
  min-height: 700px;
  background: url('https://cdnimg.apti.co.kr/apti/event/APTI000562/KV_bg_summer.jpg') no-repeat center bottom 0 / auto
    100%;
}
.key_visual video {
  display: block;
  width: 100%;
}
.key_visual .top_title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 60px 0 0;
  text-align: center;
  z-index: 1;
}
.key_visual .top_title .collabo {
  margin: 0 auto 16px;
}
.key_visual .top_title .collabo .inner {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0 12px;
  border-radius: 99px;
  border: 1px solid #bae9ff;
}
.key_visual .top_title .collabo .text {
  line-height: 30px;
  font-size: 1.4rem;
  font-weight: var(--font-weight-regular);
  color: var(--gray50);
}
.key_visual .top_title .collabo .bullet {
  width: 14px;
  height: 14px;
  background: url('../../images/common/ico_close_gray50_14.svg') no-repeat center / contain;
}
.key_visual .top_title .title {
  display: block;
  line-height: 1.333;
  font-size: 3rem;
  font-weight: var(--font-weight-bold);
  color: var(--gray50);
}
.key_visual .top_title .title02 {
  overflow: hidden;
  margin: 6px auto 0;
  width: 257px;
}
.key_visual .top_title .title02 svg {
  display: block;
}
.key_visual .btn_bottom_fix {
  background-image: none;
  background-color: transparent;
}
.key_visual .btn_bottom_fix.ver_wh {
  position: absolute;
  bottom: 24px;
}
.key_visual .btn_bottom_fix.ver_wh .btn_primary {
  color: var(--gray50);
  background-color: var(--black700);
}
.key_visual .btn_bottom_fix.active {
  animation: button-slide-up 0.4s forwards linear;
}
@keyframes button-slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.benefit_section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 40px;
  padding: 0 28px;
}
.benefit_section .badge_title {
  opacity: 0;
  transform: translateY(100px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 18px;
}
.benefit_section .badge_title .badge {
  padding: 6px 10px;
  line-height: 1;
  font-size: 14px;
  font-weight: var(--font-weight-semibold);
  color: var(--gray50);
  text-align: center;
  border-radius: 99px;
  background-color: #000;
}
.benefit_section .badge_title .title_area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  text-align: center;
}
.benefit_section .badge_title .title_area .title {
  color: var(--black800);
  word-break: keep-all;
}
.benefit_section .badge_title .title_area .title em {
  color: var(--blue800);
}
.benefit_section .badge_title .title_area .text {
  color: var(--black600);
}
.benefit_section .badge_title .title_area .text em {
  color: var(--blue800);
}
.benefit_section .card_wrap {
  opacity: 0;
  transform: translateY(100px);
  overflow: hidden;
  border-radius: 20px;
  background-color: var(--blue100);
}
.card_design_section {
  padding: 63px 0 85px;
  background-color: #000;
}
.card_design_section .title_area {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  text-align: center;
}
.card_design_section .title_area .title {
  color: var(--gray50);
}
.card_design_section .title_area .title em {
  color: #426eff;
}
.card_design_section .title_area .text {
  color: var(--gray600);
}

.card_design_section .card_type_area {
  margin: 40px auto 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 275px;
}
.card_design_section .card_type_area .card_img {
  position: relative;
  display: none;
  transform-style: preserve-3d;
}
.card_design_section .card_type_area .symbol_card {
  width: 159px;
  height: 252px;
}
.card_design_section .card_type_area .typo_card {
  width: 252px;
  height: 159px;
}
.card_design_section .card_type_area .card_img img {
  position: absolute;
  top: 0;
  display: block;
  width: 100%;
}
.card_design_section .card_type_area .card_img .front {
  backface-visibility: hidden;
}
.card_design_section .card_type_area .card_img .back {
  display: block;
  transform: rotateY(-180deg);
}
.card_design_section .card_type_area .card_img.active {
  display: block;
}
.card_design_section .card_type_area .card_img.active {
  animation: card-effect-ani 0.8s linear forwards;
}
.card_design_section .card_type_area .card_img.shake {
  animation: card-shake-ani 2s linear infinite forwards;
}
.card_design_section .card_type_area .card_img.active.shake .back {
  display: none;
}
@keyframes card-effect-ani {
  0% {
    transform: perspective(500px) rotateY(0);
  }
  50% {
    transform: perspective(500px) rotateY(180deg);
  }
  100% {
    transform: perspective(500px) rotateY(360deg);
  }
}
@keyframes card-shake-ani {
  0% {
    transform: perspective(500px) rotateY(10deg);
  }
  50% {
    transform: perspective(500px) rotateY(-10deg);
  }
  100% {
    transform: perspective(500px) rotateY(10deg);
  }
}

.card_design_section .button_area {
  margin: 25px auto 0;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.card_design_section .button_area .btn_card_type {
  position: relative;
  width: 52px;
  height: 52px;
  text-indent: -9999px;
  border: 3px solid #000;
  border-radius: 50%;
}
.card_design_section .button_area .btn_card_type::before {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  border: 2px solid transparent;
  content: '';
  transition: all 0.4s ease;
}
.card_design_section .button_area .btn_card_type.active::before {
  border-color: var(--gray50);
}
.card_design_section .button_area .btn_card_type.symbol {
  background: url('https://cdnimg.apti.co.kr/apti/event/APTI000562/card_chip_symbol.png') no-repeat center / contain;
}
.card_design_section .button_area .btn_card_type.typo {
  background-color: #003af8;
}

/* 카드 혜택 추가 바텀시트 - 202504: 모달사용X, 페이지에 영역 합쳐짐 */
.benefit_summary {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 40px 20px;
}
.benefit_summary .benefit {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 16px;
  border-radius: 16px;
  background-color: var(--gray200);
}
.benefit_summary .benefit.column {
  flex-direction: column;
  gap: 20px;
  align-items: stretch;
}
.benefit_summary .benefit .benefit_inner {
  display: flex;
  align-items: center;
  gap: 16px;
}
.benefit_summary .benefit .img_area {
  flex: 0 0 auto;
  width: 60px;
  height: 48px;
}
.benefit_summary .benefit .img_area img,
.benefit_summary .benefit .img_area svg {
  display: block;
  height: 100%;
}
.benefit_summary .benefit .text_area {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.benefit_summary .benefit .text_area .title_area {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.benefit_summary .benefit .text_area .title_area span {
  color: var(--black500);
}
.benefit_summary .benefit .text_area .title_area .badge {
  width: 61px;
  height: 24px;
}
.benefit_summary .benefit .text_area .title {
  color: var(--black800);
}
.benefit_summary .benefit .text_area .title em {
  color: var(--blue800);
}
.benefit_summary .benefit .text_area .text {
  color: var(--black800);
}
.benefit_summary .benefit .text_area .subtext {
  color: var(--black500);
}
.benefit_summary .benefit table {
  table-layout: fixed;
  border-spacing: 0;
  width: 100%;
}
.benefit_summary .benefit table tr th,
.benefit_summary .benefit table tr td {
  padding: 10px 0;
  line-height: 1.35;
  font-size: var(--font-size-text-md);
  text-align: center;
  border-right: 1px solid var(--gray600);
  border-bottom: 1px solid var(--gray600);
}
.benefit_summary .benefit table tr th:last-child,
.benefit_summary .benefit table tr td:last-child {
  border-right: 0;
}
.benefit_summary .benefit table thead tr th {
  font-weight: var(--font-weight-semibold);
  color: var(--black800);
  background-color: var(--gray400);
}
.benefit_summary .benefit table tbody tr td {
  font-weight: var(--font-weight-regular);
  color: var(--black800);
}
.benefit_summary .benefit table tbody tr:first-child td {
  font-weight: var(--font-weight-semibold);
}
.benefit_summary .notice_wrap {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.benefit_summary .notice {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.benefit_summary .list {
  display: flex;
  flex-direction: column;
  gap: var(--unit-2);
}
.benefit_summary .list .text {
  position: relative;
  padding: 0 0 0 12px;
  line-height: 1.45;
  font-size: var(--font-size-text-md);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
}
.benefit_summary .list .text::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 4px;
  line-height: 1.45;
  font-size: var(--font-size-text-sm);
  font-weight: var(--font-weight-medium);
  color: var(--black600);
  content: '·';
}
.benefit_summary .sub_notice {
  color: var(--black600);
}
.benefit_summary .sub_notice::before {
  margin-right: 8px;
  line-height: 1.45;
  font-size: var(--font-size-text-lg);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
  content: '※';
}
.event_detail_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 40px 20px 50px;
  background: var(--blue100);
}
.event_detail_wrap .title_wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.event_detail_wrap .title_wrap .badge {
  margin: 0 0 4px;
  padding: 4px 8px;
  line-height: 1.35;
  font-size: 13px;
  font-weight: var(--font-weight-semibold);
  color: var(--gray50);
  border-radius: 99px;
  background-color: var(--blue800);
}
.event_detail_wrap .title_wrap .event_title {
  display: block;
  color: var(--black800);
}
.event_detail_wrap .title_wrap .text {
  color: var(--black800);
}
.event_detail_wrap .text_wrap {
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
  border-radius: 12px;
  background-color: var(--gray50);
}
.event_detail_wrap .text_wrap .text_area {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.event_detail_wrap .text_wrap .text_area.sub_text {
  gap: 2px;
}
.event_detail_wrap .text_wrap .title,
.event_detail_wrap .text_wrap .text {
  color: var(--black800);
}
.event_detail_wrap table {
  table-layout: fixed;
  border-spacing: 0;
  width: 100%;
}
.event_detail_wrap table tr th,
.event_detail_wrap table tr td {
  padding: 10px 0;
  line-height: 1.35;
  font-size: var(--font-size-text-xs);
  text-align: center;
  border-right: 1px solid var(--gray600);
  border-bottom: 1px solid var(--gray600);
}
.event_detail_wrap table tr th:last-child,
.event_detail_wrap table tr td:last-child {
  border-right: 0;
}
.event_detail_wrap table thead tr th {
  font-weight: var(--font-weight-semibold);
  color: var(--black800);
  background-color: var(--gray100);
  border-top: 1px solid var(--gray600);
}
.event_detail_wrap table tbody tr td {
  font-weight: var(--font-weight-regular);
  color: var(--black800);
}
.event_detail_wrap table tbody tr td.c_blue {
  color: var(--blue800);
  font-weight: var(--font-weight-semibold);
}
.dropdown_disclaimer {
  padding: 32px 24px 16px;
}
.dropdown_disclaimer .title_area .title {
  font-size: var(--font-size-text-lg);
}
.dropdown_disclaimer .title_area .btn_dropdown {
  width: 12px;
  height: 12px;
  background: url('../../images/common/arrow_up_black800_12.svg') no-repeat center / contain;
}
.dropdown_disclaimer .contents_area {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.dropdown_disclaimer .contents_area .section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.dropdown_disclaimer .contents_area .sub_title {
  display: block;
  color: var(--black600);
}
.dropdown_disclaimer .contents_area .list {
  gap: 6px;
}
.dropdown_disclaimer .contents_area .list .text {
  font-size: var(--font-size-text-md);
}
.dropdown_disclaimer .contents_area .list .underline {
  text-decoration: underline;
}
.dropdown_disclaimer .contents_area .list .sub_text {
  position: relative;
  padding: 0 0 0 22px;
  line-height: 1.45;
  font-size: var(--font-size-text-md);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
}
.dropdown_disclaimer .contents_area .list .sub_text::before {
  position: absolute;
  top: 0;
  left: 12px;
  line-height: 1.45;
  font-size: var(--font-size-text-md);
  font-weight: var(--font-weight-regular);
  color: var(--black600);
  content: '-';
}
.dropdown_disclaimer .contents_area .list .sub_text.asterisk::before {
  content: '*';
}
.dropdown_disclaimer .contents_area .list .text em,
.dropdown_disclaimer .contents_area .list .sub_text em {
  font-weight: var(--font-weight-semibold);
}
.dropdown_disclaimer .contents_area .list .text.none_dot::before {
  content: '';
}
.dropdown_disclaimer .contents_area .noti_text {
  margin: 6px 0 0;
  padding: 6px 0 0;
  color: var(--black600);
}
.dropdown_disclaimer .contents_area .noti_text02 {
  display: block;
  color: var(--black300);
}

@media screen and (min-width: 600px) {
  .key_visual video,
  .key_visual .btn_bottom_fix {
    margin: 0 auto;
    max-width: 360px;
  }
  .key_visual .btn_bottom_fix {
    padding-left: 20px;
    padding-right: 20px;
  }

  .benefit_summary,
  .event_detail_wrap > * {
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    max-width: 350px;
  }

  .dropdown_disclaimer {
    max-width: 390px;
    margin: 0 auto;
  }
}
