.dp-page{
    padding:34px 0 58px;
}

.dp-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-bottom:18px;
    color:#74808a;
    font-size:13px;
}

.dp-breadcrumb a{
    color:inherit;
    text-decoration:none;
}

.dp-breadcrumb a:hover{
    color:#173149;
}

.dp-breadcrumb strong{
    color:#173149;
}

.dp-hero{
    display:flex;
    justify-content:space-between;
    gap:28px;
    align-items:center;
    padding:28px 30px;
    border-radius:20px;
    background:linear-gradient(135deg,#0b2f49,#10283a);
    color:#fff;
    border-bottom:3px solid #b99a56;
}

.dp-eyebrow{
    margin:0 0 8px;
    color:#b28b37;
    font-size:12px;
    font-weight:800;
}

.dp-hero .dp-eyebrow{
    color:#e8cf87;
}

.dp-hero h1{
    margin:0;
    font-size:clamp(30px,4vw,46px);
    line-height:1.3;
}

.dp-name-en{
    margin:7px 0 0;
    color:#aebfcb;
    font-size:13px;
}

.dp-governorate{
    margin:9px 0 0;
    color:#d8e0e6;
}

.dp-hero-meta{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px;
}

.dp-hero-meta>div{
    min-width:130px;
    padding:12px 14px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:12px;
    background:rgba(255,255,255,.05);
}

.dp-hero-meta span{
    display:block;
    color:#b8c5cf;
    font-size:10px;
}

.dp-hero-meta strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:14px;
}

.dp-section{
    margin-top:20px;
    padding:24px;
    border:1px solid #e1e7ea;
    border-radius:18px;
    background:#fff;
}

.dp-section-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-end;
    margin-bottom:18px;
}

.dp-section-head h2{
    margin:0;
    color:#173149;
    font-size:21px;
}

.dp-section-head>span{
    color:#74808a;
    font-size:11px;
}

.dp-summary{
    margin:0;
    color:#5e6d78;
    line-height:2;
}


/* =========================================================
   Map layout
   ========================================================= */

.dp-map-layout{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.58fr);
    gap:18px;
    align-items:stretch;
}

.dp-map{
    position:relative;
    min-height:520px;
    overflow:hidden;
    border:1px solid #dce4e8;
    border-radius:15px;
    background:#f3f6f8;
}

.dp-map svg{
    display:block;
    width:100%;
    height:auto;
    min-height:520px;
}

.dp-map-state{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    color:#6c7b86;
    text-align:center;
}

.dp-map-state[hidden]{
    display:none;
}

.dp-shape{
    stroke:#173149;
    stroke-width:2.4;
    vector-effect:non-scaling-stroke;
    transition:fill .2s ease,opacity .2s ease;
}

.dp-shape.level-none{
    fill:#d9e0e4;
}

.dp-shape.level-green{
    fill:#2f9b63;
}

.dp-shape.level-yellow{
    fill:#d2a72e;
}

.dp-shape.level-orange{
    fill:#d77c31;
}

.dp-shape.level-red{
    fill:#c84d55;
}

.dp-map-label{
    fill:#173149;
    font-size:18px;
    font-weight:800;
    text-anchor:middle;
    paint-order:stroke;
    stroke:#fff;
    stroke-width:4px;
    stroke-linejoin:round;
    pointer-events:none;
}


/* =========================================================
   Right-side tools
   ========================================================= */

.dp-map-tools{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.dp-map-tools__block,
.dp-map-reading,
.dp-map-note{
    padding:16px;
    border:1px solid #e1e7ea;
    border-radius:13px;
    background:#fbfcfc;
}

.dp-map-tools__block label{
    display:block;
    margin-bottom:8px;
    color:#173149;
    font-size:12px;
    font-weight:800;
}

.dp-map-tools select{
    width:100%;
    min-height:43px;
    padding:0 10px;
    border:1px solid #ccd8e1;
    border-radius:9px;
    background:#fff;
    color:#173149;
    font:inherit;
}


/* =========================================================
   Selected indicator reading
   ========================================================= */

.dp-map-reading{
    display:flex;
    align-items:center;
    gap:12px;
}

.dp-map-reading__dot{
    flex:0 0 auto;
    width:14px;
    height:14px;
    border-radius:50%;
    background:#aab6bf;
}

.dp-map-reading__dot.level-green{
    background:#2f9b63;
}

.dp-map-reading__dot.level-yellow{
    background:#d2a72e;
}

.dp-map-reading__dot.level-orange{
    background:#d77c31;
}

.dp-map-reading__dot.level-red{
    background:#c84d55;
}

.dp-map-reading__dot.level-none{
    background:#aab6bf;
}

.dp-map-reading small,
.dp-map-reading span{
    display:block;
    color:#74808a;
    font-size:10.5px;
    line-height:1.65;
}

.dp-map-reading strong{
    display:block;
    margin:3px 0;
    color:#173149;
    font-size:24px;
}


/* =========================================================
   District analytical reading
   ========================================================= */

.dp-district-reading{
    position:relative;
    overflow:hidden;

    padding:17px;

    border:1px solid #dde5e9;
    border-radius:13px;

    background:#fff;

    box-shadow:
        0 4px 14px rgba(20,49,70,.035);
}

.dp-district-reading::before{
    content:"";

    position:absolute;
    top:0;
    right:0;
    bottom:0;

    width:3px;

    background:#aab6bf;
}

.dp-district-reading.level-green::before{
    background:#2f9b63;
}

.dp-district-reading.level-yellow::before{
    background:#d2a72e;
}

.dp-district-reading.level-orange::before{
    background:#d77c31;
}

.dp-district-reading.level-red::before{
    background:#c84d55;
}

.dp-district-reading.level-none::before{
    background:#aab6bf;
}


/* Header */

.dp-district-reading__top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;

    gap:12px;
}

.dp-district-reading__eyebrow{
    display:block;

    margin-bottom:5px;

    color:#8a6c2c;

    font-size:10.5px;
    font-weight:800;
    line-height:1.4;
}

.dp-district-reading__title{
    display:block;

    color:#173149;

    font-size:14.5px;
    font-weight:800;
    line-height:1.65;
}


/* Status */

.dp-district-reading__status{
    display:inline-flex;
    align-items:center;

    flex:0 0 auto;

    gap:5px;

    min-height:29px;

    padding:0 8px;

    border:1px solid #dce4e8;
    border-radius:8px;

    background:#f6f8f9;

    color:#536672;

    font-size:9.5px;
    font-weight:800;

    white-space:nowrap;
}

.dp-district-reading__status i{
    width:7px;
    height:7px;

    border-radius:50%;

    background:#aab6bf;
}

.dp-district-reading.level-green
.dp-district-reading__status i{
    background:#2f9b63;
}

.dp-district-reading.level-yellow
.dp-district-reading__status i{
    background:#d2a72e;
}

.dp-district-reading.level-orange
.dp-district-reading__status i{
    background:#d77c31;
}

.dp-district-reading.level-red
.dp-district-reading__status i{
    background:#c84d55;
}


/* Analysis */

.dp-district-reading__text{
    margin:11px 0 0;

    color:#4f6472;

    font-size:11.5px;
    line-height:1.95;
}


/* =========================================================
   Distribution of published indicators
   ========================================================= */

.dp-district-reading__distribution{
    display:flex;
    flex-wrap:wrap;

    gap:7px;

    margin-top:13px;
}

.dp-district-reading__distribution span{
    display:inline-flex;
    align-items:center;

    gap:5px;

    padding:5px 8px;

    border:1px solid #e0e7ea;
    border-radius:8px;

    background:#f8fafb;

    color:#516571;

    font-size:10px;
    font-weight:700;
}

.dp-district-reading__distribution span i{
    flex:0 0 auto;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#aab6bf;
}

.dp-district-reading__distribution span b{
    color:#173149;
    font-size:10px;
    font-weight:800;
}


/* =========================================================
   Compact interpretation key
   ========================================================= */

.dp-district-reading__scale{
    display:flex;
    flex-wrap:wrap;

    gap:7px 11px;

    margin-top:14px;
    padding-top:12px;

    border-top:1px solid #e7ecef;
}

.dp-district-reading__scale span{
    display:inline-flex;
    align-items:center;

    gap:5px;

    color:#5e717d;

    font-size:9.5px;
    font-weight:700;

    white-space:nowrap;
}

.dp-district-reading__scale i{
    flex:0 0 auto;

    width:7px;
    height:7px;

    border-radius:50%;

    background:#aab6bf;
}


/* semantic colors */

.dp-district-reading .is-green i{
    background:#2f9b63;
}

.dp-district-reading .is-yellow i{
    background:#d2a72e;
}

.dp-district-reading .is-orange i{
    background:#d77c31;
}

.dp-district-reading .is-red i{
    background:#c84d55;
}

.dp-district-reading .is-none i{
    background:#aab6bf;
}


/* Methodological line */

.dp-district-reading__foot{
    display:block;

    margin-top:11px;

    color:#6e7f89;

    font-size:9.5px;
    line-height:1.75;
}


/* =========================================================
   Map note
   ========================================================= */

.dp-map-note{
    margin:0;

    color:#5d707c;

    font-size:11px;
    line-height:1.85;
}


/* =========================================================
   Indicator cards
   ========================================================= */

.dp-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}

.dp-card{
    padding:18px;

    border:1px solid #e1e7ea;
    border-top:3px solid #aab6bf;
    border-radius:13px;

    background:#fbfcfc;
}

.dp-card.level-green{
    border-top-color:#2f9b63;
}

.dp-card.level-yellow{
    border-top-color:#d2a72e;
}

.dp-card.level-orange{
    border-top-color:#d77c31;
}

.dp-card.level-red{
    border-top-color:#c84d55;
}

.dp-card-head{
    display:flex;
    justify-content:space-between;

    gap:12px;

    align-items:flex-start;
}

.dp-card-head h3{
    margin:0;

    color:#173149;

    font-size:17px;
}

.dp-card-head i{
    flex:0 0 auto;

    width:9px;
    height:9px;

    margin-top:5px;

    border-radius:50%;

    background:#aab6bf;
}

.dp-card.level-green
.dp-card-head i{
    background:#2f9b63;
}

.dp-card.level-yellow
.dp-card-head i{
    background:#d2a72e;
}

.dp-card.level-orange
.dp-card-head i{
    background:#d77c31;
}

.dp-card.level-red
.dp-card-head i{
    background:#c84d55;
}

.dp-value{
    display:block;

    margin-top:12px;

    color:#173149;

    font-size:27px;
    font-weight:800;
}

.dp-details{
    margin-top:10px;

    color:#74808a;

    font-size:12px;
    line-height:1.8;
}


/* =========================================================
   Empty state
   ========================================================= */

.dp-empty{
    margin:0;

    padding:20px;

    border-radius:12px;

    background:#f6f8f9;

    color:#687985;
}


/* =========================================================
   Back
   ========================================================= */

.dp-back{
    display:inline-block;

    margin-top:20px;

    color:#173149;

    text-decoration:none;

    font-weight:700;
}


/* =========================================================
   Tablet / small laptop
   ========================================================= */

@media(max-width:1050px){

    .dp-map-layout{
        grid-template-columns:
            minmax(0,1.45fr)
            minmax(270px,.65fr);
    }

}


/* =========================================================
   Tablet
   ========================================================= */

@media(max-width:900px){

    .dp-hero{
        align-items:flex-start;
        flex-direction:column;
    }

    .dp-hero-meta{
        justify-content:flex-start;
    }

    .dp-map-layout{
        grid-template-columns:1fr;
    }

    .dp-map{
        min-height:460px;
    }

    .dp-map svg{
        min-height:460px;
    }

    .dp-map-tools{
        display:grid;

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .dp-district-reading{
        grid-column:1 / -1;
    }

    .dp-map-note{
        grid-column:1 / -1;
    }

}


/* =========================================================
   Mobile
   ========================================================= */

@media(max-width:640px){

    .dp-page{
        padding-top:22px;
    }

    .dp-hero,
    .dp-section{
        padding:20px;
    }

    .dp-section-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .dp-grid{
        grid-template-columns:1fr;
    }

    .dp-map{
        min-height:360px;
    }

    .dp-map svg{
        min-height:360px;
    }

    .dp-map-tools{
        display:flex;
    }

    .dp-district-reading{
        padding:16px;
    }

    .dp-district-reading__top{
        flex-direction:column;
    }

    .dp-district-reading__title{
        font-size:14.5px;
    }

    .dp-district-reading__status{
        align-self:flex-start;
    }

    .dp-district-reading__text{
        font-size:12px;
    }

    .dp-district-reading__scale span,
    .dp-district-reading__distribution span{
        font-size:10.5px;
    }

    .dp-district-reading__foot{
        font-size:10px;
    }

}


/* =========================================================
   Small mobile
   ========================================================= */

@media(max-width:420px){

    .dp-hero,
    .dp-section{
        padding:17px;
    }

    .dp-district-reading__scale{
        gap:8px;
    }

}
/* =========================================================
   JUSOOR — District readability
   Darker / stronger secondary text
   ========================================================= */

.dp-breadcrumb,
.dp-section-head > span,
.dp-summary,
.dp-name-en,
.dp-hero-meta span,
.dp-map-reading small,
.dp-map-reading span,
.dp-map-note,
.dp-details,
.dp-empty,
.dp-district-reading__text,
.dp-district-reading__foot,
.dp-district-reading__scale span,
.dp-district-reading__distribution span{
    color:#465d6c;
    font-weight:700;
}


/* النص التحليلي داخل قراءة المديرية */

.dp-district-reading__text{
    color:#3f5665;
    font-size:12px;
    font-weight:700;
    line-height:1.95;
}


/* السطر المنهجي الأخير */

.dp-district-reading__foot{
    color:#526875;
    font-size:10px;
    font-weight:700;
}


/* أسماء درجات التصنيف */

.dp-district-reading__scale span{
    color:#405866;
    font-weight:800;
}


/* حالة المؤشر المختار */

.dp-map-reading small{
    color:#526774;
    font-weight:700;
}

.dp-map-reading span{
    color:#465d6c;
    font-weight:700;
}


/* الملاحظة تحت البطاقة */

.dp-map-note{
    color:#465d6c;
    font-size:11.5px;
    font-weight:700;
    line-height:1.85;
}


/* النصوص الثانوية العامة */

.dp-section-head > span,
.dp-details,
.dp-empty{
    color:#4b616f;
    font-weight:700;
}