.lvde-horoscope-modal {
	width: min(36rem, calc(100vw - 2rem));
	max-height: calc(100vh - 2rem);
	overflow-x: hidden;
	padding: 0;
	border: 1px solid #ecd68f;
	border-radius: 12px;
	background: linear-gradient(160deg, #3a1a8f 0%, #22167a 100%);
	color: #f5ecd0;
	box-shadow: 0 20px 60px rgba(10, 5, 40, 0.6);
}

.lvde-horoscope-modal::backdrop {
	background: rgba(15, 8, 50, 0.75);
	backdrop-filter: blur(3px);
}

.lvde-horoscope-modal[open] {
	animation: lvde-horoscope-in 0.25s ease-out;
}

@keyframes lvde-horoscope-in {
	from { opacity: 0; transform: translateY(12px) scale(0.98); }
	to   { opacity: 1; transform: none; }
}

.lvde-horoscope-modal__inner {
	position: relative;
	letter-spacing: normal;
	padding: 2.5rem 2rem 2rem;
	text-align: center;
}

/* Sélecteurs renforcés : le thème stylise tous les <button>. */
.lvde-horoscope-modal .lvde-horoscope-modal__close {
	position: absolute;
	top: 0.5rem;
	right: 0.75rem;
	padding: 0.25rem 0.5rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #ecd68f;
	font-size: 2rem;
	letter-spacing: 0;
	line-height: 1;
	cursor: pointer;
}

.lvde-horoscope-modal .lvde-horoscope-modal__close:hover,
.lvde-horoscope-modal .lvde-horoscope-modal__close:focus,
.lvde-horoscope-modal .lvde-horoscope-modal__close:focus-visible {
	border: 0;
	background: transparent;
	color: #fff;
}

.lvde-horoscope-modal__image {
	display: block;
	width: 120px;
	height: 120px;
	margin: 0 auto 1rem;
	object-fit: cover;
	border-radius: 8px;
}

.lvde-horoscope-modal__title {
    font-family: var(--titres), serif;
	margin: 0;
	color: #ecd68f;
	font-size: 1.75rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}

.lvde-horoscope-modal__dates {
	margin: 0.25rem 0 1.5rem;
	font-size: 0.9rem;
	letter-spacing: 0.1em;
	opacity: 0.8;
}

.lvde-horoscope-modal .lvde-horoscope-modal__text,
.lvde-horoscope-modal .lvde-horoscope-modal__text p {
    font-family: var(--texte), sans-serif;
	letter-spacing: normal;
	color: #f5ecd0;
}

.lvde-horoscope-modal__text {
	font-size: 1rem;
	line-height: 1.6;
	text-align: left;
}

.lvde-horoscope-modal__text p:last-child {
	margin-bottom: 0;
}

.lvde-horoscope-modal__updated {
	margin: 1.5rem 0 0;
	font-size: 0.8rem;
	font-style: italic;
	opacity: 0.7;
}

@media (max-width: 767px) {
	.lvde-horoscope-modal__inner {
		padding: 2.25rem 1.25rem 1.5rem;
	}

	.lvde-horoscope-modal__title {
		font-size: 1.4rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.lvde-horoscope-modal[open] {
		animation: none;
	}
}
