.closePopup {
    position: fixed;
    top: 18px;
    right: 30px;

    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(255, 255, 255, 0.08);
    border-radius: 50%;
    cursor: pointer;

    transition: background 0.3s ease, transform 0.3s ease;
    z-index: 10000;
}

.closePopup i {
    font-size: 20px;
    color: #fff;
}

.closePopup:hover {
    background: rgba(255, 122, 0, 0.85);
    transform: rotate(90deg);
}


#customPopupAboutUs {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);

    display: flex;
    /* keep flex always */
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;

    z-index: 9999;
}

/* active state */
#customPopupAboutUs.active {
    opacity: 1;
    visibility: visible;
}


.popupContent {
    width: 80%;
    height: 100vh;
    background: #222222;
    position: relative;

    overflow-y: auto;
    overflow-x: hidden;

    transform: translateY(30px) scale(0.97);
    opacity: 0;

    transition:
        transform 0.45s ease,
        opacity 0.45s ease;
}

/* when popup opens */
#customPopupAboutUs.active .popupContent {
    transform: translateY(0) scale(1);
    opacity: 1;
}

body.popup-open {
    overflow: hidden;
}

html.popup-open {
    overflow: hidden;
}


.aboutUsPopUpImg1 {
    display: block;
    width: 100%;
    height: auto;
    max-width: 600px;
    box-shadow: 0 12px 305px rgba(230, 119, 8, 0.6);
    transition:
        transform 0.4s ease,
        box-shadow 0.4s ease;
}

.aboutUsPopUpImg1:hover {
    transform: translateY(-8px) scale(1.02);

}

/* popup box */
.popupContent {
    width: 80%;
    height: 100vh;
    background: #222222;
    position: relative;

    overflow-y: auto;
    overflow-x: hidden;
    text-align: center;
}

/* Firefox */
.popupContent {
    scrollbar-width: thin;
    scrollbar-color: #3c3b3a #1a1a1a;
}

/* Chrome, Edge, Safari */
.popupContent::-webkit-scrollbar {
    width: 6px;
}

.popupContent::-webkit-scrollbar-track {
    background: #1a1a1a;
}

.popupContent::-webkit-scrollbar-thumb {
    background-color: #524f4c;
    border-radius: 10px;
}

.popupContent::-webkit-scrollbar-thumb:hover {
    background-color: #ff9a3c;
}


.popupTextContent {
    padding: clamp(1.5rem, 3vw, 1.875rem) clamp(2rem, 8vw, 8.75rem);
    color: #ddd;
    line-height: 1.8;
    font-size: 16px;
}

.popupTextContent h2 {
    color: #ff7a00;
    margin-bottom: 20px;
}

.popupTextContent h3 {
    color: #ffffff;
    margin-top: 30px;
    margin-bottom: 10px;
}

.popupTextContent p {
    margin-bottom: 15px;
}

/* close button */
.closePopup {
    position: fixed;
    top: 15px;
    right: 30px;
    font-size: 32px;
    color: #fff;
    cursor: pointer;
    z-index: 10000;
}

#customPopupVideoEdit {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;

    z-index: 9999;
}

#customPopupVideoEdit.active {
    opacity: 1;
    visibility: visible;
}

.popupVideoEdit {
    width: 80%;
    height: 100vh;
    background: #222;
    text-align: center;

    transform: translateY(30px) scale(0.97);
    opacity: 0;

    transition: transform 0.45s ease, opacity 0.45s ease;
}

#customPopupVideoEdit.active .popupVideoEdit {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.videoServiceCards {
    display: flex;
    gap: 40px;
    justify-content: center;
    margin-top: 40px;
    flex-wrap: wrap;
}

.serviceCard {
    background: #3a3a3a;
    border-radius: 16px;
    padding: 40px;
    width: 320px;

    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.serviceCard:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(255, 122, 0, 0.3);
}

.serviceCard h5 {
    color: #ff7a00;
    font-size: 24px;
}

/* overlay */
#customPopupScriptWrite {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 9999;
}

#customPopupScriptWrite.active {
    opacity: 1;
    visibility: visible;
}

/* popup animation */
.popupScriptWrite {
    width: 80%;
    height: 100vh;
    background: #222;

    transform: translateY(30px) scale(0.97);
    opacity: 0;
    transition: transform 0.45s ease, opacity 0.45s ease;
}

#customPopupScriptWrite.active .popupScriptWrite {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.scriptLevelExactCard {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 40px;

    background: #3f3f3f;
    border-radius: 22px;
    padding: 40px;

    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.08),
        0 0 80px rgba(0, 0, 0, 0.6);

    margin-bottom: 50px;
}

/* LEFT SIDE */
.levelSide {
    display: flex;
    align-items: center;
    justify-content: center;
}

.levelSide span {
    font-size: clamp(2.2rem, 4vw, 3.5rem) !important;
    font-weight: 600;
    color: #ff7a00;
}

.levelSide2 span {
    font-size: clamp(1.2rem, 4vw, 2.4rem) !important;
    font-weight: 600;
    color: #ff7a00;
}

/* RIGHT CONTENT */
.levelContent {
    color: #eee;
    font-size: 16px;
    text-align: start;
}

.sectionTitle {
    color: #ff7a00;
    font-size: clamp(0.8rem, 1.1vw + 0.5rem, 1rem);
}

.sectionTitle.warn {
    margin-top: 20px;
}


.levelContent li {
    font-size: clamp(1rem, 0.85vw + 0.5rem, 1.0625rem) !important;

}

.levelContent p {
    margin-top: 5px;
    color: #ddd;
}

/*  Hover polish */
.scriptLevelExactCard:hover {
    box-shadow:
        inset 0 0 0 2px rgba(255, 122, 0, 0.4),
        0 0 120px rgba(255, 122, 0, 0.15);
    transition: box-shadow 0.4s ease;
}


@media (max-width: 1100px) {
    .scriptLevelExactCard {
        grid-template-columns: 1fr;
        padding: 25px;
        gap: 20px;
        text-align: start;
    }

    .levelSide {
        justify-content: flex-start;
    }

    .levelSide span {
        font-size: 2rem;
    }
}

#customPopupReelsEdit {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 9999;
}

#customPopupReelsEdit.active {
    opacity: 1;
    visibility: visible;
    z-index: 9999;

}

#customPopupReelsEdit.active .popupContent {
    transform: translateY(0) scale(1);
    opacity: 1;
}

#customPopupLongFormEdit {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 9999;
}

#customPopupLongFormEdit.active {
    opacity: 1;
    visibility: visible;
}

/* content animation */
#customPopupLongFormEdit.active .popupContent {
    transform: translateY(0) scale(1);
    opacity: 1;
}


@media(max-width:768px) {


    .popupContent {
        width: 90%;
    }

    .popupVideoEdit {
        width: 90%;
    }

    .popupScriptWrite {
        width: 90%;
    }
}

/* ========================================= */
/* DYNAMIC MODALS */
/* ========================================= */

#dynamicSubServiceModal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 9999;
}

#dynamicSubServiceModal.active {
    opacity: 1;
    visibility: visible;
}

#dynamicSubServiceModal.active .popupContent {
    transform: translateY(0) scale(1);
    opacity: 1;
}


#dynamicServiceItemsModal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);

    display: flex;
    justify-content: center;
    align-items: center;

    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    z-index: 9999;
}

#dynamicServiceItemsModal.active {
    opacity: 1;
    visibility: visible;
}

#dynamicServiceItemsModal.active .popupContent {
    transform: translateY(0) scale(1);
    opacity: 1;
}