/* ==========================================================================
   NACS Show 2026 - Numbered Picture Card Component
   Card with optional image, large number, title, description, and arrow link
   Tokens: NACSShow2026Tokens.css
   ========================================================================== */

/* --------------------------------------------------------------------------
   Widget Wrapper
   -------------------------------------------------------------------------- */
.npc {
    margin-bottom: 32px;
}

/* --------------------------------------------------------------------------
   Card Wrapper
   -------------------------------------------------------------------------- */
.npc__card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    max-width: 629px;
    border-radius: 4px;
    overflow: hidden;
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Image (Desktop Only)
   -------------------------------------------------------------------------- */
.npc__image {
    width: 100%;
    position: relative;
}

.npc__image img {
    width: 100%;
    aspect-ratio: 629 / 257;
    object-fit: cover;
    display: block;
}

/* --------------------------------------------------------------------------
   Text Body Container
   -------------------------------------------------------------------------- */
.npc__body {
    display: flex;
    flex-direction: column;
    gap: 36px;
    padding: 40px 20px;
    width: 100%;
    box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Color Variations (applied on .npc__card to color the body container)
   -------------------------------------------------------------------------- */
.npc__card.npc--blue .npc__body {
    background: #004C97;
}

.npc__card.npc--green .npc__body {
    background: #00A82D;
}

.npc__card.npc--cyan .npc__body {
    background: #009FDF;
}

/* --------------------------------------------------------------------------
   Header Row (Number + Arrow)
   -------------------------------------------------------------------------- */
.npc__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    gap: 16px;
}

/* --------------------------------------------------------------------------
   Display Number
   -------------------------------------------------------------------------- */
.npc__number {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 80px;
    line-height: 88px;
    letter-spacing: 0;
    text-transform: capitalize;
    color: #FFFFFF;
}

/* --------------------------------------------------------------------------
   Arrow Link
   -------------------------------------------------------------------------- */
.npc__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 96px;
    height: 96px;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.npc__arrow:hover {
    transform: scale(1.05);
}

.npc__arrow svg {
    width: 96px;
    height: 96px;
}

/* --------------------------------------------------------------------------
   Title
   -------------------------------------------------------------------------- */
.npc__title {
    font-family: var(--nacs-font-gotham);
    font-weight: 700;
    font-size: 40px;
    line-height: 48px;
    letter-spacing: 0;
    text-transform: capitalize;
    color: #FFFFFF;
    margin: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* --------------------------------------------------------------------------
   Description
   -------------------------------------------------------------------------- */
.npc__desc {
    font-family: var(--nacs-font-gotham);
    font-weight: 325;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0;
    color: #FFFFFF;
    margin: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* --------------------------------------------------------------------------
   Mobile Styles (max-width: 768px)
   -------------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
    .npc {
        margin-bottom: 20px;
    }

    .npc__card {
        width: 100%;
    }

    .npc__image {
        display: none;
    }

    .npc__body {
        gap: 16px;
        padding: 20px;
        border-radius: 4px;
    }

    .npc__header {
        gap: 6px;
        justify-content: center;
    }

    .npc__number {
        font-size: 56px;
        line-height: 64px;
        flex: 1 0 0;
    }

    .npc__arrow {
        width: 80px;
        height: 80px;
    }

    .npc__arrow svg {
        width: 80px;
        height: 80px;
    }

    .npc__title {
        font-size: 24px;
        line-height: 32px;
    }

    .npc__desc {
        font-size: 16px;
        line-height: 22px;
    }
}
