/* =========================================================================
   Fehno Commerce — Branded checkout / cart / account / thank-you
   Scoped under body.fehno-checkout, body.fehno-cart, body.fehno-account,
   body.fehno-thankyou so it never leaks into other pages.
   ========================================================================= */

:root {
	--fc-purple:       #502878;
	--fc-purple-deep:  #23194B;
	--fc-purple-soft:  #6b3b9a;
	--fc-ink:          #120a1f;
	--fc-ink-2:        #1a112d;
	--fc-paper:        #f6efe0;
	--fc-paper-2:      #efeadd;
	--fc-cream:        #fffaf0;
	--fc-text:         #1a1a1a;
	--fc-text-soft:    #3a3a3a;
	--fc-muted:        #6a6a6a;
	--fc-border:       #e5e0d3;
	--fc-border-soft:  #efeadd;
	--fc-border-dark:  #2a1d45;
	--fc-highlight:    #fde68a;
	--fc-success:      #8be2a8;
	--fc-danger:       #ff6565;
	--fc-radius:       14px;
	--fc-radius-sm:    10px;
	--fc-shadow-card:  0 1px 0 rgba(26,10,40,0.04), 0 14px 40px -18px rgba(26,10,40,0.22);
}

/* ---- Global body styles only on commerce pages ---- */
body.fehno-checkout,
body.fehno-cart,
body.fehno-account,
body.fehno-thankyou {
	background: var(--fc-ink) !important;
	color: #f3eefb;
	font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Hide theme chrome (header/footer template parts) on commerce pages */
body.fehno-checkout header.wp-block-template-part,
body.fehno-checkout footer.wp-block-template-part,
body.fehno-thankyou header.wp-block-template-part,
body.fehno-thankyou footer.wp-block-template-part {
	display: none !important;
}
body.fehno-cart header.wp-block-template-part,
body.fehno-account header.wp-block-template-part {
	/* Keep minimal on cart/account in case user wants nav — but style flat */
}

/* Unconstrain main layout */
body.fehno-checkout .wp-site-blocks,
body.fehno-thankyou .wp-site-blocks,
body.fehno-cart .wp-site-blocks,
body.fehno-account .wp-site-blocks {
	background: var(--fc-ink);
}
body.fehno-checkout main,
body.fehno-thankyou main,
body.fehno-cart main,
body.fehno-account main {
	max-width: none !important;
	margin: 0 auto !important;
	padding: 0 !important;
	background: transparent !important;
}
body.fehno-checkout .entry-content,
body.fehno-thankyou .entry-content,
body.fehno-cart .entry-content,
body.fehno-account .entry-content,
body.fehno-checkout .wp-block-post-content,
body.fehno-thankyou .wp-block-post-content,
body.fehno-cart .wp-block-post-content,
body.fehno-account .wp-block-post-content {
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.fehno-checkout .wp-block-post-title,
body.fehno-cart .wp-block-post-title,
body.fehno-account .wp-block-post-title,
body.fehno-thankyou .wp-block-post-title {
	display: none;
}

/* =========================================================================
   CHECKOUT SHELL — top bar + intro
   ========================================================================= */

.fehno-checkout-shell {
	background: var(--fc-ink);
	padding: 28px clamp(20px, 4vw, 56px) 8px;
}

.fehno-checkout-topbar {
	max-width: 1120px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 28px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.fehno-checkout-logo {
	font-family: 'Outfit', sans-serif;
	font-weight: 900;
	letter-spacing: 0.25em;
	font-size: 15px;
	color: #fff;
	text-decoration: none;
	display: inline-block;
}

.fehno-checkout-secure {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.65);
}
.fehno-checkout-secure svg { color: var(--fc-highlight); }

.fehno-checkout-intro {
	max-width: 1120px;
	margin: 0 auto;
	padding: 36px 0 28px;
	text-align: left;
}
.fehno-checkout-intro .fehno-eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--fc-highlight);
	margin: 0 0 12px;
}
.fehno-checkout-intro h1 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: clamp(28px, 3.6vw, 44px);
	line-height: 1.08;
	margin: 0 0 10px;
	color: #fff;
	letter-spacing: -0.02em;
}
.fehno-checkout-intro .fehno-lead {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
	line-height: 1.55;
	max-width: 560px;
}

/* =========================================================================
   CHECKOUT LAYOUT — 2 columns on desktop
   ========================================================================= */

.fehno-checkout .woocommerce {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 56px) 48px;
}

.fehno-checkout .woocommerce-notices-wrapper {
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 56px);
}
.fehno-checkout .woocommerce-notices-wrapper:empty {
	display: none;
}
.fehno-checkout .woocommerce-error,
.fehno-checkout .woocommerce-message,
.fehno-checkout .woocommerce-info {
	background: #1a112d;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-left: 3px solid var(--fc-highlight);
	color: #f3eefb;
	border-radius: var(--fc-radius-sm);
	padding: 14px 18px;
	list-style: none;
	font-size: 14px;
	margin: 0 0 16px;
}
.fehno-checkout .woocommerce-error li,
.fehno-checkout .woocommerce-message li,
.fehno-checkout .woocommerce-info li { list-style: none; }

/* Login / coupon prompts — always hidden; coupon replaced by custom card below */
.fehno-checkout .woocommerce-form-login-toggle,
.fehno-checkout .woocommerce-form-coupon-toggle,
.fehno-checkout .woocommerce-form-coupon {
	display: none !important;
}

/* ── Custom coupon card ──────────────────────────────────────────────────────
   Rendered inside #customer_details via woocommerce_after_checkout_billing_form.
   No grid placement needed — it flows naturally at the bottom of the left card.
   A border-top separator distinguishes it from the billing fields above. */
.fehno-checkout .fehno-coupon-card {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid var(--fc-border);
	color: var(--fc-text);
}

.fehno-coupon-title {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 16px;
	color: var(--fc-text);
	margin: 0 0 14px;
	letter-spacing: -0.01em;
}

.fehno-coupon-row {
	display: flex;
	gap: 10px;
	align-items: stretch;
}
/* Input inherits the global .input-text styles; override width/height only */
.fehno-coupon-row .input-text,
.fehno-coupon-row input[type="text"] {
	flex: 1 !important;
	min-width: 0 !important;
	width: auto !important;
}

.fehno-coupon-btn {
	flex-shrink: 0;
	padding: 0 22px;
	height: 48px;
	background: var(--fc-purple);
	color: #fff;
	border: 0;
	border-radius: var(--fc-radius-sm);
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.01em;
	cursor: pointer;
	transition: background .15s ease, opacity .15s ease;
	white-space: nowrap;
}
.fehno-coupon-btn:hover:not(:disabled) { background: var(--fc-purple-soft); }
.fehno-coupon-btn:disabled { opacity: 0.55; cursor: not-allowed; }

.fehno-coupon-feedback {
	margin-top: 10px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.45;
	min-height: 0;
}
.fehno-coupon-feedback:empty { display: none; }
.fehno-coupon-feedback.is-success { color: #1a7c3e; }
.fehno-coupon-feedback.is-error   { color: var(--fc-danger); }


/* ── Validation errors ──────────────────────────────────────────────────────
   WooCommerce prepends .woocommerce-NoticeGroup-checkout as the first child
   of form.checkout (via JS on failed submit).  Because form.checkout is a
   CSS grid with #customer_details and #order_review both pinned to grid-row:1,
   the auto-placed notice group gets pushed to row 2 — below the payment
   section and off-screen on mobile.  The JS in checkout.js moves it to
   .woocommerce-notices-wrapper (above the form) and scrolls to it.  These
   rules are a belt-and-suspenders fallback in case the notice is not moved:
   force it to span all columns and appear at the visual start of the form.  */
.fehno-checkout form.checkout > .woocommerce-NoticeGroup,
.fehno-checkout form.checkout > .woocommerce-NoticeGroup-checkout {
	grid-column: 1 / -1;   /* span both desktop columns */
	grid-row: 1;            /* force to first row */
	min-width: 0;
	margin-bottom: 8px;
}
/* When the notice occupies row 1, nudge pinned columns to row 2 so they
   don't overlap.  :has() is supported in all browsers since mid-2023. */
.fehno-checkout form.checkout:has(> .woocommerce-NoticeGroup) > #customer_details,
.fehno-checkout form.checkout:has(> .woocommerce-NoticeGroup-checkout) > #customer_details {
	grid-row: 2;
}
.fehno-checkout form.checkout:has(> .woocommerce-NoticeGroup) > #order_review,
.fehno-checkout form.checkout:has(> .woocommerce-NoticeGroup-checkout) > #order_review {
	grid-row: 2;
}
/* .woocommerce-notices-wrapper scroll anchor — give a small top margin so
   the error isn't flush with the page edge when scrolled into view */
.fehno-checkout .woocommerce-notices-wrapper {
	scroll-margin-top: 16px;
}
/* Ensure error list inside .woocommerce-notices-wrapper has no extra margin */
.fehno-checkout .woocommerce-notices-wrapper .woocommerce-error:last-child {
	margin-bottom: 0;
}

/* ── Invalid / valid field states ────────────────────────────────────────── */
.fehno-checkout .form-row.woocommerce-invalid .input-text,
.fehno-checkout .form-row.woocommerce-invalid input[type="text"],
.fehno-checkout .form-row.woocommerce-invalid input[type="email"],
.fehno-checkout .form-row.woocommerce-invalid input[type="tel"],
.fehno-checkout .form-row.woocommerce-invalid input[type="number"],
.fehno-checkout .form-row.woocommerce-invalid select,
.fehno-checkout .form-row.woocommerce-invalid .select2-selection--single {
	border-color: var(--fc-danger) !important;
	box-shadow: 0 0 0 3px rgba(255, 101, 101, 0.15) !important;
}
.fehno-checkout .form-row.woocommerce-validated .input-text,
.fehno-checkout .form-row.woocommerce-validated input[type="text"],
.fehno-checkout .form-row.woocommerce-validated input[type="email"],
.fehno-checkout .form-row.woocommerce-validated input[type="tel"],
.fehno-checkout .form-row.woocommerce-validated input[type="number"],
.fehno-checkout .form-row.woocommerce-validated select,
.fehno-checkout .form-row.woocommerce-validated .select2-selection--single {
	border-color: var(--fc-success) !important;
}

/* Form layout — 2-column grid.
   BUG FIX: WooCommerce injects 4 direct children into form.checkout besides
   #customer_details and #order_review:
     • wc-order-attribution-inputs  (custom element, renders nothing)
     • h3.fehno-review-heading       (our PHP-injected heading)
     • h3#order_review_heading       (WC's own heading)
   Without explicit grid placement these ghost items steal column 2 row 1,
   pushing #order_review to col 1 row 3.  Fixed by:
     1. column-gap only (no row-gap on phantom rows)
     2. collapsing ghost items via display:none
     3. pinning #customer_details and #order_review with grid-column/grid-row */
.fehno-checkout form.checkout {
	display: grid;
	grid-template-columns: 1.2fr 0.9fr;
	column-gap: 32px;
	align-items: start;
}

/* Collapse WC ghost grid items so they take zero space */
.fehno-checkout form.checkout > wc-order-attribution-inputs {
	display: none;
}
.fehno-checkout form.checkout > h3 {
	display: none;
}

/* Safety net: ECE elements must never auto-place as stray grid children.
   They render inside #order_review via woocommerce_review_order_before_payment.
   This rule silences them if the hook removal ever fails to fire. */
.fehno-checkout form.checkout > .fehno-express-heading,
.fehno-checkout form.checkout > #wc-stripe-express-checkout-element,
.fehno-checkout form.checkout > .fehno-express-divider,
.fehno-checkout form.checkout > #wc-stripe-express-checkout-button-separator,
.fehno-checkout form.checkout > wc-order-attribution-inputs {
	display: none !important;
}

/* Explicit column/row placement — immune to injected sibling count */
.fehno-checkout #customer_details {
	grid-column: 1;
	grid-row: 1;
}
.fehno-checkout #order_review {
	grid-column: 2;
	grid-row: 1;
}

@media (max-width: 900px) {
	.fehno-checkout form.checkout {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 24px; /* breathing room between details card and order summary on mobile */
	}
	.fehno-checkout #customer_details {
		grid-column: 1;
		grid-row: 1;
	}
	.fehno-checkout #order_review {
		grid-column: 1;
		grid-row: 2;
		position: static; /* sticky makes no sense when stacked */
		/* Prevent the PayPal button / place-order button from hiding under the
		   mobile browser bottom bar (Safari toolbar, Chrome navigation bar). */
		padding-bottom: calc(clamp(22px, 3vw, 32px) + env(safe-area-inset-bottom, 16px));
	}
}

/* ==== LEFT COLUMN ==== */

.fehno-checkout #customer_details {
	background: #fff;
	color: var(--fc-text);
	border-radius: var(--fc-radius);
	padding: clamp(22px, 3vw, 32px);
	box-shadow: var(--fc-shadow-card);
	/* min-width: 0 is required on grid items to prevent overflow of their track */
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
}
.fehno-checkout #customer_details .col-1,
.fehno-checkout #customer_details .col-2 {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	max-width: none !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
}
.fehno-checkout #customer_details .col-2 {
	display: none; /* shipping column — not needed for digital */
}
/* Empty WC-generated sections inside col-1 */
.fehno-checkout .woocommerce-account-fields,
.fehno-checkout .woocommerce-additional-fields {
	display: none;
}

.fehno-checkout .woocommerce-billing-fields h3,
.fehno-checkout .woocommerce-additional-fields h3 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 20px;
	margin: 0 0 18px;
	letter-spacing: -0.01em;
	color: var(--fc-text);
}
.fehno-checkout .woocommerce-billing-fields h3::before {
	content: "1";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--fc-purple);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	margin-right: 10px;
	vertical-align: middle;
}

/* Fields */
.fehno-checkout .woocommerce-billing-fields__field-wrapper {
	/* clearfix — contains the inline-block form-row-first/last halves */
	overflow: hidden;
}
.fehno-checkout .form-row {
	padding: 0;
	margin: 0 0 14px;
	box-sizing: border-box;
	max-width: 100%;
}
.fehno-checkout .form-row-first,
.fehno-checkout .form-row-last {
	width: calc(50% - 7px);
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}
.fehno-checkout .form-row-first { margin-right: 14px; }
/* woocommerce-input-wrapper must be block so the child input stretches 100% */
.fehno-checkout .woocommerce-input-wrapper {
	display: block;
	width: 100%;
}
@media (max-width: 540px) {
	.fehno-checkout .form-row-first,
	.fehno-checkout .form-row-last {
		width: 100%;
		margin-right: 0;
		display: block;
	}
}

.fehno-checkout label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--fc-text);
	margin: 0 0 6px;
}
.fehno-checkout label .required {
	color: var(--fc-purple);
	text-decoration: none;
	margin-left: 2px;
}
.fehno-checkout label .optional {
	color: var(--fc-muted);
	font-weight: 400;
}

.fehno-checkout .input-text,
.fehno-checkout input[type="text"],
.fehno-checkout input[type="email"],
.fehno-checkout input[type="tel"],
.fehno-checkout input[type="number"],
.fehno-checkout input[type="password"],
.fehno-checkout select,
.fehno-checkout .select2-selection--single {
	width: 100% !important;
	height: 48px !important;
	line-height: 46px !important;
	padding: 0 14px !important;
	font-family: inherit !important;
	font-size: 15px !important;
	color: var(--fc-text) !important;
	background: #fff !important;
	border: 1.5px solid var(--fc-border) !important;
	border-radius: var(--fc-radius-sm) !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.fehno-checkout input:focus,
.fehno-checkout select:focus,
.fehno-checkout .select2-selection--single:focus,
.fehno-checkout .select2-container--focus .select2-selection--single {
	border-color: var(--fc-purple) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(80, 40, 120, 0.18) !important;
}

/* Select2 dropdown — use flexbox centering instead of line-height hacks */
.fehno-checkout .select2-container .select2-selection--single,
.fehno-checkout .select2-container--default .select2-selection--single {
	height: 48px !important;
	display: flex !important;
	align-items: center !important;
	padding: 0 !important;
}
.fehno-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: normal !important;
	padding: 0 40px 0 14px !important;
	color: var(--fc-text) !important;
	/* flex child — let it shrink/grow within the 48px container */
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fehno-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	/* pin the arrow to the right edge, vertically centered */
	position: absolute !important;
	right: 10px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	height: auto !important;
}
.select2-dropdown {
	border-color: var(--fc-border) !important;
	border-radius: var(--fc-radius-sm) !important;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--fc-purple) !important;
	color: #fff !important;
}

/* ==== RIGHT COLUMN — order review ==== */

.fehno-checkout h3#order_review_heading,
.fehno-checkout .fehno-review-heading {
	display: none;
}

.fehno-checkout #order_review {
	background: #fff;
	color: var(--fc-text);
	border-radius: var(--fc-radius);
	padding: clamp(22px, 3vw, 32px);
	box-shadow: var(--fc-shadow-card);
	position: sticky;
	top: 20px;
	/* Grid item containment — prevents right column from stretching past its track */
	min-width: 0;
	box-sizing: border-box;
	overflow: hidden;
}

/* Order summary table — table-layout:fixed prevents product name from
   stretching the column (and thus the whole right card) past its grid track */
.fehno-checkout #order_review .shop_table,
.fehno-checkout #order_review table.shop_table {
	width: 100%;
	max-width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	background: transparent;
	margin: 0;
	border: 0;
}
.fehno-checkout #order_review .shop_table th,
.fehno-checkout #order_review .shop_table td {
	padding: 12px 0;
	border: 0;
	border-bottom: 1px solid var(--fc-border-soft);
	font-size: 14px;
	color: var(--fc-text);
	background: transparent;
	text-align: left;
}
.fehno-checkout #order_review .shop_table thead {
	display: none; /* header row adds noise */
}
.fehno-checkout #order_review .shop_table .product-name {
	font-weight: 600;
	color: var(--fc-text);
	/* Allow long names to break rather than push the table wider */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.fehno-checkout #order_review .shop_table .product-total {
	text-align: right;
	font-weight: 600;
	color: var(--fc-text);
	white-space: nowrap;
	width: 80px; /* fixed price column so name column gets the rest */
}
.fehno-checkout #order_review .cart_item .product-quantity {
	color: var(--fc-muted);
	font-size: 13px;
	font-weight: 400;
}
.fehno-checkout #order_review .cart-subtotal th,
.fehno-checkout #order_review .cart-subtotal td,
.fehno-checkout #order_review .tax-rate th,
.fehno-checkout #order_review .tax-rate td,
.fehno-checkout #order_review .fee th,
.fehno-checkout #order_review .fee td {
	color: var(--fc-text-soft);
	font-weight: 500;
	font-size: 13px;
}
.fehno-checkout #order_review .order-total th,
.fehno-checkout #order_review .order-total td {
	padding-top: 16px;
	font-size: 17px;
	color: var(--fc-text);
	font-weight: 800;
	border-bottom: 0;
	font-family: 'Outfit', sans-serif;
}
.fehno-checkout #order_review .order-total .woocommerce-Price-amount {
	color: var(--fc-purple);
}

/* =========================================================================
   ORDER BUMP CARD
   ========================================================================= */

.fehno-bump {
	position: relative;
	margin: 20px 0 22px;
	border: 2px dashed var(--fc-purple);
	border-radius: var(--fc-radius);
	background: linear-gradient(180deg, #faf5ff 0%, #fff 80%);
	padding: 0;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
	/* Fully contained within right column card */
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}
.fehno-bump::before {
	content: "⚡ Oferta solo en checkout";
	position: absolute;
	top: -11px;
	left: 18px;
	background: var(--fc-purple);
	color: #fff;
	font-family: 'Inter', sans-serif;
	font-weight: 700;
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 999px;
}
.fehno-bump.is-added {
	border-style: solid;
	background: #f3e8ff;
	box-shadow: 0 0 0 4px rgba(80, 40, 120, 0.08);
}

.fehno-bump-label {
	display: flex;
	gap: 20px; /* was 14px — a little more air between checkbox and text */
	padding: 22px 18px 20px;
	cursor: pointer;
	align-items: flex-start;
	user-select: none;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

.fehno-bump-toggle {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.fehno-bump-check {
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	border-radius: 8px;
	border: 2px solid var(--fc-purple);
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	/* WordPress global styles injects `.is-layout-flex > :is(*, div) { margin: 0 }`
	   with specificity (0,1,1) which beats our single-class (0,1,0) rule.
	   !important is the only reliable way to win here. */
	margin-right: 10px !important;
	margin-top: 2px !important;
	transition: background .15s ease, border-color .15s ease;
}
.fehno-bump-check svg {
	opacity: 0;
	transition: opacity .15s ease;
}

/* CSS-native checked state: fires instantly on click via the hidden sibling input.
   input.fehno-bump-toggle is the very next sibling of span.fehno-bump-check
   inside the label, so the adjacent-sibling selector is exact. */
.fehno-bump-toggle:checked + .fehno-bump-check {
	background: var(--fc-purple);
	border-color: var(--fc-purple);
}
.fehno-bump-toggle:checked + .fehno-bump-check svg {
	opacity: 1;
}

/* JS class — applied after AJAX confirms the product was added to cart.
   Keeps the box filled if JS redraws the area. */
.fehno-bump.is-added .fehno-bump-check {
	background: var(--fc-purple);
	border-color: var(--fc-purple);
}
.fehno-bump.is-added .fehno-bump-check svg {
	opacity: 1;
}

.fehno-bump-body {
	flex: 1;
	min-width: 0;
	/* Second vector: padding-left is NOT touched by WP's margin:0 reset */
	padding-left: 8px;
}

.fehno-bump-tag {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--fc-purple);
}
.fehno-bump-flag {
	background: var(--fc-purple);
	color: #fff;
	padding: 3px 7px;
	border-radius: 4px;
	font-size: 10px;
}

.fehno-bump-title {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 1.25;
	margin: 0 0 6px;
	color: var(--fc-text);
	letter-spacing: -0.01em;
}

.fehno-bump-bullets {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.fehno-bump-bullets li {
	font-size: 13px;
	line-height: 1.45;
	color: var(--fc-text-soft);
	padding-left: 15px;
	position: relative;
}
.fehno-bump-bullets li::before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--fc-purple);
	font-weight: 700;
	line-height: 1.45;
}

.fehno-bump-price {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}
.fehno-bump-price-was {
	font-size: 14px;
	font-weight: 500;
	color: var(--fc-muted);
	text-decoration: line-through;
	opacity: 0.7;
}
.fehno-bump-price-was .woocommerce-Price-amount {
	color: inherit;
}
.fehno-bump-price-now {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 22px;
	color: var(--fc-purple);
	letter-spacing: -0.01em;
}
.fehno-bump-price-now .woocommerce-Price-amount {
	color: inherit;
}
.fehno-bump-price-note {
	font-size: 12px;
	color: var(--fc-muted);
	font-weight: 500;
}

.fehno-bump-status {
	padding: 0 18px 14px 58px;
	min-height: 0;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.fehno-bump-status-added {
	color: var(--fc-purple);
	display: none;
}
.fehno-bump-status-loading {
	color: var(--fc-muted);
	display: none;
}
.fehno-bump.is-added .fehno-bump-status-added {
	display: inline;
}
.fehno-bump.is-loading .fehno-bump-status-added { display: none; }
.fehno-bump.is-loading .fehno-bump-status-loading { display: inline; }

/* ── Migajera-context bump: orange accent overrides ────────────────────── */
.fehno-bump--migajera {
	border-color: #D4621B;
	background: linear-gradient(180deg, #fff8f4 0%, #fff 80%);
}
.fehno-bump--migajera::before {
	content: "⚡ Oferta solo en checkout";
	background: #D4621B;
}
.fehno-bump--migajera.is-added {
	border-style: solid;
	background: #fff0e8;
	box-shadow: 0 0 0 4px rgba(212, 98, 27, 0.10);
}
.fehno-bump--migajera .fehno-bump-check {
	border-color: #D4621B;
}
.fehno-bump--migajera .fehno-bump-toggle:checked + .fehno-bump-check,
.fehno-bump--migajera.is-added .fehno-bump-check {
	background: #D4621B;
	border-color: #D4621B;
}
.fehno-bump--migajera .fehno-bump-tag {
	color: #D4621B;
}
.fehno-bump-flag--orange {
	background: #D4621B;
}
.fehno-bump--migajera .fehno-bump-bullets li::before {
	color: #D4621B;
}
.fehno-bump-price-now--orange {
	color: #D4621B;
}
.fehno-bump--migajera .fehno-bump-status-added {
	color: #D4621B;
}

/* =========================================================================
   "Formas de pago" PAYMENT SECTION HEADING (v3.58)
   ========================================================================= */

.fehno-checkout .fehno-payment-heading {
	font-size: 16px;
	font-weight: 800;
	color: #1f1f1f;
	margin: 0 0 10px;
	padding: 0;
	line-height: 1.2;
}

/* =========================================================================
   T&C ROW — above all payment methods
   Native .woocommerce-terms-and-conditions-wrapper is hidden; input#terms
   stays in DOM (synced by JS) for WC server-side validation.
   ========================================================================= */

.fehno-checkout .fehno-terms-row {
	margin: 16px 0 16px;
	padding: 13px 15px;
	background: #fdfcfa;
	border: 1.5px solid var(--fc-border);
	border-radius: var(--fc-radius-sm);
}

.fehno-checkout .fehno-terms-label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	cursor: pointer;
	font-size: 13.5px;
	color: var(--fc-text);
	line-height: 1.5;
	font-weight: 500;
}

.fehno-checkout #fehno-terms-check {
	flex-shrink: 0;
	margin-top: 2px;
	width: 16px;
	height: 16px;
	accent-color: var(--fc-purple);
	cursor: pointer;
}

.fehno-checkout .fehno-terms-hint {
	margin: 6px 0 0 26px;
	font-size: 12px;
	color: var(--fc-muted);
	line-height: 1.4;
}

.fehno-checkout .fehno-terms-label a {
	color: var(--fc-purple);
	text-decoration: underline;
}
.fehno-checkout .fehno-terms-label a:hover {
	color: var(--fc-purple-soft);
}

/* Hide the native WC T&C wrapper — our custom row replaces it */
.fehno-checkout .woocommerce-terms-and-conditions-wrapper {
	display: none !important;
}

/* ── Inline T&C accordion drawer ────────────────────────────────────────── */
/* jQuery slideToggle controls display; we cap height and scroll inside. */
.fehno-checkout .fehno-terms-drawer {
	display: none; /* toggled by jQuery slideToggle */
	max-height: 340px;
	overflow-y: auto;
	background: #fcfaf8;
	border: 1.5px solid var(--fc-border);
	border-radius: var(--fc-radius-sm);
	margin: 8px 0 22px; /* 22px bottom gap breathes before payment tabs */
	-webkit-overflow-scrolling: touch;
}

.fehno-checkout .fehno-terms-drawer-inner {
	padding: 14px 16px;
	font-size: 12.5px;
	color: var(--fc-text);
	line-height: 1.65;
}

.fehno-checkout .fehno-terms-drawer-inner h1,
.fehno-checkout .fehno-terms-drawer-inner h2,
.fehno-checkout .fehno-terms-drawer-inner h3,
.fehno-checkout .fehno-terms-drawer-inner h4 {
	font-size: 13px;
	font-weight: 700;
	margin: 12px 0 4px;
	color: var(--fc-text);
}

.fehno-checkout .fehno-terms-drawer-inner p {
	margin: 0 0 8px;
}

.fehno-checkout .fehno-terms-drawer-inner ul,
.fehno-checkout .fehno-terms-drawer-inner ol {
	padding-left: 18px;
	margin: 0 0 8px;
}

/* Toggle link — prevent color flash on click; aria state indicates open */
.fehno-checkout .fehno-terms-toggle {
	white-space: nowrap;
}
.fehno-checkout .fehno-terms-toggle[aria-expanded="true"] {
	text-decoration-style: dotted;
}

/* =========================================================================
   PAYMENT METHOD SELECTOR — tab cards (v3.61)
   JS builds tabs dynamically after ECE on("ready") resolves availability.
   Desktop: up to 4 columns. Mobile (≤ 480 px): 2 columns.
   ========================================================================= */

.fehno-checkout #fehno-pay-tabs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin: 0 0 14px;
}

/* Collapse when JS hasn't inserted tabs yet */
.fehno-checkout #fehno-pay-tabs:empty {
	display: none;
}

@media (max-width: 480px) {
	.fehno-checkout #fehno-pay-tabs {
		grid-template-columns: repeat(2, 1fr);
	}
}

.fehno-checkout .fehno-pay-tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 9px 6px 8px;
	border: 1.5px solid var(--fc-border);
	border-radius: var(--fc-radius-sm);
	background: #fff;
	cursor: pointer;
	font-size: 10.5px;
	font-weight: 600;
	color: var(--fc-text-soft);
	line-height: 1.2;
	text-align: center;
	min-height: 56px;
	transition: border-color .12s ease, background .12s ease, color .12s ease;
	user-select: none;
	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
}

.fehno-checkout .fehno-pay-tab:hover {
	border-color: var(--fc-purple-soft);
	background: #fcf9ff;
}

.fehno-checkout .fehno-pay-tab.is-active {
	border-color: var(--fc-purple);
	background: #f5eeff;
	color: var(--fc-purple);
}

.fehno-checkout .fehno-pay-tab svg {
	width: auto;
	height: 20px;
	flex-shrink: 0;
	display: block;
}

.fehno-checkout .fehno-pay-tab span {
	display: block;
}

/* =========================================================================
   EXPRESS PAYMENT PANEL — #fehno-pay-express
   Contains Stripe ECE method divs (prio 15) + #fehno-paypal-slot (prio 16).
   Hidden by default (Tarjeta tab active); shown via body class for other tabs.
   ========================================================================= */

/* Default: hidden (Tarjeta tab is active — #payment is shown) */
.fehno-checkout #fehno-pay-express {
	display: none;
	position: relative;
}

/* Show express panel when an express tab is active */
body.fehno-checkout.fehno-tab-apple  #fehno-pay-express,
body.fehno-checkout.fehno-tab-google #fehno-pay-express,
body.fehno-checkout.fehno-tab-paypal #fehno-pay-express {
	display: block;
}

/* Hide #payment (card form + place_order button) for express tabs.
   Express payments initiate through their own button — not #place_order. */
body.fehno-checkout.fehno-tab-apple  #payment,
body.fehno-checkout.fehno-tab-google #payment,
body.fehno-checkout.fehno-tab-paypal #payment {
	display: none !important;
}

/* ECE parent container — neutralise Stripe's inline margin-top / clear */
.fehno-checkout #fehno-pay-express #wc-stripe-express-checkout-element {
	width: 100%;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	clear: none !important;
}

/* Hide ECE container entirely on PayPal tab (only PayPal slot shown) */
body.fehno-checkout.fehno-tab-paypal #fehno-pay-express #wc-stripe-express-checkout-element {
	display: none !important;
}

/* Always hide Link — not exposed as a tab */
.fehno-checkout #wc-stripe-express-checkout-element-link {
	display: none !important;
}

/* PayPal mount slot */
.fehno-checkout #fehno-paypal-slot {
	width: 100%;
	min-height: 44px;
}

/* Hide PayPal slot unless PayPal tab is active */
body.fehno-checkout.fehno-tab-apple  #fehno-paypal-slot,
body.fehno-checkout.fehno-tab-google #fehno-paypal-slot {
	display: none;
}

/* Stripe "— OR —" separator: always hidden */
.fehno-checkout #wc-stripe-express-checkout-button-separator {
	display: none !important;
}

/* JS-injected "o" PayPal separator: suppressed (not used with tab layout) */
.fehno-checkout div.fehno-paypal-sep {
	display: none !important;
}

/* ── Lock overlay — intercepts taps on express panel when T&C unchecked ─── */
.fehno-checkout .fehno-express-lock {
	display: none;
	position: absolute;
	inset: 0;
	z-index: 999999;
	cursor: not-allowed;
	background: rgba(255, 255, 255, 0.01);
}
body.fehno-payment-locked .fehno-express-lock {
	display: block;
}
body.fehno-payment-locked #fehno-pay-express {
	opacity: 0.35;
	transition: opacity .2s ease;
}

/* =========================================================================
   PAYMENT METHODS (Stripe card form, inside #payment)
   ========================================================================= */

.fehno-checkout #payment {
	background: transparent;
	border-radius: 0;
	margin-top: 0;
}

.fehno-checkout #payment ul.payment_methods {
	padding: 0;
	border: 0;
	background: transparent;
	margin: 0;
	list-style: none;
}
.fehno-checkout #payment ul.payment_methods li {
	padding: 14px 16px;
	border: 1.5px solid var(--fc-border);
	border-radius: var(--fc-radius-sm);
	background: #fff;
	margin: 0 0 10px;
}
.fehno-checkout #payment ul.payment_methods li:last-child {
	margin-bottom: 0;
}
.fehno-checkout #payment ul.payment_methods li label {
	font-weight: 600;
	font-size: 14px;
	color: var(--fc-text);
	cursor: pointer;
}
.fehno-checkout #payment .payment_box {
	background: transparent;
	padding: 14px 0 6px;
	border: 0;
	box-shadow: none;
}
.fehno-checkout #payment .payment_box::before {
	display: none !important; /* WooCommerce's gray upward triangle — specificity tie, !important wins */
}

/* ── PayPal section — real PPCP yellow button ───────────────────────────────
   li.payment_method_ppcp-gateway is hidden; radio stays in DOM for WC.
   div.ppc-button-wrapper is moved into #fehno-paypal-slot by JS. */
.fehno-checkout #payment li.payment_method_ppcp-gateway {
	display: none !important;
}

/* PPCP button wrapper ─────────────────────────────────────────────────────
   ⚠ NEVER add pointer-events/display/opacity — PPCP detects those and
   collapses #ppc-button-ppcp-gateway on mobile (v3.28 lesson).          */
.fehno-checkout .fehno-paypal-btn-wrapper {
	position: relative;
	isolation: isolate;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	border-radius: var(--fc-radius-sm);
	overflow: hidden;
	transition: opacity .2s ease, filter .2s ease;
}

.fehno-checkout .fehno-paypal-btn-wrapper.fehno-paypal-locked {
	opacity: 0.45;
	filter: grayscale(0.6);
}
body.fehno-payment-locked .fehno-checkout .fehno-paypal-btn-wrapper,
body.fehno-payment-locked .fehno-paypal-btn-wrapper {
	opacity: 1 !important;
	filter: none !important;
}

/* PPCP inner gateway div — zero margin/padding that PPCP SDK may inject */
.fehno-checkout .fehno-paypal-btn-wrapper #ppc-button-ppcp-gateway {
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
}

/* Guard overlay over PPCP iframe when T&C unchecked */
.fehno-checkout .fehno-paypal-guard {
	position: absolute;
	top: 0; left: 0;
	width: 100%; height: 100%;
	z-index: 999999;
	cursor: not-allowed;
	background: rgba(255, 255, 255, 0.01);
}

/* PayPal-specific hint — suppressed: global T&C row already covers this */
.fehno-checkout .fehno-paypal-hint {
	display: none !important;
}

/* ── Shake / highlight animations for T&C nudge ─────────────────────────── */
@keyframes fehno-terms-shake {
	0%, 100% { transform: translateX(0); }
	20%       { transform: translateX(-6px); }
	40%       { transform: translateX(6px); }
	60%       { transform: translateX(-4px); }
	80%       { transform: translateX(4px); }
}
.fehno-terms-shake {
	animation: fehno-terms-shake 0.45s ease;
}
.fehno-terms-highlight {
	outline: 2px solid var(--fc-purple) !important;
	outline-offset: 2px !important;
}

/* Hide the WC payment method radio + label for Stripe — our custom tab bar
   already communicates the selected method; the native radio/label is redundant.
   The radio stays in the DOM and in the submitted form; only its visual is hidden. */
.fehno-checkout #payment .wc_payment_method.payment_method_stripe > input[type="radio"],
.fehno-checkout #payment .wc_payment_method.payment_method_stripe > label {
	display: none !important;
}

/* ECE tax-info notice — suppressed at source via wc_stripe_express_checkout_params
   filter (taxes_based_on_billing = false).  Belt-and-suspenders CSS fallback. */
.fehno-checkout .ece-taxes-info {
	display: none !important;
}

/* ── Stripe UPE Payment Element ─────────────────────────────────────────── */

.fehno-checkout #wc-stripe-upe-form {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}
.fehno-checkout .wc-stripe-upe-element {
	min-height: 48px;
}
.fehno-checkout #payment .payment_method_stripe .payment_box {
	background: #fff !important;
	padding: 16px 0 8px !important;
}
.fehno-checkout #wc-stripe-upe-errors:not(:empty) {
	margin-top: 10px;
	padding: 10px 14px;
	background: rgba(255, 101, 101, 0.08);
	border: 1px solid rgba(255, 101, 101, 0.3);
	border-radius: var(--fc-radius-sm);
	color: var(--fc-danger);
	font-size: 13px;
	line-height: 1.5;
}

/* Fix: empty bordered box below Stripe Payment Element */
.fehno-checkout #payment .payment_box fieldset:not(#wc-stripe-upe-form) {
	border: 0;
	padding: 0;
	margin: 0;
}
.fehno-checkout .woocommerce-SavedPaymentMethods:empty { display: none; }
.fehno-checkout #wc-stripe-upe-errors:empty { display: none; }

/* Belt-and-suspenders: keep the WC description paragraph hidden in the li
   in case a third-party plugin ever makes the li visible. */
.fehno-checkout #payment li.payment_method_ppcp-gateway .payment_box > p {
	display: none !important;
}

/* ── Privacy notice above "Completar pedido" ─────────────────────────────── */
.fehno-checkout .fehno-privacy-text {
	font-size: 12px;
	color: var(--fc-muted);
	line-height: 1.55;
	margin: 0 0 14px;
	padding: 0;
}
.fehno-checkout .fehno-privacy-text a {
	color: var(--fc-purple);
	text-decoration: underline;
}
.fehno-checkout .fehno-privacy-text a:hover {
	color: var(--fc-purple-soft);
}

/* ── Below-form sections: opt out of CSS scroll anchoring ────────────────────
   Elements below the checkout form are opted out of being scroll anchors.
   This prevents the browser from adjusting scrollTop to keep them in view if
   any layout shift occurs (e.g. the Stripe UPE iframe resizing on bootstrap,
   or any future change to the payment section height).
   ──────────────────────────────────────────────────────────────────────────── */
.fehno-checkout-trust,
.fehno-testimonials,
.fehno-checkout-faq {
	overflow-anchor: none;
}

/* ── Mobile: testimonial separation ─────────────────────────────────────────
   Extra bottom padding on .woocommerce increases physical distance between
   the bottom of the checkout form and the testimonial strip, keeping
   testimonials below the fold while the user interacts with payment.
   ──────────────────────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
	.fehno-checkout .woocommerce {
		padding-bottom: 72px;
	}
}

/* Suppress empty saved-payment-methods list (logged-out / no saved cards) */
.fehno-checkout .woocommerce-SavedPaymentMethods:empty {
	display: none;
}

/* Error container: zero geometry when empty (no height/margin ghost) */
.fehno-checkout #wc-stripe-upe-errors:empty {
	display: none;
}

/* Place Order button */
.fehno-checkout #payment .place-order,
.fehno-checkout .place-order {
	padding: 18px 0 0;
	margin: 0;
	float: none;
	width: 100%;
}
.fehno-checkout #place_order,
.fehno-checkout button#place_order {
	width: 100% !important;
	padding: 18px 20px !important;
	font-family: 'Outfit', sans-serif !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	letter-spacing: 0.02em !important;
	background: var(--fc-purple) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: var(--fc-radius-sm) !important;
	box-shadow: 0 10px 25px -10px rgba(80, 40, 120, 0.55) !important;
	cursor: pointer;
	transition: transform .1s ease, background .15s ease, box-shadow .15s ease;
	text-transform: none !important;
}
.fehno-checkout #place_order:hover {
	background: #5e3190 !important;
	box-shadow: 0 14px 30px -10px rgba(80, 40, 120, 0.7) !important;
	transform: translateY(-1px);
}
.fehno-checkout #place_order:active {
	transform: translateY(0);
}

/* ── Submit processing state ─────────────────────────────────────────────────
   Applied by checkout.js (deferred via setTimeout) after WC's submit handler
   adds .processing to the form, confirming submission is in flight.
   Reset by checkout.js on checkout_error (any payment / validation failure).
   ──────────────────────────────────────────────────────────────────────────── */

@keyframes fehno-spin {
	to { transform: rotate(360deg); }
}

/* Button: processing state — flex so SVG spinner + text sit side-by-side */
.fehno-checkout #place_order.fehno-btn-processing {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	opacity: 0.78 !important;
	cursor: not-allowed !important;
	transform: none !important;
	box-shadow: 0 4px 14px -6px rgba(80, 40, 120, 0.4) !important;
	pointer-events: none !important;
}

/* SVG spinner inside the button */
.fehno-checkout #place_order .fehno-btn-spinner {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	animation: fehno-spin 0.8s linear infinite;
	color: rgba(255, 255, 255, 0.9);
}

.fehno-checkout .woocommerce-terms-and-conditions-wrapper {
	margin: 16px 0 6px;
	font-size: 12.5px;
	color: var(--fc-muted);
}
.fehno-checkout .woocommerce-terms-and-conditions-wrapper a {
	color: var(--fc-purple);
	text-decoration: underline;
}

/* Loading overlay */
.fehno-checkout .blockUI.blockOverlay {
	background: rgba(18, 10, 31, 0.05) !important;
	opacity: 1 !important;
}

/* WC block components notice (e.g. "no payment methods") — WC's block CSS
   sets max-width: none on this component which breaks narrow column layout */
.fehno-checkout .wc-block-components-notice-banner {
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box !important;
	font-size: 13px;
	border-radius: var(--fc-radius-sm);
	padding: 12px 14px;
}
.fehno-checkout .wc-block-components-notice-banner__content {
	max-width: 100%;
	word-break: break-word;
}

/* =========================================================================
   SOCIAL PROOF BLOCK
   Renders between .fehno-checkout-shell (hero heading) and the form cards.
   Dark background zone — matches the overall ink canvas.
   Desktop: image left · pills right.  Mobile: pills only (image hidden).
   ========================================================================= */

.fehno-social-proof {
	padding: 4px clamp(20px, 4vw, 56px) 24px;
}
.fehno-social-proof-inner {
	max-width: 1120px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 28px;
	padding: 20px 24px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: var(--fc-radius);
}
/* When no product image (EP checkout) the pills centre themselves */
.fehno-social-proof-inner.fehno-sp-no-image {
	justify-content: center;
}

/* Product image + caption column */
.fehno-sp-image {
	flex-shrink: 0;
	width: 200px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.fehno-sp-image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	filter: drop-shadow(0 10px 28px rgba(80, 40, 120, 0.45));
}
/* Book title + subtitle below the product image */
.fehno-sp-caption {
	text-align: center;
}
.fehno-sp-caption-title {
	display: block;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 15px;
	color: #fff;
	letter-spacing: -0.01em;
	margin: 0 0 5px;
}
.fehno-sp-caption-sub {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.58);
	line-height: 1.5;
	margin: 0;
}

/* Trust pill list */
.fehno-sp-pills {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 13px;
}
.fehno-sp-pills li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.45;
}
.fehno-sp-pills li svg {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--fc-highlight);
}

@media (max-width: 720px) {
	.fehno-social-proof-inner {
		flex-direction: column;
		align-items: center;
		gap: 20px;
		padding: 20px 16px;
	}
	/* Image + caption: capped width so subtitle wraps cleanly on narrow screens */
	.fehno-sp-image {
		width: 100%;
		max-width: 220px;
	}
	.fehno-sp-pills {
		width: 100%;
	}
	.fehno-sp-pills li {
		font-size: 14px;
	}
}

/* =========================================================================
   MIGAJERA — social proof image variant
   Crimson glow instead of purple; CSS fallback cover when no product image.
   ========================================================================= */

/* Crimson drop-shadow for Migajera ebook cover */
.fehno-sp-image--migajera img {
	filter: drop-shadow(0 10px 28px rgba(193, 18, 31, 0.45));
}

/* CSS fallback cover — shown when the WooCommerce product has no image set */
.fehno-sp-cover-fallback {
	width: 160px;
	aspect-ratio: 2 / 3;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: 'Outfit', sans-serif;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1.3;
	color: rgba(245, 241, 234, 0.88);
}
.fehno-sp-cover-fallback--migajera {
	background: linear-gradient(160deg, #130006 0%, #2a000d 52%, #8B0000 100%);
	box-shadow: 0 12px 32px rgba(139, 0, 0, 0.55), 0 0 40px rgba(193, 18, 31, 0.18);
}
.fehno-sp-cover-fallback--desapego {
	background: linear-gradient(160deg, #0d0d0d 0%, #1a0f08 52%, #3a1a08 100%);
	box-shadow: 0 12px 32px rgba(212, 98, 27, 0.4), 0 0 40px rgba(212, 98, 27, 0.18);
}
.fehno-sp-image--desapego img {
	filter: drop-shadow(0 10px 28px rgba(212,98,27,0.45));
}
.fehno-sp-cover-fallback--ep {
	background: linear-gradient(160deg, #0a0010 0%, #1a0030 52%, #3a0070 100%);
	box-shadow: 0 12px 32px rgba(80, 40, 120, 0.55), 0 0 40px rgba(80, 40, 120, 0.18);
}

/* =========================================================================
   "QUÉ VAS A ENCONTRAR DENTRO"
   Inside #order_review (white card), before the payment section.
   Sits between the order table / bump card and the payment methods list.
   ========================================================================= */

.fehno-inside-content {
	margin: 4px 0 18px;
	padding: 16px 0 18px;
	border-top: 1px solid var(--fc-border-soft);
	border-bottom: 1px solid var(--fc-border-soft);
}
.fehno-inside-title {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--fc-purple);
	margin: 0 0 11px;
}
.fehno-inside-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.fehno-inside-list li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 13px;
	color: var(--fc-text-soft);
	line-height: 1.4;
}
.fehno-inside-list li svg {
	flex-shrink: 0;
	margin-top: 1px;
	color: var(--fc-purple);
}

/* =========================================================================
   TESTIMONIAL MARQUEE — two-row infinite horizontal scroll (CSS only)
   Row 1 scrolls left · Row 2 scrolls right.
   Each track renders the card set twice; animating by 50% means the
   duplicate seamlessly replaces the original — no JS, no flicker.
   ========================================================================= */

.fehno-testimonials {
	margin: 44px 0 0;
	overflow: hidden;
}
/* Mobile: pull the testimonials further below the form so they are less
   likely to be in the viewport while the user is in the payment section. */
@media (max-width: 768px) {
	.fehno-testimonials {
		margin-top: 72px; /* was 44px — 28 px extra separation */
	}
}
.fehno-section-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--fc-highlight);
	margin: 0 0 26px;
	text-align: center;
	padding: 0 clamp(20px, 4vw, 56px);
}

/* Stacks the two rows and fades their left/right edges into the page bg */
.fehno-marquee-wrapper {
	display: flex;
	flex-direction: column;
	gap: 16px;
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
	mask-image:         linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

/* Clip box for each scrolling strip */
.fehno-marquee-row {
	overflow: hidden;
}

/* Moving track — flex row of cards, width driven by card content */
.fehno-marquee-track {
	display: flex;
	gap: 16px;
	width: max-content;
	will-change: transform;
}

@keyframes fehno-marquee-left {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@keyframes fehno-marquee-right {
	from { transform: translateX(-50%); }
	to   { transform: translateX(0); }
}

.fehno-track-left  { animation: fehno-marquee-left  35s linear infinite; }
.fehno-track-right { animation: fehno-marquee-right 35s linear infinite; }

/* Pause while hovering so the user can read without chasing the card */
.fehno-marquee-row:hover .fehno-marquee-track {
	animation-play-state: paused;
}

/* Respect the system reduced-motion preference */
@media (prefers-reduced-motion: reduce) {
	.fehno-marquee-track {
		animation: none;
		flex-wrap: wrap;
		width: auto;
	}
}

/* ── Individual testimonial card ───────────────────────────────────────── */

.fehno-tc-card {
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 2px 16px rgba(18, 10, 31, 0.08), 0 1px 3px rgba(18, 10, 31, 0.04);
	padding: 20px 22px;
	width: 300px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	color: var(--fc-text);
}

.fehno-tc-quote {
	font-size: 14px;
	line-height: 1.6;
	color: var(--fc-text);
	font-weight: 500;
	margin: 0;
	flex: 1; /* push author row to bottom of the card */
}

.fehno-tc-author {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Coloured initials bubble — colour comes from inline style on each card */
.fehno-tc-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 13px;
	color: var(--fc-purple-deep);
	flex-shrink: 0;
}

.fehno-tc-name {
	font-size: 13px;
	font-weight: 700;
	color: var(--fc-text);
	line-height: 1.3;
}

.fehno-tc-country {
	font-weight: 500;
	color: var(--fc-muted);
}

/* Source attribution — platform/channel label at the bottom of each card */
.fehno-tc-source {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--fc-muted);
	padding-top: 8px;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
	margin-top: -2px; /* closes extra gap left by card's gap: 14px */
}

@media (max-width: 540px) {
	.fehno-tc-card {
		width: 260px;
		padding: 16px 18px;
	}
	.fehno-tc-quote {
		font-size: 13px;
	}
}

/* =========================================================================
   TRUST BAR + FAQ
   ========================================================================= */

.fehno-checkout-trust {
	max-width: 1120px;
	margin: 28px auto 0;
	padding: 0 clamp(20px, 4vw, 56px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
@media (max-width: 720px) {
	.fehno-checkout-trust {
		grid-template-columns: 1fr;
	}
}
.fehno-trust-item {
	padding: 16px 18px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--fc-radius-sm);
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.fehno-trust-item strong {
	color: #fff;
	font-weight: 700;
	font-size: 14px;
}
.fehno-trust-item span {
	color: rgba(255, 255, 255, 0.6);
	font-size: 13px;
}

.fehno-checkout-faq {
	max-width: 760px;
	margin: 40px auto 56px;
	padding: 0 clamp(20px, 4vw, 56px);
}
.fehno-checkout-faq h2 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 20px;
	color: #fff;
	margin: 0 0 16px;
	letter-spacing: -0.01em;
}
.fehno-checkout-faq details {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	padding: 14px 0;
}
.fehno-checkout-faq details:first-of-type {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.fehno-checkout-faq summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #f3eefb;
	font-weight: 600;
	font-size: 15px;
	padding: 2px 0;
}
.fehno-checkout-faq summary::-webkit-details-marker { display: none; }
.fehno-checkout-faq-icon {
	color: var(--fc-highlight);
	font-size: 22px;
	font-weight: 300;
	transition: transform .2s ease;
	line-height: 1;
}
.fehno-checkout-faq details[open] .fehno-checkout-faq-icon {
	transform: rotate(45deg);
}
.fehno-checkout-faq p {
	margin: 10px 0 4px;
	color: rgba(255, 255, 255, 0.72);
	font-size: 14px;
	line-height: 1.6;
}

/* =========================================================================
   CART (classic shortcode)
   ========================================================================= */

.fehno-cart .woocommerce {
	max-width: 920px;
	margin: 0 auto;
	padding: 56px clamp(20px, 4vw, 56px);
	background: #fff;
	color: var(--fc-text);
	border-radius: var(--fc-radius);
	margin-top: 40px;
	margin-bottom: 40px;
}
.fehno-cart .cart_totals h2 {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	color: var(--fc-text);
}
.fehno-cart .checkout-button {
	background: var(--fc-purple) !important;
	color: #fff !important;
	font-family: 'Outfit', sans-serif !important;
	font-weight: 800 !important;
	border-radius: var(--fc-radius-sm) !important;
	padding: 16px 24px !important;
	font-size: 15px !important;
}

/* =========================================================================
   MY ACCOUNT
   ========================================================================= */

.fehno-account .woocommerce {
	max-width: 1000px;
	margin: 40px auto;
	padding: 40px clamp(20px, 4vw, 56px);
	background: #fff;
	color: var(--fc-text);
	border-radius: var(--fc-radius);
}
.fehno-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
}
.fehno-account .woocommerce-MyAccount-navigation ul li {
	padding: 8px 0;
	border-bottom: 1px solid var(--fc-border-soft);
}
.fehno-account .woocommerce-MyAccount-navigation ul li.is-active a,
.fehno-account .woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--fc-purple);
	font-weight: 700;
}
.fehno-account .button {
	background: var(--fc-purple) !important;
	color: #fff !important;
	border-radius: var(--fc-radius-sm) !important;
	font-weight: 700 !important;
}

/* =========================================================================
   THANK-YOU / ORDER-RECEIVED — Fehno-branded experience
   ========================================================================= */

/* ── Reset WC wrapper boxes so our elements control their own layout ── */
.fehno-thankyou .woocommerce {
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	color: inherit !important;
}

/* ── Horizontal gutter — applied to the actual rendered block wrappers.
   In block-theme mode WooCommerce renders via its own Gutenberg block template.
   The classic .woocommerce-order wrapper does NOT exist; the containing elements
   are the WC block divs below.  main { padding: 0 } (set above) removes the
   theme's global padding, so side breathing room must live here.
   Cross-browser note: Safari may inherit padding from has-global-padding on <main>;
   Chrome/Firefox do not.  Targeting the blocks directly is the only reliable fix.
   clamp(24px, 6vw, 48px): 24px floor on tiny phones, grows with vw,
   caps at 48px so the card never feels cramped on wider screens. ── */
body.fehno-thankyou .wc-block-order-confirmation-status,
body.fehno-thankyou .wc-block-order-confirmation-additional-information {
	padding-left:  clamp(24px, 6vw, 48px);
	padding-right: clamp(24px, 6vw, 48px);
	box-sizing: border-box;
}

/* ── Suppress WC elements replaced by custom PHP output ──
   .woocommerce-order-details and .woocommerce-customer-details are removed at
   the PHP level via remove_action() in thankyou.php — no display:none needed.
   The two rules below are safety-nets for edge cases only. ── */
.fehno-thankyou .woocommerce-thankyou-order-received { display: none !important; }
.fehno-thankyou .woocommerce-order-overview          { display: none !important; }

/* ── Shared column: 520px centred within the guttered block wrapper.
   Width is 100% of the available space (block width minus its own padding),
   never exceeding 520px. No additional horizontal padding on these elements —
   the block-level gutter above handles all side spacing. ── */
.fehno-ty-hero,
.fehno-ty-card,
.fehno-ty-nextsteps,
.fehno-thankyou .woocommerce-order-downloads {
	width: 100%;
	max-width: 520px;
	margin-left:  auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* =========================================================================
   HERO
   ========================================================================= */

.fehno-ty-hero {
	/* Horizontal padding is handled by the block-level gutter above */
	padding: clamp(48px, 7vw, 80px) 0 clamp(32px, 5vw, 48px);
}
.fehno-ty-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--fc-success);
	margin: 0 0 20px;
}
.fehno-ty-headline {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: clamp(30px, 5.5vw, 52px);
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: #fff;
	margin: 0 0 14px;
}
.fehno-ty-sub {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.65);
	margin: 0;
	max-width: 460px;
}

/* =========================================================================
   SUMMARY CARD
   ========================================================================= */

.fehno-ty-card {
	background: #fff;
	border-radius: var(--fc-radius);
	box-shadow: var(--fc-shadow-card);
	padding: clamp(24px, 4vw, 40px);
	color: var(--fc-text);
	margin-bottom: 2px; /* gap absorbed by next-steps padding-top */
}

/* ── Rows ── */
.fehno-ty-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 9px 0;
	font-size: 14px;
}
.fehno-ty-row-label {
	color: var(--fc-text-soft);
	font-weight: 500;
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
}
.fehno-ty-row-value {
	font-weight: 600;
	color: var(--fc-text);
	white-space: nowrap;
	flex-shrink: 0;
}

/* Product row */
.fehno-ty-product-row .fehno-ty-row-label {
	font-size: 15px;
	font-weight: 700;
	color: var(--fc-text);
}
.fehno-ty-product-row .fehno-ty-row-value {
	font-size: 15px;
}
.fehno-ty-qty {
	font-size: 13px;
	font-weight: 400;
	color: var(--fc-muted);
}

/* Tax row — muted, clearly present */
.fehno-ty-tax-row .fehno-ty-row-label,
.fehno-ty-tax-row .fehno-ty-row-value {
	color: var(--fc-muted);
	font-weight: 500;
}

/* Total row — prominent */
.fehno-ty-total-row {
	padding-top: 13px;
}
.fehno-ty-total-row .fehno-ty-row-label {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 17px;
	color: var(--fc-text);
}
.fehno-ty-total-row .fehno-ty-row-value {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 17px;
	color: var(--fc-purple);
}
/* Unwrap woocommerce-Price-amount spans so colour inherits */
.fehno-ty-total-row .fehno-ty-row-value .woocommerce-Price-amount { color: inherit; }

/* Separator */
.fehno-ty-sep {
	height: 1px;
	background: var(--fc-border-soft);
	margin: 4px 0;
}

/* ── Order meta grid — 2 cols ── */
.fehno-ty-meta-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 24px;
	padding-top: 4px;
}
.fehno-ty-meta-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.fehno-ty-meta-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--fc-muted);
}
.fehno-ty-meta-val {
	font-size: 13px;
	font-weight: 600;
	color: var(--fc-text);
	word-break: break-word;
}
.fehno-ty-meta-email {
	word-break: break-all; /* long emails don't overflow */
}
@media (max-width: 420px) {
	.fehno-ty-meta-grid { grid-template-columns: 1fr; gap: 12px; }
}

/* =========================================================================
   DOWNLOADS SECTION (rendered by WC when files are configured)
   ========================================================================= */

.fehno-thankyou .woocommerce-order-downloads {
	/* Padding is internal to the card; horizontal gutter is on .woocommerce-order */
	padding: clamp(20px, 3vw, 28px) clamp(20px, 3vw, 28px);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--fc-radius);
	margin-bottom: 2px;
}
.fehno-thankyou .woocommerce-order-downloads__title {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 17px;
	color: #fff;
	letter-spacing: -0.01em;
	margin: 0 0 16px;
}
.fehno-thankyou .woocommerce-table--order-downloads {
	width: 100%;
	border-collapse: collapse;
}
.fehno-thankyou .woocommerce-table--order-downloads thead th {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.4);
	padding: 0 0 10px;
	text-align: left;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.fehno-thankyou .woocommerce-table--order-downloads td {
	padding: 12px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.85);
	text-align: left;
	vertical-align: middle;
}
.fehno-thankyou .woocommerce-table--order-downloads tr:last-child td {
	border-bottom: 0;
}
.fehno-thankyou .woocommerce-table--order-downloads a,
.fehno-thankyou .woocommerce-table--order-downloads .button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: var(--fc-highlight);
	color: #1a1a1a !important;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 13px;
	text-decoration: none !important;
	border-radius: 6px;
	transition: opacity .15s ease;
}
.fehno-thankyou .woocommerce-table--order-downloads a:hover { opacity: .85; }

/* =========================================================================
   NEXT STEPS
   ========================================================================= */

.fehno-ty-nextsteps {
	/* Horizontal padding is handled by .woocommerce-order outer gutter */
	padding: clamp(36px, 5vw, 56px) 0 clamp(48px, 7vw, 80px);
}
.fehno-ty-nextsteps-title {
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: clamp(20px, 3vw, 26px);
	color: #fff;
	letter-spacing: -0.02em;
	margin: 0 0 28px;
}
.fehno-ty-steps {
	list-style: none;
	padding: 0;
	margin: 0 0 36px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.fehno-ty-step {
	display: flex;
	gap: 16px;
	align-items: flex-start;
}
.fehno-ty-step-num {
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 13px;
	color: var(--fc-highlight);
	margin-top: 2px;
}
.fehno-ty-step-body strong {
	display: block;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 4px;
}
.fehno-ty-step-body p {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.58);
	margin: 0;
	line-height: 1.65;
}
.fehno-ty-step-body a {
	color: var(--fc-highlight);
	text-decoration: underline;
}

/* ── CTA ── */
.fehno-ty-cta-row {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.fehno-ty-btn-primary {
	display: inline-flex;
	align-items: center;
	padding: 14px 28px;
	font-family: 'Outfit', sans-serif;
	font-weight: 800;
	font-size: 15px;
	letter-spacing: -0.01em;
	background: var(--fc-purple);
	color: #fff !important;
	text-decoration: none !important;
	border-radius: var(--fc-radius-sm);
	box-shadow: 0 8px 22px -8px rgba(80, 40, 120, 0.6);
	transition: background .15s ease, transform .1s ease;
}
.fehno-ty-btn-primary:hover {
	background: #5e3190;
	transform: translateY(-1px);
	color: #fff !important;
}

@media (max-width: 460px) {
	.fehno-ty-btn-primary { width: 100%; justify-content: center; }
}

/* =========================================================================
   FAILED ORDER STATE
   ========================================================================= */

.fehno-thankyou .woocommerce-notice--error {
	/* Gutter comes from .woocommerce-order wrapper */
	max-width: 600px;
	margin: 48px auto 16px;
	padding: 16px 20px;
	background: rgba(255, 101, 101, 0.1);
	border: 1px solid rgba(255, 101, 101, 0.35);
	border-radius: var(--fc-radius-sm);
	color: #ff8585;
	font-size: 14px;
	line-height: 1.55;
	box-sizing: border-box;
}
.fehno-thankyou .woocommerce-thankyou-order-failed-actions {
	max-width: 600px;
	margin: 0 auto 48px;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}
.fehno-thankyou .woocommerce-thankyou-order-failed-actions .button {
	display: inline-flex;
	align-items: center;
	padding: 12px 22px;
	background: var(--fc-purple);
	color: #fff !important;
	font-family: 'Outfit', sans-serif;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	border-radius: var(--fc-radius-sm);
	border: 0;
}

/* ── Hide billing address on order-received (thank-you) page (v3.67) ─────────
   Digital products only — no shipping address, billing address is redundant.
   Hides the FULL section: wrapper, column, headings, address element, and
   WC's phone/email customer-detail rows.
   Two scope classes for belt-and-suspenders:
     body.fehno-thankyou         — our custom class (fehno-commerce body_class filter)
     body.woocommerce-order-received — WC's own class, always present on this endpoint
   Does NOT affect: checkout billing fields, order summary, downloads, email receipts.
   Template: woocommerce/templates/order/order-details-customer.php
   ──────────────────────────────────────────────────────────────────────────── */
.fehno-thankyou .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .woocommerce-customer-details--phone,
body.woocommerce-order-received .woocommerce-customer-details--email,
body.woocommerce-order-received .woocommerce-columns--addresses,
body.woocommerce-order-received .woocommerce-column--billing-address,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .woocommerce-customer-details address {
	display: none !important;
}
