*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:#050505;color:white;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}

.topbar{position:fixed;top:0;left:0;width:100%;height:70px;display:flex;align-items:center;padding:0 45px;z-index:100;background:linear-gradient(to bottom,rgba(0,0,0,.95),rgba(0,0,0,0))}
.logo{font-size:24px;font-weight:900;color:#e50914;margin-right:45px}
.logo span{color:#e50914}
.topbar nav{display:flex;gap:25px}
.topbar nav a{color:#ddd;text-decoration:none;font-size:14px}
.topbar nav a:hover,.topbar nav a.active{color:white}
.profile{margin-left:auto}
.profile-circle{width:32px;height:32px;border-radius:5px;display:flex;align-items:center;justify-content:center;background:#c2185b;font-weight:bold}

.sidebar{position:fixed;left:0;top:0;width:70px;height:100vh;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.sidebar button{border:none;background:transparent;color:#aaa;font-size:25px;cursor:pointer}
.sidebar button:hover,.sidebar button.selected{color:white;transform:scale(1.15)}

.hero{height:720px;position:relative;overflow:hidden}
.hero-background{position:absolute;inset:0;background-image:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.95) 15%,rgba(5,5,5,.5) 45%,rgba(5,5,5,.1) 75%),linear-gradient(to top,#050505 0%,transparent 40%),url("assets/Clem_background.jpeg");background-size:cover;background-position:center 50%}
.hero-content{position:absolute;left:9%;top:190px;width:480px;z-index:2}
.birthday-title{width:520px;max-width:100%;height:auto;display:block;margin-bottom:25px;animation:floatingTitle 5s ease-in-out infinite}
.metadata{display:flex;gap:12px;align-items:center;color:#bbb;font-size:14px;margin-bottom:18px}
.quality{border:1px solid #777;padding:2px 5px;font-size:11px}
.hero p{color:#ddd;font-size:15px;line-height:1.5;max-width:440px;margin-bottom:25px}
.hero-buttons{display:flex;gap:10px}
.hero-buttons button{border:none;border-radius:4px;padding:12px 24px;font-size:15px;font-weight:bold;cursor:pointer;transition:.2s}
.watch-button{background:white;color:black}
.info-button{background:rgba(90,90,90,.75);color:white}
.hero-buttons button:hover{transform:scale(1.04)}

.content{position:relative;margin-top:-80px;z-index:5;padding-left:8%;padding-right:4%;padding-bottom:100px}
.content h2{font-size:20px;margin-bottom:14px;margin-top:45px}
.carousel{display:flex;gap:10px;overflow-x:auto;overflow-y:visible;padding:10px 0 30px;scrollbar-width:none}
.carousel::-webkit-scrollbar{display:none}
.card{flex:0 0 190px;cursor:pointer;position:relative;transition:transform .3s ease}
.card-image{height:270px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:70px;background:#222;overflow:hidden}
.card-title{margin-top:8px;color:#ccc;font-size:13px}
.card:hover{transform:scale(1.12);z-index:20}
.card-image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.bouquet{background:radial-gradient(circle at 50% 30%,#f9d5df,#8d435d 50%,#241217)}
.video{background:linear-gradient(135deg,#171717,#72263c);color:white}
.message{background:linear-gradient(135deg,#33101c,#d56c88)}
.memories{background:linear-gradient(135deg,#152b3c,#708fa5)}
.small-card{flex:0 0 240px;width:240px}
.small-card .card-image{width:240px;height:200px;overflow:hidden;border-radius:4px;background:#222}
.progress{width:240px;height:3px;background:#555;margin-top:5px}
.progress div{height:100%;background:#e50914}
@keyframes floatingTitle{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(-.4deg)}100%{transform:translateY(0) rotate(0)}}

.popup{position:fixed;inset:0;background:rgba(0,0,0,.8);display:none;align-items:center;justify-content:center;z-index:500}
.popup.show{display:flex}
.popup-content{width:min(600px,90%);background:#181818;border-radius:8px;padding:40px;position:relative;box-shadow:0 20px 80px rgba(0,0,0,.8)}
.popup-content h2{font-size:30px;margin-bottom:15px}
.popup-content p{color:#bbb;line-height:1.6}
.close{position:absolute;top:15px;right:20px;border:none;background:none;color:white;font-size:30px;cursor:pointer}

.video-player{position:fixed;inset:0;background:#000;z-index:99999;display:none;align-items:center;justify-content:center}
.video-player.active{display:flex}
.video-player video{width:100%;height:100%;object-fit:contain;background:#000}
.video-back{position:absolute;top:25px;left:30px;z-index:3;border:0;border-radius:50%;width:45px;height:45px;background:rgba(0,0,0,.6);color:white;font-size:38px;cursor:pointer}
.video-brand{position:absolute;top:34px;left:90px;z-index:3;color:#e50914;font-size:24px;font-weight:900;pointer-events:none}
.video-brand span{color:#e50914}
.video-title{position:absolute;top:39px;left:250px;z-index:3;color:#ddd;font-size:18px;pointer-events:none}

@media(max-width:700px){
.topbar{height:60px;padding:0 20px}
.logo{font-size:19px;margin-right:auto}
.topbar nav,.sidebar{display:none}
.profile{margin-left:15px}
.hero{height:650px}
.hero-background{background:linear-gradient(to bottom,rgba(0,0,0,.05) 20%,rgba(0,0,0,.65) 55%,#050505 90%),url("assets/Clem_background.jpeg");background-position:center}
.hero-content{left:20px;right:20px;width:auto;top:auto;bottom:55px;text-align:center}
.metadata{justify-content:center;font-size:12px}
.hero p{font-size:13px;margin-left:auto;margin-right:auto}
.hero-buttons{justify-content:center}
.content{padding-left:20px;margin-top:-20px}
.content h2{font-size:18px}
.card{flex-basis:140px}
.card-image{height:200px}
.small-card{flex:0 0 200px;width:200px}
.small-card .card-image{width:200px;height:112px}
.progress{width:200px}
.video-brand{top:20px;left:75px;font-size:19px}
.video-title{top:24px;left:180px;font-size:13px}
.video-back{top:15px;left:15px}
}

/* =========================================================
   CLEMFLIX — VIDEO PLAYER
   INTERFACE STYLE NETFLIX
========================================================= */

.video-player {
    position: fixed !important;
    inset: 0 !important;

    width: 100vw !important;
    height: 100vh !important;

    background: #000 !important;

    z-index: 99999 !important;

    display: none !important;

    overflow: hidden;

    opacity: 0;

    transition: opacity 0.25s ease;
}

.video-player.active {
    display: block !important;
    opacity: 1;
}


/* =========================================================
   VIDEO
========================================================= */

.video-player video {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: contain;

    background: #000;
}


/* =========================================================
   OVERLAY
========================================================= */

.video-overlay {
    position: absolute;

    inset: 0;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    pointer-events: none;

    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,0.65) 0%,
            rgba(0,0,0,0) 18%,
            rgba(0,0,0,0) 68%,
            rgba(0,0,0,0.88) 100%
        );

    opacity: 1;

    transition:
        opacity 0.35s ease;
}


/* =========================================================
   TOP
========================================================= */

.video-top {
    display: flex;

    align-items: center;
    justify-content: space-between;

    padding: 24px 28px;

    pointer-events: auto;
}


.video-back,
.video-icon {
    border: none;

    background: transparent;

    color: white;

    padding: 4px;

    cursor: pointer;

    opacity: 0.82;

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

.video-back:hover,
.video-icon:hover {
    opacity: 1;

    transform: scale(1.08);
}


.video-back svg {
    width: 34px;
    height: 34px;

    fill: none;

    stroke: white;

    stroke-width: 2;
}


.video-icon svg {
    width: 31px;
    height: 31px;

    fill: none;

    stroke: white;

    stroke-width: 1.8;
}


/* =========================================================
   BOTTOM
========================================================= */

.video-bottom {
    width: 100%;

    padding:
        0
        28px
        25px;

    pointer-events: auto;
}


/* =========================================================
   PROGRESS BAR
========================================================= */

.video-progress-container {
    position: relative;

    width: 100%;

    height: 4px;

    margin-bottom: 13px;

    background: rgba(255,255,255,0.45);

    border-radius: 3px;

    cursor: pointer;
}


#video-progress {
    position: absolute;

    left: 0;
    top: 0;

    height: 100%;

    width: 0%;

    background: #e50914;

    border-radius: 3px;
}


#video-progress-dot {
    position: absolute;

    top: 50%;
    left: 0%;

    width: 13px;
    height: 13px;

    transform:
        translate(-50%, -50%);

    border-radius: 50%;

    background: #e50914;

    opacity: 0;

    transition: opacity 0.15s ease;
}


.video-progress-container:hover {
    height: 6px;
}

.video-progress-container:hover #video-progress-dot {
    opacity: 1;
}


/* =========================================================
   CONTROLS
========================================================= */

.video-controls {
    display: flex;

    align-items: center;

    width: 100%;

    min-height: 38px;
}


.controls-left,
.controls-right {
    display: flex;

    align-items: center;

    gap: 16px;
}


.controls-left {
    flex: 1;
}


.controls-right {
    flex: 1;

    justify-content: flex-end;
}


/* =========================================================
   BUTTONS
========================================================= */

.video-control {
    width: 31px;
    height: 31px;

    padding: 3px;

    border: none;

    background: transparent;

    color: white;

    cursor: pointer;

    display: flex;

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

    opacity: 0.94;

    transition:
        transform 0.15s ease,
        opacity 0.15s ease;
}

.video-control:hover {
    transform: scale(1.12);

    opacity: 1;
}


.video-control svg {
    width: 27px;
    height: 27px;

    fill: none;

    stroke: white;

    stroke-width: 1.8;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* PLAY */

#play-pause .icon-play {
    display: block;

    fill: white;

    stroke: none;
}

#play-pause .icon-pause {
    display: none;
}

#play-pause.playing .icon-play {
    display: none;
}

#play-pause.playing .icon-pause {
    display: block;
}


/* =========================================================
   SKIP 10
========================================================= */

.skip-button svg {
    width: 34px;
    height: 34px;
}

.skip-button text {
    fill: white;

    stroke: none;

    font-size: 8px;

    font-family: Arial, sans-serif;

    font-weight: bold;

    text-anchor: middle;
}


/* =========================================================
   VOLUME
========================================================= */

.volume-on {
    display: block;
}

.volume-off {
    display: none;
}

.muted .volume-on {
    display: none;
}

.muted .volume-off {
    display: block;
}


#volume-slider {
    width: 85px;

    height: 4px;

    appearance: none;

    background: rgba(255,255,255,0.5);

    border-radius: 4px;

    cursor: pointer;
}


#volume-slider::-webkit-slider-thumb {
    appearance: none;

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: white;

    cursor: pointer;
}

#volume-slider::-moz-range-thumb {
    width: 10px;
    height: 10px;

    border: none;

    border-radius: 50%;

    background: white;

    cursor: pointer;
}


/* =========================================================
   TIME
========================================================= */

.video-time {
    display: flex;

    align-items: center;

    gap: 5px;

    color: #ddd;

    font-size: 13px;

    white-space: nowrap;
}

.time-separator {
    color: #777;
}


/* =========================================================
   TITLE
========================================================= */

.video-episode-title {
    position: absolute;

    left: 50%;

    transform: translateX(-50%);

    color: #eee;

    font-size: 15px;

    font-weight: 400;

    white-space: nowrap;
}

.video-episode-title span {
    color: #aaa;

    margin-left: 5px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 700px) {

    .video-top {
        padding: 18px;
    }

    .video-back svg {
        width: 29px;
        height: 29px;
    }

    .video-icon svg {
        width: 27px;
        height: 27px;
    }

    .video-bottom {
        padding:
            0
            14px
            16px;
    }

    .video-controls {
        min-height: 34px;
    }

    .controls-left,
    .controls-right {
        gap: 8px;
    }

    .video-control {
        width: 27px;
        height: 27px;
    }

    .video-control svg {
        width: 24px;
        height: 24px;
    }

    #volume-slider {
        display: none;
    }

    .video-time {
        font-size: 11px;
    }

    .video-episode-title {
        display: none;
    }

}

/* =========================================
   TRANSITION BUNCH OF FLOWERS
========================================= */

body {
    transition:
        opacity 0.55s ease,
        transform 0.55s ease;
}

body.flowers-transition {
    opacity: 0;
    transform: scale(1.025);
}
