/* Guided kit builder; all controls stay readable and reachable on small phones. */
.rvv-kit-builder{color:#172821;background:#fff;max-width:960px;margin:0 auto;font-size:16px;line-height:1.45}
.rvv-kit-builder *{box-sizing:border-box}
.rvv-kb-heading{margin:0 0 18px}
.rvv-kb-heading h2{font-size:clamp(23px,4vw,29px);line-height:1.2;margin:0 0 6px}
.rvv-kb-heading p,.rvv-kb-intro p{margin:0;color:#43574e}
.rvv-kb-families{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}
.rvv-kb-choice{border:1px solid #afc1b7;background:#fff;color:#172821;min-height:44px;min-width:44px;padding:10px 14px;font:inherit;font-size:16px;line-height:1.25;border-radius:10px;cursor:pointer;text-align:center;overflow-wrap:anywhere}
.rvv-kb-choice:hover{border-color:#234e3b;background:#f4f8f5}
.rvv-kb-choice.is-selected{border:2px solid #234e3b;background:#edf5ef;padding:9px 13px;color:#143c2b;box-shadow:0 0 0 1px #234e3b}
.rvv-kb-choice:focus-visible,.rvv-kit-builder input:focus-visible,.rvv-kit-builder select:focus-visible,.rvv-kb-photo:focus-visible,.rvv-kb-extras summary:focus-visible{outline:3px solid #b58a00;outline-offset:3px}
.rvv-kb-family{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px 8px;font-weight:700}
.rvv-kb-family.is-selected{padding:8px 7px}
.rvv-kb-family svg{width:100%;height:68px;max-width:110px;display:block}
.rvv-kb-family span{font-size:15px}
.rvv-kb-body{display:grid;gap:20px}
.rvv-kb-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rvv-kb-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:16px;font-weight:700}
.rvv-kb-field>span small{font-weight:400}
.rvv-kb-field input,.rvv-kb-field select{width:100%;max-width:100%;min-height:48px;margin:0;border:1px solid #91a99b;border-radius:8px;background:#fff;color:#172821;padding:10px 12px;font:inherit;font-size:16px;line-height:1.3;font-weight:500}
.rvv-kb-field input[type=number]{max-width:160px;font-size:22px;font-weight:700}
.rvv-kb-field small,.rvv-kb-muted{font-size:14px;font-weight:400;line-height:1.45;color:#465c50}
.rvv-kb-muted{margin:7px 0 0}
.rvv-kb-fieldset{border:0;margin:0;padding:0;min-width:0}
.rvv-kb-fieldset legend{font-size:17px;font-weight:750;padding:0;margin-bottom:10px}
.rvv-kb-fieldset legend span{display:block;font-size:14px;line-height:1.4;font-weight:400;color:#465c50}
.rvv-kb-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.rvv-kb-model-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:16px;align-items:center}
.rvv-kb-photo{border:0;background:#f5f7f5;border-radius:10px;overflow:hidden;padding:5px;cursor:pointer;color:#3d5148;min-height:90px}
.rvv-kb-photo img{width:100%;height:85px;display:block;object-fit:contain}
.rvv-kb-photo span{display:block;font-size:12px;line-height:1.5;padding-top:3px}
.rvv-kb-network-photo{display:flex;align-items:center;gap:14px;margin:0;padding:10px;background:#f5f8f6;border-radius:10px}
.rvv-kb-network-photo>button{flex:0 0 120px;padding:0;border:0;background:#fff;border-radius:7px;cursor:pointer}
.rvv-kb-network-photo img{display:block;width:120px;height:100px;object-fit:contain}
.rvv-kb-network-photo figcaption{min-width:0;font-size:14px;color:#3e5549}
.rvv-kb-network-photo figcaption>strong,.rvv-kb-network-photo figcaption>span{display:block;margin:0 0 4px}
.rvv-kb-network-photo summary{cursor:pointer;min-height:32px;padding:5px 0}
.rvv-kb-network-photo details p{font-size:13px;margin:5px 0;line-height:1.4}
.rvv-kb-fit,.rvv-kb-note{padding:14px 16px;background:#edf5f8;border-left:4px solid #397289;border-radius:7px}
.rvv-kb-fit>strong{font-size:17px}
.rvv-kb-fit p{margin:5px 0 0;color:#354f5a;font-size:15px}
.rvv-kb-fit ul{margin:8px 0 0;padding-left:20px;font-size:15px}
.rvv-kb-fit li{margin:4px 0}
.rvv-kb-warning{padding:10px 12px;border-radius:7px;background:#fff5d6;color:#60480c;font-size:14px;line-height:1.45;margin:10px 0 0}
.rvv-kb-intro h3{margin:0 0 5px;font-size:22px}
.rvv-kb-extras{border:1px solid #c6d5cb;border-radius:10px;padding:0 14px}
.rvv-kb-extras summary{cursor:pointer;min-height:48px;padding:13px 0;font-size:16px;font-weight:700}
.rvv-kb-extras[open]{padding-bottom:16px}
.rvv-kb-extras[open]>.rvv-kb-field,.rvv-kb-extras[open]>.rvv-kb-fieldset{margin-top:16px}
.rvv-kb-summary{border-top:1px solid #d3dfd7;margin-top:24px;padding-top:18px}
.rvv-kb-summary>strong{display:block;font-size:18px;margin-bottom:12px}
.rvv-kb-summary .rvv-explore-summary{margin:0}
.rvv-kb-review{padding:13px 15px;background:#fff8df;color:#57450c;border-radius:9px;font-size:15px;margin:0}
.rvv-kb-review>strong{display:block;margin-bottom:5px;font-size:16px}
.rvv-kb-actions{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-top:20px;padding:12px 0 4px}
.rvv-kb-actions .monthly-btn{min-height:48px;font-size:16px;white-space:normal}
.rvv-kit-builder .monthly-btn.secondary{color:#234331;background:#fff;border:1px solid #9db3a5}
@media(max-width:600px){
 .rvv-kb-heading{margin-bottom:14px}
 .rvv-kb-families{gap:7px;margin-bottom:18px}
 .rvv-kb-family{padding:8px 4px}
 .rvv-kb-family.is-selected{padding:7px 3px}
 .rvv-kb-family svg{height:55px}
 .rvv-kb-family span{font-size:14px}
 .rvv-kb-two{grid-template-columns:1fr;gap:18px}
 .rvv-kb-model-row{grid-template-columns:minmax(0,1fr) 96px;gap:10px}
 .rvv-kb-photo img{height:65px}
 .rvv-kb-photo span{font-size:11px}
 .rvv-kb-network-photo{gap:10px}
 .rvv-kb-network-photo>button{flex-basis:88px}
 .rvv-kb-network-photo img{width:88px;height:82px}
 .rvv-kb-field input[type=number]{max-width:140px}
 .rvv-kb-actions{flex-direction:column-reverse;align-items:stretch}
 .rvv-kb-actions .monthly-btn{width:100%}
 .rvv-kb-fit{padding:12px}
}

.monthly-choice-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:7px}
.monthly-choice-buttons button{min-height:44px;border:1px solid #91a99b;border-radius:9px;background:#fff;color:#172821;padding:10px 13px;font:inherit;font-size:16px;line-height:1.3;cursor:pointer}
.monthly-choice-buttons button[aria-pressed=true]{border:2px solid #234e3b;padding:9px 12px;background:#edf5ef;font-weight:700}
.monthly-choice-buttons button:focus-visible{outline:3px solid #b58a00;outline-offset:3px}
