.hfp-dialog{box-sizing:border-box;width:min(900px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #d7e1e7;border-radius:20px;background:#f7f9fb;color:#192d3b;box-shadow:0 26px 100px #10283844;font:14px/1.45 system-ui,sans-serif;overflow:auto}
.hfp-dialog::backdrop{background:#10222f77;backdrop-filter:blur(4px)}
.hfp-sheen{min-height:32px}@media(max-width:650px){.hfp-sheen{min-height:40px}}
.hfp-dialog *{box-sizing:border-box}.hfp-dialog [hidden]{display:none!important}
/* This shared dialog also lives outside .hfq on public marketing pages. */
.hfp-dialog #hfp-library{padding:0;margin:0}
.hfp-header{display:flex;justify-content:space-between;gap:20px;padding:25px 28px 20px;background:#fff}.hfp-eyebrow{font-size:10px;letter-spacing:.16em;font-weight:750;color:#55736d}.hfp-header h2{font-size:25px;line-height:1.2;margin:5px 0 8px;font-weight:730}.hfp-header p{color:#657785;margin:0;font-size:13px}
.hfp-dialog button{font:inherit;cursor:pointer}.hfp-close{align-self:flex-start;width:34px;height:34px;border:1px solid #dce4e9;background:#fff;border-radius:50%;font-size:24px!important;line-height:1;color:#49616f}.hfp-tabs{display:flex;gap:4px;margin:18px 28px 0;padding:4px;background:#e7edf1;border-radius:11px;width:fit-content}.hfp-tabs button{padding:9px 18px;border:0;border-radius:8px;background:transparent;color:#526774;font-weight:650;font-size:13px}.hfp-tabs button[aria-selected=true]{background:#fff;color:#173f3c;box-shadow:0 2px 5px #213b4910}
.hfp-search{display:flex;align-items:center;gap:10px;padding:18px 28px 14px}.hfp-search label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.hfp-search input{min-width:0;flex:1;width:100%;height:43px;background:#fff;border:1px solid #d1dce3;border-radius:10px;padding:0 14px;font:inherit;color:inherit}.hfp-count{font-size:12px;color:#687d89;white-space:nowrap}
.hfp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 28px 22px;max-height:52dvh;overflow:auto;align-content:start}.hfp-card{padding:15px;background:#fff;border:1px solid #dbe4e9;border-radius:13px;box-shadow:0 2px 5px #16344604;min-width:0}.hfp-colour{display:flex;gap:11px;align-items:center;margin-bottom:14px}.hfp-swatch{display:block;flex:0 0 47px;width:47px;height:47px;border-radius:10px;box-shadow:inset 0 0 0 1px #152b361c,inset 0 2px 4px #ffffff30}.hfp-colour h3{font-size:15px;font-weight:720;line-height:1.2;margin:0}.hfp-colour p{font-size:11px;line-height:1.3;color:#74828b;margin:4px 0 0}.hfp-sheens{display:flex;flex-wrap:wrap;gap:6px}.hfp-sheen{border:1px solid #d4e0e6;border-radius:7px;background:#f7f9fb;padding:6px 9px;font-size:11px!important;font-weight:600!important;color:#405866;max-width:100%;text-align:left}.hfp-sheen:hover{border-color:#288578;color:#15594f;background:#eef8f4}.hfp-sheen.is-selected{background:#17675b;color:#fff;border-color:#17675b}.hfp-dialog :focus-visible{outline:3px solid #40a89c;outline-offset:3px}
#hfp-text{padding:24px 28px 30px}#hfp-text label{display:block;font-weight:650;margin-bottom:8px}#hfp-text textarea{display:block;width:100%;resize:vertical;min-height:110px;border:1px solid #c8d6df;border-radius:10px;padding:12px;font:inherit;color:inherit;background:#fff}#hfp-text p{font-size:12px;color:#657785;max-width:650px}.hfp-use-text{padding:10px 17px;border:0;border-radius:9px;background:#17675b;color:#fff;font-weight:650!important}.hfp-footer{padding:14px 28px;border-top:1px solid #dee6eb;background:#fff;font-size:11px;color:#73838e;display:flex;align-items:center;justify-content:space-between;gap:14px}.hfp-later{border:0;background:transparent;color:#306559;text-decoration:underline}.hfp-empty{padding:18px 28px;color:#607581}.hfp-error{padding:12px 28px;color:#a12934;margin:0;background:#fff1f1}
.hfp-stock{display:block;font-size:10px;line-height:1.4;font-weight:500;opacity:.85;margin-top:3px}.hfp-stock-note{margin:0;padding:0 28px 12px;font-size:11px;color:#657785}
.hfp-field{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:160px;text-align:left;border:1px solid #cbd8e0;border-radius:8px;background:#fff;color:#253d4c;padding:7px 10px;font:inherit;font-size:12px;cursor:pointer}.hfp-inline{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-width:0;vertical-align:middle}.hfp-chip{display:inline-block;flex:0 0 18px;width:18px;height:18px;border-radius:4px;box-shadow:inset 0 0 0 1px #152b3640}.hfp-label{white-space:normal;overflow-wrap:anywhere;min-width:0}.hfp-field small{margin-left:auto;color:#607986}.hfp-field:hover{border-color:#218476}.hfp-field:disabled{opacity:.5;cursor:default}
@media(max-width:650px){.hfp-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 16px;gap:9px;max-height:50dvh}.hfp-header{padding:20px 16px 16px}.hfp-header h2{font-size:21px}.hfp-tabs{margin:14px 16px 0}.hfp-tabs button{padding:9px 12px}.hfp-search{padding:15px 16px 12px}.hfp-card{padding:11px}.hfp-colour{gap:8px}.hfp-swatch{flex-basis:35px;width:35px;height:39px}.hfp-colour h3{font-size:13px}.hfp-footer{padding:12px 16px}#hfp-text{padding:20px 16px}}

/* Compact colour cards: full-width swatches with contrast-selected text. */
.hfp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 20px 18px}
.hfp-card{padding:0;overflow:hidden;border-radius:10px}
.hfp-colour{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;min-height:66px;margin:0;padding:10px 12px;box-shadow:inset 0 0 0 1px #152b3612}
.hfp-colour h3{font-size:14px;line-height:1.15;color:inherit}.hfp-colour p{color:inherit;opacity:1;margin-top:4px;font-size:11px}
.hfp-sheens{padding:8px;gap:5px}.hfp-sheen{padding:4px 7px;min-height:28px;border-radius:5px}.hfp-stock{margin-top:1px}
.hfp-header{padding:19px 20px 15px}.hfp-tabs{margin:14px 20px 0}.hfp-search{padding:14px 20px 12px}.hfp-stock-note{padding-left:20px;padding-right:20px}
@media(max-width:760px){.hfp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.hfp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 14px}.hfp-colour{padding:9px;min-height:64px}.hfp-colour h3{font-size:13px}.hfp-header{padding:17px 14px 13px}.hfp-tabs{margin-left:14px;margin-right:14px}.hfp-search{padding-left:14px;padding-right:14px}.hfp-sheen{min-height:32px}.hfp-sheens{padding:6px;gap:4px}}
