/* Neon Icon Box v2.0 — nib.css
   فقط داخل .nib-box scoped است، هیچ استایل گلوبالی نیست */

.nib-box {
    position: relative;
    display: flex;
    flex-direction: column;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
    /* transition برای background/border — مدت از JS data-attr گرفته می‌شود */
    transition: background-color 0.3s ease,
                border-color     0.3s ease,
                box-shadow       0.3s ease;
}

/* ── چیدمان آیکون ── */
.elementor-position-left  .nib-box { flex-direction: row; align-items: flex-start; }
.elementor-position-right .nib-box { flex-direction: row-reverse; align-items: flex-start; }

.elementor-position-left  .nib-icon-wrap,
.elementor-position-right .nib-icon-wrap { flex-shrink: 0; }

/* ── آیکون ── */
.nib-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    /* transition از CSS var می‌خواند که JS تنظیم می‌کند */
    transition: filter var(--nib-tr, 400ms) ease,
                color  var(--nib-tr, 400ms) ease,
                background-color var(--nib-tr, 400ms) ease;
}
.nib-icon i,
.nib-icon svg { display: block; }

/* ── عنوان ── */
.nib-title {
    margin: 0;
    transition: filter var(--nib-tr, 400ms) ease,
                color  var(--nib-tr, 400ms) ease;
}
.nib-title a {
    color: inherit;
    text-decoration: none;
}
.nib-title a:hover { color: inherit; }

/* ── توضیحات ── */
.nib-desc {
    margin: 0;
    line-height: 1.7;
    transition: color var(--nib-tr, 400ms) ease;
}

/* ── content wrapper ── */
.nib-content { flex: 1 1 auto; }

/* ── لینک overlay کامل جعبه ── */
.nib-link-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    /* aria-label روی آن هست، tab-index مدیریت می‌شود */
}

/* ── نئون هاور روی desktop ── */
.nib-box:hover .nib-neon-target,
.nib-box.nib-touch-hover .nib-neon-target {
    filter: var(--nib-filter);
    color:  var(--nib-color) !important;
}

/* ── پالس idle ── */
@keyframes nibPulse {
    0%   { filter: none; }
    50%  { filter: var(--nib-filter); color: var(--nib-color); }
    100% { filter: none; }
}

.nib-box.nib-idle-pulse .nib-neon-target {
    animation: nibPulse var(--nib-pd, 1.5s) ease-in-out forwards;
}
