/* Stable outer geometry for cart, checkout, account, and attendee flows.
 * Native WooCommerce and Event Tickets controls retain framework ownership. */

body.woocommerce-cart .wp-block-woocommerce-cart {
	min-height: 55vh;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .wp-block-woocommerce-checkout {
	min-height: 70vh;
}

body.stw-account-shell #stw-account-root,
body.stw-account-shell .stw-account-root {
	min-height: 60vh;
}

body.stw-account-shell .stw-account-boot {
	align-items: center;
	display: flex;
	min-height: 60vh;
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	align-items: center;
	display: flex;
	justify-content: center;
	padding-left: 3rem;
	padding-right: 3rem;
	text-align: center;
}

body.woocommerce-cart .wc-block-cart-item__description,
body.woocommerce-cart .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-cart-item__description {
	display: none !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration {
	margin: 0 auto !important;
	max-width: min(var(--wp--style--global--wide-size, 1250px), calc(100vw - clamp(2rem, 8vw, 8rem))) !important;
	min-height: 70vh;
	padding: 0 0 clamp(4rem, 8vw, 6rem) !important;
	width: min(100%, calc(100vw - clamp(2rem, 8vw, 8rem))) !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-grid {
	align-items: start !important;
	display: grid !important;
	gap: clamp(2rem, 5vw, 4.5rem) !important;
	grid-template-columns: minmax(17.5rem, 25.3rem) minmax(0, 1fr) !important;
	padding-top: 0 !important;
}

body.page-tribe-attendee-registration .tec-proposal-hold-notice {
	margin-bottom: clamp(1.6rem, 3vw, 2.2rem) !important;
}

body.page-tribe-attendee-registration .stw-attendee-ticket-card-frame {
	align-self: start;
	grid-column: 1;
	grid-row: 1;
	height: min(750px, calc(100vh - var(--wp--custom--header-height--desktop, 113px) - 1rem));
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--wp--custom--header-height--desktop, 113px) + 1rem);
	width: 100%;
}

body.page-tribe-attendee-registration .stw-event-ticket-card {
	border-radius: 18px;
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	height: 100%;
	overflow: hidden;
}

body.page-tribe-attendee-registration .stw-event-ticket-card__media {
	background: #3a3128;
	min-height: 0;
	overflow: hidden;
	position: relative;
}

body.page-tribe-attendee-registration .stw-attendee-ticket-card--proposal .stw-event-ticket-card__media {
	border-radius: 18px;
}

body.page-tribe-attendee-registration .stw-attendee-ticket-card--proposal .stw-attendee-ticket-card__footer {
	display: none !important;
}

body.page-tribe-attendee-registration .stw-event-ticket-card__image {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

body.page-tribe-attendee-registration .stw-event-ticket-card__scrim,
body.page-tribe-attendee-registration .stw-event-ticket-card__overlay {
	inset: 0;
	position: absolute;
}

body.page-tribe-attendee-registration .stw-event-ticket-card__overlay {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto auto;
	padding: clamp(2.15rem, 3vw, 2.65rem) clamp(1.25rem, 3vw, 2rem) clamp(1.4rem, 2.8vw, 2rem);
	text-align: center;
}

body.page-tribe-attendee-registration .stw-event-ticket-card__footer {
	background: #fff;
	min-height: 5rem;
	padding: 1rem;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-content {
	grid-column: 2 !important;
	grid-row: 1 !important;
	min-width: 0;
}

body.page-tribe-attendee-registration .stw-attendee-registration-heading {
	margin: 0 0 clamp(1.6rem, 3vw, 2.2rem);
	min-height: 7rem;
}

@media (max-width: 940px) {
	body.page-tribe-attendee-registration .tribe-tickets__registration {
		max-width: min(100%, calc(100vw - 2rem)) !important;
	}

	body.page-tribe-attendee-registration .tribe-tickets__registration-grid {
		grid-template-columns: 1fr !important;
	}

	body.page-tribe-attendee-registration .stw-attendee-ticket-card-frame,
	body.page-tribe-attendee-registration .tribe-tickets__registration-content {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	body.page-tribe-attendee-registration .stw-attendee-ticket-card-frame {
		justify-self: center;
		max-width: 24rem;
		min-height: 34rem;
		position: static;
	}
}
