/**
 * Stili base widget Elementor Kshare.
 * I controlli granulari sono gestiti via selettori Elementor inline.
 */

.kshare-elementor-widget {
	box-sizing: border-box;
}

.kshare-elementor-widget *,
.kshare-elementor-widget *::before,
.kshare-elementor-widget *::after {
	box-sizing: inherit;
}

/* Stato vuoto / anteprima */
.kshare-el-empty {
	padding: 0.75rem 1rem;
	border: 1px dashed rgba(0, 0, 0, 0.15);
	border-radius: 6px;
	color: rgba(0, 0, 0, 0.55);
	font-size: 0.875rem;
}

.kshare-el-preview-badge {
	display: inline-block;
	margin-left: 0.35rem;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	background: rgba(0, 124, 186, 0.12);
	color: #007cba;
	font-size: 0.75rem;
	font-weight: 600;
}

/* Titolo */
.kshare-el-title {
	margin: 0;
}

/* Messaggio */
.kshare-el-message__label {
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.kshare-el-message__text {
	margin: 0;
}

/* Meta (scadenza, mittente, dimensione) */
.kshare-el-meta-wrap {
	display: block;
}

.kshare-el-meta-wrap--stacked .kshare-el-meta {
	flex-direction: column;
	align-items: flex-start;
}

.kshare-el-meta {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
}

.kshare-el-meta__icon {
	display: inline-flex;
	line-height: 1;
}

.kshare-el-meta__prefix {
	opacity: 0.85;
}

.kshare-el-meta__value {
	font-weight: 600;
}

/* Lista file */
.kshare-el-file-list__count {
	margin-bottom: 0.5rem;
	font-size: 0.8125rem;
	opacity: 0.75;
}

.kshare-el-file-list__items {
	margin: 0;
	padding-left: 1.25rem;
}

.kshare-el-file-list--cols-2 .kshare-el-file-list__items,
.kshare-el-file-list--cols-3 .kshare-el-file-list__items {
	column-gap: 1.5rem;
	display: grid;
	padding-left: 0;
	list-style: none;
}

.kshare-el-file-list--cols-2 .kshare-el-file-list__items {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kshare-el-file-list--cols-3 .kshare-el-file-list__items {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kshare-el-file-list__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.kshare-el-file-list--divided .kshare-el-file-list__item {
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.kshare-el-file-list__icon {
	display: inline-flex;
	flex-shrink: 0;
}

/* Pulsante download */
.kshare-el-button-wrap {
	display: block;
}

.kshare-el-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	text-decoration: none;
	line-height: 1.2;
	transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
	cursor: pointer;
	border: none;
}

.kshare-el-button-wrap--stretch .kshare-el-button {
	display: flex;
	width: 100%;
}

.kshare-el-button--size-sm {
	font-size: 0.8125rem;
	padding: 0.45rem 0.85rem;
}

.kshare-el-button--size-md {
	font-size: 0.9375rem;
	padding: 0.65rem 1.15rem;
}

.kshare-el-button--size-lg {
	font-size: 1rem;
	padding: 0.85rem 1.45rem;
}

.kshare-el-button--size-xl {
	font-size: 1.125rem;
	padding: 1rem 1.75rem;
}

.kshare-el-button__icon {
	display: inline-flex;
	line-height: 1;
}

/* Errori */
.kshare-el-error {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.85rem 1rem;
	border-radius: 8px;
	border: 1px solid transparent;
}

.kshare-el-error--info {
	background: rgba(0, 124, 186, 0.08);
	border-color: rgba(0, 124, 186, 0.25);
	color: #004e73;
}

.kshare-el-error--warning {
	background: rgba(240, 184, 73, 0.15);
	border-color: rgba(240, 184, 73, 0.45);
	color: #7a5200;
}

.kshare-el-error--error {
	background: rgba(214, 54, 56, 0.1);
	border-color: rgba(214, 54, 56, 0.35);
	color: #8a1f1f;
}

.kshare-el-error__icon {
	flex-shrink: 0;
	line-height: 1.2;
}

.kshare-el-error-type--badge {
	display: inline-flex;
	align-items: center;
	padding: 0.25rem 0.55rem;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.06);
	font-size: 0.8125rem;
}

.kshare-el-error-type__code {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 0.8125rem;
}

/* Card composita */
.kshare-el-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.kshare-el-card__title {
	margin: 0;
}

.kshare-el-card__message {
	margin: 0;
	white-space: pre-line;
}

.kshare-el-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
}

.kshare-el-card__meta--column {
	flex-direction: column;
}

.kshare-el-card__meta--grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 0.75rem;
}

.kshare-el-card__meta-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.5rem;
	min-width: 0;
}

.kshare-el-card__meta-label {
	opacity: 0.8;
	font-size: 0.8125rem;
}

.kshare-el-card__meta-value {
	font-weight: 600;
}

.kshare-el-card__files {
	overflow: hidden;
}

.kshare-el-card__file-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kshare-el-card__file-item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.4rem 0;
}

.kshare-el-card__file-item + .kshare-el-card__file-item {
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.kshare-el-card__actions {
	margin-top: 0.25rem;
}

.kshare-el-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	text-decoration: none;
	transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.kshare-el-card__button-icon {
	display: inline-flex;
	line-height: 1;
}

@media (max-width: 767px) {
	.kshare-el-file-list--cols-2 .kshare-el-file-list__items,
	.kshare-el-file-list--cols-3 .kshare-el-file-list__items {
		grid-template-columns: 1fr;
	}
}

/* OTP gate */
.kshare-el-otp-gate {
	width: 100%;
	text-align: center;
}

.kshare-el-otp-gate .kshare-otp-gate {
	margin-left: auto;
	margin-right: auto;
}

.kshare-el-otp-gate--preview .kshare-el-preview-badge {
	display: block;
	margin: 0.75rem 0 0;
	width: fit-content;
}
