/* =========================
   GYM ELITE CARD
========================= */

.elite-card {
    width: 100%;
    max-width: 290px;

    border-radius: 22px;

    background:
        linear-gradient(145deg,
            #1f1400 0%,
            #4d3400 12%,
            #8a5c00 24%,
            #d4a017 38%,
            #fff0b2 50%,
            #d4a017 62%,
            #8a5c00 76%,
            #4d3400 88%,
            #1f1400 100%);

    border: 4px solid #ffd76a;

    position: relative;
    overflow: visible;
    margin: 0;

    box-sizing: border-box;
    break-inside: avoid;
}

/* =========================
   TOP AREA
========================= */

.elite-top {
    padding: 18px 18px 10px;
    text-align: center;
    position: relative;
}

.elite-title {
    font-size: 15px;
    font-weight: 900;
    color: white;

    letter-spacing: .5px;
    margin-bottom: 5px;
}

.elite-subtitle {
    font-size: 11px;
    font-weight: 800;

    color: #fff;

    text-align: center;
    line-height: 1.3;
}

.elite-old-price {
    font-size: 20px;
    font-weight: 800;

    color: #9c9c9c;

    text-decoration: line-through;
    margin-bottom: 4px;
}

/* =========================
   PRICE
========================= */

.elite-price-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.elite-price-row {
    display: flex;
    align-items: flex-end;
    gap: 4px;
}

.elite-currency {
    font-size: 45px;
    font-weight: 900;

    color: #1f5fd1;
}

.elite-price {
    font-size: 48px;
    font-weight: 900;

    color: #1f5fd1;
}

.elite-period {
    font-size: 20px;
    font-weight: 900;

    color: #1f5fd1;

    margin-bottom: 8px;
}

.elite-duration {
    margin-top: 2px;

    font-size: 14px;
    font-weight: 800;

    color: #222;
}

/* =========================
   GOLD SEAL
========================= */

.elite-seal {
    position: absolute;

    right: -50px;
    top: 50px;

    width: 95px;
    height: 95px;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        radial-gradient(circle at 30% 30%,
            #ffe89a 0%,
            #f4c449 25%,
            #c68a16 60%,
            #6b4300 100%);

    box-shadow:
        0 0 0 3px #8b5d00,
        0 0 0 7px #e2ba55,
        0 10px 25px rgba(0, 0, 0, .35);
}

.elite-seal::before {
    content: "";

    position: absolute;
    inset: 4px;

    border-radius: 50%;

    background:
        repeating-conic-gradient(#f6d36a 0deg 10deg,
            #b67c0c 10deg 20deg);

    -webkit-mask:
        radial-gradient(circle,
            transparent 58%,
            #000 59%);

    mask:
        radial-gradient(circle,
            transparent 58%,
            #000 59%);
}

/* INNER */

.elite-seal-core {
    position: relative;
    z-index: 2;

    width: 100px;
    height: 95px;

    border-radius: 50%;

    background:
        radial-gradient(circle at top,
            #2563eb,
            #163f92 75%);

    border: 2px solid #f0d172;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    box-shadow:
        inset 0 0 10px rgba(255, 255, 255, .15),
        inset 0 0 20px rgba(0, 0, 0, .4);
}

.elite-seal-icon {
    font-size: 18px;
    color: #ffe082;
    margin-bottom: 4px;
}

.elite-seal-text {
    text-align: center;

    font-size: 9px;
    font-weight: 900;

    line-height: 1.2;

    color: #ffe082;
}

/* =========================
   INFO BAR
========================= */

.elite-bar {
    background: #1f5fd1;
    color: #fff;

    text-align: center;

    font-size: 10px;
    font-weight: 900;

    padding: 8px 10px;
}

/* =========================
   BENEFITS
========================= */

.elite-benefits {
    padding: 10px 0 0;
}

.elite-benefit {
    background:
        linear-gradient(145deg,
            #8a5c00 0%,
            #f7df9b 35%,
            #e0b84f 65%,
            #c9971a 100%);
    border: 2px solid #d9d9d9;
    border-radius: 8px;

    padding: 6px 8px;

    display: flex;
    align-items: flex-start;

    margin-bottom: 5px;

    font-size: 12px;
    font-weight: 700;

    color: #222;

    text-align: left;
}

.elite-check {
    min-width: 15px;
    width: 15px;
    height: 15px;

    border-radius: 5px;

    background: #2563eb;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    font-size: 10px;
    font-weight: 900;

    margin-right: 5px;

    flex-shrink: 0;
}

.elite-benefit span {


    text-align: left;
}

/* =========================
   RENEWAL PRICING
========================= */

.renewal-pricing {
    padding: 12px 12px 10px;
}

/* BOX */

.renewal-box {
    background: #f4f4f4;

    border: 2px solid #d8d8d8;
    border-radius: 10px;

    padding: 2px 12px;

    margin-bottom: 8px;

    position: relative;

    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .5);
}

/* NORMAL */

.renewal-box.normal {
    background: #ececec;
}

/* FEATURED */

.renewal-box.featured {
    border: 2px solid #2563eb;

    background:
        linear-gradient(180deg,
            #ffffff 0%,
            #edf4ff 100%);
}

/* PREMIUM */

.renewal-box.premium {
    border: 2px solid #0f9f57;

    background:
        linear-gradient(180deg,
            #ffffff 0%,
            #eefdf4 100%);
}

/* TOP ROW */

.renewal-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* LEFT */

.renewal-left {
    font-size: 12px;
    font-weight: 800;

    color: #222;
}

/* RIGHT */

.renewal-right {
    font-size: 15px;
    font-weight: 900;

    color: #2563eb;
}

.renewal-right span {
    font-size: 10px;
    font-weight: 800;
}

/* OLD PRICE */

.renewal-right.old {
    color: #8c8c8c;
    text-decoration: line-through;
}

/* EXTRA */

.renewal-extra {
    width: 100%;

    margin-top: 3px;

    font-size: 10px;
    font-weight: 700;

    color: #555;

    text-align: center;
}

/* NOTES */

.renewal-note {
    display: block;

    margin-top: 6px;

    font-size: 9px;
    font-weight: 700;

    line-height: 1.3;
    text-align: center;

    color: white;
}

.renewal-note.highlight {
    color: white;
    font-weight: 900;
}

/* =========================
   FOOTER
========================= */

.elite-footer {
    padding: 15px 18px 18px;
    text-align: center;
}

.elite-remaining {
    font-size: 18px;
    font-weight: 900;

    color: white;

    margin-bottom: 14px;
}

.elite-remaining span {
    color: #ff927a;
}

.elite-button {
    width: 100%;

    border: none;
    cursor: pointer;

    background:
        linear-gradient(180deg,
            #3b82f6 0%,
            #1d4ed8 100%);

    color: #fff;

    font-size: 11px;
    font-weight: 900;

    padding: 15px 10px;

    border-radius: 999px;

    box-shadow:
        inset 0 2px 0 rgba(255, 255, 255, .25),
        0 10px 20px rgba(0, 0, 0, .25);

    transition: .25s;
}

.elite-button:hover {
    transform: translateY(-2px);
}