/* The refill setup shares the shop's typography and paper colours. */
.su {color:var(--fm-ink);font-family:var(--fm-sans);min-width:0;}
.su *, .su-pdp-option * {box-sizing:border-box;}
.su h1,.su h2,.su p,.su dl,.su dd,.su fieldset {margin:0;}
.su h1,.su h2,.su-object strong {font-family:var(--fm-heavy);font-weight:1000;letter-spacing:-.065em;}
.su a,.su-pdp-option {color:inherit;}
.su a:focus-visible,.su button:focus-visible,.su input:focus-visible,.su select:focus-visible,.su-pdp-option:focus-visible {outline:3px solid #873b8d;outline-offset:3px;}
.su input,.su select,.su button {font:inherit;color:inherit;}
.su [hidden] {display:none!important;}

.fp .su-pdp-option {
  display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:12px;
  padding:13px 15px;margin-top:9px;background:#ebefce;border:1px solid var(--fm-ink);
  text-decoration:none;color:var(--fm-ink);
}
.su-pdp-option:hover {background:#e0edae;}
.su-pdp-option .su-pdp-icon {display:grid;place-content:center;width:30px;height:30px;background:var(--fm-olive);border:1px solid var(--fm-ink);font:650 20px/1 var(--fm-sans);}
.su-pdp-option strong {display:block;font:750 14px/1.45 var(--fm-sans);}
.su-pdp-option small {display:block;font:500 11px/1.55 var(--fm-sans);color:#5b6543;margin-top:3px;}
.su-pdp-option>b {font-size:18px;}

.su-heading {
  display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);gap:34px;align-items:center;
  background:var(--fm-coral);padding:32px 43px;border-bottom:1px solid var(--fm-ink);
}
.su-heading h1,.su-blocked h1 {font-size:clamp(56px,6.3vw,87px);line-height:.96;overflow-wrap:anywhere;}
.su-heading-copy>p {max-width:370px;margin-top:17px;font-size:15px;line-height:1.55;}
.su-object {
  display:grid;grid-template-columns:clamp(105px,12vw,165px) minmax(0,1fr);align-items:center;
  border:1px solid var(--fm-ink);background:var(--fm-paper);box-shadow:4px 4px 0 var(--fm-ink);
  text-decoration:none;margin:0 4px 4px 0;min-width:0;
}
.su-object img {display:block;width:100%;height:100%;min-height:165px;object-fit:cover;border-right:1px solid var(--fm-ink);}
.su-object>div {min-width:0;padding:18px;}
.su-object small,.su-eyebrow,.su-next>span,.su-next>small {font:600 10px/1.55 var(--fm-mono);}
.su-object small,.su-eyebrow,.su-next>span {letter-spacing:.045em;text-transform:uppercase;}
.su-object strong {display:block;font-size:clamp(22px,2vw,28px);line-height:1.04;margin:6px 0;}
.su-object>div>span {display:block;font-size:12px;line-height:1.5;}
.su-object b,.su-text-link {display:inline-flex;align-items:center;gap:12px;text-decoration:underline;text-underline-offset:3px;font:650 12px/1.5 var(--fm-sans);margin-top:13px;}

.su-layout {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(290px,.85fr);gap:29px;align-items:start;margin:26px 0 48px;}
.su-controls,.su-summary {border:1px solid var(--fm-ink);min-width:0;}
.su-controls {background:var(--fm-paper);padding:27px 29px 25px;}
.su-controls h2,.su-summary h2 {font-size:clamp(30px,2.5vw,39px);line-height:1.03;margin-bottom:18px;}
.su-field,.su-interval {display:block;border:0;border-top:1px solid #cabcaa;padding:17px 0 0;margin-top:16px!important;min-width:0;}
.su-field strong,.su-interval legend {display:block;font:750 14px/1.45 var(--fm-sans);margin-bottom:8px;}
.su-field select,.su-field input {
  display:block;max-width:100%;width:100%;min-height:43px;background:#fffaf2;border:1px solid #a7987e;
  border-radius:0;padding:9px 12px;font:600 14px/1.45 var(--fm-sans);
}
.su-field select {cursor:pointer;}
.su-field small {display:block;font:500 11px/1.6 var(--fm-sans);color:#6b5c45;margin-top:7px;}
.su-field input[aria-invalid=true] {border-color:#a13527;}
.su-interval {border:0;padding-top:0;}
.su-interval>div {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;}
.su-cycle {position:relative;cursor:pointer;}
.su-cycle input {position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;}
.su-cycle span {display:grid;place-items:center;min-height:43px;border:1px solid #a7987e;background:#fffaf2;font:650 13px/1.4 var(--fm-sans);}
.su-cycle input:checked+span {background:var(--fm-ink);color:var(--fm-paper);border-color:var(--fm-ink);}
.su-cycle input:focus-visible+span {outline:3px solid #873b8d;outline-offset:3px;}
.su-summary {background:#e9edce;padding:25px;position:sticky;top:18px;box-shadow:3px 3px 0 var(--fm-ink);}
.su-next {background:var(--fm-olive);border:1px solid #8c9b64;padding:15px 16px;margin-bottom:16px;}
.su-next>span,.su-next>b,.su-next>small {display:block;}
.su-next>b {font:850 clamp(21px,2vw,29px)/1.12 var(--fm-sans);letter-spacing:-.045em;margin-top:5px;}
.su-next>small {font-size:10px;margin-top:7px;color:#46542c;}
.su-price>div {display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:7px 0;}
.su-price dt,.su-price dd {font-size:13px;line-height:1.5;}
.su-price dd {font-weight:750;white-space:nowrap;text-align:right;}
.su-price .su-total {border-top:1px solid #9ca67d;margin-top:8px;padding:11px 0;}
.su-total dt {font-weight:750;}
.su-total dd {font:850 24px/1.15 var(--fm-sans);letter-spacing:-.055em;white-space:normal;}
.su-preview {display:block;font-size:11px;line-height:1.55;margin:8px 0 13px;border-left:2px solid #88976c;padding-left:10px;color:#4d5937;}
.su-preview b,.su-preview span {display:block;}
.su-primary {
  display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:var(--fm-ink);color:var(--fm-paper)!important;
  border:1px solid var(--fm-ink);border-radius:0;text-decoration:none;padding:12px 15px;min-height:45px;
  font:700 13px/1.45 var(--fm-sans)!important;cursor:pointer;
}
.su-summary .su-primary {width:100%;}
.su-primary:hover {background:#3a3029;}
.su-primary:disabled {opacity:.5;cursor:default;}
.su-error,.su-issue {background:#fee5d7;border-left:3px solid #b5482c;color:#83321e;font:600 12px/1.5 var(--fm-sans);padding:9px 11px;margin:9px 0!important;}
.su-blocked {padding:35px;background:var(--fm-paper);border:1px solid var(--fm-ink);margin:24px 0;}
.su-blocked h1 {font-size:clamp(43px,5.4vw,68px);margin:14px 0;}
.su-blocked>p:not(.su-eyebrow) {max-width:540px;font-size:15px;line-height:1.6;margin-bottom:20px;}
.su-blocked .su-text-link {margin-left:16px;}

@media (max-width:1050px) {
  .su-heading {padding:29px 30px;gap:22px;grid-template-columns:minmax(0,1fr) minmax(285px,.95fr);}
  .su-object>div {padding:13px;}
  .su-layout {gap:19px;grid-template-columns:minmax(0,1.12fr) minmax(245px,.88fr);}
  .su-controls,.su-summary {padding:20px;}
}
@media (max-width:760px) {
  .su-heading {grid-template-columns:1fr;padding:23px 20px;gap:18px;}
  .su-heading h1 {font-size:clamp(46px,9vw,60px);}
  .su-heading h1 br {display:none;}
  .su-heading h1 em::before {content:' ';}
  .su-heading-copy>p {font-size:14px;line-height:1.5;margin-top:13px;}
  .su-object {grid-template-columns:84px minmax(0,1fr);max-width:430px;}
  .su-object img {min-height:100px;}
  .su-object>div {padding:11px;}
  .su-object strong {font-size:22px;margin:4px 0;}
  .su-object b {font-size:11px;margin-top:5px;}
  .su-object small {font-size:8px;}
  .su-object>div>span {font-size:11px;}
  .su-layout {grid-template-columns:1fr;margin:18px 0 35px;gap:16px;}
  .su-controls,.su-summary {padding:19px;}
  .su-summary {position:static;margin-right:3px;}
  .su-field input,.su-field select {font-size:16px;}
  .su-field small {font-size:12px;}
  .su-controls h2,.su-summary h2 {font-size:30px;margin-bottom:15px;}
  .su-cycle span {font-size:12px;min-height:42px;}
  .su-next>b {font-size:25px;}
  .su-preview {font-size:12px;}
  .su-primary {min-height:46px;}
  .su-blocked {padding:21px;}
  .su-blocked .su-text-link {display:flex;width:fit-content;margin:14px 0 0;}
  .su-pdp-option strong {font-size:13px;}
}
@media (max-width:355px) {
  .su-heading {padding:20px 15px;}
  .su-heading h1 {font-size:42px;}
  .su-controls,.su-summary {padding:16px;}
  .su-interval>div {gap:4px;}
  .su-cycle span {font-size:11px;}
}
@media (max-width:600px) {
  .fp .su-mobile-purchase {gap:7px;padding-inline:12px;}
  .fp .su-mobile-purchase>div {flex:1;}
  .fp .su-mobile-purchase>button {padding-inline:10px;gap:7px;}
  .su-mobile-plan {display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:44px;padding:9px 10px;border:1px solid var(--fm-ink);background:var(--fm-olive);color:var(--fm-ink);font:700 12px/1.3 var(--fm-sans);text-decoration:none;}
}
@media (max-width:355px) {
  .fp .su-mobile-purchase>button,.su-mobile-plan {font-size:11px;}
}
