/* Rules scoped to the water-leak ranking; shared articles and cookies stay unchanged. */
.flood-ranking .toc { display:flex; height:auto; min-height:0; align-items:flex-start; }
.flood-ranking .toc ol { line-height:1.8; }
.flood-ranking .quick-picks li, .flood-ranking .costs li, .flood-ranking .sources li { margin:0 0 14px; }
.flood-ranking .section a:not(.button), .flood-ranking .quick-picks a { text-decoration:underline; text-underline-offset:3px; }
.flood-ranking .product { padding-top:24px; grid-template-columns:145px minmax(0,1.15fr) minmax(0,1.2fr) 180px; }
.flood-ranking .product > * { min-width:0; }
.flood-ranking .rank { position:static; grid-column:1/-1; justify-self:start; max-width:100%; }
.flood-ranking .rank span { display:inline; letter-spacing:.4px; }
.flood-ranking .product-image { width:145px; height:145px; background:#fff; }
.flood-ranking .product-image img { width:100%; height:100%; object-fit:contain; }
.flood-ranking .product-details { font-size:12px; color:#53625d; }
.flood-ranking .product-details ul { padding-left:17px; margin:8px 0 16px; }
.flood-ranking .product-details li { margin-bottom:5px; }
.flood-ranking .pros { grid-template-columns:1fr; }
.flood-ranking .source { font-size:12px; overflow-wrap:anywhere; }
.flood-ranking .offer .button { text-align:center; }
.flood-ranking .offer small:last-child { margin-top:10px; }
.flood-ranking .flood-compare { overflow:visible; }
.flood-ranking .flood-compare table { table-layout:fixed; min-width:0; }
.flood-ranking .flood-compare th, .flood-ranking .flood-compare td { padding:10px 7px; overflow-wrap:anywhere; font-size:12px; vertical-align:top; }
.flood-ranking caption { text-align:left; padding:12px; font-weight:bold; }
@media(max-width:1050px) {
  .flood-ranking .product { grid-template-columns:145px minmax(0,1fr); }
  .flood-ranking .product-details, .flood-ranking .offer { grid-column:1/-1; }
  .flood-ranking .offer { border-left:0; border-top:1px solid var(--line); padding:16px 0 0; }
}
@media(max-width:850px) {
  .flood-ranking .flood-compare caption { display:block; width:100%; }
  .flood-ranking .flood-compare table, .flood-ranking .flood-compare tbody, .flood-ranking .flood-compare tr, .flood-ranking .flood-compare td { display:block; width:100%; min-width:0; }
  .flood-ranking .flood-compare thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); }
  .flood-ranking .flood-compare tr { padding:12px 14px; border-bottom:1px solid var(--line); }
  .flood-ranking .flood-compare tr:last-child { border-bottom:0; }
  .flood-ranking .flood-compare td { display:grid; grid-template-columns:minmax(0,42%) minmax(0,1fr); gap:10px; padding:7px 0; border:0; font-size:13px; }
  .flood-ranking .flood-compare td::before { content:attr(data-label); font-weight:bold; color:var(--muted); }
}
@media(max-width:480px) {
  .flood-ranking .product { grid-template-columns:minmax(0,1fr); padding:18px; gap:18px; }
  .flood-ranking .product-image { justify-self:center; width:160px; height:160px; }
  .flood-ranking .article-head h1 { font-size:38px; letter-spacing:-1.6px; overflow-wrap:break-word; }
  .flood-ranking .toc { flex-direction:column; padding:18px; }
  .flood-ranking .offer .button { width:100%; justify-content:center; }
}
