/*!
 * Ghasedak Block Styles
 * Additional styles for Gutenberg blocks on frontend
 *
 * @package Ghasedak
 * @since 2.0.0
 */

/* ============ General Blocks ============ */
.wp-block-image img {
	border-radius: var(--border-radius);
}

.wp-block-gallery {
	padding: 0 !important;
}

.wp-block-gallery .blocks-gallery-item {
	padding: 4px;
}

.wp-block-gallery .blocks-gallery-item img {
	border-radius: var(--border-radius);
}

.wp-block-table {
	margin-bottom: var(--spacing-lg);
}

.wp-block-table table {
	width: 100%;
	border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
	border: 1px solid var(--color-border);
	padding: var(--spacing-sm) var(--spacing-md);
	text-align: right;
}

.wp-block-table th {
	background: var(--color-bg-alt);
	font-weight: 600;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
	background: var(--color-bg-alt);
}

/* ============ Buttons ============ */
.wp-block-button__link {
	font-family: var(--font-system);
	font-weight: 500;
	border-radius: var(--border-radius);
	padding: 0.75em 1.5em;
	transition: all 0.2s ease;
}

.wp-block-button__link:hover {
	opacity: 0.9;
	transform: translateY(-1px);
}

.is-style-outline .wp-block-button__link {
	border: 2px solid;
}

.is-style-outline .wp-block-button__link:hover {
	background: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}

/* ============ Cover ============ */
.wp-block-cover {
	border-radius: var(--border-radius-lg);
	overflow: hidden;
}

/* ============ Pullquote ============ */
.wp-block-pullquote {
	border-top: 4px solid var(--color-primary);
	border-bottom: 4px solid var(--color-primary);
	padding: var(--spacing-xl) 0;
	margin: var(--spacing-xl) 0;
	text-align: center;
	font-size: var(--font-size-xl);
	font-style: italic;
}

.wp-block-pullquote cite {
	font-size: var(--font-size-sm);
	font-style: normal;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ============ Separator ============ */
.wp-block-separator {
	border: none;
	border-top: 1px solid var(--color-border);
	margin: var(--spacing-2xl) 0;
}

.wp-block-separator.is-style-dots::before {
	color: var(--color-text-light);
	font-size: var(--font-size-xl);
}

/* ============ Code ============ */
.wp-block-code {
	background: var(--color-bg-alt);
	padding: var(--spacing-lg);
	border-radius: var(--border-radius);
	font-size: 0.9em;
	direction: ltr;
	text-align: left;
}

/* ============ Verse ============ */
.wp-block-verse {
	background: var(--color-bg-alt);
	padding: var(--spacing-xl);
	border-radius: var(--border-radius);
	font-style: italic;
}

/* ============ Latest Posts ============ */
.wp-block-latest-posts {
	padding: 0 !important;
	list-style: none !important;
}

.wp-block-latest-posts li {
	margin-bottom: var(--spacing-lg);
}

.wp-block-latest-posts a {
	color: var(--color-text);
	font-weight: 500;
}

.wp-block-latest-posts a:hover {
	color: var(--color-primary);
}

.wp-block-latest-posts__post-date {
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
}

.wp-block-latest-posts__featured-image img {
	border-radius: var(--border-radius);
}

/* ============ Search Block ============ */
.wp-block-search__input {
	border: 1px solid var(--color-border) !important;
	border-radius: var(--border-radius) !important;
	padding: var(--spacing-sm) var(--spacing-md) !important;
	font-family: var(--font-system) !important;
	font-size: var(--font-size-base) !important;
}

.wp-block-search__input:focus {
	outline: none !important;
	border-color: var(--color-primary) !important;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

.wp-block-search__button {
	background: var(--color-primary) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--border-radius) !important;
	padding: var(--spacing-sm) var(--spacing-lg) !important;
	cursor: pointer;
	font-family: var(--font-system) !important;
	font-weight: 500;
}

.wp-block-search__button:hover {
	background: var(--color-primary-hover) !important;
}

/* ============ Group & Columns ============ */
.wp-block-group {
	border-radius: var(--border-radius-lg);
}

.wp-block-columns {
	gap: var(--spacing-lg);
}

/* ============ Embeds ============ */
.wp-block-embed {
	margin-bottom: var(--spacing-lg);
}

.wp-block-embed iframe {
	border-radius: var(--border-radius);
	max-width: 100%;
}

/* ============ Captions ============ */
.wp-block-image figcaption,
.wp-block-embed figcaption,
.wp-block-gallery figcaption {
	text-align: center;
	font-size: var(--font-size-sm);
	color: var(--color-text-light);
	margin-top: var(--spacing-sm);
}