/* variabili */
:root {
  /*
  --side-padding:clamp(15px, 2.5vw, 30px);
  --side-padding-medium:clamp(15px, 3.33vw, 40px);
  --side-padding-large:clamp(15px, 5vw, 60px);
  --swiper-button-width:clamp(1.667rem, 1.152rem + 2.376vw, 3rem);
  */
  --side-padding:clamp(15px, 2.143vw, 30px);
  --side-padding-medium:clamp(15px, 2.857vw, 40px);
  --side-padding-large:clamp(15px, 4.286vw, 60px);
  --swiper-button-width:clamp(1.667rem, 1.152rem + 2.376vw, 3rem);
  --background-grigio:#f6f6f6;
  --flag-text-shift:0.15em;
}
/* display */
.mobile-menu__language-currency,
#js-cart-close span,
.add-to-cart i,
#product-images-thumbs,
.after-cover-tumbnails2,
.empty-product-details,
#products-tab-anchor,
.sezione-tabs .accordion-header,
#footer .row .block-iqitlinksmanager-4 .block-title,
#cms .page-header,
#ps_checkout-payment-method-logo-block-title {
	display:none!important;
}
.header-top #header-rivenditori-btn .header-btn .title {
	display:block!important;
}

/* generici */
.btn {
	padding:0.5rem 2rem;
	border-radius:30px;
}
.swiper-button-next,
.swiper-button-prev {
	/* intervallo 30px - 54px */
	width:var(--swiper-button-width);
	height:var(--swiper-button-width);
	border-radius:2rem;
}
.swiper-button-next:after,
.swiper-button-prev:after {
    font-size:24px;
    font-family:"Font Awesome 6 Free";
}
.centrato {
	text-align:center;
}
.centrato p {
	margin-left:auto;
	margin-right:auto;
}

/* =========================================================
 * Layout * 
 * ====================================================== */
/* impedisce il "saltello" dovuto al CLS quando l'header diventa fixed */
#main-page-content {
    scrollbar-gutter: stable;
    /*overflow: hidden;*/
}
/* layout padding */
body {
	padding-left:var(--side-padding);
	padding-right:var(--side-padding);
}
.sticky-desktop-wrapper #desktop-header.stuck-header,
#mobile-header #mobile-header-sticky {
	width:auto;
	left:var(--side-padding);
  	right:var(--side-padding);
	top:0;
	padding-top:20px;
}
#inner-wrapper {
	padding-left:0;
	padding-right:0;
}
.elementor-section .elementor-row > .elementor-column .elementor-column-wrap.elementor-element-populated {
	padding:0;
}
/* distanziatore colonne elementor */
.sezione-faq .elementor-row,
.sezione-tab-content .elementor-row,
.sezione-duecolonne .elementor-row {
	gap:var(--bs-gutter-x);
}
/* bordo arrotondato */
.header-banner,
#desktop-header .header-top,
.sticky-desktop-wrapper #desktop-header .header-top,
#mobile-header #mobile-header-sticky .container,
.product-cover img,
#col-product-info,
.swiper-ingredienti img,
.products-grid .product-miniature-default,
.mobile-menu .product-miniature-container,
.sezione-faq img,
.sezione-tab-content img,
.boxed,
#footer-container-main,
.sezione-duecolonne img {
	border-radius:15px;
}
.sticky-desktop-wrapper #desktop-header.stuck-header .header-top,
#mobile-header #mobile-header-sticky.stuck .container,
#mobile-header .container,
#index #desktop-header .header-top::before {
	border-radius:15px 15px 0 0;
}
.elementor-section {
	border-radius:15px;
}
body:not(.elementor-editor-active) .elementor-section {
	overflow:hidden;
}
/* background grigio */
.sticky-desktop-wrapper #desktop-header.stuck-header .header-top,
body:not(#index) #desktop-header .header-top,
body:not(#index) #mobile-header .container,
#index .sticky-desktop-wrapper #desktop-header.stuck .header-top,
#index #mobile-header #mobile-header-sticky.stuck .container,
.mobile-menu .product-miniature-container,
.header-banner,
.product-cover img,
#col-product-info,
.sezione-claim,
.sezione-tabs,
.sezione-swiper,
.products-grid .product-miniature-default,
.boxed,
#footer-container-main {
    background:var(--background-grigio);
}

/* =========================================================
 * Font * 
 * ====================================================== */
body {
	letter-spacing:0.15px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	-webkit-backface-visibility: hidden;
	text-size-adjust:100%;
    webkit-text-size-adjust:100%;
}
.fa-user,
.fa-shopping-bag,
.fa-search,
.fa-location-dot,
.sezione-claim h3,
.sezione-tabs h3,
.products-grid .product-miniature-grid .btn-product-list.add-to-cart,
.revslider-claim h3 {
	font-weight:400!important;
}
#footer .block-title,
.rassicurazioni .elementor-icon-box-content .elementor-icon-box-title {
	font-weight:500;
}
.cbp-hrmenu .cbp-tab-title,
#content-wrapper .page-title,
.icona-prodotto,
.sezione-tabs .nav-link,
.swiper-ingredienti .swiper-slide h3,
.products-grid .product-miniature-default .product-title,
.product-grid-menu .product-miniature-container .product-title,
.product-grid-menu .product-miniature-container .product-price-and-shipping,
.sezione-prodotti .swiper-container-wrapper .step,
.product-miniature-grid .product-price,
.elementor-accordion-title,
.mobile-menu .product-miniature-container a,
.mobile-menu .product-miniature-container .product-price-and-shipping,
.contact-rich a {
	font-weight:600;
}

/* Scotch Display */
.linea-prodotto,
.sezione-claim h3 span,
.sezione-tabs h3 span,
.sezione-swiper h3 span,
.sezione-prodotti h3 span,
.sezione-banner h3 span,
.sezione-duecolonne h3 span,
.revslider-claim h3 span {
	font-family:"Scotch Display", serif;
	font-optical-sizing:auto;
	font-style:normal;
	font-weight:normal;
}

/* =========================================================
 * STRUTTURA DINAMICA FONT *
 * ========================================================= 
 * viewport: 390px - 1400px *
 * ====================================================== */
/* intervallo 16px - 18px */
body {
	font-size: clamp(0.889rem, 0.846rem + 0.198vw, 1rem);
}
/* intervallo 21px - 24px */
.swiper-ingredienti .swiper-slide h3,
#footer .block-title {
	font-size: clamp(1.167rem, 1.102rem + 0.297vw, 1.333rem);
}
/* =========================================================
 * viewport: 992px - 1400px *
 * ====================================================== */
@media (min-width: 992px) {
	/* intervallo 15px - 18px */	
	.cbp-horizontal .cbp-tab-title {
		font-size: clamp(0.833rem, 0.428rem + 0.735vw, 1rem);
	}
	/* intervallo 18px - 24px */
	.products-grid .product-miniature-default .product-title,
	.product-miniature-grid .product-price,
	.sezione-prodotti .swiper-container-wrapper .step {
		font-size: clamp(1rem, 0.19rem + 1.471vw, 1.333rem);
	}
	/* intervallo 21px - 26px */
	#content-wrapper .product_header_container .page-title,
	.product_p_price_container .product-price,
	.sezione-tabs .nav-link,
	.sezione-banner p {
		font-size: clamp(1.167rem, 0.492rem + 1.225vw, 1.444rem);
	}
	/* intervallo 36px - 48px */
	.linea-prodotto,
	.sezione-claim h3,
	.sezione-tabs h3,
	.sezione-swiper h3,
	.sezione-prodotti h3,
	.sezione-faq h3,
	.sezione-tab-content h3,
	.sezione-banner h3 span,
	.sezione-duecolonne h3,
	.sezione-duecolonne h3.small span,
	.revslider-claim h3 {
		font-size: clamp(2rem, 0.379rem + 2.941vw, 2.667rem);
	}
	/* 30px */
	.revslider-claim p {
		font-size:1.667rem!important;
	}
}
/* =========================================================
 * viewport: 390px - 991.98px *
 * ====================================================== */
@media (max-width: 991.98px) {
	/* intervallo 15px - 18px */
	.products-grid .product-miniature-default .product-title,
	.product-miniature-grid .product-price,
	.sezione-prodotti .swiper-container-wrapper .step {
		font-size: clamp(0.833rem, 0.516rem + 0.88vw, 1rem);
	}
	/* intervallo 16px - 18px */
	.cbp-horizontal .cbp-tab-title,
	.banner-spedizioni {
		font-size: clamp(0.889rem, 0.817rem + 0.333vw, 1rem);
	}
	/* intervallo 18px - 21px */
	#content-wrapper .product_header_container .page-title,
	.product_p_price_container .product-price,
	.sezione-tabs .nav-link,
	.sezione-banner p {
		font-size: clamp(1rem, 0.892rem + 0.498vw, 1.167rem);
	}
	/* intervallo 30px - 36px */
	.sezione-claim h3,
	.sezione-tabs h3,
	.sezione-swiper h3,
	.sezione-prodotti h3,
	.sezione-faq h3,
	.sezione-tab-content h3,
	.sezione-banner h3 span,
	.sezione-duecolonne h3,
	.sezione-duecolonne h3.small span,
	.revslider-claim h3 {
		font-size: clamp(1.667rem, 1.451rem + 0.997vw, 2rem);
	}
	/* 36px */
	.linea-prodotto {
		font-size:2rem;
	}
	/* 24px */
	.revslider-claim p {
		font-size:1.333rem!important;
	}
}
/* =========================================================
 * viewport: 1024px - 1400px *
 * ====================================================== */
@media (min-width: 1024px) {
	/* intervallo 32px – 48px */
	.sezione-prodotti .linea-prodotto {
		font-size: clamp(1.778rem, -0.643rem + 4.255vw, 2.667rem);
	}
	/* intervallo 21px – 30px */
	.sezione-faq h4,
	.sezione-tab-content h4,
	.sezione-duecolonne h4 {
		font-size: clamp(1.167rem, -0.195rem + 2.394vw, 1.667rem);
	}
	/* 34px */
	.sezione-duecolonne .small {
		font-size:34px;
	}
}
/* =========================================================
 * viewport: 390px - 1023.98px *
 * ====================================================== */
@media (max-width: 1023.98px) {
 	/* 32px */
	.sezione-prodotti .linea-prodotto {
		font-size:1.778rem;
	}
	/* 24px */
	.sezione-duecolonne .small {
		font-size:24px;
	}
	/* intervallo 21px – 24px */
	.sezione-faq h4,
	.sezione-tab-content h4,
	.sezione-duecolonne h4 {
		font-size: clamp(1.167rem, 1.064rem + 0.474vw, 1.333rem);
	}
}
/* =========================================================
 * STRUTTURA DINAMICA IMMAGINI *
 * =========================================================
 * viewport: 992px - 1400px *
 * ====================================================== */
@media (min-width: 992px) {
  	/* intervallo altezza 35px - 50px */
	#header .logo {
		height:clamp(1.944rem, -0.082rem + 3.676vw, 2.778rem);
		width:auto;
		min-height:35px;
	}
}
/* =========================================================
 * viewport: 390px - 991.98px *
 * ====================================================== */
@media (max-width: 991.98px) {
  	/* intervallo altezza 26px - 36px */
	#header .logo {
		height:clamp(1.444rem, 1.085rem + 1.661vw, 2rem);
		width:auto;
		min-height:26px;
	}
}

/* =========================================================
 * dimensione fissa *
 * ====================================================== */
/* font-size 16px */
#footer-copyrights {
	font-size:0.889rem;
}
/* font-size 18px */
.product-grid-menu .product-miniature-container .product-title,
.product-grid-menu .product-miniature-container .product-price-and-shipping {
	font-size:1rem;
}
/* font-size 20px */
.iqit-accordion .title,
.sezione-tabs .accordion-header,
.rassicurazioni .elementor-icon-box-content .elementor-icon-box-title {
    font-size:1.11111rem;
}
/* font-size 22px */
.mobile-menu__close,
#js-cart-close,
#search-close .fa-times {
    font-size:1.22222rem;
}

/* =========================================================
 * Header * 
 * ====================================================== */
.header-banner {
	text-align:center;
	padding:12px 16px;
	margin:20px 0;
}
#desktop_logo {
	position:relative;
	z-index:101;
}
#index .sticky-desktop-wrapper #desktop-header .header-top,
#index #mobile-header #mobile-header-sticky,
#index #mobile-header {
	background:transparent;
}
#index #mobile-header #mobile-header-sticky.stuck {
	background:#fff;
}
#desktop-header:has(.cbp-hrmenu-tab.cbp-has-submeu.cbp-hropen) .header-top {
	background:var(--background-grigio)!important;
}
.col-header-right #header-search-btn {
    order:1;
}
.col-header-right #header-user-btn {
    order:2;
}
.col-header-right #ps-shoppingcart-wrapper {
    order:3;
}
.col-header-right #header-rivenditori-btn {
    order:4;
	padding-left:20px;
}
.col-header-right #header-rivenditori-btn .header-btn {
	display:flex;
}
.col-header-right #header-rivenditori-btn .header-btn .title {
    margin-top:0;
}
#js-cart-close {
    font-weight:300;
	font-family:"Font Awesome 6 Free";
}
#js-cart-close:after {
    content:"X";
}
.mobile-menu__scroller,
.mobile-menu__footer {
	padding-left:30px!important;
}
.mobile-menu__link {
	letter-spacing:1px;
}
.mobile-menu__links-list a {
	padding-top:8px;
    padding-bottom:8px;
    display:block;
}
.mobile-menu__close .fa-times,
#search-close .fa-times {
    --fa:"X";
    font-weight:300;
}
.mobile-menu__title { /* nasconde il nome della categoria a fianco del tasto back */
    color:#000;
}
.mobile-menu__links-list--view-all a {
    text-transform:uppercase;
	color:#dfff18!important;
	margin-top:1rem;
}
.mobile-menu__links-list--view-all a:after {
    -moz-osx-font-smoothing:grayscale;
    -webkit-font-smoothing:antialiased;
    display:inline-block;
	color:#dfff18!important;
	font-family:"Font Awesome 6 Free";
    font-style:normal;
    font-weight:900;
    line-height:1;
    text-rendering:auto;
	content:"\f061";
	margin-left:12px;
}
#mobile_menu_click_overlay {
    background-color:rgba(0, 0, 0, 0.5);
}
#mobile_menu_click_overlay {
	opacity:0;
	visibility:hidden;
}
/* corregge il comportamento dell'overlay del menu mobile */
#mobile-header .m-nav-btn.show + #mobile_menu_click_overlay {
	width:100%;
	height:100%;
	position:fixed;
	top:0;
	left:0;
	z-index:5003;
	background-color:#fff;
	opacity:0.8;
	visibility:visible;
	transition:opacity 0.4s ease,visibility 0.4s ease;
}
.mobile-menu__footer {
    text-transform:uppercase;
}
.mobile-menu__language-currency {
    color:#eae3d6;
}
.mobile-menu__language-currency a {
    color:#fff!important;
}
/* box ricerca */
#header-search-btn .dropdown-search {
    width:100%;
    position:fixed;
    top:0!important;
    left:0;
	max-width:none;
	padding:5rem 1rem;
	border:0;
}
#header-search-btn .dropdown-menu.show #search_widget {
    max-width:1000px;
	margin:auto;
}
.header-top .form-search-control {
    border:0;
	border-bottom:1px solid #000;
}
.autocomplete-suggestions {	
    box-shadow:none;
    position:relative;
	background:#fff;
	padding:10px;
}
.autocomplete-suggestions .dropdown-item:hover{
	background:#f1f1f1;
}
.autocomplete-suggestions .autocomplete-suggestion-show-all {
    padding:0.75rem 1.5rem;
    line-height:1.125rem;
	text-transform:uppercase;
    letter-spacing:1px;
	background:#000;
    color:#fff!important;
	font-size:0.875rem;
}
.autocomplete-suggestions .autocomplete-suggestion-show-all:hover {
	background:#444444;
}
#mobile-header .dropdown-mobile {
    padding:5rem 1rem;
    border:0;
	position:fixed;
    top:0!important;
	box-shadow:6px 0 30px 0px rgb(0 0 0 / 15%);
}
#mobile-header .dropdown-mobile .form-control {
    background-color:#fff;
    color:#000000;
    border:0;
	border-bottom:1px solid #000;
}
#search-close {
    padding:0.5rem 1.25rem;	    
    position:absolute;
	top:15px;
    right:10px;
}
.close,
#search-close {
    opacity:1;
	color:#000;
}
/* modale e backdrop */
.modal-backdrop {
    z-index:101;
	background:rgba(255, 255, 255, 0.8);
    opacity:1;
    transition:opacity 0.4s ease,visibility 0.4s ease;
}
/* sottomenu */
.cbp-hrmenu .cbp-menu-column {
    width:auto;
	flex:1;
	max-width:420px;
}
.product-grid-menu .product-miniature-container {
	display:flex;
    flex-wrap:wrap;
	justify-content: center;
}
.product-grid-menu .product-image-container {
	flex:0 0 100%;
}
.product-grid-menu .product-miniature-container .product-title {
	text-align:left;
	margin-top:3px!important;
	flex:0 0 75%;
	max-width:270px;
}
.product-grid-menu .product-miniature-container .product-price-and-shipping {
    flex:0 0 20%;
	max-width:100px;
}
.mobile-menu .product-miniature-container {
    padding:10px;
}
.mobile-menu .product-miniature-container .row {
    flex-direction:column;
}
.mobile-menu .product-miniature-container .row .col-3 {
    width:100%;
}
.mobile-menu .product-miniature-container a {
    color:#474747!important;
	text-transform:uppercase;
}
.mobile-menu .product-miniature-container .product-price-and-shipping {
    margin-top:1rem;
}
.mobile-menu__title {
    color:#fff;
}

/* =========================================================
 * Prodotto * 
 * ====================================================== */
#col-product-info {
    padding:var(--side-padding-large);
}
.images-container {
	margin-bottom:1.5rem;
}	
.images-container-bottom .product-cover {
	margin-bottom:1rem;
}
/* nella vista desktop rendo .col-product-info alta quanto .col-product-image, usando js per calcolare la variabile */
.col-product-image,
.images-container {
	height:calc(100vh - var(--header-height, 74px) - 15px);
}
/* gestisce con js il "saltello" al caricamento dell'immagine */
.col-product-image {
	visibility:hidden;
}
/* fa sì che lo swiper e i suoi contenitori riempiano tutta l'altezza disponibile */
#product-images-large,
#product-images-large .swiper-wrapper,
#product-images-large .swiper-slide,
.product-cover {
	height:100%;
}
/* l'immagine riempie il contenitore, ritagliando l'eccesso mantenendo le proporzioni */
.product-lmage-large img,
.product-lmage-large picture {
	height:100%;
	width:100%;
	object-fit:cover;
}
/* l'immagine si adatta al contenitore se l'altezza è troppo ridotta */
body.short-product-image .product-lmage-large img,
body.short-product-image .product-lmage-large picture {
	object-fit:contain;
}
.product_header_container {
    margin-bottom:0;
    border-bottom:0;
}
.product_p_price_container {
    border-top:0;
    padding-top:0;
	margin-top:1.5rem;
	padding-bottom:1rem;
}
.product-quantity .qty {
    width:125px;
	visibility:hidden;/* nasconde il saltello FOUC/FOUJS */
}
.product-quantity .qty > .input-group {
    flex-wrap:nowrap;
	border:2px solid #474747;
	border-radius:30px;
}
.product-quantity .qty .form-control {
    border:0;
	min-width:40px;
	padding:0.6rem;
	text-align:center;
}
.input-group .input-group-btn>.btn {
    font-weight:500;
    font-size:1.25rem;
	padding:0 0.75rem;
}
.product-quantity .col-add-btn {
    flex-grow:1;
}
.product-quantity .col-add-btn .add {
    height:100%;
}
.product-quantity .col-add-btn .btn {
    height:100%;
	min-width:260px;
	margin-left:20px;
}
.product-additional-info {
    border-top:0;
	padding-top:0;
}
#productdaas-accordion {
	margin-top:1.5rem;
	border-bottom:1px solid #8d8d8d;
	margin-bottom:30px!important;
}
.iqit-accordion .title {
    border-top:1px solid #8d8d8d;
	padding:0.7rem 0 0.6rem 0;
}
.iqit-accordion .title a {
	text-transform:uppercase;
	display:flex;
    align-items:center;
    justify-content:space-between;
    line-height:1;
	padding-top:2px;
	font-weight:600;
	text-decoration:none;
}
.iqit-accordion .title a:not(.collapsed) {
	color:#d76c1a;
}
.iqit-accordion .title,
.iqit-accordion .content.show {
    border-bottom:0;
}
.iqit-accordion .collapsed .angle-down,
.iqit-accordion .angle-up {
    background:#474747;
    border-radius:20px;
    padding:2px;
    line-height:18px;
    font-size:14px;
    color:#fff;
    width:21px;
    height:21px;
    text-align:center;
}
.iqit-accordion .angle-up {
    background:#d76c1a;
}
.icona-prodotto {
    display:inline-flex;
	align-items:center;
}
.icona-prodotto span {
    margin:0 30px 0 10px;
}
.linea-prodotto {
	margin-bottom:30px;
	line-height:1em;
	margin-top:-15px;
}
.sezione-claim,
.sezione-tabs,
.sezione-swiper,
.sezione-prodotti,
.sezione-faq,
.sezione-banner,
.sezione-duecolonne {
    margin-bottom:3rem;
}
.sezione-claim {
    padding:var(--side-padding-large);
	text-align:center;
	letter-spacing:-1px;
}
.sezione-claim h3 span {
	color:#d76c1a;
}
/* elementor tabs */
.sezione-tabs {
    padding:var(--side-padding-large) var(--side-padding);
}
.sezione-tabs .elementor-heading-title {
	text-align:center;
}
.sezione-tabs .nav.nav-tabs {
	position:relative;
	display:flex;
	list-style:none;
	margin:0;
	padding:0;
	background:#ffffff;
	border-radius:50px;
	margin-top:30px;
}
.sezione-tabs .nav-pill {
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:0;
	background:#474747;
	border-radius:50px;
	transition:left 0.35s cubic-bezier(0.65, 0, 0.35, 1), width 0.35s cubic-bezier(0.65, 0, 0.35, 1);
	z-index:0;
}
.sezione-tabs .nav-item {
	position:relative;
	z-index:1;
	flex:1;
	display:flex;
}
.sezione-tabs .nav-link {
	flex:1;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	padding:var(--side-padding);
	text-decoration:none;
	color:#474747;
	background:transparent;
	border-radius:50px;
	cursor:pointer;
	transition:color 0.25s ease;
	white-space:nowrap;
	opacity:1;
}
.sezione-tabs .nav-link:hover {
	color:#474747;
}
.sezione-tabs .nav-link.active {
	color:#ffffff;
}
.sezione-tabs .tab-content {
	margin-top:60px;
}
.sezione-tab-content .icone-prodotto-wrapper {
    margin-top:2rem;
}
.sezione-tab-content .icone-prodotto-wrapper .elementor-container {
    justify-content:space-between;
	max-width:650px;
	margin-left:0;
	flex-wrap:wrap;
}
.sezione-tab-content .icone-prodotto-wrapper .icona-prodotto {
    flex-direction:column;
}
.sezione-tab-content .icone-prodotto-wrapper .icona-prodotto img {
    max-height:105px;
	width:auto;
}
.sezione-tab-content .icone-prodotto-wrapper .icona-prodotto span {
    margin:15px 0 30px 0;
	max-width:140px;
	text-transform:uppercase;
	text-align:center;
	line-height:1.3em;
}
.sezione-tab-content h4 {
	margin-top:50px;
}
.nutrition-table-wrap {
	max-width:720px;
	margin-bottom:2rem;
}
.nutrition-table {
	border:2px solid #d9772e;
	border-radius:10px;
	overflow:hidden;
}
.nutrition-table thead th {
	background:#fff;
	border-bottom:2px solid #d9772e;
	font-weight:700;
	vertical-align:middle;
}
.nutrition-table td, .nutrition-table th {
	border-color:#d9772e;
	padding:8px 16px;
}
.nutrition-table tbody tr {
	border:1px solid #d9772e;
}
.nutrition-table tbody tr:not(.sub-row) td:first-child {
	font-weight:600;
}
.nutrition-table .sub-row td:first-child {
	padding-left:28px;
	color:#444;
}
.nutrition-table td:nth-child(2),
.nutrition-table td:nth-child(3),
.nutrition-table th:nth-child(2),
.nutrition-table th:nth-child(3) {
	text-align:center;
	white-space:nowrap;
}
.vnr-percent {
	display:block;
	font-size:0.85em;
	color:#777;
}
ul.two-columns {
	/*column-count:2;*/
	column-width:250px;
	column-gap:2rem;
	list-style-position:inside;
	padding-left:0;
}
ul.two-columns li {
	break-inside:avoid;
}

/* elementor swiper ingredienti */
.sezione-swiper {
    padding:var(--side-padding);
	padding-top:var(--side-padding-medium);
}
.sezione-swiper .elementor-heading-title,
.sezione-swiper .elementor-widget-text-editor {
    padding-left:calc(var(--swiper-button-width) + var(--side-padding-medium));
	padding-right:calc(var(--swiper-button-width) + var(--side-padding-medium));
}
.sezione-swiper .elementor-widget-text-editor {
    max-width:870px;
}
.swiper-ingredienti-wrapper {
	display:flex;
	align-items:center;
	gap:var(--side-padding-medium);
	padding-top:var(--side-padding-medium);
	padding-bottom:var(--side-padding-medium);
}
.swiper-ingredienti {
	flex:1;
	min-width:0; /* evita overflow del flex item nel layout flex */
	overflow:hidden;
}
.swiper-ingredienti .swiper-slide img {
	width:100%;
	height:auto;
	display:block;
	margin-bottom:12px;
}
.swiper-ingredienti .swiper-slide h3 {
	margin:20px 0 10px 0;
	text-transform:uppercase;
}
.swiper-ingredienti .swiper-slide p {
	margin:0;
}
.swiper-ingredienti-nav {
	position:static;
	flex-shrink:0;
	margin:0;
	top:auto;
	left:auto;
	right:auto;
	transform:none;
}
.swiper-ingredienti .swiper-pagination-progressbar {
	position:static;
	height:4px;
	background:#e0e0e0; /* colore della linea "vuota" */
	border-radius:2px;
	margin-top:30px;
}
.swiper-ingredienti .swiper-pagination-progressbar-fill {
	background:#333; /* colore della linea piena */
	border-radius:2px;
}
/* elementor swiper prodotti */
/* categoria lista step prodotti */
.sezione-prodotti,
.sezione-prodotti .elementor-section {
    padding:0;
	padding-top:var(--side-padding-medium);
}
.sezione-prodotti .elementor-heading-title,
.sezione-prodotti .elementor-widget-text-editor {
    padding-left:var(--side-padding-large);
	padding-right:var(--side-padding-large);
}
.sezione-prodotti .elementor-widget-text-editor {
    max-width:1100px;
}
#js-product-list .products {
    margin-right:-25px;
	margin-left:-25px;
}
.sezione-prodotti #js-product-list .products {
    margin-right:calc(var(--side-padding) * -1);
	margin-left:calc(var(--side-padding) * -1);
}
.sezione-prodotti .swiper-container-wrapper .products.swiper-container {
	padding-top:calc(var(--side-padding-medium) + 55px);
	padding-bottom:var(--side-padding-medium);
}
.sezione-prodotti .swiper-container-wrapper .js-product-miniature-wrapper {
	position:relative;
}
.sezione-prodotti .swiper-container-wrapper .step {
	position:absolute;
	top:-60px;
	left:50%;
	transform:translateX(-50%);
	background:#d76c1a;
	color:#fff;
	text-transform:uppercase;
	padding-top:calc(.5rem + var(--flag-text-shift));
	padding-right:var(--side-padding-medium);
	padding-bottom:calc(.6rem - var(--flag-text-shift));
	padding-left:var(--side-padding-medium);
	border-radius:30px;
	min-width:130px;
}
/* stili prodotto singolo per carousel e pagina di categoria */
.products-grid .product-miniature-default {
	margin-left:25px;
	margin-right:25px;
	padding:var(--side-padding);
	padding-top:calc(var(--side-padding) * 3);
}
#js-product-list .js-product-miniature-wrapper {
	margin-bottom:50px;
}
.sezione-prodotti .products-grid .product-miniature-default { /* il carousel imposta le distanze tra le slide tramite js */
    margin-right:0;
	margin-left:0;
}
.products-grid .product-miniature-grid .product-add-cart {
	position:absolute;
	top:var(--side-padding);
	right:var(--side-padding);
	margin:0;
	z-index:3;
}
.products-grid .product-miniature-grid .btn-product-list.add-to-cart {
	font-size:0;	
	padding:0;
	width:42px;
	height:42px;	
}
.products-grid .product-miniature-grid .product-add-cart i.fa-shopping-bag {
	display:block!important;
	font-size:1.25rem;	
	margin:auto;
}
.products-grid .product-miniature-default .product-title,
.product-grid-menu .product-miniature-container .product-title {
	text-transform:uppercase;
	margin-bottom:0;
}
.products-grid .product-miniature-layout-1 .product-price-and-shipping {
    padding-bottom:0;
}
.products-grid .product-miniature-layout-1 .product-description {
    display:flex;
    flex-direction:row;
    align-items:flex-end;
	justify-content:space-between;
}
.products-grid .product-miniature-layout-1 .linea-prodotto {
	position:absolute;
	top:var(--side-padding);
	left:var(--side-padding);
	margin-bottom:0;
	margin-top:0;
}
.product-miniature-default .product-flags {
    left:calc(var(--side-padding) * -1);
    top:calc(var(--side-padding) * 1.5);
} 
.product-miniature-default li.product-flag {
    padding-top:calc(.3125rem + var(--flag-text-shift));
	padding-bottom:calc(.3125rem - var(--flag-text-shift));
}
/* l'immagine riempie il contenitore, ritagliando l'eccesso mantenendo le proporzioni */
.product-miniature-default img,
.product-miniature-default picture {
	height:100%;
	width:100%;
	object-fit:cover;
}
/* l'immagine si adatta al contenitore se l'altezza è troppo ridotta */
body.short-product-image .product-miniature-default img,
body.short-product-image .product-miniature-default picture {
	object-fit:contain;
}
/* elementor faq */
.boxed {
	padding:var(--side-padding-large) var(--side-padding-medium); 
}
.sezione-faq .boxed .elementor-column-wrap,
.sezione-tab-content .elementor-column-wrap,
.sezione-duecolonne .boxed .elementor-column-wrap {
    -ms-flex-align:center;
    -ms-grid-row-align:center;
    align-items:center;
}
.sezione-faq h4,
.sezione-tab-content h4,
.sezione-duecolonne h4 {
	color:#d76c1a;
	text-transform:uppercase;
}
.boxed-image .elementor-widget-wrap,
.boxed-image .elementor-widget-image,
.boxed-image .elementor-widget-container,
.boxed-image .elementor-image,
.boxed-image .elementor-image img {
	height:100%;
	width:100%;
	object-fit:cover;
}
.elementor-accordion  {
	margin-top:1.5rem;
}
.elementor-accordion .elementor-accordion-item {
    border:0;
	border-bottom:1px solid #8d8d8d;
}
.elementor-accordion .elementor-accordion-title {
	font-size:1.111rem;
	text-transform:uppercase;
	padding-top:calc(.9rem + var(--flag-text-shift));
	padding-right:15px;
	padding-bottom:calc(1rem - var(--flag-text-shift));
	padding-left:15px;
}
.elementor-accordion .elementor-accordion-title .elementor-accordion-icon.elementor-accordion-icon-left {
    float:right;
    text-align:center;
}
.elementor-accordion .elementor-accordion-content {
    padding:30px 15px;
    border-top:0;
}
.elementor-accordion .elementor-accordion-icon {
    background:#474747;
    border-radius:20px;
    padding:3px;
    line-height:18px;
    font-size:14px;
    color:#fff;
    width:21px;
    height:21px;
    text-align:center;
}
.elementor-accordion .elementor-accordion-title .elementor-accordion-icon .fa:before {
    content:"\f107"
}
.elementor-accordion .elementor-accordion-title.active .elementor-accordion-icon .fa:before {
    content:"\f106"
}
.elementor-accordion .elementor-accordion-title.active {
    color:#d76c1a;
}
.elementor-accordion .elementor-accordion-title.active .elementor-accordion-icon {
    background:#d76c1a;
}

/* =========================================================
 * Homepage * 
 * ====================================================== */
#index #header {
	position:absolute;
	left:var(--side-padding);
	right:var(--side-padding);
	top:0;
	width:auto;
	visibility:hidden; /* serve per nascondere inizialmente la variazione di colore in base alla slide sottostante */
}
#index #desktop-header:not(.stuck-header) .header-top {
	position:relative;
	background:transparent;
}
#index #desktop-header:not(.stuck-header) .header-top::before {
	content:"";
	position:absolute;
	inset:0;
	background:var(--background-grigio);
	transform:scaleY(0);
	transform-origin:top;
	transition:transform 300ms ease-in-out, opacity 300ms ease-in-out;
	z-index:0;
	opacity:0;
}
#index #desktop-header:has(.cbp-hrmenu-tab.cbp-has-submeu.cbp-hropen) .header-top::before {
	transform:scaleY(1);
	opacity:1;
}
#index #desktop-header:not(.stuck-header) #cbp-hrmenu .cbp-hrsub {
    transform: translateY(0)!important; /* disattivato per non interferire visivamente con la colorazione dell'header superiore */
}
#index #desktop-header:not(.stuck-header) .cbp-horizontal > ul > li > a,
#index #desktop-header:not(.stuck-header) .header-top a:not(.btn):not(.nav-link),
#index #mobile-header-sticky:not(.stuck) .m-nav-btn {
    color:#fff;
	transition:color 1s ease;
}
#index #desktop-header:not(.stuck-header) .logo,
#index #mobile-header-sticky:not(.stuck) .logo {
    filter:brightness(0) invert(1);
	transition:filter 1s ease;
}
#index #header.header-on-light #desktop-header:not(.stuck-header) .cbp-horizontal > ul > li > a,
#index #header.header-on-light #desktop-header:not(.stuck-header) .header-top a:not(.btn):not(.nav-link),
#index #header.header-on-light #mobile-header-sticky:not(.stuck) .m-nav-btn,
#index #header:has(.cbp-hrmenu-tab.cbp-has-submeu.cbp-hropen) #desktop-header:not(.stuck-header) .cbp-horizontal > ul > li > a,
#index #header:has(.cbp-hrmenu-tab.cbp-has-submeu.cbp-hropen) #desktop-header:not(.stuck-header) .header-top a:not(.btn):not(.nav-link),
#index #header:has(.cbp-hrmenu-tab.cbp-has-submeu.cbp-hropen) #mobile-header-sticky:not(.stuck) .m-nav-btn {
	color:#474747;
}
#index #header.header-on-light #desktop-header:not(.stuck-header) .logo,
#index #header.header-on-light #mobile-header-sticky:not(.stuck) .logo,
#index #header:has(.cbp-hrmenu-tab.cbp-has-submeu.cbp-hropen) #desktop-header:not(.stuck-header) .logo {
	filter:none;
}
#index #wrapper {
    padding-top:20px;
}
#mobile-header #mobile-header-sticky {
    padding-top:0;
}
.home-revslider {
    margin-top:69px;
}
.revslider-claim p {
	margin-top:1.5rem;
	line-height:1.3em!important;
}
.sezione-banner {
	height:clamp(500px, 56.25vw, 800px);
}
.sezione-banner .elementor-container {
	text-align:center;
	max-width:700px!important;
	margin:2rem auto 0 auto;
}
/* classi da applicare alla sezione solo se non contiene un revslider: .home-slider .full-image */
/*
.home-slider {
	height:56.25vw;
	max-height:calc(100vh - 4.5vw);
	margin-top:74px;	
}
.full-image img {
	width:100%;
	object-fit:cover;
}
*/
.sezione-duecolonne h3.small {
	text-transform:uppercase;
}
.sezione-duecolonne p {
	max-width:500px;
}
.sezione-duecolonne .elementor-heading-title {
	margin-bottom:1.5rem;
}

/* =========================================================
 * Footer * 
 * ====================================================== */
#footer-container-main {
    padding-top:var(--side-padding-large);
	padding-right:15px;
	padding-bottom:var(--side-padding-large);
	padding-left:15px;
}
.block-links ul>li a {
    padding-left:0;
}
.block-links ul>li a:before {
    content:normal;
}
/* passo da flexbox a CSS Grid */
#footer .row:nth-child(2) {
	display:grid;
	column-gap:0;
	row-gap:0;
}
#footer .row .block-logo-footer		   { grid-area:logo; }
#footer .row .block-iqitlinksmanager-1 { grid-area:servizio; }
#footer .row .block-iqitlinksmanager-3 { grid-area:legal; }
#footer .row .block-iqitlinksmanager-4 { grid-area:farmacie; }
#footer .row #block_myaccount_infos    { grid-area:account; }
#footer .row .block-social-links       { grid-area:social; }
#footer .row .block-logo-footer img {
	max-width:80%;
	height:auto;
	margin:auto;
	display:block;
}
#footer .row .col-12 {
	padding-bottom:0!important;
}
#footer .row .block-logo-footer {
    display:flex;
    justify-content:center;
}
#footer .row .block-iqitlinksmanager-4 {
	padding-top:0!important;
}
#footer .row .block-iqitlinksmanager-4 li:first-child a {
	padding-top:calc(.4rem + var(--flag-text-shift));
	padding-right:1rem;
	padding-bottom:calc(.5rem - var(--flag-text-shift));
	padding-left:1rem;
    border-radius:30px;
	border:2px solid #474747;
	font-size:20px;
	text-align:center;
}
#footer .row .block-iqitlinksmanager-4 li:nth-child(2) a {
	margin-top:1.5rem;
	font-size:20px;
	display:flex;
	padding-left:30px;
}
#footer .row .block-iqitlinksmanager-4 li:nth-child(2) a:before {
	font-size:1.5rem;
	font-family:"Font Awesome 6 Free";
	font-weight:400;
	content:"\f3c5";
	width:25px;
	display:block;
}
/* prefooter */
.prefooter-logo {
	height:70vh;
	margin-top:5rem;
}
.prefooter-logo div {
	height:100%;
}
.prefooter-logo .elementor-image {
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.prefooter-logo img {
	width:auto;
	height:50%;
	display:block;
}
.rassicurazioni {
    padding-top:50px;
}
.rassicurazioni .elementor-column-wrap {
	padding-bottom:20px;
}
.rassicurazioni .elementor-column.elementor-col-33 .elementor-column-wrap {
    justify-content:center;
}
.rassicurazioni .elementor-column.elementor-col-33 .elementor-widget-wrap {
    max-width:400px;
}
.rassicurazioni .elementor-icon-box-content p {
    margin-bottom:0.5rem;
}
.rassicurazioni .elementor-icon-box-content .elementor-icon-box-title {
	text-transform:uppercase;
}
/* copyright */
#footer-copyrights .row {
	text-align:center;
}
#footer-copyrights .tippy-logo {
    display:flex;
	justify-content:center;
}
div.madeintippy a {
    width:83px;
    height:30px;
    display:block;
	background: url("../img/madeintippy.png") no-repeat 0 0;
}
div.madeintippy a span {
    display:none;
}

/* =========================================================
 * Altre pagine * 
 * ====================================================== */
#contact #main {
    display:flex;
    flex-direction:column;
}
#contact #main .page-header {
    order:1;
}
#contact #main #content {
    order:2;
}
#contact #main #iqitcontactpage-map {
    order:3;
}
#iqitcontactpage-map iframe {
    height:700px;
}
#contact #main #content .contact-rich .phone {
	margin-bottom:0.5rem;
}
#contact #main #content .contact-rich .email,
#contact #main #content .contact-rich .address {
	margin-bottom:1.5rem;
}

/* =========================================================
 * Media queries * 
 * ====================================================== */
@media print {
	body {
		font-family:Arial, sans-serif; /* Reliable print fallback */
	}
}
@media (min-width:1400px) {
	#footer .row {
		grid-template-columns:repeat(4, 1fr) auto;
		grid-template-areas:
			"logo servizio legal social"
			"logo servizio account farmacie";
	}
}
@media (max-width: 1399.98px) {
	/* 16px */
	.product-grid-menu .product-miniature-container .product-title,
	.product-grid-menu .product-miniature-container .product-price-and-shipping {
		font-size:0.889rem;
	}
	.product-quantity .col-add-btn .btn {
		min-width:auto;
		margin-left:10px;
	}
	#js-product-list .products {
		margin-right:-12px;
		margin-left:-12px;
	}
	#js-product-list .js-product-miniature-wrapper {
		margin-bottom:24px;
	}
	.products-grid .product-miniature-default {
		margin-left:12px;
		margin-right:12px;
	}
	#footer #footer-container-main .row .col.block-logo-footer {
		border-right:0;
		max-width:400px;
		margin:0 auto 2.5rem;
		padding:0;
	}
}
@media (max-width: 1199.98px) {
	.product-quantity .col-add-btn .btn {
		min-width:auto;
		margin-left:10px;
	}
}
@media (min-width:1024px) and (max-width: 1399.98px) {
	#footer .row {
		grid-template-columns:repeat(3, 1fr);
		grid-template-areas:
			"logo logo logo"
			"servizio legal social"
			"servizio account farmacie";
	}
}
@media (min-width:1024px) {	
	#footer #footer-container-main .row .col,
	#footer #footer-container-main .row .col-12 {
		border-right:1px solid #474747;
		padding-top:var(--side-padding);
		padding-right:15px;
    	padding-bottom:var(--side-padding);
		padding-left:var(--side-padding-medium);
	}
	#footer #footer-container-main .row .col.block-logo-footer {
		padding-right:15px;
		padding-left:15px;
	}
	#footer #footer-container-main .row .block-iqitlinksmanager-4,
	#footer #footer-container-main .row .col-12 {
		border-right:0;
	}
	#footer .row .block-logo-footer {
		display:flex;
    	align-items:center;
	}
}
@media (max-width: 1023.98px) {
	#js-product-list .products {
		margin-right:-10px;
		margin-left:-10px;
	}
	#js-product-list .js-product-miniature-wrapper {
		margin-bottom:20px;
	}
	.products-grid .product-miniature-default {
		margin-left:10px;
		margin-right:10px;
	}
	.sezione-faq .elementor-column.elementor-col-50,
	.sezione-tab-content .elementor-column.elementor-col-50,
	.sezione-duecolonne .elementor-column.elementor-col-50 {
		width:100%;
	}
	.sezione-faq .elementor-container>.elementor-row,
	.sezione-duecolonne.mobile-reverse .elementor-container>.elementor-row {
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	#footer-container-main {
		padding-top:40px;
		padding-bottom:40px;
	}
	.sezione-prodotti .swiper-button-next,
	.sezione-prodotti .swiper-button-prev,
	.swiper-ingredienti-wrapper .swiper-button-next,
	.swiper-ingredienti-wrapper .swiper-button-prev {
		display: none;
	}
}
@media (min-width: 992px) {
	/* intervallo 20px - 50px */
	#wrapper {
		padding-top:clamp(1.111rem, -2.941rem + 7.353vw, 2.778rem);
	}
	.images-container {
		margin-bottom:0;
	}	
	.images-container-bottom .product-cover {
		margin-bottom:0;
	}
	.col-product-info {
		display:flex;
	}
	#col-product-info {
		width:100%;
		overflow-y:auto;
		visibility:hidden;
		/* l'altezza esatta in px viene impostata via JS */
		scrollbar-gutter:stable;
	}
	.product-quantity {
		flex-wrap:nowrap;
	}
}
@media (max-width: 991.98px) {
	/* font 20px */
	#mobile-header .m-nav-btn>i {
		font-size:1.111rem;
	}
	.header-banner {
		margin:12px 0;
	}
	#wrapper {
		padding-top:20px;
	}
	#index #wrapper {
		padding-top:0;
	}
	/* nella vista mobile .col-product-image ha una altezza minima legata al viewport */
	.col-product-image,
	.col-product-info {
		width:100%;
	}
	.col-product-image,
	.images-container {
		height:calc(85vh - var(--header-height, 74px) - 15px);
		min-height: var(--product-image-min-height, 0px);
	}
	.product-cover img {
		border-bottom-left-radius:0;
		border-bottom-right-radius:0;
	}
	#col-product-info {
		border-top-left-radius:0;
		border-top-right-radius:0;
	}
	.linea-prodotto {
		margin-top:0;
	}
	/* elementor tabs diventano un accordion */
	.sezione-tabs .nav-tabs {
		display: none!important;
	}
	/* Stato iniziale: tutto nascosto finché il JS non è pronto */
	.sezione-tabs .tab-content,
	.sezione-tabs .tab-content > .tab-pane {
		visibility: hidden;
	}	
	/* Quando il JS ha finito di costruire l'accordion, mostra tutto insieme */
	.sezione-tabs.accordion-ready .tab-content,
	.sezione-tabs.accordion-ready .tab-content > .tab-pane {
		visibility: visible!important;
	}	
	/* Neutralizza SOLO height/overflow/display del tema (non più la visibility qui) */
	.sezione-tabs .tab-content > .tab-pane {
		height: auto!important;
		overflow: visible!important;
		display: block!important;
	}	
	.sezione-tabs .elementor-tab-content {
		border-bottom: 1px solid #e5e5e5;
	}	
	.sezione-tabs .accordion-header {
		display: flex!important;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 18px 4px;
		background: none;
		border: none;
		text-align: left;
		font-weight: 500;
		color: #3d3a39;
		cursor: pointer;
	}	
	.sezione-tabs .accordion-header::after {
		content: '+';
		font-size: 22px;
		line-height: 1;
	}	
	.sezione-tabs .accordion-header.is-open::after {
		content: '−';
	}	
	.sezione-tabs .accordion-body {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.35s ease;
	}	
	.sezione-tabs .elementor-tab-content.accordion-open .accordion-body {
		max-height: 1000px;
	}
	.sezione-swiper {
		padding-top:30px;
	}
	.swiper-ingredienti-wrapper {
		padding-top:30px;
		padding-bottom:30px;
	}
	.products-grid .product-miniature-default {
		padding-top: calc(var(--side-padding) * 4);
	}
	#js-product-list .products {
		margin-right:-9px;
		margin-left:-9px;
	}
	#js-product-list .js-product-miniature-wrapper {
		margin-bottom:18px;
	}
	.products-grid .product-miniature-default {
		margin-left:9px;
		margin-right:9px;
	}
	.sezione-prodotti .elementor-widget-text-editor {
		margin-bottom:1rem;
	}
}
@media (min-width:768px) and (max-width:1023.98px) {
	#footer .row {
		grid-template-columns:repeat(2, 1fr);
		grid-template-areas:
			"logo logo"
			"servizio legal"
			"account social"
			"account farmacie";
	}
}
@media (max-width:767.98px) {
	#footer .row {
		grid-template-columns:repeat(1, 1fr);
		grid-template-areas:
			"logo"
			"servizio"
			"legal"
			"account"
			"social"
			"farmacie";
	}
}
@media (max-width:650px) {
	.products-grid .product-miniature-default .product-title,
	.product-miniature-grid .product-price,
	.sezione-prodotti .swiper-container-wrapper .step {
		font-size:1rem;
	}
	.sezione-prodotti .swiper-container-wrapper .step {
		padding-right:2rem;
		padding-left:2rem;
	}
	#js-product-list .products {
		margin-right:-8px;
		margin-left:-8px;
	}
	#js-product-list .js-product-miniature-wrapper {
		margin-bottom:32px;
	}
	.products-grid .product-miniature-default {
		margin-left:8px;
		margin-right:8px;
	}
	#js-product-list .js-product-miniature-wrapper {
		width:100%;
	}
	.sezione-tab-content .icone-prodotto-wrapper .elementor-container {
		max-width:400px;
		justify-content:space-around;
	}
}
@media (max-width:575.98px) {
	.product-quantity .qty .form-control,
	.product-quantity .col-add-btn .btn {
		font-size:1.25rem;
	}
	.product-quantity .qty {
		width:100%;
	}
	.product-quantity .col-add-btn .btn {
		margin-left:0;
	}
	#productdaas-accordion {
		margin-top:2.5rem;
	}
	.sezione-tabs h3 {
		line-height:1em;
	}
	.sezione-tabs .tab-content {
		margin-top:30px;
	}
	.contact-page-info {
		border-bottom:0;
	}
}

/* TEMP */
#header-rivenditori-btn,
.block-iqitlinksmanager-4 {
	display:none;
}
