/* europeanpaper.com item-page cross-sell (pairs with epc-xsell.js), v2 2026-10-20. ASCII only.
   EPC palette: red #C52C27 (brand, prices, underline), hover #9D201A, teal #488890 (chips, free-ship bar), text #222222.
   Fonts follow the site: Open Sans text, Georgia prices (same as "SPECIAL: $21.95"). */
.epcxs { clear: both; margin: 14px 0 6px; }
.epcxsHead { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 10px; border-bottom: 1px solid #e3e3e3; }
.epcxsTitle { display: inline-block; margin: 0 0 -1px; padding: 0 2px 5px; border-bottom: 3px solid #C52C27; font: 700 13px/18px "Open Sans", Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #222222; }
.epcxsShip { font: 400 12px/16px "Open Sans", Arial, sans-serif; color: #488890; padding-bottom: 6px; min-height: 23px; box-sizing: content-box; white-space: nowrap; flex: 1 1 auto; text-align: right; }   /* v2.1: fixed height (text line + bar) so the hint can change after load without moving the cards */
.epcxsShip b { color: #222222; }
.epcxsBar { display: block; width: 120px; height: 4px; margin: 3px 0 0 auto; background: #e6eeef; border-radius: 2px; overflow: hidden; }
.epcxsBar i { display: block; height: 100%; background: #488890; }
.epcxsRow { display: flex; gap: 12px; margin: 0; padding: 0 0 4px; list-style: none; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.epcxsRow::-webkit-scrollbar { display: none; }
.epcxsRow > li { list-style: none; margin: 0; padding: 0; background: none; }
.epcxsCard { flex: 0 0 calc((100% - 36px) / 4); min-width: 0; scroll-snap-align: start; }
.epcxsLink { display: block; color: #222222; text-decoration: none; }
.epcxsLink:hover .epcxsName { color: #9D201A; text-decoration: underline; }
.epcxsLink:focus-visible { outline: 2px solid #488890; outline-offset: 2px; }
.epcxsImg { display: block; position: relative; height: 0; padding-top: 100%; overflow: hidden; background: #fff; border: 1px solid #ececec; }
.epcxsImg img { position: absolute; top: 4%; left: 4%; width: 92%; height: 92%; max-width: none; object-fit: contain; border: 0; }
.epcxsChip { position: absolute; left: 0; bottom: 0; padding: 1px 6px; font: 700 10px/15px "Open Sans", Arial, sans-serif; letter-spacing: .03em; text-transform: uppercase; color: #fff; background: #488890; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.epcxsChip.epcxsFs { background: #C52C27; }
.epcxsBrand { display: block; height: 16px; margin-top: 6px; overflow: hidden; font: 700 10px/16px "Open Sans", Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #C52C27; white-space: nowrap; text-overflow: ellipsis; }
.epcxsName { display: block; display: -webkit-box; height: 34px; overflow: hidden; font: 400 12px/17px "Open Sans", Arial, sans-serif; color: #222222; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.epcxsPrice { display: block; height: 20px; margin-top: 2px; font: 400 12px/20px "Open Sans", Arial, sans-serif; color: #767676; white-space: nowrap; }
.epcxsNow { font: 700 14px/20px Georgia, "Times New Roman", serif; color: #C52C27; margin-right: 4px; }
.epcxsReg { text-decoration: line-through; }
/* desktop sidebar (replaces the 3-item "You May Also Like / Goes With" tabs in .SKUupsellBin) */
.epcxsSide .epcxsRow { flex-wrap: wrap; overflow: visible; gap: 14px 12px; }
.epcxsSide .epcxsCard { flex: 0 0 calc((100% - 12px) / 2); }
/* no-shift space reservation until the script marks html.epcxsDone; expires after 6 s if the script never runs */
html:not(.epcxsDone) body.desktop.item .itemPageCaption > .SKUadd2cart { margin-bottom: calc((100% - 36px) / 4 + 147px); animation: epcxsRel 0s 6s forwards; }
html:not(.epcxsDone) body.mobile.item .itemPageCaption > .SKUexpandableWrapper { margin-bottom: calc(38% + 132px); animation: epcxsRel 0s 6s forwards; }
html:not(.epcxsDone) body.mobile.item .itemPageCaption > .SKUexpandableWrapper ~ .SKUexpandableWrapper { margin-bottom: 0; animation: none; }
@keyframes epcxsRel { to { margin-bottom: 0; } }
body.mobile .epcxs { margin: 16px 0 14px; }
body.mobile .epcxsCard { flex-basis: 38%; }
body.mobile .epcxsName { font-size: 13px; line-height: 18px; height: 36px; }
/* phones: bottom row that replaces the old slick "You May Also Like" slider */
body.mobile .epcxsMore { margin: 18px 10px 18px; }
body.mobile .epcxsHead { padding-right: 8px; }
