/* ==========================================================================
   NACS Show 2026 - Large Text Box Card
   Title + multi-paragraph body + yellow CTA. Two themes: Dark & Light.
   Tokens: NACSShow2026Tokens.css
   ========================================================================== */

.ltbc {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 40px;
    box-sizing: border-box;
    width: 100%;
    padding: 32px;
    border-radius: 4px;
    overflow: hidden;
    isolation: isolate;
}

/* --------------------------------------------------------------------------
   Theme: Dark (default) - navy-to-blue gradient with cityscape overlay
   -------------------------------------------------------------------------- */
.ltbc--dark {
    background-image: linear-gradient(269.932deg, #00205B 0%, #0044C1 99.868%);
    color: var(--nacs-color-white, #FFFFFF);
}

/* --------------------------------------------------------------------------
   Theme: Light - white background, navy title, dark body, faded grey image
   -------------------------------------------------------------------------- */
.ltbc--light {
    background-color: var(--nacs-color-white, #FFFFFF);
    color: var(--nacs-color-black, #000000);
}

/* --------------------------------------------------------------------------
   Background image overlay
   -------------------------------------------------------------------------- */
.ltbc__bg {
    position: absolute;
    inset: 0;
    border-radius: 4px;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.ltbc__bg img {
    position: absolute;
    left: 0;
    top: -12.08%;
    width: 100%;
    height: 124.15%;
    max-width: none;
    object-fit: cover;
    display: block;
}

.ltbc--dark .ltbc__bg {
    mix-blend-mode: screen;
    opacity: 0.2;
}

.ltbc--light .ltbc__bg {
    opacity: 0.35;
}

.ltbc--light .ltbc__bg img {
    filter: grayscale(100%);
}

/* --------------------------------------------------------------------------
   Content (title + body)
   -------------------------------------------------------------------------- */
.ltbc__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    width: 100%;
}

.ltbc__title {
    margin: 0;
    width: 100%;
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0;
    text-transform: capitalize;
}

.ltbc--dark .ltbc__title {
    color: var(--nacs-color-white, #FFFFFF);
}

.ltbc--light .ltbc__title {
    color: var(--nacs-color-navy, #00205B);
}

.ltbc__body {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.ltbc__paragraph {
    margin: 0;
    font-family: var(--nacs-font-gotham);
    font-weight: 325;
    font-size: 16px;
    line-height: 18px;
    letter-spacing: 0;
}

.ltbc--dark .ltbc__paragraph {
    color: var(--nacs-color-white, #FFFFFF);
}

.ltbc--light .ltbc__paragraph {
    color: var(--nacs-color-black, #000000);
}

/* --------------------------------------------------------------------------
   CTA Button (yellow)
   -------------------------------------------------------------------------- */
.ltbc__btn {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    padding: 0 20px;
    border-radius: 360px;
    background-color: var(--nacs-color-yellow, #FAE100);
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    flex-shrink: 0;
}

.ltbc__btn:hover,
.ltbc__btn:focus-visible {
    text-decoration: none;
    transform: scale(1.03);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.ltbc__btn:focus-visible {
    outline: 2px solid var(--nacs-color-navy, #00205B);
    outline-offset: 2px;
}

.ltbc__btn-text {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--nacs-color-black, #000000);
    white-space: nowrap;
}

.ltbc__btn-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    color: var(--nacs-color-black, #000000);
}

/* --------------------------------------------------------------------------
   Mobile (max-width: 768px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
    .ltbc {
        padding: 24px;
        gap: 32px;
    }

    .ltbc__content {
        gap: 32px;
    }

    .ltbc__title {
        font-size: 22px;
        line-height: 30px;
    }
}
