/* Lock background scrolling */
.no-scroll {
  position: fixed;       /* Prevents background scroll */
  width: 100%;
  overflow: hidden;      /* No background scrolling */
}


#productDetails {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: right;
    padding: 16px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;
    background: linear-gradient(rgba(255, 255, 255, 0.3), #D7E0FD);
    backdrop-filter: blur(3px);
    animation: prodDetailsAmin 250ms ease-out;
    display: none;
}

@keyframes prodDetailsAmin {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.PhoneDetsArea, .userDetsArea {
    width: 100%;
    max-width: 450px;
    height: 100%;
    background-color: white;
    border-radius: var(--br1);
    box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
    position: relative;
    padding: 100px 30px 30px 30px;
    overflow-y: auto;
    overscroll-behavior: contain;
    /* Prevent background scroll bubbling */
    -webkit-overflow-scrolling: touch;
    /* iOS smooth scroll */
    animation: phoneDetailsAmin 250ms ease-out;
}

@keyframes phoneDetailsAmin {
    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0px);
    }
}

.detsClosingButton, .userDetsBackButton, .userDetsClosingButton {
    width: 37px;
    height: 37px;
    font-size: 100%;
    border: none;
    border-radius: var(--br3);
    margin: 15px;
    cursor: pointer;
    transition: 250ms ease-out;
    position: absolute;
    top: 0;
    border: 1px solid rgb(235, 235, 235);
}

.detsClosingButton, .userDetsClosingButton {
    right: 0;
}

.userDetsBackButton {
    left: 0;
}

.detsClosingButton:hover, .userDetsBackButton:hover, .userDetsClosingButton:hover {
    background-color: black;
    color: white;
}

.productImg {
    width: 227px;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
    display: block;
    margin-bottom: 85px;
    -webkit-box-reflect:
        below -1px linear-gradient(to bottom,
            rgba(255, 255, 255, 0),
            rgba(255, 255, 255, 0),
            rgba(255, 255, 255, 0.005),
            rgba(255, 255, 255, 0.15));
}

.prodName {
    font-size: 150%;
    font-family: var(--font2);
    font-weight: 600;
    text-transform: capitalize;
    margin-bottom: 15px;
}

.phoneDets {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 11px;
    margin-bottom: 24px;
}

.oneDet {
    width: auto;
    min-width: 100px;
    height: auto;
    padding: 15px;
    background-color: #f7f7f7;
    border-radius: var(--br3);
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid rgb(235, 235, 235);
}

.oneDet>span {
    font-size: 115%;
    color: rgba(0, 0, 0, 0.65);
    margin-bottom: 5px;
}

.oneDet>p {
    font-size: 80%;
    font-family: var(--font2);
    font-weight: 500;
    text-transform: capitalize;
    margin-bottom: 7px;
}

.oneDet>h2 {
    font-size: 80%;
    font-family: var(--font2);
    font-weight: 500;
    color: gray;
    text-transform: capitalize;
}

.oneVariation {
    width: 100%;
    height: auto;
    margin-bottom: 24px;
}

.purchaseType {
    width: 100%;
    height: auto;
    margin-bottom: 50px;
}

.variationTitle {
    font-size: 100%;
    font-family: var(--font2);
    font-weight: 600;
    text-transform: capitalize;
    margin-bottom: 15px;
}

.variationsHere {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 11px;
    flex-wrap: wrap;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.paymentVariationHere {
    display: flex;
    gap: 11px;
    flex-direction: column;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.variationsHere input,
.paymentVariationHere input {
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(100%);
    clip-path: inset(100%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.variationBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 100%;
    min-width: 100px;
    min-height: 50px;
    border-radius: var(--br3);
    border: 1px solid rgb(227, 227, 227);
    background-color: white;
    transition: 250ms ease-out;
    cursor: pointer;
    position: relative;
    padding: 4px;
}

.purchaseBox {
    display: flex;
    align-items: center;
    gap: 15px;
    width: fit-content;
    width: 100%;
    min-height: 50px;
    border-radius: var(--br3);
    border: 1px solid rgb(227, 227, 227);
    background-color: white;
    transition: 250ms ease-out;
    cursor: pointer;
    position: relative;
    padding: 21px;
}

.purchaseBox>.icon {
    font-size: 115%;
    color: rgba(0, 0, 0, 0.75);
}

.purchaseBoxDets {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

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

.paymentDets>.payment {
    font-size: 80%;
    font-family: var(--font2);
    font-weight: 500;
}

.paymentDets>.price {
    font-size: 90%;
    font-family: var(--font2);
    font-weight: 600;
    text-transform: uppercase;
}

.purchaseBoxDets>.device {
    font-size: 80%;
    font-family: var(--font2);
    font-weight: 500;
    color: gray;
}

.variationsHere input:checked+.variationBox,
.paymentVariationHere input:checked+.purchaseBox {
    border: 1px solid #E62126;
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}

.colorBox {
    width: 100%;
    height: 37px;
    border-radius: 9px;
}

.colorName,
.variationValue {
    font-size: 80%;
    font-family: var(--font2);
    font-weight: 500;
    text-transform: capitalize;
    text-align: center;
    padding: 5px 0;
}

.outOfStock {
    pointer-events: none;
}

.outOfStock .variationBox {
    border: 1px dashed rgb(227, 227, 227);
}

.outOfStock .variationValue {
    color: gray;
}

.proceedToBuy {
    width: 100%;
    border: 1px solid transparent;
    padding: 15px 55px;
    font-family: var(--font2);
    font-weight: 600;
    font-size: 100%;
    border-radius: var(--br3);
    cursor: pointer;
    transition: 250ms ease-out;
    background-color: black;
    color: white;
}

.proceedToPay {
    width: 100%;
    border: 1px solid transparent;
    padding: 15px 55px;
    margin-top: 50px;
    font-family: var(--font2);
    font-weight: 600;
    font-size: 100%;
    border-radius: var(--br3);
    cursor: pointer;
    transition: 250ms ease-out;
    background-color: black;
    color: white;
}

#finalPrice{
    font-size: 75%;
}

.formTitle {
    font-size: 150%;
    font-family: var(--font2);
    font-weight: 600;
    text-transform: capitalize;
    margin-bottom: 37px;
}

.userForm{
    display: flex;
    flex-direction: column;
    gap: 11px;
    width: 100%;
    height: auto;
}

.multipleInputs{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 11px;
}

.oneInput{
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.oneInput>label{
    font-size: 80%;
    font-family: var(--font2);
    font-weight: 500;
    margin: 0 0 0 5px;
}

.oneInput>input{
    border: 1px solid rgba(0, 0, 0, 0.2);
    padding: 0 15px;
    border-radius: var(--br3);
    font-family: var(--font2);
    font-size: 80%;
    font-weight: 400;
    width: 100%;
    height: 45px;
}

.oneInput>input:focus{
    outline: none;
    border: 1px solid #E62126;
}

.userTerms{
    margin-top: 24px;
    font-size: 75%;
    font-family: var(--font2);
    font-weight: 500;
    color: gray;
    padding-left: 15px;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

@media only screen and (max-width: 992px) {
    #productDetails {
        padding: 8px;
    }

    .prodName, .formTitle {
        font-size: 140%;
    }

    .oneDet>span {
        font-size: 110%;
    }

    .oneDet>p {
        font-size: 75%;
    }

    .oneDet>h2 {
        font-size: 75%;
    }

    .variationTitle {
        font-size: 95%;
    }

    .purchaseBox>.icon {
        font-size: 110%;
    }

    .paymentDets>.payment {
        font-size: 75%;
    }

    .paymentDets>.price {
        font-size: 85%;
    }

    .purchaseBoxDets>.device {
        font-size: 75%;
    }

    .colorName,
    .variationValue {
        font-size: 75%;
    }

    .proceedToBuy, .proceedToPay {
        font-size: 90%;
    }
}

@media only screen and (max-width: 576px) {
    #productDetails {
        padding: 0px;
    }

    .PhoneDetsArea, .userDetsArea {
        max-width: 100%;
        border-radius: 0px;
        box-shadow: none;
        padding: 100px 15px 15px 15px;
    }

    .productImg {
        width: 75%;
    }

    .prodName, .formTitle {
        font-size: 150%;
    }

    .oneDet>span {
        font-size: 115%;
    }

    .oneDet>p {
        font-size: 80%;
    }

    .oneDet>h2 {
        font-size: 80%;
    }

    .variationTitle {
        font-size: 100%;
    }

    .purchaseBox>.icon {
        font-size: 115%;
    }

    .paymentDets>.payment {
        font-size: 80%;
    }

    .paymentDets>.price {
        font-size: 90%;
    }

    .purchaseBoxDets>.device {
        font-size: 80%;
    }

    .colorName,
    .variationValue {
        font-size: 80%;
    }

    .proceedToBuy, .proceedToPay {
        font-size: 100%;
    }
}