.op-source-delivery{margin:22px 0 18px;padding:20px 0 0;border-top:1px solid #d9dde2}.op-source-delivery h3{margin:0 0 8px;color:#111827;font-size:18px;line-height:1.25}.op-source-delivery__hint{margin:0 0 12px;color:#64748b;font-size:13px}.op-source-delivery__cards{display:grid;gap:10px}.op-source-delivery__card{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #c9cdd4;border-radius:4px;background:#f2f3f5;cursor:pointer}.op-source-delivery__card.is-selected{border-color:#bf0718;background:#fff1f2;box-shadow:inset 0 0 0 1px #bf0718}.op-source-delivery__card input{accent-color:#bf0718}.op-source-delivery__card span{display:grid;gap:2px;flex:1}.op-source-delivery__card strong{font-size:14px;color:#111827}.op-source-delivery__card small{font-size:13px;color:#64748b}.op-source-delivery__card em{font-style:normal;color:#bf0718;font-size:13px;font-weight:600}.op-source-price-live{display:grid;gap:3px;margin:8px 0 12px;color:#111827;font-size:14px}.op-source-price-live span{color:#64748b;font-size:13px}.op-source-price-detail{font-size:12px;color:#64748b;font-weight:400}.op-source-total-price{display:block}.op-source-price-pair{display:inline-flex;align-items:flex-start;gap:24px;line-height:1.05}.op-source-price-pair>span{display:inline-flex;flex-direction:column;gap:5px;white-space:nowrap}.op-source-price-pair bdi{font-size:23px;font-weight:700;line-height:1.05}.op-source-price-pair small{font-size:11px;font-weight:400;line-height:1;color:#64748b}.op-source-price-net bdi{color:#64748b}.op-source-price-gross bdi{color:#111827}.op-source-price-gross small{color:#64748b}.op-source-total-price .op-source-price-gross bdi{color:#111827!important}.op-source-total-price .op-source-price-net bdi{color:#64748b!important}
/* The configurator already owns the quantity selector at the top. Keep the
 * native WooCommerce quantity value in the form for submission, but hide the
 * duplicate control rendered immediately before Add to cart. The source
 * product detail accordions are likewise intentionally kept out of the
 * purchase flow; their content remains available in post meta/admin. */
.single-product .summary form.cart.op-source-has-configurator > .quantity{display:none!important}
.single-product .op-source-product-data{display:none!important}
.op-source-price-unavailable-message{display:block;color:#9b1c1c;font-size:16px;font-weight:700;line-height:1.35}
.op-source-price-unavailable{cursor:not-allowed!important;opacity:.55!important}
@media(max-width:767px){.op-source-delivery{padding-top:18px}.op-source-delivery__card{padding:12px}.op-source-delivery__card strong{font-size:15px}.op-source-price-pair{gap:18px}.op-source-price-pair bdi{font-size:21px}}
