/* WWA ZIP hardness lookup ([wwa_zip_hardness_calc]). Theme forces 24px margins on content p: overridden with !important. */
.wzh{--z-ink:#0F172A;--z-text:#334155;--z-dim:#64748B;--z-line:#E2E8F0;--z-soft:#F8FAFC;--z-blue:#0052CC;
  margin:8px 0 36px;border:1px solid var(--z-line);border-radius:18px;background:#fff;box-shadow:0 12px 32px -18px rgba(15,23,42,.3);overflow:hidden;box-sizing:border-box;}
.wzh *{box-sizing:border-box;}
.wzh p{margin:0 0 10px !important;font-size:16px;line-height:1.6;color:var(--z-text);}
.wzh__form{padding:24px 24px 20px;background:linear-gradient(180deg,#F0F7FF 0%,#fff 100%);}
.wzh p.wzh__eyebrow{margin:0 0 4px !important;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--z-blue);}
.wzh .wzh__title{margin:0 0 6px !important;font-size:26px;line-height:1.2;font-weight:800;color:var(--z-ink);}
.wzh__fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:end;margin:14px 0 10px;}
.wzh__field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--z-ink);}
.wzh__field input,.wzh__field select{width:100%;min-height:52px;padding:0 14px;border:1px solid #CBD5E1;border-radius:12px;background:#fff;font-size:18px;color:var(--z-ink);}
.wzh__field--zip input{font-size:22px;font-weight:700;letter-spacing:.12em;}
.wzh__field input:focus,.wzh__field select:focus{outline:3px solid rgba(0,82,204,.25);border-color:var(--z-blue);}
.wzh__go{min-height:52px;padding:0 22px;border:0;border-radius:12px;background:var(--z-blue);color:#fff;font-size:16px;font-weight:800;cursor:pointer;}
.wzh__go:hover{background:#0043A8;}
.wzh p.wzh__hint{margin:0 !important;font-size:13px;color:var(--z-dim);}
.wzh__result{padding:22px 24px 24px;border-top:1px solid var(--z-line);}
.wzh p.wzh__where{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--z-dim);}
.wzh p.wzh__headline{font-size:19px;font-weight:800;color:var(--z-ink);}
.wzh p.wzh__error{margin:0 !important;font-weight:700;color:#B91C1C;}
.wzh__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 16px;}
.wzh__tile{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--z-line);border-radius:14px;background:var(--z-soft);}
.wzh__k{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--z-dim);}
.wzh__v{font-size:26px;font-weight:800;line-height:1.2;color:var(--z-ink);}
.wzh__s{font-size:13px;color:var(--z-dim);}
.wzh__tile--soft{background:#F0FDF4;border-color:#BBF7D0;} .wzh__tile--soft .wzh__v{color:#15803D;}
.wzh__tile--moderate{background:#FEFCE8;border-color:#FDE68A;} .wzh__tile--moderate .wzh__v{color:#A16207;}
.wzh__tile--hard{background:#FFF7ED;border-color:#FED7AA;} .wzh__tile--hard .wzh__v{color:#C2410C;}
.wzh__tile--veryhard{background:#FEF2F2;border-color:#FECACA;} .wzh__tile--veryhard .wzh__v{color:#B91C1C;}
/* scale bar: 0-300 mg/L, segment widths 60/60/60/120 */
.wzh__scale{position:relative;display:grid;grid-template-columns:20fr 20fr 20fr 40fr;height:30px;margin:0 0 14px;border-radius:999px;overflow:visible;}
.wzh__seg{display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;}
.wzh__seg--soft{background:#22C55E;border-radius:999px 0 0 999px;} .wzh__seg--moderate{background:#EAB308;}
.wzh__seg--hard{background:#F97316;} .wzh__seg--veryhard{background:#DC2626;border-radius:0 999px 999px 0;}
.wzh__marker{position:absolute;top:-5px;width:6px;height:40px;margin-left:-3px;border-radius:4px;background:var(--z-ink);box-shadow:0 0 0 2px #fff;}
.wzh p.wzh__basis{font-size:14px;color:var(--z-dim);}
.wzh__box{margin:14px 0 16px;padding:16px 18px;border:1px solid #BFDBFE;border-left:5px solid var(--z-blue);border-radius:12px;background:#EFF6FF;}
.wzh p.wzh__boxtitle{margin:0 0 4px !important;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--z-blue);}
.wzh p.wzh__size{margin:0 0 4px !important;font-size:22px;font-weight:800;color:var(--z-ink);}
.wzh p.wzh__small{margin:0 !important;font-size:14px;color:var(--z-dim);}
.wzh__actions{display:flex;flex-wrap:wrap;gap:10px;}
.wzh a.wzh__btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px !important;margin:0 !important;border:1px solid #CBD5E1;border-radius:999px;background:#fff;color:var(--z-ink);font-size:15px;font-weight:700;text-decoration:none;line-height:1.2;}
.wzh a.wzh__btn:hover{border-color:var(--z-blue);color:var(--z-blue);}
.wzh a.wzh__btn--amz{background:#FFD814;border-color:#FCD200;color:#0F1111;}
.wzh a.wzh__btn--amz:hover{background:#F7CA00;color:#0F1111;border-color:#F2C200;}
@media (max-width:640px){
  .wzh__form,.wzh__result{padding:18px;}
  .wzh .wzh__title{font-size:22px;}
  .wzh__fields{grid-template-columns:1fr 1fr;}
  .wzh__go{grid-column:1 / -1;}
  .wzh__tiles{grid-template-columns:1fr 1fr;}
  .wzh__tiles .wzh__tile:first-child{grid-column:1 / -1;}
  .wzh__v{font-size:22px;}
  .wzh__seg{font-size:10px;}
  .wzh a.wzh__btn{flex:1 1 100%;}
}

/* theme content p margins carry high specificity: restate inside the tool */
.wp-block-post-content .wzh p,.entry-content .wzh p{margin:0 0 10px !important;}
.wp-block-post-content .wzh p.wzh__small,.wp-block-post-content .wzh p.wzh__hint,.wp-block-post-content .wzh p.wzh__error,
.entry-content .wzh p.wzh__small,.entry-content .wzh p.wzh__hint,.entry-content .wzh p.wzh__error{margin:0 !important;}
.wp-block-post-content .wzh p.wzh__eyebrow,.wp-block-post-content .wzh p.wzh__boxtitle,.wp-block-post-content .wzh p.wzh__size{margin:0 0 4px !important;}

/* Dedicated tool page (1152): tighter top spacing so the lookup box sits above the fold */
.wzh--nohead .wzh__fields{margin-top:0;}
body.page-id-1152 .wp-block-post-title{padding-top:14px !important;padding-bottom:6px !important;}
body.page-id-1152 .wp-block-post-content{margin-top:14px !important;}
body.page-id-1152 .wp-block-post-content > p:first-child{margin-bottom:16px !important;}
body.page-id-1152 .wzh{margin-top:0 !important;}
@media (max-width:640px){
  body.page-id-1152 .wp-block-post-title{padding-top:8px !important;}
  body.page-id-1152 .wzh__form{padding-top:16px;}
}
.wzh__field--zip input::placeholder{letter-spacing:normal;font-weight:500;}
