/* ==========================================================================
   Boarding pass · the "you're in" ticket on the open-day and consult-call success screens.
   [Noam 12.11.2026] "שזה יראה כמו כרטיס טיסה ... welcome to your future ... שלא יהיה גדול מידי"
   — same look as the printed raffle ticket (pink bands, dashed tear line, pill labels), and no
   taller than the seal + title + details block it replaces, so the video below doesn't drop.
   Used by /meet.html (consult call) and assets/openday/openday.js (open day).
   ========================================================================== */
.bp{--bp:#D81159;--bp-dk:#B60E4B;--bp-ink:#20202F;--bp-mut:#6E7080;
  position:relative;max-width:560px;margin:2px auto 14px;text-align:right;direction:rtl;
  background:#fff;border-radius:20px;overflow:hidden;
  box-shadow:0 14px 36px -14px rgba(216,17,89,.38),0 2px 6px rgba(32,32,47,.06);
  animation:bpIn .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes bpIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}

.bp-top,.bp-bot{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bp);color:#fff;direction:ltr}
.bp-top{padding:9px 16px}
.bp-top b{flex:1;text-align:center;font-family:"Discovery","Heebo",system-ui,sans-serif;font-weight:900;font-size:15px;letter-spacing:.06em;white-space:nowrap}
.bp-top svg{width:22px;height:22px;flex:none}
.bp-top img{height:15px;width:auto;flex:none;filter:brightness(0) invert(1)}
.bp-bot{padding:6px 16px;font-size:10.5px;font-weight:800;letter-spacing:.08em}
.bp-bot span:nth-child(2){direction:rtl;font-weight:700;letter-spacing:0;font-size:12px;text-align:center;flex:1}

.bp-body{display:flex;align-items:stretch}
.bp-main{flex:1;min-width:0;padding:13px 18px 12px}
.bp-h{margin:0;font-family:"Discovery","Heebo",system-ui,sans-serif;font-weight:900;font-size:clamp(19px,2.6vw,23px);line-height:1.25;color:var(--bp-ink)}
.bp-h mark{background:none;color:#fff;position:relative;z-index:0;padding:0 7px;white-space:nowrap}
.bp-h mark::before{content:"";position:absolute;z-index:-1;inset:-1px -2px;background:var(--bp);transform:skew(-6deg) rotate(-1deg);border-radius:3px;
  clip-path:polygon(1% 8%,12% 0,40% 6%,70% 0,99% 5%,100% 92%,82% 100%,55% 94%,25% 100%,0 93%)}
.bp-sub{margin:3px 0 0;font-size:14px;font-weight:600;color:var(--bp-mut)}

.bp-f{display:flex;flex-wrap:wrap;gap:8px 14px;margin:10px 0 0;padding:0}
.bp-f div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.bp-f dt{display:inline-block;background:var(--bp);color:#fff;font-size:11px;font-weight:800;line-height:1;padding:4px 9px 3px;border-radius:999px}
.bp-f dd{margin:0;font-weight:800;font-size:15.5px;color:var(--bp-ink);white-space:nowrap}
.bp-f dd[dir=ltr]{text-align:right}

/* the tear-off stub — on the left in RTL, like the printed ticket */
.bp-stub{position:relative;flex:none;width:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:10px 8px;border-inline-start:2px dashed rgba(216,17,89,.45);background:#FFF5F8;text-align:center}
.bp-stub::before,.bp-stub::after{content:"";position:absolute;inset-inline-start:-10px;width:18px;height:18px;border-radius:50%;background:#fff}
.bp-stub::before{top:-9px}.bp-stub::after{bottom:-9px}
.bp-stub small{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--bp-dk);direction:ltr}
.bp-stub strong{font-family:"Discovery","Heebo",system-ui,sans-serif;font-weight:900;font-size:30px;line-height:1;color:var(--bp-ink);direction:ltr}
.bp-stub em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--bp-mut)}
.bp-code{display:block;width:78px;height:20px;margin-top:6px;opacity:.85;
  background:repeating-linear-gradient(90deg,#20202F 0 2px,transparent 2px 4px,#20202F 4px 5px,transparent 5px 8px,#20202F 8px 11px,transparent 11px 12px)}

@media (max-width:560px){
  .bp{border-radius:16px}
  .bp-top{padding:8px 12px}.bp-top b{font-size:12.5px;letter-spacing:.04em}.bp-top img{height:12px}.bp-top svg{width:18px;height:18px}
  .bp-main{padding:11px 12px 10px}
  .bp-h{font-size:18px}.bp-sub{font-size:13px}
  .bp-f{gap:7px 10px}.bp-f dd{font-size:14px}.bp-f dt{font-size:10.5px}
  .bp-stub{width:82px;padding:8px 4px}.bp-stub strong{font-size:23px}.bp-stub em{font-size:11px}.bp-code{width:58px;height:16px}
  .bp-bot{padding:5px 12px;font-size:9px}.bp-bot span:nth-child(2){font-size:10.5px}
}
@media (max-width:360px){.bp-bot span:first-child,.bp-bot span:last-child{display:none}}
@media (prefers-reduced-motion:reduce){.bp{animation:none}}
/* the open-day sheet's × sits top-left — keep it off the ticket's plane on phones */
@media (max-width:560px){.od-ok .bp{margin-top:20px}.bp-h{font-size:17.5px}}
/* narrow phones: date + time only, so the ticket stays two rows tall */
@media (max-width:380px){.bp-f div:nth-child(3){display:none}.bp-f dd{font-size:13.5px}}
