/* 访客信息卡（IP 签名档）v1.0.0 —— 文字叠加在背景图上，字体走站点字体栈 */

.ipc-card {
    position: relative;
    container-type: inline-size;
    max-width: 428px;
    border-radius: var(--border-radius, 12px);
    overflow: hidden;
    line-height: 1;
}

.ipc-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 428 / 250;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    font-family: inherit;
}

.ipc-line {
    position: absolute;
    white-space: nowrap;
    color: #00334e;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.35);
}

/* 欢迎语：前缀 + 自定义标题同处一个 flex 容器，按基线对齐，
 * 不依赖各自 left 定位，任何字体/字号下都不会重叠 */
.ipc-welcome {
    position: absolute;
    display: flex;
    align-items: baseline;
    gap: 1.2cqw;
    max-width: 84%;
    white-space: nowrap;
}

.ipc-welcome-prefix {
    flex: 0 0 auto;
    color: #00334e;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.35);
}

.ipc-welcome-main {
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: 0.01em;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.35);
}

.ipc-img {
    position: absolute;
    height: auto;
    pointer-events: none;
    user-select: none;
}

/* 标题作用域：复用主题 widget-title 体系 */
.ipc-title-scope {
    display: block;
    margin-bottom: 8px;
}
