﻿/* =====================================================
GENERAL
===================================================== */

section {
    scroll-margin-top: 100px;
}

.orangeColor {
    color: #fd5202;
}

.whiteColor {
    color: #ffffff;
}

.backBlue {
    background-color: #060e17;
}

.margin0 {
    margin: 0;
}

/* =====================================================
SLIDER ICON
===================================================== */

.iconSlider {
    width: 52px !important;
    height: 52px !important;
    padding-top: 12px !important;
    font-size: 20px !important;
}

/* =====================================================
CUSTOM CONTAINER
===================================================== */

.sh-container {
    width: 100%;
    max-width: 1800px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

/* =====================================================
LINE SEPARATOR
===================================================== */

.line-separator {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 260px;
    margin: 0 auto;
}

    .line-separator .line {
        width: 85px;
        height: 1px;
        background: linear-gradient( to right, transparent, #ff6a00 );
    }

    .line-separator .right {
        background: linear-gradient( to left, transparent, #ff6a00 );
    }

    .line-separator .diamond {
        width: 10px;
        height: 10px;
        border: 1px solid #ff6a00;
        transform: rotate(45deg);
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 0 4px rgba(255, 106, 0, 0.6);
    }

    .line-separator .diamond-inner {
        width: 3px;
        height: 3px;
        background: #ff6a00;
        border-radius: 50%;
    }

/* =====================================================
EXPERIENCE WRAPPER
===================================================== */

.experience-wrapper {
    position: relative;
    width: 100%;
    height: 450px;
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    background-color: #0a121d;
    border: 1px solid #43444b;
    overflow: hidden;
}

/* =====================================================
EXPERIENCE HEADER
===================================================== */

.experience-header {
    position: relative;
    flex: 0 0 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px 0;
    background-color: #0a121d;
    z-index: 10;
}

    .experience-header .title-area {
        margin-bottom: 0 !important;
    }

/* =====================================================
EXPERIENCE SCROLL BOX
===================================================== */

.experience-box {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    padding: 10px 20px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    cursor: grab;
    user-select: none;
    -webkit-overflow-scrolling: touch;
}

    .experience-box::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
    }

    .experience-box.dragging {
        cursor: grabbing;
    }

/* =====================================================
EXPERIENCE TIMELINE
===================================================== */

.experience-timeline {
    position: relative;
    direction: rtl;
    width: 100%;
    height: auto;
    min-height: max-content;
    padding: 10px 0;
}

    /* خط عمودی */

    .experience-timeline::before {
        content: "";
        position: absolute;
        left: 165px;
        top: 15px;
        width: 1px;
        height: calc(100% - 30px);
        background: rgba(255, 106, 0, 0.55);
        box-shadow: 0 0 5px rgba(255, 106, 0, 0.4);
    }

/* =====================================================
EXPERIENCE ITEM
===================================================== */

.experience-item {
    position: relative;
    display: grid;
    grid-template-columns: 160px 1fr 30px 150px;
    grid-template-areas:
        "company content point date";
    align-items: start;
    min-height: 82px;
}

/* =====================================================
EXPERIENCE COMPANY
===================================================== */

.experience-company {
    grid-area: company;
    text-align: right;
    padding-left: 10px;
}

    .experience-company h3 {
        margin: 0;
        color: #ff6a00;
        font-size: 15px;
        font-weight: 700;
        white-space: nowrap;
    }

/* =====================================================
EXPERIENCE CONTENT
===================================================== */

.experience-content {
    grid-area: content;
    padding: 0 12px;
    text-align: left;
}

    .experience-content h4 {
        margin: 0 0 3px;
        color: #ffffff;
        font-size: 14px;
        font-weight: 600;
    }

    .experience-content p {
        margin: 0;
        color: rgba(255, 255, 255, 0.5);
        font-size: 14px;
        line-height: 1.7;
    }

/* =====================================================
EXPERIENCE POINT
===================================================== */

.experience-point {
    grid-area: point;
    position: relative;
    width: 10px;
    height: 10px;
    margin: 4px auto 0;
    border-radius: 50%;
    background: #ff6a00;
    box-shadow: 0 0 5px rgba(255, 106, 0, 0.8), 0 0 10px rgba(255, 106, 0, 0.3);
    z-index: 2;
}

    .experience-point::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 10px;
        width: 18px;
        height: 1px;
        background: rgba(255, 106, 0, 0.6);
        transform: translateY(-50%);
    }

/* =====================================================
EXPERIENCE DATE
===================================================== */

.experience-date {
    grid-area: date;
    padding-top: 1px;
    color: #ff6a00;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    white-space: nowrap;
}

/* =====================================================
EXPERIENCE FOOTER
===================================================== */

.experience-footer {
    position: relative;
    flex: 0 0 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #0a121d;
    z-index: 10;
}

/* =====================================================
EXPERIENCE BUTTON
===================================================== */

.experience-scroll-down {
    min-width: 150px;
    height: 42px;
    padding: 0 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 1px solid #ff6a00;
    border-radius: 8px;
    background-color: #0a121d;
    color: #ff6a00;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 0 5px rgba(255, 106, 0, 0.4), 0 0 12px rgba(255, 106, 0, 0.15);
}

    .experience-scroll-down i {
        font-size: 13px;
    }

    .experience-scroll-down:hover {
        background-color: #ff6a00;
        color: #ffffff;
        box-shadow: 0 0 8px #ff6a00, 0 0 18px rgba(255, 106, 0, 0.5);
    }

    /* حالت رسیدن به انتهای لیست */

    .experience-scroll-down.reached-end,
    .skills-btn.reached-end {
        border-color: #43444b;
        color: rgba(255, 255, 255, 0.45);
        box-shadow: none;
        cursor: default;
    }

        .experience-scroll-down.reached-end:hover,
        .skills-btn.reached-end:hover {
            background-color: #0a121d;
            border-color: #43444b;
            color: rgba(255, 255, 255, 0.45);
            box-shadow: none;
        }

/* =====================================================
EXPERIENCE RESPONSIVE
===================================================== */

@media (max-width: 767px) {

    .experience-wrapper {
        height: 450px;
    }

    .experience-box {
        padding-left: 12px;
        padding-right: 12px;
    }

    .experience-item {
        grid-template-columns: 100px 1fr 25px 120px;
        min-height: 90px;
    }

    .experience-timeline::before {
        left: 132.5px;
    }

    .experience-company h3 {
        font-size: 13px;
    }

    .experience-content h4 {
        font-size: 13px;
    }

    .experience-content p {
        font-size: 10px;
    }

    .experience-date {
        font-size: 10px;
        text-align: center;
    }
}

/* =====================================================
SKILLS WRAPPER
===================================================== */

.skills-wrapper {
    position: relative;
    width: 100%;
    height: 450px;
    display: flex;
    flex-direction: column;
    background-color: #0a121d;
    border: 1px solid #43444b;
    border-radius: 10px;
    overflow: hidden;
    box-sizing: border-box;
}

/* =====================================================
SKILLS HEADER
===================================================== */

.skills-header {
    position: relative;
    flex: 0 0 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px 0;
    background-color: #0a121d;
    direction: rtl;
    z-index: 10;
}

    .skills-header .title-area {
        margin-bottom: 0 !important;
    }

/* =====================================================
SKILLS LIST
===================================================== */

.skills-list {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    max-height: 340px;
    padding: 10px 20px;
    overflow-y: auto;
    overflow-x: hidden;
    direction: ltr;
    cursor: grab;
    user-select: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

    .skills-list::-webkit-scrollbar {
        width: 0;
        height: 0;
        display: none;
    }

    .skills-list.dragging {
        cursor: grabbing;
    }

/* =====================================================
SKILL ITEM
===================================================== */

.skill-item {
    width: 100%;
    display: grid;
    grid-template-columns: 30px 145px 1fr 45px;
    align-items: center;
    column-gap: 12px;
    min-height: 45px;
    margin-bottom: 8px;
    direction: ltr;
}

/* =====================================================
SKILL ICON
===================================================== */

.skill-icon {
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background-color: #6725a8;
    color: #ffffff;
    font-size: 9px;
    font-weight: 700;
    flex-shrink: 0;
}

/* =====================================================
SKILL NAME
===================================================== */

.skill-name {
    color: rgba(255, 255, 255, 0.75);
    font-size: 13px;
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
}

/* =====================================================
SKILL PROGRESS
===================================================== */

.skill-progress {
    position: relative;
    width: 100%;
    height: 5px;
    background-color: #26313e;
    border-radius: 20px;
    overflow: hidden;
}

.skill-progress-bar {
    height: 100%;
    background: linear-gradient( 90deg, #ff7a00, #ff5a00 );
    border-radius: 20px;
}

/* =====================================================
SKILL PERCENT
===================================================== */

.skill-percent {
    color: rgba(255, 255, 255, 0.75);
    font-size: 12px;
    text-align: right;
    white-space: nowrap;
}

/* =====================================================
SKILLS FOOTER
===================================================== */

.skills-footer {
    position: relative;
    flex: 0 0 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    background-color: #0a121d;
    z-index: 10;
}

/* =====================================================
SKILLS BUTTON
===================================================== */

.skills-btn {
    min-width: 170px;
    height: 42px;
    padding: 0 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid #ff6a00;
    border-radius: 8px;
    background-color: #0a121d;
    color: #ff6a00;
    font-size: 14px;
    font-weight: 600;
    direction: rtl;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 0 5px rgba(255, 106, 0, 0.4), 0 0 12px rgba(255, 106, 0, 0.15);
}

    .skills-btn:hover {
        background-color: #ff6a00;
        color: #ffffff;
        border-color: #ff6a00;
        box-shadow: 0 0 8px #ff6a00, 0 0 18px rgba(255, 106, 0, 0.5);
    }

/* =====================================================
SKILLS RESPONSIVE
===================================================== */

@media (max-width: 767px) {

    .skills-wrapper {
        height: 450px;
    }

    .skills-list {
        padding-left: 12px;
        padding-right: 12px;
    }

    .skill-item {
        grid-template-columns: 28px 110px 1fr 38px;
        column-gap: 8px;
    }

    .skill-icon {
        width: 23px;
        height: 23px;
        font-size: 8px;
    }

    .skill-name {
        font-size: 11px;
    }

    .skill-percent {
        font-size: 11px;
    }
}

/* =====================================================
UTILITIES
===================================================== */

.font30 {
    font-size: 30px !important;
}

.font22 {
    font-size: 22px !important;
}

.positionIcon {
    position: relative;
    top: 10px;
}

.margin-5 {
    margin-top: -5px;
}

.logoText {
    font-size: 12px;
    color: #d3d3d3;
}

.positionLogo {
    position: relative;
    top: 10px;
}

.margintop-6 {
    margin-top: -6px;
}

/* =====================================================
HERO RESPONSIVE
===================================================== */

/* -----------------------------------------------------
TABLET
768px تا 991px
----------------------------------------------------- */

@media (min-width: 768px) and (max-width: 991.98px) {

    .hero-mobile-layout {
        position: relative;
        min-height: 650px;
    }

        /* عکس */

        .hero-mobile-layout > div:first-child {
            position: relative;
            width: 100%;
            max-width: 100%;
            flex: 0 0 100%;
            z-index: 1;
        }

        .hero-mobile-layout .hero-img {
            position: relative;
            width: 100%;
            height: 650px;
        }

            .hero-mobile-layout .hero-img img {
                width: 100%;
                height: 100%;
                object-fit: contain;
                object-position: center bottom;
            }

        /* لایه تیره روی Hero
روی hero-img قرار ندادیم چون after مخصوص Neon است */

        .hero-mobile-layout::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient( to bottom, rgba(6, 14, 23, 0.55) 0%, rgba(6, 14, 23, 0.20) 40%, rgba(6, 14, 23, 0.03) 75%, transparent 100% );
            pointer-events: none;
            z-index: 2;
        }

        /* نوشته‌ها */

        .hero-mobile-layout > div:last-child,
        .hero-mobile-content {
            position: absolute !important;
            top: 150px;
            left: 40px;
            right: auto;
            width: 52%;
            max-width: 520px;
            padding: 0;
            z-index: 10;
        }

        .hero-mobile-layout .hero-style14 {
            position: relative;
            text-align: right;
            padding: 0 !important;
        }

        .hero-mobile-layout .btn-group {
            justify-content: flex-start;
        }

        .hero-mobile-layout .th-social {
            justify-content: flex-start;
        }

    /* Neon در حالت Tablet */

    .hero-14 .hero-img::before,
    .hero-14 .hero-img::after {
        left: 50% !important;
        right: auto !important;
        top: 240px !important;
        bottom: auto !important;
        width: 570px !important;
        height: 390px !important;
        transform: translateX(-50%) skew(330deg) rotate(254deg) !important;
    }
}

/* -----------------------------------------------------
MOBILE
زیر 768px
----------------------------------------------------- */

@media (max-width: 767.98px) {

    .hero-mobile-layout {
        position: relative;
        min-height: 700px;
    }

        /* عکس */

        .hero-mobile-layout > div:first-child {
            position: relative;
            width: 100%;
            max-width: 100%;
            flex: 0 0 100%;
            z-index: 1;
        }

        .hero-mobile-layout .hero-img {
            position: relative;
            width: 100%;
            height: 700px;
        }

            .hero-mobile-layout .hero-img img {
                width: 100%;
                height: 100%;
                object-fit: contain;
                object-position: center bottom;
            }

        /* لایه تیره */

        .hero-mobile-layout::after {
            content: "";
            position: absolute;
            inset: 0;
            background: linear-gradient( to bottom, rgba(6, 14, 23, 0.72) 0%, rgba(6, 14, 23, 0.35) 34%, rgba(6, 14, 23, 0.05) 68%, transparent 100% );
            z-index: 2;
            pointer-events: none;
        }

        /* نوشته‌ها */

        .hero-mobile-layout > div:last-child,
        .hero-mobile-content {
            position: absolute !important;
            top: 170px;
            right: 0;
            left: 0;
            width: 100%;
            max-width: 100%;
            padding: 0 25px;
            z-index: 10;
        }

        .hero-mobile-layout .hero-style14 {
            position: relative;
            padding: 0 !important;
            text-align: center;
        }

        /* دکمه‌ها */

        .hero-mobile-layout .btn-group {
            justify-content: center;
        }

        /* شبکه اجتماعی */

        .hero-mobile-layout .th-social {
            justify-content: center;
        }

    /* Neon موبایل */

    .hero-14 .hero-img::before,
    .hero-14 .hero-img::after {
        left: 50% !important;
        right: auto !important;
        top: 250px !important;
        bottom: auto !important;
        width: 540px !important;
        height: 390px !important;
        transform: translateX(-50%) skew(330deg) rotate(254deg) !important;
    }
}

/* -----------------------------------------------------
MOBILE SMALL
زیر 576px
----------------------------------------------------- */

@media (max-width: 575.98px) {

    .hero-mobile-layout {
        min-height: 690px;
    }

        .hero-mobile-layout .hero-img {
            height: 690px;
        }

        .hero-mobile-layout > div:last-child,
        .hero-mobile-content {
            top: 165px;
            padding-left: 15px;
            padding-right: 15px;
        }

    /*
این Rule عمداً با !important نوشته شده
تا Responsive قدیمی قالب برای :before و :after
که right / left / transform را تغییر می‌دهد،
دیگر Neon را پرت نکند.
*/

    .hero-14 .hero-img::before,
    .hero-14 .hero-img::after {
        left: 50% !important;
        right: auto !important;
        top: 245px !important;
        bottom: auto !important;
        width: 520px !important;
        height: 380px !important;
        transform: translateX(-50%) skew(330deg) rotate(254deg) !important;
    }
}

/* -----------------------------------------------------
MOBILE VERY SMALL
----------------------------------------------------- */

@media (max-width: 420px) {

    .hero-mobile-layout > div:last-child,
    .hero-mobile-content {
        top: 155px;
    }

    .hero-14 .hero-img::before,
    .hero-14 .hero-img::after {
        width: 480px !important;
        height: 365px !important;
        top: 245px !important;
    }
}

.cursorPointer {
    cursor: pointer;
}

/* =====================================================
HEADER MODE WITH DRAGGABLE HERO
===================================================== */

/* حالت عادی: Hero اولین بخش نیست */
body:not(.hero-is-first) .th-header,
body:not(.hero-is-first) .header-layout1,
body:not(.hero-is-first) .header-layout14 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    transform: none !important;
    background: #060e17 !important;
    z-index: 9999 !important;
}

/* وقتی Hero اولین بخش است */
body.hero-is-first .th-header,
body.hero-is-first .header-layout1,
body.hero-is-first .header-layout14 {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    background: transparent !important;
    z-index: 9999 !important;
}

body.modal-open .th-header,
body.modal-open .header-layout1,
body.modal-open .header-layout14 {
    z-index: 1000 !important;
}

@media (max-width: 991px) {

    .cta-wrap3 {
        background-size: cover;
        background-position: 65% center;
    }
}