﻿/* ==========================================================
   SOFTWARE ONLINE
   ELOGTIME - SOFTWARE ONLINE LANDING PAGE
   ========================================================== */


/* ==========================================================
   HERO
   ========================================================== */

.software-hero {
    position: relative;
    padding: 90px 0;
    background: linear-gradient( 135deg, rgba(10, 37, 64, .97), rgba(20, 66, 114, .93) );
    color: #fff;
    overflow: hidden;
}


    /* Decorative background */

    .software-hero::before {
        content: "";
        position: absolute;
        width: 420px;
        height: 420px;
        top: -180px;
        right: -120px;
        background: rgba(25, 135, 84, .16);
        border-radius: 50%;
        filter: blur(10px);
        pointer-events: none;
    }


    .software-hero::after {
        content: "";
        position: absolute;
        width: 300px;
        height: 300px;
        bottom: -170px;
        left: -100px;
        background: rgba(25, 135, 84, .12);
        border-radius: 50%;
        filter: blur(20px);
        pointer-events: none;
    }


/* ==========================================================
   HERO CONTENT
   ========================================================== */

.software-hero-content {
    position: relative;
    z-index: 2;
}


.software-hero-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 13px;
    margin-bottom: 18px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
}


    .software-hero-label i {
        color: #5ee89a;
    }


/* ==========================================================
   HERO TITLE
   ========================================================== */

.software-hero-title {
    margin-bottom: 22px;
    font-size: clamp(2.2rem, 5vw, 3.5rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.5px;
    color: #fff;
}


    .software-hero-title span {
        display: block;
        margin-top: 8px;
        font-size: .72em;
        font-weight: 700;
        line-height: 1.3;
        opacity: .95;
    }


/* ==========================================================
   HERO TEXT
   ========================================================== */

.software-hero-text {
    max-width: 700px;
    margin-bottom: 25px;
    font-size: 1.08rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, .92);
}


/* ==========================================================
   HERO IMAGE SHOWCASE
   ========================================================== */

.software-hero-image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    padding: 30px 20px;
    z-index: 2;
}


/* ==========================================================
   IMAGE GLOW
   ========================================================== */

.software-hero-glow {
    position: absolute;
    width: 420px;
    height: 420px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(25, 135, 84, .32);
    border-radius: 50%;
    filter: blur(75px);
    pointer-events: none;
}


/* ==========================================================
   MAIN IMAGE CARD
   ========================================================== */

.software-hero-card {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 650px;
    padding: 14px;
    background: rgba(255, 255, 255, .97);
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 22px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, .28), 0 5px 15px rgba(0, 0, 0, .12);
    transform: perspective(1200px) rotateY(-2deg);
    transition: transform .35s ease, box-shadow .35s ease;
}


    .software-hero-card:hover {
        transform: perspective(1200px) rotateY(0) translateY(-5px);
        box-shadow: 0 30px 70px rgba(0, 0, 0, .32);
    }


/* ==========================================================
   IMAGE CARD HEADER
   ========================================================== */

.software-hero-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 5px 8px 13px;
    color: #0a2540;
    font-size: 12px;
    font-weight: 700;
}


    .software-hero-card-top > span:first-child {
        display: flex;
        align-items: center;
        gap: 6px;
    }


        .software-hero-card-top > span:first-child i {
            color: #198754;
            font-size: 15px;
        }


/* ==========================================================
   ONLINE STATUS
   ========================================================== */

.software-hero-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 5px 9px;
    background: #eaf8f1;
    border-radius: 20px;
    color: #198754;
    font-size: 10px;
    font-weight: 700;
}


    .software-hero-status i {
        font-size: 7px;
    }


/* ==========================================================
   HERO MAIN IMAGE
   ========================================================== */

.software-hero-card img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
}


/* ==========================================================
   FLOATING BADGES
   ========================================================== */

.software-hero-badge {
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    background: rgba(255, 255, 255, .97);
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 13px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .18);
    color: #0a2540;
    animation: softwareHeroFloat 4s ease-in-out infinite;
}


    .software-hero-badge i {
        width: 34px;
        height: 34px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #eaf8f1;
        border-radius: 10px;
        color: #198754;
        font-size: 17px;
    }


    .software-hero-badge div {
        display: flex;
        flex-direction: column;
        line-height: 1.2;
    }


    .software-hero-badge strong {
        font-size: 11px;
        font-weight: 800;
        color: #0a2540;
    }


    .software-hero-badge small {
        margin-top: 3px;
        font-size: 9px;
        color: #6c757d;
    }


/* ==========================================================
   BADGE POSITION
   ========================================================== */

.software-hero-badge-1 {
    top: 23%;
    left: -5px;
}


.software-hero-badge-2 {
    top: 40%;
    right: -5px;
    animation-delay: 1s;
}


.software-hero-badge-3 {
    bottom: 7%;
    left: 10%;
    animation-delay: 2s;
}


/* ==========================================================
   BADGE ANIMATION
   ========================================================== */

@keyframes softwareHeroFloat {

    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}


/* ==========================================================
   EXISTING DEVICE CTA
   ========================================================== */

.hero-existing-device {
    position: relative;
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    max-width: 520px;
    margin: 22px auto 0;
    padding: 15px 48px 15px 16px;
    background: linear-gradient( 135deg, #198754, #16a34a );
    border: 3px solid #fff;
    border-radius: 16px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .18);
    cursor: pointer;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease;
}


    .hero-existing-device:hover {
        transform: translateY(-3px);
        box-shadow: 0 13px 30px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255, 255, 255, .22);
    }


/* ==========================================================
   CTA ICON
   ========================================================== */

.hero-existing-device-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 12px;
    color: #fff;
    font-size: 25px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15);
}


/* ==========================================================
   CTA CONTENT
   ========================================================== */

.hero-existing-device-content {
    min-width: 0;
    text-align: left;
}


.hero-existing-device-title {
    margin-bottom: 1px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
}


.hero-existing-device-text {
    font-size: 21px;
    font-weight: 900;
    line-height: 1.3;
    letter-spacing: -.2px;
    color: #fff;
}


.hero-existing-device-sub {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: rgba(255, 255, 255, .88);
}


/* ==========================================================
   CTA ARROW
   ========================================================== */

.hero-existing-device-arrow {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    color: #fff;
    font-size: 28px;
    transition: transform .2s ease;
}


.hero-existing-device:hover
.hero-existing-device-arrow {
    transform: translate(4px, -50%);
}


/* ==========================================================
   SECTION TITLE
   ========================================================== */

.section-title {
    margin-bottom: 20px;
    color: #0a2540;
    font-weight: 800;
    line-height: 1.3;
}


/* ==========================================================
   TECH BOX
   ========================================================== */

.tech-box {
    padding: 40px;
    background: #f8fbff;
    border: 1px solid #e5edf5;
    border-radius: 22px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .05);
}


    .tech-box p {
        line-height: 1.8;
    }


    .tech-box ul {
        margin-bottom: 0;
    }


    .tech-box li {
        line-height: 1.6;
    }


/* ==========================================================
   FEATURE CARD
   ========================================================== */

.feature-card {
    height: 100%;
    padding: 25px;
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 18px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .05);
    transition: transform .25s ease, box-shadow .25s ease;
}


    .feature-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 14px 30px rgba(0, 0, 0, .09);
    }


    .feature-card img {
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 20px;
        border-radius: 12px;
        cursor: zoom-in;
    }


    .feature-card h3 {
        margin-bottom: 10px;
        font-size: 20px;
        font-weight: 800;
        line-height: 1.4;
        color: #0a2540;
    }


    .feature-card p {
        margin-bottom: 0;
        line-height: 1.7;
    }


/* ==========================================================
   FAQ
   ========================================================== */

.faq-box .accordion-item {
    overflow: hidden;
    border-color: #e9ecef;
}


.faq-box .accordion-button {
    font-weight: 700;
    line-height: 1.5;
    color: #0a2540;
}


    .faq-box .accordion-button:not(.collapsed) {
        color: #198754;
        background: #f5fbf8;
        box-shadow: none;
    }


    .faq-box .accordion-button:focus {
        box-shadow: 0 0 0 .15rem rgba(25, 135, 84, .15);
    }


.faq-box .accordion-body {
    line-height: 1.8;
    color: #495057;
}


/* ==========================================================
   CTA SECTION
   ========================================================== */

.cta-section {
    padding: 65px 40px;
    background: linear-gradient( 135deg, #0a2540, #144272 );
    color: #fff;
    border-radius: 24px;
    box-shadow: 0 15px 40px rgba(10, 37, 64, .15);
}


    .cta-section h2 {
        color: #fff;
    }


    .cta-section p {
        color: rgba(255, 255, 255, .9);
        line-height: 1.7;
    }


/* ==========================================================
   IMAGE MODAL
   ========================================================== */

#imgModal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(0, 0, 0, .88);
    cursor: zoom-out;
}


    #imgModal.show {
        display: flex;
    }


    #imgModal img {
        display: block;
        max-width: 95vw;
        max-height: 90vh;
        width: auto;
        height: auto;
        object-fit: contain;
        border-radius: 10px;
        box-shadow: 0 15px 50px rgba(0, 0, 0, .4);
        cursor: default;
    }


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width: 991.98px) {

    .software-hero {
        padding: 65px 0;
    }


    .software-hero-content {
        text-align: center;
    }


    .software-hero-text {
        margin-right: auto;
        margin-left: auto;
    }


    .software-hero-image {
        min-height: auto;
        padding: 30px 10px 55px;
    }


    .hero-existing-device {
        margin-right: auto;
        margin-left: auto;
        text-align: left;
    }


    .software-hero-badge-1 {
        left: 0;
    }


    .software-hero-badge-2 {
        right: 0;
    }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 575.98px) {

    /* ------------------------------------------------------
       HERO
       ------------------------------------------------------ */

    .software-hero {
        padding: 50px 0;
    }


    .software-hero-label {
        padding: 6px 11px;
        margin-bottom: 15px;
        font-size: 11px;
    }


    .software-hero-title {
        margin-bottom: 18px;
        font-size: 2.1rem;
        letter-spacing: -.3px;
    }


        .software-hero-title span {
            margin-top: 6px;
            font-size: .68em;
        }


    .software-hero-text {
        margin-bottom: 20px;
        font-size: .98rem;
        line-height: 1.7;
    }


    /* ------------------------------------------------------
       HERO IMAGE
       ------------------------------------------------------ */

    .software-hero-image {
        min-height: auto;
        padding: 10px 5px 45px;
    }


    .software-hero-glow {
        width: 280px;
        height: 280px;
        filter: blur(55px);
    }


    .software-hero-card {
        padding: 9px;
        border-radius: 17px;
        transform: none;
    }


        .software-hero-card:hover {
            transform: translateY(-3px);
        }


    .software-hero-card-top {
        padding: 3px 5px 9px;
        font-size: 9px;
    }


        .software-hero-card-top > span:first-child i {
            font-size: 11px;
        }


    .software-hero-status {
        padding: 4px 7px;
        font-size: 8px;
    }


        .software-hero-status i {
            font-size: 6px;
        }


    .software-hero-card img {
        border-radius: 11px;
    }


    /* ------------------------------------------------------
       FLOATING BADGES
       ------------------------------------------------------ */

    .software-hero-badge {
        gap: 6px;
        padding: 7px 9px;
        border-radius: 10px;
        box-shadow: 0 7px 18px rgba(0, 0, 0, .17);
    }


        .software-hero-badge i {
            width: 28px;
            height: 28px;
            border-radius: 8px;
            font-size: 14px;
        }


        .software-hero-badge strong {
            font-size: 9px;
        }


        .software-hero-badge small {
            margin-top: 2px;
            font-size: 7px;
        }


    .software-hero-badge-1 {
        top: 20%;
        left: 0;
    }


    .software-hero-badge-2 {
        top: 42%;
        right: 0;
    }


    .software-hero-badge-3 {
        bottom: 2%;
        left: 7%;
    }


    /* ------------------------------------------------------
       EXISTING DEVICE CTA
       ------------------------------------------------------ */

    .hero-existing-device {
        gap: 9px;
        margin-top: 14px;
        padding: 12px 40px 12px 12px;
        border-width: 2px;
        border-radius: 14px;
    }


    .hero-existing-device-icon {
        flex: 0 0 40px;
        width: 40px;
        height: 40px;
        border-radius: 10px;
        font-size: 20px;
    }


    .hero-existing-device-title {
        font-size: 13px;
    }


    .hero-existing-device-text {
        font-size: 17px;
        line-height: 1.3;
    }


    .hero-existing-device-sub {
        margin-top: 2px;
        font-size: 10px;
    }


    .hero-existing-device-arrow {
        right: 10px;
        font-size: 23px;
    }


    /* ------------------------------------------------------
       SECTION
       ------------------------------------------------------ */

    .section-title {
        margin-bottom: 15px;
        font-size: 1.65rem;
    }


    .tech-box {
        padding: 25px;
        border-radius: 18px;
    }


    /* ------------------------------------------------------
       FEATURE CARD
       ------------------------------------------------------ */

    .feature-card {
        padding: 18px;
        border-radius: 15px;
    }


        .feature-card h3 {
            font-size: 18px;
        }


        .feature-card p {
            font-size: .94rem;
            line-height: 1.65;
        }


    /* ------------------------------------------------------
       FAQ
       ------------------------------------------------------ */

    .faq-box .accordion-button {
        padding: 14px;
        font-size: .95rem;
    }


    .faq-box .accordion-body {
        padding: 14px;
        font-size: .92rem;
        line-height: 1.7;
    }


    /* ------------------------------------------------------
       CTA
       ------------------------------------------------------ */

    .cta-section {
        padding: 45px 20px;
        border-radius: 18px;
    }


        .cta-section h2 {
            font-size: 1.6rem;
        }


        .cta-section p {
            font-size: .95rem;
            line-height: 1.7;
        }


    /* ------------------------------------------------------
       MODAL
       ------------------------------------------------------ */

    #imgModal {
        padding: 10px;
    }


        #imgModal img {
            max-width: 96vw;
            max-height: 85vh;
            border-radius: 7px;
        }
}
