/* Simi Pacific - Material Calculators
   Scoped entirely under .sp-mc-wrap so nothing can leak into the theme.
   Typography is inherited from the site (Lato) - no external fonts. */

.sp-mc-wrap{
  --spmc-red:#851515; --spmc-red-dk:#6B1010;
  --spmc-cream:#F7F3EC; --spmc-card:#FFFFFF;
  --spmc-line:#E4DDD1; --spmc-line2:#D6CCBD;
  --spmc-ink:#2B2320; --spmc-mut:#6F675F;
  --spmc-char:#2F2A26; --spmc-char2:#463F39;
  font-family:inherit; color:var(--spmc-ink); line-height:1.55;
  max-width:1120px; margin:0 auto;
}
.sp-mc-wrap *{box-sizing:border-box}
.sp-mc-wrap h3,.sp-mc-wrap h4{font-family:inherit;margin:0;color:var(--spmc-ink);line-height:1.2}
.sp-mc-wrap p{margin:0 0 10px}

/* shared button */
.sp-mc-btn{
  display:inline-block;background:var(--spmc-red);color:#F2EDE4!important;
  font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  padding:12px 20px;border-radius:4px;text-decoration:none!important;transition:background .15s;
}
.sp-mc-btn:hover,.sp-mc-btn:focus{background:var(--spmc-red-dk);color:#fff!important}
.sp-mc-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--spmc-red);margin:0 0 6px}

/* ---------------- HUB ---------------- */
.sp-mc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:1000px){.sp-mc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sp-mc-grid{grid-template-columns:1fr}}

.sp-mc-card{
  display:flex;flex-direction:column;align-items:flex-start;
  background:var(--spmc-card);border:1px solid var(--spmc-line2);border-radius:4px;
  padding:26px 22px 22px;text-decoration:none!important;color:var(--spmc-ink)!important;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.sp-mc-card:hover{border-color:var(--spmc-red);box-shadow:0 6px 18px rgba(43,35,32,.09);transform:translateY(-2px)}
.sp-mc-card-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:4px;background:var(--spmc-cream);color:var(--spmc-red);margin-bottom:14px}
.sp-mc-icon{width:26px;height:26px}
.sp-mc-card-title{font-size:19px;font-weight:700;margin-bottom:8px}
.sp-mc-card-desc{font-size:14.5px;color:var(--spmc-mut);margin-bottom:18px;flex:1 1 auto}
.sp-mc-card-btn{font-size:12.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--spmc-red)}
.sp-mc-card:hover .sp-mc-card-btn{text-decoration:underline}

.sp-mc-card-soon{opacity:.55;pointer-events:none;background:#FBF9F5}
.sp-mc-card-soonflag{font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--spmc-mut);border:1px solid var(--spmc-line2);border-radius:3px;padding:5px 10px}

.sp-mc-more{margin:22px 0 0;font-size:14px;color:var(--spmc-mut)}
.sp-mc-disclaimer{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--spmc-line);font-size:12.5px;color:var(--spmc-mut)}

/* ---------------- COMPACT CTA (product pages) ---------------- */
.sp-mc-cta{
  display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;
  background:var(--spmc-card);border:1px solid var(--spmc-line2);border-left:4px solid var(--spmc-red);
  border-radius:4px;padding:24px 26px;
}
.sp-mc-cta-text{flex:1 1 340px;min-width:0}
.sp-mc-cta-h{font-size:22px;font-weight:700;margin-bottom:6px}
.sp-mc-cta-p{font-size:14.5px;color:var(--spmc-mut);margin:0;max-width:62ch}
@media(max-width:600px){.sp-mc-cta{padding:20px}.sp-mc-btn{width:100%;text-align:center}}

/* ---------------- PAVER CALCULATOR ---------------- */
.spvc{background:var(--spmc-cream);border:1px solid var(--spmc-line2);border-radius:4px;padding:24px}
.spvc-h{font-size:19px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}
.sp-mc-wrap .spvc-h-light{color:#fff}
.spvc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:20px;align-items:start}
@media(max-width:860px){.spvc-grid{grid-template-columns:1fr}.spvc{padding:18px}}

.spvc-panel{background:var(--spmc-card);border:1px solid var(--spmc-line2);border-radius:4px;padding:20px}
.spvc-panel .spvc-h{margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--spmc-line)}
.spvc-field{margin-bottom:16px}
.spvc-last{margin-bottom:0}
.spvc-label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--spmc-mut);margin-bottom:6px}

.spvc select,.spvc input[type=number]{
  width:100%;padding:10px 11px;font-family:inherit;font-size:15px;color:var(--spmc-ink);
  background:#FCFAF7;border:1px solid var(--spmc-line2);border-radius:4px;
  -webkit-appearance:none;appearance:none;margin:0;height:auto;line-height:1.4;
}
.spvc select{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236F675F' stroke-width='1.6' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:11px;padding-right:32px}
.spvc input:focus,.spvc select:focus{outline:none;border-color:var(--spmc-red);box-shadow:0 0 0 3px rgba(133,21,21,.12)}

.spvc-seg{display:flex;border:1px solid var(--spmc-line2);border-radius:4px;overflow:hidden}
.spvc-seg button{flex:1;padding:10px 6px;font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;background:#FCFAF7;color:var(--spmc-mut);border:none;cursor:pointer;transition:.15s;border-radius:0}
.spvc-seg button+button{border-left:1px solid var(--spmc-line2)}
.spvc-seg button.spvc-on{background:var(--spmc-char);color:#fff}

.spvc-dims{display:grid;grid-template-columns:1fr auto 1fr auto;gap:8px;align-items:center;margin-bottom:8px}
.spvc-x{font-size:13px;color:var(--spmc-mut);font-weight:600}
.spvc-del{background:none;border:none;color:var(--spmc-mut);font-size:20px;line-height:1;cursor:pointer;padding:0 4px;width:26px}
.spvc-del:hover{color:var(--spmc-red)}
.spvc-add{background:none;border:1px dashed var(--spmc-line2);color:var(--spmc-mut);font-family:inherit;font-size:13px;font-weight:600;padding:9px;width:100%;border-radius:4px;cursor:pointer}
.spvc-add:hover{border-color:var(--spmc-red);color:var(--spmc-red)}
.spvc-hint{font-size:12.5px;color:var(--spmc-mut);margin:6px 0 0}

.spvc-out{background:var(--spmc-char);border-radius:4px;padding:22px;color:#F2EDE6}
.spvc-outsub{font-size:12.5px;color:#B0A79D;margin:4px 0 16px}
.spvc-empty{padding:26px 0;text-align:center;color:#B0A79D;font-size:14px}
.spvc-res{border-top:1px solid var(--spmc-char2);padding:14px 0}
.spvc-res:first-child{border-top:none;padding-top:2px}
.spvc-rt{font-size:11.5px;letter-spacing:1.3px;text-transform:uppercase;color:#E0A0A0;font-weight:700;margin-bottom:5px}
.spvc-big{font-size:27px;font-weight:700;color:#fff;line-height:1.15}
.spvc-big small{font-size:15px;font-weight:400;color:#CBC1B7}
.spvc-alt{font-size:13px;color:#C0B6AC;margin-top:5px}
.spvc-note{font-size:12.5px;color:#9B9289;margin-top:5px;font-style:italic}
.spvc-or{display:inline-block;font-size:11px;letter-spacing:1.2px;color:#8B827A;margin:6px 0 4px}

.spvc-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--spmc-line);font-size:12.5px;color:var(--spmc-mut)}
.spvc-foot p{margin:0 0 7px}
.spvc-foot strong{color:var(--spmc-ink)}
.spvc-disc{margin-top:10px!important}
.spvc-foot .sp-mc-btn{margin-top:6px}

/* ---------------- TURF JOB ESTIMATOR ----------------
   Ported from the standalone turf calculator; colors and type
   remapped onto the site design system (red accent, Lato, no
   external fonts). Layout and behaviour are unchanged. */
.sp-mc-wrap .sptc-calc{
  max-width:560px;margin:0 auto;background:var(--spmc-card);
  border:1px solid var(--spmc-line2);border-radius:4px;overflow:hidden;
  font-family:inherit;color:var(--spmc-ink);box-shadow:0 1px 3px rgba(43,35,32,.08);
}
.sp-mc-wrap .sptc-calc *{box-sizing:border-box}
.sptc-head{padding:22px 24px 18px;border-bottom:1px solid var(--spmc-line)}
.sp-mc-wrap .sptc-head h2{font-family:inherit;font-weight:700;font-size:24px;letter-spacing:.2px;margin:0 0 4px;color:var(--spmc-ink);text-transform:none}
.sptc-head p{margin:0;font-size:13.5px;color:var(--spmc-mut);line-height:1.4}
.sptc-body{padding:20px 24px 22px}
.sptc-section-label{font-size:11.5px;font-weight:700;color:var(--spmc-mut);text-transform:uppercase;letter-spacing:.9px;margin:0 0 10px}
.sptc-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:8px}
.sptc-field label{display:block;font-size:12.5px;font-weight:600;color:var(--spmc-mut);margin-bottom:6px}
.sptc-field .sptc-input-wrap{position:relative}
.sp-mc-wrap .sptc-field input[type=number]{
  width:100%;padding:10px 38px 10px 12px;border:1px solid var(--spmc-line2);border-radius:4px;
  font-size:16px;font-family:inherit;font-weight:600;color:var(--spmc-ink);background:#FCFAF7;
  -moz-appearance:textfield;appearance:none;height:auto;line-height:1.4;margin:0;
}
.sptc-field input[type=number]::-webkit-outer-spin-button,
.sptc-field input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sp-mc-wrap .sptc-field input:focus{outline:none;border-color:var(--spmc-red);background:#fff;box-shadow:0 0 0 3px rgba(133,21,21,.12)}
.sptc-unit{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12.5px;color:var(--spmc-mut);pointer-events:none}
.sptc-roll-note{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:12.5px;color:var(--spmc-mut);background:var(--spmc-cream);border:1px solid var(--spmc-line);border-radius:4px;padding:10px 12px}
.sptc-roll-note .sptc-dot{width:6px;height:6px;border-radius:50%;background:var(--spmc-red);flex-shrink:0}
.sptc-infill-field{margin-bottom:20px}
.sptc-chips{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.sp-mc-wrap .sptc-chip{
  border:1px solid var(--spmc-line2);background:#FCFAF7;color:var(--spmc-ink);
  font-family:inherit;font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:20px;cursor:pointer;
  transition:border-color .15s,color .15s,background .15s;
}
.sp-mc-wrap .sptc-chip:hover{border-color:var(--spmc-red)}
.sp-mc-wrap .sptc-chip.sptc-active{background:var(--spmc-red);border-color:var(--spmc-red);color:#fff}
.sptc-result{background:var(--spmc-char);border-radius:4px;padding:20px;color:#fff}
.sptc-result-block{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
.sptc-result-block:last-child{padding-bottom:0;margin-bottom:0;border-bottom:none}
.sptc-result-label{font-size:11.5px;font-weight:700;color:#E0A0A0;text-transform:uppercase;letter-spacing:.9px;margin-bottom:8px}
.sptc-headline{display:flex;align-items:baseline;gap:8px;margin-bottom:3px}
.sptc-headline .sptc-num{font-family:inherit;font-weight:700;font-size:31px;color:#fff;line-height:1}
.sptc-headline .sptc-num-unit{font-size:14px;color:#CBC1B7;font-weight:500}
.sptc-sub{font-size:12.5px;color:#C0B6AC}
.sptc-footnote{margin-top:14px;font-size:11.5px;color:var(--spmc-mut);line-height:1.55}
@media(max-width:420px){.sptc-row{grid-template-columns:1fr}}
