/**
 * Trieste Camper - Custom CSS
 */

:root {
    --tc-blue: #0070A8;
}

/* Override colore principale */
.color-theme { color: #0070A8 !important; }

.btn.btn-primary, .btn-primary {
    background-color: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
}
.btn.btn-primary:hover, .btn-primary:hover {
    background-color: #005a88 !important;
    border-color: #005a88 !important;
}

/* Top Bar */
.top-bar { background-color: #0070A8; color: #fff; font-size: 13px; }
.top-bar .top-contact li, .top-bar .top-contact li a, .top-bar .top-links li a { color: #fff !important; }
.top-bar .top-contact li span { font-weight: 600; }
.top-bar a:hover { color: #cce5f5 !important; text-decoration: underline; }

/* Logo */
#primary-menu .logo img { max-height: 80px; width: auto; }

/* Hero */
#hero {
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    background: transparent !important;
    overflow: hidden;
}
#hero .slide {
    height: auto !important;
    min-height: 400px;
}
#hero .mslide {
    height: auto !important;
}
#hero img, #hero .mslide img {
    width: 100%;
    height: auto;
    display: block;
}
#hero .slide { height: 600px; }
#hero .slide-title h2 { color: #fff; font-size: 42px; font-weight: 700; }
#hero .slide-desc { color: rgba(255,255,255,.85); }

/* Homepage: azzera il margin-top aggiunto da .header + section */
body.home #hero { margin-top: 0; }



.product-boxes{
		margin-bottom: 0px;
}

/* Prodotti griglia */
#shopgrid .product-price .woocommerce-Price-amount { color: #0070A8; font-weight: 600; font-size: 16px; }

/* Widget offerte */
#offers .widget-title h5 { color: #0070A8; border-bottom: 2px solid #0070A8; padding-bottom:8px; margin-bottom:15px; }

/* Colonne allineate in altezza */
#offers .row { display: flex; flex-wrap: wrap; }
#offers .col-xs-12.col-sm-6.col-md-3 { display: flex; flex-direction: column; }
#offers .widget.widget-recent-products { display: flex; flex-direction: column; flex: 1; }
#offers .widget-content { display: flex; flex-direction: column; flex: 1; }

/* Ogni card prodotto occupa spazio uniforme */
#offers .widget .product {
    display: flex;
    align-items: flex-start;
    margin-bottom: 0;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
    flex: 1;
}
#offers .widget .product:last-child { border-bottom: none; }

/* Immagine miniatura fissa */
#offers .widget .product img {
    width: 70px;
    height: 70px;
    object-fit: contain;
    margin-right: 12px;
    flex-shrink: 0;
}

/* Testo prodotto */
#offers .product-desc {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#offers .product-desc .product-title {
    margin-bottom: 4px;
}
#offers .product-desc .product-title a {
    font-size: 13px;
    color: #333;
    font-weight: 600;
    line-height: 1.3;
}
#offers .product-desc .product-title a:hover { color: #0070A8; }
#offers .product-meta { font-size: 13px; }
#offers .discount { text-decoration:line-through; color:#aaa; margin-right:5px; font-size:12px; }
#offers del .woocommerce-Price-amount,
#offers del .woocommerce-Price-amount bdi { color: #aaa !important; font-size: 12px !important; font-weight: 400 !important; }

/* Footer info bar blu */
#footer .footer-info { background-color: #0070A8; padding: 30px 0; }
#footer .footer-info .panel-info { display:flex; align-items:flex-start; color:#fff; }
#footer .footer-info .info-icon { font-size:28px; margin-right:15px; min-width:35px; }
#footer .footer-info .info-content h4 { color:#fff; font-size:15px; font-weight:700; margin-bottom:4px; }
#footer .footer-info .info-content p, #footer .footer-info .info-content a { color:rgba(255,255,255,.85); font-size:13px; margin:0; }
#footer .footer-info .info-content a:hover { color:#fff; }

/* Footer widget area */
#footer .footer-widget { background-color: #1a1a1a; padding: 50px 0 30px; }
#footer .footer-widget-title h5 { color:#fff; border-bottom:2px solid #0070A8; padding-bottom:8px; margin-bottom:20px; }
#footer .footer-widget-content p, #footer .footer-widget-content ul li a { color:#aaa; font-size:13px; }
#footer .footer-widget-content ul li { margin-bottom:6px; }
#footer .footer-widget-content a:hover { color:#0070A8; }
#footer .footer-widget-content img { max-width:180px; margin-bottom:15px; }
#footer .footer-social a { display:inline-block; width:32px; height:32px; line-height:32px; text-align:center; background:#333; color:#aaa; border-radius:50%; margin-right:5px; margin-top:10px; transition:all .2s; }
#footer .footer-social a:hover { background:#0070A8; color:#fff; }

/* Footer bar */
#footer .footer-bar { background:#111; padding:20px 0; }
#footer .footer-bar .powered p, #footer .footer-bar .powered ul li a { color:#666; font-size:12px; color: #fff;}
#footer .footer-bar .powered a { color:#efefef; }
#footer .payment-methods img { height:24px; margin-left:5px; opacity:.7; transition:opacity .2s; }
#footer .payment-methods img:hover { opacity:1; }

/* Responsive */
@media (max-width: 767px) {
    #hero .slide-title h2 { font-size: 26px; }
    #hero, #hero .slide { height: 280px; }
    .top-bar .list-inline { text-align:center; float:none !important; }
    #offers .widget { margin-bottom:30px; }
}

/* ===== CONCESSIONARI UFFICIALI ===== */
.tc-dealer-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 25px 20px;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    height: 100%;
}
.tc-dealer-card img {
    max-height: 60px;
    max-width: 160px;
    object-fit: contain;
    margin-bottom: 14px;
}
.tc-dealer-label {
    margin: 0;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #999;
    font-weight: 600;
}
.tc-dealer-name {
    margin: 6px 0 0;
    font-size: 18px;
    font-weight: 700;
    color: #222;
}
@media (max-width: 767px) {
    .tc-dealer-card { margin-bottom: 15px; }
}

/* ===== IMMAGINI PRODOTTI HOMEPAGE 270x326 =====
   object-fit: contain -> il prodotto si vede sempre per intero,
   centrato su sfondo neutro, senza tagli ne distorsioni.
   Ideale per prodotti con sfondo bianco (piatti, accessori, ecc.) */

#shopgrid .product-img {
    width: 100%;
    height: 326px;
    overflow: hidden;
    position: relative;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

#shopgrid .product-img img {
    width: 270px;
    height: 326px;
    object-fit: contain;
    object-position: center;
    padding: 12px;
    display: block;
    transition: transform 0.3s ease;
    box-sizing: border-box;
}

#shopgrid .product-img:hover img {
    transform: scale(1.05);
}

#shopgrid .product-img .product-hover {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.45);
    opacity: 0;
    transition: opacity 0.3s ease;
}

#shopgrid .product-img:hover .product-hover {
    opacity: 1;
}

/* Widget offerte - miniature con contain */
#offers .widget .product img {
    width: 70px;
    height: 85px;
    object-fit: contain;
    object-position: center;
    flex-shrink: 0;
}


/* ===== FOOTER - icone e frecce bianche ===== */

/* Icone info bar (location, phone, email, lock) */
#footer .footer-info .info-icon i {
    color: #ffffff !important;
}

/* Freccette nei link footer: erano rosse (#d22e2e), le rendiamo bianche */
.footer-widget-link li a:before {
    color: #ffffff !important;
}

/* Hover link footer: era rosso, lo rendiamo blu tema */
.footer-widget-link li a:hover {
    color: #0070A8 !important;
}
.footer-widget-link li a:hover:before {
    color: #0070A8 !important;
}

/* ===== FOOTER INFO BAR - fix allineamento e colori ===== */

/* Rimuove la linea nera sotto la info bar */
#footer .footer-info .row {
    border-bottom: none !important;
    padding-top: 50px;
    padding-bottom: 50px;
}

/* Icone: sfondo blu scuro, icona bianca (non più nero/rosso) */
#footer.footer-2 .footer-info .info-icon,
#footer .footer-info .info-icon {
    background-color: #005a88 !important;
    color: #ffffff !important;
}

/* Panel-info: padding top extra per far spazio all'icona assoluta */
#footer .footer-info .panel-info {
    padding-top: 40px !important;
    margin-top: 20px;
	min-height: 130px;
}

/* ===== SOSTITUZIONE GLOBALE ROSSO → BLU TEMA =====
   Il template usa #d22e2e (rosso) come colore primario.
   Lo sostituiamo ovunque con il blu #0070A8 di Trieste Camper */

/* Subheading (es. "LA NOSTRA STORIA") */
.subheading { color: #0070A8 !important; }

/* Accordion: bordi, segni +/-, barra attiva */
.accordion .panel-heading { border-color: #0070A8 !important; }
.accordion .panel-title a { color: #333 !important; }
.accordion .panel-title a:hover { color: #0070A8 !important; }
.accordion .panel-title .icon,
.accordion .panel-title .icon:before,
.accordion .panel-title .icon:after { background-color: #0070A8 !important; }
.accordion .panel-collapse.in,
.accordion .panel-default > .panel-heading + .panel-collapse { border-color: #0070A8 !important; }
.accordion .accordion-toggle:not(.collapsed) { color: #0070A8 !important; }
/* Barra laterale sinistra panel attivo */
.about-accordion .panel.panel-default { border-left-color: #0070A8 !important; }

/* Feature panel: icone */
.feature-panel .feature-icon { color: #0070A8 !important; }
.feature-panel .feature-icon i { color: #0070A8 !important; }

/* Page title: breadcrumb active */
.page-title .breadcrumb > .active { color: #0070A8 !important; }
.page-title .breadcrumb > li + li:before { color: #0070A8 !important; }

/* Testimonial: virgolette */
.testimonial-item .fa-quote-left { color: #0070A8 !important; }

/* Sostituzione globale di tutti gli usi residui del rosso */
[style*="color: #d22e2e"],
[style*="color:#d22e2e"] { color: #0070A8 !important; }


/* ===== FIX NAVBAR FIXED-TOP =====
   top-bar: 50px + navbar: 100px = 150px totali
   Il navbar è fixed, quindi scorre sopra il contenuto.
   Spostiamo il page-title delle pagine interne verso il basso. */

/* Pagine interne: il page-title deve stare sotto navbar+topbar */
.page-title {
    margin-top: 100px;
}


/* Navbar: sfondo bianco sia prima che dopo lo scroll (affix) */
#primary-menu.navbar {
    background-color: #fff;
}

@media (max-width: 767px) {
    .page-title { margin-top: 60px; }
}

/* Pagine con classe "back" → hero con immagine in evidenza */
#page-title.back {
    position: relative;
    min-height: 400px;
    display: flex;
    align-items: center;
    overflow: hidden;
}
#page-title.back h1 { color: #fff; font-size: 36px; font-weight: 700; margin: 0; }
#page-title.back::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    z-index: 0;
}
#page-title.back .container { position: relative; z-index: 1; }


/* ══════════════════════════════════════════════════════════════
   SHOP — Griglia prodotti con sidebar sinistra
   ══════════════════════════════════════════════════════════════ */

/* ── Griglia: card in flexbox per altezze uguali ── */
#shopgrid .tc-product-row {
    display: flex;
    flex-wrap: wrap;
}
#shopgrid .tc-product-row:before,
#shopgrid .tc-product-row:after {
    display: none;
}
#shopgrid .tc-product-card {
    display: flex;
    flex-direction: column;
    margin-bottom: 30px;
    float: none;
}
#shopgrid .tc-product-card .product-bio {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 12px;
}
#shopgrid .tc-product-card .product-price {
    margin-top: auto;
    padding-top: 8px;
}

/* ── Immagine prodotto ── */
#shopgrid .product-img {
    position: relative;
    overflow: hidden;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#shopgrid .product-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 10px;
    transition: transform .3s;
    display: block;
}
#shopgrid .product-img:hover img {
    transform: scale(1.04);
}

/* ── Hover overlay ── */
#shopgrid .product-hover {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .3s;
}
#shopgrid .product-img:hover .product-hover { opacity: 1; }
#shopgrid .product-action {
    text-align: center;
    width: 100%;
    padding: 0 15px;
}
#shopgrid .product-action .btn {
    display: block;
    margin: 5px auto;
    width: 100%;
    max-width: 160px;
    font-size: 12px;
    padding: 8px 12px;
    text-align: center;
}
/* Bottone hover blu */
#shopgrid .product-action .btn-primary {
    background-color: #0070A8 !important;
    border-color: #0070A8 !important;
}
#shopgrid .product-action .btn-primary:hover {
    background-color: #005a88 !important;
}

#shopgrid .product-action .btn,
#shopgrid .product-action a.button,
#shopgrid .product-action .add_to_cart_button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 36px !important;
}

/* ── Testo prodotto ── */
#shopgrid .prodcut-cat a {
    font-size: 12px;
    color: #0070A8;
    text-transform: uppercase;
    letter-spacing: .5px;
    font-weight: 600;
}
#shopgrid .prodcut-title h3 {
    font-size: 14px;
    font-weight: 600;
    margin: 5px 0;
    line-height: 1.4;
}
#shopgrid .prodcut-title h3 a { color: #333; }
#shopgrid .prodcut-title h3 a:hover { color: #0070A8; }
#shopgrid .product-price { color: #0070A8; font-size: 16px; font-weight: 700; }
#shopgrid .product-price del { color: #aaa; font-size: 13px; font-weight: 400; margin-right: 4px; }
#shopgrid .product-price del .woocommerce-Price-amount,
#shopgrid .product-price del .woocommerce-Price-amount bdi { color: #aaa !important; font-size: 15px !important; font-weight: 400 !important; }

/* ── Barra superiore: contatore + ordinamento ── */
#shopgrid .product-num { line-height: 40px; }
#shopgrid .product-num h3,
#shopgrid .woocommerce-result-count {
    font-size: 14px;
    color: #666;
    margin: 0 0 20px;
    font-weight: 400;
}
#shopgrid .product-options,
#shopgrid .woocommerce-ordering { margin-bottom: 20px; }
#shopgrid .product-options select,
#shopgrid .woocommerce-ordering select {
    border: 1px solid #ddd;
    padding: 6px 28px 6px 10px;
    font-size: 13px;
    border-radius: 3px;
    background: #fff;
    color: #555;
    appearance: none;
    cursor: pointer;
}
#shopgrid .product-options { position: relative; }
#shopgrid .product-options .fa-angle-down {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    pointer-events: none;
}

/* ── Paginazione ── */
#shopgrid .woocommerce-pagination ul,
#shopgrid .pagination {
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 20px 0 0;
    list-style: none;
    gap: 4px;
}
#shopgrid .woocommerce-pagination ul li a,
#shopgrid .woocommerce-pagination ul li span,
#shopgrid .pagination li a {
    display: block;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #555;
    font-size: 13px;
    transition: all .2s;
}
#shopgrid .woocommerce-pagination ul li a:hover,
#shopgrid .pagination li a:hover,
#shopgrid .woocommerce-pagination ul li span.current,
#shopgrid .pagination li.active a {
    background: #0070A8;
    border-color: #0070A8;
    color: #fff;
}

/* ── Sidebar widgets ── */
#shopgrid .sidebar .widget { margin-bottom: 35px; }
#shopgrid .sidebar .widget-title h5 {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #222;
    border-bottom: 2px solid #0070A8;
    padding-bottom: 8px;
    margin-bottom: 15px;
}
/* Liste categorie */
#shopgrid .widget-categories ul li { padding: 5px 0; border-bottom: 1px solid #f0f0f0; }
#shopgrid .widget-categories ul li:last-child { border-bottom: none; }
#shopgrid .widget-categories ul li a {
    color: #555;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
#shopgrid .widget-categories ul li a:hover { color: #0070A8; }
#shopgrid .widget-categories ul li a i { color: #0070A8; margin-right: 6px; }
#shopgrid .widget-categories ul li a span { color: #aaa; font-size: 12px; margin-left: auto; }
#shopgrid .widget-categories ul li.active a { color: #0070A8; font-weight: 600; }

/* Prodotti recenti in sidebar */
#shopgrid .widget-recent-products .product {
    display: flex;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
}
#shopgrid .widget-recent-products .product:last-child { border-bottom: none; }
#shopgrid .widget-recent-products .product img {
    width: 55px;
    height: 55px;
    object-fit: contain;
    margin-right: 10px;
    flex-shrink: 0;
    border: 1px solid #eee;
}
#shopgrid .widget-recent-products .product-desc { flex: 1; }
#shopgrid .widget-recent-products .product-title a {
    font-size: 13px;
    color: #333;
    font-weight: 600;
    line-height: 1.3;
    display: block;
    margin-bottom: 3px;
}
#shopgrid .widget-recent-products .product-title a:hover { color: #0070A8; }
#shopgrid .widget-recent-products .product-meta .color-theme { font-size: 13px; font-weight: 700; }
/* Prezzo WC nel widget sidebar */
#shopgrid .widget-recent-products .product-meta .woocommerce-Price-amount { color: #0070A8; font-size: 13px; font-weight: 700; }

/* Filtro prezzo WC */
#shopgrid .widget-filter .price_slider_wrapper { margin-top: 10px; }
#shopgrid .widget-filter .ui-slider-horizontal { height: 4px; background: #ddd; border-radius: 2px; border: none; }
#shopgrid .widget-filter .ui-slider-range { background: #0070A8; }
#shopgrid .widget-filter .ui-slider-handle {
    width: 14px; height: 14px; border-radius: 50%;
    background: #0070A8; border: none; top: -5px; cursor: pointer;
}
#shopgrid .widget-filter .price_label { font-size: 13px; color: #555; margin: 10px 0; }
#shopgrid .widget-filter .price_label .from,
#shopgrid .widget-filter .price_label .to { font-weight: 700; color: #0070A8; }
#shopgrid .widget-filter button.button {
    background: #0070A8;
    color: #fff;
    border: none;
    padding: 7px 16px;
    font-size: 12px;
    border-radius: 3px;
    cursor: pointer;
    text-transform: uppercase;
    font-weight: 600;
    margin-top: 8px;
}
#shopgrid .widget-filter button.button:hover { background: #005a88; }

@media (max-width: 767px) {
    #shopgrid .sidebar { margin-bottom: 30px; }
    #shopgrid .tc-product-card { margin-bottom: 20px; }
}


/* ══════════════════════════════════════════════════════════════
   SHOP SINGLE — Prodotto singolo
   ══════════════════════════════════════════════════════════════ */

/* ── Galleria immagini ── */
.shop-single .product-feature-img img {
    width: 100%;
    max-height: 450px;
    object-fit: contain;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    padding: 15px;
    background: #fff;
}
.tc-gallery-main { margin-bottom: 10px; }
.tc-gallery-main img {
    width: 100%;
    max-height: 400px;
    object-fit: contain;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    padding: 15px;
    background: #fff;
}
.tc-gallery-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.tc-gallery-thumbs .tc-thumb {
    width: 80px;
    height: 80px;
    object-fit: contain;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    padding: 4px;
    background: #fff;
    cursor: pointer;
    transition: border-color .2s;
}
.tc-gallery-thumbs .tc-thumb-link:hover .tc-thumb { border-color: #0070A8; }

/* ── Titolo prodotto ── */
.shop-single .product-title h3 {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin-bottom: 15px;
}

/* ── Prezzo ── */
.shop-single .product-price .woocommerce-Price-amount { color: #0070A8; font-size: 22px; font-weight: 700; }
.shop-single .product-price del .woocommerce-Price-amount { color: #aaa; font-size: 16px; font-weight: 400; }
.shop-single .product-meta { border-bottom: 1px solid #eee; padding-bottom: 15px; margin-bottom: 15px; }
.shop-single .product-meta .product-review { line-height: 40px; }
.shop-single .product-review .star-rating { display: inline-block; vertical-align: middle; }
.shop-single .product-review .star-rating::before,
.shop-single .product-review .star-rating span::before { color: #0070A8; }

/* ── Dettagli rapidi ── */
.shop-single .product-details h5 {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #222;
    margin-bottom: 10px;
}
.shop-single .product-details ul li {
    font-size: 13px;
    color: #666;
    padding: 5px 0;
    border-bottom: 1px dashed #f0f0f0;
}
.shop-single .product-details ul li span { color: #333; font-weight: 600; }
.shop-single .product-details ul li a { color: #0070A8; }

/* ── Aggiungi al carrello WC ── */
.shop-single .woocommerce-variation-add-to-cart,
.shop-single form.cart { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; }
.shop-single .quantity input.qty {
    width: 70px;
    height: 42px;
    border: 1px solid #ddd;
    border-radius: 3px;
    text-align: center;
    font-size: 15px;
    padding: 0 10px;
}
.shop-single .single_add_to_cart_button {
    background: #0070A8 !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    transition: background .2s !important;
}
.shop-single .single_add_to_cart_button:hover { background: #005a88 !important; }

/* Variazioni prodotto */
.shop-single .variations label { font-weight: 600; font-size: 13px; color: #333; }
.shop-single .variations select {
    border: 1px solid #ddd;
    padding: 6px 10px;
    border-radius: 3px;
    font-size: 13px;
}
.shop-single .reset_variations { font-size: 12px; color: #0070A8; }

/* ── Condividi ── */
.shop-single .product-share { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.shop-single .share-title { font-size: 14px; font-weight: 700; margin: 0; color: #333; text-transform: uppercase; letter-spacing: .5px; }
.shop-single .product-share a {
    display: inline-block;
    width: 34px; height: 34px; line-height: 34px;
    text-align: center; border-radius: 50%;
    background: #f0f0f0; color: #666;
    font-size: 14px; transition: all .2s;
}
.shop-single .product-share a:hover { background: #0070A8; color: #fff; }

/* ── Tabs ── */
.shop-single .product-tabs { margin-top: 30px; }
.shop-single .nav-tabs { border-bottom: 2px solid #0070A8; }
.shop-single .nav-tabs > li > a {
    color: #555; font-size: 13px; font-weight: 600;
    text-transform: uppercase; letter-spacing: .5px;
    border: 1px solid transparent; border-radius: 3px 3px 0 0;
    padding: 10px 20px;
}
.shop-single .nav-tabs > li.active > a,
.shop-single .nav-tabs > li > a:hover {
    color: #fff; background: #0070A8;
    border-color: #0070A8; border-bottom-color: transparent;
}
.shop-single .tab-content { padding: 20px; border: 1px solid #e8e8e8; border-top: none; }
.shop-single .tab-content p { color: #666; font-size: 14px; line-height: 1.7; }
/* Tabella attributi WC */
.shop-single .woocommerce-product-attributes { width: 100%; }
.shop-single .woocommerce-product-attributes th { font-weight: 600; color: #333; width: 30%; border-bottom: 1px solid #efefef; }
.shop-single .woocommerce-product-attributes td { color: #555; border-bottom: 1px solid #efefef;}

/* ── Pager prev/next ── */
.shop-single .pager { display: flex; justify-content: space-between; padding: 15px 0; margin: 20px 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee; }
.shop-single .page-prev a,
.shop-single .page-next a {
    display: inline-block; width: 36px; height: 36px; line-height: 34px;
    text-align: center; border: 1px solid #ddd; border-radius: 3px;
    color: #555; font-size: 16px; transition: all .2s;
}
.shop-single .page-prev a:hover,
.shop-single .page-next a:hover { background: #0070A8; border-color: #0070A8; color: #fff; }

/* ── Prodotti correlati ── */
.shop-single .widget-related-product { margin-top: 30px; }
.shop-single .widget-related-product .widget-title h4 {
    font-size: 18px; font-weight: 700; color: #222;
    border-bottom: 2px solid #0070A8; padding-bottom: 10px; margin-bottom: 20px;
}
/* Riusa le stesse regole della griglia shop */
.shop-single .tc-product-row { display: flex; flex-wrap: wrap; }
.shop-single .tc-product-row:before,
.shop-single .tc-product-row:after { display: none; }
.shop-single .tc-product-card { float: none; display: flex; flex-direction: column; margin-bottom: 25px; }
.shop-single .tc-product-card .product-bio { flex: 1; display: flex; flex-direction: column; padding-top: 10px; }
.shop-single .tc-product-card .product-price { margin-top: auto; padding-top: 6px; }

@media (max-width: 767px) {
    .shop-single .sidebar { margin-bottom: 30px; }
    .shop-single .product-meta { text-align: center; }
    .shop-single .product-meta .product-price,
    .shop-single .product-meta .product-review { float: none; text-align: center; display: block; }
}

/* ══════════════════════════════════════════════════════════════
   CARRELLO NATIVO WOOCOMMERCE - Reskin Autoshop
   ══════════════════════════════════════════════════════════════ */

#shopcart table.shop_table {
    border: 0px;
}

#shopcart table.shop_table th {
    background: #f7f7f7;
    color: #333;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    padding: 14px 15px !important;
    border-color: #e8e8e8 !important;
}
#shopcart table.shop_table td {
    padding: 15px !important;
    vertical-align: middle !important;
    border-color: #e8e8e8 !important;
    color: #555;
}
#shopcart table.shop_table td.product-thumbnail img {
    width: 80px !important;
    height: 80px !important;
    object-fit: contain;
    border: 1px solid #eee;
    border-radius: 3px;
    padding: 4px;
}
#shopcart table.shop_table td.product-name a {
    color: #333;
    font-weight: 600;
    font-size: 14px;
}
#shopcart table.shop_table td.product-name a:hover { color: #0070A8; }
#shopcart table.shop_table .woocommerce-Price-amount {
    color: #0070A8;
    font-weight: 600;
}
#shopcart table.shop_table a.remove {
    color: #999 !important;
    background: #f5f5f5;
    border-radius: 50%;
    width: 28px;
    height: 28px;
    line-height: 28px;
    text-align: center;
    display: inline-block;
    font-size: 18px;
    transition: all .2s;
}
#shopcart table.shop_table a.remove:hover {
    background: #e74c3c !important;
    color: #fff !important;
}
#shopcart .quantity input.qty {
    width: 65px;
    height: 38px;
    border: 1px solid #ddd;
    border-radius: 3px;
    text-align: center;
    font-size: 14px;
}
#shopcart .actions .button {
    background: #f5f5f5 !important;
    color: #555 !important;
    border: 1px solid #ddd !important;
    padding: 9px 18px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
}
#shopcart .coupon input#coupon_code {
    height: 38px;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 0 10px;
    font-size: 13px;
    width: 180px;
}
#shopcart .cart_totals {
    background: #f9f9f9;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
    padding: 25px;
    margin-top: 20px;
}
#shopcart .cart_totals h2 {
    font-size: 16px;
    font-weight: 700;
    color: #222;
    border-bottom: 2px solid #0070A8;
    padding-bottom: 10px;
    margin-bottom: 15px;
}
#shopcart .cart_totals table th,
#shopcart .cart_totals table td {
    padding: 10px 0 !important;
    border-color: #eee !important;
    font-size: 14px;
    color: #555;
    background: transparent !important;
}
#shopcart .cart_totals table tr.order-total th,
#shopcart .cart_totals table tr.order-total td {
    font-size: 16px;
    font-weight: 700;
    color: #222;
}
#shopcart .woocommerce-shipping-methods li {
    padding: 6px 0;
    font-size: 13px;
    color: #555;
}
#shopcart .wc-proceed-to-checkout .checkout-button {
    background: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 12px 20px !important;
    border-radius: 3px !important;
    width: 100%;
    text-align: center;
    display: block;
    margin-top: 15px;
}
#shopcart .wc-proceed-to-checkout .checkout-button:hover {
    background: #005a88 !important;
}
#shopcart .woocommerce-message {
    border-top-color: #0070A8 !important;
    background: #e8f4fd;
    margin-bottom: 20px;
}


/* ══════════════════════════════════════════════════════════════
   CHECKOUT NATIVO WOOCOMMERCE - Reskin Autoshop
   ══════════════════════════════════════════════════════════════ */

.page-content .woocommerce,
.woocommerce-checkout .woocommerce {
    font-family: inherit;
}

/* Tabella riepilogo ordine */
.page-content table.shop_table th,
.page-content table.shop_table td {
    padding: 10px 15px !important;
    border-color: #e8e8e8 !important;
    font-size: 14px;
    color: #555;
}
.page-content table.shop_table th {
    background: #f7f7f7;
    font-weight: 700;
    color: #333;
}
.page-content table.shop_table .woocommerce-Price-amount {
    color: #0070A8;
    font-weight: 600;
}
.page-content table.shop_table tr.order-total th,
.page-content table.shop_table tr.order-total td {
    font-size: 16px;
    font-weight: 700;
    color: #222;
}

/* Metodi spedizione */
.page-content .woocommerce-shipping-methods li {
    padding: 6px 0;
    font-size: 13px;
    color: #555;
}

/* Bottone ordine */
.page-content #place_order {
    background: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    padding: 12px 30px !important;
    border-radius: 3px !important;
    width: 100%;
    transition: background .2s !important;
}
.page-content #place_order:hover {
    background: #005a88 !important;
}

/* Bottone Effettua ordine - override plugin wpmc */
#place_order,
.woocommerce #place_order,
.page-content #place_order,
button#place_order {
    background-color: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
}
button#place_order:hover {
    background-color: #005a88 !important;
    border-color: #005a88 !important;
}

/* Link "Che cos'è PayPal?" */
.page-content .about_paypal {
    color: #0070A8 !important;
}

/* Bottone "Torna al carrello" */
#wpmc-back-to-cart {
    background-color: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
}
#wpmc-back-to-cart:hover {
    background-color: #005a88 !important;
}

/* Bottone "Precedente" */
#wpmc-prev {
    background-color: #f5f5f5 !important;
    border-color: #ddd !important;
    color: #555 !important;
}

/* Bottoni step navigazione */
.wpmc-nav-wrapper .button {
    background: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
}
.wpmc-nav-wrapper .button:hover {
    background: #005a88 !important;
}
.wpmc-nav-wrapper .button-inactive {
    background: #f5f5f5 !important;
    border-color: #ddd !important;
    color: #555 !important;
}

/* Step tabs */
.wpmc-tabs-wrapper .wpmc-tab-item.current::before {
    border-bottom-color: #0070A8 !important;
}
.wpmc-tabs-wrapper .wpmc-tab-item.current .wpmc-tab-number {
    border-color: #0070A8 !important;
    color: #0070A8 !important;
}

/* Campi form */
.page-content .woocommerce input.input-text,
.page-content .woocommerce select,
.page-content .woocommerce textarea {
    border: 1px solid #ddd !important;
    border-radius: 3px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    color: #555 !important;
}
.page-content .woocommerce input.input-text:focus,
.page-content .woocommerce select:focus {
    border-color: #0070A8 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(0,112,168,0.15) !important;
}

/* Label */
.page-content .woocommerce label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
}

/* Notifiche */
.page-content .woocommerce-message {
    border-top-color: #0070A8 !important;
    background: #e8f4fd;
    margin-bottom: 20px;
}
.page-content .woocommerce-message::before {
    color: #0070A8 !important;
}

/* Metodi pagamento */
.page-content .wc_payment_methods li {
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    font-size: 14px;
    color: #555;
}

/* Override colore bottone Effettua ordine - massima specificità */
.woocommerce-checkout #payment #place_order,
.woocommerce #payment #place_order,
form.checkout #place_order,
#place_order.button.alt {
    background-color: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
}
.woocommerce-checkout #payment #place_order:hover,
form.checkout #place_order:hover {
    background-color: #005a88 !important;
    border-color: #005a88 !important;
}

/* Sfondo grigio sezione pagamento come metodi spedizione */
.woocommerce-checkout #payment,
.page-content #payment {
    background: #f5f5f5 !important;
    border-radius: 5px !important;
    border: 1px solid #e8e8e8 !important;
}

.woocommerce-checkout #payment .payment_methods,
.page-content #payment .payment_methods {
    border-bottom: 1px solid #e8e8e8 !important;
}

/* ══════════════════════════════════════════════════════════════
   SHOP — Fix bottone Aggiungi al carrello nell'overlay
   ══════════════════════════════════════════════════════════════ */

/* ── Hover overlay shop grid - layout corretto ── */
#shopgrid .product-hover {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    opacity: 0;
    transition: opacity .3s;
    padding: 15px;
}

#shopgrid .product-action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
}

#shopgrid .product-action .btn,
#shopgrid .product-action a.button,
#shopgrid .product-action .add_to_cart_button {
    display: block !important;
    width: 160px !important;
    margin: 0 auto !important;
    font-size: 12px !important;
    padding: 9px 12px !important;
    text-align: center !important;
    border-radius: 3px !important;
    font-weight: 600 !important;
    background-color: #0070A8 !important;
    border-color: #0070A8 !important;
    color: #fff !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    height: auto !important;
}

#shopgrid .product-action .btn:hover,
#shopgrid .product-action a.button:hover,
#shopgrid .product-action .add_to_cart_button:hover {
    background-color: #005a88 !important;
    border-color: #005a88 !important;
}

/* ══════════════════════════════════════════════════════════════
   SHOP SINGLE — Immagine prodotto grande
   ══════════════════════════════════════════════════════════════ */

/* Contenitore principale galleria */
#shopgrid .shop-content .product-feature-img {
    height: auto !important;
    background: #f9f9f9;
    border: 1px solid #e8e8e8;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 30px;
    padding: 0 !important;
    display: block !important;
	margin-top: 20px;
}

/* Immagine principale */
#shopgrid .shop-content .product-feature-img .tc-gallery-main img {
    width: 100% !important;
    height: auto !important;
    max-height: 480px !important;
    object-fit: contain !important;
    padding: 20px !important;
    display: block !important;
}

/* Contenitore thumbs */
#shopgrid .shop-content .product-feature-img .tc-gallery-thumbs {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 8px;
    padding: 10px 15px 15px;
    border-top: 1px solid #eee;
    background: #fff;
}

/* Singola thumb */
#shopgrid .shop-content .product-feature-img .tc-gallery-thumbs .tc-thumb {
    width: 75px !important;
    height: 75px !important;
    object-fit: contain !important;
    border: 1px solid #ddd !important;
    border-radius: 3px;
    padding: 4px !important;
    cursor: pointer;
    display: block !important;
    flex-shrink: 0;
}

#shopgrid .shop-content .product-feature-img .tc-thumb-link:hover .tc-thumb {
    border-color: #0070A8 !important;
}

/* Prezzo prodotto singolo - più visibile */
.shop-single .product-price .woocommerce-Price-amount,
#shopgrid .shop-content .product-price .woocommerce-Price-amount {
    color: #0070A8 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}

/* Prezzo barrato */
.shop-single .product-price del .woocommerce-Price-amount,
#shopgrid .shop-content .product-price del .woocommerce-Price-amount {
    color: #aaa !important;
    font-size: 16px !important;
    font-weight: 400 !important;
}

/* Paginazione pagina ricerca */
#shopgrid .pagination-wrap .pagination {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
    padding: 0;
    margin: 0;
    list-style: none;
}
#shopgrid .pagination-wrap .pagination li a,
#shopgrid .pagination-wrap .pagination li span {
    display: block;
    width: 36px;
    height: 36px;
    line-height: 36px;
    text-align: center;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #555;
    font-size: 13px;
    transition: all .2s;
    padding: 0;
}
#shopgrid .pagination-wrap .pagination li.active span {
    background: #0070A8;
    border-color: #0070A8;
    color: #fff;
}
#shopgrid .pagination-wrap .pagination li a:hover {
    background: #0070A8;
    border-color: #0070A8;
    color: #fff;
}

#shopgrid .woocommerce-pagination {
    text-align: center;
}
#shopgrid .woocommerce-pagination ul.page-numbers {
    display: inline-flex;
}

/* ── Form Permuta ── */
.tc-privacy .wpcf7 h3 {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    background: #0070A8;
    padding: 10px 15px;
    border-radius: 3px;
    margin: 25px 0 15px;
}
.tc-privacy .wpcf7 label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
    display: block;
}
.tc-privacy .wpcf7 input[type="text"],
.tc-privacy .wpcf7 input[type="email"],
.tc-privacy .wpcf7 input[type="tel"],
.tc-privacy .wpcf7 textarea {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 3px;
    padding: 9px 12px;
    font-size: 13px;
    color: #555;
    margin-bottom: 15px;
    transition: border-color .2s;
    box-shadow: none;
}
.tc-privacy .wpcf7 input:focus,
.tc-privacy .wpcf7 textarea:focus {
    border-color: #0070A8;
    outline: none;
    box-shadow: none;
}
.tc-privacy .wpcf7 input[type="file"] {
    font-size: 13px;
    color: #555;
    margin-bottom: 15px;
}
.tc-privacy .wpcf7 input[type="submit"] {
    background: #0070A8;
    color: #fff;
    border: none;
    padding: 12px 30px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 3px;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: .5px;
    transition: background .2s;
    margin-top: 10px;
}
.tc-privacy .wpcf7 input[type="submit"]:hover {
    background: #005a88;
}
.tc-privacy .wpcf7 .wpcf7-response-output {
    margin: 10px 0 0;
    padding: 10px 15px;
    border-radius: 3px;
    font-size: 13px;
}

/* ── Checklist ── */
.tc-privacy h2 {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid #0070A8;
}
.tc-privacy h4 {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    background: #0070A8;
    padding: 10px 15px;
    border-radius: 3px;
    margin: 25px 0 10px;
}
.tc-privacy ul {
    list-style: none;
    padding: 0;
    margin: 0 0 15px;
    border: 1px solid #e8e8e8;
    border-radius: 3px;
}
.tc-privacy ul li {
    font-size: 13px;
    color: #555;
    padding: 9px 15px 9px 38px;
    border-bottom: 1px solid #f0f0f0;
    position: relative;
    line-height: 1.5;
}
.tc-privacy ul li:last-child { border-bottom: none; }
.tc-privacy ul li::before {
    content: '\f046';
    font-family: 'FontAwesome';
    color: #0070A8;
    position: absolute;
    left: 12px;
    font-size: 14px;
}
.tc-privacy a {
    color: #0070A8;
    font-weight: 600;
}
.tc-privacy a:hover { text-decoration: underline; }

/* Immagini sidebar */
.tc-privacy .widget_media_image img {
    width: 100%;
    border-radius: 3px;
    margin-bottom: 5px;
    transition: opacity .2s;
}
.tc-privacy .widget_media_image img:hover { opacity: .85; }
.tc-privacy .widget_block hr {
    border-color: #e8e8e8;
    margin: 10px 0;
}