   /* Base font */
        body {
            font-family: 'Inter', sans-serif;
        }
        html, body {
  overflow: hidden;
  height: 100%;
}
         input[type=number]::-webkit-outer-spin-button,
  input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  input[type=number] {
    -moz-appearance: textfield;
  }
#wizard{
overflow: hidden;
}
.step{
	overflow: auto;
	
}
.loading::after{
content: '...';
background-image: url('../media/images/loader.svg');
filter:invert();
margin-left: 4px;
background-size: 25px 25px;
width: 25px;
background-repeat: no-repeat;
color: rgba(0,0,0,0);
background-position-y: -1px;
float: right;
right: 0;
display: inline-block;

}
img{
	border-radius: 3px;
  overflow: hidden;
}
#loader{
	min-width:80px;
	max-width:90%;
	padding:10px;
	font-size:20px;
	position:absolute;
	left:50%;
	transform: translateX(-50%);
	top:20px;
	text-align:center;
	border: solid 2px rgba(255,255,255,0.5);
	border-radius: 20px;
	z-index:3000;
	background: #ccccccd4;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2px;
	margin-left: 0 !important;
}
#-loader::after{
	border:solid 1px #ffffff;
	width:100%;
	
content: ' ';
position: absolute;
left: 0%;
margin-top: 26px;
border-image: linear-gradient(to right,#0058ff00, white, #0058ff00) 1;
}

#loader img{
	
	width:50px;
	height:50px;
	display:inline-block;
	border-radius: 50px;
	box-shadow: 0px 10px 10px -10px #111;
margin: 2px;
	
}

.glass{
	display:inline-block;
}
.tooltip{
	position:absolute;
	z-index:5000;
	padding:5px;
	font-size:14px;
	border-radius: 3px;
	/*max-width:200px;*/
	background:#ffffff;	
	text-decoration: none;
	background: rgb(255, 255, 255);
	border:solid 1px rgba(0,0,0,0.1);
	transition: width 0.5s;
	pointer-events: none;
	color:#393939;
}
.tooltip .params{
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: 9px;
}
.tooltip .info{
	text-transform: uppercase;

	font-size: 9px;
	color:rgba(0,0,0,0.4);
	text-align: center;
	margin-top:5px;
}
.tooltip:after {
    content:'';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    width: 0;
    height: 0;
    border-top: solid 6px rgb(229, 229, 229);
    border-left: solid 6px transparent;
    border-right: solid 6px transparent;
   
}

        /* Hide scrollbar for Chrome, Safari and Opera */
        .no-scrollbar::-webkit-scrollbar {
            display: none;
        }

        /* Hide scrollbar for IE, Edge and Firefox */
        .no-scrollbar {
            -ms-overflow-style: none;
            /* IE and Edge */
            scrollbar-width: none;
            /* Firefox */
        }

        /* Custom radio button styles */
        input[type="radio"]:checked+label {
            border-color: #2563eb;
            /* blue-600 */
            box-shadow: 0 0 0 2px #bfdbfe;
            /* blue-200 */
        }

        /* Custom styles for interior visualization */
        .cabinetinterior {
            display: flex;
            height: 120px;
            border: 3px solid #9ca3af;
            /* gray-400 */
            background-color: #f3f4f6;
            /* gray-100 */
        }

        .middleblockwide,
        .middleblockacc {
            height: 100%;
            box-sizing: border-box;
            box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.2);
            /* Ensures border is inside */
        }

        .middleblockwide {
            background-color: #f3f4f6;
            box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
            /* gray-100 */
        }

        .middleblockacc {
            background-color: #d1d5db;
            /* gray-300 */
        }

        .rightborder {
            border-right: 3px solid #9ca3af;
            /* gray-400 */
        }
		#accessory-slots-container{
			height:200px;
		}
        /* Styles for accessory slot selection */
        #accessory-slots-container .cabinetinterior {
           height:100%;
        }

        #accessory-slots-container .middleblockwide,
        #accessory-slots-container .middleblockacc {
            cursor: pointer;
            transition: all 0.2s ease-in-out;
            position: relative;
            /* For text overlay */
        }

        #accessory-slots-container .middleblockwide:hover,
        #accessory-slots-container .middleblockacc:hover {
            background-color: #e5e7eb;
            /* gray-200 */
        }

        /* Style for selected accessory slot */
        .accessory-slot.selected {
            border: 2px solid #2563eb;
            /* blue-600 */
        }

        .accessory-slot-label {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            font-size: 10px;
            font-weight: 600;
            color: #2563eb;
            /* blue-600 */
            padding: 2px 4px;
            background-color: rgba(255, 255, 255, 0.7);
            border-radius: 4px;
            white-space: nowrap;
            margin-top: 10px;
        }
        
        /* Stepbar styles */
        #stepbar {
            transition: all 300ms ease-out;
        }

        @keyframes stepbar-glow {
            0% {
                box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.4);
                background-color: #16a34a;
            }
            50% {
                box-shadow: 0 0 8px 4px rgba(34, 197, 94, 0.2);
                background-color: #4ade80;
            }
            100% {
                box-shadow: 0 0 0 0 rgba(34, 197, 94, 0);
                background-color: #16a34a;
            }
        }

        #stepbar.glow-pulse {
            animation: stepbar-glow 0.4s ease-out;
        }

        /* Typewriter effect - hide intro until effect starts (disabled)
        [data-l10n="intro"] {
            visibility: hidden;
        }
        */

        #intro-wrapper {
            overflow: hidden;
            transition: height 0.15s ease-out;
            min-height: fit-content;
        }

        @media (max-width: 1023px) {
            #intro-wrapper {
                overflow: visible;
                height: auto !important;
            }
        }

        /* Step transition effects */
        @keyframes fadeOutFast {
            from { opacity: 1; }
            to { opacity: 0; }
        }

        @keyframes slideInRight {
            from {
                opacity: 0;
                transform: translateX(30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes slideInLeft {
            from {
                opacity: 0;
                transform: translateX(-30px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        .step.fade-out-fast {
            animation: fadeOutFast 0.1s ease-out forwards;
        }

        .step.slide-in-right {
            animation: slideInRight 0.2s ease-out forwards;
        }

        .step.slide-in-left {
            animation: slideInLeft 0.2s ease-out forwards;
        }

        /* Mobile layout: Full-screen height, split view */
        @media (max-width: 1023px) {
            body, html {
                height: 100%;
                overflow: hidden; /* Prevent body scroll */
            }
            #main-grid-mobile {
                display: flex;
                flex-direction: column;
                height: 100vh; /* Full viewport height */
            }
            #viewer-col-mobile {
                flex: 1; /* Takes up top half, can be adjusted */
                min-height: 200px; /* Minimum height for viewer */
            }
            #viewer-col-mobile #engine-mobile { /* Changed ID to be unique */
                height: 100% !important; /* Force engine to fill its container */
            }
            #form-col-mobile {
                flex: 1; /* Takes up bottom half */
                overflow-y: auto; /* Enable scrolling for the form area */
                background: white;
                display: flex;
                flex-direction: column;
            }
            #form-container-mobile {
                flex-grow: 1; /* Allows content to fill space */
            }
            /* Make nav sticky at the bottom of the form area */
            #mobile-nav-sticky {
                position: sticky;
                bottom: 0;
                background: white;
                border-top: 1px solid #e5e7eb; /* gray-200 */
            }
        }

/* ========================================
   PRO EDITOR - Compact Desktop Styles
   ======================================== */

/* Model UI container - collapsible panel */
#modelui {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    margin-bottom: 8px;
    overflow: hidden;
}

#modelui:empty {
    display: none;
}

#modelui .modelui-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 10px;
    background: #e2e8f0;
    cursor: pointer;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #475569;
}

#modelui .modelui-header:hover {
    background: #cbd5e1;
}

#modelui .modelui-icon {
    transition: transform 0.2s ease;
}

#modelui .modelui-icon.-rotate-180 {
    transform: rotate(-180deg);
}

#modelui .modelui-content {
    padding: 8px 10px;
}

#modelui .modelui-content > * {
    font-size: 13px;
}

/* Editor containers - compact spacing */
#editor-header-container {
    border-bottom: 1px solid #e2e8f0;
}

#editor-content-container {
    padding: 4px;
}

#editor-footer-container {
   /* padding: 8px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;*/
}

/* Group headers - compact */
#editor-content-container [data-group] > div:first-child {
    padding: 6px 10px !important;
    font-size: 11px;
}

#editor-content-container [data-group] > div:first-child h3 {
    font-size: 11px;
    letter-spacing: 0.05em;
}

/* Group content - compact */
#editor-content-container .group-content {
    padding: 4px 8px !important;
}

/* All editor input rows - compact */
#editor-content-container [data-index] {
    padding: 4px 6px !important;
    min-height: auto;
}

/* Labels - smaller */
#editor-content-container label {
    font-size: 12px;
}

/* Inputs - compact */
#editor-content-container input[type="number"],
#editor-content-container input[type="text"],
#editor-content-container select {
    padding: 3px 6px;
    font-size: 12px;
    height: auto;
    min-height: 26px;
}

#editor-content-container input[type="color"] {
    height: 24px !important;
    width: 60px !important;
}

/* Range sliders - compact */
#editor-content-container input[type="range"] {
    height: 4px;
}

/* Select dropdowns - compact */
#editor-content-container select {
    padding: 3px 24px 3px 8px;
    background-position: right 6px center;
    background-size: 12px;
}

/* Material/toggle grids - tighter */
#editor-content-container .grid {
    gap: 4px !important;
}

/* Toggle buttons - smaller */
#editor-content-container [data-index] button,
#editor-content-container .toggle-btn {
    padding: 4px 8px;
    font-size: 11px;
}

/* Material thumbnails - smaller */
#editor-content-container img[onclick*="setParam"] {
    width: 40px !important;
    height: 40px !important;
}


/* Scrollbar styling for editor */
#editor-content-container::-webkit-scrollbar {
    width: 6px;
}

#editor-content-container::-webkit-scrollbar-track {
    background: #f1f5f9;
}

#editor-content-container::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 3px;
}

#editor-content-container::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

