/* Badge partners (partners.js, 7 Nov) · Home A look: white, cream cards #F9EDC9 / #E2CD8E, 2px #E5E5E5 cards, orange #FC9B00 buttons, Nunito */
.ptn-av{position:relative;flex:0 0 46px;width:46px;height:46px;padding:0;border:0;background:none;border-radius:50%;cursor:pointer;align-self:center}
.ptn-av>img:first-child,.ptn-av>.ptn-l{width:46px;height:46px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2.5px #fff,0 0 0 4.5px #D9C38A;display:grid;place-items:center}
.ptn-l{font:900 19px Nunito,system-ui,sans-serif;color:#fff}
.ptn-mini{position:absolute;right:-6px;bottom:-4px;width:22px;height:22px;border-radius:50%;box-shadow:0 0 0 2px #fff}
.ptn-bz{position:absolute;right:-5px;top:-3px;width:19px;height:19px;border-radius:50%;background:#FC9B00;box-shadow:0 0 0 2px #fff;display:grid;place-items:center}
.hf-top:has(>.ptn-av){align-items:center;justify-content:flex-start}
.hf-top>.ptn-av+.hf-hi{flex:1;min-width:0}
.hf-top>.ptn-av+.hf-hi h1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Profile tab = your round picture */
.ptn-tab{position:relative;display:block;width:33px;height:33px}
.ptn-tab>img:first-child,.ptn-tab>.ptn-l{width:33px!important;height:33px!important;border-radius:50%;object-fit:cover;filter:none!important;opacity:1!important;box-shadow:0 0 0 2px #fff,0 0 0 3.5px #E5E5E5;display:grid;place-items:center;font-size:14px}
.tabs button.on .ptn-tab>img:first-child{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #00B3FC}
.ptn-tab .ptn-mini{width:15px!important;height:15px!important;right:-4px;bottom:-3px;filter:none!important;opacity:1!important}

/* the badge screen's "Unlocks a partner" card */
.ptn-unl{display:flex;align-items:center;gap:10px;margin:12px auto 0;background:#fff;border-radius:16px;padding:7px 14px 7px 7px;box-shadow:0 3px 0 rgba(0,0,0,.08);text-align:left;animation:bdcUp .45s 1.05s both}
.ptn-unl img{width:40px;height:40px;border-radius:50%}
.ptn-unl small{display:block;font:800 10.5px Nunito;letter-spacing:.1em;text-transform:uppercase;color:#9E7945}.ptn-unl b{font:800 14.5px/1.2 Nunito;color:#2E3142}

/* buttons */
.ptn-b1,.ptn-b2{display:block;width:100%;border:0;border-radius:16px;padding:14px;font:900 16px Nunito,system-ui,sans-serif;cursor:pointer}
.ptn-b1{background:#FC9B00;color:#fff;box-shadow:0 4px 0 #D98500}.ptn-b1:active{transform:translateY(3px);box-shadow:0 1px 0 #D98500}
.ptn-b2{background:#fff;color:#2E3142;border:2px solid #E5E5E5;box-shadow:0 3px 0 #E5E5E5}
.ptn-k{display:block;font:800 11.5px Nunito;letter-spacing:.14em;text-transform:uppercase;color:#9E7945}
.ptn-pw{display:flex;gap:11px;align-items:flex-start;text-align:left;background:#F9EDC9;border:2px solid #E2CD8E;box-shadow:0 3px 0 #E2CD8E;border-radius:16px;padding:11px 12px;width:100%;box-sizing:border-box}
.ptn-bolt{flex:0 0 32px;height:32px;border-radius:10px;background:#fff;display:grid;place-items:center}
.ptn-pw small{display:block;font:800 10.5px Nunito;letter-spacing:.1em;text-transform:uppercase;color:#9E7945}
.ptn-pw b{display:block;font:900 15.5px/1.2 Nunito;color:#2E3142}.ptn-pw span>span{display:block;font:600 13.5px/1.35 Nunito;color:#5B5446}
.ptn-say{position:relative;background:#fff;border:2px solid #E5E5E5;border-radius:16px;padding:9px 13px;font:700 14.5px/1.35 Nunito;color:#2E3142;max-width:280px;text-align:center}
.ptn-say::before{content:"";position:absolute;top:-8px;left:50%;margin-left:-7px;width:12px;height:12px;background:#fff;border-left:2px solid #E5E5E5;border-top:2px solid #E5E5E5;transform:rotate(45deg)}
.ptn-say.l{max-width:none;margin:12px 0 0}.ptn-say.l::before{left:34px}

/* meet your partner */
.ptn-meet{position:absolute;inset:0;z-index:95;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--t1) 0,#fff 60%);font-family:Nunito,system-ui,sans-serif;animation:ptnIn .35s ease-out both}
.ptn-meet.out,.ptn-lie.out{animation:ptnOut .26s ease-in forwards}
@keyframes ptnIn{from{opacity:0;transform:translateY(24px)}}@keyframes ptnOut{to{opacity:0;transform:translateY(16px)}}
.ptn-mi{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(54px + env(safe-area-inset-top)) 22px 0;gap:8px;overflow:auto}
.ptn-mi h2{margin:0;font:900 26px/1.1 Nunito;color:#2E3142;letter-spacing:-.4px}
.ptn-fig{height:clamp(150px,28vh,230px);filter:drop-shadow(0 8px 10px rgba(0,0,0,.12));animation:ptnPop .6s .15s cubic-bezier(.3,1.6,.5,1) both}
@keyframes ptnPop{from{transform:scale(.5);opacity:0}}
.ptn-meet .ptn-say{margin-top:2px}.ptn-meet .ptn-pw{margin-top:6px}
.ptn-chk{display:flex;align-items:center;gap:9px;align-self:flex-start;margin:6px 0 0;border:0;background:none;padding:4px 0;font:700 14px Nunito;color:#6B6F80;cursor:pointer}
.ptn-chk i{width:22px;height:22px;border-radius:7px;border:2px solid #CFCFD6;display:grid;place-items:center;box-sizing:border-box}.ptn-chk i svg{opacity:0}
.ptn-chk.on i{background:#18C471;border-color:#18C471}.ptn-chk.on i svg{opacity:1}
.ptn-btns{display:grid;gap:9px;padding:14px 20px calc(24px + env(safe-area-inset-bottom))}

/* picture sheet */
.ptn-sh{text-align:center;font-family:Nunito,system-ui,sans-serif}
.ptn-sh h3{margin:0;font:900 22px/1.15 Nunito;color:#2E3142}.ptn-sh>p{margin:4px 0 14px;color:#6B6F80;font:600 14px/1.4 Nunito}
.ptn-sh .ptn-b2{margin:14px 0 10px}
.ptn-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ptn-opt{position:relative;border:2px solid #E5E5E5;border-radius:18px;padding:14px 8px 12px;background:#fff;box-shadow:0 2px 0 #E5E5E5;cursor:pointer;font-family:inherit}
.ptn-oi{position:relative;display:block;width:76px;height:76px;margin:0 auto 8px}
.ptn-oi>img:first-child,.ptn-oi>.ptn-l{width:76px;height:76px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 0 0 5px #E5E5E5;display:grid;place-items:center;font-size:30px}
.ptn-oi .ptn-mini{width:30px;height:30px;right:-6px;bottom:-2px}
.ptn-opt b{display:block;font:900 15.5px Nunito;color:#2E3142}.ptn-opt small{display:block;color:#6B6F80;font:600 12.5px/1.3 Nunito}
.ptn-opt.on{border-color:#18C471;background:#EFFBF3;box-shadow:0 2px 0 #18C471}.ptn-opt.on .ptn-oi>img:first-child{box-shadow:0 0 0 3px #fff,0 0 0 5px #18C471}
.ptn-tk{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:#18C471;display:grid;place-items:center}
.ptn-row{display:flex;justify-content:center;margin:0 0 16px}.ptn-row img{width:52px;height:52px;border-radius:50%;margin:0 -5px;box-shadow:0 0 0 3px #fff}

/* Rewards › Partners */
.ptn-v{font-family:Nunito,system-ui,sans-serif}
.ptn-sub{margin:2px 2px 14px;color:#6B6F80;font:600 14px/1.4 Nunito}
.ptn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 6px}
.ptn-c{position:relative;border:0;background:none;padding:2px 0;cursor:pointer;font:800 12px/1.15 Nunito;color:#2E3142;text-align:center}
.ptn-c img{display:block;width:58px;height:58px;border-radius:50%;margin:0 auto 5px;box-shadow:0 0 0 2px #fff,0 0 0 4px #E5E5E5}
.ptn-c.sel img{box-shadow:0 0 0 2px #fff,0 0 0 4.5px #18C471}
.ptn-c.lock img{filter:grayscale(1) brightness(1.15) contrast(.5);opacity:.6}.ptn-c.lock span{color:#A3A6B3}
.ptn-lk{position:absolute;top:40px;left:50%;margin-left:13px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);display:grid;place-items:center}
.ptn-cn{position:absolute;top:-4px;left:50%;margin-left:8px;z-index:1;background:#FC9B00;color:#fff;font:900 9px Nunito;font-style:normal;letter-spacing:.06em;padding:2px 5px;border-radius:6px}
.ptn-card{position:relative;margin-top:18px;background:linear-gradient(180deg,var(--t1) 0,#fff 70%);border:2px solid #E5E5E5;box-shadow:0 2px 0 #E5E5E5;border-radius:20px;padding:16px;overflow:hidden}
.ptn-cf{position:absolute;right:6px;top:6px;height:108px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}
.ptn-cn2{display:block;font:900 24px/1.1 Nunito;color:#2E3142;margin:2px 0 14px;min-height:52px;padding-right:96px}
.ptn-card .ptn-b1{margin-top:14px}
.ptn-now{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:14px;font:800 14px Nunito;color:#9E7945}.ptn-now.off{color:#6B6F80}
.ptn-need{display:flex;align-items:center;gap:12px;margin-top:14px;text-align:left}.ptn-need img{width:56px;height:56px}
.ptn-need small{display:block;font:800 10.5px Nunito;letter-spacing:.1em;text-transform:uppercase;color:#9E7945}.ptn-need b{display:block;font:900 15.5px/1.2 Nunito;color:#2E3142}.ptn-need span>span{font:600 13px Nunito;color:#6B6F80}
.ptn-rule{margin:14px 4px 0;color:#8A8E9C;font:600 12.5px/1.4 Nunito}

/* Kip's lie-in */
.ptn-lie{position:absolute;inset:0;z-index:95;background:rgba(30,32,44,.45);display:flex;align-items:center;padding:0 16px;font-family:Nunito,system-ui,sans-serif;animation:ptnIn .3s ease-out both}
.ptn-lc{width:100%;background:#fff;border-radius:24px;padding:16px;text-align:center;box-shadow:0 20px 50px -10px rgba(0,0,0,.4)}
.ptn-lc .ptn-fig{height:150px;margin:-80px auto 4px;display:block}
.ptn-lc h3{margin:0;font:900 22px/1.15 Nunito;color:#2E3142}.ptn-lc p{margin:6px 0 0;color:#6B6F80;font:600 14px/1.4 Nunito}
.ptn-q{font:700 14px/1.35 Nunito;background:#F4F4F6;border-radius:12px;padding:9px 11px;margin:12px 0}
.ptn-used{display:block;font:800 11px Nunito;color:#9E7945;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
/* Rewards gets a 4th segment (Partners): four across */
.cb-seg:has(>:nth-child(4)){grid-template-columns:repeat(4,1fr)!important}
.cb-seg:has(>:nth-child(4))>button{font-size:13.5px!important;letter-spacing:-.1px;white-space:nowrap}
