/* Estilos del menú flotante */
.floating-menu {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    z-index: 1000;
    padding: 10px 0;
    height: 65px;
    border: solid 1px #f7f7f7;
}

.floating-menu__container {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    max-width: 100%;
    margin: 0 auto;
}

.floating-menu__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: #666;
    font-size: 12px;
    padding: 5px;
    position: relative;
    background: none;
    border: none;
}
.floating-menu__item:hover {
    color: var(--primary-color);
    transition: .3s;
}
.floating-menu__item i {
    font-size: 20px;
    margin-bottom: 5px;
}

.floating-menu__cart {
    position: relative;
    display: inline-block;
}

.floating-menu__cart .cart-items {
	position: absolute;
	right: -0.9rem;
	top: -0.9rem;
	display:flex;
	justify-content:center;
	align-items:center;
	min-width: 1.5rem;
	height:1.5rem;
	background: var(--cart-items-bg,var(--primary-hover-color));
	color: var(--cart-items-color,var(--primary-hover-contrast));
	border-radius: 5rem;
	font-size: .8rem;
	padding: .125rem .375rem;
	border: solid 1px, var(--cart-items-bg);

}
.floating-search-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: white;
    padding: 1rem;
    z-index: 1002;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.floating-search-container.hide {
    display: none;
}

.floating-search-container .floating-search-button {
    background: white;
    border: 1px solid #ced4da;
    border-left: none;
    color: #666;
    z-index: 1003;
    height: 33.5px;
}


.floating-search-container .floating-search-input {
    background: white;
    position: relative;
    z-index: 1003;
    border: solid 1px #ced4da;
    border-radius: 0px;
}

floating-search-container .floating-search-button {
    background: white;
    border: 1px solid #ced4da;
    border-left: none;
    color: #666;
    z-index: 1003;
    height: 34px;
}

.floating-search-container .floating-search-close {
    width: 32px;
    height: 32px;
    padding: 0;
    margin-left: 0.5rem;
    z-index: 1003;
}

/* Ocultar objetos y ajuste al footer */
@media (max-width: 992px) {
    .floating-menu {
        display: block;
    }
   .bs-grid-header,
   .bs-grid-header-sm,
   .bs-grid-header-md,
   .bs-grid-header-lg,
   .bs-grid-header-xl {
       grid-template-columns: 1fr auto 1fr;
   }
   
   .bs-grid-header__search,
   .bs-grid-header__cart,
   .bs-grid-header__login,
   .navbar-toggler {
       display: none;
   }
   .bs-grid-header__logo {
       grid-column: 2;
   }
    a.btn.btn-link i.fas.fa-user-alt {
        display: none;
    }
    .bs-copyright {
        padding-bottom: calc(65px + 1rem) !important;
    }
    
    img[data-bs="header.logo"] {
        width: auto !important;
        height: auto !important;
        transition: none !important;
    }
    .bs-sticky-header {
    box-shadow: none;
    }

    .bs-main {
        margin-top: 0 !important;
        --sticky-margin-top: 0 !important;
    }
    .special-header .bs-header {
    background: var(--header-bg);
    }
    .special-header .bs-header::before {
        display: none;
    }
    .special-header .bs-header.bs-sticky-header {
    background: var(--header-bg);
    }
    .bs-header[data-info="sticky"] {
    position: relative !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    }
    
    .bs-header.bs-sticky-header {
        backdrop-filter: none;
    }
    
    .special-header .bs-header.bs-sticky-header::before {
        opacity: 0;
    }
    #cookies__container {
    z-index: 1000 !important;
    }
}