/* =========================================================
   Native page-building blocks (assets/js/custom-blocks.js).
   Self-contained: works on any install of this theme, with
   no dependency on any plugin or leftover generated CSS.
   Uses the surface/border/text tokens from style.css so every
   block below already adapts to dark mode automatically.
   ========================================================= */

/* ---------- Section (essential-blocks/wrapper) ---------- */
.wp-block-essential-blocks-wrapper .eb-wrapper-inner-blocks {
	max-width: 100%;
}
.wp-block-essential-blocks-wrapper .eb-wrapper-align-center { margin-left: auto; margin-right: auto; }
.wp-block-essential-blocks-wrapper .eb-wrapper-align-right { margin-left: auto; }

/* ---------- Info Box (uagb/info-box) ---------- */
.uagb-infobox__content-wrap { position: relative; width: 100%; word-break: break-word; }
.uagb-ifb-content { width: 100%; }
.uagb-infobox-icon-left-title .uagb-ifb-left-title-image,
.uagb-infobox-icon-right-title .uagb-ifb-right-title-image {
	display: flex;
	align-items: center;
}
.uagb-infobox-image-valign-top .uagb-ifb-left-title-image { align-items: flex-start; }
.uagb-infobox-image-valign-bottom .uagb-ifb-left-title-image { align-items: flex-end; }
.uagb-infobox-left .uagb-ifb-content { justify-content: flex-start; text-align: left; }
.uagb-infobox-center .uagb-ifb-content { justify-content: center; text-align: center; }
.uagb-infobox-right .uagb-ifb-content { justify-content: flex-end; text-align: right; }
.uagb-ifb-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	margin-right: 10px;
	flex-shrink: 0;
	color: var(--ust-color-topbar);
}
.uagb-infobox-icon-right-title .uagb-ifb-icon-wrap { margin-right: 0; margin-left: 10px; order: 2; }
.uagb-ifb-icon-wrap svg { width: 20px; height: 20px; fill: currentColor; }
.uagb-ifb-title-wrap { flex-grow: 1; }
.uagb-ifb-title { margin: 0; }
.uagb-ifb-desc { margin-top: .4em; }
.uagb-ifb-desc p:last-child { margin-bottom: 0; }

/* ---------- Icon List (uagb/icon-list) ---------- */
.uagb-icon-list__wrap {
	display: flex;
	flex-direction: column;
	gap: .6em;
}
.wp-block-uagb-icon-list-child {
	display: flex;
	align-items: center;
	gap: 10px;
}
.uagb-icon-list__source-wrap {
	display: inline-flex;
	flex-shrink: 0;
	line-height: 0;
	color: var(--ust-icon-list-icon-color, var(--ust-color-topbar));
}
.uagb-icon-list__source-wrap svg { width: 18px; height: 18px; fill: currentColor; }
.uagb-icon-list__label { color: var(--ust-icon-list-label-color, inherit); }

/* ---------- Tabs (essential-blocks/advanced-tabs + essential-blocks/tab) ---------- */
.eb-advanced-tabs-wrapper { display: flex; flex-direction: column; gap: 0; }
.eb-tabs-nav ul.tabTitles {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 -1px;
	padding: 0;
	border-bottom: 1px solid var(--ust-surface-border);
}
.eb-tabs-nav ul.tabTitles li {
	cursor: pointer;
	padding: 10px 18px;
	border: 1px solid transparent;
	border-bottom: none;
	border-radius: var(--ust-radius) var(--ust-radius) 0 0;
	background: var(--ust-surface-2);
	color: var(--ust-surface-text-muted);
	margin-right: 4px;
}
.eb-tabs-nav ul.tabTitles li .tab-title-text { margin: 0; font-size: .95rem; font-weight: 600; }
.eb-tabs-nav ul.tabTitles li.active {
	background: var(--ust-surface);
	color: var(--ust-surface-text);
	border-color: var(--ust-surface-border);
}
.eb-tabs-contents {
	background: var(--ust-surface);
	border: 1px solid var(--ust-surface-border);
	border-top: none;
	padding: 20px;
	color: var(--ust-surface-text);
}
.eb-tabs-contents .eb-tab-wrapper { display: none; }
.eb-tabs-contents .eb-tab-wrapper:first-child { display: block; }
.ust-tabs-editor-hint { font-size: .85rem; font-style: italic; color: var(--ust-surface-text-muted); margin: 0 0 10px; }
.ust-tab-title-input { margin-bottom: 10px; }
@media (max-width: 600px) {
	.eb-tabs-nav ul.tabTitles { flex-direction: column; border-bottom: none; }
	.eb-tabs-nav ul.tabTitles li {
		border-radius: var(--ust-radius);
		margin-right: 0;
		margin-bottom: 4px;
		border-color: var(--ust-surface-border);
	}
	.eb-tabs-contents { border-top: 1px solid var(--ust-surface-border); }
}

/* ---------- Slider (essential-blocks/slider) ---------- */
.eb-slider-wrapper { position: relative; overflow: hidden; border-radius: var(--ust-radius); }
.eb-slider-init { display: flex; }
.eb-slider-item { flex-shrink: 0; }
.eb-slider-item img { width: 100%; height: auto; display: block; }
.eb-slider-wrapper .components-button.is-secondary { margin-top: 10px; }

/* ---------- Google Map editor placeholder ---------- */
.ust-google-map-editor__placeholder {
	background: var(--ust-surface-2);
	color: var(--ust-surface-text-muted);
	border: 1px dashed var(--ust-surface-border);
	border-radius: var(--ust-radius);
	padding: 2em;
	text-align: center;
	margin: 0;
}

/* ---------- Video background section ---------- */
.ust-video-bg { position: relative; overflow: hidden; display: flex; align-items: center; background-size: cover; background-position: center; }
.ust-video-bg__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (prefers-reduced-motion: reduce) {
	.ust-video-bg__video { display: none; }
}
.ust-video-bg__overlay { position: absolute; inset: 0; }
.ust-video-bg__content { position: relative; z-index: 1; width: 100%; padding: 60px 24px; }
