
.cew-ticket-pricing-section{
	--cew-ticket-pattern-color:#35234B;
	--cew-ticket-stripe-width:165px;
	--cew-ticket-stripe-gap:155px;
	--cew-ticket-pattern-angle:18deg;
	position:relative;
	width:100%;
	padding:0;
	background:#12072D;
	overflow:hidden;
}
.cew-ticket-pricing-pattern{
	position:absolute;
	inset:-35%;
	pointer-events:none;
	z-index:0;
	opacity:.65;
	background:
		repeating-linear-gradient(
			var(--cew-ticket-pattern-angle),
			transparent 0,
			transparent var(--cew-ticket-stripe-gap),
			var(--cew-ticket-pattern-color) var(--cew-ticket-stripe-gap),
			var(--cew-ticket-pattern-color) calc(var(--cew-ticket-stripe-gap) + var(--cew-ticket-stripe-width)),
			transparent calc(var(--cew-ticket-stripe-gap) + var(--cew-ticket-stripe-width)),
			transparent calc((var(--cew-ticket-stripe-gap) * 2) + var(--cew-ticket-stripe-width))
		);
	transform:translateZ(0);
}
.cew-ticket-pricing-inner{
	position:relative;
	z-index:1;
	width:100%;
	max-width:1320px;
	margin:0 auto;
}


.cew-ticket-pricing{width:100%}
.cew-ticket-pricing *{box-sizing:border-box}
.cew-ticket-intro{
	text-align:center;
	color:#fff;
	margin-bottom:38px;
}
.cew-ticket-eyebrow{
	margin-bottom:8px;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:14px;
}
.cew-ticket-intro-title{
	margin:0 0 16px;
	color:inherit;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:38px;
	font-weight:400;
	line-height:1.1;
}
.cew-ticket-intro-description{
	max-width:650px;
	margin:0 auto;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:16px;
	line-height:1.45;
}
.cew-ticket-promo{
	width:max-content;
	max-width:100%;
	margin:24px auto 0;
	padding:16px 18px;
	border:1px solid rgba(255,255,255,.22);
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	flex-wrap:wrap;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:14px;
}
.cew-ticket-promo a{
	padding:3px 7px;
	background:#7B28FF;
	color:#fff;
	text-decoration:none;
	transition:background-color .2s ease,color .2s ease;
}
.cew-ticket-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	width:100%;
}
.cew-ticket-card{
	--cew-notch:28px;
	position:relative;
	min-width:0;
	min-height:480px;
	background:var(--cew-ticket-bg,#6926EE);
	color:var(--cew-ticket-text,#fff);
	overflow:hidden;
}
.cew-ticket-card.has-notch{
	-webkit-mask:radial-gradient(circle var(--cew-notch) at 50% 0,transparent 98%,#000 100%);
	mask:radial-gradient(circle var(--cew-notch) at 50% 0,transparent 98%,#000 100%);
}
.cew-ticket-card-inner{
	padding:24px;
}
.cew-ticket-card-head{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:14px;
	margin-bottom:18px;
}
.cew-ticket-name{
	margin:0 0 6px;
	color:inherit;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:22px;
	font-weight:400;
	line-height:1.2;
}
.cew-ticket-price{
	color:inherit;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:30px;
	font-weight:400;
	line-height:1.05;
}
.cew-ticket-price span{font-size:1em}
.cew-ticket-badge{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:5px;
	padding:3px 7px;
	background:var(--cew-badge-bg,#8D41F5);
	color:var(--cew-badge-color,#fff);
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:11px;
	line-height:1;
	white-space:nowrap;
}
.cew-ticket-badge svg{width:1em;height:1em;fill:currentColor}
.cew-ticket-button{
	width:100%;
	min-height:50px;
	display:flex;
	align-items:center;
	justify-content:center;
	text-decoration:none;
	background:var(--cew-button-bg,#fff);
	color:var(--cew-button-color,#12072D);
	border:1px solid var(--cew-button-border,#fff);
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:16px;
	font-weight:400;
	transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
@media (hover:hover) and (pointer:fine){
	.cew-ticket-button:hover{
		background:var(--cew-button-hover-bg,#12072D);
		color:var(--cew-button-hover-color,#fff);
		border-color:var(--cew-button-hover-border,#fff);
	}
}
.cew-ticket-divider{
	margin:22px 0 16px;
	border-top:2px dashed rgba(255,255,255,.28);
}
.cew-ticket-includes-label{
	margin-bottom:10px;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:11px;
}
.cew-ticket-benefits{
	list-style:none;
	padding:0;
	margin:0;
	display:flex;
	flex-direction:column;
	gap:10px;
}
.cew-ticket-benefits li{
	display:flex;
	align-items:flex-start;
	column-gap:9px;
	font-family:"PP Neue Montreal",Arial,sans-serif;
	font-size:14px;
	line-height:1.45;
}
.cew-ticket-benefit-icon{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	color:var(--cew-benefit-icon,#fff);
	font-size:13px;
	line-height:1;
	margin-top:2px;
}
.cew-ticket-benefit-icon svg{
	width:1em;
	height:1em;
	fill:currentColor;
}
.cew-ticket-benefit-text{min-width:0}

@media(max-width:1024px){
	.cew-ticket-pricing-section{
		padding:0;
	}
	.cew-ticket-grid{
		gap:18px;
	}
}
@media(max-width:767px){
	.cew-ticket-pricing-section{
		padding:0;
	}
	.cew-ticket-pricing-pattern{
		inset:-18%;
	}
	.cew-ticket-intro{
		margin-bottom:24px;
	}
	.cew-ticket-eyebrow{
		font-size:12px;
		letter-spacing:.08em;
		margin-bottom:10px;
	}
	.cew-ticket-intro-title{
		font-size:24px;
		line-height:1.12;
		margin-bottom:14px;
	}
	.cew-ticket-intro-description{
		max-width:360px;
		font-size:12px;
		line-height:1.4;
	}
	.cew-ticket-promo{
		width:100%;
		margin-top:22px;
		padding:14px 16px;
		font-size:12px;
		line-height:1.35;
		gap:8px;
	}
	.cew-ticket-promo a{
		font-size:12px;
		padding:3px 8px;
	}
	.cew-ticket-grid{
		grid-template-columns:1fr;
		gap:24px;
	}
	.cew-ticket-card{
		min-height:0;
	}
	.cew-ticket-card-inner{
		padding:24px 22px 26px;
	}
	.cew-ticket-card-head{
		gap:12px;
		margin-bottom:18px;
	}
	.cew-ticket-name{
		font-size:20px;
		line-height:1.12;
		margin-bottom:10px;
	}
	.cew-ticket-price{
		font-size:26px;
		line-height:1.08;
	}
	.cew-ticket-badge{
		font-size:10px;
		padding:4px 7px;
		align-self:flex-start;
		max-width:46%;
	}
	.cew-ticket-button{
		min-height:48px;
		font-size:14px;
	}
	.cew-ticket-divider{
		margin:22px 0 14px;
	}
	.cew-ticket-includes-label{
		font-size:12px;
		margin-bottom:10px;
	}
	.cew-ticket-benefits{
		gap:9px;
	}
	.cew-ticket-benefits li{
		font-size:12px;
		line-height:1.42;
		column-gap:8px;
	}
	.cew-ticket-benefit-icon{
		font-size:12px;
		margin-top:1px;
	}
}


@media(max-width:1024px){
	.cew-ticket-pricing-section{
		padding:0;
	}
}
@media(max-width:767px){
	.cew-ticket-pricing-section{
		padding:0;
	}
}


/* v3.71 — VIP selection flow opens on Ticket Pricing page */
.cew-ticket-grid{position:relative}
.cew-pricing-vip-modal[hidden]{display:none!important}
.cew-pricing-vip-modal{
	position:absolute;
	inset:0;
	z-index:60;
	display:flex;
	align-items:flex-start;
	justify-content:center;
	padding:20px 18px 0;
	pointer-events:auto;
}
.cew-pricing-vip-blocker{
	position:absolute;
	inset:0;
	background:rgba(12,5,28,.05);
}
.cew-pricing-vip-dialog{
	position:relative;
	z-index:2;
	width:min(600px,calc(100% - 36px));
	background:#fff;
	color:#111;
	border:0;
	box-shadow:none;
	font-family:"PP Neue Montreal",Arial,sans-serif;
}
.cew-pricing-vip-stage{padding:24px}
.cew-pricing-vip-stage h3{
	margin:0 0 28px;
	text-align:center;
	font-size:24px;
	font-weight:500;
	line-height:1.15;
	color:#111;
}
.cew-pricing-vip-number{
	display:grid;
	grid-template-columns:86px 1fr 86px;
	min-height:66px;
	margin-bottom:26px;
	align-items:stretch;
	background:#fafafa;
}
.cew-pricing-vip-number button{
	border:0;
	background:#fff;
	color:#111;
	font:inherit;
	font-size:34px;
	cursor:pointer;
}
.cew-pricing-vip-number strong{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:38px;
	font-weight:500;
	background:#f5efff;
}
.cew-pricing-vip-number strong:after{
	content:"";
	position:absolute;
	right:-11px;
	top:50%;
	width:22px;
	height:22px;
	border-radius:50%;
	background:#fff;
	transform:translateY(-50%);
}
.cew-pricing-vip-wide{
	width:100%;
	min-height:50px;
	border:0;
	background:#12072d;
	color:#fff;
	font:inherit;
	font-size:14px;
	cursor:pointer;
}
.cew-pricing-vip-person{
	min-height:92px;
	display:grid;
	grid-template-columns:54px minmax(0,1fr) 24px;
	align-items:center;
	gap:14px;
	padding:14px 16px;
	border:1px solid #dedede;
}
.cew-pricing-vip-person img,
.cew-pricing-vip-avatar-fallback{
	width:48px;
	height:48px;
	border-radius:50%;
	object-fit:cover;
}
.cew-pricing-vip-avatar-fallback{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#eee;
	font-weight:600;
}
.cew-pricing-vip-person strong{display:block;font-size:15px;font-weight:500}
.cew-pricing-vip-person span{display:block;margin-top:4px;color:#666;font-size:11px}
.cew-pricing-vip-person b{font-size:26px;font-weight:300;text-align:right}
.cew-pricing-vip-fields{display:grid;gap:12px}
.cew-pricing-vip-field span{
	display:block;
	margin-bottom:6px;
	font-size:13px;
	color:#111;
}
.cew-pricing-vip-field input{
	width:100%;
	min-height:42px;
	padding:9px 14px;
	border:1px solid #dedede;
	background:#fff;
	color:#111;
	font:inherit;
	font-size:13px;
	outline:none;
}
.cew-pricing-vip-field input:focus{border-color:#12072d}
.cew-pricing-vip-actions{
	display:flex;
	justify-content:flex-end;
	gap:10px;
	margin-top:24px;
}
.cew-pricing-vip-actions button{
	min-height:48px;
	padding:11px 26px;
	font:inherit;
	font-size:13px;
	cursor:pointer;
}
.cew-pricing-vip-actions .is-back{
	border:1px solid #dedede;
	background:#fff;
	color:#111;
}
.cew-pricing-vip-actions .is-next{
	border:1px solid #12072d;
	background:#12072d;
	color:#fff;
}
.cew-pricing-vip-error{
	min-height:16px;
	margin-top:10px;
	color:#b42318;
	font-size:11px;
}
@media(max-width:767px){
	.cew-pricing-vip-modal{padding:12px 8px 0}
	.cew-pricing-vip-dialog{width:calc(100% - 16px)}
	.cew-pricing-vip-stage{padding:20px 16px}
	.cew-pricing-vip-stage h3{font-size:21px;margin-bottom:22px}
	.cew-pricing-vip-number{grid-template-columns:64px 1fr 64px}
	.cew-pricing-vip-actions{display:grid;grid-template-columns:1fr 1fr}
	.cew-pricing-vip-actions button{width:100%;padding:10px 14px}
}


/* v3.72 — VIP reference interaction fixes */
.cew-ticket-pricing-section .cew-pricing-vip-dialog button,
.cew-ticket-pricing-section .cew-pricing-vip-dialog button:hover,
.cew-ticket-pricing-section .cew-pricing-vip-dialog button:focus,
.cew-ticket-pricing-section .cew-pricing-vip-dialog button:active{
	opacity:1!important;
	visibility:visible!important;
	text-shadow:none!important;
	box-shadow:none!important;
}

.cew-ticket-pricing-section .cew-pricing-vip-wide,
.cew-ticket-pricing-section .cew-pricing-vip-wide:hover,
.cew-ticket-pricing-section .cew-pricing-vip-wide:focus,
.cew-ticket-pricing-section .cew-pricing-vip-wide:active{
	background:#12072d!important;
	color:#fff!important;
	border:1px solid #12072d!important;
	-webkit-text-fill-color:#fff!important;
}

.cew-ticket-pricing-section .cew-pricing-vip-actions .is-next,
.cew-ticket-pricing-section .cew-pricing-vip-actions .is-next:hover,
.cew-ticket-pricing-section .cew-pricing-vip-actions .is-next:focus,
.cew-ticket-pricing-section .cew-pricing-vip-actions .is-next:active{
	background:#12072d!important;
	color:#fff!important;
	border-color:#12072d!important;
	-webkit-text-fill-color:#fff!important;
}

.cew-ticket-pricing-section .cew-pricing-vip-actions .is-back,
.cew-ticket-pricing-section .cew-pricing-vip-actions .is-back:hover,
.cew-ticket-pricing-section .cew-pricing-vip-actions .is-back:focus,
.cew-ticket-pricing-section .cew-pricing-vip-actions .is-back:active{
	background:#fff!important;
	color:#111!important;
	border-color:#dedede!important;
	-webkit-text-fill-color:#111!important;
}

.cew-ticket-pricing-section .cew-pricing-vip-number button,
.cew-ticket-pricing-section .cew-pricing-vip-number button:hover,
.cew-ticket-pricing-section .cew-pricing-vip-number button:focus,
.cew-ticket-pricing-section .cew-pricing-vip-number button:active{
	background:#fff!important;
	color:#111!important;
	border:0!important;
	-webkit-text-fill-color:#111!important;
}

.cew-pricing-vip-stage[data-vip-current-stage="attendee"]{
	display:block!important;
	min-height:430px;
}
.cew-pricing-vip-stage[data-vip-current-stage="attendee"] .cew-pricing-vip-fields{
	display:grid!important;
	grid-template-columns:1fr!important;
	gap:12px!important;
	visibility:visible!important;
	opacity:1!important;
}
.cew-pricing-vip-stage[data-vip-current-stage="attendee"] .cew-pricing-vip-field{
	display:block!important;
	visibility:visible!important;
	opacity:1!important;
}
.cew-pricing-vip-stage[data-vip-current-stage="attendee"] .cew-pricing-vip-field input{
	display:block!important;
	visibility:visible!important;
	opacity:1!important;
	color:#111!important;
	background:#fff!important;
	-webkit-text-fill-color:#111!important;
}
