﻿.member-hero{padding:70px 20px;text-align:center;background:radial-gradient(circle at 20% 20%,rgba(179,58,74,.13),transparent 28%),linear-gradient(180deg,#fffafb,#fff)}.member-hero span,.member-page-head span{color:var(--hp-purple);font-size:10px;font-weight:900;letter-spacing:.12em}.member-hero h1{margin:13px 0 8px;font-size:35px;letter-spacing:-.05em}.member-hero p,.member-page-head p{margin:0;color:var(--hp-sub);font-size:12px}.member-wrap{width:min(1180px,calc(100% - 40px));margin:38px auto 80px}.member-menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.member-menu-grid a{min-height:160px;padding:24px;border:1px solid var(--hp-line);border-radius:20px;background:#fff;text-decoration:none;box-shadow:var(--hp-shadow);display:grid;grid-template-columns:1fr auto;align-content:center;gap:9px}.member-menu-grid span{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:var(--hp-soft);color:var(--hp-purple);font-size:18px}.member-menu-grid b{grid-column:1;font-size:13px}.member-menu-grid strong{grid-column:2;grid-row:1/3;align-self:center;color:var(--hp-purple);font-size:30px}.member-page-head{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:55px 0 28px;display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--hp-line)}.member-page-head h1{margin:9px 0 7px;font-size:31px;letter-spacing:-.05em}.member-page-head>div>p a{color:var(--hp-purple);font-weight:800}.member-page-head>a{padding:10px 13px;border:1px solid var(--hp-line);border-radius:10px;text-decoration:none;font-size:11px;font-weight:800}.detail-pick-actions{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}.detail-pick-actions form{margin:0}.detail-pick-actions button,.detail-pick-actions>a{height:36px;padding:0 12px;border:1px solid var(--hp-line);border-radius:10px;background:#fff;color:#626677;text-decoration:none;font-size:10px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center}.compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.compare-card{padding:14px;border:1px solid var(--hp-line);border-radius:20px;background:#fff;box-shadow:var(--hp-shadow)}.compare-image{height:160px;border-radius:14px;overflow:hidden;background:var(--hp-soft);display:grid;place-items:center;color:var(--hp-purple);font-size:30px;font-weight:900}.compare-image img{width:100%;height:100%;object-fit:cover}.compare-card h2{margin:15px 0 6px;font-size:16px}.compare-card h2 a{text-decoration:none}.compare-card>p{height:31px;margin:0;color:var(--hp-sub);font-size:10px;line-height:1.5}.compare-card dl{margin:16px 0;border-top:1px solid var(--hp-line)}.compare-card dl div{display:flex;justify-content:space-between;gap:8px;padding:10px 2px;border-bottom:1px solid #f0f1f4;font-size:10px}.compare-card dt{color:var(--hp-sub)}.compare-card dd{margin:0;text-align:right;font-weight:800}.compare-card form button{width:100%;height:38px;border:0;border-radius:10px;background:var(--hp-bg);color:var(--hp-sub);font-size:10px;font-weight:800;cursor:pointer}.consult-list{display:grid;gap:10px}.consult-list-item{padding:18px 20px;border:1px solid var(--hp-line);border-radius:15px;background:#fff;text-decoration:none;display:flex;justify-content:space-between;gap:20px}.consult-list-item>div:last-child{text-align:right;display:grid;justify-items:end;align-content:center;gap:5px}.consult-list-item span{color:var(--hp-purple);font-size:9px;font-weight:850}.consult-list-item h2{margin:5px 0;font-size:14px}.consult-list-item p,.consult-list-item time{margin:0;color:var(--hp-sub);font-size:9px}.consult-list-item em{padding:3px 7px;border-radius:20px;background:#ef5368;color:#fff;font-size:9px;font-style:normal}.consult-status{padding:5px 8px;border-radius:20px;background:var(--hp-soft);color:var(--hp-purple);font-size:9px}.message-panel{padding:24px;border:1px solid var(--hp-line);border-radius:20px;background:#f8f8fb;display:grid;gap:14px}.message-item{max-width:75%;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(35,37,53,.05)}.message-item.is-member{margin-left:auto;background:var(--hp-purple);color:#fff;border-bottom-right-radius:4px}.message-item.is-company{border-bottom-left-radius:4px}.message-item b{font-size:10px}.message-item p{margin:7px 0;white-space:pre-line;font-size:12px;line-height:1.65}.message-item time{font-size:8px;opacity:.65}.message-reply{margin-top:14px;padding:20px;border:1px solid var(--hp-line);border-radius:17px;background:#fff}.message-reply label{display:grid;gap:8px;font-size:11px;font-weight:800}.message-reply textarea{height:110px;padding:13px;border:1px solid #dfe1e8;border-radius:11px;resize:vertical;font:inherit;font-size:11px}.message-reply button{height:42px;margin-top:10px;padding:0 18px;border:0;border-radius:10px;background:var(--hp-purple);color:#fff;font-size:11px;font-weight:800}@media(max-width:980px){.member-menu-grid,.compare-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.member-wrap,.member-page-head{width:calc(100% - 30px)}.member-menu-grid{grid-template-columns:1fr 1fr}.member-menu-grid a{min-height:135px;padding:17px}.member-page-head{align-items:flex-start}.member-page-head h1{font-size:26px}.compare-grid{grid-template-columns:1fr}.compare-image{height:220px}.consult-list-item{padding:15px;flex-direction:column}.consult-list-item>div:last-child{display:flex;align-items:center;justify-content:flex-start}.message-item{max-width:90%}}


/* 20-1 상담 종료 */
.member-alert {
    margin-bottom: 14px;
    padding: 14px 16px;
    border: 1px solid #cde0fa;
    border-radius: 13px;
    background: var(--hp-soft);
    color: var(--hp-purple);
    font-size: 11px;
    font-weight: 800;
}

.consult-close-panel {
    margin-bottom: 14px;
    padding: 17px 18px;
    border: 1px solid var(--hp-line);
    border-radius: 16px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.consult-close-panel b {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
}

.consult-close-panel p {
    margin: 0;
    color: var(--hp-sub);
    font-size: 10px;
}

.consult-close-panel form {
    margin: 0;
    flex: 0 0 auto;
}

.consult-close-panel button {
    height: 39px;
    padding: 0 14px;
    border: 1px solid #f1c8ce;
    border-radius: 10px;
    background: #fff7f8;
    color: #c84255;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.consult-closed-notice {
    margin-top: 14px;
    padding: 15px;
    border: 1px solid var(--hp-line);
    border-radius: 13px;
    background: #f7f7fa;
    color: var(--hp-sub);
    font-size: 10px;
    text-align: center;
}

@media (max-width: 640px) {
    .consult-close-panel {
        align-items: flex-start;
        flex-direction: column;
    }

    .consult-close-panel form,
    .consult-close-panel button {
        width: 100%;
    }
}

/* 20-2 상담 후기·회원 후기 관리 */
.member-menu-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.review-page-wrap,
.review-editor-wrap {
    display: grid;
    gap: 24px;
}

.review-section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
}

.review-section-head span {
    color: var(--hp-purple);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}

.review-section-head h2 {
    margin: 6px 0 0;
    font-size: 21px;
    letter-spacing: -.04em;
}

.review-section-head > a {
    padding: 9px 12px;
    border: 1px solid var(--hp-line);
    border-radius: 10px;
    color: var(--hp-ink);
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
}

.review-section-head > strong {
    color: var(--hp-purple);
    font-size: 18px;
}

.review-eligible-section,
.review-history-section,
.review-source-card,
.review-editor-form {
    padding: 22px;
    border: 1px solid var(--hp-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--hp-shadow);
}

.review-eligible-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.review-eligible-card {
    padding: 17px;
    border: 1px solid var(--hp-line);
    border-radius: 15px;
    background: #fffafb;
}

.review-eligible-card > span,
.review-source-card > span,
.member-review-head span {
    color: var(--hp-purple);
    font-size: 9px;
    font-weight: 900;
}

.review-eligible-card h3,
.review-source-card h2,
.member-review-head h3 {
    margin: 7px 0 5px;
    font-size: 16px;
    letter-spacing: -.03em;
}

.review-eligible-card p,
.review-source-card p,
.member-review-head p {
    margin: 0;
    color: var(--hp-sub);
    font-size: 10px;
    line-height: 1.6;
}

.review-eligible-card small,
.review-source-card small {
    display: block;
    margin-top: 8px;
    color: var(--hp-sub);
    font-size: 9px;
}

.review-eligible-card > a {
    margin-top: 14px;
    height: 36px;
    border-radius: 10px;
    background: var(--hp-purple);
    color: #fff;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}

.review-empty-small {
    grid-column: 1 / -1;
    padding: 35px 15px;
    border: 1px dashed var(--hp-line);
    border-radius: 14px;
    color: var(--hp-sub);
    text-align: center;
    font-size: 10px;
}

.member-review-list {
    display: grid;
    gap: 12px;
}

.member-review-card {
    padding: 18px;
    border: 1px solid var(--hp-line);
    border-radius: 16px;
    background: #fff;
}

.member-review-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.member-review-head > div:last-child {
    text-align: right;
}

.member-review-head strong {
    display: block;
    color: #f5a623;
    font-size: 17px;
}

.review-status {
    display: inline-flex;
    margin-top: 7px;
    padding: 5px 8px;
    border-radius: 20px;
    background: #f2f2f6;
    color: var(--hp-sub);
    font-size: 8px;
    font-style: normal;
    font-weight: 800;
}

.review-status.is-public {
    background: #edf9f1;
    color: #25844d;
}

.review-status.is-reported {
    background: #fff5df;
    color: #9c6b00;
}

.member-review-text,
.member-review-reply p,
.company-review-detail-text {
    white-space: pre-wrap;
}

.member-review-text {
    margin: 17px 0;
    color: var(--hp-ink);
    font-size: 11px;
    line-height: 1.8;
}

.member-review-reply {
    padding: 14px;
    border-radius: 13px;
    background: var(--hp-soft);
}

.member-review-reply b {
    color: var(--hp-purple);
    font-size: 9px;
}

.member-review-reply p {
    margin: 7px 0 0;
    font-size: 10px;
    line-height: 1.7;
}

.member-review-foot {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid var(--hp-line);
    color: var(--hp-sub);
    font-size: 9px;
}

.member-review-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
}

.member-review-actions form {
    margin: 0;
}

.member-review-actions a,
.member-review-actions button {
    padding: 7px 10px;
    border: 1px solid var(--hp-line);
    border-radius: 9px;
    background: #fff;
    color: var(--hp-ink);
    text-decoration: none;
    font-size: 9px;
    font-weight: 800;
    cursor: pointer;
}

.member-review-actions button {
    color: #c84255;
}

.review-source-card {
    box-shadow: none;
    background: #fffafb;
}

.review-editor-form {
    display: grid;
    gap: 22px;
}

.review-rating-field {
    margin: 0;
    padding: 0;
    border: 0;
}

.review-rating-field legend,
.review-text-field {
    color: var(--hp-ink);
    font-size: 11px;
    font-weight: 800;
}

.review-rating-options {
    width: max-content;
    display: flex;
    flex-direction: row-reverse;
    gap: 4px;
    margin-top: 12px;
}

.review-rating-options input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.review-rating-options label {
    color: #d8d9df;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
}

.review-rating-options label:hover,
.review-rating-options label:hover ~ label,
.review-rating-options input:checked ~ label {
    color: #f5a623;
}

.review-rating-field > p,
.review-text-field small {
    margin: 8px 0 0;
    color: var(--hp-sub);
    font-size: 9px;
    font-weight: 400;
}

.review-text-field {
    display: grid;
    gap: 8px;
}

.review-text-field textarea {
    min-height: 190px;
    padding: 14px;
    border: 1px solid var(--hp-line);
    border-radius: 13px;
    resize: vertical;
    font: inherit;
    font-size: 11px;
    line-height: 1.7;
}

.review-editor-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

.review-editor-actions a,
.review-editor-actions button {
    min-width: 90px;
    height: 42px;
    border: 1px solid var(--hp-line);
    border-radius: 11px;
    background: #fff;
    color: var(--hp-ink);
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.review-editor-actions button {
    border-color: var(--hp-purple);
    background: var(--hp-purple);
    color: #fff;
}

.consult-review-panel {
    margin-bottom: 14px;
    padding: 17px 18px;
    border: 1px solid #cde0fa;
    border-radius: 16px;
    background: var(--hp-soft);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.consult-review-panel b {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
}

.consult-review-panel p {
    margin: 0;
    color: var(--hp-sub);
    font-size: 10px;
}

.consult-review-panel a,
.consult-review-panel > span {
    flex: 0 0 auto;
    padding: 10px 13px;
    border-radius: 10px;
    background: var(--hp-purple);
    color: #fff;
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
}

.consult-review-panel > span {
    background: #dcdce4;
    color: #6b6e7d;
}

@media (max-width: 1050px) {
    .member-menu-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .review-eligible-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .member-menu-grid,
    .review-eligible-grid {
        grid-template-columns: 1fr;
    }

    .review-section-head,
    .member-review-head,
    .consult-review-panel {
        align-items: flex-start;
        flex-direction: column;
    }

    .member-review-head > div:last-child {
        text-align: left;
    }

    .member-review-foot {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .member-review-actions {
        width: 100%;
        margin-left: 0;
    }

    .member-review-actions a,
    .member-review-actions form,
    .member-review-actions button,
    .consult-review-panel a,
    .consult-review-panel > span {
        width: 100%;
    }
}


/* 20-3 후기 이미지·신고 */
.review-image-manager,
.review-report-target,
.review-report-form {
    padding: 22px;
    border: 1px solid var(--hp-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--hp-shadow);
}

.review-image-grid,
.member-review-photos {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.review-image-grid article {
    position: relative;
    aspect-ratio: 1;
    border-radius: 13px;
    overflow: hidden;
    background: var(--hp-bg);
}

.review-image-grid img,
.member-review-photos img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-image-grid form {
    position: absolute;
    top: 7px;
    right: 7px;
    margin: 0;
}

.review-image-grid button {
    padding: 6px 8px;
    border: 0;
    border-radius: 8px;
    background: rgba(28, 29, 40, .78);
    color: #fff;
    font-size: 8px;
    font-weight: 800;
    cursor: pointer;
}

.review-image-empty,
.review-image-before-save {
    padding: 28px 15px;
    border: 1px dashed var(--hp-line);
    border-radius: 14px;
    color: var(--hp-sub);
    text-align: center;
    font-size: 10px;
}

.review-image-upload {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--hp-line);
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: end;
}

.review-image-upload label {
    display: grid;
    gap: 7px;
    color: var(--hp-ink);
    font-size: 10px;
    font-weight: 800;
}

.review-image-upload input {
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--hp-line);
    border-radius: 11px;
    background: #fff;
}

.review-image-upload p {
    grid-column: 1 / -1;
    margin: 0;
    color: var(--hp-sub);
    font-size: 9px;
}

.review-image-upload button {
    height: 42px;
    padding: 0 16px;
    border: 0;
    border-radius: 11px;
    background: var(--hp-purple);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
}

.member-review-photos {
    grid-template-columns: repeat(3, 110px);
    margin: 14px 0;
}

.member-review-photos img {
    aspect-ratio: 1;
    border-radius: 12px;
}

.review-report-wrap {
    display: grid;
    gap: 16px;
}

.review-report-target span {
    color: var(--hp-purple);
    font-size: 10px;
    font-weight: 900;
}

.review-report-target h2 {
    margin: 9px 0;
    font-size: 18px;
}

.review-report-target p {
    margin: 0;
    color: var(--hp-sub);
    font-size: 11px;
    line-height: 1.8;
    white-space: pre-wrap;
}

.review-report-form label {
    display: grid;
    gap: 8px;
    font-size: 11px;
    font-weight: 800;
}

.review-report-form textarea {
    min-height: 170px;
    padding: 14px;
    border: 1px solid var(--hp-line);
    border-radius: 13px;
    resize: vertical;
    font: inherit;
    font-size: 11px;
    line-height: 1.7;
}

.review-report-form small {
    color: var(--hp-sub);
    font-size: 9px;
    font-weight: 400;
}

.review-report-form > div {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

.review-report-form a,
.review-report-form button {
    min-width: 90px;
    height: 42px;
    border: 1px solid var(--hp-line);
    border-radius: 11px;
    background: #fff;
    color: var(--hp-ink);
    text-decoration: none;
    font-size: 10px;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.review-report-form button {
    border-color: #e65463;
    background: #e65463;
    color: #fff;
}

@media (max-width: 760px) {
    .review-image-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .review-image-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .review-image-upload {
        grid-template-columns: 1fr;
    }

    .review-image-upload button {
        width: 100%;
    }

    .member-review-photos {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 20-11 사용자 예약 신청·내 예약 */
.member-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.member-alert.is-warning{border-color:#efdca2;background:#fff9e9;color:#8c6200}
.reservation-page-head{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:52px 0 27px;border-bottom:1px solid var(--hp-line);display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.reservation-page-head span{color:var(--hp-purple);font-size:10px;font-weight:900;letter-spacing:.12em}.reservation-page-head h1{margin:8px 0 7px;font-size:31px;letter-spacing:-.05em}.reservation-page-head p{margin:0;color:var(--hp-sub);font-size:11px}.reservation-page-head>a{min-height:40px;padding:0 14px;border:1px solid var(--hp-line);border-radius:10px;text-decoration:none;font-size:10px;font-weight:800;display:inline-flex;align-items:center}
.reservation-request-layout{width:min(1180px,calc(100% - 40px));margin:30px auto 80px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;align-items:start}.reservation-form-card,.reservation-order-summary,.reservation-shop-card{border:1px solid var(--hp-line);border-radius:20px;background:#fff;box-shadow:var(--hp-shadow)}.reservation-form-card{padding:24px}.reservation-form-title{margin-bottom:20px}.reservation-form-title span{color:var(--hp-purple);font-size:9px;font-weight:900}.reservation-form-title h2{margin:7px 0 4px;font-size:20px}.reservation-form-title p{margin:0;color:var(--hp-sub);font-size:10px}.reservation-form-section{padding:19px 0;border-top:1px solid var(--hp-line);display:grid;gap:13px}.reservation-form-section:first-of-type{border-top:0;padding-top:0}.reservation-form-section>label,.reservation-customer-info label{display:grid;gap:8px;color:#505364;font-size:10px;font-weight:800}.reservation-form-section select,.reservation-form-section input,.reservation-form-section textarea{width:100%;padding:11px 12px;border:1px solid #dfe1e8;border-radius:11px;background:#fff;color:var(--hp-ink);font:inherit;font-size:11px;outline:none}.reservation-form-section select,.reservation-form-section input{height:43px}.reservation-form-section textarea{min-height:110px;resize:vertical;line-height:1.65}.reservation-form-section select:focus,.reservation-form-section input:focus,.reservation-form-section textarea:focus{border-color:var(--hp-purple);box-shadow:0 0 0 4px rgba(179,58,74,.08)}.reservation-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reservation-time-message{padding:12px 13px;border-radius:10px;background:var(--hp-bg);color:var(--hp-sub);font-size:10px;line-height:1.6}.reservation-customer-info{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reservation-customer-info div{padding:12px;border-radius:11px;background:var(--hp-bg)}.reservation-customer-info span,.reservation-customer-info b{display:block}.reservation-customer-info span{color:var(--hp-sub);font-size:9px}.reservation-customer-info b{margin-top:5px;font-size:10px;word-break:break-all}.reservation-form-notice{padding:14px;border:1px solid #f1d9de;border-radius:11px;background:#fffafb;color:#666a7a;font-size:9px;line-height:1.7}.reservation-submit{width:100%;height:47px;border:0;border-radius:12px;background:var(--hp-purple);color:#fff;font-size:12px;font-weight:900;cursor:pointer}.reservation-shop-card{overflow:hidden}.reservation-shop-image{height:210px;background:var(--hp-soft);display:grid;place-items:center;color:var(--hp-purple);font-size:28px;font-weight:900}.reservation-shop-image img{width:100%;height:100%;object-fit:cover}.reservation-shop-card>div:last-child{padding:20px}.reservation-shop-card h2{margin:0 0 6px;font-size:18px}.reservation-shop-card p{margin:0;color:var(--hp-sub);font-size:10px;line-height:1.6}.reservation-order-summary{margin-top:15px;padding:20px;position:sticky;top:105px}.reservation-order-summary h3{margin:0 0 14px;font-size:14px}.reservation-order-summary dl{margin:0;display:grid;gap:10px}.reservation-order-summary dl div{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid #f0f1f4}.reservation-order-summary dt{color:var(--hp-sub);font-size:9px}.reservation-order-summary dd{margin:0;text-align:right;font-size:10px;font-weight:800}.reservation-order-summary strong{color:var(--hp-purple)}
.reservation-complete{width:min(650px,calc(100% - 30px));margin:70px auto;padding:50px 30px;border:1px solid var(--hp-line);border-radius:25px;background:#fff;text-align:center;box-shadow:var(--hp-shadow)}.reservation-complete-icon{width:66px;height:66px;margin:auto;border-radius:50%;background:var(--hp-soft);color:var(--hp-purple);font-size:25px;font-weight:900;display:grid;place-items:center}.reservation-complete h1{margin:20px 0 9px}.reservation-complete>p{color:var(--hp-sub);font-size:11px}.reservation-complete dl{max-width:440px;margin:25px auto 0;text-align:left}.reservation-complete dl div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--hp-line);font-size:10px}.reservation-complete dd{margin:0;font-weight:800;text-align:right}.reservation-complete-actions{margin-top:26px;display:flex;justify-content:center;gap:8px}.reservation-complete-actions a{min-height:42px;padding:0 16px;border:1px solid var(--hp-line);border-radius:11px;text-decoration:none;font-size:10px;font-weight:800;display:inline-flex;align-items:center}.reservation-complete-actions a.is-primary{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}
.member-reservation-wrap,.member-reservation-detail-wrap,.member-reservation-request-wrap{display:grid;gap:18px}.member-reservation-filter{padding:15px;border:1px solid var(--hp-line);border-radius:16px;background:#fff;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.member-reservation-filter a{min-height:35px;padding:0 11px;border:1px solid var(--hp-line);border-radius:9px;text-decoration:none;color:var(--hp-sub);font-size:9px;font-weight:800;display:inline-flex;align-items:center}.member-reservation-filter a.is-current{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}.member-reservation-filter form{margin-left:auto;display:flex;gap:7px}.member-reservation-filter select,.member-reservation-filter input{height:36px;padding:0 10px;border:1px solid var(--hp-line);border-radius:9px;font:inherit;font-size:9px}.member-reservation-filter button{height:36px;padding:0 12px;border:0;border-radius:9px;background:var(--hp-ink);color:#fff;font-size:9px;font-weight:800}.member-reservation-list{display:grid;gap:12px}.member-reservation-card{padding:19px;border:1px solid var(--hp-line);border-radius:17px;background:#fff;box-shadow:var(--hp-shadow)}.member-reservation-card-head,.member-reservation-card-foot{display:flex;align-items:center;justify-content:space-between;gap:14px}.member-reservation-card-head span{color:var(--hp-sub);font-size:9px}.member-reservation-card-head b{display:block;margin-top:5px;font-size:13px}.member-reservation-status{padding:6px 9px;border-radius:999px;background:#f1f2f5;color:#777b8b;font-size:9px;font-weight:850}.member-reservation-status.is-success{background:#eaf9f3;color:#16835f}.member-reservation-status.is-warning{background:#fff6de;color:#956600}.member-reservation-status.is-service{background:#eef4ff;color:#983540}.member-reservation-status.is-danger{background:#fff0f2;color:#c04457}.member-reservation-status.is-refund{background:#eaf7ff;color:#167aa9}.member-reservation-card-body{margin:16px 0;padding:15px;border-radius:12px;background:var(--hp-bg);display:grid;grid-template-columns:1.1fr 1fr .7fr;gap:12px}.member-reservation-card-body span,.member-reservation-card-body b,.member-reservation-card-body small{display:block}.member-reservation-card-body span{color:var(--hp-sub);font-size:8px}.member-reservation-card-body b{margin-top:5px;font-size:11px}.member-reservation-card-body small{margin-top:4px;color:var(--hp-sub);font-size:8px}.member-reservation-card-foot small{color:var(--hp-sub);font-size:9px}.member-reservation-card-foot a{min-height:35px;padding:0 11px;border:1px solid var(--hp-line);border-radius:9px;text-decoration:none;font-size:9px;font-weight:800;display:inline-flex;align-items:center}.member-reservation-card-foot a.is-review{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}
.member-reservation-detail-head{padding:21px;border:1px solid var(--hp-line);border-radius:18px;background:#fff;box-shadow:var(--hp-shadow);display:flex;justify-content:space-between;gap:20px}.member-reservation-detail-head>div>span{color:var(--hp-sub);font-size:9px}.member-reservation-detail-head>div>strong{display:block;margin-top:8px;font-size:19px}.member-reservation-detail-head>div:last-child{text-align:right}.member-reservation-detail-head p{margin:7px 0 0;color:var(--hp-sub);font-size:10px}.member-reservation-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.member-reservation-detail-card{padding:20px;border:1px solid var(--hp-line);border-radius:18px;background:#fff}.member-reservation-detail-card h2{margin:0 0 16px;font-size:15px}.member-reservation-detail-card dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.member-reservation-detail-card dl div{padding:12px;border-radius:10px;background:var(--hp-bg)}.member-reservation-detail-card dt{color:var(--hp-sub);font-size:8px}.member-reservation-detail-card dd{margin:5px 0 0;font-size:10px;font-weight:750;word-break:break-all}.member-reservation-memo{margin-top:12px;padding:13px;border-radius:10px;background:var(--hp-bg)}.member-reservation-memo.is-danger{border:1px solid #f2c6ce;background:#fff7f8}.member-reservation-memo b{font-size:9px}.member-reservation-memo p{margin:6px 0 0;color:#5f6374;font-size:10px;line-height:1.7;white-space:pre-wrap}.member-reservation-active-request{padding:20px;border:1px solid #f1d7dc;border-radius:18px;background:#fffafb}.member-reservation-active-request>div:first-child{display:flex;justify-content:space-between;gap:15px}.member-reservation-active-request h2{margin:0;font-size:15px}.member-reservation-active-request>p{margin:13px 0;padding:12px;border-radius:10px;background:#fff;color:#5f6374;font-size:10px;line-height:1.7}.member-reservation-active-request form{text-align:right}.member-reservation-active-request button{height:37px;padding:0 12px;border:1px solid #efc9ce;border-radius:9px;background:#fff7f8;color:#c14557;font-size:9px;font-weight:800}.member-reservation-request-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.member-reservation-request-grid div{padding:12px;border-radius:10px;background:#fff}.member-reservation-request-grid span,.member-reservation-request-grid b{display:block}.member-reservation-request-grid span{color:var(--hp-sub);font-size:8px}.member-reservation-request-grid b{margin-top:5px;font-size:10px}.member-reservation-actions{display:flex;gap:8px;flex-wrap:wrap}.member-reservation-actions a,.member-reservation-contact-actions a{min-height:41px;padding:0 14px;border:1px solid var(--hp-line);border-radius:10px;text-decoration:none;font-size:10px;font-weight:800;display:inline-flex;align-items:center}.member-reservation-actions a.is-primary{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}.member-reservation-actions a.is-danger{border-color:#efc5cc;background:#fff7f8;color:#c14557}.member-reservation-contact-actions{display:flex;gap:8px;flex-wrap:wrap}.member-reservation-timeline,.member-reservation-request-history{padding:20px;border:1px solid var(--hp-line);border-radius:18px;background:#fff}.member-reservation-timeline h2,.member-reservation-request-history h2{margin:0 0 16px;font-size:15px}.member-reservation-timeline article,.member-reservation-history-card{position:relative;padding:0 0 18px 25px}.member-reservation-timeline article:not(:last-child):before{content:"";position:absolute;left:5px;top:12px;bottom:-1px;width:1px;background:#e0e2e8}.member-reservation-timeline article>span{position:absolute;left:0;top:4px;width:12px;height:12px;border:3px solid #efd4d9;border-radius:50%;background:var(--hp-purple)}.member-reservation-timeline b,.member-reservation-timeline small{display:block}.member-reservation-timeline b{font-size:10px}.member-reservation-timeline small{margin-top:4px;color:var(--hp-sub);font-size:8px}.member-reservation-timeline p{margin:7px 0 0;padding:10px;border-radius:9px;background:var(--hp-bg);font-size:9px;line-height:1.6}.member-reservation-history-grid{display:grid;gap:10px}.member-reservation-history-card{padding:13px;border:1px solid var(--hp-line);border-radius:11px}.member-reservation-history-card header{display:flex;justify-content:space-between;gap:10px}.member-reservation-history-card p{margin:8px 0;color:#5f6374;font-size:9px;line-height:1.65}.member-reservation-history-card small{color:var(--hp-sub);font-size:8px}.member-reservation-history-empty{color:var(--hp-sub);font-size:10px}.member-reservation-request-summary{padding:21px;border:1px solid var(--hp-line);border-radius:18px;background:#fff;box-shadow:var(--hp-shadow)}.member-reservation-request-summary>span{color:var(--hp-purple);font-size:9px;font-weight:850}.member-reservation-request-summary h2{margin:8px 0 5px}.member-reservation-request-summary>p{margin:0;color:var(--hp-sub);font-size:10px}.member-reservation-request-summary dl{margin:18px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.member-reservation-request-summary dl div{padding:12px;border-radius:10px;background:var(--hp-bg)}.member-reservation-request-summary dt{color:var(--hp-sub);font-size:8px}.member-reservation-request-summary dd{margin:5px 0 0;font-size:10px;font-weight:800}.member-reservation-request-form{padding:21px;border:1px solid var(--hp-line);border-radius:18px;background:#fff}.member-reservation-request-form>label{display:grid;gap:8px;font-size:10px;font-weight:800}.member-reservation-request-form input,.member-reservation-request-form select,.member-reservation-request-form textarea{width:100%;padding:11px 12px;border:1px solid #dfe1e8;border-radius:10px;font:inherit;font-size:10px;outline:none}.member-reservation-request-form input,.member-reservation-request-form select{height:42px}.member-reservation-request-form textarea{min-height:120px;resize:vertical;line-height:1.7}.member-reservation-request-form small{color:var(--hp-sub);font-size:8px;font-weight:400}.member-reservation-request-form>.reservation-date-grid{margin-bottom:14px}.member-reservation-current-box{margin-bottom:14px;padding:14px;border-radius:11px;background:var(--hp-bg);font-size:9px;line-height:1.65}.member-reservation-request-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:8px}.member-reservation-request-actions a,.member-reservation-request-actions button{min-height:42px;padding:0 15px;border:1px solid var(--hp-line);border-radius:10px;background:#fff;color:var(--hp-ink);text-decoration:none;font-size:10px;font-weight:850;display:inline-flex;align-items:center;justify-content:center}.member-reservation-request-actions button{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}.member-reservation-request-actions button.is-danger{border-color:#d95768;background:#d95768;color:#fff}
@media(max-width:980px){.reservation-request-layout{grid-template-columns:1fr}.reservation-order-summary{position:static}.member-reservation-detail-grid{grid-template-columns:1fr}.member-reservation-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.member-menu-grid{grid-template-columns:1fr 1fr}.reservation-page-head,.member-page-head{width:calc(100% - 30px);align-items:flex-start}.reservation-request-layout{width:calc(100% - 30px)}.reservation-form-card{padding:17px}.reservation-date-grid,.reservation-customer-info,.member-reservation-card-body,.member-reservation-detail-card dl,.member-reservation-request-grid,.member-reservation-request-summary dl{grid-template-columns:1fr}.member-reservation-filter{align-items:stretch}.member-reservation-filter form{width:100%;margin-left:0;display:grid;grid-template-columns:1fr}.member-reservation-card-head,.member-reservation-card-foot,.member-reservation-detail-head{align-items:flex-start;flex-direction:column}.member-reservation-detail-head>div:last-child{text-align:left}.member-reservation-request-actions{flex-direction:column}.member-reservation-request-actions a,.member-reservation-request-actions button{width:100%}}

.member-reservation-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.member-reservation-kpis article{padding:16px;border:1px solid var(--hp-line);border-radius:14px;background:#fff;box-shadow:var(--hp-shadow)}.member-reservation-kpis span,.member-reservation-kpis strong{display:block}.member-reservation-kpis span{color:var(--hp-sub);font-size:9px;font-weight:800}.member-reservation-kpis strong{margin-top:7px;font-size:22px}
@media(max-width:680px){.member-reservation-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 20-11 예약 상세 이력·후기 상태 보정 */
.member-reservation-active-request > div:first-child {
    display: block;
}

.member-reservation-active-request > div:first-child > span {
    color: var(--hp-purple);
    font-size: 9px;
    font-weight: 900;
}

.member-reservation-active-request > div:first-child > h2 {
    margin: 7px 0 8px;
}

.member-reservation-active-request > div:first-child > p {
    margin: 0;
    color: #5f6374;
    font-size: 10px;
    line-height: 1.7;
    white-space: pre-wrap;
}

.member-reservation-active-request dl {
    margin: 14px 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.member-reservation-active-request dl div {
    padding: 11px;
    border-radius: 10px;
    background: #fff;
}

.member-reservation-active-request dt {
    color: var(--hp-sub);
    font-size: 8px;
}

.member-reservation-active-request dd {
    margin: 5px 0 0;
    font-size: 10px;
    font-weight: 800;
}

.member-reservation-active-request > div:first-child > small {
    display: block;
    margin-top: 12px;
    color: var(--hp-sub);
    font-size: 8px;
}

.member-reservation-history-grid {
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.member-reservation-history-card {
    position: static;
    padding: 20px;
    border: 1px solid var(--hp-line);
    border-radius: 18px;
    background: #fff;
}

.member-reservation-history-card > h2 {
    margin: 0 0 16px;
    font-size: 15px;
}

.member-reservation-history-card .member-reservation-timeline,
.member-reservation-history-card .member-reservation-request-history {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.member-reservation-timeline > div {
    position: relative;
    min-height: 60px;
    padding: 0 0 18px 25px;
}

.member-reservation-timeline > div:not(:last-child)::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 12px;
    bottom: -1px;
    width: 1px;
    background: #e0e2e8;
}

.member-reservation-timeline > div > span {
    position: absolute;
    left: 0;
    top: 4px;
    width: 12px;
    height: 12px;
    border: 3px solid #efd4d9;
    border-radius: 50%;
    background: var(--hp-purple);
}

.member-reservation-timeline > div > b,
.member-reservation-timeline > div > small {
    display: block;
}

.member-reservation-timeline > div > b {
    font-size: 10px;
}

.member-reservation-timeline > div > small {
    margin-top: 4px;
    color: var(--hp-sub);
    font-size: 8px;
}

.member-reservation-timeline > div > p {
    margin: 7px 0 0;
    padding: 10px;
    border-radius: 9px;
    background: var(--hp-bg);
    font-size: 9px;
    line-height: 1.6;
}

.member-reservation-request-history > div {
    padding: 13px;
    border: 1px solid var(--hp-line);
    border-radius: 11px;
}

.member-reservation-request-history > div + div {
    margin-top: 10px;
}

.member-reservation-request-history header {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.member-reservation-request-history p,
.member-reservation-request-history blockquote {
    margin: 8px 0 0;
    color: #5f6374;
    font-size: 9px;
    line-height: 1.65;
}

.member-reservation-request-history blockquote {
    padding: 10px;
    border: 0;
    border-radius: 9px;
    background: var(--hp-bg);
}

.member-reservation-request-history small {
    display: block;
    margin-top: 9px;
    color: var(--hp-sub);
    font-size: 8px;
}

.member-reservation-review-unavailable {
    min-height: 41px;
    padding: 0 14px;
    border: 1px solid #e0e2e8;
    border-radius: 10px;
    background: #f5f6f8;
    color: #777b8b;
    font-size: 9px;
    font-weight: 750;
    display: inline-flex;
    align-items: center;
}

@media (max-width: 980px) {
    .member-reservation-history-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 680px) {
    .member-reservation-active-request dl {
        grid-template-columns: 1fr;
    }

    .member-reservation-review-unavailable {
        width: 100%;
    }
}


/* 예약 신청 화면 레이아웃·예약자 정보 교정 */
.reservation-request-layout {
    grid-template-columns: minmax(0, 1fr) 340px;
    grid-template-areas: "form shop";
    gap: 22px;
}

.reservation-form-card {
    grid-area: form;
    min-width: 0;
}

.reservation-shop-card {
    grid-area: shop;
    min-width: 0;
    position: sticky;
    top: 105px;
}

.reservation-form-title {
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.reservation-form-title > span {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--hp-soft);
    display: grid;
    place-items: center;
    line-height: 1;
}

.reservation-form-title > div {
    min-width: 0;
}

.reservation-customer-info {
    margin: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reservation-customer-info > div {
    min-width: 0;
    min-height: 84px;
}

.reservation-customer-info dt {
    color: var(--hp-sub);
    font-size: 9px;
    font-weight: 700;
}

.reservation-customer-info dd {
    margin: 7px 0 0;
    color: var(--hp-ink);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.55;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.reservation-order-summary {
    position: static;
    top: auto;
    margin-top: 0;
    padding: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.reservation-order-summary > div {
    min-width: 0;
    padding: 13px;
    border: 1px solid #eceef3;
    border-radius: 11px;
    background: var(--hp-bg);
}

.reservation-order-summary > div > span,
.reservation-order-summary > div > strong {
    display: block;
}

.reservation-order-summary > div > span {
    color: var(--hp-sub);
    font-size: 9px;
}

.reservation-order-summary > div > strong {
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.45;
    word-break: break-word;
}

.reservation-form-notice {
    width: 100%;
    box-sizing: border-box;
}

@media (max-width: 980px) {
    .reservation-request-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "form"
            "shop";
    }

    .reservation-shop-card {
        position: static;
        top: auto;
    }
}

@media (max-width: 680px) {
    .reservation-form-title {
        gap: 9px;
    }

    .reservation-customer-info,
    .reservation-order-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .reservation-customer-info > div {
        min-height: auto;
    }

    .reservation-order-summary {
        padding: 13px;
    }
}


/* 내 예약 목록 링크 밑줄·예약 상세 문의 버튼 간격 교정 */
.member-reservation-card-main {
    display: block;
    color: inherit;
    text-decoration: none;
}

.member-reservation-card-main:hover,
.member-reservation-card-main:focus,
.member-reservation-card-main:visited {
    color: inherit;
    text-decoration: none;
}

.member-reservation-card-main h2,
.member-reservation-card-main strong,
.member-reservation-card-main b,
.member-reservation-card-main span,
.member-reservation-card-main small {
    text-decoration: none;
}

.member-reservation-contact-actions {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--hp-line);
}

@media (max-width: 680px) {
    .member-reservation-contact-actions {
        margin-top: 16px;
        padding-top: 14px;
    }

    .member-reservation-contact-actions a {
        flex: 1 1 auto;
        justify-content: center;
    }
}


/* 20-11 사용자 예약 변경 요청 화면 교정 */
.member-reservation-request-page {
    display: grid;
    gap: 18px;
}

.member-reservation-current-box {
    margin: 0;
    padding: 20px;
    border: 1px solid var(--hp-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--hp-shadow);
    font-size: inherit;
    line-height: normal;
}

.member-reservation-current-box > span {
    color: var(--hp-purple);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
}

.member-reservation-current-box > h2 {
    margin: 8px 0 16px;
    font-size: 18px;
    line-height: 1.35;
}

.member-reservation-current-box dl {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.member-reservation-current-box dl > div {
    min-width: 0;
    padding: 13px;
    border-radius: 11px;
    background: var(--hp-bg);
}

.member-reservation-current-box dt {
    color: var(--hp-sub);
    font-size: 9px;
    font-weight: 700;
}

.member-reservation-current-box dd {
    margin: 7px 0 0;
    color: var(--hp-ink);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.55;
    word-break: break-word;
}

.member-reservation-request-form {
    padding: 20px;
    display: grid;
    gap: 16px;
    box-shadow: var(--hp-shadow);
}

.member-reservation-request-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.member-reservation-request-grid > label,
.member-reservation-request-form > label {
    min-width: 0;
    display: grid;
    gap: 8px;
    color: var(--hp-ink);
    font-size: 10px;
    font-weight: 800;
}

.member-reservation-request-form input,
.member-reservation-request-form select,
.member-reservation-request-form textarea {
    box-sizing: border-box;
    background: #fff;
}

.member-reservation-request-form input:focus,
.member-reservation-request-form select:focus,
.member-reservation-request-form textarea:focus {
    border-color: var(--hp-purple);
    box-shadow: 0 0 0 4px rgba(179, 58, 74, .08);
}

.member-reservation-request-form select:disabled {
    color: var(--hp-sub);
    background: #f4f5f8;
    cursor: not-allowed;
}

.member-reservation-request-form .reservation-time-message {
    width: 100%;
    margin: 0;
    padding: 12px 13px;
    border: 1px solid #eceef3;
    border-radius: 10px;
    background: var(--hp-bg);
    color: var(--hp-sub);
    font-size: 9px;
    line-height: 1.55;
    box-sizing: border-box;
}

.member-reservation-request-form .reservation-form-notice {
    width: 100%;
    margin: 0;
    box-sizing: border-box;
}

.member-reservation-request-form > button[type="submit"] {
    min-width: 150px;
    min-height: 44px;
    padding: 0 18px;
    justify-self: end;
    border: 1px solid var(--hp-purple);
    border-radius: 11px;
    background: var(--hp-purple);
    color: #fff;
    font-family: inherit;
    font-size: 10px;
    font-weight: 850;
    cursor: pointer;
}

.member-reservation-request-form > button[type="submit"]:hover {
    filter: brightness(.96);
}

@media (max-width: 760px) {
    .member-reservation-current-box {
        padding: 16px;
    }

    .member-reservation-current-box dl,
    .member-reservation-request-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .member-reservation-request-form {
        padding: 16px;
    }

    .member-reservation-request-form > button[type="submit"] {
        width: 100%;
        justify-self: stretch;
    }
}


/* 20-12 사용자 결제 */
.member-payment-request-wrap,.member-payment-list-wrap,.member-payment-detail-wrap,.member-payment-result-wrap{display:grid;gap:18px}.member-payment-summary-card,.member-payment-method-form,.member-payment-detail-card,.member-payment-result-card{padding:22px;border:1px solid var(--hp-line);border-radius:18px;background:#fff;box-shadow:var(--hp-shadow)}.member-payment-summary-card>span,.member-payment-form-head span{color:var(--hp-purple);font-size:9px;font-weight:900}.member-payment-summary-card h2,.member-payment-form-head h2{margin:8px 0 0;font-size:19px}.member-payment-summary-card dl,.member-payment-detail-card dl{margin:18px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.member-payment-summary-card dl div,.member-payment-detail-card dl div{padding:13px;border-radius:11px;background:var(--hp-bg)}.member-payment-summary-card dt,.member-payment-detail-card dt{color:var(--hp-sub);font-size:9px}.member-payment-summary-card dd,.member-payment-detail-card dd{margin:7px 0 0;font-size:11px;font-weight:800;word-break:break-word}.member-payment-form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.member-payment-form-head em{padding:6px 9px;border-radius:999px;background:#fff1f3;color:var(--hp-purple);font-size:9px;font-style:normal;font-weight:800}.member-payment-method-grid{margin-top:20px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.member-payment-method-grid label{cursor:pointer}.member-payment-method-grid input{position:absolute;opacity:0}.member-payment-method-grid span{min-height:64px;border:1px solid var(--hp-line);border-radius:13px;background:#fff;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center}.member-payment-method-grid input:checked+span{border-color:var(--hp-purple);background:#fff4f5;color:var(--hp-purple);box-shadow:0 0 0 3px rgba(179,58,74,.08)}.member-payment-notice,.member-payment-unavailable{margin-top:16px;padding:14px;border:1px solid #f1d9de;border-radius:12px;background:#fffafb;color:#6c6780;font-size:10px;line-height:1.65}.member-payment-unavailable{margin-top:0}.member-payment-unavailable b{color:var(--hp-ink)}.member-payment-method-form>button{width:100%;height:48px;margin-top:16px;border:0;border-radius:12px;background:var(--hp-purple);color:#fff;font-size:11px;font-weight:850;cursor:pointer}.member-payment-filter{padding:14px;border:1px solid var(--hp-line);border-radius:15px;background:#fff;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.member-payment-filter a{min-height:35px;padding:0 11px;border:1px solid var(--hp-line);border-radius:9px;color:var(--hp-sub);text-decoration:none;font-size:9px;font-weight:800;display:inline-flex;align-items:center}.member-payment-filter a.is-current{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}.member-payment-filter>span{margin-left:auto;color:var(--hp-sub);font-size:9px}.member-payment-list{display:grid;gap:12px}.member-payment-card{padding:19px;border:1px solid var(--hp-line);border-radius:17px;background:#fff;box-shadow:var(--hp-shadow)}.member-payment-card-head,.member-payment-card-foot{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.member-payment-card-head span{color:var(--hp-sub);font-size:9px}.member-payment-card-head h2{margin:7px 0 0;font-size:16px}.member-payment-card-head em{font-style:normal}.member-payment-card dl{margin:16px 0;padding:14px;border-radius:12px;background:var(--hp-bg);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.member-payment-card dt{color:var(--hp-sub);font-size:8px}.member-payment-card dd{margin:6px 0 0;font-size:10px;font-weight:800;word-break:break-word}.member-payment-card-foot{align-items:center}.member-payment-card-foot a,.member-payment-detail-actions a,.member-payment-result-actions a{min-height:38px;padding:0 12px;border:1px solid var(--hp-line);border-radius:10px;color:var(--hp-ink);text-decoration:none;font-size:9px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.member-payment-card-foot a.is-primary,.member-payment-detail-actions a.is-primary,.member-payment-result-actions a.is-primary{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}.member-payment-empty{padding:36px 16px;border:1px dashed var(--hp-line);border-radius:15px;color:var(--hp-sub);text-align:center;font-size:10px}.member-payment-detail-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.member-payment-detail-head>div{padding:18px;border:1px solid var(--hp-line);border-radius:15px;background:#fff;box-shadow:var(--hp-shadow)}.member-payment-detail-head span,.member-payment-detail-head strong{display:block}.member-payment-detail-head span{color:var(--hp-sub);font-size:9px}.member-payment-detail-head strong{margin-top:8px;font-size:17px}.member-payment-detail-actions,.member-payment-result-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.member-payment-failure{margin-top:16px;padding:14px;border:1px solid #f3cdd3;border-radius:12px;background:#fff5f6}.member-payment-failure b{font-size:10px}.member-payment-failure p{margin:7px 0 0;color:#a24858;font-size:10px;line-height:1.6}.member-payment-refund-list{margin-top:16px;display:grid;gap:10px}.member-payment-refund-list>div:not(.member-payment-empty){padding:14px;border-radius:12px;background:var(--hp-bg)}.member-payment-refund-list span{float:right;color:var(--hp-purple);font-size:9px;font-weight:800}.member-payment-refund-list p{margin:8px 0;color:var(--hp-sub);font-size:10px}.member-payment-refund-list small{color:var(--hp-sub);font-size:9px}.member-payment-result-card{text-align:center}.member-payment-result-card>span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#f1f2f5;font-size:9px;font-weight:850}.member-payment-result-card h2{margin:16px 0 8px;font-size:22px}.member-payment-result-card p{margin:0;color:var(--hp-sub);font-size:11px;line-height:1.7}.member-payment-result-card dl{width:min(430px,100%);margin:22px auto 0}.member-payment-result-card dl div{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--hp-line);font-size:10px}.member-payment-result-card dd{margin:0;font-weight:800}.member-reservation-payment-panel{padding:17px 19px;border:1px solid #efd5da;border-radius:16px;background:#fffafb;display:flex;align-items:center;justify-content:space-between;gap:16px}.member-reservation-payment-panel span{color:var(--hp-purple);font-size:9px;font-weight:900}.member-reservation-payment-panel h2{margin:7px 0 4px;font-size:15px}.member-reservation-payment-panel p{margin:0;color:var(--hp-sub);font-size:9px}.member-reservation-payment-panel>div:last-child{display:flex;gap:7px;flex-wrap:wrap}.member-reservation-payment-panel a{min-height:37px;padding:0 11px;border:1px solid var(--hp-line);border-radius:9px;background:#fff;color:var(--hp-ink);text-decoration:none;font-size:9px;font-weight:800;display:inline-flex;align-items:center}.member-reservation-payment-panel a.is-primary{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}
@media(max-width:760px){.member-payment-summary-card dl,.member-payment-detail-card dl,.member-payment-method-grid,.member-payment-card dl,.member-payment-detail-head{grid-template-columns:1fr}.member-payment-filter>span{width:100%;margin-left:0}.member-payment-card-head,.member-payment-card-foot,.member-payment-form-head,.member-reservation-payment-panel{align-items:flex-start;flex-direction:column}.member-payment-card-foot a,.member-payment-detail-actions a,.member-payment-result-actions a,.member-reservation-payment-panel a{width:100%;box-sizing:border-box}.member-payment-detail-actions,.member-payment-result-actions,.member-reservation-payment-panel>div:last-child{width:100%}}


/* 회원정보 수정 - 20-12 누적 member.css 위에 추가 */
.member-profile-success{
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:12px;
    background:#eaf9f4;
    color:#11865f;
    font-size:11px;
    font-weight:800;
}
.member-profile-form{
    padding:24px;
    border:1px solid var(--hp-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--hp-shadow);
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.member-profile-field{
    display:grid;
    gap:8px;
}
.member-profile-field.is-wide{
    grid-column:1/-1;
}
.member-profile-field label{
    color:#505365;
    font-size:10px;
    font-weight:850;
}
.member-profile-field input{
    width:100%;
    height:46px;
    padding:0 13px;
    border:1px solid #dfe1e9;
    border-radius:11px;
    background:#fbfbfd;
    outline:none;
    font-size:12px;
    box-sizing:border-box;
}
.member-profile-field input:focus{
    border-color:var(--hp-purple);
    background:#fff;
    box-shadow:0 0 0 4px rgba(179,58,74,.08);
}
.member-profile-field input[readonly]{
    background:#f2f3f6;
    color:#858897;
}
.member-profile-field small{
    color:var(--hp-sub);
    font-size:9px;
    line-height:1.6;
}
.member-profile-verify-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 105px;
    gap:8px;
}
.member-profile-verify-row.is-code{
    margin-top:2px;
}
.member-profile-verify-row button{
    height:46px;
    border:1px solid #eccfd5;
    border-radius:11px;
    background:var(--hp-soft);
    color:var(--hp-purple);
    font-size:10px;
    font-weight:850;
    cursor:pointer;
}
.member-profile-checks{
    grid-column:1/-1;
    padding:14px;
    border-radius:12px;
    background:var(--hp-bg);
    display:flex;
    gap:22px;
}
.member-profile-checks label{
    display:flex;
    align-items:center;
    gap:7px;
    font-size:10px;
    font-weight:800;
}
.member-profile-checks input{
    width:17px;
    height:17px;
    accent-color:var(--hp-purple);
}
.member-profile-actions{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    gap:8px;
    padding-top:4px;
}
.member-profile-actions a,
.member-profile-actions button{
    min-height:42px;
    padding:0 17px;
    border-radius:10px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:10px;
    font-weight:850;
    text-decoration:none;
}
.member-profile-actions a{
    border:1px solid var(--hp-line);
    background:#fff;
    color:var(--hp-ink);
}
.member-profile-actions button{
    border:0;
    background:var(--hp-purple);
    color:#fff;
    cursor:pointer;
}

@media(max-width:640px){
    .member-profile-form{
        grid-template-columns:1fr;
        padding:17px;
    }
    .member-profile-field.is-wide,
    .member-profile-checks,
    .member-profile-actions{
        grid-column:auto;
    }
    .member-profile-verify-row{
        grid-template-columns:minmax(0,1fr) 92px;
    }
    .member-profile-checks{
        align-items:flex-start;
        flex-direction:column;
        gap:10px;
    }
    .member-profile-actions{
        flex-direction:column;
    }
    .member-profile-actions a,
    .member-profile-actions button{
        width:100%;
    }
}
