/*
Theme Name: ACD Theme 01
Theme URI: https://rogagency.net
Author: ACD Agency
Author URI: https://rogagency.net
Description: Block theme (FSE) cho ACD Agency - Site Editor, theme.json, templates va patterns.
Version: 1.4.7
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: acd-theme-01
Tags: full-site-editing, block-patterns, custom-logo, featured-images, blog, one-column
*/

/* Alias: component CSS dùng --color-* / --fs-* / --font-* như preview.
   Light lấy từ theme.json (Site Editor → Styles). Dark do brand.js remap. */
:root {
	--color-bg: var(--wp--preset--color--bg);
	--color-bg-subtle: var(--wp--preset--color--bg-subtle);
	--color-bg-elevated: var(--wp--preset--color--bg-elevated);
	--color-bg-inverse: var(--wp--preset--color--bg-inverse);
	--color-bg-glass: var(--wp--custom--color--bg-glass);
	--color-text: var(--wp--preset--color--text);
	--color-text-secondary: var(--wp--preset--color--text-secondary);
	--color-text-tertiary: var(--wp--preset--color--text-tertiary);
	--color-text-inverse: var(--wp--preset--color--text-inverse);
	--color-text-inverse-muted: var(--wp--custom--color--text-inverse-muted);
	--color-text-brand: var(--wp--preset--color--text-brand);
	--color-border: var(--wp--preset--color--border);
	--color-border-strong: var(--wp--preset--color--border-strong);
	--color-shadow: var(--wp--custom--shadow);
	--color-brand: var(--wp--preset--color--brand);
	--color-brand-hover: var(--wp--preset--color--brand-hover);
	--color-brand-muted: var(--wp--preset--color--brand-muted);
	--color-brand-subtle: var(--wp--custom--color--brand-subtle);
	--color-danger: var(--wp--preset--color--danger);
	--color-danger-bg: var(--wp--custom--color--danger-bg);
	--font-body: var(--wp--preset--font-family--body, "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif);
	--font-display: var(--wp--preset--font-family--display, "Quicksand", "Nunito", system-ui, sans-serif);
	--fs-body: var(--wp--preset--font-size--body);
	--fs-h1: var(--wp--preset--font-size--h-1);
	--fs-h2: var(--wp--preset--font-size--h-2);
	--fs-h3: var(--wp--preset--font-size--h-3);
	--fs-h4: var(--wp--preset--font-size--h-4);
	--space-block: var(--wp--preset--spacing--block);
	--space-section: var(--wp--preset--spacing--section);
	--radius: var(--wp--custom--radius);
	--pad: var(--wp--custom--pad);
	--pad-x: var(--wp--custom--pad-x);
	--container: var(--wp--custom--container);
	--layout-max: var(--wp--custom--layout-max);
	--content: var(--wp--custom--content);
	--content-max: var(--wp--custom--content-max);
	--color-hero-overlay: linear-gradient(180deg, rgba(28, 25, 23, 0.30) 0%, rgba(28, 25, 23, 0.84) 78%);
	--color-hero-base:
		radial-gradient(circle at 72% 18%, rgba(219, 183, 95, 0.40), transparent 45%),
		radial-gradient(circle at 18% 82%, rgba(205, 159, 64, 0.30), transparent 42%),
		linear-gradient(135deg, #292524, #0c0a09 55%, #1c1917);
	--body-bg: var(--wp--preset--color--bg);
}

body {
	background: var(--body-bg);
}

.wp-site-blocks {
	padding: 0;
	overflow: visible;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

/* Sticky header: FSE wraps chrome in .wp-block-template-part.
   That wrapper is only as tall as the bar, so sticky has nowhere to pin.
   display:contents makes .site-header a child of .wp-site-blocks (full page),
   matching preview chrome.js outerHTML inject. */
.wp-block-template-part:has(.site-header) {
	display: contents;
}

/* data-reveal uses transform; transform on the sticky element itself
   makes position:sticky behave like relative. Header stays visible. */
.site-header[data-reveal] {
	opacity: 1;
	transform: none;
}

.wp-site-blocks .site-main,
.wp-block-group.site-main {
	margin: 0;
	padding: 0;
	max-width: none;
}

.wp-block-group.site-main > * {
	margin-block: 0;
}

.wp-block-post-content,
.wp-block-post-content.entry-content {
	margin: 0;
	padding: 0;
	max-width: none;
	width: 100%;
}

.wp-block-post-content > .alignfull,
.wp-block-post-content > .wp-block-group,
.wp-block-post-content > .wp-block-html,
.wp-block-post-content > .wp-block-freeform {
	margin-block: 0;
	margin-inline: 0;
	width: 100%;
	max-width: none;
}

.wp-block-post-content .wp-block-heading,
.wp-block-post-content p {
	max-width: none;
}

.about-hero-copy > .wp-block-heading,
.about-hero-copy > p {
	margin-block-start: 0;
}
