.vf-rifa-page{padding:28px 0 64px;background:linear-gradient(180deg,#f7fbfa 0,#fff 38%,#fff 100%);min-height:70vh}.vf-rifa-hero{padding:34px 0 24px}.vf-rifa-kicker{display:inline-block;font-size:.78rem;letter-spacing:.18em;font-weight:800;color:#a14f6d;text-transform:uppercase}.vf-rifa-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;margin:.5rem 0 .85rem;color:#222}.vf-rifa-hero p{font-size:1.05rem;color:#667;max-width:720px}.vf-rifa-success,.vf-rifa-error{margin-bottom:20px;border-radius:16px;padding:14px 16px}.vf-rifa-success{background:#ecfdf3;border:1px solid #b7ebc6;color:#166534}.vf-rifa-error{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.vf-rifa-empty{background:#fff;border:1px solid #e8efed;border-radius:24px;padding:34px;box-shadow:0 14px 40px rgba(30,60,55,.08)}.vf-rifa-layout{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.35fr);gap:26px;align-items:start}.vf-rifa-prize,.vf-rifa-board{background:#fff;border:1px solid #e5eeec;border-radius:26px;box-shadow:0 18px 50px rgba(26,64,58,.08);overflow:hidden}.vf-rifa-prize img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f4f6f5}.vf-rifa-prize>div{padding:24px}.vf-rifa-prize h2{font-size:1.45rem;margin:.8rem 0 .4rem}.vf-rifa-prize p{color:#555;line-height:1.6;white-space:normal}.vf-rifa-status{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.vf-rifa-status.is-active{background:#e9f8ef;color:#187341}.vf-rifa-status.is-waiting{background:#fff5da;color:#8a5d00}.vf-rifa-price{margin-top:18px;padding-top:18px;border-top:1px solid #edf1f0;font-size:1.75rem;font-weight:800;color:#222}.vf-rifa-price small{font-size:.85rem;font-weight:600;color:#777}.vf-rifa-board{padding:24px}.vf-rifa-board-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.vf-rifa-board-head h2{font-size:1.4rem;margin:0 0 4px}.vf-rifa-board-head p{color:#777;margin:0;font-size:.92rem}.vf-rifa-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.78rem;color:#666;justify-content:flex-end}.vf-rifa-legend span{display:inline-flex;align-items:center;gap:6px}.vf-rifa-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.vf-rifa-legend .available{background:#fff;border:1px solid #94b8b1}.vf-rifa-legend .reserved{background:#f4c965}.vf-rifa-legend .paid{background:#7cc89c}.vf-rifa-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px}.vf-rifa-number{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:14px;border:1px solid #cbdad7;background:#fff;color:#233;min-width:0;font-weight:800;font-size:1rem;text-decoration:none;transition:.16s ease;cursor:pointer}.vf-rifa-number.is-available:hover{transform:translateY(-2px);border-color:#7fb3aa;box-shadow:0 8px 18px rgba(70,130,120,.13)}.vf-rifa-number.is-selected{background:#1f665b;color:#fff;border-color:#1f665b;box-shadow:0 8px 20px rgba(31,102,91,.22)}.vf-rifa-number.is-reserved{background:#fff5da;border-color:#eed48f;color:#91670c;cursor:not-allowed}.vf-rifa-number.is-paid{background:#e9f8ef;border-color:#acd9be;color:#17653a}.vf-rifa-number.is-closed{background:#f4f4f4;border-color:#ddd;color:#aaa}.vf-rifa-selection{position:sticky;bottom:14px;margin-top:18px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border:1px solid #d7e6e2;border-radius:18px;padding:16px;display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;box-shadow:0 14px 30px rgba(22,70,63,.13)}.vf-rifa-selection[hidden]{display:none}.vf-rifa-selection strong{display:block;font-size:.78rem;color:#687875}.vf-rifa-selection .vf-primary{white-space:nowrap}.vf-rifa-pending,.vf-rifa-login-box{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:#f6f9f8;border:1px solid #dce8e5}.vf-rifa-pending a{font-weight:800;margin-left:6px}.vf-rifa-history{margin-top:34px}.vf-rifa-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.vf-rifa-history-grid article{background:#fff;border:1px solid #e4ecea;border-radius:18px;padding:18px}.vf-rifa-history-grid small,.vf-rifa-history-grid span{display:block;color:#777}.vf-rifa-history-grid strong{display:block;font-size:1.25rem;margin:.25rem 0}.vf-rifa-history-grid p{font-size:.9rem;color:#555;margin:.7rem 0 0}.vf-rifa-dialog{border:0;border-radius:22px;padding:28px;min-width:min(90vw,360px);box-shadow:0 30px 80px rgba(0,0,0,.22);text-align:center}.vf-rifa-dialog::backdrop{background:rgba(0,0,0,.45)}.vf-rifa-dialog small{display:block;text-transform:uppercase;letter-spacing:.1em;color:#888}.vf-rifa-dialog strong{display:block;font-size:2rem;margin:.4rem 0}.vf-rifa-dialog p{font-size:1.1rem;margin:.2rem 0}.vf-rifa-dialog-close{position:absolute;right:10px;top:8px;border:0;background:transparent;font-size:1.7rem;cursor:pointer}.vf-rifa-pay{padding:36px 0 70px}.vf-rifa-back{display:inline-block;margin-bottom:18px;text-decoration:none}.vf-rifa-pay-card{max-width:620px;margin:0 auto;background:#fff;border:1px solid #e0ebe8;border-radius:26px;padding:28px;box-shadow:0 18px 50px rgba(25,66,59,.09);text-align:center}.vf-rifa-pay-card h1{font-size:2rem;margin:.5rem 0}.vf-rifa-pay-summary{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:10px;margin:20px 0}.vf-rifa-pay-summary>div{border-radius:14px;background:#f7faf9;border:1px solid #e2ece9;padding:13px}.vf-rifa-pay-summary small{display:block;color:#7b8885;margin-bottom:5px}.vf-rifa-pay-summary strong{display:block}.vf-rifa-qr{width:min(280px,82vw);height:auto;margin:10px auto 16px;border-radius:16px;border:1px solid #e1e7e5;padding:8px;background:#fff}.vf-rifa-copy{display:block;text-align:left;font-weight:700;margin:8px 0}.vf-rifa-copy textarea{width:100%;min-height:92px;margin-top:6px;border:1px solid #d8e2df;border-radius:12px;padding:10px;font:12px/1.4 monospace;resize:none}.vf-rifa-pay-note{margin-top:18px;color:#667}.vf-rifa-pay-card .vf-primary{display:inline-flex;justify-content:center;align-items:center;text-decoration:none}.vf-rifa-page .vf-primary,.vf-rifa-pay .vf-primary{border:0;cursor:pointer}
@media(max-width:900px){.vf-rifa-layout{grid-template-columns:1fr}.vf-rifa-prize{display:grid;grid-template-columns:220px 1fr}.vf-rifa-prize img{height:100%;aspect-ratio:auto}.vf-rifa-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.vf-rifa-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.vf-rifa-page{padding-top:12px}.vf-rifa-hero{padding:20px 0}.vf-rifa-layout{gap:16px}.vf-rifa-prize{display:block}.vf-rifa-board{padding:16px}.vf-rifa-board-head{display:block}.vf-rifa-legend{justify-content:flex-start;margin-top:10px}.vf-rifa-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.vf-rifa-number{border-radius:12px;font-size:.95rem}.vf-rifa-selection{grid-template-columns:1fr 1fr;gap:10px}.vf-rifa-selection .vf-primary{grid-column:1/-1;width:100%}.vf-rifa-history-grid{grid-template-columns:1fr}.vf-rifa-pay{padding-top:22px}.vf-rifa-pay-card{padding:20px 16px}.vf-rifa-pay-summary{grid-template-columns:1fr}.vf-rifa-hero h1{font-size:2.25rem}}

/* VIVA_RIFA_VISUAL_V2 */

.vf-rifa-hero {
    padding-bottom: 14px;
}

.vf-rifa-hero h1 {
    margin-bottom: 10px;
}

.vf-rifa-rules {
    margin-bottom: 30px;
    border: 1px solid #e3ebe9;
    border-radius: 22px;
    background: #fff;
    padding: 22px 26px;
}

.vf-rifa-rules-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}

.vf-rifa-rules-kicker {
    display: block;
    margin-bottom: 4px;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .16em;
    color: #a14f6d;
}

.vf-rifa-rules h2 {
    margin: 0;
    font-size: 1.35rem;
    color: #27312f;
}

.vf-rifa-rule-price {
    display: flex;
    align-items: baseline;
    gap: 5px;
    color: #596562;
    white-space: nowrap;
}

.vf-rifa-rule-price strong {
    font-size: 1rem;
    color: #37413f;
}

.vf-rifa-rule-price span {
    font-size: .78rem;
}

.vf-rifa-rules-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.vf-rifa-rules-grid > div {
    padding: 14px 15px;
    border-radius: 14px;
    background: #f7faf9;
    border: 1px solid #edf2f0;
}

.vf-rifa-rules-grid strong {
    display: block;
    margin-bottom: 4px;
    font-size: .84rem;
    color: #27312f;
}

.vf-rifa-rules-grid span {
    display: block;
    font-size: .78rem;
    line-height: 1.45;
    color: #687370;
}

.vf-rifa-rules-grid a {
    color: #8b405c;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.vf-rifa-number.is-paid {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    background: #c7e6e0;
    border-color: #a8d3cb;
    color: #253432;
}

.vf-rifa-number.is-paid .vf-rifa-number-value {
    position: relative;
    z-index: 1;
    opacity: .26;
}

.vf-rifa-number-logo {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: 76%;
    max-width: 62px;
    max-height: 62%;
    object-fit: contain;
    transform: translate(-50%, -50%);
    opacity: .55;
    pointer-events: none;
}

@media (max-width: 820px) {
    .vf-rifa-rules {
        padding: 18px;
        border-radius: 18px;
    }

    .vf-rifa-rules-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 520px) {
    .vf-rifa-rules-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .vf-rifa-rules-head {
        gap: 14px;
    }

    .vf-rifa-rule-price {
        flex-direction: column;
        align-items: flex-end;
        gap: 0;
    }
}

/* ==========================================================
   VIVA_RIFA_CAMPAIGN_V6
   RIFA DIGITAL VIVA FITNESS
   ========================================================== */

.vf-rifa-page {
    background: #fbf8f4;
    padding: 0 0 52px;
}

/* O título fica dentro da própria peça da rifa. */
.vf-rifa-hero {
    display: none;
}

/* ==========================================================
   PEÇA PRINCIPAL
   ========================================================== */

.vf-rifa-campaign {
    max-width: 980px;
    margin: 34px auto 30px;
    overflow: hidden;
    border: 1px solid rgba(117, 160, 152, .28);
    border-radius: 28px;
    background: #fffdfa;
    box-shadow:
        0 20px 55px rgba(69, 103, 96, .08),
        0 3px 10px rgba(69, 103, 96, .035);
}

/* ==========================================================
   CABEÇALHO DA RIFA
   ========================================================== */

.vf-rifa-campaign-top {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 170px;
    align-items: center;
    gap: 16px;
    padding: 22px 28px;
    background: #c7e6e0;
    border-bottom: 1px solid rgba(97, 145, 136, .18);
}

.vf-rifa-campaign-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.vf-rifa-campaign-logo img {
    width: 76px;
    height: 58px;
    object-fit: contain;
}

.vf-rifa-campaign-title {
    text-align: center;
}

.vf-rifa-campaign-title span {
    display: block;
    margin-bottom: 2px;
    color: #a34f6d;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .2em;
}

.vf-rifa-campaign-title h2 {
    margin: 0;
    color: #354944;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2.45rem, 4.8vw, 3.6rem);
    font-style: italic;
    font-weight: 500;
    line-height: .95;
    letter-spacing: -.045em;
}

.vf-rifa-campaign-price {
    justify-self: end;
    min-width: 132px;
    padding: 10px 16px;
    border: 1px solid rgba(255,255,255,.78);
    border-radius: 15px;
    background: rgba(255,255,255,.57);
    text-align: center;
}

.vf-rifa-campaign-price small,
.vf-rifa-campaign-price strong {
    display: block;
}

.vf-rifa-campaign-price small {
    margin-bottom: 2px;
    color: #697c78;
    font-size: .54rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.vf-rifa-campaign-price strong {
    color: #a34f6d;
    font-size: 1.18rem;
    line-height: 1.15;
}

/* ==========================================================
   PRÊMIO
   ========================================================== */

.vf-rifa-campaign-prize {
    display: grid;
    grid-template-columns: 34% 66%;
    min-height: 235px;
    border-bottom: 1px solid #e5ebe8;
}

.vf-rifa-campaign-prize-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(255,255,255,.62) 0,
            rgba(255,255,255,.62) 30%,
            transparent 31%
        ),
        #c7e6e0;
}

.vf-rifa-campaign-prize-visual::before,
.vf-rifa-campaign-prize-visual::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255,255,255,.52);
    border-radius: 50%;
}

.vf-rifa-campaign-prize-visual::before {
    width: 210px;
    height: 210px;
    right: -115px;
    top: -120px;
}

.vf-rifa-campaign-prize-visual::after {
    width: 170px;
    height: 170px;
    left: -100px;
    bottom: -105px;
}

.vf-rifa-campaign-prize-visual svg {
    position: relative;
    z-index: 2;
    width: 58px;
    height: 58px;
    margin-bottom: 13px;
    fill: none;
    stroke: #7faea5;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.vf-rifa-campaign-prize-visual strong {
    position: relative;
    z-index: 2;
    color: #536b66;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.3rem;
    font-style: italic;
    font-weight: 500;
}

.vf-rifa-campaign-prize-visual span {
    position: relative;
    z-index: 2;
    margin-top: 3px;
    color: #788c87;
    font-size: .57rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.vf-rifa-campaign-prize-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 31px 36px;
}

.vf-rifa-campaign-eyebrow {
    margin-bottom: 6px;
    color: #a34f6d;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .17em;
}

.vf-rifa-campaign-prize-copy h3 {
    margin: 0;
    color: #2e3d39;
    font-size: clamp(1.45rem, 2.7vw, 2.15rem);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.vf-rifa-campaign-prize-copy > p {
    max-width: 570px;
    margin: 10px 0 0;
    color: #75817e;
    font-size: .8rem;
    line-height: 1.55;
}

.vf-rifa-campaign-prize-meta {
    display: flex;
    align-items: stretch;
    margin-top: 24px;
    border-top: 1px solid #e3e9e6;
}

.vf-rifa-campaign-prize-meta > div {
    min-width: 120px;
    padding: 12px 22px 0 0;
}

.vf-rifa-campaign-prize-meta > div + div {
    padding-left: 22px;
    border-left: 1px solid #e3e9e6;
}

.vf-rifa-campaign-prize-meta small,
.vf-rifa-campaign-prize-meta strong {
    display: block;
}

.vf-rifa-campaign-prize-meta small {
    color: #929b98;
    font-size: .51rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.vf-rifa-campaign-prize-meta strong {
    margin-top: 4px;
    color: #455651;
    font-size: .72rem;
}

/* ==========================================================
   CARTELA 01 - 40
   ========================================================== */

.vf-rifa-campaign-numbers {
    padding: 28px 30px 30px;
    background: #fffdfa;
}

.vf-rifa-campaign-numbers-title {
    position: relative;
    margin-bottom: 20px;
    text-align: center;
}

.vf-rifa-campaign-numbers-title::before,
.vf-rifa-campaign-numbers-title::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 25%;
    height: 1px;
    background: #dfe8e5;
}

.vf-rifa-campaign-numbers-title::before {
    left: 0;
}

.vf-rifa-campaign-numbers-title::after {
    right: 0;
}

.vf-rifa-campaign-numbers-title span,
.vf-rifa-campaign-numbers-title h3,
.vf-rifa-campaign-numbers-title small {
    position: relative;
    z-index: 2;
    width: max-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 12px;
    padding-right: 12px;
    background: #fffdfa;
}

.vf-rifa-campaign-numbers-title span {
    display: block;
    color: #a34f6d;
    font-size: .61rem;
    font-weight: 800;
    letter-spacing: .16em;
}

.vf-rifa-campaign-numbers-title h3 {
    margin-top: 4px;
    margin-bottom: 3px;
    color: #354944;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.55rem;
    font-weight: 500;
}

.vf-rifa-campaign-numbers-title small {
    display: block;
    color: #929b98;
    font-size: .61rem;
}

.vf-rifa-campaign-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 9px;
    max-width: 800px;
    margin: 0 auto;
}

.vf-rifa-campaign-number {
    min-width: 0;
    height: 56px;
    border: 1px solid #b8d7d1;
    border-radius: 12px;
    background: #f8fcfa;
    color: #506a65;
    font: inherit;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1;
    opacity: 1;
}

.vf-rifa-campaign-number:disabled {
    opacity: 1;
}

/* ==========================================================
   FAIXA DE INFORMAÇÕES
   ========================================================== */

.vf-rifa-campaign-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid #e5ebe8;
    background: #fbf8f4;
}

.vf-rifa-campaign-info > div {
    padding: 14px 18px;
    text-align: center;
}

.vf-rifa-campaign-info > div + div {
    border-left: 1px solid #e5ebe8;
}

.vf-rifa-campaign-info strong,
.vf-rifa-campaign-info span {
    display: block;
}

.vf-rifa-campaign-info strong {
    margin-bottom: 3px;
    color: #a34f6d;
    font-size: .63rem;
    letter-spacing: .08em;
}

.vf-rifa-campaign-info span {
    color: #74807d;
    font-size: .62rem;
}

.vf-rifa-campaign-closed {
    padding: 11px 18px;
    background: #c7e6e0;
    color: #536b66;
    font-size: .63rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-align: center;
}

/* ==========================================================
   REGRAS DA CAMPANHA
   ========================================================== */

.vf-rifa-rules {
    max-width: 980px;
    margin: 0 auto 30px;
    padding: 26px;
    border: 0;
    border-radius: 28px;
    background: #c7e6e0;
    box-shadow: none;
}

.vf-rifa-rules-sheet {
    padding: 30px 34px;
    border-radius: 21px;
    background: #fff9f5;
}

.vf-rifa-rules-head {
    display: block;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    text-align: center;
}

.vf-rifa-rules-kicker {
    display: block;
    margin-bottom: 5px;
    color: #7faea5;
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .18em;
}

.vf-rifa-rules h2 {
    margin: 0;
    color: #7faea5;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.65rem, 3vw, 2.25rem);
    font-style: italic;
    font-weight: 500;
    letter-spacing: -.035em;
}

.vf-rifa-rules-list {
    max-width: 740px;
    margin: 0 auto;
}

.vf-rifa-rules-list > div {
    position: relative;
    display: grid;
    grid-template-columns: 8px 1fr;
    gap: 10px;
    padding: 7px 0;
}

.vf-rifa-rules-list i {
    width: 6px;
    height: 6px;
    margin-top: 7px;
    border-radius: 50%;
    background: #354944;
}

.vf-rifa-rules-list p {
    margin: 0;
    color: #414846;
    font-size: .83rem;
    line-height: 1.52;
}

.vf-rifa-rules-list strong {
    color: #303735;
    font-weight: 800;
}

.vf-rifa-rules-list a {
    color: #a34f6d;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* ==========================================================
   EDIÇÃO REAL ABERTA
   ========================================================== */

.vf-rifa-layout {
    max-width: 980px;
    margin: 34px auto 30px;
    overflow: hidden;
    display: block;
    border: 1px solid rgba(117, 160, 152, .28);
    border-radius: 28px;
    background: #fffdfa;
    box-shadow:
        0 20px 55px rgba(69, 103, 96, .08),
        0 3px 10px rgba(69, 103, 96, .035);
}

.vf-rifa-prize {
    display: grid;
    grid-template-columns: 34% 66%;
    min-height: 250px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-bottom: 1px solid #e5ebe8;
    border-radius: 0;
    background: #fffdfa;
    box-shadow: none;
}

.vf-rifa-prize > img {
    width: 100%;
    height: 100%;
    min-height: 250px;
    object-fit: cover;
    background: #c7e6e0;
}

.vf-rifa-prize > div {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 36px;
}

.vf-rifa-prize h2 {
    margin: 7px 0;
    color: #354944;
    font-size: 1.75rem;
}

.vf-rifa-prize p {
    margin: 0;
    color: #74807d;
}

.vf-rifa-price {
    color: #a34f6d;
}

.vf-rifa-board {
    padding: 28px 30px 30px;
    border: 0;
    border-radius: 0;
    background: #fffdfa;
    box-shadow: none;
}

.vf-rifa-board-head {
    margin-bottom: 19px;
}

.vf-rifa-board-head h2 {
    color: #354944;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.5rem;
    font-weight: 500;
}

.vf-rifa-board-head p {
    color: #7e8986;
    font-size: .66rem;
}

.vf-rifa-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 9px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.vf-rifa-number {
    min-width: 0;
    height: 56px;
    aspect-ratio: auto;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 750;
}

.vf-rifa-number.is-available {
    border-color: #b8d7d1;
    background: #f8fcfa;
    color: #506a65;
}

.vf-rifa-number.is-available:hover {
    border-color: #a34f6d;
    background: #fff5f7;
    color: #a34f6d;
}

.vf-rifa-number.is-selected {
    border-color: #a34f6d;
    background: #f8e9ef;
    color: #a34f6d;
    box-shadow: 0 0 0 1px #a34f6d;
}

.vf-rifa-number.is-reserved,
.vf-rifa-number.is-closed {
    border-color: #e2e8e6;
    background: #f4f6f5;
    color: #adb4b2;
}

.vf-rifa-number.is-paid {
    position: relative;
    overflow: hidden;
    border-color: #9ccbc2;
    background: #c7e6e0;
    color: #536b66;
    cursor: pointer;
}

.vf-rifa-number.is-paid .vf-rifa-number-value {
    opacity: .18;
}

.vf-rifa-number-logo {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: 72%;
    max-width: 54px;
    max-height: 65%;
    object-fit: contain;
    transform: translate(-50%, -50%);
    opacity: .68;
    pointer-events: none;
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 720px) {

    .vf-rifa-campaign,
    .vf-rifa-layout {
        margin-top: 18px;
        border-radius: 20px;
    }

    .vf-rifa-campaign-top {
        grid-template-columns: 1fr;
        padding: 18px 16px;
        gap: 12px;
    }

    .vf-rifa-campaign-logo {
        justify-content: center;
    }

    .vf-rifa-campaign-logo img {
        width: 58px;
        height: 46px;
    }

    .vf-rifa-campaign-title h2 {
        font-size: clamp(2rem, 8vw, 2.7rem);
    }

    .vf-rifa-campaign-price {
        justify-self: center;
        min-width: 106px;
        padding: 8px 10px;
    }

    .vf-rifa-campaign-price strong {
        font-size: 1rem;
    }

    .vf-rifa-campaign-prize,
    .vf-rifa-prize {
        grid-template-columns: 1fr;
    }

    .vf-rifa-campaign-prize-visual {
        min-height: 170px;
    }

    .vf-rifa-campaign-prize-copy,
    .vf-rifa-prize > div {
        padding: 23px 20px;
    }

    .vf-rifa-campaign-prize-meta {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .vf-rifa-campaign-prize-meta > div {
        min-width: 0;
        padding: 10px 8px 0;
        text-align: center;
    }

    .vf-rifa-campaign-prize-meta > div + div {
        padding-left: 8px;
    }

    .vf-rifa-campaign-numbers,
    .vf-rifa-board {
        padding: 23px 15px 25px;
    }

    .vf-rifa-campaign-numbers-title::before,
    .vf-rifa-campaign-numbers-title::after {
        width: 12%;
    }

    .vf-rifa-campaign-grid,
    .vf-rifa-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 7px;
    }

    .vf-rifa-campaign-number,
    .vf-rifa-number {
        height: 50px;
        border-radius: 10px;
        font-size: .88rem;
    }

    .vf-rifa-campaign-info {
        grid-template-columns: 1fr;
    }

    .vf-rifa-campaign-info > div {
        padding: 10px 15px;
    }

    .vf-rifa-campaign-info > div + div {
        border-left: 0;
        border-top: 1px solid #e5ebe8;
    }

    .vf-rifa-rules {
        padding: 14px;
        border-radius: 20px;
    }

    .vf-rifa-rules-sheet {
        padding: 24px 20px;
        border-radius: 16px;
    }

    .vf-rifa-rules-list p {
        font-size: .78rem;
    }
}

@media (max-width: 390px) {

    .vf-rifa-campaign-title span {
        font-size: .6rem;
        letter-spacing: .16em;
    }

    .vf-rifa-campaign-price {
        min-width: 98px;
    }

    .vf-rifa-campaign-price small {
        font-size: .48rem;
    }

    .vf-rifa-campaign-price strong {
        font-size: .92rem;
    }

    .vf-rifa-campaign-grid,
    .vf-rifa-grid {
        gap: 6px;
    }

    .vf-rifa-campaign-number,
    .vf-rifa-number {
        height: 47px;
    }
}

/* VIVA_RIFA_HEADER_WITHOUT_PRICE_V8 */

.vf-rifa-campaign-top {
    grid-template-columns: 110px minmax(0, 1fr) 110px;
}

.vf-rifa-campaign-top::after {
    content: "";
    width: 76px;
    height: 1px;
    justify-self: end;
}

@media (max-width: 720px) {

    .vf-rifa-campaign-top {
        grid-template-columns: 1fr;
    }

    .vf-rifa-campaign-top::after {
        display: none;
    }
}




/* VIVA_RIFA_PIX_PREMIUM_COMPACT_V3_START */

.vf-rifa-pay-page{
  overflow-x:hidden;
}

.vf-rifa-pay-page *,
.vf-rifa-pay-page *::before,
.vf-rifa-pay-page *::after{
  box-sizing:border-box;
}

.vf-rifa-pay-page .vf-footer{
  display:none;
}

.vf-rifa-pay{
  padding:18px 0 20px !important;
  min-height:0 !important;
  overflow-x:hidden;
}

.vf-rifa-pay-shell{
  width:min(100%,760px);
  margin:0 auto;
}

.vf-rifa-back{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 10px;
  padding:4px 2px;
  color:#52615f;
  font-size:.88rem;
  font-weight:650;
  text-decoration:none;
}

.vf-rifa-back svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.vf-rifa-pay-card{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:22px !important;
  border:1px solid rgba(157,190,185,.42) !important;
  border-radius:24px !important;
  background:#fff !important;
  box-shadow:
    0 22px 54px rgba(47,67,65,.08),
    0 2px 7px rgba(47,67,65,.035) !important;
  text-align:left !important;
  overflow:hidden;
}

.vf-rifa-pay-header{
  text-align:center;
  margin-bottom:16px;
}

.vf-rifa-pay-header .vf-rifa-kicker{
  display:block;
  margin:0 0 7px;
  color:#ad5872;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.19em;
}

.vf-rifa-pay-header h1{
  margin:0 !important;
  color:#2f3a39;
  font-size:2rem !important;
  line-height:1.05;
  letter-spacing:-.025em;
}

.vf-rifa-pay-header p{
  margin:8px 0 0;
  color:#667471;
  font-size:.92rem;
}

.vf-rifa-pay-summary{
  display:grid !important;
  grid-template-columns:1.35fr .82fr .9fr !important;
  gap:10px !important;
  margin:0 0 12px !important;
}

.vf-rifa-pay-stat{
  min-width:0;
  min-height:76px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:12px 13px;
  border:1px solid rgba(164,194,190,.40);
  border-radius:16px;
  background:#f8fbfa;
}

.vf-rifa-pay-icon{
  width:36px;
  height:36px;
  flex:0 0 36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#dff0ed;
  color:#527d78;
}

.vf-rifa-pay-icon svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.vf-rifa-pay-stat small{
  display:block;
  margin:0 0 3px !important;
  color:#7a8784 !important;
  font-size:.72rem !important;
  font-weight:600;
}

.vf-rifa-pay-stat strong{
  display:block;
  min-width:0;
  margin:0 !important;
  color:#283533;
  font-size:.96rem;
  line-height:1.35;
  overflow-wrap:anywhere;
}

.vf-rifa-pay-stat--numbers strong{
  font-size:.85rem;
}

#vf-rifa-countdown{
  color:#a54e6b;
  font-size:1.12rem;
  letter-spacing:.035em;
}

.vf-rifa-payment-box{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  gap:12px;
}

.vf-rifa-qr-column,
.vf-rifa-copy-column{
  min-width:0;
  padding:14px;
  border:1px solid rgba(164,194,190,.40);
  border-radius:18px;
  background:#fcfdfd;
}

.vf-rifa-qr-column,
.vf-rifa-copy-column{
  display:flex;
  flex-direction:column;
}

.vf-rifa-panel-heading{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:11px;
}

.vf-rifa-panel-icon{
  width:31px;
  height:31px;
  flex:0 0 31px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e1f0ee;
  color:#557f79;
}

.vf-rifa-panel-icon svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.55;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.vf-rifa-panel-heading strong{
  display:block;
  color:#2f3c3a;
  font-size:.88rem;
}

.vf-rifa-panel-heading small{
  display:block;
  margin-top:2px;
  color:#87918f;
  font-size:.67rem;
}

.vf-rifa-qr-frame{
  width:184px;
  height:184px;
  margin:0 auto;
  padding:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(165,192,188,.42);
  border-radius:16px;
  background:#fff;
}

.vf-rifa-qr{
  width:164px !important;
  max-width:164px !important;
  height:164px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:6px !important;
  box-shadow:none !important;
  object-fit:contain;
}

.vf-rifa-copy{
  display:block !important;
  margin:0 !important;
}

.vf-rifa-copy > span{
  display:block;
  margin-bottom:5px;
  color:#697875;
  font-size:.72rem;
}

.vf-rifa-copy textarea{
  display:block;
  width:100% !important;
  height:74px;
  min-height:74px !important;
  margin:0 !important;
  padding:9px 10px !important;
  resize:none;
  overflow:auto;
  border:1px solid rgba(165,192,188,.46) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#344240;
  font:10px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace !important;
}

.vf-rifa-copy-button{
  width:100%;
  min-height:40px;
  margin-top:9px;
  border-radius:999px !important;
  font-size:.77rem !important;
  letter-spacing:.08em;
}

.vf-rifa-payment-status{
  min-height:34px;
  margin-top:auto;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:11px;
  background:#f7faf9;
  color:#72807d;
  font-size:.73rem;
  text-align:center;
}

.vf-rifa-payment-status > span{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#d2a452;
  box-shadow:0 0 0 4px rgba(210,164,82,.13);
}

.vf-rifa-pay-actions{
  display:flex;
  justify-content:center;
}

.vf-rifa-pay-card .vf-primary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

@media(max-width:760px){

  .vf-rifa-pay{
    padding:12px 0 16px !important;
  }

  .vf-rifa-pay-card{
    padding:17px !important;
    border-radius:20px !important;
  }

  .vf-rifa-pay-header h1{
    font-size:1.72rem !important;
  }

  .vf-rifa-pay-summary{
    grid-template-columns:1fr !important;
  }

  .vf-rifa-pay-stat{
    min-height:0;
  }

  .vf-rifa-payment-box{
    grid-template-columns:1fr;
  }

}

@media(max-width:420px){

  .vf-rifa-pay-card{
    padding:14px !important;
  }

}

/* VIVA_RIFA_PIX_PREMIUM_COMPACT_V3_END */

/* VIVA_RIFA_PIX_MOBILE_COMPACT_V4_START */

@media (max-width: 640px) {

  .vf-rifa-pay-page .vf-rifa-pay {
    padding: 8px 0 12px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-shell {
    width: 100% !important;
  }

  .vf-rifa-pay-page .vf-rifa-back {
    margin: 0 0 6px !important;
    padding: 2px 0 !important;
    font-size: .80rem !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-card {
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-header {
    margin-bottom: 10px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-header .vf-rifa-kicker {
    margin-bottom: 4px !important;
    font-size: .56rem !important;
    letter-spacing: .16em !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-header h1 {
    margin: 0 !important;
    font-size: 1.45rem !important;
    line-height: 1.08 !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-header p {
    margin: 5px 0 0 !important;
    font-size: .78rem !important;
    line-height: 1.35 !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-summary {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 8px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-stat {
    min-height: 58px !important;
    gap: 8px !important;
    padding: 8px 9px !important;
    border-radius: 13px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-stat--numbers {
    grid-column: 1 / -1;
  }

  .vf-rifa-pay-page .vf-rifa-pay-icon {
    width: 30px !important;
    height: 30px !important;
    flex: 0 0 30px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-icon svg {
    width: 15px !important;
    height: 15px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-stat small {
    margin-bottom: 2px !important;
    font-size: .63rem !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-stat strong {
    font-size: .84rem !important;
    line-height: 1.2 !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-stat--numbers strong {
    font-size: .80rem !important;
  }

  .vf-rifa-pay-page #vf-rifa-countdown {
    font-size: .98rem !important;
  }

  .vf-rifa-pay-page .vf-rifa-payment-box {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .vf-rifa-pay-page .vf-rifa-qr-column,
  .vf-rifa-pay-page .vf-rifa-copy-column {
    padding: 10px !important;
    border-radius: 14px !important;
  }

  .vf-rifa-pay-page .vf-rifa-panel-heading {
    gap: 7px !important;
    margin-bottom: 8px !important;
  }

  .vf-rifa-pay-page .vf-rifa-panel-icon {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 28px !important;
  }

  .vf-rifa-pay-page .vf-rifa-panel-icon svg {
    width: 14px !important;
    height: 14px !important;
  }

  .vf-rifa-pay-page .vf-rifa-panel-heading strong {
    font-size: .80rem !important;
  }

  .vf-rifa-pay-page .vf-rifa-panel-heading small {
    font-size: .61rem !important;
  }

  .vf-rifa-pay-page .vf-rifa-qr-frame {
    width: 148px !important;
    height: 148px !important;
    padding: 6px !important;
    border-radius: 14px !important;
  }

  .vf-rifa-pay-page .vf-rifa-qr {
    width: 134px !important;
    max-width: 134px !important;
    height: 134px !important;
  }

  .vf-rifa-pay-page .vf-rifa-copy textarea {
    height: 58px !important;
    min-height: 58px !important;
    padding: 7px 8px !important;
    border-radius: 10px !important;
    font-size: 9px !important;
    line-height: 1.25 !important;
  }

  .vf-rifa-pay-page .vf-rifa-copy-button {
    min-height: 38px !important;
    margin-top: 7px !important;
    font-size: .72rem !important;
  }

  .vf-rifa-pay-page .vf-rifa-payment-status {
    min-height: 30px !important;
    margin-top: 7px !important;
    padding: 6px 8px !important;
    border-radius: 9px !important;
    font-size: .65rem !important;
  }

}


@media (max-width: 380px) {

  .vf-rifa-pay-page .vf-rifa-pay-card {
    padding: 10px !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-header h1 {
    font-size: 1.36rem !important;
  }

  .vf-rifa-pay-page .vf-rifa-pay-stat {
    padding: 7px 8px !important;
  }

  .vf-rifa-pay-page .vf-rifa-qr-frame {
    width: 140px !important;
    height: 140px !important;
  }

  .vf-rifa-pay-page .vf-rifa-qr {
    width: 128px !important;
    max-width: 128px !important;
    height: 128px !important;
  }

}

/* VIVA_RIFA_PIX_MOBILE_COMPACT_V4_END */
