/* InstantBanners: community discount + trade account pages and callouts (acct-schemes). Uses IB's style.css tokens. */
.cdi-head{background:var(--white);border-bottom:1px solid var(--line);padding:0 0 28px}
.cdi-head h1{margin:0 0 10px;max-width:24ch}
.cdi-head .lede{margin:0 0 16px}
.cdi-who{margin:0 0 20px;max-width:75ch;padding:12px 16px;border-left:4px solid var(--marker);background:var(--tint);border-radius:0 10px 10px 0;color:var(--ink-soft)}
.cdi-who b{color:var(--ink)}
.cdi-facts{margin:0}
.cdi-intro{font-size:18px;line-height:1.6;color:var(--ink-soft);max-width:75ch;margin:0 0 36px}

/* product cards: 4 / 4 / 2 columns, always full rows (4 or 8 cards) */
.cdi-grid{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
.cdi-use{display:block;font-size:13px;line-height:1.4}

/* what people print it for: 4 / 2 / 1 */
.cdi-uses{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr));counter-reset:s}
.cdi-uses .step h3{margin:0 0 6px}

/* child pages / ideas: 4 / 2 / 1 or 3 / 3 / 1 */
.cdi-kids{display:grid;gap:16px}
.cdi-kids--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cdi-kids--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cdi-kid{display:flex;flex-direction:column;gap:6px;padding:20px;background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:var(--r-card);box-shadow:var(--shadow-sm);color:var(--ink);transition:border-color .15s var(--ease),transform .2s var(--ease)}
.cdi-kid:hover{border-color:var(--ink);transform:translateY(-2px)}
.cdi-kid b{font:800 19px/1.2 var(--f-display);letter-spacing:-.01em}
.cdi-kid span{color:var(--muted);font-size:14.5px;line-height:1.45;flex:1}
.cdi-kid em{font-style:normal;font-weight:700;font-size:14px;color:var(--brand-dark)}
.cdi-kid--disc{background:var(--ink);border-color:var(--ink);border-top-color:var(--marker);color:#fff}
.cdi-kid--disc span{color:#cfcac4}.cdi-kid--disc em{color:var(--marker)}

/* community discount band */
.cdi-band{background:var(--ink);color:#fff}
.cdi-band__in{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:32px;align-items:center;padding-top:36px;padding-bottom:36px}
.cdi-band__pct{display:grid;place-items:center;align-content:center;width:150px;height:130px;border-radius:18px;background:var(--marker);color:var(--ink);text-align:center;transform:rotate(-3deg)}
.cdi-band__pct b{font:800 44px/1 var(--f-display)}
.cdi-band__pct span{font:700 11px/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.cdi-band .eyebrow{color:var(--marker);margin-bottom:8px}
.cdi-band h2{color:#fff;margin:0}
.cdi-band p{margin:8px 0 0;color:#cfcac4;max-width:62ch;line-height:1.55}
.cdi-band__btns{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.cdi-band__more{color:#fff;font-weight:700;font-size:14.5px;text-decoration:underline;text-underline-offset:3px}
.cdi-band__more:hover{color:var(--marker)}

/* scheme + trade: story beside the form */
.cdi-join{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:40px;align-items:start}
.cdi-story{font-size:17px;line-height:1.6;color:var(--ink-soft);max-width:60ch;margin:0 0 14px}
.cdi-story:first-child{font:700 21px/1.45 var(--f-display);color:var(--ink);letter-spacing:-.01em}
.cdi-steps{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.cdi-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink-soft);font-size:15px;line-height:1.45}
.cdi-steps b{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}
.cdi-steps__n{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;font:700 15px/1 var(--f-mono)}
.cdi-h3{font-size:20px;margin:28px 0 12px}
.cdi-ticks,.cdi-fine{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cdi-ticks{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.cdi-ticks li,.cdi-fine li{position:relative;padding-left:24px;line-height:1.45;font-size:15px}
.cdi-ticks li::before{content:"";position:absolute;left:3px;top:5px;width:11px;height:6px;border-left:2.5px solid var(--ok);border-bottom:2.5px solid var(--ok);transform:rotate(-45deg)}
.cdi-fine li{color:var(--ink-soft)}
.cdi-fine li::before{content:"";position:absolute;left:7px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--brand)}
.cdi-alt{display:block;margin-top:24px;padding:16px 18px;border-radius:12px;background:var(--ink);color:#cfcac4;font-size:15px;line-height:1.45}
.cdi-alt b{display:block;color:#fff;font-size:17px;margin-bottom:2px}
.cdi-alt:hover b{color:var(--marker)}
.cdi-join__form{padding:24px;position:sticky;top:100px;border:2px solid var(--ink)}
.cdi-join__form h2{font-size:22px;margin:0 0 14px}

/* form */
.cds-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.cds-f{margin:0;display:flex;flex-direction:column;gap:5px;min-width:0}
.cds-f--wide{grid-column:1/-1}
.cds-f label{font-weight:700;font-size:14px;color:var(--ink)}
.cds-req{color:var(--brand)}
.cds-f input,.cds-f select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r-ctl);font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.cds-f input:focus,.cds-f select:focus{outline:2px solid var(--ink);outline-offset:1px}
.cds-f input[readonly]{background:var(--tint)}
.cds-f small{color:var(--muted);font-size:12.5px;line-height:1.35}
.cds-check{margin:16px 0 0;font-size:14px;line-height:1.45}
.cds-check label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.cds-check input{width:18px;height:18px;margin-top:1px;flex:none;accent-color:var(--brand)}
.cds-priv{margin:10px 0 0;font-size:13px;color:var(--muted)}
.cds-priv a,.cds-signin a{color:var(--brand-dark);font-weight:700;text-decoration:underline}
.cds-submit{margin:16px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.cds-signin{font-size:14px;color:var(--muted)}
.cds-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cds-err{margin:0 0 16px;padding:12px 16px;border-radius:10px;background:var(--brand-soft);border:1px solid #f3b5bb;color:var(--brand-dark);font-size:14.5px}
.cds-err p{margin:0 0 4px}.cds-err ul{margin:0;padding-left:18px}
.cds-done-h{margin:0 0 8px;font:800 22px/1.2 var(--f-display);color:var(--ok)}
.cds-done-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}

/* related links */
.cdi-rel{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:56px}
.cdi-rel>span{font-weight:700;margin-right:4px}
.cdi-chip{display:inline-block;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line-strong);font-weight:600;font-size:14.5px;color:var(--ink)}
.cdi-chip:hover{border-color:var(--ink)}
.cdi-chip--up{background:var(--ink);border-color:var(--ink);color:#fff}
.cdi-chip--disc{background:var(--marker);border-color:#e0bb00}

/* header: the topbar only has room for the trade link on wide screens (phones get it in the menu drawer) */
.topbar__links .cds-tb{display:none}
@media (min-width:1500px){.topbar__links .cds-tb{display:list-item}}
.cdi-kid--disc b{color:#fff}

/* product page + basket */
.cds-line{margin:12px 0 0;font-size:13.5px;line-height:1.45;color:var(--muted)}
.cds-line a{color:var(--brand-dark);font-weight:700;text-decoration:underline}
.cds-line--on{color:var(--ok);font-weight:700}
.cds-row th,.cds-row td b{color:var(--ok)}
.cds-row-note{display:block;font-size:12.5px;font-weight:400;color:var(--muted);margin-top:2px}

@media (max-width:1024px){
  .cdi-uses,.cdi-kids--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdi-join{grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:28px}
  .cdi-band__in{grid-template-columns:130px minmax(0,1fr);row-gap:18px}
  .cdi-band__pct{width:130px;height:115px}
  .cdi-band__btns{grid-column:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 18px}
}
@media (max-width:900px){.cdi-join{grid-template-columns:1fr}.cdi-join__form{position:static;order:-1}}
@media (max-width:760px){
  .cdi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .cdi-uses,.cdi-kids--4,.cdi-kids--3,.cds-grid,.cdi-ticks{grid-template-columns:1fr}
  .cdi-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cdi-intro{font-size:16px;margin-bottom:24px}
  .cdi-join__form{padding:18px 14px}
  .cdi-band__in{grid-template-columns:1fr;gap:14px;padding-top:28px;padding-bottom:28px}
  .cdi-band__pct{width:auto;height:auto;padding:10px 16px;display:flex;align-items:baseline;gap:8px;justify-self:start;transform:none}
  .cdi-band__pct b{font-size:30px}
  .cdi-band__btns{grid-column:auto}
}
