/*
Theme Name: Operiva
Author: Operiva
Description: Custom block theme for the Operiva website.
Requires at least: 6.5
Requires PHP: 8.3
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: operiva
*/

* {
	box-sizing: border-box;
}

main {
	margin-top: 0;
}

header.wp-block-template-part.is-operiva-header-fixed {
	border-bottom: 1px solid var(--wp--preset--color--line-strong);
	left: 0;
	position: fixed;
	right: 0;
	top: var(--operiva-admin-bar-offset, 0);
	width: 100%;
	z-index: 99998;
}

header.wp-block-template-part.is-operiva-header-managed > .wp-block-group:first-child {
	transition-duration: 0.25s, 0.25s;
	transition-property: padding-top, padding-bottom;
	transition-timing-function:
		cubic-bezier(0.16, 1, 0.3, 1),
		cubic-bezier(0.16, 1, 0.3, 1);
}

header.wp-block-template-part.is-operiva-header-fixed > .wp-block-group:first-child {
	background-color: transparent !important;
}

header.wp-block-template-part.is-operiva-header-compact > .wp-block-group:first-child {
	padding-bottom: var(--wp--preset--spacing--30) !important;
	padding-top: var(--wp--preset--spacing--30) !important;
}

header.wp-block-template-part.is-operiva-header-fixed::before {
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	background-color: var(--wp--preset--color--background);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

@supports (background-color: color-mix(in srgb, white 50%, transparent)) {
	header.wp-block-template-part.is-operiva-header-fixed::before {
		background-color: color-mix(
			in srgb,
			var(--wp--preset--color--background) 84%,
			transparent
		);
	}
}

@media (prefers-reduced-motion: reduce) {
	header.wp-block-template-part.is-operiva-header-managed > .wp-block-group:first-child {
		transition: none;
	}
}

.operiva-site-header-placeholder {
	display: block;
	height: var(--operiva-header-flow-height, 0);
	margin: 0;
	pointer-events: none;
}

.section-padding {
	padding-top: 125px !important;
	padding-bottom: 125px !important;
}

.section-margin-bottom {
	margin-bottom: 125px !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	overflow-wrap: break-word;
}

@media (max-width: 1024px) {
	.section-padding {
		padding-top: 75px !important;
		padding-bottom: 75px !important;
	}

	.section-margin-bottom {
		margin-bottom: 75px !important;
	}

	h1,
	.has-heading-1-font-size {
		font-size: 2.2rem !important;
	}

	h2,
	.has-heading-2-font-size {
		font-size: 1.8rem !important;
	}

	h3,
	.has-heading-3-font-size {
		font-size: 1.5rem !important;
	}
}

@media (max-width: 781px) {
	html {
		font-size: 15px;
	}

	.section-padding {
		padding-top: 45px !important;
		padding-bottom: 45px !important;
	}

	.section-margin-bottom {
		margin-bottom: 45px !important;
	}

	:where(.wp-block-group.has-background) {
		padding: 1.5rem 1.5rem;
	}

	:root :where(.is-layout-flow) > * {
		margin-block-start: 1.4rem;
	}
}

.wp-block-post-content.wp-block-post-content-is-layout-constrained {
	max-width: none !important;
}

.eyebrow {
	align-items: center;
	color: var(--wp--preset--color--accent);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 700;
	gap: 0.5rem;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.eyebrow::before {
	background-color: currentColor;
	content: "";
	display: inline-block;
	flex: 0 0 auto;
	height: 0.375rem;
	width: 0.375rem;
}

.eyebrow.has-text-align-center {
	display: flex;
	justify-content: center;
}

.editor-styles-wrapper .wp-block-site-logo:not(.is-default-size) img.custom-logo {
	width: 100%;
}

.wp-block-template-part {
	margin-top: 0;
	margin-bottom: 0;
}

.wp-block-breadcrumbs a {
	text-decoration: none;
}

.wp-block-breadcrumbs span[aria-current="page"] {
	font-weight: 600;
}

.operiva-mobile-menu > .wp-block-navigation {
	margin-block-start: var(--wp--preset--spacing--30);
	width: 100%;
}

.operiva-mobile-menu
	> .wp-block-navigation
	> .wp-block-navigation__container {
	gap: 0;
	width: 100%;
}

.operiva-mobile-menu
	> .wp-block-navigation
	> .wp-block-navigation__container
	> .wp-block-navigation-item {
	width: 100%;
}

.operiva-mobile-menu
	> .wp-block-navigation
	> .wp-block-navigation__container
	> .wp-block-navigation-item
	> .wp-block-navigation-item__content {
	align-items: center;
	display: flex;
	min-height: 2.75rem;
	width: 100%;
}

.operiva-mobile-menu
	.wp-block-navigation-item.has-child.open-always {
	gap: 0;
}

.operiva-mobile-menu
	.wp-block-navigation-item.has-child.open-always
	> .wp-block-navigation__submenu-container {
	border-left: 1px solid var(--wp--preset--color--line-strong);
	gap: 0;
	margin: 0 0 var(--wp--preset--spacing--20);
	padding: 0 0 0 var(--wp--preset--spacing--30);
}

.operiva-mobile-menu
	.wp-block-navigation__submenu-container
	> .wp-block-navigation-item
	> .wp-block-navigation-item__content {
	align-items: center;
	color: var(--wp--preset--color--text-light);
	display: flex;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 500;
	line-height: 1.45;
	min-height: 2.25rem;
	width: 100%;
}

.operiva-mobile-menu > .wp-block-buttons {
	gap: 0;
	margin-block-start: var(--wp--preset--spacing--40);
	width: 100%;
}

.operiva-mobile-menu
	> .wp-block-buttons
	> .wp-block-button.has-operiva-button-caption,
.editor-styles-wrapper
	.operiva-mobile-menu
	> .wp-block-buttons
	> .wp-block-button.has-operiva-button-caption-preview {
	width: 100%;
}

.operiva-mobile-menu
	> .wp-block-buttons
	> .wp-block-button
	> .wp-block-button__link {
	align-items: center;
	background-color: var(--wp--preset--color--text-dark);
	border-radius: 2rem;
	color: var(--wp--preset--color--white);
	display: flex;
	justify-content: center;
	min-height: 3rem;
	padding: 0.75rem var(--wp--preset--spacing--40);
	width: 100%;
}

.operiva-mobile-menu
	> .wp-block-buttons
	.wp-block-button
	> .wp-block-button__link:not(:disabled):hover {
	transform: none;
}

.operiva-mobile-menu .operiva-button-caption {
	color: var(--wp--preset--color--text-light);
	padding-top: var(--wp--preset--spacing--20);
	width: 100%;
}
