/* 레이아웃 */
.partner-view-wrap { width:100%; max-width:1280px; margin:0 auto; padding:24px 16px; box-sizing:border-box; }
.view-header { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }

/* 슬라이더 */
.view-slider { min-width:0; border-radius:12px; overflow:hidden; border:1px solid #eee; position:relative; }
.swiper-slide img { width:100%; height:450px; object-fit:cover; }
.swiper-button-next, .swiper-button-prev { width:44px; height:44px; background:rgba(0,0,0,0.4); border-radius:50%; color:#fff; }
.swiper-button-next:after, .swiper-button-prev:after { font-size:18px; font-weight:800; }
.swiper-pagination-bullet { width:10px; height:10px; background:#fff; opacity:.7; }
.swiper-pagination-bullet-active { background:#6c5ce7; opacity:1; }

/* 정보 패널 */
.view-info { display:flex; flex-direction:column; gap:16px; }
.info-map { position:relative; height:200px; border-radius:12px; overflow:hidden; border:1px solid #eee; background:#f5f5f5; }
.find-way { position:absolute; bottom:10px; right:10px; background:#1a73e8; color:#fff; padding:8px 12px; border-radius:20px; font-size:13px; text-decoration:none; box-shadow:0 2px 5px rgba(0,0,0,0.2); }

.info-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.info-list li { display:flex; align-items:center; background:#f9f9f9; padding:12px; border-radius:8px; }
.info-list .label { color:#555; font-weight:600; min-width:90px; }
.info-list .label i { margin-right:8px; color:#888; }
.info-list .value { color:#111; font-weight:500; }

.info-buttons { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:auto; }
.info-buttons a { display:flex; align-items:center; justify-content:center; text-decoration:none; padding:14px; border-radius:8px; font-weight:700; transition:all .2s ease; }
.btn-call { background:#6c5ce7; color:#fff; }
.btn-list { background:#f0f0f0; color:#333; }

/* 프로그램 가격 */
.view-pricelist { background:#fff; border:1px solid #f0f0f0; border-radius:12px; padding:20px; margin-bottom:24px; }
.view-pricelist h3 { margin:0 0 16px; font-size:18px; font-weight:800; color:#333; }
.view-pricelist ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.view-pricelist li { display:grid; grid-template-columns:1fr auto auto; gap:16px; align-items:center; padding:12px; background:#fafafa; border-radius:8px; }
.view-pricelist .prog-title { font-weight:600; color:#333; }
.view-pricelist .prog-time { color:#777; font-size:14px; }
.view-pricelist .prog-price { font-weight:700; color:#6c5ce7; font-size:16px; }

/* 본문 */
.view-content { background:#fff; border:1px solid #f0f0f0; border-radius:12px; padding:16px; }

/* 리뷰 섹션 */
.partner-review-wrap{margin-top:22px;border:1px solid #eee;border-radius:12px;padding:18px;background:#fff}
.partner-review-wrap .pr-title{margin:0 0 12px;font-size:18px;font-weight:800;color:#222;display:flex;align-items:center;gap:8px}
.pr-alert{background:#f7f7ff;border:1px solid #e9e9ff;color:#4641ff;padding:10px 12px;border-radius:8px;margin-bottom:10px}
.pr-summary{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.pr-score{font-weight:900}
.pr-score i{color:#ffb400;margin-right:6px}
.pr-count{color:#777}
.pr-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin:10px 0 16px}
.pr-rate{grid-column:1 / -1;display:flex;align-items:center;gap:10px}
.stars-pick i{font-size:20px;color:#ffb400;cursor:pointer}
.pr-field textarea{width:100%;border:1px solid #eee;border-radius:10px;padding:10px;resize:vertical}
.pr-submit{background:#6c5ce7;color:#fff;border:0;border-radius:10px;padding:10px 16px;cursor:pointer;font-weight:700}
.pr-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.pr-item{border:1px solid #f0f0f5;border-radius:10px;padding:12px}
.pr-head{display:flex;align-items:center;gap:8px}
.pr-name{font-weight:800}
.pr-date{margin-left:auto;color:#999;font-size:12px}
.pr-stars i{color:#ffb400}
.pr-body{margin-top:6px;white-space:pre-wrap;line-height:1.5}
.pr-list .empty{padding:16px;text-align:center;color:#888;background:#fafafa;border-radius:10px}
.pr-paging{margin-top:10px;display:flex;gap:8px;justify-content:center}
.pr-paging .num{min-width:32px;height:32px;border:1px solid #eee;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#333}
.pr-paging .num.on{background:#6c5ce7;border-color:#6c5ce7;color:#fff}

/* 하단 버튼 */
.view-actions { margin-top:24px; text-align:right; }
.btn-action { display:inline-block; padding:8px 16px; background:#eee; color:#333; text-decoration:none; border-radius:6px; margin-left:8px; }

/* 본문 자동생성 요소(있을 경우) */
.store-sections{display:flex;flex-direction:column;gap:20px}.ss-hero{background:#f8f7ff;border:1px solid #eee;border-radius:12px;padding:16px}.ss-hero h2{margin:0 0 6px;font-size:20px;font-weight:800;color:#333}.ss-hero .desc{color:#555;margin:0}.ss-hero .tags{color:#6c5ce7;font-weight:700}.ss-card{background:#fff;border:1px solid #f0f0f0;border-radius:12px;padding:18px}.ss-table{display:grid;gap:10px}.ss-table.two-col{grid-template-columns:1fr 1fr}.ss-table .row{display:flex;gap:10px;align-items:center;background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;padding:10px 12px}.price-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.price-list li{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed #eee;padding:6px 0}.price-list li span{color:#333}.price-list li b{color:#111;font-weight:800}.dot-list,.check-list,.faq{list-style:none;padding-left:0;margin:0}.dot-list li::before{content:"•";position:absolute;left:0;top:0;color:#6c5ce7}.check-list li{position:relative;padding-left:18px;margin:6px 0}.check-list li::before{content:"✓";position:absolute;left:0;color:#2ecc71;font-weight:800}.faq{display:flex;flex-direction:column;gap:8px}.ss-call{text-align:center;padding:18px;background:#fff;border:1px solid #f0f0f0;border-radius:12px}.call-btn{display:inline-block;padding:12px 22px;border-radius:999px;background:#6c5ce7;color:#fff;font-weight:800}.muted{color:#888;font-size:13px;margin-top:8px}

/* 반응형 */
@media (max-width: 992px){
  .view-header { grid-template-columns:1fr; }
  .swiper-slide img { height:350px; }
}