/* SVG-mask-based icon rendering for the doublethedonation.common.icon component.
   The component sets --icon-url to point at /api/icons/<family>/<name>.svg.
   Color follows currentColor; sizing follows font-size. */
.icon {
    display: inline-block;
    width: 1.15em;
    height: 1.15em;
    vertical-align: -0.2em;
    background-color: currentColor;
    -webkit-mask-image: var(--icon-url);
    mask-image: var(--icon-url);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* FontAwesome-compatible size + fixed-width modifiers. */
.icon.fa-xs {
    font-size: 0.75em
}

.icon.fa-sm {
    font-size: 0.875em
}

.icon.fa-lg {
    font-size: 1.25em;
    vertical-align: -0.225em;
}

.icon.fa-xl {
    font-size: 1.5em;
}

.icon.fa-2x {
    font-size: 2em;
    vertical-align: -0.3em;
}

.icon.fa-3x {
    font-size: 3em;
    vertical-align: -0.4em;
}

.icon.fa-4x {
    font-size: 4em;
    vertical-align: -0.5em;
}

.icon.fa-5x {
    font-size: 5em;
    vertical-align: -0.6em;
}

.icon.fa-fw {
    font-size: 1.25em;
}

/* Per-icon helper classes for non-CLJS contexts (raw HTML, JS class swaps,
   strings of HTML constructed in code). Naming: icon-fa-<family>-<name>. */
.icon-fa-solid-check {
    --icon-url: url(/api/icons/solid/check.svg);
}

.icon-fa-solid-circle-info {
    --icon-url: url(/api/icons/solid/circle-info.svg);
}

.icon-fa-solid-circle-question {
    --icon-url: url(/api/icons/solid/circle-question.svg);
}

.icon-fa-solid-envelope {
    --icon-url: url(/api/icons/solid/envelope.svg);
}

.icon-fa-solid-envelope-open {
    --icon-url: url(/api/icons/solid/envelope-open.svg);
}

.icon-fa-solid-eye {
    --icon-url: url(/api/icons/solid/eye.svg);
}

.icon-fa-solid-eye-slash {
    --icon-url: url(/api/icons/solid/eye-slash.svg);
}

.icon-fa-solid-pencil {
    --icon-url: url(/api/icons/solid/pencil.svg);
}

.icon-fa-solid-wand-magic-sparkles {
    --icon-url: url(/api/icons/solid/wand-magic-sparkles.svg);
}
