﻿
.required-star {
    color: #ff3344;
    font-weight: 900
}

.saved-detail-chip {
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: .85rem 1rem;
    border: 1px solid rgba(25,135,84,.35);
    background: rgba(25,135,84,.08);
    border-radius: 1rem;
    color: #dff8e9
}

    .saved-detail-chip i {
        color: #35d07f
    }

    .saved-detail-chip strong {
        margin-left: auto;
        color: #fff
    }

.enrollment-required-flash {
    animation: requiredFlash .42s ease 0s 3;
    border-color: #ff3344 !important;
    box-shadow: 0 0 0 .25rem rgba(255,51,68,.2) !important
}

@keyframes requiredFlash {
    0%, 100% {
        background-color: transparent
    }

    50% {
        background-color: rgba(255,0,32,.18)
    }
}

.artcomtech-processed {
    font-size: .68rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.48);
    margin-bottom: .55rem
}

.select2-container {
    width: 100% !important
}

.select2-container--default .select2-selection--single {
    height: calc(3.5rem + 2px);
    background: #111820;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: .75rem;
    color: #fff;
    padding: .78rem .9rem
}

    .select2-container--default .select2-selection--single .select2-selection__rendered {
        color: #fff;
        line-height: 1.85rem;
        padding-left: 0
    }

    .select2-container--default .select2-selection--single .select2-selection__placeholder {
        color: rgba(255,255,255,.6)
    }

    .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 100%;
        right: .75rem
    }

.select2-dropdown {
    background: #111820;
    border: 1px solid rgba(255,51,68,.45);
    color: #fff
}

.select2-search--dropdown .select2-search__field {
    background: #0c1117;
    border: 1px solid rgba(255,255,255,.2) !important;
    color: #fff;
    border-radius: .5rem
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: #dc3545;
    color: #fff
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background: #8f1824;
    color: #fff
}

.select2-results__option {
    color: #fff
}

.enrollment-card-entry {
    overflow: hidden
}

.enrollment-card-preview {
    position: relative;
    min-height: 215px;
    padding: 1.4rem 1.5rem;
    border-radius: 20px;
    background: radial-gradient(circle at 85% 15%,rgba(220,53,69,.42),transparent 34%),linear-gradient(135deg,#0a0f14,#182735 62%,#111820);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 20px 45px rgba(0,0,0,.28);
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden
}

    .enrollment-card-preview:after {
        content: "";
        position: absolute;
        width: 140px;
        height: 140px;
        border: 1px solid rgba(255,255,255,.07);
        border-radius: 50%;
        right: -60px;
        bottom: -90px
    }

.enrollment-card-preview-top, .enrollment-card-preview-bottom {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    position: relative;
    z-index: 1
}

.enrollment-card-chip {
    width: 26px;
    height: 17px;
    border-radius: 8px;
    background: linear-gradient(135deg,#d6b85d,#fff1a8 45%,#a88b36);
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.18)
}

.enrollment-card-brand {
    font-weight: 900;
    font-style: italic;
    letter-spacing: .05em;
    font-size: 1.1rem
}

.enrollment-card-digits {
    font-size: clamp(1.25rem,3.5vw,1.8rem);
    font-weight: 700;
    letter-spacing: .13em;
    position: relative;
    z-index: 1
}

.enrollment-card-preview-bottom small {
    display: block;
    color: rgba(255,255,255,.55);
    font-size: .62rem;
    text-transform: uppercase;
    letter-spacing: .08em
}

.enrollment-card-preview-bottom strong {
    display: block;
    margin-top: .18rem;
    color: #fff;
    font-size: .82rem;
    letter-spacing: .04em
}

.enrollment-card-brands {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    align-items: center
}

.card-brand-logo {
    height: 34px;
    min-width: 56px;
    padding: 0 .55rem;
    border-radius: 7px;
    background: #fff;
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: -.03em;
    opacity: .48;
    filter: grayscale(1);
    transition: .2s ease;
    border: 2px solid transparent
}

    .card-brand-logo.is-active {
        opacity: 1;
        filter: none;
        transform: translateY(-2px);
        border-color: #dc3545;
        box-shadow: 0 5px 15px rgba(220,53,69,.22)
    }

.brand-visa {
    color: #18246f;
    font-size: .9rem;
    font-style: italic
}

.brand-mastercard {
    position: relative;
    min-width: 82px;
    padding-left: 31px;
    font-size: .55rem
}

    .brand-mastercard i {
        position: absolute;
        width: 18px;
        height: 18px;
        border-radius: 50%;
        left: 8px;
        background: #eb001b
    }

        .brand-mastercard i:nth-child(2) {
            left: 18px;
            background: #f79e1b;
            opacity: .9
        }

    .brand-mastercard b {
        font-weight: 800
    }

.brand-amex {
    background: #1976a8;
    color: #fff
}

.brand-discover {
    font-size: .6rem
}

.brand-jcb {
    background: linear-gradient(90deg,#1766a6 0 33%,#d92335 33% 66%,#159447 66%);
    color: #fff
}

.brand-unionpay {
    color: #0067a5
}

.enrollment-detected-brand {
    min-width: 92px;
    justify-content: center;
    background: rgba(220,53,69,.08);
    color: #ff6674;
    border-color: rgba(255,255,255,.16)
}

.enrollment-card-security {
    display: flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem .8rem;
    border-radius: .75rem;
    background: rgba(25,135,84,.08);
    border: 1px solid rgba(25,135,84,.22);
    color: rgba(255,255,255,.68);
    font-size: .78rem
}

    .enrollment-card-security i {
        color: #35d07f
    }

.choice-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
    gap: .85rem
}

.choice-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 1rem;
    background: rgba(255,255,255,.025);
    cursor: pointer;
    transition: .2s ease
}

    .choice-card:hover {
        border-color: rgba(220,53,69,.65);
        transform: translateY(-1px)
    }

    .choice-card:has(input:checked) {
        border-color: #dc3545;
        background: rgba(220,53,69,.1);
        box-shadow: 0 0 0 2px rgba(220,53,69,.12)
    }

    .choice-card input {
        position: absolute;
        opacity: 0;
        pointer-events: none
    }

.choice-icon {
    width: 2.65rem;
    height: 2.65rem;
    display: grid;
    place-items: center;
    border-radius: .8rem;
    background: rgba(220,53,69,.12);
    color: #ff5263;
    font-size: 1.2rem
}

.choice-card strong, .choice-card small {
    display: block
}

.choice-card small {
    margin-top: .15rem;
    color: rgba(255,255,255,.58);
    font-size: .78rem
}

.payment-entry-card {
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 1rem;
    background: rgba(0,0,0,.12)
}

.payment-panel {
    display: none
}
