/* YWP Add-ons. Colors: text Midnight #353F47 and Serious Gray #595A5C on off-white #F7F8F4 / white (all over 6:1). */
.ywp-addons-wrap, .woocommerce-variation-add-to-cart:has(.ywp-addons-fieldset) { flex-wrap: wrap; }
.ywp-addons-fieldset, .ywp-addons-bump, .ywp-addons-offer {
	box-sizing: border-box; width: 100%; max-width: 100%; font-family: Poppins, sans-serif; color: #353f47;
}
.ywp-addons-fieldset { flex: 1 1 100%; margin: 0 0 20px; padding: 16px 18px 6px; border: 2px solid #e2e0d7; border-radius: 6px; background: #f7f8f4; min-width: 0; }
.ywp-addons-fieldset[hidden], .ywp-addons-item[hidden], .ywp-addons-offer[hidden] { display: none !important; }
.ywp-addons-fieldset legend { padding: 0 6px; font-size: 18px; font-weight: 700; color: #353f47; }
.ywp-addons-item, .ywp-addons-bump { display: flex; align-items: flex-start; gap: 12px; }
.ywp-addons-item { padding: 10px 0; border-top: 1px solid #e2e0d7; }
.ywp-addons-item:first-of-type { border-top: 0; }
.ywp-addons-check, #ywp-addons-bump { flex: 0 0 auto; width: 22px; height: 22px; margin: 2px 0 0; accent-color: #355f76; cursor: pointer; }
.ywp-addons-text { flex: 1 1 auto; min-width: 0; }
.ywp-addons-text label { display: block; font-size: 16px; font-weight: 600; line-height: 1.4; color: #353f47; cursor: pointer; }
.ywp-addons-desc { margin: 2px 0 0; font-size: 15px; line-height: 1.5; color: #595a5c; }
.ywp-addons-qty-wrap { margin: 8px 0 0; font-size: 15px; color: #353f47; }
.ywp-addons-qty-wrap label { display: inline; font-weight: 500; }
.ywp-addons-qty { min-width: 64px; min-height: 40px; margin-left: 6px; padding: 4px 8px; border: 1px solid #595a5c; border-radius: 4px; background: #fff; color: #353f47; font-size: 16px; }
.ywp-addons-preview { margin: 0 0 6px; font-size: 13px; font-weight: 600; color: #595a5c; }
.ywp-addons-check:focus-visible, #ywp-addons-bump:focus-visible, .ywp-addons-qty:focus-visible, .ywp-addons-decline:focus-visible, .ywp-addons-accept:focus-visible {
	outline: 3px solid #355f76; outline-offset: 2px;
}
/* Checkout bump: full-width bordered box directly above Place Order. */
.ywp-addons-bump { margin: 0 0 16px; padding: 14px 16px; border: 2px solid #355f76; border-radius: 6px; background: #f7f8f4; }
.ywp-addons-bump[aria-busy="true"] { opacity: 0.6; }
/* Thank-you offer. The accept button matches the product buy button (Dark Blue + white). */
.ywp-addons-offer { margin: 0 0 28px; padding: 20px; border: 2px solid #355f76; border-radius: 6px; background: #fff; }
.ywp-addons-offer h2 { margin: 0 0 8px; font-size: 22px; font-weight: 700; line-height: 1.3; color: #353f47; }
.ywp-addons-offer p { margin: 0 0 12px; font-size: 16px; line-height: 1.5; color: #353f47; }
.ywp-addons-offer form { margin: 0 0 8px; }
.ywp-addons-offer .button.ywp-addons-accept { display: inline-block; min-height: 48px; padding: 12px 22px; border: 2px solid #355f76; border-radius: 4px; background: #355f76; color: #fff; font-family: Poppins, sans-serif; font-size: 16px; font-weight: 600; line-height: 1.3; white-space: normal; }
.ywp-addons-offer .button.ywp-addons-accept:hover { background: #353f47; border-color: #353f47; color: #fff; }
.ywp-addons-offer .ywp-addons-desc { font-size: 14px; color: #595a5c; }
.ywp-addons-decline { font-size: 15px; color: #355f76; text-decoration: underline; }
@media (max-width: 480px) {
	.ywp-addons-fieldset { padding: 14px 12px 4px; }
	.ywp-addons-offer { padding: 16px; }
	.ywp-addons-offer .button.ywp-addons-accept { width: 100%; text-align: center; }
}
