/*
 * CSS locale dello Shop — SOLO cio' che non esiste gia' nei fogli
 * condivisi del sito (uno.css/main.css/normalize.min.css) ne' nei
 * blocchi <style> verbatim ora inclusi in _partials/header.php
 * (mega-menu/nav/footer). Definisce le classi specifiche del catalogo
 * (.product-card/.catalog-search/ecc.), allineate ai token e ai
 * valori REALI del sito (vedi _partials/header.php per la fonte):
 * card/box -> raggio 12-14px (come .dropdown/.settori-card);
 * pulsanti a pillola -> raggio 24px (come .btn-quote/.btn-phone);
 * ombre di elevazione -> var(--shadow)/var(--shadow-lg) definite in
 * uno.css, gia' caricato prima di questo foglio. Colori e font non
 * sono stati toccati: erano gia' coerenti con --primary (#0066cc) e
 * il font-family ereditato dal body del sito.
 */

.daicon-box {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto 28px;
    padding: 40px 44px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid rgba(0,51,102,0.10);
    border-radius: 14px;
    box-shadow: var(--shadow-lg);
}

.breadcrumb {
    max-width: 1220px;
    margin: 18px auto 0;
    padding: 0 20px;
    font-size: 13px;
    color: #667;
}
.breadcrumb a { color: #0066cc; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb span[aria-current] { color: #667; }

.box-title, .shop-h1 {
    margin: 0 0 14px;
    color: #002f6c;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.3px;
}

.shop-subtitle { color: #556; font-size: 14px; margin: 0 0 22px; }

.catalog-search {
    width: 100%;
    box-sizing: border-box;
    padding: 16px 22px;
    border: 1.5px solid #c0d8f8;
    border-radius: 24px;
    font-size: 16px;
    color: #333;
    background: #f9fcff;
    outline: none;
    font-family: inherit;
}
.catalog-search:focus { border-color: #0066cc; box-shadow: 0 0 0 4px rgba(0,102,204,0.14); background: #fff; }

.catalog-count { max-width: 1220px; margin: 0 auto 14px; font-size: 13.5px; color: #667; }
.catalog-no-results { max-width: 1220px; margin: 8px auto; padding: 40px 0; text-align: center; color: #667; font-size: 15px; }

.shop-cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; margin-top: 16px; }
.shop-cat-card {
    display: block;
    background: #f8fafd;
    border: 1.5px solid #dde8f5;
    border-radius: 12px;
    padding: 20px 22px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.shop-cat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: #0066cc; }
.shop-cat-card h3 { margin: 0 0 6px; color: #002f6c; font-size: 15.5px; font-weight: 800; }
.shop-cat-card .shop-cat-count { display: inline-block; font-size: 11.5px; font-weight: 700; color: #0066cc; background: #eaf2ff; padding: 3px 11px; border-radius: 20px; }

.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; }
.product-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: #f8fafd;
    border: 1.5px solid #dde8f5;
    border-radius: 12px;
    padding: 18px;
    text-decoration: none;
    color: inherit;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); border-color: #0066cc; background: #fff; }
.product-card-manuf { font-size: 11px; font-weight: 800; letter-spacing: 0.5px; text-transform: uppercase; color: #0066cc; }
.product-card-subcat { font-size: 11px; color: #8a97ab; font-weight: 600; }
.product-card-desc { font-size: 14px; font-weight: 700; color: #16213e; line-height: 1.4; text-transform: capitalize; margin: 2px 0; }
.product-card-pn { font-family: 'Courier New', monospace; font-size: 11.5px; color: #556; background: #f4f8ff; border-radius: 6px; padding: 2px 7px; width: fit-content; }
.shop-price { font-size: 17px; font-weight: 800; color: #002f6c; margin-top: 4px; }
.product-card-cta { margin-top: auto; padding-top: 6px; font-size: 12px; font-weight: 700; color: #0066cc; }

.shop-pagination { display: flex; align-items: center; justify-content: center; gap: 20px; margin: 28px 0 8px; }
.shop-pagination a { color: #0066cc; text-decoration: none; font-weight: 700; font-size: 14px; }
.shop-pagination a:hover { text-decoration: underline; }
.shop-pagination-status { color: #667; font-size: 13.5px; }

/* --- Scheda prodotto --- */
.shop-product-price { font-size: 30px; font-weight: 800; color: #002f6c; margin: 10px 0; }
.shop-availability { display: inline-block; font-size: 12.5px; font-weight: 700; padding: 4px 12px; border-radius: 20px; margin-bottom: 14px; }
.shop-availability--in { background: #e6f7ec; color: #1a7a3c; }
.shop-availability--out { background: #fbeaea; color: #a32a2a; }
.shop-specs { width: 100%; border-collapse: collapse; margin: 20px 0; max-width: 640px; }
.shop-specs th, .shop-specs td { text-align: left; padding: 9px 12px; border-bottom: 1px solid #eaf0f9; font-size: 14px; }
.shop-specs th { color: #667; font-weight: 600; width: 40%; }
.shop-specs td { color: #16213e; font-weight: 600; }
.shop-cta-btn {
    display: inline-block;
    padding: 14px 34px;
    background: #cfd8e3;
    color: #556;
    border-radius: 24px;
    font-weight: 700;
    font-size: 15px;
    border: none;
    cursor: not-allowed;
    margin-top: 10px;
}
.shop-cta-note { color: #8a97ab; font-size: 12.5px; margin-top: 8px; }

@media screen and (max-width: 768px) {
    .daicon-box { width: 94% !important; padding: 22px !important; margin: 0 auto 16px !important; }
    .product-grid, .shop-cat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 480px) {
    .product-grid, .shop-cat-grid { grid-template-columns: 1fr; }
}
