/* Compact tickets. All selectors scoped; native dialog keeps details out of the rail. */
.b810-vouchers[hidden],.b810-vouchers [hidden]{display:none!important}
.b810-vouchers{--b810-voucher-accent:#c41220;--b810-voucher-ink:#141414;--b810-voucher-muted:#595959;--b810-voucher-line:#dedede;color:var(--b810-voucher-ink);margin:20px 0 24px;min-width:0}
.b810-vouchers *{box-sizing:border-box}
.b810-vouchers__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;border-left:3px solid #171717;padding-left:9px}
.b810-vouchers[aria-busy="true"] .b810-vouchers__hint{visibility:hidden}
.b810-vouchers .b810-voucher--placeholder{height:92px;box-shadow:none;border-left-color:#e2e2e2}
.b810-voucher--placeholder .b810-voucher__value{background:#f2f2f2}
.b810-voucher--placeholder .b810-voucher__body{display:flex;flex-direction:column;justify-content:space-around;padding:10px}
.b810-voucher--placeholder i{display:block;background:#f2f2f2;height:10px;width:80%;border-radius:2px}
.b810-voucher--placeholder i:last-child{width:55%}
.b810-vouchers__eyebrow{display:none}
.b810-vouchers .b810-vouchers__heading h2{font-size:18px;line-height:1.4;font-weight:700;margin:0}
.b810-vouchers__hint{font-size:12px;white-space:nowrap;color:var(--b810-voucher-muted)}
.b810-vouchers__rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/4);gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:2px;padding:3px 2px 9px;scrollbar-width:thin;scrollbar-color:#aaa transparent}
.b810-voucher{display:grid;grid-template-columns:88px minmax(0,1fr);border:1px solid var(--b810-voucher-line);border-left:4px solid var(--b810-voucher-accent);border-radius:7px;background:#fff;min-width:0;scroll-snap-align:start;box-shadow:0 2px 5px #0000000d;overflow:hidden}
.b810-vouchers .b810-voucher__value{appearance:none;background:#fff;color:var(--b810-voucher-accent);border:0;border-right:1px dashed #d1d1d1;border-radius:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8px 3px;gap:4px;cursor:pointer;min-width:0;font-family:inherit}
.b810-voucher__amount{font-size:24px;font-weight:600;line-height:1.15;letter-spacing:-.3px;white-space:nowrap;overflow-wrap:normal;word-break:normal;max-width:100%}
.b810-voucher__body{padding:4px 9px 4px;display:grid;grid-template-rows:auto 1fr auto;gap:2px;min-width:0}
.b810-vouchers .b810-voucher__title{font-size:13px;line-height:18px;font-weight:700;margin:0;overflow-wrap:anywhere}
.b810-vouchers .b810-voucher__condition{font-size:12px;line-height:16px;color:var(--b810-voucher-muted);margin:0;min-height:16px;overflow-wrap:anywhere}
.b810-voucher__footer{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}
.b810-voucher__meta{min-width:0;flex:1}
.b810-voucher__code{font-size:12px;font-weight:700;line-height:15px;overflow-wrap:anywhere;user-select:all}
.b810-vouchers .b810-voucher__expiry{font-size:11px;line-height:14px;color:var(--b810-voucher-muted);margin:0;overflow-wrap:anywhere}
.b810-vouchers .b810-voucher__copy{appearance:none;position:relative;background:transparent;color:#fff;border:0;border-radius:0;font-size:11px;font-weight:600;height:44px;min-width:70px;padding:0 8px;cursor:pointer;line-height:1.2;flex-shrink:0;isolation:isolate;font-family:inherit}
.b810-voucher__copy:before{content:"";position:absolute;inset:8px 0;background:#171717;border-radius:20px;z-index:-1}
.b810-voucher__copy:hover:before{background:#393939}
.b810-vouchers .b810-voucher__copy:disabled{opacity:.65;cursor:default}
.b810-vouchers :is(button,a):focus-visible{outline:2px solid #be2026;outline-offset:-2px}
.b810-vouchers .b810-vouchers__footnote{font-size:11px;line-height:1.5;color:var(--b810-voucher-muted);margin:2px 0 0}
.b810-vouchers .b810-vouchers__status{font-size:12px;font-weight:600;line-height:1.5;margin:0}
.b810-vouchers .b810-vouchers__status:not(:empty){margin-top:6px}
.b810-vouchers .b810-vouchers__notice{background:#fff0b8;border:1px solid #d6b650;border-radius:5px;color:#332600;padding:8px 10px;font-size:12px;line-height:1.5;margin:0 0 9px}
.b810-vouchers--product .b810-vouchers__rail{grid-auto-columns:calc((100% - 12px)/2)}
.b810-vouchers--collection .b810-vouchers__rail,.b810-vouchers--cart .b810-vouchers__rail{grid-auto-columns:calc((100% - 24px)/3)}
.b810-vouchers__dialog{color:#171717;background:#fff;width:min(440px,calc(100% - 32px));max-height:80vh;max-height:80dvh;margin:auto;border:1px solid #ddd;border-radius:10px;padding:16px;overflow-y:auto;box-shadow:0 12px 50px #0003;font-size:14px;line-height:1.6}
.b810-vouchers__dialog::backdrop{background:#0008}
.b810-vouchers__dialog:not([open]){display:none!important}
.b810-vouchers__dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.b810-vouchers .b810-vouchers__dialog h3{font-size:17px;font-weight:700;line-height:1.4;margin:0}
.b810-vouchers .b810-vouchers__close{background:#f1f1f1;border:0;border-radius:5px;min-width:56px;min-height:44px;color:#171717;cursor:pointer;font:inherit}
.b810-vouchers__dialog ul{padding-left:20px;list-style:disc;margin:12px 0}
.b810-vouchers__dialog li{margin:0 0 8px;overflow-wrap:anywhere}
.b810-vouchers__dialog-code{font-weight:700;overflow-wrap:anywhere;user-select:all}
.b810-vouchers__demo-warning{background:#fff0b8;padding:8px}
@media(max-width:1199px) and (min-width:768px){.b810-vouchers__rail{grid-auto-columns:calc((100% - 24px)/3)}.b810-vouchers--product .b810-vouchers__rail{grid-auto-columns:85%}.b810-vouchers--cart .b810-vouchers__rail,.b810-vouchers--collection .b810-vouchers__rail{grid-auto-columns:calc((100% - 12px)/2)}}
@media(max-width:767px){.b810-vouchers{margin:16px 0 20px}.b810-vouchers .b810-vouchers__heading h2{font-size:16px}.b810-vouchers__heading{gap:8px}.b810-vouchers__hint{font-size:11px;max-width:88px;white-space:normal;text-align:right}.b810-vouchers .b810-vouchers__rail{grid-auto-columns:min(310px,calc(100% - 24px));gap:10px}.b810-voucher{grid-template-columns:80px minmax(0,1fr)}.b810-voucher__amount{font-size:22px}.b810-voucher__body{padding:4px 8px}.b810-vouchers .b810-voucher__copy{min-width:68px;padding:0 7px}}
/* Keep the copy target clear of the existing floating contact rail on narrow phones. */
@media(max-width:767px){.b810-vouchers .b810-vouchers__rail{width:calc(100% - 60px);grid-auto-columns:min(310px,100%)}}

/* Product/cart show every returned offer in rows; home/collection keep their rail. */
.b810-vouchers:is(.b810-vouchers--product,.b810-vouchers--cart){background:#fff;padding:14px;border-radius:3px}
.b810-vouchers:is(.b810-vouchers--product,.b810-vouchers--cart) .b810-vouchers__rail{grid-auto-flow:row;grid-auto-columns:auto;grid-auto-rows:1fr;width:100%;overflow:visible;scroll-snap-type:none}
.b810-vouchers.b810-vouchers--product .b810-vouchers__rail{grid-template-columns:repeat(2,minmax(0,1fr))}
.b810-vouchers.b810-vouchers--cart .b810-vouchers__rail{grid-template-columns:repeat(3,minmax(0,1fr))}
.b810-vouchers:is(.b810-vouchers--product,.b810-vouchers--cart) .b810-vouchers__hint{display:none}
@media(max-width:1199px){.b810-vouchers.b810-vouchers--product .b810-vouchers__rail{grid-template-columns:minmax(0,1fr)}}
@media(min-width:992px) and (max-width:1199px){.b810-vouchers.b810-vouchers--cart .b810-vouchers__rail{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991px){.b810-vouchers:is(.b810-vouchers--product,.b810-vouchers--cart) .b810-vouchers__rail{grid-template-columns:minmax(0,1fr)}}
@media(max-width:767px){
 .b810-vouchers:is(.b810-vouchers--product,.b810-vouchers--cart){background:transparent;padding:0}
 .b810-vouchers:is(.b810-vouchers--product,.b810-vouchers--cart) .b810-vouchers__rail{width:calc(100% - 60px)}
}

/* Four mobile offers in two rows. Keep the existing contact rail clear.
   Placeholder and real tickets share their rows, so data arrival cannot grow the grid. */
@media(max-width:767px){
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart){margin:12px 0 16px}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-vouchers__heading{margin-bottom:8px}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-vouchers__hint{display:none}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-vouchers__rail{
  grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;
  grid-auto-rows:1fr;gap:8px;width:calc(100% - 60px);padding:2px 0;
  overflow:visible;scroll-snap-type:none;
 }
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher{
  grid-template-columns:44px minmax(0,1fr);grid-template-rows:44px 28px 26px 44px;
  column-gap:4px;height:156px;padding:6px;border-left-width:3px;
 }
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) :is(.b810-voucher__body,.b810-voucher__footer){display:contents}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__value{
  grid-column:1;grid-row:1;min-width:44px;min-height:44px;padding:0;border-right:0;
 }
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__amount{font-size:18px;letter-spacing:-.5px}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__title{
  grid-column:2;grid-row:1;align-self:center;font-size:12px;line-height:15px;
 }
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__condition{
  grid-column:1/-1;grid-row:2;font-size:11px;line-height:13px;min-height:0;
 }
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__meta{grid-column:1/-1;grid-row:3}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__code{font-size:11px;line-height:13px}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__expiry{font-size:10.5px;line-height:13px}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__copy{
  grid-column:1/-1;grid-row:4;width:100%;min-width:44px;height:44px;padding:0 4px;
 }
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher__copy:before{inset:8px 8px}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher--placeholder i{grid-column:1/-1;align-self:center}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher--placeholder i:first-child{grid-column:2;grid-row:1}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher--placeholder i:nth-child(2){grid-row:2}
 .b810-vouchers:is(.b810-vouchers--home,.b810-vouchers--product,.b810-vouchers--cart) .b810-voucher--placeholder i:last-child{grid-row:4;justify-self:center}
}
