/**
 * BusPress ticket-verification view.
 * Scoped under .buspress-verify to avoid theme conflicts.
 */

 .bp-thankyou {
    font-family: Onest,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    margin: calc(4vw + 20px) 0 !important;
 }

 .wd-builder-off .woocommerce-order:not(.wd-with-extra-content) {
    max-width: 500px !important;
}

.bp-uniform-thankyou .woocommerce, .bp-uniform-thankyou .woocommerce-order {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.buspress-verify {
	--bp-primary: #1DB954;
	--bp-text: #1a1a1a;
	--bp-muted: #6b7280;
	--bp-border: #e5e7eb;
	--bp-danger: #e53e3e;
	--bp-warning: #d69e2e;

	--bp-font: 'Onest';
	max-width: 460px;
	margin: 0 auto;
	padding: calc(4vw + 20px) 0;
	box-sizing: border-box;
	font-family: var(--bp-font), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--bp-text);
}
.buspress-verify, .buspress-verify * { font-family: var(--bp-font), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.buspress-verify *, .buspress-verify *::before, .buspress-verify *::after { box-sizing: border-box; }

.buspress-verify .bp-verify-card {
	background: #fff;
	border: 1px solid var(--bp-border);
	border-radius: 16px;
	padding: 32px 24px;
	text-align: center;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .06);
}

.buspress-verify .bp-verify-icon {
	width: 76px;
	height: 76px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	color: #fff;
}
.buspress-verify .bp-verify-icon--ok { background: var(--bp-primary); }
.buspress-verify .bp-verify-icon--bad { background: var(--bp-danger); }
.buspress-verify .bp-verify-icon--warn { background: var(--bp-warning); }
.buspress-verify .bp-verify-icon--wait { background: var(--bp-muted); }

.buspress-verify .bp-verify-title { margin: 0 0 20px; font-size: 22px; font-weight: 800; }
.buspress-verify .bp-verify-note { color: var(--bp-muted); font-size: 14px; margin: 0; }

.buspress-verify .bp-verify-details {
	margin: 0;
	text-align: left;
	border: 1px solid var(--bp-border);
	border-radius: 12px;
	overflow: hidden;
}
.buspress-verify .bp-verify-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 12px 16px;
	border-bottom: 1px solid var(--bp-border);
}
.buspress-verify .bp-verify-row:last-child { border-bottom: 0; }
.buspress-verify .bp-verify-row dt { margin: 0; font-size: 13px; color: var(--bp-muted); font-weight: 600; flex: 0 0 auto; }
/* min-width:0 + overflow-wrap let a long ID / email / route name wrap inside the
   row instead of forcing the card wider than the viewport on small screens. */
.buspress-verify .bp-verify-row dd { margin: 0; min-width: 0; font-size: 14px; font-weight: 600; text-align: right; overflow-wrap: anywhere; }

.buspress-verify .bp-verify-id {
	margin: 16px 0 0;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	color: var(--bp-muted);
	letter-spacing: .02em;
}

.buspress-verify .bp-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.buspress-verify .bp-badge--confirmed { background: color-mix(in srgb, var(--bp-primary) 15%, transparent); color: var(--bp-primary); }
.buspress-verify .bp-badge--cancelled { background: color-mix(in srgb, var(--bp-danger) 15%, transparent); color: var(--bp-danger); }
.buspress-verify .bp-badge--pending { background: color-mix(in srgb, var(--bp-warning) 18%, transparent); color: var(--bp-warning); }

/* Countdown */
.buspress-verify .bp-countdown {
	margin: 0 0 20px;
	padding: 14px 16px;
	border-radius: 12px;
	background: color-mix(in srgb, var(--bp-primary) 8%, #fff);
	border: 1px solid color-mix(in srgb, var(--bp-primary) 22%, transparent);
}
.buspress-verify .bp-countdown__label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--bp-muted);
	margin-bottom: 2px;
}
.buspress-verify .bp-countdown__value {
	font-size: 26px;
	font-weight: 800;
	color: var(--bp-primary);
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
}

/* Per-leg blocks (outbound / return) */
.buspress-verify .bp-leg {
	margin: 14px 0 0;
	padding: 14px 16px;
	border: 1px solid var(--bp-border);
	border-radius: 12px;
	text-align: left;
}
.buspress-verify .bp-leg--boarded { border-color: color-mix(in srgb, var(--bp-warning) 45%, transparent); background: color-mix(in srgb, var(--bp-warning) 7%, #fff); }
.buspress-verify .bp-leg--expired { background: #fafbfc; }
.buspress-verify .bp-leg__label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--bp-primary); margin-bottom: 4px; }
.buspress-verify .bp-leg__journey { font-size: 16px; font-weight: 700; }
.buspress-verify .bp-leg__when { font-size: 13.5px; color: var(--bp-muted); margin-top: 2px; }
.buspress-verify .bp-leg__status { margin: 10px 0 0; font-size: 13.5px; font-weight: 600; }
.buspress-verify .bp-leg__status--warn { color: #92600c; }
.buspress-verify .bp-leg__status--muted { color: var(--bp-muted); }
.buspress-verify .bp-leg .bp-countdown { margin: 10px 0 0; }
.buspress-verify .bp-leg .bp-verify-btn { margin-top: 12px; }

/* State flags (boarded / expired / pending) */
.buspress-verify .bp-verify-flag {
	margin: 0 0 18px;
	padding: 10px 14px;
	border-radius: 10px;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.45;
}
.buspress-verify .bp-verify-flag--warn { background: color-mix(in srgb, var(--bp-warning) 14%, #fff); color: #92600c; }
.buspress-verify .bp-verify-flag--wait { background: #f3f4f6; color: var(--bp-muted); }

/* Card accent per state */
.buspress-verify .bp-verify-card.is-boarded,
.buspress-verify .bp-verify-card.is-expired { border-color: color-mix(in srgb, var(--bp-warning) 45%, transparent); }
.buspress-verify .bp-verify-card.is-invalid { border-color: color-mix(in srgb, var(--bp-danger) 35%, transparent); }

/* Buttons */
.buspress-verify .bp-verify-btn {
	display: block;
	width: 100%;
	margin: 14px 0 0;
	padding: 13px 18px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	border: 2px solid var(--bp-primary);
	background: var(--bp-primary);
	color: #fff;
	transition: filter .15s ease;
}
.buspress-verify .bp-verify-btn:hover { filter: brightness(.93); }
.buspress-verify .bp-verify-btn--ghost { background: transparent; color: var(--bp-primary); }
.buspress-verify .bp-verify-btn--ghost:hover { filter: none; background: color-mix(in srgb, var(--bp-primary) 8%, #fff); }
.buspress-verify .bp-verify-btn[disabled] { opacity: .6; cursor: default; }

.buspress-verify .bp-checkin-msg { margin: 12px 0 0; font-size: 13.5px; font-weight: 600; }
.buspress-verify .bp-checkin-msg.is-ok { color: var(--bp-primary); }
.buspress-verify .bp-checkin-msg.is-err { color: var(--bp-danger); }

/* Manage-booking lookup form */
.buspress-verify .bp-manage-form { text-align: left; margin-top: 4px; }
.buspress-verify .bp-manage-field { display: block; margin-bottom: 14px; }
.buspress-verify .bp-manage-field span { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--bp-muted); }
.buspress-verify .bp-manage-field input {
	width: 100%;
	box-sizing: border-box;
	padding: 11px 13px;
	font-size: 15px;
	border: 1px solid var(--bp-border);
	border-radius: 10px;
	background: #fff;
	color: var(--bp-text);
}
.buspress-verify .bp-manage-field input:focus { outline: none; border-color: var(--bp-primary); }

@media (max-width: 480px) {
	.buspress-verify .bp-verify-card { padding: 24px 16px; }
	.buspress-verify .bp-countdown__value { font-size: 22px; }
}
