/* ==========================================================================
   PP Parent Reviews & Scores – full stylesheet
   ========================================================================== */

/* Scoped smoothing */
.pppr-score-widget, .pppr-archive, .pppr-form, .pppr-snippet-box {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}

/* ==========================================================================
   SCORE WIDGET (compact)
   ========================================================================== */
.pppr-score-widget{display:flex;gap:16px;align-items:center}
.pppr-circle{position:relative;width:72px;height:72px;flex:0 0 72px}
.pppr-circ{width:72px;height:72px;display:block;max-width:none}
.pppr-circ .bg{fill:none;stroke:#e5e7eb;stroke-width:3}
.pppr-circ .fg{fill:none;stroke:#10b981;stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .4s ease}
.pppr-pct{position:absolute;inset:0;display:grid;place-items:center;font-weight:700}
.pppr-meta{display:flex;flex-direction:column;gap:4px}
.pppr-meta-top{display:flex;align-items:center;gap:12px}
.pppr-title{font-weight:700}
.pppr-count{opacity:.8}
.pppr-score-btn{
  display:inline-block;padding:.5rem .9rem;border-radius:12px;background:#0b0b1a;color:#fff;
  border:0;font-weight:600;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.08);text-decoration:none
}

/* ==========================================================================
   ARCHIVE PAGE (cards on /parent-reviews/)
   ========================================================================== */
.pppr-archive{max-width:900px;margin:40px auto;padding:0 16px}
.pppr-card{border:1px solid #ececf2;border-radius:14px;padding:16px;margin:14px 0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.03)}
.pppr-card-alt{background:#fafafe}
.pppr-card-head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.pppr-card-head img.avatar{border-radius:50%;margin-right:8px}
.pppr-badge{background:#10b981;color:#fff;border-radius:999px;padding:.2rem .55rem;font-weight:700;font-size:.85rem}
.pppr-titleline{font-weight:700}
.pppr-meta-line{opacity:.7;font-size:.9rem}
.pppr-body{margin:.35rem 0 .1rem}
.pppr-section{margin-top:.35rem}
.pppr-section h4{margin:.25rem 0;font-size:.95rem}
.pppr-section ul{margin:.25rem 0 .25rem 1rem}

/* ==========================================================================
   FORM
   ========================================================================== */
.pppr-form input[type=text], .pppr-form input[type=number], .pppr-form textarea{
  width:100% !important;max-width:none;box-sizing:border-box
}
.pppr-procons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0}
.pppr-procons .pc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.pppr-procons .pc-list{display:flex;flex-direction:column;gap:6px}
.pppr-procons .pc-row{display:flex;gap:6px}
.pppr-procons .pc-row .pc-input{flex:1}
.pc-remove{background:#eee;border:1px solid #ddd;border-radius:6px;padding:0 .5rem;cursor:pointer}
.pppr-add-pro,.pppr-add-con{background:#f5f5fa;border:1px solid #e3e3f3;border-radius:8px;padding:.25rem .5rem;cursor:pointer}
.pppr-msg{margin-top:.25rem}
.pppr-hidden{display:none}

/* ==========================================================================
   MODAL (quick score slider)
   ========================================================================== */
.pppr-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;z-index:9999;align-items:center;justify-content:center}
.pppr-modal .box{background:#fff;border-radius:12px;padding:20px;min-width:320px;max-width:90vw;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.pppr-modal h3{margin:0 0 10px 0;font-size:18px}
.pppr-modal .val{font-weight:700;margin-left:8px}
.pppr-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}
.pppr-btn{padding:.5rem .8rem;border:1px solid #ddd;border-radius:8px;background:#f9fafb;cursor:pointer}
.pppr-btn.primary{background:#10b981;color:#fff;border-color:#10b981}

/* Pagination (used on archive view) */
.pppr-pagination{display:flex;gap:.5rem;justify-content:center;margin:16px 0}
.pppr-pagination .page-numbers{
  padding:.35rem .6rem;border:1px solid #e5e7eb;border-radius:8px;text-decoration:none
}
.pppr-pagination .current{background:#0b0b1a;color:#fff;border-color:#0b0b1a}

/* ==========================================================================
   REVIEWS SNIPPET (mini list cards)
   ========================================================================== */
.pppr-snippet-box{
  border:1px solid #ececf2;border-radius:16px;padding:18px;background:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.05);margin:22px 0
}
.pppr-snippet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pppr-snippet-title{font-size:1.15rem;line-height:1.3;margin:0}
.pppr-snippet-empty{opacity:.8;margin:.35rem 0 .75rem}

/* kill theme bullets/indent */
.pppr-snippet-box .pppr-mini-list{list-style:none !important;margin:0 !important;padding:0 !important}

.pppr-mini-list{display:grid;grid-template-columns:1fr;gap:12px}
.pppr-mini-card{
  display:flex;gap:12px;align-items:flex-start;
  border:1px solid #f0f1f6;border-radius:12px;padding:12px;background:#fafbff
}

/* mini score circle — pin size so themes can't blow it up */
.pppr-mini-circle{position:relative;width:52px;height:52px;flex:0 0 52px}
.pppr-mini-circle svg,
.pppr-mini-svg{width:52px !important;height:52px !important;display:block;max-width:none !important}

/* explicit styles to beat global theme rules */
.pppr-mini-svg .bg{fill:none !important;stroke:#e5e7eb !important;stroke-width:3 !important}
.pppr-mini-svg .fg{fill:none !important;stroke:#10b981 !important;stroke-width:3 !important;stroke-linecap:round !important}

.pppr-mini-circle .val{
  position:absolute;inset:0;display:grid;place-items:center;
  font-weight:700;font-size:.85rem;color:#0b0b1a
}

.pppr-mini-content{flex:1;min-width:0}
.pppr-mini-headline{font-weight:800;margin:2px 0 4px}
.pppr-mini-excerpt p{margin:.15rem 0 0}

.pppr-snippet-cta{margin-top:12px;display:flex;justify-content:flex-end}
.pppr-link-btn{
  display:inline-block;padding:.5rem .9rem;border-radius:12px;
  background:#0b0b1a;color:#fff;text-decoration:none;font-weight:600;
  box-shadow:0 2px 10px rgba(0,0,0,.08)
}
.pppr-link-btn:hover{opacity:.92}

/* 3-up on larger screens */
@media (min-width:720px){
  .pppr-mini-list{grid-template-columns:1fr 1fr 1fr}
}
