/* ==========================================================================
   RUNGIMODELS - CSS personalizzato (tema leo_cameri_elements)
   Colori brand: verde #69C332 / verde chiaro #7ED321 / grafite #111517
   Raggio standard degli angoli: 16px
   ========================================================================== */

p {font-size:0.9rem; margin-bottom:0.9rem;}
h1 {font-size:2rem; margin-bottom:0.9rem;}
h2 {font-size:1.5rem; margin-bottom:0.9rem;}
h3 {font-size:1.3rem; margin-bottom:0.9rem;}
h4 {font-size:1rem; margin-bottom:0.9rem;}
h5 {font-size:1rem; margin-bottom:0.9rem;}
h6 {font-size:1rem; margin-bottom:0.9rem;}
li {font-size:0.9rem;}

.page-content.page-cms {padding: 0.5rem;text-align: left;}
.pagination #pagination_summary {font-size:0.9rem}


/* ==========================================================================
   1. ELEMENTI GENERALI (pulsanti, campi, avvisi, card, finestre modali)
   ========================================================================== */

/* Campi dei form */
.form-control {color: #0F1112; background: #fff;}
.form-control-comment {display:none;}
.form-control-select {background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAQAAAD9CzEMAAAAPklEQVR4Ae3TwREAEBQD0V/6do4SXPZg7EsBhsQ8IEmSMOsiuEfg3gL3oXC7wK0bd1G4o8X9F4yIkyQfSrIByQBjp7QuND8AAAAASUVORK5CYII=") no-repeat scroll right 0.5rem center/1.25rem 1.25rem}

/* Pulsanti */
.btn-primary {width:100%; border-radius:16px;}
.btn-secondary {font-weight: 400; text-transform: none; border-radius: 16px;}
.btn[disabled]:hover {background: #bdbdbd; border-color: #bdbdbd;}

/* Avvisi, card, modali */
.alert {border-radius:16px;}
.card {border-radius: 16px;}
.modal-content {border-radius:16px;}
.modal-header {border-radius:16px 16px 0px 0px;}
.modal-body {border-radius: 0px 0px 16px 16px;}

/* Titoli di pagina (il secondo nasconde il primo: il centrato non si vede) */
#main .page-header {text-align: center;}
#main .page-header {display: none !important;}


/* ==========================================================================
   2. HEADER, RICERCA E MENU MOBILE
   ========================================================================== */

/* Barra di ricerca */
.header-top .header-logo .col-search #leo_search_block_top {max-width:none !important;}
.header-top .header-logo .col-search #leo_search_block_top form {border: 1px solid #DDE3DE;}
#leo_search_block_top form {border: 1px solid #DDE3DE;}
#leo_search_block_top .leoproductsearch-content .btn {margin:2px; padding: 11px 14px;}
#leo_search_block_top #leo_search_top_button::before {font-size: 14px; color: #111517; font-weight: bold;}

/* Icone informazioni e pulsante menu mobile */
.col-info > div i {font-size:20px;}
.navbar-header .navbar-toggler {font-size: 24px;}

/* Mini carrello a tendina */
.leo-cart-dropdown-action .cart-dropdow-button {width:90%}
.leo-dropdown-cart-content {min-width: 270px; box-shadow: 0 0 50px; border: 1px solid #e5e5e5; border-radius: 16px;}
.leo-dropdown-cart.dropdown.show {margin-top: 25px;}

@media (max-width: 575px) {
  #leo_search_block_top form button[type="submit"] {width: auto;}
}


/* ==========================================================================
   3. SLIDER HOMEPAGE (pulsanti "Vai allo shop" e "Chiedi una consulenza")
   ========================================================================== */

/* --- Desktop --- */
.tp-caption.button1-slide,
.tp-caption.button2-slide {
    position: absolute !important;
    top: 87% !important;
    left: 50% !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
    transform: none !important;
    text-align: center !important;
    text-transform: none !important;
}

/* Pulsante sinistro: Vai allo shop */
.tp-caption.button2-slide {
    margin-left: -270px !important;
}

/* Pulsante destro: Chiedi una consulenza */
.tp-caption.button1-slide {
    margin-left: 10px !important;
}

/* Contenuto interno dei pulsanti */
.tp-caption.button1-slide .caption-contain,
.tp-caption.button2-slide .caption-contain {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    text-align: center !important;
    text-transform: none !important;
    color:#111517;
    border-radius:16px;
}

.button2-slide .caption-contain:hover {background: #FFFFFF;}

/* --- Tablet (fino a 991px) --- */
@media (max-width: 991px) {
  .tp-caption.button1-slide,
  .tp-caption.button2-slide {
      position: absolute !important;
      top: 85% !important;
      left: 50% !important;
      width: 320px !important;
      min-width: 260px !important;
      max-width: 320px !important;
      height: 56px !important;
      margin: 0 !important;
      padding: 0 !important;
      float: none !important;
      box-sizing: border-box !important;
      transform: none !important;
      text-align: center !important;
      text-transform: none !important;
  }

  .tp-caption.button2-slide {margin-left: -330px !important;}

  .tp-caption.button1-slide .caption-contain,
  .tp-caption.button2-slide .caption-contain {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 56px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      text-align: center !important;
      text-transform: none !important;
      color:#111517;
      font-size:24px;
  }
}

/* --- Telefono (fino a 767px) --- */
@media (max-width: 767px) {
  .tp-caption.button1-slide,
  .tp-caption.button2-slide {
      position: absolute !important;
      top: 85% !important;
      left: 50% !important;
      width: 300px !important;
      min-width: 260px !important;
      max-width: 300px !important;
      height: 56px !important;
      margin: 0 !important;
      padding: 0 !important;
      float: none !important;
      box-sizing: border-box !important;
      transform: none !important;
      text-align: center !important;
      text-transform: none !important;
  }

  .tp-caption.button2-slide {margin-left: -310px !important;}

  .tp-caption.button1-slide .caption-contain,
  .tp-caption.button2-slide .caption-contain {
      position: absolute !important;
      top: 0 !important;
      left: 0 !important;
      width: 100% !important;
      height: 56px !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      box-sizing: border-box !important;
      text-align: center !important;
      text-transform: none !important;
      color:#111517;
      font-size:22px;
  }
}


/* ==========================================================================
   4. ELENCO PRODOTTI (card nelle liste e nelle categorie)
   ========================================================================== */

/* Griglia */
.product_list.grid .ajax_block_product {
  clear: none;
  padding-left: 7px;
  padding-right: 7px;
}

/* Card: bordo e hover */
.leo-plist-style-10 .thumbnail-container {border: 1px solid #EEEEEE;}
.leo-plist-style-10 .thumbnail-container:hover {border: 1px solid #7ED321; box-shadow: 0 5px 10px 1px #ece9e9;}

/* Immagine */
.thumbnail-container .product-image {border-bottom: 1px solid #eee;}
.thumbnail-container .product-image img {border-radius: 16px 16px 0px 0px;}

/* Titolo e fascia inferiore */
.leo-plist-style-10 .thumbnail-container .product-title a {-webkit-line-clamp: 2; min-height:50px; font-size:14px;}
.leo-plist-style-10 .thumbnail-container .product-meta {background: #F4F6F4; border-radius: 0px 0px 15px 15px;}

/* Prezzo barrato */
.thumbnail-container .product-price-and-shipping .regular-price {margin: 0 2px 0 0; font-size: 11px;}

/* Pulsante "Aggiungi al carrello" della card */
.leo-plist-style-10 .thumbnail-container .cart {opacity: 1; visibility: visible;}
.leo-plist-style-10 .thumbnail-container .functional-buttons .add-to-cart i::before {content: "\f290";}
.thumbnail-container .btn {border-radius: 16px; margin-top: 7px; background: #111517; color: #FFF;}
.thumbnail-container .btn:hover {background: #69C332;}
.thumbnail-container .btn.disabled,
.thumbnail-container .btn:disabled,
.thumbnail-container .btn[disabled] {background: #bdbdbd; border-color: #bdbdbd; color: #ffffff; cursor: not-allowed; opacity: 0.7;}

/* Etichette (flag) sopra l'immagine */
.product-flags {top:8px; left:8px; display: flex; flex-direction: row;}
.product-flags li.product-flag {padding:3px 5px; font-size:10px; margin-right:3px;}
.product-flags .product-flag.online-only {order: 1; border-radius: 10px;}
.product-flags .product-flag.discount {order: 2; border-radius: 10px;}
.product-flags .product-flag.out_of_stock {display:none;}


/* ==========================================================================
   5. CATEGORIA E FILTRI
   ========================================================================== */

.block-categories {display:none;}
#js-product-list-header {display:none;}

.sidebar #search_filters {border-radius: 16px;}
#category .sidebar #search_filters .facet {border-radius: 16px;}

@media (max-width: 768px) {
  #category .sidebar #search_filters .facet .h6 {margin-left: 16px; border: none; padding: 0.625rem 0rem;}
}


/* ==========================================================================
   6. SCHEDA PRODOTTO
   ========================================================================== */

/* Quantità e pulsante aggiungi */
.product-quantity #quantity_wanted {border-radius:16px;}
.product-add-to-cart .add-to-cart {border-radius:16px;}

/* Avviso disponibilità */
.product-availability .alert {padding: 12px 16px; margin-bottom: 1rem; border-radius: 16px;}
.product-availability .alert-content-wrapper {display: flex; flex-direction: row; align-items: center; gap: 10px;}
.product-availability .alert-content-wrapper .material-icons {font-size: 26px; line-height: 1; display: block;}
.product-availability .alert-content-wrapper > div:last-child {font-weight: 600; line-height: 1.3;}
.product-availability .alert-content-wrapper small {display: block; font-weight: 400; opacity: .8;}

/* Prodotti correlati / accessori */
.product-accessories {padding: 30px 0px 30px;}


/* ==========================================================================
   7. CARRELLO E CODICI PROMO
   ========================================================================== */

.card-block.checkout .btn-primary {width:100%}
.discount-amount.discount-product {display: none !important;}
.cart-item {border-bottom: 1px solid #eee;}

/* Riquadro codice promo */
.cart-voucher {background:#f6f6f6; padding-top:1.25rem; border-radius:16px;}
.block-promo .promo-code {border-radius: 16px;}
.block-promo .promo-input {border-radius: 16px;}
.block-promo .promo-input + button {width:auto;}
.block-promo .promo-code-button {
  padding: 7px;
  margin-left: 20px;
  display: inline-block;
  border: 1px solid #69C332;
  border-radius: 16px;
  background: #fff;
}
.block-promo .cancel-promo {margin:10px 0px 0px 0px;}
.block-promo .promo-name {color: #69C332; background: #f6f6f6; border-radius:16px;}
.block-promo .cart-summary-line .label,
.block-promo .promo-name {color: #69C332;}


/* ==========================================================================
   8. CHECKOUT
   ========================================================================== */

body#checkout section.checkout-step {border-radius:16px;}
body#checkout .btn.btn-primary,
body#authentication .btn.btn-primary,
body#registration .btn.btn-primary,
body#address .btn.btn-primary {border-radius:16px;}

body#checkout a:hover {color: #69C332;}

/* Riepilogo ordine */
body#checkout #order-summary-content .summary-selected-carrier {border-radius: 16px;}
body#checkout #order-summary-content #order-items {display:none;}

/* Riquadro informazioni aggiuntive */
body#checkout .additional-information {margin-left: 0; padding: 15px; border-radius: 16px; background: #e3f1cc;}
body#checkout .additional-information p {font-size: 0.9em}


/* ==========================================================================
   9. ACCOUNT, LOGIN E REGISTRAZIONE
   ========================================================================== */

/* Form cliente */
#customer-form {margin-top:25px;}
.form-group:has(input[name="id_gender"]) {display: none !important;}   /* nasconde "Titolo" (Sig./Sig.ra) */
button[data-link-action="save-customer"] {width: 100% !important;}
button[data-link-action="sign-in"] {width: 100% !important;}
button[data-link-action="register-new-customer"] {width: 100% !important;}

/* Pagine dell'area cliente */
.page-customer-account #content {max-width: 640px; margin: 0 auto; border-radius:16px;}
.page-my-account #content .links a span.link-item {border-radius:16px;}
#my-account .page-footer a {border-radius:16px;}


/* ==========================================================================
   10. AGGIUSTAMENTI DA 992px A 1024px
   ========================================================================== */

/* Forza modalità tablet tra 992px e 1024px */
@media (min-width: 992px) and (max-width: 1024px) {
    body .navbar-toggleable-md {
        display: none !important;
    }
}

/* Modalità desktop da 1025px */
@media (min-width: 1025px) {
    body .navbar-toggleable-md {
        display: block !important;
    }
}

@media (max-width: 1025px) and (min-width: 480px) {
  .off-canvas-nav-megamenu {
    width: 90%;
    max-width: 390px;
  }
}

@media (min-width: 1025px) {
  .off-canvas-nav-megamenu {
    display: none !important;
  }
}

/* Hamburger visibile tra 992 e 1024px */
@media (min-width: 992px) and (max-width: 1024px) {
    .leo-megamenu .navbar-toggler {
        display: block !important;
    }
}

@media (min-width: 992px) {
  .off-canvas-nav-megamenu {
    display: block;
  }
}

/* Carrello: nasconde anteprima fino a 1024px */
@media (max-width: 1024px) {
    #_desktop_cart .leo-dropdown-cart {
        display: none !important;
    }
}