/**
 * Image with Text List Panel
 * ============================================================================
 * Two-column layout with image and text list with icons.
 *
 * Load order: After base.css, before page-specific styles
 * Dependencies: 00-tokens.css (design tokens)
 * ============================================================================
 */

/* ==========================================================================
   Base Styles
   ========================================================================== */

.image-with-text-list-panel .content {
	padding: 88px 60px 78px 50px;
	display: flex;
	align-items: flex-start;
	gap: 5%;
}

.image-with-text-list-panel .content .main-image {
	flex: 0 0 47.5%; /* 50% - half of 5% gap */
	max-width: 47.5%;
	width: 47.5%;           /* Safari fix: explicit width required for flex children */
	height: auto;
	align-self: flex-start; /* Safari fix: prevent cross-axis stretch */
	display: block;         /* Safari fix: remove inline image behavior */
}

.image-with-text-list-panel .content .text {
	flex: 1;
	min-width: 0; /* Prevent flex item from overflowing */
}

.image-with-text-list-panel .content .text h3 {
	color: var(--brand-main);
	font-size: 42px;
	font-weight: 900;
	letter-spacing: -1.5px;
	line-height: 46px;
	margin-bottom: 26px;
}

.image-with-text-list-panel .content .text p {
	/* font-family handled by utility class */
	font-size: 24px;
	font-weight: 700;
	line-height: 26px;
	margin-bottom: var(--space-6);
}

.image-with-text-list-panel .text ul {
	list-style-type: none;
}

.image-with-text-list-panel .text ul li {
	display: flex;
	align-items: center;
	margin-bottom: 28px;
}

.image-with-text-list-panel .text ul li img {
	margin-right: 15px;
}

.image-with-text-list-panel .content .text .button {
	background-color: var(--brand-highlight);
	margin: 20px 0;
}

/* ==========================================================================
   Responsive: Desktop and below (max-width: 1024px)
   ========================================================================== */

@media (max-width: 1024px) {
	.image-with-text-list-panel .content .main-image {
		flex: 1 1 100%;
		max-width: 100%;
		width: 100%;        /* Safari fix: explicit width at breakpoint */
		margin-right: 0;
	}

	.image-with-text-list-panel .content .text {
		flex: 1 1 100%;
		margin-right: 0;
	}

	.image-with-text-list-panel .text ul {
		padding-left: 0;
	}
}

/* ==========================================================================
   Responsive: Tablet (max-width: 768px)
   ========================================================================== */

@media (max-width: 768px) {
	.image-with-text-list-panel .content {
		padding: 40px 24px;
		flex-direction: column;
		gap: 30px;
	}

	.image-with-text-list-panel .content .main-image {
		width: 100%;        /* Safari fix: explicit width in column layout */
		flex: 0 0 auto;     /* Remove percentage flex-basis in column layout */
	}
}

/* ==========================================================================
   Responsive: Mobile (max-width: 480px)
   ========================================================================== */

@media (max-width: 480px) {
	.image-with-text-list-panel .content .text h3 {
		font-size: 34px;
		line-height: 42px;
		letter-spacing: -2px;
	}

	/* Note: .content styles inherit from 768px breakpoint */
}
