/* ==========================================================================
   LAVUMALL - 首頁會員問候語（純文字打字效果）
   ========================================================================== */
.home-greeting-shell {
    width: min(1180px, calc(100% - 32px));
    margin: 18px auto 8px;
    padding: 0 2px;
    display: grid;
    grid-template-rows: minmax(28px, auto) minmax(16px, auto);
    row-gap: 2px;
}

.home-greeting-line {
    min-height: 28px;
    color: #1d1d1f;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: .01em;
    white-space: normal;
    overflow-wrap: anywhere;
}

.home-greeting-name {
    font-weight: 700;
}

.home-greeting-text {
    font-weight: 400;
}

.home-greeting-ai-note {
    margin-top: 0;
    color: #8a8a8a;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 400;
    text-align: left;
    opacity: 0;
    transform: translateY(2px);
    transition: opacity .28s ease, transform .28s ease;
}

.home-greeting-ai-note.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.home-greeting-ai-note[hidden] {
    display: none !important;
}

.home-greeting-cursor {
    display: inline-block;
    width: 1px;
    height: 1.05em;
    margin-left: 2px;
    vertical-align: -0.12em;
    background: currentColor;
    animation: lavuGreetingCursorBlink .82s steps(1, end) infinite;
}

.home-greeting-shell.is-loading .home-greeting-cursor {
    opacity: .58;
}

.home-greeting-shell.is-typed .home-greeting-cursor {
    animation-duration: 1.05s;
}

@keyframes lavuGreetingCursorBlink {
    0%, 46% { opacity: 1; }
    47%, 100% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .home-greeting-ai-note {
        transition: none;
        transform: none;
    }

    .home-greeting-cursor {
        animation: none;
        opacity: 1;
    }
}

@media (max-width: 720px) {
    .home-greeting-shell {
        width: calc(100% - 24px);
        margin-top: 14px;
    }

    .home-greeting-line {
        font-size: 14px;
        line-height: 1.75;
    }

    .home-greeting-ai-note {
        font-size: 10.5px;
    }
}
