/*
Theme Name: Laguna
Theme URI: https://empressthemes.com/shop/laguna-theme
Author: EmPress Themes
Author URI: https://empressthemes.com
Description: Laguna is a block theme for lifestyle bloggers, designed to display a variety of lifestyle and shopping content. With a trendy and feminine design, use the Global Styles to change colors and fonts to your aesthetic. Choose from two home page layouts with two unique header and footer options. Easily customize your blog with no code in the Site Editor. Mix-and-match block patterns to fit your content.
Requires at least: 6.0
Tested up to: 6.5.2
Requires PHP: 5.7
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: laguna
Tags: blog, grid-layout, one-column, two-columns, left-sidebar, block-patterns, block-styles, full-site-editing, full-width-template, threaded-comments, translation-ready, block-styles, wide-blocks
*/

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

a,
button,
input[type="submit"] {
	-webkit-transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	-o-transition: all .3s ease-in-out;
	transition: all .3s ease-in-out;
}

footer {
	margin-top: 0;
}

@media all and (min-width: 1025px) {
	
	.hide-desktop {
		display: none;
	}

}

@media all and (min-width: 782px) and (max-width: 1024px) {
	
	.hide-tablet {
		display: none;
	}

}

@media all and (max-width: 781px) {
	
	.hide-mobile {
		display: none;
	}

}

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

input:not([type="submit"]),
textarea {
	background: var(--wp--preset--color--primary);
	border: 2px solid var(--wp--preset--color--primary);
	box-sizing: border-box;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-style: normal;
	font-weight: 400;
	line-height: 1.5;
	padding: 10px;
}

button[type="submit"],
input[type="submit"] {
	background: var(--wp--preset--color--tertiary);
	border: 2px solid var(--wp--preset--color--tertiary);
	box-sizing: border-box;
	color: var(--wp--preset--color--base);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 600;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
	letter-spacing: 1.5px;
	line-height: normal;
	text-transform: uppercase;
}

button[type="submit"]:hover,
input[type="submit"]:hover {
	background: var(--wp--preset--color--quaternary);
	border-color: var(--wp--preset--color--quaternary);
	color: var(--wp--preset--color--base);
}

label {
	color: var(--wp--preset--color--quaternary);
	display: block;
	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 600;
	letter-spacing: 1.5px;
	line-height: normal;
	margin-bottom: 10px;
	text-transform: uppercase;
}

::placeholder {
	color: var(--wp--preset--color--quaternary);
	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 600;
	letter-spacing: 1.5px;
	line-height: normal;
	text-transform: uppercase;
}

.has-background:not(.has-base-background-color) input:not([type="submit"]),
.has-background:not(.has-base-background-color) textarea {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--base);
}

.has-quaternary-background-color button[type="submit"],
.has-quaternary-background-color input[type="submit"] {
	background: none;
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--base);
}

.has-quaternary-background-color button[type="submit"]:hover,
.has-quaternary-background-color input[type="submit"]:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--quaternary);
}

.has-quaternary-background-color label {
	color: var(--wp--preset--color--base);
}

/*--------------------------------------------------------------
# Blocks
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Button: Outline Style
--------------------------------------------------------------*/

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--base);
}

/*--------------------------------------------------------------
## Gallery: Social Media Grid
--------------------------------------------------------------*/

@media (min-width: 600px) and (max-width: 1000px) {
	.wp-block-gallery.is-style-square-grid.has-nested-images.columns-8 figure.wp-block-image:not(#individual-image) {
		width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px)/4);
	}
}

/*--------------------------------------------------------------
## Navigation: Menu Panel
--------------------------------------------------------------*/

.menu-panel button.wp-block-navigation__responsive-container-open,
.menu-panel .components-button.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open {
	padding: 20px;
}

.menu-panel button svg {
	height: 36px;
	width: 36px;
}

.menu-panel .wp-block-navigation__responsive-container {
	max-width: 420px;
}

@keyframes menu-panel__slide-in-animation {
    0% {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(0);
    }
}

.menu-panel .wp-block-navigation__responsive-container.is-menu-open {
	animation: menu-panel__slide-in-animation .3s ease-out;
	padding: 20px 40px 40px 40px;
}

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

.menu-panel .wp-block-navigation__container:only-child,
.menu-panel .wp-block-navigation .wp-block-navigation-item {
	width: 100%;
}

.menu-panel .wp-block-site-title {
	margin: 0;
	padding: 0;
}

.menu-panel .wp-block-site-title a {
	padding: 0;
}

.menu-panel.wp-block-navigation li {
	font-family: var(--wp--preset--font-family--primary);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.menu-panel .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container,
.menu-panel .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    padding: 0;
}

.menu-panel .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
	gap: 30px;
}

.menu-panel .wp-block-navigation-submenu {
	gap: 10px;
}

.menu-panel .wp-block-navigation-submenu li {
	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--normal);
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

/*--------------------------------------------------------------
## Post Excerpt: Accent
--------------------------------------------------------------*/

.wp-block-post-excerpt.is-style-accent .wp-block-post-excerpt__more-link {
	font-family: var(--wp--preset--font-family--tertiary);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: lowercase;
}

/*--------------------------------------------------------------
## Post Excerpt: Button
--------------------------------------------------------------*/

.wp-block-post-excerpt.is-style-button .wp-block-post-excerpt__more-link {
	border: 2px solid var(--wp--preset--color--tertiary);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
}

.wp-block-post-excerpt.is-style-button .wp-block-post-excerpt__more-link:hover {
	background: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--base);
}

/*--------------------------------------------------------------
## Query Pagination
--------------------------------------------------------------*/

.wp-block-query-pagination>.wp-block-query-pagination-next, 
.wp-block-query-pagination>.wp-block-query-pagination-numbers, 
.wp-block-query-pagination>.wp-block-query-pagination-previous {
	margin: 0;
}

/*--------------------------------------------------------------
## Search: Button Inside
--------------------------------------------------------------*/

.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	border: none;
	padding: 0;
}

.wp-block-search__button-inside .wp-block-search__input {
	padding: 15px;
}

.wp-block-search__button-inside .wp-block-search__button {
	border: none;
	margin: 0;
	padding: 15px;
}

/*--------------------------------------------------------------
## Search: Header
--------------------------------------------------------------*/

.header-search .wp-block-search__inside-wrapper  {
	display: block;
	position: relative;
	z-index: 10;
}

.header-search.wp-block-search .wp-element-button {
	padding: 20px;
}

.header-search.wp-block-search.wp-block-search__button-only .wp-block-search__button[aria-expanded=true] {
	max-width: none;
}

.header-search .wp-block-search__button svg {
	height: 36px;
	width: 36px;
}

.header-search .wp-block-search__input {
	border: none;
	outline: none;
	padding: 10px 20px;
	min-width: calc(100vw - 91px);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	transform: translateX(-100%);
}

/*--------------------------------------------------------------
## Social Links
--------------------------------------------------------------*/

.wp-block-social-links.has-small-icon-size {
	font-size: 12px;
}

.wp-block-social-links.has-normal-icon-size {
	font-size: 16px;
}

.wp-block-social-links.has-large-icon-size {
	font-size: 24px;
}

.wp-block-social-links.has-huge-icon-size {
	font-size: 36px;
}

.wp-block-social-links .wp-social-link span:not(.screen-reader-text) {
	font-size: var(--wp--preset--font-size--small);
	margin-left: 10px;
	margin-right: 10px;
}

/*--------------------------------------------------------------
## Social Links: Pill Shape Style
--------------------------------------------------------------*/

.wp-block-social-links.is-style-pill-shape .wp-social-link a {
	padding: 10px;
}

/*--------------------------------------------------------------
# Utility Classes
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Header: Sticky
--------------------------------------------------------------*/

.sticky-header {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	z-index: 1000;
}

.admin-bar .sticky-header {
	top: var(--wp-admin--admin-bar--height, 0px);
}

/*--------------------------------------------------------------
## Horizontal Scroll
--------------------------------------------------------------*/

.has-horizontal-scroll > div {
	cursor: pointer;
	overflow-x: scroll;
	transition: all .3s;
	scrollbar-width: none;
	-ms-overflow-style: none;
	user-select: none;
	will-change: transform;
}

.has-horizontal-scroll > div::-webkit-scrollbar {
	display: none;
}

.has-horizontal-scroll > div > div {
	flex-shrink: 0;
}

/*--------------------------------------------------------------
## Vertical Titles
--------------------------------------------------------------*/

@media (max-width: 1200px) {

	.has-vertical-section-title .section-container {
		flex-direction: column;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	.has-vertical-section-title .section-title {
		order: 1;
		width: 100%;
	}

	.has-vertical-section-title .section-content {
		order: 2;
		width: 100%;
	}
	
	.has-style-vertical {
		text-align: center;
		margin-bottom: var(--wp--preset--spacing--40) !important;
		width: 100%;
		writing-mode: unset !important;
	}
	
	.has-style-vertical.has-style-vertical-left {
		transform: rotate(0);
	}
	
}

/*--------------------------------------------------------------
# Patterns
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## About Section
--------------------------------------------------------------*/

@media (max-width: 781px) {
	.about-section .content-column {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/*--------------------------------------------------------------
## CTA: Blog Categories
--------------------------------------------------------------*/

@media (max-width: 900px) {
	.blog-categories .section-container,
	.blog-categories .section-container nav ul {
		flex-direction: column;
	}
	
	.blog-categories .section-container .section-title,
	.blog-categories .section-container nav ul {
		justify-content: center;
		text-align: center;
	}
}

/*--------------------------------------------------------------
## CTA: Featured Links
--------------------------------------------------------------*/

.featured-links .wp-block-button__link:hover {
	background: var(--wp--preset--color--quaternary) !important;
	color: var(--wp--preset--color--base) !important;
}

@media (max-width: 1200px) {
	.featured-links .section-container {
		flex-direction: column;
	}
	
	.featured-links .section-title {
		text-align: center;
	}
}

@media (max-width: 781px) {
	.featured-links .wp-block-button {
		display: block;
		width: 100%;
	}
	
	.featured-links .wp-block-button a {
		display: block;
	}
}

/*--------------------------------------------------------------
## Footer: Menu
--------------------------------------------------------------*/

@media (max-width: 781px) {
	.footer-menu > .wp-block-group {
		flex-direction: column;
	}
	
	.footer-menu > .wp-block-group,
	.footer-menu ul {
		gap: var(--wp--preset--spacing--20);
	}
	
	.footer-menu li {
		justify-content: center;
		width: 100%;
	}	
}

/*--------------------------------------------------------------
## Footer: Three Column
--------------------------------------------------------------*/

@media (max-width: 781px) {
	.footer-three-col .menu-column {
		order: 2;
	}
	
	.footer-three-col .about-column {
		order: 1;
	}
	
	.footer-three-col .wp-block-spacer {
		display: none;
	}
}

/*--------------------------------------------------------------
## Header: Centered
--------------------------------------------------------------*/

.centered-menu .wp-block-button__link:hover {
	background: var(--wp--preset--color--tertiary) !important;
	border-color: var(--wp--preset--color--tertiary) !important;
	color: var(--wp--preset--color--base) !important;
}

.centered-menu button .wp-block-navigation-item__label,
.centered-menu .wp-block-navigation__responsive-container-open,
.centered-menu .wp-block-navigation__responsive-container-close {
	letter-spacing: 1.5px;
}

@media (min-width: 1000px) {
    .centered-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
      display: none !important;
    }
	
    .centered-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
      display: block !important;
    }
	
	.centered-menu .wp-block-navigation__container > li {
		padding: 10px 0;
	}
	
	.centered-menu .wp-block-navigation .wp-block-navigation__submenu-container {
		border: none !important;
		padding: 10px;
		-webkit-transition: opacity .3s ease-in;
		-moz-transition: opacity .3s ease-in;
		-ms-transition: opacity .3s ease-in;
		-o-transition: opacity .3s ease-in;
		transition: opacity .3s ease-in;
	}
	
	.centered-menu .wp-block-navigation .wp-block-navigation__submenu-container a,
	.centered-menu .wp-block-navigation .wp-block-navigation__submenu-container button {
		justify-content: center;
		padding: 5px;
	}
	
	.centered-menu .wp-block-navigation__container > li.has-child > ul.wp-block-navigation__submenu-container {
		left: 50%;
		transform: translateX(-50%);
	}
	
	.centered-menu .wp-block-navigation__container > li.has-child {
		position: relative;
	}
	
	.centered-menu .wp-block-navigation__container > li.has-child > ul.wp-block-navigation__submenu-container > li.has-child > .wp-block-navigation__submenu-icon {
		display: block;
		margin: 0;
		padding: 0;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}
	
	.centered-menu .wp-block-navigation__container > li.has-child > ul.wp-block-navigation__submenu-container > li.has-child > ul.wp-block-navigation__submenu-container {
		top: -10px;
	}
	
}

@media ( max-width: 999px ) {
	.centered-menu .wp-block-navigation__responsive-container-content > ul > li > .wp-block-navigation-item__content {
		font-family: var(--wp--preset--font-family--primary);
		font-size: var(--wp--preset--font-size--large) !important;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
	}
	
	.centered-menu .social-media-column,
	.centered-menu .button-column {
		min-width: 120px;
	}	
}

@media ( min-width: 600px ) {
    .centered-menu .wp-block-navigation__responsive-container-open:not(.always-shown) {
      display: flex;
    }
    .centered-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
      display: none;
    }
}

/*--------------------------------------------------------------
## Newsletter Form
--------------------------------------------------------------*/

.newsletter-form input:not([type="submit"]) {
	width: 100%;
}

.newsletter-form input,
.newsletter-form button {
	min-height: 55px;
}

/*--------------------------------------------------------------
### ConvertKit
--------------------------------------------------------------*/

.newsletter-form .formkit-input {
	background: var(--wp--preset--color--primary) !important;
	border: 2px solid var(--wp--preset--color--primary) !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	color: var(--wp--preset--color--contrast) !important;
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: var(--wp--preset--font-size--medium) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	padding: 10px !important;
}

.newsletter-form .formkit-submit {
	background: var(--wp--preset--color--tertiary) !important;
	border: 2px solid var(--wp--preset--color--tertiary) !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	color: var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--secondary) !important;
	font-size: var(--wp--preset--font-size--small) !important;
	font-style: normal !important;
	font-weight: 600 !important;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50) !important;
	letter-spacing: 1.5px !important;
	line-height: normal !important;
	text-transform: uppercase !important;
}

.newsletter-form .formkit-submit span {
	background: none !important;
	padding: 0 !important;
}

.newsletter-form .formkit-submit:hover {
	background: var(--wp--preset--color--quaternary) !important;
	border-color: var(--wp--preset--color--quaternary) !important;
	color: var(--wp--preset--color--base) !important;
}

.has-background:not(.has-base-background-color) .newsletter-form .formkit-input {
	background: var(--wp--preset--color--base) !important;
	border-color: var(--wp--preset--color--base) !important;
}

.has-quaternary-background-color .newsletter-form .formkit-submit {
	background: none !important;
	border-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--base) !important;
}

.has-quaternary-background-color .newsletter-form .formkit-submit:hover {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--quaternary) !important;
}


/*--------------------------------------------------------------
### Flodesk
--------------------------------------------------------------*/

.newsletter-form .fd-form-group {
	margin-bottom: 10px;
}

.newsletter-form .fd-form-control {
	text-align: center;
}

.newsletter-form .fd-form-group label {
	display: none;
}

.newsletter-form .fd-btn {
	width: 100%;
}

.newsletter-form .fd-form-success {
	display: none;
}

/*--------------------------------------------------------------
### Mailchimp
--------------------------------------------------------------*/

.newsletter-form #mc_embed_signup .indicates-required {
	display: none;
}

.newsletter-form .mc-field-group {
	margin-bottom: 10px;
}

.newsletter-form #mc-embedded-subscribe {
	width: 100%;
}

/*--------------------------------------------------------------
## Posts: Featured Full Width
--------------------------------------------------------------*/

@media (min-width: 782px) and (max-width: 1300px) {
	.featured-post-full-width figure {
		aspect-ratio: 3/4 !important;	
	}
}

/*--------------------------------------------------------------
## Posts: Featured Large Two Column
--------------------------------------------------------------*/

@media (max-width: 781px) {
	.featured-post-two-col {
		background: linear-gradient(0deg,rgba(255,255,255,1) 60%,var(--wp--preset--color--primary) 60%) !important;
	}
	
	.featured-post-two-col .featured-image-column {
		order: 1;
	}
	
	.featured-post-two-col .content-column {
		background: var(--wp--preset--color--base);
		order: 2;
		padding: 0 var(--wp--preset--spacing--20);
		padding-top: 0 !important;
	}
}


/*--------------------------------------------------------------
## Query: Grid Four Col
--------------------------------------------------------------*/

@media (max-width: 781px) {
	.post-grid-four-col .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/*--------------------------------------------------------------
## Shop: Featured Products
--------------------------------------------------------------*/

@media (max-width: 1000px) {
		
	.shop-featured-products .section-content > .wp-block-columns {
		flex-direction: column;
	}
	
	.shop-featured-products .section-content .column-product-grid {
		order: 2;
	}

	.shop-featured-products .section-content .column-snapshot {
		order: 1;
	}
	
}

/*--------------------------------------------------------------
## Shop: Product Row
--------------------------------------------------------------*/

@media (max-width: 781px) {
	.featured-products-row .section-header {
		flex-wrap: wrap;
	}
	
	.featured-products-row .section-header .wp-block-separator {
		display: none;
	}
	
	.featured-products-row .wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: 45% !important;
	}
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## EmPress Shop the Post
--------------------------------------------------------------*/

.em-shop-title {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	gap: 20px;
	margin: 0 0 20px;
}

.em-shop-title:before, 
.em-shop-title:after {
	content: '';
	background: var(--wp--preset--color--primary);
	flex-grow: 1;
	height: 2px;
}

body:not(.single-post) .em-shop-title {
	display: none;
}

.em-shop-products {
	margin: 0;
}

/*--------------------------------------------------------------
## Smash Balloon
--------------------------------------------------------------*/

#sb_instagram #sbi_images {
	padding: 0;
}
