:root {
    --cyo-black: #0A0A0A;
    --cyo-neutral-100: #f5f5f5;
    --cyo-neutral-50: #FAFAFA;
    --cyo-primary: #F60;
    --cyo-bg-primary: #FFF8EC;
    --cyo-border-radius: 8px;
}

@media(max-width: 760px) {
    .cyo-modal-header-title {
        color: var(--cyo-black);
    }

    .cyo-modal-header {
        margin: 0 16px;
        padding: 10px 0;
    }

    .cyo-modal-header-wrapper {
        width: 100%;
    }

    .cyo-modal-header-wrapper .cyo-modal-header-subtitle {
        margin: 0;
        font-size: 14px;
    }

    .cyo-modal-content .input-dropdown {
        border-radius: 24px;
        background-color: var(--cyo-neutral-100);
        color: var(--cyo-black);
        border: 0;
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="17" height="18" viewBox="0 0 17 18" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M8.14616 2.44788C4.72314 2.44788 1.94824 5.22278 1.94824 8.64579C1.94824 12.0688 4.72314 14.8437 8.14616 14.8437C11.5692 14.8437 14.3441 12.0688 14.3441 8.64579C14.3441 5.22278 11.5692 2.44788 8.14616 2.44788ZM0.885742 8.64579C0.885742 4.63598 4.13634 1.38538 8.14616 1.38538C12.156 1.38538 15.4066 4.63598 15.4066 8.64579C15.4066 10.4595 14.7415 12.1179 13.642 13.3904L15.9593 15.7076C16.1668 15.9151 16.1668 16.2515 15.9593 16.4589C15.7518 16.6664 15.4155 16.6664 15.208 16.4589L12.8907 14.1417C11.6182 15.2412 9.95986 15.9062 8.14616 15.9062C4.13634 15.9062 0.885742 12.6556 0.885742 8.64579Z" fill="%230A0A0A"/></svg>');
        background-repeat: no-repeat;
        background-position: 12px center;
        padding-left: 40px;
        padding-right: 12px;
    }

    .search-design-wrapper-input {
        position: relative;
        height: fit-content;
    }

    .search-design-wrapper-input .remove-search-value {
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        width: 20px;
        height: 20px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 30px;
    }

    .search-design-wrapper-input .input-dropdown.has-value-search {
        padding-right: 35px;
    }

    .open-filter {
        border: 0;
        border-radius: 24px;
        background-color: var(--cyo-neutral-100);
        color: var(--cyo-black);
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.69247 7.09327C3.91711 6.83119 4.31167 6.80084 4.57375 7.02548L10.0003 11.6768L15.4269 7.02548C15.689 6.80084 16.0836 6.83119 16.3082 7.09327C16.5328 7.35535 16.5025 7.74991 16.2404 7.97455L10.4071 12.9745C10.173 13.1752 9.82765 13.1752 9.59359 12.9745L3.76026 7.97455C3.49818 7.74991 3.46783 7.35535 3.69247 7.09327Z" fill="%23A3A3A3"/></svg>');
        background-repeat: no-repeat;
        background-position: calc(100% - 10px) center;
        padding-right: 32px;
        max-width: 140px;
        min-width: 125px;
        -webkit-line-clamp: 1;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        line-height: 42px;
        overflow: hidden;
        text-overflow: ellipsis;
        padding-top: 0;
        padding-bottom: 0;
        white-space: nowrap;
    }

    .design-item-image {
        background: var(--cyo-neutral-100);
    }

    .design-item-image img {
        background: transparent;
    }

    .design-price {
        font-size: 16px;
    }

    .cyo-modal-header {
        padding: 12px 0;
    }

    .choose-products .modal-right-head-wrapper, 
    .choose-design .modal-right-head-wrapper {
        position: sticky;
        top: 0;
    }

    .cyo-modal.choose-design .cyo-modal-content .list-product-content, 
    .cyo-modal.choose-products .cyo-modal-content .list-product-content {
        position: static;
        padding-bottom: 70px;
    }

    .cyo-modal {
        transform: translateY(100%);
        opacity: 0;
        pointer-events: none;
        transition: all 222ms ease-in-out;
    }

    .cyo-modal.active {
        transform: none;
        opacity: 1;
        pointer-events: all;
    }

    .cyo-modal.choose-products.active, 
    .cyo-modal.choose-design.active {
        max-height: calc(74vh + 44px);
        bottom: 0;
        top: unset;
    }

    .popup-modal.cyo-modal {
        border-radius: 20px 20px 0 0;
    }

    .cyo-modal.active + .popup-modal-background.active {
        position: fixed;
        display: block;
        top: 0;
        left: 0;
        z-index: 98;
        background-color: rgba(11 11 11 / 55%);
        width: 100%;
        height: 100%;
        opacity: 0.6;
    }

    .modal-left:not(.upload-left) {
        width: 100%;
        max-height: calc(74vh + 44px);
        transform: translateY(100%);
        opacity: 0;
        pointer-events: none;
        bottom: 0;
        top: auto;
        border-radius: 20px 20px 0 0;
    }

    .modal-left.mobile.active {
        transform: translateY(0);
        opacity: 1;
        pointer-events: all;
    }

    .design-left .filter {
        max-height: calc(74vh + 44px);
    }

    .product-filter-variant-heading {
        font-size: 17px;
        color: var(--cyo-black);
    }

    .modal-left .filter-action {
        flex-direction: row-reverse;
        width: calc(100% - 32px);
        margin: auto;
        padding: 11px 0 !important;
    }

    .modal-left .close-filter svg {
        display: none;
    }

    .modal-left .close-filter {
        background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" class="bi bi-x-lg" viewBox="0 0 16 16"><path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8z"></path></svg>');
        background-position: center;
        background-repeat: no-repeat;
        background-size: 16px;
        padding: 10px 14px;
    }

    .choose-design .hot-topics-list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 8px;
        padding-bottom: 66px;
    }

    #custom-product .choose-design .hot-topics-list {
        padding-bottom: 66px;
    }

    .choose-design .hot-topics-list .menuitem {
        margin-bottom: 0;
        background-color: var(--cyo-neutral-50);
        border: 1px solid #e5e5e5;
        border-radius: 12px;
        justify-content: flex-start;
        padding: 9px 12px;
    }

    .choose-design .hot-topics-list .menuitem.active {
        border: 1px solid var(--cyo-primary);
        background: var(--cyo-bg-primary);
    }

    .choose-design .hot-topics-list .menuitem .hot-topic {
        color: var(--cyo-black);
        text-transform: capitalize;
        overflow: hidden;
        text-overflow: ellipsis;
        -webkit-line-clamp: 1;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        white-space: normal;
        font-size: 16px;
        font-weight: 400;
        text-align: left;
        padding: 0;
    }

    .choose-design .hot-topics-list .menuitem.active .hot-topic {
        color: var(--cyo-primary);
    }

    .modal-left.mobile.active .filter-section-content.filter-labels {
        max-width: 100%;
    }

    .bestseller-action {
        position: fixed;
        bottom: 0;
        left: 0;
        background: #fff;
        width: 100%;
        padding: 12px 16px;
        box-shadow: 0 -4px 12px 0 rgba(0, 0, 0, 0.04);
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 8px;
        opacity: 1;
        pointer-events: all;
    }

    .bestseller-action-btn {
        font-size: 16px;
        font-weight: 500;
    }

    .bestseller-action-clear {
        border: 1px solid var(--Red-200, #FDCBCB);
        background: var(--Red-50, #FEF2F2);
        color: var(--Red-600, #D92A28);
        border-radius: 8px;
        padding: 12px 20px;
    }

    .bestseller-action-apply {
        border-radius: 8px;
        border: 1px solid var(--Primary-Blue-950, #19124F);
        background: var(--Primary-Blue-950, #19124F);
        color: #fff;
    }

    .no-designs-text h4 {
        color: var(--cyo-black);
        margin-bottom: 12px;
    }

    .no-designs-text p {
        margin-top: 12px;
    }

    .filter-section-header .product-filter-variant-heading {
        color: var(--cyo-black);
    }

    .filter-category-label,
    .filter-category-label.active {
        color: var(--cyo-black);
        font-weight: 400;
    }

    .filter-child-category li {
        color: var(--cyo-black);
        padding: 8px;
    }

    .filter-child-category li.active,
    .filter-child-category li:hover {
        color: var(--cyo-primary);
        padding-left: 8px;
        border-radius: 12px;
        background-color: var(--cyo-bg-primary);
    }

    .filter-child-category li.active::before, 
    .filter-child-category li:hover::before {
        display: none;
    }

    #custom-product .modal-left .filter-action.block-sm {
        padding: 12px 16px !important;
        width: 100vw;
    }

    #custom-product .filter-action .apply-button {
        border-radius: 8px;
        background-color: var(--cyo-primary);
    }

    #custom-product .modal-left #filter {
        max-height: calc(100vh - 200px);
    }

    .product-left #filter .filter-section {
        padding: 4px 0;
    }

    .mockup-print-location-mobile.active {
        background-color: #525252;
    }

    .custom-menu-item .custom-product-menu-button {
        grid-gap: 0;
        width: max-content;
    }

    .custom-menu-cart-item .custom-product-menu-button .button-text {
        color: var(--cyo-primary);
    }

    /* Hide header */
    #main-header,
    .header-content,
    .header-navigation-block {
        display: none;
    }

    .CreateYourOwnApp {
        margin-top: 60px;
    }

    body:has(#app-download-banner) .CreateYourOwnApp  {
        margin-top: 0;
    }

    body:has(.CreateYourOwnApp) {
        background-color: #f8f8f8;
    }

    #customProductFooter {
        top: 0;
        bottom: auto;
        display: grid;
        grid-template-columns: minmax(0, 1fr) max-content max-content;
        min-height: unset;
        padding: 14px 16px;
    }

    #custom-product-menu {
        bottom: 0;
    }

    #customProductFooter .confirm-add2cart {
        padding: 0 12px;
        color: #fff;
        background: var(--cyo-primary);
        border: 0;
        min-width: 80px;
        min-height: 36px;
    }

    #customProductFooter .product-price {
        color: #0A0A0A;
        font-size: 16px;
    }

    #customProductFooter .cyo-back-btn {
        display: flex;
        align-items: center;
        grid-gap: 8px;
        font-size: 16px;
        color: #0A0A0A;
    }

    #customProductFooter .cyo-back-btn.edit-screen {
        opacity: 0;
        visibility: hidden;
        font-size: 0;
    }

    .cyo-modal.half-screen {
        bottom: 0;
    }

    .cyo-back-popup-wrapper {
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100%;
        z-index: 99;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: all 222ms ease-in-out;
    }

    .cyo-back-popup-wrapper.active {
        opacity: 1;
        pointer-events: all;
        visibility: visible;
    }

    .cyo-back-popup-bg {
        position: fixed;
        display: block;
        top: 0;
        left: 0;
        z-index: 0;
        background-color: rgba(11 11 11 / 55%);
        width: 100%;
        height: 100%;
        opacity: 0.6;
    }

    .cyo-back-popup {
        background: #fff;
        position: fixed;
        width: calc(100% - 32px);
        height: max-content;
        z-index: 1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 12px;
        padding: 20px 16px;
        text-align: center;
    }

    .cyo-back-popup-content {
        font-size: 16px;
        color: var(--cyo-black);
        margin-bottom: 10px;
    }

    .cyo-back-popup-btn {
        border: 0;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 700;
        background: #e5e5e5;
        color: #525252;
        padding: 12px 20px;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 100px;
        color: #0A0A0A;
        text-transform: uppercase;
    }

    .cyo-back-popup-btn.cyo-back-popup-btn-stay {
        background: #19124F;
        color: #fff;
    }

    .cyo-back-popup-actions {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 8px;
    }

    .cyo-back-popup-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50px;
        background: var(--Orange-100, #FEF1D3);
        width: 48px;
        height: 48px;
        margin: 0 auto;
    }

    .cyo-back-popup-head {
        margin: 16px 0;
        font-weight: 500;
        font-size: 16px;
        line-height: 1;
    }

    .cyo-back-popup-txt {
        color: #525252;
        font-size: 14px;
        margin-bottom: 16px;
    }

    .no-data-search {
        top: 220px;
        width: 100%;
        padding: 16px;
        text-align: center;
    }

    .uploaded-title {
        font-size: 16px;
        color: var(--cyo-black);
        font-weight: 500;
        margin-bottom: 8px;
    }

    .product-type-info-headline,
    .product-variant-heading {
        color: var(--cyo-black);
    }

    .multiple-size-item-title {
        color: var(--cyo-black);
        font-size: 16px;
    }

    .multiple-size-selection-content .multiple-size-btn {
        width: 36px;
        height: 36px;
        border: 1px solid #E5E5E5;
        background-color: transparent;
        border-radius: 4px;
        min-width: 36px;
    }

    .multiple-size-selection-content .multiple-size-btn:hover {
        color: var(--darkness);
    }

    .multiple-size-selection-content .multiple-size-quantity {
        border: 1px solid #E5E5E5;
        border-radius: 4px;
        margin: 0 8px;
        padding: 8px 20px;
        width: 100px;
    }

    .list-product-size .product-size-item-content,
    .list-product-size .product-size-item {
        color: var(--cyo-black);
    }

    .list-product-size-wrapper.product-size-focus .list-product-size {
        border-radius: 15px 15px 0 0;
    }

    .multiple-size-list .multiple-size-item {
        padding: 8px 0;
    }

    .multiple-size-list .multiple-size-item:first-child {
        padding-top: 0;
    }

    .upload-loading {
        width: 40px;
        height: 40px;
        border-bottom-color: transparent;
        border-radius: 50%;
        display: inline-block;
        box-sizing: border-box;
        animation: rotation 1s linear infinite;
    }

    @keyframes rotation {
        0% {
            transform: rotate(0deg);
        }
        100% {
            transform: rotate(360deg);
        }
    }

    /* Shippng step */
    .shipping-info-step {
        display: grid;
        grid-template-columns: 20px minmax(0,1fr);
        grid-gap: 0 6px;
        align-items: center;
        line-height: 1;
        font-size: 13px;
        font-weight: 400
    }

    .shipping-info-dot {
        width: 20px;
        height: 20px;
        border-radius: 50%;
        grid-row: 1/span 2;
        background-color: #ffcd8a;
        background-repeat: no-repeat;
        background-position: center
    }

    .shipping-info-step:nth-child(1) .shipping-info-dot {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M10.3851 1.62101L9.05181 0.921312C7.88139 0.307104 7.29618 0 6.66667 0C6.03715 0 5.45194 0.307103 4.28153 0.92131L4.06705 1.03387L10.0157 4.43312L12.6935 3.09421C12.2627 2.60633 11.5676 2.24156 10.3851 1.62101Z' fill='white'/%3E%3Cpath d='M13.1656 3.97623L10.5 5.30902V7.33333C10.5 7.60948 10.2761 7.83333 10 7.83333C9.72386 7.83333 9.5 7.60948 9.5 7.33333V5.80902L7.16667 6.97568V13.2693C7.64528 13.1501 8.18984 12.8644 9.0518 12.412L10.3851 11.7123C11.8196 10.9596 12.5368 10.5832 12.9351 9.90684C13.3333 9.2305 13.3333 8.38889 13.3333 6.70566V6.62767C13.3333 5.3659 13.3333 4.57705 13.1656 3.97623Z' fill='white'/%3E%3Cpath d='M6.16667 13.2693V6.97568L0.167759 3.97623C0 4.57705 0 5.3659 0 6.62767V6.70566C0 8.38889 0 9.2305 0.398265 9.90684C0.796528 10.5832 1.51375 10.9596 2.94818 11.7123L4.28153 12.412C5.14349 12.8644 5.68805 13.1501 6.16667 13.2693Z' fill='white'/%3E%3Cpath d='M0.639795 3.09421L6.66667 6.10765L8.94077 4.9706L3.01638 1.58523L2.9482 1.62101C1.7657 2.24156 1.0706 2.60633 0.639795 3.09421Z' fill='white'/%3E%3C/svg%3E")
    }

    .shipping-info-step:nth-child(3) .shipping-info-dot {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 14 14' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.66667 0C4.15251 0 2.89543 0 2.11438 0.781049C1.40565 1.48978 1.34003 2.59046 1.33395 4.66667H0.666667C0.298477 4.66667 0 4.96514 0 5.33333V6C0 6.20984 0.0987961 6.40743 0.266667 6.53333L1.33333 7.33333C1.33941 9.40954 1.40565 10.5102 2.11438 11.219C2.27584 11.3804 2.45763 11.5085 2.66667 11.6101V12.6666C2.66667 13.0348 2.96514 13.3333 3.33333 13.3333H4.33333C4.70152 13.3333 5 13.0348 5 12.6666V11.9877C5.48471 12 6.03616 12 6.66667 12C7.29718 12 7.84863 12 8.33333 11.9877V12.6666C8.33333 13.0348 8.63181 13.3333 9 13.3333H10C10.3682 13.3333 10.6667 13.0348 10.6667 12.6666V11.6101C10.8757 11.5085 11.0575 11.3804 11.219 11.219C11.9277 10.5102 11.9939 9.40954 12 7.33333L13.0667 6.53333C13.2345 6.40743 13.3333 6.20984 13.3333 6V5.33333C13.3333 4.96514 13.0349 4.66667 12.6667 4.66667H11.9994C11.9933 2.59046 11.9277 1.48978 11.219 0.781049C10.4379 0 9.18082 0 6.66667 0ZM2.33333 5C2.33333 5.94281 2.33333 6.41421 2.62623 6.70711C2.91912 7 3.39052 7 4.33333 7H6.66667H9C9.94281 7 10.4142 7 10.7071 6.70711C11 6.41421 11 5.94281 11 5V3.33333C11 2.39052 11 1.91912 10.7071 1.62623C10.4142 1.33333 9.94281 1.33333 9 1.33333H6.66667H4.33333C3.39052 1.33333 2.91912 1.33333 2.62623 1.62623C2.33333 1.91912 2.33333 2.39052 2.33333 3.33333V5ZM2.83333 9.33333C2.83333 9.05719 3.05719 8.83333 3.33333 8.83333H4.33333C4.60948 8.83333 4.83333 9.05719 4.83333 9.33333C4.83333 9.60947 4.60948 9.83333 4.33333 9.83333H3.33333C3.05719 9.83333 2.83333 9.60947 2.83333 9.33333ZM10.5 9.33333C10.5 9.05719 10.2761 8.83333 10 8.83333H9C8.72386 8.83333 8.5 9.05719 8.5 9.33333C8.5 9.60947 8.72386 9.83333 9 9.83333H10C10.2761 9.83333 10.5 9.60947 10.5 9.33333Z' fill='white'/%3E%3C/svg%3E")
    }

    .shipping-info-step:nth-child(5) .shipping-info-dot {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 13 14' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.67099 3.1766C3.67093 3.17329 3.6709 3.16998 3.6709 3.16667V2.5C3.6709 1.11929 4.79019 0 6.1709 0C7.55161 0 8.6709 1.11929 8.6709 2.5V3.16667C8.6709 3.16998 8.67087 3.17329 8.6708 3.1766C9.52896 3.20236 10.0541 3.29493 10.455 3.62765C11.0104 4.08863 11.1567 4.86892 11.4493 6.42951L11.9493 9.09618C12.3608 11.2906 12.5665 12.3879 11.9667 13.1106C11.3669 13.8333 10.2506 13.8333 8.01785 13.8333H4.32393C2.09122 13.8333 0.974867 13.8333 0.375055 13.1106C-0.224756 12.3879 -0.0190248 11.2906 0.392437 9.09618L0.892437 6.42951C1.18505 4.86892 1.33135 4.08863 1.8868 3.62765C2.2877 3.29493 2.81282 3.20235 3.67099 3.1766ZM4.6709 2.5C4.6709 1.67157 5.34247 1 6.1709 1C6.99933 1 7.6709 1.67157 7.6709 2.5V3.16667C7.6709 3.16667 7.6709 3.16666 7.6709 3.16667C7.62072 3.16665 7.56971 3.16667 7.51785 3.16667H4.82393C4.77208 3.16667 4.72107 3.16667 4.6709 3.16668C4.6709 3.16668 4.6709 3.16669 4.6709 3.16668V2.5ZM8.48323 6.44292C8.69887 6.61542 8.73383 6.93007 8.56132 7.1457L5.89465 10.479C5.80581 10.5901 5.67387 10.6581 5.53187 10.6659C5.38987 10.6738 5.25123 10.6208 5.15067 10.5202L3.81733 9.1869C3.62207 8.99164 3.62207 8.67506 3.81733 8.4798C4.0126 8.28454 4.32918 8.28454 4.52444 8.4798L5.46254 9.4179L7.78045 6.521C7.95296 6.30537 8.2676 6.27041 8.48323 6.44292Z' fill='white'/%3E%3C/svg%3E")
    }

    .shipping-info-step.is-active .shipping-info-dot {
        background-color: #ff7300
    }

    .shipping-info-date {
        padding-left: 0;
        color: #444;
        font-size: 12px
    }

    .shipping-info-line {
        width: 26px;
        height: 1px;
        background: linear-gradient(90deg,#fff8ec 0,#ff7f0b 100%);
        flex: 1;
        margin: 18px 4px 0;
        min-width: 10px
    }

    .shipping-info-timeline {
        display: flex;
        align-items: flex-start;
        grid-gap: 0;
        display: none; /* khi nào làm chức năng này thì bỏ dòng này đi */
    }

    .shipping-info-label {
        font-weight: 500;
        color: #000;
        line-height: 1.4;
        margin-bottom: 4px
    }

    .shipping-info-step.is-active .shipping-info-date {
        color: #444
    }

    .product-detail-row.product-delivery .product-row-text {
        padding-left: 8px;
    }
}