/* Custom code goes here - paste your css code below in line 3 */

div#invoice-addresses.address-selector.js-address-selector h2.h4 {
    display: block;
    width: 100%;
}

div.delivery-options-list form#js-delivery.clearfix div.form-fields div.order-options div#delivery {
    display: none;
}

#invoice-address .form-group.row:has(#field-vat_number) { display: none; }

.page-addresses .address {
  margin-bottom: 20px;
  width: 48%;
  float: left;
  margin: 1%;
}


.address-alias {
   display: none !important;
}

@media (min-width: 768px) {

	div#homepage-slider {

	  width: 60%;

	  float: left;

	}


	div#angarbanners_top {

	  float: right;

	  width: 40%;

	  clear: none;

	  margin-top: 0;

	  padding-left: 0px !important;

	}

}

#angarbanners_home ul li {

width: 50%

}

#angarbanners_home {

padding: 0 15px;

}


#cms-page-4 .page-header h1 {
  display: none;
}

body#cms #main h1,
.page-cms h1,
#cms-page-4 h1.page-title,
#cms-page-4 .page-header h1 {
  display: none !important;
}
#cms-page-4 .page-header {
  display: none;
}

#cms-page-4 nav.breadcrumb {
  display: none !important;
}

#cms-page-4 #content-wrapper {
  padding-top: 0 !important;
}

#cms-page-4 .page-content {
  margin-top: 0 !important;
}

.beltom-priorita {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
}

.beltom-priorita .item {
  width: 25%;
  padding: 20px 15px;
  box-sizing: border-box;
}

.beltom-priorita i {
  font-size: 38px;
  margin-bottom: 12px;
  display: block;
}

.beltom-priorita h3 {
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 10px 0;
}

.beltom-priorita p {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  color: #444;
}

/* TABLET */
@media (max-width: 991px) {
  .beltom-priorita .item {
    width: 50%;
  }
}

/* MOBILE */
@media (max-width: 575px) {
  .beltom-priorita .item {
    width: 100%;
  }
}
.beltom-priorita .item:nth-child(1) i { color: #2ecc71; }
.beltom-priorita .item:nth-child(2) i { color: #3498db; }
.beltom-priorita .item:nth-child(3) i { color: #34495e; }
.beltom-priorita .item:nth-child(4) i { color: #e67e22; }

.beltom-hero {
  width: 100%;
  height: 350px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 70px;
}
@media (max-width: 768px) {
  .beltom-chi-wrap {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .beltom-chi-table,
  .beltom-chi-table tbody,
  .beltom-chi-table tr,
  .beltom-chi-table td {
    display: block;
    width: 100% !important;
  }

  .beltom-chi-left {
    padding-right: 0 !important;
    margin-bottom: 20px;
    text-align: center !important;
  }

  .beltom-chi-right {
    text-align: left !important;
  }
}

@media (max-width: 768px) {
  .beltom-scelta-table,
  .beltom-scelta-table tbody,
  .beltom-scelta-table tr,
  .beltom-scelta-col {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .beltom-scelta-table {
    border-spacing: 0 !important;
  }

  .beltom-scelta-col {
    margin-bottom: 20px;
  }
}

.beltom-motto {
  font-size: 34px;
  font-weight: bold;
  color: #111;
  margin-bottom: 18px;
  line-height: 1.3;
}

/* MOBILE */
@media (max-width: 768px) {
  .beltom-motto {
    font-size: 24px;
    line-height: 1.4;
    padding: 0 10px;
  }
}

.contact-rich .block:nth-of-type(1) .icon i {
  color: #e74c3c !important;
}

.contact-rich .block:nth-of-type(2) .icon i {
  color: #3498db !important;
}

.contact-rich .block:nth-of-type(3) .icon i {
  color: #25D366 !important;
}

.contact-rich .block:nth-of-type(4) .icon i {
  color: #f39c12 !important;
}
.where-we-are-section {
  max-width: 1320px;
  margin: 0 auto;
  padding: 40px 20px;
}

.where-we-are-hero {
  display: flex;
  gap: 60px;
  align-items: stretch;
  margin-bottom: 40px;
}

.where-we-are-left {
  flex: 0 0 35%;
  display: flex;
}

.where-we-are-left-inner {
  display: flex;
  align-items: center;
}

.where-we-are-left .big-text {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #ff5722;
  margin: 0;
}

.where-we-are-right {
  flex: 0 0 65%;
}

.where-we-are-right p {
  font-size: 16px;
  line-height: 1.7;
  color: #222;
  margin: 0 0 18px;
}

.where-we-are-info {
  border-top: 1px solid #e8e8e8;
  padding-top: 28px;
  display: flex;
  gap: 60px;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

.where-we-are-info > div {
  flex: 1 1 0;
  min-width: 260px;
}

@media (max-width: 767px) {
  .where-we-are-info {
    display: block;
  }

  .where-we-are-info > div {
    width: 100%;
    margin-bottom: 20px;
  }

  .where-we-are-info > div:last-child {
    margin-bottom: 0;
  }
}

.where-we-are-info h3 {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 700;
  color: #111;
}

.where-we-are-info p,
.where-we-are-info li {
  font-size: 16px;
  line-height: 1.7;
  color: #222;
}

.where-we-are-info p {
  margin: 0 0 18px;
}

.where-we-are-info ul {
  margin: 0;
  padding-left: 20px;
}

.where-we-are-info a {
  text-decoration: none;
}

.where-we-are-info a:hover {
  text-decoration: underline;
}

@media (max-width: 991px) {
  .where-we-are-hero {
    gap: 35px;
  }

  .where-we-are-left .big-text {
    font-size: 20px;
	 color: #ff5722; /* qui */
  }

  .where-we-are-right p,
  .where-we-are-info p,
  .where-we-are-info li {
    font-size: 16px;
  }

  .where-we-are-info h3 {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .where-we-are-section {
    padding: 30px 15px;
  }

  .where-we-are-hero {
    display: block;
    margin-bottom: 30px;
  }

  .where-we-are-left,
  .where-we-are-right {
    width: 100%;
    display: block;
  }

  .where-we-are-left {
    margin-bottom: 18px;
  }

  .where-we-are-left-inner {
    display: block;
  }

  .where-we-are-left .big-text {
    font-size: 20px;
    line-height: 1.35;
	 color: #ff5722; /* qui */
  }

  .where-we-are-right p,
  .where-we-are-info p,
  .where-we-are-info li {
    font-size: 14px;
    line-height: 1.65;
  }

  .where-we-are-info {
    padding-top: 22px;
  }
}

/* Product carusele */
div#tab-content .tab-pane {
position: relative;
}

div#tab-content .products {
margin: 2px -8px!important;
}

div#tab-content .products .product-miniature {
clear: none;
}

div#tab-content .slider-btn {
font-weight: normal;
text-align: center;
width: 40px;
height: 40px;
line-height: 40px;
font-size: 30px;
background: #7f7f7f;
border-radius:3px;
position: absolute;
z-index: 9;
margin-top: 120px;
left: 24px;
}

div#tab-content .slider-btn.slider-btn-right {
left: initial;
right: 24px;
}

div#tab-content .slider-btn a {
display: block;
color: #fff;
}

div#tab-content .slider-btn a.disabled {
display: none;
}

div#tab-content .slider-btn a:hover {
text-decoration: none;
}

div#tab-content .all-product-link {
margin-bottom: 20px;
}

/* Search bar - fixed */
@media (min-width: 768px) {
.stickymenu_yes.sticky_menu div#_desktop_search_widget {
	position: fixed;
	right: 0;
	top: 0;
	padding: 2px;
	z-index: 99;
	}
}
.titolo-bordato {
  text-align: center;
  font-size: 40px !important;
  color: #ffffff !important;
}

.testo-bordato {
  font-size: 17px;
  color: #ffffff !important;
}

#angarinfo_block {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

#angarinfo_block .container {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
#angarinfo_block {
  border-radius: 3px;
  overflow: hidden;
}
#angarinfo_block .col-xs-3 {
  box-sizing: border-box;
  text-align: center;
  
  min-height: 130px;      /* più bassi */
  border-radius: 3px !important;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* icona */
#angarinfo_block .icon_cms {
  display: block;
  font-size: 32px;
  line-height: 1;
  margin: 0 0 14px 0;
  color: #2d84da;
}

/* nasconde la parola "icon" */
#angarinfo_block .icon_cms span {
  display: none;
}

/* titolo */
#angarinfo_block h3 {
  font-size: 17px;
  font-weight: 700;
  color: #111;
  margin: 0 0 10px 0;
  text-transform: uppercase;
}

/* testo */
#angarinfo_block p {
  font-size: 14px;
  line-height: 1.5;
  color: #555;
  margin: 0;
}

/* evita che il CSS dei paragrafi rovini l'icona */
#angarinfo_block p.icon_cms {
  color: #2d84da;
}

@media (min-width: 576px) and (max-width: 991px) {
  #angarinfo_block .container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
    justify-content: center !important;
  }

  #angarinfo_block .col-xs-3 {
    float: none !important;
    width: calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    margin: 0 !important;
  }
}
@media (max-width: 575px) {
  #angarinfo_block .container {
    display: block !important;
    padding-bottom: 20px !important;
  }

  #angarinfo_block .col-xs-3 {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 auto 15px auto !important;
    padding: 20px 15px !important;
    min-height: auto !important;
  }

  #angarinfo_block .icon_cms {
    font-size: 26px !important;
    text-align: center !important;
  }

  #angarinfo_block h3,
  #angarinfo_block p {
    text-align: center !important;
  }
}
/* =========================
   CMS SYSTEM
========================= */

body#contact .beltom-hero-contatti {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cms-custom {
  color: #222;
}

.cms-page {
  max-width: 1320px;
  margin: 0 auto;
  padding: 24px 20px;
  color: #222;
}

.cms-banner {
  margin: 0 0 25px;
  line-height: 0;
}

.cms-banner img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 1900px;
  margin: 0 auto;
}

.cms-hero {
  text-align: center;
  margin-bottom: 28px;
}

.cms-hero h1 {
  display: block !important;
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.2;
  color: #111;
}

.cms-hero p {
  margin: 0;
  font-size: 16px !important;
  line-height: 1.6;
  color: #666;
}

.cms-card {
  display: block;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: none;
}

.cms-card-muted {
  background: #f8f8f8;
}

.cms-card-alert {
  background: #fff6ec;
  border-color: #f0d8b5;
}

.cms-card h2 {
  margin-top: 0;
  margin-bottom: 16px;
  font-size: 22px;
  line-height: 1.3;
  color: #111;
}

.cms-card h3 {
  margin: 18px 0 10px;
  font-size: 18px;
  line-height: 1.4;
  color: #222;
}

.cms-card p {
  margin: 0 0 14px;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #222;
}

.cms-card p:last-child {
  margin-bottom: 0;
}

.cms-list {
  margin: 0 0 14px;
  padding-left: 20px;
}

.cms-list li {
  margin-bottom: 0;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #222;
}

.cms-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.cms-note {
  background: #fff;
  border: 1px dashed #d6b07a;
  padding: 15px;
  text-align: center;
  font-weight: 700;
  margin: 15px 0;
  border-radius: 0;
  font-size: 17px;
  line-height: 1.5;
  color: #111;
}

.cms-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.cms-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: #fff;
}

.cms-table th,
.cms-table td {
  border: 1px solid #e5e5e5;
  padding: 12px 10px;
  text-align: left;
  vertical-align: top;
  font-size: 14px;
  line-height: 1.5;
}

.cms-table th {
  background: #f3f3f3;
  font-weight: 700;
  color: #111;
}

.cms-example {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  padding: 16px;
  margin: 14px 0;
  font-size: 15px;
  line-height: 1.7;
  color: #333;
}

.cms-intro {
  font-size: 18px;
  line-height: 1.9;
  color: #555;
  margin-bottom: 0;
}

/* PRIVACY narrow */
.cms-narrow {
  max-width: 900px;
  margin: 60px auto 80px auto;
  padding: 0 20px;
}

.cms-section {
  margin-bottom: 50px;
}

.cms-section h2 {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #111;
}

.cms-section p {
  font-size: 16px;
  line-height: 1.9;
  color: #444;
  margin-bottom: 20px;
}

.cms-section p:last-child {
  margin-bottom: 0;
}

/* MOBILE */
@media (max-width: 767px) {
  .cms-page {
    padding: 16px 12px;
  }

  .cms-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .cms-hero {
    margin-bottom: 18px;
  }

  .cms-hero h1 {
    font-size: 26px;
  }

  .cms-hero p {
    font-size: 16px !important;
    line-height: 1.5;
  }

  .cms-card {
    padding: 18px;
    border-radius: 3px;
    margin-bottom: 16px;
  }

  .cms-card h2 {
    font-size: 20px;
    margin-bottom: 12px;
  }

  .cms-card h3 {
    font-size: 17px;
    margin: 16px 0 8px;
  }

  .cms-card p,
  .cms-list li {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .cms-note {
    font-size: 15px;
    padding: 12px;
    margin: 14px 0;
  }

  .cms-table th,
  .cms-table td {
    font-size: 13px;
    padding: 10px 8px;
  }

  .cms-narrow {
    margin: 30px auto 40px auto;
    padding: 0 15px;
  }

  .cms-section {
    margin-bottom: 35px;
  }

  .cms-section h2 {
    font-size: 24px;
    margin-bottom: 14px;
  }

  .cms-section p,
  .cms-section .cms-list li {
    font-size: 15px;
    line-height: 1.75;
  }

  .cms-example {
    font-size: 15px;
    line-height: 1.65;
  }
}

@media (max-width: 480px) {
  .cms-hero h1 {
    font-size: 23px;
  }

  .cms-example {
    font-size: 14px;
    line-height: 1.6;
  }

  .cms-note {
    font-size: 14px;
    line-height: 1.4;
  }
}

.beltom-hero-desktop {
  display: block;
  width: 100%;
  height: auto;
}

.beltom-hero-mobile {
  display: none;
  width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .beltom-hero-desktop {
    display: none !important;
  }
  
  .beltom-hero {
  height: 200px
}

  .beltom-hero-mobile {
    display: block !important;
  }
}

.thumbnail-container {
  border-radius: 3px !important;
  overflow: hidden;
}

/* Banners - homecontent */
#angarbanners_homecontent ul li:nth-child(1),
#angarbanners_homecontent ul li:nth-child(2) {
width: 50%;
}


/* Home product slider - responsive */
/*
div#tab-content .products article {
	width: 314px!important;
}

@media (max-width: 1800px) {
	div#tab-content .products article {
		width: 294px!important;
	}
}

@media (max-width: 1600px) {
	div#tab-content .products article {
		width: 264px!important;
	}
}

@media (max-width: 1400px) {
	div#tab-content .products article {
		width: 228px!important;
	}
}

@media (max-width: 1200px) {
	div#tab-content .products article {
		width: 236px!important;
	}
}

@media (max-width: 992px) {
	div#tab-content .products article {
		width: 240px!important;
	}
}

@media (max-width: 768px) {
	div#tab-content .products article {
		width: 246px!important;
	}
}

@media (max-width: 480px) {
	div#tab-content .products article {
		width: 226px!important;
	}
}
*/

.btn,
a.whatsapp_button {
    border-radius: 3px !important;
}

#product .images-container,
#product .product-cover,
#product .product-information,
#product .thumb-container,
.cart-item,
.product-line-grid,
.js-cart-line-product,
.checkout-step,
.card,
.cart-summary {
    border-radius: 3px !important;
    overflow: hidden !important;
}
img.thumb.js-thumb {
    border-radius: 3px !important;
}

.blockreassurance_product {
    border-radius: 3px !important;
    overflow: hidden !important; /* fondamentale */
}

#order-summary-content,
#order-summary-content .cart-item,
#order-summary-content .order-confirmation-table,
#order-summary-content table,
#order-summary-content .table,
#content-hook_order_confirmation .card,
#content-hook_order_confirmation .box,
#content-hook_order_confirmation .summary,
.js-cart,
.cart-summary,
.cart-grid-body,
.cart-grid-right {
    border-radius: 3px !important;
    overflow: hidden !important;
}

.summary-selected-carrier {
    border-radius: 3px !important;
    overflow: hidden !important;
}

.row.delivery-option {
    border-radius: 3px !important;
    overflow: hidden !important;
}

.payment-options .payment-option {
    display: flex !important;
    align-items: center !important;
    min-height: 42px;
}

.payment-options .payment-option input[type="radio"] {
    margin-right: 12px !important;
}

.payment-options .payment-option label {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
    margin: 0;
}

/* CONTENITORE GENERALE */
.payment-option {
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  padding: 12px 15px;
  margin-bottom: 10px;
  transition: all 0.2s ease;
  background: #fff;
}

/* HOVER */
.payment-option:hover {
  border-color: #007bff;
  background: #f8fbff;
}

/* SELEZIONATO */
.payment-option input:checked + span + form + label,
.payment-option input:checked + span + label {
  font-weight: 600;
}

.payment-option input:checked ~ label {
  color: #000;
}

/* BOX ATTIVO */
.payment-option input:checked {
}

.payment-option input:checked ~ label {
}

/* EVIDENZIA TUTTO IL BOX QUANDO SELEZIONATO */
.payment-option input:checked ~ * {
}

.payment-option input:checked {
}

/* TRUCCO PER BOX ATTIVO */
.payment-option input:checked + span::after {
}

.payment-option input:checked ~ label::before {
}

/* VERSIONE MIGLIORE */
.payment-option:has(input:checked) {
  border-color: #007bff;
  background: #eef6ff;
}

/* RADIO ALIGN */
.payment-option .custom-radio {
  margin-top: 5px;
}

/* TESTO + ICONA ALLINEATI */
.payment-option label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}
/* ============================================
   ICONE METODI DI PAGAMENTO (gestite via JS)
   ============================================ */

/* Stile delle icone custom inserite via JS */
.payment-option .custom-payment-icon {
  height: 32px;
  width: auto;
  max-width: 90px;
  margin-left: 12px;
  vertical-align: middle;
  display: inline-block;
  object-fit: contain;
  transition: transform 0.2s ease;
}

/* Layout label: nome metodo a sinistra, icona a destra */
.payment-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
  margin: 0;
  cursor: pointer;
}

.payment-option label > span:first-child {
  flex: 1;
}

@media (max-width: 768px) {
  .beltom-hero-contatti {
    padding: 0 15px;
  }

  .beltom-hero-contatti .hero-desktop {
    display: none;
  }

  .beltom-hero-contatti .hero-mobile {
    display: block;
    height: 160px;
    object-fit: cover;
    object-position: center;
  }
}

.beltom-shipping-page .beltom-grid {
  margin-top: -15px;
}

.beltom-shipping-page .beltom-grid:first-of-type {
  margin-top: -15px;
}
.payment-option-wrapper .payment-option {
  margin-bottom: 0 !important;
}

.payment-option-wrapper .additional-information {
  margin-top: -1px;
  margin-left: 0 !important;
  width: 100%;
  box-sizing: border-box;

  padding: 14px 15px 14px 44px;
  border: 1px solid #007bff;
  border-top: 0;
  background: #eef6ff;

  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}

.payment-option-wrapper .additional-information p {
  margin: 8px 0 0;
}

/* =========================
   BLOCCO APERTO (BOX BLU)
========================= */

.payment-option-wrapper {
  margin-bottom: 12px;
}

.payment-option-wrapper .payment-option {
  margin-bottom: 0 !important;
}

.payment-option-wrapper .additional-information {
  margin-top: -1px;
  width: 100%;
  padding: 14px 15px 14px 44px;
  border: 1px solid #007bff;
  border-top: none;
  background: #eef6ff;
  border-radius: 0 0 3px 3px;
}

.payment-option-wrapper:has(input:checked) .payment-option {
  border-bottom: 1px solid #007bff !important;
  border-top-left-radius: 3px !important;
  border-top-right-radius: 3px !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

/* Centra contenuto colonne spedizione */
/* DESKTOP */
#order-summary-content .summary-selected-carrier > .row {
  display: flex;
  align-items: center;
}

#order-summary-content .summary-selected-carrier > .row > div {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#order-summary-content .summary-selected-carrier img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

/* MOBILE */
@media (max-width: 767px) {
  #order-summary-content .summary-selected-carrier > .row {
    display: block !important;
  }

  #order-summary-content .summary-selected-carrier > .row > div {
    display: block !important;
    width: 100% !important;
    max-width: 220px;
    margin: 0 auto 8px auto !important;
    float: none !important;
    text-align: left !important;
  }

  #order-summary-content .summary-selected-carrier > .row > div:first-child {
    text-align: center !important;
  }

  #order-summary-content .summary-selected-carrier img {
    max-width: 110px !important;
    height: auto !important;
    margin: 0 auto 10px auto !important;
  }
}

1.You can add to the custom.css this code:


@media (max-width: 767px) {

	#angarbanners_homecontent ul li {

	width: 100%;

	}

	#angarbanners_homecontent ul li:nth-child(1),

	#angarbanners_homecontent ul li:nth-child(2) {

	width: 50%;

	}

}

@media (max-width: 767px) {

	#angarbanners_homecontent ul li {
		width: 100%;
	}
	#angarbanners_homecontent ul li:nth-child(1),

	#angarbanners_homecontent ul li:nth-child(2) {
		width: 100%;
	}
}

@media (max-width: 767px) {

#angarbanners_home ul li {

width: 100%;

}

}

.beltom-hero-fix {
  margin-top: 0;
}

/* TABLET */
@media (min-width: 768px) and (max-width: 991px) {
  .beltom-hero-fix {
    margin-top: -200px !important;
  }
}

/* DESKTOP */
@media (min-width: 992px) {
  .beltom-hero-fix {
    margin-top: -130px !important;
  }
}

/* ===== SITEMAP STYLE ===== */

/* ===== SITEMAP BELTOM ===== */

.btmsite-grid {
  margin-bottom: 28px;
}

.btmsite-grid .cms-card {
  height: 100%;
  padding: 26px 28px;
}

.btmsite-grid .cms-card h2 {
  margin-bottom: 18px;
  font-size: 22px;
  line-height: 1.3;
}

.sitemap-list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.sitemap-list > li {
  margin-bottom: 10px;
}

/* link principali */
.sitemap-list > li > a,
.sitemap-list > li > a.main-link {
  display: inline-block;
  font-weight: 600;
  color: #111;
  text-decoration: none;
  transition: all 0.2s ease;
}

.sitemap-list > li > a:hover,
.sitemap-list > li > a.main-link:hover {
  color: #ff5722;
}

/* sottocategorie */
.sitemap-sub {
  list-style: none;
  padding-left: 18px;
  margin: 6px 0 0 0;
  border-left: 2px solid #efefef;
}

.sitemap-sub li {
  margin-bottom: 6px;
}

.sitemap-sub a {
  font-weight: 400;
  color: #555;
  text-decoration: none;
  font-size: 14px;
  line-height: 1.5;
}

.sitemap-sub a:hover {
  color: #ff5722;
}

@media (max-width: 767px) {
  .btmsite-grid {
    margin-bottom: 0;
  }

  .btmsite-grid .cms-card {
    padding: 20px 18px;
  }
}

.btmsite-grid .cms-card {
  background: #ffffff;
  border: 1px solid #eee;
  border-top: 3px solid #ff5722;
  transition: all 0.2s ease;
}

.btmsite-grid .cms-card:hover {
  box-shadow: 0 8px 18px rgba(0,0,0,0.05);
  transform: translateY(-2px);
}

/* SITEMAP FULL ROW */
.sitemap .row {
  display: flex;
  flex-wrap: nowrap; /* NON va a capo */
  gap: 20px;
}

/* TABLET */
@media (max-width: 991px) {
  .sitemap .row {
    flex-wrap: wrap;
  }

  .sitemap .col-md-3 {
    max-width: 50%;
    flex: 0 0 50%;
  }
}

/* MOBILE */
@media (max-width: 575px) {
  .sitemap .col-md-3 {
    max-width: 100%;
    flex: 0 0 100%;
  }
}

/* HERO */
.btmrev-hero img {
  width: 100%;
  display: block;
}

.btmrev-hero-mobile {
  display: none;
}

@media (max-width: 767px) {
  .btmrev-hero-desktop { display: none; }
  .btmrev-hero-mobile { display: block; }
}

/* ===== RIVENDITORI BELTOM ===== */

.btmrev-page .cms-page {
  padding-top: 10px;
}

/* HERO */
.btmrev-hero img {
  width: 100%;
  display: block;
}

.btmrev-hero-mobile {
  display: none;
}

@media (max-width: 767px) {
  .btmrev-hero-desktop {
    display: none;
  }

  .btmrev-hero-mobile {
    display: block;
  }
}

/* ===== LAVORA CON NOI / RIVENDITORI ===== */

/* INTRO */
.btmrev-intro {
  margin-bottom: 34px;
  text-align: center;
}

.btmrev-intro h1 {
  font-size: 42px;
  line-height: 1.1;
  margin-bottom: 16px;
  color: #111;
}

.btmrev-intro .cms-intro {
  max-width: 900px;
  margin: 0 auto 14px auto !important;
  font-size: 20px !important;
  line-height: 1.7 !important;
  color: #444 !important;
}

.btmrev-intro p:not(.cms-intro) {
  max-width: 850px;
  margin-left: auto;
  margin-right: auto;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: #555 !important;
}

/* CONTATORE */
.btmrev-counter-box {
  text-align: center;
  background: linear-gradient(135deg, #fff6ec 0%, #f3e4d7 100%);
  padding: 60px 24px;
  border-radius: 8px;
  margin: 40px 0 34px 0;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
  border: 1px solid #f0dcc6;
}

.btmrev-counter-number {
  font-size: 96px;
  line-height: 1;
  font-weight: 800;
  color: #ff5722;
  margin-bottom: 8px;
}

.btmrev-counter-label {
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
  color: #111;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
}

.btmrev-counter-text {
  max-width: 760px;
  margin: 0 auto !important;
  font-size: 18px !important;
  line-height: 1.75 !important;
  color: #444 !important;
}

/* BOX VANTAGGI */
.btmrev-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin: 0 0 38px 0;
}

.btmrev-card {
  background: #fff;
  border: 1px solid #ececec;
  padding: 30px 24px;
  text-align: center;
  transition: all 0.25s ease;
  border-radius: 8px;
  min-height: 220px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.02);
}

.btmrev-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 34px rgba(0,0,0,0.08);
}

.btmrev-card i {
  font-size: 36px;
  color: #ff5722;
  margin-bottom: 16px;
}

.btmrev-card h3 {
  font-size: 22px;
  line-height: 1.25;
  margin: 0 0 12px 0;
  color: #111;
}

.btmrev-card p {
  font-size: 15px;
  line-height: 1.7;
  color: #555;
  margin: 0;
}

/* COME FUNZIONA */
.btmrev-steps-wrap {
  background: #fff;
  border: 1px solid #ececec;
  padding: 38px 24px;
  margin: 0 0 38px 0;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.02);
}

.btmrev-steps-wrap h2 {
  margin: 0 0 28px 0;
  font-size: 34px;
  line-height: 1.2;
  color: #111;
}

.btmrev-steps {
  display: flex;
  justify-content: center;
  gap: 22px;
  flex-wrap: wrap;
}

.btmrev-step {
  width: 180px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.btmrev-step-num {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff6a2a 0%, #ff5722 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 800;
  margin-bottom: 14px;
  box-shadow: 0 12px 24px rgba(255, 87, 34, 0.22);
}

.btmrev-step span {
  display: block;
  font-size: 15px;
  line-height: 1.45;
  color: #333;
  font-weight: 600;
}

/* CTA FINALE */
.btmrev-cta {
  background: linear-gradient(135deg, #ff6a2a 0%, #ff5722 100%);
  color: #fff;
  padding: 46px 28px;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 16px 34px rgba(255, 87, 34, 0.22);
}

.btmrev-cta h2 {
  color: #fff;
  margin: 0 0 14px 0;
  font-size: 36px;
  line-height: 1.2;
}

.btmrev-cta p {
  color: #fff;
  font-size: 17px;
  line-height: 1.75;
  margin-bottom: 10px;
}

.btmrev-cta .cms-list {
  list-style: none;
  padding: 0;
  margin: 18px 0 0 0;
}

.btmrev-cta .cms-list li {
  margin-bottom: 8px;
  font-size: 17px !important;
  color: #fff;
}

.btmrev-cta a {
  color: #fff !important;
  font-weight: 700;
  text-decoration: underline;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .btmrev-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .btmrev-intro h1 {
    font-size: 34px;
  }

  .btmrev-counter-number {
    font-size: 72px;
  }

  .btmrev-counter-label {
    font-size: 20px;
  }

  .btmrev-steps-wrap h2,
  .btmrev-cta h2 {
    font-size: 28px;
  }
}

@media (max-width: 767px) {
  .btmrev-intro {
    text-align: left;
  }

  .btmrev-intro h1 {
    font-size: 28px;
  }

  .btmrev-intro .cms-intro {
    font-size: 17px !important;
  }

  .btmrev-grid {
    grid-template-columns: 1fr;
  }

  .btmrev-counter-box {
    padding: 40px 16px;
  }

  .btmrev-counter-number {
    font-size: 56px;
  }

  .btmrev-counter-label {
    font-size: 18px;
  }

  .btmrev-counter-text {
    font-size: 15px !important;
  }

  .btmrev-steps-wrap {
    padding: 26px 16px;
  }

  .btmrev-step {
    width: 140px;
  }

  .btmrev-step-num {
    width: 80px;
    height: 80px;
    font-size: 28px;
  }

  .btmrev-cta {
    padding: 32px 18px;
  }

  .btmrev-cta h2 {
    font-size: 28px;
  }

  .btmrev-cta .cms-list li {
    font-size: 15px !important;
  }
}

.btmrev-cta ul,
.btmrev-cta .cms-list {
  list-style: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.btmrev-cta ul li,
.btmrev-cta .cms-list li {
  list-style: none !important;
  padding-left: 0 !important;
}

.btmrev-cta ul li::marker,
.btmrev-cta .cms-list li::marker {
  content: "" !important;
  display: none !important;
}

#conditions-to-approve a {
  color: #007bff !important;
  text-decoration: underline !important;
}

/* ============================================
   ICONE METODI DI PAGAMENTO (via background-image)
   ============================================ */

/* Nasconde le immagini originali di PayPal (paypal-mark, logo, testo) */
.payment-option .paypal-mark,
.payment-option .paypal-logo,
.payment-option .paypal-button-text {
  display: none !important;
}

/* Layout: nome a sinistra, icona a destra */
.payment-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100%;
  margin: 0;
  cursor: pointer;
}

.payment-option label > span:first-child {
  flex: 1;
}

/* Pseudo-elemento icona, agganciato all'ultimo span del label */
.payment-option label > span:last-child::after {
  content: "";
  display: inline-block;
  width: 70px;
  height: 32px;
  margin-left: 12px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center right;
  vertical-align: middle;
  transition: transform 0.2s ease;
}

.payment-option:hover label > span:last-child::after,
.payment-option-wrapper:has(input:checked) label > span:last-child::after {
  transform: scale(1.05);
}
/* ============================================
   ICONE METODI DI PAGAMENTO
   ============================================ */

/* Nasconde le icone originali di PayPal SDK */
.payment-option .paypal-mark,
.payment-option .paypal-logo,
.payment-option .paypal-button-text {
  display: none !important;
}

/* Layout label */
/* Layout label */
.payment-option label {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 15px;
  width: 100%;
  margin: 0;
  cursor: pointer;
  min-height: 36px;
}

.payment-option label > span:first-child {
  flex: 0 0 auto;
}

/* Icona iniettata via JS */
.payment-option .custom-payment-icon {
  height: 32px;
  width: auto;
  max-width: 90px;
  margin-left: 12px;
  vertical-align: middle;
  display: inline-block;
  object-fit: contain;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}

.payment-option:hover .custom-payment-icon,
.payment-option-wrapper:has(input:checked) .custom-payment-icon {
  transform: scale(1.05);
}

/* Nasconde immagini originali nei metodi non-PayPal (bonifico, postepay, contrassegno) */
.payment-option > img,
.payment-option label > img:not(.custom-payment-icon) {
  display: none !important;
}

/* ============================================
   ICONE METODI DI PAGAMENTO — MOBILE
   ============================================ */

@media (max-width: 767px) {
  .payment-option label {
    flex-wrap: wrap !important;
    gap: 10px !important;
    padding-right: 8px;
  }

  .payment-option label > span:first-child {
    font-size: 14px;
    line-height: 1.3;
    max-width: calc(100% - 85px);
  }

  .payment-option .custom-payment-icon {
    height: 32px;
    max-width: 75px;
    margin-left: 0;
  }
}

/* MOBILE molto stretto (telefoni piccoli) */
@media (max-width: 380px) {
  .payment-option label > span:first-child {
    font-size: 13px;
    max-width: calc(100% - 75px);
  }

  .payment-option .custom-payment-icon {
    height: 28px;
    max-width: 65px;
  }
}

@media (max-width: 767px) {
  #js-checkout-summary,
  .blockreassurance_product {
    display: none !important;
  }
}

.modal .beltom-hero-mobile {
  display: none !important;
}

/* Immagine desktop sostituita con margine */
.modal .beltom-hero-desktop {
  content: url('https://beltom.it/img/cms/Condizioni%20vendita_Mobile_Ita.png') !important;
}

.modal .beltom-hero {
  width: 100%;
  height: 350px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 120px !important;
}

/* Forza ordine campi form indirizzo */
#field-firstname { order: 1; }
#field-lastname { order: 2; }
#field-address1 { order: 3; }
#field-address2 { order: 4; }
#field-postcode { order: 5; }
#field-city { order: 6; }
#field-id_country { order: 7; }
#field-id_state { order: 8; }
#field-phone { order: 9; }
#field-phone_mobile { order: 10; }

.form-fields {
  display: flex !important;
  flex-direction: column !important;
}

.form-fields .form-group {
  order: 99;
}

.form-fields .form-group:has(#field-firstname) { order: 1; }
.form-fields .form-group:has(#field-lastname) { order: 2; }
.form-fields .form-group:has(#field-address1) { order: 3; }
.form-fields .form-group:has(#field-address2) { order: 4; }
.form-fields .form-group:has(#field-postcode) { order: 5; }
.form-fields .form-group:has(#field-city) { order: 6; }
.form-fields .form-group:has(#field-id_country) { order: 7; }
.form-fields .form-group:has(#field-id_state) { order: 8; }
.form-fields .form-group:has(#field-phone) { order: 9; }
.form-fields .form-group:has(#field-phone_mobile) { order: 10; }

@media (max-width: 767px) {
  .beltom-hero {
    margin-bottom: 10px !important;
  }
}