/* =========================================================================
 * wdz-checkout — Form module (Phase 4). Colors via --wdz-f-primary/-accent.
 * ========================================================================= */

.wdz-form[hidden] { display: none !important; }
.wdz-form {
	--wdz-f-primary: #0F3460; --wdz-f-accent: #C9A227;
	position: fixed; inset: 0; z-index: 99998; display: flex; align-items: center; justify-content: center; font-family: inherit;
}
.wdz-form__overlay { position: absolute; inset: 0; background: rgba(10,18,35,0.72); }
.wdz-form__dialog {
	position: relative; z-index: 1; display: flex; gap: 0;
	width: 920px; max-width: calc(100vw - 32px); max-height: calc(100vh - 48px);
	background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 24px 64px rgba(0,0,0,0.32);
}
.wdz-form__close { position: absolute; top: 10px; right: 14px; z-index: 3; width: 34px; height: 34px; border: 0; background: transparent; font-size: 28px; line-height: 1; color: #9aa3ad; cursor: pointer; border-radius: 8px; }
.wdz-form__close:hover { background: #f1f3f5; color: #333; }
.wdz-form__main { flex: 1; padding: 30px 30px 22px; overflow-y: auto; }

/* Progress */
.wdz-form__progress { display: flex; gap: 6px; list-style: none; margin: 0 0 6px; padding: 0; }
.wdz-form__progress li { height: 6px; flex: 1; border-radius: 999px; background: #e3e6ea; }
.wdz-form__progress li.is-active { background: var(--wdz-f-accent); }
.wdz-form__progress li.is-done { background: var(--wdz-f-primary); }
.wdz-form__steplabel { font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: #8b94a0; margin: 0 0 18px; }

/* Steps */
.wdz-form__step { display: none; }
.wdz-form__step.is-active { display: block; }
.wdz-form__steptitle { font-size: 18px; margin: 0 0 16px; color: #1f2733; }

.wdz-form__date { display: flex; align-items: center; gap: 10px; background: rgba(15,52,96,0.05); border-radius: 9px; padding: 10px 14px; margin-bottom: 16px; font-weight: 600; color: var(--wdz-f-primary); }
.wdz-form__link { border: 0; background: none; color: var(--wdz-f-accent); font-weight: 700; cursor: pointer; text-decoration: underline; margin-left: auto; }

.wdz-form__field { margin-bottom: 14px; }
.wdz-form__field-row { display: flex; gap: 12px; }
.wdz-form__field-row .wdz-form__field { flex: 1; }
.wdz-form__field-row .wdz-form__field--state { flex: 0 0 76px; }
.wdz-form__field label { display: block; font-size: 13px; font-weight: 600; color: #4a5562; margin-bottom: 6px; }
.wdz-form__field input, .wdz-form__field select {
	width: 100%; box-sizing: border-box; padding: 11px 12px; font-size: 16px; border: 2px solid #d7dbe0; border-radius: 9px; background: #fff; color: #1f2733;
}
.wdz-form__field input:focus, .wdz-form__field select:focus { outline: none; border-color: var(--wdz-f-primary); box-shadow: 0 0 0 3px rgba(15,52,96,0.12); }
.wdz-form__field input[aria-invalid="true"] { border-color: #c8102e; }
.wdz-form__hint { font-size: 12px; margin: 5px 0 0; color: #b07e00; }
.wdz-form__hint button { border: 0; background: none; color: var(--wdz-f-primary); text-decoration: underline; cursor: pointer; font-size: 12px; }

.wdz-form__toggle, .wdz-form__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.wdz-form__choice, .wdz-form__chip { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border: 2px solid #e3e6ea; border-radius: 9px; cursor: pointer; font-size: 14px; font-weight: 600; color: #1f2733; }
.wdz-form__choice:has(input:checked), .wdz-form__chip:has(input:checked) { border-color: var(--wdz-f-primary); background: rgba(15,52,96,0.04); }
.wdz-form__chip input, .wdz-form__choice input { accent-color: var(--wdz-f-primary); }
.wdz-form__required { font-size: 10px; background: #ffd34d; color: #5c4500; padding: 1px 6px; border-radius: 4px; vertical-align: middle; }
.wdz-form__required[hidden] { display: none; }

.wdz-form__waiver { display: flex; gap: 10px; align-items: flex-start; padding: 14px; border: 2px solid #e3e6ea; border-radius: 10px; margin-bottom: 16px; cursor: pointer; font-size: 14px; }
.wdz-form__waiver input { margin-top: 3px; accent-color: var(--wdz-f-primary); }
.wdz-form__tips { display: flex; gap: 8px; flex-wrap: wrap; }
.wdz-form__tip { padding: 9px 16px; border: 2px solid #e3e6ea; border-radius: 9px; background: #fff; font-weight: 700; cursor: pointer; }
.wdz-form__tip.is-active { border-color: var(--wdz-f-primary); background: rgba(15,52,96,0.05); color: var(--wdz-f-primary); }
.wdz-form__tip-custom { margin-top: 10px; }
.wdz-form__tip-custom[hidden] { display: none; }

/* Summary */
.wdz-form__summary { margin: 0 0 16px; }
.wdz-form__summary > div { display: flex; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid #eef0f3; font-size: 14px; }
.wdz-form__summary dt { color: #6b7480; margin: 0; }
.wdz-form__summary dd { margin: 0; font-weight: 600; color: #1f2733; }
.wdz-form__summary .is-total { font-size: 16px; }
.wdz-form__summary .is-total dt, .wdz-form__summary .is-total dd { color: var(--wdz-f-primary); font-weight: 800; }
.wdz-form__summary .is-note dd { color: #6b7480; font-weight: 500; font-style: italic; }
/* Editable line items: name on the left; qty stepper + price + remove on the right */
.wdz-form__summary .wdz-form__sumline dt { color: #1f2733; font-weight: 600; flex: 1 1 auto; }
.wdz-form__summary .wdz-form__sumline dd { display: inline-flex; align-items: center; gap: 12px; }
.wdz-form__sumqty { display: inline-flex; align-items: center; border: 1px solid #d7dbe0; border-radius: 8px; overflow: hidden; }
.wdz-form__qstep { width: 28px; height: 28px; border: 0; background: #f4f6fb; color: var(--wdz-f-primary, #0F3460); font-size: 16px; line-height: 1; cursor: pointer; }
.wdz-form__qstep:hover { background: #e7ebf3; }
.wdz-form__qval { min-width: 26px; text-align: center; font-size: 14px; font-weight: 600; }
.wdz-form__sumprice { min-width: 64px; text-align: right; }
.wdz-form__remove { width: 26px; height: 26px; border: 0; border-radius: 50%; background: transparent; color: #9aa3b0; font-size: 20px; line-height: 1; cursor: pointer; transition: background .15s ease, color .15s ease; }
.wdz-form__remove:hover { background: #fdecec; color: #c0392b; }
.wdz-form__sumempty dt { color: #9aa3b0; font-style: italic; }

/* Hide IO's redundant floating cart widget (.cartInfo — fixed top-right "N items").
   The header cart icon already opens our checkout form, and since we neutralize
   IO's native popover this floating one does nothing on click. This CSS loads
   site-wide (the form module is site-wide), so it's hidden everywhere. */
.cartInfo { display: none !important; }

.wdz-form__nopay { display: flex; align-items: center; gap: 8px; justify-content: center; background: #e8f6ec; color: #0a7f3f; border: 1px solid #b6e3c4; border-radius: 10px; padding: 12px; font-weight: 800; margin: 16px 0; }

.wdz-form__footer { display: flex; gap: 10px; align-items: center; margin-top: 22px; }
.wdz-form__btn { font-size: 15px; font-weight: 700; padding: 13px 22px; border-radius: 10px; border: 0; cursor: pointer; }
.wdz-form__btn--primary { margin-left: auto; background: var(--wdz-f-primary); color: #fff; }
.wdz-form__btn--submit { margin-left: auto; background: var(--wdz-f-accent); color: #1a1a1a; }
.wdz-form__btn:disabled { opacity: 0.45; cursor: not-allowed; }
.wdz-form__btn--ghost { background: transparent; color: #6b7480; }

/* Upsell rail (desktop) */
.wdz-form__upsell { width: 280px; flex: none; background: #f7f8fa; border-left: 1px solid #eceef1; padding: 30px 22px; overflow-y: auto; }
.wdz-form__upsell h4 { margin: 0 0 14px; color: var(--wdz-f-primary); font-size: 15px; }
.wdz-form__upsell-card { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid #e7eaee; border-radius: 9px; padding: 8px; margin-bottom: 10px; }
.wdz-form__upsell-card img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; flex: none; }
.wdz-form__upsell-name { font-size: 13px; font-weight: 600; color: #1f2733; }
.wdz-form__upsell-add { margin-left: auto; border: 0; background: var(--wdz-f-accent); color: #1a1a1a; font-weight: 700; border-radius: 7px; padding: 6px 10px; cursor: pointer; font-size: 12px; }
.wdz-form__upsell-empty { font-size: 13px; color: #8b94a0; }

/* Mobile CTA */
.wdz-form__cta { display: none; }

@media (max-width: 1023px) { .wdz-form__upsell { display: none; } .wdz-form__dialog { width: 600px; } }
@media (max-width: 768px) {
	.wdz-form__dialog { width: 100%; max-width: 100vw; height: 100%; max-height: 100vh; border-radius: 0; flex-direction: column; }
	.wdz-form__main { padding: 24px 18px 90px; }
	.wdz-form__footer { display: none; }
	.wdz-form__cta { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 4; align-items: center; gap: 12px; background: #fff; border-top: 1px solid #e3e6ea; padding: 12px 16px; }
	.wdz-form__cta-total { font-weight: 800; color: var(--wdz-f-primary); }
	.wdz-form__cta .wdz-form__btn { margin-left: auto; }
	.wdz-form__btn, .wdz-form__choice, .wdz-form__chip, .wdz-form__tip, .wdz-form__close { min-height: 44px; }
}

/* a11y (Phase 5) — visible focus */
.wdz-form :focus-visible { outline: 3px solid var(--wdz-f-accent); outline-offset: 2px; border-radius: 6px; }

/* Submit result panel + pending state (Phase 4 real submit) */
.wdz-checkout-form__result { margin: 0 0 14px; padding: 12px 14px; border-radius: 9px; font-size: 14px; line-height: 1.4; }
.wdz-checkout-form__result.is-success { background: #e7f7ec; color: #18603a; border: 1px solid #b6e4c4; }
.wdz-checkout-form__result.is-error   { background: #fdecec; color: #8a1c1c; border: 1px solid #f1bcbc; }
.wdz-checkout-form__result strong { display: inline-block; margin-bottom: 2px; }
.wdz-form__btn.is-pending, [data-wdz-fsubmit].is-pending, [data-wdz-fcta-btn].is-pending { opacity: .7; cursor: progress; pointer-events: none; }

/* Inline validation hints (Phase 6.2 — explain why Continue is unavailable) */
.wdz-form__hint.wdz-form__hint--error { color: #8a1c1c; font-size: 13px; margin: 4px 0 0; line-height: 1.35; }
.wdz-form__field input:not([type=checkbox]):not([type=radio]):invalid:not(:placeholder-shown),
.wdz-form__field:has(.wdz-form__hint--error:not([hidden])) input { border-color: #d04848; }
.wdz-form__btn.is-disabled,
[data-wdz-fnext].is-disabled,
[data-wdz-fcta-btn].is-disabled { background: #c6cad1 !important; color: #5f6772 !important; cursor: not-allowed; box-shadow: none !important; }

/* =========================================================================
 * Phase 6.4 — Design polish
 * Subtle motion, refined typography, more confident button affordances,
 * stronger visual hierarchy on the summary. Tighter spacing without losing
 * the existing 44px touch targets on mobile.
 * ========================================================================= */

/* Modal entrance — match the gate's polished feel */
.wdz-form__overlay { backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.wdz-form__dialog { animation: wdz-form-in 0.24s cubic-bezier(0.2, 0.7, 0.2, 1); }
@keyframes wdz-form-in {
	from { opacity: 0; transform: translateY(14px) scale(0.985); }
	to   { opacity: 1; transform: none; }
}

/* Smooth fade-in when a step becomes active */
.wdz-form__step.is-active { animation: wdz-step-in 0.22s ease-out; }
@keyframes wdz-step-in {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: none; }
}

/* Tighter, more confident step heading */
.wdz-form__steptitle {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	margin: 0 0 18px;
}
.wdz-form__steplabel {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

/* Premium date pill on step 1 */
.wdz-form__date {
	background: linear-gradient(135deg, rgba(15,52,96,0.06) 0%, rgba(201,162,39,0.05) 100%);
	border: 1px solid rgba(15,52,96,0.08);
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 14px;
}
.wdz-form__date::before {
	content: "";
	display: inline-block; width: 16px; height: 16px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F3460' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2' ry='2'/><line x1='16' y1='2' x2='16' y2='6'/><line x1='8' y1='2' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/></svg>");
	background-size: contain; background-repeat: no-repeat;
	margin-right: 4px; vertical-align: -3px; opacity: 0.8;
}

/* Refined input fields — slightly softer borders + lift on focus */
.wdz-form__field input, .wdz-form__field select {
	border-width: 1.5px; border-color: #d9dde3;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.wdz-form__field input:hover:not(:focus), .wdz-form__field select:hover:not(:focus) { border-color: #b9c0c8; }
.wdz-form__field input:focus, .wdz-form__field select:focus {
	box-shadow: 0 0 0 3.5px rgba(15,52,96,0.14);
}

/* Buttons — primary gets a real shadow and a lift-on-hover */
.wdz-form__btn {
	transition: transform 0.12s ease, box-shadow 0.15s ease, background 0.15s ease, opacity 0.15s ease;
	letter-spacing: 0.01em;
}
.wdz-form__btn--primary, .wdz-form__btn--submit {
	box-shadow: 0 4px 14px rgba(15,52,96,0.18), 0 1px 2px rgba(15,52,96,0.06);
}
.wdz-form__btn--submit { box-shadow: 0 4px 14px rgba(201,162,39,0.32), 0 1px 2px rgba(0,0,0,0.04); }
.wdz-form__btn--primary:hover:not(.is-disabled):not(:disabled),
.wdz-form__btn--submit:hover:not(.is-disabled):not(:disabled) {
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(15,52,96,0.24), 0 2px 4px rgba(15,52,96,0.08);
}
.wdz-form__btn--submit:hover:not(.is-disabled):not(:disabled) {
	box-shadow: 0 8px 22px rgba(201,162,39,0.4), 0 2px 4px rgba(0,0,0,0.06);
}
.wdz-form__btn--primary:active, .wdz-form__btn--submit:active { transform: translateY(0); }
.wdz-form__btn--ghost:hover { background: #f1f3f5; color: #1f2733; }

/* Tip chips — selected feels more confident, subtle hover */
.wdz-form__tip { transition: border-color 0.15s ease, background 0.15s ease, transform 0.1s ease; }
.wdz-form__tip:hover:not(.is-active) { border-color: #b9c0c8; }
.wdz-form__tip.is-active {
	border-color: var(--wdz-f-primary);
	background: var(--wdz-f-primary);
	color: #fff;
	box-shadow: 0 4px 12px rgba(15,52,96,0.18);
}

/* Waiver card — subtle accent stripe on the left */
.wdz-form__waiver {
	position: relative; overflow: hidden;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.wdz-form__waiver::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
	background: var(--wdz-f-accent); opacity: 0.6;
	transition: opacity 0.15s ease;
}
.wdz-form__waiver:hover { border-color: #b9c0c8; }
.wdz-form__waiver:has(input:checked) {
	border-color: var(--wdz-f-primary);
	background: rgba(15,52,96,0.03);
}
.wdz-form__waiver:has(input:checked)::before { opacity: 1; background: var(--wdz-f-primary); }

/* Review summary — stronger total emphasis, cleaner rows */
.wdz-form__summary > div { padding: 11px 0; font-size: 14.5px; }
.wdz-form__summary > div:last-child { border-bottom: 0; }
.wdz-form__summary .is-total {
	margin-top: 4px; padding-top: 14px;
	border-top: 1.5px solid #1f2733; border-bottom: 0;
	font-size: 17px;
}

/* "No payment" badge — softer, more inviting */
.wdz-form__nopay {
	background: linear-gradient(180deg, #effaf2 0%, #e3f4e9 100%);
	border-color: #b6e3c4;
	font-weight: 700;
	letter-spacing: 0.01em;
	box-shadow: 0 1px 2px rgba(10,127,63,0.06);
}

/* Result panel: success state with checkmark icon */
.wdz-checkout-form__result.is-success {
	padding: 18px 18px 18px 56px;
	position: relative;
	background: linear-gradient(180deg, #effaf2 0%, #e3f4e9 100%);
	border-color: #b6e3c4;
	box-shadow: 0 1px 2px rgba(10,127,63,0.06);
}
.wdz-checkout-form__result.is-success::before {
	content: "";
	position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
	width: 28px; height: 28px; border-radius: 50%;
	background: #18a85a url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center / 16px no-repeat;
	box-shadow: 0 2px 8px rgba(24,168,90,0.32);
}
.wdz-checkout-form__result.is-success strong { font-size: 16px; }

/* Error panel: small alert icon */
.wdz-checkout-form__result.is-error {
	padding: 14px 14px 14px 50px;
	position: relative;
}
.wdz-checkout-form__result.is-error::before {
	content: "!"; font-weight: 800;
	position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
	width: 24px; height: 24px; border-radius: 50%;
	background: #d04848; color: #fff; display: flex; align-items: center; justify-content: center;
	font-size: 16px;
}

/* Disabled-look button — softer gray, gentler */
.wdz-form__btn.is-disabled,
[data-wdz-fnext].is-disabled,
[data-wdz-fcta-btn].is-disabled {
	background: #e2e5ea !important; color: #8a93a0 !important;
	transform: none !important;
}

/* Refined close X */
.wdz-form__close { transition: background 0.15s ease, color 0.15s ease, transform 0.1s ease; }
.wdz-form__close:hover { transform: scale(1.06); }

/* Upsell rail empty state — feels intentional, not forgotten */
.wdz-form__upsell-empty {
	padding: 14px; background: #fff; border: 1px dashed #d9dde3; border-radius: 9px;
	text-align: center; font-style: italic;
}

/* Mobile sticky CTA — subtle elevation */
@media (max-width: 768px) {
	.wdz-form__cta { box-shadow: 0 -4px 14px rgba(15,52,96,0.06); }
	.wdz-form__main { padding-top: 28px; }
}

/* Routed-back banner — a touch softer than the error panel */
[data-wdz-frouted-banner].wdz-checkout-form__result {
	padding-left: 14px;
}
[data-wdz-frouted-banner].wdz-checkout-form__result::before { display: none; }

/* Try-again row inside the error panel */
.wdz-form__retry-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.wdz-form__btn--retry { background: var(--wdz-f-primary); color: #fff; padding: 9px 16px; font-size: 14px; border-radius: 8px; }
.wdz-form__retry-or { color: #6b7480; font-size: 13px; }
.wdz-form__phonelink { color: var(--wdz-f-primary); font-weight: 700; text-decoration: none; }
.wdz-form__phonelink:hover { text-decoration: underline; }
.wdz-form__statuscode { color: #8a1c1c; opacity: 0.75; font-weight: 500; font-size: 12px; margin-left: 6px; }

/* =========================================================================
 * Phase 6.6 — Modal polish round 2
 * (1) hide the upsell rail when empty + narrow the modal so the main column
 *     reads as the intentional center of attention, not the left half of a
 *     two-column layout with nothing on the right.
 * (2) quiet the surface/choice chips: kill the redundant native radio dot,
 *     let the chip border do the work.
 * (3) cleaner Change link on the date pill, tighter review summary spacing.
 * (4) success state: hide Back/coupon noise so the moment lands clean.
 * ========================================================================= */

/* (1) Empty-rail collapse — uses :has() (supported in all modern browsers) */
.wdz-form__dialog:has(.wdz-form__upsell-empty) {
	width: 720px;
}
.wdz-form__dialog:has(.wdz-form__upsell-empty) .wdz-form__upsell { display: none; }

/* (2) Chip + choice — hide the native radio, the border + check is the cue */
.wdz-form__chip input[type=radio],
.wdz-form__chip input[type=checkbox],
.wdz-form__choice input[type=radio],
.wdz-form__choice input[type=checkbox] {
	position: absolute;
	width: 1px; height: 1px;
	opacity: 0;
	pointer-events: none;
}
.wdz-form__chip, .wdz-form__choice {
	padding: 10px 16px;
	border-color: #d9dde3;
}
.wdz-form__chip:hover:not(:has(input:checked)),
.wdz-form__choice:hover:not(:has(input:checked)) {
	border-color: #b9c0c8;
	background: #f8f9fb;
}
.wdz-form__chip:has(input:checked),
.wdz-form__choice:has(input:checked) {
	background: var(--wdz-f-primary);
	border-color: var(--wdz-f-primary);
	color: #fff;
	box-shadow: 0 4px 12px rgba(15,52,96,0.16);
}

/* Surface "REQUIRED" pill — slightly softer */
.wdz-form__required {
	background: rgba(201,162,39,0.18);
	color: #6b4f00;
	border: 1px solid rgba(201,162,39,0.32);
	font-weight: 700;
}

/* (3) Date pill Change link — quieter */
.wdz-form__date .wdz-form__link {
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 0.85;
}
.wdz-form__date .wdz-form__link:hover { opacity: 1; text-decoration: underline; }

/* (3) Review summary — tighter, more confident grouping */
.wdz-form__summary { margin-bottom: 18px; }
.wdz-form__summary > div { padding: 12px 0; }
.wdz-form__summary > div:first-child { padding-top: 4px; }
.wdz-form__summary .is-note dd { font-size: 13px; }

/* Coupon field — group as "Have a coupon?" to feel intentional */
.wdz-form__coupon { background: #f7f8fa; border: 1px dashed #d9dde3; border-radius: 10px; padding: 14px 16px; margin-bottom: 14px; }
.wdz-form__coupon label {
	color: #5f6772; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; font-weight: 700;
}
.wdz-form__coupon input { background: #fff; border-color: #e3e6ea; }

/* (4) Success state: hide step controls so the celebration lands clean */
.wdz-form__main:has(.wdz-checkout-form__result.is-success) .wdz-form__footer,
.wdz-form__main:has(.wdz-checkout-form__result.is-success) [data-wdz-fback],
.wdz-form__main:has(.wdz-checkout-form__result.is-success) .wdz-form__coupon,
.wdz-form__main:has(.wdz-checkout-form__result.is-success) .wdz-form__nopay {
	display: none !important;
}
/* And the success panel itself should breathe a touch more on success */
.wdz-form__main:has(.wdz-checkout-form__result.is-success) .wdz-form__summary {
	margin-top: 10px;
	opacity: 0.92;
}

/* Modal close button — softer interaction */
.wdz-form__close { top: 12px; right: 14px; color: #b0b9c4; }
.wdz-form__close:hover { background: #f5f6f8; color: #2b3441; }

/* Slight gradient on the modal top so the header feels grounded */
.wdz-form__main {
	background: linear-gradient(180deg, #fdfdfe 0%, #fff 80px);
}

/* Mobile: narrower-modal rule shouldn't fight full-screen mobile layout */
@media (max-width: 768px) {
	.wdz-form__dialog:has(.wdz-form__upsell-empty) { width: 100%; }
}
