@font-face {
    font-family: 'SourceSansPro-Bold';
    src: url('../fonts/SourceSansPro-Bold.woff') format('woff');
    font-display: swap;
}
@font-face {
    font-family: 'SourceSansPro-Bold';
    src: url('../fonts/SourceSansPro-Bold.ttf') format('truetype');
    font-display: swap;
}


/* :not(.ielt9) #template-myRotation-962 .w-slider .placeholder-wrapper {
    max-width: 100% !important;
} */
:not(.ielt9) #template-myRotation-962 .w-slider .placeholder-wrapper .w-slider-img {
    width: 100% !important;
}



.m-cart-product-additional-data-title.formatted {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
}




/* ENGRAVING */
.m-product-engraving {
    display: flex;
    flex-direction: column;
    gap: 20px;
    text-align: left;
    counter-reset: counters;
    margin: 30px 0;
}
.m-product-engraving-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.m-product-engraving-item.disabled {
    pointer-events: none;
    opacity: 0.5;
}
.m-product-engraving-item > strong {
    font-size: 12px;
    letter-spacing: 0.1em;
    color: #000;
    text-transform: uppercase;
}
.m-product-engraving-select {
    width: 100%;
    height: 43px;
    border: 1px solid #ccc;
    padding: 0 12px;
    font-size: 14px;
    color: #000;
    border-radius: 3px;
    -webkit-appearance: none;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" width="16" height="16"><path stroke-linecap="round" stroke-linejoin="round" d="M19 9l-7 7-7-7" /></svg>') no-repeat right 12px center;
}
.m-product-engraving-select::-ms-expand {
    display: none;
}
.m-product-engraving-select:focus {
    outline: none;
}
.m-product-engraving-text {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    position: relative;
}
.m-product-engraving-text .m-product-engraving-text-counter-wrapper {
    font-size: 10px;
    color: #aaa;
    text-align: right;
    position: absolute;
    top: 12px;
    right: 68px;
    display: flex;
    flex-direction: column;
}
.m-product-engraving-text .m-product-engraving-text-counter-wrapper.noemojis {
    right: 15px;
}
.m-product-engraving-text .m-product-engraving-text-counter {
    height: 21.6px;
    display: flex;
    align-items: center;
}
.m-product-engraving-text > textarea {
    width: 100%;
    min-height: 43px;
    border: 1px solid #ccc;
    padding: 10px 12px;
    font-size: 14px;
    color: #000;
    border-radius: 3px;
    resize: none;
}
.m-product-engraving-text > input:focus,
.m-product-engraving-text > textarea:focus {
    outline: none;
}
.m-product-engraving-text .m-product-engraving-text-emojis {
    width: 43px;
    height: 43px;
    flex: none;
    border-radius: 99px;
    background-color: #f4f4f4;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    transition: background-color 0.2s ease;
}
.m-product-engraving-text .m-product-engraving-text-emojis:hover {
    background-color: #e4e4e4;
}
.m-product-engraving-text .m-product-engraving-text-emojis-list {
    position: absolute;
    top: 120%;
    right: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    width: 300px;
    max-height: 172px;
    overflow-y: auto;
    padding: 10px;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    border-radius: 10px;
    font-size: 24px;
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    transition: top ease .2s, opacity ease .2s;
}
.m-product-engraving-text .m-product-engraving-text-emojis-list::-webkit-scrollbar {
    width: 5px;
}
.m-product-engraving-text .m-product-engraving-text-emojis-list::-webkit-scrollbar-track {
    background-color: #e4e4e4;
}
.m-product-engraving-text .m-product-engraving-text-emojis::before {
    content: '';
    display: block;
    width: 0; 
    height: 0; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #fff;
    position: absolute;
    top: 120%;
    right: 15px;
    transform: translateY(-100%);
    z-index: 100;
    opacity: 0;
    pointer-events: none;
    transition: top ease .2s, opacity ease .2s;
}
.m-product-engraving-text .m-product-engraving-text-emojis.active .m-product-engraving-text-emojis-list,
.m-product-engraving-text .m-product-engraving-text-emojis.active::before {
    opacity: 1;
    top: 100%;
    pointer-events: auto;
}
.m-product-engraving-text .m-product-engraving-text-emojis-list > li {
    padding: 10px;
    border-radius: 10px;
    transition: background-color 0.2s ease;
    width: 16.667%;
}
.m-product-engraving-text .m-product-engraving-text-emojis-list > li:hover {
    background-color: #f4f4f4;
}
.m-engraving-image {
    position: relative;
}
.m-engraving-image > img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
}
.m-engraving-thumbs {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
}
.m-engraving-image-thumb {
    cursor: pointer;
    position: relative;
    border: 1px solid transparent;
    transition: border-color 0.2s ease;
}
.m-engraving-image-thumb:hover {
    border-color: #ccc;
}
.m-engraving-image-thumb > img {
    width: 100%;
    height: auto;
    margin: 0;
}
.m-cart-engraving-image {
    position: relative;
    line-height: 1;
}
.m-cart-engraving-image > img {
    margin: 0;
    aspect-ratio: 1/1;
    width: 100%;
    object-fit: cover;
}
.m-product-engraving-visual,
.m-cart-engraving-visual {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    align-items: center;
    justify-content: center;
    display: none;
    z-index: 100;
}
.m-product-engraving-visual.active,
.m-cart-engraving-visual {
    display: flex;
}
.m-product-engraving-visual .m-product-engraving-visual-text,
.m-cart-engraving-visual .m-cart-engraving-visual-text {
    font-size: 30px;
    font-weight: bold;
    color: #5a5a57;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translateY(-50%);
}
.m-product-engraving-visual .m-product-engraving-visual-text > span,
.m-cart-engraving-visual .m-cart-engraving-visual-text > span {
    display: block;
    white-space: nowrap;
    line-height: 1;
}
.m-product-engraving-disable,
.m-product-engraving-multiple {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #000;
}

.m-product-engraving-multiple.disabled {
    opacity: 0.5;
    pointer-events: none;
}

.m-cart .m-cart-engraving-text {
    text-align: center;
    font-size: 12px;
    display: block;
    margin: 2px 0 8px;
}

body.bewise .m-product-engraving-visual {
    display: flex;
}
body.bewise .m-product-engraving-visual .m-product-engraving-visual-text {
    border: 1px dashed red;   
}


/* PACKET */
.engraving .m-product-packet {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}
.engraving .m-product-packet .m-product-packet-item {
    border: 1px solid #ccc;
    line-height: 0;
    position: relative;
    cursor: pointer;
    transition: border ease .2s;
}
.engraving .m-product-packet .m-product-packet-item:hover,
.engraving .m-product-packet .m-product-packet-item.active {
    border-color: #333;
    border-width: 2px;
}
.engraving .m-product-packet .m-product-packet-item::before {
    content: attr(data-index);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background-color: #333;
    color: #fff;
    font-weight: bold;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 99px;
    transform: translate(-30%, -30%);
}
.engraving .m-product-packet .m-product-packet-item > img {
    width: 100%;
    height: auto;
    margin: 0;
}

/* VARIANTS */
.engraving .m-product-variants {
    width: 100%;
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
}
.engraving .m-product-variant-item {
    border: 1px solid #ccc;
    line-height: 0;
    position: relative;
    cursor: pointer;
    transition: border ease .2s;
}
.engraving .m-product-variant-item[data-tooltip] {
    position: relative;
}
.engraving .m-product-variant-item[data-tooltip]::before {
    content: attr(data-tooltip);
    position: absolute;
    min-width: 100%;
    text-align: center;
    bottom: 100%;
    left: 50%;
    transform: translate(-50%, -10px);
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    display: block;
    border-radius: 2px;
    font-size: 12px;
    opacity: 0;
    pointer-events: none;
    transition: opacity ease .2s;
    line-height: 1;
}
.engraving .m-product-variant-item[data-tooltip]::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    display: block;
    transform: translate(-50%, -5px);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #333;
    opacity: 0;
    pointer-events: none;
    transition: opacity ease .2s;
}
.engraving .m-product-variant-item[data-tooltip]:hover::before,
.engraving .m-product-variant-item[data-tooltip]:hover::after {
    opacity: 1;
}
.engraving .m-product-variant-item > img {
    width: 100%;
    height: auto;
    margin: 0;
}
.engraving .m-product-variant-item:hover,
.engraving .m-product-variant-item.active {
    border-color: #333;
    border-width: 2px;
}

/* PRICELINES */
.engraving .m-product-pricelines {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 30px;
}
.engraving .m-product-priceline {
    font-weight: normal;
    border: 1px solid #ccc;
    padding: 15px;
    display: flex;
    align-items: center;
}
.engraving .m-product-priceline > span:nth-child(1) {
    flex: none;
    width: 28px;
}
.engraving .m-product-priceline > span:nth-child(2) {
    flex: 2;
}
.engraving .m-product-priceline > span:nth-child(3) {
    font-weight: bold;
}
.engraving .m-product-priceline > span:nth-child(3),
.engraving .m-product-priceline > span:nth-child(4) {
    flex: 1;
    text-align: right;
}

@media(min-width: 767px) {
    .engraving .m-product-variants {
        grid-template-columns: repeat(10, 1fr);
    }
}

@media(max-width: 767px) {
    .engraving .m-product-priceline {
        font-size: 12px;
    }
    .engraving .m-product-priceline > span:nth-child(2),
    .engraving .m-product-priceline > span:nth-child(3) {
        flex: 1;
    }
    .engraving .m-product-priceline > span:nth-child(3) {
        text-align: center;
    }
}

/* LABEL PREVIEW */
.m-cart-labeldesigner-preview {
    width: 100%;
    border-radius: 3px;
    display: flex;
    align-items: center;
    padding: 5%;
    gap: 5%;
    border: 1px solid #ccc;
    aspect-ratio: 32/14;
    background-color: #fff;
}
.m-cart-labeldesigner-preview > div:first-child {
    width: 28%;
    flex: none;
    aspect-ratio: 1/1;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.m-cart-labeldesigner-preview > div:last-child {
    width: 60%;
    flex: none;
    height: 100%;
    display: flex;
    align-items: center;
    position: relative;
}
.m-cart-labeldesigner-preview.no-motive > div:last-child {
    width: 100%;
}
.m-cart-labeldesigner-preview .m-cart-labeltext {
    width: 100%;
    text-align: center;
    white-space: pre-wrap;
    font-weight: bold;
    font-family: "SourceSansPro-Bold", sans-serif;
}
.m-cart-labeldesigner-preview .m-cart-labeltext > div {
    white-space: nowrap;
    width: fit-content;
    margin: 0 auto;
}
.m-cart-labeldesigner-preview > div > img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
}




.m-cart-product-additional-data-title {
    font-weight: bold;
}


@media(max-width: 400px) {
    .col-xs-4 {
        width: 100% !important;
    }
}

/* Slider */
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent;}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0;}.slick-list:focus{outline:none;}.slick-list.dragging{cursor:pointer;cursor:hand;}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto;}.slick-track:before,.slick-track:after{display:table;content:'';}.slick-track:after{clear:both;}.slick-loading .slick-track{visibility:hidden;}.slick-slide{display:none;float:left;height:100%;min-height:1px;}[dir='rtl'] .slick-slide{float:right;}.slick-slide img{display:block;}.slick-slide.slick-loading img{display:none;}.slick-slide.dragging img{pointer-events:none;}.slick-initialized .slick-slide{display:block;}.slick-loading .slick-slide{visibility:hidden;}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent;}.slick-arrow.slick-hidden{display:none;}