/**
 * Fit site and theme admin to browser width — no horizontal scroll.
 */
:root {
	--ilyt-vw: 100vw;
}

html {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	overflow-x: hidden;
	scrollbar-gutter: stable;
}

body {
	width: 100%;
	max-width: 100%;
	overflow-x: clip;
	overflow-x: hidden;
}

/* Public layout shells */
.ilyt-header,
.ilyt-header__inner,
.ilyt-header__top,
.ilyt-nav,
.ilyt-footer,
.ilyt-container,
main,
.site-content,
#primary,
#content {
	max-width: 100%;
	box-sizing: border-box;
}

.ilyt-header__top,
.ilyt-nav__list,
.ilyt-grid {
	min-width: 0;
}

/* Media and embeds */
iframe,
video,
embed,
object,
table,
pre,
.wp-block-embed,
.wp-block-image img {
	max-width: 100%;
}

/* WordPress admin (theme settings + general overflow) */
body.wp-admin #wpwrap,
body.wp-admin #wpcontent,
body.wp-admin #wpbody,
body.wp-admin #wpbody-content {
	max-width: 100%;
	overflow-x: clip;
	overflow-x: hidden;
}

.ilyt-settings-wrap,
.ilyt-settings-layout,
.ilyt-settings-content,
.ilyt-settings-form,
.ilyt-oauth-provider-block,
.ilyt-oauth-help,
.ilyt-oauth-help__body {
	max-width: 100%;
	box-sizing: border-box;
}

.ilyt-settings-layout {
	overflow-x: clip;
	overflow-x: hidden;
}

.ilyt-settings-content {
	overflow-x: clip;
	overflow-x: hidden;
}

.ilyt-oauth-help__callback-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.5rem;
	max-width: 100%;
}

.ilyt-oauth-help__callback-uri,
.ilyt-settings-content code,
.ilyt-settings-note code {
	overflow-wrap: anywhere;
	word-break: break-word;
	max-width: 100%;
}

.ilyt-settings-content table.widefat {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
}

/* Panels that used 100vw — bound to real viewport width */
.ilyt-modal__dialog--legal {
	width: min(66.666vw, calc(var(--ilyt-vw, 100vw) - 2rem));
}

.ilyt-toast-host {
	width: min(420px, calc(var(--ilyt-vw, 100vw) - 2rem));
}

@media (max-width: 768px) {
	.ilyt-header-search__panel {
		width: min(calc(var(--ilyt-vw, 100vw) - 2rem), 320px);
	}
}

.ilyt-chat-panel,
.ilyt-chat-fab-menu {
	max-width: calc(var(--ilyt-vw, 100vw) - 2rem);
}
