/* Carpet demo: quantity steppers, larger small print, sticky total on phones. Loads after ../styles.css. */
.counter-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.counter{border:1px solid var(--line);padding:12px;border-radius:10px;display:flex;align-items:center;gap:10px;min-height:65px}.counter.selected{background:#f8faf2;border-color:#c3d2ae}.counter label{flex:1;cursor:pointer}.counter strong{font-size:13px;display:block}.counter small{font-size:12px;color:#6f7a6b;display:block;margin-top:4px}
.stepper{display:flex;align-items:center;border:1px solid #dce2d4;border-radius:8px;background:#fff;overflow:hidden;flex-shrink:0}.stepper button{width:36px;height:38px;border:0;background:#f2f4ed;color:var(--ink);font-size:18px;line-height:1}.stepper input{width:40px;height:38px;border:0;text-align:center;font-weight:700;font-size:15px;color:var(--ink);background:#fff;appearance:textfield;-moz-appearance:textfield}.stepper input::-webkit-inner-spin-button,.stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper input[aria-invalid=true]{background:#fbeceb;color:#b63c31}
.small-note,.optional,.range-labels{font-size:12px}.extra strong{font-size:13px}.extra small{font-size:12px}.breakdown{font-size:13px}.estimate-note{font-size:12px}.demo-note p{font-size:11px}.demo-note strong{font-size:12px}.benefits strong{font-size:13px}.benefits small{font-size:12px}footer p,footer button{font-size:12px}
#estimate-title{scroll-margin-top:20px}.mobile-total{display:none}
@media(max-width:950px){.counter-grid{grid-template-columns:1fr}}
@media(max-width:720px){.counter-grid{grid-template-columns:1fr}.counter strong{font-size:15px}.counter small{font-size:13px}.stepper button{width:44px;height:44px;font-size:20px}.stepper input{width:44px;height:44px;font-size:17px}.lead{font-size:14px}.small-note,.optional,.breakdown,.estimate-note,.demo-note p,.benefits small,footer p,footer button{font-size:13px}.extra strong{font-size:15px}.extra small{font-size:13px}.total-wrap>span,.estimate-card .secondary-button{font-size:13px}
  main{padding-bottom:84px}.toast{bottom:88px}
  .mobile-total{position:fixed;left:12px;right:12px;bottom:12px;z-index:4;display:flex;align-items:center;gap:12px;padding:12px 18px;background:var(--green);color:#fff;border-radius:14px;text-decoration:none;box-shadow:0 8px 24px #0003;transition:opacity .2s,transform .2s}.mobile-total strong{font-size:22px;margin-right:auto}.mobile-total span{font-size:13px;color:#d3decb}.mobile-total.hidden-by-card{opacity:0;transform:translateY(20px);pointer-events:none}}
@media(max-width:370px){.stepper button{width:40px}.stepper input{width:38px}}
@media print{.mobile-total{display:none!important}}
