/* ==========================================
   File: /css/showtimevegas-widgets.css
   svU (ShowtimeVegas Carousel System)
========================================== */

/* --------------------------
   svU Carousel (BASE)
-------------------------- */
.svU{
    width:100%;
    max-width:1290px;
    margin:0 auto;
    padding:12px;
    font-family:system-ui, Arial, Helvetica, sans-serif;
    color:var(--text-dark, #000);
}

.svU *{ box-sizing:border-box; }

.svU-header{ margin:0 0 10px 0; }

.svU-title{
    margin:0 0 6px 0;
    font-size:18px;
    font-weight:700;
}

.svU-controls{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:10px 0;
}

.svU-arrow{
    width:40px;
    height:40px;
    border-radius:999px;
    border:1px solid #ccc;
    background:#fff;
    cursor:pointer;
    font-size:22px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.svU-arrow:hover{ background:#fff7ea; }

/* FIX: ensure arrows show */
.svU .svU-arrow{
    display:flex !important;
}

.svU-dots{
    flex:1;
    display:flex;
    justify-content:center;
    gap:8px;
}

.svU-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    border:1px solid #ccc;
    background:#fff;
    cursor:pointer;
}

.svU-dot[aria-selected="true"]{
    background:#fda83c;
    border-color:#fda83c;
}

/* VIEWPORT */
.svU-viewport{
    width:100%;
    overflow-x:auto;
    scroll-behavior:smooth;
    padding:4px;
}

@supports (scroll-snap-type:x mandatory){
    .svU-viewport{ scroll-snap-type:x mandatory; }
    .svU-card{ scroll-snap-align:start; }
}

/* TRACK */
.svU-track{
    display:flex;
    gap:14px;
    width:max-content;
}

/* CARD */
.svU-card{
    flex:0 0 260px;
    background:#fff;
    border:1px solid #ccc;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 8px 5px #999;
    display:flex;
    flex-direction:column;
}

/* IMAGE */
.svU-media{
    height:170px;
    overflow:hidden;
}

.svU-media img{
    width:100%;
    height:100%;
    object-fit:cover;
}

/* BODY */
.svU-body{
    padding:8px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

/* TITLE */
.svU-cardTitle{
    font-size:14px;
    font-weight:700;
}

/* DESCRIPTION */
.svU-desc{
    font-size:12px;
    line-height:1.3;
}

/* BUTTON */
.svU-btn{
    margin-top:auto;
    display:inline-block;
    text-align:center;
    font-weight:700;
    font-size:12px;
    padding:8px 10px;
    border-radius:50px;
    background:#0099ff;
    color:#fff;
    text-decoration:none;
}

.svU-btn:hover{
    background:#fda83c;
    color:#000;
}

/* RESPONSIVE */
@media (min-width:768px){
    .svU-card{ flex-basis:300px; }
    .svU-media{ height:190px; }
}

@media (max-width:420px){
    .svU-arrow{ display:none; }
    .svU-card{ flex-basis:240px; }
}