@charset "utf-8";

@import url("../../fonts/GmarketSans/GmarketSans.css");
@import url("../../fonts/SUIT/SUIT.css");
@import url("../../fonts/Pretendard/Pretendard.css");
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300..700;1,300..700&family=Noto+Color+Emoji&display=swap');
:root{
    --layout-max-width: 800px;

    --main-color: #892CCF;
    --accent-color: #000;
    --point-color: #892CCF;
    --font-color: #000;

    /* input */
    --input-height: 9rem;
    --input-font-size: 3.5rem;
    --input-border-radius: 1.2rem;
    --input-border-color: #DDDDDD;
    --input-bg-color: #FFFFFF;
    --input-color: #333;
    --focus-border-color: var(--main-color);

    /* result button */
    --result-btn-height: 12rem;
    --result-btn-font-size: 6rem;
    --result-btn-border-radius: 0;
    --result-btn-color: #fff;
    --result-btn-bg-color:#ED4B55;
    --result-btn-margin: 0;
}
html{ scroll-behavior: smooth;}
body {font-family:  'SUIT Variable', sans-serif; color: var(--font-color); }
.p_color{color: var(--point-color) !important;}

/* layout */
.landing_container {width: 100%;}
.container_wrap {width: 100%;margin: auto;font-size: 3.8rem;}
.container {position: relative}
.promotion_wrap{ scroll-margin-top: 14rem}

.red{--badge-color:#FF1818;}
.green{--badge-color:#00CA5B;}
.yellow{--badge-color:#FFC628;}
.purple{--badge-color : #892CCF;}
.suit {font-family: 'SUIT Variable', sans-serif;}

.top_banner{background: var(--main-color); display: flex; justify-content: center; align-items: center;gap: 1rem;padding:2rem 0; }
.top_banner img{width: 4.5rem; height: 4.5rem;}
.top_banner p {color: #fff;}
.top_banner p span.blink{color: #92FE8C; animation: blinkColor01 1s steps(1) infinite;}

div[class*="section"] img{margin: 0 auto;}
.section01{padding-top: 6rem;background: url(./images/el01.png)no-repeat right bottom;background-size: contain;}
.section01 .img_box{padding: 0 2rem 3rem;}
.promotion{padding: 0 2rem 7.6rem;position: relative;letter-spacing: -0.02em;}
.promotion_wrap{position: relative;margin-bottom: 5rem;}
.promotion_wrap:last-of-type:after{content:'* VAT 별도';margin-top:1rem;text-align:right;display: block;font-size: 2rem;color: #8C8C8C;font-weight: 600;}
.promotion_title{margin:2rem 5rem;}
.promotion_title h4{font-size: 4rem;line-height: 1.3;font-weight: 600;text-align: center;letter-spacing: -0.08em;}
.promotion_title h4 b{font-weight: bolder;}
.promotion_title img{width: 5rem; height: 5rem; display: inline-block;}

.promotion .sub_title{width:  max-content;max-width: 100%;padding: 1.5rem 2rem;font-size: clamp(16px, 4.2vw , 3.5rem);font-weight: 800;letter-spacing: -0.04em;background: #EEEEEE;margin-bottom: 3rem;border-radius: 1rem;display: flex;justify-content: flex-start;align-items: center;gap:1.2rem;word-break: keep-all;}
.promotion .sub_title .emoji{width: 4rem;height: 4rem;display: inline-block;transform: scaleX(-1);}

.promotion_card{border-radius: 1rem;border:1px solid #D5D5D5;overflow: hidden;letter-spacing: -0.02em;margin-bottom:2rem;background: #fff;padding:4rem 2rem;}
.promotion_card:last-of-type{margin-bottom:0;}

.card_header{display: flex;justify-content: flex-start;align-items:stretch;gap: .8rem;font-weight: 700;}
#promotion04 .card_header .badge{width: 50rem;margin-bottom: 2rem;}


.card_body .desc_text{font-size: 2.8rem;font-weight: 600; letter-spacing: -0.1em;color: var(--main-color);margin-bottom: 1rem;}
.card_body .desc_text .mark{color:var(--main-color);background: #FFE7D5; padding-inline: 1rem; line-height: 1.4; font-weight: 500;}
.card_body .desc_text .blink{animation: blinkBgColor 1s steps(1) infinite;}
.card_body .select_option{display: flex;justify-content: space-between;align-items:center;}
.card_body .price_area{display: flex;justify-content: center;align-items: flex-start;gap: 1rem;}
.card_body .price_area.price_items{flex-direction: column;gap:  4.8rem;align-items: flex-end;}
.card_body .price_area .price_item{display: flex;justify-content: center;align-items: center;gap: .8rem;}
.card_body .price_area .price_item .price_item_top{display:  flex;justify-content: center;align-items: center;gap:  2rem;}
.card_body .price_area .session{font-family:'SUIT Variable';font-size: 2rem;font-weight: 800;color: #fff;border:1px solid rgba(124,124,124,.38);color: var(--font-color);padding: .4rem .8rem;border-radius:  .8rem;margin-right: 1rem}
.card_body .price_area .strike-through{font-size: 3rem;font-weight: 500;text-decoration: line-through;color: #bdbdbd;text-decoration-thickness: .2rem;}
.card_body .price{font-size: 2.8rem;font-weight: 700;color: var(--main-color);line-height: 1;letter-spacing: -0.04em;white-space: nowrap;}
.card_body .price strong{font-family:'GmarketSans';font-size: 7.5rem;font-weight: 800;}
.card_body input[type=checkbox] {-webkit-appearance: none;-moz-appearance: none;   appearance: none; border: none;outline: none;background: none;cursor: pointer;display: none;}
.card_body input[type="checkbox"] + label::before,.card_body input[type="radio"] + label::before {content: '✓';color: #fff;display: inline-block;width: 4rem;height: 4rem;border-radius: .8rem;margin-right: 2rem;
    vertical-align: middle;background: #CCCCCC;display: flex;justify-content: center;align-items: center;box-sizing: border-box;transition: all .2s ease;font-family: 'Pretendard';cursor:pointer;}
.card_body input[type="checkbox"]:checked + label::before,.card_body input[type="radio"]:checked + label::before{background: var(--accent-color); color: #fff;}
.card_body input[type="checkbox"] + label{display: flex;justify-content: flex-start;align-items: center;cursor: pointer;}
.card_body .select_area .name{font-size: 3.6rem;font-weight: 800;display: block;letter-spacing: -0.1em;text-wrap: balance;word-break: keep-all;}
.card_body .select_area .name .small_text{font-size: 2rem;letter-spacing: -0.04em;font-weight:  700;padding-left: 1rem;vertical-align: middle;display:  inline-block;}
.card_body .select_area .name .desc-name{display: block;font-size: 30px;}
.card_body .price_area .badge_wrap{ display: flex; justify-content: flex-start; gap:7px;}
.card_body .select_area .name .badge{margin-bottom: 4px;}
.card_body .select_area .sub_text{font-size: 2.5rem;font-weight: 600;color: #5E5E5E;letter-spacing: -0.08em;text-wrap: balance;word-break: keep-all;}
.card_body .select_area .red{color:var(--badge-color)}
.card_body .price_area .badge{border-radius: 100%;font-size: 1.8rem;font-weight: 800;display: inline-flex;justify-content: center;align-items: center;text-align: center;white-space: nowrap;width: 7rem;height: 7rem;
    border:.3rem solid var(--badge-color)  ;color: var(--badge-color);background: #fff;}
#promotion02 .promotion_card:nth-of-type(1) .select_area{margin-right:-12rem}
.promotion_button, .result_btn{display: flex;justify-content: center;align-items: center;font-size: 6rem;color: #fff;font-weight:700;width: 100%;height:12.8rem;border-radius: 2rem;background: var(--accent-color);  }

/* request */
.request {background-color: #f8f8f8;padding: 5rem 2rem; scroll-margin-top: 11rem; }
.request .top_title{width: 71rem; margin: 0 auto; }
.request .top_title img{display:inline-block;}
.request .register_wrap {padding: 4rem 3rem; font-family: 'SUIT';}

.request .input_wrap ul {display: grid; gap: 3.5rem;}
.request .input_wrap li {display: grid; gap: 2rem;}
.request .input_wrap label {position: relative; display: block; font-size: 3.5rem; font-weight: bold; color: #161616;box-sizing: border-box;}
.request .input_wrap label[for="user-tel"] {display: flex; align-items: flex-end; justify-content: space-between;}
.request .input_wrap label[for="user-tel"]::after {content: '*상담 외 어떠한목적으로도 사용하지 않습니다 '; font-weight: 400;font-size: clamp(12px, 2vw, 2rem); color: #FF9292;}
.request .input_wrap input::placeholder {font-size: 3.5rem; color: #DDDDDD;}
.request .form-msg {text-align: center; font-size: clamp(12px, 2vw, 2rem); color: #FF9292;}

.request .privacy_wrap{border: none;margin: 2rem 0;}


/*  바로신청 */
.appointment {position: fixed;bottom: 0;left: 50%;transform: translateX(-50%);z-index: 100;padding: 0 !important;bottom: 0 !important;width: 100%;max-width: 800px;cursor: pointer;  transition: opacity .2s ease;}

.form_wrap{width: 100%; background: rgba(0,0,0,.76);backdrop-filter: blur(6px);padding: 1rem 2.4rem;font-family: 'Pretendard';}
.input_row {margin-bottom:1.2rem;}
.input_row ul{display: flex; gap: 2rem; align-items: center; }
.btn_apply{font-size: 3rem; font-weight: 700; text-align: center; color: #fff;background: #E54748; flex: 1; height: 5rem;}
.button_wrap{display: grid; grid-template-columns: repeat(2, 1fr);}
.button_wrap a{display: flex; justify-content: center; align-items: center; gap: 1rem;font-size: 3rem; font-weight: 700; text-align: center;padding: 1rem;}
.button_wrap a.btn_call{background: #BF2021;color:#fff;}
.button_wrap a.btn_kakao{background: #FFE553;color: #000;}
.button_wrap a img{width: auto; height: 2.7rem;}
.appointment input[type='text'],.appointment input[type='number']{font-size: 2.5rem; border-radius: 0;height: 5rem;padding-left:0; text-align: center;}
.appointment input[type='text']{width: 15.6rem;}
.appointment input[type='number']{width: 25.6rem;}
.privacy_row{display: flex;justify-content: flex-start;align-items: center;gap: 1.6rem; color: #fff;font-weight: 400;}
.privacy_row .privacy_allchk{border: none; font-size: clamp(14px, 1.8vw, 1.8rem);padding:0; margin:0;}
.privacy_row input[type=checkbox] {-webkit-appearance: none;-moz-appearance: none;   appearance: none; border: none;outline: none;background: none;cursor: pointer;display: none;}
.privacy_row input[type="checkbox"] + label::before,.privacy_row input[type="radio"] + label::before {content: '✓';color: #fff;display: inline-block;width: 3rem;height: 3rem;border-radius: .6rem;margin-right: 1rem;
    vertical-align: middle;background: #FFFFFF;display: flex;justify-content: center;align-items: center;box-sizing: border-box;transition: all .2s ease;font-family: 'Pretendard';cursor:pointer;font-size: 2.8rem;}
.privacy_row input[type="checkbox"]:checked + label::before,.privacy_row input[type="radio"]:checked + label::before{color: var(--accent-color); }
.privacy_row input[type="checkbox"] + label{display: flex;justify-content: flex-start;align-items: center;cursor: pointer;font-size: clamp(10px, 1.8vw, 1.8rem);}
/*유의사항 커스텀*/
.common_info_text{letter-spacing: -0.02em;background-color:#262626 ;color: #fff;}

/* 사업자 정보 텍스트 영역 */
.landing_foot_lt { max-width: var(--layout-max-width) !important; margin:0 !important; border-radius: 0 !important}
.register_popup input:focus {
    outline: 2px solid var(--main-color);
    outline-offset: 2px;
}

/* 하단 고정 폼 입력 필드 강조 */
.appointment input:focus {
    outline: 2px solid var(--point-color);
    outline-offset: 1px;
}

.appointment.is-hidden{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
