.cleaning-calc {scroll-margin-top:6rem; margin:0 0 2rem; padding:clamp(1rem,3vw,2rem); border:1px solid #cfc9f6; border-radius:1rem; background:#f8f7ff; color:#231f3e;}
.post-content .cleaning-calc h2 {margin:0 0 .5rem;font-size:clamp(1.3rem,3vw,1.65rem);}
.cleaning-calc .cleaning-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.1rem;margin:1rem 0;}
.cleaning-calc label {display:grid;gap:.3rem;font-size:.9rem;font-weight:600;}
.cleaning-calc input,.cleaning-calc select {box-sizing:border-box;width:100%;min-width:0;padding:.65rem .8rem;border:1px solid #aba6bd;border-radius:.5rem;font:inherit;font-weight:400;color:inherit;background:#fff;}
.cleaning-calc summary {cursor:pointer;text-decoration:underline;text-underline-offset:.2em;}
.cleaning-result {padding:1rem 0 .65rem;display:grid;gap:.25rem;}
.cleaning-result strong {font-size:1.25rem;}
.cleaning-result span,.cleaning-calc small {font-size:.9rem;}
.cleaning-calc [role="status"]:empty {display:none;}
.cleaning-calc button {cursor:pointer;border:0;border-radius:.6rem;padding:.8rem 1.1rem;color:white;background:#4f46b9;font:inherit;font-weight:650;}
.cleaning-calc button:hover {background:#3b3299;}
.cleaning-calc small {display:block;margin-top:.4rem;}
.cleaning-calc :focus-visible {outline:3px solid #4840a8;outline-offset:3px;}
.cleaning-links {display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:1rem;font-size:.9rem;}
@media(max-width:520px){.cleaning-calc .cleaning-fields{grid-template-columns:1fr}.cleaning-calc button{width:100%;}}
