/*******************************************
                   FONTS
*******************************************/

/* dm-sans-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/dm-sans-v17-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* dm-sans-500 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 500;
    src: url('assets/fonts/dm-sans-v17-latin-500.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* dm-sans-600 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 600;
    src: url('assets/fonts/dm-sans-v17-latin-600.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* dm-sans-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'DM Sans';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/dm-sans-v17-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/*******************************************
                   ROOT
*******************************************/

:root {
    --primary-font: 'DM Sans', sans-serif;
    --primary-color: rgba(93, 90, 136, 1);
    --primary-color-light: rgba(151, 149, 181, 1);
}

/*******************************************
                   BODY
*******************************************/

body {
    font-family: var(--primary-font);
    color: var(--primary-color);
}

/*******************************************
           PRE-DEFINED CLASSES
*******************************************/

h2{
    font-size: 24px;
    font-weight: 700;
}

p{
    font-size: 18px;
    color: var(--primary-color-light);
}

.btn{
    width: 100%;
    max-width: 334px;
    border: 1.33px solid var(--primary-color);
    color: var(--primary-color);
    font-size: 18px;
    line-height: 1;
    background: transparent;
    border-radius: 40px;
    padding: 23px;

    &:hover{
        background: var(--primary-color) !important;
        color: #fff;
        border-color: var(--primary-color) !important;
    }
}

.btn-filter{
    width: auto;
    max-width: 334px;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    font-size: 16px;
    line-height: 1;
    background: transparent;
    border-radius: 30px;
    padding: 18px 24px;

    &:hover{
        background: var(--primary-color);
        color: #fff;
    }

    &.active{
        background: var(--primary-color);
        color: #fff;
    }
}

.btn-add-block{
    width: 100%;
    max-width: 334px;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    font-size: 16px;
    line-height: 1;
    background: transparent;
    border-radius: 30px;
    padding: 18px 24px;
    text-transform: uppercase;

    &:hover{
        background: var(--primary-color);
        color: #fff;
    }
}

.btn-picker, .btn-download{
    width: 100%;
    max-width: 200px;
    border: 1px solid rgba(212, 210, 227, 1);
    color: var(--primary-color);
    font-size: 18px;
    line-height: 1;
    background: transparent;
    border-radius: 30px;
    padding: 6.5px 11.5px;
    box-shadow: 4px 4px 60px var(--Number) rgba(242, 241, 250, 1);
    color: rgba(93, 90, 136, 1);

    &:hover{
        background: rgba(212, 210, 227, 1) !important;
        color: rgba(93, 90, 136, 1) !important;
        border: 1px solid rgba(212, 210, 227, 1) !important;
    }
}

.btn-download{
    max-width: 210px;
}

.btn-finish-website{
    width: 100%;
    max-width: 220px;
    border: 1px solid rgba(212, 210, 227, 1);
    color: var(--primary-color);
    font-size: 18px;
    line-height: 1;
    background: transparent;
    border-radius: 30px;
    padding: 9.5px 11.5px;
    box-shadow: 4px 4px 60px var(--Number) rgba(242, 241, 250, 1);
    color: rgba(93, 90, 136, 1);
    display: flex;
    justify-content: center;

    &:hover{
        background: rgba(212, 210, 227, 1);
        color: rgba(93, 90, 136, 1);
    }
}

.color-wrap-selection-block .color-wrap-selection{
    width: 50%;
}

.color-wrap-selection-block .download-font-preview {
    width: 50%;
}

.btn-finish-website:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background-color: #ccc;
}

.btn-finish-website.enabled {
    opacity: 1;
    cursor: pointer;
    background-color: #111;
}

.copy-btn{
    width: 100%;
    max-width: 200px;
    border: 1px solid rgba(212, 210, 227, 1);
    color: var(--primary-color);
    font-size: 18px;
    line-height: 1;
    background: transparent;
    border-radius: 30px;
    padding: 9.5px 11.5px;
    box-shadow: 4px 4px 60px var(--Number) rgba(242, 241, 250, 1);
    color: rgba(93, 90, 136, 1);
    display: flex;
    justify-content: center;

    &:hover{
        background: rgba(212, 210, 227, 1);
        color: rgba(93, 90, 136, 1);
    }
}

.image-button {
    padding: 10px !important;
    background: transparent !important;
    border: 1px solid var(--primary-color);
    height: 100%;
    transition: all 0.25s ease;
    width: 100%;

    & img{
        width: 100%;
        height: auto;
        max-height: 100%;
    }

    &:hover {
        background: var(--primary-color-light) !important;
    }
}


#copyUrlBtn:hover{
    color: #fff !important;
}
/*******************************************
                MAIN SECTION
*******************************************/

.main-section {
    width: 100%;
    min-height: 100svh;
    height: auto;
    padding-top: 40px;
    padding-bottom: 40px;
}

.special-title{
    font-size: 20px;
}

.special-text{
    font-size: 16px;
}

#finishModal .modal-content{
    border: none !important;
    border-radius: 18px;

    & .btn{
        max-width: 152px;
    }
}

#finishModal .modal-content h4{
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 700;
    color: var(--primary-color);
}

.card-box-choose {
    position: relative;
    padding: 24px 24px 130px 24px;
    border: 1px solid rgba(212, 210, 227, 1);
    border-radius: 24px;
    height: 100%;

    & .img-box {
        box-shadow: 0px 0px 16.17px 0px rgba(0, 0, 0, 0.08);
        border-radius: 10px;
        overflow: hidden;

        & img {
            width: 100%;
            height: auto;
            object-fit: cover;
            aspect-ratio: 1.55/1;
        }
    }

    & .btn{
        bottom: 40px;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 48px);
    }
}

.filter-box{
    gap: 20px;
}

.template-section{
    padding-top: 50px;
    padding-bottom: 50px;
    background: rgba(242, 241, 250, 1);
    height: 100svh;

    & .change-button{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        box-shadow: 4px 4px 60px var(--Number) rgba(242, 241, 250, 1);
        border: 1px solid rgba(212, 210, 227, 1);
        border-radius: 23px;
        padding: 6.5px 11.5px;
        background: transparent;
        color: rgba(93, 90, 136, 1);

        &:hover{
            background: rgba(212, 210, 227, 1);
        }

        img{
            width: 18px !important;
            height: 18px !important;
            object-fit: contain;
        }
    }

    & .change-color{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        box-shadow: 4px 4px 60px var(--Number) rgba(242, 241, 250, 1);
        border: 1px solid rgba(212, 210, 227, 1);
        border-radius: 23px;
        padding: 6.5px 11.5px;
        background: transparent;
        color: rgba(93, 90, 136, 1);

        &:hover{
            background: rgba(212, 210, 227, 1);
        }

        img{
            width: 18px !important;
            height: 18px !important;
            object-fit: contain;
        }
    }

    & .font-text{
        font-size: 22px;
        color: #000;
    }

    & .btn-box-color-font{
        gap: 10px;
    }

    & .show-color-font{
        display: none;

        & .color-box{
            width: 100%;
            height: 40px;
            max-width: 209px;
        }
    }

    & .remove-font{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        box-shadow: 4px 4px 60px var(--Number) rgba(242, 241, 250, 1);
        border: 1px solid rgba(212, 210, 227, 1);
        border-radius: 23px;
        padding: 6.5px 11.5px;
        background: transparent;
        color: rgba(93, 90, 136, 1);

        &:hover{
            background: rgba(212, 210, 227, 1);
        }

        img{
            width: 18px !important;
            height: 18px !important;
            object-fit: contain;
        }
    }

    & .preview-block{
        height: calc(100svh - 100px);
        overflow-y: auto;
        overflow-x: hidden;
    }

    & .remove-button{
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        box-shadow: 4px 4px 60px var(--Number) rgba(242, 241, 250, 1);
        border: 1px solid rgba(212, 210, 227, 1);
        border-radius: 23px;
        padding: 6.5px 11.5px;
        background: transparent;
        color: rgba(93, 90, 136, 1);

        &:hover{
            background: rgba(212, 210, 227, 1);
        }

        img{
            width: 18px !important;
            height: 18px !important;
            object-fit: contain;
        }
    }

    & .section-wrap{
        display: flex;
        justify-content: center;
        align-items: center;

        & .section-wrap-preview{
            width: 60%;
            overflow: hidden;
            background: #fff;
            pointer-events: none;
        }

        & .btn-box{
            width: 40%;
        }
    }

    & .chrome-preview{
        width: 60%;
        overflow: hidden;
        background: #fff;
        pointer-events: none;
    }

    & .section-wrap > img{
        width: 60%;
        height: auto;
        overflow: hidden;
        background: #fff;
        pointer-events: none;
        object-fit: cover;
    }

    & .btn-box{
        width: 100%;
        height: 100%;
        justify-content: center;
        align-items: center;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    & .preview-selection{
        height: calc(100svh - 100px);
        overflow-y: auto;
        overflow-x: hidden;
    }
}

.preview-placeholder{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 90px;
    border: 1px dashed rgba(0, 0, 0, 0.25);
    border-radius: 10px;
    color: rgba(0, 0, 0, 0.45);
    font-size: 13px;
    text-align: center;
    padding: 10px;
}

.catalog-status{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 14px;
    background: rgba(212, 210, 227, 0.5);
    border-radius: 10px;
    font-size: 14px;
    text-align: start;
}

.catalog-status .btn-cancel-edit{
    border: none;
    background: transparent;
    color: rgba(93, 90, 136, 1);
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
}

.catalog-type-heading{
    text-align: start;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 15px;
    margin-top: 10px;
}

.catalog-back-row{
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 4px;
}

.catalog-back-btn{
    border: none;
    background: transparent;
    color: rgba(93, 90, 136, 1);
    font-weight: 600;
    font-size: 14px;
    padding: 0;
    white-space: nowrap;
}

.catalog-back-row .catalog-type-heading{
    margin-top: 0;
}

.catalog-card{
    display: block;
    width: 100%;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s ease;
    text-align: start;
}

.catalog-card:hover{
    border-color: var(--primary-color);
}

.catalog-card-preview{
    width: 100%;
    overflow: hidden;
    pointer-events: none;
    position: relative;
    background: #fff;
}

.catalog-card-label{
    padding: 8px 12px;
    font-size: 13px;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.font-preview-box{
    padding: 24px 20px;
    text-align: start;
}

.font-preview-heading{
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #000;
}

.font-preview-text{
    font-size: 16px;
    line-height: 1.5;
    color: rgba(0, 0, 0, 0.65);
}

.section-wrap.active-block  .change-button {
    background: rgba(212, 210, 227, 1);
}
/*******************************************
                RESPONSIVE
*******************************************/

@media only screen and (min-width: 992px) {
    /* main section */
    .main-section {
        padding-top: 150px;
    }

    #finishModal .modal-dialog{
        max-width: 948px;
    }

    #finishModal .modal-content{
        padding: 80px 130px !important;
    }

    #finishModal .modal-content h4{
        margin-bottom: 30px;
        font-size: 36px;
    }
}

@media only screen and (min-width: 1400px) {
    /* Pre-defined classes */
    .container{
        max-width: 1238px;
    }

    .container-fluid{
        max-width: 1398px;
    }
}

