/* Casa Cabello - Ajaxsearch Pointbiz-style panel v1
   Standalone CSS. Do not import into _argento_custom.less. */

:root {
    --cc-search-navy: #0f224c;
    --cc-search-navy-soft: #1a3366;
    --cc-search-accent: #e67e22;
    --cc-search-bg: #f4f7fb;
    --cc-search-border: #d9e2ef;
    --cc-search-muted: #5b6b86;
    --cc-search-line: #e8edf5;
    --cc-search-radius: 14px;
}

/* ---------- Search bar + category filter ---------- */
.page-header .block.block-search,
.page-header .block.block-search.block-swissup-ajaxsearch {
    max-width: 640px !important;
}

.page-header .block-search.block-swissup-ajaxsearch.inline .field.search,
.page-header .block-swissup-ajaxsearch .field.search,
.page-header .block-search .field.search,
.page-header .block-search .control,
.page-header .block-search .control.inactive,
.page-header .block-search .control.active,
.page-header .block-swissup-ajaxsearch .origin,
.page-header .block-swissup-ajaxsearch span.twitter-typeahead {
    overflow: visible !important;
}

.page-header .block-search.block-swissup-ajaxsearch.inline .field.search,
.page-header .block-swissup-ajaxsearch .field.search,
.page-header .block-search .field.search {
    gap: 0;
    background: #fff !important;
    border-color: var(--cc-search-border) !important;
    box-shadow: 0 1px 2px rgba(15, 34, 76, 0.04) !important;
}

/* Align mega-panel under the whole search field (offset category filter width) */
.page-header .block-swissup-ajaxsearch-results,
.page-header .tt-menu.block-swissup-ajaxsearch-results {
    left: -148px !important;
    right: auto !important;
    transform: none !important;
}

@media (max-width: 767px) {
    .page-header .block-swissup-ajaxsearch-results,
    .page-header .tt-menu.block-swissup-ajaxsearch-results {
        left: 0 !important;
    }
}

.page-header .block-swissup-ajaxsearch .swissup-ajaxsearch-filter-category-wrapper {
    display: flex !important;
    align-items: stretch;
    order: -1 !important;
    flex: 0 0 148px;
    max-width: 160px;
    min-width: 120px;
    margin: 0 !important;
    padding: 0 8px 0 12px !important;
    border: 0 !important;
    border-right: 1px solid var(--cc-search-line) !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-sizing: border-box;
    z-index: 3;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

.page-header .block-swissup-ajaxsearch .swissup-ajaxsearch-filter-category-wrapper + .origin,
.page-header .block-swissup-ajaxsearch .swissup-ajaxsearch-filter-category-wrapper + .twitter-typeahead,
.page-header .block-swissup-ajaxsearch .field.search > .twitter-typeahead,
.page-header .block-swissup-ajaxsearch .field.search > span.twitter-typeahead {
    order: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
}

.page-header .block-swissup-ajaxsearch .swissup-ajaxsearch-filter-category-wrapper + .origin .input-text,
.page-header .block-swissup-ajaxsearch .field.search .input-text {
    border-radius: 0 12px 12px 0 !important;
    padding-left: 14px !important;
}

.page-header .block-swissup-ajaxsearch .select2-container--default .select2-selection--single {
    border: 0 !important;
    background: transparent !important;
    height: 46px !important;
    display: flex !important;
    align-items: center;
}

.page-header .block-swissup-ajaxsearch .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--cc-search-navy) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding-left: 0 !important;
    padding-right: 18px !important;
    line-height: 1.2 !important;
}

.page-header .block-swissup-ajaxsearch .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 0 !important;
}

.page-header .block-swissup-ajaxsearch .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--cc-search-navy) transparent transparent transparent !important;
}

.page-header .block-swissup-ajaxsearch .swissup-ajaxsearch-filter-category-wrapper .select2-dropdown {
    border: 1px solid var(--cc-search-border) !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 40px rgba(15, 34, 76, 0.14) !important;
    overflow: hidden;
    margin-top: 6px;
    padding: 6px !important;
}

.page-header .block-swissup-ajaxsearch .select2-results__option {
    border-radius: 8px;
    padding: 8px 10px !important;
    font-size: 13px;
    color: var(--cc-search-navy);
}

.page-header .block-swissup-ajaxsearch .select2-container--default .select2-results__option--highlighted[aria-selected],
.page-header .block-swissup-ajaxsearch .select2-container--default .select2-results__option[aria-selected="true"] {
    background: var(--cc-search-bg) !important;
    color: var(--cc-search-navy) !important;
}

/* ---------- Results mega panel ---------- */
.block-swissup-ajaxsearch-results,
.tt-menu.block-swissup-ajaxsearch-results {
    width: min(1040px, calc(100vw - 32px)) !important;
    max-width: min(1040px, calc(100vw - 32px)) !important;
    margin-top: 10px !important;
    padding: 0 !important;
    border: 1px solid var(--cc-search-border) !important;
    border-radius: var(--cc-search-radius) !important;
    background: #fff !important;
    box-shadow: 0 22px 50px rgba(15, 34, 76, 0.16) !important;
    overflow: hidden;
    z-index: 1200 !important;
}

.block-swissup-ajaxsearch-results:before,
.block-swissup-ajaxsearch-results:after {
    display: none !important;
}

.block-swissup-ajaxsearch-results .tt-dataset {
    max-height: none !important;
    overflow: visible !important;
}

.block-swissup-ajaxsearch-results.grid,
.block-swissup-ajaxsearch-results .tt-dataset.tt-dataset-0,
.block-swissup-ajaxsearch-results > .tt-dataset {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0;
}

.block-swissup-ajaxsearch-results .custom-item-info-wrapper {
    order: -1 !important;
    flex: 0 0 240px !important;
    max-width: 260px !important;
    min-width: 200px !important;
    margin: 0 !important;
    padding: 16px 14px 18px !important;
    background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 100%);
    border-right: 1px solid var(--cc-search-line);
    box-sizing: border-box;
    max-height: 520px;
    overflow-y: auto;
}

.block-swissup-ajaxsearch-results .product-item-info-wrapper {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-content: flex-start;
    gap: 0;
    padding: 8px 8px 12px !important;
    max-height: 520px;
    overflow-y: auto;
    box-sizing: border-box;
}

.block-swissup-ajaxsearch-results .ajaxsearch-title,
.block-swissup-ajaxsearch-results h4.ajaxsearch-title {
    margin: 0 0 10px !important;
    padding: 0 4px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--cc-search-muted) !important;
}

.block-swissup-ajaxsearch-results .ajaxsearch-header-container {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100% !important;
    padding: 10px 10px 4px !important;
    box-sizing: border-box;
}

.block-swissup-ajaxsearch-results .ajaxsearch-header-container .ajaxsearch-title {
    margin-bottom: 0 !important;
}

.block-swissup-ajaxsearch-results .ajaxsearch-header-container .view-all {
    float: none !important;
    color: var(--cc-search-accent) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.block-swissup-ajaxsearch-results .ajaxsearch-header-container .view-all:hover {
    color: var(--cc-search-navy) !important;
    text-decoration: underline !important;
}

/* Hide duplicate product section title inside grid wrapper if Swissup still injects one */
.block-swissup-ajaxsearch-results .product-item-info-wrapper > .ajaxsearch-title {
    display: none;
}

/* Left rail items */
.block-swissup-ajaxsearch-results .category-item-info,
.block-swissup-ajaxsearch-results .autocomplete-item-info,
.block-swissup-ajaxsearch-results .popular-item-info,
.block-swissup-ajaxsearch-results .page-item-info {
    display: block !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    opacity: 1 !important;
    animation: none !important;
}

.block-swissup-ajaxsearch-results .category-item-info a,
.block-swissup-ajaxsearch-results .page-item-info a,
.block-swissup-ajaxsearch-results .autocomplete-item-info .qs-option-name,
.block-swissup-ajaxsearch-results .popular-item-info .qs-option-name,
.block-swissup-ajaxsearch-results .cc-as-rail-link {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 10px !important;
    border-radius: 10px;
    color: var(--cc-search-navy) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
}

.block-swissup-ajaxsearch-results .tt-suggestion.tt-cursor .category-item-info a,
.block-swissup-ajaxsearch-results .tt-suggestion:hover .category-item-info a,
.block-swissup-ajaxsearch-results .tt-suggestion.tt-cursor .autocomplete-item-info .qs-option-name,
.block-swissup-ajaxsearch-results .tt-suggestion:hover .autocomplete-item-info .qs-option-name,
.block-swissup-ajaxsearch-results .tt-suggestion.tt-cursor .popular-item-info .qs-option-name,
.block-swissup-ajaxsearch-results .tt-suggestion:hover .popular-item-info .qs-option-name,
.block-swissup-ajaxsearch-results .category-item-info a:hover,
.block-swissup-ajaxsearch-results .page-item-info a:hover {
    background: #eef3fb !important;
    color: var(--cc-search-navy-soft) !important;
}

.block-swissup-ajaxsearch-results .autocomplete-item-info .amount,
.block-swissup-ajaxsearch-results .popular-item-info .amount,
.block-swissup-ajaxsearch-results .cc-as-amount {
    color: var(--cc-search-muted) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

.block-swissup-ajaxsearch-results .tt-suggestion {
    padding: 0 !important;
    background: transparent !important;
}

.block-swissup-ajaxsearch-results .tt-suggestion.tt-cursor,
.block-swissup-ajaxsearch-results .tt-suggestion:hover {
    background: transparent !important;
}

/* Product cards */
.block-swissup-ajaxsearch-results .product-item-info {
    width: 25% !important;
    max-width: 25% !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 0 !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    animation: none !important;
}

.block-swissup-ajaxsearch-results .product-item-info .cc-as-product,
.block-swissup-ajaxsearch-results .product-item-info > a.product-item-photo,
.block-swissup-ajaxsearch-results .product-item-info {
    /* keep structure */
}

.block-swissup-ajaxsearch-results .cc-as-product {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 210px;
    padding: 12px 10px 14px;
    border: 1px solid var(--cc-search-line);
    border-radius: 12px;
    background: #fff;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.block-swissup-ajaxsearch-results .tt-suggestion:hover .cc-as-product,
.block-swissup-ajaxsearch-results .tt-suggestion.tt-cursor .cc-as-product,
.block-swissup-ajaxsearch-results .cc-as-product:hover {
    border-color: #c7d4ea;
    box-shadow: 0 10px 24px rgba(15, 34, 76, 0.08);
    transform: translateY(-1px);
}

.block-swissup-ajaxsearch-results .product-item-photo,
.block-swissup-ajaxsearch-results .cc-as-product .product-item-photo {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    text-align: center !important;
}

.block-swissup-ajaxsearch-results .product-image-container {
    width: 96px !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 auto !important;
}

.block-swissup-ajaxsearch-results .product-image-wrapper {
    padding-bottom: 0 !important;
    height: 96px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    position: relative !important;
}

.block-swissup-ajaxsearch-results .product-image-photo,
.block-swissup-ajaxsearch-results .product-item-photo img,
.block-swissup-ajaxsearch-results .cc-as-product img {
    position: static !important;
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 96px !important;
    height: auto !important;
    object-fit: contain;
    margin: 0 auto;
}

.block-swissup-ajaxsearch-results .product-item-details,
.block-swissup-ajaxsearch-results .cc-as-product .product-item-details {
    display: block !important;
    text-align: left !important;
    padding: 0 !important;
}

.block-swissup-ajaxsearch-results .product-item-name,
.block-swissup-ajaxsearch-results .cc-as-title {
    display: block;
    margin: 0 0 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: var(--cc-search-navy) !important;
}

.block-swissup-ajaxsearch-results .product-item-name a,
.block-swissup-ajaxsearch-results .cc-as-title a {
    color: inherit !important;
    text-decoration: none !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.block-swissup-ajaxsearch-results .price-box,
.block-swissup-ajaxsearch-results .cc-as-price {
    margin: 0 0 4px !important;
    color: var(--cc-search-navy) !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.block-swissup-ajaxsearch-results .price-box .price,
.block-swissup-ajaxsearch-results .cc-as-price .price {
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
}

.block-swissup-ajaxsearch-results .cc-as-price-note {
    display: block;
    margin-bottom: 6px;
    color: var(--cc-search-muted);
    font-size: 11px;
    font-weight: 500;
}

.block-swissup-ajaxsearch-results .product-info-stock-sku,
.block-swissup-ajaxsearch-results .cc-as-sku {
    margin: 0 !important;
    color: var(--cc-search-muted) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em;
}

.block-swissup-ajaxsearch-results .product-info-stock-sku .sku,
.block-swissup-ajaxsearch-results .product-info-stock-sku .value {
    color: inherit !important;
    font-size: inherit !important;
}

/* CMS pages (Enable Cookies, Argento Elements, etc.) no proceden en este catálogo B2B */
.block-swissup-ajaxsearch-results .page-item-info,
.block-swissup-ajaxsearch-results .page-item-info-wrapper {
    display: none !important;
}

.block-swissup-ajaxsearch-results .notFound-item-info {
    padding: 28px 24px !important;
    text-align: center;
    color: var(--cc-search-muted);
    font-size: 14px;
}

.block-swissup-ajaxsearch-results .notFound-item-info p {
    margin: 0;
}

.block-swissup-ajaxsearch-results .cc-as-empty-title {
    display: block;
    margin-bottom: 6px;
    color: var(--cc-search-navy);
    font-size: 15px;
    font-weight: 700;
}

/* Fallback when Swissup wraps without .cc-as-product (old cached template) */
.block-swissup-ajaxsearch-results .product-item-info > .product-item-photo {
    display: block !important;
}

.block-swissup-ajaxsearch-results .product-item-info:not(:has(.cc-as-product)) {
    border: 1px solid var(--cc-search-line);
    border-radius: 12px;
    margin: 8px !important;
    width: calc(25% - 16px) !important;
    max-width: calc(25% - 16px) !important;
    background: #fff;
}

/* Loader polish */
.block-swissup-ajaxsearch .actions .swissup-ajaxsearch-loader,
.block-swissup-ajaxsearch .swissup-ajaxsearch-loading {
    opacity: 0.85;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .block-swissup-ajaxsearch-results .product-item-info,
    .block-swissup-ajaxsearch-results .product-item-info:not(:has(.cc-as-product)) {
        width: 33.333% !important;
        max-width: 33.333% !important;
    }

    .block-swissup-ajaxsearch-results .product-item-info:not(:has(.cc-as-product)) {
        width: calc(33.333% - 16px) !important;
        max-width: calc(33.333% - 16px) !important;
    }
}

@media (max-width: 767px) {
    .page-header .block.block-search,
    .page-header .block.block-search.block-swissup-ajaxsearch {
        max-width: none !important;
    }

    .page-header .block-swissup-ajaxsearch .swissup-ajaxsearch-filter-category-wrapper {
        display: none !important;
    }

    .block-swissup-ajaxsearch-results,
    .tt-menu.block-swissup-ajaxsearch-results {
        width: calc(100vw - 16px) !important;
        max-width: calc(100vw - 16px) !important;
        left: 8px !important;
        right: 8px !important;
    }

    .block-swissup-ajaxsearch-results.grid,
    .block-swissup-ajaxsearch-results > .tt-dataset {
        flex-direction: column !important;
    }

    .block-swissup-ajaxsearch-results .custom-item-info-wrapper {
        flex: 1 1 auto !important;
        max-width: none !important;
        min-width: 0 !important;
        max-height: none;
        border-right: 0 !important;
        border-bottom: 1px solid var(--cc-search-line);
        padding: 12px !important;
    }

    .block-swissup-ajaxsearch-results .product-item-info-wrapper {
        max-height: 60vh;
        padding: 8px !important;
    }

    .block-swissup-ajaxsearch-results .product-item-info,
    .block-swissup-ajaxsearch-results .product-item-info:not(:has(.cc-as-product)) {
        width: 50% !important;
        max-width: 50% !important;
    }

    .block-swissup-ajaxsearch-results .product-item-info:not(:has(.cc-as-product)) {
        width: calc(50% - 12px) !important;
        max-width: calc(50% - 12px) !important;
    }

    .block-swissup-ajaxsearch-results .cc-as-product {
        min-height: 0;
    }
}
