/**
 * GoProduct addon box layout (checkout / cart addons widget).
 * Scoped with high specificity so theme / Elementor do not collapse the rows.
 */

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-label {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 15px;
	width: 100%;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-content {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 10px;
	width: 100%;
	min-width: 0;
}

/* Row 1: logo | title + subtitle | price */
.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-intro {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto;
	grid-template-areas: 'logo header price';
	align-items: center;
	column-gap: 15px;
	row-gap: 8px;
	width: 100%;
	min-width: 0;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-logo {
	grid-area: logo;
	flex-shrink: 0;
	display: block;
	width: auto !important;
	height: auto !important;
	max-height: 60px;
	min-width: 0;
	margin: 0;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-logo img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-height: 60px !important;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-header {
	grid-area: header;
	min-width: 0;
	margin: 0;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-title {
	margin: 0 0 4px;
	line-height: 1.3;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-subtitle {
	display: block;
	margin: 0;
	line-height: 1.35;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-value {
	grid-area: price;
	justify-self: end;
	align-self: center;
	flex-shrink: 0;
	margin: 0;
	padding: 0 0 0 12px;
	text-align: right;
	white-space: nowrap;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-amount {
	display: block;
	margin-top: 2px;
}

/* Row 2: description + terms (full width under row 1) */
.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-details {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
	flex: 0 0 100%;
	min-width: 0;
}

.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-description,
.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-terms {
	width: 100%;
	margin: 0;
}

/* No logo: header spans middle, price stays right */
.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-intro--no-logo {
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: 'header price';
}

@media (max-width: 768px) {
	.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-intro {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			'logo header'
			'price price';
	}

	.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-value {
		justify-self: start;
		padding-left: 0;
		text-align: left;
		white-space: normal;
	}

	.goticketing-taxes-widget .goticketing-tax-item .goticketing-tax-intro--no-logo {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			'header'
			'price';
	}
}
