*{
    box-sizing:border-box;
}

:root{
    --bg:#07080c;
    --panel:#101219;
    --panel2:#151821;
    --text:#f7f8fb;
    --muted:#a6aab6;

    --red:#ff334d;
    --red2:#ff6a3d;
    --gold:#f4c95d;

    --line:rgba(255,255,255,.09);

    --shadow:
        0 24px 70px rgba(0,0,0,.45);
}


html{
    scroll-behavior:smooth;
}


body{

    margin:0;

    min-height:100vh;

    color:var(--text);

    font-family:
        Cairo,
        Arial,
        sans-serif;

    background:

        radial-gradient(
            circle at 50% -10%,
            rgba(255,51,77,.18),
            transparent 34%
        ),

        radial-gradient(
            circle at 0 50%,
            rgba(244,201,93,.07),
            transparent 28%
        ),

        var(--bg);

    overflow-x:hidden;
}


body:before{

    content:"";

    position:fixed;

    inset:0;

    pointer-events:none;

    opacity:.35;

    background-image:

        linear-gradient(
            rgba(255,255,255,.018) 1px,
            transparent 1px
        ),

        linear-gradient(
            90deg,
            rgba(255,255,255,.018) 1px,
            transparent 1px
        );

    background-size:34px 34px;
}


.ambient{

    position:fixed;

    border-radius:50%;

    filter:blur(70px);

    opacity:.14;

    pointer-events:none;
}


.ambient-one{

    width:280px;

    height:280px;

    background:var(--red);

    top:20%;

    right:-130px;
}


.ambient-two{

    width:220px;

    height:220px;

    background:var(--gold);

    bottom:10%;

    left:-120px;
}


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

.hero{

    text-align:center;

    padding:
        58px 18px 30px;

    position:relative;
}


.danger-logo{

    width:86px;

    height:86px;

    margin:auto;

    border:
        2px solid
        rgba(255,51,77,.75);

    border-radius:28px;

    display:grid;

    place-items:center;

    font-size:56px;

    font-weight:900;

    color:#fff;

    background:
        linear-gradient(
            145deg,
            #261015,
            #0d0e13
        );

    box-shadow:

        0 0 0 8px
        rgba(255,51,77,.045),

        0 0 45px
        rgba(255,51,77,.28),

        inset 0 0 25px
        rgba(255,51,77,.12);

    animation:pulse 2.8s infinite;
}


.eyebrow{

    margin-top:22px;

    color:var(--gold);

    font-size:11px;

    letter-spacing:3px;

    font-weight:800;
}


h1{

    font-size:
        clamp(
            35px,
            8vw,
            58px
        );

    margin:
        8px 0 2px;

    font-weight:900;

    letter-spacing:-1px;
}


h1 span{

    color:var(--red);

    text-shadow:
        0 0 25px
        rgba(255,51,77,.25);
}


.hero p{

    margin:8px 0;

    color:var(--muted);

    font-size:15px;

    font-weight:600;
}


/* =========================================================
   MAIN
========================================================= */

main{

    max-width:1000px;

    margin:auto;

    padding:
        0 18px 50px;
}


/* =========================================================
   SEARCH
========================================================= */

.search-area{

    max-width:720px;

    margin:
        12px auto 22px;
}


.search-box{

    height:62px;

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

    border-radius:22px;

    background:
        rgba(17,19,27,.82);

    backdrop-filter:blur(18px);

    display:flex;

    align-items:center;

    padding:0 17px;

    box-shadow:var(--shadow);

    transition:.25s;
}


.search-box:focus-within{

    border-color:
        rgba(255,51,77,.55);

    box-shadow:

        0 18px 55px
        rgba(0,0,0,.35),

        0 0 0 4px
        rgba(255,51,77,.07);
}


.search-icon{

    font-size:31px;

    color:var(--gold);

    line-height:1;

    transform:rotate(-20deg);
}


.search-box input{

    flex:1;

    background:none;

    border:0;

    outline:0;

    color:#fff;

    font-family:inherit;

    font-size:15px;

    padding:0 12px;
}


.search-box input::placeholder{

    color:#777c88;
}


.clear-btn{

    display:none;

    border:0;

    background:#252833;

    color:#ddd;

    width:32px;

    height:32px;

    border-radius:50%;

    font-size:22px;

    cursor:pointer;
}


/* =========================================================
   FILTERS
========================================================= */

.filters{

    display:flex;

    justify-content:center;

    gap:9px;

    flex-wrap:wrap;

    margin:
        0 auto 28px;
}


.filter{

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

    background:#11131a;

    color:#c6c9d1;

    border-radius:15px;

    padding:
        11px 18px;

    font-family:inherit;

    font-weight:800;

    cursor:pointer;

    transition:.22s;
}


.filter:hover{

    transform:
        translateY(-2px);

    border-color:
        rgba(255,255,255,.2);
}


.filter.active{

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #e51e3b,
            #9c1328
        );

    border-color:transparent;

    box-shadow:
        0 10px 30px
        rgba(255,51,77,.2);
}


/* =========================================================
   CARDS
========================================================= */

.cards{

    display:grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );

    gap:18px;
}


.card{

    position:relative;

    overflow:hidden;

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

    border-radius:28px;

    background:
        linear-gradient(
            145deg,
            rgba(25,27,36,.96),
            rgba(11,12,17,.98)
        );

    box-shadow:var(--shadow);

    padding:24px;

    transition:.3s;
}


.card:hover{

    transform:
        translateY(-5px);

    border-color:
        rgba(255,255,255,.16);
}


.card:after{

    content:"";

    position:absolute;

    width:170px;

    height:170px;

    border-radius:50%;

    background:var(--accent);

    filter:blur(65px);

    opacity:.08;

    left:-80px;

    top:-70px;

    pointer-events:none;
}


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

.card-top{

    display:flex;

    align-items:center;

    gap:16px;

    position:relative;

    z-index:1;
}


.logo-wrap{

    width:82px;

    height:82px;

    flex:none;

    border-radius:24px;

    padding:2px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.25),
            rgba(255,255,255,.02)
        );
}


.logo-wrap img{

    width:100%;

    height:100%;

    object-fit:contain;

    border-radius:22px;

    background:#0a0b0f;
}


.card h2{

    font-size:23px;

    margin:
        0 0 5px;

    font-weight:900;
}


.badge{

    display:inline-flex;

    align-items:center;

    gap:6px;

    color:var(--accent);

    font-size:11px;

    font-weight:900;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.description{

    color:#b4b7c0;

    line-height:1.9;

    font-size:13px;

    margin:
        20px 0 18px;

    min-height:74px;
}


/* =========================================================
   عنوان أرقام الطوارئ
========================================================= */

.emergency-label{

    display:flex;

    align-items:center;

    gap:8px;

    color:#fff;

    font-size:14px;

    font-weight:900;

    margin:
        18px 0 10px;
}


.emergency-label:before{

    content:"";

    width:8px;

    height:8px;

    flex:none;

    border-radius:50%;

    background:var(--accent);

    box-shadow:
        0 0 12px
        var(--accent);
}


/* =========================================================
   أرقام الطوارئ - التصميم الفاخر
========================================================= */

.emergency-phones{

    display:flex;

    flex-direction:column;

    gap:12px;
}


.emergency-phone{

    position:relative;

    overflow:hidden;

    padding:
        16px 16px 15px;

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

    border-radius:21px;

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.065),
            rgba(255,255,255,.018)
        );

    box-shadow:

        inset 0 1px 0
        rgba(255,255,255,.05),

        0 12px 30px
        rgba(0,0,0,.20);

    transition:
        .25s ease;
}


.emergency-phone:before{

    content:"";

    position:absolute;

    width:100px;

    height:100px;

    border-radius:50%;

    background:var(--accent);

    filter:blur(45px);

    opacity:.08;

    right:-50px;

    top:-60px;

    pointer-events:none;
}


.emergency-phone:hover{

    transform:
        translateY(-2px);

    border-color:
        rgba(255,255,255,.16);

    box-shadow:

        0 16px 35px
        rgba(0,0,0,.28),

        0 0 25px
        rgba(255,255,255,.025);
}


/* =========================================================
   اسم الرقم
========================================================= */

.phone-title{

    display:flex;

    align-items:center;

    gap:8px;

    color:#aeb2bd;

    font-size:12px;

    font-weight:800;

    margin-bottom:7px;

    position:relative;

    z-index:1;
}


.phone-title-icon{

    width:27px;

    height:27px;

    flex:none;

    display:grid;

    place-items:center;

    border-radius:9px;

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

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

    font-size:14px;
}


/* =========================================================
   الرقم + الاتصال
========================================================= */

.phone-row{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:14px;

    position:relative;

    z-index:1;
}


/* الرقم الكبير */

.phone-big{

    direction:ltr;

    text-align:right;

    color:#ffffff;

    font-size:
        clamp(
            28px,
            6vw,
            38px
        );

    line-height:1.15;

    font-weight:900;

    letter-spacing:1px;

    white-space:nowrap;

    text-shadow:

        0 0 20px
        rgba(255,255,255,.08);
}


/* =========================================================
   زر الاتصال الكبير
========================================================= */

.phone-call-button{

    width:57px;

    height:57px;

    flex:none;

    display:grid;

    place-items:center;

    border-radius:18px;

    text-decoration:none;

    color:#ffffff;

    background:

        linear-gradient(
            145deg,
            var(--accent),
            #9b1529
        );

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

    box-shadow:

        0 9px 25px
        rgba(0,0,0,.30),

        0 0 18px
        rgba(255,51,77,.12),

        inset 0 1px 0
        rgba(255,255,255,.25);

    transition:
        transform .18s ease,
        box-shadow .18s ease;
}


.phone-call-button span{

    font-size:27px;

    line-height:1;

    display:block;

    transform:
        rotate(-8deg);
}


.phone-call-button:hover{

    transform:
        translateY(-2px)
        scale(1.03);

    box-shadow:

        0 13px 30px
        rgba(0,0,0,.35),

        0 0 25px
        rgba(255,51,77,.25),

        inset 0 1px 0
        rgba(255,255,255,.28);
}


.phone-call-button:active{

    transform:
        scale(.90);
}


/* =========================================================
   دعم التصميم القديم إن وجد
========================================================= */

.phone{

    font-size:38px;

    line-height:1.2;

    font-weight:900;

    letter-spacing:1px;

    color:#fff;

    direction:ltr;

    text-align:right;

    text-shadow:
        0 0 18px
        rgba(255,255,255,.08);
}


.actions{

    display:grid;

    grid-template-columns:
        1.3fr 1fr;

    gap:9px;

    margin-top:18px;
}


.actions button,
.actions a{

    height:48px;

    border-radius:15px;

    display:grid;

    place-items:center;

    font-family:inherit;

    font-weight:900;

    text-decoration:none;

    cursor:pointer;
}


.call{

    background:
        linear-gradient(
            135deg,
            var(--accent),
            #9b1529
        );

    color:#fff;

    border:0;

    box-shadow:
        0 10px 25px
        rgba(255,51,77,.16);
}


.copy{

    background:#1d2029;

    color:#ddd;

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


.copy:active,
.call:active{

    transform:
        scale(.97);
}


/* =========================================================
   Empty
========================================================= */

.empty{

    text-align:center;

    color:#888;

    padding:
        50px 10px;
}


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

footer{

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

    padding:
        28px 18px 35px;

    text-align:center;

    display:flex;

    flex-direction:column;

    gap:4px;

    color:#777c88;

    font-size:11px;
}


.footer-mark{

    width:32px;

    height:32px;

    border-radius:10px;

    margin:
        0 auto 4px;

    display:grid;

    place-items:center;

    background:#241015;

    color:var(--red);

    font-weight:900;

    font-size:20px;
}


footer strong{

    color:#c7cad2;

    font-size:13px;
}


/* =========================================================
   Animation
========================================================= */

@keyframes pulse{

    0%,100%{

        box-shadow:

            0 0 0 8px
            rgba(255,51,77,.045),

            0 0 45px
            rgba(255,51,77,.28),

            inset 0 0 25px
            rgba(255,51,77,.12);
    }


    50%{

        box-shadow:

            0 0 0 13px
            rgba(255,51,77,.025),

            0 0 65px
            rgba(255,51,77,.38),

            inset 0 0 30px
            rgba(255,51,77,.16);
    }

}


/* =========================================================
   Tablet / Mobile
========================================================= */

@media(max-width:700px){

    .hero{

        padding-top:38px;
    }


    .danger-logo{

        width:74px;

        height:74px;

        font-size:48px;

        border-radius:23px;
    }


    .cards{

        grid-template-columns:1fr;
    }


    .card{

        padding:20px;
    }


    .phone{

        font-size:32px;
    }


    .phone-big{

        font-size:
            clamp(
                29px,
                8vw,
                36px
            );
    }


    .phone-call-button{

        width:56px;

        height:56px;

        border-radius:17px;
    }


    .phone-call-button span{

        font-size:26px;
    }

}


/* =========================================================
   Small phones
========================================================= */

@media(max-width:390px){

    .phone{

        font-size:29px;
    }


    .phone-big{

        font-size:27px;

        letter-spacing:.5px;
    }


    .phone-call-button{

        width:51px;

        height:51px;

        border-radius:16px;
    }


    .phone-call-button span{

        font-size:24px;
    }


    .emergency-phone{

        padding:
            14px 13px;
    }


    .logo-wrap{

        width:72px;

        height:72px;
    }


    .card h2{

        font-size:20px;
    }


    .actions{

        grid-template-columns:1fr;
    }

}
/* =========================================================
   زر الرئيسية الثابت أسفل الشاشة
========================================================= */

.fixed-home-button {
    position: fixed;
    bottom: 18px;
    right: 18px;

    width: 62px;
    height: 62px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    gap: 3px;

    background: linear-gradient(
        145deg,
        #d4af37,
        #f5d76e,
        #b8860b
    );

    color: #071426;

    border-radius: 50%;

    text-decoration: none;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.35),
        0 0 18px rgba(212, 175, 55, 0.35);

    z-index: 9999;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.fixed-home-button i {
    font-size: 21px;
}

.fixed-home-button span {
    font-family: "Cairo", sans-serif;
    font-size: 9px;
    font-weight: 800;
}

.fixed-home-button:hover {
    transform: translateY(-4px) scale(1.05);

    box-shadow:
        0 12px 30px rgba(0, 0, 0, 0.4),
        0 0 25px rgba(212, 175, 55, 0.55);
}

.fixed-home-button:active {
    transform: scale(0.94);
}


/* الهاتف */

@media (max-width: 600px) {

    .fixed-home-button {
        width: 56px;
        height: 56px;

        bottom: 15px;
        right: 15px;
    }

    .fixed-home-button i {
        font-size: 19px;
    }

    .fixed-home-button span {
        font-size: 8px;
    }

}