/* Vialz program pages (vz-pages.js). Uses the site's existing palette. */
.vzp-main,.vzp-acct{--ink:#07152f;--blue:#2458e6;--muted:#5d6b82;--line:#e6e9ef;--soft:#f6f8fc;--ok:#127a45;--err:#b42318;background:var(--soft);padding:0 0 64px}
.vzp-shell{max-width:1180px;margin:0 auto;padding:40px 20px 0}
.vzp-shell.is-narrow{max-width:560px}
.vzp-hero{padding:24px 0 28px}
.vzp-hero h1,.vzp-head h1{font-size:clamp(34px,5vw,56px);line-height:1.02;letter-spacing:-.03em;color:var(--ink);margin:6px 0 12px;font-weight:700}
.vzp-sub{color:var(--muted);font-size:17px;max-width:680px;line-height:1.5;margin:0}
.vzp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.vzp-h2{font-size:26px;color:var(--ink);margin:32px 0 16px;letter-spacing:-.02em}
.vzp-h3{font-size:14px;color:var(--ink);margin:20px 0 8px;text-transform:uppercase;letter-spacing:.08em}
.vzp-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}
.vzp-card h2{font-size:20px;margin:0 0 14px;color:var(--ink)}
.vzp-muted{color:var(--muted);font-size:14px}
.vzp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.vzp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 22px;background:#05070c;color:#fff!important;font-weight:700;font-size:14px;border:1px solid #05070c;cursor:pointer;text-decoration:none!important;transition:transform .15s,opacity .15s}
.vzp-btn:hover{transform:translateY(-1px)}
.vzp-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}
.vzp-btn.is-ghost{background:#fff;color:var(--ink)!important;border-color:var(--line)}
.vzp-btn.is-block{display:flex;width:100%;margin-top:14px}
.vzp-btn.is-small{padding:9px 14px;font-size:13px}
.vzp-link{background:none;border:0;padding:0;color:var(--blue);font-weight:600;cursor:pointer;font-size:inherit;text-decoration:underline}
.vzp-status{min-height:20px;font-size:14px;margin:10px 0 0;color:var(--muted)}
.vzp-status.is-error{color:var(--err)}.vzp-status.is-success{color:var(--ok)}
.vzp-note{font-size:13px;color:var(--muted);line-height:1.5;margin:12px 0 0}
.vzp-disclaimer{font-size:12px;color:var(--muted);margin:36px 0 0;text-align:center}
.vzp-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.vzp-pills span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--ink)}
.vzp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 28px}
.vzp-stats.is-3{grid-template-columns:repeat(3,1fr);margin-top:28px}
.vzp-stats>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}
.vzp-stats b{display:block;font-size:26px;color:var(--ink);letter-spacing:-.02em}
.vzp-stats.is-3 b{font-size:17px}
.vzp-stats span{font-size:14px;color:var(--muted)}
.vzp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vzp-grid.is-3{grid-template-columns:repeat(3,1fr)}
.vzp-prod{display:flex;flex-direction:column;gap:6px}
.vzp-prod.is-link{text-decoration:none;color:inherit;transition:border-color .15s}
.vzp-prod.is-link:hover{border-color:var(--blue)}
.vzp-prod-img{display:block;aspect-ratio:1;background:var(--soft);border-radius:14px;overflow:hidden;margin-bottom:6px}
.vzp-prod-img img{width:100%;height:100%;object-fit:contain}
.vzp-prod h3{font-size:16px;margin:0;color:var(--ink)}
.vzp-cat{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);font-weight:700;margin:0}
.vzp-price{font-weight:700;color:var(--ink);margin:4px 0 0}
.vzp-price s{color:var(--muted);font-weight:400;font-size:13px;margin-left:6px}
.vzp-chips{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.vzp-chips button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;cursor:pointer;font-family:ui-monospace,Menlo,monospace}
.vzp-chips button.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.vzp-opt{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px dashed var(--line);padding:10px 0}
.vzp-opt>div{display:flex;flex-direction:column}
.vzp-opt>div:last-child{align-items:flex-end;gap:6px}
.vzp-opt small{color:var(--muted);font-size:12px}
.vzp-opt b{font-size:14px;color:var(--ink)}
/* cart */
.vzp-cart-grid{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}
.vzp-cart-row{display:grid;grid-template-columns:1fr 120px 100px;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.vzp-cart-row.is-head{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-top:0}
.vzp-cart-row:last-child{border-bottom:0}
.vzp-cart-prod{display:flex;gap:12px;align-items:center}
.vzp-cart-prod img{width:64px;height:64px;object-fit:contain;background:var(--soft);border-radius:12px}
.vzp-cart-prod div{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.vzp-cart-prod a{color:var(--ink);text-decoration:none}
.vzp-cart-prod small{color:var(--muted);font-size:13px}
.vzp-line-total{text-align:right;color:var(--ink)}
.vzp-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;width:max-content}
.vzp-qty button{width:34px;height:34px;border:0;background:none;font-size:18px;cursor:pointer}
.vzp-qty span{min-width:24px;text-align:center;font-weight:700}
.vzp-summary{position:sticky;top:96px}
.vzp-summary dl,.vzp-box-panel dl{margin:14px 0 0}
.vzp-summary dl div,.vzp-box-panel dl div{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:var(--muted)}
.vzp-summary dd,.vzp-box-panel dd{margin:0;color:var(--ink);font-weight:600}
.is-total{border-top:1px solid var(--line);margin-top:6px;padding-top:12px!important;font-size:16px!important;color:var(--ink)!important;font-weight:700}
.vzp-ship p{font-size:14px;margin:0 0 8px;color:var(--ink)}
.vzp-bar{height:8px;background:var(--soft);border-radius:99px;overflow:hidden}
.vzp-bar span{display:block;height:100%;background:var(--blue);border-radius:99px}
.vzp-pay-line{text-align:center;font-size:12px;color:var(--muted);margin:10px 0 0}
/* box */
.vzp-box-layout{display:grid;grid-template-columns:1fr 340px;gap:20px;align-items:start}
.vzp-box-panel{position:sticky;top:96px}
.vzp-slots{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:8px;counter-reset:s}
.vzp-slots li{counter-increment:s;display:flex;align-items:center;gap:10px;border:1px dashed var(--line);border-radius:12px;padding:10px;min-height:56px;font-size:14px}
.vzp-slots li::before{content:counter(s);width:24px;height:24px;border-radius:50%;background:var(--soft);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}
.vzp-slots li.is-full{border-style:solid;background:#fbfcff}
.vzp-slots img{width:36px;height:36px;object-fit:contain}
.vzp-slots span{display:flex;flex-direction:column;flex:1}
.vzp-slots small{color:var(--muted);font-size:12px}
.vzp-slots button{border:0;background:none;font-size:20px;cursor:pointer;color:var(--muted)}
.vzp-prod.is-compact .vzp-btn{margin-top:auto}
/* points */
.vzp-points-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}
.vzp-credit-note{background:linear-gradient(135deg,#07152f,#1b3a8a);color:#fff;border-radius:22px;padding:28px;font-family:ui-monospace,Menlo,monospace;position:relative;overflow:hidden}
.vzp-credit-note .vz-kicker{color:#aebfe9}
.vzp-note-pts{font-size:clamp(40px,6vw,64px);font-weight:700;letter-spacing:-.03em;margin:10px 0 0}
.vzp-note-pts small{font-size:18px;margin-left:6px;opacity:.7}
.vzp-note-row{display:flex;justify-content:space-between;border-top:1px dashed rgba(255,255,255,.25);padding:10px 0;font-size:14px}
.vzp-note-up{margin:14px 0 0;font-size:13px;color:#9fe3b9}
.vzp-tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.vzp-tiers button{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px 8px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
.vzp-tiers button b{font-size:18px;color:var(--ink)}
.vzp-tiers button span{font-size:12px;color:var(--ok);font-weight:600}
.vzp-tiers button.is-on{border-color:var(--blue);box-shadow:0 0 0 3px rgba(36,88,230,.15)}
.vzp-methods{display:grid;gap:8px}
.vzp-methods label{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer}
.vzp-methods label:has(input:checked){border-color:var(--blue);background:#f6f9ff}
.vzp-methods span{display:flex;flex-direction:column}
.vzp-methods small{color:var(--muted);font-size:12px}
/* membership */
.vzp-toggle{display:inline-flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px;margin-bottom:18px}
.vzp-toggle button{border:0;background:none;border-radius:999px;padding:9px 18px;font-weight:600;cursor:pointer;color:var(--muted)}
.vzp-toggle button.is-on{background:var(--ink);color:#fff}
.vzp-toggle em{font-style:normal;font-size:11px;color:var(--ok);margin-left:4px}
.vzp-toggle button.is-on em{color:#9fe3b9}
.vzp-tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vzp-tier{position:relative;display:flex;flex-direction:column}
.vzp-tier h3{margin:0;font-size:22px;color:var(--ink)}
.vzp-tier.is-featured{border-color:var(--blue);box-shadow:0 12px 30px rgba(36,88,230,.12)}
.vzp-badge{position:absolute;top:-11px;left:22px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;letter-spacing:.08em;border-radius:999px;padding:4px 10px}
.vzp-tier-price{font-size:30px;font-weight:700;color:var(--ink);margin:12px 0}
.vzp-tier-price small{font-size:14px;color:var(--muted);font-weight:500}
.vzp-tier ul{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px;flex:1}
.vzp-tier li{font-size:14px;color:var(--ink);padding-left:22px;position:relative}
.vzp-tier li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}
.vzp-join{max-width:520px;margin:24px auto 0}
.vzp-faq{max-width:760px;margin:40px auto 0}
.vzp-faq h2{font-size:24px;color:var(--ink)}
.vzp-faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:8px}
.vzp-faq summary{font-weight:600;cursor:pointer;color:var(--ink)}
.vzp-faq p{color:var(--muted);margin:10px 0 0;line-height:1.5}
/* partner */
.vzp-calc{max-width:760px;margin:0 auto}
.vzp-calc label{display:block;font-size:14px;color:var(--ink);margin-bottom:14px}
.vzp-calc label b{float:right}
.vzp-calc input[type=range]{width:100%;accent-color:var(--blue);margin-top:6px}
.vzp-calc-out{background:var(--soft);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:2px}
.vzp-calc-out b{font-size:34px;color:var(--ink)}
.vzp-calc-out small{color:var(--muted)}
.vzp-steps{margin-top:40px}
.vzp-steps h2{font-size:24px;color:var(--ink)}
.vzp-steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;counter-reset:st}
.vzp-steps li{counter-increment:st;background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:6px}
.vzp-steps li::before{content:"0" counter(st);font-family:ui-monospace,Menlo,monospace;color:var(--blue);font-weight:700}
.vzp-steps b{color:var(--ink)}
.vzp-steps span{color:var(--muted);font-size:14px}
.vzp-legal{margin-top:28px}
.vzp-legal p{color:var(--muted);line-height:1.6}
.vzp-login{text-align:left}
.vzp-login h1{font-size:34px;margin:6px 0 10px;color:var(--ink)}
@media (max-width:980px){.vzp-grid,.vzp-tier-grid,.vzp-stats,.vzp-steps ol{grid-template-columns:repeat(2,1fr)}.vzp-grid.is-3{grid-template-columns:repeat(2,1fr)}.vzp-cart-grid,.vzp-box-layout,.vzp-points-layout{grid-template-columns:1fr}.vzp-summary,.vzp-box-panel{position:static}}
@media (max-width:560px){.vzp-grid,.vzp-grid.is-3,.vzp-tier-grid,.vzp-stats,.vzp-stats.is-3,.vzp-steps ol{grid-template-columns:1fr}.vzp-tiers{grid-template-columns:repeat(2,1fr)}.vzp-cart-row{grid-template-columns:1fr auto}.vzp-cart-row.is-head{display:none}.vzp-line-total{grid-column:2}.vzp-shell{padding-top:24px}}
/* account tabs */
.vzp-acct{margin-top:18px}
.vzp-acct .vzp-stats b{font-size:24px}
.vzp-table{width:100%;border-collapse:collapse;font-size:14px}
.vzp-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#5d6b82);padding:8px 6px;border-bottom:1px solid #e6e9ef}
.vzp-table td{padding:12px 6px;border-bottom:1px solid #eef1f5;color:#07152f}
.vzp-table .r{text-align:right}.vzp-table .pos{color:#127a45;font-weight:700}.vzp-table .neg{color:#b42318;font-weight:700}
.vzp-table a{color:#2458e6;font-weight:600}
.vzp-chip{display:inline-block;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}
.vzp-chip.is-ok{background:#e9f6ef;color:#127a45}.vzp-chip.is-bad{background:#fdecec;color:#b42318}.vzp-chip.is-wait{background:#fff5e0;color:#8a5a00}
.vzp-plan{display:grid;grid-template-columns:1.4fr 1fr auto;gap:20px;align-items:center;background:linear-gradient(135deg,#07152f,#1b3a8a);color:#fff;border:0}
.vzp-acct .vzp-plan h2{color:#fff!important;font-size:34px;margin:4px 0}.vzp-plan .vzp-muted,.vzp-plan .vzp-note{color:#c9d5f3}.vzp-plan .vz-kicker{color:#aebfe9}
.vzp-plan-perks{display:grid;gap:8px}.vzp-plan-perks span{font-size:14px}.vzp-plan-perks b{font-size:18px;margin-right:4px}
.vzp-plan .vzp-btn{background:#fff;color:#07152f!important;border-color:#fff}
@media (max-width:760px){.vzp-plan{grid-template-columns:1fr}.vzp-table th:nth-child(3),.vzp-table td:nth-child(3){display:none}}
.vzp-acct{background:none!important;padding:0!important}
.vzp-sub-modal{padding:28px!important;max-width:460px}
.vzp-sub-modal h2{margin:4px 0 6px;color:#07152f}
.vzp-sub-modal s{color:#8a94a6;margin-left:4px}
.vzp-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#07152f;margin-top:14px}
.vzp-field select{border:1px solid #e6e9ef;border-radius:12px;padding:11px 12px;font-size:15px;background:#fff}
.vzp-subscribe{display:flex;width:100%;justify-content:center;margin-top:10px;border:1px solid #d7deea;background:#fff;border-radius:999px;padding:13px;font-weight:700;color:#07152f;cursor:pointer}
.vzp-subscribe:hover{border-color:#2458e6;color:#2458e6}
.vzp-main *,.vzp-acct *{box-sizing:border-box}
@media (max-width:560px){.vzp-prod.is-compact .vzp-prod-img{aspect-ratio:auto;height:160px}.vzp-prod-img{max-height:220px}}
.vz-nav .vz-new{font-style:normal;font-size:9px;font-weight:800;letter-spacing:.06em;background:#e9f6ef;color:#127a45;border-radius:6px;padding:2px 5px;margin-left:4px;vertical-align:2px}
.vz-nav a[aria-current=page]{color:#2458e6!important}
/* live payment page */
.vzp-payamt{font-size:44px;font-weight:700;color:#07152f;letter-spacing:-.02em;margin:6px 0}
.vzp-payamt small{font-size:16px;color:#5d6b82;font-weight:600}
.vzp-live{display:flex;align-items:center;gap:8px;font-size:14px;color:#8a5a00;background:#fff7e6;border-radius:999px;padding:8px 14px;width:max-content;max-width:100%}
.vzp-dot{width:8px;height:8px;border-radius:50%;background:#f0a500;animation:vzpPulse 1.4s infinite}
@keyframes vzpPulse{0%{box-shadow:0 0 0 0 rgba(240,165,0,.6)}70%{box-shadow:0 0 0 8px rgba(240,165,0,0)}100%{box-shadow:0 0 0 0 rgba(240,165,0,0)}}
@media (prefers-reduced-motion:reduce){.vzp-dot{animation:none}}
.vzp-paysteps{margin:18px 0;padding-left:20px;color:#07152f;line-height:1.6;font-size:15px}
.vzp-paydl{margin:0;border:1px solid #e6e9ef;border-radius:14px;overflow:hidden}
.vzp-paydl div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid #eef1f5;flex-wrap:wrap}
.vzp-paydl div:first-child{border-top:0}
.vzp-paydl dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#5d6b82}
.vzp-paydl dd{margin:0;display:flex;align-items:center;gap:10px;color:#07152f;word-break:break-all}
.vzp-copy{border:1px solid #d7deea;background:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;cursor:pointer}
.vzp-paid{text-align:center}
.vzp-paid .vzp-actions{justify-content:center}
.vzp-check{width:64px;height:64px;border-radius:50%;background:#e9f6ef;color:#127a45;font-size:32px;font-weight:800;display:grid;place-items:center;margin:0 auto 12px}
.vzp-card h1{color:#07152f}
.vzp-card h1{font-size:clamp(28px,4vw,40px)!important;line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:6px 0 8px}
.vzp-paysteps{list-style:decimal!important}
.vzp-paysteps li{display:list-item!important;margin:4px 0}
.vzp-paid .vzp-sub{margin:0 auto}
/* header: compact account + bag */
.vz-header .vz-account-trigger,.vz-header .vz-cart-trigger{display:inline-flex!important;align-items:center;gap:7px;white-space:nowrap;line-height:1}
.vz-header .vz-account-trigger::before,.vz-header .vz-cart-trigger::before{content:"";width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:var(--vzp-ico) center/contain no-repeat;mask:var(--vzp-ico) center/contain no-repeat}
.vz-header .vz-account-trigger{--vzp-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c1.5-4 4.5-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E")}
.vz-header .vz-cart-trigger{--vzp-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E")}
.vz-header .vz-cart-trigger [data-vz-count]{min-width:20px;height:20px;border-radius:999px;display:inline-grid;place-items:center;font-size:11px}
@media (max-width:760px){
  .vz-header .vz-account-trigger,.vz-header .vz-cart-trigger{font-size:0!important;padding:0!important;width:42px;height:42px;justify-content:center;gap:0;position:relative}
  .vz-header .vz-cart-trigger [data-vz-count]{font-size:10px!important;position:absolute;top:-4px;right:-4px;min-width:18px;height:18px}
  .vz-header .vz-account-trigger::before,.vz-header .vz-cart-trigger::before{width:20px;height:20px}
}
.vz-header .vz-logo{flex:none!important}.vz-header .vz-logo img{height:26px!important;width:auto!important;max-width:none!important}@media (max-width:1180px) and (min-width:761px){.vz-header .vz-global-search{max-width:170px}.vz-nav a{padding-left:8px!important;padding-right:8px!important}}

/* ---- Stock states ---- */
.vz-product-card.is-soldout .vz-product-image img{filter:grayscale(.85);opacity:.55}
.vz-soldout-badge{position:absolute;top:12px;left:12px;background:#1f2937;color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:999px}
.vz-product-card.is-soldout .vz-add-btn,.vz-add-btn[disabled]{background:#e5e7eb!important;color:#6b7280!important;border-color:#e5e7eb!important;cursor:not-allowed}
.vz-detail-options button.is-soldout,.vz-variant-options button.is-soldout{opacity:.45;cursor:not-allowed;text-decoration:line-through}
.vz-detail-options button.is-soldout span,.vz-variant-options button.is-soldout span{text-decoration:none}
.vz-detail-add[disabled]{background:#9ca3af!important;cursor:not-allowed}
.vz-stock-line{font-size:13px;font-weight:600;margin:4px 0 10px}
.vz-stock-line.is-in{color:#15803d}.vz-stock-line.is-out{color:#b91c1c}
.vz-stock-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:9999;background:#111827;color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;max-width:calc(100% - 32px);box-shadow:0 10px 30px rgba(0,0,0,.25)}
