@charset "UTF-8";

@media (min-width: 1380px) {
    .container{
        max-width: 1380px;
    }
}

body {
	background-color: #fff;
	font-family: 'Poppins', sans-serif;
	font-size:16px;
	font-weight: 400;
	color:#212121;
	overflow-x: hidden;
	position: relative;
	left: 0;
	transition: 0.5s;
}
body.open {
	left: min(500px, 100vw);
}

b, strong {
	font-weight: bold;
}

.hidden {
	display: none;
}
.class_hidden {
	display: none;
}
.display-none {
	display: none;
}
.color-red {
	color:red;
}
.red-small {
	color:red;
}
#cookiePolicyMessage {
	text-align: left;
}
.menu-col-sx {
	position: fixed;
	top: 0;
	left: max(-500px, -100vw);
	width: min(500px, 100vw);
	height: 100vh;
	z-index: 20;
	transition: 0.5s;
	background-color: #F3F3F3;
	border-top: solid 5px #001a32;
	border-right: solid 1px #aaa;
}
.menu-col-sx.open {
	left: 0;
}
.testata_menu {

}
#logo {
	z-index: 5;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}
.testata_menu #logo-menu {
	position: absolute;
	left: 10px;
	top: 10px;
}
.testata_menu #logo-menu img {
	width: 50px;
}
.testata_menu .menu-link {
	position: absolute;
	right: 10px;
	top: 10px;
	margin-top: 0;
}
.menu-col-sx #navbar {
	margin-top: 100px;
	overflow-y: auto;
	height: calc(100vh - 100px);
}
.menu-col-sx nav,
.menu-col-sx nav li {
	width: 100%;
	padding-bottom: 10px;
}
.menu-col-sx .dropdown-menu {
	padding: 10px;
}

header {
	/*border-top: solid 5px #006b83;*/
/*	padding-top: 60px;
	padding-bottom: 60px;
	background-color: #f3f3f3;*/
}
header.absolute-header {
	position: fixed;
	background-color: #001a3200;
	transition: background-color 0.5s ease;
	z-index: 15;
	width: 100%;
	top: 0px;
}
body.scrolled header.absolute-header {
	background-color: #001a32;
}

.menu-link {
    line-height: 50px;
    cursor: pointer;
    font-weight: 400;
	flex-grow: 1;
}
.menu-link div , .menu-link:after, .menu-link:before{
    background-color: #000;
    border-radius: 3px;
    content: '';
    display: block;
    height: 2px;
    width: 35px;
    margin: 8px 0;
    -moz-transition: all .2s ease-in-out;
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}
header.absolute-header .menu-link div, header.absolute-header .menu-link:after, header.absolute-header .menu-link:before {
	background-color: #fff;
}
.menu-col-sx .menu-link div, .menu-col-sx .menu-link:after, .menu-col-sx .menu-link:before {
	background-color: #000;
}
header a:link, header a:visited,
.menu-col-sx a:link, .menu-col-sx a:visited {
	color: #000;
	font-weight: 500;
}
header.absolute-header a:link, header.absolute-header a:visited {
	color: #fff;
}

header.absolute-header .dropdown-menu {
	background-color: transparent;
}
header.absolute-header .dropdown-menu.ul1 {
	background: linear-gradient(to bottom, #000000, #00000055);
	z-index: 9;
}
header.absolute-header .dropdown-menu.ul1 > .dropdown-submenu > .dropdown-toggle:after,
.menu-col-sx .dropdown-submenu > .dropdown-toggle:after {
	display: none;
}

header .navbar {
	display: none;
}

/* @media (min-width: 993px) {
	.menu-link {
		display: none;
	}
}
@media (max-width: 992px) {
	header .navbar {
		display: none;
	}
} */

.menu-col-sx .ul2.dropdown-menu {
	display: block;
	border: none;
	border-bottom: solid 1px #ccc;
	border-radius: 0;
}

.cont-elem-testata {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	position: relative;
	min-height: 140px;
}
.comunicazioni_testata {
	flex-grow: 1;
}
@media (max-width: 520px) {
	.cont-elem-testata.testata1 {
		flex-wrap: wrap;
		justify-content: right;
	}
	.comunicazioni_testata {
		width: 100%;
		font-size: 8pt;
		text-align: center;
	}
}


.container-full {
	max-width: 100%;
	padding-left: 15px;
	padding-right: 15px;
}

.menu-link.active:before{
    -moz-transform: translateY(10px) rotate(135deg);
    -webkit-transform: translateY(10px) rotate(135deg);
    transform: translateY(10px) rotate(135deg);
}
.menu-link.active:after{
    -moz-transform: translateY(-10px) rotate(-135deg);
    -webkit-transform: translateY(-10px) rotate(-135deg);
    transform: translateY(-10px) rotate(-135deg);
}
.menu-link.active div{
    -moz-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
}

ol.breadcrumb {
	margin-bottom: 0;
	padding: 10px 20px;
}
.breadcrumbs .start_breadgrumb {
	/*display: none;*/
}
.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
}
.breadcrumbs .breadcrumb {
	padding: 0px 10px;
	margin-bottom: 0;
}
.prod-list .breadcrumbs {
	display: none;
}

header #login-area {

}

header #login-area button {
	background: none;
	border: none;
	font-weight: 400;
	color: #000;
}
header.absolute-header #login-area button  {
	color: #fff;
}
header #sintesi_carrello {
	display: table;
}

header #sintesi_carrello #full_cart {
	background-image: url('../images/cart_bl.png');
	background-repeat: no-repeat;
	background-size: cover;
	height: 30px;
	width: 30px;
	text-align: center;
	line-height: 28px;
	padding: 0 0 0 8px;
}
header.absolute-header #sintesi_carrello #full_cart {
	background-image: url('../images/cart.png');
}
header #sintesi_carrello #full_cart #sintesi_carrello_qta {
  color: #fff;
  font-size: 10pt;
}
header.absolute-header #sintesi_carrello #full_cart #sintesi_carrello_qta {
  color: #000;
}

.info_txt_testata {
	background-color: #000;
	/* text-align: center; */
	font-size: 10pt;
	color: #fff;
	padding: 5px 0;
	z-index: 999;
	position: inherit;
	font-weight: 500;
}



a:link, a:visited {
	color:#212121;
}
a:hover {
	color: #7f7f7f;
	/* text-decoration: none; */
}
a img {
	border: none;
}
.text-art a {
	color: #2980b9;
}
.text-art a.pulsante {
	display: block;
	background-color: #2980b9;
	color: #fff;
	border:1px solid #cccccc; 
	padding:5px 10px; 
	text-align:center
}

img.img-responsive {
	max-width: 100%;
	height: auto;
}
h1 {
	font-size: 28px;
	font-family: 'Viga', sans-serif;
}
h2 {
	font-size: 20px;
	font-family: 'Viga', sans-serif;
}
section {
	/* margin-bottom: 40px; */
}
section.fascia-menu {
	margin-bottom: 0px;
}
#fascia_evidenza,
.home-presentazione {
	background-color: transparent;
}
#navbar .navbar nav {
	border-bottom: solid 1px #000;
/*	height: 55px;*/
}
header .ul0.nav.navbar-nav.radice_menu {
	flex-direction: row;
	justify-content: space-around;
	width: 100%;
	flex-wrap: nowrap;
}
header.absolute-header .ul0.nav.navbar-nav.radice_menu {
	border-bottom-color: #fff;
}
header .navbar li.current-menu a, header .navbar li a:hover {
	/* color: #C39D45; */
	/* border-bottom: solid 3px #000; */
}
header.absolute-header .navbar li.current-menu a, header.absolute-header .navbar li a:hover {
	/* border-bottom-color: #fff; */
}

#button-info-utente {
	/* display: inline; */
	position: relative;
	top: -5px;
	/* right: 20px; */
}
#info-utente {
    position: absolute;
}
#iniziali-utente {
    background-color: #fff;
    color: #000;
    /* padding: 10px; */
    border-radius: 20px;
    width: 40px;
    display: inline-block;
    height: 40px;
    line-height: 40px;
    text-align: center;
    overflow: hidden;
    position: relative;
    top: 8px;
    font-size: 12pt;
    cursor: pointer;
}
#info-utente {
    position: absolute;
    top: 50px;
    right: 0;
    background-color: #fff;
    color: #000;
    padding: 10px 20px;
    border-radius: 5px;
    white-space: nowrap;
    z-index: 10;
    display: none;
    border: solid 1px #aaa;
}
#info-utente h1 {
    font-size: 20pt;
    margin: 10px 0 0;
}
#info-utente h2 {
    font-size: 14pt;
    font-weight: 200;
    margin-bottom: 30px;
}
#info-utente a, #info-utente a:visited {
    color: #000;
}

.titolo_pagina {
	text-align: center;
	margin: 50px auto 30px;
}
.titolo_pagina h1 {
	font-size: 20px;
	color: #8a8a8a;
}
#fascia_evidenza {
	/* margin-top: -127px;
	z-index: 10; */
	position: relative;
}
#fascia_evidenza .section_vis_art .vis-articolo {
	margin-top: 0;
}
#fascia_evidenza .section_vis_art .vis-articolo .social-share {
	display: none;
}

#fascia_evidenza .item-box-content {
	position: absolute;
	bottom: 10vw;
	left: 0;
	text-align: center;
	width: 100% !important;
	color: #fff;
}

#fascia_evidenza video {
	width: 100%;
}
article video.first-video {
	width: 100%;
}

#fascia_evidenza .item-box-content a,
#fascia_evidenza .item-box-content a:visited {
	color: #fff;
	font-weight: 400;
}
#fascia_evidenza .light_bg .item-box-content a,
#fascia_evidenza .light_bg .item-box-content a:visited,
#fascia_evidenza .light_bg .item-box-content {
	color: #212121;
}
#fascia_evidenza .item-box-content h1 {
	font-size: 40px;
	font-weight: 500;
	margin-bottom: 30px;
}
#fascia_evidenza .item-box-content h2 {
	font-size: 11pt;
	text-transform: uppercase;
	letter-spacing: 5px;
}
#fascia_evidenza .item-box-content .text-art {
	margin-bottom: 0px;
}
#fascia_evidenza .item-box-content .readmore a {
	border: solid 3px #fff;
	padding: 10px 60px;
	border-radius: 0;
	display: inline-block;
	margin-top: 40px;
	font-weight: 500 !important;
	color: #000;
	background-color: #fff;
	text-transform: uppercase;
	font-size: 10pt;
}
#fascia_evidenza .light_bg .item-box-content .readmore a {
	background-color: #212121;
	color: #fff;
	border-color: #000;
}

section.section_cont_art.more-info {
	background-image: url('../images/bg_more_info.jpg');
	color: #fff;
	text-align: center;
	padding: 100px;
}
section.more-info a, section.more-info a:visited {
	color: #fff;
}
section.more-info .readmore a {
	border-color: #fff;
}
section.more-info .art_title h1 {
	text-transform: uppercase;
	font-weight: bold;
	font-size: 30pt;
}
section.more-info .art_subtitle h2 {
	text-transform: uppercase;
	font-weight: 400;
	font-size: 14pt;
	letter-spacing: 3px;
	margin-top: 30px;
}

section.full-page .container,
section.full-page-griglia .container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
}
section.full-page .cont-art-element {
	width: 100%;
	display: table;
}
section.full-page article.vis-articolo {
	display: flex;
	align-items: center;
}
section.full-page .cont-art-element:nth-child(even) article.vis-articolo {
	flex-direction: row-reverse;
}

section.full-page .contenuti-articolo{
	padding: 30px;
}

section.full-page .text-art {
	/*padding: 30px 100px;*/
	font-weight: 300;
}
section.full-page .cont-art-element .first-img-articolo,
section.full-page.gallery-only .cont-art-element .altre-img {
	width: calc(50vw - 10px);
	overflow: hidden;
	flex: 1 0 auto;
}
section.full-page .cont-art-element .first-img-articolo figure,
section.full-page.gallery-only .cont-art-element .altre-img .gallery-item {
	width: 50vw !important;
	min-width: 750px !important;
}

section.full-page-griglia.gallery-only .bloglist  {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 8px;
  padding: 15px;
}
section.full-page-griglia.gallery-only .bloglist article .item-box.art_title {
	min-height: 80px;
}

@media (max-width: 900px) {
  section.full-page-griglia.gallery-only .bloglist {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  section.full-page-griglia.gallery-only .bloglist {
    grid-template-columns: repeat(1, 1fr);
  }
}
section.full-page-griglia.gallery-only .bloglist





.prodotti_home h2.nome-prod {
	display: block;
}
.prodotti_home.owl-carousel {
	display: block;
	padding: 70px 0;
	width: calc(100% - 140px);
	text-align: center;
}
.prodotti_home.owl-carousel .cont-lista-prodotti {
	position: relative;
}
.prodotti_home .smoothmenu-subcat {
	margin-top: 30px;
}
.prodotti_home .smoothmenu-subcat ul {
	list-style: none;
	display: flex;
	justify-content: center;
	padding: 0;
	font-size: 15pt;
}
.prodotti_home .smoothmenu-subcat ul li {
	margin: 10px;
}

.prodotti_home .bt-det-prod {
	display: none;
}
.prodotti_home .cont-prodotto {
	position: relative;
}
.prodotti_home .cont-prodotto .cont-prodotto-text {
	text-align: center;
/*	position: absolute;
	bottom: 10%;
	border: solid 1px #ddd;*/
	padding: 30px;
	opacity: 0.5;
	transition: opacity .25s ease-in-out;
   -moz-transition: opacity .25s ease-in-out;
   -webkit-transition: opacity .25s ease-in-out;
}
.prodotti_home .cont-prodotto:hover .cont-prodotto-text {
	opacity: 1;
	border: solid 1px #ddd; 
}
.prodotti_home .cont-prodotto .cont-prodotto-text h3.descr-breve-prod {
	font-size: 8pt;
	text-transform: uppercase;
}
.prodotti_home .cont-prodotto .fotoProdotto img {
	opacity: 1;
	transition: opacity .25s ease-in-out;
   -moz-transition: opacity .25s ease-in-out;
   -webkit-transition: opacity .25s ease-in-out;
}
.prodotti_home .cont-prodotto:hover .fotoProdotto img {
	opacity: 0.5;
}

/* Visualizzazione lista prodotti a griglia */
.prodotti_griglia .cont-lista-prodotti {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 100px;
	row-gap: 40px;
}
.prodotti_griglia .cont-lista-prodotti-prodotto {
	width: 33%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	text-align: center;
}
.prodotti_griglia h1.arttitle {
	text-align: center;
	margin-top: 60px;
}
.prodotti_griglia .descr_categoria {
	/* display: none; */
	text-align: center;
	margin: 40px 40px 0;
}

/* ── Lista prodotti — card catalogo ── */

/* wrapper esterno già gestito dalla griglia esistente */
.cont-lista-prodotti-prodotto .cont-prodotto {
    display: flex;
    flex-direction: column;
    height: 100%;
	position: relative;
}

.cont-lista-prodotti-prodotto .tag_prodotto {
    position: absolute;
    top: 40px;
    right: 40px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100px;
    height: 68px;
    padding: 0 6px;
    background-color: #0068b3;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.1;
    border-radius: 50%;
    /* clip-path: polygon(
        50% 0%, 61% 12%, 75% 4%, 79% 18%,
        94% 15%, 92% 30%, 100% 38%, 90% 48%,
        98% 60%, 85% 65%, 87% 79%, 73% 78%,
        68% 92%, 55% 84%, 45% 96%,
        36% 84%, 22% 91%, 20% 77%,
        6% 79%, 10% 65%, 0% 56%,
        10% 46%, 3% 33%, 16% 28%,
        14% 13%, 28% 17%, 33% 3%, 45% 12%
    ); */
    transform: rotate(-9deg);
    pointer-events: none;
}

/* — Foto — */
.cont-lista-prodotti-prodotto .fotoProdotto {
    display: block;
    overflow: hidden;
}

.cont-lista-prodotti-prodotto .fotoProdotto a {
    display: block;
}

.cont-lista-prodotti-prodotto .fotoProdotto figure {
    margin: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.cont-lista-prodotti-prodotto .fotoProdotto figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.cont-lista-prodotti-prodotto .fotoProdotto a:hover figure img {
    transform: scale(1.04);
}

/* — Testo — */
.cont-lista-prodotti-prodotto .cont-prodotto-text {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 0.85rem 0 0 0;
}

.cont-lista-prodotti-prodotto .nome-prod {
    margin: 0 0 0.35rem 0;
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.3;
    color: #111;
}

.cont-lista-prodotti-prodotto .nome-prod a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.cont-lista-prodotti-prodotto .nome-prod a:hover {
    color: #0068b3;
}

.cont-lista-prodotti-prodotto .descr-breve-prod {
    margin: 0 0 0.75rem 0;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.4;
    color: #777;
    /* 2 righe max, poi taglia — coerenza altezza */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cont-lista-prodotti-prodotto .descr-breve-prod a {
    color: inherit;
    text-decoration: none;
}

/* — Prezzo spinto in fondo — */
.cont-lista-prodotti-prodotto .price-prod {
    margin-top: auto;
    margin-bottom: 0.65rem;
}

.cont-lista-prodotti-prodotto .prezzo-cont {
    display: flex;
	justify-content: center;
    align-items: baseline;
    gap: 0.4rem;
    font-size: 0.85rem;
    color: #111;
}

.cont-lista-prodotti-prodotto .span_prezzo_da_scontare.barrato {
    text-decoration: line-through;
    color: #aaa;
    font-weight: 400;
}

.cont-lista-prodotti-prodotto .span_prezzo {
    font-size: 1.05rem;
    font-weight: 700;
    color: #0068b3;
}

.cont-lista-prodotti-prodotto .badge-sconto {
    display: inline-block;
    padding: 0.1rem 0.4rem;
    background-color: #0068b3;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    border-radius: 2px;
}

/* — Bottone dettagli — stile coerente con readmorelink — */
.cont-lista-prodotti-prodotto .bt-det-prod {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 1.1rem;
    background-color: transparent;
    border: 1.5px solid #0068b3;
    border-radius: 2px;
    color: #0068b3;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
	width: 120px;
	margin: auto;
	justify-content: center;
}

.cont-lista-prodotti-prodotto .bt-det-prod:hover,
.cont-lista-prodotti-prodotto .bt-det-prod:focus {
    background-color: #0068b3;
    color: #fff;
}

.cont-lista-prodotti-prodotto .clear {
    display: none;
}

/* --- */

/* Visualizzazione prodotto*/
.view-prodotto {
	background-color: #f3f3f3;
	padding-bottom: 60px;
}
.view-prodotto .cont-info-prodotto {
	display: flex;
	justify-content: center;
	padding-top: 80px;
}
.view-prodotto .cont-info-prodotto .foto {
	flex: 1;
	text-align: center;
}
.view-prodotto .cont-info-prodotto .foto img {
	mix-blend-mode: multiply;
}
.view-prodotto .cont-info-prodotto .info-prodotto {
	flex: 1;
}

.view-prodotto .cont-info-prodotto .info-prodotto  .des_categoria_prodotto {
	text-transform: uppercase;
	margin-bottom: 10px;
	font-size: 14px;
	letter-spacing: 5px;
}
.view-prodotto .cont-info-prodotto .info-prodotto .prd_nome {
	font-weight: 400;
	font-size: 22pt;
	letter-spacing: 1px;
	margin-bottom: 30px;
}
.view-prodotto .cont-info-prodotto .info-prodotto .prd_nome .suffisso {
	text-transform: uppercase;
}
.view-prodotto .cont-info-prodotto .info-prodotto .prd_parole_chiave {
	font-weight: 600;
	font-size: 15pt;
	margin-bottom: 10px;
	display: none;
}
.view-prodotto .cont-info-prodotto .info-prodotto .prd_descrizione {
	line-height: 25px;
}
.view-prodotto .cont-info-prodotto .info-prodotto ul.lista-info-prod {
	display: flex;
	justify-content: center;
	padding-left: 0;
}
.view-prodotto .cont-info-prodotto .info-prodotto ul.lista-info-prod li {
	margin: 20px;
}
.view-prodotto .cont-info-prodotto .info-prodotto .elenco-varianti ,
.cont-prodotto-collegato .elenco-varianti {
	margin: 30px 20px;
	font-size: 20pt;
}
.cont-lista-prodotti .elenco-varianti {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 5px 10px;
	justify-content: space-between;
	margin: 10px 10px;
	font-size: 10pt;
}
.cont-lista-prodotti .elenco-varianti .row-variante {
  width: 100%;
  margin-top: 10px;
}
.view-prodotto .cont-info-prodotto .info-prodotto .elenco-varianti .row-variante ,
.cont-prodotto-collegato .elenco-varianti .row-variante {
	margin: 30px 0;
}
.view-prodotto .cont-info-prodotto .info-prodotto .elenco-varianti .row-variante .prezzo ,
.cont-prodotto-collegato .elenco-varianti .row-variante .prezzo {
	font-weight: 500;
	color: #f90000;
}
.cont-lista-prodotti .elenco-varianti .row-variante .prezzo {
	font-weight: 500;
}
.view-prodotto .cont-info-prodotto .info-prodotto .puls_add_cart,
.cont-prodotto-collegato .puls_add_cart,
.lista_prodotti_da_aggiungere .puls_add_cart,
.cont-lista-prodotti .elenco-varianti .puls_add_cart {
	float: right;
	color: #fff;
	background-color: #212121;
	padding: 7px 30px;
	display: block;
	font-size: 12pt;
	text-transform: uppercase;
	letter-spacing: -1px;
	font-weight: 400;
	height: 40px;
}
.cont-lista-prodotti .cont-prodotto:hover .elenco-varianti .puls_add_cart {
  opacity: 1;
}
.cont-lista-prodotti .elenco-varianti .puls_add_cart {
  background-color: #212121cc;
  opacity: 0;
  transition: all 0.5s;
  padding: 5px 12px;
  border-radius: 4px;
  height: 25px;
}
.cont-lista-prodotti .elenco-varianti .info_punti_prodotto {
	font-size: 6pt;
	display: none;
}
/*accordion vis prodotto*/
.tab-content {
  overflow: hidden;
  display: none;
}
.tab input:checked ~ .tab-content {
  display: block;
}
/* [THE ENTIRE TAB] */
.tab {
  position: relative;
  /*margin: 2px;*/
  /*max-width: 600px;*/
}

/* [THE LABEL] */
.tab input {
  display: none;
}
.tab label {
	display: block;
	background: transparent;
	color: inherit;
	font-weight: bold;
	padding: 10px 0;
	cursor: pointer;
	border-top: solid 1px #aaa;
}
.tab:last-child {
	border-bottom: solid 1px #aaa;
}
.tab label::after {
	content: "+";
	position: absolute;
	right: 10px;
	top: 10px;
	display: block;
	transition: all 0.4s;
	color: #fff;
	background-color: #212121;
	padding: 0px 7px;
	border-radius: 20px;
}
.tab input[type=checkbox]:checked + label::after,
.tab input[type=radio]:checked + label::after {
  color: transparent;
  background-color: transparent;
}

/* [THE CONTENTS] */
.tab-content {
  overflow: hidden;
  /*background: #ccdef9;*/
  /* CSS animation will not work with auto height */
  /* This is why we use max-height */
  transition: max-height 0.5s;
  max-height: 0;
}
.tab-content p {
  margin: 20px;
}
.tab input:checked ~ .tab-content {
  /* Set the max-height to a large number */
  /* Or 100% viewport height */
  max-height: 500px;
}

/* fine accordion prodotto*/

/* Fine Visualizzazione prodotto*/


.owl-nav {
	position: absolute;
	width: 100%;
	bottom: 50%;
	z-index: 10;
}
.owl-nav .owl-prev {
	left: 0px;
	transform: translateX(-150%);
	position: absolute;
	background-color: transparent !important;
}
.owl-nav .owl-next {
	right: 0px;
	transform: translateX(150%);
	position: absolute;
	background-color: transparent !important;
}
section#fascia_evidenza .owl-carousel .owl-stage,
section#fascia_evidenza .owl-carousel .owl-item {
	/* display: flex; */
	height: 100vh;
}
section#fascia_evidenza .owl-carousel .owl-item * {
	height: 100%;
	width: 100%;
}
section#fascia_evidenza .owl-carousel .owl-item .item-box-content,
section#fascia_evidenza .owl-carousel .owl-item .item-box-content * {
	height: auto;
	width: auto;
}
section#fascia_evidenza .owl-carousel .owl-item img,
section#fascia_evidenza .owl-carousel .owl-item video {
	object-fit: cover;
}
section#fascia_evidenza .owl-carousel .owl-item figure {
	background: #00579C66;
}
section#fascia_evidenza .owl-carousel .owl-item figure img {
	mix-blend-mode: multiply;
}


.readmore a {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 1.1rem;
    background-color: transparent;
    border: 1.5px solid #0068b3;
    border-radius: 2px;
    color: #0068b3;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.readmore a:hover,
.readmore a:focus {
    background-color: #0068b3;
    color: #fff;
}

.cc-cookies {
	width: 100% !important;
}

/*FAQ*/

.section_cont_art.faq .art_title {
  background-color: rgb(242, 242, 242);
  padding: 10px 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
}
.section_cont_art.faq .art_title h1 {
	/*font-size: var(--font-size-08);*/
	margin-bottom: 0;
}

.section_cont_art.faq .art_title::before {
	/*
	content: "";
  display: inline-block;
  background-image: url('../images/icon-question.png'); 
  background-repeat: no-repeat;
	background-size: contain;
	*/

	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	content: "\f078";

  width: 30px;
  height: 30px;
  flex-shrink: 0;
}

.section_cont_art.faq .text-art {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
  padding: 0 15px;
  /*background: var(--color3_3);*/
  line-height: 1.6;
}

.section_cont_art.faq .faq.open .text-art {
  grid-template-rows: 1fr;
  padding: 15px;
}

.section_cont_art.faq .text-art > * {
  overflow: hidden;
}

.faq .striscia-titolo-ist {
	text-align: center;
	/*color: var(--color5);*/
	width: 100%;
	padding: 30px;
	/*background: linear-gradient(to bottom, var(--color3), var(--color3_1));*/
}

.faq .bloglist {
	margin: 30px 0 80px;
}

/* Formattazione FORM */
.input_element input, .input_element button, .input_element textarea, .input_element select {
    border: none;
    border-bottom: 1px solid #ccc;
}
.input_element input, .input_element button, .input_element textarea {
  background-color:white;
}
.input_element input.error, .input_element textarea.error, .campo-errato, select.error {
  background-color:#FF9092;
}
.input_element input:focus, .input_element textarea:focus {
  background-color:#f2f2f2;
}

.input_element input.bottone
, .input_element button.bottone {
  background-color:#f6f6f6;
  padding-left: 5px;
}
.input_element input.bottone:hover
, .input_element button:hover {
  background-color:#eaeaea;
}

.input_element input#ctrl_image_refreshctrl_code, .input_element button#ctrl_image_refreshctrl_code {
  border: none;
  height: auto;
  background: transparent;
  width: auto;
  padding:0;
  margin: 0;
  font-size: 8pt;
}
#immagine_antispamctrl_code {
  height: 60px;
}


.input_element textarea {
    font-size: 12px;
    line-height: 13px;
    height: 100px;
    width: 320px;
    overflow: hidden;
}
input[type="submit"]:after {
	content:'sto inviando...';
}
.c_c_d_required .p_label_radio::after,
.c_l_required::after {
	font-family: "Font Awesome 7 Free";
	font-weight: 900;
	content: "\f069";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	color: #d93d25 !important;
	font-size: 8px;
	position: relative;
	top: -5px;
	padding: 0px 5px;
}
#form_reg legend.form_legend {
	padding: 20px 0;
}

.form_registrazione,
.form_checkout {
	background-color: #f3f3f3;
	padding: 50px 0;
}
.form_steps label {
	display: block;
}
.form_steps input {
	width: 100%;
}

.info_login_checkout a {
	margin-bottom: 50px;
	text-align: center;
	border: solid 1px #ccc;
	background-color: #ddd;
	padding: 20px;
	display: block;
}
.info_login_checkout a:hover {
	background-color: #eee;
}
.container.cont-carrello {
	padding: 0;
	margin-bottom: 10px;
}

#div_carta_credito_checkout {
	display: none;
	padding: 20px;
	border: solid 1px #eee;
}

#card-element {
	padding: 12px;
	border: 1px solid #ccc;
	border-radius: 3px;
	background-color: white;
}

#card-element.focused {
	border-color: #3182ce;
	box-shadow: 0 0 0 1px #3182ce;
}

#copy_data {
	font-style: italic;
	font-size: 9pt;
	/* display: table; */
	/* float: right; */
	/* border: solid 1px #ddd; */
	/* padding: 0px 9px; */
	/* box-shadow: #ccc 1px 1px 1px; */
	cursor: pointer;
	text-align: right;
}

	/*#div_carta_credito_checkout .dati_carta {
		display: flex;
		font-size: 14px;
	}
	#div_carta_credito_checkout .dati_carta input {
		border: none;
		border-bottom: solid 1px #ccc;
		padding: 0;
		margin-left: 10px;
	}
	#div_carta_credito_checkout .stripe-logo {
		text-align: right;
		margin-top: ;
	}
	#div_carta_credito_checkout .stripe-logo img {
		width: 90px;
		margin: 10px 0;
	}*/
#block-payment-div,
#div_stripe_payment {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: #00000055;
	z-index: 99;
	justify-content: center;
	align-items: center;
	display: none;
/*	display: flex;*/
}
#block-payment-div #block-payment-div-info {
	background-color: #fff;
	border: solid 1px #000;
	padding: 40px 100px;
	display: flex;
	align-items: center;
	flex-direction: column;
}
@media (max-width: 994px) {
	#block-payment-div #block-payment-div-info {
		padding: 10px;
	}
}

#div_stripe_payment .payment-order {
	width: 400px;
	max-width: 100%;
	background-color: #fff;
}
#div_stripe_payment #div_carta_credito_checkout .dati_carta input {
	margin: 20px 0;
}
#div_stripe_payment #div_carta_credito_checkout .pulsanti {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#div_stripe_payment #div_carta_credito_checkout .pulsanti .link_pulsante_form {
	width: auto;
	padding: 5px 10px;
	margin: 20px 0 0;
}

a.stripe-payment {
	border: 1px solid #CCCCCC;
	background-color: #006b83;
	color: #fff;
	padding: 10px;
	text-align: center;
	margin-bottom: 10px;
}

.button-paypal {
	background-image: url('../images/PayPal_logo.png');
	background-size: 100px;
	background-repeat: no-repeat;
	background-position: center center;
	width: 100%;
	height: 40px;
	border: none;
	background-color: #ffcc00;
	color: transparent;
	padding: 10px;
	margin-bottom: 10px;
}

#divcont_elem_bo_mod_pagamento {
}
#divcont_elem_bo_mod_pagamento .c_d_mod_pagamento {
	border: solid 1px #ccc;
	padding: 10px;
	background-color: #f1f1f1;
}
#divcont_elem_bo_mod_pagamento .c_d_mod_pagamento:first-child {
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
#divcont_elem_bo_mod_pagamento .c_d_mod_pagamento:last-child {
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

#formCheckout .class_checkbox {
	display: flex;
	gap: 20px;
	margin: 30px auto;
	flex-direction: row-reverse;
	justify-content: left;
}

/*form styles*/
.form_steps {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}
@media (max-width: 994px) {
	.form_steps {
		flex-direction: column;
	}
}
.form_steps fieldset.fieldset_avanzamento {
	background: white;
	border: solid 1px #ccc;
	border-radius: 5px;
	/*box-shadow: 0 0 15px 1px rgba(0, 0, 0, 0.4);*/
	padding: 20px 30px;
	box-sizing: border-box;
	width: calc(50% - 10px);

	/*stacking fieldsets above each other*/
	position: relative;
}

@media (max-width: 994px) {
	.form_steps {
		flex-direction: column;
	}
	.form_steps fieldset.fieldset_avanzamento {
		width: 100%;
	}
}
.form_steps fieldset.fieldset_avanzamento legend {
	display: none;
}
/*Hide all except first fieldset*/
.form_steps fieldset:not(:first-of-type) {
/*	display: none;*/
}
/*inputs*/
.form_steps input
, .form_steps button
, .form_steps textarea
, .form_steps select {
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-bottom: 10px;
	width: 100%;
	box-sizing: border-box;
	color: #2C3E50;
	font-size: 13px;
}
.form_steps input::placeholder {
	color: #2C3E50;
}
.form_steps input[type="radio"] {
	width: auto;
	margin: 10px;
}
.form_steps .class_radio {
	display: flex;
	align-items: baseline;
}

/*buttons*/
.form_steps .action-button {
	width: 100px;
	background: #006b83;
	font-weight: bold;
	color: white;
	border: 0 none;
	border-radius: 1px;
	cursor: pointer;
	padding: 10px 5px;
	margin: 10px 5px;
}
.form_steps .action-button:hover, .form_steps .action-button:focus {
	box-shadow: 0 0 0 2px white, 0 0 0 3px #006b83;
}

.form_steps #so_prefix_cell {
	width: 50px;
	float: left;
}
.form_steps #label_so_prefix_cell {
	display: none;
}
.form_steps #so_cellulare {
	width: calc(100% - 60px);
	margin-left: 10px;
}
/*headings*/
.fs-title {
	font-size: 15px;
	text-transform: uppercase;
	color: #2C3E50;
	margin-bottom: 10px;
}
.fs-subtitle {
	font-weight: normal;
	font-size: 13px;
	color: #666;
	margin-bottom: 20px;
}
/*progressbar*/
#progressbar {
	margin-bottom: 30px;
	padding: 0;
	overflow: hidden;
	/*CSS counters to number the steps*/
	counter-reset: step;
}
#progressbar li {
	list-style-type: none;
	text-transform: uppercase;
	font-size: 12px;
	width: 33.33%;
	float: left;
	position: relative;
}
#checkout_form #progressbar li {
	width: 33%;
}
#checkout_form fieldset {
	border: none;
	margin: 0;
}

#progressbar li:before {
	content: counter(step);
	counter-increment: step;
	width: 20px;
	line-height: 20px;
	display: block;
	font-size: 12px;
	font-weight: bold;
	color: #333;
	background-color: white;
	border-radius: 3px;
	margin: 0 auto 5px auto;
	position: relative;
	z-index: 2;
}
/*progressbar connectors*/
#progressbar li:after {
	content: '';
	width: 100%;
	height: 2px;
	background: white;
	position: absolute;
	left: -50%;
	top: 9px;
	z-index: 0; /*put it behind the numbers*/
}
#progressbar li:first-child:after {
	/*connector not needed before the first step*/
	content: none;
}
/*marking active/completed steps green*/
/*The number of the step and the connector before it = green*/
#progressbar li.active:before,  #progressbar li.active:after{
	background: #006b83;
	color: white;
}






/* END Formattazione FORM */

/* LOGIN */

.modal-header {
	display: block;
}
#modal_form_login {
  width: 300px;
}

#form_login fieldset {
	border:none;
}
#form_login input {
    margin-bottom: 10px;
}
#form_login label {
	text-align: center;
	display: block;
	margin-top: 20px;
}
#form_login .input_element {
	text-align: center;
}

#login-area a#link-rec-pwd {
  float: right;
  margin-right: 10px;
  font-style: italic;
  font-size: 12px;
}
#login-area a#link-rec-pwd::before {
    font-family: FontAwesome;
    content: "\f105";
    padding: 0px 5px;
	font-weight: 900;
}

#form_login a,
#form_login a:visited,
#form_login a:hover {
	color: #404040;
}

#form_login input#form_login_sublogin, #form_login button#form_login_sublogin {
	text-decoration: none;
	color: #FFF;
	background-color: #404040;
	border-radius: 4px;
	height: 40px;
	text-align: center;
	margin: 20px 0;
	padding: 5px 20px;
}
#link_pulsante_registrazione,
a.link_pulsante {
	display: table;
	margin: 10px auto;
	background-color: #404040;
	color: #fff;
	padding: 5px 20px;
	border-radius: 4px;
}

/* Login in pagina */

.cart_login {
	margin: 50px auto;
}
.cart_login #container_form_login {
	max-width: 350px;
	border: solid 1px #ccc;
	margin: 50px auto;
	padding: 30px;
	border-radius: 5px;
	text-align: center;
}
.cart-login-puls {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
.cart-login-puls a {
	border: solid 1px #ccc;
	padding: 10px 30px;
	border-radius: 5px;
	width: 30%;
	text-align: center;
	min-width: 200px;
}

/* END-LOGIN */

/* Custom Message Styling */
form div.success, form div.error {
	display: none;
}
div.info {
	margin: 20px 0px;
	padding:20px;
  font-size: 14px;
  color: #246EA7;
  background-color: #DFECF7;
  border: 1px solid #A7CEEC;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  box-shadow:0 0 6px #aaaaaa;
  -moz-box-shadow:0 0 6px #aaaaaa;
  -webkit-box-shadow:0 0 6px #aaaaaa;
  width: 100%;
}
div.error
,div.show-error,
#card-errors:not(:empty) {
	margin: 20px 0px;
	padding:20px;
  font-size: 14px;
  color: #C92036;
  background-color: #FAE1E1;
  border: 1px solid #EDA8A8;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  box-shadow:0 0 6px #aaaaaa;
  -moz-box-shadow:0 0 6px #aaaaaa;
  -webkit-box-shadow:0 0 6px #aaaaaa;
  width: 100%;
}
div.warning {
	margin: 20px 0px;
	padding:20px;
  font-size: 14px;
  color: #E08820;
  background-color: #FDF4D7;
  border: 1px solid #E8C779;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -moz-box-shadow:0 0 6px #aaaaaa;
  box-shadow:0 0 6px #aaaaaa;
  -webkit-box-shadow:0 0 6px #aaaaaa;
  width: 100%;
}
div.success,
div.success-message,
#info-pagamento:not(:empty){
	margin: 20px 0px;
	padding:20px;
  font-size: 14px;
  color: #84AF22;
  background-color: #E6F2D2;
  border: 1px solid #96C24A;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -moz-box-shadow:0 0 6px #aaaaaa;
  box-shadow:0 0 6px #aaaaaa;
  -webkit-box-shadow:0 0 6px #aaaaaa;
  width: 100%;
}

#cart-checkout {
	display: block;
	width: 100%;
	background-color: #000000ab;
	color: white;
	position: fixed;
	top: calc(-100vh - 100px);
	transition: all 1s;
	padding: 50px 0;
	min-height: 50vh;
	z-index: 999;
}
#cart-checkout .cont-carrello {
	max-height: 75vh;
	width: calc(100vw - 30px);
}
#cart-checkout.cart-visible {
	top: 0;
}
#cart-checkout a {
	color: #fff;
}
#close-cart {
	position: absolute;
	bottom: -30px;
	right: 10vw;
	color: #fff;
	background-color: #000c;
	padding: 5px 10px;
	height: 30px;
	border-bottom-right-radius: 10px;
	border-bottom-left-radius: 10px;
	font-weight: 500;
}

#cart-checkout input[type="number"],
#cart-checkout input[type="text"] {
	background-color: transparent;
	width: 60px;
}
#cart-checkout input[type="number"]:focus,
#cart-checkout input[type="text"]:focus {
	border: 1px solid var(--form-border);
}

#checkout_carrello .titolo {
	font-size: 12pt;
	font-weight: bold;
}

#checkout_carrello .cart-table-header {
	border-bottom: solid 1px #999;
	font-weight: 400;
	text-transform: uppercase;
	color: #999;
	padding: 15px 0;
	font-size: 11pt;
	letter-spacing: 4px;
}
#checkout_carrello .cart-table-content {
	font-weight: 500;
	padding: 10px 0;
	font-size: 14pt;
}
#checkout_carrello .cart-table-content .row {
	margin-bottom: 5px;
}
.riepilogo_costi_checkout #checkout_carrello {
	display: flex;
	flex-direction: column;
	margin: 30px;
}
.checkout_carrello_info.hidden {
	display: none;
}
.checkout_carrello_info {
	display: flex;
	justify-content: space-between;
}

.riepilogo_costi_checkout #checkout_carrello .checkout_carrello_info.totale {
	border-top: solid 1px #ccc;
}
.riepilogo_costi_checkout #checkout_carrello .checkout_carrello_info.totale .checkout_carrello_info_content {
	font-weight: bold;
}

.cart-info-message {
	background-color: #ffffffaa;
	color: #000;
	padding: 2px 10px;
	border: 1px solid #000;
	border-radius: 4px;
	margin-bottom: 5px;
}
.cart-info-message.cart-info-message-checkout {
	border: solid 1px #d93d25;
	margin: 20px 0;
	background-color: #d93d2510;
	padding: 10px 20px;
}
#missingSpedGratisValue {
	font-weight: bold;
}


a.button-remove {
	color: #fff;
	font-weight: 200;
	border: solid 1px #fff;
	border-radius: 20px;
	padding: 0px 4px;
	margin-left: 10px;
	font-size: 10pt;
}
.carr_qta input {
	background-color: transparent;
	color: #fff;
	text-align: center;
	width: 60px;
	padding: 8px 0;
	border: solid 1px #656565;
}
#calcolo_prezzo {
	text-align: right;
	color: #999;
}
#calcolo_prezzo .div-prezzo-tot {
	letter-spacing: 4px;
}
.div-prezzo-importo {
	margin-left: 20px;
	font-weight: 500;
	color: #fff;
	font-size: 18pt;
}
a.checkput_puls_red,
#checkout_form_button_OK {
	background-color: #006b83;
	color: #fff;
	font-weight: 500;
	font-size: 12pt;
	text-transform: uppercase;
	margin-left: 10px;
	display: inline-block;
	padding: 20px 40px;
	height: auto;
}

#checkout_form_button_OK {
	margin-left: 0;
}
a.checkput_puls_transparent {
	color: #fff;
	font-weight: 500;
	font-size: 12pt;
	text-transform: uppercase;
	margin-left: 10px;
	display: inline-block;
	padding: 20px 40px;
	border: solid 1px #fff;
}
.lista-pulsanti-checkout {
	display: flex;
	justify-content: right;
	align-items: center;
}
.cont-salva-bozza {
	margin-right: 10px;
	margin-top: 15px;
}

#order-info thead th {
	border-bottom: solid 1px #333;
}

#areaTabProd table,
table#order-info {
	width: 100%;
}
.numerico {
	text-align: right;
}

.carr_desc {
	width: 390px;
}
.carr_qta, .carr_seriale {
	width: 50px;
}
.carr_iva {
	width: 50px;
}
.carr_netto {
	width: 50px;
}
.carr_sconto {
	width: 50px;
}
.carr_prezzo, .carr_totale {
	width: 100px;
}
.spacer_tab_altro {
	min-width: 100px;
}
.carr_totale {
	font-weight: bold;
}
.totale_compl {
	font-weight: bold;
	border-top: solid 1px black;
	color: #eee;
	background-color: #666;
}
.button-remove {
	white-space: nowrap;
}

.elemento_carrello input.form-input-medium {
    border: 1px solid #4F4F4F;
    border-radius: 3px 3px 3px 3px;
    height: 25px;
    line-height: 25px;
    padding: 0 5px;
    width: 40px;
    text-align: center;
}

@media (max-width: 560px) {
	#checkout_carrello tbody td:nth-child(1),
	#checkout_carrello thead th:nth-child(1) {
		display: none;
	}
}



.ui-autocomplete-loading { background:url('../images/ajax-loader.gif') no-repeat right center }

.location_form_fields {
	max-width: 400px;
	width: 100%;
	margin: 40px auto;
	display: flex;
	flex-direction: column;
	text-align: center;
	color: #999;
}
.location_form_fields label {
	margin-top: 30px;
}
.geo_input.field {
	border: navajowhite;
	border-bottom: solid 1px #000;
	padding: 10px;
	font-size: 18pt;
}
#dove-div {
	display: flex;
	align-items: center;
}
.geo_input.button {
	border: solid 1px #ccc;
	padding: 10px;
}
#area_lista_locations,
#dettagli_location {
	display: none;
}
#dettagli_location {
	width: 100%;
}
#area_lista_locations {
	display: flex !important;
	margin-bottom: 100px;
}
#lista_location {
	margin-right: 10px;
	width: 40%;
	max-height: 490px;
	overflow-y: auto;
}
.location_info {
	font-size: 11pt;
	padding: 10px;
	cursor: pointer;
}
.location_info:nth-child(2n + 1) {
	background-color: #f5f5f5;
}
.location_info h1 {
	font-size: 14pt;
	margin-top: 10px;
}
.location_info .altre_info {
	display: none;
}
#location_selezionata .latitudine,
#location_selezionata .longitudine {
	display: none;
}
.location_info .tipo_centro {
	font-weight: bold;
}
.location_info .tipo_linee {
	font-style: italic;
}



#mappa {
	z-index: 4;
}

.info_prodotti_ordine {
	margin-top: 40px;
	padding: 13px;
}
.info_prodotti_ordine #order-info thead th {
	padding: 5px 10px;
}
.info_prodotti_ordine #order-info tbody td.centrato {
	text-align: center;
}
.action_ordine a {
	width: 100%;
	display: inline-block;
}
.link_pulsante_form, #checkout_form .link_pulsante_form {
	border: 1px solid #CCCCCC;
	border-radius: 3px 3px 3px 3px;
	background-color: #F6F6F6;
	line-height: 25px;
	padding: 0 5px;
	width: 250px;
	display: block;
	text-align: center;
	margin: 20px auto;
}

.c_d_dim_1_2 {
	width: calc(50% - 5px);
	float: left;
	margin-right: 10px;
}
.c_d_dim_1_3 {
	width: calc(33.333% - 5px);
	float: left;
	margin-right: 10px;
}
.c_d_dim_2_3 {
	width: calc(66.667% - 5px);
	float: left;
	margin-right: 10px;
}
.c_d_last {
	margin-right: 0;
}

/* Da ricontrollare da qui */






.home-presentazione {
	text-align: center;
	padding: 10px 0;
}
.home-presentazione h1 {
	font-weight: 500;
	font-size: 46px;
}
.home-presentazione h2 {
	font-weight: 300;
	font-size: 46px;
	color: #3a3a39;
}
.home-presentazione .text-art {
	font-size: 22px;
	font-weight: 300;
}

.istanza_titolo {
	text-align: center;
	font-size: 30px;
	text-transform: uppercase;
	margin-top: 60px;
	font-weight: 400;
	padding-bottom: 30px;
}
.istanza_titolo:after {
	content: "";
	border-bottom: solid 2px #212121;
	width: 100px;
	margin: 20px auto;
	display: block;
}

.home-servizi .bloglist {
	display: flex;
	flex-wrap: wrap;
}
.home-servizi .bloglist .cont-art-element {
	width: 50%;
	padding: 20px;
	text-align: center;
	margin-bottom: 40px;
}

section.home-bg-servizi {
	background-image: url('../images/immagine-fascia-CTA.jpg');
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 380px;
	background-position: center center;
}
.home-bg-servizi h1 {
	padding-top: 70px;
}
.home-bg-servizi h1:after {
	content: "";
	border-bottom: solid 2px #212121;
	width: 100px;
	margin: 20px 0;
	display: block;
}
.home-bg-servizi .text-art {
	font-size: 22px;
	width: 65%;
	margin: 20px 0;
}

.home-portfolio {
	text-align: center;
	margin-top: 50px;
	margin-bottom: 50px;
}
.home-portfolio .text-art p {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.home-portfolio .text-art p img {
	mix-blend-mode: multiply;
}

#slogan-header-int {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	background-position: center;
	margin-bottom: 40px;
}
#slogan-header-int::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: #00579C66;
  z-index: 0;
}
#slogan-header-int h1 {
	color: #f8f5f0;
	font-size: 46px;
	position: relative;
	z-index: 1;
}
.item-box.altre-img {
	text-align: center;
}
.item-box.altre-img h4 {
	display: none;
}
.interna-cont-art .bloglist {
	display: flex;
	flex-direction: column;
}
.interna-cont-art .bloglist .cont-art-element {
	margin-top: 140px;
	line-height: 30px;
}
.interna-cont-art .bloglist .cont-art-element:first-child {
	margin-top: 20px;
}
.interna-cont-art .bloglist .cont-art-element:last-child {
	margin-bottom: 90px;
}
.interna-cont-art .bloglist .cont-art-element:nth-child(odd) .first-img-articolo {
	float: right;
	margin-left: 20px;
	width: 50%;
}
.interna-cont-art .bloglist .cont-art-element:nth-child(even) .first-img-articolo {
	float: left;
	margin-right: 20px;
	width: 50%;
}
.interna-cont-art .bloglist .cont-art-element .first-img-articolo img {
	width: 100%;
}
.interna-cont-art .bloglist .cont-art-element .first-img-articolo figure::after {
	content: "";
	display: block;
	border-bottom: solid 4px #212121;
	width: 65%;
	margin: 20px auto;
}
.interna-cont-art article .art_title h1 {
	font-size: 30px;
	margin-bottom: 30px;
	text-transform: uppercase;
	font-weight: 500;
}

.archivio-comunicazioni .bloglist {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.archivio-comunicazioni .bloglist .cont-art-element {
	width: 33%;
	margin-bottom: 80px;
}
.aree-lavoro ul {
	display: table;
}
.preview_pdf iframe {
	width: 100%;
	height: calc(100vw * 3 / 4);
}


.pulsante-scuro {
	color: #fff !important;
	background-color: #212121;
	padding: 10px 30px;
	border-radius: 30px;
	margin-right: 40px;
	margin-top: 20px;
	display: inline-block;
}
.pulsante-chiaro {
	color: #212121 !important;
	border: solid 2px #212121;
	padding: 10px 30px;
	border-radius: 30px;
	margin-top: 20px;
	display: inline-block;
}
.uppercase {
	text-transform: uppercase;
}

footer {
    background-color: rgb(0, 26, 50);
    color: #fff;
    min-height: 300px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
	margin-top: 50px;
}

footer #logo-footer img {
    padding: 40px;
}

footer #testo-footer {
    padding-bottom: 30px;
    color: #fff;
	margin-top: 50px;
}

footer a,
footer a:visited,
footer a:link {
    color: #fff;
    /* text-decoration: underline; */
}

footer a:hover {
    color: #cfe0f0;
}

footer .social {
    display: flex;
    margin: auto;
    justify-content: center;
    font-size: 30px;
}

footer .social .social-icon {
    padding: 5px;
    color: #fff;
}

.contact-footer {
    padding: 20px;
}

#SkypeButton_Call_Maintech-snc_1 a {
    color: inherit !important;
}

.fb-like.fb_iframe_widget {
    padding-top: 25px;
}

.facebook {
    display: inline-block;
}

footer #testo-footer div {
    padding: 5px;
}

footer hr {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
    margin: 20px 0;
}

footer .piva,
footer .piva a,
footer .piva a:visited {
    text-transform: uppercase;
    color: #b8c6d6;
    font-weight: 300;
    font-size: 11px;
    letter-spacing: 1.5px;
}

#credits {
    padding-bottom: 40px;
}
/* Pagination  */
.pagination {
  clear:both;
  left:0;
  position:relative;
  font-size:12px;
  line-height:13px;
  margin: 20px;
}
 .pagination span, .pagination a {
  display:block;
  float:left;
  margin: 2px 10px 2px 0;
  padding: 8px 10px;
  text-decoration:none;
  width:auto;
  /*color:#7d7d7d; */
  border: 1px solid #212121;
}
.pagination a:hover{
  background: #212121;
  color:#ffffff;
}
.pagination .current{
  background: #212121;
  color:#ffffff;
}
.pagination .puntini{
  background: #ffffff;
  color:#212121;
  border:none;
  margin: 2px 6px 2px 0;
  padding: 8px 6px;
}
.portfolio-clients {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.portfolio-clients .portfolio-element {
	width: 20%;
	text-align: center;
	padding: 10px;
}
.portfolio-clients .portfolio-element img {
	mix-blend-mode: multiply;
}
.portfolio-more ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
}
.portfolio-more li {
	width: 50%;
}
article.contatti.vis-articolo {
	display: table;
	width: 100%;
}
article.contatti.vis-articolo .contacts-map {
	width: 50%;
	float: right;
}
article.contatti.vis-articolo .contacts-info {
	padding-top: 30px;
}
#searchform {
	margin-top: 20px;
}
#search-submit {
	background-color: transparent;
	/* border: none; */
	border: solid 3px #212121;
	padding: 2px 30px;
	border-radius: 30px;
	color: #212121;
	font-weight: 600;
	margin-top: 10px;
}
#search-submit:hover {
	background-color: #212121;
	color: #fff;
}
.search-heading-text {
	display: none;
}
.totop {
	display:none;
    bottom: 0;
    position: fixed;
    right: 0;
    z-index: 104400;
}
.totop a, .totop a:visited {
    color: #FFF;
    display: block;
    height: 30px;
    line-height: 30px;
    font-size: 20px;
    text-align: center;
    width: 30px;
}
.totop a:hover {
    color: #FFF;
    text-decoration: none;
}
.totop a, .totop a:visited {
    background: none repeat scroll 0 0 #212121;
}
.totop a:hover {
    background: none repeat scroll 0 0 #7f7f7f;
}

#social {
	display: flex;
	justify-content: space-evenly;
	font-size: 30px;
}
#search_field {
	padding: 10px;
}
#search_field input[type=text] {
	width: 100%;
	box-sizing: border-box;
	border: 2px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
	background-color: white;
	background-image: url('../images/searchicon.png');
	background-position: 10px 10px;
	background-repeat: no-repeat;
	padding: 12px 20px 12px 40px;
	-webkit-transition: width 0.4s ease-in-out;
	transition: width 0.4s ease-in-out;
}

/*Formattazione view articoli blog*/
.VIS_ART .s_cat_class_100068 > .container {
	max-width: 100%;
	padding: 0;
}
.VIS_ART .s_cat_class_100068 .art_blog_content {
	background-color: #fff;
	top: 30vw;
	position: relative;
	margin-bottom: 1000px;
}
.VIS_ART .s_cat_class_100068 .item-box-content {
	padding: 40px 0;
}
.VIS_ART .s_cat_class_100068 .item-box-content h2 {
	margin-bottom: 40px;
}
.VIS_ART .s_cat_class_100068 .item-box.first-img-articolo {
	position: fixed;
	width: 100%;
	z-index: -1;
}
.VIS_ART .s_cat_class_100068 .item-box.first-img-articolo img {
	width: 100%;
}
.VIS_ART .s_cat_class_100068 .item-box-content .zoom figure {
	text-align: center;
	margin: 40px;
}

/* Fine Formattazione view articoli blog*/

.VIS_ART .prod-list.rp {
	padding: 40px 0;
	text-align: center;
}
.VIS_ART .prod-list.rp h4 {
	font-size: 1.2rem;
}
.VIS_ART .prod-list.rp .cont-prodotto-collegato {
	border-bottom: solid 1px #ddd;
	margin: 20px;
	padding-bottom: 10px;
}
.VIS_ART .prod-list.rp .productlist {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.VIS_ART .prod-list.rp .productlist .cont-prodotto-collegato {
	width: 360px;
}
.VIS_ART .prod-list.rp .productlist .cont-prodotto-collegato img {
	height: 300px;
}
.VIS_ART .prod-list.rp .productlist .cont-prodotto-collegato .row-variante.vendita,
.VIS_ART .prod-list.rp .productlist .cont-prodotto-collegato .row-variante.natale {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-around;
}
.VIS_ART .prod-list.rp .productlist .cont-prodotto-collegato .row-variante.vendita .info_punti_prodotto {
	width: 100%;
}

article.art_in_evidenza {

	text-align: center;
	margin: 50px auto 50px;
	border: solid 1px #ddd;
	padding: 30px;

}

.VIS_ART section.full-page.vis-art article.vis-articolo {
	display: block;
	margin-bottom: 80px;
	/* padding-bottom: 50px; */
	border-bottom: solid 1px #ddd;
}
.VIS_ART section.full-page.vis-art article.vis-articolo .item-box.first-img-articolo img {
	min-height: 700px;
	object-fit: cover;
}
.VIS_ART section.full-page.vis-art article.vis-articolo > div:not(.first-img-articolo) {
	/* max-width: 1380px; */
	max-width: 900px;
	margin: auto;
	padding: 15px;
}
.VIS_ART section.full-page.vis-art article.vis-articolo.cat_class_100102 .altre-img {
	max-width: none;
}

.VIS_ART section.full-page.vis-art article.vis-articolo .art_title,
.VIS_ART section.full-page.vis-art article.vis-articolo .pub_date {
	text-align: center;
}

/* Griglia galleria responsive */
.VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item  {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px;
}

/* Schermi medi (tablet landscape) */
@media (max-width: 1200px) {
  .VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item {
    grid-template-columns: repeat(4, 1fr);
  }
}

/* Tablet portrait */
@media (max-width: 900px) {
  .VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Mobile grande */
@media (max-width: 600px) {
  .VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile piccolo */
@media (max-width: 380px) {
  .VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item {
    grid-template-columns: 1fr;
  }
}


.VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item .zoom {
  display: block;
  width: 100%;
  overflow: hidden;
}

.VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item .zoom img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.VIS_ART section.full-page.vis-art article.vis-articolo .altre-img .gallery-item .zoom:hover img {
  transform: scale(1.08);
}


.barrato {
  position: relative;
}
.barrato:before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  right: 0;
  border-top: 1px solid;
  border-color: inherit;

  -webkit-transform:rotate(-5deg);
  -moz-transform:rotate(-5deg);
  -ms-transform:rotate(-5deg);
  -o-transform:rotate(-5deg);
  transform:rotate(-5deg);
}
.info_progetto_tessera {
	margin: 40px;
	text-align: center;
}
.info_progetto_tessera .pulsante-partecipa,
.info_tessera .pulsante-partecipa {
	border: 1px solid #CCCCCC;
	border-radius: 3px 3px 3px 3px;
	line-height: 25px;
	width: 250px;
	text-align: center;
	margin: 20px auto;

	background-color: #006b83;
	color: #fff;
	font-weight: 500;
	font-size: 12pt;
	text-transform: uppercase;
	display: inline-block;
	padding: 20px 40px;
}

.info_tessera {
	font-size: 120%;
	margin: 20px auto;
	padding: 30px;
	/*background-color: lightyellow;
	border: solid 1px yellow;*/
	text-align: center;
}
.info_tessera .tessera {
	width: 400px;
	border: solid 1px #333;
	border-radius: 10px;
	margin: 30px auto;
	padding: 110px 30px 10px;
	background-image: url('../images/bg_card.png');
	background-size: cover;
	height: 247px;
}
.info_tessera .tessera img {
	mix-blend-mode: multiply;
}

.info_punti_prodotto {
	font-size: 12pt;
}
.sel_prodotto_omaggio {
	padding: 15px;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-bottom: 10px;
	min-width: 300px;
	box-sizing: border-box;
	color: #2C3E50;
	font-size: 13px;
}
.scelta_prodotto_omaggio {
	padding: 10px;
	border: solid 1px #d93d25;
	margin: 20px 0;
	background-color: #d93d2510;
	border-radius: 4px;
}

.elemento_lista_ordini {
	margin-bottom: 50px;
	padding-bottom: 50px;
	border-bottom: solid 1px #ccc;
}

.elemento_lista_ordini .icon-download {
	width: 50px;
	margin-right: 10px;
}

.testo-grande p {
	font-size: 140%;
}

.form_gradimento {
	text-align: center;
}
.form_gradimento .image-gradimento {
	margin: 40px auto;
}
.form_gradimento label {
	display: block;
	font-size: 80%;
	font-style: italic;
}
.form_gradimento textarea {
	border: solid 1px #ccc;
	width: 100%;
	max-width: 600px;
}
#form_gradimento_button_OK {
	background-color: #006b83;
	color: #fff;
	font-weight: 500;
	font-size: 12pt;
	text-transform: uppercase;
	margin: 40px auto 100px;
	display: inline-block;
	padding: 20px 40px;
}
#form_gradimento_thanks, #form_privacy_thanks {
	margin: 40px auto 100px;
	text-align: center;
}
.prodotto_da_aggiungere {
	display: flex;
	justify-content: space-between;
	margin-bottom: 10px;
}
.prodotto_da_aggiungere p {
	flex-grow: 2;
}
.prodotto_da_aggiungere .pulsanti_prodotto_aggiungere {
	margin-left: 10px;
}
.prodotto_da_aggiungere .quant_cart {
	width: 100px;
	text-align: center;
}

.lista_prodotti_da_aggiungere a.checkput_puls_red {
	display: block;
	margin: 50px auto 100px;
	width: 100%;
	max-width: 450px;
}

.cont_form_privacy .class_checkbox {
	display: flex;
	margin: 30px auto;
	border-bottom: solid 1px #ccc;
	padding-bottom: 30px;
	flex-direction: row-reverse;
	justify-content: left;
}
.cont_form_privacy .class_checkbox .checkbox_slideThree {
	margin-right: 20px;
}
.cont_form_privacy button#form_privacy_trattamenti_button_OK {
	background-color: #006b83;
	color: #fff;
	font-weight: 500;
	font-size: 12pt;
	text-transform: uppercase;
	display: block;
	margin: 50px auto 100px;
	width: 100%;
	max-width: 450px;
	padding: 20px 40px;
}
#divcont_bo_privacy {
    display: flex;
}

#area_fatturazione,
#area_fatturazione_piva,
#area_fatturazione_cf {
	display: none;
}


/* Promozioni  */
.pagina_scelta_promozioni {
	text-align: center;
}
.lista_promozioni {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 120px;
}
.lista_promozioni .info_promozione {
	margin: 20px;
	border: solid 1px #ccc;
	padding: 20px;
	width: 450px;
	max-width: 100%;
}
.lista_promozioni .info_promozione:hover {
	box-shadow: #ccc 0px 5px 10px;
	cursor: pointer;
}
.lista_promozioni .note_promozione {
	width: 100%;
}

/* Fine Promozioni  */


.row-variante.natale {
	position: relative;
}
.row-variante.natale::before {
	background-image: url('https://www.laboratorihur.com/grafiche/personalizzate/hur_customer/style/images/natale.png');
	width: 100px;
	height: 100px;
	display: block;
	content: " ";
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: -40px;
	left: -52px;
}

.video-embed.video-embed-interno {
	width: 100%;
}
.dt-youtube {
	width: 100%;
	aspect-ratio: 16/9;
}

.poster_coming_soon h1 {
	text-align: center;
	margin: 30px;
	font-size: 45pt;
}
.poster_coming_soon h2 {
	text-align: center;
	margin: 30px;
	font-size: 30pt;
}

.title-center h1,
.title-center h2 {
	text-align: center;
}

.payment-info-red {
	text-align: center;
	margin: 40px auto;
	border: solid 1px #006b83;
	padding: 20px;
	background-color: #faa;
}


.view-prodotto #logo_linea_product {
  margin: auto;
  text-align: center;
  font-size: 16pt;
}
.view-prodotto #logo_linea_product img {
  height: 180px;
  margin-bottom: 20px;
}

.view-prodotto .authorbox h4 {
	display: none;
}
.view-prodotto .authorbox ul.checklist {
	display: flex;
	list-style: none;
	padding: 0;
	margin: 0;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.view-prodotto .authorbox ul.checklist li a {

}


.flex-gallery .gallery-item {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
  justify-content: center;
  margin-bottom: 50px;
	
}
.flex-gallery .gallery-item .zoom {
	width: 130px;
	padding: 5px;
	margin: 0 30px;
}
.flex-gallery .arttitle {
	text-align: center;
	text-transform: uppercase;
}

#read_privacy {
	margin: 20px 0;
	display: block;
	font-style: italic;
	text-decoration: underline;
}


@media (max-width: 1250px) {
	#fascia_evidenza .item-box-content {
		max-width: none;
	}

	#fascia_area1 #cat_catalogo.lista_con_prodotti ul li .cont_info_cat {
		width: 300px;
	}

	#fascia_area1 #cat_catalogo.lista_con_prodotti ul li .cont_prod_cat {
		width: calc(100vw - 320px);
	}

}

@media (max-width: 992px) {
	header {
		padding: 0;
	}
	#fascia_evidenza .container {
		max-width: none;
	}
	#fascia_evidenza .item-box-content h1 {
		margin-bottom: 20px;
	}
	#fascia_evidenza .item-box-content .readmore a {
		margin-top: 0;
	}
	#fascia_evidenza .item-box-content .text-art {
		display: none;
	}
	.home-presentazione h1 {
		font-size: 35px;
	}
	.home-presentazione h2 {
		font-size: 35px;
	}
	.home-presentazione .text-art {
		font-size: 18px;
	}
	.archivio-comunicazioni .bloglist .cont-art-element {
		width: 50%;
	}
	.portfolio-clients .portfolio-element {
		width: 33%;
	}
	section.full-page .cont-art-element .first-img-articolo,
	section.full-page.gallery-only .cont-art-element .altre-img {
		width: calc(40vw - 10px);
	}
	body {
		font-size: 14px;
	}
	.form_steps {
		/*width: 75%;*/
	}

	.prodotti_griglia .cont-lista-prodotti-prodotto {
		width: 50%;
	}
}

@media (max-width: 780px) {
	#fascia_evidenza .item-box-content h1 {
		font-size: 23px;
	}
	#fascia_evidenza .item-box-content h2 {
		font-size: 10pt;
	}
	.interna-cont-art .bloglist .cont-art-element .first-img-articolo {
		float: none !important;
		margin-right: 0px !important;
		margin-left: 0px !important;
	}

	.form_steps {
		width: 100%;
	}

	#fascia_area1 #cat_catalogo.lista_con_prodotti ul li {
		display: block;
	}
	#fascia_area1 #cat_catalogo.lista_con_prodotti ul li .cont_info_cat {
		width: 100vw;
	}

	#fascia_area1 #cat_catalogo.lista_con_prodotti ul li .cont_prod_cat {
		width: 100vw;
	}

	#area_lista_locations {
		flex-direction: column;
	}

	#lista_location {
		margin-right: 0px;
		width: 100%;
		margin-bottom: 50px;
		border-bottom: solid 1px #ccc;
	}
	.prodotto_da_aggiungere .pulsanti_prodotto_aggiungere a {
		display: none;
	}
}

@media (max-width: 640px) {
	.header-background {
		height: auto;
	}
	#fascia_evidenza {
		margin-top: 0px;
	}
	#fascia_evidenza .item-box-content h1 {
		font-size: 23px;
	}
	#fascia_evidenza .item-box-content h2 {
		font-size: 10pt;
	}
	.home-presentazione h1 {
		font-size: 28px;
	}
	.home-presentazione h2 {
		font-size: 28px;
	}
	.home-presentazione .text-art {
		font-size: 16px;
	}
	.home-servizi .bloglist .cont-art-element {
		width: 100%;
	}
	.archivio-comunicazioni .bloglist .cont-art-element {
		width: 100%;
	}
	.portfolio-clients .portfolio-element {
		width: 50%;
	}
	.portfolio-more li {
		width: 100%;
	}
	.view-prodotto .cont-info-prodotto {
		display: block;
	}
	article.contatti.vis-articolo .contacts-map {
		width: 100%;
		float: none;
	}
	section.full-page article.vis-articolo {
		flex-direction: column !important;
	}
	section.full-page .cont-art-element .first-img-articolo,
	section.full-page.gallery-only .cont-art-element .altre-img {
		width: unset;
	}
	section.full-page .cont-art-element .first-img-articolo figure,
	section.full-page.gallery-only .cont-art-element .altre-img .gallery-item {
		width: unset;
		min-width: 100vw !important;
	}
	section.full-page .cont-art-element .first-img-articolo figure img{
		width: 100%;
	}
	#fascia_evidenza .item-box-content .readmore a {
		padding: 5px 30px;
	}
	.prodotti_home.owl-carousel {
		width: 100%;
	}
	section.section_cont_art.more-info {
		padding: 50px 10px;
	}
}
@media (max-width: 576px) {
	#fascia_evidenza .item-box-content h2 {
		display: none;
	}
	.portfolio-clients .portfolio-element {
		width: 100%;
	}

	#fascia_evidenza .item-box-content h1 {
		font-size: 18px;
		/*margin-bottom: 10px;*/
	}
	#fascia_evidenza .item-box-content .readmore a {
		padding: 2px 10px;
	}
	#logo img {
		max-width: 60px;
	}

	.prodotti_griglia .cont-lista-prodotti-prodotto {
		width: 100%;
	}

	.prodotto_da_aggiungere {
		flex-wrap: wrap;
		justify-content: right;
	}
	.prodotto_da_aggiungere p {
		width: 100%;
	}
}
@media (max-width: 400px) {
	#fascia_evidenza .item-box-content h1 {
		/*font-size: 14px;*/
	}
	#fascia_evidenza .item-box-content .readmore a {
		font-size: 10px;
	}
	#fascia_area1 #cat_catalogo ul li {
		width: 100%;
	}
}








ul.menu-branch {
  list-style: none;
  margin: 0;
  padding: 1.5rem 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
}
ul.menu-branch li { margin: 0; padding: 0; }

ul.menu-branch .one-prod {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  cursor: pointer;
}
ul.menu-branch .one-prod a { display: block; width: 100%; overflow: hidden; border-radius: 4px; }
ul.menu-branch .one-prod a img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}
ul.menu-branch .one-prod:hover a img { transform: scale(1.04); }

ul.menu-branch .menu-titolo { text-align: center; width: 100%; }
ul.menu-branch .menu-titolo h2 {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 400;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2c2c2a;
}
ul.menu-branch .menu-titolo h2 a { color: inherit; text-decoration: none; }
ul.menu-branch .menu-titolo h2 a:hover { color: #7a6a55; }
/* ul.menu-branch .separator {
  display: block;
  width: 24px;
  height: 1px;
  background: #b5a98a;
  margin: 0.5rem auto 0;
} */
ul.menu-branch .separator {
	display:none;
}












.submenu_complete {
	width: 100%;
}
.div-static {
	position: relative;
	display: block;
}
.submenu_complete .radice_menu > .dropdown-submenu > .dropdown-menu { /* sottomenu sempre aperti */
	display: block;
}
nav {
	width: 100%;
}
nav .submenu_complete ul li.show {
	position: static;
}
nav .submenu_complete ul li.show ul {
	display: flex;
	justify-content: center;
	border: none;
	/* flex-wrap: wrap; */
	gap: 0 40px;
	position: absolute;
	top: 80px;
	/* left: auto; */
	width: 100%;
}
nav .submenu_complete ul li.show ul.ul1 > li,
nav .submenu_complete ul li.show ul.ul1 > li > ul {
	position: static;
}
nav .submenu_complete ul li.show ul.ul1 > li.dropdown-submenu > a {
    border-bottom: solid 1px #ccc;
}
nav .submenu_complete ul li.show ul.ul1 > li > a {
    /*font-weight: bold;*/
    /*border-bottom: solid 1px #ccc;*/
    display: inline-block;
    width: 100%;
    /*margin-bottom: 20px;*/
}
nav .submenu_complete ul li.show ul ul {
	flex-direction: column;
}
.navbar-expand-lg .navbar-nav {
	justify-content: space-around;
}
.navbar {
	width: 100%;
}

.nav-item {
	position: static;
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
	position: fixed;
	/* top: auto; */
	top: 144px;
	z-index: 1;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}



/* Branch menu griglia home */

.branch_griglia  h1.istanza_titolo,
.branch_griglia  h2.istanza_sottotitolo {
	display: none;
}
/* =========================================================
   BASE (comune a tutte le varianti)
   ========================================================= */
.branch_griglia ul.menu-branch {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}
.branch_griglia ul.menu-branch li {
    overflow: hidden;
}

/* Varianti a griglia fissa: 3, 4, 5 articoli */
.branch_griglia ul.menu-branch.num_3,
.branch_griglia ul.menu-branch.num_4,
.branch_griglia ul.menu-branch.num_5 {
    display: grid;
}


/* =========================================================
   MOBILE / TABLET  (<= 992px)
   ========================================================= */
@media (max-width: 992px) {

    .branch_griglia ul.menu-branch.num_3,
    .branch_griglia ul.menu-branch.num_4,
    .branch_griglia ul.menu-branch.num_5 {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        height: auto;
    }

    /* celle di default: quadrati */
    .branch_griglia ul.menu-branch.num_3 li,
    .branch_griglia ul.menu-branch.num_4 li,
    .branch_griglia ul.menu-branch.num_5 li {
        aspect-ratio: 1 / 1;
    }

    /* ---------- num_3 ---------- */
    .branch_griglia ul.menu-branch.num_3 li.li0 {
        grid-column: span 2;
        aspect-ratio: 2 / 1;
    }
    /* li1, li2: quadrati affiancati */

    /* ---------- num_4 ---------- */
    .branch_griglia ul.menu-branch.num_4 li.li0,
    .branch_griglia ul.menu-branch.num_4 li.li3 {
        grid-column: span 2;
        aspect-ratio: 2 / 1;
    }
    .branch_griglia ul.menu-branch.num_4 li.li1,
    .branch_griglia ul.menu-branch.num_4 li.li2 {
        grid-column: span 2;
        aspect-ratio: 4 / 1;
    }

    /* ---------- num_5 (ordine visivo originale) ---------- */
    .branch_griglia ul.menu-branch.num_5 li.li0 {
        grid-column: span 2;
        aspect-ratio: 2 / 1;
    }
    /* li1, li2: quadrati affiancati */
    .branch_griglia ul.menu-branch.num_5 li.li4 {
        grid-column: span 2;
        aspect-ratio: 4 / 1;
        order: 1;
    }
    .branch_griglia ul.menu-branch.num_5 li.li3 {
        grid-column: span 2;
        aspect-ratio: 2 / 1;
        order: 2;
    }
}


/* =========================================================
   DESKTOP  (>= 993px)
   Griglia comune: 6 unità x 2 unità, colonne esterne quadrate
   ========================================================= */
@media (min-width: 993px) {

    .branch_griglia ul.menu-branch.num_3,
    .branch_griglia ul.menu-branch.num_4,
    .branch_griglia ul.menu-branch.num_5 {
        grid-template-columns: 2fr 1fr 1fr 2fr;
        grid-template-rows: 1fr 1fr;
        height: 33vw;
    }

    /* ---------- num_3 : tre quadrati 2x2 ---------- */
    .branch_griglia ul.menu-branch.num_3 li.li0 { grid-column: 1;     grid-row: 1 / 3; }
    .branch_griglia ul.menu-branch.num_3 li.li1 { grid-column: 2 / 4; grid-row: 1 / 3; }
    .branch_griglia ul.menu-branch.num_3 li.li2 { grid-column: 4;     grid-row: 1 / 3; }

    /* ---------- num_4 : alto | 2 larghi impilati | alto ---------- */
    .branch_griglia ul.menu-branch.num_4 li.li0 { grid-column: 1;     grid-row: 1 / 3; }
    .branch_griglia ul.menu-branch.num_4 li.li1 { grid-column: 2 / 4; grid-row: 1; }
    .branch_griglia ul.menu-branch.num_4 li.li2 { grid-column: 2 / 4; grid-row: 2; }
    .branch_griglia ul.menu-branch.num_4 li.li3 { grid-column: 4;     grid-row: 1 / 3; }

    /* ---------- num_5 : originale ---------- */
    .branch_griglia ul.menu-branch.num_5 li.li0 { grid-column: 1;     grid-row: 1 / 3; }
    .branch_griglia ul.menu-branch.num_5 li.li1 { grid-column: 2;     grid-row: 1; }
    .branch_griglia ul.menu-branch.num_5 li.li2 { grid-column: 3;     grid-row: 1; }
    .branch_griglia ul.menu-branch.num_5 li.li3 { grid-column: 4;     grid-row: 1 / 3; }
    .branch_griglia ul.menu-branch.num_5 li.li4 { grid-column: 2 / 4; grid-row: 2; }
}


/* =========================================================
   GENERICA: num_n  (qualsiasi numero di articoli)
   Quadrati in flex-wrap. Colonne per riga = --cols
   Override inline possibile: style="--cols:5"
   ========================================================= */
.branch_griglia ul.menu-branch {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;   /* centra l'ultima riga incompleta */
    --cols: 2;
}
.branch_griglia ul.menu-branch li {
    flex: 0 0 calc(100% / var(--cols));  /* flex-grow 0: restano quadrati */
    aspect-ratio: 1 / 1;
}

@media (min-width: 601px) {
    .branch_griglia ul.menu-branch { --cols: 3; }
}
@media (min-width: 993px) {
    .branch_griglia ul.menu-branch { --cols: 4; }
}

/* Ogni cella */
.branch_griglia ul.menu-branch .one-prod {
	position: relative;
	overflow: hidden;
	height: 100%;
}
.branch_griglia ul.menu-branch .one-prod a {
	height: 100%;
}

/* Immagine — riempie la cella e fa zoom on hover */
.branch_griglia ul.menu-branch .one-prod a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: unset;
  display: block;
  transition: transform 0.4s ease;
}

.branch_griglia ul.menu-branch .one-prod:hover a img {
  transform: scale(1.08);
}

/* Overlay scuro on hover */
.branch_griglia ul.menu-branch .one-prod > a::after {
  content: '';
  position: absolute;
  inset: 0;
  background: #00579Caa;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.branch_griglia ul.menu-branch .one-prod:hover > a::after {
  opacity: 1;
}

/* Testo del titolo */
.branch_griglia ul.menu-branch .menu-titolo {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2; /* sopra l'overlay */
  padding: 16px 20px;
  transition: all 0.4s ease;
  
}
.branch_griglia ul.menu-branch .menu-titolo::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(#00579C00,#00579Ccc, #00579C);
	opacity: 1;
	transition: all 0.4s ease;
}
.branch_griglia ul.menu-branch .one-prod:hover .menu-titolo:before {
	opacity: 0;
}
.branch_griglia ul.menu-branch .one-prod:hover .menu-titolo {
	bottom: 50%;
	transform: translateY(50%);
	padding: 0;
}

.branch_griglia ul.menu-branch .menu-titolo h2 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: all 0.4s ease;
}
.branch_griglia ul.menu-branch .one-prod:hover .menu-titolo h2 {
	font-size: 1.5rem;
}

.branch_griglia ul.menu-branch .menu-titolo h2 a {
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  z-index: 5;
  position: relative;
}
.branch_griglia ul.menu-branch .separator {
	display: none;
}

/* Branch menu griglia home FINE */


/* --- Contenitore principale: griglia a 3 righe ------------ */
/*
   Struttura figli diretti di .vis-cont-prod nell'HTML:
     h1.hometitle          → area "title"
     h2                    → area "subtitle"
     .photo-gallery        → area "gallery"
     .vis-cont-prod-text   → area "desc"
     .combinazioni-prod-combo → area "info"
   (il <script> inline non produce layout)
*/
.vis-cont-prod {
  /* max-width: 1100px; */
  margin: 0 auto;
  padding: 2rem 1.5rem;
  /* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #1a1a1a; */
 
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto 1fr auto;
  grid-template-areas:
    "title    title"
    "subtitle subtitle"
    "gallery  info"
    "gallery  info"
    "desc     desc";
  gap: 0 3rem;
  align-items: start;
}
 
/* Titoli: occupano tutta la larghezza in cima */
.vis-cont-prod h1.hometitle {
  grid-area: title;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 .35rem;
}
 
.vis-cont-prod > h2 {
  grid-area: subtitle;
  font-size: .9rem;
  font-weight: 400;
  line-height: 1.5;
  margin: 0 0 1.5rem;
}
 
/* --- Galleria --------------------------------------------- */
.vis-cont-prod .photo-gallery {
  grid-area: gallery;
  display: flex;
  flex-direction: row;
  gap: 10px;
  margin-bottom: 2rem;
}
 
/* Link originali nascosti: rimpiazzati dalla struttura JS */
.vis-cont-prod .photo-gallery > a {
  display: none;
}
 
/* Immagine principale – generata via JS */
.vis-cont-prod #main-product-image-link {
  flex: 1;
  display: block;
  border-radius: 10px;
  border: 1px solid #e5e5e5;
  overflow: hidden;
  background: #f7f7f7;
  max-height: 500px;
  cursor: zoom-in;
}
 
.vis-cont-prod #main-product-image {
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  transition: opacity .22s ease;
}
 
.vis-cont-prod #main-product-image.fading {
  opacity: 0;
}
 
/* Colonna thumbnails – iniettata via JS */
.vis-cont-prod .thumb-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex-shrink: 0;
}
 
.vis-cont-prod .thumb-col a {
  display: block;
  width: 72px;
  height: 72px;
  border-radius: 7px;
  border: 1.5px solid #e0e0e0;
  overflow: hidden;
  cursor: pointer;
  transition: border-color .18s;
  background: #f7f7f7;
}
 
.vis-cont-prod .thumb-col a:hover,
.vis-cont-prod .thumb-col a.active {
  border-color: #1a1a1a;
}
 
.vis-cont-prod .thumb-col a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
 
/* --- Area info -------------------------------------------- */
.vis-cont-prod .combinazioni-prod-combo {
  grid-area: info;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
 
/* Prezzo */
.vis-cont-prod .prezzo_prodotto {
  padding: 1rem 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
 
.vis-cont-prod .cont_prezzo {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-size: 1rem;
  color: #1a1a1a;
}
 
.vis-cont-prod .span_prezzo {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1a1a1a;
}
 
.vis-cont-prod .span_prezzo_da_scontare.barrato {
  font-size: 1rem;
  font-weight: 400;
  color: #999;
  text-decoration: line-through;
}
 
/* Badge sconto – iniettato via JS */
.vis-cont-prod .badge-sconto {
  font-size: .7rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 4px;
	background-color: #0068b3;
	color: #fff;
  letter-spacing: .02em;
}
 
/* Label taglia */
.vis-cont-prod label[for="variante_TAGLIA"] {
  display: block;
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #888;
  margin-bottom: 4px;
}
 
/* Select taglia */
.vis-cont-prod select.select_variante {
  width: 100%;
  height: 42px;
  padding: 0 36px 0 12px;
  border: 1px solid #d0d0d0;
  border-radius: 7px;
  font-size: .9rem;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center;
  appearance: none;
  cursor: pointer;
  transition: border-color .18s;
}
 
.vis-cont-prod select.select_variante:focus {
  outline: none;
  border-color: #1a1a1a;
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}
 
/* Campo quantità */
.vis-cont-prod input.quant_cart {
  width: 48px;
  height: 42px;
  text-align: center;
  border: none;
  border-radius: 0;
  font-size: .95rem;
  -moz-appearance: textfield;
}
 
.vis-cont-prod input.quant_cart::-webkit-outer-spin-button,
.vis-cont-prod input.quant_cart::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
 
.vis-cont-prod input.quant_cart:focus {
  outline: none;
  box-shadow: none;
}
 
.vis-cont-prod .qty-wrapper {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid #d0d0d0;
  border-radius: 7px;
  overflow: hidden;
  width: 125px;
}
 
.vis-cont-prod .qty-wrapper:focus-within {
  border-color: #1a1a1a;
  box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}
 
.vis-cont-prod .qty-btn {
  width: 38px;
  height: 42px;
  border: none;
  background: #f5f5f5;
  color: #1a1a1a;
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  transition: background .15s;
  user-select: none;
  flex-shrink: 0;
}
 
.vis-cont-prod .qty-btn:hover { background: #eaeaea; }
.vis-cont-prod .qty-btn:active { background: #ddd; }
 
/* Bottone aggiungi */
.vis-cont-prod a.puls_add_cart_varianti {
  display: block;
  width: 100%;
  padding: 13px;
  border-radius: 7px;
  background: #1a1a1a;
  color: #fff;
  font-size: .95rem;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .18s, opacity .18s;
  user-select: none;
}
 
.vis-cont-prod a.puls_add_cart_varianti:hover {
  background: #333;
}
 
.vis-cont-prod a.puls_add_cart_varianti:active {
  opacity: .8;
}
 
.vis-cont-prod a.puls_add_cart_varianti[disabled] {
  opacity: .5;
  pointer-events: none;
}
 
/* --- Descrizione prodotto --------------------------------- */
.vis-cont-prod .vis-cont-prod-text {
  grid-area: desc;
  padding-top: 1.5rem;
  border-top: 1px solid #eee;
  font-size: .9rem;
  color: #444;
  line-height: 1.75;
}
 
.vis-cont-prod .vis-cont-prod-text p {
  margin: 0 0 1rem;
}
 
.vis-cont-prod .vis-cont-prod-text p:last-child {
  margin-bottom: 0;
}
 
/* --- Responsive ------------------------------------------- */
@media (max-width: 700px) {
  .vis-cont-prod {
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "subtitle"
      "gallery"
      "info"
      "desc";
    gap: 0;
  }
 
  .vis-cont-prod > h2 {
    margin-bottom: 1rem;
  }
 
  .vis-cont-prod .photo-gallery {
    flex-direction: column-reverse;
    margin-bottom: 1.5rem;
  }
 
  .vis-cont-prod .thumb-col {
    flex-direction: row;
    overflow-x: auto;
  }
 
  .vis-cont-prod .thumb-col a {
    flex-shrink: 0;
  }
 
  .vis-cont-prod #main-product-image-link,
  .vis-cont-prod #main-product-image {
    max-height: 340px;
  }
}



/* ── Personalizzazione prodotto ── */
.prod-personalizzazione {
    margin: 1rem 0;
    padding: 1rem;
    border-left: 3px solid #0068b3;
    background-color: #f5f8fb;
}

.pers-toggle {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.pers-toggle-label {
    font-size: 0.85rem;
    font-weight: 700;
    color: #222;
}

.pers-toggle-btns {
    display: flex;
    gap: 0.4rem;
}

.pers-btn {
    padding: 0.35rem 1rem;
    border: 1.5px solid #0068b3;
    border-radius: 2px;
    background: transparent;
    color: #0068b3;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.pers-btn:hover {
    background-color: #0068b3;
    color: #fff;
}

.pers-btn.active[data-val="si"] {
    background-color: #0068b3;
    color: #fff;
}

.pers-btn.active[data-val="no"] {
    background-color: #aaa;
    border-color: #aaa;
    color: #fff;
}

/* — Campi personalizzazione (nascosti di default) — */
.pers-fields {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
    overflow: hidden;
}

.pers-fields.open {
    grid-template-rows: 1fr;
}

.pers-row {
    min-height: 0;
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding-top: 0.85rem;
}

.pers-field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    flex: 1;
    min-width: 120px;
}

.pers-field--numero {
    flex: 0 0 90px;
    min-width: 0;
}

.pers-field label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #555;
}

.pers-field input {
    padding: 0.4rem 0.65rem;
    border: 1.5px solid #c8d8e8;
    border-radius: 2px;
    font-size: 0.85rem;
    color: #222;
    background: #fff;
    outline: none;
    transition: border-color 0.2s ease;
}

.pers-field input:focus {
    border-color: #0068b3;
}



/* ============================================================
   forms.css — Formattazione generica dei form
   Copre: input text/email/tel/url/number/date/time/search,
          textarea, select, checkbox, radio, range,
          fieldset/legend, label, bottoni e stati.
   I colori del testo ereditano dalla formattazione generale.
   ============================================================ */

/* --- Variabili -------------------------------------------- */
:root {
  --form-border        : #d0d0d0;
  --form-border-focus  : #1a1a1a;
  --form-border-error  : #c0392b;
  --form-border-success: #27ae60;
  --form-bg            : #fff;
  --form-bg-disabled   : #f5f5f5;
  --form-bg-btn-secondary: #f5f5f5;
  --form-bg-btn-secondary-hover: #eaeaea;
  --form-radius        : 7px;
  --form-height        : 42px;
  --form-font-size     : .9rem;
  --form-focus-shadow  : 0 0 0 3px rgba(0,0,0,.08);
  --form-transition    : border-color .18s, box-shadow .18s;
}

/* --- Reset base campi ------------------------------------- */
input,
textarea,
select,
button {
  font-family: inherit;
  font-size: var(--form-font-size);
  line-height: 1.5;
  box-sizing: border-box;
}

/* --- Label ------------------------------------------------ */
label {
  display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 5px;
}

/* Label abbinata a checkbox/radio: torna normale */
label.label-inline {
  font-size: var(--form-font-size);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 0;
  cursor: pointer;
}

/* --- Gruppo campo (label + input impilati) ----------------- */
.form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 1.25rem;
}

.form-group:last-child {
  margin-bottom: 0;
}

/* --- Input testo e affini --------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
textarea {
  width: 100%;
  height: var(--form-height);
  padding: 0 12px;
  border: 1px solid var(--form-border);
  border-radius: var(--form-radius);
  background: var(--form-bg);
  transition: var(--form-transition);
  appearance: none;
}

textarea {
  height: auto;
  min-height: calc(var(--form-height) * 2.5);
  padding: 10px 12px;
  resize: vertical;
}

/* Rimuove spinner nativi da input number */
input[type="number"] {
  -moz-appearance: textfield;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Icona search nativa */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

/* Focus */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
textarea:focus {
  outline: none;
  border-color: var(--form-border-focus);
  box-shadow: var(--form-focus-shadow);
}

/* Disabled */
input:disabled,
textarea:disabled,
select:disabled {
  background: var(--form-bg-disabled);
  cursor: not-allowed;
  opacity: .65;
}

/* Readonly */
input[readonly],
textarea[readonly] {
  background: var(--form-bg-disabled);
  cursor: default;
}

/* Placeholder */
::placeholder {
  opacity: .45;
}

/* --- Select ----------------------------------------------- */
select {
  width: 100%;
  height: var(--form-height);
  padding: 0 36px 0 12px;
  border: 1px solid var(--form-border);
  border-radius: var(--form-radius);
  background: var(--form-bg)
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")
    no-repeat right 12px center;
  appearance: none;
  cursor: pointer;
  transition: var(--form-transition);
}

select:focus {
  outline: none;
  border-color: var(--form-border-focus);
  box-shadow: var(--form-focus-shadow);
}

select[multiple] {
  height: auto;
  min-height: calc(var(--form-height) * 2);
  padding: 6px 12px;
  background-image: none;
}

/* --- Checkbox e Radio ------------------------------------- */
input[type="checkbox"],
input[type="radio"] {
  width: 18px;
  height: 18px;
  min-width: 18px;
  padding: 0;
  border: 1.5px solid var(--form-border);
  border-radius: 4px;
  background: var(--form-bg);
  cursor: pointer;
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: var(--form-transition);
  vertical-align: middle;
  position: relative;
}

input[type="radio"] {
  border-radius: 50%;
}

/* Checked: sfondo scuro + segno */
input[type="checkbox"]:checked,
input[type="radio"]:checked {
  background: var(--form-border-focus);
  border-color: var(--form-border-focus);
}

/* Segno di spunta per checkbox */
input[type="checkbox"]:checked::after {
  content: '';
  display: block;
  width: 5px;
  height: 9px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg) translate(-1px, -1px);
}

/* Pallino per radio */
input[type="radio"]:checked::after {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
}

input[type="checkbox"]:focus,
input[type="radio"]:focus {
  outline: none;
  box-shadow: var(--form-focus-shadow);
}

/* Riga checkbox/radio: icona + label affiancati */
.form-check {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: .6rem;
  cursor: pointer;
}

.form-check:last-child {
  margin-bottom: 0;
}

/* --- Range ------------------------------------------------ */
input[type="range"] {
  width: 100%;
  height: 4px;
  padding: 0;
  border: none;
  border-radius: 2px;
  background: var(--form-border);
  appearance: none;
  cursor: pointer;
  outline: none;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--form-border-focus);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
  transition: transform .15s;
}

input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--form-border-focus);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
  cursor: pointer;
}

input[type="range"]:focus::-webkit-slider-thumb {
  transform: scale(1.15);
}

/* --- Fieldset e Legend ------------------------------------ */
fieldset {
  border: 1px solid var(--form-border);
  border-radius: var(--form-radius);
  padding: 1.25rem 1.5rem;
  margin: 0 0 1.25rem;
}

legend {
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 0 .5rem;
}

/* --- Bottoni --------------------------------------------- */
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: var(--form-height);
  padding: 0 20px;
  border-radius: var(--form-radius);
  font-size: var(--form-font-size);
  font-weight: 600;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .18s, opacity .18s, box-shadow .18s;
  user-select: none;
  border: none;
  text-decoration: none;
}

@media (max-width: 992px) {  /* 768px = --bp-md */
	#login-area button {
		padding: 0;
	}
}


/* Primario */
.btn-primary,
input[type="submit"] {
  background: #1a1a1a;
  color: #fff;
}

.btn-primary:hover,
input[type="submit"]:hover {
  background: #333;
}

/* Secondario */
.btn-secondary,
input[type="reset"] {
  background: var(--form-bg-btn-secondary);
  color: inherit;
  border: 1px solid var(--form-border);
}

.btn-secondary:hover,
input[type="reset"]:hover {
  background: var(--form-bg-btn-secondary-hover);
}

/* Ghost (solo bordo) */
.btn-ghost {
  background: transparent;
  border: 1px solid var(--form-border);
  color: inherit;
}

.btn-ghost:hover {
  background: var(--form-bg-btn-secondary);
}


/* Bottone full-width */
.btn-block {
  display: flex;
  width: 100%;
}

/* Disabilitato */
button:disabled,
input[type="submit"]:disabled,
input[type="reset"]:disabled,
input[type="button"]:disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}

/* Focus bottoni */
button:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible {
  outline: none;
  box-shadow: var(--form-focus-shadow);
}


/* ── Back link ── */

body:not(.VIS_ART) .backLink {
	display: none;
}
.backLink {
	margin: 2rem auto;
	text-align: right;
	max-width: 900px;
}

.backLink a {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 1rem 0.45rem 0.75rem;
    background-color: transparent;
    border: 1.5px solid #0068b3;       /* azzurro Empoli */
    border-radius: 2px;
    color: #0068b3;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.backLink a::before {
    content: '\2190';                  /* ← freccia sinistra */
    font-size: 1em;
    line-height: 1;
}

.backLink a:hover,
.backLink a:focus {
    background-color: #0068b3;
    color: #ffffff;
}

/* ── Search section — inline/compatta ── */
#search {
    margin: 1.5rem 0;
}

#searchform {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.6rem 1rem;
	border-left: 3px solid #0068b3;
	background-color: #f5f8fb;
	width: 100%;
	justify-content: flex-end;
	flex-wrap: wrap;
}
#searchform #form_search {
	display: flex;
	align-items: baseline;
	gap: 30px;
}

.search-heading {
    margin: 0;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #0068b3;
    white-space: nowrap;
}

.search-heading-text {
    display: none;   /* label ridondante in layout inline */
}

.search-input {
    padding: 0.4rem 0.65rem;
    width: 220px;
    border: 1.5px solid #c8d8e8;
    border-radius: 2px;
    font-size: 0.85rem;
    color: #222;
    background: #fff;
    outline: none;
    transition: border-color 0.2s ease;
}

.search-input:focus {
    border-color: #0068b3;
}

/* ── Pulsanti: search submit + readmorelink — stile condiviso ── */
#search-submit {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 1.1rem;
    background-color: transparent;
    border: 1.5px solid #0068b3;
    border-radius: 2px;
    color: #0068b3;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

#search-submit:hover,
#search-submit:focus {
    background-color: #0068b3;
    color: #fff;
}

/* ── Video Gallery ── */
#video-container {
    margin: 2rem 0;
}

/* — Video principale — */
#video-container .placeholder {
    margin-bottom: 1.5rem;
}

#video-container .placeholder iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: none;
}

#video-container .placeholder h2 {
    margin: 0.6rem 0 0 0;
    font-size: 1rem;
    font-weight: 700;
    color: #222;
    border-left: 3px solid #0068b3;
    padding-left: 0.65rem;
}

/* — Carousel — */
#video-container .carousel-container {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

#video-container .carousel-inner {
    overflow: hidden;
    flex: 1;
}

#video-container .slider {
    display: flex;
    gap: 0.75rem;
    list-style: none;
    margin: 0;
    padding: 0;
    transition: transform 0.35s ease;
}

#video-container .slider li {
    flex: 0 0 calc(25% - 0.57rem);
}

#video-container .slider li a {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

#video-container .slider li a img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

#video-container .slider li a:hover img {
    transform: scale(1.04);
}

#video-container .slider li a .shadow {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 55%);
    pointer-events: none;
}

#video-container .slider li h2 {
    margin: 0.4rem 0 0.2rem 0;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.3;
    color: #222;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#video-container .slider li p {
    margin: 0;
    font-size: 0.7rem;
    color: #666;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#video-container .slider li .spacer {
    display: none;
}

/* — Frecce — */
#video-container .controll {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border: 1.5px solid #0068b3;
    border-radius: 2px;
    cursor: pointer;
    color: #0068b3;
    transition: background-color 0.2s ease, color 0.2s ease;
    user-select: none;
}

#video-container .controll:hover {
    background-color: #0068b3;
    color: #fff;
}

#video-container .prev.controll::before {
    content: '\2190';
    font-size: 1rem;
    line-height: 1;
}

#video-container .next.controll::before {
    content: '\2192';
    font-size: 1rem;
    line-height: 1;
}

/* — Responsive — */
@media (max-width: 768px) {
    #video-container .placeholder iframe {
        height: 220px;
    }

    /* frecce inutili su mobile, lo scroll è a dito */
    #video-container .controll {
        display: none;
    }

    #video-container .carousel-inner {
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }

    /* opzionale: nasconde la scrollbar per un look più pulito */
    #video-container .carousel-inner::-webkit-scrollbar {
        display: none;
    }
    #video-container .carousel-inner {
        scrollbar-width: none;
    }

    #video-container .slider {
        display: grid;
        grid-auto-flow: column;
        grid-template-rows: repeat(2, auto);
        grid-auto-columns: calc(50% - 0.375rem);
        gap: 0.75rem;
        left: auto !important; /* neutralizza eventuale inline-style residuo da desktop */
        transition: none;
    }

    #video-container .slider li {
        flex: none; /* il flex del blocco base non serve più in grid */
        scroll-snap-align: start;
    }
}



/* ── Galleria foto (articoli .gallery-only) ── */

.gallery-grid .item-box.altre-img .gallery-item {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    margin: 2rem 0;
}

.gallery-grid .zoom {
    position: relative;
    overflow: hidden;
}

.gallery-grid .zoom a {
    display: block;
    position: relative;
    overflow: hidden;
}

.gallery-grid .zoom figure {
    margin: 0;
    /* aspect-ratio: 3 / 2; */
    overflow: hidden;
}

.gallery-grid .zoom figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.gallery-grid .zoom a:hover figure img {
    transform: scale(1.05);
}



/* — Responsive — */
@media (max-width: 992px) {  /* 992px = --bp-lg */
    .gallery-grid .item-box.altre-img .gallery-item {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {  /* 768px = --bp-md */
    .gallery-grid .item-box.altre-img .gallery-item {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {  /* 480px = --bp-sm */
    .gallery-grid .item-box.altre-img .gallery-item {
        grid-template-columns: repeat(1, 1fr);
    }
}



/* ============================================================
   SIDEBAR CATEGORIE CATALOGO — cont_categorie_prodotti
   ============================================================ */

.cont_categorie_prodotti {
    margin-bottom: 2rem;
}

/* Contenitore principale */
#cat_catalogo {
    font-size: 0.9rem;
}

/* Reset struttura ddsmoothmenu */
.ddsmoothmenu,
.ddsmoothmenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ── Voce di primo livello ── */
.ddsmoothmenu .ul0 > li > .cont_info_cat > .cat_nome > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.65rem 1rem;
    color: #14406b;
    background-color: #eef4fa;
    border-bottom: 3px solid #c8d8e8;
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    cursor: pointer;
}

.ddsmoothmenu .ul0 > li:has(.ul1) > .cont_info_cat > .cat_nome > a::after {
    content: '›';
    font-size: 1.1rem;
    opacity: 0.5;
    color: #0068b3;
    transition: transform 0.2s;
}

.ddsmoothmenu .ul0 > li > .cont_info_cat > .cat_nome > a:hover,
.ddsmoothmenu .ul0 > li.open > .cont_info_cat > .cat_nome > a {
    background-color: #dceaf8;
    border-bottom-color: #0068b3;
    color: #0a2f52;
}

.ddsmoothmenu .ul0 > li.open > .cont_info_cat > .cat_nome > a::after {
    transform: rotate(90deg);
    opacity: 1;
}

/* ── Sottocategorie: pulsanti in flex-wrap, non lista ── */
.ddsmoothmenu .ul1 {
    background-color: #f4f7fb;
    border-left: 3px solid #009ddb;
    overflow: hidden;
    max-height: 0;
    padding: 0 1rem;
    transition: max-height 0.3s ease, padding 0.3s ease;

    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
}

.ddsmoothmenu .ul0 > li.open > .ul1 {
    max-height: 500px;
    padding: 0.75rem 1rem;
}

.ddsmoothmenu .ul1 > li > .cont_info_cat > .cat_nome > a {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.9rem;
    color: #1a2e4a;
    background-color: #fff;
    border: 1.5px solid #c8d8e8;
    border-radius: 20px;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}

.ddsmoothmenu .ul1 > li > .cont_info_cat > .cat_nome > a:hover {
    background-color: #009ddb;
    border-color: #009ddb;
    color: #fff;
}

.item-box.mappa_in_art {
	min-height: 500px;
}

/* ============================================================
   ALLEGATI ARTICOLO — .item-box.authorbox
   ============================================================ */

.item-box.authorbox {
    margin-top: 2rem;
    border-top: 2px solid #e0e8f0;
    padding-top: 1.5rem;
}

/* Reset lista */
.item-box.authorbox .checklist {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}

/* Singolo allegato */
.item-allegato {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.item-allegato a {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.7rem 1rem;
    background-color: #f4f7fb;
    border: 1px solid #d0dcea;
    border-left: 4px solid #009ddb;   /* accent azzurro Empoli */
    border-radius: 4px;
    text-decoration: none;
    color: #1a2e4a;
    transition: background 0.2s, border-left-color 0.2s, box-shadow 0.2s;
}

.item-allegato a:hover {
    background-color: #e0f0fb;
    border-left-color: #1a2e4a;
    box-shadow: 0 2px 6px rgba(0, 157, 219, 0.15);
}

/* Icona PDF */
.item-allegato .icon-download {
    width: 28px;
    height: auto;
    flex-shrink: 0;
    order: -1;   /* icona sempre a sinistra */
}

/* Testo del titolo */
.item-allegato a span {
    flex: 1;
}

.item-allegato a span p {
    margin: 0;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.35;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

/* Dimensione file */
.dim-allegato {
    font-size: 0.75rem;
    color: #7a8fa6;
    white-space: nowrap;
    flex-shrink: 0;
	display: none; 
}

@media (max-width: 1024px) {
	#box-top.container {
		max-width: 100%;
	}
}

.shop_now {
    display: inline-block;
}

.shop_now .link_shop_now {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 1.1rem;
    background-color: transparent;
    border: 1.5px solid #fff;
    border-radius: 2px;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.shop_now .link_shop_now:hover,
.shop_now .link_shop_now:focus {
    background-color: #fff;
    color: #009ddb;
}

@media (max-width: 860px) {
    .shop_now {
        display: none;
    }
}



#pageNotFoundError {
	margin: 220px 0 100px;
}

.VIS_ART article:not(:has(div.first-img-articolo)) {
  margin-top: 220px;
}


.menu_link_piede {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2rem;
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 20px 30px;
    text-align: left;
}

.menu_link_piede_column {
    flex: 1 1 240px;
    min-width: 200px;
	text-align: center;
}
.menu_link_piede_column:first-of-type {
	text-align: left;
}
.menu_link_piede_column:last-of-type {
	text-align: right;
}

.menu_link_piede_column .ul0 {
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu_link_piede_column .ul0 .separator {
    display: none;
}

.menu_link_piede_column .nav-link {
    display: inline-block;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 400;
    letter-spacing: 0.02em;
    text-decoration: none;
    opacity: 0.85;
    transition: opacity 0.15s ease;
}

.menu_link_piede_column .nav-link:hover {
    opacity: 1;
    text-decoration: underline;
}

@media (max-width: 768px) {
    .menu_link_piede {
        flex-direction: column;
        gap: 1.75rem;
        text-align: center;
    }

    .menu_link_piede_column .ul0 {
        align-items: center;
    }
}


.cc-cookies-video {
    max-width: 600px;
    margin: 60px auto;
    padding: 40px 30px;
    text-align: center;
    font-size: 15px;
    line-height: 1.6;
    color: #333;
}

.cc-cookies-video a {
    color: #005ca9; /* sostituite col colore del brand se diverso */
    text-decoration: underline;
}

.cc-cookies-video .video-consent-accept {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 28px;
    background: #005ca9;
    color: #fff !important;
    text-decoration: none !important;
    border-radius: 4px;
    font-weight: 600;
    transition: background 0.2s;
}

.cc-cookies-video .video-consent-accept:hover {
    background: #00447d;
}


/* cookiecuttr-override.css — carica DOPO cookiecuttr.css */

/* Banner principale: da barra grigia semi-trasparente a bar moderna, blur, ombra */
.cc-cookies {
    background: rgba(11, 30, 58, 0.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    padding: 1em 5%;
    font-size: 14px;
    font-weight: 400;
    text-shadow: none;
    line-height: 1.6;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.25);
}

.cc-cookies a,
.cc-cookies a:hover {
    color: #9fc9ff;
}

/* Box di errore (quello che usate anche per il video) */
.cc-cookies-error {
    background: #fff;
    border: none;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    padding: 2.5em 5%;
    font-size: 16px;
    color: #2b2b2b;
}

/* Bottoni: accept, decline, reset — stile piatto e moderno */
.cc-cookies a.cc-cookie-accept,
.cc-cookies-error a.cc-cookie-accept,
.cc-cookies a.cc-cookie-decline,
.cc-cookies-error a.cc-cookie-decline,
.cc-cookies a.cc-cookie-reset {
    background: #0b3d6e;
    padding: 0.65em 1.4em;
    border-radius: 6px;
    box-shadow: none;
    text-shadow: none;
    font-weight: 600;
    letter-spacing: 0.2px;
    transition: background 0.2s ease, transform 0.15s ease;
}

.cc-cookies a.cc-cookie-decline,
.cc-cookies-error a.cc-cookie-decline {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.4);
    margin-left: 0.75em;
}

.cc-cookies-error a.cc-cookie-decline {
    border: 1px solid #ccc;
    color: #555;
}

.cc-cookies a.cc-cookie-reset {
    background: #b45309;
}

.cc-cookies a:hover.cc-cookie-accept,
.cc-cookies-error a:hover.cc-cookie-accept,
.cc-cookies a:hover.cc-cookie-decline,
.cc-cookies-error a:hover.cc-cookie-decline,
.cc-cookies a:hover.cc-cookie-reset {
    background: #082c50;
    transform: translateY(-1px);
}

.cc-cookies-error a:hover.cc-cookie-decline {
    background: #f2f2f2;
}

/* Box discreto (link in un angolo) */
.cc-cookies.cc-discreet {
    border-radius: 6px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 768px) {
    .cc-cookies a.cc-cookie-accept,
    .cc-cookies a.cc-cookie-decline,
    .cc-cookies a.cc-cookie-reset {
        margin: 0.5em 0;
    }
}