/*** CARD ***/
/************/

:root {
	--card-h: 250px;
	--card-structure-h: 200px;
}


.kc-card {
	display: flex;
	background-color: white;
	border-radius: 10px;
	box-shadow: 0 0px 7px rgb(120 120 120 / 50%);
	overflow: hidden;
	bottom: 0;
	transition: var(--transition);
	height: 100%;
	height: var(--card-h);
}

section.kc-card {
	background-color: white;
}



.kc-card-structure,
.kc-card.kc-card--premium {
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
}



.kc-card .kc-card-footer div.kc-grow {
	display: flex;
	justify-content: flex-end;
}

.kc-card .kc-card-footer div.kc-grow a {
	margin: 0;
}


/*** CARD premium ***/
/********************/

/* le card in alto, solo immagine */

.kc-list-card-premium {
	display: flex;
	gap: 20px;
	flex-direction: column;
}

.kc-list-card-premium .kc-cols.kc-boxed,
.kc-list-card-premium .kc-cols.kc-boxed a {
	max-width: 100%;
	display: block;
}

@media screen and (min-width: 600px) {
	.kc-list-card-premium {
		flex-direction: row;
	}
}

@media screen and (min-width: 992px) {
	.kc-list-card-premium .kc-boxed {
		padding-left: 0;
		padding-right: 0;
	}
}


/* le card premium, cioè i clienti che pagano e hanno immagine più grande e bordo colorato */

.kc-card.kc-card--premium {
	/* box-shadow: 0 0 7px var(--color-primary); */
	border: 2px solid var(--color-primary)
}


/*** CARD potenziale cliente ***/
/*******************************/

.kc-card.kc-card--potential-customer {
	background-color: #ffffff;
	height: 10rem !important;
}


/*** CARD non cliente ***/
/************************/

.kc-card.kc-card--not-customer {
	background-color: #f5f5f5;
	height: 4.25rem;
}

.kc-card:not(.kc-card--not-customer):hover {
	box-shadow: 0 8px 7px rgba(70, 70, 70, 0.5) !important;
	bottom: 0.25rem !important;
	transition: var(--transition) !important;
}


/*** CARD JUST IMAGE ***/
/***********************/

.kc-card.kc-card--just-img {
	z-index: 2;
}

.kc-card.kc-card--just-img .kc-img-container:before {
	display: block;
	content: "";
	width: 0;
	padding-top: 0;
	width: 100%;
	height: 33%;
	position: absolute;
	bottom: 0;
	padding-top: inherit !important;
	background: linear-gradient(0deg, rgba(22, 22, 22, 0.8) 0%, rgba(126, 126, 126, 0) 100%);
	z-index: 4;
}

.kc-card.kc-card--just-img.kc-card--offer .kc-img-container:before {
	height: 50%;
}

.kc-card.kc-card--just-img h3 {
	position: absolute;
	bottom: .5rem;
	left: .75rem;
	width: calc(100% - 1.5rem);
	z-index: 6;
}

.kc-card.kc-card--just-img.kc-card-adv {
	height: 180px;
}
.kc-card.kc-card--just-img.kc-card-adv h3 {
	font-family: inherit;
	text-align: center;
	font-weight: 500;
	font-size: 1rem;
	line-height: 1rem;
}

.kc-adv .slick-slider .slick-track {
	margin: 0 auto;
}


.kc-card .kc-button:hover {
	box-shadow: none !important;
}


/* timing icon (utilizzata per le news) */

.kc-card--special .kc-card-body-content img.timing-icon {
	display: none;
}

@media screen and (min-width: 900px) {

	.timing-icon,
	.kc-card--special .kc-card-body-content img.timing-icon {
		display: flex;
		width: 24px;
		height: 24px;
		margin-right: 8px;
	}
}




/*** card banner (immagine) ***/
.kc-card-banner {
	display: flex;
  	transition: var(--transition);
}
.kc-adv.kc-slider .kc-card-banner {
	min-height: 140px;
	flex-direction: column;
	justify-content: flex-end;
}
.kc-card.kc-card--not-customer .kc-card-banner {
	display: none;
}

.kc-card-100h .kc-card-banner:before 	{	padding-top: 100%;	}
.kc-card-80h .kc-card-banner:before 	{	padding-top: 80%; 	}
.kc-card-60h .kc-card-banner:before 	{	padding-top: 60%; 	}
.kc-card-40h .kc-card-banner:before 	{	padding-top: 40%; 	}
.kc-card-20h .kc-card-banner:before 	{	padding-top: 20%; 	}

.kc-card-adv .kc-card-banner:before {
	display: block;
	content: "";
	width: 0;
	padding-top: 0;
	width: 100%;
	height: 33%;
	position: absolute;
	bottom: 0;
	padding-top: inherit !important;
	background: linear-gradient(0deg, rgba(22, 22, 22, 0.8) 0%, rgba(126,126,126,0) 100%);
}

/* altezza immagine */

.kc-card.kc-card-structure .kc-card-banner {
	height: 160px;
	max-height: 160px;
}

.kc-card.kc-card-structure.kc-card--premium .kc-card-banner {
	height: 200px;
	max-height: 200px;
}

.slick-slide .kc-card.kc-card-structure .kc-card-banner {
	height: 140px;
	max-height: 140px;
	width: 100%;
	max-width: 100%;
}


/*** CARD BANNER (content and title) ***/
/***************************************/

.kc-card-banner-content {
	width: 100%;
	height: 200px !important;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	padding: 1rem;
	background-image: none;
	transition: var(--transition);
}

@media screen and (min-width: 600px) {
	.kc-card-banner-content {
		height: 100% !important;
	}
}

.kc-card h3 {
	margin: 0;
	color: white;
	font-family: var(--font-title);
	font-size: 1.5rem;
	text-align: left;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.75);
	letter-spacing: 1px;
	transition: var(--transition);
}
.kc-card--offer h3 {
	font-family: var(--font-primary);
	letter-spacing: 0;
	font-size: 1.3rem;
	line-height: 1.45rem;
	font-weight: 500;
}
.kc-card h3 small {
  	font-family: var(--font-primary);
	text-shadow: 0 1px 4px rgb(0 0 0);
  	font-size: 1rem;
  	letter-spacing: 0;
	font-weight: 300;
}
a.kc-card-banner .kc-card-banner-content--postcard h3 {
	position: absolute;
	bottom: 1rem;
	width: calc(100% - 2rem);
}
.kc-card--title-small h3 {
  	font-size: 1rem;
}

.kc-card-centered .kc-card-banner-content {
	align-items: center;
}
.kc-card-centered .kc-card-banner-content h3 {
	text-align: center !important;
}

.kc-card:not(.kc-card--not-customer):hover a.kc-card-banner {
	background-blend-mode: multiply;
	background-color: #999;
  	transition: var(--transition);
}

a.kc-card-banner .kc-card-banner-content h3,
a.kc-card-banner {
  	text-decoration: none;
}

.kc-card .kc-card-label {
	background-color:white;
	border-radius: 50px;
	box-shadow: 0 0 6px rgba(0,0,0,0.5);
	position: absolute;
	bottom: .5rem;
	left: .5rem;
}
.kc-structures-list .kc-card .kc-card-label {
  	bottom: auto;
	top: 1rem;
}
.kc-card .kc-card-label.kc-card-label--top-right {
	position: absolute;
	top: 1rem;
	right: 1rem;
	bottom: auto;
	left: auto;
}

.kc-card .kc-card-label p {
	color: var(--color-primary);
	font-size: 0.7rem;
	text-transform: uppercase;
	font-family: var(--font-primary);
	padding: 0.25rem .5rem;
	font-weight: 400;
}
@media screen and (min-width: 1200px) {
	.kc-card .kc-card-label p {
		font-size: 0.85rem;
  		font-weight: 600;
	  	padding: 0.25rem 1rem;
	}
}

.kc-card .kc-card-label.kc-card-label--secondary {
  	margin-left: auto;
}
.kc-card .kc-card-label.kc-card-label--secondary p {
	color: var(--color-text-light);
	text-transform: none;
	font-weight: 400;
}

/*** CARD PET ***/
/****************/

.kc-card-banner-content .kc-card-pet {
	background-color: var(--color-primary);
	padding: 0.25rem 0.5rem;
	font-size: 1rem;
	color: white !important;
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	height: 2rem;
}

.kc-card-banner-content .kc-card-pet .kc-card-pet-icon {
	-webkit-filter: invert(100%) brightness(500%);
	filter: invert(100%) brightness(500%);
	width: 1.5rem;
	margin-right: 0.5rem;
}




/*** CARD BODY CONTENT ***/
/*************************/

.kc-card-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

a.kc-card-body {
	text-decoration: none;
}

.kc-card-body>.kc-card-body-row+.kc-card-body-row,
.kc-card-subtitle {
	margin: 0;
}

.kc-card h4,
p {
	margin: 0;
}

.kc-card-body-row {
	width: 100%;
}

.kc-card-body-row img {
	width: 16px;
	height: 16px;
	margin-right: 4px;
	margin-bottom: 8px;
}

/* card adv */

.kc-adv.kc-slider .kc-card .kc-card-body h4 {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	height: 1.2rem;
}

@media screen and (min-width: 992px) {
	.kc-adv.kc-slider .kc-card .kc-card-body h4 {
		overflow: hidden;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		height: 2.1rem;
	}
}


/* CARD header */

.kc-card-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 0.75rem;
}

.kc-card .kc-card-body-content {
  	padding: 1rem;
}

.kc-card.kc-card-structure .kc-card-body-content {
  	padding: 0;
}


/* upper title */
.kc-upper-title,
.kc-upper-title p,
.kc-upper-title small {
  	color: var(--color-primary);
  	font-size: 0.875rem;
}

.kc-upper-title svg {
	margin-right: .25rem;
}

.kc-upper-title img {
	width: 24px;
	height: 24px;
	margin-right: 8px;
}

/* title */
h4.kc-card-title {
	font-weight: 500;
	color: var(--color-text);
  font-size: 1rem;
	line-height: 1rem;
	padding-bottom: 4px;
}
.kc-card-adv h4.kc-card-title {
	color: white;
}
.kc-card-title a {
	color: var(--color-text);
  	text-decoration: none;
}
.kc-card--center h4.kc-card-title {
  	text-align: center;
  	width: 100%;
	padding: 0 1rem 1rem;
}

/* subtitle */
.kc-card-subtitle {
  	font-size: 1rem;
  	color: var(--color-text-light);
}
.kc-card--center .kc-card-subtitle {
  	text-align: center;
  	width: 100%;
}


/* exposure (testo più piccolo) */
.kc-card-exposure {
  	font-size: 0.8rem;
  	color: var(--color-text-light);
}
.kc-card--center .kc-card-exposure {
  	text-align: center;
  	width: 100%;
}
.kc-card-adv .kc-card-exposure {
	color: white;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* stars */
.kc-card .fa-star {
  	color: #e4b20d;
  	width: 0.8rem;
  	height: 0.8rem;
	margin-bottom: 0.25rem;
}

/* favorites */
.kc-card-body .kc-favorites {
  	color: var(--color-primary);
  	font-size: 20px;
}

/* footer: buttons */
.kc-card-footer {
  	margin-top: 0.5rem;
}
.kc-card.kc-card--not-customer .kc-card-footer {
	display: none;
}

.kc-card-footer a.kc-text-button {
  	font-size: 0.875rem;
  	width: -webkit-fit-content;
  	width: -moz-fit-content;
	width: fit-content;
	width: intrinsic;
}




/*** CARD CONTAINER ***/
/**********************/

.kc-boxed {
	width: 100%;
	max-width: var(--wrapper-width);
	margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .kc-boxed {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.kc-boxed > .kc-col {
  padding: 10px;
}
















.kc-list-no-group {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 20px;
}




/*** NUMERO CARD per riga, LARGHEZZA E ALTEZZA, footer ***/
/*********************************************************/

/* orientamento verticale / orizzontale della card */
.kc-card.kc-card-structure > .kc-cols {
	flex-direction: row;
}

/* numero e larghezza */
.kc-card.kc-card-structure {
	width: 100%;
	margin-bottom: 0;
}

/* altezza */
.kc-col.kc-grow.kc-card-body {
	justify-content: space-between;
	max-width: 60%;
}

/* disposizione footer */
.kc-card.kc-card-structure .kc-card-footer {
	flex-direction: row;
	justify-content: flex-end;
	align-items: center;
	gap: 15px;
}
.kc-card.kc-card-structure .kc-card-footer a {
	margin: 0;
}

/* larghezza immagine */
.kc-card.kc-card-structure .kc-card-banner {
	width: 40%;
	max-width: 40%;
}

@media screen and (min-width: 800px) {
	/* orientamento verticale / orizzontale della card */
	.kc-card.kc-card-structure > .kc-cols {
		flex-direction: column;
	}

	/* numero e larghezza */
	.kc-card.kc-card-structure {
		width: calc((100% - 40px) / 3);
	}

	/* altezza */
	.kc-col.kc-grow.kc-card-body {
		height: 200px;
		max-width: 100%;
	}

	/* disposizione footer */
	.kc-card.kc-card-structure .kc-card-footer {
		flex-direction: column;
		align-items: flex-end;
		gap: 15px;
	}

	/* larghezza immagine */
	.kc-card.kc-card-structure .kc-card-banner {
		width: 100%;
		max-width: 100%;
	}
}
@media screen and (min-width: 992px) {
	/* numero e larghezza */
	.kc-card.kc-card-structure {
		width: calc((100% - 20px) / 2);
	}

	/* altezza */
	.kc-col.kc-grow.kc-card-body {
		height: 170px;
	}

	/* disposizione footer */
	.kc-card.kc-card-structure .kc-card-footer {
		flex-direction: row;
		align-items: center;
	}
}
@media screen and (min-width: 1200px) {
	/* numero e larghezza */
	.kc-card.kc-card-structure {
		width: calc((100% - 40px) / 3);
	}
}




/*** SLICK SLIDER nella pagina Nazione ***/
/*****************************************/

.slick-slide .kc-card > .kc-cols.kc-grow {
	flex-direction: column;
}

/* altezza */
.slick-slider .kc-col.kc-grow.kc-card-body {
	height: 180px;
}

.slick-track {
	margin-bottom: 1.5rem;
}

