/* ═════════════════════════════════════════════════════════════════
   CleverUp Reviews Modal — единый модуль для franchise / psychotherapy / team
   Использует те же .spg-* классы, что и франшиз-страница.
   ═════════════════════════════════════════════════════════════════ */

/* ═══ MODAL ══════════════════════════════════════════════════════ */
.spg-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9000;display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;pointer-events:none;transition:opacity .25s}
.spg-overlay.open{opacity:1;pointer-events:all}
.spg-modal{background:#fff;border-radius:20px;width:100%;max-width:680px;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(20px);transition:transform .25s;scrollbar-width:thin}
.spg-overlay.open .spg-modal{transform:translateY(0)}
.spg-modal-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;background:rgba(0,0,0,.08);border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;z-index:2;flex-shrink:0}
.spg-modal-close:hover{background:rgba(0,0,0,.15)}
.spg-modal-body{padding:0 26px 26px;clear:both}
.spg-modal-hero{display:flex;gap:18px;align-items:flex-start;margin-bottom:18px;padding-top:6px}
.spg-mphoto{width:84px;height:84px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--teal-light);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:var(--teal-dark,#2d7a76)}
.spg-mphoto img{width:100%;height:100%;object-fit:cover;object-position:top center}
.spg-mmeta{flex:1}
.spg-mname{font-size:1.25rem;font-weight:800;color:var(--dark);margin:5px 0 3px}
.spg-mspec{font-size:.86rem;color:var(--text-muted);margin-bottom:7px}
.spg-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin:16px 0}
.spg-stat{background:var(--gray-bg,#f4f6f9);border-radius:var(--r);padding:11px;text-align:center}
.spg-stat strong{display:block;font-size:1rem;font-weight:800;color:var(--dark);line-height:1.2}
.spg-stat span{font-size:.7rem;color:var(--text-muted)}
.spg-stitle{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin:18px 0 8px}
.spg-bio{font-size:.88rem;line-height:1.65;color:var(--dark)}
.spg-bio p{margin:0 0 9px}
.spg-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:4px}
.spg-chip{font-size:.76rem;padding:4px 12px;border-radius:20px;background:rgba(91,186,181,.12);color:var(--teal-dark,#2d7a76);font-weight:600}
.spg-chip.age{background:rgba(99,102,241,.1);color:#4338ca}
.spg-cert-box{display:flex;align-items:center;gap:12px;background:var(--gray-bg,#f4f6f9);border-radius:var(--r);padding:11px 14px;margin:8px 0}
.spg-cert-icon{font-size:1.3rem;flex-shrink:0}
.spg-cert-txt strong{display:block;font-size:.86rem;color:var(--dark)}
.spg-cert-txt span{font-size:.76rem;color:var(--text-muted)}

/* ═══ LEVEL BADGES (в модалке) ══════════════════════════════════ */
.spg-level{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 9px;border-radius:20px;margin-bottom:5px}
.spg-level.founder{background:linear-gradient(135deg,#c9a227,#8b6914);color:#fff}
.spg-level.grand-master{background:linear-gradient(135deg,#fbbf24,#d97706);color:#fff;box-shadow:0 0 10px rgba(251,191,36,.3)}
.spg-level.master{background:var(--dark,#0d1b35);color:var(--teal,#5bbab5);border:1px solid var(--teal,#5bbab5)}
.spg-level.certified{background:rgba(91,186,181,.15);color:var(--teal-dark,#2d7a76)}
.spg-level.partner{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff}
.spg-level.staff{background:rgba(99,102,241,.12);color:#4338ca}

/* ═══ STARS + AVAIL ═════════════════════════════════════════════ */
.spg-stars-row{display:flex;align-items:center;gap:5px;font-size:.8rem}
.spg-stars{color:#f59e0b;letter-spacing:1px;font-size:.84rem}
.spg-rnum{font-weight:700;color:var(--dark,#0d1b35)}
.spg-rcnt{color:var(--text-muted,#6b7c85);font-size:.76rem}
.spg-avail{font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:20px;flex-shrink:0}
.spg-avail.open{background:rgba(16,185,129,.1);color:#047857}
.spg-avail.limited{background:rgba(245,158,11,.1);color:#b45309}

/* ═══ REVIEWS LIST ══════════════════════════════════════════════ */
.spg-reviews-list{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}
.spg-review{background:var(--gray-bg,#f4f6f9);border-radius:var(--r);padding:13px 15px}
.spg-review-stars{color:#f59e0b;font-size:.88rem;margin-bottom:5px}
.spg-review-text{font-size:.86rem;color:var(--dark,#0d1b35);line-height:1.55;margin-bottom:7px;font-style:italic}
.spg-review-author{font-size:.74rem;color:var(--text-muted,#6b7c85);font-weight:600}
.spg-no-reviews{font-size:.86rem;color:var(--text-muted,#6b7c85);font-style:italic;margin-bottom:14px}

/* ═══ REVIEW FORM ═══════════════════════════════════════════════ */
.spg-rform{background:#f8fafc;border:1px solid var(--gray-light,#e8edf0);border-radius:var(--r-lg);padding:18px}
.spg-rform h5{font-size:.9rem;margin:0 0 13px;color:var(--dark,#0d1b35)}
.spg-star-input{display:flex;gap:4px;margin-bottom:13px}
.spg-star-btn{background:none;border:none;font-size:1.55rem;cursor:pointer;color:#d1d5db;transition:color .1s;padding:0;line-height:1}
.spg-star-btn.lit{color:#f59e0b}
.spg-fi{margin-bottom:9px}
.spg-fi label{display:block;font-size:.76rem;font-weight:600;color:var(--text-muted,#6b7c85);margin-bottom:4px}
.spg-fi input,.spg-fi textarea{width:100%;padding:8px 11px;border:1px solid var(--gray-light,#e8edf0);border-radius:var(--r);font-family:inherit;font-size:.86rem;background:#fff;box-sizing:border-box;resize:vertical}
.spg-fi input:focus,.spg-fi textarea:focus{outline:none;border-color:var(--teal,#5BBAB5)}
.spg-rsub{background:var(--teal,#5BBAB5);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:.86rem;font-weight:600;cursor:pointer;transition:opacity .2s;width:100%;margin-top:3px}
.spg-rsub:hover{opacity:.85}

/* ═══ MODAL ACTIONS ═════════════════════════════════════════════ */
.spg-mactions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--gray-light,#e8edf0)}
.spg-btn-tg{display:inline-flex;align-items:center;gap:7px;background:#29b6f6;color:#fff;font-weight:700;font-size:.86rem;padding:10px 18px;border-radius:8px;text-decoration:none;transition:opacity .2s}
.spg-btn-tg:hover{opacity:.85}

/* ═══ DIPLOMA (раздел «Образование») ════════════════════════════ */
.spg-diploma{margin-bottom:14px;display:flex;align-items:flex-start;gap:14px}
.spg-diploma-thumbs{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}
.spg-diploma a.cu-diploma-thumb{display:block;width:90px;height:120px;flex-shrink:0;border-radius:6px;overflow:hidden;border:1px solid var(--gray-light,#e8edf0);background:#fafbfc;transition:border-color .15s, box-shadow .15s;cursor:zoom-in;position:relative}
.spg-diploma a.cu-diploma-thumb:hover{border-color:var(--teal,#5BBAB5);box-shadow:0 4px 16px rgba(91,186,181,.15)}
.spg-diploma a.cu-diploma-thumb::after{content:"⤢";position:absolute;bottom:4px;right:5px;background:rgba(0,0,0,.6);color:#fff;font-size:.68rem;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:3px;pointer-events:none}
.spg-diploma img{display:block;width:100%;height:100%;object-fit:cover;background:#fafbfc}
/* PDF-плашка вместо миниатюры картинки */
.spg-diploma a.cu-diploma-pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(135deg,#dc2626,#991b1b);color:#fff;text-decoration:none;padding:8px 6px;text-align:center}
.spg-diploma a.cu-diploma-pdf:hover{box-shadow:0 4px 16px rgba(220,38,38,.25);border-color:#dc2626}
.spg-diploma a.cu-diploma-pdf::after{content:"↗";background:rgba(255,255,255,.18)}
.spg-diploma a.cu-diploma-pdf .cu-pdf-icon{font-size:.86rem;font-weight:800;letter-spacing:.08em;background:rgba(255,255,255,.18);padding:3px 8px;border-radius:4px}
.spg-diploma a.cu-diploma-pdf .cu-pdf-label{font-size:.66rem;font-weight:600;opacity:.92;letter-spacing:.02em}
.spg-diploma-info{flex:1;font-size:.82rem;color:var(--text-muted,#6b7c85);line-height:1.5;min-width:0}
.spg-diploma-info strong{display:block;color:var(--dark,#0d1b35);margin-bottom:3px;font-size:.86rem}
.spg-no-diploma{font-size:.84rem;color:var(--text-muted,#6b7c85);font-style:italic;background:var(--gray-bg,#f4f6f9);padding:10px 14px;border-radius:var(--r);margin-bottom:14px}

/* ═══ LIGHTBOX для дипломов ═════════════════════════════════════ */
.cu-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:10000;display:none;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.cu-lightbox.open{display:flex}
.cu-lightbox img{max-width:96vw;max-height:92vh;object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,.5);border-radius:8px;animation:cu-fadezoom .25s ease;cursor:default}
.cu-lightbox-close{position:fixed;top:18px;right:22px;background:rgba(255,255,255,.18);border:none;border-radius:50%;width:40px;height:40px;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);transition:background .15s}
.cu-lightbox-close:hover{background:rgba(255,255,255,.3)}
@keyframes cu-fadezoom{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media (max-width:600px){
  .spg-diploma{flex-direction:column;align-items:stretch}
  .spg-diploma a.cu-diploma-thumb{width:100%;height:140px}
}

/* ═══ MINI RATING (внутри карточек на любой странице) ══════════ */
.cu-mini-rating{display:flex;align-items:center;gap:6px;font-size:.82rem;margin:6px 0}
.cu-mini-rating .cu-stars{color:#f59e0b;letter-spacing:1px}
.cu-mini-rating .cu-rnum{font-weight:700;color:var(--dark,#0d1b35)}
.cu-mini-rating .cu-rcnt{color:var(--text-muted,#6b7c85);font-size:.76rem}

/* ═══ КНОПКА «ПОДРОБНЕЕ / ОСТАВИТЬ ОТЗЫВ» ══════════════════════ */
.cu-review-open{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;color:var(--teal,#5BBAB5);background:transparent;border:1px solid var(--teal,#5BBAB5);padding:6px 14px;border-radius:20px;cursor:pointer;transition:all .15s;text-decoration:none;line-height:1.2;font-family:inherit}
.cu-review-open:hover{background:var(--teal,#5BBAB5);color:#fff}
.cu-review-open svg{width:14px;height:14px;flex-shrink:0}

/* ═══ MOBILE ═══════════════════════════════════════════════════ */
@media(max-width:600px){
  .spg-modal-body{padding:0 14px 20px}
  .spg-modal-hero{flex-direction:column;align-items:center;text-align:center}
  .spg-mactions{flex-direction:column}
  .spg-mactions a,.spg-mactions button{width:100%;justify-content:center;text-align:center}
}
