/* COD Funnel Pro - form styles (scoped, theme-agnostic) */
.codfp-form-wrap {
	max-width: 480px;
	margin: 1.5em auto;
	padding: 1.25em;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 2px 10px rgba( 0, 0, 0, 0.04 );
	font-family: inherit;
	box-sizing: border-box;
}
.codfp-form-wrap * { box-sizing: border-box; }
.codfp-title {
	margin: 0 0 0.75em;
	font-size: 1.2em;
	font-weight: 700;
}
.codfp-product-summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.6em 0.8em;
	margin-bottom: 1em;
	background: #f9fafb;
	border-radius: 8px;
	font-weight: 600;
}
.codfp-field { margin-bottom: 0.85em; }
.codfp-field label {
	display: block;
	margin-bottom: 0.3em;
	font-size: 0.9em;
	font-weight: 600;
	color: #374151;
}
.codfp-field input,
.codfp-field textarea {
	width: 100%;
	padding: 0.7em 0.8em;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 1em;
	font-family: inherit;
}
.codfp-field input:focus,
.codfp-field textarea:focus {
	outline: none;
	border-color: var( --codfp-accent, #16a34a );
	box-shadow: 0 0 0 3px rgba( 22, 163, 74, 0.15 );
}
.codfp-qty input { max-width: 120px; }
.codfp-submit {
	width: 100%;
	padding: 0.9em 1em;
	border: none;
	border-radius: 10px;
	background: var( --codfp-accent, #16a34a );
	color: #fff;
	font-size: 1.05em;
	font-weight: 700;
	cursor: pointer;
	transition: filter 0.15s ease;
}
.codfp-submit:hover { filter: brightness( 0.93 ); }
.codfp-submit:disabled { opacity: 0.7; cursor: not-allowed; }
.codfp-messages { margin-bottom: 0.6em; color: #b91c1c; font-size: 0.9em; }
.codfp-messages ul { margin: 0; padding-left: 1.2em; }

/* v2 — grid, bumps, upsell, layouts */
.codfp-grid { display:flex; flex-wrap:wrap; gap:0 12px; }
.codfp-col-full { flex:1 1 100%; }
.codfp-col-half { flex:1 1 calc(50% - 12px); }
.codfp-req { color:#dc2626; }
.codfp-layout-inline { border:none; box-shadow:none; padding:0; background:transparent; max-width:none; }

.codfp-bumps { margin:10px 0 4px; padding:10px 12px; background:#f0fdf4; border:1px dashed var(--codfp-accent,#16a34a); border-radius:8px; }
.codfp-bumps-title { margin:0 0 8px; font-weight:700; }
.codfp-bump { display:flex; align-items:center; gap:8px; padding:6px 0; cursor:pointer; }
.codfp-bump-price { margin-left:auto; font-weight:700; }
.codfp-bump-price del { color:#9ca3af; font-weight:400; margin-left:6px; }

.codfp-upsell { margin:1.5em 0; }
.codfp-upsell-box { border:2px solid var(--codfp-accent,#16a34a); border-radius:12px; padding:18px; background:#fff; text-align:center; }
.codfp-upsell-headline { margin:0 0 10px; }
.codfp-upsell-product { display:flex; justify-content:center; gap:12px; align-items:center; margin-bottom:12px; font-size:1.1em; }
.codfp-upsell-price { font-weight:800; color:var(--codfp-accent,#16a34a); }
.codfp-upsell-actions { display:flex; gap:10px; justify-content:center; align-items:center; }
.codfp-upsell-decline { background:none; border:none; color:#6b7280; text-decoration:underline; cursor:pointer; }
.codfp-upsell-msg { margin-top:10px; color:#16a34a; font-weight:600; }

/* v3 — urgency, scarcity, sales, social proof */
.codfp-sales { font-weight:700; color:#b45309; margin:0 0 8px; }
.codfp-scarcity { display:inline-block; background:#fef2f2; color:#b91c1c; font-weight:700; padding:4px 10px; border-radius:6px; margin:0 0 8px; }
.codfp-countdown {
	display:flex; align-items:center; justify-content:space-between; gap:10px;
	background:#fffbeb; border:1px solid #fde68a; border-radius:8px;
	padding:8px 12px; margin:0 0 12px; font-weight:700;
}
.codfp-countdown-clock {
	background:#111827; color:#fff; padding:4px 10px; border-radius:6px;
	font-variant-numeric:tabular-nums; letter-spacing:1px;
}
.codfp-socialpop {
	position:fixed; left:20px; bottom:20px; z-index:9998;
	background:#fff; border:1px solid #e5e7eb; border-radius:10px;
	box-shadow:0 6px 20px rgba(0,0,0,.15); padding:12px 16px; max-width:280px;
	font-size:.9em; opacity:0; transform:translateY(20px); transition:all .35s ease;
	pointer-events:none;
}
.codfp-socialpop.show { opacity:1; transform:translateY(0); }
.codfp-socialpop span { color:#16a34a; font-weight:600; }
@media(max-width:600px){ .codfp-socialpop{ left:10px; right:10px; max-width:none; } }

/* v4 — coupon, OTP, shipping note, tracking */
.codfp-coupon { display:flex; gap:8px; align-items:center; margin:8px 0; flex-wrap:wrap; }
.codfp-coupon-input { flex:1; padding:.6em .7em; border:1px solid #d1d5db; border-radius:8px; }
.codfp-coupon-apply { padding:.6em 1em; border:1px solid var(--codfp-accent,#16a34a); background:#fff; color:var(--codfp-accent,#16a34a); border-radius:8px; cursor:pointer; font-weight:600; }
.codfp-coupon-msg { font-size:.85em; width:100%; }
.codfp-ship-note { font-size:.85em; color:#6b7280; margin:6px 0; }
.codfp-otp { margin:8px 0; padding:10px 12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; }
.codfp-otp-send { padding:.5em .9em; border:1px solid var(--codfp-accent,#16a34a); background:#fff; color:var(--codfp-accent,#16a34a); border-radius:8px; cursor:pointer; font-weight:600; }
.codfp-otp-row { display:flex; gap:8px; margin-top:8px; }
.codfp-otp-code { flex:1; padding:.6em .7em; border:1px solid #d1d5db; border-radius:8px; letter-spacing:3px; }
.codfp-otp-verify { padding:.6em 1em; border:none; background:var(--codfp-accent,#16a34a); color:#fff; border-radius:8px; cursor:pointer; font-weight:600; }
.codfp-otp-msg { display:block; font-size:.85em; margin-top:6px; }
.codfp-otp.codfp-verified { border-color:#16a34a; background:#f0fdf4; }
.codfp-track { max-width:420px; margin:1.5em auto; padding:1.25em; border:1px solid #e5e7eb; border-radius:12px; background:#fff; }
.codfp-track-result { margin-top:12px; }
.codfp-track-ok { padding:12px; background:#f0fdf4; border:1px solid #bbf7d0; border-radius:8px; }
/* RTL */
[dir="rtl"] .codfp-product-summary, [dir="rtl"] .codfp-bump { direction:rtl; }

/* v5 — bundle widget */
.codfp-bundle { margin:0 0 14px; }
.codfp-bundle-title { font-weight:700; margin-bottom:8px; }
.codfp-bundle-options { display:flex; flex-direction:column; gap:8px; }
.codfp-bl-cards .codfp-bundle-options { gap:10px; }
.codfp-bundle-opt {
	display:flex; align-items:center; gap:10px; padding:12px 14px;
	border:2px solid #e5e7eb; border-radius:10px; cursor:pointer; transition:border-color .15s;
}
.codfp-bundle-opt input { margin:0; }
.codfp-bundle-opt .codfp-opt-main { display:flex; flex-direction:column; }
.codfp-bundle-opt .codfp-opt-price { margin-left:auto; font-weight:800; color:var(--codfp-accent,#16a34a); }
.codfp-bundle-opt .codfp-opt-badge { font-style:normal; font-size:.75em; background:var(--codfp-accent,#16a34a); color:#fff; padding:2px 8px; border-radius:20px; width:max-content; margin-top:3px; }
.codfp-bundle-opt.codfp-selected { border-color:var(--codfp-accent,#16a34a); background:#f0fdf4; }
.codfp-bl-compact .codfp-bundle-opt { padding:8px 10px; }
.codfp-bl-list .codfp-bundle-opt { border-width:1px; border-radius:6px; }
.codfp-bl-highlight .codfp-bundle-opt.codfp-selected { box-shadow:0 4px 14px rgba(22,163,74,.2); }
.codfp-bundle-list { border:1px solid #e5e7eb; border-radius:10px; padding:12px; }
.codfp-bundle-main { font-weight:700; }
.codfp-bundle-item { color:#374151; }
.codfp-bundle-pricing { margin:8px 0; }
.codfp-bundle-pricing del { color:#9ca3af; }
.codfp-bundle-add { display:flex; gap:8px; align-items:center; margin-top:6px; font-weight:600; }
.codfp-mm { border:1px solid #e5e7eb; border-radius:10px; padding:12px; }
.codfp-mm-help { font-weight:600; margin:0 0 8px; }
.codfp-mm-item { display:flex; gap:8px; align-items:center; padding:4px 0; }

.codfp-bundle-subtitle { color:#6b7280; font-size:.9em; margin:-4px 0 8px; }

/* ===== v6 — polished EasySell-style layout ===== */
.codfp-form-wrap {
	max-width: 460px; margin: 18px auto; background: #fff;
	border: 1px solid #e6e8eb; border-radius: 16px; padding: 18px 18px 20px;
	box-shadow: 0 6px 24px rgba(16,24,40,.06);
	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
.codfp-title { font-size: 1.15rem; font-weight: 800; margin: 0 0 12px; color:#0f172a; text-align:center; }

/* Product header */
.codfp-product-summary { display:flex; align-items:center; gap:12px; padding:0 0 14px; border-bottom:1px solid #f1f5f9; margin-bottom:14px; }
.codfp-product-thumb img { width:56px; height:56px; object-fit:cover; border-radius:10px; display:block; }
.codfp-product-meta { display:flex; flex-direction:column; }
.codfp-product-name { font-weight:700; color:#0f172a; line-height:1.2; }
.codfp-product-price { color:#64748b; font-size:.88rem; }

/* Quantity option cards */
.codfp-bundle-options { display:flex; flex-direction:column; gap:10px; }
.codfp-bundle-opt {
	position:relative; display:flex; align-items:center; gap:10px;
	padding:14px; border:2px solid #e5e7eb; border-radius:12px; cursor:pointer;
	transition:border-color .15s, background .15s;
}
.codfp-bundle-opt input[type=radio]{ accent-color:var(--codfp-accent,#16a34a); width:18px; height:18px; margin:0; flex:0 0 auto; }
.codfp-bundle-opt .codfp-opt-main { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.codfp-bundle-opt .codfp-opt-main strong { font-size:1rem; color:#0f172a; }
.codfp-opt-save { background:#fee2e2; color:#dc2626; font-size:.72rem; font-weight:800; padding:2px 8px; border-radius:20px; }
.codfp-opt-price { margin-left:auto; text-align:right; display:flex; flex-direction:column; line-height:1.15; }
.codfp-opt-price strong { font-size:1.05rem; color:#0f172a; }
.codfp-opt-price del { color:#9ca3af; font-size:.8rem; }
.codfp-opt-badge {
	position:absolute; top:-9px; right:14px; background:#111827; color:#fff;
	font-style:normal; font-size:.66rem; font-weight:800; letter-spacing:.04em;
	padding:2px 9px; border-radius:6px; text-transform:uppercase;
}
.codfp-bundle-opt.codfp-selected { border-color:var(--codfp-accent,#16a34a); background:color-mix(in srgb, var(--codfp-accent,#16a34a) 7%, #fff); }

/* Live order summary */
.codfp-summary { margin:14px 0; padding:12px 14px; background:#f8fafc; border:1px solid #eef2f6; border-radius:12px; }
.codfp-sum-row { display:flex; justify-content:space-between; align-items:center; padding:3px 0; color:#475569; font-size:.92rem; }
.codfp-sum-row .codfp-neg, .codfp-sum-discount { color:#dc2626; font-weight:600; }
.codfp-sum-total-row { border-top:1px dashed #d7dde5; margin-top:6px; padding-top:9px; }
.codfp-sum-total-row span { font-size:1.12rem; font-weight:800; color:#0f172a; }

/* Submit button with total */
.codfp-submit {
	width:100%; margin-top:14px; padding:15px 16px; border:0; border-radius:12px;
	background:var(--codfp-accent,#16a34a); color:#fff; font-size:1.02rem; font-weight:800;
	cursor:pointer; display:flex; align-items:center; justify-content:center; gap:6px;
	transition:filter .15s, transform .05s;
}
.codfp-submit:hover { filter:brightness(1.05); }
.codfp-submit:active { transform:translateY(1px); }
.codfp-submit-total { font-weight:800; }

/* Popup mode */
.codfp-popup-open { max-width:460px; margin:14px auto; display:flex; }
.codfp-popup-overlay {
	position:fixed; inset:0; background:rgba(15,23,42,.55); z-index:99999;
	display:flex; align-items:flex-start; justify-content:center; padding:24px 12px; overflow:auto;
}
.codfp-popup-overlay[hidden]{ display:none; }
.codfp-popup-box { position:relative; width:100%; max-width:480px; }
.codfp-popup-box .codfp-form-wrap { margin:0; max-height:none; }
.codfp-popup-close {
	position:absolute; top:-12px; right:-6px; z-index:2; width:34px; height:34px; border-radius:50%;
	border:0; background:#fff; color:#334155; font-size:22px; line-height:1; cursor:pointer;
	box-shadow:0 2px 10px rgba(0,0,0,.18);
}

/* v7 — gifts, dual payment buttons, notes */
.codfp-bundle-opt { flex-wrap:wrap; }
.codfp-opt-gifts { flex-basis:100%; display:flex; flex-direction:column; gap:2px; margin-top:6px; padding-top:6px; border-top:1px dashed #e5e7eb; }
.codfp-opt-gift { font-size:.82rem; color:#15803d; display:flex; gap:6px; align-items:center; }
.codfp-opt-gift del { color:#9ca3af; }
.codfp-submit-online { background:linear-gradient(90deg,#7c3aed,#db2777); margin-top:10px; }
.codfp-pay-note { text-align:center; font-size:.8rem; color:#64748b; margin:6px 0 0; }
.codfp-pay-note-online { color:#7c3aed; }

/* ============================================================
   v3.0 — Premium high-converting bundle cards (UI only)
   ============================================================ */
.codfp-bundle-options { display:flex; flex-direction:column; gap:12px; --codfp-hl: var(--codfp-accent,#16a34a); }

.codfp-bundle-opt {
	position:relative; display:flex; align-items:flex-start; gap:12px;
	padding:16px 16px 14px; background:#fff;
	border:2px solid #e6e8ec; border-radius:16px; cursor:pointer;
	transition:border-color .18s ease, box-shadow .18s ease, transform .12s ease, background .18s ease;
	will-change:transform;
}
.codfp-bundle-opt:hover { border-color:var(--codfp-hl); box-shadow:0 8px 22px rgba(16,24,40,.10); transform:translateY(-2px); }

/* Radio */
.codfp-opt-radio { flex:0 0 auto; padding-top:2px; }
.codfp-opt-radio input { width:20px; height:20px; margin:0; accent-color:var(--codfp-hl); }

/* Body */
.codfp-opt-body { flex:1 1 auto; display:flex; flex-direction:column; gap:4px; min-width:0; }
.codfp-opt-top { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.codfp-opt-label { font-size:1.02rem; font-weight:800; color:#0f172a; }
.codfp-opt-pct { background:#fee2e2; color:#dc2626; font-size:.72rem; font-weight:800; padding:2px 8px; border-radius:20px; }

.codfp-opt-pricing { display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.codfp-opt-final { font-size:1.25rem; font-weight:900; color:#0f172a; letter-spacing:-.01em; }
.codfp-opt-orig { color:#9ca3af; font-size:.9rem; text-decoration:line-through; }

.codfp-opt-save { display:inline-block; width:max-content; max-width:100%; background:#dcfce7; color:#15803d; font-size:.78rem; font-weight:800; padding:2px 9px; border-radius:8px; }

.codfp-opt-benefits { display:flex; flex-direction:column; gap:3px; margin-top:4px; padding-top:6px; border-top:1px dashed #eef0f3; }
.codfp-opt-gift { font-size:.82rem; color:#15803d; }
.codfp-opt-gift del { color:#9ca3af; }
.codfp-opt-ship { font-size:.82rem; color:#1d4ed8; font-weight:700; }

/* Custom check mark on the right */
.codfp-opt-check { flex:0 0 auto; width:22px; height:22px; border-radius:50%; border:2px solid #d1d5db; align-self:center; position:relative; transition:all .18s ease; }
.codfp-opt-check:after { content:""; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg) scale(0); transition:transform .18s ease; }

/* Ribbon badge */
.codfp-opt-ribbon {
	position:absolute; top:-11px; right:16px; z-index:2;
	background:var(--codfp-hl); color:#fff; font-size:.68rem; font-weight:800;
	letter-spacing:.04em; text-transform:uppercase; padding:3px 12px; border-radius:8px;
	box-shadow:0 3px 8px rgba(16,24,40,.18); white-space:nowrap;
}
.codfp-bestvalue .codfp-opt-ribbon { background:#0f172a; }

/* Selected / recommended state */
.codfp-bundle-opt.codfp-selected {
	border-color:var(--codfp-hl);
	background:color-mix(in srgb, var(--codfp-hl) 6%, #fff);
	box-shadow:0 10px 26px rgba(16,24,40,.12);
}
.codfp-bundle-opt.codfp-selected .codfp-opt-check { border-color:var(--codfp-hl); background:var(--codfp-hl); }
.codfp-bundle-opt.codfp-selected .codfp-opt-check:after { transform:rotate(45deg) scale(1); }
.codfp-bundle-opt.codfp-selected .codfp-opt-final { color:var(--codfp-hl); }

/* Recommended gets a subtle attention pulse on load */
.codfp-bundle-opt.codfp-rec { animation:codfp-pop .45s ease both; }
@keyframes codfp-pop { 0%{ transform:scale(.98); } 60%{ transform:scale(1.015); } 100%{ transform:scale(1); } }

/* Highlight card style: recommended slightly larger */
.codfp-cs-highlight .codfp-bundle-opt.codfp-rec { padding-top:20px; }

@media (prefers-reduced-motion: reduce) {
	.codfp-bundle-opt, .codfp-opt-check, .codfp-opt-check:after { transition:none; }
	.codfp-bundle-opt.codfp-rec { animation:none; }
}

/* Mobile-first touch targets + sticky CTA */
@media (max-width:600px) {
	.codfp-bundle-opt { padding:18px 14px; border-radius:14px; }
	.codfp-opt-final { font-size:1.18rem; }
	.codfp-opt-radio input { width:22px; height:22px; }
	.codfp-form-wrap.codfp-sticky-cta .codfp-submit-cod {
		position:sticky; bottom:8px; z-index:5; box-shadow:0 -2px 16px rgba(0,0,0,.12);
	}
}

/* ============================================================
   v3.1 — Full design control (admin-driven CSS variables)
   ============================================================ */
.codfp-form-wrap {
	background: var(--codfp-card-bg, #fff);
	border-color: var(--codfp-card-border, #e6e8eb);
	color: var(--codfp-text, #334155);
	border-radius: var(--codfp-card-radius, 16px);
}
.codfp-title { color: var(--codfp-title, #0f172a); }
.codfp-summary { background: var(--codfp-summary-bg, #f8fafc); }

/* Buttons */
.codfp-submit-cod, .codfp-popup-open {
	background: var(--codfp-btn-bg, var(--codfp-accent,#16a34a));
	color: var(--codfp-btn-text, #fff);
	border-radius: var(--codfp-btn-radius, 12px);
}
.codfp-submit-cod:hover, .codfp-popup-open:hover { background: var(--codfp-btn-hover, var(--codfp-accent,#16a34a)); filter:none; }
.codfp-submit-online {
	background: var(--codfp-online-bg, #7c3aed) !important;
	color: var(--codfp-online-text, #fff);
	border-radius: var(--codfp-btn-radius, 12px);
}

/* Bundle option cards */
.codfp-bundle-opt { background: var(--codfp-opt-bg, #fff); border-color: var(--codfp-opt-border, #e6e8ec); }
.codfp-bundle-opt:hover { border-color: var(--codfp-opt-sel-border, var(--codfp-accent,#16a34a)); }
.codfp-bundle-opt.codfp-selected {
	background: var(--codfp-opt-sel-bg, #f0fdf4);
	border-color: var(--codfp-opt-sel-border, var(--codfp-accent,#16a34a));
}
.codfp-bundle-opt.codfp-selected .codfp-opt-check { background: var(--codfp-opt-sel-border, var(--codfp-accent,#16a34a)); border-color: var(--codfp-opt-sel-border, var(--codfp-accent,#16a34a)); }
.codfp-bundle-opt.codfp-selected .codfp-opt-final { color: var(--codfp-opt-sel-border, var(--codfp-accent,#16a34a)); }

/* Badges + save pill */
.codfp-opt-ribbon { background: var(--codfp-badge-bg, var(--codfp-accent,#16a34a)); color: var(--codfp-badge-text, #fff); }
.codfp-bestvalue .codfp-opt-ribbon { background:#0f172a; }
.codfp-opt-save { background: var(--codfp-save-bg, #dcfce7); color: var(--codfp-save-text, #15803d); }

/* Sticky CTA (all screens when enabled) */
.codfp-form-wrap.codfp-sticky-cta .codfp-submit-cod {
	position: sticky; bottom: 8px; z-index: 5;
	box-shadow: 0 -2px 16px rgba(0,0,0,.12);
}

/* v3.2 — benefits/trust bar + free-shipping progress */
.codfp-benefits { margin:0 0 12px; }
.codfp-benefits-bar { display:flex; flex-wrap:wrap; gap:6px; }
.codfp-benefits-bar .codfp-benefit {
	background:var(--codfp-ben-bg,#f0fdf4); color:var(--codfp-ben-text,#15803d);
	font-size:.8rem; font-weight:700; padding:5px 10px; border-radius:20px; line-height:1.2;
}
.codfp-benefits-banner { display:flex; flex-direction:column; gap:4px; background:var(--codfp-ben-bg,#f0fdf4); border-radius:12px; padding:12px 14px; }
.codfp-benefits-banner .codfp-benefit { color:var(--codfp-ben-text,#15803d); font-size:.88rem; font-weight:600; }

/* Cards style — each benefit in its own clean box (easy to read) */
.codfp-benefits-cards { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.codfp-benefits-cards .codfp-benefit {
	display:flex; align-items:center; gap:8px;
	background:var(--codfp-ben-bg,#f0fdf4); color:var(--codfp-ben-text,#15803d);
	font-size:.84rem; font-weight:700; line-height:1.25;
	padding:11px 12px; border-radius:12px; border:1px solid rgba(0,0,0,.06);
	box-shadow:0 1px 3px rgba(16,24,40,.05);
}
@media (max-width:600px){ .codfp-benefits-cards { grid-template-columns:1fr; } }

.codfp-freeship-progress { margin:0 0 12px; }
.codfp-fsp-bar { height:8px; background:#eef2f6; border-radius:8px; overflow:hidden; }
.codfp-fsp-fill { display:block; height:100%; width:0; background:var(--codfp-accent,#16a34a); border-radius:8px; transition:width .3s ease; }
.codfp-fsp-text { font-size:.82rem; color:#334155; margin-top:5px; text-align:center; }

/* ============================================================
   v3.6 — Product bundle WITH images (EasySell-style)
   ============================================================ */
.codfp-pb { position:relative; border:2px solid var(--codfp-opt-border,#e6e8ec); border-radius:14px; padding:16px 14px 12px; background:var(--codfp-opt-bg,#fff); margin:10px 0; }
.codfp-pb-ribbon { position:absolute; top:-11px; left:14px; background:var(--codfp-badge-bg,var(--codfp-accent,#16a34a)); color:var(--codfp-badge-text,#fff); font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; padding:3px 12px; border-radius:8px; box-shadow:0 3px 8px rgba(16,24,40,.18); }

.codfp-pb-grid { display:flex; align-items:flex-start; justify-content:center; gap:6px; flex-wrap:wrap; margin:6px 0 12px; }
.codfp-pb-cell { width:96px; text-align:center; }
.codfp-pb-img { width:78px; height:78px; margin:0 auto 6px; border-radius:10px; overflow:hidden; background:#f8fafc; border:1px solid #eef0f3; display:flex; align-items:center; justify-content:center; }
.codfp-pb-img img { width:100%; height:100%; object-fit:cover; display:block; }
.codfp-pb-name { font-size:.76rem; line-height:1.25; color:#0f172a; font-weight:600; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.1em; }
.codfp-pb-cellprice { font-size:.78rem; color:#475569; margin-top:2px; }
.codfp-pb-plus { align-self:center; font-size:1.4rem; font-weight:700; color:#94a3b8; padding-top:24px; }

.codfp-pb-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px dashed #eef0f3; padding-top:10px; flex-wrap:wrap; }
.codfp-pb-titles strong { font-size:1rem; color:#0f172a; }
.codfp-pb-save { background:var(--codfp-save-bg,#dcfce7); color:var(--codfp-save-text,#15803d); font-size:.74rem; font-weight:800; padding:2px 8px; border-radius:8px; margin-left:4px; }
.codfp-pb-prices del { color:#9ca3af; font-size:.9rem; }
.codfp-pb-prices strong { font-size:1.2rem; font-weight:900; color:var(--codfp-opt-sel-border,var(--codfp-accent,#16a34a)); margin-left:4px; }

.codfp-bundle-add { display:flex; align-items:center; gap:8px; margin-top:10px; padding:10px; border-radius:10px; background:#f8fafc; font-weight:700; cursor:pointer; }
.codfp-bundle-add input { width:18px; height:18px; accent-color:var(--codfp-accent,#16a34a); }

/* Mix & match with images */
.codfp-mm-item { display:flex; align-items:center; gap:10px; padding:8px; border:1px solid #e6e8ec; border-radius:10px; margin:6px 0; cursor:pointer; }
.codfp-mm-img { width:48px; height:48px; border-radius:8px; overflow:hidden; flex:0 0 auto; background:#f8fafc; }
.codfp-mm-img img { width:100%; height:100%; object-fit:cover; }
.codfp-mm-name { flex:1; font-size:.85rem; font-weight:600; color:#0f172a; }
.codfp-mm-price { font-weight:700; color:#475569; font-size:.85rem; }

@media (max-width:600px){
	.codfp-pb-cell { width:84px; }
	.codfp-pb-img { width:68px; height:68px; }
	.codfp-pb-plus { padding-top:20px; }
}

/* v3.7 — order bump (add-on) with product image */
.codfp-bump { display:flex; align-items:center; gap:10px; }
.codfp-bump-img { flex:0 0 auto; width:56px; height:56px; border-radius:8px; overflow:hidden; background:#f8fafc; border:1px solid #eef0f3; }
.codfp-bump-img img { width:100%; height:100%; object-fit:cover; display:block; }
.codfp-bump-label { flex:1; line-height:1.3; }
.codfp-bump-price { white-space:nowrap; font-weight:700; }
.codfp-bump-price del { color:#9ca3af; font-weight:400; margin-left:4px; }

/* v3.9 — free-shipping unlock celebration + confetti */
.codfp-fsp-won .codfp-fsp-fill { background:#16a34a !important; }
.codfp-fsp-won .codfp-fsp-text { color:#15803d; animation:codfp-pop .4s ease; }
.codfp-confetti { position:absolute; inset:0; overflow:visible; pointer-events:none; z-index:6; }
.codfp-confetti-piece {
	position:absolute; top:0; width:8px; height:12px; border-radius:2px; opacity:0;
	animation:codfp-fall 1.3s ease-out forwards;
}
@keyframes codfp-fall {
	0%   { opacity:1; transform:translateY(-10px) rotate(0deg); }
	100% { opacity:0; transform:translateY(90px) rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	.codfp-confetti { display:none; }
	.codfp-fsp-won .codfp-fsp-text { animation:none; }
}

/* v3.10 — exit-intent discount offer */
.codfp-exit-offer { position:absolute; inset:0; z-index:10; display:flex; align-items:center; justify-content:center; background:rgba(15,23,42,.55); border-radius:inherit; padding:18px; }
.codfp-exit-offer[hidden] { display:none !important; }
.codfp-exit-card { background:#fff; border-radius:16px; padding:24px 20px; max-width:340px; width:100%; text-align:center; box-shadow:0 20px 50px rgba(0,0,0,.3); animation:codfp-pop .35s ease; }
.codfp-exit-title { margin:0 0 8px; font-size:1.25rem; font-weight:900; color:#0f172a; }
.codfp-exit-text { margin:0 0 16px; font-size:.95rem; color:#475569; line-height:1.5; }
.codfp-exit-claim { width:100%; margin-bottom:8px; }
.codfp-exit-decline { width:100%; background:none; border:none; color:#94a3b8; font-size:.85rem; cursor:pointer; padding:6px; text-decoration:underline; }
.codfp-exit-decline:hover { color:#64748b; }
.codfp-exit-applied { text-align:center; color:#15803d; font-weight:800; font-size:.9rem; margin:8px 0 0; }
