.pzv-root{
--pzv-navy:var(--color-primary,#042E6F);
--pzv-navy-dark:var(--color-primary-dark,#021F4D);
--pzv-lime:var(--color-secondary,#91B644);
--pzv-lime-hover:var(--color-secondary-hover,#7CA035);
--pzv-ink:var(--color-gray-800,#4B5977);
--pzv-muted:var(--color-gray-600,#6B84AD);
--pzv-line:var(--color-gray-200,#E8ECF2);
--pzv-line-2:var(--color-gray-300,#D8DEE9);
--pzv-soft:var(--color-gray-100,#F8FAFB);
--pzv-white:var(--color-white,#FFFFFF);
--pzv-radius:var(--sp-card-radius,12px);
--pzv-radius-md:var(--radius-md,8px);
--pzv-radius-full:var(--radius-full,9999px);
--pzv-fast:var(--transition-fast,150ms ease-in-out);
--pzv-shadow:0 6px 18px rgba(4,46,111,.06);
max-width:var(--container-xl,1320px);
margin:0 auto;
font-family:var(--pzv-body);
color:var(--pzv-ink);
}
.pzv-root.pzv-font-bundled{ --pzv-display:"Figtree",system-ui,sans-serif; --pzv-body:"Figtree",system-ui,sans-serif; }
.pzv-root.pzv-font-inherit{ --pzv-display:inherit; --pzv-body:inherit; }
.pzv-root *{ box-sizing:border-box; } .pzv-root .pzv-sr{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
clip:rect(0,0,0,0); white-space:nowrap; border:0; } .pzv-root .pzv-card{ background:var(--pzv-white); border:1px solid var(--pzv-line); border-radius:var(--pzv-radius);
box-shadow:none; padding:32px 28px 28px; }
.pzv-root .pzv-qhead{ display:flex; align-items:center; gap:12px; margin-bottom:2px; }
.pzv-root .pzv-qnum{ font-family:var(--pzv-display); font-weight:700; font-size:15px; color:#fff; background:var(--pzv-navy);
border-radius:var(--pzv-radius-md); width:32px; height:32px; display:grid; place-items:center; flex:none; }
.pzv-root .pzv-question{ font-family:var(--pzv-display); font-weight:700; color:var(--pzv-navy);
font-size:clamp(20px,1.2vw + 15px,28px); line-height:1.25; margin:0; }
.pzv-root .pzv-qhint{ color:var(--pzv-muted); font-weight:400; font-size:15px; line-height:1.5; margin:8px 0 22px; } .pzv-root .pzv-options{ display:grid; gap:12px; }
.pzv-root .pzv-options.cols-1{ grid-template-columns:1fr; }
.pzv-root .pzv-options.cols-2{ grid-template-columns:repeat(2,1fr); }
.pzv-root .pzv-options.cols-3{ grid-template-columns:repeat(3,1fr); } .pzv-root .pzv-opt{ font-family:var(--pzv-body); font-weight:600; font-size:19px; color:var(--pzv-navy);
background:var(--pzv-line); border:1px solid transparent; border-radius:var(--pzv-radius); padding:24px 18px; cursor:pointer;
text-align:center; display:flex; flex-direction:column; align-items:center; gap:5px;
line-height:1.3; transition:background var(--pzv-fast),color var(--pzv-fast); }
.pzv-root .pzv-opt .pzv-sub{ font-weight:400; font-size:15px; color:var(--pzv-muted); }
.pzv-root .pzv-opt:hover{ background:var(--pzv-line-2); }
.pzv-root .pzv-opt.sel{ background:var(--pzv-lime); border-color:var(--pzv-lime); color:#fff; font-weight:700; }
.pzv-root .pzv-opt.sel:hover{ background:var(--pzv-lime-hover); }
.pzv-root .pzv-opt.sel .pzv-sub{ color:rgba(255,255,255,.85); font-weight:500; }
.pzv-root .pzv-opt:focus-visible{ outline:2px solid var(--pzv-navy); outline-offset:3px; } .pzv-root .pzv-options.is-multi .pzv-opt{ flex-direction:row; align-items:center; justify-content:flex-start;
text-align:left; gap:14px; padding:19px 20px; font-size:18px; }
.pzv-root .pzv-box{ width:22px; height:22px; flex:none; border:2px solid var(--pzv-line-2); border-radius:var(--radius-sm,4px);
background:var(--pzv-white); position:relative; transition:border-color var(--pzv-fast),background var(--pzv-fast); }
.pzv-root .pzv-box::after{ content:""; position:absolute; left:6px; top:2px; width:5px; height:10px;
border:solid var(--pzv-navy); border-width:0 2px 2px 0; transform:rotate(45deg) scale(.4); opacity:0;
transition:opacity var(--pzv-fast),transform var(--pzv-fast); }
.pzv-root .pzv-check:hover .pzv-box{ border-color:var(--pzv-muted); }
.pzv-root .pzv-check.sel .pzv-box{ background:var(--pzv-white); border-color:var(--pzv-white); }
.pzv-root .pzv-check.sel .pzv-box::after{ opacity:1; transform:rotate(45deg) scale(1); }
.pzv-root .pzv-none{ width:100%; margin-top:12px; flex-direction:row !important; justify-content:flex-start;
text-align:left; padding:19px 20px; font-size:18px; } .pzv-root .pzv-none{ gap:14px; align-items:center; }
.pzv-root .pzv-none:hover .pzv-box{ border-color:var(--pzv-muted); }
.pzv-root .pzv-none.sel .pzv-box{ background:var(--pzv-white); border-color:var(--pzv-white); }
.pzv-root .pzv-none.sel .pzv-box::after{ opacity:1; transform:rotate(45deg) scale(1); }
.pzv-root .pzv-next{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; margin-top:20px;
font-family:var(--pzv-display); font-weight:600; font-size:18px; color:#fff; background:var(--pzv-navy);
border:1px solid var(--pzv-navy); border-radius:var(--pzv-radius-full); padding:16px 24px; cursor:pointer;
transition:background var(--pzv-fast); }
.pzv-root .pzv-next:hover{ background:var(--pzv-navy-dark); border-color:var(--pzv-navy-dark); }
.pzv-root .pzv-next svg{ width:16px; height:16px; }
.pzv-root .pzv-next:focus-visible{ outline:2px solid var(--pzv-navy); outline-offset:3px; } .pzv-root .pzv-note{ margin:18px 0 0; font-size:15px; line-height:1.55; color:var(--pzv-muted); } .pzv-root .pzv-navrow{ display:flex; justify-content:space-between; align-items:center; margin-top:22px; gap:12px; }
.pzv-root .pzv-back{ font-family:var(--pzv-body); font-weight:600; font-size:15px; color:var(--pzv-ink); background:transparent;
border:none; cursor:pointer; display:inline-flex; align-items:center; gap:6px; padding:8px 10px; border-radius:var(--pzv-radius-md); }
.pzv-root .pzv-back svg{ width:16px; height:16px; }
.pzv-root .pzv-back:hover{ color:var(--pzv-navy); }
.pzv-root .pzv-back[hidden]{ visibility:hidden; }
.pzv-root .pzv-back:focus-visible{ outline:2px solid var(--pzv-navy); outline-offset:2px; }
.pzv-root .pzv-navhint{ color:var(--pzv-muted); font-weight:400; font-size:14px; text-align:right; } .pzv-root .pzv-loading{ text-align:center; padding:48px 20px; font-weight:400; font-size:16px; color:var(--pzv-muted); }
.pzv-root .pzv-loading p{ margin:0; }
.pzv-root .pzv-spinner{ width:34px; height:34px; margin:0 auto 14px; color:var(--pzv-lime); animation:pzv-spin 1s linear infinite; }
.pzv-root .pzv-spinner svg{ width:100%; height:100%; }
@keyframes pzv-spin{ to{ transform:rotate(360deg); } } .pzv-root .pzv-result-head{ text-align:center; margin-bottom:4px; }
.pzv-root .pzv-kicker{ font-family:var(--pzv-display); font-weight:700; color:var(--pzv-lime); font-size:12px;
letter-spacing:.08em; text-transform:uppercase; display:inline-flex; align-items:center; gap:8px; justify-content:center; }
.pzv-root .pzv-kicker svg{ width:14px; height:14px; } .pzv-root .pzv-recap{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:14px; }
.pzv-root .pzv-chip{ font-weight:500; font-size:13px; color:var(--pzv-navy); background:var(--pzv-soft);
border:1px solid var(--pzv-line); border-radius:var(--pzv-radius-full); padding:5px 13px; }
.pzv-root .pzv-chip.is-dropped{ color:var(--pzv-muted); }
.pzv-root .pzv-chip s{ text-decoration-thickness:1px; }
.pzv-root .pzv-fallback{ display:flex; gap:12px; align-items:flex-start; background:var(--pzv-soft); border:1px solid var(--pzv-line);
border-radius:var(--pzv-radius-md); padding:14px 16px; margin:20px 0 4px; font-weight:400; font-size:15px; color:var(--pzv-ink); }
.pzv-root .pzv-fallback svg{ width:20px; height:20px; color:var(--pzv-muted); flex:none; margin-top:1px; } .pzv-root .pzv-results{ margin-top:22px;
font-size:var(--font-size-base,17px); line-height:var(--line-height-base,1.6); }
.pzv-root .pzv-results .panzi-product-card__title{
margin:0; padding:.5em 0; font-size:1em;
font-weight:var(--font-weight-semibold,600); line-height:1.3; }
.pzv-root .pzv-results .panzi-product-card__media img{ border-radius:0; }
.pzv-root .pzv-results .panzi-product-card a{ text-decoration:none; } .pzv-root .pzv-results .panzi-product-card__cart,
.pzv-root .pzv-results .panzi-product-card__cart:hover,
.pzv-root .pzv-results .panzi-product-card__cart:focus{ color:var(--color-white,#fff); } .pzv-root .pzv-results ul.products > li + li{ margin-top:0; }
.pzv-root .pzv-empty{ text-align:center; padding:24px 10px; color:var(--pzv-muted); font-weight:400; font-size:16px; line-height:1.6; }
.pzv-root .pzv-empty p{ margin:0; } .pzv-root .pzv-advice{ display:flex; align-items:center; justify-content:space-between; gap:14px 20px; flex-wrap:wrap;
background:var(--pzv-soft); border:1px solid var(--pzv-line); border-radius:var(--pzv-radius-md);
padding:16px 18px; margin-top:24px; }
.pzv-root .pzv-advice p{ margin:0; flex:1 1 280px; font-size:15px; line-height:1.55; color:var(--pzv-ink); }
.pzv-root .pzv-advice-btn{ display:inline-flex; align-items:center; gap:8px; flex:none; font-family:var(--pzv-display);
font-weight:600; font-size:15px; color:#fff; background:var(--pzv-lime); border-radius:var(--pzv-radius-full);
padding:10px 20px; text-decoration:none; transition:background var(--pzv-fast); }
.pzv-root .pzv-advice-btn,
.pzv-root .pzv-advice-btn:hover,
.pzv-root .pzv-advice-btn:focus{ color:#fff; text-decoration:none; }
.pzv-root .pzv-advice-btn:hover{ background:var(--pzv-lime-hover); }
.pzv-root .pzv-advice-btn svg{ width:14px; height:14px; }
.pzv-root .pzv-advice-btn:focus-visible{ outline:2px solid var(--pzv-navy); outline-offset:3px; }
.pzv-root .pzv-endrow{ display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:28px; }
.pzv-root .pzv-endrow .pzv-restart{ margin:0; }
.pzv-root .pzv-edit{ display:flex; align-items:center; gap:10px; font-family:var(--pzv-display);
font-weight:600; font-size:16px; color:#fff; background:var(--pzv-navy); border:1px solid var(--pzv-navy);
border-radius:var(--pzv-radius-full); padding:13px 24px; cursor:pointer; transition:background var(--pzv-fast); }
.pzv-root .pzv-edit:hover{ background:var(--pzv-navy-dark); border-color:var(--pzv-navy-dark); }
.pzv-root .pzv-edit svg{ width:16px; height:16px; }
.pzv-root .pzv-edit:focus-visible{ outline:2px solid var(--pzv-navy); outline-offset:3px; }
.pzv-root .pzv-restart{ display:flex; align-items:center; gap:10px; margin:28px auto 0; font-family:var(--pzv-display);
font-weight:600; font-size:16px; color:var(--pzv-navy); background:var(--pzv-white); border:1px solid var(--pzv-navy);
border-radius:var(--pzv-radius-full); padding:13px 24px; cursor:pointer; transition:background var(--pzv-fast),color var(--pzv-fast); }
.pzv-root .pzv-restart:hover{ background:var(--pzv-navy); color:#fff; }
.pzv-root .pzv-restart svg{ width:16px; height:16px; }
.pzv-root .pzv-restart:focus-visible{ outline:2px solid var(--pzv-navy); outline-offset:3px; }
.pzv-root.pzv-setup{ border:1px dashed var(--pzv-navy); border-radius:var(--pzv-radius); padding:16px 18px; color:var(--pzv-navy); font-weight:600; }
.pzv-root.pzv-setup p{ margin:0; }
.pzv-root .pzv-anim{ animation:pzv-pop .28s ease both; }
@keyframes pzv-pop{ from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:none} }
@media (max-width:768px){
.pzv-root .pzv-card{ padding:22px 18px 20px; }
.pzv-root .pzv-options.cols-3{ grid-template-columns:1fr; }
.pzv-root .pzv-options.is-multi{ grid-template-columns:1fr; }
.pzv-root .pzv-opt{ padding:19px 18px; }
.pzv-root .pzv-navhint{ display:none; }
}
@media (prefers-reduced-motion:reduce){
.pzv-root .pzv-anim, .pzv-root .pzv-spinner{ animation:none; }
.pzv-root *{ transition:none !important; }
}