/*
Theme Name: Porto Child
Theme URI: https://www.portotheme.com/wordpress/porto
Author: P-THEMES
Author URI: https://www.portotheme.com/
Description: Porto Responsive WordPress + eCommerce Theme.
Version: 1.1
Template: porto
License: Commercial
License URI: http://themeforest.net/licenses/regular_extended
Tags: woocommerce, corporate, ecommerce, responsive, blue, black, green, white, light, dark, red, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, fixed-layout, responsive-layout, custom-menu, editor-style, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready, accessibility-ready
*/

/*************** ADD YOUR CUSTOM CSS HERE  ***************/
.page-top{ background-color: #ffffff !important;}
.product-image .labels {
    bottom: 0.229em !important;
}
a.wcpoa_attachmentbtn {
    font-family: var(--porto-add-to-cart-ff, var(--porto-body-ff)), sans-serif;
    background: var(--porto-heading-color);
    color: var(--porto-body-bg);
}

.screen-reader-text{ display:none}
/* link nella bar dei coolie*/
.cn-link{ color:white; font-weight:bold; text-decoration:underline;}
.cn-link:hover{ color:yellow;}



/* modifiche mie */
.woocommerce-info {
    color: #2e2618;
    border: 1px solid #FFA500 !important;
    padding: 20px;
    background #fff6e7;
    border-radius:4px;
}
/* forzo la visualizzazione del form nelle pagine dove c'è pw gif card */
#pwgc-purchase-container {
    display:block !important;
}

/*modifiche form cerca visibile da mobile */
.vc_wp_search.wpb_content_element.form-cerca {
    margin-bottom: 0px;
}
/**/


.videoWrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
}

.videoWrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media (max-width: 768px) {
    .vc_carousel-inner {
        min-height: 157px !important;
    }
}
@media (min-width: 992px){
#header.logo-overlay-header .overlay-logo {
    margin-left: 0px;
}
#header .main-menu {
    margin-left: 36px;
}

}
.product-image .labels .onnew {
    display: none;
}
.product-image .labels .onsale, .summary-before .labels .onsale {
    background: var(--porto-sale-color,#e27c7c);
    color: var(--porto-sale-color-inverse,#fff);
    opacity: 0.7;
}

.products .sale-product-daily-deal {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 10px;
    color: #fff;
    padding: 5px 0;
    bottom: unset;
    text-align: center;
}


/* il conto alla rovescia dopo l'aggiornametno si centrava */
.countdown-label, .porto_countdown-div {
    display: block;
}

h1 {
    letter-spacing: 3px;
}
.payment_methods .payment_method_paypal img {
    width: auto !important;
}
.checkout-order-review.align-left.col-lg-8 {
    border: 3px solid black;
    padding: 15px 10px 15px 15px;
}
div#payment {
    background-color: whitesmoke;
    padding: 8px 15px 15px 15px;
}
.ajax_add_to_cart,  .quickview{ font-size: 11px !important;}

/* fix font prezzi*/
li.yith-wfbt-item .price {
    font-size: inherit;
}
.wc-points-rewards-product-message{margin-bottom:10px;}
form.cart{ display: block !important;}

.single-product .product-summary-wrap .yith-wcwl-add-to-wishlist {
    border: 2px solid #e7e7e7;
    padding: 7px 21px 5px 21px;
    border-radius: 32px;
}

.woocommerce-checkout label {
  margin-bottom: 3px;
  font-weight: 500;
  letter-spacing: -0.01em;
  font-size: 13px;
}

.product-image .labels {
    top: unset;
    bottom: 0.229em !important;
}

/* FIX MENU MOBILE */
.accordion-menu .arrow {
    width: 44px !important;
}



.accordion-menu li.menu-item.has-sub>a {
    padding-right: 44px !important;
}
.accordion-menu .arrow {
    position: absolute;
    top: 0px;
    right: 0;
    width: 35px;
    height: 34px;
    cursor: pointer;
    text-align: center;
    line-height: 25px;
    vertical-align: top;
    transition: .25s;
    z-index: 9999;
}

/* fix per font slide da mobile */
@media (max-width: 575px) {
    .porto-ibanner-layer h1 {
        font-size: 33px !important;
    }
}


/* FIX per plug-in lista di attesa*/
#yith-wcwtl-output label, #yith-wcwtl-output p, #yith-wcwtl-output label {
    display: inline-block;
}
#yith-wcwtl-output .button.alt {
    background: #17191c !important;
    color: #ffffff;
}
#yith-wcwtl-output {
    background-color: #f8f8f8 !important;
    padding: 20px !important;
    border: 1px solid #cdcdcd !important;;
}
p.yith-wcwtl-msg {
    font-weight: 800;
}

/* Modifiche grafiche al modulo punti*/
.woocommerce-info.wc_points_rewards_earn_points, .cart-total p.spedizionigratuite{
    background: #f2eef4;
    padding: 15px;
    border: 1px solid #ccb2e0;
    color: #643888;
}
.woocommerce-info.wc_points_redeem_earn_points {
    background: #e8f9f1;
    padding: 15px;
    border: 1px solid #99e7a3;
    color: #179d20;
}
input.button.wc_points_rewards_apply_discount {
    margin: 0px 20px;
    background: #179d20;
    border: 1px solid #1b8128;
}
.wc_points_rewards_earn_points:before, .dokan-info:before {
    content: "\f004";
}
.wc_points_redeem_earn_points:before, .dokan-info:before {
    content: "\f00c";
}
@media (max-width: 780px) {
    input.button.wc_points_rewards_apply_discount {
        margin: 20px;
        background: #179d20;
        border: 1px solid #1b8128;
        display:block;
        width:87%;
    }
    .page-header-8 li a{
        font-size:0.75rem;
    }
}
.woocommerce-error {
    color: #862524;
    list-style: none;
    border: 1px solid #fda6a8;
    padding: 15px;
}

.woocommerce-error .button{
  background: #d2322d;
}

/* fix notice per i punti*/
.woocommerce-info.wc_points_redeem_earn_points {
    border: 1px solid #99e7a3 !important;
}
input.button.wc_points_rewards_apply_discount {
    border-radius: 4px;
}
.woocommerce-info {
    background: #fff8ea;
}


/* FIX FREE SHIPPING CARRELLO*/
.devnet_fsl-free-shipping {
    box-shadow: 0 0 1.5rem -1rem #000;
    background-color: white;
}
#pwgc-redeem-button {
    width: 100%;
    margin-top: 10px !important;
}


/* header */
@media (max-width: 767px)
#header .logo {
    max-width: 209px;
}


.mega-menu.menu-hover-line > li.menu-item > a:before { height: 1px; background-color: #333; margin-top: 10px; }
.font-weight-semibold > a { font-weight: inherit !important; }
#header .header-top .mega-menu > li.menu-item > a { font-weight: 400; letter-spacing: -.025em; }
#header .searchform input { width: 280px; }
#header .my-account, #header .my-wishlist { font-size: 27px; }
#header .searchform-popup .search-toggle { font-size: 20px; }
#mini-cart { padding-left: .25rem; }
#mini-cart .cart-items, .my-wishlist .wishlist-count { box-shadow: none; background: #222529; }
@media (min-width: 992px) {
    #header .logo { margin-right: 1rem; }
    .header-wrapper.wide .container-fluid { padding-left: 3vw; padding-right: 3vw; }
    .header-col>*:not(.header-col-wide), .header-col-wide>*:not(.header-col-wide) { margin-left: 1.125rem; }
}
@media (max-width: 991px) {
    #header .top-links { display: none; }
}
@media (max-width: 575px) {
    #header .porto-view-switcher { display: none; }
    #header .header-right .searchform { right: -140px; }
}
@media (max-width: 359px) {
    .header-col>*:not(.header-col-wide), .header-col-wide>*:not(.header-col-wide) { margin-left: 3px; }
}
.page-header-6 { padding-bottom: 0; }
.page-header-6 .container:after { content: ''; display: block; border-bottom: 1px solid #e7e7e7; margin-top: 12px; }

/* pages */
.btn-modern { font-weight: 400; letter-spacing: .15em; }
.porto-ibanner-layer .btn-modern.btn-lg { font-size: .875em; padding: 1.375em 3.65em; }
.thumb-info .thumb-info-title { font-size: 1.25rem; }
li.product-category .sub-categories { font-weight: 300; letter-spacing: -.025em; }
ul.products li.product-category .thumb-info-title { width: auto; padding-right: 0; }
ul.products li.product-category .thumb-info h3 { font-size: inherit; letter-spacing: .2em; font-weight: 600; text-transform: none; }
ul.products li.product-category .thumb-info h3:after { content: ''; display: inline-block; width: .55em; height: .55em; border-width: 1px 1px 0 0; margin-left: .3em; transform: rotate(45deg) skew(12deg, 12deg); transition: margin-left .3s; border-style: solid; }
ul.products li.product-category .thumb-info h3:hover:after { margin-left: .5em; }
.owl-carousel.nav-style-4 .owl-nav [class*="owl-"]:before { content: ''; display: block; width: .9em; height: .9em; border-width: 1.5px 1.5px 0 0; border-style: solid; border-color: #222529; transform: translateX(-50%) rotate(45deg) skew(10deg, 10deg); }
.owl-carousel.nav-style-4 .owl-nav .owl-prev:before { transform: translateX(20%) rotate(-135deg) skew(10deg, 10deg); }
.owl-carousel.dots-style-1 .owl-dots span, .products-slider.owl-carousel .owl-dot span { border-color: #222529; }
.owl-carousel.dots-style-1 .owl-dot.active span, .owl-carousel.dots-style-1 .owl-dot:hover span, .products-slider.owl-carousel .owl-dot:hover span, .products-slider.owl-carousel .owl-dot.active span { color: #222529 }
.porto-products.show-category .products-filter { text-align: center; } 
.porto-products.show-category .product-categories li { display: inline-block; margin: 0 1.5rem 1rem; }
.porto-products.show-category .section-title, .porto-products.show-category .product-categories a:before { display: none; }
.porto-products.show-category .product-categories a { padding: 0; color: #333; font-size: .8125rem; font-weight: 400; letter-spacing: -.025em; text-transform: uppercase; line-height: 1.5; text-decoration: none }
.porto-products.show-category .product-categories a:hover, .porto-products.show-category .product-categories .current a { border-bottom: 1px solid; }
.testimonial blockquote p { font-size: 1.375rem; line-height: 1.4; font-style: italic; }
.testimonial blockquote p:before { content: '“'; font-size: 250%; margin-right: .5rem; }
.testimonial .testimonial-author strong { font-size: 1.125rem; letter-spacing: -.025em; font-weight: 300; color: #555; }
.testimonial .testimonial-author strong:before { content: '-'; margin-right: .25rem; }
.testimonial.testimonial-style-2 .testimonial-author { margin: 0; }
.blog-posts .post .entry-title { font-size: 1.5rem; letter-spacing: -.025em; margin-bottom: .5rem; }
.blog-posts .post .clearfix { display: none; }
.blog-posts .post .post-excerpt:last-child { margin-bottom: 0; }
article.post-grid .post-date .day { background: #222529; color: #fff; letter-spacing: .05em; font-size: 1.125rem; padding-bottom: 0; line-height: 1 }
article.post-grid .post-date .month { font-size: .75rem; text-transform: uppercase; line-height: 1.2; padding-bottom: 8px; letter-spacing: .05em; }
article.post-grid .post-image .post-date { right: auto; top: 20px; left: 20px; width: auto; min-width: 44px; }
body:not(.home) .post-image .img-thumbnail, body:not(.home) .post-image.img-thumbnail img { border: 1px solid #e7e7e7; }
@media (max-width: 991px) {
    .thumb-info .thumb-info-title { font-size: 1.0625rem; }
    .porto-products.show-category .product-categories li { margin: 0 1rem .75rem; }
}

/* shop */
.widget-style .labels, .widget-style .add-links-wrap, .widget-style .sale-product-daily-deal { display: none; }
.widget-style .product-inner { display: flex; align-items: center; }
.widget-style .product-image { max-width: 90px; flex: 0 0 90px; }
.widget-style .product-content { flex: 1; padding-left: 1rem; max-width: calc(100% - 90px); }
.widget-style ul.products li.product-col { margin-bottom: .25rem; }

/* footer */
.footer-top .wysija-paragraph { flex: 1; padding-right: .75rem; }
.footer-top .wysija-input { height: 3rem; background: #f4f4f4; border: none; font-size: .75rem; padding-left: 1.25rem; box-shadow: none; }
.footer-top .wysija-submit { height: 3rem; }
.widget .widget-title, #footer .widget-title { font-size: .9375rem; font-weight: 700; }
#footer .widget > div > ul li { margin-bottom: .625rem; }
#footer .share-links a { width: 2.5rem; height: 2.5rem; box-shadow: none; border: 1px solid #e7e7e7; }
#footer .footer-main > .container { padding-top: 0; padding-bottom: 0; }
.footer-main > .container:before, .footer-main > .container:after { content: ''; border-top: 1px solid #e7e7e7; display: block; }
.footer-main > .container:before { margin-bottom: 2.5rem; }
.footer-main > .container:after { margin-top: .625rem; }
#footer .footer-bottom { font-size: 1em; }



span.product-stock.in-stock {
    display: none;
}
@media (min-width: 992px) {
    ul.products li.product-col {
        width: unset;
    }
}

/*CSS per il notice nel carrello che invoglia a registrarsi*/
.wpb2-register-banner {
    background-color: #28a745;       /* verde */
    color: #fff;                     /* testo bianco */
    padding: 16px 20px;
    border-radius: 6px;
    font-size: 16px;
    line-height: 1.5;
    position: relative;
    animation: wpb2-border-blink 1.2s infinite alternate;
    margin-bottom:30px;
    text-align:center;
}
.wpb2-register-banner h3{color: #fff;}
/* effetto bordo lampeggiante */
@keyframes wpb2-border-blink {
    0% { box-shadow: 0 0 0 2px #1e7e34; }
    100% { box-shadow: 0 0 0 4px #71dd8a; }
}

/* Evidenzia la sezione della checkbox "Crea un account?" */
.woocommerce-account-fields {
    background-color: #28a7450d; /* leggero sfondo verde trasparente */
    border: 2px solid #28a745;   /* verde come il banner */
    padding: 15px 20px;
    border-radius: 6px;
    margin: 20px 0px;
}   


/* Evidenzia etichetta e testo */
.woocommerce-account-fields label.woocommerce-form__label-for-checkbox {
    color: #28a745;
    font-weight: 700;
}

/* Evidenzia il checkbox stesso */
.woocommerce-account-fields input[type="checkbox"] {
    accent-color: #28a745; /* moderno, funziona su browser recenti */
    transform: scale(1.2);
}
.woocommerce-account-fields p {
    margin: 1rem 0 1rem 0;
}

/* piccolo fix per il carrello*/
small.includes_tax{display:block;}

table.responsive.cart-total > tbody > tr.cart-subtotal:first-child {
    display: none;
}

/*fix header da mobile*/
@media screen and (max-width: 768px) {
.header-top > .container, .header-top > .container-fluid {
    min-height: 32px;
}
	
	.container-fluid, .container-fluid .vc_section:not(.porto-inner-container) {
     padding-left: 10px; 
     padding-right: 10px;
	}
	.no-breadcrumbs .main-content {
    padding-top: 0px;
	}
.widget.widget_search {
    margin: 10px;
}
	
	
}

table.responsive.cart-total tbody tr.order-total td .includes_tax {
    font-size: 10px !important;
}


/* Gestione per mobile: rimuove l'etichetta "Subtotale" se il tema la visualizza come pseudo-elemento */
@media screen and (max-width: 768px) {
    .non-rivenditore-user .woocommerce-cart .shop_table.cart td.product-subtotal:before {
        content: none !important; 
    }
}

/* corregge piccolo bug grafico di Rewards point elemento a caso ad inizio pagina*/
.wc_points_rewards_earn_points:before, .dokan-info:before {
    display:none;
}

/* --- CONTAINER DELLA BARRA --- */
/* ============================================================
   BARRA SPEDIZIONE GRATUITA - VERSIONE GREEN GRADIENT
   ============================================================ */

/* 1. WRAPPER E CONTENITORE */
.shipping-progress-wrapper {
    width: 100% !important;
    display: block !important;
    clear: both !important;
}

.shipping-progress-wrapper.is-standard .shipping-progress-container {
    background: #ffffff !important;
    padding: 15px !important;
    margin: 15px 0 !important;
    border: 1px solid #ebebeb !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
}

/* Stile compatto per Top Bar */
.shipping-progress-wrapper.is-compact .shipping-progress-container {
    background: transparent !important;
    border: none !important;
    padding: 5px 0 !important;
    margin: 0 !important;
}

/* 2. MESSAGGIO TESTUALE (Grassetto come da screenshot) */
.shipping-msg {
    margin: 0 0 10px 0 !important;
    font-size: 14px !important;
    text-align: center !important;
    font-weight: 700 !important; /* Testo Bold */
    color: #1a1a1a !important;
    line-height: 1.4 !important;
}

.is-compact .shipping-msg {
    font-size: 12px !important;
    margin-bottom: 5px !important;
}

/* 3. LA BARRA (Sfondo grigio neutro) */
.progress-bar-bg-custom {
    background-color: #e6e6e6 !important; /* Grigio chiaro pulito */
    height: 10px !important;
    width: 100% !important;
    border-radius: 20px !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
}

.is-compact .progress-bar-bg-custom {
    height: 6px !important;
}

/* 4. RIEMPIMENTO (Il tuo gradiente Verde richiesto) */
.progress-bar-fill-custom {
    /* Gradiente: #4f9c8a (Petrolio) -> #9fd3c7 (Menta) */
    background: linear-gradient(135deg, #4f9c8a 0%, #9fd3c7 100%) !important;
    
    height: 100% !important;
    display: block !important;
    border-radius: 20px !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    transition: width 1s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    z-index: 2 !important;
}

/* 5. ANIMAZIONE RIFLESSO (Opzionale, per dare vita al verde) */
.progress-bar-fill-custom::after {
    content: '' !important;
    position: absolute !important;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(
        90deg, 
        rgba(255, 255, 255, 0) 0%, 
        rgba(255, 255, 255, 0.25) 50%, 
        rgba(255, 255, 255, 0) 100%
    ) !important;
    animation: shipping-shimmer 3s infinite !important;
}

@keyframes shipping-shimmer {
    0% { transform: translateX(-100%); }
    100% { transform: translateX(100%); }
}

/* 6. RESPONSIVE MOBILE */
@media (max-width: 768px) {
    .shipping-msg {
        font-size: 12px !important;
    }
    .progress-bar-bg-custom {
        height: 8px !important;
    }
}



/* SLIDE */
/* Container principale: Forza l'altezza e l'overflow */
.lcp-slider {
    position: relative !important;
    width: 100% !important;
    max-width: 100vw !important;
    height: 700px !important; /* Desktop */
    overflow: hidden !important; 
    display: block !important;
}

/* Mobile */
@media (max-width: 768px) {
    .lcp-slider {
        height: 157px !important;
    }
}

/* Il binario: deve essere una riga infinita */
.lcp-slider-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important; /* Impedisce di andare a capo */
    width: 100% !important;
    height: 100% !important;
    transition: transform 0.5s ease-in-out !important;
}

/* La slide: deve occupare tutto lo spazio del padre e non rimpicciolirsi */
.lcp-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
}

.lcp-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}