/* Takeaway Pacific · front door styles (index.html): promotions (partner cards, "Sponsored"). Linked in order; the cascade depends on it. */
/* =========================================================
   PROMOTIONS (partner cards, "Sponsored")
   ========================================================= */
.pwrap{margin-top:4px}
.prow{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:20px;margin:0 -20px;padding:10px 20px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.prow::-webkit-scrollbar{display:none}
.pslot{flex:0 0 84%;min-width:0;scroll-snap-align:start;display:flex}
.pslot:only-child{flex-basis:100%}
.pcard{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;padding:0;border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--sh);text-align:left;color:var(--midnight);overflow:hidden;animation:panein 460ms var(--in) both;transition:transform 260ms var(--spring),box-shadow 260ms var(--out)}
.pcard.tap:active{transform:scale(.97)}
.pc-art{position:relative;display:flex;gap:6px;height:92px;padding:10px;background:var(--midnight);background-image:var(--tonga);background-size:96px;background-blend-mode:soft-light}
.pc-art .art-tile{flex:1;min-width:0;border-radius:14px}
.pc-art .art-tile .ic{width:30px;height:30px}
.pc-art .mono{width:72px;height:72px;font-size:38px;border-radius:20px;background:#fff;color:var(--midnight)}
.pc-spon{position:absolute;left:16px;bottom:-11px;z-index:1;padding:5px 9px;border-radius:99px;background:#fff;border:1px solid var(--line);color:var(--ink-2);font:800 10.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.pc-off{position:absolute;right:12px;top:12px;z-index:1;min-width:56px;padding:8px 10px;border-radius:14px;background:var(--coral);color:#fff;font:800 19px/1 var(--sans);letter-spacing:-.02em;text-align:center;box-shadow:0 3px 0 var(--red-press);transform:rotate(3deg)}
.pc-body{display:flex;flex-direction:column;flex:1;padding:20px 16px 14px}
.pc-v{font:800 11.5px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.pc-t{display:block;margin-top:5px;font:800 18px/1.18 var(--sans);letter-spacing:-.02em;text-wrap:balance}
.pc-b{display:block;margin-top:5px;color:var(--ink-2);font-size:13.5px;line-height:1.45}
.pc-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px}
.pc-items s{margin-left:5px;font-weight:600;color:var(--ink-3)}
.pc-items{flex:1;min-width:0;font-size:12.5px;font-weight:700;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-go{flex:none;display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 14px;border-radius:99px;background:var(--midnight);color:#fff;font:800 13.5px/1 var(--sans);box-shadow:0 4px 0 #020617;transition:transform 160ms var(--out),box-shadow 160ms var(--out)}
.pcard.tap:active .pc-go{transform:translateY(3px);box-shadow:0 1px 0 #020617}
.pc-go .ic{width:16px;height:16px;stroke-width:2.4}
.pcard.preview{box-shadow:var(--sh-lg)}
/* in the vendor list: one quiet line per promotion */
.vpromo{grid-column:1/-1;display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 10px;border-radius:16px;background:#F8FAFC;border:1px dashed var(--line-2);text-align:left}
.vpromo .off{flex:none;padding:6px 8px;border-radius:10px;background:var(--coral);color:#fff;font:800 13px/1 var(--sans)}
.vpromo .off.ink{background:var(--midnight)}
.vpromo b{flex:1;min-width:0;font:700 14px/1.25 var(--sans)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vpromo small{flex:none;margin:0!important;font:800 10px/1 var(--sans)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
/* orders: one card while the order waits */
.owait{margin-top:14px;padding-top:12px;border-top:1px dashed var(--line-2)}
.owait .slabel{margin:0 0 10px}
/* welcome step (dark): the vendor's own promotions sit at the top */
.mpane.welcome.has-promo{padding-top:18px}
.mpane.welcome .prow{align-self:stretch;margin:0 -20px 18px;text-align:left}
.mpane.welcome .pwrap{align-self:stretch;margin:0}
.mpane .pwrap .slabel{margin-top:0}
.mpane.welcome .pwrap .slabel{color:rgba(244,237,224,.7);text-align:left}
.ptag{padding:4px 7px;border-radius:7px;background:var(--coral);color:#fff;font:800 11px/1 var(--sans)}
.kv.promo span{color:var(--coral);font-weight:700}
.kv.promo b{color:var(--coral)}
/* partner side: Promote */
.pdash{display:grid;gap:12px}
.pdash>*,.pbuild>*,.opanel>*{min-width:0}
.pdash h3{font:800 18px/1.2 var(--sans);letter-spacing:-.01em}
.phead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pprev{padding:5px 9px;border-radius:99px;background:#F1F5F9;border:1px solid var(--line);color:var(--ink-2);font:800 10.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}
.pchips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:2px 20px}
.pchips::-webkit-scrollbar{display:none}
.pchips .chip{min-height:40px;padding:0 14px;font-size:13px}
.prange{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
.prange label{display:grid;gap:6px;font:700 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.prange .input{min-height:46px;padding:0 10px;font-size:15px}
.ptot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ptot div{padding:12px 10px;border-radius:16px;background:#fff;border:1px solid var(--line);min-width:0}
.ptot span{display:block;font:700 10.5px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.ptot b{display:block;margin-top:6px;font:800 19px/1.1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pchart{padding:14px 12px 10px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line)}
.pchart svg{width:100%;height:auto}
.pchart .lg{display:flex;gap:14px;margin-top:6px;font-size:12px;color:var(--ink-3)}
.pchart .lg i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:3px;vertical-align:-1px}
.ptable{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden}
.ptable th,.ptable td{padding:8px 10px;text-align:right;font-variant-numeric:tabular-nums}
.ptable thead th{font:700 10.5px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)}
.ptable th[scope=colgroup]{padding-top:12px;padding-bottom:2px;text-align:left;font-weight:800;font-size:14px}
.ptable th[scope=colgroup] .schip{margin-left:8px;vertical-align:1px}
.ptable tbody tr:not(:last-child) td{border-bottom:1px solid var(--line)}
.ptable td:first-child,.ptable thead th:first-child{text-align:left}
.schip.live{background:var(--midnight);color:#fff}
.schip.paused{background:#fff;color:var(--midnight);border:1.5px solid var(--midnight)}
.schip.ended{background:#E2E8F0;color:#475569}
.schip.down{background:#fff;color:var(--red-press);border:1.5px solid var(--coral)}
.plist{display:grid;gap:10px}
.pitem{padding:14px;border-radius:var(--r-sm);background:#fff;border:1px solid var(--line)}
.pitem .top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.pitem b{display:block;font-size:15.5px;line-height:1.3}
.pitem small{display:block;margin-top:3px;color:var(--ink-3);font-size:13px}
.pitem .note{margin-top:8px;padding:8px 10px;border-radius:12px;background:rgba(220,38,38,.08);color:var(--red-press);font-size:13px;font-weight:700}
.pitem .acts{display:flex;gap:8px;margin-top:10px}
.pitem .acts .btn{min-height:42px;padding:0 16px;font-size:14px}
.pbuild{display:grid;gap:12px;padding:16px;border-radius:var(--r);background:#fff;border:1.5px solid var(--midnight);box-shadow:var(--sh)}
.pbuild h3{font:800 18px/1.2 var(--sans)}
.pbuild .vprog{flex:1}
.pbuild .kinds{margin-top:0;gap:10px}
.pbuild .kind{padding:14px}
.pbuild .kind b{font-size:16.5px}
.pbuild .checkrow{margin-top:0;padding:10px 4px;border-bottom:1px solid var(--line)}
.pbuild .checkrow span{flex:1}
.pbuild .checkrow em{font-style:normal;font-weight:700;color:var(--ink-2)}
.pbuild .fld{margin-top:0}
.pbuild .twin .btn{min-height:50px}
.pbuild .vmsg{margin:0}
.pbuild .fhint.count{text-align:right}
.pnew{width:100%}
.padmin{margin-top:22px}

