@charset "utf-8";
.reserve-page {display: flex; flex-direction: column;}
.reserve-page .reserve-form {display: flex; flex: 1 0 auto; flex-direction: column;}
.reserve-head {padding-block: var(--space-32) var(--space-24);}
.reserve-head .reserve-tit {color: var(--color-gray9);}
.reserve-head .reserve-desc {margin-top: var(--space-4); color: var(--color-gray6);}

/* 섹션 아코디언 */
.reserve-acc {border-top: 8px solid var(--color-gray2);}
.reserve-acc:first-of-type {margin-top: var(--space-24);}
.reserve-acc-btn {display: flex; align-items: flex-start; justify-content: space-between; column-gap: var(--space-12); width: 100%; padding-block: var(--space-24); text-align: left;}
.reserve-acc-txt {display: flex; flex-direction: column; row-gap: var(--space-4); min-width: 0;}
.reserve-acc-tit {color: var(--color-gray9);}
.reserve-acc-sub {color: var(--color-gray8);}
.reserve-acc-btn > .ico, .sub-acc-btn > .ico {flex: none; color: var(--color-gray7);}
.reserve-acc-btn > .ico {margin-top: 1px;}
.reserve-acc-panel {margin-top: calc(var(--space-8) * -1); padding-bottom: var(--space-24);}

/* 하위 아코디언 */
.sub-acc {margin-top: var(--space-24); border-top: 1px solid var(--color-border);}
.sub-acc + .sub-acc {margin-top: 0;}
.sub-acc-btn {display: flex; align-items: flex-start; justify-content: space-between; column-gap: var(--space-12); width: 100%; padding-block: var(--space-24); text-align: left;}
.sub-acc-txt {display: flex; flex-direction: column; row-gap: var(--space-4); min-width: 0;}
.sub-acc-pre {color: var(--color-gray8);}
.sub-acc-tit {color: var(--color-gray9);}
.sub-acc-sub {margin-top: 2px; color: var(--color-gray7);}
.sub-acc-panel {padding-bottom: var(--space-24);}

/* 선택한 코스 */
.course-card {padding: var(--space-16) var(--space-20) var(--space-4); border: 1px solid var(--color-gray3); border-radius: var(--radius-small);}
.course-card .course-card-body {display: flex; align-items: flex-start; justify-content: space-between; column-gap: var(--space-12); padding-bottom: var(--space-16); border-bottom: 1px solid var(--color-border);}
.course-card .course-card-txt {min-width: 0;}
.course-card .course-card-label {color: var(--color-gray8);}
.course-card .course-card-name {margin-top: var(--space-4); color: var(--color-gray9);}
.course-card .course-card-time {display: flex; align-items: center; column-gap: var(--space-4); margin-top: var(--space-6); color: var(--color-gray6);}
.course-card .course-card-time .ico {color: var(--color-gray7);}
.course-card .course-card-price {flex: none; margin-top: var(--space-16); color: var(--color-static1);}
.course-card .course-card-foot {display: flex; justify-content: flex-end;}
.course-card .course-card-foot .txt-btn {margin-right: -4px; color: var(--color-static1);}
.course-card .course-card-foot .txt-btn .ico {width: 20px; height: 20px;}

/* 추가 옵션 카드 */
.opt-list {display: flex; flex-direction: column; row-gap: var(--space-14);}
.opt-card {position: relative; display: flex; align-items: center; border: 1px solid var(--color-gray3); border-radius: var(--radius-small); background-color: var(--color-white); transition: border-color 0.2s;}
.opt-card .opt-card-label {display: flex; flex: 1 1 auto; align-items: flex-start; column-gap: var(--space-12); min-width: 0; padding: var(--space-14) 0 var(--space-14) var(--space-20); cursor: pointer;}
.opt-card .custom-checkbox {margin-top: 3px;}
.opt-card .opt-card-txt {display: flex; flex-direction: column; min-width: 0;}
.opt-card .opt-card-name {color: var(--color-gray9);}
.opt-card .opt-card-sub {color: var(--color-gray6);}
.opt-card .opt-card-link {flex: none; padding-inline: var(--space-8) var(--space-16); color: var(--color-static1);}
.opt-card .opt-card-link .ico, .coat-card .coat-card-link .ico {width: 20px; height: 20px;}
/* 고정 옵션 */
.opt-card.is-fixed .opt-card-label {cursor: default;}
.opt-card.is-fixed .custom-checkbox:disabled {border-color: var(--color-static1); background-color: var(--color-static1); opacity: 0.5;}
.opt-card.is-fixed .opt-card-name, .opt-card.is-fixed .opt-card-sub {opacity: 0.5;}

/* 온라인 패키지 · 가죽 클리닝 공통 */
.pkg-from {color: var(--color-gray9);}
.pkg-desc {margin-top: var(--space-6); color: var(--color-gray7);}

/* 온라인 패키지 */
.pkg-chips {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); margin-top: var(--space-16);}
.pkg-chip {display: flex; align-items: center; justify-content: center; min-height: var(--size-36); padding-inline: var(--space-8); border: 1px solid var(--color-gray3); border-radius: var(--radius-small); color: var(--color-gray8); text-align: center;}
.pkg-benefit {margin-top: var(--space-16); padding: var(--space-20); border-radius: var(--radius-small); background-color: var(--color-bg2);}
.pkg-benefit .pkg-benefit-tit {color: var(--color-gray9);}
.pkg-benefit .pkg-benefit-desc {margin-top: var(--space-8); color: var(--color-gray7);}
.pkg-benefit .pkg-benefit-btn {margin-top: var(--space-12); color: var(--color-static1); text-decoration: underline; text-underline-offset: 3px;}
.pkg-benefit .pkg-benefit-rule {margin-top: var(--space-12); color: var(--color-gray7);}
.pkg-list {display: flex; flex-direction: column; row-gap: var(--space-12); margin-top: var(--space-16);}
/* 패키지 카드 */
.pkg-card {display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; column-gap: var(--space-16); padding: var(--space-16); border: 1px solid var(--color-gray3); border-radius: var(--radius-small); cursor: pointer; transition: border-color 0.2s;}
.pkg-card:has(input:checked) {border-color: var(--color-static1); box-shadow: inset 0 0 0 0.5px var(--color-static1);}
.pkg-card .custom-radio {margin-top: 2px;}
.pkg-card .pkg-card-body {display: flex; flex-direction: column; min-width: 0;}
.pkg-card .pkg-card-img {display: block; aspect-ratio: 304 / 148; border-radius: var(--radius-small); background-color: var(--color-gray2); overflow: hidden;}
.pkg-card .pkg-card-img img {width: 100%; height: 100%; object-fit: cover;}
.pkg-card .pkg-card-name {margin-top: var(--space-16); color: var(--color-gray9);}
.pkg-card .pkg-card-copy {margin-top: var(--space-4); color: var(--color-gray8);}
.pkg-card .pkg-card-desc {margin-top: var(--space-4); color: var(--color-gray6);}
.pkg-card .pkg-card-price {display: flex; flex-direction: column; align-items: flex-end; margin-top: var(--space-12); text-align: right;}
.pkg-card .pkg-card-amount {display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; column-gap: var(--space-8); margin-top: var(--space-6);}
.pkg-card .pkg-card-normal {color: var(--color-gray6);}
.pkg-card .pkg-card-now {color: var(--color-static1);}
.pkg-card .pkg-card-diff {margin-top: 2px; color: var(--color-gray8);}

/* 패키지 구성 · 범위 표 */
.pkg-table-box {margin-top: var(--space-16); border-radius: var(--radius-small); background-color: var(--color-bg2);}
.pkg-table-btn {display: flex; align-items: flex-start; column-gap: var(--space-8); width: 100%; padding: var(--space-16); text-align: left;}
.pkg-table-btn > .ico {flex: none; margin-top: 1px; color: var(--color-static1);}
.pkg-table-btn > span {display: flex; flex-direction: column;}
.pkg-table-btn .body-large {color: var(--color-gray9);}
.pkg-table-btn .body-small {color: var(--color-gray6);}
.pkg-table-panel {padding: 0 var(--space-16) var(--space-16);}
.pkg-table-panel .pkg-table-tit {color: var(--color-gray9);}
.pkg-table-panel .pkg-table-desc {margin-top: var(--space-6); color: var(--color-gray6);}
.pkg-table-scroll {position: relative; margin-top: var(--space-16); overflow-x: auto; background-color: var(--color-white);}
.pkg-table {min-width: 660px; width: 100%; table-layout: fixed; border-collapse: collapse; color: var(--color-gray8); text-align: center;}
.pkg-table th, .pkg-table td {padding: var(--space-12) var(--space-8); border-bottom: 1px solid var(--color-border); font-weight: 400; vertical-align: middle;}
.pkg-table thead th {background-color: var(--color-static3); color: var(--color-gray9); font-weight: 500;}
.pkg-table th:first-child {width: 168px; padding-left: var(--space-16); text-align: left;}
.pkg-table td {white-space: nowrap;}
.pkg-table .pkg-dot {color: var(--color-gray8);}
.pkg-table-btns .btn-wrap {display: flex; flex-direction: column; row-gap: var(--space-6);}
.pkg-table-panel .pkg-table-note {margin-top: var(--space-16); color: var(--color-gray6);}

/* 패키지 적용 */
.pkg-apply {margin-top: var(--space-16); padding: var(--space-20); border: 1px solid var(--color-gray3); border-radius: var(--radius-small);}
.pkg-apply .pkg-apply-tit {color: var(--color-gray9);}
.pkg-apply .pkg-apply-desc {margin-top: var(--space-4); color: var(--color-gray7);}
.pkg-apply .square-btn {margin-top: var(--space-16);}

/* 패키지 비교 */
.pkg-compare-table {width: 100%; border-collapse: collapse; color: var(--color-gray8);}
.pkg-compare-table th, .pkg-compare-table td {padding: var(--space-10) var(--space-16); border-bottom: 1px solid var(--color-border); font-weight: 400; text-align: left;}
.pkg-compare-table td {text-align: right; white-space: nowrap;}
.pkg-compare-table thead th {background-color: color-mix(in srgb, var(--color-static3) 60%, var(--color-white)); color: var(--color-static1);}
.pkg-compare-table thead th + th {text-align: right;}
.pkg-compare-note {margin-top: var(--space-16); color: var(--color-gray6);}
.pkg-compare .square-btn, .pkg-apply .square-btn {min-height: var(--size-44);}
.pkg-compare .square-btn {margin-top: var(--space-20);}

/* 가죽 클리닝 */
.leather-list {display: flex; flex-direction: column; row-gap: var(--space-12); margin-top: var(--space-16);}
.leather-card {display: flex; align-items: flex-start; column-gap: var(--space-12); padding: var(--space-20); border: 1px solid var(--color-gray3); border-radius: var(--radius-small); cursor: pointer; transition: border-color 0.2s;}
.leather-card .custom-checkbox {margin-top: 3px;}
.leather-card .leather-card-txt {display: flex; flex-direction: column; min-width: 0;}
.leather-card .leather-card-name {color: var(--color-gray9);}
.leather-card .leather-card-desc {margin-top: 2px; color: var(--color-gray7);}
.leather-card .leather-card-price {margin-top: var(--space-8); color: var(--color-gray9);}
.leather-card:has(input:disabled) {cursor: default;}
.leather-card:has(input:disabled) .leather-card-txt {opacity: 0.5;}
.leather-note {margin-top: var(--space-16); color: var(--color-gray6);}
.info-acc {margin-top: var(--space-16); border-radius: var(--radius-small); background-color: var(--color-bg2);}
.info-acc .info-acc-btn {display: flex; align-items: center; column-gap: var(--space-12); width: 100%; padding: var(--space-16); color: var(--color-gray9); text-align: left;}
.info-acc .info-acc-btn > .ico {flex: none; color: var(--color-static1);}
.info-acc .info-acc-panel {padding: 0 var(--space-16) var(--space-20); color: var(--color-gray7);}
.info-acc .info-acc-tit {color: var(--color-gray9);}
.info-acc .info-acc-tit:not(:first-child) {margin-top: var(--space-20);}
.info-acc .dot-ul {margin-top: var(--space-4); padding-left: var(--space-8); color: var(--color-gray7);}

/* 부위별 코팅 */
.coat-desc {color: var(--color-gray8);}
.coat-list {display: flex; flex-direction: column; row-gap: var(--space-12); margin-top: var(--space-24);}
.coat-card {display: flex; flex-direction: column; border: 1px solid var(--color-gray3); border-radius: var(--radius-small); transition: border-color 0.2s;}
.coat-card .coat-card-label {display: flex; align-items: flex-start; column-gap: var(--space-12); padding: var(--space-20) var(--space-20) 0; cursor: pointer;}
.coat-card .custom-checkbox {margin-top: 3px;}
.coat-card .coat-card-txt {display: flex; flex-direction: column; min-width: 0;}
.coat-card .coat-card-name {display: flex; align-items: center; column-gap: var(--space-8); color: var(--color-gray9);}
.coat-card .coat-card-info {display: inline-flex; flex: none; color: var(--color-static1);}
.coat-card .coat-card-info .ico {width: 18px; height: 18px;}
.coat-card .coat-card-desc {margin-top: var(--space-4); color: var(--color-gray8);}
.coat-card .coat-card-price {margin-top: var(--space-16); color: var(--color-gray9);}
.coat-card .coat-card-link {align-self: flex-end; margin: var(--space-4) var(--space-16) var(--space-8) 0; color: var(--color-static1);}
.coat-note {margin-top: var(--space-20); color: var(--color-gray6);}

/* 선택 테두리 */
.opt-card:has(input:checked:not(:disabled)), .leather-card:has(input:checked), .coat-card:has(input:checked) {border-color: var(--color-static1);}

/* 하단 선택 요약 */
.reserve-summary {margin-top: auto; padding-top: 0; border-radius: 16px 16px 0 0; box-shadow: 0 -4px 20px rgb(var(--rgb-black) / 0.06);}
.reserve-summary .summary-handle {position: relative; display: block; width: 100%; height: var(--space-24);}
.reserve-summary .summary-handle::before {content: ''; position: absolute; top: var(--space-10); left: 50%; width: 36px; height: 4px; margin-left: -18px; border-radius: 999px; background-color: var(--color-gray3);}
.reserve-summary .summary-list {row-gap: var(--space-10); margin-block: var(--space-6) var(--space-10); padding-bottom: var(--space-10); border-bottom: 1px solid var(--color-border);}
.reserve-summary .summary-list dt {color: var(--color-gray9);}
.reserve-summary .summary-list dd {min-width: 0; color: var(--color-gray8);}
.reserve-summary .summary-sep + .summary-sep::before {content: ''; display: inline-block; width: 1px; height: 12px; margin-inline: var(--space-8); background-color: var(--color-gray4); vertical-align: -1px;}
.reserve-summary .summary-total {display: flex; align-items: flex-start; justify-content: space-between; column-gap: var(--space-16);}
.reserve-summary .summary-total dt {padding-top: 2px; color: var(--color-gray9);}
.reserve-summary .summary-total dd {display: flex; flex-direction: column; align-items: flex-end; color: var(--color-gray9);}
.reserve-summary .summary-total dd .caption-m {color: var(--color-gray6);}
.reserve-summary .square-btn {margin-top: var(--space-20);}

/* 예약 코스 변경 */
.course-card-now {padding-bottom: 0;}
.course-card-now .course-card-body {align-items: flex-end; border-bottom: 0;}
.course-list-wrap {margin-top: var(--space-24); padding-top: var(--space-24); border-top: 8px solid var(--color-gray2);}
.reserve-course .course-list-wrap {margin-inline: 0; padding-bottom: var(--space-16);}
/* 코스 변경 카드 */
.course-list .course-item {position: relative;}
.course-list .course-item-link::after {content: ""; position: absolute; inset: 0; border-radius: inherit;}
.course-list .course-item-link:focus-visible {outline: 0;}
.course-list .course-item:has(.course-item-link:focus-visible) {outline: 2px solid var(--color-static1); outline-offset: 2px;}
.course-list .course-item-btns {position: relative; z-index: 1;}
.course-item .info-acc {margin-top: var(--space-16);}
.course-item .info-acc .info-acc-btn {padding-block: var(--space-12);}
.course-item .info-acc .dot-ul {margin-top: 0; padding-left: 0;}
.course-list-wrap .sub-acc {margin-top: var(--space-16);}
.care-item .course-item-time {margin-top: var(--space-14);}

/* 이용 후기 */
.reserve-review .reserve-head {padding-block: var(--space-16) var(--space-30);}
.review-tool {display: flex; align-items: center; justify-content: space-between; color: var(--color-gray8);}
.review-list > li + li {border-top: 8px solid var(--color-gray2);}
.review-item {padding: var(--space-10) var(--gutter) var(--space-20);}
.review-item .review-item-head {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-12);}
.review-stars {display: flex; column-gap: 1px; color: var(--color-gray3);}
.review-stars .ico {width: 13px; height: 13px;}
.review-stars .ico.on {color: var(--color-static1);}
.review-meta {display: flex; align-items: center; color: var(--color-gray7);}
.review-meta span + span::before {content: ''; display: inline-block; width: 1px; height: 12px; margin-inline: var(--space-8); background-color: var(--color-gray4); vertical-align: -1px;}
/* 후기 사진 */
.review-photos {display: flex; column-gap: var(--space-8); margin: var(--space-14) calc(var(--gutter) * -1) 0 0; overflow-x: auto; scrollbar-width: none;}
.review-photos::-webkit-scrollbar {display: none;}
.review-photos li {flex: none;}
.review-photo {display: block; width: 92px; height: 92px; border-radius: var(--radius-small); background-color: var(--color-gray2);}
.review-item .review-tit {margin-top: var(--space-16); color: var(--color-gray9);}
.review-txt-wrap {position: relative; margin-top: var(--space-4); color: var(--color-gray8);}
.review-txt-wrap .review-txt {display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden;}
.review-txt-wrap.is-open .review-txt {display: block;}
.review-txt-wrap .review-more-btn {position: absolute; right: 0; bottom: 0; padding-left: var(--space-24); background: linear-gradient(90deg, rgb(var(--rgb-white) / 0) 0%, var(--color-white) 40%); color: var(--color-gray6);}
.review-txt-wrap.is-open .review-more-btn {display: none;}
.review-loading {padding: var(--space-24) var(--gutter) var(--space-40); color: var(--color-gray6); text-align: center;}

/* 코스 뷰 */
.view-head {padding-block: var(--space-30) var(--space-24);}
.view-head .view-badge {height: 26px; padding-inline: var(--space-12); font-weight: 500;}
.view-head .view-tit {margin-top: var(--space-10); color: var(--color-gray9);}
.view-head .view-meta {margin-top: var(--space-6); color: var(--color-gray6);}
.view-body .view-notice {margin-top: var(--space-16); color: var(--color-gray6);}
.view-body .view-photo-btn {margin-top: var(--space-20); border-color: var(--color-static1); color: var(--color-static1);}
.view-body .view-photo-btn .ico {width: 20px; height: 20px;}
.view-body .pkg-table-box {margin-top: var(--space-20);}
.view-body:last-child {padding-bottom: var(--space-40);}
.view-product {padding-block: var(--space-40);}
.view-product .view-product-tit {color: var(--color-gray9);}
.view-product-img {display: flex; justify-content: center; gap: var(--space-8); margin-top: var(--space-16); padding: var(--space-16); border: 1px solid var(--color-gray3); border-radius: var(--radius-small); background-color: var(--color-white);}
.view-product-img img {flex: 0 1 140px; min-width: 0; height: auto;}
.view-product-list {display: flex; flex-direction: column; row-gap: var(--space-8); margin-top: var(--space-16);}
.view-product-list li {padding: var(--space-20); border: 1px solid var(--color-gray3); border-radius: var(--radius-small);}
.view-product-list .view-product-name {color: var(--color-static1);}
.view-product-list .view-product-desc {margin-top: var(--space-4); color: var(--color-gray8);}
.view-product .view-product-note {margin-top: var(--space-12); color: var(--color-gray6);}
.view-product .view-product-info {margin-top: var(--space-40);}
.view-product-info .info-acc-panel p + * {margin-top: var(--space-12);}
.view-product-link {display: inline-flex; align-items: center; column-gap: 2px; color: var(--color-static1); text-decoration: underline; text-underline-offset: 3px;}

/* 사진 견적 */
.photo-car {padding: var(--space-20) var(--space-16) var(--space-4); border: 1px solid var(--color-gray3); border-radius: var(--radius-small);}
.photo-car .photo-car-body {display: flex; align-items: flex-start; column-gap: var(--space-12); padding-bottom: var(--space-16); border-bottom: 1px solid var(--color-border);}
.photo-car .photo-car-img {flex: none; width: 80px; aspect-ratio: 620 / 280; margin-top: var(--space-8);}
.photo-car .photo-car-img img {width: 100%; height: 100%; object-fit: contain;}
.photo-car .photo-car-txt {min-width: 0;}
.photo-car .photo-car-name {color: var(--color-gray9);}
.photo-car .photo-car-size {margin-top: var(--space-4); color: var(--color-gray8);}
.photo-car .photo-car-meta {margin-top: var(--space-4); color: var(--color-gray6);}
.photo-car .photo-car-foot {display: flex; justify-content: flex-end;}
.photo-car .photo-car-foot .txt-btn {margin-right: -4px; color: var(--color-static1);}
.photo-car .photo-car-foot .txt-btn .ico {width: 20px; height: 20px;}
.photo-section {padding-top: var(--space-40);}
.photo-section .photo-section-tit {margin-bottom: var(--space-16); color: var(--color-gray9);}
.photo-care {padding: var(--space-20) var(--space-16); border: 1px solid var(--color-gray3); border-radius: var(--radius-small);}
.photo-care .photo-care-name {color: var(--color-gray9);}
.photo-care .photo-care-copy {margin-top: var(--space-4); color: var(--color-gray8);}
.photo-care .photo-care-price {margin-top: var(--space-16); color: var(--color-static1);}
.photo-care .photo-care-vat {margin-top: var(--space-4); color: var(--color-gray6);}
.photo-care .photo-care-note {margin-top: var(--space-16); color: var(--color-gray8);}
.photo-care .photo-care-time {display: flex; align-items: center; column-gap: var(--space-4); margin-top: var(--space-16); color: var(--color-gray6);}
.photo-care .photo-care-time .ico {color: var(--color-gray7);}
.photo-section .photo-care + .input-item {margin-top: var(--space-24);}
.photo-info {margin-top: var(--space-24); padding-top: var(--space-32); border-top: 8px solid var(--color-gray2);}
.photo-info .photo-field {min-width: 0; margin-top: var(--space-32);}
.photo-info .photo-field-tit {margin-bottom: var(--space-16); color: var(--color-gray9);}
.photo-info .photo-info-box {margin-top: var(--space-24);}
.photo-agree {padding-top: var(--space-24);}
.photo-agree .check-item label {color: var(--color-gray9);}
.photo-agree .photo-agree-desc {margin-top: var(--space-8); color: var(--color-gray6);}
.photo-submit {padding-block: var(--space-16) var(--space-40);}

/* 추가 옵션 · 부위별 코팅 상세 */
.option-detail {padding-block: var(--space-30) var(--space-40);}
.option-detail .option-tit {display: flex; align-items: center; column-gap: var(--space-8); color: var(--color-gray9);}
.option-detail .option-tit-info {display: inline-flex; color: var(--color-static1);}
.option-detail .option-sub {margin-top: var(--space-4); color: var(--color-gray6);}
.option-detail .option-price {display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-6); margin-top: var(--space-8); color: var(--color-static1);}
.option-detail .option-price-unit {color: var(--color-gray7);}
.option-detail .option-price-unit.caption-l {color: var(--color-gray6);}
.option-detail .option-img {display: block; margin-top: var(--space-24); aspect-ratio: 362 / 220; border-radius: var(--radius-small); background-color: var(--color-gray2); overflow: hidden;}
.option-detail .option-img img {width: 100%; height: 100%; object-fit: cover;}
.option-detail .option-point {margin-top: var(--space-16); padding: var(--space-20) var(--space-16); border-radius: var(--radius-small); background-color: var(--color-bg2);}
.option-detail .option-point-tit {color: var(--color-static1);}
.option-detail .option-point-txt {margin-top: var(--space-4); color: var(--color-gray7);}
.option-detail .option-sec {margin-top: var(--space-24);}
.option-detail .option-sec + .option-sec {margin-top: var(--space-40);}
.option-detail .option-sec-tit {color: var(--color-gray9);}
.option-detail .option-sec-txt {margin-top: var(--space-8); color: var(--color-gray7);}
.option-detail .option-sec-txt + .option-sec-txt {margin-top: 0;}
.option-detail .option-points {margin-top: var(--space-16); padding-left: var(--space-10); row-gap: 0; color: var(--color-gray7);}
.option-detail .option-ref {margin-top: var(--space-40); background-color: var(--color-static3);}
.option-detail .option-ref .info-acc-btn {padding-inline: var(--space-20);}
.option-detail .option-ref .info-acc-panel {padding-inline: var(--space-16);}
.option-detail .option-ref-link {display: inline-flex; align-items: center; column-gap: var(--space-4); color: var(--color-static1); text-decoration: underline; text-underline-offset: 3px;}
.option-detail .option-ref-txt {margin-top: var(--space-12); color: var(--color-gray7);}
.option-detail .option-include {margin-top: var(--space-16);}
.option-detail .option-ref + .option-include {margin-top: var(--space-16);}
.option-detail .option-sec + .option-include {margin-top: var(--space-40);}
.option-bottom .line-btn {border-color: var(--color-static1); color: var(--color-static1);}

/* 차량 확인 · 변경 */
.reserve-car .reserve-head {padding-bottom: var(--space-32);}
.reserve-car-card {padding: var(--space-24) var(--space-20) 0; border: 1px solid var(--color-gray3); border-radius: var(--radius-small);}
.reserve-car-card .reserve-car-body {display: flex; align-items: center; column-gap: var(--space-16); padding-bottom: var(--space-20); border-bottom: 1px solid var(--color-border);}
.reserve-car-card .reserve-car-img {flex: none; width: 64px; aspect-ratio: 620 / 280;}
.reserve-car-card .reserve-car-img img {width: 100%; height: 100%; object-fit: contain;}
.reserve-car-card .reserve-car-txt {min-width: 0;}
.reserve-car-card .reserve-car-name {display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-12); color: var(--color-gray9);}
.reserve-car-card .reserve-car-name .body-small {color: var(--color-gray6);}
.reserve-car-card .reserve-car-num {margin-top: var(--space-4); color: var(--color-gray8);}
.reserve-car-card .reserve-car-foot {display: flex; justify-content: flex-end; padding-bottom: var(--space-6);}
.reserve-car-card .reserve-car-foot .txt-btn {margin-right: -4px; color: var(--color-static1);}
.reserve-car-card .reserve-car-foot .txt-btn .ico {width: 20px; height: 20px;}

/* 매장 선택 */
.reserve-store-page .reserve-head {padding-bottom: var(--space-24);}
.reserve-store-page .store-group {margin-inline: var(--gutter); padding-block: var(--space-20) var(--space-24);}
.reserve-store-page .store-group:last-child {padding-bottom: var(--space-40);}
.reserve-store-page .store-group + .store-group {padding-top: var(--space-12); border-top: 1px solid var(--color-border);}
.reserve-store-page .store-group-head {display: flex; align-items: center; justify-content: space-between; min-height: var(--size-44); margin-bottom: var(--space-10);}
.reserve-store-page .store-group-head .h3 {color: var(--color-gray9);}
.reserve-store-page .store-group-head .text-select {color: var(--color-gray8);}
.reserve-store-page .store-filter {margin-bottom: var(--space-16);}
.reserve-store-list {display: flex; flex-direction: column; row-gap: var(--space-20);}
.reserve-store {position: relative;}
.reserve-store-btn {display: flex; align-items: flex-start; column-gap: var(--space-16); width: 100%; text-align: left;}
.reserve-store .store-img {flex: none; width: 100px; height: 100px; border-radius: var(--radius-small); overflow: hidden; background-color: var(--color-gray2);}
.reserve-store .store-img img {width: 100%; height: 100%; object-fit: cover; object-position: 75% center;}
.reserve-store .store-info {display: flex; flex-direction: column; align-items: flex-start; min-width: 0;}
.reserve-store .store-name-wrap {display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--space-8); padding-right: var(--space-24);}
.reserve-store .store-name {color: var(--color-gray9);}
.reserve-store .store-dist {color: var(--color-gray6);}
.reserve-store .store-addr, .reserve-store .store-time {color: var(--color-gray6);}
.reserve-store .store-time .state-txt {font-weight: 400; color: inherit;}
.reserve-store .tag-list {margin-top: var(--space-6);}
.reserve-store .fav-btn {position: absolute; top: -10px; right: -10px;}
.store-sheet .sheet-panel {padding-top: var(--space-48);}
.store-sheet .sheet-close {position: absolute; top: var(--space-10); right: var(--space-10);}
.store-sheet .store-sheet-head {display: flex; align-items: center; column-gap: var(--space-4); color: var(--color-gray9);}
.store-sheet .store-sheet-head .fav-btn {margin-left: -6px;}
.store-sheet .tag-list {margin-top: var(--space-8);}
.store-sheet .store-sheet-info {display: flex; flex-direction: column; row-gap: var(--space-8); margin-top: var(--space-24); color: var(--color-gray8);}
.store-sheet .store-sheet-info li {display: flex; align-items: flex-start; column-gap: var(--space-12);}
.store-sheet .store-sheet-info .ico {flex: none; color: var(--color-gray7);}
.store-sheet .store-sheet-info strong {font-weight: 600; color: var(--color-gray9);}
.store-sheet .store-sheet-info .store-sheet-dist {color: var(--color-gray6);}
.store-sheet .store-sheet-info a {color: inherit;}
.store-sheet .store-sheet-img {margin-top: var(--space-30); aspect-ratio: 362 / 200; border-radius: var(--radius-small); overflow: hidden; background-color: var(--color-gray2);}
.store-sheet .store-sheet-img img {width: 100%; height: 100%; object-fit: cover;}
.store-sheet .store-sheet-q {margin-top: var(--space-30); text-align: center; color: var(--color-gray9);}
.store-sheet .sheet-foot {padding-top: var(--space-16);}
@media (hover: hover) {
    .reserve-store-btn:hover .store-name {color: var(--color-static1);}
}

/* 날짜 · 시간 선택 */
.reserve-store-bar {display: flex; align-items: center; column-gap: var(--space-8); min-height: var(--size-44); padding-inline: var(--gutter); background-color: var(--color-gray1); color: var(--color-gray9);}
.reserve-store-bar .ico {flex: none; color: var(--color-static1);}
.reserve-datetime .reserve-head {padding-block: var(--space-30) var(--space-32);}
.datetime-wrap {display: flex; flex-direction: column; row-gap: var(--space-32); padding-bottom: var(--space-16);}
.datetime-item {min-width: 0;}
.datetime-tit {display: block; margin-bottom: var(--space-12); color: var(--color-gray9);}
.time-list {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-8);}
.time-chip {position: relative;}
.time-chip input {position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer;}
.time-chip input:disabled {cursor: default;}
.time-chip label {display: flex; align-items: center; justify-content: center; height: var(--size-48); border: 1px solid var(--color-gray3); border-radius: var(--radius-small); background-color: var(--color-white); color: var(--color-gray9); cursor: pointer; transition: background-color 0.2s, border-color 0.2s, color 0.2s;}
.time-chip input:checked + label {border-color: var(--color-static1); background-color: var(--color-static1); color: var(--color-white);}
.time-chip input:disabled + label {background-color: var(--color-gray2); color: var(--color-gray5); cursor: default;}
.time-chip input:focus-visible + label {outline: 2px solid var(--color-static1); outline-offset: 2px;}
@media (hover: hover) {
    .time-chip input:not(:checked):not(:disabled):hover + label {border-color: var(--color-gray5);}
}

/* 확인 및 결제 */
.reserve-confirm .reserve-head {padding-bottom: var(--space-16);}
.confirm-section {padding-block: var(--space-24);}
.confirm-section + .confirm-section {border-top: 8px solid var(--color-gray2);}
.reserve-head + .confirm-section {padding-top: var(--space-8);}
.confirm-head {display: flex; align-items: center; justify-content: space-between; min-height: var(--size-44); margin-bottom: var(--space-4); color: var(--color-gray9);}
.confirm-head .txt-btn {margin-right: -4px;}
.confirm-tit {display: block; margin-bottom: var(--space-16); color: var(--color-gray9);}
.confirm-info {row-gap: var(--space-8);}
.confirm-info dt, .confirm-info-group dt {color: var(--color-gray6);}
.confirm-info dd {color: var(--color-gray9);}
.confirm-info-group, .confirm-info-last {margin-top: var(--space-16); padding-top: var(--space-16); border-top: 1px solid var(--color-border);}
.confirm-info-group dt {margin-bottom: var(--space-4);}
.confirm-info-group dd {display: flex; justify-content: space-between; column-gap: var(--space-16); color: var(--color-gray9);}
.confirm-info-group dd span:last-child {flex: none;}
.confirm-info-group .confirm-info-sale {color: var(--color-static1);}
.confirm-section .input-item + .input-item {margin-top: var(--space-16);}
.confirm-acc-btn {display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: var(--size-44); margin-top: calc(var(--space-10) * -1); text-align: left; color: var(--color-gray9);}
.confirm-acc-btn .acc-arrow {color: var(--color-gray7);}
.confirm-req {padding-top: var(--space-8);}
.confirm-field {min-width: 0;}
.confirm-field + .confirm-field {margin-top: var(--space-24);}
.confirm-sub-tit {display: block; margin-bottom: var(--space-12); color: var(--color-gray9);}
.confirm-etc {margin-top: var(--space-8);}
.confirm-save {align-items: flex-start; margin-top: var(--space-16); padding-top: var(--space-12);}
.confirm-save .custom-checkbox {margin-top: 3px;}
.confirm-save label {color: var(--color-gray8);}
.confirm-sale {display: flex; flex-direction: column; row-gap: var(--space-8);}
.point-field {display: flex; align-items: center; column-gap: 2px; height: var(--size-52); padding-inline: var(--space-16); border: 1px solid var(--color-gray3); border-radius: var(--radius-medium); color: var(--color-gray8); transition: border-color 0.2s;}
.point-field:focus-within {border-color: var(--color-static1);}
.point-field label {flex: 1 1 auto;}
.point-field input {width: 120px; min-width: 0; border: 0; background: none; color: var(--color-gray9); text-align: right;}
.point-field input:focus {outline: none;}
.point-info {display: flex; justify-content: flex-end; color: var(--color-gray6);}
.point-info span + span::before {content: ''; display: inline-block; width: 1px; height: 10px; margin-inline: var(--space-8); background-color: var(--color-gray4); vertical-align: 0;}
.pay-select-list {display: flex; flex-direction: column; row-gap: var(--space-12);}
.pay-select {display: flex; align-items: center; column-gap: var(--space-12); padding: var(--space-16) var(--space-16) var(--space-16) var(--space-20); border: 1px solid var(--color-gray3); border-radius: var(--radius-small); background-color: var(--color-white); cursor: pointer; transition: border-color 0.2s, box-shadow 0.2s;}
.pay-select:has(input:checked) {border-color: var(--color-static1); box-shadow: inset 0 0 0 0.5px var(--color-static1);}
.pay-select:has(input:focus-visible) {outline: 2px solid var(--color-static1); outline-offset: 2px;}
.pay-select-body {display: flex; flex-direction: column;}
.pay-select-name {font-weight: 500; color: var(--color-gray9);}
.pay-select-desc {color: var(--color-gray6);}
.confirm-price {display: flex; flex-direction: column; row-gap: var(--space-4);}
.confirm-price > div {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-16); min-height: 32px;}
.confirm-price dt {color: var(--color-gray8);}
.confirm-price dd {color: var(--color-gray9);}
.confirm-benefit-btn {display: inline-flex; align-items: center; column-gap: var(--space-4); min-height: 32px; color: inherit;}
.confirm-benefit-list {display: flex; flex-direction: column; row-gap: var(--space-4); margin-top: var(--space-4); padding: var(--space-12) var(--space-16); border-radius: var(--radius-small); background-color: var(--color-gray1); color: var(--color-gray7);}
.confirm-benefit-list > div {display: flex; justify-content: space-between;}
.confirm-total {display: flex; align-items: flex-start; justify-content: space-between; column-gap: var(--space-16); margin-top: var(--space-12); padding-top: var(--space-16); border-top: 1px solid var(--color-border);}
.confirm-total dt {padding-top: 2px; color: var(--color-gray8);}
.confirm-total dd {display: flex; flex-direction: column; align-items: flex-end; color: var(--color-gray9);}
.confirm-total dd .caption-m {color: var(--color-gray6);}
/* 예약 전 확인 */
.prep-box {padding: var(--space-16) var(--space-16) var(--space-20); border-radius: var(--radius-small); background-color: var(--color-bg2);}
.prep-box .prep-box-tit {display: flex; align-items: center; column-gap: var(--space-10); color: var(--color-gray8);}
.prep-box .prep-box-tit .ico {flex: none; width: 18px; height: 18px; color: var(--color-static1);}
.prep-box .prep-box-list {margin-top: var(--space-14); padding-left: var(--space-8); color: var(--color-gray7);}
.prep-check {align-items: flex-start; margin-top: var(--space-8); padding-left: 3px;}
.prep-check .custom-checkbox {margin-top: 13px;}
.prep-check label {padding-block: 10px; color: var(--color-gray9);}
.confirm-agree .check-item label {color: var(--color-gray9);}
.confirm-agree-list {display: flex; flex-direction: column; margin-top: var(--space-8);}
.confirm-agree-list li {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-12); color: var(--color-gray6);}
.confirm-agree-list .txt-btn {min-height: 32px;}
.confirm-bar .summary-handle::before {top: var(--space-10);}
.confirm-bar .confirm-bar-benefit {padding-bottom: var(--space-10); border-bottom: 1px solid var(--color-border); margin-bottom: var(--space-10);}
.confirm-bar .confirm-benefit-list {margin-bottom: var(--space-10);}
@media (hover: hover) {
    .pay-select:not(:has(input:checked)):hover {border-color: var(--color-gray5);}
    .confirm-benefit-btn:hover {color: var(--color-gray9);}
}

@media (hover: hover) {
    .find-item:hover {border-color: var(--color-gray5);}
    .find-item:has(input:checked):hover {border-color: var(--color-static1);}
    .opt-card:not(.is-fixed):hover, .leather-card:not(:has(input:disabled)):hover, .coat-card:hover, .pkg-card:hover {border-color: var(--color-gray5);}
    .opt-card:has(input:checked:not(:disabled)):hover, .leather-card:has(input:checked):hover, .coat-card:has(input:checked):hover, .pkg-card:has(input:checked):hover {border-color: var(--color-static1);}
    .pkg-chip:hover {border-color: var(--color-gray5); color: var(--color-gray9);}
}

/* 예약 완료 */
.reserve-complete .complete-hero {display: flex; flex-direction: column; align-items: center; padding-block: var(--space-40) var(--space-24); text-align: center;}
.reserve-complete .complete-ico {display: inline-flex; margin-bottom: var(--space-16); color: var(--color-static1);}
.reserve-complete .complete-hero .reserve-desc {margin-top: var(--space-8);}
.complete-opt-row {align-items: flex-start;}
.complete-opt-list {display: flex; flex-direction: column; align-items: flex-end; row-gap: var(--space-6);}
.complete-prep {padding-bottom: var(--space-40);}
.complete-btns {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); margin-top: var(--space-24);}
.complete-btns .square-btn {width: 100%;}
.complete-btns .line-btn {border-color: var(--color-static1); color: var(--color-static1);}

/* 예약 상세 */
.reserve-detail .detail-head {padding-block: var(--space-24); border-bottom: 8px solid var(--color-gray2);}
.detail-state {display: inline-flex; align-items: center; column-gap: var(--space-6); height: 28px; padding-inline: var(--space-10) var(--space-12); border-radius: 999px; background-color: var(--color-static3); color: var(--color-static1);}
.detail-state-ico {display: inline-flex; color: var(--color-static1);}
.reserve-detail .detail-head .reserve-tit {margin-top: var(--space-12);}
.detail-no {display: flex; align-items: center; column-gap: var(--space-8); margin-top: var(--space-6); color: var(--color-gray6);}
.detail-pay-list .detail-benefit-btn {min-height: 0;}
.detail-pay-list .detail-benefit-btn .acc-arrow {color: var(--color-gray7);}
.detail-benefit-sub {display: flex; flex-direction: column; row-gap: var(--space-8); margin-top: var(--space-10); color: var(--color-gray6);}
.detail-benefit-sub > div {display: flex; align-items: flex-start; justify-content: space-between; column-gap: var(--space-12);}
.detail-benefit-sub dt {display: inline-flex; align-items: center; column-gap: var(--space-6); flex: none;}
.detail-benefit-sub .sub-reply {color: var(--color-gray5);}
.detail-benefit-sub dd {text-align: right;}
.detail-pay-paid {margin-top: var(--space-12);}
.detail-store-name {display: block; color: var(--color-gray9);}
.detail-store-info {display: flex; flex-direction: column; row-gap: var(--space-8); margin-top: var(--space-12); color: var(--color-gray7);}
.detail-store-info li {display: flex; align-items: flex-start; column-gap: var(--space-8);}
.detail-store-info .ico {flex: none; margin-top: 1px; color: var(--color-gray6);}
.detail-store-btn {margin-top: var(--space-16); border-color: var(--color-gray3); color: var(--color-gray8);}
.detail-store-btn .ico {width: 16px; height: 16px; color: var(--color-gray6);}
.detail-donate {display: flex; align-items: center; column-gap: var(--space-16); padding: var(--space-16); border-radius: var(--radius-small); background-color: var(--color-bg2);}
.detail-donate-logo {display: flex; flex: none; align-items: center; justify-content: center; width: fit-content; height: 48px; margin-right: var(--space-24);}
.detail-donate-logo img {max-width: 100%; max-height: 20px; object-fit: contain;}
.detail-donate-txt {color: var(--color-gray8);}
.detail-last-sec {padding-bottom: var(--space-32);}
.detail-bar {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8); padding: var(--space-12) var(--gutter) var(--space-24); background-color: var(--color-white);}
.detail-bar .square-btn {width: 100%;}
.detail-bar .line-btn {border-color: var(--color-static1); color: var(--color-static1);}

/* 코스 찾기 */
.find-list {display: flex; flex-direction: column; row-gap: var(--space-12);}
.find-item {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-12); min-height: 66px; padding-inline: var(--space-16) var(--space-12); border: 1px solid var(--color-gray3); border-radius: var(--radius-small); background-color: var(--color-white); color: var(--color-gray9); cursor: pointer; transition: border-color 0.2s, background-color 0.2s;}
.find-item .ico {flex: none; color: var(--color-gray7);}
.find-item:has(input:checked) {border-color: var(--color-static1); background-color: var(--color-static3);}
.find-item:has(input:focus-visible) {outline: 2px solid var(--color-static1); outline-offset: 2px;}
.find-result {padding-block: var(--space-24) var(--space-40);}
.find-result-box {padding: var(--space-20) var(--space-16); border: 1px solid var(--color-gray3); border-radius: var(--radius-small);}
.find-result-box .find-result-tit {color: var(--color-gray9);}
.find-result-box .find-result-desc {margin-top: var(--space-6); color: var(--color-gray7);}
.find-result-box .square-btn {margin-top: var(--space-16);}

/* 예약 전 고객안내문 */
.reserve-guide .reserve-head {padding-block: var(--space-32) var(--space-24);}
.guide-list {display: flex; flex-direction: column; row-gap: var(--space-24); padding-bottom: var(--space-40);}
.guide-list .guide-tit {color: var(--color-gray9);}
.guide-list .guide-num {margin-right: var(--space-8);}
.guide-list .guide-num::after {content: '·'; margin-left: var(--space-8);}
.guide-list .guide-txt {margin-top: var(--space-12); color: var(--color-gray7);}

/* 예약 취소 */
.reserve-cancel .reserve-head {padding-bottom: var(--space-16);}
.cancel-restore-list {margin-block: var(--space-8);}
.cancel-fee-row {margin-top: var(--space-8);}
.cancel-refund-total {align-items: center; margin-top: var(--space-16); padding-top: var(--space-16);}
.cancel-refund-total dt {padding-top: 0; color: var(--color-gray6);}
.cancel-reason-list {display: flex; flex-direction: column; row-gap: var(--space-14);}
.cancel-reason-item {display: inline-flex; align-items: center; column-gap: var(--space-10); color: var(--color-gray9); cursor: pointer;}
.cancel-bottom-sec {padding-bottom: var(--space-40);}
.cancel-btns {margin-top: var(--space-28);}

/* 견적 요청 접수 */
.photo-done {display: flex; flex-direction: column;}
.photo-done .photo-done-section {padding-block: var(--space-16) var(--space-40);}
.photo-done .photo-done-tit {color: var(--color-gray9);}
.photo-done .photo-done-info {row-gap: var(--space-12); margin-top: var(--space-20);}
.photo-done .photo-done-info dt {color: var(--color-gray6);}
.photo-done .photo-done-info dd {color: var(--color-gray9);}
.photo-done .info-box {margin-top: var(--space-24);}
.photo-done .photo-done-btns {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8);}
.photo-done .photo-done-btns .ico {width: 20px; height: 20px;}
