/* ============================================================
   KoNa Tours — 차량 렌탈 (Zaris Safaris 파트너 모델)
   공식 요금(rack) 취소선 + 코나 특가 10% 표시, 문의 폼 연동
   ============================================================ */

/* ---- 공통 섹션 골격 ---- */
.rn-section { padding: 72px 0; }
.rn-section-alt { background: var(--kn-sand-50); }
.rn-section-inner { max-width: 1160px; margin: 0 auto; padding: 0 24px; }
.rn-section-title { font-family: var(--font-display); font-size: 32px; color: var(--kn-sand-900); margin-bottom: 8px; }
.rn-section-sub { font-family: var(--font-kr); color: var(--kn-sand-600); margin-bottom: 36px; max-width: 640px; }

/* ---- 파트너 밸류 스트립 ---- */
.rn-partner-strip { background: var(--kn-navy); color: #fff; padding: 28px 0; }
.rn-partner-inner { max-width: 1160px; margin: 0 auto; padding: 0 24px; display: flex; flex-wrap: wrap; gap: 18px 40px; align-items: center; justify-content: center; }
.rn-partner-item { display: flex; align-items: center; gap: 10px; font-family: var(--font-kr); font-size: 15px; }
.rn-partner-item i { width: 20px; height: 20px; color: var(--kn-amber); flex-shrink: 0; }

/* ---- 차량 카드 그리드 ---- */
.rn-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 28px; }
.rn-vehicle-card { background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform .25s, box-shadow .25s; }
.rn-vehicle-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(27,45,79,.12); }
.rn-card-imgwrap { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--kn-sand-100); }
.rn-card-imgwrap img { width: 100%; height: 100%; object-fit: cover; }
.rn-card-badge { position: absolute; top: 14px; left: 14px; background: var(--kn-amber); color: #fff; font-family: var(--font-kr); font-size: 12px; font-weight: 600; padding: 5px 12px; border-radius: 100px; }
.rn-card-imgnote { position: absolute; bottom: 8px; right: 10px; background: rgba(0,0,0,.45); color: #fff; font-size: 11px; padding: 3px 8px; border-radius: 6px; font-family: var(--font-kr); }
.rn-card-body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.rn-card-model { font-family: var(--font-kr); font-size: 19px; font-weight: 700; color: var(--kn-sand-900); }
.rn-card-model-en { font-size: 12.5px; color: var(--kn-sand-500); font-family: var(--font-body); margin-top: 2px; letter-spacing: .02em; }
.rn-card-desc { font-family: var(--font-kr); font-size: 14px; line-height: 1.7; color: var(--kn-sand-700); margin: 12px 0 14px; }
.rn-card-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; }
.rn-card-chip { font-family: var(--font-kr); font-size: 12px; color: var(--kn-navy); background: var(--kn-sand-100); border-radius: 100px; padding: 4px 11px; display: inline-flex; align-items: center; gap: 5px; }
.rn-card-chip i { width: 13px; height: 13px; }

/* 가격 박스 */
.rn-price-box { margin-top: auto; border-top: 1px dashed var(--kn-sand-200); padding-top: 14px; }
.rn-price-rack { font-family: var(--font-kr); font-size: 13px; color: var(--kn-sand-500); }
.rn-price-rack s { color: var(--kn-sand-400); }
.rn-price-main { display: flex; align-items: baseline; gap: 6px; margin-top: 2px; }
.rn-price-value { font-family: var(--font-display); font-size: 27px; color: var(--kn-amber); }
.rn-price-unit { font-family: var(--font-kr); font-size: 13px; color: var(--kn-sand-600); }
.rn-price-sub { font-family: var(--font-kr); font-size: 12px; color: var(--kn-sand-500); margin-top: 4px; line-height: 1.6; }
.rn-card-cta { margin-top: 16px; display: block; text-align: center; background: var(--kn-navy); color: #fff; font-family: var(--font-kr); font-size: 14px; font-weight: 600; padding: 12px; border-radius: 10px; transition: background .2s; cursor: pointer; border: none; width: 100%; }
.rn-card-cta:hover { background: var(--kn-amber); }

/* ---- 포함/불포함 ---- */
.rn-inc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.rn-inc-card { background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 16px; padding: 28px; }
.rn-inc-card h3 { font-family: var(--font-kr); font-size: 17px; font-weight: 700; color: var(--kn-sand-900); display: flex; align-items: center; gap: 8px; margin-bottom: 16px; }
.rn-inc-card h3 i { width: 20px; height: 20px; }
.rn-inc-card.inc h3 i { color: #2e7d32; }
.rn-inc-card.exc h3 i { color: #c62828; }
.rn-inc-card ul { list-style: none; padding: 0; margin: 0; }
.rn-inc-card li { font-family: var(--font-kr); font-size: 14px; color: var(--kn-sand-700); padding: 7px 0; border-bottom: 1px solid var(--kn-sand-100); display: flex; gap: 8px; align-items: flex-start; line-height: 1.55; }
.rn-inc-card li:last-child { border-bottom: none; }
.rn-inc-card li i { width: 15px; height: 15px; flex-shrink: 0; margin-top: 3px; }
.rn-inc-card.inc li i { color: #2e7d32; }
.rn-inc-card.exc li i { color: var(--kn-sand-400); }
.rn-inc-note { grid-column: 1 / -1; font-family: var(--font-kr); font-size: 13px; color: var(--kn-sand-600); background: var(--kn-sand-100); border-radius: 12px; padding: 14px 18px; line-height: 1.7; }
.rn-inc-note strong { color: var(--kn-sand-800); }

/* ---- 캠핑 장비 구성 ---- */
.rn-camp-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.rn-camp-col { background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 14px; padding: 22px; }
.rn-camp-col h4 { font-family: var(--font-kr); font-size: 15px; font-weight: 700; color: var(--kn-navy); margin-bottom: 10px; display: flex; align-items: center; gap: 7px; }
.rn-camp-col h4 i { width: 17px; height: 17px; color: var(--kn-amber); }
.rn-camp-col p { font-family: var(--font-kr); font-size: 13.5px; color: var(--kn-sand-700); line-height: 1.8; }

/* ---- 부가장비 / 원웨이 표 ---- */
.rn-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 14px; }
.rn-table { width: 100%; border-collapse: collapse; min-width: 420px; }
.rn-table th { font-family: var(--font-kr); font-size: 13px; font-weight: 600; color: var(--kn-sand-600); text-align: left; padding: 13px 20px; background: var(--kn-sand-50); border-bottom: 1px solid var(--kn-sand-200); }
.rn-table th:last-child, .rn-table td:last-child { text-align: right; white-space: nowrap; }
.rn-table td { font-family: var(--font-kr); font-size: 14px; color: var(--kn-sand-800); padding: 12px 20px; border-bottom: 1px solid var(--kn-sand-100); }
.rn-table tr:last-child td { border-bottom: none; }
.rn-table td .rn-eq-name { display: flex; align-items: center; gap: 10px; }
.rn-table td .rn-eq-name i { width: 16px; height: 16px; color: var(--kn-amber); flex-shrink: 0; }
.rn-table-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: start; }
.rn-table-cols h3 { font-family: var(--font-kr); font-size: 17px; font-weight: 700; color: var(--kn-sand-900); margin-bottom: 14px; }
.rn-table-cols .hint { font-family: var(--font-kr); font-size: 12.5px; color: var(--kn-sand-500); margin-top: 10px; line-height: 1.6; }

/* ---- 이용 안내(조건) ---- */
.rn-cond-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; }
.rn-cond-card { background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 14px; padding: 24px; }
.rn-cond-card h4 { font-family: var(--font-kr); font-size: 15px; font-weight: 700; color: var(--kn-sand-900); display: flex; gap: 8px; align-items: center; margin-bottom: 10px; }
.rn-cond-card h4 i { width: 18px; height: 18px; color: var(--kn-amber); }
.rn-cond-card p, .rn-cond-card li { font-family: var(--font-kr); font-size: 13.5px; color: var(--kn-sand-700); line-height: 1.75; }
.rn-cond-card ul { padding-left: 16px; margin: 0; }

/* ---- 프로세스 ---- */
.rn-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.rn-step { background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 14px; padding: 26px 22px; }
.rn-step-num { width: 34px; height: 34px; border-radius: 50%; background: var(--kn-amber); color: #fff; font-family: var(--font-display); font-size: 17px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.rn-step h4 { font-family: var(--font-kr); font-size: 15.5px; font-weight: 700; color: var(--kn-sand-900); margin-bottom: 6px; }
.rn-step p { font-family: var(--font-kr); font-size: 13.5px; color: var(--kn-sand-600); line-height: 1.7; }

/* ---- 투어 크로스셀 ---- */
.rn-cross { border-radius: 18px; overflow: hidden; position: relative; min-height: 220px; display: flex; align-items: center; }
.rn-cross-bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.rn-cross-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(27,45,79,.88) 0%, rgba(27,45,79,.45) 70%, rgba(27,45,79,.2) 100%); }
.rn-cross-content { position: relative; padding: 40px 44px; color: #fff; max-width: 560px; }
.rn-cross-content h3 { font-family: var(--font-kr); font-size: 24px; font-weight: 700; margin-bottom: 10px; }
.rn-cross-content p { font-family: var(--font-kr); font-size: 14.5px; line-height: 1.75; opacity: .92; margin-bottom: 18px; }
.rn-cross-content a { display: inline-flex; align-items: center; gap: 7px; background: var(--kn-amber); color: #fff; font-family: var(--font-kr); font-size: 14px; font-weight: 600; padding: 12px 22px; border-radius: 100px; }

/* ---- 문의 폼 ---- */
.rn-form-wrap { max-width: 720px; margin: 0 auto; background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 18px; padding: 40px; }
.rn-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rn-form-grid .full { grid-column: 1 / -1; }
.rn-field label { font-family: var(--font-kr); font-size: 13px; font-weight: 600; color: var(--kn-sand-800); display: block; margin-bottom: 6px; }
.rn-field label .req { color: var(--kn-amber); }
.rn-field input, .rn-field select, .rn-field textarea { width: 100%; font-family: var(--font-kr); font-size: 14px; color: var(--kn-sand-900); background: var(--kn-sand-50); border: 1px solid var(--kn-sand-200); border-radius: 10px; padding: 11px 14px; outline: none; transition: border .2s; }
.rn-field input:focus, .rn-field select:focus, .rn-field textarea:focus { border-color: var(--kn-amber); background: #fff; }
.rn-field textarea { min-height: 96px; resize: vertical; }
.rn-form-submit { width: 100%; margin-top: 20px; background: var(--kn-amber); color: #fff; font-family: var(--font-kr); font-size: 15px; font-weight: 700; padding: 15px; border: none; border-radius: 12px; cursor: pointer; transition: filter .2s; }
.rn-form-submit:hover { filter: brightness(1.06); }
.rn-form-submit:disabled { opacity: .55; cursor: default; }
.rn-form-msg { margin-top: 14px; font-family: var(--font-kr); font-size: 14px; text-align: center; display: none; }
.rn-form-msg.ok { display: block; color: #2e7d32; }
.rn-form-msg.err { display: block; color: #c62828; }

/* ---- FAQ ---- */
.rn-faq { max-width: 820px; margin: 0 auto; }
.rn-faq-item { background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 12px; margin-bottom: 12px; overflow: hidden; }
.rn-faq-q { width: 100%; text-align: left; background: none; border: none; cursor: pointer; font-family: var(--font-kr); font-size: 15px; font-weight: 600; color: var(--kn-sand-900); padding: 18px 22px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.rn-faq-q i { width: 18px; height: 18px; color: var(--kn-sand-400); transition: transform .25s; flex-shrink: 0; }
.rn-faq-item.open .rn-faq-q i { transform: rotate(180deg); }
.rn-faq-a { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.rn-faq-item.open .rn-faq-a { max-height: 400px; }
.rn-faq-a p { font-family: var(--font-kr); font-size: 14px; color: var(--kn-sand-700); line-height: 1.8; padding: 0 22px 20px; }

/* ---- 로딩/빈 상태 ---- */
.rn-loading { grid-column: 1/-1; text-align: center; font-family: var(--font-kr); color: var(--kn-sand-500); padding: 60px 0; display: flex; align-items: center; justify-content: center; gap: 12px; }
.rn-spinner { width: 22px; height: 22px; border: 3px solid var(--kn-sand-200); border-top-color: var(--kn-amber); border-radius: 50%; animation: rn-spin .8s linear infinite; }
@keyframes rn-spin { to { transform: rotate(360deg); } }
.rn-empty { grid-column: 1/-1; text-align: center; font-family: var(--font-kr); color: var(--kn-sand-500); padding: 60px 20px; }
.rn-empty i { width: 36px; height: 36px; margin-bottom: 12px; color: var(--kn-sand-300); }

/* ---- CTA (하단 상담 배너) ---- */
.kn-cta { background: var(--kn-navy); padding: 80px 0; }
.kn-cta-inner { max-width: 760px; margin: 0 auto; padding: 0 24px; text-align: center; color: #fff; }
.kn-cta-inner h2 { font-family: var(--font-kr); font-size: 32px; font-weight: 700; line-height: 1.35; margin-bottom: 14px; }
.kn-cta-inner p { font-family: var(--font-kr); font-size: 15px; opacity: .85; line-height: 1.8; margin-bottom: 26px; }
.kn-cta-buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.kn-btn-primary { background: var(--kn-amber); color: #fff; font-family: var(--font-kr); font-weight: 600; font-size: 15px; padding: 14px 30px; border-radius: 100px; }
.kn-btn-outline { border: 1px solid rgba(255,255,255,.4); color: #fff; font-family: var(--font-kr); font-weight: 600; font-size: 15px; padding: 14px 30px; border-radius: 100px; }

/* ---- 반응형 ---- */
@media (max-width: 860px) {
    .rn-section { padding: 52px 0; }
    .rn-inc-grid, .rn-table-cols { grid-template-columns: 1fr; }
    .rn-form-wrap { padding: 28px 20px; }
    .rn-form-grid { grid-template-columns: 1fr; }
    .rn-cross-content { padding: 30px 24px; }
}

/* ---- v2: 날짜 선택 바 ---- */
.rn-datebar { background: #fff; border-bottom: 1px solid var(--kn-sand-200); position: sticky; top: 0; z-index: 60; box-shadow: 0 2px 10px rgba(27,45,79,.05); }
.rn-datebar-inner { max-width: 1160px; margin: 0 auto; padding: 12px 24px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.rn-datebar-field { display: flex; align-items: center; gap: 8px; }
.rn-datebar-field label { font-family: var(--font-kr); font-size: 12.5px; font-weight: 600; color: var(--kn-sand-700); }
.rn-datebar-field input { font-family: var(--font-kr); font-size: 14px; padding: 8px 10px; border: 1px solid var(--kn-sand-200); border-radius: 9px; background: var(--kn-sand-50); color: var(--kn-sand-900); outline: none; }
.rn-datebar-field input:focus { border-color: var(--kn-amber); background: #fff; }
.rn-datebar-arrow { color: var(--kn-sand-400); }
.rn-datebar-days { font-family: var(--font-kr); font-size: 13px; font-weight: 700; color: #fff; background: var(--kn-amber); border-radius: 100px; padding: 4px 12px; }
.rn-datebar-days:empty { display: none; }
.rn-datebar-hint { font-family: var(--font-kr); font-size: 12px; color: var(--kn-sand-500); margin-left: auto; }
@media (max-width: 720px) { .rn-datebar-hint { display: none; } }

/* ---- v2: 카테고리 필터 ---- */
.rn-pills { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 26px; }
.rn-pill { font-family: var(--font-kr); font-size: 13.5px; font-weight: 500; color: var(--kn-sand-600); background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 100px; padding: 8px 18px; cursor: pointer; transition: all .18s; }
.rn-pill:hover { border-color: var(--kn-amber); color: var(--kn-amber); }
.rn-pill.active { background: var(--kn-navy); border-color: var(--kn-navy); color: #fff; }

/* ---- v2: 파트너 배지 ---- */
.rn-card-partner { position: absolute; top: 14px; right: 14px; font-family: var(--font-body); font-size: 11px; font-weight: 700; letter-spacing: .03em; padding: 4px 10px; border-radius: 100px; color: #fff; }
.rn-card-partner.p-n2g { background: #1B2D4F; }
.rn-card-partner.p-zaris { background: #6b4e2e; }
.rn-card-partner.p-hertz { background: #b89000; }
.rn-card-deposit { font-family: var(--font-kr); font-size: 11.5px; color: var(--kn-sand-500); margin-top: 8px; }
.rn-price-fine { font-size: 11px; color: var(--kn-sand-400); }

/* ---- v2: Hertz 컴팩트 리스트 ---- */
.rn-hertz-box { background: #fff; border: 1px solid var(--kn-sand-200); border-left: 4px solid #b89000; border-radius: 14px; padding: 26px 28px; }
.rn-hertz-head h3 { font-family: var(--font-kr); font-size: 18px; font-weight: 700; color: var(--kn-sand-900); }
.rn-hertz-head p { font-family: var(--font-kr); font-size: 13.5px; color: var(--kn-sand-600); line-height: 1.7; margin: 6px 0 16px; max-width: 720px; }
.rn-hertz-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; }
.rn-hertz-row { display: flex; align-items: center; gap: 12px; border: 1px solid var(--kn-sand-100); border-radius: 10px; padding: 12px 14px; background: var(--kn-sand-50); }
.rn-hertz-name { font-family: var(--font-kr); font-size: 14px; font-weight: 600; color: var(--kn-sand-900); }
.rn-hertz-name span { display: block; font-family: var(--font-body); font-size: 11px; font-weight: 400; color: var(--kn-sand-500); }
.rn-hertz-meta { font-family: var(--font-kr); font-size: 12px; color: var(--kn-sand-600); margin-left: auto; text-align: right; }
.rn-hertz-cta { font-family: var(--font-kr); font-size: 12.5px; font-weight: 600; color: #fff; background: var(--kn-navy); border: none; border-radius: 8px; padding: 8px 14px; cursor: pointer; }
.rn-hertz-cta:hover { background: var(--kn-amber); }

/* ---- v3: 컴팩트 리스트 가격 ---- */
.rn-hertz-price { font-family: var(--font-display); font-size: 17px; color: var(--kn-amber); white-space: nowrap; text-align: right; }
.rn-hertz-price span { display: block; font-family: var(--font-kr); font-size: 10.5px; color: var(--kn-sand-500); }

/* ---- v4: 차종 그룹 카드 — 업체 비교 패널 ---- */
.rn-card-partner.p-multi { background: #2e5e46; }
.rn-compare-btn { margin-top: 14px; width: 100%; display: flex; align-items: center; justify-content: center; gap: 7px; background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 10px; padding: 10px; font-family: var(--font-kr); font-size: 13px; font-weight: 600; color: var(--kn-navy); cursor: pointer; transition: border .2s, background .2s; }
.rn-compare-btn:hover { border-color: var(--kn-amber); }
.rn-compare-btn i { width: 15px; height: 15px; }
.rn-compare-btn .cmp-arrow { transition: transform .25s; margin-left: -2px; }
.compare-open .rn-compare-btn { background: var(--kn-sand-50); }
.compare-open .rn-compare-btn .cmp-arrow { transform: rotate(180deg); }
.rn-compare-panel { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
.compare-open .rn-compare-panel { max-height: 400px; }
.rn-offer-row { display: flex; align-items: center; gap: 10px; padding: 10px 4px; border-bottom: 1px dashed var(--kn-sand-100); }
.rn-offer-row:first-child { margin-top: 8px; }
.rn-offer-row:last-child { border-bottom: none; }
.rn-offer-name { font-family: var(--font-kr); font-size: 13px; font-weight: 600; color: var(--kn-sand-800); flex: 1; min-width: 0; }
.rn-offer-name span { display: block; font-size: 11px; font-weight: 400; color: var(--kn-sand-500); }
.rn-offer-price { font-family: var(--font-display); font-size: 16px; color: var(--kn-amber); white-space: nowrap; }
.rn-offer-price span { font-family: var(--font-kr); font-size: 11px; color: var(--kn-sand-500); }
.rn-offer-cta { font-family: var(--font-kr); font-size: 12px; font-weight: 600; color: var(--kn-navy); background: var(--kn-sand-100); border: none; border-radius: 8px; padding: 7px 13px; cursor: pointer; }
.rn-offer-cta:hover { background: var(--kn-amber); color: #fff; }

/* ---- v5: 대형 날짜 캘린더 ---- */
.rn-cal-card { background: #fff; border: 2px solid var(--kn-amber); border-radius: 18px; padding: 28px; box-shadow: 0 10px 34px rgba(184,112,42,.10); }
.rn-cal-head { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; }
.rn-cal-head h3 { font-family: var(--font-kr); font-size: 19px; font-weight: 700; color: var(--kn-sand-900); display: flex; align-items: center; gap: 8px; }
.rn-cal-head h3 i { width: 20px; height: 20px; color: var(--kn-amber); }
.rn-cal-head p { font-family: var(--font-kr); font-size: 13px; color: var(--kn-sand-600); margin-top: 4px; }
.rn-cal-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rn-cal-chip { font-family: var(--font-kr); font-size: 13.5px; font-weight: 600; color: var(--kn-sand-500); background: var(--kn-sand-50); border: 1.5px dashed var(--kn-sand-300); border-radius: 10px; padding: 9px 14px; min-width: 110px; text-align: center; }
.rn-cal-chip.filled { color: var(--kn-navy); background: #fff; border-style: solid; border-color: var(--kn-amber); }
.rn-cal-arrow { color: var(--kn-sand-400); }
.rn-cal-reset { font-family: var(--font-kr); font-size: 12px; color: var(--kn-sand-500); background: none; border: none; text-decoration: underline; cursor: pointer; }
.rn-cal-months { display: grid; grid-template-columns: repeat(auto-fit, minmax(272px, 1fr)); gap: 26px; }
.rn-cal-mhead { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.rn-cal-mhead strong { font-family: var(--font-kr); font-size: 15px; color: var(--kn-sand-900); }
.rn-cal-nav { width: 30px; height: 30px; border: 1px solid var(--kn-sand-200); background: #fff; border-radius: 8px; font-size: 17px; color: var(--kn-sand-700); cursor: pointer; }
.rn-cal-nav:hover { border-color: var(--kn-amber); color: var(--kn-amber); }
.rn-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.rn-cal-wd { font-family: var(--font-kr); font-size: 11px; color: var(--kn-sand-500); text-align: center; padding: 4px 0; }
.rn-cal-day { font-family: var(--font-kr); font-size: 13px; color: var(--kn-sand-800); text-align: center; padding: 8px 0; border-radius: 8px; cursor: pointer; user-select: none; }
.rn-cal-day:hover:not(.past):not(.empty) { background: var(--kn-sand-100); }
.rn-cal-day.past { color: var(--kn-sand-300); cursor: default; }
.rn-cal-day.empty { cursor: default; }
.rn-cal-day.today { outline: 1.5px solid var(--kn-sand-300); outline-offset: -1.5px; }
.rn-cal-day.range { background: #f7ead9; border-radius: 0; }
.rn-cal-day.sel { background: var(--kn-amber); color: #fff; font-weight: 700; }

/* ---- v5: 포장/비포장 추천 ---- */
.rn-road-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.rn-road-card { background: #fff; border: 1px solid var(--kn-sand-200); border-radius: 16px; padding: 26px; }
.rn-road-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--kn-sand-100); display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.rn-road-icon i { width: 22px; height: 22px; color: var(--kn-amber); }
.rn-road-card h4 { font-family: var(--font-kr); font-size: 16.5px; font-weight: 700; color: var(--kn-sand-900); margin-bottom: 8px; }
.rn-road-card p { font-family: var(--font-kr); font-size: 13.5px; color: var(--kn-sand-600); line-height: 1.7; margin-bottom: 16px; }
.rn-road-btns { display: flex; gap: 8px; flex-wrap: wrap; }
.rn-road-btn { font-family: var(--font-kr); font-size: 13px; font-weight: 600; color: var(--kn-navy); background: var(--kn-sand-100); border: none; border-radius: 100px; padding: 10px 18px; cursor: pointer; transition: all .2s; }
.rn-road-btn:hover { background: var(--kn-navy); color: #fff; }
.rn-road-btn.primary { background: var(--kn-navy); color: #fff; }
.rn-road-btn.primary:hover { background: var(--kn-amber); }

/* ---- v5: 타 업체 할인 문구 ---- */
.rn-more-note { font-family: var(--font-kr); font-size: 13.5px; color: var(--kn-sand-700); background: #fdf9f2; border: 1px solid #f0e2cc; border-radius: 12px; padding: 13px 18px; margin: -14px 0 24px; display: flex; gap: 9px; align-items: flex-start; line-height: 1.65; max-width: 720px; }
.rn-more-note i { width: 16px; height: 16px; color: var(--kn-amber); flex-shrink: 0; margin-top: 2px; }

/* ---- v6: 문의 드로어 (사이드 패널) ---- */
.rn-drawer-backdrop { position: fixed; inset: 0; background: rgba(20,16,10,.45); opacity: 0; pointer-events: none; transition: opacity .28s; z-index: 200; }
.rn-drawer-backdrop.open { opacity: 1; pointer-events: auto; }
.rn-drawer { position: fixed; top: 0; right: 0; height: 100dvh; width: min(440px, 100vw); background: #fff; z-index: 210; transform: translateX(102%); transition: transform .32s cubic-bezier(.22,.8,.3,1); box-shadow: -18px 0 50px rgba(27,45,79,.18); display: flex; flex-direction: column; }
.rn-drawer.open { transform: translateX(0); }
.rn-drawer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 22px 24px 16px; border-bottom: 1px solid var(--kn-sand-100); }
.rn-drawer-head h3 { font-family: var(--font-kr); font-size: 19px; font-weight: 700; color: var(--kn-sand-900); }
.rn-drawer-head p { font-family: var(--font-kr); font-size: 12.5px; color: var(--kn-sand-500); margin-top: 3px; }
.rn-drawer-close { width: 36px; height: 36px; border: 1px solid var(--kn-sand-200); background: #fff; border-radius: 10px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rn-drawer-close i { width: 17px; height: 17px; color: var(--kn-sand-600); }
.rn-drawer-close:hover { border-color: var(--kn-amber); }
.rn-drawer-body { padding: 20px 24px 28px; overflow-y: auto; flex: 1; }
.rn-drawer .rn-form-grid { grid-template-columns: 1fr 1fr; gap: 13px; }
.rn-drawer .rn-form-grid .full { grid-column: 1 / -1; }
@media (max-width: 420px) { .rn-drawer .rn-form-grid { grid-template-columns: 1fr; } }

/* 플로팅 문의 버튼 — 카카오 플로트(우하단) 위에 스택 */
.rn-inquiry-float { position: fixed; right: 22px; bottom: 92px; z-index: 120; display: inline-flex; align-items: center; gap: 8px; background: var(--kn-navy); color: #fff; font-family: var(--font-kr); font-size: 14px; font-weight: 700; border: none; border-radius: 100px; padding: 13px 20px; cursor: pointer; box-shadow: 0 10px 26px rgba(27,45,79,.32); transition: transform .2s, background .2s; }
.rn-inquiry-float:hover { transform: translateY(-2px); background: var(--kn-amber); }
.rn-inquiry-float i { width: 17px; height: 17px; }

/* ---- v7: 컷아웃 차량 사진 (Hertz 스튜디오 컷 — 크롭 대신 여백 있는 contain) ---- */
.rn-card-imgwrap.cutout { background: #fff; }
.rn-card-imgwrap.cutout img { object-fit: contain; padding: 26px 20px; }
