/* Maple Estimator — calculator styles (from the tested maplecarpetcleaning.net build). */
/* ===== MCC Estimator ===== */
.mcc-est{--pine:#102C23;--ink:#0B1611;--maple:#D9741C;--ml:#F2A94E;--ember:#A93F1B;--bone:#F4F1E8;--paper:#FCFAF5;--stone:#5B6A62;--sage:#8FAF97;--mist:#D8E3D8;--moss:#2C6B4F;font-family:"Instrument Sans",sans-serif;color:var(--pine)}
.mcc-est *,.mcc-est *::before,.mcc-est *::after{box-sizing:border-box}
.mcc-est [hidden]{display:none!important}
.mcc-est p,.mcc-est h3,.mcc-est h4,.mcc-est dl,.mcc-est ul{margin:0}
.mcc-est svg{display:block;flex:0 0 auto}
.mcc-est button{font:inherit;cursor:pointer;border-radius:0;-webkit-appearance:none;appearance:none}
.mcc-est .est-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:1025px){.mcc-est .est-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}.mcc-est .est-controls{grid-column:span 7}.mcc-est .est-summary{grid-column:span 5}}
@media(min-width:1280px){.mcc-est .est-controls{grid-column:span 8}.mcc-est .est-summary{grid-column:span 4}}
.mcc-est[data-stage=done] .est-summary{display:none}
.mcc-est[data-stage=done] .est-controls{grid-column:1/-1}
.mcc-est .est-controls{display:flex;flex-direction:column;gap:24px;min-width:0}
.mcc-est .est-card{background:var(--paper);border:1px solid rgba(216,227,216,.18);padding:24px}
@media(min-width:768px){.mcc-est .est-card{padding:36px}}
.mcc-est .est-details{border-color:rgba(217,116,28,.45)}
.mcc-est .est-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:20px;border-bottom:1px solid rgba(16,44,35,.12)}
.mcc-est .est-ttl{display:flex;align-items:center;gap:12px}
.mcc-est .est-num{font:400 10.5px/1 "IBM Plex Mono",monospace;color:var(--maple)}
.mcc-est .est-ttl h3{font:800 clamp(1.3rem,2.4vw,1.85rem)/1.05 "Bricolage Grotesque",sans-serif;letter-spacing:-.035em;color:var(--pine)}
.mcc-est .est-sel{font:400 10px/1.4 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--stone);white-space:nowrap}
.mcc-est .est-items{display:grid;grid-template-columns:1fr;gap:12px;margin-top:4px}
@media(min-width:640px){.mcc-est .est-items{grid-template-columns:1fr 1fr}}
.mcc-est .est-cat{grid-column:1/-1;margin-top:20px;padding-bottom:12px;border-bottom:1px solid rgba(16,44,35,.15);font:800 20px/1.1 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em;color:var(--pine)}
.mcc-est .est-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid rgba(16,44,35,.14);background:var(--bone);transition:border-color .4s,background-color .4s,box-shadow .4s}
.mcc-est .est-item:hover{border-color:rgba(16,44,35,.3)}
.mcc-est .est-item.is-live{border-color:rgba(217,116,28,.55);background:rgba(217,116,28,.055);box-shadow:inset 3px 0 0 0 var(--maple)}
.mcc-est .est-item-txt{min-width:0}
.mcc-est .est-item-l{font:700 15.5px/1.25 "Bricolage Grotesque",sans-serif;letter-spacing:-.02em;color:var(--pine)}
.mcc-est .est-item-h{margin-top:2px;font:400 9.5px/1.4 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--stone)}
.mcc-est .est-step{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.mcc-est .est-btn{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid rgba(16,44,35,.2);background:transparent;color:var(--pine);transition:all .3s}
.mcc-est .est-btn svg{width:14px;height:14px}
.mcc-est .est-btn:hover:not(:disabled){border-color:var(--maple);background:var(--maple);color:var(--paper)}
.mcc-est .est-btn:disabled{opacity:.25;cursor:default}
.mcc-est .est-count{width:36px;text-align:center;font:800 20px/1 "Bricolage Grotesque",sans-serif;font-variant-numeric:tabular-nums;color:rgba(16,44,35,.4);transition:color .3s}
.mcc-est .est-item.is-live .est-count{color:var(--maple)}
.mcc-est .est-err{margin-top:16px;font:400 9.5px/1.4 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ember)}
.mcc-est .est-fields{display:grid;grid-template-columns:1fr;gap:16px;margin-top:24px}
@media(min-width:640px){.mcc-est .est-fields{grid-template-columns:1fr 1fr}}
.mcc-est .est-field{display:block}
.mcc-est .est-full{margin-top:20px}
.mcc-est .est-lbl{display:block;font:400 9.5px/1.4 "IBM Plex Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}
.mcc-est input,.mcc-est select,.mcc-est textarea{display:block;width:100%;margin-top:8px;padding:14px 16px;border:1px solid rgba(16,44,35,.2);border-radius:0;background:var(--bone);font:400 15px/1.4 "Instrument Sans",sans-serif;color:var(--pine);outline:none;box-shadow:none;transition:border-color .3s}
.mcc-est select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23102C23' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}
.mcc-est textarea{resize:vertical;min-height:110px}
.mcc-est input::placeholder,.mcc-est textarea::placeholder{color:rgba(91,106,98,.45)}
.mcc-est input:hover,.mcc-est select:hover,.mcc-est textarea:hover{border-color:rgba(16,44,35,.4)}
.mcc-est input:focus,.mcc-est select:focus,.mcc-est textarea:focus{border-color:var(--maple)}
.mcc-est input.is-err{border-color:var(--ember)}
.mcc-est .est-ferr{display:block;margin-top:6px;font:400 9.5px/1.4 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--ember)}
.mcc-est .est-zipline{display:flex;align-items:center;gap:6px;margin-top:8px;font:400 10px/1.4 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase}
.mcc-est .est-zipline:empty{display:none}
.mcc-est .est-zipline svg{width:14px;height:14px}
.mcc-est .est-zipline.is-yes{color:var(--moss)}
.mcc-est .est-zipline.is-edge{color:var(--maple)}
.mcc-est .est-zipline.is-edge svg{width:12px;height:12px}
.mcc-est .est-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.mcc-est .est-note{margin-top:20px;font:400 9.5px/1.6 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--stone)}
.mcc-est .est-maple{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 24px;border:0;background:var(--maple);color:#fff;font:700 17px/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.01em;text-decoration:none;box-shadow:0 10px 26px -12px rgba(169,63,27,.85);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),background-color .3s}
.mcc-est .est-maple svg{width:18px;height:18px;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.mcc-est .est-maple:hover:not([aria-disabled=true]):not(:disabled){background:var(--ember);color:#fff;transform:translateY(-3px);box-shadow:0 20px 40px -14px rgba(169,63,27,.9)}
.mcc-est .est-maple:hover:not([aria-disabled=true]):not(:disabled) svg:last-child{transform:translateX(6px)}
.mcc-est .est-maple::before{content:"";position:absolute;top:0;bottom:0;left:0;width:34%;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent)}
.mcc-est .est-maple:hover:not([aria-disabled=true]):not(:disabled)::before{opacity:1;animation:mcc-sheen .85s ease-out}
.mcc-est .est-maple[aria-disabled=true]{opacity:.55;cursor:default;box-shadow:none}
.mcc-est .est-submit{margin-top:24px}
.mcc-est .est-submit:disabled{opacity:.7;cursor:progress}
.mcc-est .est-alert{margin-top:16px;padding:16px;border:1px solid rgba(217,116,28,.5);background:rgba(217,116,28,.1);font-size:14px;line-height:1.6;color:var(--pine)}
.mcc-est .est-done{display:flex;flex-direction:column;align-items:flex-start;border-color:rgba(217,116,28,.35);padding:32px;outline:none}
@media(min-width:768px){.mcc-est .est-done{padding:56px}}
.mcc-est .est-done-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--maple);color:var(--paper)}
.mcc-est .est-done-ic svg{width:32px;height:32px}
.mcc-est .est-done-eb{margin-top:28px;font:500 10.5px/1.4 "IBM Plex Mono",monospace;letter-spacing:.26em;text-transform:uppercase;color:var(--maple)}
.mcc-est .est-done-h{margin-top:12px;font:800 clamp(2rem,4.6vw,3.4rem)/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.045em;color:var(--pine)}
.mcc-est .est-done-p{margin-top:20px;max-width:58ch;font-size:16px;line-height:1.72;color:var(--stone)}
.mcc-est .est-done-p strong{color:var(--pine)}
.mcc-est .est-done-btns{display:flex;flex-direction:column;gap:12px;margin-top:32px}
@media(min-width:640px){.mcc-est .est-done-btns{flex-direction:row}}
.mcc-est .est-callbtn{width:auto;font-size:18px;padding:16px 24px}
.mcc-est .est-callbtn svg{width:18px;height:18px}
.mcc-est .est-ghostbtn{padding:16px 24px;border:1px solid rgba(16,44,35,.25);background:transparent;font:400 11px/1 "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--pine);transition:all .3s}
.mcc-est .est-ghostbtn:hover{border-color:var(--maple);color:var(--maple)}
@media(min-width:1025px){.mcc-est .est-sticky{position:sticky;top:112px}}
.mcc-est .est-sum{position:relative;padding:28px;background-color:var(--pine);background-image:repeating-linear-gradient(92deg,rgba(255,255,255,.035) 0 1px,transparent 1px 5px),repeating-linear-gradient(2deg,rgba(0,0,0,.05) 0 1px,transparent 1px 6px)}
@media(min-width:768px){.mcc-est .est-sum{padding:32px}}
.mcc-est .est-sum-top{display:flex;align-items:center;justify-content:space-between}
.mcc-est .est-sum-top p{font:400 10px/1.4 "IBM Plex Mono",monospace;letter-spacing:.24em;text-transform:uppercase;color:var(--sage)}
.mcc-est .est-dot{width:8px;height:8px;border-radius:50%;background:rgba(143,175,151,.4);transition:background-color .5s}
.mcc-est.is-live .est-dot{background:var(--maple);animation:mcc-ring 2.6s cubic-bezier(.66,0,0,1) infinite}
.mcc-est .est-total{margin-top:16px;font:800 clamp(2.4rem,6vw,3.5rem)/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.055em;font-variant-numeric:tabular-nums;color:var(--paper)}
.mcc-est .est-meta{margin-top:6px;font:400 10px/1.4 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:rgba(143,175,151,.8)}
.mcc-est .est-min{margin-top:20px;padding:16px;border:1px solid rgba(217,116,28,.35);background:rgba(217,116,28,.1)}
.mcc-est .est-min-t{font:700 14px/1.3 "Bricolage Grotesque",sans-serif;color:var(--paper)}
.mcc-est .est-min-p{margin-top:4px;font-size:12px;line-height:1.6;color:var(--sage)}
.mcc-est .est-ledger{display:flex;flex-direction:column;gap:10px;margin-top:24px;padding-top:20px;border-top:1px solid rgba(216,227,216,.15)}
.mcc-est .est-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.mcc-est .est-row dt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:rgba(216,227,216,.7)}
.mcc-est .est-row dt::first-letter{text-transform:uppercase}
.mcc-est .est-row dd{margin:0;flex:0 0 auto;font:400 12.5px/1.3 "IBM Plex Mono",monospace;font-variant-numeric:tabular-nums;color:rgba(252,250,245,.9)}
.mcc-est .est-row.is-muted dt,.mcc-est .est-row.is-muted dd{color:rgba(143,175,151,.45)}
.mcc-est .est-row.is-accent dt{color:rgba(242,169,78,.85)}
.mcc-est .est-totalrow{display:flex;align-items:baseline;justify-content:space-between;margin-top:24px;padding-top:20px;border-top:1px solid rgba(216,227,216,.15)}
.mcc-est .est-totalrow span:first-child{font:400 10px/1.4 "IBM Plex Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--sage)}
.mcc-est .est-totalrow span:last-child{font:800 24px/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ml)}
.mcc-est .est-inc{margin-top:24px;padding:16px;background:rgba(252,250,245,.055)}
.mcc-est .est-inc>p{font:400 9.5px/1.4 "IBM Plex Mono",monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--ml)}
.mcc-est .est-inc ul{list-style:none;padding:0;margin-top:12px;display:flex;flex-direction:column;gap:6px}
.mcc-est .est-inc li{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.35;color:rgba(216,227,216,.8)}
.mcc-est .est-inc li svg{width:14px;height:14px;margin-top:3px;color:var(--sage)}
.mcc-est .est-cta{margin-top:24px}
.mcc-est[data-stage=details] .est-cta{display:none}
.mcc-est .est-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid rgba(216,227,216,.12)}
.mcc-est .est-tel{display:flex;align-items:center;gap:8px;font:400 10.5px/1 "IBM Plex Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(216,227,216,.8);text-decoration:none;transition:color .3s}
.mcc-est .est-tel svg{width:14px;height:14px;color:var(--ml)}
.mcc-est .est-tel:hover{color:var(--ml)}
.mcc-est .est-reset{padding:4px 0;border:0;background:transparent;font:400 9.5px/1 "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:rgba(143,175,151,.6);transition:color .3s}
.mcc-est .est-reset:hover{color:var(--mist)}
.mcc-est .est-guar{display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:12.5px;line-height:1.4;color:rgba(216,227,216,.55)}
.mcc-est .est-guar svg{width:16px;height:16px;margin-top:2px;color:var(--sage)}
.mcc-est :focus-visible{outline:2px solid var(--maple);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.mcc-est *{transition-duration:.001ms!important;animation:none!important}}
.mcc-est .est-zipline.is-no{color:#A93F1B}
