.tr-video-ad-player-slot {
    position: relative;
    width: 100%;
    min-height: 1px;
}

.tr-video-ad-player {
    position: relative;
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
}

.tr-video-ad-player[hidden] {
    display: none;
}

.tr-video-ad-player__inner {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: #000;
    border-radius: 8px;
}

/* Video and Google IMA container */

.tr-video-ad-player__video,
.tr-video-ad-player__ad-container {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;
}

.tr-video-ad-player__video {
    z-index: 1;

    display: block;

    object-fit: contain;
    background: #000;
}

.tr-video-ad-player__ad-container {
    z-index: 10;
    pointer-events: auto;
}

.tr-video-ad-player__ad-container iframe {
    display: block;

    width: 100% !important;
    height: 100% !important;

    pointer-events: auto;
}

/*
 * This element no longer creates a full-size layer
 * over the Google IMA iframe.
 */
.tr-video-ad-player__controls {
    position: static;

    width: 0;
    height: 0;

    pointer-events: none;
}

/* Advertisement label */

.tr-video-ad-player__ad-label {
    position: absolute;
    top: 6px;
    left: 8px;
    z-index: 30;

    padding: 2px 5px;

    border: 0;
    border-radius: 2px;

    background: rgba(0, 0, 0, 0.5);
    color: rgba(255, 255, 255, 0.95);

    font-size: 9px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.1px;

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;
}

.tr-video-ad-player:hover
    .tr-video-ad-player__ad-label,
.tr-video-ad-player:focus-within
    .tr-video-ad-player__ad-label,
.tr-video-ad-player.is-paused
    .tr-video-ad-player__ad-label {
    opacity: 1;
    visibility: visible;
}

/* Bottom controls */

.tr-video-ad-player__controls-row {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 30;

    display: flex;
    align-items: center;
    gap: 8px;

    min-height: 44px;
    padding: 10px 12px 8px;

    opacity: 0;
    visibility: hidden;

    /*
     * The bar itself does not intercept clicks.
     * Only its buttons do.
     */
    pointer-events: none;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.82) 0%,
        rgba(0, 0, 0, 0.38) 58%,
        rgba(0, 0, 0, 0) 100%
    );

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease;
}

.tr-video-ad-player:hover
    .tr-video-ad-player__controls-row,
.tr-video-ad-player:focus-within
    .tr-video-ad-player__controls-row,
.tr-video-ad-player.is-paused
    .tr-video-ad-player__controls-row {
    opacity: 1;
    visibility: visible;
}

/* Only buttons intercept clicks */

.tr-video-ad-player__control,
.tr-video-ad-player__skip,
.tr-video-ad-player__close {
    pointer-events: auto;
}

/* Generic control */

.tr-video-ad-player__control {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 auto;

    width: 30px;
    height: 30px;
    padding: 0;

    border: 0;
    border-radius: 50%;

    background: transparent;
    color: #fff;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        transform 0.2s ease;
}

.tr-video-ad-player__control:hover,
.tr-video-ad-player__control:focus-visible {
    background: rgba(255, 255, 255, 0.16);
}

.tr-video-ad-player__control:active {
    transform: scale(0.94);
}

.tr-video-ad-player__control svg {
    display: block;

    width: 19px;
    height: 19px;
}

/* Play / Pause */

.tr-video-ad-player__icon-play {
    display: none;
}

.tr-video-ad-player__icon-pause {
    display: block;
}

.tr-video-ad-player.is-paused
    .tr-video-ad-player__icon-play {
    display: block;
}

.tr-video-ad-player.is-paused
    .tr-video-ad-player__icon-pause {
    display: none;
}

/* Time */

.tr-video-ad-player__time {
    flex: 0 0 auto;

    min-width: 42px;

    color: #fff;

    font-size: 13px;
    font-variant-numeric: tabular-nums;
    line-height: 1;

    pointer-events: none;
}

/* Skip */

.tr-video-ad-player__skip {
    flex: 0 0 auto;

    min-height: 32px;
    margin-left: auto;
    padding: 0 12px;

    border: 1px solid rgba(255, 255, 255, 0.7);
    border-radius: 3px;

    background: rgba(0, 0, 0, 0.68);
    color: #fff;

    font: inherit;
    font-size: 13px;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.tr-video-ad-player__skip:hover,
.tr-video-ad-player__skip:focus-visible {
    background: rgba(0, 0, 0, 0.9);
    border-color: #fff;
}

.tr-video-ad-player__skip[hidden] {
    display: none;
}

/* Mute */

.tr-video-ad-player__mute-icon {
    display: block;

    width: 19px;
    height: 19px;
}

.tr-video-ad-player__mute:not(.is-muted)
    .tr-video-ad-player__mute-slash {
    display: none;
}

/* Fullscreen */

.tr-video-ad-player__fullscreen {
    margin-left: 0;
}

/* Close */

.tr-video-ad-player__close {
    position: absolute;
    top: 29px;
    right: 8px;
    z-index: 40;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 26px;
    height: 26px;
    padding: 0;

    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;

    background: rgba(0, 0, 0, 0.62);
    color: #fff;

    cursor: pointer;

    opacity: 0;
    visibility: hidden;

    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.32);

    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease;
}

.tr-video-ad-player:hover
    .tr-video-ad-player__close,
.tr-video-ad-player:focus-within
    .tr-video-ad-player__close,
.tr-video-ad-player.is-paused
    .tr-video-ad-player__close {
    opacity: 1;
    visibility: visible;
}

.tr-video-ad-player__close:hover,
.tr-video-ad-player__close:focus-visible {
    background: rgba(0, 0, 0, 0.86);
    border-color: rgba(255, 255, 255, 0.6);

    transform: scale(1.06);
}

.tr-video-ad-player__close:active {
    transform: scale(0.96);
}

.tr-video-ad-player__close-icon {
    display: block;

    width: 14px;
    height: 14px;
}

/* Mobile */

@media (max-width: 767px) {
    .tr-video-ad-player__ad-label,
    .tr-video-ad-player__controls-row {
        opacity: 1;
        visibility: visible;
    }

    .tr-video-ad-player__ad-label {
        top: 5px;
        left: 7px;

        padding: 2px 4px;

        font-size: 9px;
    }

    .tr-video-ad-player__controls-row {
        gap: 5px;

        min-height: 42px;
        padding: 9px 9px 7px;
    }

    .tr-video-ad-player__control {
        width: 28px;
        height: 28px;
    }

    .tr-video-ad-player__control svg {
        width: 17px;
        height: 17px;
    }

    .tr-video-ad-player__time {
        min-width: 38px;

        font-size: 12px;
    }

    .tr-video-ad-player__skip {
        min-height: 29px;
        padding: 0 9px;

        font-size: 12px;
    }

    .tr-video-ad-player__close {
        top: 28px;
        right: 7px;

        width: 25px;
        height: 25px;

        opacity: 1;
        visibility: visible;
    }

    .tr-video-ad-player__close-icon {
        width: 13px;
        height: 13px;
    }
}