/* Presentation-only refinements for the Tickets Commerce checkout. */
.tribe-tickets__commerce-checkout,
.tribe-tickets__commerce-checkout * {
	box-sizing: border-box;
}

.tribe-tickets__commerce-checkout {
	--stfc-checkout-blue: #1f3a5f;
	--stfc-checkout-green: #2f6f57;
	--stfc-checkout-gray: #4b5563;
	--stfc-checkout-border: #d1d5db;
	--stfc-checkout-white: #ffffff;
	width: 100%;
	max-width: 54rem;
	min-width: 0;
	margin-right: auto;
	margin-left: auto;
	padding: 0 clamp(1rem, 4vw, 1.5rem) 1.5rem;
	color: var(--stfc-checkout-gray);
	font-family: 'Roboto', Arial, sans-serif;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-purchaser-info-wrapper__form,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-address-wrapper,
.tribe-tickets__commerce-checkout .tribe-tickets__form-field-input-wrapper,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-card-element,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-payment-element {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.tribe-tickets__commerce-checkout iframe {
	max-width: 100%;
}

.tribe-tickets__commerce-checkout-header {
	margin-bottom: 0.75rem;
}

.tribe-tickets__commerce-checkout-header-title {
	margin: 0 0 0.75rem;
	color: var(--stfc-checkout-blue);
	font-family: 'League Spartan', 'Arial Narrow', Arial, sans-serif;
	font-size: clamp(1.5rem, 5vw, 2rem);
	font-weight: 700;
	line-height: 1.2;
}

.tribe-tickets__commerce-checkout-cart,
.tribe-tickets__commerce-checkout-purchaser-info-wrapper,
.tribe-tickets__commerce-checkout-gateways {
	min-width: 0;
	max-width: 100%;
}

.tribe-tickets__commerce-checkout-cart {
	margin: 0 0 0.875rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--stfc-checkout-border);
	border-radius: 0.5rem;
	background: var(--stfc-checkout-white);
}

.tribe-tickets__commerce-checkout-cart-header {
	margin-bottom: 0.25rem;
}

.tribe-tickets__commerce-checkout-cart-header-title,
.tribe-tickets__commerce-checkout-purchaser-info-title,
.tribe-tickets__commerce-checkout-section-header {
	color: var(--stfc-checkout-blue);
	font-family: 'League Spartan', 'Arial Narrow', Arial, sans-serif;
	font-weight: 700;
}

.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-cart-header-title {
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.3;
}

.tribe-tickets__commerce-checkout .stfc-checkout__duplicate-cart-item-title {
	display: none;
}

.tribe-tickets__commerce-checkout-cart-item {
	min-width: 0;
	max-width: 100%;
}

.tribe-tickets__commerce-checkout-cart-item-details-title {
	color: var(--stfc-checkout-blue);
	font-family: 'League Spartan', 'Arial Narrow', Arial, sans-serif;
	font-weight: 700;
}

.tribe-tickets__commerce-checkout-purchaser-info-wrapper {
	margin-top: 0.75rem;
}

.tribe-tickets__commerce-checkout .stfc-checkout-purchaser-phone-section {
	margin: 0.75rem 0;
	padding: 0.75rem 1rem;
	border: 1px solid var(--stfc-checkout-border);
	border-radius: 0.5rem;
	background: var(--stfc-checkout-white);
}

.tribe-tickets__commerce-checkout-purchaser-info-title,
.tribe-tickets__commerce-checkout-section-header {
	margin: 0 0 0.75rem;
	color: var(--stfc-checkout-blue);
	font-family: 'League Spartan', 'Arial Narrow', Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.3;
}

.tribe-tickets__commerce-checkout-purchaser-info-wrapper__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.875rem;
}

.tribe-tickets__commerce-checkout-purchaser-info-field {
	min-width: 0;
	margin: 0;
}

.tribe-tickets__commerce-checkout .stfc-purchaser-phone-field--standalone {
	margin: 0.75rem 0;
}

.tribe-tickets__commerce-checkout-purchaser-info-field .tribe-tickets__form-field-label {
	display: block;
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	color: var(--stfc-checkout-blue);
	font-weight: 600;
	line-height: 1.35;
}

.tribe-tickets__commerce-checkout-purchaser-info-field input,
.tribe-tickets__commerce-checkout-purchaser-info-field select {
	width: 100%;
	max-width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 0.7rem 0.8rem;
	font: inherit;
}

.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-address-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.875rem;
	min-width: 0;
}

.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-form-submit-button,
.tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-render-payment,
.tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-checkout-button {
	width: 100%;
	min-height: 52px;
	margin-top: 0.25rem;
	padding: 0.85rem 1rem;
	border-color: var(--stfc-checkout-green);
	border-radius: 0.5rem;
	background: var(--stfc-checkout-green);
	color: var(--stfc-checkout-white);
	font-family: 'League Spartan', 'Arial Narrow', Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	white-space: normal;
}

.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-form-submit-button:hover,
.tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-render-payment:hover,
.tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-checkout-button:hover {
	border-color: #285d49;
	background: #285d49;
	color: var(--stfc-checkout-white);
}

.tribe-tickets__commerce-checkout button:focus-visible,
.tribe-tickets__commerce-checkout input:focus-visible,
.tribe-tickets__commerce-checkout select:focus-visible {
	outline: 3px solid var(--stfc-checkout-blue);
	outline-offset: 3px;
}

.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-card-element,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-payment-element,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-gateway,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe,
.tribe-tickets__commerce-checkout #payment-form,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-errors,
.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-payment-message {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.tribe-tickets__commerce-checkout-gateways {
	margin-top: 0.75rem;
}

@media ( min-width: 700px ) {
	.tribe-common.event-tickets > .tribe-tickets__commerce-checkout {
		width: 100%;
		max-width: 54rem;
		margin-right: auto;
		margin-left: auto;
	}

	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-address-wrapper {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}

	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-purchaser-info-wrapper__form > #tec-tc-gateway-stripe-render-payment {
		justify-self: start;
		width: auto;
		min-width: 16rem;
	}
}

@media ( max-width: 699px ) {
	.tribe-tickets__commerce-checkout {
		padding-right: clamp( 1rem, 4vw, 1.5rem );
		padding-left: clamp( 1rem, 4vw, 1.5rem );
	}

	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-cart-footer {
		gap: 0.5rem;
	}

	.tribe-tickets__commerce-checkout-purchaser-info-wrapper__form {
		gap: 0.75rem;
	}

	.tribe-tickets__commerce-checkout input,
	.tribe-tickets__commerce-checkout select,
	.tribe-tickets__commerce-checkout textarea,
	.tribe-tickets__commerce-checkout button {
		font-size: 16px !important;
	}

	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-form-submit-button,
	.tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-render-payment,
	.tribe-tickets__commerce-checkout #tec-tc-gateway-stripe-checkout-button {
		width: 100%;
	}

	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-card-element-row {
		gap: 0.5rem;
		min-width: 0;
		max-width: 100%;
	}

	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-card-element-row > .tribe-tickets__commerce-checkout-stripe-card-element-number,
	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-card-element-row > .tribe-tickets__commerce-checkout-stripe-card-element-cvc {
		flex: 2 1 0;
		min-width: 0;
		max-width: 100%;
		margin-right: 0;
	}

	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-card-element-row > .tribe-tickets__commerce-checkout-stripe-card-element-expiry,
	.tribe-tickets__commerce-checkout .tribe-tickets__commerce-checkout-stripe-card-element-row > .tribe-tickets__commerce-checkout-stripe-card-element-zip {
		flex: 1 1 0;
		min-width: 0;
		max-width: 100%;
		margin-right: 0;
	}
}
