/* .custom-search-container {
    position: fixed;
    top: 115px;
    right: 135px;
    z-index: 1000;
    max-width: 400px;
}

.custom-search-form {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    background-color: white;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.custom-search-form .material-icons.search {
    padding: 0 10px;
    color: #666;
    cursor: pointer;
}

.custom-search-input {
    flex: 1 !important;
    padding: 12px 15px !important;
    border: none !important;
    outline: none !important;
    font-size: 14px !important;
    color: #333 !important;
    background-color: white !important;
    /* Fixes específicos para Firefox 
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    /* Override específico para inputs de email/password 
    background: transparent !important;
    width: 100% !important;
    height: auto !important;
}

Override específico para evitar conflictos con reglas generales de inputs 
input[type="text"].custom-search-input,
input[type="search"].custom-search-input,
input.custom-search-input {
    flex: 1 !important;
    padding: 12px 15px !important;
    border: none !important;
    outline: none !important;
    font-size: 14px !important;
    color: #333 !important;
    background-color: white !important;
    background: white !important;
    -moz-appearance: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
}

 Fix para Firefox - remover la propiedad problemática 
.custom-search-input-group {
    display: flex !important; /* Cambiado de ruby-text a flex 
    align-items: center !important;
    width: 100% !important;
}

/* Alternativas si necesitas otro tipo de display 
/* 
.custom-search-input-group {
    display: block;
}

o

.custom-search-input-group {
    display: inline-flex;
}


.custom-search-form .material-icons.clear {
    padding: 0 10px;
    color: #666;
    cursor: pointer;
    display: none; /* Oculto por defecto 
}

.custom-search-results {
    position: fixed;
    top: 183px; /* Ajusta según la altura de la barra de búsqueda 
    left: 0;
    right: 0;
    bottom: 0;
    background: white;
    z-index: 9999;
    overflow-y: auto;
    padding: 20px;
    display: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.custom-search-results.visible {
    display: block;
}

.custom-search-results-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.custom-search-result-item {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}

.custom-search-result-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.custom-search-result-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.custom-search-result-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f7f7f7;
}

.custom-search-result-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
}

.custom-search-result-info {
    padding: 15px;
    text-align: center;
}

.custom-search-result-title {
    margin: 0 0 10px;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    min-height: 53px;
}

.custom-search-result-price {
    margin: 0;
    font-size: 18px;
    color: #2fb5d2;
    font-weight: 700;
}

@media (max-width: 767px) {
    .custom-search-container {
        top: -24px;
        right: 55px;
        left: 5px;
        max-width: none;
        position: absolute;
    }

    .custom-search-results {
        top: 145px; /* Ajusta según la altura de la barra de búsqueda en móviles 
    }
    #header .header-top {
        padding: 2rem 0;
    }
    .custom-search-results-list{
        display: flow-root;
    }
    .custom-search-result-item {
        width: 50%;
        float: left;
    }
    i.material-icons.search {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .custom-search-container{
        top: 90px !important;
    }
    .custom-search-results{
        top: 150px !important;
    }
}

i.material-icons.clear {
    cursor: pointer;
    color: white;
}

i.material-icons.delete {
    cursor: pointer;
    color: white;
}

.custom-search-result-prices {
    align-items: center;
    gap: 10px;
}

.original-price {
    text-decoration: line-through;
    color: #999;
    font-size: 14px;
}

.discount-price {
    color: #2fb5d2;
    font-size: 18px;
    font-weight: 700;
}

.search-history {
    display: flex; /* Muestra los ítems en línea 
    gap: 10px; /* Espacio entre los ítems 
    padding: 10px;
    background-color: #f7f7f7; /* Fondo claro 
    border-radius: 8px; /* Bordes redondeados 
    margin-top: 10px; /* Espacio arriba 
    overflow-x: auto; /* Permite desplazamiento horizontal si hay muchos ítems 
}

.search-history-item {
    padding: 8px 12px; /* Espaciado interno 
    background-color: #fff; /* Fondo blanco 
    border: 1px solid #ddd; /* Borde sutil 
    border-radius: 20px; /* Bordes redondeados 
    font-size: 14px; /* Tamaño de fuente 
    color: #333; /* Color de texto 
    cursor: pointer; /* Cambia el cursor al pasar 
    transition: background-color 0.3s, border-color 0.3s; /* Transición suave 
    white-space: nowrap; /* Evita que el texto se divida en varias líneas 
}

.search-history-item:hover {
    background-color: #f0f0f0; /* Cambia el fondo al pasar el mouse 
    border-color: #ccc; /* Cambia el color del borde al pasar el mouse 
}

.recommended-products {
    padding: 10px;
    background-color: #f7f7f7;
    border-radius: 8px;
    margin-top: 10px;
}

.recommended-products h3 {
    margin: 0 0 10px;
    font-size: 16px;
    color: #333;
}

.custom-search-recommendations-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.custom-search-recommendation-item {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: transform 0.2s, box-shadow 0.2s;
}

.custom-search-recommendation-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.search-recommendations > h3 {
    margin-top: 10px;
    font-size: larger;
}

.search-suggestions {
    margin-top: 20px;
    padding: 10px;
    background-color: #f9f9f9;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.search-suggestions h4 {
    margin: 0 0 10px;
    font-size: 16px;
    color: #333;
}

.search-suggestions ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.search-suggestion-item {
    padding: 8px 12px;
    margin: 5px 0;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s, border-color 0.3s;
}

.search-suggestion-item:hover {
    background-color: #f0f0f0;
    border-color: #ccc;
}

.custom-search-results {
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.custom-search-results.visible {
    opacity: 1;
    transform: translateY(0);
}

.search-suggestions h4 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.close-suggestions {
    cursor: pointer;
    color: #666;
    transition: color 0.3s;
}

.close-suggestions:hover {
    color: #ff0000;
}

.current-price {
    font-weight: bold;
    color: #333; /* o el color que prefieras 
}

.original-price {
    text-decoration: line-through;
    color: #999; /* o el color que prefieras 
}

.discount-price {
    font-weight: bold;
    color: #e53935; /* o el color que prefieras para precios con descuento 
}

.custom-search-result-image {
    position: relative;
}

.offer-badge {
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: #e53935;
    color: white;
    padding: 3px 8px;
    border-radius: 3px;
    font-size: 0.8em;
    font-weight: bold;
}

.custom-search-result-brand {
    color: #666;
    font-size: 0.9em;
    margin: 0 0 5px;
} */