.container--gravel{max-width:1200px}.gravel-intro{background:linear-gradient(145deg,#e6eee4,#f3eee3);border:1px solid #c5d3bf;border-radius:24px;padding:clamp(1.25rem,4vw,2.4rem);margin-bottom:1.4rem}.gravel-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.92fr);gap:1rem;align-items:start}.gravel-inputs{display:grid;gap:1rem;min-width:0}.gravel-panel{min-width:0}.gravel-modes{display:flex;gap:.65rem;flex-wrap:wrap;border:0;padding:0;margin:.75rem 0 0}.gravel-modes legend{font-weight:800;margin-bottom:.45rem;width:100%}.gravel-mode{display:flex;align-items:center;gap:.45rem;border:1px solid #92a58b;border-radius:999px;background:#f5f8f3;padding:.55rem .8rem;font-weight:700;cursor:pointer}.gravel-mode:has(input:checked){background:#3d5d35;color:#fff;border-color:#3d5d35}.gravel-mode input,.gravel-check input{width:1.1rem;height:1.1rem;accent-color:#3d5d35;flex:0 0 auto}.gravel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:.8rem}.gravel-fields--three{grid-template-columns:repeat(3,minmax(0,1fr))}.gravel-fields--single{grid-template-columns:minmax(0,1fr)}.gravel-fields[hidden]{display:none}.gravel-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem;align-items:center;min-width:0;font-weight:700}.gravel-field>span:first-child{grid-column:1/-1}.gravel-field input{grid-column:1;min-width:0;width:100%;min-height:46px;border:2px solid #839b7b;border-radius:10px;background:#fff;color:#1d291a;padding:.7rem .75rem;font:inherit}.gravel-field select{grid-column:2;min-height:46px;border:2px solid #839b7b;border-radius:10px;background:#fff;color:#1d291a;padding:.6rem .7rem;font:inherit;font-weight:800}.gravel-field input:focus-visible,.gravel-field select:focus-visible,.gravel-mode:focus-within,.gravel-check:focus-within{outline:3px solid #f2b84b;outline-offset:2px}.gravel-unit{grid-column:2;color:#486142;font-weight:800;white-space:nowrap}.gravel-field small{grid-column:1/-1;color:#586a53;font-weight:500;line-height:1.45}.gravel-check{display:flex;align-items:center;gap:.55rem;border:1px solid #9ead98;border-radius:12px;background:#f5f8f3;padding:.8rem;font-weight:800;cursor:pointer}.gravel-fields.is-disabled{opacity:.58}.gravel-bag-options{margin-top:.8rem}.gravel-error{min-height:1.5em;color:#a12626;font-weight:800;margin:.8rem 0 0}.gravel-results{position:sticky;top:1rem}.gravel-primary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:.65rem}.gravel-primary article{min-width:0;border-radius:14px;background:#3d5d35;color:#fff;padding:1rem}.gravel-primary h3{font-size:.9rem;margin:0 0 .35rem;color:#e1eddd}.gravel-primary output{display:block;font-size:clamp(1.35rem,3vw,2rem);font-weight:900;overflow-wrap:anywhere}.gravel-primary p{margin:.25rem 0 0;color:#e8f2e4;font-weight:800;overflow-wrap:anywhere}.gravel-note{color:#52634e;line-height:1.65;margin:.8rem 0}.gravel-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:1rem 0;border:1px solid #d4ded0;border-radius:12px;overflow:hidden}.gravel-summary div{min-width:0;padding:.7rem;border-bottom:1px solid #d4ded0}.gravel-summary div:nth-child(odd){border-right:1px solid #d4ded0}.gravel-summary div:last-child{border-bottom:0}.gravel-summary dt{font-size:.8rem;color:#596b54}.gravel-summary dd{margin:.15rem 0 0;font-weight:800;overflow-wrap:anywhere}.gravel-actions{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:1rem}.gravel-guide{margin-top:1.25rem}.gravel-guide code{overflow-wrap:anywhere}.gravel-faq details{border-top:1px solid #d4dfd0;padding:.75rem 0}.gravel-faq summary{font-weight:800;cursor:pointer}.gravel-faq p{margin-bottom:0}
@media(max-width:920px){.gravel-layout{grid-template-columns:1fr}.gravel-results{position:static}}
@media(max-width:740px){.gravel-fields--three{grid-template-columns:1fr}}
@media(max-width:640px){.gravel-fields,.gravel-primary,.gravel-summary{grid-template-columns:1fr}.gravel-summary div,.gravel-summary div:nth-child(odd){border-right:0;border-bottom:1px solid #d4ded0}.gravel-summary div:last-child{border-bottom:0}.gravel-mode{width:100%}.gravel-actions .button{flex:1 1 100%}.gravel-field--select{grid-template-columns:minmax(0,1fr) minmax(96px,auto)}}
@media(max-width:360px){.gravel-intro,.gravel-panel{padding-left:.8rem;padding-right:.8rem}.gravel-field input,.gravel-field select{font-size:16px}}
