/* Clapperboard Toggle Button */
.clapperboard-toggle {
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 9999;
    cursor: pointer;
}

.clapperboard-toggle.header-position {
    position: absolute;
    top: 20px;
    right: 20px;
}

.clapperboard {
    position: relative;
    width: var(--clapper-size, 60px);
    height: calc(var(--clapper-size, 60px) * 0.866);
}

.clapper-top {
    position: absolute;
    top: 0;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(var(--clapper-size, 60px) * 0.183);
    background: #000;
    border-radius: 2px 2px 0 0;
    transform: rotate(-15deg);
    transform-origin: left bottom;
    transition: transform 0.3s ease;
    z-index: 2;
}

.clapper-top::before,
.clapper-top::after {
    content: '';
    position: absolute;
    left: 2px;
    width: 2px;
    height: 2px;
    background: #fff;
    border-radius: 50%;
}

.clapper-top::before { top: 30%; }
.clapper-top::after { top: 60%; }

.clapper-body {
    position: absolute;
    top: calc(var(--clapper-size, 60px) * 0.15);
    left: 0;
    width: 100%;
    height: calc(var(--clapper-size, 60px) * 0.716);
    background: #000;
    border-radius: 2px;
    z-index: 1;
}

.info-lines {
    position: absolute;
    top: calc(var(--clapper-size, 60px) * 0.25);
    left: 4px;
    right: 4px;
    display: flex;
    flex-direction: column;
    gap: calc(var(--clapper-size, 60px) * 0.116);
}

.info-line {
    height: calc(var(--clapper-size, 60px) * 0.066);
    background: #fff;
    border-radius: 1px;
    transition: all 0.3s ease;
}

.hinge {
    position: absolute;
    left: 2px;
    top: calc(var(--clapper-size, 60px) * 0.15);
    width: 4px;
    height: 3px;
    background: #fff;
    border-radius: 1px;
    z-index: 3;
}

/* Menu Panel */
.clapperboard-menu {
    position: fixed;
    top: -100%;
    left: 0;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
    background: var(--menu-bg-color, #000000);
    z-index: 9998;
    transition: top 0.5s ease;
    padding: 80px 20px 20px;
}

.clapperboard-menu.active {
    top: 0;
}

.clapperboard-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.clapperboard-nav-menu li a {
    color: var(--menu-text-color, #ffffff);
    text-decoration: none;
    font-size: 18px;
    display: block;
    padding: 10px;
    transition: 0.3s;
}

.clapperboard-nav-menu li a:hover {
    opacity: 0.8;
}

/* Cross Animation */
.clapperboard.active .info-line.line-1 {
    transform: translateY(calc(var(--clapper-size, 60px) * 0.116)) rotate(45deg);
}

.clapperboard.active .info-line.line-2 {
    opacity: 0;
}

.clapperboard.active .info-line.line-3 {
    transform: translateY(calc(var(--clapper-size, 60px) * -0.116)) rotate(-45deg);
}