/* Vortex Membership card, shared by enrollment (live preview), the member page (print) and the office.
   Card text is sized from the card width (container units), so the same card scales from a small
   preview to a print-size CR80 card (3.375in x 2.125in). */
.vxc{container-type:inline-size;width:100%;}
.vxc-card{position:relative;width:100%;aspect-ratio:3.375/2.125;border-radius:4.2cqw;overflow:hidden;
  background:linear-gradient(155deg,#ffffff 0%,#f4f9fd 55%,#e9f4fc 100%);color:#0f2a44;
  border:1px solid rgba(15,42,68,.1);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 16px 28px -18px rgba(15,42,68,.45);
  font-family:'Figtree',system-ui,-apple-system,"Segoe UI",sans-serif;font-size:3.6cqw;line-height:1.25;
  display:flex;flex-direction:column;padding:4.4cqw 5.4cqw 4.6cqw;box-sizing:border-box;}
.vxc-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.1cqw;background:linear-gradient(90deg,#0e8fd6,#12a3a3);}
.vxc-card *{box-sizing:border-box;}
.vxc-brand{display:flex;flex-direction:column;line-height:1.15;position:relative;z-index:2;}
.vxc-brand .w{font-size:1.62em;font-weight:800;letter-spacing:.02em;color:#0f2a44;}
.vxc-brand .s{font-size:.78em;font-weight:700;letter-spacing:.12em;color:#0d7f80;text-transform:uppercase;}
.vxc-fields{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:space-evenly;max-width:64%;}
.vxc-f label{display:block;font-size:.8em;color:#64758a;margin:0 0 .05em;font-weight:500;}
.vxc-f .v{font-size:1.08em;font-weight:800;color:#0f2a44;overflow:hidden;text-overflow:ellipsis;}
.vxc-f .v.name{white-space:normal;}
.vxc-f .v.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#0b6fa8;letter-spacing:.03em;font-size:1.04em;}
.vxc-f .v.small{font-size:.92em;font-weight:700;color:#3a4d63;}
.vxc-f .v.ph{color:#9aabbd;font-weight:700;}
.vxc-tag{display:inline-block;font-size:.62em;font-weight:800;letter-spacing:.03em;padding:.2em .7em;border-radius:999px;background:#e3f6f6;color:#0d7f80;margin-left:.4em;vertical-align:middle;white-space:nowrap;}
.vxc-tag.dep{background:#e7f3fb;color:#0b6fa8;}
.vxc-mascot{position:absolute;right:0;bottom:0;height:100%;z-index:1;background-repeat:no-repeat;background-size:contain;background-position:bottom right;pointer-events:none;}
.vxc-mascot.male{aspect-ratio:420/584;background-image:url(/img/rex-male.webp);}
.vxc-mascot.female{aspect-ratio:420/706;background-image:url(/img/mascot-female.webp);}
.vxc-mascot.girl{aspect-ratio:420/508;height:84%;background-image:url(/img/mascot-girl.webp);}
.vxc-mascot.boy{aspect-ratio:420/488;height:84%;background-image:url(/img/mascot-boy.webp);}

/* back */
.vxc-back .vxc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:3cqw;position:relative;z-index:2;}
.vxc-inc{font-size:.78em;font-weight:800;letter-spacing:.03em;color:#0f2a44;line-height:1.25;}
.vxc-plan{font-size:.78em;font-weight:800;letter-spacing:.06em;padding:.32em .7em;border-radius:1.6cqw;white-space:nowrap;flex:none;}
.vxc-plan.basic{background:linear-gradient(135deg,#f6c99a 0%,#c98545 45%,#7a4316 100%);color:#2f1704;}
.vxc-plan.standard{background:linear-gradient(135deg,#ffffff 0%,#c3ccd5 45%,#7d8a97 100%);color:#1e2933;}
.vxc-plan.premium{background:linear-gradient(135deg,#fcebab 0%,#dcb240 45%,#a37b12 100%);color:#3d2c00;}
.vxc-mid{display:flex;gap:3.2cqw;align-items:center;flex:1;min-height:0;margin:2cqw 0 1.6cqw;}
.vxc-ben{flex:1;min-width:0;display:flex;flex-direction:column;gap:.38em;font-size:.86em;color:#3a4d63;}
.vxc-ben div{display:flex;align-items:center;gap:.5em;}
.vxc-ben svg{width:1.55em;height:1.55em;padding:.26em;color:#0d7f80;background:#e3f6f6;border-radius:50%;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.vxc-qr{width:25cqw;aspect-ratio:1;flex:none;background:#fff;border:1px solid #dde9f2;border-radius:1.6cqw;padding:1.2cqw;}
.vxc-qr svg,.vxc-qr img{width:100%;height:100%;display:block;}
.vxc-qr.ph{display:grid;place-items:center;color:#9aabbd;font-size:.62em;font-weight:700;text-align:center;line-height:1.2;}
.vxc-bot{display:flex;justify-content:space-between;gap:3cqw;padding-top:1.4cqw;border-top:1px dashed #cfe3f2;position:relative;z-index:2;}
.vxc-disc{font-size:.6em;color:#64758a;line-height:1.45;}
.vxc-contact{display:flex;flex-direction:column;align-items:flex-end;gap:.15em;flex:none;}
.vxc-contact span{font-weight:800;font-size:.76em;}
.vxc-contact .ph{color:#0b6fa8;} .vxc-contact .web{color:#0d7f80;}

/* a person's front + back side by side */
.vxc-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vxc-label{font-size:.78rem;font-weight:700;color:#64758a;text-align:center;margin-top:6px;}
@media(max-width:560px){.vxc-pair{grid-template-columns:1fr;}}

/* print: real card size with cut guides */
@media print{
  .vxc-print .vxc{width:3.375in;}
  .vxc-print .vxc-card{box-shadow:none;border:1px dashed #9aabbd;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .vxc-print .vxc-pair{display:flex;gap:.3in;break-inside:avoid;margin-bottom:0;}
  .vxc-print .vxc-label{display:none;}
}
