/*
 * Schede prodotto (shop, categorie, caroselli della home, correlati) e barra dello shop.
 * Classe sul body: .oor-negozio (OOR_Negozio). Colori del sito: blu #035F83.
 */

.oor-negozio {
    --on-blu: #035F83;
    --on-inchiostro: #0b2f40;
    --on-grigio: #6b7f89;
    --on-linea: #e6edf1;
    --on-fondo: #f5f8fa;
}

/* --- La scheda ------------------------------------------------------------ */
.oor-negozio .products .product.product-dark {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--on-linea);
    border-radius: 14px;
    overflow: hidden;
    transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
@media (hover: hover) {
    .oor-negozio .products .product.product-dark:hover {
        border-color: transparent;
        box-shadow: 0 18px 40px -22px rgba(11, 47, 64, .45);
        transform: translateY(-3px);
    }
}

/* Foto tutte della stessa altezza: il pezzo intero su fondo bianco, niente mosaico storto */
.oor-negozio .products .product-dark .product-media {
    aspect-ratio: 4 / 5;
    background: #fff;
}
.oor-negozio .products .product-dark .product-media > a {
    height: 100%;
}
.oor-negozio .products .product-dark .product-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 6%;
}
.oor-negozio .products .product-dark .product-media img.product-image-hover {
    height: 100%;
    object-fit: cover;
    padding: 0;
}
.oor-negozio .products .product-dark .product-media:hover img { transform: scale(1.04); }

.oor-negozio .products .product-dark .product-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 14px 16px;
    background: #fff;
    border-top: 1px solid var(--on-linea);
}
.oor-negozio .products .product-dark .product-title {
    margin: 0;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: 0;
    min-height: 2.7em;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.oor-negozio .products .product-dark .product-title a { color: var(--on-inchiostro); }
.oor-negozio .products .product-dark .product-title a:hover { color: var(--on-blu); }
.oor-negozio .products .product-dark .price {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
    color: var(--on-blu);
}
.oor-negozio .products .product-dark .price del { color: var(--on-grigio); font-weight: 400; font-size: 14px; }
.oor-negozio .products .product-dark .nav-thumbs { margin: 2px 0 0; justify-content: center; }
.oor-negozio .products .product-dark .nav-thumbs .nav-thumb {
    flex: none;
    width: 14px;
    height: 14px;
    min-width: 0;
    padding: 0; /* il padding di serie dei <button> li schiacciava in ovali */
    border: 0;
    margin: 0 3px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(11, 47, 64, .18);
}

/* "Richiedi ordine" sulla foto: bottone pieno nel blu del sito */
.oor-negozio .products .product-dark .product-action {
    left: 10px;
    right: 10px;
    bottom: 10px;
    width: auto;
    padding: 0;
    background: transparent; /* il tema mette una fascia bianca dietro: sembrava un contorno */
}
.oor-negozio .products .product-dark .product-action .button,
.oor-negozio .products .product-dark .product-action .btn-product {
    width: 100%;
    border-radius: 999px;
    background: var(--on-blu);
    color: #fff;
    font-weight: 600;
    letter-spacing: .02em;
}
.oor-negozio .products .product-dark .product-action .button:hover { background: var(--on-inchiostro); }
.oor-negozio .products .product-dark .product-action-vertical a {
    border-radius: 50%;
    background-color: #fff;
    border-color: var(--on-linea);
    color: var(--on-inchiostro);
    box-shadow: 0 4px 12px -6px rgba(11, 47, 64, .4);
}
.oor-negozio .products .product-dark .product-action-vertical a:hover { background: var(--on-blu); color: #fff; }

/* --- Colonne -------------------------------------------------------------- */
/* Con il layout "creative" il tema stampa solo c-lg-3: sotto i 992px le schede andavano a tutta riga */
@media (max-width: 991px) {
    .oor-negozio .products.grid.c-lg-3 > *,
    .oor-negozio .products.grid.c-lg-4 > * { flex-basis: 33.3333% !important; max-width: 33.3333% !important; }
}
@media (max-width: 767px) {
    .oor-negozio .products.grid.c-lg-3 > *,
    .oor-negozio .products.grid.c-lg-4 > * { flex-basis: 50% !important; max-width: 50% !important; }
    .oor-negozio .products.grid.sp-20 { margin-left: -6px; margin-right: -6px; }
    .oor-negozio .products.grid.sp-20 > * { padding-left: 6px !important; padding-right: 6px !important; margin-bottom: 12px !important; }
    .oor-negozio .products .product-dark .product-body { padding: 10px 8px 12px; gap: 4px; }
    .oor-negozio .products .product-dark .product-title { font-size: 13px; }
    .oor-negozio .products .product-dark .price { font-size: 14px; }
    /* Sul telefono non c'e' hover: niente pulsanti sopra la foto, si tocca la scheda */
    .oor-negozio .products .product-dark .product-action,
    .oor-negozio .products .product-dark .product-action-vertical { display: none; }
    .oor-negozio .products .product-dark .nav-thumbs .nav-thumb { width: 11px; height: 11px; margin: 0 2px; }
}

/* --- Testata e barra dello shop ------------------------------------------ */
/* Titolo gia' nella fascia grigia: il secondo "Shop" sopra la griglia era un doppione */
.oor-negozio .woocommerce-products-header .page-title {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}
.oor-negozio .woocommerce-products-header .term-description {
    margin-bottom: 18px;
    color: var(--on-grigio);
    font-size: 15px;
    line-height: 1.6;
}
.oor-negozio .main > .page-header { padding-top: 38px; padding-bottom: 38px; }
.oor-negozio .main > .page-header .page-title {
    font-size: clamp(26px, 4vw, 40px);
    font-weight: 500;
    color: var(--on-inchiostro);
    letter-spacing: -.01em;
}

.oor-negozio .toolbox {
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding: 10px 14px;
    background: var(--on-fondo);
    border-radius: 12px;
}
.oor-negozio .toolbox .woocommerce-result-count { margin: 0; color: var(--on-grigio); font-size: 14px; }
.oor-negozio .toolbox .woocommerce-result-count span { color: var(--on-inchiostro); }
.oor-negozio .toolbox .label-sortby { color: var(--on-grigio); font-size: 14px; }
.oor-negozio .toolbox .select-custom select {
    border-radius: 999px;
    border-color: var(--on-linea);
    background-color: #fff;
    font-size: 14px;
}
.oor-negozio .toolbox .filter-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--on-blu);
    color: #fff;
    font-weight: 600;
    font-size: 14px;
}
.oor-negozio .toolbox .filter-btn i { font-size: 16px; }
.oor-negozio .toolbox .select-custom { width: auto; max-width: none; background: transparent !important; border: 0 !important; border-radius: 999px; }
.oor-negozio .toolbox .select-custom::before { display: none; }
.oor-negozio .toolbox .select-custom select { width: auto; min-width: 250px; max-width: none; padding-left: 16px; padding-right: 34px; text-overflow: ellipsis; }
@media (max-width: 991px) {
    /* Il tema qui nasconde "Filtri" e lascia solo la linguetta scura sul bordo: si mostrano entrambi */
    .oor-negozio .toolbox .toolbox-left { display: flex !important; flex: none; }
    .oor-negozio .toolbox .toolbox-left .filter-btn { display: inline-flex !important; }
    .oor-negozio .toolbox { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 10px 12px; }
    .oor-negozio .toolbox .toolbox-right { flex: 1; justify-content: flex-end; }
    .oor-negozio .toolbox .toolbox-center { order: 3; width: 100%; flex-basis: 100%; text-align: left; }
    .oor-negozio .toolbox .toolbox-layout,
    .oor-negozio .toolbox .label-sortby { display: none; }
    .oor-negozio .toolbox .toolbox-sort,
    .oor-negozio .toolbox .woocommerce-ordering,
    .oor-negozio .toolbox .select-custom { width: 100%; margin: 0; }
    .oor-negozio .toolbox .select-custom select { min-width: 0; width: 100%; }
    .oor-negozio .sidebar-toggler:not(.filter-btn) {
        background-color: #035F83;
        border-radius: 0 10px 10px 0;
        box-shadow: 0 6px 16px -8px rgba(11, 47, 64, .6);
    }
}
@media (max-width: 767px) {
    .oor-negozio .main > .page-header { padding-top: 24px; padding-bottom: 24px; }
}

/* Barra laterale dei filtri */
.oor-negozio .shop-sidebar .widget-title {
    font-size: 15px;
    font-weight: 600;
    color: var(--on-inchiostro);
    letter-spacing: .02em;
}
.oor-negozio .shop-sidebar .product-categories a,
.oor-negozio .shop-sidebar .widget_product_categories a { color: #3b5562; font-size: 14px; }
.oor-negozio .shop-sidebar .product-categories a:hover,
.oor-negozio .shop-sidebar .current-cat > a { color: var(--on-blu); }

/* "Filters" e' scritto a mano nel tema, senza traduzione: si sostituisce qui */
.oor-negozio .toolbox .filter-btn { font-size: 0; }
.oor-negozio .toolbox .filter-btn::after { content: "Filtri"; font-size: 14px; }

/* Frecce dei caroselli: il tema le mette fuori dal contenitore e sul bordo dello schermo si tagliano */
.oor-negozio .owl-carousel.products .owl-nav .owl-prev { left: 8px !important; right: auto !important; }
.oor-negozio .owl-carousel.products .owl-nav .owl-next { right: 8px !important; left: auto !important; }
.oor-negozio .owl-carousel.products .owl-nav button {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95) !important;
    border: 1px solid #e6edf1 !important;
    color: #0b2f40 !important;
    box-shadow: 0 6px 18px -8px rgba(11, 47, 64, .45);
    z-index: 5;
}
.oor-negozio .owl-carousel.products .owl-nav button:hover { background: #035F83 !important; color: #fff !important; }

/* --- Titoli di pagina del tema: niente Maiuscole A Ogni Parola ----------- */
.oor-negozio .main > .page-header .page-title { text-transform: none; font-family: "Jost", Arial, sans-serif; }

/* --- Lista dei desideri ---------------------------------------------------- */
/* Il titolo e' gia' nella fascia in alto */
.oor-negozio .wishlist-title-container,
.oor-negozio .wishlist-title { display: none; }
.oor-negozio .wishlist_table {
    border: 1px solid var(--on-linea) !important;
    border-radius: 18px;
    border-collapse: separate !important;
    border-spacing: 0;
    overflow: hidden;
    background: #fff;
}
.oor-negozio .wishlist_table thead th {
    padding: 14px 18px !important;
    background: var(--on-fondo);
    color: var(--on-grigio) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    border: 0 !important;
}
.oor-negozio .wishlist_table tbody td { padding: 16px 18px !important; border-top: 1px solid var(--on-linea) !important; vertical-align: middle; }
.oor-negozio .wishlist_table .product-thumbnail img { width: 84px; height: 84px; object-fit: cover; border-radius: 12px; }
.oor-negozio .wishlist_table .product-name a { color: var(--on-inchiostro); font-size: 16px; font-weight: 500; }
.oor-negozio .wishlist_table .product-name a:hover { color: var(--on-blu); }
.oor-negozio .wishlist_table .product-price { color: var(--on-blu); font-weight: 700; }
.oor-negozio .wishlist_table .wishlist-in-stock { color: #1f8a55; font-weight: 500; }
.oor-negozio .wishlist_table .wishlist-out-of-stock { color: #c0392b; font-weight: 500; }
.oor-negozio .wishlist_table .product-add-to-cart .button,
.oor-negozio .wishlist_table .product-add-to-cart a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 20px !important;
    border-radius: 999px !important;
    background: var(--on-blu) !important;
    color: #fff !important;
    font-weight: 600;
    border: 0 !important;
}
.oor-negozio .wishlist_table .product-add-to-cart .button:hover { background: var(--on-inchiostro) !important; }
.oor-negozio .wishlist_table .product-remove a { color: var(--on-grigio) !important; }
.oor-negozio .wishlist_table .product-remove a:hover { color: #c0392b !important; }

/* Lista vuota */
.oor-negozio .wishlist_table td.wishlist-empty { padding: 56px 20px !important; text-align: center; border-top: 0 !important; }
.oor-lista-vuota { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.oor-lista-vuota::before {
    content: "";
    width: 64px;
    height: 64px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: #e8f2f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23035F83' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 8.6c0-2.5-2.1-4.5-4.7-4.5-1.9 0-3.6 1.1-4.3 2.7-.7-1.6-2.4-2.7-4.3-2.7-2.6 0-4.7 2-4.7 4.5 0 7.2 9 12 9 12s9-4.8 9-12z'/%3E%3C/svg%3E") center / 30px no-repeat;
}
.oor-lista-vuota strong { color: var(--on-inchiostro); font-size: 20px; font-weight: 500; }
.oor-lista-vuota > span { max-width: 420px; color: var(--on-grigio); font-size: 15px; line-height: 1.6; }
.oor-negozio .oor-lista-vuota__bottone {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    margin-top: 12px;
    padding: 0 26px;
    border-radius: 999px;
    background: var(--on-blu);
    color: #fff !important;
    font-weight: 600;
    text-decoration: none !important;
}
.oor-negozio .oor-lista-vuota__bottone:hover { background: var(--on-inchiostro); }

@media (max-width: 767px) {
    .oor-negozio .wishlist_table thead { display: none; }
    .oor-negozio .wishlist_table,
    .oor-negozio .wishlist_table tbody,
    .oor-negozio .wishlist_table tr,
    .oor-negozio .wishlist_table td { display: block; width: 100%; }
    .oor-negozio .wishlist_table tbody tr:not(:has(.wishlist-empty)) {
        display: grid;
        grid-template-columns: 84px minmax(0, 1fr) auto;
        gap: 4px 14px;
        align-items: center;
        padding: 14px;
        border-top: 1px solid var(--on-linea);
    }
    .oor-negozio .wishlist_table tbody tr:not(:has(.wishlist-empty)) td { padding: 0 !important; border: 0 !important; text-align: left; }
    .oor-negozio .wishlist_table .product-thumbnail { grid-row: 1 / span 3; }
    .oor-negozio .wishlist_table .product-remove { grid-column: 3; grid-row: 1; }
    .oor-negozio .wishlist_table .product-add-to-cart { grid-column: 2 / span 2; }
}
@media (max-width: 767px) {
    .oor-negozio .wishlist_table tbody tr:not(:has(.wishlist-empty)) { grid-template-columns: 84px minmax(0, 1fr) 28px; }
    .oor-negozio .wishlist_table tbody tr:not(:has(.wishlist-empty)) > td { text-align: left !important; }
    .oor-negozio .wishlist_table .product-thumbnail { grid-column: 1; grid-row: 1 / span 3; }
    .oor-negozio .wishlist_table .product-name { grid-column: 2; grid-row: 1; }
    .oor-negozio .wishlist_table .product-price { grid-column: 2; grid-row: 2; }
    .oor-negozio .wishlist_table .product-stock-status { grid-column: 2; grid-row: 3; font-size: 13.5px; }
    .oor-negozio .wishlist_table .product-remove { grid-column: 3; grid-row: 1; text-align: right !important; }
    .oor-negozio .wishlist_table .product-add-to-cart { grid-column: 1 / -1; grid-row: 4; margin-top: 10px; }
    .oor-negozio .wishlist_table .product-add-to-cart .button,
    .oor-negozio .wishlist_table .product-add-to-cart a { width: 100%; }
    .oor-negozio .wishlist_table .product-name a { font-size: 15px; }
}
.oor-negozio .wishlist_table .wishlist-in-stock,
.oor-negozio .wishlist_table .product-stock-status span { color: #1f8a55 !important; }

/* Report PageSpeed: logo mobile nelle sue proporzioni, testi dell'invito all'app leggibili */
.header .logo img[src*="logo-mobile"] { width: 50px; height: 50px !important; object-fit: contain; }
.oor-app-invite-text { color: #566a74 !important; }
.oor-app-invite-title { color: #0b2f40 !important; }

html[lang^="en"] .oor-negozio .toolbox .filter-btn::after { content: "Filters"; }
