.subscription-modes{display:grid;gap:10px;margin:16px 0}.subscription-modes label,.card-subscribe{display:flex;align-items:center;gap:9px;cursor:pointer}.subscription-modes label{padding:12px;border:1px solid #d5d8d5;border-radius:9px;font-size:.85rem}.subscription-modes input,.card-subscribe input,.sub-choice input{accent-color:#34755a;flex-shrink:0;width:17px;height:17px}.card-subscribe{font-size:.76rem;margin:12px 0;color:#34755a}.sub-frequency-label{display:grid;gap:7px;font-size:.78rem;margin:14px 0}.sub-frequency-label select{width:100%;padding:10px;background:#fff;color:#222;border:1px solid #ccc;border-radius:7px}.sub-choices{max-height:310px;overflow:auto;border:1px solid #ddd;border-radius:9px}.sub-choice{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid #eee}.sub-choice:last-child{border:0}.sub-choice>label{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:.8rem;min-width:0;cursor:pointer}.sub-choice small{color:#555}.sub-choice .sub-item-qty{flex-shrink:0}.sub-readiness{font-size:.8rem;line-height:1.6;padding:10px 12px;border-radius:8px}.sub-readiness.pickup{background:#fff1ef;color:#ad3027}.sub-readiness.ready{background:#edf6ef;color:#21623a}#pdSubscriptionSection h4{font-size:.9rem;margin:18px 0 10px}#pdSubscriptionSection>small{font-size:.72rem;line-height:1.6;color:#555;display:block}input[type=radio]:disabled+*{opacity:.5}

/* Keep each product and its quantity together, including on narrow phones. */
.sub-main-product{margin:14px 0;border:1px solid #d5dfd8;border-radius:10px;background:#f5f9f6;overflow:hidden}
.sub-choice{gap:8px;padding:10px;min-width:0}
.sub-choice>label{flex:1;flex-wrap:nowrap;gap:8px;min-width:0}
.sub-choice-image{width:40px;height:48px;flex:0 0 40px;object-fit:contain;background:#fff;border-radius:6px}
.sub-choice-placeholder{display:grid;place-items:center}
.sub-choice-copy{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere;line-height:1.35}
.sub-choice-copy small{font-size:.72rem}
.sub-choice .sub-item-qty{gap:4px}
.sub-choice .sub-item-qty button{width:32px;height:32px;font-size:1rem;touch-action:manipulation}
.sub-choice .sub-item-qty button:disabled{opacity:.35;cursor:default}
.sub-choice .sub-item-qty span{min-width:20px}
.sub-choice input{margin:0}
@media(max-width:360px){.sub-choice{padding:8px;gap:5px}.sub-choice>label{gap:5px}.sub-choice-image{width:32px;flex-basis:32px;height:40px}.sub-choice .sub-item-qty button{width:30px;height:32px}}
