/* panels.css */
/* General styles for all panels and modules */

#icosmo-matrix-synth-container {
    --button-square-size: 30px;
    --button-square-size-small-osc: 22px;
}

/* === UNIFIED PANEL HEADER STYLING (for .module direct children) === */
#icosmo-matrix-synth-container .module > .control-group-heading.custom-heading-with-controls {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #4f4f4f;
    font-size: var(--font-size-module-title) !important;
    font-weight: bold !important;
    color: #f0f0f0 !important;
    text-align: left;
    min-height: 28px;
    flex-wrap: nowrap !important;
}
#icosmo-matrix-synth-container .module > .control-group-heading.custom-heading-with-controls > span:not(.osc-onoff-symbol-toggle):not(.osc-title-span):not(.osc-header-spacer) {
    flex-grow: 1;
    margin-right: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#icosmo-matrix-synth-container .module > .control-group-heading.custom-heading-with-controls .heading-controls-right {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    margin-left: auto;
}

/* === UNIFIED PANEL HEADER BUTTON STYLING === */
#icosmo-matrix-synth-container .panel-header-button {
    background-color: #4a4a4a;
    color: #bbb;
    border: 1px solid #3a3a3a;
    border-radius: 4px;
    padding: 0;
    font-family: Arial, sans-serif;
    font-weight: normal;
    text-align: center;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, transform 0.1s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 24px;
    min-width: 24px;
    line-height: 24px;
    margin: 0 !important;
    box-sizing: border-box;
    font-size: 1.0em;
    overflow: hidden;
}

#icosmo-matrix-synth-container .panel-header-button:hover {
    background-color: #5a5a5a;
    color: #fff;
}

#icosmo-matrix-synth-container .panel-header-button:active {
    background-color: #6a6a6a;
    transform: translateY(1px);
}

#icosmo-matrix-synth-container .panel-header-button.active {
    background-color: #e0e0e0 !important;
    color: #222222 !important;
    border-color: #c0c0c0 !important;
    box-shadow: inset 0 0 3px rgba(0,0,0,0.2);
}

/* Common styling for waveform symbols if needed across multiple panel types */
#icosmo-matrix-synth-container .waveform-symbol { display: inline-block; vertical-align: middle; }
#icosmo-matrix-synth-container .waveform-symbol-square { width: 1.2em; height: 1.2em; background-color: #bbb; } /* Default, active state might be in specific panel CSS */
#icosmo-matrix-synth-container .panel-header-button.active .waveform-symbol-square { background-color: #222222; }


/* General styling for fader + LFO mod combination */
#icosmo-matrix-synth-container .fader-label-lfo-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2px;
    min-height: 18px;
}
#icosmo-matrix-synth-container .fader-label-lfo-wrapper .control-group-label {
    margin-bottom: 0;
    padding-left: 0;
    text-transform: uppercase;
}
#icosmo-matrix-synth-container .fader-label-lfo-wrapper .lfo-mod-control {
    margin-top: 0;
    margin-right: -2px;
}

/* General styling for compact input rows used in multiple panels */
#icosmo-matrix-synth-container .input-row-compact {
    margin-top: 0;
    margin-bottom: 6px;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
}
#icosmo-matrix-synth-container .input-row-compact .inline-control-item {
    flex: 1 1 0px !important;
    min-width: 0 !important;
    display: flex;
    flex-direction: column;
}
#icosmo-matrix-synth-container .input-row-compact .inline-control-item input,
#icosmo-matrix-synth-container .input-row-compact .inline-control-item select {
    width: 100% !important;
    box-sizing: border-box;
}

/* Responsive adjustments for compact input rows if widely applicable */
@media (max-width: 600px) {
    /* Any general adjustments for compact rows on small screens */
}
