body {
    margin: 0px;
    overflow: hidden;
}

#v3d-container {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

.scene-button {
    position: absolute;
    width: 50px;
    height: 50px;
    cursor: pointer;
    background-size: 100% 100%;
    z-index: 1;
}

.fullscreen-button {
    top: 5px;
    left: 5px;
    display: block;
}

.fullscreen-open {
    background-image: url('media/fullscreen_open.svg');
}

.fullscreen-close {
    background-image: url('media/fullscreen_close.svg');
}

.screenshot-button {
    background-image: url('media/screenshot.svg');
    top: 5px;
    right: 5px;
    display: block;
}

.watchcase-button {
    bottom: 5px;
    right: 5px;
}

.watchcase-button.active {
    background-image: url('media/watch_case_active.svg');
}

.watchcase-button:not(.active) {
    background-image: url('media/watch_case_inactive.svg');
}

.watchcase-popup {
    position: absolute;
    bottom: 60px;
    right: 5px;
    width: 340px;
    padding: 1rem;
    background-color: #f4eadc;
    border-radius: 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: none;
    z-index: 1;
}

.watchcase-popup.visible {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.watchcase-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.watchcase-title {
    padding-left: 0.5rem;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0;
    color: #404040;
}

.watchcase-checkbox {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 100%;
    letter-spacing: 0;
    color: #000000;

    display: flex;
    align-items: center;
    gap: 0.5rem;
}



.watchcase-checkbox input[type="checkbox"] {
    display: none;
}

.custom-checkmark {
    display: inline-block;
    cursor: pointer;
    width: 1.375rem;
    height: 1.375rem;
    background-color: #be6d2d;
    border-radius: 50%;
    transition: background-color 0.2s ease;
    position: relative;
}

input[type='checkbox']:checked+.custom-checkmark {
    background-color: #be6d2d;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='12' height='12' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M3 8L6 11L13 4' stroke='white' stroke-width='2' stroke-linecap='round'/%3e%3c/svg%3e");
    background-size: 0.75rem 0.75rem;
    background-position: center;
    background-repeat: no-repeat;
}

.watchcase-shape {
    width: 40px;
    height: 40px;
    padding: 0.5rem;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    background-color: #f0f0f0;
    transition: border 0.2s;
}

.watchcase-shape.active {
    box-shadow: 0 0 0 2px #be6d2d;
}

.watchcase-shape:hover:not(.active) {
    box-shadow: 0 0 0 2px #FFFFFF3D;
}

.watchcase-shape[data-shape="round"] {
    background-image: url('media/watchcase_round.svg');
}

#shape-omega {
    padding: 18px;
    background-size: 24px 24px;
}

.watchcase-shape[data-shape="omega"] {
    background-image: url('media/watchcase_omega.svg');
}

.watchcase-shape[data-shape="square"] {
    background-image: url('media/watchcase_square.svg');
}

.watchcase-shape[data-shape="barrel"] {
    background-image: url('media/watchcase_barrel.svg');
}

.watchcase-section.shapes,
.watchcase-section.materials,
.watchcase-section.faces {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-start;
    align-content: flex-start;
    width: 100%;
}

.watchcase-section.shapes {
    padding-left: 0.5rem;
}


.square__item.--active,
.circle__item.--active,
.dropdown-block__text.--active,
.dropdown-block__input-custom .dropdown-block__btn:focus,
.category__input {
    box-shadow: 0px 0px 0px 2px rgba(190, 109, 45, 1) inset;
    transition: all 0.25s ease-in-out;
}

.square__item.--active:hover,
.circle__item.--active:hover,
.dropdown-block__text.--active:hover {
    box-shadow: 0px 0px 0px 2px rgba(210, 129, 65, 1) inset;
    transition: all 0.25s ease-in-out;
}

.material.gold {
    background: linear-gradient(45deg, #d4af37, #e5c100);
}

.material.rose {
    background: linear-gradient(45deg, #d07c6e, #e2b0aa);
}

.material.silver {
    background: linear-gradient(45deg, #c0c0c0, #e6e6e6);
}

.material.bronze {
    background: linear-gradient(45deg, #cd7f32, #b87333);
}

.face.black {
    background: #1e1e1e;
}

.face.white {
    background: #ffffff;
}

.face.silver {
    background: #ccc;
}

.face.blue {
    background: #2b2ba7;
}

.face.green {
    background: #1d6636;
}

.face.ivory {
    background: #fff8dc;
}

.circle__item {
    border-radius: 50%;
    overflow: hidden;
    padding: .5rem;
    cursor: pointer;
    transition: all 0.25s ease-in-out;
}

.circle__item:hover {
    background-color: #FFFFFF3D;
}

.circle__item.active {
    box-shadow: 0 0 0 2px #be6d2d inset;
}

.circle__item-thumb {
    width: 3rem;
    padding-top: 100%;
    position: relative;
}

.circle__item-color {
    background-color: white;
    background-position: center;
    border-radius: 50%;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}


.dropdown__more-i {
    font-size: .875rem;
    line-height: 1rem;
    background-color: #404040;
    border-radius: 50%;
    width: 1rem;
    color: white;
    position: relative;
    cursor: pointer;
}

.category__input {
    border-radius: 50%;
    background-color: white;
    width: 1.375rem;
    height: 1.375rem;
}

/* removes tap blinking on ios devices */
* {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}


@media screen and (max-width: 600px) {
    .watchcase-popup {
        position: fixed;
        bottom: 1rem;
        left: 50%;
        transform: translateX(-50%);
        width: 280px;
        max-height: 90vh;
        overflow-y: auto;
        border-radius: 1rem;
        padding: 0.75rem;
        gap: 0.5rem;
    }

    .watchcase-section.shapes,
    .watchcase-section.materials,
    .watchcase-section.faces {
        justify-content: flex-start;
    }

    .watchcase-section.shapes {
        padding-left: 0.4rem;
    }

    .watchcase-title {
        padding-left: 0.4rem;
        font-size: 16px;
        line-height: 22px;
    }

    .watchcase-shape {
        width: 36px;
        height: 36px;
    }

    .circle__item {
        padding: 0.4rem;
    }

    .circle__item-thumb {
        width: 2.5rem;
    }

    .watchcase-checkbox {
        font-size: 11px;
    }
}
