/* Add-ons with Yes / No on the product page */
.ao{margin:22px 0 18px;border:2px solid #111;background:#fff}
.ao__h{margin:0;padding:12px 16px;background:#111;color:#fff;font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ao__row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid #e6e6e6}
.ao__row:first-of-type{border-top:0}
.ao__img{flex:0 0 56px;width:56px;height:56px;background:#f5f5f5;overflow:hidden}
.ao__img img{width:100%;height:100%;object-fit:cover;display:block}
.ao__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ao__name{font-size:1.05rem;font-weight:700;color:#111;line-height:1.2}
.ao__price{font-size:.95rem;font-weight:700;color:#1c9a3c}
.ao__yn{flex:0 0 auto;display:flex;border:2px solid #111}
.ao__yn input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ao__yn label{margin:0;min-width:58px;padding:10px 14px;text-align:center;font-size:.95rem;font-weight:700;letter-spacing:0;text-transform:none;color:#111;background:#fff;cursor:pointer;user-select:none;transition:background .15s,color .15s}
.ao__yn label+input+label{border-left:2px solid #111}
.ao__yn input[data-addon-yes]:checked+label{background:#8dd400;color:#111}
.ao__yn input:not([data-addon-yes]):checked+label{background:#111;color:#fff}
.ao__yn input:focus-visible+label{outline:3px solid #1c9a3c;outline-offset:2px}
.ao__row:has([data-addon-yes]:checked){background:#f4fbe6}
@media (max-width:480px){
  .ao__row{gap:10px;padding:12px}
  .ao__img{flex-basis:44px;width:44px;height:44px}
  .ao__name{font-size:.98rem}
  .ao__yn label{min-width:50px;padding:9px 10px}
}
