/* =========================================================
   VantoShops Home v8 - Rich homepage modules
   Adds 8+ premium SaaS homepage sections without Tailwind rebuild.
========================================================= */
:root{
  --vs8-blue:#0b6cff;
  --vs8-blue2:#1d4ed8;
  --vs8-navy:#07111f;
  --vs8-text:#07111f;
  --vs8-muted:#5b6678;
  --vs8-line:#e2e8f0;
  --vs8-soft:#f6f9ff;
}
.vs-home-main{background:#fff!important;}
.vs-v8-kicker{
  display:inline-flex;align-items:center;gap:8px;color:var(--vs8-blue);font-size:13px;font-weight:950;letter-spacing:.10em;text-transform:uppercase;
}
.vs-v8-head{margin:0 auto 48px;}
.vs-v8-head h2,.vs-v8-copy h2,.vs-pay-panel h2{
  margin:14px 0 0;color:var(--vs8-text);font-size:38px;line-height:1.16;font-weight:950;letter-spacing:-.048em;
}
.vs-v8-head p,.vs-v8-copy p,.vs-pay-panel p{
  margin:18px 0 0;color:var(--vs8-muted);font-size:16px;line-height:1.88;font-weight:560;
}
.vs-v8-head.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:end;max-width:1240px;}
.vs-v8-head.split p{max-width:620px;margin-left:auto;}
.vs-v8-head.center{text-align:center;max-width:780px;}
.vs-v8-head.center p{max-width:680px;margin-left:auto;margin-right:auto;}
.vs-v8-link{display:inline-flex;align-items:center;margin-top:30px;color:var(--vs8-blue);font-size:15px;font-weight:950;text-decoration:none;}
.vs-v8-link:hover{color:#0645c7;}

/* More spacing before modules after hero */
.vs-growth-showcase{padding-bottom:104px!important;}
.vs-platform-section{padding:112px 0!important;}

/* Flow module */
.vs-v8-flow{position:relative;overflow:hidden;padding:104px 0;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);}
.vs-v8-flow:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 20%,rgba(11,108,255,.08),transparent 30%),radial-gradient(circle at 86% 70%,rgba(31,118,255,.08),transparent 30%);pointer-events:none;}
.vs-flow-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;width:min(1320px,100%);margin:0 auto;}
.vs-flow-steps article{position:relative;min-height:214px;border:1px solid rgba(226,232,240,.94);border-radius:28px;background:rgba(255,255,255,.86);padding:24px 20px;box-shadow:0 22px 70px rgba(15,23,42,.06);backdrop-filter:blur(18px);transition:.26s ease;}
.vs-flow-steps article:hover{transform:translateY(-6px);border-color:#bdd5ff;box-shadow:0 30px 88px rgba(15,23,42,.10);}
.vs-flow-steps article:not(:last-child):after{content:"";position:absolute;right:-18px;top:50%;width:22px;height:2px;background:#c8dcff;z-index:2;}
.vs-flow-steps i{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:16px;background:#eef5ff;color:#0b6cff;font-style:normal;font-size:13px;font-weight:950;}
.vs-flow-steps h3{margin:22px 0 0;color:var(--vs8-text);font-size:18px;line-height:1.3;font-weight:950;letter-spacing:-.028em;}
.vs-flow-steps p{margin:10px 0 0;color:#607086;font-size:14px;line-height:1.75;font-weight:560;}

/* Product + fulfillment */
.vs-v8-supply{padding:116px 0;background:#fff;overflow:hidden;}
.vs-v8-grid-2{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:center;}
.vs-v8-copy{max-width:620px;}
.vs-v8-points{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:26px;}
.vs-v8-points span{display:flex;align-items:center;gap:10px;border:1px solid var(--vs8-line);border-radius:16px;background:#fff;padding:13px 15px;color:#263244;font-size:14px;font-weight:850;box-shadow:0 10px 30px rgba(15,23,42,.04);}
.vs-v8-points span:before{content:"";width:8px;height:8px;border-radius:50%;background:#0b6cff;box-shadow:0 0 0 5px rgba(11,108,255,.10);}
.vs-supply-visual{position:relative;min-height:500px;border-radius:42px;background:radial-gradient(circle at 26% 22%,rgba(87,154,255,.22),transparent 34%),linear-gradient(135deg,#f6faff 0%,#eef5ff 100%);border:1px solid #dce8ff;box-shadow:0 34px 100px rgba(15,23,42,.08);overflow:hidden;}
.vs-supply-visual:before{content:"";position:absolute;inset:54px;border:1px dashed rgba(11,108,255,.25);border-radius:38px;}
.vs-supply-card{position:absolute;border:1px solid rgba(255,255,255,.9);border-radius:28px;background:rgba(255,255,255,.82);box-shadow:0 24px 74px rgba(30,64,175,.12);backdrop-filter:blur(16px);padding:26px;}
.vs-supply-card b{display:block;color:#64748b;font-size:13px;font-weight:950;}
.vs-supply-card strong{display:block;margin-top:12px;color:var(--vs8-text);font-size:30px;line-height:1;font-weight:950;letter-spacing:-.045em;}
.vs-supply-card span{display:block;margin-top:12px;color:#607086;font-size:14px;font-weight:650;}
.vs-supply-card.main{left:50%;top:50%;width:320px;transform:translate(-50%,-50%);background:#07111f;color:#fff;}
.vs-supply-card.main b{color:#8bbdff}.vs-supply-card.main strong{color:#fff}.vs-supply-card.main span{color:rgba(255,255,255,.72)}
.vs-supply-card.warehouse{left:54px;top:66px;width:240px;}
.vs-supply-card.shipping{right:54px;bottom:66px;width:240px;}
.vs-supply-line{position:absolute;height:2px;background:linear-gradient(90deg,transparent,#70aaff,transparent);transform-origin:center;opacity:.8;}
.vs-supply-line.one{left:250px;top:200px;width:260px;transform:rotate(20deg);}
.vs-supply-line.two{right:230px;bottom:210px;width:260px;transform:rotate(20deg);}

/* VantoPay bridge */
.vs-v8-vantopay{padding:112px 0;background:linear-gradient(135deg,#07111f 0%,#0f2a72 54%,#0b6cff 100%);color:#fff;overflow:hidden;}
.vs-pay-wrap{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center;}
.vs-pay-panel{max-width:660px;}
.vs-pay-panel .vs-v8-kicker{color:#8bbdff;}
.vs-pay-panel h2{color:#fff;}
.vs-pay-panel p{color:rgba(255,255,255,.76);}
.vs-pay-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:30px;}
.vs-pay-list span{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.08);padding:15px 16px;color:#fff;font-size:14px;font-weight:850;}
.vs-pay-list span:before{content:"";width:8px;height:8px;border-radius:50%;background:#60a5fa;box-shadow:0 0 0 5px rgba(96,165,250,.16);}
.vs-pay-visual{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.14);border-radius:42px;background:radial-gradient(circle at 30% 20%,rgba(111,180,255,.28),transparent 34%),rgba(255,255,255,.07);box-shadow:0 40px 120px rgba(0,0,0,.24);overflow:hidden;}
.vs-pay-visual:before{content:"";position:absolute;inset:42px;border:1px solid rgba(255,255,255,.12);border-radius:32px;}
.vs-pay-card{position:absolute;width:250px;border:1px solid rgba(255,255,255,.18);border-radius:26px;background:rgba(255,255,255,.12);padding:22px;backdrop-filter:blur(18px);box-shadow:0 22px 70px rgba(0,0,0,.18);}
.vs-pay-card small{display:block;color:#bfd8ff;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;}
.vs-pay-card strong{display:block;margin-top:10px;color:#fff;font-size:32px;line-height:1;font-weight:950;letter-spacing:-.04em;}
.vs-pay-card span{display:block;margin-top:12px;color:rgba(255,255,255,.72);font-size:13px;font-weight:750;}
.vs-pay-card.active{left:64px;top:70px;background:#fff;color:#07111f;}
.vs-pay-card.active small{color:#0b6cff}.vs-pay-card.active strong{color:#07111f}.vs-pay-card.active span{color:#536175}
.vs-pay-card:nth-child(2){right:58px;top:156px}.vs-pay-card:nth-child(3){left:158px;bottom:56px}

/* Marketing & risk */
.vs-v8-marketing{padding:112px 0;background:#f7faff;}
.vs-marketing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px;}
.vs-marketing-grid article{position:relative;overflow:hidden;border:1px solid #e2eaf8;border-radius:30px;background:#fff;padding:30px;box-shadow:0 18px 60px rgba(15,23,42,.055);transition:.25s ease;}
.vs-marketing-grid article:hover{transform:translateY(-6px);box-shadow:0 30px 86px rgba(15,23,42,.10);}
.vs-icon{width:50px;height:50px;border-radius:18px;margin-bottom:28px;position:relative;}
.vs-icon:after{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff;opacity:.88;}
.vs-icon.blue{background:#0b6cff}.vs-icon.cyan{background:#06b6d4}.vs-icon.indigo{background:#4f46e5}.vs-icon.navy{background:#07111f}
.vs-marketing-grid h3{margin:0;color:var(--vs8-text);font-size:21px;font-weight:950;letter-spacing:-.03em;}
.vs-marketing-grid p{margin:12px 0 0;color:#5b6678;font-size:15px;line-height:1.8;font-weight:560;}

/* Solutions */
.vs-v8-solutions{padding:112px 0;background:#fff;}
.vs-solution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.vs-solution-grid a{position:relative;min-height:270px;overflow:hidden;text-decoration:none;border-radius:32px;border:1px solid #dfe8f7;background:linear-gradient(180deg,#fff 0%,#f7faff 100%);padding:30px;box-shadow:0 24px 74px rgba(15,23,42,.07);transition:.25s ease;}
.vs-solution-grid a:hover{transform:translateY(-7px);border-color:#bdd5ff;box-shadow:0 34px 96px rgba(15,23,42,.12);}
.vs-solution-grid a:after{content:"↗";position:absolute;right:26px;bottom:24px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:#0b6cff;font-weight:950;font-size:22px;transition:.25s ease;}
.vs-solution-grid a:hover:after{background:#0b6cff;color:#fff;transform:translate(2px,-2px);}
.vs-solution-grid span{display:inline-flex;color:#0b6cff;font-size:13px;font-weight:950;letter-spacing:.04em;}
.vs-solution-grid strong{display:block;margin-top:20px;color:var(--vs8-text);font-size:24px;line-height:1.22;font-weight:950;letter-spacing:-.04em;}
.vs-solution-grid p{margin:14px 0 0;color:#5b6678;font-size:15px;line-height:1.82;font-weight:560;}

/* Upgrade existing services to read as another rich module */
.vs-service-section{background:linear-gradient(180deg,#f8fafc 0%,#fff 100%)!important;}
.vs-service-grid article{transition:.25s ease!important;}
.vs-service-grid article:hover{transform:translateY(-6px);border-color:#bdd5ff!important;box-shadow:0 30px 80px rgba(15,23,42,.10)!important;}

@media(max-width:1280px){
  .vs-flow-steps{grid-template-columns:repeat(3,1fr);}
  .vs-flow-steps article:not(:last-child):after{display:none;}
  .vs-marketing-grid,.vs-solution-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:1100px){
  .vs-v8-head.split,.vs-v8-grid-2,.vs-pay-wrap{grid-template-columns:1fr;gap:40px;}
  .vs-v8-head.split p{margin-left:0;}
  .vs-supply-visual,.vs-pay-visual{min-height:420px;}
}
@media(max-width:760px){
  .vs-v8-head h2,.vs-v8-copy h2,.vs-pay-panel h2{font-size:30px;}
  .vs-v8-flow,.vs-v8-supply,.vs-v8-vantopay,.vs-v8-marketing,.vs-v8-solutions{padding:72px 0;}
  .vs-flow-steps,.vs-marketing-grid,.vs-solution-grid{grid-template-columns:1fr;}
  .vs-v8-points,.vs-pay-list{grid-template-columns:1fr;}
  .vs-supply-card{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:calc(100% - 36px)!important;margin:18px auto;}
  .vs-supply-visual{min-height:auto;padding:18px 0;}
  .vs-supply-visual:before,.vs-supply-line{display:none;}
  .vs-pay-card{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:calc(100% - 36px);margin:18px auto;}
  .vs-pay-visual{min-height:auto;padding:18px 0;}
  .vs-pay-visual:before{display:none;}
  .vs-solution-grid a{min-height:230px;border-radius:26px;}
}
