body { background-color: #f8f9fa; /* Light background for the body */ color: #333; height: 100vh; display: flex; align-items: center; /* Center vertically */ justify-content: center; /* Center horizontally */ position: relative; /* For absolute positioning of content */ } #container { background-color: rgba(255, 255, 255, 0.9); /* White background with transparency */ border-radius: 10px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); /* Shadow for depth */ overflow: hidden; /* Prevent overflow of inner elements */ display: flex; width: 90%; /* Container width */ max-width: 1200px; /* Maximum width */ height: 80%; /* Container height */ } #bracelet-preview-container { display: flex; justify-content: center; align-items: center; position: relative; flex: 2; /* Adjusted to take more space */ border: 2px solid #ccc; /* Square box around the bracelet */ border-radius: 10px; /* Rounded corners */ overflow: hidden; /* Prevent overflow of bracelet preview */ background-image: url('bg.jpg'); /* Background image inside the box */ background-size: cover; /* Cover the entire area */ background-position: center; /* Center the background image */ } #bracelet-preview { position: relative; width: 100%; /* Full width of the container */ height: 100%; /* Full height of the container */ } #bracelet-builder { padding: 20px; height: 100%; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; flex: 1; background-color: white; /* Solid background for options */ } h1 { font-size: 24px; margin-bottom: 20px; color: #2E8B57; /* Green color for the title */ } .size-options { display: flex; /* Align options in a row */ justify-content: space-around; /* Space out the options */ gap: 10px; /* Gap between the boxes */ margin-bottom: 20px; /* Space below size options */ } .size-option { display: flex; /* Flexbox for alignment */ align-items: center; /* Center the label vertically */ justify-content: center; /* Center content */ border: 2px solid #ccc; /* Default border */ border-radius: 8px; /* Rounded corners */ padding: 5px; /* Space inside the box */ cursor: pointer; /* Pointer cursor on hover */ transition: border-color 0.3s, box-shadow 0.3s; /* Smooth transition */ width: 60px; /* Width of the box */ height: 40px; /* Height of the box */ text-align: center; /* Center text */ } /* Hide the radio button */ .size-option input[type="radio"] { display: none; } /* Style for the label */ .size-option label { cursor: pointer; margin: 0; /* Remove margin */ font-size: 12px; /* Smaller font size */ color: #333; /* Label color */ font-weight: bold; /* Bold text for visibility */ width: 100%; /* Full width to fill the box */ height: 100%; /* Full height to fill the box */ display: flex; /* Use flexbox to align items */ align-items: center; /* Center text vertically */ justify-content: center; /* Center text horizontally */ } /* Hover effect */ .size-option:hover { border-color: #4CAF50; /* Change border color on hover */ } /* Selected button styles */ .size-option input[type="radio"]:checked + label { color: #4CAF50; /* Change text color to green when selected */ } /* Change outer border when selected */ .size-option input[type="radio"]:checked { border-color: #4CAF50; /* Change border to green when selected */ } .color-options { display: flex; flex-wrap: wrap; /* Allow items to wrap to the next line */ margin-top: 0px; } .color-option { cursor: pointer; border: 1px solid #ccc; /* Light border for separation */ border-radius: 50%; /* Makes it circular */ overflow: hidden; /* Ensure image doesn't overflow */ transition: box-shadow 0.2s ease; /* Smooth shadow effect on hover */ width: 50px; /* Adjust size as needed */ height: 50px; /* Adjust size as needed */ margin: 5px; } .color-option:hover { box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Shadow on hover */ } /* Glow effect for the selected texture */ .color-option.selected { box-shadow: 0 0 10px rgba(50, 205, 50, 1), 0 0 20px rgba(50, 205, 50, 0.5); /* Green glow */ border: 1px solid #32cd32; /* Green border */ } .bead { display: inline-block; border-radius: 50%; position: absolute; border: 1px solid #ccc; background-size: cover; /* Keep texture effect */ background-position: center; /* Center the texture */ transition: transform 0.2s; /* Smooth transition for rotation */ } .price { font-size: 20px; margin: 20px 0; color: #2E8B57; /* Green color for price */ } .order-button { margin-top: auto; /* Push to the bottom */ padding: 12px 20px; background-color: #2E8B57; color: white; border: none; border-radius: 4px; cursor: pointer; transition: background-color 0.3s; /* Smooth background transition */ } .order-button:hover { background-color: #2b7f4e; } /* Slider Styles */ .slider-container { display: flex; flex-direction: column; align-items: center; /* Center the label and slider */ margin: 20px 0; /* Add space around the slider */ } .slider-label { font-size: 18px; /* Label font size */ margin-bottom: 10px; /* Space between label and slider */ color: #333; /* Label color */ } .slider { -webkit-appearance: none; /* Override default styles */ width: 100%; /* Full width */ height: 8px; /* Slider height */ background: #ddd; /* Background color of the track */ border-radius: 5px; /* Rounded edges */ outline: none; /* Remove outline */ opacity: 0.8; /* Slightly transparent */ transition: opacity 0.2s; /* Smooth transition */ } .slider:hover { opacity: 1; /* Full opacity on hover */ } .slider::-webkit-slider-thumb { -webkit-appearance: none; /* Override default styles */ appearance: none; /* Override default styles */ width: 20px; /* Thumb width */ height: 20px; /* Thumb height */ border-radius: 50%; /* Rounded thumb */ background: #4CAF50; /* Thumb color */ cursor: pointer; /* Pointer cursor */ } .slider::-moz-range-thumb { width: 20px; /* Thumb width */ height: 20px; /* Thumb height */ border-radius: 50%; /* Rounded thumb */ background: #4CAF50; /* Thumb color */ cursor: pointer; /* Pointer cursor */ } .slider::-ms-thumb { width: 20px; /* Thumb width */ height: 20px; /* Thumb height */ border-radius: 50%; /* Rounded thumb */ background: #4CAF50; /* Thumb color */ cursor: pointer; /* Pointer cursor */ } .slider::-webkit-slider-runnable-track { border-radius: 5px; /* Rounded edges */ } .slider::-moz-range-track { border-radius: 5px; /* Rounded edges */ } .slider::-ms-track { border-radius: 5px; /* Rounded edges */ background: transparent; /* Background for the track */ height: 8px; /* Slider height */ } .texture-image { width: 50px; /* Width of the texture image */ height: 50px; /* Height of the texture image */ object-fit: cover; /* Maintain aspect ratio */ } .color-options { display: flex; /* Use flexbox for category buttons */ justify-content: center; /* Center buttons */ margin-bottom: 20px; /* Space below the buttons */ } .bead-options-container { display: grid; /* Use grid layout for beads */ grid-template-columns: repeat(3, 1fr); /* 3 columns */ gap: 10px; /* Space between options */ width: 100%; /* Full width for beads */ margin-top: 10px; /* Space from the buttons */ } /* Ensure category buttons are styled appropriately */ .tab-button { background-color: #fff; /* Light background color */ border: 2px solid #ccc; /* Default border */ border-radius: 8px; /* Rounded corners */ padding: 8px 12px; /* Reduced space inside the button */ margin: 3px; /* Reduced space between buttons */ cursor: pointer; /* Pointer cursor on hover */ font-size: 12px; /* Smaller font size */ font-weight: bold; /* Bold text */ transition: background-color 0.3s, border-color 0.3s, box-shadow 0.3s; /* Smooth transition */ text-align: center; /* Center text */ white-space: nowrap; /* Prevent text from wrapping */ } /* Hover effect */ .tab-button:hover { background-color: #fff; /* Darker background on hover */ border-color: #4CAF50; /* Border color on hover */ box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Shadow effect on hover */ } /* Active/Selected tab styles */ .tab-button.active { background-color: #4CAF50; /* Green background for active tab */ color: white; /* White text for visibility */ border-color: #4CAF50; /* Matching border color */ } /* Optional: Focus styles for accessibility */ .tab-button:focus { outline: none; /* Remove default outline */ border-color: #4CAF50; /* Green border on focus */ box-shadow: 0 0 5px rgba(76, 175, 80, 0.5); /* Shadow on focus */ } .options-container { display: grid; grid-template-columns: repeat(3, 1fr); /* Create three equal columns */ gap: 10px; /* Space between grid items */ } .color-option { text-align: center; /* Center the image inside the color-option div */ } #container { display: flex; /* Arrange children in a row */ } #bracelet-preview-container { flex: 1; /* Allow the preview container to take up space */ } #bracelet-builder { flex: 1; /* Allow the builder container to take up space */ max-height: 100%; /* Set a maximum height */ max-width: 40%; /* Set a maximum width */ overflow-y: auto; /* Enable vertical scrolling */ border-left: 1px solid #ccc; /* Optional: Add a border for separation */ background-color: #f0f0f0; /* Light grey background color */ } .options-container { display: flex; padding-left: 10px; flex-wrap: wrap; /* Wrap items to new lines */ gap: 5px; /* Add space between items */ margin-bottom: 20px; /* Space below options */ }