/*
Theme Name: Versity
Theme URI: https://versity.jp
Author: Versity
Author URI: https://versity.jp
Description: Precision Engineering Lab — Block theme (FSE) with theme.json, Customizer options, and Elementor-built main content. Based on the Versity design system.
Requires at least: 5.9
Tested up to: 6.9
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: versity
Tags: custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, block-patterns, translation-ready, block-styles, wide-blocks, accessibility-ready, blog, portfolio
*/

/* --------------------------------------------------------------------------
   CSS variables (Customizer overrides in head via wp_add_inline_style)
   -------------------------------------------------------------------------- */
:root {
	--versity-accent: #00AEEF;
	--versity-bg: #F2F2F2;
	--versity-text: #000000;
}

body {
	background-color: var(--versity-bg);
	color: var(--versity-text);
	font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif;
	letter-spacing: -0.02em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Typography classes (from index-combo) */
.mono { font-family: 'IBM Plex Mono', ui-monospace, monospace; }
.outfit { font-family: 'Outfit', sans-serif; }
.bebas { font-family: 'Bebas Neue', cursive; }

.vertical-text {
	writing-mode: vertical-rl;
	text-orientation: mixed;
}

.outline-text {
	color: transparent;
	-webkit-text-stroke: 1px rgba(255,255,255,0.2);
}

.skew-mask {
	clip-path: polygon(10% 0%, 100% 0%, 90% 100%, 0% 100%);
}

.border-technical { border: 0.5px solid rgba(0,0,0,0.1); }

.reveal-container {
	position: relative;
	overflow: hidden;
}
.reveal-overlay {
	position: absolute;
	inset: 0;
	background: var(--versity-accent);
	transform: translateX(-101%);
	transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1);
	z-index: 10;
}
.reveal-container:hover .reveal-overlay {
	transform: translateX(101%);
}

.scroll-line {
	position: fixed;
	left: 50%;
	top: 0;
	width: 1px;
	height: 100vh;
	background: rgba(0,0,0,0.05);
	z-index: -1;
}

.mega-text {
	font-size: clamp(4rem, 15vw, 20rem);
	line-height: 0.8;
	font-weight: 900;
	text-transform: uppercase;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--versity-bg); }
::-webkit-scrollbar-thumb { background: var(--versity-text); }

/* Template parts: no extra wrapper padding (match original layout) */
.wp-site-blocks > .wp-block-template-part {
	padding: 0;
	max-width: none;
}

/* Main content area: Elementor + block editor */
.site-main {
	outline: none;
}
.site-main .elementor-section.elementor-section-boxed > .elementor-container {
	max-width: 100%;
}
/* Align block editor content with theme */
.wp-block-group.alignfull,
.entry-content > .alignfull {
	max-width: none;
}

/*
 * Entry content wrapper padding (block editor global padding).
 * Our Elementor sections already define their own padding (p-6 / md:p-20),
 * so keep the wrapper neutral to match the original HTML layout.
 */
.entry-content.wp-block-post-content.has-global-padding {
	padding-left: 0;
	padding-right: 0;
}

.footer-wrapper .versity-newsletter + p {
	display: none;
}

.entry-content {
	max-width: 100vw;
	overflow-x: hidden;
}

@media (min-width: 768px) {
	:root :where(.is-layout-flow) > .mt-10:first-child {
		margin-top: 2.5rem;
	}

	:root :where(.is-layout-flow) > .mt-0 {
		margin-top: 0;
		margin-block-start: 0;
	}
}