@charset "utf-8";

/* 2026 메가위크 사전이벤트(pre) 페이지 CSS - PC. 기초는 common.css 참조 */
.container{padding-bottom: 0;}
/* 01. Key Visual :: S */
.megaweek__kv {
  height: calc(250 * var(--vw));
  overflow: hidden;
}
.megaweek__kv img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* 01. Key Visual :: E */

/* 02. 수신 동의 :: S */
.megaweek__agree { background: #F5F5F5; }
.agree__inner {
  margin: 0 auto;
  padding: calc(100 * var(--vw)) 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: calc(60 * var(--vw));
}
.agree__info { text-align: left; }
.agree__subtitle {
  display: block;
  font-family: "ProximaNova", sans-serif;
  font-size: calc(20 * var(--vw));
  font-weight: 700;
  color: #FA149E;
  line-height: calc(28 * var(--vw));
  margin-bottom: calc(10 * var(--vw));
}
.agree__subtitle .ko {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(18 * var(--vw));
  letter-spacing: -0.05em;
}
.agree__title {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(40 * var(--vw));
  font-weight: 900;
  color: #151415;
  line-height: calc(58 * var(--vw));
  letter-spacing: -0.05em;
  margin: 0;
}
.agree__title .en {
  font-family: "ProximaNova", sans-serif;
  font-weight: 800;
  font-size: calc(44 * var(--vw));
  letter-spacing: 0;
}
.agree__period {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(26 * var(--vw));
  font-weight: 900;
  color: #151415;
  line-height: calc(44 * var(--vw));
  letter-spacing: -0.05em;
  margin-top: calc(18 * var(--vw));
}
.agree__period .en {
  font-family: "ProximaNova", sans-serif;
  font-size: calc(30 * var(--vw));
  font-weight: 700;
  letter-spacing: 0;
}
.agree__desc {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(24 * var(--vw));
  font-weight: 400;
  color: #151415;
  margin-top: calc(18 * var(--vw));
  letter-spacing: -0.05em;
  line-height: calc(38 * var(--vw));
}
.agree__desc .en {
  font-family: "ProximaNova", sans-serif;
  font-size: calc(26 * var(--vw));
  font-weight: 700;
  letter-spacing: 0;
}
.agree__desc b { font-weight: 700; }

/* 쿠폰 + 버튼 영역 (우측) */
.agree__right {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(36 * var(--vw));
}

/* 쿠폰 (CSS 구현) */
.agree__coupon {
  position: relative;
  width: calc(560 * var(--vw));
  height: calc(230 * var(--vw));
  border-radius: calc(11 * var(--vw));
  overflow: hidden;
  background: linear-gradient(245.78deg, #3AFBCC 0%, #EEEEEE 95.3%);
}
.agree__coupon::before,
.agree__coupon::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: calc(26 * var(--vw));
  height: calc(26 * var(--vw));
  background: #F5F5F5;
  border-radius: 50%;
}
.agree__coupon::before { left: calc(-13 * var(--vw)); }
.agree__coupon::after { right: calc(-13 * var(--vw)); }
.coupon__logo {
  position: absolute;
  top: calc(25 * var(--vw));
  left: calc(31 * var(--vw));
  width: calc(145 * var(--vw));
}
.coupon__logo img { width: 100%; display: block; }
.coupon__percent {
  position: absolute;
  right: calc(28 * var(--vw));
  top: 50%;
  transform: translateY(-50%);
  font-family: "ProximaNova", sans-serif;
  font-weight: 700;
  color: #000;
  line-height: 1;
  font-size: calc(148 * var(--vw));
}
.coupon__percent .pct { font-size: calc(90 * var(--vw)); }
.coupon__with {
  position: absolute;
  left: calc(31 * var(--vw));
  bottom: calc(40 * var(--vw));
  font-family: "ITC Avant Garde Gothic Std", "ProximaNova", sans-serif;
  font-weight: 600;
  font-size: calc(17 * var(--vw));
  color: #000;
  letter-spacing: -0.01em;
}

/* 수신 동의 버튼 */
.agree__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(16 * var(--vw));
}
.agree__btnWrap {
  display: flex;
  flex-direction: row;
  gap: calc(10 * var(--vw));
}
.agree__btnWrap [class*='btnWrap__btn'] {
  width: calc(252 * var(--vw));
  height: calc(48 * var(--vw));
  border-radius: calc(5 * var(--vw));
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(6 * var(--vw));
  background: #151415;
  cursor: pointer;
  border: 0;
}
.agree__btnWrap [class*='btnWrap__btn'] > img {
  width: auto;
  height: calc(16 * var(--vw));
}
.agree__btnWrap [class*='btnWrap__btn'] > span {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(16 * var(--vw));
  color: #fff;
  letter-spacing: -0.05em;
  line-height: 1;
}
.agree__btnWrap [class*='btnWrap__btn'] > span .en {
  font-family: "ProximaNova", sans-serif;
  font-size: calc(17 * var(--vw));
  letter-spacing: normal;
}
.agree__btnWrap [class*='btnWrap__btn'] > span b { font-weight: 700; }
.agree__btnWrap [class*='btnWrap__btn']:hover { background: #2b2a2b; }
.agree__note {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(16 * var(--vw));
  font-weight: 400;
  color: #737273;
  line-height: calc(26 * var(--vw));
  letter-spacing: -0.05em;
  text-align: center;
}
/* 02. 수신 동의 :: E */

/* 03. 수신 동의 방법 :: S */
.megaweek__method { background: #fff; }
.method__inner {
  margin: 0 auto;
  padding: calc(100 * var(--vw)) 0 calc(60 * var(--vw));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(50 * var(--vw));
}
.method__head { text-align: center; }
.method__subtitle {
  display: block;
  font-family: "ProximaNova", sans-serif;
  font-size: calc(20 * var(--vw));
  line-height: calc(28 * var(--vw));
  font-weight: 700;
  color: #FA149E;
  margin-bottom: calc(10 * var(--vw));
}
.method__title {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(40 * var(--vw));
  font-weight: 900;
  color: #151415;
  line-height: 1.4;
  margin: 0;
  letter-spacing: -0.05em;
}
.method__cards { display: flex; gap: calc(20 * var(--vw)); }
.method__card {
  width: calc(600 * var(--vw));
  height: calc(600 * var(--vw));
  background: #F5F5F5;
  border-radius: calc(30 * var(--vw));
  padding-top: calc(60 * var(--vw));
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}
.method__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(130 * var(--vw)); /* 시안 130x35 고정 필 (padding 20 제외 내부 110) */
  padding: calc(5 * var(--vw)) calc(10 * var(--vw));
  background: #FA149E;
  color: #fff;
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(16 * var(--vw));
  font-weight: 900;
  line-height: calc(26 * var(--vw));
  border-radius: calc(18 * var(--vw));
  letter-spacing: -0.05em;
}
.method__tag .num {
  font-family: "ProximaNova", sans-serif;
  font-weight: 800;
  font-size: calc(18 * var(--vw));
  margin-left: calc(4 * var(--vw));
  letter-spacing: 0;
}
.method__cardTitle {
  text-align: center;
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(34 * var(--vw));
  font-weight: 700;
  color: #151415;
  line-height: 1.4;
  margin-top: calc(16 * var(--vw));
  letter-spacing: -0.05em;
}
.method__cardTitle .en {
  font-family: "ProximaNova", sans-serif;
  font-size: calc(36 * var(--vw));
  letter-spacing: 0;
}
.method__cardDesc {
  text-align: center;
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(24 * var(--vw));
  font-weight: 400;
  color: #151415;
  line-height: calc(38 * var(--vw));
  margin-top: calc(20 * var(--vw));
  letter-spacing: -0.05em;
}
.method__cardDesc .en {
  font-family: "ProximaNova", sans-serif;
  font-size: calc(26 * var(--vw));
  letter-spacing: 0;
}
.method__cardImg {
  width: calc(300 * var(--vw));
  height: calc(303 * var(--vw));
  margin-top: auto;
  border-radius: calc(30 * var(--vw)) calc(30 * var(--vw)) 0 0;
  overflow: hidden;
}
.method__cardImg img { width: 100%; display: block; }
/* 03. 수신 동의 방법 :: E */

/* 04. 지급 대상 정보 :: S */
.megaweek__info { background: #fff; }
.info__inner {
  width: calc(680 * var(--vw));
  margin: 0 auto;
  padding: 0 0 calc(100 * var(--vw));
  display: flex;
  flex-direction: column;
  gap: calc(26 * var(--vw));
}
.info__row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: calc(110 * var(--vw));
}
.info__th {
  flex: 0 0 calc(140 * var(--vw));
  width: calc(140 * var(--vw));
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(20 * var(--vw));
  font-weight: 900;
  color: #151415;
  line-height: calc(30 * var(--vw));
  letter-spacing: -0.05em;
}
.info__td {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(18 * var(--vw));
  font-weight: 400;
  color: #151415;
  line-height: calc(28 * var(--vw));
  letter-spacing: -0.05em;
}
.info__td .en {
  font-family: "ProximaNova", sans-serif;
  font-size: calc(20 * var(--vw));
  letter-spacing: 0;
}
/* 04. 지급 대상 정보 :: E */

/* 05. 유의사항 :: S */
.megaweek__notice { background: #F5F5F5; }
.notice__inner {
  width: calc(680 * var(--vw));
  margin: 0 auto;
  padding: calc(100 * var(--vw)) 0;
}
.notice__title {
  display: block;
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(19.5 * var(--vw));
  line-height: 1;
  font-weight: 700;
  color: #151415;
  margin-bottom: calc(34 * var(--vw));
}
.notice__list { list-style: none; padding: 0; margin: 0; }
.notice__list li {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(18 * var(--vw));
  font-weight: 400;
  color: #737273;
  line-height: calc(34 * var(--vw));
  padding-left: calc(16 * var(--vw));
  letter-spacing: -0.05em;
  position: relative;
}
.notice__list li .en {
  font-family: "ProximaNova", sans-serif;
  font-size: calc(20 * var(--vw));
  letter-spacing: 0;
}
.notice__list li::before { content: "-"; position: absolute; left: 0; }
/* 05. 유의사항 :: E */

/* Footer :: S */
.megaweek__footer {
  height: calc(370 * var(--vw));
  background: linear-gradient(180deg, #fff 0%, #3AFBCC 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.megaweek__footer img { width: calc(660 * var(--vw)); display: block; }
/* Footer :: E */

/* QR 팝업 (앱 푸쉬 수신동의) :: S */
.megaweek__popup {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.3);
}
.megaweek__popup.open { display: block; }
.popup__box {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(540 * var(--vw));
  height: calc(720 * var(--vw));
  background: #fff;
  border: calc(5 * var(--vw)) solid #CF0A2C;
  border-radius: calc(30 * var(--vw));
  padding: calc(40 * var(--vw));
  display: flex;
  flex-direction: column;
  align-items: center;
}
.popup__close {
  position: absolute;
  top: calc(40 * var(--vw));
  right: calc(40 * var(--vw));
  width: calc(40 * var(--vw));
  height: calc(40 * var(--vw));
  background: #151415;
  border: 0;
  border-radius: calc(20 * var(--vw));
  cursor: pointer;
  font-size: 0;
  color: transparent;
}
.popup__close::before,
.popup__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(18 * var(--vw));
  height: calc(2 * var(--vw));
  background: #fff;
}
.popup__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.popup__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.popup__close:hover { background: #CF0A2C; }
.popup__logo { width: calc(131 * var(--vw)); margin-top: calc(70 * var(--vw)); }
.popup__logo img { width: 100%; display: block; }
.popup__title {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(40 * var(--vw));
  font-weight: 900;
  color: #151415;
  letter-spacing: -0.05em;
  margin-top: calc(30 * var(--vw));
  text-align: center;
}
.popup__desc {
  font-family: "Noto Sans KR", sans-serif;
  font-size: calc(24 * var(--vw));
  font-weight: 400;
  color: #151415;
  letter-spacing: -0.05em;
  margin-top: calc(24 * var(--vw));
  text-align: center;
}
.popup__desc b { font-weight: 700; }
.popup__desc .en { font-family: "ProximaNova", sans-serif; font-weight: 700; letter-spacing: 0; }
.popup__qr {
  width: calc(200 * var(--vw));
  height: calc(200 * var(--vw));
  margin-top: calc(24 * var(--vw));
}
.popup__qr img { width: 100%; display: block; }
.popup__method {
  margin-top: calc(30 * var(--vw));
  text-align: center;
  font-family: "Noto Sans KR", sans-serif;
  color: #151415;
  letter-spacing: -0.05em;
}
.popup__method .method__t { display: block; font-size: calc(24 * var(--vw)); font-weight: 700; line-height: 1.8; }
.popup__method .method__d { display: block; font-size: calc(22 * var(--vw)); font-weight: 400; line-height: 1.8; }
.popup__method .en { font-family: "ProximaNova", sans-serif; font-size: calc(24 * var(--vw)); letter-spacing: 0; }
/* QR 팝업 :: E */

/* ===== 카플친(카카오채널) 전용 - NB2024-12776 (마수동 공용 pre.css에 추가) ===== */
.agree__btnWrap a[class*='btnWrap__btn'] { text-decoration: none; }
.coupon__point {
  position: absolute;
  right: calc(31 * var(--vw));
  bottom: calc(30 * var(--vw));
  font-family: "ProximaNova", sans-serif;
  font-weight: 700;
  color: #000;
  line-height: 1;
  font-size: calc(88 * var(--vw));
}
.megaweek--plusfriend .agree__btnWrap [class*='btnWrap__btn']{
  width: calc(270 * var(--vw));
}
.megaweek--plusfriend .method__inner{
  padding-bottom: calc(160 * var(--vw));
}
.megaweek--plusfriend .method__tag{
  width: calc(146 * var(--vw));
}