/**
 * Procedure Cards Widget Styles
 *
 * Large horizontal procedure cards with image + detailed description
 *
 * @package DrYazdani
 * @since 1.0.0
 */

/* ====================
   Section Container
   ==================== */

.dryazdani-procedure-cards {
	background-color: var(--color-background-alt, #FAFAFA);
	padding: var(--spacing-3xl, 6rem) var(--spacing-md, 1.5rem);
}

.dryazdani-procedure-cards .dryazdani-container {
	max-width: 1400px;
	margin: 0 auto;
}

/* ====================
   Header
   ==================== */

.dryazdani-procedure-cards__header {
	text-align: center;
	margin-bottom: var(--spacing-2xl, 3rem);
}

.dryazdani-procedure-cards__eyebrow {
	color: var(--color-primary, #D4AF37);
	font-size: var(--text-xs, 0.75rem);
	letter-spacing: 0.3em;
	text-transform: uppercase;
	margin-bottom: var(--spacing-lg, 1.5rem);
	font-weight: 500;
}

.dryazdani-procedure-cards__heading {
	font-family: var(--font-heading, 'Playfair Display', serif);
	font-size: clamp(2.5rem, 5vw, 3.75rem);
	line-height: 1.2;
	color: var(--color-text-primary, #2C2C2C);
	margin-bottom: var(--spacing-lg, 1.5rem);
	font-weight: 400;
}

/* ====================
   Cards List
   ==================== */

.dryazdani-procedure-cards__list {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-2xl, 3rem);
}

.dryazdani-procedure-cards__card {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--spacing-2xl, 3rem);
	background-color: var(--color-background, #FFFFFF);
	border: 2px solid rgba(44, 44, 44, 0.1);
	padding: var(--spacing-2xl, 3rem);
	transition: var(--transition-normal, all 300ms ease-out);
}

.dryazdani-procedure-cards__card:hover {
	border-color: var(--color-primary, #D4AF37);
}

/* Image position variants */
.dryazdani-procedure-cards__card--image-left .dryazdani-procedure-cards__image-wrapper {
	order: 1;
}

.dryazdani-procedure-cards__card--image-left .dryazdani-procedure-cards__content {
	order: 2;
}

.dryazdani-procedure-cards__card--image-right .dryazdani-procedure-cards__image-wrapper {
	order: 2;
}

.dryazdani-procedure-cards__card--image-right .dryazdani-procedure-cards__content {
	order: 1;
}

/* ====================
   Image
   ==================== */

.dryazdani-procedure-cards__image-wrapper {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background-color: rgba(44, 44, 44, 0.05);
}

.dryazdani-procedure-cards__image {
	width: 100%;
	height: 100% !important;
	object-fit: cover;
	transition: transform 700ms ease-out;
}

.dryazdani-procedure-cards__card:hover .dryazdani-procedure-cards__image {
	transform: scale(1.05);
}

/* ====================
   Content
   ==================== */

.dryazdani-procedure-cards__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.dryazdani-procedure-cards__name {
	font-family: var(--font-heading, 'Playfair Display', serif);
	font-size: var(--text-4xl, 2.25rem);
	color: var(--color-text-primary, #2C2C2C);
	margin-bottom: var(--spacing-lg, 1.5rem);
	font-weight: 400;
}

.dryazdani-procedure-cards__text {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md, 1rem);
	margin-bottom: var(--spacing-xl, 2rem);
}

.dryazdani-procedure-cards__description,
.dryazdani-procedure-cards__details {
	font-size: var(--text-base, 1rem);
	line-height: 1.8;
	color: var(--color-text-body, #717171);
	margin: 0 !important;
}

/* ====================
   Button
   ==================== */

.dryazdani-procedure-cards__button {
	display: inline-block;
	padding: var(--spacing-md, 1rem) var(--spacing-xl, 2.5rem);
	background-color: var(--color-primary, #D4AF37);
	color: var(--color-text-primary, #2C2C2C);
	text-decoration: none;
	text-transform: uppercase;
	font-size: var(--text-sm, 0.875rem);
	letter-spacing: 0.2em;
	font-weight: 600;
	transition: var(--transition-normal, all 300ms ease-out);
	border: none;
	cursor: pointer;
	align-self: flex-start;
}

.dryazdani-procedure-cards__button:hover {
	background-color: var(--color-text-primary, #2C2C2C);
	color: var(--color-background, #FFFFFF);
}

/* ====================
   Responsive Design
   ==================== */

/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
	.dryazdani-procedure-cards {
		padding: var(--spacing-2xl, 3rem) var(--spacing-lg, 1.5rem);
	}

	.dryazdani-procedure-cards__card {
		gap: var(--spacing-lg, 1.5rem);
		padding: var(--spacing-lg, 1.5rem);
	}

	.dryazdani-procedure-cards__name {
		font-size: clamp(1.5rem, 2.5vw, 2rem);
	}

	.dryazdani-procedure-cards__description,
	.dryazdani-procedure-cards__details {
		font-size: var(--text-sm, 0.875rem);
	}
}

/* Mobile (< 768px) */
@media (max-width: 767px) {
	.dryazdani-procedure-cards {
		padding: var(--spacing-xl, 2rem) var(--spacing-md, 1rem);
	}

	.dryazdani-procedure-cards__header {
		text-align: start;
	}

	.dryazdani-procedure-cards__eyebrow {
		font-size: 0.625rem;
		letter-spacing: 0.2em;
	}

	.dryazdani-procedure-cards__heading {
		font-size: 2rem;
	}

	.dryazdani-procedure-cards__list {
		gap: var(--spacing-lg, 1.5rem);
	}

	.dryazdani-procedure-cards__card {
		grid-template-columns: 1fr;
		gap: var(--spacing-lg, 1.5rem);
		padding: var(--spacing-md, 1rem);
	}

	/* Force image on top for mobile regardless of position setting */
	.dryazdani-procedure-cards__card--image-left .dryazdani-procedure-cards__image-wrapper,
	.dryazdani-procedure-cards__card--image-right .dryazdani-procedure-cards__image-wrapper {
		order: 1;
	}

	.dryazdani-procedure-cards__card--image-left .dryazdani-procedure-cards__content,
	.dryazdani-procedure-cards__card--image-right .dryazdani-procedure-cards__content {
		order: 2;
	}

	.dryazdani-procedure-cards__name {
		font-size: 1.75rem;
		margin-bottom: var(--spacing-md, 1rem);
	}

	.dryazdani-procedure-cards__text {
		gap: var(--spacing-sm, 0.5rem);
		margin-bottom: var(--spacing-lg, 1.5rem);
	}

	.dryazdani-procedure-cards__button {
		width: 100%;
		text-align: center;
		padding: var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);
		font-size: 0.75rem;
	}
}

/* ====================
   RTL Support
   ==================== */

[dir="rtl"] .dryazdani-procedure-cards__header {
	text-align: center;
}

[dir="rtl"] .dryazdani-procedure-cards__button {
	align-self: flex-start;
}

/* On mobile RTL */
@media (max-width: 767px) {
	[dir="rtl"] .dryazdani-procedure-cards__header {
		text-align: start;
	}
}

/* ====================
   Accessibility
   ==================== */

/* Focus states */
.dryazdani-procedure-cards__button:focus-visible {
	outline: 3px solid var(--color-primary, #D4AF37);
	outline-offset: 3px;
}

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
	.dryazdani-procedure-cards__card,
	.dryazdani-procedure-cards__image,
	.dryazdani-procedure-cards__button {
		transition: none;
	}
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	.dryazdani-procedure-cards__card {
		border-width: 3px;
	}

	.dryazdani-procedure-cards__button {
		border: 2px solid currentColor;
	}
}

/* ====================
   Print Styles
   ==================== */

@media print {
	.dryazdani-procedure-cards {
		background-color: transparent;
		padding: 1rem 0;
	}

	.dryazdani-procedure-cards__card {
		border: 1px solid #000;
		page-break-inside: avoid;
		margin-bottom: 1rem;
	}

	.dryazdani-procedure-cards__button {
		display: none;
	}

	.dryazdani-procedure-cards__image {
		transform: none !important;
	}
}
