/*
Theme Name: Suede
Theme URI: https://feicode.com/WenPai-org/suede
Author: Brian Gardner (remodel: WenPai-org)
Author URI: https://feicode.com/WenPai-org/suede
Description: A refined approach to design centered on authority and presence.
Version: 0.4.1-wpcy.16
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Update URI: false
Text Domain: suede
Tags: block-patterns, block-styles, custom-colors, custom-logo, editor-style, full-site-editing, one-column, two-columns, wide-blocks
*/



/* Powder compat font sizes (wpcy fluid) */
:root {
	--wp--preset--font-size--tiny: 14px;
	--wp--custom--font-weight--thin: 100;
	--wp--custom--font-weight--extra-light: 200;
	--wp--custom--font-weight--light: 300;
	--wp--custom--font-weight--regular: 400;
	--wp--custom--font-weight--medium: 500;
	--wp--custom--font-weight--semi-bold: 600;
	--wp--custom--font-weight--bold: 700;
	--wp--custom--font-weight--extra-bold: 800;
	--wp--custom--font-weight--black: 900;
}

/* Kill Suede uppercase/tracking leftovers on buttons if any cached */
.wp-element-button, .wp-block-button__link {
	text-transform: none;
	letter-spacing: normal;
}


/* Powder compat spacing — match Powder style.css legacy clamps (section rhythm).
   theme.json may emit button-scale named sizes (10/15/20/30/40) in global-styles;
   these :root rules load after and win on the frontend, same as Powder on wpcy.com. */
:root {
	--wp--preset--spacing--x-small: clamp(10px, 2vw, 20px);
	--wp--preset--spacing--small: clamp(30px, 4vw, 40px);
	--wp--preset--spacing--medium: clamp(40px, 6vw, 60px);
	--wp--preset--spacing--large: clamp(50px, 8vw, 80px);
	--wp--preset--spacing--x-large: clamp(60px, 10vw, 100px);
	--wp--preset--shadow--light: 0 0 10px rgb(10, 10, 10, 0.1);
}

/* Base
---------------------------------------- */

:root {
	--suede-motion-distance: 30px;
	--suede-motion-scale: 1.05;
	--suede-motion-ease: ease-out;
	--suede-motion-fast: 0.25s;
	--suede-motion-slow: 0.5s;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

b,
strong {
	font-weight: 600;
}

a,
button,
.wp-element-button {
	transition: background-color var(--suede-motion-fast) var(--suede-motion-ease),
				color var(--suede-motion-fast) var(--suede-motion-ease);
}

/* Forms
---------------------------------------- */

input,
select,
textarea {
	box-sizing: border-box;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: var(--wp--custom--line-height--medium);
	width: 100%;
}

input:not([type="submit"]):focus,
textarea:focus {
	border-color: var(--wp--preset--color--accent);
	outline: 1px solid var(--wp--preset--color--accent);
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

::placeholder {
	color: inherit;
	font-size: var(--wp--preset--font-size--x-small);
	opacity: 0.5;
}

/* Blocks
---------------------------------------- */

/* Heading, Paragraph, Post Excerpt, Post Title */

.wp-block-heading.is-style-balanced,
.wp-block-paragraph.is-style-balanced,
.wp-block-post-excerpt.is-style-balanced,
.wp-block-post-title.is-style-balanced {
	text-wrap: balance;
}

/* Cover, Image, Post Featured Image */

.wp-block-cover.is-style-zoom,
.wp-block-image.is-style-zoom,
.wp-block-post-featured-image.is-style-zoom {
	overflow: hidden;
}

.wp-block-cover.is-style-zoom img,
.wp-block-image.is-style-zoom img,
.wp-block-post-featured-image.is-style-zoom img {
	transition: transform var(--suede-motion-slow) var(--suede-motion-ease);
}

.wp-block-cover.is-style-zoom:hover img,
.wp-block-image.is-style-zoom:hover img,
.wp-block-post-featured-image.is-style-zoom:hover img {
	transform: scale(var(--suede-motion-scale));
}

/* List */

.wp-block-list.is-style-no-style {
	list-style-type: none;
	padding-left: 0;
}

/* Navigation */

.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close {
	border: 1px solid currentColor;
	padding: 2px;
}

/* Navigation Submenu */

.wp-block-navigation .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--black) !important;
	border-color: var(--wp--preset--color--white-15) !important;
	color: var(--wp--preset--color--white) !important;
	min-width: 180px !important;
	padding: 10px !important;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 2px 5px !important;
}

/* Separator */

.wp-block-separator.is-style-extended {
	width: 180px;
}

.wp-block-separator.is-style-short {
	width: 40px;
}

/* Social Links */

.wp-block-social-links.is-style-outline li.wp-block-social-link {
	background-color: transparent;
	border: 1px solid currentColor;
	color: currentColor;
}

.wp-block-social-links.is-style-square .wp-block-social-link {
	border-radius: 0;
}

/* Utilities
---------------------------------------- */

/* Height */

.full-height {
	height: 100%;
}

/* Overflow */

.overflow-hidden {
	overflow: hidden;
}

/* Position */

.position-fixed,
.is-style-position-fixed {
	position: fixed;
}

.position-relative,
.is-style-position-relative {
	position: relative;
}

/* Underline */

.no-underline {
	text-decoration: none;
}

/* Wrap */

.no-wrap {
	white-space: nowrap;
}

/* Z-index — Powder content uses is-style-* class names */

.z-index-negative,
.is-style-negative-zindex {
	z-index: -99;
}

.z-index-positive,
.is-style-positive-zindex {
	z-index: 99;
}

/* Media Queries
---------------------------------------- */

@media (min-width: 600px) {

	/* Header */

	.scroll-reveal .site-header {
		position: sticky;
		top: 0;
		transition: transform var(--suede-motion-slow) var(--suede-motion-ease);
		z-index: 1000;
	}

	.scroll-reveal .site-header:has(.no-scroll-reveal) {
		position: static;
		transform: none;
		transition: none;
	}

	.scroll-reveal body.scroll-down .site-header {
		transform: translateY(-100%);
	}

	.scroll-reveal body.scroll-up .site-header {
		transform: translateY(0);
	}

}

@media (min-width: 600px) and (prefers-reduced-motion: reduce) {

	.scroll-reveal .site-header {
		transform: none !important;
		transition: none !important;
	}

}

@media (max-width: 782px) {

	/* Columns */

	.wp-block-columns.is-style-column-reverse {
		flex-direction: column-reverse;
	}

}

/* Powder compat shadow + section styles */

/* Powder compat shadow + section styles */
.wp-block-group.is-style-shadow-light {
	box-shadow: var(--wp--preset--shadow--light);
}
.wp-block-group.is-style-shadow-faint {
	box-shadow: var(--wp--preset--shadow--faint);
}

/* wpcy selection */
::selection {
	background: #03d537;
	color: #fff;
}


/* Headings: readable by default. 玄宗 only hero/display (cover .wpcy-title / xx-large).
   English display: Expletus Sans (incl. legacy coco-gothic class). */
body h1,
body h2,
h3,
h4,
h5,
h6,
.wp-block-heading {
	font-family: "Expletus Sans", wenfeng-syhtcjk, Outfit, sans-serif !important;
}
.wp-block-cover h1.wpcy-title:not([class*="-font-family"]),
.wp-block-cover h2.wpcy-title:not([class*="-font-family"]),
.wp-block-cover .wp-block-heading.wpcy-title:not([class*="-font-family"]),
.wpcy-title.has-xx-large-font-size:not([class*="-font-family"]) {
	font-family: "wenfeng-xxzt", "Expletus Sans", sans-serif !important;
}
.wp-block-cover .has-expletus-sans-font-family,
.wp-block-cover .has-coco-gothic-font-family,
.has-expletus-sans-font-family,
.has-coco-gothic-font-family {
	font-family: "Expletus Sans", system-ui, sans-serif !important;
	font-style: italic;
	font-weight: 700;
}
.wp-block-heading.has-outfit-font-family,
.has-outfit-font-family {
	font-family: Outfit, sans-serif !important;
}


/* wpcy header + mobile nav (class optional on FSE header; keep for sticky/overlay markup) */
.wpcy-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.wpcy-site-header__inner {
	gap: 16px;
	min-height: 52px;
}
.wpcy-primary-nav .wp-block-navigation-item a {
	text-decoration: none;
}
.wpcy-primary-nav .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	text-decoration: none;
}
/* Hamburger (open control) */
.wpcy-primary-nav .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--base, #fff);
	padding: 8px;
	border-radius: 8px;
}
.wpcy-primary-nav .wp-block-navigation__responsive-container-open:hover {
	background: rgba(255, 255, 255, 0.08);
}
/* Mobile modal panel */
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--contrast, #0a0a0a);
	padding: 20px 20px 40px;
}
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 48px;
	align-items: stretch !important;
}
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 4px !important;
	width: 100%;
}
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
}
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content,
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	font-size: 1.25rem;
	line-height: 1.35;
	padding: 14px 4px;
	color: var(--wp--preset--color--base, #fff);
}
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding-left: 12px;
	border-left: 2px solid var(--wp--preset--color--primary, #02b930);
	margin: 4px 0 8px;
}
.wpcy-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1rem;
	opacity: 0.9;
	padding: 10px 4px;
}
.wpcy-primary-nav .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--base, #fff);
}
/* Overlay template part (if used) */
.wpcy-nav-overlay .wpcy-nav-overlay__menu .wp-block-navigation-item a {
	padding: 12px 0;
	text-decoration: none;
}
@media (max-width: 781px) {
	.wpcy-header-cta {
		display: none !important;
	}
	.wpcy-site-header {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}
@media (min-width: 782px) {
	.wpcy-primary-nav .wp-block-navigation__responsive-container-open {
		display: none;
	}
}


/* Native core/icon — keep former Icon Block look */
.wp-block-icon {
	line-height: 0;
}
.wp-block-icon svg {
	display: block;
	transition: transform 0.1s ease-in-out;
}
.wp-block-icon:hover svg {
	transform: scale(1.1);
}
.wp-block-icon svg.is-flip-horizontal {
	transform: scaleX(-1);
}
.wp-block-icon svg.is-flip-vertical {
	transform: scaleY(-1);
}
.wp-block-icon:hover svg.is-flip-horizontal {
	transform: scaleX(-1) scale(1.1);
}
.wp-block-icon:hover svg.is-flip-vertical {
	transform: scaleY(-1) scale(1.1);
}

/* Was Block Visibility hideOnScreenSize.small (breakpoint medium 768px) */
@media (max-width: 767.98px) {
	.wpcy-hide-on-small {
		display: none !important;
	}
}


