/* FoodAgri visual kit for guides and compare page. Uses the page's own colour tokens. */
.fv-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--soft);padding:22px;margin:26px 0}
.fv-kick{font-family:"IBM Plex Mono",monospace;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--tomt);display:block;margin-bottom:8px}
.fv-btn{display:inline-flex;align-items:center;gap:.4em;min-height:48px;padding:.7em 1.2em;font-weight:700;font-size:1rem;text-decoration:none;border:1px solid var(--line);background:var(--btn);color:var(--btnt);box-shadow:var(--soft);cursor:pointer;transition:box-shadow .15s}
.fv-btn:hover{transform:translate(-2px,-2px);box-shadow:var(--soft)}
.fv-btn.alt{background:var(--paper);color:var(--ink)}
/* beat the page rule .art a{color:var(--pal)} */
.art a.fv-btn,main a.fv-btn{color:var(--btnt)}.art a.fv-btn.alt,main a.fv-btn.alt{color:var(--ink)}
.fv-band a.fv-btn{color:#0c1410}.fv-band a.fv-btn.alt{color:var(--docktxt)}
.fv-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
/* short answer callout */
.fv-tldr{border-left:8px solid var(--tom);background:var(--paper);padding:16px 18px;margin:20px 0}
.fv-tldr h2{margin-top:0!important}
/* step diagram */
.fv-steps{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),1fr);gap:0;counter-reset:s}
.fv-steps li{position:relative;text-align:center;padding:0 6px;counter-increment:s}
.fv-steps li:before{content:"";position:absolute;top:30px;left:50%;width:100%;height:3px;background:var(--edge)}
.fv-steps li:last-child:before{display:none}
.fv-steps .ic{position:relative;z-index:1;width:60px;height:60px;margin:0 auto 10px;border:1px solid var(--line);background:var(--paper);display:grid;place-items:center;border-radius:50%}
.fv-steps .ic svg{width:30px;height:30px;stroke:var(--ink);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.fv-steps li:nth-child(odd) .ic{background:var(--tom)}
.fv-steps li:nth-child(odd) .ic svg{stroke:#0c1410}
.fv-steps b{display:block;font-size:.98rem;line-height:1.2}
.fv-steps b:before{content:counter(s) ". ";color:var(--tomt)}
.fv-steps span{display:block;font-size:.85rem;color:var(--mut);margin-top:4px;line-height:1.35}
@media(max-width:640px){.fv-steps{grid-template-columns:1fr;gap:14px}.fv-steps li{display:grid;grid-template-columns:60px 1fr;gap:12px;text-align:left;align-items:center;padding:0}
 .fv-steps li:before{top:60px;left:29px;width:3px;height:calc(100% - 46px)}.fv-steps .ic{margin:0}}
/* value box */
.fv-box{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:760px){.fv-box{grid-template-columns:1fr}}
.fv-box h3{margin:0 0 6px}
.fv-box label{display:block;font-weight:700;margin:14px 0 6px;font-size:.95rem}
.fv-row{display:flex;gap:12px;align-items:center}
.fv-row input[type=range]{flex:1;min-width:0;accent-color:var(--tom)}
.fv-row output{min-width:80px;text-align:right;font-family:"IBM Plex Mono",monospace;font-weight:600}
.fv-box select{width:100%;min-height:44px;font:inherit;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:6px}
.fv-chk{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:8px}
@media(max-width:480px){.fv-chk{grid-template-columns:1fr}}
.fv-chk label{display:flex;gap:8px;align-items:flex-start;font-weight:500;margin:0;min-height:32px}
.fv-chk input{width:20px;height:20px;accent-color:var(--tom);flex:none;margin-top:3px}
.fv-big{font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:clamp(2.4rem,7vw,3.6rem);line-height:1;color:var(--ink);margin:6px 0}
.fv-out{background:var(--bg);border:1px solid var(--line);padding:18px}
.fv-out p{color:var(--ink)}
.fv-out ul{margin:10px 0 0;padding-left:20px}
.fv-meter{height:18px;border:1px solid var(--line);background:var(--paper);margin:10px 0}
.fv-meter i{display:block;height:100%;background:var(--tom);width:0;transition:none}
.fv-bar{display:flex;height:44px;border:1px solid var(--line);margin:12px 0 8px;overflow:hidden}
.fv-bar div{display:grid;place-items:center;font:600 .78rem "IBM Plex Mono",monospace;color:#0c1410;min-width:0;overflow:hidden;transition:none}
.fv-note{font-size:.8rem;color:var(--mut);margin-top:12px}
/* cta band */
.fv-band{background:var(--dock);color:var(--docktxt);border:1px solid var(--line);padding:24px;margin:30px 0;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center}
.fv-band p{color:var(--docktxt);margin:6px 0 0}
.fv-band h3{color:var(--docktxt);margin:0}
.fv-band .fv-btn{background:var(--tom);color:#0c1410}
.fv-band .fv-btn.alt{background:transparent;color:var(--docktxt);border-color:var(--docktxt);box-shadow:none}
@media(max-width:640px){.fv-band{grid-template-columns:1fr}}
/* faq */
.fv-faq details{border:1px solid var(--line);background:var(--paper);margin:10px 0}
.fv-faq summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;min-height:48px;align-items:center}
.fv-faq summary::-webkit-details-marker{display:none}
.fv-faq summary:after{content:"+";font-size:1.4rem;color:var(--tomt)}
.fv-faq details[open] summary:after{content:"−"}
.fv-faq details p{padding:0 16px 14px;margin:0}
