:root{--mc-ticket-black:#111;--mc-ticket-muted:#666;--mc-ticket-border:#d8d8d8;--mc-ticket-bg:#f4f5f7}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body.mc-ticket-document{font-family:Arial,Helvetica,sans-serif;color:var(--mc-ticket-black);background:var(--mc-ticket-bg);-webkit-font-smoothing:antialiased}
.mc-ticket-preview-toolbar{position:sticky;top:0;z-index:20;display:flex;justify-content:center;gap:10px;padding:12px;background:#fff;border-bottom:1px solid #ddd}
.mc-ticket-preview-toolbar a,.mc-ticket-preview-toolbar button{appearance:none;border:1px solid #bbb;border-radius:7px;background:#fff;color:#111;padding:8px 12px;font:600 13px/1 Arial,Helvetica,sans-serif;text-decoration:none;cursor:pointer}
.mc-ticket-preview-toolbar .is-primary{background:#111;color:#fff;border-color:#111}
.mc-ticket-page{display:flex;justify-content:center;padding:24px 12px 40px}
.mc-official-ticket{background:#fff;color:#111;text-align:center;overflow:hidden}
.mc-official-ticket p,.mc-official-ticket h1{margin:0}
.mc-official-ticket--digital{width:min(420px,calc(100vw - 24px));border:1px solid #d9d9d9;border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.08);padding:24px 18px 18px}
.mc-official-ticket--print{width:74mm;max-width:74mm;height:130mm;max-height:130mm;padding:3mm 3mm 2.5mm;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.mc-ticket-header{display:flex;flex-direction:column;align-items:center}
.mc-ticket-logo{display:block;max-width:210px;max-height:58px;width:auto;height:auto;object-fit:contain;margin:0 auto 10px}
.mc-ticket-wordmark{font-size:24px;line-height:1;font-weight:900;letter-spacing:.035em;margin-bottom:12px}
.mc-official-ticket--print .mc-ticket-wordmark{font-size:18px;margin-bottom:3mm;letter-spacing:.04em}
.mc-ticket-header h1{font-size:20px;line-height:1.18;font-weight:900;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere}
.mc-official-ticket--print .mc-ticket-header h1{font-size:13.5px;line-height:1.2}
.mc-ticket-event-date{font-size:13px;font-weight:700;margin-top:10px!important}
.mc-official-ticket--print .mc-ticket-event-date{font-size:10px;margin-top:2.2mm!important}
.mc-ticket-venue,.mc-ticket-city{font-size:13px;line-height:1.3;margin-top:8px!important}
.mc-ticket-city{margin-top:6px!important}
.mc-official-ticket--print .mc-ticket-venue,.mc-official-ticket--print .mc-ticket-city{font-size:9.5px;margin-top:1.7mm!important}
.mc-ticket-divider{border-top:1px dashed #8e8e8e;margin:16px 0 12px}
.mc-official-ticket--print .mc-ticket-divider{margin:3mm 0 2.2mm}
.mc-ticket-seats{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:6px;align-items:stretch}
.mc-ticket-seats>div{min-width:0;border:1px solid var(--mc-ticket-border);border-radius:8px;padding:8px 4px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.mc-ticket-seats span,.mc-ticket-credential>span{display:block;color:var(--mc-ticket-muted);font-size:9.8px;line-height:1;font-weight:800;letter-spacing:.04em}
.mc-ticket-seats strong{display:flex;width:100%;min-height:2.2em;align-items:center;justify-content:center;font-size:17px;line-height:1.1;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.mc-ticket-seats__item--zone strong{padding:0 4px;font-size:15px;line-height:1.15;white-space:normal;overflow:visible;text-overflow:clip;word-break:normal;overflow-wrap:anywhere}
.mc-official-ticket--print .mc-ticket-seats{grid-template-columns:minmax(0,1.45fr) repeat(2,minmax(0,1fr));gap:1.5mm}
.mc-official-ticket--print .mc-ticket-seats>div{border-radius:2mm;padding:2mm 1mm 1.8mm}
.mc-official-ticket--print .mc-ticket-seats span{font-size:6.5px}
.mc-official-ticket--print .mc-ticket-seats strong{font-size:11px;min-height:2.25em;margin-top:1.1mm}
.mc-official-ticket--print .mc-ticket-seats__item--zone strong{font-size:9px;line-height:1.1}
.mc-ticket-price{font-size:19px;margin-top:16px!important}
.mc-ticket-price strong{font-weight:900}
.mc-ticket-order,.mc-ticket-holder{font-size:12px;margin-top:7px!important}
.mc-official-ticket--print .mc-ticket-price{font-size:13px;margin-top:3mm!important}
.mc-official-ticket--print .mc-ticket-order,.mc-official-ticket--print .mc-ticket-holder{font-size:8.5px;margin-top:1.3mm!important}
.mc-ticket-credential{display:flex;flex-direction:column;align-items:center;margin-top:17px}
.mc-ticket-folio{font-size:12px;line-height:1.25;margin-top:5px;overflow-wrap:anywhere;max-width:100%}
.mc-ticket-qr{width:190px;height:190px;margin:10px auto 5px;display:grid;place-items:center;background:#fff}
.mc-ticket-qr svg{display:block;width:100%;height:100%}
.mc-ticket-credential p{font-size:10px;color:#555}
.mc-official-ticket--print .mc-ticket-credential{margin-top:3mm}
.mc-official-ticket--print .mc-ticket-credential>span{font-size:6.5px}
.mc-official-ticket--print .mc-ticket-folio{font-size:8.5px;margin-top:1mm}
.mc-official-ticket--print .mc-ticket-qr{width:40mm;height:40mm;margin:1.6mm auto .7mm}
.mc-official-ticket--print .mc-ticket-credential p{font-size:7px}
.mc-ticket-footer p{font-size:11px;line-height:1.35;margin-top:6px!important}
.mc-ticket-platform{margin-top:9px!important}
.mc-ticket-validity{color:#555;margin-top:18px!important}
.mc-ticket-validity--used,.mc-ticket-validity--cancelled,.mc-ticket-validity--refunded,.mc-ticket-validity--blocked{font-weight:800;color:#111}
.mc-ticket-developer{font-size:9px!important;color:#777;margin-top:8px!important}
.mc-official-ticket--print .mc-ticket-footer p{font-size:7.5px;margin-top:1.2mm!important}
.mc-official-ticket--print .mc-ticket-platform{margin-top:1.8mm!important}
.mc-official-ticket--print .mc-ticket-validity{margin-top:4mm!important}
.mc-official-ticket--print .mc-ticket-developer{font-size:6.2px!important;color:#555}
@media(max-width:480px){.mc-ticket-page{padding:12px 8px 28px}.mc-official-ticket--digital{padding:20px 14px 16px}.mc-ticket-header h1{font-size:18px}.mc-ticket-logo{max-width:190px}.mc-ticket-seats{grid-template-columns:1fr 1fr;gap:8px}.mc-ticket-seats__item--zone{grid-column:1/-1}.mc-ticket-seats strong{min-height:auto}.mc-ticket-seats__item--zone strong{font-size:15px}.mc-ticket-qr{width:min(190px,55vw);height:min(190px,55vw)}}
@page{size:80mm auto;margin:0}
@media print{
 html,body{width:80mm!important;min-width:80mm!important;background:#fff!important}
 body.mc-ticket-document{background:#fff!important}
 .mc-ticket-preview-toolbar{display:none!important}
 .mc-ticket-page{display:block!important;width:80mm!important;margin:0!important;padding:0 3mm!important}
 .mc-official-ticket,.mc-official-ticket--digital,.mc-official-ticket--print{width:74mm!important;max-width:74mm!important;margin:0!important;padding:4mm 3mm 3.5mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}

 body.mc-ticket-document--print .mc-ticket-page{height:130mm!important;max-height:130mm!important;overflow:hidden!important}
 body.mc-ticket-document--print .mc-official-ticket--print{height:130mm!important;max-height:130mm!important;padding:3mm 3mm 2.5mm!important;overflow:hidden!important}
 .mc-official-ticket--digital .mc-ticket-logo{filter:grayscale(1) contrast(1.4)}
 .mc-ticket-divider{border-color:#000!important}
 .mc-ticket-seats>div{border-color:#000!important}
}
.mc-ticket-seats>.mc-ticket-seats__general{grid-column:1/-1}
.mc-ticket-preview-warning{align-self:center;max-width:360px;color:#b00020;font:700 12px/1.25 Arial,Helvetica,sans-serif}
.mc-ticket-preview-toolbar button:disabled{opacity:.45;cursor:not-allowed}

/* Thermal 80 × 130 mm professional layout. */
.mc-official-ticket--print{
    display:flex;
    flex-direction:column;
    font-family:Arial,Helvetica,sans-serif;
    color:#000;
    text-align:center;
}
.mc-official-ticket--print .mc-ticket-print-header{
    margin:0;
    padding:0;
}
.mc-official-ticket--print .mc-ticket-print-brand{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2mm;
    padding:0 0 1.25mm;
    border-bottom:.55mm solid #000;
    text-align:left;
}
.mc-official-ticket--print .mc-ticket-print-brand strong{
    display:block;
    font-size:13.6px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.035em;
    white-space:nowrap;
}
.mc-official-ticket--print .mc-ticket-print-brand strong span{
    display:inline-block;
    margin-left:.8mm;
    padding:.55mm .95mm .48mm;
    background:#000;
    color:#fff;
    letter-spacing:-.04em;
}
.mc-official-ticket--print .mc-ticket-print-brand small{
    display:block;
    padding-bottom:.25mm;
    font-size:5.5px;
    line-height:1;
    font-weight:800;
    letter-spacing:.15em;
    white-space:nowrap;
}
.mc-official-ticket--print .mc-ticket-print-event{
    padding:1.75mm 0 1.45mm;
    border-bottom:.22mm solid #b8b8b8;
}
.mc-official-ticket--print .mc-ticket-print-event h1{
    margin:0;
    font-size:12.4px;
    line-height:1.08;
    font-weight:900;
    letter-spacing:-.01em;
    text-transform:uppercase;
    overflow-wrap:anywhere;
}
.mc-official-ticket--print .mc-ticket-event-date{
    margin:.9mm 0 0!important;
    font-size:8.8px;
    line-height:1.08;
    font-weight:800;
}
.mc-official-ticket--print .mc-ticket-event-place{
    margin:.65mm 0 0!important;
    font-size:7.7px;
    line-height:1.12;
    color:#222;
    overflow-wrap:anywhere;
}
.mc-official-ticket--print .mc-ticket-event-place strong{
    font-weight:800;
}
.mc-ticket-print-access{
    margin-top:1.8mm;
    border:.28mm solid #000;
    text-align:center;
}
.mc-ticket-print-access__primary{
    padding:1.1mm 1.2mm 1mm;
}
.mc-ticket-print-access__primary span,
.mc-ticket-print-access__detail span,
.mc-ticket-print-summary span,
.mc-ticket-print-folio span{
    display:block;
    color:#555;
    font-size:5.25px;
    line-height:1;
    font-weight:800;
    letter-spacing:.11em;
}
.mc-ticket-print-access__primary strong{
    display:block;
    margin-top:.55mm;
    font-size:12.8px;
    line-height:1.03;
    font-weight:900;
    overflow-wrap:anywhere;
}
.mc-ticket-print-access__general strong{
    font-size:13.6px;
    letter-spacing:.015em;
}
.mc-ticket-print-access__detail{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:.22mm solid #000;
}
.mc-ticket-print-access__detail>div{
    min-width:0;
    padding:.9mm .7mm .85mm;
}
.mc-ticket-print-access__detail>div+div{
    border-left:.22mm solid #000;
}
.mc-ticket-print-access__detail strong{
    display:block;
    margin-top:.5mm;
    font-size:9px;
    line-height:1.03;
    font-weight:900;
    overflow-wrap:anywhere;
}
.mc-ticket-print-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:1.25mm;
    padding:.9mm 0 .85mm;
    border-top:.22mm solid #b8b8b8;
    border-bottom:.22mm solid #b8b8b8;
}
.mc-ticket-print-summary--2{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.mc-ticket-print-summary>div{
    min-width:0;
    padding:0 .7mm;
}
.mc-ticket-print-summary>div+div{
    border-left:.2mm solid #d2d2d2;
}
.mc-ticket-print-summary strong{
    display:block;
    margin-top:.55mm;
    font-size:8px;
    line-height:1.04;
    font-weight:900;
    overflow-wrap:anywhere;
}
.mc-ticket-print-credential{
    margin-top:1.7mm;
}
.mc-ticket-print-qr-label{
    font-size:6px;
    line-height:1;
    font-weight:900;
    letter-spacing:.13em;
}
.mc-official-ticket--print .mc-ticket-qr{
    width:40mm;
    height:40mm;
    margin:1mm auto .7mm;
    display:grid;
    place-items:center;
    background:#fff;
}
.mc-official-ticket--print .mc-ticket-qr svg{
    display:block;
    width:100%;
    height:100%;
}
.mc-ticket-print-folio{
    padding:0 1mm;
}
.mc-ticket-print-folio strong{
    display:block;
    max-width:64mm;
    margin:.5mm auto 0;
    font-family:"Courier New",Courier,monospace;
    font-size:7.5px;
    line-height:1.05;
    font-weight:700;
    letter-spacing:-.015em;
    overflow-wrap:anywhere;
}
.mc-official-ticket--print .mc-ticket-print-footer{
    margin-top:auto;
    padding-top:1.15mm;
    border-top:.22mm dashed #777;
}
.mc-official-ticket--print .mc-ticket-print-footer p{
    margin:0!important;
    font-size:5.75px;
    line-height:1.1;
}
.mc-official-ticket--print .mc-ticket-print-footer .mc-ticket-validity{
    margin:0!important;
    font-size:6.45px;
    font-weight:800;
    color:#111;
}
.mc-official-ticket--print .mc-ticket-print-footer .mc-ticket-organizer{
    margin-top:.7mm!important;
    color:#333;
}
.mc-ticket-print-footer__brand{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1.5mm;
    margin-top:.8mm;
    color:#555;
    text-align:left;
}
.mc-ticket-print-footer__brand strong{
    font-size:6px;
    line-height:1;
    color:#111;
    white-space:nowrap;
}
.mc-ticket-print-footer__brand span{
    font-size:5.35px;
    line-height:1;
    text-align:right;
    white-space:nowrap;
}
.mc-official-ticket--print .mc-ticket-validity--used,
.mc-official-ticket--print .mc-ticket-validity--cancelled,
.mc-official-ticket--print .mc-ticket-validity--refunded,
.mc-official-ticket--print .mc-ticket-validity--blocked{
    margin:0 0 .7mm!important;
    padding:.8mm 1mm;
    border:.3mm solid #000;
    font-size:6.8px!important;
    font-weight:900!important;
    color:#000!important;
}
