.rifam-app{
    --rifam-primary:#00796b;
    --rifam-accent:#ff6b00;
    --rifam-soft:#fff4e8;
    --rifam-ink:#17322f;
    --rifam-muted:#61706d;
    max-width:1080px;
    margin:32px auto;
    padding:0 16px;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--rifam-ink)
}
.rifam-app *{box-sizing:border-box}
.rifam-hero{
    display:grid;
    grid-template-columns:1.5fr .7fr;
    gap:28px;
    align-items:center;
    padding:36px;
    border-radius:28px;
    background:linear-gradient(135deg,#e8fbf7,#fff4e8);
    box-shadow:0 18px 55px rgba(23,50,47,.08);
    margin-bottom:22px
}
.rifam-badge{
    display:inline-flex;
    padding:8px 13px;
    border-radius:999px;
    background:#fff;
    color:var(--rifam-primary);
    font-weight:800;
    font-size:13px
}
.rifam-hero h1{
    font-size:clamp(32px,6vw,58px);
    line-height:1.02;
    margin:16px 0 10px
}
.rifam-subtitle{font-size:19px;color:var(--rifam-muted);margin:0 0 24px}
.rifam-hero__image img{
    width:100%;
    max-height:330px;
    object-fit:cover;
    border-radius:22px;
    display:block
}
.rifam-highlight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rifam-highlight-grid>div{
    padding:16px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(0,121,107,.12);
    border-radius:16px
}
.rifam-highlight-grid span{
    display:block;
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--rifam-muted);
    font-weight:800
}
.rifam-highlight-grid strong{display:block;margin-top:5px;font-size:16px}
.rifam-card,.rifam-notice,.rifam-result{
    background:#fff;
    border:1px solid #dce8e6;
    border-radius:24px;
    padding:28px;
    box-shadow:0 12px 40px rgba(23,50,47,.06);
    margin-top:20px
}
.rifam-section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}
.rifam-section-heading>span{
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:13px;
    background:var(--rifam-primary);
    color:#fff;
    font-weight:900;
    flex:0 0 auto
}
.rifam-section-heading h2{margin:0 0 5px;font-size:26px}
.rifam-section-heading p{margin:0;color:var(--rifam-muted)}
.rifam-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rifam-form label>span{display:block;font-weight:800;margin-bottom:7px}
.rifam-form input[type=text],.rifam-form input[type=tel],.rifam-form select{
    width:100%;
    height:50px;
    border:1px solid #c8d7d4;
    border-radius:13px;
    padding:0 14px;
    font-size:16px;
    background:#fff
}
.rifam-form input:focus,.rifam-form select:focus{
    outline:3px solid rgba(0,121,107,.14);
    border-color:var(--rifam-primary)
}
.rifam-total{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 18px;
    background:var(--rifam-soft);
    border-radius:14px;
    font-size:17px
}
.rifam-total strong{font-size:24px;color:var(--rifam-accent)}
.rifam-consent{
    grid-column:1/-1;
    display:flex!important;
    gap:10px;
    align-items:flex-start;
    font-weight:500!important;
    color:var(--rifam-muted)
}
.rifam-consent>span{font-weight:500!important;margin:0!important}
.rifam-consent input{margin-top:4px}
.rifam-consent a{color:var(--rifam-primary);font-weight:800}
.rifam-primary-button,.rifam-secondary-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:14px;
    padding:15px 20px;
    font-weight:900;
    text-decoration:none;
    cursor:pointer;
    font-size:16px
}
.rifam-primary-button{grid-column:1/-1;background:var(--rifam-accent);color:#fff}
.rifam-secondary-button{background:var(--rifam-primary);color:#fff}
.rifam-helper{margin:18px 0 0;color:var(--rifam-muted);text-align:center}
.rifam-alert{
    padding:13px 15px;
    background:#fff2f0;
    border:1px solid #f3c3bd;
    border-radius:12px;
    color:#8a2117;
    margin-bottom:18px
}
.rifam-notice--closed{text-align:center}
.rifam-summary-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}
.rifam-summary-list>div{padding:14px;background:#f7fbfa;border-radius:13px}
.rifam-summary-list dt{
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--rifam-muted);
    font-weight:800
}
.rifam-summary-list dd{margin:5px 0 0;font-weight:800}
.rifam-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:13px}
.rifam-status--pending{background:#fff4d6;color:#785600}
.rifam-status--paid{background:#dff7ed;color:#126445}
.rifam-status--cancelled{background:#f5e4e4;color:#872a2a}
.rifam-payment-box,.rifam-success-box{
    margin-top:22px;
    padding:22px;
    border-radius:18px;
    background:#f7fbfa;
    text-align:center
}
.rifam-payment-box h3,.rifam-success-box h3{margin-top:0}
.rifam-qr{width:220px;max-width:100%;border-radius:16px;margin:12px auto;display:block}
.rifam-copy-row{display:flex;gap:10px;max-width:620px;margin:14px auto}
.rifam-copy-row code{
    flex:1;
    display:block;
    padding:13px;
    background:#fff;
    border:1px dashed #9bb9b4;
    border-radius:12px;
    word-break:break-all;
    text-align:left
}
.rifam-copy-row button{
    border:0;
    background:#17322f;
    color:#fff;
    border-radius:12px;
    padding:0 16px;
    font-weight:800;
    cursor:pointer
}
.rifam-payment-meta{color:var(--rifam-muted)}
.rifam-success-box{background:#e6f8f1}
.rifam-result{
    text-align:center;
    background:linear-gradient(135deg,#17322f,var(--rifam-primary));
    color:#fff
}
.rifam-result span{
    display:block;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:900;
    font-size:12px;
    opacity:.8
}
.rifam-result strong{display:block;font-size:clamp(34px,7vw,72px);line-height:1;margin:12px 0}
.rifam-result p{font-size:18px}
.rifam-result--waiting strong{font-size:24px}
.rifam-video{
    margin-top:22px;
    position:relative;
    padding-bottom:56.25%;
    height:0;
    overflow:hidden;
    border-radius:16px
}
.rifam-video iframe{position:absolute;inset:0;width:100%;height:100%}
.rifam-privacy{margin:18px 0;text-align:center;color:var(--rifam-muted);font-size:13px}
.rifam-honeypot{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important
}
.rifam-test-banner{
    display:flex;
    gap:10px;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    margin:0 0 18px;
    padding:13px 16px;
    border:2px dashed #b45309;
    border-radius:14px;
    background:#fff7ed;
    color:#7c2d12;
    text-align:center
}
.rifam-test-banner strong{letter-spacing:.06em}
.rifam-app--test .rifam-payment-box .rifam-qr,
.rifam-app--test .rifam-payment-box .rifam-copy-row,
.rifam-app--test .rifam-payment-box .rifam-payment-meta,
.rifam-app--test .rifam-payment-box .rifam-secondary-button{display:none!important}
.rifam-regulation{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:20px 22px;
    margin:20px 0;
    background:#fff;
    border:1px solid #dce8e6;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(23,50,47,.05)
}
.rifam-regulation strong{display:block;font-size:18px;margin-bottom:3px}
.rifam-regulation span{display:block;color:var(--rifam-muted)}
.rifam-winners-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:14px;
    margin-top:18px
}
.rifam-winner-card{
    padding:20px 14px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:18px;
    background:rgba(255,255,255,.1)
}
.rifam-winner-card span{font-size:12px;opacity:.86}
.rifam-winner-card strong{font-size:clamp(34px,5vw,56px);margin:10px 0 8px}
.rifam-winner-card p{font-size:15px;margin:0}
.rifam-result-note{margin:18px 0 0!important;font-size:14px!important;opacity:.82}
.rifam-prize-description{font-size:15px!important;font-weight:800;margin:7px 0 0!important;opacity:.95}
@media(max-width:760px){
    .rifam-hero{grid-template-columns:1fr;padding:24px}
    .rifam-highlight-grid{grid-template-columns:1fr}
    .rifam-form{grid-template-columns:1fr}
    .rifam-consent,.rifam-primary-button{grid-column:auto}
    .rifam-summary-list{grid-template-columns:1fr}
    .rifam-copy-row{flex-direction:column}
    .rifam-copy-row button{padding:13px}
}
@media(max-width:620px){
    .rifam-regulation{align-items:stretch;flex-direction:column}
    .rifam-regulation .rifam-secondary-button{width:100%}
}
