/* Slider styles for [wcypv_video_slider]
   Keep styles minimal so the theme controls typography and colors.
*/

.ytgs-shortcode-root .ytgs-video-slider-wrap {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}


.ytgs-shortcode-root .ytgs-video-slider.swiper{
    position: relative;
}


/* Prevent accidental text selection while dragging the slider */
.ytgs-shortcode-root.ytgs-is-dragging .ytgs-video-slider-wrap,
.ytgs-shortcode-root.ytgs-is-dragging .ytgs-video-slider-wrap * {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.ytgs-shortcode-root .ytgs-video-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.ytgs-shortcode-root .ytgs-video-slider .swiper-wrapper {
    align-items: center;
}

/* Align slide content based on where the title is displayed.
   Title above aligns thumbnails to the bottom.
   Title below aligns thumbnails to the top. */
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-above .ytgs-video-slider .swiper-wrapper {
    align-items: flex-end;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-below .ytgs-video-slider .swiper-wrapper {
    align-items: flex-start;
}

.ytgs-shortcode-root .ytgs-video-slider .swiper-slide {
    height: auto;
}

.ytgs-shortcode-root .ytgs-video-slider .ytgs-video-item {
    cursor: pointer;
}

/* Prevent native image drag ghosting on desktop.
   This keeps Swiper drag behavior consistent. */
.ytgs-shortcode-root .ytgs-video-slider img {
    -webkit-user-drag: none;
    user-select: none;
}

/* Re use the same thumbnail container and play button styling as the gallery grid. */
.ytgs-shortcode-root .ytgs-video-slider .ytgs-thumbnail-container {
    border-radius: 8px;
}

.ytgs-shortcode-root .yvs-swiper-pagination {
    margin-top: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

.ytgs-shortcode-root .yvs-swiper-pagination .swiper-pagination-bullet {
    background: var(--ytgs-dot-inactive, rgba(0,0,0,0.25));
    opacity: 1;
}

.ytgs-shortcode-root .yvs-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--ytgs-dot-active, rgba(0,0,0,0.9));
}

.ytgs-shortcode-root .ytgs-shortcode-root .yvs-swiper-button-prev,
.ytgs-shortcode-root .yvs-swiper-button-next {
    color: inherit;
}


.ytgs-shortcode-root .ytgs-video-slider-wrap .ytgs-linkto-wrap {
    margin-top: 6px;
    text-align: center;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap .ytgs-linkto {
    text-decoration: none;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap .ytgs-linkto:hover {
    text-decoration: underline;
}

/* Optional global text size presets */
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-text-small .ytgs-meta {
    font-size: 0.85em;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-text-medium .ytgs-meta {
    font-size: 1em;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-text-large .ytgs-meta {
    font-size: 1.15em;
}

/* Optional separate text size presets */
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-text-small .ytgs-video-title { font-size: 0.85em; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-text-medium .ytgs-video-title { font-size: 1em; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-text-large .ytgs-video-title { font-size: 1.15em; }

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-link-text-small .ytgs-linkto-wrap { font-size: 0.85em; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-link-text-medium .ytgs-linkto-wrap { font-size: 1em; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-link-text-large .ytgs-linkto-wrap { font-size: 1.15em; }



/* Cinema shortcode optional font size overrides */
.ytgs-shortcode-root .wcypv-cinema-wrap.wcypv-cinema-title-size-small .wcypv-video-title { font-size: 0.85em; }
.ytgs-shortcode-root .wcypv-cinema-wrap.wcypv-cinema-title-size-medium .wcypv-video-title { font-size: 1em; }
.ytgs-shortcode-root .wcypv-cinema-wrap.wcypv-cinema-title-size-large .wcypv-video-title { font-size: 1.15em; }

.ytgs-shortcode-root .wcypv-cinema-wrap.wcypv-cinema-linkto-size-small .ytgs-linkto-wrap { font-size: 0.85em; }
.ytgs-shortcode-root .wcypv-cinema-wrap.wcypv-cinema-linkto-size-medium .ytgs-linkto-wrap { font-size: 1em; }
.ytgs-shortcode-root .wcypv-cinema-wrap.wcypv-cinema-linkto-size-large .ytgs-linkto-wrap { font-size: 1.15em; }
/* Optional text alignment presets */
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-align-left .ytgs-meta {
    text-align: left;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-align-center .ytgs-meta {
    text-align: center;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-align-right .ytgs-meta {
    text-align: right;
}

/* Optional separate text alignment presets */
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-align-left .ytgs-video-title { text-align: left; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-align-center .ytgs-video-title { text-align: center; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-title-align-right .ytgs-video-title { text-align: right; }

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-link-align-left .ytgs-linkto-wrap { text-align: left; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-link-align-center .ytgs-linkto-wrap { text-align: center; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-link-align-right .ytgs-linkto-wrap { text-align: right; }

/* Optional underline disable */
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-no-underline .ytgs-linkto,
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-no-underline .ytgs-linkto:hover {
    text-decoration: none !important;
}


/* Release 3b: Elementor editor spacing hardening for titles and pagination */
.ytgs-shortcode-root .ytgs-slider-wrapper .swiper-pagination,
.ytgs-shortcode-root .ytgs-slider-wrapper .swiper-pagination-bullets,
.ytgs-root .ytgs-slider-wrapper .swiper-pagination,
.ytgs-root .ytgs-slider-wrapper .swiper-pagination-bullets {
  position: static;
  inset: auto;
  display: block;
  width: 100%;
  margin: 8px 0 0 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.ytgs-shortcode-root .ytgs-slider-wrapper .swiper-pagination-bullet,
.ytgs-root .ytgs-slider-wrapper .swiper-pagination-bullet {
  margin: 0 4px !important;
}

.ytgs-shortcode-root .ytgs-slider-wrapper .ytgs-meta,
.ytgs-shortcode-root .ytgs-slider-wrapper .ytgs-meta-above,
.ytgs-root .ytgs-slider-wrapper .ytgs-meta,
.ytgs-root .ytgs-slider-wrapper .ytgs-meta-above {
  margin: 0 0 6px 0 !important;
}

/* Elementor editor adds extra spacing in some contexts. Normalize it. */
.elementor-editor-active .ytgs-shortcode-root .ytgs-slider-wrapper .ytgs-meta,
.elementor-editor-active .ytgs-shortcode-root .ytgs-slider-wrapper .ytgs-meta-above,
.elementor-editor-active .ytgs-root .ytgs-slider-wrapper .ytgs-meta,
.elementor-editor-active .ytgs-root .ytgs-slider-wrapper .ytgs-meta-above {
  margin-bottom: 6px !important;
}

.elementor-editor-active .ytgs-shortcode-root .ytgs-slider-wrapper .swiper-pagination,
.elementor-editor-active .ytgs-shortcode-root .ytgs-slider-wrapper .swiper-pagination-bullets,
.elementor-editor-active .ytgs-root .ytgs-slider-wrapper .swiper-pagination,
.elementor-editor-active .ytgs-root .ytgs-slider-wrapper .swiper-pagination-bullets {
  margin-top: 8px !important;
}


/* Slider arrow buttons */
.ytgs-shortcode-root .ytgs-video-slider-wrap {
    --ytgs-arrow-bg: rgba(0,0,0,0.45);
    --ytgs-arrow-fg: #ffffff;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-prev,
.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 999px;
    background: var(--ytgs-arrow-bg, rgba(0,0,0,0.55));
    color: var(--ytgs-arrow-fg, #ffffff);
    cursor: pointer;
    line-height: 1;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-prev:focus,
.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-next:focus {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-prev .ytgs-arrow-icon,
.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-next .ytgs-arrow-icon {
    width: 18px;
    height: 18px;
    display: block;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-arrows-inside .yvs-swiper-button-prev { left: 8px; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-arrows-inside .yvs-swiper-button-next { right: 8px; }

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-arrows-outside {
    padding-left: 0;
    padding-right: 0;
}
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-arrows-outside .yvs-swiper-button-prev { left: 8px; }
.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-arrows-outside .yvs-swiper-button-next { right: 8px; }

.ytgs-shortcode-root .ytgs-video-slider-wrap.ytgs-arrows-outside .ytgs-video-slider.swiper {
    padding-left: 52px;
    padding-right: 52px;
}


/* Hide arrows when disabled by setting */
.ytgs-shortcode-root .ytgs-video-slider-wrap[data-show-arrows="0"] .yvs-swiper-button-prev,
.ytgs-shortcode-root .ytgs-video-slider-wrap[data-show-arrows="0"] .yvs-swiper-button-next {
    display: none !important;
}

.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-prev,
.ytgs-shortcode-root .ytgs-video-slider-wrap .yvs-swiper-button-next{
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-flex !important;
    pointer-events: auto;
}


/* Cinema shortcode font size overrides: xsmall (manual extension) */
.wcypv-cinema-title-size-xsmall .wcypv-video-title {
    font-size: 12px;
}
.wcypv-cinema-linkto-size-xsmall .ytgs-linkto-wrap {
    font-size: 12px;
}
/* Cinema Link To color, uses plugin variables when set, otherwise inherits theme defaults */
.wcypv-cinema .ytgs-linkto {
    color: var(--ytgs-link-color, inherit) !important;
}
.wcypv-cinema .ytgs-linkto:hover,
.wcypv-cinema .ytgs-linkto:focus,
.wcypv-cinema .ytgs-linkto:active {
    color: var(--ytgs-link-hover-color, var(--ytgs-link-color, inherit)) !important;
}
/* Title and link colors, scoped to the plugin wrapper using CSS variables */
.ytgs-shortcode-root .ytgs-video-slider-wrap .ytgs-video-title {
  color: var(--ytgs-title-color, inherit);
}
.ytgs-shortcode-root .ytgs-video-slider-wrap .ytgs-video-title:hover {
  color: var(--ytgs-title-hover-color, var(--ytgs-title-color, inherit));
}
.ytgs-shortcode-root .ytgs-video-slider-wrap .ytgs-linkto {
  color: var(--ytgs-link-color, inherit);
}
.ytgs-shortcode-root .ytgs-video-slider-wrap .ytgs-linkto:hover {
  color: var(--ytgs-link-hover-color, var(--ytgs-link-color, inherit));
}
