*{
    box-sizing:border-box;
    margin:0;
    padding:0;
}


:root{

    --bg:#08050d;

    --panel:#120a19;
    --panel2:#190d23;

    --p:#a855f7;
    --pl:#d8a5ff;

    --text:#fff;
    --soft:#ddd3e4;

    --muted:#93859b;

    --line:rgba(216,165,255,.16);

}


html,
body{

    min-height:100%;

    background:
        var(--bg);

    color:
        var(--text);

    font-family:
        Cairo,
        sans-serif;

}


body{

    overflow-x:hidden;

}


.hidden{

    display:none!important;

}


.hidden-app{

    opacity:0;

    visibility:hidden;

}


/* =========================
   التطبيق
========================= */

.app-shell{

    min-height:100vh;

    background:

        radial-gradient(
            circle at 50% -15%,
            rgba(168,85,247,.18),
            transparent 38%
        ),

        linear-gradient(
            180deg,
            #0c0611,
            #060409
        );

    transition:
        opacity .5s;

}


/* =========================
   شاشة التشغيل
========================= */

.splash{

    position:fixed;

    inset:0;

    z-index:9999;

    display:grid;

    place-items:center;

    overflow:hidden;

    background:

        radial-gradient(
            circle at 50% 42%,
            #24102f 0,
            #100819 30%,
            #060408 72%
        );

    transition:
        opacity .7s,
        visibility .7s;

}


.splash.hide{

    opacity:0;

    visibility:hidden;

}


.splash-orb{

    position:absolute;

    border-radius:50%;

    filter:blur(80px);

    opacity:.22;

}


.orb-a{

    width:300px;

    height:300px;

    background:#a855f7;

    top:-100px;

    right:-90px;

}


.orb-b{

    width:280px;

    height:280px;

    background:#5b21b6;

    bottom:-100px;

    left:-80px;

}


.brand{

    text-align:center;

    animation:
        boot .9s ease both;

}


.lab-mark{

    width:150px;

    height:150px;

    margin:auto;

    filter:
        drop-shadow(
            0 0 25px
            rgba(168,85,247,.42)
        );

    animation:
        pulse 2s infinite;

}


.lab-mark svg{

    width:100%;

    height:100%;

}


.splash-title{

    margin-top:15px;

    font-family:
        'Noto Kufi Arabic',
        Cairo,
        sans-serif;

    font-size:30px;

    font-weight:900;

    letter-spacing:-1px;

    background:

        linear-gradient(
            90deg,
            #fff,
            #e7c8ff,
            #b45cff
        );

    -webkit-background-clip:text;

    color:transparent;

}


.loading{

    display:flex;

    justify-content:center;

    gap:6px;

    margin-top:18px;

}


.loading i{

    width:6px;

    height:6px;

    border-radius:50%;

    background:#c084fc;

    animation:
        load 1s infinite;

}


.loading i:nth-child(2){

    animation-delay:.15s;

}


.loading i:nth-child(3){

    animation-delay:.3s;

}


@keyframes boot{

    from{

        opacity:0;

        transform:
            scale(.82);

    }

    to{

        opacity:1;

        transform:
            scale(1);

    }

}


@keyframes pulse{

    50%{

        transform:
            scale(1.025);

        filter:
            drop-shadow(
                0 0 35px
                rgba(168,85,247,.6)
            );

    }

}


@keyframes load{

    0%,
    100%{

        opacity:.3;

        transform:
            translateY(0);

    }

    50%{

        opacity:1;

        transform:
            translateY(-5px);

    }

}


/* =========================
   الشريط العلوي
========================= */

.topbar{

    height:74px;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:
        0 16px;

    position:sticky;

    top:0;

    z-index:50;

    background:
        rgba(9,5,13,.88);

    backdrop-filter:
        blur(18px);

    border-bottom:
        1px solid
        rgba(192,132,252,.12);

}


.home{

    width:43px;

    height:43px;

    border-radius:14px;

    display:grid;

    place-items:center;

    text-decoration:none;

    color:#fff;

    background:

        linear-gradient(
            145deg,
            #b866ff,
            #7024d4
        );

    font-size:25px;

    box-shadow:
        0 7px 20px
        rgba(124,58,237,.3);

}


.top-title{

    text-align:center;

    line-height:1.25;

}


.top-title b{

    display:block;

    font-family:
        'Noto Kufi Arabic',
        Cairo,
        sans-serif;

    font-size:15px;

}


.top-title span{

    font-size:9px;

    color:#9e8ba8;

}


.mini-logo{

    width:43px;

    height:43px;

    border-radius:50%;

    display:grid;

    place-items:center;

    border:
        1px solid
        rgba(216,165,255,.3);

    background:

        radial-gradient(
            circle,
            rgba(168,85,247,.25),
            rgba(168,85,247,.04)
        );

    color:#e5c8ff;

    font-size:20px;

}


/* =========================
   المحتوى
========================= */

.content{

    width:
        min(720px,92%);

    margin:auto;

    padding:
        18px 0 30px;

}


/* =========================
   المقدمة
========================= */

.hero-card{

    display:flex;

    align-items:center;

    gap:15px;

    padding:18px;

    border-radius:25px;

    border:
        1px solid
        var(--line);

    background:

        linear-gradient(
            145deg,
            rgba(29,15,40,.96),
            rgba(12,7,17,.96)
        );

    box-shadow:
        0 16px 50px
        rgba(0,0,0,.35);

}


.hero-icon{

    width:58px;

    height:58px;

    flex:none;

    border-radius:18px;

    display:grid;

    place-items:center;

    background:
        rgba(168,85,247,.11);

    border:
        1px solid
        rgba(192,132,252,.2);

    font-size:27px;

}


.hero-card small,
.section-head small{

    font-size:8px;

    letter-spacing:3px;

    color:#a17db2;

    font-weight:900;

}


.hero-card h1{

    font-size:27px;

    font-weight:900;

    line-height:1.45;

}


.hero-card p{

    font-size:12px;

    color:#d2c7d9;

    line-height:1.8;

}


/* =========================
   البحث
========================= */

.search-wrap{

    height:58px;

    margin-top:15px;

    display:flex;

    align-items:center;

    border-radius:18px;

    border:
        1px solid
        rgba(192,132,252,.2);

    background:
        rgba(16,9,22,.95);

    box-shadow:
        0 10px 30px
        rgba(0,0,0,.25);

}


.search-wrap>span{

    font-size:31px;

    color:#c084fc;

    margin:
        0 13px;

}


.search-wrap input{

    flex:1;

    height:100%;

    border:0;

    outline:0;

    background:none;

    color:#fff;

    font:
        600 13px Cairo;

}


.search-wrap input::placeholder{

    color:#897c91;

}


.search-wrap button{

    display:none;

    margin-left:7px;

    margin-right:5px;

    width:38px;

    height:38px;

    border:0;

    border-radius:11px;

    background:
        rgba(255,255,255,.06);

    color:#ddd;

    font-size:23px;

}


/* =========================
   التصنيفات
========================= */

.filters{

    display:grid;

    grid-template-columns:
        repeat(4,1fr);

    gap:8px;

    margin-top:11px;

}


.filters button{

    height:46px;

    border-radius:14px;

    border:
        1px solid
        rgba(192,132,252,.13);

    background:#120a18;

    color:#bfb2c7;

    font:
        800 13px Cairo;

}


.filters button.active{

    color:#fff;

    background:

        linear-gradient(
            135deg,
            #b25cff,
            #7127d4
        );

    border-color:transparent;

    box-shadow:
        0 7px 20px
        rgba(124,58,237,.28);

}


/* =========================
   العنوان
========================= */

.section-head{

    display:flex;

    align-items:end;

    justify-content:space-between;

    margin:
        25px 2px 13px;

}


.section-head h2{

    font-size:23px;

    font-weight:900;

}


.count{

    display:flex;

    align-items:baseline;

    gap:4px;

    color:#8d7f95;

}


.count b{

    font-size:26px;

    color:#d19cff;

}


.count span{

    font-size:10px;

}


/* =========================
   البطاقات
========================= */

.cards{

    display:grid;

    gap:12px;

}


.card{

    padding:18px;

    border-radius:23px;

    border:
        1px solid
        rgba(192,132,252,.13);

    background:

        linear-gradient(
            145deg,
            rgba(25,13,35,.97),
            rgba(10,6,14,.98)
        );

    box-shadow:
        0 14px 42px
        rgba(0,0,0,.32);

    transition:.2s;

}


.card:active{

    transform:
        scale(.988);

}


.card-top{

    display:flex;

    align-items:flex-start;

    justify-content:space-between;

    gap:10px;

}


.name{

    font-size:19px;

    line-height:1.6;

    font-weight:900;

    color:#fff;

}


.badge{

    white-space:nowrap;

    padding:
        5px 10px;

    border-radius:20px;

    color:#e6cfff;

    background:
        rgba(168,85,247,.1);

    border:
        1px solid
        rgba(192,132,252,.18);

    font-size:10px;

    font-weight:900;

}


.desc{

    margin-top:10px;

    min-height:43px;

    color:#d5cadb;

    font-size:12px;

    line-height:1.9;

}


.card-bottom{

    display:flex;

    align-items:center;

    justify-content:space-between;

    margin-top:13px;

    padding-top:11px;

    border-top:
        1px solid
        rgba(255,255,255,.055);

}


.hint{

    font-size:9px;

    color:#8f8197;

}


.details-btn{

    border:
        1px solid
        rgba(192,132,252,.24);

    border-radius:12px;

    background:
        rgba(168,85,247,.09);

    color:#ead9f5;

    padding:
        8px 15px;

    font:
        900 11px Cairo;

}


.details-btn:active{

    background:#8b3ddd;

    color:#fff;

}


/* =========================
   لا توجد نتائج
========================= */

.empty{

    text-align:center;

    padding:50px 15px;

    border:
        1px dashed
        rgba(192,132,252,.18);

    border-radius:22px;

}


.empty>b{

    font-size:35px;

    color:#c084fc;

}


.empty h3{

    margin-top:7px;

}


.empty p{

    color:#96899d;

    font-size:12px;

}


/* =========================
   نافذة التفاصيل
========================= */

.modal{

    display:none;

    position:fixed;

    inset:0;

    z-index:100;

    align-items:flex-end;

    justify-content:center;

}


.modal.show{

    display:flex;

}


.backdrop{

    position:absolute;

    inset:0;

    background:
        rgba(0,0,0,.8);

    backdrop-filter:
        blur(9px);

}


.modal-card{

    position:relative;

    width:
        min(720px,100%);

    max-height:88vh;

    overflow:auto;

    padding:
        25px 18px 25px;

    border-radius:
        28px 28px 0 0;

    border:
        1px solid
        rgba(192,132,252,.25);

    background:

        linear-gradient(
            160deg,
            #1b0d25,
            #09060c
        );

    box-shadow:
        0 -20px 80px
        rgba(0,0,0,.6);

    animation:
        sheet .28s ease;

}


@keyframes sheet{

    from{

        transform:
            translateY(100%);

    }

    to{

        transform:
            translateY(0);

    }

}


.close{

    position:absolute;

    top:13px;

    left:13px;

    width:40px;

    height:40px;

    border:
        1px solid
        rgba(255,255,255,.1);

    border-radius:12px;

    background:
        rgba(255,255,255,.05);

    color:#fff;

    font-size:25px;

}


.modal-title{

    padding-left:50px;

    font-size:25px;

    font-weight:900;

}


.modal-type{

    color:#c084fc;

    font-size:11px;

    font-weight:900;

}


.detail{

    margin-top:14px;

    padding:14px;

    border-radius:16px;

    background:
        rgba(255,255,255,.025);

    border:
        1px solid
        rgba(255,255,255,.05);

}


.detail h4{

    font-size:12px;

    color:#d09cff;

    margin-bottom:6px;

}


.detail p,
.detail a{

    font-size:13px;

    color:#e3d9e8;

    line-height:2;

    text-decoration:none;

}


.phones{

    display:grid;

    gap:5px;

}


.phones a{

    direction:ltr;

    text-align:right;

    color:#f0dcff;

    font-size:19px;

    font-weight:900;

}


.services{

    display:grid;

    gap:6px;

}


.service{

    padding:8px 10px;

    border-radius:9px;

    background:
        rgba(168,85,247,.06);

    color:#ded3e4;

    font-size:12px;

}


.call{

    display:flex;

    justify-content:center;

    align-items:center;

    height:51px;

    margin-top:15px;

    border-radius:15px;

    background:

        linear-gradient(
            135deg,
            #b65eff,
            #7024d4
        );

    color:#fff!important;

    font:
        900 14px Cairo!important;

    box-shadow:
        0 9px 25px
        rgba(124,58,237,.3);

}


/* =========================
   FOOTER
========================= */

footer{

    text-align:center;

    color:#8b7d93;

    font-size:10px;

    padding:
        20px 0 28px;

}


footer span{

    color:#62576a;

}


/* =========================
   الكمبيوتر
========================= */

@media(min-width:700px){

    .modal{

        align-items:center;

        padding:20px;

    }


    .modal-card{

        border-radius:28px;

    }


    .content{

        padding-top:25px;

    }


    .hero-card{

        padding:22px;

    }


    .cards{

        grid-template-columns:
            1fr 1fr;

    }

}


/* =========================
   الهاتف
========================= */

@media(max-width:420px){

    .hero-card h1{

        font-size:23px;

    }


    .hero-icon{

        width:52px;

        height:52px;

    }


    .name{

        font-size:18px;

    }


    .filters button{

        font-size:12px;

    }

}
/* =========================
   مالك المخبر
========================= */

.owner{

    display:block;

    margin-top:2px;

    color:#c78aff;

    font-family:
        Cairo,
        sans-serif;

    font-size:11px;

    font-weight:700;

    direction:ltr;

    text-align:right;

    letter-spacing:.3px;

    opacity:.95;

}


/* =========================
   إطار بطاقة المخبر
========================= */

.card{

    position:relative;

    padding:18px;

    border-radius:23px;

    border:
        1px solid
        rgba(178,92,255,.55);

    background:

        linear-gradient(
            145deg,
            rgba(29,15,40,.98),
            rgba(9,5,14,.99)
        );

    box-shadow:

        0 0 0 1px
        rgba(168,85,247,.06),

        0 12px 35px
        rgba(0,0,0,.38),

        0 0 22px
        rgba(168,85,247,.08);

    overflow:hidden;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;

}


/* خط بنفسجي داخلي يعطي فخامة */

.card::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:23px;

    padding:1px;

    background:

        linear-gradient(
            135deg,
            rgba(216,165,255,.85),
            rgba(168,85,247,.25),
            rgba(124,58,237,.75)
        );

    -webkit-mask:

        linear-gradient(#fff 0 0)
        content-box,

        linear-gradient(#fff 0 0);

    -webkit-mask-composite:
        xor;

    mask-composite:
        exclude;

    pointer-events:none;

}


.card:hover{

    border-color:
        rgba(200,130,255,.85);

    box-shadow:

        0 15px 40px
        rgba(0,0,0,.4),

        0 0 28px
        rgba(168,85,247,.16);

}


.card:active{

    transform:
        scale(.985);

}


/* =========================
   زر عرض التفاصيل
========================= */

.details-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:7px;

    min-width:132px;

    height:43px;

    padding:
        0 14px;

    border:
        1px solid
        rgba(200,130,255,.55);

    border-radius:14px;

    background:

        linear-gradient(
            135deg,
            rgba(168,85,247,.22),
            rgba(91,33,182,.14)
        );

    color:#f4e8ff;

    font:
        900 11px Cairo;

    box-shadow:

        inset 0 0 15px
        rgba(168,85,247,.06),

        0 5px 18px
        rgba(124,58,237,.12);

    transition:.2s;

}


.details-btn:hover{

    background:

        linear-gradient(
            135deg,
            #a855f7,
            #7024d4
        );

    border-color:
        #d8a5ff;

    color:#fff;

    box-shadow:

        0 7px 22px
        rgba(124,58,237,.32);

}


.details-icon{

    width:24px;

    height:24px;

    display:grid;

    place-items:center;

    border-radius:8px;

    background:
        rgba(255,255,255,.10);

    border:
        1px solid
        rgba(255,255,255,.14);

    font-size:16px;

    line-height:1;

}