/* ==========================================
   ULTRAKIT ACHIEVEMENTS GRID
   ========================================== */
.ultrakit-ach-wrapper { --ach-a: #6c5ce7; --ach-b: #00cec9; --ach-r: 20px; --ach-cols: 3; --ach-bg: #ffffff; --ach-tx: #1a1a2e; --ach-mu: #6b6b85; width: 100%; box-sizing: border-box; font-family: inherit; color: var(--ach-tx); }
.ultrakit-ach-wrapper *, .ultrakit-ach-wrapper *::before, .ultrakit-ach-wrapper *::after { box-sizing: border-box; }
.ach-dark { --ach-bg: #1d1d38; --ach-tx: #ffffff; --ach-mu: #a8a8c8; padding: 36px; background: #12122a; border-radius: calc(var(--ach-r) + 8px); }

.ultrakit-ach-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 28px; }
.ultrakit-ach-tab { padding: 9px 22px !important; box-sizing: border-box; background: var(--ach-bg); color: var(--ach-tx) !important; border: 1.5px solid color-mix(in srgb, var(--ach-tx) 12%, transparent); border-radius: 40px; font-family: inherit; font-size: 13px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: all 0.25s ease; }
.ultrakit-ach-tab:hover { border-color: var(--ach-a); color: var(--ach-a) !important; }
.ultrakit-ach-tab.is-active { background: linear-gradient(135deg, var(--ach-a), var(--ach-b)); border-color: transparent; color: #ffffff !important; }

.ultrakit-ach-grid { display: grid; grid-template-columns: repeat(var(--ach-cols), minmax(0, 1fr)); gap: 22px; }
.ultrakit-ach-item { position: relative; display: flex; gap: 18px; padding: 28px; background: var(--ach-bg); border: 1.5px solid color-mix(in srgb, var(--ach-tx) 8%, transparent); border-radius: var(--ach-r); box-shadow: 0 10px 32px rgba(20,20,50,0.06); overflow: hidden; opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease, box-shadow 0.3s ease, border-color 0.3s ease; transition-delay: calc(var(--n) * 70ms); }
.is-in .ultrakit-ach-item { opacity: 1; transform: none; }
.is-in .ultrakit-ach-item:hover { transform: translateY(-6px); transition-delay: 0s; border-color: var(--ach-a); box-shadow: 0 22px 50px color-mix(in srgb, var(--ach-a) 22%, transparent); }
.ultrakit-ach-item.is-out { display: none; }
.ultrakit-ach-item::after { content: ""; position: absolute; right: -40px; top: -40px; width: 120px; height: 120px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--ach-a) 14%, transparent), transparent 70%); pointer-events: none; }
.ultrakit-ach-dot { display: none; }
.ultrakit-ach-icon { flex: 0 0 60px; display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: calc(var(--ach-r) * 0.7); background: linear-gradient(135deg, var(--ach-a), var(--ach-b)); color: #ffffff; box-shadow: 0 10px 22px color-mix(in srgb, var(--ach-a) 32%, transparent); transition: transform 0.4s ease; }
.ultrakit-ach-item:hover .ultrakit-ach-icon { transform: rotate(-8deg) scale(1.08); }
.ultrakit-ach-icon svg { width: 30px; height: 30px; flex-shrink: 0; }
.ultrakit-ach-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.ultrakit-ach-year { align-self: flex-start; padding: 3px 11px; border-radius: 30px; background: color-mix(in srgb, var(--ach-a) 12%, transparent); color: var(--ach-a); font-size: 12px; font-weight: 800; letter-spacing: 0.5px; }
.ultrakit-ach-num { display: flex; align-items: baseline; font-size: 40px; font-weight: 900; line-height: 1; letter-spacing: -1px; background: linear-gradient(135deg, var(--ach-a), var(--ach-b)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ultrakit-ach-suf { font-size: 0.55em; letter-spacing: 0; white-space: pre; }
.ultrakit-ach-title { margin: 0; font-size: 18px; font-weight: 800; line-height: 1.3; color: var(--ach-tx); }
.ultrakit-ach-desc { margin: 0; font-size: 14px; line-height: 1.65; color: var(--ach-mu); }
.ultrakit-ach-kind { align-self: flex-start; margin-top: 4px; font-size: 11px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; color: var(--ach-mu); }

/* badges */
.ach-l-badges .ultrakit-ach-item { flex-direction: column; align-items: center; text-align: center; padding: 34px 24px; }
.ach-l-badges .ultrakit-ach-icon { flex-basis: auto; width: 86px; height: 86px; border-radius: 50%; box-shadow: 0 0 0 8px color-mix(in srgb, var(--ach-a) 14%, transparent), 0 14px 30px color-mix(in srgb, var(--ach-a) 30%, transparent); }
.ach-l-badges .ultrakit-ach-icon svg { width: 38px; height: 38px; }
.ach-l-badges .ultrakit-ach-body { align-items: center; }
.ach-l-badges .ultrakit-ach-year, .ach-l-badges .ultrakit-ach-kind { align-self: center; }

/* counters */
.ach-l-counters .ultrakit-ach-item { flex-direction: column; text-align: center; align-items: center; padding: 34px 22px; }
.ach-l-counters .ultrakit-ach-icon { order: 2; flex-basis: auto; width: 46px; height: 46px; margin-top: 4px; }
.ach-l-counters .ultrakit-ach-icon svg { width: 22px; height: 22px; }
.ach-l-counters .ultrakit-ach-body { order: 1; align-items: center; }
.ach-l-counters .ultrakit-ach-num { font-size: 56px; justify-content: center; }
.ach-l-counters .ultrakit-ach-year, .ach-l-counters .ultrakit-ach-kind { align-self: center; }

/* gradient */
.ach-l-gradient .ultrakit-ach-item { background: linear-gradient(135deg, var(--ach-a), var(--ach-b)); border: 0; color: #ffffff; box-shadow: 0 16px 40px color-mix(in srgb, var(--ach-a) 30%, transparent); flex-direction: column; }
.ach-l-gradient .ultrakit-ach-title, .ach-l-gradient .ultrakit-ach-desc, .ach-l-gradient .ultrakit-ach-kind { color: #ffffff; }
.ach-l-gradient .ultrakit-ach-desc { opacity: 0.88; }
.ach-l-gradient .ultrakit-ach-icon { background: rgba(255,255,255,0.22); box-shadow: none; }
.ach-l-gradient .ultrakit-ach-year { background: rgba(255,255,255,0.22); color: #ffffff; }
.ach-l-gradient .ultrakit-ach-num { background: none; color: #ffffff; -webkit-text-fill-color: #ffffff; }
.ach-l-gradient .ultrakit-ach-item::after { background: radial-gradient(circle, rgba(255,255,255,0.22), transparent 70%); }
.ach-l-gradient .ultrakit-ach-item:nth-child(even) { background: linear-gradient(135deg, var(--ach-b), var(--ach-a)); }

/* timeline */
.ach-l-timeline .ultrakit-ach-grid { display: flex; flex-direction: column; gap: 0; position: relative; max-width: 860px; margin: 0 auto; padding-left: 0; }
.ach-l-timeline .ultrakit-ach-grid::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 3px; margin-left: -1.5px; background: linear-gradient(180deg, var(--ach-a), var(--ach-b)); border-radius: 3px; }
.ach-l-timeline .ultrakit-ach-item { width: calc(50% - 38px); margin-bottom: 30px; flex-direction: column; gap: 10px; }
.ach-l-timeline .ultrakit-ach-item:nth-child(even) { align-self: flex-end; }
.ach-l-timeline .ultrakit-ach-dot { display: block; position: absolute; top: 34px; width: 20px; height: 20px; border-radius: 50%; background: var(--ach-bg); border: 5px solid var(--ach-a); box-shadow: 0 0 0 6px color-mix(in srgb, var(--ach-a) 15%, transparent); }
.ach-l-timeline .ultrakit-ach-item:nth-child(odd) .ultrakit-ach-dot { right: -49px; }
.ach-l-timeline .ultrakit-ach-item:nth-child(even) .ultrakit-ach-dot { left: -49px; }
.ach-l-timeline .ultrakit-ach-item { flex-direction: row; }
.ach-l-timeline .ultrakit-ach-icon { flex-basis: 52px; width: 52px; height: 52px; }

@media (max-width: 767px) {
	.ach-dark { padding: 22px 16px; }
	.ultrakit-ach-item { padding: 22px 20px; }
	.ach-l-timeline .ultrakit-ach-grid::before { left: 14px; margin-left: 0; }
	.ach-l-timeline .ultrakit-ach-item { width: calc(100% - 44px); align-self: flex-end !important; }
	.ach-l-timeline .ultrakit-ach-item .ultrakit-ach-dot { left: -40px !important; right: auto !important; top: 30px; }
}

.ach-l-timeline .ultrakit-ach-item { overflow: visible; }
.ach-l-timeline .ultrakit-ach-item::after { display: none; }
