/* Genebre B2B Search - Modal Fullscreen */
.devlab_mainmodal .hidden { display:none !important; }
.devlab_mainmodal { position:fixed; z-index:1040; width:100%; height:100vh; top:0; left:0; }
.devlab_mainmodal.hidden { display:none; }
.devlab_mainmodal_content { background:#fff; width:100%; height:100vh; }
.devlab_mainmodal_header { display:flex; justify-content:space-between; align-items:center; padding:16px 12px 0 18px; }
.devlab_mainmodal_body { display:flex; height:calc(100vh - 106px); }
.devlab_mainmodal_filters { width:346px; height:100%; overflow-y:auto; }
.devlab_mainmodal_products { width:calc(100% - 346px); height:100%; overflow-y:auto; padding:0 18px; }

/* Search input */
.devlab_header_search { width:100%; display:flex; padding:0; margin:0 8px 0 10px; border-bottom:1px solid #252F38; height:47px; align-items:center; }
.devlab_header_search .search_s { width:100%; border:none !important; outline:none; font-size:16px; height:46px; margin: 0;}
.devlab_header_search .search_s:focus, .devlab_header_search .search_s:focus-visible { border:0; outline:none; box-shadow:none; }
.icon_search { display:block; width:48px; height:24px; background:url('../img/ico_search.svg') no-repeat; background-size:48px 24px; flex-shrink:0; }
.icon_arrow_left { display:none; }
.img_search_elast { height:48px !important; }

/* Close button */
.dfd-close-button { display:block; width:30px; height:30px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7a1 1 0 1 0-1.41 1.41L10.59 12 5.7 16.89a1 1 0 1 0 1.41 1.41L12 13.41l4.89 4.89a1 1 0 0 0 1.41-1.41L13.41 12l4.89-4.89a1 1 0 0 0 0-1.4z'/%3E%3C/svg%3E"); background-position:center; background-repeat:no-repeat; background-size:30px; }
.devlab_header_close { background:transparent; border:0; opacity:0.5; cursor:pointer; }
.devlab_header_close:hover { opacity:1; }

/* Product grid */
.product-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:20px;     margin-bottom: 50px;}
.product-item { border:none; outline:1px solid #cbcccd; border-radius:4px; overflow:hidden; transition:box-shadow 0.3s; background:#fff; }
.product-item:hover { outline:2px solid #252F38; box-shadow:0 4px 8px rgba(0,0,0,0.1); }
.product-link { display:block; padding:10px; text-decoration:none; color:inherit; position:relative; }
.product-image { text-align:center; margin-bottom:10px; height:180px; display:flex; align-items:center; justify-content:center; }
.product-image img { max-height:100%; max-width:100%; object-fit:contain; }
.product-image .no-img { color:#ccc; font-size:13px; }
.product-info { padding-top:8px; }
.product-reference { color:#acaaa6; font-size:0.8em; margin:0 0 4px; }
.product-name { font-size:14px; font-weight:500; margin:0 0 4px; color:#232323; height:51px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; letter-spacing:0.65px; }
.product-category { color:#999; font-size:0.75em; margin:0; }

/* Filters */
.mf-20 { margin:20px; }
.devlab_filter_title { font-size:16px; font-weight:600; color:#000; margin-bottom:10px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; }
.i-fil { display:flex; justify-content:space-between; align-items:center; color:#333; font-size:12px; height:28px; cursor:pointer; }
.i-fil-active { color:#333; font-weight:600; }
.i-fil span:first-child { color:#414141; line-height:1.2; }
.i-fil span:last-child { color:#414141; }
.i-check { height:16px; width:25px; display:inline-block; background-size:16px 16px !important; margin-bottom:-4px; }
.i-fil .i-check { background:url('../img/check_gris.svg') no-repeat bottom left; }
.i-fil-active .i-check { background:url('../img/check_1_new.svg') no-repeat bottom left !important; opacity:1 !important; }
.i-fil.i-n0 { color:#979797; }
.i-fil.i-fil-hidden { display:none; }
.devlab_mainmodal_filters .i-fil:hover .i-check { background:url('../img/check_1_new.svg') no-repeat bottom left; opacity:0.5; }
.icon_down { display:block; width:16px; height:12px; background:url('../img/down_ico.svg') no-repeat; background-size:16px 12px; }
.devlab_filter_title:not(.active) .icon_down { transform:rotate(180deg); transition:transform 0.3s; }
.devlab_filter_title.active .icon_down { transform:rotate(0deg); transition:transform 0.3s; }
.filter-showMore { border:none; background:transparent; color:#252F38; font-size:12px; padding-top:6px; cursor:pointer; }
.filter-showMore:hover { text-decoration:underline; }
.clear_filters_desktop a { font-size:14px; color:#777; text-decoration:none; }
#gs_filtercategories .i-fil { height:28px; }
#gs_filtercategories .i-fil:hover { cursor:pointer; }

/* Header results */
.devlab_products_header { display:flex; align-items:center; justify-content:space-between; margin:20px 0 14px; }
.filter_total_f { color:#000; font-size:14px; font-weight:800; }
.devlab_products_total { color:#333; font-size:14px; }

/* Suggestions & badges */
.devlab_mainmodal_suggestions { display:flex; padding:8px 18px; flex-wrap:wrap; gap:8px; align-items:center; }
.badge_suggestions { border-radius:50rem; padding:3px 6px; font-size:14px; cursor:pointer; display:flex; align-items:center; background:#252F38; color:#fff; font-weight:600; }
.badge_suggestions .delete-suggestion { opacity:0.5; margin-left:4px; }
.badge_suggestions .delete-suggestion:hover { opacity:1; }
.ico-close-button { display:block; width:16px; height:16px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7a1 1 0 1 0-1.41 1.41L10.59 12 5.7 16.89a1 1 0 1 0 1.41 1.41L12 13.41l4.89 4.89a1 1 0 0 0 1.41-1.41L13.41 12l4.89-4.89a1 1 0 0 0 0-1.4z' fill='%23fff'/%3E%3C/svg%3E"); background-position:center; background-repeat:no-repeat; background-size:16px; }
.delete_tag_ { color:#252F38 !important; font-size:14px; cursor:pointer; }
.delete_tag_:hover { text-decoration:underline; }
.devlab_mainmodal_suggestions .text_title_ { font-size:14px; font-weight:600; }

/* Home view */
.devlab_mainmodal_body_home { padding:8px 18px; display:flex; }
/* .devlab_mainmodal_body_home.hidden cubierto por .devlab_mainmodal .hidden */
.devlab_mainmodal_body_home .text_title_ { font-size:18px; color:#000; font-weight:700; margin:12px 0; }
.devlab_mainmodal_home_products { flex:1 1 auto; margin:0 0 0 32px; overflow-y:auto; height:calc(100vh - 114px); padding:0 2px 56px; }
.devlab_mainmodal_home_suggestions .recom_text_ span { font-size:14px; color:#000; height:26px; display:flex; align-items:center; cursor:pointer; }
.devlab_mainmodal_home_suggestions .recom_text_ span:hover { text-decoration:underline; color:#252F38; }

/* Voice search button */
.voice-search-btn { background:transparent; border:none; cursor:pointer; padding:4px 8px; color:#252F38; flex-shrink:0; display:flex; align-items:center; }
.voice-search-btn.hidden { display:none; }
.voice-search-btn:hover { color:#148f89; }
.voice-search-btn.voice-active { color:#ef005a; animation:pulse 1s infinite; }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:0.4; } }

/* Loading skeleton */
.search-loading { display:grid; grid-template-columns:repeat(auto-fill, minmax(200px, 1fr)); gap:20px; }
.skeleton-item { padding:15px; border:1px solid #e5e5e5; border-radius:4px; }
.skeleton-img { height:180px; background:#f0f0f0; border-radius:4px; margin-bottom:15px; animation:shimmer 1.5s infinite; }
.skeleton-text { height:14px; background:#f0f0f0; border-radius:4px; margin-bottom:8px; animation:shimmer 1.5s infinite; }
.skeleton-text.short { width:60%; }
@keyframes shimmer { 0% { opacity:0.6; } 50% { opacity:1; } 100% { opacity:0.6; } }

/* No results */
.search_not_result { width:100%; }

/* Mobile bottom buttons */
.devlab_mobile_bottom { display:none; position:fixed; bottom:0; left:0; right:0; text-align:center; z-index:1040; }
.devlab_products_mobile_button { font-size:13px; height:40px; padding:0 13px; border-radius:40rem; background:#252F38; box-shadow:0 6px 20px rgba(49,36,133,.15); color:#fff; border:none; display:inline-flex; align-items:center; cursor:pointer; }
.icon_filtro { display:block; width:24px; height:24px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M3 18a1 1 0 0 0 1 1h5v-2H4a1 1 0 0 0-1 1zM3 6a1 1 0 0 0 1 1h9V5H4a1 1 0 0 0-1 1zm10 14v-1h7a1 1 0 1 0 0-2h-7v-1a1 1 0 1 0-2 0v4a1 1 0 1 0 2 0zM7 10v1H4a1 1 0 1 0 0 2h3v1a1 1 0 1 0 2 0v-4a1 1 0 1 0-2 0zm14 2a1 1 0 0 0-1-1h-9v2h9a1 1 0 0 0 1-1zm-5-3a1 1 0 0 0 1-1V7h3a1 1 0 1 0 0-2h-3V4a1 1 0 1 0-2 0v4a1 1 0 0 0 1 1z' fill='%23fff'/%3E%3C/svg%3E"); background-size:24px; background-repeat:no-repeat; margin-right:4px; }
.header_filtro_ { display:none; }

/* ===== RESPONSIVE ===== */
@media (max-width:990px) {
    .devlab_mobile_bottom { display:block; bottom:10px; }
    .devlab_mainmodal_filters { display:none; width:100%; }
    .devlab_mainmodal_products { width:100%; padding:0 8px; }
    .clear_filters_desktop { display:none; }
    .icon_arrow_left { display:block; width:44px; height:21px; background:url('../img/ico_arow_left.svg') no-repeat; background-size:44px 24px; cursor:pointer; }
    .devlab_header_search .icon_search { display:none; }
    .img_search_elast { display:none; }
    .devlab_header_close { display:none; }
    .devlab_header_search { margin:0; height:52px; }
    .devlab_mainmodal_header { padding:0 !important; }
    .devlab_mainmodal_body { height:calc(100vh - 48px); }
    .devlab_mainmodal_suggestions { padding:4px; gap:4px; }
    .badge_suggestions { padding:2px 6px; font-size:12px; }
    .product-grid { gap:8px; }
    .header_filtro_ { display:flex !important; justify-content:space-between; align-items:center; height:52px; padding:0 8px 0 22px; }
    .header_filtro_ .devlab_header_close { display:block !important; }
}
@media (max-width:768px) {
    .devlab_mainmodal_body_home { display:grid; padding:8px; }
    .devlab_mainmodal_body_home .recom_text_ { display:flex; gap:8px; flex-wrap:wrap; }
    .devlab_mainmodal_home_products { margin:0; height:calc(100vh - 244px); }
}
@media (max-width:491px) {
    .product-grid { grid-template-columns:repeat(auto-fill, minmax(152px, 1fr)) !important; }
}
@media (max-width:390px) {
    .product-grid { grid-template-columns:repeat(auto-fill, minmax(120px, 1fr)) !important; }
}
