@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=Jost:ital,wght@0,100..900;1,100..900&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: #dd3327!important;
}

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

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

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

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

.btn-orange{
	background-color: #dd3327;
	font-size: 15px !important;
	border-radius: 25px!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: #dd3327;
    border: 0 none;
	border-radius: 25px;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    height: 50px;
    line-height: 50px;
    display: inline-block;
    padding: 0 40px;
    text-transform: uppercase;
	transition: .3s;
}

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

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

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

header {
	z-index: 1021;

	.logo {
		max-height: 48px;
	}

	nav{
		font-weight: 500;
		a, button{
			color: #121519;
			font-weight: 500;
			font-size: 18px;
			&:hover {
				color: #dd3327;
			}
		}
		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;

		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; */
		border-radius: 20px;
		float: left;
		text-align: center;
		font-size: 22px;
		color: #000;
		transition: .3s;

		&:hover{
		}
	}
}

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: 90vh; */
	.carousel-indicators {
		button {
			background-color: #D9D9D9;
			border-radius: 50%;
			height: 16px;
			opacity: 1;
			width: 16px;

			&.active {
				background-color: #FCD9B8;
			}
		}
	}
	img.banner-image {
		height: 90vh;
		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: #000;
            border: 0;
            margin: 0px 5px;
            padding: 0;
		}
	}
}

.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: #dd3327;
    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: #dd3327;
			}
		}

		.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: 120px;
            height: 120px;
            background-color: #dd3327;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto;
			margin-bottom: 20px;
		}

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

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

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

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

/* 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 */

.scroll-top-btn{
	display: none;
	bottom: 0;
    right: 30px;
    margin-bottom: 15px;
    z-index: 999;
    border-radius: 50%;
    border: 0;
    color: white;
	transition: all ease-in-out .3s;
	&:hover {
		background-color: #292828!important;
	}
}

.btn-buy-add {
	position: absolute;
	left: 50%;
	bottom: 20px;
	transform: translate(-50%, 60px); /* Arranca desplazado hacia abajo */
	opacity: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 90%;
	transition: transform 0.3s cubic-bezier(.61,1,.88,1), opacity 0.3s cubic-bezier(.61,1,.88,1);
	pointer-events: none;

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

.product-card:hover .btn-buy-add {
  transform: translate(-50%, 0);
  opacity: 1;
  pointer-events: all;
}

.btn-buy-add button {
	background-color: #f5f5f5;
    border: 0 !important;
    color: #000;
    font-weight: 700 !important;
    border-radius: 25px;
    font-size: 13px;
    transition: background 0.2s, color 0.2s;
    cursor: pointer;
}
.btn-buy-add button:hover {
  background-color: #000;
  color: #fff;
}

.product-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 15px;
  height: 100%;

	.btn-buy-add{
		position: absolute;
        bottom: 0px;
        position: absolute;
        top: 20%;
        transform: translate(-50%, -50%);
		.btn-buy{
            background-color: #dd3327;
            border: 0 !important;
            color: white;
            font-weight: 700 !important;
			border-radius: 25px;
			&:hover{
				background-color: #000;
				border-color: #000;
				color: #fff;
			}
		}
	}

  .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;
	position: relative;
  }

  &: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: 500 !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 {
	.row .box-items{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        display: grid;

		.item{

			padding: 10px;

			&:first-child{
			grid-area: 1 / 1 / 3 / 2;
			}
			&:nth-child(2){
				grid-area: 1 / 2 / 2 / 3;
			}
			&:nth-child(3){
				grid-area: 2 / 2 / 3 / 3;
			}
			&:last-child{
				grid-area: 1 / 3 / 3 / 4;
			}
		}
	}
	h2{
		font-size: 40px;
		line-height: 60px;
		font-weight: 400;
	}
	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-top-left-radius: 0;
					height: 100%;
					border-radius: 23px;
					&:hover{
						opacity: 0.8;
						background-color: transparent;
						box-shadow: #000 0em 0em 0em;
					}
				}
				h3{
					font-size: 20px;
					font-weight: 500;
					box-shadow: 0 5px 30px #0000000d;
					background-color: white;
					padding-left: 35px;
					padding-right: 35px;
					border-radius: 30px;
					position: absolute;
					bottom: 15px;
					left: 50%;
					transform: translate(-50%, -50%);
				}
			}
		}
}

.featuredProducts h2, .best-sellers h2{
		font-size: 40px;
        line-height: 60px;
        font-weight: 400;
		text-align: center
}

.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: 100%;
    }
    
    .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: #dd3327;
        color: white;
        font-weight: bold;
    }

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

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

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

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

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

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

.img-review .btn i{
	color: white;
}
.breadcrumb-item.active{
	color: #dd3327;
}
.nav-pills .nav-link.active, .nav-pills .show>.nav-link{
	background-color: #000;
}
.nav-pills .nav-link{
	background-color: #f5f5f5;
	color: #000;
}

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

.contact .text-start button{
	background-color: #000;
}
.contact .text-start button:hover{
	transition: .3s;
	opacity: 0.7;
}

.offcanvas-header{
	background-color: #f5f5f5;
}

.preview-cart .btn-group a:hover, .total-confirm a:hover{
	opacity: 0.7;
	transition: .3s;
}

#submitBtn{
	line-height: normal;
}

.btn-variations button{
	line-height: normal;
}

.btn-buy-detail{
	border: 1px solid #dd3327;
}

.btn-add-detail{
    color: #292828;
    margin-left: 10px;
    border: 1px solid;
}

.btn-buy-detail:hover, .btn-add-detail:hover{
	opacity: 0.7;
}

.badge{
	background-color: #dd3327;
	opacity: 0.8;
}

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

@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: #444;
				color: white;
			}
		}

		&.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;
	}
	.scroll-top-btn{
		right: 21px;
	}
	.call-action .bg-dark-vertex-light-2 .row{
		padding: 35px !important;
	}
	.div-sellfast .btn-sellfast, .el-sellfast .btn-sellfast{
		height: auto;
		line-height: inherit;
	}
}

@media(max-width: 576px){
	.order-detail .subtotal-price{
		position: absolute;
		top: 0;
		right: 0;
	}
	.btn-buy-add{
		position: relative !important;
        transform: none !important;
        opacity: inherit;
        top: inherit !important;
        left: inherit;
		width: 100%;
	}
	.btn-buy-add button{
		padding: 5px 10px;
        overflow: hidden;
        line-height: normal;
	}
}

@media (max-width: 425px) {
	#thumbnail-carousel-track {
		height: 276px !important;
	}
	.row .box-items{
        grid-template-columns: repeat(2, minmax(0, 1fr))!important;

		.item{

			padding: 10px;

			&:first-child{
				grid-area: 1 / 1 / 3 / 2;
			}
			&:nth-child(2){
				grid-area: 3 / 1 / 4 / 2!important;
			}
			&:nth-child(3){
				grid-area: 1 / 2 / 2 / 3!important;
			}
			&:last-child{
				grid-area: 2 / 2 / 4 / 3!important;
			}
		}
	}
	.item {

		h3{
            font-size: 14px !important;
            padding-left: 20px !important;
            padding-right: 20px !important;

		}
	}
	.featuredCategories h2, .featuredProducts h2, .lastProducts h2, .sale h2, .best-sellers h2{
		font-size: 32px!important;
	}
}

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

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