/* ============================================================
   T2P AISoft — home_v4 "Bright + Ảnh thật + Hiệu ứng"
   Load AFTER assets/theme.css. Light/bright, đồng bộ brand.
   Ảnh thật xếp lớp trên gradient fallback → không vỡ icon.
   ============================================================ */

:root{
  --v4-ink:#0f172a;
  --v4-shadow:0 20px 60px rgba(15,23,42,.12);
  --v4-shadow-soft:0 10px 30px rgba(15,23,42,.08);
  --v4-ring:0 0 0 1px rgba(30,64,175,.08);
  --grad-hero:linear-gradient(135deg,#1E40AF 0%,#3d8bff 55%,#2fe6d6 100%);
  --grad-warm:linear-gradient(135deg,#F5A623,#F6BE00);
}
body{background:#ffffff;color:var(--v4-ink)}

/* ---------- PHOTO holder: ảnh thật xếp trên gradient fallback ----------
   Cách dùng (bắt buộc kèm gradient fallback ở lớp cuối):
   <div class="photo" style="background-image:url('https://picsum.photos/seed/xxx/800/1000'),linear-gradient(135deg,#1E40AF,#3d8bff)"></div>
   Nếu ảnh không tải, lớp gradient tự hiện → KHÔNG có ô ảnh vỡ.               */
.photo{background-size:cover;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden}
.photo.duotone::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(30,64,175,.55),rgba(47,230,214,.28));mix-blend-mode:multiply}
.photo.shade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(6,12,34,.82))}
.photo.tint-warm::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(245,166,35,.4),rgba(246,190,0,.2));mix-blend-mode:multiply}

/* ---------- Bright hero ---------- */
.v4-hero{position:relative;overflow:hidden;padding:70px 0 60px;background:
  radial-gradient(720px 420px at 82% -8%,rgba(61,139,255,.16),transparent 70%),
  radial-gradient(560px 340px at 0% 110%,rgba(47,230,214,.14),transparent 70%),#fff}
.v4-eyebrow{display:inline-flex;align-items:center;gap:8px;background:#eff6ff;border:1px solid #dbeafe;color:var(--brand);font-size:12.5px;font-weight:800;letter-spacing:.4px;padding:8px 16px;border-radius:30px;max-width:100%;flex-wrap:wrap}
@media(max-width:640px){.v4-eyebrow{font-size:11.5px;padding:7px 13px}}
.v4-h1{font-size:56px;font-weight:800;line-height:1.06;letter-spacing:-1px;color:var(--v4-ink)}
.shimmer{background:linear-gradient(90deg,var(--brand),#3d8bff 40%,#2fe6d6 60%,var(--brand));background-size:220% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shim 5s linear infinite}
@keyframes shim{to{background-position:-220% center}}

/* ---------- Glassmorphism card ---------- */
.glass{background:rgba(255,255,255,.72);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.7);border-radius:18px;box-shadow:var(--v4-shadow)}
.glass-dark{background:rgba(10,16,40,.42);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.18);border-radius:16px;color:#fff}

/* ---------- Section head (light) ---------- */
.v4-head{text-align:center;max-width:720px;margin:0 auto 40px}
.v4-head .eb{display:inline-block;background:#eff6ff;color:var(--brand);font-size:12px;font-weight:800;letter-spacing:.6px;padding:6px 15px;border-radius:20px;margin-bottom:14px;text-transform:uppercase}
.v4-head h2{font-size:38px;font-weight:800;line-height:1.14;color:var(--v4-ink)}
.v4-head h2 .g{background:var(--grad-hero);-webkit-background-clip:text;background-clip:text;color:transparent}
.v4-head p{margin-top:12px;color:var(--muted);font-size:16.5px}

/* ---------- Real-photo video/reel cards ---------- */
.v4-reels{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.v4-reel{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:9/13;box-shadow:var(--v4-shadow-soft);cursor:pointer;transition:.3s}
.v4-reel:hover{transform:translateY(-6px);box-shadow:var(--v4-shadow)}
.v4-reel .photo{position:absolute;inset:0;transition:transform .5s ease}
.v4-reel:hover .photo{transform:scale(1.08)}
.v4-reel .cat{position:absolute;top:11px;left:11px;z-index:3;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;color:#fff;background:rgba(30,64,175,.85);padding:4px 10px;border-radius:20px;backdrop-filter:blur(4px)}
.v4-reel .rplay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.8);z-index:3;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--brand);display:flex;align-items:center;justify-content:center;font-size:17px;opacity:0;transition:.3s;box-shadow:0 8px 24px rgba(0,0,0,.3)}
.v4-reel:hover .rplay{opacity:1;transform:translate(-50%,-50%) scale(1)}
.v4-reel .meta{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:14px}
.v4-reel .meta h4{font-size:13.5px;font-weight:700;color:#fff;line-height:1.3}
.v4-reel .meta .v{font-size:11.5px;color:rgba(255,255,255,.82);margin-top:4px;display:flex;align-items:center;gap:6px}

/* ---------- Filter tabs (light) ---------- */
.v4-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.v4-tab{font-size:13px;font-weight:700;color:var(--muted);background:#f4f4f5;border:1px solid var(--line);padding:8px 16px;border-radius:30px;cursor:pointer;transition:.2s}
.v4-tab:hover{border-color:var(--brand-2);color:var(--brand)}
.v4-tab.active{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ---------- Tool cards (bright, trial FREE — no price) ---------- */
.v4-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.v4-tool{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:var(--v4-shadow-soft);transition:.3s;display:flex;flex-direction:column}
.v4-tool:hover{transform:translateY(-6px);box-shadow:var(--v4-shadow);border-color:transparent}
.v4-tool .cover{position:absolute;inset:0}
.v4-tool .cap{position:relative;aspect-ratio:16/10}
.v4-tool .cap .ic{position:absolute;left:18px;bottom:-24px;width:58px;height:58px;border-radius:16px;background:var(--grad-hero);display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;box-shadow:0 10px 24px rgba(30,64,175,.35);z-index:3}
.v4-tool .body{padding:32px 22px 22px;display:flex;flex-direction:column;flex:1}
.v4-tool h3{font-size:19px;font-weight:800;color:var(--v4-ink)}
.v4-tool .use{font-size:14px;color:var(--muted);margin:7px 0 15px;flex:1}
.v4-tool .feats{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:8px}
.v4-tool .feats li{font-size:13.5px;color:#3f3f46;display:flex;gap:8px;align-items:flex-start}
.v4-tool .feats li i{color:#16a34a;margin-top:3px}
.v4-trial{margin-bottom:14px}
.v4-trial .free{font-size:20px;font-weight:800;color:#16a34a;display:flex;align-items:center;gap:8px}
.v4-trial .note{font-size:12.5px;color:var(--muted-2);margin-top:2px}

/* ---------- Stats (count-up) ---------- */
.v4-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.v4-stat{text-align:center;padding:24px 14px;border-radius:18px;background:#fff;border:1px solid var(--line-soft);box-shadow:var(--v4-shadow-soft)}
.v4-stat .num{font-size:34px;font-weight:800;background:var(--grad-hero);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.v4-stat .lbl{font-size:13px;color:var(--muted);margin-top:8px;font-weight:600}

/* ---------- Steps ---------- */
.v4-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.v4-step{background:#fff;border:1px solid var(--line-soft);border-radius:18px;padding:26px;box-shadow:var(--v4-shadow-soft);text-align:center}
.v4-step .n{width:44px;height:44px;border-radius:50%;margin:0 auto 14px;background:var(--grad-hero);color:#fff;font-weight:800;font-size:18px;display:flex;align-items:center;justify-content:center}
.v4-step h4{font-size:16px;font-weight:800;color:var(--v4-ink);margin-bottom:6px}
.v4-step p{font-size:13.5px;color:var(--muted)}

/* ---------- Testimonials with real avatar ---------- */
.v4-tst{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.v4-quote{background:#fff;border:1px solid var(--line-soft);border-radius:18px;padding:26px;box-shadow:var(--v4-shadow-soft)}
.v4-quote .stars{color:#f59e0b;font-size:14px;letter-spacing:2px;margin-bottom:12px}
.v4-quote p{font-size:14.5px;color:#3f3f46;line-height:1.6;margin-bottom:18px}
.v4-quote .who{display:flex;align-items:center;gap:12px}
.v4-quote .av{width:46px;height:46px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--grad-hero)}
.v4-quote .who .nm{font-weight:800;color:var(--v4-ink);font-size:14.5px}
.v4-quote .who .rl{font-size:12.5px;color:var(--muted-2)}

/* ---------- Marquee logos ---------- */
.v4-marquee{overflow:hidden;position:relative;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.v4-marquee .track{display:flex;gap:56px;width:max-content;animation:mq 22s linear infinite}
.v4-marquee .lg{font-weight:800;color:var(--muted-2);font-size:20px;display:flex;align-items:center;gap:9px;white-space:nowrap}
.v4-marquee .lg i{color:var(--brand);font-size:22px}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- CTA band ---------- */
.v4-cta{position:relative;overflow:hidden;background:var(--grad-hero);color:#fff;text-align:center;padding:70px 0}
.v4-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 300px at 50% 0%,rgba(255,255,255,.18),transparent 70%);pointer-events:none}
.v4-cta h2{font-size:38px;font-weight:800;line-height:1.12;position:relative;z-index:2}
.v4-cta p{margin:14px auto 26px;max-width:560px;opacity:.94;font-size:17px;position:relative;z-index:2}
.v4-cta .btn-white{background:#fff;color:var(--brand)}

/* ---------- Scroll-reveal (JS thêm .in) ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.shimmer,.v4-marquee .track{animation:none}}

/* ---------- Tilt / float ---------- */
.float{animation:flt 6s ease-in-out infinite}
@keyframes flt{50%{transform:translateY(-12px)}}

/* ---------- Responsive ---------- */
@media(max-width:1050px){.v4-reels{grid-template-columns:repeat(3,1fr)}}
@media(max-width:960px){
  .v4-h1{font-size:40px}
  .v4-head h2{font-size:28px}
  .v4-stats{grid-template-columns:repeat(2,1fr)}
  .v4-tools,.v4-tst{grid-template-columns:1fr}
  .v4-steps{grid-template-columns:repeat(2,1fr)}
  .v4-cta h2{font-size:28px}
}
@media(max-width:640px){.v4-reels{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.v4-h1{font-size:32px}.v4-stats{grid-template-columns:1fr}}
