/* mod_corner_ribbon - ruban d'angle (4 positions) */
.mod-corner-ribbon {
	--cr-bg: #e8833a;
	--cr-color: #fff;
	--cr-size: 140px;
	--cr-font: 16px;
	--cr-ox: 0px;
	--cr-oy: 0px;
	--cr-z: 1050;
	--cr-scale: 1;
	--cr-mobile-scale: .7;

	position: fixed;
	z-index: var(--cr-z);
	width: calc(var(--cr-size) * var(--cr-scale));
	height: calc(var(--cr-size) * var(--cr-scale));
	overflow: hidden;
	pointer-events: none; /* le coin vide ne bloque pas les clics */
}

/* Mode "dans le conteneur parent" : le parent doit être en position: relative */
.mod-corner-ribbon--absolute { position: absolute; }

/* 4 coins */
.mod-corner-ribbon--tl { top: var(--cr-oy);    left: var(--cr-ox); }
.mod-corner-ribbon--tr { top: var(--cr-oy);    right: var(--cr-ox); }
.mod-corner-ribbon--bl { bottom: var(--cr-oy); left: var(--cr-ox); }
.mod-corner-ribbon--br { bottom: var(--cr-oy); right: var(--cr-ox); }

/* Ruban */
.mod-corner-ribbon__band {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150%;
	height: calc(var(--cr-font) * var(--cr-scale) * 2.2);
	font-size: calc(var(--cr-font) * var(--cr-scale));
	background: var(--cr-bg);
	color: var(--cr-color);
	text-align: center;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
	pointer-events: none;
}

a.mod-corner-ribbon__band { pointer-events: auto; cursor: pointer; }
a.mod-corner-ribbon__band:hover,
a.mod-corner-ribbon__band:focus-visible {
	color: var(--cr-color);
	text-decoration: underline;
}

.mod-corner-ribbon--tl .mod-corner-ribbon__band { top: 25%; left: 25%; transform: translate(-50%, -50%) rotate(-45deg); }
.mod-corner-ribbon--tr .mod-corner-ribbon__band { top: 25%; left: 75%; transform: translate(-50%, -50%) rotate(45deg); }
.mod-corner-ribbon--bl .mod-corner-ribbon__band { top: 75%; left: 25%; transform: translate(-50%, -50%) rotate(45deg); }
.mod-corner-ribbon--br .mod-corner-ribbon__band { top: 75%; left: 75%; transform: translate(-50%, -50%) rotate(-45deg); }

/* Texte (h1-h6 / p) : neutralise les styles du template */
.mod-corner-ribbon .mod-corner-ribbon__text {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}
.mod-corner-ribbon .mod-corner-ribbon__text::before,
.mod-corner-ribbon .mod-corner-ribbon__text::after {
	content: none !important;
}

/* Mobile : réduction proportionnelle */
@media (max-width: 576px) {
	.mod-corner-ribbon { --cr-scale: var(--cr-mobile-scale); }
}

@media print {
	.mod-corner-ribbon { display: none; }
}
