/* CM UI FSE Panel  Shared Styles for Border, Padding, and Margin Controls */

/* Shared label styling */
.cm-border-label,
.cm-padding-label,
.cm-margin-label,
.cm-background-label {
    font-size: 11px;
    font-weight: 600;
    color: #666;
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Shared visual box container */
.cm-visual-box {
    position: relative;
    width: 50px;
    height: 50px;
    border: 2px dashed #ddd;
    margin: 0 auto;
}

/* Shared side indicators */
.cm-visual-box .cm-side-indicator {
    position: absolute;
    cursor: pointer;
    border-radius: 2px;
    transition: background-color 0.15s ease;
}

.cm-visual-box .cm-side-indicator:hover {
    opacity: 0.8;
}

.cm-visual-box .cm-side-indicator.active {
    background-color: #007cba;
}

.cm-visual-box .cm-side-indicator.inactive {
    background-color: #ddd;
}

/* Side indicator positioning */
.cm-visual-box .cm-side-top {
    top: -3px;
    left: 25%;
    width: 50%;
    height: 4px;
}

.cm-visual-box .cm-side-right {
    top: 25%;
    right: -3px;
    width: 4px;
    height: 50%;
}

.cm-visual-box .cm-side-bottom {
    bottom: -3px;
    left: 25%;
    width: 50%;
    height: 4px;
}

.cm-visual-box .cm-side-left {
    top: 25%;
    left: -3px;
    width: 4px;
    height: 50%;
}

/* Shared value section layout */
.cm-value-row {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    width: 100%;
}

/* Range control wrapper - takes most of the width */
.cm-value-range-wrapper {
    flex: 1;
    min-width: 0; /* Allow flex item to shrink */
}

/* Custom numeric display - positioned between slider and unit selector */
.cm-value-numeric-display {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    color: #333;
}

/* Unit selector wrapper - compact width */
.cm-value-unit-wrapper {
    flex: 0 0 auto;
    width: 65px;
}

/* Remove default margins from range control */
.cm-value-range-wrapper .components-range-control {
    margin-bottom: 0;
}

/* Ensure the RangeControl slider track is always visible */
.cm-value-range-wrapper .components-range-control__track {
    background: #ddd !important;
    height: 4px !important;
    border-radius: 2px;
    position: relative;
}

/* Style the filled portion of the track */
.cm-value-range-wrapper .components-range-control__rail {
    background: #007cba !important;
    height: 4px !important;
    border-radius: 2px;
}

/* Style the thumb/handle */
.cm-value-range-wrapper .components-range-control__thumb {
    background: #007cba !important;
    border: 2px solid #fff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
    width: 18px !important;
    height: 18px !important;
}

/* Fix SelectControl alignment and remove margins */
.cm-value-unit-wrapper .components-select-control {
    margin-bottom: 0;
}

.cm-value-unit-wrapper .components-select-control .components-select-control__input {
    margin-bottom: 0;
    height: 36px; /* Match typical input height */
    font-size: 13px;
}

/* Ensure proper baseline alignment */
.cm-value-range-wrapper .components-base-control,
.cm-value-unit-wrapper .components-base-control {
    margin-bottom: 0;
}

/* Override any WordPress default margins that might interfere */
.cm-value-row .components-base-control__field {
    margin-bottom: 0;
}

/* All visual boxes have identical transparent background */
.cm-visual-box {
    background-color: transparent;
}

/* Shared color picker styles */
.cm-color-preview-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cm-color-clickable-area {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
    cursor: pointer;
    padding: 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    transition: border-color 0.15s ease;
}

.cm-color-clickable-area:hover {
    border-color: #007cba;
}

.cm-color-square {
    width: 24px;
    height: 24px;
    border-radius: 3px;
    border: 1px solid #ddd;
    flex-shrink: 0;
}

.cm-color-code {
    font-family: monospace;
    font-size: 12px;
    color: #333;
    font-weight: 500;
}

.cm-color-clear-link {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    fontSize: 12px;
    color: #007cba;
    text-decoration: underline;
}

.cm-color-clear-link:hover {
    color: #005a87;
}

.cm-color-palette-wrapper {
    margin-top: 8px;
}

/* Make color palette dots smaller and more compact */
.cm-color-palette-small .components-color-palette__item {
    width: 20px !important;
    height: 20px !important;
    margin: 2px !important;
}

.cm-color-palette-small .components-color-palette__item-wrapper {
    width: 20px !important;
    height: 20px !important;
}

.cm-color-palette-small .components-color-palette__custom-color {
    width: 20px !important;
    height: 20px !important;
}

/* ================================================================ */
/* WORDPRESS CORE CONTROL HIDING - Force hide any remaining WP controls */
/* ================================================================ */

/* Hide WordPress default style panels that might still appear */
.block-editor-inspector-controls .components-panel__body[aria-label*="Color"],
.block-editor-inspector-controls .components-panel__body[aria-label*="Border"],
.block-editor-inspector-controls .components-panel__body[aria-label*="Spacing"],
.block-editor-inspector-controls .components-panel__body[aria-label*="Dimensions"] {
    display: none !important;
}

/* Hide specific WordPress control sections by title */
.block-editor-inspector-controls .components-panel__body .components-panel__body-title:contains("Color"),
.block-editor-inspector-controls .components-panel__body .components-panel__body-title:contains("Border"),
.block-editor-inspector-controls .components-panel__body .components-panel__body-title:contains("Spacing"),
.block-editor-inspector-controls .components-panel__body .components-panel__body-title:contains("Dimensions") {
    display: none !important;
}

/* Hide WordPress color controls by class */
.block-editor-inspector-controls .block-editor-color-gradient-control,
.block-editor-inspector-controls .block-editor-panel-color-gradient-settings,
.block-editor-inspector-controls .components-color-palette,
.block-editor-inspector-controls .wp-block-color-gradient-control {
    display: none !important;
}

/* Hide WordPress border controls */
.block-editor-inspector-controls .components-border-control,
.block-editor-inspector-controls .block-editor-border-control {
    display: none !important;
}

/* Hide WordPress spacing controls */
.block-editor-inspector-controls .components-box-control,
.block-editor-inspector-controls .block-editor-spacing-control {
    display: none !important;
}

/* Hide any remaining WordPress style controls in the Styles tab */
.block-editor-inspector-controls .block-editor-inspector-controls-tabs__tab-content .components-panel__body:not([class*="cm-"]) {
    display: none !important;
}

/* Ensure our custom controls are always visible */
.block-editor-inspector-controls .components-panel__body[class*="cm-"],
.block-editor-inspector-controls .components-panel__body .cm-border-control,
.block-editor-inspector-controls .components-panel__body .cm-padding-control,
.block-editor-inspector-controls .components-panel__body .cm-margin-control,
.block-editor-inspector-controls .components-panel__body .cm-background-control,
.block-editor-inspector-controls .components-panel__body .cm-color-control {
    display: block !important;
}