/** * NOTICE OF LICENSE
 * This Licence is only valid for one installation, you can sell it to
 * your customer and personalize it, but you can't install more than one
 * Licences, to install more licences buy another licences first.
 *
 * @author    Pol Rué
 * @copyright Smart Modules 2014
 * @license   One time purchase Licence (You can modify or resell the product but just one time per licence)
 * @category product
 * Registered Trademark & Property of smart-modules.com
 *
 * ****************************************
 * *            Product Videos            *
 * *   http://www.smart-modules.com       *
 * *                                      *
 * ****************************************
*/

#videos *,
#pv_videos,
.default-hide,
.modal .hide-modal {
    display: none;
}

.pv-vimeo-autoload,
.pv-youtube-autoload {
    min-height: 1px;
}
#videos::after,
#pv_videosl::after,
#tabvideos::after {
    content: '';
    display: block;
    clear: both;
}

#videos li,
#pv_videosl li,
#tabvideos li {
    width: 31%;
    position: relative;
    float: left;
    margin: 15px 1%;
    list-style: none;
}

#pv_videosl li:first-child {
    margin: 15px 1% !important;
}

#videos li a,
#pv_videosl li a,
#tabvideos li a {
    border: 1px solid #dcdcdc;
    display: block;
    padding-left: 0;
}

#videos li img,
#pv_videosl li img,
#tabvideos li img {
    padding: 4%;
    width: 100%;
    height: auto;
}

.videoholder_wrapper {
    position: relative;
}


/*.video_link {
    display:table !important;
}*/


/*.video_link > div {
    display:table-cell;
    vertical-align:middle;
    background:#fff;
}*/


/*.video_link a {
    display:table-cell !important;
    vertical-align:middle;
}*/

.video_link,
.videocenter,
.video_link.video-icon,
.video_link .video-icon {
    position: relative;
}

.video_link:after,
.videocenter::after,
.video_link.video-icon::after,
.video_link .video-icon::after {
    pointer-events: none;
    display: block;
    background: url('../img/video-icon-trans.png') no-repeat scroll center center transparent;
    position: absolute;
    font-size: 26px;
    text-align: center;
    width: 100%;
    height: 100%;
    content: " ";
    z-index: 3;
    vertical-align: middle;
    top: 0;
    left: -3px;
}

.video_link:hover:after,
.videocenter:hover:after,
.video_link.video-icon:hover:after,
.video_link .video-icon:hover:after {
    display: none;
    /*opacity:0.6;*/
}
img.video-thumb {
    width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}
#product-modal .video_link {
    display: none;
}

#pv_videosl li::after {
    display: none;
}

.vresponsive {
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
}

#videothumb a {
    height: 100%;
}

.videoholder {
    padding-bottom: 100%;
    width: 100%;
}

.videoholder iframe,
.vresponsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/** HTML5 Videos **/

.videoholder video {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: auto;
}

#bigvideo video {
    width: 100%;
    height: auto;
}
/** Columns **/

.video_cols li {
    display: inline-block;
    margin: 0 0.8%;
}

.video_cols img {
    max-width: 100%;
    height: auto;
}

#tabvideos.video_cols_2 li,
#pv_videos.video_cols_2 li,
#pv_videosl.video_cols_2 li,
.video_cols_2 li {
    width: 48%;
}

#tabvideos.video_cols_3 li,
#pv_videos.video_cols_3 li,
#pv_videosl.video_cols_3 li,
.video_cols_3 li {
    width: 31.333%;
}

#tabvideos.video_cols_4 li,
#pv_videos.video_cols_4 li,
#pv_videosl.video_cols_4 li,
.video_cols_4 li {
    max-width: 23%;
}

#tabvideos.video_cols_5 li,
#pv_videos.video_cols_5 li,
#pv_videosl.video_cols_5 li,
.video_cols_5 li {
    max-width: 18%;
}

#tabvideos.video_cols_6 li,
#pv_videos.video_cols_6 li,
#pv_videosl.video_cols_6 li,
.video_cols_6 li {
    max-width: 14.66667%;
}

#tabvideos.video_cols_7 li,
#pv_videos.video_cols_7 li,
#pv_videosl.video_cols_7 li,
.video_cols_7 li {
    max-width: 12.28%;
}

#tabvideos.video_cols_8 li,
#pv_videos.video_cols_8 li,
#pv_videosl.video_cols_8 li,
.video_cols_8 li {
    max-width: 10.5%;
}

#videos.video_cols_3 li {
    width: 31.333%;
}

.bigtext {
    text-transform: uppercase;
    font-size: 20px;
}


/*.half { width:48%; margin:1%; float:left; }*/

.pv_full {
    width: 98%;
    margin: 1%;
    text-align: center !important
}


/* Videos on product listings */


/* Prestashop default theme header has a z-index of 5003... so this has to be bigger */

#dark_bg {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: none;
    /* Frosted translucent backdrop (jQuery fadeIn animates opacity to 1, so we
       must carry the tint in the colour itself — the old #000 + opacity:.65
       became fully opaque black once shown). */
    background: rgba(15, 23, 32, 0.72);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    /* Above the sticky header/nav so the lightbox dims the WHOLE page (the header
       used to float on top of the backdrop). The wrapper sits one step higher. */
    z-index: 99998;
}

.pv_video_wrapper {
    max-width: 900px;
    max-height: 90vh;
    position: fixed;
    width: 90%;
    display: none;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    padding: 12px;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    background: #fff;
    z-index: 99999; /* above #dark_bg (99998) and the sticky header */
    overflow: visible;
}
/* Subtle scale/opacity entrance — the JS adds .popupvideo to the modal. */
.pv_video_wrapper.popupvideo {
    animation: pvPopupIn .28s cubic-bezier(.2, .7, .3, 1) both;
}
@keyframes pvPopupIn {
    from { opacity: 0; transform: translate(-50%, -50%) scale(.94); }
    to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
    .pv_video_wrapper.popupvideo { animation: none; }
}

.pv_video_wrapper.active {
    display: block;
}

.pv_video_hover {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 12px;
    background: #000;
}

.pv_list_media_holder {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
}

.pv_video_hover iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

iframe.pv_list_image,
.pv_list_image_holder {
    position: absolute;
}


/* Icons */


/* Common parts*/

.product-container .left-block {
    position: relative;
}

.pv_icon_wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    overflow: hidden;
}

.pv_force_hide.pv_icon_wrapper {
    display: none;
}

.pv_icon_wrapper i {
    width: 100%;
    left: 0;
    position: absolute;
    z-index: 10;
    top: 50%;
    overflow: hidden;
    margin-top: -10px;
    font-size: 20px;
    color: #000;
}

.pv_icon_wrapper i.pv_default {
    margin-top: -20px;
    font-size: 40px;
    opacity: 0.80;
}

.pv_icon_wrapper i.pv_default::before {
    /* Soft Shadow */
    text-shadow: 0px 0px 10px #fff;
    /* Hard Shadow */
    /*text-shadow:1px 1px 1px #fff;*/
}

.pv_icon_wrapper .pv_topleft,
.pv_icon_wrapper .pv_topright,
.pv_icon_wrapper .pv_bottomright,
.pv_icon_wrapper .pv_bottomleft {
    width: 50px;
}

.pv_icon_wrapper .pv_topleft_bg,
.pv_icon_wrapper .pv_topright_bg,
.pv_icon_wrapper .pv_bottomright_bg,
.pv_icon_wrapper .pv_bottomleft_bg {
    width: 50%;
    height: 50%;
    background: #DEDEDE;
    border: 1px solid #BCBCBC;
    position: absolute;
    transform: rotate(45deg);
    z-index: 9;
    opacity: 0.6;
}

.pv_icon_wrapper.round .pv_topleft_bg,
.pv_icon_wrapper.round .pv_topright_bg,
.pv_icon_wrapper.round .pv_bottomright_bg,
.pv_icon_wrapper.round .pv_bottomleft_bg {
    width: 53%;
    height: 53%;
    border-radius: 50%;
}

.pv_icon_wrapper .pv_topleft {
    left: 0;
    top: 28px;
}

.pv_icon_wrapper .pv_topright {
    left: 77%;
    top: 28px;
}

.pv_icon_wrapper .pv_bottomright {
    left: 77%;
    top: 87%;
}

.pv_icon_wrapper .pv_bottomleft {
    left: 0;
    top: 87%;
}

.pv_topleft_bg {
    top: -25%;
    left: -25%;
}

.pv_topright_bg {
    right: -25%;
    top: -25%;
}

.pv_bottomright_bg {
    right: -25%;
    ;
    bottom: -25%;
    ;
}

.pv_bottomleft_bg {
    left: -25%;
    ;
    bottom: -25%;
    ;
}


/* Popup Video */

.pv_popupvideo {
    /*display:none;*/
    display: inline-block;
    width: 60%;
    left: 40%;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    z-index: 4;
}

.pv_button_attheend {
    bottom: 0;
}

.pv_button_after {
    bottom: 0;
}

.pv_button_before {
    top: 0;
}

.pv_button_beginning {
    top: 0;
}


/*.pv_force_display.pv_popupvideo {
    display:inline-block;
}*/

.closevideo {
    position: absolute;
    right: 8px;
    top: 8px;
    z-index: 102;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.55);
    border: 0;
    font-weight: 400;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: background .2s ease, transform .15s ease;
}
.closevideo:hover,
.closevideo:focus {
    background: rgba(0, 0, 0, 0.82);
    color: #fff;
    transform: scale(1.08);
    text-decoration: none;
}

/* Modern popup title / price / actions row (below the video). */
#pv_popup_content {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin: 14px 6px 4px;
}
#pv_popup_content #pv_title,
#pv_popup_content #pv_actions {
    width: auto;
    max-width: none;
    flex: 0 1 auto;
    padding: 0;
}
#pv_popup_content #pv_title h2 {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 2px;
}
#pv_popup_content #pv_price,
#pv_popup_content #pv_price .product-price {
    font-size: 17px;
    font-weight: 700;
    color: #1b8ef2;
}
#pv_popup_content #pv_actions {
    margin-left: auto;
}


/*#pv_popup_content {
    margin: 15px 2%;
}*/


/*#pv_title,
#pv_price,
#pv_actions {
    display:inline-block;
    font-size:16px;
    float:left;
    height:45px;
    /*overflow:hidden;*/


/*}*/


/*#pv_title {
    width:45%;
    margin-left:3%
}
#pv_price {
    width:15%;
}
#pv_actions {
    width:37%;
}
#pv_title *, #pv_price * {
    line-height:45px;
    /*text-overflow:ellipsis;*/


/*white-space: nowrap;*/


/*}*/

#pv_price span:not(.product-price) {
    display: none;
}

.videoholder_screen {
    width: 100%;
    height: 100%;
    position: absolute;
}

@media screen and (max-width:768px) {
    .pv_popupvideo {
        display: inline-block;
    }
    .pv_icon_wrapper {
        display: none;
    }
}

@media screen and (max-width:550px) {
    #pv_title,
    #pv_price,
    #pv_actions {
        overflow: hidden;
    }
    #pv_title a,
    #pv_price span,
    #pv_actions a {
        font-size: 12px;
    }
}


/* === Embedded player partial (shared by Tabs/Description + Side Panel) === */
.pv-embedded-thumbs::after {
    content: '';
    display: block;
    clear: both;
}
.pv-embedded-thumbs li {
    width: 31%;
    position: relative;
    float: left;
    margin: 15px 1%;
    list-style: none;
}
.pv-embedded-thumbs li a {
    border: 1px solid #dcdcdc;
    display: block;
    padding-left: 0;
}
.pv-embedded-thumbs li img {
    padding: 4%;
    width: 100%;
    height: auto;
}
.pv-embedded-bigvideo {
    position: relative;
}
.pv-embedded-bigvideo video,
.pv-embedded-bigvideo iframe {
    width: 100%;
    max-width: 100%;
    height: auto;
}
.pv-embedded-bigvideo.vresponsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.pv-embedded-thumbs-wrap > h4 {
    margin-top: 1em;
}

/* ────────────────────────────────────────────────────────────────────────
 * Global video loader (3.5.0). See same block in productvideoextraright.css
 * for the rationale. Loaded on PS 1.7+ (including PS 8 / PS 9).
 * ──────────────────────────────────────────────────────────────────────── */
.videoholder { position: relative; }
.pv-video-loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    z-index: 2;
    pointer-events: none;
    min-height: 120px;
    transition: opacity 0.3s ease, visibility 0.3s;
}
.pv-video-loader.is-hidden {
    opacity: 0;
    visibility: hidden;
}
.pv-video-loader__spinner {
    display: block;
    width: 56px;
    height: 56px;
    border: 5px solid rgba(0, 0, 0, 0.18);
    border-top-color: var(--pv-loader-color, #111111);
    border-radius: 50%;
    animation: pvSlideLoaderSpin 0.9s linear infinite;
    /* Subtle white halo so the spinner reads on both light and dark posters */
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.35);
}
@keyframes pvSlideLoaderSpin {
    to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
    .pv-video-loader__spinner { animation: none; opacity: 0.6; }
}
