.ap-wrapper{border:1px solid #eee;padding:14px;border-radius:6px;background:#fff;margin-bottom:20px}
.ap-header{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
.ap-thumb img{max-width:120px;height:auto;border-radius:6px}
.ap-title{margin:0;font-size:20px}
.ap-desc{font-size:13px;color:#444;margin-top:6px}
.ap-attributes{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.ap-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ap-row .ap-label{width:220px;font-weight:600}
.ap-row .rating-buttons{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.rating-btn{
    padding:8px 10px;
    min-width:40px;
    text-align:center;
    border-radius:8px;
    border:1px solid #ccc;
    background:#f7f7f7;
    font-weight:600;
    cursor:pointer;
    -webkit-tap-highlight-color: transparent;
}
.rating-btn:active{transform:translateY(1px)}
.rating-btn.active{background:#0073aa;color:#fff;border-color:#006199}
.ap-val{width:34px;text-align:center;font-weight:600}
.ap-submit-row{margin-top:12px}
.ap-chart{margin-top:18px;height:420px}

/* Responsive tweaks: make buttons larger on small screens */
@media (max-width:600px){
    .ap-row{flex-direction:column;align-items:stretch}
    .ap-row .ap-label{width:100%;margin-bottom:6px}
    .rating-btn{flex:1;padding:12px 0;font-size:16px;min-width:0}
    .rating-buttons{justify-content:space-between}
}