/* Public tools (BIN checker). Scoped to .sp-bin and built on the public page palette. */
.sp-public-page .sp-bin{--bin-ink:#302d28;--bin-soft:#4a453d;--bin-muted:#746a5a;--bin-line:#e6dcc9;--bin-paper:#fffdf8;--bin-gold:#e6b750;--bin-gold-deep:#86621f;--bin-navy:#101f3b;--bin-cream:#f4ead3}

/* Hero: the form on one side, the card that fills in as you type on the other. */
.sp-public-page .sp-bin .sp-bin-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:52px;align-items:center;padding:12px 0 44px}
.sp-public-page .sp-bin .sp-bin-hero h1{margin:0 0 14px}
.sp-public-page .sp-bin .sp-bin-lead{font-size:17px;color:var(--bin-soft);max-width:56ch;margin:0}
.sp-public-page .sp-bin .sp-bin-form{margin-top:28px}
.sp-public-page .sp-bin .sp-bin-form label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}
.sp-public-page .sp-bin .sp-bin-field{display:flex;gap:10px;align-items:stretch}
.sp-public-page .sp-bin .sp-bin-field input{flex:1;min-width:0;height:58px;padding:0 18px;border:1px solid #d6c9ae;border-radius:14px;background:var(--bin-paper);color:var(--bin-ink);font-size:22px;font-weight:600;letter-spacing:.14em;font-variant-numeric:tabular-nums;direction:ltr;text-align:left}
.sp-public-page .sp-bin .sp-bin-field input::placeholder{color:#b9ad96;font-weight:500}
.sp-public-page .sp-bin .sp-bin-field input:focus{border-color:#987228}
.sp-public-page .sp-bin .sp-bin-field button{height:58px;padding:0 26px;border-radius:14px;border:1px solid #d5a740;background:var(--bin-gold);color:var(--bin-ink);font-size:16px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background-color .15s}
.sp-public-page .sp-bin .sp-bin-field button:hover{background:#dcab3f}
.sp-public-page .sp-bin .sp-bin-field button[disabled]{opacity:.65;cursor:progress}
.sp-public-page .sp-bin .sp-bin-hint{font-size:14px;color:var(--bin-muted);margin:10px 0 0}
.sp-public-page .sp-bin .sp-bin-msg{min-height:24px;font-size:15px;font-weight:600;color:#9a3b1f;margin:8px 0 0}
.sp-public-page .sp-bin .sp-bin-try{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--bin-muted);margin:10px 0 0}
.sp-public-page .sp-bin .sp-bin-try button{min-height:36px;padding:6px 14px;border:1px solid var(--bin-line);border-radius:999px;background:transparent;color:var(--bin-gold-deep);font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums;direction:ltr;cursor:pointer;transition:background-color .15s,border-color .15s}
.sp-public-page .sp-bin .sp-bin-try button:hover{background:#f6edd9;border-color:#c9b27c}

/* The card. Always laid out left to right, like a physical card. */
.sp-public-page .sp-bin .sp-bin-card{position:relative;aspect-ratio:1.586;width:100%;max-width:440px;margin-inline:auto;padding:26px 28px;border-radius:22px;display:flex;flex-direction:column;justify-content:space-between;direction:ltr;overflow:hidden;color:var(--bin-cream);background:linear-gradient(135deg,#1a3156 0%,#101f3b 52%,#0b1830 100%);box-shadow:0 26px 50px -24px rgba(16,31,59,.6),inset 0 0 0 1px rgba(230,183,80,.28)}
.sp-public-page .sp-bin .sp-bin-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 100% 0%,rgba(230,183,80,.2) 0%,transparent 56%);pointer-events:none}
.sp-public-page .sp-bin .sp-bin-card>div{position:relative}
.sp-public-page .sp-bin .sp-bin-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.sp-public-page .sp-bin .sp-bin-card__issuer{max-width:72%;font-size:15px;font-weight:600;line-height:1.35;opacity:.5;transition:opacity .3s;unicode-bidi:plaintext}
.sp-public-page .sp-bin .sp-bin-card__chip{flex:none;width:46px;height:34px;border-radius:8px;background:linear-gradient(135deg,#f0cf7e,#c9993a);box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.sp-public-page .sp-bin .sp-bin-card__number{display:flex;gap:.62em;font-size:clamp(19px,2.25vw,27px);font-weight:600;font-variant-numeric:tabular-nums}
.sp-public-page .sp-bin .sp-bin-card__number span{display:inline-flex;gap:.12em}
.sp-public-page .sp-bin .sp-bin-card__number i{width:.74em;font-style:normal;text-align:center;color:rgba(244,234,211,.3);transition:color .2s}
.sp-public-page .sp-bin .sp-bin-card__number i.is-on{color:#f3c765}
.sp-public-page .sp-bin .sp-bin-card__bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.sp-public-page .sp-bin .sp-bin-card__type{min-height:20px;font-size:13px;color:rgba(244,234,211,.75);unicode-bidi:plaintext}
.sp-public-page .sp-bin .sp-bin-card__scheme{font-size:20px;font-weight:800;opacity:.5;transition:opacity .3s,color .3s;unicode-bidi:plaintext}
.sp-public-page .sp-bin .sp-bin-card.has-issuer .sp-bin-card__issuer{opacity:1}
.sp-public-page .sp-bin .sp-bin-card.is-identified .sp-bin-card__scheme{opacity:1;color:#f3c765}

/* Result */
.sp-public-page .sp-bin .sp-bin-result h2{margin-top:0}
.sp-public-page .sp-bin .sp-bin-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px;margin:6px 0 0}
.sp-public-page .sp-bin .sp-bin-dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid var(--bin-line)}
.sp-public-page .sp-bin .sp-bin-dl dt{font-size:14px;color:var(--bin-muted)}
.sp-public-page .sp-bin .sp-bin-dl dd{margin:0;font-size:17px;font-weight:600;text-align:end}
.sp-public-page .sp-bin .sp-bin-dl dd.is-unknown{font-weight:400;color:#9c917f}

/* What a BIN tells you */
.sp-public-page .sp-bin .sp-bin-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin:14px 0 0}
.sp-public-page .sp-bin .sp-bin-facts>div{padding:14px 0;border-top:1px solid var(--bin-line)}
.sp-public-page .sp-bin .sp-bin-facts dt{font-weight:700}
.sp-public-page .sp-bin .sp-bin-facts dd{margin:2px 0 0;color:var(--bin-soft)}

/* Anatomy of a card number */
.sp-public-page .sp-bin .sp-bin-anatomy{margin:22px 0 6px;padding-bottom:6px;direction:ltr;overflow-x:auto}
.sp-public-page .sp-bin .sp-bin-anatomy__num{display:inline-flex;gap:3px;white-space:nowrap;font-size:clamp(22px,4.2vw,40px);font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.sp-public-page .sp-bin .sp-bin-anatomy__num span{padding-bottom:8px;border-bottom:4px solid var(--c)}
.sp-public-page .sp-bin .sp-bin-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 44px;margin:20px 0}
.sp-public-page .sp-bin .sp-bin-legend>div{padding-inline-start:16px;border-inline-start:4px solid var(--c)}
.sp-public-page .sp-bin .sp-bin-legend dt{font-weight:700}
.sp-public-page .sp-bin .sp-bin-legend dd{margin:2px 0 0;color:var(--bin-soft)}
.sp-public-page .sp-bin .c-mii{--c:#101f3b}
.sp-public-page .sp-bin .c-bin{--c:#d9a93f}
.sp-public-page .sp-bin .c-acct{--c:#cfc3aa}
.sp-public-page .sp-bin .c-check{--c:#86621f}

/* Prefix table */
.sp-public-page .sp-bin .sp-bin-table-wrap{overflow-x:auto;margin-top:14px}
.sp-public-page .sp-bin .sp-bin-table{width:100%;min-width:480px;border-collapse:collapse;font-size:16px}
.sp-public-page .sp-bin .sp-bin-table th{padding:10px 0;padding-inline-end:16px;text-align:start;font-size:14px;font-weight:600;color:var(--bin-muted);border-bottom:1px solid #d6c9ae}
.sp-public-page .sp-bin .sp-bin-table td{padding:13px 0;padding-inline-end:16px;border-bottom:1px solid var(--bin-line);font-variant-numeric:tabular-nums}
.sp-public-page .sp-bin .sp-bin-table td:first-child{font-weight:700}

/* FAQ */
.sp-public-page .sp-bin .sp-bin-faq details{border-bottom:1px solid var(--bin-line)}
.sp-public-page .sp-bin .sp-bin-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-size:18px;font-weight:600;cursor:pointer;list-style:none}
.sp-public-page .sp-bin .sp-bin-faq summary::-webkit-details-marker{display:none}
.sp-public-page .sp-bin .sp-bin-faq summary::after{content:"+";flex:none;font-size:24px;font-weight:400;line-height:1;color:var(--bin-gold-deep)}
.sp-public-page .sp-bin .sp-bin-faq details[open] summary::after{content:"\2013"}
.sp-public-page .sp-bin .sp-bin-faq details p{margin:0 0 18px}

/* Call to action and sources */
.sp-public-page .sp-bin .sp-bin-cta{max-width:1040px;margin:40px auto 0;padding:34px 36px;border-radius:22px;background:var(--bin-navy);display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.sp-public-page .sp-bin .sp-bin-cta h2{margin:0 0 6px;font-size:24px;color:var(--bin-cream)!important}
.sp-public-page .sp-bin .sp-bin-cta p{margin:0;color:rgba(244,234,211,.8)}
.sp-public-page .sp-bin .sp-bin-cta a{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;border-radius:14px;background:var(--bin-gold);color:var(--bin-ink);font-weight:700;text-decoration:none}
.sp-public-page .sp-bin .sp-bin-cta a:hover{background:#f0c869}
.sp-public-page .sp-bin .sp-bin-cta a:focus-visible{outline-color:var(--bin-cream)}
.sp-public-page .sp-bin .sp-bin-sources{max-width:1040px;margin:22px auto 0;font-size:13px;line-height:1.7;color:#8a7f6d}

@media(max-width:900px){
 .sp-public-page .sp-bin .sp-bin-hero{grid-template-columns:1fr;gap:32px;padding-bottom:32px}
 .sp-public-page .sp-bin .sp-bin-card{max-width:400px;padding:22px 24px}
 .sp-public-page .sp-bin .sp-bin-card__number{font-size:clamp(18px,5.4vw,25px)}
 .sp-public-page .sp-bin .sp-bin-dl,.sp-public-page .sp-bin .sp-bin-facts,.sp-public-page .sp-bin .sp-bin-legend{grid-template-columns:1fr}
 .sp-public-page .sp-bin .sp-bin-cta{padding:28px 24px}
}
@media(max-width:480px){
 .sp-public-page .sp-bin .sp-bin-field{flex-direction:column}
 .sp-public-page .sp-bin .sp-bin-field button{width:100%}
 .sp-public-page .sp-bin .sp-bin-cta a{width:100%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.sp-public-page .sp-bin *{transition:none!important}}
