@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: #af887c;
    --accent-color: #000;
    --point-color: #ff6400;
    --font-color: #323131;

    /* input */
    --input-height: 7.3rem;
    --input-font-size: 3.5rem;
    --input-border-radius: 0;
    --input-border-color: none;
    --input-bg-color: rgba(179, 179, 179, .19);
    --input-color: #333;
    --focus-border-color: var(--main-color);

    /* result button */
    --result-btn-height: 12rem;
    --result-btn-font-size: 5.2rem;
    --result-btn-border-radius: 0;
    --result-btn-color: #fff;
    --result-btn-bg-color: #af887c;
    --result-btn-margin: 0;
    --color-green: #197993;
}
html{ scroll-behavior: smooth; scroll-padding-top: 12rem;}
body {font-family:  'Pretendard', sans-serif; color: var(--font-color); }
.m_color{color: var(--main-color) !important;}
.p_color{color: var(--point-color) !important;}

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

.red{color: var(--color-red)}
.green{color:var(--color-green);}
.suit {font-family: 'SUIT Variable', sans-serif;}

div[class*="section"]{background-repeat: no-repeat;background-position: center top;background-size: cover;padding:6.8rem 0 5.2rem;}
div[class*="section"] img{margin: 0 auto;}

.bottom_content{display: flex; justify-content: center;align-items: center;flex-direction: column;gap: 5rem;}
.bottom_content .bna_img{width: 66rem; }

.section01{background-image: url(./images/con01_bg.png);}
.section01 .tit_img{width: 44.6rem; margin-bottom: 6rem;}
.section01 .card_body{position:relative;}

.promotion{padding: 0 6rem 0;position: relative;letter-spacing: -0.02em;}
.promotion_wrap{position: relative;margin-bottom: 1rem;}
.promotion_wrap:last-of-type::after{content:'* VAT 별도';margin-top:1rem;text-align:right;display: block;font-size: 1.8rem;font-weight: 600;}
.select_bunch{display: flex;flex-direction: column;gap: 4.4rem;}

.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: 100%;padding: 1.5rem 1rem;font-size: clamp(16px, 3vw , 2.7rem);font-weight: 600;letter-spacing: -0.04em;background: url(./images/con01_el.png) no-repeat center;background-size: 100% auto;display: flex;justify-content: center;align-items: center;gap:1.2rem;word-break: keep-all;position: relative;z-index: 1;color:  #fff;}
.promotion .sub_title .emoji{width: 4rem;height: 4rem;display: inline-block;transform: scaleX(-1);}

.promotion_card{overflow: hidden;letter-spacing: -0.02em;background: #fff;padding: 6.3rem 0 4rem;margin-top: -6.3rem;box-shadow: .4rem .4rem .4rem rgba(0,0,0,.1);}
.promotion_card:last-of-type{margin-bottom:0;}

.card_header{display: flex;justify-content: flex-start;align-items:stretch;gap: .8rem;font-weight: 700;}
div[class*="section"]:not(.section01) .card_header .badge{display: inline-block;font-size: 3rem;padding: 1rem 1.5rem;background:var(--main-color);color: #fff;}

.card_body{padding: 3rem 2.8rem 0;}
.card_body .desc_text{font-size: 2rem;font-weight: 500;letter-spacing: -0.1em;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: 2.5rem;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: 1.6rem;font-weight: 600;color: #fff;border: .2rem solid #bdedec;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.5rem;font-weight: 700;line-height: 1;letter-spacing: -0.04em;white-space: nowrap;color: #10596d;}
.card_body .price strong{font-size: 4.2rem;font-weight: 800; var(--main-color);}
.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: 2.4rem;height: 2.4rem;border-radius: .2rem;margin-right: 2rem;
    vertical-align: middle;background: #e5e5e5;display: flex;justify-content: center;align-items: center;box-sizing: border-box;transition: all .2s ease;font-family: 'Pretendard';cursor:pointer;font-size: 2.2rem;}
.card_body input[type="checkbox"]:checked + label::before,.card_body input[type="radio"]:checked + label::before{content: '✓';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: 2.6rem;font-weight: 600;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{display: inline-block;font-size: 2rem;padding: .4rem 1.2rem;background:var(--badge-color);color: #fff;margin-left: 1rem;border-radius: 100px;font-weight: 500;letter-spacing: 0;vertical-align: bottom;}
.card_body .select_area .sub_text{font-size: 2.2rem;letter-spacing: -0.08em;text-wrap: balance;word-break: keep-all;line-height: 1.6;}
.card_body .select_area .sub_text .mark{background:#54f7f449 ;}
.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;}

.promotion_button{display: flex;justify-content: center;align-items: center;gap: 2rem;font-size: 2.8rem;color: #fff;font-weight:700;width: 50rem;height: 7rem;border-radius: 54rem;background: var(--main-color);}
.promotion_button .arrow{width: 5rem;}

/* register */
#register{position: relative;}
#register::before{content: '';width: 42rem;height: 16rem;background: url(./images/register_el.png) no-repeat center;position: absolute;top: -5%;left: 50%;transform: translate(-50%, 0);background-size: contain;}
#register .top_title{position: relative;padding: 16rem 2rem 0;text-align: center;}
#register .top_title img{display:inline-block;}
#register .top_title .text_box{width: 100%; padding-bottom:3rem; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); text-align: center;font-weight: 600; }
#register .top_title .txt01{font-size:5.8rem;margin-bottom: 5rem;font-weight: 700;}
#register .top_title .txt02{font-size:4.5rem; }
#register .top_title .txt02 strong{font-weight:600;}
#register .register_wrap {padding: 6rem 5rem 5rem;background-color:#fff;}
#register .input_wrap{width: 80%; margin: 0 auto;;}
#register .input_wrap ul {display: grid;gap: .8rem;}
#register .input_wrap li {display: grid;gap: .5rem;grid-template-columns: .5fr 1fr;align-items: start;}
#register .input_wrap label {position: relative;display: flex;font-size: 3.5rem;font-weight: 600;color: #161616;box-sizing: border-box;background: rgba(185,167,160, .32);text-align: center;height: 100%;justify-content: center;align-items: center;}
#register .input_wrap input::placeholder {font-size: 3.5rem; color: #DDDDDD;}
#register .form-msg {text-align: right; font-size: clamp(12px, 2vw, 2rem); color: #391700;margin-top: 2.2rem;}

#register .privacy_wrap{margin: 5rem 0;}
#register input:focus {outline: 2px solid var(--main-color);outline-offset: 2px;}

/*  바로신청 */
.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;}

.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;color: #fff;}
.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);}
/*유의사항 커스텀*/
.bottom_info{font-size: 2.2rem;line-height: 1.5;letter-spacing: -0.02em;background-color:#262626 ;color: #fff;padding: 4rem 3rem;width: 100%;}

/* 사업자 정보 텍스트 영역 */
.landing_foot_lt { max-width: var(--layout-max-width) !important; margin:0 !important; border-radius: 0 !important}


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

/* 버튼 클릭 효과 */
.result_btn:active,
.btn_apply:active {
    transform: scale(0.98);
    transition: transform 0.1s ease;
}
/* 애니메이션 */
@keyframes blinkBg01 {
    50%{background-color: #000;}
}
@keyframes blinkBg02 {
    50%{background-color: var(--color-orange);}
}

