/* Devsector Custom Sticker — front */

.dcs-sticker {
	position: fixed;
	z-index: var(--dcs-z, 9999);
	width: var(--dcs-size, 120px);
	height: var(--dcs-size, 120px);
	pointer-events: none;
	box-sizing: border-box;
}

.dcs-sticker *,
.dcs-sticker *::before,
.dcs-sticker *::after {
	box-sizing: border-box;
}

/* Positions */
.dcs-sticker--top-left     { top: var(--dcs-offset-y); left: var(--dcs-offset-x); }
.dcs-sticker--top-right    { top: var(--dcs-offset-y); right: var(--dcs-offset-x); }
.dcs-sticker--bottom-left  { bottom: var(--dcs-offset-y); left: var(--dcs-offset-x); }
.dcs-sticker--bottom-right { bottom: var(--dcs-offset-y); right: var(--dcs-offset-x); }

/* Décalage sous la barre d'admin WordPress */
body.admin-bar .dcs-sticker--top-left,
body.admin-bar .dcs-sticker--top-right {
	top: calc(var(--dcs-offset-y) + 32px);
}
@media screen and (max-width: 782px) {
	body.admin-bar .dcs-sticker--top-left,
	body.admin-bar .dcs-sticker--top-right {
		top: calc(var(--dcs-offset-y) + 46px);
	}
}

.dcs-sticker__rotator {
	width: 100%;
	height: 100%;
	transform: rotate(var(--dcs-rotation, 0deg));
}

.dcs-sticker__circle {
	pointer-events: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
	background: var(--dcs-bg, #e63946);
	color: var(--dcs-color, #fff);
	border: var(--dcs-border-width, 0) solid var(--dcs-border-color, transparent);
	font-size: var(--dcs-font-size, 16px);
	line-height: 1.15;
	text-align: center;
	text-decoration: none;
	padding: 12%;
	transition: transform .2s ease;
}

/* Couleur du texte : sélecteurs renforcés (#id) pour passer devant les
   règles « a, a:link, a:visited » des thèmes. */
#dcs-sticker .dcs-sticker__circle,
#dcs-sticker a.dcs-sticker__circle:link,
#dcs-sticker a.dcs-sticker__circle:visited,
#dcs-sticker a.dcs-sticker__circle:hover,
#dcs-sticker a.dcs-sticker__circle:focus,
#dcs-sticker a.dcs-sticker__circle:active {
	color: var(--dcs-color, #fff);
	text-decoration: none;
}

#dcs-sticker .dcs-sticker__content,
#dcs-sticker .dcs-sticker__content *,
#dcs-sticker .dcs-sticker__content a:link,
#dcs-sticker .dcs-sticker__content a:visited {
	color: inherit;
}

a.dcs-sticker__circle:hover,
a.dcs-sticker__circle:focus-visible {
	transform: scale(1.06);
}

a.dcs-sticker__circle:focus-visible {
	outline: 3px solid var(--dcs-color, #fff);
	outline-offset: 3px;
}

.dcs-sticker--shadow .dcs-sticker__circle {
	box-shadow: 0 6px 18px rgba(0, 0, 0, .25);
}

.dcs-sticker__content {
	max-width: 100%;
	max-height: 100%;
	overflow-wrap: anywhere;
}

.dcs-sticker__content > :first-child { margin-top: 0; }
.dcs-sticker__content > :last-child  { margin-bottom: 0; }
.dcs-sticker__content p { margin: 0 0 .25em; color: inherit; font-size: inherit; line-height: inherit; }
.dcs-sticker__content a { color: inherit; }
.dcs-sticker__content img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	height: auto;
	margin: 0 auto;
}

/* Bouton fermer */
.dcs-sticker__close {
	pointer-events: auto;
	position: absolute;
	top: 0;
	right: 0;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #111;
	color: #fff;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .3);
}
.dcs-sticker__close:hover { background: #333; }

.dcs-sticker.is-hidden { display: none; }

/* Animations */
@keyframes dcs-pulse  { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }
@keyframes dcs-float  { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes dcs-wobble { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(-6deg); } 75% { transform: rotate(6deg); } }
@keyframes dcs-spin   { to { transform: rotate(360deg); } }

.dcs-anim--pulse  .dcs-sticker__circle { animation: dcs-pulse 2s ease-in-out infinite; }
.dcs-anim--float  .dcs-sticker__circle { animation: dcs-float 3s ease-in-out infinite; }
.dcs-anim--wobble .dcs-sticker__circle { animation: dcs-wobble 2.5s ease-in-out infinite; }
.dcs-anim--spin   .dcs-sticker__circle { animation: dcs-spin 20s linear infinite; }

@media (prefers-reduced-motion: reduce) {
	.dcs-sticker__circle { animation: none !important; transition: none !important; }
}

/* Mobile */
@media (max-width: 767px) {
	.dcs-sticker {
		width: var(--dcs-size-mobile, 90px);
		height: var(--dcs-size-mobile, 90px);
	}
	.dcs-sticker__circle { font-size: calc(var(--dcs-font-size, 16px) * .8); }
	.dcs-sticker--hide-mobile { display: none !important; }
}

/* Impression */
@media print {
	.dcs-sticker { display: none !important; }
}
