/* =====================================================
   CPSEARCH.CSS — generosocasalinghi.it
   Versione consolidata e ripulita (luglio 2026)
   Rimossi duplicati e regole morte, mantenuta tutta
   la funzionalità originale.
===================================================== */

body.fixed {
    position: fixed !important;
}

/* -----------------------------------------------------
   RICERCA OFF-CANVAS / MENU MOBILE (#search_block_nav)
   Non è la barra principale dell'header: è un blocco
   ricerca secondario usato altrove (es. menu laterale).
----------------------------------------------------- */
#search_block_nav {
    padding: 10px 0 10px 10px;
    width: 145px;
    float: right;
    position: relative;
}
#search_query_nav {
    width: 100%;
    border: none;
    cursor: pointer;
    margin: 0;
}
#search_query_nav:after {
    content: "\f002";
    position: absolute;
    right: 0;
    font-family: FontAwesome;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}
#search_query_nav:hover:after,
#search_query_nav:focus:after,
#search_query_nav:active:after {
    -webkit-animation-name: cp-nav-social;
    animation-name: cp-nav-social;
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
}

/* -----------------------------------------------------
   CONTENITORE GENERALE #search_block_top
----------------------------------------------------- */
#search_block_top {
    position: relative;
    width: auto;
    float: none;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
}
#search_block_top.show {
    height: 155px !important;
    padding: 40px 15%;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

/* -----------------------------------------------------
   SELETTORE CATEGORIA (attualmente nascosto via display:none,
   lasciato pronto nel caso venga riattivato in futuro)
----------------------------------------------------- */
#search_category {
    -moz-appearance: none;
    -o-appearance: none;
    -webkit-appearance: none;
    background: #fff;
    border: medium none;
    color: #303840;
    cursor: pointer;
    display: inline;
    float: left;
    font-size: 12px;
    height: 42px;
    outline: 0 none;
    padding: 5px 10px 5px 20px;
    border-radius: 5px;
}
#search_block_top .selector {
    width: 28% !important;
    float: left;
    height: 48px;
    background: #fff;
    border: none;
    padding: 0;
    margin-inline-start: 2px;
}
#search_block_top .select-wrapper {
    float: left;
    position: relative;
    width: 150px;
    z-index: 1;
    display: none;
}
#search_block_top .select-wrapper::after {
    content: "\E5CF";
    font-family: Material Icons;
    position: absolute;
    right: -12px;
    top: 0;
    cursor: pointer;
    bottom: 0;
    margin: auto;
    height: 20px;
    width: 20px;
    border-radius: 5px;
    line-height: 16px;
    text-align: center;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.08);
}
@media (max-width: 1199px) {
    #search_block_top .select-wrapper { width: 110px; }
}
@media (max-width: 991px) {
    #search_block_top .select-wrapper { width: 110px; }
}

/* -----------------------------------------------------
   FORM ALTERNATIVO #searchbox (usato in altri punti del tema,
   es. pagina "nessun risultato")
----------------------------------------------------- */
.searchtoggle {
    display: block;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
span.search_button { display: none; }
#searchbox {
    position: relative;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
#search_block_top {
    background: transparent !important;
}
form#searchbox input#search_query_block {
    margin-inline-end: 10px;
    margin-bottom: 10px;
    float: left;
}
form#searchbox .button.button-small { float: left; }
form#searchbox .button.button-small i { margin-inline-end: 0; }

/* =====================================================
   BARRA DI RICERCA PRINCIPALE — "MODERN SEARCH BAR"
   Blocco unico, senza duplicati. Larghezza sempre
   proporzionale allo spazio disponibile nell'header,
   con un tetto massimo (max-width) diverso per fascia.
===================================================== */

.cpsearch-main {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 680px !important;
    min-height: 50px !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 25px !important;
    overflow: visible !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08) !important;
    transition: box-shadow .25s ease, border-color .25s ease !important;
}
.cpsearch-main:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, .12) !important;
}
.cpsearch-main:focus-within {
    border-color: #22c55e !important;
    box-shadow: 0 0 0 4px rgba(34, 197, 94, .15) !important;
}

/* Campo di input */
#search_block_top #search_query_top {
    flex: 1 !important;
    width: 100% !important;
    height: 50px !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 70px 0 22px !important;
    font-size: 15px !important;
    color: #333 !important;
}
#search_block_top #search_query_top::placeholder {
    color: #9ca3af !important;
    font-size: 14px !important;
}

/* Pulsante di ricerca (icona lente, verde) */
#search_block_top .btn.button-search,
#searchbox button[type="submit"] {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 52px !important;
    height: 52px !important;
    border: none !important;
    border-radius: 0 25px 25px 0 !important;
    background: #22c55e !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    cursor: pointer !important;
    transition: background .25s ease !important;
    z-index: 10 !important;
}
#search_block_top .btn.button-search:hover,
#search_block_top .btn.button-search:focus,
#searchbox button[type="submit"]:hover,
#searchbox button[type="submit"]:focus {
    background: #0B31E7 !important;   /* nuovo blu richiesto */
    transform: none !important;        /* blocca il translateY(-2px) ereditato da .btn-primary */
    box-shadow: none !important;       /* blocca l'ombra ereditata da .btn-primary */
    right: 0px !important;
    top: 0px !important;
    bottom: -1px !important;
}
/* Un'unica icona lente via ::before, tutto il resto nascosto */
#search_block_top .btn.button-search::before,
#searchbox button[type="submit"]::before {
    content: "\e8b6" !important;
    font-family: "Material Icons" !important;
    font-size: 24px !important;
    color: #fff !important;
    line-height: 1 !important;
    pointer-events: none !important;
}
#search_block_top .btn.button-search .material-icons,
#search_block_top .btn.button-search i,
#search_block_top .btn.button-search span,
#searchbox button[type="submit"] i,
#searchbox button[type="submit"] span,
#searchbox .submit-text {
    display: none !important;
}

/* -----------------------------------------------------
   RESPONSIVE — barra di ricerca
   Desktop-first: dal più largo al più stretto, ogni
   fascia sovrascrive solo max-width, senza duplicati.
----------------------------------------------------- */

/* Desktop molto largo (>1700px): resta il default sopra, 680px fissi */

/* 1500–1700px */
@media (max-width: 1700px) {
    .cpsearch-main { width: 590px !important; }
}

/* 1350–1500px — la fascia che causava la sovrapposizione */
@media (max-width: 1500px) {
    .cpsearch-main { width: 500px !important; }
}

/* 1250–1350px */
@media (max-width: 1350px) {
    .cpsearch-main { width: 360px !important; }
}

/* 1200–1250px */
@media (max-width: 1250px) {
    .cpsearch-main { width: 290px !important; }
}

/* Sotto la soglia menu mobile: qui il tema cambia layout e la barra
   può occupare tutta la larghezza in sicurezza */
@media (max-width: 1199px) {
    .cpsearch-main { width: 100% !important; }
}

/* Mobile */
@media (max-width: 767px) {
    .cpsearch-main { min-height: 46px !important; border-radius: 23px !important; }
    #search_block_top #search_query_top {
        height: 46px !important;
        font-size: 14px !important;
        padding: 0 60px 0 15px !important;
    }
    #search_block_top .btn.button-search,
    #searchbox button[type="submit"] {
        width: 46px !important;
        height: 47px !important;
        border-radius: 0 23px 23px 0 !important;
    }
}

/* Mobile piccolo */
@media (max-width: 480px) {
    #search_block_top #search_query_top { font-size: 13px !important; }
}

/* -----------------------------------------------------
   HEADER STICKY — comportamento della barra quando l'header
   diventa fisso durante lo scroll
----------------------------------------------------- */
#header.header-sticky #search_block_top {
    position: fixed;
    top: 0px;
    margin: 0;
    z-index: 988;
    left: 22.5%;
}
#header.header-sticky #search_block_top .selector { height: 44px; }
#header.header-sticky #search_block_top #search_query_top,
#header.header-sticky #search_category { height: 30px; }
#header.header-sticky #search_block_top .btn.button-search { padding: 11px 0; }
#header.header-sticky #search_block_top .selector span { margin-top: 8px; }
.full-header.fixed #search_block_top {
    padding: 9px 0;
    margin-right: 40px;
}

/* =====================================================
   PANNELLO RISULTATI (AUTOCOMPLETE) #cpsearch_content_result
===================================================== */
#cpsearch_content_result {
    position: absolute !important;
    top: 62px !important;
    left: 0 !important;
    width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 16px !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .12) !important;
    padding: 15px !important;
    overflow: hidden !important;
    z-index: 99999 !important;
    display: none;
}
.header-sticky #cpsearch_content_result {
    top: 48px !important;
    position: fixed !important;
    left: 0;
    padding-top: 0;
}
#cpsearch_content_result .over_light {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    left: 0;
    right: 0;
}
#cpsearch_content_result #cpsearch_eccept_data {
    position: relative;
    max-height: 700px;
    width: auto;
    overflow-y: auto;
}
#cpsearch_content_result p.loanding {
    background: url('../img/loading.gif');
    height: 30px;
    width: 30px;
    margin: 10% auto;
}
#cpsearch_content_result .col_grid_5_2 {
    width: 20%;
    float: left;
}
#cpsearch_content_result .items-list .image .product_img_link > img {
    max-width: 100%;
    height: auto;
}

/* Lista risultati */
#cpsearch_eccept_data .limit {
    text-align: center;
    margin: 0px;
}
#cpsearch_eccept_data .noresult {
    margin-top: 5px;
    letter-spacing: 1px;
    color: #303840;
    font-size: 16px;
    text-align: center;
}
#cpsearch_eccept_data .search-title {
    color: #303840;
    text-align: center;
    padding: 10px 0;
    float: left;
    width: 100%;
}
#cpsearch_eccept_data .search-title span { font-size: 11px; }
#cpsearch_eccept_data .title_showall_text {
    text-align: center;
    float: left;
    width: 100%;
    background: #f0f0f0;
    padding: 8px 0;
    border-radius: 4px;
}
#cpsearch_eccept_data .title_showall {
    text-align: center;
    float: left;
    width: 100%;
}
#cpsearch_eccept_data .items-list {
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
    float: left;
    width: 100%;
    background: #fff;
}
#cpsearch_eccept_data .items-list > li {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    position: relative;
    width: 100%;
    cursor: pointer;
    padding: 12px !important;
    margin-bottom: 4px !important;
    border: none !important;
    border-radius: 12px !important;
    transition: background .2s ease !important;
}
#cpsearch_eccept_data .items-list > li:hover {
    background: #f8fafc !important;
}
#cpsearch_eccept_data .items-list li .image {
    text-align: center;
    padding: 0;
    width: 70px !important;
    min-width: 70px !important;
}
#cpsearch_eccept_data .items-list li .image img {
    border-radius: 8px !important;
}
#cpsearch_eccept_data .items-list .cpsearch-content {
    text-align: left;
    padding-inline-start: 15px;
    width: calc(100% - 85px) !important;
    position: initial;
    padding-inline-end: 0;
    padding-top: 5px;
}
#cpsearch_eccept_data .product-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #111827 !important;
}
#cpsearch_eccept_data .content_price {
    float: left;
    width: 100%;
    color: #404040;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #22c55e !important;
}
#cpsearch_eccept_data .items-list li .review {
    margin-top: 10px;
    text-align: center;
    min-height: 22px;
}
#cpsearch_eccept_data .items-list li .review .star_content { display: inline-block; }
#cpsearch_eccept_data .items-list li .review .nb-comments { vertical-align: 3px; }
#cpsearch_eccept_data .items-list > li .cp-button-container { left: 20px; }
#cpsearch_eccept_data .items-list > li:hover .cp-button-container {
    opacity: 1;
    top: 30px;
    -moz-transition: all 0.5s;
    -o-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}
#cpsearch_eccept_data .items-list .cp_size { margin-top: 5px; text-align: center; }
#cpsearch_eccept_data .items-list .cp_size ul li { display: inline-block; margin: 0 5px; }
#cpsearch_eccept_data .items-list .cp_color { margin-top: 5px; text-align: center; }
#cpsearch_eccept_data .items-list .cp_color span,
#cpsearch_eccept_data .items-list .cp_size span { display: none; }
#cpsearch_eccept_data .items-list .cp_color ul,
#cpsearch_eccept_data .items-list .cp_size ul { display: inline; }
#cpsearch_eccept_data .items-list .cp_color ul li {
    display: inline-block;
    float: none;
    width: 12px;
    height: 12px;
    margin: 0 5px;
    border-radius: 100%;
    -moz-border-radius: 100%;
    -webkit-border-radius: 100%;
    -khtml-border-radius: 100%;
}
#cpsearch_eccept_data .cat-name {
    display: none;
    margin: 0;
    text-align: left;
}
#cpsearch_eccept_data::-webkit-scrollbar { width: 6px; }
#cpsearch_eccept_data::-webkit-scrollbar-track { background: #f3f4f6; }
#cpsearch_eccept_data::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 20px;
}
/* Compatibilità con lo scroll interno usato altrove nel tema */
#cpsearch_eccept_data .content-ajax-search::-webkit-scrollbar { width: 5px; }
#cpsearch_eccept_data .content-ajax-search::-webkit-scrollbar-track {
    background-color: #f2f2f2;
    width: 5px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}

.price.special-price { font-weight: 500; }
.old-price.regular-price {
    font-weight: 500;
    text-decoration: line-through;
}
.sale-percentage {
    position: absolute;
    right: auto;
    left: 5px;
    top: 5px;
    font-weight: 500;
    background-color: #ff7073;
    color: #fff;
    font-size: 11px;
    line-height: 15px;
    padding: 2px 4px;
}
html .search-open { overflow: hidden; }

/* Responsive — pannello risultati */
@media (max-width: 767px) {
    #cpsearch_content_result { top: 58px !important; }
    #cpsearch_eccept_data .items-list li .image {
        width: 55px !important;
        min-width: 55px !important;
        padding: 0;
    }
    #cpsearch_eccept_data .items-list .cpsearch-content {
        width: calc(100% - 95px) !important;
    }
}
@media (max-width: 480px) {
    #search_category {
        font-size: 12px;
        padding: 8px 10px;
        border: none;
        height: 32px;
    }
}
.search-ghost {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    height: 50px !important;
    width: 100% !important;
    padding: 0 70px 0 22px !important;
    line-height: 50px !important;
    font-size: 15px !important;
    pointer-events: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    z-index: 0 !important;
}
#search_block_top #search_query_top {
    position: relative !important;
    z-index: 1 !important;
    background: transparent !important;
}

/* Stessa dimensione/padding usata già per la barra su mobile */
@media (max-width: 767px) {
    .search-ghost {
        height: 46px !important;
        line-height: 46px !important;
        font-size: 14px !important;
        padding: 0 60px 0 15px !important;
    }
}