/*
Theme Name: Mosayco
Theme URI: https://mosayco.rubenmadila.com
Author: Ruben Madila
Author URI: https://rubenmadila.com
Description: Mosayco is a theme that connects you to yourself, and others. It enhances WordPress in the most elegant way, prioritising simplicity and accessibility.
Requires at least: 6.6
Tested up to: 6.6
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mosayco
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;
}

/*
 Root variables
 */

:root {
	--mosayco--button-transition-duration: 200ms;
}


@property --dot-size {
	syntax: "<length>";
	inherits: true;
	initial-value: 16px;
}

@property --translation {
	syntax: "<length>";
	inherits: true;
	initial-value: 0px;
}


/* Vertical Layout Page */

:where(.wp-theme-mosayco) header {
	z-index: 80 !important;
	.is-position-sticky {
		top: calc(2rem + var(--wp-admin--admin-bar--position-offset, 2rem))
	}

	+ .wp-block-group {
		width: -webkit-fill-available;
		max-width: calc(100vw - 75px);
	}
}

@media (hover: none) {
	:where(.wp-theme-mosayco) header {
		+ .wp-block-group {
			width: -webkit-fill-available;
			max-width: calc(100vw - 60px);
		}
	}
}

.has-modal-open :where(.wp-theme-mosayco) header {
	z-index: 600 !important;

	+ .wp-block-group {
		width: -webkit-fill-available;
		max-width: calc(100vw - 60px);
	}
}

/*
.has-modal-open :where(.wp-theme-mosayco) header:before {
	content: "";
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	right: 0;
	left: 0;
	background: var(--wp--preset--color--always-dark);
	z-index: 1;
	opacity: 0.8;
}*/

.is-style-flip-card {
	position: relative;
	perspective: 1000px;
	backface-visibility: hidden;
	transform-style: preserve-3d;
	aspect-ratio: 5 / 7;
	min-height: 21rem;
	gap: 0;
	--gradient-from: color-mix(in srgb, transparent 20%, var(--wp--preset--color--base));
}

[data-shown="true"] .is-style-flip-card {
	transition-duration: 400ms;
	transition-delay: 0s;
}

.is-style-flip-card .wp-block-group:first-child {
	border: 1px solid var(--wp--preset--color--base);
}

.is-style-flip-card .wp-block-group:last-child {
	filter: drop-shadow(.5rem .5rem 2rem var(--wp--preset--color--base)))
}

.is-style-flip-card .wp-block-group:last-child a {
	color: var(--wp--preset--color--contrast);
}

.is-style-flip-card:not(:hover,:active,:focus,:focus-within) .wp-block-group:last-child {
	pointer-events: none;
}

.is-style-flip-card .wp-block-group:first-child:before {
	content: "";
	background-image: linear-gradient(74deg, var(--wp--preset--color--contrast) 20%, var(--wp--preset--color--base) 100%);
	inset: 0;
	position: absolute;
	opacity: 0;
	transition: all 300ms linear 1200ms;
	backface-visibility: hidden;
	border-top-right-radius: 58%;
	mix-blend-mode: luminosity;
	transform: translate(0rem, 0.5rem);
}

[data-shown="true"] .is-style-flip-card .wp-block-group:first-child:before {
	transition-delay: 0s;
}

.is-style-flip-card:where(:hover, :focus, :focus-within, :active) .wp-block-group:first-child:before {
	opacity: 0.45;
}

.is-dark-theme .is-style-flip-card .wp-block-group:first-child:before {
	filter: invert(1);
}

[data-shown="true"] .wp-block-group:first-child:before {
	opacity: 0.15
}

[data-shown="true"] .is-style-flip-card:where(:hover, :focus, :focus-within, :active) .wp-block-group:first-child {
	opacity: 0;
	transform: rotate(3deg) translate(1rem, 1rem);
	pointer-events: none;
	transition-property: box-shadow, transform, opacity;
	transition-duration: 400ms;
	transition-delay: 0s;
	box-shadow: none;
}

[data-shown="true"] .is-style-flip-card:nth-child(even):hover .wp-block-group:first-child {
	transform: rotate(-2deg) translate(-1rem, -1rem);
}

[data-shown="true"] .is-style-flip-card:nth-child(even):hover .wp-block-group:first-child {
	transform: rotate(-2deg) translate(-1rem, -1rem);
}

[data-shown="true"] .is-style-flip-card:where(:hover, :focus, :focus-within, :active) .wp-block-group:last-child {
	transition-property: filter, transform, opacity;
	transition-duration: 300ms;
	transition-delay: 200ms;
	transform: none;

	filter: drop-shadow(1rem 1rem 1rem rgba(0,0,0,0.2));
}

.is-dark-theme [data-shown="true"] .is-style-flip-card:where(:hover, :focus, :focus-within, :active) .wp-block-group:last-child {
	filter: drop-shadow(1rem 1rem 1rem var(--wp--preset--color--base));
}


.is-style-flip-card .wp-block-group:first-child,
.is-style-flip-card .wp-block-group:last-child {
	padding: 0.5em;
	position: absolute;
	inset: 0;
	backface-visibility: hidden;
	overflow: hidden;
}

.is-style-flip-card .wp-block-group:first-child {
	z-index: 30;
	margin-block-start: 0;
	overflow: hidden;
	.wp-block-heading {
		filter: drop-shadow(0.2rem 0.2rem .1rem var(--wp--preset--color--dark-semi-opaque));
	}
}

.is-dark-theme .is-style-flip-card .wp-block-group:last-child {
	--wp--preset--gradient--to-light: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, var(--wp--preset--color--base) 100%);
	--wp--preset--gradient--semi-to-light: linear-gradient(180deg, var(--wp--preset--color--light-semi-opaque) 0%, var(--wp--preset--color--base) 100%);
	transition-property: filter, transform, opacity;
	transition-duration: 200ms;
}

.is-style-flip-card .wp-block-group:last-child {
	margin-block-start: 0;
}
.is-style-flip-card:not(:hover, :focus, :focus-within, :active) .wp-block-group:last-child {
	z-index: 20;
	transform: translate(.25rem, .25rem);
}

.is-style-flip-card:where(:hover, :focus, :focus-within, :active) .wp-block-group:last-child:before {
	transform: translate(-100%, 100%);
}

.is-style-flip-card .wp-block-group:last-child:before {
	content: "";
	position: absolute;
	transition: transform 0ms linear 500ms;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 100;
}

/* Colors */

.is-dark-theme .wp-block-group.has-to-light-gradient-background:has(.wp-block-spacer) {
	filter: invert(1);
	mix-blend-mode: darken;
	opacity: 0.7;
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open {
	position: absolute;
	left: calc(100% + 1.5rem);
	width: clamp(200px, 10vw, 80vw);
	height: clamp(200px, 40vh, 40vh);
	padding: 3rem 2rem 1rem;
	border-radius: 1.3rem;
	border-top-left-radius: 0;
	border: 2px solid var(--wp--preset--color--base-2);
	filter: drop-shadow(3px 3px 7rem var(--wp--preset--color--dark-opacity-20));
}

.wp-block-navigation__responsive-container.is-menu-open {
	overflow: visible;
}

.wp-block-navigation__responsive-container.has-modal-open.is-menu-open .wp-block-navigation__responsive-container-close {
	position: absolute;
	right: calc(100% + 0.75rem);
	top: -4rem;
	z-index: 110;
	background-color: var(--wp--preset--color--base);
	border: 2px solid;
	padding: .6rem;
}

.has-modal-open .wp-block-navigation__responsive-container-open {
	opacity: 0;
	pointer-events: none;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 0;
}


header .block-site-title {
	white-space: nowrap;
}


:root .is-dark-theme {
	--jetpack--contact-form--error-color: #e7858b;
	--wp--preset--gradient--to-base-2: linear-gradient(180deg,transparent 50%, var(--wp--preset--color--base-2) 100%);
}


#single-post-header {
	position: relative;
	z-index: 5;
	transform: translateY(-2rem);
}

.single-post-content {
	transform: translateY(-7rem);
}


.z-index-110 {
	z-index: 110;
}

.z-index-7 {
	z-index: 7;
}


.z-index-8 {
	z-index: 8;
}


.z-index-9 {
	z-index: 9;
}

.z-index-10 {
	z-index: 10;
}


.wp-block-column:has(.wp-block-embed-instagram) {

}

@media (max-width: 980px) {
	.wp-block-columns:has(.wp-block-embed-instagram):not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 100% !important;
		width: auto !important;
	}
}


@media screen and (max-width: 600px) {
	.wp-block-embed-instagram, .wp-block-embed-instagram iframe {
		min-width: calc(100vw - 8rem) !important;
		border-radius: 15px;
	}
}



.wp-block-navigation-item__content:where(:focus, :active, :focus-within) {
	outline-width: 1px;
	outline-style: dashed;
}

.wp-block-group.is-position-sticky:has(> figure) {
	z-index: 2;
}


.wp-lightbox-overlay.active img {
	border: 3px solid var(--wp--preset--color--base);
}



:root :where(.wp-block-button .wp-block-button__link) {
	transition-property: color, background-color;
	transition-duration: var(--mosayco--button-transition-duration);
}


swiper-container {
	max-width: calc(100vw - 75px);
	margin: 0 !important;
	height: 150px;
}

.wp-block-group:has(> swiper-container) {
	background-color: white !important;
}

div.youtube-short > iframe {
	width: 100%;
	max-width: 100% !important;
	height: auto;
	aspect-ratio: 9 / 16;
	border-radius: 10px;
	margin: 0;
}

.wp-block-column > .is-position-sticky {
	--wp-admin--admin-bar--position-offset: 2rem;
}

.youtube-short {
	aspect-ratio: 9/16;
	width: 100%;
}

html, html.has-modal-open {
	overflow-y: scroll;
	scrollbar-gutter: stable;
}


@media (hover: none) {
	html.has-modal-open {
		overflow: hidden;
	}
}



.contact-form-submission {
	padding: 0;
	margin-bottom: 0;
	border: 0;
	p {
		font-weight: 600;
	}
	.go-back-message {
		margin: 0;
		a.link {
			transition: color, background-color 200ms linear;
			padding: 0.5rem 1rem;
			border: 1px solid;
			border-radius: 50px;
			display: inline-block;
			text-decoration: none;
			margin-bottom: 1rem;
			font-size: var(--wp--preset--font-size--small);
			&:where(:hover) {
				background-color: var(--wp--preset--color--contrast);
				color: var(--wp--preset--color--base);
			}
		}
	}
	#contact-form-success-header {
		margin: 0;
		font-size: var(--wp--preset--font-size--medium);
	}
}
