/* LUMEN Phase 5 — Checkout gate banner + post-order confirmation reveal.
   Only loaded on the cart/checkout/order-received pages, and only when the
   checkout-gate module is enabled (see class-checkout-guard.php). The
   WooCommerce cart/checkout forms themselves are not restyled — only the
   two elements this plugin already renders itself: the gate banner/button,
   and (via a real WooCommerce filter, not a template override) the native
   order-received confirmation text. */

.dbl-bcs-checkout-banner {
	margin-bottom: 20px;
	padding: 18px 22px;
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(155, 30, 40, 0.16), rgba(20, 10, 10, 0.9));
	border: 1px solid rgba(215, 90, 90, 0.45);
}

.dbl-bcs-checkout-banner-label {
	margin: 0 0 6px;
	color: var(--lumen-status-attention);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dbl-bcs-checkout-banner p.lumen-body {
	margin: 0;
	color: var(--lumen-ink);
	font-size: 15px;
	line-height: 1.6;
}

.dbl-bcs-checkout-banner a {
	color: var(--lumen-status-attention);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(215, 90, 90, 0.5);
	padding-bottom: 1px;
	transition: border-color 0.2s ease;
}

.dbl-bcs-checkout-banner a:hover,
.dbl-bcs-checkout-banner a:focus-visible {
	border-bottom-color: currentColor;
}

/* The "Complete Your Contract First" button reuses the theme's own
   checkout-button classes for layout/color so it keeps matching the site —
   this only nudges the letter-spacing to match LUMEN's technical label
   style, nothing structural. */
.dbl-bcs-contract-required-btn {
	letter-spacing: 0.04em;
}

/* ── v0.39.8 — notice color/background/icon/button rules REMOVED from here ──
   This file previously duplicated a Cart/Checkout-only override of
   WooCommerce's notice color/background/icon/button because the sitewide
   notice-visibility-fix module (class-notice-visibility-fix.php) still had
   the OLD light-background-era `color: #1a1a1a` rule, which this file's
   comment correctly identified as wrong for LUMEN's actual dark notice
   background. That sitewide module has now been corrected directly (same
   dark LUMEN values this file used to duplicate here) and is the single
   source of truth for WooCommerce notice presentation everywhere,
   including Cart/Checkout — so keeping a second, Cart/Checkout-only copy
   of the same rules here would be exactly the "multiple contradictory
   global notice rules" fragmentation this correction pass exists to
   remove. Nothing customer-visible changes: the values were identical.
   This file keeps only what's genuinely unique to Cart/Checkout: the
   plugin's own gate banner below, and the order-received reveal
   animation further down. */

/* ── Post-order confirmation: "developing photograph" reveal ───────────
   Overrides the shared, subtler .lumen-aperture-open (a 0.7s clip-path
   circle reveal, used for first-entrance moments elsewhere in LUMEN) with
   a bespoke reveal for this one moment: the confirmation text resolves
   into focus the way a print emerges in developer fluid — overexposed and
   soft, then settling into full contrast and sharpness. Still covered
   automatically by lumen-foundation.css's prefers-reduced-motion rule,
   since it targets the same .lumen-aperture-open class name this element
   also carries.

   Phase 5 repair: on staging this was reported as not visible at all.
   The most likely cause is that the reveal depended ENTIRELY on
   class-checkout-guard.php's `woocommerce_thankyou_order_received_text`
   filter running and its markup surviving unmodified — which only happens
   if the active theme's own checkout/thankyou.php template still calls
   that exact filter. If this site's thank-you page uses a customized
   template (plausible, given how much of the rest of the site's branding
   is handled by a separate presentation layer) that filter may never
   fire, and the effect would silently never show up, with no error
   anywhere. Rather than depend on that one filter, this now ALSO targets
   WooCommerce's own permanent, un-themeable class name directly — so the
   reveal plays even if the filter-based span wrapper above never renders.
   Slightly longer and more pronounced than the v0.27.0 version per
   Michael's "make it clearly noticeable" instruction. If reduced motion
   is enabled in the visitor's own OS/browser, both of these are correctly
   suppressed by lumen-foundation.css's prefers-reduced-motion rule —
   that's expected, accessible behavior, not a bug. */
@keyframes dbl-bcs-order-develop {
	0%   { opacity: 0; filter: blur(20px) contrast(0.5) brightness(1.4); }
	45%  { opacity: 1; filter: blur(6px) contrast(0.8) brightness(1.15); }
	100% { opacity: 1; filter: blur(0) contrast(1) brightness(1); }
}

.dbl-bcs-order-reveal.lumen-aperture-open {
	display: inline-block;
	animation: dbl-bcs-order-develop 1.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* Belt-and-suspenders: WooCommerce's own permanent class on the
   order-received paragraph, independent of the PHP filter above. If the
   filter's span is present too, the browser simply runs both — visually
   indistinguishable from running once, since they animate the same
   properties in the same direction. */
body.woocommerce-checkout .woocommerce-thankyou-order-received {
	display: inline-block;
	animation: dbl-bcs-order-develop 1.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-checkout .woocommerce-thankyou-order-received {
		animation: none !important;
		filter: none !important;
		opacity: 1 !important;
	}
}
