/* 3D Prime Masterclass Ingresso — front-end */
:root { --tpmc-accent: #F26522; }

/* Selo do shortcode (página do produto) — mini-ingresso */
.tpmc-pass {
	--pass-bg: #ffffff; --pass-line: #e7e7e7; --pass-ink: #141414; --pass-muted: #6b6b6b;
	--pass-notch: 10px;
	position: relative; display: flex; align-items: stretch;
	margin: 18px 0; max-width: 560px;
	font-family: Montserrat, Arial, sans-serif; color: var(--pass-ink);
	background: var(--pass-bg); border: 1px solid var(--pass-line); border-radius: 18px;
	box-shadow: 0 1px 2px rgba(20,20,20,.04), 0 12px 32px -12px rgba(20,20,20,.18);
	overflow: hidden; isolation: isolate;
}
/* Bloco de data */
.tpmc-pass__date {
	position: relative; flex: none; width: 104px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	padding: 18px 10px; color: #fff; text-align: center;
	background: radial-gradient(120% 70% at 50% 0%, color-mix(in srgb, var(--tpmc-accent) 30%, #141414), #141414 72%);
}
.tpmc-pass__month { font-size: 12px; font-weight: 800; letter-spacing: .22em; color: var(--tpmc-accent); }
.tpmc-pass__day { font-size: 44px; font-weight: 900; line-height: .95; letter-spacing: -.03em; }
.tpmc-pass__live {
	display: inline-flex; align-items: center; gap: 5px; margin-top: 8px;
	font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.75);
}
.tpmc-pass__live i {
	width: 6px; height: 6px; border-radius: 50%; background: #ff3b3b;
	box-shadow: 0 0 0 0 rgba(255,59,59,.6); animation: tpmc-pulse 1.8s infinite;
}
@keyframes tpmc-pulse { 70% { box-shadow: 0 0 0 6px rgba(255,59,59,0); } 100% { box-shadow: 0 0 0 0 rgba(255,59,59,0); } }
.tpmc-pass__body {
	position: relative; flex: 1; min-width: 0;
	display: flex; flex-direction: column; gap: 4px; padding: 16px 20px 16px 24px;
}
.tpmc-pass::before, .tpmc-pass::after { /* recortes do ingresso */
	content: ""; position: absolute; left: calc(104px - var(--pass-notch)); z-index: 2;
	width: calc(var(--pass-notch) * 2); height: calc(var(--pass-notch) * 2); border-radius: 50%;
	background: var(--tpmc-page-bg, #ffffff); border: 1px solid var(--pass-line);
}
.tpmc-pass::before { top: calc(var(--pass-notch) * -1 - 1px); }
.tpmc-pass::after { bottom: calc(var(--pass-notch) * -1 - 1px); }
.tpmc-pass__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.tpmc-pass__eyebrow { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pass-muted); }
.tpmc-pass__tag {
	flex: none; padding: 4px 10px; border-radius: 999px;
	font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
	color: var(--tpmc-accent); background: color-mix(in srgb, var(--tpmc-accent) 12%, transparent);
}
.tpmc-pass__title { font-size: 17px; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; }
.tpmc-pass__text { margin: 0; font-size: 13.5px; line-height: 1.5; color: #3d3d3d; }
.tpmc-pass__meta { margin-top: 2px; font-size: 12px; font-weight: 600; color: var(--pass-muted); }

@media (max-width: 420px) {
	.tpmc-pass__date { width: 84px; }
	.tpmc-pass::before, .tpmc-pass::after { left: calc(84px - var(--pass-notch)); }
	.tpmc-pass__day { font-size: 36px; }
	.tpmc-pass__body { padding: 14px 14px 14px 18px; }
}
@media (prefers-reduced-motion: reduce) { .tpmc-pass__live i { animation: none; } }

/* Ingresso no carrinho / checkout / obrigado */
.tpmc-ticket {
	--notch: 14px;
	display: flex; margin: 20px 0; max-width: 640px;
	font-family: Montserrat, Arial, sans-serif; color: #fff;
	filter: drop-shadow(0 6px 14px rgba(0,0,0,.18));
}
.tpmc-ticket__main {
	flex: 1; padding: 18px 22px;
	background:
		radial-gradient(circle at right top, transparent var(--notch), #1a1a1a calc(var(--notch) + .5px)) top / 100% 51% no-repeat,
		radial-gradient(circle at right bottom, transparent var(--notch), #1a1a1a calc(var(--notch) + .5px)) bottom / 100% 51% no-repeat;
	border-radius: 12px 0 0 12px;
	display: flex; flex-direction: column; gap: 6px;
}
.tpmc-ticket__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--tpmc-accent); }
.tpmc-ticket__title { font-size: 18px; font-weight: 800; line-height: 1.25; }
.tpmc-ticket__meta { font-size: 13px; line-height: 1.55; color: #cfcfcf; }
.tpmc-ticket__note { font-size: 12px; line-height: 1.5; color: #9a9a9a; margin-top: 4px; }
.tpmc-ticket__stub {
	width: 130px; flex: none; padding: 18px 12px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	background:
		radial-gradient(circle at left top, transparent var(--notch), var(--tpmc-accent) calc(var(--notch) + .5px)) top / 100% 51% no-repeat,
		radial-gradient(circle at left bottom, transparent var(--notch), var(--tpmc-accent) calc(var(--notch) + .5px)) bottom / 100% 51% no-repeat;
	border-radius: 0 12px 12px 0;
	border-left: 2px dashed rgba(255,255,255,.55);
	text-align: center;
}
.tpmc-ticket__price { font-size: 22px; font-weight: 900; text-transform: uppercase; }
.tpmc-ticket__qty { font-size: 12px; font-weight: 600; opacity: .9; }

@media (max-width: 480px) {
	.tpmc-ticket { flex-direction: column; }
	.tpmc-ticket__main { border-radius: 12px 12px 0 0; background: #1a1a1a; }
	.tpmc-ticket__stub { width: auto; flex-direction: row; gap: 10px; border-left: 0; border-top: 2px dashed rgba(255,255,255,.55); border-radius: 0 0 12px 12px; background: var(--tpmc-accent); }
}
