/* 主题 css/main.css 有 .navbar-nav li a, .navbar-nav li { max-height: 50px }（特异性 0,2,1），
   max-height 优先于 height，会把子菜单内所有 <a>（缩略图、横幅、图标格…）压成 50px。
   这里用 0,3,2 只在本插件容器内解除该限制，不影响主题其它地方。 */
.navbar-nav li .sub-menu.senior-submenu a,
.navbar-top .sub-menu.senior-submenu a,
.mobile-navbar .sub-menu.senior-submenu a {
    max-height: none;
}

.zibam-block-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--key-color);
    margin: 4px 0 14px;
    padding-left: 10px;
    border-left: 3px solid var(--theme-color);
}

.zibam-pl-list {
    display: grid;
    grid-template-columns: repeat(var(--cols, 2), 1fr);
    gap: 14px 22px;
}
.zibam-pl-item {
    min-width: 0;
}
.zibam-pl-thumb {
    display: block;
    overflow: hidden;
    border-radius: var(--main-radius);
    background: var(--muted-bg-color);
}
.zibam-pl-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}
.zibam-pl-title {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    color: var(--key-color);
    font-weight: 500;
    text-decoration: none;
}
.zibam-pl-item:hover .zibam-pl-title {
    color: var(--theme-color);
}
.zibam-pl-excerpt {
    margin-top: 4px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--muted-2-color);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.zibam-pl-meta {
    margin-top: 4px;
    color: var(--muted-3-color);
}

.zibam-pl-thumb_title_right .zibam-pl-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.zibam-pl-thumb_title_right .zibam-pl-thumb {
    flex: 0 0 96px;
    width: 96px;
    height: 72px;
}
.zibam-pl-thumb_title_right .zibam-pl-item:hover .zibam-pl-thumb img {
    transform: scale(1.06);
}

.zibam-pl-thumb_title_bottom .zibam-pl-item {
    display: block;
}
.zibam-pl-thumb_title_bottom .zibam-pl-thumb {
    width: 100%;
    aspect-ratio: var(--thumb-ratio, 3 / 2);
    margin-bottom: 8px;
}
.zibam-pl-thumb_title_bottom .zibam-pl-item:hover .zibam-pl-thumb img {
    transform: scale(1.05);
}

.zibam-pl-thumb_title_excerpt .zibam-pl-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.zibam-pl-thumb_title_excerpt .zibam-pl-thumb {
    flex: 0 0 160px;
    width: 160px;
    height: 100px;
}
.zibam-pl-thumb_title_excerpt .zibam-pl-item:hover .zibam-pl-thumb img {
    transform: scale(1.05);
}

.zibam-pl-thumb_only .zibam-pl-item.is-thumb {
    position: relative;
}
.zibam-pl-thumb_only .zibam-pl-thumb {
    width: 100%;
    aspect-ratio: var(--thumb-ratio, 3 / 2);
}
.zibam-pl-thumb_only .zibam-pl-item:hover .zibam-pl-thumb img {
    transform: scale(1.06);
}
.zibam-pl-thumb_only .zibam-pl-cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 20px 10px 8px;
    background: linear-gradient(transparent, rgba(0, 0, 0, .72));
    border-radius: 0 0 var(--main-radius) var(--main-radius);
}
.zibam-pl-thumb_only .zibam-pl-title {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
}
.zibam-pl-thumb_only .zibam-pl-item:hover .zibam-pl-title {
    color: #fff;
    text-decoration: underline;
}

.zibam-ig-grid {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.zibam-ig-row {
    display: grid;
    grid-template-columns: repeat(var(--cols, 5), 1fr);
    gap: 6px;
}
.zibam-ig-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 16px 8px;
    border-radius: var(--main-radius);
    transition: background .2s ease, transform .2s ease;
    text-align: center;
    text-decoration: none;
    color: inherit;
}
.zibam-ig-cell:hover {
    background: var(--muted-bg-color);
    transform: translateY(-2px);
}
/* --ig-ico-size 由后台「图标大小」输出，未设置时回退到下面各处的默认值 */
.zibam-ig-icon {
    font-size: var(--ig-ico-size, 24px);
    color: var(--theme-color);
    margin-bottom: 8px;
    line-height: 1;
}
.zibam-ig-icon img {
    width: var(--ig-ico-size, 28px);
    height: var(--ig-ico-size, 28px);
    object-fit: contain;
}
.zibam-ig-title {
    font-size: 13px;
    color: var(--main-color);
    position: relative;
    display: inline-block;
}
.zibam-ig-sub {
    font-size: 11px;
    margin-top: 2px;
}
.zibam-ig-badge {
    position: absolute;
    top: -9px;
    right: -20px;
    font-size: 10px;
    padding: 1px 5px;
    border-radius: 10px;
    color: #fff;
    line-height: 1.5;
    white-space: nowrap;
}
.zibam-ig-icon_left .zibam-ig-cell {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    padding: 12px 14px;
    gap: 10px;
}
.zibam-ig-icon_left .zibam-ig-icon {
    margin-bottom: 0;
    font-size: var(--ig-ico-size, 20px);
    flex: 0 0 auto;
}
.zibam-ig-icon_left .zibam-ig-badge {
    top: -6px;
    right: auto;
    left: 28px;
}

.zibam-banner-grid {
    display: flex;
    flex-direction: column;
    gap: var(--gap, 10px);
}
.zibam-banner-row {
    display: grid;
    grid-template-columns: repeat(var(--per-row, 1), 1fr);
    gap: var(--gap, 10px);
}
.zibam-banner-cell {
    min-width: 0;
}
.zibam-banner-link {
    display: block;
    position: relative;
    height: var(--h, 160px);
    border-radius: var(--img-radius, var(--main-radius));
    overflow: hidden;
    background: var(--muted-bg-color);
    text-decoration: none;
    box-shadow: 0 2px 10px var(--main-shadow);
}
.zibam-banner-link img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s ease;
}
.zibam-banner-link:hover img {
    transform: scale(1.05);
}
.zibam-banner-cap {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 30px 14px 12px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .6);
    background: linear-gradient(to top, rgba(0, 0, 0, .72), rgba(0, 0, 0, 0));
}

.zibam-it-box {
    gap: 24px;
    align-items: flex-start;
}
.zibam-it-box.flexz {
    display: flex;
}
.zibam-it-imgs {
    flex: 0 0 var(--img-w, 60%);
    max-width: var(--img-w, 60%);
    min-width: 0;
}
.zibam-it-text {
    flex: 1;
    min-width: 0;
}
.zibam-it-img-grid {
    display: flex;
    flex-direction: column;
    gap: var(--gap, 10px);
}
.zibam-it-img-row {
    display: grid;
    grid-template-columns: repeat(var(--per-row, 1), 1fr);
    gap: var(--gap, 10px);
}
.zibam-it-img-grid-legacy {
    display: grid;
    grid-template-columns: repeat(var(--per-row, 2), 1fr);
}
/* 高度挂在本 <a> 上；内层 img 绝对定位铺满，隔离主题 .fit-cover{height:100%} */
.zibam-it-img {
    display: block;
    position: relative;
    height: var(--h, 160px);
    border-radius: var(--img-radius, var(--main-radius));
    overflow: hidden;
    background: var(--muted-bg-color);
}
.zibam-it-img-grid-legacy .zibam-it-img {
    height: auto;
    aspect-ratio: var(--ar, 4 / 3);
}
.zibam-it-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.zibam-it-img:hover img {
    transform: scale(1.05);
}

.zibam-it-cols {
    display: grid;
    grid-template-columns: repeat(var(--text-cols, 1), 1fr);
    gap: 2px 18px;
    align-items: start;
}

.zibam-it-head {
    font-size: 15px;
    font-weight: 600;
    color: var(--key-color);
    padding-bottom: 10px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--main-border-color);
}
.zibam-it-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}
.zibam-it-item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 10px;
    border-radius: var(--main-radius);
    text-decoration: none;
    color: inherit;
    transition: background .2s ease;
}
.zibam-it-item:hover {
    background: var(--muted-bg-color);
}
.zibam-it-item-title {
    font-size: 14px;
    color: var(--key-color);
    transition: color .2s ease;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.zibam-it-item:hover .zibam-it-item-title {
    color: var(--theme-color);
}
.zibam-it-item-desc {
    font-size: 12px;
}

.zibam-fl-grid {
    display: flex;
    flex-direction: column;
    gap: var(--fl-gap, 12px);
}
.zibam-fl-row {
    display: grid;
    grid-template-columns: repeat(var(--per-row, 6), 1fr);
    gap: var(--fl-gap, 12px);
}
.zibam-fl-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    text-decoration: none;
    color: inherit;
}
.zibam-fl-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    min-width: 0;
    height: var(--logo-h, 48px);
    padding: 8px 12px;
    box-sizing: border-box;
    border-radius: var(--img-radius, var(--main-radius));
    background: var(--fl-bg, #fff);
    border: 1px solid rgba(0, 0, 0, .06);
    overflow: hidden;
    transition: box-shadow .25s ease;
}
.zibam-fl-logo.is-fallback {
    background: var(--fl-bg, #fff);
}
.zibam-fl-img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}
.zibam-fl-fallback {
    font-size: 13px;
    font-weight: 600;
    color: var(--main-color);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.zibam-fl-grid.is-bg-light .zibam-fl-fallback {
    color: #4a4a4a;
}
.zibam-fl-item:hover .zibam-fl-logo {
    box-shadow: 0 4px 14px var(--main-shadow);
}
/* 只做 grayscale，不要再叠加 opacity：降透明度会把 LOGO 漂白成浅灰，与浅色底糊成一片 */
.zibam-fl-grid.is-gray .zibam-fl-img {
    filter: grayscale(1);
    transition: filter .25s ease;
}
.zibam-fl-grid.is-gray .zibam-fl-item:hover .zibam-fl-img {
    filter: none;
}
.zibam-fl-name {
    font-size: 12px;
    color: var(--muted-2-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color .2s ease;
}
.zibam-fl-item:hover .zibam-fl-name {
    color: var(--theme-color);
}
.zibam-fl-item.is-text {
    justify-content: center;
    padding: 8px 10px;
    border-radius: var(--main-radius);
    font-size: 13px;
    transition: color .2s ease, background .2s ease;
}
.zibam-fl-item.is-text .zibam-fl-name {
    font-size: 13px;
}
.zibam-fl-item.is-text:hover {
    background: var(--muted-bg-color);
}
.zibam-fl-item.is-logo_text {
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
}
.zibam-fl-item.is-logo_text .zibam-fl-name {
    text-align: center;
}

.zibam-ads-grid {
    display: flex;
    flex-direction: column;
    gap: var(--ads-gap, 16px);
}
.zibam-ads-row {
    display: grid;
    grid-template-columns: repeat(var(--per-row, 3), 1fr);
    gap: var(--ads-gap, 16px);
}
.zibam-ads-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--main-border-color);
    border-radius: var(--img-radius, var(--main-radius));
    background: var(--ads-bg, var(--main-bg-color));
    text-decoration: none;
    color: inherit;
    transition: transform .25s ease, box-shadow .25s ease;
}
.zibam-ads-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px var(--main-shadow);
}
.zibam-ads-thumb {
    display: block;
    position: relative;
    flex: 0 0 auto;
    height: var(--ads-h, 120px);
    background: var(--muted-bg-color);
    overflow: hidden;
}
.zibam-ads-thumb img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    transition: transform .35s ease;
}
.zibam-ads-card:hover .zibam-ads-thumb img {
    transform: scale(1.05);
}
.zibam-ads-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-width: 0;
    padding: 10px 12px 12px;
}
.zibam-ads-badge {
    margin-bottom: 2px;
}
.zibam-ads-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: var(--key-color);
    transition: color .2s ease;
}
.zibam-ads-card:hover .zibam-ads-title {
    color: var(--theme-color);
}
.zibam-ads-desc {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.6;
}
.zibam-ads-left .zibam-ads-card {
    flex-direction: row;
    align-items: stretch;
}
.zibam-ads-left .zibam-ads-thumb {
    width: var(--ads-h, 120px);
    height: var(--ads-h, 120px);
}
.zibam-ads-left .zibam-ads-body {
    flex: 1 1 auto;
    justify-content: center;
    padding: 10px 14px;
}
.zibam-ads-text .zibam-ads-body {
    padding: 12px 14px 14px;
}

@media (max-width: 767px) {
    .zibam-pl-list {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .zibam-ig-row {
        grid-template-columns: repeat(3, 1fr) !important;
    }
    .zibam-banner-row {
        grid-template-columns: 1fr !important;
    }
    .zibam-it-box {
        flex-direction: column !important;
    }
    .zibam-it-imgs {
        flex: none !important;
        max-width: none !important;
        width: 100% !important;
    }
    .zibam-it-img-row {
        grid-template-columns: 1fr !important;
    }
    .zibam-it-cols {
        grid-template-columns: 1fr !important;
    }
    .zibam-fl-row {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .zibam-ads-row {
        grid-template-columns: repeat(var(--per-row-sm, 2), 1fr) !important;
    }
    .zibam-fl-item.is-text {
        justify-content: flex-start;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zibam-pl-item:hover .zibam-pl-thumb img,
    .zibam-ig-cell,
    .zibam-banner-link img,
    .zibam-it-img img,
    .zibam-it-item,
    .zibam-fl-img,
    .zibam-fl-logo,
    .zibam-fl-item,
    .zibam-fl-name,
    .zibam-ads-card,
    .zibam-ads-thumb img,
    .zibam-ads-title {
        transition: none;
        animation: none;
        transform: none;
    }
}
