/* 2号 UI 移植层：只覆盖颜色/布局外观，不改 1 号业务结构 */
:root{
    --ez-primary:#ff5f7e;
    --ez-primary-dark:#e94769;
    --ez-secondary:#806cff;
    --ez-gradient:linear-gradient(135deg,#ff7190 0%,#ff5f7e 45%,#806cff 100%);
    --ez-background:#f7f7fa;
    --pink:#ff5f7e;
    --pink2:#ff91a7;
    --gold:#806cff;
    --rose:#fff1f4;
    --rose2:#f7f6fb;
    --text:#1f2430;
    --muted:#8b8f9c;
    --card:#ffffff;
    --line:#ececf2;
    --line2:#ffd4dd;
}

body{
    color:var(--text);
    background:
        radial-gradient(circle at 8% 2%, rgba(255,116,153,.15), transparent 28%),
        radial-gradient(circle at 92% 18%, rgba(130,100,255,.12), transparent 28%),
        linear-gradient(180deg,#fff8fb 0,#f7f6fb 360px,#f5f6fa 100%) !important;
}

body.page-login,
body.page-register{
    padding:18px 14px 12px;
}

body.page-login .app-shell,
body.page-register .app-shell,
body.page-login .app,
body.page-register .app{
    max-width:470px;
    background:transparent;
    box-shadow:none;
    padding:0;
}

body.page-login .auth-brand.old-hidden,
body.page-register .top{display:none;}

.ez-auth-shell{width:100%;max-width:470px;margin:0 auto;display:flex;flex-direction:column;}
.ez-auth-card{
    position:relative;z-index:2;padding:25px 22px 24px;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(246,205,216,.92);
    border-radius:30px;
    box-shadow:0 22px 58px rgba(125,65,94,.13);
}
.ez-brand-heart{width:48px;height:48px;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(145deg,#ff547d,#ff7d83 55%,#8b6cff);border:3px solid rgba(255,255,255,.9);border-radius:17px;box-shadow:0 12px 26px rgba(255,82,125,.25);font-size:22px;transform:rotate(-3deg);}
.ez-auth-title{margin:0;text-align:center;background:linear-gradient(135deg,#be3f67 5%,#ef6a7f 48%,#8b65d9 100%);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;font-family:Georgia,"Microsoft JhengHei",serif;font-size:34px;font-weight:900;letter-spacing:7px;}
.ez-love-divider{width:115px;height:15px;margin:8px auto 6px;display:flex;align-items:center;gap:8px;color:#ff6a8a;font-size:12px;}
.ez-love-divider::before,.ez-love-divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,#f1b2c1);}
.ez-love-divider::after{background:linear-gradient(90deg,#f1b2c1,transparent);}
.ez-auth-sub{margin:0;text-align:center;color:#9a8792;font-size:13px;line-height:1.65;}
.ez-auth-sub strong{display:block;color:#765c6a;font-size:15px;font-weight:800;letter-spacing:1px;}
.ez-auth-tabs{height:62px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:20px 0 21px;border:1px solid #ffd2dc;border-radius:21px;background:#fff;}
.ez-auth-tab{display:flex;align-items:center;justify-content:center;gap:7px;color:#827a80;border-radius:17px;text-decoration:none;font-size:18px;font-weight:800;}
.ez-auth-tab.active{color:#fff;background:linear-gradient(135deg,#ff4778,#ff747b);box-shadow:0 10px 22px rgba(255,79,119,.23);}
.ez-auth-field{margin-bottom:14px;}
.ez-auth-field input{width:100%;height:57px;padding:0 18px;color:#24212a;background:#fff;border:1px solid #ffd5df;border-radius:19px;outline:none;font-size:16px;font-weight:600;}
.ez-auth-field input:focus{border-color:#ff7898;box-shadow:0 0 0 4px rgba(255,95,126,.09);}
.ez-auth-submit,.ez-line-login{width:100%;height:58px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:19px;color:#fff;text-decoration:none;font-size:18px;font-weight:900;cursor:pointer;}
.ez-auth-submit{margin-top:2px;background:linear-gradient(135deg,#ea7092,#f6a170);box-shadow:0 13px 25px rgba(238,119,139,.2);}
.ez-line-login{margin-top:12px;background:#06c755;box-shadow:0 13px 24px rgba(6,199,85,.18);}
.ez-romance-art{position:relative;width:100%;height:292px;min-height:292px;margin:10px 0 0;display:grid;grid-template-rows:36px 228px 28px;justify-items:center;text-align:center;}
.ez-romance-kicker{color:#d64f75;font-family:Georgia,"Microsoft JhengHei",serif;font-size:14px;font-weight:900;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;}
.ez-romance-kicker::before,.ez-romance-kicker::after{content:"";width:38px;height:1px;margin:0 9px;background:linear-gradient(90deg,transparent,#ff6d91);}
.ez-romance-kicker::after{background:linear-gradient(90deg,#ff6d91,transparent);}
.ez-cupid-pair{position:relative;left:50%;width:160%;max-width:none;height:228px;transform:translateX(-50%);object-fit:contain;filter:drop-shadow(0 9px 13px rgba(162,85,112,.12));}
.ez-romance-note{margin:0;color:#a98794;font-size:10px;}

/* 首页 */
body.page-home .love-intro{
    background:linear-gradient(135deg,#fff,#fff6f9);
    border:1px solid rgba(255,212,221,.9);
    box-shadow:0 12px 32px rgba(31,36,48,.07);
}
body.page-home .girl-section-title{
    background:linear-gradient(135deg,#be3f67,#8b65d9);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
body.page-home .girl-card-new{
    border:1px solid rgba(236,236,242,.9);
    box-shadow:0 12px 32px rgba(31,36,48,.08);
}
body.page-home .girl-like-new{
    background:var(--ez-gradient)!important;
    box-shadow:0 12px 25px rgba(255,95,126,.25)!important;
    border:0!important;
    color:#fff!important;
}
body.page-home .girl-detail-new{
    color:#e94769!important;
    background:#fff3f6!important;
    border:1px solid #ffd4dd!important;
}

/* 反馈页 */
.feedback-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;}
.feedback-stat{padding:14px 10px;border-radius:18px;background:#fff;border:1px solid rgba(236,236,242,.9);box-shadow:0 8px 22px rgba(31,36,48,.06);text-align:center;}
.feedback-stat span{display:block;color:#8b8f9c;font-size:12px;font-weight:700;}
.feedback-stat b{display:block;margin-top:6px;background:var(--ez-gradient);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:20px;}
.live-notice{margin:0 0 14px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,#fff1f4,#f3f0ff);color:#e94769;font-weight:800;font-size:13px;}
.feed-item{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-bottom:1px solid #f2f2f6;}
.feed-avatar{width:40px;height:40px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff1f4,#f3f0ff);}

/* 打赏页 */
.gift-center-card{border-radius:24px!important;border:1px solid rgba(236,236,242,.9)!important;box-shadow:0 12px 32px rgba(31,36,48,.08)!important;}
.gift-center-title{background:var(--ez-gradient);-webkit-background-clip:text;background-clip:text;color:transparent!important;}
.gift-item{border:1px solid #ffd4dd!important;background:#fff8fa!important;border-radius:20px!important;}
.gift-item.active{border-color:#ff5f7e!important;background:linear-gradient(180deg,#fff1f4,#fff)!important;box-shadow:0 10px 22px rgba(255,95,126,.16)!important;}
.gift-item img{width:54px;height:54px;object-fit:contain;margin-bottom:6px;}
.gift-submit{background:var(--ez-gradient)!important;box-shadow:0 12px 25px rgba(255,95,126,.25)!important;border:0!important;color:#fff!important;border-radius:16px!important;}
.gift-balance-box{background:linear-gradient(135deg,#fff1f4,#f3f0ff)!important;color:#5b5160!important;}
.gift-record-link{color:#e94769!important;}

/* 底部导航：保留 1 号 4 个入口，套 2 号外观 */
.nav{
    left:50%;
    bottom:0;
    width:100%;
    max-width:520px;
    min-height:74px;
    padding:6px 7px calc(6px + env(safe-area-inset-bottom));
    display:flex;
    align-items:center;
    justify-content:space-around;
    gap:0;
    border:1px solid rgba(236,236,242,.9);
    border-radius:0;
    background:rgba(255,255,255,.94);
    box-shadow:0 -8px 30px rgba(31,36,48,.1);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.nav a{
    position:relative;
    flex:1;
    min-height:58px;
    gap:4px;
    color:#9a9da8;
    border-radius:16px;
    font-size:12px;
    font-weight:700;
}
.nav a.on{
    color:#e94769;
    background:linear-gradient(180deg,rgba(255,95,126,.11),rgba(255,95,126,.04));
    box-shadow:none;
}
.nav a.on::before{
    content:"";
    position:absolute;
    top:2px;left:50%;
    width:20px;height:3px;
    background:var(--ez-gradient);
    border-radius:10px;
    transform:translateX(-50%);
}
.nav a span{font-size:21px;}
.nav a em{font-weight:700;font-size:12px;}
@media(min-width:521px){
    .nav{bottom:12px;border-radius:22px;box-shadow:0 12px 40px rgba(31,36,48,.16);}
}

/* ========== 我的页面 ========== */
body.page-mine{
    background:
        linear-gradient(180deg,#fff6f9 0,#f7f7fa 340px) !important;
}
body.page-mine .profile-card{
    position:relative;
    overflow:hidden;
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,244,248,.98)) !important;
    border:1px solid rgba(255,214,224,.8) !important;
    border-radius:24px !important;
    box-shadow:0 12px 32px rgba(31,36,48,.09) !important;
}
body.page-mine .profile-card::after{
    content:"";
    position:absolute;
    left:0;bottom:0;width:100%;height:4px;
    background:var(--ez-gradient);
}
body.page-mine .profile-avatar{
    color:#fff !important;
    background:var(--ez-gradient) !important;
    border:4px solid #fff !important;
    box-shadow:0 12px 25px rgba(255,95,126,.25) !important;
}
body.page-mine .profile-info h2,
body.page-mine .profile-info-safe h2{
    color:#1f2430 !important;
}
body.page-mine .profile-info-safe > div,
body.page-mine .profile-info-safe a{
    color:#8b8f9c !important;
}
body.page-mine .profile-top-btn.hotel{
    color:#fff !important;
    background:var(--ez-gradient) !important;
    border:0 !important;
    box-shadow:0 8px 18px rgba(255,95,126,.22) !important;
}
body.page-mine .profile-top-btn.safety.ok{
    color:#168454 !important;
    background:#eaf8f1 !important;
    border:1px solid #c8ecd9 !important;
}
body.page-mine .profile-top-btn.safety.no{
    color:#e94769 !important;
    background:#fff0f4 !important;
    border:1px solid #ffd4dd !important;
}
body.page-mine .profile-balance{
    background:linear-gradient(135deg,#fff1f4,#f3f0ff) !important;
    border:1px solid rgba(255,214,224,.85) !important;
}
body.page-mine .profile-balance span{color:#8b8f9c !important;}
body.page-mine .profile-balance b{
    background:var(--ez-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent !important;
}
body.page-mine .glass-menu-card{
    background:#fff !important;
    border:1px solid rgba(236,236,242,.9) !important;
    border-radius:22px !important;
    box-shadow:0 12px 32px rgba(31,36,48,.07) !important;
}
body.page-mine .menu-row,
body.page-mine .menu-link{
    color:#1f2430 !important;
    border-bottom:1px solid #f2f2f6 !important;
}
body.page-mine .menu-row b,
body.page-mine .menu-link b{
    color:#e94769 !important;
    font-weight:700 !important;
}
body.page-mine .logout-btn{
    color:#fff !important;
    background:var(--ez-gradient) !important;
    border:0 !important;
    box-shadow:0 12px 25px rgba(255,95,126,.25) !important;
}

/* 我的相关子页同色，避免跳色 */
body.page-withdraw .card,
body.page-withdraw_records .card,
body.page-bankcards .card,
body.page-records .card,
body.page-hotel_apply .card,
body.page-safety_register .card{
    background:#fff !important;
    border:1px solid rgba(236,236,242,.9) !important;
    border-radius:22px !important;
    box-shadow:0 12px 32px rgba(31,36,48,.08) !important;
}
body.page-withdraw button,
body.page-bankcards button,
body.page-hotel_apply button,
body.page-safety_register button,
body.page-withdraw .btn,
body.page-bankcards .btn{
    background:var(--ez-gradient) !important;
    color:#fff !important;
    border:0 !important;
    box-shadow:0 12px 25px rgba(255,95,126,.22) !important;
}

/* ========== 详情页 ========== */
body.page-detail{
    background:
        radial-gradient(circle at 8% 5%, rgba(255,95,126,.1), transparent 25%),
        radial-gradient(circle at 92% 16%, rgba(128,108,255,.09), transparent 25%),
        #f7f7fa !important;
}
body.page-detail .back-float a{
    color:#e94769 !important;
    background:#fff0f4 !important;
    border:1px solid #ffd4dd !important;
    border-radius:999px !important;
}
body.page-detail .profile-detail-hero{
    border-radius:24px !important;
    overflow:hidden;
    box-shadow:0 16px 36px rgba(31,36,48,.12) !important;
}
body.page-detail .profile-detail-status{
    background:rgba(255,255,255,.94) !important;
    color:#168454 !important;
}
body.page-detail .profile-detail-card{
    background:#fff !important;
    border:1px solid rgba(236,236,242,.9) !important;
    border-radius:24px !important;
    box-shadow:0 12px 32px rgba(31,36,48,.08) !important;
}
body.page-detail .profile-main-identity strong{
    color:#1f2430 !important;
}
body.page-detail .profile-detail-registered{
    color:#168454 !important;
    background:#eaf8f1 !important;
}
body.page-detail .profile-fact-card{
    background:linear-gradient(180deg,#fff,#fff7fa) !important;
    border:1px solid rgba(255,214,224,.75) !important;
    border-radius:16px !important;
}
body.page-detail .profile-fact-card span{color:#8b8f9c !important;}
body.page-detail .profile-fact-card b{color:#1f2430 !important;}
body.page-detail .profile-fact-card.popularity b{
    background:var(--ez-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent !important;
}
body.page-detail .profile-main-interest-label{color:#8b8f9c !important;}
body.page-detail .profile-main-interest-tags span{
    color:#e94769 !important;
    background:#fff0f4 !important;
    border:1px solid #ffd4dd !important;
}
body.page-detail .profile-gallery-title{color:#1f2430 !important;}
body.page-detail .profile-gallery-title::before{
    background:var(--ez-gradient) !important;
}
body.page-detail .detail-like-dock{
    background:rgba(255,255,255,.94) !important;
    border:1px solid rgba(236,236,242,.9) !important;
    box-shadow:0 12px 32px rgba(31,36,48,.12) !important;
}
body.page-detail .detail-like-button{
    color:#fff !important;
    background:var(--ez-gradient) !important;
    box-shadow:0 12px 25px rgba(255,95,126,.28) !important;
}

/* ========== 首页卡片重排：照片不再吃满一屏，底部不被导航挡住 ========== */
body.page-home .app{
    padding-bottom:calc(118px + env(safe-area-inset-bottom)) !important;
}
body.page-home .love-intro.ez-home-hero,
body.page-home .ez-home-hero{
    min-height:84px !important;
    margin:4px 0 16px !important;
    padding:14px 16px !important;
    border-radius:22px !important;
    background:
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,241,245,.96) 55%, rgba(243,240,255,.96)) !important;
    border:1px solid rgba(255,214,224,.85) !important;
    box-shadow:0 10px 28px rgba(31,36,48,.06) !important;
}
body.page-home .love-intro-copy{
    max-width:none !important;
    font-size:15px !important;
    font-weight:600 !important;
    line-height:1.45 !important;
    color:#5b5160 !important;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif !important;
}
body.page-home .love-intro-copy b{
    display:block !important;
    margin-top:4px !important;
    font-size:20px !important;
    font-weight:800 !important;
    letter-spacing:.2px !important;
    background:var(--ez-gradient);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent !important;
    -webkit-text-fill-color:transparent;
    font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif !important;
}
body.page-home .love-intro-cupid{
    width:72px !important;
    min-width:72px !important;
    height:72px !important;
}
body.page-home .love-intro-cupid img{
    width:72px !important;
    height:72px !important;
    object-fit:contain !important;
}

body.page-home .girl-section-title.ez-home-title,
body.page-home .ez-home-title{
    margin:0 4px 12px !important;
    color:#1f2430 !important;
    font-size:18px !important;
}
body.page-home .girl-section-title::after{
    color:#9aa0ad !important;
}

body.page-home .girl-list{
    gap:16px !important;
}
body.page-home .ez-home-card.girl-card-new,
body.page-home .ez-home-card{
    display:flex;
    flex-direction:column;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(236,236,242,.95) !important;
    box-shadow:0 14px 34px rgba(31,36,48,.08) !important;
}

/* 关键：照片限高，保证资料区和按钮露出来 */
body.page-home .ez-home-card .girl-card-photo,
body.page-home .girl-card-photo{
    height:210px !important;
    aspect-ratio:auto !important;
    max-height:42vh !important;
}
body.page-home .girl-card-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
}
body.page-home .girl-card-status{
    left:12px !important;
    top:auto !important;
    bottom:12px !important;
    padding:6px 10px !important;
    color:#168454 !important;
    background:rgba(255,255,255,.95) !important;
    font-size:12px !important;
    font-weight:700 !important;
}

body.page-home .ez-home-card .girl-card-body,
body.page-home .girl-card-body{
    padding:14px 14px 16px !important;
}
body.page-home .girl-profile-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
}
body.page-home .girl-profile-identity{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px;
    min-width:0;
}
body.page-home .girl-profile-identity strong{
    color:#1f2430;
    font-size:20px;
    font-weight:800;
    line-height:1.2;
}
body.page-home .girl-age-badge{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 8px;
    border-radius:999px;
    color:#e94769;
    background:#fff0f4;
    font-size:12px;
    font-weight:700;
}
body.page-home .girl-registered-badge{
    display:inline-flex;
    align-items:center;
    min-height:22px;
    padding:0 8px;
    border-radius:999px;
    color:#168454;
    background:#eaf8f1;
    font-size:12px;
    font-weight:700;
}
body.page-home .girl-card-popularity{
    flex:0 0 auto;
    margin:0 !important;
    padding:6px 10px !important;
    border-radius:999px !important;
    color:#e94769 !important;
    background:#fff0f4 !important;
    font-size:13px !important;
    font-weight:800 !important;
}

body.page-home .girl-profile-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 14px;
    margin-top:10px;
    color:#8b8f9c;
    font-size:13px;
}
body.page-home .girl-profile-meta i{
    margin-right:4px;
    color:#ff7a97;
}

body.page-home .girl-interest-block{margin-top:10px;}
body.page-home .girl-interest-label{display:none;}
body.page-home .girl-interest-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
body.page-home .girl-interest-tags span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 10px;
    border-radius:999px;
    color:#7255d9;
    background:linear-gradient(135deg,#fff0f4,#f3f0ff);
    border:1px solid rgba(128,108,255,.12);
    font-size:12px;
    font-weight:700;
}

body.page-home .girl-intro-block{
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid #f2f2f6;
}
body.page-home .girl-intro-title{display:none;}
body.page-home .girl-intro-text{
    display:-webkit-box;
    overflow:hidden;
    color:#655a60;
    font-size:13px;
    line-height:1.6;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

body.page-home .girl-card-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    margin-top:14px !important;
}
body.page-home .girl-detail-new,
body.page-home .girl-like-new{
    min-height:46px !important;
    border-radius:14px !important;
    font-size:14px !important;
    font-weight:800 !important;
}
body.page-home .girl-detail-new{
    color:#e94769 !important;
    background:#fff3f6 !important;
    border:1px solid #ffd4dd !important;
}
body.page-home .girl-like-new{
    color:#fff !important;
    background:var(--ez-gradient) !important;
    box-shadow:0 10px 20px rgba(255,95,126,.24) !important;
}

body.page-home .nav{
    bottom:calc(10px + env(safe-area-inset-bottom)) !important;
    width:min(500px, calc(100% - 24px)) !important;
    border-radius:22px !important;
}
@media(max-width:380px){
    body.page-home .ez-home-card .girl-card-photo,
    body.page-home .girl-card-photo{
        height:188px !important;
        max-height:36vh !important;
    }
    body.page-home .girl-profile-identity strong{font-size:18px;}
}
