/* CardReactor collection console. Deliberately separate from legacy pager styles. */
body.crf-document .crf-pagination {
  width:100%; max-width:100%; margin:24px auto 8px; padding:16px 18px;
  box-sizing:border-box; background:#f7f7f7; color:#303438; border:0; border-radius:0;
  box-shadow:0 2px 9px rgb(0 0 0 / 6%); font-size:14px; line-height:1.4;
}
.crf-pagination__inner { width:562px; max-width:100%; margin:0 auto; }
.crf-pagination *, .crf-pagination *::before, .crf-pagination *::after { box-sizing:border-box; }
.crf-pagination [hidden] { display:none!important; }
body.crf-document .crf-pagination button { cursor:pointer; font:inherit; border:0; border-radius:0; }
body.crf-document .crf-pagination__position { background:transparent; color:#242729; padding:0; cursor:default; font-size:13px; font-weight:500; }
.crf-pagination__position span { color:#747a7e; font-weight:400; }
.crf-pagination__main { display:grid; grid-template-columns:100px minmax(0,1fr) 100px; gap:6px; align-items:center; }
.crf-pagination__rail { display:flex; justify-content:center; align-items:center; gap:4px; min-width:0; }
.crf-pagination__numbers { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; width:282px; min-width:0; flex:1; }
.crf-pagination__numbers > :first-child { grid-column-start:var(--rail-start,1); }
body.crf-document .crf-pagination__numbers :is(a,button) { display:grid; place-items:center; min-width:0; height:38px; padding:0 2px; font-size:14px; font-weight:400; background:#fff; color:#303438!important; text-decoration:none; border:0; border-radius:0; font-variant-numeric:tabular-nums; }
body.crf-document .crf-pagination__numbers :is(a,button)[aria-current="page"] { color:#fff!important; background:#242729; font-weight:600; }
body.crf-document .crf-pagination__numbers :is(a,button):hover:not([aria-current]) { background:#e6e8e9; }
body.crf-document .crf-pagination__arrow { flex:0 0 30px; width:30px; height:38px; padding:0; font-size:22px; font-weight:400; background:transparent; color:#454b50; }
body.crf-document .crf-pagination__arrow:disabled { opacity:.25; cursor:default; }
body.crf-document .crf-pagination__step { display:grid; place-items:center; min-height:38px; padding:0 10px; background:#242729; color:#fff!important; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.03em; text-decoration:none; white-space:nowrap; word-break:normal; overflow-wrap:normal; }
body.crf-document .crf-pagination__step[aria-disabled] { color:#a0a5a8!important; background:#eceeef; }
.crf-pagination__quick { display:grid; grid-template-columns:100px minmax(0,1fr) 100px; gap:6px; align-items:center; margin-top:8px; }
.crf-pagination__quick > .crf-pagination__rail { grid-column:2; }
.crf-pagination__caption { font-size:12px; color:#747a7e; text-align:right; white-space:nowrap; }
body.crf-document .crf-pagination__quick .crf-pagination__numbers :is(a,button) { background:transparent; color:#747a7e!important; height:38px; }
body.crf-document .crf-pagination__quick .crf-pagination__numbers :is(a,button)[aria-current] { background:#242729; color:#fff!important; }
.crf-pagination__controls { display:flex; justify-content:center; gap:6px; align-items:center; flex-wrap:wrap; margin-top:8px; }
.crf-pagination__controls form { display:flex; align-items:center; gap:16px; margin:0; flex-wrap:wrap; justify-content:center; }
.crf-pagination__controls label { display:flex; gap:8px; align-items:center; font-size:12px; color:#676d72; }
body.crf-document .crf-pagination select { min-height:34px; min-width:66px; max-width:120px; padding:5px 8px; border:0; border-radius:0; background:#fff; font:inherit; color:#303438; cursor:pointer; }
.crf-pagination__count { width:100%; text-align:center; font-size:12px; font-variant-numeric:tabular-nums; }
.crf-pagination__count span { color:#747a7e; }
body.crf-document .crf-pagination__apply { padding:6px 10px; background:#242729; color:#fff; }
.crf-pagination__sr { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:1100px) {
 .crf-pagination__inner { width:480px; }
 .crf-pagination__main,.crf-pagination__quick { grid-template-columns:92px minmax(0,1fr) 92px; gap:4px; }
 body.crf-document .crf-pagination { padding:18px 14px; }
 .crf-pagination__rail { gap:3px; }
 .crf-pagination__numbers { gap:3px; }
 body.crf-document .crf-pagination__numbers :is(a,button) { padding:0 2px; }
}
@media(max-width:600px) {
 body.crf-document .crf-pagination { padding:16px 10px; }
 .crf-pagination__main { grid-template-columns:1fr 1fr; gap:8px; }
 .crf-pagination__main > .crf-pagination__rail { grid-column:1/-1; grid-row:1; }
 .crf-pagination__main > .crf-pagination__step { grid-row:2; }
 .crf-pagination__quick { grid-template-columns:1fr 1fr; gap:4px; }
 .crf-pagination__caption { grid-column:1/-1; text-align:center; }
 .crf-pagination__quick > .crf-pagination__rail { grid-column:1/-1; grid-row:2; }
 .crf-pagination__numbers { flex:1; }
 body.crf-document .crf-pagination__numbers :is(a,button) { flex:1; min-width:0; padding:0 2px; font-size:12px; }
 body.crf-document .crf-pagination__arrow { flex-basis:25px; width:25px; min-height:44px; }
 .crf-pagination__controls { gap:10px; }
 .crf-pagination__controls form { justify-content:center; width:100%; gap:8px; }
 .crf-pagination__controls label { gap:5px; font-size:11px; }
 body.crf-document .crf-pagination select { min-width:52px; min-height:40px; padding:5px; }
}
.crf-pagination__icon { display:block; width:17px; height:17px; flex:0 0 17px; }
body.crf-document .crf-pagination__arrow { display:grid; place-items:center; }
.crf-pagination__arrow .crf-pagination__icon { width:21px; height:21px; }
body.crf-document .crf-pagination__step { display:flex; justify-content:center; align-items:center; gap:4px; }
.crf-pagination__step .crf-pagination__icon { width:14px; height:14px; flex-basis:14px; }
@media (min-width:601px) and (max-width:1100px) { body.crf-document .crf-pagination__step { padding:0 4px; font-size:10px; gap:0; } }
@media (max-width:380px) { .crf-pagination__controls form { flex-wrap:wrap; } }

body.crf-document .crf-pagination__position { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:7px; width:100%; margin:0 auto 8px; padding:3px 10px; font-variant-numeric:tabular-nums; }

/* Directional feedback moves the icon, never the button or adjacent numbers. */
@media (prefers-reduced-motion:no-preference) {
  .crf-pagination__arrow .crf-pagination__icon,
  .crf-pagination__step .crf-pagination__icon { transition:transform 180ms ease-out; }
  .crf-pagination__arrow[data-shift="-1"]:enabled:focus-visible .crf-pagination__icon,
  .crf-pagination__step[rel="prev"]:focus-visible .crf-pagination__icon { transform:translateX(-3px); }
  .crf-pagination__arrow[data-shift="1"]:enabled:focus-visible .crf-pagination__icon,
  .crf-pagination__step[rel="next"]:focus-visible .crf-pagination__icon { transform:translateX(3px); }
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .crf-pagination__arrow[data-shift="-1"]:enabled:hover .crf-pagination__icon,
  .crf-pagination__step[rel="prev"]:hover .crf-pagination__icon { transform:translateX(-3px); }
  .crf-pagination__arrow[data-shift="1"]:enabled:hover .crf-pagination__icon,
  .crf-pagination__step[rel="next"]:hover .crf-pagination__icon { transform:translateX(3px); }
}

/* Anchor the word of to the number rails' center, with balanced side columns. */
.crf-pagination__position span:first-child { justify-self:end; color:inherit; font-weight:inherit; }
.crf-pagination__position span:last-child { justify-self:start; }
