.bkbg-ticket-stub-wrap { box-sizing: border-box; font-family: inherit; max-width: 720px; } /* ── Ticket card ─────────────────────────────────────────────────────────── */ .bkbg-ticket { display: flex; flex-direction: row; align-items: stretch; border-radius: 14px; overflow: hidden; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3); position: relative; } /* ── Main body ───────────────────────────────────────────────────────────── */ .bkbg-ts-main { flex: 1; padding: 28px 28px 24px; display: flex; flex-direction: column; gap: 18px; min-width: 0; } .bkbg-ts-header { display: flex; align-items: center; gap: 16px; } .bkbg-ts-logo { width: 54px; height: 54px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 28px; flex-shrink: 0; } .bkbg-ts-logo svg { width: 1em; height: 1em; fill: currentColor; } .bkbg-ts-logo .dashicons { font-size: inherit; width: 1em; height: 1em; line-height: 1; } .bkbg-ts-logo .bkbg-icon-img { width: 1em; height: 1em; object-fit: contain; } .bkbg-ts-event { min-width: 0; } .bkbg-ts-event-name { margin: 0 0 4px; line-height: 1.2; color: inherit; white-space: normal; font-family: var(--bktks-tt-font-family, inherit); font-size: var(--bktks-tt-font-size-d, 22px); font-weight: var(--bktks-tt-font-weight, 800); font-style: var(--bktks-tt-font-style, normal); line-height: var(--bktks-tt-line-height-d, 1.2); text-decoration: var(--bktks-tt-text-decoration, none); text-transform: var(--bktks-tt-text-transform, none); letter-spacing: var(--bktks-tt-letter-spacing-d, normal); word-spacing: var(--bktks-tt-word-spacing-d, normal); } .bkbg-ticket-stub-wrap h2.bkbg-ts-event-name { font-family: var(--bktks-tt-font-family, inherit); font-size: var(--bktks-tt-font-size-d, 22px); font-weight: var(--bktks-tt-font-weight, 800); font-style: var(--bktks-tt-font-style, normal); line-height: var(--bktks-tt-line-height-d, 1.2); text-decoration: var(--bktks-tt-text-decoration, none); text-transform: var(--bktks-tt-text-transform, none); letter-spacing: var(--bktks-tt-letter-spacing-d, normal); word-spacing: var(--bktks-tt-word-spacing-d, normal); margin: 0 0 4px; } .bkbg-ts-tagline { margin: 0; font-family: var(--bktks-bt-font-family, inherit); font-size: var(--bktks-bt-font-size-d, 13px); font-weight: var(--bktks-bt-font-weight, 600); font-style: var(--bktks-bt-font-style, normal); line-height: var(--bktks-bt-line-height-d, normal); text-decoration: var(--bktks-bt-text-decoration, none); text-transform: var(--bktks-bt-text-transform, uppercase); letter-spacing: var(--bktks-bt-letter-spacing-d, 0.08em); word-spacing: var(--bktks-bt-word-spacing-d, normal); opacity: 0.9; } @media (max-width: 1024px) { .bkbg-ticket-stub-wrap .bkbg-ts-event-name { font-size: var(--bktks-tt-font-size-t, var(--bktks-tt-font-size-d, 22px)); line-height: var(--bktks-tt-line-height-t, var(--bktks-tt-line-height-d, 1.2)); letter-spacing: var(--bktks-tt-letter-spacing-t, var(--bktks-tt-letter-spacing-d, normal)); word-spacing: var(--bktks-tt-word-spacing-t, var(--bktks-tt-word-spacing-d, normal)); } .bkbg-ticket-stub-wrap .bkbg-ts-tagline { font-size: var(--bktks-bt-font-size-t, var(--bktks-bt-font-size-d, 13px)); line-height: var(--bktks-bt-line-height-t, var(--bktks-bt-line-height-d, normal)); letter-spacing: var(--bktks-bt-letter-spacing-t, var(--bktks-bt-letter-spacing-d, 0.08em)); word-spacing: var(--bktks-bt-word-spacing-t, var(--bktks-bt-word-spacing-d, normal)); } } @media (max-width: 767px) { .bkbg-ticket-stub-wrap .bkbg-ts-event-name { font-size: var(--bktks-tt-font-size-m, var(--bktks-tt-font-size-t, var(--bktks-tt-font-size-d, 22px))); line-height: var(--bktks-tt-line-height-m, var(--bktks-tt-line-height-t, var(--bktks-tt-line-height-d, 1.2))); letter-spacing: var(--bktks-tt-letter-spacing-m, var(--bktks-tt-letter-spacing-t, var(--bktks-tt-letter-spacing-d, normal))); word-spacing: var(--bktks-tt-word-spacing-m, var(--bktks-tt-word-spacing-t, var(--bktks-tt-word-spacing-d, normal))); } .bkbg-ticket-stub-wrap .bkbg-ts-tagline { font-size: var(--bktks-bt-font-size-m, var(--bktks-bt-font-size-t, var(--bktks-bt-font-size-d, 13px))); line-height: var(--bktks-bt-line-height-m, var(--bktks-bt-line-height-t, var(--bktks-bt-line-height-d, normal))); letter-spacing: var(--bktks-bt-letter-spacing-m, var(--bktks-bt-letter-spacing-t, var(--bktks-bt-letter-spacing-d, 0.08em))); word-spacing: var(--bktks-bt-word-spacing-m, var(--bktks-bt-word-spacing-t, var(--bktks-bt-word-spacing-d, normal))); } } .bkbg-ts-stripe { height: 3px; border-radius: 2px; opacity: 0.6; } .bkbg-ts-details { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; } .bkbg-ts-detail { display: flex; flex-direction: column; gap: 2px; } .bkbg-ts-detail-label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; opacity: 0.5; } .bkbg-ts-detail-value { font-size: 0.9rem; font-weight: 600; line-height: 1.3; } /* ── Perforated divider ──────────────────────────────────────────────────── */ .bkbg-ts-perf { width: 32px; flex-shrink: 0; position: relative; display: flex; align-items: center; justify-content: center; } /* Dashed line */ .bkbg-ts-perf::after { content: ''; position: absolute; top: 20px; bottom: 20px; left: 50%; transform: translateX(-50%); border-left: 2px dashed currentColor; opacity: 0.25; } /* Notch cutouts (circles at top and bottom edges) */ .bkbg-ts-notch { position: absolute; width: 28px; height: 28px; border-radius: 50%; left: 50%; transform: translateX(-50%); z-index: 2; /* Will be colored to match outer bg via JS inline style */ } .bkbg-ts-notch-top { top: -14px; } .bkbg-ts-notch-bottom { bottom: -14px; } /* ── Stub ────────────────────────────────────────────────────────────────── */ .bkbg-ts-stub { width: 120px; flex-shrink: 0; padding: 24px 14px; display: flex; flex-direction: column; align-items: center; gap: 14px; } .bkbg-ts-stub-info { display: flex; flex-direction: column; gap: 10px; width: 100%; } .bkbg-ts-stub-row { display: flex; flex-direction: column; align-items: center; gap: 2px; } .bkbg-ts-stub-label { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; opacity: 0.5; } .bkbg-ts-stub-value { font-size: 1.5rem; font-weight: 900; line-height: 1; } /* ── Barcode ─────────────────────────────────────────────────────────────── */ .bkbg-ts-barcode { display: flex; flex-direction: row; align-items: flex-end; gap: 1.5px; height: 44px; padding: 0 4px; } .bkbg-ts-bar { height: 100%; flex-shrink: 0; border-radius: 1px; opacity: 0.8; } .bkbg-ts-num { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.08em; text-align: center; text-transform: uppercase; opacity: 0.8; } /* ── Responsive ──────────────────────────────────────────────────────────── */ @media ( max-width: 500px ) { .bkbg-ticket { flex-direction: column; } .bkbg-ts-perf { width: 100%; height: 32px; } .bkbg-ts-perf::after { top: 50%; bottom: auto; left: 20px; right: 20px; transform: translateY(-50%); border-left: none; border-top: 2px dashed currentColor; width: calc(100% - 40px); height: 0; } .bkbg-ts-notch-top { top: 50%; left: -14px; transform: translateY(-50%); } .bkbg-ts-notch-bottom { bottom: auto; top: 50%; right: -14px; left: auto; transform: translateY(-50%); } .bkbg-ts-stub { width: 100%; flex-direction: row; justify-content: space-around; padding: 18px 20px; } .bkbg-ts-stub-info { flex-direction: row; gap: 20px; width: auto; } }