.tickety-registration,
.tickety-account,
.tickety-payment,
.tickety-registration-notice {
	--tickety-navy: #032e4b;
	--tickety-green: #0a9e39;
	--tickety-green-dark: #087b2e;
	--tickety-green-soft: #eaf7ee;
	--tickety-line: #dbe5e0;
	--tickety-muted: #61717c;
	color: #172630;
	font-family: "Poppins", "Segoe UI", Arial, sans-serif;
}

.tickety-registration__heading h2,
.tickety-registration-notice h2,
.tickety-registration-card h2 {
	color: var(--tickety-navy);
	font-size: 1.45rem;
	letter-spacing: -0.035em;
	line-height: 1.2;
	margin: 0 0 10px;
}

.tickety-registration__heading > p:last-child,
.tickety-registration-notice p,
.tickety-account__heading p {
	color: var(--tickety-muted);
	font-size: 0.86rem;
}

.tickety-eyebrow {
	color: var(--tickety-green);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0 0 8px;
	text-transform: uppercase;
}

.tickety-registration-form {
	margin-top: 24px;
}

.tickety-participants {
	display: grid;
	gap: 18px;
}

.tickety-participant {
	border: 1px solid var(--tickety-line);
	border-radius: 14px;
	margin: 0;
	padding: 18px;
}

.tickety-participant legend {
	align-items: center;
	color: var(--tickety-navy);
	display: flex;
	font-size: 0.86rem;
	font-weight: 700;
	gap: 16px;
	justify-content: space-between;
	padding: 0 5px;
	width: 100%;
}

.tickety-form-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 9px;
}

.tickety-form-field {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin: 0;
}

.tickety-form-field--wide {
	grid-column: 1 / -1;
}

.tickety-form-field label {
	color: var(--tickety-navy);
	font-size: 0.72rem;
	font-weight: 600;
}

.tickety-form-field input,
.tickety-form-field select {
	appearance: none;
	background: #fff;
	border: 1px solid #cfdad5;
	border-radius: 9px;
	color: #172630;
	font: inherit;
	font-size: 0.82rem;
	min-height: 42px;
	padding: 8px 10px;
	width: 100%;
}

.tickety-form-field input:focus,
.tickety-form-field select:focus {
	border-color: var(--tickety-green);
	box-shadow: 0 0 0 3px rgba(10, 158, 57, 0.12);
	outline: none;
}

.tickety-foreign-toggle {
	margin: 4px 0;
}

.tickety-foreign-toggle label {
	align-items: center;
	display: inline-flex;
	font-size: 0.82rem;
	gap: 8px;
	width: fit-content;
}

.tickety-foreign-toggle input[type="checkbox"] {
	appearance: auto;
	min-height: 0;
	padding: 0;
	width: auto;
}

.tickety-remove-participant {
	background: transparent;
	border: 0;
	color: #b3261e;
	cursor: pointer;
	font-size: 0.72rem;
	font-weight: 600;
	padding: 4px;
}

.tickety-add-participant {
	background: transparent;
	border: 1px dashed var(--tickety-green);
	border-radius: 10px;
	color: var(--tickety-green-dark);
	cursor: pointer;
	font: inherit;
	font-size: 0.8rem;
	font-weight: 700;
	margin-top: 14px;
	padding: 10px 14px;
	width: 100%;
}

.tickety-add-participant:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

.tickety-registration-total {
	align-items: center;
	background: var(--tickety-green-soft);
	border-radius: 12px;
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
	padding: 15px;
}

.tickety-registration-total span {
	color: var(--tickety-green-dark);
	font-size: 0.78rem;
	font-weight: 600;
}

.tickety-registration-total strong {
	color: var(--tickety-navy);
	font-size: 1.12rem;
}

.tickety-registration-consent {
	align-items: flex-start;
	color: var(--tickety-muted);
	display: flex;
	font-size: 0.72rem;
	gap: 9px;
	line-height: 1.45;
	margin: 17px 0;
}

.tickety-registration-consent input {
	flex: 0 0 auto;
	margin-top: 3px;
}

.tickety-button {
	align-items: center;
	background: var(--tickety-green);
	border: 1px solid var(--tickety-green);
	border-radius: 10px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.84rem;
	font-weight: 700;
	justify-content: center;
	min-height: 44px;
	padding: 9px 16px;
	text-decoration: none;
}

.tickety-button:hover,
.tickety-button:focus {
	background: var(--tickety-green-dark);
	border-color: var(--tickety-green-dark);
	color: #fff;
}

.tickety-button:disabled {
	cursor: wait;
	opacity: 0.7;
}

.tickety-button--wide {
	width: 100%;
}

.tickety-registration-notice {
	background: #fff;
	border: 1px solid var(--tickety-line);
	border-left: 4px solid var(--tickety-green);
	border-radius: 12px;
	padding: 20px;
}

.tickety-registration-notice.is-error {
	border-left-color: #b3261e;
}

.tickety-registration-notice p:last-of-type {
	margin-bottom: 16px;
}

.tickety-honeypot {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	top: auto;
	width: 1px;
}

.tickety-registration-list {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 28px;
}

.tickety-registration-card {
	border: 1px solid var(--tickety-line);
	border-radius: 14px;
	padding: 22px;
}

.tickety-registration-card__top {
	align-items: center;
	color: var(--tickety-muted);
	display: flex;
	font-size: 0.72rem;
	justify-content: space-between;
	margin-bottom: 18px;
}

.tickety-registration-status {
	background: #eef2f3;
	border-radius: 999px;
	color: #536169;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	padding: 5px 9px;
	text-transform: uppercase;
}

.tickety-registration-status.is-confirmed {
	background: var(--tickety-green-soft);
	color: var(--tickety-green-dark);
}

.tickety-registration-status.is-cancelled,
.tickety-registration-status.is-refunded {
	background: #f5e7e6;
	color: #8b2721;
}

.tickety-registration-card h2 a {
	text-decoration: none;
}

.tickety-registration-card dl {
	display: grid;
	gap: 12px;
	margin: 20px 0 0;
}

.tickety-registration-card dl > div {
	border-top: 1px solid var(--tickety-line);
	padding-top: 10px;
}

.tickety-registration-card dt {
	color: var(--tickety-muted);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

.tickety-registration-card dd {
	color: var(--tickety-navy);
	font-size: 0.83rem;
	font-weight: 600;
	margin: 2px 0 0;
}

.tickety-registration-card__payment {
	margin-top: 18px;
	width: 100%;
}

.tickety-payment {
	background: #fff;
	border: 1px solid var(--tickety-line);
	border-radius: 18px;
	margin: 0 auto;
	max-width: 760px;
	padding: clamp(22px, 5vw, 42px);
}

.tickety-payment__header {
	align-items: flex-start;
	display: flex;
	gap: 24px;
	justify-content: space-between;
}

.tickety-payment__header h2,
.tickety-payment__methods h3,
.tickety-payment__charge h3 {
	color: var(--tickety-navy);
	letter-spacing: -0.03em;
	margin: 0 0 8px;
}

.tickety-payment__header p {
	color: var(--tickety-muted);
	margin: 0;
}

.tickety-payment__environment {
	background: #e8eff3;
	border-radius: 999px;
	color: var(--tickety-navy);
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	padding: 6px 10px;
	text-transform: uppercase;
}

.tickety-payment__summary {
	align-items: center;
	background: var(--tickety-green-soft);
	border-radius: 13px;
	display: flex;
	justify-content: space-between;
	margin: 24px 0;
	padding: 18px;
}

.tickety-payment__summary span {
	color: var(--tickety-green-dark);
	font-size: 0.78rem;
	font-weight: 600;
}

.tickety-payment__summary strong {
	color: var(--tickety-navy);
	font-size: 1.35rem;
}

.tickety-payment__methods,
.tickety-payment__charge {
	border-top: 1px solid var(--tickety-line);
	margin-top: 24px;
	padding-top: 24px;
}

.tickety-payment__correction {
	background: #f7faf8;
	border: 1px solid var(--tickety-line);
	border-radius: 13px;
	margin-top: 24px;
	padding: 16px 18px;
}

.tickety-payment__correction summary {
	color: var(--tickety-navy);
	cursor: pointer;
	font-size: 0.86rem;
	font-weight: 700;
}

.tickety-payment__correction > p {
	color: var(--tickety-muted);
	font-size: 0.76rem;
	margin: 12px 0;
}

.tickety-payment__correction form > .tickety-button {
	margin-top: 16px;
}

.tickety-payment-methods {
	display: grid;
	gap: 10px;
	margin: 18px 0;
}

.tickety-payment-method {
	align-items: center;
	border: 1px solid var(--tickety-line);
	border-radius: 12px;
	cursor: pointer;
	display: flex;
	gap: 12px;
	padding: 15px;
}

.tickety-payment-method:has(input:checked) {
	background: var(--tickety-green-soft);
	border-color: var(--tickety-green);
}

.tickety-payment-method span {
	display: grid;
	gap: 2px;
}

.tickety-payment-method strong {
	color: var(--tickety-navy);
	font-size: 0.86rem;
}

.tickety-payment-method small {
	color: var(--tickety-muted);
	font-size: 0.7rem;
}

.tickety-payment__pix {
	text-align: center;
}

.tickety-payment__pix img {
	background: #fff;
	border: 1px solid var(--tickety-line);
	border-radius: 12px;
	height: auto;
	margin: 12px auto 22px;
	max-width: 260px;
	padding: 10px;
	width: 100%;
}

.tickety-payment__charge > label,
.tickety-payment__pix label {
	color: var(--tickety-navy);
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	margin-bottom: 6px;
	text-align: left;
}

.tickety-copy-field {
	display: grid;
	gap: 8px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-bottom: 18px;
}

.tickety-copy-field textarea {
	border: 1px solid #cfdad5;
	border-radius: 9px;
	font: 0.72rem/1.4 monospace;
	min-height: 62px;
	padding: 10px;
	resize: vertical;
	width: 100%;
}

.tickety-copy-field button {
	background: var(--tickety-navy);
	border: 0;
	border-radius: 9px;
	color: #fff;
	cursor: pointer;
	font: inherit;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 10px 14px;
}

.tickety-payment__due {
	color: var(--tickety-muted);
	font-size: 0.76rem;
	margin-top: 18px;
}

.tickety-payment__refresh {
	color: var(--tickety-green-dark);
	display: inline-block;
	font-size: 0.76rem;
	font-weight: 700;
	margin-top: 12px;
}

@media (max-width: 700px) {
	.tickety-form-grid,
	.tickety-registration-list {
		grid-template-columns: 1fr;
	}

	.tickety-form-field--wide {
		grid-column: auto;
	}

	.tickety-payment__header {
		flex-direction: column;
	}

	.tickety-copy-field {
		grid-template-columns: 1fr;
	}
}
.tickety-coupon-field {
	margin-top: 24px;
}

.tickety-senior-notice {
	background: #fff7df;
	border-left: 4px solid #d99a00;
	border-radius: 8px;
	color: #684900;
	display: block;
	font-size: .82rem;
	line-height: 1.5;
	margin-top: 10px;
	padding: 10px 12px;
}

.tickety-senior-notice[hidden] {
	display: none;
}

.tickety-fitness-declaration {
	align-items: flex-start;
	background: #f2faf5;
	border: 1px solid #cde7d6;
	border-radius: 12px;
	color: #163f2b;
	display: flex;
	gap: 10px;
	line-height: 1.5;
	padding: 14px 16px;
}

.tickety-fitness-declaration input {
	flex: 0 0 auto;
	margin-top: 4px;
}

.tickety-participant-questionnaire {
	background: #f7faf8;
	border: 1px solid #dce9e1;
	border-radius: 14px;
	padding: 16px;
}

.tickety-participant-questionnaire h4 {
	color: var(--tickety-navy);
	margin: 0 0 14px;
}

.tickety-question-field {
	margin: 0 0 14px;
}

.tickety-question-field:last-child {
	margin-bottom: 0;
}

.tickety-question-field label,
.tickety-proof-notice {
	display: block;
}

.tickety-proof-notice {
	background: #fff7df;
	border-left: 4px solid #d99a00;
	border-radius: 6px;
	color: #684900;
	margin-top: 8px;
	padding: 9px 11px;
}

.tickety-proof-notice[hidden] {
	display: none;
}

.tickety-group-form > .tickety-button {
	margin-top: 24px;
}

.tickety-group-form .tickety-form-field small {
	color: #5c6f7d;
	display: block;
	margin-top: 6px;
}

.tickety-group-form [data-group-coupon] {
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tickety-auth {
	margin-inline: auto;
	max-width: 680px;
}

.tickety-auth .tickety-registration-form > .tickety-button {
	margin-top: 22px;
}

.tickety-auth__link {
	margin: 18px 0 0;
	text-align: center;
}

.tickety-auth__link a {
	color: #032e4b;
	font-weight: 700;
}

.tickety-coupon-field input {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 700;
}

.tickety-coupon-field small {
	display: block;
	margin-top: 6px;
	color: #5c6f7d;
}

.tickety-table-wrap {
	overflow-x: auto;
	margin-top: 24px;
	border: 1px solid #dce5e8;
	border-radius: 16px;
	background: #fff;
}

.tickety-account-table {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
}

.tickety-account-table th,
.tickety-account-table td {
	padding: 14px 16px;
	text-align: left;
	border-bottom: 1px solid #e8eef0;
}

.tickety-account-table th {
	color: #032e4b;
	background: #f5faf7;
	font-size: .82rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.tickety-account-table tr:last-child td {
	border-bottom: 0;
}
