:root {
    --cc-pic-selector-min-width: 200px;
    --cc-pic-selector-padding-left: 12px;
    --cc-pic-selector-padding-right: 12px;
    --cc-pic-selector-adjustment-wrapper-margin-right: 46px;
}





.cc-pic-selector {
    position: relative;
    width: fit-content;
    border-radius: 18px;
    background: #000;
    overflow: hidden;
}



.cc-pic-selector
.file-input {
    position: absolute;
    visibility: hidden;
    left: -9999px;
    top: 0;
}





.cc-pic-selector
.top-wrapper {
    padding-top: 20px;
    padding-right: var(--cc-pic-selector-padding-right);
    padding-bottom: 20px;
    padding-left: var(--cc-pic-selector-padding-left);
}

.cc-pic-selector.has-selected-pics
.top-wrapper {
    padding-bottom: 12px;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper {
    margin: 0 var(--cc-pic-selector-adjustment-wrapper-margin-right) 0 0;
    min-width: var(--cc-pic-selector-min-width);
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper {
    position: relative;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window {
    box-sizing: border-box;
    position: relative;
    margin: 0 auto;
    width: 0;
    height: 0;
    border: 1px dashed #98a3ac;
    overflow: hidden;
}

.cc-pic-selector.has-pic-in-window
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window {
    border: 2px solid #fff;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window
button {
    display: block;
    position: relative;
    margin: 0 auto;
    padding: 12px;
    width: 28%;
    max-width: 100px;
    height: fit-content;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 28px;
    background: #3d6bf6;
}

.cc-pic-selector.has-pic-in-window
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window
button {
    display: none;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window
button
img {
    display: block;
    width: 100%;
    height: auto;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window
.pic-slider {
    display: none;
    position: relative;
    left: 0;
    top: 0;
}

.cc-pic-selector.has-pic-in-window
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window
.pic-slider {
    display: block;
}

.cc-pic-selector.requires-adjustment
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window
.pic-slider {
    cursor: move;
    cursor: grab;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.window
.pic-slider
canvas {
    display: block;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.remove-button {
    display: none;
    position: absolute;
    width: 36px;
    height: 36px;
    right: -46px;
    bottom: 0;
    border-radius: 10px;
    background: #fcd4d4;
}

.cc-pic-selector.has-pic-in-window
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.remove-button {
    display: block;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.main-window-wrapper
.remove-button
img {
    display: block;
    position: absolute;
    width: auto;
    height: 20px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}





.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.action-buttons-wrapper {
    margin: 14px 0 0 0;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.action-buttons-wrapper
button {
    width: 100%;
    height: 46px;
    border-radius: 11px;
    font-size: 17px;
    background: #3d6bf6;
    color: #fff;
    font-weight: 600;
    text-align: center;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.action-buttons-wrapper
button.confirm-pic-button {
    display: none;
}

.cc-pic-selector.has-pic-in-window
.top-wrapper
.adjustment-wrapper
.action-buttons-wrapper
button.confirm-pic-button {
    display: block;
}

.cc-pic-selector.has-pic-in-window.requires-adjustment
.top-wrapper
.adjustment-wrapper
.action-buttons-wrapper
button.confirm-pic-button {
    display: none;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.action-buttons-wrapper
button.adjust-pic-button {
    display: none;
}

.cc-pic-selector.has-pic-in-window.requires-adjustment
.top-wrapper
.adjustment-wrapper
.action-buttons-wrapper
button.adjust-pic-button {
    display: block;
}





.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.reposition-message {
    display: none;
    grid-template-columns: 28px 1fr;
    column-gap: 12px;
    position: relative;
    margin: 14px 0 0 0;
    padding: 10px 12px;
    border-radius: 14px;
    background: #fbfdd6;
}

.cc-pic-selector.has-pic-in-window.requires-adjustment
.top-wrapper
.adjustment-wrapper
.reposition-message {
    display: grid;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.reposition-message
.icon {
    position: relative;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.reposition-message
.icon
img {
    display: block;
    position: relative;
    width: 28px;
    height: auto;
    top: 50%;
    transform: translateY(-50%);
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.reposition-message
.instructions {
    position: relative;
}



.cc-pic-selector
.top-wrapper
.adjustment-wrapper
.reposition-message
.instructions
p {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    font-size: 13px;
    font-weight: 350;
    color: #000;
}





.cc-pic-selector
.top-wrapper
.requirements-wrapper {
    margin: 30px 0 0 0;
}



.cc-pic-selector
.top-wrapper
.requirements-wrapper
.requirement {
    margin: 9px 0 0 0;
    color: #fff;
    font-size: 13px;
    font-weight: 550;
}

.cc-pic-selector
.top-wrapper
.requirements-wrapper
.requirement:first-child {
    margin-top: 0;
}



.cc-pic-selector
.top-wrapper
.requirements-wrapper
.requirement.dimensions {
    display: none;
}

.cc-pic-selector.exact-dimensions-required
.top-wrapper
.requirements-wrapper
.requirement.dimensions.exact {
    display: block;
}

.cc-pic-selector.minimum-dimensions-required
.top-wrapper
.requirements-wrapper
.requirement.dimensions.minimum {
    display: block;
}



.cc-pic-selector
.top-wrapper
.requirements-wrapper
.requirement
span {
    display: inline-block;
    margin: 0 0 0 7px;
    padding: 6px 10px;
    border-radius: 8px;
    background: #673de5;
}





.cc-pic-selector
.selected-pics-wrapper {
    display: none;
    margin: 30px 0 0 0;
    padding-top: 12px;
    padding-right: var(--cc-pic-selector-padding-right);
    padding-bottom: 12px;
    padding-left: var(--cc-pic-selector-padding-left);
    background: #25292c;
}

.cc-pic-selector.has-selected-pics
.selected-pics-wrapper {
    display: block;
}



.cc-pic-selector
.selected-pics-wrapper
h1 {
    font-size: 12px;
    color: #a9b7c1;
    font-weight: 500;
}



/*
.cc-pic-selector
.selected-pics-wrapper
.pics {
    margin: 12px 0 0 0;
    width: 0;
    height: 104px;
    overflow-y: hidden;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
*/
.cc-pic-selector
.selected-pics-wrapper
.pics {
    margin: 12px 0 0 0;
    width: 0;
    height: 104px;
    overflow-y: hidden;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}


.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider {
    display: flex;
    flex-wrap: nowrap;
    gap: 12px;
    width: fit-content;
    overflow: hidden;
}



/*
.cc-pic-selector
.selected-pics-wrapper
.pics
.thumb {
    display: inline-block;
    position: relative;
    margin: 0 0 0 12px;
    width: 100px;
    height: 100px;
    border: 2px solid #fff;
    border-radius: 10px;
    background: #000;
    overflow: hidden;
    scroll-snap-align: start;
    cursor: pointer;
    transition: border-color 400ms;
}

.cc-pic-selector
.selected-pics-wrapper
.pics
.thumb:first-child {
    margin-left: 0;
}
*/

.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb {
    position: relative;
    margin: 0;
    width: 100px;
    height: 100px;
    border: 2px solid #fff;
    border-radius: 10px;
    background: #000;
    overflow: hidden;
    scroll-snap-align: start;
    cursor: pointer;
    transition: border-color 400ms;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb.moving {
    z-index: 50;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb.removed {
    border-color: #f24b4b;
    border-style: dashed;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb
.canvas-wrapper {
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb
button {
    position: absolute;
    width: 26px;
    height: 26px;
    right: 3px;
    top: 3px;
    border-radius: 50px;
    z-index: 10;
    box-shadow: 0px 2px 11px 0px #000000;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb
button.remove-pic {
    display: block;
    background: #fcd4d4;
}

.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb.removed
button.remove-pic {
    display: none;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb
button.readd-pic {
    display: none;
    background: #dafcd4;
}

.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb.removed
button.readd-pic {
    display: block;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb
button
img {
    display: block;
    position: absolute;
    width: 14px;
    height: auto;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb
.removed-veil {
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #000;
    opacity: 0;
    z-index: 5;
    transition: opacity 400ms;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb.removed
.removed-veil {
    display: block;
    opacity: .6;
}



.cc-pic-selector
.selected-pics-wrapper
.pics
.pics-slider
.thumb
.canvas-wrapper {
}



















