/**
 * File Path: assets/css/front/mbs-front-pro-slider.css
 * Slider Layout — flat rules (CSS-002 pattern)
 * Component of mbs-front-pro.css — extracted Session 94.
 * Enqueued by MBS_Front_Assets with dep: mbs-front-pro (PRO tier only).
 */
/* ============================================================================
   SLIDER LAYOUT — flat rules (CSS-002 pattern)
   Nested CSS (viewport/track/slide) omitted from .mbs-wrapper {} block because
   CSS nesting is unsupported in some active browsers. All slider rules are
   explicit descendant selectors here.
   DOM: .mbs-wrapper > .mbs-layout-slider > .mbs-slider-viewport > .mbs-slider-track > .mbs-slider-slide
   ============================================================================ */

/* Viewport clips overflow */
.mbs-wrapper .mbs-layout-slider .mbs-slider-viewport {
    overflow: hidden;
    width: 100%;
}

/* Track: horizontal flex row with scroll-snap */
.mbs-wrapper .mbs-layout-slider .mbs-slider-track {
    display: flex !important;
    flex-direction: row !important;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
}

.mbs-wrapper .mbs-layout-slider .mbs-slider-track::-webkit-scrollbar {
    display: none;
}

/* Each slide: fixed 220px card, snap point */
.mbs-wrapper .mbs-layout-slider .mbs-slider-slide {
    flex: 0 0 220px !important;
    width: 220px !important;
    scroll-snap-align: start;
}

/* Cover image: scale to fill the 220px column */
.mbs-wrapper .mbs-layout-slider .mbs-slider-slide > .mbs-wrapper {
    width: 100%;
}

.mbs-wrapper .mbs-layout-slider .mbs-slider-slide > .mbs-wrapper .mbs-cover {
    width: 100%;
    display: block;
}

.mbs-wrapper .mbs-layout-slider .mbs-slider-slide > .mbs-wrapper .mbs-cover img {
    width: 100% !important;
    height: auto !important;
    display: block;
    max-width: 100%;
}

/* Slide info block */
.mbs-wrapper .mbs-layout-slider .mbs-slider-slide .mbs-book-info {
    padding: 10px 12px 12px;
}

.mbs-wrapper .mbs-layout-slider .mbs-slider-slide .mbs-book-info h3 {
    margin: 0 0 4px;
    font-size: 0.9rem;
    line-height: 1.3;
}

.mbs-wrapper .mbs-layout-slider .mbs-slider-slide .mbs-book-info .mbs-book-author {
    margin: 0 0 8px;
    font-size: 0.8rem;
    color: var(--mbs-text-muted);
}

/* Prev / Next controls */
.mbs-wrapper .mbs-layout-slider .mbs-slider-controls {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 16px;
}

.mbs-wrapper .mbs-layout-slider .mbs-slider-prev,
.mbs-wrapper .mbs-layout-slider .mbs-slider-next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--mbs-border);
    border-radius: 50%;
    background: var(--mbs-card-bg);
    color: var(--mbs-text);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease;
}

.mbs-wrapper .mbs-layout-slider .mbs-slider-prev:hover,
.mbs-wrapper .mbs-layout-slider .mbs-slider-next:hover {
    background: var(--mbs-button-bg);
    color: var(--mbs-button-text);
    border-color: var(--mbs-button-bg);
}
