/* ==========================================================================
   Pbuy Affiliate 落地页样式 (品牌色 #D72850)
   ========================================================================== */

.afl-page{
    color:#303133;
    background:#f7f7f9;
}
.afl-wrap{
    max-width:1080px;
    margin:0 auto;
    padding:0 20px;
}
.afl-wrap.narrow{
    max-width:860px;
}

/* ---------- Hero ---------- */
.afl-hero{
    background:linear-gradient(135deg,#D72850 0%,#a3173c 70%,#7d0f2c 100%);
    color:#fff;
    padding:64px 0 56px;
}
.afl-hero-tag{
    display:inline-block;
    font-size:13px;
    letter-spacing:.5px;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.35);
    border-radius:999px;
    padding:6px 16px;
    margin-bottom:22px;
}
.afl-hero-tag .fa{ margin-right:6px; }
.afl-hero-title{
    font-size:38px;
    line-height:1.25;
    font-weight:700;
    margin:0 0 16px;
}
.afl-hero-sub{
    font-size:15px;
    line-height:1.8;
    opacity:.92;
    max-width:640px;
    margin:0 0 28px;
}
.afl-hero-cta{
    display:flex;
    gap:14px;
    margin-bottom:40px;
}
.afl-btn{
    display:inline-block;
    padding:12px 30px;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    text-decoration:none;
    transition:all .2s ease;
    border:1px solid transparent;
    cursor:pointer;
}
.afl-btn.primary{
    background:#fff;
    color:#D72850;
}
.afl-btn.primary:hover{
    background:#ffeef2;
    transform:translateY(-1px);
}
.afl-btn.ghost{
    background:transparent;
    color:#fff;
    border-color:rgba(255,255,255,.6);
}
.afl-btn.ghost:hover{
    background:rgba(255,255,255,.12);
}
.afl-btn.light{
    background:#fff;
    color:#D72850;
    padding:13px 40px;
}
.afl-btn.light:hover{
    background:#ffeef2;
    transform:translateY(-1px);
}
.afl-hero-stats{
    display:flex;
    gap:56px;
    flex-wrap:wrap;
    border-top:1px solid rgba(255,255,255,.25);
    padding-top:28px;
}
.afl-hero-stat-num{
    font-size:26px;
    font-weight:700;
}
.afl-hero-stat-label{
    font-size:12px;
    opacity:.85;
    margin-top:4px;
}

/* ---------- Sections ---------- */
.afl-section{
    padding:56px 0;
}
.afl-section.alt{
    background:#fff;
}
.afl-sec-title{
    font-size:26px;
    font-weight:700;
    text-align:center;
    margin:0 0 10px;
}
.afl-sec-sub{
    text-align:center;
    color:#606266;
    font-size:14px;
    margin:0 0 30px;
}
.afl-section > .afl-wrap > .afl-sec-title{
    margin-bottom:30px;
}
.afl-section.alt > .afl-wrap > .afl-sec-title{
    margin-bottom:10px;
}

/* ---------- How it works ---------- */
.afl-steps{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.afl-step{
    background:#fff;
    border-radius:12px;
    padding:26px 20px;
    box-shadow:0 1px 4px rgba(0,0,0,.05);
    text-align:center;
    transition:transform .2s ease,box-shadow .2s ease;
}
.afl-step:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 18px rgba(215,40,80,.12);
}
.afl-step-icon{
    width:54px;
    height:54px;
    border-radius:50%;
    background:#ffeef2;
    color:#D72850;
    font-size:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 14px;
}
.afl-step-num{
    font-size:12px;
    font-weight:600;
    color:#D72850;
    letter-spacing:.5px;
    margin-bottom:6px;
}
.afl-step-title{
    font-size:16px;
    font-weight:600;
    margin-bottom:8px;
}
.afl-step-desc{
    font-size:13px;
    color:#606266;
    line-height:1.7;
}

/* ---------- Level table ---------- */
.afl-level-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 1px 4px rgba(0,0,0,.06);
}
.afl-level-table th{
    background:#fdf2f4;
    color:#a3173c;
    font-size:13px;
    font-weight:600;
    padding:14px 18px;
    text-align:center;
    border-bottom:1px solid #f3d7dd;
}
.afl-level-table td{
    padding:14px 18px;
    text-align:center;
    font-size:14px;
    border-bottom:1px solid #f5f5f7;
}
.afl-level-table tr:last-child td{ border-bottom:none; }
.afl-level-table tr:hover td{ background:#fdf7f8; }
.afl-level-badge{
    display:inline-block;
    padding:3px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    color:#fff;
    background:#909399;
}
.afl-level-badge.lv-1{ background:#b8bcc4; }
.afl-level-badge.lv-2{ background:#8fb7d8; }
.afl-level-badge.lv-3{ background:#e0a23c; }
.afl-level-badge.lv-4{ background:#e0703c; }
.afl-level-badge.lv-5{ background:#D72850; }
.afl-rate{
    font-weight:700;
    color:#D72850;
    font-size:15px;
}
.afl-note{
    margin:14px 0 0;
    font-size:12px;
    color:#909399;
    line-height:1.7;
    text-align:center;
}
.afl-note .fa{ margin-right:4px; }

/* ---------- Earning rules ---------- */
.afl-rule-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.afl-rule-card{
    background:#fff;
    border-radius:12px;
    padding:24px 20px;
    box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.afl-rule-icon{
    width:46px;
    height:46px;
    border-radius:10px;
    background:#ffeef2;
    color:#D72850;
    font-size:19px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
}
.afl-rule-title{
    font-size:15px;
    font-weight:600;
    margin-bottom:8px;
}
.afl-rule-desc{
    font-size:13px;
    color:#606266;
    line-height:1.7;
}
.afl-rule-desc strong{ color:#D72850; }

/* ---------- Withdrawal + Example ---------- */
.afl-duo{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.afl-card{
    background:#fdf7f8;
    border:1px solid #f3dde2;
    border-radius:12px;
    padding:26px 28px;
}
.afl-card-title{
    font-size:17px;
    font-weight:600;
    margin:0 0 16px;
}
.afl-card-title .fa{
    color:#D72850;
    margin-right:8px;
}
.afl-point-list{
    margin:0;
    padding:0;
    list-style:none;
}
.afl-point-list li{
    position:relative;
    padding:7px 0 7px 22px;
    font-size:14px;
    line-height:1.6;
    color:#303133;
}
.afl-point-list li:before{
    content:"\f00c";
    font-family:"FontAwesome";
    position:absolute;
    left:0;
    top:8px;
    color:#D72850;
    font-size:12px;
}
.afl-example-text{
    font-size:14px;
    line-height:1.8;
    color:#303133;
    margin:0 0 12px;
}
.afl-example-calc{
    background:#fff;
    border:1px dashed #e5b6c1;
    border-radius:8px;
    padding:12px 16px;
    font-size:14px;
    margin-bottom:12px;
}
.afl-example-result{ color:#D72850; }

/* ---------- FAQ ---------- */
.afl-faq{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.afl-faq-item{
    background:#fff;
    border-radius:10px;
    box-shadow:0 1px 4px rgba(0,0,0,.05);
    padding:0 20px;
}
.afl-faq-item summary{
    cursor:pointer;
    font-size:14px;
    font-weight:600;
    padding:16px 0;
    list-style:none;
    position:relative;
    padding-right:28px;
}
.afl-faq-item summary::-webkit-details-marker{ display:none; }
.afl-faq-item summary:after{
    content:"\f107";
    font-family:"FontAwesome";
    position:absolute;
    right:2px;
    top:50%;
    transform:translateY(-50%);
    color:#909399;
    transition:transform .2s ease;
}
.afl-faq-item[open] summary:after{
    transform:translateY(-50%) rotate(180deg);
}
.afl-faq-body{
    font-size:13px;
    color:#606266;
    line-height:1.8;
    padding:0 0 16px;
    border-top:1px dashed #eee;
    padding-top:12px;
}

/* ---------- Bottom CTA ---------- */
.afl-bottom-cta{
    background:linear-gradient(135deg,#D72850 0%,#a3173c 100%);
    color:#fff;
    text-align:center;
    padding:56px 0;
}
.afl-bottom-title{
    font-size:28px;
    font-weight:700;
    margin:0 0 10px;
}
.afl-bottom-sub{
    font-size:14px;
    opacity:.9;
    margin:0 0 26px;
}

/* ---------- Responsive ---------- */
@media screen and (max-width:900px){
    .afl-steps,
    .afl-rule-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .afl-duo{ grid-template-columns:1fr; }
    .afl-hero-title{ font-size:30px; }
    .afl-hero-stats{ gap:32px; }
}
@media screen and (max-width:560px){
    .afl-steps,
    .afl-rule-grid{
        grid-template-columns:1fr;
    }
    .afl-hero{ padding:44px 0 40px; }
    .afl-hero-title{ font-size:24px; }
    .afl-hero-cta{ flex-direction:column; align-items:flex-start; }
    .afl-section{ padding:40px 0; }
    .afl-level-table th,
    .afl-level-table td{ padding:11px 10px; }
}
