/* =============================================
   약관동의 고유 스타일
============================================= */

/* 타이틀 영역 (agree는 60px) */
.agree-title-area { margin-bottom: 60px; }

/* 전체동의 */
.agree-all-wrap { display: flex; align-items: center; gap: 12px; height: 70px; padding: 0 20px; margin-bottom: 30px; border: 1px solid #eee; border-radius: 8px; background: #fafafa; cursor: pointer; }
.agree-all-wrap.active { border-color: #ffa000; background: rgba(255, 160, 0, 0.05); }
.agree-all-text { font-size: 16px; font-weight: 600; line-height: 22px; color: #212121; }

/* 체크박스 아이콘 */
.agree-icon { width: 24px; height: 24px; flex-shrink: 0; }

/* 개별 항목 */
.agree-list { list-style: none; }
.agree-item { display: flex; align-items: center; height: 56px; border-bottom: 1px solid #f5f5f5; }
.agree-item:last-child { border-bottom: none; }
.agree-item-btn { flex: 1; display: flex; align-items: center; gap: 12px; height: 100%; font-size: 14px; font-weight: 400; line-height: 20px; color: #212121; }
.agree-item-btn b { font-weight: 400; }
.agree-detail-btn { display: flex; align-items: center; padding: 0 4px; }
.agree-detail-btn img { width: 24px; height: 24px; }

/* 다음 버튼 */
.agree-btn-row { margin-top: 50px; }
.agree-next-btn { width: 100%; height: 56px; border-radius: 8px; font-size: 16px; font-weight: 600; line-height: 22px; color: #9e9e9e; background: rgba(42, 54, 99, 0.1); cursor: default; }
.agree-next-btn.active { background: #2a3663; color: #fff; box-shadow: 0 4px 40px rgba(42, 54, 99, 0.05); cursor: pointer; }

/* modal */
.modal-service-guide .inner { width:596px; height:calc(100vh - 280px); }
.modal-service-guide .modal-body { height:calc(100% - 46px) }

.cus-select-box { position:relative; }
.cus-select { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 50px; padding: 0 36px 0 12px; border: 1px solid #EEE; border-radius: 8px; font-size: 16px; line-height: 22px; appearance: none; background: url("/public/images/icon/ic_select_arrow.svg") no-repeat center right 12px; cursor: pointer;}
.cus-select-box .date {line-height: 20px;}

.option-box {
    position: absolute;
    top: 65px;
    left: 0;
    z-index: 2;
    width: 100%;
    max-height: 0;
    padding: 12px;
    overflow: hidden;
    transform-origin: top;
    transform: scaleY(0);
    transition: transform 0.3s ease;
    border-radius: 8px;
    background: #fff;
}

.cus-select-box .option-box.open { border: 1px solid #EEE; max-height: 150px; /* 충분한 높이 지정 */overflow: auto; transform: scaleY(1); }
.cus-select-box .option-box .item-opt { padding: 12px 0; }
.cus-select-box .option-box .item-opt:first-child { padding-top: 0; }
.cus-select-box .option-box .item-opt:last-child {padding-bottom: 0; }
.cus-select-box .option-box .item-opt.selected { color: #FFA000; }

.terms-content { max-height:calc(100% - 110px); margin-top:20px; overflow:auto; line-height: 20px; }
/* 제1장 총 칙 제1조 (목적) 이 약관(이하 “약관”이라 합니다)은 ㈜야놀자플랫폼(이하 “회사”라 합니다)과 이용 고객(이하 “회원”이라 합니다)간에 회사가 제공하는 서비스(이하 “서비스”라 합니다)를 이용함에 있어 회원과 회사간의 권리, 의무 및 책임사항, 이용조건 및 절차 등 기본적인 사항을 규정함을 목적으로 합니다.   제2조 (용어의 정의) 본 약관에서 사용되는 용어의 정의는 다음과 같습니다.  (1) “서비스” : 회사가 제공하는 여가(숙박∙레저∙티켓∙클래스 등으로 이에 한정되지 않음) 관련 상품∙용역∙서비스 등(이하 “상품등”이라 합니다)에 대한 예약∙구매∙정보제공∙추천 등을 위한 온라인 플랫폼 서비스를 의미합니다. 서비스는 구현되는 장치나 단말기(PC, TV, 휴대형 단말기 등의 각종 유무선 장치를 포함하며 이에 한정되지 않음)와 상관 없이 야놀자 및 야놀자 관련 웹(Web)∙앱(App) 등의 제반 서비스를 의미하며, 회사가 공개한 API를 이용하여 제3자가 개발 또는 구축한 프로그램이나 서비스를 통하여 이용자에게 제공되는 경우를 포함합니다. 서비스는 여가 문화가 변하고 기술이 발전함에 따라 지속적으로 함께 변화∙성장해 나갑니다. (2) “회원” : 서비스에 접속하여 본 약관에 따라 회사와 이용계약을 체결하고 회사가 제공하는 서비스를 이용하는 고객을 말하며, 회원계정(ID/PW)을 생성하지 않은 일반 고객(일명 비회원 고객)도 포함됩니다. 단, 회사는 별도 정책에 따라 회원에게 등급을 부여할 수 있고, 각 등급별로 혜택을 제공할 수 있습니다. (3) “판매자” : 회사가 제공하는 서비스를 이용하여 자신의 상품∙용역∙서비스 등을 판매하는 자를 의미하며, 회사로부터 예약∙판매 대행, 광고 서비스 등을 제공받는 자를 말합니다. (4) “게시물” : 회원 및 이용 고객이 서비스에 게시 또는 등록하는 부호(URL 포함), 문자, 음성, 음향, 영상(동영상 포함), 이미지(사진 포함), 파일 등을 말합니다. (5) “쿠폰” : 회원이 서비스를 이용할 때 표시된 금액 또는 비율만큼 이용 금액을 할인 받을 수 있는 할인권∙우대권 등(온라인∙모바일∙오프라인 등 형태를 불문)를 말합니다. 쿠폰의 종류 및 내용은 회사의 정책에 따라 달라질 수 있습니다. (6) “포인트” : 회사가 회원의 서비스 이용에 따른 혜택 또는 서비스 이용상 편의를 위해 회원에게 제공하는 것으로서 서비스 내 상품 등 결제시 활용할 수 있는 수치화 된 가상의 데이터를 말합니다. 구체적인 이용 방법, 그 명칭(예: 마일리지 등) 및 현금 환급가능성 등은 회사의 정책에 따라 달라질 수 있습니다. (7) "야놀자 코인" : 포인트로 교환하여 사용할 수 있는 수치화 된 가상의 데이터를 말합니다. 구체적인 이용 방법, 그 명칭 등은 회사의 정책에 따라 달라질 수 있습니다. (8) “제휴사”란 회사와 제휴 관계 등에 따라 회원에게 부가적인 혜택을 제공하는 업체를 말합니다. (9) “제휴사 포인트”란 제휴사가 운영하는 외부 서비스 등에서 제휴사의 정책에 따라 부여되는 포인트(명칭 불문)를 말합니다. */


/* =============================================
   MOBILE
============================================= */
@media (max-width: 768px) {
    /* 타이틀 영역 */
    .agree-title-area { margin-bottom: 30px; }

    /* 타이틀은 숨기지 않고 크기만 축소 */
    .agree-section .page-title { font-size: 22px; line-height: 30px; }

    /* 전체동의 */
    .agree-all-wrap { margin-bottom: 20px; }

    /* 다음 버튼 */
    .agree-btn-row { position:fixed; top:auto; left:0; bottom:0; margin:0; width:100%; padding:14px 20px; background:#fff; }

    .cus-select .title { font-size:13px; }
    .cus-select-box .date { font-size:14px; }
    .terms-content { font-size:14px; }


    .modal-service-guide.open .inner{ height:100%; }
}
