/* Puppy Quiz - loaded in the footer on the "Puppy Quiz Template" pages only */
#kp-quiz *,#kp-quiz *::before,#kp-quiz *::after{box-sizing:border-box;margin:0;padding:0}
#kp-quiz{font-family:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;max-width:580px;margin:0 auto;padding:2rem 1rem;color:#1a1a1a}
#kp-quiz h2{font-size:20px;font-weight:700;line-height:1.4;color:#1a1a1a;margin-bottom:1.25rem}
#kp-quiz h3{font-size:17px;font-weight:700;color:#1a1a1a;margin-bottom:8px}
#kp-quiz p{font-size:14px;line-height:1.6;color:#555}
#kp-quiz .kp-progress-row{display:flex;justify-content:space-between;margin-bottom:8px}
#kp-quiz .kp-progress-label{font-size:13px;color:#888}
#kp-quiz .kp-progress-track{height:3px;background:#e0e0dd;border-radius:2px;overflow:hidden;margin-bottom:1.75rem}
#kp-quiz .kp-progress-fill{height:100%;background:#3D7A38;border-radius:2px;transition:width 0.25s ease}
#kp-quiz .kp-opts{display:grid;gap:8px;margin-bottom:1.75rem}
#kp-quiz .kp-opts.kp-cols-2{grid-template-columns:repeat(2,1fr)}
#kp-quiz .kp-opts.kp-cols-1{grid-template-columns:1fr}
#kp-quiz .kp-opt{display:flex;align-items:center;gap:11px;padding:13px 15px;border:1px solid #d0d0cc;border-radius:12px;background:#fff;cursor:pointer;text-align:left;width:100%;font-family:inherit;font-size:14px;line-height:1.4;color:#1a1a1a;transition:border-color 0.15s,background 0.15s}
#kp-quiz .kp-opt:hover{border-color:#3D7A38}
#kp-quiz .kp-opt.kp-active{border:2px solid #3D7A38;background:#EDF5E9}
#kp-quiz .kp-opt .kp-opt-icon{font-size:16px;flex-shrink:0;color:#aaa;width:20px;text-align:center;transition:color 0.15s}
#kp-quiz .kp-opt.kp-active .kp-opt-icon{color:#3D7A38}
#kp-quiz .kp-opt .kp-opt-label{flex:1}
#kp-quiz .kp-opt.kp-active .kp-opt-label{font-weight:700}
#kp-quiz .kp-opt .kp-check{font-size:13px;color:#3D7A38;flex-shrink:0;display:none}
#kp-quiz .kp-opt.kp-active .kp-check{display:block}
#kp-quiz .kp-nav{display:flex;justify-content:space-between;gap:10px}
#kp-quiz .kp-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 20px;border:1px solid #d0d0cc;border-radius:8px;background:#fff;font-family:inherit;font-size:14px;font-weight:700;color:#1a1a1a;cursor:pointer;transition:background 0.15s,border-color 0.15s}
#kp-quiz .kp-btn:hover:not(:disabled){background:#f5f5f3;border-color:#aaa}
#kp-quiz .kp-btn:disabled{opacity:0.35;cursor:not-allowed}
#kp-quiz .kp-btn-primary{background:#3D7A38;border-color:#3D7A38;color:#fff}
#kp-quiz .kp-btn-primary:hover:not(:disabled){background:#336630;border-color:#336630}
#kp-quiz .kp-btn-full{width:100%;justify-content:center}
#kp-quiz .kp-btn-ghost{border-color:transparent;color:#888;background:transparent}
#kp-quiz .kp-btn-ghost:hover{background:#f5f5f3;border-color:#e0e0dd;color:#555}
#kp-quiz .kp-results-header{margin-bottom:1.75rem}
#kp-quiz .kp-results-header .kp-eyebrow{font-size:13px;color:#888;margin-bottom:6px}
#kp-quiz .kp-results-header h2{font-size:22px;margin-bottom:6px}
#kp-quiz .kp-card{background:#fff;border:1px solid #d0d0cc;border-radius:12px;padding:1.25rem;margin-bottom:10px}
#kp-quiz .kp-card.kp-card-top{border-color:#3D7A38;border-width:2px}
#kp-quiz .kp-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
#kp-quiz .kp-badge{font-size:12px;font-weight:700;padding:3px 10px;border-radius:6px}
#kp-quiz .kp-badge-primary{background:#EDF5E9;color:#2a5a26}
#kp-quiz .kp-badge-secondary{background:#f5f5f3;color:#555;border:1px solid #e0e0dd}
#kp-quiz .kp-match-pct{font-size:13px;font-weight:700}
#kp-quiz .kp-match-pct.kp-pct-top{color:#3D7A38}
#kp-quiz .kp-match-pct.kp-pct-other{color:#888}
#kp-quiz .kp-bar-track{height:3px;background:#e0e0dd;border-radius:2px;margin-bottom:10px;overflow:hidden}
#kp-quiz .kp-bar-fill{height:100%;border-radius:2px}
#kp-quiz .kp-bar-fill.kp-bar-top{background:#3D7A38}
#kp-quiz .kp-bar-fill.kp-bar-other{background:#ccc}
#kp-quiz .kp-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
#kp-quiz .kp-tag{font-size:12px;color:#555;background:#f5f5f3;border:1px solid #e0e0dd;border-radius:6px;padding:2px 8px}
#kp-quiz .kp-card-desc{font-size:14px;color:#555;margin-bottom:14px;line-height:1.6}
#kp-quiz .kp-restart-row{text-align:center;margin-top:1.25rem}
@media(max-width:480px){#kp-quiz .kp-opts.kp-cols-2{grid-template-columns:1fr}}