.vertical-video {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 1.5rem 0;
}

/* Phone body / device frame */
.vertical-video__phone {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 300px;
    padding: 1rem 0.8rem 1.4rem;
    background: #1b1b1f;
    border-radius: 2.5rem;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.28);
}

/* Notch / speaker detail in the top bezel */
.vertical-video__notch {
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 40%;
    height: 1.25rem;
    background: #1b1b1f;
    border-radius: 0 0 1rem 1rem;
    z-index: 2;
}

/* Screen: holds a 9:16 vertical video */
.vertical-video__screen {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: 1.6rem;
    background: #000;
}

.vertical-video__video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Brand-red circular play button (background comes from .bg-secondary) */
.vertical-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    padding: 0;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s ease;
    z-index: 3;
}

.vertical-video__play:hover,
.vertical-video__play:focus-visible {
    transform: translate(-50%, -50%) scale(1.06);
}

.vertical-video__play-icon {
    width: 1.75rem;
    height: 1.75rem;
    margin-left: 0.15rem; /* optical centering of the play triangle */
}
