/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

 
/**,
*::before,
*::after {
    box-sizing: border-box !important;
    outline: 2px solid lime !important;
    background: rgb(0 100 0 / .1) !important;
}*/

:root {
	--primary-color: #415350;
	--secondary-color: #176A55;
	--accent-color: #ADD9B1;
	--heading-color: #171111;
	--text-color: #000000A6;
	--primary-font: "Manrope", Sans-serif;
}

.allow_all_btn {
	border-radius: 25px !important;
}

/* Fixing Unwanted Horizontal Page Scroll */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}

/* Prevent link "flashing" on click */
button,
a,
.elementor-swiper-button,
.noSelect{
    -webkit-touch-callout: none; 
    -webkit-user-select: none; 
    -khtml-user-select: none; 
    -moz-user-select: none; 
    -ms-user-select: none; 
    user-select: none; 
    -webkit-tap-highlight-color: transparent;
}

/* Remove outline from input fields */
input:focus-visible{
	outline: 0;
}

/* Classes */
.aspect-ratio-1-1{
	aspect-ratio: 1 / 1;
}
.centered-horizontaly{
	transform: translate(-50%, 0);
}
.centered-horizontaly-verticaly{
	transform: translate(-50%, -50%);
}
.hover-effect{
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    -ms-transition: all 0.6s ease;
    transition: all 0.6s ease;
}
.hover-effect-fast{
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}
.styled-link a:before {
	background: var( --e-global-color-secondary );
	bottom: 0rem;
	content: "";
	display: inline-block;
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: bottom right;
	transition: transform .5s;
	transition-timing-function: cubic-bezier(.14, 0, 0, 1.01);
	width: 100%;
}
.styled-link a:hover:before{
	transform: scaleX(1);
  	transform-origin: bottom left;
	text-decoration: none;
}
.styled-link.for-light-background a:before {
	background: var(--e-global-color-bb5e08d);
}
/* Classes */


 
/*** Elementor fixes ***/
.elementor-icon-wrapper {
	display: flex;
}

.elementor-widget-text-editor p:last-child {
	margin-bottom:0px;
}

.elementor-widget-off-canvas {
	--e-off-canvas-animation-duration: 500ms;
}

.elementor-counter .elementor-counter-title{
	line-height: 1.5;
}

.elementor-widget-polylang-language-switcher .elementor-widget-container{
	display: flex;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__lang > a{
	display: flex;
	border-radius: 50%;
	position: relative;
	z-index: 5;
	/*pointer-events: none;*/
}
.elementor-widget-polylang-language-switcher .cpel-switcher__lang > a .cpel-switcher__code{
	width: 20px;
    height: 20px;
    position: relative;
    z-index: 1;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__list:not(.opened){
	display: none;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__toggle .cpel-switcher__name{
	display: none;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__list{
	border-radius: 20px;
    top: calc(100% + 5px);
    border: 1px solid var(--e-global-color-accent);
    align-items: center;
    justify-content: center;
	max-height: calc(100% * var(--langs));
	transition: max-height .4s ease-in;
	right: 0;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__list li{

}
.elementor-widget-polylang-language-switcher .cpel-switcher__list li a{
	pointer-events: all;
	border-radius: 0px;
	border-color: transparent;
	padding-right: 20px !important;
}
.elementor-widget-polylang-language-switcher .cpel-switcher__list li a .cpel-switcher__code{
	display: none;
}
.woocommerce-mini-cart__empty-message{
	visibility:hidden;
	position:relative;
}
.woocommerce-mini-cart__empty-message:after{
	visibility: visible;
	position: absolute;
	top: 0;
	left: 0;
}
html[lang="bg-BG"] .woocommerce-mini-cart__empty-message:after{
	content: "Вашата количка е празна в момента.";
}
html[lang="en-GB"] .woocommerce-mini-cart__empty-message:after,
html[lang="en-US"] .woocommerce-mini-cart__empty-message:after{
	content: "Your cart is currently empty.";
}
/*** Elementor fixes ***/



/*** Woo Notices ***/
.woocommerce-notices-wrapper{
	padding-left: 20px;
	padding-right: 20px;
}
.woocommerce-error, 
.woocommerce-info, 
.woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message{
	padding: 22px 35px 22px 50px;
    margin: 0 0 30px;
    border: 0 none;
    display: flex;
    align-items: center;
    justify-content: space-between;
	line-height: 1;
}
.woocommerce-error:focus-visible, 
.woocommerce-info:focus-visible, 
.woocommerce-message:focus-visible{
	outline: 0;
}
.woocommerce-error::before, 
.woocommerce-info::before, 
.woocommerce-message::before{
	top: 50%;
	transform: translate(0, -50%);
}
.woocommerce-error .button,
.woocommerce-info .button,
.woocommerce-message .button,
.woocommerce-notices-wrapper .woocommerce-error .button,
.woocommerce-notices-wrapper .woocommerce-info .button,
.woocommerce-notices-wrapper .woocommerce-message .button{
	margin-left: auto;
}

/* ERROR notices only: .woocommerce-error is ONE <ul> holding every error
   message as an <li> (woocommerce/templates/notices/error.php), whereas
   .woocommerce-info / .woocommerce-message render one <div> PER notice
   (notice.php / success.php). The shared `display:flex` above is correct
   for those two (text left, optional .button pushed right) but turned a
   multi-error list into side-by-side COLUMNS — e.g. three "removed from
   your cart" errors rendered as three cramped columns. Stack the list and
   move the row behaviour down to each <li>. */
.woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error{
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	row-gap: 14px;
}

.woocommerce-error > li,
.woocommerce-notices-wrapper .woocommerce-error > li{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
	/* the block sets line-height:1 for single-line notices; these messages
	   routinely wrap, where 1 is unreadably tight. */
	line-height: 1.4;
}

@media (width <= 620px) {
	.woocommerce-error, 
	.woocommerce-info, 
	.woocommerce-message,
	.woocommerce-notices-wrapper .woocommerce-error,
	.woocommerce-notices-wrapper .woocommerce-info,
	.woocommerce-notices-wrapper .woocommerce-message{
		flex-direction: column;
		align-items: flex-start;
	}
	/* keep each error message stacked with its own button on narrow screens */
	.woocommerce-error > li,
	.woocommerce-notices-wrapper .woocommerce-error > li{
		flex-direction: column;
		align-items: flex-start;
	}
	.woocommerce-error .button,
	.woocommerce-info .button,
	.woocommerce-message .button,
	.woocommerce-notices-wrapper .woocommerce-error .button,
	.woocommerce-notices-wrapper .woocommerce-info .button,
	.woocommerce-notices-wrapper .woocommerce-message .button{
		margin-left: 0;
		margin-top: 10px;
	}
}
/*** Woo Notices ***/

/*** Header styles ***/
.elementor-menu-cart__wrapper,
.elementor-menu-cart__wrapper .elementor-menu-cart__toggle {
	display: flex;
}

.main-menu .e-n-menu-dropdown-icon svg {
    transition: transform 0.3s ease;
}

.main-menu .e-n-menu-dropdown-icon-opened svg {
    transform: rotate(180deg);
}

.product-arrow,
.category-arrow {
	display: none;
}

.wedo-product-grid-container {
    display: flex;
    gap: 20px;
    padding: 20px 0;
    font-family: Manrope;
}

.wedo-product-columns {
    display: flex;
    width: 70%;
    gap: 40px;
    padding-right: 20px;
    flex: 1;
    border-right: 1px solid #D3DDDC;
}

.wedo-product-column {
    flex: 1;
    min-width: 0;
}

.wedo-product-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.wedo-all-products-link .product-name a {
	color: #415350;
	font-size: 1rem;
	font-style: normal;
	font-weight: 800;
	line-height: normal;
}

.product-name a {
    flex: 1;
    color: rgba(65, 83, 80, 0.80);
	font-size: 1rem;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

.product-name a:hover {
	color: #176A55;
}

.product-arrow {
    font-size: 16px;
    margin-left: 0px;
    transition: all 0.3s ease;
}

.wedo-all-products-link.hovered .product-arrow,
.wedo-product-item.active .product-arrow {
    margin-right: -10px;
}

.wedo-product-preview {
    width: 30%;
    padding: 20px;
    position: sticky;
    top: 20px;
    height: fit-content;
}

.desktop-header.elementor-sticky--effects,
.mobile-header.elementor-sticky--effects {
	padding-top: 1rem;
	padding-bottom: 1rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
}

.desktop-header.elementor-sticky--effects .mega-menu-dropdown {
	margin-top: 1.65rem !important;
}

.desktop-header.elementor-sticky--effects .main-menu .e-n-menu-item:has(.e-active) .e-n-menu-title::before {
	bottom: -27px;
}
/*** End Header Styles ***/

/*** Category grid with preview (mirror product grid styles) ***/
.wedo-category-grid-container {
    display: flex;
    gap: 20px;
    padding: 20px 0;
    font-family: Manrope;
}

.wedo-category-columns {
    display: flex;
    width: 70%;
    gap: 40px;
    padding-right: 20px;
    flex: 1;
    border-right: 1px solid #D3DDDC;
}

.wedo-category-column {
    flex: 1;
    min-width: 0;
}

.wedo-category-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.wedo-all-products-link .category-name a {
    color: #415350;
    font-size: 1rem;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}

.category-name a {
    flex: 1;
    color: rgba(65, 83, 80, 0.80);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.category-name a:hover {
    color: #176A55;
}

.category-arrow {
    font-size: 16px;
    margin-left: 0px;
    transition: all 0.3s ease;
}

.wedo-all-products-link.hovered .category-arrow,
.wedo-category-item.active .category-arrow {
    margin-right: -10px;
}

.wedo-category-preview {
    width: 30%;
    padding: 20px;
    position: sticky;
    top: 20px;
    height: fit-content;
}

.preview-placeholder {
    text-align: center;
    color: #999;
    padding: 40px 20px;
}

.wedo-category-preview .preview-details {
    flex-direction: column;
}

.wedo-category-preview .preview-product {
    display: flex;
    gap: 1.5rem;
}

.preview-image img {
    width: 7rem;
    height: auto;
    border-radius: 8px;
    object-fit: contain;
}

.preview-details .product-details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.preview-title {
    color: #171111;
	font-size: 1.375rem;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	margin-bottom: 5px;
}

.preview-category {
    color: rgba(65, 83, 80, 0.50);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

.preview-price {
    font-size: 1.125rem;
    font-weight: 700;
    color: #176A55;
    white-space: nowrap;
}

.main-menu .e-n-menu-item:has(.e-active) .e-n-menu-title::before {
	content: '';
	position: absolute;
	bottom: -43px;
	left: 0;
	width: 100%;
	height: 2px;
	background: #176A55;
}

/* Loop item styles */
.single-product-loop-item .product_meta .sku_wrapper,
.single-product-loop-item .product_meta .tagged_as,
.single-product-loop-item .product_meta .posted_in .detail-label {
	display: none !important;
}

.single-product-loop-item p.price {
	margin-bottom: 0px;
}

@media (width <= 1366px) {
	.team-members .text,
	.team-members .people{
		width: 100%;
	}
}
.team-member-additional-info {
    height: 100%;
  	opacity: 0;
  	transition: opacity 0.5s ease;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	transition: all 0.4s ease;
}

.team-member-loop-item:hover .team-member-additional-info {
	opacity: 1;
	visibility: visible;
}

.single-product-loop-item .featured-image-container{
	aspect-ratio: 1 / 1;
}
.single-product-loop-item .featured-image-container img {
    max-height: 450px;
    object-fit: contain;
}
.single-product-loop-item:hover .go-to-product-icon .elementor-icon{
	background-color: var( --e-global-color-accent ) !important;
}
.single-product-loop-item .product-description{
	overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.team-member-loop-item:hover .name-position {
	display: none;
}
/*
.single-product-loop-item .product-single-loop-price {
	display: none;
}

.single-product-loop-item:hover .product-single-loop-price {
	display: block;
}

.single-product-loop-item:hover .learn-more-button a {
	background: #fff !important;
	color: #176A55 !important;
}

.single-product-loop-item:hover .product-single-loop-title a,
.single-product-loop-item:hover .single-loop-small-description div {
	color: #fff !important;
}

.single-product-loop-item:hover .product-small-benefit div {
	color: #C1D9BA;
}

.single-loop-small-description {
    min-height: 130px;
}
*/
.custom-add-to-cart a {
    height: 60px;
    width: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.custom-add-to-cart a:hover svg,
.custom-add-to-cart a:focus svg{
	color: var(--e-global-color-bb5e08d);
	fill: var(--e-global-color-bb5e08d);
}
.custom-add-to-cart a:hover svg line,
.custom-add-to-cart a:focus svg line{
	stroke: var(--e-global-color-bb5e08d);
}
.custom-add-to-cart .added_to_cart {
    display: none !important;
}


/*** Footer styles ***/
footer.elementor-location-footer form input[type="email"]{
	padding: 13px 35px;
    min-height: unset;
}
.site-copyright,
.agma-signature,
.agma-signature-link a {
    color: rgba(250, 247, 237, 0.65);
    font-family: Manrope;
    font-size: 1.125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.875rem;
}
.agma-signature-link a:hover {
	text-decoration: underline;
    text-decoration-color: rgba(250, 247, 237, 0.65);
}
.footer-accordions summary{
	-webkit-touch-callout: none; 
	-webkit-user-select: none; 
	-khtml-user-select: none; 
	-moz-user-select: none; 
	-ms-user-select: none; 
	user-select: none; 
	-webkit-tap-highlight-color: transparent;
}

@media (width > 1024px) {	
	footer .categories {
	    display: flex;
	    flex-wrap: wrap;
	}

	footer .single-category {
	    flex-basis: 49%;
	}
}

footer .categories .single-category a {
	color: rgba(250, 247, 237, 0.65);
	font-family: Manrope;
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.875rem;
}

footer .categories .single-category a:hover {
	color: #fff;
}

footer .footer-contact:hover svg path {
	fill: #fff;
}

footer .social-icon:hover svg circle {
	fill: #fff;
}

footer .social-icon svg {
	transition: all 0.6s ease;
}

footer .social-icon:hover svg {
	transform: rotate(360deg);
}
footer .certificate{
	position: absolute;
	top: 0;
	right: 0;

}

@media (width <= 1024px) {
	.footer-menus-container .menu,
	.footer-menus-container .contacts{
		width: 100%;
	}
	footer form .elementor-form-fields-wrapper{
		flex-direction: row;
    	flex-wrap: wrap;
    	align-items: flex-start;
		gap: 10px 20px;
	}
	footer form .elementor-form-fields-wrapper .elementor-field-type-email{
		width: calc(50% - 10px);
    	margin-right: auto;
    	order: 1;
	}
	footer form .elementor-form-fields-wrapper .elementor-field-type-acceptance{
		width: calc(50% - 10px);
    	margin-right: auto;
    	order: 3;
	}
	footer form .elementor-form-fields-wrapper .elementor-field-type-submit{
		width: calc(50% - 10px);
    	margin-left: auto;
    	order: 2;
		padding: 0 !important;
	}
}
@media (width <= 768px) {
	.footer-newsletter-form .elementor-form-fields-wrapper{
		flex-wrap: nowrap;
	}
}
@media (width <= 620px) {
	.footer-newsletter-form .elementor-form-fields-wrapper{
		flex-wrap: wrap;
	}
	footer form .elementor-form-fields-wrapper{
		flex-direction: column;
	}
	footer form .elementor-form-fields-wrapper .elementor-field-type-email{
		width: 100%;
    	margin-right: 0;
    	order: 1;
	}
	footer form .elementor-form-fields-wrapper .elementor-field-type-acceptance{
		width: 100%;
    	margin-right: 0;
    	order: 2;
	}
	footer form .elementor-form-fields-wrapper .elementor-field-type-submit{
		width: 100%;
    	margin-right: 0;
    	order: 3;
	}
	footer .certificate{
		position: relative;
		top: unset;
		right: unset;

	}
}
/*** Footer styles ***/



/*** Homepage styles ***/
.why-choose-us-info-box .elementor-icon-box-icon{
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	transition: all 0.4s ease;
	border-radius: 15px;
}

.why-choose-us-info-box:hover .elementor-icon-box-icon{
	background-color: var( --e-global-color-775deae );
}
/*
.why-choose-us-info-box:hover .elementor-icon-box-icon svg rect {
	fill: #415350;
	stroke: #415350;
}
.why-choose-us-info-box:hover .elementor-icon-box-icon svg path {
	fill: #fff;
}
*/
@media (width > 1366px) {
	.homepage-featured-products .elementor-loop-container .e-loop-item:last-child {
		display: none;
	}
}

@media (width > 620px) {
	.homepage-hero .e-con:before{
		background-color: transparent !important;
	}
}

@media (width < 1024px) {
	.why-choose-us-info-box .elementor-icon-box-description br {
		display: none;
	}
}
/*** Homepage styles ***/



/*** Blog page styles ***/
@media (width < 620px) {
	.blog-hero-container:before{
		background-image: linear-gradient(90deg, var( --e-global-color-2e6fa81 ) 0%, var( --e-global-color-2e6fa81 ) 100%) !important;
	}
}
/*** Blog page styles ***/

/*** Single post styles ***/
html[lang="en-GB"] .hero-posts,
html[lang="ro-RO"] .hero-posts {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.single-post .single-post-content p,
.single-post .single-post-content ul li,
.single-post .single-post-content ol li {
	font-size: 18px;
	font-weight: 300;
}

.single-post .single-post-content a {
	font-size: 18px;
}

.single-post .single-post-content ul,
.single-post .single-post-content ol {
	margin-bottom: 20px;
}

.single-post .single-post-content h2,
.single-post .single-post-content h3,
.single-post .single-post-content h4,
.single-post .single-post-content h5 {
	font-weight: 700;
}

.single-post .single-post-content strong {
	font-weight: 600;
}
/*** Single post styles ***/

/* Single product styles */
.shipping-info-tab ul {
	padding-left: 20px;
	margin-bottom: 20px;
}

.shipping-info-tab ul li::marker {
	color: #415350;
}

.product .green-box p.price{
	margin-bottom: 0 !important;
}
.product .green-box .elementor-widget-text-editor ul{
	/* was padding:0 + list-style-position:inside -- flattened the indent to
	   zero, so a wrapped second line ran back to the bullet glyph instead of
	   aligning with the text start. Explicit hanging indent instead. */
	padding-left: 1.2em;
	list-style-position: outside;
}
.product .green-box .elementor-widget-woocommerce-product-content p:only-child,
.product .green-box .elementor-widget-woocommerce-product-content p:last-child{
	margin-block-end: 0;
	margin: 0;
}
.product .green-box .elementor-jet-single-add-to-cart .cart .quantity{
	border-radius: 30px;
    overflow: hidden;
    border: 1px solid var(--e-global-color-accent);
}
.product .green-box .elementor-jet-single-add-to-cart .cart .quantity input[type="number"]{
	padding: 0;
}
.product .green-box .elementor-widget-n-tabs .e-n-tabs-heading button{
	width: 20%;
    max-width: 20%;
}
.product .green-box .elementor-widget-n-tabs .e-n-tabs-heading button span{
	overflow: hidden; 
	text-overflow: ellipsis; 
	white-space: nowrap;
	display: block;
	line-height: 120%;
}
.product .green-box .elementor-widget-n-tabs table{
	font-family: var( --e-global-typography-text-font-family ), Sans-serif;
    font-weight: var( --e-global-typography-text-font-weight );
    color: var( --e-global-color-text );
	font-size: 1rem;
}
.product .green-box .elementor-widget-button .elementor-button{
	width: inherit;
}
.doctor-image-shortcode{
	top: 0;
	height: 100%;
}
.doctor-image-shortcode .elementor-shortcode{
	height: 100%;
    display: flex;
    justify-content: center;
}
.doctor-image-shortcode .elementor-shortcode img{
	height: 100%;
	width: auto;
	max-width: unset;
}

.quick-buy-form #form-field-name,
.quick-buy-form #form-field-tel {
	padding: 15px 35px;
    line-height: 15px;
    min-height: unset;
    height: 48px;
}

.quick-buy-form .elementor-field-type-acceptance label {
	font-size: 0.9rem !important;
}

.quick-buy-form .elementor-field-group-field_product_name {
	display: none;
}

.quick-buy-form .dialog-close-button:hover {
	transform: rotate(180deg) !important;
}

@media (width <= 1024px) {
	.doctor-image-shortcode{
		
	}
}
@media (width <= 768px) {
	.product .green-box .elementor-widget-n-tabs .e-n-tabs-heading{
		flex-direction: column;
	}
	.product .green-box .elementor-widget-n-tabs .e-n-tabs-heading button{
		width: 100%;
		max-width: 100%;
		align-items: flex-start;
		justify-content: flex-start;
		border-width: 0 0 1px 0;
		border-color: transparent;
		border-style: solid !important;
	}
	.product .green-box .elementor-widget-n-tabs .e-n-tabs-heading button:not(:last-child):not([aria-selected="true"]){
		border-color: var(--e-global-color-accent);
	}
	.product .green-box .elementor-widget-n-tabs .e-n-tabs-heading button[aria-selected="true"]{
		background: var(--e-global-color-accent) !important;
		color: var(--e-global-color-primary);
	}
}
@media (width <= 480px) {
	.elementor-location-single.type-product .doctor-grid{
		display: flex;
    	flex-direction: column;
	}
}

html[lang="mk-MK"]{
	& .elementor-element-c5f2b5f{
		padding: 0;
	}
	& .elementor-element-dde02c3{
		& .elementor-element-92b328c{display: none;}
	}
}
html[lang="sq"]{
	& .elementor-element-eb30f95{
		& .elementor-element-c5f2b5f{
			padding: 0;
		}
		& .elementor-element-92b328c{
			display: none;
		}
	}
}
/* Single product styles */


/* Single product Contents table */
@media (width <= 768px) {
	.product-contents-table {
		font-size: 14px;
	}

	.product-contents-table th,
	.product-contents-table td {
		padding: 8px 10px;
	}
}

@media (width <= 600px) {
	.product-contents-table thead {
		display: none;
	}

	.product-contents-table,
	.product-contents-table tbody,
	.product-contents-table tr,
	.product-contents-table td {
		display: block;
		width: 100%;
	}

	.product-contents-table tr {
		margin-bottom: 15px;
		border: 1px solid #ddd;
		border-radius: 4px;
		overflow: hidden;
	}

	.product-contents-table td {
		text-align: right;
		padding-left: 50%;
		position: relative;
		border: none;
		border-bottom: 1px solid #eee;
		min-height: 80px;
	}

	.product-contents-table td:before {
		content: attr(data-label);
		position: absolute;
		left: 12px;
		width: 45%;
		padding-right: 10px;
		text-align: left;
		font-weight: bold;
	}

	.product-contents-table td:last-child {
		border-bottom: none;
	}
}
/* Single product Contents table */

/*** Cart Styles ***/
.woocommerce-cart .cart_totals .order-total,
.woocommerce-cart .cart_totals .woocommerce-shipping-totals {
	display: none !important;
}

@media (width < 767px) {
	.woocommerce-cart .woocommerce-cart-form__contents span.woocommerce-Price-amount.amount {
		font-size: 0.8rem !important;
	}
}
/*** End Cart Styles ***/

/*** Checkout styles ***/
.woocommerce-checkout-review-order-table thead .product-total {
	display: none !important;
}

.woocommerce-additional-fields h3:empty::before {
    content: 'Бележка към поръчката:';
	color: #3F403C;
	font-family: Manrope;
	font-size: 1.75rem;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

@media (width < 767px) {
	.woocommerce-additional-fields h3:empty::before {
		font-size: 1.5rem;
	}
}

.woocommerce-additional-fields label {
	display: none !important;
}

.wc_payment_method .payment_box {
	border-radius: 0.75rem !important;
	background: #ECF6ED !important;
}

button#place_order {
	width: 100% !important;
	margin-top: 2rem;
}

#customer_details .form-row #order_comments {
	border-radius: 1.875rem !important;
}

form:not([name="checkout"]) p#billing_country_field,
label.e-coupon-anchor-description {
    display: none !important;
}

.coupon-container-grid {
    gap: 1rem;
}

button.woocommerce-button.button.e-apply-coupon {
    width: 100% !important;
}

.woocommerce-checkout .cart_item .product-total .amount {
	color: #176A55 !important;
	font-size: 1.125rem !important;
	font-weight: 700 !important;
}

.woocommerce-checkout .cart-subtotal span.woocommerce-Price-amount.amount {
	color: #176A55 !important;
	font-size: 1.375rem !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th {
	color: #415350 !important;
	font-size: 1.375rem !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: normal !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	display: flex;
	flex-direction: column;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td strong {
	color: #176A55 !important;
	font-size: 1.625rem !important;
	font-weight: 700 !important;
}

label[for="shipping_method_0_speedy_shipping_method"] {
    font-size: 0 !important;
}

label[for="shipping_method_0_speedy_shipping_method"] * {
    font-size: 1.25rem !important;
}

#billing_speedyshippingto_field > span.woocommerce-input-wrapper {
    gap: 0.5rem;
}

label[for="billing_speedyshippingto_to_office"] span.required,
label[for="billing_speedyshippingto_to_door"] span.required,
label[for="billing_speedyshippingto_to_aps"] span.required {
	display: none !important;
}

label[for="billing_speedyshippingto_to_office"],
label[for="billing_speedyshippingto_to_door"],
label[for="billing_speedyshippingto_to_aps"] {
	margin-bottom: 0 !important;
}

#billing_is_invoice_field label.checkbox {
    display: flex;
}

@media (width < 767px) {
	label[for="shipping_method_0_speedy_shipping_method"] *,
	.woocommerce-checkout .cart-subtotal span.woocommerce-Price-amount.amount,
	.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td strong {
		font-size: 1.125rem !important;
	}

	.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td strong {
		font-size: 1.125rem !important;
	}

	.woocommerce-checkout .cart_item .product-total,
	.woocommerce-checkout .cart-subtotal td,
	.woocommerce-checkout .woocommerce-shipping-totals ul#shipping_method li label,
	.woocommerce-checkout .order-total td strong {
		display: flex;
		flex-direction: column;
	}

    #billing_speedyshippingto_field > span.woocommerce-input-wrapper {
        display: grid !important;
        grid-template-columns: auto 1fr;
        gap: 8px 12px;
        align-items: center;
    }
}

/* Successfu order styles */
.woocommerce-customer-details address {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.woocommerce-customer-details address p {
	margin-bottom: 0px !important;
}

/* Woocommerce notices styles */
.e-woocommerce-notices-wrapper .woocommerce-message:focus-visible {
	outline: none !important;
}

/* Contact page styles */
.contact-form .elementor-field-type-text input,
.contact-form .elementor-field-type-email input,
.contact-form .elementor-field-type-tel input,
.contact-form .elementor-field-type-textarea textarea{
	padding: 13px 18px;
}
.contact-form .elementor-field-type-text input,
.contact-form .elementor-field-type-email input,
.contact-form .elementor-field-type-tel input{
	max-height: 49px;
}

.contact-form .elementor-field-group .elementor-field-textual:focus {
    box-shadow: inset 0 0 0 1px #176A55;
}

.contact-form textarea#form-field-message {
    border-radius: 1.25rem;
}

.contact-icon-box:hover .elementor-icon-box-icon svg {
	fill: #ADD9B1;
}

.contact-icon-box:hover .elementor-icon-box-icon svg path {
	fill: #fff;
}

.contact-social-icons .elementor-icon svg {
	transition: all 0.3s ease;
}

.contact-social-icons .elementor-icon:hover svg {
	transform: rotate(360deg);
	fill: #ADD9B1 !important;
}

.contact-social-icons .elementor-icon:hover svg path {
	fill: #fff;
}

/* Overlay styling */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent black */
    z-index: 998; /* Below menu but above content */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
}

/* Active state for overlay */
.menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Ensure your menu has higher z-index */
.elementor-nav-menu--dropdown {
    z-index: 999 !important;
}

/* Optional: Adjust header z-index if needed */
header, .elementor-location-header {
    position: relative;
    z-index: 999;
}

/* Login and Registration styles */
.login-register-link a {
	font-weight: 700;
	text-decoration: underline;
}

form.woocommerce-form-login.login,
form.woocommerce-form-register.register {
	display: flex;
	flex-direction: column;
	gap: 2.3rem;
}

form.woocommerce-form-login.login .input-fields-wrapper,
form.woocommerce-form-register.register .input-fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    border-radius: 1.875rem;
	background: #FFF;
	padding: 3.6rem;
}

#username_field,
#email_field,
#password_field,
#password2_field,
#first_name_field,
#last_name_field,
#uin_number_field {
	flex-basis: 48.5%;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}

form.woocommerce-form-login.login label,
form.woocommerce-form-register.register label {
	color: rgba(65, 83, 80, 0.70);
	font-family: Manrope;
	font-size: 1rem;
	font-weight: 700;
}

form.woocommerce-form-login.login input,
form.woocommerce-form-register.register input {
	border-radius: 3.03125rem;
	border: 1px solid rgba(65, 83, 80, 0.15);
	background: #FFF;
	padding: 1rem 1.875rem;
	color: rgba(0, 0, 0, 0.40);
	font-family: Manrope;
	font-size: 1.125rem;
	font-weight: 400;
}

.privacy-and-submit-fields-wrapper {
	display: flex;
	flex-direction: row-reverse;
	gap: 2rem;
	justify-content: space-between;
	align-items: center;
}

.privacy-and-submit-fields-wrapper p {
	margin-bottom: 0px;
	flex-basis: 49%;
}

.privacy-and-submit-fields-wrapper button {
	background: #415350;
	border-radius: 1.875rem;
	border-color: #415350;
	color: #FFF;
	font-family: Manrope;
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.15rem;
	text-transform: uppercase;
	padding: 1.1875rem 3.75rem;
	width: 100%;
}

.privacy-and-submit-fields-wrapper button:hover {
	background: #176A55;
	border-color: #176A55;
}

/* Registration privacy checkbox: whole label is a >=44px tap target.
   The <label> already wraps the input natively (no JS); the link inside
   stays independently clickable because <a> is interactive content. */
.woocommerce-form-register #privacy_policy_field label.woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 2px 0;
	margin: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	line-height: 1.4;
}

.woocommerce-form-register #privacy_policy_field input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: 0;
	padding: 0;
	border-radius: 0;
	cursor: pointer;
	accent-color: var(--e-global-color-primary, #415350);
}

.woocommerce-form-register #privacy_policy_field label > span {
	min-width: 0;
	overflow-wrap: break-word;
}

.woocommerce-form-register #privacy_policy_field input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #415350);
	outline-offset: 2px;
}

.woocommerce-form-login__rememberme {
	display: none !important;
}

p.woocommerce-LostPassword.lost_password {
    color: #415350;
    font-family: Manrope;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

p.woocommerce-LostPassword.lost_password a {
	font-weight: 700;
	text-decoration: underline;
}

p.woocommerce-LostPassword.lost_password a:hover {
	color: #176A55;
}

form.woocommerce-ResetPassword.lost_reset_password {
    width: 100% !important;
}

@media (width < 767px) {
	form.woocommerce-form-login.login .input-fields-wrapper,
	form.woocommerce-form-register.register .input-fields-wrapper {
		gap: 0.5rem;
		padding: 2rem;
	}

	#username_field,
	#email_field,
	#password_field,
	#password2_field,
	#first_name_field,
	#last_name_field,
	#uin_number_field {
		flex-basis: 100%;
	}

	.login-register-link .elementor-heading-title {
		display: flex;
		flex-direction: column;
	}

	.privacy-and-submit-fields-wrapper {
	    flex-direction: column-reverse;
	    padding: 0 1rem;
	}
}

/* About Wedo styles */
.the-journey-accordion .e-n-accordion-item-title-header span {
	color: #176A55;
}

.the-journey-accordion .e-n-accordion-item div[role="region"],
.the-journey-accordion .e-n-accordion-item[open] summary.e-n-accordion-item-title,
.the-journey-accordion .e-n-accordion-item:last-child summary.e-n-accordion-item-title {
    border-bottom: 0px !important;
}


/* ==========================================================================
   WEDO HOTFIX 2026-07-15 -- mobile checkout: page shifts right + stray
   vertical line + horizontal scroll when opening the City / Speedy
   select2 search fields (iOS Safari and Android Chrome).
   Scoped to the checkout body class; layout rules mobile-only (<1024px).
   Rollback: restore style.css.bak-20260715-145229 (same folder).
   ========================================================================== */

/* iOS Safari auto-zooms the page whenever a focused input's computed
   font-size is below 16px. The Speedy plugin's JS force-focuses the
   dropdown's search field the instant any select2 opens, so every tap on
   the City field triggers that zoom on iPhone -- perceived as the layout
   "shifting right" and the viewport becoming horizontally pannable.
   16px is the exact browser threshold that suppresses the zoom. */
body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
    font-size: 16px !important;
}

@media (max-width: 1023px) {

    /* Select2 appends its open dropdown as a position:absolute child of
       <body>, OUTSIDE every existing containment wrapper on this page.
       Making body its containing block (position:relative) and a clip box
       means a dropdown stamped with a stale or overwide inline width can
       no longer widen the document or drag it into horizontal scroll --
       the excess is clipped at the viewport edge instead.
       'clip' rather than 'hidden' because Android Chrome can still allow
       horizontal panning across a body-level 'hidden' scroll container. */
    body.woocommerce-checkout {
        position: relative;
        overflow-x: hidden; /* fallback for browsers without 'clip' */
        overflow-x: clip;
    }

    /* Never let any select2 box (the closed field widget or the
       body-appended open panel) exceed the viewport, whatever inline
       pixel width select2's JS stamps on it. max-width only CAPS -- it
       never stretches or repositions -- so correctly sized dropdowns are
       untouched (deliberately unlike the reverted width:100% approach). */
    body.woocommerce-checkout .select2-container,
    body.woocommerce-checkout .select2-dropdown {
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   WEDO HOTFIX 2026-07-15b -- follow-up: after picking a town with a LONG
   name (e.g. "gr. SOFIA [n.k.: 1000 област: SOFIA (STOLITSA)]") the Speedy
   field widget expands past the viewport and an inner scrollbar renders as
   the "vertical line". Scoped to checkout only.
   Rollback: restore style.css.bak-20260715-150740 (same folder).
   ========================================================================== */

/* select2 re-stamps an inline pixel width on the field widget when a town
   is selected; a long name can make that width exceed the screen.
   !important always beats inline styles -- pin the widget to its field. */
body.woocommerce-checkout #speedy_custom_checkout_field .select2-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Long selected town names must truncate with an ellipsis,
   never dictate the width of the box that shows them. */
body.woocommerce-checkout #speedy_custom_checkout_field .select2-selection__rendered {
    display: block;
    max-width: 100%;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* THE "VERTICAL LINE": the existing containment on this container uses
   overflow-x:hidden -- per the CSS spec, 'hidden' on one axis forces the
   other axis from 'visible' to 'auto', so any horizontal overflow inside
   spawned an inner vertical scrollbar. 'clip' contains WITHOUT creating
   a scroll container, so no scrollbar can ever render here. */
body.woocommerce-checkout #speedy_custom_checkout_field {
    max-width: 100% !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    scrollbar-width: none;         /* belt-and-braces: Firefox */
}
body.woocommerce-checkout #speedy_custom_checkout_field::-webkit-scrollbar {
    display: none;                 /* belt-and-braces: WebKit/Blink */
}

/* Viewport lock on the main checkout wrappers: a misbehaving child may
   get clipped, but can never push the page sideways. min-width:0 lets
   flex/grid children genuinely shrink instead of overflowing. */
body.woocommerce-checkout form.woocommerce-checkout,
body.woocommerce-checkout #customer_details,
body.woocommerce-checkout .woocommerce-additional-fields {
    max-width: 100% !important;
    min-width: 0;
}

/* ==========================================================================
   WEDO HOTFIX 2026-07-15c -- MEASURED root cause of the "long city name
   shifts the mobile checkout" bug (reproduced + verified live via headless
   Chrome driving the real select2 search flow).
   Rollback: restore the matching style.css.bak (same folder).
   ========================================================================== */

/* Root cause: the selected city text is white-space:nowrap inside the
   field; ellipsis clips it VISUALLY but does not reduce its intrinsic
   min-content width. Elementor's checkout column is a grid/flex item
   (track = minmax(auto,1fr)), so that min-content forced the whole
   column ~24px past the viewport the moment a long name was selected.
   min-width:0 removes the 'auto' floor -- the canonical fix. */
body.woocommerce-checkout .e-checkout__column,
body.woocommerce-checkout .e-checkout__container > * {
    min-width: 0;
}

/* The OPEN dropdown wrapper (a body-appended absolute element) gets
   inline width:100% from select2 but keeps the field's left offset, so
   it overhung the right edge by that offset on every keystroke. Pin it
   to both viewport edges on mobile: position becomes deterministic
   regardless of what select2's JS stamps. (Body IS the containing
   block here -- position:relative set in hotfix 2026-07-15 above --
   unlike the July attempt that targeted the inner .select2-dropdown
   with an uncontrolled containing block.) */
@media (max-width: 1023px) {
    /* Keep select2's own inline 'left' (it aligns the dropdown with its
       field); only clamp the RIGHT edge to the viewport. width:auto then
       resolves between the two, so overflow stays impossible while the
       dropdown visually stays anchored to the field it belongs to. */
    body.woocommerce-checkout > .select2-container.select2-container--open {
        right: 8px !important;
        width: auto !important;
    }
}

/* ==========================================================================
   De-emphasize (not hide) WooCommerce Subscriptions recurring-price details
   on Shop / Category archives and product loops ONLY -- shown as a small
   muted line under the primary price instead of full-size text.
   Scope: Shop page (.woocommerce-shop), category archives (.tax-product_cat),
   and any WC product archive (.post-type-archive-product, .archive.woocommerce).
   Body-class scoping (not a loop-markup selector) is deliberate: this site's
   product grid is an Elementor Loop Grid, not core WC ul.products li.product
   markup, and single-product/cart/checkout carry different body classes
   (.single-product / .woocommerce-cart / .woocommerce-checkout) so they are
   never matched here -- primary price stays untouched everywhere else.
   Verified against live shop DOM (2026-08-10): "All Products for
   Subscriptions" wraps the whole subscribe/recurring block in
   <small class="wcsatt-sub-options"> as a SIBLING after the primary
   .woocommerce-Price-amount inside .price, and .subscription-details (the
   "/ month" interval text) sits NESTED inside that wrapper. Font-size below
   is set in rem, not em, specifically so the nested .subscription-details
   isn't shrunk a second time on top of its already-shrunk parent (em would
   compound: 0.72em of an already-0.72em parent). display:block is applied
   to the outer wrapper only, so the whole recurring note reads as one
   compact line -- applying it to the nested span too would fragment it
   onto its own line. .wcs-recurring-price is a defensive fallback for
   standalone WC Subscriptions price-suffix markup not currently observed
   on this site.
   .wcsatt-sub-discount (the "15%" / discount-amount text in the "subscribe
   to save up to X%" variant) is a SIBLING that sits AFTER the closing
   </small> of .wcsatt-sub-options, not nested inside it (confirmed in the
   plugin's PHP: it's deliberately broken out of the <small> tag) -- so it
   inherits the full-size .price font unless targeted explicitly, which is
   why it renders oversized relative to the rest of the muted line. It's
   included below alongside the others; since it isn't nested under any
   other matched element there's no em-compounding risk in adding it here.
   The line break onto its own row under the price is done with a
   ::before { content: "\A" } line-feed instead of display:block on
   .wcsatt-sub-options -- display:block would blockify the wrapper and,
   per CSS's anonymous-box rules, force any INLINE SIBLING after it (i.e.
   .wcsatt-sub-discount, which sits outside the wrapper) onto a separate
   third line of its own. Keeping .wcsatt-sub-options inline and injecting
   the break instead keeps it and .wcsatt-sub-discount in the same inline
   formatting context, so "subscribe to save up to 15%" reads as one
   continuous line -- matching the single-line look of the other (del/ins)
   variant, where everything is nested inside the wrapper already. */
body:is(.woocommerce-shop, .tax-product_cat, .post-type-archive-product, .archive.woocommerce)
    .price .wcsatt-sub-options::before {
    content: "\A";
    white-space: pre;
}

body:is(.woocommerce-shop, .tax-product_cat, .post-type-archive-product, .archive.woocommerce)
    .price :is(.wcsatt-sub-options, .subscription-details, .wcs-recurring-price, .wcsatt-sub-discount) {
    font-size: 0.72rem;
    line-height: 1.3;
    color: #999;
    font-weight: 400;
    font-style: normal;
}
