/* =========================================================
 * Logo 动态设计引擎 v9.0.0 前台样式
 * 第一部分：新设计引擎编译产物样式
 * 第二部分：旧版引擎样式（完整保留，兜底渲染）
 * ========================================================= */

/* ---------- 新编译产物 ---------- */
.zds-stage-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}
.zds-stage {
    position: relative;
    transform-origin: 0 0;
}
.zds-el { position: absolute; box-sizing: border-box; }
.zds-icon svg, .zds-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: 50% 50%;
    will-change: transform;
    display: block;
}
.zds-image img { width: 100%; height: 100%; display: block; }
.zds-image { line-height: 0; }
.zds-text .word {
    display: inline-block;
    white-space: pre;
    will-change: transform, opacity, color, text-shadow;
}

/* ---------- 旧版引擎样式（完整保留） ---------- */
.custom-logo-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    gap: 8px;
    width: max-content;
}
.custom-logo-icon {
    width: var(--zcl-icon-size, 34px);
    height: var(--zcl-icon-size, 34px);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.custom-logo-icon svg,
.custom-logo-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: 50% 50%;
    will-change: transform;
    filter: drop-shadow(0px 2px 6px rgba(252, 73, 86, 0.25));
}
.custom-logo-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: auto;
    gap: var(--zcl-title-gap, 6px);
}
.custom-logo-main {
    font-family: var(--zcl-main-font);
    font-size: var(--zcl-main-size, 19px);
    font-weight: 900;
    letter-spacing: 2px;
    line-height: 1.1;
    color: var(--zcl-main-color);
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-bottom: 2px;
}
.custom-logo-sub {
    font-family: 'Montserrat', sans-serif;
    font-size: var(--zcl-sub-size, 8px);
    font-weight: 700;
    color: var(--zcl-sub-color);
    letter-spacing: 3.5px;
    line-height: 1;
    display: flex;
    justify-content: space-between;
}
.custom-logo-wrapper .word {
    display: inline-block;
    will-change: transform, opacity, color, text-shadow;
}
