/* ==========================================================================
   icons-lucide.css — заміна Bootstrap 3 Glyphicons на Lucide через
   CSS mask-image. Розмітка vendor (`<span class="glyphicon glyphicon-X">`)
   не змінюється — ми лише перевизначаємо рендер: вимикаємо font-icon
   через ::before { display: none } і показуємо Lucide SVG як mask
   на самому span'і, з кольором із currentColor.
   ========================================================================== */

/* Base: перетворити .glyphicon з font-icon у mask-box */
.glyphicon {
    /* Нейтралізуємо Halflings — щоб \eXXX символи не рендерились як гліфи */
    font-family: inherit !important;
    font-size: inherit !important;
    font-style: normal !important;
    font-weight: normal !important;
    speak: none;

    /* BS3 ставив position:relative; top:1px для font-baseline, для SVG це
       зайве і дає легку розфокусованість виструнчення. */
    position: static !important;
    top: auto !important;

    width: 1em;
    height: 1em;
    display: inline-block;
    vertical-align: -0.15em;
    line-height: 1;
    text-align: initial;
    color: inherit;

    background-color: currentColor;
    -webkit-mask-position: center;
            mask-position: center;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
}

/* Сховати оригінальний codepoint від Halflings (інакше — tofu) */
.glyphicon::before {
    content: "" !important;
    display: none !important;
}

/* Класи приховування з vendor (small.css/bootstrap.css) перекривають
   `.glyphicon { display: inline-block }` — але оскільки icons-lucide.css
   завантажується ПІСЛЯ них, наш display виграє за source order і toast-
   іконки в #global_result (з .disp-n) починають показуватись.
   Повертаємо пріоритет приховування. */
.glyphicon.disp-n,
.glyphicon.hidden,
.glyphicon[hidden] {
    display: none !important;
}
@media (max-width: 767px) {
    .glyphicon.hidden-xs { display: none !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
    .glyphicon.hidden-sm { display: none !important; }
}
@media (min-width: 992px) and (max-width: 1199px) {
    .glyphicon.hidden-md { display: none !important; }
}
@media (min-width: 1200px) {
    .glyphicon.hidden-lg { display: none !important; }
}

/* --- Іконки що реально використовуються в проекті ----------------------- */

.glyphicon-pushpin       { -webkit-mask-image: url(../img/icons/lucide/pin.svg);            mask-image: url(../img/icons/lucide/pin.svg); }
.glyphicon-user          { -webkit-mask-image: url(../img/icons/lucide/user.svg);           mask-image: url(../img/icons/lucide/user.svg); }
.glyphicon-time          { -webkit-mask-image: url(../img/icons/lucide/clock.svg);          mask-image: url(../img/icons/lucide/clock.svg); }
.glyphicon-remove        { -webkit-mask-image: url(../img/icons/lucide/x.svg);              mask-image: url(../img/icons/lucide/x.svg); }
.glyphicon-pencil        { -webkit-mask-image: url(../img/icons/lucide/pencil.svg);         mask-image: url(../img/icons/lucide/pencil.svg); }
.glyphicon-comment       { -webkit-mask-image: url(../img/icons/lucide/message-circle.svg); mask-image: url(../img/icons/lucide/message-circle.svg); }
.glyphicon-trash         { -webkit-mask-image: url(../img/icons/lucide/trash-2.svg);        mask-image: url(../img/icons/lucide/trash-2.svg); }
.glyphicon-calendar      { -webkit-mask-image: url(../img/icons/lucide/calendar.svg);       mask-image: url(../img/icons/lucide/calendar.svg); }
.glyphicon-search        { -webkit-mask-image: url(../img/icons/lucide/search.svg);         mask-image: url(../img/icons/lucide/search.svg); }
.glyphicon-picture       { -webkit-mask-image: url(../img/icons/lucide/image.svg);          mask-image: url(../img/icons/lucide/image.svg); }
.glyphicon-ok            { -webkit-mask-image: url(../img/icons/lucide/check.svg);          mask-image: url(../img/icons/lucide/check.svg); }
.glyphicon-map-marker    { -webkit-mask-image: url(../img/icons/lucide/map-pin.svg);        mask-image: url(../img/icons/lucide/map-pin.svg); }
.glyphicon-link          { -webkit-mask-image: url(../img/icons/lucide/link.svg);           mask-image: url(../img/icons/lucide/link.svg); }
.glyphicon-bookmark      { -webkit-mask-image: url(../img/icons/lucide/bookmark.svg);       mask-image: url(../img/icons/lucide/bookmark.svg); }
.glyphicon-barcode       { -webkit-mask-image: url(../img/icons/lucide/barcode.svg);        mask-image: url(../img/icons/lucide/barcode.svg); }
.glyphicon-th            { -webkit-mask-image: url(../img/icons/lucide/grid-3x3.svg);       mask-image: url(../img/icons/lucide/grid-3x3.svg); }
.glyphicon-tasks         { -webkit-mask-image: url(../img/icons/lucide/list-checks.svg);    mask-image: url(../img/icons/lucide/list-checks.svg); }
.glyphicon-qrcode        { -webkit-mask-image: url(../img/icons/lucide/qr-code.svg);        mask-image: url(../img/icons/lucide/qr-code.svg); }
.glyphicon-tag           { -webkit-mask-image: url(../img/icons/lucide/tag.svg);            mask-image: url(../img/icons/lucide/tag.svg); }
.glyphicon-share-alt     { -webkit-mask-image: url(../img/icons/lucide/share-2.svg);        mask-image: url(../img/icons/lucide/share-2.svg); }
.glyphicon-ok-circle     { -webkit-mask-image: url(../img/icons/lucide/circle-check.svg);   mask-image: url(../img/icons/lucide/circle-check.svg); }
.glyphicon-warning-sign  { -webkit-mask-image: url(../img/icons/lucide/triangle-alert.svg); mask-image: url(../img/icons/lucide/triangle-alert.svg); }
.glyphicon-thumbs-up     { -webkit-mask-image: url(../img/icons/lucide/thumbs-up.svg);      mask-image: url(../img/icons/lucide/thumbs-up.svg); }
.glyphicon-shopping-cart { -webkit-mask-image: url(../img/icons/lucide/shopping-cart.svg);  mask-image: url(../img/icons/lucide/shopping-cart.svg); }
.glyphicon-list          { -webkit-mask-image: url(../img/icons/lucide/list.svg);           mask-image: url(../img/icons/lucide/list.svg); }
.glyphicon-list-alt      { -webkit-mask-image: url(../img/icons/lucide/list.svg);           mask-image: url(../img/icons/lucide/list.svg); }
.glyphicon-king          { -webkit-mask-image: url(../img/icons/lucide/crown.svg);          mask-image: url(../img/icons/lucide/crown.svg); }
.glyphicon-italic        { -webkit-mask-image: url(../img/icons/lucide/italic.svg);         mask-image: url(../img/icons/lucide/italic.svg); }
.glyphicon-globe         { -webkit-mask-image: url(../img/icons/lucide/globe.svg);          mask-image: url(../img/icons/lucide/globe.svg); }
.glyphicon-credit-card   { -webkit-mask-image: url(../img/icons/lucide/credit-card.svg);    mask-image: url(../img/icons/lucide/credit-card.svg); }
.glyphicon-cog           { -webkit-mask-image: url(../img/icons/lucide/settings.svg);       mask-image: url(../img/icons/lucide/settings.svg); }
.glyphicon-chevron-right { -webkit-mask-image: url(../img/icons/lucide/chevron-right.svg);  mask-image: url(../img/icons/lucide/chevron-right.svg); }
.glyphicon-chevron-left  { -webkit-mask-image: url(../img/icons/lucide/chevron-left.svg);   mask-image: url(../img/icons/lucide/chevron-left.svg); }
.glyphicon-chevron-down  { -webkit-mask-image: url(../img/icons/lucide/chevron-down.svg);   mask-image: url(../img/icons/lucide/chevron-down.svg); }
.glyphicon-chevron-up    { -webkit-mask-image: url(../img/icons/lucide/chevron-up.svg);     mask-image: url(../img/icons/lucide/chevron-up.svg); }
.glyphicon-ban-circle    { -webkit-mask-image: url(../img/icons/lucide/ban.svg);            mask-image: url(../img/icons/lucide/ban.svg); }
.glyphicon-align-left    { -webkit-mask-image: url(../img/icons/lucide/align-left.svg);     mask-image: url(../img/icons/lucide/align-left.svg); }
.glyphicon-upload        { -webkit-mask-image: url(../img/icons/lucide/upload.svg);         mask-image: url(../img/icons/lucide/upload.svg); }
.glyphicon-star-empty    { -webkit-mask-image: url(../img/icons/lucide/star.svg);           mask-image: url(../img/icons/lucide/star.svg); }
.glyphicon-question-sign { -webkit-mask-image: url(../img/icons/lucide/circle-help.svg);    mask-image: url(../img/icons/lucide/circle-help.svg); }
.glyphicon-log-out       { -webkit-mask-image: url(../img/icons/lucide/log-out.svg);        mask-image: url(../img/icons/lucide/log-out.svg); }
.glyphicon-lock          { -webkit-mask-image: url(../img/icons/lucide/lock.svg);           mask-image: url(../img/icons/lucide/lock.svg); }
.glyphicon-info-sign     { -webkit-mask-image: url(../img/icons/lucide/info.svg);           mask-image: url(../img/icons/lucide/info.svg); }
.glyphicon-hdd           { -webkit-mask-image: url(../img/icons/lucide/hard-drive.svg);     mask-image: url(../img/icons/lucide/hard-drive.svg); }
.glyphicon-fire          { -webkit-mask-image: url(../img/icons/lucide/flame.svg);          mask-image: url(../img/icons/lucide/flame.svg); }
.glyphicon-eye-open      { -webkit-mask-image: url(../img/icons/lucide/eye.svg);            mask-image: url(../img/icons/lucide/eye.svg); }
.glyphicon-signal        { -webkit-mask-image: url(../img/icons/lucide/signal.svg);         mask-image: url(../img/icons/lucide/signal.svg); }
.glyphicon-send          { -webkit-mask-image: url(../img/icons/lucide/send.svg);           mask-image: url(../img/icons/lucide/send.svg); }

/* Дрібний візуальний фікс: іконки в навігації лівого блоку — додаємо
   невеликий gap між іконкою і текстом, бо font-glyphs мали "природний"
   margin у рядку, а box-mask-icon не має. */
nav#nav .glyphicon,
nav ul#nav .glyphicon,
.btn .glyphicon,
.btn2 .glyphicon,
.block_head .glyphicon,
.label .glyphicon,
.badge .glyphicon {
    margin-right: 0.4em;
}
.glyphicon + span,
.glyphicon + a {
    margin-left: 0.2em;
}
