/**
 * Theme Name:NutritieVitala	
 * Description: NutritieVitala
 * Author: Adrian Codreanu
 * Template: blocksy
 * Text Domain: blocksy
 */


@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700&family=Instrument+Serif:ital@0;1&family=Slabo+27px&display=swap');
body {
	word-break: keep-all;
hyphens: none;
 -webkit-hyphens: none;
-webkit-locale: "ro";
	--nv-primary-green: #728A6E;
	--nv-text-dark: #2d2d2d;
	--nv-text-light: #535353;
	--nv-white: #ffffff;
	--nv-border-light: #eaeaea;
	


}
ul {
   list-style: disc;
   padding-left: 1.5em;
}
ul li::marker {
	color: var(--nv-primary-green);
}

.has-nv-primary-green-color {
	color: var(--nv-primary-green);
}
.has-nv-primary-green-background-color {
	background-color: var(--nv-primary-green);
}




.has-nv-text-dark-background-color {
	background-color: var(--nv-text-dark);
}
.has-nv-text-light-color {
	color: var(--nv-text-light);
}

.nv-hero-title {
	font-size: clamp(37px, 12px + 5vw, 71px);
	font-weight: 700;
	line-height: 1.1;
	color: var(--nv-primary-green);
	margin-bottom: 0.2em;
}
.nv-image-shape-1 {
	clip-path: ellipse(65% 50% at 75% 50%);
}
.homerightimage img {
	max-width: 100%;
  left: -8px;
  position: relative;

}
.homeleftimage img {
	 max-width: 118%;
}
.nv-button .wp-block-button__link {
	border-radius: 50px !important;
	padding: 12px 28px;
	font-weight: 600;
	transition: all 0.3s ease;
}
.nv-button .wp-block-button__link:hover {
	transform: translateY(-4px);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.nv-button.is-style-fill .wp-block-button__link {
	background-color: var(--nv-primary-green) !important;
	color: white !important;
	border: 2px solid var(--nv-primary-green);
}
.nv-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--nv-primary-green) !important;
	border: 2px solid var(--nv-primary-green);
}

.nv-features-list {
	padding-left: 0;
	margin-top: 2em;
}
.nv-features-list li {
	font-size: 1.1rem;
	position: relative;
	margin-bottom: 1.5em;
}


.nv-process-number {
	font-size: 3rem;
	font-weight: 700;
	color: var(--nv-primary-green);
	line-height: 1;
	margin-bottom: 0.5em;
}
.nv-process-step h4 {
	font-weight: 600;
	margin-bottom: 0.5em;
}
.nv-process-step p {
	color: var(--nv-text-light);
}

.nv-testimonials-section {
	border-top: 1px solid var(--nv-border-light);
}
.nv-testimonial-card {
	padding: 2.5em 2em;
	height: 100%;
	border: 1px solid var(--nv-primary-green);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	background: #f3f5f3;
}
.nv-testimonial-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
.nv-testimonial-card p {
	margin: 0;
	font-style: italic;
	color: var(--nv-text-light);
}
.nv-testimonial-card p::before {
	content: '“';
	font-size: 3rem;
	font-weight: bold;
	color: var(--nv-primary-green);
	display: block;
	line-height: 0.5;
	margin-bottom: 0.25em;
}

.nv-ebook-section h2 {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	line-height: 1.2;
}

.nv-faq-accordion .nv-faq-item {
	border-bottom: 1px solid var(--nv-border-light);
	margin-bottom: 0.5em;
}
.nv-faq-accordion .nv-faq-item:last-child {
	border-bottom: none;
}
.nv-faq-accordion .nv-faq-question {
	font-size: 1.3rem;
	font-weight: 600;
	padding: 1.2em 0;
	cursor: pointer;
	position: relative;
	list-style: none;
	
}
.nv-faq-accordion .nv-faq-question::-webkit-details-marker {
	display: none;
	
}
.nv-faq-accordion .nv-faq-question::after {
	content: '+';
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.8rem;
	font-weight: 300;
	color: var(--nv-primary-green);
	transition: transform 0.3s ease;
}
.nv-faq-accordion .nv-faq-item[open] > .nv-faq-question::after {
	content: '−';
	transform: translateY(-50%) rotate(180deg);
}
.nv-faq-accordion .nv-faq-answer {
	padding-bottom: 1.5em;
	color: var(--nv-text-light);
}
.nv-faq-accordion .nv-faq-answer p {
	margin: 0;
}

.wp-block-cover__image-background.has-parallax{
	background-attachment: fixed !important;
}

@media (max-width: 767px) {
	.colreverse {
		flex-direction: column-reverse;
	}
}

/*produse*/
.products .product {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	height: auto;
}
.products .product > *:not(figure) {
	padding: 0px 15px;
}
.product .entry-excerpt {
	text-align: left;
}
.products .product .woocommerce-loop-product__title {
	padding: 10px 40px;
	min-height: 70px;
	display: grid;
	place-content: center;
	border-radius: 50px;
	background: #fff;
	border: 1px solid #ff9037;
	width: 100%;
	text-align: center;
}
body .products .ct-woo-card-actions {
	padding-bottom: 30px !important;
	border: 0;
}
body .products .ct-woo-card-actions .add_to_cart_button {
	box-shadow: -5px 5px 10px #8cb82d4f;
	background: var(--nv-primary-green);
	color: #fff;
	border: 0;
	bottom: 0px;
	transition: 0.3s;
	font-size: 0;
	position: relative;
	line-height: 1;
}
body .products .ct-woo-card-actions .add_to_cart_button::after {
	content: "Cumpără";
	display: block;
	margin: auto;
	color: #fff;
	font-size: 18px !important;
	width: 100%;
	height: 100%;
	z-index: 999;
	position: relative;
}
body .products .ct-woo-card-actions .add_to_cart_button:hover,
body .products .ct-woo-card-actions .add_to_cart_butto:active {
	background: #507151;
	color: #fff;
	bottom: 5px;
}
body .products .ct-woo-card-actions .price:not(:only-child)::after {
	display: none;
}


.nv-process-section {
    position: relative;
    overflow-x: clip; 
}


.nv-process-section .wp-block-columns {
    position: relative;
}

.nv-process-step {
    background-color: var(--nv-white);
    border-radius: 20px;
    padding: 3em 2em;
    text-align: center;
    position: relative;
    border: 1px solid var(--nv-border-light);
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden; 
    z-index: 1; 
}

.nv-process-step:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}


.nv-process-step .nv-process-number {
    position: absolute;
   top: 3px;
  left: 4px;
    font-size: 5rem;
    font-weight: 800;
    line-height: 1;
    color: var(--nv-light-tan);
    z-index: 0;
    margin: 0;
}


.nv-process-step h4,
.nv-process-step p:not(.nv-process-number) {
    position: relative;
    z-index: 1;
}

.nv-process-step h4 {
    font-weight: 700;
    font-size: 1.3rem;
    margin-bottom: 0.5em;
    color: var(--nv-text-dark);
}

.nv-process-step p:not(.nv-process-number) {
    color: var(--nv-text-light);
    font-size: 1rem;
    line-height: 1.6;
}


.nv-process-step:not(:last-child)::after {
    content: '→';
    position: absolute;
    top: 50%;
    right: -35px; 
    transform: translateY(-50%);
    font-size: 2.5rem;
    color: var(--nv-primary-green);
    opacity: 0.5;
    z-index: -1; 
}


@media (max-width: 781px) {
    .nv-process-step:not(:last-child)::after {
        display: none;
    }
}


@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.fade-in-up {
    opacity: 0; /* Ascunde elementele inițial */
}


.fade-in-up.is-visible {
    animation: fadeInUp 0.8s ease-out forwards;
}


.nv-process-section .nv-process-step:nth-child(1) { animation-delay: 0.1s; }
.nv-process-section .nv-process-step:nth-child(2) { animation-delay: 0.3s; }
.nv-process-section .nv-process-step:nth-child(3) { animation-delay: 0.5s; }


.ctaanim1 {
  animation: slide-bounce2  2s ease-in-out infinite;
}

.ctaanim2 {
  animation: slide-bounce 3s ease-in-out infinite;
}

@keyframes slide-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-5px);
  }
  75% {
    transform: translateY(5px);
  }
}
@keyframes slide-bounce2 {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-5px);
  }
  75% {
    transform: translateY(5px);
  }
}

/*despre*/
@keyframes fadeInUpBounce {
	from {
		opacity: 0;
		transform: translateY(40px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}
@keyframes pulse {
	0%,
	100% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.02);
	}
}
@keyframes gentle-sway {
	0%,
	100% {
		transform: translateY(0px) rotate(0deg);
	}
	50% {
		transform: translateY(-5px) rotate(0.5deg);
	}
}
@keyframes cta-float {
	0%,
	100% {
		transform: translateY(0px);
	}
	50% {
		transform: translateY(-8px);
	}
}
@keyframes float-bg-1 {
	0%,
	100% {
		transform: translate(0, 0) rotate(0deg) scale(1);
	}
	33% {
		transform: translate(30px, -50px) rotate(120deg) scale(1.1);
	}
	66% {
		transform: translate(-40px, 20px) rotate(240deg) scale(0.9);
	}
}
@keyframes float-bg-2 {
	0%,
	100% {
		transform: translate(0, 0) rotate(0deg) scale(1);
	}
	50% {
		transform: translate(-60px, 40px) rotate(-180deg) scale(1.15);
	}
}
.about-me-wrapper {
	position: relative;
	overflow: hidden;
	background-color: #f8f9fa;
}
.about-me-wrapper::before,
.about-me-wrapper::after {
	content: '';
	position: absolute;
	z-index: 0;
	border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
	opacity: 0.5;
	filter: blur(60px);
}
.about-me-wrapper::before {
	width: 500px;
	height: 500px;
	background: radial-gradient(circle, #a8d06a 0%, transparent 70%);
	top: -200px;
	right: -200px;
	animation: float-bg-1 35s infinite ease-in-out;
}
.about-me-wrapper::after {
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, #6CA43E 0%, transparent 70%);
	bottom: -250px;
	left: -250px;
	animation: float-bg-2 40s infinite ease-in-out;
}
.about-me-wrapper > * {
	position: relative;
	z-index: 1;
}
.about-me-image {
	opacity: 0;
	animation: fadeInUpBounce 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s forwards, pulse 4s ease-in-out 1.5s infinite;
	transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55), box-shadow 0.5s ease;
	border-radius: 50%;
}
.about-me-image:hover {
	animation-play-state: paused;
	transform: scale(1.08) rotate(3deg);
	box-shadow: 0 20px 40px rgba(108, 164, 62, 0.25), 0 0 25px rgba(108, 164, 62, 0.3);
}
.about-me-intro-text > * {
	opacity: 0;
	animation: fadeInUpBounce 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
.about-me-intro-text h1 {
	animation-delay: 0.5s;
	background: linear-gradient(45deg, #4a7c2a, #6CA43E);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}
.about-me-intro-text p:nth-of-type(1) {
	animation-delay: 0.7s;
}
.about-me-intro-text p:nth-of-type(2) {
	animation-delay: 0.9s;
}
.service-card {
	opacity: 0;
	padding: 30px;
	border-radius: 15px;
	background-color: #ffffff;
	border: 1px solid rgba(108, 164, 62, 0.1);
	transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
	animation: fadeInUpBounce 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards, gentle-sway 6s ease-in-out 2.5s infinite;
	transform-style: preserve-3d;
	position: relative;
	overflow: hidden;
}
.service-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #6CA43E, #a8d06a);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.5s ease;
}
.service-card:hover::before {
	transform: scaleX(1);
}
.wp-block-columns .service-card:nth-child(1) {
	animation-delay: 0.9s, 2.0s;
}
.wp-block-columns .service-card:nth-child(2) {
	animation-delay: 1.0s, 2.2s;
}
.wp-block-columns .service-card:nth-child(3) {
	animation-delay: 1.2s, 2.3s;
}
.service-card:hover {
	animation-play-state: paused;
	transform: translateY(-12px) rotateX(5deg) rotateY(-2deg);
	box-shadow: 0 25px 50px rgba(0, 0, 0, 0.08), 0 0 0 1px #6CA43E;
}
.service-card h3 {
	margin-bottom: 15px;
	color: #4a7c2a;
	transition: color 0.3s ease;
}
.service-card:hover h3 {
	color: #6CA43E;
}
.final-cta-section {
	opacity: 0;
	animation: fadeInUpBounce 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 1.7s forwards;
	text-align: center;
	padding: 40px;
	background: linear-gradient(135deg, rgba(168, 208, 106, 0.1), rgba(108, 164, 62, 0.2));
	border-radius: 20px;
	border: 1px solid rgba(108, 164, 62, 0.2);
}
.cta-button {
	margin-top: 20px;
}
.cta-button a {
	display: inline-block;
	padding: 15px 35px;
	background: linear-gradient(45deg, #6CA43E, #a8d06a);
	color: #ffffff;
	text-decoration: none;
	border-radius: 50px;
	font-weight: bold;
	font-size: 1.1rem;
	position: relative;
	overflow: hidden;
	transition: all 0.4s ease;
	box-shadow: 0 5px 15px rgba(108, 164, 62, 0.25);
	animation: cta-float 3s ease-in-out 2s infinite;
}
.cta-button a::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(45deg, #4a7c2a, #6CA43E);
	transition: left 0.5s ease;
	z-index: 1;
}
.cta-button a span {
	position: relative;
	z-index: 2;
}
.cta-button a:hover {
	animation-play-state: paused;
	transform: scale(1.05);
	box-shadow: 0 10px 25px rgba(108, 164, 62, 0.4);
	color: #ffffff;
}
.cta-button a:hover::before {
	left: 0;
}

@media (max-width: 768px) {
.colreverse {
	flex-direction: column-reverse;
}
}


.woocommerce-input-wrapper input {
	border-color: #000;
}
.form-row.validate-required.woocommerce-invalid  .woocommerce-form__label-for-checkbox.checkbox #terms {
	border-color: #000 !important;
	background: #fff;
	
}
#ship-to-different-address,
.woocommerce-shipping-fields .woocommerce-additional-fields {
	display: none !important;
}

.woocommerce-terms-and-conditions-wrapper .form-row.validate-required {
	background: #fff;
	padding: 5px;
	line-height: 1;
	border-radius: 10px;
	
}.woocommerce-terms-and-conditions-wrapper .form-row.validate-required span {
	font-size: 18px;
}


/* Interview Block Styles */

.interview-question p {
    padding: 16px 20px;
    border-radius: 8px;
    font-weight: 600; /* Semi-bold for emphasis */
    margin-bottom: 8px; /* Spacing between question and answer */
    color: #45704e; /* Darker text for readability */
}

.interview-answer {
    padding-left: 20px;
    margin-bottom: 24px; /* Space after each answer */
    border-left: 3px solid #d1d5db; /* A subtle left border */
}

.interview-answer p {
    margin-bottom: 1em;
}

.interview-answer p:last-child {
    margin-bottom: 0;
}