@import "../../../css/theme.css";
@import "../../../css/custom.css";
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');


.bg-light-solaris {
	background-color: #FEF9F9;
}

.bg-light-solaris-2 {
	background-color: #F6F5F2 !important;
}

.bg-light-solaris-3 {
	background-color: rgba(205, 202, 197, .2);
}

.bg-primary{
	background-color: #f8f8f8!important;
}

.c-text{
	color: #444!important;
}

.bg-golden {
	background-color: #ff7345!important;
}

.border-end-dotted {
	border-right: 1px dotted #ff7345;
}

.border-start-dotted {
	border-left: 1px dotted #ff7345;
}

.border-top-dotted {
	border-top: 1px dotted #ff7345;
}

.text-orange-light{
	color: #ff7345;
}

.btn-orange{
	background-color: #ff7345;
	font-size: 15px !important;
	border-radius: 5px!important;
	&:hover {
		background-color: #292828;
	}
}

.btn-style-1{
	display: flex;
	justify-content: center;
}

a, button, img, input, span{
	-webkit-transition: all .3s ease 0s;
    -o-transition: all .3s ease 0s;
    transition: all .3s ease 0s;
}

button, .btn{
	background-color: #121519;
    border: 0 none;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    /* height: 50px; */
    /* line-height: 50px; */
    display: inline-block;
    padding: 15px 40px;
    text-transform: uppercase;
    border-radius: 25px;
    border-top-left-radius: 0;
	transition: .3s;
	overflow: hidden;
}

.btn.bg-success:hover{
	transition: .3s;
	opacity: 0.7;
}

.btn-style-1 a:hover{
	background-color: #323232;
	color: white!important;
}

input {
	font-family: "Nunito Sans", sans-serif;
}

html, body {
	background: white;
	font-family: "Nunito Sans", sans-serif;
	scroll-behavior: smooth;
}

header {
	z-index: 1021;

	.logo {
		max-height: 48px;
	}

	nav{
		font-weight: 500;
		a, button{
			color: #121519;
			font-weight: 700;
			font-size: 18px;
			&:hover {
				color: #ff5049;
			}
		}
		ul{
			li a{
				text-transform: none;
				color: #7e7e7e;
			}
		}
	}

	.dropdown-menu {
		max-height: calc(100vh - 130px);
		overflow: auto;
		width: 200px;
		z-index: 9999;
	}

	.menu {
		width: 30px;
		border-radius: 0px!important;
		overflow: inherit;

		span {
			height: 2px;
			transition: all ease-in-out .3s;
		}

		&.active {
			span:first-child {
				transform: rotate(45deg);
			}
			span:nth-child(2) {
				opacity: 0;
			}
			span:last-child {
				transform: rotate(-45deg);
				margin-top: -11px;
			}
		}
	}

	.icon-c, .icon-search{
		height: 50px;
		width: 50px;
		line-height: 50px;
		background-color: #f2f2f2;
		border: 2px solid #f2f2f2;
		border-radius: 20px;
		float: left;
		text-align: center;
		font-size: 22px;
		color: #000;
		transition: .3s;

		&:hover{
			background-color: #ffffff;
    		border: 2px solid #e5e5e5;
		}
	}
}

body {
	padding-top: 93px;

	&.with-name {
		padding-top: 137px;
	}

	&.with-bar {
		padding-top: 119px;
	}

	&.with-name.with-bar {
		padding-top: 163px;
	}
}

a, a:hover, button button:hover {
	-webkit-transition: all .3s ease-in-out 0s;
    -o-transition: all .3s ease-in-out 0s;
    transition: all .3s ease-in-out 0s;
}

#carouselBanners {
	height: 70vh;
	.carousel-indicators {
		button {
			background-color: #D9D9D9;
			border-radius: 50%;
			height: 16px;
			opacity: 1;
			width: 16px;

			&.active {
				background-color: #FCD9B8;
			}
		}
	}
	img.banner-image {
		height: 70vh;
		object-fit: cover;
	}
	img.d-sm-none{
		height: 80vh;
		object-fit: cover;
	}
	.tns-nav{
		position: absolute;
		z-index: 1;
		bottom: 5vh;
		left: 50%;
		transform: translate(-50%, -50%);

		button{
			border-radius: 25px;
			width: 12px;
			height: 12px;
			background: #ff7345;
			border: 0;
			margin: 0px 5px;
		}
	}
}

.sliderCategories .tns-controls {
	top: 50%;
	margin-top: -12px;
}

.sliderCategories .item {
    transition: all 0.3s ease-in-out;

    h3 {
        transition: color 0.3s ease-in-out;
    }

	a.btn-cat{
		z-index: 1;
	}

    .bg-img {
        transition: all 0.3s ease-in-out;
        position: relative;
        overflow: hidden;

        &::after {
			display: none;
            content: '';
            position: absolute;
            inset: 0;
            background-color: rgba(255, 80, 73, 0.15);
            opacity: 0;
            transition: opacity 0.3s ease-in-out;
            border-radius: inherit;
        }
    }

    &:hover {
        h3 {
            /* color: #ff5049 !important; */
        }

        .bg-img::after {
            opacity: 1;
        }
    }

	.item-box{
		padding: 25px 30px 30px;
		border: 1px solid #f8f8f8;
	}
}

.img-zoom {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: 1.5s cubic-bezier(0, 0, 0.2, 1);
}

.item:hover h3 {
  color: #ff7345;
}


.category-hover .category-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.75); /* Blanco con opacidad */
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: all 0.3s ease-in-out;
}

.category-hover:hover .category-overlay {
    opacity: 1;
}

.product-count {
    background-color: #ff5049;
    color: white;
    font-weight: bold;
    font-size: 1rem;
    padding: 0.6rem 1.2rem;
    border-radius: 50px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}


.tns-controls {
	left: 0;
	position: absolute;
	top: 30%;
	width: 100%;

	[data-controls="prev"], [data-controls="next"] {
		background-color: transparent;
		background-position: center center;
		background-repeat: no-repeat;
		border: 0;
		height: 24px;
		padding: 0;
		position: absolute;
		width: 24px;
	}

	[data-controls="prev"] {
		background-image: url('https://emidica.com/img/icos/ico-arrow-prev.svg');
	}
	[data-controls="next"] {
		background-image: url('https://emidica.com/img/icos/ico-arrow-next.svg');
		right: 0;
	}
}


.shipping_type, .payment_method {
	&.active::after {
		color: var(--bs-green);
		content: '\F26A';
		display: block;
		font-family: 'bootstrap-icons';
		height: 16px;
		position: absolute;
		right: 5px;
		top: 5px;
		width: 16px;
	}
}

.longDescription, .short_description {
	overflow: hidden;

	figure, p {
		img {
			max-width: 100%;
			height: auto;
		}
	}

	figure {
		display: block;
		margin: 20px auto;
		max-width: 100%;

		img {
			display: block;
			margin: 20px auto;
		}

		&.image-style-side {
			float: right;
			margin: 20px 0 20px 20px;
		}
	}
}

.menu-categories li {

	.imgblack {
		display: block;
	}

	.imgcolor {
		display: none;
	}

	&.active {
		& > div > a {
			color: #CB8161;
		}

		& > div > button .imgblack {
			display: none;
		}

		& > div > button .imgcolor {
			display: block;
		}
	}
}

.menu-categories > ul > li ul {
	list-style: none;
	padding-left: 20px;
}

.menu-categories > ul > li > ul {
	display: block !important;
}

footer {

	background-color: #1c1b1b;
	color: white!important;
	position: relative;

	.bg{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 127px;
		width: 100%;
		pointer-events: none;
	}

	.text-box{
		padding-top: 90px;
	}

	.logo {
		max-height: 45px;
		max-width: 115px;
	}
	.social-media{
		a{
			transition: all ease-in-out .3s;
		}

		a.fs-4{
            background-color: #393939;
            padding: 6px;
            border-radius: 15px;
            width: 40px;
            font-size: 20px !important;
            height: 40px;
            justify-content: center;
            align-items: center;
            display: flex;
            transition: all 0.3s ease-in-out 0s;
            -moz-transition: all 0.3s ease-in-out 0s;
            -webkit-transition: all 0.3s ease-in-out 0s;

			&:hover{
				background-color: #ff7345;
			}
		}

		.bg{

		}

		.gap-4{
            border-top: 1px solid #393939;
            padding-top: 40px;
		}
	}
}

#thumbnail-carousel-track {
	height: 516px !important;
}

#icons-items {

	.icon-hover-flip{
		padding: 60px 40px;
		text-align: center;
		border-radius: 30px;
		background-color: #f5f5f5;
		border: 2px solid #f5f5f5;
		transition: all 0.3s ease 0s;
		margin: 10px;

		.bg{
			width: 100px;
            height: 100px;
            background-color: #ff7345;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto;
			margin-bottom: 20px;
		}

		&:hover{
			background-color: white;
    		border: 2px solid #ff7345;
		}
	}

	.icon-hover-flip .d-flex{
		padding: 20px 10px !important;
	}

	p{
		color: #444;
		font-weight: 400;
	}
	h4{
		font-size: 24px;
		font-weight: 800;
		line-height: 24px;
		color: #000;
		margin-bottom: 18px;
	}
	.text-sm{
		margin: 0;
		font-size: 16px;
		line-height: 28px;
		color: #666;
		font-weight: 400;
	}
}

.price-offer{
	border-radius: 5px;
}

/* header */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  /* Transición suave sobre transform */
  transition: transform 0.3s ease-in-out;
  /* will-change: transform; */
  background-color: #fff;

  .menu span{
	background-color: #323232;
  }
}

header.hidden {
  /* transform: translateY(-100%); */
    box-shadow: 0 -6px 10px 5px rgba(0, 0, 0, 0.5);
}

header.visible {
  transform: translateY(0);
}

/* fin header */

.btn-buy-add {
	margin-right: 5px;

	button:hover{
		box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
		transition: .3s;
		background-color: #ff7345;
		color: white !important;
	}
}

.btn-buy-add{
	.add{
		background-color: #f5f5f5!important;
		border: 0px!important;
		color: #121519!important;
		&:hover{
			box-shadow: none!important;
			background-color: #1c1b1b!important;
			color: white !important;
		}
	}
	.buy{
		background-color: #ff7345 !important;
        color: white !important;
		&:hover{
			background-color: #1c1b1b!important;
		}
	}
}

.product-card {
	height: 100%;
	border-radius: 15px;
	background-color: white;

  .ratio {
    background-size: 100%;
    /* background-position: center; */
	background-repeat: no-repeat;
    transition: background-size 1.5s cubic-bezier(0, 0, 0.2, 1);
    will-change: background-size;
	overflow: hidden;
	border-radius: 25px;
  }

  &:hover .ratio {
    background-size: 110%;
  }

  img{
    transition: 1.5s cubic-bezier(0, 0, 0.2, 1);
    will-change: background-size;
	object-fit: cover;
  }

  .box-text{
	h3{
		font-size: 16px !important;
        line-height: 22px;
        color: #000;
        font-weight: 700 !important;
	}
	span{
		font-size: 18px!important;
		padding-top: 10px;
    	padding-bottom: 10px;
		font-weight: 700 !important;
	}
  }
}

.call-to-action{
	.container{
		.cols-right{
		}
		.book-image{
			img{
				margin: 0 auto;
				display: block;
			}
		}
	}
}

.search{
	form{
		input{
            background-color: #f2f2f2;
            border-radius: 20px !important;
		}
	}
}

.featuredCategories {
	h2{
		font-size: 45px;
		line-height: 60px;
		font-weight: 800;
	}
	background-color: white;
		.item {
			.item-box{
				position: relative;
				height: 100%;
				display: flex;
				flex-direction: column;

				.ratio {
					padding: 0;
					transition: .3s;
					overflow: hidden;
					background-color: #f5f5f5;
					border-radius: 60px;
					border-top-left-radius: 0;
					&:hover{
						opacity: 0.8;
						background-color: transparent;
						box-shadow: #000 0em 0em 0em;
					}
				}
				h3{
				font-size: 20px;
				font-weight: 800;
				}
			}
		}
}

.featuredProducts{
	h2{
		font-size: 45px;
        line-height: 60px;
        font-weight: 800;
		text-align: center
	}
	.btn-buy-add{
		button{
            background-color: #f5f5f5;
            border: 0 !important;
            color: #000;
            font-weight: 700 !important;
			&:hover{
				background-color: #ff7345;
				border-color: #ff7345;
				color: #fff;
			}
		}
	}
}

.lastProducts {
	background-color: white;
	.row{
		.product-card{
			margin: 0;
			padding: 0;
			position: relative;
			border-radius: 30px;
			background-color: #ffffff;
			border: 2px solid #f2f2f2;
			padding: 13px;
			transition: all 0.3s ease-in-out 0s;
		}
	}
}

.btn-buy-add{
	button:hover{
		background-color: #323232;
    	color: white !important;
	}
}

/* carousel animacion */
    .carouselBanners {
        position: relative;
        overflow: hidden;
		width: 100%;
		height: 70vh;
    }
    
    .carouselBanners .tns-item {
        opacity: 0;
        transition: opacity 0.5s ease;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .carouselBanners .tns-item.tns-slide-active {
        opacity: 1;
        position: relative;
    }

    /* Transición vertical */
    .carouselBanners .tns-item {
        transform: translateY(20px);
        transition: all 0.5s ease;
    }

    .carouselBanners .tns-item.tns-slide-active {
        transform: translateY(0);
    }

    .carousel-counter {
        z-index: 10;
        color: white;
        font-size: 0.9rem;
        background-color: rgba(0,0,0,0.5);
    }
    /* Estilos para los números de control */
    .carousel-numbers {
        min-width: 40px;
        z-index: 2;
		right: 0;
		top: 50%;
		transform: translate(-50%, -50%);
}

    .carousel-number {
	width: 50px;
    height: 50px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-color: #eee;
    transition: all 0.3s ease;
    font-size: 14px;
    }

    .carousel-number:hover,
    .carousel-number.active {
        background-color: #ff6b00;
        color: white;
        font-weight: bold;
    }

	.banner-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.lastProducts {
	h2{
		font-size: 45px;
        line-height: 60px;
        font-weight: 800;
        text-align: center;
	}
}

.sale{
	h2{
		font-size: 45px;
        line-height: 60px;
        font-weight: 800;
        text-align: center;
	}
}

.callAction{
    margin-bottom: 50px;
}
.callAction .bg{
	background-color: #ffe5a6;
}
.callAction h3{
	font-size: 45px;
	line-height: 60px;
	color: #000;
	font-weight: 800;
}

.best-sellers h2{
	font-size: 45px;
    line-height: 60px;
    font-weight: 800;
    text-align: center;
}

.breadcrumb-item.active{
	color: #ff7345!important
}

.detail-product-category{
	.col-sm-4{
		width: 100%;
		.product-card{
			display: grid;
			grid-template-columns: 3fr 7fr;
			gap: 20px;
			width: 100%;

			.box-text{
				h3, span{
					text-align: left!important;
				}
				span{
					/* margin-bottom: 15px; */
				}
				.btn-buy-add{
					display: flex;
					button{
						margin-right: 10px;
					}
				}
				.ratings{
					justify-content: flex-start!important;
				}
			}
		}
	}
}

.contact{
	form{
		.form-control{
			border-radius: 3px;
			background-color: #eee;
			border: none;
			color: #3d3d3d;
		}
	}
}

.formShipping{
	.form-floating{
		.form-control{
			border-radius: 3px;
			background-color: #eee;
			border: none;
			color: #3d3d3d;
		}
	}
}

.cart-detail{
	.btn-less-add{
		border-radius: 5px;
	}
}

.bodyProduct .btn-whatsapp{
	display: none;
}

.breadcrumb-item>a{
	color: #000!important;
}
.breadcrumb-item+.breadcrumb-item::before{
	background-color: #000!important;
}

.btn-whatsapp{
    background-color: green;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border-radius: 50%;
    width: 40px;
    height: 40px;
}

.scroll-top-btn{
	background-color: #ff7345;
	border-radius: 50%;
    border: 0;
    color: white;
	transition: all ease-in-out .3s;
	display: none;
}

.scroll-top-btn:hover{
	background-color: #292828!important;
}

.cash-price{
	margin-bottom: 20px;
}

button#submitBtn:hover {
    background-color: #198754;
    transition: .3s;
}

.img-review .btn{
    height: inherit;
    line-height: 30px;
    position: absolute;
    top: 0;
    right: 0;
    padding-left: 10px;
    padding-right: 13px;
}

.btn-variation button{
	line-height: normal;
	padding: 10px;
}

.sticky-sm-top{
	z-index: 2;
}
 
.mobile-nav a{
	color: #444;
}

.formShipping .form-floating .form-control{
    position: relative;
    z-index: 3;
    background: transparent;
}

.formShipping .form-floating .form-control::before{
	content: "";
	display: block;
}

@media (max-width: 991px) {
	body {
		padding-top: 79px;

		.mobile-nav {
			left: -100%;
			padding-top: 62px;
			transition: all ease-in-out .3s;
			z-index: 3;
			max-width: 425px;

			&.active {
				left: 0;
                background-color: #f3f3f3;
                color: #444 !important;
			}
		}

		&.with-name {
			padding-top: 118px;

			.mobile-nav {
				padding-top: 118px;
			}
		}

		&.with-bar {
			padding-top: 105px;

			.mobile-nav {
				padding-top: 105px;
			}
		}

		&.with-name.with-bar {
			padding-top: 144px;

			.mobile-nav {
				padding-top: 144px;
			}
		}
	}

}

@media (max-width: 767px) {
	.border-start-dotted {
		border-left: 0;
	}
	.border-end-dotted {
		border: none;
	}
	.btn-whatsapp{
		/* bottom: 14px!important; */
	}
	.scroll-top-btn{
		right: 21px;
	}
	.callAction {
		.col-sm-6.bg{
			border-bottom-left-radius: 0px !important;
		}
		.col-sm-6.bg-img{
			border-top-right-radius: 0px !important;
		}
	}
	.col-sm-4{
		.product-card{
			display: block!important;
		}
	}
}

@media(max-width: 576px){
	.checkout-summary .subtotal-price{
		position: absolute;
		top: 0;
		right: 0;
	}
}

@media (max-width: 425px) {
	#thumbnail-carousel-track {
		height: 276px !important;
	}
	.featuredCategories h2, .featuredProducts h2, .lastProducts h2, .sale h2, .best-sellers h2{
		font-size: 32px;
	}
	footer .bg{
		top: -4px;
	}
	.cart-detail .delete-product{
        position: absolute;
        left: 0;
        top: 0;
    }
	.cart-detail .box-content{
		position: relative;
	}
	button, .btn{
		padding: 15px 20px!important;
	}
}

@media (max-width: 375px) {
	#thumbnail-carousel-track {
		height: 240px !important;
	}
}

@media (max-width: 320px) {
	#thumbnail-carousel-track {
		height: 198px !important;
	}
}
