.section-title {
    background-color: #f5f5f5;
    font-weight: bold;
}

.rotate-text-3 {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    white-space: nowrap;
    padding: 5px;
}

.rotate-text-4 {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    white-space: nowrap;
    padding: 5px;
}

.scale-legend {
    margin: 20px 0;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.scale-legend h4 {
    margin: 0 0 15px 0;
    color: #333;
    font-size: 1.1em;
}

.legend-items {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.legend-sample {
    width: 40px;
    height: 25px;
    border: 1px solid #ddd;
    border-radius: 4px;
    position: relative;
    background-color: var(--eti-orange);
}

.legend-sample.harmonic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(
        45deg,                              /* diagonale ↘ */
        rgb(242, 242, 242) 0%,                              /* début : blanc opaque */
        rgb(242, 242, 242) 25%,                          /* blanc jusqu’à 5px */
        rgba(255, 255, 255, 0.3) 25%,       /* puis blanc transparent */
        rgba(255, 255, 255, 0.3) 50%       /* jusqu’à 10px = bande semi-transparente */
    );

    background-size: 20px 20px;
}

.legend-sample.melodic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: repeating-linear-gradient(
        -45deg,                              /* diagonale ↘ */
        rgb(242, 242, 242) 0%,                              /* début : blanc opaque */
        rgb(242, 242, 242) 25%,                          /* blanc jusqu’à 5px */
        rgba(255, 255, 255, 0.3) 25%,       /* puis blanc transparent */
        rgba(255, 255, 255, 0.3) 50%       /* jusqu’à 10px = bande semi-transparente */
    );
    background-size: 20px 20px;
}

.legend-sample.natural.harmonic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(45deg, 
        rgba(255, 255, 255, 0.3) 25%, 
        transparent 25%, 
        transparent 50%, 
        rgba(255, 255, 255, 0.3) 50%, 
        rgba(255, 255, 255, 0.3) 75%, 
        transparent 75%, 
        transparent);
    background-size: 20px 20px;
}

.legend-sample.natural.melodic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(-45deg, 
        rgba(255, 255, 255, 0.3) 25%, 
        transparent 25%, 
        transparent 50%, 
        rgba(255, 255, 255, 0.3) 50%, 
        rgba(255, 255, 255, 0.3) 75%, 
        transparent 75%, 
        transparent);
    background-size: 20px 20px;
}

.legend-sample.harmonic.melodic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    background-image:
        repeating-linear-gradient(
            45deg,
            rgb(242, 242, 242) 0%,
            rgb(242, 242, 242) 25%,
            rgba(255, 255, 255, 0.3) 25%,
            rgba(255, 255, 255, 0.3) 50%
        ),
        repeating-linear-gradient(
            -45deg,
            rgb(242, 242, 242) 0%,
            rgb(242, 242, 242) 25%,
            rgba(255, 255, 255, 0.3) 25%,
            rgba(255, 255, 255, 0.3) 50%
        );

    background-size: 20px 20px;
}


.legend-sample.natural.harmonic.melodic::before {
    background-image: 
        linear-gradient(45deg, 
            rgba(255, 255, 255, 0.3) 25%, 
            transparent 25%, 
            transparent 50%, 
            rgba(255, 255, 255, 0.3) 50%, 
            rgba(255, 255, 255, 0.3) 75%, 
            transparent 75%, 
            transparent),
        linear-gradient(-45deg, 
            rgba(255, 255, 255, 0.3) 25%, 
            transparent 25%, 
            transparent 50%, 
            rgba(255, 255, 255, 0.3) 50%, 
            rgba(255, 255, 255, 0.3) 75%, 
            transparent 75%, 
            transparent);
    background-size: 20px 20px, 20px 20px;
}

.legend-item span {
    font-size: 0.9em;
    color: #555;
}


/* Styles pour les accords diatoniques */
.accord-cell {
    transition: all 0.3s ease;
    position: relative;
}

/* Style de base pour les accords diatoniques */
.accord-cell.diatonic {
    position: relative;
    z-index: 1;
}

/* Style pour les accords de la gamme mineure harmonique */
.accord-cell.harmonic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(45deg, 
        rgba(255, 255, 255, 0.3) 25%, 
        transparent 25%, 
        transparent 50%, 
        rgba(255, 255, 255, 0.3) 50%, 
        rgba(255, 255, 255, 0.3) 75%, 
        transparent 75%, 
        transparent);
    background-size: 20px 20px;
    z-index: -1;
}

/* Style pour les accords de la gamme mineure mélodique */
.accord-cell.melodic::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: linear-gradient(-45deg, 
        rgba(255, 255, 255, 0.3) 25%, 
        transparent 25%, 
        transparent 50%, 
        rgba(255, 255, 255, 0.3) 50%, 
        rgba(255, 255, 255, 0.3) 75%, 
        transparent 75%, 
        transparent);
    background-size: 20px 20px;
    z-index: -1;
}

.accord-cell.natural.harmonic::before {
    background-image: linear-gradient(45deg, 
        rgba(255, 255, 255, 0.3) 25%, 
        transparent 25%, 
        transparent 50%, 
        rgba(255, 255, 255, 0.3) 50%, 
        rgba(255, 255, 255, 0.3) 75%, 
        transparent 75%, 
        transparent);
}

.accord-cell.natural.melodic::before {
    background-image: repeating-linear-gradient(
        -45deg,
        rgb(242, 242, 242) 0%,
        rgb(242, 242, 242) 25%,
        rgba(255, 255, 255, 0.3) 25%,
        rgba(255, 255, 255, 0.3) 50%
    );
}

/* Style pour les accords appartenant aux deux gammes */
.accord-cell.harmonic.melodic::before {
    background-image:
    repeating-linear-gradient(
        45deg,
        rgb(242, 242, 242) 0%,
        rgb(242, 242, 242) 25%,
        rgba(255, 255, 255, 0.3) 25%,
        rgba(255, 255, 255, 0.3) 50%
    ),
    repeating-linear-gradient(
        -45deg,
        rgb(242, 242, 242) 0%,
        rgb(242, 242, 242) 25%,
        rgba(255, 255, 255, 0.3) 25%,
        rgba(255, 255, 255, 0.3) 50%
    );
    background-size: 20px 20px, 20px 20px;
}

.accord-cell.natural.harmonic.melodic::before {
    background-image: 
        linear-gradient(45deg, 
            rgba(255, 255, 255, 0.3) 25%, 
            transparent 25%, 
            transparent 50%, 
            rgba(255, 255, 255, 0.3) 50%, 
            rgba(255, 255, 255, 0.3) 75%, 
            transparent 75%, 
            transparent),
        linear-gradient(-45deg, 
            rgba(255, 255, 255, 0.3) 25%, 
            transparent 25%, 
            transparent 50%, 
            rgba(255, 255, 255, 0.3) 50%, 
            rgba(255, 255, 255, 0.3) 75%, 
            transparent 75%, 
            transparent);
}