@import url("https://fonts.googleapis.com/css2?family=Inter&display=swap");


body {
font-feature-settings: "cv03", "cv04", "cv11";
margin: 0;
font-family: "Inter", sans-serif;
font-optical-sizing: auto;
background-color: #eff3f5 !important;
}

body.home, body.product_detail, body.catalog, body.claim-book{
padding-bottom:100px;
}

#editorjs .ce-block__content {
max-width: 100%; /* Cambia este valor según tus necesidades */
margin: 0 auto; /* Esto centra el contenido */
}

.adds-creceidea-pe {
width: 100%;
}

.btn-actions-catalog {
background-color: var(--primary-color);
color: var(--color);
}

.btn-actions-catalog:hover {
background-color: var(--primary-color);
color: var(--secondary-color);
opacity: 0.8;
}
.page-body{
position:relative;
}
.container-products-catalog>.row>div {
padding-right: calc(var(--tblr-gutter-x) * 1.5);
padding-left: calc(var(--tblr-gutter-x) * 1.5);
}

.banner-container {
display: flex;
height: 100%;
}

.banner-catalog h3 {
color: #fff;
font-size: 1rem;
margin: 0px;
padding: 0px;
text-align: center;
line-height: 25px;
}

.banner-catalog {
background-color: var(--primary-color);
border-radius: var(--border-radius);
position: relative;
}

.inner-banner {
height: 100%;
display: flex;
width: 100%;
justify-content: center;
align-items: center;
padding-bottom:20px;
padding-top:20px;
}



:after,
:before,
* {
box-sizing: border-box;
}

.container {
width: 1200px;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}

h2 {
line-height: 1.1;
}
.image-product{
height: 400px;
background-color: #FFF;
}
.btn-actions-catalog{
color:#fff;
}

.hero-slider {
height: 480px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
position: relative;
z-index: 0;
}

@media (max-width: 991px) {
.hero-slider {
height: 600px;
}
}

@media (max-width: 767px) {
.hero-slider {
height: 500px;
}
}

.hero-slider .swiper-slide {
overflow: hidden;
color: #fff;
}

.hero-slider .swiper-container {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
border-radius: var(--border-radius);
overflow: hidden;
}

.hero-slider .slide-inner {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 1;
background-size: cover;
background-position: center;
display: flex;
justify-content: center;
align-items: center;
text-align: left;
background-repeat: no-repeat;
}

.home .hero-slider .slide-inner {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
z-index: 1;
background-size: cover;
background-position: center;
display: flex;
justify-content: center;
align-items: center;
text-align: left;
background-repeat: no-repeat;
}

.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
background: transparent;
width: 45px;
height: 45px;
line-height: 37px;
margin-top: -30px;
text-align: center;
border: 2px solid #fff;
border-radius: 25px;
opacity: 0;
visibility: hidden;
transition: all .3s ease;
}

.hero-slider:hover .swiper-button-prev,
.hero-slider:hover .swiper-button-next {
transform: translateX(0);
opacity: 1;
visibility: visible;
}

@media (max-width: 767px) {

.hero-slider .swiper-button-prev,
.hero-slider .swiper-button-next {
display: none;
}
}

.hero-slider .swiper-button-prev {
left: 25px;
transform: translateX(50px);
}

.hero-slider .swiper-button-prev:before {
font-family: "Font Awesome 5 Free";
content: "\f060";
font-size: 15px;
color: #d4d3d3;
font-style: normal;
display: inline-block;
vertical-align: middle;
font-weight: 900;
}

.hero-slider .swiper-button-next {
right: 25px;
transform: translateX(-50px);
}

.hero-slider .swiper-button-next:before {
font-family: "Font Awesome 5 Free";
content: "\f061";
font-size: 15px;
color: #ffffff;
font-style: normal;
display: inline-block;
vertical-align: middle;
font-weight: 900;
}

.hero-slider .swiper-pagination-bullet {
width: 12px;
height: 12px;
text-align: left;
line-height: 12px;
font-size: 12px;
color: #000;
opacity: 0.3;
background: #fff;
transition: all .2s ease;
}

.hero-slider .swiper-pagination-bullet-active {
opacity: 1;
}

.hero-slider .swiper-container-horizontal>.swiper-pagination-bullets,
.hero-slider .swiper-pagination-custom,
.hero-slider .swiper-pagination-fraction {
bottom: 30px;
}

@media screen and (min-width: 992px) {

.hero-slider .swiper-container-horizontal>.swiper-pagination-bullets,
.hero-slider .swiper-pagination-custom,
.hero-slider .swiper-pagination-fraction {
/* display: none; */
}
}

.swiper-pagination {
text-align: left;
}

.hero-slider .swiper-container-horizontal>.swiper-pagination-bullets {
bottom: 10px;
max-width: 1200px;
padding: 0 15px;
margin: 0 auto;
left: 50%;
transform: translateX(-50%);
}

@media (min-width: 767px) {
.hero-slider .swiper-container-horizontal>.swiper-pagination-bullets {
bottom: 30px;

}
}

/*--------------------------------------------------------------
#hero-style
--------------------------------------------------------------*/
.hero-style {
height: 390px;
transition: all .4s ease;


}

@media (max-width: 991px) {
.hero-style {
height: 500px;
}
}

@media (max-width: 767px) {
.hero-style {
height: 150px;
}
.image-product{
height: 300px;
background-color: #FFF;
}

}

@media screen and (min-width: 992px) {
.hero-style .container {
padding-top: 95px;
}
}

.hero-style .slide-title,
.hero-style .slide-text,
.hero-style .slide-btns {
max-width: 690px;
}

.hero-style .slide-title h2 {
font-size: 30px;
font-weight: 600;
line-height: 1;
color: #ffffff;
margin: 0 0 40px;
transition: all .4s ease;
}

@media (max-width: 1199px) {
.hero-style .slide-title h2 {
font-size: 75px;
}
}

@media (max-width: 991px) {
.hero-style .slide-title h2 {
font-size: 50px;
margin: 0 0 35px;
}
}

/*----- RESPONSIVE ALL SITE */
@media (max-width: 435px) {

.hero-style {

border-top-right-radius: 10px !important;
}
.share-store{
width: 25px !important;
height: 25px !important;
padding: 0px !important;
gap: 0px !important;
border-radius: 4px !important;
margin-bottom: -5px !important;
margin-top: 15px !important;
}
.share-store span{
display:none;
}

}

@media (max-width: 767px) {

.social-links{
flex-direction: column;
flex-wrap: wrap;
}

footer .social-links{
flex-direction: initial !important;
flex-wrap: initial !important;
}

.social-links>div{
box-sizing: border-box;
}
.tools-header {
align-items: end !important;
flex-direction: column-reverse;
}

.inner-banner {
align-items: center !important;
height:60px;
}
.hero-style .slide-title h2 {
font-size: 14px;
margin: 5px 5px 5px 5px;
width: 50%;
line-height: 15px;
}
.hero-style .slide-title {
margin-bottom:15px;
margin-top: 15px;
}
.price-tag{
margin-top: 10px;
}

.description {
font-size: 11px !important;
}


.btn-actions-catalog {
font-size: 11px !important;
font-weight: bold;
}
.price-tag .price-normal {

font-size: 10px !important;

}
.description ul{
margin:0px;
padding:0px;
}

.name {
font-size: 16px!important;
margin-bottom: 10px !important;
}

.container-products-catalog > .row > div {
padding-right: calc(var(--tblr-gutter-x) * 0.5) !important;
padding-left: calc(var(--tblr-gutter-x) * 0.5) !important;
}

#categories-multiple-slides .item-cat {
font-size: 12px !important;
}

}

.hero-style .slide-text p {
opacity: 0.8;
font-family: Rajdhani;
font-size: 32px;
font-weight: 500;
line-height: 1.25;
letter-spacing: normal;
color: #ffffff;
margin: 0 0 40px;
transition: all .4s ease;
}

@media (max-width: 767px) {
.hero-style .slide-text p {
font-size: 16px;
font-size: 1rem;
font-weight: normal;
margin: 0 0 30px;
}
}




.hero-style .slide-btns>a:first-child {
margin-right: 10px;
}



.card {
border-radius: 27px;
background-color: #FFF;
}

.image-content,
.card-content {
display: flex;
flex-direction: column;
align-items: left;
padding: 10px 14px;
}

.image-content {
position: relative;
row-gap: 5px;
padding: 0;
overflow: hidden;
border-top-left-radius: 25px;
border-top-right-radius: 25px;
}

.overlay {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
background-color: #4070F4;
}

.overlay::before,
.overlay::after {
content: '';
position: absolute;
right: 0;
bottom: -40px;
height: 40px;
width: 40px;
background-color: #4070F4;
}

.overlay::after {
border-radius: 0 25px 0 0;
background-color: #FFF;
}

.card-image {
position: relative;
height: 220px;
width: 100%;
}

.card-image .card-img {
height: 220px;
object-fit: cover;
}

.name {
font-size: 16px;
color: var(--primary-color);
text-align: left;
font-weight: bold;
height: 25px;
display: flex;
align-items: center;
}

.description {
font-size: 14px;
color: #707070;
text-align: left;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
overflow: hidden;
text-overflow: ellipsis;
max-height: 50px;
line-height: normal;
}

.button-catalog{
border: none;
color: #FFF;
padding: 8px 16px;
background-color: var(--primary-color);
cursor: pointer;
transition: all 0.3s ease;
}

.button-catalog svg{

width:25px;
height:25px;
fill:#fff;

}
.btn-view svg{
width:15px;
height:15px;
fill:#fff;
}

.btn_whatsapp_direct{
background-color:#40C351 !important;
}

.button-catalog:hover {
background: var(--primary-color);
}

.swiper-navBtn {
color: #6E93f7;
transition: color 0.3s ease;
}

.swiper-navBtn:hover {
color: #4070F4;
}

.swiper-navBtn::before,
.swiper-navBtn::after {
font-size: 35px;
}

.swiper-button-next {
right: 0;
}

.swiper-button-prev {
left: 0;
}

.swiper-pagination-bullet {
background-color: #6E93f7;
opacity: 1;
}

.swiper-pagination-bullet-active {
background-color: #4070F4;
}

.card_product .text-btn-whatsapp{
display:none;
}

@media screen and (max-width: 768px) {

.card_product .text-btn-whatsapp{
display:block;
}

.button-catalog svg {
width: 17px;
height: 17px;
fill: #fff;
}

.button-catalog {
border: none;
color: #FFF;
padding: 8px 10px;
background-color: var(--primary-color);
cursor: pointer;
transition: all 0.3s ease;
font-size: 13px;
align-items:center;
}

.slide-content {
margin: 0 10px;
}

.swiper-navBtn {
display: none;
}

.card-image .card-img {
height: 135px;

}

.card-image {
height: 135px;
}
}




#categories-multiple-slides .item-cat {
border: 1px solid var(--primary-color);
border-radius: 20px;
height: 40px;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
font-size: 14px;
font-weight: bold;
background-color: var(--primary-color);
padding-left: 5px;
padding-right: 5px;
line-height: 13px;
}

#categories-multiple-slides .item-cat a{
color: #fff;
text-decoration: none;
}
.button-catalog {
background-color: var(--primary-color);
}

.price-tag .price-off {
display: block;
font-size: 22px;
font-weight: bold;
color: red;
}

.price-tag .price-normal {
display: block;
font-size: 15px;
color: #888;
}

.adds-creceidea-pe {
text-align: center;
background: #FF512F; /* fallback for old browsers */
background: -webkit-linear-gradient(to right, #F09819, #FF512F); /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to right, #F09819, #FF512F); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+,
Safari 7+ */
color: #ffffff;
font-size: 17px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
font-weight: normal;
gap:10px;
}

.adds-creceidea-pe a{

}

.adds-creceidea-pe svg{

width:25px;
}

.product_detail.swiper-container .slide-inner:after{
display:none !important;
}
.swiper-container .slide-inner:after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgb(0,0,0);
background: linear-gradient(90deg, rgba(0,0,0,0.6936975473783263) 0%, rgba(0, 0, 0, 0) 100%);
z-index: 1;
}
.swiper-container .slide-inner .container{
position:relative;
z-index: 2;
}




.tools-elements-header .icon-cart-mini svg{
width: 35px;
height: 35px;
}

.tools-elements-header .icon-cart-mini {
position:relative;
border-radius: 100%;
background-color: var(--primary-color);
}
.tools-elements-header .icon-cart-mini .count-products{
position:absolute;
top: -3px;
right: -10px;
background-color: red;
height: 22px;
min-width: 22px;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
border-radius: 100%;
color: #fff;
font-size: 11px;
}


.tools-header .social-links svg{
width: 25px;
height: 25px;
}
.tools-header .social-links {
display: flex;
gap: 10px;
}
.tools-header .social-links svg * {
fill: #505050;
}


.share-store{
color: #505050;
border-radius: 20px;
width: 110px;
text-align: center;
padding-top: 4px;
padding-bottom: 5px;
backdrop-filter: blur(3px);
display: flex;
justify-content: center;
align-items: center;
gap: 2px;
border: 1px solid #fff;
background-color: #0000001c;
}
.share-store svg{
width:15px;
height:15px;
}

.codex-editor__redactor{
padding:0px !important;
}
.image-tool__caption{
display:none;
}

.price-normal-sin-descuento{
display: block;
font-size: 22px;
font-weight: bold;
color: #333333;
}



.product-card {
display: flex;
flex-direction: column;
justify-content: space-between;
}

.price-buy {
display: flex;
justify-content: space-between;
align-items: center;
}

@media (max-width: 576px) {



.tools-header::before {

width: 50px;
height: 50px;
right: 33px !important;
left: initial !important;
bottom: 0px;
}

.tools-header::after {
width: 57px !important;
height: 48px !important;
right: -3px !important;
top: -47px !important;
}


.product-card {
flex-direction: row;
}

.product-card img {
width: 150px;
height: auto;
margin-right: 1rem;
}

.card-body {
display: flex;
flex-direction: column;
justify-content: space-between;
}

.price-buy {
flex-direction: row;
justify-content: space-between;
align-items: center;
}
}

/* Ocultar controles de incremento para navegadores Webkit (Chrome, Safari, etc.) */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}

/* Ocultar controles de incremento en Firefox */
input[type="number"] {
-moz-appearance: textfield;
}

.tools-header::after {
z-index: -1;
content: "";
position: absolute;
background: radial-gradient(circle at 0% 0%, transparent 70%, #eff3f5 calc(70%)) bottom right;
background-repeat: repeat;
background-size: auto;
background-size: 50% 50%;
background-repeat: no-repeat;
width: 50px;
height: 50px;
right: 0px;
top: -50px;
}

.tools-header::before {
z-index: -1;
content: "";
position: absolute;
background: radial-gradient(circle at 0% 0%, transparent 70%, #eff3f5 calc(70%)) bottom right;
background-repeat: repeat;
background-size: auto;
background-size: 50% 50%;
background-repeat: no-repeat;
width: 50px;
height: 50px;
left: -50px;
right: initial;
bottom: 0px;
}

input {
touch-action: manipulation;
}
#send-order-end:disabled {
background-color: #cccccc;
cursor: not-allowed; /* Opcional: cambia el cursor cuando el botón está deshabilitado */
opacity: 0.6; /* Opcional: reduce la opacidad para indicar un estado deshabilitado */
}



#pagination {
display: flex;
justify-content: center;
text-align: center;
gap:6px;
}
#pagination li {
display: inline
}
#pagination li a {
display: inline-block;
text-decoration: none;
padding: 5px 10px;
color: #000
}

/* Active and Hoverable Pagination */
#pagination li a {
border-radius: 5px;
-webkit-transition: background-color 0.3s;
transition: background-color 0.3s

}
#pagination li a.active {
background-color: var(--primary-color);
color: #fff
}
#pagination li a:hover:not(.active) {
background-color: #ddd;
}

.product-item {
position: relative;
transition: transform 0.3s ease-in-out;
}

.product-item.swiped {
transform: translateX(-100px);
}

.delete-button {
transition: opacity 0.3s ease-in-out;
opacity: 0;
}

.product-item.swiped .delete-button {
opacity: 1;
display: block;
}

.floating_btn {
position: fixed;
bottom: 10px;
right: 5px;
width: 100px;
height: 100px;
display: flex;
flex-direction: column;
align-items:center;
justify-content:center;
z-index: 1000;
}

@keyframes pulsing {
to {
box-shadow: 0 0 0 30px rgba(232, 76, 61, 0);
}
}

.contact_icon {
background-color: #42db8773;
color: #fff;
width: 75%;
height: 75%;
font-size: 30px;
border-radius: 100%;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
transform: translatey(0px);
animation: pulse 1.5s infinite;
box-shadow: 0 0 0 0 #42db87;
-webkit-animation: pulsing 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
-moz-animation: pulsing 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
-ms-animation: pulsing 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
animation: pulsing 1.25s infinite cubic-bezier(0.66, 0, 0, 1);
font-weight: normal;
font-family: sans-serif;
text-decoration: none !important;
transition: all 300ms ease-in-out;
}

.contact_icon svg{
width:32px;
}

.text_icon {
margin-top: 8px;
color: #707070;
font-size: 13px;
}



.overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
display: none;
transition: opacity 0.3s ease;
z-index:9999;
}

.overlay.active {
display: block;
}

.sidebar {
width: 440px;
height: 100%;
position: fixed;
top: 0;
right: -460px;
transition: right 0.3s ease;
box-sizing: border-box;
opacity: 0;
z-index:99999;
}

.sidebar.active {
right: 0;
opacity: 1;
}

.toggle-btn {
position: fixed;
top: 20px;
right: 20px;
background: #007BFF;
color: white;
border: none;
padding: 10px 15px;
cursor: pointer;
border-radius: 5px;
}

.close-btn {
background: red;
color: white;
border: none;
padding: 10px;
cursor: pointer;
width: 100%;
text-align: center;
margin-top: 20px;
border-radius: 5px;
}

.content-min-cart {
height:100%;
box-sizing: border-box;
}

@media screen and (max-width: 430px) {
.sidebar {
width: 100%;
right: -100%;
}
}

.swiper-slide.noTextBanner .slide-inner:after{

display:none !important;

}

#content-buscador {

overflow: hidden;
top:0px;
height: 100%;
background-color: #062532e8;
}

@media screen and (max-width: 430px) {

#content-buscador {
display:none;
}

#content-buscador.open {
display:flex;
}
}


@media screen and (min-width: 431px) {

#content-buscador {
display:none;
}

#content-buscador.open {
display:flex;
}

}

@keyframes pulso-carrito {
0% { transform: scale(1); filter: brightness(1); }
50% { transform: scale(1.15); filter: brightness(1.5); }
100% { transform: scale(1); filter: brightness(1); }
}

#openCart.animar-pulso {
animation: pulso-carrito 0.5s ease-in-out 2;
}


.background {
background-color: rgb(52, 20, 235);
border-radius: 50%;
box-shadow: 0 2.1px 1.3px rgba(0, 0, 0, 0.044),
0 5.9px 4.2px rgba(0, 0, 0, 0.054), 0 12.6px 9.5px rgba(0, 0, 0, 0.061),
0 25px 20px rgba(0, 0, 0, 0.1);
height: 80px;
left: 10px;
position: absolute;
top: 10px;
width: 80px;
}

.chat-bubble {
cursor: pointer;
position: relative;
opacity: 0;
animation: fadeInIcon 0.6s ease-out forwards;
}

/* Animación de entrada suave del ícono completo */
@keyframes fadeInIcon {
from {
opacity: 0;
transform: scale(0.8);
}
to {
opacity: 1;
transform: scale(1);
}
}

.bubble {
transform-origin: 50%;
transition: transform 500ms cubic-bezier(0.17, 0.61, 0.54, 0.9);
}

.line {
fill: none;
stroke: rgb(255, 255, 255);
stroke-width: 2.75;
stroke-linecap: round;
stroke-linejoin: round;
transition: stroke-dashoffset 500ms cubic-bezier(0.4, 0, 0.2, 1);
}

.line1 {
stroke-dasharray: 60 90;
stroke-dashoffset: 60;
animation: drawLine1 1.2s cubic-bezier(0.65, 0, 0.35, 1) forwards;
opacity: 0;
animation-fill-mode: both;
}

.line2 {
stroke-dasharray: 67 87;
stroke-dashoffset: 67;
animation: drawLine2 1.2s cubic-bezier(0.65, 0, 0.35, 1) 0.4s forwards;
opacity: 0;
animation-fill-mode: both;
}

/* Animación profesional de dibujo de las líneas del SVG */
@keyframes drawLine1 {
0% {
opacity: 0;
stroke-dashoffset: 60;
}
10% {
opacity: 1;
}
100% {
opacity: 1;
stroke-dashoffset: -20;
}
}

@keyframes drawLine2 {
0% {
opacity: 0;
stroke-dashoffset: 67;
}
10% {
opacity: 1;
}
100% {
opacity: 1;
stroke-dashoffset: -18;
}
}

.circle {
fill: rgb(255, 255, 255);
stroke: none;
transform-origin: center;
transition: transform 500ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Animación profesional de parpadeo natural para los círculos laterales (ojos) */
@keyframes naturalBlink {
0%, 85%, 100% {
opacity: 1;
transform: scale(1);
}
86% {
opacity: 0.05;
transform: scale(0.25);
}
87% {
opacity: 0.3;
transform: scale(0.5);
}
88% {
opacity: 0.7;
transform: scale(0.85);
}
89% {
opacity: 1;
transform: scale(1);
}
}

/* Aplicar animación de parpadeo natural a los círculos laterales (ojos) */
.chat-bubble .circle1 {
opacity: 0;
animation: 
fadeInCircle 0.4s cubic-bezier(0.4, 0, 0.2, 1) 1.6s forwards,
naturalBlink 4s ease-in-out infinite;
animation-fill-mode: both;
}

.chat-bubble .circle3 {
opacity: 0;
animation: 
fadeInCircle 0.4s cubic-bezier(0.4, 0, 0.2, 1) 1.6s forwards,
naturalBlink 4s ease-in-out infinite;
animation-fill-mode: both;
}

/* Círculo del medio (nariz) - estático con efecto sutil de respiración */
.chat-bubble .circle2 {
opacity: 0;
animation: 
fadeInCircle 0.5s cubic-bezier(0.4, 0, 0.2, 1) 1.4s forwards,
subtlePulse 3s ease-in-out infinite;
animation-fill-mode: both;
}

@keyframes fadeInCircle {
from {
opacity: 0;
transform: scale(0.6);
}
to {
opacity: 1;
transform: scale(1);
}
}

/* Efecto sutil de pulso/respiración para el círculo medio */
@keyframes subtlePulse {
0%, 100% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.05);
opacity: 0.95;
}
}

/* Efecto de hover mejorado */
.chat-bubble:hover .bubble {
transform: scale(1.05);
transition: transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.chat-bubble:hover .circle {
transform: scale(1.1);
transition: transform 300ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.active .bubble {
transform: translateX(24px) translateY(4px) rotate(45deg);
}

.active .line1 {
stroke-dashoffset: 21;
}

.active .line2 {
stroke-dashoffset: 30;
}

.active .circle {
transform: scale(0);
animation: none !important; /* Detener animación cuando está activo */
}

:root {
--color-one: #aa96f9;
--color-two: #54b6ca;
--color-three: #474ed7;
--color-four: #00ee6e;
--color-wrapper: #0c75e6;
--icon-color: #fff;
--size: 45px;

/* ==========================================================================
   VARIABLES DEL CHATBOT Y NOTIFICACIONES
   Personaliza estos valores para cambiar la apariencia del chatbot
   ========================================================================== */

/* Variables del chatbot */
--chatbot-primary: var(--primary-chat, #f16808);
--chatbot-secondary: var(--second-chat, #f16808);
--chatbot-accent: var(--accent-chat, #ffffff);
--chatbot-text-primary: #ffffff;
--chatbot-text-secondary: #f8fafc;
--chatbot-text-muted: rgba(255, 255, 255, 0.9);
--chatbot-bg-user: #6a77be;
--chatbot-bg-bot: #085878;
--chatbot-bg-overlay: rgba(0, 0, 0, 0.5);

/* Variables de notificaciones (pueden usar colores del tema) */
--notification-bg-start: var(--primary-color, #10b981);
--notification-bg-end: var(--secondary-color, #059669);
--notification-text: #ffffff;
--notification-text-muted: rgba(255, 255, 255, 0.9);
--notification-border: rgba(255, 255, 255, 0.1);
--notification-shadow: rgba(16, 185, 129, 0.2);
--notification-button-bg: rgba(255, 255, 255, 0.15);
--notification-button-bg-hover: rgba(255, 255, 255, 0.25);
--notification-button-border: rgba(255, 255, 255, 0.2);

/* Variables de scrollbar */
--scrollbar-thumb: rgba(148, 163, 184, 0.4);
--scrollbar-thumb-hover: rgba(148, 163, 184, 0.6);
--scrollbar-thumb-active: rgba(100, 116, 139, 0.8);
--scrollbar-thumb-dark: rgba(226, 232, 240, 0.3);
--scrollbar-thumb-dark-hover: rgba(226, 232, 240, 0.5);
--scrollbar-thumb-dark-active: rgba(226, 232, 240, 0.7);

/* Variables de re-registro */
--reregister-bg: #eff6ff;
--reregister-border: #bfdbfe;
--reregister-text: #1e40af;
--reregister-button-bg: #3b82f6;
--reregister-button-bg-hover: #2563eb;
--reregister-button-text: #ffffff;

/* Variables de typing indicator */
--typing-bg: #374151;
--typing-dot: #06b6d4;

/* ==========================================================================
   FIN DE VARIABLES DEL CHATBOT
   ========================================================================== */
}

.animated {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}

.wrapper {
border: 1px solid #ffffff2b;
width: var(--size);
height: var(--size);
background: var(--color-wrapper);
position: relative;
overflow: hidden;
border-radius: 50%;
box-sizing: content-box;
}

.animated .icon{
position: absolute;
z-index: 3;
top: -7px;
right: -8px;
border-radius: initial;
-webkit-filter: initial;
}

.wrapper div {
position: absolute;
filter: blur(4px);
-webkit-filter: blur(4px);
opacity: 0.9;
border-radius: 100%;
animation: move linear infinite;
}

.animated .one {
width: 130%;
height: 130%;
background-color: var(--color-one);
left: -12%;
top: -75%;
z-index: 1;
animation-duration: 10s;
}

.animated .two {
width: 125%;
height: 125%;
background-color: var(--color-two);
bottom: -7%;
left: -20%;
animation-duration: 12s; /* Duración única */
animation-direction: reverse; /* Se mueve en sentido contrario */
}

.animated .three {
width: 112%;
height: 112%;
bottom: -20%;
right: -25%;
background-color: var(--color-three);
animation-duration: 9s; /* Duración única */
}

.animated .four {
width: 90%;
height: 90%;
margin: auto;
bottom: 0;
right: 0;
background-color: var(--color-four);
animation-duration: 15s; /* Duración única */
animation-direction: reverse; /* Se mueve en sentido contrario */
}

/* Keyframe unificado para un bucle perfecto */
@keyframes move {
0% {
transform: translate(0, 0) rotate(0deg);
}
25% {
transform: translate(40px, -30px) rotate(90deg);
}
50% {
transform: translate(-50px, 45px) rotate(180deg);
}
75% {
transform: translate(30px, 20px) rotate(270deg);
}
100% {
transform: translate(0, 0) rotate(360deg); /* Regresa exactamente al inicio */
}
}

#chat-window{
font-family: "Space Grotesk", "Noto Sans", sans-serif;
}

:root {
--pulse-scale: 1;
--bass-intensity: 0; /* Valor de 0 a 1 */
}

@keyframes loading-dots {
0%, 20% { content: '.'; }
40% { content: '..'; }
60%, 100% { content: '...'; }
}

#chat-bubble {
border-radius: 50%;
z-index: 99;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
transition: transform 0.1s ease-out;
transform: scale(var(--pulse-scale));
}

.waves-container {
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
}

.wave {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
border-radius: 50%;
border-style: solid;
/* El color y el grosor cambian dinámicamente con la intensidad */
border-width: calc(1px + var(--bass-intensity) * 3px);
border-color: hsla(calc(210 - var(--bass-intensity) * 50), 100%, 65%, 0); /* Inicia invisible */
transform: translate(-50%, -50%) scale(1);
pointer-events: none;
}

.wave.animate {
animation: ripple 1.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}

@keyframes ripple {
0% {
transform: translate(-50%, -50%) scale(1);
border-color: hsla(calc(210 - var(--bass-intensity) * 50), 100%, 65%, 0.8);
opacity: 1;
}
100% {
transform: translate(-50%, -50%) scale(2);
border-color: hsla(calc(210 - var(--bass-intensity) * 50), 100%, 65%, 0);
opacity: 0;
}
}

/* Estilo adicional para el efecto de la etiqueta flotante */
.floating-label-container {
position: relative;
}
.floating-label-input:focus ~ .floating-label,
.floating-label-input:not(:placeholder-shown) ~ .floating-label {
transform: translateY(-1.75rem) scale(0.75);
color: #3b82f6; /* text-blue-500 */
}

.buble-header {
  /* Fallback sólido (por si el navegador no soporta gradientes) */
  background-color: #7d88f4;

  /* Gradiente diagonal con prefijos para compatibilidad */
  background-image: -webkit-linear-gradient(45deg, #7d88f4 33%, #4097ca 50%, #04c48e 100%);
  background-image: -moz-linear-gradient(45deg, #7d88f4 33%, #4097ca 50%, #04c48e 100%);
  background-image: -o-linear-gradient(45deg, #7d88f4 33%, #4097ca 50%, #04c48e 100%);
 background-image: linear-gradient(45deg, #7d88f4 33%, #4097ca 50%, #04c48e 100%);
}

.gradient-bg-sam {
  background-color: var(--chatbot-bg-bot);
  background-image: -webkit-linear-gradient(-45deg, var(--chatbot-bg-bot) 70%, #46818b 90%, #04c48e 100%);
  background-image: -moz-linear-gradient(-45deg, var(--chatbot-bg-bot) 70%, #46818b 90%, #04c48e 100%);
  background-image: -o-linear-gradient(-45deg, var(--chatbot-bg-bot) 70%, #46818b 90%, #04c48e 100%);
  background-image: linear-gradient(-45deg, var(--chatbot-bg-bot) 70%, #46818b 90%, #04c48e 100%);
  border: 1px solid #0a5b7c;
}

.gradient-bg-user {
  background-color: var(--chatbot-bg-user);
  background-image: -webkit-linear-gradient(45deg, var(--chatbot-bg-user) 70%, #46818b 90%, #04c48e 100%);
  background-image: -moz-linear-gradient(45deg, var(--chatbot-bg-user) 70%, #46818b 90%, #04c48e 100%);
  background-image: -o-linear-gradient(45deg, var(--chatbot-bg-user) 70%, #46818b 90%, #04c48e 100%);
  background-image: linear-gradient(45deg, var(--chatbot-bg-user) 70%, #46818b 90%, #04c48e 100%);
}

.footer-chatbot{
  opacity:0.8;
}

/* Estilos para notificación compacta de producto */
#compact-product-notification {
  pointer-events: auto;
  user-select: none;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

#compact-product-notification.hidden {
  opacity: 0;
  transform: translateY(-10px);
  pointer-events: none;
}

#compact-product-notification:not(.hidden) {
  opacity: 1;
  transform: translateY(0);
}

#compact-product-notification button:hover {
  transform: translateY(-1px);
}

#compact-product-notification button:active {
  transform: translateY(0);
}

/* Responsive para notificación en móvil */
@media (max-width: 640px) {
  #compact-product-notification {
    top: 12px !important;
    right: 12px !important;
    left: 12px !important;
    max-width: none !important;
  }
  
  #compact-product-notification > div {
    min-width: auto !important;
    padding: 10px 12px !important;
  }
}

/* Evitar conflicto con otras notificaciones */
#notification {
  z-index: 9999 !important;
}

#compact-product-notification {
  z-index: 10000 !important;
}

/* Estilos para el contenedor de mensajes del chat */
#chat-messages {
  /* Webkit browsers (Chrome, Safari, Edge) */
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
  
  /* Mejorar la experiencia de scroll */
  overflow-y: auto;
  overflow-x: hidden;
  scroll-behavior: smooth;
  
  /* Padding para evitar que el contenido se oculte detrás del scrollbar */
  padding-right: 1.5rem !important;
  padding-left: 1rem;
  
  /* Transición suave para cambios de altura */
  transition: height 0.3s ease;
  
  /* Posición relativa para el gradiente */
  position: relative;
}

/* Espaciado adicional para mensajes del usuario (lado derecho) */
#chat-messages > div.flex.justify-end {
  margin-right: 0;
  padding-right: 0;
  margin-bottom: 0.5rem;
  padding-left: 1rem; /* Espacio del lado izquierdo para balance */
}

#chat-messages > div.flex.justify-end > div {
  margin-right: 0;
  max-width: calc(80% - 8px);
}

/* Asegurar espacio adecuado en el contenedor */
#chat-messages > div {
  margin-bottom: 0.5rem;
}

/* Gradiente transparente en la parte superior */
#chat-messages::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to bottom, rgba(8, 51, 68, 1) 0%, rgba(8, 51, 68, 0.85) 25%, rgba(8, 51, 68, 0.5) 50%, rgba(8, 51, 68, 0) 100%);
  pointer-events: none;
  z-index: 10;
  border-radius: 1rem 1rem 0 0;
}

/* Webkit scrollbar styling */
#chat-messages::-webkit-scrollbar {
  width: 6px;
  background: transparent;
}

#chat-messages::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 6px;
  margin: 4px 0;
}

#chat-messages::-webkit-scrollbar-thumb {
  background: var(--scrollbar-thumb);
  border-radius: 6px;
  transition: all 0.3s ease;
  min-height: 20px;
}

#chat-messages::-webkit-scrollbar-thumb:hover {
  background: var(--scrollbar-thumb-hover);
  width: 8px;
}

#chat-messages::-webkit-scrollbar-thumb:active {
  background: var(--scrollbar-thumb-active);
}

/* Efecto de aparición gradual del scrollbar */
#chat-messages::-webkit-scrollbar-thumb {
  opacity: 0;
  transition: opacity 0.3s ease;
}

#chat-messages:hover::-webkit-scrollbar-thumb {
  opacity: 1;
}

/* Firefox scrollbar styling */
@-moz-document url-prefix() {
  #chat-messages {
    scrollbar-width: thin;
    scrollbar-color: var(--scrollbar-thumb) transparent;
  }
}

/* Estilos adicionales para mejorar la experiencia en móvil */
@media (max-width: 768px) {
  #chat-messages::-webkit-scrollbar {
    width: 4px;
  }
  
  #chat-messages {
    padding-right: 2px;
  }
  
  /* En móvil, mostrar scrollbar solo al hacer scroll */
  #chat-messages::-webkit-scrollbar-thumb {
    opacity: 0;
  }
  
  #chat-messages:active::-webkit-scrollbar-thumb,
  #chat-messages:focus::-webkit-scrollbar-thumb {
    opacity: 1;
  }
}

/* Estilos para el modo oscuro */
@media (prefers-color-scheme: dark) {
  #chat-messages::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb-dark);
  }

  #chat-messages::-webkit-scrollbar-thumb:hover {
    background: var(--scrollbar-thumb-dark-hover);
  }

  #chat-messages::-webkit-scrollbar-thumb:active {
    background: var(--scrollbar-thumb-dark-active);
  }

  #chat-messages {
    scrollbar-color: var(--scrollbar-thumb-dark) transparent;
  }
}

/* Animación suave para el contenido que aparece */
#chat-messages > div {
  animation: fadeInUp 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

/* Clase para mensajes que se desvanecen */
#chat-messages > div.fade-out {
  opacity: 0;
}

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

#chat-messages.has-scroll-content::before {
  opacity: 1;
}

/* Estilos para notificación dinámica (fallback) */
#compact-product-notification-dynamic {
  pointer-events: auto;
}

#compact-product-notification-dynamic .dynamic-notification-container {
  background: linear-gradient(135deg, var(--notification-bg-start) 0%, var(--notification-bg-end) 100%);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1), 0 4px 16px var(--notification-shadow);
  border: 1px solid var(--notification-border);
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--notification-text);
  font-family: system-ui, -apple-system, sans-serif;
  min-width: 300px;
}

#compact-product-notification-dynamic .dynamic-image-container {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  border: 2px solid var(--notification-border);
}

#compact-product-notification-dynamic .dynamic-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#compact-product-notification-dynamic .dynamic-content {
  flex: 1;
  min-width: 0;
}

#compact-product-notification-dynamic .dynamic-header {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
}

#compact-product-notification-dynamic .dynamic-icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

#compact-product-notification-dynamic .dynamic-label {
  font-size: 13px;
  font-weight: 600;
  opacity: 0.9;
  color: var(--notification-text-muted);
}

#compact-product-notification-dynamic .dynamic-product-name {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--notification-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#compact-product-notification-dynamic .dynamic-cart-button {
  background: var(--notification-button-bg);
  border: 1px solid var(--notification-button-border);
  border-radius: 6px;
  color: var(--notification-text);
  font-size: 12px;
  font-weight: 500;
  padding: 6px 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

#compact-product-notification-dynamic .dynamic-cart-button:hover {
  background: var(--notification-button-bg-hover);
}

/* Estilos para botón de re-registro */
.reregister-container {
  background: linear-gradient(135deg, var(--reregister-bg) 0%, rgba(239, 246, 255, 0.8) 100%);
  border: 1px solid var(--reregister-border);
  border-radius: 12px;
  padding: 20px;
  max-width: 320px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  text-align: center;
}

.reregister-icon-container {
  display: flex;
  justify-content: center;
  margin-bottom: 16px;
}

.reregister-icon {
  width: 48px;
  height: 48px;
  color: var(--reregister-button-bg);
  background: rgba(59, 130, 246, 0.1);
  border-radius: 50%;
  padding: 12px;
}

.reregister-content {
  text-align: center;
}

.reregister-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--reregister-text);
  margin-bottom: 8px;
}

.reregister-message {
  font-size: 14px;
  color: rgba(30, 64, 175, 0.8);
  margin-bottom: 16px;
  line-height: 1.5;
}

.reregister-buttons {
  display: flex;
  justify-content: center;
}

.reregister-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--reregister-button-bg) 0%, var(--reregister-button-bg-hover) 100%);
  color: var(--reregister-button-text);
  font-weight: 500;
  padding: 12px 20px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;
  box-shadow: 0 2px 6px rgba(59, 130, 246, 0.3);
}

.reregister-button:hover {
  background: linear-gradient(135deg, var(--reregister-button-bg-hover) 0%, #1d4ed8 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}

.reregister-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(59, 130, 246, 0.3);
}

.reregister-button-icon {
  width: 16px;
  height: 16px;
  stroke-width: 2;
}

/* Estilos para indicador de escritura */
.typing-delay-1 {
  animation-delay: 0.2s;
}

.typing-delay-2 {
  animation-delay: 0.4s;
}