/* =====================================================================
   custom-restyle.css  —  KateStore soft restyle (additivo, reversibile)
   ---------------------------------------------------------------------
   Questo file viene caricato PER ULTIMO in header.blade.php e sovrascrive
   il tema 7UP "Kute Shop" (Bootstrap 3) senza modificarlo.
   Per disattivare il restyle: rimuovere il <link> in header.blade.php.

   Indice:
     0. Variabili / base
     1. Globali: header, menu, footer
     2. Card prodotto + griglia (home / categoria)
     3. Scheda prodotto (gallery + tabelle)
     4. Carrello / checkout
     5. Account / auth
     6. Utility responsive
   ===================================================================== */

/* =====================================================================
   0. VARIABILI / BASE
   ===================================================================== */
:root {
    --ks-primary: #741612;
    --ks-primary-dark: #50100c;
    --ks-accent: #ff6a3d;
    --ks-text: #2b2f33;
    --ks-muted: #7a828a;
    --ks-border: #e7e9ed;
    --ks-bg: #f4f5f7;
    --ks-card-bg: #ffffff;
    --ks-radius: 10px;
    --ks-radius-sm: 6px;
    --ks-shadow: 0 2px 8px rgba(18, 22, 33, .06);
    --ks-shadow-hover: 0 10px 26px rgba(18, 22, 33, .12);
    --ks-transition: .22s ease;
}

/* box-sizing di sicurezza per evitare overflow da padding/border */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body.frontcat {
    background: var(--ks-bg) !important;
    color: var(--ks-text);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* evita scroll orizzontale globale su mobile */
html, body { overflow-x: hidden; max-width: 100%; }

img { max-width: 100%; height: auto; }

a { transition: color var(--ks-transition); }

/* Container: lascia il comportamento Bootstrap ma evita overflow su tablet */
@media (max-width: 1199px) {
    .container { width: auto; max-width: 100%; padding-left: 18px; padding-right: 18px; }
}

/* =====================================================================
   1. GLOBALI: HEADER, MENU, FOOTER
   ===================================================================== */

/* ---- Top header (barra account/lingua) ---- */
.top-header.top-header4 {
    background: #1b1f24;
    border: 0;
    padding: 6px 0;
}
.top-header .account-login a {
    color: #d7dade;
    font-size: 13px;
    padding: 0 10px;
    line-height: 26px;
    display: inline-block;
}
.top-header .account-login a:hover { color: #fff; }

/* ---- Main header ---- */
.main-header {
    background: var(--ks-card-bg);
    box-shadow: var(--ks-shadow);
    padding: 10px 0;
}
.logo.logo4 { display: flex; align-items: center; min-height: 56px; }
.logo.logo4 img { max-height: 60px; width: auto; }

/* ---- Smart search ---- */
.smart-search.smart-search4 {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius-sm);
    overflow: hidden;
    background: #fff;
    margin-top: 6px;
}
.smart-search.smart-search4 .select-category {
    border-right: 1px solid var(--ks-border);
    background: #fafbfc;
}
.smart-search.smart-search4 .select-category select {
    border: 0;
    background: transparent;
    height: 42px;
    padding: 0 12px;
    color: var(--ks-text);
    max-width: 160px;
}
.smart-search.smart-search4 .smart-search-form {
    display: flex;
    flex: 1 1 auto;
    position: relative;
}
.smart-search.smart-search4 .wordsearch {
    border: 0;
    height: 42px;
    padding: 0 14px;
    flex: 1 1 auto;
    width: 100%;
    background: transparent;
}
.smart-search.smart-search4 .searchehead {
    border: 0;
    width: 48px;
    /* icon-search.png è bianca: la teniamo sopra il fondo blu così resta visibile */
    background-color: var(--ks-primary);
    background-image: url("../images/theme/icon-search.png");
    background-repeat: no-repeat;
    background-position: center center;
    cursor: pointer;
    transition: background-color var(--ks-transition);
}
.smart-search.smart-search4 .searchehead:hover { background-color: var(--ks-primary-dark); }

/* ---- Icone header visibili sul main-header chiaro ---- */
.main-header .check-cart .mini-cart-link,
.main-header .check-cart .mini-cart-icon,
.main-header .check-cart .mini-cart-icon i,
.mini-cart-link i,
.mini-cart-link .mini-cart-icon {
    color: var(--ks-primary) !important;
}
.main-header .check-cart .mini-cart-number {
    color: #fff;
    background: var(--ks-accent);
    border-radius: 999px;
    min-width: 18px;
    height: 18px;
    line-height: 18px;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    padding: 0 5px;
    display: inline-block;
}

/* ---- Main nav (desktop) ---- */
.main-nav.main-nav4 {
    background: var(--ks-primary);
    border-radius: var(--ks-radius-sm);
    margin-top: 10px;
}
.main-nav.main-nav4 > ul > li > a {
    color: #fff;
    font-weight: 600;
    letter-spacing: .2px;
    transition: background var(--ks-transition), color var(--ks-transition);
}
.main-nav.main-nav4 > ul > li > a:hover,
.main-nav.main-nav4 > ul > li:hover > a {
    background: rgba(0, 0, 0, .14);
    color: #fff;
}
.main-nav .sub-menu {
    box-shadow: var(--ks-shadow-hover);
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius-sm);
    overflow: hidden;
}
.main-nav .sub-menu li a:hover { background: var(--ks-bg); color: var(--ks-primary); }

/* ---- Menu mobile (<=767px) ---- */
@media (max-width: 767px) {
    .main-nav.main-nav4 {
        margin-top: 8px;
        border-radius: var(--ks-radius-sm);
    }
    .toggle-mobile-menu {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 46px;
        border-radius: var(--ks-radius-sm);
    }
    .main-nav .sub-menu {
        box-shadow: none;
        border: 0;
        border-top: 1px solid rgba(255, 255, 255, .12);
        border-radius: 0;
    }
    .main-nav.main-nav4 ul li a {
        padding-top: 12px;
        padding-bottom: 12px;
    }
    /* search a piena larghezza su mobile */
    .smart-search.smart-search4 .select-category select { max-width: 120px; }
}

/* ---- Footer ---- */
#footer { background: #1b1f24; color: #b9bec5; }
#footer .title14 {
    color: #fff;
    font-size: 15px;
    letter-spacing: .4px;
    margin-bottom: 14px;
}
#footer .menu-footer-box ul li a,
#footer .contact-footer-box p,
#footer .contact-footer-box a { color: #b9bec5; transition: color var(--ks-transition); }
#footer .menu-footer-box ul li a:hover,
#footer .contact-footer-box a:hover { color: #fff; }
#footer .list-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    margin-right: 6px;
    transition: background var(--ks-transition), transform var(--ks-transition);
}
#footer .list-social a:hover { background: var(--ks-primary); transform: translateY(-2px); }
.payment-method {
    padding: 18px 0;
    border-top: 1px solid rgba(255, 255, 255, .08);
}
.payment-method img { max-height: 30px; width: auto; margin: 4px 6px; }

/* footer: colonne bilanciate su tablet */
@media (min-width: 768px) and (max-width: 991px) {
    #footer .footer-list-box .col-sm-12 { width: 100%; }
    #footer .footer-list-box .col-sm-3 { width: 50%; }
    #footer .footer-list-box .col-sm-6 { width: 50%; }
}

/* =====================================================================
   2. CARD PRODOTTO + GRIGLIA (home / categoria)
   ===================================================================== */

/* Breadcrumb */
.bread-crumb.radius {
    background: var(--ks-card-bg);
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius);
    box-shadow: var(--ks-shadow);
    padding: 12px 18px;
    margin-bottom: 20px;
}
.bread-crumb a { color: var(--ks-primary); }
.bread-crumb.radius > span,
.bread-crumb.radius span {
    color: #000000 !important;
    font-weight: 700;
}

/* Griglia prodotti categoria: flex per altezze uniformi e gutter coerenti */
.grid-product-ajax {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -10px;
    padding: 0;
}
.grid-product-ajax > li {
    float: none;
    width: 25%;
    padding: 0 10px;
    margin-bottom: 22px;
    display: flex;
    list-style: none;
}

@media (max-width: 1199px) { .grid-product-ajax > li { width: 25%; } }
@media (max-width: 991px)  { .grid-product-ajax > li { width: 33.3333%; } }
@media (max-width: 767px)  { .grid-product-ajax > li { width: 50%; } }
@media (max-width: 479px)  { .grid-product-ajax > li { width: 50%; } }
@media (max-width: 360px)  { .grid-product-ajax > li { width: 100%; } }

/* Card */
.grid-product-ajax > li .item-pro-ajax,
.item-pro-ajax {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: var(--ks-card-bg);
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius);
    overflow: hidden;
    box-shadow: var(--ks-shadow);
    transition: box-shadow var(--ks-transition), transform var(--ks-transition);
}
.grid-product-ajax > li .item-pro-ajax:hover {
    box-shadow: var(--ks-shadow-hover);
    transform: translateY(-3px);
}

/* Thumbnail uniforme */
.item-pro-ajax .product-thumb {
    position: relative;
    padding: 14px;
    background: #fff;
}
.item-pro-ajax .product-thumb-link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 190px;
}
.item-pro-ajax .product-thumb-link img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
    transition: transform var(--ks-transition);
}
.item-pro-ajax:hover .product-thumb-link img { transform: scale(1.04); }

/* Overlay "scopri" */
.item-pro-ajax .quickview-link {
    position: absolute;
    left: 14px; right: 14px; bottom: 14px;
    text-align: center;
    background: rgba(116, 22, 18, .96);
    color: #fff;
    padding: 2px 16px;
    border-radius: var(--ks-radius-sm);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity var(--ks-transition), transform var(--ks-transition);
}
.item-pro-ajax:hover .quickview-link { opacity: 1; transform: translateY(0); }
.item-pro-ajax .quickview-link span { color: #fff; }

/* Info card: occupa lo spazio per allineare i bottoni in basso */
.item-pro-ajax .product-info {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    padding: 14px;
    border-top: 1px solid var(--ks-border);
}
.item-pro-ajax .product-title {
    font-size: 14px;
    line-height: 1.35;
    margin: 0 0 10px;
    min-height: 38px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.item-pro-ajax .product-title a { color: var(--ks-text); }
.item-pro-ajax .product-title a:hover { color: var(--ks-primary); }

.item-pro-ajax .product-price { margin-bottom: 12px; }
.item-pro-ajax .product-price ins {
    text-decoration: none;
    color: var(--ks-accent);
    font-weight: 700;
    font-size: 18px;
}
.item-pro-ajax .product-price del { color: var(--ks-muted); margin-right: 6px; font-size: 13px; }
.item-pro-ajax .product-price .ivaprod { color: var(--ks-muted); font-weight: 400; font-size: 12px; }
.item-pro-ajax .product-price .txtloggati { color: var(--ks-muted); font-size: 13px; margin: 0; }

/* Bottone azione in fondo */
.item-pro-ajax .product-extra-link2 { margin-top: auto; }
.item-pro-ajax .product-extra-link2 .addcart-link {
    display: block;
    text-align: center;
    background: var(--ks-primary);
    color: #fff;
    padding: 10px 12px;
    border-radius: var(--ks-radius-sm);
    font-weight: 600;
    transition: background var(--ks-transition);
}
.item-pro-ajax .product-extra-link2 .addcart-link:hover { background: var(--ks-primary-dark); }

/* =====================================================================
   3. SCHEDA PRODOTTO (gallery + info + box acquisto)
   ===================================================================== */
.detail-special {
    background: var(--ks-card-bg);
    border: 1px solid var(--ks-border) !important;
    border-radius: var(--ks-radius);
    box-shadow: var(--ks-shadow);
    padding: 20px;
}

/* Gallery principale */
.detail-gallery .mid {
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius-sm);
    background: #fff;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 300px;
    max-width: 100%;
}
.detail-gallery .mid img { max-width: 100%; max-height: 380px; width: auto; height: auto; object-fit: contain; }

/* Thumbnail carousel: responsive, niente larghezze fisse strette su mobile */
.detail-gallery .gallery-control {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 12px;
}
.detail-gallery .gallery-control .carousel { flex: 1 1 auto; overflow: hidden; }
.detail-gallery .gallery-control .carousel ul {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 0;
    margin: 0;
}
.detail-gallery .gallery-control .carousel ul li { list-style: none; }
.detail-gallery .gallery-control .carousel ul li a {
    display: block;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius-sm);
    padding: 6px;
    background: #fff;
}
.detail-gallery .gallery-control .carousel ul li a img { width: 64px; height: 64px; object-fit: contain; }
.detail-gallery .gallery-control .prev,
.detail-gallery .gallery-control .next {
    flex: 0 0 auto;
    width: 30px; height: 30px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--ks-border);
    border-radius: 50%;
    color: var(--ks-text);
    background: #fff;
}

/* Info prodotto */
.detail-info .title-detail {
    font-size: 22px;
    line-height: 1.3;
    color: var(--ks-text);
    margin-bottom: 14px;
}
.detail-info .special-list-price .tntprice,
.special-total-cart .tntprice {
    color: var(--ks-accent);
    font-size: 24px;
}
.detail-info .ivaprod, .special-total-cart .ivaprod { color: var(--ks-muted); font-weight: 400; }
.detail-info .attr-detail { margin-bottom: 14px; }
.detail-info .attr-detail .attr-title { margin-bottom: 6px; }
.detail-info .attr-detail .form-control {
    height: 42px;
    border-radius: var(--ks-radius-sm);
    border: 1px solid var(--ks-border);
    max-width: 320px;
}
.detail-info .desc { color: #4a4f55; line-height: 1.6; }

/* Box acquisto laterale */
.special-total-cart {
    background: #fff;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius);
    padding: 18px;
}
.special-total-cart .detail-qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--ks-border) !important;
    border-radius: var(--ks-radius-sm);
    overflow: hidden;
}
.special-total-cart .detail-qty .qty-val {
    width: 52px;
    text-align: center;
    border: 0;
    border-left: 1px solid var(--ks-border);
    border-right: 1px solid var(--ks-border);
    height: 38px;
}
.special-total-cart .detail-qty a {
    width: 34px; height: 38px;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--ks-text);
}
.special-total-cart .addcart-special {
    display: block;
    text-align: center;
    background: var(--ks-accent);
    color: #fff;
    padding: 0px 10px;
    border-radius: var(--ks-radius-sm);
    font-weight: 700;
    margin-top: 14px;
    transition: filter var(--ks-transition);
}
.special-total-cart .addcart-special:hover { filter: brightness(.94); }

/* Tab descrizione */
.detail-tab-special {
    background: #fff;
    border: 1px solid var(--ks-border) !important;
    border-radius: var(--ks-radius);
    box-shadow: var(--ks-shadow);
    padding: 18px;
    margin-top: 22px;
}

/* Tabelle (specifiche/descrizione): responsive, niente scroll rotto su mobile */
.detail-tab-special table,
.tab-content table,
.product-detail table {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
}
.detail-tab-special table td,
.detail-tab-special table th {
    border: 1px solid var(--ks-border);
    padding: 8px 10px;
    word-break: break-word;
}
@media (max-width: 575px) {
    .detail-tab-special .table-responsive,
    .tab-content .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

/* Mobile: box acquisto sopra/leggibile, gallery centrata */
@media (max-width: 767px) {
    .detail-special { padding: 14px; }
    .detail-gallery .mid { min-height: 220px; }
    .special-total-cart { margin-top: 16px; }
}

/* =====================================================================
   4. CARRELLO / CHECKOUT
   ===================================================================== */

/* Mini cart (header) */
.mini-cart-box {
    background: #fff;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius-sm);
    box-shadow: var(--ks-shadow);
}

/* Tabelle carrello/checkout dentro #content */
#content table.table,
#content .cart-table,
#content table {
    width: 100%;
    max-width: 100%;
}
#content table.table > thead > tr > th,
#content .cart-table thead th {
    background: #f7f8fa;
    border-bottom: 2px solid var(--ks-border);
    color: var(--ks-text);
    font-weight: 600;
}
#content table.table > tbody > tr > td,
#content .cart-table tbody td {
    vertical-align: middle;
    border-color: var(--ks-border);
}

/* Wrapper scroll per tabelle larghe su mobile (evita overflow di pagina) */
@media (max-width: 767px) {
    #content .table-responsive { border: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* Quantita' nel form ordine */
.qntmmm {
    align-items: center;
    border: 1px solid var(--ks-border) !important;
    border-radius: var(--ks-radius-sm);
    margin-left: 0 !important;
    width: auto !important;
    max-width: 140px;
}
.qntomgbx, .varqnt { border-color: var(--ks-border) !important; border-radius: var(--ks-radius-sm); }

/* Riquadro totali / riepilogo */
.special-total-cart, .cart-total, .order-summary {
    background: #fff;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius);
}

/* =====================================================================
   5. ACCOUNT / AUTH  (form generici)
   ===================================================================== */
#content {
    padding-top: 18px;
    padding-bottom: 28px;
}

/* Campi form coerenti */
#content .form-control,
.front-form .form-control {
    height: 44px;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius-sm);
    box-shadow: none;
    transition: border-color var(--ks-transition), box-shadow var(--ks-transition);
}
#content textarea.form-control { height: auto; }
#content .form-control:focus,
.front-form .form-control:focus {
    border-color: var(--ks-primary);
    box-shadow: 0 0 0 3px rgba(116, 22, 18, .12);
}
#content label { color: var(--ks-text); font-weight: 600; margin-bottom: 6px; }
#content .form-group { margin-bottom: 16px; }

/* Bottoni generici (login/registrazione/checkout) */
#content .btn,
.front-form .btn {
    border-radius: var(--ks-radius-sm);
    font-weight: 600;
    padding: 10px 20px;
    transition: filter var(--ks-transition), background var(--ks-transition);
}
#content .btn-primary,
.front-form .btn-primary {
    background: var(--ks-primary);
    border-color: var(--ks-primary);
}
#content .btn-primary:hover,
.front-form .btn-primary:hover {
    background: var(--ks-primary-dark);
    border-color: var(--ks-primary-dark);
}

/* Card contenitore per pannelli account/auth */
#content .panel,
#content .login-box,
#content .register-box {
    background: #fff;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius);
    box-shadow: var(--ks-shadow);
}

/* Auth: input full-width e padding ridotto su mobile */
@media (max-width: 575px) {
    #content { padding-left: 4px; padding-right: 4px; }
    #content .form-control { font-size: 16px; } /* evita zoom iOS al focus */
}

/* =====================================================================
   6. UTILITY RESPONSIVE
   ===================================================================== */
/* niente overflow da media/iframe */
iframe, video, embed, object { max-width: 100%; }
/* immagini banner a piena larghezza senza deformazioni */
.banner-adv8, .gallery-without-sidebar { max-width: 100% !important; }

/* =====================================================================
   7. PRODOTTI CORRELATI (scheda prodotto)
   ===================================================================== */
.related-products-section {
    margin-top: 36px;
    padding-top: 8px;
}
.related-products-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--ks-text);
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ks-border);
}
.related-products-section .grid-product-ajax { margin: 0 -10px; }

/* =====================================================================
   8. HOME: login/registrazione in home + box "perché sceglierci"
   ===================================================================== */

/* ---- Box login/registrazione mostrato in home agli utenti non loggati ---- */
.registerhome { margin: 0 0 34px; }
/* categoria.css (.registerhome > div) mette width:unset sul col-md-12 flottato:
   il blocco si restringe al contenuto e la riga non riempie il container.
   Qui si ripristina la larghezza piena (specificità maggiore). */
.registerhome > .col-md-12 {
    padding: 0;
    margin: 0;
    width: 100%;
    float: none;
}
.registerhome .col-md-6 { margin-bottom: 20px; display: flex; }
.registerhome .col-md-6 > div { width: 100%; }
.registerhome .tntloginfront,
.registerhome .tntloginregfront {
    background: var(--ks-card-bg);
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius);
    box-shadow: var(--ks-shadow);
    padding: 26px 24px;
    width: 100%;
    transition: box-shadow var(--ks-transition), transform var(--ks-transition);
}
.registerhome .tntloginfront:hover { box-shadow: var(--ks-shadow-hover); }
.registerhome h2 {
    font-size: 18px;
    font-weight: 700;
    color: var(--ks-text);
    margin: 0 0 18px;
    line-height: 1.35;
}
.registerhome .form-group { margin-bottom: 16px; }
.registerhome label { display: block; font-weight: 600; color: var(--ks-text); margin-bottom: 6px; }
.registerhome .form-control {
    height: 44px;
    width: 100%;
    padding: 0 12px;
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius-sm);
    box-shadow: none;
    transition: border-color var(--ks-transition), box-shadow var(--ks-transition);
}
.registerhome .form-control:focus {
    border-color: var(--ks-primary);
    box-shadow: 0 0 0 3px rgba(116, 22, 18, .12);
}
.registerhome .btn {
    border-radius: var(--ks-radius-sm);
    font-weight: 600;
    padding: 10px 20px;
}
.registerhome .btn-kate {
    background: var(--ks-primary);
    border-color: var(--ks-primary);
    color: #fff;
}
.registerhome .btn-kate:hover {
    background: var(--ks-primary-dark);
    border-color: var(--ks-primary-dark);
    color: #fff;
}
.registerhome .restorepsw {
    background: transparent;
    border: 0;
    color: var(--ks-muted);
    text-decoration: underline;
    padding-left: 6px;
}
.registerhome .restorepsw:hover { color: var(--ks-primary); }
.registerhome .alert { border-radius: var(--ks-radius-sm); }

/* Colonna destra: call-to-action registrazione, fondo a gradiente */
.registerhome .tntloginregfront {
    text-align: center;
    background: linear-gradient(135deg, var(--ks-primary), var(--ks-primary-dark));
    border: 0;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.registerhome .tntloginregfront a,
.registerhome .tntloginregfront h2,
.registerhome .tntloginregfront .fa { color: #fff; }
.registerhome .tntloginregfront .fa-users {
    font-size: 64px !important;
    margin-bottom: 12px;
    opacity: .95;
}
.registerhome .tntloginregfront h2 { font-size: 17px; }

@media (max-width: 767px) {
    .registerhome .tntloginfront,
    .registerhome .tntloginregfront { padding: 20px 16px; }
}

/* ---- Box "perché sceglierci" (home-banner) ---- */
.customer-box.bg-color {
    background: var(--ks-card-bg);
    border: 1px solid var(--ks-border);
    border-radius: var(--ks-radius);
    box-shadow: var(--ks-shadow);
    padding: 30px 12px 18px;
    /* 15px laterali = gutter delle colonne: allinea la fascia a card prodotto e box login */
    margin: 12px 15px 42px;
}
.customer-box .item-customer.white,
.customer-box .item-customer.white p,
.customer-box .item-customer.white h3 { color: #ffffff; }
.customer-box .customer-thumb a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    color: #ffffff;
    font-size: 28px;
    margin-bottom: 14px;
    transition: background var(--ks-transition), color var(--ks-transition), transform var(--ks-transition);
}
.customer-box .item-customer:hover .customer-thumb a {
    background: var(--ks-primary);
    color: #fff;
    transform: translateY(-3px);
}
.customer-box .customer-info h3.title18 {
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 6px;
}
.customer-box .customer-info p { color: var(--ks-muted); font-size: 13px; margin: 0; }
@media (max-width: 767px) {
    .customer-box.bg-color { padding: 20px 8px 6px; }
    .customer-box .col-xs-6 { margin-bottom: 16px; }
}

/* ---- Titolo sezione "PRODOTTI IN EVIDENZA" in home ---- */
.grid-ajax-infinite .bread-crumb.radius span {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .3px;
    color: var(--ks-text);
}

