/* Globals */
#wrapper {
  background: white;
}

@media(max-width:768px){
.breadcrumb {
  display: none;
}
}

a {
  color: #07306c;
}

.reset-style * {
  font-family: inherit !important;
  font-size: inherit !important;
  text-align: inherit !important;
  line-height: inherit !important;
}

.reset-style div {
  padding-bottom: 10px;
}

/* Homepage Custom Styles */
.page-home .custom-blocks-container,
.page-home .category-carousel-container,
.page-home .custom-banner-container,
.page-home .featured-products-container,
.page-home .custom-product-blocks-container,
.page-home .feedaty-reviews-container {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.page-home h2 {
  text-align: center;
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}

/* Custom Blocks (Categories & Products) */
.custom-block,
.custom-product-block {
  text-align: center;
  margin-bottom: 1rem;
}

.custom-block a,
.custom-product-block a {
  display: block;
  color: #232323;
  text-decoration: none;
  transition: all 0.3s ease;
}

.custom-block a:hover,
.custom-product-block a:hover {
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transform: translateY(-5px);
}

.custom-block h3,
.custom-product-block h4 {
  margin-top: 1rem;
  font-size: 1.2rem;
}

.custom-product-block .price {
  font-weight: bold;
  font-size: 1.1rem;
  color: #D0121A;
}

/* Basic Carousel Styling */
.featured-products-container .products,
.category-carousel-container .categories {
  display: flex;
  overflow-x: auto;
  padding-bottom: 1rem;
  scrollbar-width: thin;
  /* Firefox */
}

.featured-products-container .product-miniature,
.category-carousel-container .category-miniature {
  flex: 0 0 25%;
  /* Show 4 items by default */
  max-width: 25%;
  padding: 0 0.5rem;
}

/* Footer Custom Styles */
.footer-container {
  padding-top: 2rem;
  padding-bottom: 1rem;
  background-color: #f5f5f5;
}

.footer-box {
  margin-bottom: 1.5rem;
}

.footer-box h4 {
  text-transform: uppercase;
  font-size: 1rem;
  margin-bottom: 1rem;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  border-top: 1px solid #ddd;
  flex-wrap: wrap;
}

.footer-bottom .text-sm-center {
  margin-bottom: 0;
}

.credit-cards img {
  min-height: 25px;
}

/* Responsive Adjustments */
@media (max-width: 767px) {
  .footer-bottom {
    justify-content: center;
    text-align: center;
  }

  .credit-cards {
    margin-top: 1rem;
  }

  .featured-products-container .product-miniature,
  .category-carousel-container .category-miniature {
    flex: 0 0 50%;
    /* Show 2 items on smaller screens */
    max-width: 50%;
  }
}

i.fas.fa-spaghetti-monster-flying {
  color: transparent !important;
}

/* custom.css - Override per il tema classic */
/* ===================================================================
1. Link e Testo Primario
=================================================================== */
a,
.btn-link,
.text-primary,
#header a:hover,
.product-miniature .highlighted-informations .quick-view:hover,
.pagination .current a,
.tabs .nav-tabs .nav-link.active,
.block-categories .category-sub-menu li a[data-depth="0"]:hover,
.product-price,
#blockcart-modal .product-name,
.account-list a:hover,
.footer-container li a:hover,
.block_newsletter form button[type=submit] .search:hover,
.carousel .carousel-control .icon-next:hover i,
.carousel .carousel-control .icon-prev:hover i,
.dropdown:hover .expand-more,
.page-my-account #content .links a:hover i,
.search-widget form button[type=submit] .search:hover,
.top-menu .sub-menu a:hover,
.block-categories .arrows .arrow-down:hover,
.block-categories .arrows .arrow-right:hover,
.block-categories .collapse-icons .add:hover,
.block-categories .collapse-icons .remove:hover,
.cart-grid-body a.label:hover,
.block_newsletter form input[type=text]:focus+button .search,
.btn-unstyle:focus .expand-more,
.search-widget form input[type=text]:focus+button .search,
#header .header-nav .blockcart a:hover {
  color: #07306c;
}

a:hover,
.btn-link:hover,
a.text-primary:focus,
a.text-primary:hover,
.tabs .nav-tabs .nav-link:hover,
.page-link:hover {
  color: #2640cb;
  /* TonalitÃ  piÃ¹ chiara per hover */
}

/* ===================================================================
2. Bottoni e Sfondi (Colore Primario)
=================================================================== */
.btn-primary,
.btn-outline-primary:hover,
.page-item.active .page-link,
.tag-primary,
.bg-primary,
.custom-radio input[type=radio]:checked+span,
.product-flags li.product-flag,
.block-social ul li:hover,
#header .header-nav .cart-preview.active,
.bootstrap-touchspin .group-span-filestyle .btn-touchspin,
.group-span-filestyle .bootstrap-touchspin .btn-touchspin,
.group-span-filestyle .btn-default,
.block-promo .promo-input+button,
.nav-pills .nav-link.active,
.list-group-item.active,
.brands-sort .select-list:hover,
.products-sort-order .select-list:hover,
.suppliers-sort .select-list:hover,
.facet-dropdown .select-list:hover,
.dropdown-item.active {
  background-color: #07306c;
  border-color: #07306c;
  color: #fff;
  /* Testo bianco per leggibilitÃ  */
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-outline-primary:active,
.tag-primary[href]:hover,
a.bg-primary:hover {
  background-color: #2640cb;
  border-color: #2640cb;
  color: #fff;
}

.btn-outline-primary {
  color: #07306c;
  border-color: #07306c;
}

/* ===================================================================
3. Bordi e Contorni
=================================================================== */
.form-control:focus,
.input-group.focus,
.block_newsletter form input[type=email]:focus,
.product-customization .product-message:focus,
.facet-dropdown.open>.select-title,
#subcategories ul li:hover .subcategory-image a,
.card-primary,
.card-outline-primary,
body#checkout section.checkout-step .address-item.selected,
#product-modal .modal-content .modal-body .product-images img:hover,
.product-images>li.thumb-container .thumb.selected,
.product-images>li.thumb-container .thumb:hover {
  border-color: #07306c;
}

.tabs .nav-tabs .nav-link.active,
.tabs .nav-tabs .nav-link:hover {
  border-color: #07306c;
  border-width: 0 0 3px 0;
  border-style: solid;
}

/* ===================================================================
4. Colore Info (#5bc0de)
=================================================================== */
.btn-info,
.tag-info,
.alert-info,
.bg-info,
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active {
  background-color: #2A5C9A;
  border-color: #2A5C9A;
  color: #fff;
}

.btn-info:hover,
.tag-info[href]:hover,
a.bg-info:hover {
  background-color: #3E74B8;
  border-color: #3E74B8;
  color: #fff;
}

.btn-outline-info {
  color: #2A5C9A;
  border-color: #2A5C9A;
}

.alert-info {
  color: #ffffff;
  background-color: #2A5C9A;
  border-color: #2A5C9A;
}

.alert-info .alert-link {
  color: #e0eaf7;
}

/* ===================================================================
5. Aggiustamenti Vari
=================================================================== */
.list-group-item.active .list-group-item-text {
  color: #e0eaf7;
}

.card-primary {
  color: #fff;
}

.paypal-mark {
  padding: 0 !important;
  border: 0 !important;
  margin-left: 20px !important;
}

body#checkout section.checkout-step .step-title {
  font-size: 1.25rem;
}

.has-discount .discount {
  background: #07306c;
}

.has-discount .page-content.page-cms ul,
.has-discount p,
.has-discount.product-price,
.page-content.page-cms .has-discount ul {
  color: #07306c;
}

.blockreassurance_product .item-product img,
.blockreassurance_product .item-product svg {
  stroke: #07306c;
}

.blockreassurance_product {
  margin: 0;
}

.blockreassurance_product .item-product {
  height: auto;
  margin-top: 16px;
}

@media(max-width:768px) {
  body#cart .product-line-grid-right .col-md-10.col-xs-6 {
    padding: 0;
  }

  body#cart .checkout.cart-detailed-actions {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px 10px;
    z-index: 10000000000;
    background: white;
  }

  body#cart div#oct8ne-alerts-callouts-wrapper {
    display: none;
  }
}

body#cart a.btn.btn-primary {
  margin-bottom: 10px;
}

body#checkout section.checkout-step .step-title {
  font-size: 1.25rem;
}

body#checkout #footer {
  padding: 0;
}

/*.payment-options div div {
  height: 25px;
}*/

section.elementor-element.elementor-element-3065779.elementor-section-boxed.elementor-section-height-default.elementor-section-height-default.elementor-section.elementor-top-section {
  background: white;
}

.js-additional-information {
  padding-left: 2rem;
  font-size: 1rem;
  font-weight: 300;
}

.js-payment-option-form {
  font-size: 1rem;
  font-weight: 300;
}

.cart-detailed-totals-wrap .card-block:first-child {
  margin: 0;
  padding: 0;
}

div#payment-confirmation button {
  width: 100%;
}

.payment-options .modal.fade {
  opacity: 1;
}

.payment-options .modal.fade .modal-header {
  display: none;
}

.payment-options .modal.fade .modal-content {
  padding: 0;
  margin: 0;
}

.card-block.card-separator {
  display: none;
}

form.flex-container {
  display: none;
}

.condition-label.dib {
  display: inline;
}

.cart-detailed-totals-wrap {
  padding: 1em;
}

.block-reassurance li,
.blockreassurance_product>div {
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
}

.blockreassurance_product>div {
  padding: 1em;
}

@media (min-width:768px) {
  #js-checkout-summary.is-sticky {
    position: fixed;
    width: 350px;
    top: 10px;
  }
}

@media (max-width:768px) {
  div#payment-confirmation {
    z-index: 1000000000000;
  }

  section#js-checkout-summary {
    display: none;
  }

  div#payment-confirmation {
    position: fixed;
    bottom: 0;
    z-index: 10000;
    width: 100vw;
    left: 0;
    right: 0;
    padding: 1rem;
    background: #f8f8f8;
  }

  div#payment-confirmation button {
    width: 100%;
  }

  .col-md-12.summary-selected-carrier.ssc.flex-container {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content: center;
    align-items: baseline;
  }
}

#main-content+#footer:before {
  background: #000000;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 1) 100%);
  height: 120px;
  display: block;
  content: ' ';
}

section#wrapper {
  padding-bottom: 0 !important;
}

.pp-info {
  display: none;
}

button.fake-buy-btn {
  width: 100%;
}

img.elementor-search__product-image {
  max-width: 100px !important;
}
.elementor-widget-container .ce-product-price{
  color:#f9000c;
  font-weight:600;
}
.elementor-swiper-button.elementor-swiper-button-prev {
    color: black;
    font-size: 30px !important;
}

.elementor-swiper-button.elementor-swiper-button-next {
 color: black;
font-size:30px !important;
}

a[href*="https://www.bongiornowork.com/en/content/35/construction-fund-1"] {  display: none;}

a[href*="https://www.bongiornowork.com/fr/content/35/fonds-de-construction-1"] {  display: none;}
a[href*="https://www.bongiornowork.com/de/content/35/baufonds-1"] {  display: none;}
a[href*="https://www.bongiornowork.com/es/content/35/fondo-de-construccion-1"] {  display: none;}


span#product-page-alternatives {
    max-width: 100vw !important;
    overflow: hidden;
}

@media(min-width:768px){
.extra-catalog-shipping-notification{
	margin-top:-8%;
	margin-left:58%;
  	position: absolute;
	color: red;
  }
}

@media screen and (max-width: 768px) and (min-width: 440px){
.extra-catalog-shipping-notification{
        margin-top:-30%;
        margin-left:36%;
        position: absolute;
        color: red;
  }
}

@media(max-width:439px){
.extra-catalog-shipping-notification{
        margin-top:-8%;
        margin-left:5%;
        position: absolute;
        color: red;
	font-size: 14px
  }
}


a.collapse-button {
    color: red;
    font-weight: 900;
    text-transform: uppercase;
}

/* Nascondere per i prodotti custom la personalizzazione*/

.product-line-grid:has(a[data-id_customization]:not([data-id_customization=""]):not([data-id_customization="0"])) .input-group-btn-vertical {
  display: none !important;
}

.product-line-grid:has(a[data-id_customization]:not([data-id_customization=""]):not([data-id_customization="0"])) .js-cart-line-product-quantity {
  pointer-events: none;
  opacity: 0.6;
}

a.elementor-item[href*="/content/31/"] {
    color: red !important;
    font-weight: bold !important;
}

a.elementor-item[href*="/content/44/"] {
    color: #007aff !important;
    font-weight: bold !important;
}
/* Fix colore varianti in aggiunta nel listing categoria */
.ce-product-variants__pattern.ce-product-variants__count{
color:black !important;
}


/* Fix grandezza immagini pagina prodotto mobile */
@media (max-width: 766px) {
    .elementor-23170101 .elementor-element.elementor-element-4ba1e91 .elementor-main-swiper {
        height: auto;
    }
}


/* Raggruppamento dei loghi con dimensioni 80x40 */
/* Seleziona qualsiasi immagine con alt che termina in -logo */
img[alt$="-logo"] {
  width: 80px;
  height: 40px;
  object-fit: contain;
}


/*grassetto metodo di pagamento*/
.payment-options label{
    font-weight: 700 !important;
    font-size: 1rem !important; /* Ripristina la dimensione del font */

}

/* ============================================================
   1. STRUTTURA & ORDINE
   ============================================================ */
.payment-options { display: flex !important; flex-direction: column !important; }

.payment-options > div:has(#payment-option-1-container) { order: 1 !important; }
.payment-options > div:has(#payment-option-3-container) { order: 2 !important; }
.payment-options > div:has(#payment-option-4-container) { order: 3 !important; }
.payment-options > div:has(#payment-option-5-container) { order: 4 !important; }
.payment-options > div:has(#payment-option-6-container) { order: 5 !important; }
.payment-options > div:has(#payment-option-7-container) { order: 7 !important; }
.payment-options > div:has(#payment-option-2-container) { order: 8 !important; }
.payment-options > div:has(#payment-option-9-container) { order: 90 !important; }
.payment-options > div:has(#payment-option-8-container) { order: 99 !important; }

label[for="payment-option-7"] span, label[for="payment-option-2"] span,
label[for="payment-option-9"] span, label[for="payment-option-8"] span {
    display: none !important;
}

label[for="payment-option-7"]::before, label[for="payment-option-2"]::before,
label[for="payment-option-9"]::before, label[for="payment-option-8"]::before {
    font-weight: 700 !important; font-size: 1rem; display: inline-block;
    vertical-align: middle; margin-right: 5px;
}

/* ============================================================
   2. TRADUZIONI (Codifica sicura)
   ============================================================ */

/* --- ITALIANO --- */
html[lang*="it"] label[for="payment-option-7"]::before { content: "Pagamento Rapido (Carte salvate)"; }
html[lang*="it"] label[for="payment-option-2"]::before { content: "PayPal: Paga in 3 rate senza interessi"; }
html[lang*="it"] label[for="payment-option-9"]::before { content: "Bonifico bancario anticipato"; }
html[lang*="it"] label[for="payment-option-8"]::before { content: "Pagamento con contrassegno"; }

/* --- INGLESE --- */
html[lang*="en"] label[for="payment-option-7"]::before { content: "Fast Checkout (Saved cards)"; }
html[lang*="en"] label[for="payment-option-2"]::before { content: "PayPal: Pay in 3 installments"; }
html[lang*="en"] label[for="payment-option-9"]::before { content: "Bank transfer (Prepayment)"; }
html[lang*="en"] label[for="payment-option-8"]::before { content: "Cash on delivery"; }

/* --- FRANCESE --- */
html[lang*="fr"] label[for="payment-option-7"]::before { content: "Paiement Rapide (Cartes enregistrees)"; }
html[lang*="fr"] label[for="payment-option-2"]::before { content: "PayPal : Payez en 3 fois sans frais"; }
html[lang*="fr"] label[for="payment-option-9"]::before { content: "Virement bancaire anticipe"; }
html[lang*="fr"] label[for="payment-option-8"]::before { content: "Paiement a la livraison"; }

/* --- SPAGNOLO --- */
html[lang*="es"] label[for="payment-option-7"]::before { content: "Pago Rapido (Tarjetas guardadas)"; }
html[lang*="es"] label[for="payment-option-2"]::before { content: "PayPal: Paga en 3 plazos"; }
html[lang*="es"] label[for="payment-option-9"]::before { content: "Transferencia bancaria anticipada"; }
html[lang*="es"] label[for="payment-option-8"]::before { content: "Pago contra reembolso"; }

/* --- TEDESCO --- */
html[lang*="de"] label[for="payment-option-7"]::before { content: "Schnelle Kasse (Gespeicherte Karten)"; }
html[lang*="de"] label[for="payment-option-2"]::before { content: "PayPal: Ratenzahlung"; }
html[lang*="de"] label[for="payment-option-9"]::before { content: "Vorauskasse per Bankueberweisung"; }
html[lang*="de"] label[for="payment-option-8"]::before { content: "Nachnahme"; }

/* ============================================================
   3. MOBILE
   ============================================================ */
@media (max-width: 767px) {
    label[for*="payment-option"]::before { font-size: 0.85rem !important; }
    .payment-option { display: flex !important; align-items: center !important; padding: 12px 0 !important; }
    .payment-option img { max-height: 18px !important; width: auto !important; flex-shrink: 0; }
}





/* ============================================================
   FIX UNIVERSALE PER TUTTI I BOX INFORMATIVI
   ============================================================ */

/* 1. Diamo un ordine di base a tutti i box (molto alto, così vanno in fondo di default) */
[id*="-additional-information"] {
    order: 101 !important;
}

/* 2. Agganciamo chirurgicamente ogni box al suo titolo specifico */
#payment-option-1-additional-information { order: 1 !important; }
#payment-option-3-additional-information { order: 2 !important; }
#payment-option-4-additional-information { order: 3 !important; }
#payment-option-5-additional-information { order: 4 !important; }
#payment-option-6-additional-information { order: 5 !important; }
#payment-option-7-additional-information { order: 7 !important; } /* Nexi */
#payment-option-2-additional-information { order: 8 !important; } /* PayPal 3 rate */
#payment-option-9-additional-information { order: 90 !important; } /* Bonifico */
#payment-option-8-additional-information { order: 99 !important; } /* Contrassegno */

/* 3. Evitiamo sovrapposizioni visive */
.payment-option {
    margin-bottom: 5px !important;
}

FIX NEXI: ORDINE CORRETTO SENZA FORZARE DISPLAY
   ============================================================ */

/* 1. Titolo Carte (Nexi) */
.payment-options > div:has(#payment-option-3-container) { 
    order: 2 !important; 
}

/* 2. Il Box Nexi (Solo l'ordine, lasciamo la visibilità a PrestaShop) */
#pay-with-payment-option-3-form { 
    order: 2 !important; 
    /* Rimuoviamo display: block !important per farlo sparire quando non selezionato */
    margin-left: 0 !important;
}

/* 3. Stile del box solo quando è APERTO (PrestaShop toglie .ps-hidden) */
#pay-with-payment-option-3-form:not(.ps-hidden) {
    background: #fcfcfc !important;
    padding: 15px !important;
    border: 1px solid #eee !important;
    margin-bottom: 20px !important;
}

/* ============================================================
   PAGINA CHECKOUT ROUNDED STYLE
   ============================================================ */
.nav-item .nav-link.active[aria-controls="checkout-login-form"][aria-expanded="true"]{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  color: #2d3436;
  background: #9dffa0;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}
.nav-item .nav-link[aria-controls="checkout-login-form"][aria-expanded="false"]{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  color: #2d3436;
  background: #fff;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}

.nav-item .nav-link[aria-controls="checkout-guest-form"][aria-expanded="true"]{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  color: #2d3436;
  background: #79adff;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}
.nav-item .nav-link[aria-controls="checkout-guest-form"]{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  color: #2d3436;
  background: #fff;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}

.col-md-6.js-input-column input{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  color: #2d3436;
  background: #fff;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.2s ease;
}
.col-md-6.js-input-column span button{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  color: #2d3436;
  background: #fff;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.2s ease;
}

button.continue.btn.btn-primary.float-xs-right[name="continue"],
button.continue.btn.btn-primary.float-xs-right[name="confirm-addresses"],
button.continue.btn.btn-primary.float-xs-right[name="confirmDeliveryOption"]{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}

.fake-buy-btn.disabled.btn.btn-primary.center-block, #payment-confirmation  button.btn.disabled.btn-primary.center-block{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  background-color: #f6f6f6;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}
.fake-buy-btn.btn.btn-primary.center-block, #payment-confirmation  button.btn.btn-primary.center-block{
  padding: 12px 24px;
  border-radius: 12px;
  background-color: #07306c;
  text-decoration: none;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}
body#checkout #order-summary-content .order-confirmation-table, 
body#checkout #order-summary-content .summary-selected-carrier, 
.delivery-options .delivery-option.js-delivery-option,
.order-options #delivery textarea,
#delivery-addresses article, 
#invoice-addresses article{
  padding: 12px 24px;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 6px 6px 12px #c5cccf, -6px -6px 12px #ffffff;
  transition: all 0.4s ease;
}


