/* Topic-cluster "Explore" links (includes/topic-clusters.php). Works on managed and Elementor pages. */
.im-topic { max-width: 1080px; margin: 48px auto 24px; padding: 26px 26px 20px; border-radius: 20px; border: 1px solid rgba(160, 180, 255, .16); background: linear-gradient(180deg, #101a42, #0b1230); box-sizing: border-box; }
.elementor + .im-topic, .elementor ~ .im-topic { margin-left: 20px; margin-right: 20px; }
@media (min-width: 1120px) { .elementor ~ .im-topic { margin-left: auto; margin-right: auto; } }
.im-topic .im-topic__title { margin: 0 0 16px; color: #fff; font-size: 22px; line-height: 1.3; }
.im-topic .im-topic__list { display: grid; gap: 10px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); margin: 0 !important; padding: 0 !important; list-style: none; }
.im-topic .im-topic__list li { margin: 0 !important; padding: 0; }
.im-topic .im-topic__list li::before { content: none; }
.im-topic .im-topic__list a { display: flex; align-items: center; min-height: 48px; height: 100%; padding: 10px 14px; border-radius: 12px; border: 1px solid rgba(160, 180, 255, .22); background: rgba(255, 255, 255, .03); color: #eef1ff; font-weight: 600; font-size: 15px; line-height: 1.35; text-decoration: none; box-sizing: border-box; transition: border-color .2s, background .2s; }
.im-topic .im-topic__list a:hover { border-color: rgba(91, 140, 255, .7); background: rgba(47, 107, 255, .12); }
.im-topic .im-topic__list a:focus-visible { outline: 2px solid #22d3ee; outline-offset: 2px; }
.im-topic .im-topic__list li.is-hub { position: relative; }
.im-topic .im-topic__list li.is-hub a { border-color: rgba(91, 140, 255, .55); background: rgba(47, 107, 255, .14); padding-right: 92px; }
.im-topic .im-topic__list li.is-hub span { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); padding: 3px 8px; border-radius: 999px; background: rgba(34, 211, 238, .14); color: #7fe7ff; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; pointer-events: none; }
