/**
 * 项目详情页（独立于文章侧栏）
 * 作用域：.zibll-project-page / .zibll-project-*
 */

/*==== 全宽：项目页不加载文章侧栏 ====*/
.zibll-project-page--full .content-wrap,
.zibll-project-page--full .content-layout {
    float: none;
    width: 100%;
    max-width: 100%;
}
.zibll-project-page--full .content-layout {
    display: block;
}

/* zib-widget 自带 padding；顶部大卡要贴边封面，这里强制归零（封面由卡片 overflow 裁圆角） */
.zibll-project-page .zibll-project-hero.zib-widget {
    padding: 0;
}

.zibll-project-page .zibll-project-article {
    min-width: 0;
}

/*==== 顶部项目大卡 ====*/
.zibll-project-hero {
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: stretch;
    overflow: hidden;
}
/* 左侧封面模式：封面高度 = 父容器高度（上/左/下贴紧），宽度由高度 × 封面上宽比决定 */
.zibll-project-page--cover-left .zibll-project-hero {
    flex-direction: row;
    align-items: stretch;
}

.zibll-project-cover {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: var(--zibll-project-cover-ratio, 16 / 9);
    min-height: 0;
    overflow: hidden;
    background: var(--muted-bg-color);
    border-radius: 0;
}
.zibll-project-page--cover-left .zibll-project-cover {
    /* JS 会按「父容器高度 × 宽高比」覆盖 width；这里是禁用 JS 时的可见兜底 */
    width: 340px;
    height: auto;
    align-self: stretch;
    aspect-ratio: auto;
}
.zibll-project-cover img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.zibll-project-cover.no-img {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, color-mix(in srgb, var(--theme-color) 20%, var(--muted-bg-color)), var(--muted-bg-color));
    background: var(--muted-bg-color);
}
.zibll-project-cover-letter {
    font-size: 64px;
    font-weight: 700;
    color: var(--theme-color);
    opacity: .5;
}

.zibll-project-info {
    flex: 1 1 auto;
    min-width: 0;
    padding: 22px 24px;
}

.zibll-project-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}
/* 状态/分类徽标：小而扁的角标，不继承主题 .badg/.but 的按钮边框与阴影 */
.zibll-project-badges .badg {
    padding: 1px 8px;
    font-size: 12px;
    line-height: 20px;
    border: 0;
    box-shadow: none;
    border-radius: 999px;
}

.zibll-project-title {
    margin: 0 0 8px;
    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;
    color: var(--main-color);
    word-break: break-word;
}

.zibll-project-tagline {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--muted-2-color);
}

.zibll-project-metas {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 12px;
}

.zibll-project-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}
.zibll-project-tag {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--muted-bg-color);
    color: var(--muted-2-color);
    font-size: 12px;
    line-height: 1.6;
}

/*==== 融合在项目大卡里的购买/下载面板 ====*/
.zibll-project-buy {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--main-border-color);
}

/* 主行：左边价格/状态，右边主操作，一行排完 */
.zibll-project-buy-main {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
}
.zibll-project-buy-primary:empty {
    display: none;
}

/*---- 价格区 ----*/
.zibll-project-buy-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 14px;
    min-width: 0;
}
.zibll-project-buy-price .price-box {
    margin: 0;
}
.zibll-project-buy-price .zibll-project-price {
    margin: 0;
}
.zibll-project-buy-price .zibll-project-price .em3x {
    line-height: 1.2;
}
.zibll-project-buy-price .badg {
    padding: 1px 8px;
    font-size: 12px;
    line-height: 20px;
    border: 0;
    box-shadow: none;
    border-radius: 999px;
}

/* 会员价：主题给的是 .but 按钮，这里降级成一行小字 */
.zibll-project-buy-vip {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 12px;
    min-width: 0;
    font-size: 12px;
    line-height: 1.7;
    color: var(--muted-2-color);
}
.zibll-project-buy-vip .vip-price-buts {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 12px;
}
.zibll-project-buy-vip .vip-price {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin: 0;
    padding: 0;
    min-width: 0;
    height: auto;
    line-height: 1.7;
    font-size: 12px;
    color: var(--muted-2-color);
    background: none;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    cursor: default;
}
.zibll-project-buy-vip .vip-price.pay-vip {
    cursor: pointer;
}
.zibll-project-buy-vip .vip-price.pay-vip:hover {
    color: var(--theme-color);
    opacity: 1;
}
.zibll-project-buy-vip .vip-price svg {
    width: 13px;
    height: 13px;
}
.zibll-project-buy-vip .vip-price-text {
    margin-left: 2px;
    font-size: 12px;
}

/*---- 主操作区 ----*/
.zibll-project-buy-primary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.zibll-project-buy-primary .but {
    margin: 0;
}
/* 购买 / 登录 主按钮 */
.zibll-project-buy-primary > .but,
.zibll-project-buy-primary > .signin-loader {
    padding: 8px 26px;
    font-size: 15px;
    line-height: 1.6;
    border-radius: var(--main-radius);
}
/* 已购下载按钮 */
.zibll-project-buy-primary .but-download {
    flex-wrap: wrap;
}
.zibll-project-buy-primary .but-download .but {
    padding: 8px 18px;
}
/* 已购后的授权入口：实心主题色按钮，不要混在小字链接里 */
.zibll-project-buy-primary .zibll-project-buy-keylink {
    padding: 8px 16px;
    font-size: 13px;
    line-height: 1.6;
    color: #fff;
    background: var(--theme-color);
    border: 1px solid var(--theme-color);
    border-radius: var(--main-radius);
}
.zibll-project-buy-primary .zibll-project-buy-keylink:hover {
    color: #fff;
    background: var(--theme-color);
    border-color: var(--theme-color);
    filter: brightness(1.1);
    opacity: 1;
}
.zibll-project-buy-primary .but-download:last-child .but.mr10 {
    margin-right: 0;
}
.zibll-project-buy-primary .muted-2-color {
    font-size: 12px;
}
.zibll-project-buy-primary .badg {
    padding: 1px 8px;
    font-size: 11px;
    line-height: 18px;
    border: 0;
    box-shadow: none;
    border-radius: 999px;
}

/*---- 次级链接一行 ----*/
.zibll-project-buy-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 8px;
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.7;
    color: var(--muted-2-color);
}
.zibll-project-buy-meta {
    color: var(--muted-2-color);
}
.zibll-project-buy-sep {
    color: var(--muted-2-color);
    opacity: .45;
}
.zibll-project-buy-link {
    display: inline-flex;
    align-items: center;
    color: var(--muted-2-color);
    text-decoration: none;
}
.zibll-project-buy-link:hover {
    color: var(--theme-color);
    text-decoration: none;
}
.zibll-project-buy-link i {
    opacity: .85;
}

/*---- 说明 ----*/
.zibll-project-buy-note {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.75;
    color: var(--muted-2-color);
}
/* 主题的未登录购买提示：拆到说明行后去掉它自带的底色块 */
.zibll-project-buy-note .pay-extra-hide {
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    font-size: 12px;
    line-height: 1.75;
    color: var(--muted-2-color);
}
.zibll-project-buy-free {
    color: var(--muted-2-color);
    font-size: 13px;
    line-height: 1.7;
}
.zibll-project-buy-offline {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--muted-bg-color);
    color: var(--muted-2-color);
    font-size: 13px;
    line-height: 1.5;
}

/*==== 更新日志 ====*/
.zibll-project-changelog {
    margin-top: 16px;
}
.zibll-project-changelog > summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--main-color);
    outline: none;
}
.zibll-project-changelog > summary:hover {
    color: var(--theme-color);
}
.zibll-project-changelog-body {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--main-border-color);
    font-size: 13px;
    line-height: 1.8;
    color: var(--muted-2-color);
    white-space: normal;
}

/*==== 正文 ====*/
.zibll-project-content {
    margin-top: 16px;
}

/* 项目页主内容区已融合购买面板；若仍有侧栏付费 widget，隐藏避免重复 */
.zibll-project-page .sidebar .pay-widget {
    display: none;
}

/*==== 响应式 ====*/
@media (max-width: 900px) {
    .zibll-project-page--cover-left .zibll-project-hero,
    .zibll-project-page--cover-top .zibll-project-hero {
        flex-direction: column;
        align-items: stretch;
    }
    .zibll-project-cover,
    .zibll-project-page--cover-left .zibll-project-cover {
        width: 100%;
        height: auto;
        align-self: auto;
        aspect-ratio: var(--zibll-project-cover-ratio, 16 / 9);
    }
    .zibll-project-info {
        padding: 18px;
    }
}

@media (max-width: 768px) {
    .zibll-project-title {
        font-size: 22px;
    }
    .zibll-project-cover-letter {
        font-size: 48px;
    }
    .zibll-project-info {
        padding: 16px;
    }
    .zibll-project-buy {
        margin-top: 14px;
        padding-top: 14px;
    }
    .zibll-project-buy-main {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .zibll-project-buy-primary {
        margin-left: 0;
    }
    .zibll-project-buy-primary > .but,
    .zibll-project-buy-primary > .signin-loader {
        display: block;
        width: 100%;
        text-align: center;
    }
    .zibll-project-buy-primary .but-download {
        flex: 1 1 auto;
    }
    .zibll-project-buy-primary .but-download .but {
        flex: 1 1 auto;
        justify-content: center;
    }
}
