/* All frontend rules stay within .vvq: no global body, h1, button or img styles. */
.vvq{--vvq-green:#286c35;--vvq-green-dark:#1d5428;--vvq-orange:#f4972b;--vvq-ink:#233228;--vvq-muted:#58665c;--vvq-line:#dce7da;color:var(--vvq-ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif;max-width:1040px;margin:32px auto;padding:24px;background:linear-gradient(140deg,#f4f9f0,#fff9ef);border:1px solid #e2eada;border-radius:26px;isolation:isolate}
.vvq *,.vvq *::before,.vvq *::after{box-sizing:border-box}
.vvq [hidden]{display:none!important}
.vvq h2,.vvq h3,.vvq h4,.vvq p{color:inherit;font-family:inherit;text-transform:none;letter-spacing:normal;margin:0 0 14px;padding:0}
.vvq .vvq-hero{text-align:center;margin:2px auto 26px;max-width:720px}
.vvq .vvq-eyebrow{display:inline-flex;padding:5px 13px;margin-bottom:14px;border-radius:99px;border:1px solid #f3cf9d;background:#fff0db;color:#824716;font-size:12px;font-weight:800;letter-spacing:.05em}
.vvq .vvq-hero h2{font-size:clamp(26px,4vw,42px);font-weight:800;line-height:1.14;text-wrap:balance}
.vvq .vvq-hero h2::after{content:"";display:block;width:78px;height:5px;margin:18px auto;background:linear-gradient(90deg,var(--vvq-green) 55%,var(--vvq-orange) 55%);border-radius:10px}
.vvq .vvq-hero p{color:var(--vvq-muted);font-size:16px;line-height:1.65}
.vvq .vvq-panel{background:#fff;border:1px solid var(--vvq-line);border-top:5px solid var(--vvq-orange);border-radius:20px;padding:clamp(20px,4vw,36px);box-shadow:0 16px 45px #264f2410}
.vvq .vvq-progress-row{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.vvq .vvq-progress-row span{white-space:nowrap;font-size:13px;font-weight:700;color:var(--vvq-muted)}
.vvq progress{appearance:none;-webkit-appearance:none;display:block;flex:1;width:100%;height:8px;border:0;border-radius:10px;background:#edf2e9;overflow:hidden}
.vvq progress::-webkit-progress-bar{background:#edf2e9;border-radius:10px}
.vvq progress::-webkit-progress-value{background:linear-gradient(90deg,var(--vvq-green),#70a84c,var(--vvq-orange));border-radius:10px}
.vvq progress::-moz-progress-bar{background:linear-gradient(90deg,var(--vvq-green),var(--vvq-orange));border-radius:10px}
.vvq .vvq-fieldset{margin:0;padding:0;border:0;min-width:0}
.vvq .vvq-fieldset legend{display:block;width:100%;font-size:clamp(21px,3vw,28px);font-weight:760;line-height:1.3;padding:0;margin:0 0 12px;float:none}
.vvq [data-focus]:focus{outline:none}
.vvq .vvq-help{color:var(--vvq-muted);font-size:15px;margin-bottom:20px;white-space:pre-line}
.vvq .vvq-options{display:grid;gap:10px}
.vvq .vvq-option{display:flex;align-items:center;gap:13px;min-height:57px;margin:0;padding:15px 17px;border:1px solid var(--vvq-line);border-radius:13px;background:#fff;color:var(--vvq-ink);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}
.vvq .vvq-option:hover{background:#f6faf3;border-color:#95bd88}
.vvq .vvq-option.is-selected{border-color:var(--vvq-green);box-shadow:inset 0 0 0 1px var(--vvq-green);background:linear-gradient(90deg,#eff8e9,#fff9f0)}
.vvq .vvq-option input{appearance:auto!important;-webkit-appearance:radio!important;position:static!important;opacity:1!important;display:block!important;flex-shrink:0;width:19px;height:19px;margin:0;accent-color:var(--vvq-green)}
.vvq .vvq-option span{font-size:16px;line-height:1.5}
.vvq .vvq-option:focus-within{outline:3px solid #133e21;outline-offset:3px}
.vvq .vvq-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-top:25px}
.vvq .vvq-btn{appearance:none;border:0;border-radius:11px;min-height:46px;padding:12px 19px;font:700 15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer;text-transform:none;letter-spacing:0;box-shadow:none;text-decoration:none}
.vvq .vvq-btn::before,.vvq .vvq-btn::after{display:none}
.vvq .vvq-primary{background:var(--vvq-green);color:white}
.vvq .vvq-primary:hover:not(:disabled){background:var(--vvq-green-dark);color:white}
.vvq .vvq-secondary{background:#edf2e8;color:#374d3b}
.vvq .vvq-secondary:hover:not(:disabled){background:#e0ead9;color:#233a28}
.vvq .vvq-btn:disabled{opacity:.42;cursor:not-allowed}
.vvq .vvq-btn:focus-visible,.vvq a:focus-visible,.vvq summary:focus-visible{outline:3px solid #132f1c;outline-offset:4px}
.vvq .vvq-privacy{text-align:center;color:#58665c;font-size:12px;margin:18px 0 0}
.vvq .vvq-badge{display:inline-block;padding:6px 12px;margin-bottom:12px;background:#edf7e8;color:#23562c;border-radius:30px;font-size:13px;font-weight:750}
.vvq .vvq-result-title{font-size:clamp(24px,4vw,32px);font-weight:800;line-height:1.2}
.vvq .vvq-result-copy{color:var(--vvq-muted);white-space:pre-line;font-size:16px}
.vvq .vvq-products-lead{font-size:13px;color:var(--vvq-muted);margin-top:22px}
.vvq .vvq-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:15px 0 22px}
.vvq .vvq-product{display:flex;flex-direction:column;min-width:0;padding:17px;background:#fff;border:1px solid var(--vvq-line);border-top:4px solid var(--vvq-orange);border-radius:16px;overflow:hidden}
.vvq .vvq-rank{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--vvq-green);margin-bottom:12px}
.vvq .vvq-image-wrap{height:185px;display:flex;align-items:center;justify-content:center;border-radius:10px;margin-bottom:15px;background:#fff;border:1px solid #eff2eb;overflow:hidden}
.vvq .vvq-image{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;padding:8px;margin:0;border:0}
.vvq .vvq-image-empty{font-size:13px;color:var(--vvq-muted);text-align:center;padding:12px}
.vvq .vvq-brand{align-self:flex-start;color:var(--vvq-green);background:#eff6ea;border-radius:8px;padding:3px 8px;font-weight:750;font-size:12px;margin-bottom:8px}
.vvq .vvq-product h4{font-size:18px;line-height:1.35;font-weight:750;overflow-wrap:anywhere}
.vvq .vvq-product-note{font-size:13px;line-height:1.65;color:var(--vvq-muted);flex-grow:1}
.vvq .vvq-price{font-size:20px;font-weight:800;margin:8px 0 14px;line-height:1.5}
.vvq .vvq-price del{color:#627063;font-size:13px;font-weight:500}
.vvq .vvq-price ins{text-decoration:none;background:transparent}
.vvq .vvq-product-link{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;font-size:13px;line-height:1.4;font-weight:800;border-radius:9px;padding:12px 8px;color:#3b2b0e!important;background:var(--vvq-orange);text-decoration:none!important;box-shadow:none;border:none}
.vvq .vvq-product-link:hover{background:#ffaa45;color:#3b2b0e!important}
.vvq .vvq-notice,.vvq .vvq-empty{background:#fff8ed;border:1px solid #efd8b8;border-radius:12px;padding:16px;color:#674821;font-size:13px;line-height:1.7;white-space:pre-line;margin-top:18px}
.vvq .vvq-notice button{margin-top:12px}
.vvq .vvq-review{margin-top:18px;font-size:13px;border-top:1px solid var(--vvq-line);padding-top:14px}
.vvq .vvq-review summary{cursor:pointer;font-weight:700;color:var(--vvq-green)}
.vvq .vvq-review dl{margin:12px 0 0}
.vvq .vvq-review dt{font-weight:700}
.vvq .vvq-review dd{margin:0 0 12px;color:var(--vvq-muted)}
.vvq .vvq-review pre{white-space:pre-wrap}
.vvq .vvq-loading{margin-top:20px;padding:16px;border-radius:12px;background:#f3f8ef;color:var(--vvq-green)}
@media(max-width:740px){.vvq{padding:14px;margin:16px auto;border-radius:18px}.vvq .vvq-products{grid-template-columns:1fr}.vvq .vvq-image-wrap{height:210px}.vvq .vvq-product{padding:20px}.vvq .vvq-actions{gap:10px}.vvq .vvq-btn{font-size:14px;padding:12px 14px}}
@media(prefers-reduced-motion:reduce){.vvq *{transition:none!important;scroll-behavior:auto!important}}

/* v1.1: explicit preference summary, scoped to the quiz. */
.vvq .vvq-selection-notes { background:#f3f8ee; border:1px solid #d8e8ce; border-radius:16px; padding:16px 20px; margin:18px 0; }
.vvq .vvq-selection-notes h4 { margin:0 0 8px; font-size:16px; color:#245b2d; }
.vvq .vvq-selection-notes p { margin:6px 0; font-size:14px; line-height:1.55; color:#425640; }
