﻿.detail-hero{padding:42px 20px 34px;background:linear-gradient(180deg,#fffafb,#fff)}
.detail-hero-inner{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:1.18fr 1fr;gap:42px;align-items:center}
.detail-cover{height:420px;border-radius:28px;overflow:hidden;background:linear-gradient(135deg,#f3dadd,#f5e6db);box-shadow:var(--hp-shadow)}
.detail-cover img{width:100%;height:100%;object-fit:cover}
.detail-summary{padding-right:25px}.detail-badges{display:flex;gap:7px}.detail-badges span{padding:7px 10px;border-radius:30px;background:var(--hp-soft);color:var(--hp-purple);font-size:10px;font-weight:850}
.detail-summary h1{margin:18px 0 10px;font-size:40px;letter-spacing:-.055em}.detail-summary>p{margin:0;color:var(--hp-sub);font-size:14px;line-height:1.7}
.detail-score{display:flex;gap:13px;margin-top:22px;font-size:12px}.detail-score b{color:#f19b22}.detail-address{display:grid;gap:4px;margin-top:22px;padding-top:20px;border-top:1px solid var(--hp-line);font-size:12px}.detail-address span{color:var(--hp-sub)}
.detail-actions{display:flex;gap:9px;margin-top:24px}.detail-actions a{min-width:120px;padding:13px 18px;border:1px solid var(--hp-line);border-radius:12px;text-align:center;text-decoration:none;font-size:12px;font-weight:800}.detail-actions .is-primary{border-color:var(--hp-purple);background:var(--hp-purple);color:#fff}
.detail-tabs{position:sticky;top:76px;z-index:30;display:flex;justify-content:center;gap:34px;padding:17px 20px;border-top:1px solid var(--hp-line);border-bottom:1px solid var(--hp-line);background:rgba(255,255,255,.95);backdrop-filter:blur(10px)}.detail-tabs a{text-decoration:none;color:var(--hp-sub);font-size:12px;font-weight:800}.detail-tabs a:hover{color:var(--hp-purple)}
.detail-layout{width:min(1180px,calc(100% - 40px));margin:42px auto 90px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start}.detail-section{scroll-margin-top:145px;padding:32px;border:1px solid var(--hp-line);border-radius:22px;background:#fff;margin-bottom:22px}
.detail-title{margin-bottom:24px}.detail-title h2{margin:0;font-size:23px;letter-spacing:-.04em}.detail-title p{margin:7px 0 0;color:var(--hp-sub);font-size:11px}.detail-rich{color:#4d5060;font-size:13px;line-height:1.85;overflow-wrap:anywhere}.detail-rich img{max-width:100%;height:auto}
.detail-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}.detail-facts span{padding:14px;border-radius:13px;background:var(--hp-bg);font-size:11px;color:var(--hp-sub)}.detail-facts b{float:right;color:var(--hp-ink)}
.detail-price-list{display:grid;gap:10px}.detail-price-list article{padding:16px 18px;border:1px solid var(--hp-line);border-radius:14px;display:flex;align-items:center;justify-content:space-between}.detail-price-list small{color:var(--hp-purple);font-size:9px;font-weight:800}.detail-price-list h3{margin:5px 0;font-size:14px}.detail-price-list span{color:var(--hp-sub);font-size:10px}.detail-price-list strong{display:grid;text-align:right;font-size:14px}.detail-price-list del{color:#aaa;font-size:9px;font-weight:400}
.designer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.designer-grid article{display:flex;gap:14px;padding:14px;border:1px solid var(--hp-line);border-radius:15px;align-items:center}.designer-photo{flex:0 0 72px;width:72px;height:72px;display:grid;place-items:center;border-radius:23px;overflow:hidden;background:var(--hp-soft);color:var(--hp-purple);font-weight:900}.designer-photo img{width:100%;height:100%;object-fit:cover}.designer-grid small{color:var(--hp-purple);font-size:9px;font-weight:800}.designer-grid h3{margin:4px 0;font-size:14px}.designer-grid p{margin:0;color:var(--hp-sub);font-size:10px}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.portfolio-grid article>div{aspect-ratio:1;border-radius:13px;overflow:hidden;background:var(--hp-soft);display:grid;place-items:center}.portfolio-grid img{width:100%;height:100%;object-fit:cover}.portfolio-grid span{color:var(--hp-purple);font-size:25px;font-weight:900}.portfolio-grid h3{margin:9px 0 3px;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-grid p{margin:0;color:var(--hp-sub);font-size:9px}
.review-list{display:grid;gap:12px}.review-list article{padding:18px;border:1px solid var(--hp-line);border-radius:14px}.review-head{display:flex;gap:10px;align-items:center;font-size:10px}.review-head span{color:#f2a12b;font-weight:900}.review-head time{margin-left:auto;color:var(--hp-sub)}.review-list article>p{margin:12px 0 0;color:#505362;font-size:12px;line-height:1.7;white-space:pre-line}.review-reply{margin-top:14px;padding:13px;border-radius:11px;background:var(--hp-bg);color:var(--hp-sub);font-size:11px;line-height:1.6}.review-reply b{display:block;margin-bottom:4px;color:var(--hp-ink)}
.detail-map{height:330px;border-radius:16px;overflow:hidden}.detail-map-empty,.detail-empty{padding:35px 15px;border:1px dashed #d8d9e2;border-radius:14px;color:var(--hp-sub);text-align:center;font-size:11px}.hours-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:16px}.hours-list span{padding:11px 13px;border-radius:10px;background:var(--hp-bg);font-size:10px}.hours-list b{display:inline-block;width:58px}
.detail-side{position:sticky;top:140px}.consult-card{padding:26px;border:1px solid #efd4d9;border-radius:22px;background:linear-gradient(160deg,#fffafb,#fff);box-shadow:var(--hp-shadow)}.consult-card>span{color:var(--hp-purple);font-size:10px;font-weight:850}.consult-card h2{margin:10px 0;font-size:23px;line-height:1.4;letter-spacing:-.045em}.consult-card>p{margin:0 0 20px;color:var(--hp-sub);font-size:11px;line-height:1.6}.consult-card form{display:grid;gap:11px}.consult-card label{display:grid;gap:6px;font-size:10px;font-weight:800}.consult-card input,.consult-card textarea{width:100%;padding:11px 12px;border:1px solid #dfe0e8;border-radius:10px;background:#fff;font:inherit;font-size:11px;outline:none}.consult-card textarea{height:105px;resize:vertical;line-height:1.55}.consult-card input:focus,.consult-card textarea:focus{border-color:var(--hp-purple);box-shadow:0 0 0 4px rgba(179,58,74,.08)}.consult-card button{height:46px;border:0;border-radius:11px;background:var(--hp-purple);color:#fff;font-size:12px;font-weight:850;cursor:pointer}
.public-result{width:min(620px,calc(100% - 30px));margin:90px auto;padding:60px 30px;border:1px solid var(--hp-line);border-radius:28px;text-align:center;box-shadow:var(--hp-shadow)}.public-result>span{width:62px;height:62px;margin:auto;display:grid;place-items:center;border-radius:50%;background:var(--hp-soft);color:var(--hp-purple);font-size:25px;font-weight:900}.public-result h1{margin:20px 0 10px}.public-result p{color:var(--hp-sub);font-size:12px}.public-result small{display:block;margin-top:16px}.public-result div{display:flex;justify-content:center;gap:8px;margin-top:25px}.public-result a{padding:12px 17px;border:1px solid var(--hp-line);border-radius:11px;text-decoration:none;font-size:11px;font-weight:800}.public-result a.is-primary{background:var(--hp-purple);border-color:var(--hp-purple);color:#fff}
@media(max-width:980px){.detail-hero-inner{grid-template-columns:1fr 1fr;gap:24px}.detail-cover{height:330px}.detail-layout{grid-template-columns:1fr}.detail-side{position:static}.portfolio-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.detail-hero{padding:20px 15px 28px}.detail-hero-inner{grid-template-columns:1fr}.detail-cover{height:280px;border-radius:20px}.detail-summary{padding:0}.detail-summary h1{font-size:29px}.detail-tabs{top:76px;justify-content:flex-start;overflow:auto;gap:24px;white-space:nowrap}.detail-layout{width:calc(100% - 30px);margin-top:20px}.detail-section{padding:21px 17px}.detail-facts{grid-template-columns:1fr}.designer-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.hours-list{grid-template-columns:1fr}}


/* 20-2 후기 원본 구분 */
.review-source-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f1edff;
    color: #a83646;
    font-size: 9px;
    font-style: normal;
    font-weight: 800;
    white-space: nowrap;
}

@media (max-width: 560px) {
    .review-head {
        flex-wrap: wrap;
    }
}


/* 20-3 공개 후기 사진·신고 */
.review-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 150px));
    gap: 9px;
    margin-top: 13px;
}

.review-photo-grid img {
    width: 100%;
    aspect-ratio: 1;
    border-radius: 11px;
    object-fit: cover;
}

.review-report-link {
    display: inline-flex;
    margin-top: 12px;
    color: #9b6a71;
    text-decoration: none;
    font-size: 9px;
    font-weight: 800;
}

.review-report-success {
    margin-bottom: 13px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #edf9f1;
    color: #25844d;
    font-size: 10px;
    font-weight: 800;
}

@media (max-width: 560px) {
    .review-photo-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* 20-11 상세 예약 버튼 */
.detail-actions .is-reservation{box-shadow:0 10px 24px rgba(179,58,74,.22)}
@media(max-width:640px){.detail-actions{flex-wrap:wrap}.detail-actions a{flex:1 1 120px}}
