/* Voucher styles stay inside the shared portal header and footer. */
#gift-vouchers { margin-top: 0; padding-top: 40px; }
@media (min-width: 1551px) {
    #gift-vouchers { padding-top: 90px; }
}
.hp-vouchers { margin: 0; background: #F2F2F4; width: 100%; overflow-wrap: break-word; }
.hp-vouchers *, .hp-vouchers *::before, .hp-vouchers *::after { box-sizing: border-box; }
.hp-vouchers a { color: #B3102B; text-decoration: underline; }
.hp-vouchers a:hover { color: #7D0F24; }
.hp-vouchers :focus-visible { outline: 3px solid #1F5FBF; outline-offset: 2px; }
.hp-vouchers summary { cursor: pointer; list-style: none; }
.hp-vouchers summary::-webkit-details-marker { display: none; }
.hp-vouchers details[open] .faq-plus, .hp-vouchers details[open] .m-plus { transform: rotate(45deg); }
.hp-vouchers details[open] .m-hint { display: none; }
.hp-vouchers input, .hp-vouchers select, .hp-vouchers textarea { font: inherit; }
.hp-vouchers select { appearance: auto; position: static; z-index: auto; }
.hp-vouchers ul { list-style-type: disc; }
.hp-vouchers [hidden] { display: none !important; }
.hp-vouchers [id] { scroll-margin-top: 78px; }
.hp-vouchers--mobile { display: none; }
.hp-voucher-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.hp-voucher-error { color: #B3102B; }
.hp-voucher-form input, .hp-voucher-form select, .hp-voucher-form textarea { max-width: 100%; min-width: 0; }
.hp-voucher-form button:disabled { opacity: .65; cursor: wait !important; }
@keyframes hp-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes m-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.hp-vouchers .hp-track { animation: hp-marquee 50s linear infinite; }
.hp-vouchers .hp-marquee:hover .hp-track { animation-play-state: paused; }
.hp-vouchers .m-track { animation: m-marquee 40s linear infinite; }
.hp-vouchers .m-track-slow { animation: m-marquee 30s linear infinite; }
.hp-vouchers .m-swipe { scrollbar-width: none; }
.hp-vouchers .m-swipe::-webkit-scrollbar { display: none; }
@media (prefers-reduced-motion: reduce) {
    .hp-vouchers .hp-track, .hp-vouchers .m-track, .hp-vouchers .m-track-slow { animation: none; }
}
@media (max-width: 767px) {
    .hp-vouchers--desktop { display: none; }
    .hp-vouchers--mobile { display: block; }
}
