﻿:root{
    --sa-green:#064c39;
    --sa-green-dark:#003f30;
    --sa-green-soft:#eaf5f1;
    --sa-gold:#c99a2e;
    --sa-gold-dark:#9f7420;
    --sa-bg:#f7f8f7;
    --sa-text:#18342b;
    --sa-border:#e0e7e3;
}


html{scroll-behavior:smooth;font-size:16px}
body{font-family:"Noto Kufi Arabic",Tahoma,Arial,sans-serif;color:var(--sa-text);background:var(--sa-bg);margin:0}
a{text-decoration:none}
.utility-bar{background:#fff;border-bottom:1px solid #e8ece9;color:#1b2f28;font-size:.86rem;position:relative;z-index:1050}
.utility-link,.utility-action{color:#223b33}
.utility-link:hover,.utility-action:hover{color:var(--sa-green)}
.active-lang{background:#f6ebc9;border-radius:.45rem;padding:.38rem .7rem;font-weight:700}
.utility-divider{display:inline-block;width:1px;height:23px;background:#e1e5e3}
.utility-label{color:#52625c}
.font-tool-btn{border:1px solid #dce3df;background:#fff;border-radius:.45rem;padding:.2rem .55rem;font-weight:700}
.font-tool-btn:hover{border-color:var(--sa-green);color:var(--sa-green)}
.font-family-select{width:220px;min-width:180px;border-color:#dbe4df}
.top-search{border:1px solid #e0e6e3;border-radius:999px;overflow:hidden;background:#fff}
.top-search .form-control{border:0;width:230px;box-shadow:none}
.top-search .btn{border:0;color:var(--sa-green)}
.btn-gold{background:linear-gradient(135deg,#d3a53d,#b58118);border-color:#b58118;color:#fff}
.btn-gold:hover{background:#a97818;border-color:#a97818;color:#fff}
.brand-nav{background:linear-gradient(90deg,#003f30,#064c39);padding:.45rem 0}
.brand-lockup{min-width:290px}
.brand-logo{width:70px;height:70px;object-fit:cover;border-radius:18px;border:1px solid rgba(255,215,124,.55);box-shadow:0 4px 14px rgba(0,0,0,.2)}
.brand-title-wrap{display:flex;flex-direction:column;line-height:1.25;color:#fff}
.brand-title-wrap strong{font-size:1.12rem;color:#f0c45e}
.brand-title-wrap small{font-size:.66rem;letter-spacing:.12em;color:#f7db97}
.brand-title-wrap em{font-size:.62rem;color:#f8de9d;font-style:normal;margin-top:.18rem}
.brand-nav .nav-link{color:#fff!important;padding:.65rem .9rem!important;border-bottom:2px solid transparent}
.brand-nav .nav-link:hover{background:rgba(255,255,255,.05);border-bottom-color:#d6a63f;color:#f5d584!important}
.hero-section{position:relative;overflow:hidden;color:#fff;background-image:linear-gradient(90deg,rgba(0,61,46,.93),rgba(0,61,46,.63)),url("https://images.unsplash.com/photo-1663900108404-a05e8bf82cda?auto=format&fit=crop&fm=jpg&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&ixlib=rb-4.1.0&q=60&w=3000");background-size:cover;background-position:center}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 72% 35%,rgba(255,255,255,.05),transparent 28%)}
.hero-content{position:relative;z-index:2}
.min-vh-hero{min-height:355px}
.hero-title{font-size:2.7rem;font-weight:800;text-shadow:0 4px 20px rgba(0,0,0,.35)}
.hero-english{font-family:Georgia,serif;font-size:1.25rem;letter-spacing:.08em;color:#f3e6c3}
.hero-subtitle{color:#e8efec;font-size:1.08rem}
.search-shell{max-width:780px;background:#fff;padding:.4rem;border-radius:.85rem;box-shadow:0 15px 40px rgba(0,0,0,.25)}
.search-shell .form-control{min-height:54px}
.btn-search-main{background:var(--sa-green);color:#fff;border-radius:.65rem!important;min-width:75px}
.btn-search-main:hover{background:#0b674d;color:#fff}
.hero-action{min-width:250px;border:1px solid rgba(255,255,255,.75);border-radius:999px;padding:.72rem 1rem;color:#fff;background:rgba(0,54,40,.45)}
.hero-action:hover{background:rgba(255,255,255,.13);color:#fff}
.hero-action-ai{border-color:#d7b45e}
.stats-strip{background:#fff;border-bottom:1px solid #e8ece9;box-shadow:0 5px 18px rgba(19,55,43,.05)}
.stat-wide-card{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem;border-left:1px solid #edf0ee;height:100%}
.stat-wide-card i{font-size:2rem;color:var(--sa-gold)}
.stat-wide-card strong{display:block;color:#0a4b39;font-size:1.12rem}
.stat-wide-card span{display:block;color:#53665f;font-size:.82rem;margin-top:.2rem}
.home-panel,.filter-card,.result-card,.content-card,.advanced-card,.toc-card,.article-card,.meta-item,.law-search-box,.law-card{background:#fff;border:1px solid var(--sa-border);border-radius:.8rem;box-shadow:0 6px 22px rgba(18,50,40,.045)}
.home-panel{padding:1.15rem}
.panel-heading{padding-bottom:.85rem;border-bottom:1px solid #edf0ee;margin-bottom:1rem}
.panel-heading h2{font-size:1.08rem;font-weight:800;margin:0;color:#114d3b}
.panel-heading span{display:block;font-size:.75rem;color:#788680;margin-top:.3rem}
.ai-example{background:#eaf6ef;border-radius:.65rem;padding:1rem;margin-bottom:.9rem}
.advisor-input{resize:none;min-height:120px}
.update-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px solid #eef1ef}
.update-row:last-child{border-bottom:0}
.update-icon{width:35px;height:35px;border-radius:.55rem;display:flex;align-items:center;justify-content:center;background:#fff8e7;color:var(--sa-gold-dark)}
.update-title{color:#273e36;font-size:.9rem}
.update-title:hover{color:var(--sa-green)}
.category-list a{display:flex;align-items:center;gap:.8rem;padding:.72rem .3rem;border-bottom:1px solid #eef1ef;color:#273e36}
.category-list a:hover{color:var(--sa-green);background:#f8fbf9}
.category-list i{width:24px;text-align:center;color:var(--sa-green)}
.page-header{background:linear-gradient(180deg,#fff,#f4f7f5);border-bottom:1px solid var(--sa-border)}
.filter-card,.advanced-card,.content-card{padding:1.25rem}
.result-card{padding:1.25rem;margin-bottom:1rem}
.doc-type{display:inline-block;background:var(--sa-green-soft);color:var(--sa-green);border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700}
.law-status{display:inline-block;border-radius:999px;padding:.25rem .65rem;font-size:.78rem;font-weight:700;white-space:nowrap}
.status-active{background:#e6f5eb;color:#18733b}
.status-repealed{background:#fdeaea;color:#a63838}
.status-other{background:#eef1f2;color:#59666a}
.law-link{color:#124d3a;font-weight:700}.law-link:hover{color:var(--sa-gold)}
.article-ref{font-weight:700;color:#356d59;font-size:.92rem}
.result-snippet{color:#566761;line-height:1.9}
.empty-state{text-align:center;background:#fff;border:1px dashed #cbd7d2;border-radius:1rem;padding:3rem 1rem;color:#697972}
.meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.meta-item{padding:1rem}.meta-item span{display:block;font-size:.8rem;color:#73817c;margin-bottom:.35rem}.meta-item strong{font-size:.92rem}
.toc-card{padding:1rem}.toc-sticky{top:130px}.toc-scroll{max-height:67vh;overflow:auto}
.toc-link{display:block;padding:.65rem .7rem;border-radius:.55rem;color:#41534d;font-size:.88rem}.toc-link:hover{background:var(--sa-green-soft);color:var(--sa-green)}
.law-search-box{padding:1rem}
.article-card{padding:1.5rem;margin-bottom:1rem;scroll-margin-top:135px}
.article-title-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--sa-border);margin-bottom:1rem}
.article-no{font-size:.8rem;color:#85928e}
.article-text{font-size:1.02rem;line-height:2.1;color:#263d35}
.amendment-box{margin-top:1.25rem;padding:1rem;border-radius:.8rem;background:#fff8e7;border:1px solid #ead9a6;line-height:1.9}
.favorite-btn.active{background:#fff6db;color:#9a7217;border-color:#d4ad4c}
.site-footer{background:#003f30;color:#fff}
.footer-link{color:#e7efec;font-size:.82rem}.footer-link:hover{color:#f3c963}.footer-sep{opacity:.35;margin:0 .5rem}
.auth-card{max-width:540px;margin:auto;background:#fff;border:1px solid var(--sa-border);border-radius:1rem;box-shadow:0 8px 28px rgba(18,50,40,.06);padding:1.5rem}
@media(max-width:1199.98px){.brand-lockup{min-width:auto}.brand-title-wrap{display:none}}
@media(max-width:991.98px){.meta-grid{grid-template-columns:repeat(2,1fr)}.toc-sticky{position:static!important}.font-family-select{width:180px}.top-search{display:none!important}}
@media(max-width:575.98px){.meta-grid{grid-template-columns:1fr}.hero-title{font-size:2rem}.hero-action{min-width:100%}.stat-wide-card{padding:1rem .5rem;gap:.5rem}.stat-wide-card i{font-size:1.45rem}.brand-logo{width:55px;height:55px}}

.ai-question-card,.ai-answer-card,.ai-source-card{background:#fff;border:1px solid var(--sa-border);border-radius:1rem;box-shadow:0 7px 25px rgba(18,50,40,.055)}
.ai-question-card,.ai-answer-card{padding:1.35rem}
.ai-source-card{padding:1.15rem;margin-bottom:1rem}
.ai-answer-text{line-height:2.05;font-size:1rem;color:#263d35;white-space:normal}
.ai-disclaimer{background:#fff8e8;border:1px solid #eed9a4;border-radius:.7rem;padding:.8rem;color:#765914;font-size:.83rem}
.source-number{display:inline-flex;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#064c39;color:#fff;font-size:.78rem;font-weight:800}
.semantic-score{background:#edf7f2;color:#0a6c4c;border-radius:999px;padding:.25rem .6rem;font-size:.75rem;font-weight:700}
.search-progress-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    background: rgba(2,30,23,.76);
    backdrop-filter: blur(5px);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px
}

    .search-progress-overlay.show {
        display: flex
    }

.search-progress-box {
    width: min(470px,94vw);
    background: #fff;
    border: 1px solid rgba(212,175,55,.55);
    border-radius: 22px;
    padding: 32px;
    text-align: center;
    box-shadow: 0 25px 80px rgba(0,0,0,.3);
    animation: searchProgressIn .2s ease-out
}

.search-progress-icon {
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #064c39;
    color: #d5ad3d;
    font-size: 30px
}

.search-spinner {
    width: 42px;
    height: 42px;
    margin: 0 auto 18px;
    border: 4px solid #e4ebe8;
    border-top-color: #087653;
    border-radius: 50%;
    animation: searchSpin .75s linear infinite
}

.search-progress-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #063c30;
    margin-bottom: 7px
}

.search-progress-text {
    color: #687b74;
    line-height: 1.8;
    margin-bottom: 20px
}

.search-progress-bar {
    height: 7px;
    background: #e7eeeb;
    border-radius: 999px;
    overflow: hidden;
    margin-bottom: 18px;
    position: relative
}

.search-progress-bar-value {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 35%;
    border-radius: 999px;
    background: linear-gradient(90deg,#0b684c,#d5ad3d,#0b684c);
    animation: searchBarMove 1.3s ease-in-out infinite
}

.search-progress-note {
    font-size: .8rem;
    color: #899892
}

    .search-progress-note i {
        color: #b48c23;
        margin-left: 5px
    }

@keyframes searchSpin {
    to {
        transform: rotate(360deg)
    }
}

@keyframes searchBarMove {
    0% {
        right: -35%
    }

    100% {
        right: 100%
    }
}

@keyframes searchProgressIn {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.98)
    }

    to {
        opacity: 1;
        transform: none
    }
}

body.search-busy {
    overflow: hidden
}