/*
 * FluentCart Pro order bump cards in md-new: checkout (all six positions and the order bump block),
 * cart page and cart drawer, every card layout. FluentCart builds the cards from nested block groups,
 * which md-new pads and spaces like page sections; this resets them and applies the GT Frame tokens.
 * Tokens come from body.gtco-page; the fallbacks cover the cart drawer on other pages.
 */
.fct_order_promotion{
	--bump-ink:var(--ink,#141414);--bump-body:var(--body,#2b2b30);--bump-muted:var(--muted,#4f4f55);
	--bump-hair:var(--hair,#e2ded7);--bump-hair-strong:var(--hair-strong,#c4bfb6);--bump-well:var(--well,#f3f1ed);
	--bump-surface:var(--surface,#fff);--bump-accent:var(--accent,#c0392b);--bump-accent-strong:var(--accent-strong,#9b2c21);
	--fct-border-color:var(--bump-hair-strong);--fct-card-bg-color:var(--bump-surface);
	--fct-primary-text-color:var(--bump-ink);--fct-secondary-text-color:var(--bump-muted);--fct-primary-bg-color:var(--bump-ink);
	box-sizing:border-box;margin:0!important;padding:16px!important;border:1px solid var(--bump-hair-strong);border-radius:8px;
	background:var(--bump-surface);color:var(--bump-body);font-size:15px;line-height:1.45;text-align:start;container:bump/inline-size
}
/* Every card layout: cancel md-new's block-group padding and section margins. Same specificity as
   .format :where(...), loaded later; FluentCart's own card styles print inline after this and still win. */
.fct_order_promotions :where(.wp-block-group){padding:0;margin-block:0;min-height:0}
.fct_order_promotions :where(p,figure,h3,h4){margin-block:0}
.fct_order_promotions{--fct-border-color:var(--hair-strong,#c4bfb6);--fct-card-bg-color:var(--surface,#fff);--fct-primary-text-color:var(--ink,#141414);--fct-secondary-text-color:var(--muted,#4f4f55);--fct-primary-bg-color:var(--ink,#141414);text-align:start}
.fct_order_promotions input[type=checkbox]{accent-color:var(--ink,#141414)}
/* Nested groups are layout only: no section padding, margins or minimum heights from the theme. */
.fct_order_promotion .wp-block-group{margin:0!important;padding:0!important;min-height:0!important;max-width:none!important;border:0;box-shadow:none}
.fct_order_promotion :is(p,figure,h3,h4){margin:0!important;max-width:none!important}
.fct_order_promotion .fct_order_promotion_body{display:flex!important;align-items:flex-start;gap:14px!important}
.fct_order_promotion_icon{flex:none;width:56px!important;height:56px!important;border-radius:6px;overflow:hidden;background:var(--bump-well)!important}
.fct_bump_details{flex:1;min-width:0}
.fct_order_promotion p.fct_order_promotion_title{display:inline-block;margin:0 0 6px!important;padding:2px 8px!important;border-radius:4px;background:var(--bump-well)!important;color:var(--bump-ink)!important;font-size:12px!important;font-weight:600;letter-spacing:.01em;line-height:1.5}
.fct_order_promotion_product_title{color:var(--bump-ink);font-weight:600;font-size:15px}
.fct_order_promotion_variation_title{color:var(--bump-muted);font-size:13px}
.fct_order_promotion .fct_order_promotion_price{margin-top:6px!important}
.fct_order_promotion .fct_order_promotion_prices{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:4px 8px!important}
.fct_order_promotion_original_price{color:var(--bump-muted);font-size:14px}
.fct_order_promotion_discounted_price{color:var(--bump-ink);font-weight:600;font-size:15px}
.fct_order_promotion_discount{color:var(--bump-accent-strong)!important;font-size:14px;font-weight:500}
.fct_order_promotion .fct_order_promotion_description{margin-top:4px!important;color:var(--bump-muted);font-size:14px}
.fct_order_promotion .fct_order_promotion_footer{margin-top:14px!important;padding-top:12px!important;border-top:1px solid var(--bump-hair)!important}
.fct_order_promotion .fct_order_promotion_toggle{display:flex!important;align-items:center;gap:10px;margin:0!important;padding:0!important;color:var(--bump-ink);font-weight:600;font-size:15px;cursor:pointer}
.fct_order_promotion .fct_order_promotion_toggle input{flex:none;margin:0!important;width:18px!important;height:18px!important;accent-color:var(--bump-ink)}
.fct_order_promotion:has(.fct_order_promotion_toggle input:checked){border-color:var(--bump-ink);box-shadow:inset 0 0 0 1px var(--bump-ink)}
.fct_order_promotion .fct_order_promotion_toggle:focus-within{outline:2px solid var(--bump-accent-strong);outline-offset:4px;border-radius:2px}
/* Button cards (add and remove buttons) use the theme's buttons. */
.fct_order_promotion :is(.wp-block-fluent-cart-order-bump-add-button,.wp-block-fluent-cart-order-bump-remove-button) :is(button,a),.fct_order_promotion button{min-height:40px;padding:8px 16px;border-radius:6px;background:var(--btn,#171717);color:var(--btn-ink,#fff);font-weight:600}
.fct_order_promotion button:hover{background:var(--btn-hover,#000)}
/* Spacing between cards and around the slot, at any position. */
.fct_order_bump_wrap:not(:empty){margin-block:16px!important}
.fct_order_promotions_wrap{margin:0!important}
.fct_order_bump_wrap:first-child{margin-top:0!important}
/* Match md-new's checkout rhythm: its 28px flex gap between form blocks, 20px between summary items. */
/* Inside a form block md-new spaces children with its own 16px grid gap; a bump adds no margin there. */
.fluent-cart-checkout-block-child-wrap>.wp-block-columns>.wp-block-column:first-child>*:not(.fct_order_bump_wrap) .fct_order_bump_wrap:not(:empty){margin-block:0!important}
.fluent-cart-checkout-block-child-wrap>.wp-block-columns>.wp-block-column:first-child>.fct_order_bump_wrap{margin-block:0!important}
.fluent-cart-checkout-block-child-wrap>.wp-block-columns>.wp-block-column:nth-child(2) .fct_order_bump_wrap:not(:empty){margin-block:20px!important}
.fct_order_bump_wrap:last-child{margin-bottom:0!important}
/* md-new orders the checkout form column with flex order (consents and payment 8, pay button 9). Keep the
   bumps printed just before and after the payment methods next to them instead of jumping to the top. */
.fct_order_bump_wrap:has(+ .fct_checkout_payment_methods),.fct_checkout_payment_methods + .fct_order_bump_wrap{order:8}
.fct_order_bump_wrap .fct_order_promotions,.fct_order_promotions{display:flex!important;flex-direction:column;gap:12px!important}
/* Narrow columns (summary, cart drawer): smaller image, tighter padding. */
@container bump (max-width:360px){
	.fct_order_promotion{padding:12px!important}
	.fct_order_promotion .fct_order_promotion_body{gap:12px!important}
	.fct_order_promotion_icon{width:44px!important;height:44px!important}
}
/* md-new sizes every checkout checkbox at 18px; the toggle card's switch is a 52x26 checkbox. */
.fct_bump_toggle label.fct_order_promotion_toggle input.fct_order_promotion_input[type=checkbox]{width:52px!important;height:26px!important;border:0!important;border-radius:999px!important;background-color:var(--hair-strong,#c4bfb6)!important;accent-color:auto}
.fct_bump_toggle label.fct_order_promotion_toggle input.fct_order_promotion_input[type=checkbox]:checked{background-color:var(--ink,#141414)!important}
.fct_bump_toggle label.fct_order_promotion_toggle input.fct_order_promotion_input[type=checkbox]:focus{outline:0!important}
.fct_bump_toggle label.fct_order_promotion_toggle input.fct_order_promotion_input[type=checkbox]:focus-visible{outline:2px solid var(--accent-strong,#9b2c21)!important;outline-offset:2px}
