.im-slider { --im-blue: #28558b; --im-ink: #17262b; color: var(--im-ink); margin: 40px 0; }
.im-slider .im-slider__section { margin: 0 0 56px; position: relative; }
.im-slider .im-slider__header { display: flex; justify-content: space-between; align-items: end; gap: 20px; border-bottom: 1px solid #dde2e7; padding-bottom: 18px; margin-bottom: 20px; }
.im-slider .im-slider__eyebrow { color: var(--im-blue); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 8px; }
.im-slider h2 { font-size: 30px; font-weight: 500; margin: 0; }
.im-slider a { color: var(--im-blue); }
.im-slider .im-slider__track { display: flex; list-style: none; gap: 24px; margin: 0; padding: 0 0 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 0; }
.im-slider .im-slider__item { flex: 0 0 calc((100% - 72px) / 4); min-width: 0; display: flex; flex-direction: column; margin: 0; scroll-snap-align: start; }
.im-slider .im-slider__image { display: flex; height: 230px; align-items: center; justify-content: center; background: #f7f8f9; margin-bottom: 16px; }
.im-slider .im-slider__image img { width: 100%; height: 100%; object-fit: contain; }
.im-slider h3 { font-size: 18px; font-weight: 500; line-height: 1.4; margin: 0 0 8px; overflow-wrap: anywhere; }
.im-slider h3 a { color: var(--im-ink); }
.im-slider .im-slider__code { color: #59646d; font-size: 13px; margin: 0 0 16px; overflow-wrap: anywhere; }
.im-slider .im-slider__link { margin-top: auto; }
.im-slider .im-slider__controls { display: flex; justify-content: end; gap: 8px; margin-bottom: 12px; }
.im-slider .im-slider__controls[hidden] { display: none; }
.im-slider .im-slider__controls button { background: #fff; color: var(--im-blue); border: 1px solid #c8d2dd; box-shadow: none; border-radius: 0; width: 44px; min-height: 44px; padding: 8px; }
.im-slider :focus-visible { outline: 2px solid var(--im-blue); outline-offset: 3px; }
.im-slider .im-slider__empty { color: #59646d; padding: 16px 0; }
@media (max-width: 1023px) { .im-slider .im-slider__item { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 599px) { .im-slider .im-slider__item { flex-basis: 86%; } .im-slider h2 { font-size: 25px; } .im-slider .im-slider__header { align-items: start; flex-direction: column; gap: 12px; } }

/* Photo category selector: one bestseller panel displayed at a time. */
.im-slider [hidden] { display: none !important; }
.im-slider .im-slider__categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 32px; }
.im-slider .im-slider__tab { position: relative; display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: 0; overflow: hidden; border: 1px solid #dde2e7; border-bottom: 3px solid transparent; border-radius: 0; background: #f7f8f9; color: var(--im-ink); box-shadow: none; text-align: start; white-space: normal; font: inherit; cursor: pointer; }
.im-slider .im-slider__tab img { display: block; width: 100%; height: 155px; object-fit: contain; background: #f5f6f7; }
.im-slider .im-slider__tab > span:first-of-type { display: block; padding: 16px 40px 16px 16px; font-size: 17px; font-weight: 500; line-height: 1.3; }
.im-slider .im-slider__tab-arrow { position: absolute; bottom: 16px; right: 16px; color: var(--im-blue); }
.im-slider .im-slider__tab[aria-selected="true"] { border-color: var(--im-blue); background: #edf3f9; }
.im-slider .im-slider__tab:hover { border-color: var(--im-blue); }
@media (max-width: 767px) { .im-slider .im-slider__categories { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .im-slider .im-slider__tab img { height: 110px; } .im-slider .im-slider__tab > span:first-of-type { font-size: 15px; padding: 12px 32px 12px 12px; } }
