/*
  Theme Name: Death is a Verb
  Theme URI: https://www.creocoding.com
  Author: Creo Coding
  Author URI: https://www.creocoding.com
  Description: Base theme for DiaV and Divi
  Template:     Divi
  Versoin: 1.0.0
*/

:root {
	--breath-scale: 1;
	--breath-opacity: 1;
}

/* Base page */
body:not(.home) {
	position: relative;
	background: transparent;
	overflow-x: hidden;

	animation: breathe 8s ease-in-out infinite;
}

.wp-site-blocks,
.site,
.site-content,
main,
#main-content {
	background: transparent !important;
}

/* === LAYER 1: Slow environmental shift === */
body:not(.home)::before {
	content: "";
	position: fixed;
	inset: -50%;
	z-index: -3;
	pointer-events: none;
	background: linear-gradient(120deg, #0E0C07, #1a1f16, #2a3323, #1c261b, #0E0C07);
	background-size: 300% 300%;
	animation: bgShift 120s linear infinite, breathe 10s cubic-bezier(0.4, 0, 0.2, 1) infinite;
	filter: blur(60px) contrast(105%);
	transform: scale(var(--breath-scale));
}

body:not(.home)::after {
	content: "";
	position: fixed;
	inset: -25%;
	z-index: -2;
	pointer-events: none;
	background: radial-gradient(35% 40% at 18% 30%, rgba(61, 122, 92, 0.10), transparent 70%),
		/* jade */
		radial-gradient(30% 35% at 75% 60%, rgba(196, 98, 42, 0.9), transparent 70%),
		/* copper */
		radial-gradient(40% 45% at 60% 20%, rgba(143, 175, 126, 0.8), transparent 75%),
		/* sage */
		radial-gradient(45% 50% at 30% 80%, rgba(196, 90, 58, 0.8), transparent 75%),
		/* terracotta */
		radial-gradient(35% 40% at 85% 25%, rgba(107, 63, 138, 0.6), transparent 70%),
		/* violet */
		radial-gradient(30% 35% at 50% 50%, rgba(232, 160, 32, 0.7), transparent 70%)
		/* saffron */
	;
	filter: blur(50px) opacity(0.8);
	animation: bgShift 120s linear infinite, breathe 10s cubic-bezier(0.4, 0, 0.2, 1) infinite, warmthShift 18s ease-in-out infinite, microDrift 12s ease-in-out infinite;
	will-change: transform;
	transform: scale(calc(var(--breath-scale) * 1.01));
	animation-delay: -2s;
	opacity: calc(var(--breath-opacity) * 0.9);
}

.et_pb_text,
h1,
h2,
h3,
p {
	opacity: var(--breath-opacity);

	transform:
		translateY(calc((.5 - var(--breath-scale)))) scale(var(--breath-scale));

	will-change: transform, opacity;
}


body {
	--scroll: 0;
	/* will be updated via JS */
}

/* Soil depth overlay */
body::marker {
	content: none;
}

html::after {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: -1;

	background:
		radial-gradient(120% 80% at 50% 10%, rgba(247, 242, 232, 0.06), transparent 60%),
		radial-gradient(100% 70% at 50% 40%, rgba(143, 175, 126, 0.08), transparent 70%),
		radial-gradient(120% 80% at 50% 70%, rgba(196, 90, 58, 0.10), transparent 75%),
		radial-gradient(140% 100% at 50% 100%, rgba(14, 12, 7, 0.45), transparent 80%);

	opacity: calc(0.35 + var(--scroll) * 0.6);
	transition: opacity 0.2s linear;
}

html::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;

	background-image: url('/wp-content/themes/diav/mushroom.jpg');
	background-size: cover;
	background-position: center;

	opacity: calc(var(--scroll) * 0.75);
	mix-blend-mode: multiply;

	filter: contrast(1.1) saturate(0.9);
}


#page-container,
.et_builder_inner_content {
	position: relative;
	z-index: 1;
}


.et_pb_module:not(.et_pb_menu_0_tb_header) {
	transition: transform 0.9s ease, opacity 0.8s ease;
}

.et_pb_module:not(.et_pb_menu_0_tb_header):not(.dpdfg_filtergrid) {
	transform: scale(calc(1 + (var(--breath-scale) - 1) * 0.15));
}
.et_pb_module:hover:not(.et_pb_menu_0_tb_header):not(.dpdfg_filtergrid) { 
	transform: scale(1.02);
}

.et_pb_module:hover~.et_pb_module {
	opacity: 0.85;
}

.related {
	opacity: 0.6;
}

.active+.related {
	opacity: 1;
}


/*Menu*/
header .et_pb_menu_0_tb_header.et_pb_menu {
	left: 0;
	right: auto;
	background-color: #00000069;
	padding: 35px;
	height: 100%;
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li a {
	font-style: italic;
	font-size: 23px;
	color: #FFFFFF !important;
	line-height: 1.3em;
}

header .et_pb_menu_0_tb_header.et_pb_menu .et_pb_menu__menu,
header .et_pb_menu_0_tb_header.et_pb_menu .et_pb_menu__menu ul {
	display: block;
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li {
	position: relative;
	transition: transform 0.25s ease, opacity 0.25s ease;
}

/* stagger each item slightly */
header .et_pb_menu_0_tb_header.et_pb_menu ul li:nth-child(odd) {
	transform: translateX(-6px);
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li:nth-child(even) {
	transform: translateX(4px);
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li a {
	display: block;
	will-change: transform;
	transition: transform 0.4s ease, opacity 0.4s ease;
}


header .et_pb_menu_0_tb_header.et_pb_menu ul li:hover a {
	transform: translateX(8px);
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li:hover~li a {
	opacity: 0.6;
	transform: translateX(2px);
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li a::after {
	content: "";
	display: block;
	height: 1px;
	width: 0%;
	background: rgba(143, 175, 126, 0.4);
	transition: width 0.4s ease;
	margin-top: 6px;
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li:hover a::after {
	width: 60%;
}


header .et_pb_menu_0_tb_header.et_pb_menu ul li {
	animation: navDrift 14s ease-in-out infinite;
}


header .et_pb_menu_0_tb_header.et_pb_menu ul li:nth-child(2) {
	animation-duration: 14s;
}

header .et_pb_menu_0_tb_header.et_pb_menu ul li:nth-child(3) {
	animation-duration: 11s;
}


/* Masonry Compost */
#main-content .et_pb_row .dp-dfg-item {
	position: relative;
	padding: 22px 20px;
	border-radius: 18px;

	transform: scale(calc(1 + (var(--breath-scale) - 1) * 0.25));

	transition: transform 0.4s ease, box-shadow 0.4s ease;

	background: radial-gradient(120% 120% at 50% 20%,
			rgba(143, 175, 126, 0.08),
			rgba(14, 12, 7, 0.28));

	backdrop-filter: blur(6px);
}

#main-content .et_pb_row .dp-dfg-item::after {
	content: "";
	position: absolute;
	inset: -10px;
	border-radius: inherit;

	background: radial-gradient(circle at center,
			rgba(143, 175, 126, 0.15),
			transparent 70%);

	opacity: 0;
	transition: opacity 0.4s ease;
	pointer-events: none;
}

#main-content .et_pb_row .dp-dfg-item:hover::after {
	opacity: 1;
}

#main-content .et_pb_row .dp-dfg-item:hover {
	transform: scale(1.025);
}

#main-content .et_pb_row .dp-dfg-item:hover~.dp-dfg-item {
	opacity: 0.7;
	transform: scale(0.995);
}

#main-content .et_pb_row .dp-dfg-masonry-item:nth-child(odd) .dp-dfg-item {
	transform: translateY(6px);
}

#main-content .et_pb_row .dp-dfg-masonry-item:nth-child(even) .dp-dfg-item {
	transform: translateY(-4px);
}

#main-content .et_pb_row .dp-dfg-featured-image,
#main-content .et_pb_row .wp-block-image img {
	border-radius: 12px;
	transition: transform 1.2s ease, filter 1.2s ease;
}

#main-content .et_pb_row .dp-dfg-item:hover img {
	transform: scale(1.04);
	filter: contrast(1.05) saturate(1.05);
}

#main-content .et_pb_row .wp-block-audio {
	filter: opacity(0.85);
	transition: filter 0.4s ease;
}

#main-content .et_pb_row .dp-dfg-item:hover .wp-block-audio {
	filter: opacity(1);
}

#main-content .et_pb_row .wp-block-video video {
	border-radius: 12px;
	filter: brightness(0.9);
	transition: filter 0.6s ease;
}

#main-content .et_pb_row .dp-dfg-item:hover video {
	filter: brightness(1);
}

#main-content .et_pb_row .dp-dfg-header h2 {
	font-style: italic;
	letter-spacing: 0.03em;

	transition: transform 0.4s ease, opacity 0.4s ease;
}

#main-content .et_pb_row .dp-dfg-item:hover h2 {
	transform: translateX(4px);
}

#main-content .et_pb_row .dp-dfg-item {
	box-shadow:
		0 0 0 1px rgba(143, 175, 126, 0.03),
		0 10px 30px rgba(0, 0, 0, 0.25);
}

#main-content .et_pb_row .dp-dfg-item:hover {
	box-shadow:
		0 0 0 1px rgba(143, 175, 126, 0.12),
		0 20px 50px rgba(0, 0, 0, 0.35);
}

#main-content .et_pb_row .dp-dfg-layout-masonry-standard .dp-dfg-image {
	text-align: center;
}

#main-content .et_pb_row .dp-dfg-masonry-item:nth-child(3n + 1) .dp-dfg-item {
	background: radial-gradient(120% 120% at 50% 20%,
			rgba(143, 175, 126, 0.6),
			rgba(14, 12, 7, 0.28));
}

#main-content .et_pb_row .dp-dfg-masonry-item:nth-child(3n + 2) .dp-dfg-item {
	background: radial-gradient(120% 120% at 50% 20%,
			rgba(196, 90, 58, 0.5),
			rgba(14, 12, 7, 0.30));
}

#main-content .et_pb_row .dp-dfg-masonry-item:nth-child(3n + 3) .dp-dfg-item {
	background: radial-gradient(120% 120% at 50% 20%,
			rgba(107, 63, 138, 0.4),
			rgba(14, 12, 7, 0.27));
}

#main-content .et_pb_row .dp-dfg-meta.entry-meta {
	margin: 0 0 10px;
}


a,
.et_pb_button {
	transition: color 0.4s ease, text-shadow 0.4s ease;
}

a:hover,
.et_pb_button:hover {
	text-shadow: 0 0 8px rgba(143, 175, 126, 0.4);
}


/* SPORES */
#spores {
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0.6;
	mix-blend-mode: screen;
}


/* === Animations === */

@keyframes breathe {
	0% {
		--breath-scale: 1;
		--breath-opacity: 0.96;
	}

	10% {
		--breath-scale: 1.03;
		--breath-opacity: 1;
	}

	15% {
		--breath-scale: 1.05;
		--breath-opacity: 1;
	}

	20% {
		--breath-scale: 1.07;
		--breath-opacity: 1;
	}

	25% {
		--breath-scale: 1.09;
		--breath-opacity: 1;
	}

	30% {
		--breath-scale: 1.11;
		--breath-opacity: 1;
	}

	35% {
		--breath-scale: 1.13;
		--breath-opacity: 1;
	}

	40% {
		--breath-scale: 1.15;
		--breath-opacity: 1;
	}

	45% {
		--breath-scale: 1.17;
		--breath-opacity: 1;
	}

	50% {
		--breath-scale: 1.19;
		--breath-opacity: 1;
	}

	55% {
		--breath-scale: 1.17;
		--breath-opacity: 1;
	}

	60% {
		--breath-scale: 1.15;
		--breath-opacity: 1;
	}

	65% {
		--breath-scale: 1.13;
		--breath-opacity: 1;
	}

	70% {
		--breath-scale: 1.11;
		--breath-opacity: 1;
	}

	75% {
		--breath-scale: 1.09;
		--breath-opacity: 1;
	}

	80% {
		--breath-scale: 1.07;
		--breath-opacity: 1;
	}

	85% {
		--breath-scale: 1.05;
		--breath-opacity: 1;
	}

	90% {
		--breath-scale: 1.03;
		--breath-opacity: 1;
	}

	100% {
		--breath-scale: 1;
		--breath-opacity: 0.96;
	}
}

@keyframes microDrift {
	0% {
		transform: translate3d(0px, 0px, 0);
	}

	50% {
		transform: translate3d(0.5px, -0.8px, 0);
	}

	100% {
		transform: translate3d(0px, 0px, 0);
	}
}

@keyframes bgShift {
	0% {
		background-position: 0% 50%;
	}

	50% {
		background-position: 100% 50%;
	}

	100% {
		background-position: 0% 50%;
	}
}

@keyframes warmthShift {

	0%,
	100% {
		filter: blur(60px) contrast(105%) hue-rotate(0deg);
	}

	50% {
		filter: blur(60px) contrast(110%) hue-rotate(8deg);
	}
}

@keyframes driftOrganic {
	0% {
		transform: translate3d(0%, 0%, 0) scale(var(--breath-scale));
	}

	50% {
		transform: translate3d(-4%, 3%, 0) scale(calc(var(--breath-scale) * 1.04));
	}

	100% {
		transform: translate3d(4%, -3%, 0) scale(calc(var(--breath-scale) * 1.02));
	}
}

@keyframes navDrift {
	0% {
		transform: translateX(0px);
	}

	50% {
		transform: translateX(2px);
	}

	100% {
		transform: translateX(0px);
	}
}

@keyframes compostPulse {

	0%,
	100% {
		filter: brightness(1) saturate(1);
	}

	50% {
		filter: brightness(1.05) saturate(1.08);
	}
}


@keyframes soilDrift {
	0% {
		transform: scale(1) translate3d(0%, 0%, 0);
	}

	100% {
		transform: scale(1.03) translate3d(-1%, 1%, 0);
	}
}

/* Media changes */
@media (prefers-reduced-motion: reduce) {

	body::before,
	body::after {
		animation: none;
	}
}

/* WP Forms */
body .wpuf-message {
	line-height:130%;
}
.wpuf-registration-form, #wpuf-login-form {
	background-color: #00000069;
	text-align: center;
	margin:0 auto;
	max-width:320px;
	border-radius:5px;
    padding: 50px 25px;
}
.wpuf-registration-form { 
	max-width:500px;
	text-align:left;
	padding-left:50px;
}
body ul.wpuf-form li label.wpuf-form-sub-label {
	display:block;
}
.wpuf-login-form input.text, 
.wpuf-login-form input.title, 
.wpuf-login-form input[type=email], 
.wpuf-login-form input[type=password], 
.wpuf-login-form input[type=tel], 
.wpuf-login-form input[type=text], 
.wpuf-login-form select,
.wpuf-login-form textarea {
	padding: 6px 10px;
    color: #000;
    font-size: 16px;
    border-radius: 5px;
}
.wpuf-registration-form input.text, 
.wpuf-registration-form input.title, 
.wpuf-registration-form input[type=email], 
.wpuf-registration-form input[type=password], 
.wpuf-registration-form input[type=tel], 
.wpuf-registration-form input[type=text], 
.wpuf-registration-form select,
.wpuf-registration-form textarea {
	padding: 6px 10px;
    color: #000;
    font-size: 16px;
    border-radius: 5px;
}
.wp-submit, #wp-submit, #main-content .wpuf-account-container .wpuf-form-add .wpuf-submit-button  {
	font-size: 17px;
    background-color: #c4622a;
    border-width: 0px !important;
    font-weight: normal;
    font-style: normal;
    text-transform: uppercase;
    text-decoration: none;
	color:#FFFFFF;
}
select:where(.wpuf_packs,.wpuf_packs *,#wpuf-subscription-page,#wpuf-subscription-page *,#wpuf-form-builder,#wpuf-form-builder *,#wpuf-profile-forms-list-table-view,#wpuf-profile-forms-list-table-view *,#wpuf-post-forms-list-table-view,#wpuf-post-forms-list-table-view *,#wpuf-ai-form-builder,#wpuf-ai-form-builder *,.wpuf-ai-form-wrapper,.wpuf-ai-form-wrapper *,.swal2-container,.swal2-container *,.wpuf-account-container,.wpuf-account-container *,.wpuf-form-template-modal,.wpuf-form-template-modal *)

{
	width: 100% !important;
    max-width: 772px !important;
    height: 42px !important;
    padding: 9px 13px !important;
    font-size: .875rem !important;
    line-height: 1.25rem !important;
    color: #111827 !important;
    background-color: #fff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: .375rem !important;
    opacity: 1 !important;
    transition: all .15s cubic-bezier(.4, 0, .2, 1) !important;
    box-shadow: none !important;
    margin-bottom: 0 !important;
}
#main-content .wpuf-account-container .wpuf-form-add .wpuf-label label {
	color:#FFFFFF !important;
	font-size:16px;
}


.wpuf-account-container .wpuf-profile-avatar {
	justify-content:center;
}
.wpuf-account-container {
	background-color: #00000069;
	text-align: center;
	margin:0 auto;
	border-radius:5px;
    padding: 50px 25px;
}
.wpuf-account-nav ul li {
	list-style:none;
}
.wpuf-account-nav .wpuf-account-nav-item {
	color:#FFFFFF;
}

/* CSS clean Up */
#main-content .et_pb_section .et_pb_row {
	
}
body:not(.home) {
	padding-left:225px;
}
.container, .et_pb_row, .et_pb_slider .et_pb_container, 
.et_pb_fullwidth_section .et_pb_title_container, 
.et_pb_fullwidth_section .et_pb_title_featured_container, 
.et_pb_fullwidth_header:not(.et_pb_fullscreen) .et_pb_fullwidth_header_container {
	max-width:1920px;
}
.et_pb_row_0_tb_header, body #page-container .et-db #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row, 
body.et_pb_pagebuilder_layout.single #page-container #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row, 
body.et_pb_pagebuilder_layout.single.et_full_width_page #page-container #et-boc .et-l .et_pb_row_0_tb_header.et_pb_row {
	max-width:1280px;
}



/* Universal animation killer */
body.animations-disabled,
body.animations-disabled *,
body.animations-disabled *::before,
body.animations-disabled *::after {
    animation: none !important;
    animation-play-state: paused !important;
    transition: none !important;
    transform: none !important;
}

/* Specific overrides for Divi elements */
body.animations-disabled .et_pb_module {
    transform: scale(1) !important;
}

body.animations-disabled .et_pb_section {
    transform: none !important;
}

body.animations-disabled #spores {
    display: none !important;
}

body.animations-disabled .et_pb_menu_0_tb_header.et_pb_menu ul li {
    animation: none !important;
    transform: none !important;
}

body.animations-disabled .floating-link {
    transform: translate(0, 0) !important;
}

body.animations-disabled #menu-primary-menu li a {
    transform: none !important;
    opacity: 1 !important;
}





/* mobile */
@media screen and (max-width:960px) {
body:not(.home) {
	padding-left:0;
}
header .et_pb_menu_0_tb_header.et_pb_menu {
	left: 0;
	right: auto;
	background-color: #000;
	padding: 35px;
	height: 100%;
	display:none;
}
header .et_pb_column .menu-toggle{
	display:block;
	position:fixed;
	top:17px;
	right:17px;
	color:#fff;
}
header .et_pb_column .menu-toggle .et_pb_icon_wrap .et-pb-icon {
	color:#e8a020;
	font-size:45px;
}
}