.raffle-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(250,204,21,.22);
    background:
        radial-gradient(circle at 88% 8%, rgba(250,204,21,.18), transparent 30%),
        radial-gradient(circle at 10% 10%, rgba(34,197,94,.16), transparent 34%),
        linear-gradient(145deg, rgba(8,25,55,.98), rgba(3,10,26,.99));
    box-shadow: 0 22px 54px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.06);
}
.raffle-hero h1,
.raffle-checkout h1 { margin: 12px 0 8px; font-size: clamp(30px, 8vw, 54px); line-height: .96; color: #fff; font-weight: 1000; letter-spacing: -.05em; }
.raffle-pill { display:inline-flex; min-height:30px; align-items:center; padding:0 13px; border-radius:999px; background:linear-gradient(135deg,#ffe768,#72f5aa); color:#06131f; font-size:11px; font-weight:1000; letter-spacing:.08em; text-transform:uppercase; }
.raffle-pill--gold { background: linear-gradient(135deg,#fff1a0,#f59e0b); }
.raffle-hero__actions, .raffle-checkout__actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.raffle-btn { min-height:46px; border-radius:15px !important; font-weight:1000 !important; }
.raffle-btn--ghost { background: rgba(255,255,255,.07) !important; color:#eaf4ff !important; border:1px solid rgba(125,211,252,.22) !important; }
.raffle-info-grid, .raffle-kpis { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.raffle-info-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.raffle-info-grid div, .raffle-kpis div { padding:14px; border-radius:18px; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.08); }
.raffle-info-grid strong, .raffle-kpis strong { display:block; color:#fff; font-size:22px; font-weight:1000; line-height:1.05; }
.raffle-info-grid span, .raffle-kpis span, .raffle-kpis small { display:block; color:#b9cff0; font-size:12px; font-weight:800; margin-bottom:5px; }
.raffle-number-grid { display:grid; grid-template-columns: repeat(10, minmax(0,1fr)); gap:8px; margin-top:18px; }
.raffle-number { min-height:68px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:15px; text-decoration:none; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 18px rgba(0,0,0,.18); }
.raffle-number strong { color:#fff; font-size:23px; line-height:1; font-weight:1000; }
.raffle-number span { margin-top:5px; color:#cfe0ff; font-size:10px; font-weight:900; text-transform:uppercase; }
.raffle-number--available { background:linear-gradient(145deg, rgba(34,197,94,.28), rgba(14,96,58,.80)); border-color:rgba(134,239,172,.30); }
.raffle-number--available:hover { transform:translateY(-1px); filter:brightness(1.08); }
.raffle-number--reserved { background:linear-gradient(145deg, rgba(56,189,248,.22), rgba(20,62,96,.82)); border-color:rgba(125,211,252,.26); }
.raffle-number--sold { opacity:.74; background:linear-gradient(145deg, rgba(71,85,105,.28), rgba(15,23,42,.88)); }
.raffle-number--winner-first { background:linear-gradient(145deg, rgba(250,204,21,.45), rgba(146,64,14,.92)); border-color:rgba(250,204,21,.55); }
.raffle-number--winner-second { background:linear-gradient(145deg, rgba(203,213,225,.34), rgba(71,85,105,.90)); border-color:rgba(226,232,240,.45); }
.raffle-rules-card p { color:#d6e7ff; line-height:1.6; }
.raffle-checkout__box { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:12px; margin:18px 0; }
.raffle-checkout__box div { padding:14px; border-radius:18px; background:#0b1220; border:1px solid rgba(255,255,255,.08); }
.raffle-checkout__box span { display:block; color:#94a3b8; font-size:12px; font-weight:800; margin-bottom:6px; }
.raffle-checkout__box strong { color:#fff; font-size:18px; }
.raffle-admin-form { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:12px; align-items:end; }
.raffle-admin-form label { display:grid; gap:6px; color:#cfe0ff; font-size:12px; font-weight:900; text-transform:uppercase; }
.raffle-admin-form input { width:100%; min-height:44px; border-radius:13px; border:1px solid rgba(255,255,255,.10); background:#0b1220; color:#fff; padding:0 12px; }
.raffle-admin-result { margin-top:14px; padding:14px; border-radius:16px; background:rgba(250,204,21,.08); border:1px solid rgba(250,204,21,.20); color:#fef3c7; }
.raffle-payment-list { display:grid; gap:8px; margin-top:12px; }
.raffle-payment-item { padding:12px; border-radius:14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); }
.raffle-payment-item strong, .raffle-payment-item span { display:block; }
.raffle-payment-item strong { color:#fff; }
.raffle-payment-item span { margin-top:4px; color:#b9cff0; font-size:12px; }
@media (max-width: 860px){ .raffle-kpis,.raffle-info-grid,.raffle-checkout__box,.raffle-admin-form{grid-template-columns:1fr 1fr}.raffle-number-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.raffle-number{min-height:60px}.raffle-number strong{font-size:20px} }
@media (max-width: 520px){ .raffle-kpis,.raffle-info-grid,.raffle-checkout__box,.raffle-admin-form{grid-template-columns:1fr}.raffle-number-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.raffle-hero__actions,.raffle-checkout__actions{display:grid}.raffle-btn{width:100%} }


/* FCBF_RAFFLE_CART_MULTI_V2_START */
.raffle-picker-card {
    padding-bottom: 18px;
}

.raffle-number-grid .raffle-number {
    cursor: default;
}

.raffle-number-grid button.raffle-number {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    font-family: inherit;
}

.raffle-number-grid button.raffle-number:focus-visible {
    outline: 3px solid rgba(250, 204, 21, .72);
    outline-offset: 3px;
}

.raffle-number--selected {
    background: linear-gradient(180deg, rgba(250, 204, 21, .96), rgba(251, 146, 60, .96)) !important;
    border-color: rgba(255, 255, 255, .44) !important;
    color: #08111f !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, .12),
        0 0 26px rgba(250, 204, 21, .40),
        inset 0 2px 0 rgba(255, 255, 255, .34) !important;
    transform: translateY(-2px) scale(1.02);
}

.raffle-number--selected strong,
.raffle-number--selected span {
    color: #08111f !important;
    text-shadow: none !important;
}

.raffle-cart-bar {
    position: fixed;
    z-index: 80;
    left: 50%;
    bottom: calc(98px + env(safe-area-inset-bottom));
    transform: translateX(-50%);
    width: min(92vw, 430px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border-radius: 24px;
    border: 1px solid rgba(125, 211, 252, .24);
    background:
        radial-gradient(circle at 8% 0%, rgba(34, 211, 238, .16), transparent 36%),
        linear-gradient(145deg, rgba(3, 18, 40, .98), rgba(2, 8, 22, .98));
    box-shadow:
        0 20px 50px rgba(0, 0, 0, .48),
        inset 0 1px 0 rgba(255, 255, 255, .08);
    backdrop-filter: blur(16px);
}

.raffle-cart-bar[hidden] {
    display: none !important;
}

.raffle-cart-bar__info {
    min-width: 0;
}

.raffle-cart-bar__info span,
.raffle-cart-bar__info small {
    display: block;
}

.raffle-cart-bar__info span {
    color: #b9cff0;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.raffle-cart-bar__info strong {
    display: block;
    color: #fff;
    font-size: 20px;
    line-height: 1.05;
    font-weight: 1000;
    margin-top: 2px;
}

.raffle-cart-bar__info small {
    max-width: 210px;
    color: rgba(255, 255, 255, .68);
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.raffle-cart-bar__form {
    flex: 0 0 auto;
}

.raffle-cart-bar__pay {
    min-width: 118px !important;
    min-height: 46px !important;
    border-radius: 17px !important;
    font-size: 15px !important;
    color: #06131f !important;
    background: linear-gradient(135deg, #ffe768, #50ee9a) !important;
    box-shadow:
        0 12px 24px rgba(0, 0, 0, .32),
        inset 0 2px 0 rgba(255, 255, 255, .28) !important;
}

.raffle-selected-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 2px;
}

.raffle-selected-list span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 50px;
    min-height: 38px;
    border-radius: 14px;
    color: #06131f;
    background: linear-gradient(180deg, #ffe768, #50ee9a);
    font-size: 18px;
    font-weight: 1000;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.30), 0 10px 22px rgba(0,0,0,.24);
}

@media (max-width: 520px) {
    .raffle-cart-bar {
        width: min(94vw, 420px);
        bottom: calc(96px + env(safe-area-inset-bottom));
        border-radius: 22px;
        padding: 10px;
    }

    .raffle-cart-bar__info strong {
        font-size: 18px;
    }

    .raffle-cart-bar__pay {
        min-width: 104px !important;
        min-height: 44px !important;
    }
}
/* FCBF_RAFFLE_CART_MULTI_V2_END */

/* FCBF_RAFFLE_CART_VISUAL_V3_START */
html body.fcbf-raffle-federal-page .raffle-number-grid button.raffle-number.raffle-number--available {
    background: linear-gradient(145deg, rgba(34,197,94,.32), rgba(14,96,58,.88)) !important;
    border-color: rgba(134,239,172,.34) !important;
}

html body.fcbf-raffle-federal-page .raffle-number-grid button.raffle-number.raffle-number--selected,
html body.fcbf-raffle-federal-page .raffle-number-grid button.raffle-number.raffle-number--available.raffle-number--selected {
    background: linear-gradient(180deg, #ffe768 0%, #ffc83d 42%, #f97316 100%) !important;
    border-color: rgba(255,255,255,.72) !important;
    color: #06131f !important;
    opacity: 1 !important;
    transform: translateY(-3px) scale(1.035) !important;
    box-shadow:
        0 0 0 2px rgba(255,255,255,.18),
        0 0 0 5px rgba(250,204,21,.16),
        0 12px 26px rgba(0,0,0,.34),
        0 0 28px rgba(250,204,21,.52),
        inset 0 2px 0 rgba(255,255,255,.55),
        inset 0 -3px 0 rgba(120,53,15,.34) !important;
}

html body.fcbf-raffle-federal-page .raffle-number-grid button.raffle-number.raffle-number--selected strong,
html body.fcbf-raffle-federal-page .raffle-number-grid button.raffle-number.raffle-number--selected span {
    color: #06131f !important;
    text-shadow: none !important;
}

html body.fcbf-raffle-federal-page .raffle-number-grid .raffle-number.raffle-number--sold {
    background: linear-gradient(145deg, rgba(71,85,105,.28), rgba(15,23,42,.94)) !important;
    border-color: rgba(148,163,184,.18) !important;
    opacity: .72 !important;
    filter: grayscale(.25) !important;
    cursor: not-allowed !important;
}

html body.fcbf-raffle-federal-page .raffle-number-grid .raffle-number.raffle-number--sold strong,
html body.fcbf-raffle-federal-page .raffle-number-grid .raffle-number.raffle-number--sold span {
    color: #cbd5e1 !important;
}

html body.fcbf-raffle-federal-page .raffle-cart-bar[hidden] {
    display: none !important;
}

html body.fcbf-raffle-federal-page .raffle-cart-bar,
html body.fcbf-raffle-federal-page .raffle-cart-bar.is-open {
    position: fixed !important;
    left: 50% !important;
    bottom: calc(104px + env(safe-area-inset-bottom)) !important;
    transform: translateX(-50%) !important;
    z-index: 99999 !important;
    width: min(92vw, 430px) !important;
    min-height: 72px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 12px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(250,204,21,.42) !important;
    background:
        radial-gradient(circle at 14% 0%, rgba(250,204,21,.22), transparent 40%),
        linear-gradient(145deg, rgba(2,8,23,.98), rgba(5,24,53,.98)) !important;
    box-shadow:
        0 22px 52px rgba(0,0,0,.54),
        0 0 26px rgba(250,204,21,.16),
        inset 0 1px 0 rgba(255,255,255,.10) !important;
}

html body.fcbf-raffle-federal-page .raffle-cart-bar__info span {
    color: #fde68a !important;
    font-size: 12px !important;
    font-weight: 1000 !important;
    text-transform: uppercase !important;
}

html body.fcbf-raffle-federal-page .raffle-cart-bar__info strong {
    display: block !important;
    margin-top: 2px !important;
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 1000 !important;
}

html body.fcbf-raffle-federal-page .raffle-cart-bar__info small {
    display: block !important;
    max-width: 230px !important;
    margin-top: 4px !important;
    color: #cfe0ff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

html body.fcbf-raffle-federal-page .raffle-cart-bar__pay {
    width: auto !important;
    min-width: 106px !important;
    min-height: 46px !important;
    border-radius: 16px !important;
    color: #07111f !important;
    background: linear-gradient(180deg, #fff173 0%, #facc15 50%, #f59e0b 100%) !important;
    border: 1px solid rgba(255,255,255,.45) !important;
    box-shadow:
        inset 0 2px 0 rgba(255,255,255,.42),
        inset 0 -3px 0 rgba(120,53,15,.22),
        0 10px 24px rgba(0,0,0,.34) !important;
    font-weight: 1000 !important;
    text-transform: uppercase !important;
}

@media (max-width: 520px) {
    html body.fcbf-raffle-federal-page .raffle-cart-bar {
        bottom: calc(98px + env(safe-area-inset-bottom)) !important;
        width: calc(100vw - 24px) !important;
    }

    html body.fcbf-raffle-federal-page .raffle-cart-bar__info small {
        max-width: 190px !important;
    }
}
/* FCBF_RAFFLE_CART_VISUAL_V3_END */





















/* FCBF_RIFA_WINNERS_PREMIUM_CARD_V1_START */
.raffle-result-card--winners-premium {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 214, 92, .48) !important;
    background:
        radial-gradient(circle at 92% 8%, rgba(255, 214, 92, .26), transparent 28%),
        radial-gradient(circle at 8% 4%, rgba(34, 197, 94, .18), transparent 32%),
        linear-gradient(145deg, rgba(4, 22, 34, .98), rgba(8, 16, 32, .98) 52%, rgba(37, 30, 8, .94)) !important;
    box-shadow:
        0 22px 50px rgba(0,0,0,.42),
        0 0 34px rgba(255, 205, 50, .18),
        inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.raffle-winners-premium__shine {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(110deg, transparent 0 35%, rgba(255,255,255,.09) 48%, transparent 62% 100%);
    opacity: .55;
}

.raffle-winners-premium__pill {
    position: relative;
    z-index: 1;
    box-shadow: 0 0 22px rgba(255, 214, 92, .22);
}

.raffle-winners-premium__title {
    position: relative;
    z-index: 1;
    margin: 14px 0 6px !important;
    font-size: clamp(30px, 6vw, 46px) !important;
    line-height: .95 !important;
    font-weight: 1000 !important;
    color: #fff !important;
    letter-spacing: -1.4px;
    text-shadow: 0 4px 20px rgba(0,0,0,.50);
}

.raffle-winners-premium__subtitle {
    position: relative;
    z-index: 1;
    color: #d7e8ff !important;
    font-weight: 800;
    margin: 0 0 16px !important;
}

.raffle-winners-premium__subtitle strong {
    color: #fff6b8;
}

.raffle-winners-premium__grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.raffle-winner-card {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    padding: 20px;
    border-radius: 24px;
    border: 1px solid rgba(255, 214, 92, .38);
    background:
        radial-gradient(circle at 88% 22%, rgba(255, 214, 92, .32), transparent 28%),
        linear-gradient(145deg, rgba(6, 22, 38, .98), rgba(8, 20, 35, .98) 58%, rgba(48, 38, 8, .92));
    box-shadow:
        0 16px 36px rgba(0,0,0,.38),
        0 0 26px rgba(255, 203, 35, .16),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.raffle-winner-card--second {
    border-color: rgba(205, 228, 255, .38);
    background:
        radial-gradient(circle at 88% 22%, rgba(205, 228, 255, .24), transparent 28%),
        linear-gradient(145deg, rgba(6, 20, 38, .98), rgba(12, 24, 43, .98) 62%, rgba(27, 36, 52, .92));
    box-shadow:
        0 16px 36px rgba(0,0,0,.38),
        0 0 24px rgba(190, 220, 255, .13),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.raffle-winner-card__top span {
    display: inline-flex;
    width: fit-content;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(3, 10, 22, .62);
    color: #eaf3ff;
    font-size: 11px;
    font-weight: 1000;
    letter-spacing: .7px;
    text-transform: uppercase;
}

.raffle-winner-card__top strong {
    display: block;
    margin-top: 13px;
    font-size: clamp(30px, 5vw, 42px);
    line-height: 1;
    color: #fff;
    font-weight: 1000;
}

.raffle-winner-card__top small {
    display: block;
    margin-top: 3px;
    color: #d4e5ff;
    font-weight: 900;
}

.raffle-winner-card__ball {
    position: absolute;
    top: 24px;
    right: 20px;
    width: 88px;
    height: 88px;
    border-radius: 999px;
    display: grid;
    place-items: center;
    font-size: 38px;
    font-weight: 1000;
    color: #061120;
    background: linear-gradient(180deg, #fff38a, #ffc400 55%, #ff9900);
    border: 5px solid rgba(255,255,255,.44);
    box-shadow:
        0 0 0 8px rgba(255, 215, 70, .12),
        0 16px 30px rgba(0,0,0,.38),
        0 0 32px rgba(255, 215, 70, .42);
}

.raffle-winner-card--second .raffle-winner-card__ball {
    background: linear-gradient(180deg, #f7fbff, #cfe0f8 55%, #90a9c7);
    box-shadow:
        0 0 0 8px rgba(210, 230, 255, .12),
        0 16px 30px rgba(0,0,0,.38),
        0 0 28px rgba(190, 220, 255, .30);
}

.raffle-winner-card__buyer {
    margin-top: 22px;
    padding: 15px;
    border-radius: 18px;
    background: rgba(4, 12, 26, .74);
    border: 1px solid rgba(130, 190, 255, .16);
}

.raffle-winner-card__buyer small {
    display: block;
    color: #a9bdd8;
    font-size: 10px;
    font-weight: 1000;
    letter-spacing: .9px;
    text-transform: uppercase;
    margin-bottom: 6px;
}

.raffle-winner-card__buyer strong {
    display: block;
    max-width: calc(100% - 90px);
    color: #fff;
    font-size: 22px;
    line-height: 1.05;
    font-weight: 1000;
}

.raffle-winner-card__origin {
    margin-top: 12px;
    color: #f8f2c3;
    font-weight: 900;
    line-height: 1.3;
}

.raffle-number--winner-first,
.raffle-number--winner-second {
    color: #061120 !important;
}

.raffle-number--winner-first {
    background: linear-gradient(180deg, #fff06a, #f5b21a 68%, #a36700) !important;
    border-color: rgba(255,255,255,.68) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.24) inset,
        0 0 30px rgba(255,208,42,.58) !important;
}

.raffle-number--winner-second {
    background: linear-gradient(180deg, #f5fbff, #b9cde8 65%, #657d9c) !important;
    border-color: rgba(255,255,255,.58) !important;
    box-shadow:
        0 0 0 1px rgba(255,255,255,.20) inset,
        0 0 26px rgba(190,220,255,.44) !important;
}

.raffle-number--winner-first strong,
.raffle-number--winner-first span,
.raffle-number--winner-second strong,
.raffle-number--winner-second span {
    color: #061120 !important;
    text-shadow: none !important;
}

@media (max-width: 760px) {
    .raffle-winners-premium__grid {
        grid-template-columns: 1fr;
    }

    .raffle-winner-card {
        min-height: 218px;
    }
}

@media (max-width: 520px) {
    .raffle-winner-card {
        padding: 16px;
        border-radius: 22px;
    }

    .raffle-winner-card__ball {
        width: 74px;
        height: 74px;
        font-size: 31px;
        top: 18px;
        right: 14px;
    }

    .raffle-winner-card__buyer strong {
        max-width: calc(100% - 78px);
        font-size: 19px;
    }
}
/* FCBF_RIFA_WINNERS_PREMIUM_CARD_V1_END */
