/*!
Theme Name: Kadence Child
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* Theme customization starts here
-------------------------------------------------------------- */

/* Contact Form 7: Magzhan museum contact form */
.wpcf7 .mz-contact-form {
	--mz-form-border: color-mix(in srgb, var(--global-palette7) 78%, var(--global-palette6));
	--mz-form-shadow: 0 14px 34px rgba(23, 19, 15, 0.06);
	--mz-focus-shadow: 0 8px 18px rgba(123, 37, 49, 0.1), 0 0 0 3px rgba(184, 138, 77, 0.14);
	position: relative;
	isolation: isolate;
	display: grid;
	gap: 0.75rem;
	width: 100%;
	padding: 0.9rem;
	overflow: hidden;
	color: var(--global-palette3);
	background:
		linear-gradient(135deg, rgba(255, 253, 248, 0.96), rgba(247, 241, 230, 0.88)),
		var(--global-palette9);
	border: 1px solid var(--mz-form-border);
	border-radius: 8px;
	box-shadow: var(--mz-form-shadow);
}

.wpcf7 .mz-contact-form::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--global-palette1), var(--global-palette6), var(--global-palette2));
}

.wpcf7 .mz-contact-form::after {
	content: "";
	position: absolute;
	z-index: -1;
	top: -26%;
	right: -30%;
	width: 13rem;
	aspect-ratio: 1;
	pointer-events: none;
	background: radial-gradient(circle, rgba(217, 164, 65, 0.18), rgba(217, 164, 65, 0) 66%);
	transform: rotate(-10deg);
}

.wpcf7 .mz-contact-form p {
	margin: 0;
}

.wpcf7 .mz-contact-form__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

.wpcf7 .mz-field-group {
	display: grid;
	gap: 0.35rem;
	margin: 0;
}

.wpcf7 .mz-field-label {
	color: var(--global-palette5);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.25;
	text-transform: uppercase;
}

.wpcf7 .mz-field,
.wpcf7 .mz-contact-form .wpcf7-form-control:not(.wpcf7-submit) {
	width: 100%;
	min-height: 2.65rem;
	padding: 0.68rem 0.75rem;
	color: var(--global-palette3);
	font-size: 0.9rem;
	line-height: 1.35;
	background:
		linear-gradient(180deg, rgba(255, 253, 248, 0.98), rgba(255, 253, 248, 0.9)),
		var(--global-palette9);
	border: 1px solid var(--global-palette7);
	border-radius: 7px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 6px 16px rgba(52, 40, 33, 0.035);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background-color 180ms ease;
}

.wpcf7 .mz-field::placeholder,
.wpcf7 .mz-contact-form .wpcf7-form-control:not(.wpcf7-submit)::placeholder {
	color: color-mix(in srgb, var(--global-palette5) 72%, var(--global-palette7));
	opacity: 1;
}

.wpcf7 .mz-field:focus,
.wpcf7 .mz-contact-form .wpcf7-form-control:not(.wpcf7-submit):focus {
	color: var(--global-palette3);
	background-color: var(--global-palette9);
	border-color: var(--global-palette1);
	box-shadow: var(--mz-focus-shadow);
	outline: 0;
	transform: translateY(-1px);
}

.wpcf7 .mz-field--textarea,
.wpcf7 .mz-contact-form textarea.wpcf7-form-control {
	min-height: 100px !important;
	max-height: 300px;
	resize: vertical;
}

.wpcf7 .mz-contact-form__actions {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 0.1rem;
	position: relative;
}

.wpcf7 .mz-contact-form .mz-submit {
	width: 100%;
	min-height: 2.65rem;
	padding: 0.68rem 2.45rem 0.68rem 0.9rem;
	font-size: 0.88rem;
	line-height: 1.2;
	transition: box-shadow 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.wpcf7 form.submitting .mz-contact-form .mz-submit {
	animation: mz-submit-breathe 1400ms ease-in-out infinite;
	cursor: wait;
	opacity: 0.88;
	transform: translateY(-1px);
}

.wpcf7 .mz-contact-form .wpcf7-not-valid {
	border-color: var(--global-palette13);
	box-shadow: 0 0 0 4px rgba(181, 69, 50, 0.12);
}

.wpcf7 .mz-contact-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.32rem;
	color: var(--global-palette13);
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.35;
}

.wpcf7 .mz-contact-form__actions .wpcf7-spinner {
	position: absolute;
	top: 50%;
	right: 0.86rem;
	z-index: 2;
	width: 1.1rem;
	height: 1.1rem;
	margin: 0;
	overflow: visible;
	background: transparent;
	border: 2px solid rgba(184, 138, 77, 0.28);
	border-top-color: var(--global-palette1);
	border-right-color: var(--global-palette6);
	border-radius: 50%;
	box-shadow: 0 0 0 3px rgba(255, 253, 248, 0.45), 0 0 18px rgba(184, 138, 77, 0.28);
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%) scale(0.76);
	transform-origin: 50% 50%;
	transition: opacity 160ms ease, visibility 160ms ease;
	visibility: hidden;
}

.wpcf7 .mz-contact-form__actions .wpcf7-spinner::before {
	content: none;
}

.wpcf7 form.submitting .mz-contact-form__actions .wpcf7-spinner {
	animation: mz-cf7-spin 780ms linear infinite;
	opacity: 1;
	transform: translateY(-50%) scale(1);
	visibility: visible;
}

.wpcf7 form .wpcf7-response-output {
	margin: 0.75rem 0 0;
	padding: 0.72rem 0.8rem;
	color: var(--global-palette3);
	background: var(--global-palette9);
	border: 1px solid var(--global-palette7);
	border-left: 4px solid var(--global-palette6);
	border-radius: 7px;
	box-shadow: 0 8px 18px rgba(23, 19, 15, 0.05);
	font-size: 0.82rem;
	line-height: 1.4;
}

.wpcf7 form.sent .wpcf7-response-output {
	border-color: color-mix(in srgb, var(--global-palette11) 32%, var(--global-palette7));
	border-left-color: var(--global-palette11);
	background: color-mix(in srgb, var(--global-palette11) 8%, var(--global-palette9));
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
	border-color: color-mix(in srgb, var(--global-palette15) 42%, var(--global-palette7));
	border-left-color: var(--global-palette15);
	background: color-mix(in srgb, var(--global-palette15) 10%, var(--global-palette9));
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	border-color: color-mix(in srgb, var(--global-palette13) 34%, var(--global-palette7));
	border-left-color: var(--global-palette13);
	background: color-mix(in srgb, var(--global-palette13) 8%, var(--global-palette9));
}

.site-footer .wpcf7 {
	width: 100%;
}

.site-footer .wpcf7 p {
	margin: 0;
}

.site-footer .wpcf7 .mz-contact-form {
	gap: 0.72rem;
	padding: 0.9rem;
	background:
		linear-gradient(135deg, rgba(255, 253, 248, 0.94), rgba(247, 241, 230, 0.72)),
		var(--global-palette9);
	box-shadow: 0 14px 38px rgba(23, 19, 15, 0.06);
}

.site-footer .wpcf7 .mz-contact-form::before {
	height: 3px;
}

.site-footer .wpcf7 .mz-contact-form::after {
	top: -44%;
	right: -34%;
	width: 15rem;
	opacity: 0.72;
}

.site-footer .wpcf7 .mz-contact-form__grid {
	grid-template-columns: 1fr;
	gap: 0.72rem;
}

.site-footer .wpcf7 .mz-field-group {
	gap: 0.36rem;
}

.site-footer .wpcf7 .mz-field-label {
	font-size: 0.68rem;
	letter-spacing: 0.06em;
}

.site-footer .wpcf7 .mz-field,
.site-footer .wpcf7 .mz-contact-form .wpcf7-form-control:not(.wpcf7-submit) {
	min-height: 2.7rem;
	padding: 0.64rem 0.74rem;
	border-radius: 7px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.64), 0 6px 16px rgba(52, 40, 33, 0.035);
	font-size: 0.92rem;
}

.site-footer .wpcf7 .mz-field:focus,
.site-footer .wpcf7 .mz-contact-form .wpcf7-form-control:not(.wpcf7-submit):focus {
	box-shadow: 0 10px 22px rgba(123, 37, 49, 0.1), 0 0 0 3px rgba(184, 138, 77, 0.14);
}

.site-footer .wpcf7 .mz-field--textarea,
.site-footer .wpcf7 .mz-contact-form textarea.wpcf7-form-control {
	min-height: 5.9rem;
}

.site-footer .wpcf7 .mz-contact-form__actions {
	gap: 0.65rem;
	margin-top: 0.05rem;
}

.site-footer .wpcf7 .mz-contact-form .mz-submit {
	width: 100%;
	min-height: 2.75rem;
	padding-right: 2.45rem;
	padding-top: 0.58rem;
	padding-bottom: 0.58rem;
	font-size: 0.9rem;
}

.site-footer .wpcf7 .mz-contact-form .wpcf7-not-valid-tip {
	margin-top: 0.32rem;
	font-size: 0.78rem;
	line-height: 1.35;
}

.site-footer .wpcf7 form .wpcf7-response-output {
	margin-top: 0.72rem;
	padding: 0.68rem 0.76rem;
	border-radius: 7px;
	box-shadow: 0 8px 22px rgba(23, 19, 15, 0.045);
	font-size: 0.82rem;
	line-height: 1.42;
}

@keyframes mz-cf7-spin {
	to {
		transform: translateY(-50%) scale(1) rotate(360deg);
	}
}

@keyframes mz-submit-breathe {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(184, 138, 77, 0);
	}

	50% {
		box-shadow: 0 0 0 4px rgba(184, 138, 77, 0.14);
	}
}

@media (max-width: 767px) {
	.wpcf7 .mz-contact-form {
		max-width: 100%;
		padding: 0.85rem;
	}

	.wpcf7 .mz-contact-form__grid {
		grid-template-columns: 1fr;
	}

	.wpcf7 .mz-contact-form__actions {
		align-items: center;
		flex-direction: row;
	}

	.wpcf7 .mz-contact-form .mz-submit {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wpcf7 .mz-field,
	.wpcf7 .mz-contact-form .wpcf7-form-control,
	.wpcf7 .mz-contact-form__actions .wpcf7-spinner {
		animation: none;
		transition: none;
	}

	.wpcf7 form.submitting .mz-contact-form .mz-submit {
		animation: none;
		transform: none;
	}

	.wpcf7 .mz-field:focus,
	.wpcf7 .mz-contact-form .wpcf7-form-control:not(.wpcf7-submit):focus {
		transform: none;
	}
}
