/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
	text-decoration-thickness: 1px !important;
	text-underline-offset: .1em;
}

/* Focus styles */
:where(.wp-site-blocks *:focus) {
	outline-width: 2px;
	outline-style: solid;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
	margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
	outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
	text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
	display: block;
}

/* Mobile horizontal padding */
@media (max-width: 768px) {
	.mobile-padding-horizontal {
		padding-left: 15px !important;
		padding-right: 15px !important;
	}

	.mobile-padding-horizontal-40 {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	.mobile-padding-vertical {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	.mobile-font-size-large {
		font-size: 1.5rem !important;
	}

	.mobile-font-size-normal {
		font-size: 1.2rem !important;
	}

	.mobile-font-size-small {
		font-size: 1rem !important;
	}

	/* Mobile-only line breaks */
	.mb-line {
		display: block !important;
	}
	br.only-desktop {
		display: none !important;
	}

	/* Reduce top whitespace above 'Key Feature' on mobile */
	.wp-container-content-6388d5dc {
		flex-basis: 30px !important;
		height: 30px !important;
	}

	/* Stack point items (1,2,3) vertically on mobile */
	.wp-container-core-group-is-layout-cb46ffcb {
		flex-direction: column !important;
		align-items: center !important;
		gap: 16px !important;
	}
	.wp-container-core-group-is-layout-cb46ffcb .about-image {
		width: 100% !important;
		max-width: 520px;
	}
	.wp-container-core-group-is-layout-cb46ffcb .about-image img {
		width: 100% !important;
		height: auto !important;
	}
	
	/* Slightly enlarge the image above points on mobile */
	.wp-container-core-group-is-layout-23441af8 {
		overflow: hidden;
	}

	/* Center enlarged image by expanding figure and centering it */
	.wp-container-core-group-is-layout-23441af8 .about-image {
		/* 중앙 정렬 확대가 확실히 보이도록 transform 사용 */
		width: auto !important;
		max-width: none !important;
		margin-top: 20px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		transform: scale(1.2);
		transform-origin: center center;
	}
	
	.wp-container-core-group-is-layout-cb46ffcb {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	/* Reduce top whitespace above point 1 on mobile */
	.mobile-none {
		display: none !important;
	}

	.mobile-margin-bottom-60 {
		margin-bottom: 60px !important;
	}

	.mobile-padding-bottom-30 {
		padding-bottom: 30px !important;
	}

	.mobile-margin-top-120 {
		margin-top: 120px !important;
	}

	.mobile-margin-top-60 {
		margin-top: 60px !important;
	}

	.mobile-margin-top-10 {
		margin-top: 10px !important;
	}

	/* Swap desktop hero image to mobile one */
	.mockup-img img {
		content: url("/wp-content/uploads/2025/11/mockup-three.png") !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 60vh !important; /* cap height on mobile */
		aspect-ratio: auto !important;
		object-fit: contain !important;
	}

	/* Mobile: swap point images to uploads/point-img-00X.png */
	.point-img-001 img {
		content: url("/wp-content/uploads/2025/11/mobile-point-001.png") !important;
		width: 100% !important;
		height: auto !important;
		display: block !important;
	}
	.point-img-002 img {
		content: url("/wp-content/uploads/2025/11/mobile-point-002.png") !important;
		width: 100% !important;
		height: auto !important;
		display: block !important;
	}
	.point-img-003 img {
		content: url("/wp-content/uploads/2025/11/mobile-point-003.png") !important;
		width: 100% !important;
		height: auto !important;
		display: block !important;
	}

	/* Make point images square (1:1) and prevent stretching */
	.point-img-001,
	.point-img-002,
	.point-img-003 {
		width: 100% !important;
		aspect-ratio: 1 / 1 !important;
	}
	.point-img-001 img,
	.point-img-002 img,
	.point-img-003 img {
		width: 100% !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center !important;
	}
	/* If class is on the img itself, enforce square too */
	img.point-img-001,
	img.point-img-002,
	img.point-img-003 {
		width: 100% !important;
		aspect-ratio: 1 / 1 !important;
		height: 100% !important;
		object-fit: contain !important;
		object-position: center !important;
		display: block !important;
	}

	/* Prevent horizontal overflow on mobile */
	html, body {
		overflow-x: hidden !important;
	}
	.wp-site-blocks,
	.alignfull,
	.is-layout-constrained,
	.is-layout-flex,
	.is-layout-grid {
		overflow-x: hidden !important;
	}
	
	.mobile-footer {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}

	/* Footer layout fixes on mobile */
	.wp-container-core-group-is-layout-9a9777ff {
		flex-wrap: wrap !important;
		justify-content: center !important;
	}
	.wp-container-core-group-is-layout-12dd3699,
	.wp-container-core-group-is-layout-f1f2ed93 {
		width: 100% !important;
	}
	.wp-container-core-group-is-layout-6c531013 {
		flex-wrap: wrap !important;
		gap: 8px !important;
	}

	/* Footer font size on mobile */
	.wp-container-core-group-is-layout-9a9777ff p,
	.wp-container-core-group-is-layout-12dd3699 p,
	.wp-container-core-group-is-layout-f1f2ed93 p,
	.wp-container-core-group-is-layout-6c531013 p {
		font-size: 0.8rem !important;
	}
}

/* Home: remove tiny top gap */
body.home .wp-site-blocks {
	padding-top: 0 !important;
}
body.home .wp-site-blocks > *:first-child {
	margin-top: 0 !important;
}
body.home .wp-block-template-part > *:first-child {
	margin-top: 0 !important;
}
/* Hard reset: remove any top margin on first visible block on Home */
body.home .wp-site-blocks > * {
	margin-top: 0 !important;
}
body.home .wp-site-blocks .wp-block-group:first-of-type {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Home top hero: full-bleed (edge-to-edge) */
@media (min-width: 768px) {
	body.home .wp-block-template-part:first-of-type .wp-block-group:first-of-type .top-img:first-of-type {
		width: 100vw !important;
		max-width: none !important;
		/* full-bleed without creating horizontal scrollbars */
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		transform: none !important;
	}
	body.home .wp-block-template-part:first-of-type .wp-block-group:first-of-type .top-img:first-of-type img {
		width: 100vw !important;
		max-width: none !important;
		height: auto !important;
	}
	/* Desktop: prevent accidental horizontal scroll */
	html, body,
	.wp-site-blocks,
	.alignfull,
	.is-layout-constrained,
	.is-layout-flex,
	.is-layout-grid {
		overflow-x: hidden !important;
	}
}


/* Force-remove admin bar top offset (when logged in) */
html {
	margin-top: 0 !important;
}

/* Ensure Home main group has no top margin */
body.home main.wp-block-group {
	margin-top: 0 !important;
}

/* Also strip top spacing from the first header template part and its first group */
body.home .wp-site-blocks {
	--wp--style--root--padding-top: 0 !important;
}
body.home .wp-site-blocks > .wp-block-template-part:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
body.home .wp-site-blocks > .wp-block-template-part:first-child .wp-block-group:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}