/*
Theme Name:  ONEstar
Theme URI:   https://onesta.co.jp
Author:      ONEsta LLC
Author URI:  https://onesta.co.jp
Description: ONEsta LLC 製のブロックテーマ。サイト固有の設計を重ねるための軽量な土台。
Version:     1.5.1
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
License:     GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: onestar
Tags:        block-patterns, full-site-editing, custom-colors, custom-fonts, wide-blocks
*/

:root {
	--onestar-content-max: var(--wp--style--global--content-size);
	--onestar-wide-max: var(--wp--style--global--wide-size);
	--onestar-narrow-max: 48rem;
	--onestar-gutter: clamp(0.75rem, 2vi, var(--wp--preset--spacing--40, 1.5rem));
	--onestar-section-padding-block: clamp(var(--wp--preset--spacing--40, 1rem), 4vi, var(--wp--preset--spacing--60, 4rem));
	--onestar-section-padding-inline: var(--onestar-gutter);
	--onestar-border-color: var(--wp--preset--color--neutral-200);
	--onestar-card-radius: 0.25rem;
}

/* Public alignment bridge: the server adds this class to rendered full-width roots only. */
:where(.onestarViewportFull) {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: none;
}

:where(.onestarViewportFull.wp-block-image) > img {
	display: block;
	inline-size: 100%;
	block-size: auto;
}

@supports (inline-size: 100dvi) {
	.is-layout-constrained > .onestarViewportFull {
		inline-size: 100dvi;
		max-inline-size: none;
		margin-inline: calc(50% - 50dvi);
	}
}

@supports (scrollbar-gutter: stable) {
	:root {
		scrollbar-gutter: stable;
		container-name: onestarViewport;
		container-type: inline-size;
	}

	@container onestarViewport (inline-size > 0px) {
		.is-layout-constrained > .onestarViewportFull {
			inline-size: 100cqi;
			margin-inline: calc(50% - 50cqi);
		}
	}
}

/* WordPress runtime context. */
.admin-bar {
	--onestar-admin-bar-offset: 46px;
}
@media (min-width: 783px) {
.admin-bar {
		--onestar-admin-bar-offset: 32px;
}
	}

/* Page shell. Compatibility classes stay in the same zero-specificity root. */
:where(
	.onestarSiteHeader, .onestar-site-header,
	.onestarSiteFooter, .onestar-site-footer,
	.onestarTemplateMain, .onestar-template-main,
	.onestarPatternHeader, .onestar-pattern-header,
	.onestarPatternHeaderBar, .onestar-pattern-header-bar,
	.onestarPatternFooter, .onestar-pattern-footer,
	.onestarPatternSection, .onestar-pattern-section,
	.onestarPatternPage, .onestar-pattern-page
) {
	box-sizing: border-box;
	inline-size: 100%;
	padding-inline: var(--onestar-gutter);
}
:where(.onestarSiteHeader,.onestar-site-header,.onestarSiteFooter,.onestar-site-footer,.onestarTemplateMain,.onestar-template-main,.onestarPatternHeader,.onestar-pattern-header,.onestarPatternHeaderBar,.onestar-pattern-header-bar,.onestarPatternFooter,.onestar-pattern-footer,.onestarPatternSection,.onestar-pattern-section,.onestarPatternPage,.onestar-pattern-page)  > :first-child {
		margin-block-start: 0;
	}

:where(.onestarSiteHeader, .onestar-site-header),
:where(.onestarPatternHeader, .onestar-pattern-header) {
	align-items: flex-start;
	padding-block: var(--wp--preset--spacing--20);
}

@media (width >= 782px) {

:where(.onestarSiteHeader, .onestar-site-header),
:where(.onestarPatternHeader, .onestar-pattern-header) {
		align-items: center;
}
	}

:where(.onestarSiteHeader, .onestar-site-header) {
	position: relative;
	z-index: 10;
}

:where(.onestarSiteFooter, .onestar-site-footer),
:where(.onestarPatternFooter, .onestar-pattern-footer) {
	padding-block: var(--wp--preset--spacing--40);
	border-block-start: 1px solid var(--onestar-border-color);
}

:where(.onestarSiteFooterCredit, .onestar-site-footer__credit) {
	gap: 0.25em;
	color: var(--wp--preset--color--neutral-600);
	font-size: var(--wp--preset--font-size--small);
}

:where(.onestarSiteFooterCredit,.onestar-site-footer__credit) :where(p,.wp-block-site-title) {
		font-family: var(--wp--preset--font-family--body);
		font-size: inherit;
		font-weight: 400;
		line-height: inherit;
		margin: 0;
	}

:where(.onestarTemplateMain, .onestar-template-main) {
	padding-block: var(--wp--preset--spacing--40);
}

:where(.onestarTemplateMain,.onestar-template-main)  > :where(:not(.alignfull):not(.wp-block-post-content)) {
		inline-size: min(100%, var(--onestar-content-max));
		max-inline-size: var(--onestar-content-max);
		margin-inline: auto;
	}

:where(.onestarTemplateMain,.onestar-template-main)  > * + * {
		margin-block-start: var(--wp--preset--spacing--40);
	}

@media (width >= 782px) {

:where(.onestarTemplateMain, .onestar-template-main) {
		padding-block: var(--wp--preset--spacing--50);
}
	}

:where(.onestarTemplateMainFront, .onestar-template-main--front) {
	padding: 0;
}

:where(.onestarTemplateMainWide,.onestar-template-main--wide)  > :where(:not(.alignfull):not(.wp-block-post-content)) {
		inline-size: min(100%, var(--onestar-wide-max));
		max-inline-size: var(--onestar-wide-max);
	}

:where(.onestarTemplateMainCentered, .onestar-template-main--centered) {
	display: grid;
	min-block-size: 56vh;
	align-items: center;
}

:where(.onestarPageMain, .onestar-page-main) {
	padding-block-end: var(--wp--preset--spacing--60);
}

:where(.onestarPageTitle, .onestar-page-title) {
	margin-block-end: var(--wp--preset--spacing--50);
}

/* Template content components. */
:where(.onestarPostMeta, .onestar-post-meta),
:where(.onestarCommentMeta, .onestar-comment-meta) {
	gap: var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--neutral-600);
	font-size: var(--wp--preset--font-size--small);
}

:where(.onestarCommentMeta, .onestar-comment-meta) {
	gap: var(--wp--preset--spacing--10);
}

:where(.onestarPostNav, .onestar-post-nav) {
	gap: var(--wp--preset--spacing--30);
	padding-block-start: var(--wp--preset--spacing--40);
	border-block-start: 1px solid var(--onestar-border-color);
}

:where(.onestarTemplateSection, .onestar-template-section) {
	padding-block-start: var(--wp--preset--spacing--50);
}

:where(.onestarArchiveCard, .onestar-archive-card) {
	padding-block: var(--wp--preset--spacing--40);
	border-block-end: 1px solid var(--onestar-border-color);
}

:where(.onestarArchiveCard,.onestar-archive-card) :where(.wp-block-post-title,.wp-block-post-excerpt) {
		margin-block-start: var(--wp--preset--spacing--20);
	}

:where(.onestarArchiveCard, .onestar-archive-card):first-child {
	padding-block-start: 0;
}

:where(.onestarEmptyState, .onestar-empty-state) {
	text-align: center;
}

:where(.onestarEmptyState,.onestar-empty-state)  > * {
		margin-inline: auto;
	}

:where(.onestarSearchForm, .onestar-search-form) {
	max-inline-size: var(--onestar-narrow-max);
}

:where(.onestarSidebar, .onestar-sidebar) {
	padding: var(--wp--preset--spacing--30);
	border: 1px solid var(--onestar-border-color);
	border-radius: var(--onestar-card-radius);
	background: transparent;
}

:where(.onestarSidebar,.onestar-sidebar)  > * + * {
		margin-block-start: var(--wp--preset--spacing--30);
	}

:where(.onestarSidebarLayout, .onestar-sidebar-layout) {
	gap: var(--wp--preset--spacing--50);
}

:where(.onestarSidebarContent,.onestar-sidebar-content)  > * + * {
		margin-block-start: var(--wp--preset--spacing--40);
	}

@media (width >= 782px) {

:where(.onestarSidebarColumn, .onestar-sidebar-column) {
		position: sticky;
		inset-block-start: calc(var(--onestar-admin-bar-offset, 0px) + var(--wp--preset--spacing--40));
		align-self: flex-start;
}
	}

:where(.onestarCoverHero, .onestar-cover-hero) {
	min-block-size: 60vh;
}

/* Insertable pattern components. */
:where(.onestarPatternHeaderBar, .onestar-pattern-header-bar) {
	padding-block: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small);
}

:where(.onestarPatternHeaderCentered, .onestar-pattern-header--centered),
:where(.onestarPatternMobileMenu, .onestar-pattern-mobile-menu) {
	text-align: center;
}

:where(.onestarPatternHeaderActions, .onestar-pattern-header-actions) {
	gap: var(--wp--preset--spacing--20);
}

:where(.onestarPatternSection, .onestar-pattern-section),
:where(.onestarPatternPage, .onestar-pattern-page) {
	padding-block: var(--onestar-section-padding-block);
}

:is(:where(.onestarPatternSection,.onestar-pattern-section),:where(.onestarPatternPage,.onestar-pattern-page))  > :where(:not(.alignfull)) {
		inline-size: min(100%, var(--onestar-wide-max));
		max-inline-size: var(--onestar-wide-max);
		margin-inline: auto;
	}

:where(.onestarPatternSectionNarrow,.onestar-pattern-section--narrow)  > :where(:not(.alignfull)) {
		inline-size: min(100%, var(--onestar-narrow-max));
		max-inline-size: var(--onestar-narrow-max);
	}

:where(.onestarPatternHero, .onestar-pattern-hero) {
	box-sizing: border-box;
	inline-size: 100%;
	padding-inline: var(--onestar-gutter);
}

:where(.onestarPatternHeroSplit, .onestar-pattern-hero--split) {
	padding-block: var(--wp--preset--spacing--50);
}

@media (width >= 782px) {

:where(.onestarPatternHeroSplit, .onestar-pattern-hero--split) {
		padding-block: var(--wp--preset--spacing--60);
}
	}

:where(.onestarPatternHeroFullscreen, .onestar-pattern-hero--fullscreen) {
	min-block-size: 80svh;
}

:where(.onestarPatternCta, .onestar-pattern-cta) {
	text-align: center;
}

:where(.onestarPatternCtaSplit, .onestar-pattern-cta--split) {
	text-align: start;
}

:where(.onestarPatternCtaCover, .onestar-pattern-cta--cover) {
	min-block-size: 25rem;
}

:is(:where(.onestarPatternCardGrid,.onestar-pattern-card-grid),:where(.onestarPatternPricing,.onestar-pattern-pricing),:where(.onestarPatternTeam,.onestar-pattern-team),:where(.onestarPatternTestimonials,.onestar-pattern-testimonials)) .wp-block-columns {
		gap: var(--wp--preset--spacing--30);
	}

:is(:where(.onestarPatternCardGrid,.onestar-pattern-card-grid),:where(.onestarPatternPricing,.onestar-pattern-pricing),:where(.onestarPatternTeam,.onestar-pattern-team),:where(.onestarPatternTestimonials,.onestar-pattern-testimonials)) .wp-block-column > .wp-block-group {
		block-size: 100%;
		padding: var(--wp--preset--spacing--30);
		border: 1px solid var(--onestar-border-color);
		border-radius: var(--onestar-card-radius);
	}

:is(:where(.onestarPatternLogoCloud,.onestar-pattern-logo-cloud),:where(.onestarPatternStats,.onestar-pattern-stats)) .wp-block-columns {
		gap: var(--wp--preset--spacing--40);
	}

:where(.onestarPatternSectionInverse, .onestar-pattern-section--inverse) {
	color: var(--wp--preset--color--neutral-50);
}

:where(.onestarPatternMegaMenu, .onestar-pattern-mega-menu) {
	gap: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40);
}
