
.ks-root {
    font-family: inherit
}

.ks-head {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin: 0 0 14px
}

.ks-flag {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    display: inline-block;
    box-shadow: 0 1px 2px rgba(0,0,0,.08)
}

.ks-title {
    font-weight: 800
}

.ks-chip {
    background: #eef5ff;
    border-radius: 999px;
    padding: .35rem .8rem;
    font-size: .85rem
}

.ks-tabs{display:flex;gap:10px;margin:12px 0}
.ks-tab{background:#ECEFF3;border-radius:999px;padding:10px 14px;color:#222;font-weight:800;border:2px solid transparent;cursor:pointer}
.ks-tab.is-act{background:#0B0B0B;color:#fff}

.ks-panel{display:none}
.ks-panel.is-act{display:block}

.ks-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 16px
}

@media(max-width: 720px) {
    .ks-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap: 12px
    }

    .ks-card {
        aspect-ratio: 1/1;
        display: flex;
        flex-direction: column;
        justify-content: space-between
    }
}

.ks-card {
    border: 2px solid #672c865c;
    border-radius: 16px;
    padding: 16px;
    cursor: pointer;
    transition: transform .15s, box-shadow .15s;
    background: #fff;
    color: #4f0089;
}

.ks-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(0,0,0,.10)
}

.ks-card.is-sel {
    background: #672c86;
    border-color: #672c86;
    color: #fff
}

.ks-data {
    font-weight: 800;
    font-size: 1.95rem
}

.ks-valid {
    opacity: .85;
    color: #8A8F9C;
    margin: 4px 0;
}

.ks-sep {
    margin: 8px 0;
    border-bottom: 2px solid rgba(0,0,0,.08)
}

.ks-price {
    font-weight: 800;
    font-size: 1.5rem;
}

.ks-sticky {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2147483000 !important;
    pointer-events: none;
    background: transparent
}

.ks-cta {
    pointer-events: auto;
    background: #672c86;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px 22px;
    padding-bottom: calc(18px + env(safe-area-inset-bottom));
    text-decoration: none;
    width: 100%
}

.ks-ico {
    width: 18px;
    height: 18px;
    color: #fff
}

.ks-lbl {
    font-weight: 800;
    font-size: 26px
}

.ks-arr {
    font-size: 1.4rem;
    opacity: .9
}
