@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: #000;
    --accent-color: #000;
    --point-color: #BF2021;
    --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:var(--point-color);
    --result-btn-margin: 0;
}
html{ scroll-behavior: smooth;}
body {font-family: "Pretendard";  color: var(--font-color); }
.p_color{color: var(--point-color);}

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

.orange{background: #FF6625;}
.red{background:  var(--point-color);}
.green{background: #008355;}
.yellow{background: #F3931A;}
.suit {font-family: 'SUIT Variable', sans-serif;}

.top_banner{background: #000; 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.blink{color: #fff; animation: blinkColor 1s steps(1) infinite;}

.anchor_wrap{display: grid; grid-template-columns: repeat(2, 1fr);gap: .2rem; background: #000; }
.anchor_wrap .anchor_item.full{grid-column: 1 / -1;  }
.anchor_wrap .anchor{display: block;font-size:3.5rem; font-weight: 700; line-height: 1.3;letter-spacing: -0.04em;color:#fff;background: #AD1819;text-align: center; padding: 4.8rem 0;}
.anchor_wrap .anchor:hover,.anchor_wrap .anchor:active{background:#DAFEDA ; color: #000;}

div[class*="section"]{background: linear-gradient(184deg, #153E33 3.08%, #1C5647 93.76%);}
.promotion{padding: 2.8rem 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: 2.4rem;color: #8C8C8C;font-weight: 600;}
.promotion_title{margin:2rem 5rem;}
.promotion_title h4{font-size: 5.5rem;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: 4rem;font-weight: 800;letter-spacing: -0.04em;background: linear-gradient(5deg, #D9E8D9 -52.05%, #FFF 97.6%);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;}
.card_header .badge{display: flex;font-size: 3rem;padding: 1.9rem 2.5rem;background:#9E8361;color: #fff;text-align: center;justify-content: center;align-items: center;}
.card_header .desc_text{font-size: 3rem;letter-spacing: -0.1em;color: #114A15;}
.card_header .desc_text .mark{background:var(--point-color);color: #fff; padding-inline: 1rem; line-height: 1.4; font-weight: 500;}
.card_header .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: flex-end;align-items: center;gap: .8rem;}
.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 .session{font-family:'SUIT Variable';font-size: 2rem;font-weight: 800;color: #fff;border:1px solid var(--point-color);color: var(--point-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: 3.3rem;font-weight: 700;color: var(--point-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: 4rem;font-weight: 800;display: block;letter-spacing: -0.1em;text-wrap: balance;word-break: keep-all;}
.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 .price_area .badge{border-radius:.8rem;font-size: 2rem;font-weight: 500;color:#fff;padding: .4rem 1rem;display: inline-block;vertical-align: bottom;white-space: nowrap;  }
.card_body .select_area .name .badge{margin-bottom: 4px;}
.card_body .select_area .sub_text{font-size: 2.8rem;font-weight: 600;color: #5E5E5E;letter-spacing: -0.08em;text-wrap: balance;word-break: keep-all;}
.card_body .price_area .badge{border-radius:.8rem;font-size: 2rem;font-weight: 500;color:#fff;padding: .4rem 1rem;display: inline-block;vertical-align: bottom;white-space: nowrap;  }
.card_body .price_area .badge.outline{font-family:'SUIT Variable';font-size: 2rem;font-weight: 800;color: #fff;border:1px solid var(--point-color);color: var(--point-color);padding: .4rem .8rem;border-radius: .8rem;background: transparent;}

.promotion_button{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(--point-color);  }

/* popup */
.bg {position: fixed;inset: 0;background: rgba(0,0,0,.6);backdrop-filter:blur(6px);opacity: 0;visibility: hidden;transition: opacity .3s ease, visibility .3s ease;z-index: 9999;}
.bg.active {opacity: 1;visibility: visible;} 
 .register_popup {position: fixed;left: 50%;top: 50%;transform: translate(-50%, -50%);z-index: 99999;width: 100%;max-width: 70rem;
  background: #fff;box-shadow: 0 5px 15px rgba(0,0,0,.2);opacity: 0;visibility: hidden;pointer-events: none;transition:opacity 0.3s ease;}
.register_popup.active {opacity: 1;visibility: visible;pointer-events: auto;}

.close-btn{position: fixed;right: 0;color:  #fff;top: 0;transform: translateY(-100%);font-size: 8rem;z-index: 1;}

.register_popup .top_title{width: 100%;background: url(./images/popup_title_bg.png)no-repeat center top;background-size: cover;display: flex;flex-direction: column;gap:1.4rem;justify-content: center;align-items: center;
    text-align: center;color: #fff;padding: 4rem 2rem;font-weight: 700;font-family: 'Pretendard';white-space: nowrap; }
.register_popup .top_title img{display:inline-block;}
.register_popup .title_txt01{font-size: 4.8rem;}
.register_popup .title_txt02{font-size: 3.8rem;}
.register_popup .title_txt01 img{width: 4rem;}
.register_popup .title_txt02 img{width: 3.5rem;}
.register_popup .title_txt03{font-size: 4.8rem; background: #000;padding:1rem;}
.register_popup .title_txt03 .blink{animation: blinkColor 1s steps(1) infinite;}
.register_popup .register_wrap {padding: 4rem 5rem; background-color:#fff ; font-family: 'SUIT';}

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

.register_popup .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;}

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

/* 사업자 정보 텍스트 영역 */
.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;
}

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

@keyframes blinkBgColor{
    50% { background: #008355; }
}

@media screen and (max-width: 480px) and (max-height: 700px) {
  /* 모바일이면서 세로가 낮은 기기 */
  .register_popup .register_wrap{max-height: 60rem;overflow-y: auto; -webkit-overflow-scrolling: touch;}
}


html.scroll-lock,
body.scroll-lock {
  overflow: hidden;
  height: 100%;
  overscroll-behavior: none;
}