/* Stili generali della Dashboard */
/* .custom-dashboard-container > section {
	padding-left: 0;
	padding-right: 0;
} */

.notification-fixed span,
.notification {
	color: #fff;
}

.dashboard-header-section {
	text-align: center;
	margin-bottom: 40px;
	padding-bottom: 20px;
}

.dashboard-header-section h1 {
	font-size: 2.5em;
	color: #2c3e50;
	margin-bottom: 10px;
}

.dashboard-header-section p {
	font-size: 1.1em;
	color: #666;
}

.dashboard-form-section {
	background-color: #fff;
	padding: 25px;
	border-radius: 10px;
	box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1),
		0 0 0 1px rgba(10, 10, 10, 0.02);
}

.dashboard-form-section h2,
.dashboard-books-list-section h2 {
	font-size: 1.8em;
	color: #34495e;
	position: relative;
	padding-bottom: 10px;
}

/*------------------------------------------------------*/
/* Stili per la lista dei passaggi di vendita e acquisto */
/*------------------------------------------------------*/
.step-list-vendi-acquista {
	counter-reset: step-counter;
	list-style: none !important;
	margin: 0 !important;
	padding: 0;
}

.step-list-vendi-acquista li {
	counter-increment: step-counter;
	position: relative;
	margin-bottom: 1.5rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* .step-list-vendi-acquista li::before {
	content: counter(step-counter);
	position: absolute;
	top: 2.8rem;
	left: 0.8rem;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.5rem;
	background: linear-gradient(135deg, #45c0de, #00d1b2);
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
} */

.step-list-vendi-acquista li strong {
	color: #45c0de;
	display: block;
	margin-bottom: 0.3rem;
	font-size: 1.1rem;
}

.step-list-vendi-acquista li:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.15);
}

/* Stili per le tendine accordion - Design elegante coordinato */
.accordion-item {
	border: 1px solid rgba(69, 192, 222, 0.2);
	border-radius: 12px;
	margin-bottom: 1.5rem;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(69, 192, 222, 0.1);
	transition: all 0.3s ease;
	background: #fff;
}

.accordion-item:hover {
	box-shadow: 0 8px 25px rgba(69, 192, 222, 0.15);
	transform: translateY(-2px);
}

.accordion-title {
	cursor: pointer;
	padding: 1.5rem 2rem;
	margin: 0 !important;
	background: linear-gradient(135deg, #45c0de 0%, #00d1b2 100%);
	color: white !important;
	transition: all 0.4s ease;
	position: relative;
	user-select: none;
	font-weight: 700;
	letter-spacing: 0.5px;
}

.accordion-title:hover {
	background: linear-gradient(135deg, #3bb5d3 0%, #00b5a0 100%);
	transform: none;
	/* Rimuoviamo il transform per evitare conflitti */
}

.accordion-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(
		45deg,
		transparent 30%,
		rgba(255, 255, 255, 0.1) 50%,
		transparent 70%
	);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.accordion-title:hover::before {
	opacity: 1;
}

.accordion-icon {
	float: right;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	font-size: 1em;
	margin-left: 15px;
	font-weight: bold;
}

.accordion-title.active .accordion-icon {
	transform: rotate(180deg);
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), padding 0.5s ease;
	background: linear-gradient(
		135deg,
		rgba(69, 192, 222, 0.02) 0%,
		rgba(0, 209, 178, 0.02) 100%
	);
	padding: 0 2rem;
	border-top: 1px solid rgba(69, 192, 222, 0.1);
}

.accordion-content.active {
	max-height: 600px;
	padding: 2rem;
}

.step-list-vendi-acquista {
	margin: 0;
	padding-left: 0;
	list-style: none;
	counter-reset: step-counter;
}

.step-list-vendi-acquista li {
	margin-bottom: 1.5rem;
	line-height: 1.7;
	color: #444;
	padding-left: 3rem;
	position: relative;
	counter-increment: step-counter;
}

.step-list-vendi-acquista li::before {
	content: counter(step-counter);
	position: absolute;
	left: 0;
	top: 0;
	width: 2rem;
	height: 2rem;
	background: linear-gradient(135deg, #45c0de, #00d1b2);
	color: white;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 0.9rem;
	box-shadow: 0 2px 8px rgba(69, 192, 222, 0.3);
}

.step-list-vendi-acquista li strong {
	color: #00b5a0;
	font-weight: 700;
}

/* Animazioni eleganti */
@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-15px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeInScale {
	from {
		opacity: 0;
		transform: scale(0.95);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.accordion-content.active {
	animation: slideDown 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.accordion-content.active .step-list-vendi-acquista li {
	animation: fadeInScale 0.4s ease forwards;
	animation-delay: calc(var(--item-index, 0) * 0.1s);
}

/* Responsive design */
@media (max-width: 768px) {
	.accordion-title {
		padding: 1.2rem 1.5rem;
		font-size: 1.1rem;
	}

	.accordion-content.active {
		padding: 1.5rem;
	}

	.step-list-vendi-acquista li {
		padding-left: 2.5rem;
		font-size: 0.95rem;
	}

	.step-list-vendi-acquista li::before {
		width: 1.8rem;
		height: 1.8rem;
		font-size: 0.8rem;
	}
}

/*------------------------------------------------------*/
/* Stili per il form di ricerca */
/*------------------------------------------------------*/
.filtro-ricerca {
	padding-top: 0;
	padding-bottom: 0;
}
#ministero-book-finder {
	background-image: linear-gradient(135deg, #0050ab 0%, #2af598 100%);
	border-radius: 10px;
	padding: 50px 30px;
}
#ministero-book-finder h3,
#ministero-book-finder p,
#ministero-book-finder label {
	color: #fff;
}

/*------------------------------------------------------*/
/* Stili del Form ACF */
/*------------------------------------------------------*/
#form-caricamento-libro .acf-field {
	width: 100% !important;
}

/* Forza la visibilità del campo ISBN sempre */
#form-caricamento-libro .acf-field[data-name="isbn_libro"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	min-height: auto !important;
	height: auto !important;
}

/* Forza override degli stili inline ACF per ISBN */
.acf-field[data-name="isbn_libro"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}

#form-caricamento-libro .isbn-status {
	margin-top: 8px;
	font-size: 0.9em;
	font-weight: 700;
}

#form-caricamento-libro .isbn-status.success {
	color: #4caf50;
}

#form-caricamento-libro .isbn-status.loading {
	color: #ff9800;
}

#form-caricamento-libro .isbn-status.error {
	color: #f44336;
}

#form-caricamento-libro .isbn-status.warning {
	color: #ff5722;
}

#form-caricamento-libro .acf-field {
	margin-bottom: 20px;
}

#form-caricamento-libro .acf-fields > .acf-field {
	position: relative;
	margin: 0;
	padding: 14px 0;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #eaecf0;
}

#form-caricamento-libro .acf-label {
	font-weight: bold;
	display: block;
	margin-bottom: 0;
	color: #555;
}

#form-caricamento-libro .acf-input input[type="text"],
#form-caricamento-libro .acf-input input[type="number"],
#form-caricamento-libro .acf-input input[type="email"],
#form-caricamento-libro .acf-input textarea,
#form-caricamento-libro .acf-input select {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 1em;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
}

#form-caricamento-libro .acf-input input[type="file"] {
	padding: 10px 0;
}

#form-caricamento-libro .acf-form-submit input[type="submit"] {
	background-color: #48c78e;
	color: white;
	padding: 15px 30px;
	border: none;
	border-radius: 8px;
	font-size: 1.1em;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.2s ease;
	margin-top: 20px;
	width: 100%;
}

#reset-form-libro {
	width: 100% !important;
	border-radius: 8px;
	margin-top: 10px;
}

#form-caricamento-libro .acf-submit input[type="submit"]:hover {
	background-color: #357bd9;
	transform: translateY(-2px);
}

.dashboard-success-message {
	border-radius: 0 !important;
	text-align: center;
	font-weight: 700;
}

/* ====================================== */
/* ELENCO LIBRI ADOTTATI*/
/* ====================================== */
#book-results-list ol {
	margin-left: 30px;
}
#book-results-list li {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px dashed #ccc;
}
#book-results-list li .tag {
	font-size: 0.9rem;
	font-weight: 700;
	background-color: #cbe2fc;
	color: #000;
}

/* ====================================== */
/* ELENCO LIBRI CARICATI */
/* ====================================== */
.user-books-grid {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(
		auto-fit,
		minmax(250px, 1fr)
	); /* Griglia responsiva */
	gap: 20px;
}

.book-item {
	background-color: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1),
		0 0 0 1px rgba(10, 10, 10, 0.02);
	transition: transform 0.2s ease;
}

.book-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

.book-item .book-cover {
	width: 100px;
	height: auto;
}
.book-thumbnail .no-thumbnail {
	color: #999;
	font-style: italic;
	font-size: 0.9em;
	text-align: center;
}

.book-details {
	padding: 15px;
	text-align: center;
}

.book-details h3 {
	font-size: 1.3em;
	color: #333;
	margin-bottom: 10px;
}

.book-details p {
	font-size: 0.95em;
	color: #777;
	margin-bottom: 8px;
}

.book-status-draft {
	color: #ff9800; /* Arancione per le bozze */
	font-weight: bold;
}

.book-status-publish {
	color: #4caf50; /* Verde per i pubblicati */
	font-weight: bold;
}

.view-book-button {
	display: inline-block;
	background-color: #607d8b;
	color: white;
	padding: 8px 15px;
	border-radius: 6px;
	text-decoration: none;
	font-size: 0.9em;
	transition: background-color 0.3s ease;
	margin-top: 10px;
}

.view-book-button:hover {
	background-color: #455a64;
}

/* Media Queries per la Responsività */
@media (max-width: 768px) {
	.dashboard-content-wrapper {
		flex-direction: column; /* Impila le colonne su schermi piccoli */
	}
	.dashboard-form-section,
	.dashboard-books-list-section {
		min-width: unset; /* Rimuovi la larghezza minima */
		flex: auto; /* Lascia che le sezioni prendano lo spazio necessario */
	}
}
