/* ===================================
   Monozukuriya - Custom Styles
   =================================== */

/* --- Global --- */
html {
	scroll-behavior: smooth;
}

body {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* --- Hero Section --- */
.monozukuriya-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #1A1A1A 0%, #2C2C2C 50%, #1A1A1A 100%);
}

.monozukuriya-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background:
		radial-gradient(circle at 20% 50%, rgba(139, 105, 20, 0.08) 0%, transparent 50%),
		radial-gradient(circle at 80% 50%, rgba(212, 168, 67, 0.06) 0%, transparent 50%);
	pointer-events: none;
}

/* --- Section Transitions --- */
.monozukuriya-about,
.monozukuriya-services,
.monozukuriya-works,
.monozukuriya-company,
.monozukuriya-contact {
	position: relative;
}

/* --- Work Cards --- */
.monozukuriya-work-card {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	overflow: hidden;
}

.monozukuriya-work-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

/* --- Service Cards --- */
.monozukuriya-services .wp-block-column > .wp-block-group {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.monozukuriya-services .wp-block-column > .wp-block-group:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06);
}

/* --- Buttons --- */
.wp-block-button__link {
	transition: all 0.3s ease;
}

.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(139, 105, 20, 0.3);
}

/* --- Footer Links --- */
footer a,
.wp-block-template-part:last-child a {
	text-decoration: none;
	transition: color 0.3s ease;
}

footer a:hover,
.wp-block-template-part:last-child a:hover {
	color: var(--wp--preset--color--accent-2) !important;
}

/* --- Separator --- */
.wp-block-separator.is-style-wide {
	width: 60px;
	border-bottom-width: 2px;
}

/* --- Contact Form 7 --- */
.monozukuriya-contact .wpcf7 {
	max-width: 100%;
}

.monozukuriya-contact .wpcf7-form p {
	margin-bottom: 24px;
	font-size: 0.9rem;
}

.monozukuriya-contact .wpcf7-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	color: #333;
	font-size: 0.9rem;
}

.monozukuriya-contact .wpcf7-form-control:not([type="submit"]) {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 0.95rem;
	font-family: inherit;
	background: #fff;
	box-sizing: border-box;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.monozukuriya-contact .wpcf7-form-control:not([type="submit"]):focus {
	outline: none;
	border-color: #b58c64;
	box-shadow: 0 0 0 3px rgba(181, 140, 100, 0.15);
}

.monozukuriya-contact .wpcf7-form-control.wpcf7-textarea {
	min-height: 160px;
	resize: vertical;
}

.monozukuriya-contact .wpcf7-form-control.wpcf7-select {
	appearance: auto;
	cursor: pointer;
}

.monozukuriya-contact .wpcf7-form input[type="submit"] {
	display: inline-block;
	background: #b58c64;
	color: #fff;
	border: none;
	padding: 16px 50px;
	font-size: 1rem;
	font-weight: 600;
	font-family: inherit;
	letter-spacing: 0.1em;
	border-radius: 2px;
	cursor: pointer;
	transition: all 0.3s ease;
}

.monozukuriya-contact .wpcf7-form input[type="submit"]:hover {
	background: #9a7550;
	transform: translateY(-2px);
	box-shadow: 0 4px 15px rgba(181, 140, 100, 0.3);
}

.monozukuriya-contact .wpcf7-form p:last-child {
	text-align: center;
	margin-top: 32px;
	margin-bottom: 0;
}

.monozukuriya-contact .wpcf7-not-valid-tip {
	color: #c0392b;
	font-size: 0.8rem;
	margin-top: 6px;
}

.monozukuriya-contact .wpcf7-response-output {
	margin: 24px 0 0;
	padding: 16px;
	border-radius: 4px;
	font-size: 0.9rem;
	text-align: center;
}

.monozukuriya-contact .wpcf7-mail-sent-ok {
	background: #d4edda;
	border-color: #c3e6cb;
	color: #155724;
}

.monozukuriya-contact .wpcf7-validation-errors {
	background: #fff3cd;
	border-color: #ffc107;
	color: #856404;
}

/* --- Responsive --- */
@media (max-width: 781px) {
	.monozukuriya-hero h1 {
		font-size: 2rem !important;
	}

	.monozukuriya-about .wp-block-columns,
	.monozukuriya-works .wp-block-columns {
		gap: 30px;
	}

	.monozukuriya-company .wp-block-group[style*="flex-basis"] {
		flex-basis: 100% !important;
	}
}

@media (max-width: 600px) {
	.monozukuriya-hero {
		min-height: 80vh !important;
	}

	.monozukuriya-hero h1 {
		font-size: 1.8rem !important;
	}

	.monozukuriya-services .wp-block-columns {
		flex-direction: column;
	}
}
