/*-----------------------------------
	Noviolan theme tokens
-------------------------------------*/
:root {
	--brand: #a23b62;
	--brand-dark: #6e2342;
	--brand-deep: #3a1428;
	--brand-light: #fbeef3;
	--accent: #c9a45c;
	--accent-light: #f3dfb4;
	--ink: #2b1620;
	--soft-bg: #fdf7f4;

	/* legacy aliases used by the vigo template */
	--brand-green: var(--brand);
	--brand-green-dark: var(--brand-dark);
	--brand-orange: var(--accent);
	--brand-red: #c0392b;
}

/*-----------------------------------
	Typography — one font (Mulish) for the whole page.
	!important beats template rules and inline styles;
	FontAwesome icons (.fa / pseudo-elements) are excluded.
-------------------------------------*/
body {
	color: #4a3a41;
}
body,
body *:not(.fa):not([class^="fa-"]):not([class*=" fa-"]) {
	font-family: "Mulish", "Segoe UI", sans-serif !important;
}
h1, h2, h3, h4, h5, h6, .ral, .cou {
	letter-spacing: normal;
}
h1, h2, h3,
.page-main-title {
	color: var(--ink);
	font-weight: 700;
}
.page-main-title.white,
.white h1, .white h2, .white h3 {
	color: #fff;
}
.cou {
	font-style: normal;
}
.navbar-brand span {
	font-weight: 800 !important;
	letter-spacing: .3px;
}

/*-----------------------------------
	Theme Background Color
-------------------------------------*/
.header-top,
.vigo-loder,
.services .services-box:before,
.call-to-action .bg-green,
.vigo-btn,
.product-features .media:hover .product-features-img, .product-features .media:hover .media-body,
.recommended .recommended-box:before,
.newsletter input,
.ingredients .active,
.ingredients .accordion-content,
.page-title:before,
footer .footer-title:before,
.testimonial .owl-dots .active,
footer .footer-box-border:before,
.hvr-shutter-in-horizontal:hover,
.call-to-action{
	background: var(--brand) !important;
}

/*-----------------------------------
	Theme Font Color
-------------------------------------*/
.green,
.page-title .page-sub-title,
.services .services-container-title .page-sub-title,
.recommended .recommended-container-title .page-sub-title,
.vigo-product .product_rating i,
.mixitup-control-active,
.newsletter .white-btn:hover,
.gallery .gallery-filter-btn-group .btn-secondary:hover,
.main-nav .current a{
	color: var(--brand) !important;
}

.vigo-product .product_rating i { color: var(--accent) !important; }
.newsletter { background-color: var(--brand-deep); }
.process { background-color: var(--brand-deep); }
#footer { background-color: var(--brand-deep); }
.copyright.bg-black { background: #24101a !important; }

/*-----------------------------------
	FontAwesome icons replacing template image icons
-------------------------------------*/
.nov-icon {
	display: inline-block;
	line-height: 1;
	color: var(--brand);
	transition: transform .3s ease, color .3s ease;
}
.features .features-box .nov-icon--feature {
	font-size: 46px;
	margin-bottom: 6px;
}
.features .features-box:hover .nov-icon--feature { transform: translateY(-4px); }
.vigo-price .pricing-icon-box .nov-icon--pricing {
	font-size: 50px;
	color: var(--brand);
}
.process .process-box .nov-icon--process {
	font-size: 42px;
	margin-bottom: 8px;
	color: var(--accent-light);
}
.process .process-box:hover .nov-icon--process { transform: translateY(-10px); }
.product-features .product-features-img .nov-icon--ingredient {
	font-size: 26px;
	color: var(--brand);
}
.product-features .media:hover .product-features-img .nov-icon--ingredient { color: #fff; }
.works_block .certification-img-box {
	background: var(--brand) !important;
}
.works_block .certification-img-box .nov-icon--work {
	flex-shrink: 0;
	font-size: 34px;
	margin-right: 12px;
	color: var(--accent-light);
}
.testimonial .testimonial-box .nov-icon--quote {
	display: block;
	width: auto !important;
	font-size: 38px;
	color: var(--accent-light);
}
@media (min-width: 768px) {
	.testimonial .testimonial-box .nov-icon--quote { font-size: 52px; }
}

/*-----------------------------------
	Testimonials header (title + "all reviews" link)
-------------------------------------*/
.testimonial .testimonial-title {
	margin: 0 0 12px !important;
	line-height: 1.2;
	text-align: center;
}
.testimonial .testimonial-more {
	margin: 0 0 28px;
	text-align: center;
	line-height: 1.4;
}
.testimonial .testimonial-more a {
	color: var(--accent-light);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	border-bottom: 1px solid rgba(243, 223, 180, .45);
	transition: color .2s, border-color .2s;
}
.testimonial .testimonial-more a:hover {
	color: #fff;
	border-color: #fff;
}

/*-----------------------------------
	Phone input with country flag (intlTelInput)
-------------------------------------*/
.iti {
	display: block;
	width: 100%;
}
.modal .iti__country-list {
	z-index: 1060;
}

/*-----------------------------------
	Language switcher
-------------------------------------*/
/* Single source of styling for the switcher on every page — no per-page overrides */
.main-nav .lang-switch,
.lang-switch {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0 0 0 18px;
	padding: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .8px;
	line-height: 1;
	white-space: nowrap;
}
.main-nav .lang-switch a,
.lang-switch a {
	position: relative;
	display: inline-block;
	padding: 6px 4px;
	background: none !important;
	border: 0 !important;
	border-radius: 0;
	color: #9b8790 !important;
	opacity: 1 !important;
	text-decoration: none !important;
	transition: color .2s ease;
}
.main-nav .lang-switch a::after,
.lang-switch a::after {
	content: "";
	position: absolute;
	left: 4px;
	right: 4px;
	bottom: 0;
	height: 2px;
	border-radius: 2px;
	background: var(--brand);
	transform: scaleX(0);
	transition: transform .2s ease;
}
.main-nav .lang-switch a:hover,
.lang-switch a:hover {
	color: var(--brand-dark) !important;
}
.main-nav .lang-switch a.active,
.lang-switch a.active {
	color: var(--brand) !important;
	font-weight: 800;
}
.main-nav .lang-switch a.active::after,
.lang-switch a.active::after {
	transform: scaleX(1);
}
.lang-switch .sep {
	padding: 0 3px;
	color: #d9c7cf;
	font-weight: 400;
	user-select: none;
}
@media (max-width: 991px) {
	.main-nav .lang-switch,
	.lang-switch {
		justify-content: center;
		margin: 12px 0 8px;
	}
}
