/*
Theme Name: BEA Theme
Theme URI: https://thebea.co
Author: Vio Studio
Author URI: https://vio.studio
Description: Standalone block theme scaffold for BEA brand tokens, templates, and custom blocks.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 8.1
Version: 0.1.0
Text Domain: bea-theme
*/

/* Remove default top spacing before the first root block (header/template part). */
body .wp-site-blocks > :first-child,
body .wp-site-blocks > :last-child { 
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Remove the root flow gap before main when header/template part is above it. */
    body .wp-site-blocks > main {
        margin-block-start: 0 !important;
        margin-block-end: 0 !important;
    padding: 0 !important;
}

body .kb-row-layout-wrap {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.wp-block-template-part:has(> .bea-top-nav) {
	position: sticky;
	top: 0;
	z-index: 2;
}

.bea-top-nav {
	position: relative;
	z-index: 2;
}

.bea-top-nav,
.bea-top-nav > .kt-inside-inner-col,
.bea-top-nav > .kt-inside-inner-col > .kb-row-layout-wrap {
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

@media (prefers-reduced-motion: reduce) {
	.bea-top-nav,
	.bea-top-nav > .kt-inside-inner-col,
	.bea-top-nav > .kt-inside-inner-col > .kb-row-layout-wrap {
		transition: none;
	}
}

body.admin-bar .wp-block-template-part:has(> .bea-top-nav) {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar .wp-block-template-part:has(> .bea-top-nav) {
		top: 46px;
	}
}

.bea-top-nav.is-sticky,
.bea-top-nav.has-solid-surface {
	background: var(--wp--preset--color--neutral-900, #1427ff);
	box-shadow: 0 10px 28px rgba(7, 3, 25, 0.3);
}

.bea-top-nav.is-sticky > .kt-inside-inner-col,
.bea-top-nav.has-solid-surface > .kt-inside-inner-col {
	background: var(--wp--preset--color--neutral-900, #1427ff) !important;
}

.bea-top-nav.is-sticky > .kt-inside-inner-col > .kb-row-layout-wrap,
.bea-top-nav.has-solid-surface > .kt-inside-inner-col > .kb-row-layout-wrap {
	background: var(--wp--preset--color--neutral-900, #1427ff) !important;
}


.accent {
    transform: rotate(-3.85deg);
    margin-bottom: 15px !important;
	max-width: 99%;
}

/*
Opt-in smooth autoplay for Kadence Gallery (Adv).
Add class "kb-smooth-autoplay" to a Gallery (Adv) block to enable this behavior.
*/
.wp-block-kadence-advancedgallery.kb-smooth-autoplay .splide__list {
	transition-timing-function: linear !important;
	will-change: transform;
	list-style: none !important;
	margin: 0;
	padding: 0;
}

.wp-block-kadence-advancedgallery.kb-smooth-autoplay .kb-gallery-ul {
	position: relative;
	overflow: hidden;
}

.wp-block-kadence-advancedgallery.kb-smooth-autoplay .kb-gallery-ul::before,
.wp-block-kadence-advancedgallery.kb-smooth-autoplay .kb-gallery-ul::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50px;
	pointer-events: none;
	z-index: 5;
}

.wp-block-kadence-advancedgallery.kb-smooth-autoplay .kb-gallery-ul::before {
	left: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.wp-block-kadence-advancedgallery.kb-smooth-autoplay .kb-gallery-ul::after {
	right: 0;
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
}

.wp-block-kadence-advancedgallery.kb-smooth-autoplay .splide__list > li {
	list-style: none !important;
}

.wp-block-kadence-advancedgallery.kb-smooth-autoplay .splide__list > li::marker {
	content: '';
}

.btn-pri .kb-button {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: color 0.3s ease;
}


.btn-pri .kb-button::before {
	content: '';
	position: absolute;
	inset: 0;
	background: url('/wp-content/uploads/2026/08/button-bg.webp') no-repeat center center !important;
	background-size: cover !important;
	opacity: 0;
	transition: opacity 0.3s ease;
	pointer-events: none;
	z-index: -1;
}

.btn-pri .kb-button:hover::before,
.btn-pri .kb-button:focus-visible::before {
	opacity: 1;
}

.btn-pri .kb-button:hover,
.btn-pri .kb-button:focus-visible {
	color: #FFF !important;
}

/* Global, subtle fade-up reveal for Kadence section content wrappers. */
body.bea-fadeup-init {
	--bea-reveal-distance: 112px;
	--bea-reveal-duration: 1620ms;
	--bea-reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

body.bea-fadeup-init .bea-reveal-target {
	opacity: 0;
	transform: translate3d(0, var(--bea-reveal-distance), 0);
	transition:
		opacity var(--bea-reveal-duration) var(--bea-reveal-ease),
		transform var(--bea-reveal-duration) var(--bea-reveal-ease);
	transition-delay: var(--bea-reveal-delay, 0ms);
	will-change: opacity, transform;
}

body.bea-fadeup-init .bea-reveal-target.bea-reveal-inview {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	body.bea-fadeup-init .bea-reveal-target,
	body.bea-fadeup-init .bea-reveal-target.bea-reveal-inview {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Opt-in image parallax.
Add class "bea-parallax-image" to an image block wrapper or directly on an <img>. */
.bea-parallax-image.bea-parallax-image-host {
	overflow: visible !important;
}

.bea-parallax-image.bea-parallax-image-host > .kt-inside-inner-col {
	overflow: visible !important;
}

.bea-parallax-image-target {
	--bea-parallax-offset: 0px;
	display: block;
	transform: translate3d(0, var(--bea-parallax-offset), 0);
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	.bea-parallax-image-target {
		transform: none;
	}
}

/* Main-content text-link color fallback (exclude navigation and button links). */
.wp-site-blocks > main :where(p, li, blockquote, figcaption) a:not(.kb-button):not(.wp-block-button__link):not(.wp-block-navigation-item__content),
.wp-site-blocks > main :where(p, li, blockquote, figcaption) a:not(.kb-button):not(.wp-block-button__link):not(.wp-block-navigation-item__content):visited,
.wp-site-blocks > main :where(p, li, blockquote, figcaption) a:not(.kb-button):not(.wp-block-button__link):not(.wp-block-navigation-item__content):focus-visible {
	color: #FF0059;
	text-decoration-color: currentColor;
}

.wp-site-blocks > main :where(p, li, blockquote, figcaption) a:not(.kb-button):not(.wp-block-button__link):not(.wp-block-navigation-item__content):hover {
	color: #FF0059;
	text-decoration: none;
}

/* Narrow standard blog-post body copy to improve readability.
single.html uses constrained layout, so set the layout content-size variable too. */
.single-post .wp-site-blocks > main .wp-block-post-content {
	width: min(100%, 800px);
	margin-inline: auto;
}

.single-post .wp-site-blocks > main .wp-block-post-content.is-layout-constrained {
	--wp--style--global--content-size: 800px;
}

.single-post .wp-site-blocks > main .wp-block-post-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 800px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* One-off Kadence Accordion trigger styling.
Add class "bea-accordion-arrow-style" to a Kadence Accordion block. */
.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger {
	flex: 0 0 46px !important;
	min-width: 46px !important;
	max-width: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	width: 46px !important;
	height: 46px !important;
	border-radius: 999px !important;
	background: #E6E6E8 !important;
	color: #070319 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative;
	border: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	line-height: 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger svg {
	display: none !important;
}

.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger::after {
	content: none !important;
}

.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-icon-trigger::before {
	content: "" !important;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 24px;
	height: 24px;
	background-color: currentColor !important;
	mask-image: url('/wp-content/uploads/2026/08/icon-arrow-mini-right.svg');
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: url('/wp-content/uploads/2026/08/icon-arrow-mini-right.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	transform: translate(-50%, -50%) rotate(90deg);
	transition: transform 0.2s ease;
}

.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-header:hover .kt-blocks-accordion-icon-trigger,
.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-header:focus-visible .kt-blocks-accordion-icon-trigger,
.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger {
	background: url('/wp-content/uploads/2026/08/button-bg.webp') center / cover no-repeat !important;
	color: #ffffff !important;
	transform: none !important;
	box-shadow: none !important;
}

.wp-block-kadence-accordion.bea-accordion-arrow-style .kt-accordion-header-wrap .kt-blocks-accordion-header.kt-accordion-panel-active .kt-blocks-accordion-icon-trigger::before {
	transform: translate(-50%, -50%) rotate(-90deg);
}

.kb-adv-form-success {
	margin-top: 15px !important;
    border-radius: 20px !important;
    background: #232039 !important;
    text-align: center !important;
}