/** Frontend styling — light theme default **/
.spa-box{ max-width:700px; margin:24px auto; border:1px solid #eee; border-radius:12px; background:#fff; overflow:hidden; font-family:Inter, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial }
.spa-header{ display:flex; gap:16px; padding:16px; align-items:center; border-bottom:1px solid #f2f2f2 }
.spa-image{ width:120px; border-radius:8px }
.spa-title-wrap{ flex:1 }
.spa-title{ margin:0; font-size:1.25rem }
.spa-subtitle{ color:rgba(0,0,0,0.65); margin-top:6px }
.spa-rating{ color:#d00; font-weight:600; margin-top:8px }
.spa-section{ border-top:1px solid #f2f2f2 }
.spa-accordion{ width:100%; text-align:left; padding:14px 18px; background:transparent; border:0; cursor:pointer; font-weight:600; display:flex; justify-content:space-between; align-items:center }
.spa-accordion .spa-symbol{ font-weight:900 }
.spa-content{ max-height:0; overflow:hidden; transition:max-height 0.35s ease, padding 0.25s ease; padding:0 18px; color:#333 }
.spa-content.open{ padding:12px 18px }
.spa-buttons{ padding:18px; text-align:center; border-top:1px solid #f8f8f8 }
.spa-action{ display:inline-block; padding:10px 16px; border-radius:6px; color:#fff; text-decoration:none; font-weight:700; margin:0 8px }

@media (max-width:560px){ .spa-header{ flex-direction:column; align-items:flex-start } .spa-image{ width:100%; max-width:220px } }