[data-component-id="blsi2026:icon-deco"] {
  --icon-deco--size: 56px;
  --icon-deco--offset: 1.5rem;
  --icon-deco--color: var(--color-secondary);

  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--icon-deco--size);
  height: var(--icon-deco--size);
  pointer-events: none;
}

.container:has([data-component-id="blsi2026:icon-deco"]) { position: relative; }

/* Tailles */
.c-icon-deco--sm { --icon-deco--size: var(--size-fluid-5); }
.c-icon-deco--md { --icon-deco--size:  var(--size-fluid-6); }
.c-icon-deco--lg { --icon-deco--size:  var(--size-fluid-7); }

/* SVG prend toute la place */
[data-component-id="blsi2026:icon-deco"] svg {
  width: 100%;
  height: 100%;
  --icon-color: var(--icon-deco--color);
  color: var(--icon-deco--color);
}

/* ── Positions ── */

/* Top edge */
.c-icon-deco--tlh { top: 0; left: var(--icon-deco--offset); transform: translateY(-50%); }
.c-icon-deco--trh { top: 0; right: var(--icon-deco--offset); transform: translateY(-50%); }

/* Bottom edge */
.c-icon-deco--blh { bottom: 0; left: var(--icon-deco--offset); transform: translateY(50%); }
.c-icon-deco--brh { bottom: 0; right: var(--icon-deco--offset); transform: translateY(50%); }

/* Left edge */
.c-icon-deco--tlv { top: var(--icon-deco--offset); left: 0; transform: translateX(-50%); }
.c-icon-deco--blv { bottom: var(--icon-deco--offset); left: 0; transform: translateX(-50%); }

/* Right edge */
.c-icon-deco--trv { top: var(--icon-deco--offset); right: 0; transform: translateX(50%); }
.c-icon-deco--brv { bottom: var(--icon-deco--offset); right: 0; transform: translateX(50%); }
