/* Shared responsive integration of the supplied v3.2 ticket and metallic panels. */
.rc-ticket { position:relative; width:100%; aspect-ratio:760/280; min-width:0; }
.rc-ticket .claim-stage { display:block; width:760px; height:280px; max-width:none; transform-origin:top left; text-align:left; user-select:none; -webkit-user-select:none; caret-color:transparent; }
.rc-ticket .claim-stage * { user-select:none; -webkit-user-select:none; caret-color:transparent; }
.rc-ticket div.claim-stage { cursor:default; }
.rc-ticket button.claim-stage, .rc-ticket button.claim-stage * { cursor:pointer; }
.rc-ticket .front-ticket__part--body { width:600px; }
.ticket-full--static { filter:drop-shadow(0 12px 18px #0005); }
.rc-ticket-sheen { pointer-events:none; animation:rcTicketSheen 5s ease-in-out infinite; }
@keyframes rcTicketSheen { 0%,20% { transform:translateX(0); } 65%,100% { transform:translateX(1000px); } }
.rc-ticket-copy { position:absolute; left:198px; top:42px; width:520px; height:196px; color:white; font-family:var(--display-font); font-weight:800; line-height:1.08; }
.front-ticket__part--body .rc-ticket-copy { left:38px; width:520px; }
.rc-ticket-copy > [data-ticket-name] { position:absolute; left:var(--ticket-title-left,210px); width:var(--ticket-title-width,160px); top:50%; transform:translateY(-50%); font-size:30px; text-align:left; overflow-wrap:anywhere; text-shadow:0 2px 10px #01040d; }
.rc-ticket-rate { position:absolute; top:50%; right:36px; transform:translateY(-50%); display:grid; justify-items:end; gap:7px; text-shadow:0 2px 12px #01040d; }
.rc-ticket-rate b { font-size:58px; letter-spacing:-.06em; line-height:.9; }
.rc-ticket-rate small { color:#ff7488; font-size:18px; letter-spacing:.1em; }
.preview-stage { padding:40px 28px; overflow:hidden; }
.customer-coupon-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.customer-coupon { padding:24px 20px 14px; overflow:hidden; background:radial-gradient(ellipse at top,rgba(255,22,56,.06),transparent 70%),white; }
.customer-coupon .coupon-card-footer { padding-top:22px; }
.customer-coupon .demo-offer-button { color:white; background:linear-gradient(135deg,#ed1235,#a5001c); cursor:pointer; border-color:#ed1235; min-height:44px; font-size:.875rem; }
.demo-offer-button:focus-visible { outline:3px solid #e71336; outline-offset:3px; }
.rc-dialog { width:min(100% - 24px,960px); max-height:calc(100dvh - 24px); padding:0 10px 14px; color:white; background:#061225; border:1px solid #738195; border-radius:24px; overflow:auto; box-shadow:0 35px 100px #0009; }
.rc-dialog::backdrop { background:#030817da; backdrop-filter:blur(7px); }
.rc-dialog-toolbar { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 10px; background:#061225; font-size:.875rem; color:#dce4ed; }
.rc-dialog-toolbar button { width:44px; height:44px; border:1px solid #ffffff55; border-radius:50%; color:white; background:#ffffff0a; font-size:1.8rem; cursor:pointer; flex-shrink:0; }
.rc-dialog .rc-flow { display:block; padding:20px 0 0; width:100%; min-height:0; }
.rc-dialog .details-panel,.rc-dialog .qr-panel { width:100%; visibility:visible; opacity:1; pointer-events:auto; transform:none; }
.rc-dialog [hidden] { display:none !important; }
.rc-dialog .details-panel:not([hidden]),.rc-dialog .qr-panel:not([hidden]) { animation:rcPanelEnter .45s cubic-bezier(.18,.86,.26,1) both; }
.rc-dialog .details-panel__inner { padding:42px; gap:24px; }
.rc-dialog .details-panel__discount,.rc-dialog .qr-panel__discount { width:94px; top:-16px; right:20px; }
.rc-dialog .details-panel__discount strong,.rc-dialog .qr-panel__discount strong { font-size:1.6rem; }
.rc-dialog .details-panel__content { padding-top:40px; }
.rc-dialog .business-logo__name { overflow-wrap:anywhere; }
.rc-dialog .details-panel__title { font-size:clamp(1.6rem,3vw,2.4rem); line-height:1.08; max-width:none; overflow-wrap:anywhere; }
.rc-dialog .qr-panel__inner { padding:64px 42px 42px; }
.rc-dialog .qr-panel__title { line-height:1.08; }
.rc-dialog .details-panel__eyebrow,.rc-dialog .qr-panel__eyebrow { color:#ff7488; }
.rc-dialog .details-panel__claim-btn { background:linear-gradient(#ff2948,#ed1235 48%,#8f0018); }
.rc-dialog button:focus-visible { outline:3px solid #ff8294; outline-offset:3px; }
.rc-dialog .details-panel__title:focus,.rc-dialog .qr-panel__title:focus { outline:none; }
/* QR claim references are long, unbroken IDs; let grid children shrink and wrap. */
.rc-dialog .qr-panel__heading,
.rc-dialog .qr-panel__code-wrap,
.rc-dialog .qr-panel__meta {
  min-width:0;
  max-width:100%;
}
.rc-dialog .qr-panel__code-label {
  min-width:0;
  max-width:100%;
  text-align:center;
  overflow-wrap:anywhere;
}
.rc-dialog .qr-panel__coupon-code {
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  text-align:center;
  overflow-wrap:anywhere;
  word-break:break-word;
  font-size:clamp(.75rem,1.4vw,.88rem);
  letter-spacing:.015em;
  line-height:1.5;
}
.rc-dialog .qr-panel__business [data-offer-name],
.rc-dialog .qr-panel__business [data-claim-context] {
  overflow-wrap:anywhere;
}
@keyframes rcPanelEnter { from { opacity:0; transform:translateY(18px) scale(.98); } to { opacity:1; transform:none; } }
@media(max-width:1100px) { .customer-coupon-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:759px) {
  .rc-dialog .details-panel__inner,.rc-dialog .qr-panel__inner { padding:38px 28px 32px; }
  .rc-dialog .details-panel__logo-area { margin-top:45px; margin-bottom:24px; }
  .rc-dialog .details-panel__content { padding-top:0; }
  .rc-dialog .qr-panel__heading { padding-right:0; padding-top:45px; }
  /* Preserve the metallic border without letting mobile text widen the popup. */
  .rc-dialog .qr-panel__inner { padding:38px 20px 28px; grid-template-columns:minmax(0,1fr); }
  .rc-dialog .qr-panel__coupon-code { font-size:.76rem; letter-spacing:0; }
  .rc-dialog .wallet-actions button { flex-basis:100%; }
  .rc-dialog .qr-panel__code-frame { width:min(100%,280px); }
  .rc-dialog .business-logo { min-height:100px; }
  .rc-dialog .details-panel__logo-frame { min-height:120px; }
  .rc-dialog .details-panel__product-frame { width:min(100%,250px); }
  .rc-dialog .business-logo__icon { width:38px; height:38px; }
}
@media(prefers-reduced-motion:reduce) { .rc-ticket *, .rc-dialog * { animation:none !important; transition:none !important; } }
.rc-ticket-logo { pointer-events:none; }
.rc-ticket-logo text { fill:#ffffff; font:800 20px var(--display-font); letter-spacing:.04em; }

.rc-dialog .demo-business-logo{display:block;width:100%;height:110px;object-fit:contain;border-radius:12px;padding:10px}

/* Layer drop-shadows were painting a grey/blue haze inside the real SVG cutouts.
   Keep the geometry and transforms, with no shadow pixels in transparent holes. */
.rc-ticket .front-ticket__part,.rc-ticket .ticket-full--back{filter:none !important}
.rc-ticket-monogram{pointer-events:none}

.coupon-remaining{display:inline-flex;align-items:center;font-weight:800;color:hsl(var(--remaining-hue,120) 82% 38%);font-size:.82rem}
.customer-coupon .coupon-card-footer{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.customer-coupon .coupon-card-footer button{margin-left:auto}
