@import url("_cg.css");
/* /gloves/impact-gloves/ (design-v2-074), private-label style. Prefix imp-. Locked tokens only, no glows or gradients. */
.imp-lead{margin:16px 0 24px;font-size:18px;line-height:1.5;color:var(--text-2);max-width:44ch}
.imp-lead--on{color:var(--ivory)}
.imp-lead--dark{color:var(--on-ink-2)}

/* 1 styles */
.imp-stys{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.imp-sty__img{display:block;width:100%;aspect-ratio:4/3;border-radius:18px;background-color:var(--ink-3);background-repeat:no-repeat;margin-bottom:14px;transition:transform .45s var(--ease)}
.imp-sty:hover .imp-sty__img{transform:translateY(-4px)}
.imp-sty__t{margin:0 0 4px;font:800 28px/1 var(--display);text-transform:uppercase;color:#fff}
.imp-sty__d{margin:0;font-size:16px;color:var(--on-ink-2)}

/* 2 build */
.imp-build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.imp-build__fig{margin:0;padding:clamp(20px,4vw,48px);border-radius:26px;background:#fff}
.imp-build__glove{position:relative;max-width:440px;margin-inline:auto}
.imp-build__glove img{display:block;width:100%;height:auto}
.imp-pin{position:absolute;z-index:2;width:38px;height:38px;margin:-19px 0 0 -19px;display:grid;place-items:center;border-radius:50%;background:var(--tang);color:#fff;border:3px solid #fff;font:800 19px/1 var(--display);transition:transform .25s var(--ease),background .2s}
.imp-pin.is-on{transform:scale(1.25);background:var(--ink)}
.imp-opts{list-style:none;margin:0;padding:0;border-top:1px solid var(--sand)}
.imp-opt{display:grid;grid-template-columns:34px 1fr;gap:14px;align-items:center;padding:11px 6px;border-bottom:1px solid var(--sand);border-radius:10px;transition:background .2s;outline:none}
.imp-opt:hover,.imp-opt:focus-visible,.imp-opt.is-on{background:#fff}
.imp-opt b{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font:800 16px/1 var(--display)}
.imp-opt.is-on b,.imp-opt:hover b{background:var(--tang)}
.imp-opt span{font-size:16px;line-height:1.35;color:var(--text-2)}
.imp-opt strong{display:block;font:800 21px/1.05 var(--display);text-transform:uppercase;color:var(--ink)}
.imp-cols{margin-top:18px}

/* 3 logo: photo + list */
.imp-logo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.imp-logo__img{display:block;width:100%;aspect-ratio:1/1;border-radius:22px;border:6px solid #fff;background-color:var(--tang-d);background-repeat:no-repeat}
.imp-logo .hb-h2{color:#fff}
.imp-logo__list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.35)}
.imp-logo__list li{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:baseline;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.35)}
.imp-logo__list b{font:800 21px/1.05 var(--display);text-transform:uppercase;color:#fff}
.imp-logo__list span{font-size:16px;line-height:1.4;color:var(--ivory)}

/* 4 rating code */
.imp-rate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:center}
.imp-rate .cg-certs{color:#fff}
.imp-rate__k{margin:8px 0 12px;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink-2)}
.imp-code{padding:clamp(22px,3vw,36px);border-radius:24px;background:var(--ink-2);box-shadow:inset 0 0 0 1px rgba(255,248,240,.12)}
.imp-code__cap{margin:0 0 14px;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink-2)}
.imp-code__row{display:flex;gap:8px;margin:0 0 22px}
.imp-code__row span{flex:1;display:grid;place-items:center;aspect-ratio:3/4;max-width:72px;border-radius:12px;background:var(--ink-3);font:800 clamp(34px,4vw,52px)/1 var(--display);color:#fff}
.imp-code__row span.is-p{background:var(--tang)}
.imp-code__key{list-style:none;margin:0;padding:0}
.imp-code__key li{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid rgba(255,248,240,.12);font-size:16px;color:var(--on-ink-2)}
.imp-code__key b{font:800 20px/1 var(--display);color:#fff}
.imp-code__key li.is-p b{color:var(--tang)}

/* 5 ticket */
.imp-tk{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,72px);align-items:center}
.imp-ticket{display:grid;grid-template-columns:200px 1fr;border-radius:24px;background:var(--ivory);box-shadow:inset 0 0 0 1px var(--sand);overflow:hidden}
.imp-ticket__stub{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:28px 16px;background:var(--ink);color:var(--on-ink);text-align:center}
.imp-ticket__stub::after{content:"";position:absolute;right:-1px;top:14px;bottom:14px;border-right:3px dashed var(--ivory)}
.imp-ticket__stub span{font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--on-ink-2)}
.imp-ticket__stub b{font:800 96px/.9 var(--display);color:var(--tang)}
.imp-ticket__t{width:100%;border-collapse:collapse;font-size:16.5px}
.imp-ticket__t th,.imp-ticket__t td{padding:15px 18px;border-bottom:1px dashed var(--sand);text-align:left;vertical-align:top;line-height:1.4}
.imp-ticket__t tr:last-child th,.imp-ticket__t tr:last-child td{border-bottom:0}
.imp-ticket__t th{width:30%;font:800 18px/1.2 var(--display);text-transform:uppercase;color:var(--ink)}
.imp-ticket__t b{color:var(--tang-d)}

@media (max-width:960px){.imp-build,.imp-logo,.imp-rate,.imp-tk{grid-template-columns:1fr}}
@media (max-width:800px){
  .imp-stys{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px}
  .imp-sty{scroll-snap-align:start}
}
@media (max-width:640px){
  .imp-pin{width:30px;height:30px;margin:-15px 0 0 -15px;font-size:16px;border-width:2px}
  .imp-logo__list li{grid-template-columns:1fr;gap:2px}
  .imp-ticket{grid-template-columns:1fr}
  .imp-ticket__stub{flex-direction:row;flex-wrap:wrap;gap:4px 10px;padding:18px}
  .imp-ticket__stub::after{display:none}
  .imp-ticket__stub b{font-size:64px}
  .imp-ticket__t th{display:block;width:auto;padding-bottom:0;border:0}
  .imp-ticket__t td{display:block;padding-top:4px}
}
