@charset "utf-8";

/* ==========================================================================
   reservation.css — 예약/상담 서브페이지 전용 스타일
   --------------------------------------------------------------------------
   - 색상 팔레트는 default.css / s1.css 와 동일
     (#1c4103 진한그린 / #2c4f15 메인그린 / #8b9e70 세이지)
   - 시안(★m_예약.jpg)은 모바일형 1컬럼. 콘텐츠 최대폭 850px 기준.
   ========================================================================== */

/* 공통 컨테이너 : 콘텐츠 최대폭 850px, 가운데 정렬 */
#container_wr{padding-left:0;padding-right:0;}
.rsv_wrap { max-width:850px; margin:0 auto; background:#fff; color:#222;
	word-break:keep-all; }
.rsv_wrap * { box-sizing:border-box; }
.rsv_wrap img { max-width:100%; display:block; }


/* ===== 1. 히어로 ===== */
.rsv_hero { background:#2c4f15; color:#fff; text-align:center; padding:54px 24px 50px; }
.rsv_hero_eng { margin:0 0 16px; font-size:13px; font-weight:500; letter-spacing:0.5px; color:#c6cdb8; }
.rsv_hero_tit { margin:0 0 18px; font-size:30px; font-weight:800; letter-spacing:-1px; color:#f3d368}
.rsv_hero_desc { margin:0; font-size:15px; font-weight:400; line-height:1.7; color:#dfe4d6; }


/* ===== 2. 빠른 연락 3카드 ===== */
.rsv_quick { display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
	padding:28px 24px; background:#fff; }
.rsv_quick_card {display:flex; flex-direction:column; align-items:center; gap:10px;padding:26px 12px; background:#fff; border:1px solid #ececec; border-radius:16px;	box-shadow:0 6px 18px rgba(0,0,0,.05); text-align:center; transition:.2s;background:#f3f5f0;  }
.rsv_quick_card:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.09); }
.rsv_quick_ico { width:54px; height:54px; border-radius:14px; display:flex;
	align-items:center; justify-content:center; }
.rsv_quick_ico img { width:30px; height:30px; object-fit:contain; }
.rsv_quick_ico--phone { background:#2c4f15; }
.rsv_quick_ico--kakao { background:#fee500; }
.rsv_quick_ico--naver { background:#03c75a; }
.rsv_quick_tit { font-size:15px; font-weight:700; color:#222; }
.rsv_quick_sub { font-size:13px; font-weight:500; color:#888; }


/* ===== 3. 상담 신청 폼 ===== */
.rsv_form_sec { padding:8px 24px 44px; background:#f3f5f0; border-radius:16px;}
.rsv_form { background:#f3f5f0; border-radius:20px; padding:30px 0; }
.rsv_field { margin-bottom:22px; }
.rsv_field > label { display:block; margin-bottom:10px; font-size:15px; font-weight:700; color:#2c4f15; }
.rsv_field > label em { color:#d2392b; font-style:normal; }
.rsv_field input[type="text"] { width:100%; height:50px; padding:0 16px; border:1px solid #e2e0d8;
	border-radius:10px; background:#fff; font-size:15px; color:#222; }
.rsv_field input[type="text"]::placeholder { color:#aaa; }
.rsv_field input[type="text"]:focus { outline:none; border-color:#5c7f3a; }

/* 칩(다중 선택) */
.rsv_chips { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.rsv_chip { display:block; cursor:pointer; }
.rsv_chip input { position:absolute; opacity:0; width:0; height:0; }
.rsv_chip span { display:flex; align-items:center; justify-content:center; height:46px;
	padding:0 6px; border:1px solid #d8d6cd; border-radius:10px; background:#fff;
	font-size:14px; font-weight:500; color:#2c4f15; text-align:center; transition:.15s; }
.rsv_chip:hover span { border-color:#5c7f3a; color:#2c4f15; }
.rsv_chip.is-on span,
.rsv_chip input:checked + span { border-color:#2c4f15; background:#2c4f15; color:#fff; font-weight:600; }

.rsv_submit { width:100%; height:56px; margin-top:6px; border:0; border-radius:12px;
	background:#2c4f15; color:#fff; font-size:16px; font-weight:700; cursor:pointer; transition:.2s; }
.rsv_submit i { margin-left:4px; }
.rsv_submit:hover { background:#1c4103; }


/* 개인정보처리방침 안내 */
.rsv_agree { margin:14px 0 0; font-size:13px; color:#888; text-align:center; }
.rsv_privacy_btn { color:#2c4f15; font-weight:700; text-decoration:underline; cursor:pointer; }


/* ===== 4. 다크그린 정보영역 ===== */
.rsv_info { background:#2D5016; color:#dfe4d6; padding:50px 24px 56px; }
.rsv_box1 { background:#213f0d;  padding:20px; border-radius:20px;margin:20px 0;}

.rsv_logo { text-align:center; margin-bottom:38px; }
.rsv_logo img { width:130px; margin:0 auto; }

/* 정보 블록 공통 */
.rsv_block { margin-bottom:34px; }
.rsv_block_tit { margin:0 0 18px; font-size:17px; font-weight:700; color:#fff; }
.rsv_block_tit i { margin-right:7px; color:#b6c79a; }

/* 진료시간 */
.rsv_hours { margin:0; }
.rsv_hours > div { display:flex; align-items:flex-end; justify-content:space-between;
	padding:13px 4px; border-bottom:1px solid rgba(255,255,255,.12); }
.rsv_hours dt { font-size:15px; font-weight:500; color:#cdd6bc; }
.rsv_hours dd { margin:0; font-size:15px; font-weight:600; color:#fff; text-align:right; }
.rsv_hours_note { display:block; font-size:12px; font-weight:400; color:#b6c79a; }

/* 야간진료 안내 박스 */
.rsv_notice { margin:0 0 16px; padding:16px; border:1px solid rgba(255,255,255,.3);
	border-radius:12px; text-align:center; font-size:18px; font-weight:600;color: #f3d368;background:#415b2b; }

/* 전화상담 박스 */
.rsv_callbox { display:flex; align-items:center; justify-content:center; gap:16px;
	margin-bottom:40px; padding:18px; border:1px solid rgba(255,255,255,.3); border-radius:12px;
	color:#fff; background:#415b2b;}
.rsv_callbox_label { font-size:18px; font-weight:500; color:#cdd6bc; }
.rsv_callbox_num { font-size:24px; font-weight:800; letter-spacing:0.5px; }

/* 주소 / 사진 */
.rsv_addr { margin:0 0 16px; font-size:14px; font-weight:400; line-height:1.65; color:#cdd6bc; }
.rsv_map_btns { display:flex; gap:10px; margin-bottom:18px; }
.rsv_map_btn { flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
	height:44px; border:1px solid rgba(255,255,255,.25); border-radius:24px;
	background:rgba(255,255,255,.06); font-size:14px; font-weight:600; color:#fff; }
.rsv_map_btn img { width:18px; height:18px; }
.rsv_photo { border-radius:14px; overflow:hidden; background:#2c4f15; }
.rsv_photo img { width:100%; height:auto; }

/* 무료주차 안내 */
.rsv_park { margin-top:18px; padding:18px 20px; background:#415B2B;	border-radius:12px; }
.rsv_park_head { margin:0 0 10px; font-size:17px; font-weight:700; color:#fff; }
.rsv_park_tag { display:inline-block; margin-right:6px; padding:4px 10px; border-radius:6px;
	background:#F3D386; color:#1c4103; font-size:16px; font-weight:700; }
.rsv_park_list { margin:0; padding:0; list-style:none; }
.rsv_park_list li { position:relative; padding-left:12px; margin-top:6px; font-size:15px; color:#cdd6bc; }
.rsv_park_list li::before { content:"*"; position:absolute; left:0; color:#b6c79a; }
.rsv_park_desc { margin:18px 0 0; font-size:13px; line-height:1.7; color:#b6c79a; }

/* 채널 2x2 */
.rsv_channels { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:40px; }
.rsv_ch { display:flex; flex-direction:column; align-items:center; gap:12px;
	padding:30px 12px; border:1px solid rgba(255,255,255,.14); border-radius:16px;
	background:#213f0d; transition:.2s; }
.rsv_ch:hover { background:rgba(255,255,255,.1); }
.rsv_ch_ico { font-size:30px; color:#fff; }
.rsv_ch_txt { font-size:14px; font-weight:600; color:#dfe4d6; }


/* ===== 850px 이하(컨테이너 풀폭일 때) 미세 조정 ===== */



/* ===== 8. 푸터 정보 (진한그린) ===== */
.footer_info { background:#1c4103; color:#dfe4d6; padding:50px 24px 40px; }
.footer_logo { text-align:center; margin-bottom:38px; }
.footer_logo img { width:130px; margin:0 auto; }

.footer_block { margin-bottom:34px; }
.footer_block_tit { margin:0 0 18px; font-size:17px; font-weight:700; color:#fff; }
.footer_block_tit i { margin-right:7px; color:#b6c79a; }

.footer_hours { margin:0; }
.footer_hours > div { display:flex; align-items:flex-end; justify-content:space-between;
	padding:13px 4px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer_hours dt { font-size:15px; font-weight:500; color:#cdd6bc; }
.footer_hours dd { margin:0; font-size:15px; font-weight:600; color:#fff; text-align:right; }
.footer_hours_note { display:block; font-size:12px; font-weight:400; color:#b6c79a; }

.footer_notice { margin:0 0 16px; padding:16px; border:1px solid rgba(255,255,255,.3);
	border-radius:12px; text-align:center; font-size:15px; font-weight:600; color:#fff; }

.footer_callbox { display:flex; align-items:center; justify-content:center; gap:16px;
	margin-bottom:40px; padding:18px; border:1px solid rgba(255,255,255,.3); border-radius:12px; color:#fff; }
.footer_callbox_label { font-size:15px; font-weight:500; color:#cdd6bc; }
.footer_callbox_num { font-size:24px; font-weight:800; letter-spacing:0.5px; }

.footer_addr { margin:0 0 16px; font-size:14px; font-weight:400; line-height:1.65; color:#cdd6bc; }
.footer_map_btns { display:flex; gap:10px; margin-bottom:18px; }
.footer_map_btn { flex:1; display:flex; align-items:center; justify-content:center; gap:7px;
	height:44px; border:1px solid rgba(255,255,255,.25); border-radius:24px;
	background:rgba(255,255,255,.06); font-size:14px; font-weight:600; color:#fff; }
.footer_map_btn img { width:18px; height:18px; }
.footer_photo { border-radius:14px; overflow:hidden; background:#2c4f15; }
.footer_photo img { width:100%; height:auto; }

.footer_park { margin-top:18px; padding:18px 20px; background:rgba(255,255,255,.06); border-radius:12px; }
.footer_park_head { margin:0 0 10px; font-size:15px; font-weight:700; color:#fff; }
.footer_park_tag { display:inline-block; margin-right:6px; padding:4px 10px; border-radius:6px;
	background:#fde9a8; color:#1c4103; font-size:13px; font-weight:700; }
.footer_park_list { margin:0; padding:0; list-style:none; }
.footer_park_list li { position:relative; padding-left:12px; margin-top:6px; font-size:13px; color:#cdd6bc; }
.footer_park_list li::before { content:"*"; position:absolute; left:0; color:#b6c79a; }
.footer_park_desc { margin:18px 0 0; font-size:13px; line-height:1.7; color:#b6c79a; }

.footer_channels { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:40px; }
.footer_ch { display:flex; flex-direction:column; align-items:center; gap:12px;
	padding:30px 12px; border:1px solid rgba(255,255,255,.14); border-radius:16px;
	background:rgba(255,255,255,.04); transition:.2s; }
.footer_ch:hover { background:rgba(255,255,255,.1); }
.footer_ch_ico { font-size:30px; color:#fff; }
.footer_ch_txt { font-size:14px; font-weight:600; color:#dfe4d6; }

.footer_foot { margin-top:46px; padding-top:30px; border-top:1px solid rgba(255,255,255,.14); }
.footer_foot_nav { margin:0 0 24px; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:14px; font-size:13px;}
.footer_foot_nav li { position:relative; color:#cdd6bc; }
.footer_foot_nav li a{color:#fff;}
.footer_foot_nav li + li::before { content:"|"; position:absolute; left:-9px; color:rgba(255,255,255,.3); }
.footer_foot_logo img { width:170px; margin:0 0 18px; }
.footer_foot_biz { margin:0; font-size:13px; line-height:1.9; color:#b6c79a; }
.footer_foot_copy { margin:20px 0 0; font-size:12px; color:#8a9b6e; letter-spacing:0.2px; }



@media (max-width:600px){
	.rsv_hero_tit { font-size:26px; }
	.rsv_quick { grid-template-columns:repeat(3,1fr); gap:8px; padding:20px 14px; }
	.rsv_quick_card { padding:16px 6px; gap:8px; }
	.rsv_quick_ico { width:44px; height:44px; border-radius:12px; }
	.rsv_quick_ico img { width:24px; height:24px; }
	.rsv_quick_tit { font-size:13px; }
	.rsv_quick_sub { font-size:11px; }
	.rsv_chips { grid-template-columns:repeat(4,1fr); }
	.rsv_callbox_num { font-size:21px; }
}

