/*
 * ── HER COUNTER SITS IN THE MIDDLE OF THE PAGE, NOT AGAINST ITS EDGE ────
 *
 * Found by looking rather than reading, on a real counter in a real browser:
 * the card field ran the full width of the page with nought padding, so a
 * woman's card number sat flush against the left edge of her screen.
 *
 * Measured: `.lam-pay` had no max-width and no padding at all — the styling
 * had never covered the box itself, only what is inside it.
 */
.lam-pay {
	box-sizing: border-box;
	width: 100%;
	max-width: 30rem;
	margin: 0 auto;
	padding: clamp( 1.25rem, 5vw, 2rem );
}

.lam-pay__card {
	margin: 0 0 1.25rem;
}

/*
 * THE ONE RULE EVERY FULL-SCREEN WORLD NEEDS, SHIPPED SO NOBODY HAS TO
 * REMEMBER IT.
 *
 * Her payment froze on Ask Gigi because the world drew itself by hiding
 * everything on the page except its own stage:
 *
 *     html.holding body > *:not( .stage ) { display: none; }
 *
 * Stripe appends its 3-D Secure challenge as a direct child of `body`. That
 * rule hid her bank's own window the instant it arrived, and `confirmPayment`
 * waited forever for an answer she was never shown. No console error, no log
 * line, no message.
 *
 * **Every world that fills the glass has a rule shaped like that, and every
 * one will freeze on a real card while passing every test** -- a test card
 * raises no challenge and an Australian one nearly always does.
 *
 * So the bank is put back, from here, whatever a theme hides.
 */

body > iframe[ name*="stripe" ],
body > iframe[ id*="stripe" ],
body > div[ class*="__PrivateStripe" ],
body > div[ id*="stripe" ],
body > div[ class*="StripeElement" ] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 2147483647 !important;
}

/* Express Checkout first and largest. Her order, held in the stylesheet too. */
.lam-pay__wallet {
	margin: 0 0 1.4rem;
	min-height: 52px;
}

.lam-pay__or {
	margin: 0 0 1.4rem;
	text-align: center;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	opacity: 0.6;
}

.lam-pay__go {
	display: block;
	width: 100%;
	margin: 1.4rem 0 0;
	padding: 1.05rem 1rem;
	border: 0;
	font: inherit;
	font-size: 1.05rem;
	letter-spacing: 0.06em;
	cursor: pointer;
}

.lam-pay__go[ disabled ] {
	cursor: default;
	opacity: 0.72;
}

.lam-pay__quiet,
.lam-pay__trouble {
	margin: 0.9rem 0 0;
	font-size: 0.86rem;
	line-height: 1.5;
	text-align: center;
}

.lam-pay__trouble:empty {
	display: none;
}

/* Sized from the narrow end. She reads everything at 379px. */
@media ( max-width: 380px ) {
	.lam-pay__go {
		padding: 0.95rem 0.8rem;
		font-size: 1rem;
	}
}

/* Their own currency — a quiet row, opened on theirs. Hers, 13 September 2026. */
.lam-pay__currencies { display: flex; flex-wrap: wrap; gap: .4em .9em; margin: 0 0 1.1rem; padding: 0; }
.lam-pay__currency { appearance: none; background: none; border: 0; padding: .25em 0; cursor: pointer; font: inherit; font-size: .92em; letter-spacing: .04em; color: inherit; opacity: .55; border-bottom: 1px solid transparent; }
.lam-pay__currency:hover, .lam-pay__currency:focus-visible { opacity: .9; outline: 0; }
.lam-pay__currency.is-chosen { opacity: 1; border-bottom-color: currentColor; }

/* Not open where they are — and not the end. Hers, 13 September 2026. */
.lam-pay__wait-said { margin: 0 0 1rem; line-height: 1.5; }
.lam-pay__wait { display: flex; flex-direction: column; gap: .8rem; align-items: flex-start; }
.lam-pay__wait-ask { display: block; width: 100%; font-size: .95em; line-height: 1.5; }
.lam-pay__wait-address { display: block; width: 100%; max-width: 28em; margin-top: .5rem; padding: .6em 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; font: inherit; color: inherit; }
.lam-pay__wait-address:focus { outline: 0; border-bottom-width: 2px; }
.lam-pay__wait-go { appearance: none; background: none; border: 0; padding: .2em 0; cursor: pointer; font: inherit; font-size: .82em; letter-spacing: .22em; text-transform: uppercase; color: inherit; border-bottom: 1px solid currentColor; }
.lam-pay__wait-kept { margin: .6rem 0 0; line-height: 1.5; }
