/**
 * KHOURI core block presentation.
 * Uses native block markup and WordPress/KHOURI design tokens only.
 */

/* Wide and full alignment. */
.entry-content > .alignwide,
.wp-site-blocks > .alignwide {
	max-width: var(--khouri-container, var(--wp--style--global--wide-size, 1200px));
}
.khouri-sidebar-none .entry-content > .alignwide {
	width: min(calc(100vw - (var(--khouri-site-padding, 24px) * 2)), var(--khouri-container, 1200px));
	max-width: none;
	margin-inline: calc(50% - min(50vw - var(--khouri-site-padding, 24px), var(--khouri-container, 1200px) / 2));
}
.khouri-sidebar-none .entry-content > .alignfull {
	width: 100vw;
	max-width: none;
	margin-inline: calc(50% - 50vw);
}
.khouri-sidebar-left .entry-content > .alignwide,
.khouri-sidebar-left .entry-content > .alignfull,
.khouri-sidebar-right .entry-content > .alignwide,
.khouri-sidebar-right .entry-content > .alignfull {
	width: 100%;
	max-width: 100%;
	margin-inline: 0;
}

/* Core content blocks. */
.wp-block-group,
.wp-block-columns,
.wp-block-media-text,
.wp-block-cover,
.wp-block-gallery,
.wp-block-query,
.wp-block-post-template {
	margin-block: var(--khouri-content-space, 1.5rem);
}
.wp-block-columns { gap: clamp(1rem, 3vw, 2.5rem); }
.wp-block-column > :first-child { margin-top: 0; }
.wp-block-column > :last-child { margin-bottom: 0; }

.wp-block-image img,
.wp-block-gallery img,
.wp-block-cover {
	border-radius: min(var(--khouri-radius, 6px), 18px);
}
.wp-block-image figcaption,
.wp-block-gallery figcaption,
.wp-block-audio figcaption,
.wp-block-video figcaption {
	color: var(--khouri-muted, var(--wp--preset--color--muted, #667085));
	font-size: .875em;
	line-height: 1.45;
}

.wp-block-quote {
	margin-inline: 0;
	padding: .25rem 0 .25rem 1.25rem;
	border-left: 4px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
}
.wp-block-quote cite,
.wp-block-pullquote cite {
	color: var(--khouri-muted, var(--wp--preset--color--muted, #667085));
	font-size: .85em;
}
.wp-block-pullquote {
	padding-block: 2rem;
	border-block: 2px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
}
.wp-block-pullquote blockquote { margin: 0; }

.wp-block-code,
.wp-block-preformatted,
.wp-block-verse {
	overflow-x: auto;
	padding: 1rem 1.1rem;
	border: 1px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
	border-radius: var(--khouri-radius, 6px);
	background: var(--khouri-surface, var(--wp--preset--color--surface, #f6f7f9));
	font-family: var(--wp--preset--font-family--system-mono, ui-monospace, monospace);
	font-size: .92em;
}
.wp-block-code code { white-space: pre; }

.wp-block-table { overflow-x: auto; }
.wp-block-table table { width: 100%; border-collapse: collapse; }
.wp-block-table th,
.wp-block-table td {
	padding: .75rem .85rem;
	border: 1px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
	text-align: start;
}
.wp-block-table th {
	background: var(--khouri-surface, var(--wp--preset--color--surface, #f6f7f9));
	color: var(--khouri-heading, var(--wp--preset--color--heading, #111));
	font-weight: 700;
}

.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
}
.wp-block-separator.is-style-wide { width: 100%; }
.wp-block-separator.is-style-dots { border: 0; }

.wp-block-details {
	padding: 1rem 1.1rem;
	border: 1px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
	border-radius: var(--khouri-radius, 6px);
	background: var(--khouri-bg, var(--wp--preset--color--base, #fff));
}
.wp-block-details summary {
	cursor: pointer;
	color: var(--khouri-heading, var(--wp--preset--color--heading, #111));
	font-weight: 700;
}
.wp-block-details[open] summary { margin-bottom: .75rem; }

.wp-block-search__inside-wrapper {
	gap: .5rem;
	padding: 0;
	border: 0;
}
.wp-block-search__input {
	min-height: var(--khouri-form-height, 44px);
	border: 1px solid var(--khouri-form-border, #cfd4dc);
	border-radius: var(--khouri-form-radius, 6px);
}
.wp-block-search__button {
	margin: 0;
	border: 0;
	border-radius: var(--khouri-button-radius, 6px);
	background: var(--khouri-button-bg, var(--wp--preset--color--accent, #2457d6));
	color: var(--khouri-button-text, #fff);
}

.wp-block-latest-posts,
.wp-block-latest-comments,
.wp-block-categories-list,
.wp-block-archives-list {
	padding-left: 1.2rem;
}
.wp-block-latest-posts.is-grid { padding-left: 0; gap: 1.25rem; }
.wp-block-latest-posts.is-grid li {
	padding: 1rem;
	border: 1px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
	border-radius: var(--khouri-radius, 6px);
}

.wp-block-query-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2rem;
}
.wp-block-query-pagination-numbers { display: flex; gap: .35rem; }
.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	padding: .25rem .55rem;
	border: 1px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
	border-radius: var(--khouri-radius, 6px);
	text-decoration: none;
}
.wp-block-query-pagination-numbers .current {
	border-color: var(--khouri-accent, var(--wp--preset--color--accent, #2457d6));
	background: var(--khouri-accent, var(--wp--preset--color--accent, #2457d6));
	color: #fff;
}

/* KHOURI block style variations. */
.wp-block-group.is-style-khouri-card {
	padding: clamp(1.1rem, 2.5vw, 2rem);
	border: 1px solid var(--khouri-border, var(--wp--preset--color--border, #e5e7eb));
	border-radius: max(var(--khouri-radius, 6px), 10px);
	background: var(--khouri-bg, var(--wp--preset--color--base, #fff));
	box-shadow: 0 10px 30px rgba(16, 24, 40, .06);
}
.wp-block-group.is-style-khouri-soft {
	padding: clamp(1.1rem, 2.5vw, 2rem);
	border-radius: max(var(--khouri-radius, 6px), 10px);
	background: var(--khouri-surface, var(--wp--preset--color--surface, #f6f7f9));
}
.wp-block-quote.is-style-khouri-accent {
	padding: 1rem 1.25rem;
	border-left-color: var(--khouri-accent, var(--wp--preset--color--accent, #2457d6));
	border-radius: 0 var(--khouri-radius, 6px) var(--khouri-radius, 6px) 0;
	background: color-mix(in srgb, var(--khouri-accent, #2457d6) 8%, transparent);
}
.wp-block-image.is-style-khouri-rounded img {
	border-radius: max(var(--khouri-radius, 6px), 18px);
}
.wp-block-image.is-style-khouri-shadow img {
	box-shadow: 0 18px 45px rgba(16, 24, 40, .16);
}
.wp-block-table.is-style-khouri-striped tbody tr:nth-child(even) {
	background: var(--khouri-surface, var(--wp--preset--color--surface, #f6f7f9));
}
.wp-block-list.is-style-khouri-checks {
	list-style: none;
	padding-left: 0;
}
.wp-block-list.is-style-khouri-checks > li {
	position: relative;
	padding-left: 1.75rem;
	margin-block: .45rem;
}
.wp-block-list.is-style-khouri-checks > li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--khouri-accent, var(--wp--preset--color--accent, #2457d6));
	font-weight: 800;
}
.wp-block-button.is-style-khouri-ghost .wp-block-button__link {
	border: 1px solid currentColor;
	background: transparent;
	color: var(--khouri-accent, var(--wp--preset--color--accent, #2457d6));
}
.wp-block-button.is-style-khouri-ghost .wp-block-button__link:hover {
	background: var(--khouri-accent, var(--wp--preset--color--accent, #2457d6));
	color: #fff;
}

/* SEO-plugin breadcrumb presentation only; no SEO data is generated by KHOURI. */
.yoast-breadcrumb,
.rank-math-breadcrumb,
.aioseo-breadcrumbs,
.seopress-breadcrumbs {
	margin-bottom: 1.25rem;
	color: var(--khouri-muted, var(--wp--preset--color--muted, #667085));
	font-size: .9rem;
}

/* Builder-neutral page layouts. */
.khouri-template-full-width .site-main,
.khouri-builder-content {
	width: 100%;
	max-width: none;
}
.khouri-builder-content > .entry-content,
.elementor-page .entry-content,
.fl-builder .entry-content {
	max-width: none;
	margin: 0;
}

/* Explicit KHOURI full-width templates always allow wide/full blocks. */
.khouri-template-full-width .entry-content > .alignwide,
.khouri-builder-canvas .entry-content > .alignwide {
	width: min(calc(100vw - (var(--khouri-site-padding, 24px) * 2)), var(--khouri-container, 1200px));
	max-width: none;
	margin-inline: calc(50% - min(50vw - var(--khouri-site-padding, 24px), var(--khouri-container, 1200px) / 2));
}
.khouri-template-full-width .entry-content > .alignfull,
.khouri-builder-canvas .entry-content > .alignfull {
	width: 100vw;
	max-width: none;
	margin-inline: calc(50% - 50vw);
}
