.h2o-wq-score-card{--wq-status:#1473ff;--wq-status-soft:#eef6ff;position:relative;grid-column:1/-1;display:grid;gap:20px;padding:24px;border:1px solid rgba(20,115,255,.18);border-radius:24px;background:linear-gradient(145deg,#fbfdff 0%,#f4f9ff 52%,#ffffff 100%);box-shadow:0 18px 44px rgba(6,28,63,.09);overflow:hidden}
.h2o-wq-score-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--wq-status),rgba(20,115,255,.18))}.h2o-wq-score-card:after{content:"";position:absolute;width:240px;height:240px;right:-110px;top:-120px;border-radius:50%;background:radial-gradient(circle,rgba(20,115,255,.09),rgba(20,115,255,0) 70%);pointer-events:none}.h2o-wq-score-card.is-excellent{--wq-status:#0b78f6;--wq-status-soft:#edf7ff}.h2o-wq-score-card.is-very-good{--wq-status:#1473ff;--wq-status-soft:#eef6ff}.h2o-wq-score-card.is-good{--wq-status:#3d83d6;--wq-status-soft:#f0f6fd}.h2o-wq-score-card.is-fair{--wq-status:#c47a08;--wq-status-soft:#fff7e8}.h2o-wq-score-card.is-poor{--wq-status:#b66400;--wq-status-soft:#fff3df}.h2o-wq-score-card.is-treatment{--wq-status:#b66400;--wq-status-soft:#fff3df}.h2o-wq-score-card.is-concern{--wq-status:#a23b32;--wq-status-soft:#fff0ed}.h2o-wq-score-card.has-health-alert{--wq-status:#a52d2d;--wq-status-soft:#ffefef}
.h2o-wq-score-heading{position:relative;z-index:1;display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;gap:24px;min-width:0}.h2o-wq-score-copy{display:grid;gap:5px;min-width:0}.h2o-wq-eyebrow{font-size:.76rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#53647a}.h2o-wq-score-heading h3{width:max-content;max-width:100%;margin:0;padding:4px 11px 5px;border-radius:999px;background:var(--wq-status-soft);color:#061c3f;font-size:1.62rem;line-height:1.2;font-weight:850}.h2o-wq-score-heading p{margin:2px 0 0;color:#657286;font-size:1rem}.h2o-wq-coverage{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;color:#68768a;font-size:.77rem;line-height:1.45}.h2o-wq-coverage span{position:relative}.h2o-wq-coverage span+span:before{content:"•";position:absolute;left:-8px;color:#9aa6b6}
.h2o-wq-drop{position:relative;width:150px;height:166px;display:grid;place-items:center;isolation:isolate}.h2o-wq-drop-halo{position:absolute;width:128px;height:128px;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(87,196,255,.30),rgba(20,115,255,.10) 48%,rgba(20,115,255,0) 72%);filter:blur(.2px)}.h2o-wq-drop-shape{position:relative;z-index:1;width:128px;height:150px;overflow:visible;filter:drop-shadow(0 9px 12px rgba(6,28,63,.16))}.h2o-wq-drop-outline{fill:none;stroke:rgba(15,103,218,.48);stroke-width:1.4}.h2o-wq-drop-water{opacity:.98}.h2o-wq-water-surface{fill:rgba(255,255,255,.55);filter:drop-shadow(0 1px 1px rgba(255,255,255,.5))}.h2o-wq-drop-glass{opacity:.72;pointer-events:none}.h2o-wq-water-level{transform:translateY(116px);animation:h2o-wq-fill 1.05s cubic-bezier(.16,.82,.24,1) .12s forwards}.h2o-wq-drop-value{position:absolute;z-index:3;left:50%;top:59%;transform:translate(-50%,-50%);display:grid;place-items:center;white-space:nowrap;pointer-events:none}.h2o-wq-drop-value strong{font-size:2.75rem;line-height:1;font-weight:900;letter-spacing:-.055em}.h2o-wq-drop.is-score-light .h2o-wq-drop-value{color:#fff;text-shadow:0 2px 5px rgba(0,40,100,.45),0 0 2px rgba(0,40,100,.35)}.h2o-wq-drop.is-score-dark .h2o-wq-drop-value,.h2o-wq-drop.is-empty .h2o-wq-drop-value{color:#061c3f;text-shadow:0 1px 0 rgba(255,255,255,.95),0 0 8px rgba(255,255,255,.9)}.h2o-wq-drop.is-empty .h2o-wq-water-level{display:none}.h2o-wq-drop.is-empty .h2o-wq-drop-outline{stroke-dasharray:4 4}
.h2o-wq-subscores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.h2o-wq-subscore{--sub:#1473ff;--sub-end:#39a8ff;display:grid;gap:8px;padding:15px 16px;border:1px solid rgba(6,28,63,.09);border-radius:15px;background:rgba(255,255,255,.9);box-shadow:0 6px 18px rgba(6,28,63,.045)}.h2o-wq-subscore.is-very-good{--sub:#1473ff;--sub-end:#39a8ff}.h2o-wq-subscore.is-good{--sub:#3d83d6;--sub-end:#69a8e9}.h2o-wq-subscore.is-fair{--sub:#c47a08;--sub-end:#e2a12f}.h2o-wq-subscore.is-poor{--sub:#b66400;--sub-end:#dc9029}.h2o-wq-subscore.is-treatment{--sub:#b66400;--sub-end:#dc9029}.h2o-wq-subscore.is-concern{--sub:#a23b32;--sub-end:#c65c52}.h2o-wq-subscore>span{font-size:.8rem;font-weight:650;color:#657286}.h2o-wq-subscore-line{display:flex;align-items:baseline;gap:3px}.h2o-wq-subscore strong{font-size:1.25rem;color:#061c3f;font-weight:850}.h2o-wq-subscore small{font-size:.68rem;font-weight:750;color:#758296}.h2o-wq-subscore-track{position:relative;display:block;height:7px;overflow:visible;border-radius:99px;background:#e7edf6;box-shadow:inset 0 1px 2px rgba(6,28,63,.06)}.h2o-wq-subscore-track b{display:block;height:100%;overflow:hidden;border-radius:inherit;background:linear-gradient(90deg,var(--sub),var(--sub-end));box-shadow:0 0 10px rgba(20,115,255,.12)}.h2o-wq-subscore-marker{position:absolute;z-index:2;top:50%;left:clamp(9px,var(--h2o-subscore-position),calc(100% - 9px));width:18px;height:18px;border:3px solid #fff;border-radius:50%;background:#082b55;box-shadow:0 2px 7px rgba(6,28,63,.36);transform:translate(-50%,-50%);pointer-events:none}
.h2o-wq-household-context,.h2o-wq-hardness-note{margin:0;padding:12px 14px;border-radius:13px;line-height:1.48}.h2o-wq-household-context{border:1px solid rgba(182,100,0,.20);background:#fff8eb;color:#6f4a12;font-size:.82rem;font-weight:650}.h2o-wq-hardness-note{border:1px solid rgba(20,115,255,.14);background:#f4f9ff;color:#506079;font-size:.77rem}
.h2o-wq-alerts,.h2o-wq-factors{display:grid;gap:10px}.h2o-wq-alerts h4,.h2o-wq-factors h4{margin:0;font-size:.91rem;color:#24344b;font-weight:800}.h2o-wq-alerts>div{display:flex;flex-wrap:wrap;gap:8px}.h2o-wq-alerts span{padding:8px 11px;border:1px solid rgba(36,75,126,.08);border-radius:999px;font-size:.76rem;font-weight:800;background:#eef5ff;color:#244b7e}.h2o-wq-alerts span.is-warning{background:#fff4df;color:#7b4a00;border-color:rgba(182,100,0,.14)}.h2o-wq-alerts span.is-critical{background:#ffeaea;color:#8a1e1e;border-color:rgba(162,59,50,.16)}
.h2o-wq-factors{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.h2o-wq-factors h4{grid-column:1/-1}.h2o-wq-factor{--factor:#1473ff;display:block;padding:13px 14px;border:1px solid rgba(6,28,63,.09);border-radius:14px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 5px 15px rgba(6,28,63,.035);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.h2o-wq-factor.is-very-good{--factor:#1473ff}.h2o-wq-factor.is-good{--factor:#3d83d6}.h2o-wq-factor.is-fair{--factor:#c47a08}.h2o-wq-factor.is-poor{--factor:#b66400}.h2o-wq-factor.is-treatment{--factor:#b66400}.h2o-wq-factor.is-concern{--factor:#a23b32}.h2o-wq-factor[href]:hover{transform:translateY(-1px);border-color:rgba(20,115,255,.26);box-shadow:0 8px 18px rgba(6,28,63,.07)}.h2o-wq-factor-main{display:grid;gap:4px;min-width:0}.h2o-wq-factor-name{font-weight:850;color:#132a4a}.h2o-wq-factor-measurement{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:baseline;color:#657286;font-size:.76rem}.h2o-wq-factor-measurement b{color:#33465f;font-size:.9rem}.h2o-wq-factor-condition{margin-top:2px;color:#7b4a00;font-size:.78rem;font-weight:850}.h2o-wq-factor-impact{color:#657286;font-size:.74rem;font-weight:650;line-height:1.4}.h2o-wq-factor-view{margin-top:2px;color:#1473ff;font-size:.69rem;font-weight:800}.h2o-wq-disclosure{margin:0;padding-top:2px;font-size:.74rem;line-height:1.5;color:#6b778a}
.h2o-wq-score-card.is-compact{padding:13px 15px;border-radius:16px;box-shadow:none}.h2o-wq-score-card.is-compact:after{display:none}.h2o-wq-score-card.is-compact .h2o-wq-score-heading{grid-template-columns:76px minmax(0,1fr);gap:13px}.h2o-wq-score-card.is-compact .h2o-wq-drop{width:76px;height:80px}.h2o-wq-score-card.is-compact .h2o-wq-drop-halo{width:68px;height:68px}.h2o-wq-score-card.is-compact .h2o-wq-drop-shape{width:60px;height:70px}.h2o-wq-score-card.is-compact .h2o-wq-drop-value{top:59%}.h2o-wq-score-card.is-compact .h2o-wq-drop-value strong{font-size:1.35rem}.h2o-wq-score-card.is-compact .h2o-wq-eyebrow{font-size:.62rem}.h2o-wq-score-card.is-compact .h2o-wq-score-heading h3{font-size:1rem;padding:2px 7px}.h2o-wq-score-card.is-compact .h2o-wq-score-heading p{font-size:.76rem}.h2o-wq-score-card.is-compact .h2o-wq-coverage{font-size:.67rem}.h2o-wq-score-mini{display:inline-grid;grid-template-columns:auto 1fr;align-items:baseline;gap:5px;white-space:nowrap}.h2o-wq-score-mini strong{font-size:1rem;color:#061c3f}.h2o-wq-score-mini span{font-size:.72rem;color:#68768a}
@keyframes h2o-wq-fill{from{transform:translateY(116px)}to{transform:translateY(var(--h2o-water-offset))}}
@media (prefers-reduced-motion:reduce){.h2o-wq-water-level{animation:none;transform:translateY(var(--h2o-water-offset))}.h2o-wq-factor{transition:none}}
@media(max-width:720px){.h2o-wq-score-card{padding:18px;gap:17px;border-radius:20px}.h2o-wq-score-heading{grid-template-columns:128px minmax(0,1fr);gap:18px}.h2o-wq-drop{width:128px;height:145px}.h2o-wq-drop-halo{width:112px;height:112px}.h2o-wq-drop-shape{width:110px;height:129px}.h2o-wq-drop-value strong{font-size:2.35rem}.h2o-wq-score-heading h3{font-size:1.35rem}.h2o-wq-subscores{grid-template-columns:1fr}.h2o-wq-factors{grid-template-columns:1fr}}
@media(max-width:520px){.h2o-wq-score-heading{grid-template-columns:1fr;text-align:center;gap:34px}.h2o-wq-score-copy{justify-items:center}.h2o-wq-drop{margin:0 auto;width:150px;height:162px}.h2o-wq-drop-halo{width:128px;height:128px}.h2o-wq-drop-shape{width:128px;height:150px}.h2o-wq-drop-value strong{font-size:2.7rem}.h2o-wq-coverage{justify-content:center}.h2o-wq-coverage span+span:before{display:none}.h2o-wq-score-heading h3{font-size:1.45rem}.h2o-wq-factor{display:block}.h2o-wq-score-card.is-compact .h2o-wq-score-heading{grid-template-columns:66px minmax(0,1fr);text-align:left;gap:11px}.h2o-wq-score-card.is-compact .h2o-wq-score-copy{justify-items:start}.h2o-wq-score-card.is-compact .h2o-wq-drop{margin:0;width:66px;height:72px}.h2o-wq-score-card.is-compact .h2o-wq-drop-halo{width:60px;height:60px}.h2o-wq-score-card.is-compact .h2o-wq-drop-shape{width:54px;height:64px}.h2o-wq-score-card.is-compact .h2o-wq-coverage{justify-content:flex-start}}


/* Website Studio's Water Quality Score element: the genuine H2O customer-result
   structure and proportions, isolated from Joomla/UIkit generic card styling.
   Aligned with com_h2oprosuite media/css/portal.css result rules. */
.nb-water-quality-score{max-width:1100px;margin-inline:auto;color:#172b4d;min-width:0}
.nb-water-quality-score .nb-wqs-demo-label{font-size:.8rem;font-weight:750;color:#466280;margin:0 0 12px}
.nb-water-quality-score .nb-wqs-parameters{margin-top:26px;min-width:0}
.nb-water-quality-score .nb-wqs-parameters>h3{font-size:1.3rem;margin:0 0 5px;font-weight:850;color:#102b50}
.nb-water-quality-score .nb-wqs-parameters>p{font-size:.9rem;color:#526579;margin:0 0 16px}
.nb-water-quality-score .h2o-water-client-detail{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%);border:1px solid #d9e4ef;border-radius:20px;padding:18px;overflow:hidden;min-width:0}
.nb-water-quality-score .h2o-water-client-sample{display:block;margin:0;padding:0;border:0;background:transparent;box-shadow:none;min-width:0}
.nb-water-quality-score .h2o-water-client-results{display:grid;gap:0;margin-top:8px;min-width:0}
.nb-water-quality-score .h2o-water-client-result{display:block;min-width:0;padding:18px 0!important;border:0!important;border-top:1px solid #e2e9f1!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.nb-water-quality-score .h2o-water-client-result:first-child{border-top:0!important}
.nb-water-quality-score .h2o-water-result-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:12px!important;padding-bottom:10px!important;border-bottom:0!important}
.nb-water-quality-score .h2o-water-parameter-name{min-width:0;color:#0c2b51;font-size:1.08rem!important;line-height:1.25;font-weight:900!important;letter-spacing:-.01em}
.nb-water-quality-score .h2o-water-result-value{justify-self:end;text-align:right;color:#0c2b51;font-size:1.45rem!important;line-height:1.08;font-weight:900;white-space:nowrap}
.nb-water-quality-score .h2o-water-result-value small{font-size:.58em!important;color:#65768a!important;font-weight:850!important}
.nb-water-quality-score .h2o-water-hardness-values{display:grid!important;width:auto!important;justify-items:end!important;justify-self:end!important;text-align:right!important;gap:3px!important}
.nb-water-quality-score .h2o-water-hardness-values>span{font-size:1.45rem!important;line-height:1.05}
.nb-water-quality-score .h2o-water-hardness-values>em{font-style:normal;font-size:.78rem!important;line-height:1.2;color:#65768a!important;font-weight:850!important}
.nb-water-quality-score .h2o-water-intelligence{margin-top:8px;padding:10px 0 10px 12px;border:0;border-left:4px solid #8fa8c2;border-radius:0 10px 10px 0;background:linear-gradient(90deg,#f5f8fc 0%,rgba(245,248,252,.2) 88%,transparent 100%);box-shadow:none;min-width:0}
.nb-water-quality-score .h2o-water-intelligence.is-good{border-left-color:#38a169;background:linear-gradient(90deg,#f1faf4 0%,rgba(241,250,244,.18) 88%,transparent 100%)}
.nb-water-quality-score .h2o-water-intelligence.is-attention{border-left-color:#d4832d;background:linear-gradient(90deg,#fff7ef 0%,rgba(255,247,239,.18) 88%,transparent 100%)}
.nb-water-quality-score .h2o-water-intelligence.is-info{border-left-color:#5f83a8;background:linear-gradient(90deg,#f3f7fc 0%,rgba(243,247,252,.18) 88%,transparent 100%)}
.nb-water-quality-score .h2o-water-intelligence-status{display:inline-flex;align-items:center;min-height:30px;padding:4px 10px;border-radius:999px;background:#e5edf7;color:#315370;font-size:.82rem;font-weight:850}
.nb-water-quality-score .h2o-water-intelligence.is-good .h2o-water-intelligence-status{background:#daf3e2;color:#0e6b37}
.nb-water-quality-score .h2o-water-intelligence.is-attention .h2o-water-intelligence-status{background:#ffe2d0;color:#963b13}
.nb-water-quality-score .h2o-water-intelligence p{margin:7px 0 0;color:#4e6074;font-size:.9rem;line-height:1.52}
.nb-water-quality-score .h2o-water-scale{margin-top:14px;padding-top:2px}
.nb-water-quality-score .h2o-water-scale-track{position:relative;height:15px;border:1px solid rgba(16,43,80,.08);border-radius:999px;box-shadow:inset 0 1px 2px rgba(16,43,80,.09)}
.nb-water-quality-score .h2o-water-scale-track.is-maximum{background:linear-gradient(90deg,#22b866 0%,#31c878 var(--h2o-target,50%),#f1c84d var(--h2o-target,50%),#ef963f 78%,#dc4c50 100%)}
.nb-water-quality-score .h2o-water-scale-track.is-range{background:linear-gradient(90deg,#dc4c50 0%,#f1b84d calc(var(--h2o-range-min,35%) - 5%),#2fbe70 var(--h2o-range-min,35%),#2fbe70 var(--h2o-range-max,65%),#f1b84d calc(var(--h2o-range-max,65%) + 5%),#dc4c50 100%)}
.nb-water-quality-score .h2o-water-scale-track.is-bands{background:linear-gradient(90deg,#3aa7df 0%,#43c0b4 33%,#f0c24a 66%,#ef8b3e 100%)}
.nb-water-quality-score .h2o-water-scale-track.is-informational{background:linear-gradient(90deg,#d9e6f4 0%,#9fc7e8 45%,#4fa7df 100%)}
.nb-water-quality-score .h2o-water-scale-marker{position:absolute;top:50%;width:20px;height:20px;border:3px solid #fff;border-radius:50%;background:#082b55;box-shadow:0 2px 7px rgba(6,28,63,.42);transform:translate(-50%,-50%);pointer-events:none}
.nb-water-quality-score .h2o-water-scale-limit{position:absolute;top:-5px;bottom:-5px;width:3px;background:#7e2c16;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.7);transform:translateX(-50%)}
.nb-water-quality-score .h2o-water-scale-limit.is-range-start,.nb-water-quality-score .h2o-water-scale-limit.is-range-end{background:#155d39}
.nb-water-quality-score .h2o-water-scale-labels{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin-top:7px;font-size:.72rem;font-weight:700;color:#63748a;line-height:1.35}
.nb-water-quality-score .h2o-water-scale-labels span:last-child{text-align:right}
.nb-water-quality-score .h2o-water-impact-panel{margin-top:12px;padding-top:11px;border-top:1px solid rgba(79,104,130,.18)}
.nb-water-quality-score .h2o-water-impact-panel h4{margin:0 0 10px;font-size:.88rem;color:#102b50;font-weight:850}
.nb-water-quality-score .h2o-water-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nb-water-quality-score .h2o-water-impact-item{padding:7px 2px 7px 10px;border:0;border-left:3px solid #6d87a6;border-radius:0;background:transparent!important;min-width:0}
.nb-water-quality-score .h2o-water-impact-item strong{display:block;font-size:.76rem;color:#173a61;margin-bottom:3px}
.nb-water-quality-score .h2o-water-impact-item p{margin:0!important;font-size:.82rem!important;line-height:1.42!important;color:#526579!important}
.nb-water-quality-score .h2o-water-impact-item.is-health{border-left-color:#b54a3f}
.nb-water-quality-score .h2o-water-impact-item.is-plumbing_equipment{border-left-color:#b97822}
.nb-water-quality-score .h2o-water-impact-item.is-appearance_taste_odor{border-left-color:#6c62b8}
.nb-water-quality-score .h2o-water-impact-item.is-household_use{border-left-color:#2d7b9e}
.nb-water-quality-score .h2o-water-impact-item.is-treatment_performance{border-left-color:#23795d}
.nb-water-quality-score .h2o-water-benchmark{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #dfe7f0;margin-top:10px;padding-top:9px;font-size:.78rem}
.nb-water-quality-score .h2o-water-benchmark>div{display:grid;gap:3px;min-width:0}
.nb-water-quality-score .h2o-water-benchmark strong{font-size:.8rem;color:#102b50}
.nb-water-quality-score .h2o-water-benchmark span{color:#66758a;line-height:1.35}
.nb-water-quality-score .h2o-water-reference-button,.nb-water-quality-score .h2o-water-source-chip{appearance:none;-webkit-appearance:none;border:1px solid #b9cde4;background:#fff;color:#1267c4;font:inherit;font-weight:850;cursor:pointer;text-transform:none;letter-spacing:normal}
.nb-water-quality-score .h2o-water-reference-button{flex:0 0 auto;border-radius:12px;min-height:40px;padding:8px 12px;font-size:.76rem}
.nb-water-quality-score .h2o-water-reference-button:hover,.nb-water-quality-score .h2o-water-reference-button:focus-visible{background:#edf6ff;border-color:#7fb0e6;outline:2px solid transparent}
.nb-water-quality-score .h2o-water-source-chip{width:100%;margin:0 0 6px;border-radius:10px;border:0;border-left:4px solid #1473ff;padding:9px 10px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f1f7fd}
.nb-water-quality-score .h2o-water-source-chip span{color:#102b50;font-weight:850}
.nb-water-quality-score .h2o-water-source-chip small{color:#4f6b88;font-size:.72rem;font-weight:750;text-align:right}
.nb-water-quality-score .h2o-water-source-chip:hover,.nb-water-quality-score .h2o-water-source-chip:focus-visible{background:#e7f2fd;outline:2px solid #7fb0e6}
.nb-wqs-reference-dialog{width:min(680px,calc(100vw - 30px));max-height:min(85dvh,800px);padding:0!important;border:1px solid #dbe5ef;border-radius:20px;background:#fff;color:#102b50;box-shadow:0 24px 70px rgba(6,28,63,.24);overflow:auto}
.nb-wqs-reference-dialog::backdrop{background:rgba(6,28,63,.55)}
.nb-wqs-reference-content{display:grid;gap:0;min-width:0}
.nb-wqs-reference-content>header{display:flex;justify-content:space-between;align-items:start;gap:14px;padding:18px 20px;background:#f8fafc;border-bottom:1px solid #e4ebf3}
.nb-wqs-reference-content>header small{display:block;margin-bottom:3px;font-size:.75rem;font-weight:800;color:#536780;text-transform:uppercase}
.nb-wqs-reference-content>header h3{margin:0;color:#102b50;font-size:1.13rem;line-height:1.25;overflow-wrap:anywhere}
.nb-wqs-reference-content .nb-wqs-close{appearance:none;border:1px solid #dbe5ef;border-radius:10px;padding:4px 10px;background:#fff;color:#102b50;font-size:1.4rem;cursor:pointer}
.nb-wqs-reference-body{padding:20px;display:grid;gap:16px}
.nb-wqs-reference-body>p{margin:0;color:#4d5f73;line-height:1.6}
.nb-wqs-reference-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nb-wqs-reference-meta>div{border:1px solid #dbe5ef;border-radius:14px;padding:12px;background:#f8fbfe}
.nb-wqs-reference-meta span{display:block;color:#68778b;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}
.nb-wqs-reference-meta strong{display:block;color:#102b50;line-height:1.4;overflow-wrap:anywhere}
.nb-wqs-reference-content>footer{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid #e4ebf3}
.nb-wqs-reference-content>footer button,.nb-wqs-source-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border-radius:12px;border:1px solid #a4c8ec;background:#fff;color:#1267c4;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}
.nb-wqs-source-link{background:#1473ff;border-color:#1473ff;color:#fff!important}
.nb-wqs-reference-content>footer button:hover,.nb-wqs-source-link:hover{filter:brightness(.94)}
.nb-water-quality-score .nb-wqs-cta{text-align:center;margin:20px 0}
@media(max-width:700px){
 .nb-water-quality-score .h2o-water-client-detail{padding:14px 10px;border-radius:18px}
 .nb-water-quality-score .h2o-water-client-result{padding:16px 2px!important}
 .nb-water-quality-score .h2o-water-intelligence{padding:9px 0 9px 10px}
 .nb-water-quality-score .h2o-water-intelligence-status{min-height:28px;padding:3px 9px}
 .nb-water-quality-score .h2o-water-scale{margin-top:11px}
 .nb-water-quality-score .h2o-water-impact-grid{grid-template-columns:1fr}
 .nb-water-quality-score .h2o-water-reference-button{width:auto;max-width:100%;align-self:flex-start}
}
@media(max-width:480px){
 .nb-water-quality-score .h2o-water-benchmark{align-items:stretch;flex-direction:column}
 .nb-water-quality-score .h2o-water-parameter-name{font-size:1rem!important}
 .nb-water-quality-score .h2o-water-result-value{font-size:1.18rem!important}
 .nb-water-quality-score .h2o-water-hardness-values>span{font-size:1.18rem!important}
 .nb-water-quality-score .h2o-water-source-chip{align-items:flex-start;flex-direction:column;gap:3px}
 .nb-water-quality-score .h2o-water-source-chip small{text-align:left}
 .nb-wqs-reference-meta{grid-template-columns:1fr}
 .nb-wqs-reference-content>footer{display:grid}
 .nb-wqs-reference-content>footer>*{width:100%}
}

/* R2: Width-safe presentation when Studio is embedded in com_content.
   Preserve the full guidance text rather than hiding/cropping it. */
.nb-water-quality-score,
.nb-water-quality-score .h2o-wq-score-card,
.nb-water-quality-score .h2o-wq-score-copy,
.nb-water-quality-score .h2o-wq-subscore,
.nb-water-quality-score .h2o-wq-factor,
.nb-water-quality-score .nb-wqs-parameters,
.nb-water-quality-score .h2o-water-client-detail,
.nb-water-quality-score .h2o-water-client-sample,
.nb-water-quality-score .h2o-water-client-results,
.nb-water-quality-score .h2o-water-client-result,
.nb-water-quality-score .h2o-water-intelligence,
.nb-water-quality-score .h2o-water-benchmark,
.nb-water-quality-score .h2o-water-impact-item {box-sizing:border-box;min-width:0;max-width:100%}
.nb-water-quality-score .h2o-wq-score-heading h3,
.nb-water-quality-score .h2o-wq-eyebrow,
.nb-water-quality-score .h2o-wq-subscore>span,
.nb-water-quality-score .h2o-wq-alerts span,
.nb-water-quality-score .h2o-wq-factor-name,
.nb-water-quality-score .h2o-water-source-chip span,
.nb-water-quality-score .h2o-water-parameter-name,
.nb-water-quality-score .h2o-water-intelligence-status,
.nb-water-quality-score .h2o-water-benchmark strong,
.nb-water-quality-score .h2o-water-impact-item strong,
.nb-water-quality-score .h2o-water-impact-item p,
.nb-water-quality-score .nb-wqs-parameters>h3 {overflow-wrap:anywhere;white-space:normal}
.nb-water-quality-score .h2o-wq-score-heading h3 {width:fit-content;max-width:100%}
.nb-water-quality-score .h2o-water-result-heading {display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline}
.nb-water-quality-score .h2o-water-result-heading .h2o-water-parameter-name {flex:1 1 120px;min-width:0}
.nb-water-quality-score .h2o-water-result-heading .h2o-water-result-value {flex:0 0 auto;margin-left:auto;min-width:0;max-width:100%;white-space:normal;text-align:right}
.nb-water-quality-score .h2o-water-scale-labels {min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}
.nb-water-quality-score .h2o-water-scale-labels>* {min-width:0;overflow-wrap:anywhere}
.nb-water-quality-score .h2o-water-scale-labels>*:nth-child(2) {text-align:center}
.nb-water-quality-score .h2o-water-benchmark>div {min-width:0}
.nb-water-quality-score .h2o-water-reference-button {white-space:normal;overflow-wrap:anywhere}
@media(max-width:480px){
  .nb-water-quality-score .h2o-water-result-heading .h2o-water-result-value {font-size:1.12rem}
  .nb-water-quality-score .h2o-wq-score-card {padding:16px}
  .nb-water-quality-score .h2o-water-intelligence-status {max-width:100%;line-height:1.35}
}

/* Native Water Quality Score inspector option: reveal the complete result list. */
.nb-water-quality-score .h2o-water-client-result[hidden]{display:none!important}
.nb-water-quality-score .nb-wqs-results-toggle{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:16px;padding:10px 18px;border:1px solid var(--ninja-color-primary,#1473ff);border-radius:12px;background:var(--ninja-color-section-background,#fff);color:var(--ninja-color-primary,#1473ff);font:inherit;font-weight:800;cursor:pointer}
.nb-water-quality-score .nb-wqs-results-toggle:hover,.nb-water-quality-score .nb-wqs-results-toggle:focus-visible{background:var(--ninja-color-body-background,#f7f9fc);outline:2px solid var(--ninja-color-primary,#1473ff);outline-offset:2px}
