/*
Theme Name: Luqta Aqaria — لُقطة عقارية
Theme URI: https://aeoarabia.com
Author: Hisham Qadri — AEO Arabia
Description: قالب لُقطة عقارية — منصّة اتخاذ القرار العقاري. معمارية طبقية: طبقة كيانات (المكان مصدر الحقيقة) + Repository + مصنع صفحات + Schema. الواجهة config-driven بمحرّر داخل-السياق (إضافة/تعديل العروض والبنرات) يحفظ في WordPress. Product DNA محفوظ. هوية النافذة المضيئة.
Version: 3.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: luqta
*/
:root{
  --ink:#0F1B2A;--ink-2:#16242F;--em:#0BA678;--em-b:#1BC99A;--am:#E0A21F;
  --cream:#FBFBF8;--paper:#FFFFFF;--slate:#6B7686;--ink-soft:#34404D;--line:#E3E6E1;
  --em-wash:#E7F4EF;--am-wash:#F6EEDB;--dev:#8A6A2E;--dev-wash:#F1E9D6;--place:#2A6E8A;--love:#B23A6F;--req:#C0492F;--wa:#25D366;
  --adm-bg:#0d1722;--adm-bg2:#101c28;--adm-line:#21303d;--adm-text:#e7ecf1;--adm-mut:#9aa7b3;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:22px;--s6:32px;--s7:48px;
  --r-sm:7px;--r-md:10px;--r-lg:14px;--r-xl:16px;--r-pill:999px;
  --sh-card:0 12px 30px -26px rgba(15,27,42,.55);--sh-pop:0 18px 50px -20px rgba(0,0,0,.45);
  --f-ar:"Tajawal",system-ui,sans-serif;--f-num:"Montserrat";
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-ar);background:var(--cream);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;direction:rtl}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 var(--s4)}
.num{font-family:var(--f-num);direction:ltr;unicode-bidi:embed}
.ic{width:18px;height:18px;display:inline-block;vertical-align:middle;flex:none}
.ic svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.annbar{background:var(--ink-2);color:#E6C98A;text-align:center;font-size:13px;padding:var(--s2) var(--s4);font-weight:500}
.annbar a{color:var(--em-b);font-weight:700;margin-inline-start:6px}
/* شريط الرسالة الذهنية — تدوير بالتلاشي */
.annbar--rotate{position:relative;overflow:hidden;min-height:1.15em}
.annbar--rotate .annbar__msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding-inline:var(--s4);opacity:0;transform:translateY(6px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.annbar--rotate .annbar__msg.is-active{opacity:1;transform:translateY(0);pointer-events:auto;position:relative}
@media (prefers-reduced-motion:reduce){
  .annbar--rotate .annbar__msg{transition:none}
  /* بلا حركة: تُعرض الأولى فقط ثابتة */
  .annbar--rotate .annbar__msg:not(.is-active){display:none}
}
.site-header{background:var(--ink);position:sticky;top:0;z-index:40}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;padding:13px 0;gap:var(--s3)}
.logo{display:flex;align-items:center;gap:var(--s2)}
.lmark{width:34px;height:34px;flex:none}
.ltext{font-weight:800;color:#fff;font-size:21px;line-height:1.05}
.ltext b{color:var(--em-b)}.ltext small{display:block;font-weight:500;font-size:10.5px;color:#8FA2AE;margin-top:1px}
.site-header nav{display:flex;gap:var(--s5);align-items:center}
.site-header nav a{color:#c8d0d9;font-size:14px;font-weight:600}
.site-header nav a:hover{color:#fff}
.cta{background:var(--em);color:#06241a;border-radius:9px;padding:9px 16px;font-weight:800;font-size:13.5px}
@media(max-width:760px){.site-header nav a:not(.cta){display:none}}
.hero{background:linear-gradient(135deg,var(--ink),#16293a);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 100% at 100% 0%,rgba(11,166,120,.22),transparent 55%)}
.hero .wrap{position:relative;max-width:1140px;margin:0 auto;padding:var(--s7) var(--s4) var(--s7)}
.hero .kick{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--em-b);border:1px solid rgba(11,166,120,.4);border-radius:var(--r-pill);padding:5px 13px;display:inline-block;margin-bottom:18px}
.hero .kick a{color:var(--em-b)}
.hero h1{font-size:clamp(28px,5vw,46px);font-weight:800;max-width:760px;line-height:1.15}
.hero h1 em{font-style:normal;color:var(--em-b)}
.hero p{color:#C7D2DA;margin-top:14px;font-size:clamp(15px,2.3vw,19px);max-width:580px}
.hero .btns{display:flex;gap:var(--s3);margin-top:26px;flex-wrap:wrap}
.btn-em{background:var(--em);color:#06241a;border-radius:var(--r-pill);padding:12px 24px;font-weight:800;font-size:14.5px}
.btn-gh{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:#fff;border-radius:var(--r-pill);padding:12px 24px;font-weight:700;font-size:14.5px}
.banners-wrap{padding-top:var(--s6)}
.banners{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--s4)}
.banner{border-radius:var(--r-xl);padding:var(--s5);position:relative;overflow:hidden;min-height:130px;display:flex;flex-direction:column;justify-content:center;color:#fff}
.banner.em{background:linear-gradient(135deg,var(--em),#0a8a64)}
.banner.am{background:linear-gradient(135deg,var(--am),#b9851a)}
.banner.ink{background:linear-gradient(135deg,var(--ink-2),var(--ink))}
.banner.has-img{background-size:cover;background-position:center}
.banner .ov{position:absolute;inset:0;background:rgba(15,27,42,.5);z-index:0}
.banner h3{font-size:20px;font-weight:800;position:relative;z-index:1}
.banner p{font-size:14px;opacity:.95;margin-top:6px;position:relative;z-index:1}
.banner .bcta{position:relative;z-index:1;margin-top:var(--s3);font-weight:800;font-size:13px;background:rgba(255,255,255,.92);color:var(--ink);border-radius:var(--r-pill);padding:7px 15px;align-self:flex-start}
.section{padding:var(--s7) 0}
.sec-kick{font-size:12.5px;font-weight:700;letter-spacing:.12em;color:var(--em);margin-bottom:10px}
.sec-title{font-size:clamp(24px,4vw,34px);font-weight:800}
.sec-sub{color:var(--slate);margin-top:10px;max-width:560px}
.tracks{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin:26px 0 0}
@media(max-width:920px){.tracks{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.tracks{grid-template-columns:repeat(2,1fr)}}
.track{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:15px;text-align:center;display:flex;flex-direction:column;gap:var(--s1);align-items:center;transition:transform .14s;border-top:3px solid var(--line)}
.track:hover{transform:translateY(-3px)}
.track .ti{width:44px;height:44px;border-radius:var(--r-md);display:grid;place-items:center;background:#F1F4F2;color:var(--slate)}
.track .ti .ic{width:20px;height:20px}
.track .tt{font-weight:700;font-size:14px}.track .td{font-size:11px;color:var(--slate)}
.track.on[data-k="price"]{border-top-color:var(--em)}.track.on[data-k="price"] .ti{background:var(--em-wash);color:var(--em)}
.track.on[data-k="place"]{border-top-color:var(--place)}.track.on[data-k="place"] .ti{background:#E4EEF2;color:var(--place)}
.track.on[data-k="love"]{border-top-color:var(--love)}.track.on[data-k="love"] .ti{background:#F7E4ED;color:var(--love)}
.track.on[data-k="dev"]{border-top-color:var(--dev)}.track.on[data-k="dev"] .ti{background:var(--dev-wash);color:var(--dev)}
.track.on[data-k="req"]{border-top-color:var(--req)}.track.on[data-k="req"] .ti{background:#FBEDE9;color:var(--req)}
.track.on[data-k="all"]{border-top-color:var(--am)}.track.on[data-k="all"] .ti{background:var(--am-wash);color:var(--am)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s4);margin-top:22px}
.opp{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-card);transition:transform .15s}
.opp:hover{transform:translateY(-4px)}
.opp .top{height:150px;position:relative;background-size:cover;background-position:center;background-color:#dfe4e7}
.opp .top .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,27,42,.05),rgba(15,27,42,.5))}
.opp .vb{position:absolute;top:11px;inset-inline-start:12px;background:rgba(11,166,120,.96);color:#fff;font-weight:700;font-size:11.5px;padding:5px 11px;border-radius:var(--r-pill);z-index:2;display:flex;gap:5px;align-items:center}
.opp .vb.req{background:var(--req)}
.opp .pin{position:absolute;top:11px;inset-inline-start:12px;background:var(--am);color:#3a2e08;border-radius:var(--r-pill);padding:4px 9px;font-size:11px;font-weight:800;z-index:3;display:flex;gap:4px;align-items:center}
.opp .tb{position:absolute;top:11px;inset-inline-end:12px;font-weight:700;font-size:11px;padding:4px 10px;border-radius:var(--r-pill);z-index:2;color:#fff}
.opp .tb.price{background:var(--em)}.opp .tb.place{background:var(--place)}.opp .tb.love{background:var(--love)}.opp .tb.dev{background:var(--dev)}.opp .tb.req{background:var(--req)}
.opp .body{padding:15px 16px;flex:1;display:flex;flex-direction:column}
.opp h3{font-size:16px;font-weight:700}
.opp .loc{color:var(--slate);font-size:13px;margin-top:3px;display:flex;gap:4px;align-items:center}
.opp .loc .ic{width:14px;height:14px}
.opp .specs{margin-top:10px;font-size:12.5px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:6px}
.opp .specs span{background:#F1F4F2;border:1px solid var(--line);border-radius:var(--r-sm);padding:3px 9px}
.specs{display:flex;flex-wrap:wrap;gap:8px;font-size:13px}
.specs span{background:#F1F4F2;border:1px solid var(--line);border-radius:var(--r-sm);padding:4px 11px;color:var(--ink)}
.opp .price{margin-top:12px;background:var(--em-wash);border:1px solid #B6DDC9;border-radius:9px;padding:9px 12px;font-weight:700;color:#0a6e49;font-size:14px;text-align:center}
.opp .price .num{font-size:16px}
.opp .price.req{background:#F1F4F2;border-color:var(--line);color:var(--slate);font-size:13px}
.opp .reason{margin-top:10px;font-size:12.5px;color:var(--ink-soft);background:#F1F4F2;border-radius:9px;padding:9px 11px}
.opp .tags{margin-top:9px;display:flex;flex-wrap:wrap;gap:5px}
.opp .tags span{font-size:10.5px;font-weight:700;color:var(--slate);background:#eef1f3;border-radius:var(--r-sm);padding:2px 8px}
.opp .sig{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.opp .sig span{font-size:11px;font-weight:700;padding:3px 9px;border-radius:var(--r-sm);display:flex;gap:4px;align-items:center}
.opp .sig .ic{width:13px;height:13px}
.opp .sig .hot{background:#FBEDE9;color:var(--req)}.opp .sig .exc{background:var(--am-wash);color:#806012}
.opp .act{margin-top:auto;padding-top:12px}
.opp .act button{width:100%;background:var(--ink);color:#fff;border-radius:var(--r-md);padding:11px;font-weight:700;font-size:14px}
.empty{grid-column:1/-1;text-align:center;padding:50px;color:var(--slate)}
.trust{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--s5);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);text-align:center}
@media(max-width:680px){.trust{grid-template-columns:1fr}}
.trust h4{font-size:15px;margin-bottom:4px}.trust p{font-size:13px;color:var(--slate)}
.trust a{color:inherit}
.site-footer{background:var(--ink);color:#C7D2DA;padding:var(--s6) 0 26px;margin-top:var(--s5)}
.site-footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:680px){.site-footer .cols{grid-template-columns:1fr 1fr}}
.site-footer h4{color:#fff;font-size:14px;margin-bottom:9px}
.site-footer ul{list-style:none;font-size:13px;line-height:2}
.site-footer .bottom{border-top:1px solid #243440;margin-top:18px;padding-top:14px;font-size:12px;color:#8FA2AE;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:center}
.site-footer .bottom .lg{display:flex;align-items:center;gap:8px;font-weight:800;color:#fff}
.site-footer .bottom .lg .lmark{width:22px;height:22px}.site-footer .bottom .lg b{color:var(--em-b)}
.disc{font-size:11.5px;color:#6b7488;margin-top:12px;line-height:1.8;max-width:820px}
.ovl{position:fixed;inset:0;background:rgba(8,14,21,.6);z-index:100;display:none}.ovl.on{display:block}
.modal{position:fixed;inset-inline:0;top:0;bottom:0;margin:auto;max-width:460px;max-height:90vh;overflow:auto;background:var(--cream);border-radius:var(--r-xl);z-index:101;display:none}
.modal.on{display:block}@media(min-width:700px){.modal{inset:30px auto;margin:30px auto}}
.mh{background:var(--ink);color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center}.mh .x{color:#fff;width:30px;height:30px}
.mb{padding:18px}.mb label{font-weight:700;font-size:13px;display:block;margin-bottom:5px}.mb input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:6px;font-family:inherit}
.ferr{color:var(--req);font-size:12px;display:none;margin-bottom:8px}.ferr.on{display:block}
.sub{width:100%;background:var(--em);color:#06241a;border-radius:var(--r-md);padding:12px;font-weight:800;font-size:15px}
.mb select{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:6px;font-family:inherit;background:#fff}
.mb textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-bottom:6px;font-family:inherit;min-height:60px;resize:vertical}
#adminBar{position:fixed;top:0;inset-inline:0;height:54px;background:var(--adm-bg);color:var(--adm-text);z-index:160;display:none;align-items:center;justify-content:space-between;padding:0 var(--s4);box-shadow:0 4px 20px rgba(0,0,0,.3)}
body.admin #adminBar{display:flex}
body.admin{padding-top:54px}
body.admin .site-header{top:54px}
#adminBar .brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:15px}
#adminBar .brand .lmark{width:24px;height:24px}
#adminBar .tools{display:flex;align-items:center;gap:var(--s1);flex-wrap:wrap}
.abtn{display:flex;align-items:center;gap:6px;color:var(--adm-mut);background:transparent;border-radius:var(--r-sm);padding:8px 11px;font-size:13px;font-weight:700;transition:.15s}
.abtn:hover{background:var(--adm-bg2);color:#fff}
.abtn.on{background:var(--em);color:#06241a}
.abtn .ic{width:16px;height:16px}
@media(max-width:880px){.abtn span.lbl{display:none}}
body.edit [data-edit]{position:relative;outline:1.5px dashed transparent;outline-offset:3px;transition:outline-color .15s;cursor:pointer}
body.edit [data-edit]:hover{outline-color:var(--em)}
body.edit [data-edit]::after{content:attr(data-label);position:absolute;top:6px;inset-inline-start:6px;background:var(--em);color:#06241a;font-size:10.5px;font-weight:800;padding:2px 7px;border-radius:var(--r-sm);opacity:0;transition:opacity .15s;z-index:5;pointer-events:none}
body.edit [data-edit]:hover::after{opacity:1}
body.edit .opp .act button,body.edit .track,body.edit .cta,body.edit .bcta{pointer-events:none}
.hidden-comp{display:none}
body.edit .hidden-comp{display:block;opacity:.4;position:relative}
body.edit .hidden-comp::before{content:"مخفي عن الزائر";position:absolute;inset-inline-end:6px;top:6px;background:var(--req);color:#fff;font-size:10px;font-weight:800;padding:2px 7px;border-radius:var(--r-sm);z-index:6}
#editor{position:fixed;top:54px;bottom:0;left:0;width:min(420px,94vw);background:var(--adm-bg);color:var(--adm-text);z-index:155;transform:translateX(-105%);transition:transform .26s cubic-bezier(.2,.7,.2,1);display:none;flex-direction:column;box-shadow:var(--sh-pop)}
body.admin #editor{display:flex}
#editor.on{transform:none}
.ed-head{padding:15px 18px;background:#0a121b;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--adm-line)}
.ed-head h3{font-size:15px;color:#fff;display:flex;gap:8px;align-items:center}
.ed-head .x{color:#fff;width:30px;height:30px}
.ed-body{flex:1;overflow:auto;padding:14px 18px 40px}
.fld{margin-bottom:13px}
.fld label{display:block;font-size:12px;color:var(--adm-mut);margin-bottom:5px;font-weight:600}
.fld input,.fld textarea,.fld select{width:100%;background:var(--adm-bg2);border:1px solid var(--adm-line);color:var(--adm-text);border-radius:var(--r-sm);padding:9px 11px;font-family:inherit;font-size:13.5px}
.fld textarea{min-height:64px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.toggle{display:flex;align-items:center;justify-content:space-between;background:var(--adm-bg2);border:1px solid var(--adm-line);border-radius:var(--r-sm);padding:9px 11px}
.toggle span{font-size:13px;font-weight:600}
.sw{width:42px;height:24px;border-radius:var(--r-pill);background:#2a3a47;position:relative;transition:.2s;flex:none}
.sw.on{background:var(--em)}
.sw::after{content:"";position:absolute;top:3px;inset-inline-start:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}
.sw.on::after{inset-inline-start:21px}
.img-ed .preview{width:100%;height:110px;object-fit:cover;border-radius:var(--r-sm);background:#0a121b;margin-bottom:8px;border:1px solid var(--adm-line)}
.img-ed .noimg{display:grid;place-items:center;color:#4d5b68}
.img-row{display:flex;gap:7px;flex-wrap:wrap}
.mini{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;border-radius:var(--r-sm);padding:7px 11px;background:var(--adm-bg2);color:var(--adm-text);border:1px solid var(--adm-line)}
.mini.danger{background:#3a1d22;color:#ff9b8a;border-color:#5a2a30}
.mini.go{background:var(--em);color:#06241a;border:none}
.mini .ic{width:14px;height:14px}
.sec-divider{font-size:11px;font-weight:800;color:var(--em-b);letter-spacing:.08em;margin:18px 0 9px;padding-top:13px;border-top:1px solid var(--adm-line)}
.list-item{background:var(--adm-bg2);border:1px solid var(--adm-line);border-radius:var(--r-md);padding:11px;margin-bottom:10px}
.list-item .li-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.li-head b{font-size:12.5px;color:#fff}
.li-actions{display:flex;gap:5px}
.iconbtn{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#16242f;color:var(--adm-mut)}
.iconbtn:hover{color:#fff;background:#1d2a36}
.iconbtn.danger:hover{color:#ff9b8a}
.addbtn{width:100%;background:#13202c;border:1px dashed #2a3a47;color:var(--em-b);border-radius:9px;padding:10px;font-weight:700;font-size:13px;display:flex;gap:6px;align-items:center;justify-content:center}
.panel-note{font-size:12px;color:var(--adm-mut);line-height:1.8;background:var(--adm-bg2);border:1px solid var(--adm-line);border-radius:var(--r-sm);padding:11px;margin-bottom:10px}
.stat{display:flex;justify-content:space-between;padding:10px 12px;background:var(--adm-bg2);border:1px solid var(--adm-line);border-radius:var(--r-sm);margin-bottom:8px;font-size:13px}
.stat b{color:#fff;font-family:var(--f-num)}
.toast{position:fixed;bottom:24px;inset-inline:0;margin:auto;width:max-content;max-width:90%;background:var(--ink);color:#fff;padding:11px 18px;border-radius:var(--r-md);font-weight:700;z-index:200;opacity:0;transition:opacity .3s;pointer-events:none;border:1px solid #2a3a47}
.toast.on{opacity:1}
.wa-fab{position:fixed;inset-inline-end:18px;bottom:18px;z-index:95;background:var(--wa);color:#fff;border-radius:var(--r-pill);padding:12px 18px;font-weight:800;font-size:14px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 30px -8px rgba(37,211,102,.6)}
.wa-fab .ic{width:20px;height:20px}
.wa-alt{width:100%;background:var(--wa);color:#fff;border-radius:var(--r-md);padding:11px;font-weight:800;font-size:14px;margin-top:9px;display:flex;align-items:center;justify-content:center;gap:8px}
.wa-alt .ic{width:18px;height:18px}
.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.contact-row .wa-alt{margin-top:9px}
.call-alt{width:100%;background:var(--ink);color:#fff;border-radius:var(--r-md);padding:11px;font-weight:800;font-size:14px;margin-top:9px}
.wish-cta{display:block;margin:26px auto 0;background:var(--paper);border:1.5px dashed var(--em);color:var(--em);border-radius:var(--r-pill);padding:12px 26px;font-weight:800;font-size:14.5px}
.wish-note{background:var(--em-wash);border:1px solid #B6DDC9;border-radius:9px;padding:10px 12px;font-size:12.5px;color:#0a6e49;margin-bottom:12px;line-height:1.7}
