/* VNPT-INVOICE-FAMILY-V1 — VNPT Invoice family region block styles.
 * Mobile-first: package cards 1/row ≤600; 2-up ≥601; 3-up ≥900. Comparison/tables scroll only
 * inside their own container (page never scrolls horizontally). Self-contained tokens w/ fallbacks. */
.inv{--inv-blue:#0a57c2;--inv-blue-d:#0742a0;--inv-ink:#16202e;--inv-muted:#5a6b80;--inv-line:#e3e9f2;--inv-bg:#f6f9ff;--inv-card:#fff;--inv-ok:#0a8a4a;--inv-warn:#b5771a;--inv-radius:14px;color:var(--inv-ink);padding-bottom:80px}
.inv *{box-sizing:border-box}
.inv-region{max-width:1120px;margin:0 auto;padding:28px 16px}
.inv-r-head{display:flex;align-items:center;gap:12px;margin:0 0 6px}
.inv-r-num{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--inv-blue);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}
.inv-r-head h2{font-size:clamp(19px,4.4vw,26px);line-height:1.25;margin:0;font-weight:800}
.inv-r-sub{color:var(--inv-muted);font-size:15px;line-height:1.55;margin:4px 0 16px;max-width:780px}
.inv-r-sub b{color:var(--inv-ink)}
.inv-note-muted{color:var(--inv-muted);font-size:12.5px;line-height:1.5;margin:10px 0 0}
.inv-price-lead{font-size:14.5px;color:var(--inv-ink);font-weight:600;margin:14px 0 12px}

/* 01 branch nav */
.inv-r-nav{padding-top:20px;padding-bottom:8px}
.inv-branchnav{display:grid;grid-template-columns:1fr;gap:10px}
.inv-branchnav-item{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:var(--inv-card);border:1.5px solid var(--inv-line);border-radius:var(--inv-radius);padding:14px 16px;transition:.15s}
.inv-branchnav-item:hover{border-color:var(--inv-blue);box-shadow:0 2px 10px rgba(10,87,194,.1)}
.inv-branchnav-l{font-weight:750;font-size:15.5px;color:var(--inv-blue-d)}
.inv-branchnav-s{font-size:12.5px;color:var(--inv-muted)}

/* 02 advisor */
.inv-advisor{display:grid;grid-template-columns:1fr;gap:10px}
.inv-adv-opt{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--inv-line);background:#fff;border-radius:var(--inv-radius);cursor:pointer;text-align:left;transition:.15s;min-height:60px}
.inv-adv-opt:hover{border-color:var(--inv-blue)}
.inv-adv-opt.is-on{border-color:var(--inv-blue);background:var(--inv-bg);box-shadow:inset 0 0 0 1px var(--inv-blue)}
.inv-adv-ic{font-size:24px;line-height:1;flex:0 0 auto}
.inv-adv-c{display:flex;flex-direction:column;gap:1px}
.inv-adv-c b{font-size:15px;font-weight:700}
.inv-adv-c span{font-size:12.5px;color:var(--inv-muted)}

/* branch blocks */
.inv-branch{border-top:1px solid var(--inv-line)}
.inv-branch.inv-flash{animation:invFlash 1.4s ease}
@keyframes invFlash{0%,100%{background:transparent}35%{background:rgba(10,87,194,.06)}}
.inv-branch-body{margin-top:4px}
.inv-feat-list{margin:0 0 12px;padding:0;list-style:none;display:grid;gap:7px}
.inv-feat-list li{position:relative;padding-left:23px;font-size:14px;line-height:1.5;color:var(--inv-ink)}
.inv-feat-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--inv-ok);font-weight:800}
.inv-feat-inline{display:grid;gap:7px}
.inv-cust{font-size:13px;color:var(--inv-muted);line-height:1.5;margin:0 0 6px}
.inv-cust span{font-weight:700;color:var(--inv-ink)}

/* consult branch */
.inv-consult-box{background:linear-gradient(180deg,#fff,var(--inv-bg));border:1.5px solid var(--inv-blue);border-radius:16px;padding:18px 16px;margin-top:12px}
.inv-consult-badge{display:inline-block;background:var(--inv-blue);color:#fff;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px}
.inv-consult-note{margin:10px 0 0;font-size:14px;line-height:1.55;color:var(--inv-ink)}

/* package cards */
.inv-pkg-grid{display:grid;gap:14px;grid-template-columns:1fr;align-items:start}
.inv-pkg{background:var(--inv-card);border:1.5px solid var(--inv-line);border-radius:16px;padding:18px 16px;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(16,32,46,.05)}
.inv-pkg[hidden]{display:none}
.inv-pkg-qty{font-weight:800;font-size:18px;color:var(--inv-blue-d)}
.inv-pkg-qty span{font-weight:600;font-size:13px;color:var(--inv-muted)}
.inv-pkg-total{margin:8px 0 0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.inv-pkg-total b{font-size:clamp(22px,5.6vw,27px);font-weight:800;color:var(--inv-ink)}
.inv-pkg-vatin{color:var(--inv-ok);font-size:12px;font-weight:700}
.inv-pkg-breakdown{margin:8px 0 0;display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--inv-muted)}
.inv-pkg-cta{margin-top:auto;padding-top:14px}
.inv-pkg-cta .inv-btn{width:100%}
.inv-more-row{margin-top:14px;display:flex;justify-content:center}

/* MAX calculator */
.inv-max{margin-top:18px;background:var(--inv-bg);border:1px dashed var(--inv-blue);border-radius:14px;padding:16px}
.inv-max-head{display:flex;flex-direction:column;gap:3px;margin-bottom:12px}
.inv-max-head b{font-size:15px;color:var(--inv-blue-d)}
.inv-max-head span{font-size:12.5px;color:var(--inv-muted);line-height:1.5}
.inv-max-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.inv-max-field{flex:1 1 200px;margin:0}
.inv-max-row .inv-btn{flex:0 0 auto}
.inv-max-result{margin-top:12px;font-size:14px}
.inv-max-result.is-err{color:#c0452a}
.inv-max-total{font-size:15px}
.inv-max-total b{font-size:20px;color:var(--inv-ink)}
.inv-max-total span{color:var(--inv-ok);font-size:12px;font-weight:700}
.inv-max-break{margin-top:4px;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--inv-muted)}

/* legal */
.inv-legal-list{margin:0;padding-left:20px;display:grid;gap:8px}
.inv-legal-list li{font-size:14px;line-height:1.55}

/* related */
.inv-rel-grid{display:grid;grid-template-columns:1fr;gap:12px}
.inv-rel-card{display:flex;flex-direction:column;gap:4px;text-decoration:none;background:var(--inv-card);border:1px solid var(--inv-line);border-radius:var(--inv-radius);padding:16px;transition:.15s}
.inv-rel-card:hover{border-color:var(--inv-blue);box-shadow:0 2px 10px rgba(10,87,194,.1)}
.inv-rel-name{font-weight:750;font-size:15px;color:var(--inv-blue-d)}
.inv-rel-note{font-size:12.5px;color:var(--inv-muted);line-height:1.45}

/* buttons */
.inv-cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.inv-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 18px;border-radius:10px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none;border:1.5px solid transparent;transition:.15s;min-height:48px}
.inv-btn-sm{min-height:44px;padding:10px 16px;font-size:14px}
.inv-btn-primary{background:var(--inv-blue);color:#fff}
.inv-btn-primary:hover{background:var(--inv-blue-d)}
.inv-btn-ghost{background:#fff;color:var(--inv-blue-d);border-color:var(--inv-blue)}
.inv-btn-ghost:hover{background:var(--inv-bg)}

/* modal */
.inv-modal[hidden]{display:none}
.inv-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px}
.inv-modal-back{position:absolute;inset:0;background:rgba(16,32,46,.55)}
.inv-modal-box{position:relative;background:#fff;border-radius:16px;max-width:460px;width:100%;max-height:92vh;overflow:auto;padding:22px 20px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.inv-modal-x{position:absolute;top:10px;right:12px;background:none;border:none;font-size:26px;line-height:1;color:var(--inv-muted);cursor:pointer}
.inv-modal-box h3{margin:0 0 4px;font-size:19px;padding-right:26px}
.inv-modal-sub{margin:0 0 14px;font-size:13.5px;color:var(--inv-muted);line-height:1.5}
.inv-field{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.inv-field>span{font-size:13px;font-weight:600}
.inv-field b{color:#c0452a}
.inv-field input,.inv-field select,.inv-field textarea{width:100%;padding:11px 12px;border:1.5px solid var(--inv-line);border-radius:9px;font-size:15px;font-family:inherit}
.inv-field input:focus,.inv-field select:focus,.inv-field textarea:focus{outline:none;border-color:var(--inv-blue)}
.inv-modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.inv-modal-msg{font-size:13.5px;margin:4px 0;min-height:1px}
.inv-modal-msg.inv-err,.inv-err{color:#c0452a}
.inv-lead-result{max-width:1120px;margin:0 auto;padding:0 16px}
.inv-lead-result.inv-ok{padding:16px;color:var(--inv-ok);font-weight:600}
body.inv-modal-open{overflow:hidden}

/* ≥601px */
@media(min-width:601px){
  .inv-branchnav{grid-template-columns:repeat(3,1fr)}
  .inv-advisor{grid-template-columns:repeat(3,1fr)}
  .inv-pkg-grid{grid-template-columns:1fr 1fr}
  .inv-rel-grid{grid-template-columns:1fr 1fr}
}
/* ≥900px */
@media(min-width:900px){
  .inv-pkg-grid{grid-template-columns:repeat(3,1fr)}
  .inv-rel-grid{grid-template-columns:repeat(3,1fr)}
}
