/* ============================================================
   ACCREDO — icon set as CSS masks
   The prototype carried these icons as inline SVG inside pills, lists
   and cards. As a block pattern the text has to stay editable, so the
   paths live here as a mask: <p class="pill has-icon ic-star">.
   Generated from the original paths in design-reference/warm/.
   ============================================================ */

.has-icon{ display:inline-flex; align-items:center; gap:10px; }
.has-icon::before{ content:""; flex:none; width:1.1em; height:1.1em; background:currentColor;
  -webkit-mask:var(--icon) center/contain no-repeat; mask:var(--icon) center/contain no-repeat; }

/* Sizes per context, as in the prototype */
.pill.has-icon::before{ width:15px; height:15px; }
.fact.has-icon::before{ width:16px; height:16px; }
.b2b__pt.has-icon::before{ width:22px; height:22px; margin-top:1px; background:oklch(0.9 0.1 128); }
.pcard__li.has-icon::before{ width:19px; height:19px; margin-top:2px; background:var(--forest); }
.pcard--feature .pcard__li.has-icon::before{ background:var(--on-dark); }
.bf.has-icon::before{ width:24px; height:24px; margin-top:2px; background:var(--forest); }
.val__ic.has-icon::before, .sig__ic.has-icon::before, .info__ic.has-icon::before{ width:23px; height:23px; }
.sig__ic.has-icon::before{ width:24px; height:24px; }
.info__ic.has-icon::before{ width:21px; height:21px; }

/* Icons that sit at the top of the line instead of centred */
.b2b__pt.has-icon, .pcard__li.has-icon, .bf.has-icon{ align-items:flex-start; }

.ic-star{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M12 2l2.4 6.9H22l-6 4.5 2.3 7-6.3-4.5L5.7 20.4 8 13.4l-6-4.5h7.6z%22/></svg>"); }
.ic-pin{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M12 21s-7-4.5-7-10a7 7 0 0 1 14 0c0 5.5-7 10-7 10z%22/><circle cx=%2212%22 cy=%2211%22 r=%222.6%22/></svg>"); }
.ic-users{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M17 20v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9.5 9.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7zM22 20v-2a4 4 0 0 0-3-3.9M16 2.1a4 4 0 0 1 0 7.8%22/></svg>"); }
.ic-users-2{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M17 20v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M9.5 9.5a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7z%22/></svg>"); }
.ic-clock{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx=%2212%22 cy=%2212%22 r=%229%22/><path d=%22M12 7v5l3 2%22/></svg>"); }
.ic-check{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d=%22M20 6L9 17l-5-5%22/></svg>"); }
.ic-shield{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M12 2l8 4v6c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z%22/><path d=%22M9 12l2 2 4-4%22/></svg>"); }
.ic-shield-plain{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M12 2l8 4v6c0 5-3.5 8-8 10-4.5-2-8-5-8-10V6z%22/></svg>"); }
.ic-heart{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M12 21s-7-4.5-9.5-9C1 9 2.5 5 6 5c2 0 3 1.2 4 2.5C11 6.2 12 5 14 5c3.5 0 5 4 3.5 7-2.5 4.5-5.5 9-5.5 9z%22/></svg>"); }
.ic-send{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M3 11l19-9-9 19-2-8-8-2z%22/></svg>"); }
.ic-phone{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M22 16.92v3a2 2 0 0 1-2.18 2A19.8 19.8 0 0 1 3.08 4.18 2 2 0 0 1 5 2h3a2 2 0 0 1 2 1.72c.13 1 .35 1.95.66 2.87a2 2 0 0 1-.45 2.11L8.09 10.9a16 16 0 0 0 6 6l2.2-1.78a2 2 0 0 1 2.11-.45c.92.31 1.88.53 2.87.66A2 2 0 0 1 22 16.92z%22/></svg>"); }
.ic-mail{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x=%223%22 y=%225%22 width=%2218%22 height=%2214%22 rx=%222%22/><path d=%22M3 7l9 6 9-6%22/></svg>"); }
.ic-doc{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x=%224%22 y=%224%22 width=%2216%22 height=%2216%22 rx=%222%22/><path d=%22M8 9h8M8 13h5%22/></svg>"); }
.ic-grill{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M5 3v18M5 8h10l-2 4 2 4H5%22/></svg>"); }
.ic-base{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M4 21V5l8-3v19M12 8h6a2 2 0 0 1 2 2v11%22/></svg>"); }
.ic-lines{ --icon:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d=%22M3 7h18M3 12h18M3 17h18%22/></svg>"); }
