/* ==========================================
   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;
}

/* --------------------------
   CONTROLS (DOTS ONLY)
-------------------------- */
.svU-controls{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin:10px 0;
}

/* --------------------------
   ARROWS (FORCE HIDDEN)
-------------------------- */
.svU .svU-arrow{
    display:none !important;
}

/* --------------------------
   DOTS (ENSURE VISIBLE)
-------------------------- */
.svU-dots{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    width:100%;
}

.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,
.svU-img{
    width:100%;
    height:170px;
    object-fit:cover;
    display:block;
}

/* --------------------------
   BODY
-------------------------- */
.svU-body{
    padding:8px;
    display:flex;
    flex-direction:column;
    gap:6px;
    text-align:left;
}

/* --------------------------
   TITLE
-------------------------- */
.svU-cardTitle,
.svU-card-title{
    font-size:14px;
    font-weight:700;
    text-align:center;
}

/* --------------------------
   DESCRIPTION
-------------------------- */
.svU-desc{
    font-size:12px;
    line-height:1.3;
    text-align:left;
}

/* --------------------------
   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;
    }

    .svU-media img,
    .svU-img{
        height:190px;
    }
}

@media (max-width:420px){
    .svU-card{
        flex-basis:240px;
    }
}

/* =========================================
   FINAL: Perfect Bullet + Text Alignment
   Applies to Restaurant, Wedding, and All svU Link Lists
========================================= */

.svU-links{
    text-align:left !important;
    margin-top:10px;
}

/* Bullet positioning */
.svU-links ul{
    list-style:disc;
    list-style-position:outside;
    padding-left:18px;
    margin:8px 0 0 0;
}

/* Each list item */
.svU-links li{
    text-align:left !important;
    margin:6px 0;
    line-height:1.35;
}

/* Link text */
.svU-links a{
    display:inline;
    font-size:17px;
    font-weight:600;
    color:#0077cc;
    text-decoration:none;
}

/* Hover */
.svU-links a:hover{
    text-decoration:underline;
}

/* Bullet color */
.svU-links li::marker{
    color:#0077cc;
}

.svU-btn{
    margin-top:auto;
}

.stv-full-screen {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}
.svU-card a {
  display:block;
}

/* Seating chart carousel image links and equal-height cards */
.svU-seating .svU-card {
  display: flex;
  flex-direction: column;
  height: auto;
}

.svU-seating .svU-img-link {
  display: block;
  width: 100%;
  text-decoration: none;
}

.svU-seating .svU-img {
  cursor: pointer;
}

.svU-seating .svU-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.svU-seating .svU-body p {
  margin-bottom: 16px;
}

.svU-seating .svU-btn {
  margin-top: auto;
  display: inline-block;
  align-self: center;
  padding: 10px 18px;
  border-radius: 6px;
  background: #0077cc;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
}

.svU-seating .svU-btn:hover {
  background: #005fa3;
  color: #fff !important;
}