.qpf-fields { display: flex; flex-direction: column; gap: 18px; margin: 0 0 20px; width: 100%; text-align: left; }
.qpf-field { display: flex; flex-direction: column; gap: 6px; }
.qpf-field__label { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #1e293b; }
.qpf-field__label .required { color: #dc2626; text-decoration: none; border: 0; }
.qpf-field__help { font-size: 12px; color: #64748b; }

.qpf-input { width: 100%; box-sizing: border-box; padding: 9px 12px; border: 1px solid #d5dbe3; border-radius: 4px; background: #fff; font: inherit; font-size: 14px; }
.qpf-input:focus { outline: none; border-color: #1d72f3; box-shadow: 0 0 0 3px rgba(29, 114, 243, .15); }

.qpf-choices { border: 1px solid #d5dbe3; border-radius: 4px; background: #f5f7fa; overflow: hidden; }
.qpf-choice { display: flex; align-items: center; gap: 12px; padding: 10px 12px; margin: 0; cursor: pointer; font-size: 14px; color: #334155; }
.qpf-choices .qpf-choice + .qpf-choice { border-top: 1px solid #d5dbe3; }
.qpf-choice:hover { background: #eef2f7; }
.qpf-choice input { margin: 0; width: 16px; height: 16px; accent-color: #1d72f3; flex: none; }
.qpf-choice__label { flex: 1; }
.qpf-choice__price { font-size: 13px; color: #334155; white-space: nowrap; }
.qpf-field--checkbox .qpf-choice { border: 1px solid #d5dbe3; border-radius: 4px; background: #f5f7fa; }

.qpf-total { display: flex; align-items: baseline; gap: 8px; padding: 12px 14px; border: 1px solid #c3d4ea; border-radius: 4px; background: #f3f8fe; font-size: 14px; color: #334155; }
.qpf-total[hidden] { display: none; }
.qpf-total__label { font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.qpf-total__amount { font-size: 18px; color: #0f172a; }

.qpf-subscription-info { margin: 24px 0; }

/* Cart / checkout blocks: show answers as their own list instead of "a / b / c". */
.wc-block-components-product-details:has(.qpf-detail) { margin: 10px 0 4px; padding: 8px 12px; border: 1px solid #e2e8f0; border-radius: 6px; background: #f8fafc; }
.wc-block-components-product-details .qpf-detail { display: flex; flex-wrap: wrap; gap: 4px; padding: 3px 0; }
.wc-block-components-product-details .qpf-detail + .qpf-detail { border-top: 1px dashed #e2e8f0; }
.wc-block-components-product-details .qpf-detail > span[aria-hidden="true"] { display: none; }
.wc-block-components-product-details .qpf-detail .wc-block-components-product-details__name { color: #64748b; }
.wc-block-components-product-details .qpf-detail .wc-block-components-product-details__value { font-weight: 600; color: #0f172a; word-break: break-word; }

/* Editable options on the cart page. */
.qpf-cart-editing .wc-block-cart .qpf-detail { display: none; }
.qpf-cart-editing .wc-block-cart .wc-block-components-product-details:has(.qpf-detail) { margin: 0; padding: 0; border: 0; background: none; }
.qpf-cart-edit { margin: 14px 0 12px; gap: 14px; max-width: none; }
.qpf-cart-edit .qpf-choice { font-size: 13px; padding: 8px 12px; }
.qpf-cart-edit .qpf-input { font-size: 13px; padding: 7px 10px; }
.qpf-cart-edit.is-busy { opacity: .6; pointer-events: none; }
.qpf-cart-edit__status { font-size: 12px; min-height: 1em; }

/* Plan (variation) picker on the cart page. */
.qpf-plan { display: flex; flex-direction: column; gap: 10px; }
.qpf-plan__from { font-size: 20px; font-weight: 700; color: #0f172a; }
.qpf-plan__row { display: flex; align-items: center; gap: 10px; margin: 0; }
.qpf-plan__label { font-size: 14px; font-weight: 700; color: #0f172a; white-space: nowrap; }
.qpf-plan__row .qpf-input { max-width: 260px; }
.qpf-plan__price { font-size: 20px; font-weight: 700; color: #7c3aed; }
.qpf-cart-edit__status.is-saving { color: #64748b; }
.qpf-cart-edit__status.is-saved { color: #16a34a; }
.qpf-cart-edit__status.is-error { color: #dc2626; }